Configuration
In the provided package, several configuration have to be adjusted which
are:
In-depth information is documented by the authors of the robot
localization package.
GPS Localization Config
In this configuration file, we combine three sensor readings, which are
the robots odom, imu, and the gps.
frequency
: 20
two_d_mode
: true
publish_tf
: true
transform_time_offset
: 2
Setting the sequence of transforms for this localization node.
It is important to change the odom to the odom published by your robot.
odom0
: /your_robot/odom
odom0_config
: [false, false, false, false, false, false, true,
false, false, false, false, false,false, false, false]
The boolean values are (X, Y, Z, roll, pitch, yaw, Xv, Yv, Zv,
rollv, pitchv, yawv, Xa, Ya, Za).
v is velocity and a is acceleration
odom0_differential
: true
imu0
: /imu/data
imu0_config
: [false, false, false, false, false, true, false, false,
false, false, false, true, true, false, false]
The boolean values are (X, Y, Z, roll, pitch, yaw, Xv, Yv, Zv,
rollv, pitchv, yawv, Xa, Ya, Za).
v is velocity and a is acceleration
imu0_differential
: false
odom1
: /odometry/gps
odom1_config
: [true, true, false, false, false, false, false, false,
false, false, false, false, false, false, false]
The boolean values are (X, Y, Z, roll, pitch, yaw, Xv, Yv, Zv,
rollv, pitchv, yawv, Xa, Ya, Za).
v is velocity and a is acceleration
odom1_differential
: false
It is highly important to tune the process noises.
For more information, the following repository by MethylDragon has a
great explanatory guide.
Odom Localization Config
In this configuration file, we combine two sensor readings, which are
the robots odom, and imu.
frequency
: 20
two_d_mode
: true
publish_tf
: true
transform_time_offset
: 1
Setting the sequence of transforms for this localization node.
It is important to change the odom to the odom published by your robot.
odom0
: /your_robot/odom
odom0_config
: [false, false, false, false, false, false, true,
false, false, false, false, false,false, false, false]
The boolean values are (X, Y, Z, roll, pitch, yaw, Xv, Yv, Zv,
rollv, pitchv, yawv, Xa, Ya, Za).
v is velocity and a is acceleration
odom0_differential
: false
imu0
: /imu/data
imu0_config
: [false, false, false, false, false, true, false, false,
false, false, false, true, true, false, false]
The boolean values are (X, Y, Z, roll, pitch, yaw, Xv, Yv, Zv,
rollv, pitchv, yawv, Xa, Ya, Za).
v is velocity and a is acceleration
imu0_differential
: false
MoveBase Local Planner DWA
TEB planner
TEB planner tuning
Important
It is important to note that the DWA planner is no longer used and we use the TEB planner.
Configuration for the teb planner can be found in the TEB planner wiki. An excellent resource
for tuning your TEB planner is vailable in TEB planner tuning.
It is recommended to configure the move base planner to ensure correct
movement. Several important ones are:
For more information, the following MoveBase Wiki has a brief
explanation.
Costmap Common Params
The costmap will be used to integrate and utilize your existing sensor
for collision avoidance.Important parameters for this are:
footprint
: [[-0.21, -0.165], [-0.21, 0.165], [0.21, 0.165], [0.21, -0.165]]
For more information, the following Costmap Wiki has a brief
explanation.
Global Costmap Params
The global costmap of movebase node, as the name states publishes the
global costmap. It takes the map, provided by the map server as a static
layer. An important point to note is that some warning messages may
occur if the on board computer system do not compute the transforms fast
enough. These warnings can be ignored.
Local Costmap Params
The local costmap of movebase node publishes the local costmap. It
ypically requires the odom frame to operate. However, as we want to
depend solely on our GPS, we utilize the map frame for the local costmap
as well.
MoveBase Params
The movebase params are important for changing the planner frequency and
controller frequency. Usually the default settings are sufficient.