yahboom
HomeLearn
Solution
Blog
Online Store
About Us
EN/中文
Transbot SE📖
01.Introduction to Transbot SE
  • 01. Introduction to Transbot SE
  • 02. Precautions for use and battery safety
  • 03. First Trial
02.First Trial
  • 2.1.APP control
  • 2.2.USB wireless handle control(Optional)
  • 2.3.Handle video control Transbot(Optional)
  • 2.4.Network configuration tutorial in hotspot mode
03.Hardware control course
  • 3.1About expansion board and update firmware
  • 3.2.Close self-starting process
  • 3.3.Install Transbot library
  • 3.4.Control buzzer and button
  • 3.5.Control PWM servo
  • 3.6.Control bus servo
  • 3.7.Control motor
  • 3.8.Control robot movement
04.Linux operating system
  • 1. Virtual machine installation and use
  • 2. Linux basics
  • 3. Remote control
  • 4. Multi-machine communication configuration
  • 5. Static IP and hotspot mode
  • 6. Web page real-time monitoring
  • 7. Expansion tutorial
  • 8. Write system images
05.Docker couse(For Pi5)
  • 1.Docker overview and docker installation
  • 2.Common commands for docker image containers
  • 3.Docker images deeply understand and publish images
  • 4.Docker hardware interaction and data processing
  • 5.Start the transbot se container
06.ROS basic course
  • 1.ROS introduction
  • 2.Project file structure
  • 3.Common commands and tools
  • 4.Publisher
  • 5.Subscribers
  • 6.Customize topic messages and use
  • 7.Client
  • 8.Server
  • 9.Custom service messages and usage
  • 10.TF release and monitoring
07.OpenCV courses
  • 1. Getting started with Open Source CV
  • 2. Open Source CV geometric transformation
  • 3. Open Source CV image processing and drawing text line segments
  • 4. Open Source CV image beautification
  • 5. Opencv application
  • 6. AR vision
  • 7. AR QR code
  • 8. ROS+Opencv foundation
  • 9. ROS+Opencv application
  • 10. MediaPipe development
08.ROS robot course
  • 1.PID algorithm
  • 2.Basic communication
  • 3.Keyboard control
  • 4.Handle control(Optional)
  • 5.Robot state estimation
  • 6.Data calibration
09.ROS simple camera course
  • 1.HD camera calibration
  • 2.HD camera color tracking
  • 3.HD camera color tracking (robotic arm)
  • 4.HD camera object tracking
  • 5. KCF target tracking
  • 6.HD camera face tracking
  • 7.HD camera robotic arm carrying
  • 8.HD camera Autopilot
10.ROS robotic arm control tutorial
  • 1.MoveIt configuration
  • 2.MoveIt control the real machine
  • 3.MoveIt moves randomly
  • 4.MoveIt kinematics design
  • 5.MoveIt cartesian path
  • 6.MoveIt avoiding
  • 7.MoveIt scene design
  • 8.MoveIt trajectory planning
  • 9.Mediapipe palm control car
  • 10.Mediapipe gesture control robotic arm
  • 11.Mediapipe gesture control car
  • 12.Mediapipe arm attitude control robotic arm
11.ROS multi-robot control(Optional)
  • 1. Multi-robot control(Optional)
  • 2. Multi-robot queue performance(Optional)
  • 3. Multi-robot robot arm dancing(Optional)
12.Deep learning courses
  • 1.KNN recognizes handwritten digits
  • 2.Basic use of TensorFlow
  • 3.Basic use of PyTorch(jetson)
  • 4.yolov5 model training(jetson)
  • 5.yolov5+tensorrt acceleration(jetson)
  • 6.yolov4-tiny
13.Installation Video
  • Part18
  • Part1-6
  • Part7-12
  • Part13.1-13.3.3
  • Part13.4.1-17
14.FAQnew
  • 1.Using your own Jetson board,Transbot-SE cannot start normally
Download
  • APP(iOS/Android)
  • System_File-Pi5
  • System_File-Pi4
  • System_File-Jetson
  • VM_File
  • Appendix
  • Code
  • InstructionManual
  • Jetson_Boot_USB.tar.gz
  • Hardware_Info
Download ZIP

Welcome to Transbot SE repository

6.Data calibration

6. Robot calibration

6. Robot calibration6.1, imu calibration6.1.1. Calibration steps6.1.2. Related nodes6.2. Line speed calibration6.3. Angular velocity calibration

