yahboom
HomeTutorialsProduct
Solution
Blog
Online Store
About Us
EN/中文
Store
ROSMASTER A1 PRO📖
00.Configuration and Operation Guide
  • 0. Unboxing and Review
  • 1.Assembly Videos
  • 2.User Manual
  • 3.Enter Docker (For Raspberry Pi)
  • 4.A1Pro Front Wheel Servo Calibration
  • 5.USB Camera Calibration
  • 6.Depth Camera Calibration
  • 7.FAQ
  • 8.Desktop Configuration Center and Remote Control Guide
01.Chassis Control Course
  • 1.Robot Information Publishing
  • 2.Robot Handle Control
  • 3.Robot Keyboard Control
  • 4.Linear Velocity Calibration
  • 5.Angular Velocity Calibration
  • 6.Robot URDF Model
  • 7.Robot EKF State Estimation
02.Lidar Course
  • 1.Lidar Introduction and Use
  • 2.Lidar Obstacle Avoidance
  • 3.Lidar Following
  • 4.Lidar Patrol
  • 5.GMapping-SLAM Mapping
  • 6.Cartographer-SLAM Mapping
  • 7.Slam-Toolbox Mapping
  • 8.Lifelong Mode Mapping
  • 9.Navigation2 Single Point Navigation
  • 10.Navigation2 Multi Point Navigation
  • 11.Cartographer Relocalization Navigation
  • 12.Slam-Toolbox Localization Navigation
  • 13.Synchronous Mapping And Navigation
  • 14.Aruco Visual Relocalization Navigation
  • 15.Mobile App Mapping And Navigation
  • 16.AprilTag Transport
  • 17.Color Block Transport
03.USB Camera-Depth Camera Course
  • 1.USB Camera Introduction
  • 2.USB Camera Intrinsic Calibration
  • 3.Nuwa-HP60C Camera Introduction (Depth Camera Only)
  • 4.Depth Camera Distance Measurement (Depth Camera Only)
  • 5.Depth Pseudo Color Image (Depth Camera Only)
  • 6.Block Volume Calculation (Depth Camera Only)
  • 7.Edge Detection (Depth Camera Only)
  • 8.RTAB-Map SLAM Mapping (Depth Camera Only)
  • 9.RTAB-Map Navigation (Depth Camera Only)
04.Robotic Arm and 3D Space Gripping Course
  • 0.Robotic Arm Basic Usage
  • 1.Robotic Arm Kinematics
  • 2.Robotic Arm Chassis Coordination Control
  • 3.AprilTag ID Sorting
  • 4.AprilTag Height Anomaly Sorting
  • 5.AprilTag Tracking and Grasping
  • 6.Color Block Sorting
  • 7.Color Block Height Anomaly Sorting
  • 8.Color Block Tracking and Grasping
  • 9.Wood Block Shape Sorting
  • 10.KCF Tracking and Grasping Objects
  • 11.Mediapipe Gesture ID Sorting AprilTag
  • 12.Mediapipe Gesture Height Sorting AprilTag
  • 13.Desktop Tracking and Grasping AprilTag
  • 14.3D Spatial Tracking AprilTag
  • 15.Line Following Obstacle Clearing
  • 16.Transformer Model Tracking Algorithm
05.Road Network Planning and Navigation
  • 1.Introduction To Road Network Planning
  • 2.Road Network Annotation
  • 3.Planning And Navigation Between Waypoints
  • 4.Road Network Navigation In Any Pose
  • 5.Path Re-planning
06.OpenClaw Basic Course
  • 1.Introduction to OpenClaw
  • 2.OpenClaw Core Concepts
  • 3.OpenClaw API-KEY Configuration
  • 4.OpenClaw Switch Models
  • 5.OpenClaw System Prompt Words
  • 6.OpenClaw Common CLI Commands
07.OpenClaw Interaction Method
  • 1.OpenClaw Webchat Interaction
  • 2.OpenClaw Tui Interaction
  • 3.OpenClaw Voice Dialogue Interaction
  • 4.OpenClaw WhatsApp Interaction
