PDA

View Full Version : PDK - Pleo Development Kit


pleopot
11-29-2007, 04:00 AM
Hi,

We know that we can enhance Pleo (SDK) .... make it better, adding things ...

What will you do with your Pleo?

What are your plans ... for enhancements or new things for your Pleo?

I will start :

1. I will add feature that Pleo can fart :)

...

:)

PS: I am not sure if this can be done, but I just want to know what people plan of enhancement for their Pleo :)

MyCool
11-29-2007, 05:36 AM
Well, we know we should be able to add our own sound files to customize Pleo but my interest is in the programing side. I'd like to eventually "teach" Pleo to play games. Tall order, I need to make a special flat controller kinda like a Twister game mat for Pleo to interact with the game.

pleoWhisperer
11-29-2007, 08:52 AM
As mentioned in other posts and the discovery pages of this web site, pleo is already programmed to fart. :) Ugobe put a speaker in pleo's rear to make "natural sounds" ;) But MyCool is right. Adding new sound files should be pretty easy.

mweed
11-30-2007, 09:37 PM
A couple of cute programming ideas that have been mentioned:

-- MP3 player
-- Remote control for TV/stereo
-- Motion detector / intruder alarm
-- Metronome
-- Spy cam

pleoman
12-01-2007, 03:41 AM
A couple of cute programming ideas that have been mentioned:

-- MP3 player
-- Remote control for TV/stereo
-- Motion detector / intruder alarm
-- Metronome
-- Spy cam

Hey mweed,

What is a metronome??

ryane
12-01-2007, 05:31 AM
a metronome is a mechanical device, usually a pedulum that creates a perfect timed "click" or count.

cmadmacs
12-01-2007, 09:10 AM
NPO bootcamp. How to be loyal to king teddy and queen sally.

pleoman
12-01-2007, 09:18 AM
a metronome is a mechanical device, usually a pedulum that creates a perfect timed "click" or count.

Thanks for clearing that up ryane!

mweed
12-01-2007, 02:56 PM
Thanks for clearing that up ryane!

The idea that was suggested was to set pleo on top of your piano and have him bob his head back in forth to set the tempo. You would touch the sensor on his right or left leg to make him speed up or slow down :)

kchamster
12-01-2007, 03:31 PM
that's cool! whyd they take it out?

mweed
12-01-2007, 08:05 PM
It' wasn't Ugobe's idea. It was mentioned here in the forums a few months back. You'll discover over time that topics come and go over time and often get brought back up as new people join into the group and don't know what's already been talked about. ;) So plan to hang out with us for quite a while! ;)

Porturtle
12-07-2007, 08:26 AM
Do we know when UGOBE is going to be releaseing the SDK? Aproximately?

I am having so much fun with Pleo but cant wait to dive deeper into his world.

Wayne

roschler
12-07-2007, 09:43 AM
I'd like to know too. But I will say upfront that I'm not looking forward to the crushing guilt I'm going to feel when a Pleo script I write makes him "crazy". :)

PleoWorldHostCami
12-07-2007, 09:43 AM
Do we know when UGOBE is going to be releaseing the SDK? Aproximately?

I am having so much fun with Pleo but cant wait to dive deeper into his world.

Wayne

I'm sorry but as of right now I don't have a definite date. But we'll let you know as soon we know. ;)

Starfire
12-07-2007, 11:01 AM
On another post it the PAWN language was mentioned. Is this what we will need to use for Pleo?

roschler
12-07-2007, 11:14 AM
On another post it the PAWN language was mentioned. Is this what we will need to use for Pleo?

Yes, but my bet is that everything you need will come with the PDK. Pawn is a scripting language so it's up to the vendor (Ugobe) to provided an implementation that integrates with their platform (Pleo). Sigh. I just can't think of Moonwalker as a "platform". Pet? Yes. Platform? No.

PleoPet
12-07-2007, 11:56 AM
You will have to wait for an official PDK release to do true programming for the Pleo (or some renegade tool)

You can get started with "PAWN" now, especially if you aren't too familiar with C/C++.
There is a free download for the PC version. http://www.compuphase.com/pawn/pawn.htm
This will get you familiar with the language (very C-like but typeless), the IDE and other tools etc.
It comes with some simple 'printf' examples which will teach you the basics. You compile and run them on your PC. Don't bother with GUI/GTK libraries.
Nothing specific to the Pleo robot function calls of course (that will come in the Pleo SDK eventually), but a good place to get started.

