ABSTRACT

In most robotic games, the robots are expected to display some level of autonomy. In robotics, autonomy is understood as the ability to perceive the environment and take decisions about the actions that would help to accomplish a given task. Furthermore, autonomy can be expressed at different levels, from a fully autonomous robot to a teleoperated robot. A fully autonomous robot is robust to the changes in the dynamic environment and requires no human intervention to accomplish a given task (Jones and Flynn 1993). A teleoperated robot, on the other hand, needs every decision from the user to perform its actions to achieve its task. To achieve autonomy, a robot should have a well-structured mechanism to link the sensor information to the action with a purpose. This mechanism uses the sensor information to make the best decisions, as well as to deal with situations when the actions fail to achieve the desired states in the environment. The robot architecture defines how sensor information is used as an input to make decisions and how actions are monitored until the desired state has been achieved. The selection of the robot architecture will depend on the task at hand, but most importantly on the level of autonomy we would like to achieve. Some of the behaviors that we would like a robot to demonstrate are very hard to program. In those situations, learning methods can help us to achieve the desired behavior. In this chapter, we will discuss robot autonomy and the different types of robot architectures and how they help the decision-making process. This chapter also shows some learning algorithms to achieve certain robot behaviors.