• ポリテクカレッジ宮城 機械システム系(宮城職業能力開発短期大学校)秋田 正秀

1.はじめに

私がポリテクカレッジに来て3年が過ぎようとしています。この3年間に一貫して卒業製作のテーマとして掲げてきたのが「機械とその運動」というテーマでした。今回の卒業製作までで私がこれまでの学生に要求した内容が充実してきましたので,少しその紹介をしておきたいと思います。成果の中で紹介するものはD-Hコンベンションを活用した内容で,足における位置座標の計算や直交3軸ロボットのシミュレーションです。何らかの参考になれば幸いです。

2.これまでの流れ

はじめは,何か学生と一緒にできることでもと思い,一般的な機械と運動について卒業製作をやってみることにしました。対象物ありきで考えてもいいと思うのですが,基本的な考えとして私自身は基礎的な事柄を理解することが大切だと考えており,大変ですが理論的なことから入りました。

ですから,はじめの半期は具体的なものから少し離れた形で行いました。

機械とその運動に関しては理論的なものとして,運動学(Kinematics),動力学(Dynamics),制御(Control)を取り上げてみました。はじめの学生にはこの中で運動学,動力学を選択して卒業製作を始めました。理論的な内容に関しては私自身も専門的に取り扱っていなかったので,用語などの関係から英文を取り上げてそれで理解をしてもらうことにしました1)。学生も必死で先生の私自身も必死でその英文を一緒に読み始めました。ところが,英文を読むのはいいのですが,いかんせん学生は英文が嫌いなせいか,英単語を調べてくるのが精いっぱいで内容を読み取ることができません。ですから,私はその英単語を一生懸命くっつけて内容をとり学生に理解してもらいました。後でどのようなことを最終的にできたか紹介しますが,このときは準備不足のため内容不足は否めないところです。結局のところ設計の段階から抜けきれず計算にとどまってしまい,運動学を行った学生は位置座標の計算,動力学を行った学生はトルクの計算という結果になりました。

続いて2年目は同じテーマですが,今度は幅を広げる目的で市販の直交3軸のロボットを実際に使ってみました。この年では,学生にこの3軸のロボットを使って制御の考え方を少しずつでも理解してもらうことを念頭において卒業製作を始めました。ですが,市販であるがゆえに,あらかじめ仕様等が決まっており,簡単な目的のプログラムはすぐにできます。その反面,学生の課題として複雑な制御のプログラミングがすぐに登場し,私が考えていることに必然と学生がついてこれなくなるわけです。ですから,途中から基本的な制御のプログラムの部品を私が作り,学生がその部品を組み合わせたプログラムを作り,全体でこの直交3軸のロボットの位置の制御を行うことになりました。よって,この2年目の成果はプログラムを作成したことです。また,このときの最後の段階で,直交3軸のロボットの簡単なグラフィックス(線画)をコンピュータの画面上に表すことも始めていました。ここでのグラフィックスは非常に簡単な方法で行っています。このときのヒントは現能開大の福祉工学科の垣本先生に以前に聞いたものでした。

続いて3年目です。3年目では1年目の卒業製作で学生に行ってもらった運動学の内容を生かして,D-Hコンベンションをその直交3軸のロボットを運動学に活用してコンピュータ画面上でシミュレーションを行うことにしました。この年の学生には,このD-Hコンベンションについては1年目の成果2)を理解してもらい,そのうえでC言語を使ってグラフィックスを作成してもらいました。ここでのグラフィックスは2年目の上をいくものとして,コンピュータグラフィックスといわれる内容を少し含めたものとなりました。

3.卒業製作の成果

卒業製作の成果を報告しますが,内容はD-Hコンベンションを活用したものに限定します。

3.1 D-Hコンベンション

D-Hコンベンションは1950年代のJ.DenavitとR.S.HartenbergのKinematicsに関する論文3)で紹介されたものです。この2人の頭文字にD-Hコンベンションの名前が由来しています。その後,R.P.Paulらがこの論文の方法をマニピュレータに活用した報告を論文にまとめています4)。この内容はR.P.Paulの本に非常にわかりやすく,例題を用いてまとめられてあります5)。それでは簡単にD-Hコンベンションについて説明をします。

まず,基礎の段階として回転変換と並進変換を理解しておく必要があります。各x,y,z軸それぞれ回りの回転変換と,各x,y,z軸に沿った並進変換を行列の形で表すとのようになります。

次

