Difference between revisions of "CS EE ME 75 2019-20"

From Robotics
Jump to: navigation, search
m (Course Syllabus for 75(a))
(Course Syllabus for 75(c))
 
(71 intermediate revisions by the same user not shown)
Line 1: Line 1:
{| border=1 width=100%
 
|-
 
| '''Syllabus''' || '''Schedule''' || '''SubT Team Site'''
 
|}
 
  
 
{| width=100%
 
{| width=100%
Line 15: Line 11:
 
'''Instructors'''
 
'''Instructors'''
 
* Joel Burdick, jwb@robotics.caltech.edu
 
* Joel Burdick, jwb@robotics.caltech.edu
* Organizational meeting: 7:00-8:00 pm, Tuesday, 135 Gates-Thomas
+
* '''Class Meeting Time:''' 5:00-6:00 pm, Wednesday (Virtual Zoom Meeting)
 
| width=50% |
 
| width=50% |
 
'''Teaching Assistants'''
 
'''Teaching Assistants'''
Line 25: Line 21:
  
 
== Course Description ==
 
== Course Description ==
 +
 
CS/EE/ME 75 presents the basics of modern multi-disciplinary systems engineering in the context of a substantial design project. Students from a variety of disciplines will conceive, design, implement, and operate a system involving electrical, information, and mechanical engineering components. Specific tools will be provided for setting project goals and objectives, managing interfaces between component subsystems, working in design teams, and tracking progress against tasks. Students will be expected to apply knowledge from other courses at Caltech in designing and implementing specific subsystems. During the first term of the course, students will attend project meetings and learn about methods and tools for project design. Some students will also begin work on their projects. During the second and third term, each team will build, document, demonstrate, and integrate a course design project.
 
CS/EE/ME 75 presents the basics of modern multi-disciplinary systems engineering in the context of a substantial design project. Students from a variety of disciplines will conceive, design, implement, and operate a system involving electrical, information, and mechanical engineering components. Specific tools will be provided for setting project goals and objectives, managing interfaces between component subsystems, working in design teams, and tracking progress against tasks. Students will be expected to apply knowledge from other courses at Caltech in designing and implementing specific subsystems. During the first term of the course, students will attend project meetings and learn about methods and tools for project design. Some students will also begin work on their projects. During the second and third term, each team will build, document, demonstrate, and integrate a course design project.
  
Line 30: Line 27:
  
 
CS/EE/ME 75 can be used to satisfy specific graduation requirements in the CS, EE, and ME options and may be taken for up to 36 units of total credit within one academic year, with permission of the instructors. Freshman must receive permission from the instructor to enroll.
 
CS/EE/ME 75 can be used to satisfy specific graduation requirements in the CS, EE, and ME options and may be taken for up to 36 units of total credit within one academic year, with permission of the instructors. Freshman must receive permission from the instructor to enroll.
 +
 +
== Course Syllabus for 75(c) ==
 +
 +
{| border=1 width=100%
 +
|-
 +
|| Week || Date || Topic || Reading/Activities || Homework
 +
|- valign=top
 +
|
 +
'''1'''
 +
| 30 March (M)
 +
| Organizational meeting
 +
| [[Media:OrganizationalMeeting_75c_19-20.pdf | PDF Slides for 75(c) Org. Meeting]]
 +
| No Homework this week, due to Caltech policy <br> For next week, view these on-line Ros Lectures <br> [https://www.youtube.com/watch?v=0BxVPCInS3M&t=1469s Lecture 1]; [https://www.youtube.com/watch?v=jYqDnuxTwK8 Lecture 2]
 +
 +
|-
 +
|
 +
'''2'''
 +
| 8 April (W)
 +
|  ROS Reboot: we need to advance our ROS knowledge, particularly on Gazebo and RViz
 +
|  [http://robotics.caltech.edu/~jwb/courses/CSEEME75/CSEEME75c_Lecture1_2020.pptx PPTX slides of todays overview] (video is embedded)
 +
| * Visit the [http://wiki.ros.org/ROS/Tutorials ROS Tutorials Page].  <br> Do''Beginner's Level'' Tutorial 10. [[media:Tutorial10Notes.pdf | Notes on Tutorial 10]] <br> Choose Item 11 or 12 (depends on your coding choice).  [[media:Tutorial11Notes.pdf | Tutorial 11 Notes]] <br>  Then proceed with Item 13.
 +
 +
|-
 +
|
 +
'''3'''
 +
| 15 April (W)
 +
|  Moving on to Gazebo
 +
|  [[Media:CSEEME75c_Lecture2_Revised2_2020.pptx | PPTX slides of '''Revised2''' Slides]]
 +
| * <br> Note that Gazebo 9 is already installed in Ubuntu 18.1, ROS Melodic <br> See '''revised''' lecture slides for exercise detail.
 +
 +
|-
 +
|
 +
'''4'''
 +
| 22 April (W)
 +
|  Gazebo & rviz
 +
|  [[Media:CSEEME75c_Lecture3_2020.pptx | PPTX slides of todays overview]]
 +
| Homework exercises are at the end of the lecture slides
 +
 +
|-
 +
|
 +
'''5'''
 +
| 29 April (W)
 +
|  Gazebo Plugins & ROS Control
 +
|  [[Media:CSEEME75c_Lecture4_2020.pptx | PPTX slides of todays overview]]
 +
| See the last pages of the lectures slides for homework
 +
 +
 +
|-
 +
|
 +
'''6'''
 +
| 6 May (W)
 +
|  Getting Started on Team Simulations
 +
|  [[Media:CSEEME75c_Lecture5_2020.pptx | PPTX slides of todays overview]]
 +
| See the last pages of the lectures slides for homework
 +
 +
 +
|-
 +
|
 +
'''7'''
 +
| 13 May (W)
 +
|  Progress on Team Simulations?
 +
|  [[Media:CSEEME75c_Lecture6_2020.pptx | PPTX slides of todays overview]]
 +
| See the last pages of the lectures slides for homework
 +
 +
|-
 +
|
 +
'''8'''
 +
| 20 May (W)
 +
|  Progress Updates and Final Reports/Documentaton
 +
|  [[Media:CSEEME75c_Lecture7_2020.pptx | PPTX slides of todays overview]]
 +
|  [[Media:CSEEME75c_FinalReport_Guidelines_2020.pdf | Guidelines for the final Report and Documentation]]
 +
 +
|-
 +
|
 +
'''9'''
 +
| 27 May (W)
 +
|  Team Progress Updates
 +
|  [[Media:CSEEME75c_Lecture8_2020.pptx | PPTX slides of todays overview]]
 +
|  [[Media:CSEEME75c_FinalReport_Guidelines_2020.pdf | Guidelines for the final Report and Documentation]]
 +
 +
 +
|-
 +
|}
 +
 +
== ROS/Gazebo/Linux Resources ==
 +
* [http://gazebosim.org/ Gazebo Homepage]; [http://gazebosim.org/tutorials Tutorials Page]
 +
** [https://github.com/ros-simulation/gazebo_ros_pkgs/tree/ros2/gazebo_plugins/worlds GitHub page with many Gazebo plugins/worlds]; [https://github.com/ros-simulation/gazebo_ros_pkgs/pull/947 Ackermann Drive Plugin]
 +
* [http://ros.org ROS Homepage]; [http://wiki.ros.org/ROS/Tutorials Tutorials Page]; [https://discourse.ros.org/ ROS Discourse] (on-line community)
 +
** [http://docs.ros.org/melodic/api/moveit_tutorials/html/index.html MoveIt Tutorials]
 +
* [https://f1tenth.dev/ F1 Tenth]: 10th scale autonomous RC Car Racing
 +
* Some Linux Cheat Sheets [https://www.tecmint.com/linux-commands-cheat-sheet/ TecMint];[https://phoenixnap.com/kb/linux-commands-cheat-sheet PhoenixNAP]; [https://itsfoss.com/linux-commands-cheat-sheets/  It's Foss]
 +
 +
== 75(b) Final Report ==
 +
* Here are the [[media:75b_final_report.pdf | simple guidelines]] for the final report
 +
 +
== Course Syllabus for 75(b) ==
 +
 +
{| border=1 width=100%
 +
|-
 +
|| Week || Date || Topic || Reading/Activities || Homework
 +
|- valign=top
 +
|
 +
'''1'''
 +
| 6 Jan (M)
 +
| Organizational meeting
 +
| [[Media:Lecture1_75b_19-20.pdf | PDF Slides for Lecture 1]]
 +
| Homework 1: read the last page of the slides
 +
 +
|-
 +
|
 +
'''2'''
 +
| 15 Jan. (W)
 +
|  Housekeeping & team updates
 +
 +
| * B225 Lab CLEANUP! <br> * Visit the [http://wiki.ros.org/ROS/Tutorials ROS Tutorials Page].  Read the ''Beginner's Level'' documentation, items 1-7, with particular attention to 6 and 7.  <br> Tutorial 7 has mistakes: [[media:Tutorial7Notes.pdf | Revised Tutorial 7 for Melodic ]] <br> * Visit the ROS [http://wiki.ros.org/move_base move_base] page, and skim the main  items to get a sense of move_base's function.
 +
 +
|-
 +
|
 +
'''3'''
 +
| 22 Jan. (W)
 +
|  ROS Intro and Warm up
 +
|  [[media:ROS_intro.pdf | Intro to ROS]]
 +
| (see the last page of the slides)
 +
 +
|-
 +
|
 +
'''4'''
 +
| 30 Jan. (Th)
 +
|  ROS intro completion, theory behind ''move_base''
 +
|  [[media:Move_Base_Background.pdf | Background on ROS move_base]]
 +
| (see the last page of the slides)
 +
 +
|-
 +
|}
 +
 +
=== Documents for Teams ===
 +
* RC Car Team: Classical Nonholonomic Motion Planning approaches for the RC Car
 +
** [[media:DifferentialDriveKinematics.pdf | Kinematic Analysis of a Differential Drive Vehicle]]
 +
** [[media:IntroNoholonomicMotionPlanning.pdf | Introduction to Nonholonomic Motion Planning]]
 +
** [[media:LaumondNoholonomicPlanning.pdf | Nonholonomic Motion Planning for a Car-like Robot]]
 +
** [[media:SmoothNonholonomicPlanning.pdf | Smooth Motion Planning for Car-Like Vehicles]]
 +
** [[media:BarraquandLatombe.pdf | Barraquand and Latombe paper on nonholonomic motion planning]]
 +
** [http://homepages.laas.fr/jpl/book-toc.html A collection of papers on nonholonomic motion planning]
  
 
== Course Syllabus for 75(a) ==
 
== Course Syllabus for 75(a) ==
Line 41: Line 181:
 
| 1 Oct (T)  
 
| 1 Oct (T)  
 
| Organizational meeting <br> Review of the Subterranean Challenge
 
| Organizational meeting <br> Review of the Subterranean Challenge
| [[Media:Lecture1_Overview.pdf | PDF Slides for Lecture 1]] <br> Read the [https://www.subtchallenge.com/  DARPA Subterranean (SubT) challenge website] <br> Read about [[GOTChA_Chart | GOTChA charts]]
+
| [[Media:Lecture1_Overview.pdf | PDF Slides for Lecture 1]] <br> Visit the [https://www.subtchallenge.com/  DARPA Subterranean (SubT) challenge website] and read at least the home page<br> Read about [[GOTChA_Chart | GOTChA charts]]
 
| Homework 1  
 
| Homework 1  
* Read the [https://www.subtchallenge.com/resources.html SubT Resources Page]
+
* Visit the [https://www.subtchallenge.com/resources.html SubT Resources Page]
 
* Identify your skills and learning goals, as well as potential team mates
 
* Identify your skills and learning goals, as well as potential team mates
 
|-
 
|-
Line 49: Line 189:
  
 
'''2'''
 
'''2'''
| 7 Oct. (?)
+
| 9 Oct. (W)
 
| Solution Architecture, Team Organization, First look at Projects,  
 
| Solution Architecture, Team Organization, First look at Projects,  
|  [http://robotics.caltech.edu/~jwb/75/Lecture2.pptx  PowerPoint Slides for Lecture 2] <br> (60 megabytes)
+
|  [[Media:Lecture2.pdf | PDF VErsion of Slides for Lecture 2]] <br>  
 
| Read through the lecture slides, and identify projects that interest you.
 
| Read through the lecture slides, and identify projects that interest you.
 
|-
 
|-
Line 57: Line 197:
  
 
'''3'''
 
'''3'''
| 14 Oct. (?)
+
| 16 Oct. (W)
| Structured Design, System Architectures, Intro to Tools
+
| Structured Design Artifacts, More on System Architectures,  
|  [http://robotics.caltech.edu/~jwb/75/Lecture3.pptx  PowerPoint Slides for Lecture 3] <br> (19 megabytes)
+
|  [[Media:Lecture3.pdf | Slides for Lecture 3]] (in PDF format) <br>  
 
| Read the homework on the last page of the slides.
 
| Read the homework on the last page of the slides.
 
|-
 
|-
Line 65: Line 205:
  
 
'''4'''
 
'''4'''
| 21 Oct. (?)
+
| 23 Oct. (W)
| Requirements/Specifications, Solution Generation,
+
| House-Keeping, Review, Requirements/Specifications,
|  [[Media:Lecture4.pptx | PowerPoint Slides for Lecture 4]] <br> (4 megabytes)
+
|  [[Media:Lecture4_19_20.pdf | Slides for Lecture 4]] (in PDF format) <br>
| Objectives, GOTChA chart, and Morphology Chart for your project.
+
| Read the homework on the last page of the slides
 
|-
 
|-
 
|
 
|
  
 
'''5'''
 
'''5'''
| 28 Oct. (?)
+
| 30 Oct. (W)
|   
+
Solution Generation & Evaluation: Morphology Charts, Pugh Charts, etc.
|
+
| [[Media:Lecture5_19_20.pdf | Slides for Lecture 5]]
 
|  
 
|  
 
|-
 
|-
Line 81: Line 221:
  
 
'''6'''
 
'''6'''
| 4 Nov. (?)
+
| 6 Nov. (W)
| Solution Evaluation
+
| PDRs & Prototyping
| [[Media:Lecture6.pptx | PowerPoint Slides for Lecture 6]]
+
| [[Media:Lecture6_19_20_PDR.pdf | Slides for Lecture 6]] <br> [http://robotics.caltech.edu/~jwb/75/chimera_pdr.pdf  Example PDR]
| Evaluate your solutions/Initial Layout
+
| [[Media:PDR_Guide_19_20.pdf | Instructions for PDR]]
 
|-
 
|-
 
|
 
|
  
 
'''7'''
 
'''7'''
| 11 Nov. (?)
+
| 13 Nov. (W)
| Evaluation Review and PDR
+
| DARPA Urban Circuit Discussion <br> PDR review and questions
| [[Media:Lecture7.pptx | PowerPoint Slides for Lecture 7]] <br> [http://robotics.caltech.edu/~jwb/75/chimera_pdr.pdf  Example PDR]
+
| [[Media:Lecture7_19_20.pdf | Slides for Lecture 7]] <br> The [https://www.youtube.com/watch?v=cmyJJG4E8NA Urban Circuit Video] is now on-line
| [[Media:CSEEME75_PDR_Instructions.pdf | PDR Instructions]] (Due during Finals)
+
|  
 
|-
 
|-
  
 +
|
 +
'''8'''
 +
| 20 Nov. (W)
 +
| PDRs and next steps
 +
| [[Media:Lecture8_19_20.pdf | Slides for Lecture 8]]
 +
|
 +
|-
 +
 +
|
 +
'''9'''
 +
| 26 Nov. (Tu)
 +
| Review of Estimation, Localization, Mapping
 +
| [[Media:Lecture9_19_20.pdf | Slides for Lecture 9]] <br> [[Media:Rotation.pdf | Notes on Rotations]] <br> [[Media:DiffDriveOdometry.pdf | Notes on Differential Drive Odometry]] <br> [[Media:InertialNavigation.pdf | Notes on Inertial Navigation]]
 +
|
 +
|-
 +
 +
 +
|
 +
'''10'''
 +
| 4 Dec. (W)
 +
| Multi-Rotor Control
 +
| [[Media:Lecture10_19_20.pdf | Slides for Lecture 10]]
 +
| [[Media:CSEEME75a_FinalReport.pdf | Guidelines for Final Report]]
 +
|-
 
|}
 
|}
  
 +
<br>
 +
<br>
 +
=== Team Information ===
 +
{| border=1 width=100%
 +
|-
 +
|| [[Drive-o-copter Team(s)]] || [[Autonomous RC Car Team]] || [[Extreme Localization Team]]
 +
|-
 +
|}
  
 
=== On-Line Resources ===
 
=== On-Line Resources ===
Line 120: Line 292:
 
In the second and third term, the course grade will be equally weighted between team presentations, project documentation and participation.
 
In the second and third term, the course grade will be equally weighted between team presentations, project documentation and participation.
  
===  2018-19 Project ===
+
===  2019-20 Project ===
The course project for 2010-11 will be the [https://www.subtchallenge.com/ DARPA Subterranean Challenge].  Throughout the course documentation, we will use the acronym, '''SubT''', to refer to this competition. The course will be structured to provide curriculum credit for students participating in this challenge -- a competition to design, build, and operate an autonomous robotic team to map underground spaces (such as a tunnel system, and underground facility, or a natural cave).  This competition will have a qualifying round in May, 2019, and an actual competition in August 2019 in a tunnel system, at a site still to be determined.
+
The course project for the 2019-20 academic year will be the [https://www.subtchallenge.com/ DARPA Subterranean Challenge].  Throughout the course documentation, we will use the acronym, '''SubT''', to refer to this competition. The course will be structured to provide curriculum credit for students participating in this challenge -- a competition to design, build, and operate an autonomous robotic team to map underground spaces (such as a tunnel system, and underground facility, or a natural cave).   
  
 
==== First term ====
 
==== First term ====

Latest revision as of 15:55, 27 May 2020

Introduction to Multidisciplinary Systems Engineering

Instructors

  • Joel Burdick, jwb@robotics.caltech.edu
  • Class Meeting Time: 5:00-6:00 pm, Wednesday (Virtual Zoom Meeting)

Teaching Assistants


Course Description

CS/EE/ME 75 presents the basics of modern multi-disciplinary systems engineering in the context of a substantial design project. Students from a variety of disciplines will conceive, design, implement, and operate a system involving electrical, information, and mechanical engineering components. Specific tools will be provided for setting project goals and objectives, managing interfaces between component subsystems, working in design teams, and tracking progress against tasks. Students will be expected to apply knowledge from other courses at Caltech in designing and implementing specific subsystems. During the first term of the course, students will attend project meetings and learn about methods and tools for project design. Some students will also begin work on their projects. During the second and third term, each team will build, document, demonstrate, and integrate a course design project.

This year, for the second year in a row, the course will develop prototypes that contribute to Team CoSTAR's competition in the DARPA Subterranean Challenge.

CS/EE/ME 75 can be used to satisfy specific graduation requirements in the CS, EE, and ME options and may be taken for up to 36 units of total credit within one academic year, with permission of the instructors. Freshman must receive permission from the instructor to enroll.

Course Syllabus for 75(c)

Week Date Topic Reading/Activities Homework

1

30 March (M) Organizational meeting PDF Slides for 75(c) Org. Meeting No Homework this week, due to Caltech policy
For next week, view these on-line Ros Lectures
Lecture 1; Lecture 2

2

8 April (W) ROS Reboot: we need to advance our ROS knowledge, particularly on Gazebo and RViz PPTX slides of todays overview (video is embedded) * Visit the ROS Tutorials Page.
DoBeginner's Level Tutorial 10. Notes on Tutorial 10
Choose Item 11 or 12 (depends on your coding choice). Tutorial 11 Notes
Then proceed with Item 13.

3

15 April (W) Moving on to Gazebo PPTX slides of Revised2 Slides *
Note that Gazebo 9 is already installed in Ubuntu 18.1, ROS Melodic
See revised lecture slides for exercise detail.

4

22 April (W) Gazebo & rviz PPTX slides of todays overview Homework exercises are at the end of the lecture slides

5

29 April (W) Gazebo Plugins & ROS Control PPTX slides of todays overview See the last pages of the lectures slides for homework


6

6 May (W) Getting Started on Team Simulations PPTX slides of todays overview See the last pages of the lectures slides for homework


7

13 May (W) Progress on Team Simulations? PPTX slides of todays overview See the last pages of the lectures slides for homework

8

20 May (W) Progress Updates and Final Reports/Documentaton PPTX slides of todays overview Guidelines for the final Report and Documentation

9

27 May (W) Team Progress Updates PPTX slides of todays overview Guidelines for the final Report and Documentation


ROS/Gazebo/Linux Resources

75(b) Final Report

Course Syllabus for 75(b)

Week Date Topic Reading/Activities Homework

1

6 Jan (M) Organizational meeting PDF Slides for Lecture 1 Homework 1: read the last page of the slides

2

15 Jan. (W) Housekeeping & team updates * B225 Lab CLEANUP!
* Visit the ROS Tutorials Page. Read the Beginner's Level documentation, items 1-7, with particular attention to 6 and 7.
Tutorial 7 has mistakes: Revised Tutorial 7 for Melodic
* Visit the ROS move_base page, and skim the main items to get a sense of move_base's function.

3

22 Jan. (W) ROS Intro and Warm up Intro to ROS (see the last page of the slides)

4

30 Jan. (Th) ROS intro completion, theory behind move_base Background on ROS move_base (see the last page of the slides)

Documents for Teams

Course Syllabus for 75(a)

Week Date Topic Reading/Activities Homework

1

1 Oct (T) Organizational meeting
Review of the Subterranean Challenge
PDF Slides for Lecture 1
Visit the DARPA Subterranean (SubT) challenge website and read at least the home page
Read about GOTChA charts
Homework 1
  • Visit the SubT Resources Page
  • Identify your skills and learning goals, as well as potential team mates

2

9 Oct. (W) Solution Architecture, Team Organization, First look at Projects, PDF VErsion of Slides for Lecture 2
Read through the lecture slides, and identify projects that interest you.

3

16 Oct. (W) Structured Design Artifacts, More on System Architectures, Slides for Lecture 3 (in PDF format)
Read the homework on the last page of the slides.

4

23 Oct. (W) House-Keeping, Review, Requirements/Specifications, Slides for Lecture 4 (in PDF format)
Read the homework on the last page of the slides

5

30 Oct. (W) Solution Generation & Evaluation: Morphology Charts, Pugh Charts, etc. Slides for Lecture 5

6

6 Nov. (W) PDRs & Prototyping Slides for Lecture 6
Example PDR
Instructions for PDR

7

13 Nov. (W) DARPA Urban Circuit Discussion
PDR review and questions
Slides for Lecture 7
The Urban Circuit Video is now on-line

8

20 Nov. (W) PDRs and next steps Slides for Lecture 8

9

26 Nov. (Tu) Review of Estimation, Localization, Mapping Slides for Lecture 9
Notes on Rotations
Notes on Differential Drive Odometry
Notes on Inertial Navigation

10

4 Dec. (W) Multi-Rotor Control Slides for Lecture 10 Guidelines for Final Report



Team Information

Drive-o-copter Team(s) Autonomous RC Car Team Extreme Localization Team

On-Line Resources

Course structure

CS/EE/ME 75 works best when it is integrated with the curriculum in the individual engineering disciplines. This is accomplished by linking the activities in the first two terms with regular classes in CS, EE and ME. These courses are used to design subsystems for the overall project, with the system integration occuring in the second and third terms, with the final implementation and operation possibly occuring over the summer.

  • Pre-requisites: there are no pre-requisites for CS/EE/ME 75 and it can be taken in any year of study (including freshman year). The course is structured so that students of different experience levels can all participate in the design project and accomplish the learning objectives of the course. In the past, some of the students that got the most out of the course were the students who were early in their studies, so we encourage freshman and sophomores to participate.
  • Units: the course has a variable number of units. In the fall, it can be taken for 3, 6 or 9 units, in the winter for 6, 9 or 12 units and in the spring for 9, 12, 15 or 18 units. This use of units is designed to allow student who want to participate but can't spend 9-12 units per term still get involved with the project. In particular, for sophomores or juniors with a heavy course load, it is possible to take the course at the level of 3, 6 and then 9 units in each term.
  • Graduation requirements: CS/EE/ME 75 satisfies specific graduation requirements in CS, EE and ME (as listed in the individual catalog sections). In most cases, you must take the entire course to satisfy the appropriate requirement (this is often listed in the catalog has having CS/EE/ME 75c satisfy the requirement). For students in other options, you will have to petition if you want this course to offset any of the usual design-oriented requirements.

Grading

In the first term, the course grade will be weighted as follows:

  • Homework (20%): Approximately 4 homework sets will be assigned in each term. Most sets will consist of some work that is done by the student's team, as well as a (short) individual portion
  • Team presentations (20%): Each team will be required to make a presentation to the class summarizing their design studies.
  • Project documentation (40%): All work performed as part of the class should be documented in an appropriate format (to be decided by the teams). Each individual will turn in the documentation for the items they are responsible for by the end of the term.
  • Participation (20%): Students are expected to attend project and team meetings and to participate in a constructive manner toward the overall goals of the team. Team coordinators and instructors will provide assessments for each student based on the level and quality of participation in project activities.

In the second and third term, the course grade will be equally weighted between team presentations, project documentation and participation.

2019-20 Project

The course project for the 2019-20 academic year will be the DARPA Subterranean Challenge. Throughout the course documentation, we will use the acronym, SubT, to refer to this competition. The course will be structured to provide curriculum credit for students participating in this challenge -- a competition to design, build, and operate an autonomous robotic team to map underground spaces (such as a tunnel system, and underground facility, or a natural cave).

First term

The course activities in the first term are designed to get students up to speed on the processes that will be used in the project and complete the design development phase of their projects. Students will generally fall into one of the three following groups, depending on how many units they are receiving for the course:

  • 3 units credit: students taking the course for 3 units of credit will be a member of a single design team and will contribute to the design of a specified subsystem within that team. Activities will consist of attending the weekly project and team meetings, turning in homework sets for the first portion of the course, and preparing materials for the SubT.
  • 6-9 units credit: students taking the course for 6-9 units will be a member of a single design team as well. For the additional credits, the team must demonstrate a demonstration prototype of a subsystem as up to one additional (supporting) team. Students who are members of the integrated product team (IPT) should be taking the course for 9 units of credit to cover the additional time required to serve in this role.
  • No credit: students who do not wish to take CS/EE/ME 75 for credit can continue to participate in the Solar Decathlon projects. All students should attend the weekly project meeting and be a member of either a design team, supporting team, or both.

The output of the first term will be a building information model, design drawings and project manual (SD due date: 23 Nov 2010).

Second term

The second term of the course will focus on prototyping. By the end of this phase, proof-of-concept implementations of the major subsystems should be complete. In addition, options for improving on the baseline system will be evaluated and decisions made on which technologies will be included in the final design.

Students will generally fall into one of the three following groups, depending on how many units they are receiving for the course:

  • 6 units credit: students taking the course for 6 units of credit will be a member of a single design team and will contribute to the prototyping of a specified subsystem within that team. Activities will consist of attending the weekly project and team meetings, turning in homework sets for the course, and preparing materials for the SubT milestones and internal design reviews, and preparing final documentation for your subsystem or component.
  • 9-12 units credit: students taking the course for 9-12 units will be a member of a single design team as well as up to one additional (supporting or secondary) team. Students who are members of an integrated product team (IPT) should be taking the course for at least 9 units of credit to cover the additional time required to serve in this role.
  • No credit: students who do not wish to take CS/EE/ME 75 for credit can continue to participate in the SubT projects. All students should attend the weekly project meeting and be a member of either a design team, supporting team, or both.

The output of the second term will be a building information model, design drawings and project manual (SD due date: 23 Mar 2011).

Third term

Students can opt for 9, 12, 15, or 18 units. The third term will be devoted to integrating prototypes, and demonstrating performance. Note that by late May in the third term, the team must qualify for the first year competition in August.

Frequently Asked Questions

Q: I didn't participate in the course during the first term. Can I still participate?

A: Yes. There will be some makeup work in the first term and you may need to do some additional reading to come up to speed on your subsystem, but there it should be no problem getting caught up within a short period of the start of the course.

Q: I can't make it to the organizational meeting. Can I still participate in the course?

A: Yes! Materials for the organizational meeting should be posted by the time of the meeting (or shortly after).

Q: Can seniors take the course (since the competition is after graduation)?

A: There is an intermediate competition in February, 2020. Thus, if you start your project early enough, you can impact the team during your senior year. The major competition will occur in August, 2020. We anticipate that the major design aspects of the project (which is what the class is about) will be done by end of spring term, so definitely it should be a good class to take as a senior if you are interested in design of large scale systems (e.g., something that requires 20-50 students instead of 2-5). If you can stay around campus during the following summer, you could continue to participate in the final implementation leading up to (and even including) the competition.

Q: How much instruction does the class provide? While I am a sophomore, I still feel like I have not taken enough practical classes to contribute to a large project such as this

A: The course is designed so that everyone from freshman to seniors can participate. You'll definitely make use of work from your sophomore classes and well as the classes that you might take in your junior year.

Q: Would you suggest taking ME 13 (the machining class) before taking this one?

A: It's not necessary. We'll divide people up into teams based on their background and interests. We will try to place one or more students with ME 13/14 experience on a team that need that set of skills. Additionally, some course projects are very oriented toward algorithms and software, and therefore do not need machine shop experience.

Q: Do you have any advice for someone who's choosing between ME 72 and CS/EE/ME 75, or even considering taking them both?

A: They are quite different courses with very different goals and approaches. In ME 72, you and a small team carry out the entire system design, fabrication, and execution. In CS/EE/ME 75, we tackle projects that are too big for a single person to understand everything (and definitely too big for a small group to do all of the work). Hence, while you will specialize in a particular subject through the choice of your class project, you will also participate in building something that combines a lot of different types of technologies. You might want to discuss this with your advisor, since he or she might have additional insights based on the other courses you have taken and your specific interests.