vrep Remote python API 自学笔记,不定期更新。

vrep Remote API

1.simxAddStatusbarMessage 向状态栏添加一条信息
simxAddStatusbarMessage(number clientID,string message,number operationMode)
2.simxAuxiliaryConsoleClose 关闭辅助控制台窗口
simxAuxiliaryConsoleClose(number clientID,number consoleHandle,number operationMode)

consoleHandle: 控制台窗口的句柄

3.simxAuxiliaryConsoleOpen 打开辅助控制台窗口以显示文本
simxAuxiliaryConsoleOpen(number clientID,string title,number maxLines,number mode,array position,array size,array textColor,array backgroundColor,number operationMode)

maxLines: 可以显示和缓冲的文本行数

4.simxSetJointTargetVelocity 设置非球形关节的固有目标速度。 该命令仅在关节模式处于扭矩/力模式时才有意义:必须启用动力学功能和关节电动机(但是应禁用位置控制)
simxSetJointTargetVelocity(number clientID,number jointHandle,number targetVelocity,number operationMode)

jointHandle: 关键的句柄(ex:wheelJoints[0])
targetVelocity:关节的目标速度(线速度或角速度,取决于关节类型)
operationMode:远程API函数操作模式。此功能的建议操作模式为simx_opmode_oneshot或simx_opmode_streaming
oneshot/streaming 工作模式单帧/连续

5.simxGetObjectHandle 根据名称检索对象句柄
simxGetObjectHandle(number clientID,string objectName,number operationMode)

opmode建议为 vrep.simx_opmode_oneshot_wait

返回值:【0】:returnCode

​ 【1】:handle

6.simxGetVisionSensorImage 检索视觉传感器的图像。
vrep.simxGetVisionSensorImage(clientID,visionSensorHandle,0,vrep.simx_opmode_streaming)
time.sleep(0.5)    #初始化视觉传感器

【0】returnCode

【1】图片解析度(x,y)

【2】图片数据

7.一般用在开头防止之前有连接出现错误
simxFinish(-1)
8.simxStart 启动与服务器(即CoppeliaSim)的通信线程。

启动与服务器(即CoppeliaSim)的通信线程。 同一客户端可以启动多个通信线程(但对于给定的IP和端口,只能启动一个通信线程)。 这应该是在客户端调用的第一个远程API函数。 确保在服务器端启动适当的远程API服务器服务,该服务将等待连接。 另请参见simxFinish。 这是一个远程API帮助程序功能。

clientID = vrep.simxStart('127.0.0.1',port,True,True,5000,5)
if clientID != -1 :
    print("连接成功")
else:
    print("连接失败")
    sys.exit('无法连接')
9.simxReadProximitySensor 读取接近传感器状态
simxReadProximitySensor(number clientID,number sensorHandle,number operationMode)

return values: [0] ***returnCode***不同的数字有不同的含义。

​ [1] 检测状态。

​ [2]检测到的点坐标(相对于传感器参考系)

​ [3]检测到的对象句柄。

​ [4]检测到表面的法线向量(相对于传感器参考系)

10.returnCode

simx_return_ok(0)
该函数执行得很好
simx_return_novalue_flag(1(即位0))
输入缓冲区中没有命令答复。 取决于所选择的操作模式,不应总是将其视为错误。
simx_return_timeout_flag(2(即位1))
该功能超时(可能是网络关闭或速度太慢)
simx_return_illegal_opmode_flag(4(即位2))
给定功能不支持指定的操作模式
simx_return_remote_error_flag(8(即位3))
该函数在服务器端导致错误(例如,指定了无效的句柄)
simx_return_split_progress_flag(16(即位4))
通信线程仍在处理相同类型的先前拆分命令
simx_return_local_error_flag(32(即位5))
该函数在客户端导致错误
simx_return_initialize_error_flag(64(即位6))
simxStart尚未被调用

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中使用b0 remote api与V-REP交互的步骤如下: 1. 安装b0库:可以通过以下命令在终端中使用pip安装b0库: ``` pip install pyzmq ``` 2. 下载V-REP提供的b0 remote api文件,并将其解压缩到任意目录中。 3. 在Python脚本中导入b0库和需要使用的V-REP远程API函数。例如: ```python import time import zmq import vrep context = zmq.Context() socket = context.socket(zmq.REQ) ``` 4. 连接到V-REP的b0 remote api服务器。例如: ```python socket.connect("tcp://127.0.0.1:19997") ``` 这里的IP地址和端口号应该与你在V-REP中启动的远程API服务器的地址和端口号相同。 5. 调用V-REP的远程API函数。例如: ```python # 获取物体句柄 res, obj_handle = vrep.simxGetObjectHandle(clientID, "object_name", vrep.simx_opmode_blocking) # 设置物体位置 res = vrep.simxSetObjectPosition(clientID, obj_handle, -1, [x, y, z], vrep.simx_opmode_blocking) ``` 在这个例子中,我们使用了V-REP提供的simxGetObjectHandlesimxSetObjectPosition函数来获取物体句柄并设置物体位置。需要注意的是,对于每个函数调用,我们都需要传递一个clientID参数,这个参数是在连接到V-REP的b0 remote api服务器时返回的。 6. 关闭与V-REP的连接。例如: ```python vrep.simxFinish(clientID) ``` 完整的Python示例代码如下: ```python import time import zmq import vrep # 连接到b0 remote api服务器 context = zmq.Context() socket = context.socket(zmq.REQ) socket.connect("tcp://127.0.0.1:19997") # 开始V-REP的远程API客户端 vrep.simxFinish(-1) clientID = vrep.simxStart("127.0.0.1", 19997, True, True, 5000, 5) if clientID != -1: print("Connected to remote API server") # 获取物体句柄 res, obj_handle = vrep.simxGetObjectHandle(clientID, "object_name", vrep.simx_opmode_blocking) # 设置物体位置 res = vrep.simxSetObjectPosition(clientID, obj_handle, -1, [x, y, z], vrep.simx_opmode_blocking) # 关闭与V-REP的连接 vrep.simxFinish(clientID) else: print("Failed to connect to remote API server") # 关闭b0 remote api连接 socket.close() context.term() ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值