MicroPython EvoMecanum#
- class evo.EvoMecanum(frontLeft, frontRight, rearLeft, rearRight)#
Native synchronized four-motor mecanum drive helper. All arguments must be
evo.EvoMotorinstances. Constructor returns a new mecanum object.
Motion Profile
- EvoMecanum.setStartSpeed(speed)#
- EvoMecanum.setEndSpeed(speed)#
- EvoMecanum.setAcceleration(acceleration)#
- EvoMecanum.setDeceleration(deceleration)#
Configure ramp start speed, end speed, acceleration and deceleration. Negative values are stored as absolute values. These setters return
None.
- EvoMecanum.getAcceleration()#
- EvoMecanum.getDeceleration()#
Return the configured acceleration or deceleration as an integer.
- EvoMecanum.setAccelerationProfile(profile)#
Select
evo.ACCEL_NONE,evo.ACCEL_TRAPEZOIDorevo.ACCEL_SCURVE. ReturnsNone.
- EvoMecanum.getAccelerationProfile()#
Return the current acceleration profile constant.
Synchronisation
- EvoMecanum.setStopBehavior(behaviour)#
- EvoMecanum.setStopBehaviour(behaviour)#
Set the default stop behaviour to
evo.COAST,evo.BRAKEorevo.HOLD. ReturnsNone.
- EvoMecanum.setSyncPID(kp, ki, kd)#
Set floating-point PID gains used to synchronize wheel progress during profiled moves. Returns
None.
- EvoMecanum.getSyncPID()#
Return
(kp, ki, kd)as a tuple of floats.
Movement
- EvoMecanum.move(x_dps, y_dps, turn_dps)#
- EvoMecanum.moveSpeed(x_dps, y_dps, turn_dps)#
Start continuous speed-control mecanum motion.
xis strafe,yis forward/back, andturnis rotation.move()is an alias ofmoveSpeed(). ReturnsNone.
- EvoMecanum.movePower(x_power, y_power, turn_power)#
Drive mecanum wheels from raw PWM power components. Returns
None.
- EvoMecanum.moveDegrees(x_dps, y_dps, turn_dps, degrees, stopBehavior=None)#
- EvoMecanum.runDegrees(x_dps, y_dps, turn_dps, degrees, stopBehavior=None)#
Run a mecanum vector move until the encoder distance target is reached. Returns
None.
- EvoMecanum.moveTime(x_dps, y_dps, turn_dps, time_ms, slowdown_ms=200, stopBehavior=None)#
- EvoMecanum.runTime(x_dps, y_dps, turn_dps, time_ms, slowdown_ms=200, stopBehavior=None)#
Run a mecanum vector move for
time_msmilliseconds. RaisesValueErroriftime_msis negative. ReturnsNone.
State
- EvoMecanum.hold()#
- EvoMecanum.brake()#
- EvoMecanum.coast()#
Stop all four motors using the named mode. Returns
None.
- EvoMecanum.stop(stopBehavior=evo.BRAKE)#
Stop all four motors immediately using the supplied behaviour. Returns
None.
- EvoMecanum.resetAngle()#
Reset all four motor angle references. Returns
None.
- EvoMecanum.isBusy()#
Return
Truewhile a blocking profiled move is active, otherwiseFalse.
- EvoMecanum.deinit()#
Brake all four motors and mark the drive idle. Returns
None.