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

Adding dynaixels

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

Adding dynaixels

Post by pikaj00 » Tue Feb 08, 2011 11:45 pm

Post by pikaj00
Tue Feb 08, 2011 11:45 pm

i have a siple question i cant remember how but i added 2 ax12 to make a head on my premium kit how do i get them addressed and initialized so i can make movements including them... in motion plus they show up as id 19 and id 20 but i cannot select them..

thanks in advance!!!
i have a siple question i cant remember how but i added 2 ax12 to make a head on my premium kit how do i get them addressed and initialized so i can make movements including them... in motion plus they show up as id 19 and id 20 but i cannot select them..

thanks in advance!!!
pikaj00
Robot Builder
Robot Builder
Posts: 23
Joined: Tue Mar 09, 2010 4:31 am

Add More Ax12

Post by MOHIT JINDAL » Wed Feb 09, 2011 5:35 am

Post by MOHIT JINDAL
Wed Feb 09, 2011 5:35 am

Hi,
I also want to add 6 Ax12+ Dynamixels but dont know how to add them in task program and motion file.
Where I can add 6 more Ax12 ? Near the empty port on top or continue with hands Ax12 as daisy chain ? :roll:
Thanks
Hi,
I also want to add 6 Ax12+ Dynamixels but dont know how to add them in task program and motion file.
Where I can add 6 more Ax12 ? Near the empty port on top or continue with hands Ax12 as daisy chain ? :roll:
Thanks
MOHIT JINDAL
Savvy Roboteer
Savvy Roboteer
Posts: 178
Joined: Wed Nov 10, 2010 7:43 am

Post by Fritzoid » Wed Feb 09, 2011 1:31 pm

Post by Fritzoid
Wed Feb 09, 2011 1:31 pm

New dynamixel IDs need to be enabled to RoboPlus Motion. To do this you need to go to the "Edit All Page" tab (on the right-hand side of the RoboPlus Motion window). To select a dynamixel in the Basic Pose Editor, the ID must have the Enable box checked in the Edit All Page.

As far as phsical connections go, either way will work. The dynamixel ports are wired in parallel.
New dynamixel IDs need to be enabled to RoboPlus Motion. To do this you need to go to the "Edit All Page" tab (on the right-hand side of the RoboPlus Motion window). To select a dynamixel in the Basic Pose Editor, the ID must have the Enable box checked in the Edit All Page.

As far as phsical connections go, either way will work. The dynamixel ports are wired in parallel.
Fritzoid
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 331
Joined: Mon Dec 18, 2006 1:00 am

Post by MOHIT JINDAL » Thu Feb 10, 2011 4:05 am

Post by MOHIT JINDAL
Thu Feb 10, 2011 4:05 am

Thanks Fritzoid :D

Can you please tell us that what is the meaning of Motion Page in Task file of Type A ?
There are no pages in that file.

So what is the meaning of Motion Page =31

Also where are Port 3 and Port 4 in the CM510 ?

Thanks Again;
Cheers :)
Thanks Fritzoid :D

Can you please tell us that what is the meaning of Motion Page in Task file of Type A ?
There are no pages in that file.

So what is the meaning of Motion Page =31

Also where are Port 3 and Port 4 in the CM510 ?

Thanks Again;
Cheers :)
MOHIT JINDAL
Savvy Roboteer
Savvy Roboteer
Posts: 178
Joined: Wed Nov 10, 2010 7:43 am

Post by Fritzoid » Thu Feb 10, 2011 1:09 pm

Post by Fritzoid
Thu Feb 10, 2011 1:09 pm

Mohit,

The CM-510 controller has an internal non-volatile (flash) memory area where it stores a set of 255 motion pages. You use RoboPlus Motion to display and manage this data. When you do a "Connect Robot" the software reads the current data from the controller and displays it in a human-readable format. After you make changes to the motion data it can be written back to the controller using the "Download Motion" function.

A particular RoboPlus Task program operates in conjunction with a particular set of motion pages. The program more-or-less "assumes" that the proper set of motion pages is already loaded into memory. It is the user's responsibility to see to it that this is the case.

Your CM-510 came pre-loaded with a set of factory motions designed for the Humanoid type A configuration. You are, no doubt, familiar with many of these. Page 1 is named Bow and page 30 is named Clapping, etc. It also came with a demo Task program that "assumes" that the default motion pages are already there.

