spawner_templateThis launch file loads the controller parameters (i.e. the given yaml file) to the Parameter Server and spawns them in the controller_manager. If specified, starts the rqt_joint_trajectory_controller GUI.
- The list of names of the controllers to be spawned (e.g. *_trajectory_controller)
- The namespace prefix (without "_controllers.yaml") of the controller configuration file, necessary with many devices (e.g. my_device if it is my_device_controllers.yaml). The file must be located in the config/ subdirectory of the selected _control package. In addition, the joint names inside should be consistent with the ones specified in the description bringup, usually the share the same namespace.
- The base package name prefix (without "_control") where controller settings are stored (e.g. qb_device if it is qb_device_control).
- Selects whether to load joint trajectory controller GUI.
qb_device_controlThis device-independent library provides all the common structures to control both the qb_hand and the qb_move devices. It exploits the qb_device_hardware_interface and thus requires all the ROS resources related to it.
Actions Called~<namespaced_action_type>_trajectory_controller/follow_joint_trajectory (control_msgs/FollowJointTrajectory)
- The control action advertised by the controller_manager relative to the controller in use.
Services Called/communication_handler/sync_nodes (qb_device_srvs/Trigger)
- Checks if all the already registered devices are completely initialized and ready for the control application; a device node is considered ready if it has requested this service at least once. The response success variable is set to true if all the control nodes are ready.
- The namespaced type of the control action advertised by the controller_manager without the "_trajectory_controller/follow_joint_trajectory" suffix (e.g. device_foo if it is device_foo_trajectory_controller/follow_joint_trajectory).
- The duration of the control loop, in [s].
- The list of waypoint. Each contains a time array, which can be either a single value or an interval for which all the specified joint_positions hold, and a joint_positions map, which pairs contain the device namespace (i.e. the map key) associated with the relative joint positions array. If a namespace used before is not specified for a given waypoint, it is assumed that it does not change the device configuration. Nonetheless for critical applications it is recommended to specify every namespaces to avoid interpolation approximations.