Closed MishkaMN closed 3 years ago
The team has decided to merge waypoint generator as it is still possible to debug the new component with ILC at the same.
The issue was fixed during testing of integration/routing and the fix is in develop as of this point. The edge case was in route_following_plugin's plan maneuver callback function. It was using the current lanelet to plan its maneuvers, but sometimes on intersections, multiple lanelets were found, which had to be filtered out using the route. If it erroneously used a lanelet not on the route, it failed to generate maneuvers, which is why after some time, it was running out of trajectories.
Types of Issue
Descriptive summary
While integration testing route_following and inlanecruising plugins, it is found that the plan_delegator stops receiving new maneuvers. This happens soon after CARMA makes a left turn, and it results in CARMA exhausting its possible trajectory points, printing "no trajectory point left to execute" (error message is not word to word), and hitting breaks very abruptly. Direct source of error could come from two situations: either plan_delegator did not request the maneuver, or inlanecruising plugin (ILC) did not send it. Plan_delegator is requesting correctly. Therefore, the remaining guess is that inlanecruising plugin may have a bug, of which nature is unknown currently.
It may be worth for the assignee to test it on a straight road to rule out if it only happens when turning.
The issue is not assumed to be in the controller level, swapping MPC with pure_pursuit did not work around the same place as well. The result of the bug is not exactly same though; with pure_pursuit, it was turning left way longer than it should, resulting in going off the road.
Carma version where this issue was discovered
Expected behavior
The vehicle should not go off the road or stop abruptly.
Actual behavior
The vehicle stops abruptly.
Steps to reproduce the actual behavior
https://github.com/usdot-fhwa-stol/carma-platform/pull/874 Last confirmed the bug at above PR. -build the docker image and run carma start all with lexus config (develop branch) on silver lexus. -localize using rviz -select the route either through UI or
rosservice call /guidance/set_active_route "routeID: 'route'"
-publish the recorded waypointrostopic pub /guidance/selected_route_path std_msgs/String "data: '/opt/carma/routes/TFHRCPrimaryNewRouteMae.csv'"
-engage through UI orrosservice call /guidance/set_guidance_active "active_status: true"
Related work
https://github.com/usdot-fhwa-stol/carma-platform/issues/859 Found while testing this.