Skip to content

Dobot Setup ​

Synapse provides offline kinematics and visualization wrappers for all 17 models in the official Dobot ROS 2 repository. Each model has six joints. Physical robot control is not implemented.

Install and prepare descriptions ​

Run these commands from the telekinesis-examples repository root:

powershell
conda activate synapse
python -m pip install --upgrade telekinesis-synapse xacro
git clone --depth 1 https://github.com/Dobot-Arm/DOBOT_6Axis_ROS2_V4.git .cache/DOBOT_6Axis_ROS2_V4
python examples/robotics/manipulators/dobot/prepare_dobot.py
python examples/robotics/manipulators/dobot/visualize_rerun.py

Skip the clone command if the checkout already exists. ROS is not required. The gallery supports the Synapse 0.10.8 wheel using its bundled Dobot wrappers when the installed package does not yet include the new module.

The converter writes all 17 URDFs and upstream MoveIt SRDFs to .cache/dobot, along with a manifest recording the upstream commit. Mesh paths point into the cloned repository: keep the checkout and regenerate descriptions if it moves. The SRDFs supply disabled self-collision pairs to Synapse's kinematic model. Simulator plugins are removed, and Nova2S's invalid material alpha of 50 is clamped to 1 in the generated URDF. Upstream files remain unchanged.

View all models in Rerun ​

The gallery places all models in a labeled grid with separate entity paths. It checks six joints, seven visual meshes, and finite mesh transforms per model, then saves .cache/dobot/all_dobot.rrd and opens the viewer.

powershell
# Save the recording without opening a viewer.
python examples/robotics/manipulators/dobot/visualize_rerun.py --headless

# Open a previously generated recording.
python -m rerun .cache/dobot/all_dobot.rrd

Use --description-dir for another generated-description directory and --save for another recording destination.

Use a model in Python ​

With a Synapse build containing the new dobot module:

python
from telekinesis.synapse.robots.manipulators.dobot import DobotCR5

robot = DobotCR5(description_dir=".cache/dobot")
robot.visualize_rerun(live=False)

Pass description_dir or set DOBOT_DESCRIPTION_DIR to an absolute directory when running outside the repository root. Models use Link6 as their default TCP and start at zero joint angles. Hardware connection and controller motion methods raise NotImplementedError.

Supported models ​

All classes below are registered in Synapse's manipulator registry in the build containing the Dobot integration. Manufacturer payload, reach, and accuracy specifications are not inferred from the model names or URDFs.

ModelPython classGenerated descriptions
CR3DobotCR3cr3.urdf / cr3.srdf
CR3AFDobotCR3AFcr3af.urdf / cr3af.srdf
CR5DobotCR5cr5.urdf / cr5.srdf
CR5AFDobotCR5AFcr5af.urdf / cr5af.srdf
CR6ALDobotCR6ALcr6al.urdf / cr6al.srdf
CR7DobotCR7cr7.urdf / cr7.srdf
CR10DobotCR10cr10.urdf / cr10.srdf
CR10AFDobotCR10AFcr10af.urdf / cr10af.srdf
CR12DobotCR12cr12.urdf / cr12.srdf
CR16DobotCR16cr16.urdf / cr16.srdf
CR20DobotCR20cr20.urdf / cr20.srdf
CR20AFDobotCR20AFcr20af.urdf / cr20af.srdf
CR30HDobotCR30Hcr30h.urdf / cr30h.srdf
ME6DobotME6me6.urdf / me6.srdf
Nova 2DobotNova2nova2.urdf / nova2.srdf
Nova 2SDobotNova2Snova2s.urdf / nova2s.srdf
Nova 5DobotNova5nova5.urdf / nova5.srdf