Behavior of a single agent

Autonomous Navigation

Background​

This work was developed in the context of the project IDRON: Confined spaces inspection employing Unmanned Aerial Systems. Explicative video here.

Objectives​

The solution must provide a unique system that integrates and coordinates the applications required for a safe understanding of the environment and the capacity to move collision-free to the interesting points for the inspection.

Architecture

  • Master. The main node centralises the information and provides interfaces with the rest of the modules. Implementation: Python node.
  • Behavior. Implemented as the form of a Behavior Tree based on the current state of the mission i.e. the information provided by other components of the system. Behavior does not manage specific information (such as 3D points) but general conditions and actions to be accomplished. Implementation: ROS-Behavior-Tree
  •  SLAM. SLAM focuses on estimating the relative position of a sensor with respect to its environment. Spatial information is used to extract characteristic geometries. With all that information during enough time and movement around, a map can be built. Implementation: ALOAM (amongst other tested).
  • Octomap: The map is then employed to fulfil an octomap: a dynamic discretization of the space (octree). Each portion of the Octomap is set to occupied, free or unknown given the map information. Implementation: OctoMap ROS library.
  • Exploration. Attending to the octomap information this algorithms randomly expands a tree through free space and rooted on the current robot’s position. Information gain probability is computed for each node of the tree. Finally, the most promising path (root-nodes-leaf) is selected and the next node on that path is set as the target. Implementation: AEplanner (amongst other tested)
  • Navigation. Once the whole environment has been explored and its map is at disposal, a navigation algorithm finds the optimal collision-free path between any two free points. Implementation: path_planning.
  • Real hardware experiments: Intel NUC, Ouster LiDaR sensor and custom drone frame.

The solution must provide a unique system that integrates and coordinates the applications required for a safe understanding of the environment and the capacity to move collision-free to the interesting points for the inspection.