This demo showcases the capabilities of RAI (Robotec AI) in performing manipulation tasks using natural language commands. The demo utilizes a robot arm (Franka Emika Panda) in a simulated environment, demonstrating how RAI can interpret complex instructions and execute them using advanced vision and manipulation techniques.
Note
This readme is a work in progress.
- Follow the RAI setup instructions in the main README.
- Download additional dependencies:
poetry install --with openset
-
Clone the manipulation demo repository:
git clone https://github.com/RobotecAI/rai-manipulation-demo.git src/examples/rai-manipulation-demo
-
Download the latest binary release for your ROS 2 distribution:
-
Unpack the binary:
For Humble:
unzip RAIManipulationDemo_1.0.0_jammyhumble.zip
For Jazzy:
unzip RAIManipulationDemo_1.0.0_noblejazzy.zip
-
Build the ROS 2 workspace:
colcon build --symlink-install
Note: Ensure that every command is run in a sourced shell using
source setup_shell.sh
- Start the demo
ros2 launch examples/manipulation-demo.launch.py
- Interact with the robot arm using natural language commands. For example:
Enter a prompt: Pick up the red cube and drop it on other cube
The manipulation demo utilizes several components:
- Vision processing using Grounded SAM 2 and Grounding DINO for object detection and segmentation.
- RAI agent to process the request and plan the manipulation sequence.
- Robot arm control for executing the planned movements.
The main logic of the demo is implemented in the ManipulationDemo
class, which can be found in:
examples/manipulation-demo.py