For obvious reasons, capability comparisons probably best answered by RobotShop
Short answer - I think they are both good servos!
Costs… Depends, AX-12 sell for about $45, or their newer versions with about same And likewise about the same price of about $45 for their newer XL430-W250, they also now have some cheaper XLs as well… But then their prices jump up quickly for higher end servos like the XM ($230-$350+), and higher…
Hookup - Their servos work in half duplex mode - So the data is only flowing one direction or the other… They have two versions. Either normal TTL or they have RS-485 versions which allow longer distances (never tried them)
Firmware capabilities - Again I have only started to play with these for a bit, so hard to say. Some of the things I wish these (LSS) servos supported, was more ability to talk to multiple servos at the same time. But some of this could probably be enhanced by whoever is currently responsible for the servo firmware.
That is for example with Dynamixels I can send out one packet that says: On the following N servos, I wish to set the a few properties like location and speed, and they all act when the final checksum is received and verified by each servo. Likewise with protocol 2 servos they have the ability ask N servos for data, and each servo in that request waits for the previous servos to respond and they add their response…
For the first part we again had that capability with the SSC32 which they LSS servo communications is based on:
That is we could do things like: #1P500#2P400#3P600T250
And in this case the SSC-32 received all of this message and updated those 3 servos to start moving to their new positions to be completed in about a quarter of a second.
Again I have not seen the LSS servos firmware, but I would think it would not be hard to have each servo looking at these messages and see that they were mentioned, save their values in some local memory and only react when they receive the final CR…
Likewise I am not sure how hard it would be to allow you to send out query requests, like what is your current position, and speed… and send out this request in our case to all 18 servos and each servo when it hears this request, will try to try to make sure there is no collisions and recover when there is? My impression is you maybe can send multiple requests for the same servo without waiting, but must wait until all responses have come back from that servo for you might try a second servo?
But maybe not a big issue if we can run the servo baud rate fast enough?
Note: I am currently running my LSS servos at 250000 baud and I run my Dynamixels at 1000000 sometimes higher
Note: I have had servo drivers for the Phoenix code to work with Dynamixel servos for many years now, including some with the newer Dynamixels.
Also the code started off with a driver for the Lyxmotion SSC-32 as the first versions of this code was setup to run with the Lynxmotion board: http://www.lynxmotion.com/p-840-botboarduino.aspx which a couple of us designed and
was more or less an Arduino UNO crossed with a Bot Board 2… And ran on the Lynxmotion Phoenix: http://www.lynxmotion.com/c-117-phoenix.aspx which was designed by @zenta which is where the code base got it’s name.
I also had versions of it running directly to PWM like servos using a modified version of Servo library. Also had version that ran on Orion Servos (Basic Micro for a short time sold some robots…) And I know a few others have adapted as well to some other servo controllers, like ones from Pololu…
Sorry message probably too long again.