Why such expensive actuator?

Hello, I am really interested in printing and making a Poppy, but I simply don’t understand why it uses such extremely expensive actuators. I know there was another robot very similar that used dynomixel brand actuators, but they were around $30 a piece. I just don’t understand the massive jump. I mean, I’m able to walk a smaller robot quite well, and I spent $10 total on all the servos. I understand there is quite a bit of difference, but does it really warrant a 250% increase?? Thanks for any answers.

I think they used the cheapest actuators that is good enough for their needs: ability to be back-driven with very little force, reliability, torque, quality of the control algorithm, ease of use (daisy-chained, widely availalble and convenient voltage), availability for them and the rest of the world (they do not want to use extremely specialized servos for a project that means to be replicated), and the list probably goes on.
Any engineering decision is a trade-of, and with servos you get what you pay for.

Cheaper actuators will all lack too much in one or more of these areas (otherwise they would have chosen it, they don’t buy expensive actuators for the fun of it). AX-12 / AX18 for example need a lot of force to be back-driven when they are powered, which I know has already been talked about specifically by Poppy Team as a reason why it is not a great choice.

Also, please note that this does not mean you cannot make a similar robot with cheaper servos, only that these servos did not fit the research objectives Poppy Team specifically.

3 Likes

I could not be more precise and clear about our choices ^^

I haven’t seen anywhere where it discusses that. If I missed it, my mistake. I was mostly confused because one of the most high tech robots around doesn’t use actuators that expensive. But either way, thank you.

I guess I just don’t see the giant jump in price. For example, they’re 6 times more expensive than the AX-12s. Why are they so much more when they’re only better with back-driving? I guess that’s more of a question for Dynamixel though.

An AX-12 is around 45€ and an MX-28 225€, that’s a factor of 5.

The differences between AX-12 and MX28 are numerous and very significant when you are interested in making more than just something that more or less moves in the right direct: much better position sensor (magnetic encoder, more precise and does not wear), much better motor (Maxxon ReMax coreless motor, much bettera and with less initertia than regular brushed motor of the same size, meaning better reaction of the servo), better gears, better control algorithm (full PID instead of the limited P controller of the AX), more robust case. Back-drivability is better, and I think that’s because the motor driver used is different, and does not actively break when the servo is powered (in this case, breaking is made by having both terminals of the motor electrically connected together, which makes the servo resist movement when the rotor is driven), though I’m not sure about that one.
And each of these upgrade cost money, though some might be only side-effects others. All in all, the MX are much much better servos all around.

Think about it like a car : the cheapest one you can buy will get you around, but if you want better safety, better equipments, better design ,etc, you have to pay more. You don’t think about Ferrari cars the same way you would a cheap small car, they satisfy different needs (one is there to have fun, show off and get pleasure for its ownership and use, the other is here to just do the job without costing too much).
I’m not saying that the servos of Poppy are not expensive, because they sure are, yet they are very far from the top of the line, and are actually extremely good value for the price.

As said before, nothing stops you from using cheaper alternatives if they fit your needs, I personally use AX-12 and XL-320 Dynamixels for robots and I’m happy with them, and that’s possible because they are good enough for what I want to do. Poppy has higher ambitions and more specific needs, and that requires good backdrivability and reliability.

Care to expend on that? What robot are you talking about?

3 Likes

as long as people try to build robot the “old” way, there will be no place for cheap motors.
Basically, the motor makes the design, so designer just build a cage around motors, so they all get the same design and same problems.
The secret is to build “bio” versus “mechanical”.
Unfortunately most robot designers are mechanical engineer, so they use what they know and use classic solution to solve new problems.
an easy way to use cheap and low power motor, would be to build an isoelastic robot.
That is the way most living creatures using muscles are built.
this way you need energy only to move from point A to point B, and not aslo to maintain position at point A and point B. So cheaper motor, less energy, less battery etc…
here is a simple isoelastic design , you would just need to add a moto in the main pulley.