08.OpenClaw Development
  • 1.OpenClaw Connecting to Robot MCP Service
  • 2.Robot CLI Command Tool
  • 3.robot-control plugin tool
  • 4.reply-bridge plugin tool
  • 5.OpenClaw Multimodal Vision
  • 6.OpenClaw Chassis Control
  • 7.OpenClaw Robotic Arm Control
  • 8.OpenClaw Skills Development
  • 9.OpenClaw Scheduled Tasks
  • 10.OpenClaw Multi-Agent Intelligent Agent
  • 11.OpenClaw Active Interaction
  • 12.OpenClaw Vector Memory
09.OpenClaw Embodied Intelligent Application
  • 1.OpenClaw Target Tracking
  • 2.OpenClaw Arm Tracking And Grasping
  • 3.OpenClaw Arm Fixed-point Placement
  • 4.OpenClaw Waste Sorting
  • 5.OpenClaw SLAM Mapping And Navigation
  • 6.OpenClaw Navigation Transport
  • 7.OpenClaw AprilTag Grasping
  • 8.OpenClaw Color Line Patrol
  • 9.OpenClaw Visual Distance Measurement
10.OpenClaw Scenario Sandbox
  • 1.Map Description and Prop Placement
  • 2.Build Sand Table Map
  • 3.Visual Relocation Markers
  • 4.Map Mapping Markers
  • 5.OpenClaw Scenario Sandbox Comprehensive Case
11.AI Model Basics
  • 1.AI Large Model Types and Principles
  • 2.RAG Retrieval Enhancement and Model Training Samples
  • 3.Embodied Intelligent Robot System Architecture
  • 4.Embodied Intelligent Functions Core Source Code
12.AI Model Development
  • 1.Register a Model Service Provider Aaccount
  • 2.Configuring API-KEY
  • 3.Introduction to Dify
  • 4.Basic Dify Features
  • 5.AI Large Model Development - chatbot
  • 6.Deploy the RAG Knowledge Base
  • 7.RAG Knowledge Base + chatbot
  • 8.AI Agent Workflow
  • 9.Custom Wake-up Response
13.AI Model - Text Version
  • 1.Semantic Understand and Command Follow
  • 2.Multimodal Visual Understand
  • 3.Multimodal Visual Understand + Robotic Arm Gripping
  • 4.Multimodal Visual Understand+SLAM Navigation
  • 5.Robotic Arm Gripping+Multimodal Visual Understand+SLAM Navigation
  • 6.Intention Estimation
14.AI Model - Voice Version
  • 1.Semantic Understand and Command Follow
  • 2.Multimodal Visual Understand
  • 3. Multimodal Large Model+Robotic Arm Gripping
  • 4.Multimodal Visual Understand+SLAM Navigation
  • 5.Robotic Arm Gripping+Multimodal Visual Understand+SLAM Navigation
  • 6.Intention Estimation
15.Mediapipe Visual Course
  • 1.Hand Detection
  • 2.Posture Detection
  • 3.Overall Detection
  • 4.Facial Landmark Detection
  • 5.Face Detection
  • 6.Face Special Effects
  • 7.3D Object Recognition
  • 8.Brush
  • 9.Finger Control
  • 10.Palm Target Positioning
  • 11.Fingertip Trajectory Recognition
  • 12.Fingertip Gesture Control Cobotic Arm
  • 13.Gesture Grabbing and Releasing Objects
  • 14.Finger Control Robotic Arm
  • 15.Medipipe Gesture Control Robotic arm Cction Group
16.MoveIt2 Simulation Course
  • 1.MovelT2 Configuration
  • 2.MovelT2 Simulation-Reality Linkage
  • 3.Random Movement
  • 4.Forward Kinematics Design
  • 5.Inverse Kinematics Design
  • 6.Cartesian Path
  • 7.Scene Design
  • 8.Trajectory Planning
  • 9.Collision Detection
  • 10.3D Perception Obstacle‑Avoidance
17.Multi-vehicle Course
  • 1.Multi-vehicle Control
  • 2.Multi-vehicle Navigation
  • 3.Multi-vehicle Formation
