Vidhur Vohra (Main writer of this wiki page)
First Week of Pleo
It was fun playing with the Pleo. Some of the fun things I learned about it are
- Pleo doesn't like to be put on its back, it will whine.
- Pleo doesn't like to be picked up by its tail, it will whine.
- If you put something in its mouth, it'll start to make eating noises.
- Sometimes it feels as if Pleo is able to look in the direction of someone saying something, but only if the room is quiet. But this seems random, and not confirmed for sure.
- Sometimes Pleo will start to try to play tug of war with you when you put something into its mouth.
- If you leave it on a table, it will walk until it reaches the edge. Then it will stop and go backwards.
- The Pleo will detect obstacles in front of it and stop walking in that direction, such as a wall or a door.
- It's possible to download themes for the Pleo, one being a Godzilla mode. In the Godzilla mode, Pleo walks and makes rawring sounds and tries to hit things with his nose.
- If you hold Pleo by the head or neck it will start to make choking noises.
Today we had a group meeting and configured out computers to build/run MiGIO. After initial problems with COM ports we were able to run MiGIO and see the various sensors readings on the program. We also realized that the flash card had to be inserted for the program to work. Our goals for our next meeting is to understand MiGIO and look further into the documentation.
Today we were finishing configuring our computers to work with the Pleo. There was a problem that was mentioned in class about the XBee. Specifically the Pleo likes to receives ASCII characters within a certain range, but using the XBee unit would introduce some corruption of data. So there would be a way needed to fix this. Our initial ideas were to maybe use an Arduino or something similar to check the data received by the XBee receiver before forwarding it to the Pleo. However, Shahrukh was able to find information about what could be possibly wrong.
Please pay attention to the fact that Pleo is very RF-noisy. That means you want to keep the wires in the connector you just built short and well shielded. Wrap the wires with an aluminum foil (get some from a candy, not shown on the picture) without shortcutting the contacts. (From RoboStuff [Link])
So after obtaining some aluminum foil, we began to test the unit, however there was a problem. Taking out the XBee connection was a bit difficult, and we ended up ripping it, but it still fits. Additionally, the connection for the wireless unit was also placed inside of the chest of the Pleo which made it hard to reach. Even on top of that, the part of the connector that snaps it into the female connector was shaved off. Evan talked to Mike about this and Mike had said that this was done because if the connectors were still there the plug would not be able to be taken out. While trying to put in the connector, Shahrukh accidentally ripped out the wires and so we will have to possibly re-cut and fix them into the Pleo somehow.
We've decided to try to re-crimp the wires, however we didn't have the necessary tools to do it today. Another issue we're having is figuring out what exactly is the difference between PAWN and MiGIO, or just how to send commands in general. We know we can use AVRTerminal to connect (which we aren't having much success with, initially commands work but then everything freezes up) and send individual commands, but we're figuring out where we need to start programming things. We could use the MiGIO code and instead of having Pleo rotate its tail, put our own code in there.
We were able to to crimp the wires, however we got the pins initially wrong, so we had to solder one of the wires because it was hard to pull out. Unfortunately when trying to connect the XBees and trying to "Test/Query," there was no response. After reading the wiki page and temporarily giving up, I decided to turn to Google and see what other websites have about Pleo.
One of the surprising things is the small, yet passionate community around the Pleo. I was able to find a forum called "Bob The Pleo" Forums [Link] which had owners of the Pleo. Bob the Pleo [Link] is actually a webcomic, but the forums are a great source of information. Here are some highlights of the links:
- Post with many links relating to Pleo, even some for clothing for your Pleo. The most interesting links on this page are the third party tools, which is discussed later. [Link]
- PVS, Battery Diagnostic Tool. Program to check the status of battery [Link]
- Information about the rise and fall of Pleo. Also contains a video link. [Link]
Links to other sites I want to explore eventually:
One piece of information I have learned is that it's not feasible to get the audio/camera sensors output through the serial port because the serial port is to the first processor and the audio/video is handled by the second processor. Additionally, the Pleo's skin is vulnerable to wearing down, Pleo #2's skin is looking a bit worn at certain parts.
Third Party Tools
There are third party tools which exist for the Pleo. Some of these allow you to trigger certain actions by simple things such as a triggering a sensor. For example, you can have Pleo make growling sounds just by touching his back. However, these are mainly geared toward non-CS people so the interface is very simple to use. But some have more advanced features. One thing to remember is that none of these programs will be able to permanently change Pleo. Everything is stored on a flash memory card and is just temporary. Once you take out the memory card, Pleo goes back to its normal state, or known as LifeOS. Therefore, nothing very advanced is made by using these third party tools, the Pleo isn't made to be very, very customizable.
However, the tools are very good. There seem to be mainly four:
- Dino-MITE (Bauer Independents): (Website is down, but is available on forums) [Link]
- MySkit (dogsbodynet.com) [Link]
- Pleopatra Tools (Website is in German) [Link] And forum post. [Link]
- YAPT (aibohack.com) [Link]
Dino-Mite seems like a great alternative to AVRTerminal or anything. Over the usb port this program is great to send/receive.
A very good program, it allows for the manipulation of the joints through a GUI. It's also possible to edit the sounds made by the Pleo. After editing is done, it is required to write the proper files to the memory card which must be inserted into the Pleo. So far I've taken the "walk" csv file and make it three times as long so Pleo will walk. Once I wrote the proper files to the memory card, (play around with the Edit-> Preferences for pointing to certain directories) my Pleo was working. After taking some time to turn on, the Pleo would immediately begin walking.
This tool is made by someone in Germany, however because the program is really new and there isn't a release version on the website, but it's possible to email the owner for a beta release. I have emailed the address listed on the website and got a response saying that the owner had taken down the project from Sourceforge due to its politics and would shortly be uploading the program to the website.
A very simple tool, which doesn't let you do much besides just set reactions to trigger sensors, but this tool allowed me to see the all the possible actions/motions/sounds that a Pleo can do normally, very cool. When I first used this tool I saw a very interesting program called P3D Performance Player. This program allows you to open up various file types that relate to the Pleo, such as
- Pleo workbooks (.pleo)
- Pleo motion files (.umf)
- Pleo CSV motions (.csv)
- Pleo sound files (.usf)
The P3D Performance Player program looks like this:
It looks very good for simulating movements, this might be a great way to make movements and maybe export them in a certain format and have our code use the "walk" motion for example. Previously I thought we would have to make the code for that, but this tool might make things much, much easier.
We've gotten our Pleo to turn and walk! We've posted a video onto the blip page. [Link]
Video Description: Team Granfalloon Demo #1:
Basic Movements Forward/Backwards with Left/Right
Leg sensor turns the Pleo in that direction. (e.g. right shoulder -> forward right)
Chin tap -> longer turn
Back tap -> straight walk
This week we've been exploring MySkit further and got a better understanding of the program. There was initial concerns that moving the servos too fast would damage the Pleo, but reasonable movements are still possible.
One thing we have noticed is that our Pleo's joints don't have full range of movement. For example, the left hip never extends past 34 degrees while its max is 45 degrees. Also, the head of our Pleo is always slightly off center and hangs to the lower left.
Our next week's goals are to manipulate the joint movements for turning for various angles and look into seeing Pleo can climb anything. And also look into audio/video capabilities from the Pleo.
Evan has been able to do initial tests and take various pictures and find lemons, but this is a very basic search, not at all complete.
Wireless communication has still yet to work, but we're reconnecting the wires and trying again soon this weekend. Once we can get wireless to work, that will help increase the use of Pleo by allowing us to send commands instead of having to write files to a flash drive every time we want to test something.
- Hack a Day Articles [Link]