Students will be grouped into teams at the beginning of the semester and their assigments fall into three categories:
Ideally, in order to properly assess the individual student's performace while allowing for a reasonably complex group project, there should be a roughly even balance of homeworks and deliverables. The course will be delivered over 15 weeks, and the spacing and difficulty of assignments should attempt to prevent major spikes in the workload. A particular issue with project-based classes is they tend to culminate with a large amount of work. Each deliverable should ideally build on the previous ones such that the student cannot simply postpone work until the final comprehensive deliverable.
Specific skills that the projects should address are:
The projects will tentatively use the Lego NXT system after a consideration of its capabilities in comparison to VEX and HandyBoard.
A possible sequence for the class assignments is:
Week | Title | Type | Description |
---|---|---|---|
1 | Simulation | Homework | Control a simple robot model from with Microsoft's Robotics Studio. Focus on the basic concepts of movement and motor control without having to build anything. A model of the Lego Tribot is included with the default installation. |
2 | Remote Control Movement | Lab | Use mindstorms remote control integration from within Robotics Studio to drive a physical version of the simulated robot. Focus on robot construction. |
3 | Autonomous Movement | Deliverable | Port code controlling robot from simulator to RobotC and program autonomous microcontroller for simple autonomous behavior. Focus on RobotC and microcontroller programming. |
4 | Simple Sensors | Homework | Using light and touch sensors implement basic line following and touch-based reactive movement within Robotics Studio. |
5 | Autonomous Sensors | Lab | Port touch algorithm to RobotC and compare to ultrasound-based obstacle avoidance. Combine the two for a best method. |
6 | Adaptable Sensors | Deliverable | Expand obstacle avoidance to handle multiple variable-sized obstacles. Add line-following and compass. |
7 | Simple Vision | Homework | Use color sensor to identify objects in Robotics Studio. |
8 | Autonomous Vision | Lab | Port color recognition algorithm to RobotC and add counting of obstacles by color. |
9 | Adaptable Vision | Deliverable | Use object color to inform reactive behaviors. |
10 | Simple Localization | Homework | Perform drift testing using Robotics Studio. |
Localization Testing | Lab | Port drift testing code to RobotC and perform emperical drift testing. | |
11 | Localization Correction | Deliverable | Use landmarks to reorient robot and correct for drift error. |
12 | Simple Planning | Homework | Generate navigational plan within a known environment. |
13 | Autonomous Planning | Lab | Port simple planning to RobotC and perform in a known map. |
Adaptable Planning | Deliverable | Adapt robot to unexpected environmental fixtures by integrating planning with obstacle avoidance. | |
14 | Multirobots | Homework | Create an individual simulated agent to work as part of a robot coalition. |
15 | Robot Coalitions | Lab | Combine several simulated agents to perform a complex task. |
Final | Final Competition | Deliverable | Autonomous robot operating in a known environment with obstacles reacting to sensors and using simple grasping. |
All of these are acheivable with the basic NXT kit. The reactive and landmarks for reckoning portions could be expanded with a camera for an additional $100.