yahboom
HomeLearn
Solution
Blog
Online Store
About Us
EN/中文
RDK X5 Board📖
1.Introduction to RDK X5 board
  • 1.Introduction to RDK X5 board
  • 2.Write system file
  • 3.Hardware interface description
  • 4.Install case and other accessories
  • 5.Use 7-inch display
2.Basic settings course
  • 1.Network configuration
  • 2.Remote login
  • 3.Update system
  • 4.srpi-config user guide
  • 5.config. txt configuration file
  • 6.Self-startup setting
  • 7.RDK exclusive command usage
  • 8.Linux command usage
  • 9.GPIO readwrite operation
  • 10.Image classification algorithm
  • 11.Use USB camera
  • 12.Use MIPI camera
  • 13.Binocular camera depth algorithm
3.Basic development course
C language
  • 1.Camera image display
  • 2.Local save camera images
  • 3.Camera image encoding
  • 4.Video file decoding
  • 5.RTSP streaming decoding
  • 6.VPS scaling example
  • 7.Target detection algorithm-fcos
  • 8.Target detection algorithm-YOLOv5s
  • 9.Using CAN
Python
  • 0.ReadMe
  • 1.Using GPIO
  • 2.Using PWM
  • 3.Using Serial port
  • 4.Using I2C
  • 5.Using SPI
4.ROS expansion board
Python basic control
  • 0.Bind PCB port devices
  • 1.Install the Rosmaster driver library
  • 2.Buzzer whistle
  • 3.Control PWM servo
  • 4.RGB colorful light bar special effects display
  • 5.Control the forward and reverse rotation of the motor
  • 6.Control the movement of the robot
  • 7.Control Serial Servo
  • 8.Update firmware of expansion board
  • 9.Drive OLED
ROS2 robot control
  • 1.Function package usage process
  • 2.Robot information release
  • 3.Robot keyboard control
  • 4.Robot state estimation
  • 5.Robot calibration
  • 6.URDF model
5.T-MINI PLUS Lidar
  • 0.Preparation before use(Must read)
  • 1.Environment setup
  • 2.T-MINI PLUS LiDAR drive
  • 3.Handheld LiDAR mapping
6.AI VIEW Depth camera
AI VIEW Depth camera use
  • 1.AI VIEW Depth camera use
  • 2.Camera internal parameter calibration
  • 3.Color tracking
  • 4.KCF object tracking
Mediapipe functions
  • 1.Hand detection
  • 2.Attitude detection
  • 3.Overall inspection
  • 4.Facial detection
  • 5.Facial recognition
OpenCV series courses
  • 1.ROS+opencv application
  • 2.QR code creation and recognition
  • 3.AR vision
7.Offline AI model course
Offline-LLM-Text-Interaction
  • 0.AI-Large-Model-Image-Description
  • 1.AI-Large-Model-Environment-Deployment
  • 2.LLM-Conversation-Platform-Installation
  • 3.Meta-AI-Llama3.2-Model
  • 4.Alibaba-Cloud-Qwen3-Model
  • 5.Microsoft-Phi-4-mini-Model
  • 6.DeepSeek-DeepSeek-R1-Model
  • 7.Alibaba-Cloud-Qwen2.5vl-Vision-Multimodal-Model
  • 8.Google-Gemma3-Vision-Multimodal-Model
  • 9.Llava-Vision-Multimodal-Model
  • 10.MiniCPM-V-Vision-Multimodal-Model
  • 11.Multimodal-Text-to-Image-Application
  • 12.Multimodal-Video-Analysis-Application
  • 13.Multimodal-Visual-Understanding-Application
  • 14.Multimodal-Visual-Localization-Application
  • 15.Multimodal-Table-Scanning-Application
  • 16.Multimodal-Autonomous-Agent-Application
