MATLAB/Multibody学习——单摆模型/坐标转换

MATLAB/multibody初学

软件版本:MATLAB R2019a
学习目标:理清物理建模时的坐标转换问题,建立简单的单摆模型。
1.创建一个新文件:命令行输入smnew,会生成一个Simscape Multibody模型模板,或者直接在simulink中自己创建;
2. 为了更好的理解坐标系的转换功能,我们先建立一个简单的连杆模型,了解一下坐标系的变换。
3. 复制一个Rigid Transform,完成如下图所示的连线,Solid、Transform1和Transform中的参数设置如下:

系统连接图:Alt
参数设置:
在这里插入图片描述
4.完成参数设置和系统连接之后将它们设置成一个子系统,然后对子系统进行Mask(封装),打开Mask编辑器,然后在Parameters&Dialog中将我们之前在创建Solid时填写的参数写进去,如下图所示:
在这里插入图片描述
5.然后双击子系统块,就可以对实体的相关参数进行设置,具体参数如下图:
在这里插入图片描述
6.最后点击Simulation>Update Diagram就可以看到可视化的3D模型,你可以查看Solid块通过两个坐标变换生成的坐标系,以及他原来的坐标系。
在这里插入图片描述
通过上面这个简单的例子应该可以很清晰的了解整个物理建模以及坐标转换的过程。

下面来制作一个单摆:
1.拖入一个Solid和Revolute Joint,要使用上面建好的连杆模块,然后连接如下图:
在这里插入图片描述
2.Solid参数设置如下:
在这里插入图片描述
3.旋转副默认使用base和follower坐标系的Z轴作为旋转轴,所以在Mechanism Configuration中将重力方向设置在-Y方向,保证单摆能够在重力作用下运动。
4.设置好单摆旋转关节的初始位置:
关节参数设置:
在这里插入图片描述
5.在Simulation>Model Configuration Parameters中将求解器改为ode15s(stiff/NDF),是官方推荐的求解物理模型的求解器。然后将最大仿真步长改为0.01,Help文档里边描述的是这个步长在仿真速度和准确性之间达到了一个很好的平衡。
6.电机运行,在Mechanics Explore里边可以看到结果。
7.可以调整一下视图方向再查看结果,在view convention当中将Y轴设置成朝上。最后发现摆杆连接旋转副的位置是在正方体块的中心的,两个坐标系正好重合。

本文大部分内容来自MATLAB Help文档。

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MATLAB中,坐标系转换可以使用欧拉-齐次矩阵(eul2tr)和Rigid Transform(trplot)函数来实现。欧拉-齐次矩阵是用来表示基坐标系和自身坐标系之间的变换关系的一种方法。左手坐标系下,中指对着自己为x轴,z轴为拇指。通过欧拉-齐次矩阵,可以进行旋转和平移的变换操作。 具体的步骤如下: 1. 创建一个新的MATLAB文件或在Simscape Multibody中创建一个新模型。 2. 使用eul2tr函数设定基坐标系的初始状态。 3. 使用transl函数进行平移变换,使用rpy2tr函数进行旋转变换。 4. 使用trplot函数将变换后的坐标系显示出来。 5. 可以通过xlim、ylim和zlim函数限定坐标系的范围。 6. 根据需要,可以进行多次变换来得到所需的坐标系转换效果。 值得注意的是,MATLAB版本应该是R2019a。以上是关于坐标系转换的简要说明和示例。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Matlab坐标变换篇](https://blog.csdn.net/seek97/article/details/121756506)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [MATLAB/Multibody学习——单摆模型/坐标转换](https://blog.csdn.net/gre_paul/article/details/107727806)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值