1、前记:先在此处贴上收集到有关Simscape Mutibody 接触力建模的有用资料,后面系列逐渐展开。

原本在做Baxter机器人碰撞检测的时候,是参照官网这篇https://www.mathworks.com/help/robotics/examples/perform-safe-trajectory-tracking.html文章里面的方法【在手臂末端与障碍物之间建立一个弹性阻尼系统...】做的仿真,当时在复现的时候还厚着脸皮请教了Mathworks 机器人组的应用工程师Sebastian Castro,超爱他网络研讨会的视频【https://www.mathworks.com/videos/matlab-and-simulink-robotics-arena-introduction-to-contact-modeling-part-2-1502716250563.html】。在他的帮助下解决了一些问题,就是下面的“穿墙而过”变为左边的四个时间戳的碰撞接触停止,基本复现了官网的一个案例。

       

后面他还建议我使用 Contact_Force_Libray库来实现碰撞仿真,不过由于种种原因并没花时间去做【其实就是懒,就是太年轻了,抠鼻^-^//】。出来混,在此处落地生个根好还上那笔风流债。

2、前期准备与相关链接:

(1)在matlab 2018a中安装了必要的工具箱Simscape系列(一般在命令行窗口输入ver可以查找所有安装的工具箱)。

(2)于碰撞反应视频学习:在上面已经给出,Sebastian Castro下面的那个!

(3)在Simulink中进行多体建模:https://ww2.mathworks.cn/videos/multibody-simulation-with-simmechanics-81877.html

(4)多体升降机的例子,(3)视频中的,https://ww2.mathworks.cn/matlabcentral/fileexchange/36553-scissor-lift-model-in-simscape-multibody,根据自己的Matlab版本进行下载学习。

(5)Simscape Multibody Parts Library下载,部件库:https://ww2.mathworks.cn/matlabcentral/fileexchange/36536-simscape-multibody-parts-library,同样根据版本下载,高版本的可以兼容低版本的,可以不用在意。

(6)接触力库(Simscape Multibody Contact Forces Library):https://ww2.mathworks.cn/matlabcentral/fileexchange/47417-simscape-multibody-contact-forces-library,根据版本下载。里面的案例可以打开运行,开始学习。

(7)官网上的技术博客:https://blogs.mathworks.com/racing-lounge/2017/09/12/introduction-to-contact-modeling/?fbclid=IwAR3f38dM3bgw13qDZzNzu7ZSBlA3kMHNHY-q2zeajAMGNz-Y32XwRduOsCE

(8)如何设置接触力中的刚度和阻尼系数:https://www.mathworks.com/matlabcentral/answers/516756-how-do-i-determine-stiffness-and-damping-parameters-for-contact-forces-in-simulink?fbclid=IwAR2VEzLO4_BlQ5poHjIshnUYr-BxkCZGTREbLvgUDllpCfwTE7kNjk8XRtY

(9)上面(8)的参数设置不正确,有时候可能导致物体之间还是相互穿透:https://www.mathworks.com/matlabcentral/answers/516756-how-do-i-determine-stiffness-and-damping-parameters-for-contact-forces-in-simulink?fbclid=IwAR2VEzLO4_BlQ5poHjIshnUYr-BxkCZGTREbLvgUDllpCfwTE7kNjk8XRtY

(10)官方文档:https://www.mathworks.com/help/physmod/sm/ug/modeling-contact-force-between-two-solids.html?s_tid=answers_rc2-3_p6_Topic

这两天开始学习了下,按照(6)里面的demo,实现了一个简化版的抓取和放置(左)。决定实现PUMA560的抓取和放置的时候(右),抓手抓取的时候总是出现错误,还没找到原因。

小例子:

    

3、后记:由于Gazebo和Verp中由于自身集成了ODE, Bullet等物理引擎,实现上面的碰撞接触和反应仿真好像更简单。了解的不多就不介绍了。

     Gazebo:https://zhuanlan.zhihu.com/p/94575932

http://gazebosim.org/tutorials

Verp:https://zhuanlan.zhihu.com/p/32788790

下面这个就是我直接在Gazebo中拖进的桌子和障碍物方块来进行仿真的,Baxter机器人的运动用的是Simulink向ROS Master发送的关节位置数据。【不晓得是不是我的虚拟机运行的慢,感觉碰撞反应轻飘飘的不是很真实,是不是要设置一些参数啊?】

