0
点赞
收藏
分享

微信扫一扫

【CoppeliaSim】远程 API 之 Python 控制,对比 V-rep 有些不同


关于与 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​​ 这三个基本文件。下边分别记录一下它们的所在位置,开发新的工程时建议将这三个文件拷贝出来,统一放置在你的工程文件夹下。

我的 CoppeliaSim,也就是 V-rep,是默认路径安装,你们若是在安装时更改了路径,那就先找到安装文件夹,之后模仿着找到自己的文件。

1.1 sim.py

​C:\Program Files\CoppeliaRobotics\CoppeliaSimEdu\programming\remoteApiBindings\python\python​

【CoppeliaSim】远程 API 之 Python 控制,对比 V-rep 有些不同_新建工程

1.2 simConst.py

​C:\Program Files\CoppeliaRobotics\CoppeliaSimEdu\programming\remoteApiBindings\python\python​

【CoppeliaSim】远程 API 之 Python 控制,对比 V-rep 有些不同_工程文件_02

1.3 remoteApi.dll

​C:\Program Files\CoppeliaRobotics\CoppeliaSimEdu\programming\remoteApiBindings\lib\lib\Windows​

【CoppeliaSim】远程 API 之 Python 控制,对比 V-rep 有些不同_matlab_03

最后的文件夹结构如下:

【CoppeliaSim】远程 API 之 Python 控制,对比 V-rep 有些不同_lua_04

2. 配置 CoppeliaSim/V-Rep 工程

【CoppeliaSim】远程 API 之 Python 控制,对比 V-rep 有些不同_matlab_05

-- The main script is not supposed to be modified, except in special cases.
require('defaultMainScript')
simRemoteApi.start(19999)

【CoppeliaSim】远程 API 之 Python 控制,对比 V-rep 有些不同_lua_06

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)新手上路​​,毕竟人家都写的很详细了,我也是参考作者的文章。如果把文章内容直接复制过来太不地道了,所以想看的麻烦转到作者博客下吧。

最终效果如下。

Mac

【CoppeliaSim】远程 API 之 Python 控制,对比 V-rep 有些不同_工程文件_08

【CoppeliaSim】远程 API 之 Python 控制,对比 V-rep 有些不同_新建工程_09

Ref(倒序):

​​V-rep 教程​​

​​CoppeliaSim(原V-REP)新手上路​​

​​V-rep远程API控制之Python系列(1):位置控制模式​​



举报

相关推荐

0 条评论