wizard
12-08-2007, 11:17 PM
I must say, there have been many interesting and exellent suggestions here. But, I would be more interested in seeing improvements that make Ardeo more real and lifelike. My other pets cannot talk, Ardeo shouldn't. When we tell a dog to speak, it doesn't give the Gettysburg Address, it barks. What our plets (pleo-pets) should be able to do is recognize a limited number of voices, and be able to be taught a few words, including his/her name. We teach a dog to beg by holding a treat up for it and coaxing the proper behavior...let's develop that here. Most depictions of sauropods indicate they could stand on their hind legs to reach higher branches...'beg' would be a good one to be able to teach our plets. Mapping out an area such as a room or the house should not be all that difficult. I have not yet seen how much memory is in a Pleo, or how much is available for expansion, but there are storage techniques that would make the above quite feasible even with a limited amount of space. A 2 GB SD card can hold a LOT! So...where can I find the specs on the OS and the guidelines for writing the expansion modules?

PleoWorldHostCami
12-09-2007, 05:49 AM
I must say, there have been many interesting and exellent suggestions here. But, I would be more interested in seeing improvements that make Ardeo more real and lifelike. My other pets cannot talk, Ardeo shouldn't. When we tell a dog to speak, it doesn't give the Gettysburg Address, it barks. What our plets (pleo-pets) should be able to do is recognize a limited number of voices, and be able to be taught a few words, including his/her name. We teach a dog to beg by holding a treat up for it and coaxing the proper behavior...let's develop that here. Most depictions of sauropods indicate they could stand on their hind legs to reach higher branches...'beg' would be a good one to be able to teach our plets. Mapping out an area such as a room or the house should not be all that difficult. I have not yet seen how much memory is in a Pleo, or how much is available for expansion, but there are storage techniques that would make the above quite feasible even with a limited amount of space. A 2 GB SD card can hold a LOT! So...where can I find the specs on the OS and the guidelines for writing the expansion modules?

Hi wizard,

Please see the FAQ's concerning some of these issues at: http://pleoworld.com/support/faq?section=software

UGOBE is working very hard to get the Pleo Developers Kit (PDK) ready as soon as possible and that should help you as well. :D

I also think you will find many conversations in these forums as well, once your fellow programmers decide to start experimenting with Pleo.

oneasiaweb
12-09-2007, 10:09 AM
The next step after SDK became available is to organize soccer match for Pleo.

Oneasiaweb.

cmadmacs
12-09-2007, 10:57 AM
I love the idea. Is it possible? I brought this idea up a while back. One of the forum members said they didn"t think it was possible.

BauerMECH
12-09-2007, 12:02 PM
Abio's have had their own autonomous soccer events at RoboGames in San Francisco. Their code was modified to track the ball, avoid the opponent, pass it to one another, and score goals. Pleo already has the hardware to do the same, but he would have to be programmed to do it ... programmed into a "Pleo jock" ;) Back in '06 Dan Albert and I set up the Robonova-1 soccer players for RoboGames. This being our first attempt at trying something like this, the halves were long as the robots navigated around the field rather slowly and frequently fell on their faces. I can see the same thing happening with Pleo-based soccer tournaments (though having four legs helps keep them from "falling on their faces", but there will be other similar obstacles to overcome). It will be a slow game starting out; but as time went on, walking gaits will increase in speed, and his abilities and reactions would improve with user-modified code.

cmadmacs
12-10-2007, 12:36 AM
Thanks BauerMECH for that answer.

Lu Bu
12-14-2007, 08:08 PM
Awesome, so you are saying that, Pleo already has that hardware and with some programming, you can actually make a Pleo team and make them play soccer? COOL. Though I'd bet even with that hardware, programming the robot may be hard, but then again I can be wrong.

cmadmacs
12-15-2007, 01:21 AM
We won't know unless someone tries.

Lu Bu
12-15-2007, 11:18 AM
Metronome? Isn't metronome and beat detection the same?

Lu Bu
12-15-2007, 11:21 AM
Gotchya, would like to see a vid when saomebody already programmed him to do it. YES, I can imagine it now, my two Pleos playing soccer and me, I'll be the referee.

"Looks like Pleo#1 is slicing and dicing his way to the oven (goal)!" LOL

cmadmacs
12-15-2007, 12:48 PM
That is funny. Mine will be cats vs pleos. The winner takes the house.

Lu Bu
12-15-2007, 01:22 PM
LOL

