Module trajectory

Module trajectory 

Source
Expand description

Trajectory optimization

This module provides algorithms for optimizing trajectories to achieve smooth motion while satisfying various constraints such as velocity limits, acceleration limits, and obstacle avoidance. Trajectory optimization is essential for generating feasible and efficient paths for robotic systems.

The module includes:

  • Quintic polynomial trajectory generation
  • Minimum jerk trajectory optimization
  • B-spline trajectory optimization
  • Collision-free trajectory optimization

§Examples

use scirs2_spatial::pathplanning::trajectory::{TrajectoryOptimizer, TrajectoryPoint, TrajectoryConstraints};

let start = TrajectoryPoint::new(0.0, 0.0, 0.0, 0.0, 0.0, 0.0);  // x, y, vx, vy, ax, ay
let goal = TrajectoryPoint::new(5.0, 3.0, 0.0, 0.0, 0.0, 0.0);
let duration = 5.0;

let constraints = TrajectoryConstraints::default();
let optimizer = TrajectoryOptimizer::new(constraints);

let trajectory = optimizer.optimize_quintic(&start, &goal, duration).expect("Operation failed");
println!("Trajectory has {} waypoints", trajectory.len());

Structs§

CircularObstacle
Obstacle representation for collision avoidance
Trajectory
A complete trajectory
TrajectoryConstraints
Constraints for trajectory optimization
TrajectoryOptimizer
Trajectory optimizer
TrajectoryPoint
A trajectory point with position, velocity, and acceleration

Enums§

OptimizationMethod
Trajectory optimization methods