PROS motor_move_absolute( port , units, velocity);

As you can see the three parameters to a move absolute function are the port, velocity, and units, just like the motor move relative function. My question is which argument dictates the direction of the movement. If the units to get to the position means that the motor needs to have positive velocity, what happens if you input negative velocity and visa versa. This also applies to the motor move relative function.

In short which argument gives the final say in the direction of movement, units or velocity?

Using negative units works for going reversing the motor direction, but velocity may work too as well.

I would say just try it out. But typically I would just reverse the units only.

Absolute movement is a bit different than relative, because the direction depends on the current position of the motor. It will spin whichever direction the target position (units) is in. So for example, if the current value of the motor’s integrated encoder is 80, and you say motor_move_absolute(7, 30, 50), it will move in reverse, because 30 is in the reverse direction from 50.

3 Likes

Ok that makes sense. For absolute movement, units give the ultimate say in the direction. But what about motor_move_relative?

For either of those functions, I believe it expects the velocity value to be positive. So it’s based on units for relative movement as well.

Though it doesn’t say it explicitly, you can also refer to the documentation. It states that the velocity parameter is the “maximum allowable velocity”.

got it that makes sense.