Skip to content

Commit 354b57b

Browse files
committed
update readme
Signed-off-by: Yutaka Kondo <yutaka.kondo@youtalk.jp>
1 parent 3ace65d commit 354b57b

File tree

1 file changed

+101
-2
lines changed

1 file changed

+101
-2
lines changed

README.md

+101-2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,101 @@
1-
# autoware_lanelet2_extension
2-
Extension library of Lanelet2
1+
# lanelet2_extension package
2+
3+
This package contains external library for Lanelet2 and is meant to ease the use of Lanelet2 in Autoware.
4+
5+
## Lanelet Format for Autoware
6+
7+
Autoware uses extended Lanelet2 Format for Autoware, which means you need to add some tags to default OSM file if you want to fully use Lanelet2 maps. For details about custom tags, please refer to this [document](./docs/lanelet2_format_extension.md).
8+
9+
## Code API
10+
11+
### IO
12+
13+
#### Autoware OSM Parser
14+
15+
Autoware Lanelet2 Format uses .osm extension as original Lanelet2.
16+
However, there are some custom tags that is used by the parser.
17+
18+
Currently, this includes:
19+
20+
- reading `<MapMetaInfo>` tag which contains information about map format version and map version.
21+
22+
The parser is registered as "autoware_osm_handler" as lanelet parser
23+
24+
### Projection
25+
26+
#### MGRS Projector
27+
28+
MGRS projector projects latitude longitude into MGRS Coordinates.
29+
30+
#### Transverse Mercator Projector
31+
32+
This projector projects latitude and longitude into Transverse Mercator coordinate.
33+
This is similar to [UTM projector](https://github.com/fzi-forschungszentrum-informatik/Lanelet2/blob/master/lanelet2_projection/src/UTM.cpp) in the Lanelet2 library, but uses a custom central meridian on a given origin.
34+
35+
### Regulatory Elements
36+
37+
#### Autoware Traffic Light
38+
39+
Autoware Traffic Light class allows you to retrieve information about traffic lights.
40+
Autoware Traffic Light class contains following members:
41+
42+
- traffic light shape
43+
- light bulbs information of traffic lights
44+
- stopline associated to traffic light
45+
46+
#### Right Of Way
47+
48+
Autoware intersection module requires the information on which lanes can be ignored for object detection, like those lanes whose traffic light color is red when that of ego is green, etc. `right_of_way` tag is a regulatory element that consists of a tuple of (`right_of_way`s and `yield_lane`s), and `right_of_way`s have priority over`yield_lane`s. Although `right_of_way` tag itself is defined in Lanelet2, this package provides proper conditions on how this tag should be set.
49+
50+
### Utility
51+
52+
#### Message Conversion
53+
54+
This contains functions to convert lanelet map objects into ROS messages.
55+
Currently it contains following conversions:
56+
57+
- lanelet::LaneletMapPtr to/from autoware_auto_mapping_msgs::msg::HADMapBin
58+
- lanelet::Point3d to geometry_msgs::Point
59+
- lanelet::Point2d to geometry_msgs::Point
60+
- lanelet::BasicPoint3d to geometry_msgs::Point
61+
62+
#### Query
63+
64+
This module contains functions to retrieve various information from maps.
65+
e.g. crosswalks, trafficlights, stoplines
66+
67+
#### Utilities
68+
69+
This module contains other useful functions related to Lanelet.
70+
e.g. matching waypoint with lanelets
71+
72+
#### Route Checker
73+
74+
This module contains a function to check the loading route is valid or not.
75+
If it is invalid, puts warning without dying.
76+
The case valid is when the route is created on the same map as the current one.
77+
78+
### Visualization
79+
80+
Visualization contains functions to convert lanelet objects into visualization marker messages.
81+
Currently it contains following conversions:
82+
83+
- lanelet::Lanelet to Triangle Markers
84+
- lanelet::LineString to LineStrip Markers
85+
- TrafficLights to Triangle Markers
86+
87+
## Nodes
88+
89+
### lanelet2_extension_sample
90+
91+
Code for this explains how this lanelet2_extension library is used.
92+
The executable is not meant to do anything.
93+
94+
### autoware_lanelet2_extension
95+
96+
This node checks if an .osm file follows the Autoware version of Lanelet2 format.
97+
You can check by running:
98+
99+
```sh
100+
ros2 run lanelet2_extension autoware_lanelet2_validation --ros-args -p map_file:=<path/to/map.osm>
101+
```

0 commit comments

Comments
 (0)