How do I communicate with an RMP?

Issues related to communication with the RMP

How do I communicate with an RMP?

Postby Craig » Fri Mar 09, 2012 10:58 am

The RMP communicates via one of two serial communications bus protocols, USB or CAN. The choice of protocol is left to the user. In general, most users find that CAN bus provides the most deterministic control of the RMP. With USB, the choice of operating system and the setup of the device driver will affect system latencies and may introduce undesirable delays. Both serial bus protocols can be made to work in a reliable deterministic way and the choice is typically driven by customer familiarity with one of the protocols.

The RMP is controlled by sending speed and turn rate commands to the RMP at regular intervals (no shorter than every 10 msecs and no longer than 300 msecs). Commands are saved for approximately 400 msecs before the speed and turn rate are slowed to zero. This prevents persistent machine movement if communication with the controlling computer is interrupted. Other configuration commands are provided for changing controller mode and adjusting performance limits. The RMP also reports back inertial angles and rates, wheel velocities and other status information. See “Interface Guide for the Segway RMP” for detailed information.

Segway provides a demonstration application with C++ source code (rmi_demo.exe) that runs on Windows 2000 and Windows XP platforms. The source code illustrates how commands may be constructed and sent to the RMP and how data may be received back and parsed. This application may also be used to check/test the RMP’s functionality. The application is not warranted or validated and as such is not suitable for control of the RMP in the user application.
Craig Shaffer
Principal Engineer

STANLEY INNOVATION, INC
www.stanleyinnovation.com
Craig
 
Posts: 61
Joined: Thu Jan 26, 2012 3:02 pm

Re: How do I communicate with an RMP?

Postby tadele » Thu Nov 01, 2012 2:37 pm

I am trying to implement a new IO layer software for communicating with a RMP50 omni. When I have the green power on I can read the 18 byte data from the ui processor via USB but when I turn on the yellow motor power the communication is no longer possible. How can I fix this?
tadele
 
Posts: 5
Joined: Wed Oct 31, 2012 1:36 pm

Re: How do I communicate with an RMP?

Postby Craig » Fri Nov 02, 2012 3:21 pm

This is not a typical problem, however, USB performance on the Deuce board architecture systems is known to have issues with newer versions of windows. For control of an OMNI platform you should really be using the CAN bus because the timing of the USB is difficult to synchronize.

If you want to push forward with USB I will need some more information.

1.) What version of windows are you using?
2.) What version of the USB driver are you using?
3.) Do you have similar issues running the RMI demo program?
Craig Shaffer
Principal Engineer

STANLEY INNOVATION, INC
www.stanleyinnovation.com
Craig
 
Posts: 61
Joined: Thu Jan 26, 2012 3:02 pm

Re: How do I communicate with an RMP?

Postby tadele » Mon Nov 05, 2012 10:46 am

I am developing the software for ubuntu using ftd2xx drivers. I am trying to make the software modular so I can connect it using both USB and CAN.

I can not run the demo program because the device is not properly detected by the OS.
I tried to run the demo on windows 7 after installing the usb driver that came with the platform. But it is not working properly with the notice "The drivers for this device are not installed. (Code 28)".
tadele
 
Posts: 5
Joined: Wed Oct 31, 2012 1:36 pm

Re: How do I communicate with an RMP?

Postby Craig » Mon Nov 05, 2012 2:23 pm

USB issues and the ftd drivers are covered in several places on the forum. It's a known issue that the USB drivers don't work on windows 7 for the demo. As far as linux drivers go you are on your own. We've not done any testing with the older systems using linux drivers. Some of our customers have gotten that to work but I think most have opted for putting a kvaser USB to CAN translator inside the platform if USB was really important to them. Kvaser has some nice linux drivers that work well (I've personally used them).

Back to your original question. The only way for Segway to help determine if the problem is in your new software or the robot you are going to need to get an windows XP machine and test it with the RMI demo program.
Craig Shaffer
Principal Engineer

STANLEY INNOVATION, INC
www.stanleyinnovation.com
Craig
 
Posts: 61
Joined: Thu Jan 26, 2012 3:02 pm

Re: How do I communicate with an RMP?

Postby tadele » Tue Nov 06, 2012 11:05 am

Thanks for the info Craig ... It is working now but after few seconds of communication it fails again. So I will test it with XP
tadele
 
Posts: 5
Joined: Wed Oct 31, 2012 1:36 pm

Re: How do I communicate with an RMP?

Postby AlfredoDs » Thu Oct 01, 2015 3:03 pm

I have a RMP-100 platform

I used the code provided in RMP demo to create a new interface that uses RTX to comunicate at a period of 30mS, whenever i try to go faster than that e.g. 25mS the comunication fails and i get the same lecture (encoders and speed state) from the RMP repeated at around 200mS.
im using USB comunication.

Is there a way to fix this?
Is the 10mS speed just possible using CAN bus?
AlfredoDs
 
Posts: 2
Joined: Wed Jul 30, 2014 3:37 pm

Re: How do I communicate with an RMP?

Postby ChrisC » Fri Oct 02, 2015 4:31 pm

AlfredoDs wrote:I have a RMP-100 platform

I used the code provided in RMP demo to create a new interface that uses RTX to comunicate at a period of 30mS, whenever i try to go faster than that e.g. 25mS the comunication fails and i get the same lecture (encoders and speed state) from the RMP repeated at around 200mS.
im using USB comunication.

Is there a way to fix this?
Is the 10mS speed just possible using CAN bus?


The timing implementation of the USB interface for that generation of RMP is not predictable. I can't recommend any remedy for that issue other than to switch from the USB interface to an external CAN device.
ChrisC
 
Posts: 35
Joined: Fri Apr 20, 2012 8:22 am


Return to Communications

Who is online

Users browsing this forum: No registered users and 1 guest

cron