ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

robot_state_publisher link publish frequency not consistent

asked 2015-03-26 04:38:22 -0500

gpldecha gravatar image

updated 2015-03-27 07:29:45 -0500

I have a urdf model of a human hand in Rviz for which I update its position via my own tf broadcaster. I have noticed that when I move the hand the fingers lag behind the wrist. I am updating the position of the wrist at 100 Hz and in my launch file, I set the parameter of robot_state_publisher to 100 Hz as well.

   <node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher">
    <rosparam param="publish_frequency">100</rosparam>
   </node>

When I look at the rate at wich the tf frames are being published (from rosrun tf view_frames) the update of the palm (first link) is at 100 Hz and the last link "pinky_dof_4" is also updated at 100 Hz. However everything in between is being updated at 10 Hz. I would like to get all links in the URDF to be updated at 100 Hz.

image description

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2015-03-27 08:42:45 -0500

aak2166 gravatar image

Hm. I'm not sure if this is an issue, but after running your launch file can you query that parameter and see if its value is 100? I know the <rosparam> tags are used to specify the parameters in either a YAML file or handwritten YAML. Maybe if that's the case you could do something like <param name="publish_frequency" value="100" /> between your node tags.

edit flag offensive delete link more

Comments

well when I query the rosparam value it is correct: $ rosparam get /robot_state_publisher/publish_frequency 100 I used URDF and not YAML. Do you mean I should add a tag specifying the publish frequency in my URDF file ?

gpldecha gravatar image gpldecha  ( 2015-03-27 09:15:36 -0500 )edit

If you can query it then my theory isn't right. What I was getting at is that the param isn't set as expected; the rosparam tags are usually used to load parameters from a yaml.

aak2166 gravatar image aak2166  ( 2015-03-27 10:02:52 -0500 )edit
1

The only other thing I can think of is that perhaps the nodes publishing jointstate msgs passed to rsp are only publishing at 10 hz, and are limiting your tf publishing? I'm not certain though, just tossing around ideas.

aak2166 gravatar image aak2166  ( 2015-03-27 10:04:53 -0500 )edit

I have encountered the the rate is 10000 Hz using robot_state any idea what is the problem.

elthef gravatar image elthef  ( 2018-02-05 21:18:53 -0500 )edit

Please don't use an answer to ask a question. This isn't a forum. You can ask a new question and reference this or make a comment.

jayess gravatar image jayess  ( 2018-02-05 23:25:24 -0500 )edit

Did anybody ever solve this problem same thing is occurring for me. even tried to set joint state publisher rate to the same value but nothing changed

suomynona gravatar image suomynona  ( 2021-06-24 16:15:30 -0500 )edit

@suomynona you should ask a new question and reference this one to get more attention (considering that this question and answer or over 6 years old)

jayess gravatar image jayess  ( 2021-06-24 19:09:41 -0500 )edit

I just had the same issue. Joint_state_publisher and robot_state_publisher have to work on a high rate if we want to get high rates of TF. Thanks!

Marcin gravatar image Marcin  ( 2022-10-25 07:12:58 -0500 )edit

Question Tools

3 followers

Stats

Asked: 2015-03-26 04:38:22 -0500

Seen: 1,204 times

Last updated: Feb 05 '18