ロボット用語まとめブログ | 初心者でもわかる

初心者でもわかるように、できるだけ数式は使わずにロボット用語をまとめています。

おすすめ
カテゴリ別ロボット用語
ロボティクスの辞書
smabo

クォータニオン(quaternion)【ロボットの姿勢を表現する方法】

関連用語:オイラー角

クォータニオン(quaternion)

クォータニオンとは、3次元空間における剛体の姿勢を表現する方法の一つあり、「方向ベクトル$(\lambda_x, \lambda_y, \lambda_z)$」方向に「角度$\theta$」だけ回転させたものです。

クォータニオンは、「$q_x, q_y, q_z, q_w$」の4つの変数で表現されます。
$$ \begin{align} q &= (\lambda_x \sin⁡{\frac{\theta}{2}}, \lambda_y \sin⁡{\frac{\theta}{2}}, \lambda_z \sin⁡{\frac{\theta}{2}}, \cos{\frac{\theta}{2}}) \\ &= (q_x, q_y, q_z, q_w) \end{align} $$


クォータニオン
クォータニオン

ロボットへの応用

ロボットの姿勢を表現する際にクォータニオンを使用することがあります。

クォータニオンのメリット/デメリット

クォータニオンのメリット/デメリットには以下のようなものがあります。

メリット

  • ジンバルロック(Gimal Lock)と呼ばれる自由度が1つなくなる現象が起こらないため、全方位における回転を問題なく表現できる
    • 例えばオイラー角の場合、ピッチ角度が±90度の時に、ロール・ピッチのどちらの値を変更しても、Y軸周りに回転してしまう(自由度が3→2に減少している)

デメリット

  • クォータニオンを表す4つの変数を見ただけでは、どのような姿勢を示すのかが直感的にわかりにくい


このように、クォータニオンは計算上の利便性があるため、ROSなどでは一般にクォータニオンが採用されています。


なお、オイラー角とクォータニオンは相互に変換が可能なため、

といった使い分けがされる事も多いです。

参考サイトなど

オイラー角(Eulerian angles)【ロボットの姿勢を表現する方法】

引用:オイラー角(wikipedia)

関連用語:クォータニオン

オイラー角(Eulerian angles)

オイラー角は、3次元空間における剛体の姿勢を表現する方法の一つであり、以下の3つの角度で構成されます。

  • ロール(Roll, φ):縦軸(X軸)周りの回転
  • ピッチ(Pitch, θ):横軸(Y軸)周りの回転
  • ヨー(Yaw, ψ):垂直軸(Z軸)周りの回転

オイラー角
オイラー

回転の順序

オイラー角では、一般に

  • ヨー → ピッチ → ロール

の順番で回転させることで姿勢を表現します。


なお、上記以外の順番で回転させることもあり、同じオイラー角でも回転の順番によって最終的な姿勢が異なることに注意してください。

回転させる順番で最終的な姿勢が変わる例

ロボットにおけるオイラー

ロボットにおいては、ロボットの姿勢を表現する際にオイラー角を使用することがあります。

ロボットにおけるオイラー角

オイラー角のメリット/デメリット

オイラー角には以下のようなメリットがあります。

メリット

  • X,Y,Z軸周りに順番に回転するため、オイラー角の値をみただけで最終的な姿勢を直感的に理解しやすい

デメリット

  • 特定の角度において、ジンバルロック(Gimal Lock)と呼ばれる自由度が1つなくなる現象が起こる
    • 例えば、ピッチ角度が±90度の時に、ロール・ピッチのどちらの値を変更しても、Y軸周りに回転してしまう(自由度が3→2に減少している)


このように、オイラー角はジンバルロックという問題があるため、ROSなどでは「クォータニオン」とよばれるジンバルロックが発生しない別の姿勢表現方法を使用することが多いです。


なお、オイラー角とクォータニオンは相互に変換が可能なため、

といった使い分けがされる事も多いです。

参考サイトなど

倒立振子(inverted pendulum)【不安定な振り子を倒れないように制御】

倒立振子(inverted pendulum)

倒立振子とは、「重心が支点よりも高い位置にある振り子」のことです。

倒立振子は、自然な状態では振子が倒れて来て安定しないため、振り子を支える土台を能動的に制御する必要があります。

わかりやすい例として、「手の平にほうきを立てて倒れないようにバランスを取る遊び」がこの制御にあたります。

