I've recently become much more interested in robotics and I'm trying to figure out the best way to approach the field. I don't have much hardware experience so at the moment I'm thinking about training neural nets for robot control in simulation. I'm also looking for meetup groups or other ways to connect with like-minded people (in the SV area). Any advice for a dev/ML person looking to get into robotics?
Most of the movement problems don't work that well with NN, afaik. I think they've been applied to avoiding singularities but if you wanted to use a NN to optimize movement, you'd have to simulate all the sets of movement first to train it. Hard ask, and people in robotics tend to be interested in abilities rather than optimization although of course they come hand in hand.
If you have the math background to understand the algorithms you can learn the cutting edge papers and implement those, then work on them. It isn't exactly simple, though.
Modern motor realities:
1. Electric motors can be enormously overdriven for short periods when you need huge torque. The limits are heat dissipation and demagnetizing the permanent magnets in permanent magnet motors. With modern rare-earth magnets, the second is no longer a problem. Water cooling can deal with the first problem. If you have temperature sensing, you can safely overload temporarily and wait for cool-down. When you see one of those videos of a Tesla car accelerating in "launch mode", you're seeing this in action.
2. Power semiconductors have become really good. Power control is no longer a limiting factor on motors. For most of the 20th century, variable speed motor control for large motors was hard and took bulky, expensive gear. It was a serious problem with electric cars into the 1990s; burning out power controllers was a problem. That's been fixed. Modern electric cars and locomotives use AC synchronous motors with IGBT or MOSFET devices producing 3-phase power at the desired voltage, frequency, and phase to run the motor optimally. Locomotives synchronize all the wheels with electronics and software. This scales down all the way to hobbyist drone size. Robots get to use all this now off-the-shelf technology to run their motors.
3. Some research robots use "series elastic actuators". These are simply a motor driving a screw drive with a stiff spring attached. The trick is how they're used. When the actuator gets a shock load, as when a foot lands, the stiff spring is compressed. As it compresses, the control system detects this, and frantically spins the motor to unload the spring before the spring bottoms out. This works, but it's the opposite of energy recovery; it takes energy to absorb a load. It's possible to write software which makes such devices behave like a spring with an adjustable spring constant, but there's no energy recovery. Good for research, because these can be assembled from off the shelf parts. Not so good for battery life.
4. Gears are terrible at dealing with shock loads. One of the big advantages of direct drive is that "you cannot break the teeth of a magnetic field", as an early GE locomotive designer put it. The downside of direct drive is that torque increases with motor diameter (more leverage), and big flat motors tend to be inconvenient in robots. But there's been recent progress. See this direct-drive robot arm with small motors.[1] Very nice. No gears. No cables. No pulleys. Good force feedback. Nothing to break if somebody forces the arm. Energy recovery possible. Only 10Kg lift capacity, which is OK for industrial arms but not enough for a legged machine. Progress marches on; there may be an all-electric leg solution in time.
For decades, motors were a dull, boring, mature field. Motors came in standard sizes and speeds, and were interchangeable across vendors. Nobody worked much on new designs. Now, with much more elaborate control systems, people are innovating again. By the time there's a market for humanoid robots, the motors will probably be ready.
[1] http://www.kollmorgen.com/hi-in/service-and-support/knowledg...
There's a useful arrangement where you have two opposed springs powered by separate actuators. If you tighten up both springs, the system stiffens up; if you loosen both, you get better energy recovery but worse position control. This is a reasonable muscle model, and can recovery energy, but is bulky mechanically. Movement without load is cheap; changing the compliance is expensive from an energy standpoint. There's also a pneumatic version of this, where you pressurize an air cylinder from both ends. That works well if the valves are close to the cylinder.
There are mechanical approaches to variable compliance, but they're complex mechanically and usually seem to involve string and pulleys.[1] The trend seems to be towards all-electric systems, rather than clever mechanics.
[1] http://mime.oregonstate.edu/research/drl/publications/_docum...
That said a few groups have done it. Heavily optimized drivetrains can be ~96% efficient at the right speed and torque. Extremely precise drivers can regen at 98%+. If you charge gently enough batteries can be 98%. 88.5% total efficiency. That's extremely good, enough to reduce power consumption by 8.7 times.
It's better than a human but not quite as good as an insulated spring.
Yes. Which is the big problem with robotics. No volume and high tooling cost. With enough money, something like Big Dog or Atlas can be built, with large numbers of custom moving parts. But the price tag is in 8 figures.
Other than the industrial robot arm people and the vacuum cleaner people, nobody is making money in robotics. (Well, the individuals who were bought out by Google exited OK, but overall, the Google thing was a lose.)
Other than the industrial robot arm people and the vacuum
cleaner people, nobody is making money in robotics.
There are modest amounts of money being made in educational mobile robotics. (Lego, VEX, the FIRST consortium)FIRST robots are moderately interesting, but cost something like $5K-$10K each. VEX and Lego robots are cheaper, but are basically toys. (I work with VEX) Think erector sets with microcontrollers bolted on.
Press video for the 2016 VEX World Championships. Thousands of people. https://www.youtube.com/watch?v=0Y1YiGZv_F4
Boston Dynamics's hydraulic technology is just too heavy and bulky. Big Dog was impressive, but it took $120 million to get it working as the Legged Squad Support System. Then the USMC rejected it as not useful in combat. Atlas version 1 was basically a Big Dog mod. Version 2 is better, but still weighs 150Kg.
What you want in an actuator is a spring with adjustable spring constant, neutral point, and damping factor. Muscles are like that. You can do that pneumatically, and that's been done at CWRU, but a compressed air supply is needed. Series elastic actuators are a research tool for faking muscle-like motion. They're a good way to let a motor with a high gear ratio handle a shock load, but they're inefficient; there's no energy recovery. Humans recover over half the energy in running as elastic storage in muscles. (Cheetahs, around 90%) Ideally, you'd like a direct-drive electric motor, which some SCARA robots have used. They're large-diameter devices, though. Schaft used liquid-cooled electric motors and didn't gear them down too much, which worked well. Their humanoid was a great piece of engineering. Electric linear actuators (real linear, not screw drives) once seemed promising but didn't work out well.
(I used to work on control algorithms for legged robots. A key insight there is that slip control dominates; priorities are traction control, then balance, then goal. Once you get off a flat surface, slip control becomes more important.)