Ros_control_boilerplate

screenshot of Ros_control_boilerplate

Provides a simple simulation interface and template for setting up a hardware interface for ros_control

Overview:

The ROS Control Boilerplate is a simple simulation interface and template for setting up a hardware interface for ros_control. This open source project was developed by PickNik Robotics to provide a starting point for creating custom hardware interfaces. The boilerplate includes features such as creating a hardware_interface for multiple joints, control of joints using the Position Trajectory Controller, loading configurations with roslaunch and yaml files, generating random trajectories, and visualization in Rviz.

Features:

  • Hardware Interface: Allows for the creation of a hardware_interface for multiple joints, making it compatible with ros_control.
  • Position Trajectory Controller: Provides control of 2 joints of the simple robot "RRBot" using a position trajectory controller.
  • Configuration Loading: Allows configurations to be loaded using roslaunch and yaml files, providing flexibility for different setups.
  • Random Trajectory Generation: Can generate random trajectories and send them over an actionlib interface for testing and demonstration purposes.
  • Partial Joint Mode Switching: Offers partial support for joint mode switching, but more improvements are needed in this area.
  • Joint Limits: Provides support for defining joint limits to ensure safe and controlled movement of the robot.
  • Pass-through Non-Physics Based Robot Simulator: Includes a non-physics based robot simulator that allows for visualization and testing without the need for physics simulation.
  • Visualization in Rviz: Allows for the visualization of the robot and its coordinate transforms in Rviz for easy debugging and analysis.

Summary:

The ROS Control Boilerplate is a versatile tool for setting up a hardware interface for ros_control. It provides various features such as creating a hardware_interface for multiple joints, control using the Position Trajectory Controller, configuration loading, random trajectory generation, joint mode switching support, joint limits, non-physics based simulation, and visualization in Rviz. The installation process is straightforward, and the boilerplate can be easily customized for different robot configurations.