Question 1. Robotics and Ethics. 20 points.While some people are concerned about robots taking jobs away from people, Karen doesn't think robots are any different than any other technology -- they make some jobs easier and some obsolete but there are always other things people can do. Without technology, she claims, we'd be struggling to get by using just our bare hands---all of our time and effort would be spent in gathering food and avoiding predators. It is only because we have technology that some people are able to become doctors, scientists, philosophers, artists, and so on, and technology helps to create leisure time for everyone. Technology, her argument says, is what allows us to live longer, more fulfilled lives, and robots are just another part of that technology.
Do you agree with all, some, or none of Karen's positions? Explain your answer.
(You could agree or disagree with Karen's positions, as long as you addressed the question and showed that you are able to reason about ethical concepts. I was also looking for you to consider features such as intelligence and autonomy that distinguish the types of robots we are trying to create from previous technologies. An example answer is given below. You don't need to agree with it.)
While technology in the past has certainly made some jobs easier and some obsolete, the danger of job displacement by robots is greater than it has been with previous technologies. Take, for example, factory jobs. It takes a lot of time, money, and effort to retool a factory to use machines for jobs that people did previously. Further, even when retooling is done, any changes in products or methods will again require costly retooling. These factors slow adoption of new factory technologies, meaning fewer workers are displaced at any one time which, in turn, gives them a chance to move on to other jobs. If we succeed in making robots intelligent, however, we should be able to quickly instruct them how to take over new jobs -- they may even learn on their own. This could lead to more rapid job displacement, putting many workers out of work at the same time and, therefore, causing greater hardships.
Question 2. Schema Theory. 10 points.
How does the use of perceptual and motor schemas promote modularity and code reuse, as compared to the ad hoc behaviors given by Brooks' for his subsumption architecture? Explain your answer.
(There are two possibilities for your answer. One relates to the division of each behavior into two schemas and how this affects code reuse when sensors and/or actuators are changed around. The other relates to the fact that multiple behaviors could use the same perceptual schema and others could use the same motor schema. An example of the first type is given.)
The use of schemas breaks each behavior into two parts: A perceptual schema and a motor schema. If the sensory system of the robot is modified (whether sensors are added, removed, adjusted, etc.), the perceptual schema may need to be modified but, as long as it can still do the job, there is no need to modify the motor schema -- it can be reused as is. For example, it doesn't matter how the robot comes to know that an obstacle is at some distance and orientation from the robot, as long as it knows this, it can run the same obstacle avoidance routine (motor schema). Similarly, if the robot's actuation system is modified (e.g., two drive wheels are replaced by four), the motor schema may need to be modified but the same perceptual schema can still find where obstacles are located.
With Brooks' subsumption architecture, however, there is no consideration made for separating perception and action. In fact, one of his motivations was to tie them as closely as possible. So, if some of the sensors are changed, all behaviors that use them need to be changed. Further, if any of the actuators are changed, all all behaviors that use them need to be changed. There may be little or no code reuse possible in these cases.
Question 3. Robot "Architectures." 10 points.
We want to create a robot tour guide for a national park. The robot should move from one (predefined) point of interest to the next while avoiding bumping into obstacles, inviting tourists that it detects to follow it on its route. When it arrives at a point of interest, if there are any tourists present, it should ask them if they want to know about the things found at that site. If they say yes, it should talk about and points at the various items of interest there.
Which would be a better architecture choice for this system, the subsumption architecture or a potential fields architecture? Explain your answer.
As we discussed in class, while the book calls the potential fields methodology an architecture, it really isn't a full-fledged architecture. This can be seen from the fact that, while a robot could use potential fields to move from one point of interest to the next while avoiding obstacles, there is nothing in the potential fields methodology to allow the robot to carry out actions like inviting tourists to follow it on its route, asking them if they want to know about the things found at various sites, or talking about or pointing to items of interest.
The subsumption architecture, on the other hand, isn't specialized just to movement so behavior levels could be added to carry out any of these tasks. It may not be particularly well-suited to this job but it is a full-fledged architecture and could be used.
(If you argue in favor of using potential fields because they work well for navigation, you should still point out that they don't have features to allow the robot to carry out all of the tasks it is required to by this job.)
Question 4. Potential Fields. 20 points.
Rahul has created a robot for moving about within buildings, delivering mail to individual offices. He has chosen to use potential fields for navigation purposes.
a. Rahul becomes concerned, however, when he realizes that his robot cannot sense entire obstacles at once---it can only sense the side(s) facing the robot. He worries that his robot, therefore, won't be able to calculate the potential field behind obstacles as shown in Figure 1. Are his worries well founded? Explain your answer.
As discussed in class and in the textbook, while we often draw potential fields as if they are calculated everywhere at once, they aren't. We only calculate the strength of the potential field at the robot's location, which depends only on the location of the target and positions of the side(s) of the obstacle(s) facing the robot. Rahul's worries, therefore, are completely unfounded.
(There isn't much room in this question for alternate answers.)
b. Rahul has reached the point of testing his system and finds that by
behaviors using potential fields, his robot can get around in most of the
test area, but that the robot fails to move through doorways. What happens
is that, when the robot gets close to the doorway, the potential fields
from the door frame sum with the potential field from the goal to produce a
zero value as shown in Figure 2(a). If the potential fields are
defined as shown in Figure 2(b), how could he have his robot
dynamically adjust them in order to get through doorways safely?
One way to do this would be to have the magnitude of the repulsion from obstacles that have already been detected fall off more rapidly with distance if a local minimum (zero point) is reached. This would allow the robot to be brought arbitrarily close to obstacles while still causing it to avoid collisions. Further, by only reducing the width of the repulsive field from already detected obstacles, we could ensure that new obstacles that might move into sensing range are still avoided with gusto.
(There are several ways to dynamically adjust the fields so that the robot can move through the doorway. However, the most important thing is that they are adjusted safely. If the attraction of the goal is allowed to exceed the repulsion of the obstacles, the robot may contact the obstacles -- this is not safe!)
Question 5. Implementing the Reactive Paradigm. 10 points.
On page 184 of the text, the author introduces the idea of exceptions and suggests that if a robot competing in the Pick-Up-The-Trash Contest is trying to pick up soda cans and doesn't succeed in picking one up in 10 minutes that it might switch from a random wander behavior to a "raster scan" movement behavior or might adjust the color values for the soda can object for which it is searching. How does this idea of exception handling conflict with the way the author says a purely reactive robotic system should act? Explain your answer.
In purely reactive systems, there is no representation of the world that the robot has previously encountered. Instead, the robot simply acts based on current sensor information. However, adding a 10 minute time-out for a behavior is, in fact, recording knowledge for later use every bit as much as is creating a map of the robot's surroundings.
(This question does not leave much room for alternate answers. Also, note that the fact that roboticists have felt the need to add things like these "exceptions" to reactive systems points to the inherent weakness in purely reactive robotics.)
Question 6. Sensing. 20 points.
Sensors of different types have different characteristics such as sensitivity, accuracy, and so on.
a. Does this make applying sensor fusion to two sensors of different types easier, more difficult, or no different than applying sensor fusion to two sensors of the same type? Explain your answer.
Fusing sensor data from two sensors of the same type should be easier than fusing sensor data from two sensors of different types. This is because we can use the same sensor model for both sensors, if they are the same type. For example, if we have two IR sensors facing in different directions, we can use the same representation to show free space in lines out from the robot to the distance at which obstacles were detected whereas, if we have an IR sensor and a sonar sensor, we'll need to represent both the line of free space detected by the IR sensor and the cone of free space detected by the sonar.
(This question does not leave much room for alternate answers. Also, note that while fusing sensor data from two sensors of the same type should be easier than fusing sensor data from two sensors of different types, it may be very useful to equip a robot with multiple sensor types. If, for example, one distance sensor works well from 1 to 3 feet and another works well from 2 to 10 feet, we'd probably like to use both types, rather than just one.)
b. Does using sensor fission to assign each different type of sensor to a different behavior overcome any difficulties there may be in using sensor fusion with sensors of different types? Explain your answer.
Using sensor fission can in some cases overcome difficulties with using sensor fusion but it won't necessarily do so -- whether it will or not is case-specific.
Take, for example, the robot tour guide for the national parks, suggested in Question 3, above. If the robot can carry out its tasks using just a GPS for finding the next point of interest, just sonars for locating obstacles, and just a camera for recognizing whether tourists are present, then there is no need to try to fuse the data together for the robot to identify that this sonar echo is a tourist, while that one is a tree, etc.
On the other hand, to have a robot play soccer well, it may not be enough to have it use just a GPS for finding the goal, just sonars for locating obstacles, and just a camera to recognize whether teammates are present. Instead, it may need to fuse the camera and sonar data to know that a teammate is 5 meters ahead, etc.
(This question does not leave much room for alternate answers although you will get partial credit for arguing just one of these points.)