Lecture - Software and Architecture for Mobile-Robotics

Here is a lecture on software and architecture for mobile robots at the IMT-Nord-Europe engineering school.

This lecture is an introduction on how to develop a modular control and supervision software for a mobile platform. The notions are illustrated with tutorials based on Linux/ROS and Kobuki/Turtlebot2 robot. This support is shared on github and published thanks to GitHub pages.

Furthermore, the purpose of this lecture and its tutorials is not to cover all ROS elements. The tutorials are designed with ament_cmake build tool, mostly python node and yaml launch files. Notice that other solutions are provided by ROS2 with potentially more efficient results.

Tutorials

Tutorials are organized on several levels of complexity:

  • Kick-Off focus on basic concept 'terminal commands', interconnected software developments on simulations and with a real mobile platform.
  • Level-up deep into __ROS2_ to develop a complete packaged solution of reactive control.
  • Mastering, with a good understanding of ROS2 tools and API, the goal now is to achieve complex missions including mapping and localization.

Challenge

The evaluation mainly consists in the realization of an application involving specific challenges:

  • Autonomous Control of an AGV (Automated Guided Vehicle)
  • Mapping and Localization
  • Research and recognition of an object

Going further

Most of the content and supports for learning robotics architecture are already shared on the internet. We try to guide the students through project realizations rather than to provide an exhaustive definition of concepts and implementations. This course relies on the ROS middleware for practical sessions, the ROS doc tutorials and ros-packages' descriptions: docs.ros.org.

An alternative to this course can be found on roboticsbackend.com. You also can find an excellent virtual working environment and resources on TheConstruct.

Contact

For comments, questions, corrections, feel free to contact:

Guillaume Lozenguez (coordinator, but not the only author here).