Post a vid about that.

Fixer
12-25-2007, 03:11 AM
Do you have an update on the SDK release date.
I assumed this would be available by now.

PleoWorldHostCami
12-25-2007, 06:04 AM
Do you have an update on the SDK release date.
I assumed this would be available by now.

I'm sorry but we don't have a firm date yet. We'll let you all know when it's available. :D

Maia
12-27-2007, 12:19 PM
One post asks for an approximate date and the answer is that there's no definite date (later "firm" date). How about an approximate date? For example, will it be available for me to use in a class this spring? Next fall?

Palidore
12-28-2007, 12:49 AM
After being a big gamer for many years, being part of many beta tests, forums, etc., I've come to learn that whenever we're talking about some sort of large patch or update, the developers will almost never respond with a time frame unless it's definite for fear of backlash from the community if something were to come up where the given release date wasn't met.

Same goes for Pleo/Ugobe pretty much. Frustrating as always, but understandable. Although in defense of Pleo community, I think we deserve more credit too- we're not a group of immature children like half of the gaming community that will throw a fit if the developers "lie" to us.

alphapleo
12-28-2007, 08:03 AM
Updates will roll out over the first few months of 2008. I suspect you'll hear from us in several weeks about something....

There appears to be a bit more information posted by ugobesarah in the thread "Where can I download the pleo updater" by laurajones. :rolleyes:

Just follow this thread... PleoWorld Forums > Pleo's Life OS & Features > Pleo's Life OS

pisymbol
12-30-2007, 07:51 AM
Will Ugobe have some kind of beta program? If so, will it be through PleoWorld or through some mailing list?

Also, are there any primer materials that Ugobe developers can recommend in preparing for the SDK and/or Life OS? Even generic topics? (e.g. AI)

I'd like to compile this for a page I'm building.

Thanks!

PleoPet
12-30-2007, 02:21 PM
My advice: http://forums.pleoworld.com/showthread.php?p=5885#post5885
Not specific to Pleo's robot form, but it will get you familar with the programming language/interpreter/tools.
BTW: Advanced "AI" features are likely not the place to start

pisymbol
12-31-2007, 03:45 PM
Thanks for the link.

I saw the thread but there isn't alot that I see of real info other than PAWN. I was hoping for some other tidbits....

pisymbol
01-02-2008, 06:10 PM
How about some IDE based support such as an eclipse plugin? What will the toolset look like?

On a side note, the current top of tree of Pawn does not build on my 10.5 machine cleanly which is a bummer...got to look at that...

UgobeTyler
01-07-2008, 01:19 PM
I am afraid I cannot give any specific date as to when the PDK (Pleo Development Kit) will be released, but I can say that we have NOT developed any kind of Eclipse Plugin for it - though I think that is a wonderful idea.

As a partial clue, we do all of our internal builds - both firmware and applications - from the command-line. This does not mean that somebody else won't create some fancy GUI on top of our PDK command-line build tools.

In response to a different question in this thread: we will include the version of the Pawn compiler necessary to be compatible with the Pleo firmware. (Pleo 1.0 includes a customized version of the Pawn 3.2 VM [referred to as an 'Abstract Machine' in the Pawn documentation, but I am more comfortable Virtual Machine]).

Thank you,
Tyler

pisymbol
01-07-2008, 02:50 PM
I am afraid I cannot give any specific date as to when the PDK (Pleo Development Kit) will be released, but I can say that we have NOT developed any kind of Eclipse Plugin for it - though I think that is a wonderful idea.

As a partial clue, we do all of our internal builds - both firmware and applications - from the command-line. This does not mean that somebody else won't create some fancy GUI on top of our PDK command-line build tools.

In response to a different question in this thread: we will include the version of the Pawn compiler necessary to be compatible with the Pleo firmware. (Pleo 1.0 includes a customized version of the Pawn 3.2 VM [referred to as an 'Abstract Machine' in the Pawn documentation, but I am more comfortable Virtual Machine]).

Thank you,
Tyler

Tyler:

First off thanks for the responses!!!

Funny, you knew what I was really asking. Well, why not release enough so people can start to build an Eclipse plugin since that's can a really important tool if you are looking for widespread adoption?

Doing internal builds by the command line DOES NOT preclude doing them within an IDE. All of my builds for my day job are from the command line but you can very easily check out, import, and build from Eclipse as well - its just a question of how you design your build environment. Okay I'm done ranting (its just a pet peeve of mine).

