Collision Avoidance Maneuver design for conjunction assessment
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add READMEs for 16 packages, fix merlint issues, add KVN tests

READMEs for all new packages. Fix missing docs (ocm, stix, globe),
naming (project_visible→visible, label_info→info, shader_kind→kind),
add .ocamlformat to csvt, add 11 KVN tests.

+41
+41
README.md
··· 1 + # cam 2 + 3 + Collision Avoidance Maneuver design for conjunction assessment. 4 + 5 + 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. 6 + 7 + ## Installation 8 + 9 + ``` 10 + opam install cam 11 + ``` 12 + 13 + ## Usage 14 + 15 + ```ocaml 16 + (* Evaluate a tangential burn 6 hours before TCA *) 17 + let maneuver = Cam.{ dt = 21600.; dv = 0.01; direction = `Tangential } in 18 + let result = 19 + Cam.evaluate ~miss_r:50. ~miss_t:200. ~miss_n:0. ~sigma_r:30. ~sigma_t:100. 20 + ~hbr:10. maneuver 21 + in 22 + Printf.printf "Pc before: %e, after: %e\n" result.pc_before result.pc_after 23 + 24 + (* Find minimum delta-v to achieve target Pc *) 25 + let dv = 26 + Cam.min_dv ~miss_r:50. ~miss_t:200. ~miss_n:0. ~sigma_r:30. ~sigma_t:100. 27 + ~hbr:10. ~dt:21600. ~target_pc:1e-5 28 + ``` 29 + 30 + ## API Overview 31 + 32 + - **`type direction`** -- Burn direction: `` `Tangential ``, `` `Radial ``, `` `Normal `` 33 + - **`type maneuver`** -- Impulsive maneuver: `dt`, `dv`, `direction` 34 + - **`type result`** -- Evaluation output: miss distances, Pc before/after, delta-v cost 35 + - **`evaluate`** -- Evaluate a proposed maneuver against conjunction geometry 36 + - **`min_dv`** -- Find minimum delta-v for a target Pc (bisection search) 37 + - **`screen`** -- Evaluate multiple delta-v options, sorted by post-maneuver Pc 38 + 39 + ## License 40 + 41 + ISC