规划自主运动的制作方法

文档序号:17129655发布日期:2019-03-16 01:00阅读:208来源:国知局
规划自主运动的制作方法

本说明书涉及规划自主运动。



技术实现要素:

此外,本文档中描述的技术的实现包括基于基于规则的层级的运动规划和驱动控制,以用于操作具有自主能力的机器。

通常,在一个方面,一种方法可以包括:(1)分析与适用于机器的一个或多个运动动作的基本原则(basicprinciple)相关联的数据,以生成与基本原则相关联的逻辑表达,以及(2)使用逻辑表达来规划所述机器的运动动作。

在一些实现中,基本原则可以包括法律、法规、伦理(ethics)原则、运动环境、操作经验、先前推断的逻辑表达、或偏好、或它们中的两个或更多个的组合。在一些实现中,数据可以包括真实数据或模拟数据或两者。

在一些实现中,分析数据可以包括解析描述基本原则的一个或多个文本。在一些实现中,分析所述数据可以包括推断一个或多个条件以及与所述一个或多个条件相关联的一个或多个适当动作。在一些实现中,分析所述数据可以包括跟踪传感器数据中的一个或多个对象并推断两个对象之间、或两个事件之间、或两个时间之间或它们的组合的逻辑关系。

在一些实现中,生成与基本原则相关联的逻辑表达可以包括将逻辑表达分类为优先级组,将优先级组组织为层级,或者以部分顺序组织优先级组,或以严格顺序组织优先级组,或它们的组合。在一些实现中,层级可以包括关于两个优先级组之间的优先次序的信息。可以不对属于优先级组的逻辑表达排序。可以不部分地排序属于优先级组的逻辑表达。可以不严格排序属于优先级组的逻辑表达。

在一些实现中,生成与基本原则相关联的逻辑表达可以包括将逻辑表达组织为层级,或者以部分顺序组织逻辑表达,或以严格顺序组织逻辑表达,或它们的组合。在一些实现中,层级可以包括关于两个逻辑表达之间的优先次序的信息。

在一些实现中,生成与基本原则相关联的逻辑表达可以包括以下中的一个或多个或全部:识别与逻辑表达相关联的一个或多个因子,确定因子的值,使用链接过程识别缺失的因子,基于共同因子链接两个逻辑表达,基于共同条件链接两个逻辑表达,或基于共同的适当动作链接两个逻辑表达。

在一些实现中,生成与基本原则相关联的逻辑表达可以包括统计地评估条件、适当动作和与适当动作的偏差的发生,或者基于该发生来调整一个或多个逻辑表达,或两者。

在一些实现中,生成与基本原则相关联的逻辑表达可以包括表达在机器指令中的逻辑表达。

在一些实现中,规划运动动作可以包括以下中的一个或多个或全部:识别候选轨迹,指定沿轨迹的运动动作的序列,评估机器的运动动作的优先级级别,评估机器符合逻辑表达的适当动作的运动动作,或者评估机器的运动动作偏离逻辑表达的适当动作的偏差度量。在一些情况下,偏差度量可以包括机器的能量消耗。在一些示例中,偏差度量可以包括机器的经济损失。可以沿整个轨迹或轨迹分量评估偏差度量。

在一些实现中,该方法包括生成机器的运动动作的报告。在一些实现中,生成报告可以包括以下中的一个或多个或全部:识别指导运动动作的基本原则,识别与运动动作相关联的重写(overwriting)原则,记录轨迹和运动动作,记录关于规划所述机器的运动动作的决定,记录用于规划所述机器的运动动作的逻辑表达,记录机器的运动动作的偏差度量,检测风险事件,生成关于风险事件的警报,将报告传输到远程计算设备,检测离开逻辑表达或离开基本原则的偏差,确定责任,将报告集成到与基本原则相关联的数据,或使用报告以便调整生成逻辑表达的过程。

通常,在一个方面,一种方法(例如,运动规划)可以包括(1)将具有与适当动作相关联的条件的逻辑表达应用于具有一个或多个自主运动能力的机器,以确定所述机器的一个或多个可能的运动动作,以及(2)应用与一个或多个适当动作的偏差的度量来选择要由机器产生的所述可能的运动动作之一。

在一些实现中,可以从基本原则导出逻辑表达,所述基本原则包括法律、法规、伦理原则、运动环境、操作经验、先前推断的逻辑表达、或偏好、或它们中的两个或更多个的组合。在一些实现中,可以从真实数据或模拟数据或两者导出逻辑表达。在一些实施例中,逻辑表达可以从以下中的一个或多个或全部导出:解析描述基本原则的一个或多个文本。在一些示例中,从跟踪传感器数据中的一个或多个对象并推断两个对象之间、或两个事件之间、或两个时间之间或它们的组合的逻辑关系来导出逻辑表达。

在一些实现中,逻辑表达可以被组织为优先级组。优先级组可以以层级组织。优先级组可以以部分顺序或严格顺序组织。层级可以包括关于两个优先级组之间的优先次序的信息。可以不对属于优先级组的逻辑表达排序。可以不部分地排序属于优先级组的逻辑表达。可以不严格排序属于优先级组的逻辑表达。

在一些实现中,逻辑表达可以被组织为层级。逻辑表达可以以部分顺序或严格顺序组织。层级可以包括关于两个逻辑表达之间的优先次序的信息。

在一些实现中,逻辑表达可以包括一个或多个因子。可以从统计地评估条件、适当动作以及与适当动作的偏差的发生导出逻辑表达。可以基于发生来调整逻辑表达。逻辑表达可以在机器指令中被表达。

在一些实现中,选择可能的运动动作之一可以包括评估机器的运动动作的优先级级别。在一些实现中,选择可能的运动动作之一可以包括评估所述机器的符合逻辑表达的适当动作的运动动作。

在一些实现中,偏差度量可以包括机器的能量消耗。在一些实现中,偏差度量可以包括机器的经济损失。可以沿整个轨迹或轨迹分量评估偏差度量。

通常,在一个方面,一种方法包括(1)将具有一个或多个自主运动能力的机器的被执行的运动动作与一个或多个逻辑表达进行比较,以及(2)在报告中记录所述比较。

在一些实现中,比较可以包括以下中的一个或多个或全部:计算被执行的运动动作相对于逻辑表达中指定的适当动作的偏差度量,评估被执行的运动动作的优先级级别、识别指导被执行的运动动作的基本原则,识别被执行的运动动作的优先级级别,或识别用于执行被执行的运动动作的决定过程。

在一些实现中,在报告中记录比较可以包括以下中的一个或多个或全部:记录与被执行的运动动作相关联的遍历轨迹,记录被执行的运动动作,记录用于执行被执行的运动动作的决定过程,或记录用于选择被执行的运动动作的逻辑表达。

在一些实现中,该方法包括以下中的一个或多个或全部:基于比较检测风险事件,生成关于风险事件的警报,将报告传输到远程计算设备,基于比较确定责任,或将报告反馈到所述一个或多个逻辑表达的生成器中。

通常,在一个方面,一种方法(例如,责任评估)包括:(1)接收记录由机器执行的运动动作的报告,(2)评估所执行的运动动作偏离由逻辑表达指定的适当动作的偏差度量,以及(3)确定所执行的运动动作的责任。

在一些实现中,逻辑表达可以从基本原则导出,其中基本原则可以包括法律、法规、伦理原则、运动环境、操作经验、先前推断的逻辑表达、或偏好、或它们中的两个或更多个的组合。在一些实现中,逻辑表达可以从以下导出,解析描述基本原则的一个或多个文本,推断一个或多个条件和与一个或多个条件相关联的一个或多个适当动作,或者跟踪传感器中的一个或多个对象以及推断两个对象之间、或两个事件之间、或两个时间之间、或它们的组合的之间的逻辑关系,或者它们的组合。

在一些实现中,逻辑表达可以被分类为优先级组。优先级组可以用部分顺序或严格顺序以层级来组织。层级可以包括关于两个优先级组之间的优先次序的信息。可以不对属于优先级组的逻辑表达排序。可以不部分地排序属于优先级组的逻辑表达。可以不严格地排序属于优先级组的逻辑表达。

在一些实现中,逻辑表达可以用部分顺序或严格顺序以层级来组织。层级可以包括关于两个逻辑表达之间的优先次序的信息。

在一些实现中,其中偏差度量可以包括被执行的运动动作的能量消耗,或者被执行的运动动作的经济损失,或两者。可以沿整个轨迹或轨迹分量评估偏差度量。

在一些实现中,确定责任可以包括以下中的一个或多个或全部:识别指导适当动作的基本原则,基于一个或多个偏差度量识别被执行的运动离开基本原则的偏差,识别与适当动作相关联的重写原则,基于一个或多个偏差度量识别被执行的运动离开重写原则的偏差,识别与适当动作相关联的轨迹,基于一个或多个偏差度量识别被执行的运动离开轨迹的偏差,识别适当动作的序列,或基于一个或多个偏差度量识别被执行的运动的序列离开适当动作的序列的偏差。

通常,在一个方面,一种车辆包括:(1)驱动部件,包括加速部件、转向部件和减速部件;(2)自主驱动能力,用于向所述驱动部件发出信号以在至少部分自主驱动模式下驱动车辆;(3)分析部件,用于分析与适用于机器的一个或多个运动动作的基本原则相关联的数据,以生成与所述基本原则相关联的逻辑表达,以及(4)命令部件,用于使用所述逻辑表达来规划所述车辆的运动动作。

在一些实现中,基本原则可以包括法律、法规、伦理原则、运动环境、操作经验、先前推断的逻辑表达、或偏好、或它们中的两个或更多个的组合。

在一些实现中,数据可以包括真实数据或模拟数据或两者。

在一些实现中,分析数据可以包括以下中的一个或多个或全部:解析描述基本原则的一个或多个文本,推断一个或多个条件以及与一个或多个条件相关联的一个或多个适当动作,跟踪传感器数据中的一个或多个对象,或推断两个对象之间、或两个事件之间、或两个时间之间、或它们的组合的逻辑关系。

在一些实现中,生成与基本原则相关联的逻辑表达可以包括将逻辑表达分类为优先级组。优先级组可以以层级来组织。优先级组可以以部分顺序或严格顺序组织。层级可以包括关于两个优先级组之间的优先次序的信息。可以不对属于优先级组的逻辑表达排序。可以不部分地排序属于优先级组的逻辑表达。可以不严格地排序属于优先级组的逻辑表达。

在一些实现中,生成与基本原则相关联的逻辑表达可以包括将逻辑表达组织为层级。逻辑表达可以以部分顺序或严格顺序组织。层级可以包括关于两个逻辑表达之间的优先次序的信息。

在一些实现中,生成与基本原则相关联的逻辑表达可以包括以下中的一个或多个或全部:识别与逻辑表达相关联的一个或多个因子,确定因子的值,使用链接过程识别缺失的因子,基于共同因子链接两个逻辑表达,基于共同条件链接两个逻辑表达,或基于共同的适当动作链接两个逻辑表达。

在一些实现中,生成与所述基本原则相关联的逻辑表达可以包括统计性地评估条件、适当动作以及与适当动作的偏差的发生。生成与所述基本原则相关联的逻辑表达可以包括基于发生来调整一个或多个逻辑表达。

在一些实现中,生成与基本原则相关联的逻辑表达可以包括表达在机器指令中的逻辑表达。

在一些实现中,规划运动动作可以包括以下中的一个或多个或全部:识别候选轨迹,指定沿轨迹的运动动作的序列,评估机器的运动动作的优先级级别,评估机器符合逻辑表达的适当动作的运动动作,或者评估机器的运动动作偏离逻辑表达的适当动作的偏差度量。

在一些实现中,偏差度量可以包括机器的能量消耗。在一些实现中,偏差度量可以包括机器的经济损失。可以沿整个轨迹或轨迹分量评估偏差度量。

在一些实现中,分析部件生成机器的运动动作的报告。在一些实现中,生成报告可以包括以下中的一个或多个或全部:识别指导运动动作的基本原则,识别与运动动作相关联的重写原则,记录轨迹和运动动作,记录关于规划所述机器的运动动作的决定,记录用于规划所述机器的运动动作的逻辑表达,记录机器的运动动作的偏差度量,检测风险事件,生成关于风险事件的警报,将报告传输到远程计算设备,检测离开逻辑表达或离开基本原则的偏差,确定责任,将报告集成到与基本原则相关联的数据,或使用报告以便调整生成逻辑表达的过程。

