-
Notifications
You must be signed in to change notification settings - Fork 5
littlebot_gazebo
No pacote littlebot_gazebo estão os arquivos responsáveis por lanar o modelo do robô e do mundo no gazebo.
A estrutura de diretórios do pacote littlebot_gazebo é apresentada abaixo:
littlebot_gazebo/
├── launch/
| ├── gazebo.launch
| └── littlebot_world.launch
├── world/
| └── basic.world
├── CMakeLists.txt
└── package.xml
Arquivo de configuração para o mundo ultilizado na simulação do littlebot
Launch file responsável por iniciar a simulação detales do arquivo pode ser visto abaixo:
<arg name="paused" default="false"/>
<arg name="use_sim_time" default="true"/>
<arg name="gui" default="true"/>
<arg name="headless" default="false"/>
<arg name="debug" default="false"/>
<arg name="model" default="$(find littlebot_description)/urdf/littlebot.xacro"/>
Nas primeras linhas do código são passados valores para argumentos que serão ultilizados pelos nós que serão iniciados. Os argumentos podem receber valores diferente no memento em que o launch é chamado pelo terminal, por exemplo:
roslaunch littlebot_gazebo gazebo.launch paused:=true
<include file="$(find gazebo_ros)/launch/empty_world.launch">
<arg name="world_name" value="$(find littlebot_gazebo)/worlds/basic.world"/>
<arg name="debug" value="$(arg debug)" />
<arg name="gui" value="$(arg gui)" />
<arg name="paused" value="$(arg paused)"/>
<arg name="use_sim_time" value="$(arg use_sim_time)"/>
<arg name="headless" value="$(arg headless)"/>
</include>
No código acima o mundo é lançado à simulação.
<param name="robot_description" command="$(find xacro)/xacro $(arg model)"/>
Nesta linha é carregado o modelo URDF do robô no servidor de parâmetros, assim o modelo pode ser acessado por todo o ROS, incluindo o Rviz e qualquer outro nó que preciso do modelo para funcionar corretamente
<node name="urdf_spawner" pkg="gazebo_ros" type="spawn_model" respawn="false" output="screen"
args="-z
1.0
-unpause
-urdf
-model /
-param robot_description"/>
Lança o modelo do robô, que já se encontra no servidor de parâmeros, para a simulação.
<include file="$(find littlebot_control)/launch/littlebot_control.launch"/>
Chama o launch file responsável pelo controlador da cinemática diferencial do littlebot.