While that’s an interesting point,
I wonder however how it would hold when faced with a real-life use scenario.
Machines do not self-heal, so each time you add a moving part you’re lowering the chance of your machine working for too long. Cost-wise, this translates into a more expensive system to build and maintain.
Power density and inertia of a system with a weak motor and many parts around it would be interesting to know too, somehow I am not convinced that such a solution would be the be-all end-all solution.
After all muscles are pretty crappy at maintaining constant output too (try holding a heavy book at arm’s lenth for any extended period of time…). And even with an isoelastic actuated system you would still need either to use power to maintain position when the load applied on the joint is more than its nominal one, or to have a system that would adjust the internal spring to change the equilibrium point, the first of which having the same problem as the “old” ways, the second of which adding still a lot of complexity (another motor or system to adjust the internal spring tension).

Also, all man made motors have very different characteristics than muscle fibers. relationship between output torque/force , speed, efficiency, power consumption, etc are all very different, meaning if you were to make the exact replica of a muscle-actuated system with motors, you would definitly not get the same gaits and least-energy behaviours than the animal you were trying to emulate.
Do you think having isoelastic actuators would solve that?

If you have actual examples, I would be very interested. I spent some time looking into solving basically the same questions you are raising, and haven’t found a viable implemented solution yet…

well, your point are perfectly valid, but unfortunately your example reflect exactly what happens with the current design we got for poppy or nao or other robots). They hardly work more than 15 minutes , even for a simple walk without motor going very hot and having to stop the robot to prevent overheating.
It was discussed in another thread here, where you cannot pretend to design an human-like robot and stop the ressemblance at the skin level (how we look like outside), without also respecting what is under the skin (mainly the general bio mechanical rules and elements).
We have to stops thinking “mechanic” and start thinking “biomechanic”.
People designing prosthetic are great at this
http://biomech.media.mit.edu/wp-content/uploads/sites/3/2013/07/Au_Herr_Magazine_200.pdf

For example current robots are a perfect example of going the wrong way, by designing creatures that have what we call legs and arms, putting the joints (articulations) at the same place and suddenly switching to a totally different concept. In robots, we put motor in joints (or most of the time, motors are joints).
That also mean we put actuation (source of movement) at the worst place (energywise) , where torque needed is the greatest because there is no lever effect. If you look at human body, there is absolutely no actuation at joint level (you will not find any source of power at this place.)
But for sure, for engineer, doing that way is very convenient since you can merge several features in one device. You get angle measurement, torque measurement, actuation and joint all merged in the motor.
But for instance that is very inefficient, the proof is poppy not being to walk yet, even with the best motor available on the market. and the visual result also shows the original goal (making robots looking and moving like human) is totally lost, we often end up by a simple, ugly stack of motors.
that will never ressemble to a human…

We already discsussed that by showing some passive walking robot that can walk without motor.
that also mean the way we think robot is totally biased. We put motor first and we build the robot around them. The result has absolutely no room for any evolution, in case we could get new type of actuator (like artificial muscles). I would really preffer to see a robot designed with a simple dual linear actuator (push and pull) that is a much closer to the human model.

It would also be a lot more open since you could use electrical, pneumatical or hydaulical systems, and use many tricks to reuse energy. That is actually totally impossible with poppy, where you are even trapped to use a few model of motor.
(good example here)

That is totally unaceptable from the point the thinking point of view, because instead opening the possibilities, it is narrowing them in every way (the way you think design, movement, IK, the tools you writes etc…).
Currently the thinking model is “I got that motor, how can i fit a robot around”, while it should be “i got that human-like robot , how can i power it”.
My opinion is the only way to work, is starting from scratch, building a human skeleton , with joints, ligament and muscles, and replacing them bits by bits with artificial components.
All that is very bad especially if we think that poppy was designed first with this human-like desire (in every respect for form and movement) .

or we must admit that robots should not be look like humans and use the best shape and feature when it is needed, and wheels are a lot more convenient for robots than legs…(that’s what happens when first robots are released, legs are often replaced by wheels.)

1 Like

