CS EE ME 75 2019-20
Introduction to Multidisciplinary Systems Engineering
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.
75(b) Final Report
- Here are the simple guidelines for the final report
Course Syllabus for 75(b)
|6 Jan (M)||Organizational meeting||PDF Slides for Lecture 1||Homework 1: read the last page of the slides|
|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.
* Visit the ROS move_base page, and skim the main items to get a sense of move_base's function.
|22 Jan. (W)||ROS Intro and Warm up||Intro to ROS||(see the last page of the slides)|
|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
- RC Car Team: Classical Nonholonomic Motion Planning approaches for the RC Car
- Kinematic Analysis of a Differential Drive Vehicle
- Introduction to Nonholonomic Motion Planning
- Nonholonomic Motion Planning for a Car-like Robot
- Smooth Motion Planning for Car-Like Vehicles
- Barraquand and Latombe paper on nonholonomic motion planning
- A collection of papers on nonholonomic motion planning
Course Syllabus for 75(a)
|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
|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.|
|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.|
|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|
|30 Oct. (W)||Solution Generation & Evaluation: Morphology Charts, Pugh Charts, etc.||Slides for Lecture 5|
|6 Nov. (W)||PDRs & Prototyping|| Slides for Lecture 6
|Instructions for PDR|
|13 Nov. (W)|| DARPA Urban Circuit Discussion
PDR review and questions
| Slides for Lecture 7
The Urban Circuit Video is now on-line
|20 Nov. (W)||PDRs and next steps||Slides for Lecture 8|
|26 Nov. (Tu)||Review of Estimation, Localization, Mapping|| Slides for Lecture 9
Notes on Rotations
Notes on Differential Drive Odometry
Notes on Inertial Navigation
|4 Dec. (W)||Multi-Rotor Control||Slides for Lecture 10||Guidelines for Final Report|
|Drive-o-copter Team(s)||Autonomous RC Car Team||Extreme Localization Team|
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.
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.
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).
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).
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).
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.