A-750 Robotic Arm
Support for the A-750 robotic arm includes visualization, an adapter to talk to real hardware, and keyboard teleop blueprint.Quick Start
Run the A-750 teleop stack in mock mode:
Open the Meshcat URL printed in the terminal, usually
http://localhost:7000, to view the robot.
Real Hardware
The A-750 blueprint uses the mock adapter by default. Start by connecting the arm to your computer with a USB cable. On Linux, the device will likely appear as/dev/ttyACM0. You can also check /dev/serial/ for stable symlinks to connected serial devices.
Pro tip: run this in a separate terminal while plugging in the arm to verify that the OS detects it normally:
dialout group:
DEVICE_PATH when launching the blueprint:
Robot Model
The robot model and hardware config are defined indimos/robot/manipulators/a750/config.py.
The runnable keyboard teleop stack is composed in
dimos/robot/manipulators/a750/blueprints/teleop.py.
The no-gripper model is used for Pinocchio FK/IK inside the coordinator’s EEF twist task because Pinocchio does not consume the xacro path used by the full robot description. Keyboard teleop does not load the model directly.
Gripper
The blueprint configures a parallel-jaw gripper:
The adapter reads and commands gripper position in meters using the
a750_control Python binding.
Hardware Adapter
The adapter is registered asa750 in dimos/hardware/manipulators/a750/adapter.py.
It supports:
The
a750_control package starts a separate thread with real-time priority for its hardware control loop. That loop sends commands and reads back joint state at 1 kHz. The DimOS read_joint_positions, read_joint_velocities, and read_joint_efforts calls return the most recent data cached by that loop rather than synchronously querying the robot, so returned joint data may be up to 1 ms stale. The USB connection also adds roughly 1 ms of latency.
The adapter requires the optional manipulation dependency:
a750_control is not installed, connect() records an error and returns False.
Control Path
Thekeyboard-teleop-a750 blueprint is defined in
dimos/robot/manipulators/a750/blueprints/teleop.py.
a750_control binding runs its hardware control loop at 1 kHz once the adapter is enabled.
Keyboard Controls
The A-750 teleop command uses the same keyboard controls as the other manipulator teleop blueprints:Known Limitations
- Joint limits are currently approximate:
[-pi, pi]for each arm joint, with max velocitypi rad/sin the DimOS adapter. - EEF twist commands are integrated and solved by the DimOS coordinator task, not by a native Cartesian mode in the hardware adapter.
- Force/torque data is not exposed yet.
- Real hardware mode depends on the external
a750_controlpackage and a reachable serial device.
