2.5k
GitHub Stars
2
Bundled Files
2 months ago
Catalog Refreshed
3 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill openclaw/skills --skill soarm-control- _meta.json282 B
- SKILL.md4.3 KB
Overview
This skill controls the SOARM101 robotic arm for precise motion and state inspection. It provides coordinate-based end-effector driving, direct joint-angle commands, and status/disable utilities. The skill is implemented as Python scripts that run in a dedicated conda environment and use inverse kinematics for XYZ control.
How this skill works
The preferred interface is pinocchio_xyz_drive.py, which accepts X/Y/Z coordinates and computes joint angles using an inverse kinematics solver before commanding the arm. For exact joint configurations, soarm_set_joints.py sets individual joint angles directly. Additional scripts allow querying arm status and disabling the arm. A calibration JSON must be placed in the lerobot calibration path for correct kinematics.
When to use it
- Move the end effector to a specific XYZ point in workspace using inverse kinematics.
- Position the arm to a precise preset or calibration pose by specifying joint angles.
- Query the arm’s current status or disable the arm safely.
- Perform continuous coordinated moves where maintaining the serial connection reduces latency.
- Test or tune calibration and kinematics after hardware or firmware changes.
Best practices
- Use pinocchio_xyz_drive.py for general positioning and soarm_set_joints.py for exact preset poses.
- Run scripts inside the 'lerobot' conda environment with pinocchio installed.
- Copy the provided calibration JSON to the lerobot calibration directory before first use.
- Use --keep-connected for sequences of moves to avoid repeated reconnect delays.
- Start with low speeds (e.g., --max-joint-speed-deg 10) for the first runs and verify clear workspace.
Example use cases
- Move the gripper to X=0.2, Y=0.0, Z=0.1 to pick a small object on a table.
- Drive joints to the 'home' preset for a known safe starting pose before a task.
- Scan desktop area by moving to look_desktop preset then running vision routines.
- Execute a multi-step motion sequence while keeping the connection open to reduce latency.
- Disable the arm remotely after maintenance or if an emergency stop is required.
FAQ
Place the openclaw_soarm.json calibration file in ~/.cache/huggingface/lerobot/calibration/robots/so_follower/openclaw_soarm.json before first use.
Which script should I use for one-off precise joint positions?
Use soarm_set_joints.py to set exact joint angles for preset or repeatable positions.