OP, I think you're oversimplifying this.
Your device is a 'system' that involves a platform, sensors (IR, switches etc), and actuators (motors, sticks etc).
These are implemented by hardware, and coordinated with software.
As many have said elsewhere in these forums, don't try to do everything at once.
- Develop your hardware/chassis (no software yet).
- Planning the power supply becomes important about now
- Start thinking about 'functions'
- Develop your sensors (only software to determine they work - put them into functions)
- Develop your motion platform (only software to determine they work - put them into functions)
Then. develop your operating strategy (no sensors or chassis yet!). just Serial.print()s and blinking LEDs
Slowly start to pull them together by combining the sensor & motion functions into a container program.
There is a lot more to this - and it can be extended infinitely, but to perform the very simplest actions - the above is a good starting point.