V-REP(Cooprliesim EDU)自学笔记 实现UR5机械臂末端按轨迹移动

目录

1、1 Introduction&Download

1.2 Vrep/CoppeliaSim 基础操作

1.3  CoppeliaSim与python的连接

1.4  CoppeliaSim与matlab的连接

2.1基于V-rep的UR5末端控制

2.2基于V-rep-python的UR5末端控制


1、1 Introduction&Download

V-rep是一个跨平台的机器人仿真软件,在windows和Linux下都可以很稳定的运行,而且软件体积较小。可以通过python,c++,matlab等语言控制里面的机器人。

下载地址:Robot simulator CoppeliaSim: create, compose, simulate, any robot - Coppelia Robotics

可以在官网中Downloads里找需要的版本,推荐下载v4.1.0 windows EDU版本(新版本逆动力学模块改动很大,网络教程较少)。

在版本V4之前,CoppeliaSim叫V-REP,在官网可以下载到之前的V-REP版本。旧版本与新版本的代码相差不是特别大,python中只需将vrep改成sim就行,V-REP创建的scene在CoppeliaSim也能正常运行。

CoppeliaSim的官方用户手册:CoppeliaSim User Manual

在上面可以查找函数的使用说明,有函数说明但无实例。

可以参考用户手册CSDN汉化版:

(30条消息) CoppeliaSim用户手册中文翻译版(一)_汤姆与贝塔的博客-CSDN博客_coppeliasim报告

​​​​​​​1.2 Vrep/CoppeliaSim 基础操作

CoppeliaSim的操作界面,从model browser中拖出底板、围墙、机器人等物件,然后可以设置他们的position和Rotation,在scene的操作本质都是鼠标拖来拖去,可参考这些博客快速上手。

比较关注的有scene,robot,dummy,path.

(30条消息) Vrep/CoppeliaSim:基础操作(1)_理闲的博客-CSDN博客

(30条消息) Vrep/CoppeliaSim:基础操作(2)_理闲的博客-CSDN博客

 

1.3  CoppeliaSim与python的连接

1、新建一个文件夹,将3个重要文件复制到这个文件夹里,分别是:sim.py,simConst.py以及remoteApi.dll(windows版本)

sim.py和simConst.py在:..\CoppeliaRobotics\CoppeliaSimEdu\programming\remoteApiBindings\python\python\下

remoteApi.dll在:..\CoppeliaRobotics\CoppeliaSimEdu\programming\remoteApiBindings\lib\lib\Windows\下

2、双击打开CoppeliaSim,点开场景右边的代码,添加:simRemoteApi.start(19999)  这个端口号必须和在python中一致

V-REP(Cooprliesim EDU)自学笔记 实现UR5机械臂末端按轨迹移动_第1张图片

3、用python程序去连接CoppeliaSim并控制机器人

..\CoppeliaRobotics\CoppeliaSimEdu\programming\remoteApiBindings\python\python\simpleTest.py中有这段代码,这个代码的功能是一个基础的连接功能。在跑代码之前需要在CoppeliaSim运行仿真,这样才能连接上。

import sim

sim.simxFinish(-1) # just in case, close all opened connections

clientID=sim.simxStart('127.0.0.1',19999,True,True,5000,5)#Connect to CoppeliaSim

if clientID !=-1:

    print ('Connected to remote API server')

else:

    print ('Failed connecting to remote API server')

sim.simxGetPingTime(clientID)

sim.simxFinish(clientID)

sim.simxFinish(-1)是断开一切可能的连接,sim.simxStart就是python和CoppeliaSim建立连接的代码,返回的clientID是建立连接的ID,可以理解为指向scene,后续一切的操控都需要用到这个ID,sim.simxFinish(clientID)用在程序的结尾断开连接。能够成功连接上CoppeliaSim之后我们就可以读取或者控制CoppeliaSim中的物件了。

   参考博客:(30条消息) V-rep 仿真与python远程控制_Luo_LA的博客-CSDN博客

1.4  CoppeliaSim与matlab的连接

我没用到matlab,需要的话可以参考使用Matlab与V-REP联合仿真 - Play V-REP with Matlab_止于至玄的博客-CSDN博客_matlab vrep仿真

2.1基于V-rep的UR5末端控制

实现了UR5末端按照指定路径运动,

在Vrep中,机器人可以跟随设定的path运动。要使机器人跟随path运动,首先要建立逆运动学。设置逆运动学IK是机械臂运动的关键,不可缺少。具体设置可以参考这篇博客。(30条消息) Vrep/CoppeliaSim_沿path运动(上):逆运动学_理闲的博客-CSDN博客

沿着指定path运动,参考(30条消息) Vrep/CoppeliaSim_沿path运动(下):设置path_理闲的博客-CSDN博客

2.2基于V-rep-python的UR5末端控制

项目结果: 利用python实现了使用键盘控制机械臂末端在x,y,z三轴上移动。

实现方法:本质是利用代码控制目标dummy点移动。

主要复现了(30条消息) V-rep仿真学习(二)_aprilaaaaa的博客-CSDN博客_v-rep,讲解的非常细致。

V-REP(Cooprliesim EDU)自学笔记 实现UR5机械臂末端按轨迹移动_第2张图片

 

你可能感兴趣的:(python)