I would like to introduce the following motor control solution providing excellent control quality and an absolute encoder in an outline that fits inside standard RC servos and outperforms them by far. http://www.01mech.com/supermodified
Features include excellent repeatability, easy tuning (99% of applications require no tuning at all), and many control features like profiles etc.
Here is demonstration video:
It has been designed to work with Arduino.
The implementation is open source so feel free to take a look at it: http://code.google.com/p/zosupermodified/
Source code includes an Arduino based API for communication with the controller.(Also open source)
Schematics are also open
The motor controller is made of three tiny (15.5mm x 15.5mm) boards that also work independetly:
A homemade robotic arm controlled by an Arduino Duemilanove and these motor controllers is under construction.
This will truly demonstrate the control quality and repeatability.
I'm just happy somebody else has built an arm, even if it is being done in the "standard model" that exists today (servos at each joint); I would really like to see someone homebrew a custom ArmDroid or TeachMover style robot arm, but that's just me being nostalgic...
As far as these servos go, how do they compare (including price) against other digital bus servos (like the Dynamixel, among others)? I don't have an immediate use for such servos, but who knows in the future...?
I took a look at ArmDroid and TeachMover. Really cool arms .
For the controller:
I am the designer of the code and electronics for the SuperModified so I guess my opinion is biased :).
However there are some things that are really worth noting.
Absolute 12-bit digital encoder vs potentiometer. Good feedback thus good control. No jerky motions or inaccuaracies due to analog noise , not affected by temperature etc
Motion profiles (moving large loads without breaking stuff)
Velocity control.
Additional analog and digital IOs (4 DIO, 4 Analog in)
Uses the same microcontroller as Arduino :). (@20MHz)
Open source implementation - anybody can write project specific code inside the controller
Lots of interface options I2C,5V Uart, RS485 (ModBus is under development as well as Dynamixel protocol). Even a user protocol on any ATMega328 HW interface (eg SPI)
Control loop at 1KHz.(Rather than the usual 50 or 100 or 200 Hz)
Wider voltage input (onboard regulator)
Can be used as a standalone motor controller for DC motors. (and the encoder is included)
Provides current, temperature, velocity, position feedback etc
And the list goes on...
In my opinion the key is open source and being able to implement projects that need accuracy, repeatability and excellent control
(like a robotic arm).
As far as pricing goes:
A Dynamixel like controller would include only the microcontroller board and motor driver board (code for this mode is under development). And pricing is at the same range.
Pls take a look at the first link of my first post
(individual boards have dedicated pages)
Control loop at 1KHz.(Rather than the usual 50 or 100 or 200 Hz)
So the actual demo moves the servo pretty slowly (average for a servo? Limited by the servo motor and gear train, probably?) (looks like about 60rpm (one rps)) Have you done any experiments to see how fast it could work?
I have tried running with the internal RC oscillator at 8MHz and everything is fine.
However I have not tried to increase the frequency of the control loop.
Control is pretty perfect at 1KHz so I guess I did not bother...
If are implying that ISRs from the encoder could drain up processing power as sensed rotation reaches several thousand rpm, then
I do not expect any change since the encoder is interfaced through SPI (in the current version). The only limit for this is the encoder it self (~8000rpm which is good for most control applications - except perhaps helicopters).
When I play with the control loop I will let you know
I took a look at ArmDroid and TeachMover. Really cool arms.
The thing I like most about them is that they put all the mass of the motors near the base of the arm, so the arm doesn't have to move that mass, plus the mass of the arm (instead, that extra bit can go into the lifting capacity, where it should go).
I realize that servos don't weigh that much, but even so, the less mass in your arm and end effector, the better. I have been giving some minor thought to recreating the ArmDroid/TeachMover design using foamcore (though I might think about sheet styrene now, after seeing your arm!) and either small steppers or maybe servos (servos like yours would actually work great - although it would be a lot of money to spend!); the drive mechanics would probably be cording of some sort (would love to use timer belts or chains, but that is pretty expensive).
The main problem to get around is how to set the gripper and wrist-rotation/bending up; they used right-angle paired bevel gearing (in a sorta-differential arrangement) to allow both the bending and rotation of the wrist joint in a fairly small area - if I can find the right gears and such, it could be recreated fairly easily.
Unfortunately right now I can't do much more than think about it; too many other things in the queue!
I think that one of the reasons also for putting motors in the base is that you get much less backlash with a fairly well pre-tensioned belt and at a reasonable price.
Also from what I saw they incorporated reduction by the use of timing belts. Pretty clever also as it saves weight from gearboxes.
The thing with the "new" designs is that I guess they are easier to produce.
Especially if you are making a robot arm without CAD and cutting styrene by hand it is difficult to align motion transmission stuff.
Thus the straightforward design.
As far as industrial robots go I guess that reduction in prices of harmonic drives and high resolution encoders played a significant part.
Well I know that a normal servo can sell for about £10. With the extra controls etc I would not be wanting to buy for more than about £25.
I presume that the extra board cost could be bought down to less than it is but whether you can get it down to that I wouldn't know.
I have noted that currently they are down as £40, that seems a lot to me but I understand that it is to cover development and at the moment, they are still low volume. If you could knock £10 off that then I would seriously be considering a couple.
How much would you think would be a good price for such a device?
I don't think your price is outlandish; considering what you are supplying, the low volume of production, and the fact that you are putting a fair amount of labor just in the custom mods to the servo makes it all seem like a reasonable price per servo. It would be nice if the cost could be brought down, but that would probably only be possible if you could scale production way up (and eliminate any manual labor).
I was just thinking what it would cost to build an arm using these servos; you would need at least 5, possibly 6. Certainly cheaper than purchasing an ArmDroid (if you can find one for sale on Ebay or elsewhere - they come up every now and again, but they are considered collectors items now) or a TeachMover (nearly the same thing). Even so, you are still talking about a chunk of change.
What might be nice would be a far more simple system; rather than have everything on-board the servo, it would be nice to have a continuous rotation gear motor, with an absolute position encoder, in the form factor of a standard servo; serial commands to move it and read the encoder, and nothing more.
I realize that I am likely describing something closer to the various digital serial servos on the market, which I know aren't cheap to purchase either (and they have the scale of production, mostly) - maybe the added functionality really doesn't change things much cost wise...
How much would you think would be a good price for such a device?
I don't think your price is outlandish
I agree, mostly considering what "name brand" vendors charge for "digital servos" whose capabilities are much less (as far as I know.) $60 is pretty "middle ground." You probably should include more information about the servo motor and mechanics, though; that seems to matter to people...
OTOH, your price is higher than I'd pay for something to just play around with. Unless I have a particular application that needs the added capabilities, I'll probably be buying the cheap <$10 servos from China (so far, I've mostly bought REALLY cheap micro-servos...)