Playing a Game with Poppy

Hey Guys, just wanted to share my initial progress with my project. I am still working on creating more sophisticated gestures. For now I am only playing with the arms while the head is tracking the location of my face.

I have been having some issues with the knee motors overloading when the robot is kneeling. Has anyone had these issues?


Great demo ! Concerning the knees, I advise you to set knees compliants.

I just posted another video showing smooth face tracking as I move around. The system will latch on to the first face it detects, so even if another face pops up behind me, the robot will ignore his face and continue tracking me only.

Some advise to anyone trying to do this. Keep the neck movement speed to the absolute minimum slowness. I had to put it at “25” to get smooth tracking.

1 Like

Hi Thot,

Thanks for the feedback and advise. If you dont mind me asking, what exactly is knee complaints?

If you use pypot library, you can make :
Robot.r_knee_y.compliant = true (idem for left)
That means your motor is switched off and the knee is set on mechanical stop and will not force anymore during kneeling.
Idem for the ankles

Oh thats amazing. Do you know what is the dynamixel command that does this?

Has to be one of these parameters in the dynamixel library:

Unfortunately I am not using pypot, I have made all my controls from scratch and used the dynamixel API.

It is 24 : “Torque enable”.

Oh Ok, I already do that and I have the max torque set at 1023 which is the maximum. Still for some reason I got an overload error a few times. Now I am working on the robot for the last 45 minutes and so far no problems. Weird!

1 Like

Your work is amazing, it is a shame you are not using Pypot at it would be easier to be integrated in any Poppy robot afterward.

Maybe is there a way to modularize your work so it interacts with the Pypot API (instead of Dynamixel API) for the robot control ?

Thanks Matthieu, It probably can be ported. But the problem is that I do not know anything about python or how to set it up or pypot. With time maybe because it will take me time to figure things out.

On the hand, I will be posting on the forum soon an algorithm I have made for smooth recording/playing of gestures. It can record with variable resolutions from 50ms to 5 seconds and automatically calculates the required speed to move from position A to Position B along each recorded resolution cycle. This way we can replicate the exact 100% movement speed when you manually record a movement.

Actually my issue with my algorithm was human! When I moving the arms with my hands trying to record a gesture, I would get some abrupt movements mainly because I didn’t move the poppy smoothly. I then had to tweak the recorded values to make it more “smooth”, but someone with more steady hands can get it perfectly I think.