So when the program executes the statement "Motion Page=31" the robot will perform motions defined in the default motion page named "Walk Ready." It's the same as if you had selected the Walk Ready motion in RoboPlus and pressed the "Play Motion" button.

On your other question, Ports 3 and 4 are located on the "lower" side of the CM-510 case. This is the side of the case that is obscured by the battery when it is installed. They are two separate ports, each adjacent to a dynamixel port also on that side. You will have to slide the battery off of frame 60 just to see them.
Mohit,

The CM-510 controller has an internal non-volatile (flash) memory area where it stores a set of 255 motion pages. You use RoboPlus Motion to display and manage this data. When you do a "Connect Robot" the software reads the current data from the controller and displays it in a human-readable format. After you make changes to the motion data it can be written back to the controller using the "Download Motion" function.

A particular RoboPlus Task program operates in conjunction with a particular set of motion pages. The program more-or-less "assumes" that the proper set of motion pages is already loaded into memory. It is the user's responsibility to see to it that this is the case.

Your CM-510 came pre-loaded with a set of factory motions designed for the Humanoid type A configuration. You are, no doubt, familiar with many of these. Page 1 is named Bow and page 30 is named Clapping, etc. It also came with a demo Task program that "assumes" that the default motion pages are already there.

So when the program executes the statement "Motion Page=31" the robot will perform motions defined in the default motion page named "Walk Ready." It's the same as if you had selected the Walk Ready motion in RoboPlus and pressed the "Play Motion" button.

On your other question, Ports 3 and 4 are located on the "lower" side of the CM-510 case. This is the side of the case that is obscured by the battery when it is installed. They are two separate ports, each adjacent to a dynamixel port also on that side. You will have to slide the battery off of frame 60 just to see them.
Fritzoid
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 331
Joined: Mon Dec 18, 2006 1:00 am

Great Help Fritzoid

Post by MOHIT JINDAL » Thu Feb 10, 2011 3:01 pm

Post by MOHIT JINDAL
Thu Feb 10, 2011 3:01 pm

You are a STAR FRITZOID :lol:
Can you also tell how i can read the task code inside Type A ?
When I connect Bioloid It always open motiom code inside Cm510.
Also please tell me if I made some changes in task code, the motion file automatically changes or not ?
Where are the ports 1 and 2 located in Cm510 ?
Thanks again,
Mohit Jindal :roll: :)
You are a STAR FRITZOID :lol:
Can you also tell how i can read the task code inside Type A ?
When I connect Bioloid It always open motiom code inside Cm510.
Also please tell me if I made some changes in task code, the motion file automatically changes or not ?
Where are the ports 1 and 2 located in Cm510 ?
Thanks again,
Mohit Jindal :roll: :)
MOHIT JINDAL
Savvy Roboteer
Savvy Roboteer
Posts: 178
Joined: Wed Nov 10, 2010 7:43 am

Post by Fritzoid » Fri Feb 11, 2011 11:44 am

Post by Fritzoid
Fri Feb 11, 2011 11:44 am

mohit wrote:
Can you also tell how i can read the task code inside Type A ?

Unlike the motion data, the task program cannot be retreived from the CM-510 controller. However the factory-loaded demo program can be donwloaded from various sites on the internet. Including my personal files area here at RoboSavvy...
http://robosavvy.com/Builders/Fritzoid
See fileHumanoid.zip.
I made some changes in task code, the motion file automatically changes or not ?
The motion data and task program are independant of each other, so no. It is the programmer's responsibility to make sure that these two fles are properly coordinated.
When I connect Bioloid It always open motiom code inside Cm510
That's right, but you can save that data to a disk file on your PC and then load another motion file (from your PC) into the robot. To make this as easy as possible, RoboPlus Motion can have multiple motion files open at the same time.
Where are the ports 1 and 2 located in Cm510 ?
See http://support.robotis.com/en/ or the Manual button in RoboPlus. The I/O ports on the CM-510 are identified by looking at the plastic housing surrounding the pin header. There are a number of raised bars molded into the plastic that correspond to the port number. One bar for port one, two bars for port two, etc.
mohit wrote:
Can you also tell how i can read the task code inside Type A ?

