目次

10. C++(DLL)でのプログラム開発

概要

 Go Simulation!ではロボットやステージのモーションを独自のスクリプト言語でプログラムすることが可能ですが、スクリプトの他にもDLL(Dynamic Link Library)でプログラムを作成することも可能です。
DLLはC/C++で記述することになるので、これまでに開発したライブラリ等の資産を活用することが出来ます。
 本章ではこのDLLでプログラムする方法について解説します。

構成

 Go Simulation!とDLLの関係を図 10-1 に示します。マニュアル本編で解説してありますように、Go Simulation!上でロボットのプログラム(スクリプト)はmain.txtに書くようになっています。このmain.txt内で、関数dll_run( )を使用することでDLLをロードし実行されます。この図の例ではhoge.dllをロードし実行されます。

 Go Simulation!とDLLの間では図のように双方向にデータをやりとりしており、制御アルゴリズム(フィードバック制御等)をDLL内に記述することが可能です。
 DLLはC/C++で記述することが出来ますので、通常のプログラムと同じようなこと、例えばファイル入出力や、Win32APIも使用可能です。
 Go Simulation!とDLLの通信は同期をとっているため、データの取りこぼしが生じません。そのため制御アルゴリズムの開発に適しています(そのため、DLLのプログラムが重くなるとシミュレーション全体の速度も遅くなるので注意してください)。


図 10-1 Go Simulation!のDLLの関係

DLLプログラムのサンプル

DLLプログラムの具体的開発方法は下記の掲示板に資料をまとめています。
サンプルプログラムをもとに解説しておりますので、ご活用ください。

テクノロードの掲示板から、
http://techno-road.com/board.html
Go Simulation! ロボットデータ→C++(dll)でのロボットプログラム開発