yahboom
HomeLearn
Solution
Blog
Online Store
About Us
EN/中文
RDK S100(P) Board📖
0. RDK S100(P) Developer Kit
  • 1. RDK S100(P) Official Tutorial
1. Introduction to RDK S100(P) Development Board
  • 1.1 Introduction to the RDK S100(P) Development Board
  • 1.2 Install Operating System
  • 1.3 Interface Descriptions
  • 1.4 Accessory installation
  • 1.5 Camera Expansion Board
  • 1.6 MCU Port Expansion Board
  • 1.7 Precautions for using 15.6-inch screens
2. Basic Settings Course
  • 2.1 Network Configuration
  • 2.2 Remote Login
  • 2.3 System Update
  • 2.4 Boot Auto-Start Configuration
  • 2.5 RDK Exclusive Command Usage
  • 2.6 Linux Command Usage
  • 2.7 Example of GPIO read and write operations
  • 2.8 Using USB Camera
  • 2.9 Using MIPI Camera
  • 2.10 SSD mounting
  • 2.11 Binocular camera depth algorithm
3. TogetheROS.Bot Vision Applications
  • 1. About TogetheROS. Bot
  • 2. System Installation
  • 3. Object Detection(YOLO)
  • 4. Image Classification(mobilenetv2)
  • 5. Image Segmentation(mobilenet_unet)
  • 6. Perception Algorithm(BEV)
  • 7. Human Detection and Tracking (Ultralytics YOLO Pose)
4.Offline AI model course
Offline large model (Text Interaction)
  • 1. AI large model environment deployment
  • 2. Install large model dialogue platform
  • 3. Meta AI Llama 3.2 model
  • 4. Alibaba Cloud Qwen3 model
  • 5. Microsoft Phi-4 mini model
  • 6. DeepSeek - DeepSeek-R1 model
  • 7. Alibaba Cloud Qwen2.5vl Visual Multimodal Large Model
  • 8. Google Gemma3 Visual Multimodal Large Model
  • 9. Lava Visual Multimodal Large Model
  • 10. MiniCPM-V Visual Multimodal Large Model
  • 11. Multimodal visual understand application
  • 12. Multimodal text to image application
  • 13. Multimodal visual localization application
  • 14. Multimodal table scanning application
  • 15. Multimodal Autonomous Agent Applications
Offline large model (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 analytics application
  • 7. Multimodal visual localization application
  • 8. Multimodal table scanning application
  • 9. Multimodal autonomous agent application
  • 10. AI Large Model Offline Voice Assistant
5.Online AI model course
Online large model (Text Interaction)
  • 1.OpenRouter large model API aggregation platform
  • 2.Multimodal visual understand application
  • 3.Multimodal visual localization application
  • 4.Multimodal table scanning application
  • 5.Multimodal autonomous agent application
Online large model (Voice Interaction)
  • 0.Voice interaction hardware connection (ReadMe)
  • 1.Online speech to text (ASR)
  • 2.Online text to speech (TTS)
  • 3.AI large model voice interaction
  • 4.Multimodal visual understand speech interaction
  • 5.Multimodal visual localization application
  • 6.Multimodal table scanning application
  • 7.Multimodal autonomous proxy application
  • 8.AI large model online voice assistant
6.YOLO26 tutorials
  • 01.YOLO26 environment
  • 02.CLI use
  • 03.Object detection
  • 04.Instance segmentation
  • 05.Pose estimation
  • 06.Image classification
  • 07.Oriented object detection
  • 08.Model conversion
  • 09.Dataset annotation
  • 10.Model training - conversion
  • 11.Model prediction
7.OpenClaw Advanced Development
  • 1.OpenClaw Deployment
  • 2.OpenClaw WhatsApp Plugin Application
  • 3.OpenClaw WebChat Interaction
  • 4.OpenClaw TUI Interaction
  • 5.OpenClaw Tools Introduction
  • 6.OpenClawGate Gateway User Manual
  • 7.OpenClaw Features Overview
  • 8.OpenClawClawHub Introduction (Skill Installation)
  • 9.OpenClaw Application - File Management
  • 10.OpenClaw Application - Camera
  • 11.OpenClaw Application - Browser Control
  • 12.OpenClaw Application - Script Execution
  • 13.OpenClaw Application - AI Programming (Peripheral & GPIO Control)
  • 14.OpenClaw Application - Dedicated AI Assistant
  • 15.OpenClaw Web Search Capability Configuration
8.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
  • Annex_File
  • Code
Download ZIP

Welcome to RDK S100(P) Board repository

2.11 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

SSD mounting
About TogetheROS. Bot

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/中文