通常,在一个方面,一种装置(例如,计算设备或电子设备)包括:指令存储装置;以及处理器,用于根据所述指令来操作以用于:(1)分析具有一个或多个条件以及与所述一个或多个条件相关联的一个或多个适当动作的至少一个逻辑表达,以及(2)使机器基于所述逻辑表达规划运动动作。

在一些实现中,逻辑表达可以从基本原则导出,所述基本原则包括法律、法规、伦理原则、运动环境、操作经验、先前推断的逻辑表达、或偏好、或它们中的两个或更多个的组合。在一些实现中,逻辑表达可以从以下中的一个或多个或全部中导出:解析描述基本原则的一个或多个文本,推断一个或多个条件以及与一个或多个条件相关联的一个或多个适当动作,或者跟踪传感器数据中的一个或多个对象,以及推断两个对象之间、或两个事件之间、或两个时间之间、或它们的组合的逻辑关系。

在一些实现中,逻辑表达可以被分类在一个或多个优先级组中。优先级组可以以层级来组织。优先级组可以以部分顺序或严格顺序组织。层级可以包括关于两个优先级组之间的优先次序的信息。可以不对属于优先级组的逻辑表达排序。可以不部分地排序属于优先级组的逻辑表达。可以不严格地排序属于优先级组的逻辑表达。

在一些实现中,两个或多个逻辑表达可以被组织为层级。两个或多个逻辑表达可以以部分顺序或严格顺序组织。层级可以包括关于两个逻辑表达之间的优先次序的信息。

在一些实现中,逻辑表达可以包括一个或多个因子。所述一个或多个因子的值可以由机器学习算法来确定。在一些实现中,可以通过链接过程识别一个或多个缺失的因子。在一些实现中,可以基于共同因子、基于共同条件、或基于共同的适当动作、或它们的组合链接两个逻辑表达。

在一些实现中,基于条件、适当动作以及与适当动作的偏差的发生统计性地评估逻辑表达。

在一些实现中,生成与所述基本原则相关联的逻辑表达可以包括基于发生来调整一个或多个逻辑表达。

在一些实现中,逻辑表达可以在机器指令中被表达。

在一些实现中,规划运动动作可以包括以下中的一个或多个或全部:识别候选轨迹,指定沿轨迹的运动动作的序列,评估机器的运动动作的优先级级别,评估机器符合逻辑表达的适当动作的运动动作,或者评估机器的运动动作偏离逻辑表达的适当动作的偏差度量。偏差度量可以包括机器的能量消耗。偏差度量可以包括机器的经济损失。可以沿整个轨迹或轨迹分量评估偏差度量。

在一些实现中,处理器可以生成机器的运动动作的报告。在一些实现中,生成报告可以包括以下中的一个或多个或全部:识别指导运动动作的基本原则,识别与运动动作相关联的重写原则,记录轨迹和运动动作,记录关于规划所述机器的运动动作的决定,记录用于规划所述机器的运动动作的逻辑表达,记录机器的运动动作的偏差度量,检测风险事件,生成关于风险事件的警报,将报告传输到远程计算设备,检测离开逻辑表达或离开基本原则的偏差,确定责任,将报告集成到与基本原则相关联的数据,或使用报告以便调整生成逻辑表达的过程。

通常,在一个方面,一种装置(例如,用户界面)包括:处理器;以及显示器,该显示器由所述处理器配置为用于允许用户指示关于机器的运动的请求;其中所述处理器(1)通过使用至少一个逻辑表达分析所述请求的成本来评估所述请求,以及(2)当所述成本可以小于阈值时,生成与所述请求相关联的控制命令并将所述控制命令传输到所述机器的运动控制器。

在一些实现中,逻辑表达可以从基本原则导出,所述基本原则包括法律、法规、伦理原则、运动环境、操作经验、先前推断的逻辑表达、或偏好、或它们中的两个或更多个的组合。

在一些实现中,可以从解析描述基本原则的一个或多个文本导出逻辑表达。

在一些实现中,可以从推断一个或多个条件以及与所述一个或多个条件相关联的一个或多个适当动作导出逻辑表达。

在一些示例中,从跟踪传感器数据中的一个或多个对象并推断两个对象之间、或两个事件之间、或两个时间之间或它们的组合的逻辑关系来导出逻辑表达。

在一些实现中,逻辑表达可以被分类在一个或多个优先级组中。优先级组可以以层级来组织。优先级组可以以部分顺序或严格顺序组织。层级可以包括关于两个优先级组之间的优先次序的信息。可以不对属于优先级组的逻辑表达排序。可以不部分地排序属于优先级组的逻辑表达。可以不严格地排序属于优先级组的逻辑表达。

在一些实现中,两个或多个逻辑表达可以被组织为层级。两个或多个逻辑表达可以以部分顺序或严格顺序组织。层级可以包括关于两个逻辑表达之间的优先次序的信息。

在一些实现中,逻辑表达可以包括一个或多个因子。所述一个或多个因子的值可以由机器学习算法来确定。可以通过链接过程识别一个或多个缺失的因子。可以基于共同因子、基于共同条件、或基于共同的适当动作、或它们的组合来链接两个逻辑表达。

在一些实现中,基于条件、适当动作以及与适当动作的偏差的发生统计性地评估逻辑表达。

在一些实现中,逻辑表达可以在机器指令中被表达。

在一些实现中,评估请求可以包括以下中的一个或多个或全部:识别候选轨迹,指定沿轨迹的运动动作的序列,评估机器的运动动作的优先级级别,评估机器符合逻辑表达的适当动作的运动动作,或者评估机器的运动动作偏离逻辑表达的适当动作的偏差度量。

在一些实现中,偏差度量可以包括机器的能量消耗。在一些实现中,偏差度量可以包括机器的经济损失。可以沿整个轨迹或轨迹分量评估偏差度量。

在一些实现中,处理器可以生成机器的运动动作的报告。在一些实现中,显示器可以呈现报告的信息。

在一些实现中,生成报告可以包括以下中的一个或多个或全部:识别指导运动动作的基本原则,识别与运动动作相关联的重写原则,记录轨迹和运动动作,记录关于规划所述机器的运动动作的决定,记录用于规划所述机器的运动动作的逻辑表达,记录机器的运动动作的偏差度量,检测风险事件,生成关于风险事件的警报,将报告传输到远程计算设备,检测离开逻辑表达或离开基本原则的偏差,确定责任,将报告集成到与基本原则相关联的数据,或使用报告以便调整生成逻辑表达的过程。

通常,在一个方面,一种计算设备(例如,服务器、计算机、膝上型计算机、或移动设备)包括:指令存储装置;网络接口,与具有一个或多个自主运动能力的机器通信;以及处理器,用于根据存储在所述存储装置中的指令进行操作以用于(1)分析与适用于所述机器的一个或多个运动动作的基本原则相关联的数据,以及(2)生成逻辑表达以规划所述机器的运动动作。

在一些实现中,基本原则可以包括法律、法规、伦理原则、运动环境、操作经验、先前推断的逻辑表达、或偏好、或它们中的两个或更多个的组合。

在一些实现中,数据可以包括真实数据或模拟数据或两者。

在一些实现中,分析数据可以包括解析描述基本原则的一个或多个文本。在一些实现中,分析所述数据可以包括推断一个或多个条件以及与所述一个或多个条件相关联的一个或多个适当动作。在一些实现中,分析所述数据可以包括跟踪传感器数据中的一个或多个对象并推断两个对象之间、或两个事件之间、或两个时间之间或它们的组合的逻辑关系。

在一些实现中,生成与基本原则相关联的逻辑表达可以包括将逻辑表达分类为优先级组。优先级组可以以层级来组织。优先级组可以以部分顺序或严格顺序组织。层级可以包括关于两个优先级组之间的优先次序的信息。可以不对属于优先级组的逻辑表达排序。可以不部分地排序属于优先级组的逻辑表达。可以不严格地排序属于优先级组的逻辑表达。

在一些实现中,生成与基本原则相关联的逻辑表达可以包括将逻辑表达组织为层级。逻辑表达可以以部分顺序或严格顺序来组织。层级可以包括关于两个逻辑表达之间的优先次序的信息。

在一些实现中,生成与所述基本原则相关联的逻辑表达可以包括识别与逻辑表达相关联的一个或多个因子。在一些实现中,生成与基本原则相关联的逻辑表达可以包括确定因子的值。在一些实现中,生成与基本原则相关联的逻辑表达可以包括使用链接过程来识别缺失的因子。可以基于共同因子、基于共同条件、或基于共同的适当动作、或基于它们的组合来链接两个逻辑表达。

在一些实现中,生成与所述基本原则相关联的逻辑表达可以包括统计性地评估条件、适当动作以及与适当动作的偏差的发生。在一些实现中,生成与所述基本原则相关联的逻辑表达可以包括基于发生来调整一个或多个逻辑表达。

在一些实现中,生成与基本原则相关联的逻辑表达可以包括表达在机器指令中的逻辑表达。

在一些实现中,规划运动动作可以包括以下中的一个或多个或全部:识别候选轨迹,指定沿轨迹的运动动作的序列,评估机器的运动动作的优先级级别,评估机器符合逻辑表达的适当动作的运动动作,或者评估机器的运动动作偏离逻辑表达的适当动作的偏差度量。

在一些实现中,偏差度量可以包括机器的能量消耗。在一些实现中,偏差度量可以包括机器的经济损失。可以沿整个轨迹或轨迹分量评估偏差度量。

在一些实现中,处理器生成机器的运动动作的报告。在一些实现中,生成报告可以包括以下中的一个或多个或全部:识别指导运动动作的基本原则,识别与运动动作相关联的重写原则,记录轨迹和运动动作,记录关于规划所述机器的运动动作的决定,记录用于规划所述机器的运动动作的逻辑表达,记录机器的运动动作的偏差度量,检测风险事件,生成关于风险事件的警报,将报告传输到远程计算设备,检测离开逻辑表达或离开基本原则的偏差,确定责任,将报告集成到与基本原则相关联的数据,或使用报告以便调整生成逻辑表达的过程。

这些和其他的方面、特征和实现可以表达为方法、装置、系统、部件、程序产品、经营商业的方法、用于执行功能的装置或步骤、以及在其他方式中。

根据包括权利要求的以下描述,这些和其他的方面、特征和实现将变得显而易见。

附图说明

图1是自主系统的框图。

图2是基于策略指南的规划系统的示例。

图3是指南处理器的示例。

图4a和图4b示出了优先级组和分层的优先级级别的示例。

图5示出了策略因子的示例。

图6示出了策略因子分析的示例。

图7示出了运动规划器的示例。

图8a、图8b和图8c示出了轨迹识别的示例。

图9a和图9b示出了运动规划的示例。

图10示出了报告生成器的示例。

图11示出了用于策略指南生成的界面。

图12示出了基于规则的规划系统的界面。

具体实施方式

术语“自主运动能力”广泛用于包括例如可以参与自主系统的运动而不是通过人为操纵自主系统的物理部件的任何功能、特征或设施。

术语“自主系统”广泛用于包括例如包括具有一个或多个自主运动能力的机器的任何系统。

术语“自主机器”或“运动机器”或简称“机器”广泛用于包括例如具有一个或多个自主运动能力的任何类型的机器人、车辆、飞行器、飞机、航天飞机、直升机、船用设备或船舶等。

术语“基本原则”广泛用于包括例如指导、影响或以其他方式约束自主系统的运动以例如符合社会、文化、法律、伦理、道德或其他行为规则、原则或其他规范的任何因素,包括或相关于例如交通法规、交通规则、驾驶文化、使用道路规则、首选驾驶风格、行人行为、驾驶经验、伦理或可行驶区域的界限、或它们的组合。

术语“策略指南(strategicguideline)”广泛用于包括例如从一个或多个基本原则导出的任何表达、描述、语言表示、定义或逻辑关系。通常,策略指南指示至少一个条件和与该条件相关联的至少一个适当的运动动作。本文档有时将“逻辑表达”与“策略指南”互换使用。

