matlab动力学仿真_【系统辨识】灰箱辨识单关节动力学参数

灰箱辨识:在知道对象的数学模型之后,通过观测对象的输入输出数据,来辨识出对象模型的部分参数。

最终效果:辨识出英雄云台的转动惯量、力臂以及摩擦系数,并搭建simulink仿真系统,进行离线调PID。

实验平台:matlab2018、coppeliasim4.0

实验模型:英雄机器人云台pitch轴

关键:知道我们辨识对象的数学模型,才能做灰箱grey-box辨识,从而找出云台的各项物理参数。


一、采集数据

e2dd292a044b965e3af1cf59052beb35.png

上图为简化后的模型,红色是电机,长条是关节臂。

3b4eda484f885a7afda2e7421a05bd75.png

让云台pitch做阶跃响应,从vrep里采集数据。

二、灰箱辨识

c006e6abc81cd6a48a9b39174c1981ee.png

首先,我们需要知道单关节的空间状态方程(动力学方程)

d760c357de4fbbf96bb412c66db01410.png

m语言写出动力学方程

a031e9083b0f9817e857e06562e81004.png

使用idgrey函数创建一个灰箱,官方文档链接在此

0d38a29169336c63df91fecf0100232f.png

灰箱辨识拟合度如图所示

至此,辨识出了关节的质量m、力臂l以及摩擦系数b。拟合度很好。

三、simulink搭建动力学仿真系统

57fdcf36e8e061f26dea08b95796c25b.png

四、效果对比

通过给定不同组PID参数,来观察simulink搭建的动力学仿真系统,以及灰箱辨识的参数,是否和真实控制时的效果一样。

(左图是coppeliasim,右图是simulink仿真)

f667e2b9caaa72c6fb48802a5dc0fd99.png

93f95a7f1c1b7eefcc3f779878ca18df.png

782d769746c73638605de869547e254a.png

51b868677556b1dced2b8cc078a5e8da.png

结论:灰箱辨识也比黑箱辨识的效果好很多。在已知数学模型的前提下,能找出我们控制的电机、关节的部分物理参数。

提到的黑箱辨识,和自动调PID参数链接如下:

龙胆也老师:【系统辨识】黑箱辨识单关节传递函数,离线调PID​zhuanlan.zhihu.com
龙胆也老师:拒绝瞎调,用matlab,自动调节PID参数​zhuanlan.zhihu.com

更新:力矩前馈结合PID负反馈的效果更好噢!

龙胆也老师:动力学前馈控制单关节​zhuanlan.zhihu.com

声明:本次实验由华南理工大学机器人实验室提供实验环境,由华南虎战队设计仿真英雄机器人。同时感谢华南虎战队的小伙伴一起研究和创新。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值