Next: 2 ベクトル行列計算
Up: ソフトウェア特論 講義資料 ロボットのソフトウェア
Previous: ソフトウェア特論 講義資料 ロボットのソフトウェア
ROBODEXなど2000年ごろからロボットの展覧会が開かれる時代になり,
ロボットの行動を生成し,その行動を実行制御するシステム,ロボットの
応用プログラムなど今後ますますロボットのソフトウェアをどのように
構成してゆくかは重要なテーマとなりつつあります.
知能ロボットの研究分野において開発されてきていた
幾何モデル機能を持ち,拡張性のあるLisp
言語Euslispについて以下で紹介をします.
Euslispは,工業技術院電
子技術総合研究所(現産業技術総合研究所)で,事情通ロボットの開発を行った
松井俊浩氏により開発された言語です.
1987年ころから,環境やロボットのソリッドモデルを記述する
ことができる言語で,記号処理や推論機能を
記述する人工知能の研究成果を導入でき,
ネットワークや通常のC言語などの計算ライブラリも利用して,
拡張性の高いシステム開発用言語が必要ということで,
対話型リスト処理言語であるLispの言語機能を中核に
おいてオブジェクト指向機能をもたせた言語として
開発されました.
この言語Euslispは,
http://www.etl.go.jp/
matsui/eus/euslisp.html
からSunOS(Solaris), Linux用の処理系をダウンロードすることができます.
また,2000年には,現在産業技術総合研究所でHRP2ロボットの転倒復帰行動実験
を成功させてきている金広文男氏により,Windows用に移植されました.
http://www.jsk.t.u-tokyo.ac.jp/
kanehiro/eusforwin.html
Euslisp はオブジェクト指向機能の上でリスト処理などを実現している
Lisp言語です.Lispの上にオブジェクト指向機能を実現するのではな
くて,オブジェクト指向機能の上でLispの基本データであるconsなども実現し
ているという形になっています.
たとえばconsセルもクラスになっているため,リストのコンスにもメソッ
ドを定義することが可能です.このようにLispの組み込みデータオブジェクト
もクラスとして取り扱える機能があると,ファイルなどのストリームの下位ク
ラスにネットワーク通信用(たとえばソケット通信など)のストリームを拡張
して定義することができ,一般のストリームと同じメソッドを使えるようにな
ります.
- Common Lispに近い
レキシカルスコープ、パッケージ、シーケンス、キーワード引数、etc.
- Common Lisp非互換
複素数、永続的クロージャ、CLOS
- 拡張機能
幾何計算、グラフィックス、ウィンドウ、マルチスレッド、 Unix、ネットワーク、他言語インタフェース
- 特徴的な実装技術
フィボナッチバディメモリ管理、定コスト型判別、
- 移植性 Cにコンパイル、SunOS4, SunOS5, OSF/Alpha, IRIX/SGI, Linux/PC, Windows/PC
generated through LaTeX2HTML. M.Inaba 平成18年5月6日