Author Image

Hi, I am Abdelhak

Abdelhak Bougouffa

R&D Robotics Engineer and PhD. Candidate at Paris-Saclay University, SATIE Laboratory, and ez-Wheel

I am a PhD. researcher in robotics.

  • My current research interests include: mobile robotics; state estimation; data fusion; localization and mapping; embedded perception; computer vision; embedded, distributed and real-time systems.
  • I love coding in C/C++, Python, Rust and Lisp.
  • I love GNU/Linux, Emacs, and open-source softwares.
  • I like to contribute to open-source projects.

Skills

Experiences

1
Researcher
Laboratory of Systems & Applications of Information & Energy Technologies, SATIE (Paris-Saclay University, ENS Paris-Saclay, CNRS)

Dec 2022 - Present, Gif-sur-Yvette, France

As a Ph.D student, I work within the MOSS (Méthodes et Outils pour les Signaux et Systèmes) team of the SATIE (Systèmes et Applications des Technologies de l’Information et de l’Energie) laboratory (UMR 8029).

Responsibilities:
  • Study and propose new indoor localization system for industrial mobile robots.
  • Conduct research in robotics, state estimation, indoor localization, SLAM…

Robotics Research & Development Engineer
ez-Wheel SAS

Sep 2019 - Nov 2022, La Couronne, France

As a Cifre funded Ph.D student, my mission is to bring my research works on multiphysics data fusion, SLAM, embedded & distributed systems to the industrial world, developing reliable and robust localization system for the electric wheeling system, to be used in the context of Industry 4.0 environment.

Responsibilities:
  • Develop a novel localization system for industrial mobile robots.
  • Participate in the development of robotic related projects.
  • Deploy autonomous robotic systems.
  • Write and integrate ROS1/ROS2 packages.
  • Write technical documents.
2

3
Research Engineer (Computer Science)
Gustave-Eiffel University (former IFSTTAR)

Jun 2018 - Aug 2019, Marne-la-Valée, France

Worked within TS2/Simu&Moto team on the SimuSafe European project (H2020), mainly on artificial intelligence, multi-agent and distributed systems applied to the development of a behavioral traffic simulator for academic and research uses.

Responsibilities:
  • Contribute to the development of a multi-agent system for behavioral traffic simulation using Modula-II.
  • Develop C/C++ libraries.
  • Design Unity3D/Simulator communication protocol.
  • Implement a custom file format for scientific data.

Research Engineer (Intern)
Laboratory of Systems & Applications of Information & Energy Technologies, SATIE (Paris-Saclay University, ENS Paris-Saclay, CNRS)

Apr 2018 - May 2018, Gif-sur-Yvette, France

In this short period, I worked on refining a data acquisition, decoding and visualization software.

Responsibilities:
  • Refine data acquisition, decoding and visualization software.
  • Validate raw sensor data for an integrated multi-sensor device.
4

5
Lecturer
Saad Dahleb University of Blida

Oct 2017 - Feb 2018, Blida, Algeria

Monitored the “Robotics Intelligence” lab for the 2nd year Master students.

Responsibilities:
  • Monitor the Robotics Intelligence lab.
  • Supervised the students on their mini-project, which consists of designing and programming a small mobile robot using an Arduino board with infrared/ultrasonic low-cost sensors.

Center for Development of Advanced Technologies - CDTA

Feb 2017 - Jul 2018, Algiers, Algeria

Worked in the Robotics and Industrial Production division; within NCRM team (Navigation et Contrôl des Robots Mobiles autonomes).

Research Engineer

Aug 2017 - Jul 2018

  • Design and implement an embedded and distributed control system for a car-like mobile robot, based on an ARM-Cortex-M microcontroller and an Intel/Altera FPGA.
  • Develop a novel Simultaneous Localization and Mapping algorithm named (NDT-PSO).
  • Design a CAN bus based communication protocol for the car-like autonomous robot.
  • Develop embedded software using Mbed-OS.
Trainee Engineer (Intern)

Feb 2017 - Jul 2017

  • Study Simultaneous Localization and Mapping approaches, for outdoor environments.
  • Develop a proof-of-concept for a novel SLAM algorithm named (NDT-PSO).
6

7
Junior Developer
Freelance, Upwork (former Odesk)

Apr 2012 - Jan 2017, Fully remote

Worked as Python developer, GNU/Linux sysadmin and Free and Open Source Softwares integrator.

Responsibilities:
  • Data processing and scraping.
  • Linux system administration.
  • Integrating open source Content Management Systems (CMS).
  • Designing relational databases.

Education

PhD in Robotics (in preparation)
Taken Courses
  • Ethics & STICs (STIC Doctoral School)
  • Reproducible Research, methodological principles for a transparent science (Inria)
  • Robots, Ethics and Society (University of Paris)
  • Writing and publishing research papers (STIC Doctoral School)
  • Constraint Programming for Robotics (ENSTA Bretagne)
  • Multisensor data fusion (Paris-Saclay University)
  • Mastering the Bash shell (La Réunion University)
MSc in Distributed Computing Systems
Taken Courses
  • Real-time Systems
  • Embedded Systems
  • Advanced Programming SPICE VHDL-AMS
  • Microcontrollers
  • Modern Microprocessors
  • Mobile Telecommunications
  • Complex Digital Systems
  • Distributed Systems, Distributed Algorithms
  • Nanotechnology
  • Information Technology
  • Advanced Networking
  • Distributed Databases
  • Collective and Distributed Intelligence
  • Cryptography
  • Data Compression
  • Business Management
