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:
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.pySkip 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.
# 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.rrdUse --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:
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.
| Model | Python class | Generated descriptions |
|---|---|---|
| CR3 | DobotCR3 | cr3.urdf / cr3.srdf |
| CR3AF | DobotCR3AF | cr3af.urdf / cr3af.srdf |
| CR5 | DobotCR5 | cr5.urdf / cr5.srdf |
| CR5AF | DobotCR5AF | cr5af.urdf / cr5af.srdf |
| CR6AL | DobotCR6AL | cr6al.urdf / cr6al.srdf |
| CR7 | DobotCR7 | cr7.urdf / cr7.srdf |
| CR10 | DobotCR10 | cr10.urdf / cr10.srdf |
| CR10AF | DobotCR10AF | cr10af.urdf / cr10af.srdf |
| CR12 | DobotCR12 | cr12.urdf / cr12.srdf |
| CR16 | DobotCR16 | cr16.urdf / cr16.srdf |
| CR20 | DobotCR20 | cr20.urdf / cr20.srdf |
| CR20AF | DobotCR20AF | cr20af.urdf / cr20af.srdf |
| CR30H | DobotCR30H | cr30h.urdf / cr30h.srdf |
| ME6 | DobotME6 | me6.urdf / me6.srdf |
| Nova 2 | DobotNova2 | nova2.urdf / nova2.srdf |
| Nova 2S | DobotNova2S | nova2s.urdf / nova2s.srdf |
| Nova 5 | DobotNova5 | nova5.urdf / nova5.srdf |