Note: The parameters of the product have been calibrated before leaving the factory, so generally no calibration is required. If you feel that the control deviation of the robot is large, you need to calibrate [imu], [linear speed], and [angular speed]; when calibrating, put the robot in place in advance and do not move the robot.
NAVROBO has already calibrated the imu before leaving the factory, so users do not need to calibrate. The following tutorial refers to the program that should be started if imu calibration is required.
Note: When calibrating, make sure the robot is stationary.
1) Startup
Stop the automatic chassis service
xxxxxxxxxx
sudo supervisorctl stop ChassisServer
Startup
xxxxxxxxxx
roslaunch yahboom_navrobo_bringup calibrate_imu.launch
As shown in the figure below, press Enter to calibrate the data in the X+, X-, Y+, Y-, Z+, and Z- directions in sequence. After the calibration is completed, it will be automatically saved in the specified folder.
When leaving the factory, the calibration data is saved in,
xxxxxxxxxx
/home/yahboom/YBAMR-COBOT-EDU-00001/src/yahboom_navrobo_bringup/yahboom_navrobo_bringup/param/imu_calib.yaml
xxxxxxxxxx
roslaunch yahboom_navrobo_bringup bringup_calib.launch
The above command is to use the calibrated imu data when starting the chassis driver.
1), Use a ruler to measure a distance of 1 meter and mark it.
2), Put the car at the starting point.
Note: To start control, you need to first turn the SWB button to the upper gear position (control command mode) to release the remote control
1), Terminal input
xxxxxxxxxx
roslaunch yahboom_navrobo_bringup bringup.launch #Start chassis control
roslaunch yahboom_navrobo_bringup calibrate_linear.launch #Start linear speed calibration
rosrun rqt_reconfigure rqt_reconfigure # Enable dynamic parameter adjustment
2) Click the right square of [start_test] and start moving [test_distance]. At this time, observe whether the car actually moves [test_distance]. If not, adjust the parameter [odom_linear_scale_correction] and put the car back to the starting point to continue testing.
Note: The car starts by calibrating the linear speed in the X-axis direction by default. After switching the direction in [direction], click [start_test] to start calibrating the linear speed in the Y-axis.
This type of chassis car does not need to calibrate the Y-axis direction! !
Remember the value of [odom_linear_scale_correction] after the test.
2), calibrate_linear.py program flow chart
1), Put the car in a position where it is easy to rotate the angles.
1), Terminal input
xxxxxxxxxx
roslaunch yahboom_navrobo_bringup bringup.launch #Open chassis control
roslaunch yahboom_navrobo_bringup calibrate_angular.launch #Open angular velocity calibration
rosrun rqt_reconfigure rqt_reconfigure #Open dynamic parameter adjustment
2), Click the right square of [start_test] and start moving [test_angle] distance. At this time, observe whether the car actually rotates [test_angle]. If not, adjust the parameter [odom_angule_scale_correction] and put the car back to the starting point to continue testing.
After the test, remember the value of [odom_angule_scale_correction].
3), calibrate_angular.py program flow chart