Take Control of Amazing Robots: Coursework

What Roboticists do on their laptops

From left: Boston Dynamics’ original ATLAS, next-generation ATLAS, BigDog, WildCat, and AlphaDog.

As I mentioned in my first story, I’ll try my best to provide you with a nice roadmap to learn, master and adopt the ideas out there and impart my take on them. The learning part is inevitable and the time you spend on it pays off over and over.

“Give me six hours to chop down a tree and I will spend the first four sharpening the axe.”
— Abraham Lincoln


You first need to know how to code. There are many learning sources online and probably many classes in your university on MATLAB and other languages — I’m not going to give you a list of online MATLAB courses here. If you’re barely familiar with coding, take them, something like a 2-day workshop can give you a head start. If you have experience with coding in general, you can always learn new languages easily; it’s only a matter of hours you put in. MATLAB is a matrix-based, high-level and suitable language for trying out and learning algorithms. There are many reasons why one should use MATLAB — I’m only giving a few here. It has a super vast library of prebuilt toolboxes and only requires minimal programming experience to get you up and running in no time, and of course it’s interpreted which means you can easily debug your code. Another advantage of MATLAB over other candidates is that it provides nice graphical data representation and lets you have immediate visual feedback. Plus, MATLAB has integration with many softwares of interest. It’s necessary to know MATLAB, most robotics courses use it. Having said all these, one can always freely choose the programming language as long as he/she gets the job done. Do Python, I don’t care — I actually love Python (-__-).

Differential Equations and Linear Algebra

Control is all about manipulating the solution of a set of differential equations. In robotics, these are equations of motion. It is helpful to have some comfort with differential equations and state-space representations for multi-control-parameter systems. MIT OCW provides a straight-forward open course on these — some basic knowledge on Modern Control Theory for SISO systems would help, although it’s not necessarily prerequired. Feedback Control Systems, by Prof. Jonathan P. How and Prof. Emilio Frazzoli, here’s the link:

Underactuated Robotics

So this is the new shit! This is what the Control/Robotics community’s been concerned about for the past few years.

“If the control problem is considered unsolved, it’s probably underactuared.”
— Russ Tedrake

But what is underactuated?

Imagine you could accelerate your robot’s coordinates arbitrarily, in any direction you want — this calls for controllability and as many active control inputs as the robot’s degrees of freedom. This system is said to be fully-actuated. The thing about fully-actuated systems, is that when you have complete control authority, you can choose an arbitrary trajectory and crank out the control inputs, e.g. torques and forces, to follow that trajectory. Easy. Manipulators and robotic arms, for instance, tend to have an actuator at every joint that makes them fully-actuated. This was the focus of robotics for many years, and we can handle these kinds of problems well.

Unfortunately this is not the case for many systems, especially agile, walking, flying and most of mobile robots. These are inherently underactuated, meaning that the natural dynamics of the system, are not completely in your control and now play a more dominant role. You can’t impose a strict motion on the robot, and to get to your goal, you have to think a lot about your system’s dynamics. The actuation dichotomy, turns the problem of finding an action tape to produce an arbitrary motion into a search problem. You need to search the state-action space to come up with a feasible trajectory that gets you to the goal. Computers help carrying out these searches, and that’s why underactuation robotics is more of a Computer Science thing. In this video Russ Tedrake perfectly conveys the crux of the matter:

Underactuated Robotics is the beautifullest online course on robotics. It is available both on MIT OCW and edX, and pretty much sums up everything you need to know about the state of the art robots — which are probably underactuated — education-wise. Find the links below.

P.S. That was super uncool edX:

I had to use a friend’s account — I’m Iranian.

I work on underactuated systems too, and by this blog I aim to help and inspire peers who are on the same path. If you found this story helpful, make it available to others by recommending it!

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.