Note: The parameters have been calibrated before the product leaves the factory, and calibration is generally not required. If you feel that the control robot deviates greatly, you need to calibrate [imu], [linear speed], and [angular speed]; when calibrating, place the robot in advance and do not move the robot.

6.1, imu calibration

The error of IMU mainly comes from three parts, including noise (Bias and Noise), scale factor (Scale errors) and axis deviation (Axis misalignments).

Calculate accelerometer calibration parameters. Because it requires keyboard input, it should be run directly in the terminal rather than from a startup file. After receiving the first IMU message, the node will prompt you to hold the IMU in a specific orientation and press Enter to record the measurement. After completing all 6 directions, node will calculate the calibration parameters and write them to the specified YAML file. The basic algorithm is based on and similar to the least squares calibration method described in the STMicroelectronics application note. Due to the nature of the algorithm, obtaining good calibration requires the IMU to be positioned fairly precisely along each of its axes.

6.1.1. Calibration steps

Note: During calibration, make sure the robot is still.

jetson motherboard/Raspberry Pi 4B

On the robot side (take jetson nano as an example). Open the terminal and enter the startup command,

roslaunch transbot_bringup calibrate_imu.launch

Raspberry Pi 5

Before running, please confirm that the large program has been permanently closed

Enter docker

Note: If there is a terminal that automatically starts docker, or there is a docker terminal that has been opened, you can directly enter the docker terminal to run the command, and there is no need to manually start docker

Start docker manually

xxxxxxxxxx
./run_docker.sh

On the robot side (take jetson nano as an example). Open the terminal and enter the startup command,

xxxxxxxxxx
roslaunch transbot_bringup calibrate_imu.launch

image-20210907103420586

At this time, the calibration begins, and the six axes of the imu [X+, X-, Y+, Y-, Z+, Z-] are calibrated in sequence. At this point, click the [Enter] key repeatedly until the

image-20210907103911991

The calibration is successful and the calibration information is saved in the YAML file. After calibration is completed, it will exit automatically, as shown below:

image-20210917104450855

View node graph

jetson motherboard/Raspberry Pi 4B

xxxxxxxxxx
rqt_graph

Raspberry Pi 5

Enter the same docker from multiple terminals

Keep the program of the previous docker terminal running and open a new terminal

Enter the following command

xxxxxxxxxx
docker ps

Enter the same docker and use the following 18870bc3dc00 to modify the ID displayed on the actual terminal.

xxxxxxxxxx
docker exec -it 18870bc3dc00 /bin/bash

xxxxxxxxxx
rqt_graph

6.1.2. Related nodes

transbot_node

TopicTypeParsing
/transbot/imusensor_msgs/ImuThe most primitive imu data of the car

do_calib node

/TypeDefaults valueParsing
Subscribedsensor_msgs/Imu/raw_imuOriginal, uncalibrated IMU measurement
~calib_filestring"imu_calib.yaml"The file where the calibration parameters will be written
~measurementsint500Number of measurements collected for each direction
~reference_accelerationdouble9.80665Acceleration of gravity

6.2. Line speed calibration

Prepare:

  • Use a meter ruler to measure the distance of 1 meter and mark it.
  • Place the cart at the starting point.
  • Modify the parameter [linear_scale] in bringup.launch to 1.0.

jetson motherboard/Raspberry Pi 4B

Start the robot driver (robot side)

xxxxxxxxxx
roslaunch transbot_bringup bringup.launch

Line speed calibration (robot side or virtual machine side)

xxxxxxxxxx
roslaunch transbot_bringup calibrate_linear.launch

Raspberry Pi 5

Before running, please press Ctrl+c to close all running docker programs.

Before running, please confirm that the large program has been permanently closed

Enter docker

Note: If there is a terminal that automatically starts docker, or there is a docker terminal that has been opened, you can directly enter the docker terminal to run the command, and there is no need to manually start docker

Start docker manually

xxxxxxxxxx
./run_docker.sh

Start the robot driver (robot side)

xxxxxxxxxx
roslaunch transbot_bringup bringup.launch

Enter the same docker from multiple terminals

Keep the program of the previous docker terminal running and open a new terminal

Enter the following command

xxxxxxxxxx
docker ps

Enter the same docker and use the following 18870bc3dc00 to modify the ID displayed on the actual terminal.

xxxxxxxxxx
docker exec -it 18870bc3dc00 /bin/bash

Line speed calibration (robot side or virtual machine side)

xxxxxxxxxx
roslaunch transbot_bringup calibrate_linear.launch

