First Reach: Cartesian Control
Move the gripper to a specific coordinate using Inverse Kinematics (IK) and keyboard input.
Outcome
Successfully navigate the gripper to a physical object on your desk, confirming the full IK-to-Servo control pipeline is functional.
Concepts
- End-Effector (EE) vs. Joint Control
- Analytical Inverse Kinematics
- Real-time Serial Communication
Prerequisites
xlerobot-prorepository installed.- Motors configured with unique IDs (1-6).
- Verified: Joint control script runs without errors.
Instructions
1. Grant Serial Permissions
Ensure your compute node has permission to talk to the motor controllers over USB.
$ sudo chmod 666 /dev/ttyACM*
2. Launch the EE Control Script
Run the script that initializes the Analytical IK solver and waits for keyboard input.
3. Reach a Physical Target
Place a small object (like a cup or bottle) approximately 15-20cm in front of the robot base.
| Key | Action |
|---|---|
| W / S | Move Forward / Backward (X-axis) |
| A / D | Move Left / Right (Y-axis) |
| R / F | Move Up / Down (Z-axis) |
| Space | Toggle Gripper (Open/Close) |
Expected Output & Validation
The arm should move in straight lines relative to the table. Accuracy should be within 1–2 cm of the target object.
The terminal will print live [X, Y, Z] coordinates. Ensure the coordinates update as you press keys.
Troubleshooting
Arm jerks or moves wildly? This is usually a Motor ID mismatch or a reversed servo horn. Double check the Motor Configuration guide.