Clase 09
Semana 10 - 19/05/2025
gazebosim.org
Entorno virtual que reemplaza al real
Robot simulado que reemplaza al real
joint_state_publisher_gui
Desde la linea de comando
Desde archivo launch
Se puede convertir URDF a SDF, pero se necesitan ajustes
<gazebo> .. </gazebo>
<gazebo name="[nombre_link|joint|etc]">
Requisitos:
<collision>
Deben definirse los elementos de colisión para cada link
<inertial>
Deben definirse las propiedades físicas para cada link
inertial_macros.xacro
Se facilita un archivo XACRO para el cálculo de las inercias según la geometría
<xacro:inertial_box mass="[masa_kg]" x="[largo]" y="[ancho]" z="[alto]">
<origin xyz="[traslacion]" rpy="[rotacion]"/>
</xacro:inertial_box>
<xacro:inertial_cylinder mass="[masa_kg]" radius="[radio]" length="[ancho]">
<origin xyz="[traslacion]" rpy="[rotacion]"/>
</xacro:inertial_cylinder>
Dada la descripción del robot disponible en el topic
/robot_description
(y Gazebo ejecutandose)
ros2_control
Conjunto de paquetes para desarrollar controladores genéricos para todo tipo de robots
ros2_control
+ Gazebo = gz_ros2_control
<ros2_control>
<ros2_control name="GazeboSystem" type="system">
<hardware>
<plugin>gz_ros2_control/GazeboSimSystem</plugin>
</hardware>
...
</ros2_control>
gz_ros2_control
:<state_interface ../>
<command_interface .. />
En ambos casos pueden ser:
- de posición
- de velocidad
- de esfuerzo
Ejemplo control de velocidad y sensado de posición y velocidad
<ros2_control name="GazeboSystem" type="system">
...
<joint name="[nombre_junta]">
<command_interface name="velocity">
<!-- Límite de 10 rpm -->
<param name="min">-1.047198</param>
<param name="max">1.047198</param>
</command_interface>
<state_interface name="position" />
<state_interface name="velocity" />
</joint>
...
</ros2_control>
Mediante un archivo de configuración YAML
Mediante un archivo de configuración YAML
Desde la linea de comando
$ ros2 control load_controller --set-state active
<nombre_controlador>
Desde archivo launch
ros2_control
Listar componentes de hardware disponibles
Listar interfaces de hardware disponibles
Listar controladores disponibles (para cargar)
Listar controladores cargados
Ejercicios 3 y 4
Robótica - TUAR - FICH - UNL