|
CS 371 - Introduction to Artificial Intelligence
Homework #9 |
Due: Demo and documentation due by the end of the final exam (Spring
2019: Thursday 5/9 at 11:30AM)
Note: Work is to be done in pre-assigned groups, determined in class 25.
Mobile Robotics Monte Carlo Localization Challenge
Using an approved robotics platform (e.g. Anki Cozmo, Neato Vacuum, Lego
Mindstorms) implement or improve upon an implementation of
Monte Carlo
Localization with an attempt to solve the
Kidnapped Robot
Problem. Demonstrate and document your work such that future
generations of students could duplicate your results and improve upon them.
Tips:
- Set simple goals. Follow the
KISS Principle.
(You can always set more ambitious goals if you achieve these early.)
Example:
- 1D state space:
- Have a fixed robot that can rotate range finder(s), a camera, or
other localizing sensor to determine state θ.
- When you start the system, let initial state θ0 be
the "home state".
- Have the system rotate and sense to build a mapping from sensor
inputs to probable locations.
- After it has terminated mapping, put it in a new mode seeking to
return to home state θ0 when it does not appear to be
home.
- "Kidnap" it by rotating the robot and demonstrate that it can
relocalize and return home.
- Divide labor: project lead, documentation, version control, sensor
model, motor model, etc.
- Plan team meeting times in advance. Budget for 18 total hours for each
person over 2 weeks beyond classtime. Log hours.
Deliverables:
- (30%) Physical demonstration of project
- (30%) Emailed log of each team member's hours along with summary time totals for each team
member. Format for each log line:
- Name, date, time range, brief one-line description of activity
- (40%) Accessible web documentation of project, including goal(s), necessary
instructions to recreate the project (e.g. assembly instructions, software
prerequisites and installation instructions, code developed, use
instructions, etc.), and assessment of functionality (i.e. how well did it
work). NOTE: This should be created within a single folder with
relative links such that it can be easily archived within my web space and
still work.
Robotics Platforms
Lego Mindstorms
- Prior generations of students focused on Lego Mindstorms line following
and line graph navigation
.
- Possible Lego project:
- Create
a pretend 1D “hallway” with a straight line of electrical tape on
posterboard and have various intersections that branch off at right angles.
- Put
the robot somewhere along this “hallway” initially.
- Have
it map sensed intersections moving forward and backward along the hallway.
- After
kidnapping, try to have it robustly localize and return home on different
hallways without needing to always move to the hallway end.
Neato Vacuum
- Past students have made use of a Neato Robot with an onboard Raspberry
Pi communicating via Bluetooth to a controlling computer with ROS (https://www.ros.org/)
- Possible Neato projects:
- Improve upon past student kidnapped robot problem work, adding a
“return home” functionality.
- Create a new project where the robot is restricted to rotational
movement only (as on the previous project tips slide).
Anki Cozmo
- Programming tools:
- Possible projects:
- Create a new project where the robot is restricted to rotational
movement only and uses visual camera sensing to localize.
- Find and build upon prior Cozmo 2D localization and mapping work you
might find.
MCL Project documentation
- Spring 2019:
-
M. Ainsworth, J. Poff, P. Sorenson, C. Stewart, N. Weinel (Cozmo)
- W. Churchill, T. Shi, S. Zhan
(Cozmo)
- M. Maccieri, T.
Mitchell, J. Skinner, O. Wilson, J. Wright (Cozmo)
- J. McShan,
E. Redmond, M. Robinson (Lego)