9. Add CS 370 Intelligent Mobile Robots

Bulletin Description
Course Number CS 370
Course Title  Intelligent Mobile Robots
Credit Hours 4
Prerequisites CS 201 or CS 330, or equivalent software or hardware experience

This course teaches how to design, build, and program autonomous robots.  Topics include robot architecture (e.g., sensors, effectors, processors, and platforms), as well as adaptive behavior (e.g., navigation, machine learning, and evolutionary robotics).  A significant portion of the course incorporates hands-on experience with real robots as well as simulators.  The second half of the course will involve team-based projects and a final demonstration.  

Rationale
We have offered this class as a CS 495 Special Topics in Computer Science and as a CS 490 Special Projects in Computer Science.  It has been popular with and educational for students.  No other course at NMU offers these topics.  These topics (i.e., embedded systems, situated computing, real-time systems, adaptive systems, intelligent systems) are important in industry today.  In addition, many of the fundamental concepts of computer science will be covered, applied, and reinforced in this course, including object-oriented program design, systems analysis, computer architecture and performance issues, algorithm design and analysis, operating systems, and problem formulation, formalization, decomposition, and solution.

CS 370 may be used to partly fulfill the CS Elective requirement in both the Computer Science and Network Computing majors.

Although it is primarily targeted at our CS and NC majors, the prerequisites will allow other students to take this course.  Robotics has a wide appeal, and experience shows that students from related majors, such as CIS, Physics, Psychology, Biology, and Electronics Engineering Technology, will take such a course.  Physics, CIS, and Electronics Engineering Technology majors would already be qualified to take this course, since their core curricula include courses meeting the prerequisites of CS 370.  Such diverse enrollment is not only anticipated but will be encouraged, as diverse interests and backgrounds will complement each other and allow the undertaking of more ambitious projects.

Course Number
This class is meant for juniors and seniors.  CS 370 is an appropriate number. It is not in use by any other course.

Course Outline
(Please note that this course continues to evolve as instructors gain experience teaching it and as new robotics technologies become available at lower costs.)

  1. Introduction to intelligent mobile robots
    1. Autonomous vs. Industrial robots
    2. History of robotics
    3. Artificial Intelligence
    4. State-of-the-art in research, scientific, commercial, hobby, and entertainment robots
  2. Models of robotic computation
    1. Sensors-Processors-Effectors
    2. Control loops, internal  models, behavior hierarchies
    3. Levels of computational power, and intelligence
  3. Types of Locomotion
    1. Legs (walkers)
      1. Hexapods, Quadrapods, and bipods
      2. Static vs Dynamic stability, gaits
    2. Wheels
      1. Skid Steer vs. Ackerman steering
      2. Holonomic drives and Omni-directional wheels
    3. Tracked
    4. Aquatic robots
    5. Aerial robots
  4. Basic Sensors and Effectors
    1. Servos and servo-control
    2. Motors and motor control
    3. Contact sensors
    4. Infrared sensors, passive and active
    5. Sonar range finders
    6. Light, heat, and power sensors
    7. Tilt and compass sensors
    8. Propriocentric sensors
    9. Grippers and graspers
    10. Communication
  5. Robot brain architectures
    1. Stimulus-Response robots
      1. Digital Braitenberg Vehicles
      2. S-R behaviors:  Obstacle avoidance, light-seeking, edge-avoidance, wall-hugging, etc.
      3. Hierarchies of S-R behaviors
    2. Robots with finite memory (state-based thinking)
      1. Finite State Automata
      2. Classifier systems (internal message lists)
      3. Navigation and path planning
    3. Robots with infinite memory (full CPUs)
      1. Mapping behavior
      2. Heuristic planning
      3. Learning and adaptation
  6. Tele-robotics vs. autonomy vs. hybrid control
  7. Evolutionary robotics
  8. Cooperative robotics

Anticipated Costs
By utilizing existing robots, parts, and tools in the department's NERL (Northern Evolutionary Robotics Laboratory), we will avoid costs for new equipment.  We do anticipate a small cost for maintaining the robots during the course (e.g., replacing rechargeable batteries that no longer re-charge, or infrared LEDs that burn out).  Experience has shown that by using off-the-shelf, low-end components, we can keep the costs minimal (perhaps $50-$100 per semester).  Historically we have been able to cover these costs with grants, departmental funds, and industry sponsorship.  We also plan to apply for LTF funds .  Covering these small expenses should not be an undue burden.

Staffing
Faculty are currently available to teach this course.

Equipment and Supplies
We anticipate no additional requirements for this course beyond the computer laboratories already in existence.  In particular, the NERL (robot lab) will be used for building, modifying, and maintaining the robots, while the larger PC lab in NSF 1207 will be used for instruction, programming, testing, and demonstration.  

Library and Reading Requirements
We expect no library component.

Effects on Other Departments
We hope this course will be made an elective for the Electronics Engineering Technology program. We will be communicating this to that department.  This change will likely have no effect on other departments.

Additional Course Description

Text

Mobile Robots:  Inspiration to Implementation, 2nd Edition, by Joseph L. Jones, Anita M. Flynn, and Bruce A. Seiger

Objectives

 

 

Requirements

  1. Homeworks

    Series of written homeworks, sometimes from text, involving some robot programming, some essays, some mathematics (e.g., geometry) and some web-based research.  Examples include designing the control circuit for a digital Braitenberg vehicle that avoids light, programming a microcontroller to manipulate servos, planning paths, navigating, and map- building.

     

  2. Individual research project

    Use the web, library, periodicals, manufacturers' technical assistance, other NMU faculty and students, etc. to research and document a particular capability or piece of equipment (e.g., what kind of laser rangefinders are available that can be interfaced to a laptop?).  Document in a short report, to be linked to onthe web or published as a NERL (robotics lab) technical note.  Present to class.

     

  3. Expert group research project

     

  4. Final, team-based project and presentation

 

Sample Syllabus