-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add RoadPath that converts a sequence of Lane segments into a PiecewisePolynomial #5662
Add RoadPath that converts a sequence of Lane segments into a PiecewisePolynomial #5662
Conversation
ddcbabc
to
a0fb17c
Compare
+@rpoyner-tri for feature review, please. |
a0fb17c
to
dd9992d
Compare
Reviewed 9 of 9 files at r1. drake/automotive/road_path.h, line 3 at r1 (raw file):
unused. drake/automotive/road_path.h, line 5 at r1 (raw file):
unused. Comments from Reviewable |
+@liangfok as a voluntary / secondary feature reviewer. Reviewed 9 of 9 files at r1. drake/automotive/BUILD, line 270 at r1 (raw file):
BTW, this can be ":lane_direction". drake/automotive/BUILD, line 271 at r1 (raw file):
BTW, this can be ":monolane_onramp_merge". drake/automotive/BUILD, line 748 at r1 (raw file):
BTW, this can be ":road_path". drake/automotive/road_path.cc, line 20 at r1 (raw file):
Unused parameter. drake/automotive/road_path.cc, line 22 at r1 (raw file): http://drake.mit.edu/code_style_guide.html#clarifications
drake/automotive/road_path.cc, line 38 at r1 (raw file):
There shouldn't be a http://drake.mit.edu/code_style_guide.html#clarifications drake/automotive/road_path.cc, line 43 at r1 (raw file):
This method does not appear to modify any member variables. Consider making it drake/automotive/road_path.cc, line 44 at r1 (raw file):
There shouldn't be a http://drake.mit.edu/code_style_guide.html#clarifications drake/automotive/road_path.cc, line 59 at r1 (raw file):
BTW, will non-zero drake/automotive/road_path.h, line 20 at r1 (raw file):
BTW, upon first read, I did not understand what a "break" was. Consider using "branches" since that's what they're called in Maliput. drake/automotive/road_path.h, line 22 at r1 (raw file):
Should drake/automotive/road_path.h, line 50 at r1 (raw file):
Is "path position" defined? drake/automotive/road_path.h, line 63 at r1 (raw file):
BTW, "DefaultBranch" should be "Lane::GetDefaultBranch()": drake/automotive/test/road_path_test.cc, line 111 at r1 (raw file):
BTW, wow, that's a large tolerance of 1cm. How was this tolerance selected? Comments from Reviewable |
dd9992d
to
03946fd
Compare
As per a 1-on-1 conversation with Rico, I have reduced the number of breaks from 1000 to 200 in the unit test - this effectively decreased the unit test's run time from 61 sec down to 1 sec at little loss in precision! Review status: all files reviewed at latest revision, 16 unresolved discussions, some commit checks failed. drake/automotive/road_path.h, line 3 at r1 (raw file): Previously, rpoyner-tri (Rick Poyner (rico)) wrote…
Done. drake/automotive/road_path.h, line 5 at r1 (raw file): Previously, rpoyner-tri (Rick Poyner (rico)) wrote…
Done. drake/automotive/road_path.h, line 22 at r1 (raw file): Previously, liangfok (Chien-Liang Fok) wrote…
Yes. Fixed the comment. There are no intermediate points between those at branch points. There's smarter ways to discretize the lane, and this is meant only as a first-pass. drake/automotive/test/road_path_test.cc, line 111 at r1 (raw file): Previously, liangfok (Chien-Liang Fok) wrote…
There's inevitably interpolation error with a curve fit; that's why 1 cm was used. I've since reduced it to 0.1 cm since that appears to work. Comments from Reviewable |
Reviewed 2 of 2 files at r2. Comments from Reviewable |
Review status: all files reviewed at latest revision, 12 unresolved discussions, some commit checks failed. Comments from Reviewable |
Review status: all files reviewed at latest revision, 12 unresolved discussions, some commit checks failed. drake/automotive/BUILD, line 270 at r1 (raw file): Previously, liangfok (Chien-Liang Fok) wrote…
Done. drake/automotive/BUILD, line 271 at r1 (raw file): Previously, liangfok (Chien-Liang Fok) wrote…
Done. drake/automotive/BUILD, line 748 at r1 (raw file): Previously, liangfok (Chien-Liang Fok) wrote…
Done. drake/automotive/road_path.cc, line 20 at r1 (raw file): Previously, liangfok (Chien-Liang Fok) wrote…
Done. drake/automotive/road_path.cc, line 22 at r1 (raw file): Previously, liangfok (Chien-Liang Fok) wrote…
Done. drake/automotive/road_path.cc, line 38 at r1 (raw file): Previously, liangfok (Chien-Liang Fok) wrote…
Done. drake/automotive/road_path.cc, line 43 at r1 (raw file): Previously, liangfok (Chien-Liang Fok) wrote…
Done. drake/automotive/road_path.cc, line 44 at r1 (raw file): Previously, liangfok (Chien-Liang Fok) wrote…
Done. drake/automotive/road_path.cc, line 59 at r1 (raw file): Previously, liangfok (Chien-Liang Fok) wrote…
It's meant to find a path corresponding to the center of a sequence of lanes. drake/automotive/road_path.h, line 20 at r1 (raw file): Previously, liangfok (Chien-Liang Fok) wrote…
But the knot points are not generated at the branch points currently, so this term wouldn't be the correct one to use. drake/automotive/road_path.h, line 50 at r1 (raw file): Previously, liangfok (Chien-Liang Fok) wrote…
Done. drake/automotive/road_path.h, line 63 at r1 (raw file): Previously, liangfok (Chien-Liang Fok) wrote…
Done. Comments from Reviewable |
484e85a
to
5873aae
Compare
Reviewed 4 of 4 files at r3, 1 of 1 files at r4. Comments from Reviewable |
+@sherm1 for platform review, please. |
🚗 vroom Reviewed 2 of 9 files at r1, 1 of 4 files at r3. Comments from Reviewable |
Checkpoint. Reviewed 5 of 9 files at r1, 3 of 4 files at r3. drake/automotive/road_path.h, line 18 at r4 (raw file):
BTW is that a sufficient specification of the path? I think there are additional dofs left unspecified for smoothness and treatment of slope and curvature at the end points. Please consider fully specifying the path here. drake/automotive/road_path.h, line 31 at r4 (raw file):
BTW should have a "brief" sentence here -- just "constructor" isn't helpful. (Doxygen shows the first sentence in the method list for the class.) Something like "The constructor performs the translation from Maliput lanes to a smooth path." drake/automotive/road_path.h, line 46 at r4 (raw file):
BTW this should either be (a) removed, (b) left out of doxygen (can use drake/automotive/road_path.h, line 46 at r4 (raw file):
BTW "Cartesian space" seems ambiguous here. Is there a World frame used by Maliput from which this position is measured and in which the vector is expressed? drake/automotive/road_path.h, line 66 at r4 (raw file):
BTW, mustaches not necessary here since these are class objects with default constructors. drake/automotive/test/road_path_test.cc, line 36 at r4 (raw file):
BTW drake/automotive/test/road_path_test.cc, line 105 at r4 (raw file):
BTW getEndTime() and getStartTime() aren't styleguide compliant. Is that 3rd party code? drake/automotive/test/road_path_test.cc, line 112 at r4 (raw file):
BTW can you explain in a comment why 1e-3 is the right tolerance? Comments from Reviewable |
Platform with a few BTW suggestions to consider first. Reviewed 1 of 1 files at r4. drake/automotive/road_path.cc, line 27 at r4 (raw file):
BTW, derivative(1) and derivative(2) would be slightly clearer rather than depending on the default. drake/automotive/road_path.cc, line 48 at r4 (raw file):
BTW, shouldn't this be an drake/automotive/road_path.cc, line 100 at r4 (raw file):
BTW, if you can use fixed-size 3-vector elements, then consider using Comments from Reviewable |
5873aae
to
7e7de5c
Compare
Review status: 6 of 9 files reviewed at latest revision, 11 unresolved discussions. drake/automotive/road_path.cc, line 27 at r4 (raw file): Previously, sherm1 (Michael Sherman) wrote…
Done. drake/automotive/road_path.cc, line 48 at r4 (raw file): Previously, sherm1 (Michael Sherman) wrote…
Unfortunately, the arguments to drake/automotive/road_path.cc, line 100 at r4 (raw file): Previously, sherm1 (Michael Sherman) wrote…
Didn't fix this one, it looks as though we're bound to dynamically-sized elements. However, I did clean up the drake/automotive/road_path.h, line 18 at r4 (raw file): Previously, sherm1 (Michael Sherman) wrote…
Done. drake/automotive/road_path.h, line 31 at r4 (raw file): Previously, sherm1 (Michael Sherman) wrote…
Done. drake/automotive/road_path.h, line 46 at r4 (raw file): Previously, sherm1 (Michael Sherman) wrote…
Done. drake/automotive/road_path.h, line 46 at r4 (raw file): Previously, sherm1 (Michael Sherman) wrote…
Done. drake/automotive/road_path.h, line 66 at r4 (raw file): Previously, sherm1 (Michael Sherman) wrote…
Done. drake/automotive/test/road_path_test.cc, line 36 at r4 (raw file): Previously, sherm1 (Michael Sherman) wrote…
Done. drake/automotive/test/road_path_test.cc, line 105 at r4 (raw file): Previously, sherm1 (Michael Sherman) wrote…
This is from It looks like other files within the drake/automotive/test/road_path_test.cc, line 112 at r4 (raw file): Previously, sherm1 (Michael Sherman) wrote…
Done. Comments from Reviewable |
Reviewed 3 of 3 files at r5. Comments from Reviewable |
All good -- thanks! Reviewed 3 of 3 files at r5. drake/automotive/road_path.cc, line 98 at r5 (raw file):
BTW, typo vecotor Comments from Reviewable |
Reviewed 3 of 3 files at r5. drake/automotive/road_path.h, line 35 at r5 (raw file):
This parameter no longer exists. Comments from Reviewable |
7e7de5c
to
847341e
Compare
Review status: 6 of 9 files reviewed at latest revision, 2 unresolved discussions. drake/automotive/road_path.cc, line 98 at r5 (raw file): Previously, sherm1 (Michael Sherman) wrote…
Done. drake/automotive/road_path.h, line 35 at r5 (raw file): Previously, liangfok (Chien-Liang Fok) wrote…
Done. Comments from Reviewable |
Reviewed 3 of 3 files at r6. Comments from Reviewable |
This change is