[Rock-dev] Rework of the Mars<->Rock connection

Matthias Goldhoorn matthias.goldhoorn at informatik.uni-bremen.de
Tue May 14 14:26:58 CEST 2013


I just cleaned up the mars<->rock integration.

This solves several problems:
- Crashing deployment caused by some exit()'s
In case some mars lib's were not found caused by an wrong config

- Crash of the whole deployment in case an physic (ODE error) occurred
now all task (like servo's actuators) to in MARS_CONNECTION_LOST 
exception state and the
mars node itself go to exception PHYSICS_ERROR. In this state e.g. 
Syskit/Roby can clearly shutdown and restart mars.
No segfaults should anymore occur.

Because of this rework all MarsNodes (Servo...) are inherit the Task 
MarsPlugin.
Simply take a look to the branch matthias_testing. Within the next days 
i will merge this branch back to master.
First #Avalon and #Limes verify that this works.

Unfortunately the base/orogen/interfaces/ are no longer used. I 
separated the Actuator's code into an new package, and copied (other 
solution are welcome) the sweep code back into the task.

Syskit can no simply respawn the needed task, in an second step maybe 
simply reset the simulation without respawning.
Thank's to the TaskSheduler and usage of the simulation time an 
-faster-than-realtime- (if CPU is available) should be working too.
Mars itself can be triggered by the MarsTrigger component, which can be 
queued inside the TaskScheduler Task.

Feel free to try,
Matthias

-- 
  Dipl.-Inf. Matthias Goldhoorn
  Space and Underwater Robotic

  Universität Bremen
  FB 3 - Mathematik und Informatik
  AG Robotik
  Robert-Hooke-Straße 5
  28359 Bremen, Germany

  Tel.:     +49 421 178 45-4193
  Zentrale: +49 421 178 45-6550
  Fax:      +49 421 178 45-4150
  E-Mail:   matthias.goldhoorn at uni-bremen.de

  Weitere Informationen: http://www.informatik.uni-bremen.de/robotik



More information about the Rock-dev mailing list