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

how to access AX-12s?

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

how to access AX-12s?

Post by ShreddinPB » Mon Jul 27, 2009 7:31 pm

Post by ShreddinPB
Mon Jul 27, 2009 7:31 pm

Ok.. so I am sure this has been covered.. but I have read around a lot and seems like there is different ways to do this now.

What I really need to do is access and set positions for the AX-12s, with a PC, thru the CM-5.

I thought about using the Dynamixel Commanders code to find out how they are doing it.. but I have to write the software I am going to write in C++.. so I dont think I can use their code with it since its in C#, right?

The other stuff I have found is more for accessing the AX-12s directly thru the USB2Dynamixel directly.. which I have on order, but I will still need to access them thru the CM-5 also..

I think I have read too much and totally buggered my brain with data lol

So.. basicly, what would you use to write some simple code to set positions of AX-12s, with your windows PC, thru the CM-5?
Ok.. so I am sure this has been covered.. but I have read around a lot and seems like there is different ways to do this now.

What I really need to do is access and set positions for the AX-12s, with a PC, thru the CM-5.

I thought about using the Dynamixel Commanders code to find out how they are doing it.. but I have to write the software I am going to write in C++.. so I dont think I can use their code with it since its in C#, right?

The other stuff I have found is more for accessing the AX-12s directly thru the USB2Dynamixel directly.. which I have on order, but I will still need to access them thru the CM-5 also..

I think I have read too much and totally buggered my brain with data lol

So.. basicly, what would you use to write some simple code to set positions of AX-12s, with your windows PC, thru the CM-5?
ShreddinPB
Savvy Roboteer
Savvy Roboteer
Posts: 33
Joined: Thu Jun 07, 2007 2:29 am

Post by kamondelious » Mon Jul 27, 2009 7:51 pm

Post by kamondelious
Mon Jul 27, 2009 7:51 pm

Hey ShreddinPB,

Have you looked at libbioloid?
http://robosavvy.com/forum/viewtopic.php?t=3215

It's C, not C++, but should be able to get you rolling.

Cheers!
Hey ShreddinPB,

Have you looked at libbioloid?
http://robosavvy.com/forum/viewtopic.php?t=3215

It's C, not C++, but should be able to get you rolling.

Cheers!
kamondelious
Savvy Roboteer
Savvy Roboteer
Posts: 29
Joined: Tue Sep 30, 2008 11:18 pm

Post by sprince09 » Mon Jul 27, 2009 7:57 pm

Post by sprince09
Mon Jul 27, 2009 7:57 pm

Just to clarify, there are a few different ways to communicate with the AX-12's:

USB2Dynamixel:

This is just a usb-serial converter that allows you to connect directly from a PC to the
AX-12 network. This allows you to write programs on your PC (in any language) to
communicate with your AX-12's through the USB2Dynamixel module. This bypasses
the CM-5 entirely, but you'll need to find a battery or something to power your
AX-12's.


CM5:

The CM5 is a circuit board which uses an atmega128 microcontroller as it's brain. If
you want to program the CM5, what you really will be doing is programming the
atmega128 chip inside it. While it is possible to program these chips in a couple of
different languages, the vast majority of people use C because there is a free atmega
C compiler available. It is possible to break your CM5 by writing bad code, so if
you've never programmed a micro-controller before, go to Digikey and buy a $4.00
atmega8 to play with, and head over to www.avrfreaks.net first. I recommend staying
far away from the example code provided by Robotis if you plan on programming the
CM5, because it contains a lot of typos and for me, won't even compile.


Motion Controller from Robotis:
If all you care to do is make your servos move, head over to the downloads section of
Robotis' website and download the Bioloid software package. This has a couple of
programs which allow you to do perform some basic functions on the AX-12's and
the CM-5. If you're running the default firmware on your CM5, you can use this
software package to load sequences of positions into the CM5's memory, which it will
then cycle through and move the corresponding servos appropriately.

I have some C code that I use to communicate from my PC (linux) through a USB2Dynamixel unit to some AX-12 servos. I don't see a way to attach it to my post here, but if you PM me, I'll gladly e-mail you a copy of it.
Just to clarify, there are a few different ways to communicate with the AX-12's:

USB2Dynamixel:

This is just a usb-serial converter that allows you to connect directly from a PC to the
AX-12 network. This allows you to write programs on your PC (in any language) to
communicate with your AX-12's through the USB2Dynamixel module. This bypasses
the CM-5 entirely, but you'll need to find a battery or something to power your
AX-12's.


CM5:

