Is there a stop command?

RMP 210, 220, 440LE, 440SE, 440 Omni
Post Reply
luca.lucci
Posts: 12
Joined: Wed Jul 25, 2012 10:09 am
Contact:

Is there a stop command?

Post by luca.lucci » Wed Oct 03, 2012 4:52 am

Hello,
I communicate with an RMP 440LE throught CAN bus and I update the motion command as stated in the CCU Interface Document. If I try to set the velocity to 0 the rmp sets at the maximum speed. To stop it I must stop to update command.

To move the rmp I use a simple software in visual basic .net that convert a single precision variable in the IEEE754 format. It there a command to send a stop to the rmp?

Craig
Posts: 58
Joined: Thu Jan 26, 2012 3:02 pm
Contact:

Re: Is there a stop command?

Post by Craig » Fri Oct 05, 2012 1:31 pm

Hi,

You should be able to set 0 velocity and have the machine decelerate at the deceleration limit until it stops.

You need to check / verify several parameters.

1.) Are you using velocity or acceleration based mapping?
2.) What is your decel accelleration limit set at?

Please use a CAN sniffing program and provide the traffic showing your command messages and the transition to sending 0 velocity. Please make sure the feedback bitmaps are set to return the wheel velocity so we can see what the wheel velocity is doing during the transition. This test should be performed with the wheels off the ground or removed.

/Craig
Craig Shaffer
Principal Engineer

STANLEY INNOVATION, INC
www.stanleyinnovation.com

luca.lucci
Posts: 12
Joined: Wed Jul 25, 2012 10:09 am
Contact:

Re: Is there a stop command?

Post by luca.lucci » Mon Oct 08, 2012 6:26 am

Hello Craig,
now I'm using acceleration based mapping and the decel acceleration limit is set at 3.923 mps2. I've attached the traffic on can bus (in figure on the right) after send a motion command (in figure on the left) where I set yaw rate to 0.0 and velocity to 0.1.

I use the follow parameters set by RMP_OCU software:
-fault_status_word1
-fault_status_word2
-fault_status_word3
-fault_status_word4
-mcu_0_fault_status
-mcu_1_fault_status
-mcu_2_fault_status
-mcu_3_fault_status
-frame_count
-operational_state
-dynamic_response
-min_propulsion_batt_soc
-aux_batt_soc

-inertial_z_rate_rps
-vel_limit_mps
-linear_accel_mps2ù
-linear_vel_mps
-differential_wheel_vel_rps
-vel_target_rps
-yaw_rate_target_rps
-frame_decel_limit_mps2
-frame_dtz_decel_limit_mps2

From the log file I can see clearly that when I set yaw rate to 0.0 the yaw_rate_target_rps will set to 1 and return to 0 because I don't update the command. I would attach also this latter one, but I can upload file such as .ods, .pdf or .cvs.

Luca
You do not have the required permissions to view the files attached to this post.

Craig
Posts: 58
Joined: Thu Jan 26, 2012 3:02 pm
Contact:

Re: Is there a stop command?

Post by Craig » Tue Oct 09, 2012 11:39 am

Luca,

I am confused by your two posts. In the first post you expressed a concern that the RMP would continue at the maximum speed after you sent 0 velocity. If you are using acceleration based input mapping then the velocity command word is used to send an acceleration not a velocity. If you send 0 then you are requesting 0 acceleration not 0 velocity. A zero acceleration would command the platform to continue at the present speed.

In your second post you have switched to talking about yaw rate. I'm not really sure I understand.

You can post attachments of any content by simply changing putting the contents in a zip file.

/Craig
Craig Shaffer
Principal Engineer

STANLEY INNOVATION, INC
www.stanleyinnovation.com

luca.lucci
Posts: 12
Joined: Wed Jul 25, 2012 10:09 am
Contact:

Re: Is there a stop command?

Post by luca.lucci » Wed Oct 10, 2012 9:03 am

Hi Craig,
I'm sorry if I confused you. I try to explain better what I mean. From a standing start, if I send a motion command with value 0, the rmp start to move as I send the same command with 1 (so at the maximum velocity). This happens in any situation, whether to send a velocity command or to send a yaw command. If I set velocity based mapping or acceleration based mapping it's all the same.
This happens even while I move the rmp: if I send a motion command with a small value, e.g. 0.1, everything works fine, but if I send a motion command with 0 (0x3f800000 in IEEE754 rappresentation) the rmp move with the maximum velocity.
In the example attached to the previous post I set the yaw rate to 0 and the velocity to 0.1 from a standing point. As you can see from the file attach to this post the yaw rate target become 1 as the command have been received.

Thank you for the support

Luca
You do not have the required permissions to view the files attached to this post.

Craig
Posts: 58
Joined: Thu Jan 26, 2012 3:02 pm
Contact:

Re: Is there a stop command?

Post by Craig » Wed Oct 10, 2012 11:06 am

Luca,

Thank you for taking the time to clarify. I believe I understand much better now.

I think your problem is in the conversion to IEEE 754.

1 in IEEE 754 is 0x3F80000
0 in IEEE 754 is 0x0000000

In the RMP commands are normalized -1 to 1 based on the target you set for the maximum velocity or acceleration(based on the chosen mapping).
As an aside most customers use velocity based mapping because control for a remote operator is more straight forward. Acceleration based mapping was designed to allow the simulation of a brake and gas pedal which is not as intuitive when using a handheld controller.

For example:

Assume you are using the velocity based mapping and have the maximum speed set to 5 m/s have the acceleration rate set at 1 m/s^2
Sending 0x3F80000 would be the same as requesting the machine accellerate to 5 m/s at 1 m/s^2.
Sending 0x3F00000 would be the same as requesting the machine accelerate to 2.5 m/s at 1 m/s^2
Sending 0x0000000 would be the same as requesting the machine decelerate to 0 m/s at the deceleration rate.


/Craig
Craig Shaffer
Principal Engineer

STANLEY INNOVATION, INC
www.stanleyinnovation.com

luca.lucci
Posts: 12
Joined: Wed Jul 25, 2012 10:09 am
Contact:

Re: Is there a stop command?

Post by luca.lucci » Mon Oct 15, 2012 6:42 am

Hi Craig,
I found my mistake: when I tried to set 0 I haven't taken in account that the mantissa have an hidden 1 in IEEE 754.

With 0x0000000 the rmp stop correctly

Thank you for the support

Luca

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest