robot_localization, problem with Roll, Pitch measurements
Dear all,
I want to configure the package robot_localization (using Xsense IMU), in order that it takes into account the orientation of the robot (roll, pitch and for sure yaw) while rotating.
Unfortunately, I did not find any documentation or example to configure it correctly.
I have achieved to configure it where it takes into account the the rotation on Roll as well as the Z position of the robot with the following configuration file
frequency: 20
two_d_mode: false
# X, Y, Z
# roll, pitch, yaw
# X vel, Y vel, Z vel
# roll vel, pitch vel, yaw vel
# X accel, Y accel, Z accel
#Odometry input config
odom0: /odom
odom0_config:
[false, false, false,
false, false, false,
true, true, true,
true, true, true,
false, false, true]
odom0_differential: false
odom0_relative: true
# input config
imu0: /imu/data # Xsense
imu0_config:
[false, false, false,
true, true, true,
false, false, false,
true, true, true,
true, false, true]
mu0_differential: false
imu0_relative: true
imu0_remove_gravitational_acceleration: false
dynamic_process_noise_covariance: true
#Frames config
odom_frame: odom
base_link_frame: base_link
world_frame: odom
But this configuration does not work when I tried to rotate the robot around X axis (pitch)
But, When I tried the following configuration it worked well for the rotation on Pitch and this time was not taking into account the Roll rotation
frequency: 20
two_d_mode: false
# X, Y, Z
# roll, pitch, yaw
# X vel, Y vel, Z vel
# roll vel, pitch vel, yaw vel
# X accel, Y accel, Z accel
#Odometry input config
odom0: /odom
odom0_config: [false, false, false,
false, false, false,
true, true, true,
true, true, true,
false, false, false]
odom0_differential: false
odom0_relative: true
# input config
#imu0: /imu # Razor
imu0: /imu/data # Xsense
imu0_config: [false, false, false,
true, true, true,
false, false, false,
true, true, true,
true, false, false]
imu0_differential: false
imu0_relative: true
imu0_remove_gravitational_acceleration: false
dynamic_process_noise_covariance: true
#Frames config
odom_frame: odom
base_link_frame: base_link
world_frame: odom
The difference between these two is taking into account the acceleration on Z axis (for both IMU and odometry).
Do you know why I get this results?
Thanks in advance,
Asked by Mobile_robot on 2019-06-12 10:26:05 UTC
Comments
Are you referring to your specific combination of sensors? Because
robot_localization
has quite extensive documentation. For example the Configuring robot_localization page.Asked by gvdhoorn on 2019-06-12 12:51:36 UTC
Thanks for your comment. I do not know how you define "extensive documentation" but unfortunately there is no clear explanation on how to configure
robot_localization
for a robot which moves in a 3D world not on the website nor in the presentation video.Asked by Mobile_robot on 2019-06-13 07:39:10 UTC
That's why I asked whether you were asking for something specific to your setup. It would be good to add that you are looking for a 6D state estimate, and not a regular 2.5D one.
Asked by gvdhoorn on 2019-06-13 07:42:22 UTC
I work on a mobile robot (nonholonomic) which is equipped with an IMU (xsense). As you know well, the configuration for a planar movement has been clearly explained and there are many examples on the Internet. But, for some reasons, I want to know the orientation of the robot (the robot can pass side walks for example) and till now I did not achieve to configure the
robot_localization
correctly.Asked by Mobile_robot on 2019-06-13 07:48:09 UTC
Please include sample input messages from all sensor inputs. Also, please include any static transforms you may be using.
Asked by Tom Moore on 2019-07-03 04:24:39 UTC
Also, can you provide more detail beyond "didn't work"? Maybe show some images?
Asked by Tom Moore on 2019-07-03 04:27:08 UTC
Any update on this? If the question is no longer valid, would you mind closing it?
Asked by Tom Moore on 2019-08-22 06:29:01 UTC