Legacy Forum: Preserving Nearly 20 Years of Community History - A Time Capsule of Discussions, Memories, and Shared Experiences.

Say I just want to buy some servos..

Bioloid robot kit from Korean company Robotis; CM5 controller block, AX12 servos..
23 postsPage 1 of 21, 2
23 postsPage 1 of 21, 2

Say I just want to buy some servos..

Post by billyzelsnack » Sun Dec 31, 2006 12:20 am

Post by billyzelsnack
Sun Dec 31, 2006 12:20 am

Looking at the manual for the AX-12's it seems like it would be pretty straight forward to talk to the servos from a PC. However, after lurking around the Bioloid forums it looks like it is not as straight forward as it first appears.

If I understand correct, the reason why you can not just plug a TTL level serial connection into the servos is that you need additional logic to bring the DIRECTION_PORT high or low depending on whether you are transmitting or receiving. To do this requires a uC in the middle to negotiate between the PC and the servos. Is this correct?

Now if I did buy servos instead of a kit.. I would also have to buy a frame set if I wanted to build a humanoid as the brackets the servos come with will not work to create an ankle joint? Any other reason why I would need to buy a frame set?

My main goal with the servos along with other sensors ( go sparkfun! ) is to build an active balancing humanoid that uses a PC to run the software. I am assuming that this is quite feasible?

I saw on the robotis site something about a USB2Dynamixel. That seems like it would be perfect for my goals. Maybe it can even run at 1MBPS since it is over USB. Any idea when this might be available?
Looking at the manual for the AX-12's it seems like it would be pretty straight forward to talk to the servos from a PC. However, after lurking around the Bioloid forums it looks like it is not as straight forward as it first appears.

If I understand correct, the reason why you can not just plug a TTL level serial connection into the servos is that you need additional logic to bring the DIRECTION_PORT high or low depending on whether you are transmitting or receiving. To do this requires a uC in the middle to negotiate between the PC and the servos. Is this correct?

Now if I did buy servos instead of a kit.. I would also have to buy a frame set if I wanted to build a humanoid as the brackets the servos come with will not work to create an ankle joint? Any other reason why I would need to buy a frame set?

My main goal with the servos along with other sensors ( go sparkfun! ) is to build an active balancing humanoid that uses a PC to run the software. I am assuming that this is quite feasible?

I saw on the robotis site something about a USB2Dynamixel. That seems like it would be perfect for my goals. Maybe it can even run at 1MBPS since it is over USB. Any idea when this might be available?
billyzelsnack
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 618
Joined: Sat Dec 30, 2006 1:00 am

Post by JonHylands » Sun Dec 31, 2006 3:29 am

Post by JonHylands
Sun Dec 31, 2006 3:29 am

It is not only possible, but what I am planning on doing, as soon as I can afford the full kit. I am in the process of building an embedded solution using an ATmega128 board from Sparkfun and a Wifi module to allow me to control the biped I will build from my laptop.

I think it is simpler (and probably cheaper) to just buy the kit, since you get all the brackets plus 18 servos, plus a CM-5. I won't be using the CM-5 in the robot, but it is very useful for updating servo firmware and such.

Details on these pages:

http://www.bioloid.info/tiki/tiki-index ... icroRaptor
http://www.bioloid.info/tiki/tiki-index ... ge=gumstix

http://www.huv.com/blog/2006/12/on-boar ... eless.html
http://www.huv.com/blog/2006/12/wireless.html

- Jon
It is not only possible, but what I am planning on doing, as soon as I can afford the full kit. I am in the process of building an embedded solution using an ATmega128 board from Sparkfun and a Wifi module to allow me to control the biped I will build from my laptop.

I think it is simpler (and probably cheaper) to just buy the kit, since you get all the brackets plus 18 servos, plus a CM-5. I won't be using the CM-5 in the robot, but it is very useful for updating servo firmware and such.

Details on these pages:

http://www.bioloid.info/tiki/tiki-index ... icroRaptor
http://www.bioloid.info/tiki/tiki-index ... ge=gumstix

