計測自動制御学会東北支部第231回研究集会（2006．10．31）
資料番号231−12

多関節ロボットのためのベクトルモデル構築と動作計画
VbctormodelconstruCtionandtheoperationplanfbr
Articulatedrobots○附田原大＊，有我祐一−＊＊，渡部慶二＊＊，村松鋭一＊＊，遠藤茂＊＊OTSUKUTAMotohiro＊ARIGAYuichi＊＊WATANABEKeiji＊＊
MURAMATSUEiichi＊＊ENDOShigeru＊＊＊山形大学大学院理工学研究科，＊＊山形大学工学部＊＊YamagataUniversity
キーワード：多関節ロボット（Articulatedrobots），ベクトルモデル（Vectormodel），動作計画（Operationplan）
連絡先：〒992・0037米沢市城南4−3−16山形大学工学部応用生命システム工学科渡部研究室
附田原大，E−mail：eXm83441＠dip．yz．yamagatapu．ac．jp

必要である。

1．はじめに現在、様々な場所で様々なロボットが使われており、エンターテインメントとしても普及していそこで、本研究は多様な多関節ロボットに対応でき、コンピュータ上で動作計画をシミュレートするために汎用性を持ったモデル構築ソフトウェる。また、メーカーや個人によって多種多様なロアの開発を目的とする。

ボットが開発され、使用されている。しかし、そのロボットの多くはそれぞれの機体を動かしながらでなければ動作計画を作成することが出来ない。
メーカーによって作られたキットであってもソフトウェアが専用の物になっている。個人がロボットを作成したさいは、動作計画用のソフトウェアを一から開発するのも困難である。これらの事から、一般ユーザが動作計画を作成することは困難［ソフトウェアに求められる機能］

・様々な形状のロボットに対応・実機なしである程度の動作が作成できる
・動作計画作成の容易性
・関節等の特性の反映

2．多関節ロボット仮想モデルであると考えられる。

まず、多関節ロボットの仮想モデルを構築するために各関節の三次元座標が必要である。この必要な情報を生成するために、ベクトルと回転変換行列を使用し、各々の関節間長さや角度から関節の三次元座標を生成した。これは仮想モデルの対象

そこで、コンピュータ上で動作計画をシミュレートすることで機体の実働なしにある程度の動作計画が容易に作製できるのではないかと考えた。
しかし、コンピュータ上で動作計画をシミュレートするにはそれぞれの機体に合った仮想モデルが1が多関節ロボットとであり、自由度が高いためである。また、ベクトルと回転変換行列を使うことで仮想モデルの計算が行列計算のみで行えるという利点もある。

ただし、gZ♂はz軸回転の回転変換行列、g yβはy軸回転の回転変換行列である。
また、Ⅹ，y層軸回転の回転変換行列は、
1 02．1モデル構築

0 cosβ −Sinβg∫β＝モデル構築の方法として、大まかに以下の方法をとる。

0（2．4．1）

O sinβ cos∂O00C

掴扉

一S（2．4．3）10る。

（2．4．2）︿〃OSβsinβ0O・m

この四段階の処理を行うことにより、要素のベクトル先端の座標を演算により求めることができ

βnS

1OS

一cosβg￣● こ．

O

βC二︵〃︶︻エy1．多関節ロボットを各関節部分で分割
2．それぞれの部分をベクトルに変換
3．各関節の角度情報によりベクトルを回転4．回転されたベクトルを結合となる。
このような演算を関節すべてに行い、接地部分を原点とした任意の関節角度状態における関節位置の三次元座標を求めることができる。求めた接地面を原点とした三次元座標を元に、仮想モデルをコンピュータ上に描画することで、各関節の状態（角度）を反映した仮想モデルを生成することができる。

2．2要素のベクトル構造（a）ロボット

前章で提示した方法で、近藤科学のKHR−1（図（b）ベクトル図2．2（a））のベクトルモデル（図2．2（b））を作成した。

図2．1ベクトルモデル構築の例

