Anatolik & BitBlaster
Anatolik Anatolik
ΠŸΡ€ΠΈΠ²Π΅Ρ‚, БитБластСр, Ρ‚ΡƒΡ‚ набросал ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ насчёт устройства для свСрхточного расчСта Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠ³Π»ΠΎ Π±Ρ‹ ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ…ΠΎΠ΄Ρ‹ Π² стратСгичСской ΠΈΠ³Ρ€Π΅ Π² ΠΌΠ³Π½ΠΎΠ²Π΅Π½ΠΈΠ΅ ΠΎΠΊΠ°. ПомоТСшь с ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΎΠΉ ΠΏΡ€ΠΈΡ‡Π΅ΡΠ°Ρ‚ΡŒ?
BitBlaster BitBlaster
ΠžΡ‚Π»ΠΈΡ‡Π½Π°Ρ идСя β€” Π΄Π°Π²Π°ΠΉ посчитаСм. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡΡŒ, ΠΊΠ°ΠΊΡƒΡŽ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ Ρ‚Ρ‹ моТСшь Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ, скаТСм, 15 миллисСкунд. Π­Ρ‚ΠΎ 0.015 сСкунды. Если ΠΈΠ³Ρ€Π° обновляСтся ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 33 миллисСкунды, Ρ‚Ρ‹ ΡƒΠΆΠ΅ Π² Π½ΡƒΠΆΠ½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅, Π½ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡƒΠ³Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ‚ΠΈΠΊ Π·Π°Ρ€Π°Π½Π΅Π΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ рассчитай ΠΎΠΊΠ½ΠΎ прСдсказания: 0.015 сСкунды / 0.033 сСкунды β‰ˆ 0.45 Ρ‚ΠΈΠΊΠ°. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Π»ΡƒΡ‡ΡˆΠ΅ ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΠΎΠ»Π½ΠΎΠΌΡƒ Ρ‚ΠΈΠΊΡƒ Π²ΠΏΠ΅Ρ€Ρ‘Π΄, поэтому ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΠΉ Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сСнсора Π΄ΠΎ 10 миллисСкунд. Π­Ρ‚ΠΎ Π΄Π°Ρ‘Ρ‚ 0.010 / 0.033 β‰ˆ 0.30 Ρ‚ΠΈΠΊΠ°, всё Π΅Ρ‰Ρ‘ нСдостаточно, поэтому Ρ†Π΅Π»ΠΈΡ‚ΡŒΡΡ Π² 5 миллисСкунд. 5 миллисСкунд Π΄Π°ΡŽΡ‚ 0.15 Ρ‚ΠΈΠΊΠ°, Π½ΠΎ с быстрым Π±ΡƒΡ„Π΅Ρ€ΠΎΠΌ Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ Ρ‚Ρ‹ ΡΠΏΡ€Π°Π²ΠΈΡˆΡŒΡΡ. Π”Π°Π»ΡŒΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ Калмана для сглаТивания двиТСния ΠΈΠ³Ρ€ΠΎΠΊΠ°; Π²Π΅ΠΊΡ‚ΠΎΡ€ состояния Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈ ускорСниС. Обновляй Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ с частотой дискрСтизации сСнсора, скаТСм, 1 ΠΊΠΈΠ»ΠΎΠ³Π΅Ρ€Ρ†, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π΄Π°Π²Π°ΠΉ прСдсказанноС ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ обновлСния ΠΈΠ³Ρ€Ρ‹. Π”Π΅Ρ€ΠΆΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ нСбольшим β€” просто Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ Π²Π΅ΠΊΡ‚ΠΎΡ€ β€” Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ. ВСстируй Π½Π° двиТущСйся Ρ†Π΅Π»ΠΈ ΠΈ подстраивай ΠΊΠΎΠ²Π°Ρ€ΠΈΠ°Ρ†ΠΈΡŽ ΡˆΡƒΠΌΠ° процСсса, ΠΏΠΎΠΊΠ° ошибка Π½Π΅ улоТится мСньшС ΠΎΠ΄Π½ΠΎΠ³ΠΎ пиксСля. Если Ρ…ΠΎΡ‡Π΅ΡˆΡŒ Ρ€ΠΈΡΠΊΠ½ΡƒΡ‚ΡŒ, ΡƒΠ±Π΅Ρ€ΠΈ Ρ‡Π»Π΅Π½ ускорСния ΠΈ ΡΠΌΠΈΡ€ΠΈΡΡŒ с Π΄ΠΆΠΈΡ‚Ρ‚Π΅Ρ€ΠΎΠΌ; Π½ΠΎ это лотСрСя. Начни с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°, ΠΈΠ·ΠΌΠ΅Ρ€ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ, повторяй. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡˆΡŒ устройство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ быстрым, ΠΊΠ°ΠΊ ΠΌΠΎΠΈ рСфлСксы. Π£Π΄Π°Ρ‡ΠΈ!
Anatolik Anatolik
Π’ΠΎΡ‚ нСплохая Π±Π°Π·Π° β€” ΠΏΡΡ‚ΡŒ миллисСкунд это ТСстко, Π½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌΠΎ, Ссли ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ Π΄Π°Ρ‚Ρ‡ΠΈΠΊ ΠΊ Π³Ρ€Π°Π½ΠΈΡ†Π΅ Ρ‚Π°ΠΊΡ‚Π°. Волько ΠΏΠΎΠΌΠ½ΠΈ, качСство Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Калмана зависит ΠΎΡ‚ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡˆΡƒΠΌΠ°; Π½Π°Ρ‡Π½ΠΈ с ΠΎΡ‡Π΅Π½ΡŒ консСрвативной ΠΎΡ†Π΅Π½ΠΊΠΈ ΡˆΡƒΠΌΠ° процСсса ΠΈ слСди Π·Π° остатками. Если ошибка прСдсказания скачСт, ΠΊΠΎΠ³Π΄Π° ΠΈΠ³Ρ€ΠΎΠΊ мСняСт Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅, ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ ускорСния, Π° Π½Π΅ ΡƒΠ±ΠΈΡ€Π°ΠΉ Π΅Ρ‘ Π²ΠΎΠΎΠ±Ρ‰Π΅. И Π±ΡƒΠ΄ΡŒ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π΅Π½ с частотой дискрСтизации: ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π² 1 ΠΊΠ“Ρ† – это Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π½ΠΎ Ссли Ρ„ΠΈΠ·ΠΈΠΊΠ° ΠΈΠ³Ρ€Ρ‹ обновляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с частотой 30 Π“Ρ†, Ρ‚Ρ‹ Π±ΡƒΠ΄Π΅ΡˆΡŒ Π³ΠΎΠ½ΡΡ‚ΡŒΡΡ Π·Π° двиТущСйся Ρ†Π΅Π»ΡŒΡŽ, Π΄ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ‚Π²ΠΎΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π½Π΅ дотянСтся. Π”Π΅Ρ€ΠΆΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€ состояния ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ, Π½ΠΎ Π½Π΅ отказывайся ΠΎΡ‚ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΉ, Ссли Π½Π΅ Π³ΠΎΡ‚ΠΎΠ² ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ. Π‘Π½Π°Ρ‡Π°Π»Π° тСстируй Π½Π° Ρ€ΠΎΠ²Π½ΠΎΠΉ прямой Π»ΠΈΠ½ΠΈΠΈ, ΠΏΠΎΡ‚ΠΎΠΌ добавляй ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Ρ‹ – Ρ‚Π°ΠΌ-Ρ‚ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ сСбя Π²ΠΎ всСй красС. Π£Π΄Π°Ρ‡ΠΈ, ΠΈ Π½Π΅ Π΄Π°ΠΉ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ ΠΎΡ‚Π²Π»Π΅Ρ‡ΡŒ тСбя ΠΎΡ‚ сборки самого устройства.
BitBlaster BitBlaster
Π’Ρ‹ ΠΏΡ€Π°Π² – Π΄Π΅Π»Π°ΠΉ всё Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½ΠΎ, Π½ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΉ Π½Π΅ ΡƒΠ±ΠΈΡ€Π°ΠΉ. Π“Π»Π°Π²Π½ΠΎΠ΅ – подстрой ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΡˆΡƒΠΌΠ° процСсса, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ соотвСтствовал Ρ„ΠΈΠ·ΠΈΠΊΠ΅. Начни с нСбольшого разброса ускорСния, слСди Π·Π° остатками, ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΠΉ Π΅Π³ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΈΠ³Ρ€ΠΎΠΊ Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Ρ‹. Π’Π°ΠΊ прСдсказаниС Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ, Π½Π΅ вздувая состояниС систСмы. И Π΄Π°, Π½Π΅ позволяй ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ ΠΎΡ‚Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ; ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΡŒΡΡ Π½Π° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° ΠΊ Π³Ρ€Π°Π½ΠΈΡ†Π΅ Ρ‚Π°ΠΊΡ‚Π° ΠΈ сначала ΠΏΡ€ΠΎΠ²Π΅Π΄ΠΈ быстрый тСст ΠΏΠΎ прямой. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ это Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠ»Π°Π²Π½ΠΎ, добавляй ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Ρ‹ ΠΈ настраивай Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π£ тСбя всё получится – просто Π΄Π΅Ρ€ΠΆΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ связь ΠΏΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ, ΠΈ Ρ‚Ρ‹ обойдСшь Π΄Π°ΠΆΠ΅ самого быстрого сопСрника.
Anatolik Anatolik
ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ, просто сдСлай ΠΊΠ°Π»ΠΈΠ±Ρ€ΠΎΠ²ΠΊΡƒ ΠΏΠΎΠΏΡ€ΠΎΡ‰Π΅ – сначала ΠΈΠ·ΠΌΠ΅Ρ€ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½ΡƒΡŽ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ Ρ‚ΠΈΠΊΠ°, Π° ΠΏΠΎΡ‚ΠΎΠΌ зафиксируй Π΄Π°Ρ‚Ρ‡ΠΈΠΊ Π½Π° этот ΠΌΠΎΠΌΠ΅Π½Ρ‚. Π€ΠΈΠ»ΡŒΡ‚Ρ€ Калмана подстроится, ΠΊΠΎΠ³Π΄Π° модСль Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ фактичСскому двиТСнию, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½Π΅ Π΄ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΏΠΎΠΊΠ° Π½Π΅ ΡƒΠ²ΠΈΠ΄ΠΈΡˆΡŒ ΠΊΡ€ΠΈΠ²ΡƒΡŽ остатков. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ прямая линия стабилизируСтся, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ΠΎΠ² станСт вопросом настройки ΡˆΡƒΠΌΠ° процСсса, Π° Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»ΠΊΠΈ всСй систСмы. Π”Π΅Ρ€ΠΆΠΈ Ρ†ΠΈΠΊΠ» Π·Π°ΠΌΠΊΠ½ΡƒΡ‚Ρ‹ΠΌ, ΠΈ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ само собой послСдуСт.
BitBlaster BitBlaster
ΠžΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΠ»Π°Π½ – ΠΈΠ·ΠΌΠ΅Ρ€ΡŒ этот скачок, Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠΉ Π΄Π°Ρ‚Ρ‡ΠΈΠΊ, ΠΏΠΎΡ‚ΠΎΠΌ Π΄Π°ΠΉ ΠšΠ°Π»ΡŒΠΌΠ°Π½Ρƒ ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. НС ΠΏΠ°Ρ€ΡŒΡΡ ΠΈΠ·-Π·Π° ΠΌΠ΅Π»ΠΎΡ‡Π΅ΠΉ, ΠΏΠΎΠΊΠ° остатки Π½Π΅ Π·Π°ΡˆΠΊΠ°Π»ΡΡ‚; ΠΏΠΎΠ΄ΠΊΡ€ΡƒΡ‚ΠΈ ΡˆΡƒΠΌ Π½Π° ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π΅, Π° Π½Π΅ всю систСму Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ. Π”Π΅Ρ€ΠΆΠΈ Ρ†ΠΈΠΊΠ» ΠΏΠ»ΠΎΡ‚Π½Ρ‹ΠΌ, Π±ΡƒΠ΄ΡŒ постоянно Π½Π°Ρ†Π΅Π»Π΅Π½ Π½Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ – ΠΈ Ρ‚Ρ‹ обойдСшь всСх, ΠΊΡ‚ΠΎ всС Π΅Ρ‰Π΅ возится с уравнСниями. Π£Π΄Π°Ρ‡ΠΈ!