成都微信网站开发,优化大师优化项目有哪些,做网站旅游销售,国内有多少家做网站的企业首先需要将使用Python远程控制的文件导入到文件夹#xff0c;核心是深蓝色的三个文件。 本版本为4.70#xff0c;其文件所在位置如下图所示#xff0c;需要注意的是#xff0c;目前不支持Ubuntu22的远程api#xff1a; 双击Sphere这一行的灰色文件#xff0c;可以看到远程…首先需要将使用Python远程控制的文件导入到文件夹核心是深蓝色的三个文件。 本版本为4.70其文件所在位置如下图所示需要注意的是目前不支持Ubuntu22的远程api 双击Sphere这一行的灰色文件可以看到远程 simRemoteApi 的串口号为19998当在Coppeliasim运行后后台会发布该串口可以利用Python进行远程控制。 import time
import numpy as np
import sys
sys.path.append(./VREP_RemoteAPIs/)
import sim as vrep_sim # 连接Coppeliasim
vrep_sim.simxFinish(-1) # 关闭掉其他的连接
while True:
# simxStart()函数的第一个参数是连接的IP地址第二个参数是端口号第三个参数是是否等待连接第四个参数是是否检查连接第五个参数是连接超时时间第六个参数是重连次数
# 返回的clientID是建立连接的ID可以理解为指向你的scene
client_ID vrep_sim.simxStart(127.0.0.1, 19998, True, False, 5000, 5)
# 根据返回的值来判断是否连接成功
if client_ID -1:
print(Connect to remote API server.)
break
else:
print(Failed connecting to remote API server! Try it again ...) # 打开同步模式
synchronous_enable True
# simxSynchronous()函数的第一个参数是连接的ID第二个参数是是否开启同步模式
vrep_sim.simxSynchronous(client_ID, synchronous_enable)
vrep_sim.simxStartSimulation(client_ID, vrep_sim.simx_opmode_oneshot) # ------------------------------- Initialization -------------------------------
# vrep_sim.simx_opmode_blocking为阻塞模式。命令被发送函数将等待实际的应答并返回它(如果函数没有超时)
# vrep_sim.simxGetObjectHandle即获取在client_ID下的名字为joint的对象的句柄
return_code, joint_handle vrep_sim.simxGetObjectHandle(client_ID, joint, vrep_sim.simx_opmode_blocking)
if (return_code vrep_sim.simx_return_ok):
print(get object joint ok.) # 获取joint的位置
_, q vrep_sim.simxGetJointPosition(client_ID, joint_handle, vrep_sim.simx_opmode_streaming)
vrep_sim.simxSetJointTargetPosition(client_ID, joint_handle, 0, vrep_sim.simx_opmode_streaming) # ------------------------------- Simulation -------------------------------
t 0
# 时步多少秒更新一次
delta_t 0.005 # simulation time step
for _ in range(5000):
t t delta_t
_, q vrep_sim.simxGetJointPosition(client_ID, joint_handle, vrep_sim.simx_opmode_buffer)
print(q, q)
q_new np.sin(t)
vrep_sim.simxSetJointTargetPosition(client_ID, joint_handle, q_new, vrep_sim.simx_opmode_streaming) if synchronous_enable True:
vrep_sim.simxSynchronousTrigger(client_ID)
# 检索将命令发送到服务器执行和发回所需的时间。 那个时间取决于各种因素如客户端设置网络负载仿真是否正在运行仿真是否是实时模拟时间步骤等。功能是阻塞。
_, ping_time vrep_sim.simxGetPingTime(client_ID)
# 静止时步的时间
time.sleep(delta_t)
# 停止仿真
vrep_sim.simxStopSimulation(client_ID, vrep_sim.simx_opmode_blocking)
# 结束此场景
vrep_sim.simxFinish(client_ID)
print(Program terminated)代码运行后如图所示可以驱动倒立摆末端转动。