掌桥专利:专业的专利平台
掌桥专利
首页

引言

本部分中提供的信息是为了总体上呈现本公开的背景的目的。目前署名的发明人的工作,就其在本部分中描述的程度而言,以及在提交时可能不另外有资格作为现有技术的描述的方面,既不明确地也不隐含地被承认为针对本公开的现有技术。

本公开涉及自主移动机器人,并且更具体地涉及用于自主移动机器人群(robotswarm)的控制系统和方法。

广义地说,自主移动机器人(AMR)是可以理解并移动通过其环境而无需由操作者直接监督或在固定的预定路径上的机器人。AMR可以包括传感器阵列,其使得它们能够理解和解释它们的环境,这帮助它们以最有效的方式和可能的路径执行它们的任务,在固定障碍物(建筑物、机架、工作站等)和可变障碍物(诸如人、升降运送车和碎片)周围导航。

尽管在许多方面类似于自动导向车辆(AGVs),但AMR在许多重要方面不同。这些差异中最大的可能是灵活性。AGV可以遵循比AMR更严格的预设路线。AMR可以找到最有效的路线来实现每个任务,并且可以被设计成与操作者协作工作,例如拣选和分拣操作,而AGVs可能不这样。

发明内容

在一特征中,一种用于一个或多个自主移动机器人的控制系统包括:命令模块,其被配置为生成用于至少包括跟随者AMR和引导者AMR的两个或更多个自主移动机器人(AMR)的群中的跟随者AMR的第一线速度命令和第一角速度命令;误差模块,其被配置为:生成针对跟随者AMR的在所述第一线速度命令与所述跟随者AMR的当前速度之间的第一误差;并且生成针对跟随者AMR的在第一角速度命令与跟随者AMR的当前角速度之间的第二误差;比例积分(PI)模块,其被配置为:使用PI控制基于所述第一误差生成用于所述跟随者AMR的第二线速度命令;并且使用PI控制基于第二误差生成用于跟随者AMR的第二角速度命令;以及驱动器模块,其被配置为基于所述第二线速度命令和所述第二角速度命令向所述跟随者AMR的一个或多个电动马达施加功率。

在另外的特征中,命令模块被配置为基于引导者AMR的位置与跟随者AMR的位置之间的距离来生成第一线速度命令和第一角速度命令中的至少一者。

在另外的特征中,命令模块被配置为进一步基于引导者AMR的航向角与跟随者AMR的航向角之间的差来生成第一线速度命令和第一角速度命令中的至少一者。

在另外的特征中,位置模块被配置为使用光检测和测距(LIDAR)传感器来确定跟随者AMR的位置。

在另外的特征中,传感器被配置成测量跟随者AMR的当前角速度和跟随者AMR的当前线速度。

在另外的特征中,所述引导者AMR包括第二驱动器模块,所述第二驱动器模块被配置为基于预定的线速度命令和角速度命令向所述引导者AMR的一个或多个电动马达施加功率。

在另外的特征中,所述引导者AMR包括第二驱动器模块,所述第二驱动器模块被配置为基于遵循预定路径向所述引导者AMR的一个或多个电动马达施加功率。

在另外的特征中,引导者AMR包括:第二误差模块,其被配置为:针对所述引导者AMR生成在第三线速度命令与所述引导者AMR的当前速度之间的第三误差;并且针对引导者AMR生成在第三角速度命令与引导者AMR的当前角速度之间的第四误差;第二PI模块,其被配置为:使用PI控制基于所述第三误差生成用于所述引导者AMR的第四线速度命令;并且使用PI控制基于第四误差生成用于跟随者AMR的第四角速度命令;以及第二驱动器模块,其被配置为基于所述第四线速度命令和所述第四角速度命令向所述跟随者AMR的一个或多个电动马达施加功率。

在另外的特征中,引导者AMR还包括引导者速度模块,其被配置为生成用于引导者AMR的第三线速度命令和用于引导者AMR的第三角速度命令。

在另外的特征中,所述引导者速度模块被配置为基于预定的线速度命令和角速度命令生成所述第三线速度命令和所述第三角速度命令。

在另外的特征中,所述引导者速度模块被配置为基于遵循预定路径来生成所述第三线速度命令和所述第三角速度命令。

