Am going to embark on this oft-travelled journey and obviously there are many resources out there to help me along my way.
However, i just wanted to get feedback on several assumptions which i have in making decisions for the project.
1) Are encoders absolutely necessary ? - i have seen some robots that can return to the exact same position after it has been pushed/displaced from the original position, but if one is only looking to get back to an upright position (and eventually stay still) - then an IMU is the "only" necessary sensor-unit, right ?
2) The motors will always be on - in other words, even at stand-still, there will be minute movements going on which might not even be visible as wheel movement - this will obviously be drawing current all the time.
3) As far as size goes, the smaller the robot, the more difficult it will be due to sensitivity of the readings required, am i correct in that assumption ? i have been plotting raw analogRead() data from a MMA7361 (from DFRobot) which has been "simplified" to only power-lines and data pinout, plus a DIP switch for choosing 1.5g or 6g settings - what is strange (or am i misunderstanding the principles) is that the 'noise' from the 6g setting is much smaller - meaning the graph plot range is much tighter than when on the 1.5g setting.
Eventually though, i will be using an Uno and MPU-6050 since that has 6xDOF and a lot more examples out there - although i'm to understand that for a self-balancing robot, 3xDOF is sufficient.
Any other 'newbie' advice would be appreciated.