Importing a PathWeaver JSONΒΆ
The TrajectoryUtil
class can be used to import a PathWeaver JSON into robot code to follow it. This article will go over importing the trajectory. Please visit the end-to-end trajectory tutorial for more information on following the trajectory.
The fromPathweaverJson
(Java) / FromPathweaverJson
(C++) static methods in TrajectoryUtil
can be used to create a trajectory from a JSON file stored on the roboRIO file system.
Note
PathWeaver places JSON files in src/main/deploy/paths
which will automatically be placed on the roboRIO file system in /home/lvuser/deploy/paths
and can be accessed using getDeployDirectory as shown below.
String trajectoryJSON = "paths/YourPath.wpilib.json";
try {
Path trajectoryPath = Filesystem.getDeployDirectory().toPath().resolve(trajectoryJSON);
Trajectory trajectory = TrajectoryUtil.fromPathweaverJson(trajectoryPath);
} catch (IOException ex) {
DriverStation.reportError("Unable to open trajectory: " + trajectoryJSON, ex.getStackTrace());
}
#include <frc/Filesystem.h>
#include <frc/trajectory/TrajectoryUtil.h>
#include <wpi/Path.h>
#include <wpi/SmallString.h>
wpi::SmallString<64> deployDirectory;
frc::filesystem::GetDeployDirectory(deployDirectory);
wpi::sys::path::append(deployDirectory, "paths");
wpi::sys::path::append(deployDirectory, "YourPath.wpilib.json");
frc::Trajectory trajectory = frc::TrajectoryUtil::FromPathweaverJson(deployDirectory);