http://www.huv.com/blog/2006/12/on-boar ... eless.html
http://www.huv.com/blog/2006/12/wireless.html

- Jon
JonHylands
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 512
Joined: Thu Nov 09, 2006 1:00 am
Location: Ontario, Canada

Post by billyzelsnack » Sun Dec 31, 2006 8:06 am

Post by billyzelsnack
Sun Dec 31, 2006 8:06 am

Thanks for the info. I came across your blog pretty quick in my research. Seems you rank in google pretty high for Bioloid. haha.

I'm wondering if the CM-5 will be needed to program the servos if you have a USB2Dynamixel. Seems like you should be able to do it.

Well. I think I am going to just get the kit and when the USB2Dynamixel comes out, I'll get that too. I've been looking around for resellers in the USA to buy from. I still have not decided. I've been hoping to find someone that can match the 770,000 KRW ($830) price on robotis.com .
Thanks for the info. I came across your blog pretty quick in my research. Seems you rank in google pretty high for Bioloid. haha.

I'm wondering if the CM-5 will be needed to program the servos if you have a USB2Dynamixel. Seems like you should be able to do it.

Well. I think I am going to just get the kit and when the USB2Dynamixel comes out, I'll get that too. I've been looking around for resellers in the USA to buy from. I still have not decided. I've been hoping to find someone that can match the 770,000 KRW ($830) price on robotis.com .
billyzelsnack
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 618
Joined: Sat Dec 30, 2006 1:00 am

Post by Bullit » Sun Dec 31, 2006 1:47 pm

Post by Bullit
Sun Dec 31, 2006 1:47 pm

I think tribotix has the best price for the bioloid kit. Even though they are way down in Australia shipping is quick and they are easy to communicate with.
I think tribotix has the best price for the bioloid kit. Even though they are way down in Australia shipping is quick and they are easy to communicate with.
Image
Bullit
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 291
Joined: Wed May 31, 2006 1:00 am
Location: Near robot

Post by JonHylands » Sun Dec 31, 2006 2:35 pm

Post by JonHylands
Sun Dec 31, 2006 2:35 pm

Thanks. The reason my pages rank so high is because huv.com has been around for almost ten years, and it is all content, and very little "link farming". Its interesting though, the most popular pages on my site have to do with Jeep stuff, not even robotics.