在一特征中,一种用于一个或多个自主移动机器人的控制方法包括:生成用于至少包括跟随者AMR和引导者AMR的两个或更多个自主移动机器人(AMR)的群中的跟随者AMR的第一线速度命令和第一角速度命令;针对所述跟随者AMR生成在所述第一线速度命令与所述跟随者AMR的当前速度之间的第一误差;针对跟随者AMR生成所述第一角速度命令与跟随者AMR的当前角速度之间的第二误差;使用比例积分(PI)控制基于所述第一误差生成用于所述跟随者AMR的第二线速度命令;使用PI控制基于第二误差生成用于跟随者AMR的第二角速度命令;以及基于所述第二线速度命令和所述第二角速度命令向所述跟随者AMR的一个或多个电动马达施加功率。

在另外的特征中,控制方法还包括基于引导者AMR的位置与跟随者AMR的位置之间的距离来生成第一线速度命令和第一角速度命令中的至少一者。

在另外的特征中,控制方法还包括进一步基于引导者AMR的航向角与跟随者AMR的航向角之间的差来生成第一线速度命令和第一角速度命令中的至少一者。

在另外的特征中,控制方法还包括使用光检测和测距(LIDAR)传感器来确定跟随者AMR的位置。

在另外的特征中,控制方法还包括使用传感器测量跟随者AMR的当前角速度和跟随者AMR的当前线速度。

在另外的特征中,控制方法还包括基于预定的线速度命令和角速度命令向引导者AMR的一个或多个电动马达施加功率。

在另外的特征中,控制方法还包括基于遵循预定路径向引导者AMR的一个或多个电动马达施加功率。

在另外的特征中,所述控制方法进一步包括:针对所述引导者AMR生成在第三线速度命令和所述引导者AMR的当前速度之间的第三误差;针对所述引导者AMR生成所述第三角速度命令与所述引导者AMR的当前角速度之间的第四误差;使用PI控制基于所述第三误差生成用于所述引导者AMR的第四线速度命令;使用PI控制基于第四误差生成用于跟随者AMR的第四角速度命令;以及基于所述第四线速度命令和所述第四角速度命令向所述跟随者AMR的一个或多个电动马达施加功率。

在另外的特征中,控制方法还包括生成用于引导者AMR的第三线速度命令和用于引导者AMR的第三角速度命令。

本发明还包括如下方案:

方案1. 一种用于一个或多个自主移动机器人的控制系统,所述控制系统包括:

命令模块,其被配置为生成针对至少包括跟随者自主移动机器人(AMR)和引导者AMR的两个或更多个AMR的群中的所述跟随者AMR的第一线速度命令和第一角速度命令;

误差模块,其被配置为:

生成所述跟随者AMR的在所述第一线速度命令与所述跟随者AMR的当前速度之间的第一误差;以及

生成所述跟随者AMR的在所述第一角速度命令与所述跟随者AMR的当前角速度之间的第二误差;

比例积分(PI)模块,其被配置为:

使用PI控制基于所述第一误差生成所述跟随者AMR的第二线速度命令;以及

使用PI控制基于所述第二误差生成所述跟随者AMR的第二角速度命令;以及

驱动器模块,所述驱动器模块被配置为基于所述第二线速度命令和所述第二角速度命令向所述跟随者AMR的一个或多个电动马达施加功率。

方案2. 根据方案1所述的控制系统,其中,所述命令模块被配置为基于所述引导者AMR的位置与所述跟随者AMR的位置之间的距离来生成所述第一线速度命令和所述第一角速度命令中的至少一者。

方案3. 根据方案2所述的控制系统,其中,所述命令模块被配置为进一步基于所述引导者AMR的航向角与所述跟随者AMR的航向角之间的差来生成所述第一线速度命令和所述第一角速度命令中的至少一者。

方案4. 根据方案2所述的控制系统,还包括位置模块,所述位置模块被配置为使用光检测和测距(LIDAR)传感器来确定所述跟随者AMR的所述位置。

方案5. 根据方案1所述的控制系统,还包括传感器,所述传感器被配置为测量所述跟随者AMR的当前角速度和所述跟随者AMR的当前线速度。

方案6. 根据方案1所述的控制系统,其中,所述引导者AMR包括第二驱动器模块,所述第二驱动器模块被配置为基于预定线速度命令和角速度命令来将功率施加到所述引导者AMR的一个或多个电动马达。

方案7. 根据方案1所述的控制系统,其中所述引导者AMR包括第二驱动器模块,所述第二驱动器模块被配置成基于遵循预定路径向所述引导者AMR的一个或多个电动马达施加功率。

