Dataspeed Path Following
The Dataspeed Path & Waypoint Following Software provides customers with a set of tools to assist with basic autonomous trajectory following. The software is split into a number of modules, summarized below.
Trajectory Data Recorder
This module is used to record raw trajectory data from a RTK-enabled GNSS/INS for later use by the rest of the modules in the system. While the recording system is running, the position and speed of vehicle is stored in a ROS bag file.
Static Trajectory Loader
This module loads a raw data recording from the Trajectory Data Recorder, processes the raw data, and publishes a parameterized trajectory for the Trajectory-Following Controller to execute. This allows quick and easy recording and playback behavior.
Using interactive markers in Rviz, users can create parameterized trajectories by hand, or modify existing trajectories. Any number of independent trajectories can be created and stored in a configuration file that can be used by the Trajectory Selection API for runtime execution.
Trajectory Runtime System
This module loads a set of parameterized trajectories saved from the Trajectory Editor, and responds to requests for switching the active trajectory at runtime. Additionally, using the vehicle’s localization system, the runtime system manages the kinematic transforms from the trajectory to the vehicle’s local frame. This is done so the Trajectory-Following Controller can calculate appropriate drive-by-wire commands.
Automatic Bag Processor
Raw data recordings created with the Trajectory Data Recorder module are input to this module for automatic trajectory parameterization. The output from this module is compatible with the Manual Trajectory Editor, allowing users to fine-tune the trajectories before saving them for use at runtime.
This module implements a closed-loop control system to follow whichever trajectory is active and published by the Trajectory Runtime System.
1. Record Raw Data
2. Load into Trajectory Editor
3. Automatic Parameterization
4. Manual Adjustment
Additionally, as part of a free-space navigation system, users can replace the waypoint sequence from the programmed trajectory and supply their own sequences of waypoints for the controller to follow.