V-rep软件仿真UR5机器人第一篇

小弟刚刚学习V-rep软件,知道的不多,为免同学方便,把自己知道的写下来。

1、用V-rep软件与matlab通信

我主要完成两个内容,让V-rep仿真,matlab采集机器人的6个轴的角度和第6轴末端位置。

之所以采2种值,对应使用正解、反解算法,另外例子用的UR5,其实改变DH参数表,相当于换其他机器人,当初用的PUMA560,一直没转过弯来。

看画红线位置,双击写程序(有博客详细介绍了,不知道的人可以看看)

simRemoteApi.start(19999);

添加上边语句与matlab通信,matlab端

function vrep_xyz()
disp('Program started');
vrep=remApi('remoteApi');  % using the prototype file (remoteApiProto.m)
vrep.simxFinish(-1); % just in case, close all opened connections
clientID=vrep.simxStart('127.0.0.1',19999,true,true,5000,5);

V-rep软件仿真UR5机器人第一篇_第1张图片










其中,function是建立给函数,19999是端口号,都是套路不用改。

v-rep端

vel=180
accel=40
jerk=80
currentVel={90,90,90,90,90,90,90}
currentAccel={0,0,0,0,0,0,0}
maxVel={vel*math.pi/180,vel*math.pi/180,vel*math.pi/180,vel*math.pi/180,vel*math.pi/180,vel*math.pi/180}
maxAccel={accel*math.pi/180,accel*math.pi/180,accel*math.pi/180,accel*math.pi/180,accel*math.pi/180,accel*math.pi/180}
maxJerk={jerk*math.pi/180,jerk*math.pi/180,jerk*math.pi/180,jerk*math.pi/180,jerk*math.pi/180,jerk*math.pi/180}
targetVel={0,0,0,0,0,0,0}

这些是加速、减速、起始位置、末端位置等等,如果只是让机器人动,这些都不用改。

举例如下:

targetPos3={0,0,0,0,0,0}
sim.rmlMoveToJointPositions(jointHandles,-1,currentVel,currentAccel,maxVel,maxAccel,maxJerk,targetPos3,targetVel)

给目标位置,机器人按不同阶段走到目标位置。

V-rep软件仿真UR5机器人第一篇_第2张图片

V-rep软件仿真UR5机器人第一篇_第3张图片

之后点击上面按钮,机器人动了,可以仿真了。

碍于篇幅,matlab部分下篇说。

才学不久,欢迎指教。

你可能感兴趣的:(机器人)