Re: [ros-users] merging different joint_states

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: User discussions
Date:  
To: User discussions
Subject: Re: [ros-users] merging different joint_states
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: [mailto:ros-users-bounces@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: 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 <> 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
> > >
> > > https://code.ros.org/mailman/listinfo/ros-users
> > >
> > >
> >
>
> > _______________________________________________
> > ros-users mailing list
> >
> > https://code.ros.org/mailman/listinfo/ros-users
>
>


-- 
Lorenz M?senlechner            | 
Technische Universit?t M?nchen | Boltzmannstr. 3
85748 Garching bei M?nchen     | Germany
http://ias.cs.tum.edu/         | Tel: +49 (89) 289-26910