Este documento descreve a implementação de um algoritmo em Matlab para controlar um robô móvel da Lego Mindstorms NXT ao longo de um percurso com obstáculos. O robô usa sensores de cor e ultrassom para seguir uma linha preta e desviar-se de obstáculos, contornando-os e retomando a linha. O documento explica o código do programa e as imagens do robô em ação.
Grupo de Robótica do Instituto Federal de São PauloHenrique Dória
Este documento descreve vários projetos relacionados a robótica desenvolvidos por alunos, incluindo a organização de aulas e competições da Olimpíada Brasileira de Robótica, o uso do robô educacional Robotino, e o desenvolvimento de projetos como um peixe robô, controle remoto de aeromodelos e robôs de combate de diferentes categorias de peso.
O documento discute vários exercícios para ensinar robôs LEGO Mindstorms EV3 a seguir linhas usando sensores de cor. Os exercícios variam na configuração dos sensores e na lógica do programa para melhorar a suavidade do movimento e a capacidade de encontrar a linha caso seja perdida.
O documento discute o uso da robótica educativa e da linguagem de programação lúdica Scratch/Byob para ensinar conceitos de robótica, eletrônica e programação. Apresenta o Arduino como plataforma de prototipagem eletrônica aberta e descreve seus componentes principais, como hardware, portas de entrada e saída e alimentação. Também explica conceitos básicos de programação, lógica, eletrônica e comunicação entre Arduino e linguagens lúdicas.
Este documento apresenta um projeto de um robô seguidor de linha desenvolvido na placa Arduino. O objetivo foi apresentar como a programação na Arduino pode ser usada para fins educacionais, estimulando o uso da plataforma no ensino. O documento descreve o que é a Arduino, os componentes usados no robô, como foi feita a programação e montagem, e conclusões sobre o que foi aprendido com o projeto.
O documento apresenta uma introdução aos robôs industriais, destacando suas principais características e aplicações. Discorre sobre as definições e categorias de robôs, suas partes e evolução no mercado mundial, com foco em aplicações, tendências de crescimento e perspectivas futuras.
1) O documento descreve um aplicativo de celular que pode ser usado para simular programação ladder, apesar de ter recursos limitados, para ajudar alunos que não tem acesso a computadores.
2) É explicado como usar o aplicativo, incluindo como inserir entradas, saídas, temporizadores e contadores, e como numerar funções.
3) Exemplos de programação ladder são dados para controlar lâmpadas usando botões.
O documento apresenta os conceitos básicos sobre robôs manipuladores industriais. Aborda os tipos de juntas e atuadores, as configurações geométricas mais comuns de robôs como articulado, esférico, SCARA, cilíndrico e cartesiano, e conceitos como graus de liberdade e espaço de trabalho.
O documento discute o uso de robótica como hobby e apresenta várias ferramentas de software livre para programação de robôs, incluindo Java Robotics Studio, Robotics Invention System, Linguagem Lua e Arduino. O documento também fornece exemplos de código para mostrar como controlar motores e ler entradas digitais usando essas ferramentas.
Grupo de Robótica do Instituto Federal de São PauloHenrique Dória
Este documento descreve vários projetos relacionados a robótica desenvolvidos por alunos, incluindo a organização de aulas e competições da Olimpíada Brasileira de Robótica, o uso do robô educacional Robotino, e o desenvolvimento de projetos como um peixe robô, controle remoto de aeromodelos e robôs de combate de diferentes categorias de peso.
O documento discute vários exercícios para ensinar robôs LEGO Mindstorms EV3 a seguir linhas usando sensores de cor. Os exercícios variam na configuração dos sensores e na lógica do programa para melhorar a suavidade do movimento e a capacidade de encontrar a linha caso seja perdida.
O documento discute o uso da robótica educativa e da linguagem de programação lúdica Scratch/Byob para ensinar conceitos de robótica, eletrônica e programação. Apresenta o Arduino como plataforma de prototipagem eletrônica aberta e descreve seus componentes principais, como hardware, portas de entrada e saída e alimentação. Também explica conceitos básicos de programação, lógica, eletrônica e comunicação entre Arduino e linguagens lúdicas.
Este documento apresenta um projeto de um robô seguidor de linha desenvolvido na placa Arduino. O objetivo foi apresentar como a programação na Arduino pode ser usada para fins educacionais, estimulando o uso da plataforma no ensino. O documento descreve o que é a Arduino, os componentes usados no robô, como foi feita a programação e montagem, e conclusões sobre o que foi aprendido com o projeto.
O documento apresenta uma introdução aos robôs industriais, destacando suas principais características e aplicações. Discorre sobre as definições e categorias de robôs, suas partes e evolução no mercado mundial, com foco em aplicações, tendências de crescimento e perspectivas futuras.
1) O documento descreve um aplicativo de celular que pode ser usado para simular programação ladder, apesar de ter recursos limitados, para ajudar alunos que não tem acesso a computadores.
2) É explicado como usar o aplicativo, incluindo como inserir entradas, saídas, temporizadores e contadores, e como numerar funções.
3) Exemplos de programação ladder são dados para controlar lâmpadas usando botões.
O documento apresenta os conceitos básicos sobre robôs manipuladores industriais. Aborda os tipos de juntas e atuadores, as configurações geométricas mais comuns de robôs como articulado, esférico, SCARA, cilíndrico e cartesiano, e conceitos como graus de liberdade e espaço de trabalho.
O documento discute o uso de robótica como hobby e apresenta várias ferramentas de software livre para programação de robôs, incluindo Java Robotics Studio, Robotics Invention System, Linguagem Lua e Arduino. O documento também fornece exemplos de código para mostrar como controlar motores e ler entradas digitais usando essas ferramentas.
O documento resume o posicionamento e desempenho do canal Space. Ele destaca que o Space é o canal número um na América Latina e Brasil para fãs de ação e adrenalina, com forte crescimento de audiência e assinantes nos últimos 5 anos. O Space atinge mais de 20 milhões de pessoas por mês e está entre os canais mais assistidos no horário nobre e 24 horas para vários públicos-alvo, como pessoas de 18 a 49 anos.
1G1 Futebol de Robôs - Thiago Richter & Ivan Santos - Graduação 2005 Pt BrThiago Richter
Monograph about Robot Soccer.
A control and strategies decision system through an environment mapping based on grids and a continuous planning is developed in this work. The continuos planning begins sending objects positioning data through serial interface to the strategy and simulation system, that makes all the calculus and projections to all objetcs. After that, data are transmitted to the robot closing the cicle. Based on grids, the strategy definition is made by the objects vectorial position in the environment, setting three basic strategies: defense, attack and sides.
Robots têm muito a aprender observando como os humanos executam tarefas rotineiras de forma variada. Para que os robôs aprendam adequadamente, eles precisam conviver e interagir com humanos por um período, ao invés de apenas programação. A coaprendizagem entre humanos e robôs só será possível se os humanos estiverem dispostos a ensiná-los.
Este documento apresenta os conceitos básicos de programação orientada a objetos em Java. Aborda tópicos como classes, objetos, atributos, métodos, variáveis locais e globais. Inclui exemplos de como declarar classes, criar objetos, definir métodos e utilizar modificadores de acesso.
Este documento promove os produtos e serviços de robôs inteligentes da empresa Future Robot. A empresa oferece dois modelos principais de robô: o Furo-S, robô de serviço inteligente, e o Furo-D, robô com tela de display. Os robôs podem ser usados para diversas aplicações como promoção, publicidade, segurança, atendimento, entretenimento e mais. A Future Robot oferece serviços de locação, manutenção, treinamento e personalização dos robôs.
El documento describe las partes y especificaciones del brazo robot Velleman KSR 10, un brazo robótico de 5 grados de libertad controlado manualmente mediante una unidad de control. Tiene una base giratoria, codo y muñeca móviles, una mano funcional y un LED para manipulación nocturna. Sus especificaciones incluyen una capacidad de elevación máxima de 100gr, alimentación por 4 pilas LR20C y una altura máxima extendida de 38cm. Explica detalladamente cada una de sus partes mecánicas como
Este documento presenta los objetivos y contenidos de un curso de fundamentos de robótica. El curso busca introducir conceptos básicos de robótica, diseño y programación de robots móviles a través de teoría y práctica con kits de Lego Mindstorms y componentes electrónicos. El contenido incluye introducción a la robótica, diseño mecánico, sensores, motores y programación de robots. La evaluación consta de exámenes, proyectos prácticos y tareas.
Este documento resume o projeto de um robô explorador chamado Bob. Detalha seu corpo, programação para resolver labirintos, um protótipo e planos para melhorias futuras, incluindo novos sensores e a conclusão de um labirinto dinâmico.
Robot Eléctrico e Autónomo (não depende da tomada de Vácuo/Sistema de filtração da Piscina)Garante a limpeza total da sua piscina e da linha de água, 2 programas de limpeza.
Segurança e conforto máximos, conforme as mais rigorosas normas de segurança
Este documento presenta una introducción a la robótica, definiendo qué es un robot y sus principales aplicaciones industriales. Explica las partes de un robot industrial, incluyendo su estructura mecánica articulada, el sistema de control y las clasificaciones más comunes de robots. También describe las características clave de los robots como el espacio de trabajo, grados de libertad, precisión, velocidad y capacidad de carga.
1. O projeto desenvolveu a automação de um braço robótico educacional através da implementação de microcontroladores e comunicação sem fio para remover o joystick de controle.
2. Uma interface gráfica no computador foi desenvolvida para fornecer comandos manuais e automatizados ao robô.
3. O projeto foi concluído e desenvolveu as engenharias de controle e automação do braço robótico.
1) Un robot es una estructura que contiene sensores, efectores, fuentes de alimentación y software coordinados por un sistema de control para realizar tareas. 2) Los robots pueden sustituir o fusionarse con humanos a medida que la tecnología se vuelve más avanzada. 3) El impacto de los robots en el futuro del trabajo y la sociedad es incierto y dependerá de cómo evolucione la tecnología y cómo los humanos la apliquen de manera responsable.
Integración de ROS (Robot Operating System) con las plataformas Arduino y Ras...Alvaro Angel Romero Gandul
Estudio del estado del arte en metodología de programacion de robots móviles.
Integración de ROS (Robot Operating System) sobre Raspbian en Raspberry PI
Comunicación Raspberry PI y Arduino gestionada por ROS
Diseño de 4 modelos de aplicaciones robot móviles:
1. Estación meteorológica móvil geolocalizada con posicionamiento controlado por usuario.
2. Estación meteorológica con movimiento autónomo y capacidad de evitación de obstáculos.
3. Control háptico, mediante la integración de Android con ROS, de robot móvil
4. Robot móvil autónomo con capacidad de evitación de obstáculos en el sentido de la marcha.
La robótica estudia el diseño y construcción de máquinas capaces de realizar tareas humanas o que requieren inteligencia. Los robots industriales son manipuladores multifuncionales y programables que se utilizan comúnmente en la industria. Algunos robots famosos incluyen humanoides como ASIMO de Honda y Qrio de Sony, así como robots espaciales como Spirit y Opportunity.
Este documento describe los robots submarinos móviles (ROV) y sus aplicaciones. Los ROV son vehículos controlados desde la superficie mediante un cable umbilical que transmite energía, comandos y datos. Se usan para inspección, mantenimiento y exploración en el océano, donde el acceso humano es difícil. Los ROV varían en tamaño y profundidad de operación, desde micro-ROV para inspección en aguas someras hasta vehículos ultra profundos para investigación oceánica.
How to create Forex Robot for Fix Api Trading Edwin12Gentner
FIX is a special financial protocol which enables to receive up-to-date information from financial markets (quotations, news, etc.). The majority of trading robots commit financial operations of currency buying/selling on FIX API Forex via this protocol.
Robótica y Tecnología: Breve análisis de Wall-E y Yo, Robot.Joii Halford
Este documento analiza las películas Yo, Robot y Wall-E a la luz de la robótica y la tecnología. Explora las Leyes de la Robótica de Isaac Asimov y cómo afectan las decisiones de los robots. Ambas películas advierten sobre los peligros de una dependencia excesiva de la tecnología y el daño que puede causar al planeta y a los humanos si no se usa de manera responsable.
Autonomous robots are robots that can perform tasks intelligently depending on themselves, without any human assistance. Maze Solving Robot is one of the most popular autonomous robots. It is a smallself-reliant robot that can solve a maze from a known starting position to the center area of the maze in the shortest possible time.
Este documento fornece receitas para pratos típicos portugueses, incluindo caldo verde, sardinhas no sal, pica-pau e bolinhos de Santo António. Apresenta também sugestões para petiscos para festividades como São João.
1) O documento discute o uso de protótipos Lego Mindstorms NXT para auxiliar no ensino da programação. Ele descreve as peças e componentes do kit Lego, incluindo sensores e motores, e como o software LabVIEW pode ser usado para programar os robôs. 2) Dois exemplos de códigos são dados para automatizar tarefas usando os sensores.
O documento descreve os métodos de programação de robôs, incluindo programação on-line e off-line. A programação on-line envolve ensinar o robô movimentos através de um teach pendant, enquanto a programação off-line usa linguagens de programação para robôs sem a necessidade do robô. Três algoritmos de controle de movimento são discutidos, juntamente com métodos de programação por aprendizagem e linguagens textuais.
O documento resume o posicionamento e desempenho do canal Space. Ele destaca que o Space é o canal número um na América Latina e Brasil para fãs de ação e adrenalina, com forte crescimento de audiência e assinantes nos últimos 5 anos. O Space atinge mais de 20 milhões de pessoas por mês e está entre os canais mais assistidos no horário nobre e 24 horas para vários públicos-alvo, como pessoas de 18 a 49 anos.
1G1 Futebol de Robôs - Thiago Richter & Ivan Santos - Graduação 2005 Pt BrThiago Richter
Monograph about Robot Soccer.
A control and strategies decision system through an environment mapping based on grids and a continuous planning is developed in this work. The continuos planning begins sending objects positioning data through serial interface to the strategy and simulation system, that makes all the calculus and projections to all objetcs. After that, data are transmitted to the robot closing the cicle. Based on grids, the strategy definition is made by the objects vectorial position in the environment, setting three basic strategies: defense, attack and sides.
Robots têm muito a aprender observando como os humanos executam tarefas rotineiras de forma variada. Para que os robôs aprendam adequadamente, eles precisam conviver e interagir com humanos por um período, ao invés de apenas programação. A coaprendizagem entre humanos e robôs só será possível se os humanos estiverem dispostos a ensiná-los.
Este documento apresenta os conceitos básicos de programação orientada a objetos em Java. Aborda tópicos como classes, objetos, atributos, métodos, variáveis locais e globais. Inclui exemplos de como declarar classes, criar objetos, definir métodos e utilizar modificadores de acesso.
Este documento promove os produtos e serviços de robôs inteligentes da empresa Future Robot. A empresa oferece dois modelos principais de robô: o Furo-S, robô de serviço inteligente, e o Furo-D, robô com tela de display. Os robôs podem ser usados para diversas aplicações como promoção, publicidade, segurança, atendimento, entretenimento e mais. A Future Robot oferece serviços de locação, manutenção, treinamento e personalização dos robôs.
El documento describe las partes y especificaciones del brazo robot Velleman KSR 10, un brazo robótico de 5 grados de libertad controlado manualmente mediante una unidad de control. Tiene una base giratoria, codo y muñeca móviles, una mano funcional y un LED para manipulación nocturna. Sus especificaciones incluyen una capacidad de elevación máxima de 100gr, alimentación por 4 pilas LR20C y una altura máxima extendida de 38cm. Explica detalladamente cada una de sus partes mecánicas como
Este documento presenta los objetivos y contenidos de un curso de fundamentos de robótica. El curso busca introducir conceptos básicos de robótica, diseño y programación de robots móviles a través de teoría y práctica con kits de Lego Mindstorms y componentes electrónicos. El contenido incluye introducción a la robótica, diseño mecánico, sensores, motores y programación de robots. La evaluación consta de exámenes, proyectos prácticos y tareas.
Este documento resume o projeto de um robô explorador chamado Bob. Detalha seu corpo, programação para resolver labirintos, um protótipo e planos para melhorias futuras, incluindo novos sensores e a conclusão de um labirinto dinâmico.
Robot Eléctrico e Autónomo (não depende da tomada de Vácuo/Sistema de filtração da Piscina)Garante a limpeza total da sua piscina e da linha de água, 2 programas de limpeza.
Segurança e conforto máximos, conforme as mais rigorosas normas de segurança
Este documento presenta una introducción a la robótica, definiendo qué es un robot y sus principales aplicaciones industriales. Explica las partes de un robot industrial, incluyendo su estructura mecánica articulada, el sistema de control y las clasificaciones más comunes de robots. También describe las características clave de los robots como el espacio de trabajo, grados de libertad, precisión, velocidad y capacidad de carga.
1. O projeto desenvolveu a automação de um braço robótico educacional através da implementação de microcontroladores e comunicação sem fio para remover o joystick de controle.
2. Uma interface gráfica no computador foi desenvolvida para fornecer comandos manuais e automatizados ao robô.
3. O projeto foi concluído e desenvolveu as engenharias de controle e automação do braço robótico.
1) Un robot es una estructura que contiene sensores, efectores, fuentes de alimentación y software coordinados por un sistema de control para realizar tareas. 2) Los robots pueden sustituir o fusionarse con humanos a medida que la tecnología se vuelve más avanzada. 3) El impacto de los robots en el futuro del trabajo y la sociedad es incierto y dependerá de cómo evolucione la tecnología y cómo los humanos la apliquen de manera responsable.
Integración de ROS (Robot Operating System) con las plataformas Arduino y Ras...Alvaro Angel Romero Gandul
Estudio del estado del arte en metodología de programacion de robots móviles.
Integración de ROS (Robot Operating System) sobre Raspbian en Raspberry PI
Comunicación Raspberry PI y Arduino gestionada por ROS
Diseño de 4 modelos de aplicaciones robot móviles:
1. Estación meteorológica móvil geolocalizada con posicionamiento controlado por usuario.
2. Estación meteorológica con movimiento autónomo y capacidad de evitación de obstáculos.
3. Control háptico, mediante la integración de Android con ROS, de robot móvil
4. Robot móvil autónomo con capacidad de evitación de obstáculos en el sentido de la marcha.
La robótica estudia el diseño y construcción de máquinas capaces de realizar tareas humanas o que requieren inteligencia. Los robots industriales son manipuladores multifuncionales y programables que se utilizan comúnmente en la industria. Algunos robots famosos incluyen humanoides como ASIMO de Honda y Qrio de Sony, así como robots espaciales como Spirit y Opportunity.
Este documento describe los robots submarinos móviles (ROV) y sus aplicaciones. Los ROV son vehículos controlados desde la superficie mediante un cable umbilical que transmite energía, comandos y datos. Se usan para inspección, mantenimiento y exploración en el océano, donde el acceso humano es difícil. Los ROV varían en tamaño y profundidad de operación, desde micro-ROV para inspección en aguas someras hasta vehículos ultra profundos para investigación oceánica.
How to create Forex Robot for Fix Api Trading Edwin12Gentner
FIX is a special financial protocol which enables to receive up-to-date information from financial markets (quotations, news, etc.). The majority of trading robots commit financial operations of currency buying/selling on FIX API Forex via this protocol.
Robótica y Tecnología: Breve análisis de Wall-E y Yo, Robot.Joii Halford
Este documento analiza las películas Yo, Robot y Wall-E a la luz de la robótica y la tecnología. Explora las Leyes de la Robótica de Isaac Asimov y cómo afectan las decisiones de los robots. Ambas películas advierten sobre los peligros de una dependencia excesiva de la tecnología y el daño que puede causar al planeta y a los humanos si no se usa de manera responsable.
Autonomous robots are robots that can perform tasks intelligently depending on themselves, without any human assistance. Maze Solving Robot is one of the most popular autonomous robots. It is a smallself-reliant robot that can solve a maze from a known starting position to the center area of the maze in the shortest possible time.
Este documento fornece receitas para pratos típicos portugueses, incluindo caldo verde, sardinhas no sal, pica-pau e bolinhos de Santo António. Apresenta também sugestões para petiscos para festividades como São João.
1) O documento discute o uso de protótipos Lego Mindstorms NXT para auxiliar no ensino da programação. Ele descreve as peças e componentes do kit Lego, incluindo sensores e motores, e como o software LabVIEW pode ser usado para programar os robôs. 2) Dois exemplos de códigos são dados para automatizar tarefas usando os sensores.
O documento descreve os métodos de programação de robôs, incluindo programação on-line e off-line. A programação on-line envolve ensinar o robô movimentos através de um teach pendant, enquanto a programação off-line usa linguagens de programação para robôs sem a necessidade do robô. Três algoritmos de controle de movimento são discutidos, juntamente com métodos de programação por aprendizagem e linguagens textuais.
1) O documento descreve o projeto e construção de um mini robô móvel capaz de seguir uma pista desenhada na superfície com base em imagens de uma câmera local.
2) O robô usa um sistema de visão local para identificar a posição da pista nas imagens e um sistema de controle baseado em regras para decidir a direção do robô.
3) Os resultados experimentais indicaram que o sistema é eficiente e capaz de seguir qualquer pista desenhada por um usuário.
O documento apresenta uma introdução à robótica, definindo o termo robô, suas origens e primeiros desenvolvimentos ao longo da história. Também descreve as principais leis da robótica de acordo com Isaac Asimov e apresenta os principais componentes e ferramentas para programação de robôs Lego, incluindo manipuladores, sensores e software.
Este documento descreve o desenvolvimento de um sistema de controle em malha fechada para um braço robótico do tipo PUMA com 6 graus de liberdade. O sistema usa um controlador PID implementado em um microcontrolador para controlar cada articulação do robô.
1_ aula_3.pdf ensino Fundamental - Tecnologia e Inovação IISandraLima53391
O documento apresenta uma aula sobre robótica para alunos do ensino fundamental, abordando a história da robótica, seus pilares, partes de um robô e aplicações atuais. O objetivo é introduzir os conceitos básicos de robótica e seu papel na sociedade.
Este documento descreve um laboratório sobre configuração de rotas estáticas em roteadores Cisco. Instruções passo-a-passo são fornecidas para configurar rotas estáticas nos roteadores Matriz, Filial_1 e Filial_2 de modo que todos os dispositivos de rede possam se comunicar.
Este trabalho apresenta o ROBOTEC, uma ferramenta desenvolvida para apoiar o ensino de lógica de programação utilizando um braço robótico. O ROBOTEC integra aspectos dinâmicos e estáticos de algoritmos em uma única ferramenta com comandos em português baseados no pseudocódigo Portugol. A ferramenta permite visualizar a execução de algoritmos em tempo real através dos movimentos do braço robótico Lynxmotion AL5D.
O documento apresenta um resumo sobre robótica, abordando: 1) A definição de robô e sua origem histórica desde desenhos de Leonardo da Vinci até os primeiros robôs industriais; 2) Principais componentes de um robô como sensores e atuadores; 3) Tipos de manipuladores robóticos e suas aplicações; 4) Conceitos como cinemática direta e inversa.
O documento apresenta um resumo sobre robótica, abordando: 1) A definição de robô e sua origem histórica desde desenhos de Leonardo da Vinci até os primeiros robôs industriais; 2) Principais componentes de um robô como sensores e atuadores; 3) Tipos de manipuladores robóticos e suas aplicações; 4) Leis da robótica de Isaac Asimov.
O documento descreve os principais aspectos dos robôs industriais, incluindo: (1) sua estrutura mecânica e configurações básicas como cartesianos e articulados; (2) seus componentes como servomotores e graus de liberdade; (3) aplicações comuns como soldagem e manipulação de peças; (4) métodos de programação off-line e on-line.
Este documento descreve a implementação de um controle fuzzy usando LabVIEW para estabilizar um eixo de um quadricóptero em um ângulo determinado. Um potenciômetro é usado para medir o ângulo do eixo e sinais PWM controlam os motores. O controle fuzzy usa erros e derivadas de erro como entradas e gera sinais de saída para os motores. O LabVIEW permite a criação de uma interface gráfica para monitorar e ajustar parâmetros do controle. Os resultados demonstraram que o controle fuzzy é efetivo para est
O documento descreve o projeto Robotec, uma ferramenta computacional para controlar um braço robótico através de algoritmos baseados em pseudocódigo Portugol. O sistema permite ensinar lógica de programação, álgebra vetorial e cinemática básica de forma interativa. O documento detalha os requisitos, módulos, análises lexica, sintática e semântica necessárias para interpretar os comandos e movimentar o braço robótico corretamente.
O documento descreve o desenvolvimento de um software e atualização do hardware e firmware de um braço robótico MA2000. O objetivo é permitir o uso do robô em diversas aplicações de ensino e pesquisa, através de uma interface aberta de programação, operação e controle. As atualizações incluem substituir componentes danificados, converter a comunicação para USB e substituir o microprocessador por um microcontrolador.
1) O documento descreve um robô humanóide desenvolvido por estudantes para auxiliar deficientes visuais, com sensores ultrassônicos e giroscópio para detectar obstáculos.
2) O robô usa uma estrutura leve de acrílico e servo-motores para movimentação, controlados por uma placa Arduino.
3) O objetivo é fornecer mais segurança e mobilidade para deficientes visuais em comparação com bengalas ou cães-guias.
Este documento discute a automação robotizada e define robôs industriais. Ele explica que robôs são máquinas programáveis com articulações que podem realizar tarefas repetitivas de forma mais rápida e eficiente do que os humanos. O documento também descreve as principais partes de um robô, como manipuladores, controladores e sensores, e discute os benefícios da automação robotizada, como aumento de produtividade e qualidade.
Este documento fornece instruções para um curso básico e intermediário de robótica usando o conjunto de construção Tetrix e o controlador LEGO Mindstorms NXT. O curso visa ajudar os alunos a se familiarizarem com os componentes e construir seu primeiro robô, ensinando conceitos como montagem, programação e teste de movimento.
Algoritmos de Percurso Aplicados à RobóticaLucas Oliveira
Este documento descreve um projeto que aplica algoritmos de busca à robótica usando um robô ActivityBot. O objetivo era mapear um ambiente controlado e usar algoritmos como DFS, BFS e Dijkstra para encontrar o caminho ótimo de volta ao ponto inicial evitando obstáculos. Os resultados mostraram que o BFS e Dijkstra foram mais eficientes ao encontrar o caminho mais curto com menos curvas.
Este documento resume uma apresentação sobre pesquisa e desenvolvimento de robôs móveis e veículos autônomos. A apresentação discute os desafios da inteligência artificial nesta área e introduz conceitos básicos de robótica móvel inteligente, incluindo sensores, atuadores, arquiteturas de controle, localização, mapeamento e navegação.
Este documento descreve o projeto e implementação de um sistema de aquisição de sinal ECG. O sistema inclui um amplificador de instrumentação, filtros passa-banda e rejeita-banda, um amplificador não-inversor e um circuito completo. Cada componente é simulado no Multisim antes de ser construído e testado experimentalmente. O objetivo final é adquirir o sinal ECG e calcular a frequência cardíaca.
Este documento discute a correção do fator de potência de um carregador de bateria portátil através da adição de um condensador. Ele mede o consumo de potência do carregador, dimensiona um condensador de 2,2 μF para corrigir o fator de potência para quase 1, e calcula os resultados ideais e reais após a correção.
1. O documento discute a avaliação do desempenho de componentes de computadores como CPU, memória, disco e placa gráfica utilizando ferramentas de benchmarking.
2. Serão comparados seis computadores usando softwares como Sandra, Dr. Hardware e 3DMark06 para analisar o desempenho de cada componente individualmente.
3. O objetivo é definir qual o melhor tipo de computador para determinadas aplicações e qual tem melhor desempenho globalmente.
Estruturas de dados dinâmicos em linguagem Cpjclima
1. O documento descreve o desenvolvimento de três aplicações em C utilizando estruturas de dados dinâmicas como listas ligadas simples, listas duplamente ligadas e árvores binárias de procura.
2. Cada aplicação corresponde a uma gestão diferente: exames médicos, simpósio de medicamentos genéricos e prova desportiva.
3. Foram analisados os problemas propostos, estruturados os dados e desenvolvidas as funções necessárias para criar as aplicações, testando-as para prevenir erros.
Este documento descreve os testes realizados em vários circuitos retificadores utilizando um transformador toroidal, sensor de efeito de Hall e conversor DC-DC. Foram analisadas as formas de onda da tensão e corrente em cargas R, RL e RC para circuitos de retificação de meia onda, onda completa e ponte retificadora. Os resultados obtidos demonstraram os efeitos da retificação e elementos reativos na forma de onda da corrente na carga.
Interface gráfico para gestão de uma agência de viagenspjclima
Este documento descreve o desenvolvimento de uma interface gráfica para gestão de uma agência de viagens nacional. O sistema permite inserir, alterar e listar dados de clientes, autocarros, atividades, viagens e reservas. Além disso, fornece estatísticas e automatismos como a geração de códigos e atribuição de autocarros a atividades.
Controlador de ganho automático baseado numa plataforma FPGApjclima
Este documento apresenta um relatório de projeto sobre o desenvolvimento de um controlador de ganho automático implementado numa plataforma FPGA. O projeto enquadra-se no tema de comunicações subaquáticas e tem como objetivo manter a amplitude dos sinais dentro de valores pré-definidos para facilitar a modulação/desmodulação. O relatório descreve a justificação da escolha da plataforma FPGA, o desenvolvimento dos circuitos analógicos e dos algoritmos de controlo, e a implementação e teste do sistema.
Se você possui smartphone há mais de 10 anos, talvez não tenha percebido que, no início da onda da
instalação de aplicativos para celulares, quando era instalado um novo aplicativo, ele não perguntava se
podia ter acesso às suas fotos, e-mails, lista de contatos, localização, informações de outros aplicativos
instalados, etc. Isso não significa que agora todos pedem autorização de tudo, mas percebe-se que os
próprios sistemas operacionais (atualmente conhecidos como Android da Google ou IOS da Apple) têm
aumentado a camada de segurança quando algum aplicativo tenta acessar os seus dados, abrindo uma
janela e solicitando sua autorização.
CASTRO, Sílvio. Tecnologia. Formação Sociocultural e Ética II. Unicesumar: Maringá, 2024.
Considerando o exposto, analise as asserções a seguir e assinale a que descreve corretamente.
ALTERNATIVAS
I, apenas.
I e III, apenas.
II e IV, apenas.
II, III e IV, apenas.
I, II, III e IV.
Entre em contato conosco
54 99956-3050
Proteco Q60A
Placa de controlo Proteco Q60A para motor de Braços / Batente
A Proteco Q60A é uma avançada placa de controlo projetada para portões com 1 ou 2 folhas de batente. Com uma programação intuitiva via display, esta central oferece uma gama abrangente de funcionalidades para garantir o desempenho ideal do seu portão.
Compatível com vários motores
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL ENGENHARIA DA SUSTENTABILIDADE UNIC...Consultoria Acadêmica
Os termos "sustentabilidade" e "desenvolvimento sustentável" só ganharam repercussão mundial com a realização da Conferência das Nações Unidas sobre o Meio Ambiente e o Desenvolvimento (CNUMAD), conhecida como Rio 92. O encontro reuniu 179 representantes de países e estabeleceu de vez a pauta ambiental no cenário mundial. Outra mudança de paradigma foi a responsabilidade que os países desenvolvidos têm para um planeta mais sustentável, como planos de redução da emissão de poluentes e investimento de recursos para que os países pobres degradem menos. Atualmente, os termos
"sustentabilidade" e "desenvolvimento sustentável" fazem parte da agenda e do compromisso de todos os países e organizações que pensam no futuro e estão preocupados com a preservação da vida dos seres vivos.
Elaborado pelo professor, 2023.
Diante do contexto apresentado, assinale a alternativa correta sobre a definição de desenvolvimento sustentável:
ALTERNATIVAS
Desenvolvimento sustentável é o desenvolvimento que não esgota os recursos para o futuro.
Desenvolvimento sustantável é o desenvolvimento que supre as necessidades momentâneas das pessoas.
Desenvolvimento sustentável é o desenvolvimento incapaz de garantir o atendimento das necessidades da geração futura.
Desenvolvimento sustentável é um modelo de desenvolvimento econômico, social e político que esteja contraposto ao meio ambiente.
Desenvolvimento sustentável é o desenvolvimento capaz de suprir as necessidades da geração anterior, comprometendo a capacidade de atender às necessidades das futuras gerações.
Entre em contato conosco
54 99956-3050
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL INDÚSTRIA E TRANSFORMAÇÃO DIGITAL ...Consultoria Acadêmica
“O processo de inovação envolve a geração de ideias para desenvolver projetos que podem ser testados e implementados na empresa, nesse sentido, uma empresa pode escolher entre inovação aberta ou inovação fechada” (Carvalho, 2024, p.17).
CARVALHO, Maria Fernanda Francelin. Estudo contemporâneo e transversal: indústria e transformação digital. Florianópolis, SC: Arqué, 2024.
Com base no exposto e nos conteúdos estudados na disciplina, analise as afirmativas a seguir:
I - A inovação aberta envolve a colaboração com outras empresas ou parceiros externos para impulsionar ainovação.
II – A inovação aberta é o modelo tradicional, em que a empresa conduz todo o processo internamente,desde pesquisa e desenvolvimento até a comercialização do produto.
III – A inovação fechada é realizada inteiramente com recursos internos da empresa, garantindo o sigilo dasinformações e conhecimento exclusivo para uso interno.
IV – O processo que envolve a colaboração com profissionais de outras empresas, reunindo diversasperspectivas e conhecimentos, trata-se de inovação fechada.
É correto o que se afirma em:
ALTERNATIVAS
I e II, apenas.
I e III, apenas.
I, III e IV, apenas.
II, III e IV, apenas.
I, II, III e IV.
Entre em contato conosco
54 99956-3050
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL INDÚSTRIA E TRANSFORMAÇÃO DIGITAL ...
Implementação de um robot móvel
1. i
Engenharia Eletrotécnica e de Computadores
Implementação de um
Robot Móvel
Automação e Robótica
07-01-2013
Instituto Politécnico do Cávado e do Ave
Luís Pais nº6633 / Paulo Lima nº6522
2.
3. Implementação de um Robot Móvel
Agradecimentos
Agradece-se ao docente António Moreira, que lecionou a unidade curricular de
“Automação e Robótica” no Instituto Politécnico do Cávado e do Ave os
conhecimentos adquiridos ao longo do semestre e que foram fundamentais para a
elaboração deste projeto.
De igual modo salienta-se o espirito de entreajuda dos colegas de curso de
engenharia eletrotécnica e computadores (pós laboral), que ao longo da fase de
projeto possam ter ajudado, tanto com ideias, tanto com sentido crítico o que
permitiu atingir os resultados finais apresentados neste mesmo relatório.
4.
5. Implementação de um Robot Móvel
Resumo
O objetivo deste trabalho prático e de laboratório foi o desenvolvimento de um
algoritmo em Matlab que permitisse deslocar um Robot Móvel ao longo de um
percurso pré estabelecido por uma linha preta.
Ao longo deste percurso, o Robot seria confrontado com um conjunto de obstáculos,
em que para a superação dos mesmos, o robot deveria estabelecer uma trajetória
que lhe permitisse contornar o obstáculo e retornar o percurso pré definido pela
linha.
Para isso foi utilizado o Robot Móvel da LEGO MINDSTORMS NXT, pelo que se tornou
necessário conhecer as características próprias associadas a este tipo de Robots e
consequente tipo de programação, bem como manipular os fatores externos que
afetam o seu correto funcionamento.
Parte do trabalho, para além de programar o Robot em Matlab, foi otimizar o seu
funcionamento como será descrito posteriormente neste relatório.
6.
7. Implementação de um Robot Móvel
Índice
Agradecimentos ...........................................................................................................iii
Resumo ..........................................................................................................................v
Índice...........................................................................................................................vii
1 Introdução.............................................................................................................1
1.1 Objetivos.................................................................................................................. 1
1.2 Caraterísticas do Robot LEGO MINDSTORMS NXT................................................. 2
1.2.1 Caraterísticas técnicas ......................................................................................................2
1.3 Descrição dos componentes ................................................................................... 2
1.3.1 Servomotores ...................................................................................................................3
1.3.2 Sensor de cor ....................................................................................................................4
1.3.3 Sensor de ultrassom .........................................................................................................4
1.3.4 Controlo de estrutura .......................................................................................................5
1.4 Linguagem de Programação.................................................................................... 6
2 Contexto.................................................................................................................7
3 Descrição técnica...................................................................................................8
3.1 Código do programa................................................................................................ 8
3.2 Comentários ao código do programa ................................................................... 10
3.3 Imagens do Robot NXT.......................................................................................... 14
4 Conclusões ...........................................................................................................16
Bibliografia ..................................................................................................................19
8.
9. Implementação de um Robot Móvel
Índice de Figuras
Figura 1 - Esquema da trajetória a seguir pelo robot móvel._________________________________1
Figura 2 - Imagem de um robot LEGO MINDSTORMS NXT. ________________________________2
Figura 3 - Localização de um dos servomotores presentes no robot. ___________________________3
Figura 4 - Imagem de um servomotor (NXT User Guide). ___________________________________3
Figura 5 - Sensor de cor presente no robot. ______________________________________________4
Figura 6 - Sensor de ultrassom presente no robot. _________________________________________5
Figura 7 - Imagem de um Smart Brick (NXT Web Site). _____________________________________5
Figura 8 - Primeira abordagem adotada ________________________________________________7
Figura 9 - Fotografia do robot utilizado. _______________________________________________14
Figura 10 - Imagem em perspetiva do robot utilizado. _____________________________________14
Figura 11 - Imagem do robot seguindo a linha definida. ___________________________________15
Figura 12 - Imagem do robot a desviar-se do objeto.______________________________________15
10.
11. Implementação de um Robot Móvel
Notação e Glossário
LABVIEW Laboratory Virtual Instrument Engineering Workbench.
MATLAB
Lego Mindstorms NXT
Matrix Laboratory software.
Linha do brinquedo LEGO
RWTH Aachen Mindstorms toolbox Toolbox developed to control LEGO® MINDSTORMS® NXT
robots with MATLAB
12. Implementação de um Robot Móvel
Luís Pais / Paulo Lima 1
1 Introdução
1.1 Objetivos
Desenvolver em Matlab um algoritmo de seguimento de linha (Estratégia de
Controlo de Movimento): O Robot Móvel deve seguir uma linha preta pré
estabelecida.
Desenvolver em Matlab um algoritmo para contornar obstáculos (Estratégia
de Controlo de Movimento): Quando confrontado com um obstáculo, o
Robot deve estabelecer uma trajetória alternativa e retomar a trajetória
original assim que seja possível.
Realização do percurso sem falhas: A programação deve ser efetuada de tal
modo que o Robot seja capaz de efetuar o percurso com o mínimo de erro
possível.
O percurso deverá ser realizado no menor tempo possível: A programação
deve ser otimizada de modo que o Robot seja capaz de efetuar o percurso no
menor tempo possível.
Figura 1 - Esquema da trajetória a seguir pelo robot móvel.
13. Implementação de um Robot Móvel
Luís Pais / Paulo Lima 2
1.2 Caraterísticas do Robot LEGO MINDSTORMS NXT
A LEGO MINDSTORMS NXT é uma linha de brinquedos, fabricados pela LEGO, criada
para a educação tecnológica. Possui aplicações na área da automação, robótica,
controlo, física e matemática.
1.2.1 Caraterísticas técnicas
Processador ATMEL 32 Bit ARM.
3 Portas de saída digital.
4 Portas de entrada sendo uma do tipo IEC 61158 tipo 4.
Display do tipo matriz.
Altifalante.
Bateria recarregável de lítio.
Bluetooth.
Porta de comunicação USB 2.0.
3 Servomotores interativos com encoderes acoplados.
Sensor de ultrassom, som, luz, cor e contato.
O Software é uma versão LEGO do LABVIEW.
1.3 Descrição dos componentes
O Robot utilizado no trabalho possui uma série de mecanismos fundamentais ao seu
funcionamento que serão descritos em seguida.
Figura 2 - Imagem de um robot LEGO MINDSTORMS NXT.
14. Implementação de um Robot Móvel
Luís Pais / Paulo Lima 3
1.3.1 Servomotores
O servomotor é um tipo de máquina elétrica, em que o seu movimento é
proporcional ao comando que lhe é fornecido. Ao contrário dos motores
convencionais, em vez de rodar ou de se mover livremente, o servomotor apresenta
um controlo efetivo da sua posição, devido ao fato de se tratar de um dispositivo
que atua em malha fechada. Assim, recebe um sinal, verifica a sua posição atual e
depois atua no sistema para se deslocar para a posição pretendida.
Os servomotores servem para fazer mover o robot, possuindo encoderes
incorporados (sensor de rotação), o que lhe permite um perfeito controlo e precisão
sobre o seu movimento.
Figura 3 - Localização de um dos servomotores presentes no robot.
Figura 4 - Imagem de um servomotor (NXT User Guide).
15. Implementação de um Robot Móvel
Luís Pais / Paulo Lima 4
1.3.2 Sensor de cor
O sensor de cor irá funcionar como a visão do Robot, sendo que este sensor que se
encontra montado neste aparelho é capaz de distinguir 6 cores diferentes, através
da análise das suas intensidades.
Será assim que o Robot será capaz de seguir o trajeto, assinalado por uma linha
preta, diferenciando-a do restante espaço envolvente que terá uma cor
predominantemente branca.
Figura 5 - Sensor de cor presente no robot.
1.3.3 Sensor de ultrassom
Este sensor tem como objetivo analisar o espaço que o rodeia. O seu princípio de
funcionamento é simples sendo equiparado a um radar. O sensor envia um sinal e
aguarda o seu retorno.
Existe uma melhor receção do sinal quando qualquer objeto ou obstáculo detetado
se encontra em frente ao sensor, havendo perda de eficácia se o objeto ou obstáculo
se encontrar em perímetros mais laterais.
O sensor de ultrassom mede igualmente a sua distância (logo a do Robot)
relativamente ao objeto/obstáculo.
16. Implementação de um Robot Móvel
Luís Pais / Paulo Lima 5
Figura 6 - Sensor de ultrassom presente no robot.
1.3.4 Controlo de estrutura
O controlador de estrutura (ou Smart Brick) é a central que faz com que seja possível
o Robot funcionar.
É nesta estrutura que são ligados os sensores, motores e onde é possível carregar a
programação que define os parâmetros para o Robot.
Possui 4 portas de entrada, onde se encontram ligados os dois sensores (cor,
ultrassom) e 3 saídas onde estarão ligados os três servomotores para a consequente
locomoção do Robot. Tem uma porta USB por onde são comunicados os dados de
programação, neste caso provenientes do MATLAB.
Figura 7 - Imagem de um Smart Brick (NXT Web Site).
17. Implementação de um Robot Móvel
Luís Pais / Paulo Lima 6
1.4 Linguagem de Programação
Para a programação deste trabalho vai-se recorrer à linguagem de programação
MATLAB.
Esta é uma ferramenta de programação de alto nível vocacionada originalmente
para o cálculo numérico, uma vez que integra análise numérica, cálculo com
matrizes, processamento de sinais e construção de gráficos.
A simplicidade de funcionamento do MATLAB permite a resolução de problemas
numéricos em menor tempo do que se gastaria para escrever um programa
semelhante noutras linguagens.
O programa dispõe ainda de diversas extensões, chamadas TOOLBOXS, e é possível
incluir bibliotecas, sendo que para a elaboração deste projeto será necessário
indexar uma denominada “Matlab RWTHMindstormsNXTv4.07”, que foi criada para
controlo destes Robots da LEGO.
O interface entre o MATLAB e o Robot será efetuado através de cabo USB 2.0.
18. Implementação de um Robot Móvel
Luís Pais / Paulo Lima 7
2 Contexto
A estratégia para a elaboração deste trabalho foi estruturar o trabalho em etapas e
avançar progressivamente. Assim, os códigos de programação foram sucessivamente
trabalhados até se atingir a versão final que respeitasse todos os parâmetros
pretendidos. Inicialmente criou-se apenas um código que permitisse o robot seguir a
linha sem contar com mais nenhum fator externo.
Figura 8 - Primeira abordagem adotada
Na figura 8 é possível verificar a forma que o robot utilizava para seguir a linha no
primeiro método. Uma das rodas rodava sempre a velocidade constante e a outra
roda acelerava ou parava mediante o valor lido pelo sensor de luz. Caso fosse baixo o
valor lido acelerava essa roda até encontrar o valor máximo e desta forma andava
sempre em ziguezague sobre a linha a acompanhar a trajetória.
Numa segunda fase modificou-se o código de modo a sintonizar um PID para
controlo dos motores de modo ao robot responder de forma mais eficaz.
Por último e de modo a que todos os requisitos fossem atendidos, foi criada a parte
do programa de modo que o Robot conseguisse prever, evitar obstáculos e retomar
o mais brevemente possível a sua trajetória definida.
Ao longo deste processo conseguiu-se igualmente melhorar todo o programa e ir
reduzindo gradualmente as linhas de código necessárias para o programa funcionar.
19. Implementação de um Robot Móvel
Luís Pais / Paulo Lima 8
3 Descrição técnica
3.1 Código do programa
%%Limpa o workspace.
clear all
clc
COM_CloseNXT('all') % fecha e limpa todos os NXT devices existentes
close all
%%OpenNXT
ComNXT = COM_OpenNXT(); % Tenta abrir uma conexão via USB. O primeiro dispositivo
NXT a ser encontrado será usado.
COM_SetDefaultNXT(ComNXT); % Define o valor por defeito global do COM_SetDefaultNXT.
%% Configuracao do NXTMotor
l_wheel = NXTMotor( MOTOR_A ); % Configura a roda esquerda com o motor A
r_wheel = NXTMotor( MOTOR_C ); % Configura a roda direita com o motor C
l_wheel.SmoothStart = true; % Acelera suavemente o movimento do motor
r_wheel.SmoothStart = true;
%% Abre o sensor de Luz com a Luz Vermelha
OpenNXT2Color( SENSOR_1, 'RED' )
%% Abre o sensor de Ultrasonic
OpenUltrasonic( SENSOR_2 )
%% Configuracao do PID para controlo dos motores
Kp = 0.7; %O KP e Kp*100 na realidade sera 70
Ki = 0.001; %O Ki e Ki*100 na realidade sera 0,1
Kd = 0.4; %O Kd e Kd*100 na realidade sera 40 %4
offset = 330; %Initializa a variavel de offset % estava a 320 sala automacao
Tp = 25; %Velocidade dos motores das rodas % 27 e 29 ok!
integrativo = 0; %A variavel temporaria que vai guardar o valor do integrativo
lastError = 0; %A variavel temporaria que vai guardar o valor do erro
derivativo = 0; %A variavel temporaria que vai guardar o valor do derivativo
%% Ciclo que segue a linha utilizando os valores do PID
while ~strcmp( GetNXT2Color( SENSOR_1 ), 'RED' )
ValorLuz = GetNXT2Color(SENSOR_1)
erro = ValorLuz - offset; % calcula o erro ao
subtrair o offset
integrativo = integrativo + erro; % calcula o integrativo
derivativo = erro - lastError; % calcula o derivativo
Turn = (Kp*erro) + (Ki*integrativo) + (Kd*derivativo); % O "termo P", "termo I"
e o "termo D"
Turn = Turn/5; % Divide o valor
calculado atras por 6
l_wheel.Power = floor(Tp + Turn); % O nivel de Power do
motor A
r_wheel.Power= floor(Tp - Turn); % O nivel de Power do
motor C
l_wheel.SendToNXT();
r_wheel.SendToNXT();
lastError = erro; % Salva o valor do
erro atual
%% Ciclo que deteta objeto, desvia-se, volta a linha e retoma a posicao
dst = GetUltrasonic( SENSOR_2 ); % Detecta se tem objeto em frente para se
desviar
if (dst < 25) % Valor a partir do qual ele para ao detetar
objeto %tinha 22 sala automacao
l_wheel.Stop('off'); % Para as rodas
r_wheel.Stop('off');
l_wheel.Power = -25; % Roda 90 graus para Esquerda
r_wheel.Power = 25;
l_wheel.TachoLimit = 275; % Graus que viram os motores
r_wheel.TachoLimit = 275;
20. Implementação de um Robot Móvel
Luís Pais / Paulo Lima 9
l_wheel.SendToNXT(); % Envia os valores de tras para os motores
r_wheel.SendToNXT();
l_wheel.WaitFor(); % Espera que os valores do TachoLimit sejam
atingidos
r_wheel.WaitFor();
motorSensor = NXTMotor( MOTOR_B, 'Power', -50); % Roda o motor do sensor
ultrasom com velocidade -50
motorSensor.TachoLimit = 60; % Graus que vira o motor do
sensor ultrasom para se obter 45graus
motorSensor.SmoothStart = true; % Faz com que o motor inicie
com uma acelaracao suave
motorSensor.SendToNXT(); % Envia os valores de tras
para os motores
motorSensor.WaitFor(); % Espera que os valores do
TachoLimit sejam atingidos
% Contorna o objecto pela direita
encontralinha = 1; % Vai contornando o objeto
ate encontrar a linha
while (encontralinha)
l_wheel.TachoLimit = 0;
r_wheel.TachoLimit = 0;
motorSensor.SmoothStart = true; % Faz com que o motor inicie
com uma acelaracao suave
l_wheel.Power = 25; % Velocidade para fazer o
contorno do objeto R. Esq.%22 sala automacao
r_wheel.Power = 10; % Velocidade para fazer o
contorno do objeto R. Dir. %10 sala automacao
l_wheel.SendToNXT() % Envia os valores de tras
para os motores
r_wheel.SendToNXT()
temp = GetNXT2Color(SENSOR_1);
dst = GetUltrasonic( SENSOR_2 );
while dst < 23
l_wheel.Power = 10; % Velocidade para fazer o contorno
do objeto R. Esq.%22 sala automacao
r_wheel.Power = 45; % Velocidade para fazer o contorno
do objeto R. Dir. %10 sala automacao
l_wheel.SendToNXT() % Envia os valores de tras para os
motores
r_wheel.SendToNXT()
dst = GetUltrasonic( SENSOR_2 );
end
if (temp < 200) % Valor mais central possivel (205)
encontralinha = 0; % Quando encontrar na linha o valor de
205, para
end
end
l_wheel.Stop('off'); % Para as rodas
r_wheel.Stop('off');
motorSensor = NXTMotor( MOTOR_B, 'Power', 50); % Roda o motor do sensor
ultrasom com velocidade 50
motorSensor.TachoLimit = 60; % Graus que vira o motor do
sensor ultrasom para restabelecer a posicao inicial
motorSensor.SmoothStart = true; % Faz com que o motor inicie
com uma acelaracao suave
motorSensor.SendToNXT(); % Envia os valores de tras
para os motores
motorSensor.WaitFor(); % Espera que os valores do
TachoLimit sejam atingidos
% l_wheel.TachoLimit = 0; % Quando
TachoLimit e zero, roda infinitamente
% r_wheel.TachoLimit = 0;
l_wheel.Power = -5; % Velocidade da R. Esq. para
restabelecer posicao depois de encontar a linha - 30/1o teste / -40/2o teste +rapido
ok
r_wheel.Power = 6; % Velocidade da R. Esq. para
restabelecer posicao depois de encontar a linha - 50/1o teste / 60/2o teste +rapido ok
l_wheel.SendToNXT() % Envia os valores de tras
para os motores para o carro endireitar
r_wheel.SendToNXT()
21. Implementação de um Robot Móvel
Luís Pais / Paulo Lima 10
while (GetNXT2Color(SENSOR_1)<461) % Restabelece a posicao ate
encontrar o valor 461. Prossegue normalmente depois de encontrar. % 420 sala automacao
end
pause(0.5)
end
%Coloca as variaveis temporarias do PID a zero para inicializar mais corretamente
o arranque depois de encontrar de novo a linha
integrativo = 0; %A variavel temporaria que vai guardar o valor do integrativo
e inicializada a zero
ultimoErro = 0; %A variavel temporaria que vai guardar o valor do erro e
inicializada a zero
derivativo = 0; %A variavel temporaria que vai guardar o valor do derivativo e
inicializada a zero
end % Feito o loop, volta a cima e reinicia tudo de novo!
3.2 Comentários ao código do programa
No início do código do programa, utilizam-se alguns comandos para limpar “lixo” que
possa existir no MATLAB, e configurar a ligação USB para se utilizar o robot NXT.
Neste trecho do código, realizam-se as configurações dos motores e dos sensores
utilizados, o de luz e o ultrassónico.
22. Implementação de um Robot Móvel
Luís Pais / Paulo Lima 11
Neste módulo do código anterior, faz-se a inicialização dos valores a serem utilizados
nos cálculos matemáticos para a utilização do PID no controlo da velocidade dos
motores. Os valores encontrados foram calibrados em modo tentativa erro.
Verificámos que as condições se alteram cada vez que tentámos ensaiar os valores já
calibrados anteriormente. Notámos que o desgaste das pilhas e as condições de
iluminação alteravam significativamente os resultados finais e a respetiva resposta
do PID ao comportamento da mesma pista. De qualquer, forma estas diferenças
seriam mais notáveis ao tentarmos os limites de máximo comportamento
pretendidos. Caso reduzíssemos os valores para velocidades e reações menores já
não se notava tantas diferenças no seu comportamento.
Este é o ciclo onde se inicia o processo de seguimento da linha. O código seguinte
será o responsável por seguir a linha.
O código anterior mostra os cálculos matemáticos para a configuração do PID a
aplicar aos motores. Inicialmente, a primeira versão de código que elaborámos, não
utilizava PID. Simplesmente seguia a linha através dos valores máximos e mínimos
estabelecidos e lidos pelo sensor de luz. Apesar de funcional, com as variações que já
comentámos atrás, tornava-se muito instável na realização das curvas. Algumas
vezes fazia corretamente as curvas outras já não as conseguia fazer. Ao
implementarmos o código de controlo dos motores por PID, essa dificuldade foi
ultrapassada e o contorno da linha com o robot tornou-se mais estável com
velocidades superiores.
23. Implementação de um Robot Móvel
Luís Pais / Paulo Lima 12
Ciclo onde se verifica se existe algum obstáculo. Caso exista, o robot vai contornar o
objeto pela direita até encontrar de novo a linha. O robot ao detetar a linha, roda
90º para a esquerda e de seguida, efetua uma curva em arco para contornar o objeto
detetado. Também roda o motor do sensor ultrassónico 45º para a direita para que
o mesmo se mantenha perfilado com o objeto detetado anteriormente enquanto se
movimenta até encontrar de novo a linha.
Durante o movimento, caso o sensor detete algum objeto a menos do valor “23” de
distância volta a desviar-se um pouco mais para a esquerda mantendo a rota de arco
até encontrar de novo a linha. Encontra de novo a linha quando o valor do sensor de
luz for inferior a 200 neste caso (um valor perto do central da linha). Nessa altura
termina este ciclo.
24. Implementação de um Robot Móvel
Luís Pais / Paulo Lima 13
Depois de encontrar a linha, o robot para o movimento que estava a fazer. Enquanto
o valor da leitura do sensor de luz não for bastante alto (neste caso maior do que
461), ele vai rodar muito lentamente para a esquerda até o encontrar. Nessa altura
estará mais ou menos paralelo à linha preta, para poder prosseguir de novo o ciclo
de seguir a linha.
No final reiniciam-se os valores das variáveis temporárias do PID para que o robot
arranque mais suavemente ao iniciar de novo o seguimento da linha.
25. Implementação de um Robot Móvel
Luís Pais / Paulo Lima 14
3.3 Imagens do Robot NXT
Figura 9 - Fotografia do robot utilizado.
Figura 10 - Imagem em perspetiva do robot utilizado.
Nas figuras 9 e 10 verificamos o robot utilizado neste trabalho. É possível verificar
que retirámos as borrachas das rodas traseiras para evitar algum atrito nas curvas e
assim minimizar os despistes. Desta forma o robot ficou mais estável a realizar o
percurso e este método foi adotado por toda a turma.
26. Implementação de um Robot Móvel
Luís Pais / Paulo Lima 15
Figura 11 - Imagem do robot seguindo a linha definida.
Na figura 11 mostra-se o robot a percorrer a linha numa das calibrações do mesmo.
Figura 12 - Imagem do robot a desviar-se do objeto.
Na figura 12 é possível verificar o robot a contornar um objeto que foi detetado no
seu percurso. Foi utilizado como objeto o apagador do quadro disponível na sala.
Elaborámos também dois vídeos que mostram o robot a efetuar uma volta completa
(link) e o robot a contornar um objeto (link).
27. Implementação de um Robot Móvel
Luís Pais / Paulo Lima 16
4 Conclusões
Em suma, retiramos como conclusões deste trabalho, que após compreendermos o
funcionamento do robot LEGO e compreendermos a arquitetura do seu
funcionamento, tornou-se simples comunicar com ele. Conseguimos desta forma
atingir os objetivos propostos do trabalho.
Utilizando a ferramenta “RWTH Aachen MINDSTORMS NXT Toolbox” disponibilizada
para comunicar com este tipo de dispositivos utilizando a ferramenta Matlab é
simples e eficaz a utilização do Matlab para a comunicação com o robot e envio dos
comandos e cálculos previamente elaborados.
Conforme já explicámos no decorrer do presente relatório, iniciámos a abordagem a
este trabalho concebendo um código de seguir a linha de forma mais básica e
simples. O robot segue assim a linha comparando os seus valores, através do sensor
ótico e desta forma reage dentro do intervalo dos dois valores configurados como
máximo e como mínimo. Assim o robot percorre a linha em ziguezague onde acelera
a roda esquerda quando o valor é baixo (meio da linha) e desacelera quando o valor
lido é alto (fora da linha).
Com esta abordagem, reparámos que o robot se tornava muito instável em
conseguir efetuar toda a volta sem se despistar, mesmo depois de calibrado. Caso os
valores de velocidades fossem baixos, (na ordem de 1 minuto por volta)
conseguíamos que ficasse mais estável e este conseguia efetuar várias voltas sem se
despistar.
Nesta altura já nos tínhamos deparado que as condições de iluminação e o valor das
baterias do robot influenciavam em muito os valores previamente afinados.
Como a velocidade era um dos objetivos do trabalho, tentámos subir este valor e aí
verificámos que com este método não iriamos conseguir valores estáveis com
velocidade superiores.
Então decidimos implementar um PID para controlo dos motores servos, para que o
robot se tornasse mais estável a percorrer todo o percurso pré definido com
28. Implementação de um Robot Móvel
Luís Pais / Paulo Lima 17
velocidades superiores. Verificámos a base deste código no site referenciado no link
7 na bibliografia, onde analisámos a forma de aplicar o PID aos motores do LEGO.
Foi evidente o aumento de estabilidade e velocidade com a implementação deste
método de controlo. A afinação foi por tentativa erro, com a sugestão de alguns
colegas e após alguns testes consecutivos, conseguimos chegar a valores de boa
estabilidade. O robot já efetuava várias voltas sem se despistar a uma boa
velocidade (entre 40/45segundos).
Apesar de notável o melhoramento na estabilidade, continuava bem visível o facto
de com a mudança de luminosidade e a variação do nível de bateria nos valores pré-
encontrados como estáveis, o robot mudar de comportamento muito facilmente
devido a estas circunstâncias. Isto é, após encontrarmos valores estáveis, caso por
exemplo ao outro dia ensaiássemos com os mesmos valores na mesma pista, mas ou
porque as baterias estavam recarregadas ou a luminosidade do dia não era a mesma,
já tínhamos de novo que mexer nos valores da velocidade, do offset e por vezes nos
valores de afinação do PID. Isto para encontrar de novo um equilíbrio, em que o
robot fosse outra vez capaz de efetuar todo o percurso sem despiste.
Após esta fase, passámos a realizar o código necessário para contornar um
obstáculo.
Primeiramente, a abordagem tomada foi a de quando o robot encontrava um
obstáculo no seu caminho, com menos do que uma distância pré definida no sensor
de ultrassons, este para, movimenta-se 90º para o interior da pista, roda o sensor de
ultrassons 45º no sentido oposto ao do movimento para que ao se movimentar o
sensor continue a acompanhar o obstáculo. Consequentemente, contorna o objeto a
uma velocidade constante previamente definida. A roda da direita roda a uma
velocidade ligeiramente inferior à da esquerda para que o robot faça uma trajetória
curvilínea, que contorna o objeto até encontrar de novo a linha preta.
A base deste código ao qual nos referenciámos, está referenciado no link 5 na
bibliografia.
Após implementarmos esta forma de atuar, melhorámos o código para que o robot
enquanto se movimenta a contornar o objeto, continua a medir a distância do
29. Implementação de um Robot Móvel
Luís Pais / Paulo Lima 18
obstáculo. Caso este se aproxime em demasia de novo do robot, este volta a afastar-
se do objeto, continuando de seguida a efetuar a trajetória curvilínea que estava a
fazer anteriormente, até encontrar de novo a linha preta. Após encontrar a linha,
coloca-se paralelo à mesma e retoma ao ciclo de seguir a linha, iniciando assim o
robot de novo o movimento.
Como dificuldades encontradas, destacamos as já mencionadas, da dificuldade inicial
em compreendermos o funcionamento e a concepção da forma de comunicar com
robot e posteriormente, o facto de termos sempre que reajustar os valores pré-
calibrados cada vez que voltarmos a utilizar o robot, tanto por motivos de iluminação
do meio, como devido ao desgaste da bateria do robot.
O tempo das aulas não nos foi suficiente para concluir o trabalho em tempo de aula
e apesar dos professores estarem prontamente disponíveis, para testarmos, tivemos
que pedir uma autorização extraordinária para utilização da sala em tempo de férias.
Além disso, tínhamos somente 4 robots para 9 grupos de 2 alunos, o que
evidentemente, cria transtornos ao tentarmos ensaiar os dados programados na
realidade. Sabemos que este tipo de trabalhos, necessita de obrigatoriamente
efetuar o teste real na prática para que se consigam resultados.
30. Implementação de um Robot Móvel
Luís Pais / Paulo Lima 19
Bibliografia
[1] Slides disponibilizados nas aulas pelo professor António Moreira docente da
disciplina de Automação e Robótica.
[2] LEGO Mindstorms NXT, wikipedia.org,
http://pt.wikipedia.org/wiki/LEGO_Mindstorms_NXT, <consultado a 05-01-
2013>
[3] LEGO MINDSTORMS NXT Support from MATLAB,
http://www.mathworks.com/academia/lego-mindstorms-nxt-
software/legomindstorms-matlab.html, <consultado a 05-01-2013>
[4] RWTH - Mindstorms NXT Toolbox, Functions - Alphabetical List,
http://www.mindstorms.rwth-
aachen.de/documents/downloads/doc/version-4.03/abc.html, <consultado
a 05-01-2013>
[5] RWTH - Mindstorms NXT Toolbox, http://www.mindstorms.rwth-
aachen.de/trac/wiki/FunctionsOverview, <consultado a 05-01-2013>
[6] Basic robotics with Lego NXT, http://web.cs.dal.ca/~tt/robotics/NXTmatlab,
<consultado a 05-01-2013>
[7] A PID Controller For Lego Mindstorms Robots, J. Sluka,
http://www.inpharmix.com/jps/PID_Controller_For_Lego_Mindstorms_Robot
s.html, <consultado a 05-01-2013>