Welcome to the ROS 2 Mobile Manipulator project! This repository provides a comprehensive set of tools and configurations to operate and control a mobile manipulator robot using ROS 2. The mobile manipulator integrates a mobile base with an articulated robotic arm, making it suitable for various tasks such as object manipulation, navigation, and automated tasks in dynamic environments.
- Mobile Base Integration: Interface with a mobile base for autonomous navigation.
- Articulated Arm Control: Manipulate objects with a robotic arm using inverse kinematics and trajectory planning.
- Sensor Integration: Utilize sensors like cameras and LIDAR for perception and environment mapping.
- Simulation Support: Test and develop algorithms in a simulated environment using Gazebo.
- Navigation Stack: Leverage the Nav2 stack for autonomous navigation and path planning.
- Visualization: Use RViz for visualization of robot states, sensor data, and planning.
Before you begin, ensure you have the following dependencies installed:
- ROS 2 Humble Hawksbill: Installation instructions.
- Colcon: Build tool for ROS 2 workspaces. Installation instructions.
- Python 3: Required for various ROS 2 tools and scripts.
- Gazebo: For simulation purposes. Installation instructions.
- C++: Required for building C++ nodes and libraries. Ensure you have a compatible compiler installed (e.g., GCC for Linux).
- CMake: Build system for configuring and generating build files. Installation instructions.
- RViz: Visualization tool for ROS. Installation instructions.
- Nav2: Navigation stack for autonomous robots. Installation instructions.
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws/src
git clone https://github.com/fouad-smaoui/ros2-mobile-manipulator.git
colcon build
source ~/ros2_ws/install/setup.bash
To start the mobile manipulator and display the URDF model, use the following command:
ros2 launch urdf_tutorial display.launch.py model:=/ros2_ws/src/robot_description/urdf/mobile_m
This project is licensed under the Creative Commons CC0 1.0 Universal (CC0 1.0) Public Domain Dedication. See the LICENSE file for details.
For any questions or support, please open an issue on the GitHub repository.