- Nonuniform splines like centripetal Catmull Rom
- Optimize the trajectory planner
New graphs.ipynb, a Jupyter Notebook that graphs the csv files generated by test files.
New Giselle Geometry:
- Polygon2D class
- Define simple polygons using vertices specified in counter-clockwise order
- Provides functions like
getArea()andcontainsPoint()
New trajectory constraints, inspired by that of WPILib:
- Centripetal Acceleration Constraint
- Limits the centripetal acceleration of the trajectory to slow down around tight turns.
- Polygon Region Constraint
- Limits the velocity when the robot is inside a polygon region
- Use the trajectory planner's
addCenterTrajectoryConstraints()function
Modified curve sampler:
- Optimization
- It now integrates using midpoint sum, which reduces number of matrix multiplications by 2/3.
Modified trajectory planner:
- Changed to accept distanceStep instead of distanceResolution.
setCurvatureFunctioncan accept additional distances to sample at.- Not much optimization found yet.
When creating new cubic spline segments, control points are converted and stored as cubic Hermite control points.
- Thus, only the Hermite characteristic matrix is used