5.4.1 Sensor Interfaces
The sensor interfaces provide data access and control for the robot’s various sensors, including cameras, IMUs, LiDAR, and touch sensors.
Core Features
Vision Sensors
RGB Camera: Captures color images
Depth Camera: Provides depth information
Camera Intrinsics: Retrieves calibration parameters
Pose Sensors
IMU Data: Acceleration, angular velocity, and attitude angles
Gyroscope: Measures angular velocity
Accelerometer: Measures acceleration
Environmental Perception Sensors
LiDAR: Provides point cloud data
Touch Sensors: Tactile feedback
Standard Sensor Messages
Most sensor interfaces use the standard message types defined in ROS sensor_msgs:
Sensor Data Type |
Message Definition |
|---|---|
Camera intrinsics |
|
Raw image |
|
Compressed image |
|
IMU data |
|
LiDAR point cloud |
IMU Topics
Includes chest IMU and torso IMU, both located on the development compute unit (PC2).
You can also use the IMUs integrated in LiDAR and the RGB-D camera.
Topic Name |
Data Type |
Description |
QoS |
Frequency |
|---|---|---|---|---|
|
|
Chest IMU data |
|
500Hz |
|
|
Torso IMU data |
|
500Hz |
|
|
LiDAR IMU data |
|
200Hz |
|
|
RGB-D camera IMU data |
|
200Hz |
Head Touch Status Topic
Supported features:
Access low-level touch events and raw samples
Disable the built-in “head pat” skill (to be enabled)
Topic Name |
Data Type |
Description |
QoS |
Frequency |
|---|---|---|---|---|
|
|
Head touch status |
|
100Hz |
TouchStateros2-msg @ hal/msg/TouchState.msg# Head touch status # Topic: /aima/hal/sensor/touch_head MessageHeader header # Message header uint8 event_type # Touch event (0-unknown, 1-idle, 2-touch, 3-slide, 4-single tap, 5-double tap, 6-triple tap) uint32[8] data # Raw sensor values for 8 channels uint32[8] threshold # Touch thresholds for 8 channels bool[8] is_touched # Touch state of 8 channels
Rear RGB Camera Topics
The rear RGB camera is on the development compute unit (PC2) and can be used for visual localization assistance and semantic scene understanding.
Raw image bandwidth is about 90 MB/s — use only on the same compute unit, do not subscribe across units.
Topic Name |
Data Type |
Description |
QoS |
Frequency |
|---|---|---|---|---|
|
|
Camera intrinsics |
|
N/A |
|
|
Raw image |
|
10Hz |
|
|
Compressed image |
|
10Hz |
Stereo Camera Topics
The stereo camera is on the development compute unit (PC2) and can be used for stereo vision, teleoperation, obstacle perception, object recognition, VIO SLAM, VLA and more.
Raw image bandwidth is about 90 MB/s per eye — use only on the same compute unit, do not subscribe across units.
Topic Name |
Data Type |
Description |
QoS |
Frequency |
|---|---|---|---|---|
|
|
Left camera intrinsics |
|
N/A |
|
|
Left raw image |
|
10Hz |
|
|
Left compressed image |
|
10Hz |
|
|
Right camera intrinsics |
|
N/A |
|
|
Right raw image |
|
10Hz |
|
|
Right compressed image |
|
10Hz |
RGB-D Camera Topics
The RGB-D camera is on the development compute unit (PC2) and can be used for object detection, spatial obstacle avoidance, and semantic environment understanding.
Raw image bandwidth is about 25 MB/s per stream — use only on the same compute unit, do not subscribe across units.
Topic Name |
Data Type |
Description |
QoS |
Frequency |
|---|---|---|---|---|
|
|
RGB intrinsics |
|
10Hz |
|
|
Raw image |
|
10Hz |
|
|
Compressed image |
|
10Hz |
|
|
Depth intrinsics |
|
10Hz |
|
|
Depth image |
|
10Hz |
|
|
Depth point cloud |
|
10Hz |
|
|
IMU data |
|
200Hz |
LiDAR Topics
Provides LiDAR point clouds and LiDAR-integrated IMU data for obstacle avoidance and SLAM/localization.
The LiDAR is on the development compute unit (PC2) with data bandwidth on the order of 10 MB/s — cross-unit subscriptions are not recommended.
Topic Name |
Data Type |
Description |
QoS |
Frequency |
|---|---|---|---|---|
|
|
LiDAR point cloud |
|
10Hz |
|
|
LiDAR IMU data |
|
200Hz |
Code Examples
For detailed code samples and explanations, see:
C++ Examples: Code samples, sensor interface section
Python Examples: Code samples, sensor interface section
Safety Notes
Attention
For high-bandwidth raw camera streams, do not subscribe across compute units; this may destabilize the system and create safety risks.