研究論文

Scilab を用いたロボットシミュレーションモデルの構築
牧俊一＊１、酒井昌夫＊1

Development of Robot Simulation Model in Scilab
Shunichi MAKI *1 and Masao SAKAI *1
Industrial Technology Division, AITEC * 1
ロボットの研究開発や学習用途に利用するためのシミュレーションモデルの開発を行った。開発は、無料 で 利 用 で き る オ ー プ ン ソ ー ス の 数 値 計 算 ソ フ ト ウ ェ ア で あ る Scilab を 用 い て 行 っ た 。Scilab の グ ラ フ ィ
カ ル な 開 発 環 境 で あ る Scicos を 用 い て ア ク チ ュ エ ー タ の 視 覚 的 な モ デ ル を 作 成 し 、あ わ せ て モ デ ル の パ ラ
メータ調整を効率的に行うためのスクリプトファイルを作成した。シリアルロボットの動的なモデル設計を可能とする要素モデルを開発した。

１．はじめに以下に挙げるような特徴を持っている。

ロボットや自動車などのメカトロ機器は、製品仕様の・netlib（数値計算のためのライブラリを多数配布して複雑化によって、開発コストが問題視されてきた。近年、いる著名な国際サイト）などを使用した一定品質の数その解決手法として、モデルベース開発が注目されてい値計算ライブラリ群。

る。モデルベース開発とは、ハードウエアやソフトウエ・関数や変数の独自定義、C や Fortran などの外部言語

アで構成されるシステムをコンピュータ上に数式モデルの呼び出し、MATLAB や Maple（数式処理システム）として表現し、シミュレーションによってそのモデルをとの互換機能など、高い拡張性。

テスト・検証することを開発工程に取り入れて、コストの低減、開発期間の短縮を図る開発手法である。

・MATLAB の Simulink に対応する Scicos というグラフィカルなモデリング環境。

制御系のモデリングツールとして有名な数値計算ソフ

本研究では、OS の利用度の高さを考慮して Windows

トウェアに MATLAB/Simulink（Simulink は MATLAB

版の Scilab version4.0 を使用し、ロボットシミュレーシ上で動作するグラフィカルなモデリング環境）がある。

ョン用開発モデルは直感的な設計が可能な Scicos で動MATLAB/Simulink は、大企業や大学において多数の導作する GUI モデルとして作成した。以下、Scilab と入実績があるが、製品の価格や利用者の人材育成費など

Scicos を使ったモデリングの概要と本研究での役割につのコストが高く、利用したくとも導入が難しいという企いて述べる。

業の意見もある。

2.2 Scilab でのモデリング

そこで本研究では、無料のオープンソースソフトウェ

Scilab は、対象の数式モデル（伝達関数や状態方程式）アである Scilab に着目した。Scilab は MATLAB と互を Scilab の画面上（図１）に直接入力することで作成す換性のある諸機能、演算関数群を有しており、オープンる。作成したモデルに対する入出力、安定性の解析や制ソースの公開性や拡張性の高さを活かして、今後の発展御パラメータの最適化のための処理手法などが多数コマが期待される高性能なソフトウェアである。本研究では、ンドとして用意されている。一連のコマンドをスクリプ

ロボットの研究開発に用いることができるいくつかのモトファイルにまとめることで、バッチ処理をすることもデルを Scilab を使用して作成した。

できる。

1)

Scicos の GUI モデルから Scilab のコマンドが利用可

２．実験方法2.1 実験環境するコマンドが用意されており、本研究では、そのよう

Scilab は、INRIA(フランス国立コンピュータ科学・制御研究所)で作成された数値計算パッケージである。多くの UNIX 系システムや Windows(9X/2000/XP)で動作し、＊

1 工業技術部

能なだけなく、Scilab から GUI モデルに直接アクセス機械電子室（現基盤技術部）なコマンドを利用してモデルのシミュレーションの効率化を図った。

図１

図３

アクチュエータ

図４

制御ブロック図Scilab 画面

2.3 Scicos でのモデリング
Scicos は、ブロックダイアグラム（以下、ブロックと呼ぶ）を制御の流れにそってリンクで結合することで、制御モデルを設計することができるグラフィカルなモデリング環境である（図２）。Scicos を使ったモデリングは、Scilab 上で数式モデルを設計するよりも直感的に行えるだけでなく、連続系と非連続系が混在するシステムの設計に有効であり、ブロックとして用意された信号の入出力機能も豊富である。
本研究では既存のブロックを利用しつつ、ロボット開発のため GUI モデル（ブロック）を新規に作成した。

ブロック

図２

リンク

Scicos モデル

３．実験結果及び考察
3.1 アクチュエータモデルの作成
当研究所のリハビリ支援ロボットの開発で実際に使用しているアクチュエータの GUI モデルを作成した。アク図５

作成した Scicos モデル

表１

モデルのパラメータ

Kps

位置比例ゲインL

等価直流機インダクタンス

Ksp

速度比例ゲインR

等価直流機抵抗Ksi

速度積分ゲインKe

等価直流機電圧定数

Ki

電流比例ゲインKt

等価直流機トルク定数

Tl

負荷トルク

J

モータ軸換算イナーシャ

θ：位置 ω：角速度 i：電流 v：電圧 Te：発生トルク

チュエータはベース、ボールねじ、リニアガイドからなる

図５の破線で示したように、モデルは階層構造で表現

