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

news2024/10/5 18:34:06

机器人模型获取

接上期:机器人控制系列教程之控制理论概述,文中详细讲解了如何通过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.coloradmin.cn/o/1875521.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TCP单进程循环服务器程序与单进程客户端程序

实验目的 理解并掌握以下内容: 网络进程标识(即套接字地址)在Linux中的数据结构与地址转换函数。网络字节序与主机字节序的定义、转换以及相关函数在网络编程中的应用。数据结构内存对齐的基本规则,以及基于数据结构构建PDU的基本方法。TCP单进程循环服务器与单进程客户端的…

【ai】ubuntu18.04 找不到 nvcc --version问题

nvcc --version显示command not found问题 这个是cuda 库: windows安装了12.5 : 参考大神:解决nvcc --version显示command not found问题 原文链接:https://blog.csdn.net/Flying_sfeng/article/details/103343813 /usr/local/cuda/lib64 与 /usr/local/cuda-11.3/lib64 完…

【机器学习300问】133、什么是降维?有哪些降维的方法?

假如你有一本非常厚的书,每一章代表一个特征维度,而书中的故事(数据点)在每个章节(维度)都有详细的描述。但是,读者(模型)发现很难理解和记忆这个复杂的故事,…

视频监控业务平台LntonCVS国标视频综合管理平台功能及技术优势

随着安防行业的快速进步,传统的视频监控平台正在与先进的技术和互联网技术融合,包括5G通信、GIS、大数据、云计算、边缘计算、AI识别、智能分析和视频直播等。这些技术的整合形成了综合性视频监控管理平台,具备集中管理、多级联网共享、互联互…

在 UBUNTU 22.04 上逐步构建 Postal SMTP 服务器

构建 Postal SMTP 服务器来发送批量电子邮件是电子邮件营销人员的不错选择。Postal 功能非常强大,并拥有大量开发人员的支持。它是一个用 JavaScript 和 Ruby 编写的开源邮件服务器脚本。它可用于构建内部 SMTP 服务器,就像 Mailgun、Sendgrid、Mailchim…

数字信号处理实验四(FIR数字滤波器设计)

FIR数字滤波器设计(2学时) 要求: 设计一个最小阶次的低通FIR数字滤波器,性能指标为:通带0Hz~1500Hz,阻带截止频率2000Hz,通带波动不大于1%,阻带波动不大于1%,采样频率为8…

JeecgBoot新建模块

引言 jeecg-boot设置了demo, system等默认模块。在二次开发中,常常需要进行模块扩展。比如新增一个订单模块或支付模块。如何准确的新增模块,在此文进行记录。 步骤 新建模块 在项目点击右键,新建模块。 如下图。 注意:报名需…

arco disign vue 日期组件的样式穿透

问题描述: 对日期组件进行样式穿透. 原因分析: 如图,日期组件被展开时它默认将dom元素挂载到body下, 我们的页面在idroot的div 里层, 里层想要穿透外层是万万行不通的. 解决问题: 其实官网提供了参数,但是并没有提供例子, 只能自己摸索着过河. 对于日期组件穿透样式,我们能…

来自Claude官方的提示词库,支持中文!建议收藏!

大家好,我是木易,一个持续关注AI领域的互联网技术产品经理,国内Top2本科,美国Top10 CS研究生,MBA。我坚信AI是普通人变强的“外挂”,所以创建了“AI信息Gap”这个公众号,专注于分享AI全维度知识,包括但不限于AI科普,AI工具测评,AI效率提升,AI行业洞察。关注我,AI之…

KV260视觉AI套件--开箱报告

目录 1. 简介 2. 与 Zynq 的渊源 3. 官方的入门步骤 4. 总结 1. 简介 传统的ARMFPGA或DSPFPGA控制方案在软件、逻辑、硬件以及系统工程的协同调试中,往往需要团队成员之间严格按照预定计划和接口规范进行分工合作,这不仅增加了测试过程的复杂性&…

ubuntu16.04上搭建qt开发环境

安装qt 下载qt在linux下的安装包qt-opensource-linux-x64-5.8.0.run;将安装包拷贝到ubuntu16.04上;执行如下命令进行安装,注意:安装前先断开虚拟机的网络,这样就避免了注册账户的操作 基本上一路按“next”键&#xf…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 数字排列游戏(200分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 &#x1f…

第5章 传输层

王道学习 考纲内容 (一)传输层提供的服务 传输层的功能:传输层寻址与端口;无连接服务和面向连接服务 (二)UDP UDP数据报;UDP检验 (三)TCP …

坑——python的redis库的decode_responses设置

python的redis库查询返回的值默认是返回字节串,可以在redis.Redis()方法中通过设置decode_responses参数,让返回值直接是字符串; 查询返回字节串是因为Redis()方法中decode_responses默认值是False: 设置decode_responses为True就…

mac Canon打印机连接教程

官网下载安装驱动: 选择打印机类型和mac系统型号下载即可 Mac PS 打印机驱动程序 双击安装 系统偏好设置 点击“”添加: OK可打印玩耍!! 备注: 若需扫描,下载扫描程序: 备注:…

java 统计xmind的结点数(测试用例case数)

mac电脑解压出来的xmind的数据主要在content.json上 开头结尾有[],里面是json import org.json.JSONArray; import org.json.JSONObject; import java.io.*; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream;public class XMindLeafCounter2 {public stat…

小程序驾校预约系统的设计

管理员账户功能包括:系统首页,个人中心,学员管理,教练管理,驾校信息管理,驾校车辆管理,教练预约管理,考试信息管理 微信端账号功能包括:系统首页,驾校信息&am…

【面试干货】与的区别:位运算符与逻辑运算符的深入探讨

【面试干货】&与&&的区别:位运算符与逻辑运算符的深入探讨 1、&:位运算符2、&&:逻辑运算符3、&与&&的区别 💖The Begin💖点点关注,收藏不迷路💖 & 和 …

赛目科技三度递表:净利率及资产回报率不断下滑,经营成本越来越高

《港湾商业观察》施子夫 5月29日,北京赛目科技股份有限公司(以下简称,赛目科技)第三次递表港交所,公司拟主板上市,独家保荐机构为光银国际。 公开信息显示,赛目科技此前曾于2022年12月&#x…

使用li标签实现数据列表效果(鼠标移动和选中时均有阴影效果)

文章目录 一、最终效果&#xff1a;二、完整页面代码 一、最终效果&#xff1a; 选中的数据有阴影效果&#xff0c;鼠标移动时也有阴影效果 二、完整页面代码 list-style-type: none是去掉无序标签前的点的样式 <template><div><div class"my-new-lis…