No version for distro humble showing github. Known supported distros are highlighted in the buttons above.
Package symbol

flexmap_fusion package from flexmap_fusion repo

flexmap_fusion

ROS Distro
github

Package Summary

Tags No category tags.
Version 0.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description ROS 2 Autoware Tool for Map Georeferencing and OSM Fusion
Checkout URI https://github.com/tumftm/flexmap_fusion.git
VCS Type git
VCS Version main
Last Updated 2024-07-15
Dev Status UNKNOWN
Released UNRELEASED
Tags mapping point-cloud georeferencing ros2 autoware lanelet2
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Package to improve erroneous lanelet2 map from vehicle-centric algorithms with OpenStreetMap data

Additional Links

No additional links.

Maintainers

  • Maximilian Leitenstern

Authors

No additional authors.

FlexMap Fusion

Linux Docker ROS2humble

Overview

image Offline Mapping Pipeline developed at the Institute of Automotive Technology

  • ROS2 package for the improvement/extension of lanelet2 maps with data from OpenStreetMap and their georeferencing with GNSS data
  • The package is designed for the application in an offline mapping pipeline developed at the Institute of Automotive Technology of the Technical University of Munich
  • The package consists of the three modules “Map Alignment”, “Map Conflation” and “Georeferencing”, that are explained in more detail in the image below and the documentation of the single modules image Overview of the single modules of the FlexMap Fusion tool
  • The following functionalities are included
    • georeferencing of the lanelet2 map based on the transformation calculated by the vehicle ego trajectory from GNSS and the SLAM-trajectory
    • fusion of semantic information from OpenStreetMap into the lanelet2 map (generated from point cloud map data)
    • modular expandability to include additional semantic information
    • possibility to apply georeferencing step on the point cloud map resulting from the SLAM process and used for the generation of the lanelet map
    • extensive visualization within RVIZ2

[!NOTE]
If you’re more interested in georeferencing a 3D pointcloud map, check out FlexCloud, a further development of the georeferencing stage supporting fast 2D and 3D rubber-sheeting with Delauny-Triangulations.

🐋 Docker Setup

### Package Design This package is designed as a standalone ROS2 package. It was developed with ROS2 humble. For easier handling of dependencies, a docker environment is provided that sets up everything and builds the package. As the package is designed for use in combination with [Autoware](https://github.com/autowarefoundation/autoware), the source code can also be build within the [Autoware](https://github.com/autowarefoundation/autoware) docker environment. ### Setup 1. Clone the repository by running ```bash git clone git@github.com:TUMFTM/FlexMap_Fusion.git ``` 2. Go to the root directory of the repository ```bash cd FlexMap_Fusion/ ``` 3. Build the docker image ```bash ./docker/build_docker.sh ``` 4. Run the container and mount your data by appending the directory containing your data: ```bash ./docker/run_docker.sh /your/local/directory/data ```

🖥 How to Use the Package

* the package contains two executables with corresponding ROS2 launch file: * lanelet2_osm * provide all functionality described in the publication and the pipeline overview * additional possibility to georeference the point cloud map corresponding to the lanelet map, but without its visualization * kiss_icp_georef * provides the possibility to georeference the SLAM poses and the corresponding point cloud map withouth the need of a lanelet map as input (-> no conflation with [OpenStreetMap](openstreetmap.org/)) * provides visualization of the point cloud map in RVIZ2 * in the following, the sections are split between the two executables (however, keep in mind that kiss_icp_georef just provides a subset of the functions of lanelet2_osm)

