Closed sea-bass closed 4 months ago
Coverage Report
File Stmts Miss Cover Missing pyroboplan __init__.py 0 0 100% pyroboplan/core __init__.py 0 0 100% planning_context.py 8 8 0% 1, 4, 9, 13–15, 17–18 utils.py 85 2 97% 155–156 pyroboplan/ik __init__.py 0 0 100% differential_ik.py 87 14 83% 146–147, 156–157, 181, 187, 193, 196, 224, 227, 235–236, 241, 247 nullspace_components.py 16 16 0% 3, 6, 22, 25, 45–46, 48–54, 57, 75–76 pyroboplan/models __init__.py 0 0 100% panda.py 41 0 100% utils.py 4 0 100% pyroboplan/planning __init__.py 0 0 100% cartesian_planner.py 92 5 94% 115, 139, 143–144, 207 graph.py 40 0 100% rrt.py 158 25 84% 129–130, 132–133, 149, 152, 160, 333, 378–383, 387–388, 392–394, 397–398, 406–407, 410–411 utils.py 6 0 100% pyroboplan/trajectory __init__.py 0 0 100% polynomial.py 126 18 85% 127, 129–130, 132–134, 136–137, 140–143, 146, 151, 156, 165, 192, 261 trapezoidal_velocity.py 153 18 88% 283–284, 316, 318–322, 324–325, 328–331, 334, 339, 344, 353 pyroboplan/visualization __init__.py 0 0 100% meshcat_utils.py 18 11 38% 40–41, 43, 45, 57, 81–82, 109–111, 113 TOTAL 834 117 85%
Tests | Skipped | Failures | Errors | Time |
---|---|---|---|---|
62 | 0 :zzz: | 0 :x: | 0 :fire: | 17.262s :stopwatch: |
In the previous implementation, every trajectory used its own limits by only ensuring it finished at the same time. While this worked, it means that technically all the degrees of freedom were not synced up.
In this PR, we change the logic to make sure that a single time scaling is computed with the most limiting speed/acceleration in consideration, and then use that for all degrees of freedom.
This ends up simplifying the math significantly, as there is no longer a quadratic to solve!