机器人控制系列教程之Simulink中模型搭建(1)

机器人模型获取

接上期:机器人控制系列教程之控制理论概述,文中详细讲解了如何通过Solidworks软件导出URDF格式的文件。文末提到了若需要将其导入到Simulink中可在命令行中输入smimport('urdf/S_Robot_urdf.urdf'),MATLAB将自动打开Simulink以Simscape模块的形式生成模型文件。当然,MATLAB软件内置还是有很多机器人的模型,各位可以到MATLAB官方查看,MATLAB机器人工具箱(相关的安装教程可见:)中,可在MATLAB命令行中输入models即可看到机器人工具箱中所有机器人的模型。本节对应的模型文件见文末!

>> models
ABB, IRB140, 6DOF, modified_DH (mdl_irb140_mdh)
ABB, IRB140, 6DOF, standard_DH (mdl_irb140)
ABB, S4_2.8, S4 2.8m reach version, 6DOF, standard_DH (mdl_S4ABB2p8)
Adept, Cobra600, 4DOF, standard_DH (mdl_cobra600)
Aldebaran, NAO, humanoid, 4DOF, standard_DH (mdl_nao)
Baxter, Rethink Robotics, 7DOF, standard_DH (mdl_baxter)
Fanuc, AM120iB/10L, 6DOF, standard_DH (mdl_fanuc10L)
Fanuc, M16, 6DOF, standard_DH (mdl_M16)
Franka-Emika, PANDA, 7DOF, standard_DH (mdl_panda)
Kinova, Jaco, 6DOF, standard_DH (mdl_jaco)
Kinova, Mico, 6DOF, standard_DH (mdl_mico)
Kuka, KR5, 6DOF, standard_DH (mdl_KR5)
Kuka, LWR, 7DOF, standard_DH (mdl_LWR)
Motoman, HP6, 6DOF, standard_DH (mdl_motomanHP6)
Rethink Robotics, Sawyer, 7DOF, standard_DH (mdl_sawyer)
Stanford, Stanford Arm, prismatic, 6DOF, standard_DH (mdl_stanford)
Stanford, Stanford arm, prismatic, 6DOF, modified_DH (mdl_stanford_mdh)
Trossen Robotics, PhantomX Pincher, 4DOF, standard_DH (mdl_phantomx)
Unimation, Puma560, dynamics, 6DOF, modified_DH (mdl_puma560akb)
Unimation, Puma560, dynamics, 6DOF, standard_DH (mdl_puma560)
Unimation, Puma560, on XY base, redundant, 8DOF, standard_DH (mdl_p8)
Universal Robotics, UR10, 6DOF, standard_DH (mdl_ur10)
Universal Robotics, UR3, 6DOF, standard_DH (mdl_ur3)
Universal Robotics, UR5, 6DOF, standard_DH (mdl_ur5)
generic, 6DOF, standard_DH (mdl_offset6)
generic, 6DOF, standard_DH (mdl_simple6)
generic, ball shape, hyper redundant, 50DOF, standard_DH (mdl_ball)
generic, coil, hyper redundant, 50DOF, standard_DH (mdl_coil)
generic, planar, 1DOF, standard_DH (mdl_onelink)
generic, planar, 1DOF, standard_DH (mdl_planar1)
generic, planar, 2DOF, modified_DH (mdl_twolink_mdh)
generic, planar, 2DOF, standard_DH (mdl_planar2)
generic, planar, 2DOF, symbolic, standard_DH (mdl_planar2_sym)
generic, planar, 3DOF, standard_DH (mdl_planar3)
generic, planar, dynamics, 2DOF, standard_DH (mdl_twolink)
generic, planar, dynamics, 2DOF, symbolic, standard_DH (mdl_twolink_sym)
hyper redundant, 10DOF, standard_DH (mdl_hyper3d)
planar, hyper redundant, 10DOF, standard_DH (mdl_hyper2d)

Robotics System Toolbox(MATLAB官方安装包)也有许多机器人的模型可见:https://ww2.mathworks.cn/help/robotics/ref/importrobot.html。

Toolbox区别

MATLAB 中有两个用于机器人学和机器人控制的工具箱:Robotics Toolbox 和 Robotics System Toolbox。这两个工具箱在功能和范围上有一些区别,但它们都旨在为用户提供处理机器人相关问题的功能和工具。

  • Robotics Toolbox是 Peter Corke 开发的一个 MATLAB 工具箱,提供了一系列用于机器人学和机器人控制的函数和工具。它主要用于教学和研究,提供了大量的基本功能,包括机器人的运动学、逆运动学、动力学、轨迹规划等。Robotics Toolbox 中包含了一些经典的算法和模型,如 Puma560 机器人模型,以及一些用于仿真和控制的工具和函数。
  • Robotics System Toolbox 是 MathWorks 官方发布的一个工具箱,作为 MATLAB 的一部分提供。它是一个更加全面和专业化的工具箱,旨在处理实际机器人应用中的问题,包括传感器集成、导航、视觉处理等。Robotics System Toolbox 不仅包括了机器人学和机器人控制方面的功能,还提供了一系列用于与实际机器人系统进行通信和交互的工具,如 ROS(机器人操作系统)的接口、机器人仿真环境的连接等。

