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

External PID closed loop control

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

External PID closed loop control

Post by whip_tracker_cracker » Thu Jan 08, 2009 8:02 am

Post by whip_tracker_cracker
Thu Jan 08, 2009 8:02 am

I apologize if this has been answered. I search the forums, but did not find exactly what I was looking for. I have a project, and I am considering buying the bioloid beginners kit. I want to be able to write a c program that can get position feedback from all the addressed motors and then send new velocities to all the motors and in thus in a closed feedback loop have external PC control. This is important as it is proof that it will work for more complex external algorithms that I would like to test. I know it looks possible that I can send commands to the motors by installing a pass through program on the cm-5 and then sending out packets from a C program on the PC that the cm-5 will then interpret and send the appropriate information to the ax-12's. I took a look at the matlab example shown on here that uses just one motor. I figured I could take something like that and maybe expand it to sending the address packet first, then followed by position and feedback and modifying the cm-5 loaded program to load based on packet address the given motor information appropriately. I know there are ways to do direct serial,etc. But I'm trying to stay as simple and as quick with a solution as possible. And the cm-5 comes in the kit. To allow the motor to be controlled by velocity only, I guess I need to set each motor to continuous rotation and then just sending over velocity. I understand about the 60 degree dead zone that I need to account for or avoid.

So I guess I'm just trying to get some reassurance, before I throw out money, that I can set it up to write controllers on the computer that will send actuation to the robot and receive feedback for control purposes. I need to have the computer as the controller as I have research merits which require gathering data from networked sources and other robots in a large environment. I would be extremely appreciative if someone with knowledge would ring in as soon as they could and give me a yes or no or probably on whether this is all possible or not. I would also love any hints, roadmaps, etc anyone may have or like to add other than what has been mentioned extensively within the forums. Again i understand some of these questions are mild repeats, but I want to make sure it would all work together. Thanks in advance!!!
I apologize if this has been answered. I search the forums, but did not find exactly what I was looking for. I have a project, and I am considering buying the bioloid beginners kit. I want to be able to write a c program that can get position feedback from all the addressed motors and then send new velocities to all the motors and in thus in a closed feedback loop have external PC control. This is important as it is proof that it will work for more complex external algorithms that I would like to test. I know it looks possible that I can send commands to the motors by installing a pass through program on the cm-5 and then sending out packets from a C program on the PC that the cm-5 will then interpret and send the appropriate information to the ax-12's. I took a look at the matlab example shown on here that uses just one motor. I figured I could take something like that and maybe expand it to sending the address packet first, then followed by position and feedback and modifying the cm-5 loaded program to load based on packet address the given motor information appropriately. I know there are ways to do direct serial,etc. But I'm trying to stay as simple and as quick with a solution as possible. And the cm-5 comes in the kit. To allow the motor to be controlled by velocity only, I guess I need to set each motor to continuous rotation and then just sending over velocity. I understand about the 60 degree dead zone that I need to account for or avoid.

So I guess I'm just trying to get some reassurance, before I throw out money, that I can set it up to write controllers on the computer that will send actuation to the robot and receive feedback for control purposes. I need to have the computer as the controller as I have research merits which require gathering data from networked sources and other robots in a large environment. I would be extremely appreciative if someone with knowledge would ring in as soon as they could and give me a yes or no or probably on whether this is all possible or not. I would also love any hints, roadmaps, etc anyone may have or like to add other than what has been mentioned extensively within the forums. Again i understand some of these questions are mild repeats, but I want to make sure it would all work together. Thanks in advance!!!
whip_tracker_cracker
Newbie
Newbie
Posts: 5
Joined: Thu Jan 08, 2009 7:52 am

Post by StuartL » Thu Jan 08, 2009 5:19 pm

Post by StuartL
Thu Jan 08, 2009 5:19 pm

This is definitely possible and a worthy project.
This is definitely possible and a worthy project.
StuartL
Savvy Roboteer
Savvy Roboteer
Posts: 350
Joined: Mon Jun 04, 2007 3:46 pm
Location: Thatcham, Berkshire, UK

