#acl All:read,write [[http://www.openrobots.org/wiki/morse/events/hackaton_jan_2011/architecture?action=edit|Edit this page]]. ||<> || = Architecture = == General Architecture == We look for a generic layout for information communication between components and middlewares, blender and middlewares.. === Time handling === (Thanks to notes from the irc #blendercoders and the robotics mailing list : robotics@blender.org - Benoit Bolsee, Markus Mehrwald and others) In the blender game engine it is possible to add a '''python controller''' that runs '''on every frame'''. This controller can be stopped or wait for an '''external signal''' thus blocking the actual game engine frame thread. Enabling the '''compute all frame''' options will make the game physics calculation consistent as if each next frame was played exactly 1/frame_rate seconds since the last frame. === Generic Messages === * Need of a generic interface with middlewares === Middlewares and blender components === Separate the configuration files for middlewares from the blender files. Add a dynamic link to them === Handling sensor messages PUSH/PULL === For now morse sensors constantly send data ''PUSH'' but in some cases ( robots with plenty of sensors for examples) we'd rather use a request-based communication ''PULL''. == Distribution == Decoupling distribution aspect from architecture. == Sensor Layout == Clarify how to build a sensor === Sensor python class === To write yours you need to define the following functions: * {{{__init__}}}: * {{{default_action}}}: == Robot Layout == Clarify how to build a robot