-
-
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_localization
parameters
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-8
Open RTIMULibDemoGL
and calibrate the accelerometer and gyro.
cd /home/create1/RTIMULib/RTEllipsoidFit
RTIMULibDemoGL
Rename 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