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_msgspackage.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