这个会跳舞的小车有点东西——用MATLAB玩转倒立摆
基于matlab的一级倒立摆系统控制仿真带GUI操作界面 1.软件版本 matlab2022a 2.运行方法 使用matlab2022a或者高版本仿真运行文件夹中的tops.m或者main.m。 运行时注意matlab左侧的当前文件夹窗口必须是当前工程所在路径。 具体操作观看提供的程序操作视频跟着操作。 3.内容简介 一个可以活动的小车上立着一根不稳定随时会倒下的杆。 小车的轮子由电机控制可以控制小车电机的转动力矩M。 同时也可以获取小车轮子转动的圈数N可以精确到小数和杆相对于垂直位置的倾角α. 不考虑车轮打滑, 小车所受力大小等于电机力矩乘车轮半径, 小车位置可以从转动圈数计算出, 小车可简化为最经典的一阶倒立摆:当你在某宝搜平衡车时可曾想过背后藏着怎样的控制魔法今天咱们就来拆解这个走钢丝的机器人——一级倒立摆系统。直接上硬菜先看现场表演在MATLAB的GUI界面上小车载着细杆左右漂移突然给个干扰力杆子晃两下居然又站稳了先扒开系统外壳看内脏。倒立摆的状态方程长这样% 系统参数配置 M 0.5; % 小车质量 m 0.2; % 摆杆质量 l 0.3; % 摆杆半长 g 9.81; % 重力加速度 % 状态空间方程 A [0 1 0 0; 0 0 (-m*g)/M 0; 0 0 0 1; 0 0 (Mm)*g/(M*l) 0]; B [0; 1/M; 0; -1/(M*l)];这组方程堪称平衡车界的地基但直接控制容易翻车。聪明的工程师们祭出LQR控制器就像给系统装了自动驾驶仪Q diag([10 1 100 10]); % 状态权重 R 0.01; % 控制量权重 K lqr(A,B,Q,R); % 计算反馈矩阵这里的门道在于Q矩阵的第三项特别大相当于告诉控制器杆子的角度最重要给老子盯紧了基于matlab的一级倒立摆系统控制仿真带GUI操作界面 1.软件版本 matlab2022a 2.运行方法 使用matlab2022a或者高版本仿真运行文件夹中的tops.m或者main.m。 运行时注意matlab左侧的当前文件夹窗口必须是当前工程所在路径。 具体操作观看提供的程序操作视频跟着操作。 3.内容简介 一个可以活动的小车上立着一根不稳定随时会倒下的杆。 小车的轮子由电机控制可以控制小车电机的转动力矩M。 同时也可以获取小车轮子转动的圈数N可以精确到小数和杆相对于垂直位置的倾角α. 不考虑车轮打滑, 小车所受力大小等于电机力矩乘车轮半径, 小车位置可以从转动圈数计算出, 小车可简化为最经典的一阶倒立摆:接下来是重头戏——GUI交互界面。MATLAB的GUIDE工具生成的.fig文件里藏着一个控制面板function start_Callback(hObject, eventdata, handles) % 启动按钮回调函数 set_param(pendulum_model,SimulationCommand,start); set(handles.status_text,String,倒立摆开始起舞); % 实时数据更新线程 while strcmp(get_param(pendulum_model,SimulationStatus),running) angle get(logsout,angle).Values.Data; position get(logsout,position).Values.Data; refreshdata(handles.plot_axes,caller); drawnow; end end这个回调函数就像指挥家的手势一点按钮就触发仿真交响乐。实时曲线用了个骚操作——在while循环里持续抓取仿真数据drawnow强制刷新画面效果堪比丝滑的60帧动画。看看界面上的小心机参数输入区支持手动调参把Q矩阵的[10,1,100,10]改成[50,1,200,5]立马能看到杆子从老大爷遛弯变成街舞小哥干扰力滑块实时生效轻轻一拖就让小车表演刹车急停接回旋镖状态曲线采用双Y轴设计小车位移和摆杆角度同台飙戏实测效果惊掉下巴初始角度给到20度远超线性区控制器愣是能掰回来。不过别高兴太早把摆杆质量调到0.5kg试试系统直接给你表演原地去世这说明什么控制算法不是万能的物理设计也得跟上啊文件包里暗藏玄机main.m是总控程序内含模型加载秘术animate_pendulum.m负责三维动画用hgtransform玩空间变换魔术params.mat保存着祖传调参方案新手建议从这开始折腾最后奉劝各位仿真终觉浅绝知此事要躬行。调参时记得做好心理建设——你永远不知道下一组参数会让杆子跳芭蕾还是跳楼。但正是这种不确定性才是控制工程的魅力所在不是吗
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2443966.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!