18.YOLO26 Development
  • 1.CLI Use
  • 2.Object Detection
  • 3.Instance Segmentation
  • 4.Pose Estimation
  • 5.Image Classification
  • 6.Oriented Object Detection
  • 7.YOLOv26 + DeepSORT Tracking
  • 8.Monocular Depth Estimation
19.Control Board STM32 Driver Course
  • 0.Notes (Must Read)
  • 1.About Expansion Board
  • 2.STM32 Development Environment
  • 3.Button Control
  • 4.FreeRTOS Application
  • 5.Serial Communication
  • 6.SBUS Model Aircraft Remote Control
  • 7.CAN Bus Communication
  • 8.RGB Colorful Light Bar
  • 9.Timer Interrupt to Control PWM Servo
  • 10.Control Serial Port Servos
  • 11.Nine-axis Attitude Sensor to Obtain Data
  • 12.Control Motor
  • 13.Timer Captures the Encoder Data
  • 14.1 Kinematic Analysis of Mecanum Wheel
  • 14.2 Kinematic Analysis of Ackerman
  • 14.3 Kinematic Analysis of 4WD
  • 15.PID Control Robot Movement
20.Docker Course
  • 1.Docker Introduction and Installation
  • 2.Docker Basic Commands
  • 3.Docker Submission and Multi-Terminal Access
  • 4. Docker Startup Script
  • 5.Docker-Vscode Environment Construction
21.Image Processing Basics Course
  • 1. Introduction to Open Source CV
  • 2. Image reading and display
  • 3. Image writing
  • 4. Image quality
  • 5. Pixel Operation
  • 6. Image zoom
  • 7. Image cutting
  • 8. Image translation
  • 9. Image Mirroring
  • 10. Affine Transformation
  • 11. Image Rotation
  • 12. Perspective Transformation
  • 13. Grayscale processing
  • 14. Image Binarization
  • 15. Edge Detection
  • 16. Line drawing
  • 17. Rectangle and circle drawing
  • 18. Drawing text and pictures
22.Linux System Course
  • 1.Introduction to Linux system
  • 2.Ubuntu file system
  • 3.Ubuntu common commands
  • 4.Ubuntu common editors
  • 5.Ubuntu software operation commands
  • 6.Virtual machine installation
  • 7.SSH remote control
  • 8.VNC remote control
  • 9.Transfer files remotely
  • 10.Driver library and communication
  • 11.Static IP and hotspot mode
  • 12.Bind device ID
  • 13.Capacity expansion and resource allocation
  • 14.Update system software sources
  • 15.Set root user password
  • 16.sudo free password
  • 17.Connect to WiFi network
  • 18.View system version
  • 19.Customized service management
  • 20.Back up system image
23.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
24.Main Control Course
Jetson Orin Nano_NX
  • 1.Jetson Orin board introduction
  • 2.Restore the factory image system
  • 3.Backup SSD system
  • 4.SSD expansion
  • 5.Network configuration
  • 6.SSH remote login
  • 7.VNC remote control
  • 8.Remote file transfer
  • 9.Jtop tool
  • 10.Exchange space expansion
Raspberry Pi
  • 1. Introduction to Raspberry PI 5
  • 2. Raspberry PI system installation and backup
  • 3. Powering the Raspberry PI 5
  • 4. Startup of Raspberry PI 5
  • 5. Update and upgrade operating system
  • 6. Introduction to raspi-config tool
  • 7. config.txt file description
  • 8. Network Configuration
  • 9. remote access
  • 10. Transfer files remotely
  • 11. Set display resolution and rotation
  • 12. Set screen to sleep
  • 13. Play audio and video
  • 14. Using USB camera
  • 15. Using MIPI camera
  • 16. Get real-time temperature of Raspberry Pi
RDKX5
  • 1.Introduction to RDK X5 board
  • 2.Write system file
  • 3.Hardware interface description
  • 4.Install case and other accessories
  • 5.Network configuration
  • 6.Remote login
  • 7.Update system
  • 8.srpi-config user guide
  • 9.config. txt configuration file
  • 10.Self-startup setting
  • 11.RDK exclusive command usage
  • 12.Linux command usage
  • 13.GPIO readwrite operation
  • 14.Image classification algorithm
  • 15.Use USB camera
  • 16.Use MIPI camera
  • 17.Binocular camera depth algorithm
  • 18. Controlling RGB Cooling Fans
