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@code.ros.org [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: ros-users-bounces@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. > > > > > pkg="joint_state_publisher" output="screen"> > > > > [head_states, body_states] > > > > > > 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 > > > ros-users@code.ros.org > > > https://code.ros.org/mailman/listinfo/ros-users > > > > > > > > > > > _______________________________________________ > > ros-users mailing list > > ros-users@code.ros.org > > https://code.ros.org/mailman/listinfo/ros-users > > -- Lorenz Mösenlechner | moesenle@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