All this is very interesting and I am sure most people on this forum would agree with you at the conceptual level. We all dream of compliant robots, with a structure and actuators allowing our robots to jump, run, and yet being energy efficient, easy to maintain, build and share. Be sure that many people are working hard on such problems. Yet, nothing convincing is out, especially at the scale we target for the Poppy Project.

It is important to remember that our primary goal with the Poppy Project is not to make robots mimicking living systems in each and every aspects. Rather, our primary aim is to provide a useful and intuitive robotic environment that can suit the needs of many folks interested in robotics. Here is the main scope of the project as featured on the website of the project :

Poppy is an open-source platform for the creation, use and sharing of interactive 3D printed robots. It gathers an interdisciplinary community of beginners and experts, scientists, educators, developers and artists, that all share a vision: robots are powerful tools to learn and be creative. The Poppy community develops robotic creations that are easy to build, customise, deploy, and share. We promote open-source by sharing hardware, software, and web tools.

Keeping this in mind, I think you projected too much of your dreams in the Poppy Humanoid platform.

However the community is obviously very interested and excited by the ideas you are putting forwards. And it would be great to share these ideas in a constructive way on this forum. Feel free to open new threads to explain how you think one could design a biomimetic robot, with links to interesting references and maybe some sketches explaining design principles. I am sure you will gather a lot of attention and interesting feedback, especially if you start actually implementing your ideas in real world robots of various sizes.

I completely agree with you @nosys70 . I think the point is that we lack time to work on :wink: but we have to talk about this.

Let me say I don’t agree or disagree with nosys. both systems of locomotion have alot of advantaged and disadvantages. and your over looking the fact that most servos have internal gearing systems to provided the mechanical advantage vs trying to use a linear driver which uses cleaver levers to provide the advantage so it just changes the load and shape and how the force is applied.

but I do agree that the choice of using the MX-28T doesn’t seam to be very adventitious. The primary reasons for the selection seam to be

Rotational freedom 360° of movement which the only join on a human body that can even come close is the shoulder (Acromioclavicular), the ankle has a movement of about 90-110° knees about 135° hips about 90° and the neck about 180° elbows about 170 and the wrists with their complicated dual axis of about 160° in either direction.

Accuracy of measurement of about 0.088° how ever self balancing systems rarely need 1/4 of a degree in order to make adjustments. So your adding a 12bit register for tracking angle of movement when you could use a 6-8bit register and still have plenty of accuracy to in theory achieve self-balancing and reduce CPU requirements for the calculations thus increasing reaction time

Torque this one is pretty important. but there are steppers that have much greater torque and lower energy requirements.

and the one big down side of using the 193to1 gearbox in the MX-28T is its bairly 60rpm at no load.

it seams that it would be pretty easy to replace the the very high cost servos for a much cheaper and honestly easier to source servo or stepper which would be easy to get because of the heavy use in the reprap community. Targeting characteristics that are more important for a biped speed of action as thats going to limit the robots ability to walk or preform actions, torque as providing power means that we can increase the on board loads, while trading accuracy to an extent as a biped doesn’t need 0.08° of accuracy and giving up 360° for a more modest 180°.

yes it does mean making some design changes but a $10,000 investment for something that cant even stand on its own and the solution seams so far to be more adding expensive parts and costly (resource wise) algorithms for trying adjust stance isn’t really the best choice. it also really reduces who can get involved in the project as people who might be interested/able to help often don’t have $10,000 to invest in parts laying around. so most that choose to get involved seam to do it peace meal which is going to cost interest as by the time they have everything they need its been months if not years…

The success of most Open Source hardware projects is the ability to source the needed parts and quickly get involved. very few started out with the reprap project when it was impossible to get the mountings with out already having access to a CNC or Commercial 3d Printer and you have to make the extruder by hand blowing glass pipettes or etching PCBs at home for the controllers it wasn’t until ceramic heaters and brass nozzles almost everyone knowning someone who knew someone who would print off the plastic parts.

