Hack the Pleo robotic dinosaur new dev forum and scripting now available

Make Pt0304
Wow, today is a big day for robotics, specifically for Pleo owners. UGOBE has a new developer section and a "PAWN" C-like open source scripting language to write apps for the dino-bots. They're saying hardware "hacking" "programming" and more -- good work UGOBE, it's too bad Sony didn't do this from the start perhaps the AIBO would still be around- Link.

The developer FAQ after the jump....

What is PAWN?

PAWN is a C-like open source scripting language formerly known as 'SMALL'. It has a very small footprint and is therefore well suited to situations where resources are scarce. More detailed information on PAWN can be found here: HYPERLINK "http://www.compuphase.com/pawn/pawn.htm"http://www.compuphase.com/pawn/pawn.htm HYPERLINK "http://www.compuphase.com/pawn" or http://code.google.com/p/pawnscript/.

What has PAWN got to do with Pleo?

We have embedded PAWN inside of Pleo in what is called an Abstract or Virtual Machine (VM). Using PAWN as a scripting language allows access to much of the functionality of Pleo at a very high level. 
 


What is an 'Abstract or Virtual Machine'?
An abstract or virtual machine (VM) is a computing machine that has an instruction set just like a real machine but that is implemented through software instead of hardware. A more familiar example of a virtual machine is the Java Virtual Machine. Java applications normally run by being interpreted by the Java Virtual Machine. That is why it is easy to move Java programs from your Windows machine to your Mac to your Linux machine.


Why does Pleo have a Virtual Machine (VM)?

By using the PAWN VM we can create a controlled and portable environment for Pleo development. Note for the more technically inclined: Since the PAWN VM and its bytecodes are well defined, an ambitious developer could implement other languages for execution on Pleo, as long as they can be compiled into PAWN VM bytecodes.
 


What Pleo functionality is available through PAWN?
All of Pleo's personality is implemented in PAWN scripts. This includes all program logic as well as initiating sound and motion playback, and responding to sensors.
 


How does PAWN interact with Life OS?
The Life OS provides the PAWN virtual machine that PAWN scripts run on. The PAWN Virtual Machine sits on top of Pleo's Life OS rather than interacting directly with it.
 


What is a 'PAWN Script'?

A PAWN script is the code that executes on the PAWN Virtual Machine. The source code or script in the PAWN language is compiled by the PAWN compiler into an object file, and the resultant script is loaded (together with the relevant resource files) and executed on the PAWN VM located in Pleo.
 
Where can I view example UGOBE PAWN scripts? 
There is a sample PAWN script included in the "Pawn Scripting in LifeOS" document found on the Pleoworld Developers page.

What is an 'Application'?
An application is a combination of scripts and sound and motion resources that runs on top of Pleo's Life OS.
 
What is a 'Resource'?
A resource is a general term that we use to describe sounds, motions, commands and scripts. These are the raw materials that Pleo uses to express himself.


What is the 'Pleo API'?
API stands for Application Programmers Interface, and is a set of functions and constant definitions (defined through Pawn 'include' files) that are specific to Pleo. This API defines joint names, sensor names, property names, etc. and the functions to play sounds, motions and scripts. The full API will be documented in the PDK.

What is 'Shadowing'?

Shadowing refers to overriding a resource that is located in a Pleo application (usually in the internal DataFlash) with one that is separate from the application (typically on an SD Card). To shadow a resource, a file with same name or ID is created with the proper extension (based on resource type). When the Life OS resource manager looks up a resource, it will look to the SD Card first. If a file of the proper name is found, that will be used instead of what is internal. All resources can be shadowed, including sounds, motions, commands and scripts.

What is a 'Sensor'?
A sensor is any hardware component that can gather data from the outside world, like touch, light, motion, audio. Pleo is able to use input from all of his various sensors, such as his camera, microphones and touch sensors, to make more intelligent decisions about how to react to the world he finds himself in.
 