📄 lanelet2_osm </h2> </summary> 1. Necessary input parameters: - `traj_path` => path to GPS trajectory of the vehicle (format: txt-file with lat, lon) - `poses_path` => path to SLAM trajectory of the vehicle (KITTI-format, trajectories don't have to be synchronized over time) - `map_path` => path to lanelet2 map corresponding to trajectories (map can have missing elements/attributes, only when using node `lanelet2_osm`) - `out_path` => path to save the modified lanelet map (DEFAULT: /lanelet2_map.osm, only when using node `lanelet2_osm`) - if you want to georeference the point cloud map corresponding to the lanelet2 map with the same set of control points: - set the parameter `transform_pcd` in the config file to `true` - adjust the path to the point cloud map (parameter `pcd_path`) - the georeferenced point cloud map will be saved in the current working directory (if you'd like to specify a different path, see `kiss_icp_georef` 2. Start the package - it is recommended to directly use the provided ROS launch file as it starts the package itself and the visualization in RVIZ: - replace the filepaths and run the following command inside the docker container: ```bash ros2 launch flexmap_fusion lanelet2_osm.launch.py traj_path:= poses_path:= map_path:= out_path:= ``` - the launch file directly links to the corresponding parameter file in `/config/`. - To directly run the package with the provided test files from the Docker root directory, use the following command: ```bash ros2 launch flexmap_fusion lanelet2_osm.launch.py traj_path:=./src/flexmap_fusion/test/route_1_GPS.txt poses_path:=./src/flexmap_fusion/test/route1_pose_kitti.txt map_path:=./src/flexmap_fusion/test/lanelet2_route_1.osm out_path:=lanelet2_map_georef.osm ``` 3. Select control points - after the trajectories are loaded and the target trajectory is aligned to the master trajectory by the Umeyama algorithm, you are asked in the command window to select control points for the rubber-sheet transformation (the amount of points can be configured in the config file). - select the desired points using the `Publish Point` button in RVIZ and follow the instructions in the command window. 4. Inspect results - results of the rubber-sheet transformation & lanelet map are visualized - see table for explanation of single topics | Topic | Description | | ----------- | ----------- | | `/lof/map/osm_map_markers` | Street network downloaded from [OpenStreetMap](openstreetmap.org/). | | `/lof/map/ll_map_markers` | Lanelet2-map enriched with attributes from [OpenStreetMap](openstreetmap.org/); Lanelets are colorized based on agreement between adjacent lanelets and lanes-tag of [OpenStreetMap](openstreetmap.org/). | | `/lof/map/ll_map_new_markers` | Lanelet2-map enriched with attributes from [OpenStreetMap](openstreetmap.org/); Lanelets that are likely to be wrong were removed by the module "Deletion of Lanelet Fragments". | | `/lof/traj/traj_master_markers` | Master trajectory -> to be defined in config-file (usually GNSS-trajectory) | File truncated at 100 lines [see the full file](https://github.com/tumftm/flexmap_fusion/tree/main/./README.md)

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged flexmap_fusion at Robotics Stack Exchange

No version for distro jazzy showing github. Known supported distros are highlighted in the buttons above.
Package symbol

flexmap_fusion package from flexmap_fusion repo

flexmap_fusion

ROS Distro
github

Package Summary

Tags No category tags.
Version 0.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description ROS 2 Autoware Tool for Map Georeferencing and OSM Fusion
Checkout URI https://github.com/tumftm/flexmap_fusion.git
VCS Type git
VCS Version main
Last Updated 2024-07-15
Dev Status UNKNOWN
Released UNRELEASED
Tags mapping point-cloud georeferencing ros2 autoware lanelet2
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Package to improve erroneous lanelet2 map from vehicle-centric algorithms with OpenStreetMap data

Additional Links

No additional links.

Maintainers

  • Maximilian Leitenstern

Authors

No additional authors.

FlexMap Fusion

Linux Docker ROS2humble

Overview

image Offline Mapping Pipeline developed at the Institute of Automotive Technology

  • ROS2 package for the improvement/extension of lanelet2 maps with data from OpenStreetMap and their georeferencing with GNSS data
  • The package is designed for the application in an offline mapping pipeline developed at the Institute of Automotive Technology of the Technical University of Munich
  • The package consists of the three modules “Map Alignment”, “Map Conflation” and “Georeferencing”, that are explained in more detail in the image below and the documentation of the single modules image Overview of the single modules of the FlexMap Fusion tool
  • The following functionalities are included
    • georeferencing of the lanelet2 map based on the transformation calculated by the vehicle ego trajectory from GNSS and the SLAM-trajectory
    • fusion of semantic information from OpenStreetMap into the lanelet2 map (generated from point cloud map data)
    • modular expandability to include additional semantic information
    • possibility to apply georeferencing step on the point cloud map resulting from the SLAM process and used for the generation of the lanelet map
    • extensive visualization within RVIZ2

[!NOTE]
If you’re more interested in georeferencing a 3D pointcloud map, check out FlexCloud, a further development of the georeferencing stage supporting fast 2D and 3D rubber-sheeting with Delauny-Triangulations.

🐋 Docker Setup

### Package Design This package is designed as a standalone ROS2 package. It was developed with ROS2 humble. For easier handling of dependencies, a docker environment is provided that sets up everything and builds the package. As the package is designed for use in combination with [Autoware](https://github.com/autowarefoundation/autoware), the source code can also be build within the [Autoware](https://github.com/autowarefoundation/autoware) docker environment. ### Setup 1. Clone the repository by running ```bash git clone git@github.com:TUMFTM/FlexMap_Fusion.git ``` 2. Go to the root directory of the repository ```bash cd FlexMap_Fusion/ ``` 3. Build the docker image ```bash ./docker/build_docker.sh ``` 4. Run the container and mount your data by appending the directory containing your data: ```bash ./docker/run_docker.sh /your/local/directory/data ```

🖥 How to Use the Package

* the package contains two executables with corresponding ROS2 launch file: * lanelet2_osm * provide all functionality described in the publication and the pipeline overview * additional possibility to georeference the point cloud map corresponding to the lanelet map, but without its visualization * kiss_icp_georef * provides the possibility to georeference the SLAM poses and the corresponding point cloud map withouth the need of a lanelet map as input (-> no conflation with [OpenStreetMap](openstreetmap.org/)) * provides visualization of the point cloud map in RVIZ2 * in the following, the sections are split between the two executables (however, keep in mind that kiss_icp_georef just provides a subset of the functions of lanelet2_osm)

📄 lanelet2_osm </h2> </summary> 1. Necessary input parameters: - `traj_path` => path to GPS trajectory of the vehicle (format: txt-file with lat, lon) - `poses_path` => path to SLAM trajectory of the vehicle (KITTI-format, trajectories don't have to be synchronized over time) - `map_path` => path to lanelet2 map corresponding to trajectories (map can have missing elements/attributes, only when using node `lanelet2_osm`) - `out_path` => path to save the modified lanelet map (DEFAULT: /lanelet2_map.osm, only when using node `lanelet2_osm`) - if you want to georeference the point cloud map corresponding to the lanelet2 map with the same set of control points: - set the parameter `transform_pcd` in the config file to `true` - adjust the path to the point cloud map (parameter `pcd_path`) - the georeferenced point cloud map will be saved in the current working directory (if you'd like to specify a different path, see `kiss_icp_georef` 2. Start the package - it is recommended to directly use the provided ROS launch file as it starts the package itself and the visualization in RVIZ: - replace the filepaths and run the following command inside the docker container: ```bash ros2 launch flexmap_fusion lanelet2_osm.launch.py traj_path:= poses_path:= map_path:= out_path:= ``` - the launch file directly links to the corresponding parameter file in `/config/`. - To directly run the package with the provided test files from the Docker root directory, use the following command: ```bash ros2 launch flexmap_fusion lanelet2_osm.launch.py traj_path:=./src/flexmap_fusion/test/route_1_GPS.txt poses_path:=./src/flexmap_fusion/test/route1_pose_kitti.txt map_path:=./src/flexmap_fusion/test/lanelet2_route_1.osm out_path:=lanelet2_map_georef.osm ``` 3. Select control points - after the trajectories are loaded and the target trajectory is aligned to the master trajectory by the Umeyama algorithm, you are asked in the command window to select control points for the rubber-sheet transformation (the amount of points can be configured in the config file). - select the desired points using the `Publish Point` button in RVIZ and follow the instructions in the command window. 4. Inspect results - results of the rubber-sheet transformation & lanelet map are visualized - see table for explanation of single topics | Topic | Description | | ----------- | ----------- | | `/lof/map/osm_map_markers` | Street network downloaded from [OpenStreetMap](openstreetmap.org/). | | `/lof/map/ll_map_markers` | Lanelet2-map enriched with attributes from [OpenStreetMap](openstreetmap.org/); Lanelets are colorized based on agreement between adjacent lanelets and lanes-tag of [OpenStreetMap](openstreetmap.org/). | | `/lof/map/ll_map_new_markers` | Lanelet2-map enriched with attributes from [OpenStreetMap](openstreetmap.org/); Lanelets that are likely to be wrong were removed by the module "Deletion of Lanelet Fragments". | | `/lof/traj/traj_master_markers` | Master trajectory -> to be defined in config-file (usually GNSS-trajectory) | File truncated at 100 lines [see the full file](https://github.com/tumftm/flexmap_fusion/tree/main/./README.md)

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged flexmap_fusion at Robotics Stack Exchange

No version for distro kilted showing github. Known supported distros are highlighted in the buttons above.
Package symbol

flexmap_fusion package from flexmap_fusion repo

flexmap_fusion

ROS Distro
github

Package Summary

Tags No category tags.
Version 0.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description ROS 2 Autoware Tool for Map Georeferencing and OSM Fusion
Checkout URI https://github.com/tumftm/flexmap_fusion.git
VCS Type git
VCS Version main
Last Updated 2024-07-15
Dev Status UNKNOWN
Released UNRELEASED
Tags mapping point-cloud georeferencing ros2 autoware lanelet2
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Package to improve erroneous lanelet2 map from vehicle-centric algorithms with OpenStreetMap data

Additional Links

No additional links.

Maintainers

  • Maximilian Leitenstern

Authors

No additional authors.

FlexMap Fusion

Linux Docker ROS2humble

Overview

image Offline Mapping Pipeline developed at the Institute of Automotive Technology

  • ROS2 package for the improvement/extension of lanelet2 maps with data from OpenStreetMap and their georeferencing with GNSS data
  • The package is designed for the application in an offline mapping pipeline developed at the Institute of Automotive Technology of the Technical University of Munich
  • The package consists of the three modules “Map Alignment”, “Map Conflation” and “Georeferencing”, that are explained in more detail in the image below and the documentation of the single modules image Overview of the single modules of the FlexMap Fusion tool
  • The following functionalities are included
    • georeferencing of the lanelet2 map based on the transformation calculated by the vehicle ego trajectory from GNSS and the SLAM-trajectory
    • fusion of semantic information from OpenStreetMap into the lanelet2 map (generated from point cloud map data)
    • modular expandability to include additional semantic information
    • possibility to apply georeferencing step on the point cloud map resulting from the SLAM process and used for the generation of the lanelet map
    • extensive visualization within RVIZ2

[!NOTE]
If you’re more interested in georeferencing a 3D pointcloud map, check out FlexCloud, a further development of the georeferencing stage supporting fast 2D and 3D rubber-sheeting with Delauny-Triangulations.

🐋 Docker Setup

### Package Design This package is designed as a standalone ROS2 package. It was developed with ROS2 humble. For easier handling of dependencies, a docker environment is provided that sets up everything and builds the package. As the package is designed for use in combination with [Autoware](https://github.com/autowarefoundation/autoware), the source code can also be build within the [Autoware](https://github.com/autowarefoundation/autoware) docker environment. ### Setup 1. Clone the repository by running ```bash git clone git@github.com:TUMFTM/FlexMap_Fusion.git ``` 2. Go to the root directory of the repository ```bash cd FlexMap_Fusion/ ``` 3. Build the docker image ```bash ./docker/build_docker.sh ``` 4. Run the container and mount your data by appending the directory containing your data: ```bash ./docker/run_docker.sh /your/local/directory/data ```

🖥 How to Use the Package

* the package contains two executables with corresponding ROS2 launch file: * lanelet2_osm * provide all functionality described in the publication and the pipeline overview * additional possibility to georeference the point cloud map corresponding to the lanelet map, but without its visualization * kiss_icp_georef * provides the possibility to georeference the SLAM poses and the corresponding point cloud map withouth the need of a lanelet map as input (-> no conflation with [OpenStreetMap](openstreetmap.org/)) * provides visualization of the point cloud map in RVIZ2 * in the following, the sections are split between the two executables (however, keep in mind that kiss_icp_georef just provides a subset of the functions of lanelet2_osm)

📄 lanelet2_osm </h2> </summary> 1. Necessary input parameters: - `traj_path` => path to GPS trajectory of the vehicle (format: txt-file with lat, lon) - `poses_path` => path to SLAM trajectory of the vehicle (KITTI-format, trajectories don't have to be synchronized over time) - `map_path` => path to lanelet2 map corresponding to trajectories (map can have missing elements/attributes, only when using node `lanelet2_osm`) - `out_path` => path to save the modified lanelet map (DEFAULT: /lanelet2_map.osm, only when using node `lanelet2_osm`) - if you want to georeference the point cloud map corresponding to the lanelet2 map with the same set of control points: - set the parameter `transform_pcd` in the config file to `true` - adjust the path to the point cloud map (parameter `pcd_path`) - the georeferenced point cloud map will be saved in the current working directory (if you'd like to specify a different path, see `kiss_icp_georef` 2. Start the package - it is recommended to directly use the provided ROS launch file as it starts the package itself and the visualization in RVIZ: - replace the filepaths and run the following command inside the docker container: ```bash ros2 launch flexmap_fusion lanelet2_osm.launch.py traj_path:= poses_path:= map_path:= out_path:= ``` - the launch file directly links to the corresponding parameter file in `/config/`. - To directly run the package with the provided test files from the Docker root directory, use the following command: ```bash ros2 launch flexmap_fusion lanelet2_osm.launch.py traj_path:=./src/flexmap_fusion/test/route_1_GPS.txt poses_path:=./src/flexmap_fusion/test/route1_pose_kitti.txt map_path:=./src/flexmap_fusion/test/lanelet2_route_1.osm out_path:=lanelet2_map_georef.osm ``` 3. Select control points - after the trajectories are loaded and the target trajectory is aligned to the master trajectory by the Umeyama algorithm, you are asked in the command window to select control points for the rubber-sheet transformation (the amount of points can be configured in the config file). - select the desired points using the `Publish Point` button in RVIZ and follow the instructions in the command window. 4. Inspect results - results of the rubber-sheet transformation & lanelet map are visualized - see table for explanation of single topics | Topic | Description | | ----------- | ----------- | | `/lof/map/osm_map_markers` | Street network downloaded from [OpenStreetMap](openstreetmap.org/). | | `/lof/map/ll_map_markers` | Lanelet2-map enriched with attributes from [OpenStreetMap](openstreetmap.org/); Lanelets are colorized based on agreement between adjacent lanelets and lanes-tag of [OpenStreetMap](openstreetmap.org/). | | `/lof/map/ll_map_new_markers` | Lanelet2-map enriched with attributes from [OpenStreetMap](openstreetmap.org/); Lanelets that are likely to be wrong were removed by the module "Deletion of Lanelet Fragments". | | `/lof/traj/traj_master_markers` | Master trajectory -> to be defined in config-file (usually GNSS-trajectory) | File truncated at 100 lines [see the full file](https://github.com/tumftm/flexmap_fusion/tree/main/./README.md)

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged flexmap_fusion at Robotics Stack Exchange

No version for distro rolling showing github. Known supported distros are highlighted in the buttons above.
Package symbol

flexmap_fusion package from flexmap_fusion repo

flexmap_fusion

ROS Distro
github

Package Summary

Tags No category tags.
Version 0.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description ROS 2 Autoware Tool for Map Georeferencing and OSM Fusion
Checkout URI https://github.com/tumftm/flexmap_fusion.git
VCS Type git
VCS Version main
Last Updated 2024-07-15
Dev Status UNKNOWN
Released UNRELEASED
Tags mapping point-cloud georeferencing ros2 autoware lanelet2
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Package to improve erroneous lanelet2 map from vehicle-centric algorithms with OpenStreetMap data

Additional Links

No additional links.

Maintainers

  • Maximilian Leitenstern

Authors

No additional authors.

FlexMap Fusion

Linux Docker ROS2humble

Overview

image Offline Mapping Pipeline developed at the Institute of Automotive Technology

  • ROS2 package for the improvement/extension of lanelet2 maps with data from OpenStreetMap and their georeferencing with GNSS data
  • The package is designed for the application in an offline mapping pipeline developed at the Institute of Automotive Technology of the Technical University of Munich
  • The package consists of the three modules “Map Alignment”, “Map Conflation” and “Georeferencing”, that are explained in more detail in the image below and the documentation of the single modules image Overview of the single modules of the FlexMap Fusion tool
  • The following functionalities are included
    • georeferencing of the lanelet2 map based on the transformation calculated by the vehicle ego trajectory from GNSS and the SLAM-trajectory
    • fusion of semantic information from OpenStreetMap into the lanelet2 map (generated from point cloud map data)
    • modular expandability to include additional semantic information
    • possibility to apply georeferencing step on the point cloud map resulting from the SLAM process and used for the generation of the lanelet map
    • extensive visualization within RVIZ2

[!NOTE]
If you’re more interested in georeferencing a 3D pointcloud map, check out FlexCloud, a further development of the georeferencing stage supporting fast 2D and 3D rubber-sheeting with Delauny-Triangulations.

🐋 Docker Setup

### Package Design This package is designed as a standalone ROS2 package. It was developed with ROS2 humble. For easier handling of dependencies, a docker environment is provided that sets up everything and builds the package. As the package is designed for use in combination with [Autoware](https://github.com/autowarefoundation/autoware), the source code can also be build within the [Autoware](https://github.com/autowarefoundation/autoware) docker environment. ### Setup 1. Clone the repository by running ```bash git clone git@github.com:TUMFTM/FlexMap_Fusion.git ``` 2. Go to the root directory of the repository ```bash cd FlexMap_Fusion/ ``` 3. Build the docker image ```bash ./docker/build_docker.sh ``` 4. Run the container and mount your data by appending the directory containing your data: ```bash ./docker/run_docker.sh /your/local/directory/data ```

🖥 How to Use the Package

* the package contains two executables with corresponding ROS2 launch file: * lanelet2_osm * provide all functionality described in the publication and the pipeline overview * additional possibility to georeference the point cloud map corresponding to the lanelet map, but without its visualization * kiss_icp_georef * provides the possibility to georeference the SLAM poses and the corresponding point cloud map withouth the need of a lanelet map as input (-> no conflation with [OpenStreetMap](openstreetmap.org/)) * provides visualization of the point cloud map in RVIZ2 * in the following, the sections are split between the two executables (however, keep in mind that kiss_icp_georef just provides a subset of the functions of lanelet2_osm)

📄 lanelet2_osm </h2> </summary> 1. Necessary input parameters: - `traj_path` => path to GPS trajectory of the vehicle (format: txt-file with lat, lon) - `poses_path` => path to SLAM trajectory of the vehicle (KITTI-format, trajectories don't have to be synchronized over time) - `map_path` => path to lanelet2 map corresponding to trajectories (map can have missing elements/attributes, only when using node `lanelet2_osm`) - `out_path` => path to save the modified lanelet map (DEFAULT: /lanelet2_map.osm, only when using node `lanelet2_osm`) - if you want to georeference the point cloud map corresponding to the lanelet2 map with the same set of control points: - set the parameter `transform_pcd` in the config file to `true` - adjust the path to the point cloud map (parameter `pcd_path`) - the georeferenced point cloud map will be saved in the current working directory (if you'd like to specify a different path, see `kiss_icp_georef` 2. Start the package - it is recommended to directly use the provided ROS launch file as it starts the package itself and the visualization in RVIZ: - replace the filepaths and run the following command inside the docker container: ```bash ros2 launch flexmap_fusion lanelet2_osm.launch.py traj_path:= poses_path:= map_path:= out_path:= ``` - the launch file directly links to the corresponding parameter file in `/config/`. - To directly run the package with the provided test files from the Docker root directory, use the following command: ```bash ros2 launch flexmap_fusion lanelet2_osm.launch.py traj_path:=./src/flexmap_fusion/test/route_1_GPS.txt poses_path:=./src/flexmap_fusion/test/route1_pose_kitti.txt map_path:=./src/flexmap_fusion/test/lanelet2_route_1.osm out_path:=lanelet2_map_georef.osm ``` 3. Select control points - after the trajectories are loaded and the target trajectory is aligned to the master trajectory by the Umeyama algorithm, you are asked in the command window to select control points for the rubber-sheet transformation (the amount of points can be configured in the config file). - select the desired points using the `Publish Point` button in RVIZ and follow the instructions in the command window. 4. Inspect results - results of the rubber-sheet transformation & lanelet map are visualized - see table for explanation of single topics | Topic | Description | | ----------- | ----------- | | `/lof/map/osm_map_markers` | Street network downloaded from [OpenStreetMap](openstreetmap.org/). | | `/lof/map/ll_map_markers` | Lanelet2-map enriched with attributes from [OpenStreetMap](openstreetmap.org/); Lanelets are colorized based on agreement between adjacent lanelets and lanes-tag of [OpenStreetMap](openstreetmap.org/). | | `/lof/map/ll_map_new_markers` | Lanelet2-map enriched with attributes from [OpenStreetMap](openstreetmap.org/); Lanelets that are likely to be wrong were removed by the module "Deletion of Lanelet Fragments". | | `/lof/traj/traj_master_markers` | Master trajectory -> to be defined in config-file (usually GNSS-trajectory) | File truncated at 100 lines [see the full file](https://github.com/tumftm/flexmap_fusion/tree/main/./README.md)

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged flexmap_fusion at Robotics Stack Exchange

Package symbol

flexmap_fusion package from flexmap_fusion repo

flexmap_fusion

ROS Distro
github

Package Summary

Tags No category tags.
Version 0.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description ROS 2 Autoware Tool for Map Georeferencing and OSM Fusion
Checkout URI https://github.com/tumftm/flexmap_fusion.git
VCS Type git
VCS Version main
Last Updated 2024-07-15
Dev Status UNKNOWN
Released UNRELEASED
Tags mapping point-cloud georeferencing ros2 autoware lanelet2
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Package to improve erroneous lanelet2 map from vehicle-centric algorithms with OpenStreetMap data

Additional Links

No additional links.

Maintainers

  • Maximilian Leitenstern

Authors

No additional authors.

FlexMap Fusion

Linux Docker ROS2humble

Overview

image Offline Mapping Pipeline developed at the Institute of Automotive Technology

  • ROS2 package for the improvement/extension of lanelet2 maps with data from OpenStreetMap and their georeferencing with GNSS data
  • The package is designed for the application in an offline mapping pipeline developed at the Institute of Automotive Technology of the Technical University of Munich
  • The package consists of the three modules “Map Alignment”, “Map Conflation” and “Georeferencing”, that are explained in more detail in the image below and the documentation of the single modules image Overview of the single modules of the FlexMap Fusion tool
  • The following functionalities are included
    • georeferencing of the lanelet2 map based on the transformation calculated by the vehicle ego trajectory from GNSS and the SLAM-trajectory
    • fusion of semantic information from OpenStreetMap into the lanelet2 map (generated from point cloud map data)
    • modular expandability to include additional semantic information
    • possibility to apply georeferencing step on the point cloud map resulting from the SLAM process and used for the generation of the lanelet map
    • extensive visualization within RVIZ2

[!NOTE]
If you’re more interested in georeferencing a 3D pointcloud map, check out FlexCloud, a further development of the georeferencing stage supporting fast 2D and 3D rubber-sheeting with Delauny-Triangulations.

🐋 Docker Setup

### Package Design This package is designed as a standalone ROS2 package. It was developed with ROS2 humble. For easier handling of dependencies, a docker environment is provided that sets up everything and builds the package. As the package is designed for use in combination with [Autoware](https://github.com/autowarefoundation/autoware), the source code can also be build within the [Autoware](https://github.com/autowarefoundation/autoware) docker environment. ### Setup 1. Clone the repository by running ```bash git clone git@github.com:TUMFTM/FlexMap_Fusion.git ``` 2. Go to the root directory of the repository ```bash cd FlexMap_Fusion/ ``` 3. Build the docker image ```bash ./docker/build_docker.sh ``` 4. Run the container and mount your data by appending the directory containing your data: ```bash ./docker/run_docker.sh /your/local/directory/data ```

🖥 How to Use the Package

* the package contains two executables with corresponding ROS2 launch file: * lanelet2_osm * provide all functionality described in the publication and the pipeline overview * additional possibility to georeference the point cloud map corresponding to the lanelet map, but without its visualization * kiss_icp_georef * provides the possibility to georeference the SLAM poses and the corresponding point cloud map withouth the need of a lanelet map as input (-> no conflation with [OpenStreetMap](openstreetmap.org/)) * provides visualization of the point cloud map in RVIZ2 * in the following, the sections are split between the two executables (however, keep in mind that kiss_icp_georef just provides a subset of the functions of lanelet2_osm)

📄 lanelet2_osm </h2> </summary> 1. Necessary input parameters: - `traj_path` => path to GPS trajectory of the vehicle (format: txt-file with lat, lon) - `poses_path` => path to SLAM trajectory of the vehicle (KITTI-format, trajectories don't have to be synchronized over time) - `map_path` => path to lanelet2 map corresponding to trajectories (map can have missing elements/attributes, only when using node `lanelet2_osm`) - `out_path` => path to save the modified lanelet map (DEFAULT: /lanelet2_map.osm, only when using node `lanelet2_osm`) - if you want to georeference the point cloud map corresponding to the lanelet2 map with the same set of control points: - set the parameter `transform_pcd` in the config file to `true` - adjust the path to the point cloud map (parameter `pcd_path`) - the georeferenced point cloud map will be saved in the current working directory (if you'd like to specify a different path, see `kiss_icp_georef` 2. Start the package - it is recommended to directly use the provided ROS launch file as it starts the package itself and the visualization in RVIZ: - replace the filepaths and run the following command inside the docker container: ```bash ros2 launch flexmap_fusion lanelet2_osm.launch.py traj_path:= poses_path:= map_path:= out_path:= ``` - the launch file directly links to the corresponding parameter file in `/config/`. - To directly run the package with the provided test files from the Docker root directory, use the following command: ```bash ros2 launch flexmap_fusion lanelet2_osm.launch.py traj_path:=./src/flexmap_fusion/test/route_1_GPS.txt poses_path:=./src/flexmap_fusion/test/route1_pose_kitti.txt map_path:=./src/flexmap_fusion/test/lanelet2_route_1.osm out_path:=lanelet2_map_georef.osm ``` 3. Select control points - after the trajectories are loaded and the target trajectory is aligned to the master trajectory by the Umeyama algorithm, you are asked in the command window to select control points for the rubber-sheet transformation (the amount of points can be configured in the config file). - select the desired points using the `Publish Point` button in RVIZ and follow the instructions in the command window. 4. Inspect results - results of the rubber-sheet transformation & lanelet map are visualized - see table for explanation of single topics | Topic | Description | | ----------- | ----------- | | `/lof/map/osm_map_markers` | Street network downloaded from [OpenStreetMap](openstreetmap.org/). | | `/lof/map/ll_map_markers` | Lanelet2-map enriched with attributes from [OpenStreetMap](openstreetmap.org/); Lanelets are colorized based on agreement between adjacent lanelets and lanes-tag of [OpenStreetMap](openstreetmap.org/). | | `/lof/map/ll_map_new_markers` | Lanelet2-map enriched with attributes from [OpenStreetMap](openstreetmap.org/); Lanelets that are likely to be wrong were removed by the module "Deletion of Lanelet Fragments". | | `/lof/traj/traj_master_markers` | Master trajectory -> to be defined in config-file (usually GNSS-trajectory) | File truncated at 100 lines [see the full file](https://github.com/tumftm/flexmap_fusion/tree/main/./README.md)

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged flexmap_fusion at Robotics Stack Exchange

No version for distro galactic showing github. Known supported distros are highlighted in the buttons above.
Package symbol

flexmap_fusion package from flexmap_fusion repo

flexmap_fusion

ROS Distro
github

Package Summary

Tags No category tags.
Version 0.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description ROS 2 Autoware Tool for Map Georeferencing and OSM Fusion
Checkout URI https://github.com/tumftm/flexmap_fusion.git
VCS Type git
VCS Version main
Last Updated 2024-07-15
Dev Status UNKNOWN
Released UNRELEASED
Tags mapping point-cloud georeferencing ros2 autoware lanelet2
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Package to improve erroneous lanelet2 map from vehicle-centric algorithms with OpenStreetMap data

Additional Links

No additional links.

Maintainers

  • Maximilian Leitenstern

Authors

No additional authors.

FlexMap Fusion

Linux Docker ROS2humble

Overview

image Offline Mapping Pipeline developed at the Institute of Automotive Technology

  • ROS2 package for the improvement/extension of lanelet2 maps with data from OpenStreetMap and their georeferencing with GNSS data
  • The package is designed for the application in an offline mapping pipeline developed at the Institute of Automotive Technology of the Technical University of Munich
  • The package consists of the three modules “Map Alignment”, “Map Conflation” and “Georeferencing”, that are explained in more detail in the image below and the documentation of the single modules image Overview of the single modules of the FlexMap Fusion tool
  • The following functionalities are included
    • georeferencing of the lanelet2 map based on the transformation calculated by the vehicle ego trajectory from GNSS and the SLAM-trajectory
    • fusion of semantic information from OpenStreetMap into the lanelet2 map (generated from point cloud map data)
    • modular expandability to include additional semantic information
    • possibility to apply georeferencing step on the point cloud map resulting from the SLAM process and used for the generation of the lanelet map
    • extensive visualization within RVIZ2

[!NOTE]
If you’re more interested in georeferencing a 3D pointcloud map, check out FlexCloud, a further development of the georeferencing stage supporting fast 2D and 3D rubber-sheeting with Delauny-Triangulations.

🐋 Docker Setup

### Package Design This package is designed as a standalone ROS2 package. It was developed with ROS2 humble. For easier handling of dependencies, a docker environment is provided that sets up everything and builds the package. As the package is designed for use in combination with [Autoware](https://github.com/autowarefoundation/autoware), the source code can also be build within the [Autoware](https://github.com/autowarefoundation/autoware) docker environment. ### Setup 1. Clone the repository by running ```bash git clone git@github.com:TUMFTM/FlexMap_Fusion.git ``` 2. Go to the root directory of the repository ```bash cd FlexMap_Fusion/ ``` 3. Build the docker image ```bash ./docker/build_docker.sh ``` 4. Run the container and mount your data by appending the directory containing your data: ```bash ./docker/run_docker.sh /your/local/directory/data ```

🖥 How to Use the Package

* the package contains two executables with corresponding ROS2 launch file: * lanelet2_osm * provide all functionality described in the publication and the pipeline overview * additional possibility to georeference the point cloud map corresponding to the lanelet map, but without its visualization * kiss_icp_georef * provides the possibility to georeference the SLAM poses and the corresponding point cloud map withouth the need of a lanelet map as input (-> no conflation with [OpenStreetMap](openstreetmap.org/)) * provides visualization of the point cloud map in RVIZ2 * in the following, the sections are split between the two executables (however, keep in mind that kiss_icp_georef just provides a subset of the functions of lanelet2_osm)

📄 lanelet2_osm </h2> </summary> 1. Necessary input parameters: - `traj_path` => path to GPS trajectory of the vehicle (format: txt-file with lat, lon) - `poses_path` => path to SLAM trajectory of the vehicle (KITTI-format, trajectories don't have to be synchronized over time) - `map_path` => path to lanelet2 map corresponding to trajectories (map can have missing elements/attributes, only when using node `lanelet2_osm`) - `out_path` => path to save the modified lanelet map (DEFAULT: /lanelet2_map.osm, only when using node `lanelet2_osm`) - if you want to georeference the point cloud map corresponding to the lanelet2 map with the same set of control points: - set the parameter `transform_pcd` in the config file to `true` - adjust the path to the point cloud map (parameter `pcd_path`) - the georeferenced point cloud map will be saved in the current working directory (if you'd like to specify a different path, see `kiss_icp_georef` 2. Start the package - it is recommended to directly use the provided ROS launch file as it starts the package itself and the visualization in RVIZ: - replace the filepaths and run the following command inside the docker container: ```bash ros2 launch flexmap_fusion lanelet2_osm.launch.py traj_path:= poses_path:= map_path:= out_path:= ``` - the launch file directly links to the corresponding parameter file in `/config/`. - To directly run the package with the provided test files from the Docker root directory, use the following command: ```bash ros2 launch flexmap_fusion lanelet2_osm.launch.py traj_path:=./src/flexmap_fusion/test/route_1_GPS.txt poses_path:=./src/flexmap_fusion/test/route1_pose_kitti.txt map_path:=./src/flexmap_fusion/test/lanelet2_route_1.osm out_path:=lanelet2_map_georef.osm ``` 3. Select control points - after the trajectories are loaded and the target trajectory is aligned to the master trajectory by the Umeyama algorithm, you are asked in the command window to select control points for the rubber-sheet transformation (the amount of points can be configured in the config file). - select the desired points using the `Publish Point` button in RVIZ and follow the instructions in the command window. 4. Inspect results - results of the rubber-sheet transformation & lanelet map are visualized - see table for explanation of single topics | Topic | Description | | ----------- | ----------- | | `/lof/map/osm_map_markers` | Street network downloaded from [OpenStreetMap](openstreetmap.org/). | | `/lof/map/ll_map_markers` | Lanelet2-map enriched with attributes from [OpenStreetMap](openstreetmap.org/); Lanelets are colorized based on agreement between adjacent lanelets and lanes-tag of [OpenStreetMap](openstreetmap.org/). | | `/lof/map/ll_map_new_markers` | Lanelet2-map enriched with attributes from [OpenStreetMap](openstreetmap.org/); Lanelets that are likely to be wrong were removed by the module "Deletion of Lanelet Fragments". | | `/lof/traj/traj_master_markers` | Master trajectory -> to be defined in config-file (usually GNSS-trajectory) | File truncated at 100 lines [see the full file](https://github.com/tumftm/flexmap_fusion/tree/main/./README.md)

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged flexmap_fusion at Robotics Stack Exchange

No version for distro iron showing github. Known supported distros are highlighted in the buttons above.
Package symbol

flexmap_fusion package from flexmap_fusion repo

flexmap_fusion

ROS Distro
github

Package Summary

Tags No category tags.
Version 0.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description ROS 2 Autoware Tool for Map Georeferencing and OSM Fusion
Checkout URI https://github.com/tumftm/flexmap_fusion.git
VCS Type git
VCS Version main
Last Updated 2024-07-15
Dev Status UNKNOWN
Released UNRELEASED
Tags mapping point-cloud georeferencing ros2 autoware lanelet2
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Package to improve erroneous lanelet2 map from vehicle-centric algorithms with OpenStreetMap data

Additional Links

No additional links.

Maintainers

  • Maximilian Leitenstern

Authors

No additional authors.

FlexMap Fusion

Linux Docker ROS2humble

Overview

image Offline Mapping Pipeline developed at the Institute of Automotive Technology

  • ROS2 package for the improvement/extension of lanelet2 maps with data from OpenStreetMap and their georeferencing with GNSS data
  • The package is designed for the application in an offline mapping pipeline developed at the Institute of Automotive Technology of the Technical University of Munich
  • The package consists of the three modules “Map Alignment”, “Map Conflation” and “Georeferencing”, that are explained in more detail in the image below and the documentation of the single modules image Overview of the single modules of the FlexMap Fusion tool
  • The following functionalities are included
    • georeferencing of the lanelet2 map based on the transformation calculated by the vehicle ego trajectory from GNSS and the SLAM-trajectory
    • fusion of semantic information from OpenStreetMap into the lanelet2 map (generated from point cloud map data)
    • modular expandability to include additional semantic information
    • possibility to apply georeferencing step on the point cloud map resulting from the SLAM process and used for the generation of the lanelet map
    • extensive visualization within RVIZ2

[!NOTE]
If you’re more interested in georeferencing a 3D pointcloud map, check out FlexCloud, a further development of the georeferencing stage supporting fast 2D and 3D rubber-sheeting with Delauny-Triangulations.

🐋 Docker Setup

### Package Design This package is designed as a standalone ROS2 package. It was developed with ROS2 humble. For easier handling of dependencies, a docker environment is provided that sets up everything and builds the package. As the package is designed for use in combination with [Autoware](https://github.com/autowarefoundation/autoware), the source code can also be build within the [Autoware](https://github.com/autowarefoundation/autoware) docker environment. ### Setup 1. Clone the repository by running ```bash git clone git@github.com:TUMFTM/FlexMap_Fusion.git ``` 2. Go to the root directory of the repository ```bash cd FlexMap_Fusion/ ``` 3. Build the docker image ```bash ./docker/build_docker.sh ``` 4. Run the container and mount your data by appending the directory containing your data: ```bash ./docker/run_docker.sh /your/local/directory/data ```

🖥 How to Use the Package

* the package contains two executables with corresponding ROS2 launch file: * lanelet2_osm * provide all functionality described in the publication and the pipeline overview * additional possibility to georeference the point cloud map corresponding to the lanelet map, but without its visualization * kiss_icp_georef * provides the possibility to georeference the SLAM poses and the corresponding point cloud map withouth the need of a lanelet map as input (-> no conflation with [OpenStreetMap](openstreetmap.org/)) * provides visualization of the point cloud map in RVIZ2 * in the following, the sections are split between the two executables (however, keep in mind that kiss_icp_georef just provides a subset of the functions of lanelet2_osm)

📄 lanelet2_osm </h2> </summary> 1. Necessary input parameters: - `traj_path` => path to GPS trajectory of the vehicle (format: txt-file with lat, lon) - `poses_path` => path to SLAM trajectory of the vehicle (KITTI-format, trajectories don't have to be synchronized over time) - `map_path` => path to lanelet2 map corresponding to trajectories (map can have missing elements/attributes, only when using node `lanelet2_osm`) - `out_path` => path to save the modified lanelet map (DEFAULT: /lanelet2_map.osm, only when using node `lanelet2_osm`) - if you want to georeference the point cloud map corresponding to the lanelet2 map with the same set of control points: - set the parameter `transform_pcd` in the config file to `true` - adjust the path to the point cloud map (parameter `pcd_path`) - the georeferenced point cloud map will be saved in the current working directory (if you'd like to specify a different path, see `kiss_icp_georef` 2. Start the package - it is recommended to directly use the provided ROS launch file as it starts the package itself and the visualization in RVIZ: - replace the filepaths and run the following command inside the docker container: ```bash ros2 launch flexmap_fusion lanelet2_osm.launch.py traj_path:= poses_path:= map_path:= out_path:= ``` - the launch file directly links to the corresponding parameter file in `/config/`. - To directly run the package with the provided test files from the Docker root directory, use the following command: ```bash ros2 launch flexmap_fusion lanelet2_osm.launch.py traj_path:=./src/flexmap_fusion/test/route_1_GPS.txt poses_path:=./src/flexmap_fusion/test/route1_pose_kitti.txt map_path:=./src/flexmap_fusion/test/lanelet2_route_1.osm out_path:=lanelet2_map_georef.osm ``` 3. Select control points - after the trajectories are loaded and the target trajectory is aligned to the master trajectory by the Umeyama algorithm, you are asked in the command window to select control points for the rubber-sheet transformation (the amount of points can be configured in the config file). - select the desired points using the `Publish Point` button in RVIZ and follow the instructions in the command window. 4. Inspect results - results of the rubber-sheet transformation & lanelet map are visualized - see table for explanation of single topics | Topic | Description | | ----------- | ----------- | | `/lof/map/osm_map_markers` | Street network downloaded from [OpenStreetMap](openstreetmap.org/). | | `/lof/map/ll_map_markers` | Lanelet2-map enriched with attributes from [OpenStreetMap](openstreetmap.org/); Lanelets are colorized based on agreement between adjacent lanelets and lanes-tag of [OpenStreetMap](openstreetmap.org/). | | `/lof/map/ll_map_new_markers` | Lanelet2-map enriched with attributes from [OpenStreetMap](openstreetmap.org/); Lanelets that are likely to be wrong were removed by the module "Deletion of Lanelet Fragments". | | `/lof/traj/traj_master_markers` | Master trajectory -> to be defined in config-file (usually GNSS-trajectory) | File truncated at 100 lines [see the full file](https://github.com/tumftm/flexmap_fusion/tree/main/./README.md)

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged flexmap_fusion at Robotics Stack Exchange

No version for distro melodic showing github. Known supported distros are highlighted in the buttons above.
Package symbol

flexmap_fusion package from flexmap_fusion repo

flexmap_fusion

ROS Distro
github

Package Summary

Tags No category tags.
Version 0.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description ROS 2 Autoware Tool for Map Georeferencing and OSM Fusion
Checkout URI https://github.com/tumftm/flexmap_fusion.git
VCS Type git
VCS Version main
Last Updated 2024-07-15
Dev Status UNKNOWN
Released UNRELEASED
Tags mapping point-cloud georeferencing ros2 autoware lanelet2
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Package to improve erroneous lanelet2 map from vehicle-centric algorithms with OpenStreetMap data

Additional Links

No additional links.

Maintainers

  • Maximilian Leitenstern

Authors

No additional authors.

FlexMap Fusion

Linux Docker ROS2humble

Overview

image Offline Mapping Pipeline developed at the Institute of Automotive Technology

  • ROS2 package for the improvement/extension of lanelet2 maps with data from OpenStreetMap and their georeferencing with GNSS data
  • The package is designed for the application in an offline mapping pipeline developed at the Institute of Automotive Technology of the Technical University of Munich
  • The package consists of the three modules “Map Alignment”, “Map Conflation” and “Georeferencing”, that are explained in more detail in the image below and the documentation of the single modules image Overview of the single modules of the FlexMap Fusion tool
  • The following functionalities are included
    • georeferencing of the lanelet2 map based on the transformation calculated by the vehicle ego trajectory from GNSS and the SLAM-trajectory
    • fusion of semantic information from OpenStreetMap into the lanelet2 map (generated from point cloud map data)
    • modular expandability to include additional semantic information
    • possibility to apply georeferencing step on the point cloud map resulting from the SLAM process and used for the generation of the lanelet map
    • extensive visualization within RVIZ2

[!NOTE]
If you’re more interested in georeferencing a 3D pointcloud map, check out FlexCloud, a further development of the georeferencing stage supporting fast 2D and 3D rubber-sheeting with Delauny-Triangulations.

🐋 Docker Setup

### Package Design This package is designed as a standalone ROS2 package. It was developed with ROS2 humble. For easier handling of dependencies, a docker environment is provided that sets up everything and builds the package. As the package is designed for use in combination with [Autoware](https://github.com/autowarefoundation/autoware), the source code can also be build within the [Autoware](https://github.com/autowarefoundation/autoware) docker environment. ### Setup 1. Clone the repository by running ```bash git clone git@github.com:TUMFTM/FlexMap_Fusion.git ``` 2. Go to the root directory of the repository ```bash cd FlexMap_Fusion/ ``` 3. Build the docker image ```bash ./docker/build_docker.sh ``` 4. Run the container and mount your data by appending the directory containing your data: ```bash ./docker/run_docker.sh /your/local/directory/data ```

🖥 How to Use the Package

* the package contains two executables with corresponding ROS2 launch file: * lanelet2_osm * provide all functionality described in the publication and the pipeline overview * additional possibility to georeference the point cloud map corresponding to the lanelet map, but without its visualization * kiss_icp_georef * provides the possibility to georeference the SLAM poses and the corresponding point cloud map withouth the need of a lanelet map as input (-> no conflation with [OpenStreetMap](openstreetmap.org/)) * provides visualization of the point cloud map in RVIZ2 * in the following, the sections are split between the two executables (however, keep in mind that kiss_icp_georef just provides a subset of the functions of lanelet2_osm)

📄 lanelet2_osm </h2> </summary> 1. Necessary input parameters: - `traj_path` => path to GPS trajectory of the vehicle (format: txt-file with lat, lon) - `poses_path` => path to SLAM trajectory of the vehicle (KITTI-format, trajectories don't have to be synchronized over time) - `map_path` => path to lanelet2 map corresponding to trajectories (map can have missing elements/attributes, only when using node `lanelet2_osm`) - `out_path` => path to save the modified lanelet map (DEFAULT: /lanelet2_map.osm, only when using node `lanelet2_osm`) - if you want to georeference the point cloud map corresponding to the lanelet2 map with the same set of control points: - set the parameter `transform_pcd` in the config file to `true` - adjust the path to the point cloud map (parameter `pcd_path`) - the georeferenced point cloud map will be saved in the current working directory (if you'd like to specify a different path, see `kiss_icp_georef` 2. Start the package - it is recommended to directly use the provided ROS launch file as it starts the package itself and the visualization in RVIZ: - replace the filepaths and run the following command inside the docker container: ```bash ros2 launch flexmap_fusion lanelet2_osm.launch.py traj_path:= poses_path:= map_path:= out_path:= ``` - the launch file directly links to the corresponding parameter file in `/config/`. - To directly run the package with the provided test files from the Docker root directory, use the following command: ```bash ros2 launch flexmap_fusion lanelet2_osm.launch.py traj_path:=./src/flexmap_fusion/test/route_1_GPS.txt poses_path:=./src/flexmap_fusion/test/route1_pose_kitti.txt map_path:=./src/flexmap_fusion/test/lanelet2_route_1.osm out_path:=lanelet2_map_georef.osm ``` 3. Select control points - after the trajectories are loaded and the target trajectory is aligned to the master trajectory by the Umeyama algorithm, you are asked in the command window to select control points for the rubber-sheet transformation (the amount of points can be configured in the config file). - select the desired points using the `Publish Point` button in RVIZ and follow the instructions in the command window. 4. Inspect results - results of the rubber-sheet transformation & lanelet map are visualized - see table for explanation of single topics | Topic | Description | | ----------- | ----------- | | `/lof/map/osm_map_markers` | Street network downloaded from [OpenStreetMap](openstreetmap.org/). | | `/lof/map/ll_map_markers` | Lanelet2-map enriched with attributes from [OpenStreetMap](openstreetmap.org/); Lanelets are colorized based on agreement between adjacent lanelets and lanes-tag of [OpenStreetMap](openstreetmap.org/). | | `/lof/map/ll_map_new_markers` | Lanelet2-map enriched with attributes from [OpenStreetMap](openstreetmap.org/); Lanelets that are likely to be wrong were removed by the module "Deletion of Lanelet Fragments". | | `/lof/traj/traj_master_markers` | Master trajectory -> to be defined in config-file (usually GNSS-trajectory) | File truncated at 100 lines [see the full file](https://github.com/tumftm/flexmap_fusion/tree/main/./README.md)

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged flexmap_fusion at Robotics Stack Exchange

No version for distro noetic showing github. Known supported distros are highlighted in the buttons above.
Package symbol

flexmap_fusion package from flexmap_fusion repo

flexmap_fusion

ROS Distro
github

Package Summary

Tags No category tags.
Version 0.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description ROS 2 Autoware Tool for Map Georeferencing and OSM Fusion
Checkout URI https://github.com/tumftm/flexmap_fusion.git
VCS Type git
VCS Version main
Last Updated 2024-07-15
Dev Status UNKNOWN
Released UNRELEASED
Tags mapping point-cloud georeferencing ros2 autoware lanelet2
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Package to improve erroneous lanelet2 map from vehicle-centric algorithms with OpenStreetMap data

Additional Links

No additional links.

Maintainers

  • Maximilian Leitenstern

Authors

No additional authors.

FlexMap Fusion

Linux Docker ROS2humble

Overview

image Offline Mapping Pipeline developed at the Institute of Automotive Technology

  • ROS2 package for the improvement/extension of lanelet2 maps with data from OpenStreetMap and their georeferencing with GNSS data
  • The package is designed for the application in an offline mapping pipeline developed at the Institute of Automotive Technology of the Technical University of Munich
  • The package consists of the three modules “Map Alignment”, “Map Conflation” and “Georeferencing”, that are explained in more detail in the image below and the documentation of the single modules image Overview of the single modules of the FlexMap Fusion tool
  • The following functionalities are included
    • georeferencing of the lanelet2 map based on the transformation calculated by the vehicle ego trajectory from GNSS and the SLAM-trajectory
    • fusion of semantic information from OpenStreetMap into the lanelet2 map (generated from point cloud map data)
    • modular expandability to include additional semantic information
    • possibility to apply georeferencing step on the point cloud map resulting from the SLAM process and used for the generation of the lanelet map
    • extensive visualization within RVIZ2

[!NOTE]
If you’re more interested in georeferencing a 3D pointcloud map, check out FlexCloud, a further development of the georeferencing stage supporting fast 2D and 3D rubber-sheeting with Delauny-Triangulations.

🐋 Docker Setup

### Package Design This package is designed as a standalone ROS2 package. It was developed with ROS2 humble. For easier handling of dependencies, a docker environment is provided that sets up everything and builds the package. As the package is designed for use in combination with [Autoware](https://github.com/autowarefoundation/autoware), the source code can also be build within the [Autoware](https://github.com/autowarefoundation/autoware) docker environment. ### Setup 1. Clone the repository by running ```bash git clone git@github.com:TUMFTM/FlexMap_Fusion.git ``` 2. Go to the root directory of the repository ```bash cd FlexMap_Fusion/ ``` 3. Build the docker image ```bash ./docker/build_docker.sh ``` 4. Run the container and mount your data by appending the directory containing your data: ```bash ./docker/run_docker.sh /your/local/directory/data ```

🖥 How to Use the Package

* the package contains two executables with corresponding ROS2 launch file: * lanelet2_osm * provide all functionality described in the publication and the pipeline overview * additional possibility to georeference the point cloud map corresponding to the lanelet map, but without its visualization * kiss_icp_georef * provides the possibility to georeference the SLAM poses and the corresponding point cloud map withouth the need of a lanelet map as input (-> no conflation with [OpenStreetMap](openstreetmap.org/)) * provides visualization of the point cloud map in RVIZ2 * in the following, the sections are split between the two executables (however, keep in mind that kiss_icp_georef just provides a subset of the functions of lanelet2_osm)

📄 lanelet2_osm </h2> </summary> 1. Necessary input parameters: - `traj_path` => path to GPS trajectory of the vehicle (format: txt-file with lat, lon) - `poses_path` => path to SLAM trajectory of the vehicle (KITTI-format, trajectories don't have to be synchronized over time) - `map_path` => path to lanelet2 map corresponding to trajectories (map can have missing elements/attributes, only when using node `lanelet2_osm`) - `out_path` => path to save the modified lanelet map (DEFAULT: /lanelet2_map.osm, only when using node `lanelet2_osm`) - if you want to georeference the point cloud map corresponding to the lanelet2 map with the same set of control points: - set the parameter `transform_pcd` in the config file to `true` - adjust the path to the point cloud map (parameter `pcd_path`) - the georeferenced point cloud map will be saved in the current working directory (if you'd like to specify a different path, see `kiss_icp_georef` 2. Start the package - it is recommended to directly use the provided ROS launch file as it starts the package itself and the visualization in RVIZ: - replace the filepaths and run the following command inside the docker container: ```bash ros2 launch flexmap_fusion lanelet2_osm.launch.py traj_path:= poses_path:= map_path:= out_path:= ``` - the launch file directly links to the corresponding parameter file in `/config/`. - To directly run the package with the provided test files from the Docker root directory, use the following command: ```bash ros2 launch flexmap_fusion lanelet2_osm.launch.py traj_path:=./src/flexmap_fusion/test/route_1_GPS.txt poses_path:=./src/flexmap_fusion/test/route1_pose_kitti.txt map_path:=./src/flexmap_fusion/test/lanelet2_route_1.osm out_path:=lanelet2_map_georef.osm ``` 3. Select control points - after the trajectories are loaded and the target trajectory is aligned to the master trajectory by the Umeyama algorithm, you are asked in the command window to select control points for the rubber-sheet transformation (the amount of points can be configured in the config file). - select the desired points using the `Publish Point` button in RVIZ and follow the instructions in the command window. 4. Inspect results - results of the rubber-sheet transformation & lanelet map are visualized - see table for explanation of single topics | Topic | Description | | ----------- | ----------- | | `/lof/map/osm_map_markers` | Street network downloaded from [OpenStreetMap](openstreetmap.org/). | | `/lof/map/ll_map_markers` | Lanelet2-map enriched with attributes from [OpenStreetMap](openstreetmap.org/); Lanelets are colorized based on agreement between adjacent lanelets and lanes-tag of [OpenStreetMap](openstreetmap.org/). | | `/lof/map/ll_map_new_markers` | Lanelet2-map enriched with attributes from [OpenStreetMap](openstreetmap.org/); Lanelets that are likely to be wrong were removed by the module "Deletion of Lanelet Fragments". | | `/lof/traj/traj_master_markers` | Master trajectory -> to be defined in config-file (usually GNSS-trajectory) | File truncated at 100 lines [see the full file](https://github.com/tumftm/flexmap_fusion/tree/main/./README.md)

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged flexmap_fusion at Robotics Stack Exchange