术语“运动环境”或有时简称“环境”广泛用于包括例如自主系统在其处操作的空间域或时域或两者。运动环境可具有多种特性,诸如时间、环境中的对象(例如,机器、车辆、基础设施、建筑物、灯、云、树、动物、人、行人、水和道路)、环境的配置(例如,道路配置、飞行通道)、法律和法规(例如,城市法规、州法律和法规、国家法律和法规)、习俗和文化,以及事件(例如,碰撞、火灾、建筑、抗议、体育、竞赛、展览和马拉松)和天气条件(例如,降雨、阳光、风暴和降雪)。

术语“轨迹”广泛用于包括例如从一个空间点到另一个空间点的任何路径或路线;例如,从上车位置到下车位置的路线或从停车位中的一个位置到停车位中的另一个位置的路径。可以以低分辨率(例如,以千米为单位)或以高分辨率(例如,以米或厘米为单位)或两者来描述轨迹。

术语“目标”或“目标位置”广泛用于包括例如机器或车辆要到达的任何地方或区域,包括例如临时下车位置、最终下车位置、或目的地等。

术语“运动规划”或有时简称“规划”广泛用于包括例如涉及规划自主系统或机器的任何规模的轨迹、路线或移动的部分中的所有的任何活动。运动规划通常涉及识别可能的轨迹,并且然后确定最佳轨迹(或轨迹的一部分)。

自主运动系统和运动机器

一类自主系统包括自主车辆(av),具有以自主驾驶能力形式的一个或多个自主运动能力的车辆,包括完全自主车辆、高度自主车辆和有条件地自主车辆,诸如分别为所谓的5级、4级和3级车辆(参见sae国际标准j3016:与道路机动车辆自动驾驶系统相关的术语的分类和定义(taxonomyanddefinitionsfortermsrelatedtoon-roadmotorvehicleautomateddrivingsystems),通过引用并入其全部内容,以用于有关车辆自治级别的分类的更多详细信息)。自主驾驶能力可以尝试控制车辆的转向或速度。本文档中描述的技术也可以应用于部分自主车辆和驾驶员辅助车辆,诸如所谓的2级和1级车辆(参见sae国际标准j3016:与道路机动车辆自动驾驶系统相关的术语的分类和定义)。1级、2级、3级、4级和5级车辆系统中的一个或多个可以基于传感器输入的处理在某些驾驶条件下使某些车辆操作(例如,转向、制动和使用地图)自动化。本文档中描述的技术可以使范围从完全自主车辆到人工操作车辆的任何级别的车辆受益。

如图1中所示,运动机器100(例如,av)的典型活动是在环境190内或通过环境190手动地或自主地或部分自主地沿着轨迹198朝向目标位置199安全且可靠地进行运动,同时避开对象(例如,阻挡物191、障碍物、车辆193、行人192、建筑物、骑自行车者和其他妨碍物)并遵守操作规则或驾驶偏好。使得运动机器100能够进行自主运动的机器100或自主系统120的特征、功能和设施通常被称为自主运动能力。

机器100的运动通常由一系列技术(例如,硬件、软件、以及存储的和实时的数据)支持,该文档一起(并且与机器100一起)有时称该技术为自主运动系统120。在一些实现中,该技术中的一种或一些或所有被机载在机器100上。在一些情况下,该技术中的一种或一些或所有是在另一位置处,诸如在服务器处(例如,在云计算基础设施中)。自主系统120的部件可包括以下中的一个或多个或全部(以及其他)。

1.机器100的功能设备101,其被装配成接收来自一个或多个计算处理器146和148的命令并且对该命令起作用,该命令用于运动(例如,在车辆的情况下转向102、加速、减速、档位选择和制动103)以及用于辅助功能(例如,在车辆的情况下,将信号激活)。

2.数据存储单元142或存储器144或两者,用于存储机器指令、或各种类型的数据、或两者。

3.一个或多个传感器121,用于测量或推断或既测量又推断机器的状态或条件的性质,诸如机器(或机器的一部分)的位置、取向、线性速度和角速度和加速度、以及前进方向(例如,机器前端的取向)。例如,在车辆的情况下,这种传感器可以包括但不限于:gps;惯性测量单元,测量车辆线性加速度和角速率;单个车轮速度传感器,用于测量或估算单个车轮滑移率;单个车轮制动压力或制动扭矩传感器;发动机扭矩或单个车轮扭矩传感器;和转向盘角度和角速率传感器。

4.一个或多个传感器,用于感测或测量机器的外部和内部环境的性质。例如,在车辆的情况下,这种传感器可以包括但不限于:可见光、红外或热(或两者)光谱中的单目或立体摄像机122;激光雷达123;雷达;超声波传感器;飞行时间(tof)深度传感器;速度传感器;和温度和降雨传感器。

5.一个或多个通信设备140,用于通信其他机器状态和条件的所测量或所推断或两者的性质,诸如位置、取向、线性速度和角速度、线性加速度和角加速度、以及线性前进方向和角前进方向。这些设备包括机器到机器(例如,车辆到车辆)和机器到基础设施(例如,车辆到基础设施)的通信设备和用于通过点对点或自组织网络或通过两者进行无线通信的设备。通信设备140可以跨电磁频谱(包括无线电和光通信)或其他媒体(例如,空气和声学媒体)进行通信。

6.一个或多个通信接口140(例如,有线、无线、wimax、wi-fi、蓝牙、卫星、蜂窝、光学、近场或无线电、或它们的组合),用于接收从远程定位的数据库134到自主系统120的数据,将传感器数据或与驾驶性能相关联的数据传输到远程定位的数据库134,或者传输和接收与远程操作相关联的信息或它们的组合。

7.一个或多个数据源142,用于提供关于环境190的历史、实时或预测信息或它们的组合,在车辆的情况下包括例如地图、驾驶性能、运动性能、交通拥堵更新或天气条件。这样的数据可以存储在机器100上的数据存储单元142或存储器144上,或者可以经由来自远程数据库134的通信信道被传输到机器100,或它们的组合。

8.一个或多个数据源136,用于提供地图数据;例如,数字道路地图数据;地理信息系统数据库;飞行路径图;导航通道图;道路几何性质图;描述道路网络连通性性质的地图;描述道路、飞行路径或导航通道的性质(诸如交通速度、交通量、车辆和自行车行车道的数量、车道宽度、车道交通方向或车道标记类型和位置、或它们的组合)的地图;以及描述道路或导航通道特征的空间位置的地图,诸如,在道路车辆的情况下,人行横道、交通标志或其他各种旅行信号。这样的数据可以存储在av100上的存储器144上,或者经由来自远程定位的数据库服务器134的通信信道被传输到av100,或两者的组合。

9.一个或多个数据源134或传感器132,用于提供关于先前已经参与运动的机器的移动性质(例如,速度、取向和加速度分布)的历史信息,例如,在道路车辆的情况下的例如在一天的类似时间的在局部区域内的行驶。这样的数据可以存储在机器100上的存储器144上,或者经由来自远程定位的数据库服务器134的通信信道被传输到机器100,或两者的组合。

10.位于机器100上(或远程或两者)的一个或多个计算设备146和148,用于基于实时传感器数据和先前信息两者执行用于在线生成控制行为的算法,允许自主系统120执行其自主运动(例如,驾驶)能力。

11.一个或多个处理器,用于处理传感器数据、感知环境、理解由感知环境当前呈现的条件以及由感知环境将来可能呈现的条件、执行轨迹或运动规划、执行运动或驾驶控制、以及基于那些感知和理解做出决定。可以通过集成电路、现场可编程门阵列、硬件、软件或固件或它们中的两个或多个的组合来实现处理。

12.一个或多个接口设备150(例如,显示器、鼠标、跟踪球、键盘、触摸屏、移动设备、扬声器、生物识别读取器和手势读取器),其耦合到计算设备146和148,用于向机器100的用户(例如,乘员、操作员或远程用户)提供信息和警报、或者接收来自机器100的用户的输入、或两者。耦合可以是无线的或有线的。可以将接口设备中的任何两个或多个集成到单个设备中。

运动规划

通常,操作自主系统包括规划其运动。运动规划可以考虑一个或多个基本原则。参考图2,下面描述基本原则的示例。

1在一些实现中,基本原则可以包括法律201或法规或规则或它们的组合。例如,在车辆的情况下,交通法可能要求自主系统(例如,av系统)使其运动符合速度限制、交通信号灯、交通标志、交通方向、车道标记、通行规则、飞行高度、着陆速度、着陆取向、导航通道要求或它们的组合。

2在一些实现中,基本原则可以包括不具有法律、规则或法规的力的偏好203。例如,道路车辆形式的自主系统(例如,av系统)可能优选在速度限制的上限处移动,或者可能优选以交通速度移动,即使该速度稍微有点超出速度限制。例如,自主系统的用户(例如,av系统的骑者,使用av系统的包裹发送者,以及自主飞行或海上系统的乘客)可能优选自主系统沿着舒适的轨迹移动而没有抖动很多。

3在一些实现中,基本原则可以包括来自过去经验205的运动行为或者在来自过去经验205的运动行为上被建模,在某些情况下其可以被记录在数据(例如,传感器数据207)中。例如,可以在环境(例如,道路环境、水环境、海洋环境、海底环境或空中环境)中测试自主系统,并且自主系统的运动行为(例如,速度、加速度、取向、高度和计划的轨迹)可以被记录并概括为该环境的基本原则。在诸如道路车辆之类的自主系统的一些实例下,从道路上的过去驾驶导出的基本原则可以被表达为,例如:“在该路段以低速驾驶”、“行人倾向于在该路段上乱穿马路”或“在这个分叉处靠右”。

4在一些实现中,基本原则可以包括运动环境209的表征(例如,道路、空域、水域、水下区域、导航通道、地理位置、基础设施、交通灯、交通标志、街灯、建筑物、车道标记和感知对象)。例如,建筑物可以阻挡用于自主系统的传感器的检测范围(例如,阻挡视觉传感器的视场),因此基本原则可以被描述为:“意识到在建筑物附近的阻挡检测范围”。

5在一些实现中,基本原则可以包括伦理问题211。例如,“不引起任何受伤的人”可以是当操作自主系统时的优选运动行为。

6在一些实现中,基本原则可以包括来自自主系统的人类用户的反馈。例如,乘客和公众可以提供关于舒适性和可预测性的反馈。例如,自主巡逻机器人可以部署在商场中,并且商场的访客可以提供关于机器人可以如何巡逻的评论。

自主系统的已知基本原则通常是描述性的(例如,自然语言表达)并且缺乏与对应运动行为的清晰、有条理、全面的逻辑关系。例如,规定周日早晨在德国科隆市中心通常禁止驾驶的基本原则可能与根据该法律应该提供的运动行为在逻辑上无关。例如,交叉路口的车辆可能同时遇到行进信号(例如,绿灯)和乱穿马路的行人,并且车辆理论上可以遵循交通法以向前行驶从而撞击行人而不承担责任;尽管如此,在现实生活中,在这种实例下,伦理问题可能要求驾驶员在行进信号处停止。

基本原则通常缺乏量化措施。基本原则经常以“如果-那么”陈述的形式描述;例如,如果遇到停车标志,那么停车;如果交通信号是红色的,那么完全停止;如果检测到对象,那么避免撞击对象。然而,当偏离或违反“如果-那么”陈述时,将会发生什么是不确定或未量化或未指明的。在车辆驾驶的示例中,当检测到停车标志时,车辆可以仅将其速度降低至0.05m/s,并且尽管违反了需要完全停止的交通法,但是这种运动行为可能是可接受的。在某些场景下,基本原则可能表达不撞击任何对象的偏好;例如,如果检测到对象,则避免撞击它。因此,汽车可以通过任何方式避免撞击行人,并且无人驾驶飞行器可以总是绕过所有高层建筑物。然而,因为避免撞击一个对象(例如,行人)的这种偏好可能导致撞击另一个对象(例如,停放的汽车),反之亦然,所以量化在符合基本原则的同时将具有意外或不满意的结果的运动决定是有用的。

参考图2,运动规划系统200可以包括指南处理器221,其分析基本原则并生成策略指南223的对应集(或在本文档中称为逻辑表达)。指南处理器221可以由人、算法过程或硬件设备或它们的组合来实现。

可以以一个或多个数据库的形式组织策略指南223的集。每项策略指南表达以下项目:(1)一个或多个条件,(2)与该一个或多个条件相关联的一个或多个适当动作,(3)与条件和适当的动作相关联的策略因子(例如,距离、速度、加速度、减速度、取向、时间、温度、季节、化学浓度、区域、高度和重量、仅举几例),以及(4)定量地评估离开(例如,没有符合)机器操作时的适当动作的偏差的偏差度量(在本文中用j表示)。

