ROS Tutorial-final
58 pág.

ROS Tutorial-final


DisciplinaRobótica1.337 materiais3.981 seguidores
Pré-visualização2 páginas
3D 
\u2022 Visualização de dados como: 
\u2013 Mapas 
\u2013 Nuvens de pontos 
\u2013 Câmeras 
\u2013 Pose dos Robôs 
34 
Principais comandos ROS 
 Ferramentas visuais - rxbag 
\u2022 Gerenciar bags 
\u2022 Gravar bags 
\u2022 Pode mostrar imagens 
 
35 
Principais comandos ROS 
 Ferramentas visuais - rxconsole 
\u2022 Utilizado para debug dos nodes que estão 
sendo executados 
\u2022 Exibe mensagens que são enviadas ao 
rosout 
36 
Simulação - Stage 
\u2022 Simulador 2D 
\u2022 Open Source 
\u2022 Simulação com multirrobôs 
\u2022 Integrado com o ROS 
37 
Simulação - Gazebo 
\u2022 Simulador 3D 
\u2022 Open Source - WillowGarage 
\u2022 Simulação física realista 
\u2022 Robôs: 
\u2013 PR2 
\u2013 Pioneer2DX 
\u2013 Pioneer2AT 
\u2013 SegwayRMP 
38 
Funcionalidades Principais 
Localização 
\u2022 Adaptative Monte Carlo Localization \u2013 AMCL 
\u2022 D. Fox. Kld-sampling: Adaptive particle \ufb01lters, 
2001. 
\u2022 Localização 
\u2013 Mapa 
\u2013 Hodometria 
\u2013 Leituras de um Laser 
\u2022 Distribuição probabilística sobre a localização do 
robô 
39 
Funcionalidades Principais 
Navegação 
\u2022 Localizar e planejar o movimento em um 
ambiente 
\u2022 Move_base 
\u2022 Navegação local 
\u2013 Espaço de percepção 
\u2022 Navegação global 
\u2013 Utilizando uma representação estática do ambiente 
 
40 
Funcionalidades Principais 
SLAM 
\u2022 Simultaneous localization and mapping 
\u2022 Mapear um ambiente ao mesmo tempo que se 
mantém localizado 
\u2022 Processos de mapeamento e localização 
inseparáveis 
\u2022 ROS 
\u2022 Gmapping 
\u2022 Karto 
42 
Aplicações 
Robôs roteadores 
\u2022 Conectar um conjunto de clientes em uma rede 
wireless 
\u2013 Exemplos de clientes: policiais e bombeiros 
\u2013 Robotic Communication Backbone,2012 
\u2022 ROS utilizado para: 
\u2013 Navegação e Localização 
43 
Aplicações 
Rede de nós sensores 
\u2022 Localização de nós sensores 
\u2022 Potência de sinal o único indicativo da posição 
dos senrores 
\u2022 Modelo gráfico probabilístico para a localização 
\u2013 Indoor wireless sensor localization using 
mobile robot and RSSI, 2012 
\u2022 ROS utilizado para: 
\u2013 Localização do robô 
44 
Aplicações 
Rede de nós sensores 
\u2022 Localização de nós sensores 
\u2022 Potência de sinal o único indicativo da posição 
dos senrores 
\u2022 Modelo gráfico probabilístico para a localização 
\u2013 Indoor wireless sensor localization using 
mobile robot and RSSI, 2012 
\u2022 ROS utilizado para: 
\u2013 Localização do robô 
45 
Aplicações 
Visão computacional 
\u2022 SLAM 3D em tempo Real 
\u2012 Real-time 3D visual SLAM with a hand-held 
RGB-D camera, 2011 
\u2022 Extração dos atributos dos objetos em um 
ambiente 
\u2022 Correspondência entre imagens feita utilizando 
RANSAC 
46 
Atividades Práticas- Turtlesim 
\u2022 Simulador para exercitar os conceitos básicos 
do ROS 
\u2022 Para inicializar o simulador 
\u2013 rosrun turtlesim turtlesim_node 
\u2013 rosrun turtlesim turtle_teleop_key 
\u2022 A partir desse ponto é possivel navegar com a 
tartaruga utilizando linha de comando 
47 
Atividades Práticas - Turtlesim 
\u2022 rxgraph 
\u2022 rostopic 
\u2022 rosservice 
\u2022 roslaunch 
48 
Simulação \u2013 Stage 
Criando um cenário 
\u2022 Definido em um arquivo texto 
\u2022 São definidos os objetos do ambiente: 
\u2013 Obstáculos 
\u2013 Robôs e seus sensores e atuadores 
\u2022 Instânciados os modelos 
 