The CM5 is a circuit board which uses an atmega128 microcontroller as it's brain. If
you want to program the CM5, what you really will be doing is programming the
atmega128 chip inside it. While it is possible to program these chips in a couple of
different languages, the vast majority of people use C because there is a free atmega
C compiler available. It is possible to break your CM5 by writing bad code, so if
you've never programmed a micro-controller before, go to Digikey and buy a $4.00
atmega8 to play with, and head over to www.avrfreaks.net first. I recommend staying
far away from the example code provided by Robotis if you plan on programming the
CM5, because it contains a lot of typos and for me, won't even compile.


Motion Controller from Robotis:
If all you care to do is make your servos move, head over to the downloads section of
Robotis' website and download the Bioloid software package. This has a couple of
programs which allow you to do perform some basic functions on the AX-12's and
the CM-5. If you're running the default firmware on your CM5, you can use this
software package to load sequences of positions into the CM5's memory, which it will
then cycle through and move the corresponding servos appropriately.

I have some C code that I use to communicate from my PC (linux) through a USB2Dynamixel unit to some AX-12 servos. I don't see a way to attach it to my post here, but if you PM me, I'll gladly e-mail you a copy of it.
sprince09
Newbie
Newbie
Posts: 4
Joined: Mon Jul 27, 2009 6:42 pm

Post by RandomMatt » Mon Jul 27, 2009 8:48 pm

Post by RandomMatt
Mon Jul 27, 2009 8:48 pm

sprince09 wrote:It is possible to break your CM5 by writing bad code, so if you've never programmed a micro-controller before, go to Digikey and buy a $4.00 atmega8 to play with.


That's not necessary... while you can break an AVR - you really have to try hard.

My suggestion is to just play around a bit with libbioloid - so long as you don't mess with PORTx/DDRx you won't break anything at all.

--

libbioloid is just a very thin wrapper for controlling devices on the dynamixel bus - so it seems like a perfect fit for you.

For the 2 minute test: just have a look at example.c - you'll be able to tell if it's your cup of tea or not.

disclaimer: I wrote libbioloid - so, obviously, I think it is fantastic
sprince09 wrote:It is possible to break your CM5 by writing bad code, so if you've never programmed a micro-controller before, go to Digikey and buy a $4.00 atmega8 to play with.


That's not necessary... while you can break an AVR - you really have to try hard.

My suggestion is to just play around a bit with libbioloid - so long as you don't mess with PORTx/DDRx you won't break anything at all.

--

libbioloid is just a very thin wrapper for controlling devices on the dynamixel bus - so it seems like a perfect fit for you.

For the 2 minute test: just have a look at example.c - you'll be able to tell if it's your cup of tea or not.

disclaimer: I wrote libbioloid - so, obviously, I think it is fantastic
RandomMatt
Savvy Roboteer
Savvy Roboteer
Posts: 117
Joined: Sat Dec 20, 2008 11:16 pm

Post by sprince09 » Mon Jul 27, 2009 8:53 pm

Post by sprince09
Mon Jul 27, 2009 8:53 pm

RandomMatt wrote:
That's not necessary... while you can break an AVR - you really have to try hard.

My suggestion is to just play around a bit with libbioloid - so long as you don't mess with PORTx/DDRx you won't break anything at all.



That's actually not bad advice either, I've just never used libbioloid before so didn't think of it (it didn't exist a year ago when I started playing with these).
RandomMatt wrote:
That's not necessary... while you can break an AVR - you really have to try hard.

My suggestion is to just play around a bit with libbioloid - so long as you don't mess with PORTx/DDRx you won't break anything at all.



That's actually not bad advice either, I've just never used libbioloid before so didn't think of it (it didn't exist a year ago when I started playing with these).
sprince09
Newbie
Newbie
Posts: 4
Joined: Mon Jul 27, 2009 6:42 pm

Post by tom_chang79 » Sat Aug 29, 2009 10:59 am

Post by tom_chang79
Sat Aug 29, 2009 10:59 am

RandomMatt wrote:That's not necessary... while you can break an AVR - you really have to try hard.



:lol:

Only if you're debugging the darn thing with a hammer!!!

Now where did I leave that hammer?

:lol:
RandomMatt wrote:That's not necessary... while you can break an AVR - you really have to try hard.



:lol:

Only if you're debugging the darn thing with a hammer!!!

Now where did I leave that hammer?

:lol:
tom_chang79
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 116
Joined: Sat Jan 12, 2008 2:31 am
Location: California


6 postsPage 1 of 1
6 postsPage 1 of 1