条件和相关联的适当动作可以以逻辑关系(例如,因果、时间或空间或它们的组合)来表达。当条件发生时,可以将适当的动作视为优选的运动动作。

例如,基本原则(例如,交通法201)可以陈述:在停止信号处停止车辆;指南处理器221可以分析该陈述并生成以下策略指南:

一个或多个条件:检测到停止信号。

一个或多个适当动作:完全停止。

策略因子:车辆的速度。

偏差度量:分数等于车辆速度(或与车辆速度成比例)。当车辆完全停止时,其偏差度量为j=0。当车辆未停止时,偏差度量变为j>0。如果车辆没有停止但其速度非常慢(例如,0.1m/s),其偏差度量为j=0.1。如果车辆没有停止并保持20m/s的高速,则其偏差度量为j=20。

例如,伦理(211)的基本原则可以陈述:当操作自主系统时,即使人违反交通法,也绝不伤害人。指南处理器221可以分析该陈述并生成以下策略指南:

一个或多个条件:检测到人。

一个或多个适当动作:与检测到的人保持距离。

策略因子:人与自主系统之间的距离(表示为d)。

偏差度量:当自主系统与人保持至少最小距离时,其偏差度量为j=0。当自主系统在与人的最小距离内时,偏差度量变为j=1/d。

例如,偏好(203)中的基本原则可以陈述:绕过附近的骑车者。指南处理器221可以分析该陈述并生成以下策略指南:

一个或多个条件:检测到骑车者。

一个或多个适当动作:绕过检测到的骑车者。

策略因子:检测到的骑车者和另一个对象之间的宽度(表示为w)允许自主系统通过。宽度w必须大于自主系统的宽度wa。

偏差度量:当宽度wa宽于定义为自主系统的宽度wa加上缓冲区wb的阈值wthre时,偏差度量为j=0。当宽度w在阈值wthre和自主系统的宽度wa之间时,偏差度量变为j=1/wb。当宽度w小于自主系统的宽度wa时,偏差度量是无穷大的j=∞。

基于策略指南223,运动规划器225可以定量地评估其正在考虑的候选轨迹(轨迹中的每个对应于运动动作的序列),然后从候选者中选择最佳轨迹227。例如,最佳轨迹可以是当与策略指南中的适当动作相比时,其运动动作导致最小偏差度量的候选轨迹。

指南处理器

通常,可以用人类语言描述基本原则(例如,法律、法规、习俗、文化或偏好、或它们的组合)。在一些实现中,可以通过分析传感器数据(例如,图像、视频、雷达信号、激光雷达信号、gps信号、超声信号、地理位置、里程表读数、速度曲线和自主系统的状态)来捕获基本原则(例如,环境中的测试),其不会或不能在结构化的形式中很好地表达。指南处理器分析例如基本原则、可能的条件、可能的适当动作和可能的策略因子,并生成策略指南的对应的逻辑、结构化表达。

参考图3,指南处理器300的实现可以包括与基本原则(例如,法律201、偏好203、过去的操作经验205、传感器数据207、运动环境209、伦理211、用户简况、位置特征和历史数据)的一个或多个数据源302通信的网络接口312。

指南处理器300的实现可以包括自然语言分析(图3中的314)。指南处理器可以解析描述基本原则的文本(例如,过去操作经验的法律或日志)以提取条件332和相关联的适当动作334。在一些情况下,基本原则的文本可能不使用一致的词;例如,一个描述可以使用“停止信号”而另一个描述可以使用“红灯”,但是停止信号和红灯可以指代相同的条件。自然语言分析314可以包括机器学习算法,用于分析和识别基本原则中的单词,并推断不同的条件和不同的适当动作,并识别条件和适当动作之间的关联。

自然语言分析314可以包括逻辑推理。例如,基本原则可以陈述“对行人让步”和“在人行横道让步”。虽然这两个陈述是用不同的文本写成的,但逻辑推理可以将它们聚集在一起并推断出单个策略指南,其包括作为“行人和横道”的条件以及作为“停止自主系统”的相关联适当动作。

在一些实现中,逻辑推理可以包括推断与适当动作相关联的条件,或推断与条件相关联的适当动作,或两者。例如,陈述“对行人让步”的基本原则并没有明确地规定条件和适当动作是什么。因此,逻辑推理可以推断包括“检测到的行人”或“何时检测到行人”或“何时检测到行人在自主系统的轨迹上”的条件。相关联的适当动作可以推断为:“减慢速度并使自主系统在行人前面停止”。

在一些实现中,不同的策略指南可以共享共同的条件。例如,当停车标志被检测为交叉路口的条件时,策略指南可以引用完全停止作为适当动作,而另一个策略指南可以针对相同条件(在交叉路口检测到停车标志)引用感知在交叉路口的任何对象的另一个适当动作。

在一些实现中,不同的策略指南可以共享共同的适当动作。例如,两个策略指南可以共享做出完全停止的相同动作,但是一个策略指南可以描述检测到的停止标志的条件而另一个可以描述检测到的交通灯的条件。

指南处理器300的实现可以包括关于要考虑的基本原则的传感器数据分析(图3中的316)。传感器数据的示例包括图像、视频、雷达信号、激光雷达信号、gps信号、超声信号、地理位置、里程表读数、速度曲线和自主系统的状态。传感器数据分析可以包括跟踪对象或检测事件或两者,且然后推断对象之间或事件之间或两者的逻辑关系(例如,相关性、因果关系、时间关系和空间关系)。在一些情况下,自主系统可以在新环境(例如,路段或空域)中操作。指南处理器300可以分析关于新环境的传感器数据以推断条件和相关联的适当动作。例如,路段可能经常有跨道路闯入的动物(例如,鹿、鹅或海鸥)。虽然没有关于响应于道路上的动物的法律,但指南处理器300可以分析传感器数据以推断由策略指南表达的适当动作:“条件:在路段xxx中检测到的动物”和“适当动作:减慢或让步于路段xxx中检测到的动物”。

指南处理器300的实现可以包括优先级分类器(图3中的318),其将策略指南分类为优先级组(图3中的336)。图4a示出了策略指南的示例性优先级组:人的安全(401)、重大违规(403)、轻微违规(405)、财产的安全(407)、对人的压力(409)、无交通阻碍(411)、不误导他人(413)、维持对车辆的控制(415)、操作限制(417)、舒适(419)、以及朝着目标前进(421)。

在一些情况下,策略指南可被分类到两个以上的优先级组中。例如,避免伤害行人的策略指南可以被认为在人的安全(401)和对人的压力(409)的优先级组。

指南处理器的实现可以包括将优先级级别(例如,压倒(overriding)原则)分配到优先级组并根据优先级级别对这些组进行排序。例如,人的安全401的优先级组中的策略指南可能始终是最高优先级,其可以压倒其他相冲突的策略指南。可以将优先次序关系可视化为层级图,其中优先次序关系可以表示为箭头,其中箭头尾部的节点优先于头部节点。参考4a,策略指南的优先级组可以以各种优先级级别来安排,例如,人的安全(401)是优先级级别1,重大违规(403)是优先级级别2,轻微违规(405)和财产的安全(407)是优先级级别3,对人的压力(409)是优先级级别4,无交通阻碍(411)和维持对车辆的控制(415)是优先级级别5,不误导他人(413)和操作限制(417)是优先级级别6,舒适(419)是优先级级别7,且朝着目标前进(421)为优先级级别8。

在一些实现中,对优先级组排序可以包括对优先级组部分排序。部分排序意味着存在两个或多个优先级组,它们的相对优先级尚未确定。参考图4a,重大违规(403)可以优先于轻微违规(405)和财产的安全(407)两者。然而,轻微违规(405)和财产的安全(407)都不优先于另一个。在另一个示例中,不误导他人(413)和操作限制(417)都不优先于另一个,但他们都优先于舒适(419)。

在一些实现中,对优先级组排序可以包括严格对所有优先级组排序。严格排序意味着任何一对优先级组的相对优先级是预先确定的。严格排序的图形表示可以显示为一行。参考图4b,对人的压力(409)、无交通阻碍(411)、不误导他人(413)、车辆的主控制(415)和操作限制(417)按严格顺序来组织,并且在相对优先级中没有不确定性。在严格排序中,每个优先级组被分配不同的优先级级别,因此优先级级别的数量可以增加;例如,以比图4a中更多的优先级级别组织图4b中的优先级组。

在一些实现中,可以不对优先级组内的策略指南排序。在一些情况下,优先级组内的策略指南可以部分严格地被排序或完全严格地被排序。例如,优先级组对人的压力(409)可以包括两个策略指南“避免压迫行人”和“避免压迫骑车者”。这两个指南可以被认为具有在对人的压力(409)的组中没有严格地预先定义的相对优先级。在一些场景中,“避免压迫行人”可以被给予比“避免压迫骑车者”更高的优先级,例如,在存在行人但没有骑车者的道路环境中。在一些示例中,“避免压迫骑车者”可以被给予比“避免压迫行人”更高的优先级,例如,在自主系统更靠近骑车者而不是行人的道路环境中。

在一些实现中,在自主系统在运动环境中操作之前,可以预先确定优先级组的部分严格排序或完全严格排序或在优先级组内的策略指南的部分严格排序或完全严格排序。在一些实现中,可以在自主系统正在运动环境中操作时确定部分或严格排序。例如,当av系统从加拿大行驶到美国时,交通法可能改变,因此当av系统行驶越过国界时可以适配排序。

对优先级组分类的实现可以将单个策略指南视为单个优先级组。在这样的实现中,对优先级组排序相当于对策略指南排序。在一些情况下,每个策略指南可以被分配优先级级别。在一些示例中,指南处理器可以使用策略指南的偏差度量j来确定它们的相对优先级级别。

分层优先级(或压倒原则)可用于规划自主系统的运动。例如,当行人在自主系统前面乱穿马路时,人(例如,本示例中的行人)的安全401相对财产的安全(例如,av系统本身)407应该被给予优先级(应该压倒财产的安全)。换句话说,从伦理的基本原则导出的一些策略指南可能压倒从交通法律和法规的基本原则导出的一些策略指南。

层级优先级(或压倒原则)可取决于运动环境的特性(图2中的209)。环境特性的示例包括时间、道路配置、城市环境、基础设施、风险事件的频率和天气。例如,当自主系统从一个辖区(例如,马萨诸塞州)移动到另一个(例如,康涅狄格州)时,基本原则(例如,州法律中描述的那些)中的一些可能会改变。例如,一些城镇可能已经部署了车辆到基础设施系统,这可以简化自主车辆的导航,并且一些基本原则(例如,在道路上操作自主车辆)与没有车辆到基础设施系统的其他城镇不同。运动环境的变化可以导致不同的策略指南,或不同的优先级组,或不同的优先级级别,或它们的组合。

指南处理器300的实现可以包括策略因子分析(图3中的320),其使用一个或多个策略因子(图3中的338)表征策略指南,诸如距离、速度、加速度、减速度、取向、时间、温度、季节、化学浓度、区域、高度和重量,仅举几例。策略因子可以涉及基本原则、条件、适当动作、优先级级别、遵守、违反和偏差。策略因子分析可以通过机器学习算法来实现。例如,由策略指南指定的适当动作“对检测到的行人让步”可以与以下策略因子中的一个或多个或全部相关联:自主系统的速度、自主系统的取向、自主系统的高度、自主系统的减速度、停止的时间、缓冲区、到另一个对象(例如,移动的车辆、停放的车辆、另一个行人、树、路缘石、建筑物或障碍物)的距离、或到人行横道的距离、或它们的组合。图5图示了距离和缓冲区的示例。人行横道510可以被分配缓冲区520,该缓冲区520由横道的边缘和缓冲区边界之间的距离策略因子(例如,511、512、513和514)表征。当自主系统(例如,av系统501)接近人行横道510时,自主系统可以考虑策略因子来评估其适当动作。

