Surveyor Robotics Journal
   



email: support@surveyor.com

Surveyor Corporation home page

Subscribe to a syndicated RSS feed.

Subscribe with Bloglines

Archives
November 2008
October 2008
September 2008
August 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
Februray 2006
January 2006

       
Wed, 20 Dec 2006

C interpreter for SRV-1

We're a few days away from wrapping up a version of firmware that includes a C interpreter running onboard the robot. This will be similar in structure to our BASIC interpreter, with a set of built-in robot-specific functions for motion control, IR, timing, image capture, color management, and image processing (like the functions we added to BASIC). The C language itself is interpreted, so you just store the program source code in the flash memory and issue a command to run the program. I believe our C implementation is comparable in functionality to RobotC or InteractiveC, though I haven't looked at a full specification for those languages - we don't have complex data structures, but we do have a reasonable set of flow control commands (if, else, for, do, while, return), nested loops, nested function calls, etc.

At this point, we're not going to try to fit both BASIC and C into the same firmware image, so we will provide 2 versions of SRV-1 firmware - one with BASIC and one with C. From a coding standpoint, this isn't an issue, as there is a simple #ifdef in the source code to select between the languages, and all other aspects of the SRV-1 functionality will be identical between the two versions.

I'm personally pretty excited about this addition, as it should be quite helpful for users to have familiar language options like C and BASIC for onboard scripting of autonomous robot behaviors in addition to the host-based tools that are adding SRV-1 support (e.g. Microsoft Robotics Studio, Pryo, Webots, URBI, Player, SRV1Console, etc). Once this code release is complete, we will focus some energy on providing some sample onboard programs in C and BASIC for various functions, including the wander mode, object location and object tracking.

Posted Wed, 20 Dec 2006 18:45 | HTML Link | see additional stories ...