Quote:
Originally Posted by Ginger Power
Is it possible to make an inferior mechanical design superior with enough programming loops?
|
Not really. The montra I have always heard is "Never try to fix hardware with software".
Utilizing feedback to enable the software to make better decisions is one way to increase robustness. For example:
A wheeled shooter using a PID or Bang-Bang controller will be more consistent than one which just sets full power all the time (since "Full Power" decreases as battery voltage decreases).
An autonomous routine that uses encoders to travel a fixed distance will work better than a routine that simply turns the motors on for a fixed amount of time (battery voltage, obstacles, differing carpet friction, etc.)
However, without the feedback mechanism (encoder or other sensor), there is very little help that software will provide. Even with a feedback mechanism, there will still be mechanical limits which software cannot get around.
As stated, planning up front is crucial to this process. Know what software techniques are available from your team's knowledge and experience. Part of every technique is knowing its limitations and respecting them during the design process.