Simscape Mutibody Modeling学习--碰撞接触与反应(1)相关推荐

  1. Simscape Mutibody Modeling学习--移动多体模型中的物体(2)

    1.前记:抓住八月的尾巴>_< 距离 Simscape Mutibody Modeling学习--碰撞接触与反应(1) 和MATLAB下机器人可视化与控制---simulink篇(4)已经 ...

  2. 活动报名 | MIT陈涛:如何让机器人学习高频接触的操作技能

    由智源社区举办的「智源LIVE 第20期 |  陈涛:如何让机器人学习高频接触的操作技能--基于视觉的灵巧手操作及四足机器人控制」将于3月24日(周四)20:00-21:00举办,2021年CoRL ...

  3. SimScape热模块学习笔记

    SimScape热模块学习笔记 前言 近期着手做关于BMS相关的工作,准备使用Simulink建模方式完成BMS算法,传统的BMS算法大多基于电流积分+OCV查表修正的方法,现在比较新的方式是建立电池 ...

  4. PFC2D学习笔记——接触模型

    1.接触模型 如图所示,实体1与实体2发生接触,其中接触部位位于实体1的piece1 与实体2的piece2上,作用于实体1与实体2上的弯矩.力会在接触实体的形心上.则接触状态变量更新顺序:接触的有效 ...

  5. 学习中接触的计算机概念

    1. 事件模型. 从事件角度说,事件驱动程序的基本结构是由一个事件收集器.一个事件发送器和一个事件处理器组成.事件收集器专门负责收集所有事件,包括来自用户的(如鼠标.键盘事件等).来自硬件的(如时钟事 ...

  6. 2020Mathematical Modeling学习记录(二)

    2020美赛E题 ICM环境科学背景 一.题意分析 1.概念关联 塑料垃圾减少程度以及前后联系 former:一次性塑料的来源用途.替代塑料的可用性 later:对居民生活的影响程度 else:相关政 ...

  7. Simulink移动机器人仿真学习--Trick记录

    1.前记: 记录的目的是学习,也期望阅读者有所收获便足矣.这次的记录算是Simscape Mutibody Modeling学习--移动多体模型中的物体(2)中的一次续写.不过重点不是关于多体建模的, ...

  8. Simscape接触建模简介

    动机 机械接触建模对于建造各种工程领域的逼真的仿真非常有用,包括 机器人系统:轮式机器人,步行机器人和机械手 汽车系统:轮胎-地面相互作用,悬架和传动系统组件 工业自动化系统:机器人抓爪(再次),流水 ...

  9. 论文研读笔记(二)——通过深度强化学习避免碰撞的编队控制

    通过深度强化学习避免碰撞的编队控制(Formation Control with Collision Avoidance through Deep Reinforcement Learning) 文献 ...

  10. 重磅盘点:过去8年中深度学习最重要的想法

    原文:Deep Learning's Most Important Ideas[1] 作者:Denny Britz(ML 研究员,Google Brain 前成员) 译者:REN 深度学习是一个瞬息万 ...

最新文章

  1. Oracle获取LOB长度的两种方法效率对比
  2. [转]带宽计算-大B与小b的区别
  3. 双边滤波+ 通俗自己理解
  4. Tableau必知必会之图表显示部分标签的小妙招
  5. MybatisPlus中insert方法与insertAllColumn方法的区别
  6. sql两个数字之差取最接近的_从零学DAX/Sql/Python030203SQL数据分类汇总续篇
  7. Exp2 后门原理与实践 20164309
  8. zabbix通过JMX监控Tomcat及一些报错
  9. [react] <div onClick={handlerClick}>单击</div>和<div onClick={handlerClick(1)}>单击</div>有什么区别?
  10. 如何使用ES6中的参数
  11. 分子结构模拟工具UCSF Chimera的安装及基本操作
  12. .net实现批量在线打印_如何实现报表的批量打印需求
  13. MySQL双主如何解决主键冲突问题
  14. C#WinCE程序(.NET Compact Framework 3.5)项目重构面向抽象设计
  15. [导入]asp.net2.0乱记(33)vista下使用vs2005及一些软件
  16. wordpress 调用css,WordPress折腾记-精简CSS及JS在插件中的调用
  17. 简单区分NMOS和PMOS的方法
  18. nuget.org 无法加载源 https://api.nuget.org/v3/index.json 的服务索引
  19. 文字处理控件功能比较:TX Text Control vs. RichTextBox
  20. Say“No”,你学会了吗?

热门文章

  1. JavaScript打开APP
  2. 天啦撸,联合开发网竟然倒闭了!!!(分享一个非常牛的人工智能教程!!!)
  3. vue resource的应用
  4. SCP不会覆盖已有文件
  5. 嵌入式软件开发做什么?嵌入式开发培训学哪些
  6. Excel智能分析报表案例:某餐饮公司各门店经营现状分析报表
  7. 数据科学 IPython 笔记本 7.2 数据整理
  8. 大师系列之彼得•林奇层查股
  9. sl4a最新版下载_SL4A Script Launcherapp
  10. 开放平台-web实现人人网第三方登录