【CoppeliaSim】远程 API 之 Python 控制,对比 V-rep 有些不同
關(guān)于與 Python 的連接請參考文章:【CoppeliaSim】遠程 API 之 Matlab 控制,對比 V-rep 有些不同
文章目錄
- 1. 新建工程文件夾
- 1.1 sim.py
- 1.2 simConst.py
- 1.3 remoteApi.dll
- 2. 配置 CoppeliaSim/V-Rep 工程
- 3. 配置 Python 腳本
- Mac
1. 新建工程文件夾
需要使用遠程 Remote 時需要一些必備的文件,分別有 sim.py(原vrep.py),simConst.py(原vrepConst.py),以及 remoteApi.dll 這三個基本文件。下邊分別記錄一下它們的所在位置,開發(fā)新的工程時建議將這三個文件拷貝出來,統(tǒng)一放置在你的工程文件夾下。
我的 CoppeliaSim,也就是 V-rep,是默認路徑安裝,你們?nèi)羰窃诎惭b時更改了路徑,那就先找到安裝文件夾,之后模仿著找到自己的文件。
1.1 sim.py
C:\Program Files\CoppeliaRobotics\CoppeliaSimEdu\programming\remoteApiBindings\python\python
1.2 simConst.py
C:\Program Files\CoppeliaRobotics\CoppeliaSimEdu\programming\remoteApiBindings\python\python
1.3 remoteApi.dll
C:\Program Files\CoppeliaRobotics\CoppeliaSimEdu\programming\remoteApiBindings\lib\lib\Windows
最后的文件夾結(jié)構(gòu)如下:
2. 配置 CoppeliaSim/V-Rep 工程
-- The main script is not supposed to be modified, except in special cases. require('defaultMainScript') simRemoteApi.start(19999)3. 配置 Python 腳本
import sim sim.simxFinish(-1) clientID = sim.simxStart('127.0.0.1', 19999, True, True, 5000, 5) if clientID != -1:print("Connected to remote API server!") else:print("Failed connecting to remote API server") sim.simxGetPingTime(clientID)ret, targetObj = sim.simxGetObjectHandle(clientID, 'Quadcopter_target', sim.simx_opmode_blocking) ret, arr = sim.simxGetObjectPosition(clientID, targetObj, -1, sim.simx_opmode_blocking) if ret==sim.simx_return_ok:print(arr) sim.simxSetObjectPosition(clientID, targetObj, -1, (arr[0], arr[1]+0.5, arr[2]), sim.simx_opmode_blocking)sim.simxFinish(clientID)詳細代碼解釋請參考CoppeliaSim(原V-REP)新手上路,畢竟人家都寫的很詳細了,我也是參考作者的文章。如果把文章內(nèi)容直接復制過來太不地道了,所以想看的麻煩轉(zhuǎn)到作者博客下吧。
最終效果如下。
Mac
Ref(倒序):
V-rep 教程
CoppeliaSim(原V-REP)新手上路
V-rep遠程API控制之Python系列(1):位置控制模式
總結(jié)
以上是生活随笔為你收集整理的【CoppeliaSim】远程 API 之 Python 控制,对比 V-rep 有些不同的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Matlab】解个微分方程
- 下一篇: 【Arduino】Nano功能引脚 PW