Collision Avoidance Maneuver design for conjunction assessment
OCaml 67.0%
Standard ML 26.5%
Dune 2.4%
Other 4.1%
3 1 0

Clone this repository

https://tangled.org/gazagnaire.org/ocaml-cam https://tangled.org/did:plc:jhift2vwcxhou52p3sewcrpx/ocaml-cam
git@git.recoil.org:gazagnaire.org/ocaml-cam git@git.recoil.org:did:plc:jhift2vwcxhou52p3sewcrpx/ocaml-cam

For self-hosted knots, clone URLs may differ based on your setup.

Download tar.gz
README.md

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, `Normal
  • type maneuver -- Impulsive maneuver: dt, dv, direction
  • type result -- Evaluation output: miss distances, Pc before/after, delta-v cost
  • evaluate -- Evaluate a proposed maneuver against conjunction geometry
  • min_dv -- Find minimum delta-v for a target Pc (bisection search)
  • screen -- Evaluate multiple delta-v options, sorted by post-maneuver Pc

License#

ISC