PathPlannerLib Changelog - mjansen4857/pathplanner GitHub Wiki
PathPlannerLib v2024.2.8
[C++] Fix improper Choreo event marker parsing
PathPlannerLib v2024.2.7
[Python] Added buildAutoChooser implementation
Added AutoBuilder configureCustom override that accepts a boolean supplier for automatically flipping the starting pose
[Java] Added methods to create commands to warm up path following and pathfinding commands to avoid delays when running them for the first time
PathPlannerLib v2024.2.6
Reduced the effect of the robot's "stopping distance" when replanning paths
PathPlannerLib v2024.2.5
Fixed issue where Choreo event markers would not be copied over when flipping to the red alliance
PathPlannerLib v2024.2.3
[Java] Fixed issue where "rotate fast" would be false for pathfinding to path commands
[Java] Include name of auto in error message if an auto fails to build
[C++] Fixed crash for paths with event markers
PathPlannerLib v2024.2.2
Added pathfindToPoseFlipped method to AutoBuilder that will either pathfind to the given pose, or pathfind to the given pose flipped to the other side of the field depending on the value of the path flipping supplier.
PathPlannerLib v2024.2.1
Converted event markers to be time based instead of position based, to avoid issues with paths that double back on themselves
Added getPathPoses method to PathPlannerPath that will return a list of poses that can be used to display the path on a field 2d widget
Added support for Choreo's upcoming event marker feature
PathPlannerTrajectory constructor can now be used with Choreo paths without crashing
PathPlannerLib v2024.1.6
Fixed path flipping issues for running a pathfinding command to another path
Will now report a driver station warning if a named command has not been registered before being added to an event marker/auto
PathPlannerLib v2024.1.5
Will now throw an exception if a path file is not found instead of returning null
Fixed a bug that would cause the PathPlannerAuto.getPathGroupFromAutoFile method to fail on Choreo autos
Will now report a driver station error instead of throwing an exception if AutoBuilder is configured multiple times
[C++] Fix an issue where the PPHolonomicDriveController could default to being disabled
PathPlannerLib v2024.1.4
Fixed bug with incorrectly flipping rotations for Choreo paths
PathPlannerLib v2024.1.2
[C++] Fixed issue with path flipping
Prevent possible pathfinding command crash
[C++] Fixed rotation target interpolation for targets with "rotate as fast as possible" set to false
[Python] Fixed cyclical import
PathPlannerLib v2024.1.1
Fixed replanning not being triggered properly
Setting dynamic pathfinding obstacles will now only cause the path to be recalculated if they interfere with the current path
[C++ Only] Fixed a typo in fromChoreoTrajectory
Added a boolean supplier parameter to path following commands and auto builder configuration. The return value of this method will determine if paths get flipped to the other side of the field. See the docs for examples of this
PathPlannerLib v2024.0.0-beta-6
[C++] JSON parsing should no longer fail
Significantly improved pathfinding performance on RIO
Active path logging callback will now be called with an empty list when a path following or pathfinding command ends
Official Python support (will be released with next robotpy beta)
Added the ability to load Choreo trajectories as a PathPlannerPath. This allows Choreo trajectories to be followed with PPLib commands and used in autos
Fixed issue where paths could be replanned unnecessarily when the robot has a non-zero starting velocity
Fixed C++ FollowPathWithEvents command requirements checks
PathPlannerLib v2023.4.1
Fixed C++ auto builder drivetrain type initialization
PathPlannerLib v2023.4.0
Added the ability to add custom logging callbacks to path following commands. Call the static setLoggingCallbacks method on the path following command you use to set the logging callbacks.
Changed path following commands and autobuilders to not mirror paths for the red alliance by default. This can be enabled with the useAllianceColor boolean
PathPlannerLib v2023.3.2
Automatically transform paths for the red alliance when using PathPlannerLib path following commands or auto builders
PathPlannerLib v2023.2.3
Major changes since 2022
Added new AutoBuilder functionality to generate full autonomous routines from path files
Added functionality to get event markers for a path. The getMarkers method will return a list of all markers on a path. These markers will have a list of names, time, and position associated with them that can be used with path following commands to trigger other code
Added the ability to load a path as a path group. A path file will be split into multiple paths based on the waypoints marked as stop points. If a path with stop points is loaded as a normal path, the robot will not stop at stop points
Added support for new "stop events"
Added holonomic angular velocity to path states
Added getConstraintsFromPath method to allow loading path constraints from a path file. This allows path velocity and acceleration to be changed without rebuilding code
Added custom PPHolonomicDriveController that:
Uses PathPlanner paths directly
Uses holonomic angular velocity as a feedforward for rotation
Automatically configures continuous input for the rotation PID controller
Pushes a Field2d and error data to SmartDashboard for debugging
Sends path following data over the PathPlannerLib server for visualization within PathPlanner (Java only)
Added FollowPathWithEvents command that will trigger events while running a path following command
Added generatePath methods for on-the-fly generation from a list of points
Added getInitialHolonomicPose method that can be used to reset holonomic odometry at the beginning of a path
Java Only:
Added the ability to run a “PathPlannerLib server” (java only for now). When connected to the PathPlanner GUI, this will automatically update paths on the robot when edited in PathPlanner, and will display visualizations in PathPlanner of the current path, target pose, and actual robot pose while path following
Changes since beta
Add overloads to generatePath methods to take in a list of points instead of varargs/initializer lists
Minor fixes and improvements
Java Only:
Replace user-facing usages of ArrayList and HashMap with generic List and Map interfaces
C++ Only
Add loadPathGroup overload that takes in a vector of PathConstraints instead of an initializer list
2023 Beta
PathPlannerLib Beta v2023.2.0
Added more constructor options for auto builders to take advantage of the constructor options for path following commands (#166)
Build with Java 11 compatibility to maintain backwards-compatibility with 2022 WPILib
Added ability to manually choose control point lengths for on-the-fly generation (#175)
PathPlannerLib Beta v2023.1.0
Added custom path following commands to C++ version
Added support for multiple events per marker
Added support for new "stop events"
Added new AutoBuilder functionality to generate full autonomous routines from path files
Removed event triggering from path following commands. This was not safe to use in command groups. This has been replaced with the FollowPathWithEvents command that will wrap the path following command and run events. This new command is safe to use in groups.
PathPlannerLib Beta v2023.0.1
Fixed a PathPlannerLib server crash
Added getEndWaitTime methods to trajectories to get the wait time that was configured in the GUI
Added fromCurrentHolonomicState and fromCurrentDifferentialState helper methods to the PathPoint class that will return a PathPoint with the current position, heading, velocity, etc of the robot
Fixed holonomic rotation not correctly passing the -180/180 barrier
Added empty PathPlannerTrajectory constructor
PathPlannerLib Beta v2023.0.0
Added functionality to get event markers for a path. The getMarkers method will return a list of all markers on a path. These markers will have a name, time, and position associated with them that can be used in path following commands to trigger other code
Added the ability to load a path as a path group. A path file will be split into multiple paths based on the waypoints marked as stop points. If a path with stop points is loaded as a normal path, the robot will not stop at stop points
Added holonomic angular velocity to path states
Added getConstraintsFromPath method to allow loading path constraints from a path file. This allows path velocity and acceleration to be changed without rebuilding code
Added custom PPHolonomicDriveController that:
Uses PathPlanner paths directly
Uses holonomic angular velocity as a feedforward for rotation
Automatically configures continuous input for the rotation PID controller
Added custom PPSwerveControllerCommand, PPMecanumControllerCommand, PPRamseteCommand, PPLTVUnicycleCommand, PPLTVDifferentialDriveCommand commands (Java only for now) that:
Use PathPlanner paths directly
Automatically triggers commands from given "event map" when reaching event markers
Pushes a Field2d and error data to SmartDashboard for debugging
Sends path following data over the PathPlannerLib server for visualization within PathPlanner
Added generatePath methods for on-the-fly generation from a list of points
Added the ability to run a “PathPlannerLib server” (java only for now). When connected to the PathPlanner GUI, this will automatically update paths on the robot when edited in PathPlanner, and will display visualizations in PathPlanner of the current path, target pose, and actual robot pose while path following
Added getInitialHolonomicPose method that can be used to reset holonomic odometry at the beginning of a path