Collision Avoidance Maneuver design for conjunction assessment
0
fork

Configure Feed

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

Format: ocamlformat fixups for collision and cam APIs

+9 -11
+1 -3
lib/cam.ml
··· 184 184 185 185 let avoid ?(hbr = 0.015) ?(target_pc = 1e-5) ?(direction = `Tangential) 186 186 (cdm : Cdm.t) ~dt = 187 - let miss_vec = 188 - Vec3.sub cdm.obj2.state.pos cdm.obj1.state.pos 189 - in 187 + let miss_vec = Vec3.sub cdm.obj2.state.pos cdm.obj1.state.pos in 190 188 let r_hat, t_hat, n_hat = 191 189 let rn = Vec3.length cdm.obj1.state.pos in 192 190 let r = Vec3.scale (1.0 /. rn) cdm.obj1.state.pos in
+8 -8
lib/cam.mli
··· 13 13 Printf.printf "Cannot reduce Pc below threshold\n" 14 14 ]} 15 15 16 - Uses Kepler propagation when satellite state vectors are available, 17 - linear approximation otherwise. *) 16 + Uses Kepler propagation when satellite state vectors are available, linear 17 + approximation otherwise. *) 18 18 19 19 (** {1 Types} *) 20 20 ··· 47 47 Cdm.t -> 48 48 dt:float -> 49 49 result option 50 - (** [avoid cdm ~dt] finds the minimum tangential burn at [dt] seconds before 51 - TCA that reduces Pc below [target_pc]. 50 + (** [avoid cdm ~dt] finds the minimum tangential burn at [dt] seconds before TCA 51 + that reduces Pc below [target_pc]. 52 52 53 - Defaults: [hbr] = 0.015 km (15 m), [target_pc] = 1e-5, 54 - [direction] = [`Tangential]. 53 + Defaults: [hbr] = 0.015 km (15 m), [target_pc] = 1e-5, [direction] = 54 + [`Tangential]. 55 55 56 56 Returns [None] if the conjunction is already safe or if no burn can achieve 57 57 the target. *) ··· 72 72 result 73 73 (** [evaluate ~miss_r ~miss_t ~miss_n ~sigma_r ~sigma_t ~hbr m] evaluates a 74 74 proposed maneuver [m]. Miss components in meters, sigma in meters, HBR in 75 - meters. When state vectors are provided (km, km/s), uses Kepler 76 - propagation. *) 75 + meters. When state vectors are provided (km, km/s), uses Kepler propagation. 76 + *) 77 77 78 78 val min_dv : 79 79 miss_r:float ->