open-rmf / rmf_traffic

Traffic management libraries for RMF
Apache License 2.0
28 stars 26 forks source link

Add lane speed limits to the graph and factor them into the planning #44

Closed mxgrey closed 3 years ago

mxgrey commented 3 years ago

This PR introduces the ability to (optionally) set speed limits on nav graph lanes. These speed limits will be respected by the planner.

For the initial implementation if there are multiple speed limits along one continuous stretch (collinear lanes that have different speed limits), then the planner will use the lowest speed limit along the entire stretch (or possibly come to a stop at the point where the lanes change and then switch speeds, if that would be faster). This approach does not provide optimal trajectories. We should instead have the robot accelerate/decelerate at each lane intersection in compliance with the changes in speed limits, but that will take considerably more effort to work out, so we'll start with this and improve the implementation in a future PR.

codecov[bot] commented 3 years ago

Codecov Report

Merging #44 (c2ad1df) into main (f1432d8) will increase coverage by 0.00%. The diff coverage is 23.52%.

@@           Coverage Diff           @@
##             main      #44   +/-   ##
=======================================
  Coverage   22.13%   22.13%           
=======================================
  Files         353      353           
  Lines       29140    29207   +67     
  Branches    13425    13475   +50     
=======================================
+ Hits         6449     6466   +17     
- Misses      13540    13543    +3     
- Partials     9151     9198   +47     
Flag Coverage Δ
tests 22.13% <23.52%> (+<0.01%) :arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
rmf_traffic/include/rmf_traffic/agv/Graph.hpp 18.18% <ø> (ø)
rmf_traffic/test/unit/agv/test_Planner.cpp 13.34% <4.16%> (-0.27%) :arrow_down:
...raffic/src/rmf_traffic/agv/planning/Supergraph.cpp 55.48% <44.44%> (-0.33%) :arrow_down:
rmf_traffic/src/rmf_traffic/agv/Graph.cpp 56.64% <90.90%> (+2.16%) :arrow_up: