[ros-users] merging different joint_states

Lorenz =?utf-8?Q?M=F6senlechner?= moesenle at in.tum.de
Thu Jan 20 12:36:55 UTC 2011


Hi,

our state publisher is based on a pretty old version of
joint_state_publisher with the difference that it does not 'flatten'
the transform tree and supports multiple joint state sources.
You can find it in our repository:

https://tum-ros-pkg.svn.sourceforge.net/svnroot/tum-ros-pkg/robot_model/robot_state_chain_publisher/

It is not perfect, but it works for us.

However, the aggregator solution, if it worked properly, feels much
cleaner. To solve the time stamp problem, I guess the only thing that
is missing is a per-joint time stamp in the joint state message.

Lorenz

> Hi,
> 
> I know about the mentioned shortcomings, but for us the error was acceptable if you run the aggregator fast enough.
> 
> Of course the better way is to modify the joint_state_publisher: Do you have a solution for it which you could share?
> 
> Regards,
> Florian
> 
> 
> -----Ursprüngliche Nachricht-----
> Von: ros-users-bounces at code.ros.org [mailto:ros-users-bounces at code.ros.org] Im Auftrag von Lorenz Mösenlechner
> Gesendet: Donnerstag, 20. Januar 2011 09:42
> An: User discussions
> Betreff: Re: [ros-users] merging different joint_states
> 
> 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