systems.builtin.deterministic.continuous.PathTracking
systems.builtin.deterministic.continuous.PathTracking(*args, **kwargs)Path tracking error dynamics for a vehicle following a circular reference path.
Physical System:
Models the error dynamics of a kinematic vehicle (car, robot, boat) as it attempts to follow a circular trajectory.
The vehicle uses a bicycle model (front-wheel steering) and the error coordinates are relative to the closest point on the reference circle.
Coordinate Frames:
- Reference path: Circular trajectory with radius R
- Path frame: Moving frame tangent to reference path
- Vehicle frame: Body-fixed frame of the vehicle
- Error coordinates: Deviations from reference path in path frame
State Space:
State: x = [d_e, θ_e] - d_e: Lateral (cross-track) error [m] * d_e > 0: vehicle is to the left of the path * d_e < 0: vehicle is to the right of the path * d_e = 0: vehicle is exactly on the path
- θ_e: Heading error [rad]
* θ_e > 0: vehicle heading points left of desired direction
* θ_e < 0: vehicle heading points right of desired direction
* θ_e = 0: vehicle heading is tangent to path
Control: u = [δ] - δ (delta): Front wheel steering angle [rad] * δ > 0: steer left * δ < 0: steer right * δ = 0: straight ahead
Output: y = [d_e, θ_e] - Full state observation (both errors measured)
Dynamics:
The error dynamics describe how tracking errors evolve:
ḋ_e = v·sin(θ_e)
θ̇_e = (v·δ)/L - cos(θ_e)/(R/v - sin(θ_e))
Lateral error rate ḋ_e: - Proportional to forward speed v - Depends on heading error through sin(θ_e) - When θ_e > 0 (heading left), d_e increases (moves left) - When θ_e < 0 (heading right), d_e decreases (moves right)
**Heading error rate θ̇_e**: - First term (v·δ)/L: Vehicle’s turning rate (Ackermann steering) - Second term: Path’s curvature rate projection - At equilibrium, these balance to track the circle
Physical interpretation: - If vehicle steers more than needed → heading error increases - If vehicle steers less than needed → heading error decreases - Coupling: lateral error affects required steering through geometry
Parameters:
speed : float, default=1.0 Constant forward speed of vehicle [m/s]. Assumed to be maintained by a low-level speed controller. Higher speed → faster error dynamics. length : float, default=1.0 Vehicle wheelbase [m]. Distance between front and rear axles. Longer wheelbase → less maneuverable (smaller turning rate). radius : float, default=10.0 Radius of the circular reference path [m]. Larger radius → gentler turn, easier to track. radius → ∞ approaches straight line tracking.
Equilibrium:
Perfect tracking equilibrium: x_eq = [0, 0] (no lateral error, no heading error) u_eq = L/R (steady-state steering angle for circle)
At equilibrium: - Vehicle is on the path (d_e = 0) - Vehicle heading is tangent to path (θ_e = 0) - Steering angle exactly matches path curvature - Steady-state steering: δ = L/R = wheelbase/radius
See Also:
DubinsVehicle : Full kinematic model (not error dynamics) PVTOL : Another vehicle with reference tracking CartPole : Another system with error dynamics formulation