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

Revision history [back]

click to hide/show revision 1
initial version

Sorry, I don't really know why this would happen either, but there are two major possibilities.

The first is that the Segway you are using it with does not have the same communication protocol. At some point all the new Segway models started using a new protocol which does not work with my libsegwayrmp library. I thought the rmp400 should work (it is basically two rmp200's strapped together). But if you are using the rmp440x or some other more modern version then it may just not work.

The other reason for getting a checksum error would be that you are getting data corruption. I've seen this before when I had some grounding problems on my rmp setup in college, but it usually resulted in the usb device disconnecting rather than just checksum errors.

You should also try USB vs Serial mode and see if that makes a difference.

One last thought is that you are having two instances of the libsegwayrmp driver connect to the same device, which might "work" in that both can open and interact with the device, but then may cause the data stream to be corrupted. I'm pretty dubious of this scenario, but it was just a thought.

Hope this helps some.

Sorry, I don't really know why this would happen either, but there are two major possibilities.

The first is that the Segway you are using it with does not have the same communication protocol. At some point all the new Segway models started using a new protocol which does not work with my libsegwayrmp library. I thought the rmp400 should work (it is basically two rmp200's strapped together). But if you are using the rmp440x or some other more modern version then it may just not work.

The other reason for getting a checksum error would be that you are getting data corruption. I've seen this before when I had some grounding problems on my rmp setup in college, but it usually resulted in the usb device disconnecting rather than just checksum errors.

You should also try USB vs Serial mode and see if that makes a difference.

One last thought is that you are having two instances of the libsegwayrmp driver connect to the same device, which might "work" in that both can open and interact with the device, but then may cause the data stream to be corrupted. I'm pretty dubious of this scenario, but it was just a thought.

Hope this helps some.

EDIT:

Here is the example program which demonstrates how to connect with different options: https://github.com/segwayrmp/libsegwayrmp/blob/master/examples/segwayrmp_example.cc

Also, I don't think it documented, but the segway_rmp node should take ROS parameters for all the different connection types:

https://github.com/segwayrmp/segway_rmp/blob/master/src/segway_rmp_node.cpp#L429-459