Skip to content

Commit 1661b79

Browse files
authoredJun 14, 2024
refactor(grid_map_utils): add autoware prefix and namespace (autowarefoundation#7487)
Signed-off-by: Maxime CLEMENT <maxime.clement@tier4.jp>
1 parent 35067ed commit 1661b79

File tree

21 files changed

+52
-50
lines changed

21 files changed

+52
-50
lines changed
 

‎.github/CODEOWNERS

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ common/geography_utils/** koji.minoda@tier4.jp
1616
common/global_parameter_loader/** ryohsuke.mitsudome@tier4.jp
1717
common/glog_component/** takamasa.horibe@tier4.jp
1818
common/goal_distance_calculator/** taiki.tanaka@tier4.jp
19-
common/grid_map_utils/** maxime.clement@tier4.jp
19+
common/autoware_grid_map_utils/** maxime.clement@tier4.jp
2020
common/interpolation/** fumiya.watanabe@tier4.jp takayuki.murooka@tier4.jp
2121
common/kalman_filter/** koji.minoda@tier4.jp takeshi.ishita@tier4.jp yukihiro.saito@tier4.jp
2222
common/motion_utils/** fumiya.watanabe@tier4.jp kosuke.takeuchi@tier4.jp mamoru.sobue@tier4.jp satoshi.ota@tier4.jp taiki.tanaka@tier4.jp takamasa.horibe@tier4.jp takayuki.murooka@tier4.jp tomoya.kimura@tier4.jp

‎common/.pages

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ nav:
77
- 'Common Libraries':
88
- 'autoware_auto_common':
99
- 'comparisons': common/autoware_auto_common/design/comparisons
10+
- 'autoware_grid_map_utils': common/autoware_grid_map_utils
1011
- 'autoware_point_types': common/autoware_point_types
1112
- 'Cuda Utils': common/cuda_utils
1213
- 'Geography Utils': common/geography_utils
1314
- 'Global Parameter Loader': common/global_parameter_loader/Readme
1415
- 'Glog Component': common/glog_component
15-
- 'grid_map_utils': common/grid_map_utils
1616
- 'interpolation': common/interpolation
1717
- 'Kalman Filter': common/kalman_filter
1818
- 'Motion Utils': common/motion_utils

‎common/grid_map_utils/CMakeLists.txt ‎common/autoware_grid_map_utils/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
cmake_minimum_required(VERSION 3.5)
2-
project(grid_map_utils)
2+
project(autoware_grid_map_utils)
33

44
if(NOT CMAKE_CXX_STANDARD)
55
set(CMAKE_CXX_STANDARD 17)

‎common/grid_map_utils/README.md ‎common/autoware_grid_map_utils/README.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,18 @@ More details on the scan line algorithm can be found in the References.
1919

2020
## API
2121

22-
The `grid_map_utils::PolygonIterator` follows the same API as the original [`grid_map::PolygonIterator`](https://docs.ros.org/en/kinetic/api/grid_map_core/html/classgrid__map_1_1PolygonIterator.html).
22+
The `autoware::grid_map_utils::PolygonIterator` follows the same API as the original [`grid_map::PolygonIterator`](https://docs.ros.org/en/kinetic/api/grid_map_core/html/classgrid__map_1_1PolygonIterator.html).
2323

2424
## Assumptions
2525

26-
The behavior of the `grid_map_utils::PolygonIterator` is only guaranteed to match the `grid_map::PolygonIterator` if edges of the polygon do not _exactly_ cross any cell center.
26+
The behavior of the `autoware::grid_map_utils::PolygonIterator` is only guaranteed to match the `grid_map::PolygonIterator` if edges of the polygon do not _exactly_ cross any cell center.
2727
In such a case, whether the crossed cell is considered inside or outside of the polygon can vary due to floating precision error.
2828

2929
## Performances
3030

31-
Benchmarking code is implemented in `test/benchmarking.cpp` and is also used to validate that the `grid_map_utils::PolygonIterator` behaves exactly like the `grid_map::PolygonIterator`.
31+
Benchmarking code is implemented in `test/benchmarking.cpp` and is also used to validate that the `autoware::grid_map_utils::PolygonIterator` behaves exactly like the `grid_map::PolygonIterator`.
3232

33-
The following figure shows a comparison of the runtime between the implementation of this package (`grid_map_utils`) and the original implementation (`grid_map`).
33+
The following figure shows a comparison of the runtime between the implementation of this package (`autoware_grid_map_utils`) and the original implementation (`grid_map`).
3434
The time measured includes the construction of the iterator and the iteration over all indexes and is shown using a logarithmic scale.
3535
Results were obtained varying the side size of a square grid map with `100 <= n <= 1000` (size=`n` means a grid of `n x n` cells),
3636
random polygons with a number of vertices `3 <= m <= 100` and with each parameter `(n,m)` repeated 10 times.

‎common/grid_map_utils/include/grid_map_utils/polygon_iterator.hpp ‎common/autoware_grid_map_utils/include/autoware_grid_map_utils/polygon_iterator.hpp

+5-5
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414

15-
#ifndef GRID_MAP_UTILS__POLYGON_ITERATOR_HPP_
16-
#define GRID_MAP_UTILS__POLYGON_ITERATOR_HPP_
15+
#ifndef AUTOWARE_GRID_MAP_UTILS__POLYGON_ITERATOR_HPP_
16+
#define AUTOWARE_GRID_MAP_UTILS__POLYGON_ITERATOR_HPP_
1717

1818
#include "grid_map_core/TypeDefs.hpp"
1919

@@ -24,7 +24,7 @@
2424
#include <utility>
2525
#include <vector>
2626

27-
namespace grid_map_utils
27+
namespace autoware::grid_map_utils
2828
{
2929

3030
/// @brief Representation of a polygon edge made of 2 vertices
@@ -124,6 +124,6 @@ class PolygonIterator
124124
int current_col_;
125125
int current_to_col_;
126126
};
127-
} // namespace grid_map_utils
127+
} // namespace autoware::grid_map_utils
128128

129-
#endif // GRID_MAP_UTILS__POLYGON_ITERATOR_HPP_
129+
#endif // AUTOWARE_GRID_MAP_UTILS__POLYGON_ITERATOR_HPP_

‎common/grid_map_utils/package.xml ‎common/autoware_grid_map_utils/package.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0"?>
22
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
33
<package format="3">
4-
<name>grid_map_utils</name>
4+
<name>autoware_grid_map_utils</name>
55
<version>0.0.0</version>
66
<description>Utilities for the grid_map library</description>
77
<maintainer email="maxime.clement@tier4.jp">Maxime CLEMENT</maintainer>

‎common/grid_map_utils/src/polygon_iterator.cpp ‎common/autoware_grid_map_utils/src/polygon_iterator.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414

15-
#include "grid_map_utils/polygon_iterator.hpp"
15+
#include "autoware_grid_map_utils/polygon_iterator.hpp"
1616

1717
#include "grid_map_core/GridMap.hpp"
1818
#include "grid_map_core/Polygon.hpp"
@@ -22,7 +22,7 @@
2222
#include <functional>
2323
#include <utility>
2424

25-
namespace grid_map_utils
25+
namespace autoware::grid_map_utils
2626
{
2727

2828
std::vector<Edge> PolygonIterator::calculateSortedEdges(const grid_map::Polygon & polygon)
@@ -214,4 +214,4 @@ PolygonIterator & PolygonIterator::operator++()
214214
{
215215
return current_line_ >= intersections_per_line_.size();
216216
}
217-
} // namespace grid_map_utils
217+
} // namespace autoware::grid_map_utils

‎common/grid_map_utils/test/benchmark.cpp ‎common/autoware_grid_map_utils/test/benchmark.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414

15+
#include "autoware_grid_map_utils/polygon_iterator.hpp"
1516
#include "grid_map_core/TypeDefs.hpp"
1617
#include "grid_map_cv/GridMapCvConverter.hpp"
1718
#include "grid_map_cv/GridMapCvProcessing.hpp"
18-
#include "grid_map_utils/polygon_iterator.hpp"
1919

2020
#include <grid_map_core/iterators/PolygonIterator.hpp>
2121
#include <grid_map_cv/grid_map_cv.hpp>
@@ -116,7 +116,7 @@ int main(int argc, char * argv[])
116116
polygon.addVertex(base_polygon.getVertex(idx) + offset);
117117
}
118118
stopwatch.tic("gmu_ctor");
119-
grid_map_utils::PolygonIterator grid_map_utils_iterator(map, polygon);
119+
autoware::grid_map_utils::PolygonIterator grid_map_utils_iterator(map, polygon);
120120
grid_map_utils_constructor_duration += stopwatch.toc("gmu_ctor");
121121
stopwatch.tic("gm_ctor");
122122
grid_map::PolygonIterator grid_map_iterator(map, polygon);
@@ -143,8 +143,8 @@ int main(int argc, char * argv[])
143143
if (diff || visualize) {
144144
// Prepare images of the cells selected by the two PolygonIterators
145145
auto gridmap = map;
146-
for (grid_map_utils::PolygonIterator iterator(map, polygon); !iterator.isPastEnd();
147-
++iterator)
146+
for (autoware::grid_map_utils::PolygonIterator iterator(map, polygon);
147+
!iterator.isPastEnd(); ++iterator)
148148
map.at("layer", *iterator) = 100;
149149
for (grid_map::PolygonIterator iterator(gridmap, polygon); !iterator.isPastEnd();
150150
++iterator)

‎common/grid_map_utils/test/test_polygon_iterator.cpp ‎common/autoware_grid_map_utils/test/test_polygon_iterator.cpp

+9-9
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414

15-
#include "grid_map_utils/polygon_iterator.hpp"
15+
#include "autoware_grid_map_utils/polygon_iterator.hpp"
1616

1717
#include <grid_map_core/iterators/PolygonIterator.hpp>
1818
#include <tier4_autoware_utils/system/stop_watch.hpp>
@@ -45,7 +45,7 @@ TEST(PolygonIterator, FullCover)
4545
polygon.addVertex(Position(100.0, -100.0));
4646
polygon.addVertex(Position(-100.0, -100.0));
4747

48-
grid_map_utils::PolygonIterator iterator(map, polygon);
48+
autoware::grid_map_utils::PolygonIterator iterator(map, polygon);
4949

5050
EXPECT_FALSE(iterator.isPastEnd());
5151
EXPECT_EQ(0, (*iterator)(0));
@@ -83,7 +83,7 @@ TEST(PolygonIterator, Outside)
8383
polygon.addVertex(Position(101.0, 99.0));
8484
polygon.addVertex(Position(99.0, 99.0));
8585

86-
grid_map_utils::PolygonIterator iterator(map, polygon);
86+
autoware::grid_map_utils::PolygonIterator iterator(map, polygon);
8787

8888
EXPECT_TRUE(iterator.isPastEnd());
8989
}
@@ -100,7 +100,7 @@ TEST(PolygonIterator, Square)
100100
polygon.addVertex(Position(1.0, -1.5));
101101
polygon.addVertex(Position(-1.0, -1.5));
102102

103-
grid_map_utils::PolygonIterator iterator(map, polygon);
103+
autoware::grid_map_utils::PolygonIterator iterator(map, polygon);
104104

105105
EXPECT_FALSE(iterator.isPastEnd());
106106
EXPECT_EQ(3, (*iterator)(0));
@@ -146,7 +146,7 @@ TEST(PolygonIterator, TopLeftTriangle)
146146
polygon.addVertex(Position(40.1, 20.4));
147147
polygon.addVertex(Position(-40.1, -20.6));
148148

149-
grid_map_utils::PolygonIterator iterator(map, polygon);
149+
autoware::grid_map_utils::PolygonIterator iterator(map, polygon);
150150

151151
EXPECT_FALSE(iterator.isPastEnd());
152152
EXPECT_EQ(0, (*iterator)(0));
@@ -170,7 +170,7 @@ TEST(PolygonIterator, MoveMap)
170170
polygon.addVertex(Position(0.9, 1.6));
171171
polygon.addVertex(Position(0.9, -1.6));
172172
polygon.addVertex(Position(6.1, -1.6));
173-
grid_map_utils::PolygonIterator iterator(map, polygon);
173+
autoware::grid_map_utils::PolygonIterator iterator(map, polygon);
174174

175175
EXPECT_FALSE(iterator.isPastEnd());
176176
EXPECT_EQ(6, (*iterator)(0));
@@ -213,7 +213,7 @@ TEST(PolygonIterator, Difference)
213213
polygon.addVertex(Position(2.5, 2.5));
214214
polygon.addVertex(Position(-2.5, 2.5));
215215
polygon.addVertex(Position(-2.5, -2.5));
216-
grid_map_utils::PolygonIterator iterator(map, polygon);
216+
autoware::grid_map_utils::PolygonIterator iterator(map, polygon);
217217
grid_map::PolygonIterator gm_iterator(map, polygon);
218218
bool diff = false;
219219
while (!iterator.isPastEnd() && !gm_iterator.isPastEnd()) {
@@ -231,7 +231,7 @@ TEST(PolygonIterator, Difference)
231231
polygon.addVertex(Position(2.5, 2.1));
232232
polygon.addVertex(Position(-2.5, 2.5));
233233
polygon.addVertex(Position(-2.5, -2.9));
234-
iterator = grid_map_utils::PolygonIterator(map, polygon);
234+
iterator = autoware::grid_map_utils::PolygonIterator(map, polygon);
235235
gm_iterator = grid_map::PolygonIterator(map, polygon);
236236
diff = false;
237237
while (!iterator.isPastEnd() && !gm_iterator.isPastEnd()) {
@@ -256,7 +256,7 @@ TEST(PolygonIterator, SelfCrossingPolygon)
256256
polygon.addVertex(Position(2.5, -2.9));
257257
polygon.addVertex(Position(-2.5, 2.5));
258258
polygon.addVertex(Position(-2.5, -2.5));
259-
grid_map_utils::PolygonIterator iterator(map, polygon);
259+
autoware::grid_map_utils::PolygonIterator iterator(map, polygon);
260260
grid_map::PolygonIterator gm_iterator(map, polygon);
261261

262262
const std::vector<Index> expected_indexes = {

‎perception/elevation_map_loader/package.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@
1212
<buildtool_depend>ament_cmake_auto</buildtool_depend>
1313
<buildtool_depend>autoware_cmake</buildtool_depend>
1414

15+
<depend>autoware_grid_map_utils</depend>
1516
<depend>autoware_map_msgs</depend>
1617
<depend>grid_map_cv</depend>
1718
<depend>grid_map_pcl</depend>
1819
<depend>grid_map_ros</depend>
19-
<depend>grid_map_utils</depend>
2020
<depend>lanelet2_extension</depend>
2121
<depend>libpcl-all-dev</depend>
2222
<depend>pcl_conversions</depend>

‎perception/elevation_map_loader/src/elevation_map_loader_node.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@
1414

1515
#include "elevation_map_loader/elevation_map_loader_node.hpp"
1616

17+
#include <autoware_grid_map_utils/polygon_iterator.hpp>
1718
#include <grid_map_core/GridMap.hpp>
1819
#include <grid_map_cv/InpaintFilter.hpp>
1920
#include <grid_map_pcl/GridMapPclLoader.hpp>
2021
#include <grid_map_pcl/helpers.hpp>
2122
#include <grid_map_ros/GridMapRosConverter.hpp>
22-
#include <grid_map_utils/polygon_iterator.hpp>
2323
#include <lanelet2_extension/utility/message_conversion.hpp>
2424
#include <lanelet2_extension/utility/query.hpp>
2525
#include <rclcpp/logger.hpp>
@@ -382,8 +382,8 @@ void ElevationMapLoaderNode::inpaintElevationMap(const float radius)
382382
for (const auto & p : lane_polygon) {
383383
polygon.addVertex(grid_map::Position(p[0], p[1]));
384384
}
385-
for (grid_map_utils::PolygonIterator iterator(elevation_map_, polygon); !iterator.isPastEnd();
386-
++iterator) {
385+
for (autoware::grid_map_utils::PolygonIterator iterator(elevation_map_, polygon);
386+
!iterator.isPastEnd(); ++iterator) {
387387
if (!elevation_map_.isValid(*iterator, layer_name_)) {
388388
elevation_map_.at("inpaint_mask", *iterator) = 1.0;
389389
}

‎planning/autoware_behavior_velocity_crosswalk_module/package.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
<buildtool_depend>eigen3_cmake_module</buildtool_depend>
2323

2424
<depend>autoware_behavior_velocity_planner_common</depend>
25+
<depend>autoware_grid_map_utils</depend>
2526
<depend>autoware_perception_msgs</depend>
2627
<depend>autoware_planning_msgs</depend>
2728
<depend>autoware_route_handler</depend>
@@ -30,7 +31,6 @@
3031
<depend>geometry_msgs</depend>
3132
<depend>grid_map_core</depend>
3233
<depend>grid_map_ros</depend>
33-
<depend>grid_map_utils</depend>
3434
<depend>interpolation</depend>
3535
<depend>lanelet2_extension</depend>
3636
<depend>libboost-dev</depend>

‎planning/autoware_behavior_velocity_crosswalk_module/src/occluded_crosswalk.cpp

+4-3
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616

1717
#include "autoware_behavior_velocity_crosswalk_module/util.hpp"
1818

19+
#include <autoware_grid_map_utils/polygon_iterator.hpp>
1920
#include <grid_map_ros/GridMapRosConverter.hpp>
20-
#include <grid_map_utils/polygon_iterator.hpp>
2121

2222
#include <algorithm>
2323
#include <vector>
@@ -129,7 +129,8 @@ void clear_occlusions_behind_objects(
129129
polygon_to_clear.addVertex(
130130
interpolate_point({grid_map_position, edge_points.back()}, 10.0 * range));
131131
polygon_to_clear.addVertex(edge_points.back());
132-
for (grid_map_utils::PolygonIterator it(grid_map, polygon_to_clear); !it.isPastEnd(); ++it)
132+
for (autoware::grid_map_utils::PolygonIterator it(grid_map, polygon_to_clear);
133+
!it.isPastEnd(); ++it)
133134
grid_map.at("layer", *it) = 0;
134135
}
135136
}
@@ -156,7 +157,7 @@ bool is_crosswalk_occluded(
156157
crosswalk_lanelet, {path_intersection.x, path_intersection.y}, detection_range)) {
157158
grid_map::Polygon poly;
158159
for (const auto & p : detection_area) poly.addVertex(grid_map::Position(p.x(), p.y()));
159-
for (grid_map_utils::PolygonIterator iter(grid_map, poly); !iter.isPastEnd(); ++iter)
160+
for (autoware::grid_map_utils::PolygonIterator iter(grid_map, poly); !iter.isPastEnd(); ++iter)
160161
if (is_occluded(grid_map, min_nb_of_cells, *iter, params)) return true;
161162
}
162163
return false;

‎planning/autoware_behavior_velocity_occlusion_spot_module/package.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@
1717
<buildtool_depend>autoware_cmake</buildtool_depend>
1818

1919
<depend>autoware_behavior_velocity_planner_common</depend>
20+
<depend>autoware_grid_map_utils</depend>
2021
<depend>autoware_perception_msgs</depend>
2122
<depend>autoware_planning_msgs</depend>
2223
<depend>autoware_route_handler</depend>
2324
<depend>autoware_vehicle_info_utils</depend>
2425
<depend>geometry_msgs</depend>
2526
<depend>grid_map_ros</depend>
26-
<depend>grid_map_utils</depend>
2727
<depend>interpolation</depend>
2828
<depend>lanelet2_extension</depend>
2929
<depend>libboost-dev</depend>

‎planning/autoware_behavior_velocity_occlusion_spot_module/src/grid_utils.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ void findOcclusionSpots(
5252
for (const auto & point : polygon.outer()) {
5353
grid_polygon.addVertex({point.x(), point.y()});
5454
}
55-
for (grid_map_utils::PolygonIterator iterator(grid, grid_polygon); !iterator.isPastEnd();
56-
++iterator) {
55+
for (autoware::grid_map_utils::PolygonIterator iterator(grid, grid_polygon);
56+
!iterator.isPastEnd(); ++iterator) {
5757
const grid_map::Index & index = *iterator;
5858
if (grid_data(index.x(), index.y()) == grid_utils::occlusion_cost_value::UNKNOWN) {
5959
grid_map::Position occlusion_spot_position;
@@ -77,8 +77,8 @@ bool isCollisionFree(
7777
for (const auto & point : polygon.outer()) {
7878
grid_polygon.addVertex({point.x(), point.y()});
7979
}
80-
for (grid_map_utils::PolygonIterator iterator(grid, grid_polygon); !iterator.isPastEnd();
81-
++iterator) {
80+
for (autoware::grid_map_utils::PolygonIterator iterator(grid, grid_polygon);
81+
!iterator.isPastEnd(); ++iterator) {
8282
const grid_map::Index & index = *iterator;
8383
if (grid_data(index.x(), index.y()) == grid_utils::occlusion_cost_value::OCCUPIED) {
8484
return false;

‎planning/autoware_behavior_velocity_occlusion_spot_module/src/grid_utils.hpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@
1717

1818
#include <autoware_behavior_velocity_planner_common/utilization/boost_geometry_helper.hpp>
1919
#include <autoware_behavior_velocity_planner_common/utilization/util.hpp>
20+
#include <autoware_grid_map_utils/polygon_iterator.hpp>
2021
#include <grid_map_core/GridMap.hpp>
2122
#include <grid_map_core/iterators/LineIterator.hpp>
2223
#include <grid_map_ros/GridMapRosConverter.hpp>
23-
#include <grid_map_utils/polygon_iterator.hpp>
2424
#include <opencv2/opencv.hpp>
2525
#include <tier4_autoware_utils/geometry/geometry.hpp>
2626
#include <tier4_autoware_utils/math/normalization.hpp>

‎planning/autoware_behavior_velocity_occlusion_spot_module/test/src/test_grid_utils.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,8 @@ TEST(compareTime, polygon_vs_line_iterator)
102102
for (const auto & point : polygon.outer()) {
103103
grid_polygon.addVertex({point.x(), point.y()});
104104
}
105-
for (grid_map_utils::PolygonIterator iterator(grid, grid_polygon); !iterator.isPastEnd();
106-
++iterator) {
105+
for (autoware::grid_map_utils::PolygonIterator iterator(grid, grid_polygon);
106+
!iterator.isPastEnd(); ++iterator) {
107107
const grid_map::Index & index = *iterator;
108108
if (grid_data(index.x(), index.y()) == OCCUPIED) {
109109
std::cout << "occupied" << std::endl;

‎planning/motion_velocity_planner/autoware_motion_velocity_obstacle_velocity_limiter_module/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ Obstacles from the lanelet map are not impacted by the masks.
111111

112112
#### Occupancy Grid
113113

114-
Masking is performed by iterating through the cells inside each polygon mask using the [`grid_map_utils::PolygonIterator`](https://github.com/autowarefoundation/autoware.universe/tree/main/common/grid_map_utils) function.
114+
Masking is performed by iterating through the cells inside each polygon mask using the [`autoware::grid_map_utils::PolygonIterator`](https://github.com/autowarefoundation/autoware.universe/tree/main/common/autoware_grid_map_utils) function.
115115
A threshold is then applied to only keep cells with an occupancy value above parameter `obstacles.occupancy_grid_threshold`.
116116
Finally, the image is converted to an image and obstacle linestrings are extracted using the opencv function
117117
[`findContour`](https://docs.opencv.org/3.4/d3/dc0/group__imgproc__shape.html#ga17ed9f5d79ae97bd4c7cf18403e1689a).

‎planning/motion_velocity_planner/autoware_motion_velocity_obstacle_velocity_limiter_module/package.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
<buildtool_depend>autoware_cmake</buildtool_depend>
1212
<buildtool_depend>eigen3_cmake_module</buildtool_depend>
1313

14+
<depend>autoware_grid_map_utils</depend>
1415
<depend>autoware_motion_velocity_planner_common</depend>
1516
<depend>autoware_perception_msgs</depend>
1617
<depend>autoware_planning_msgs</depend>
@@ -19,7 +20,6 @@
1920
<depend>eigen</depend>
2021
<depend>grid_map_msgs</depend>
2122
<depend>grid_map_ros</depend>
22-
<depend>grid_map_utils</depend>
2323
<depend>lanelet2_core</depend>
2424
<depend>lanelet2_extension</depend>
2525
<depend>libboost-dev</depend>

0 commit comments

Comments
 (0)