特殊类型的策略因子是时间,其可以包括时间间隔或时间点(例如,一天的时间、一周的时间、或一年的时间,或它们的组合),或两者。在时间间隔的示例中,策略因子可以包括开始时间和结束时间,或持续时间的开始时间、或直到结束时间的持续时间。在一些情况下,时间间隔是描述性的,诸如早晨、下午、晚上、安静时段、高峰时段、假日和季节。在时间点的示例中,策略因子可以包括特定时间(例如,上午11:52)。在一些实现中,与时间因子相关联的适当动作(表示为“动作”)可以被陈述为:“总是在间隔期间执行动作”;“在间隔期间从不执行动作”;“在间隔期间执行动作一次”;或“在间隔期间有时执行动作”。

策略因子分析(图3中的320)可以包括机器学习过程以推断哪些种策略因子应该与策略指南相关联以及策略因子的相关值。指南处理器可以发起策略因子列表。策略因子分析320可以使用各种数据源(例如,基本原则302、地图304、传感器数据306和历史运动行为)来识别取决于策略指南的策略因子。一旦确定了依赖的策略因子,数据就进一步被用于评估策略因子的值。参考图5,例如,对人的压力(图4a中的409)的优先级组中的策略指南可以考虑经过骑车者553的机器551(例如,av系统)。学习算法可以创建策略因子的初始列表:时间、自主系统的速度、av系统的颜色和与骑车者的距离555。数据的分析可以确定时间、av系统的速度,以及av系统的颜色与对骑车者553的压力无关,但是与骑车者553的距离555与压力反相关。距离555越小,对骑车者553的压力越大。对数据的机器学习分析可以进一步推断让骑车者感觉不到压力的最小距离(例如,0.5米)。

在一些实现中,策略因子分析(图3中的320)可以建立策略指南之间的链接,其中可以链接与共同策略因子相关联的策略指南。例如,图6示出了由于共同的策略因子a1,具有策略因子<a1,b1,c1>的策略指南601与具有策略因子<a1,a2>的策略指南605链接。由于共同的策略因子a2,具有策略因子<a2,b2,c2>的策略指南603与策略指南605链接。链接的目的是识别策略因子分析中可能缺失的策略因子。当两个策略指南被链接时,指南处理器可以重新评估任何非共同的策略因子是否也应该与另一个策略指南相关联。例如,策略指南601与策略指南605共享策略因子a1。指南处理器可以进一步评估策略因子a2是否应该与策略指南601相关联,或者策略因子b1和c1是否应该与策略指南605相关联,或两者。

在一些实现中,链接可以基于跨策略指南的共同条件。图6图示了链接的策略指南611和613共享共同的条件c1但分别具有不同的适当动作a2和a3的示例。在av系统的一些示例中,当策略指南中的条件包括检测到的停止信号(例如,红灯)时,两个不同的策略指南可以定义不同的适当动作,诸如做出完全停止以及保持与领先车辆的距离。由于这两个策略指南共享共同的条件,所述它们可以被链接。

类似地,链接可以基于跨策略指南的共同的适当动作。图6图示了链接的策略指南621和623共享共同的适当动作a1但分别具有不同的条件c1和c2的示例。例如,两个策略指南可以陈述“当看到骑车者时,保持与骑车者的安全缓冲区”和“当看到行人时,保持与行人的安全缓冲区。”虽然这两个策略指南是不同的,但他们共享共同的适当动作,并且可以在机器学习过程中被链接,以用于策略因子确定。

在一些实现中,策略因子分析(图3中的320)可以使用真实数据或模拟数据或两种类型的数据(例如,地图304和传感器数据306)来确定策略因子和策略因子的相关值。通过在真实环境中操作自主系统来收集一些真实数据。一些模拟可以从用于操作自主系统的假设环境中计算地导出,例如道路配置、空域场景、导航路径、交通速度、交通量、交通灯、交通标志、对象和天气条件。数据的使用可以包括统计性地评估策略指南,诸如调用策略指南的频率、优先次序关系和策略因子的值。可以将统计评估反馈到指南处理器以调整策略指南。可以迭代地执行的反馈调整和指南处理将使策略指南收敛到稳定状态。

指南处理器的实现可以包括确定策略指南的偏差度量(图3中的340)的偏差分析(图3中的322)。在一些情况下,偏差度量可以是与策略指南的条件或适当动作或两者相关联的一个或多个策略因子的函数。例如,在图5中,由策略指南表达的基本原则可以陈述:当av系统551经过骑车者时避免对骑车者553的压力。基于学习算法的策略因子分析320可以推断:距离555(在数学上表示为d)越小,对骑车者553的压力越高。因此,偏差度量可以是距离的反函数:j=1/d。换句话说,当av系统551变得太靠近骑车者553时(即,d是小数目)时,可能偏离或违反与避免对骑车者的压力的策略指南相关联的基本原则。偏差度量j=1/d量化偏差或违反的程度。可以将阈值应用于偏差度量以指示与策略指南相关联的基本原则不被认为被偏离或违反。在该示例中,如果为了遵守策略指南确定距离d至少为0.5m,则当d>0.5m时偏差度量可以设置为0(即,偏差度量的阈值是j=1/0.5=2)。

偏差度量的选择(图3中的340)取决于策略指南。在一些情况下,偏差度量可以是策略因子的加权和。在一些实现中,偏差度量可以等于策略因子或与策略因子成比例。在一些实现中,偏差度量可以与策略因子成反比例。在一些场景中,偏差度量可以是用于计算能量损失、财务成本或时间浪费或其组合的策略因子的函数。在一些示例中,偏差度量可以是策略因子的概率函数。在一些应用中,偏差度量使用适当动作的概率建模。在一些实现中,偏差度量不包括适当动作的概率建模。

指南处理器(图3中的300)的实现可以包括机器指令翻译器(图3中的324),以将策略指南表达为例如在当自主系统正被操作的时段期间要由运动规划器执行的一个或多个计算机程序342的部分。例如,基本原则可以陈述:对行人让步。从基本原则导出策略指南可以包括在自主系统(例如,av系统、巡逻机器人或提升机器人)前面检测到行人的条件。这种条件可以翻译成计算机语言:

definepedestrian_in_front_of_us(t:time)as{

attimet:

thereexistspinactorssuchthat

pispedestrianand

(poseofp)isin_front_of_us(p);

}

与条件pedestrian_in_front_of_us(t)相关联的策略因子可以是自主系统和行人之间的距离,并且以计算机语言描述的伪代码in_front_of_us(p)可以是:

definein_front_of_us(posex,yinglobalframe)as{

definex,yasposeoftheautonomoussystem;

definedxas(relative_pose);

definedyas(relative_pose);

returndx=abs(x-x)anddy=abs(y-y);

}

偏差度量deviation_metric(dx,dy)可以被定义为行人与自主系统之间的距离的倒数,以及伪代码deviation_metric(dx,dy)。

definedeviation_metric(dx,dy)as{

returnj=1/sqrt((dx)×(dx)+(dy)×(dx));

}

与条件pedestrian_in_front_of_us(t)相关联的适当动作可以是yield_to_pedestrian(dx,dy),并且以计算机语言描述的伪代码可以是:

defineyield_to_pedestrian(dx,dy)as{

decelerate_to_stop(dx,dy);

}

在这个示例中,“对行人让步”的描述性基本原则被转换为机器指令中的计算机可实行的策略指南:pedestrian_in_front_of_us(t),in_front_of_us(p),deviation_metric(dx,dy),和yield_to_pedestrian(dx,dy)。自主系统的控制可以执行这些机器指令以符合基本原则。

指南处理器(图3中的300)的实现可以生成策略指南350的数据库,其将由运动规划器用于识别环境中的自主系统的最佳轨迹和运动动作。

运动规划器

运动规划器的基本活动是识别朝向目标位置的可行且安全的轨迹。

参考图7,运动规划器700的实现可以包括与一个或多个数据源通信的网络接口712,诸如策略指南702、地图704和传感器数据706。传感器数据的示例包括图像、视频、雷达信号、激光雷达信号、gps信号、超声信号、地理位置、里程表读数、速度曲线和自主系统的状态。

运动规划器(图7中的700)的实现可以包括轨迹识别器714。轨迹识别器可以分析地图(图8a)以便自主系统从起始位置801和目标位置802导航。地图示出了不可行驶区域811-818和道路上的另一车辆820。为了识别可能的轨迹,轨迹识别器可以通过对地图进行采样来开始;例如,图8b示出了采样点(由小白点表示,诸如831、832和833)。然后移除处于不可行驶区域811-818中或被对象(例如,车辆820)阻挡的样本;例如,将移除采样点832和833并且将保留点831。参考图8c,基于剩余的采样点,轨迹可以识别多个候选轨迹(例如,850、860和870)。

在计算上,让x表示由轨迹识别器714识别的所有候选轨迹x的集。运动规划器的任务是在候选集x中选择供自主系统到达其目标位置的最佳轨迹(关于轨迹识别的附加信息包含在美国专利申请15/078,143、15/182,281、15/182,313、15/182,360、15/182,400和15/182,365中,这些申请的所有申请都通过引用结合在此。)

轨迹(例如,图8c中的850、860或870)可以与多个运动动作(例如,加速、保持速度、减速、改变取向、停止、跟随交通信号、和避免撞击对象)相关联,所述多个运动动作将由运动环境中的自主系统执行以实现轨迹一些运动动作可以并行执行(例如,改变取向和减速),并且一些运动动作可以串行执行(例如,加速且然后减速)。例如,沿轨迹870操作自主系统可包括以下内容:在起始801处加速、减速并在871处右转、保持慢速、当交通信号允许左转时在872处左转、加速、在873处减速、并停在目标位置802。

运动规划器(图7中的700)的实现可以包括成本评估716以计算轨迹的成本。沿着轨迹的运动动作中的每个可以与一个或多个运动因子相关联,诸如时间、移动速度、移动加速度、移动减速度、移动取向、缓冲区、交通信号和天气条件。因此,将运动动作的运动因子与策略指南中的适当动作的策略因子进行比较,可以计算沿着轨迹操作自主系统的偏差度量。对连续运动动作或各种运动因子或两者的偏差度量的聚集(例如,求和、应用最大运算符、乘法或排序)可导致轨迹的成本。比较候选轨迹x的成本允许运动规划器识别最佳候选轨迹

各种实现可以使用各种成本函数。成本函数可以是二元(binary)指示符,其指示运动动作是否满足策略指南或优先级组的所有策略指南。在一些示例中,成本函数可以是表征运动动作与策略指南或优先级组的所有策略指南的偏离程度的数值分数。

成本评估的实现可以基于优先级信息(例如,重写的原则,如图4a所示)。策略指南的数据库可以包括大量策略指南,所以评估轨迹的一个或多个运动动作是否偏离策略指南中的任何策略指南可能是耗时的或在计算上不可行的。为了减少计算负担,成本评估可以从上到下遍历迭代优先级级别。对于给定的优先级级别,运动规划器可以将成本定义为二元指示符,以指示轨迹的运动动作是否符合在该优先级级别中的所有策略指南的适当动作。然后比较所有候选轨迹x的成本(二元指示符),且然后可以选择最佳轨迹例如,在图4a中,人的安全(401)的优先级组被置于最高优先级级别,所以成本评估可以从该级别开始。在人的安全(401)的优先级组中可能有两个策略指南:避免撞击行人(表示为r1),以及避免撞击车辆操作员(表示为r2)。当轨迹x可以使自主系统避免撞击任何行人和任何车辆操作员时,轨迹x满足人的安全(401)的优先级组中的所有策略指南r1和r2。然而,当另一个轨迹y可以使自主系统避免撞击任何行人但是不能避免撞击车辆操作员时,轨迹y不满足人的安全(401)的优先级组中的所有策略指南。因此,轨迹x是比轨迹y更好的选择。

在一些实现中,当两个轨迹之间的二元指示符导致优先级级别的平局时(换句话说,在该级别的相对偏差成本使轨迹中的两个或多个轨迹处于考虑中),成本评估可以移动到下一个较低的优先级级别。例如在图4a中,当两个轨迹x和y都满足人的安全(401)的优先级组中的所有策略指南时,成本评估可以向下移动到优先级级别2,在其处使用重大违规(403)的优先级组来比较轨迹x和y。成本评估可以向下迭代优先级级别直到找到单个最佳轨迹。

在一些实现中,当用于两个轨迹的二元指示符导致优先级级别的平局时,成本评估可以计算轨迹的数值成本(表示为c),其中轨迹的数值成本可以是该优先级级别中的策略指南的偏差度量的函数。成本评估可以比较候选轨迹的数值成本c并将最佳轨迹选择为具有最小数值成本的轨迹。在两个轨迹的数值成本相同的情况下,成本评估可以移动到下一个优先级级别以用于进一步的成本评估。

