Close

More steering tests

A project log for Ultimate running aid

Eliminate everything from running but the running part.

lion-mclionheadlion mclionhead 02/07/2018 at 08:480 Comments

It's a bit frustrating, since cheap commercial products have had heading hold forever.  The problem is the vehicle was heavily modified for cargo.  Without cargo, it's quite worthless.

The shock absorbers were removed.  The suspension was lowered.  More of the front wheels contacted the road & the steering rods push more indirectly.  This made the steering rods less effective at pushing the wheels.  Video has shown increased lag between servo & wheel is the single biggest reason for the oscillation.

In the stock configuration, a simple PID controller did the job as good as any commercial heading hold product.  It only oscillated when carrying the heaviest, unsecured payload, so probably not a lack of programming ability. 

Another run in which the Odroid repeatedly crashed & failed to record any useful data made some ideas start to gel.  Try limiting P & D feedback while letting I feedback grow indefinitely.  A more drastic idea is adding P error to a copy of itself which has been delayed by a certain fraction of the oscillation period.  This is like applying a comb filter to the error.

Unfortunately, the customary mathematical descriptions of algorithms that detune oscillations from control loops are a bit beyond lion brain power.  It seems the method involves highpass or lowpass filtering the error or some parts of the feedback, but the frequencies (poles?) control loops operate at can be confusing to someone used to filtering AC electrical waves.

Discussions