News for hackers. Stuff that matters.
Re:Google Puts Money on Robots, Using the Man Behind Android by sown on Wednesday December 04, 2013 @01:52AM (#6845422)
I feel like I'm greatly missing out on new stuff like this. I'm trying to get a turtle bot together and build a sort of lab component of Prof Thrun's robot car class. But I wonder what else I could be doing. Anyone have pointers?
Re:Google Puts Money on Robots, Using the Man Behind Android by waps on Wednesday December 04, 2013 @03:46AM (#6845728)
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.

Re:Google Puts Money on Robots, Using the Man Behind Android by bliti on Wednesday December 04, 2013 @06:31AM (#6846261)
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.

Re:Google Puts Money on Robots, Using the Man Behind Android by jdorw on Wednesday December 04, 2013 @07:32AM (#6846444)
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.
Re:Google Puts Money on Robots, Using the Man Behind Android by waps on Thursday December 05, 2013 @10:58PM (#6859307)
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 ?

Re:Google Puts Money on Robots, Using the Man Behind Android by iandanforth on Wednesday December 04, 2013 @10:14AM (#6847341)
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.
Re:Google Puts Money on Robots, Using the Man Behind Android by HeyLaughingBoy on Wednesday December 04, 2013 @02:50PM (#6849633)
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.
Re:Google Puts Money on Robots, Using the Man Behind Android by Shooti on Wednesday December 04, 2013 @12:51PM (#6848660)
Re:Google Puts Money on Robots, Using the Man Behind Android by beambot on Wednesday December 04, 2013 @03:31AM (#6845701)
It depends on your goals... if you want to get your feet wet with robotics development, a TurtleBot is a good place to start. You can learn the basics of ROS (Robot Operating System), play around with sensing (Kinect) for obstacle avoidance, mapping, and navigation. You can even build some pretty fun applications with a TurtleBot (eg. classic beer delivery).

For an extra couple $hundred, you can buy a decent hobby robot arm (eg. Robotis servos) and doing basic kinematics and manipulation. For the cost of a high-end computer, you can go pretty far these days!

EDIT: Also, I highly recommend reading Probabilistic Robotics. Not strictly necessary for many applications, but required reading if you want to understand most academic robotics topics.

Re:Google Puts Money on Robots, Using the Man Behind Android by chmike on Wednesday December 04, 2013 @02:45AM (#6845571)
It depends what you want to do. Do you simply want to get some experience in turtles or try to go for the rabbit? I think we are in front of a major disruption. So in order to get a good starting point in that domain I would look for very simple and cheap idea that can make you earn money. With that money you can then explore bolder ideas etc. So instead of searching for a cool idea, I would look for something usefull with value for people. I would look where there is still room for improvement.

Robotics is the next big thing because it will apply in so many fields. Not only robots, artificial intelligence as well. Better be the one who builds and conceive them than the one whose job has been taken oveer by them.

Re:Google Puts Money on Robots, Using the Man Behind Android by creativestuff on Wednesday December 04, 2013 @03:34AM (#6845707)
What are some good sites/blogs to follow to get more news like this?
Re:Google Puts Money on Robots, Using the Man Behind Android by beambot on Wednesday December 04, 2013 @03:54AM (#6845769)
IEEE Automaton Blog: http://spectrum.ieee.org/blog/automaton

RoboHub: http://robohub.org/

Hizook: http://www.hizook.com/

Everything Robotic: http://www.everything-robotic.com/

These are the main robot-centric ones (disclaimer: I run Hizook). There are lots of other websites that are mixed (robotics and other tech).

Re:Google Puts Money on Robots, Using the Man Behind Android by xerophtye on Wednesday December 04, 2013 @03:47AM (#6845736)
A turtle bot? Kiel* would LOVE that!!

*Drow Tales reference...