Unable to /set_pose if odom0_differential = false
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 /setpose service call with a frameid = 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.
Asked by bluehash on 2017-03-15 13:05:42 UTC
Comments
Would you mind closing this, in light of the other question?
Asked by Tom Moore on 2017-04-11 04:55:33 UTC
Please see answer here: http://answers.ros.org/question/258491/help-initializing-ekf-to-a-set-position/?answer=258964#post-id-258964
Thanks Tom.
Asked by bluehash on 2017-04-27 11:21:13 UTC