cam#
Collision Avoidance Maneuver design for conjunction assessment.
Compute optimal impulsive burns to avoid satellite conjunctions. Given miss distance, covariance, and hard-body radius, evaluates proposed maneuvers, finds minimum delta-v for a target Pc, and screens multiple burn options. Uses the collision library for Pc computation.
Installation#
opam install cam
Usage#
(* Evaluate a tangential burn 6 hours before TCA *)
let maneuver = Cam.{ dt = 21600.; dv = 0.01; direction = `Tangential } in
let result =
Cam.evaluate ~miss_r:50. ~miss_t:200. ~miss_n:0. ~sigma_r:30. ~sigma_t:100.
~hbr:10. maneuver
in
Printf.printf "Pc before: %e, after: %e\n" result.pc_before result.pc_after
(* Find minimum delta-v to achieve target Pc *)
let dv =
Cam.min_dv ~miss_r:50. ~miss_t:200. ~miss_n:0. ~sigma_r:30. ~sigma_t:100.
~hbr:10. ~dt:21600. ~target_pc:1e-5
API Overview#
type direction-- Burn direction:`Tangential,`Radial,`Normaltype maneuver-- Impulsive maneuver:dt,dv,directiontype result-- Evaluation output: miss distances, Pc before/after, delta-v costevaluate-- Evaluate a proposed maneuver against conjunction geometrymin_dv-- Find minimum delta-v for a target Pc (bisection search)screen-- Evaluate multiple delta-v options, sorted by post-maneuver Pc
License#
ISC