Some checks could be run automatically on startup:
- Do we have connection to every motor controller?
- Is there some way to detect a duplicate CAN address?
- Is there a valid signal coming from every sensor?
- Are the tanks mostly pressurized?
- Is the current draw reasonable?
Some checks would need the user to initiate them:
- Twitch each drive pod forward and verify each encoder moves forward and that the current draw changes
- Move each closed-loop actuator just a little bit and confirm the encoder moves in the correct direction
- For every mechanism with a homing/indexing switch, make sure it gets engaged