(mostly opinion)
> So, quick question.. what is the most that you could achieve through programming a Pleo?
As far as custom personalities, IMHO the abilities of Pleo have been greatly underutilized so far. Someone with time on their hands, a little Pawn programming and lots of trial-and-error could come up with a really good personality that runs on all the Pleos (not just the new ones).
> I assume there are limits, but what are these limits?
What do you consider a limitation?
PLEO does a great job at running simple personalities that replace the built in personality. If you live within the existing programming tools (PAWN), existing memory, existing color tracking, existing sound detection, existing leg movement (etc) you can do a lot.
IMHO Developers have greatly underutilized the possibilities of the hardware. The demo personalities are very simplistic. Unfortunately the regular personality isn't that much smarter (ie. the PLEOPM personality in 1.x or 2.x versions).
If you are looking for limitations, I can give you a ton of them.
Several examples of things Pleo doesn't do well, or at all:
- Non-trivial modifications of the personality (other than complete replacements or partial tweeking via mirroring)
- Programming in anything except for PAWN
- Voice commands and/or recognition (or any change in the built in sound detection behavior) - perhaps the Pleo RB changes that a little
- No custom visual tracking (or any change in the built in camera color detection behavior)
- Pleo can't roll over. Pleo's legs are not designed to roll over.
- RAM is tight, so big programs that need a lot of RAM will never run on a PLEO
- Pleo can't beat Ken Jennings in Jeopardy trivia
(I could go on)
But if you are willing to work with what Pleo does well, they aren't limitations.
Or to put it another way: If you try to do too much or think of Pleo as a general purpose reprogrammable robot, then you will be disappointed. There are open-source general purpose robot platforms out there that have many more technical capabilities, but they aren't as cute as Pleo.
---
My advice:
Please try to define a problem first, then try to implement it on Pleo. For really simple personalities try YAPT (
http://www.aibohack.com/pleo/yapt.htm). For custom motions try MySkit (
http://www.dogsbodynet.com/myskit/index.html ).
For more elaborate logic, or low level robotic stuff, try the PDK.
Often the best way to find a limitation of a technology is to try to use it. Sometimes the limitations can be worked around, or sometimes you can refocus the problem to work better within the limitations.