Skip to content

bender_gazebo

Jackerz312 edited this page Jan 23, 2019 · 5 revisions

bender_gazebo

El package bender_gazebo contiene archivos necesarios para la simulación del robot Bender en Gazebo.

Imagen AQUI

Requisitos

  • Ubuntu 14.04 (Trusty)
  • ROS Indigo

Instalación

Instalar dependencias

cdb base
rosdep install --from-paths src --ignore-src --rosdistro=indigo -y

Añadir OSRF PPA (Ubuntu 14.04 Trusty, ROS Indigo) e instalar Gazebo 7

En ROS Indigo usa por defecto Gazebo 2, para obtener nuevas funcionalidades es recomendable usar Gazebo 7, para instalarlo desde apt-get es necesario instalar el PPA.

sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu trusty main" > /etc/apt/sources.list.d/gazebo-latest.list'
wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
sudo apt-get update

Para desinstalar por completo Gazebo 2 usar:

sudo apt-get purge gazebo2 libsdformat-dev libsdformat1 ros-indigo-gazebo-msgs ros-indigo-gazebo-plugins ros-indigo-gazebo-ros ros-indigo-gazebo-ros-control ros-indigo-gazebo-ros-pkgs

Finalmente, para instalar Gazebo 7 ejecutar en el terminal:

sudo apt-get install gazebo7 gazebo7-common gazebo7-plugin-base libgazebo7 libgazebo7-dev libsdformat4 libsdformat4-dev ros-indigo-gazebo7-msgs ros-indigo-gazebo7-plugins ros-indigo-gazebo7-ros ros-indigo-gazebo7-ros-control ros-indigo-gazebo7-ros-pkgs sdformat-sdf 

Instalar modelos propios

Se deben instalar modelos básicos en ~/.gazebo/models.

cdb base
#version anterior: bash bender_core/bender_sim/bender_gazebo/install/install.sh
bash bender_core/bender_description/install/install.sh 

Error "No namespace found" en Gazebo

Usualmente sucede al no tener acceso a la descarga de modelos desde la base de datos online o no existe la carpeta ~\.gazebo\models. Una vez se han descargado los modelos básicos, el programa iniciará de forma normal.

Simulación

La simulación en Gazebo incluye controladores de brazos, grippers, base, cabeza, sensores laser (Hokuyo) y RGBD (Asus Xtion). Para lanzar Gazebo se debe ejecutar:

#version anterior: roslaunch bender_gazebo bender.launch 
roslaunch bender_bringup gazebo.launch

Parametros:

  • gui (default="true") Abrir visualizacón de simulación (gzclient).
  • rqt_gui (default="false") Abrir commandos gráficos para control de base y brazos.
  • worldname (default="empty") Carga un mapa o modelo desde /bender_gazebo/gazebo_models en Gazebo.
  • model_type (default="light_head" ["asus","kinect","light_head","both"]) Tipo de modelos del robot.

Ejemplo: Ejecutar simulación con mapa AMTC, visualización en RViz y modelo light_head.

roslaunch bender_gazebo bender.launch worldname:=amtc
roslaunch bender_utils rviz.launch

Interfaces

Los tópicos y sensores poseen el mismo nombre y tipo que el robot real, por lo que algoritmos de navegación y planificación de brazos deberían presentar un comportamiento similar.

Interfaz Tipo Tópico
Brazos Action server control_msgs/FollowJointTrajectory /bender/r_arm_controller/follow_joint_trajectory
Grippers Action server control_msgs/GripperCommand /bender/r_gripper_controller/gripper_action
RGBD Publisher sensor_msgs/PointCloud2 /bender/sensors/rgbd_head/depth/points
RGB Publisher sensor_msgs/Image /bender/sensors/rgbd_head/rgb/image_raw
Lasers Publisher sensor_msgs/LaserScan /bender/sensors/laser_front/scan
Base Suscriber geometry_msgs/Twist /bender/nav/base/cmd_vel
Odometría Publisher nav_msgs/Odometry /bender/nav/odom