Create LLM agent for your robot. Connect movement tools, VLA policies and sensor scans just in a few lines of code.
RoboCrew agent cleaning up a table.
Run on your robot:
pip install robocrewStart GUI app with:
robocrew-gui- ๐ Movement - Pre-built wheel controls for mobile robots
- ๐ฆพ Manipulation - VLA models as tools for arms control
- ๐๏ธ Vision - Camera feed with image augmentation for better spatial understanding
- ๐ค Voice - Wake-word activated voice commands and TTS responses
- ๐บ๏ธ LiDAR - Top-down mapping with LiDAR sensor
- ๐ง Intelligence - Multi-agent control provides autonomy in decision making
- โ XLeRobot - Full support for all features
- ๐ฅ LeKiwi - Use XLeRobot code (compatible platform)
- ๐ Earth Rover mini plus - Full support
- ๐ More robot platforms coming soon! Request your platform โ
The RoboCrew Intelligence Loop:
- ๐ Input - Voice commands, text tasks, or autonomous operation
- ๐ง LLM Processing - LLM analyzes the task and environment...
- ๐ ๏ธ Tool Selection - ...and chooses appropriate tools (move, turn, grab an apple, etc.)
- ๐ค Robot Actions - Wheels and arms execute commands
- ๐น Visual Feedback - Cameras capture results with augmented overlay
- ๐ Repeat - LLM evaluates results and adjusts strategy
To gain full control over RoboCrew features, you can create your own script. Simplest example:
from robocrew.core.camera import RobotCamera
from robocrew.core.LLMAgent import LLMAgent
from robocrew.robots.XLeRobot.tools import create_move_forward, create_turn_right, create_turn_left
from robocrew.robots.XLeRobot.servo_controls import ServoControler
# ๐ท Set up main camera
main_camera = RobotCamera("/dev/camera_center") # camera usb port Eg: /dev/video0
# ๐๏ธ Set up servo controller
right_arm_wheel_usb = "/dev/arm_right" # provide your right arm usb port. Eg: /dev/ttyACM1
servo_controler = ServoControler(right_arm_wheel_usb=right_arm_wheel_usb)
# ๐ ๏ธ Set up tools
move_forward = create_move_forward(servo_controler)
turn_left = create_turn_left(servo_controler)
turn_right = create_turn_right(servo_controler)
# ๐ค Initialize agent
agent = LLMAgent(
model="google_genai:gemini-3-flash-preview",
tools=[move_forward, turn_left, turn_right],
main_camera=main_camera,
servo_controler=servo_controler,
)
# ๐ฏ Give it a task and go!
agent.task = "Approach a human."
agent.go()Use voice to tell robot what to do.
๐ Docs: https://grigorij-dudnik.github.io/RoboCrew-docs/guides/examples/audio/
๐ป Code example: examples/2_xlerobot_listening_and_speaking.py
Let's make our robot manipulate objects with its arms!
๐ Docs: https://grigorij-dudnik.github.io/RoboCrew-docs/guides/examples/vla-as-tools/
๐ป Code example: examples/3_xlerobot_arm_manipulation.py
One agent plans mission, another controls robot.
๐ Docs: https://grigorij-dudnik.github.io/RoboCrew-docs/guides/examples/multiagent/
๐ป Code example: examples/4_xlerobot_multiagent_cooperation.py
- ๐ญ Join our Discord - Get help, share projects, discuss features
- ๐ Read the Docs - Comprehensive guides and API reference
- ๐ Report Issues - Found a bug? Let us know!
- โญ Star on GitHub - Show your support!
โค๏ธ Special thanks to all contributors and early adopters!



