Posted by @eliasdc:
I’m having the same problem with the legacy fleet driver API.
[full_control-13] [SearchForPath] CRITICAL ERROR: Failed to find an acceptable greedy solution. Participant [test_robot] owned by [fleet_proto] Requested path ([5] r:-1.54586 | no lane) --> (5). Maximum cost: 0 | Leeway factor: 10 | Current cost: 0.257846 | Saturated: 0 (limit: 10000) | interrupted: 0
[full_control-13] linear | v: 0.5, a: 0.5
[full_control-13] angular | v: 1.5, a: 1.5
[full_control-13] full_control: ...rmf_fleet_adapter/src/rmf_fleet_adapter/agv/../services/../jobs/detail/impl_SearchForPath.hpp:146: rmf_fleet_adapter::jobs::SearchForPath::operator()(const Subscriber&, const Worker&) [with Subscriber = rxcpp::subscriber<rmf_fleet_adapter::jobs::SearchForPath::Result, rxcpp::observer<rmf_fleet_adapter::jobs::SearchForPath::Result, rxcpp::operators::detail::observe_on<rmf_fleet_adapter::jobs::SearchForPath::Result, rxcpp::observe_on_one_worker>::observe_on_observer<rxcpp::subscriber<rmf_fleet_adapter::jobs::SearchForPath::Result, rxcpp::observer<rmf_fleet_adapter::jobs::SearchForPath::Result, void, void, void, void> > >, void, void, void> >; Worker = rxcpp::schedulers::worker]::<lambda(const rmf_fleet_adapter::jobs::Planning::Result&)>: Assertion `false' failed.
This happens directly on boot, with none bidirectional lanes. The robot is unable to plan the initial location. If I change the robot’s initial position it sometimes does work and is able to plan. My max offset from a waypoint is 10m so this should be possible as my test environment is much smaller.
edit 1:
Just tested from the same location with bidirectional lanes and a reversible robot and I receive the same error. I do have in my lanes two vertices close to each other just to force the orientation on the robot on a specific vertex.
edit 2:
New test with the new driver API and still having the same problem. I assume it is because two points are close to each other. Instant fail on launch when the robot is positioned around those two close points.
[rmf_traffic_schedule-1] [INFO] [1652170399.567188574] [rmf_traffic_schedule_primary]: Registered participant [14] named [robot_test] owned by [proto]
[server_node-13] [INFO] [1652170399.580196495] [fleet_server]: Added a robot named [robot_test] with participant ID [14]
[server_node-13] Info [Manager.cpp:handle_robot_state:87] Registered new robot: [robot_test]
[server_node-13] [SearchForPath] CRITICAL ERROR: Failed to find an acceptable greedy solution. Participant [robot_test] owned by [proto] Requested path ([0] r:1.58528 | no lane) --> (0). Maximum cost: 0 | Leeway factor: 10 | Current cost: 0 | Saturated: 0 (limit: 10000) | interrupted: 0
[server_node-13] linear | v: 0.5, a: 0.5
[server_node-13] angular | v: 1.5, a: 1.5
[server_node-13] server_node: /rmf/rmf_ros2/rmf_fleet_adapter/src/rmf_fleet_adapter/agv/../services/../jobs/detail/impl_SearchForPath.hpp:146: rmf_fleet_adapter::jobs::SearchForPath::operator()(const Subscriber&, const Worker&) [with Subscriber = rxcpp::subscriber<rmf_fleet_adapter::jobs::SearchForPath::Result, rxcpp::observer<rmf_fleet_adapter::jobs::SearchForPath::Result, rxcpp::operators::detail::observe_on<rmf_fleet_adapter::jobs::SearchForPath::Result, rxcpp::observe_on_one_worker>::observe_on_observer<rxcpp::subscriber<rmf_fleet_adapter::jobs::SearchForPath::Result, rxcpp::observer<rmf_fleet_adapter::jobs::SearchForPath::Result, void, void, void, void> > >, void, void, void> >; Worker = rxcpp::schedulers::worker]::<lambda(const rmf_fleet_adapter::jobs::Planning::Result&)>: Assertion `false' failed.
Edited by @eliasdc at 2022-05-10T08:19:29Z