Build for OpenVibe.Bot
OpenVibe.Bot drives a robot from its profile. Two things are open to build against: the driver — a separate program the OpenVibe Node runs — and the profile, the JSON that turns a driver's capabilities into a panel.
Write a driver
A driver is a separate program the OpenVibe Node starts and talks to in JSON lines over stdin/stdout. It can be written in any language. It may run on the robot (on-board), on a computer beside it (a bridge), or be attached by Bot itself on the server — the same protocol either way.
Write a driver covers the lifecycle, every message, the safety rules, a minimal Python driver, and how to test and contribute it.
Robot profiles
A profile (bot.robot-profile@1) says what the robot can do, which commands its driver accepts, and which widgets the panel shows. The panel is a function of the profile: a new robot needs a profile, not code.
Robot profiles lists the fields, shows a full example, and has a validator for a profile you paste.
Automate a robot
Routines, webhooks and your agent: steps on a schedule, signed event deliveries to your server, and letting your OpenVibe.Actor agent drive.
Your computer for your agents
Your computer: the Node's computer plugin, its levels, approvals on the computer, and the API.
Robots
Add a robot and drive it from any browser. The Simulated rover runs inside Bot with no hardware, so you can see your profile's panel before anything is wired up.
Where things live
- The OpenVibe Node (OpenVibers/OpenVibe.Node) is the agent on the robot's machine: it pairs, holds the control link, and runs the drivers.
- Drivers are Node plugins (plugins/), written against the Python runtime openvibe_plugin or any language over the raw protocol.
- Bundled drivers: dryrun, adeept_adr036, cozmo, relay and ros2 (any ROS 2 robot on
cmd_vel, through rosbridge or rclpy; profilesros2.diffdriveandros2.holonomic, installer--driver ros2). LOOI's driver is written by LOOI owners against the contract in docs/hardware-looi.md (profilelooi, installer--driver looi). - Profiles ship in this repository (GET /api/v1/profiles) and are validated by the same loader the pages use.
The Node and its bundled drivers are in OpenVibers/OpenVibe.Node; the full protocol is protocol.md and the plugin contract is plugins.md.