Download
  • SystemFile
  • Code
  • 3D_Model_File
  • Software_Tools
  • Hardware_Info
  • Introduction_Manual
  • Script_File
  • Dify AI Agent
Download ZIP

Welcome to ROSMASTER A1 PRO repository

4.A1Pro Front Wheel Servo Calibration

A1Pro Front Wheel Servo Calibration

A1Pro Front Wheel Servo Calibration0. Overview and Background1. Pre-Calibration Preparation2. Start Calibration Program3. Detailed Calibration Operation Steps (Core Three Steps)Step 1: Adjust Front Wheel Neutral Position (Factory can proceed to Step 2 first)Step 2: Low-Speed Straight-Line Verification (Dynamic Verification and Heading Detection)Step 3: Save Result to Chassis Flash4. Common Problem TroubleshootingQ1: When starting the program, a popup shows error "Cannot connect to Rosmaster (/dev/myserial)"?Q2: Why does the car stop after moving slightly when I click "Start 1 Meter Straight-Line Verification"?Q3: What if I messed it up and want to restore it?

0. Overview and Background

Important

Why do you need to calibrate the front wheel servo?

ROSMASTER A1 Pro uses an Ackerman front wheel servo steering structure. During factory assembly, due to the tiny mechanical tolerance between the servo output shaft spline teeth, steering linkage, and chassis mechanical structure, the default servo angle of the chassis may not be able to make the front wheels achieve absolute parallel forward.

If there is a deviation in the front wheel center position, the car will "deviate" when running straight line commands, which directly affects mapping accuracy (such as odometry drift) and the trajectory tracking effect of autonomous navigation. This calibration program provides visual adjustment, low-speed straight-line dynamic verification, and Flash permanent storage, allowing you to precisely correct the front wheel center position.


1. Pre-Calibration Preparation

  1. Release serial port resources (critical):

    • The calibration program needs to read and write the chassis servo angle through the underlying serial port /dev/myserial.

    • If the joystick control program has been auto-started on boot, you must first close it, otherwise the program will pop up an error "Cannot connect to Rosmaster (/dev/myserial)".

    • Joystick shutdown command:

      pkill -f "rosmaster/joy.py"
  2. Test site preparation:

    • Prepare a flat ground with no obstacles, length at least 1.5 meters (tile, wooden floor, or flat rubber mat ground is fine).

    • When initially observing adjustment, you can slightly lift the front wheels off the ground; for straight-line verification, all four wheels need to be on the ground.

  3. Remote desktop connection:

    • This calibration program is a Tkinter graphical interface, please log in to the car through VNC Viewer remote desktop (or connect the car to HDMI display) and run it in the desktop terminal.


2. Start Calibration Program

Open a terminal in the VNC remote desktop and enter the following startup command:

xxxxxxxxxx
python3 ~/Rosmaster/rosmaster/calibrate_akm_angle.py

After successful startup, the following graphical calibration interface will pop up:

image-20260908112411597


3. Detailed Calibration Operation Steps (Core Three Steps)

The calibration process is divided into three clear stages: Adjust center angle → 1-meter straight-line dynamic verification → Permanent Flash save.

Step 1: Adjust Front Wheel Neutral Position (Factory can proceed to Step 2 first)

  1. Read current saved angle:

    • When the interface starts, it automatically reads the currently persistently saved center angle from the chassis Flash (valid range: 60° ~ 120°, factory default usually between 90° ~ 100°), and displays it in the upper right corner.

  2. Adjust target angle:

    • Slider coarse adjustment: Drag the horizontal slider to adjust the angle within the range 60° ~ 120°.

    • Single-degree fine adjustment: Click −1° or +1° buttons to adjust by 1-degree steps.

    • Direct input: Directly type the target integer angle in the text box, press keyboard Enter to confirm.

  3. Observe front wheel swing:

    • After each adjustment, click 【Temporary Apply】, the chassis servo will immediately drive the front wheels to rotate to the corresponding position and return to steering zero position.

    • Visually observe if the front wheels are already in a completely parallel forward straight line state with the vehicle body longitudinal beam.


