Skip to content

Conversation

@mjansen4857
Copy link
Owner

@mjansen4857 mjansen4857 commented May 8, 2024

Rewrite of the trajectory generation to properly balance robot rotation and translation, and respect individual module limits. This isn't time optimal like Choreo, but should be significantly more accurate and hopefully allow PathPlanner paths to "just work" with little to no path tuning.

Still has a lot of issues that need to be ironed out and optimizations that need to be made. Some of these issues are due to the distribution of path samples along each spline segment. These will be fixed in a future PR that will dynamically sample the path based on distance and amount of rotation. Should be good enough for now with future PRs to improve it.

  • Implement POC for new generation in GUI
  • Add more motor torque curves for popular motors and current limits
  • Support differential drive robots
  • Fix issues and optimize (from testing, the dynamic path resolution PR should alleviate issues with module path discontinuities)
  • Display GUI warning when a trajectory fails to generate
  • GUI test coverage
  • PPLib Java
  • PPLib C++
  • PPLib Python
  • Test on real robot (benchmarked on RIO 1... significantly longer generation time but mostly acceptable. dynamic resolution and pre-generation will improve this)
  • Documentation Will do later to get this merged sooner

@mjansen4857 mjansen4857 linked an issue May 8, 2024 that may be closed by this pull request
@github-actions github-actions bot added dependencies Pull requests that update a dependency file GUI Changes to the PathPlanner GUI labels May 8, 2024
@codecov
Copy link

codecov bot commented May 8, 2024

Codecov Report

Attention: Patch coverage is 88.17097% with 119 lines in your changes missing coverage. Please review.

Project coverage is 85.35%. Comparing base (448e433) to head (4d4feac).
Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
lib/widgets/editor/split_path_editor.dart 18.36% 40 Missing ⚠️
lib/pages/home_page.dart 0.00% 29 Missing ⚠️
lib/trajectory/motor_torque_curve.dart 15.38% 22 Missing ⚠️
lib/util/wpimath/kinematics.dart 88.60% 9 Missing ⚠️
lib/trajectory/trajectory.dart 97.34% 8 Missing ⚠️
lib/util/wpimath/geometry.dart 96.03% 4 Missing ⚠️
lib/widgets/editor/split_auto_editor.dart 94.23% 3 Missing ⚠️
lib/widgets/editor/split_choreo_path_editor.dart 60.00% 2 Missing ⚠️
lib/path/pathplanner_path.dart 85.71% 1 Missing ⚠️
lib/trajectory/auto_simulator.dart 95.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #694      +/-   ##
==========================================
- Coverage   85.51%   85.35%   -0.16%     
==========================================
  Files          78       83       +5     
  Lines        6867     7445     +578     
==========================================
+ Hits         5872     6355     +483     
- Misses        995     1090      +95     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@mjansen4857 mjansen4857 mentioned this pull request Jun 7, 2024
@mjansen4857 mjansen4857 marked this pull request as ready for review September 8, 2024 01:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file GUI Changes to the PathPlanner GUI PathPlannerLib Changes to PathPlannerLib workflows Changes to the GitHub Actions workflows

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Trajectory generation V2

3 participants