许可优化
产品
解决方案
服务支持
关于
软件库
当前位置:服务支持 >  软件文章 >  MATLAB机器人运动学仿真入门教程

MATLAB机器人运动学仿真入门教程

阅读数 41
点赞 0
article_banner

之前有小伙伴想了解MATLAB运动学仿真的知识,这两天特地作了整理.最近在找工作,所以文章更新频率会慢一些,时间仓促,如果错误还请指正.

1. 准备知识

在学习用MATLAB仿真之前,应该先去了解一下Simulink的使用,可以参考官网的入门教程Simulink Getting Started Guide.

第二个需要补充的知识是机器人运动学/动力学基础,推荐Modern Robotics.可以在Library Genesis上找到电子书.

2. 机器人系统工具箱

MATLAB中用于机器人动力学仿真的工具箱叫做Robotics System Toolbox,可以在MATLAB命令行中输入"ver"查看是否安装了此插件.

你可以对照着官网的用户手册进行学习:Robotics System Toolbox User Guide.

User Guide的前半部分是基础部分,主要讲了Rigid Body Tree、逆运动学算法 轨迹跟踪 、代码生成等等.后半部分是具体的实例,每一个例子都讲解的较为详细,比较遗憾的是Simulink部分一般都只给了最后连接完成的图,有些模块如果不熟悉就很难找到,所以在准备知识中,我列出了Simulink的入门教程.

3. 一个小例子:用逆运动学跟踪末端执行器轨迹

这个例子在是上面User Guide的一个具体实例,我将以这个例子来讲解学习过程中的一些注意事项.

新建一个.m文件

小提示:为了防止当前工程和之前的工程相互影响,先"清除三连"
close % 关闭当前的Figure窗口
clear % 清除工作空间的所有变量
clc   % 清除命令窗口的内容,对工作环境中的全部变量无任何影响

导入urdf并展示机器人

小提示:MATLAB是脚本语言,无需编译即可执行,选中以下代码按F9执行
% 这个iiwa14.urdf是系统自带的一个文件
robot = importrobot('iiwa14.urdf');
% 设置数据格式为列向量格式(或者row行向量格式)
robot.DataFormat = 'column';
% 打开一个窗口显示机器人
ax = show(robot);

执行上述代码,就可以看到我们要操作的机械臂了:

机械臂

指定机器人运动轨迹

% xyz组成一个空间中的N字型
x = 0.5*zeros(1,4)+0.25;
y = 0.25*[-1 -1 1 1];
z = 0.25*[-1 1 -1 1] + 0.75;

% 画出拟定的运动轨迹
hold on
plot3(x,y,z,'--r','LineWidth',2,'Parent',ax)
hold off

执行上述代码,看到图片中多了一个运动轨迹:

N型运动轨迹

打开并执行Simulink

% 关闭图片
close
% 打开Simulink文件
open_system('sm_ik_trajectory_model.slx')
% 执行Simulink文件
sim('sm_ik_trajectory_model.slx')

上面的sm_ik_trajectory_model.slx文件是自己创建的,具体连接看下图,其中中间的坐标转换模块和机械臂模块可以在Simulink Library Browser 中Robot System Toolbox里面找到.

Simulink连接
小提示:善用Help来了解不熟悉的模块,Help打不开的到HOME->Preference->Help里选择Installed locally
小提示:你甚至可以在Help里面找到上述例子的原文档,自己试试看

展示仿真效果

% 循环执行并展示机械臂末端执行器位置
figure('Visible','on');
tformIndex = 1;
for i = 1:10:numel(configs.Data)/7
    currConfig = configs.Data(:,1,i);
    show(robot,currConfig);
    drawnow
    
    xyz(tformIndex,:) = tform2trvec(getTransform(robot,currConfig,'iiwa_link_ee'));
    tformIndex = tformIndex + 1;
end
动图封面
仿真效果

可以看到,机械臂末端是走的字母N的形状.程序到这里就差不多结束了(最后还有一些东西省略了),想了解更多细节,请去看前面推荐的User Guide.

4. 结束语

这里面我觉得比较难的是Simulink连接那一部分,主要是一些模块不熟悉,当时卡壳了很久,后来发现这些都可以再Help里面搜索到,所以善用软件中的文档是一件很重要的事情.

如果你觉的文章有帮助,欢迎点赞/收藏/关注一键三联,你的支持是我更新的最大动力!.


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks ,Hyperworks, Protel,CAXA,OpenWorks LandMark,MATLAB,Enovia,Winchill,TeamCenter,MathCAD,Ansys, Abaqus,ls-dyna, Fluent, MSC,Bentley,License,UG,ug,catia,Dassault Systèmes,AutoDesk,Altair,autocad,PTC,SolidWorks,Ansys,Siemens PLM Software,Paradigm,Mathworks,Borland,AVEVA,ESRI,hP,Solibri,Progman,Leica,Cadence,IBM,SIMULIA,Citrix,Sybase,Schlumberger,MSC Products...

相关文章
QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空