FAQ & Troubleshooting
The questions we hear most from new integrators, grouped by what's actually going wrong. Each one links back to the full explanation elsewhere in the docs.
Connectivity
I can't see any /buildo topics from my workstation
Almost always a domain or network mismatch. Check, in order: your workstation's ROS_DOMAIN_ID matches the robot's (echo $ROS_DOMAIN_ID on both),
you're on the same subnet as the robot, and the network isn't blocking DDS multicast —
corporate and guest Wi-Fi are the most common culprits, a direct Ethernet link or a simple
home router are the most reliable. ros2 doctor --report flags a domain ID mismatch directly.
ros2 node list shows the robot's nodes, but a topic won't echo
Usually a QoS mismatch rather than a connectivity problem — your subscriber's
reliability has to match the publisher's. Check the reliability column in the Conventions table; it trips people up most often
on joint_states, which publishes best-effort.
Can I run more than one Buildo on the same network?
Yes — give each unit its own ROS_DOMAIN_ID. Topics stay under the /buildo namespace on every unit, so domain separation (not topic renaming) is
what keeps them from colliding. See Software stack.
Motion & control
A trajectory goal gets rejected or aborted immediately
Two usual causes: the goal asks for more torque than the per-joint limit allows, in which case the hardware interface clamps it before it ever executes; or MoveIt's collision checking rejected the plan against the self-collision matrix or the head camera's octomap — see Manipulation: MoveIt 2.
Simulation
My controller works in Gazebo but not on hardware
Only the ros2_control hardware plugin swaps between simulated and physical
— everything above that layer is identical, so this is almost always a controller
relying on an idealized sensor Gazebo provides that the real camera or encoders don't quite
match. See Simulation for what each backend is actually
good for; MuJoCo is the closer match for contact-heavy manipulation testing.
Firmware & versioning
Do I need to recalibrate after a firmware update?
Run /buildo/calibrate_arm on any arm whose firmware changed. Updates hold the
robot in STANDBY and won't start mid-motion, but encoder calibration isn't
guaranteed to survive every firmware revision — see Firmware updates.
Which ROS 2 distro should I run?
Jazzy Jalisco for a new deployment — it's what we test against first. Humble Hawksbill if you need to match an existing fleet on the LTS release; both are fully supported. See Software stack.
Still stuck?
Email developers@starforgerobotics.com with the output of ros2 doctor --report and your firmware version (ros2 run buildo_firmware version) — see Support & resources for everything else we ask
for.