Wheel Motor Controller

Hi Farm-Ng Team,

I’m curious to further understand how wheel motor control works on the Amiga. What motor controller are you using? Is it this one ?

It appears that this type of controller sends a torque command to the motor, however the AmigaRpdo1 command requests a specific vehicle linear velocity. How does the dashboard instruct the motor controller to achieve the desired wheel speed? Is there a feedback control system where the torque command is adjusted until the requested wheel speed is achieved?

Keen to understand how this works from the perspective of maintaining a constant vehicle velocity through a field. Given the same command velocity, will the vehicle velocity remain relatively constant even under different loading conditions (e.g. uphill or through soft soil) or is the torque constant and the wheel angular velocity will adjust as the load changes? From the perspective of driving straight, if the wheels see different loads will they rotate at different speeds?



Hi Wesley,

The motor controllers are configured for velocity control, so the sent velocity command (from the dashboard to the motor controller) is held as long as it is safe & attainable.

If you monitor the RPM & current of the motors (seen on the second tab of the dashboard OR using the stream_motor_states API) as you safely apply additional load to the Amiga, you can see the current will increase to attain the velocity command. For example, you could try driving towards, then up a hill in cruise control mode.

We’ve abstracted the interaction directly with the motor controller away through the dashboard. So the velocity commands can come from the pendant OR a brain sending a velocity & angular rate control signal (as in the Virtual Joystick Tutorial).

All this to say, the Amiga is designed specifically for maintaining a constant vehicle velocity through a field!

I hope this helps.

– Kyle