23
23
#include < lanelet2_extension/projection/mgrs_projector.hpp>
24
24
#include < lanelet2_extension/utility/message_conversion.hpp>
25
25
#include < lanelet2_extension/utility/utilities.hpp>
26
- #include < route_handler/route_handler.hpp>
27
26
#include < tier4_autoware_utils/geometry/geometry.hpp>
28
27
29
28
#include < autoware_adapi_v1_msgs/msg/operation_mode_state.hpp>
37
36
#include < geometry_msgs/msg/pose_stamped.hpp>
38
37
#include < nav_msgs/msg/occupancy_grid.hpp>
39
38
#include < nav_msgs/msg/odometry.hpp>
39
+ #include < sensor_msgs/msg/point_cloud2.hpp>
40
40
#include < std_msgs/msg/bool.hpp>
41
+ #include < tf2_msgs/msg/tf_message.hpp>
41
42
#include < tier4_planning_msgs/msg/scenario.hpp>
42
43
#include < unique_identifier_msgs/msg/uuid.hpp>
43
44
@@ -71,7 +72,6 @@ using geometry_msgs::msg::PoseStamped;
71
72
using geometry_msgs::msg::TransformStamped;
72
73
using nav_msgs::msg::OccupancyGrid;
73
74
using nav_msgs::msg::Odometry;
74
- using route_handler::RouteHandler;
75
75
using sensor_msgs::msg::PointCloud2;
76
76
using tf2_msgs::msg::TFMessage;
77
77
using tier4_autoware_utils::createPoint;
@@ -267,46 +267,6 @@ Scenario makeScenarioMsg(const std::string scenario)
267
267
return scenario_msg;
268
268
}
269
269
270
- Pose createPoseFromLaneID (const lanelet::Id & lane_id)
271
- {
272
- auto map_bin_msg = makeMapBinMsg ();
273
- // create route_handler
274
- auto route_handler = std::make_shared<RouteHandler>();
275
- route_handler->setMap (map_bin_msg);
276
-
277
- // get middle idx of the lanelet
278
- const auto lanelet = route_handler->getLaneletsFromId (lane_id);
279
- const auto center_line = lanelet.centerline ();
280
- const size_t middle_point_idx = std::floor (center_line.size () / 2.0 );
281
-
282
- // get middle position of the lanelet
283
- geometry_msgs::msg::Point middle_pos;
284
- middle_pos.x = center_line[middle_point_idx].x ();
285
- middle_pos.y = center_line[middle_point_idx].y ();
286
-
287
- // get next middle position of the lanelet
288
- geometry_msgs::msg::Point next_middle_pos;
289
- next_middle_pos.x = center_line[middle_point_idx + 1 ].x ();
290
- next_middle_pos.y = center_line[middle_point_idx + 1 ].y ();
291
-
292
- // calculate middle pose
293
- geometry_msgs::msg::Pose middle_pose;
294
- middle_pose.position = middle_pos;
295
- const double yaw = tier4_autoware_utils::calcAzimuthAngle (middle_pos, next_middle_pos);
296
- middle_pose.orientation = tier4_autoware_utils::createQuaternionFromYaw (yaw);
297
-
298
- return middle_pose;
299
- }
300
-
301
- Odometry makeInitialPoseFromLaneId (const lanelet::Id & lane_id)
302
- {
303
- Odometry current_odometry;
304
- current_odometry.pose .pose = createPoseFromLaneID (lane_id);
305
- current_odometry.header .frame_id = " map" ;
306
-
307
- return current_odometry;
308
- }
309
-
310
270
RouteSections combineConsecutiveRouteSections (
311
271
const RouteSections & route_sections1, const RouteSections & route_sections2)
312
272
{
@@ -322,53 +282,6 @@ RouteSections combineConsecutiveRouteSections(
322
282
return route_sections;
323
283
}
324
284
325
- // Function to create a route from given start and goal lanelet ids
326
- // start pose and goal pose are set to the middle of the lanelet
327
- LaneletRoute makeBehaviorRouteFromLaneId (const int & start_lane_id, const int & goal_lane_id)
328
- {
329
- LaneletRoute route;
330
- route.header .frame_id = " map" ;
331
- auto start_pose = createPoseFromLaneID (start_lane_id);
332
- auto goal_pose = createPoseFromLaneID (goal_lane_id);
333
- route.start_pose = start_pose;
334
- route.goal_pose = goal_pose;
335
-
336
- auto map_bin_msg = makeMapBinMsg ();
337
- // create route_handler
338
- auto route_handler = std::make_shared<RouteHandler>();
339
- route_handler->setMap (map_bin_msg);
340
-
341
- LaneletRoute route_msg;
342
- RouteSections route_sections;
343
- lanelet::ConstLanelets all_route_lanelets;
344
-
345
- // Plan the path between checkpoints (start and goal poses)
346
- lanelet::ConstLanelets path_lanelets;
347
- if (!route_handler->planPathLaneletsBetweenCheckpoints (start_pose, goal_pose, &path_lanelets)) {
348
- return route_msg;
349
- }
350
-
351
- // Add all path_lanelets to all_route_lanelets
352
- for (const auto & lane : path_lanelets) {
353
- all_route_lanelets.push_back (lane);
354
- }
355
- // create local route sections
356
- route_handler->setRouteLanelets (path_lanelets);
357
- const auto local_route_sections = route_handler->createMapSegments (path_lanelets);
358
- route_sections = combineConsecutiveRouteSections (route_sections, local_route_sections);
359
- for (const auto & route_section : route_sections) {
360
- for (const auto & primitive : route_section.primitives ) {
361
- std::cerr << " primitive: " << primitive.id << std::endl;
362
- }
363
- std::cerr << " preferred_primitive id : " << route_section.preferred_primitive .id << std::endl;
364
- }
365
- route_handler->setRouteLanelets (all_route_lanelets);
366
- route.segments = route_sections;
367
-
368
- route.allow_modification = false ;
369
- return route;
370
- }
371
-
372
285
// this is for the test lanelet2_map.osm
373
286
// file hash: a9f84cff03b55a64917bc066451276d2293b0a54f5c088febca0c7fdf2f245d5
374
287
LaneletRoute makeBehaviorNormalRoute ()
0 commit comments