robot_localization imu problem [closed]
I want to use ARtoolkit with imu to localize the camera. From Artoolkit I publish " geometry_msgs/PoseWithCovarianceStamped". From imu I publish "sensor_msgs/Imu".
"ekf_localization" is working with ARtookit ,but for the imu, the camera rotate around the world frame instead of rotating around itself , I mean if I rotate the imu around it self the ekf_localization make this rotation around the world frame.
<launch>
<node pkg="robot_localization" type="ekf_localization_node" name="ekf_localization" clear_params="true">
<param name="frequency" value="30"/>
<param name="sensor_timeout" value="0.033"/>
<param name="two_d_mode" value="false"/>
<param name="odom_frame" value="odom"/>
<!-- Defaults to "base_link" if unspecified -->
<param name="base_link_frame" value="base_link"/>
<!-- Defaults to the value of "odom_frame" if unspecified -->
<param name="world_frame" value="odom"/>
<param name="transform_time_offset" value="0.0"/>
<param name="pose0" value="arpose"/>
<param name="imu0" value="imu"/>
<rosparam param="pose0_config">[true, true, true,
true, true, true,
false, false, false,
false, false, false,
false, false, false]</rosparam>
<rosparam param="imu0_config">[false, false, false,
false, false, false,
false, false, false,
true, true, true,
false, false, false]</rosparam>
<param name="pose0_differential" value="false"/>
<param name="imu0_differential" value="true"/>
<param name="pose0_relative" value="false"/>
<param name="imu0_relative" value="true"/>
<param name="imu0_remove_gravitational_acceleration" value="false"/>
<param name="print_diagnostics" value="true"/>
</node>
</launch>
Artoolkit " geometry_msgs/PoseWithCovarianceStamped"
header:
seq: 2689
stamp:
secs: 1447429112
nsecs: 29553890
frame_id: base_link
orientation:
x: 0.0
y: 0.0
z: 0.0
w: 0.0
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.0010652645
z: 0.0
angular_velocity_covariance: [1000.0, 0.0, 0.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 1000.0]
linear_acceleration:
x: -0.1147221
y: 0.066764873
z: -0.2863152313
linear_acceleration_covariance: [1000.0, 0.0, 0.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 1000.0]
imu "sensor_msgs/Imu".
header:
seq: 480
stamp:
secs: 1447431143
nsecs: 488662958
frame_id: base_link
orientation:
x: 0.0
y: 0.0
z: 0.0
w: 0.0
orientation_covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
angular_velocity:
x: 0.18535602
y: -0.101200126
z: 0.11824436
angular_velocity_covariance: [1000.0, 0.0, 0.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 1000.0]
linear_acceleration:
x: 0.70240245
y: 0.68480095
z: 0.9316814
linear_acceleration_covariance: [1000.0, 0.0, 0.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 1000.0]
Did you ever figure out the answer to this? I realize the question is very old.