【泊车】基于强化学习实现智能泊车附matlab代码

简介: 【泊车】基于强化学习实现智能泊车附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测雷达通信 无线传感器

信号处理图像处理路径规划元胞自动机无人机 电力系统

⛄ 内容介绍

基于强化学习的数字孪生智慧停车方法,为智慧城市信息物理融合物联网构建提供了一个智能,易用的系统模型.该智慧停车系统支持对实际场景下多车辆自动泊车过程进行实时控制,并能有效避免碰撞,降低人工停车时间成本,减少人为操作失误安全事故的发生.

⛄ 部分代码

clear all; close all;

freeSpotIdx = 26;

map = ParkingLot(freeSpotIdx);

egoInitialPose = [20, 15, 0];

egoTargetPose = createTargetPose(map,freeSpotIdx)

autoParkingValetParams

mdl = 'rlAutoParkingValet';

open_system(mdl)

createMPCForParking


numObservations = 16;

observationInfo = rlNumericSpec([numObservations 1]);

observationInfo.Name = 'observations';


steerMax = pi/4;

discreteSteerAngles = -steerMax : deg2rad(1) : steerMax;

actionInfo = rlFiniteSetSpec(num2cell(discreteSteerAngles));

actionInfo.Name = 'actions';

numActions = numel(actionInfo.Elements);


blk = [mdl '/RL Controller/RL Agent'];

env = rlSimulinkEnv(mdl,blk,observationInfo,actionInfo);


env.ResetFcn = @autoParkingValetResetFcn;


rng(0)

criticNetwork = [

   featureInputLayer(numObservations,'Normalization','none','Name','observations')

   fullyConnectedLayer(128,'Name','fc1')

   reluLayer('Name','relu1')

   fullyConnectedLayer(128,'Name','fc2')

   reluLayer('Name','relu2')

   fullyConnectedLayer(128,'Name','fc3')

   reluLayer('Name','relu3')

   fullyConnectedLayer(1,'Name','fc4')];


criticOptions = rlRepresentationOptions('LearnRate',1e-3,'GradientThreshold',1);

critic = rlValueRepresentation(criticNetwork,observationInfo,...

   'Observation',{'observations'},criticOptions);



actorNetwork = [

   featureInputLayer(numObservations,'Normalization','none','Name','observations')

   fullyConnectedLayer(128,'Name','fc1')

   reluLayer('Name','relu1')

   fullyConnectedLayer(128,'Name','fc2')

   reluLayer('Name','relu2')

   fullyConnectedLayer(numActions, 'Name', 'out')

   softmaxLayer('Name','actionProb')];


actorOptions = rlRepresentationOptions('LearnRate',2e-4,'GradientThreshold',1);

actor = rlStochasticActorRepresentation(actorNetwork,observationInfo,actionInfo,...

   'Observation',{'observations'},actorOptions);


agentOpts = rlPPOAgentOptions(...

   'SampleTime',Ts,...

   'ExperienceHorizon',512,...

   'ClipFactor',0.2,...

   'EntropyLossWeight',0.01,...

   'MiniBatchSize',64,...

   'NumEpoch',3,...

   'AdvantageEstimateMethod',"gae",...

   'GAEFactor',0.95,...

   'DiscountFactor',0.99);

%     'DiscountFactor',0.998);

agent = rlPPOAgent(actor,critic,agentOpts);



trainOpts = rlTrainingOptions(...

   'MaxEpisodes',10000,...

   'MaxStepsPerEpisode',200,...

   'ScoreAveragingWindowLength',200,...

   'Plots','training-progress',...

   'StopTrainingCriteria','AverageReward',...

   'StopTrainingValue',80,...

   'UseParallel',true);


doTraining =0;

if doTraining

   tic

   trainingStats = train(agent,env,trainOpts);

   toc

   save('7_Self_rlAutoParkingValetAgent.mat');

else

   load('6_Self_rlAutoParkingValetAgent.mat','agent');

end


set(gcf,'position',[500 600 1500 1000])

pause(1)

freeSpotIdx = 26;  % free spot location

sim(mdl);

% save('Self_rlAutoParkingValetAgent.mat');

% load('Self_rlAutoParkingValetAgent.mat');


⛄ 运行结果

⛄ 参考文献

[1]肖蓬勃. 基于MATLAB中高档轿车智能泊车系统开发及应用研究[D]. 桂林电子科技大学.

[2]陈慧, 宋绍禹, 孙宏伟,等. 一种基于模型强化学习的智能泊车方法:.

⛄ Matlab代码关注

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料


相关文章
|
2月前
|
存储
基于遗传算法的智能天线最佳阵列因子计算matlab仿真
本课题探讨基于遗传算法优化智能天线阵列因子,以提升无线通信系统性能,包括信号质量、干扰抑制及定位精度。通过MATLAB2022a实现的核心程序,展示了遗传算法在寻找最优阵列因子上的应用,显著改善了天线接收功率。
|
1月前
|
机器学习/深度学习 存储 算法
基于Actor-Critic(A2C)强化学习的四旋翼无人机飞行控制系统matlab仿真
基于Actor-Critic强化学习的四旋翼无人机飞行控制系统,通过构建策略网络和价值网络学习最优控制策略。MATLAB 2022a仿真结果显示,该方法在复杂环境中表现出色。核心代码包括加载训练好的模型、设置仿真参数、运行仿真并绘制结果图表。仿真操作步骤可参考配套视频。
76 0
|
2月前
|
机器学习/深度学习 算法 数据可视化
基于QLearning强化学习的机器人避障和路径规划matlab仿真
本文介绍了使用MATLAB 2022a进行强化学习算法仿真的效果,并详细阐述了Q-Learning原理及其在机器人避障和路径规划中的应用。通过Q-Learning算法,机器人能在未知环境中学习到达目标的最短路径并避开障碍物。仿真结果展示了算法的有效性,核心程序实现了Q表的更新和状态的可视化。未来研究可扩展至更复杂环境和高效算法。![](https://ucc.alicdn.com/pic/developer-ecology/nymobwrkkdwks_d3b95a2f4fd2492381e1742e5658c0bc.gif)等图像展示了具体仿真过程。
141 0
|
4月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
236 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
4月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
143 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
4月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
111 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
7月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
7月前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
|
7月前
|
Serverless
基于Logistic函数的负荷需求响应(matlab代码)
基于Logistic函数的负荷需求响应(matlab代码)

热门文章

最新文章