Vector maps consist of geometric elements such as straight lines and curves, and are extremely suitable for robot action planning using algebraic geometry methods and AI methods. This is created by removing noise from the occupancy map information generated by SLAM, extracting line segment elements consisting of single straight lines and curves, and accurately identifying the position of the corners between line segment elements. The vector_map library performs these processes, and also has functions that make it easier to handle topological structures by representing the created vector map as a set of hierarchical objects.
test environment

point cloud map by raw SLAM output

vector map

automatic division of vector map

(Please care that numpy version should be >= 1.22.0 to run opencv)
mkdir <work_dir>
cd <work_dir>
git clone https://github.com/RobotSpatialCognition/vector_map.git
cd vector_map
-> <work_dir>/vector_map
pip3 install -e .
- usage sample
python3 test/test1.py
- full demo
pytwb_demo
- Wataru Mita, Johei Matsuoka, and Kazuya Tago, ”A Vectorized Map Library as a Platform for Higher Layer Planning for Mobile Robots," International Workshop on Smart Info-Media Systems in Asia (SISA), IEICE, 2023.