In the last unit we looked at two opposing methods for controlling robots, in the deliberative and reaction approaches. In this section we will look into hybrid control systems and behavioral based control.
Table of Contents
- Reading – Chapter 15: Think and Act Separately, In Parallel
- Reading – Chapter 16: Think the Way You Act
- Conclusion
Reading – Chapter 15: Think and Act Separately, In Parallel
Hybrid systems attempt to merge the reactive systems with a deliberative system through a middle management layer. An effective hybrid system takes a lot of work to get right, and can quickly become the worst of both models if not properly implemented. A final important note about hybrid systems is that the middle layer allows them to store plans and to retrieve previously processed layers. Essentially the combination of the deliberative layer with the middle layer allows the robot to learn.
Food For Thought 15-1
Is there an alternative to hybrid systems, or is that all there is in terms of intelligent, real-time robot behaviour? Can you think of another way the a robot can be able to both think and react? After you come up with an answer check out the next chapter.
Of course there are alternative approaches. I happen to know that the next chapter is about behaviour based control, but I would also like to mention the possibility of distributed control, where there are reactive, or deliberative or hybrid controls for different components that work together to accomplish their goal. For example you can have teams that are connected together to accomplish a goal, like a team playing tug of war. Or alternatively you could start to look at the knowledge and control systems of different creatures such as cephalopods who have their nervous system distributed around their body instead of using a centralized control system.
Reading – Chapter 16: Think the Way You Act
This chapter attempted to introduce the concept of Behavior Based control(BBC) as an alternative to Hybrid based control(HBC). One of the key differences between the two approaches was that BBC better allows for multiple behaviors to be processed at the same time scales and prevents one system from dominating the control process, which can easily happen in HBC and cause the system to become more of a deliberative or reactive system than a hybrid. In the chapter the author recounts the work that she did with BBC at MIT with a robot named Toto. Key to the BBC approach is the idea of behaviours, which are modules that can work together in real time to help the robot achieve its goals. BBC and HBC are both interesting control systems that have different areas where they shine, and are both powerful tools for any roboticist to become familiar with.
Food For Thought 16-1
Some people say that behaviors should be more precisely defined so that behaviour-based robot programming would be easier to figure out. Others believe that having behaviours be loosely defined allows robot programmers to be creative and come up with interesting and novel ideas for ways to design robot controllers. What do you think?
I believe that when you have clearly defined expectations for how something should be done or implemented, you have a standard. Standards are very useful and can make it easier to have portable work, but as my programming professor was fond of saying, “the great thing about standards is that there are so many to choose from!” Having clear expectations for how code should be written and implemented can be very useful, but at the same time, different groups and teams will have different needs and so will adjust their “standards” to their situation, or create new standards that are more appropriate for their challenges. Ultimately I believe that programming is as much an art as it is a technical skill. There needs to be freedom for exploration and creative problem solving, but we still need to work in a way that is usable by our team and colleagues on a project.
Food For Thought 16-2
The field of psychology went through a phase called “behaviourism”, which defined all organisms based on their observable behaviours. This general idea is similiar to behaviour based robotics. However, behaviorism believed that there was no difference between externally observable behaviours and internally observable behaviours. Some behaviorists did not even believe in an internal state. As we saw in this chapter, BBS do have internal state and representation, so they are not consistent with behaviorism. People often confuse behaviorism and behavior-based systems. Is the difference clear to you? If not, you might want to read more about both.
Behaviorism, is a theory that psychology explored wherein all behaviors are acquired through conditioning. That is that our environment shapes our actions. One of the most well known experiments in this school of thought was that of Pavlov’s dogs, where dogs were conditioned to salivate at the sound of a bell. They associated the bell with food and they responded to the bell as though they had been presented with food. So classical behaviorism was focused on how the environment could condition and create or reinforce behaviors.
Behavior based control on the other hand does not have the outside world creating new behaviors and new associations. Rather modules of behavior are created and loaded together to determine how the robot should respond to its environment. Now BBC systems are able to build their representation and understanding of the world based upon their environment, but this is a refinement and application of the provided behaviors, not the creation of new behaviors. The “modules” refer to the fact that many different behaviors can be loaded into the robot and can work together to reach the robots goals. These modules that communicate with each other and run at real time in a similiar timescale are the behaviors that BBC deals with.
Conclusion
The highlight of this unit was seeing the excitement that the author clearly has when she was discussing her earlier work with Toto. The enthusiasm was infectious, and I found myself thinking of the BBC approach as being for robotics what object oriented programming was for software development.
Shawn Ritter
December 6th, 2021
Featured Image: Photo by Ashley Christiano: https://www.pexels.com/photo/aquarium-octopus-13851800/