/rrbot_stack

RRbot example stack with Gazebo Sim demo

Primary LanguagePython

Stack "rrbot_stack"

This is the stack for the RRBot robot with joint control in Gazebo and visualization in Rviz. Basically, this is simple demonstration of using RRBot with Gazebo Sim and ros_controlers (gz_sim_ros_control).

It is based on examples in ros2_control_demos and ros_gz_sim_demos.

Demonstration

Demo of Robot

Repository Structure

This project has been organized in stacks for better modularity and reusability

	├──rrbot_description/ 				#contains the urdf description and and assets for robot representation in sims and ROS
  	│	└──urdf/				#contains the URDF description files of the rrbot_robot
  	├──rrbot_gazebo/ 				#contains the aditional elements for Gazebo simulation
  	│	├──worlds/ 				#basic Gazebo worlds for demonstrations
  	│	└──launch/
	│		└──rrrbot_gz_sim.launch.py		#spawn the rrbot_robot in Gazebo simulation 
  	├──rrbot_control/ 				#ros controllers for robot operation in the ROS eco-system
	│	├──rrbot_control/			#variouses nodes
  	│	├──config/				# Ros control configs and targets
  	│	└──launch/ 
	│		└──test_forward_position_controller.launch.py		#generates various joint angle targets
	│		└──rrbot_base.launch.py		#spawn the robot in rviz and gazebo with various parameters
  	├──media/  					#miscelaneous material : videos, tutos, etc...

How to use

Prepare your work environment

  • Option A : Deploy on your Linux (Ubuntu 22.04 recommended)

Install ROS2, in version Full-Desktop, install Gazebo Sim and configure your work environment
(This code has been tested on ROS2 Rolling and Gazebo Sim (ex Ignition) Fortress..

Make sure you have the necessary dependencies by typing in the terminal :
sudo apt install ros-rolling-ros2-controllers-test-nodes

Run the stack

  1. Clone this repository in you colcon workspace:
    colcon_ws/src

  2. Open a terminal in your catkin_ws:
    colcon build

  3. Launch the full demo: ros2 launch rrbot_bringup rrbot_bringup.launch.py

For your reference, the bringup file calls for : rrbot_base.launch.py and test_forward_position_controller.launch.py

At this point, tou should have Gazebo Sim and rviz windows running and see the arm move every 2 seconds.

ROS Graph

ROS_Graph

Troubleshoot

If you have error messages, you might need to install aditionnal packages

sudo apt install ros-humble-gazebo-ros
sudo apt install ros-humble-joint-state-publisher-gui
sudo apt install ros-humble-joint-state-publisher

ToDo

  • Finish readme
  • Choose license

Ressources

  1. A guide for ROS2 and Gazebo
  2. Use XACRO in ROS 2
  3. Tutorial to load URDF in ROS2and the related video
  4. ROSControl Documentation
  5. A Tutorial on ROS_COntrol in C++

License

MIT