by limor » Fri Mar 02, 2007 10:53 pm
by limor
Fri Mar 02, 2007 10:53 pm
Another option is to use Gumstix. (
www.gumstix.com)
It will upgrade your Bioloid with 400mhz of processing power.
RoboSavvy has sponsored a research at university of Lisbon
Robotics Lab to do sort of what you describe and I've been heavily involved in it the past 5 months.
The objective is to have a configuration that will allow researchers to explore real-time feedback control of the humanoid using the one tool they love most - Matlab and Simulink!
So we are working on the following setup:
1) You create pretty control loop diagrams using Simulink running on PC. You can assume to receive positions/voltage/load from every Bioloid servo (and sensor) 100 times per second and update every servo's direction and speed 100 times per second. ie: Fixed rate control loop at 100hz cycle. [The first step was to use a PC to communicate with the CM5 and to do this control loop at 100hz without the Gumstix. ]
2) Compile the simulink diagram into C code designed for "Linux Target"
3) Cross Compile the resulting source code on the PC and transfer the binary to Gumstix which is inside the Bioloid CM5 block, has a 400mhz Xscale processor and runs Linux.
4) Gumstix communicates with Simulink over TCP/IP acting as a "Remote Target". Simulink can start/stop/Visualise-data by communicating with the Gumstix (over TCP over BlueTooth).
5) Gumstix needs a daughter board to communicate with the Bioloid bus. We are using with a daughter board called - Robostix - which is similar to the CM5 (same ATMega128 so it runs the same code as CM5) but exposes many of the ATMega128 i/o pins. Robostix communicates with the Bioloid bus and passes messages back and forth between the servos and the Gumstix.
6) The control loop runs at 100hz. Gumstix receives position/voltage/load from each servo. Gumstix updates motor direction and speed (voltage) to each servo.
The current state of things is not very presentable but we've got a semi stable working environment and we'll be happy to share what we have. I tried to convince the students to blog their activity but it is proving to be a challenging request. check out the Blog link in the Robosavvy Main Menu tree (on the left)
Also check out some posts here on the forum by JonHylands who has also connected a Gumstix/Robostix to the Bioloid bus.
Another option is to use Gumstix. (
www.gumstix.com)
It will upgrade your Bioloid with 400mhz of processing power.
RoboSavvy has sponsored a research at university of Lisbon
Robotics Lab to do sort of what you describe and I've been heavily involved in it the past 5 months.
The objective is to have a configuration that will allow researchers to explore real-time feedback control of the humanoid using the one tool they love most - Matlab and Simulink!
So we are working on the following setup:
1) You create pretty control loop diagrams using Simulink running on PC. You can assume to receive positions/voltage/load from every Bioloid servo (and sensor) 100 times per second and update every servo's direction and speed 100 times per second. ie: Fixed rate control loop at 100hz cycle. [The first step was to use a PC to communicate with the CM5 and to do this control loop at 100hz without the Gumstix. ]
2) Compile the simulink diagram into C code designed for "Linux Target"
3) Cross Compile the resulting source code on the PC and transfer the binary to Gumstix which is inside the Bioloid CM5 block, has a 400mhz Xscale processor and runs Linux.
4) Gumstix communicates with Simulink over TCP/IP acting as a "Remote Target". Simulink can start/stop/Visualise-data by communicating with the Gumstix (over TCP over BlueTooth).
5) Gumstix needs a daughter board to communicate with the Bioloid bus. We are using with a daughter board called - Robostix - which is similar to the CM5 (same ATMega128 so it runs the same code as CM5) but exposes many of the ATMega128 i/o pins. Robostix communicates with the Bioloid bus and passes messages back and forth between the servos and the Gumstix.
6) The control loop runs at 100hz. Gumstix receives position/voltage/load from each servo. Gumstix updates motor direction and speed (voltage) to each servo.
The current state of things is not very presentable but we've got a semi stable working environment and we'll be happy to share what we have. I tried to convince the students to blog their activity but it is proving to be a challenging request. check out the Blog link in the Robosavvy Main Menu tree (on the left)
Also check out some posts here on the forum by JonHylands who has also connected a Gumstix/Robostix to the Bioloid bus.