asked Feb 21
This post is a wiki. Anyone with karma >750 is welcome to improve it.
I set up ar_kinect and printed the 4x4 pattern on a piece of paper (letter size). Everything seems to be working except that the recognition of pattern is on and off. In particular it only recognizes a transform when the paper is tilted (not perpendicular to the camera) and even then the update rate is slow (compared to what I see on the videos posted). I get the following message whenever a pose is not published
TF_NAN_INPUT: Ignoring transform for child_frame_id "/TEST_PATTERN" from authority "/ar_kinect" because of a nan value in the transform (nan nan nan) (nan nan nan nan)--
here is the roslaunch file for ar_kinect
<launch>
<node name="ar_kinect" pkg="ar_kinect" type="ar_kinect" respawn="false" output="screen">
<param name="marker_pattern_list" type="string" value="$(find ar_kinect)/data/objects_kinect"/>
<param name="marker_data_directory" type="string" value="$(find ar_pose)"/>
<param name="threshold" type="int" value="100"/>
<remap from="/camera/rgb/points" to="/camera/depth_registered/points"/>
</node>
</launch>
Is this because ar_kinect uses the depth information and there is very little depth info on a piece of paper? If so what is the proper setup?
I will appreciate it if anyone can help with this.
Ar_kinect basically uses ar_toolkit to find the four corners, then uses the depth information to refine the 3d pose. If any of the corners has no depth data, the registration fails. Unfortunately, there isn't much you can do if you just don't have depth data at some angles.
I just applied a patch that has been sitting on our issue tracker for quite some time which should clean up the NANs. (which is a more graceful way to deal with missing points than publishing horribly NAN transforms). If you pull the trunk again from SVN and rebuild you should at least see the NAN issues go away.
Asked: Feb 21
Seen: 49 times
Last updated: Feb 22
ROS Answers is licensed under Creative Commons Attribution 3.0 Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.