Just the two cents of someone who found the project over the weekend and start looking at what I needed and then saw the costs of parts and that it couldn’t stand. yet I already have 2 self standing bipeds made from RC parts and just wanted something a bit bigger so that I could try some limited self intelligence systems

You are welcome to try and see for yourself that no current cheap option around can satisfy the needs of this project.
I refer you to the second post of this thread in which I highlighted the needs for this project, that no stepper or RC servo currently available meet.
Your two self-standing robots are not compliant, not controlled in a global closed loop, not meant for real human interaction, and as such can get away with using much simpler and low cost actuators.

Also, while nosys has some fair points and I would love to see more robots inspired from such ideas, it simply does not work with the current state of off-the shelf parts - the use of which was part of the requirements.

1 Like

True, There is no step that uses a globally closed loop but that is a artificial limit. and if it reaches the goal its no that hard to achieve that function. a Nima17 (standard rep part) cost $7-$14 a 5to1 planetary gearbox costs about $ 8 or little more if you want a right angle. if you really need a addressable loop you can get a cheap atmega8u2 or a similar pic to act as the control for less then $5. you now have a accurate motion system with a higher level of accuracy and your addressable loop and a driver that has a the 80kg of rotational force found in the MX-28T and a rpm of 300rpm effective. so for on the high side of $50 you have achieved the same specs with a higher rotational speed and a higher blacklash rating and accuracy as that is what steppers are known for. yes in this configuration you lose the angle detection but as its a step your able to accurately predict the position with out and predictions are faster computationally.

I am mostly trying to understand because the few core team seams to have a very ridged stances on forcing the highest costs in areas that seam to have little or no explanation other then artificial limits imposed.

And this is ridged stance is shown in when I ask why one choice was made (something that doesn’t seam documented thus the need to ask) I am returned with these don’t meet project objectives and the thing that I already made doesn’t count because they are not the same, mine stood about 14" tall but it could walk and talk and had limited vision and worked wireless yes I had to off load the “intelligence” but thats something that is done here as well.

The thing is that the poppy project is not just about making a 83cm humanoid robot, it’s about what they (the core research team and the users) want to do with it.
One of the most important aspect is interaction with human beings, including children. So it has to be safe to interact with, safe both for the user and for the robot itself. Interaction can be the usual things you do with a smartphone for example (voice, sight, light touch) but with a robot it’s even better to be albe to interact by manipulating it, to take it by the hand, to push it without it falling, etc. Otherwise it’s just a fancy smartphone dock.

To acheive this, backdrivability is necessary, and the least friction and nonlinearities are introduced, the better the potetial feeling of such interaction (programming will be part of the question but the hardwear needs to be able to do it otherwise no amount of coding will make it happen).

The system you describe is not great on that front. If we gloss over the abscence of a control loop (no sensing…) and add a potentiometer to allow it to be an actual servomotor, the cogging of the stepper plus the friction of the gearbox wont let you move it back well even when not energized. So right there you have a deal-breaker for that use.

Walking is, in the project’s objectives, much less important than interaction, ease of use, availability, … They are not working specifically on locomotion, and even if they were they would not use a static motion approach.
Static approaches do not cope well with external perturbations - and user interaction surely fits in this category.

Now if we go back to the actuator you describe, it is far from an off-the shelf thing. There is significant development work to get from these parts to a working, reliable, durable servomotor.
You need an enclosure and mounting hardware (both on the shaft and motor sides), and this adds to the cost, all the more if manufactured in low-quantity.
It is necessary if you hope to put the final robot in any user’s hand, but also serves a mechanical purpose (mounting on the rest of the robot, protection of the gearbox, transmission of torque, etc).
Then there is assembly, testing, software development, PCB design and manufacturing, investment in stocks… Non-recurring costs can amount to a very high number if not done by volunteers, and these would have to be passed on the final product.

