Barriers are obstacles in the physical world that cannot be passed through, such as columns, walls, closed rooms, or areas outside of the building.
A map of location can be divided into two main areas: barriers and a walkable navigational area, where it is possible to move and provide a feasible solution of navigation for a user. This area is called white area in our algorithms.
Barriers have a sufficient importance for a positioning algorithm when it comes to a particle filter. This concept uses particles as a state of a system: each particle is a probabilistic representation of a position and orientation of a user on the location. They are spread over the white area, so a possible solution can be found in a walkable area. That is why it is important to make a reliable set of barriers to be able to get the best solution. Check out the video about Particle filter.
After that the initiation particles are evolving by mutation of the states setting higher weights for the most probable positions on a map. Also since a particle can be generated in a white area, some particles can be placed from the opposite side of a wall.
Here one can see that particles are placed from both sides of a wall. The effect of it is that a navigational solution can possibly move through barriers due to a non linear nature of particle filter. That is why it is important to cover all the non walkable areas with barriers also using intersections between them (see p.4 in the next part) in order to prevent unnecessary jumps and improve the quality of navigation. More information about Particle filter can be found here.
These gif images represent the difference in navigation with and without barriers. Here one can see that the quality of navigation without barriers is worse than the quality of navigation with them for the reasons described above. The median error has increased from 0.2m to 0.8m and maximum error from 2.9m to 4.7m after removal of the barriers.
NOTE: When creating a new barrier, ensure that it overlaps with the previous barrier.
Overlapped barrier
Make sure that the barrier: