CS148 Building Intelligent Robots

Week 5 : Subsumption Architecture Out: 26 Feb 2001

Preliminary Tasks before 28 Feb 2001, 1pm

The purpose of this week’s lab and project is to introduce the idea of programming in NQC using subsumption architecture. The following readings will be essential to understanding the lab, and should be completed before coming to lab on Wednesday:

• A Robust Layered Control System for a Mobile Robot, Rod Brooks

• Chapter 9: The Unofficial Guide to Logo Mindstorm Robots, Knudsen

For this assignment you should build a tank bot which has a downward pointing light sensor(SENSOR 1) and a touch sensor(SENSOR 3). See examples in Knudsen.

Lab 5: Subsumption Architecture 28 Feb 2001

You will be given two modules and your task will be to write an arbitration module, between the two. The first module, wander, is responsible for having the robot wander randomly in it’s environment. The second module, avoid will monitor the robot’s area and if in a “bad spot”, will perform an evasive action. The arbitrator module should control the outputs so that the robot moves appropriately while avoiding obstacles.

Note: For this assignment, there is a predefined threshhold value, THRESHOLD, for the difference between light and dark, you may need to fine-tune this number for your sensor. A “bad spot” is defined as a darker area on the ground.

You will be given standard NQC code that performs these functions. You will also be given a file which has the wander and avoid modules, to which you should add an arbitrator module. This module should abstract out the motor control for the robot.

• /course/cs148/support/wander.nqc

• /course/cs148/support/wandersub.nqc

Project 5: Subsumption Architecture due 7 Mar 2001, noon

Specification: For this assignment, we are going to build off of the lab. You should construction a program using subsumption that finds it’s way to a light source while avoid obstacles. The robot is not required to recognize that it reached a particular destination in response to the light source. However, the robot should halt when it’s touch sensor is depressed. Paper Handin: Your paper handin should addressing the following questions:

• What is the breakdown of control between the different modules?

• How is subsumption used in the arbitration module?

• What issues are manifested in the timing module?

• What method did you use for finding the light source? Why?

Grading: You grade on this assignment will be based

• 25% - Arbitration module

• 25% - Timely object detection

• 50% - Correctly positioning yourself toward the light