Ticket #1 (new enhancement)

Opened 7 years ago

Last modified 50 years ago

Documentation for building custom engines

Reported by: welberge Owned by:
Priority: major Component: documentation
Version: 0.9 Keywords:
Cc: Duration:
Planned Date:


I just had a quick meeting with Florian, he got Elckerlyc more or less
working with the Flobi simulator, cool stuff!

While this stuff is still relatively fresh in my head, here's quick list
of topics we discussed and should be addressed in the 'Adding engines
for new modalities or embodiments'-documentation:

  1. Semantics of Engine.play:

Engine.play be called every frame or so, this is typically done using
its own 'render thread'. The new XML loader has some functionality to do
this automatically.

  1. Semantics of the TimedPlanUnit? stopUnit, playUnit, relaxUnit

playUnit, stopUnit and relaxUnit are called only once, playUnit is
called every 'frame' the TimedPlanUnit? is running. Play should be set up
so that it does not take a lot of time to execute, because typical
implementations of players are blocking.

  1. Ballistic vs continuously updated TimedPlanUnits?

It might be good to illustrate how one implements a 'ballistic'
TimedPlanUnit? that only needs to be started (and perhaps
stopped/relaxed) vs one that requires continuous time updates.

in addition, we'd need docu as well as minimal working code demo's on:

  • adding new BML types for existing engines
  • adding new control primitives for existing engines (e.g. building new

MoveEarToNU for Nabaztag Engine)

the minimal working code demo's are probably better than putting
everything together in one demo (such as was done in NabaztagEngine?)
since that makes it easier to separate out the individual steps :)

Florian B:
a list of where to find what as an example would be great
for someone who has just started with BML. Or a list of already defined
ActionUnits? would be great.

Note: See TracTickets for help on using tickets.