All of these are what separate an off-the-shelf product (like an MX-28) from the sum of its part. And cost-wise, it is a sizeable chunk of what you pay when you buy a good servo(or anything else really). What I’m getting at is that if this technical solution was good, it would still either cost much more that what you suggest (a cheap product that is not manufactured in the hundred of thousands usually has a retail price 3 to 10 times higher than the sum of its parts), or require a high quantity of work by the user and of developpment + support by the project team. Since they have limited time/manpower and their interest is in what can be done with this robot (as opposed with interest in only selling it like it’s the case for a toy manufacturer for example), using servos that save them so much time and money and grief makes sense. It also makes sense for any other entity that knows the cost of their time (other research labs, professionals).
It is however harder to get for hobbyists who see their time as limitless and do not put a value on it. But here, remember that time is not the only thing at play - it would be if you could get the same servo as a kit for example, which is not an option so far.

All this might even be worth it if the result was unlike anything available: a servo with unheard of characteristics (capabilities, price, durability…) that enable new and valuable (either from a research or consumer-level standpoint) uses. But the system you describe is not like that. It’s a stepper servo without remarkable feature (when you factor in the real cost of making it happen), extremely heavy, with low torque to weight ratio. Accuracy would be relatively good if you invest in a much more expensive gearbox (a cheap on will have horrible backlash) but not better than the alternative, and given it’s cogging effect, no smooth backdrivability.

Using this datasheet as a starting point: http://www.pbclinear.com/Download/DataSheet/Stepper-Motor-Support-Document.pdf

The weight of a single stack Nema17 is around 280g. Add the gearbox that can transmit the max torque, electronics and minimalistic mounting hardware and you have a 500g actuator.
That’s 1/7th of the total poppy humanoid weight, and 7 times more than a MX-28 (72g).
As you know I’m sure, more mass means more inertia, and more torque needed to get the same motion, all things being equal otherwise.
From a structural standpoint, it means more stress on the parts and thus the need for more robust parts - by upgrading material and/or putting more - in both cases costing more, and often also weighing more. So with such an actuator, no lighweight plastic 3D structure.

While I’m not sure where the 80kg come from, let’s see what you would get with your solution.
With about 2.5Nm at 0RPM (0.48 *5) @12V, it looks on par with the stall torque of the MX-28 @12V. However this is misleading +in your favor), because the stall torque is simply computed from the motor winding resistance (the torque you could have if you dumped 12V on a non-moving motor regardless of its real heat dissipation capabilities).
http://en.robotis.com/index/product.php?cate_code=101011&bbs_no=27#product_title
The performance curves tell a much more interesting story, where you can roughly expect peaks of about 1.4Nm out of the MX-28.
I’m guessing that the stepper, with its bulk, does not derate that much and therefore will consider it can reach its stall torque.
So here you have a 500g servo with 2.5Nm, that’s a torque density of 5Nm/kg, versus the 19.4Nm/kg of the MX-28. And that’s using best case scenario values.
Unlike a factory robot arm where the base is fixed, here servos need to move each other, so having 4 times less torque density is definitely a problem, all the more considering that the frame also got heavier.

Also, steppers have a lot of tricky behavours, like resonances at low frequencies we are interested in (adds vibration and risks of losing steps), and that complexifies driving them.
Power-wise, you eat 2A@12V and you have to make a smart driver that adjusts it on the fly if you don’t want to use so much power. That’s only possible if you have a control loop, otherwise it’s constant.

I would love to be proven wrong, I really do. I do not specifically enjoy paying more than needed. However, look around at what is available at hobby / cheap research level. You will find quality robot actuators (Robotis, Herkulex) that are a little bit expensive, cheap chinese servos that are sometime great or sometime very poor, and not much else.

So your best bet if you do not care much for what were the requiremebts for this project and you want to save on motors for the same humanoid size might be in order of increasing risk:

  • Using Herkulex 0201 (roughly similar on paper, half the price)
  • going the cheap chinese route (maybe 1/4 the price?)
  • making your own DC motor servos, possibly with OpenServo or the like.

But the stepper approach, I fear, simply doesn’t fit the bill for a humanoid.

Edit: oh and about having a global control loop being an artificial limit: as soon as you want something that can handle anything more than pre-computed motion, you need it, there is no way around it in a traditional robot design.

5 Likes