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

Multiple USB2Dynamixels

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

Multiple USB2Dynamixels

Post by HyperCube » Sat Apr 30, 2011 6:38 am

Post by HyperCube
Sat Apr 30, 2011 6:38 am

I have a project involving control of two separate arms using AX-18F's, from a single computer running the C++ USB2Dynamixel API.

I'm hoping to run each arm on its own bus. I think I remember reading a tutorial somewhere on how to run more than one USB2Dynamixel on a single computer, but I don't remember the link! (Don't you hate it when that happens?). Since then I've found some posts hinting that it's possible.

Has anyone had any luck doing it? What's involved exactly?
I have a project involving control of two separate arms using AX-18F's, from a single computer running the C++ USB2Dynamixel API.

I'm hoping to run each arm on its own bus. I think I remember reading a tutorial somewhere on how to run more than one USB2Dynamixel on a single computer, but I don't remember the link! (Don't you hate it when that happens?). Since then I've found some posts hinting that it's possible.

Has anyone had any luck doing it? What's involved exactly?
HyperCube
Robot Builder
Robot Builder
Posts: 9
Joined: Sat Apr 30, 2011 6:28 am

Post by i-Bot » Sat Apr 30, 2011 10:38 am

Post by i-Bot
Sat Apr 30, 2011 10:38 am

Do you really need a seperate bus for each arm ? You could power them from seperate batteries, but still share the ground and signal for a common bus provided you take care with the ground wiring.

Two USB2Dynamixel will appear as two different COM ports. I assume you use the Robotis Dynamixel API. I think the dxl_initialise sets the COM port and it is then used until dxl_terminate. Two COM ports would mean calling this pair quite often, so may be slow.

There is some sourcecode for driving dynamixels which could be modified for two ports.
Do you really need a seperate bus for each arm ? You could power them from seperate batteries, but still share the ground and signal for a common bus provided you take care with the ground wiring.

Two USB2Dynamixel will appear as two different COM ports. I assume you use the Robotis Dynamixel API. I think the dxl_initialise sets the COM port and it is then used until dxl_terminate. Two COM ports would mean calling this pair quite often, so may be slow.

There is some sourcecode for driving dynamixels which could be modified for two ports.
i-Bot
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1142
Joined: Wed May 17, 2006 1:00 am

Post by HyperCube » Wed May 04, 2011 11:38 am

Post by HyperCube
Wed May 04, 2011 11:38 am

The main reason I'm planning on using two buses is because it will allow me to easily control each robot independently without worrying about how they're sharing the bus. For example, if robot 2 wants to do something simple like poll the temperature for each servo, but robot 1 is hogging the bus because it's doing really tight high-frequency closed loop control, then robot 2 will have to wait until the bus is free (with only one bus).

I've gone through the dynamixel API and have a fairly solid idea of how to do it. All I need now is some hardware to play with....
The main reason I'm planning on using two buses is because it will allow me to easily control each robot independently without worrying about how they're sharing the bus. For example, if robot 2 wants to do something simple like poll the temperature for each servo, but robot 1 is hogging the bus because it's doing really tight high-frequency closed loop control, then robot 2 will have to wait until the bus is free (with only one bus).

I've gone through the dynamixel API and have a fairly solid idea of how to do it. All I need now is some hardware to play with....
HyperCube
Robot Builder
Robot Builder
Posts: 9
Joined: Sat Apr 30, 2011 6:28 am


3 postsPage 1 of 1
3 postsPage 1 of 1