What is needed for an animated biped robot

For my project (https://www.robotshop.com/letsmakerobots/pet-work-progress) I need complex behavior and nice animation. My example is the NAO robot (http://www.aldebaran.com/en).

One of the things I am thinking of is mixing animation layers. Say you have one animation layer that does a basic biped walk. And another layer contains a balancing correction. And a third layer might contain head movement. Let's call them A, B and C.

Depending on the logic, I want to mix those layers. At a certain moment the mix could be 100% A + 10% B + 50% C. So all individual servos should be a mix of the values in each layer.

Some layers run in a loop, like the walking. Others run only once, like some gestures.

Now to program this all, I need logic on the board and on my computer. I have found the flowbotics studio software (http://www.flowbotics.com/learn-more.html). And atmel studio (http://www.atmel.com/microsite/atmel_studio6/).Also I have subscribed to aldebarans documentation (https://community.aldebaran.com) to get access to the NAO documentation. The last is actually the platform I would like, but of course it is dedicated to the NAO. Isn't there an open source platform that does this all?

I also need to figure out what hardware I need. It is clear that a microchip from the arduino is way to limited :).

note to self

bdk6 tipped me these topics
http://www.ros.org/
http://en.wikipedia.org/wiki/Subsumption_architecture

and mtripletts work:

https://www.robotshop.com/letsmakerobots/user/20389/pages

Start simple

Simple, in this case being a relative term.

The Arduino line has many years of life in them for robots and many other applications.

When your robot is working and obviously in need of a faster microprocessor, or more memory, or more I/O points, only then would I consider leaving the Arduino ecosystem. There is more support and pre-written debugged code for Arduino than any other.

In very complex robots, the architecture is normally split between a real time embedded controller (like the Arduino) for tasks like motor control and sensors, and a computer with an operating system (like the Raspberry Pi)  for high level functions like path planning, vision, and advanced behaviors.

The high level computer then only needs a very abstract notion of the robot it is controlling.

The low level controller is very much the responsibility of the designer to fit to the capabilities and limitations of mechanical system.