Prof. Noury Bouraqadi, noury.bouraqadi AT
Dr. Luc Fabresse, luc.fabresse AT
Dr. Guillaume Lozengez, guillaume.lozenguez AT

Robotic exploration and mapping is basic to many robotic applications and more specifically to search and rescue operations. It relies on robots to build a map of the environment as a first step to further mission specific tasks (eg. extracting trapped victims). In scenarios where time is critical such in the aftermath of an earthquake, the use of multiple robots allows to speed up the exploration and to take advantage of distributed sensor to increase the mapping process. Each robot explores a different but connected area. The global map is built by merging local maps built by individual robots.

To build a map of an unknown environment, a robot has to perform Simultaneous Localization and Mapping (SLAM). Based on different perceived data (typically odometery and laser scans), metric SLAM algorithms localize the robot while building an occupancy grid. The occupancy grid models the environment as a matrix where each cell denotes the probability of occupancy of a small area.

Best metric SLAM algorithms produce precise maps that allow localization with typically centimetric precision. However, an occupancy grid map is materialized as a large matrix. Beside the memory consumption, such a map leads to high CPU consumption for path planning. CPU consumption is also a concern in multi-robot exploration. Indeed, merging metric maps produced by different robots is computationally intensive.

The above drawbacks of metrics maps can be mitigated by the use of topological maps. However, topological maps do not allow precise obstacle delimitations needed for autonomous robots exploration. The goal of this PhD is to contribute to our ongoing effort, and propose a solution that gathers the best of both worlds.

The expected outcome is a SLAM algorithm that builds a topological map that embeds metric information. The target algorithm should be implemented on top of the ROS middleware and validated both in simulation and on actual robots. It should also be supported by a set of automated tests that can safely run on an actual robot.

- Robotic Mapping and Exploration. C. Stachniss. Springer 2009.
- An evaluation of 2D SLAM techniques available in Robot Operating System. J. M. Santos, D. Portugal, and R. Rocha. SSRR 2013.
- A Methodology for Testing Mobile Autonomous Robots. Jannik Laval, Luc Fabresse and Noury Bouraqadi. IROS 2013.
- Towards Test-Driven Development for Mobile Robots. Luc Fabresse, Jannik Laval and Noury Bouraqadi. ICRA 2013 eigth workshop on Software Development and Integration in Robotics (SDIR VIII).
- Team Size Optimization for Multi-robot Exploration, Zhi Yan, Luc Fabresse, Jannik Laval, and Noury Bouraqadi, SIMPAR 2014.
- Metrics for Performance Benchmarking of Multi-robot Exploration. Zhi Yan, Luc Fabresse, Jannik Laval, and Noury Bouraqadi. IROS 2015.
- Punctual versus continuous auction coordination for multi-robot and multi-task topological navigation, Guillaume Lozenguez, Lounis Adouane, Aurélie Beynier, Abdel-Illah Mouaddib, Philippe Martinet, Autonomous Robot 2015.

Prof. S. Ducasse, stephane.ducasse AT, INRIA, France
Prof. N. Bouraqadi, noury.bouraqadi AT, Mines Douai, France
Dr. M. Denker, marcus.denker AT, INRIA, France
Dr. L. Fabresse, luc.fabresse AT, Mines Douai, France

Building next generation systems that can not be stopped in deployment is an interesting challenge for industry.
Indeed, when we need to replace current software for an upgrade or a bug fix, it is mandatory to stop
the old running version, make the change and then restart the new version.
However, there are situations where a such process is either impossible or at least undesirable because
of the costs resulting from a shutdown (e.g production line, robot on mars, …).

We believe that software built with from the beginning the property to work indefinitely, will be by
construction more robust to change, intrinsically capable of evolution and more agile than traditional software.

Dynamic languages such as CLOS, Ruby, Python, Smalltalk and Pharo provide a support for updates that involve code change.
Even if they are more advanced compared to other languages, their solutions are mainly ad hoc and deserve being rethought.
We believe it is important to have a mechanism and an infrastructure that allow adaptive and safe software updates.

