-
-
Notifications
You must be signed in to change notification settings - Fork 38
Tuning robot localization
The idea behind this document is to define next steps to improve the localization of robot using robot_localization package. This means, providing a more stable transformation between /base_footprint and /odom.
This task will affect both the real robot and the simulation.
- Milestone: Localization
- Testing PR
robot_localization needs to have a proper sensor configuration in order to work correctly. So, first, the wheel encoders will be checked:
- Topic names
- Transformations (Tf)
- Rates
- Tweak the covariance matrix
- Position in the robot description
One of the steps needed for this is to provide a stable IMU measurement but, for that, it's necessary to integrate the device with some filter:
- Provide IMU and magnetometer raw information
- Calibrate readings
- Fuse readings to provide a single information
After this is done, we need to compare both Gazebo and real robot data before proceeding.
To integrate robot_localization we need to first test sensor data individually. But before, for debugging individually we need to have some tools:
- Provide a pose taken from a laser scan matcher node
- Have a script that moves the robot doing squares
- Check ground truth readings for Gazebo
And finally, it's time to debug the robot_localization package. For that, these tasks are proposed:
- Check control rates
- Tune
robot_localizationparameters
| TASK | PULL REQUESTS | FINISH DATE |
|---|---|---|
| Wheel odometry position in the robot_description | - | June 11th, 2020 |
| Wheel odometry topic name | - | June 12th, 2020 |
| Wheel odometry rate | 205 | June 11th, 2020 |
| Wheel odometry covariance | ||
| Provide IMU and magnetometer raw information | 209 | June 20th, 2020 |
| Calibrate readings | 209 | June 20th, 2020 |
| Fuse IMU readings to provide a single information | 209 | June 20th, 2020 |
| IMU topic name | 209 | June 20th, 2020 |
| IMU rate | 220, 1 | June 27th, 2020 |
| IMU covariance | ||
| IMU pose in the robot_description | 208 | June 14th, 2020 |
| Robot transformations (Tf prefixes) and tests to prevent regressions | ||
| Compare wheel odometry readings in the real robot and simulation | 57 | |
| Compare IMU readings in the real robot and simulation | ||
| Pose taken from a laser scan matcher node | ||
| Check ground truth readings for Gazebo | 204 | June 11th, 2020 |
| Script to move the robot doing squares | 213 | June 25th, 2020 |
| Check control rates | ||
Tune robot_localization parameters |
185 | July 5th, 2020 |
Before starting make sure locale is set to en_US.UTF-8 to avoid having problems with decimals numbers (, vs .).
sudo update-locale LC_ALL=en_US.UTF-8Open RTIMULibDemoGL and calibrate the accelerometer and gyro.
cd /home/create1/RTIMULib/RTEllipsoidFit
RTIMULibDemoGLRename the file RTIMULib.ini and createN.ini and move it to ca_imu/config directory.
cd /home/create1/RTIMULib/RTEllipsoidFit
octave
run mag_cal.m