方案8. 根据方案1所述的控制系统,其中所述引导者AMR包括:

第二误差模块,其被配置为:

生成所述引导者AMR的在第三线速度命令与所述引导者AMR的当前速度之间的第三误差;以及

生成所述引导者AMR的在第三角速度命令与所述引导者AMR的当前角速度之间的第四误差;

第二PI模块,其被配置为:

使用PI控制基于所述第三误差生成用于所述引导者AMR的第四线速度命令;以及

使用PI控制基于所述第四误差生成所述跟随者AMR的第四角速度命令;以及

第二驱动器模块,所述第二驱动器模块被配置成基于所述第四线速度命令和所述第四角速度命令向所述跟随者AMR的一个或多个电动马达施加功率。

方案9. 根据方案8所述的控制系统,其中所述引导者AMR还包括引导者速度模块,所述引导者速度模块配置成生成用于所述引导者AMR的所述第三线速度命令和用于所述引导者AMR的所述第三角速度命令。

方案10. 根据方案9所述的控制系统,其中,所述引导者速度模块被配置成基于预定的线速度命令和角速度命令来生成所述第三线速度命令和所述第三角速度命令。

方案11. 根据方案9所述的控制系统,其中,所述引导者速度模块被配置为基于遵循预定路径来生成所述第三线速度命令和所述第三角速度命令。

方案12. 一种用于一个或多个自主移动机器人的控制方法,所述控制方法包括:

为至少包括跟随者自主移动机器人(AMR)和引导者AMR的两个或更多个AMR的群中的所述跟随者AMR生成第一线速度命令和第一角速度命令;

生成所述跟随者AMR的在所述第一线速度命令与所述跟随者AMR的当前速度之间的第一误差;

生成所述跟随者AMR的在所述第一角速度命令与所述跟随者AMR的当前角速度之间的第二误差;

使用比例积分(PI)控制基于所述第一误差生成所述跟随者AMR的第二线速度命令;

使用PI控制基于所述第二误差生成所述跟随者AMR的第二角速度命令;以及

基于所述第二线速度命令和所述第二角速度命令向所述跟随者AMR的一个或多个电动马达施加功率。

方案13. 根据方案12所述的控制方法,还包括基于所述引导者AMR的位置与所述跟随者AMR的位置之间的距离生成所述第一线速度命令和所述第一角速度命令中的至少一者。

方案14. 根据方案13所述的控制方法,还包括进一步基于所述引导者AMR的航向角与所述跟随者AMR的航向角之间的差来生成所述第一线速度命令和所述第一角速度命令中的至少一者。

方案15. 根据方案13所述的控制方法,还包括使用光检测和测距(LIDAR)传感器来确定所述跟随者AMR的位置。

方案16. 根据方案12所述的控制方法,还包括使用传感器测量所述跟随者AMR的当前角速度和所述跟随者AMR的当前线速度。

方案17. 根据方案12所述的控制方法,还包括基于预定的线速度命令和角速度命令将功率施加到所述引导者AMR的一个或多个电动马达。

方案18. 根据方案12所述的控制方法,还包括基于遵循预定路径将功率施加到所述引导者AMR的一个或多个电动马达。

方案19. 根据方案12所述的控制方法,还包括:

生成所述引导者AMR的在第三线速度命令与所述引导者AMR的当前速度之间的第三误差;

生成所述引导者AMR的在第三角速度命令与所述引导者AMR的当前角速度之间的第四误差;

使用PI控制基于所述第三误差生成用于所述引导者AMR的第四线速度命令;

使用PI控制基于所述第四误差生成所述跟随者AMR的第四角速度命令;以及

基于所述第四线速度命令和所述第四角速度命令向所述跟随者AMR的一个或多个电动马达施加功率。

方案20. 根据方案19所述的控制方法,还包括生成用于所述引导者AMR的所述第三线速度命令和用于所述引导者AMR的所述第三角速度命令。

根据具体实施方式、权利要求书和附图,本公开的其他适用领域将变得显而易见。具体实施方式和具体示例仅旨在用于说明的目的,而不旨在限制本公开的范围。

附图说明

通过具体实施方式和附图,本公开将变得更充分地被理解,其中:

图1是示例性移动机器人群的功能框图;

图2是自主移动机器人的示例性实现方式的功能框图;

图3是用于控制跟随者自主移动机器人(AMR)和引导者AMR中的至少一者的各种参数的示例图;

