robotics
v1.0.42
Published
Robotics.dev ROS2 robot controller and video + telemetry streaming
Downloads
1,814
Maintainers
Readme
Robotics.dev ROS2 Robot Controller
Communicate with and control your AI-powered ROS2 robots remotely (via cloud and edge). Stream your robot's camera video and ROS2 telemetry to AI algorithms running elsewhere which in turn evaluate and send ROS2 communications back to the robot accordingly. Our goal is to create a simple yet powerful robotics developer platform where robots running on the edge do not require much computing power while making it easier for developers to build and interact with their robots.
Developer REST API documentation available at https://robotics.dev.
Requirements:
- Ubuntu (24.04 tested. It may also work on Ubuntu 22 and/or Raspberry OS)
- NodeJS (22.11.0 tested.)
- ROS2 (Jazzy tested.)
Supports:
- Raspberry Pi 3,4,5
- Raspberry Pi Zero and Zero 2
- Radxa X2L and X4 (via firmata)
- Latte Panda (via firmata)
- Any Arduino device (via firmata) attached to Intel NUC or NVidia Jetson
You need to start by giving your username (i.e. ubuntu) access to your micro controller serial ports by running the following command and rebooting:
sudo usermod -a -G dialout ubuntu
sudo reboot
Next, install robotics NPM module globally, get your robot's ID, and add your robot to your https://robotics.dev account.
npm install -g robotics
robotics id
Note: Your robot's ID is stored in ~/.config/configstore/robotics.json
Next, connect your robot to robotics.dev, start your motors, start your camera!
robotics connect/disconnect
robotics start/stop motors
robotics start/stop camera
Your robot is now online. You can teleop remote control it from our Web site, control it with WebSocket and REST APIs, and even write AI apps to sense and control your robot from other non-ROS machines and/or LLMs in the cloud!
Robotics CLI Commands:
| Command | Options | Results | |-----------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------| | robotics help | | Returns this list | | robotics id | | Returns robot’s uuid | | robotics connect | -s 192.168.0.6.3001 (default = robotics.dev ) | Connects robot to cloud or hub | | robotics disconnect | | Disconnects robot to cloud or hub | | robotics start motors | —b rpi (DEFAULT) or -b firmata (Radxa, LattePanda) -p 27,22,17,18 (left to right motor pins) -e 13,2,12,11 (left to right motor encoder pins) -d /dev/ttyACM0 (overrides default device id for radxa and lattepanda) | Starts ROS2 motor controller | | robotics stop motors | | Stops ROS2 motor controller | | robotics start camera | -d /dev/video4 (Realsense RGB) (default = /dev/video0) | Starts 2D camera stream | | robotics stop camera | | Starts 2D camera stream | | robotics status | | Lists services running |