图9a图示了自主系统(例如,av系统901)在道路上操作的示例。此时,av系统中的感知过程可以检测到在av系统前面的行人902。检测到的行人意味着移动环境的变化,所以响应于该变化触发运动规划器。因此,轨迹识别器找到例如三个可能的轨迹911、912和913。运动规划器可以通过遍及优先级级别评估轨迹来开始。基于最高的人的安全(401)的优先级组,其包括避免撞击行人(g1)和避免撞击车辆操作员(g2)的策略指南,对于轨迹中每个轨迹的二元成本评估的结果概括为如下。

·轨迹911将使av系统撞击行人902,所述它不能满足策略指南g1。

·轨迹912将使av系统沿着相同的交通方向绕过行人902,并且它满足策略指南g1和g2两者。

·轨迹913将使av系统远离行人902行驶,但绕过骑车者903并停在路边。在这种情况下,轨迹913满足策略指南g1和g2两者。

因此,轨迹912和913被选择为比轨迹911更好的轨迹。

由于轨迹912和913处于平局,所以运动规划器可以进一步评估它们的数值成本。假设策略指南g1和g2包括指定具有离开行人或离开车辆操作员的距离为d的缓冲区的策略因子,并且当d小于最小量(假定d<0.5m)时,它们的偏差度量j是距离d的倒数。数学上,如果d>0.5m,则j=0,如果d<0.5m,则j=1/d。基于策略指南g1和g2的轨迹的数值成本c可以是c=j(g1)+j(g2)。轨迹912和913的数值成本评估概括为如下。

·轨迹912将使av系统离开行人902和骑车者903的距离大于1米,所以其数值成本为c=j(g1)+j(g2)=0+0=0。

·轨迹913将使av系统远离行人902行驶,但以非常小的缓冲区绕过骑车者903,假设d=0.1m。数值成本是c=j(g1)+j(g2)=0+1/0.1=10。

因此,轨迹912被认为比轨迹913更好。

在一些实现中,可以对轨迹的部分执行轨迹的成本评估。例如,图9a中的轨迹912的成本可能不是可确定的,因为行人902可以阻挡av系统901的视野。因此,运动规划器可以将轨迹912划分为诸如图9b中的912a和912b之类的分量,在图9b中,已知沿轨迹912a的运动动作由av系统901采用,但沿轨迹912b的运动动作是假设的。在一些实现中,成本比较可以将沿着轨迹分量912a和912b的已知的和假设的运动动作的成本聚集为轨迹912的成本,以用于针对轨迹911和913的成本进行比较。在一些实现中,成本比较可以基于将仅轨迹912a的成本与轨迹911和913的成本进行比较。

偏差报告

参照图10,运动规划系统可包括报告生成器1000,以便在报告1010中记录自主系统的运动数据1004(例如,轨迹、或关于轨迹选择的决定、或运动动作、或运动因子、或它们的组合)。报告生成器1000可以记录指导自主系统的轨迹和运动动作的决定的策略指南或策略指南1002的分量(例如,条件、适当动作、策略因子或偏差度量j或它们的组合)。

在一些情况下,自主系统可以执行不遵循策略指南1002的运动动作,并且这种场景可以由偏差度量推断。通常,偏差度量值越高,运动动作的风险越大。在一些示例中,报告生成器可以生成警告风险事件的警报1020,该风险事件可能已经发生或可能被预测发生。警报可以是视觉的或听觉的,或两者。警报可以机载在自主系统上,例如,警告乘员(例如,驾驶员或乘客)、或警告(例如,响着警报器)在运动环境中的另一个对象(例如,另一个移动系统、建筑物、行人或者骑车者)、或两者。警报可以被传输到远程接收者或计算设备1030,诸如远程操作员、保险机构、执法人员或其他自主系统。传输可以基于车辆到车辆的通信或车辆到基础设施的通信。

报告生成器的实现可以识别偏差的源。在一些情况下,偏差可以指示自主系统偏离了策略指南。由于策略指南是从基本原则(例如,交通法)生成的,所以报告生成器可以识别自主系统偏离的基本原则。

在一些实现中,自主系统可能涉及碰撞。报告可用于检查自主系统是否在碰撞中偏离了任何策略指南或基本原则。例如,该报告可以示出被碰撞的自主系统在碰撞发生时没有任何偏差,所以碰撞的责任可能落在另一方而不是自主系统上。保险公司或执法人员(例如法官)可以使用该报告来确定责任方。

报告生成器的实现可以将报告反馈到指南处理器,参见图2中的221。例如,报告可以被视为过去经验205,并且可以包括传感器数据207或运动环境209或两者的信息。因此,指南处理器可以从报告中提取新信息以调整在指南处理器中的算法(例如,自然语言分析334、传感器数据分析316、优先级分类器318、策略因子分析320、偏差分析322或机器指令翻译器324、或者他们的组合)以便实现更好的运动规划系统。用户界面

运动规划系统可以包括用户界面。该界面可以安装在自主系统中,以由例如乘员或远程操作员使用。在一些实现中,界面可以安装在服务器上。在一些实现中,界面可以实现为安装在用户的移动设备上的软件应用。

界面的实现可以允许用户生成策略指南。参考图11,包括界面1110的装置1100让用户选择基本原则的源(例如,法律1112、伦理1114、或城市环境1116、或它们的组合)以用于生成策略指南1120的数据库,其初始是空的。用户可以选择一个或多个源。在该示例中,用户选择法律1112,并且界面1150显示已经导入和分析了法律,并且策略指南1160的数据库现在包含从法律1112导出的策略指南。在一些情况下,界面可以以优先级级别的层级示出策略指南,诸如图4a。

界面的实现可以允许用户可视化用于用户的运动规划。例如,图12图示了装置1200,用户已经利用该装置选择要在界面1210上显示的运动规划信息1212。在一些实现中,界面1210可以示出地图、自主系统的轨迹、自主系统的地理位置、或者自主系统的取向、或它们的组合。轨迹可以是当前时刻的自主系统的当前轨迹1214、或者过去时间的快照、或者它们的组合。

在一些实现中,界面可以显示一个或多个当前策略指南,并允许用户追踪策略指南的源。例如,界面1220可以允许用户点击按钮1222以可视化自主系统的策略指南。显示器可以显示当前的策略指南1240(例如,避免撞击任何人)并且显示该策略指南1240来源于伦理1232而不是法律1234或城市环境1236。

在一些实现中,界面可以允许用户指示(例如,绘制、键入、做手势、说或选择)他的偏好,其可以被集成到策略指南中以规划自主系统的运动。偏好的示例包括:较快的路线对较慢的路线,舒适的运动行为对抖动的运动行为,避免交通,避免复杂的道路配置以及避免人群。

在一些实现中,界面可以允许用户强制自主系统考虑特定的基本原则。例如,在市中心区域通常有许多行人。当在市中心区域驾驶av系统时,通过默认或者通过根据车载用户或远程用户的指令的激活,从伦理导出的策略指南可以包括在运动规划器中。

其他实现也在权利要求的范围内。

示例

示例1是一种方法,包括:

分析与适用于机器的一个或多个运动动作的基本原则相关联的数据,以生成与所述基本原则相关联的逻辑表达,以及

使用所述逻辑表达来规划所述机器的运动动作。

示例2包括示例1的主题,其中基本原则包括法律、法规、伦理原则、运动环境、操作经验、先前推断的逻辑表达、或偏好、或它们中的两个或更多个的组合。

示例3包括示例1的主题,其中分析所述数据包括解析描述基本原则的一个或多个文本。

示例4包括示例1的主题,其中分析所述数据包括推断一个或多个条件以及与所述一个或多个条件相关联的一个或多个适当动作。

示例5包括示例1的主题,其中分析所述数据包括跟踪传感器数据中的一个或多个对象并推断两个对象之间、或两个事件之间、或两个时间之间或它们的组合的逻辑关系。

示例6包括示例1的主题,其中生成与所述基本原则相关联的逻辑表达包括将所述逻辑表达分类为优先级组。

示例7包括示例6的主题,其中生成与所述基本原则相关联的逻辑表达包括将所述优先级组组织成层级,所述层级包括关于两个优先级组之间的优先次序的信息。

示例8包括示例6的主题,其中生成与所述基本原则相关联的逻辑表达包括以部分顺序或严格顺序组织所述优先级组。

示例9包括示例6的主题,其中不对属于优先级组的逻辑表达排序。

示例10包括示例1的主题,其中生成与所述基本原则相关联的逻辑表达包括将所述逻辑表达组织成层级,所述层级包括关于两个逻辑表达之间的优先次序的信息。

示例11包括示例10的主题,其中生成与所述基本原则相关联的逻辑表达包括以部分顺序或严格顺序组织所述逻辑表达。

示例12包括示例1的主题,其中生成与所述基本原则相关联的逻辑表达包括识别与逻辑表达相关联的一个或多个因子。

示例13包括示例12的主题,其中生成与所述基本原则相关联的逻辑表达包括确定因子的值。

示例14包括示例12的主题,其中生成与所述基本原则相关联的逻辑表达包括使用链接过程来识别缺失的因子。

示例15包括示例12的主题,其中生成与所述基本原则相关联的逻辑表达包括基于共同因子链接两个逻辑表达。

示例16包括示例12的主题,其中生成与所述基本原则相关联的逻辑表达包括基于共同条件链接两个逻辑表达。

示例17包括示例12的主题,其中生成与所述基本原则相关联的逻辑表达包括基于共同的适当动作链接两个逻辑表达。

示例18包括示例1的主题,其中生成与所述基本原则相关联的逻辑表达包括统计性地评估条件、适当动作以及与适当动作的偏差的发生。

示例19包括示例18的主题,其中生成与所述基本原则相关联的逻辑表达包括基于所述发生来调整一个或多个逻辑表达。

示例20包括示例1的主题,其中规划运动动作包括识别候选轨迹。

示例21包括示例1的主题,其中规划运动动作包括指定沿轨迹的运动动作的序列。

示例22包括示例1的主题,其中规划运动动作包括评估所述机器的运动动作的优先级级别。

示例23包括示例1的主题,其中规划运动动作包括评估所述机器的符合逻辑表达的适当动作的运动动作。

示例24包括示例1的主题,其中规划运动动作包括评估所述机器的运动动作偏离逻辑表达的适当动作的偏差度量。

示例25包括示例24的主题,其中沿整个轨迹或轨迹分量评估偏差度量。

示例26包括示例24的主题,其中偏差度量包括机器的能量消耗。

示例27包括示例24的主题,其中偏差度量包括机器的经济损失。

示例28包括示例1的主题,包括生成所述机器的运动动作的报告。

示例29包括示例28的主题,其中生成报告包括识别指导运动动作的基本原则。

示例30包括示例28的主题,其中生成报告包括识别与运动动作相关联的重写原则。

示例31包括示例28的主题,其中生成报告包括记录轨迹和运动动作。

示例32包括示例28的主题,其中生成报告包括记录关于规划所述机器的运动动作的决定。

示例33包括示例28的主题,其中生成报告包括记录用于规划所述机器的运动动作的逻辑表达。

示例34包括示例28的主题,其中生成报告包括记录所述机器的运动动作的偏差度量。

示例35包括示例28的主题,其中生成报告包括检测风险事件。

示例36包括示例28的主题,其中生成报告包括生成关于风险事件的警报。

示例37包括示例28的主题,其中生成报告包括将所述报告传输到远程计算设备。

示例38包括示例28的主题,其中生成报告包括检测离开逻辑表达或离开基本原则的偏差。

示例39包括示例28的主题,其中生成报告包括将所述报告集成到与基本原则相关联的数据。

示例40包括示例28的主题,其中生成报告包括使用所述报告来调整生成逻辑表达的过程。

示例41是一种方法,包括:

将具有与适当动作相关联的条件的逻辑表达应用于具有一个或多个自主运动能力的机器,以确定所述机器的一个或多个可能的运动动作,以及

应用与一个或多个适当动作的偏差的度量来选择要由机器产生的所述可能的运动动作之一。

示例42包括示例41的主题,其中逻辑表达是从基本原则导出的,所述基本原则包括法律、法规、伦理原则、运动环境、操作经验、先前推断的逻辑表达、或偏好、或它们中的两个或更多个的组合。

