ロボメカ・チュートリアル・ 2022年度版

ロボット制御・教育学習
再考
細田 耕【著】
株式会社アールティ【協力】多自由度化するロボットの制御を実践することを念頭に置き，解析的計算の詳述や数値計算の工夫を踏まえながら，ロボット制御技術を整理して説明しています．
また，現状のモータ周辺装置の実装レベルを踏まえながら，必要なところまで読めば実践できるように構成を工夫しています．

ロボットを学ぶ教科書

しっかりした理論的教科書は，ほとんどが1990年ころに書かれている
動力学計算が盛んに研究された時代
研究テーマがゴールで書かれた教科書が多い（Craig，Paul，吉川，川崎，大須賀，内山・中村，有本）
その結果，参考書としてはあげられているが教科書として採用されている本はほとんどない
シラバスで，教科書指定されているのは（川崎）くらい「ロボット」を学ぶ教科書
問題点：
周辺計算に関する意識が薄い
モジュールプログラムの意識なし
学習のゴールは動力学

教科書の「しかけ」初学者にやさしい教科書．でもしっかり理論は押さえる
コンピュータ科学，IoTの時代に即した知識を提供する
退屈な理論ではなく，数学・物理学が実践へとつながる

教科書の「しかけ」初学者にやさしい教科書．でもしっかり理論は押さえる
コンピュータ科学，IoTの時代に即した知識を提供する
退屈な理論ではなく，数学・物理学が実践へとつながる

ロボット用モータ

モータの制御

入力

フィードバック

電圧制御モジュール

センサ初学者にやさしい教科書指令された角度速度の指令値

指令された速度

電流の指令値

指令された回転力

レベルに応じて必要な知識が変わる

角度の指令値

位置制御されたモータを使う場合

位置に関する逆運動学
順運動学

位置に関する軌道計画

ここまでの知識で，２・３自由度の簡単なロボットは例えば，速度台形則思い通り動かせる軌跡と軌道（こだわりポイント）
どこを通るかという「軌跡」といつ通るかという時間の要素を分けて考えることで，汎用性が高まる

𝑌

プログラムするときにモジュール化しやすい（他人が使えるプログラムになりやすい）𝑋

軌道

多自由度・位置に関する順運動学

リンク座標系とリンクパラメータ

リンク座標系とリンクパラメータ

漸化的な式で書ける（パラメータ入れればOK）多自由度・位置に関する逆運動学「微分逆運動学」を知れば，この式を「逆」に解くことができるようになる

これを展開して記号的に「逆」を計算するのは絶望的「初学者にやさしい教科書」

モータの制御レベルによって必要な知識が変わる→ 「いつでもやめられるロボット工学」
平面2自由度のケースで直感的な理解をし，その後多自由度の説明に平面2自由度など簡単な場合はそれでよし．多自由度を知るには微分運動学（次へ）教科書の「しかけ」初学者にやさしい教科書．でもしっかり理論は押さえる
コンピュータ科学，IoTの時代に即した知識を提供する
退屈な理論ではなく，数学・物理学が実践へとつながる

位置に関する逆運動学（再）順運動学

プログラムするためには「解析的に」式を展開する必要がある
コンピュータ技術が進んだ「いま風」な方法を学ぼう︕

多自由度・位置に関する逆運動学

プログラムするためには「解析的に」式を展開する必要がある
コンピュータ技術が進んだ「いま風」な方法を学ぼう︕
これを展開して記号的に「逆」を計算するのは絶望的ヤコビ行列の定義

例えばいつものこいつだと，

基礎ヤコビ行列＝ネ申︕

基礎ヤコビ行列は，解析的な微分を必要としない．
回転行列を計算できれば導くことができる

ヤコビ行列の解析的表現と漸化的表現• 自由度が少ない時には，手で計算ができる．
• 式が閉じた形で出てくるのでわかりやすい．
• 位置に関する逆運動学が面倒
解析的な表現• 漸化式なので，汎用モジュールにしやすい• 直感的にわかりにくい• 位置に関する逆運動学を数値的に解ける
漸化的な表現位置に関する逆運動学再考与えられた 𝒓 を実現する 𝒓 𝒒 の 𝒒 を求める問題
𝒓 𝒒𝒒𝒓を満たす 𝒒 を求める問題𝟎

直接 𝒒 について解くのは難しい
真の解に近い 𝒒 があれば
𝒓 𝒒

∆𝒒𝒓𝟎

テーラー展開すると
𝜕𝒓𝒓 𝒒𝒓∆𝒒 𝟎
𝜕𝒒𝒓 𝒒∆𝒒𝜕𝒓
𝜕𝒒𝒓𝒓 𝒒位置に関する逆運動学再考与えられた 𝒓 を実現する 𝒓 𝒒 の 𝒒 を求める問題
𝒒① 𝒒の適当な初期値𝒒を決める
𝒓 𝒒 が十分小さければ② 𝒓終了．そうでなければ次の修正ステップへ③ 𝒒 ← 𝒒+𝒓𝒒𝒓と修正，②に戻る

𝒓 𝒒𝒓 𝒒位置に関する逆運動学再考与えられた 𝒓 を実現する 𝒓 𝒒 の 𝒒 を求める問題𝒒

