The Boustrophedon decomposition method for offline robot complete path planning



University of Strasbourg
Master 1 CSMI
2022-2023


Supervisors: Luca Berti, Céline Van Landeghem, Christophe Prud'homme



1. General context

Motion planning is an essential pillar of modern robotics, enabling robots to move efficiently and autonomously in their environment. In the field of mobile robotics, motion planning is of particular importance, as it plays a crucial role in applications such as cleaning robots, where complete coverage of an area is essential for optimum performance.

In this context, the internship with Cemosis under the supervision of Luca Berti, Céline Van Landeghem and Christophe Prud’homme offers an exciting opportunity to pursue the development of advanced motion planning methods for cleaning robots. Our aim is to meet the challenge of complete coverage of fluid environments while taking into account the presence of obstacles.

The general context of this internship falls within the broad field of motion planning in robotics and artificial intelligence. The efficiency of cleaning robots depends closely on their ability to systematically explore and cover the entire area of interest. With this in mind, the boustrophedon algorithm has proved to be a promising approach, offering a back-and-forth motion method for the complete coverage of rectangular areas, even in the presence of obstacles.

The main goal of the internship is to develop advanced numerical methods for controlling the velocity, acceleration and orientation of objects in fluid environments, with a particular focus on obstacle avoidance. The skills acquired during the internship will be applied in the field of robotics and digital object simulation, and could also have applications in video games.

This internship represents an opportunity to contribute to the research and development in robotics and fluid dynamics. The results of this work could have implications for improving the performance of cleaning robots and their application in real environments. We are convinced that this combined exploration of motion planning in fluid environments and in the presence of obstacles will pave the way for new perspectives in the field of mobile robotics.

2. Company presentation

The project is realized by the Cemosis center [Cemosis].

Cemosis
Figure 1. Cemosis logo [Cemosis]

Cemosis, created in 2013, is the Strasbourg Modeling and Simulation Center. It is hosted by the Institute for Advanced Mathematical Research. This structure composed by mathematical researchers and engineers specialized in mathematical modeling and numerical simulation, plays an essential role in facilitating modeling and numerical simulation for academic disciplines and companies. It aims to strengthen interdisciplinary collaboration, offer training in modeling and simulation, and develop strong links with other industries. Cemosis deploys teams comprising experts from various modeling and simulation fields. These teams are specially set up to support multidisciplinary projects. The duration of projects can vary according to the availability of models and software tools. Some projects can be completed in a few months, while others, requiring the complete development of models, may take longer.

3. Objectives and roadmap

The goal of this project is to implement the Boustrophedon Decomposition Path Planning algorithm for a mobile robot moving in a 2D environment with obstacles. The specific objectives of this project are as follows:

  1. Generate a CSV file representing the robot’s path using Boustrophedon motion to efficiently cover the entire computational domain.

  2. Implement the Boustrophedon Decomposition algorithm to divide the domain into accessible cells while avoiding obstacles.

  3. Visualize the robot path and decomposition graph.

To achieve these objectives, two Python classes have been created : one class for a free domain without obstacles, and one for the case with obstacles. The implementation includes :

  1. A Python package to read the mesh written with gmsh and to detect intersections between the robot and obstacles.

  2. Construction of the boustrophedon graph using the networkx python library.

  3. Saving node and edge paths:

    • Implement a method to save the graph node paths in CSV files.

    • Define a method to browse all nodes in the graph and save their respective paths in CSV files.

  4. Graph traversal and complete path generation :

    • Implement a method to traverse the graph using depth-first traversal [DFS] of the edges.

    • Combine the paths of neighboring nodes to form the robot’s complete boustrophedon path.

    • Save the complete boustrophedon path in a CSV file.

  5. Visualization :

    • Visualize the complete boustrophedon path.

    • Draw the boustrophedon graph with numbered node labels to better understand the path decomposition.

4. Perspectives

The prospects for this internship are twofold: improvements to the offline case (i.e. the case where we know the field of work) and then looking at methods for the online case (i.e. when we don’t know the field).

  1. Improvements to the offline case :

    • In-depth performance analyses will be carried out to evaluate the efficiency of the Boustrophedon path planning algorithm as a function of computational domain dimensions and obstacle complexity.

    • We’re also going to change the shape of the obstacles (i.e. like trapezoids) in the domain to test our boustrophedon algorithm.

    • Graph generation optimization: Review the Boustrophedon graph generation algorithm to reduce computation time. In addition, we aim to explore parallelization or loop optimization approaches to improve performance.

  2. Online case:

    • Implement the online complete coverage algorithm BA. In this algorithm, the robot is represented by a tile s = (x,y, 2r), i.e. the size of the robot’s diameter at its position. To construct a boustrophedon movement, the robot moves at each time step from the current position to one of its four adjacent positions according to the four directions: north, south, east and west.

    • Comparison with other approaches: Compare the performance of the Boustrophedon Decomposition Path Planning algorithm with other popular online path planning algorithms, such as RRT (Rapidly-exploring Random Trees).

5. Conclusion

In this internship, we have implemented the Boustrophedon Decomposition Path Planning algorithm for a mobile robot moving in a 2D environment with obstacles. To avoid these obstacles, we have used the Boustrophedon Decomposition algorithm to divide the computational domain into accessible cells. Finally, we have visualized the robot path and decomposition graph.

The results of this work could have significant implications for improving the performance of cleaning robots and their application in real environments. We are convinced that this combined exploration of motion planning in fluid environments and in the presence of obstacles will pave the way for new perspectives in the field of mobile robotics.