What is a 'Motion'?
A motion is a set of instructions on how to move each of Pleo's joints. The raw motion is usually described in the form of a CSV file. This CSV file is converted to a binary playable format using the PDK build tools. A motion may be a walk, a lie down, look around, etc. A motion is sometimes referred to as an animation as well. 

What is a CSV file?
A CSV file is a Comma Separated Value file. It is commonly used in spreadsheet programs like Microsoft Excel. UGOBE uses this format as an intermediate format for motions and commands since it is easy to generate and easy to parse.
 


What is Pleo's firmware?
Firmware is another name for Life OS, the complex software platform or operating system that enables Pleo's mechanical, electronic, sensory, and Artificial Intelligence systems to interact as a lifelike whole.



What is the PDK?
The Pleo Development Kit (PDK) is a set of tools, documentation and samples that will allow programmers to modify and extend the functionality of Pleo. This may be as simple as shadowing an existing sound or as complex as writing a whole new application.

When will the PDK be available?
The PDK will be available later this year.

What language will the PDK be in?
Many of the tools that will be included in the PDK are implemented in Python. The Pawn compiler and Pleo post-processors are written in C. There may other tools included written in other languages.

What can I do with the "Pawn Scripting in LifeOS v1.0" document?
With this document, experienced C programmers should be able to gain a general understanding of the LifeOS architecture and the process by which applications are written for Pleo.

Can I begin to write applications now?
To write applications for Pleo you will need the PDK. However, we'd like to encourage you to try out "My Skit - Performance Editor for Pleo which can be found at HYPERLINK "http://www.dogsbodynet.com/pleoskit/index.html"http://www.dogsbodynet.com/pleoskit/index.html. This application will let you create fun 'skits' to playback on Pleo.




Related:

Recent Entries

Leave a comment


Subscribe to MAKE!Subscribe to MAKE Magazine!

Subscribe today, save 42% and get web access to MAKE free. MAKE Digital Edition is available only to subscribers.

$34.95 / 1 year
(4 Quarterly Issues)

Subscribe now

How-to videos for Makers and Crafers!


Void your warranty, violate a user agreement, fry a circuit, blow a fuse, poke an eye out. Make: The risk-takers, the doers, the makers of things... Welcome to Make: Online!


CRAFT Maker Shed Maker Faire MAKE television
MAKE: en Español MAKE: Japan

Make: television
Make: television is here! Visit makezine.tv or iTunes to see all the episodes.

Connect with MAKE

Be a MAKE fan on Facebook MAKE on Facebook
Visit our Facebook page and become a fan of MAKE!
MAKE on Twitter MAKE on Twitter
Follow our MAKE tweets!
MAKE Flickr Pool MAKE on Flickr
Join our MAKE Flickr Pool!
    make_tips on Twitter

    MAKE's RSS feed is here.
    Add MAKE to iGoogle - GoogleGoogle.
    How to add MAKE to your RSS reader - Real simple.
    Add MAKE on FriendFeed


    Advertise here with FM.

    Why advertise on MAKE?
    Read what folks are saying about us!

    Click here to advertise on MAKE!

    MAKE wins Treehugger Best of Green Award

    MAKE wins Brit Insurance Design Award

    Subscribe to MAKE Magazine!

    Make: Online authors!

    Gareth Branwyn, Chris Connors (guest author), Collin Cunningham, Marc de Vinck, Peter Horvath (intern), Kip Kay, Goli Mohammadi, John Park, Sean Ragan, Becky Stern, Phillip Torrone

    Suggest a Site!

    Current Podcast

    itunesdl.gif Weekend Project: Fire Piston Make your own fire starter that uses compressed air and burns at 500 degrees! Thanks to Bill Gurstelle for showing us this at Maker Faire. To download The Fire Piston MP4 click here or subscribe in iTunes. Pick up... More...

    Get the Make: Online sent via email
    Enter your email to receive Make: Online each day:






    Subscribe to MAKE Magazine!

    Recent Posts from the Craft: Blog