Report of Alion project

Do you have motion tracking tools? Ideally, a mocap system would be very useful, but it is expensive.
Seems like Poppy Humanoid is trackable with the kinect. Did you try on Alion?
An alternative is to explore the use of QRCodes and visual tracking.

For motion tracking, for the moment I use just a camera. But my first objective is to have software tracking, but it is on the road :wink:
I note for kinect, it seems to be the best alternative I see even if I never used it.

New BIG update:
My project was funded by Mairie de Toulouse so as to have a smarter robot
 Therefore, I have all components to build the legs of Poppy.
(It lacks me just few robotis frames on the way)
Moreover, I work on the soft part about real-time control with synchronous data flow architecture. This architecture allowed me to program my old robot very efficiently but it lacks still one thing.
This thing is trajectory computation. After the Russ Tedrake course, it appears that designing an optimisation controller is a good thing. The optimisation algorithms used are “quadratic programming” but the system is very non linear here.
I had a course about evolutionary algorithms at INRIA North concerning CMAES algorithm. I am thinking about crossing all of these. If you know papers about this I am very interested.
Finally, the last part in progress is that I have legs
 But no foot. I am then thinking about foot design using 3D printing. My search about puppetry helped me a lot!
I just have two questions:
About Arduino interface with Pypot, is there any tutorial ? Or should I open a simple serial port and manage my own bus?
About the pelvic link of Poppy, I am looking for the one of version 1.0 which seems very robust with 3 parts. Can you send me a link to the STL ? If you are not working on it.

And after playing with one leg, Poppy is a little monster
 Take care about fingers :smile: it is a great work. I wish I will give contributions as far as I can.

2 Likes

Hello @Thot !

Many questions :slight_smile: Just a comment on CMA-ES: this is indeed a very efficient and easy to use optimization algorithm. I recommend you play with the Python implementation of it: https://www.lri.fr/~hansen/cmaes_inmatlab.html

Best,
Pierre-Yves

1 Like

Hi @Thot,

Regarding trajectory optimization using CMA-ES you should have a look at Freek Stulp work: http://perso.ensta-paristech.fr/~stulp/

He wrote a series of papers on this topic. I am familiar with this one, which is quite short and understandable:

Freek Stulp and Pierre-Yves Oudeyer. Emergent Proximo-Distal Maturation through Adaptive Exploration. In International Conference on Development and Learning (ICDL), 2012. Paper of Excellence Award

He also developed a C++ library for this: https://github.com/stulp/dmpbbo

1 Like

Nevertheless as @oudeyer said, there is a python implementation for CMA-ES. Regarding Dynamic Movement Primitives (a powerful trajectory generation and control framework, used in the Stulp’s paper above) you should check this very interesting blog, which also provides a nice python implementation: http://studywolf.wordpress.com/ (the 3 posts about Dynamic Movement Primitives)

1 Like

Can you give me some details on this? Or even see some codes ^^

At the moment the way it’s done for the poppy humanoid is as you said just opening a serial port and managing the bus yourself (see this file for an example).

The “right” way to go, or at least, what I think would be a better solution, would be to write a dedicated IO and the associated controller for communicating with an Arduino board.

1 Like

Thanks for your answers, the python CMA-ES library is very well done. There is the possibility to call the evolution function outside the loop “fmin” using the method CMAEvolutionStrategy.tell(f,x).
I wanted to call the algorithm at each time step, and it is possible. The effort must be done in the cost function.

Waiting for my legs, I have taken robot arms with AX-18 to test this strategy


I will do a documentation when it will be more stable on the wiki.

2 Likes

The new Alion :smiley:

5 Likes

Beautiful !!! So nice “collants” and shoes :))))

I just wanted to give some feedbacks about Poppy (beta version) legs mounting. Maybe it is resolved in v1.0 but they are not blocking points:

  • The servo motors MX-28/64AT with an aluminium plate are very good servo motors, not too hot, and there is no need of nuts on only one side. BUT take care not to force on the screws, once the screw is broken, it is not possible to remove the remaining screw in the thread hole. (I have broken 2 screws)
  • the ankle MX-28 servo motor mounting has very few tolerance. Once it is inserted in the “leg” component, it is not possible to remove it.
  • The wire between knee servo motor and thigh servo motor (which is along the thigh) is 200mm long. It seems to be too short when the robot sits down. I have made my own wire a bit longer.

I will mount the upper body in a few moment. I will report any issues.

Yep I raised an issue here: Increase tolerances for the shin/motor assembly · Issue #2 · poppy-project/Poppy-lightweight-biped-legs · GitHub

In the kit, it will have custom wires, a bit longer, for the legs.

For the upper body, do you plan to use the 1.0 or the beta version ?

I will use the v1.0 version (I have also taken the v1.0 pelvis which is smarter). I keep the beta legs which are OK.
I also try to design the foot by myself
 not easy but funny.

1 Like

Ok perfect, it will be easier to support your project like this

:smiley:

7 Likes

The dance shoes are fitting Poppy Humanoid very well!

Poppy for the first time on stage at Centre de Développement Chorégraphique of Toulouse.
:grinning:

3 Likes

You have a battery in this setup?

Sorry, it was just a photo of the robot on stage. There is no power. :wink:

Hi Thot,

Quickly a movie with poppy dancing !