图4是跟随者AMR的马达控制模块的示例性实现方式的功能框图;

图5是用于引导者ARM 104和跟随者ARM的示例性控制系统的功能框图;

图6是示出控制跟随者AMR的示例性方法的流程图;

图7是描述控制引导者和跟随者AMR的示例性方法的流程图;和

图8包括作为行进距离的函数的线速度和角速度的示例图。

在附图中,可以重复使用附图标记来标识相似和/或相同的元件。

具体实施方式

自主移动机器人(AMR)群包括两个或更多个AMR。AMR的控制器可能在模拟环境中工作,但是在真实世界环境中可能不能很好地工作,在真实世界环境中,在相对于引导者AMR的跟随者AMR行进中观察到变化。在真实世界环境中可能无法实现AMR的预定编队(formation)的维持。

本申请涉及对跟随者AMR的改进控制,以在真实世界环境中的操作期间提供预定编队的更好维持。引导者AMR的控制器还可以适于利用跟随者AMR更好地维持预定编队。

图1包括示例性自主移动机器人(AMR)群的功能框图。移动机器人群包括引导者AMR 104和一个或多个跟随者AMR,诸如108和112。虽然示出了两个跟随者AMR的示例,但是本申请适用于仅一个跟随者AMR和多于两个跟随者AMR。

引导者AMR 104被配置成导航到目标位置和取向,诸如在建筑物(例如,制造设施)内。跟随者AMR 108被配置为跟随引导者AMR 104并且在其自身与引导者AMR 104之间维持预定关系(距离、航向角等)。例如,可以一起使用两个或更多个AMR(引导者AMR和一个或多个跟随者AMR)来移动建筑物内的较大物体。跟随者AMR 112被配置为跟随引导者AMR 104并且在其自身与引导者AMR 104之间维持预定关系(距离、航向角等)。在各种实现方式中,跟随者AMR 112可以替代地被配置为跟随所述跟随者AMR 108并且在其自身与跟随者AMR 108之间维持预定关系(距离、航向角等)。

图2是诸如引导者AMR和跟随者AMR的AMR 204的示例性实现方式的功能框图。AMR204包括驱动AMR的一个或多个车轮(诸如车轮212)的电动马达208。虽然提供了四个车轮的示例,但是AMR 204可以包括两个或更多个车轮。此外,虽然提供了一个电动马达的示例,但是AMR 204可以包括两个或更多个电动马达。例如,每个车轮可以包括一个电动马达以驱动该车轮。虽然提供了车轮的示例,但是本申请也适用于其他类型的推进装置,诸如轨道/履带、支腿等。

马达控制模块(MCM)216控制从AMR 204的一个或多个电池到电动马达208的功率流,以控制AMR 204的移动和转动。位置模块220确定诸如在建筑物内的AMR 204的当前位置(例如,x和y坐标)和AMR 204的航向。位置模块220可以包括例如光检测和测距(LIDAR)传感器和/或一个或多个其他类型的传感器,并且基于(一个或多个)传感器的输出来确定AMR204的位置和航向。

通信模块224经由一个或多个天线与一个或多个其他装置无线地传送数据。例如,通信模块224可以将其当前位置和航向传送到一个或多个其他AMR,诸如在AMR 204是引导者AMR的示例中。通信模块224可以经由一个或多个天线从一个或多个其他AMR接收当前位置和航向,诸如在AMR 204是跟随者AMR的示例中。

图3是用于控制跟随者AMR 108和引导者AMR 104中的至少一者的各种参数的示例图,如下面进一步讨论的。