ロボットにおける倒立振子

倒立振子は、典型的な制御問題であり、制御工学や強化学習などの理論を理解するための練習問題的な立ち位置で登場することも多いです。

ロボットの分野でよくある例としては、台車に立てられた振り子が倒れないように台車を制御する問題があげられます。

倒立振子問題の例
倒立振子問題の例


参考動画

www.youtube.com

参考文献

上記で述べたように、倒立振子は典型的な制御問題なので、これを題材にした書籍もいくつか発行されています。

オクルージョン(Occlusion)【物体の一部が他の物体で見えない】

オクルージョン(Occlusion)

オクルージョンとは、「塞ぐ」を意味する英単語で、

  • 物体や環境の一部が他の物体によって視界から隠される現象

の事をいいます

ロボット分野におけるオクルージョン

オクルージョンの例

ロボットにおけるオクルージョンの例には以下のようなものがあります

  • ピッキング作業
    • ピッキングしたい「物体A」の前方に別の「物体B」があるせいで、「物体A」の正確な位置や姿勢が分からず、上手くピッキングできない
  • 自動運転車
    • 前方に大きなトラックがあり、トラックに隠れている歩行者や自転車の検出が難しくなる

オクルージョンの解決方法

オクルージョンは、ロボットが自律移動するための重要な課題であり、解決には以下のような方法が考えられます。

  • 複数センサの情報を融合
    • 複数のセンサの情報を統合することで、センサが一つだけしかないときと比較して、オクルージョンを軽減できる
  • 深層学習による物体検出
    • 深層学習により「物体の一部が隠れてしまっているような状況」を学習することで、オクルージョンが発生している状況でも、物体の認識がしやすくなる
  • 動的シーン解析
    • 動いている物体が、途中で別の物体の影に隠れるようになってしまった場合は、隠れるまでの動き情報(どの程度の速度で進んでいたか、など)から隠れた物体の現在位置を推測することができる

空気圧人工筋肉(pneumatic artificial muscles)【空気圧で人間のような筋肉を実現】

空気圧人工筋肉(pneumatic artificial muscles)

ゴムと繊維から構成される柔らかいアクチュエータを「空気圧人工筋肉 (pneumatic artificial muscles、PAMs)」といいます。


空気圧人工筋肉は、ゴムチューブに空気圧を印加することで繊維部分が圧縮されることで動作します。

引用:Pneumatic artificial muscles - Wikipedia


代表的な、空気圧人工筋肉としては「マッキベン型人工筋肉 (McKibben Pneumatic Artificial Muscle)」があります。 網状のスリーブ内にゴムチューブをいれたもので、下動画のように自作できるようなシンプルな構成となっています。

www.youtube.com

ロボットへの応用例

空気圧人工筋肉は人間の筋肉と似たような動作をするため、人間の手を模したロボットハンドや、人間の筋肉を補強するパワーアシストスーツに用いられます。

ロボットハンド

youtu.be

パワーアシストスーツ

www.youtube.com

www.youtube.com

参考サイト

パラレルリンクロボット(parallel link robot)【高速に高精度な作業が可能】

パラレルリンクロボット(parallel link robot)

複数のリンクが並列に接続されたロボットアームをパラレルリンクロボット(parallel link robot)といいます。

パラレルリンクロボットのメリットとデメリット

  • メリット

    • 高速に動作する
    • 高精度な作業が可能
  • デメリット

    • 作業範囲が狭い
    • 高重量な物体を扱うのは困難


参考動画

www.youtube.com

www.youtube.com

参考サイト

直交ロボット(Cartesian robot)【直線的に動作】

直交ロボット(Cartesian robot)

2軸、または3軸の直交するスライド軸により構成されるロボットを直交ロボット(Cartesian robot)といいます。

直交ロボットのメリットとデメリット

  • メリット

    • シンプルな構成のため、低コストで導入可能
    • 高精度な動作が可能
  • デメリット

    • 直線的な動作しかできないため、複雑な動作は不可能
      • 主要なロボットアーム(直交、垂直多関節、水平多関節、パラレルリンク)の中で最もできる作業の自由度が低い


参考動画

www.youtube.com

参考サイト

垂直多関節ロボット(vertical articulated robot)【色々な作業が出来る、最も主流な産業用ロボット】

