計測自動制御学会東北支部 第 242 回研究集会 (2008.5.13)
資料番号 242-1

ロボットアームシミュレーションの実時間実行のための設計と実装の検討
Design and Implimentation of Robotic Arm Simulation
for Real Time Execution○齊藤圭 ∗ ，佐藤宏明 ∗ ，高津戸稔 ∗∗ ，田山典男 ∗ ，○ Kei Saitou∗ , Hiroaki Satou∗ , Minoru Takatuto∗∗ , Norio Tayama∗ ,*岩手大学 ，**三菱電機*Iwate University , **Mitsubishi Electric
キーワード : シミュレーション (Simulation)，ロボットアーム (Robottic Arm)，実時間実行 (Real Time
Execution)，オブザーバモデル (Observer Model) HILS (Hardware in the Loop Simulation)，

連絡先 : 〒 020-8551 盛岡市上田四丁目 3–5 岩手大学 工学部 電気電子工学科 田山・佐藤研究室
佐藤宏明，Tel.: (019)621-6392，Fax.: (019)621-6392，E-mail: hsato@iwate-u.ac.jp

1.

はじめに自動車業界がこれを積極的に導入している．本研究室でも HILS を用いて，よりスムーズかつ確実に様々な制御システムにおいて，電子制御は必須となっている．その設計と開発において，システ要素ごとの機能を考えた開発を行っていくためのシミュレーション環境の構築を目指している 1) ．

ム中の機能が複雑に連携しているために，機能要素ごとの開発が非常に困難かつ複雑化している．
そのような複雑な制御システムを効率的かつ信頼性のあるものとして開発するため，システムを動作させながら常にターゲットの状況を把握し，リ

本稿では，本研究室で開発した HILS 装置の概要と，このシステム上に多関節ロボットアームをターゲットとして作成したシミュレーションモデル，及び現在考案中のシミュレーションモデルの高速化の手法について述べる．

アルタイムに修正が可能な開発環境が要求されている．
従来，シミュレーション環境による装置開発は，

2.

HILS実験環境とターゲットシステム

2.1

HILS 実験環境宇宙空間のように装置の開発段階で実機を使用環境へ持ち込むことが困難である場合などで用いられている．近年では制御対象とそのシミュレーションモデルを同時に動かして観測する HILS (Hard-ware in the Loop Simulation) という技術が発展し，本研究の HILS 実験環境について説明する．計測
制御環境には dSPACE 社の CPU ボード DS1103 と，計測用ソフトウェアControl Deskのセットで構成さ–1–Fig. 2
Fig. 1

Control Desk

DS1103

れる統合計測環境を用いている．dSPACE は Mat-labで作成したモデルをReal-Time Workshop(Simlinkで作成したモデルをＣコードなどに変換できるMatlab内のツール)によってネイティブなプログラムコードに変換し，CPU ボード上のプロセッサのプログラムとして実装し，計測制御を行うことができるハードウェア環境である．DS1103はFig. 1に示すようなdSPACE社製のシングルボードコンピュー

Fig. 3タの一つで，演算用CPUや信号入出力用AD/DAコンバータ，周波数発信機などを備えている．Con-trol Desk は Fig. 2 のようなユーザーが任意に計測

MOVE MASTER RV-M1

御方式は PTP 位置制御方式で動作している．

用 GUI を設計できるソフトウェアである．

2.2

3.

シミュレーションモデルの構成

3.1

シミュレーションモデルの概要

シミュレーションターゲット

Fig. 4 にシミュレーションモデルを示す．シミュ

シミュレーションターゲットを Fig. 3 に示す．三レーションモデルの作成にはMath Works社のMat-菱電機製 MOVE MASTER RV-M1(５自由度多関lab/Simulink 環境にシームレスに統合されている節型ロボットアーム) を用いている．このターゲッ

SimMechanics ToolBox を用いている．Simulink は

トは５つの関節それぞれが相互に影響しあっていMatlab 内でシステムのモデリングや数値計算をブるため，複雑な動作になるのでシミュレーションロック図表現で行うことができる対話型設計支援環境を実証するのに適していると判断した．駆動ツールである．SimMechanicsはSimulinkの中でも，方式はDCサーボモータによる電気サーボ駆動，制ボディやジョイントなどのメカニカルなコンポー–2–

(永久磁石モータのため界磁一定：if = If = 一定)
ここで，Kt：モータトルク定数，θ(t)：回転角度，

ω(t)：回転角速度，TL (t)：負荷トルク，Jm ：慣性モーメント，ia (t)：電気子電流，if (t)：界磁電流，

Dm：モータ粘性抵抗，p：極対数，φ(t)：界磁磁束，
M ：電気子巻線と界磁巻線間の相互インダクタン
Fig. 4シミュレーションモデル

