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

Combining motion editor with lower-level programming

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

Combining motion editor with lower-level programming

Post by dmichaelson » Wed Dec 20, 2006 7:19 pm

Post by dmichaelson
Wed Dec 20, 2006 7:19 pm

Hi all,
I just bought a Bioloid and I'm waiting for it to arrive...

I'm a pretty good programmer and have played with a Basic Stamp before, but this is the first time I've used a robot. In other words I have no experience yet with kinematics. Given that, could someone summarize my options if I want to program the Bioloid in a more "open source" or lower-level way for sensor input and logic, but without needing to get "low-level" for motion? I know that there is a C API available for the network protocols to talk to the servos.. but what about to run an entire pre-posed gait?

In particular, I'm thinking that to be able to use the Motion Editor GUI to pose the robot and capture those poses, is a pretty good way for me to start.

My question is, if I try to program the CM5 directly in C, do I still have access to those posed motions/gaits that I've made, via some kind of API?

Or alternatively, what if I use a Gumstix or such to talk to the CM5 via serial, perhaps leaving the CM5 with the stock firmware? Do I have access to the gaits in that case, and are there limitations to this approach?

I assume that the idea of replacing the CM5 altogether with a more powerful processor, is not really well advised in my case.

Or in all those cases, do I need to move each servo one by one in my code?

For example, let's say I try sticking a webcam on the Bioloid and decide to do motion tracking using a second processor that's more powerful than the one in the CM5 (or even using Zigbee to have a desktop do the image processing). Ok, I could probably manage to program image processing like that using what I already know. But then, I want the Bioloid to walk toward the object identified by that non-CM5 processor, using a gait that I designed interactively by posing the Bioloid. What's the best approach (or maybe there's more than one), to integrate this?

Thanks,
Dan
Hi all,
I just bought a Bioloid and I'm waiting for it to arrive...

I'm a pretty good programmer and have played with a Basic Stamp before, but this is the first time I've used a robot. In other words I have no experience yet with kinematics. Given that, could someone summarize my options if I want to program the Bioloid in a more "open source" or lower-level way for sensor input and logic, but without needing to get "low-level" for motion? I know that there is a C API available for the network protocols to talk to the servos.. but what about to run an entire pre-posed gait?

In particular, I'm thinking that to be able to use the Motion Editor GUI to pose the robot and capture those poses, is a pretty good way for me to start.

My question is, if I try to program the CM5 directly in C, do I still have access to those posed motions/gaits that I've made, via some kind of API?

Or alternatively, what if I use a Gumstix or such to talk to the CM5 via serial, perhaps leaving the CM5 with the stock firmware? Do I have access to the gaits in that case, and are there limitations to this approach?

I assume that the idea of replacing the CM5 altogether with a more powerful processor, is not really well advised in my case.

Or in all those cases, do I need to move each servo one by one in my code?

For example, let's say I try sticking a webcam on the Bioloid and decide to do motion tracking using a second processor that's more powerful than the one in the CM5 (or even using Zigbee to have a desktop do the image processing). Ok, I could probably manage to program image processing like that using what I already know. But then, I want the Bioloid to walk toward the object identified by that non-CM5 processor, using a gait that I designed interactively by posing the Bioloid. What's the best approach (or maybe there's more than one), to integrate this?

Thanks,
Dan
dmichaelson
Newbie
Newbie
Posts: 5
Joined: Wed Dec 20, 2006 1:00 am

Post by limor » Wed Dec 20, 2006 8:19 pm

Post by limor
Wed Dec 20, 2006 8:19 pm

Hi congrats on getting a Bioloid.

The standard firmware provides a text based protocol over the serial line at 57600bps. The commands available are all the ones listed in the documentation.
This is a great solution if you want to control your robot from the PC or a gumstix or whatever over bluetooth/ZigBee and happy with relatively low updates/sec.

If you need speed/position updates at 100hz or some logic to reside inside the board, then you have to dump the standard firmware and write your own embedded code and implement the Robotis protocol (not too bad, it will be posted and documented here shortly)
Hi congrats on getting a Bioloid.

The standard firmware provides a text based protocol over the serial line at 57600bps. The commands available are all the ones listed in the documentation.
This is a great solution if you want to control your robot from the PC or a gumstix or whatever over bluetooth/ZigBee and happy with relatively low updates/sec.

If you need speed/position updates at 100hz or some logic to reside inside the board, then you have to dump the standard firmware and write your own embedded code and implement the Robotis protocol (not too bad, it will be posted and documented here shortly)
limor
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1845
Joined: Mon Oct 11, 2004 1:00 am
Location: London, UK

Post by dmichaelson » Wed Dec 20, 2006 9:01 pm

Post by dmichaelson
Wed Dec 20, 2006 9:01 pm

limor wrote:The standard firmware provides a text based protocol over the serial line at 57600bps. The commands available are all the ones listed in the documentation.
This is a great solution if you want to control your robot from the PC or a gumstix or whatever over bluetooth/ZigBee and happy with relatively low updates/sec.


Thanks, that sounds like a good way to go for starters. Do you mean that all the "BCP" commands can be sent to the CM5 in realtime over serial? Meaning I can send "LOAD MOTION 5" or something to start it walking, and "LOAD MOTION 4" when I decide I want to stop it?
limor wrote:The standard firmware provides a text based protocol over the serial line at 57600bps. The commands available are all the ones listed in the documentation.
This is a great solution if you want to control your robot from the PC or a gumstix or whatever over bluetooth/ZigBee and happy with relatively low updates/sec.


Thanks, that sounds like a good way to go for starters. Do you mean that all the "BCP" commands can be sent to the CM5 in realtime over serial? Meaning I can send "LOAD MOTION 5" or something to start it walking, and "LOAD MOTION 4" when I decide I want to stop it?
dmichaelson
Newbie
Newbie
Posts: 5
Joined: Wed Dec 20, 2006 1:00 am


3 postsPage 1 of 1
3 postsPage 1 of 1