因此,尽管两个工具箱都涉及机器人学和机器人控制,但 Robotics Toolbox 主要用于教学和研究,提供了基本的功能和算法,而 Robotics System Toolbox 则更专注于实际应用,提供了更全面和专业化的功能,适用于实际的工程项目和应用场景。
但需要注意的是:Robotics Toolbox 是由 Peter Corke 开发并维护的,目前距离上次维护已经是4年前了,对Simulink的适配较差且整个软件需要单独安装;而Robotics System Toolbox基本上每个新的MATLAB的版本(2019a以来)都有维护,内置在Simulink的库中,配合Simulink强大的功能可以做很多有趣的事情!

实例

本次笔者使用的模型是KUKA的iiwa7串联七自由度机器人,可以看下他们官网对这款机器人的介绍:“KMR iiwa 自主型机器人灵活,可以实现人机合作。它将 LBR iiwa 灵敏轻型机器人和自主移动式平台的优点综合在一个系统中。KMR iiwa 不受地点限制、高度灵活——为满足工业 4.0 的要求创造了理想条件。”

这个机器人的默认是已经内置到了MATLAB中,只需要在MATLAB命令行中输入:smimport('iiwa7.urdf'),即可在Simulink中打开这个机器人的模型,是由Simscape搭建,你可自定义设置其关节的驱动方式和输出的信息。

下面有一个已经搭建好的机器人模型,并且已经通过了验证大家可以自行下载:https://pan.baidu.com/s/1gXF2CQCOh4MKeGZ6aa9Egg?pwd=tech,提取码:tech(若链接失效,可进群咨询获取!)。针对上述生成的模型主要做了如下的几条修改:

  1. 每个关节都设置了驱动方式为运动,且导出了每个关节的位置、速度、加速度以及驱动力矩的大小为了后续进行控制器设计时作为反馈。

  1. 在默认的Simulink的“建模”->“模型属性”中设置了回调InitFcn,进行加载机器人的三维模型和URDF文件,并且设置数据格式(以列为准)和重力方向大小,如下:

  1. 将模型进行封装,添加icon图像。

到此,模型的相关设置结束,下一篇推文笔者将重点介绍Simulink中的Robotics System Toolbox库的一些重点模块。欢迎持续关注!

往期推荐

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/766046.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【揭秘】国内十大顶尖AI大模型,引领智能科技新纪元

大模型大模型通常指的是参数量非常大、数据量也非常大的深度学习模型。这些模型由数百万到数十亿甚至更多的参数组成,需要海量的数据和强大的计算资源进行训练和推理学习的模型。大模型设计的目的在于提高模型的表示能力和性能、应对复杂数据集和任务、提升泛化能力…

65.WEB渗透测试-信息收集- WAF、框架组件识别(5)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于: 易锦网校会员专享课 上一个内容:64.WEB渗透测试-信息收集- WAF、框架组件识别(4)-CSDN博客 waf绕…

c语言的烫烫烫烫烫??

当初学习C语言时,对于一些特殊的打印输出可能会感到困惑,比如会出现一堆乱码烫烫烫的情况。其实这是因为在C语言中,对于字符类型和数字类型之间的隐式转换可能会导致打印输出的结果不符合预期。这并不意味着程序员"烫",…

详解归一化、标准化、正则化以及batch normalization

文章目录 what(是什么)where(用在哪)How(如何用&&原理)归一化实现方式原理示例说明 标准化实现方式原理示例说明 正则化实现方式原理作用 Batch Normalizationpytorch中的batch normalization原理BN的作用 归一化、标准化…

EXCEL怎么一模一样复制粘贴?

第一步 鼠标选中复制子表 右击建立副本 第二步 建立好副本表格 第三步 将选定工作表移动至新表格 第四步 成功完成移动

社区的用户分层运营如何做?

在社区运营中用户分层尤为关键,20%的高粘性用户带动80%的普通用户。我们主要围绕的是这20%的粘性用户,因为他们才是决定我们未来能不能最好做大最重要的人 分层运营策略 1️⃣对普通用户: 📚满意:搜索是内容多而全&…

数据结构 -AVL树

