ROS Answers: Open Source Q&A Forum - RSS feedhttps://answers.ros.org/questions/Open source question and answer forum written in Python and DjangoenROS Answers is licensed under Creative Commons Attribution 3.0Fri, 29 Apr 2016 07:06:57 -0500Does robot_localization account for orientation in linear acceleration?https://answers.ros.org/question/228757/does-robot_localization-account-for-orientation-in-linear-acceleration/I've built a GPS/IMU device based on the Arduino 10-DOF breakout board, and have a question regarding feeding the data into the robot_localization ekf. At present this unit uses the XYZ accelerometers and magnetometers to determine roll, pitch, and heading. I would like to feed in the XYZ accelerometers as well, but am curious if the acceleration is getting doubly handled?
For example, my INU message looks like:
header:
seq: 871289
stamp:
secs: 1457646520
nsecs: 937000000
frame_id: inu
orientation:
x: 0.0673696058881
y: -0.336867507998
z: -0.479866940137
w: -0.807285165243
orientation_covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
angular_velocity:
x: 0.0
y: 0.0
z: 0.0
angular_velocity_covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
linear_acceleration:
x: -0.039227
y: 1.176798
z: 10.15969
linear_acceleration_covariance: [45.0, 0.0, 0.0, 0.0, 45.0, 0.0, 0.0, 0.0, 45.0]
do I need to correct out the acceleration so that the only acceleration is in the z axis (the unit is sitting motionless on my desk)?
The question arises from the fact that I have really noisy outputs in my /odometry/filtered topic, and while I haven't tuned the covariance matrices yet (still learning the best way to do this), my filtered GPS keeps going way off (like 2 degrees lat/lon) when it's sitting stationary.Thu, 10 Mar 2016 15:56:16 -0600https://answers.ros.org/question/228757/does-robot_localization-account-for-orientation-in-linear-acceleration/Answer by Tom Moore for <p>I've built a GPS/IMU device based on the Arduino 10-DOF breakout board, and have a question regarding feeding the data into the robot_localization ekf. At present this unit uses the XYZ accelerometers and magnetometers to determine roll, pitch, and heading. I would like to feed in the XYZ accelerometers as well, but am curious if the acceleration is getting doubly handled?</p>
<p>For example, my INU message looks like:</p>
<pre><code>header:
seq: 871289
stamp:
secs: 1457646520
nsecs: 937000000
frame_id: inu
orientation:
x: 0.0673696058881
y: -0.336867507998
z: -0.479866940137
w: -0.807285165243
orientation_covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
angular_velocity:
x: 0.0
y: 0.0
z: 0.0
angular_velocity_covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
linear_acceleration:
x: -0.039227
y: 1.176798
z: 10.15969
linear_acceleration_covariance: [45.0, 0.0, 0.0, 0.0, 45.0, 0.0, 0.0, 0.0, 45.0]
</code></pre>
<p>do I need to correct out the acceleration so that the only acceleration is in the z axis (the unit is sitting motionless on my desk)?</p>
<p>The question arises from the fact that I have really noisy outputs in my /odometry/filtered topic, and while I haven't tuned the covariance matrices yet (still learning the best way to do this), my filtered GPS keeps going way off (like 2 degrees lat/lon) when it's sitting stationary.</p>
https://answers.ros.org/question/228757/does-robot_localization-account-for-orientation-in-linear-acceleration/?answer=233253#post-id-233253Right now, we aren't accounting for biases in sensor data, but it's [something we will be adding](https://github.com/cra-ros-pkg/robot_localization/issues/249). Fri, 29 Apr 2016 07:06:57 -0500https://answers.ros.org/question/228757/does-robot_localization-account-for-orientation-in-linear-acceleration/?answer=233253#post-id-233253