示例43包括示例41的主题,其中从解析描述基本原则的一个或多个文本导出逻辑表达。

示例44包括示例41的主题,其中从跟踪传感器数据中的一个或多个对象并推断两个对象之间、或两个事件之间、或两个时间之间或它们的组合的逻辑关系导出逻辑表达。

示例45包括示例41的主题,其中所述逻辑表达被组织为优先级组。

示例46包括示例45的主题,其中所述优先级组以层级来组织。

示例47包括示例46的主题,其中所述层级包括关于两个优先级组之间的优先次序的信息。

示例48包括示例45的主题,其中所述优先级组以部分顺序或严格顺序来组织。

示例49包括示例45的主题,其中不对属于优先级组的逻辑表达排序。

示例50包括示例41的主题,其中所述逻辑表达被组织为层级,所述层级包括关于两个逻辑表达之间的优先次序的信息。

示例51包括示例50的主题,其中所述逻辑表达以部分顺序或严格顺序来组织。

示例52包括示例41的主题,其中逻辑表达包括一个或多个因子。

示例53包括示例41的主题,其中从统计性地评估条件、适当动作以及与适当动作的偏差的发生导出逻辑表达。

示例54包括示例53的主题,其中基于所述发生调整逻辑表达。

示例55包括示例41的主题,其中选择可能的运动动作之一包括评估所述机器的运动动作的优先级级别。

示例56包括示例41的主题,其中选择可能的运动动作之一包括评估所述机器的符合逻辑表达的适当动作的运动动作。

示例57包括示例41的主题,其中沿整个轨迹或轨迹分量评估所述偏差度量。

示例58包括示例41的主题,其中所述偏差度量包括所述机器的能量消耗。

示例59包括示例41的主题,其中所述偏差度量包括所述机器的经济损失。

示例60是一种方法,包括:

将具有一个或多个自主运动能力的机器的被执行的运动动作与一个或多个逻辑表达进行比较,以及

在报告中记录所述比较。

示例61包括示例60的主题,其中所述比较包括计算所述被执行的运动动作相对于逻辑表达中指定的适当动作的偏差度量。

示例62包括示例60的主题,其中所述比较包括评估所述被执行的运动动作的优先级级别。

示例63包括示例60的主题,其中所述比较包括识别指导所述被执行的运动动作的基本原则。

示例64包括示例60的主题,其中所述比较包括识别所述被执行的运动动作的优先级级别。

示例65包括示例60的主题,其中所述比较包括识别用于执行所述被执行的运动动作的决定过程。

示例66包括示例60的主题,其中在报告中记录所述比较包括记录与所述被执行的运动动作相关联的遍历轨迹。

示例67包括示例60的主题,其中在报告中记录所述比较包括记录所述被执行的运动动作。

示例68包括示例60的主题,其中在报告中记录所述比较包括记录用于执行所述被执行的运动动作的决定过程。

示例69包括示例60的主题,其中在报告中记录所述比较包括记录用于选择所述被执行的运动动作的逻辑表达。

示例70包括示例60的主题,包括基于所述比较检测风险事件。

示例71包括示例70的主题,包括生成关于所述风险事件的警报。

示例72包括示例60的主题,包括将所述报告传输到远程计算设备。

示例73包括示例60的主题,包括基于所述比较确定责任。

示例74包括示例60的主题,包括将所述报告反馈到所述一个或多个逻辑表达的生成器中。

示例75是一种方法,包括:

接收记录由机器执行的运动动作的报告,

评估所执行的运动动作偏离由逻辑表达指定的适当动作的偏差度量,以及确定所执行的运动动作的责任。

示例76包括示例75的主题,其中所述逻辑表达是从基本原则导出的,其中基本原则包括法律、法规、伦理原则、运动环境、操作经验、先前推断的逻辑表达、或偏好、或它们中的两个或更多个的组合。

示例77包括示例75的主题,其中从解析描述基本原则的一个或多个文本导出所述逻辑表达。

示例78包括示例75的主题,其中从推断一个或多个条件以及与所述一个或多个条件相关联的一个或多个适当动作导出所述逻辑表达。

示例79包括示例75的主题,其中从跟踪传感器数据中的一个或多个对象并推断两个对象之间、或两个事件之间、或两个时间之间或它们的组合的逻辑关系来导出所述逻辑表达。

示例80包括示例75的主题,其中所述逻辑表达被分类为优先级组。

示例81包括示例80的主题,其中所述优先级组用部分顺序或严格顺序以层级来组织。

示例82包括示例80的主题,其中不对属于优先级组的逻辑表达排序。

示例83包括示例81的主题,其中所述层级包括关于两个优先级组之间的优先次序的信息。

示例84包括示例75的主题,其中所述逻辑表达用部分顺序或严格顺序以层级来组织。

示例85包括示例84的主题,其中所述层级包括关于两个逻辑表达之间的优先次序的信息。

示例86包括示例75的主题,其中沿整个轨迹或轨迹分量评估偏差度量。

示例87包括示例75的主题,其中偏差度量包括被执行的运动动作的能量消耗。

示例88包括示例75的主题,其中偏差度量包括被执行的运动动作的经济损失。

示例89包括示例75的主题,其中确定所述责任包括识别指导适当动作的基本原则,以及基于一个或多个偏差度量识别被执行的运动离开所述基本原则的偏差。

示例90包括示例75的主题,其中确定所述责任包括识别与适当动作相关联的重写原则,以及基于一个或多个偏差度量识别被执行的运动离开所述重写原则的偏差。

示例91包括示例75的主题,其中确定所述责任包括识别与适当动作相关联的轨迹,以及基于一个或多个偏差度量识别被执行的运动离开所述轨迹的偏差。

示例92包括示例75的主题,其中确定所述责任包括识别适当动作的序列,以及基于一个或多个偏差度量识别被执行的运动的序列离开所述适当动作的序列的偏差。

示例93是一种车辆,包括:

驱动部件,包括加速部件、转向部件和减速部件;

自主驱动能力,用于向所述驱动部件发出信号以在至少部分自主驱动模式下驱动车辆;

分析部件,用于分析与适用于机器的一个或多个运动动作的基本原则相关联的数据,以生成与所述基本原则相关联的逻辑表达,以及

命令部件,用于使用所述逻辑表达来规划所述车辆的运动动作。

示例94包括示例93的主题,其中基本原则包括法律、法规、伦理原则、运动环境、操作经验、先前推断的逻辑表达、或偏好、或它们中的两个或更多个的组合。

示例95包括示例93的主题,其中分析所述数据包括解析描述基本原则的一个或多个文本。

示例96包括示例93的主题,其中分析所述数据包括推断一个或多个条件以及与所述一个或多个条件相关联的一个或多个适当动作。

示例97包括示例93的主题,其中分析所述数据包括跟踪传感器数据中的一个或多个对象并推断两个对象之间、或两个事件之间、或两个时间之间或它们的组合的逻辑关系。

示例98包括示例93的主题,其中生成与所述基本原则相关联的逻辑表达包括将所述逻辑表达分类为优先级组。

示例99包括示例98的主题,其中生成与所述基本原则相关联的逻辑表达包括将所述优先级组组织成层级,所述层级包括关于两个优先级组之间的优先次序的信息。

示例100包括示例99的主题,其中生成与所述基本原则相关联的逻辑表达包括以部分顺序或严格顺序组织所述优先级组。

示例101包括示例99的主题,其中不对属于优先级组的逻辑表达排序。

示例102包括示例93的主题,其中生成与所述基本原则相关联的逻辑表达包括将所述逻辑表达组织成层级,所述层级包括关于两个逻辑表达之间的优先次序的信息。

示例103包括示例102的主题,其中生成与所述基本原则相关联的逻辑表达包括以部分顺序或严格顺序组织所述逻辑表达。

示例104包括示例93的主题,其中生成与所述基本原则相关联的逻辑表达包括识别与逻辑表达相关联的一个或多个因子。

示例105包括示例104的主题,其中生成与所述基本原则相关联的逻辑表达包括确定因子的值。

示例106包括示例104的主题,其中生成与所述基本原则相关联的逻辑表达包括使用链接过程来识别缺失的因子。

示例107包括示例104的主题,其中生成与所述基本原则相关联的逻辑表达包括基于共同因子链接两个逻辑表达。

示例108包括示例104的主题,其中生成与所述基本原则相关联的逻辑表达包括基于共同条件链接两个逻辑表达。

示例109包括示例104的主题,其中生成与所述基本原则相关联的逻辑表达包括基于共同的适当动作链接两个逻辑表达。

示例110包括示例93的主题,其中生成与所述基本原则相关联的逻辑表达包括统计性地评估条件、适当动作以及与适当动作的偏差的发生。

示例111包括示例110的主题,其中生成与所述基本原则相关联的逻辑表达包括基于所述发生来调整一个或多个逻辑表达。

示例112包括示例93的主题,其中规划运动动作包括识别候选轨迹。

示例113包括示例93的主题,其中规划运动动作包括指定沿轨迹的运动动作的序列。

示例114包括示例93的主题,其中规划运动动作包括评估所述机器的运动动作的优先级级别。

示例115包括示例93的主题,其中规划运动动作包括评估所述机器的符合逻辑表达的适当动作的运动动作。

示例116包括示例93的主题,其中规划运动动作包括评估所述机器的运动动作偏离逻辑表达的适当动作的偏差度量。

示例117包括示例116的主题,其中沿整个轨迹或轨迹分量评估偏差度量。

示例118包括示例116的主题,其中偏差度量包括机器的能量消耗。

示例119包括示例116的主题,其中偏差度量包括机器的经济损失。

示例120包括示例93的主题,所述分析部件生成所述机器的运动动作的报告。

示例121包括示例120的主题,其中生成报告包括识别指导运动动作的基本原则。

示例122包括示例120的主题,其中生成报告包括识别与运动动作相关联的重写原则。

示例123包括示例120的主题,其中生成报告包括记录轨迹和运动动作。

示例124包括示例120的主题,其中生成报告包括记录关于规划所述机器的运动动作的决定。

示例125包括示例120的主题,其中生成报告包括记录用于规划所述机器的运动动作的逻辑表达。

示例126包括示例120的主题,其中生成报告包括记录所述机器的运动动作的偏差度量。

示例127包括示例120的主题,其中生成报告包括检测风险事件。

示例128包括示例120的主题,其中生成报告包括生成关于风险事件的警报。

示例129包括示例120的主题,其中生成报告包括将所述报告传输到远程计算设备。

示例130包括示例120的主题,其中生成报告包括检测离开逻辑表达或离开基本原则的偏差。

示例131包括示例120的主题,其中生成报告包括确定责任。

示例132包括示例120的主题,其中生成报告包括将所述报告集成到与基本原则相关联的数据。

示例133包括示例120的主题,其中生成报告包括使用所述报告来调整生成逻辑表达的过程。

示例134是一种装置,包括:

指令存储装置;以及

处理器,用于根据所述指令来操作以用于:(1)分析具有一个或多个条件以及与所述一个或多个条件相关联的一个或多个适当动作的至少一个逻辑表达,以及(2)使机器基于所述逻辑表达规划运动动作。

示例135包括示例134的主题,其中逻辑表达是从基本原则导出的,所述基本原则包括法律、法规、伦理原则、运动环境、操作经验、先前推断的逻辑表达、或偏好、或它们中的两个或更多个的组合。

示例136包括示例134的主题,其中所述逻辑表达是从解析描述基本原则的一个或多个文本导出的。

示例137包括示例134的主题,其中所述逻辑表达是从推断一个或多个条件以及与所述一个或多个条件相关联的一个或多个适当动作导出的。

示例138包括示例134的主题,其中所述逻辑表达是从跟踪传感器数据中的一个或多个对象并推断两个对象之间、或两个事件之间、或两个时间之间或它们的组合的逻辑关系来导出的。

示例139包括示例134的主题,其中所述逻辑表达被分类在一个或多个优先级组中。

示例140包括示例139的主题,其中优先级组被组织为层级,所述层级包括关于两个优先级组之间的优先次序的信息。

示例141包括示例140的主题,其中所述优先级组以部分顺序或严格顺序来组织。

示例142包括示例140的主题,其中不对属于优先级组的逻辑表达排序。

示例143包括示例134的主题,其中两个或多个逻辑表达被组织为层级,所述层级包括关于两个逻辑表达之间的优先次序的信息。