Unlike the motion data, the task program cannot be retreived from the CM-510 controller. However the factory-loaded demo program can be donwloaded from various sites on the internet. Including my personal files area here at RoboSavvy...
http://robosavvy.com/Builders/Fritzoid
See fileHumanoid.zip.
I made some changes in task code, the motion file automatically changes or not ?
The motion data and task program are independant of each other, so no. It is the programmer's responsibility to make sure that these two fles are properly coordinated.
When I connect Bioloid It always open motiom code inside Cm510
That's right, but you can save that data to a disk file on your PC and then load another motion file (from your PC) into the robot. To make this as easy as possible, RoboPlus Motion can have multiple motion files open at the same time.
Where are the ports 1 and 2 located in Cm510 ?
See http://support.robotis.com/en/ or the Manual button in RoboPlus. The I/O ports on the CM-510 are identified by looking at the plastic housing surrounding the pin header. There are a number of raised bars molded into the plastic that correspond to the port number. One bar for port one, two bars for port two, etc.
Fritzoid
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 331
Joined: Mon Dec 18, 2006 1:00 am

Dynamixel and Roboplus

Post by MOHIT JINDAL » Fri Feb 11, 2011 1:23 pm

Post by MOHIT JINDAL
Fri Feb 11, 2011 1:23 pm

GOD Bless you Fritzoid
Thanks for the Big Help :D
I think that you should write a BOOK on 'How to program in Roboplus' :lol:
Now its clear than motion file will not run without task code.
Is there any way to make task program from motion code ?
Is it true that each Ax12+ can hold a weight of 10kg? I mean can i add 5 kg brick on top of Type A and it will move ? :roll:
Thanks Again,
Mohit Jindal
GOD Bless you Fritzoid
Thanks for the Big Help :D
I think that you should write a BOOK on 'How to program in Roboplus' :lol:
Now its clear than motion file will not run without task code.
Is there any way to make task program from motion code ?
Is it true that each Ax12+ can hold a weight of 10kg? I mean can i add 5 kg brick on top of Type A and it will move ? :roll:
Thanks Again,
Mohit Jindal
MOHIT JINDAL
Savvy Roboteer
Savvy Roboteer
Posts: 178
Joined: Wed Nov 10, 2010 7:43 am

Post by Fritzoid » Fri Feb 11, 2011 8:06 pm

Post by Fritzoid
Fri Feb 11, 2011 8:06 pm

Mohit wrote:
can i add 5 kg brick on top of Type A and it will move ?

I wouldn't try it. The Ax-12 manual states that the servo can produce a maximum of 16.5 Kgf.cm. Which means that it can, in theory, hold a 16.5 Kg. brick against the force of gravity using a 1 cm. lever arm. Your humanoid type A has a couple of leg joints with lengths of 7.5 cm. or more. A little math (16.5/7.5) shows that a lever arm of this length would only hold up about 2.2 Kg.

However, this assums that the force of gravity is applied perpendicular to the joint. In a humanoid configuration the leg links operate in a range more parallel than perpendicular to the gravity vector. Consequently the effective lever arm would be a good deal shorter, in the 3-5 cm. range. This means that the robot might be able to carry a weight of 5 Kg., but only if the legs didn't bend too much :shock:

Also, pushing the electric motor and plastic gears to their engineering limits can result in permanent damage to the servo, so I will not be trying this out on my Bioloid.
Mohit wrote:
can i add 5 kg brick on top of Type A and it will move ?

I wouldn't try it. The Ax-12 manual states that the servo can produce a maximum of 16.5 Kgf.cm. Which means that it can, in theory, hold a 16.5 Kg. brick against the force of gravity using a 1 cm. lever arm. Your humanoid type A has a couple of leg joints with lengths of 7.5 cm. or more. A little math (16.5/7.5) shows that a lever arm of this length would only hold up about 2.2 Kg.

However, this assums that the force of gravity is applied perpendicular to the joint. In a humanoid configuration the leg links operate in a range more parallel than perpendicular to the gravity vector. Consequently the effective lever arm would be a good deal shorter, in the 3-5 cm. range. This means that the robot might be able to carry a weight of 5 Kg., but only if the legs didn't bend too much :shock:

Also, pushing the electric motor and plastic gears to their engineering limits can result in permanent damage to the servo, so I will not be trying this out on my Bioloid.
Fritzoid
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 331
Joined: Mon Dec 18, 2006 1:00 am

Post by pikaj00 » Sat Feb 12, 2011 3:30 am

Post by pikaj00
Sat Feb 12, 2011 3:30 am

Fritzoid wrote:Mohit wrote:
can i add 5 kg brick on top of Type A and it will move ?

