您现在的位置:首页 >> 机器学习 >> 内容

基于Qlearning强化学习的Cart-Pole推车杆平衡控制系统matlab仿真

时间:2025/3/4 16:22:27 点击:

  核心提示:0Z_016m,包括程序操作录像...

1.完整项目描述和程序获取

>面包多安全交易平台:https://mbd.pub/o/bread/aJWXlJxv

>如果链接失效,可以直接打开本站店铺搜索相关店铺:

点击店铺

>如果链接失效,程序调试报错或者项目合作可以加微信或者QQ联系。

2.部分仿真图预览


3.算法概述

       强化学习作为一种强大的机器学习范式,为解决这类复杂的控制问题提供了有效的途径。其中,Q-learning算法因其简单性和通用性,在Cart-Pole推车杆平衡控制系统中得到了广泛应用。本文将深入探讨基于Q-learning强化学习的Cart-Pole推车杆平衡控制系统的原理。

4.部分源码

.............................................................

% 绘制新的状态

figure(1);

% 计算杆的两个端点的 x 坐标

X = [Pos_car, Pos_car+Lens*sin(Ang_car)];

% 计算杆的两个端点的 y 坐标

Y = [0.1, 0.1+Lens*cos(Ang_car)];

% 绘制小车,用绿色矩形表示

obj=rectangle('Position',[Pos_car-0.1,0,0.2,0.1],'facecolor','g');

hold on

% 绘制杆,用蓝色粗线表示

obj2=plot(X,Y,'b','LineWidth',4);

hold on

% 设置坐标轴范围

axis([-0.5 0.5 0 2]);

% 根据外力方向显示图例

if F > 0

   legend('>','FontSize', 15);

else

   legend('<','FontSize', 15);

end

% 更新图形窗口的标题,显示训练次数和最大成功次数

title(strcat('训练次数',num2str(iters)));

hold off

 

 

% 绘制平均 Q 值随训练次数的变化曲线

figure

plot(Q_save);

% 设置 x 轴标签

xlabel('训练次数');

% 设置 y 轴标签

ylabel('Q value收敛值');

 

% 绘制子图

figure

% 绘制第一个子图,显示杆的角速度随训练次数的变化

subplot(221);

plot(Vang_car_save);

% 设置子图标题

title('pole角速度');

 

% 绘制第二个子图,显示杆的角度随训练次数的变化

subplot(222);

plot(Ang_car_save);

% 设置子图标题

title('pole角度');

 

% 绘制第三个子图,显示小车的速度随训练次数的变化

subplot(223);

plot(V_car_save);

% 设置子图标题

title('pole速度');

 

% 绘制第四个子图,显示小车的位置随训练次数的变化

subplot(224);

plot(Pos_car_save);

% 设置子图标题

title('pole位置');

0Z_016m

---

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关文章
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168