1 Programação de Periféricos: Seminários Motor Schemas Tiago Cunha.
Transcript of 1 Programação de Periféricos: Seminários Motor Schemas Tiago Cunha.
1
Programação de Periféricos: Seminários
Motor Schemas
Tiago Cunha
2
Agenda
• Robótica
• Robôs• Classificação dos robôs
• Robôs e os periféricos
• Robôs móveis
• Comportamentos (Behaviors)
• Motor Schemas
• Ferramentas
3
Robótica
• Robótica é a ciência e a tecnologia dos robôs, seu desenvolvimento, fabricação e aplicação.
• Sistemas Mecânicos Robóticos são uma subclasse dos Sistemas Mecânicos.
• Sistemas Mecânicos são uma subclasse dos Sistemas Dinâmicos
• Sistemas Dinâmicos são uma subclasse de Sistemas
• Sistemas...
• Ou seja, a robótica envolve mecânica, eletrônica e computação.
4
Robôs
• Robôs são agentes virtuais ou mecânicos.
• Agentes: qualquer entidade imersa ou situada em um ambiente, que percebe esse ambiente através de sensores e age sobre este através de atuadores.
• “Eu não sei definir o que e um robô, mas eu os reconheço quando os vejo”. Joseph Engelberger
5
Classificação
• Por função:
- Manipuladores: braços e mãos robóticas.
- Geradores de movimento: simuladores de vôo*.
- Móveis: robôs com pernas ou rodas.
- Aquáticos.
- Aéreos.
6
Classificação (cont.)
• Por tamanho:
• Macro- (medidos em metros) e micro-robôs (em mm.)
• Por aplicações:
• Soldadores, segurança, operações cirúrgicas, reabilitação, entretenimento.
7
Robôs e os periféricos
• Para realizar a interação entre o ambiente e o robô são necessários dispositivos periféricos, como os sensores.
• Através dos sensores podemos extrair as características de um determinado ambiente.
• Tais informações são utilizadas pelo micro-controlador, para gerar os movimentos do robô, realizados pelos atuadores.
8
Robôs e os periféricos (cont.)
• Podemos determinar assim três tipos de dispositivos os quais precisam ser programados a fim de construir um robô:
• Sensores
• Atuadores
• Controladores
9
Robôs e os periféricos (cont.)
• Exemplo: Daisy.
• Projeto de robô bombeiro.
• Objetivos: • mover-se a partir de
uma posição inicial
• navegar através de obstáculos
• detectar focos de incêndio durante o caminho e então apaga-los
10
Robôs e os periféricos (cont.)
• Hardware utilizado:
• Veículo de quatro rodas, com motor traseiro, direcional dianteiro.
• Controlado por uma Handy Board.
microprocessador 6811, motor driver chips, display LCD de 16 caracteres (2 linhas), interface serial, 7 entradas analógicas, 9 entradas digitais, uma campainha e sete botões
11
Robôs e os periféricos (cont.)
• O processador é programado usando Interactive C, uma linguagem derivada do C.
• A linguagem serve como interface interativa entre o PC a Handy Board, conectados através de um cabo serial.
• Os programas são compilados em um PC e então copiado para a Handy Board para execução.
12
Robôs e os periféricos (cont.)
• Outros exemplos de sensores:
• Câmeras
• Sensores de inércia, aceleração e direção
• Medidores de distância
• Sonares, sensores IR, detectores de toque
• Outros...
13
Robôs e os periféricos (cont.)
• Outros exemplos de atuadores:
• Garras:
• Garra de dois dedos, de três dedos, para objetos cilíndricos, para objetos frágeis, garra articulada, garra a vácuo e eletromagnética.
• Motores:• Servo-motores CC, motores de passo, servo-
motores CA, motores elétricos lineares.
14
Robôs e os periféricos (cont.)
• Outros exemplos de controladores:
• Lógica Simples
• Micro-controladores
• Microprocessadores
15
Robôs e os periféricos
• Outros exemplos de LP:
16
Robôs Móveis
• Utilizados para:• Transporte de materiais, combate a incêndios,
desativação de explosivos, vigilância de armazéns, viagens submarinas e aeroespaciais e prestação de serviços interagindo com pessoas para auxílio a tarefas rotineiras.
• Em robôs móveis, o sistema de locomoção desempenha um papel fundamental.
• Este e o responsável por coordenar todos estes componentes a fim de atingir os objetivos do robô.
17
Robôs Móveis (cont.)
• Basicamente, os robôs devem ser capazes de navegar a partir de uma posição conhecida para uma nova localização desejada.
• Para isto, devem evitar colisões com objetos fixos e móveis durante sua rota.
• Em ambientes desestruturados, desconhecidos ou dinâmicos, um robô móvel deve ser capaz de perceber as circunstâncias e gerar ações que são apropriadas para o ambiente e para os objetivos do sistema robótico.
18
Comportamentos
• Muitas vezes, robôs moveis são controlados por “comportamentos” (behaviors)
• Comportamentos: conjuntos de ações e reações, conscientes ou não, de um objeto ou organismo direcionados a um ambiente.
• Sensores atuam como entrada de dados, comportamentos como processadores destes e seletores de ações, que são efetuadas pelos atuadores.
19
Motor Schemas
• Exemplo de comportamento.
• Respostas comportamentais são todas representadas por vetores.
• A coordenação é conseguida através da soma de vetores.
• Os comportamentos são configurados em tempo-real através das interações, capacidades e do meio envolvente.
20
Motor Schemas (cont.)
• Todos os comportamentos são utilizados para determinar a direção.
• Cada comportamento tem um valor de ganho associado.
• O vetor relacionado a cada comportamento é multiplicado pelo seu ganho e somado aos outros vetores.
• A soma dos vetores determina o movimento.
21
Motor Schemas (cont.)
22
Motor Schemas (cont.)
• Padrões comportamentais:• move-ahead, move-to-goal
• avoid-static-obstacles
• dodge
• escape
• stay-on-path
• noise
• follow-the-leader
• outros
23
Avoid-static-obstacle
24
Move-ahead
25
Move-to-goal
26
Ferramentas
• Chamadas “Robotics suites”.
• Fornecem um ambiente visual para a programação e simulação.
• Objetiva gerar código que pode ser utilizado para simulação e aplicação, sem quaisquer modificações.
27
Ferramentas (cont.)
• Exemplos de suites:
• Evolution Robotics ERSP
• OROCOS
• Skilligent
• iRobot AWARE
• OpenJAUS
• CLARAty
• Webots
• Microsoft Robotics Studio
• URBI
• RUBIOS
• AnyKode Marilou
• Simbad
• TeamBots
28
TeamBots
• Conjunto de aplicações e pacotes para pesquisas com robôs moveis multi-agentes.
• Suporta:• Prototipação
• Simulação - através do aplicativo TBSim
• Implantação - através do ambiente de execução TBHard.
• Código aberto.
29
PUCRS
• Laboratório CIM - Computer Integrated Manufacturing (http://www.ee.pucrs.br/~labcim/)
• Utilizado para aulas de Sistemas Robotizados e Sistemas de Fabricação
• RoboSoft Simulator
• Tem como objetivo simular programas na linguagem ACL.