|Software: FLTK «Nao» Einstein HomeMatic|
Making Nao balance and walk well
Nao is an awesome little robot with all the motor skills and sensors that you can expect from a serious robot project in 2012.
My goal is to create a sense of balance for the little (60cm) biped that can scale up to much larger robots as well. For this, the robot needs to use its sensors to know its position in space and what surface is below him. It can then position its joints so that the center of gravity is inside the polygon that touches the ground.
In a second step, I will add inverse kinematics and points of interest that Nao wants to reach with its foot, hand, or head, while still maintaining balance.
The third step will be the introduction of dynamics. This doubles the number of parameters required for calculation and will be a huge step. Talking about steps: at this point, Nao should be able to convert any sequence of foot positions into a fully balanced walk on any surfece.
Downloading what we need (v1.12.3)
Using Choregraphe is out of the question for this task. We need to read sensors and update joints every 10ms. And the only way to do that is with a native library inside Nao's head. So here we go:
I am using Ubuntu 11.10 as a base for native development. I prefer OS X, but Aldebaran has not released a cross compiler for OS X (yet?).
Are you ready? Start you terminal and let's go!
Installing the SDK and cross compiler
Unpack your loot:
Running the movehead test program on your Nao
Prepare Nao for native local applications and libraries. You need to do this only once.
The next chapter
Yes, I know I could have compiled movehead for my computer. I could then save me the effort of cross compiling and copying the binary over. I would not even need to log into Nao. Calling movehead with the right IP would work from any computer.
But this is only the first test. On the next page, I will compile a native local library and make that accessible to Choregraphe.
PS: If you like the headmove so much, you can tell Nao to do it every time it launches. Use your favourite text editor in Nao's terminal. Your choice is nano or vi:
(c) 2012-15 Matthias Melcher