ROS 2 robot description packages for BORIS and related platforms in RoboCup@Home competitions
Overview • Architecture • Installation • Usage • Development
This repository contains ROS 2 description packages for the BORIS robot and related platforms, including URDFs, meshes, launch files, configuration, and control setups. These packages provide the physical and simulation models, sensor integration, and control interfaces required for RoboCup@Home and other robotics competitions.
boris_description/ # Main robot description, URDF, launch, config
boris_head_description/ # Head and sensor description, meshes, URDF
logistic_description/ # Logistic robot variant, URDF, launch, config
sensors_description/ # Sensor integration, meshes, config, launch
shark_description/ # Shark robot variant, URDF, launch, config
boris_description/
├── CMakeLists.txt
├── package.xml
├── config/ # Controller configs
├── launch/ # Launch files
├── rviz/ # RViz configs
├── urdf/ # Xacro/URDF files
boris_head_description/
├── CMakeLists.txt
├── package.xml
├── config/ # Head controller configs
├── launch/ # Launch files
├── meshes/ # 3D models (STL/DAE)
├── urdf/ # Head URDF
logistic_description/
├── CMakeLists.txt
├── package.xml
├── config/ # Controller configs
├── launch/ # Launch files
├── urdf/ # Xacro/URDF files
sensors_description/
├── CMakeLists.txt
├── package.xml
├── config/ # Sensor configs (LIDAR, IMU, etc)
├── launch/ # Sensor launch files
├── meshes/ # Sensor meshes
├── urdf/ # Sensor Xacro/URDF files
shark_description/
├── CMakeLists.txt
├── package.xml
├── config/ # Controller configs
├── launch/ # Launch files
├── ros2_control/ # Control Xacro files
├── urdf/ # Shark Xacro/URDF files
- ROS2 Humble
- Python 3.10+
- Ubuntu 22.04
- Dependencies listed in each
package.xmlandrequirements.txt(if present)
-
Clone the repository into your ROS workspace:
cd ~/fbot_ws/src git clone <this-repo-url>
-
Install dependencies:
cd ~/fbot_ws sudo rosdep init # Skip if already initialized rosdep update rosdep install --from-paths src --ignore-src -r -y # For sensors_description: pip install -r src/sensors_description/requirements.txt
-
Build the workspace:
cd ~/fbot_ws colcon build --packages-select boris_description boris_head_description logistic_description sensors_description shark_description source install/setup.bash
Each robot and sensor package provides launch files for simulation and visualization. Example:
# Launch BORIS robot description
ros2 launch boris_description boris_description.launch.py
# Launch BORIS head controller
ros2 launch boris_head_description doris_head_controller.launch
# Launch sensors (e.g., Hokuyo, Velodyne)
ros2 launch sensors_description hokuyo.launch.py
ros2 launch sensors_description velodyne.launch.py# Open RViz with robot model
ros2 run rviz2 rviz2 -d $(ros2 pkg prefix boris_description)/share/boris_description/rviz/boris.rviz
ros2 run rviz2 rviz2 -d $(ros2 pkg prefix sensors_description)/share/sensors_description/rviz/velodyne.rviz- Create a feature branch (
git checkout -b feat/amazing-feature) - Add or modify URDF/Xacro, meshes, configs, or launch files in the appropriate package
- Update
package.xmlandCMakeLists.txtif needed - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feat/amazing-feature) - Open a Pull Request