Offline-LLM-Voice-Interaction
  • 0.Voice-Interaction-Hardware-Connection-Must-Read
  • 1.Offline-Speech-to-Text-ASR
  • 2.Offline-Text-to-Speech-TTS
  • 3.AI-Large-Model-Voice-Interaction
  • 4.Multimodal-Visual-Understanding-Voice-Interaction
  • 5.Multimodal-Text-to-Image-Application
  • 6.Multimodal-Video-Analysis-Application
  • 7.Multimodal-Visual-Localization-Application
  • 8.Multimodal-Table-Scanning-Application
  • 9.Multimodal-Autonomous-Agent-Application
  • 10.AI-Large-Model-Offline-Voice-Assistant
8.Online AI model course
Online-LLM-Text-Interaction
  • 1.OpenRouter-Large-Model-API-Aggregation-Platform
  • 2.Multimodal-Visual-Understanding-Application
  • 3.Multimodal-Visual-Localization-Application
  • 4.Multimodal-Table-Scanning-Application
  • 5.Multimodal-Autonomous-Agent-Application
Online-LLM-Voice-Interaction
  • 0.Voice-Interaction-Hardware-Connection-Must-Read
  • 1.Online-Speech-to-Text-ASR
  • 2.Online-Text-to-Speech-TTS
  • 3.AI-Large-Model-Voice-Interaction
  • 4.Multimodal-Visual-Voice-Interaction
  • 5.Multimodal-Visual-Localization-Application
  • 6.Multimodal-Table-Scanning-Application
  • 7.Multimodal-Autonomous-Agent-Application
  • 8.AI-Large-Model-Online-Voice-Assistant
9.YOLO26 tutorials
  • 01.YOLO environment construction
  • 02.CLI use
  • 03.Object detection
  • 04.Instance segmentation
  • 05.Pose estimation
  • 06.Image classification
  • 07.Oriented bounding box object detection
  • 08.Model conversion
  • 09.Dataset annotation
  • 10.Model training conversion
  • 11.Model prediction
10.OpenClaw Deployment and Basic Usagenew
  • 01.OpenClaw Quick Start
  • 02.OpenClaw Deployment
  • 03.OpenClaw WhatsApp Plugin Application
  • 04.OpenClaw WebChat Interaction
  • 05.OpenClaw TUI Interaction
  • 06.OpenClaw Tools Introduction
  • 07.OpenClawGate Gateway User Manual
  • 08.OpenClaw Features Overview
  • 09.OpenClawClawHub Introduction (Skill Installation)
  • 10.OpenClaw Application - File Management
  • 11.OpenClaw Application - Camera
  • 12.OpenClaw Application - Browser Control
  • 13.OpenClaw Application - Script Execution
  • 14.OpenClaw Application - AI Programming (Peripheral & GPIO Control)
  • 15.OpenClaw Application - Dedicated AI Assistant
  • 16.OpenClaw Web Search Capability Configuration
11.OpenClaw Advanced Developmentnew
1.Preparation Before Use
  • 01. Peripheral Hardware Configuration
  • 02. OpenClaw API-KEY Configuration
  • 03. OpenClaw Model Switching
  • 04. OpenClaw Prompts
  • 05. AI Voice Interaction Configuration
  • 06. Three Dialogue Configuration Tests
2.OpenClaw AI Programming Peripheral Control
  • 1. Servo Control
  • 2. RGB Strip
  • 3. OLED Display
  • 4. Temperature and Humidity Sensor
  • 5. Camera Application
  • 6. AI Script Peripheral Control
3.OpenClaw Peripheral Integration Applications
  • 1. Plant Care Assistant
  • 2. AI Calorie Estimation
  • 3. AI Rock Paper Scissors Game
  • 4. AI Pet
  • 5. AI Weather Station
  • 6. Temperature and Humidity Dashboard
  • 7. Scheduled Tasks
