Unable to /set_pose if odom0_differential = false [closed]

asked 2017-03-15 13:05:42 -0500

bluehash gravatar image

Hello,

I have two sensors - odometry(wheel encoders) and an IMU for localization. The EKF params are as below:

odom0: /odom
imu0:  /imu/data

odom0_config: [true,  true,  false,          
               false, false, true,
               false, false, false,
               false, false, false,
               false, false, false]

imu0_config:  [false, false,  false,
               false, false,  true,
               false, false,  false,
               false, false,  true,
               false, false,  false]

odom0_differential: false
imu0_differential:  false

odom0_relative: true
imu0_relative:  true

If I need to initialize the filter, at say (1,2), I issue a /set_pose service call with a frame_id = odom. This only works if odom0_differential = true.

The odometry is pure pose(x,y and yaw) and IMU yaw is calculated via the complimentary filter. From what I understand, setting the differential term to true causes the odometry to be differentiated and then integrated to get the same pose value. How do I initialize the filter at a location, with odom0_differential = false.

Thanks.

edit retag flag offensive reopen merge delete

Closed for the following reason duplicate question by bluehash
close date 2017-04-27 11:20:11.602897

Comments

Would you mind closing this, in light of the other question?

Tom Moore gravatar image Tom Moore  ( 2017-04-11 04:55:33 -0500 )edit

Please see answer here: http://answers.ros.org/question/25849...

Thanks Tom.

bluehash gravatar image bluehash  ( 2017-04-27 11:21:13 -0500 )edit