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

CM-5 Function Question

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

CM-5 Function Question

Post by Mark_L » Mon May 21, 2007 2:28 am

Post by Mark_L
Mon May 21, 2007 2:28 am

Just found this forum - hello all!

I am interested in using the Bioloid system for interactive animatronics, rather than pure robotics. I would like to make a simple "pass through" controller so that I can run my characters directly from a PC. My question is whether the CM-5 does anything like acceleration/deceleration curves or any other pre processing of that sort, or is all that done in the AX-12 itself?

Mark
Just found this forum - hello all!

I am interested in using the Bioloid system for interactive animatronics, rather than pure robotics. I would like to make a simple "pass through" controller so that I can run my characters directly from a PC. My question is whether the CM-5 does anything like acceleration/deceleration curves or any other pre processing of that sort, or is all that done in the AX-12 itself?

Mark
Mark_L
Newbie
Newbie
Posts: 3
Joined: Mon May 21, 2007 2:13 am

Post by Bullit » Mon May 21, 2007 3:15 am

Post by Bullit
Mon May 21, 2007 3:15 am

The bioloid firmware creates s-curves from the ATMega128/CM5.
The robotis servos have velocity, torque, complaince slope and margin control but velocity and torque are closely linked in the servo and there is no acceleration control at that level. Take a close look at the specifications.
The bioloid firmware is easliy controlled from a serial port to playback complex sequences and I think it could make an excellent animatronic controller.
On the other hand you could interface to the servos from a pc directly with an FTDI USB interface device as discussed in the forums here and communicate directly to the servos at 1 megabaud. You would have to produce acceleration curves yourself on the PC to do it but it would work.
The bioloid firmware creates s-curves from the ATMega128/CM5.
The robotis servos have velocity, torque, complaince slope and margin control but velocity and torque are closely linked in the servo and there is no acceleration control at that level. Take a close look at the specifications.
The bioloid firmware is easliy controlled from a serial port to playback complex sequences and I think it could make an excellent animatronic controller.
On the other hand you could interface to the servos from a pc directly with an FTDI USB interface device as discussed in the forums here and communicate directly to the servos at 1 megabaud. You would have to produce acceleration curves yourself on the PC to do it but it would work.
Bullit
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 291
Joined: Wed May 31, 2006 1:00 am
Location: Near robot

Post by Mark_L » Mon May 21, 2007 4:14 am

Post by Mark_L
Mon May 21, 2007 4:14 am

That's a bit of a bummer! I'm not sure I want to venture into that sort of control calculations myself. Too bad the CM-5 doesn't have a simple pass through mode that would include the s-curves. Does anyone have any information on how the CM-5 implements these s-curves? I would also be interested in knowing what the structure of the programs produced by the BCP look like. Thanks for any information.

Mark
That's a bit of a bummer! I'm not sure I want to venture into that sort of control calculations myself. Too bad the CM-5 doesn't have a simple pass through mode that would include the s-curves. Does anyone have any information on how the CM-5 implements these s-curves? I would also be interested in knowing what the structure of the programs produced by the BCP look like. Thanks for any information.

Mark
Mark_L
Newbie
Newbie
Posts: 3
Joined: Mon May 21, 2007 2:13 am

Post by limor » Mon May 21, 2007 9:29 am

Post by limor
Mon May 21, 2007 9:29 am

Hi Mark,

The Bioloid has now an addon module called USB2Dynamixelthat allows you to directly control the servos from the PC at high speed. (there's a thread on this forum discussing how to build such a module for the soldering inclined)

You can renounce to the PD control used inside the Robotis servos to create the holding position effect.

What you can do instead is control the motor direction and amount of voltage given to the motor (this is actually the speed parameter). You can change these parameters at a rate of over 100 times/sec while sampling the position of the servo POT. so this is fast enough to create speed control.

I couldn't find a specific reference to s-curve associated with animatronics in google. can you please explain what you mean by that.
Hi Mark,

The Bioloid has now an addon module called USB2Dynamixelthat allows you to directly control the servos from the PC at high speed. (there's a thread on this forum discussing how to build such a module for the soldering inclined)

You can renounce to the PD control used inside the Robotis servos to create the holding position effect.

What you can do instead is control the motor direction and amount of voltage given to the motor (this is actually the speed parameter). You can change these parameters at a rate of over 100 times/sec while sampling the position of the servo POT. so this is fast enough to create speed control.

I couldn't find a specific reference to s-curve associated with animatronics in google. can you please explain what you mean by that.
limor
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1845
Joined: Mon Oct 11, 2004 1:00 am
Location: London, UK

Post by limor » Mon May 21, 2007 9:58 am

Post by limor
Mon May 21, 2007 9:58 am

Ok, found some docstalking about s-curves in the context of servo control.

So indeed you can create smooth speed curves with Robotis servos but not through the default software scheme. You would have to program the speed control by creating the closed loop control yourself (see example).

I'd be very interested in learning about any hobby servo that allows this kind of speed control.
Ok, found some docstalking about s-curves in the context of servo control.

So indeed you can create smooth speed curves with Robotis servos but not through the default software scheme. You would have to program the speed control by creating the closed loop control yourself (see example).

I'd be very interested in learning about any hobby servo that allows this kind of speed control.
limor
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1845
Joined: Mon Oct 11, 2004 1:00 am
Location: London, UK

CM-5 Function Question

Post by Mark_L » Mon May 21, 2007 2:32 pm

Post by Mark_L
Mon May 21, 2007 2:32 pm

A long time ago I implemented speed control in hobby sevrvos by simply dividing the desired travel distance (in 2 usec pulse width increments) by the time I wished it to take to move (in 20 msec update increments) and incrementing or decrementing the pulse width as appropriate. Crude, but effective - any choppiness was smoothed out by the load. No feedback.

I guess I could do the same with the AX-12.

Mark
A long time ago I implemented speed control in hobby sevrvos by simply dividing the desired travel distance (in 2 usec pulse width increments) by the time I wished it to take to move (in 20 msec update increments) and incrementing or decrementing the pulse width as appropriate. Crude, but effective - any choppiness was smoothed out by the load. No feedback.

I guess I could do the same with the AX-12.

Mark
Mark_L
Newbie
Newbie
Posts: 3
Joined: Mon May 21, 2007 2:13 am

Post by Bullit » Mon May 21, 2007 5:11 pm

Post by Bullit
Mon May 21, 2007 5:11 pm

Here's a little information I put up on the tribotix forum that you may find of use.
Here's a little information I put up on the tribotix forum that you may find of use.
Bullit
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 291
Joined: Wed May 31, 2006 1:00 am
Location: Near robot


7 postsPage 1 of 1
7 postsPage 1 of 1