···184184185185let avoid ?(hbr = 0.015) ?(target_pc = 1e-5) ?(direction = `Tangential)
186186 (cdm : Cdm.t) ~dt =
187187- let miss_vec =
188188- Vec3.sub cdm.obj2.state.pos cdm.obj1.state.pos
189189- in
187187+ let miss_vec = Vec3.sub cdm.obj2.state.pos cdm.obj1.state.pos in
190188 let r_hat, t_hat, n_hat =
191189 let rn = Vec3.length cdm.obj1.state.pos in
192190 let r = Vec3.scale (1.0 /. rn) cdm.obj1.state.pos in
+8-8
lib/cam.mli
···1313 Printf.printf "Cannot reduce Pc below threshold\n"
1414 ]}
15151616- Uses Kepler propagation when satellite state vectors are available,
1717- linear approximation otherwise. *)
1616+ Uses Kepler propagation when satellite state vectors are available, linear
1717+ approximation otherwise. *)
18181919(** {1 Types} *)
2020···4747 Cdm.t ->
4848 dt:float ->
4949 result option
5050-(** [avoid cdm ~dt] finds the minimum tangential burn at [dt] seconds before
5151- TCA that reduces Pc below [target_pc].
5050+(** [avoid cdm ~dt] finds the minimum tangential burn at [dt] seconds before TCA
5151+ that reduces Pc below [target_pc].
52525353- Defaults: [hbr] = 0.015 km (15 m), [target_pc] = 1e-5,
5454- [direction] = [`Tangential].
5353+ Defaults: [hbr] = 0.015 km (15 m), [target_pc] = 1e-5, [direction] =
5454+ [`Tangential].
55555656 Returns [None] if the conjunction is already safe or if no burn can achieve
5757 the target. *)
···7272 result
7373(** [evaluate ~miss_r ~miss_t ~miss_n ~sigma_r ~sigma_t ~hbr m] evaluates a
7474 proposed maneuver [m]. Miss components in meters, sigma in meters, HBR in
7575- meters. When state vectors are provided (km, km/s), uses Kepler
7676- propagation. *)
7575+ meters. When state vectors are provided (km, km/s), uses Kepler propagation.
7676+*)
77777878val min_dv :
7979 miss_r:float ->