将混合动力电动重型车辆具有速度约束的生态驾驶问题的全局最优解与恒速轮廓驾驶进行了比较(Matlab代码实现)

文章通过Matlab代码对比了混合动力电动重型车辆在速度约束下的生态驾驶全局最优解与恒速驾驶策略。参数设置在`paramterets.m`和`problem_config.m`中定义,代码展示了车辆参数和运行结果的图形表示,包括速度和牵引力的变化以及能量消耗的比较。
摘要由CSDN通过智能技术生成

 👨‍🎓个人主页:研学社的博客 

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🌈3 Matlab代码实现

🎉4 参考文献


💥1 概述

在本文中,将混合动力电动重型车辆具有速度约束的生态驾驶问题的全局最优解与恒速轮廓驾驶进行了比较。

  • paramterets.m 包含问题中使用的参数集。在此文件中,可以修改速度和加速度约束。
  • problem_config.m包括与问题相关的一般参数,例如采样时间。

📚2 运行结果

 部分代码:

function [ par ] = parameters( par )

%Electric Motor - parameters
par.em.beta2 = 2*2.526044703610551e-04;
par.em.beta1 = 2*1.005;
par.em.beta0 = 2*0.292803996942460;


%Vehicle - parameters
par.veh.Af = 7.54; %frontal area
par.veh.Cdrag = 0.7; %drag coefficient
par.veh.Croll = 0.007; %rolling coefficient
par.veh.rhoa = 1.184; 
par.veh.m = 15.95*1000;
par.veh.Cd = 0.5*par.veh.Cdrag*par.veh.rhoa*par.veh.Af; %drag constant
par.veh.Cr =par.veh.Croll*9.81*par.veh.m; %rolling resistance force
par.veh.g = 9.81;
par.veh.gamma1 = (1.5*2*pi)/(21000);
par.veh.gamma0 = -pi/4;
par.veh.beta = -((450)/2)*par.veh.gamma1;
par.veh.s0 = 0;
par.veh.sN = 21000;
par.veh.v0 = 70/3.6; % %[m/s]
par.veh.vN = 70/3.6; % %[m/s]
par.veh.vMax = 80/3.6; %[m/s]
par.veh.vMin = 60/3.6; %60/3.6; %[m/s]
par.veh.aMax=0.2*9.8;  %[m/s^2]
par.veh.aMin=-0.2*9.8; %[m/s^2]


end

fig = figure;
    left_color = [39, 75, 130]/255;
    right_color =  [36, 96, 63]/255;
    set(fig,'defaultAxesColorOrder',[left_color; right_color]);
    
    subplot(2,1,1)%---------------------
    
    yyaxis left
    axis([0, max(s/1000),min([v_bl;v]*3.6) ,max([v_bl;v]*3.6)])
    
    plot(s_bl/1000,v_bl*3.6,'LineWidth',4)
    hold on
    plot(s/1000,v*3.6,'-.','LineWidth',4,'Color',[67, 137, 198]/255)

    xlabel('Displacement \sl s \rm [km]')
    ylabel('Velocity \sl v \rm [km/h]')
    hold on
    
    yyaxis right
    ar=area(s_bl/1000,h_bl);
    ar.FaceAlpha =0.3;
    ar.FaceColor = [36, 96, 63]/255;
    ar.LineStyle  =':';
    grid on
    legend('Constant speed driving', 'Eco-driving');
    
    
    
   subplot(2,1,2)%------------------------------------
    
    yyaxis left
    axis([0, max(s/1000) ,min(u/1000) ,max(u/1000)])
  
    plot(s/1000,u/1000,'-.','LineWidth',4,'Color',[67, 137, 198]/255)
    xlabel('Displacement \sl s \rm [km]')
    ylabel('Traction Force \sl u \rm [kN]')
    
    yyaxis right
    ar=area(s_bl/1000,h_bl);
    ar.FaceAlpha =0.3;
    ar.FaceColor = [36, 96, 63]/255;
    ar.LineStyle  =':';
    ylabel('Elevation \sl h \rm [m]')
    grid on

   saveas(gcf, 'results/ExampleB.fig')
   print('results/plot', '-dpdf')
    
    

🌈3 Matlab代码实现

🎉4 参考文献

部分理论来源于网络,如有侵权请联系删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝科研社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值