The Internet overflows with prosthetics projects, and to a large extent this is somewhat understandable. Prosthetic devices are ultimately a custom made for each user, and 3D printers are trying to find a purpose. Put two and two together, and you’re going to get a few plastic limbs.
The electronics required for advanced prosthetics are a bit harder than a 3D scanner and a printer. If you’re designing a robotic leg, you will need to pump several hundred watts through an actuator to move a human forward. For the last few years, [Jean-François Duval] has been working on this problem at the MIT Media Lab Biomechatronics group and has come up with his entry for the Hackaday Prize. It’s a motor and motor control system for wearable robotics that addresses the problems no other project has thought of yet.
The goal of the FlexSEA isn’t to build prosthetics and wearable robotics – the goal is to build the electronics that drive these wearables. This means doing everything from driving motors, regulating power consumption, running control loops, and communicating with sensors. To accomplish this, [Jean-François] is using the BeagleBone Black, a Cypress PSoC, and an STM32F4, all very capable bits of hardware.
So far, [Jean-François] has documented the hardware and the software for the current controller, and has a few demo videos of his hardware in action. You can check that out below.
Honest question: Why is there so much invariant speed motion in robotics when nature never does that for living creatures?
With that hardware that good it should be trivial to interpolate some variant speed, shouldn’t it?
Different drive mechanisms. Muscles, since they are made of fibers don’t contract together all at once. The gradual incease and decrease in speed is also easier on the joints and ligaments.
I think the question should be, would it be easier to implement bipedal gait with a varient motor drive?
That fortunately does not confuse me… What confuses me is why traditional robotics still has not adopted biomimicry for angled, powered joints. The best attempt I have seen were those inflatable rubber muscles which produced motion which was too elastic and bounced around a bunch.
In a brushless, stepless electric motor you can get current feedback by using e.g. a Hall sensor, so you can do load sensing very accurately. You could for example try a control strategy of meting out discrete packets of energy instead of using bang-bang control for everything.
Well, there is the issue of complexity…
I see where perfect is the enemy of “good enough”.
I imagine people waiting for prostetics are willing to get something that works now, instead of waiting for multiple software iterations to make it look good.
Well, there’s a good topic for your Master’s thesis right there! :)
Take an existing many-jointed robot with worked-out control loops. Parameterize the movement segments in some manner (attack, release, ramp, Frenet–Serret, etc), and test the effects on stability, controlability, efficiency.
The biggest reason to use constant speed is cost and complexity. In more advanced robotics, we use variable speeds – but even then it’s simplified. Invariant speed is pretty easy: set up a PID controller, set your max speed, and use it. Very simple, usually not too problematic. If you want to do varying speed you need to track position, force, speed, solve inverse kinematics, and plan joint motor trajectories that minimise the 4th, 5th and 6th derivatives of position (they call them snap, crackle and pop – it’s the flex you might see in robot arms as they stop too suddenly, etc). In the end it’s easier to approximate it with a bunch of constant speed segments, and it works well enough for now.
…But we won’t get awesome bipedal android overlords by just being good enough. =\
That’s what Boston Dynamics is for :)
Except a rogue person inside Google pushed that sale through with the purpose of undermining the military-industrial complex, and they aren’t going to make them anymore :\
THOR and many other bipedal humanoids use this approach actually. Lots of servo’s with their own PID’s, being driven by constant speed approximations to inverse kinematic movements. But you’re right, we won’t get anything like Sonny off I, Robot unless we continue developing better control mechanisms. This will probably need to be implemented at a very low level and in real-time, so things like the OpenServo project have some serious potential in the direction of biologically inspired control.