Skip to content

Visualize in Rerun

SUMMARY

Visualize in Rerun streams the robot (and any attached gripper) into a Rerun viewer — static meshes logged once, then link transforms and TCP frame axes updated on every call. No connection to real hardware is required; it runs directly off the kinematic model.

The Skill

python
robot.visualize_rerun()
A UR10e manipulator streamed live into the Rerun viewer with its tool0 frame axes drawn

Parameters

ParameterTypeDefaultDescription
axis_lengthfloat0.05Length in meters of the TCP frame axis arrows drawn for the default and any custom TCPs.
recording_streamrr.RecordingStream | NoneNoneAn existing Rerun recording stream to log into. If None, a new viewer is spawned automatically via rr.init(..., spawn=True).

The Code

python
"""
Visualize a robot in Rerun.

Supports Universal Robots (UR), Epson, and virtual.

Usage:
    python visualize.py
"""
from telekinesis.synapse.robots.manipulators import universal_robots


def main():
    """Visualize the robot live in Rerun."""

    #===================== Create Robot ==========================================
    robot = universal_robots.UniversalRobotsUR10E(name='UR10e')

    # ==================== Run Skill ============================================
    robot.visualize_rerun(live=True)


if __name__ == "__main__":
    main()

Parameter Configuration

ParameterTypeDefaultDescription
axis_lengthfloat0.05Length in meters of the TCP frame axis arrows drawn for the default and any custom TCPs.
recording_streamrr.RecordingStream | NoneNoneAn existing Rerun recording stream to log into. If None, a new viewer is spawned automatically via rr.init(..., spawn=True).
liveboolTrueWhether to subscribe to the robot's state topic and redraw automatically as it moves. Pass False to draw a single static frame.
update_rate_hzfloat30.0Maximum redraws per second when live=True, capping how often the state topic's messages trigger a Rerun log call.

Returns

TypeDescription
NoneLogs directly to the Rerun recording stream (spawned or provided) as a side effect.

Where to Use the Skill

  • Live debugging - Watch the robot move through a motion sequence without opening a real viewer window per script.
  • Digital twin - Pair with the Get Publisher Hz skill to visualize a robot that is being driven from a separate process.
  • Recording & playback - Pass a shared recording_stream to log multiple robots or sessions into the same .rrd file for later review.

When Not to Use the Skill