垂直多関節ロボット(vertical articulated robot)

垂直多関節ロボット(vertical articulated robot)は、垂直方向に動く多関節ロボット。産業ロボットとしては最も主流な形式です。

水平多関節ロボットのメリットとデメリット

  • メリット

    • 動きの自由度が高いため複雑な作業も可能
      • 主流なロボットアーム(直交、水平多関節、垂直多関節、パラレルリンク)の中で、最も複雑な作業が可能
  • デメリット

    • 高速に動作させたときに、オーバーシュートや振動が発生しやすい


参考動画

www.youtube.com

参考サイト

水平多関節型ロボット(selective compliance assembly robot arm)【平面的な作業に最適】

水平多関節ロボット(selective compliance assembly robot arm)

水平多関節ロボットは水平方向にアームが動く多関節ロボットのことで英名の「Selective Compliance Assembly Robot Arm」の頭文字をとって「SCARA(スカラ)ロボット」とも呼ばれます。


産業用ロボットでは一般に、「3つの回転動作と1つの上下動作」を基本とします。

水平多関節ロボットのメリットとデメリット

  • メリット

    • 水平方向に動作するため、作業範囲が広く、平面的な作業に向いている(基盤の組み立てなど)
  • デメリット

    • 水平方向にしか移動しないため、複雑な作業は難しい


参考動画

www.youtube.com

www.youtube.com

参考サイト

マルチモーダル(multimodal)【複数のデータを組み合わせて高度な制御を実現】

マルチモーダル(multimodal)とは

マルチモーダル (multimodal)は、複数の手段を組み合わせることを意味する。複数の手段を組み合わせることで、より高度な制御が実現可能になります。

ロボット以外にもAIの分野でも用いられ、近年では「マルチモーダルAI」の研究が活発化しています。

日常生活におけるマルチモーダル

マルチモーダルは日常生活にも溢れています。

例えば、人間の場合は「視覚、聴覚、触覚」などの感覚情報を得ることが出来ますが、これらの中から複数の感覚情報を組み合わせることで、より正確で豊かな情報を得ることが出来ます。


具体例としては、以下のようなものが存在します。

  • 視覚と聴覚
    • 無音の映像作品よりも、映像+音声の作品の方がストーリが理解しやすく、感情移入しやすくなる
  • 視覚と触覚
    • 物体を触る前に、物体を目で見ることでその物体の質感を予測することが出来る
  • 嗅覚と味覚
    • 美味しそうな匂いを嗅いだうえで、食べ物を食べることでよりおいしく感じる

ロボットにおけるマルチモーダル

ロボットも人間と同じように、「カメラ(視覚)、マイク(聴覚)、力覚センサ(触覚)」のようなセンサから得られる複数のデータを組み合わせることでより高度な制御が可能になります。


Kuniaki Noda., et al. “Multimodal integration learning of robot behavior using deep neural networks.”, Robotics and Autonomous Systems, 2014, Vol.62, No.6, p.721-736.」では、「関節角度、カメラ画像、音声データ」を組み合わせたデータを用いて時系列ネットワークによる学習を行うことで、以下のような成果を示しました。

  • 画像シーケンスから、関節角度シーケンスを推論
  • 関節角度シーケンスから、画像シーケンスを推論
  • 音声シーケンス+関節角度シーケンスから、画像シーケンスを推論
  • 画像シーケンスから、5step先の関節角度を予測
  • 画像データシーケンスと関節角度シーケンスを組み合わせることで、ノイズがあるような環境にも頑健な推論が可能に


上記論文の動画

https://ars.els-cdn.com/content/image/1-s2.0-S0921889014000396-mmc1.mp4

オムニホイール(omni wheel)【全方向に移動可能】

オムニホイール(omni wheel)

車輪の回転方向に対して垂直方向に回転するローラが配置されたホイールをオムニホイールといいます。

引用:Omni wheel - Wikipedia


オムニホイールでは各ホイールの回転方向の組み合わせによって、

  • 前進
  • 後進
  • 回転
  • 左右方向への移動
  • 斜め方向への移動

ができ、全方向への移動が可能です。


「各車輪の回転方向」と、「車体の移動方向」は下図の通りです。(オムニホイールは車体に3つ、または4つ取り付けることが多い)

引用:オムニホイールとは? 意味や使い方 - コトバンク (kotobank.jp)

