MRSD students have diverse backgrounds and experienced different levels of exposure to engineering, math, and science. Each year brings in a new group of unique individuals who each have a great deal of expertise to contribute to the MRSD community. Teamwork is a central requirement of the program, so effective and respectful communication skills – verbally and in writing – are required.
The MRSD program offers broad exposure to many topics relevant to robotics. In order to be properly prepared, below is a comprehensive list that paints an “ideal” picture. While it certainly helps, it is NOT a requirement to be proficient in each area. Incoming students are encouraged to at least review the meaning and terminology until they are comfortable with the basics. The MRSD Program Administration encourages students to become familiar with areas not associated with their previous major; they can then think critically through multiple lenses, and ultimately take full advantage of the multidisciplinary training provided through the MRSD program.
The below table summarizes recommended skills and knowledge.
Recommended Skills for MRSD
PROGRAMMING | Matlab | Familiarity with command-line and external functions using MATLAB library; Import/export of data; graphing/plotting functions & data; rudimentary animation |
Python | And / or C / C++ familiarity | |
ROS | Robot Operating System (ROS) - Optional (Good to know) | |
Program Constructs | Sequencing, Selection, Iteration & Recursion | |
Data Organization | Arrays, Lists, Pointers | |
COMPUTERS | Tools | Productivity SW (MS Office - Excel / Word / PowerPoint / Project) |
Operating Systems | Windows or Apple-OS - use of personal laptop computer Linux or Ubuntu | |
MATHEMATICS | Linear Algebra | Inversion, Eigenvalues, Null-Space |
Linear Differential Eq. | Matrix-Algebra & -Manipulation | |
Basic Calculus | Derivatives, Gradients, Chain Rule | |
Numerical Integration | Basic Computational Implementation, e.g. Runge-Kutta 4 | |
Fourier Analysis | NOT how to calculate the coefficients, but the notion that any complicated fct. can be represented as a composite of simpler ones | |
CMU Math Fundamentals Course | 16-811: Math Fundamentals for Robotics | |
PHYSICS | Newtonian Physics | Newton-Euler Mechanics (Forces, torques, mass / inertia, Equations of motion) |
System State | Degrees of Freedom & Constraints to fully describe a system’s behavior mathematically | |
CONTROLS | Control Systems | Controls Fundamentals (transfer functions; bode plots; stability-margin; time-response of LTI systems; PID compensators) |
OTHER | Electronics | Basic experience with practical circuits (elements, interactions, PCBs) |
Mechanisms | Some design and fabrication experience (Concept -> CAD -> Fabrication) | |
Documentation | Basic skills in document structuring and technical writing | |
REFERENCES | Courses - College-Level | CMU: CS Courses 15-110 and / or 15-112 OR equivalent HIGHLY recommend being comfortable with material in 16-811 |
Courses - Online | Stanford - CS-101 MIT - Code Academy Coursera Udacity - . . . choose cs101 or cs373 |
|
Books | Linear Algebra: A Modern Introduction - David Poole Physics - Jay Orear Control Systems Engineering - Norman Nise The C Programming Language - Kernighan & Ritchie The C Programmers Handbook - Thom Hogan Programming in C - S. Kochan |
|
Online Tutorials and Learning Resources | MATLAB Python Lynda - assorted trainings - available with CMU ID |