ロボットアーム（図2．1（a））を各関節部分で分割し（要素）、各々ベクトルで表現（図2．1（b））する。そして、そのベクトルを三行一列の行列に置き換え計算する。
ここで例として、図2．1（a）のロボットについてベクトルモデルを構築する。図2．1（b）をロボットの基準姿勢とすると、リンクベクトルは／ ハU O、、、

（2．1）（a）KHR−1

図2．2ⅩHR−1とベクトルモデル

KHR・1は二足歩行ロボットであり、接地面が二箇所存在する。接地面が二箇所存在する場合、胴体部分のベクトルが左右足の接地条件が変わることで2パターンのベクトル定義を切り替えなけれとなる。このときロボット先端ろの位置の誘導は以下のようになる。

アr＝gヱ♂l￠・デ・gyβ2￠カ＝E埼￠・小五叫E｝叫）（b）ベクトル図（2．2）

ばならないことがわかった。

このことから、一つの要素に複数の軸が存在する場合、要素を単一のベクトルで表現できない。

（2．3）
2また、ロボットが複雑になってしまうと接地部分

この方法を具体的な例をもって示す。になりえる要素が複数存在する場合があり、前章の方法が接地部分を原点とする三次元座標表現であるため、対応できなくなることが分かった。そこで、要素を複数ベクトルで表現し、要素内のベクトルを合成することで任意の軸までのベクトルを算出する。
要素の各軸をベクトルの先端とし、終端を要素の中心とするようにベクトルを定義する（図2．2）。

このように定義することで、どの軸が接地する要素に最も近いかを考えることなく、その要素の情報のみで要素内のベクトルを定義することが出来る。

図3．13リンクロボットアーム

上図の3リンクロボットアームを考えたとき、各リンクのベクトル（エ1−エ3）は以下のようになる。
0O

0O

0′り．〇

Lr2ニTム′り（3．1）

このロボットアームが図3．2のように曲がった場
合、ロボットアー・ムの各関節の位置をろ，ろとする

図2．2ベクトル構築の例

3．アルゴリズム化と、ろは以下のように求めることができる。

これまで述べてきたこととをアルゴリズム化することを考える。必要となる処理は、・回転変換行列演算処理
・各要素Ⅹ，y，Z軸回転角度（絶対角度）計算処
理・ベクトル並進演算処理

これらをソフトウェアに組み込み、先まで述べてきたモデル構築をソフトウェア上で実現する。
ソフトウェア上で処理されうる手順は以下のようになる。
図3．2 3リンクロボットアームの動作

1．要素ごとにべクトルを構成する
2．各々要素の各軸回転の回転角度を算出
3．要素のベクトルを回転変換行列を用いて回まず、リンク2のベクトルが角度変化によって（q＋β2）だけ回転しているので、角度を反映させ転

4．前要素のベクトル先端座標で並進させ、各々たリンク2のベクトルは、のベクトル先端座標を導く
3

エ2×gz（β1．q）（3・2）となる。次にこれをリンク1の先端位置へ並進させることでろの三次元座標を求めることができ、

ろ＝エ2×gヱ（q＋ち）＋雪（3．3）と求めることができる。
同じことを即こ対しても行うと、
ろ＝エ1×gzβ1（3．4）となる。

4．最後に
本研究では多関節ロボットのための仮想モデル構築法として、ベクトルと回転変換行列を組み合わせ、仮想モデルを構築し、ソフトウェアに適応した。また、要素に対するベクトル数を多くすることで複数軸のある要素にも対応することが出来た。しかし単純なロボットモデルの場合、ベクトル数が多くなることでソフトウェア内のデータが多くなり、演算処理が複雑になってしまった。そこで、今後の課題として以下のことがあげられる。
・多関節ロボット仮想モデルによる動作計画
・ロボット特性（関節モーターのへたり等）の適応

・演算処理の見直し

参考文献

1）広瀬茂男：ロボット工学（改訂版）一機械シ
ステムのベクトル解析−5／43 裳華房（1987）

4