メむンコンテンツぞスキップ
芋出し画像

ロボットや機械を制埡する PID Controller を数匏を䜿わずに抂芳

    今たで、倚くのAI の技術に関するNoteを曞いおきたした。たた、AI以倖にもロボティクス関連ずしおは、ドロヌンや UGV の蚘事もいく぀か曞いおきたした。

    今埌は、ロボットや機械の゚ンゞニアリングに関する技術にもいく぀か觊れおいこうず思っおたす。


    ロボットの制埡PID Controller

    ロボット技術の進化は昚今目をみはるものがありたす。以䞋はボストン・ダむナミクスによるデモンストレヌションビデオです。凄たじい動きですよね。どうやっお制埡をしおいるのかず思いたす。

    このレベルの制埡システムを理解しおいこうずしおも䞀足飛びにはたどり着けたせん。そこで、今回は第䞀歩目ずしおロボットや機械の制埡の基本の䞀぀である PID Controller に぀いお、知らない方向けに数匏を䜿わずにざっず解説しおみたいず思いたす。


    制埡の難しさに぀いお

    たずは、産業甚ロボットずしお芋られるような䜕かを掎んだりする、ピッキングを行うようなロボットアヌムを考えたいず思いたす。

    ロボットはプログラムより、決たった䜍眮ぞの移動、アヌムの特定の角床での䞊げ䞋げ・回転等の動きを指瀺され、センサヌで䜍眮や角床等をモニタリングしながら、コントロヌラヌにより正確に目的のタスクを行いたす。

    しかし、こずはそう簡単ではありたせん。動く物䜓には慣性がありたすし、様々な摩擊もありたす。ここで止たれず指瀺されおも正確なポむントで止たるこずずいうのはそうたやすいこずではありたせん。そのため、どこに来たずきにどれぐらいのスピヌドであったらどれぐらいの力で止たれずいう指瀺をするか、现かい条件やパラメヌタヌの調敎がもろもろ必芁になっおきたす。

    このずき、単に、この距離に来たずきにこれぐらいの力で止たれず指瀺する、ずいうこずだけの調敎アクションしか持っおいないず、うたくいくずきはそれでピッタリず正確なポむントで停止するかもしれたせんが、ちょっず条件が倉わっおしたった時には、それでは正確な䜍眮で止たれなくなっおしたうかもしれたせん。それだけでなく、䟋えば行き過ぎおしたったために今床はそれをリカバリヌしようず逆の方向に動かしおそしお止めようずしおも、今床は逆方向に行き過ぎるだけになっおしたうかもしれたせん。結果ずしお、振り子のように、正確な䜍眮にずたれず、以䞋の図のように、ずっず目暙の䜍眮に収束せずにぶれ続けるずいうこずになっおしたうでしょう。手曞きですみたせん。今回は手曞きが倚いです。

    画像4


    やりたいこずずしおは、以䞋のように、目暙の䜍眮に向かっお収束するように調敎をかけおいくこずになりたす。

    PID-Control収束


    PID Controller

    ここで登堎するのが、PID Controller ずいう制埡システムです。PIDずは、Proportional Integral Derivative のそれぞれの頭文字で、盎蚳するず「比䟋、積分、埮分による制埡」ずいう感じになりたす。

    PID Controller の抂念図を以䞋に瀺したす。

    画像3

    たず、制埡察象ずなるシステムがありたす。䞊蚘の䟋ではロボットアヌムがそれになりたす。それがプログラムに埓っお動き、物を぀かもうず動きたす。センサヌによっおロボットアヌムの䜍眮、スピヌド、角床などをトラックし、そのデヌタをPID Controller に枡したす。PID Controller はどのように修正すべきかの情報をロボットアヌムに䌝え、アヌムの動きが修正されたす。その結果をたたセンサヌがモニタヌしおPID Contoller にフィヌドバックしたす。これにより、正しい䜍眮になるたでフィヌドバックルヌプの䞭で調敎が繰り返され、最終的に正確な䜍眮や角床で物䜓を把持する動䜜を実珟するこずになりたす。

    冒頭で以前曞いたUGVの蚘事を匕甚したしたが、UGVがコヌヒヌをデリバリヌするために進んでいくこずをむメヌゞしおみたしょう。

    やりたいこずは、お客さんたちぞコヌヒヌを運ぶこずです。安党性ず利䟿性の䞡方を考慮しお、1秒に2メヌトル進むこずにしたす。これが制埡システムUGVによっお実珟すべき速床の目暙倀ずいうこずになりたす。最初の配達ではやすやすずそれが実珟でき、秒速2メヌトルで安定的に走行できたした。ですが、い぀も簡単な配達環境ばかりずは限りたせん。時には匷い颚が吹き、ある時は登り坂が延々ず続き、時には坂のアップダりンが頻繁で激しい、ずいうこずも普通にありたす。それらはUGVのスピヌドに圱響を䞎え、䞍安定な状態にするでしょう。

    䞀定のスピヌドを保぀ためには、モヌタヌの埮劙な調敎を繰り返し、スピヌドのコントロヌルを達成しおいくこずになりたす。UGVのスピヌドセンサヌを䜿うこずで、実際の速床をトラックするこずができたす。実際のUGVの速床は速くなったり遅くなったりしおぶれたす。保ちたい䞀定の速床目暙倀ずの乖離が明らかになりたす。

    画像4

    PID Controller は、この目暙倀ずトラックされた実際の倀から぀の倀を蚈算し、制埡に甚いたす。3぀の倀ずは、目暙倀ず実際の倀ずの「差の比䟋 (Proportional value)」、「差の積分 (Integral value)」、および「差の埮分 (Derivative value)」です。


    差の比䟋

    最初の倀は「差の比䟋 (Proportional value)」です。これは、盎近もしくは今の瞬間の実際のスピヌドの倀ず目暙倀ずの差から比䟋で求めたす。この差が倧きければ倧きいほど、より正確に目的に到達するのが困難になりたすので、乖離が倧きい堎合は倧きく修正したいわけです。そのため、この差の比䟋倀を操䜜量ずしお修正をはかっおいきたす。これを Proportional controlP制埡ず呌びたす。


    差の積分

    次の倀は、「差の積分 (Integral value)」です。これは、ある時間幅における、目暙倀ずの乖離の和になりたす。぀たり、差を時間で積分した倀になりたす前の図の Integral ず瀺した堎所がそれに該圓。この倀は、今たでの目暙の速床ずの乖離゚ラヌの蓄積を意味しおいたす。䟋えばUGVの䟋でいくず、坂の募配がき぀くなっおいき、P制埡では速床の乖離がうたく解消されおいかないようなケヌスで起こりたす。この倀が倧きいず、P制埡だけでは䞍十分だず蚀え、坂の募配がき぀くなっおいるのであればより倧きなパワヌで制埡をかけおいく必芁がありたす。差の積分倀を操䜜量ずするこのコントロヌルを Proportional-Integral control PI制埡ず呌びたす。

    積分時間が小さいほどこの制埡の寄䞎が倧きくなり、目暙倀ぞの矯正が迅速に行われたす。ですが、小さすぎるず目暙倀を行き過ぎたりオヌバヌシュヌト、目暙倀の前埌を振動したりハンチングする珟象を起こすこずがありたす。


    差の埮分

    そこで、3぀目の倀「差の埮分 (Derivative value)」が登堎したす。これは、 目暙のスピヌドず実際のスピヌドの倉化の床合いを衚したす。぀たり、差を時間で埮分したものになりたす。この倀によっお短時間での急激な倉化をずらえるこずができるので、未来に起こりうる乖離に備えるこずができたす。そのため、Derivative value は、「Anticipatory Control 予枬制埡」ずも呌ばれたす。いきなりUGVがすごい加速をし始めたら、壁にぶ぀かっおしたうかもしれたせん。この倀を䜿っお、オヌバヌシュヌトを防ぐこずができるようになりたす。

    これら3぀の倀を、それぞれの重みを付けお合蚈するこずで、制埡システムぞ適切な調敎倀を枡し、調敎のためのコントロヌルをかけおいくこずになりたす。この重み付け等をどうするかに぀いおは、ロボットや機械がタスクを実行する目的や環境、たた䞍確実性によっお異なり、PID Controller においおパラメヌタヌチュヌニングは非垞に重芁なポむントです。


    PID Controller の応甚範囲

    PID Controller の甚途は、䜕もロボットアヌムの動きやUGVのスピヌドに限った話ではありたせん。䟋えば、工堎のパむプラむンでパむプの内郚を摂氏80床の䞀定の枩床で決たった時間維持する等の枩床の制埡においおも掻躍したす。PID Controller に目的の枩床を入力し、枩床は目暙ずなる䞀定の枩床に向けお䞊昇し、オヌバヌをセンサヌが怜知したら、フィヌドバックルヌプの䞭で修正され、最終的に目暙の枩床で安定化するこずになりたす。

    PID Controller は昔はすべお機械的な装眮でしたが、今や゜フトりェアずしお構成されおおり、あらゆるずころで掻甚されおいたす。もちろん本Note でも時々蚘事を曞いおいるドロヌンの䞀定の高床維持のためのロヌタヌ速床調敎から、自動車の高速道路での自動運転モヌドたで、その範囲は幅広いです。ドロヌンの堎合は、着陞時は颚で流されおしたわないように、PID の3぀の倀のうち、Derivative value を䞊げお制動を匷めにするずいうこずをしたすが、䞊空を飛んでいる堎合は流されお倚少コヌスから倖れおも倧䞈倫なので、バッテリヌを長持ちさせるためにDerivative value を䜎く蚭定したす。

    今日の高床なロボットは、しばしば倚くのPID Contoller によるコントロヌルルヌプが䞊列で凊理し、時には協働し、ありずあらゆるこずを制埡したす。二足歩行するロボットであれば、その重心のバランスから足の䞊げ䞋げたでです。

    ずはいえ、䞇胜ではなく倧型の機械の制埡に関しおは向いおいないこずもありたす。応答開始に時間がかかるが、応答がはじたるず急激に倉化する制埡察象には、あたり適しおいたせん。

    そのような䞍向きな問題はあるものの、PID Controller は広く甚いられおいる制埡手法であり、知識ずしお知っおいお損はないかず思いたす。他にも制埡手法ずしおは、カルマンフィルタの適甚や非線圢制埡等ありたす。珟圚は曎にAI / Deep Learning による物䜓・環境認識や予枬ず組み合わさり、高床なロボット・機械制埡が実珟されおいたす。以前に玹介したGoogle の関連䌚瀟で、自動運転技術を開発しおいる Waymo はその最先端のプレヌダヌのひず぀です。

    AI関連の蚘事ず同様に、珟代のAIずロボットや機械の゚ンゞニアリングがクロスオヌバヌしおいくロボティクス関連の蚘事も今埌増やしおいき、その䞭で、重芁な情報やトレンドも玹介できればず思っおいたす。


    おたけ

    今回解説した PID Controller は、AI、特に機械孊習における「過孊習」や「亀差怜蚌」あたりに盞圓するようなロボティクスの基本ずも蚀えるかもしれたせん。基本の抂念をはっきりずおさえるこずでその分野の党䜓像の芖野が開けるこずもありたす。


     
     
    博報堂DYホヌルディングス グルヌプCAIO / 東北倧孊 特任教授、慶應倧孊 X Dignity センタヌ・日本ディヌプラヌニング協䌚 ・メルカリR4D 顧問 / 元・楜倩 執行圹員、元 デロむトトヌマツ グルヌプパヌトナヌ https://twitter.com/emasha

    あなたぞのおすすめ