Anyways, USB -> AX-12 will be trivially simple once my ATmega128 board is done. I plan on controlling the thing directly that way until the Wifi solution is done. I bought a USB -> TTL converter (http://www.hvwtech.com/products_list.as ... bCatID=231) and I use it to talk to my embedded board over USB from my laptop.

You can program the servos over this link, including changing any of the servo parameters, but it isn't quite as flexible as the CM-5. It can't auto-discover the baud rate, and you can't re-flash the AX-12.

As far as resellers in the US, I've gotten great service from http://www.crustcrawler.com, even with my being in Canada.

- Jon
Thanks. The reason my pages rank so high is because huv.com has been around for almost ten years, and it is all content, and very little "link farming". Its interesting though, the most popular pages on my site have to do with Jeep stuff, not even robotics.

Anyways, USB -> AX-12 will be trivially simple once my ATmega128 board is done. I plan on controlling the thing directly that way until the Wifi solution is done. I bought a USB -> TTL converter (http://www.hvwtech.com/products_list.as ... bCatID=231) and I use it to talk to my embedded board over USB from my laptop.

You can program the servos over this link, including changing any of the servo parameters, but it isn't quite as flexible as the CM-5. It can't auto-discover the baud rate, and you can't re-flash the AX-12.

As far as resellers in the US, I've gotten great service from http://www.crustcrawler.com, even with my being in Canada.

- Jon
JonHylands
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 512
Joined: Thu Nov 09, 2006 1:00 am
Location: Ontario, Canada

Post by billyzelsnack » Sun Dec 31, 2006 6:24 pm

Post by billyzelsnack
Sun Dec 31, 2006 6:24 pm

haha. You have the opposite problem I do. The best price I've found is from robotshop.ca, but I'm worried about the import tax from Canada into the USA.

btw. I ran across this USB to serial cable the other day. It looks pretty sweet..
http://ftdichip.com/Products/Evaluation ... L-232R.htm
haha. You have the opposite problem I do. The best price I've found is from robotshop.ca, but I'm worried about the import tax from Canada into the USA.

btw. I ran across this USB to serial cable the other day. It looks pretty sweet..
http://ftdichip.com/Products/Evaluation ... L-232R.htm
billyzelsnack
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 618
Joined: Sat Dec 30, 2006 1:00 am

Post by billyzelsnack » Sun Jan 07, 2007 11:14 pm

Post by billyzelsnack
Sun Jan 07, 2007 11:14 pm

On Tuesday I ended up ordering the comprehensive kit. My wife "pushed" me into it. I got a good price on it from a USA shop (trossenrobotics) and the shipping price was good too. I just chose the normal shipping and it was here on Wednesday! (they are in Chicago, I'm in Wisconsin).

The quality of the kit is exceptional, better than I expected. I've built a few so far (finished the puppy last night) and will be building the biped tonight.

I am very glad that I ended up going with the full kit instead of doing things piece by piece.

About the only thing that I can complain about is the software. It needs a lot of work.

Luckily I don't actually care much about it as I will be writing my own soon. I work as a (physics) programmer in the game industry and we deal a lot with mixed/blended animation sequencing, scripting, physics systems (as well as user interfaces), so I am hoping that I will have a nice set of prior experience to draw upon for my project.
On Tuesday I ended up ordering the comprehensive kit. My wife "pushed" me into it. I got a good price on it from a USA shop (trossenrobotics) and the shipping price was good too. I just chose the normal shipping and it was here on Wednesday! (they are in Chicago, I'm in Wisconsin).

The quality of the kit is exceptional, better than I expected. I've built a few so far (finished the puppy last night) and will be building the biped tonight.

I am very glad that I ended up going with the full kit instead of doing things piece by piece.

About the only thing that I can complain about is the software. It needs a lot of work.

Luckily I don't actually care much about it as I will be writing my own soon. I work as a (physics) programmer in the game industry and we deal a lot with mixed/blended animation sequencing, scripting, physics systems (as well as user interfaces), so I am hoping that I will have a nice set of prior experience to draw upon for my project.
billyzelsnack
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 618
Joined: Sat Dec 30, 2006 1:00 am

Post by JonHylands » Sun Jan 07, 2007 11:50 pm

Post by JonHylands
Sun Jan 07, 2007 11:50 pm

With my AX-12's now working, I hooked them up to my laptop through the Robostix, and was able to do this:

http://www.bioloid.info/tiki/tiki-download_file.php?fileId=45

(1.19 MB - wmv movie)

- Jon
With my AX-12's now working, I hooked them up to my laptop through the Robostix, and was able to do this:

http://www.bioloid.info/tiki/tiki-download_file.php?fileId=45

(1.19 MB - wmv movie)

- Jon
JonHylands
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 512
Joined: Thu Nov 09, 2006 1:00 am
Location: Ontario, Canada

Post by billyzelsnack » Mon Jan 08, 2007 12:10 am

Post by billyzelsnack
Mon Jan 08, 2007 12:10 am

Sweet.. Do you have the feedback working too? You could add another line to your widget that shows where the servo actually is.
Sweet.. Do you have the feedback working too? You could add another line to your widget that shows where the servo actually is.
billyzelsnack
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 618
Joined: Sat Dec 30, 2006 1:00 am

Post by JonHylands » Mon Jan 08, 2007 12:27 am

Post by JonHylands
Mon Jan 08, 2007 12:27 am

Yeah, I can read all/any of the registers. I'm in the process right now of putting together another GUI, with a torque gauge, position, and speed indicators.

I have a screenshot of the GUI I was playing with here:

http://www.huv.com/blog/2006/12/ax-12-administration.html

This GUI shows me all the registers for a servo, and allows me to change the writable ones by double clicking on the value and entering a new value.

With this, I can play with the various parameters, and when I've got it set up the say I like, I can export the changeable values to a file, and then import them to update the other servos, one at a time, so I don't have to type in every value 18-20 times.

- Jon
Yeah, I can read all/any of the registers. I'm in the process right now of putting together another GUI, with a torque gauge, position, and speed indicators.

I have a screenshot of the GUI I was playing with here:

http://www.huv.com/blog/2006/12/ax-12-administration.html

This GUI shows me all the registers for a servo, and allows me to change the writable ones by double clicking on the value and entering a new value.

With this, I can play with the various parameters, and when I've got it set up the say I like, I can export the changeable values to a file, and then import them to update the other servos, one at a time, so I don't have to type in every value 18-20 times.

- Jon
JonHylands
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 512
Joined: Thu Nov 09, 2006 1:00 am
Location: Ontario, Canada

Post by Pev » Mon Jan 08, 2007 1:10 am

Post by Pev
Mon Jan 08, 2007 1:10 am

Jon,

Have to say congrats - that is sweet

Pev
Jon,

Have to say congrats - that is sweet

Pev
Carl
-------------------------
www.alt-view.co.uk
Pev
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 547
Joined: Sun Feb 26, 2006 1:00 am
Location: UK

Post by Joe » Mon Jan 08, 2007 6:40 pm

Post by Joe
Mon Jan 08, 2007 6:40 pm

Great work, Jon!

A neat demo/test would be to set up two AX-12s, and use one as an input to control the other one. That is, set that one up to offer little resistance to outside movement (I assume there is some way to do this?), and have your code continually read its position, and set the second servo to the same position. Then wiggle the first around by hand and see how well the second one tracks your every move.

Best,
— Joe
Great work, Jon!

A neat demo/test would be to set up two AX-12s, and use one as an input to control the other one. That is, set that one up to offer little resistance to outside movement (I assume there is some way to do this?), and have your code continually read its position, and set the second servo to the same position. Then wiggle the first around by hand and see how well the second one tracks your every move.

Best,
— Joe
Joe
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 204
Joined: Tue Sep 05, 2006 1:00 am

Post by JonHylands » Tue Jan 09, 2007 3:23 am

Post by JonHylands
Tue Jan 09, 2007 3:23 am

Joe wrote:Great work, Jon!

A neat demo/test would be to set up two AX-12s, and use one as an input to control the other one. That is, set that one up to offer little resistance to outside movement (I assume there is some way to do this?), and have your code continually read its position, and set the second servo to the same position. Then wiggle the first around by hand and see how well the second one tracks your every move.

Best,
— Joe


You mean like this?

http://www.bioloid.info/tiki/tiki-download_file.php?fileId=48

The driving servo is actually quite hard to turn - I'm sure I'm missing something with respect to a setting I can change to make it truly free-wheel.

I've changed the following values:

14, 15 (max torque) - 0
24 (torque enable) - 0
34, 35 (torque limit) - 0

Are there others I need to change?

- Jon
Joe wrote:Great work, Jon!

A neat demo/test would be to set up two AX-12s, and use one as an input to control the other one. That is, set that one up to offer little resistance to outside movement (I assume there is some way to do this?), and have your code continually read its position, and set the second servo to the same position. Then wiggle the first around by hand and see how well the second one tracks your every move.

Best,
— Joe


You mean like this?

http://www.bioloid.info/tiki/tiki-download_file.php?fileId=48

The driving servo is actually quite hard to turn - I'm sure I'm missing something with respect to a setting I can change to make it truly free-wheel.

I've changed the following values:

14, 15 (max torque) - 0
24 (torque enable) - 0
34, 35 (torque limit) - 0

Are there others I need to change?

- Jon
JonHylands
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 512
Joined: Thu Nov 09, 2006 1:00 am
Location: Ontario, Canada

Post by billyzelsnack » Tue Jan 09, 2007 6:17 pm

Post by billyzelsnack
Tue Jan 09, 2007 6:17 pm

I don't think you'll be able to make it free-wheel nicely since it doesn't free-wheel nicely with the power off.


Ok.. So I've built the humanoid and I'm ready to start working on my own software. My first project is to look into the latency of controlling the servos from my computer. What I want to do is transmit the humanoid demo motion positions on the fly while reading the feedback at the same time.

What would be ideal for now would be to do this via the CM-5. Is this even possible? I've not seen any specs for the CM-5 command set, maybe I just missed them?

Eventually I would like to build a USB->Dynamixel interface (or maybe several to cut down on the latency of many servos), but for now it would be nice to just use the CM-5.
I don't think you'll be able to make it free-wheel nicely since it doesn't free-wheel nicely with the power off.


Ok.. So I've built the humanoid and I'm ready to start working on my own software. My first project is to look into the latency of controlling the servos from my computer. What I want to do is transmit the humanoid demo motion positions on the fly while reading the feedback at the same time.

What would be ideal for now would be to do this via the CM-5. Is this even possible? I've not seen any specs for the CM-5 command set, maybe I just missed them?

Eventually I would like to build a USB->Dynamixel interface (or maybe several to cut down on the latency of many servos), but for now it would be nice to just use the CM-5.
billyzelsnack
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 618
Joined: Sat Dec 30, 2006 1:00 am

Post by JonHylands » Tue Jan 09, 2007 6:35 pm

Post by JonHylands
Tue Jan 09, 2007 6:35 pm

From what I've seen, the CM-5 is limited to 57,600 in communications with the PC.

If you are updating 18 servos, using the sync_write command, with just position (2 bytes per servo), you're looking at 3 bytes per servo plus 7 bytes overhead, which is 43 bytes total. You get 6 bytes back, so you're looking at (roughly) 50 bytes per cycle, or 500 bits.

If you weren't interested in any feedback, you could theoretically do 100 frames per second, although in reality there is a delay between sending and receiving.

However, there is no sync-read command, so you're stuck reading the bytes from each servo, one at a time. A read instruction is 8 bytes down, and you would get back 6 bytes plus the number of bytes you're reading from that servo. If all you wanted was position, that would be 8. If you want position and torque, you need to read speed as well, so you're up to 12 bytes total response.

Assuming the latter, you're looking at 20 bytes per servo, which is 360 bytes for all 18.

So, the total is now 410 bytes per cycle, which is 4100 bits (roughly). You're down to 10 frames per second, which is still doable, but slow.

Note that this analysis is based on the assumption that the CM-5 does nothing to the bytes you send and receive, which may not be the case.

All this is why I am developing a wifi link to the Bioloid. That will give me a straight-through link at 1.0 Mbps to the bus from my PC, for about $200 in hardware.

- Jon
From what I've seen, the CM-5 is limited to 57,600 in communications with the PC.

If you are updating 18 servos, using the sync_write command, with just position (2 bytes per servo), you're looking at 3 bytes per servo plus 7 bytes overhead, which is 43 bytes total. You get 6 bytes back, so you're looking at (roughly) 50 bytes per cycle, or 500 bits.

If you weren't interested in any feedback, you could theoretically do 100 frames per second, although in reality there is a delay between sending and receiving.

However, there is no sync-read command, so you're stuck reading the bytes from each servo, one at a time. A read instruction is 8 bytes down, and you would get back 6 bytes plus the number of bytes you're reading from that servo. If all you wanted was position, that would be 8. If you want position and torque, you need to read speed as well, so you're up to 12 bytes total response.

Assuming the latter, you're looking at 20 bytes per servo, which is 360 bytes for all 18.

So, the total is now 410 bytes per cycle, which is 4100 bits (roughly). You're down to 10 frames per second, which is still doable, but slow.

Note that this analysis is based on the assumption that the CM-5 does nothing to the bytes you send and receive, which may not be the case.

All this is why I am developing a wifi link to the Bioloid. That will give me a straight-through link at 1.0 Mbps to the bus from my PC, for about $200 in hardware.

- Jon
JonHylands
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 512
Joined: Thu Nov 09, 2006 1:00 am
Location: Ontario, Canada

Next
23 postsPage 1 of 21, 2
23 postsPage 1 of 21, 2