5.1 Control Module

AgiBot X2 AimDK Control Module – Providing a Complete Low-Level Robot Control Interface

The control module is a core component of the AgiBot X2 AimDK, providing comprehensive low-level control interfaces for the robot. It follows the ROS2 standard and supports both C++ and Python, enabling developers to achieve flexible and efficient robot control.

Core Features

  • Motion Control: Multi-source input management, velocity control, and mode switching.

  • Joint Control: Joint-level control with support for multiple control modes.

  • End-Effector Control: Gripper and dexterous hand control.

  • Preset Motions: A rich library of built-in motion presets.

Interface Specifications

  • Service Interfaces: Use the /aimdk_5Fmsgs/srv/ prefix.

  • Topic Interfaces: Most use the /aima/ prefix.

  • Message Types: Provided in the aimdk_msgs package.

  • Supported Languages: C++ and Python.

  • Message Format: Standard ROS2 message formats.

Version Compatibility

  • Current Version: v0.8

  • Minimum Supported Version: v0.6 (partial feature support)

  • ROS2 Version: Humble

  • Supported Architectures: x86_64, aarch64

Safety Notes

Warning

Important Safety Reminders

  • When developing velocity-based control programs, remember to register your input source.

  • Some joint control examples require temporarily disabling the MC module.

  • It is recommended to test your code in a simulation environment first.

  • Ensure the robot is operating in a safe environment.

  • Taking Motion Control Computing Unit(PC1, 10.0.1.40) as build & run environment for secondary development is strictly prohibited to avoid safety risks

Caution

As standard ROS DO NOT handle cross-host service (request-response) well, please refer to SDK examples to use open interfaces in a robust way (with protection mechanisms e.g. exception safety and retransmission)

Functional Modules