Pyro Robot Morphology

Robot Morphology

We are concerned here with mobile robots. These robots are capable of moving about in their environment as well as perceiving the environment with their sensors. Mobile robots come in all shapes and sizes. The examples below show the diversity of possible robot morphologies

Despite these vastly different morphologies, it is possible to abstract, based on functional characteristics, a generic robot morphology that can be used to write ubiquitous robot control programs. Let us first concentrate on movement, specifically wheeled movement. Regardless of the mechanisms present for moving the robot in space, the desired motion of a mobile robot could be functionally described as translation through space. For example, think about a class of robots that are capable of moving forward or backward in a straight line, or turning a certain amount clockwise or counterclockwise. If these were the only kinds of motions desired from a mobile robot, it would be easy to write 'drivers' for each specific robot that would command the motors to carry out the actions that are functionally described as going forward, backward, or turning. The drivers would control the specific motors to operate in ways that result in the robot moving in these ways.

Pyro thrives on these kinds of abstractions. The advantage of this approach is that we end up with universal programs for robot control. Of course, the obvious disadvantage is that we may not be making use of all the possible types of motions a robot may be capable of executing (for example, turning left while going backward, or the motions required for a biped robot to climb stairs). However, for a diverse set of robot experiments, these abstractions provide a rich set of functionalities that are common to most robot platforms and thus programs written to control one robot could also be used to control other robots, regardless of the size or physical characteristics of the robot.

The basic robot morphology assumed for any robot in Pyro is a mobile robot that is capable of moving in a straight line and spinning. At the very least, it is assumed to have sensors that provide range/distance information with which it can be made to navigate its environment. In most cases, these robots will also have some vision capabilities through the use of a camera, which also might be able to move.

We will use Khepera and Pioneer robots for most of our experiments. In what follows, we will present the effector and sensor abstractions that will enable us to write programs to control these robots. In addition to the actual robots, we will also make extensive use of robot simulators. These will help in understanding and debugging our experiments.


1. Find at least three other types of robot morphologies on the web. Briefly describe each robot in terms of its sensors and movement, as was done for the robots in this section.

2. Compare the robot morphologies of C-3PO and R2-D2 from Star Wars. How would controlling these two robots be different from each other? What advantages would each have over the other? What disadvantages?

Next: Pyro Effectors Up: PyroModuleIntroduction