[ros-users] merging different joint_states

Lorenz Mösenlechner moesenle at in.tum.de
Thu Jan 20 08:41:38 UTC 2011


Hi,

we found this solution pretty impractical. It introduces an error to
the TF transforms' time stamps.

The problem is that, since the JointState message has only one time
stamp for all joint states, I don't see a correct way to calculate the
correct time stamp for the merged message. That means the TF
transforms' time stamps will we wrong in any case. The only solution
we found is to not use an aggregator but to extend the
joint_state_publisher to be able to handle joint states from different
topics that produces different time stamps for the tf frames from the
different sources.

Lorenz

> Hi,
> 
> we solved the problem with a joint state aggregator. You can find the package in the cob_driver stack (installation with sudo apt-get install ros-cturtle-care-o-bot), the package is called cob_joint_state_aggregator.
> 
> The aggregator collects all messages on the topic "joint_states" and combines them to a unique message published to "joint_states_combined" which is then used as an input for the joint_state_publisher to calculate tf. To configure it for your robot have a look at the /ros/launch/cob3-yaml file, where you have to specify the joint_names for your robot.
> 
> I hope this helps.
> 
> Regards,
> Florian
> 
> 
> 
> 
> -----Ursprüngliche Nachricht-----
> Von: ros-users-bounces at code.ros.org im Auftrag von David Lu!!
> Gesendet: Mi 19.01.2011 21:07
> An: User discussions
> Betreff: Re: [ros-users] merging different joint_states
>  
> Ugo-
> Your email reminded me that I was thinking about adding this feature to
> joint_state_publisher. I've attached a version that I'll upload to our
> repository after a little more testing.
> 
>     <node name="joint_state_publisher" type="joint_state_publisher"
> pkg="joint_state_publisher" output="screen">
>         <param name="robot_description" textfile="model.urdf" />
>         <rosparam param="source_list">[head_states, body_states]</rosparam>
>     </node>
> 
> This is how I launch it to merge the JointStates published on head_states
> and body_states.
> 
> Let me know how well it works.
> 
> -David!!
> 
> 
> On Wed, Jan 19, 2011 at 8:42 AM, Ugo Cupcic <ugo at shadowrobot.com> wrote:
> 
> > Hi,
> >
> > I have an arm and a hand publishing different joint_states messages and I'd
> > like to merge them (having seen this discussion:
> > http://ros-users.122217.n3.nabble.com/robot-state-publisher-with-joint-states-in-different-messages-does-not-compute-tf-for-all-joints-td1945465.html
> > )
> >
> > Is there an existing node to merge the joint_states messages, or do I need
> > to implement mine?
> >
> > Cheers,
> >
> > Ugo
> >
> >
> >
> > _______________________________________________
> > ros-users mailing list
> > ros-users at code.ros.org
> > https://code.ros.org/mailman/listinfo/ros-users
> >
> >
> 

> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users


-- 
Lorenz Mösenlechner            | moesenle at in.tum.de
Technische Universität München | Boltzmannstr. 3
85748 Garching bei München     | Germany
http://ias.cs.tum.edu/         | Tel: +49 (89) 289-26910



More information about the ros-users mailing list