1 System & Recovery
1.1 Cannot connect to the motion control compute unit (192.168.0.163) — how do I troubleshoot?
- Test whether your computer can ping it directly
- On the development computer, check the NIC and routes for the robot's network segment: use
ip addrandip routeon Linux; useipconfigandroute printon Windows. Avoid conflicting routes to the same robot network segment from wired, wireless, or VPN connections — the computer is not required to have only one IP. - If the debug computer is connected to both the external network and the robot, make sure the external network IP subnet differs from the robot network's 192.168.0.0/24 to avoid routing conflicts
- Restart the robot
- Contact after-sales support for debugging or factory repair
2 Sensor Development
2.1 How do I integrate the Intel RealSense D435i depth camera?
The PM01 has a built-in Intel RealSense D435i depth camera, and the official SDK provides integration examples based on the ROS2 ecosystem.
Step 1: Enumerate the depth camera device
Bash |
Example output:
Text |
Step 2: Launch the depth camera node
The open-source repository engineai_ros2_workspace includes the depth camera example program rs_launch.py:
Bash |
Before running, confirm that the driver is installed and the ROS2/workspace environment is loaded. Use ros2 launch realsense2_camera rs_launch.py --show-args to check the parameters supported by your installed version; do not blindly copy an unverified tf_prefix parameter across driver versions. After launch, you should see the corresponding camera node and receive data continuously on the actual image_raw topic.
Parameter description:
| Parameter | Purpose | Notes |
|---|---|---|
serial_no | Bind a specific camera | Use the serial number from actual enumeration when multiple cameras are present; this example uses outer double quotes and inner single quotes to pass a string. Parameter behavior depends on the installed driver version. |
camera_name | Topic namespace | Avoids topic conflicts among multiple cameras; e.g., cam_head produces /camera/cam_head/xxx |
tf_prefix | TF prefix-related configuration (version-dependent) | Actual frame names follow the TF published by the current driver; the effects of camera_name and the prefix parameter cannot be assumed across versions. |
Available topics:
Text |
2.2 How do I integrate the LiDAR?
This section applies to T800 configurations using the Odin2 LiDAR camera. The device default IP is 192.168.100.251 and the Orin management address is 192.168.0.162; they are on different subnets, so confirm the interface address and routing on the Orin side that connects to the sensor. Do not try to connect to the LiDAR by only changing the management NIC IP.
Connect to the Orin mainboard:
Bash |
Build and run (ROS2 Humble):
Bash |
Functional modules:
| Node | Description |
|---|---|
odin_ros_driver_node | Main driver node: connects to the device, publishes raw data, provides calibration services |
post_process_node | Post-processing node: image undistortion, point cloud coloring, stereo rectification |
pointcloud_reprojector_node | Point cloud reprojection node: reprojects sparse point clouds into an overlaid visualization image |
pointcloud_to_depth_node | Point cloud to depth image node: projection + dilation + Sobel edge suppression + nearest-neighbor upsampling |
Main topics published by the main driver (all with the per-device prefix /{topic_prefix}/{model}/device{N}/):
| Topic suffix | Type | Description |
|---|---|---|
cloud/raw | sensor_msgs/msg/PointCloud2 | Raw point cloud (256×192) |
cloud/slam | sensor_msgs/msg/PointCloud2 | SLAM point cloud |
camera0/compressed | sensor_msgs/msg/CompressedImage | Left camera JPEG compressed image |
camera1/compressed | sensor_msgs/msg/CompressedImage | Right camera JPEG compressed image |
imu | sensor_msgs/msg/Imu | IMU data (acceleration, angular velocity) |
odometry | nav_msgs/msg/Odometry | Odometry data |
Common launch parameters:
| Parameter | Default | Description |
|---|---|---|
start_rviz | true | Whether to start RViz |
topic_prefix | manifold | Topic prefix root |
image_width / image_height / image_fps | 0 | 0 = use device defaults |
image_format | mjpeg | Image format: mjpeg / yuyv / nv12 / nv21 / rgb24 |
sensor_mode | 0 | dToF sensor mode: 0=HDR / 1=High Peak / 2=Low Peak / 3=Adaptive |
confidence_threshold | 7 | Point cloud confidence threshold (0–255) |
