|
lanelet2_matching package from lanelet2 repolanelet2 lanelet2_core lanelet2_examples lanelet2_io lanelet2_maps lanelet2_matching lanelet2_projection lanelet2_python lanelet2_routing lanelet2_traffic_rules lanelet2_validation |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.2.2 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Description | Map handling framework for automated driving |
| Checkout URI | https://github.com/fzi-forschungszentrum-informatik/lanelet2.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2025-08-22 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Fabian Immel
Authors
- Maximilian Naumann
Lanelet2 Matching Module
This module provides functions to determine in which lanelet an object is/could be currently located.
Matching functions
-
Deterministic matching: Find all lanelets to which an object has less than a certain Euclidean distance.
- as lanelets have an orientation, every lanelet is considered twice: regular and inverted, but with the same distance
-
Probabilistic matching: Compute the squared Mahalanobis distance of the object pose to the lanelet to reason about the probability of that match, as suggested by Petrich et al. (DOI:0.1109/ITSC.2013.6728549)
- this distance includes the orientation, thus every lanelet is considered twice: regular and inverted, but with different distances
- Accounting for traffic rules: In case you expect traffic rule compliant behavior, you can remove non-compliant matches by providing a traffic rule element for the participant you were matching (such as pedestrian lanelets for vehicles or inverted one way lanelets, which means driving in the wrong direction).
Usage
C++
#include <lanelet2_matching/LaneletMatching.h>
// create objects to match
lanelet::matching::Object2d obj; // deterministic
lanelet::matching::ObjectWithCovariance2d obj2; // considering uncertainty
// retrieve lanelet matches from map
auto detMatches = getDeterministicMatches(laneletMap, obj, 4.); // max distance = 4m
auto probMatches = getProbabilisticMatches(laneletMap, obj2, 4.); // max distance = 4m
// remove non-compliant matches (such as driving in the wrong direction)
auto compliantDetMatches = removeNonRuleCompliantMatches(detMatches, trafficRulesPtr);
auto compliantProbMatches = removeNonRuleCompliantMatches(probMatches, trafficRulesPtr);
have a look at the C++ unittests for more examples
Python
import lanelet2
# Note: in the standalone version of lanelet2_matching, the python module was named
# "lanelet2_matching". Now it is a submodule of lanelet2: "lanelet2.matching"
# create objects to match
obj = lanelet2.matching.Object2d()
# retrieve lanelet matches from map
matches = lanelet2.matching.getDeterministicMatches(lanelet_map, obj, 4.) # max distance = 4m
# remove non-compliant matches (such as driving in the wrong direction)
compliant_matches = lanelet2.matching.removeNonRuleCompliantMatches(matches, traffic_rules)
have a look at the python unittests for more examples, also supports uncertainty
License
This package is distributed under the 3-Clause BSD License, see LICENSE.
Changelog for package lanelet2_matching
1.2.2 (2024-10-25)
1.2.1 (2023-05-10)
1.2.0 (2023-01-30)
- Add CI using GitHub Actions (#256)
- Move matching integration test to examples
- Name integration tests correctly and remove utils tests
- Add unittests with simple map
- Rename integration test file
- Remove changelog and license
- Switch to lanelet2.matching in python
- Fix package.xml
- Move python bindings of lanelet2_matching to lanelet2_python
- Integrate into lanelet2
- Contributors: Fabian Poggenhans, Maximilian Naumann, Nico Neumann, Fabian Immel
1.1.1 (2020-09-14)
1.0.1 (2020-03-24)
1.0.0 (2020-03-03)
Package Dependencies
| Deps | Name |
|---|---|
| catkin | |
| ament_cmake_core | |
| mrt_cmake_modules | |
| lanelet2_io | |
| lanelet2_projection | |
| lanelet2_maps | |
| lanelet2_core | |
| lanelet2_traffic_rules |
System Dependencies
| Name |
|---|
| gtest |
Dependant Packages
| Name | Deps |
|---|---|
| lanelet2 | |
| lanelet2_examples | |
| lanelet2_python |
Launch files
Messages
Services
Plugins
Recent questions tagged lanelet2_matching at Robotics Stack Exchange
|
lanelet2_matching package from lanelet2 repolanelet2 lanelet2_core lanelet2_examples lanelet2_io lanelet2_maps lanelet2_matching lanelet2_projection lanelet2_python lanelet2_routing lanelet2_traffic_rules lanelet2_validation |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.2.2 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Description | Map handling framework for automated driving |
| Checkout URI | https://github.com/fzi-forschungszentrum-informatik/lanelet2.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2025-08-22 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Fabian Immel
Authors
- Maximilian Naumann
Lanelet2 Matching Module
This module provides functions to determine in which lanelet an object is/could be currently located.
Matching functions
-
Deterministic matching: Find all lanelets to which an object has less than a certain Euclidean distance.
- as lanelets have an orientation, every lanelet is considered twice: regular and inverted, but with the same distance
-
Probabilistic matching: Compute the squared Mahalanobis distance of the object pose to the lanelet to reason about the probability of that match, as suggested by Petrich et al. (DOI:0.1109/ITSC.2013.6728549)
- this distance includes the orientation, thus every lanelet is considered twice: regular and inverted, but with different distances
- Accounting for traffic rules: In case you expect traffic rule compliant behavior, you can remove non-compliant matches by providing a traffic rule element for the participant you were matching (such as pedestrian lanelets for vehicles or inverted one way lanelets, which means driving in the wrong direction).
Usage
C++
#include <lanelet2_matching/LaneletMatching.h>
// create objects to match
lanelet::matching::Object2d obj; // deterministic
lanelet::matching::ObjectWithCovariance2d obj2; // considering uncertainty
// retrieve lanelet matches from map
auto detMatches = getDeterministicMatches(laneletMap, obj, 4.); // max distance = 4m
auto probMatches = getProbabilisticMatches(laneletMap, obj2, 4.); // max distance = 4m
// remove non-compliant matches (such as driving in the wrong direction)
auto compliantDetMatches = removeNonRuleCompliantMatches(detMatches, trafficRulesPtr);
auto compliantProbMatches = removeNonRuleCompliantMatches(probMatches, trafficRulesPtr);
have a look at the C++ unittests for more examples
Python
import lanelet2
# Note: in the standalone version of lanelet2_matching, the python module was named
# "lanelet2_matching". Now it is a submodule of lanelet2: "lanelet2.matching"
# create objects to match
obj = lanelet2.matching.Object2d()
# retrieve lanelet matches from map
matches = lanelet2.matching.getDeterministicMatches(lanelet_map, obj, 4.) # max distance = 4m
# remove non-compliant matches (such as driving in the wrong direction)
compliant_matches = lanelet2.matching.removeNonRuleCompliantMatches(matches, traffic_rules)
have a look at the python unittests for more examples, also supports uncertainty
License
This package is distributed under the 3-Clause BSD License, see LICENSE.
Changelog for package lanelet2_matching
1.2.2 (2024-10-25)
1.2.1 (2023-05-10)
1.2.0 (2023-01-30)
- Add CI using GitHub Actions (#256)
- Move matching integration test to examples
- Name integration tests correctly and remove utils tests
- Add unittests with simple map
- Rename integration test file
- Remove changelog and license
- Switch to lanelet2.matching in python
- Fix package.xml
- Move python bindings of lanelet2_matching to lanelet2_python
- Integrate into lanelet2
- Contributors: Fabian Poggenhans, Maximilian Naumann, Nico Neumann, Fabian Immel
1.1.1 (2020-09-14)
1.0.1 (2020-03-24)
1.0.0 (2020-03-03)
Package Dependencies
| Deps | Name |
|---|---|
| catkin | |
| ament_cmake_core | |
| mrt_cmake_modules | |
| lanelet2_io | |
| lanelet2_projection | |
| lanelet2_maps | |
| lanelet2_core | |
| lanelet2_traffic_rules |
System Dependencies
| Name |
|---|
| gtest |
Dependant Packages
| Name | Deps |
|---|---|
| lanelet2 | |
| lanelet2_examples | |
| lanelet2_python |
Launch files
Messages
Services
Plugins
Recent questions tagged lanelet2_matching at Robotics Stack Exchange
|
lanelet2_matching package from lanelet2 repolanelet2 lanelet2_core lanelet2_examples lanelet2_io lanelet2_maps lanelet2_matching lanelet2_projection lanelet2_python lanelet2_routing lanelet2_traffic_rules lanelet2_validation |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.2.2 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Description | Map handling framework for automated driving |
| Checkout URI | https://github.com/fzi-forschungszentrum-informatik/lanelet2.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2025-08-22 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Fabian Immel
Authors
- Maximilian Naumann
Lanelet2 Matching Module
This module provides functions to determine in which lanelet an object is/could be currently located.
Matching functions
-
Deterministic matching: Find all lanelets to which an object has less than a certain Euclidean distance.
- as lanelets have an orientation, every lanelet is considered twice: regular and inverted, but with the same distance
-
Probabilistic matching: Compute the squared Mahalanobis distance of the object pose to the lanelet to reason about the probability of that match, as suggested by Petrich et al. (DOI:0.1109/ITSC.2013.6728549)
- this distance includes the orientation, thus every lanelet is considered twice: regular and inverted, but with different distances
- Accounting for traffic rules: In case you expect traffic rule compliant behavior, you can remove non-compliant matches by providing a traffic rule element for the participant you were matching (such as pedestrian lanelets for vehicles or inverted one way lanelets, which means driving in the wrong direction).
Usage
C++
#include <lanelet2_matching/LaneletMatching.h>
// create objects to match
lanelet::matching::Object2d obj; // deterministic
lanelet::matching::ObjectWithCovariance2d obj2; // considering uncertainty
// retrieve lanelet matches from map
auto detMatches = getDeterministicMatches(laneletMap, obj, 4.); // max distance = 4m
auto probMatches = getProbabilisticMatches(laneletMap, obj2, 4.); // max distance = 4m
// remove non-compliant matches (such as driving in the wrong direction)
auto compliantDetMatches = removeNonRuleCompliantMatches(detMatches, trafficRulesPtr);
auto compliantProbMatches = removeNonRuleCompliantMatches(probMatches, trafficRulesPtr);
have a look at the C++ unittests for more examples
Python
import lanelet2
# Note: in the standalone version of lanelet2_matching, the python module was named
# "lanelet2_matching". Now it is a submodule of lanelet2: "lanelet2.matching"
# create objects to match
obj = lanelet2.matching.Object2d()
# retrieve lanelet matches from map
matches = lanelet2.matching.getDeterministicMatches(lanelet_map, obj, 4.) # max distance = 4m
# remove non-compliant matches (such as driving in the wrong direction)
compliant_matches = lanelet2.matching.removeNonRuleCompliantMatches(matches, traffic_rules)
have a look at the python unittests for more examples, also supports uncertainty
License
This package is distributed under the 3-Clause BSD License, see LICENSE.
Changelog for package lanelet2_matching
1.2.2 (2024-10-25)
1.2.1 (2023-05-10)
1.2.0 (2023-01-30)
- Add CI using GitHub Actions (#256)
- Move matching integration test to examples
- Name integration tests correctly and remove utils tests
- Add unittests with simple map
- Rename integration test file
- Remove changelog and license
- Switch to lanelet2.matching in python
- Fix package.xml
- Move python bindings of lanelet2_matching to lanelet2_python
- Integrate into lanelet2
- Contributors: Fabian Poggenhans, Maximilian Naumann, Nico Neumann, Fabian Immel
1.1.1 (2020-09-14)
1.0.1 (2020-03-24)
1.0.0 (2020-03-03)
Package Dependencies
| Deps | Name |
|---|---|
| catkin | |
| ament_cmake_core | |
| mrt_cmake_modules | |
| lanelet2_io | |
| lanelet2_projection | |
| lanelet2_maps | |
| lanelet2_core | |
| lanelet2_traffic_rules |
System Dependencies
| Name |
|---|
| gtest |
Dependant Packages
| Name | Deps |
|---|---|
| lanelet2 | |
| lanelet2_examples | |
| lanelet2_python |
Launch files
Messages
Services
Plugins
Recent questions tagged lanelet2_matching at Robotics Stack Exchange
|
lanelet2_matching package from lanelet2 repolanelet2 lanelet2_core lanelet2_examples lanelet2_io lanelet2_maps lanelet2_matching lanelet2_projection lanelet2_python lanelet2_routing lanelet2_traffic_rules lanelet2_validation |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.2.2 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Description | Map handling framework for automated driving |
| Checkout URI | https://github.com/fzi-forschungszentrum-informatik/lanelet2.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2025-08-22 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Fabian Immel
Authors
- Maximilian Naumann
Lanelet2 Matching Module
This module provides functions to determine in which lanelet an object is/could be currently located.
Matching functions
-
Deterministic matching: Find all lanelets to which an object has less than a certain Euclidean distance.
- as lanelets have an orientation, every lanelet is considered twice: regular and inverted, but with the same distance
-
Probabilistic matching: Compute the squared Mahalanobis distance of the object pose to the lanelet to reason about the probability of that match, as suggested by Petrich et al. (DOI:0.1109/ITSC.2013.6728549)
- this distance includes the orientation, thus every lanelet is considered twice: regular and inverted, but with different distances
- Accounting for traffic rules: In case you expect traffic rule compliant behavior, you can remove non-compliant matches by providing a traffic rule element for the participant you were matching (such as pedestrian lanelets for vehicles or inverted one way lanelets, which means driving in the wrong direction).
Usage
C++
#include <lanelet2_matching/LaneletMatching.h>
// create objects to match
lanelet::matching::Object2d obj; // deterministic
lanelet::matching::ObjectWithCovariance2d obj2; // considering uncertainty
// retrieve lanelet matches from map
auto detMatches = getDeterministicMatches(laneletMap, obj, 4.); // max distance = 4m
auto probMatches = getProbabilisticMatches(laneletMap, obj2, 4.); // max distance = 4m
// remove non-compliant matches (such as driving in the wrong direction)
auto compliantDetMatches = removeNonRuleCompliantMatches(detMatches, trafficRulesPtr);
auto compliantProbMatches = removeNonRuleCompliantMatches(probMatches, trafficRulesPtr);
have a look at the C++ unittests for more examples
Python
import lanelet2
# Note: in the standalone version of lanelet2_matching, the python module was named
# "lanelet2_matching". Now it is a submodule of lanelet2: "lanelet2.matching"
# create objects to match
obj = lanelet2.matching.Object2d()
# retrieve lanelet matches from map
matches = lanelet2.matching.getDeterministicMatches(lanelet_map, obj, 4.) # max distance = 4m
# remove non-compliant matches (such as driving in the wrong direction)
compliant_matches = lanelet2.matching.removeNonRuleCompliantMatches(matches, traffic_rules)
have a look at the python unittests for more examples, also supports uncertainty
License
This package is distributed under the 3-Clause BSD License, see LICENSE.
Changelog for package lanelet2_matching
1.2.2 (2024-10-25)
1.2.1 (2023-05-10)
1.2.0 (2023-01-30)
- Add CI using GitHub Actions (#256)
- Move matching integration test to examples
- Name integration tests correctly and remove utils tests
- Add unittests with simple map
- Rename integration test file
- Remove changelog and license
- Switch to lanelet2.matching in python
- Fix package.xml
- Move python bindings of lanelet2_matching to lanelet2_python
- Integrate into lanelet2
- Contributors: Fabian Poggenhans, Maximilian Naumann, Nico Neumann, Fabian Immel
1.1.1 (2020-09-14)
1.0.1 (2020-03-24)
1.0.0 (2020-03-03)
Package Dependencies
| Deps | Name |
|---|---|
| catkin | |
| ament_cmake_core | |
| mrt_cmake_modules | |
| lanelet2_io | |
| lanelet2_projection | |
| lanelet2_maps | |
| lanelet2_core | |
| lanelet2_traffic_rules |
System Dependencies
| Name |
|---|
| gtest |
Dependant Packages
| Name | Deps |
|---|---|
| lanelet2 | |
| lanelet2_examples | |
| lanelet2_python |
Launch files
Messages
Services
Plugins
Recent questions tagged lanelet2_matching at Robotics Stack Exchange
|
lanelet2_matching package from trajgen repolanelet2 lanelet2_core lanelet2_examples lanelet2_io lanelet2_maps lanelet2_matching lanelet2_projection lanelet2_python lanelet2_routing lanelet2_traffic_rules lanelet2_validation |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.1.1 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Description | (T-ITS) TrajGen: Generating Realistic and Diverse Trajectories With Reactive and Feasible Agent Behaviors for Autonomous Driving |
| Checkout URI | https://github.com/gaoyinfeng/trajgen.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-01-06 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Maximilian Naumann
Authors
- Maximilian Naumann
Lanelet2 Matching
The matching module for lanelet2. This module provides functions to determine in which lanelet an object is/could be currently located.
Matching functions
-
Deterministic matching: Find all lanelets to which an object has less than a certain Euclidean distance.
- as lanelets have an orientation, every lanelet is considered twice: regular and inverted, but with the same distance
-
Probabilistic matching: Compute the squared Mahalanobis distance of the object pose to the lanelet to reason about the probability of that match, as suggested by Petrich et al. (DOI:0.1109/ITSC.2013.6728549)
- this distance includes the orientation, thus every lanelet is considered twice: regular and inverted, but with different distances
- Accounting for traffic rules: In case you expect traffic rule compliant behavior, you can remove non compliant matches by providing a traffic rules element for the participant you were matching (such as pedestrian lanelets for vehicles or inverted one way lanelets, which means driving in the wrong direction).
Usage
C++
#include "LaneletMatching.h"
// create objects to match
lanelet::matching::Object2d obj; // deterministic
lanelet::matching::ObjectWithCovariance2d obj2; // considering uncertainty
// retrieve lanelet matches from map
auto detMatches = getDeterministicMatches(laneletMap, obj, 4.); // max distance = 4m
auto probMatches = getProbabilisticMatches(laneletMap, obj2, 4.); // max distance = 4m
// remove non-compliant matches (such as driving in the wrong direction)
auto compliantDetMatches = removeNonRuleCompliantMatches(detMatches, trafficRulesPtr);
auto compliantProbMatches = removeNonRuleCompliantMatches(probMatches, trafficRulesPtr);
have a look at the C++ unittests for more examples
Python
import lanelet2
import lanelet2_matching
# create objects to match
obj = lanelet2_matching.Object2d()
# retrieve lanelet matches from map
matches = lanelet2_matching.getDeterministicMatches(lanelet_map, obj, 4.) # max distance = 4m
# remove non-compliant matches (such as driving in the wrong direction)
compliant_matches = lanelet2_matching.removeNonRuleCompliantMatches(matches, traffic_rules)
have a look at the python unittests for more examples, also supports uncertainty
License
This package is distributed under the 3-Clause BSD License, see LICENSE.
Package Dependencies
| Deps | Name |
|---|---|
| mrt_cmake_modules | |
| catkin | |
| ament_cmake_core | |
| lanelet2_io | |
| lanelet2_projection | |
| lanelet2_maps | |
| lanelet2_core | |
| lanelet2_traffic_rules | |
| lanelet2_python |
System Dependencies
| Name |
|---|
| gtest |
| libboost-python-dev |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged lanelet2_matching at Robotics Stack Exchange
|
lanelet2_matching package from lanelet2 repolanelet2 lanelet2_core lanelet2_examples lanelet2_io lanelet2_maps lanelet2_matching lanelet2_projection lanelet2_python lanelet2_routing lanelet2_traffic_rules lanelet2_validation |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.2.2 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Description | Map handling framework for automated driving |
| Checkout URI | https://github.com/fzi-forschungszentrum-informatik/lanelet2.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2025-08-22 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Fabian Immel
Authors
- Maximilian Naumann
Lanelet2 Matching Module
This module provides functions to determine in which lanelet an object is/could be currently located.
Matching functions
-
Deterministic matching: Find all lanelets to which an object has less than a certain Euclidean distance.
- as lanelets have an orientation, every lanelet is considered twice: regular and inverted, but with the same distance
-
Probabilistic matching: Compute the squared Mahalanobis distance of the object pose to the lanelet to reason about the probability of that match, as suggested by Petrich et al. (DOI:0.1109/ITSC.2013.6728549)
- this distance includes the orientation, thus every lanelet is considered twice: regular and inverted, but with different distances
- Accounting for traffic rules: In case you expect traffic rule compliant behavior, you can remove non-compliant matches by providing a traffic rule element for the participant you were matching (such as pedestrian lanelets for vehicles or inverted one way lanelets, which means driving in the wrong direction).
Usage
C++
#include <lanelet2_matching/LaneletMatching.h>
// create objects to match
lanelet::matching::Object2d obj; // deterministic
lanelet::matching::ObjectWithCovariance2d obj2; // considering uncertainty
// retrieve lanelet matches from map
auto detMatches = getDeterministicMatches(laneletMap, obj, 4.); // max distance = 4m
auto probMatches = getProbabilisticMatches(laneletMap, obj2, 4.); // max distance = 4m
// remove non-compliant matches (such as driving in the wrong direction)
auto compliantDetMatches = removeNonRuleCompliantMatches(detMatches, trafficRulesPtr);
auto compliantProbMatches = removeNonRuleCompliantMatches(probMatches, trafficRulesPtr);
have a look at the C++ unittests for more examples
Python
import lanelet2
# Note: in the standalone version of lanelet2_matching, the python module was named
# "lanelet2_matching". Now it is a submodule of lanelet2: "lanelet2.matching"
# create objects to match
obj = lanelet2.matching.Object2d()
# retrieve lanelet matches from map
matches = lanelet2.matching.getDeterministicMatches(lanelet_map, obj, 4.) # max distance = 4m
# remove non-compliant matches (such as driving in the wrong direction)
compliant_matches = lanelet2.matching.removeNonRuleCompliantMatches(matches, traffic_rules)
have a look at the python unittests for more examples, also supports uncertainty
License
This package is distributed under the 3-Clause BSD License, see LICENSE.
Changelog for package lanelet2_matching
1.2.2 (2024-10-25)
1.2.1 (2023-05-10)
1.2.0 (2023-01-30)
- Add CI using GitHub Actions (#256)
- Move matching integration test to examples
- Name integration tests correctly and remove utils tests
- Add unittests with simple map
- Rename integration test file
- Remove changelog and license
- Switch to lanelet2.matching in python
- Fix package.xml
- Move python bindings of lanelet2_matching to lanelet2_python
- Integrate into lanelet2
- Contributors: Fabian Poggenhans, Maximilian Naumann, Nico Neumann, Fabian Immel
1.1.1 (2020-09-14)
1.0.1 (2020-03-24)
1.0.0 (2020-03-03)
Package Dependencies
| Deps | Name |
|---|---|
| catkin | |
| ament_cmake_core | |
| mrt_cmake_modules | |
| lanelet2_io | |
| lanelet2_projection | |
| lanelet2_maps | |
| lanelet2_core | |
| lanelet2_traffic_rules |
System Dependencies
| Name |
|---|
| gtest |
Dependant Packages
| Name | Deps |
|---|---|
| lanelet2 | |
| lanelet2_examples | |
| lanelet2_python |
Launch files
Messages
Services
Plugins
Recent questions tagged lanelet2_matching at Robotics Stack Exchange
|
lanelet2_matching package from lanelet2 repolanelet2 lanelet2_core lanelet2_examples lanelet2_io lanelet2_maps lanelet2_matching lanelet2_projection lanelet2_python lanelet2_routing lanelet2_traffic_rules lanelet2_validation |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.2.2 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Description | Map handling framework for automated driving |
| Checkout URI | https://github.com/fzi-forschungszentrum-informatik/lanelet2.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2025-08-22 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Fabian Immel
Authors
- Maximilian Naumann
Lanelet2 Matching Module
This module provides functions to determine in which lanelet an object is/could be currently located.
Matching functions
-
Deterministic matching: Find all lanelets to which an object has less than a certain Euclidean distance.
- as lanelets have an orientation, every lanelet is considered twice: regular and inverted, but with the same distance
-
Probabilistic matching: Compute the squared Mahalanobis distance of the object pose to the lanelet to reason about the probability of that match, as suggested by Petrich et al. (DOI:0.1109/ITSC.2013.6728549)
- this distance includes the orientation, thus every lanelet is considered twice: regular and inverted, but with different distances
- Accounting for traffic rules: In case you expect traffic rule compliant behavior, you can remove non-compliant matches by providing a traffic rule element for the participant you were matching (such as pedestrian lanelets for vehicles or inverted one way lanelets, which means driving in the wrong direction).
Usage
C++
#include <lanelet2_matching/LaneletMatching.h>
// create objects to match
lanelet::matching::Object2d obj; // deterministic
lanelet::matching::ObjectWithCovariance2d obj2; // considering uncertainty
// retrieve lanelet matches from map
auto detMatches = getDeterministicMatches(laneletMap, obj, 4.); // max distance = 4m
auto probMatches = getProbabilisticMatches(laneletMap, obj2, 4.); // max distance = 4m
// remove non-compliant matches (such as driving in the wrong direction)
auto compliantDetMatches = removeNonRuleCompliantMatches(detMatches, trafficRulesPtr);
auto compliantProbMatches = removeNonRuleCompliantMatches(probMatches, trafficRulesPtr);
have a look at the C++ unittests for more examples
Python
import lanelet2
# Note: in the standalone version of lanelet2_matching, the python module was named
# "lanelet2_matching". Now it is a submodule of lanelet2: "lanelet2.matching"
# create objects to match
obj = lanelet2.matching.Object2d()
# retrieve lanelet matches from map
matches = lanelet2.matching.getDeterministicMatches(lanelet_map, obj, 4.) # max distance = 4m
# remove non-compliant matches (such as driving in the wrong direction)
compliant_matches = lanelet2.matching.removeNonRuleCompliantMatches(matches, traffic_rules)
have a look at the python unittests for more examples, also supports uncertainty
License
This package is distributed under the 3-Clause BSD License, see LICENSE.
Changelog for package lanelet2_matching
1.2.2 (2024-10-25)
1.2.1 (2023-05-10)
1.2.0 (2023-01-30)
- Add CI using GitHub Actions (#256)
- Move matching integration test to examples
- Name integration tests correctly and remove utils tests
- Add unittests with simple map
- Rename integration test file
- Remove changelog and license
- Switch to lanelet2.matching in python
- Fix package.xml
- Move python bindings of lanelet2_matching to lanelet2_python
- Integrate into lanelet2
- Contributors: Fabian Poggenhans, Maximilian Naumann, Nico Neumann, Fabian Immel
1.1.1 (2020-09-14)
1.0.1 (2020-03-24)
1.0.0 (2020-03-03)
Package Dependencies
| Deps | Name |
|---|---|
| catkin | |
| ament_cmake_core | |
| mrt_cmake_modules | |
| lanelet2_io | |
| lanelet2_projection | |
| lanelet2_maps | |
| lanelet2_core | |
| lanelet2_traffic_rules |
System Dependencies
| Name |
|---|
| gtest |
Dependant Packages
| Name | Deps |
|---|---|
| lanelet2 | |
| lanelet2_examples | |
| lanelet2_python |
Launch files
Messages
Services
Plugins
Recent questions tagged lanelet2_matching at Robotics Stack Exchange
|
lanelet2_matching package from lanelet2 repolanelet2 lanelet2_core lanelet2_examples lanelet2_io lanelet2_maps lanelet2_matching lanelet2_projection lanelet2_python lanelet2_routing lanelet2_traffic_rules lanelet2_validation |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.2.2 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Description | Map handling framework for automated driving |
| Checkout URI | https://github.com/fzi-forschungszentrum-informatik/lanelet2.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2025-08-22 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Fabian Immel
Authors
- Maximilian Naumann
Lanelet2 Matching Module
This module provides functions to determine in which lanelet an object is/could be currently located.
Matching functions
-
Deterministic matching: Find all lanelets to which an object has less than a certain Euclidean distance.
- as lanelets have an orientation, every lanelet is considered twice: regular and inverted, but with the same distance
-
Probabilistic matching: Compute the squared Mahalanobis distance of the object pose to the lanelet to reason about the probability of that match, as suggested by Petrich et al. (DOI:0.1109/ITSC.2013.6728549)
- this distance includes the orientation, thus every lanelet is considered twice: regular and inverted, but with different distances
- Accounting for traffic rules: In case you expect traffic rule compliant behavior, you can remove non-compliant matches by providing a traffic rule element for the participant you were matching (such as pedestrian lanelets for vehicles or inverted one way lanelets, which means driving in the wrong direction).
Usage
C++
#include <lanelet2_matching/LaneletMatching.h>
// create objects to match
lanelet::matching::Object2d obj; // deterministic
lanelet::matching::ObjectWithCovariance2d obj2; // considering uncertainty
// retrieve lanelet matches from map
auto detMatches = getDeterministicMatches(laneletMap, obj, 4.); // max distance = 4m
auto probMatches = getProbabilisticMatches(laneletMap, obj2, 4.); // max distance = 4m
// remove non-compliant matches (such as driving in the wrong direction)
auto compliantDetMatches = removeNonRuleCompliantMatches(detMatches, trafficRulesPtr);
auto compliantProbMatches = removeNonRuleCompliantMatches(probMatches, trafficRulesPtr);
have a look at the C++ unittests for more examples
Python
import lanelet2
# Note: in the standalone version of lanelet2_matching, the python module was named
# "lanelet2_matching". Now it is a submodule of lanelet2: "lanelet2.matching"
# create objects to match
obj = lanelet2.matching.Object2d()
# retrieve lanelet matches from map
matches = lanelet2.matching.getDeterministicMatches(lanelet_map, obj, 4.) # max distance = 4m
# remove non-compliant matches (such as driving in the wrong direction)
compliant_matches = lanelet2.matching.removeNonRuleCompliantMatches(matches, traffic_rules)
have a look at the python unittests for more examples, also supports uncertainty
License
This package is distributed under the 3-Clause BSD License, see LICENSE.
Changelog for package lanelet2_matching
1.2.2 (2024-10-25)
1.2.1 (2023-05-10)
1.2.0 (2023-01-30)
- Add CI using GitHub Actions (#256)
- Move matching integration test to examples
- Name integration tests correctly and remove utils tests
- Add unittests with simple map
- Rename integration test file
- Remove changelog and license
- Switch to lanelet2.matching in python
- Fix package.xml
- Move python bindings of lanelet2_matching to lanelet2_python
- Integrate into lanelet2
- Contributors: Fabian Poggenhans, Maximilian Naumann, Nico Neumann, Fabian Immel
1.1.1 (2020-09-14)
1.0.1 (2020-03-24)
1.0.0 (2020-03-03)
Package Dependencies
| Deps | Name |
|---|---|
| catkin | |
| ament_cmake_core | |
| mrt_cmake_modules | |
| lanelet2_io | |
| lanelet2_projection | |
| lanelet2_maps | |
| lanelet2_core | |
| lanelet2_traffic_rules |
System Dependencies
| Name |
|---|
| gtest |
Dependant Packages
| Name | Deps |
|---|---|
| lanelet2 | |
| lanelet2_examples | |
| lanelet2_python |
Launch files
Messages
Services
Plugins
Recent questions tagged lanelet2_matching at Robotics Stack Exchange
|
lanelet2_matching package from lanelet2 repolanelet2 lanelet2_core lanelet2_examples lanelet2_io lanelet2_maps lanelet2_matching lanelet2_projection lanelet2_python lanelet2_routing lanelet2_traffic_rules lanelet2_validation |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.2.2 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Description | Map handling framework for automated driving |
| Checkout URI | https://github.com/fzi-forschungszentrum-informatik/lanelet2.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2025-08-22 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Fabian Immel
Authors
- Maximilian Naumann
Lanelet2 Matching Module
This module provides functions to determine in which lanelet an object is/could be currently located.
Matching functions
-
Deterministic matching: Find all lanelets to which an object has less than a certain Euclidean distance.
- as lanelets have an orientation, every lanelet is considered twice: regular and inverted, but with the same distance
-
Probabilistic matching: Compute the squared Mahalanobis distance of the object pose to the lanelet to reason about the probability of that match, as suggested by Petrich et al. (DOI:0.1109/ITSC.2013.6728549)
- this distance includes the orientation, thus every lanelet is considered twice: regular and inverted, but with different distances
- Accounting for traffic rules: In case you expect traffic rule compliant behavior, you can remove non-compliant matches by providing a traffic rule element for the participant you were matching (such as pedestrian lanelets for vehicles or inverted one way lanelets, which means driving in the wrong direction).
Usage
C++
#include <lanelet2_matching/LaneletMatching.h>
// create objects to match
lanelet::matching::Object2d obj; // deterministic
lanelet::matching::ObjectWithCovariance2d obj2; // considering uncertainty
// retrieve lanelet matches from map
auto detMatches = getDeterministicMatches(laneletMap, obj, 4.); // max distance = 4m
auto probMatches = getProbabilisticMatches(laneletMap, obj2, 4.); // max distance = 4m
// remove non-compliant matches (such as driving in the wrong direction)
auto compliantDetMatches = removeNonRuleCompliantMatches(detMatches, trafficRulesPtr);
auto compliantProbMatches = removeNonRuleCompliantMatches(probMatches, trafficRulesPtr);
have a look at the C++ unittests for more examples
Python
import lanelet2
# Note: in the standalone version of lanelet2_matching, the python module was named
# "lanelet2_matching". Now it is a submodule of lanelet2: "lanelet2.matching"
# create objects to match
obj = lanelet2.matching.Object2d()
# retrieve lanelet matches from map
matches = lanelet2.matching.getDeterministicMatches(lanelet_map, obj, 4.) # max distance = 4m
# remove non-compliant matches (such as driving in the wrong direction)
compliant_matches = lanelet2.matching.removeNonRuleCompliantMatches(matches, traffic_rules)
have a look at the python unittests for more examples, also supports uncertainty
License
This package is distributed under the 3-Clause BSD License, see LICENSE.
Changelog for package lanelet2_matching
1.2.2 (2024-10-25)
1.2.1 (2023-05-10)
1.2.0 (2023-01-30)
- Add CI using GitHub Actions (#256)
- Move matching integration test to examples
- Name integration tests correctly and remove utils tests
- Add unittests with simple map
- Rename integration test file
- Remove changelog and license
- Switch to lanelet2.matching in python
- Fix package.xml
- Move python bindings of lanelet2_matching to lanelet2_python
- Integrate into lanelet2
- Contributors: Fabian Poggenhans, Maximilian Naumann, Nico Neumann, Fabian Immel
1.1.1 (2020-09-14)
1.0.1 (2020-03-24)
1.0.0 (2020-03-03)
Package Dependencies
| Deps | Name |
|---|---|
| catkin | |
| ament_cmake_core | |
| mrt_cmake_modules | |
| lanelet2_io | |
| lanelet2_projection | |
| lanelet2_maps | |
| lanelet2_core | |
| lanelet2_traffic_rules |
System Dependencies
| Name |
|---|
| gtest |
Dependant Packages
| Name | Deps |
|---|---|
| lanelet2 | |
| lanelet2_examples | |
| lanelet2_python |