Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; Workflow has a deprecated constructor in /home/simonroh/www/research/phd/workflow.php on line 9

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; WorkflowTask has a deprecated constructor in /home/simonroh/www/research/phd/workflow.php on line 48

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/simonroh/www/research/phd/workflow.php:9) in /home/simonroh/www/research/common/initialisation.php on line 2

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/simonroh/www/research/phd/workflow.php:9) in /home/simonroh/www/research/common/initialisation.php on line 2
PhD - Simon Rohou
Languages

PhD: workflow
Exploration of a large underwater area with autonomous vehicles

Here are listed some worksteps of my PhD:

  1. Displaying position boxes inside MORSE (11/2014)
  2. Updating the compatibility between MOOS and MORSE (11/2014)
  3. Setting up the software architecture (10/2014)

November 2014Displaying position boxes inside MORSE

With interval analysis, robot's position will no longer be scalar but extended as a 3D subpaving. A huge position box would means that the robot is lost, a small one that it has a precise estimation of its own position. It will be useful to display this position as a box in the 3D simulator (with MORSE and Blender). This feature is not included in MORSE. It could interest many people dealing with intervals for robotics.

I forked again the MORSE repository on Github and tried to add this new functionality. My goal is to control one object (let's call it PositionBox) by robot from the corresponding MOOS Community. It took me a while to understand the organization of MORSE's code but I finally reached my goal:


For now, this feature is only available in my MORSE's fork.

November 2014Updating the compatibility between MOOS and MORSE

When I started my PhD, I could only make a link between MORSE and MOOS through one single MOOS community. It is not enough if I want to simulate several robots: the use of several MOOS communities will be required. I forked the Github repository of the MORSE project, updated the simulator and made a pull-request to the developers.

A multi-node simulation using MORSE and MOOS is now possible:

October 2014Setting up the software architecture

My work is focused on autonomous robots and collaboration inside a swarm of vehicles. In order to test my algorithms (during sea missions or virtual simulations), I have to set up several software parts such as middleware, mathematical libraries, 3D displays, etc.

This future architecture will be used in two cases: for simulations (3D, 2D) in the lab and for sea trials. To save time, it is worth it to keep as much as possible the same software organization, introducing hardware in the loop for concrete demonstrations. This will be possible using a good middleware and keeping identical development environments between robots and simulation's computer.

Middleware: introducing The MOOS

MOOS is a middleware borned in the MIT, initiated by Paul Newman from Oxford University and used in several robotics fields as a communication base between each part of a robot and between robots themselves. MOOS, a Mission Oriented Operating Suite, is equivalent to ROS, a Robot Operating System, widely used in robotics.

Nowadays MOOS is used in a strong community including MIT, Bluefin Robotics, US Navy, Oxford University and CMRE (the NATO underwater research centre in Italy). Numerous MOOS modules are available thanks to this community, specifically with the MIT for marine robotics purposes.

MOOS enables to divide robot's software into a suite of processes. The applications (called MOOSApps) communicate through a MOOSDB: a central database in which it is possible to see the current state of each MOOS variable (called MOOSVar). Onboard of an AUV, we can for instance communicate XYZ locations, heading values, camera images, simulated sea currents, etc.

MOOS will be placed at the heart of my software architecture and will be used both in simulations and sea trials. The IvP part, developed by MIT, is a specific MOOS module used for decision taking. I plan to use it to combine different behaviors during a mission.

Interval analysis: two tools

I will have to compute intervals for localization and mapping purposes. This will be done using the IBEX library as a based for interval arithmetic. I may add a software overlay focused on robotics. This is being discussed in the laboratory.

VIBes is a Visualizer for Intervals and BoxES. It aims to keep it simple and fast.

3D simulation: integration of Blender into the architecture

Blender is powerful 3D computer graphics software and could be an interesting tool for 3D simulations. It is a free and open-source software usable through its Python API. The link between robotics research and Blender simulation can be made with MORSE, a generic simulator for academic robotics.

I will have to contribute to MORSE in order to link it with the MOOS middleware. For now, MORSE is working with MOOS but only with one MOOS community (i.e. one single robot). On top of that, some actuators and sensors applicable on simulated robots are still missing for this middleware.

My progress on this work will be described soon.