スである．

3.3

電気系のシステムブロック(3.2) 同様に界磁を一定とすると，キルヒホッフの法則より次式の関係を得る．

Ladia (t)+ Ra ia (t) = v(t) − ei (t)dt(3)

ここで，v(t)：直流印加電圧，Ra ,La：電気子巻線及び回路の全抵抗と全インダクタンスである．逆起電力は次式で表現される．

ei (t) = pM if (t)ω(t) = Ke ω(t)Fig. 5(4)DC サーボモータの等価回路図
ここで，Ke ：逆起電力定数である．

ネントをブロック図表現したツールボックスである．シミュレーションモデルはロボットアームを4.

テム表現

ジョイントと剛体リンクの要素の集合とみなし，ジョイントと剛体リンクが一組になって構成されシミュレーションモデルのシス

4.1

状態空間表現によるシステム表現

2)ているマルチボディモデル表現 として構築され現代制御論の状態空間表現に基づいてロボットている．

アームのシステム表現を行った 3) ．状態空間表現

3.2

は内部信号の微分方程式である状態方程式と出力機械系のシステムブロック方程式とで記述される 4) ．状態方程式を式 (5) に、まず DC サーボモータの運動方程式を導出する．

出力方程式を式 (6) に示す。

DC サーボモータの等価回路を Fig. 5 に示す．機械系においてはニュートンの法則に従って，以下の式で表される．
 dθ(t) = ω(t)dt Jm dω(t) + Dm ω(t) = Tg (t) − TL (t)dt(1)

Tg (t) = pM if (t)ia (t) = Kt0 φ(t)ia (t) = Kt ia (t)(2)ẋ(t) = Ax(t) + Bu(t)(5)y(t) = Cx(t) + Du(t)(6)

ここで，x(t)：システムの内部信号，u(t)：操作量，dx(t)を指す．また，
y(t)：制御量を表し，ẋ(t) =dt
A：ｎ×ｎ行列，B：ｎ×１ベクトル，C ：１×ｎベクトル，D：スカラーである．このモデルにお–3–

いては x(t)，ẋ(t)，A，B ，C ，D，はそれぞれ以下のようになる．

 
x1
θ(t)
 x2   θ̇(t)     x(t) =  x3  =  θm (t)   
 x4   θ̇m (t) x5ia (t) θ̇(t)ẋ1
 ẋ2   θ̈(t)     ẋ(t) =  ẋ3  =  θ̇m (t)    ẋ4   θ̈m (t) i̇a (t)
ẋ5


0

 −N Kg
 J1


A= 0
 N Kgjm

0

1000−Dg
J1N KgJ10000001−KgJm
KeRa T m−Dm
Jm
−1Tm

0 
0 
Kt B=

0000JmFig. 6J2 軸のジョイントブロック

Fig. 7モータの内部ブロック図1Ra Tm

C = [11110]

D=0
ここで，N：ギヤ数，kg：ギヤトルク定数，Dg：ギ
ヤ粘性抵抗，Jl ：負荷モーメント，Ra ：電気子抵抗，Tm ：モータ時定数である．Fig. 6 に状態方程式に基づいて作成した J2 軸のジョイントブロックを，Fig. 7 に内部のモーターブロックを示す． また、Fif. 8 にこのモデルとロボットアームの J2 軸を動作させたときの信号を比較した結果を示す．モデルとロボットアームの動作は一致しなかった. これはロボットアームの動作信号と物理モデル内のパラメータの組み合わせの違いによるものだが，モデル内のパラメータはこれ以上調べることができない．そこで，オブザーバを用いて内部状態を–4–Fig. 8状態空間表現モデルの動作結果

推定することでモデルの精度を向上させることを試みた．

4.2

全状態観測器式 (5)のような状態方程式の状態量をすべて推定する観測器を状態観測器と呼ぶ．全状態観測器の式を求める．まず，式 (5) と同じ特性を持つ物理モデルをつくり，それを操作信号 u(t) で動作させたとする．

dx̂(t)= Ax̂(t) + Bu(t)dt(7)

このとき推定状態量を x̂としてx(t)に一致するような特性を持つか考える．それには，誤差e(t) = x̂(t) − x(t)(8)が 0 に収束するかどうかを考えればよい．そこで，
式 (5) から式 (7) を引くことで次のような誤差方程式を得る．

de(t)
dt

=dx̂(t) dx(t)
−dt
dt

=

Ax̂(t) + Bu(t) − Ax(t) − Bu(t)=Ae(t)

Fig. 9 オブザーバモデルを実装した軸のシステ
ムブロック

よって、行列 (A − LC) によって誤差が収束することがわかる．(C, A) が可制御であれば，L の固有値(9)は誤差方程式

