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が通信出来ていることが分かります。