PDA

View Full Version : [Question(s)] HerkuleX Servo's?



sarendt
08-01-2011, 02:49 PM
Anyone have any experience with these? I found the manual online and they seem interesting, similar to the AX-12/18's. Haven't seen any sign of there cost in $, but someone posted 35 pounds for the UK?

Thanks,
Scott

pauljurczak
10-29-2011, 12:29 AM
For a while they were listed at RoboShop, but mysteriously disappeared. There is a place in Australia selling them: http://www.tribotix.com/Products/Dongbu/Herkulex/Herkulex.htm.

JoeStrout
10-20-2012, 11:34 AM
Sorry to dig up this old thread, but I recently discovered these servos, and bought one. So far I'm absolutely loving it. Here's my write-up of how I got it up and running:

http://botscene.net/2012/10/20/getting-started-with-the-herkulex-drs-0101/
(http://botscene.net/2012/10/20/getting-started-with-the-herkulex-drs-0101/)
I'm hoping to get some more for my upcoming birthday, at which point I'll start doing real projects with them, and I'll let y'all know how that goes!

Cheers,
- Joe

jwatte
10-20-2012, 01:28 PM
Interesting! Have you put any real stress on it? Does it overheat?

pauljurczak
10-20-2012, 02:58 PM
Hi Joe,

I'm curious why you selected HerculeX over Dynamixel? Was it the price? Granted, single piece costs less ($36 vs. $45), but 6-pack costs practically the same. Technical reasons?

Regards,
Paul

JoeStrout
10-20-2012, 03:12 PM
@jwatte: No, I haven't done any stress-testing yet. I do know they include a temperature sensor, and I'd be mighty surprised if they don't shut themselves off before overheating to the damage point, but I can't say that for certain yet.

@Paul: I've never been a huge fan of the Bioloid line, partly because I find them aesthetically unpleasing, and partly because maybe I'm just a rebel and don't like being on the same bandwagon as everybody else. My previous favorite servo was the Robobuilder wCK line, until I started trying to mount them to other things for my own project, and discovered that the wCK's shape and mounting methods make this extremely difficult.

There's another technical reason, though: the wCK servos, and (if I understand correctly) the Bioloid ones too, are not able to interpolate a position over a given amount of time. For example, I want to say (from my mcu) "go from position A to position B over the next 0.7 seconds," and then let each servo do that on its own. But instead, you have to send it a continuous stream of position updates, interpolating between the two — which is just plain dumb. Each servo has a little mcu in it; let it do the interpolation.

And that's exactly how the Herkulex servos are designed. You tell them where to go, how long to take to get there, and you can tweak various parameters of the ease-in and ease-out curves. And then it just goes. I really like that.

I also like the form factor; these servos are noticeably smaller than the AX-12 -- about the same size as a wCK -- but with a sensible shape and a really clever mounting system that lets you combine servos in dozens of ways, without needing any ugly flanges sticking out from every servo.

All that said, I know that Robotis is a great company, and their servos are high quality. I especially like the wide range of servo strengths available; Herkulex has only two at this point. I have no quarrel with people who choose Bioloid/Dynamixel for their bots. But at the moment, I'm pretty excited about the Herkulex underdog. :)

jwatte
10-20-2012, 04:17 PM
I think the Dynamixels let you set the target speed and the target position, which is pretty similar to "get to this position in this amount of time."

I might want to test out a Herculex just to see what it's all about.

JoeStrout
10-20-2012, 04:45 PM
Setting the speed is only the same as setting a duration if the speed control is very fine-grained... if you only get to pick from (say) four different speeds, then there's generally no way you can use that to get all your servos to their target positions in the same amount of time (because they're going to be going different distances). That's the situation with the wCK servos, anyway; not sure how fine-grained the speed control is on Dynamixels.

tician
10-20-2012, 05:57 PM
Speed control on dynamixels is 0 to 1023, but it does not necessarily reflect reality very well (at least in wheel mode, where the potentiometer cannot sense for 60 degrees of every full rotation - just uses a PWM value and hopes for the best). I haven't really bothered using the speed settings often, but others have had problems in the past with increased overheating when using a single goal position at lower speed settings versus off-board interpolation between multiple positions at maximum speed.

I'm curious how well the HerculeX servos actually perform in getting the horn to a target position in a target time, since they do look really nice on paper.

JoeStrout
11-02-2012, 02:32 PM
Tician, I'm planning to get you an answer on that question (how well do they really do at going to a target position in a target time), but I'm waiting to get my hands on a few more servos — it will be a much clearer demonstration if we can watch them all working at once.

Meanwhile, though, I do have some news: Dongbu last week announced two new servos in the Herkulex line, with 40 and 60 kg cm of torque. This was announced in the Korean press, but I'm happy to say that my blog is the first English source to break the story (at least, as far as I know). Read all about it here (http://botscene.net/2012/11/02/dongbu-announces-new-herkulex-servos/).

Cheers,
- Joe