The following picture appears:

image-20210907110338488

Enable dynamic parameter adjustment (robot side or virtual machine side)

jetson motherboard/Raspberry Pi 4B

xxxxxxxxxx
rosrun rqt_reconfigure rqt_reconfigure

Raspberry Pi 5

Enter the same docker from multiple terminals

Keep the program of the previous docker terminal running and open a new terminal

Enter the following command

xxxxxxxxxx
docker ps

Enter the same docker and use the following 18870bc3dc00 to modify the ID displayed on the actual terminal.

xxxxxxxxxx
docker exec -it 18870bc3dc00 /bin/bash

xxxxxxxxxx
rosrun rqt_reconfigure rqt_reconfigure

image-20210907110923855

Click the square on the right side of [start_test] and start moving the [test_distance] distance. At this time, observe whether the car actually moves [test_distance]. If not, adjust the parameter [odom_linear_scale_correction], return the car to the starting point and continue testing.

  • test_distance: test distance. Not too big, the default is one meter.
  • speed: test line speed. If the speed is too great, the inertia will be great.
  • tolerance: error in reaching the target. If the error is too small, it will jitter at the target position. On the contrary, the error when reaching the target point will be large.
  • odom_linear_scale_correction: Odometer scaling.
  • start_test: Start testing.

After the test is completed, remember the value of [odom_linear_scale_correction] and modify it to the value of the parameter [linear_scale] in bringup.launch.

6.3. Angular velocity calibration

Prepare:

  • Place the car in a position where it can easily rotate at different angles.
  • Modify the parameter [angular_scale] in bringup.launch to 1.0.

jetson motherboard/Raspberry Pi 4B

Start the robot driver (robot side)

xxxxxxxxxx
roslaunch transbot_bringup bringup.launch

Angular velocity calibration (robot side or virtual machine side)

xxxxxxxxxx
  roslaunch transbot_bringup calibrate_angular.launch

Raspberry Pi 5

Before running, please press Ctrl+c to close all running docker programs.

Before running, please confirm that the large program has been permanently closed

Enter docker

Note: If there is a terminal that automatically starts docker, or there is a docker terminal that has been opened, you can directly enter the docker terminal to run the command, and there is no need to manually start docker

Start docker manually

xxxxxxxxxx
./run_docker.sh

Start the robot driver (robot side)

xxxxxxxxxx
roslaunch transbot_bringup bringup.launch

Enter the same docker from multiple terminals

Keep the program of the previous docker terminal running and open a new terminal

Enter the following command

xxxxxxxxxx
docker ps

Enter the same docker and use the following 18870bc3dc00 to modify the ID displayed on the actual terminal.

xxxxxxxxxx
docker exec -it 18870bc3dc00 /bin/bash

Angular velocity calibration (robot side or virtual machine side)

xxxxxxxxxx
  roslaunch transbot_bringup calibrate_angular.launch

The following picture appears:

image-20210907112259595

Enable dynamic parameter adjustment (robot side or virtual machine side)

jetson motherboard/Raspberry Pi 4B

xxxxxxxxxx
rosrun rqt_reconfigure rqt_reconfigure

Raspberry Pi 5

Enter the same docker from multiple terminals

Keep the program of the previous docker terminal running and open a new terminal

Enter the following command

xxxxxxxxxx
docker ps

Enter the same docker and use the following 18870bc3dc00 to modify the ID displayed on the actual terminal.

xxxxxxxxxx
docker exec -it 18870bc3dc00 /bin/bash

xxxxxxxxxx
rosrun rqt_reconfigure rqt_reconfigure

image-20210907112806090

Click the square on the right side of [start_test] and start moving the [test_angle] distance. At this time, observe whether the car actually moves [test_angle]. If not, adjust the parameter [odom_angule_scale_correction], return the car to the starting point and continue testing.

  • test_angle: test distance. Not too big, the default is 360°.
  • speed: test angular speed. If the speed is too great, the inertia will be great.
  • tolerance: error in reaching the target. If the error is too small, it will jitter at the target position. On the contrary, the error when reaching the target point will be large.
  • odom_angule_scale_correction: Odometer scaling.
  • start_test: Start testing.

After the test is completed, remember the value of [odom_angule_scale_correction] and modify it to the value of the parameter [angular_scale] in bringup.launch.

Robot state estimation
HD 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
QR Code

Copyright © 2017-2026 Yahboom. All Rights Reserved.

EN/中文