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§
- Circular
Obstacle - Obstacle representation for collision avoidance
- Trajectory
- A complete trajectory
- Trajectory
Constraints - Constraints for trajectory optimization
- Trajectory
Optimizer - Trajectory optimizer
- Trajectory
Point - A trajectory point with position, velocity, and acceleration
Enums§
- Optimization
Method - Trajectory optimization methods