12.ROS2 basic course
  • 1.Introduction to ROS2
  • 2.ROS2 install Humble
  • 3.ROS2 development environment
  • 4.ROS2 workspace
  • 5.ROS2 function package
  • 6.ROS2 node
  • 7.ROS2 topic communication
  • 8.ROS2 service communication
  • 9.ROS2 action communication
  • 10.ROS2 custom interface message
  • 11.ROS2 parameter service case
  • 12.ROS2 meta-function package
  • 13.ROS2 distributed communication
  • 14.ROS2 DDS
  • 15.ROS2 time related API
  • 16.ROS2 common command tools
  • 17.ROS2 rviz2 use
  • 18.ROS2 rqt toolbox
  • 19.ROS2 Launch startup file configuration
  • 20.ROS2 recording and playback tool
  • 21.ROS2 URDF model
  • 22.ROS2 Gazebo simulation platform
  • 23.ROS2 TF2 coordinate transformation
Download
  • System_File
  • Code
  • Tools
Download ZIP

Welcome to RDK X5 Board repository

13.Binocular camera depth algorithm

Binocular camera depth algorithm

Binocular camera depth algorithm1.Binocular MIPI Image AcquisitionFunction IntroductionSupported PlatformsPreparationRDK PlatformHow to use2.Stereo Depth AlgorithmFunction IntroductionSupported PlatformsAlgorithm Version InformationPreparationRDK Platform1.Confirm that the camera is correctly connected to the RDK board.RDK X5 access methodS100(P) access method2.The RDK has already burned the Ubuntu 22.04 system image.3.RDK has successfully installed tros.b4.Confirm that the PC can access RDK via the network.System and Package VersionsUsage InstructionsConfirm camera connectionRDK X5 connectionS100(P) connectionStart the stereo algorithmRDK X5View the depth mapView the point cloud

1.Binocular MIPI Image Acquisition

Function Introduction

To achieve 3D environmental perception, robots typically incorporate sensors such as binocular cameras and Time-of-Flight (ToF) sensors. To reduce user costs associated with sensor adaptation and usage, TogetheROS.Bot encapsulates various commonly used sensors and abstracts them into the hobot_sensor module, supporting ROS standard image messages. When the configured sensor parameters do not match the connected camera, the program automatically adapts to the correct sensor type. Currently supported MIPI sensor types are as follows:

TypeModelSpecificationSupported Platform
CameraGS130W130WRDK X5, RDK X5 Module, RDK S100, RDK S100P

code repository:https://github.com/D-Robotics/hobot_mipi_cam.git

Supported Platforms

platformOperating mode
RDK X5, RDK X5 ModuleUbuntu 22.04 (Humble)
RDK 100, RDK S100PUbuntu 22.04 (Humble)
RDK 100, RDK S100PUbuntu 22.04 (Humble)

Preparation

RDK Platform

1.Confirm that the camera is correctly connected to the RDK motherboard.

RDK_Stereo_Cam_132gs

RDK X5 access method

RDK_X5_132gs

S100(P) access method

With the power off, the camera expansion board switches are set to LPWM and 3.3V respectively.

Camera wiring

2.The RDK has already burned the Ubuntu 22.04 system image.

3.RDK has successfully installed tros.b

4.Confirm that the PC can access RDK via the network.

How to use

Log in to RDK via SSH

Start the hobot_sensor node using the following command.

# Configure the tros.b environment
source /opt/tros/humble/setup.bash
xxxxxxxxxx
#  Launch mode
ros2 launch mipi_cam mipi_cam_dual_channel.launch.py

To view images from a stereo camera on the web, since the raw data needs to be published, a node encoding JPEG images and a node publishing via a web service are required. The startup command is as follows:

xxxxxxxxxx
# Configure the tros.b environment
source /opt/tros/humble/setup.bash
xxxxxxxxxx
# Launch mode
ros2 launch mipi_cam mipi_cam_dual_channel_websocket.launch.py

Open a browser on your PC (Chrome/Firefox/Edge) and enter http://IP:8000 (where IP is the RDK IP address). Click on the Web display in the upper left corner to see the real-time output from the binoculars.

web-dualcamera-codec

