SciPyを用いたロボット制御用RTコンポーネント

SciPyを用いたロボット制御用RTコンポーネント
立命館大学 理工学部 ロボティクス学科
宮本 信彦
今回作成したコンポーネント

SciPyを用いた制御コンポーネント

冗長マニピュレータの軌道生成コンポーネント
+単純な制御コンポーネント


強化学習コンポーネント(非公開)
シミュレータ

3D描画コンポーネント

物理計算コンポーネント

モデル読みこみコンポーネント

モデル作成コンポーネント
SciPyの機能

統計

最適化

積分

線形代数

フーリエ変換

信号処理

ODE
MatLabライクなプログラミング
例:
from Numeric import *
from scipy import *
from scipy import linalg
x = array([ [2.8, 2.0, 3.0], [0.0, 2.0, 1.0], [1.0, 0.0, 5.0] ])
y = array([ [3.0], [1.0], [5.0] ])
z = dot(x,y)
answer = linalg.pinv(z)
# 内積
# 疑似逆行列
結果:
answer = array([[0.01718353, 0.00473562, 0.0189447]])
軌道生成用コンポーネント

アクティブになった瞬間計算。
→終了時間までのデータをまとめて出力

終了時間,目標位置はコンフィグレーション変数

リンクパラメータはテキストファイル
軌道生成アルゴリズム

躍度最小モデル
(2.8, 0.0, 0.0) → (1.0, 1.0, 0.0)
5.0秒後
軌道生成アルゴリズム
制御コンポーネント
という単純な制御(テスト用)
→ユーザーが作成
接続例
難点

読み込むのに時間が
かかる。
難点

サンプリング時間が小さくなり,データが大量になり
すぎると時間がかかる。
ただし、アクティブになった瞬間計算するため、アームの動作中に
遅くはならない。
強化学習コンポーネント


線形モデル最小二乗法による政策反復アルゴリズ
ム
参考:強くなるロボティックゲームプレイヤー(著者:杉山将他,出版:毎日コ
ミュニケーションズ,2008)
強化学習コンポーネント

線形モデル最小二乗法による政策反復アルゴリズ
ム


行動パターンの設定
基底関数の設定
シミュレータ

3D描写のコンポーネント

物理計算のコンポーネント

モデル読み込みのコンポーネント

モデル作成のコンポーネント
3D描写のコンポーネント

PyOpenGL, GLUT, Pygameを使用
物理計算コンポーネント
ODEを使用
モデル読み込みコンポーネント

テキストから読み込み
接続例
コントローラの接続

物理計算コンポーネントと接続
全て接続
シミュレーション
モデル作成コンポーネント

データをDOSウィンドウから入力
3D描画コンポーネントと接続

物体を描画しながら,モデル作成.
シミュレータの問題点

インストールしなければならないソフトウェアが多い

そもそも,Python自体がマイナー.
終わりに



SciPyを用いた冗長マニピュレータの軌道生成コン
ポーネント
Scipyを用いた強化学習コンポーネント(非公開)
ODE,Pygame,PyOpenGL,GLUTによるシミュレー
タ
展望


SciPyの他のモジュールを使用したコンポーネント
の作成
OpenHRP3への対応