Problems With Running RMP OCU

RMP 210, 220, 440LE, 440SE, 440 Omni
Post Reply
ChrisC
Posts: 43
Joined: Fri Apr 20, 2012 8:22 am

Problems With Running RMP OCU

Post by ChrisC »

A customer reports:

(the RMP440) "seems like it goes through its normal initialization procedure and the front leds indicate it's in standby mode.

I am still, unfortunately, not able to connect to the system. I tried ethernet/usb/CAN, but our target communication method is ethernet.

I used nmap to communicate to the default IP address 192.168.0.40. Using that I was able to find a mac address. Does 00:04:A3:00:00:25 Microchip look correct? We tried to communicate with all the ports (0-65535) but were unsuccessful as they all were filtered.

We also used CAN to send the tractor mode command in the documentation at 1M bps, but we received 0 response from it.

Finally we installed the USB drivers provided in the installation package and used the RMP_OCU.exe application and configured it to use USB but received the "Cannot Connect To The Platform" message when attempting to "Run OCU". When attempting to Extract Faultlog we get "Faultlog Extraction Has Failed".

Do you have any ideas for me to try? Is there anything we need to do to communicate to it besides charge it, turn it on, see that it's in standby mode, connect to it via ethernet and ping it?"

phussey
Posts: 79
Joined: Fri Apr 20, 2012 8:12 am

Re: Problems With Running RMP OCU

Post by phussey »

I will quickly go over 3 options which hopefully will help you connect.

For Ethernet:

(one important note is that the platform will not respond to a ping)

On your PC go to network connections.
Right click on your wired connection or click on the link (Windows XP or 7 dependant)
go to properties
find Internet Protocol (windows 7 TCP/IPv4) and select it
click properties
select use the following IP address
change your wired connection to the following static IP:

IP address: 192.168.0.100 (or any 192.168.0.xxx where xxx is 2-255 but not 1 or the same as the platform 40)
Subnet Mask: 255.255.255.0
Default Gateway: 192.168.0.1

Run RMP_DEMO.exe:

Click <Modify Config>
Select ocu_config_default.ini from C:\Program Files\Segway\RMP_Applications\RMP_Demo_OCU_Application\RMP_CONFIGURATION_FILES
Navigate to the pane where you select the comm interface and update the selection to ethernet.
keep clicking next (I assume you didn't modify anything else in the configuration).
Make sure the platform Ethernet settings are:
RMP IP address: 192.168.0.40
RMP Port Number: 55
RMP Subnet Mask: 255.255.255.0
RMP Gateway: 192.168.0.1

Continue clicking next, when prompted do you want to save these settings? click <Continue>

Power the machine on with the single toggle switch on the UI ensuring the disable button is not pressed.
Verify the machine is on with the blinking yellow alive indicator on the UI and solid green standby indication.
Connect the ethernet (RJ-45) connector on the COM-DC OUT harness directly to your computer

Click <Run OCU>

You should be able to connect.

For USB:

Power the machine on with the single toggle switch on the UI ensuring the disable button is not pressed.
Verify the machine is on with the blinking yellow alive indicator on the UI and solid green standby indication.

Connect the USB cable to the PC.

Navigate to your device manager (usually right click on my computer and go to properties)

1. If the driver was installed correctly you will find it under:
-PORTS (COM & LPT)
-Communications Port (COMx)
where x is some number.
Right click select properties and verify the manufacturer is Segway Inc.

2. If the driver was not installed correctly you will find it under:

- Other Devices
-Unknown Device
Right click select Update Driver Software
Select Browse my computer for driver software
browse to C:\Program Files\Segway\RMP_Applications\USB_Drivers
When prompted click <Continue Anyway> or <Install this driver software anyway>
Now you should see the device under PORTS (COM & LPT)


Once the driver is all verified to be installed, just run the demo with the USB interface selected.


For CAN:

For CAN if you are using a supported KVASER device just plug it in via USB and to the DB-9 connector on the COMM-DC OUT harness, power the machine on and run the demo with CAN selected.

If you are not using KVASER hardware, the demo will not work via CAN. Here is an example of a CAN command packet:



The CAN interface configuration is always:

Baud rate 1Mbps
Message Header Standard 11 bit CAN identifier
Data Length Code Always 8
Data Bytes Always 8, Byte 1 indicates the first byte transferred on the bus, Byte 8 indicates the last byte transferred on the bus
Table 3 - CAN Configuration

Each CAN message always contains two 32-bit values. The values are assembled as such:

Value1 = U32_T ((byte0 << 24) & 0xFF000000) | ((byte1 << 16) & 0x00FF0000) |
(byte2 << 8) & 0x0000FF00) | (byte3 & 0x000000FF));