Precautions

  1. Precautions for Camera Insertion and Removal

    It is strictly forbidden to insert or remove the camera while the development board is powered on, otherwise the camera module may be easily damaged.

  2. If you encounter a startup error with the hobot_sensor node, you can troubleshoot the problem using the following steps:

    Check the hardware connection;

    Check if the tros.b environment is configured;

    Check if the parameters are correct, please refer to README.md for details;

2.Stereo Depth Algorithm

Function Introduction

The Digua stereo depth estimation algorithm takes stereo image data as input and outputs a disparity map and a depth map corresponding to the left view. The algorithm draws inspiration from the IGEV network and employs a GRU architecture, offering good data generalization and high inference efficiency.

RDK Official Stereo Depth Algorithm Tutorial:Stereo Depth Algorithm | RDK DOC

Stereo algorithm repository:https://github.com/D-Robotics/hobot_stereonet

MIPI camera repository:https://github.com/D-Robotics/hobot_mipi_cam

Supported Platforms

PlatformOS SupportExample Function
RDK X5, RDK X5 ModuleUbuntu 22.04 (Humble)Start stereo camera, infer depth results, and display on the web
RDK S100, RDK S100PUbuntu 22.04 (Humble)Start stereo camera, infer depth results, and display on the web

Algorithm Version Information

The following versions of the stereo algorithm are currently available:

Algorithm VersionFeatures
X5 V2.0int16 quantization, high precision, low frame rate, max 15FPS depth map at 640*352 resolution
X5 V2.1int16 quantization, with confidence output, max 15FPS depth map at 640*352 resolution
X5 V2.2int8 quantization, lower precision, higher frame rate, max 23FPS depth map at 640*352 resolution
X5 V2.3int8 quantization, further improved frame rate, max 27FPS depth map at 640*352 resolution
X5 V2.4 int16int16 quantization, trained with more data, max 15FPS depth map at 640*352 resolution
X5 V2.4 int8V2.4 int8 quantization version, max 23FPS depth map at 640*352 resolution
S100 V2.1int16 quantization, with confidence output, max 53FPS depth map at 640*352 resolution
S100 V2.4int16 quantization, with confidence output, trained with more data, max 53FPS depth map at 640*352 resolution

Preparation

RDK Platform

1.Confirm that the camera is correctly connected to the RDK board.

The installation method is shown in the figure. Do not reverse the wiring, otherwise the left and right diagrams will be swapped, and the binocular algorithm will malfunction.

RDK_Stereo_Cam_132gs

RDK X5 access method

RDK_X5_132gs

S100(P) access method

With the power off, the camera expansion board switches are set to LPWM and 3.3V respectively.

Camera wiring

2.The RDK has already burned the Ubuntu 22.04 system image.

3.RDK has successfully installed tros.b

4.Confirm that the PC can access RDK via the network.

System and Package Versions

 VersionQuery Method
RDK X5 System Image Version3.3.3及以上cat /etc/version
RDK S100 System Image Version4.0.2-Beta及以上cat /etc/version
tros-humble-hobot-stereonet Package Version2.4.4及以上apt list | grep tros-humble-hobot-stereonet/
tros-humble-mipi-cam Package Version2.3.13及以上apt list | grep tros-humble-mipi-cam/
  • If the system version does not meet the requirements, please refer to the corresponding documentation section for image flashing.
  • If the package version does not meet the requirements, please execute the following commands to update:
xxxxxxxxxx
sudo apt update
sudo apt upgrade

Usage Instructions

NOTE:Please execute the commands in this document as the root user. Other users may encounter permission issues, leading to unnecessary errors.

Confirm camera connection

  • To verify a proper camera connection, connect to RDK via SSH and execute the following command. If addresses such as 0x30, 0x32, or 0x50 are output, the camera connection is successful:
RDK X5 connection
xxxxxxxxxx
# RDK X5
i2cdetect -r -y 4
i2cdetect -r -y 6

i2cdetect_230ai

S100(P) connection
xxxxxxxxxx
# RDK S100
i2cdetect -r -y 1
i2cdetect -r -y 2

image-20251111162743057

