-
Notifications
You must be signed in to change notification settings - Fork 131
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #88 from CMUBOB97/master
Added elective 16-384 and 16-664
- Loading branch information
Showing
3 changed files
with
168 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
# 16-384: Robot Kinematics and Dynamics | ||
|
||
| **Category** | **Difficulty (Out of 5)** | | ||
| --- | --- | | ||
| Homework - Programming | 3 | | ||
| Homework - Written | 4 | | ||
| Final Project | 3.5 | | ||
| Exams | 5 | | ||
|
||
16-384 is a required class for students interested in pursuing an additional major in Robotics. | ||
This course mainly focuses on: | ||
- how to manipulate a robot arm with multiple degrees of freedom | ||
- how to know where the end of your robot arm is given a specific configuration (angles in joints) | ||
- how to know your robot arm's configuration given the end position | ||
- how to change your robot arm's position and velocity | ||
- how much torque your robot arm experiences and exerts | ||
- how to mathematically represent a complicated, multiple-joint robotics arm | ||
- ... | ||
This class has the fundamental mathematics and techniques in kinematics and dynamics. | ||
By completing programming assignments on using the Hebi robotics arm and | ||
written assignment to practice the math, students will have the skill to accomplish | ||
the final project: making the robot arm build a Jenga tower. | ||
The workload in this class is moderate and details about topics, class structure, | ||
and assignments are mentioned below: | ||
|
||
# Topics | ||
|
||
1. Rigid Body Motions | ||
2. Forward Kinematics | ||
3. Jacobian | ||
4. Inverse Kinematics | ||
5. Dynamics of Point Masses | ||
6. Denavit-Hartenberg Representation | ||
7. Angular Velocity | ||
8. Forward Differential Kinematics | ||
9. Inverse Differential Kinematics | ||
|
||
*note that all topics are extended from 2D to 3D as the class proceeds. | ||
|
||
# Class Structure | ||
|
||
1. Lectures on the above topics | ||
- there are mini lectures on OLI modules that can help you review/preview | ||
- lectures consist of concepts and examples | ||
- TAs will go through HW problems during the class | ||
2. Homework | ||
- programming: uses the robotics arm in REL (robotics education lab, in NSH 3rd floor) | ||
- written: mathematics on topics mentioned above | ||
- **no late handin** | ||
3. Midterm | ||
- during the class time | ||
- quite **hard** | ||
4. Final project & competition | ||
- robot building Jenga tower | ||
- the team building the tower the highest in 30 seconds gets 100 on the final | ||
|
||
# Homeworks | ||
|
||
The homework usually comes in two parts: the written one and the programming one. | ||
The written part will guide you through the calculation and give you a picture on | ||
how to implement this in the programming part. The programming part will be in | ||
MATLAB. It's okay to not have the prior knowledge about it (there is a warm up homework 0). | ||
Most stuff in this class is about linear algebra, so it is good to take classes | ||
about linear algebra before taking this class. This class does not allow late | ||
submissions. If you need extensions, be sure to take with instructors ahead of time. | ||
|
||
# OLI modules | ||
|
||
A small portion of the grade in this class goes to OLI module, and their deadlines | ||
are pretty frequent. Although it is okay to miss one or two, make sure you do not | ||
miss a lot of them. | ||
|
||
# Exams | ||
|
||
There will be two exams in this class, and both of them are pretty intense. | ||
Students from last year were struggling trying to finish the Lagrangian question. | ||
Be sure to review homework and be comfortable doing the calculation before the exam. | ||
|
||
# Final project | ||
|
||
The final project consists of two parts: a checkpoint and a final. Final project | ||
will be in teams of 2. The checkpoint is about laying a single layer of Jenga blocks, | ||
and the final is about laying 3 layers of Jenga blocks with a time constraint. | ||
Therefore, try to reserve enough time for the final, because you can use plenty | ||
methods to get away with the checkpoint, but not the same for final. There is a | ||
competition on building the highest Jenga structure in 30 seconds, with auto 100 | ||
on the final exam as a reward. This competition is not mandatory, so you can | ||
also have fun watching other people's robot in the competition! | ||
|
||
# Tips and Tricks to do Well | ||
|
||
- Attend lectures and keep up with lectures. | ||
- Ask questions on Piazza when in doubt. | ||
- There are modules on OLI for helping you review/preview materials. | ||
- Pay attention to homeowrk feedback and don't submit them late. | ||
- Be sure to prepare the exam both in concepts and calculations. | ||
- Start the final project early! Otherwise people fight for robot usage 3 AM before the demo day. | ||
- Have fun! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
# 16-664: Self Driving Cars: Perception & Control | ||
|
||
| Category | Difficulty | | ||
|:-: | :-: | | ||
| HW | 3 | | ||
| Project | 3 | | ||
|
||
Self Driving Cars: Perception & Control is a new class introduced to Robotics Department | ||
in Spring 2023. This class combines both the perception and control knowledge in the field of | ||
self driving car and gives students homework and project that solves problems using real work | ||
and simulation data samples. The course is split into two halves: the first half semester | ||
covers perception, and the second half covers control. | ||
|
||
# Topics covered | ||
|
||
Perception | ||
- Pose sensors | ||
- Camera & Lidar geometry | ||
- Localization & SLAM | ||
- Machine Learning for Computer Vision | ||
|
||
Control | ||
- State space models | ||
- Linear Quadratic Regulators (LQR) | ||
- Vehicle Dynamics | ||
- Model Predictive Controls (MPC) | ||
- Trajectory Optimization | ||
|
||
# Class structure | ||
|
||
The class only has one lecture per week, and it is 2 hour and 50 minute long, from 4 pm | ||
to 6:50 pm. During the lecture period there will have two intermissions, so it won't be | ||
too exhausting. During the lecture, professors will cover how certain perception/control | ||
techniques were developed and how to deploy them in self driving car scenarios. The | ||
lectures assume students have some prior knowledge in linear algebra, so it is good to | ||
take some linear algebra courses before taking this class. However, you are welcome to | ||
ask questions or concepts that you have not heard of and both perception and control | ||
professors will happily answer you. | ||
|
||
# Homework | ||
|
||
Homework is due biweekly. The difficulty is not too hard, so you have plenty of time to work | ||
on the assignment. Note that there is only one TA per half of the semester (so one perception | ||
TA and one control TA), you should work on the assignment ahead of time and ask questions | ||
during the limited office hour time. There is one assignment you are allowed to submit up to | ||
48 hours late. Since most materials are related to linear algebra, the assignment will be | ||
submitted using MATLAB grader and you can test your submissions for unlimited number of times | ||
before the due. It's better if you have worked with MATLAB before this class. However, you | ||
can still take it without the prior knowledge as there will be a warmup assignment on MATLAB | ||
before everything. | ||
|
||
# Project | ||
|
||
The final project is about perceiving other vehicles and controling your own vehicle's movement | ||
in the simulation environment of GTA5 (Wow!). This final project is pretty cool and you are | ||
allowed to use any perception and control technique. The baseline for passing the final | ||
project is fair, and you can explore more techniques after getting a passing score. The final | ||
project is in groups. | ||
|
||
# Exams | ||
|
||
There are no exams in this class. | ||
|
||
# How to do well in this class | ||
- Ask questions about anything during the class time | ||
- Start your homework early | ||
- Ask your classmates or on Piazza since TAs have few office hour slots | ||
- Have fun :) |