Добици:
- Способност конструисања фузионе логике (интегратор/Калман филтер) која комбинује податке ИМУ, енкодера и сензора удаљености са АИ
- Способност конфигурисања и тумачења ИоТ токова података и телеметрије заснованих на МКТТ-у уз помоћ АИ
- Способност откривања и исправљања проблема са шумом сензора, калибрацијом и синхронизацијом времена у АИ излазу
Ниједан сензор није савршен. Жироскоп је веома прецизан у кратком року, али се временом помера. Акцелерометар је стабилан на дуге стазе, али добија буку од вибрација. Енкодер прецизно мери позицију, али је погрешно када постоји проклизавање. ГПС ради на широком подручју, али је ниске фреквенције и бучан. Инжењер мехатронике мора да произведе једну, поуздану истину из ових несавршених сензора; Ово је фузија сензора. Штавише, у савременим системима, ови подаци не само да остају локални, већ теку у облаке и контролне центре преко ИоТ мрежа. Вештачка интелигенција је моћна помоћ како у постављању фузионих алгоритама тако иу конфигурисању и тумачењу ИоТ телеметрије. У овој јединици покривамо комплементарни филтер, логику Калмановог филтера и како да подесите ИоТ ток заснован на МКТТ-у са АИ и ухватимо замке за шум и синхронизацију.
Зашто Сензор Фусион?
Сваки сензор има „зону добре фреквенције“. Сврха фузије је да се сваки сензор користи у области где је јак и да се подржи са другим у области где је слаб.
сензор
јака тачка
слабост
жироскоп
Краткорочна угаона брзина, брз одзив
Дрифт током времена
акцелерометар
Дугорочна референца нагиба (гравитација)
Вибрације/бука при кретању
енкодер
Локација високе резолуције
Грешка клизања/зазора
ГПС
апсолутни положај
Ниска фреквенција, бука, нема у затвореном простору
Ослањање на један сензор уводи слабост тог сензора у систем. Фусион, на пример, комбинује брз, али променљив угао жироскопа са спором, али стабилном референцом акцелерометра, дајући угао који је и брз и без помака.
Комплементарни филтер
Најједноставнија и најчешћа фузија је комплементарни филтер. Идеја је интуитивна: верујте жироскопу на високој фреквенцији (брза промена), акцелерометру на ниској фреквенцији (споро, стабилно). Резиме у једном реду:
# Комплементарни филтер: процена бола (висина) # алфа ~ 0,98 : више жироскопу, мање акцелерометру (степени/сек.) аццелератион_анге : угао израчунат из акцелерометра (степени) дт : период узорковања (сек.) """ гиро_пац_спе = претходни * гирос_спеат * гиросцопе гиро_паце + (1 - алпха) * аццелератион_англе# Логика верификације: чисти жироскоп (померање) ако је алфа=1, # ако је алфа=0 чисти акцелерометар (шуман).
Коефицијент алфа овде одређује равнотежу: ако је близу 1, ослања се на жироскоп (ризик од померања се повећава), ако је близу 0, ослања се на акцелерометар (шум се повећава). Типична вредност је 0,95–0,98. АИ може предложити ову вредност, али тачна алфа зависи од брзине узорковања вашег система и карактера шума; постављен је експериментално.
Савет: Када штампате интегрални филтер на АИ, обавезно питајте како се мери дт. Већина грешака долази из претпоставке да је дт константан, али у стварности време циклуса варира. Измерите дт реал помоћу миллис()/тиместамп, немојте писати константе.
Логика Калмановог филтера
Комплементарни филтер је једноставан, али не моделира статистику шума. Калманов филтер даје оптималну (под одређеним претпоставкама) процену вероватноћним моделирањем буке сензора и несигурности процеса. Ради у два корака:
- Предвидите: Предвидите следећу ситуацију и њену неизвесност помоћу модела система.
- Ажурирање: Одмерите ново мерење у односу на поузданост мерења (Калманов добитак) и исправите процену.
Калманово појачање К аутоматски одговара на питање „да ли треба више да верујем мерењу или моделу” на сваком кораку. Ако је шум мерења велики, К постаје мањи (поуздање у модел), ако је несигурност процеса велика, К постаје веће (поуздање у мерење). АИ лако пише једнодимензионални Калманов филтер; али ваш је посао да правилно одаберете коваријансе буке (`К`, `Р`) и оне потичу од стварног шума система.
Пажња: К (шум процеса) и Р (шум мерења) вредности које даје АИ су узорак/плацехолдер. Ако их не одредите на основу стварног мерног шума система (нпр. варијансе мерене када сензор мирује), филтер ће бити или сувише спор или превише бучан. Не верујте коваријансама које даје АИ као „праву вредност“.
ИоТ ток података: МКТТ и телеметрија
Чисти подаци које производите фузијом обично се преносе у центар преко ИоТ мреже. Најчешћи протокол у индустрији је МКТТ: лаган, модел за објављивање-претплату, погодан за ниски пропусни опсег. АИ брзо успоставља МКТТ код издавача/претплатника и ЈСОН телеметријску шему.
импорт јсон, тимеимпорт пахо.мктт.цлиент као мкттцлиент = мктт.Цлиент()цлиент.цоннецт("брокер.лоцал", 1883, кеепаливе=60)деф телеметри_броадцаст(температуре, температуре, вибратион_рмс): мессаге = { "тс": тиместампронде цондитион. роунд(паин, 2), "температуре_ц": роунд(температуре, 1), "вибратион_рмс": роунд(температуре_рмс, 3), "унит": {"паин": "дег", "температуре": "Ц", "вибратион": "мм/с"} } цлиент.публисхсон("мацхине_сенсе",с), публика кос=1)# кос=1: испоручено најмање једном. Коришћење кос=0 (може бити изгубљено) на критичним подацима.
Овде су важне две инжењерске одлуке: (1) временско означавање (тс) сваке поруке—различити сензори се узоркују у различито време, синхронизација је могућа само са временским жигом; (2) Ниво КоС—критични подаци користе најмање кос=1 (испоручују се најмање једном), кос=0 дозвољава губитак поруке.
Шум, калибрација и синхронизација
Без обзира колико је добра фузија, три проблема са улазом искривљују резултат:
- Шум: Ако необрађени подаци сензора иду у фузију без филтрирања, излаз фузије ће такође бити бучан. Можда ће бити потребно претходно филтрирање (средњи, нископропусни).
- Калибрација: Грешке померања и скале (нпр. нулта тачка акцелерометра је померена) систематски доводе у заблуду фузију. Сензори морају бити калибрисани пре употребе.
- Временска синхронизација: Временски жиг и интерполација су потребни да би се сензори узорковани различитим брзинама ускладили (нпр. ГПС од 10 Хз са ИМУ од 1 кХз).
АИ може додати ове кораке у код, али да ли је сваки потребан и његови параметри су специфични за ваш систем. У излазу АИ "где је калибрација?" и „да ли су временске ознаке усклађене?“ Обавезно постављајте питања.
Слаба порука / јака промпт
СЛАБО: „Израчунајте угао из ИМУ података.“ (Који филтер? Да ли се управља помаком? Како дт? Нејасно.) ЈАКО: „Комбинујте податке акцелерометра и жироскопа са МПУ6050 са интегралним филтером и процените угао нагиба. Израчунајте дт из реалне временске ознаке, не претпостављајте константу. Поставите алфа као параметар 0 аццелеро (9дефаулт). тане2 Филтрирајте као класу, задржите претходни угао, додајте опциони средњи предфилтер за шум.
Мини Цасе
Инжењер роботике Селин жели комплементарни филтер од АИ за процену угла на роботу за балансирање на два точка. АИ даје чист код, али робот се полако нагиње на једну страну. Селин проверава дт: код претпоставља да је дт константан 0,01 с, док време циклуса варира због Блуетоотх телеметрије. Када се дт израчуна из реалне временске ознаке, одступање се смањује, али не нестаје у потпуности. Затим погледа калибрацију акцелерометра; Чак и када сензор мирује, постоји помак од 2°. Када уклоним калибрациони помак, робот стоји усправно. Коначно, примећује да користи кос=0 када емитује телеметрију преко МКТТ-а и повећава га на кос=1 за податке о критичном углу. АИ је испоручио фузиони скелет за неколико минута; али је инжињерска верификација ухватила три проблема специфична за систем: варијабилни дт, помак калибрације и КоС.
Уобичајене грешке
- Под претпоставком да је дт константан, док време циклуса варира (фузија се помера).
- Спајање сензора без калибрације (систематски офсет).
- Покушавам да ускладим сензоре различитих брзина без временског жига.
- Одлазак са вредношћу узорка АИ без мерења Калманове К/Р коваријансе од стварног шума.
- Омогућавање губитка поруке коришћењем кос=0 на критичним ИоТ подацима.
- Давање необрађених бучних података фузији без претходног филтрирања.
Укратко
- Фусион користи сваки сензор у фреквентном региону где је јак и компензује његову слабост.
- Филтер комплемента је једноставан; Успоставља равнотежу жироскопа и акцелерометра са алфа.
- Калманов филтер вероватно моделује шум; К/Р долази из стварног система.
- У МКТТ телеметрији, временско означавање и одговарајући КоС су критичне инжењерске одлуке.
- Шум, калибрација и временска синхронизација одређују квалитет фузије.
- дт се мери из реалног времена; калибрација и КоС су верификовани без препуштања АИ.
Задатак апликације
За ИМУ (стварни или симулирани жироскоп + подаци акцелерометра) нека АИ генерише интегрални филтер и уверите се да је дт израчунат из реалне временске ознаке. Затим: (1) пробајте алфа за 0,90, 0,98 и 1,0 и посматрајте равнотежу померања и буке, (2) додајте намерно фиксно померање (грешка калибрације) сензору и видите како се фузиони излаз помера, (3) претворите податке у МКТТ ЈСОН шему и додајте временску ознаку и поља јединице. Обратите пажњу на то која алфа вредност даје најизбалансиранији резултат за ваше податке и колико помак калибрације искривљује излаз.