Hi everyone,
I am building a custom rover based on an Omni X frame layout and would like to know if ArduRover can support this specific propulsion and control setup natively.
Hardware Constraints
Flight Controllers: Pixracer R14 and SpeedyBee F405 Wing.(No lua)
Any solution must rely on native firmware parameters, custom AP_Motors definitions, or custom firmware compilation.
Frame and Motor Setup
Configuration: Omni X frame where the motors/thrusters are aligned parallel to the arms of the ‘X’.
Thrust direction: The thrusters are unidirectional and mounted to push only outwards away from the center (along the arm directions).
Yaw/Rotation control: Due to this specific motor layout and single-direction thrust, the vehicle cannot actively control its yaw/rotation.
Desired Behavior
I need the vehicle to navigate to waypoints, move laterally/translationally (X/Y axis), and maintain its position (Position Hold/Loiter) regardless of its current heading/orientation. Since rotation cannot be controlled or corrected, position holding must operate independently of yaw.
My Questions
Is there an existing frame class or motor matrix parameter in ArduRover that supports unidirectional Omni-X setups without yaw control?
Is it possible to disable yaw control completely in the navigation code while keeping X/Y position control active?
If this requires modifying AP_Motors in the source code to define a custom frame matrix, are there any similar existing motor definitions I can reference?
Thanks in advance for your guidance!
Nicola