Start the stereo algorithm

  • To launch the corresponding version of the stereo algorithm using different launch files, connect to the RDK via SSH and execute the following commands:
RDK X5

The following commands only require selecting one version to run; after running them, continue reading.

​x
# Only supports RDK X5
​
# Configure the tros.b humble environment
source /opt/tros/humble/setup.bash
​
# The launch file for the stereo model contains the startup instructions for the algorithm and the stereo camera nodes.
ros2 launch hobot_stereonet stereonet_model_web_visual_v2.0.launch.py \
mipi_image_width:=640 mipi_image_height:=352 mipi_lpwm_enable:=True mipi_image_framerate:=30.0 mipi_rotation:=90.0 \
need_rectify:=False height_min:=-10.0 height_max:=10.0 pc_max_depth:=5.0
xxxxxxxxxx
# Supports RDK X5 and RDK s100(p)
​
# Configure the tros.b humble environment
source /opt/tros/humble/setup.bash
​
# The launch file for the stereo model contains the startup instructions for the algorithm and the stereo camera nodes.
ros2 launch hobot_stereonet stereonet_model_web_visual_v2.1.launch.py \
mipi_image_width:=640 mipi_image_height:=352 mipi_lpwm_enable:=True mipi_image_framerate:=30.0 mipi_rotation:=90.0 \
need_rectify:=False height_min:=-10.0 height_max:=10.0 pc_max_depth:=5.0 \
uncertainty_th:=0.1
xxxxxxxxxx
# Only supports RDK X5
​
# Configure the tros.b humble environment
source /opt/tros/humble/setup.bash
​
# The launch file for the stereo model contains the startup instructions for the algorithm and the stereo camera nodes.
ros2 launch hobot_stereonet stereonet_model_web_visual_v2.2.launch.py \
mipi_image_width:=640 mipi_image_height:=352 mipi_lpwm_enable:=True mipi_image_framerate:=30.0 mipi_rotation:=90.0 \
need_rectify:=False height_min:=-10.0 height_max:=10.0 pc_max_depth:=5.0
xxxxxxxxxx
# Only supports RDK X5
​
# Configure the tros.b humble environment
source /opt/tros/humble/setup.bash
​
# The launch file for the stereo model contains the startup instructions for the algorithm and the stereo camera nodes.
ros2 launch hobot_stereonet stereonet_model_web_visual_v2.3.launch.py \
mipi_image_width:=640 mipi_image_height:=352 mipi_lpwm_enable:=True mipi_image_framerate:=30.0 mipi_rotation:=90.0 \
need_rectify:=False height_min:=-10.0 height_max:=10.0 pc_max_depth:=5.0
xxxxxxxxxx
# RDK X5 executes the following commands:
​
# Select either int16 or int8 version
# Configure the tros.b humble environment
source /opt/tros/humble/setup.bash
​
# The int16 version is the launch file for starting the stereo model, which contains the startup instructions for the algorithm and stereo camera nodes.
ros2 launch hobot_stereonet stereonet_model_web_visual_v2.4_int16.launch.py \
mipi_image_width:=640 mipi_image_height:=352 mipi_lpwm_enable:=True mipi_image_framerate:=30.0 mipi_rotation:=90.0 \
need_rectify:=False height_min:=-10.0 height_max:=10.0 pc_max_depth:=5.0
​
# This is an int8 version launcher file for the stereo model, containing the startup instructions for the algorithm and stereo camera nodes.
ros2 launch hobot_stereonet stereonet_model_web_visual_v2.4_int8.launch.py \
mipi_image_width:=640 mipi_image_height:=352 mipi_lpwm_enable:=True mipi_image_framerate:=30.0 mipi_rotation:=90.0 \
need_rectify:=False height_min:=-10.0 height_max:=10.0 pc_max_depth:=5.0
​
#  The RDK S100 executes the following command:
​
# Configure the tros.b humble environment
source /opt/tros/humble/setup.bash
​
# he launch file for the stereo model contains the startup instructions for the algorithm and the stereo camera nodes.
​
ros2 launch hobot_stereonet stereonet_model_web_visual_v2.4.launch.py \
mipi_image_width:=640 mipi_image_height:=352 mipi_lpwm_enable:=True mipi_image_framerate:=30.0 mipi_rotation:=90.0 \
need_rectify:=False height_min:=-10.0 height_max:=10.0 pc_max_depth:=5.0 \
uncertainty_th:=0.1

