
A ROS 2 world system for robotics applications featuring new poses.
Overview • Architecture • Installation • Usage • fbot_world message and services • Contributing
fbot_world
is a ROS 2 package for managing poses in world map scenarios. It allows loading and saving poses for reuse across different robotic applications.
It was designed for the RoboCup@Home and the robot BORIS competition but is adaptable to various robotics scenarios.
The system consists of three main packages:
fbot_world/
├── 📁 fbot_world/ # Core fbot_world files
| ├── 📁 fbot_world/ # node files
│ ├── 📁 launch/ # launch files
│ ├── 📁 scripts/ # script files
└── 📁 fbot_world_msgs/ # Custom ROS message definitions
- ROS2 Humble
- Python 3.10+
- Ubuntu 22.04
- Dependencies listed in
package.xml
andrequirements.txt
-
Clone the repository into your ROS workspace:
cd ~/fbot_ws/src git clone https://github.com/fbotathome/fbot_world.git
-
Install dependencies:
cd ~/fbot_ws sudo rosdep init # Skip if already initialized rosdep update rosdep install --from-paths src --ignore-src -r -y pip install -r src/fbot_world/requirements.txt
-
Build the workspace:
cd ~/fbot_ws colcon build --packages-select fbot_world fbot_world_msgs source install/setup.bash
# Launch pose node
ros2 launch fbot_world pose.launch.py config_file_name:=file_name_without_dot_yaml
# Launch YOLO tracker with pose estimation
ros2 run fbot_world pose_writer
Service | Type | Description |
---|---|---|
/fbot_world/get_pose |
GetPose |
Service callback to return the pose and size for a requested target key |
/fbot_world/get_set |
GetPoseFromSet |
Service callback to return all poses for a requested group name key |
/fbot_world/get_groups_names |
GetSets |
Service callback to return all gorup names in redis |
- Create a feature branch (
git checkout -b feat/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feat/amazing-feature
) - Open a Pull Request