Robot omnidirectional drives -- corrected transmitter mixing values

Run Amok Combat Robotics
Corrected mixing values for omnidirectional combat drives
Privacy Policy
In response to a comment to my Reddit post on Guide to EdgeTX Transmitter Programming for Combat Robots:

I'm sorry that it has taken me so long to offer a full reply to your comments -- it took my some time to locate my notes on the original OpenTX kiwi and Mecanum drive programs that I wrote five years ago. A appreciate your comments and apologize for the delay.


Kiwi Drive:

The motor control inputs you (and pretty much everybody else) are using are based on a set of equations developed to calculate the maximum Y and X axis speeds as a proportion of the available wheel speed -- not to calculate motor speed inputs. Example: if the wheels can spin at 10 MPH:

  • With full Elevator input, Y-axis speed = 10 MPH * sqrt(3)/2 = ~8.7 MPH
  • With full Aileron input, X-axis speed = 10 MPH * 1/2 = 5.0 MPH
  • With full Rudder input, rotational speed @ wheel radius = 10 MPH
Reversing these equations to obtain optimal translational speeds by restricting front wheel Elevator and Aileron speeds is unsound algebra that results in both a slower 'bot and an inability to maintain a straight line in lateral motion without corrective transmitter input. The only motor speed restriction required is for the rear wheel aileron input to prevent that wheel from running faster in lateral motion than the front wheels can manage at full Aileron input. I stand by my EdgeTX kiwi control set-up and I encourage you to try it on your kiwi drive robot.


Mecanum Drive:

You expressed concerns that my Mecanum drive program 'overdrives' the transmitter outputs and reduces control sensitivity. Yes, it does -- but so does the standard Delta Wing (elevon) mix that we all use, and I don't know of any combat teams that have enough trouble with it to seek ways to regain the lost sensitivity. A Mecanum drive robot in an industrial task might require uniform speed control on all axis, but a Mecanum combat robot generally just seeks to dump gobs of power and speed along a given control axis. Again, I encourage you to implement my control set-up on a combat Mecanum drive 'bot to see if the loss of sensitivity really causes any issues.


Note that I have removed the Mecanum and Kiwi drive sections from my EdgeTX combat guide. I've decided that the sections require too much explanation to fit in with and a beginers guide to EdgeTX transmitters. I am moving them to a new page for just those topics, which may take some time for me to complete. In the interim I have placed the EdgeTX screenshots for both programs and a copy of this post on a placeholder page such that interested builders can access them: EdgeTX Omnidrives.


Run Amok Combat Robotics homepage