Documentation
Docs FAQ & Troubleshooting
faq & troubleshooting

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.