一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

具有机器人任务特定的头的共享密集网络的制作方法

2022-07-14 03:02:59 来源:中国专利 TAG:

具有机器人任务特定的头的共享密集网络
1.相关应用的交叉引用
2.本技术要求于2019年12月17日提交的美国专利申请第16/717,498号的优先权,该专利的全部内容通过引用并入本文。
技术领域

背景技术:

3.随着技术的进步,正在创建各种类型的机器人设备来执行可以帮助用户的各种功能。机器人设备可用于涉及材料处理、运输、焊接、组装和分配等的应用。随着时间的推移,这些机器人系统的操作方式正变得更加智能、高效和直观。随着机器人系统在现代生活的许多方面变得越来越普遍,希望机器人系统高效。因此,对高效机器人系统的需求已助于在执行器、运动、传感技术以及部件设计和组装方面开辟创新领域。


技术实现要素:

4.示例实施例涉及共享密集网络,例如特征金字塔网络(fpn),该网络与任务特定的头组合以完成不同的机器人视觉任务。
5.在一个实施例中,一种方法包括从机器人设备上的相机接收表示机器人设备的环境的图像数据。该方法进一步包括将经训练的密集网络应用于图像数据以生成一组特征值,其中经训练的密集网络已被训练来完成第一机器人视觉任务。该方法另外包括将经训练的任务特定的头应用于该组特征值以生成任务特定的输出从而完成第二机器人视觉任务,其中经训练的任务特定的头已被训练来基于先前由经训练的密集网络生成的特征值完成第二机器人视觉任务,其中第二机器人视觉任务不同于第一机器人视觉任务。该方法还包括,基于为完成第二机器人视觉任务而生成的任务特定的输出,控制机器人设备在该环境中操作。
6.在另一个实施例中,机器人设备包括相机和控制系统,该控制系统被配置为从机器人设备上的相机接收表示机器人设备的环境的图像数据。该控制系统可以进一步被配置为将经训练的密集网络应用于图像数据以生成一组特征值,其中经训练的密集网络已被训练来完成第一机器人视觉任务。该控制系统可以另外被配置为将经训练的任务特定的头应用于该组特征值以生成任务特定的输出从而完成第二机器人视觉任务,其中经训练的任务特定的头已被训练来基于先前由经训练的密集网络生成的特征值完成第二机器人视觉任务,其中第二机器人视觉任务不同于第一机器人视觉任务。该控制系统还可以被配置为,基于为完成第二机器人视觉任务而生成的任务特定的输出,控制机器人设备在该环境中操作。
7.在又一个实施例中,提供了一种非暂时性计算机可读介质,其包括可由至少一个处理器执行以使所述至少一个处理器执行功能的编程指令。所述功能包括从机器人设备上的相机接收表示机器人设备的环境的图像数据。所述功能进一步包括将经训练的密集网络
应用于图像数据以生成一组特征值,其中经训练的密集网络已被训练来完成第一机器人视觉任务。所述功能另外包括将经训练的任务特定的头应用于该组特征值以生成任务特定的输出从而完成第二机器人视觉任务,其中经训练的任务特定的头已被训练来基于先前由经训练的密集网络生成的特征值完成第二机器人视觉任务,其中第二机器人视觉任务不同于第一机器人视觉任务。所述功能还包括,基于为完成第二机器人视觉任务而生成的任务特定的输出,控制机器人设备在该环境中操作。
8.在另一个实施例中,提供了一种系统,该系统包括用于从机器人设备上的相机接收表示机器人设备的环境的图像数据的装置。该系统进一步包括用于将经训练的密集网络应用于图像数据以生成一组特征值的装置,其中经训练的密集网络已被训练来完成第一机器人视觉任务。该系统另外包括用于将经训练的任务特定的头应用于该组特征值以生成任务特定的输出从而完成第二机器人视觉任务的装置,其中经训练的任务特定的头已被训练来基于先前由经训练的密集网络生成的特征值完成第二机器人视觉任务,其中第二机器人视觉任务不同于第一机器人视觉任务。该系统还包括用于基于为完成第二机器人视觉任务而生成的任务特定的输出来控制机器人设备在该环境中操作的装置。
9.前述发明内容仅是说明性的并且不旨在以任何方式进行限制。除了上述说明性方面、实施例和特征之外,通过参考图和下述具体实施方式以及附图,更多方面、实施例和特征将变得显而易见。
附图说明
10.图1图示了根据示例实施例的机器人系统的配置。
11.图2图示了根据示例实施例的移动机器人。
12.图3图示了根据示例实施例的移动机器人的分解图。
13.图4图示了根据示例实施例的机器人臂。
14.图5是根据示例实施例的机器人捕获表示环境的图像数据的侧视图。
15.图6a图示了根据示例实施例的特征金字塔网络的训练。
16.图6b图示了根据示例实施例的机器人任务头的训练。
17.图6c图示了根据示例实施例的多个机器人任务头的运行时应用。
18.图7是根据示例实施例的系统设计图。
19.图8是根据示例实施例的方法的框图。
具体实施方式
20.本文描述了示例方法、设备和系统。应当理解,本文中使用的词语“示例”和“示例性”是指“用作示例、实例或说明”。本文中描述为“示例”或“示例性”的任何实施例或特征不必解释为比其他实施例或特征更优选或有利,除非如此指明。可以使用其他实施例,并且可以做出其他改变,而不背离本文提出的主题的范围。
21.因此,本文描述的示例实施例并不意味着限制。将容易理解的是,如本文一般描述的以及在图中示出的本公开的各方面可以以多种不同的配置来布置、替代、组合、分离和设计。
22.在整个描述中,冠词“(一)”或“(一个)”用于引入示例实施例的元素。除非另有说
明,或者除非上下文另有明确规定,否则对“一”或“一个”的任何提及均指“至少一个”,并且对“该/所述”的任何提及均指“该/所述至少一个”。在所描述的至少两个术语的列表中使用连词“或”的目的是表示任何列出的术语或列出的术语的任何组合。
23.使用诸如“第一”、“第二”、“第三”等序数是为了区分各个元素,而不是表示这些元素的特定顺序。为了本描述的目的,术语“多个”和“多个”是指“两个或更多个”或“多于一个”。
24.此外,除非上下文另有说明,否则每幅图中所示的特征可以彼此结合使用。因此,图一般应被视为一个或多个整体实施例的组成方面,但应理解,并非所有示出的特征对于每个实施例都是必需的。在图中,相似的符号通常标识相似的部件,除非上下文另有说明。此外,除非另有说明,否则图未按比例绘制并且仅用于说明目的。此外,图仅是代表性的,并未显示所有部件。例如,可能不会显示另外的结构或约束部件。
25.另外,在本说明书或权利要求书中对元素、框或步骤的任何列举都是为了清楚起见。因此,这种列举不应被解释为要求或暗示这些元件、框或步骤遵循特定布置或以特定顺序实施。
26.一、概述
27.机器人可以处理图像数据以便确定如何在环境中操作。机器人可以执行各种不同的任务,并且每项任务可能需要关于该环境的不同信息。作为一个示例,机器人可能需要识别该环境中要由机器人整理(例如,通过清理空盘子)的区域。作为另一个示例,机器人可能需要识别不同类型的一次性对象,以便将对象分类到适当的垃圾箱或回收箱中。作为又一个示例,机器人可能需要识别门把手,以便进入或离开一个区域。不同的机器人任务可能与不同的机器人视觉任务相关联,其中每项机器人视觉任务都涉及处理图像数据以获取完成相应的机器人任务所需的特定信息。
28.对于许多这样的机器人视觉任务而言,机器学习可以用于训练和控制机器人。为了以高效的方式使用机器学习模型(例如,神经网络),可以对机器人视觉堆栈进行优化。更具体地说,机器人视觉系统可以设计为允许自动训练和部署,同时最大限度地减少对人机回圈(human in the loop)的需求,并最大限度地减少数据收集和查看结果之间的延迟。另外,机器人视觉系统可以设计为优化性能质量,同时减少机器人在运行时使用的计算资源。此外,机器人视觉系统可以设计为降低复杂性,同时还使系统更强大、更易于维护且更灵活地响应不断变化的需求。
29.考虑到这样的目标,本文描述的示例机器人视觉系统涉及单个共享密集网络(例如,fpn),该网络与任务特定的头组合以完成不同的机器人视觉任务。共享单个密集网络使对每个图像能够只进行一次繁重的计算,而每个头允许特定的任务优化。不是为每项任务训练一个单独的网络,而是训练密集网络(例如,数百层)以从所述机器人或类似机器人捕获的许多图像中提取特征。然后可以根据需要为任务特定的应用添加单独的添加项。密集网络可以只需要不经常地被训练(例如,每月或每季度或每年)。新的任务特定的头可以只需要几层,并因此能够被快速训练。
30.在一些示例中,初始可以训练共享密集网络以基于图像数据产生任务特定的输出,以便完成第一机器人视觉任务,其也可以称为种子任务。例如,第一机器人视觉任务可以涉及识别环境中应该由机器人整理的区域。作为该训练过程的一部分,可以训练共享密
集网络以在对许多图像进行训练后产生一组丰富的特征值。然后可以利用这些特征值来促进对任务特定的头的训练,以在机器人感知任务的同一个一般空间中完成其他任务。例如,任务特定的头可以被训练来识别环境中可由机器人以不同方式操纵的方面,例如识别可由机器人的夹持器抓握的对象。作为另一个示例,逻辑上与初始种子任务更远的感知任务也可以受益于先前的训练。例如,可以训练不同的任务特定的头来提供输出,以协助以不同方式涉及机器人的任务,例如识别当前在机器人夹持器中的对象。
31.因此可以扩展本文描述的示例框架以利用先前的训练来完成多种不同的机器人感知任务,同时最大程度地减少所需的额外训练以及机器人完成任务所需的计算资源。
32.二、示例机器人系统
33.图1图示了可以与本文描述的实施方式结合使用的机器人系统的示例配置。机器人系统100可以被配置为自主地、半自主地或使用(一个或多个)用户提供的指示来操作。机器人系统100可以实现为各种形式,例如机器人臂、工业机器人或一些其他布置。一些示例实施方式涉及被设计制造为大规模低成本并被设计成支持各种任务的机器人系统100。机器人系统100可以被设计成能够在人周围操作。机器人系统100也可以针对机器学习进行优化。在整个描述中,机器人系统100也可以被称为机器人、机器人设备或移动机器人以及其他名称。
34.如图1所示,机器人系统100可以包括(一个或多个)处理器102、数据存储装置104和(一个或多个)控制器108,它们一起可以是控制系统118的一部分。机器人系统100还可以包括(一个或多个)传感器112、(一个或多个)动力源114、机械部件110和电气部件116。尽管如此,机器人系统100出于说明性目的而示出,并且可以包括更多或更少的部件。机器人系统100的各种部件可以以任何方式连接,包括有线或无线连接。此外,在一些示例中,机器人系统100的部件可以分布在多个物理实体而不是单个物理实体中。也可以存在机器人系统100的其他示例说明。
35.(一个或多个)处理器102可以作为一个或多个通用硬件处理器或专用硬件处理器(例如,数字信号处理器、专用集成电路等)来操作。(一个或多个)处理器102可以被配置为执行计算机可读程序指令106和操纵数据107,这两者都存储在数据存储装置104中。(一个或多个)处理器102还可以直接或间接与机器人系统100的其他部件(例如,(一个或多个)传感器112、(一个或多个)动力源114、机械部件110或电气部件116)交互。
36.数据存储装置104可以是一种或多种类型的硬件存储器。例如,数据存储装置104可以包括可以由(一个或多个)处理器102读取或访问的一种或多种计算机可读存储介质或采取其形式。所述一种或多种计算机可读存储介质可以包括易失性或非易失性存储部件,例如光学、磁性、有机或其他类型的存储器或存储装置,其可以与(一个或多个)处理器102整体或部分集成。在一些实施方式中,数据存储装置104可以是单个物理设备。在其它实施方式中,可以使用两个或更多物理设备来实现数据存储装置104,这些物理设备可以通过有线或无线通信来相互通信。如前所述,数据存储装置104可以包括计算机可读程序指令106和数据107。数据107可以是任何类型的数据,例如配置数据、传感器数据或诊断数据以及其它可能性。
37.控制器108可以包括一个或多个电路、数字逻辑单元、计算机芯片或微处理器,它们被配置为(可以在其他任务中)在机械部件110、(一个或多个)传感器112、(一个或多个)
动力源114、电气部件116、控制系统118或机器人系统100的用户的任何组合之间相接。在一些实施方式中,控制器108可以是用于与机器人系统100的一个或多个子系统一起执行特定操作的特制嵌入式设备。
38.控制系统118可以监视和物理改变机器人系统100的操作条件。在这样做时,控制系统118可以用作机器人系统100的各部分之间的连杆(link),例如机械部件110或电气部件116之间的连杆。在一些情况下,控制系统118可以用作机器人系统100和另一个计算设备之间的接口。此外,控制系统118可以用作机器人系统100和用户之间的接口。在一些情况下,控制系统118可以包括用于与机器人系统100通信的各种部件,包括操纵杆、按钮或端口等。上面提到的示例接口和通信可以通过有线或无线连接或两者来实现。控制系统118也可以为机器人系统100执行其他操作。
39.在操作期间,控制系统118可以通过有线或无线连接与机器人系统100的其他系统通信,并且可以进一步被配置为与机器人的一个或多个用户通信。作为一个可能的说明,控制系统118可以接收指示执行所请求任务(例如,拾取对象并将其从一个位置移动到另一个位置)的指令的输入(例如,来自用户或来自另一个机器人)。基于该输入,控制系统118可以执行操作以使机器人系统100进行一系列运动以执行所请求任务。作为另一个说明,控制系统可以接收指示移动到所请求位置的指令的输入。作为响应,控制系统118(可以在其他部件或系统的帮助下)可以确定方向和速度以使机器人系统100在前往所请求位置的途中移动通过该环境。
40.控制系统118的操作可以由(一个或多个)处理器102执行。可替代地,这些操作可以由(一个或多个)控制器108或(一个或多个)处理器102和(一个或多个)控制器108的组合来执行。在一些实施方式中,控制系统118可以部分或全部驻留在除了机器人系统100之外的设备上,并因此可以至少部分地远程控制机器人系统100。
41.机械部件110表示机器人系统100的可以使机器人系统100能够执行物理操作的硬件。作为一些示例,机器人系统100可以包括一个或多个物理构件,例如臂、末端执行器、头、颈部、躯干、基座和轮子。机器人系统100的物理构件或其他部分可以进一步包括布置成使物理构件相对于彼此移动的致动器。机器人系统100还可以包括用于容纳控制系统118或其他部件的一个或多个结构化主体,并且可以进一步包括其他类型的机械部件。在给定机器人中使用的特定机械部件110可以基于机器人的设计而变化,并且还可以基于机器人可以被配置为执行的操作或任务。
42.在一些示例中,机械部件110可以包括一个或多个可移除部件。机器人系统100可以被配置为添加或移除这样的可移除组件,这可以涉及来自用户或另一个机器人的帮助。例如,机器人系统100可以配置有可根据需要或期望更换或改变的可移除末端执行器或指状件。在一些实施方式中,机器人系统100可以包括一个或多个可移除或可更换的电池单元、控制系统、电力系统、减震器或传感器。其他类型的可移除部件可以包括在一些实施方式中。
43.机器人系统100可以包括布置成感测机器人系统100的各方面的(一个或多个)传感器112。(一个或多个)传感器112可以包括一个或多个力传感器、扭矩传感器、速度传感器、加速度传感器、位置传感器、接近传感器、运动传感器、定位传感器、负载传感器、温度传感器、触摸传感器、深度传感器、超声波范围传感器、红外传感器、对象传感器或相机等等。
在一些示例中,机器人系统100可以被配置为从与该机器人物理分离的传感器(例如,定位在其他机器人上或位于该机器人正在其中运行的环境内的传感器)接收传感器数据。
44.(一个或多个)传感器112可以将传感器数据提供给(一个或多个)处理器102(可以通过数据107),以允许机器人系统100与其环境交互,以及允许监测机器人系统100的操作。传感器数据可用于评估用于通过控制系统118启动、移动和停用机械部件110和电气部件116的各种因素。例如,(一个或多个)传感器112可以捕获与环境地形或附近对象的位点相对应的数据,这可以帮助环境识别和导航。
45.在一些示例中,(一个或多个)传感器112可以包括radar(例如,用于远程对象检测、距离确定或速度确定)、lidar(例如,用于短距离对象检测、距离确定或速度确定)、sonar(例如,用于水下对象检测、距离确定或速度确定)、(例如,用于运动捕捉)、一个或多个相机(例如,用于3d视觉的立体相机)、全球定位系统(gps)收发器或用于捕获机器人系统100正在其中运行的环境的信息的其他传感器。(一个或多个)传感器112可以实时监测环境,并检测障碍物、地形元素、天气状况、温度或环境的其他方面。在另一示例中,(一个或多个)传感器112可以捕获与目标或被识别的对象的一个或多个特性(例如,对象的大小、形状、轮廓、结构或取向)相对应的数据。
46.此外,机器人系统100可以包括被配置为接收指示机器人系统100的状态的信息的(一个或多个)传感器112,包括可以监测机器人系统100的各种部件的状态的(一个或多个)传感器112。(一个或多个)传感器112可以测量机器人系统100的系统的活动,并基于机器人系统100的各种特征的操作(例如,可伸展臂、末端执行器或机器人系统100的其他机械或电气特征的操作)接收信息。由(一个或多个)传感器112提供的数据可以使控制系统118能够确定操作中的错误以及监测机器人系统100的部件的整体操作。
47.作为示例,机器人系统100可以使用力/扭矩传感器来测量机器人系统100的各种部件上的负载。在一些实施方式中,机器人系统100可以包括在臂或末端执行器上的一个或多个力/扭矩传感器,以测量移动该臂或末端执行器的一个或多个构件的致动器上的负载。在一些示例中,机器人系统100可以包括在腕部或末端执行器处或附近但不在机器人臂的其他关节处或附近的力/扭矩传感器。在进一步的示例中,机器人系统100可以使用一个或多个位置传感器来感测机器人系统的致动器的位置。例如,这样的位置传感器可以感测臂或末端执行器上的致动器的伸展状态、缩回状态、定位状态或旋转状态。
48.作为另一示例,(一个或多个)传感器112可以包括一个或多个速度或加速度传感器。例如,(一个或多个)传感器112可以包括惯性测量单元(imu)。imu可以感测世界坐标系中相对于重力矢量的速度和加速度。然后可以基于imu在机器人系统100中的位点和机器人系统100的运动学将imu感测到的速度和加速度转换为机器人系统100的速度和加速度。
49.机器人系统100可以包括本文未明确讨论的其他类型的传感器。附加地或替代地,机器人系统可以将特定传感器用于本文未列举的目的。
50.机器人系统100还可以包括被配置为向机器人系统100的各种部件供应动力的一个或多个动力源114。在其他可能的动力系统中,机器人系统100可以包括液压系统、电气系统、电池或其他类型的动力系统。作为示例说明,机器人系统100可以包括被配置为向机器人系统100的部件供电的一个或多个电池。机械部件110或电气部件116中的一些可以各自连接到不同的动力源,可以由同一个动力源提供动力,或者由多个动力源提供动力。
51.任何类型的动力源都可以用于为机器人系统100提供动力,例如电力或汽油发动机。附加地或替代地,机器人系统100可以包括被配置为使用流体动力向机械部件110提供动力的液压系统。例如,机器人系统100的部件可以基于通过液压系统传输到各种液压马达和液压缸的液压流体来操作。液压系统可以经由加压液压流体通过管子、柔性软管或机器人系统100的部件之间的其他连杆来传递液压动力。(一个或多个)动力源114可以使用各种类型的充电来充电,例如与外部动力源的有线连接、无线充电、燃烧或其他示例。
52.电气部件116可以包括能够处理、传输或提供电荷或电信号的各种机构。在可能的示例中,电气部件116可以包括电线、电路或无线通信发射器和接收器,从而实现机器人系统100的操作。电气部件116可以与机械部件110相互作用,以使机器人系统100能够执行各种操作。例如,电气部件116可以被配置为将动力从(一个或多个)动力源114提供到各种机械部件110。此外,机器人系统100可以包括电动马达。也可以存在电气部件116的其他示例。
53.机器人系统100可以包括主体,该主体可以连接到或容纳机器人系统的附件和部件。因此,主体的结构可以在示例中变化,并且可以进一步取决于给定机器人可能已经被设计为执行的特定操作。例如,为承载重负载而开发的机器人可以具有能够放置负载的宽的主体。类似地,设计用于在狭小空间中操作的机器人可以具有相对较高、较窄的主体。此外,可以使用各种类型的材料(例如金属或塑料)来开发主体或其他部件。在另一些示例中,机器人可以具有带有不同结构或由各种类型的材料制成的主体。
54.主体或其他部件可以包括或承载(一个或多个)传感器112。这些传感器可以定位在机器人系统100上的不同位点,例如主体、头、颈部、基座、躯干、臂或末端执行器以及其他示例。
55.机器人系统100可以被配置为承载负载,例如待运输的一种类型的货物。在一些示例中,负载可以由机器人系统100放置到附接到机器人系统100的箱柜或其他容器中。负载还可以表示机器人系统100可以利用的外部电池或其他类型的动力源(例如,太阳能电池板)。承载负载表示机器人系统100可以被配置用于的一种示例用途,但是机器人系统100也可以被配置为执行其他操作。
56.如上所述,机器人系统100可以包括各种类型的附件、轮子、末端执行器、夹持设备以及诸如此类。在一些示例中,机器人系统100可以包括带有轮子、踏板或某种其他移位形式的可移动基座。另外,机器人系统100可以包括机器人臂或某种其他机器人操纵器形式。在可移动基座的情况下,基座可以被认为是机械部件110中的一个并且可以包括由致动器中的一个或多个提供动力的轮子,除了主体的其余部分之外,这还允许机器人臂的移动。
57.图2图示了根据示例实施例的可移动机器人。图3图示了根据示例实施例的可移动机器人的分解图。更具体地,机器人200可以包括可移动基座202、中段204、臂206、臂端系统(eoas)208、桅杆210、感知外壳212和感知套件214。机器人200还可以包括存储在可移动基座202内的计算盒216。
58.可移动基座202包括定位在机器人200的前端处的两个驱动轮,以便为机器人200提供移位。可移动基座202还包括额外的脚轮(未示出)以便于可移动基座202在地面上的运动。可移动基座202可以具有允许容易地移除计算盒216的模块化架构。计算盒216可以用作机器人200的可移除控制系统(而不是机械集成的控制系统)。在移除外部壳体之后,可以容易地移除和/或更换计算盒216。可移动基座202也可以设计成允许额外的模块化。例如,可
移动基座202也可以设计成使得动力系统、电池和/或外部减震器都可以容易地移除和/或更换。
59.中段204可以在可移动基座202的前端处附接到可移动基座202。中段204包括固定到可移动基座202的安装柱。中段204另外包括用于臂206的旋转关节。更具体来说,中段204包括臂206的前两个自由度(肩部偏航j0关节和肩部俯仰j1关节)。安装柱和肩部偏航j0关节可以在可移动基座202的前部形成堆叠塔的一部分。安装柱和肩部偏航j0关节可以是同轴的。中部204的安装柱的长度可以被选择以提供臂206足够的高度从而在通常遇到的高度水平(例如,咖啡桌面水平和柜台面水平)执行操纵任务。中段204的安装柱的长度还可以允许肩部俯仰j1关节使臂206在可移动基座202上旋转而不接触可移动基座202。
60.当连接到中段204时,臂206可以是7dof的机器人臂。如上所述,臂206的前两个dof可以包括在中段204中。其余五个dof可以包括在臂206的独立段中,如图2和图3所示。臂206可以由塑料的整体连杆结构制成。在臂206内部可以容纳独立的致动器模块、本地马达驱动器和通孔电缆布线。
61.eoas 208可以是臂206末端处的末端执行器。eoas 208可以允许机器人200操纵环境中的对象。如图2和图3所示,eoas 208可以是夹持器,例如,欠驱动的夹紧式夹持器。夹持器可以包括一个或多个接触传感器(例如,力/扭矩传感器)和/或非接触传感器(例如,一个或多个相机),以便于对象检测和夹持器控制。eoas 208也可以是不同类型的夹持器(例如,吸力夹持器)或不同类型的工具(例如,钻头或刷子)。eoas 208也可以是可替换的或包括可替换的部件,例如夹持器指状件。
62.桅杆210可以是用于臂206的肩部偏航j0关节和感知外壳212之间的相对较长、较窄的部件。桅杆210可以是在可移动基座202的前方的堆叠塔的一部分。桅杆210可以相对于可移动基座202固定。桅杆210可以与中段204同轴。桅杆210的长度可以促进感知套件214感知被eoas 208操纵的对象。桅杆210可以具有这样的长度,使得当肩部俯仰j1关节垂直向上旋转时,臂206的二头肌的最高点与桅杆210的顶部大致对齐。于是桅杆210的长度可以足以在肩部俯仰j1关节垂直向上旋转时防止感知外壳212和臂206之间的碰撞。
63.如图2和图3所示,桅杆210可以包括3d lidar传感器,该传感器被配置为收集关于环境的深度信息。3d lidar传感器可以耦合到桅杆210的分拆出的部分并且以向下的角度固定。lidar位置可以针对定位、导航和前悬崖检测进行优化。
64.感知外壳212可以包括构成感知套件214的至少一个传感器。感知外壳212可以连接到平移/倾斜控件以允许重新定向感知外壳212(例如,以查看被eoas 208操纵的对象)。感知外壳212可以是固定到可移动基座202的堆叠塔的一部分。感知外壳212的后部可以与桅杆210同轴。
65.感知套件214可以包括被配置为收集表示机器人200的环境的传感器数据的传感器套件。感知套件214可以包括红外(ir)辅助立体深度传感器。感知套件214可以另外包括用于人机交互和上下文信息的广角红-绿-蓝(rgb)相机。感知套件214可以另外包括用于对象分类的高分辨率rgb相机。还可以包括围绕感知套件214的面部光环,用于改进人机交互和场景照明。在一些示例中,感知套件214还可以包括被配置为将图像和/或视频投影到环境中的投影仪。
66.图4图示了根据示例实施例的机器人臂。机器人臂包括7个dof:肩部偏航j0关节、
肩部俯仰j1关节、二头肌滚动j2关节、肘部俯仰j3关节、前臂滚动j4关节、腕部俯仰j5关节和腕部滚动j6关节。所述关节中的每一个可以耦合到一个或多个致动器。耦合到所述关节的致动器可操作以引起连杆沿着运动链(以及附接到机器人臂的任何末端执行器)的移动。
67.肩部偏航j0关节允许机器人臂朝着机器人的正面并朝着机器人的背面旋转。这种运动的一个有益用处是允许机器人拾取在机器人前面的对象并快速将该对象放在机器人的后面部分上(以及反向运动)。此运动的另一个有益用处是将机器人臂从机器人后面的收起配置快速移动到机器人前面的活动位置(以及反向运动)。
68.肩部俯仰j1关节允许机器人抬起机器人臂(例如,使得二头肌达到机器人的感知套件水平)和降低机器人臂(例如,使得二头肌刚好在可移动基座上面)。这种运动有利于允许机器人在环境中的不同目标高度水平上高效执行操纵操作(例如,顶部抓握和侧面抓握)。例如,肩部俯仰j1关节可以旋转到垂直向上位置,以使机器人能够轻松地操纵环境中桌子上的对象。肩部俯仰j1关节可以旋转到垂直向下位置,以使机器人能够轻松地操纵环境中地面上的对象。
69.二头肌滚动j2关节允许机器人旋转二头肌以相对于二头肌移动肘部和前臂。这种运动可以特别有利于通过机器人的感知套件来便于eoas的清晰查看。通过旋转二头肌滚动j2关节,机器人可以踢出肘部和前臂,以改善对机器人夹持器中持有的对象的视线。
70.沿着运动链向下移动,交替的俯仰和滚动关节(肩部俯仰j1关节、二头肌滚动j2关节、肘部俯仰j3关节、前臂滚动j4关节、腕部俯仰j5关节和腕部滚动j6关节)被提供以用于提高机器人臂的可操纵性。腕部俯仰j5关节、腕部滚动j6关节和前臂滚动j4关节的轴线相交以减少手臂运动从而重新定向对象。提供腕部滚动j6点,而不是腕部中的两个俯仰关节,以便改善对象旋转。
71.在一些示例中,诸如图4中所示的机器人臂可能能够在示教模式下操作。特别地,示教模式可以是允许用户与机器人臂物理交互并引导机器人臂执行和记录各种移动的机器人臂的操作模式。在示教模式下,基于旨在教机器人关于如何执行特定任务的示教输入,(例如,由用户)将外力施加到机器人臂。机器人臂因此可以基于来自用户的指令和引导获得关于如何执行特定任务的数据。这种数据可以与机械部件的多个配置、关节位置数据、速度数据、加速度数据、扭矩数据、力数据和功率数据等有关。
72.在示教模式期间,在一些示例中,用户可以抓住eoas或腕部,或者在另一些示例中抓住机器人臂的任何部分,并通过物理移动机器人臂来提供外力。特别地,用户可以引导机器人臂抓住对象,然后将对象从第一位点移动到第二位点。当用户在示教模式期间引导机器人臂时,机器人可以获得并记录与移动有关的数据,使得机器人臂可以被配置为在未来的时间在独立操作期间(例如,当机器人臂在示教模式之外独立操作时)独立地执行任务。在一些示例中,外力也可以由物理工作空间中的其他实体(例如其他对象、机器或机器人系统等等)施加。
73.图5是根据示例实施例的机器人捕获表示环境的图像数据的侧视图。更具体地,包括机器人基座504、机器人臂506和感知外壳508的机器人502可以在环境中操作。为了控制机器人502,机器人控制系统可以接收由感知外壳508中的一个或多个传感器捕获的图像数据。为了解释周围环境以使机器人502能够在环境中执行任务,机器人控制系统可以将一种或多种机器学习模型应用于捕获的图像数据。在一些示例中,图像数据可以是红绿蓝深度
(rgbd)数据,其既包括颜色信息又包括深度信息。rgbd数据可以使用一个传感器或多个单独的传感器生成。在进一步的示例中,一种或多种机器学习模型可以应用于红绿蓝(rgb)彩色图像。在又一些示例中,一种或多种机器学习模型可以应用于三维灰度深度数据。一种或多种机器学习模型也可以或替代地应用于表示环境的其他类型的传感器数据。
74.在一些示例中,机器人502可以被控制以与周围环境中的一个或多个特征(例如,对象或表面)交互。例如,机器人502可以被控制以利用机器人臂506的末端执行器,例如夹持器,来与环境交互。参考图5,环境包括桌子510,其容纳马克杯512和液体溢出物514。机器人502可以捕捉包括桌子510及其内容物的图像数据。机器人502然后可以尝试处理图像数据以便执行一项或多项机器人任务。不同的机器人任务可能需要有关周围环境中特征(例如对象或表面)的不同信息。
75.作为示例,机器人502可以进行识别环境中的可整理区域的任务。机器学习模型可用于将图像数据作为机器人502的输入和输出可整理区域。例如,该模型可将液体溢出物514识别为可整理区域。如果马克杯512是空的,则模型还可以将马克杯512识别为环境中应清理的可整理部分。鉴于机器人502应整理的区域可能取决于用户偏好,机器学习模型可用于帮助机器人502习得要在环境的哪些部分上执行整理操作。用户反馈(无论是在模拟中还是在物理世界中)可用于帮助训练模型。
76.作为另一个示例,机器人502可以替代地进行收拾环境中的对象(例如,马克杯512)的任务。为了执行该任务,机器人502可能需要首先识别环境中的可抓握区域,例如马克杯512的把手。机器人502的夹持器可以抓握哪些对象或对象的哪些部分可能不是很显而易见。另外,如果以次优方式抓握对象,则可能存在损坏对象的风险。因此,应用处理环境的图像数据并识别机器人502的可抓握区域的机器学习模型可能是有利的。在该示例中,识别环境中对象的可抓握区域可以被认为是与在环境中拾取和收拾对象的机器人任务相对应的机器人视觉任务。
77.作为进一步的示例,机器人502可以替代地进行识别环境中的可擦拭区域以用不同的末端执行器(例如,除尘器而不是夹持器)擦拭干净的任务。机器人502能够或应该擦拭干净哪些表面可能不是很显而易见。例如,哪些表面是相对永久的并因此可能收集灰尘可能不是很明显。因此,应用机器学习模型来识别环境中的可擦拭表面以帮助控制机器人502执行涉及除尘或以其他方式将表面擦拭干净的任务可能是有利的。
78.整理、收拾对象和将表面擦拭干净的说明性机器人任务可能每个都需要了解环境,包括特征(例如,对象和表面)的位点和类型。为了精通提供有用的任务特定的输出来控制机器人502,可能需要在机器人502或类似机器人捕获的许多图像上训练机器学习模型。在此训练过程中,模型可以被训练来确定输入图像的稳健特征值集。然后可以使用特征值来生成任务特定的输出。在本文描述的示例中,这些特征值以及允许确定这样的特征值的训练工作可以被利用以允许机器人502高效地获得用于其他机器人视觉任务的任务特定的输出。例如,如果模型被训练来允许机器人502在环境中准确地执行整理操作,则训练后的模型可以与任务特定的头结合使用以同样产生任务特定的输出,从而帮助机器人502执行其他任务,例如收拾对象、将表面擦拭干净以及涉及逻辑上更加不同的感知任务的其他机器人任务。
79.图6a-6c共同说明了训练和应用具有机器人任务特定的头的fpn的过程。在所示示
例中,共享密集网络采用fpn的形式,这对于采用不同分辨率来处理不同大小的特征可能特别有利。在另一些示例中,可以使用不同类型的密集网络,例如卷积神经网络(cnn)。共享网络可以称为密集网络,以表明该网络比任务特定的头具有更多的层。在诸如所示示例的一些示例中,密集共享网络可以被配置为以与捕获的图像数据相对应的一个或多个特征图的形式生成特征值。在另一些示例中,特征值可以采用不同形式,例如与神经网络的隐藏层的节点相关联的值。
80.参考图6a,如信息流600所示,初始可以使用种子机器人任务来训练fpn 602。为了训练fpn 602,可以累积训练数据,其包括环境的图像数据和相应的针对种子任务的任务特定的输出。例如,在一些示例中,种子任务可以涉及识别环境的可整理区域,在这种情况下,任务特定的输出可以指示在特定图像中捕获的区域是否可整理。其他类型的机器人感知任务也可以或替代地用作种子任务。一般而言,对于其多种图像数据和相应的期望输出可用的机器人感知任务对于初始训练fpn 602以开发丰富的特征集可能是有效的,该特征集随后可以由其他任务特定的头使用。
81.图6a图示了作为信息流600的一部分的使用训练图像604和对应的训练输出624结合机器人种子任务头622对fpn 602进行训练。可以使用一个或多个机器人上的一个或多个传感器(例如,rgb相机和/或立体相机)来捕获或确定训练图像604。在一些示例中,训练图像604可以是rgbd图像。可以基于人类用户在物理世界和/或模拟中提供的标签来确定训练输出624。在其它示例中,训练输出624可以由机器人基于实验来确定。部分或全部训练数据也可以由外部源提供(例如,通过使用可公开访问的图像数据集)。
82.fpn 602是设计成检测不同尺度的特征的特征提取器,其对于涉及机器人与周围环境交互的各种不同机器人任务可能是有用的。fpn602可以被配置为计算单个输入图像的不同分辨率的卷积特征图。fpn 602的完全卷积特性使网络能够拍摄任意大小的图像,并在特征金字塔的多个级别上输出按比例大小的特征图。更高级别的特征图包含覆盖图像更大区域的网格单元,并因此更适合检测较大的特征。此外,来自较低级别特征图的网格单元对于检测较小的特征可能更有效。
83.fpn 602可以被配置为针对训练图像604的每个训练图像生成相应的特征图612、614和616。可以生成任意数量的不同分辨率的特征图。此外,任何或所有特征图612、614和616都可以单独使用或组合使用,以允许机器人种子任务头622做出关于环境的预测。机器人种子任务头622可以包含允许为一个或多个输入的特征图生成任务特定的输出的附加层。在一些示例中,机器人种子任务头622可以是比fpn 602包含更少卷积层的cnn。在对fpn 602进行训练期间,可以同时训练fpn 602和机器人种子任务头622二者,以将训练图像604映射到训练输出624的对应输出。在图6a所示的训练阶段期间,可以训练fpn 602以生成丰富的特征图612、614和616,这些特征图可以由机器人种子任务头622以及其他需要相对额外工作的机器人任务头使用。
84.图6b图示了在fpn 602已被训练之后对特定机器人任务头的训练。在一些示例中,可以按需执行工作流630以快速训练新的机器人任务头652,以使机器人能够快速学习如何在环境中执行新任务。呈训练图像634和训练输出654形式的附加训练数据可用于训练机器人任务头652。训练输出654可以与不同于种子任务的机器人任务(例如,识别环境的可抓握区域而不是环境的可整理区域)相关联。在工作流630期间,可以固定fpn 602,使得训练图
像634和训练输出654不改变fpn 602生成特征图642、644和646的方式。因此,可以仅调整机器人任务头652的层,以便基于由fpn 602生成的特征图642、644和646将训练图像634更好地映射到训练输出654。因为fpn 602可能已被训练来生成丰富的特征图,所以机器人任务头652可能需要相对较少的层来产生准确的结果,特别是在机器人任务头652与与用于训练fpn 602的初始种子任务类似的机器人视觉任务相关联的情况下。图6b中所示的工作流630的结果可以是机器人任务头652被有效地训练以对来自fpn 602的特征图进行操作,从而产生对机器人执行与原来训练fpn 602所用的不同的任务有用的任务特定的输出。
85.图6c图示了根据示例实施例的多个机器人任务头的运行时应用。更具体地,在fpn 602和一个或多个任务特定的头已被训练之后,fpn 602和一个或多个任务特定的头可以由机器人在运行时应用以生成可用于控制机器人的任务特定的输出。特别地,机器人可以捕获输入图像664并将输入图像664馈送到fpn 602以生成特征图672、674和676。特征图672、674、676可以输入到多个不同的机器人任务头中,包括产生任务特定的输出684的机器人任务头652和产生任务特定的输出694的机器人任务头692。值得注意的是,对于与机器人任务头652和机器人任务头692相关联的两项机器人任务,通过使用单独的网络,可以获得计算益处,因为fpn 602只需要在运行时由机器人应用到输入图像664一次。然后,各自包含相对较少层的机器人任务头652和机器人任务头692可以分别应用于由fpn 602生成的特征图672、674和676。
86.在进一步的示例中,机器人可以同时使用多于两个的机器人任务头。在一些示例中,活动的(并因此应用于来自共享密集网络的特征)特定机器人任务头可以由机器人控制系统和/或由单独的用户控制系统动态调整。在进一步的示例中,可以向开发人员提供允许动态启动和停用特定机器人任务头以节省资源的编程接口。尽管图6c中没有说明,但也可以例如基于机器人执行期望任务的有效性来动态再训练一个或多个机器人任务头。
87.图7是根据示例实施例的系统设计图。更具体地,软件模块的系统布置700可以部署在机器人设备上以允许高效生成不同类型的任务特定的输出。fpn 702可以是相对不经常训练(例如,每周一次、每月一次或每季度一次)的共享密集网络。在一些示例中,fpn 702可以周期性地用不同的模型(例如,更复杂的版本)换出,而只需要对不同模型的一个或多个初始层进行更改以进行再训练。在进一步的示例中,也可以使用不同类型的共享密集网络。
88.系统布置700包括若干单独的机器人任务特定的头,包括检测712、分割714、分类716、嵌入718、在手720、附加任务#1 722和附加任务#2 724。为了说明的目的,提供了布置700。在另一些示例中,也可以在具有共享密集网络的机器人视觉系统中使用更多或更少的任务特定的头,包括任务特定的头的不同组合。锁定fpn 702可以允许频繁训练(例如,每日再训练)任务特定的头,而不必与其他任务特定的头协调。另外,任务特定的头可以保持相对较小且快速执行,以便fpn 702只为每个输入图像完成一次大部分繁重的抬起(lifting)。
89.在进一步的运行时增强中,fpn 702的所有层可以保留在诸如机器人控制系统的计算设备的图形处理单元(gpu)上。这种布置可以避免从gpu到中央处理单元(cpu)所需的几乎所有副本。相比之下,诸如图7中所示的任务特定的头的层可以保留在cpu上。
90.返回参考图7,检测712是指围绕可能对于机器人任务而言相关的特征生成边界框
的任务特定的头。分割714是指与特征相关联的每个边界框的像素级实例掩码。值得注意的是,除了fpn 702的输出之外,分割714还可以将检测712的输出作为输入。其中任务特定的头将来自不同的任务特定的头的输出作为输入的其他类型的分层布置也可以在各种示例中使用。分割714可以在实例级别(例如,与特定墙壁相关联的所有像素)或语义级别(例如,与环境中的任何墙壁相关联的所有像素)完成。分类716是指将特征与系统为其训练的多个可能类别中的特定类别相关联。嵌入718是指可用于帮助识别或解释特征的类别相关或实例相关信息。
91.另外,在手720是指识别机器人的夹持器中的对象。在进一步的示例中,任务特定的头可以替代地被配置为识别被机器人的一部分部分遮挡的任何对象。在又一些示例中,任务特定的头可以替代地被配置为识别被机器人的与机器人的夹持器不同的特定部分部分遮挡的对象。
92.布置700可以另外包括附加的任务特定的头722和724。在一些示例中,附加的任务可以涉及识别相应的特定类型的对象。所述对象的类型中的一种或多种可以是机器人能够操纵以进入或离开区域的对象。机器人可以操纵对象来打开或关闭门。例如,任务特定的头722可以涉及识别门把手,而任务特定的头724可以涉及识别电梯按钮。在这样的示例中,任务特定的头722和724中的每一个可以例如从除了fpn 702之外的检测712获取输出。使用单独的机器人任务头来识别对机器人的操作特别重要的相对较小的对象在下述情况下可以是有益的:更通用的对象检测器可能不太可能足够熟练地处理各种不同大小和类型的对象。
93.在另一个示例中,附加的任务特定的头722和724可以各自指代机器人能够操纵环境的不同方式。例如,任务特定的头722可以指为机器人识别环境的可抓握区域,而任务特定的头724可以指为机器人识别环境的可擦拭区域。在这样的示例中,每个任务特定的头722和724可以与涉及机器人的不同末端执行器的任务相关联。例如,任务特定的头722可能涉及夹持器,而任务特定的头724可能涉及除尘器。在另外的示例中,任务特定的头722和724可以与机器人能够操纵环境的其他方式有关,例如分别通过识别可推动区域和可拉动区域。
94.在一些示例中,与布置700相关联的这组任务特定的头可以动态调整。例如,可以启动或停用各个任务特定的头,这可以允许节省资源。在进一步的示例中,各个任务特定的头也可以或替代地由机器人动态训练。
95.图8是根据示例实施例的方法的框图。在一些示例中,图8的方法800可以由控制系统(例如,机器人系统100的控制系统118)执行。在进一步的示例中,方法500可以由诸如(一个或多个)处理器102的一个或多个处理器执行,从而执行存储在诸如数据存储装置104的数据存储装置中的程序指令,例如程序指令106。方法800的执行可以涉及机器人设备,例如关于图1-4图示和描述的机器人设备。其他机器人设备也可以用于方法800的执行。在进一步的示例中,方法800的一些或所有框可以由远离机器人设备的控制系统执行。在又一些示例中,方法800的不同框可以由位于机器人设备上和/或远离机器人设备的不同控制系统执行。在另外的示例中,方法800的不同框可以由单独的机器人设备执行。
96.在框810,方法800包括从机器人设备上的相机接收表示机器人设备的环境的图像数据。在一些示例中,图像数据包括rgbd数据。可以从一个或多个传感器接收图像数据。在
进一步的示例中,可以在图像数据用作机器学习模型的输入之前处理图像数据(例如,通过将来自不同类型的多个不同感知传感器的传感器数据融合在一起)。
97.在框820,方法800进一步包括将经训练的密集网络应用于图像数据以生成一组特征值。经训练的密集网络可以已被训练来完成第一机器人视觉任务。在一些示例中,经训练的密集网络可以是fpn。在进一步的示例中,已使用来自一个或多个其他机器人设备的图像数据来训练所述经训练的密集网络,所述一个或多个其他机器人设备具有与所述机器人设备的相机相同或类似的相机。在一些示例中,第一机器人视觉任务可以涉及确定环境区域是否是机器人可操纵的。其他类型的机器人视觉任务也可以或替代地用作种子任务。
98.在框830,方法800另外包括将经训练的任务特定的头应用到该组特征值以生成任务特定的输出,从而完成第二机器人视觉任务。经训练的任务特定的头可以已被训练来基于先前从经训练的密集网络生成的特征值来完成第二机器人视觉任务。第二机器人视觉任务可以不同于第一机器人视觉任务。在一些示例中,经训练的密集网络比经训练的任务特定的头具有更多的网络层。在一些示例中,经训练的任务特定的头被应用于该组特征值和来自不同任务特定的头的不同任务特定的输出二者。
99.在框840,方法800进一步涉及基于为完成第二机器人视觉任务而生成的任务特定的输出来控制机器人设备在环境中操作。例如,可以控制机器人设备拾取或以其他方式操纵对象、进入或离开区域,或以其他方式与机器人设备的周围环境交互。
100.在另外的示例中,第一机器人视觉任务涉及确定第一类型的机器人操纵是否可在环境上执行,并且第二机器人视觉任务涉及确定第二类型的机器人操纵是否可在环境上执行。在这样的示例中,第一类型的机器人操纵可以涉及第一机器人操纵器,并且第二类型的机器人操纵可以涉及第二机器人操纵器。
101.在进一步的示例中,经训练的任务特定的头是与检测、分割和分类各个功能相对应的至少三个经训练的任务特定的头中的一个。在另外的示例中,针对经训练的任务特定的头的第二机器人视觉任务涉及确定对象是否被机器人设备的一部分部分遮挡。在进一步的示例中,针对经训练的任务特定的头的第二机器人视觉任务涉及确定对象是否在机器人设备的夹持器中。
102.在另外的示例中,经训练的任务特定的头是与识别多个相应的对象类型相对应的多个经训练的任务特定的头中的一个。所述多个相应的对象类型可以包括至少一种对象类型,所述至少一种对象类型是机器人可操纵的,以使机器人设备能够进入或离开环境中的区域。更具体地,所述至少一种对象类型可以是机器人可操纵的以打开或关闭环境中的门。例如,与一个任务特定的头相关联的一种对象类型可以是门把手,而与另一个任务特定的头相关联的另一种对象类型可以是电梯按钮。
103.在一些示例中,机器人设备的控制系统可以被配置为周期性地调整多个任务特定的头中的哪个是活动的。在另外的示例中,经训练的密集网络的层由机器人设备的gpu处理,而经训练的任务特定的头的层由机器人设备的cpu处理。本文描述的示例进一步可以涉及周期性地再训练经训练的任务特定的头而不改变训练密集网络。
104.三、结论
105.本公开在本技术中描述的特定实施例方面是不受限制的,这些特定实施例旨在作为各个方面的说明。可以在不背离其精神和范围的情况下做出许多修改和变化,这对于本
领域的技术人员来说是显而易见的。根据前面的描述,除了在此列举的那些之外,在本公开范围内的功能等效的方法和装置对于本领域技术人员来说将是显而易见的。这样的修改和变化旨在落入随附权利要求的范围内。
106.以上详细描述参考附图描述了所公开的系统、设备和方法的各种特征和功能。在图中,相似的符号通常标识相似的部件,除非上下文另有说明。本文和图中描述的示例实施例并不意味着限制。在不背离本文提出的主题的精神或范围的情况下,可以使用其他实施例,并且可以做出其他改变。将容易理解的是,如本文一般描述的和图中所示的,本公开的各方面可以被布置、替换、组合、分离和设计成各种不同的配置,所有这些在本文中都被明确地考虑。
107.表示信息处理的框可以对应于可以被配置为执行本文描述的方法或技术的特定逻辑功能的电路。替代地或附加地,表示信息处理的框可以对应于程序代码(包括相关数据)的一个模块、一段或一部分。程序代码可以包括一个或多个可由处理器执行的指令,用于实现方法或技术中的特定逻辑功能或动作。程序代码或相关数据可以存储在任何类型的计算机可读介质上,例如包括磁盘或硬盘驱动器的存储设备或其他存储介质。
108.计算机可读介质还可以包括非暂时性计算机可读介质,例如在短时间内存储数据的计算机可读介质,如寄存器存储器、处理器高速缓存和随机存取存储器(ram)。计算机可读介质还可以包括存储程序代码或数据较长时间段的非暂时性计算机可读介质,例如二级或永续性长期储存体,如只读存储器(rom)、光盘或磁盘、光盘只读存储器(cd-rom),举例来说。计算机可读介质也可以是任何其他易失性或非易失性存储系统。例如,计算机可读介质可以被认为是计算机可读存储介质或有形存储设备。
109.此外,表示一个或多个信息传输的框可以对应于同一物理设备中的软件模块或硬件模块之间的信息传输。然而,其他信息传输可以在不同物理设备中的软件模块或硬件模块之间。
110.图中所示的特定布置不应被视为限制性的。应当理解,其他实施例可以包括更多或更少的给定图中所示的每个元件。此外,一些图示的元件可以组合或省略。此外,示例实施例可以包括图中未示出的元件。
111.尽管本文已经公开了各个方面和实施例,但其他方面和实施例对于本领域技术人员来说将是显而易见的。本文所公开的各个方面和实施例是出于说明的目的而不旨在限制,真实范围由随附权利要求指示。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献