Notabot & SteelQuasar
SteelQuasar SteelQuasar
Нота, я Ρ‚ΡƒΡ‚ нСбольшой ИИ собрал, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Ρ€Π°Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ космичСского мусора прСдсказываСт, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ столкновСний. Π₯ΠΎΡ‡Π΅ΡˆΡŒ ΠΏΠΎΡΠ»ΡƒΡˆΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚, подСлишься своими ΠΊΠΎΠ΄Π°ΠΌΠΈ-Ρ„ΠΈΡˆΠΊΠ°ΠΌΠΈ?
Notabot Notabot
ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π·Π²ΡƒΡ‡ΠΈΡ‚ ΠΊΡ€ΡƒΡ‚ΠΎ! Для отслСТивания ΠΎΠ±Π»ΠΎΠΌΠΊΠΎΠ² Ρ‚Π΅Π±Π΅ понадобится ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅Π±Π΅ΡΠ½ΡƒΡŽ ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΡƒ с простой Π΄Π²ΡƒΡ…Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎΠΉ модСлью плюс возмущСния Π½Π° атмосфСрноС сопротивлСниС ΠΈ Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅ солнСчного излучСния. Π₯ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΎΡ‚ΠΏΡ€Π°Π²Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠΏΠ°Π³Π°Ρ‚ΠΎΡ€ ΠΊΠ΅ΠΏΠ»Π΅Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΡ€Π±ΠΈΡ‚Ρ‹ Π½Π° Python, Π° Π·Π°Ρ‚Π΅ΠΌ добавь Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ Калмана для объСдинСния Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚Π²ΠΎΠΈΡ… Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ². Π’ΠΎΡ‚ Ρ‚Π΅Π±Π΅ набросок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Ρ‹ моТСшь ΠΏΠΎΠ΄ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ: ```python import numpy as np # ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ MU = 398600.4418 # Π“Ρ€Π°Π²ΠΈΡ‚Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π—Π΅ΠΌΠ»ΠΈ, ΠΊΠΌ^3/с^2 def keplerian_propagate(r0, v0, dt): # r0, v0 Π² ΠΊΠΌ ΠΈ ΠΊΠΌ/с, dt Π² сСкундах r = np.array(r0) v = np.array(v0) # Вычисли ΠΎΡ€Π±ΠΈΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ элСмСнты ΠΈΠ· r0 ΠΈ v0 (ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свой Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄) a, e, i, Ξ©, Ο‰, Ξ½ = elements_from_state(r, v) # ΠŸΡ€ΠΎΠΏΠ°Π³ΠΈΡ€ΡƒΠΉ ΠΈΡΡ‚ΠΈΠ½Π½ΡƒΡŽ аномалию ΠΏΠΎ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ ΠšΠ΅ΠΏΠ»Π΅Ρ€Π° (ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΎ здСсь) n = np.sqrt(MU / a**3) M = mean_anomaly(a, e, Ξ½) + n * dt Ξ½_new = true_anomaly_from_mean(M, e) # Π’Π΅Ρ€Π½ΠΈΡΡŒ Π² Π΄Π΅ΠΊΠ°Ρ€Ρ‚ΠΎΠ²Ρ‹ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ r_new, v_new = state_from_elements(a, e, i, Ξ©, Ο‰, Ξ½_new) return r_new, v_new def kalman_filter(z, P, Q, R): # простой Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ Калман-ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ (Ρ‚Π΅Π±Π΅ понадобится ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ описаниС ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΈ состояния) x_pred = A @ x P_pred = A @ P @ A.T + Q K = P_pred @ H.T @ np.linalg.inv(H @ P_pred @ H.T + R) x = x_pred + K @ (z - H @ x_pred) P = (np.eye(len(x)) - K @ H) @ P_pred return x, P ``` Π”ΠΎΠ±Π°Π²ΡŒ сопротивлСниС Π²ΠΎΠ·Π΄ΡƒΡ…Π°, ΡƒΠΌΠ½ΠΎΠΆΠΈΠ² Π²Π΅ΠΊΡ‚ΠΎΡ€ скорости Π½Π° `Cd * A / m * ρ` ΠΈ моТСшь ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ всё Π² порядкС. Π”Π°ΠΉ Π·Π½Π°Ρ‚ΡŒ, Ссли ΡΡ‚ΠΎΠ»ΠΊΠ½Ρ‘ΡˆΡŒΡΡ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΈΠ»ΠΈ Π·Π°Ρ…ΠΎΡ‡Π΅ΡˆΡŒ Π³Π»ΡƒΠ±ΠΆΠ΅ ΠΏΠΎΠ³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΡΡ Π² ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΡƒ – всСгда Ρ€Π°Π΄ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ!