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

6.Control the movement of the robot

8. Control the movement of the robot

8. Control the movement of the robot 8.1. Experimental objectives 8.2. Experiment preparation 8.3. Experimental effect 8.4. Program source code

8.1. Experimental objectives

Control the forward and backward on the Rosmaster, left and right, and set the relevant parameters of the car.

8.2. Experiment preparation

The motor interface has an anti-reverse connection function, which can be connected to the motor using Rosmaster's motor cable.

The interface line sequence corresponding to the motor is shown in the following figure:

image-20210903114433917

Rosmaster_Lib library functions required to control the Rosmaster motor:

set_car_motion ( v_x ,  v_y ,  v_z ) 

Parameter explanation: trolley motion control, this function will read the pulse data of the encoder to calculate the speed of the trolley motion. There may be differences according to different trolleys. Here is an example of a Mecanum wheel trolley: v_x represents the longitudinal speed of the trolley, in m/s, positive forward, negative backward; v_y control represents the lateral speed of the trolley, in m/s , positive numbers are left, negative numbers are right; v_z represents the rotation speed of the car, the unit is rad/s, positive numbers are left rotation, negative numbers are right rotation.

v_x=[-1.0, 1.0], v_y=[-1.0, 1.0], v_z=[-5.0, 5.0]

Return value: None.

xxxxxxxxxx
set_pid_param ( kp ,  ki ,  kd ,  forever = False ) 

Parameter explanation: PID parameter control will affect the change of the movement speed of the car controlled by the set_car_motion function. By default it can be left unadjusted.

kp ki kd = [0, 10.00], decimals can be entered.

forever=True save forever, =False temporary effect.

Permanent storage is to write the data into the Flash of the MCU chip, the data will not be lost after restarting, and the writing time is long, so the delay time is added to avoid the problem of packet loss caused by the MCU. Temporary action has fast response and is effective once, and the data is no longer maintained after restarting the single chip.

Return value: None.

xxxxxxxxxx
set_auto_report_state ( enable ,  forever = False ) 

Parameter explanation: The MCU automatically returns the data status bit, which is enabled by default. If it is set to be disabled, it will affect the function of reading data.

enable=True, the underlying expansion board will send data every 40 milliseconds. enable=False, do not send.

forever=True save forever, =False temporary effect.

Return value: None.

xxxxxxxxxx
clear_auto_report_data () 

Parameter explanation: Clear the cached data automatically sent by the microcontroller.

Return value: None.

xxxxxxxxxx
reset_flash_value () 

Parameter explanation: reset the data saved in the car's flash and restore the factory default value. This function can also be achieved by long pressing the K2 key on the expansion board for about 10 seconds.

Return value: None.

The following functions all return data, which can only be read when create_receive_threading() is started normally:

xxxxxxxxxx
get_accelerometer_data () 

Parameter Explanation: Get the three-axis data of the accelerometer

Return statement: a_x, a_y, a_z

xxxxxxxxxx
get_gyroscope_data () 

Parameter explanation: Get the three-axis data of the gyroscope

Return value: g_x, g_y, g_z

xxxxxxxxxx
get_motion_data () 

Parameter explanation: Get the speed of the car, return val_vx, val_vy, val_vz

Return value: val_vx, val_vy, val_vz

xxxxxxxxxx
get_motion_pid () 

Parameter explanation: Get the motion PID parameters of the car, and return [-1, -1, -1] if the error is read.

Return value: kp, ki, kd

8.3. Experimental effect

Check out the course accompanying video.

Note: If you modify a part of the configuration in this course and set it to be permanently saved, it will cause an abnormal situation later (for example, set the automatic return data status enable=False, and permanently save it as True, so that the data cannot be read normally). Please call the reset_flash_value() function, or press and hold the KEY1 key on the expansion board for about 10 seconds to restore the factory configuration.

8.4. Program source code

Power on the Rosmaster robot, and open the browser of the Jetson Nano or remote computer to enter the Jupyter lab editor.

Reference code path: Rosmaster/Samples/8.car_motion.ipynb

Control the forward and reverse rotation of the motor
Control Serial Servo

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