ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

datatype/md5sum error with p2os_teleop

asked 2011-10-04 22:33:21 -0500

anbaldinger gravatar image

updated 2011-10-04 22:35:32 -0500

Hello,

After successfully pairing the ps3-controller with bluetooth ($ rosrun ps3joy sixpair) and running ps3joy.py ($ rosrun ps3joy ps3joy.py) it shows "Connection activated" as expected.

But when I start teleop_joy.launch ($ roslaunch p2os_launch teleop_joy.launch) it shows:

ROS_MASTER_URI=http://localhost:11311

core service [/rosout] found
process[p2os_teleop-1]: started with pid [23530]
process[pioneer_joy_controller-2]: started with pid [23532]
[ERROR] [1317809297.619312697]: Client [/p2os_teleop] wants topic /joy to have datatype/md5sum
[joy/Joy/e3ef016fcdf22397038b36036c66f7c8], but our version has [sensor_msgs/Joy/5a9ea5f83505693b71e785041e67a8bb].
Dropping connection.

I have used the ps3-controller with bluetooth before on a different pc and never had such a problem. I've tried using an USB-bluetooth dongle instead of the built-in bluetooth but it didn't change anything.

Has anyone an idea what might be wrong? Any help is appreciated.

Greets, Andrew

edit retag flag offensive close merge delete

4 Answers

Sort by ยป oldest newest most voted
2

answered 2011-10-12 03:10:24 -0500

David Lu gravatar image

The problem is not on a hardware level. The joystick node is publishing on the topic /joy with message type sensor_msgs/Joy, whereas p2os_teleop is subscribing to /joy with message type joy/Joy.

Have you considered using the joy_node from package joy?

edit flag offensive delete link more
1

answered 2012-04-07 16:23:06 -0500

xylo gravatar image

I just figured this out with joystick_remapper. The problem is joy/Joy msg type is deprecated and you should use sensor_msgs/Joy instead. However, (in my case) joystick_remapper still subscribes to the old joy/Joy type. I made the change in joystick_remapper.py line 43:

from sensor_msgs.msg import Joy

Then in manifest.xml in the joystick_remapper package, remove

<depend package="joy"/>

and add

<depend package="sensor_msgs"/>

Do rosmake the package. Then you're good to run the joy_remap node.

edit flag offensive delete link more
1

answered 2012-06-08 05:28:36 -0500

updated 2012-06-08 05:38:36 -0500

This is how you get p2os_teleop to work in ROS Electric:

  • In file p2os/p2os_teleop/manifest.xml:

    • Line 12: <depend package="joy"/> โ‡’ <depend package="sensor_msgs"/>
  • In file p2os/p2os_teleop/src/p2os_teleop.cc:

    • Line 54: #include "joy/Joy.h" โ‡’ #include "sensor_msgs/Joy.h"
    • Line 145: void joy_cb(const joy::Joy::ConstPtr& joy_msg) โ‡’ void joy_cb(const sensor_msgs::Joy::ConstPtr& joy_msg)
  • To be able to recompile p2os_teleop, remove the file ROS_NO_BUILD from the folder p2os/p2os_teleop

  • Once you have done that, run rosmake as sudo:

    • sudo -s
    • rosmake p2os_teleop
edit flag offensive delete link more

Comments

Note that if you are using the launch file in p2os_launch (teleop_joy.launch), you need to edit that too

georgebrindeiro gravatar image georgebrindeiro  ( 2012-06-08 06:26:59 -0500 )edit
0

answered 2012-03-15 09:53:45 -0500

Blokko gravatar image

the last version of joy_node uses the sensor_msgs/Joy topic, so it is incompatible with p2os_teleop node i think ... i have the same problem... i need some help..

edit flag offensive delete link more

Question Tools

Stats

Asked: 2011-10-04 22:33:21 -0500

Seen: 7,296 times

Last updated: Jun 08 '12