用于自学习控制的分布式嵌入式控制器实施方式的制作方法
未命名
09-29
阅读:144
评论:0
1.本公开涉及车辆,并且更具体地涉及与具有强化学习的分布式嵌入式控制器系统相关联的系统和方法。
背景技术:
2.本节提供的信息是为了一般性地介绍本披露内容的背景。在本节中描述的范围内,以及在申请时可能不符合现有技术条件的描述方面,目前指定的发明人的工作既不明确也不暗示被承认为反对本披露内容的现有技术。
3.某些类型的车辆仅包括生成推进扭矩的内燃机。混合动力车辆包括内燃机和一个或多个电动马达。一些类型的混合动力车辆利用电动马达和内燃机来提高燃料效率。其他类型的混合动力车辆利用电动马达和内燃机来实现更大的扭矩输出。
4.混合动力车辆的示例包括并联混合动力车辆、串联混合动力车辆以及其他类型的混合动力车辆。在并联混合动力车辆中,电动马达与发动机并联工作,以将发动机的功率和范围优势与电动马达的效率和再生制动优势结合。在串联混合动力车辆中,发动机驱动发电机为电动马达发电,并且电动马达驱动变速器。这允许电动马达承担发动机的一些动力责任,这可允许使用更小并且可能更高效的发动机。本技术适用于电动车辆、混合动力车辆和其他类型的车辆。
技术实现要素:
5.在一个特征中,一种用于车辆的分布式学习系统包括:控制模块,所述控制模块被配置为:使用策略控制车辆的装置,向学习模块发送包括有关对装置的控制的影响的信息的信号,并且使用探索性控制选择性地控制装置;以及学习模块,其中,学习模块与控制模块分离并且被配置为基于以下各项选择性地更新政策:(a)来自控制模块的信号,(b)由使用策略来控制装置所产生的状态参数,以及(c)基于使用策略对装置的控制和使用探索性控制对装置的选择性控制确定的性能反馈,其中,控制模块被配置为从学习模块接收探索性控制。
6.在进一步的特征中,学习模块被配置为使用强化学习选择性地更新策略。
7.在进一步的特征中,信号包括装置的测量参数和估计参数。
8.在进一步的特征中:控制模块被配置为以第一速率更新对设备的控制;并且学习模块被配置为以比第一速率慢的第二速率选择性地更新策略。
9.在进一步的特征中:控制模块具有第一内存需求;并且学习模块具有大于第一内存需求的第二内存需求。
10.在进一步的特征中,学习模块被配置为基于在预定时间段内的性能反馈的范围选择性地更新策略。
11.在进一步的特征中,学习模块在车辆上。
12.在进一步的特征中,学习模块位于远离车辆的位置。
13.在进一步的特征中,学习模块被配置为确定探索性控制并且将该探索性控制传输到控制模块。
14.在进一步的特征中:装置是包括第一电源(power source)和第二电源(power source)的能量存储系统;并且控制模块被配置为控制将第一电源和第二电源与一个或多个负载连接和断开的开关的致动。
15.在进一步的特征中,控制模块被配置为:使用策略确定要从第一电源请求的功率需求的第一百分比;基于第一百分比确定要从第二电源请求的功率需求的第二百分比;以及基于第一百分比和第二百分比控制开关的致动。
16.在进一步的特征中,探索性控制涉及次优控制。
17.在进一步的特征中:控制模块被配置为在整个第一预定时间段内缓存(a)、(b)以及(c),并且将缓存的数据传输到学习模块;并且学习模块被配置为根据缓存数据选择性地更新策略。
18.在进一步的特征中:控制模块被配置为每隔第二预定时间段缓存(a)、(b)以及(c),并且将缓存的数据传输到学习模块;并且学习模块被配置为基于缓存数据选择性地更新策略。
19.在一个特征中,一种用于车辆的分布式学习方法包括:通过控制模块:使用策略控制车辆的装置,向学习模块传输包括有关控制对装置的影响的信息的信号;使用探索性控制选择性地控制装置,以及接收来自学习模块的探索性控制,其中,学习模块与控制模块分离;并且通过学习模块,基于以下各项选择性地更新策略:(a)来自控制模块的信号、(b)使用策略来控制装置所产生的状态参数,以及(c)基于使用策略控制装置和使用探索性策略选择性地控制装置确定的性能反馈。
20.在进一步的特征中,选择性地更新策略包括使用强化学习选择性地更新策略。
21.在进一步的特征中,信号包括装置的测量参数和估计参数。
22.在进一步的特征中:控制装置包括以第一速率更新对装置的控制;并且选择性地更新策略包括以比第一速率慢的第二速率选择性地更新策略。
23.在进一步的特征中:控制模块具有第一内存需求;并且学习模块具有大于第一内存需求的第二内存需求。
24.在进一步的特征中,存在以下各项中的一项:学习模块在车辆上;以及学习模块位于远离车辆的位置。
25.本发明具有以下方案。
26.方案1. 一种用于车辆的分布式学习系统,包括:控制模块,所述控制模块被配置为:使用策略来控制所述车辆的装置,向学习模块发送信号,所述信号包括有关所述控制对所述装置的影响的信息,并且使用探索性控制选择性地控制所述装置;以及学习模块,其中,所述学习模块与所述控制模块分离并且被配置为基于以下各项选择性地更新所述策略:(a)来自所述控制模块的所述信号、(b)由使用所述策略控制所述装置产生的状态参数,以及(c)基于使用所述策略控制所述装置和使用探索性控制选择性
地控制所述装置所确定的性能反馈,其中,所述控制模块被配置为从所述学习模块接收所述探索性控制。
27.方案2. 如方案1所述的分布式学习系统,其中,所述学习模块被配置为使用强化学习选择性地更新所述策略。
28.方案3. 如方案1所述的分布式学习系统,其中,所述信号包括用于所述装置的测量参数和估计参数。
29.方案4. 如方案1所述的分布式学习系统,其中:所述控制模块被配置为以第一速率更新对所述装置的所述控制;以及所述学习模块被配置为以比所述第一速率慢的第二速率选择性地更新所述策略。
30.方案5. 如方案1所述的分布式学习系统,其中:所述控制模块具有第一内存需求;以及所述学习模块具有大于所述第一内存需求的第二内存需求。
31.方案6. 如方案1所述的分布式学习系统,其中,所述学习模块被配置为基于在预定时间段内的性能反馈的范围(horizon)选择性地更新所述策略。
32.方案7. 如方案1所述的分布式学习系统,其中,所述学习模块在所述车辆上。
33.方案8. 根据方案1所述的分布式学习系统,其中,所述学习模块位于远离所述车辆的位置。
34.方案9. 如方案1所述的分布式学习系统,其中,所述学习模块被配置为确定所述探索性控制并且将所述探索性控制传输到所述控制模块。
35.方案10. 如方案1所述的分布式学习系统,其中:所述装置是能量存储系统,包括第一电源和第二电源;以及所述控制模块被配置为控制将所述第一电源和所述第二电源与一个或多个负载连接和断开的开关的致动。
36.方案11. 如方案10所述的分布式学习系统,其中,所述控制模块被配置为:使用所述策略确定从所述第一电源所请求的功率需求的第一百分比;基于所述第一百分比确定要从所述第二电源请求的功率需求的第二百分比;以及基于所述第一百分比和所述第二百分比控制所述开关的致动。
37.方案12. 如方案1所述的分布式学习系统,其中,所述探索性控制涉及次优控制。
38.方案13. 如方案1所述的分布式学习系统,其中:所述控制模块被配置为在整个第一预定时间段内缓存(a)、(b)和(c),并且将所缓存的数据传输到所述学习模块;以及所述学习模块被配置为基于所缓存的数据选择性地更新所述策略。
39.方案14. 如方案1所述的分布式学习系统,其中:所述控制模块被配置为每隔第二预定时间段缓存(a)、(b)和(c),并且将所缓存的数据传输到所述学习模块;以及所述学习模块被配置为基于所缓存的数据选择性地更新所述策略。
40.方案15. 一种用于车辆的分布式学习方法,包括:通过控制模块:使用策略控制所述车辆的装置,
向学习模块传输信号,所述信号包括有关所述控制对所述装置的影响的信息,使用探索性控制选择性地控制所述装置,并且接收来自所述学习模块的所述探索性控制,其中,所述学习模块与所述控制模块分离;以及通过所述学习模块,基于以下各项选择性地更新所述策略:(a)来自所述控制模块的所述信号、(b)由使用所述策略控制所述装置产生的状态参数,以及(c)基于使用所述策略对所述装置的所述控制和使用探索性控制对所述装置的选择性控制所确定的性能反馈。
41.方案16. 如方案15所述的分布式学习方法,其中,选择性地更新所述策略包括使用强化学习选择性地更新所述策略。
42.方案17. 如方案15所述的分布式学习方法,其中,所述信号包括用于所述装置的测量参数和估计参数。
43.方案18. 如方案15所述的分布式学习方法,其中:控制所述装置包括以第一速率更新所述装置的所述控制;以及选择性地更新所述策略包括以比所述第一速率慢的第二速率选择性地更新所述策略。
44.方案19. 如方案14所述的分布式学习方法,其中:所述控制模块具有第一内存需求;以及所述学习模块具有大于所述第一内存需求的第二内存需求。
45.方案20. 如方案14所述的分布式学习方法,其中,存在以下各项中的一项:所述学习模块在所述车辆上;以及所述学习模块位于远离所述车辆的位置。
46.根据详细描述、权利要求和附图,本公开的其他应用领域将变得显而易见。详细描述和具体示例仅用于说明的目的,并不旨在限制本公开的范围。
附图说明
47.本披露内容将从详细的描述和附图得到更全面的理解,其中:图1是示例发动机控制系统的功能框图;图2是能量管理系统的示例实施方式的功能框图;图3是示例学习系统的功能框图;图4是包括一个控制模块和一个学习模块的示例系统的功能框图;图5是q值对状态和输入(控制动作)的示例图表;图6至图9是描绘使用多个不同模块执行强化学习的示例方法的流程图。
48.在附图中,可以重复使用参考编号来标识相似和/或相同的元件。
具体实施方式
49.车辆包括控制车辆的不同装置的多个控制模块。装置的示例包括开关、电动马达、逆变器、发动机、混合能量存储系统以及其他类型的车辆装置。混合能量存储系统包括两种或多种不同类型的电源(例如,电池和超级电容器),它们可以独立地用于输出电力。
50.控制模块可以被配置为自行执行强化学习,以提供更好的控制。然而,控制模块可
能会受到资源(例如内存、计算工作量等)的限制,以防止使用强化学习。
51.本技术涉及分布式强化学习。控制模块执行强化学习的第一部分。远离控制模块的第二模块执行强化学习的第二部分并且更新控制模块。该第二模块可以是车辆的另一模块或位于远离车辆的位置,诸如在与车辆无线通信的远程服务器中。
52.现在参考图1,呈现了示例动力系统100的功能框图。车辆的动力系统100包括燃烧空气/燃料混合物以产生扭矩的发动机102。车辆可以是非自主的或自主的。
53.空气通过进气系统108被抽吸到发动机102中。进气系统108可包括进气歧管110和节气门112。仅举例来说,节气门112可包括具有可旋转叶片的蝶阀。发动机控制模块(ecm)114控制节气门致动器模块116,并且节气门致动器模块116调节节气门112的开度以控制进入进气歧管110的气流。
54.来自进气歧管110的空气被抽吸到发动机102的气缸中。虽然发动机102包括多个气缸,但出于说明的目的,示出了单个代表性气缸118。仅举例来说,发动机102可包括2个、3个、4个、5个、6个、8个、10个和/或12个气缸。ecm 114可指示气缸致动器模块120在一些情况下选择性地停用气缸中的一些气缸,这可以提高燃料效率。
55.发动机102可以使用四冲程循环或另一合适的发动机循环来操作。以下描述的四冲程循环的四个冲程将被称为进气冲程、压缩冲程、燃烧冲程以及排气冲程。在曲轴(未示出)的每转期间,四个冲程中的两个冲程发生在气缸118内。因此,气缸118需要两次曲轴旋转以经历所有四个冲程。对于四冲程发动机,一个发动机循环可对应于两次曲轴旋转。
56.当气缸118被启用时,来自进气歧管110的空气在进气冲程期间通过进气门122被抽吸到气缸118。ecm 114控制燃料致动器模块124,该燃料致动器模块调节燃料喷射以实现期望的空气/燃料比。燃料可以在中心位置或在多个位置处被喷射到进气歧管110中,诸如在气缸中的每个气缸的进气门122附近。在各种实施方式(未示出)中,燃料可以直接喷射到气缸中或喷射到与气缸相关联的混合室/端口中。燃料致动器模块124可以停止向停用的气缸喷射燃料。
57.喷射的燃料与空气混合并且在气缸118中产生空气/燃料混合物。在压缩冲程期间,气缸118内的活塞(未示出)压缩空气/燃料混合物。发动机102可以是压燃式发动机,在这种情况下,压缩引起空气/燃料混合物的点燃。可替代地,发动机102可以是火花点火式发动机,在这种情况下,火花致动器模块126基于来自ecm 114的信号给气缸118中的火花塞128通电,这点燃了空气/燃料混合物。一些类型的发动机,诸如均质冲量压缩点火式(hcci)发动机可执行压缩点火和火花点火。可相对于活塞处于其最高位置的时间来指定火花的正时,活塞处于其最高位置将被称为上止点(tdc)。
58.火花致动器模块126可由定时信号控制,该定时信号指定在tdc之前或之后多远来产生火花。由于活塞位置与曲轴旋转直接相关,所以火花致动器模块126的操作可以与曲轴的位置同步。火花致动器模块126可以禁止向停用气缸提供火花或向停用气缸提供火花。
59.在燃烧冲程期间,空气/燃料混合物的燃烧将活塞向下驱动,从而驱动曲轴。燃烧冲程可以被定义为活塞到达tdc和活塞返回到最底部位置的时间之间的时间,活塞返回到最底部位置将被称为下止点(bdc)。
60.在排气冲程期间,活塞开始从bdc向上移动并通过排气门130排出燃烧的副产物。燃烧的副产物经由排气系统134从车辆排出。
61.进气门122可由进气凸轮轴140控制,而排气门130可由排气凸轮轴142控制。在各种实施方式中,多个进气凸轮轴(包括进气凸轮轴140)可控制用于气缸118的多个进气门(包括进气门122)和/或可控制多组气缸(包括气缸118)的进气门(包括进气门122)。类似地,多个排气凸轮轴(包括排气凸轮轴142)可控制气缸118的多个排气门和/或可控制多组气缸(包括气缸118)的排气门(包括排气门130)。虽然显示并讨论了基于凸轮轴的气门致动,但可实现无凸轮气门致动器。虽然示出了单独的进气凸轮轴和排气凸轮轴,但是可使用具有凸角的用于进气门和排气门两者的凸轮轴。
62.气缸致动器模块120可通过禁用进气门122和/或排气门130的打开来停用气缸118。进气门122打开的时间可以通过进气凸轮相位器148相对于活塞tdc改变。排气门130打开的时间可以通过排气凸轮相位器150相对于活塞tdc改变。相位器致动器模块158可基于来自ecm 114的信号控制进气凸轮相位器148和排气凸轮相位器150。在各种实施方式中,可以省略凸轮定相。可变气门升程(未示出)也可由相位器致动器模块158控制。在各种其他实施方式中,进气门122和/或排气门130可由除凸轮轴之外的致动器控制,诸如机电致动器、电动液压致动器、电磁致动器等。
63.发动机102可包括零个、一个或多于一个增压设备,该增压设备向进气歧管110提供加压空气。例如,图1示出了包括涡轮增压器涡轮160-1的涡轮增压器,该涡轮增压器涡轮由流过排气系统134的排气驱动。机械增压器(supercharger)是另一种类型的增压设备。
64.涡轮增压器还包括涡轮增压器压缩机160-2,该涡轮增压器压缩机由涡轮增压器涡轮160-1驱动并且压缩通向节气门112的空气。废气门(wg)162控制通过涡轮增压器涡轮160-1和绕过该涡轮增压器涡轮的排气流。废气门也可以称为(涡轮增压器)涡轮旁通阀。废气门162可允许排气绕过涡轮增压器涡轮160-1以减少由涡轮增压器提供的进气压缩。ecm 114可经由废气门致动器模块164控制涡轮增压器。废气门致动器模块164可以通过控制废气门162的开度来调节涡轮增压器的增压。
65.冷却器(例如,增压空气冷却器或中间冷却器)可消散压缩的空气充气中包含的热中的一些,这些热可在空气被压缩时生成。尽管出于说明的目的分开示出,但涡轮增压器涡轮160-1和涡轮增压器压缩机160-2可彼此机械连接,从而将进气置于热排气附近。压缩空气充气可从排气系统134的部件吸收热。
66.发动机102可包括排气再循环(egr)阀170,该排气再循环阀选择性地将排气重新引导回进气歧管110。egr阀170可接收排气系统134中的来自涡轮增压器涡轮160-1上游的排气。egr阀170可由egr致动器模块172控制。
67.可使用曲轴位置传感器180测量曲轴位置。可基于使用曲轴位置传感器180测量的曲轴位置确定发动机速度。可使用发动机冷却剂温度(ect)传感器182测量发动机冷却剂的温度。ect传感器182可位于发动机102内或冷却剂进行循环的其他位置,诸如散热器(未示出)。
68.进气歧管110内的压力可使用歧管绝对压力(map)传感器184来测量。在各种实施方式中,可测量发动机真空度,发动机真空度是环境空气压力和进气歧管110内的压力之间的差。流入进气歧管110的空气的质量流率可使用质量空气流量(maf)传感器186来测量。在各种实施方式中,maf传感器186可位于还包括节气门112的外壳中。
69.节气门112的位置可使用一个或多个节气门位置传感器(tps)190测量。抽吸到发
动机102中的空气的温度可使用进气空气温度(iat)传感器192测量。也可以实现一个或多个其他传感器193。其他传感器193包括加速器踏板位置(app)传感器、制动踏板位置(bpp)传感器,可包括离合器踏板位置(cpp)传感器(例如,在手动变速器的情况下),并且可包括一个或多个其他类型的传感器。app传感器测量车辆客舱内加速器踏板的位置。bpp传感器测量车辆客舱内制动踏板的位置。cpp传感器测量车辆客舱内离合器踏板的位置。其他传感器193还可以包括一个或多个加速度传感器,这些加速度传感器测量车辆的纵向(例如,前/后)加速度和车辆的横向加速度。加速度计是示例类型的加速度传感器,但可使用其他类型的加速度传感器。ecm 114可使用来自传感器的信号为发动机102做出控制决定。
70.ecm 114可与变速器控制模块194通信,例如,以协调发动机操作与变速器195中的换档。ecm 114可与混合动力控制模块196通信,例如,以协调发动机102和电动马达198(电机)的操作。虽然提供了一个电动马达的示例,但可以实现多个电动马达。电动马达198可以是永磁电动马达或在自由旋转时基于反电磁力(emf)输出电压的另一种合适类型的电动马达,诸如直流(dc)电动马达或同步电动马达。在各种实施方式中,ecm 114、变速器控制模块194和混合动力控制模块196的各种功能可集成到一个或多个模块中。
71.改变发动机参数的每个系统可被称为发动机致动器。每个发动机致动器具有相关联的致动器值。例如,节气门致动器模块116可被称为发动机致动器,并且节气门开口面积可被称为致动器值。在图1的示例中,节气门致动器模块116通过调整节气门112的叶片角度来实现节气门开口面积。
72.火花致动器模块126也可被称为发动机致动器,而对应的致动器值可以是相对于气缸tdc的火花提前量。其他发动机致动器可包括气缸致动器模块120、燃料致动器模块124、相位器致动器模块158、废气门致动器模块164和egr致动器模块172。对于这些发动机致动器,致动器值可分别对应于气缸启用/停用顺序、燃料比、进气和排气凸轮相位器角度、目标排气门开度和egr阀开度。
73.ecm 114可控制致动器值以使发动机102基于扭矩请求输出扭矩。ecm 114可例如基于诸如app、bpp、cpp等的一个或多个驾驶员输入和/或一个或多个其他合适的驾驶员输入来确定扭矩请求。ecm 114可例如使用将驾驶员输入与扭矩请求相关联的一个或多个函数或查找表来确定扭矩请求。
74.在一些情况下,混合动力控制模块196控制电动马达198以输出扭矩,例如,以补充发动机扭矩输出。混合动力控制模块196还可控制电动马达198以在发动机102关闭时输出用于车辆推进的扭矩。
75.混合动力控制模块196将来自混合动力能量存储系统(hess)的电力施加到电动马达198,以使电动马达198输出正扭矩。电动马达198可将扭矩输出到例如变速器195的输入轴、变速器195的输出轴或另一部件。可以实现离合器200以将电动马达198联接到变速器195并且将电动马达198与变速器195分离。可在电动马达198的输出端和变速器195的输入端之间实现一个或多个齿轮传动设备,以在电动马达198的旋转与变速器195的输入端的旋转之间提供一个或多个预定的齿轮比。在各种实施方式中,可省略电动马达198。本技术也适用于包括多个电动马达的情况。
76.虽然上文讨论了车辆的示例模块,但车辆可包括其他模块和/或可省略上述模块中的一个或多个。另外,虽然提供了车辆的示例实施方式,但本技术也适用于非车辆示例。
此外,虽然提供了混合动力车辆的示例,但本技术也适用于电动车辆、燃料电池车辆和其他类型的车辆。
77.图2是车辆的能量管理系统的示例实施方式的功能框图。虽然将描述示例能量管理系统,但本技术也适用于其他系统。
78.请求模块204基于诸如加速器踏板位置(app)212的一个或多个输入来确定扭矩请求208。请求模块204可使用例如将输入(例如,app)与扭矩请求相关联的方程或查找表来确定扭矩请求。
79.功率请求模块216基于扭矩请求208确定功率请求220。功率请求模块216可使用例如将扭矩请求与功率请求相关联的方程或查找表来确定功率请求220。功率请求220可以是从hess 224请求的电量,该hess包括多个不同的电源,诸如电池228、超级电容器(或动力电池)232、和/或一个或多个能够用于实现功率请求220的其他合适的电源。在一些示例中,hess 224可包括相同类型电源的多个不同实例。不同的电源可具有不同的化学反应并在不同的情况下使用。
80.分配模块236确定应当如何在hess 224的电源之间分配功率请求220。例如,分配模块236可确定应由电池228提供的功率请求220的第一百分比以及应由超级电容器232提供的功率请求220的第二百分比。分配模块236可基于hess 224的操作参数240,诸如电荷状态、电池电压、电池电流、超级电容器电压、超级电容器电流、损耗等来确定第一百分比。分配模块236可使用方程或查找表来确定第一百分比。分配模块236可基于100%减去第一百分比来设置第二百分比或者可将第二百分比设置为等于100%减去第一百分比。
81.分配模块236基于功率请求220和第一百分比生成电池功率请求(batt)244。例如,分配模块236可基于功率请求220乘以第一百分比来设置电池功率请求244或者可将该电池功率请求设置为该功率请求乘以第一百分比。分配模块236基于功率请求220和第二百分比生成超级电容器功率请求(sc)248。例如,分配模块236可基于功率请求220乘以第二百分比来设置超级电容器功率请求248或者可将该超级电容器功率请求设置为该功率请求乘以第二百分比。负载的一个示例包括动力系统/牵引系统和暖通空调(hvac)系统。虽然提供了hess的示例环境,但本技术也适用于其他控制系统。
82.功率控制模块252基于电池功率请求244控制第一一个或多个开关256的切换。以这种方式,从电池228到负载260的功率流实现了电池功率请求244。功率控制模块252基于超级电容器功率请求248控制第二一个或多个开关264的切换。以这种方式,从超级电容器232到负载264的功率流实现了超级电容器232功率请求248。负载260和264可以是相同的负载或者可包括一个或多个不同的负载。
83.图3是示例学习系统的功能框图。车辆包括运行时间控制映射304,该运行时间控制映射包括n个不同的控制模块308-1、308-2、...、308-n(控制模块308)。n是大于或等于2的整数。控制模块308可以是车载模块并且可以是嵌入式控制器。
84.还包括学习模块312并且该学习模块与控制模块308分离。学习模块312可以是车辆的一部分或者可以远离车辆(例如,在远程服务器中)并且与车辆进行无线通信,诸如经由卫星、蜂窝或其他无线通信网络。学习模块312执行强化学习的一部分,控制模块308分别地执行强化学习的另一部分。
85.图3的系统提供分布式自学习控制架构。自学习分为多个不同的模块并由这些多
个不同的模块执行。可使用改进形式的强化学习来实现自学习,但本技术也适用于其他类型的学习并且不限于强化学习。
86.图4是包括将被称为控制模块404的控制模块308以及学习模块312中的一个的示例系统的功能框图。虽然将讨论控制模块404和学习模块312的示例,但学习模块312可以以相同的方式与每个控制模块308交互。控制模块404具有第一内存需求,而学习模块312具有大于第一内存需求的第二内存需求。
87.控制模块404包括使用静态策略u来控制装置412的动作模块408。策略u可由方程描述,其中,u是策略,π*是当前变量,s是状态测量结果和需求/请求。该策略包括q值矩阵。例如,装置412可以是车辆的致动器。动作模块408以第一速率调节对装置412的控制,例如每x毫秒,其中x是大于零的整数。
88.装置412的操作参数416被输入到状态和奖励模块。操作参数416可包括装置412的测量和/或估计参数。测量参数可使用传感器来测量。估计参数可由估计模块例如基于一个或多个测量参数估计。
89.状态和奖励模块420基于操作参数416确定状态参数424(sk),诸如使用一个或多个方程和/或查找表来确定。状态和奖励模块420还基于操作参数416确定一个或多个奖励参数428(rk),诸如使用一个或多个方程和/或查找表来确定。
90.范围模块432可基于奖励参数428在预定时间段内确定奖励范围436。在各种实施方式中,奖励范围436可包括在过去的预定时间段期间确定的奖励参数428的时间序列。
91.学习模块312包括学习和适应模块440。学习和适应模块440为动作模块408使用的策略确定(学习)学习参数444。学习参数444可包括例如q值矩阵的值。一旦接收到,动作模块408就使用学习参数444来控制装置412。学习和适应模块440以第二速率更新学习参数444,诸如每y毫秒,其中,y是大于零的整数并且y大于或等于x。换句话说,第二速率更慢(较不频繁)或与第一速率相同。
92.对于x值,控制模块404执行其控制循环,诸如以电池或车辆操作的最快速率。学习模块312可以以较慢的速率执行,诸如控制模块404的每10个样本/循环或以事件驱动模式(例如,每次放电或再生,或在行程结束时)执行。在行程结束的示例中,从钥匙开启到钥匙关闭的信息被传输到学习模块312(例如,在远程服务器中),该学习模块可基于整个行程的表现执行一次学习。
93.学习和适应模块440可使用一个或多个方程和/或查找表基于动作模块408采取的动作448、状态参数424和奖励范围436来确定学习参数444。在各种实施方式中,可以省略范围模块432,并且学习和适应模块440可使用一个或多个方程和/或查找表基于动作模块408的动作448、状态参数424和奖励参数428来确定学习参数444。在图2的示例中,动作448可包括例如第一百分比,该第一百分比指示由电池228供应多少功率请求220,由超级电容器232供应多少功率请求220。
94.学习和适应模块440可使用强化学习和学习规则来确定学习参数444。在各种实施方式中,学习规则可描述为其中,s包括状态参数,u包括当前参数。学习和适应速率452(例如,α,γ,ε)可以是固定的并且由速率模块456提供。在各种实施方式中,速率模块456可以改变学习和适应速
率452中的一个或多个。在此,u可以是进行控制可采用的所有可能值(例如,在hess示例中,可能的功率分流值/百分比),s是状态/需求/等。q具有矩阵,s和u是输入维度。对于给定的s和u,q指示在特定s处应用u的质量。当系统操作时,该系统遍历不同的s和u值,q矩阵跟踪奖励在不同s和u处的变化。这类似于学习记忆,其中,学习是根据所访问的s、u上的q值存储的。当在当前s确定更好的控制时,控制模块404可查看可能的u并选择具有最高q值的那个。这就是如何能够将q值用于学习更新。
95.在图4的示例中,控制模块404提供对装置412的车载控制,包括策略生成和策略应用。学习模块312提供控制模块404的间歇性学习和适应。在该示例中,强化学习基于控制模块404和学习模块312的内存需求和计算能力在控制模块404和学习模块312之间分裂。
96.一般而言,控制模块404实现控制和缓存。控制模块404可在装置412上实现最佳策略映射并经由奖励428监控控制的效果。动作模块408可周期性地(例如,以预定速率)实现探索性控制ux并且缓存由探索性控制产生的状态参数424和奖励参数428。探索性控制可包括偏离学习策略。控制模块404可将缓存的状态、动作和奖励元组在预定时间段内传送给学习模块312以更新学习参数444。探索性控制可涉及相对于来自策略的最佳控制动作的次优控制。
97.学习模块312可基于所传送的缓存数据确定学习参数444并且还监督自适应学习。学习和适应模块440基于控制模块404传送的缓存数据更新动作模块408的当前策略映射。学习和适应模块440可确定最佳策略,并且将策略的更新部分((sc,uc)的子集)传输回到控制模块404。学习和适应模块440还将用于策略的下一次更新的探索性控制ux的集合传送到控制模块404。
98.本文描述的是在两个不同位置/模块使用两个单独的映射的示例,即,用于学习的和用于车载策略的。学习可以以间歇性步骤完成,诸如比装置的控制速率慢。为此,可以使用累积奖励hp并且避免因果关系。在另一示例中,可以使用事件回放。
99.图5是q值(s,a)504对状态508和输入(u)512的示例曲线图。学习和适应模块440可确定最佳策略,这在图5的示例中由516示出。
100.用于强化学习的学习和适应模块440基于观察到的奖励更新策略和值(q矩阵)。由于q矩阵的大小,强化学习的实现可以是计算和内存密集型的,其中,q矩阵的大小可随离散输入和状态的数量而变化。本技术涉及学习模块312和控制模块404之间的分布式强化学习以平衡内存和计算工作,并且包括由于控制模块404以第一速率操作以及学习模块312以第二(较慢)速率操作而相对于常规强化学习的变化。
101.在此描述的分布式强化学习的学习规则可以描述如下。在此描述的分布式强化学习的学习规则可以描述如下。
102.是两个间歇学习点内的累积预测奖励。
103.累积表现奖励可能无法计算并且可能是非因果的。因此可以使用以下缓存更新规
则。
104.学习和适应模块440可在未来时间步k+n更新。这允许范围模块432基于未来时间步的实际测量结果来确定。这可相当于在当前时间k更新。范围模块432可使用具有最近n步状态和输入数据的缓冲器利用测量状态来确定并在当前时间k更新先前的条目。以这种方式,在先前的状态/输入处利用最新的累积奖励对学习进行更新。
105.一般而言,控制模块404可以连续更新h
p
并将h
p
、s
k-n
和u
k-n
发送到学习模块312。基于所接收的数据,学习模块312在间歇点(例如,每个预定周期)进行学习来确定在s
k-n
和u
k-n
处的学习参数。学习模块312基于所接收的数据确定uk,并将uk传输到控制模块404。控制模块404在sk处更新策略映射,然后uk使用更新的策略来控制装置412。
106.图6是描绘使用累积奖励的分布式学习的示例方法的流程图。控制开始于604,其中,控制模块404(模块1)使用策略和探索性控制集u
x
(s)来控制装置412。在608,控制模块404更新由策略的使用产生的累积奖励h
p
。在612,控制模块404缓存(存储)状态参数、动作和奖励参数。
107.在616,控制模块404确定预定时间段是否已经过去。例如,控制模块404可确定是否已经执行了10个或另外预定数量的604-612循环。如果616为假(n),则控制返回到604。如果616为真(y),则控制继续进行到620。
108.在620,控制模块404将存储的数据传输到学习模块312(模块2)。在624,基于所接收的存储数据,对于状态和动作s
k-n
和s
k-n
,学习模块312在间歇点处学习(例如,q值矩阵更新)。
109.在628,学习模块312基于在间歇点处的学习数据和所接收的存储数据来确定用于更新策略的学习参数。在632,学习模块312将学习参数444和探索性控制数据集传输到控制模块404。
110.图7是描绘使用事件回放的分布式学习的示例方法的流程图。控制开始于704,其中,控制模块404(模块1)使用策略和探索性控制集u
x
(s)来控制装置412。在708,控制模块404缓存(存储)由所使用的控制产生的状态参数、动作和奖励参数。
111.在712,控制模块404确定预定时间段是否已经过去。例如,控制模块404可确定是否已经执行了10个或另外预定数量的704-708的循环。如果712为假(n),则控制返回到704。如果712为真(y),则控制继续进行到716。
112.在716,控制模块404将所存储的数据传输到学习模块312(模块2)。在720,基于所接收的存储数据,对于状态和动作s
k-n
和u
k-n
,学习模块312在间歇点处学习(例如,q值矩阵更新)。
113.在724,学习模块312基于在间歇点处的学习数据和所接收的存储数据确定学习参数444以更新策略。在728,学习模块312将学习参数444和探索性控制数据集传输到控制模块404。
114.图8是描绘用于图2的示例系统的使用累积奖励的分布式学习的示例方法的流程图。控制开始于804,其中,控制模块404(模块1)使用策略和探索性控制集u
x
(s)来控制装置412。控制模块404还测量和量化状态参数,诸如功率需求、soc、超级电容器的电
压、电池的电压等。
115.在808,控制模块404使用策略确定功率分布(例如,第一百分比和第二百分比,u)。在812,控制模块404确定由基于s、u的控制产生的奖励r。控制模块404可例如基于超级电容器的功率损耗(例如,基于超级电容器的电阻和超级电容器的电流平方确定的)、电池的功率损耗(例如,基于电池的电阻和电池的电流平方确定的)、吞吐量(例如,基于电池电流的大小确定的)、电池损耗、soc的变化和/或一个或多个其他参数来确定奖励。可以使用一个或多个方程和/或查找表来确定奖励。在816,控制模块用范围内的奖励更新累积奖励h
p
(s
k-n
, u
k-n
)。
116.控制模块404可确定预定时间段是否已经过去。例如,控制模块404可确定是否已经执行了10个或另外预定数量的804-816的循环。如果是,则控制模块404将存储的数据传输到学习模块312(模块2)。
117.在820,学习模块312基于所接收的数据更新间歇点s
k-n
、u
k-n
处的q值矩阵。学习模块312在824使用q值矩阵的学习参数更新策略,并且控制可以返回到804。学习模块312可以增加学习实例计数器(例如,k=k+1)并且进行学习直到计数器超过预定值。
118.图9是描绘用于图2的示例系统的使用累积奖励的分布式学习的示例方法的流程图。控制开始于904,其中,控制模块404(模块1)使用策略和探索性控制集u
x
(s)来控制装置412。在908,控制模块404用当前(最近更新的)策略确定累积奖励h
p
。
119.在912,控制模块404将累积奖励和其他缓存数据(例如,s
k-n
、u
k-n
)传输到学习模块312(模块2)。在916,学习模块312在间歇点s
k-n
、u
k-n
(例如,q值矩阵)处进行学习。在920,学习模块312基于所接收的数据确定学习参数,并将学习参数传输到控制模块404。在924,控制模块404更新策略以包括学习参数,然后控制返回到904。
120.强化学习的示例包括q学习、sarsa和其他类型的强化学习。虽然讨论了奖励,但本技术也适用于其他类型的表现反馈。在上述方程中,提供了q值的示例。本技术还适用于存储学习而不是使用q值矩阵的其他方式。例如,可以使用深度神经网络(dnn)来执行本文描述的q矩阵的功能。对于dnn,学习将通过dnn权重存储,例如,将更新dnn的权重或超参数以存储学习。
121.上述描述本质上只是说明性的,决不旨在限制本公开、其应用或用途。本公开的广泛教导可以多种形式实现。因此,虽然本公开包括特定示例,但本公开的真实范围不应如此限制,因为其他修改将在研究附图、说明书和所附权利要求后变得显而易见。应当理解,方法内的一个或多个步骤可以以不同的顺序(或同时)执行而不改变本公开的原理。此外,尽管实施例中的每个在上文被描述为具有某些特征,但是关于本公开的任何实施例描述的那些特征中的任何一个或多个可以在任何其他实施例的特征中实现和/或与任何其他实施例的特征组合,即使该组合没有明确描述。换言之,所描述的实施例不是相互排斥的,并且一个或多个实施例彼此的排列保持在本公开的范围内。
122.使用各种术语描述元件之间(例如,模块、电路元件、半导体层等之间)的空间和功能关系,包括“连接”、“接合”、“联接”、“相邻”、“紧挨着”、“在
……
之上”、“在
……
上面”、“在
……
下面”和“处置”。除非明确描述为“直接”,否则当在上述披露内容中描述第一元件和第二元件之间的关系时,该关系可以是直接关系,其中,在第一元件和第二元件之间不存在其他中间元件,但也可以是在第一元件和第二元件之间存在一个或多个中间元件(空间
上或功能上)的间接关系。如本文所用,短语a、b和c中的至少一个应被解释为表示逻辑(a or b or c),使用非排他的逻辑or,而不应被解释为表示“a中的至少一个,b中的至少一个,以及c中的至少一个。”在附图中,箭头所指的箭头方向通常展示了图示所感兴趣的信息(例如数据或指令)的流动。例如,当元件a和元件b交换各种信息,但从元件a传输到元件b的信息与图示相关时,箭头可从元件a指向元件b。这个单向箭头并不意味着没有其他信息从元件b传输到元件a。此外,对于从元件a发送到元件b的信息,元件b可向元件a发送对信息的请求或接收确认。
123.在本技术中,包括以下定义,术语“模块”或术语“控制器”可替换为术语“电路”。术语“模块”可指代、属于或包括:专用集成电路(asic);数字、模拟或混合模拟/数字分立电路;数字、模拟或混合模拟/数字集成电路;组合逻辑电路;现场可编程门阵列(fpga);执行代码的处理器电路(共享、专用或组);存储由处理器电路执行的代码的存储器电路(共享、专用或组);提供所描述的功能的其他合适的硬件组件;或上述内容中的一些或全部的组合,诸如在片上系统中。
124.模块可包括一个或多个接口电路。在一些示例中,接口电路可包括连接到局域网(lan)、互联网、广域网(wan)或它们的组合的有线或无线接口。本公开的任何给定模块的功能可以分布在经由接口电路连接的多个模块之间。例如,多个模块可允许负载平衡。在另一示例中,服务器(也称为远程或云)模块可代表客户端模块完成一些功能。
125.如上使用的术语代码可包括软件、固件和/或微代码,并且可以指代程序、例程、函数、类、数据结构和/或对象。术语共享处理器电路包括执行来自多个模块的部分或全部代码的单个处理器电路。术语组处理器电路包括与附加处理器电路结合执行来自一个或多个模块的一些或全部代码的处理器电路。对多处理器电路的引用包括分立管芯上的多个处理器电路、单个管芯上的多个处理器电路、单个处理器电路的多个内核、单个处理器电路的多个线程,或以上各项的组合。术语共享存储器电路包括存储来自多个模块的一些或全部代码的单个存储器电路。术语组存储器电路包括与附加存储器结合存储来自一个或多个模块的一些或全部代码的存储器电路。
126.术语存储器电路是术语计算机可读介质的子集。如本文所用,术语计算机可读介质不包括通过介质(诸如在载波上)传播的瞬态电信号或电磁信号;因此,术语计算机可读介质可以被认为是有形的和非暂时性的。非暂时性、有形计算机可读介质的非限制性示例是非易失性存储器电路(诸如闪存电路、可擦除可编程只读存储器电路或掩模只读存储器电路)、易失性存储器电路(诸如静态随机存取存储器电路或动态随机存取存储器电路)、磁存储介质(诸如模拟或数字磁带或硬盘驱动器)和光存储介质(诸如cd、dvd或蓝光光盘)。
127.在本技术中描述的装置和方法可以部分地或完全地由通过配置通用计算机来执行体现在计算机程序中的一个或多个特定功能而创建的专用计算机来实现。上述功能块、流程图组件和其他元件用作软件规范,这些软件规范可通过熟练的技术人员或程序员的日常工作翻译成计算机程序。
128.计算机程序包括存储在至少一种非暂时性、有形计算机可读介质上的处理器可执行指令。计算机程序还可包括或依赖于所存储的数据。计算机程序可包括与专用计算机的硬件交互的基本输入/输出系统(bios)、与专用计算机的特定设备交互的设备驱动器、一个
或多个操作系统、用户应用程序、后台服务、后台应用程序等。
129.计算机程序包括存储在至少一种非暂时性、有形计算机可读介质上的处理器可执行指令。计算机程序还可以包括或依赖于所存储的数据。计算机程序可包括与专用计算机的硬件交互的基本输入/输出系统(bios)、与专用计算机的特定设备交互的设备驱动程序、一个或多个操作系统、用户应用程序、后台服务、后台应用程序等。
130.计算机程序可包括:(i)待解析的描述性文本,诸如html(超文本标记语言)、xml(可扩展标记语言)或json(javascript对象表示法)(ii)汇编代码,(iii)编译器从源代码生成的目标代码,(iv)解释器执行的源代码,(v)即时编译器编译和执行的源代码等。仅作为示例,可以使用来自以下语言的语法编写源代码,包括:c、c++、c#、objective-c、swift、haskell、go、sql、r、lisp、java
®
、fortran、perl、pascal、curl、ocaml、javascript
®
、html5(超文本标记语言第5版)、ada、asp(活动服务器页面)、php(php:超文本预处理器)、scala、eiffel、smalltalk、erlang、ruby、flash
®
、visual basic
®
、lua、matlab、simulink和python
®
。
技术特征:
1.一种用于车辆的分布式学习系统,包括:控制模块,所述控制模块被配置为:使用策略来控制所述车辆的装置,向学习模块发送信号,所述信号包括有关所述控制对所述装置的影响的信息,并且使用探索性控制选择性地控制所述装置;以及学习模块,其中,所述学习模块与所述控制模块分离并且被配置为基于以下各项选择性地更新所述策略:(a)来自所述控制模块的所述信号、(b)由使用所述策略控制所述装置产生的状态参数,以及(c)基于使用所述策略控制所述装置和使用探索性控制选择性地控制所述装置所确定的性能反馈,其中,所述控制模块被配置为从所述学习模块接收所述探索性控制。2.如权利要求1所述的分布式学习系统,其中,所述学习模块被配置为使用强化学习选择性地更新所述策略。3.如权利要求1所述的分布式学习系统,其中,所述信号包括用于所述装置的测量参数和估计参数。4. 如权利要求1所述的分布式学习系统,其中:所述控制模块被配置为以第一速率更新对所述装置的所述控制;以及所述学习模块被配置为以比所述第一速率慢的第二速率选择性地更新所述策略。5.如权利要求1所述的分布式学习系统,其中:所述控制模块具有第一内存需求;以及所述学习模块具有大于所述第一内存需求的第二内存需求。6.如权利要求1所述的分布式学习系统,其中,所述学习模块被配置为基于在预定时间段内的性能反馈的范围选择性地更新所述策略。7.如权利要求1所述的分布式学习系统,其中,所述学习模块在所述车辆上。8.根据权利要求1所述的分布式学习系统,其中,所述学习模块位于远离所述车辆的位置。9.如权利要求1所述的分布式学习系统,其中,所述学习模块被配置为确定所述探索性控制并且将所述探索性控制传输到所述控制模块。10. 如权利要求1所述的分布式学习系统,其中:所述装置是能量存储系统,包括第一电源和第二电源;以及所述控制模块被配置为控制将所述第一电源和所述第二电源与一个或多个负载连接和断开的开关的致动。
技术总结
一种用于车辆的分布式学习系统包括:控制模块,该控制模块被配置为:使用策略控制车辆的装置,向学习模块发送包括与对装置进行的控制的影响有关的信息的信号,并且使用探索性控制对装置进行选择性控制;以及学习模块,其中,学习模块与控制模块分离,并且被配置为基于以下各项选择性地更新策略:(a)来自控制模块的信号、(b)由使用策略对装置进行控制所产生的状态参数,以及(c)基于使用策略对装置的控制和使用探索性控制对装置的选择性控制确定的性能反馈,其中,控制模块被配置为从学习模块接收探索性控制。接收探索性控制。接收探索性控制。
技术研发人员:I
受保护的技术使用者:通用汽车环球科技运作有限责任公司
技术研发日:2022.10.20
技术公布日:2023/9/25
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/