Step 2: Low-Speed Straight-Line Verification (Dynamic Verification and Heading Detection)

Tip

Static visual observation often has viewing angle errors. This program provides a low-speed closed-loop driving 1 meter actual measurement verification mechanism, combined with chassis wheel speed odometry and IMU heading feedback, to intuitively verify if the car truly drives in a straight line!

  1. Place the car steadily on the ground at the starting line, keeping the vehicle body aligned with the front reference line (leave at least 1.5 meters of space in front).

  2. Click the 【Start 1 Meter Straight-Line Verification】 button:

    • The interface will pop up a safety prompt, click "Confirm" and the car will smoothly move forward at a safe low speed of 0.12 m/s for about 1 meter.

    • The interface progress bar will update in real-time (0% ~ 100%), and display the traveled distance and wheel speed feedback.

    • Safety control: During the test, you can click the 【Stop Immediately】 button or press keyboard Esc to emergency brake at any time.

  3. Observe driving trajectory and yaw results:

    • After the car completes 1 meter, it will automatically brake smoothly and pop up a prompt showing the traveled distance and IMU heading angle change (for example: Straight-line distance verification complete: 1.00 m, heading change -0.3°).

    • Drift adjustment tips:

      • If the car deviates to the left during driving: The current center angle is too small/left-biased, click +1° to appropriately increase the center angle and retest;

      • If the car deviates to the right during driving: The current center angle is too large/right-biased, click −1° to appropriately decrease the center angle and retest;

      • Repeatedly fine-tune and verify until the car almost does not deviate left or right after traveling 1 meter and maintains perfect straight-line driving.

    image-20260908112536228

    image-20260908112611733

    image-20260908112639638


Step 3: Save Result to Chassis Flash

  1. Button unlock rule:

    • Only when the car has completed the full 1-meter straight-line verification, the 【Verification Passed and Permanently Save】 button in the lower right corner will be unlocked and become clickable, effectively preventing accidental modification of configuration without actual testing.

  2. Confirm write to Flash:

    • Click the 【Verification Passed and Permanently Save】 button;

    • Click "Yes" in the pop-up secondary confirmation dialog, the system will permanently write the current tested best angle into the control board's Flash memory.

    • After the save prompt is displayed, the parameter will not be lost after power off, whether for boot auto-start, keyboard control, mapping navigation, or following cases, the front wheels will automatically use this angle as the accurate center reference!

  3. Exit program:

    • After saving is complete, directly click the close button in the upper right corner of the window to exit.

    • (Note: If the user closes the window without clicking Permanent Save, the program will automatically restore the servo to the previously saved permanent angle, preventing residual untested temporary configuration).

    image-20260908112715665

    image-20260908112736225


4. Common Problem Troubleshooting

Q1: When starting the program, a popup shows error "Cannot connect to Rosmaster (/dev/myserial)"?

  • Reason: The chassis serial port /dev/myserial is exclusively occupied by another background program (usually the joystick control program joy.py that auto-starts on boot, or a ROS2 chassis driver node running in the background).

  • Solution: Execute the following command in the terminal to forcefully terminate the process occupying the serial port, then re-run the calibration program:

    xxxxxxxxxx
    pkill -f "rosmaster/joy.py"
    killall -9 python3

Q2: Why does the car stop after moving slightly when I click "Start 1 Meter Straight-Line Verification"?

  • Reason: The program has built-in timeout and speed feedback safety protection. If the chassis does not detect valid encoder feedback or is blocked by external force, it will automatically safety stop.

  • Solution: Ensure the battery is sufficiently charged, the car's power switch is on, and there are no wires or other debris jamming the wheels.

Q3: What if I messed it up and want to restore it?

  • Click the 【Restore Saved Angle】 button at the bottom of the interface, the program will re-read the last successfully saved permanent angle from the chassis Flash and restore the front wheel posture.

Enter Docker (For Raspberry Pi)
USB Camera Calibration

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