CSCI 335 - Programming Project #8
Fall 2011
Due: Tuesday, November 8, beginning of class
- Everyone will work in teams on this assignment.
- Read the paper Intelligence Without Representation
- Download pbluacontroller, an IDE for programming the robots.
- Program your robot to perform the following tasks:
- Object avoidance: The robot should sit still. If
anything approaches it, it should move away. It should then resume
sitting still.
- Directed motion: The robot should drive forward. If it
detects any obstacles, it should avoid hitting them. It should then
resume driving forward.
- Wandering: Like directed motion, except that every
once in a while the robot randomly selects a new heading.
- Wall following: The robot should drive forward,
maintaining a fixed distance between itself and a wall (on either side).
If an obstacle is detected, the robot should avoid it. It should
then resume wall-following.
- Pursuit: The robot should try to tag the closest
object it can. If it does not detect an object, it should exhibit a
wandering behavior.
- Light-finding: This robot will exhibit the wandering
behavior, modified as follows. The robot should keep track of the
brightest light it can detect. If it is not detecting that light level,
it should wander. If it does detect it, it should stop moving. Even
when stopped, however, it should periodically depart and begin
wandering again. You will need to disconnect the bump sensors to
use the light sensor for this task.
- For each task, work out a set of interacting behaviors that should
produce the desired action. I expect significant behavior reuse.
You should structure your code accordingly.
- You may use whichever sensors you like for these tasks. If you want to
take advantage of multiple sonar sensors, that is strongly encouraged.
Likewise, feel free to use the touch sensors or light sensor as you see
fit. Feel free to wire the sensors differently for the different tasks.
- Write a report detailing your design approach, in terms of which
interacting behaviors produce which observable results. Discuss the
degree to which your implementations corresponded to your expectations.
- On the due date, each team will demonstrate their implementations in class.
- Sample pbLua programs:
- Submit using Sauron