Post by BillB » Thu Jan 08, 2009 9:33 pm

Post by BillB
Thu Jan 08, 2009 9:33 pm

Yes definately possible with the beginners kit. You will need to put the CM5 in "Toss" mode.

You may want to consider buying the USB2Dynamixel adapter, there is an software Library/API available from Robotis that makes interfacing your PC directly to the dynamixels easier.

P.S. This response assumes that you want a wired solution. A wireless solution is a different kettle of fish.
Yes definately possible with the beginners kit. You will need to put the CM5 in "Toss" mode.

You may want to consider buying the USB2Dynamixel adapter, there is an software Library/API available from Robotis that makes interfacing your PC directly to the dynamixels easier.

P.S. This response assumes that you want a wired solution. A wireless solution is a different kettle of fish.
BillB
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 232
Joined: Sun Aug 06, 2006 1:00 am
Location: Hampshire, UK

Post by whip_tracker_cracker » Fri Jan 09, 2009 10:45 pm

Post by whip_tracker_cracker
Fri Jan 09, 2009 10:45 pm

Thanks for the replies!!! I am using a wired method. I've got a mobile robot that needs an arm on it, and the mobile robot has a standard computer on-board with all the standard (including usb and serial) ports.

I just wanted some clarification if possible, as I have been getting mixed information and results from others.

When I put the ax-12's into continuous rotation mode, I can send goal speed, however I've been hearing from some, not in this forum, that I cannot then get position information back from the servo. Is this true? Has anyone tried it? I want to be able to send speed and get position and hopefully velocity feedback. If this does not work, or someone does not have a work around than this is not for me. I am assuming that this is not true and that it does work, but it would sure be nice to hear "yes" or "yes, if you do this". Thanks again, you may have a bioloid convert here on the forums soon
Thanks for the replies!!! I am using a wired method. I've got a mobile robot that needs an arm on it, and the mobile robot has a standard computer on-board with all the standard (including usb and serial) ports.

I just wanted some clarification if possible, as I have been getting mixed information and results from others.

When I put the ax-12's into continuous rotation mode, I can send goal speed, however I've been hearing from some, not in this forum, that I cannot then get position information back from the servo. Is this true? Has anyone tried it? I want to be able to send speed and get position and hopefully velocity feedback. If this does not work, or someone does not have a work around than this is not for me. I am assuming that this is not true and that it does work, but it would sure be nice to hear "yes" or "yes, if you do this". Thanks again, you may have a bioloid convert here on the forums soon
whip_tracker_cracker
Newbie
Newbie
Posts: 5
Joined: Thu Jan 08, 2009 7:52 am

Post by limor » Sun Jan 11, 2009 11:43 am

Post by limor
Sun Jan 11, 2009 11:43 am

you can get the position feedback when the ax12 is rotating. not the full 360 degrees. only about 300 degrees are covered by the POT.
have a look at the Bioloid knowledgebase and particularly at the work done by Pedro Teodoro for his MSC

I recommend that you buy the usb2dynamixel and a single AX12 and experiment these things without breaking the bank.
you will need a DC power supply of 10-12V (1Amp) that is linked to the servo to using AX12 cables (more stuff to buy) or hack a connector together for the purpose of the experiment)

http://robosavvy.com/store/index.php?ma ... rers_id=15
you can get the position feedback when the ax12 is rotating. not the full 360 degrees. only about 300 degrees are covered by the POT.
have a look at the Bioloid knowledgebase and particularly at the work done by Pedro Teodoro for his MSC

I recommend that you buy the usb2dynamixel and a single AX12 and experiment these things without breaking the bank.
you will need a DC power supply of 10-12V (1Amp) that is linked to the servo to using AX12 cables (more stuff to buy) or hack a connector together for the purpose of the experiment)

http://robosavvy.com/store/index.php?ma ... rers_id=15
limor
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1845
Joined: Mon Oct 11, 2004 1:00 am
Location: London, UK


5 postsPage 1 of 1
5 postsPage 1 of 1