robonix.primitive.jaka.arm

primitive v0.1.0

JAKA 6-DOF arm + TG-9801 gripper primitive (jkrc SDK over TCP).

README primitive-jaka-mini-arm-rbnx@main

primitive-jaka-rbnx — JAKA arm primitive

Robonix arm primitive for the fixed-base JAKA Mini 6-DOF arm with a TG-9801 adaptive gripper (end RS485 channel), driven over TCP by the vendor jkrc SDK. Implements the standard robonix/primitive/arm/* contracts:

contract dir topic notes
robonix/primitive/arm/joint_states out /jaka/joint_states arm joints (rad) + gripper_joint (m), ~50 Hz
robonix/primitive/arm/end_pose out /jaka/end_pose TCP pose, base frame
robonix/primitive/arm/joint_command in /jaka/joint_command position-only write
robonix/primitive/arm/pos_command in /jaka/pos_command Cartesian target; IK on provider

Frames, units and command semantics are documented in CAPABILITY.md; deployment config keys in config.spec.

Safety gate

Motion commands (joint_command / pos_command) are rejected while config motion_enabled is false (the default) — only feedback streams. Boot read-only first, verify feedback and estop, then enable motion in the deploy manifest. See the staged acceptance flow in the deploy repo (robot-jaka-mini).

Prerequisite: JAKA SDK binaries

The proprietary jkrc SDK (jkrc.so, libjakaAPI.so) is not in this repository (license — see NOTICE). Download the Linux SDK for your arch from the JAKA official download page and copy both files into:

jaka_arm/jaka_sdk/aarch64-linux-gnu/   # Jetson / ARM
jaka_arm/jaka_sdk/x86_64-linux-gnu/    # x86_64

The directory is gitignored; scripts/build.sh fails fast with these instructions when the files are missing.

Build

rbnx build -p /path/to/primitive-jaka-rbnx

Creates a package-local venv (--system-site-packages, so system rclpy is visible), generates gRPC/MCP/ROS 2 types, and colcon-builds the ROS 2 message overlay that scripts/start.sh sources.

Tests

.venv/bin/python -m unittest jaka_arm.tests.test_driver