图4是跟随者AMR 108的MCM 216的示例性实现方式的功能框图。第一误差模块404确定引导者AMR 104与跟随者AMR 108之间的距离和角度408。第一误差模块404基于引导者AMR 104的当前位置(X

第一误差模块404基于引导者AMR 104的当前航向角

命令模块412基于距离

命令模块412基于误差

第二误差模块420基于线速度命令

比例积分(PI)模块432使用比例积分控制分别基于线速度误差和角速度误差

其中

驱动器模块440基于实现经调整的线速度命令

上述控制提供了对跟随者机器人角速度和线速度的更准确控制,并且更准确地维持引导者ARM 104与跟随者ARM 108之间的目标距离和角度。在图3的示例中,引导者ARM104可以使用预定线速度命令和角速度命令遵循预定路径(例如,X和Y坐标)。

图5是用于引导者ARM 104和跟随者ARM 108的示例控制系统的功能框图。上面讨论了跟随者ARM 108的模块404、412、420、432和440的功能。

引导者ARM 104包括引导者速度模块504、误差模块508、PI模块512、驱动器模块516、位置模块520和一个或多个马达524。引导者速度模块504确定引导者ARM 104的线速度命令和角速度命令

误差模块508基于线速度命令和角速度命令

PI模块512使用比例积分控制分别基于线速度误差和角速度误差

其中u(t)是输出,e(t)是输入,并且K

驱动器模块516基于实现经调整的线速度命令

上述控制提供了对引导者AMR和跟随者AMR角速度和线速度的更准确控制,并且更准确地维持引导者AMR 104和跟随者AMR 108之间的目标距离和角度。

图6是描述控制跟随者AMR 108的示例性方法的流程图。控制开始于604,其中跟随者AMR 108的通信模块接收包括引导者位置和航向的引导者AMR 104的数据。

在608处,第一误差模块404确定引导者AMR 104与跟随者AMR 108之间的距离和航向角,如上文所讨论的。在612处,命令模块412确定误差以及第一线速度命令和角速度命令,如上文所讨论的。

在616处,第二误差模块420分别确定实际和命令的线速度和角速度之间的线速度和角速度误差,如上文所讨论的。在620处,PI模块432使用PI控制基于误差来确定经调整的线速度命令和角速度命令,如上文所讨论的。在624处,驱动器模块440基于经调整的线速度命令和角速度命令将功率(例如,从一个或多个电池)施加到跟随者AMR 108的(一个或多个)电动马达208,以将线速度误差和角速度误差朝向零调整或调整到零。

图7是描述控制引导者AMR 104和跟随者AMR 108的示例方法的流程图。控制开始于704,其中引导者速度模块504确定引导者AMR 104的线速度命令和角速度命令。在708处,误差模块508分别确定实际线速度和角速度与线速度命令和角速度命令之间的误差,如上文所讨论的。在712处,PI模块512使用PI控制基于误差来确定用于引导者AMR 104的经调整的线速度命令和角速度命令,如上所述。

在716处,驱动器模块516基于经调整的线速度命令和角速度命令将功率(例如,从一个或多个电池)施加到引导者AMR 104的(一个或多个)电动马达524,以将线速度误差和角速度误差朝向零调整或调整到零。在720处,第一误差模块404从引导者AMR 104的位置模块520接收引导者位置和航向,并且从跟随者AMR 108的位置模块220接收跟随者位置和航向角。控制以如上所述的608-624继续以控制跟随者AMR 108。在各种实现方式中,704-716和608-624可以并行执行,使得引导者AMR 1045和跟随者AMR 108被同时控制。

图8包括作为行进距离812的函数的线速度804和角速度808的示例曲线图。迹线816和820分别跟踪引导者AMR 104的线速度和角速度。在图8的示例中,这些值保持恒定。

如果省略PI模块432,则迹线824和828分别跟踪跟随者AMR 108的线速度和角速度。迹线832和836分别跟踪根据图4的示例控制的跟随者AMR 108的线速度和角速度。如图所示,图4的示例允许跟随者AMR 108更紧密且更快速地跟随引导者AMR 104。图5的示例将提供甚至更好的控制。

前述描述本质上仅是说明性的,并且决不旨在限制本公开、其应用或使用。本公开的广泛教导可以以各种形式实现。因此,虽然本公开包括特定示例,但是本公开的真实范围不应如此限制,因为在研究附图、说明书和所附权利要求书之后,其他修改将变得显而易见。应当理解,在不改变本公开的原理的情况下,方法内的一个或多个步骤可以以不同的顺序(或同时)执行。此外,尽管上文将实施例中的每一者描述为具有某些特征,但关于本公开的任何实施例描述的那些特征中的任何一者或一者以上可在其他实施例中的任一者的特征中实施和/或与其他实施例中的任一者的特征组合,即使未明确地描述所述组合。换句话说,所描述的实施例不是相互排斥的,并且一个或多个实施例彼此的置换保持在本公开的范围内。

用各种术语描述元件之间(例如,模块、电路元件、半导体层等之间)的空间和功能关系,所述术语包括“连接”、“接合”、“联接”、“相邻”、“紧挨着”、“在顶部”、“之上”、“之下”和“设置”。除非明确地描述为“直接的”,当第一和第二元件之间的关系在上述公开中描述时,该关系可以是在第一和第二元件之间不存在其他中间元件的直接关系,但是也可以是在第一和第二元件之间(在空间上或功能上)存在一个或多个中间元件的间接关系。如在本文使用的,短语A、B和C中的至少一者应该被解释为表示使用非排他逻辑“或”的逻辑(A或B或C),并且不应该被解释为表示“A中的至少一者、B中的至少一者和C中的至少一者”。

在附图中,箭头的方向,如箭头所指示的,通常表示图示感兴趣的信息(诸如数据或指令)的流动。例如,当元素A和元素B交换各种信息,但是从元素A传输到元素B的信息与图示相关时,箭头可以从元素A指向元素B。该单向箭头不暗示没有其他信息从元素B传输到元素A,此外,对于从元素A发送到元素B的信息,元素B可以向元素A发送对该信息的请求或对该信息的接收确认。

在本申请中,包括下面的定义,术语“模块”或术语“控制器”可以用术语“电路”代替。术语“模块”可以指以下各项、作为以下各项的一部分或者包括以下各项:专用集成电路(ASIC);数字、模拟或混合模拟/数字分立电路;数字、模拟或混合模拟/数字集成电路;组合逻辑电路;现场可编程门阵列(FPGA);执行代码的处理器电路(共享、专用或组);存储器电路(共享、专用或组),其存储由所述处理器电路执行的代码;提供所述功能的其他合适的硬件组件;或者上述中的一些或全部的组合,诸如在片上系统中。

该模块可以包括一个或多个接口电路。在一些示例中,接口电路可以包括连接到局域网(LAN)、因特网、广域网(WAN)或其组合的有线或无线接口。本公开的任何给定模块的功能可以分布在经由接口电路连接的多个模块中。例如,多个模块可以允许负载平衡。在进一步的示例中,服务器(也称为远程或云)模块可以代表客户端模块完成一些功能。

如上所使用的术语代码可以包括软件、固件和/或微代码,并且可以指代程序、例程、函数、类、数据结构和/或对象。术语共享处理器电路涵盖执行来自多个模块的一些或所有代码的单个处理器电路。术语组处理器电路涵盖与附加处理器电路结合执行来自一个或多个模块的一些或所有代码的处理器电路。对多处理器电路的引用涵盖分立管芯上的多处理器电路、单个管芯上的多处理器电路、单个处理器电路的多个核、单个处理器电路的多个线程或以上的组合。术语共享存储器电路涵盖存储来自多个模块的一些或所有代码的单个存储器电路。术语组存储器电路涵盖与附加存储器结合存储来自一个或多个模块的一些或所有代码的存储器电路。

术语存储器电路是术语计算机可读介质的子集。如本文所使用的,术语计算机可读介质不涵盖通过介质(诸如在载波上)传播的暂时的电信号或电磁信号;因此,术语计算机可读介质可以被认为是有形的和非暂时性的。非暂时性、有形计算机可读介质的非限制性示例是非易失性存储器电路(诸如闪存存储器电路、可擦除可编程只读存储器电路或掩模只读存储器电路)、易失性存储器电路(诸如静态随机存取存储器电路或动态随机存取存储器电路)、磁存储介质(诸如模拟或数字磁带或硬盘驱动器)和光存储介质(诸如CD、DVD或蓝光光盘)。

本申请中描述的装置和方法可以部分地或完全地由通过配置通用计算机以执行计算机程序中所实施的一个或多个特定功能而创建的专用计算机来实现。上述功能块、流程图组件和其他元件用作软件规范,其可以由熟练技术人员或程序员的例程工作转换成计算机程序。

计算机程序包括存储在至少一个非暂时性有形计算机可读介质上的处理器可执行指令。计算机程序还可以包括或依赖于存储的数据。计算机程序可以涵盖与专用计算机的硬件交互的基本输入/输出系统(BIOS)、与专用计算机的特定设备交互的设备驱动器、一个或多个操作系统(例如,机器人操作系统(ROS)、Linux、Windows等)、用户应用、后台服务、后台应用等。

计算机程序可以包括:(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®的语言的语法来编写源代码。

相关技术
  • 用于控制移动机器人的方法、装置和控制系统
  • 自主移动机器人和用于控制自主移动机器人的方法
  • 自主移动机器人和用于操作自主移动机器人的方法
技术分类

06120116503985