こいつらは漸化的に解ける式① 𝒒の適当な初期値𝒒を決める
𝒓 𝒒 が十分小さければ② 𝒓終了．そうでなければ次の修正ステップへ③ 𝒒 ← 𝒒+𝒓𝒒

𝒓𝒓 𝒒と修正，②に戻る鬼門だった「位置に関する逆運動学」
がない！
𝒓 𝒒

モータの制御指令された角度速度の指令値

指令された速度

電流の指令値

指令された回転力レベルに応じて必要な知識が変わる

角度の指令値

位置制御されたモータによる軌道制御
𝒓 𝑡 → 𝒒 𝑡 ：位置に関する逆運動学問題

𝑌𝑋𝒓 𝑡

計算された 𝒒 𝑡

速度制御されたモータによる軌道制御
手先の誤差が一次遅れで０になるとして𝒓 𝒓
𝑲 𝒓 𝒓𝑘000𝑲𝑌𝑋𝒓

𝒓 𝑡

𝑱 𝒒0𝑘0000⋱0000𝑘𝑲 𝒓𝒓𝟎𝑱 𝒒𝒓

速度制御されたモータを使えば，
𝒖 𝑱𝒓
𝑲 𝒓 𝒓
位置に関する逆運動学問題（とても面倒あるいは繰り返し計算必要）なし
順運動学と，ヤコビ行列の逆行列だけで計算が済むコンプライアンス制御（こだわりポイント）
各軸フィードバック
だと，手先の特性はこうなる

あらかじめ，としておけば，

コンピュータ科学の時代に即した内容

解析的に解けるならわかりやすいんだけど，「位置に関する逆運動学問題」は難しい
基礎ヤコビ行列を使うと，漸化的表現だけで「位置に関する逆運動学問題」が解ける
手先の軌道制御も，位置に関する逆運動学問題を解かずに，ヤコビ行列と順運動学のみですむ

ロボット制御は面白くない（当時）• ヤコビ行列ってなに？なんの役に立つの？
• シミュレーションするには運動方程式は必要• ラグランジュの方法で運動方程式出せたらそれでいい• 各軸にPID制御使えば十分精度出るし，動的制御なんて現場ではいらんのとちゃう？（実際1990年代はそうだった）電流制御こそ王道︕（当時）動的制御するには，電流制御できないと意味ない︕
動的制御は計算量が問題（計算の並列化なども研究になった）．

すべて「コンピュータ技術」が解決してしまった

教科書の「しかけ」初学者にやさしい教科書．でもしっかり理論は押さえる
コンピュータ科学，IoTの時代に即した知識を提供する
退屈な理論ではなく，数学・物理学が実践へとつながる

ロボットの運動方程式
Lagrange の運動方程式
偏微分を伴う，解析的計算に基づく導出
𝑌

Newton‐Euler の運動方程式
漸化的計算に基づく導出

𝑋

実はこんなことはどうでもいいんです︕

ロボットの運動方程式
もっとも重要なのはどんなロボットでも，どんな方法を使っても，運動方程式は𝑌𝑋

𝑴 𝒒 𝒒

𝒉 𝒒, 𝒒という形になること

𝒈 𝒒𝝉

ロボットの運動方程式
𝑴 𝒒 𝒒

𝒉 𝒒, 𝒒𝒈 𝒒

𝝉にいろいろな制御をツッコむと，何が起こるかを予測できる𝑌𝑋

各軸フィードバックの安定性
𝑴 𝒒 𝒒

𝒉 𝒒, 𝒒𝒈 𝒒

𝝉にいろいろな制御をツッコむと，何が起こるかを予測できる𝑌

各軸フィードバック制御
𝝉𝑋

𝑲 𝒒𝒒

𝑲 𝒒

は，モータの減速比とフィードバックゲインが十分に大きければ安定各軸フィードバックの安定性
𝑴 𝒒 𝒒

𝒉 𝒒, 𝒒𝒈 𝒒

𝝉にいろいろな制御をツッコむと，何が起こるかを予測できる𝑌

𝑋

各軸フィードバック制御
+重力補償
𝝉

𝑲 𝒒𝒒

は，無条件に安定

𝑲 𝒒

𝒈 𝒒

コンプライアンス制御もを使うことで，重力下の安定性を保証することができる

モジュールとしての運動方程式
コンピュータ技術に合わせた実装と運用

重力補償だけを取り出す
𝒒𝟎𝒒𝟎

コンピュータ技術に合わせた実装と運用

𝝉𝒈 𝒒

重力を半分だけ補償する
コンピュータ技術に合わせた実装と運用
𝒈

0 0 4.9

リンクの重量を半分だけ補償する
コンピュータ技術に合わせた実装と運用

𝑚 をすべて真値の1/2にする

モジュールとしての運動方程式
コンピュータ技術に合わせた実装と運用
プログラムの中身は漸化的だけど，そんなこと気にせず運用する数学・物理学と実践との橋渡し

運動方程式自体の実装はどうでもよい（どうでもよくない）
運動方程式の性質を見据えた「動的制御」を考える
退屈な理論ではなく，数学・物理学が実践へとつながる

ロボット工学を教えよう︕習おう︕
初学者にやさしい教科書．でもしっかり理論は押さえる
コンピュータ科学，IoTの時代に即した知識を提供する
退屈な理論ではなく，数学・物理学が実践へとつながる