Upload
bernardo-rodrigues-fortunato
View
226
Download
7
Embed Size (px)
Citation preview
Nomad 200
Robô Autônomo Móvel Nomadic Technologies
(www.robots.com) Pentium200, 64 Mb Ram,
Linux Sistema multiprocessado
com memória compartilhada Link ethernet sem fio Braço mecânico Diversos sensores
Nomad 200 - Sensores
Sonar Anel com 16 módulos (polaroid 6500) Distâncias entre 15 cm e 6.5 m, 1% erro Influências
Tipo de superfícieGeometriaTemperaturaUmidade
Nomad 200 - Sensores
Infravermelho Anel com 16 módulos Distâncias entre 0 cm e 60 cm Influências
Tipo de superfícieGeometriaIluminaçãoCor
Nomad 200 - Sensores
Sistema de Visão 1 Câmera colorida fixa (Hitachi KP-D50) Frame grabber (Matrox Meteor)
Bumper 2 anéis com 10 sensores cada
BússolaEncoder
X, Y, ângulos da torre e rodas
Nomad 200 - Direcionamento
Torre e base independentes3 rodas: Synchronous-DriveVelocidades
Translação: 61 cm/s Rotação (rodas): 60 graus/s Rotação (torre): 90 graus/s
Robô não-holonômico
90 graus
Nomad 200 - Cuidados
Baterias recarregáveis: 3 + 2 Duração aproximada: 6 - 8 horas (?) Aviso sonoro de fim de carga Cuidados na colocação / remoção /
recargaBotão de emergênciaBoot / Shutdown
Linux - RO x Linux - RW
Programação / Controle
Programação em C, utilizando biblioteca de funções específicas
Interface gráfica (X-Windows) Envio de comandos remotos Acompanhamento dos sensores Configuração de um ambiente simulado Execução / simulação de programas
Esquema de ProgramaçãoModo Direto x Modo Cliente
Daemon#includemain() {...}
Programa
Daemon#includemain() {...}
Programa
Simulador
Servidor
Ndirect.o
Nclient.o
Comandos
Comunicação connect_robot, tk, real_robot, ...
Movimento pr, vm, st, ws, zr, arm_mv, ... ac, sp, dp, ...
Sensores get_ir, get_sn, gs, ... init_sensors, conf_ir, conf_sn, ...
Comandos
Simulador / Mapa draw_line, add_obstacle, ...
Vetores Globais State: leitura dos sensores Smask: “máscara” dos sensores
ex: State[STATE_SONAR_4]leitura do sonar numero 4
HelloWorld.c#include “Nclient.h”void main(){
connect_robot(1);tk(“Hello World”);zr();sp(50,0,0);pr(1000,0,0);while(State[STATE_CONF_X] < 1000)
gs();disconnect_robot(1);
}
% gcc -o hello helloWorld.c Nclient.o
Diretórios
~chaimo/robotica/Nomad200/ ./server: Nserver (versão SunOS 4) ./client: bibliotecas (.h e .o) ./examples
./host_demo: exemplos
Executar na turquesa ou outra máquina SunOS 4
Aplicações
Distance Estimation (SBAI 1999)
Visual Servoing (CBA2000)
XR4000, Scout & Nomad 200
Outros Robôs Móveis