BSc in Infotronics (Computer Science and Electronics)
Taken Courses
  • Mathematics I, II, III, VI
  • Physics I, II
  • Chemistry I, II
  • Algorithmic
  • Mechanical Vibrations Waves
  • Rational Mechanics
  • Complex-Variables Functions
  • Scientific Computation Language
  • Numerical Methods
  • Technical Drawing
  • Telecommunications
  • Electronics
  • C Programming in Linux
  • Computer Architecture
  • Operating System (POSIX)
  • Digital Electronics
  • Networks
  • Signal Processing
  • Electronic Circuits
  • Advanced Digital Electronics
  • Database Management Systems
  • Distributed Systems
  • Cybersecurity
  • Digital Signal Processors (DSP)
  • Management of Small and Midsize Companies
New Hammadi High School
2008-2011
High School Diploma (Baccalauréat)

Publications

Indoor localization for mobile industrial robots is a crucial step toward an autonomous system. A mobile robot needs a reliable and robust localization system to achieve its task autonomously. A reasonable estimate of the robot’s state can be achieved through Visual Odometry (VO); however, with dynamic objects in the scene, classical VO approaches need to detect and filter these moving objects. Alternatively, we can use an up-facing camera to track the movement with respect to the ceiling, which represents a static and invariant space. This paper presents Ceiling-DSO, an indoor ceiling-vision (CV) system based on Direct Sparse Odometry (DSO). We take advantage of the generic formulation of DSO to avoid making assumptions about the observable shapes or landmarks on the ceiling, making the method generic and applicable to multiple ceiling types. We built a ceiling-vision dataset in a real-world scenario; we then used it to test our approach with different DSO parameters to identify the best fit for robot pose estimation. This paper provides a qualitative and quantitative analysis of the obtained results that showed an acceptable error rate compared to the ground truth.

Particle swarm optimization for solving a scan-matching problem based on the normal distributions transform

In this paper, an evolutionary scan-matching approach is proposed to solve an optimization issue in simultaneous localization and mapping (SLAM). A rich literature has been invested in this direction, however, most of the proposed approaches lack fast convergence and simplicity regarding the optimization process, which should directly affect the accuracy of the environment’s map and the estimated pose. It is a line of research that is always active, offering various solutions to this issue. Among many SLAM methods, the normal distributions transform approach (NDT) has shown high performances, where numerous works have been published up to date and many studies demonstrate its efficiency wrt other methods. Nevertheless, few works have been interested to solve the optimization issue. The proposed solution is based on NDT scan- matching using particle swarm optimization (PSO) and it is dubbed NDT-PSO. The main contribution is to solve the pose estimation problem based on PSO and iterative NDT maps. The performances of the NDT-PSO approach have been proven in real experiments performed on a car-like mobile robot in both static and dynamic environments. NDT-PSO is tested for different swarm sizes, and the results show that 70 particles are more than enough to find the best particle while avoiding local minima even in loop closing. The algorithm is also suitable for real time applications, with an average runnnig time of 145ms for 70 particles and 70 iterations of the optimization process. This value can be further reduced using fewer particles and iterations. The accuracy of the proposed approach is also evaluated wrt other SLAM methods widely used among the robot operating system community and it has been shown that NDT-PSO outperforms these algorithms.

This paper deals with the problem of simultaneous localization and mapping (SLAM). Providing both accurate environment’s map and pose estimation is necessary to correctly navigate, which is a key issue for a mobile robot interacting with human beings. It is a line of research that is always active, offering various solutions to this issue. Nevertheless, among many SLAM methods, Normal Distributions Transform (NDT) has shown high performances, where numerous works have been published up to date and many studies demonstrate its efficiency wrt to other methods. In this paper a new NDT based SLAM method using Particle Swarm Optimization called NDT- PSO is proposed. The main contribution is to invest the bio- inspired approach PSO to solve pose estimation problem based on iterative NDT maps. Real experiments have been performed on a car-like mobile robot to confirm the performances of NDT-PSO approach and its efficiency in both static and dynamic environments.

Warehouses and industrial sites are getting more and more interest in automating their workflow; in such an environment, a robust localization method is required to accomplish safe navigation indoors. One widely used scheme is the usage of custom AGVs and dedicated infrastructures to automate moving goods within the warehouse; however, such a solution needs to modify the infrastructure or to make custom robots that fit the existing infrastructure, which requires an important investment. In this paper, we present and validate the SmartTrolley, a generic, modular, and scalable experimental platform for usage in warehouses and industrial sites; able to localize itself in the environment using a scan matching and EKF based indoor Simultaneous Localization and Mapping (SLAM) algorithm.

Contribution à la Localisation et la Cartographie Simultanées (SLAM) dans un Environnement Urbain Inconnu

Ce travail traite les problèmes de localisation et de cartographie pour un robot mobile de type voiture évoluant dans un environnement urbain inconnu. Le robot est équipé d’un capteur laser de type Sick LMS511 Pro dont les données sont exploitées pour l’accomplissement de ces tâches. Dans une telle situation, les deux problèmes ne peuvent pas être dissociés, c’est pourquoi, nous proposons d’adopter une approche de localisation et cartographie simultanées (SLAM). La solution développée dans ce manuscrit est nommée NDT-PSO. Elle est basée sur la méthode de la transformation de distribution normale (NDT) et la méthode d’optimisation par essaim particulaire (PSO). La NDT est une méthode SLAM dont le principe est de déterminer la transformation géométrique entre deux scans laser successives grâce à des techniques d’alignement. Sa représentation de l’environnement est basée sur la modélisation de tous les points 2D reconstruits à partir d’un scan laser par une collection de distributions normales locales. La méthode PSO est utilisée dans la phase d’optimisation des paramètres de transformation afin de déterminer les poses (positions et orientations) du robot. Les algorithmes proposés sont implémentés en langage Python sous le système ROS et testés sur le robot mobile RobuCar dans le cadre d’un projet de transport urbain intelligent.