By “safe” we mean that this solution should support different conditions, such as a series of updates performed in the wrong sequence.
In such situations, instances of changed classes should migrate in a satisfactory fashion.
Safety also means verifying loaded changes. Changes should be checked and possibly rejected if they make the system
unstable or if they introduce errors.

The questions we would like to target in this PhD are the following:

- What is a good infrastructure to support reliable dynamic code update? Do we need to analyse changes?

- Is an infrastructure based on isolated environments enough to ensure update safety? What level of atomicity is required?

- What kind of meta-object protocol is required to migrate objets?

- Would it be interesting to have different versions of a given class or package active at the same time for the same software?


. D. Duggan. Type-based hot swapping of running modules. In Intl. Conf. on Functional Programming, pages 62–73, 2001.
. M. Denker, T. Gîrba, A. Lienhard, O. Nierstrasz, L. Renggli, and P. Zumkehr. Encapsulating and exploiting change with Changeboxes. In Proc. Int. Conference on Dynamic Languages, pages 25–49. ACM Digital Lib., 2007.
. M. Dmitriev. Safe Class and Data Evolution in Large and Long-Lived Java Applications. PhD thesis, University of Glasgow, 2001.
. M. Hicks and S. Nettles. Dynamic software updating. ACM Transactions on Programming Languages and Systems, 27(6):1049–1096, nov 2005.
. J. Kephart. Research challenges of autonomic computing. In ICSE 2005, pages 15–22, may 2005.
. G. Kniesel. Type-safe delegation for run-time component adaptation. In R. Guerraoui, editor, Proceedings ECOOP ’99, volume 1628 of LNCS, pages 351–366, Lisbon, Portugal, June 1999. Springer-Verlag.
. I. Neamtiu, M. W. Hicks, G. Stoyle, and M. Oriol. Practical dynamic software updating for c. In PLDI, pages 72–83, 2006.
. G Polito, Stéphane Ducasse, N Bouraqadi, L Fabresse, M Mattone. Virtualization Support for Dynamic Core Library Update. Onward!, Oct 2015, Pittsburg, USA.
. X. Ren, F. Shah, F. Tip, B. Ryder, and O. Chesley. Chianti: A tool for change impact analysis of Java programs. In Proceedings of OOPSLA 2004), pages 432–448, 2004.

Our paper presented at the International Workshop on Smalltalk Technology 2015, Brescia Italy, as part of the PhD of LE Xuan Sang received the 1st prize, offered by the Lam Research Corporation.

A Meta Model Supporting Both Hardware and Smalltalk-based Execution of Fpga Circuits
High level synthesis (HLS) refers to an automated process that creates a digital hardware from an algorithmic description of some computation. From the perspective of Smalltalk, this process consists in converting a code from the OO level to the register transfer level (RTL), that supports direct compilation to the hardware level. In this paper, we present first steps to achieve this process. We introduce a Smalltalk-based meta-model that allows to express descriptions (i.e. models) of digital circuits. These descriptions materialize as Smalltalk code. A such circuit description can be run on top of the Smalltalk VM, simulating the parallelism intrinsic to hardware. Alternatively, it can be compiled into a binary representation directly transferable to FPGA chips, which can run and exchange data with Smalltalk objects.

We are glad to announce PharoJS, which is an infrastructure to run Pharo code on top of JavaScript. The goal of PharoJS is to allow developers benefit from the power of Pharo while targeting platforms that support JavaScript.

For example, PharoJS can be used to develop client side web applications. It can also be used to support cross-platform mobile apps based on Phone Gap.

PharoJS is freely available under MIT License. It can be dowloaded from SmalltalkHub.

