ROS-based system for autonomous navigation of an omnidirectional robot in a dynamic environment (ASGARD-NAV)

The system ASGARD-NAV for the autonomous navigation of a mobile robot is built within the ROS2 framework. It combines various types of nodes ranging from completely user-created at our workplace, through application-specifically configured modules, to modules included in the ROS2 system. The result is software capable of fully autonomously driving a robot equipped with omnidirectional wheels. It is possible to connect to the system any omnidirectional chassis providing an API for controlling the speed of motors and any set of laser scanners (2D and 3D) for sensing the surrounding environment. The system is designed for deployment on an embedded platform and is completely independent - its only input is the coordinates of the robot's target destination. The focus is on movement in a dynamically changing environment, such as factory halls with lots of moving people (workers) and machines, in which the software can detect obstacles and dynamically replan the movement trajectory based on them. The system creates and updates an internal map that allows it to find the optimal route based on already acquired knowledge (mapped area). The system also implements an interface for connecting an external module, which is able to deliver obstacles classified into several classes (human, robot, other obstacle, fixed installation). In addition to the position and dimensions of the obstacle itself, the navigation system also takes into account its class and is thus better able to respond to dynamic changes (e.g. It doesn't start detour in a case of moving person, waits instead; on the contrary, it plans detour around a static worker instantly).