Value1 = U32_T ((byte4 << 24) & 0xFF000000) | ((byte5 << 16) & 0x00FF0000) |
(byte6 << 8) & 0x0000FF00) | (byte7 & 0x000000FF));

Baud rate: 1M bits per second
Standard ID (SID): 0x0501
Data Length Code (DLC): 8
Data[0] –Data[3]: General purpose command
Data[4] –Data[7]: General purpose parameter


Example:
gp_cmd = RMP_CMD_SET_OPERATIONAL_MODE (0x00000015)
gp_param = TRACTOR_REQUEST (format: integer; 0x00000005)

packet:
Standard ID (SID): 0x0501
Data Length Code (DLC): 8
Data[0] = 0x00
Data[1] = 0x00
Data[2] = 0x00
Data[3] = 0x15
Data[4] = 0x00
Data[5] = 0x00
Data[6] = 0x00
Data[7] = 0x05

or to just get data back without a command:

gp_cmd = RMP_CMD_NONE (0x00000000)
gp_param = 0

packet:
Standard ID (SID): 0x0501
Data Length Code (DLC): 8
Data[0] = 0x00
Data[1] = 0x00
Data[2] = 0x00
Data[3] = 0x00
Data[4] = 0x00
Data[5] = 0x00
Data[6] = 0x00
Data[7] = 0x00
PATRICK HUSSEY
Principal Engineer

STANLEY INNOVATION, INC
www.stanleyinnovation.com

JamesWalker
Posts: 4
Joined: Mon Aug 20, 2012 9:59 am

Re: Problems With Running RMP OCU

Post by JamesWalker »

Thanks Chris and Patrick for your help. I've got good news! Using the USB connection I was able to connect to the robot and gained the full functionality of the robot. We did encounter the same issue laid out here: http://rmp.segway.com/viewtopic.php?f=9&t=41 but I think we can work around that.

On the other hand I'm still unable to connect to the robot via Ethernet. Here's the configuration I'm using:
http://i48.tinypic.com/5n10mf.png

This was done while the robot was turned on and initialized into standby mode and my laptop was directly connected to the robot's ethernet cable.

As Chris and I discussed, we used nmap to scan all the ports on the robot at its default IP address. We were able to find the robot, but port 55 (And all other ports) were filtered and unresponsive.

Even though we're successfully using the usb connection I'd like to figure out what I'm doing wrong when connecting via ethernet. Do you have any ideas for me to try?

phussey
Posts: 79
Joined: Fri Apr 20, 2012 8:12 am

Re: Problems With Running RMP OCU

Post by phussey »

Looks like it should work just fine with the settings. Just out of curiosity, what version of windows are you using? The demo was only ever tested with XP and up if that's any clue to what is going on.
PATRICK HUSSEY
Principal Engineer

STANLEY INNOVATION, INC
www.stanleyinnovation.com

JamesWalker
Posts: 4
Joined: Mon Aug 20, 2012 9:59 am

Re: Problems With Running RMP OCU

Post by JamesWalker »

This was with a dell laptop running windows XP SP3. It runs the USB communication demo just fine.
The nmap scan was done on ubuntu.

Also, I don't know where to report this but there is a defect in the example code in the interface guide where it specifies how to calculate the CRC. On page 37 it shows:
//
// The new CRC is saved in the last word.
//
byte_buffer[crc_index] = (U8_T)((new_crc & 0xFF00) >> 8;
byte_buffer[crc_index+1] = (U8_T)(new_crc & 0x00FF);

But it's missing a parenthesis in the first line and should be:
byte_buffer[crc_index] = (U8_T)((new_crc & 0xFF00) >> 8);

A compilation error is normally pretty trivial to find and fix, but God help you if you just remove the 'extra' parenthesis instead of adding one! (It'll cast it as a byte and then shift it, zeroing it out).

phussey
Posts: 79
Joined: Fri Apr 20, 2012 8:12 am

Re: Problems With Running RMP OCU

Post by phussey »

You are quite right, must have been a cut and paste from code to word. I will have the documentation updated, thank you for pointing it out.
PATRICK HUSSEY
Principal Engineer

STANLEY INNOVATION, INC
www.stanleyinnovation.com

JamesWalker
Posts: 4
Joined: Mon Aug 20, 2012 9:59 am

Re: Problems With Running RMP OCU

Post by JamesWalker »

Great news guys, I was able to communicate via ethernet to the robot. I used a different laptop and it works fine. I'm not sure what's wrong with the first two laptops I tried but it's not the RMP's fault!

Post Reply

Who is online

Users browsing this forum: Bing [Bot] and 7 guests