tician
11-02-2012, 08:39 PM
If you are still looking for compatible pin headers, you might want to try the ones I linked in this thread (http://forums.trossenrobotics.com/showthread.php?5466-Hovis-vs.-Bioloid&p=52455#post52455). The dimensional drawings are nearly identical except the TE Connectivity drawings show all pins having kinks where the HerkuleX manual shows only the end pins having kinks.

gaiajoypop
01-10-2013, 04:14 AM
(how well do they really do at going to a target position in a target time)
hi, everyone. it's my first post.^^"
i read a korean version herkulx manual.
refer to herkulex manual,
-herkulex can automatically make interpolated positions from start position(A pos) to target position(B pos).
-the interpolated positions are called as "desired trajectory".
-the desired trajectory is generated base on the given time and acceleration parameters.
interesting point is that the desired trajectory can be feedback, that is, i can readback the information of trajectory.
moreover, trajectory is very simmilar to the trapezoidal profile of industrial motor controller.

JoeStrout
01-11-2013, 09:23 AM
Yep, that's all true. I also did a little test to see how well they work in practice. The result, in brief, is that they appear to work exactly as advertised.

You can read about my experiment, and see a brief video, in this blog post (http://botscene.net/2012/12/02/herkulex-servos-move-in-unison/).

gaiajoypop
01-16-2013, 02:02 AM
I found interesting videos about herkulex.
Herklex developer made ​​videos to explain overall function and interface.
but korean, not english.
just watch the video and enjoy ^^"

seminar #1 : general description, summary, few playing video
watch about 26:50 second of video, so interesting
http://www.youtube.com/watch?v=t49cOmnvRf0

seminar #2 : control method(protocol, example source code, etc)
http://www.youtube.com/watch?v=EGqxqqSZje8

kert
12-01-2013, 02:34 AM
Anyone have any updates on Dongbu/HerculeX line ? I was looking at doing some discount shopping on smart servos and found these in stock now in US in a couple places.
I know the internals of Dynamixel MX line with magnetic encoders and Cortex-M cpus - seems like Dongbu has almost comparable lineup with DRS-602 and DRS-402 ( 02 seems to denote magnetic encoder feedback version, 01 is pot ) but whats for the brain ?

I'm mostly interested in feedback accuracy and capabilities, for an arm project.

jwatte
12-02-2013, 11:49 AM
i was tempted to try some of the more capable Herculex servos. However, it seems that they do not use a full-rotation absolute sensor even for the higher end servos. Instead, they appear to use a 300 degree potentiometer for absolute position, and then a separate motor shaft encoder for higher relative precision, which is great for movement speed calculations, but not as good if you want high-precision absolute positioning.

kert
12-02-2013, 06:04 PM
Hmm did you see a tear-down report anywhere ? Just going by the specs its hard to tell, but according to the distributor specs they say this :

To retain reliabilty under harsh environment, Swiss made Faulhaber premium Coreless motors have been applied for both DRS-0402 and DRS-0602. These high torque servos support 1Mbps data transfer rate, 12960 steps high resolution, magnetic encoder, and are fitted with metal inserted nut system for outstanding durability and easy assembly.

Im tempted to get their Arduino starter pack and two DRS-0402s to experiment with, but of course its not cheap. They do have some really interesting control and configuration features, the sort of stuff i keep reimplementing in my own DC motor control loops.

jwatte
12-02-2013, 09:02 PM
I base it on this, admittedly not grammatically stellar, description:


Based on potentiometer applied DRS-0602 is featured with Magnetic Encoder to secure high precision, high resolution (12960 steps) and durability. The included magnetic encoder on the end of this faulhaber coreless motor boosts precision control characteristics and linearity.

Also, page 25 of the DRS-0602 manual shows a typical 320 degree working zone as "recommended" with a slightly larger (still not 360 degrees) as "allowable."

kert
12-03-2013, 12:32 AM
Wait im not sure i understood what you are saying correctly - are you saying that they are not full rotation servos ? Some HerculeX ones certainly are as can be seen on this table rover video here http://botscene.net/2013/03/03/herkulex-table-rover/
It would be super weird if it had a pot limited to 320 degrees in there for some reason.

Ah, i checked that page and see what you are saying. No, i dont think this diagram has anything to do with the feedback sensors, its just in absolute positioning mode you have to have a "zero" reference somewhere and this range is mostly there mostly so firmare logic can cope with the concept of calibration etc. I have worked with similar industrial smart servos and they all have a similar notion.

The magnetic encoders they are using are probably the same absolute AMS sensors as everywhere else so a pot wouldnt be needed for any reason.

tician
12-03-2013, 09:01 AM
As I read it, the servo has a 320 degree mechanical potentiometer on the servo output shaft that connects to the horn and a 64cpr magnetic quadrature encoder on the motor shaft (12962/202 = ~64). They achieve the multi-turn capability by requiring the horn be in the potentiometer's range at startup and then use the quadrature encoder to do relative motion from that point. I see nothing in that manual to suggest it has an absolute magnetic encoder.

jwatte
12-03-2013, 11:58 AM
Yes, what tician said. The motor encoder lets them control velocity very smoothly (better than Dynamixel,) but not strictly absolute position, and they don't have position detection at all in the 40 degree blind range AFAICT.

tician
12-03-2013, 12:17 PM
Once you set the initial position with the potentiometer, you can convert that (likely 10-bit) ADC value to a much larger range and use the quadrature encoder ticks to rather accurately predict the position anywhere for multiple turns without the potentiometer. The big issues are how well you estimate that original position with the potentiometer (many samples averaged together), the amount of backlash in the gear train, and how often you compare the potentiometer position with your quadrature encoder predicted position (verify no damage to gears/horn and no missed encoder ticks).

kert
12-03-2013, 12:17 PM
.. the servo output shaft that connects to the horn and a 64cpr magnetic quadrature encoder .. I see nothing in that manual to suggest it has an absolute magnetic encoder.
Uh .. i have never seen a magnetic encoder that is _not_ an absolute position resolver ? I'm not sure how that would even work. Renishaw, AMS , Avago etc all make hall effect rotary encoder chips that all resolve an absolute position.

In any case, to settle this a tear down is in order. I just ordered the cheapest DRS-0101 servos but these dont have magnetic resolvers by the spec - the cheapest one that has it is DRS-0402 and by the spec its much more accurate, but im hesitant to plunk down that big bucks still.

tician
12-03-2013, 12:21 PM
You have seriously never seen a hall effect quadrature encoder (http://www.pololu.com/product/1445)?

Xevel
12-03-2013, 01:50 PM
Indeed, there are a lot of different relative quadrature encoders, linear or rotative. Have a better look at AMS
's website for examples.
The Dynamixel EX-106 also has a hall effect sensor directly on the motor shaft, the Herculex could work similarly.

kert
12-03-2013, 04:41 PM
You have seriously never seen a hall effect quadrature encoder (http://www.pololu.com/product/1445)?
Ah, i actually have these Pololu motors mounted on a chassis somewhere and somehow forgot they are hall effect, assumed optical or something. Yes you are right, AMS makes chips with quadrature/incremental output too, but they all seem to _measure_ absolute angle, so why would anyone use an incremental one in a servo like that i dont understand.

Anyway, a teardown is needed - especially all Dongbu manuals say "dont do it" on the very first page :)

tician
12-03-2013, 06:01 PM
Yes you are right, AMS makes chips with quadrature/incremental output too, but they all seem to _measure_ absolute angle, so why would anyone use an incremental one in a servo like that i dont understand.
Because they are most likely using a pair of discrete hall-effect sensors mounted on the PCB by the face an encoder disc just like Diedel GM17 motor encoder upgrade, or they are using an incremental linear sensor next to the edge of the encoder disc like the pololu encoders do.

An absolute position is most useful when you are dealing with only a single turn over its 360 degree range and the shaft is not rotating very rapidly. The quadrature encoder is intended to be used on the motor's shaft that spins very, very quickly and is meant for incremental changes that make it very easy to calculate direction and speed. A quadrature encoder attached to the input shaft of a gear train can also be used to quickly and easily track position of the output shaft by incrementing and decrementing a position counter once it has been initialized to some value by another sensor (use the gear ratio and a potentiometer connected to the output shaft or horn). Using an absolute position encoder on the motor shaft will most likely cause lots of problems unless you were very sure the sensor could accommodate the high speeds. Even then, why would you bother as it tells you nothing about the output shaft and just complicates the velocity calculations? The DRS-0602 can hit ~1rev/s at the output shaft for ~12317 RPM at the motor shaft which is a lot of 8~14-bit absolute position values to read at very high speed without providing much useful information.



Anyway, a teardown is needed - especially all Dongbu manuals say "dont do it" on the very first page :)
The DRS-0101 is going to be very similar to an AX-12: an ATmega8, a pair of half-bridge MOSFET ICs, and a potentiometer. Last I checked, Dongbu was still using an ATmega1281 for their main servo controller, which has not been used by Robotis since the CM-5, so I really doubt they are using an ARM in their servos yet.

kert
12-04-2013, 12:45 AM
Using an absolute position encoder on the motor shaft will most likely cause lots of problems unless you were very sure the sensor could accommodate the high speeds. Even then, why would you bother as it tells you nothing about the output shaft and just complicates the velocity calculations?
Because for example AS5040 that i have been using a lot gives you both incremental/quadrature output if you want so its easy to measure speed and direction, and absolute position on a separate line, again if you want. I have never run into speed issues with it - and the spec promises up to 10K rpm, but i dont think i have ever been close to that with anything that i have built.

Yeah i do get that you can use hall effect sensor as a simple tach too.
And yes i believe DRS-0101 is going to be a lot simpler inside, as their accuracy/repeatability spec is order of magnitude less than DRS-0402 for example, but i want to get familiar with the control interface a bit first.