remoteAPI

シミュレータを外部プロセスから操作するためのAPIです。coppeliaSimのver4.4で新しくなり、ZeroMQを使ったAPIとなったようです。

とりあえず指示通りにパッケージをインストールします。

$ /path/to/python -m pip install pyzmq

$ /path/to/python -m pip install cbor

それから環境変数の設定を行います。Windowsの場合を示します。デフォルトでのインストールの場合のpathになります。

set PYTHONPATH=C:\Program Files\CoppeliaRobotics\CoppeliaSimEdu\programming\zmqRemoteApi\clients\python

これでZeroMQのチェックを行います。CoppeliaRoboticsのページにある通り、下記のスクリプトを試してみます。

client = RemoteAPIClient();

sim = client.getObject('sim');


client.setStepping(true);


sim.startSimulation();

while true

t = sim.getSimulationTime();

if t >= 3; break; end

fprintf('Simulation time: %.2f [s]\n', t);

client.step();

end

sim.stopSimulation();

CoppeliaSimを立ち上げた状態で、このスクリプトを走らせます。すると、

Simulation time: 0.00 [s]

Simulation time: 0.05 [s]

Simulation time: 0.10 [s]

・・・・・・

Simulation time: 2.95 [s]

Simulation time: 3.00 [s]

のように3秒間、CoppeliaSimとやり取りした様子が表示されます。CoppeliaSimの方では、

[sandboxScript:info] Simulation started.

[sandboxScript:info] simulation stopping...

[sandboxScript:info] Simulation stopped.

のように表示されています。このようにPythonファイルとCoppeliaSimが通信出来ていることが分かります。