-
Notifications
You must be signed in to change notification settings - Fork 11
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
Issues #17 and #18 #179
Issues #17 and #18 #179
Conversation
- added wrapper for position splines - added lane center line->spline generation
That last commit is to resolve a trivial merge conflict in .gitignore. I will actually review this tomorrow before the meeting. |
@@ -0,0 +1,8 @@ | |||
Path planner {#path-planner} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Love the design doc, thanks for doing this.
#include <lanelet2_core/LaneletMap.h> | ||
#include <lanelet2_core/primitives/Point.h> | ||
#include <lanelet2_core/geometry/LineString.h> | ||
#include <autoware_auto_msgs/msg/trajectory.hpp> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should transition to using voltron_msgs
in the future, migrating and modifying Autoware msg files as necessary. This gives us greater clarity and control over our message formats. And I suspect that Autoware's message approach can be simplified for our uses...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds good
@@ -0,0 +1,50 @@ | |||
// Copyright 2020 The Autoware Foundation |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this Autoware code? I'm not seeing it in their repo.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no, I initially copied their class and forgot to remove this comment, oops
trajectory_point.longitudinal_velocity_mps = 0; | ||
return trajectory_point; | ||
} | ||
//resolution should be < 0.1 to get good approximation |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
0.1 what? Meters? You used "units" earlier, but the Lanelet data is stored in meters, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It should be 0.1 of whatever units we decide to use, so meters is fine. It's more of a note to myself, for the future from my testing earlier. Will be more robust later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work, Jim. Please make these quick fixes as soon as you're able. @joshmackwilliams, please add any comments. Thanks!
return lanelet::utils::createMap({ll}); | ||
} | ||
|
||
HADMapRoute getARoute(const int64_t lane_id, const float32_t length) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you add an explanatory comment for this function?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU General Public License |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jim-works would you include the GPL v3 license text at the end of our LICENSE file, along with an explanatory note of which part of our code uses the file, e.g. "Tino Kluge's cubic spline library", including a link to their site (https://kluge.in-chemnitz.de/opensource/spline/)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me
@jim-works please add that license text and function description, then we can merge. Thanks 👍 |
…va-UTD/navigator into feature_basic_path_generation
Apologies that this took so long, school was killing me this week. Also, I did not change to voltron_msgs, it didn't look like the package had the trajectory struct I was using (unless I am missing something?) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, thanks Jim.
Right, I meant that more as a todo for future work. Moving to a unified message library under voltron_msgs will be a team-wide effort, but you don't have to worry about that at the moment. |
* Initial draft, with quite a few TODOs remaining * Revise the README This version of the readme is much shorter and simpler than my initial idea. The reason is, if someone is really interested in using or running our software, they need to be directed to the wiki anyways. Perhaps a later update could include build and run instructions, but any instructions we put here will need to be tested on machines other than the quad to ensure accuracy. * Add I2C interface and GPS node * Feature: basic safety manager (#176) * Implement hello-world package safety_manager * Create service interfaces for safety manager * Add stubs for test client and server * First draft of TestServer * First draft of TestClient * Add simple tests for TestClient and TestServer * Create basic safety manager with dummy logging * safety manager now logs some info about events * simple tests for the safety manager * Add watchdog schematic (#180) * Add basic sidecar design notes * Add schematic * Automatic testing with GH Actions (#182) * Add automatic testing workflow (version 1) * Fix syntax error * Skip packages and run on pushes * Rosdep will now ignore errors * Install colcon-common-extensions and vcstool * Install colcon mixins, as in ROS dockerfile * Removed troublesome packages On doing a docker build, the mpc_controller and test_trajectory_following packages were causing rosdep to throw errors. After talking with Will, it seems we don't actually need these packages, so they have been deleted. * Use docker for build and test * Don't run on pushes * Remove *_nodes packages from testing * Retest up to 8 times on failure * Add sleep time to safety manager test * Issues #17 and #18 (#179) * added path_planner package, cubic spline implementation, and offset spline header * - added library for splines - added wrapper for position splines - added lane center line->spline generation * fix typo * added points for lane boundaries * fix compiler errors and some other stuff i forgot * updated formatting + tests * fix tests and add more comments * Update license with GPL and add test function comment Co-authored-by: Joshua Williams <joshmackwilliams@protonmail.com> * Hotfix: actually poll messages & put them into a non-null buffer * Fix build error with symlink_install and object libs (#203) * Add lio-sam and ring channel emulation * Working initially * Finish mapping tweaks, working in sim * Create "hubble" localization package * Add saveMap servicewa * Update GPS node to use Odom msg * Add data_collection.launch.py * Add grid_divider, update GPS node * Add gomentum pcds, grid_divider script * Add grid_divider, update hubble, gps - grid_divider is script to divide AND FILTER a big PCD map - Hubble now uses python, will move back to C++ later - Fix seg fault in GPS (thanks to Avery) * Remove maps using .gitignore * Remove useless script * Add to mapping nodes * Switch from IMU integration to ZED odom * Add mapping GPS debug * Finish basic mapping with lio_sam. Needs filtering * Add map loader * Add lanelet visualization * Cleanup, add deviation_report skeleton * Remove buggy junk from Autoware * Rename lio_sam, fix safety_manager static build * Finish working prototype of icp_nudger * Add maps for gomentum * Add campus map cells; switch nudger to NDT * Update robot_localization * Change state_estiamtion to hubble. Docker works! * Add robot localization * Update route planner to new design (#206) * trim autoware code * Route planner logic and basic testing * Node and message update * Cleanup and docs * Disable linter on lanetlet2_global_planner Co-authored-by: Joshua Williams <joshmackwilliams@protonmail.com> Thank you @EganJ ! * Disable linting in all packages Co-authored-by: Avery Bainbridge <axb200157@utdallas.edu> Co-authored-by: Will Heitman <Will.Heitman@UTDallas.edu> Co-authored-by: Avery <11591624+a-bainbridge@users.noreply.github.com> Co-authored-by: Jim <80440382+jim-works@users.noreply.github.com> Co-authored-by: Egan <34986820+EganJ@users.noreply.github.com>
* Release 1.1 (#196) * Initial draft, with quite a few TODOs remaining * Revise the README This version of the readme is much shorter and simpler than my initial idea. The reason is, if someone is really interested in using or running our software, they need to be directed to the wiki anyways. Perhaps a later update could include build and run instructions, but any instructions we put here will need to be tested on machines other than the quad to ensure accuracy. * Add I2C interface and GPS node * Feature: basic safety manager (#176) * Implement hello-world package safety_manager * Create service interfaces for safety manager * Add stubs for test client and server * First draft of TestServer * First draft of TestClient * Add simple tests for TestClient and TestServer * Create basic safety manager with dummy logging * safety manager now logs some info about events * simple tests for the safety manager * Add watchdog schematic (#180) * Add basic sidecar design notes * Add schematic * Automatic testing with GH Actions (#182) * Add automatic testing workflow (version 1) * Fix syntax error * Skip packages and run on pushes * Rosdep will now ignore errors * Install colcon-common-extensions and vcstool * Install colcon mixins, as in ROS dockerfile * Removed troublesome packages On doing a docker build, the mpc_controller and test_trajectory_following packages were causing rosdep to throw errors. After talking with Will, it seems we don't actually need these packages, so they have been deleted. * Use docker for build and test * Don't run on pushes * Remove *_nodes packages from testing * Retest up to 8 times on failure * Add sleep time to safety manager test Co-authored-by: Avery Bainbridge <axb200157@utdallas.edu> Co-authored-by: Will Heitman <Will.Heitman@UTDallas.edu> Co-authored-by: Avery <11591624+a-bainbridge@users.noreply.github.com> * Release 1.2 (#216) * Initial draft, with quite a few TODOs remaining * Revise the README This version of the readme is much shorter and simpler than my initial idea. The reason is, if someone is really interested in using or running our software, they need to be directed to the wiki anyways. Perhaps a later update could include build and run instructions, but any instructions we put here will need to be tested on machines other than the quad to ensure accuracy. * Add I2C interface and GPS node * Feature: basic safety manager (#176) * Implement hello-world package safety_manager * Create service interfaces for safety manager * Add stubs for test client and server * First draft of TestServer * First draft of TestClient * Add simple tests for TestClient and TestServer * Create basic safety manager with dummy logging * safety manager now logs some info about events * simple tests for the safety manager * Add watchdog schematic (#180) * Add basic sidecar design notes * Add schematic * Automatic testing with GH Actions (#182) * Add automatic testing workflow (version 1) * Fix syntax error * Skip packages and run on pushes * Rosdep will now ignore errors * Install colcon-common-extensions and vcstool * Install colcon mixins, as in ROS dockerfile * Removed troublesome packages On doing a docker build, the mpc_controller and test_trajectory_following packages were causing rosdep to throw errors. After talking with Will, it seems we don't actually need these packages, so they have been deleted. * Use docker for build and test * Don't run on pushes * Remove *_nodes packages from testing * Retest up to 8 times on failure * Add sleep time to safety manager test * Issues #17 and #18 (#179) * added path_planner package, cubic spline implementation, and offset spline header * - added library for splines - added wrapper for position splines - added lane center line->spline generation * fix typo * added points for lane boundaries * fix compiler errors and some other stuff i forgot * updated formatting + tests * fix tests and add more comments * Update license with GPL and add test function comment Co-authored-by: Joshua Williams <joshmackwilliams@protonmail.com> * Hotfix: actually poll messages & put them into a non-null buffer * Fix build error with symlink_install and object libs (#203) * Add lio-sam and ring channel emulation * Working initially * Finish mapping tweaks, working in sim * Create "hubble" localization package * Add saveMap servicewa * Update GPS node to use Odom msg * Add data_collection.launch.py * Add grid_divider, update GPS node * Add gomentum pcds, grid_divider script * Add grid_divider, update hubble, gps - grid_divider is script to divide AND FILTER a big PCD map - Hubble now uses python, will move back to C++ later - Fix seg fault in GPS (thanks to Avery) * Remove maps using .gitignore * Remove useless script * Add to mapping nodes * Switch from IMU integration to ZED odom * Add mapping GPS debug * Finish basic mapping with lio_sam. Needs filtering * Add map loader * Add lanelet visualization * Cleanup, add deviation_report skeleton * Remove buggy junk from Autoware * Rename lio_sam, fix safety_manager static build * Finish working prototype of icp_nudger * Add maps for gomentum * Add campus map cells; switch nudger to NDT * Update robot_localization * Change state_estiamtion to hubble. Docker works! * Add robot localization * Update route planner to new design (#206) * trim autoware code * Route planner logic and basic testing * Node and message update * Cleanup and docs * Disable linter on lanetlet2_global_planner Co-authored-by: Joshua Williams <joshmackwilliams@protonmail.com> Thank you @EganJ ! * Disable linting in all packages Co-authored-by: Avery Bainbridge <axb200157@utdallas.edu> Co-authored-by: Will Heitman <Will.Heitman@UTDallas.edu> Co-authored-by: Avery <11591624+a-bainbridge@users.noreply.github.com> Co-authored-by: Jim <80440382+jim-works@users.noreply.github.com> Co-authored-by: Egan <34986820+EganJ@users.noreply.github.com> Co-authored-by: Avery Bainbridge <axb200157@utdallas.edu> Co-authored-by: Will Heitman <Will.Heitman@UTDallas.edu> Co-authored-by: Avery <11591624+a-bainbridge@users.noreply.github.com> Co-authored-by: Jim <80440382+jim-works@users.noreply.github.com> Co-authored-by: Egan <34986820+EganJ@users.noreply.github.com>
This branch contains the implementation and tests for issues #17 and #18