通常は回転だけであれば3×3行列で足りるのですが,同時に並進を扱うには上記のような4×4行列が必要になります。このような変換を同次変換といいます。この同次変換を用いて2つのリンクの位置関係を表します。次に2つのリンクの関係を図1に示します。

図1
図1

図は同次変換をべースに2つのリンクの位置関係を表しているもので,変数は図の下に示したようになっています。ですから1つのリンクの位置関係を表すには,これらai,di,αi,θiの4つの変数が必要になり,これらの変数をD-Hリンクパラメータといいます。また,これに加えて各関節ごとに1つの座標系を導入します。この座標系は関節方向,図の中でいうならば各関節の矢印方向にz軸の正方向をとり,i番目の関節にzi方向をとります。z軸のi番目とi+1番目との共通垂線方向にx軸の正方向をとり,最後に右手座標系でy軸の方向をとることになります。ただし,軸ziとzi+1とが平行であれば任意に共通垂線を決めることができ,直交していれば,向きはzi×zi+1方向に平行であればどちらの向きでもよいのでとりやすい方向にxiをとります。このように各関節に対して座標系を構成していき,D-Hリンクパラメータによって座標変換の行列を構成していきます。単純に図1での座標変換は次のようになります。

図1
図1

i番目の関節からi+1番目の関節への座標変換をiTi+1とすると次のように表されます。

  1. ①zi回りにθiほど回転してXiとXi+1軸を同方向にそろえる。
  2. ②ziに沿ってdiほど並進してxiとxi+1軸を一致させる。
  3. ③xi方向にaiほど移動して関節iと関節i+1の原点を一致させる。
  4. ④xi回りにαiほど回転してziとzi+1の軸を一致させる。

これらを同次変換を用いてで表すと,

式

このように各関節ごとに座標系を設けて上記のような変換を行っていき,べース座標から先端の,例えば,エンドエフェクタまでの座標系を同次変換で求めていきます。これがD-Hコンベンションです。この方法を用いて何らかの対象物をある座標系で表したときの位置座標をもとに,べース座標から見た位置座標に変換していく計算をすることになります。

3.2 1年目

ここでは1年目の学生が実際に対象としたものを紹介します。1年目の学生は上記に説明したD-Hコンベンションを使って対象物の位置座標を計算し,計算結果を数値の形で表示しました。この学生は例として足を取り上げ,これのスケルトンモデルをもとにD-Hリンクパラメータと座標系を構成し,変換行功を作成しました。実際の構成を図2に示します。

図2
図2

この図は,足の付け根から足先までをスケルトンモデルで表したものです。ちなみに足の付け根の部分に2つの座標系がありますが,人間は屈伸すると膝関節と同様に回転する部分と,足を開いたり閉じたりするという外転,内転という回転があります。これらを2つの部分に分けて座標系を構成しています。この図に示すように各関節の座標系を構成していくと,各座標系によるD-Hリンクパラメータは表1のようになります。

表1
表1

続いてこれをもとに変換行列はのようになります。

次

これで変換行列の完成で,後はこれを用いて最終的にべース座標から見た5番目の座標系で表される足の姿勢が計算されます。上記の式を計算するとのようになります。

次

これで紙面上での計算は終わりです。残りはこの計算をプログラムで記述できれば完成です。ちなみにこの計算量は膨大です。ですから,これらの計算をいかに効率的に行うかがここでのもう1つの問題となります。この学生は計算機がPC9801RA(20MHz)で言語はBASICで行いました。

3.3 2年目6)

2年目は,はじめに書いたとおり既製品を使って制御の考え方を行ったこととグラフィックシミュレーションを行ったことの2つがありますが,直交3軸ロボットを画面上でシミュレーションしたことについて報告します。

ここでは図3のような直交3軸のロボットを使って卒業製作を行いました。使用した直交3軸のロボットシステムはコンピュータとコントローラボックス,直交3軸ロボットからなっており,コンピュータからコマンドを発生させてコントローラボックスに送ります。コントローラボックスには各軸に対応したコントローラカードがあり,各軸とも独立になっています。

図3
図3

ですから,各軸ごとにコマンドを送り,独立した形で3軸が動作します。

続いて,この直交3軸のロボットをコマンドを送った後,この直交3軸のロボットがどのような形になっているかをコンピュータ画面上で表します。コンピュータ画面のスクリーンは2次元ですから,簡単にx,y,zの各軸の互いの角度を120°とし,2次元の画面を3次元として取り扱いました。

上記の状態を図4に示します。

図4
図4

この図において3次元の点を取ることを考えると,次のようになります。

