This project uses ROSA to create an embodied ROS agent that enables controlling an iRobot Create® 3 robot using natural language commands.
It supports both physical Create 3 robots and simulation via the Create 3 Simulator.
- Natural language control of Create 3 movement and actions via text or verbal commands
- Integrated with ROSA's language understanding capabilities
- Works with iRobot Create 3 in a simulation or real environment
This package was developed and tested on Windows 10 running a virtual machine (via VirtualBox). For a complete written step-by-step environment setup installation guide that includes a ISO image with ROS 2 Humble preinstalled, refer to this doc.
- Ubuntu 22.04
- ROS 2 Humble
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc
- Python 3.10+
- OpenAI and HuggingFace inference API Keys // TODO: add details
- Create 3 ROS 2 interface. See Setup and Build Workspace.
- Simulator or physical robot
- If you have the iRobot Create® 3, follow these steps to set it up and connect to the network.
- Otherwise, the Create 3 Simulator. See Setup and Build Workspace.
mkdir -p create3_ws/src
cd create3_ws/src
git clone https://github.com/supertechft/ROSA_Create3_Agent
cd ..
rosdep install --from-paths src --ignore-src -r -y
colcon build
source install/setup.bash
- Follow these ROSA Custom Agents and Developer Documentation guides.
- Ensure prompts are similar to TurtleSim.
- Create3 ROS 2 documentation.
- Use iRobot Create 3 Simulator for testing.
- Follow ROS 2 Tutorials.
Launch simulator + agent together
ros2 launch create3_agent agent_launch.py
This will:
- Start the Create 3 simulation in an empty world
- Start the ROSA agent connected to the Create 3 topics
Once running, you can issue commands in natural language (e.g., "Drive forward", "Turn left", "Dock with the charger").
! TODO !
rosa_create3_agent/
├── launch/ # Launch files
├── rosa_create3_agent/ # Agent code (agent node, tools, prompts)
├── package.xml # ROS 2 package manifest
├── setup.py # Python package setup
├── README.md # This file
└── LICENSE # License
This project is licensed under the Apache-2.0 license.
- NASA JPL - ROSA framework
- iRobot - Create® 3 Robot