文章目录 AVL树左旋和右旋插入的四种情况(一)新数字插到了左子树,导致左子树比右子树高2;左孩子的左子树比其右子树高1(二)新数字插到了左子树,导致左子树比右子树高2;左孩子的右子树…

linux的Top学习

学习文档 https://www.cnblogs.com/liulianzhen99/articles/17638178.html TOP 问题 1:top 输出的利用率信息是如何计算出来的,它精确吗? top 命令访问 /proc/stat 获取各项 cpu 利用率使用值内核调用 stat_open 函数来处理对 /proc/sta…

蓝桥杯算法双周赛

四、赛后真题解析 比赛赛后将提供免费直播讲解,主讲人:待定。时间:07 月 13 日(比赛当日)晚 21 时。观看直播地址:第3场蓝桥算法季度赛赛后题解直播 - 蓝桥云课 - 哔哩哔哩直播,二次元弹幕直播…

ShareSDK HarmonyOS NEXT集成指南

集成前准备 注册账号 使用MobSDK之前,需要先在MobTech官网注册开发者账号,并获取MobTech提供的AppKey和AppSecret,详情可以点击查看注册流程 ShareSDK流程图 集成配置 添加依赖 在Terminal窗口中,执行如下命令进行安装 ohpm …

彻底搞懂Webpack插件

前言 首先我们先回忆一下Webpack插件是如何使用的?下面是一份基础的Webpack配置文件: let htmlWebpackPlugin require(html-webpack-plugin);module.exports {mode: development,entry: {main: path.join(__dirname, src/index.js)},output: {path: …

认识软件测试

认识软件测试 软件测试能力要求一、软件测试的步骤1.需求2.测试点3.测试用例4.执行测试用例5.缺陷管理6.测试报告 一、测试用例(test case)**用例编写要素**: 测试用例设计方法1.等价类2.边界值3.判定表法4.场景法 软件测试能力要求 软件测试…

张颂文百花提名,男配界笑出“颂”彩

在这个星光熠熠的百花奖舞台上, 张颂文老师犹如一坛陈年老酒,越品越有味, 竟不声不响地提名了最佳男配角!这下可好, 男配界仿佛一夜之间被“颂”风吹得花枝乱颤,笑料百出。你说张颂文老师这演技&#xf…

嵌套组合请求对象的校验与全局捕捉

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119qq.com] &#x1f4f1…

怎么压缩图片大小?6种无需牺牲质量的图片压缩方法

经常处理图片的小伙伴都知道,高质量的图片往往会占据电脑大量的存储空间,导致图片传输及存储的不便。因此,掌握如何压缩图片大小变得尤为重要。本文将详细介绍图片压缩的几种方法,帮助你高效地减小图片文件大小,让你的…

【ACM出版,马来西亚-吉隆坡举行】第四届互联网技术与教育信息化国际会议 (ITEI 2024)

作为全球科技创新大趋势的引领者,中国不断营造更加开放的科技创新环境,不断提升学术合作的深度和广度,构建惠及各方的创新共同体。这是对全球化的新贡献,是构建人类命运共同体的新贡献。 第四届互联网技术与教育信息化国际学术会议…

秒懂设计模式--学习笔记(5)【创建篇-抽象工厂】

目录 4、抽象工厂4.1 介绍4.2 品牌与系列(针对工厂泛滥)(**分类**)4.3 产品规划(**数据模型**)4.4 生产线规划(**工厂类**)4.5 分而治之4.6 抽象工厂模式的各角色定义如下4.7 基于此抽象工厂模式以品牌与系…

本地文本向量模型的部署提供兼容openai的接口

前言 之前部署了fastgpt官方文档的一个,提供的一个m3e-large的向量模型打包的docker镜像,虽然使用起来整体效果还可以,但是有些文本向量相似度匹配的结果还是不太满意的,目前,网络上层出不穷的带推理文本向量,想体验一下,于是我基于modelscope库封装了一个兼容open ai的…

有哪些Python书籍是程序员强烈推荐?

有一本升级版的经典Python项目编程书一定要推荐一下。 Python极客项目编程(第2版) 第一版累计销售19万册,豆瓣评分8.4。每个项目都按照【讲解原理-分析需求-代码精讲-知识小结-扩展练习-完整代码】的方式进行讲解,并提供可下载运…

【文档+源码+调试讲解】科研经费管理系统

目 录 目 录 摘 要 ABSTRACT 1 绪论 1.1 课题背景 1.2 研究现状 1.3 研究内容 2 系统开发环境 2.1 vue技术 2.2 JAVA技术 2.3 MYSQL数据库 2.4 B/S结构 2.5 SSM框架技术 3 系统分析 3.1 可行性分析 3.1.1 技术可行性 3.1.2 操作可行性 3.1.3 经济可行性 3.1…