まず,スクリーンの座標は左上が(φ,0)で右下が(640,400)ドット,xは右方向がプラス,y軸は下方向がプラスになっています。ですから,通常と比較してXは同じなのですが,y方向の符号が逆になっています。

また原点を(320,300)と決めます。原点が決まれば,今度は直交3軸のロボットが原点復帰したときのロボットの形と,命令を送った後のロボットの形を表せるようにします。原点復帰したときのロボットの形を図5に示します。

図5
図5

ここでは線画で表すことを考えていますので,各軸の端点を割り出すことになります。ここでは各軸の端点をa0,a1(A軸),b0,b1(B軸),c0,c1(C軸)としています。

端点を決めましたので,あと考えることはA軸,B軸,C軸を運結して各座標軸に沿って直線運動をすることです。図から見てわかるように各軸は範囲を持った一定の1次関数上を連動することになります。この関数上に端点をとり,最後に画面上でのx座標,y座標で表せば画面上に線画を描くことができるようになります。まず,端点を次のように決めます。

a0=(a0x,a0y),a1=(a1x,a1y)

b0= (b0x,b0y),b1=(b1x,b1y)

c0=(c0x,c0y),c1=(c1x,c1y)

すると各端点の座標は次のようになります。

a0x=320,a0y=300

a1x=320+185cos30°=480.21

a1y=300-185sin30°=207.50

b0x=320+Acos30°

b0y=300-Asin30°

b1x=320+Acos30°

b1y=300-Asin30°-185

c0x=320+Acos30°+Ccos30°

c0y=300-Asin30°+Csin30°-B

c1x=320+Acos30°-185cos30°+Ccos30°

c1y=300-Asin30°-185sin30°+Csin30°-B

ここでA,B,Cは各軸に対する移動量を表しています。

あとはこれをプログラムで記述することになります。ここでもBASIC言語を使って描画しました。

3.4 3年目7)

3年目は3.2節で述べた1年目の成果であるD-Hコンベンションを理解してもらい,2年目に使った直交3軸のロボットを対象物として,これをCRT上でシミュレーションを行うことを目的にしました。また,これまでは使用言語としてBASICを使ってきましたが,ここではC言語に変更をしました。ですから,学生にとってはこのC言語自体もハードルとなったことでしょう。

ここでは2年目の線画とは異なり各軸を直方体で表し,さらにペイントを行うことにしました。

それでは直交3軸ロボットの座標系を図6に示します。

図6
図6

図のように直交3軸のロボットに対して各関節において座標系をとり,直交3軸のロボットにD-Hコンベンションを適用します。D-Hリンクパラメータは表2のようになります。

表2
表2

これより同時変換行列はのようになります。

次

これをもとに各座標系の原点をべース座標系から見た位置座標に変換することができます。

あとは各軸を直方体で表し,3次元のものを2次元に投影し,陰線処理等を行ってコンピュータの画面上での簡易的なシミュレーションを行うことができました。

4.おわリに

このように卒業製作の1つとして運動学を考えてきました。年々内容的にも向上しており,今後に期待しています。他の卒業製作も内容が充実してきましたら,何らかの形で報告したいと考えています。今後も少なくとも学生にとって励みになるような卒業製作ができたらと考えています。

おわりに,当校機械システム系講師遠藤和芳氏,中田英次氏には有益な助言をいただき誠にありがとうございました。また,仙台電波工業高等専門学校電子制御科講師熊谷和志氏には在籍時に有益なご指摘をいただき誠にありがとうございました。

〈参考文献〉

  1. 1)中村仁彦:ロボット工学入門シリーズV〈制御理論〉
    Chapter3「Manipulator Kinematics」.
  2. 2)唐糸芳和:「機械とその運動について」第1報,平成5年度卒業論文.
  3. 3)Denavit,J.,Hartenberg,R.S.:A kinematics Notation for Low-Pair Mechanisms Based On Matricss,Trans ASME,Journal of Applied Mechanics (June1955), 215-221.
  4. 4)Paul,R.P.et al.:Kinematic Control Equation for Simple Manipulators,IEEE Trans.on SMC-11,6(June1981),456-460.
  5. 5)吉川恒夫(訳):ロボットマニピュレータ,コロナ社
  6. 6)小野寺大・杉澤茂則:「機械とその運動について」第3報,平成6年度卒業論文.
  7. 7)戸羽貴寛:「機械とその運動について」第4報,平成8年度卒業論文.
ページのトップに戻る