引用:オムニホイールとは? 意味や使い方 - コトバンク (kotobank.jp)

参考サイト

メカナムホイール(mecanum wheel)【全方向に移動可能】


ホイールの車軸に対して、45度の角度で樽系の小型ローラが配置されたホイールをメカナムホイールといいます。

48mmスチールメカナムホイール4個セット (14209)


メカナムホイールでは各ホイールの回転方向の組み合わせによって、

  • 前進
  • 後進
  • 回転
  • 左右方向への移動
  • 斜め方向への移動

ができ、全方向への移動が可能です

100mmアルミメカナムホイール4個セット (14094) [台車・タイヤ] [NEXUS robot]

「各車輪の回転方向」と、「車体の移動方向」は下図の通りです。


参考動画


www.youtube.com

参考サイト

ジャミング転移(jamming transition)【硬さを変えて、様々な物体の把持を実現】

ジャミング転移(jamming transition)とは

粒子の集まりが、流体のような状態から個体のような状態に変わる現象を「ジャミング転移(jamming transition)」といいます。

日常生活におけるジャミング転移の例

日常生活においてジャミング転移が起こるケースを紹介します。

  • 砂のお城
    • 砂が乾燥している状態では、サラサラした流体のような振る舞い
    • 砂を水で湿らせると、固くなり個体のような振る舞いになる


  • 小麦粉などの粉末のつまり
    • 粉末を容器から出す際に基本的にはさらさら流れる
    • しかし、ある条件下(特定の圧力や衝撃を受けるなど)においては粉通しが固まり、個体のような振る舞いをすることがある

ロボットへの応用

ジャミング転移はロボット分野の中では、特に「ソフトロボティクス」の分野で利用されることが多いです。

「Brown, E., et al. “Universal robotic gripper based on the jamming of granular material.” PNAS, 107(44), 18809–18814, 2010.」では、下動画のようにジャミング転移を利用して制御するグリッパーを用いることで、様々な形状の物体を把持することに成功しています。

本論文で紹介されているグリッパーは、把持したい物体に押し付け後に、真空状態にすることで「柔らかい状態→固い状態」に変化させています。

www.youtube.com

関連サイトなど

歪対称行列(skew symmetric matrix)【外積を行列で表現できる】

歪対称行列(skew symmetric matrix)

$A^T=-A$ を満たすような行列のことを「歪対称行列(skew symmetric matrix)」といいます。
より具体的には $A_{ij} = - A_{ji}$ を満たすような行列のことです。

2×2の行列の場合

$$ A = \begin{pmatrix} 0 & a \\ -a & 0 \\ \end{pmatrix} $$

3次元行列の場合

$$ A = \begin{pmatrix} 0 & -c & b \\ c & 0 & -a \\ -b & a & 0 \end{pmatrix} $$

歪対称行列と外積の関連

3×3の歪対称行列は外積と同じ働きをするため、外積の計算を行列で記述することが可能になります。

例)角速度から速度の計算

速度 $\vec{v} = \begin{bmatrix} v_x \\ v_y \\ v_z \end{bmatrix}$は、以下のように角速度ベクトル: $\vec{\omega} = \begin{bmatrix} \omega_x \\ \omega_y \\ \omega_z \end{bmatrix}$と 位置ベクトル: $\vec{r} = \begin{bmatrix} r_x \\ r_y \\ r_z \end{bmatrix}$の外積によって求められます。
$$ \vec{v} = \vec{\omega} \times \vec{r} $$
ここで、「角速度ベクトル$\vec{\omega}$」を「歪対称行列$\Omega$」に置き換えると下式のように **外積を行列で計算できます**
$$ \vec{v} = \begin{bmatrix} 0 & -\omega_z & \omega_y \\ \omega_{z} & 0 & -\omega_{x} \\ -\omega_{y} & \omega{x} & 0 \end{bmatrix} \begin{bmatrix} r_x \\ r_y \\ r_z \end{bmatrix} = \Omega\vec{r} $$

[!NOTE]
「歪対称行列$\Omega$」 を外積として使用する場合、外積の計算をしているということを強調するため $[\vec{\omega}\times]$のように表記することがあります。(式の意味としては全く同じ)

$$ \vec{v} = \Omega\vec{r} = [\vec{\omega}\times]\vec{r} $$

参考サイト