この推定誤差の動特性は，元のシステムの動特性

e(t) = exp(A − LC)e(0)(12)と同じ振る舞いをする．ここで，オブザーバの動特性を改善し推定精度を向上するために，オブザーの解として求めることができる 5) ここで行列 (A −バの出力 ŷ と系の出力 y(t) の差をフィードバックすLC) の固有値の実部がすべて負であれば，この誤ることを考える．

差方程式は任意の初期状態に対して誤差は 0 に収dx̂(t)dt

束する6) ．こうして求めたオブザーバゲイン Lを実=Ax̂(t) + Bu(t) − L(C x̂(t) − y(t))=(A − LC)x̂(t) + Ly(t) + Bu(t) (10)

装した物理モデルの軸の部分を Fig. 9 に示す．まここで，L：ｎ×ｍ行列はオブザーバのフィード

た，このモデルを用いて実機のロボットアームとの信号比較した結果を Fig. 10〜Fig. 13 に示す．
物理モデルとロボットアームの信号がほぼ一致バックゲイン行列である．式 (8)，式 (9) で求めたよ

していることがわかる.

うに，誤差の動特性を求める．

de(t)
dt

=

ˆ − ẋ(t)ẋ(t)=(A − LC)x̂(t) + LCx(t)+Bu(t) − Ax(t) − Bu(t)=(A − LC)[x̂(t) − x(t)](11)–5–Fig. 13Fig. 10

J4 軸 π/2[rad] 動作時の変位

J1 軸 0[rad] 動作時の変位]

5.

シミュレーションモデルの高速化の手法

5.1

シミュレーションモデルの高速化

オブザーバを用いることでシミュレーションの動作が誤差の少ないものになった．しかし，現在のモデルを動かすサンプリング周期は 0.01[sec] であり，HILSの目的である実機では再現困難な現象の再現及びその解析をするにはサンプリング速度が遅い．
具体的には，数百ヘルツの運動の動作解析を目指しているので，サンプリング周期が 0.001[sec] 程度になるようにしたいと考えている．そこで，サンFig. 11J2 軸 π/2[rad] 動作時の変位

プリング速度を高速化したシミュレーションモデ
ルの開発を現在行っている．

5.2

タスク分割モデルを高速化する手段としてタスク分割によるサイクルタイムの短縮を考えた．dSPACE 環境
では，複数タスク間における割り込み処理を解決する方法として，タスクをサイクルタイムによって分割して優先度の高いタスクを先に行い，優先度の高いタスクの処理し終わった情報を優先度の低い後のタスクでバッファして用いるということ

Fig. 12J3 軸 π/2[rad] 動作時の変位ができるようになっている．このことを利用して，Fig. 14 に示すように現在のモデルのジョイント部
分 J1〜J5 のタスクを分割し，そのタスクを並列に–6–Fig. 15
ロック
Fig. 14

開発したモデルの J1 軸のジョイントブタスク分割のイメージ

参考文献
並べる事でサイクルタイムを高速化することを考えた．このマルチボディモデル表現のモデルではJ2〜J5はそれぞれ前のジョイントから位置や角度，角速度などの情報を継承しなければならないが，直前のジョイントの１サイクル前の情報をバッファして用いることで並列計算が可能にできると考えた．開発したモデルの J1 軸を Fig. 15 に示す．

6.

1) 池田，高津戸他:シミュレーションによるシステム制御装置の最適設計，電気関係学会東北支部連合
大会 ，1F4 (2003)
2) Giles D. Wood 他:Simulating Mechanical Systems
inSimulink
with
SimMechanics，
http://www.mathworks.com/matlabcentral/(2003)
3) 佐藤， 高津戸他 :マルチボディモデルによる多関節ロボットアームのシミュレーション設計法，情報科学技術フォーラム，C-023，233/236，(2005)
4) 井上和夫: MATLAB/Simulink によるわかりやす
い制御工学，159/165，森北出版 (2001)5) 野波建造：ＭＡＴＬＡＢによる制御理論の基礎，
175/187，東京電機大学出版局 (1998)

まとめと今後の課題

本研究ではシステム開発のためのシミュレーション環境を構築するために，シミュレーションモデルを状態空間表現用いて構築し，オブザーバを利用することでその精度を向上させた．
今後の課題としては，シミュレーションモデルの高速化の手法として現在試しているタスク分割の方法をモデルに繰み込み，実装できるようにすること．また，モデルを他の制御方法で構築することで高速化できないか検討することなどが挙げられる．

–7–6) 高津戸 稔:多関節ロボットアームのシミュレーションのための計測制御装置に関する研究，修士学位
論文，74/77 (2006)