ミニ飛行船制埡システム

こんにちは、読者のみなさん、ミニ飛行船のタッチコントロヌルシステムの開発プロゞェクトに泚目しおください。
制埡タスクは、飛行船をラむンに沿っお移動させるこずです。 シンプルなリモヌトコントロヌルシステムも実装されたした。
制埡オブゞェクトは、TTI SFUのEM郚門で開発されたミニ飛行船です。


図1-ミニ飛行船の党䜓図。

このプロゞェクトの目的は、ラむンモヌションパスを怜出するための技術的なビゞョンシステムを開発するこずです。 飛行船に察するラむンの䜍眮ずラむンの傟斜角の芁因を考慮したコヌスコントロヌラヌの開発。 高さ調敎装眮の開発; リモヌト制埡システムの開発。

1.タスクの分析ず問題の蚘述


感芚制埡システムの開発は、自動車工孊科で蚭蚈されたミニ飛行船に基づいおいたす。
ミニ飛行船には、䞀般的に利甚可胜なコンポヌネント、぀たりさたざたなフォむルボヌルにシェルが含たれおいたす。

ミニ飛行船のハヌドりェアは

ミニ飛行船の垂盎軞呚りの回転は、マルチプル゚ンゞンによっお実行されたす。 飛行船の高さは、垂盎軞に沿っお゚ンゞンの掚力ベクトルを偏向するこずにより調敎されたす。
飛行船゚ンゞンには、最倧回転速床3200 rpmを蚭定する機胜がありたす。 /分 モヌタヌの動䜜電圧は7.4ボルトです。 ゚ンゞンは飛行船の䞭心から25 cm離れおおり、飛行船の最䞋点にありたす。

2.ビゞョンシステム


2.1。 テクニカルビゞョンシステムのブロック図

画像
図2-ミニ飛行船の技術ビゞョンシステムの構造図。

ビゞョンシステムは、ハヌドりェアず゜フトりェアで構成されおいたす。 ハヌドりェア郚分は、既に接続されおいるMJPG信号が送信される有線接続によっお゜フトりェア郚分に接続されたす。

ハヌドりェアにはりェブカメラが含たれたす。

゜フトりェア郚分には以䞋が含たれたす。
2.2。 機胜蚭蚈

凊理方法およびラむンの䜍眮を決定するためのアルゎリズム次の章で説明したすによっお遞択されたものを考慮しお、゜フトりェア実装で次のサブタスクが識別されたした。

カメラ画像のキャプチャずHSVカラヌ倉換は、opencvラむブラリに割り圓おられたす。

2.3。 アルゎリズム

ご存知のように、空間内の任意の2点を介しお、線を匕くこずができたす。 この堎合、ミニ飛行船のテクニカルビゞョンシステムは、敷蚭ラむンを決定する圹割を担いたす。 画像凊理の最初のステップは、線が敷かれたこれらの2぀のポむントの怜玢です。
これらのポむントを怜玢するには、画像の関心領域を定矩したす。 関心領域の最適な䜍眮は、フレヌムの垂盎郚分の1/3ず2/3の間です。 図4に青い線で瀺すように。

画像
図3-察象ゟヌンの最適な堎所。

察象ゟヌンの䜍眮を最適化するための基準は、察象ゟヌンの䞋郚がミニ飛行船から垂盎に䞋にあり、䞊郚がフレヌムの境界にないこずです。これにより、ゟヌンの画像の歪みが最小限に抑えられたす。
各ゟヌンの高さは10ピクセルです。
線ずの亀点は、ピクセルを特定の色ず䞀臎させるこずによっお決定されたす。 HSVビゞョンシステムの色空間。
関心のある各ゟヌンでのアルゎリズムの2段階。

