robot_state_publisher with joint_states in different messages does not compute tf for all joints

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

robot_state_publisher with joint_states in different messages does not compute tf for all joints

Weißhardt, Florian

Dear ros users,

 

probably we figured out a bug in the robot_state_publisher (or are not using it correctly):

 

We are running a robot_state_publisher subscribed to the /joint_states topic and using a urdf robot_description. The transformation from joint_states with urdf to tf transformations works only if

a)       the joint information for the whole kinematic chain is published in one joint_states message or

b)       at least there are no joints connected to a serial chain and published in different joint_states messages.

 

In our case e.g. there is a gripper attached to an arm. Both have rotary joints defined and are publishing joint_states in two different joint_states messages, but tf can only be computed for the arm, not for the gripper.

 

Is this a known behaviour (bug?) or are we missing something?

 

Best regards,

Florian

 


_______________________________________________
ros-users mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-users
dlu
Reply | Threaded
Open this post in threaded view
|

Re: robot_state_publisher with joint_states in different messages does not compute tf for all joints

dlu
This is the intended behavior. The standard approach to fixing it is to create a node that merges the two JointState messages. Alternatively, you could use two separate URDF and two separate robot_state_publishers. 

-David!!

On Mon, Nov 22, 2010 at 6:44 AM, Weißhardt, Florian <[hidden email]> wrote:

Dear ros users,

 

probably we figured out a bug in the robot_state_publisher (or are not using it correctly):

 

We are running a robot_state_publisher subscribed to the /joint_states topic and using a urdf robot_description. The transformation from joint_states with urdf to tf transformations works only if

a)       the joint information for the whole kinematic chain is published in one joint_states message or

b)       at least there are no joints connected to a serial chain and published in different joint_states messages.

 

In our case e.g. there is a gripper attached to an arm. Both have rotary joints defined and are publishing joint_states in two different joint_states messages, but tf can only be computed for the arm, not for the gripper.

 

Is this a known behaviour (bug?) or are we missing something?

 

Best regards,

Florian

 


_______________________________________________
ros-users mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-users



_______________________________________________
ros-users mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-users
Reply | Threaded
Open this post in threaded view
|

Re: robot_state_publisher with joint_states in different messages does not compute tf for all joints

Weißhardt, Florian
AW: [ros-users] robot_state_publisher with joint_states in different messages does not compute tf for all joints

Hi,

what's the reason/drawback for not having one robot_state_publisher and one urdf that can deal with multiple joint_states messages for a serial kinematic chain? ...which is, at least for me, the intuitive understanding of a "global" /joint_states topic and a "global" urdf description for the whole robot. Why dividing it into multiple subsystems?

Regards,
Florian


-----Ursprüngliche Nachricht-----
Von: [hidden email] im Auftrag von David Lu!!
Gesendet: Mo 22.11.2010 14:45
An: User discussions
Betreff: Re: [ros-users] robot_state_publisher with joint_states in different messages does not compute tf for all joints

This is the intended behavior. The standard approach to fixing it is to
create a node that merges the two JointState messages. Alternatively, you
could use two separate URDF and two separate robot_state_publishers.

-David!!

On Mon, Nov 22, 2010 at 6:44 AM, Weißhardt, Florian <
[hidden email]> wrote:

>  Dear ros users,
>
>
>
> probably we figured out a bug in the robot_state_publisher (or are not
> using it correctly):
>
>
>
> We are running a robot_state_publisher subscribed to the /joint_states
> topic and using a urdf robot_description. The transformation from
> joint_states with urdf to tf transformations works only if
>
> a)       the joint information for the whole kinematic chain is published
> in one joint_states message or
>
> b)       at least there are no joints connected to a serial chain and
> published in different joint_states messages.
>
>
>
> In our case e.g. there is a gripper attached to an arm. Both have rotary
> joints defined and are publishing joint_states in two different joint_states
> messages, but tf can only be computed for the arm, not for the gripper.
>
>
>
> Is this a known behaviour (bug?) or are we missing something?
>
>
>
> Best regards,
>
> Florian
>
>
>
> _______________________________________________
> ros-users mailing list
> [hidden email]
> https://code.ros.org/mailman/listinfo/ros-users
>
>


_______________________________________________
ros-users mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-users
Reply | Threaded
Open this post in threaded view
|

Re: robot_state_publisher with joint_states in different messages does not compute tf for all joints

tfoote
Hi Florian,

This was more of a simpler implementation choice then a design decision.  When robot_state_publisher was written all our joint states came from one node synchronously.  There's an open ticket to add this capability https://code.ros.org/trac/ros-pkg/ticket/4464

Tully

On 11/22/2010 05:58 AM, Weißhardt, Florian wrote:
AW: [ros-users] robot_state_publisher with joint_states in different messages does not compute tf for all joints

Hi,

what's the reason/drawback for not having one robot_state_publisher and one urdf that can deal with multiple joint_states messages for a serial kinematic chain? ...which is, at least for me, the intuitive understanding of a "global" /joint_states topic and a "global" urdf description for the whole robot. Why dividing it into multiple subsystems?

Regards,
Florian


-----Ursprüngliche Nachricht-----
Von: [hidden email] im Auftrag von David Lu!!
Gesendet: Mo 22.11.2010 14:45
An: User discussions
Betreff: Re: [ros-users] robot_state_publisher with joint_states in different messages does not compute tf for all joints

This is the intended behavior. The standard approach to fixing it is to
create a node that merges the two JointState messages. Alternatively, you
could use two separate URDF and two separate robot_state_publishers.

-David!!

On Mon, Nov 22, 2010 at 6:44 AM, Weißhardt, Florian <
[hidden email]> wrote:

>  Dear ros users,
>
>
>
> probably we figured out a bug in the robot_state_publisher (or are not
> using it correctly):
>
>
>
> We are running a robot_state_publisher subscribed to the /joint_states
> topic and using a urdf robot_description. The transformation from
> joint_states with urdf to tf transformations works only if
>
> a)       the joint information for the whole kinematic chain is published
> in one joint_states message or
>
> b)       at least there are no joints connected to a serial chain and
> published in different joint_states messages.
>
>
>
> In our case e.g. there is a gripper attached to an arm. Both have rotary
> joints defined and are publishing joint_states in two different joint_states
> messages, but tf can only be computed for the arm, not for the gripper.
>
>
>
> Is this a known behaviour (bug?) or are we missing something?
>
>
>
> Best regards,
>
> Florian
>
>
>
> _______________________________________________
> ros-users mailing list
> [hidden email]
> https://code.ros.org/mailman/listinfo/ros-users
>
>

_______________________________________________ ros-users mailing list [hidden email] https://code.ros.org/mailman/listinfo/ros-users

_______________________________________________
ros-users mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-users