示例144包括示例143的主题,其中所述两个或多个逻辑表达以部分顺序或严格顺序来组织。

示例145包括示例134的主题,其中逻辑表达包括一个或多个因子。

示例146包括示例145的主题,其中通过机器学习算法确定所述一个或多个因子的值。

示例147包括示例145的主题,其中通过链接过程识别一个或多个缺失的因子。

示例148包括示例145的主题,其中基于共同因子链接两个逻辑表达。

示例149包括示例145的主题,其中基于共同条件链接两个逻辑表达。

示例150包括示例145的主题,其中基于共同的适当动作链接两个逻辑表达。

示例151包括示例134的主题,其中基于条件、适当动作以及与适当动作的偏差的发生统计性地评估逻辑表达。

示例152包括示例151的主题,其中生成与所述基本原则相关联的逻辑表达包括基于所述发生来调整一个或多个逻辑表达。

示例153包括示例134的主题,其中规划运动动作包括识别候选轨迹。

示例154包括示例134的主题,其中规划运动动作包括指定沿轨迹的所述运动动作的序列。

示例155包括示例134的主题,其中规划运动动作包括评估所述机器的运动动作的优先级级别。

示例156包括示例134的主题,其中规划运动动作包括评估所述机器的符合逻辑表达的适当动作的运动动作。

示例157包括示例134的主题,其中规划运动动作包括评估所述机器的运动动作偏离逻辑表达的适当动作的偏差度量。

示例158包括示例157的主题,其中沿整个轨迹或轨迹分量评估偏差度量。

示例159包括示例157的主题,其中偏差度量包括机器的能量消耗。

示例160包括示例157的主题,其中偏差度量包括机器的经济损失。

示例161包括示例134的主题,其中所述处理器生成所述机器的运动动作的报告。

示例162包括示例161的主题,其中生成报告包括识别指导运动动作的基本原则。

示例163包括示例161的主题,其中生成报告包括识别与运动动作相关联的重写原则。

示例164包括示例161的主题,其中生成报告包括记录轨迹和运动动作。

示例165包括示例161的主题,其中生成报告包括记录关于规划所述机器的运动动作的决定。

示例166包括示例161的主题,其中生成报告包括记录用于规划所述机器的运动动作的逻辑表达。

示例167包括示例161的主题,其中生成报告包括记录所述机器的运动动作的偏差度量。

示例168包括示例161的主题,其中生成报告包括检测风险事件。

示例169包括示例161的主题,其中生成报告包括生成关于所述风险事件的警报。

示例170包括示例161的主题,其中生成报告包括将所述报告传输到远程计算设备。

示例171包括示例161的主题,其中生成报告包括检测离开逻辑表达或离开基本原则的偏差。

示例172包括示例161的主题,其中生成报告包括确定责任。

示例173包括示例161的主题,其中生成报告包括将所述报告集成到与基本原则相关联的数据。

示例174包括示例161的主题,其中生成报告包括使用所述报告来调整生成逻辑表达的过程。

示例175是一种装置,包括:

处理器;以及

显示器,由所述处理器配置为用于允许用户指示关于机器的运动的请求;

其中所述处理器(1)通过使用至少一个逻辑表达分析所述请求的成本来评估所述请求,以及(2)当所述成本小于阈值时,生成与所述请求相关联的控制命令并将所述控制命令传输到所述机器的运动控制器。

示例176包括示例175的主题,其中逻辑表达是从基本原则导出的,所述基本原则包括法律、法规、伦理原则、运动环境、操作经验、先前推断的逻辑表达、或偏好、或它们中的两个或更多个的组合。

示例177包括示例175的主题,其中所述逻辑表达是从解析描述基本原则的一个或多个文本导出的。

示例178包括示例175的主题,其中所述逻辑表达是从推断一个或多个条件以及与所述一个或多个条件相关联的一个或多个适当动作导出的。

示例179包括示例175的主题,其中所述逻辑表达是从跟踪传感器数据中的一个或多个对象并推断两个对象之间、或两个事件之间、或两个时间之间或它们的组合的逻辑关系来导出的。

示例180包括示例175的主题,其中所述逻辑表达被分类在一个或多个优先级组中。

示例181包括示例180的主题,其中优先级组被组织为层级,所述层级包括关于两个优示例先级组之间的优先次序的信息。

示例182包括示例181的主题,其中所述优先级组以部分顺序或严格顺序来组织。

示例183包括示例181的主题,其中不对属于优先级组的逻辑表达排序。

示例184包括示例175的主题,其中两个或多个逻辑表达被组织为层级,所述层级包括关于两个逻辑表达之间的优先次序的信息。

示例185包括示例184的主题,其中所述两个或多个逻辑表达以部分顺序或严格顺序来组织。

示例186包括示例175的主题,其中逻辑表达包括一个或多个因子。

示例187包括示例186的主题,其中通过机器学习算法确定所述一个或多个因子的值。

示例188包括示例186的主题,其中通过链接过程识别一个或多个缺失的因子。

示例189包括示例186的主题,其中,基于共同因子链接两个逻辑表达。

示例190包括示例186的主题,其中,基于共同条件链接两个逻辑表达。

示例191包括示例186的主题,其中,基于共同的适当动作链接两个逻辑表达。

示例192包括示例175的主题,其中基于条件、适当动作以及与适当动作的偏差的发生统计性地评估逻辑表达。

示例193包括示例175的主题,其中评估所述请求包括识别候选轨迹。

示例194包括示例175的主题,其中评估所述请求包括指定沿轨迹的所述运动动作的序列。

示例195包括示例175的主题,其中评估所述请求包括评估所述机器的运动动作的优先级级别。

示例196包括示例175的主题,其中评估所述请求包括评估所述机器的符合逻辑表达的适当动作的运动动作。

示例197包括示例175的主题,其中评估所述请求包括评估所述机器的运动动作偏离逻辑表达的适当动作的偏差度量。

示例198包括示例197的主题,其中沿整个轨迹或轨迹分量评估偏差度量。

示例199包括示例197的主题,其中偏差度量包括机器的能量消耗。

示例200包括示例197的主题,其中偏差度量包括机器的经济损失。

示例201包括示例175的主题,其中所述处理器生成所述机器的运动动作的报告。

示例202包括示例201的主题,其中所述显示器呈现所述报告。

示例203包括示例201的主题,其中生成报告包括识别指导运动动作的基本原则。

示例204包括示例201的主题,其中生成报告包括识别与运动动作相关联的重写原则。

示例205包括示例201的主题,其中生成报告包括记录轨迹和运动动作。

示例206包括示例201的主题,其中生成报告包括记录关于规划所述机器的运动动作的决定。

示例207包括示例201的主题,其中生成报告包括记录用于规划所述机器的运动动作的逻辑表达。

示例208包括示例201的主题,其中生成报告包括记录所述机器的运动动作的偏差度量。

示例209包括示例201的主题,其中生成报告包括检测风险事件。

示例210包括示例201的主题,其中生成报告包括生成关于风险事件的警报。

示例211包括示例201的主题,其中生成报告包括将所述报告传输到远程计算设备。

示例212包括示例201的主题,其中生成报告包括检测离开逻辑表达或离开基本原则的偏差。

示例213包括示例201的主题,其中生成报告包括确定责任。

示例214包括示例201的主题,其中生成报告包括将所述报告集成到与基本原则相关联的数据。

示例215包括示例201的主题,其中生成报告包括使用所述报告来调整生成逻辑表达的过程。

示例216是一种服务器,包括:

指令存储装置;

网络接口,与具有一个或多个自主运动能力的机器通信;以及

处理器,用于根据存储在所述存储装置中的指令进行操作以用于(1)分析与适用于所述机器的一个或多个运动动作的基本原则相关联的数据,以及(2)生成逻辑表达以规划所述机器的运动动作。

示例217包括示例216的主题,其中基本原则包括法律、法规、伦理原则、运动环境、操作经验、先前推断的逻辑表达、或偏好、或它们中的两个或更多个的组合。

示例218包括示例216的主题,其中分析所述数据包括解析描述基本原则的一个或多个文本。

示例219包括示例216的主题,其中分析所述数据包括推断一个或多个条件以及与所述一个或多个条件相关联的一个或多个适当动作。

示例220包括示例216的主题,其中分析所述数据包括跟踪传感器数据中的一个或多个对象并推断两个对象之间、或两个事件之间、或两个时间之间或它们的组合的逻辑关系。

示例221包括示例216的主题,其中生成与所述基本原则相关联的逻辑表达包括将所述逻辑表达分类为优先级组。

示例222包括示例221的主题,其中生成与所述基本原则相关联的逻辑表达包括将所述优先级组组织成层级,所述层级包括关于两个优先级组之间的优先次序的信息。

示例223包括示例222的主题,其中生成与所述基本原则相关联的逻辑表达包括以部分顺序或严格顺序组织所述优先级组。

示例224包括示例222的主题,其中不对属于优先级组的逻辑表达排序。

示例225包括示例216的主题,其中生成与所述基本原则相关联的逻辑表达包括将所述逻辑表达组织成层级,所述层级包括关于两个逻辑表达之间的优先次序的信息。

示例226包括示例225的主题,其中生成与所述基本原则相关联的逻辑表达包括以部分顺序或严格顺序组织所述逻辑表达。

示例227包括示例216的主题,其中生成与所述基本原则相关联的逻辑表达包括识别与逻辑表达相关联的一个或多个因子。

示例228包括示例227的主题,其中生成与所述基本原则相关联的逻辑表达包括确定因子的值。

示例229包括示例227的主题,其中生成与所述基本原则相关联的逻辑表达包括使用链接过程来识别缺失的因子。

示例230包括示例227的主题,其中生成与所述基本原则相关联的逻辑表达包括基于共同因子链接两个逻辑表达。

示例231包括示例227的主题,其中生成与所述基本原则相关联的逻辑表达包括基于共同条件链接两个逻辑表达。

示例232包括示例227的主题,其中生成与所述基本原则相关联的逻辑表达包括基于共同的适当动作链接两个逻辑表达。

示例233包括示例216的主题,其中生成与所述基本原则相关联的逻辑表达包括统计性地评估条件、适当动作以及与适当动作的偏差的发生。

示例234包括示例233的主题,其中生成与所述基本原则相关联的逻辑表达包括基于所述发生来调整一个或多个逻辑表达。

示例235包括示例216的主题,其中规划运动动作包括识别候选轨迹。

示例236包括示例216的主题,其中规划运动动作包括指定沿轨迹的运动动作的序列。

示例237包括示例216的主题,其中规划运动动作包括评估所述机器的运动动作的优先级级别。

示例238包括示例216的主题,其中规划运动动作包括评估所述机器的符合逻辑表达的适当动作的运动动作。

示例239包括示例216的主题,其中规划运动动作包括评估所述机器的运动动作偏离逻辑表达的适当动作的偏差度量。

示例240包括示例239的主题,其中沿整个轨迹或轨迹分量评估偏差度量。

示例241包括示例239的主题,其中偏差度量包括机器的能量消耗。

示例242包括示例239的主题,其中偏差度量包括机器的经济损失。

示例243包括示例216的主题,其中所述处理器生成所述机器的运动动作的报告。

示例244包括示例243的主题,其中生成报告包括识别指导运动动作的基本原则。

示例245包括示例243的主题,其中生成报告包括识别与运动动作相关联的重写原则。

示例246包括示例243的主题,其中生成报告包括记录轨迹和运动动作。

示例247包括示例243的主题,其中生成报告包括记录关于规划所述机器的运动动作的决定。

示例248包括示例243的主题,其中生成报告包括记录用于规划所述机器的运动动作的逻辑表达。

示例249包括示例243的主题,其中生成报告包括记录所述机器的运动动作的偏差度量。

示例250包括示例243的主题,其中生成报告包括检测风险事件。

示例251包括示例243的主题,其中生成报告包括生成关于风险事件的警报。

示例252包括示例243的主题,其中生成报告包括将所述报告传输到远程计算设备。

示例253包括示例243的主题,其中生成报告包括检测离开逻辑表达或离开基本原则的偏差。

示例254包括示例243的主题,其中生成报告包括确定责任。

示例255包括示例243的主题,其中生成报告包括将所述报告集成到与基本原则相关联的数据。

示例256包括示例243的主题,其中生成报告包括使用所述报告来调整生成逻辑表达的过程。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1