Autonomous Robot Motion Planning|Summary of Map Related Concepts

map representation

The map is divided into two modules:

  • The map is loaded in the data structure of the data
  • Map Information Fusion Method

insert image description here

Occupancy grid map

The most widely used is Occupancy grid map Occupancy grid map
insert image description here
3D grid map
insert image description here
2D grid map

insert image description here
2.5d grid map

Features of occupancy grid maps:

  • most dense
  • structured
  • Direct coordinate index query

Grid map resources: https://github.com/ANYbotics/grid_map

Octree map (Octo-map)

Data structure
insert image description here
The advantage of such a map data structure is that it can form the following data types. The above
insert image description here
cube can be considered as a room. There are no obstacles in many places, so it does not need to be so finely divided, and the places with obstacles can be divided into finer points.
This reduces computing resource consumption

Octree map features:

  • Sparse
  • structured
  • Indirect coordinate index query

Octrees-based resources:
https://octomap.github.io
insert image description here
insert image description here
Use octotrees to represent point cloud map examples
insert image description here
Use octrees to represent point cloud objects with different resolutions

Voxel hashing (hash table map)

Similar to the idea of ​​an octree,
Voxel means a three-dimensional grid
hashing, which means storing the map in the form of a hash table.
insert image description here
The above picture is a camera observation of an obstacle surface, and only the grid on the obstacle is added. Memory, such as the blue and red squares above, the specific way to add memory is to use a hash table to map the coordinates xyz of the grid into a hash key value through a function. With the hash key value, it can be inserted In the table, it is equivalent to the way of dictionary query to perform map query.

Hash table map features:

  • most sparse
  • structured
  • Indirect coordinate index query

Public resources of Voxel hashing: https://github.com/niessner/VoxelHashing

This kind of map is most commonly used to build dense maps based on RGBD depth cameras.
insert image description here
You can refer to the open source project of infiniTAM http://www.robots.ox.ac.uk/~victor/infinitam/

Point cloud map

The most basic of sensors, a collection of raw measurements. The biggest feature is that it is out of order, and it is not possible to search for point indexes.

Point clouds can be used to represent dense information about obstacles.

Point cloud map features:

  • out of order
  • No index coordinates
    insert image description here
    Point cloud resource PCL: http://pointclouds.org/

TSDF map

The full name of TSDF is: Truncated Signed Distance Functions truncated signed distance function map (TSDF map)

insert image description here
As shown in the figure above, a camera is observing the environment, and there is a curved surface in front of it.
TSDF will assume that there is a distance field directly between the surface and the camera, and the distance field between the camera and the surface is upright, indicating the closest point to the obstacle. distance.
Behind the surface, there is also a distance field, and each point also represents the closest distance to the obstacle, but is a negative value.
The distance is represented by different colors, and the following figure is formed.
insert image description here
Truncated represents truncated
meaning: the value outside the camera field of view is not concerned, and the value of a certain distance range of obstacles is concerned. The distance It doesn't matter if it's far away. Therefore, in the above picture, no color is formed at points that are very close to the camera and outside the field of view.
insert image description here
A typical application is OpenChisel
https://github.com/personalrobotics/OpenChisel provides a complete front-end camera information fusion project to the back-end TSDF map.

ESDF map

The full name of ESDF is Euclidean Signed Distance Functions.

The difference between ESDF and the TSDF mentioned above is: ESDF has no truncation, and cares about the value of all distance fields

insert image description here
The darker the color, the red means the closer to the obstacle, and the green means the farther away from the obstacle

Open source tools are:

  • VoxBlox is a tool for building ESDF maps in the shortest possible time
    https://github.com/ethz-asl/voxblox
  • FIESTA Accuracy and Performance Exceeds VoxBlox
    https://github.com/HKUST-Aerial-Robotics/FIESTA
  • TRR's Local Map
    is a complete UAV autonomous flight resource, which is equivalent to building a local ESDF map, and FIESTA is equivalent to incrementally building a global ESDF map
    https://github.com/HKUST-Aerial-Robotics/Teach- Repeat-Replan

Guess you like

Origin blog.csdn.net/qq_32761549/article/details/130126990