端午假期时间,看到同元软控发布了Sysblock建模挑战,刚好有空,就想着趁着假期试一试新版本的功能。毕竟MWORKS 2025a SP2这次更新了不少内容,像新增了11个基础框图模块、封装模型的MASK功能,还有Syslab和Sysplorer/Sysblock数据工作区无缝交互这些,确实让建模效率和灵活性都提升了不少。为了更好体验一下这些新功能,我选择参加了题目一的“机械臂控制系统设计”。
这道题要求我们在Sysplorer 2025a SP2集成的Sysblock框图环境中,修改电机角度输入模块control_sta,并集成到top_model顶层模型里,实现机械臂末端在7秒内将小球精准移动到[0.2, 0, 0.2]的位置,并计算第10秒小球与目标点的距离。题目还设计了几个加分项,比如轨迹跟踪、启停策略优化、逆运动学推导,以及额外使用Sysplorer或Syslab建模的挑战,难度适中但很考验综合建模和控制策略设计能力。

起初我尝试了通过 Constant 常值直接驱动电机角度,调试不同数值,但发现小球运动轨迹不可控,且无法保证小球准确到达目标点,也缺少轨迹优化和动态反馈,存在明显缺陷。然后尝试用周期信号和表达式驱动,但限于模块限制和控制策略单一,最终效果仍不理想。采用基于位置误差反馈的闭环PID控制方案,控制小球实时追踪目标位置,设定目标位置 Constant → 实时读取当前位置 → 计算误差 → PID 控制 → 电机输入 → 小球运动 → 实时反馈。

我花了点时间把题目模型和数据接口先梳理了一遍,发现小球的空间坐标通过r_OG_0变量获取,加速度则是a_OG_0,控制策略部分可以直接在Sysblock里用基础模块搭建PID控制器,也能嵌入C代码或者C_Function模块来实现自定义逻辑。为了尝试新版本的功能,我决定在control_sta里先搭了个三轴位置控制系统,保证机械臂运动过程中的位置、速度、加速度连续平滑,避免启停突变带来的超大加速度问题。
不过说实话,这次仿真我还没做到完全满足题目要求。仿真执行时小球在7秒内没能精准到达
目标位置,尤其是Z轴方向偏差较大。最终10秒时的小球位置误差也未能达到理想范围。打算等活动结束后,再重新调整控制器参数,完善轨迹规划器接口定义,同时把逆运动学求解公式补全,争取把这部分功能彻底跑通,争取下一次再挑战成功。不过说实话,这次仿真我还没做到完全满足题目要求。仿真执行时小球在7秒内没能精准到达 目标位置,尤其是Z轴方向偏差较大。
尽管如此,这次挑战也让我对MWORKS 2025a SP2中Sysblock的新版功能体验了一遍,比如MASK功能和子系统封装管理,还有数据工作区交互都非常方便,模型搭建效率确实提高不少。虽然仿真结果不算理想,但收获了不少问题经验,也理清了后续优化方向。
专栏
标签
高校专区
Sysblock建模初体验
主题活动
发布于 2025-06-03 22:38:09
查看 22过去390天
所属专栏:其他
产品信息:Sysplorer系统建模仿真环境
全部回答 1
发布于 2025-06-05 09:45:44
您好,感谢您参与本次活动,活动已进入内容评审阶段,后续结果将第一时间与您知会,再次感谢您对MWORKS以及MoHub的使用和支持!
和原帖交流更多问题细节吧,去