[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