Overview
FERAL treats robots as first-class hardware nodes. Any actuator — robotic arms, mobile platforms, drones, custom builds — can connect to the brain through the Hardware Unified Protocol (HUP). The brain sends commands, receives sensor data, and can orchestrate multi-robot workflows through natural language.Architecture
Robot Node Template
The Python SDK includes a robot template that handles HUP registration, command dispatch, and sensor reporting:robot_node.py
HUP Device Manifest
Every robot must declare a manifest when it connects to the brain:ROS Bridge
For ROS-based robots, FERAL provides a bridge node that translates between HUP and ROS topics:Serial & I2C Adapters
For microcontroller-based robots (Arduino, ESP32), use the serial or I2C adapter:Example: Commanding a Robot Arm
Once connected, control the robot through natural language:Multi-step robot operations require hybrid or loose autonomy mode. In strict mode, each step requires approval.
Troubleshooting
Robot node won't connect to brain
Robot node won't connect to brain
Verify the brain is running with
feral status and that hup_port (default 9091) is accessible. Check firewall rules.Commands time out
Commands time out
The default command timeout is 10 seconds. For slow actuators, increase it in the node config or return an async acknowledgment.
ROS bridge can't find topics
ROS bridge can't find topics
Ensure
roscore is running and the topics exist. Run rostopic list to verify.