Parameter descriptions:

NameValueDescription
mipi_image_widthSet to 640MIPI camera output resolution is 640*352
mipi_image_heightSet to 352MIPI camera output resolution is 640*352
mipi_lpwm_enableSet to TrueMIPI camera enables hardware synchronization
mipi_image_framerateSet to 30.0MIPI camera output frame rate is 30.0FPS
need_rectifySet to FalseSince the official camera comes with factory calibration parameters and automatically rectifies, there is no need to load custom calibration files for rectification
height_minSet to -10.0Minimum point cloud height is -10.0m
height_maxSet to 10.0Maximum point cloud height is 10.0m
pc_max_depthSet to 5.0Maximum point cloud distance is 5.0m
uncertainty_thSet to 0.1Confidence threshold, used to filter noise points. It is recommended to set it to 0.1. A lower confidence threshold results in stricter filtering.
  • The following log indicates that the stereo algorithm has started successfully. fx/fy/cx/cy/base_line are the camera intrinsic parameters. If the depth map is normal but the estimated distance is incorrect, there may be an issue with the camera intrinsic parameters:

stereonet_run_success_log

View the depth map

  • View the depth map via the web interface by entering http://ip:8000 in the browser (the RDK IP in the image is 192.168.1.100):

web_depth_visual

View the point cloud

  • View the point cloud via rviz2. RDK can directly install rviz2 for viewing. Note the following configurations in rviz2:
xxxxxxxxxx
# Install rviz2
sudo apt install ros-humble-rviz2
# Start rviz2
source /opt/tros/humble/setup.bash
rviz2

stereonet_rviz

  • If the user wants to save the depth estimation results, the following parameters can be added to enable saving. save_image_all enables saving, save_freq controls the saving frequency, save_dir specifies the save directory (automatically created if it does not exist), and save_total controls the total number of saves. The program will save camera intrinsic parameters, left and right images, disparity map, depth map, and visualization map:
xxxxxxxxxx
# Configure tros.b humble environment
source /opt/tros/humble/setup.bash
​
# Here, the V2.0 version of the algorithm is used as an example. Similar parameters can be added to other versions of the algorithm.
ros2 launch hobot_stereonet stereonet_model_web_visual_v2.0.launch.py \
mipi_image_width:=640 mipi_image_height:=352 mipi_lpwm_enable:=True mipi_image_framerate:=30.0 \
need_rectify:=False height_min:=-10.0 height_max:=10.0 pc_max_depth:=5.0 \
save_image_all:=True save_freq:=4 save_dir:=./online_result save_total:=10

 

Parameter descriptions:

NameValueDescription
save_image_allSet to TrueEnable image saving
save_freqSet to 4Save every 4 frames. Can be modified to any positive number.
save_dirSet to the image save directoryCan be set to the desired save location.
save_totalSet to 10Save a total of 10 images. Set to -1 to save continuously.

stereonet_save_log

stereonet_save_files

Use MIPI camera
Camera image display

COMPANY

  • About us
  • Team Style
  • Blog

LEARNING & EXPLORATION

  • Tutorials
  • Edge AI hardware
  • Educational robots
  • Embedded intelligent hardware

WHERE TO BUY

  • Yahboom Online Store
  • Amazon
  • Alibaba
  • AliExpress
  • Mercado

TECHNOLOGY SUPPORT

  • Email: support@yahboom.com

BE A DISTRIBUTOR

  • Email: sales@yahboom.com
QR Code

Copyright © 2017-2026 Yahboom. All Rights Reserved.

EN/中文