1.特定の色のコンプラむアンスの刀定は、カメラから受信したフレヌムの幅を幅ずする配列で発生したす。 配列の各芁玠は、察象の列の平均10ピクセルです。 したがっお、カメラからの色ノむズは平均化されたす。 アレむには3行があり、各行はHSVチャネルに察応しおいたす。 出力では、倀「1」が特定の色に察応するピクセルアドレスを瀺し、倀「0」が指定された色に察応しないピクセルアドレスを瀺す1次元配列を取埗したす。
for(x = 0 ; x<width ; x++) {offset = x * nchannels; for (y2=35; y2<46; y2++ ) { uchar* data = (uchar*)(hsv->imageData + y2*step); r=data[offset + 2]; g=data[offset + 1]; b=data[offset]; h[y2-35]=b; s[y2-35]=g; v[y2-35]=r; } h[10]=(h[0]+h[1]+h[2]+h[3]+h[4]+h[5]+h[6]+h[7]+h[8]+h[9])/10; s[10]=(s[0]+s[1]+s[2]+s[3]+s[4]+s[5]+s[6]+s[7]+s[8]+s[9])/10; v[10]=(v[0]+v[1]+v[2]+v[3]+v[4]+v[5]+v[6]+v[7]+v[8]+v[9])/10; if ((h[10]<h1&&h[10]>h2)&&(v[10]>ss)&&(s[10]>vv)) {st[x]=1;} else {st[x]=0;} 


2.亀差ゟヌンの巊右の境界の決定。
同じ次元の2぀の配列が入力配列に入力されたす。 それらをst1およびst2ず呌びたす。 配列を埋めるためのアルゎリズムは、問題の入力配列の芁玠が1の堎合に倉数が線圢に増加し、問題の芁玠が0の堎合に指数関数的に枛少し、配列st1の次の芁玠に曞き蟌たれるサむクルによっお実装されたす。 st2配列を圢成するために、入力配列は最埌から考慮されたす。 その結果、配列st1ずst2は、次のようにグラフィカルに衚珟できたす図5。
画像
図5-st1およびst2配列のグラフィック衚瀺。

有甚な信号は、色の定矩の最も広い範囲です。 ノむズは小さな誀怜知であり、図7の図で確認できたす。赀いグラフの最倧芁玠st1のx座暙は、察象ゟヌンを暪切る線の右偎です。 青いグラフの最倧芁玠st2のx座暙は、関心領域を暪切る線の巊偎です。
リスティング
 double sum=1; double sum2=1; for (x=0; x<width; x++ ) { if (st[x]==1) {sum=sum+1;st1[x]=sum;} else {sum=sum/1.05;st1[x]=sum;} if (st[width-x]==1) {sum2=sum2+1;st2[width-x]=sum2;} else {sum2=sum2/1.005;st2[width-x]=sum2}} 


配列st1およびst2の圢成埌、配列の最倧芁玠が怜出され、亀差ゟヌンの䞭心が蚈算されたす。 説明されおいるすべおのアクションを2番目の亀差ゟヌンに適甚するず、出口にはラむンが通過するポむントの座暙がありたす。
前のオブゞェクトの状態に応じお、次のフレヌムの信頌ゟヌンを決定する䞀般的な方法の䜿甚は䜿甚されたせんでした。そのような方法は、出力パラメヌタで蚱容できるノむズ結果を瀺したためです。 たた、この方法を適甚しおもプロセッサの負荷は軜枛されたせん。幅176ピクセルの2぀の配列の耇数の゜ヌトのみを凊理するため、結果の画像党䜓の解像床は176x144ピクセルです。

3.方向ノブ


3.1。 制埡システムの䞀郚にあるレギュレヌタヌのブロック図



図4-方向コントロヌラヌのブロック図。

゜フトりェアの実装は以䞋で構成されたす。

Raspberry piのハヌドりェアは、PWM゜フトりェアの結果に基づいおgpioピンを接続するbcm2835プロセッサで構成されおいたす。

ハヌドりェアの実装は以䞋で構成されたす

方向コントロヌラヌのブロック図は、ファゞヌコントロヌラヌに基づく゜フトりェアパヌツで構成されおいたす。 難読化アルゎリズムはMamdaniアルゎリズムです。
゜フトりェアPWMの䜿甚は、䜿甚されおいるRaspberry piシングルボヌドコンピュヌタヌにハヌドりェアPWMがないためです。
モヌタヌドラむバヌは、PWM信号を増幅するために䜿甚されたす。

3.2。 ファゞヌコントロヌラヌを蚭蚈したす。

3.2.1。 䜜成されたシステムの入力および出力の定矩。

ミニ飛行船がラむンに沿っお正確に通過するには、飛行船の軞からのラむンの偏差ず同じ軞を䞭心ずした回転の䞡方をそれぞれ考慮する必芁があるため、コントロヌラヌの入力パラメヌタヌで可倉偏差OFFず回転POVを蚭定したす。 コントロヌラヌの出力倉数は、出力PWM信号のパラメヌタヌです。 巊偎の゚ンゞンに察する゚フェクトの出力倉数は、それぞれLEFT、右偎の゚ンゞンRIGHTずしお指定されたす

3.3.2。 入力倉数ず出力倉数のそれぞれに察する甚語を含むメンバヌシップ関数の割り圓お

PWM効果に察するDCモヌタヌの非線圢パラメヌタヌによっお蚈算される、巊右のモヌタヌのメンバヌシップの出力条件を蚭定する必芁がありたす。 しかし、飛行船の飛行速床ぱンゞンのわずかな線圢偏差を意味するため、この甚語は絶察線圢特性を持぀理想的な゚ンゞンずしお蚭定されたした。


図5-出力倉数LIONおよびRIGHTの甚語。

ラむンからの飛行船の瞊軞の偏差ず同じ軞からのラむンの回転の入力倉数は、テクニカルビゞョンシステムず角床を蚈算するための数孊モゞュヌルの䜜業の結果ずしお取埗され、そのカメラには歪みむンゞケヌタヌがありたす。 カメラの歪み指暙は、入力条件OFFおよびPOVで蚭定できたす。 䜍眮決めの粟床ずラむンに入る軌跡には芁件がないため、歪みむンゞケヌタは無芖できたす。 このタスクでは、甚語はカメラの歪みの画像を調敎し、それらの甚語を調敎したせんでした。 甚語はおおよそ倉曎されたした。これは、システムが機胜するための十分な条件でした。


図6-甚語オフずPOV。

3.2.3。 実装されたファゞィシステムの結論のためのルヌルのベヌスの開発

ルヌルベヌスを開発するには、蚀語倉数甚語をわかりやすい名前ずしお指定する必芁がありたす。


図7-甚語の指定。

OFF 1-匷く巊。
OFF 2-巊ぞ。
オフ3-䞭倮。
オフ4-右偎。
OFF 5-匷く右偎。
POV 1-巊偎。
POV 2-巊偎。
POV 3-䞭倮。
POV 4-右偎。
POV 5-右偎。
LEO 1-非垞に匱い。
LEO 2-匱い。
LEO 3-ミディアム。
LEO 4-匷く
LEO 5-非垞に。
法埋1-非垞に匱い。
法埋2-匱い。
法埋3-䞭。
右4-匷く
右5-非垞に匷い

したがっお、これらの名前は、ミニ飛行船が゚ンゞンの異なるプルによっお制埡されるこずを考えるず、接続甚語を確立したす。
ルヌルブロック
オフが匷く残っおいる堎合、ラむオンは非垞に匱く、暩利は非垞に匷い。
巊にオフの堎合、ラむオンは匱いです。 そしお、右
センタヌがオフの堎合、LEOは平均です。 そしお暩利の平均。
右偎がオフの堎合、巊が匷く、暩利が匱い。
オフが匷く右にある堎合、ラむオンは非垞に匷いです。 そしお、暩利は非垞に匱いです。
POVが非垞に残っおいる堎合、LIONは非垞に匱いです。 そしお、右は非垞に匷いです。
POVが巊偎にある堎合、LIONは匱いです。 そしお、右
POVが右偎の堎合、ラむオンは匷く、暩利は匱いです。
POVが匷く右偎にある堎合、LIONは非垞に匷いです。 そしお暩利は非垞に匱い

入力倉数POWに぀いおは、平均倀の連結性がないこずに気付くかもしれたせん。 これは、ラむンに察する飛行船の瞊軞の正しい向きずそれからの偏差により、平均項がモヌタヌの入力倀を䞭倮に匕っ匵ったためです。これは飛行船のこの䜍眮では正しくありたせん。

このファゞヌシステムでは、䜍盞緩和アルゎリズムはMamdaniアルゎリズムです。
このアルゎリズムは、いく぀かの連続したステヌゞを蚘述し、埌続の各ステヌゞは前のステップで取埗した入力倀を受け取りたす。

3.2.4。 ファゞィシステムのプロセスの分析


ワヌクプロセスを分析したす。 芏制圓局の盞関ポヌトレヌトが䜜成されたした。 以䞋の図では、y軞は入力倉数POW、x軞は入力倉数OFFです。 ピクセルの色は各゚ンゞンの入力倉数に察応し、癜は最小、黒は最倧です。


図8-巊右の゚ンゞンのファゞィシステムの週末倀の盞関ポヌトレヌト、盞関ポヌトレヌトの亀差点。

最埌の図では、同じ色ず䜍眮のピクセル匷調衚瀺を䜿甚した2぀の盞関ポヌトレヌトの亀差の結果が衚瀺されおいたす。 亀差点の結果から、同䞀の゚ンゞン出力倀がどのような入力条件であるかを刀断できたす。 ゚ッゞの特城的な黒い四角の領域は、先端が切り取られた゚ッゞ項を䞎えたす。
以䞋は、赀で瀺されたフレヌム内の線の䜍眮を基準にしおファゞヌコントロヌラヌを゚ミュレヌトした結果です。 ビデオの右偎では、巊右の゚ンゞンのPWM信号レベルをそれぞれ確認できたす。 巊偎には、アクセサリの入力甚語ず出力甚語がありたす。



4.高さ調敎噚


4.1。 レギュレヌタブロック図



図9-高さ調敎装眮のブロック図。

゜フトりェアの実装は以䞋で構成されたす。
Raspberry piのハヌドりェアはbcm2835プロセッサで構成され、PWM゜フトりェアの結果に基づいおgpio出力を接続したす。

ハヌドりェアの実装は
4.2。 ファゞヌコントロヌラヌの蚭蚈

4.2.1。 䜜成されたシステムの入力ず出力の定矩


レギュレヌタヌのファゞヌ郚分の入力パラメヌタヌは、垌望の高さからの誀差です。 出力倉数は、ハむブリッドコントロヌラヌのpiコンポヌネントの比䟋郚分です。
䞍可欠なコンポヌネントは、システム党䜓の出力であり、単玔にストレヌゞ倉数ずしお実装され、サヌボドラむブの䜍眮を決定したす。

4.2.2。 入力倉数ず出力倉数のそれぞれに察する甚語を含むメンバヌシップ関数の割り圓お

衚面䞊の甚語の均等な分垃に基づいお、出力アクセサリの甚語を蚭定したす。 ファゞヌシステムの出力の非線圢性は、入力倉数の項によっお䞎えられたす。


図10-出力倉数EXITの甚語

高さからの倉数誀差の入力項を次の図に瀺したす。


図11-入力倉数HEIGHTの甚語

4.2.3。 実装されたファゞィシステムの結論のためのルヌルのベヌスの開発

ルヌルベヌスを開発するには、蚀語倉数甚語をわかりやすい名前ずしお指定する必芁がありたす。


図12-甚語の指定

高さ1-匷い逞脱。
高さ2-䞋向きの偏差。
高さ3-偏差なし。
高さ4-偏差が最倧。
高さ5の匷い偏差トップ
出力1-高正
出力2-正
出力3-れロ
出力4-負
出力5-高いマむナス


私たちは責任を持っお甚語ぞの盎接的な぀ながりを確立したす。
ルヌルブロック
IF高さ匷い䞋向きのたわみ、それから降䌏高正
IF高さ䞋向きの偏差、それから利回り正
IF高さ偏差なし、THEN出力れロ
IF高さ䞊に傟けお、次に出力負
IF高さ匷いたわみトップ、THEN出力高い負

5.リモヌト制埡システム


リモヌトコントロヌルシステムは、゚ンゞンのトラクションモヌメントの差を制埡するために実装されおいたす。 ボタンを抌すずトラクションモヌメントのスムヌズな逞脱ずスムヌズな埩垰が実珟されるため、゚ンゞンの掚力の差を䞀定の範囲内に維持できるため、実装の原則はコンピュヌタヌゲヌムから借甚されおいたす。

キヌストロヌク信号の送信は、sshプロトコルを䜿甚しおwi-fiワむダレスチャネルを介しお実行されたす。このプロトコルでは、地䞊基地局PCからキヌストロヌクがリモヌトコンピュヌタヌに送信されたす。
sshプロトコルではリモヌトマシンの画面を芋るこずができるため、ビデオストリヌムも同じ方法で転送されたす。

6.システムの実隓的研究


蚭蚈されたシステムは、実隓宀で調査されたした。 ビゞョンシステムはラむンの䜍眮を認識し、亀点の座暙を方向コントロヌラヌブロックに転送したす。


ビゞョンシステムの操䜜


ミニ飛行船スパン

方向ず高さを調敎するシステムの安定性は、係数を取るこずで達成されるこずがわかりたした。 ファゞヌシステムの出力の増加に比䟋したす。


図13-掚力ベクトルず飛行船の高さセンサヌの䜍眮。 プリセット高さ80 cm。

埗られたデヌタでは、センサヌからの信号のノむズレベルが高いこずがわかりたす。システムの開発における間違いは、信号フィルタヌを䜿甚しないこずでした。 信号フィルタヌを䜿甚しない理由は、センサヌテストであり、センサヌ信号のノむズはそれほど倚くありたせんでした。 テストは無負荷のシステムで実行されたため、おそらくセンサヌからの信号を正確に生成および远跡するこずが可胜になりたした。 実際に機胜するシステムでは、飛行船のコンピュヌティングシステムが完党にロヌドされ、センサヌの読み取り倀が䞍正確になりたした。 掚力ベクトルの方向ベクトル図のノむズは無芖できたす。これは、サヌボドラむブが特定の角床で瞬時に回転する時間がないためです。 サヌボは、2぀の方向指瀺噚間の平均倀のみをオンにするこずができたした。 平均倀はチャヌトで簡単に芋るこずができたす。

高さ制埡システム自䜓に関しおは、掚力ベクトル倀のむンストヌルに先んじおいるこずは明らかです。 2番目の入力倉数「゚ラヌ率」を修正できたす。これにより、事前に制埡を予枬および構築するか、テスト枈みのPIDコントロヌラヌを䜿甚するこずができたす。

テスト䞭に、実装されたすべおのコントロヌルナニットがチェックされたした。 ビゞョンシステムの動䜜は、昌光条件で完党に静かで゚ラヌのないラむン認識を実珟したした。 たた、巊モヌタヌ倀の蚭定でいく぀かの誀動䜜が怜出されたため、ファゞヌ方向制埡システムを適切に蚭定できたせんでしたが、そのような条件䞋でも盎線スパンが実行されたした。 制埡の欠陥が特定され、ラむンの近い堎所でのレギュレヌタヌの急性反応によっお特城付けられたした。

テストの進行状況はビデオに蚘録され、システムステヌタスログも保持されたため、䞊で定匏化された結論を導き出すこずができたした。

Source: https://habr.com/ru/post/J234609/


All Articles