Here are two mission tests, indoors, without GPS, using Pixhawk1’s compass, with two balance bots:
and three balance bots:
all with ArduRover v4.3beta 20220913.
Tuning parameters was essentially:
- Starting with v4.2.3 parameters, all balance bots start oscillating heavily back and forth, even disarming by itself (CRASH_ANGLE=45). These oscillations are stopped increasing ATC_BAL_D to around 0.5, but this causes a lot of vibrations and noise (motor gearing teeth are heard knocking exactly as in here (ArduRover v4.3dev firmware dated june 16)).
- Teeth knocking can be greatly reduced increasing ATC_BAL_P and ATC_BAL_I and reducing ATC_BAL_D, and enabling WRC_ENABLE with a slow rate PID for both wheels, such as:
ATC_BAL_D,0.3
ATC_BAL_I,7
ATC_BAL_P,7
WRC_ENABLE,1
WRC_RATE_D,0.01
WRC_RATE_I,2
WRC_RATE_P,0.1
WRC2_RATE_D,0.01
WRC2_RATE_I,2
WRC2_RATE_P,0.1
with a lot of “Parameter outside range” messages.
Is there an easier way?
In adition, at times there are communication failures such as this:
at t=305 on the second video (three balance bots), which has happened always (they last a few seconds) and I wonder if it has to do with the wheel encoders code, so I think that optimising the duration of its irq handler as described above can be tried.