49 
Simulação \u2013 Stage 
Criando um cenário 
\u2022 Sintaxe para definição de um modelo 
\u2013 define model_name model(# parameters) 
\u2022 Exemplo de um modelo para os obstáculos 
\u2022 define floorplan model( 
\u2022 color "gray30\u201c 
\u2022 boundary 0 
\u2022 laser_return 1 
\u2022 bitmap "simple.pgm" 
\u2022 size [31.100 26.600 0.500] 
\u2022 pose [47.343 39.697 0 0]) 
 
50 
Simulação \u2013 Stage 
Criando um cenário 
\u2022 Sintaxe para definição de um laser 
\u2013 define model_name ranger(# parameters) 
\u2022 Exemplo: 
\u2022 define topurg ranger( 
\u2022 sensor( range [ 0 10 ] fov 270.0 samples 1081 ) 
color "black" 
\u2022 size [ 0.050 0.050 0.100 ]) 
51 
Simulação \u2013 Stage 
Criando um cenário 
\u2022 Sintaxe para definição de um robô 
\u2013 define model_name position(# parameters) 
\u2022 Exemplo: define erratic position( 
\u2022 size [0.200 0.200 0.200] 
\u2022 origin [-0.050 0 0 0] 
\u2022 gui_nose 1 
\u2022 drive "diff" 
\u2022 topurg(pose [ 0.050 0 0 0 ]) ) 
52 
Simulação \u2013 Stage 
Criando um cenário 
\u2022 Instanciando os modelos: 
\u2022 resolution 0.02 
\u2022 interval_sim 100 
\u2022 window( size [ 745.000 448.000 ] rotate [ 0 -1.560 ] 
scale 21.642 ) 
\u2022 floorplan( pose [47.343 39.697 0 0]) 
\u2022 erratic( pose [ 17.507 15.365 0 0 ] name "era0" color 
"blue") 
53 
Simulação \u2013 Stage 
Executando o Stage no ROS 
\u2022 Para executar a simulação: 
\u2013 rosrun stage stageros simple.world 
\u2022 Para teleoperar o robô da simulação 
\u2013 rosrun teleop_twist_keyboard 
teleop_twist_keyboard.py 
 
 
54 
Atividades Práticas - SLAM 
\u2022 Criar uma mapa de um ambiente simulado no 
stage 
\u2022 1º Inicialize o stage 
\u2013 roscore 
\u2013 rosrun stage stageros simple.world 
\u2022 2º Algoritmo de SLAM 
rosrun gmapping gmapping scan:=base_scan 
55 
Atividades Práticas - SLAM 
\u2022 3º Para navegar pelo ambiente 
\u2013 rosrun teleop_twist_keyboard 
teleop_twist_keyboard.py 
\u2022 4º Inicialize o rviz 
\u2013 rosrun rviz rviz 
\u2022 5º Para salvar o mapa 
\u2013 rosrun map_server map_saver 
56 
Atividades Práticas \u2013 Navegação 
\u2022 Navegação autônoma em um ambiente 
simulado. 
\u2022 1º inicialize o stage 
\u2013 roscore 
\u2013 rosrun stage stageros simple.world 
\u2022 2º inicialize servido de mapa 
\u2013 rosrun map_server map.yaml 
\u2022 3º inicialize o amcl 
\u2013 roslaunch amcl amcl_diff.yaml 
57 
Atividades Práticas \u2013 Navegação 
\u2022 4º Inicialização do move_base 
\u2013 roslaunch navegacao.yaml 
\u2022 5º Inicialização do rviz 
\u2013 rosrun rviz rviz 
\u2022 Criando um launch para a navegação 
 
58 
Contatos 
 
Elerson 
elerson@dcc.ufmg.br 
Fabricio 
fabriciofc@dcc.ufmg.br 
Marcos 
mmvieira@dcc.ufmg.br 
59