A collection of ROS2 packages for the ODRI Dual Motor Test Bed
ROS version | Branch |
---|---|
ROS2 | ros2 |
ROS1 | ros1 |
This repository contains ROS2 packages for the Open Dynamic Robot Initiative Dual Motor Test Bed. It is based on odri_dual_motor_testbed_robot.
It is currently composed of the follwing packages:
-
testbed_control: ros2_control algorithms for the Test Bed.
-
testbed_description: XACRO/URDF, meshes and launch files for loading and debugging.
-
testbed_gazebo: integration with Gazebo (modern/Ignition).
-
testbed_hw: hardware integration based on ros2_hardware_interface_odri
This repo is composed by a collection of ROS2 packages.
- A ROS2 workspace (colcon)
- See this tutorial to learn how to create your own workspace.
- IMPORTANT: elevated privileges
- If you plan on using the real hardware (ODRI Master Board), it communicates with the host computer using network interfaces (Ethernet or WiFi), which in turn requires elevated privileges.
- Running only the hardware interface nodes using sudo will cause another problem: the ROS2 network will not work properly due to DDS user isolation.
- Thus, the easiest and recommended workaround is to run the packages as root. Development is made using Docker, which enables this configuration using the Dockerfile command below:
USER root
As mentioned above, this repo contains multiple ROS2 packages. Thus, you simply have to clone it inside your workspace's src directory, making sure to use the ros2 branch.
cd <path_to_your_ros2_ws>/src
git clone -b ros2 https://github.com/leggedrobotics-usp/testbed_ros.git
Then, use colcon to build.
cd <path_to_your_ros2_ws>
colcon build --symlink-install
Most packages have launch files encompassing their features. Check individual README files when available for more detailed information.
Want something more for the ODRI Dual Motor Test Bed? Open an Enhancement issue describing it.
- Fork the repo
- Check out a new branch based and name it to what you intend to do:
-
git checkout -b BRANCH_NAME
-
- Commit your changes
- Please provide a git message that explains what you've done;
- Commit to the forked repository.
git commit -m "A short and relevant message"
- Push to the branch
-
git push origin BRANCH_NAME
-
- Make a pull request!
Victor T. N. 🤖
Made with ❤️ by @Vtn21
Open Dynamic Robot Initiative
Designers of the Dual Motor Test Bed