小弟刚刚学习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);
其中,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)
给目标位置,机器人按不同阶段走到目标位置。
之后点击上面按钮,机器人动了,可以仿真了。
碍于篇幅,matlab部分下篇说。
才学不久,欢迎指教。