CoppeliaSim+matlab+simulink七轴机械臂仿真

源代码地址:GitHub - xiaowan1117/vrep-matlab-simulinkGitHub - xiaowan1117/vrep-matlab-simulink: 七轴机械臂的仿真七轴机械臂的仿真. Contribute to xiaowan1117/vrep-matlab-simulink development by creating an account on GitHub.https://github.com/xiaowan1117/vrep-matlab-simulinkGitHub - xiaowan1117/vrep-matlab-simulink学习历程:

1、使用vrep软件打开.ttt文件的仿真环境,点击运行,你会发现机械臂会运动,这时是由lua脚本文件控制的,我们双击打开Franka后面的脚本文件。文件中设置了三个姿态点,并使用了rmlMoveToJointPositions函数,将控制命令传给机械臂,从而使机械臂依次到达三个点,若想机械臂一直运动可以加个while死循环语句。这个使用lua语言实现机械臂控制,后面我们将使用matlab+simulink实现对该机械臂的控制。

CoppeliaSim+matlab+simulink七轴机械臂仿真_第1张图片

2、打开matlab,将工作目录更换为你下载解压后的文件目录。

CoppeliaSim+matlab+simulink七轴机械臂仿真_第2张图片

 exciting_traj_positions.txt文件中存在着14万多个关节位置信息,机械臂每次运动需要七个关节信息。teng4_VREP_panda_test_traj_v1.m和teng4_VREP_panda_test_traj_v2.m均实现了matlab与vrep之间的连接,运行teng4_VREP_panda_test_traj_v1.m文件时应确保vrep处于仿真状态,这样matlab才能与vrep成功连接。

注意端口号要一致:

vrep:       simRemoteApi.start(19999) 

matlab:    clientID=vrep.simxStart('127.0.0.1',19999,true,true,5000,5); 

3、simulink与matlab联合仿真,simulink仿真时,同样一定要时vrep处于仿真状态。此仿真有个switch开关,当上闭合时,机械臂的七个关节信息由正弦信号、常数项和增益随机生成,之后传给teng4Sfcn_SIMtoVREP  S-function模块,另外增加了些显示模块,以观察各关节的数据。当switch开关下闭合时,需要先运行teng4_VREP_panda_test_traj_v1.m或teng4_VREP_panda_test_traj_v2.m,生成Q_des,之后通过fcn在Q_des 选一组q_des数据,之后传给teng4Sfcn_SIMtoVREP  S-function模块。teng4Sfcn_SIMtoVREP  S-function模块是有模板的,大家可以学一学。

CoppeliaSim+matlab+simulink七轴机械臂仿真_第3张图片

CoppeliaSim+matlab+simulink七轴机械臂仿真_第4张图片

上面使用的是level-1 s-function的模板,我使用的matlab2021只有level2的模板,matlab2018有level1,不过我猜测可能level1被淘汰了吧,有想法的同学,可以把level1写的代码改写为level2 s-function。

 

 

 

你可能感兴趣的:(matlab,开发语言,矩阵)