Skip to content

AQUARM SDK ​

The AQUARM SDK provides C++ and Python interfaces for robot kinematics, trajectory generation, and KCAN communication.

Components ​

ComponentPurpose
Robot modelLoad a root-to-tip chain from a URDF with revolute, continuous, and fixed joints
KinematicsCompute forward kinematics, Jacobians, and damped least-squares inverse kinematics
TrajectoryGenerate quintic joint trajectories between start and goal configurations
KCANConnect to the controller, read joint feedback, and send joint commands
MuJoCoSimulate the arm and gripper using the bundled MJCF model

The C++ API is exposed through kalman_ik.hpp and kcan_sdk_user.h. Python examples use the bundled kalman_ik_py and kcan_sdk_user_py modules.

Command Flow ​

The supplied IK examples control one arm through a direct KCAN connection:

text
Target pose + URDF model
        ↓
Current joint feedback → IK solution
        ↓
Quintic joint trajectory
        ↓
KCAN SDK → Controller

The examples connect to 192.168.1.9 using ports 20000 and 20001, request position mode, and send joint targets approximately every 5 ms. Adjust the connection settings in the example source to match your controller.

Positions are expressed in meters and joint angles in radians. The twist/Jacobian component order is [linear; angular].

Robot Descriptions ​

The AQUARM Description repository contains URDF/Xacro models, meshes, RViz configuration, and ROS 2 viewers. The SDK examples load their bundled model from resources/urdf/aquarm_origin_with_gripper.urdf.

Getting Started ​

  • SDK Guide: requirements, build commands, and example code.
  • ROS: description package installation and RViz visualization.
  • Download: links to both repositories.