I wouldn't try it. The Ax-12 manual states that the servo can produce a maximum of 16.5 Kgf.cm. Which means that it can, in theory, hold a 16.5 Kg. brick against the force of gravity using a 1 cm. lever arm. Your humanoid type A has a couple of leg joints with lengths of 7.5 cm. or more. A little math (16.5/7.5) shows that a lever arm of this length would only hold up about 2.2 Kg.

However, this assums that the force of gravity is applied perpendicular to the joint. In a humanoid configuration the leg links operate in a range more parallel than perpendicular to the gravity vector. Consequently the effective lever arm would be a good deal shorter, in the 3-5 cm. range. This means that the robot might be able to carry a weight of 5 Kg., but only if the legs didn't bend too much :shock:

Also, pushing the electric motor and plastic gears to their engineering limits can result in permanent damage to the servo, so I will not be trying this out on my Bioloid.


man do you ever know your stuff.... did you ever get anywhere with huv robotics 6DOF imu or the havimo? im playing with them now but coding robotask isnt that easy for me...
Fritzoid wrote:Mohit wrote:
can i add 5 kg brick on top of Type A and it will move ?

I wouldn't try it. The Ax-12 manual states that the servo can produce a maximum of 16.5 Kgf.cm. Which means that it can, in theory, hold a 16.5 Kg. brick against the force of gravity using a 1 cm. lever arm. Your humanoid type A has a couple of leg joints with lengths of 7.5 cm. or more. A little math (16.5/7.5) shows that a lever arm of this length would only hold up about 2.2 Kg.

However, this assums that the force of gravity is applied perpendicular to the joint. In a humanoid configuration the leg links operate in a range more parallel than perpendicular to the gravity vector. Consequently the effective lever arm would be a good deal shorter, in the 3-5 cm. range. This means that the robot might be able to carry a weight of 5 Kg., but only if the legs didn't bend too much :shock:

Also, pushing the electric motor and plastic gears to their engineering limits can result in permanent damage to the servo, so I will not be trying this out on my Bioloid.


man do you ever know your stuff.... did you ever get anywhere with huv robotics 6DOF imu or the havimo? im playing with them now but coding robotask isnt that easy for me...
pikaj00
Robot Builder
Robot Builder
Posts: 23
Joined: Tue Mar 09, 2010 4:31 am

Post by Fritzoid » Mon Feb 14, 2011 12:58 pm

Post by Fritzoid
Mon Feb 14, 2011 12:58 pm

pikaj00 wrote:
did you ever get anywhere with huv robotics 6DOF imu or the havimo?

I haven't been able to get my hands on one of the imu units, they are nolonger sold. So I've been forced to use the Bioloid I/O board as an imu instead. I attached the gyro unit and an accelerometer and replaced the original firmware. The new firmware implements a complimentary filter which mixes the gyro and accelerometer inputs to produce a more useable tilt reading. I'm using something similar on my FSR boards too. The code is in assembler but I can post it if you are interested.

As far as havimo goes, I'm not sure what the problem is. Maybe you could explain it to me.

In general RoboPlus Task is not up to the job of interfacing with 3rd party boards. For example you can only issue two read_data commands per callback pass! That pretty much kills any chance of using it with these devices. This was my primary motivation for creating BioC. With BioC you can read and write up to a dozen times per callback. Plus you are not limited to 1 or 2 bytes per call. It's the only way to go, if you ask me.
pikaj00 wrote:
did you ever get anywhere with huv robotics 6DOF imu or the havimo?

I haven't been able to get my hands on one of the imu units, they are nolonger sold. So I've been forced to use the Bioloid I/O board as an imu instead. I attached the gyro unit and an accelerometer and replaced the original firmware. The new firmware implements a complimentary filter which mixes the gyro and accelerometer inputs to produce a more useable tilt reading. I'm using something similar on my FSR boards too. The code is in assembler but I can post it if you are interested.

As far as havimo goes, I'm not sure what the problem is. Maybe you could explain it to me.

In general RoboPlus Task is not up to the job of interfacing with 3rd party boards. For example you can only issue two read_data commands per callback pass! That pretty much kills any chance of using it with these devices. This was my primary motivation for creating BioC. With BioC you can read and write up to a dozen times per callback. Plus you are not limited to 1 or 2 bytes per call. It's the only way to go, if you ask me.
Fritzoid
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 331
Joined: Mon Dec 18, 2006 1:00 am


11 postsPage 1 of 1
11 postsPage 1 of 1