David,

I took a look at this and believe I have found the problem. Basically, the robot_pose_ekf is not checking whether the orientation is valid before attempting to use it; this is causing the quaternionMsgToTF call to attempt to transform a quaternion that is all 0's. I created a ticket for the robot_pose_ekf to check the covariance for the flag as specified in sensor_msgs/Imu and do something about receiving an IMU message that does not have a valid orientation (https://code.ros.org/trac/ros-pkg/ticket/4347).

Beyond that bug, I don't think the Wiimote can be used with the robot_pose_ekf as is right now. The ekf only uses the IMU for it's estimate of 3D orientation, not angular velocities or linear accelerations (see http://www.ros.org/wiki/robot_pose_ekf#Subscribed_Topics). Since the Wiimote does not provide an estimate of orientation, it will never be able to give the ekf usable data anyways. You could probably write some sort of separate filter node to estimate the orientation from the angular velocities and linear accelerations, and then feed that orientation estimate into the ekf, but I can't say whether you will actually get good results from that or not.

- Eric

On Wed, Aug 18, 2010 at 8:26 PM, David Lu!! <davidlu@wustl.edu> wrote:
Has anyone done integration of the Wii MotionPlus data to get a pose
estimate? I tried using robot_pose_ekf, but haven't found the right
configuration yet.

Currently, tis giving me this:
MSG to TF: Quaternion Not Properly Normalized

Here's my launch file:
 <launch>
 <node pkg="robot_pose_ekf" type="robot_pose_ekf"
name="robot_pose_ekf" output="screen">
   <param name="freq" value="30.0"/>
   <param name="sensor_timeout" value="1.0"/>
   <param name="publish_tf" value="true"/>
   <param name="odom_used" value="false"/>
   <param name="imu_used" value="true"/>
   <param name="vo_used" value="false"/>
   <remap to="/imu/data" from="/imu_data" />
 </node>
 <node pkg="wiimote" type="wiimote_node.py" name="wiimote" />
 </launch>
_______________________________________________
ros-users mailing list
ros-users@code.ros.org
https://code.ros.org/mailman/listinfo/ros-users