Once the map is built, the robot can begin performing its navigation and obstacle avoidance functions.

Fig. 4 – Setting the goal

Navigation is comprised of path planning to reach a goal within a map, along with detection of new obstacles that are not part of the map. This is where the preceding elements of LiDAR, scanning, and mapping are all brought together into a functioning system. As can be seen in our navigation video, the software provides real-time updates to the proposed path to keep the robot within the mapped area, whilst avoiding any new obstacles. In the picture below, we see a navigation ‘goal’ being set. The user clicks a location on the map where they would like to robot to go, and the navigation software displays a large green arrow to show this goal.

In addition to showing the goal, the picture above also shows:

  • the mapped data: the black areas
  • the scan data from the LiDAR: the white dots
  • the robots current position: the red circle
  • obstacle inflation: the turquoise/purple areas

In deriving a path to the goal, the robot must allow a safe distance around all obstacles. To this end, the purpose of obstacle inflation is to make obstacles appear larger than they are, and with a safety margin, to help ensure the robot does not collide with them. So the turquoise areas are areas the robot should avoid: they are the danger spots where collision could occur. During path planning, the robot footprint (in red) should not be made to overlap significantly with those inflated areas.

Fig. 5 – Obstacle inflation

As the robot navigates towards a goal, it maintains an area around itself where it performs obstacle inflation, and seeks to keep its path outside of those areas. Here we can see a path the robot planned to move across the room (green line):

Fig. 6 – The planned path

After some time navigating towards the goal, we introduce a new obstacle (a cardboard box, see the previously mentioned videos) and this causes the robot to have to make a new plan to reach the goal. In the next picture, we see how the new path is planned to go around the new obstacle (green line bends around the box which has appeared in the map as an inflated obstacle):

Fig. 7 – The revised path

As long as the green line is kept outside of the turquoise areas, then the path is safe for the robot to travel. Using these techniques of mapping, obstacle inflation and path planning, the robot is able to move towards its goal and dynamically avoid obstacles, even as those obstacles move into and out of it’s currently intended path.