This conference is aimed at addressing important aspects of robot control architectures, with a specific emphasis on distribution, verification and validation, languages and modeling, and implementation of control architectures. It brings together researchers and practitioners from universities, institutions and industries, working in this field. It intends to be a meeting to expose and discuss gathered expertise, identified rends and issues, as well as new scientific results and applications around software control architectures related topics, through plenary invited papers.

Due to their increasing complexity, nowadays intervention robots, that to say those dedicated for instance to exploration, security or defence applications, definitely raise huge scientific and commercial issues. Whatever the considered environment, terrestrial, aerial, marine or even spatial, this complexity mainly derives from the integration of multiple functionalities: advanced perception, planning, navigation, autonomous behaviours, in parallel with communication or robots coordination enable to tackle more and more difficult missions.

But robots can only be equipped with such functions if an appropriate hardware and software structure is embedded: the software architectures will hence be the main concern of this conference.
As quoted above, the control architecture is thus a necessary element for the integration of a multitude of works; it also permits to cope with technological advances that continually offer new devices for communication, localization, computing, etc. As a matter of fact, it should be modular, reusable, scalable and even readable (ability to analyze and understand it).
Besides, such properties ease the sharing of competencies among the robotics community, but also with computer scientists and automatics specialists as the domain is inherently a multidisciplinary one.

Numerous solutions have been proposed, based on the “classical” three layers architecture or on more “modern” approaches such as object or component oriented programming. Actually, almost every robot integrates its own architecture; the workshop will thus be a real opportunity to share reflections on these solutions but also on related needs, especially on middleware for robotics, which are of particular importance in multi-robot applications for instance.
Hence, this conference on control architectures of robots aims at gathering a large number of robotics actors (researchers, manufacturers as well as state institutions) in order to highlight the multiple issues, key difficulties and potential sources of advances.

Schedule – Dates
- Paper submission (full paper or extended abstract): May 18 2015
- Paper Acceptation Notification : May 29 2015
- Camera Ready due : June 29 2015
- Conference: 29-30 June 2015

Submission Guideline
- Even if CAR is a french conference, we prefer articles written in english
- No specific style is asked : latex article style is OK
- No limit on article length, usually articles for CAR are between 6 and 17 pages long !

Web Page

Scientific Committee
- David Andreu LIRMM, Univ. Montpellier 2
- Noury Bouraqadi Ecoles des Mines de Douai,
- Jacques Malenfant LIP6, UPMC
- Roger Pissard-Gibollet INRIA Grenoble,
- Julien Ponge CITI-INRIA, INSA de Lyon
- Olivier Simonin CITI-INRIA, INSA de Lyon
- Serge Stinckwich UBCN & UMMISCO, IRD/UPMC

As part of the Sucré ongoing project ( the Ecole des Mines de Douai is offering a 12 months Post-Doc in multi-robot systems. This postdoc aims at proposing and developing original solutions to allow a robotic fleet to autonomously explore an indoor environment to provide useful information to firemen (e.g. maps, dangerous areas, victims to rescue).

Candidats should have a solid background in one of the following areas:
-coordination algorithms for multi-robot systems.
-mobile robot programming and software control architectures.
-Robot middleware such as ROS.

A background in dynamic languages would be a plus.

To apply, candidates should send a cover letter describing their background, a CV, and contact info for two references. The application materials should be sent by email to Prof. Noury Bouraqadi: noury.bouraqadi(AT)

In traditional robot behavior programming, the edit-compile-simulate-deploy-run cycle creates a large mental disconnect between program creation and eventual robot behavior. This significantly slows down behavior development because there is no immediate mental connection between the program and the resulting behavior. With live programming the development cycle is made extremely tight, realizing such an immediate connection. In our work on programming of ROS robots in a more dynamic fashion through PhaROS, we have experimented with the use of the Live Robot Programming language. This has given rise to a number of requirements for such live programming of robots. In this text we introduce these requirements and illustrate them using an example robot behavior.

This presentation has been given at the DSL Rob Workshop held as part of the SIMPAR 2014 conference (Bergamo, Italy).