[my day job these days is in C which means vi is as far as I get when it comes to productivity tools!!]

Ah, you do have a customized VM - that was the other aspect I wasn't sure about. I figured that, given what I've read about PAWN thus far.

I do wish you have some early access beta program. Please consider it (also sign me up!).

Thanks Tyler!

PS Do you guys have a Pleo emulator for behavioral analysis? I just have to ask this....

UgobeTyler
01-07-2008, 04:58 PM
Tyler:

First off thanks for the responses!!!

Funny, you knew what I was really asking. Well, why not release enough so people can start to build an Eclipse plugin since that's can a really important tool if you are looking for widespread adoption?

Doing internal builds by the command line DOES NOT preclude doing them within an IDE. All of my builds for my day job are from the command line but you can very easily check out, import, and build from Eclipse as well - its just a question of how you design your build environment. Okay I'm done ranting (its just a pet peeve of mine).

[my day job these days is in C which means vi is as far as I get when it comes to productivity tools!!]

Ah, you do have a customized VM - that was the other aspect I wasn't sure about. I figured that, given what I've read about PAWN thus far.

I do wish you have some early access beta program. Please consider it (also sign me up!).

Thanks Tyler!

PS Do you guys have a Pleo emulator for behavioral analysis? I just have to ask this....

A little more detail for you:
1. The build tools that I referred to above, which we use internally, are mostly written in Python (the best all round scripting language!). We of course want to clean these up before any release, including any possible beta program.

2. I am not organizing the beta program (if there is to be one ;-). So I cannot give any details there.

3. The main customization to the Pawn VM is to allow arbitrarily large scripts to be executed, through a code paging mechanism. Note that data and stack space are still fixed though. The secondary customization is a mechanism to prevent a rogue script from hanging up the firmware (we call this incremental execution).

4. We do have a simulator we use internally, but you did not hear that from me. ;-) And it would likely NOT be part of the PDK.

Thanks,
Tyler

pisymbol
01-07-2008, 07:57 PM
A little more detail for you:
1. The build tools that I referred to above, which we use internally, are mostly written in Python (the best all round scripting language!). We of course want to clean these up before any release, including any possible beta program.


Hmmm, obviously I don't know your build environment but I find it really "interesting" that you need something as heavyweight as Python to build your mojo! :D!


2. I am not organizing the beta program (if there is to be one ;-). So I cannot give any details there.


Well, IF you have one, count me in!


3. The main customization to the Pawn VM is to allow arbitrarily large scripts to be executed, through a code paging mechanism. Note that data and stack space are still fixed though. The secondary customization is a mechanism to prevent a rogue script from hanging up the firmware (we call this incremental execution).


Interesting. Thanks for this. I was curious on what you changed exactly. I'm still kinda curious on why you choose Pawn instead of something more mainstream shall we say....


4. We do have a simulator we use internally, but you did not hear that from me. ;-) And it would likely NOT be part of the PDK.


Awesome Tyler. I really really wanted to know that. It gives you way more geek points. You guys should think about sharing that - even a stripped down version of it!

I guess now I get to play the waiting game...

Cheers!

roschler
01-08-2008, 08:50 AM
A little more detail for you:
1. The build tools that I referred to above, which we use internally, are mostly written in Python (the best all round scripting language!). We of course want to clean these up before any release, including any possible beta program.

You do realize that Python & Ruby scripters are usually avid Google searchers? :eek:

PleoPet
01-08-2008, 12:14 PM
(selective replies)
re: IDE
Check the main Pawn webpage. The Pawn compiler has been glued into the Quincy editor.
http://www.compuphase.com/pawn/pawn.htm

