Mobile Robotic

Gitlab repository https://gitlab.u-angers.fr/cours/mobile_robotic_student

Mobile Robotic source code

This repository contains all the source files for the mobile robotic course of Polytech Angers.

Monte Carlo Localization

This workshop aims to program a MonteCarlo Localization. The explanation of the work to do can be found in the document documents/MCL/MCL.pdf

To run the main program: python3 main_mcl.py

To run the unit tests: python3 run_mcl_unit_tests.py

Files to complete:

  • tp_mcl/monte_carlo.py
  • tp_mcl/cost_map.py

A video of the expected results: https://youtu.be/HXVk_BERMqI

Rapidly Explored Random Tree

This workshop aims to program a path planing algorithm based on a simple Rapidly explored Random Tree (RRT). The explanation of the work to do can be found in the document documents/RRT/RRT.pdf

To run the main program: python3 main_rrt.py

To run the unit tests: python3 run_rrt_unit_tests.py

Files to complete:

  • tp_rrt/rrt_star.py
  • tp_rrt/utils.py

A video of the expected results: https://youtu.be/6R7sKZh-IEY

A star

This workshop aims to program a path planing algorithm based on A*. The explanation of the work to do can be found in the document documents/ASTAR/ASTAR.pdf

To run the main program: python3 main_astar.py

To run the unit tests: python3 run_astar_unit_tests.py

Files to complete:

  • tp_astar/node.py
  • tp_astar/a_star.py
  • tp_astar/utils.py

A tool is also provided to help to understand the A* algorithm but also the Dijskra and weighted A* algorithms. To start the tool: python3 tp_a_star/shortest_path_ui.py The help for the user interface can be found in the Help menu.

Iterative Closest Point

This workshop aims to program an Iterative Closest Point (ICP) algorithm to map two LiDAR sensor data. The explanation of the work to do can be found in the document documents/ICP/ICP.pdf. A Nelder And Mead algorithm is considered to evaluate the best transformation.

To run the main program: python3 main_icp.py

To run the unit tests: python3 run_icp_unit_tests.py

Files to complete:

  • tp_icp/icp.py
  • tp_icp/simplex.py
  • tp_icp/vertice.py

Frontier Exploration

This workshop aims to program an frontier exploration algorithm for autonomous exploration. The explanation of the work to do can be found in the document documents/EXPLORATION/EXPLORATION.pdf

To run the main program: python3 main_exploration.py

To run the unit tests: python3 run_exploration_unit_tests.py (Work in progress... Not available yet...)

Files to complete:

  • tp_exploration/exploration_map.py
  • tp_exploration/work2do.py