Updated :Robot-state-publisher causing error in tf..with eg. code
Update: I am getting ready to open a ticket on the robot state publisher if no one can point out a specific problem with the urdf file. So please if anyone has any ideas please let me before I do this.
Update: simplified urdf that exhibits problem
The following launch file and simple urdf of a box with wheels when run produces tf errors generated by the robot state publisher. If this is a problem in the urdf can someone please point it out. I reduced this to as simple a problem eg as I can. Hopefully someone can see the issue here.
The error:[ERROR] [1379637817.041486892]: TF_NAN_INPUT: Ignoring transform for child_frame_id "left_wheel" from authority "/robot_state_publisher" because of a nan value in the transform (-nan -nan -nan) (-nan -nan -nan -nan)
[ERROR] [1379637817.041663265]: TF_NAN_INPUT: Ignoring transform for child_frame_id "right_wheel" from authority "/robot_state_publisher" because of a nan value in the transform (-nan -nan -nan) (-nan -nan -nan -nan)
<launch>
<param name="robot_description" textfile="$(find rrbot_description)/urdf_error/rrbot.urdf" />
<!-- Show in Rviz -->
<node name="rqt_gui" pkg="rqt_gui" type="rqt_gui"/>
<node pkg="joint_state_publisher" type="joint_state_publisher"
name="joint_state_publisher" output="screen">
<param name="use_gui" value="True"/>
</node>
<node pkg="robot_state_publisher" type="robot_state_publisher"
name="robot_state_publisher" output="screen">
</node>
</launch>
<?xml version="1.0"?>
<robot name="rrbot">
<link name='base_link'>
<collision name='collision'>
<origin xyz="0 0 .1" rpy="0 0 0"/>
<geometry>
<box size=".4 .2 .1"/>
</geometry>
</collision>
<visual name='visual'>
<origin xyz="0 0 .1 " rpy="0 0 0"/>
<geometry>
<box size=".4 .2 .1"/>
</geometry>
</visual>
</link>
<link name="left_wheel">
<collision name="collision">
<origin xyz="0.05 0.15 0.1" rpy="0 1.5707 1.5707"/>
<geometry>
<cylinder length="0.05" radius="0.1"/>
</geometry>
</collision>
<visual name="visual">
<origin xyz="0.05 0.15 0.1" rpy="0 1.5707 1.5707"/>
<geometry>
<cylinder length="0.05" radius="0.1"/>
</geometry>
</visual>
</link>
<joint type="revolute" name="joint1">
<origin xyz="0.05 0.08 0.05" rpy="1.5707 1.5707 0"/>
<child link="left_wheel"/>
<parent link="base_link"/>
<axis>
<xyz>0 1 0</xyz>
</axis>
<limit upper="0" lower="-1.57" velocity="10" effort="10"/>
</joint>
</robot>
Have you checked to output of the publisher? Maybe switch it to debug.
I will down load and compile source and put set(ROS_BUILD_TYPE Debug) in CMakefile...I think this is all I need to do..yes...as long as my catkin paths are frist in env.
I meant the ROS logger debug. You can set that with rxloggerlevel for each running node. Also you should look at the robot_state_publisher outputs or logfiles, not the master log -- this still doesn't guarantee you'll get usefull results. Someone must have implemented that.
All he data I've posted comes form the logs...so that is it. There is nothing in the rxlogger that is not also in the log files , no? If there is no other way of getting additional data then with out turning on new debug features then what you see is what I got.
This output looks to me like the output from the rosmaster. You'd be interested in the output of robot_state_publisher as that's causing your problems.
Can you try, if the errors in your example still appear when you use revolute instead of continuous joints?
Yes...same error