Poppy Ergo with Raspberry Pi 3

Hello, I tried to install poppy software on a raspberry pi 3 using instructions here https://github.com/poppy-project/raspoppy. I was expecting to start from here and install poppy-ergo via “pip install poppy-ergo”. All goes well but when I try to get access to the robot via jupyter I got this error message :


ImportError Traceback (most recent call last)
in ()
1 # Create Ergo Creature
----> 2 from poppy.creatures import PoppyErgo
3 ergo = PoppyErgo()
4
5 # Release All Motors

ImportError: cannot import name PoppyErgo

Any help ?

It seems that I had to go back to poppy-creature 1.7.2 and poppy-ergo-jr 1.5.2 (this works on RPi2, I try right now on RPi3

It also works on RPi3 :slight_smile:

Whatch out! The RPI3 don’t have clock independant UART on the main header, you could have somes problem to communicate with XL320 using Pixl board. If it’is your case you can manage it with “device tree” and use the uart of bluetooth…

The issue come from PoppyErgo != PoppyErgoJr, and PoppyErgo was not in existing creatures, the issue should be fix soon (I made a PR). Thanks for the report.

Thanks @Theo, checking the poppy-creature files would have been my next step :slight_smile:

@Nicolas could you be more precise ? Do I understand that they dowgraded the UART capabilities from RPi2 to RPi3 ? And if so is there a step-by-step procedur to switch to the BT UART ? and does this mean we cannot use BT and the Pixl Board at the same time ?

While my question was about Poppy Ergo (the orginal one), I intend to work also with the Ergo Jr so I’m very intersted to know more about this.

The bluetooth on the RPI3 need to comunicate with the main processor by UART so they choose to use a “mini UART” on the official uart pinout. The “mini UART” don’t have fixed speed communication and this is not working with robotis motors. To use Pixl you will need to “overlay” the uart of the bluetooth, to be more explicit you need to disable your bluetooth to communicate with dynamixel motors through a Pixl.

Raspberry do something to simplify the workaround from the Raspbian Jessie release dated of 2016-03-18.

If you have this realease or a upper one use this tutorial, else use this one.

We work on a new board called Hipi who permit to use bluetooth and communicate with many kind of robotis servos.

Excellent, thanks for all those informations. It’s good to see such vitality on the project.

I still need to clean and publish the OSC implementation I’ve done for both PoppyHumanoid and Ergo. But this is another subject.

Thanks a lot for your answers :slight_smile:

Hi,
What is “OSC implementation for Poppy Humanoid” ?

OSC or Open Sound Control (http://opensoundcontrol.org) is a network protocol used in many art and multimedia application. It allows communication of basic data beetween devices and programs mostly over udp. It’s implemented in many porgramming environment such as : pure data, max/msp, vvvv, processing, arduino, python…

I developped a python script to control a Poppy Humanoid last september and a Poppy Ergo last week. It allow me to use extended control over those two Poppy Creature thru Max/MSP which dispatch information from many devices : DMX Lights, Kinect, Wiimotes, Keyboards, Voices, Myo Armband, HID Controller, etc… Max/MSP is my main prototyping IDE actually.

I’m not an expert with python so it’s very rough for now, and I’d like to clean it to get at least a primitive for each creatures.

2 Likes

Tested today with RPI 3 using the tuto you mentioned. It works with no need to overclock the uart (for 1 000 000 bauds) like you had to do with RPI 2 :slight_smile:

With 6 motors (poppy-ergo-jr) I can reach 174 Hz for a get_present_position.

1 Like