Skip to main content
Most people only need the ROS 2 bridge. Use these classes when you want to build your own ROS 2 node instead.

ROS2FollowerAdapter

Use this on the robot machine.
JointRanges
required
How far each joint can move. See JointRanges.
callable
required
Called with each command, as {joint: position} in your topic’s units. Send it to your robot from here.
object
Holds the robot’s latest joint positions, filled by your subscription. See the example.
any
Any argument of Follower, such as safety or cameras.

ROS2LeaderAdapter

Use this on the operator machine. It takes the same ranges and latest, but no sink.
any
Any argument of Leader.

JointRanges

How far each joint can move on this machine’s arm, in your topic’s units.
Use the same joint names, in the same order, on both machines.

Example

A follower node. The subscription stores the robot’s position in latest, and the adapter sends commands through send. Export ZERORUNTIME_AUTH_TOKEN and ZERORUNTIME_MEETING_ID first, or pass meeting_id= and token= to the adapter.
follower_node.py
start() joins the room, and the timer calls tick() to run the control loop.

What’s next

Follower

All the arguments the follower takes.

ROS 2 bridge

The ready-made bridge built on these classes.