リニアアクチュエータ（図３）で、パルス列入力タイプのできる。同図にはコントローラの仕様に応じたソフトウコントローラで制御（PC を通じて制御パラメータの変更ェア上の減速比や簡易な負荷トルクのモデルが追加してが可能）されており、上位コントローラによる位置決め制あり、その動作シミュレーションの結果が、右下のグラ御が可能である。このアクチュエータに関する資料に記載

フに示されている。図６は、アクチュエータモデルに対されている制御ブロック図とパラメータを参照して、図４する一連のパラメータ調整手順を Scilab のスクリプトの制御ブロック図を設計しモデル化した 2) ものを図５のファイルとして作成し、実行した様子である。ダイアロ

上部に示す。また、各パラメータを表 1 に示す。

グによって入出力、制御パラメータの設定が行える。

図６

ダイアログによるパラメータ調整

3.2 アクチュエータモデルの考察
図７は、実機とモデルとのステップ応答の比較結果である。入力は 1000 パルスのステップ入力である。実際

図８

シリアルロボットの物理モデルには同図に示したように実機に与えるパルス入力は理想的なステップ入力にはならない。シミュレーションにおいても、実機と同様のパルス入力をモデルに与え、実機応答とモデル応答がほぼ一致する結果を得ている。

表２

要素モデルと設定パラメータ
Robot Base モデル

入力：運動（関節角、速度、加速度）・外力
出力：インデックス(０)Parameter
Base 位置（絶対座標）
Base 姿勢（絶対座標）

Joint&Link モデル
入力：インデックス(K)
出力：インデックス(K+1)
Parameter
図７

ステップ応答比較

Joint 左座標（絶対座標）
Joint 右座標（絶対座標）
Joint 姿勢（絶対座標）

3.3 シリアルロボットの要素モデルの作成
シリアルロボットの機構を 3 つの要素（ベース、ジョイント＆リンク、マニピュレータ）に分割してそのモデル化を行った。作成したモデル（以下、要素モデルと呼ぶ）を組み合わせるとシリアルロボットのモデルが構築できる。シリアルロボットの物理モデルを図８、作成したモデルとその入出力、設定すべきパラメータを表２に示す。ベースモデルに各関節の関節角、速度、加速度（以下、運動と呼ぶ）とマニピュレータにかかる外力を入力するとマニピュレータモデルから各関節に必要なトルクとマニピュレータの運動が出力される。モデル内部では各関節間の座標変換行列を計算して、ニュートンオイラー法による逆動力学計算を行っている。

質量
慣性モーメント
リンクの重心位置
Manipulator モデル
入力：インデックス(N = 自由度)
出力：関節トルク・マンピュレータの運動
Parameter
Work の外力作用位置

このモデルを使用して作成した 2 自由度のシリアルロボットのモデルを図９に示す。

図１０
図９

2 自由度ロボットのシミュレーションモデル

２自由度ロボットのシミュレーションモデル

ここで trk1 は図８の joint1 で発生すべきトルク、trk2は同図の joint2 で発生すべきトルクである。

3.4 シリアルロボットの要素モデルの考察
図８の矢印で示す時計回りの円運動（マニピュレータ示した。構築したシミュレーションモデルは妥当である

先端部が半径 0.5m の円を 2.5 秒で移動する）をモデルと考えられる。

両者のトルク出力はほとんど差がなく良好な一致をに与え、パラメータ値として表３に示す値を設定し、逆動力学解析を行う場合、ラグランジュ法では次のような式を導ける。

４．結び
本研究の結果をまとめると、以下のとおりである。
(1)アクチュエータの GUI モデルを作成し、機能を検証した。本モデルと実機の動作は良く一致しシステム開発に有効であることを確認した。また、シミュレーションを効率的に行うためのスクリプトファイルを開発した。
(2)逆動力学解析が可能なシリアルロボットの要素モデ

これを C 言語によってプログラム化した。シミュレー

ルを作成した。

ションモデルのトルク出力の妥当性を検証するために、

このコンポーネントモデルは理論上、最大 6 自由度ま図９のシミュレーションモデルの出力（トルク）と C 言でのシリアルロボットの逆動力学解析が可能であるよう語プログラムの出力の比較を行った結果が図１０であに作成したが 3)、現時点では 2 自由度以上のモデルにつる。

いては未評価である。今後、6 軸での評価に加え拘束条件を設定できるようにしたり、トルク入力による運動解表３モデルのパラメータ

パラメータ析が可能となるなどの機能拡張を目指す。また、インタ設定値ーフェース部の評価も含めて汎用的なモデルに発展させ

Link1 の長さ l11 (m)Link1 の重心位置 r10.5 (m)

作成したモデルは今後のロボット研究開発においてLink1 の質量 m15.0 (kg)利用し、ToolBox（拡張機能）としてまとめていく予定

Link1 の Z 軸周りの主慣性モーメント
Izz10.3(kg・m^2)て行きたい。

である。

Link2 の長さ l21 (m)文献

Link2 の重心位置 r20.5 (m)1）STEPHEN L.CAMPBELL ほか：Modeling and Simulation

Link2 の質量 m25.0 (kg)

Link2 の Z 軸周りの主慣性モーメントIzz2

in scilab/scicos，P12 (2003)，Springer2）杉本英彦，小山正人，玉井伸三：AC サーボシステム

0.3 (kg・m^2)の理論と設計の実際，P71 (2004)，総合電子出版社
3）高野政晴：ロボットの運動学，P87 (2004)，オーム社