CN111949013A - 控制载具的方法和用于控制载具的装置 - Google Patents
控制载具的方法和用于控制载具的装置 Download PDFInfo
- Publication number
- CN111949013A CN111949013A CN202010401675.2A CN202010401675A CN111949013A CN 111949013 A CN111949013 A CN 111949013A CN 202010401675 A CN202010401675 A CN 202010401675A CN 111949013 A CN111949013 A CN 111949013A
- Authority
- CN
- China
- Prior art keywords
- vehicle
- control sequence
- robot
- determining
- ccs
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 85
- 230000006870 function Effects 0.000 claims description 32
- 238000009826 distribution Methods 0.000 claims description 28
- 238000013528 artificial neural network Methods 0.000 claims description 27
- 238000012549 training Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 17
- 230000001186 cumulative effect Effects 0.000 claims description 12
- 230000006399 behavior Effects 0.000 claims description 9
- 238000003860 storage Methods 0.000 claims description 7
- 238000004140 cleaning Methods 0.000 claims description 6
- 230000004913 activation Effects 0.000 claims description 3
- 238000004422 calculation algorithm Methods 0.000 description 35
- 101150030566 CCS1 gene Proteins 0.000 description 16
- 101150104736 ccsB gene Proteins 0.000 description 16
- 239000013598 vector Substances 0.000 description 15
- 230000033001 locomotion Effects 0.000 description 13
- 238000013459 approach Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000005457 optimization Methods 0.000 description 7
- 238000005070 sampling Methods 0.000 description 7
- 238000007796 conventional method Methods 0.000 description 4
- 230000004807 localization Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 3
- 238000004088 simulation Methods 0.000 description 2
- 241000628997 Flos Species 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005183 dynamical system Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0217—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with energy consumption, time reduction or distance reduction criteria
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3446—Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3453—Special cost functions, i.e. other than distance or default speed limit of road segments
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0265—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
- G05B13/027—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/04—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
- G05B13/042—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Aviation & Aerospace Engineering (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
控制载具的方法和用于控制载具的装置。一种控制载具或机器人的方法,其中所述方法包括以下步骤:确定第一控制序列,取决于所述第一控制序列、所述载具或机器人的当前状态以及对所述载具或机器人的动态行为进行表征的模型来确定用于控制所述载具或机器人的第二控制序列,取决于所述第二控制序列来控制所述载具或机器人,其中所述第一控制序列的所述确定取决于第一候选控制序列和第二候选控制序列来被执行。
Description
技术领域
示例性的实施例涉及一种控制载具或机器人的方法,其中所述方法包括以下步骤:确定用于控制所述载具或机器人的第一控制序列,取决于所述第一控制序列、所述载具或机器人的当前状态、以及对所述载具或机器人的动态行为进行表征的模型来确定用于控制所述载具或机器人的第二控制序列,取决于所述第二控制序列来控制所述载具或机器人。
另外的示例性实施例涉及一种用于控制载具或机器人的装置。
另外的示例性实施例涉及一种训练条件变分自动编码器CVAE的方法、特别是经计算机实现的方法。
一种控制具有先前提及的类型的载具的方法由Williams, G., Wagener, N.,Goldfain, B., Drews, P., Rehg, J. M., Boots, B., & Theodorou, E. A. (2017年5月)的“Information theoretic mpc for model-based reinforcement learning”(于International Conference on Robotics and Automation (关于机器人学和自动化的国际会议)(ICRA)中)[参考文献1]公开,所述参考文献通过引用以其全部被并入本文中。更具体地,[参考文献1]的章节IV. B.(“MPC算法”)和算法2:MPPI公开了如下步骤:确定第一控制序列,取决于所述第一控制序列、所述载具的当前状态、以及对载具的动态行为进行表征的模型来确定第二控制序列,取决于所述第二控制序列来控制所述载具。作为示例,控制步骤由[参考文献1]的算法2的函数“SendToActuators()”来表示,第二控制序列的确定由对控制序列向量进行更新的在前for循环来表示,并且第一控制序列(针对后续控制循环)的确定——至少在某种程度上、即远至涉及控制序列向量的最后的元素——由[参考文献1]的算法2的最后一行的“Initialize()”函数来表示。
发明内容
示例性的优选实施例涉及一种控制载具或机器人的方法,其中所述方法包括以下步骤:确定第一控制序列,取决于所述第一控制序列、所述载具或机器人的当前状态、以及对所述载具或机器人的动态行为进行表征的模型来确定用于控制所述载具或机器人的第二控制序列,取决于所述第二控制序列来控制所述载具或机器人,其中所述第一控制序列的所述确定包括:提供第一候选控制序列,确定与所述第一候选控制序列相关联的第一累积轨迹成本,提供第二候选控制序列,确定与所述第二候选控制序列相关联的第二累积轨迹成本,比较所述第一累积轨迹成本与所述第二累积轨迹成本,以及取决于所述比较,使用所述第一候选控制序列作为所述第一控制序列或者使用所述第一候选控制序列和所述第二候选控制序列的经加权的总和作为所述第一控制序列。这使得能够灵活地确定用于载具或机器人控制的第二控制序列,凭此,如相比于[参考文献1]的常规途径,通过第二候选控制序列提供了附加的自由度。
优选地,以上提及的方法是经计算机实现的方法。
虽然另外的解释主要涉及载具控制的示例性实施例,但是根据实施例的原理还可以适用于控制机器人和/或机器人的组件、特别是例如静止机器人的可移动组件、诸如机器人臂和/或机器人化的自动化系统的抓手等等。
根据另外的优选实施例,所述第一和/或第二累积轨迹成本可以取决于以下元素中的至少一个来被确定:a)与载具的当前状态相关联的基于状态的成本,b)与相应的控制序列相关联的控制努力。这样,与第一和/或第二候选控制序列有关的成本可以被确定,其使得能够评定对于确定用于控制所述载具的所述第二控制序列而言,哪个候选控制序列可以是优选的。
根据另外的优选实施例,代替于经加权的总和,组合第一候选控制序列和所述第二候选控制序列的其它方式还可用于确定所述第二控制序列。
由于使用对所述载具的动态行为进行表征的所述模型,所以另外的优选实施例可以被认为使用模型预测控制(MPC)技术的方面。根据另外的优选实施例,可以使用如由[参考文献1]、等式(1)(参见[参考文献1]的章节III.,A.)和章节IV.所呈现的所述模型的方面。
根据另外的优选实施例,根据等式 来确定所述经加权的总和,其中表示所述第一候选控制序列,其中表示所述第二候选控制序列,其中表示所述第一累积轨迹成本,其中表示所述第二累积轨迹成本,并且其中表示所述经加权的总和。
根据另外的优选实施例,一个或多个控制循环用于控制所述载具,其中所述控制循环中的至少一个、优选所有控制循环包括确定第一控制序列、确定第二控制序列以及取决于所述第二控制序列来控制所述载具的所述步骤,其中提供所述第一候选控制序列的所述步骤包括:使用初始控制序列作为所述第一候选控制序列,或基于在前控制循环的第二控制序列来确定所述第一候选控制序列。
根据另外的优选实施例,用于提供所述第二候选控制序列的所述步骤包括使用优选经训练的、第一(优选人工)神经网络,其被配置成接收第一输入参数并且取决于所述第一输入参数而输出所述第二候选控制序列。
根据另外的优选实施例,所述第一神经网络是条件变分自动编码器CVAE的解码器,其中所述CVAE此外包括一编码器,所述编码器包括第二神经网络,其中所述编码器被配置成接收第二输入参数,所述第二输入参数表征所述载具的潜在轨迹(其例如通过在训练过程期间的模拟而被获得)和/或针对所述载具的条件(例如存在障碍、预定全局路径),并且将所述第二输入参数映射到隐空间中具有均值µ和方差∑的正态分布,其中表示所述载具的所述潜在轨迹,并且其中表示针对所述载具的所述条件。
根据另外的优选实施例,所述第一神经网络和/或所述第二神经网络包括a)四层,优选地四个全连接的层,和/或b)修正线性单元ReLU,其用于实现激活函数。
根据另外的优选实施例,所述方法此外包括:通过应用以下各项中的至少一个来训练所述CVAE:a)域特定的损失函数,其取决于所述载具的所述潜在轨迹和/或针对所述载具的所述条件,b)在所述隐空间中的Kullback-Leibler (KL)-发散,其特别地根据,其中是结果得到的损失函数,其中是所述隐空间中的所述Kullback-Leibler发散,其中是所述正态分布,并且其中表征所期望的隐空间分布。
根据另外的优选实施例,在第一时间点执行所述训练,其中在所述第一时间点之后的第二时间点处执行确定第一控制序列、确定第二控制序列以及取决于所述第二控制序列来控制所述载具的所述步骤。
根据另外的优选实施例,还有可能在载具的控制过程期间、例如在所述第二时间点处(进一步)训练所述CVAE。
根据另外的优选实施例,所述训练由第一实体来执行,并且确定第一控制序列、确定第二控制序列以及取决于所述第二控制序列来控制所述载具的所述步骤由所述第一实体和/或第二实体来执行。作为示例,根据另外的优选实施例,用于执行根据实施例的方法的装置可以既执行CVAE的训练也执行载具的控制。作为另外的示例,根据另外的优选实施例,另外的设备可以(“仅仅”)执行CVAE的训练,并且可以由根据实施例的所述装置、基于先前训练的CVAE来执行载具的控制。
另外的优选实施例涉及一种用于控制载具的装置,其中所述装置被配置成执行根据实施例的方法,其中优选地所述装置包括以下元件中的至少一个:a)计算单元,b)与所述至少一个计算单元相关联的存储器单元,其用于至少临时地存储计算机程序和/或数据(例如(一个或多个)神经网络的数据,诸如例如所训练的CVAE的权重),其中所述计算机程序优选地被配置成至少临时地控制所述装置的操作,c)用于向载具提供控制输出的控制输出接口,d)输入接口,其被配置成接收以下元素中的至少一个:d1)传感器数据,其优选地表征所述载具的定位和/或所述载具的定向,d2)定位信息,其可以例如由另外的设备来提供,d3)地图信息。
另外的优选实施例涉及一种包括根据实施例的装置的载具,其中优选地所述载具是陆地载具、特别是以下各项中的至少一个:汽车、自主驾驶的汽车、机器人、内部物流机器人、清洁机器人、特别是家庭清洁机器人、机器人割草机。
另外的优选实施例涉及包括指令的计算机程序,所述指令当程序被计算机执行的时候使得所述计算机实施根据实施例的方法。
另外的优选实施例涉及包括指令的计算机可读存储介质,所述指令当被计算机执行的时候使得所述计算机实施根据实施例的方法。
另外的优选实施例涉及数据载波信号,其承载根据实施例的计算机程序。
另外的优选实施例涉及根据实施例的方法和/或根据实施例的装置和/或根据实施例的载具和/或根据实施例的计算机程序的使用,以用于a)优化针对载具的轨迹,和/或b)障碍避免。
另外的优选实施例涉及一种训练条件变分自动编码器CVAE的方法、特别是经计算机实现的方法,其中所述CVAE包括作为解码器的第一神经网络和作为编码器的第二神经网络,其中所述解码器可配置成接收第一输入参数并且输出候选控制序列以用于一种取决于所述第一输入参数来控制载具的方法、特别是根据实施例的方法,其中所述编码器可配置成接收第二输入参数,所述第二输入参数表征所述载具的潜在轨迹和/或针对所述载具的条件,并且将所述第二输入参数映射到隐空间中具有均值µ和方差∑的正态分布,其中表示所述载具的所述潜在轨迹,并且其中表示针对所述载具的所述条件,其中所述训练包括使用以下各项中的至少一个:a)域特定的损失函数,其取决于所述载具的所述潜在轨迹和/或针对所述载具的所述条件,b)在所述隐空间中的Kullback–Leibler发散,其特别地根据,其中是结果得到的损失函数,其中是所述隐空间中的所述Kullback-Leibler发散,其中是所述正态分布,并且其中表征所期望的隐空间分布。
根据另外的优选实施例,根据实施例的所述装置可以执行所述CVAE的所述训练。
附图说明
现在将参考附图来描述一些示例性实施例,在所述附图中:
图1示意性地描绘了如通过根据优选实施例的方法所获得的示例路径,
图2示意性地描绘了根据另外的优选实施例的导航架构的简化框图,
图3示意性地描绘了根据另外的优选实施例的装置的简化框图,
图4示意性地描绘了根据另外的优选实施例的方法的简化流程图,
图5示意性地描绘了根据另外的优选实施例的方法的简化流程图,
图6示意性地描绘了根据另外的优选实施例的神经网络的简化框图,
图7示意性地描绘了根据另外的优选实施例的方法的简化流程图,并且
图8示意性地描绘了根据另外的优选实施例的条件变分自动编码器的简化框图。
图1示意性地描绘了可以在环境E中移动的载具100。载具100可以例如是从起始定位S移动到目标G的机器人或自主汽车。在环境E中还存在各种障碍O,其例如阻止载具100通过遵循第一路径P1而抵达目标G,所述第一路径P1可以例如表示全局路径。根据以下进一步详细解释的优选实施例可以获得另外的路径P2,其引导载具100到目标G,而同时避免障碍O。第三路径P3表示如通过应用根据[参考文献1]的算法2的信息-理论模型预测控制it-mpc的常规技术所获得的示例性路径。如从图1中可见的,根据本示例,第三路径P3不抵达目标G。在第二路径P2周围所示例性地描绘的另外的虚线和点线用符号表示如根据另外的优选实施例获得的控制和样本。
图2示意性地描绘了根据另外的优选实施例的导航架构的简化框图。第一框B1表示载具控制、特别地轨迹优化,如可以例如根据另外的优选实施例所执行的那样。框B2表示全局路径规划器,所述全局路径规划器例如基于在起始定位S与目标G之间的欧几里得距离,来例如提供图1的全局路径P1以及相关联的初始控制序列ics(图2)。即,根据示例性实施例,通过使用所述初始控制序列ics,基于其如通过图1所描绘的定位,载具100将尝试沿着所述全局路径P1移动,然而其将导致与障碍O的碰撞。鉴于此,根据另外的示例性实施例,框B1执行所述载具控制、特别地轨迹优化,其中例如装置200被提供以执行根据实施例的方法。
图2的框B3可以例如表示同时定位和地图构建SLAM功能性,其被配置成确定在图2中通过框100’所表示的所述载具的定位和/或定向。SLAM框B3可以因而向框B1(以及可选地还向框B2)提供定位信息pi,其表征所述载具100、100’在所述环境E(图1)内的当前定位和/或定向。
根据另外的优选实施例,为了确定所述载具100、100’的所述定位和/或定向,SLAM框B3可以从所述载具100’接收传感器数据sd,所述传感器数据例如包括来自以下元件中至少一个的信息:(一个或多个)定位传感器、轮速传感器等等。
根据另外的优选实施例,基于所述初始控制序列ics以及所述定位信息pi,框B1和/或装置200可以执行运动控制,以用于特别地优化载具100(图1)、100’通过环境E的轨迹,例如用于避免障碍O并且虽然如此但抵达目标G,参见根据另外的优选实施例获得的第二路径P2。所述运动控制、特别地轨迹P2的优化可以例如包括对所述初始控制序列ics的重复的、优选迭代的修改,以获得所述第二路径P2,如以下进一步详细解释的那样。
换言之,根据另外的优选实施例,装置200可以例如使用运动控制(或轨迹优化)算法,所述运动控制(或轨迹优化)算法被配置成生成用于载具100、100’的控制的(机器人)运动,其有利地考虑如例如通过全局路径规划器B2而被计算的参考路径P1、载具100’的所估计的定位pi以及例如环境E(图1)的地图,所述地图可以例如通过框B3来被确定。控制或控制输出co然后可以被发送到载具100’以实现所述运动。
在下文中,解释了另外的优选实施例,其中图3示意性地描绘了根据另外的优选实施例的装置200的简化框图,并且其中图4示意性地描绘了可以例如由装置200来执行的载具控制的方法的简化流程图。
参见图3,装置200包括至少一个计算单元202,以及与所述至少一个计算单元202相关联的(即可由所述至少一个计算单元202使用的)、用于至少临时地存储计算机程序PRG和/或数据DAT的至少一个存储器单元204,其中所述计算机程序PRG例如被配置成至少临时地控制所述装置200的操作,例如根据实施例的方法的执行,例如用于控制载具100(图1)的运动和/或优化其轨迹。
根据另外的优选实施例,所述至少一个计算单元202(图3)包括至少一个核202a、202b、202c……,以用于执行所述计算机程序PRG或至少其部分,例如用于执行根据实施例的方法或至少其一个或多个步骤。
根据另外的优选实施例,所述至少一个计算单元202可以包括以下元件中的至少一个:微处理器、微控制器、数字信号处理器(DSP)、可编程逻辑元件(例如FPGA、现场可编程门阵列)、ASIC(专用集成电路)、硬件电路、张量处理器。根据另外的优选实施例,这些元件中的两个或更多的任何组合也是可能的。
根据另外的优选实施例,存储器单元204包括以下元件中的至少一个:易失性存储器204a、特别是随机存取存储器(RAM)、非易失性存储器204b、特别是闪速EEPROM。优选地,所述计算机程序PRG至少临时地被存储在所述非易失性存储器204b中。可以例如用于执行根据实施例的方法的数据DAT可以至少临时地被存储在所述RAM 204a中。
根据另外的优选实施例,可以提供可选的包括指令的计算机可读存储介质SM,所述指令例如以另外的计算机程序PRG’的形式,其中所述另外的计算机程序PRG’当被计算机、即被计算单元202执行的时候可以使得计算机202实施根据实施例的方法。作为示例,所述存储介质SM可以包括或表示数字存储介质、诸如半导体存储器设备(例如固态驱动器SSD)和/或磁性存储介质、诸如盘或硬盘驱动器(HDD)和/或光学存储介质、诸如光盘(CD)或DVD(数字通用盘)等等。
根据另外的优选实施例,装置200可以包括可选的数据接口205,所述可选的数据接口205优选地用于与外部设备(未被示出)的双向数据交换。作为示例,借助于所述数据接口205,可以例如从所述外部设备、例如经由有线或无线数据传送介质、例如通过(虚拟)私有计算机网络和/或诸如例如因特网之类的公共计算机网络来接收数据载波信号DCS。根据另外的优选实施例,数据载波信号DCS可以表示或承载根据实施例的计算机程序PRG或至少其一部分。
根据另外的优选实施例,装置200可以包括控制输出接口206,以用于向载具100(图1)、例如向所述载具100的一个或多个致动器提供例如以一个或多个输出信号的形式的控制输出co。如从载具100、100’所见的,由装置200或其控制输出接口206提供的控制输出co表示对于载具100、100’的控制输入。根据另外的优选实施例,所述控制输出co可以由具有维的向量来表示,其中所述索引t标示离散时间。因此,集合可以被标示为用于载具100的控制输入序列。
作为示例,根据另外的优选实施例,在数学上通过所述向量或至少通过来被表示的所述控制输出co可以例如在控制循环的结束被输出到所述载具100(图1)的一个或多个对应的致动器(未被示出)。作为另外的示例,假定所述载具100是叉车,其具有影响叉车的速度的一个初级驱动以及影响所述叉车的转向角的一个转向控制,向量的第一分量可以用于控制所述初级驱动,并且所述向量的第二分量可以用于控制所述转向角。
根据另外的优选实施例,装置200可以包括输入接口207,所述输入接口207被配置成接收以下元素中的至少一个:d1)传感器数据sd(参见图2,其例如如由载具100’所提供,要么直接地来自载具的一个或多个传感器(未被示出),要么间接地例如在通过SLAM框B3处理之后),其优选地表征所述载具100的定位和/或所述载具100的定向,d2)定位信息pi,其可以例如由图2的SLAM框B3所提供,d3)地图信息mi,其中所述地图信息mi例如表征载具100、100’的环境E(图1)的信息,诸如例如障碍O的存在和/或定位等等。
根据另外的优选实施例,所述输入接口207还可以被配置成例如从全局规划器框B2(图2)接收所述初始控制序列ics。
根据另外的优选实施例,如以上参考图3示例性地被解释的装置200可以被集成在所述载具100、100’内。这样,确保在载具100、100’的致动器和/或传感器与装置200之间的低等待时间数据交换。根据另外的优选实施例,装置200或所述装置的功能性的至少部分还可以被提供在被布置在载具100、100’的外部的设备中。然而,为了使能实现载具100、100’的运动的高效闭环控制,可以提供在所述外部设备(未被示出)与所述载具100、100’之间的低等待时间数据交换。
另外的优选实施例涉及控制所述载具100、100’的方法,参见图3的流程图,其中所述方法包括以下步骤:确定300第一控制序列cs1(例如初始控制序列ics,参见图2),取决于所述第一控制序列cs1、所述载具100、100’的当前状态cst(例如其表征定位和/或前进方向等等)、以及对所述载具100、100’的动态行为进行表征的模型M来确定310(图4)用于控制所述载具100、100’的第二控制序列cs2,取决于所述第二控制序列cs2来控制320所述载具100、100’,参见通过控制步骤320所提供的控制输出co。以上提及的步骤300、310、320表示根据优选实施例的一个控制循环cc。然而,根据另外的优选实施例,执行多个控制循环cc,参见图4的虚线箭头320a。
作为示例,所述载具100、100’的当前状态cst可以例如由n维状态向量来表示,并且对所述载具100、100’的动态行为进行表征的所述模型M可以由优选全连接的多层神经网络来表示,所述全连接的多层神经网络可以例如被训练,如在[参考文献1]的章节IV.“MPC WITH NEURAL NETWORK DYNAMICS, A. Learning Neural Network Models”中所公开的那样。
根据另外的优选实施例,参见图5,所述第一控制序列cs1的所述确定300(图4)包括:提供301第一候选控制序列ccs1,确定302与所述第一候选控制序列ccs1相关联的第一累积轨迹成本atc1,提供302第二候选控制序列ccs2,确定304与所述第二候选控制序列ccs2相关联的第二累积轨迹成本atc2,比较305所述第一累积轨迹成本atc1与所述第二累积轨迹成本atc2,以及取决于所述比较305,使用306所述第一候选控制序列ccs1作为所述第一控制序列cs1或者使用307所述第一候选控制序列ccs1和所述第二候选控制序列ccs2的经加权的总和ws作为所述第一控制序列cs1。这有利地使得能够在确定第一控制序列cs1中可选地考虑所述第二候选控制序列ccs2,凭此,根据申请人的分析,获得另外的自由度,其使得能够克服根据[参考文献1]的算法2的常规技术的约束。
根据另外的优选实施例,所述比较步骤305可以包括确定所述第二累积轨迹成本atc2是否小于所述第一累积轨迹成本atc1。如果是这种情况,则可以执行步骤307,其确定所述第一控制序列cs1作为所述经加权的总和ws。这样,可以考虑所述第二候选控制序列ccs2对轨迹成本的正面影响,其不可以通过使用306所述第一候选控制序列ccs1作为所述第一控制序列cs1而被给出。注意到,步骤306基本上对应于以下事实:即[参考文献1]的常规算法2(“MPPI”)在更新了控制序列([参考文献1]的算法2的在前for循环)之后初始化([参考文献1]的算法2的最后一行)、特别是无条件地初始化控制序列uT-1。相比之下,优选实施例基于所述比较305来有条件地考虑所述第二候选控制序列ccs2,因而使得能够克服与根据[参考文献1]的现有技术相关联的至少一些约束。
根据另外的优选实施例,根据等式来确定所述经加权的总和ws,其中表示所述第一候选控制序列ccs1,其中表示所述第二候选控制序列ccs2,其中表示所述第一累积轨迹成本atc1,其中表示所述第二累积轨迹成本atc2,并且其中表示所述经加权的总和ws。
根据另外的优选实施例,所述第一和/或第二累积轨迹成本atc1、atc2可以取决于以下元素中的至少一个来被确定:a)与载具100、100’的当前状态相关联的基于状态的成本,b)与相应的(候选)控制序列ccs1、ccs2相关联的控制努力。这样,与第一和/或第二候选控制序列有关的成本可以被确定,其使得能够评定对于确定用于控制所述载具100、100’的所述第二控制序列cs2而言,哪个候选控制序列可以是优选的。
根据另外的优选实施例,代替于经加权的总和ws,组合第一候选控制序列ccs1和所述第二候选控制序列ccs2的其它方式还可用于确定所述第二控制序列cs2。根据另外的优选实施例,这还可以在步骤307中进行,即作为确定所述经加权的总和ws的替选。
根据另外的优选实施例,参见图4,一个或多个控制循环cc用于控制所述载具100(图1),其中所述控制循环cc中的至少一个、优选所有控制循环cc包括所述步骤300、310、320,其中提供所述第一候选控制序列ccs1(图5)的所述步骤301包括使用初始控制序列ics(其例如,如由图2的全局路径规划器框B2所提供)作为所述第一候选控制序列ccs1,或基于在前控制循环cc的第二控制序列cs2来确定所述第一候选控制序列ccs1。作为示例,根据另外的优选实施例,对于第一控制循环cc,提供所述第一候选控制序列ccs1(图5)的所述步骤301包括使用如例如由全局路径规划器框B2所提供的所述初始控制序列ics,而对于另外的控制循环,提供所述第一候选控制序列ccs1的所述步骤301可以包括基于在前控制循环cc的第二控制序列cs2来确定所述第一候选控制序列ccs1。
根据另外的优选实施例,提供所述第二候选控制序列ccs2的所述步骤303(图5)包括使用所训练的第一(优选人工)神经网络NN1(参见图6),其被配置成接收第一输入参数ip1并且取决于所述第一输入参数ip1而输出所述第二候选控制序列ccs2。作为示例,根据另外的优选实施例,所述第一输入参数ip1可以表征载具100、100’的当前状态(和/或针对所述载具的条件)。
根据另外的优选实施例,还参见图8的简化框图,所述第一神经网络NN1是条件变分自动编码器CVAE 400的解码器402,其中所述CVAE 400此外包括编码器401,所述编码器401包括第二神经网络NN2,其中所述编码器401被配置成接收第二输入参数ip2,所述第二输入参数ip2表征所述载具100(图1)的潜在轨迹pt和/或针对所述载具100的条件cond(例如全局路径P1、障碍O),以及将所述第二输入参数ip2映射到隐空间z中具有均值µ和方差∑的正态分布,其中表示所述载具100的所述潜在轨迹,并且其中表示针对所述载具100的所述条件。
根据另外的优选实施例,所述第一神经网络NN1和/或所述第二神经网络NN2包括a)四层,优选地四个全连接的层,和/或b)修正线性单元ReLU,其用于实现激活函数。作为示例,ReLU的传递函数可以是f(x) = max(0, x),其中max()是最大值函数。
根据另外的优选实施例,参见图7的流程图,所述方法此外包括:通过应用以下各项中的至少一个来训练10所述CVAE 400(图8):a)域特定的损失函数,其取决于所述载具100、100’的所述潜在轨迹和/或针对所述载具100、100’的所述条件,b)在所述隐空间中的Kullback–Leibler发散,其特别地根据,其中是结果得到的损失函数,其中是所述隐空间中的所述Kullback-Leibler发散,其中是所述正态分布,并且其中表征所期望的隐空间分布。
根据另外的优选实施例,所述训练10(图7)在第一时间点处(或在开始于所述第一时间点的第一阶段期间)被执行,其中确定300(图4)第一控制序列、确定310第二控制序列以及取决于所述第二控制序列来控制320所述载具100、100’的所述步骤参见图7的步骤20在所述第一时间点之后的第二时间点处(或在开始于所述第二时间点的第二阶段期间)被执行。换言之,根据另外的优选实施例,如果所述CVAE 400(图8)在控制载具100、100’、即通过使用所述步骤300、310、320来应用一个或多个控制循环cc(图4)之前被训练(至少在某个程度上),则是优选的。
根据另外的优选实施例,所述训练10(图7)由第一实体来执行,并且所述步骤300、310、320由所述第一实体和/或第二实体来执行。作为示例,根据另外的优选实施例,用于执行根据实施例的方法的装置200(图3)可以既执行CVAE 400的训练也执行载具的控制(参见例如图4的步骤320和图7的步骤20)。作为另外的示例,根据另外的优选实施例,另外的设备(未被示出)可以执行CVAE 400(图8)的训练10(图7),并且载具100、100’的控制可以由根据实施例的所述装置200、基于先前训练的CVAE 400来执行。
根据另外的优选实施例,所述CVAE 400可以被配置成学习所述输入数据ip2的分布,特别地还基于给定的条件、诸如例如全局路径P1(图1)、障碍O等等。这样学习的知识可以有利地用于提供第二候选控制序列ccs2(参见图5的步骤303),其可以贡献于发现更合适的路径或轨迹,例如根据图5的过程,如从成本视角所见的,其在没有(所训练的)CVAE400的输出的情况下、例如根据由[参考文献1]的算法2所表征的常规途径可能不被发现。
另外的优选实施例涉及一种训练条件变分自动编码器CVAE 400的方法,其中所述CVAE 400包括作为解码器402的所述第一神经网络NN1和作为编码器401的所述第二神经网络NN2,其中所述解码器402可配置成接收第一输入参数ip1并且输出候选控制序列ccs2以用于一种取决于所述第一输入参数ip1来控制载具100、100’的方法、特别是根据实施例的方法,其中所述编码器401可配置成接收第二输入参数ip2,所述第二输入参数ip2表征所述载具的潜在轨迹(参见例如图8的框pt)和/或针对所述载具的条件(参见例如图8的框cond),并且将所述第二输入参数ip2映射到隐空间中具有均值µ和方差∑的正态分布 ,其中表示所述载具100、100’的所述潜在轨迹,并且其中表示针对所述载具100、100’的所述条件,其中所述训练10(图7)包括使用以下各项中的至少一个:a)域特定的损失函数,其取决于所述载具的所述潜在轨迹和/或针对所述载具的所述条件,b)在所述隐空间中的Kullback–Leibler发散,其特别地根据,其中是结果得到的损失函数,其中是所述隐空间中的所述Kullback-Leibler发散,其中是所述正态分布,并且其中表征所期望的隐空间分布。可选地,在所述训练10之后,所训练的CVAE 400可以用于运动控制,参见图7的可选步骤20。
在以下段落中,参考如在以下表1中所呈现的算法“[算法1]”而示例性地公开了与图1的载具100(和/或图2的象征性载具100’)的控制有关的实现方式的另外的优选实施例和示例性方面,其中[算法1]有利地组合了如以上关于图1至图8所解释的至少一些优选实施例的方面。表1具有两列,其中第一列标识行号,并且其中第二列包括对所述算法1的元素进行表示的伪代码。为了简单起见,并且不失一般性,假定载具100是叉车,其状态可以通过例如与所述环境E(图1)的地面平行的虚拟平面内的角定向以及通过速度v来表征。
*** 表1的开始:算法1 ***
行号:伪代码
*** 表1的结束:算法1 ***
在以下段落中,如以上所呈现的算法1在按行的基础上被解释。行1限定输入参数,其中表示待处理的(轨迹)样本的数目,其中表示规划期距,其中表示控制集合(还参见以上关于图2、3的所述控制输出co所解释的控制输入序列),其中表示噪声的方差,其中表示与所述目标G(图1)相关联的目标区域的成本,其中表示基于状态的成本(函数)(例如与所述载具的某个状态相关联),其中表示所述模型M(图4),所述模型M(图4)表征所述载具100的动态行为。
行2开始while循环,所述while循环实现行3到行23的执行的重复直到满足预定的退出条件为止,其可以被认为是若干控制循环、类似于图4的控制循环cc的重复。根据另外的优选实施例,预定的退出条件可以对应于以下各项中的至少一个:载具100抵达目标G(图1),已经达到重复或控制循环cc的预定最大数目,超过所述算法1的应用的预定最大持续时间等等。
行3表示函数“StateEstimation()”的执行,所述函数“StateEstimation()”用于确定例如载具100在环境E(图1)中的当前定位和/或定向。根据另外的优选实施例,可以尤其取决于所述定位信息pi、参见图2、3来执行状态估计。
表1的行4调用另外的函数,其表示针对提供300(图4)所述第一控制序列cs1、特别是根据图5的详细过程的所述步骤的实现示例,其中如根据图4、5获得的所述第一控制序列cs1与表1的行4的向量、例如通过函数所返回的结果相对应。根据特别优选的实施例,函数利用图8的(优选经训练的)CVAE解码器402。关于用于调用表1的行4中的函数的参数,向量与如通过图5的步骤301所确定的所述第一候选控制序列ccs1相对应,表示针对所述CVAE解码器402的标准参数,表示载具100的当前角定向,表示载具100的当前速度,其中、可以例如得自表1的行3的函数的输出。以下参考表2进一步提供与函数的示例性实现方式相关的另外的细节。
表1的行5到行14包括在K个许多轨迹样本之上的循环L5,14,其中所述模型F被求值,参见表1的行10,并且针对所述轨迹样本中每一个的相关联的成本被确定,参见表1的行11。根据另外的优选实施例,在此基础上,由行4的向量所表示的第一控制序列cs1可以在行16到行18中被更新,所述行16到行18表示另外的循环L16,18。
更具体地,根据另外的优选实施例,循环L5,14包括以下元素。在行6中,例如取决于如通过状态估计、参见表1的行3所获得的信息来更新状态向量。在图2的上下文中,状态估计信息可以例如由所述(SLAM)框B3提供,例如以定位信息pi的形式。在行7中,确定噪声、优选地高斯(白)噪声。在包括表1的行8到行12的另外的循环L8,12中,对于范围从t=1到t=tf的所有离散时间步、即规划期距,确定“有噪”控制序列(行9),并且基于载具100的当前状态以及有噪控制序列来对模型F进行求值(行10)。函数——其是可选的,并且其在行10中被应用于所述有噪控制序列——可以表示可适用于所述有噪控制序列的一个或多个预定约束。如通过所述模型F的所述求值而获得的载具100的新状态也在行10中被指派给状态向量。该新状态对应于载具100的经建模的潜在将来状态上,其假定它已经根据有噪控制序列而被控制。在行11中,相应地确定或更新累积轨迹成本,其中项表示与载具100的所述当前状态相关联的基于状态的成本,其中项表示与所述有噪控制序列相关联的控制努力。在行13中,针对终端状态的成本被添加到所述累积轨迹成本。
在行15中,使用函数来执行重要性采样步骤,所述函数基于所述累积轨迹成本和参数——其可以是根据另外的优选实施例的算法1的超参数(类似于例如)——而产生权重向量。以下参考表3进一步提供与函数的示例性实现方式相关的另外的细节。
在包括表1的行16到行18的另外的循环L16,18中,由向量(还参见表1的行4)表示的第一控制序列cs1被更新,其中,根据另外的优选实施例,根据表1的行17所获得的所述经更新的控制序列可以例如对应于根据图4的第二控制序列cs2。如从表1的行17中可见的,所述第二控制序列的更新或确定取决于通过行15的重要性采样步骤所获得的所述权重向量以及如在表1的行7中所确定的噪声。
在行19中,例如通过执行函数,经更新的控制序列(其与第二控制序列cs2相对应)的第一元素被应用于控制载具100(图1)。根据另外的优选实施例,这可以例如与图2的所述控制输出co相对应,例如将一个或多个控制信号应用到所述载具100、即根据本示例的叉车的相应致动器(未被示出)。这样,例如叉车100的初级驱动和/或转向角可以通过表1的行19来被控制,例如用于影响叉车100的速度和/或定向(前进方向)。
在此之后,在行23中,控制序列的值可以被初始化(因为这可能由于表1的行20到行22的向后移位而未被限定)。在所述循环的结束、参见行24所获得的经更新的控制序列可以在根据表1的行2、24的循环的后续控制循环内被使用,所述后续控制循环根据另外的优选实施例可以例如与如由图4所描绘的控制循环cc相对应。换言之,如在循环2、24的第一执行期间所获得的控制序列可以用于确定或得到对于函数的自变量,以用于下一个控制循环cc或循环2、24。
行号:伪代码
*** 表2的结束:算法2 ***
参见表2的行1,对于算法2的函数的输入已经在以上参考表1的行4来被解释。在表2的行2中,执行函数,其使用例如根据图8的CVAE 400的所述(经训练的)解码器402,用于提供候选控制序列,所述候选控制序列可以例如对应于图5的所述第二候选控制序列ccs2。注意到,根据另外的优选实施例,为了对函数求值,优选地训练所述CVAE 400。此外,为了对函数求值,将相应的输入参数、、提供到所述解码器402、即提供到第一神经网络NN1、也参见图6的参考标记ip1是足够的。
表2的行3到行8以及行9、行10中的循环为第一候选控制序列ccs1(其通过表2的表达式来被表示)以及第二候选控制序列ccs2(其通过表2的表达式来被表示)二者确定累积轨迹成本,并且行11包括如图5的步骤305的示例性实现方式的比较。取决于行11(图5的步骤305)的比较的结果,根据行12的经加权的总和(例如与图5的参考标记ws相对应)被指派给返回值、或否(即控制序列不被修改并且作为返回值被返回)。根据另外的优选实施例,这例如与使用307经加权的总和ws作为图5的第一控制序列cs1或与使用306(未经修改的)第一候选控制序列ccs1作为所述第一控制序列cs1相对应。通过使用所述函数、即如在以上的表2中所限定的算法2,(所训练的)CVAE 400(图8)可以有利地(优选有条件地,参见例如表2的行11的比较步骤)用于修改针对相应控制循环cc的控制序列。优选地,行12的经加权的总和ws用于形成返回值,如果来自CVAE 400的(第二)候选控制序列如与第一候选控制序列的累积轨迹成本相比包括更低的累积轨迹成本的话,所述第一候选控制序列根据另外的优选实施例而例如基于初始控制序列ics(其例如,如由图2的全局路径规划器框B2所提供)或基于在前控制循环cc的第二控制序列cs2(图4)。
行号:伪代码
*** 表3的结束:算法3 ***
与根据另外的优选实施例、如以上通过表3所图示的示例性重要性采样过程有关的另外的细节可以取自[参考文献1]、章节III.“C. 重要性采样”。
强调的是:表1、2、3的上述算法是针对根据另外的优选实施例的方法的各方面的实现方式的示例,其不是限制性的。
另外的优选实施例涉及一种载具100、100’,其包括根据实施例的装置200(图3),其中优选地所述载具100、100’是陆地载具、特别是以下各项中的至少一个:汽车、自主驾驶的汽车、机器人、内部物流机器人、清洁机器人、特别是家庭清洁机器人、机器人割草机。然而,根据实施例的原理不限于陆地载具,而是还可以用于控制水运工具和/或航空器和/或航天器等等的运动。
另外的优选实施例涉及根据实施例的方法和/或根据实施例的装置200和/或根据实施例的载具100、100’和/或根据实施例的计算机程序PRG的使用,以用于a)优化针对载具100、100’的轨迹,和/或b)障碍避免。作为示例,如相比于如通过常规途径所确定的全局路径P1和/或路径P3,使用根据优选实施例的方法可以产生用于载具100的经优化的路径P2(图1)。
以上解释的至少一些优选实施例使得能够改进在[参考文献1]中所呈现的常规信息理论模型预测控制技术(IT-MPC)。[参考文献1]的IT-MPC可以被解释为用于通过考虑动态环境中的随机非线性系统来(局部地)生成机器人运动的方法。所生成的轨迹P3最小化所限定的成本函数(即与参考路径的接近度,路径间隙)。
根据申请人的分析,找到针对动态环境中的随机非线性系统的最优控制问题解仍然是具有挑战性的任务。新近地,基于采样的模型预测控制(MPC)已经被证明是用于解决具有高度非线性动态系统的复杂域中的随机问题的有用工具。这些常规的MPC方法于在先的分布上采样以生成轨迹,从而强烈地使问题的解适应于该在先分布,影响实现这样的常规MPC方法的控制器的性能和效率。根据另外的方面,对于多模态和/或高度动态的设置,在所预测的控制周围的采样可能不很好地执行,因为它正在将分布约束到特定的状态空间成本区域。
如以上关于图1到图8和表1、2、3所解释的各种优选实施例可以被视为对于如通过[参考文献1]所公开的基于IT-MPC的途径的扩展。另外的优选实施例提供对模型进行学习以用于将采样过程(参见例如根据表1的算法1的行5到行14)引导到状态空间的低成本(或相应地较低成本)区域,优选地适应于载具的本征(intrinsic)和/或环境E。根据另外的优选实施例,这可以例如如下来被获得:通过使用生成性模型、特别是图8的条件变分自动编码器(CVAE)400,用以学习对来自训练数据集的样本进行模仿的分布,所述训练数据集包含任务感知的经优化的控制序列。根据另外的优选实施例,还可以使用除了所述CVAE 400之外的其它生成性模型。
通过以告知方式、例如以图5的步骤303和/或表2的算法2(参见例如行2)的形式来应用所学习的分布,根据优选实施例的方法保持来自基于采样的MPC方法的稳健性性质,而同时利用来自所学习的模型的引导(例如,使用所述CVAE 400)。
根据申请人的分析,优选实施例——其例如应用环境地和/或任务感知的所学习的分布(例如以所述CVAE 400的所训练的解码器402的形式)——使得能够增加运动控制在路径品质和规划效率方面的性能,特别是当与使用常规轨迹采样方案的常规技术相比的时候。
根据申请人的分析,其基于根据优选实施例的方法在所模拟的环境中的测试,根据优选实施例的方法为不同的任务、即路径追踪和障碍避免生成与载具100、100’的运动控制相关的更好行为。对于路径追踪,基于根据优选实施例的方法的途径已经与如通过[参考文献1]所公开的常规IT-MPC相比较,其中已经发现了基于根据优选实施例的方法的途径生成较低成本的解,而同时更成功并且用来实现所设计的任务还更快速。在障碍避免方面,基于根据优选实施例的方法的途径已经与根据[参考文献1]的IT-MPC以及与基于“DynamicWindows”——参见例如[4] Dieter Fox, Wolfram Burgard和Sebastian Thrun的“Thedynamic window approach to collision avoidance”(IEEE Robotics & AutomationMagazine(IEEE机器人学&自动化杂志),4(1):23–33, 1997)——的常规技术相比较。而且在该情况中,基于根据优选实施例的方法的途径生成在成本、完成任务的时间以及成功操作的数目方面更好的解。
根据另外的优选实施例,以上关于例如图4、图5所解释的方法可以形成运动规划架构的一部分,参见图2。它可以用于提供轨迹优化算法,所述轨迹优化算法生成机器人运动,其考虑通过全局路径规划器B2所计算的参考路径ics(图2)、所估计的定位pi以及例如环境的地图。
根据另外的优选实施例,根据实施例的原理可以用于扩展如通过[参考文献1]所公开的常规IT-MPC,其例如通过利用处于较低成本状态空间区域上的样本(参见表1的行4)来告知控制器200(图3)。有利地,这样的样本可以通过CVAE 400(图8)来被生成。
根据另外的优选实施例,CVAE 400可以对采样分布进行学习,例如根据离线生成的数据集(其例如通过模拟而被生成),例如通过使用基于自组织任务的损失函数,所述基于自组织任务的损失函数例如如以上所解释的。
根据另外的优选实施例,特别是为了实现对输入分布的甚至更好的学习,可以基于任务特定的损失函数floss来优化CVAE参数。
根据另外的优选实施例,参见以上的表2的函数可以用于生成新的均值,根据所述新的均值,例如表1的算法可以优选地随机绘制(参见表1的行4)新的控制。如以上所提及的,有利地,函数可以使用CVAE 400(图8)来生成(一个或多个)样本。
根据另外的优选实施例,示例性的成本函数c(x)(例如用于使用在表1的行11中)可以取决于以下等式来被选择:
其中通过第一权重w1>0而被加权的第一被加数表示抵达选自全局路径P1(图1)——其例如基于所限定的前瞻距离——的子目标Plh的任务,并且其中通过第二权重w2>0而被加权的第二被加数表示障碍避免的各方面,其中Nobst是障碍O的数目,是第i障碍O的定位。
Claims (16)
1.一种控制载具(100;100’)或机器人的方法,其中所述方法包括以下步骤:确定(300)第一控制序列(cs1),取决于所述第一控制序列(cs1)、所述载具(100;100’)或机器人的当前状态(cst)以及对所述载具(100;100’)或机器人的动态行为进行表征的模型(M)来确定(310)用于控制所述载具(100;100’)的第二控制序列(cs2),取决于所述第二控制序列(cs2)来控制(320)所述载具(100;100’)或机器人,其中所述第一控制序列(cs1)的所述确定(300)包括:提供(301)第一候选控制序列(ccs1),确定(302)与所述第一候选控制序列(ccs1)相关联的第一累积轨迹成本(atc1),提供(303)第二候选控制序列(ccs2),确定(304)与所述第二候选控制序列(ccs2)相关联的第二累积轨迹成本(atc2),比较(305)所述第一累积轨迹成本(atc1)与所述第二累积轨迹成本(atc2),以及取决于所述比较(305),使用(306)所述第一候选控制序列(ccs1)作为所述第一控制序列(cs1)或者使用(307)所述第一候选控制序列(ccs1)和所述第二候选控制序列(ccs2)的经加权的总和(ws)作为所述第一控制序列(cs1)。
3.根据前述权利要求中至少一项所述的方法,其中一个或多个控制循环(cc)用于控制所述载具(100;100’)或机器人,其中所述控制循环(cc)中的至少一个、优选所有控制循环(cc)包括确定(300)第一控制序列(cs1)、确定(310)第二控制序列(cs2)以及取决于所述第二控制序列(cs2)来控制(320)所述载具(100;100’)或机器人的所述步骤,其中提供(301)所述第一候选控制序列(ccs1)的所述步骤包括使用初始控制序列(ics)作为所述第一候选控制序列(ccs1),或者基于在前控制循环(cc)的第二控制序列(cs2)来确定所述第一候选控制序列(ccs1)。
4.根据所述前述权利要求中至少一项所述的方法,其中提供(303)所述第二候选控制序列(ccs2)的所述步骤包括使用所训练的第一神经网络(NN1),所述所训练的第一神经网络(NN1)被配置成接收第一输入参数(ip1)以及取决于所述第一输入参数(ip1)来输出所述第二候选控制序列(ccs2)。
5.根据权利要求4所述的方法,其中所述第一神经网络(NN1)是条件变分自动编码器CVAE(400)的解码器(402),其中所述CVAE(400)此外包括编码器(401),所述编码器(401)包括第二神经网络(NN2),其中所述编码器(401)被配置成接收第二输入参数(ip2),所述第二输入参数(ip2)表征所述载具(100;100’)或机器人的潜在轨迹和/或针对所述载具(100;100’)或机器人的条件,并且将所述第二输入参数(ip2)映射到隐空间中具有均值µ和方差∑的正态分布,其中表示所述载具(100;100’)或机器人的所述潜在轨迹,并且其中表示针对所述载具(100;100’)或机器人的所述条件。
6.根据权利要求4至5中至少一项所述的方法,其中所述第一神经网络(NN1)和/或所述第二神经网络(NN2)包括a)四层,优选地四个全连接的层,和/或b)修正线性单元ReLU,其用于实现激活函数。
8.根据权利要求7所述的方法,其中在第一时间点执行所述训练(10),并且其中在所述第一时间点之后的第二时间点处执行(20)确定(300)第一控制序列(cs1)、确定(310)第二控制序列(cs2)以及取决于所述第二控制序列(cs2)来控制(320)所述载具(100;100’)或机器人的所述步骤。
9.根据权利要求8所述的方法,其中由第一实体(200)来执行所述训练(10),并且其中由所述第一实体(200)和/或第二实体来执行(20)确定(300)第一控制序列(cs1)、确定(310)第二控制序列(cs2)以及取决于所述第二控制序列(cs2)来控制(320)所述载具(100;100’)或机器人的所述步骤。
10.一种用于控制载具(100;100’)或机器人的装置(200),其中所述装置(200)被配置成执行根据前述权利要求中至少一项所述的方法,其中优选地所述装置(200)包括以下元件中的至少一个:a)计算单元(202),b)与所述至少一个计算单元(202)相关联的、用于至少临时地存储计算机程序(PRG)和/或数据(DAT)的存储器单元(204),其中所述计算机程序(PRG)优选地被配置成至少临时地控制所述装置(200)的操作,c)用于向载具(100;100’)或机器人提供控制输出(co)的控制输出接口(206),d)输入接口(207),其被配置成接收以下元素中的至少一个:d1)传感器数据(sd),其优选地表征所述载具(100;100’)或机器人的定位和/或所述载具(100;100’)或机器人的定向,d2)定位信息(pi),其可以例如由另外的设备来提供,d3)地图信息(mi)。
11.一种载具(100;100’)或机器人,其包括根据权利要求10所述的装置(200),其中优选地所述载具(100;100’)是陆地载具、特别是以下各项中的至少一个:汽车、自主驾驶的汽车、机器人、内部物流机器人、清洁机器人、特别是家庭清洁机器人、机器人割草机、具有至少一个可移动组件的静止机器人。
12.一种包括指令的计算机程序(PRG),所述指令当程序(PRG)被计算机(202)执行的时候使得所述计算机(202)实施根据权利要求1至9中至少一项所述的方法。
13.一种包括指令(PRG’)的计算机可读存储介质(SM),所述指令(PRG’)当被计算机(202)执行的时候使得所述计算机(202)实施根据权利要求1至9中至少一项所述的方法。
14.一种数据载波信号(DCS),其承载权利要求12的计算机程序(PRG)。
15.根据权利要求1至9中至少一项所述的方法和/或根据权利要求10所述的装置(200)和/或根据权利要求11所述的载具(100;100’)或机器人和/或根据权利要求12所述的计算机程序(PRG)的使用,其用于a)优化针对载具(100;100’)或机器人或机器人的组件的轨迹,和/或b)障碍避免。
16.一种训练(10)条件变分自动编码器CVAE(400)的方法,其中所述CVAE(400)包括作为解码器(402)的第一神经网络(NN1)和作为编码器(401)的第二神经网络(NN2),其中所述解码器(402)可配置成接收第一输入参数(ip1)并且输出候选控制序列(ccs2),以用于一种取决于所述第一输入参数(ip1)来控制载具(100;100’)或机器人的方法、特别是根据权利要求1至9中至少一项所述的方法,其中所述编码器(401)可配置成接收第二输入参数(ip2),所述第二输入参数(ip2)表征所述载具(100;100’)或机器人的潜在轨迹和/或针对所述载具(100;100’)的条件,并且将所述第二输入参数(ip2)映射到隐空间中具有均值µ和方差∑的正态分布,其中表示所述载具(100;100’)或机器人的所述潜在轨迹,并且其中表示针对所述载具(100;100’)或机器人的所述条件,其中所述训练(10)包括使用以下各项中的至少一个:a)域特定的损失函数,其取决于所述载具(100;100’)或机器人的所述潜在轨迹和/或针对所述载具(100;100’)或机器人的所述条件,b)在所述隐空间中的Kullback-Leibler 、KL-发散,其特别地根据,其中是结果得到的损失函数,其中是所述隐空间中的所述Kullback-Leibler发散,其中是所述正态分布,并且其中表征所期望的隐空间分布。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19174326.9 | 2019-05-14 | ||
EP19174326.9A EP3739418B1 (en) | 2019-05-14 | 2019-05-14 | Method of controlling a vehicle and apparatus for controlling a vehicle |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111949013A true CN111949013A (zh) | 2020-11-17 |
Family
ID=66542101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010401675.2A Pending CN111949013A (zh) | 2019-05-14 | 2020-05-13 | 控制载具的方法和用于控制载具的装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11703871B2 (zh) |
EP (1) | EP3739418B1 (zh) |
CN (1) | CN111949013A (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3955080B1 (en) * | 2020-08-12 | 2024-01-17 | Robert Bosch GmbH | Method and device for socially aware model predictive control of a robotic device using machine learning |
JP7115816B2 (ja) * | 2020-12-11 | 2022-08-09 | 三菱ロジスネクスト株式会社 | 自律走行車および自律走行システム |
CN118393973B (zh) * | 2024-06-26 | 2024-09-17 | 山东海量信息技术研究院 | 一种自动驾驶控制方法、装置、系统、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104396136A (zh) * | 2012-07-06 | 2015-03-04 | Abb技术有限公司 | 控制模块化转换器 |
CN105549597A (zh) * | 2016-02-04 | 2016-05-04 | 同济大学 | 一种基于环境不确定性的无人车动态路径规划方法 |
US20180120843A1 (en) * | 2016-11-03 | 2018-05-03 | Mitsubishi Electric Research Laboratories, Inc. | System and Method for Controlling Vehicle Using Neural Network |
US20180218262A1 (en) * | 2017-01-31 | 2018-08-02 | Panasonic Intellectual Property Corporation Of America | Control device and control method |
CN109074517A (zh) * | 2016-03-18 | 2018-12-21 | 谷歌有限责任公司 | 全局归一化神经网络 |
CN109313445A (zh) * | 2016-03-23 | 2019-02-05 | 优特诺股份有限公司 | 车辆驾驶和自动驾驶的促进 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9753441B2 (en) * | 2013-05-13 | 2017-09-05 | Massachusetts Institute Of Technology | Controlling dynamical systems with bounded probability of failure |
WO2019010659A1 (en) * | 2017-07-13 | 2019-01-17 | Beijing Didi Infinity Technology And Development Co., Ltd. | SYSTEMS AND METHODS FOR TRACK DETERMINATION |
US11467590B2 (en) * | 2018-04-09 | 2022-10-11 | SafeAI, Inc. | Techniques for considering uncertainty in use of artificial intelligence models |
US11715016B2 (en) * | 2019-03-15 | 2023-08-01 | International Business Machines Corporation | Adversarial input generation using variational autoencoder |
-
2019
- 2019-05-14 EP EP19174326.9A patent/EP3739418B1/en active Active
-
2020
- 2020-04-29 US US16/861,544 patent/US11703871B2/en active Active
- 2020-05-13 CN CN202010401675.2A patent/CN111949013A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104396136A (zh) * | 2012-07-06 | 2015-03-04 | Abb技术有限公司 | 控制模块化转换器 |
CN105549597A (zh) * | 2016-02-04 | 2016-05-04 | 同济大学 | 一种基于环境不确定性的无人车动态路径规划方法 |
CN109074517A (zh) * | 2016-03-18 | 2018-12-21 | 谷歌有限责任公司 | 全局归一化神经网络 |
CN109313445A (zh) * | 2016-03-23 | 2019-02-05 | 优特诺股份有限公司 | 车辆驾驶和自动驾驶的促进 |
US20180120843A1 (en) * | 2016-11-03 | 2018-05-03 | Mitsubishi Electric Research Laboratories, Inc. | System and Method for Controlling Vehicle Using Neural Network |
US20180218262A1 (en) * | 2017-01-31 | 2018-08-02 | Panasonic Intellectual Property Corporation Of America | Control device and control method |
CN108376284A (zh) * | 2017-01-31 | 2018-08-07 | 松下电器(美国)知识产权公司 | 控制装置以及控制方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3739418A1 (en) | 2020-11-18 |
EP3739418B1 (en) | 2021-12-15 |
US11703871B2 (en) | 2023-07-18 |
US20200363810A1 (en) | 2020-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Fu et al. | One-shot learning of manipulation skills with online dynamics adaptation and neural network priors | |
Morales et al. | A survey on deep learning and deep reinforcement learning in robotics with a tutorial on deep reinforcement learning | |
Jesus et al. | Deep deterministic policy gradient for navigation of mobile robots in simulated environments | |
JP4803212B2 (ja) | データ処理装置、データ処理方法、及びプログラム | |
CN111949013A (zh) | 控制载具的方法和用于控制载具的装置 | |
JP2022549859A (ja) | 後知恵モデリングを用いた行動選択ニューラルネットワークの訓練 | |
WO2020065001A1 (en) | Learning motor primitives and training a machine learning system using a linear-feedback-stabilized policy | |
US20210187733A1 (en) | Data-efficient hierarchical reinforcement learning | |
Bansal et al. | A hamilton-jacobi reachability-based framework for predicting and analyzing human motion for safe planning | |
JP7297842B2 (ja) | リスク尺度を示すパラメータに基づいて訓練されたモデルを使用して、与えられた状況に対するデバイスの行動を決定する方法およびシステム | |
Liu et al. | Episodic memory-based robotic planning under uncertainty | |
Katyal et al. | High-speed robot navigation using predicted occupancy maps | |
Bellegarda et al. | An online training method for augmenting mpc with deep reinforcement learning | |
CN118201742A (zh) | 使用图神经网络的多机器人协调 | |
Sintov et al. | Motion planning with competency-aware transition models for underactuated adaptive hands | |
Sharma et al. | Model based path planning using Q-Learning | |
Lawson et al. | Control transformer: robot navigation in unknown environments through prm-guided return-conditioned sequence modeling | |
Rottmann et al. | Adaptive autonomous control using online value iteration with gaussian processes | |
Kollar et al. | Using reinforcement learning to improve exploration trajectories for error minimization | |
Demir et al. | Motion planning and control with randomized payloads using deep reinforcement learning | |
CN115081612A (zh) | 用以改进机器人策略学习的设备和方法 | |
Anderson et al. | Autonomous navigation via a deep Q network with one-hot image encoding | |
Chandrasekaran et al. | A human in the loop based robotic system by using soft actor critic with discrete actions | |
Boularias et al. | Apprenticeship learning with few examples | |
Grigorescu | Vision dynamics-based learning control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |