Here’s a few popular concepts in robotics that can be helpful in understanding these systems.
Robotics is often framed as a loop of sensing, then thinking, and finally acting. This is referred to as the Sense-Think-Act paradigm.
It can be helpful to frame tasks in such a manner. It is comparable to a function, with sensors as inputs, thinking as the processing of the inputs, and acting as the output of the function.
Sense-Think-Act is very similar to the Observe-Orient-Decide-Act Loop, a more broadly applied concept of decision-making originated by military strategist John Boyd. It can even be argued that the “Think” step of Sense-Think-Act can be split into ‘Orient” for the application of perception and localization techniques and “Decide” for the planning process which occurs afterwards.
Of course, robotics often involves many simultaneous processes. Thinking takes time, and your robot should not forget to balance itself while doing so. You probably would not enjoy falling on your face every time you had to think about something. In fact, it is quite handy not having to actively think about balancing.
The Backseat Control Architecture involves the splitting of the “Thinking” responsibilities on vehicles. Essentially, you split the low-level control of the vehicle from high-level planning, with the high-level planning system in the “Backseat” telling the control system in the “Front” what to do.
Most robots tend to have a separate motor controller from the main computer, which is similar to this architecture. However, it is possible and sometimes necessary to make the motor controller “smarter” by implementing more complex behaviors into it. In the case a real-time response is necessary (like with balancing), the motor controller will likely have control algorithms built in to handle this.
When it comes to getting things done, it is important to start simple and stupid. Going straight for the most complex and robust approach to a problem can often lead to failure and disappointment. When attempting a task, try to create a simple solution to fall back on before attempting something complex.