However that's for editing/compiling and debugging on the PC. The process for tranferring files to SD card and debugging on the Pleo is more complicated.
Debugging must be done the old fashioned 'printf' way (ie. no remote debugging, no breakpoints).
Compile on a PC, copy to SD card, stick SD card into Pleo, run it. Printf-style info can be sent to the debug terminal (USB or RS-232 perhaps over a radio transmitter http://www.aibohack.com/pleo/rf_pleo.htm ) or saved in a log file....
IMHO the need for an IDE is minimal. For a speedy edit/compile/debug cycle, UGOBE needs to release a PC emulator. Otherwise all the "IDE" provides is fast jumping to the source line with the syntax error. I'd rather use my favorite editor.

re: Python
> I find it really "interesting" that you need something as heavyweight as Python to build your mojo
IMHO: they don't *need* Python (but it is as good a choice as any). The Pleo.URF is relatively straight forward to build.
NOTE: you won't be programming in Python.

re: Pawn system
> I'm still kinda curious on why you choose Pawn instead of something more mainstream..
The Pawn interpreter system runs in very small RAM memory. Most of the resources are paged in from the SD card (or internal data store) when needed. There is only 64KB of RAM in the main CPU. (that's KB not MB). UGOBE has done a great job packing a lot into that small space.

roschler
01-08-2008, 09:56 PM
Hey PleoPet,

A big thanks to all of you in the SAAG/Pleo consortium for PleoSkit and YAPT! I'll be playing with them this weekend. :)

ryane
01-09-2008, 02:56 PM
Hey PleoPet,

A big thanks to all of you in the SAAG/Pleo consortium for PleoSkit and YAPT!:)

dito. i've already begun a skit, one i might extend into a full personality with YAPT. it will be great when i'm done putting the skits together on the sd card, load it into pleo and watch wide-eyed at what i've created! thaks so much PleoPet!:D

Shagz
04-06-2008, 09:11 PM
Personally, using what is already has; i'd try to make it even more robust. Maybe save certain states of the running app to the SD card, so when it was turned off, some things could be loaded back up (assuming that the API contained a read/write to the SD)

after that (and i've already started some reseach), would be to find a way to setup the Pleo with that Xbee thing.. I've seen that connector-type, just this week alone in 3 different PCB devices... but can't seem to get a good google-searchword to find partnum. After that, a whole slew of doors would open.

Ranging anywhere from Remotly controling him, around the house, from the office. Maybe even write some PC apps (in .net) that could send signals to it, versus having to be scripted on the card., .. and if the Pleo -> PC gap could be bridged, at the level of direct-control (like the debug port), very very complex apps could be possbile. -- even remote-control from cell phone :)

PleoPet
04-07-2008, 03:56 PM
> Maybe save certain states of the running app to the SD card, so when it was turned off, some things could be loaded back up (assuming that the API contained a read/write to the SD)
The Pleo default personality does that already. The personality state is stored in properties. Properties are stored in the internal flash or SD card.
You can use the same technology with your own SDK/PDK programs. The YAPT/Babe runtime doesn't bother to store permanent data.
----
re: Serial Debug connector
related thread: http://forums.pleoworld.com/showthread.php?t=836
If you can find a matching part number and a website that will sell the connector in small quantities, please let the community know.

Shagz
04-07-2008, 07:14 PM
>
re: Serial Debug connector
related thread: http://forums.pleoworld.com/showthread.php?t=836
If you can find a matching part number and a website that will sell the connector in small quantities, please let the community know.

hehe, small quantities is the key word in that phrase :D
not only is that the small quantity i could find (50 of the buggers... ), it's also the only site i could find them on. I'm starting to wonder if they renamed the part number for thier own catalog.

I still have no idea if those are the right size, i may just break down and buy them, they're cheap enough, and i'll prolly toss the other 49 of them in with the giant bag of "COM-Ports" that i have in my closet, lol.

I will still keep looking though, we have a number of electronics hobby-stores around here, someone is bound to have something.

sandro
04-07-2008, 11:53 PM
I just posted what I think the correct part # is from Digi-key on the other thread.

To wit:

Digi-key# H2184-ND (HIrose #DF13-7S-1.25C).

$0.30 each (plus s/h).

They'll let you order 1, but you'll get hit with quite a bit of handling. It's better to get more stuff in a single order (I think $20 eliminates the handling charge).


-Sandro

PleoPet
04-08-2008, 09:29 AM
If you find a matching part, please post the details.
If it fits and you have 49 spares, I suspect some Pleo owners will be happy to buy them from you (at a reasonable price, with shipping, no price gouging please)
----
RoboHistory note:
In the past, other homebrew robot efforts did something similar.
The iCybie robot came with blank boards for the cartridge. You needed two obsolete and rare chips, and you had to buy them in 50 or 100 chip lots. One or two people bought the lots and then sold (or gave away) the extra chips they didn't need.
You also had to solder the surface mount chips yourself. In comparison, the Pleo serial/wireless mod is much easier.
For a short time, people even sold home-made cartridges. They are very rare and expensive now.

IMHO: That's a part of a long-lived robot owner economy. People loving the robot enough to spend their time providing other services outside of the official company, at reasonable prices.