--
ShaiRevzen? - 08 Jul 2003
The
SprawlOS presentation is now online on the BioMemetics server.
As a quick review, SprawlOS is good for any task where you plan to have to do a lot of tweaking of the robot control code, but you are still working mostly stride-to-stride. Some of the advantages of using SprawlOS are:
- Simple and readable C code. Someone else might actually be able to read it...
- Does lots of things for you (e.g. gait cycle scheduling)
- Allows you to write host-side controller code
- Had a simulator you can run on any Linux / Mac OS-X box, so you can develop code without a robot
--
ShaiRevzen? - 04 Aug 2003
Alpha 0.7 ready
After a long inception period, SprawlOS code is finally reaching the stage where other people can see it without qualifying me for a shower of over-ripe vegtables. This also means that I will start adding some SprawlOS How-Tos to this page.
Using SprawOS XCG
The XCG module in SprawOS allows structures to be exchanged easily and transparently beween code running in the robot and Python scripts on a host platform. NOTE: the XCG host need not run on a machine that is physically connected to the robot. The following robot-side code illustrates how a structure is shared, and modified by the host:
Robot (in C) | Host (in Python) |
#include "Exchange.h"
...code...
struct MyRecord {
int anInt;
char aString [10];
unsigned char aByte;
};
struct MyRecord global_rec;
void main( void ) {
...standard initializtion stuff...
XCG_EXPORT_RW( "rec:i10sB", global_rec );
...standard main loop...
}
|
import XCG
Robot = XCG.XCG()
anInt, aString, aByte = Robot['rec']
Robot['rec'] = anInt + 137, aString, aByte
|
Which leaves only one real question: why
137 ?
But this question has plagued physicists for many years...