Draft of Autoware Vector Map
This repository was created in order to show my idea to Autoware Maps and Routing WG's members.
Please note that this is not completed enough yet and requires more development to be practical level.
-
Easy Vector Map Creation using QGIS
-
Automatic generation of relationships and features
- Intersecting Stop Line / Crosswalk
- Connected Lane / Adjacent Lane
- Lane Section / Lane Boundary
-
Z-values alignment(PointCloud is required)
-
GIS compatible(because using GeoPackage)
- Easy to develop utility scripts
-
GeoPackage based Vector Map Loader
- By ID, By position and range
- Simple C++ data structures are available and easily customizable
-
boost::geometry integration
-
ROS integration
- pub/sub of map message
- RViz visualization
- Ubuntu 18.04
- ROS Melodic
- catkin build
mkdir -p ~/avm_ws/src
cd ~/avm_ws/src
git clone https://github.com/kenji-miyake/draft-of-autoware-vector-map.git
cd ~/avm_ws
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
sudo apt -y install libfmt-dev # required until PR is merged to rosdep
catkin build
echo "source ~/avm_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
If you use scripts,
sudo apt -y install python3-venv python3.7 python3.7-dev
pip3 install poetry
roscd autoware_vector_map/scripts/autoware_vector_map/
CPLUS_INCLUDE_PATH=/usr/include/gdal C_INCLUDE_PATH=/usr/include/gdal poetry install
- Rviz visualization
roslaunch autoware_vector_map_examples odaiba-sample-tf.launch
roslaunch autoware_vector_map vector_map_loader.launch vector_map_path:=`rospack find autoware_vector_map_examples`/share/map/odaiba-sample/odaiba-sample_preprocess.gpkg
rviz -d `rospack find autoware_vector_map_examples`/share/map/odaiba-sample/odaiba-sample.rviz
- Low level APIs See autoware_vector_map_examples/src/example1/main.cpp.
rosrun autoware_vector_map_examples example1
- Vector Map APIs See autoware_vector_map_examples/src/example2/main.cpp.
rosrun autoware_vector_map_examples example2
There are sample map file and project file.
In the same directory, there is odaiba-sample_preprocess.gpkg, which is a preprocessed file by script.
Images are in this document.
.qgz
files can be open with QGIS.
Also, you can view .gpkg
files using DB Browser for SQLite like this.
sudo apt -y install sqlitebrowser
xdg-open empty-vector-map.gpkg
To create your own vector map, please install QGIS 3.10 or later from official page.
- Create an empty Vector Map to make digitizing easy
roscd autoware_vector_map/scripts/autoware_vector_map/
poetry shell
python `rospack find autoware_vector_map`/scripts/autoware_vector_map/create_empty_vector_map.py
- Open QGIS, drag-and-drop empty-vector-map.gpkg, and write features
- I will prepare tutorial videos later.
- Run preprocess script
roscd autoware_vector_map/scripts/autoware_vector_map/
poetry shell
python `rospack find autoware_vector_map`/scripts/autoware_vector_map/vector_map_preprocessor.py {PATH_TO_YOUR_VECTOR_MAP}
I'd appreciate it if you could give me any feedback.
-
General comments about Vector Map Library for Autonomous Driving Please post to this thread.
-
Questions / Suggestions about this repository Please use GitHub Issues or DM me on Autoware Developers Slack.
-
Anything else Please DM me on Autoware Developers Slack.