HN Academy

The best online courses of Hacker News.

Hacker News Comments on
Control of Mobile Robots

Coursera · Georgia Institute of Technology · 5 HN comments

HN Academy has aggregated all Hacker News stories and comments that mention Coursera's "Control of Mobile Robots" from Georgia Institute of Technology.
Course Description

Control of Mobile Robots is a course that focuses on the application of modern control theory to the problem of making robots move around in safe and effective ways. The structure of this class is somewhat unusual since it involves many moving parts - to do robotics right, one has to go from basic theory all the way to an actual robot moving around in the real world, which is the challenge we have set out to address through the different pieces in the course.

HN Academy Rankings
Provider Info
This course is offered by Georgia Institute of Technology on the Coursera platform.
HN Academy may receive a referral commission when you make purchases on sites after clicking through links on this page. Most courses are available for free with the option to purchase a completion certificate.
See also: all Reddit discussions that mention this course at reddsera.com.

Hacker News Stories and Comments

All the comments and stories posted to Hacker News that reference this url.
Control or spatial-related DSP has a lot of geometry going on and it's really hard to get with a good working knowledge. I don't know if there's a short path. Start with a good linear algebra course maybe in parallel to actually trying to solve or hack though the type of problems you want to solve, and thinking about how the basic stuff you are learning complements with the high level one.

Besides the courses recommended here this are other online materials related to planning, location and control I found really useful and consider to be high quality:

https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Pyt... https://www.coursera.org/learn/mobile-robot

For Linear Algebra I really like Strang's course on OCW taken together with reading through his book.

mrcoder111
I took a linear algebra course. Maybe I need to restudy but I would rather have links to exact chapters than reading the whole thing, as I don't see a direct path from the linear algebra I studied to the topology concepts and geometry here. Specifically there weren't any curves in linear algebra. Ex 4.10 and 4.11 here: http://planning.cs.uiuc.edu/node143.html

Are examples of things that are hard for me to understand. Especially that 2d picture in 4.11

chongli
You have to study quite a lot of linear algebra before you can tackle functional analysis, the subject which includes the study of topological vector spaces. I don't know anything about robotics, however, so I don't know how functional analysis would apply, if at all.
tnecniv
Functional analysis shows up all over the place. Everywhere you can take a Fourier transform, you can use functional analysis. For robotics, control theory and computer vision both come to mind.
Awesome! That goes really well with the upcoming course on Controlling Mobile Robots I was gonna take https://www.coursera.org/course/conrob
legogt
Magnus's Finite Automata course was one of my favorites at GaTech and I'm sure you won't be disappointed with his Coursera offering.

Anyone in the Santa Monica/LA area want to take a stab at this competition?

Some suggestions. To learn:

1) http://societyofrobots.com/ especially the forum

2) https://www.coursera.org/course/conrob

3) download the old coursera course on computer vision from some torrent site

4) anything and everything on 3d mathematics you can find.

Get a job making robots. Oh and the interview question is "how do you find a path for a non-point robot with non-line obstacles". The answer is to add the point-inversion of the robot to every point in the scene, and find a path in the resulting "configuration space" (google that and program it once. In 2d. No need to torture yourself with the 3d implementation). Worst-case followup question : and how do you find paths if rotation is allowed ? Tell the interviewer that you don't know, but he doesn't know that either (and it's easy to use the previous answer to come up with a -way to slow- algorithm suggestion, doing it efficiently and correctly however ...).

If you just want to make a robot. I suggest :

(shortcut if you got money to burn and don't care about electronics : http://www.robotis.com/xe/bioloid_en . Lego motors are slow and crappy)

1) forward kinematics (given 3 translated and rotated robot arm sections, what movement makes the end effector ?). Oh and mobile platform kinematics (robot arm is now a robot paw. What is the effect on a mobile platform if you move the arm, given that the end effector is on the ground)

2) make a robot arm. Bonus points if you make a walker.

3) actually program forward kinematics.

4) notice that the engines get really, really hot

5) learn control algorithms. Summary : the position of a motor is a function. Find the derivative of that function, speed. Make your control loop limit that speed (meaning speed needs to remain within -x and +x. Slow down if you find your robot risks exceeding that). Find the derivative of the speed function, acceleration. Make your control loop limit it's value.

5.5) find that the limits imposed in 5 are too strict. Find a way to relax them so that over a "small" time period of, say 2-3 seconds they're always true, but allow for small periods that exceed these limits.

6) notice that if you limit the torque (the derivative of the acceleration function to relatively low values) humans will not notice the movement of the robot, even though it doesn't preclude the robot moving quite fast. Have some fun with that.

6.5) attempt to make your robot pick up an unboiled egg. Break 100 eggs. Publish the traditional "look I can pick up an egg" (in 100 attempts you'll have a single egg that survives. Don't mention the other 99)

7) find ways to get your control loops based on other values. For example, find a way to have an end effector exert constant force on an object, as opposed to having a specific position. Find a way for your end effector to track an object.

7.5) make your robot pick up an unboiled egg. Get the breakage under 10%. Publish another paper. Do mention the 10 broken eggs. 8) find a way to do 7 while making sure your robot doesn't crash into itself, that generally there is no way to trick it into attempting to intersect with itself.

After step 7, you now know more than 80% of the people working on robotics. If you're still having fun, I'd definitely suggest getting into a phd program. Note that all this is bloody hard. Before you have step 8 covered you will be one of the 100 best-informed people in your state when it comes to 3d geometry and how forces affect objects. You will get irritated everytime you see a crane or bulldozer or escalator or elevator ... Your girlfriend will hate you for pointing out ways that those things can easily or suddenly accelerate large masses and cause disasters, and how easy it would be to prevent that.

Note that we really aren't that far when it comes to robotics. That means that with basic electronics you can achieve the state of the art (exception : battery life). It is not necessary to utilize expensive motors to achieve any of this, nor do you need things like a 3d printer or the like (servos + balsa wood(and something more solid, when you inevitable make a bigger robot) + saw + drill) will get you to step 6.5, and there is plenty of information on the internet on how to replace the servo ciruits to make 7+8 possible.

jdorw
I've been a robotics hobbyist for a few years and still can't answer any of those questions. I can get my turtlebot to follow me around and chase the cat though. Is there a practical programming robotics book/course out there? I've taken tons of math, controls, read robotics books, but still can't program anything harder than a PID or Kalman filter. I think part of that is me relying on ROS libraries too much.
waps
Both of those can be really easy or really hard, depending. What exactly would you like to learn ?

Both things are related to control loops, so how about you make a slightly more complex robot that can detect it's position somehow, and get some pathfinding going ?

iandanforth
I also highly recommend bioloid (Dynamixel AX-12) servos. Next year there will also be slightly cheaper version (XL), but the current AX line is a great way for a software person to start working with robots right away.
HeyLaughingBoy
You forgot inverse kinematics. If you want the robot to do something useful like pick up an object from somewhere and put it down somewhere else, forward kinematics alone won't help you.
Shooti
3) seems available here: https://class.coursera.org/vision/class/index
bliti
This is a fantastic list. I would like to add:

8) Robotics is a big industry. Find what interests you within it. It may be arms, rovers, drones, sensors, logic, etc. In my case, I'm interested in autonomous robots in the spirit of the google self driving projects.

HN Academy is an independent project and is not operated by Y Combinator, Coursera, edX, or any of the universities and other institutions providing courses.
~ yaj@
;laksdfhjdhksalkfj more things
yahnd.com ~ Privacy Policy ~
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.