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

PROGRAMMINGMatlabFamiliarity with command-line and external functions using MATLAB library; Import/export of data; graphing/plotting functions & data; rudimentary animation
PythonAnd / or C / C++ familiarity
ROSRobot Operating System (ROS) - Optional (Good to know)
Program ConstructsSequencing, Selection, Iteration & Recursion
Data Organization Arrays, Lists, Pointers
COMPUTERSToolsProductivity SW (MS Office - Excel / Word / PowerPoint / Project)
Operating Systems Windows or Apple-OS - use of personal laptop computer Linux or Ubuntu
MATHEMATICSLinear AlgebraInversion, Eigenvalues, Null-Space
Linear Differential Eq.Matrix-Algebra & -Manipulation
Basic CalculusDerivatives, Gradients, Chain Rule
Numerical Integration Basic Computational Implementation, e.g. Runge-Kutta 4
Fourier AnalysisNOT how to calculate the coefficients, but the notion that any complicated fct. can be represented as a composite of simpler ones
CMU Math Fundamentals Course16-811: Math Fundamentals for Robotics
PHYSICSNewtonian PhysicsNewton-Euler Mechanics (Forces, torques, mass / inertia, Equations of motion)
System StateDegrees of Freedom & Constraints to fully describe a system’s behavior mathematically
CONTROLSControl SystemsControls Fundamentals (transfer functions; bode plots; stability-margin; time-response of LTI systems; PID compensators)
OTHERElectronicsBasic experience with practical circuits (elements, interactions, PCBs)
MechanismsSome design and fabrication experience (Concept -> CAD -> Fabrication)
DocumentationBasic skills in document structuring and technical writing
REFERENCESCourses - College-LevelCMU: CS Courses 15-110 and / or 15-112 OR equivalent
HIGHLY recommend being comfortable with material in 16-811
Courses - OnlineStanford - CS-101
MIT - Code Academy
Coursera
Udacity - . . . choose cs101 or cs373
BooksLinear 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 ResourcesMATLAB
Python
Lynda - assorted trainings - available with CMU ID