[Documentation] [TitleIndex] [WordIndex

Only released in EOL distros:  

Package Summary

This package contains the different controllers and launch files for the Amigo simulation. To communicate with the gazebo simulator in real-time, the pr2_controller_manager infrastructure is used. A schematic overview is given in figure below:

alt text

The file controller_plugins.xml connects the libamigo_controllers library, which includes the different controller classes, to the pr2_controller_manager. With use of the spawner node in the pr2_controller_manager package, instances of these controllers can be spawned that have the possibility to communicate with the gazebo simulation.

Controllers

Functionally the controllers manage Amigo's movement in simulation, that is to make sure its movements are as fast and precise as possible given the physical and practical limits. The controller library contains different controller classes that are used to spawn controllers which are configured with use of the parameter files from the package amigo_controller_configuration_gazebo. The different controller classes are as follows:

BaseOdometry

Publishes the odometry data of Amigo.

Published Topics

/tf (tf/tfMessage) /odom (nav_msgs/Odometry)

BaseController

Controller that makes it possible to move the base of Amigo with use of velocity messages. It listens to twist messages and computes the efforts that needs to be put on the wheels.

Subscribed Topics

/cmd_vel (geometry_msgs/Twist)

PositionController

Generic controller which parses sensor_msgs/JointState messages and calculates the torques / forces on the corresponding joints. The controller also returns the current position of the joints as sensor_msgs/JointState messages. This generic controller is used as arm, gripper, spindle and head controller.

Subscribed Topics

/(controller_name)/references (sensor_msgs/JointState)

Published Topics

/(controller_name)/measurements (sensor_msgs/JointState)

Additional documentation of the c++ files can be found as doxygen at <INSERT LINK HERE>

Launch files

start.launch

This file loads the amigo_description, spawns it in gazebo and launches the gazebo-gui. Furthermore, it starts the pr2_controller_manager followed by the amigo simulation controllers (controllers.launch).

controllers.launch

This file loads the parameter files from the amigo_controller_configuration_gazebo package and spawns the following controller nodes that communicate with the simulator via the pr2_controller_manager :


2019-11-16 12:38