欢迎光临小豌豆知识网!
当前位置:首页 > 物理技术 > 调节控制> 用于购物应用的用户辅助机器人独创技术54448字

用于购物应用的用户辅助机器人

2021-01-31 19:01:37

用于购物应用的用户辅助机器人

  交叉引用

  本申请要求于2018年1月17日提交的美国专利申请序列号15/873,166的权益,该美国专利申请通过引用被整体并入。

  技术领域

  本说明书总体上涉及机器人系统和方法,并且更具体地,涉及用于响应于针对物品的处置指令集和保持室的图像数据而自动地将物品收集并放置在保持室中的机器人系统和方法。

  背景技术

  购物通常包括在商店的过道来回走动的同时使用购物车或购物篮收集众多物品并且将要购买的物品放置在购物车或购物篮中。另外,商店通常试图将尽可能多的物品堆放在过道中,以减少商店的总体建筑面积,从而最终保持产品价格低。作为结果,出现了几个问题。对于老年或残障购物者,许多物品不是可触及的或太危险以至于不能收集并放置在他们的购物车或购物篮中。类似地,由于许多购物者转变为更现代的购物方法,诸如经由在线商店购买物品,因此需要优化在具有许多过道和甚至更多产品的商店中的购物体验。

  因此,需要改进的用于辅助购物者进行他们在商店中的物品收集以进行购买的系统和方法。

  发明内容

  在一个实施例中,一种机器人系统包括电子控制单元和被配置为运输一个或多个物品的保持室。电子控制单元包括处理器和非暂态计算机可读存储器,该非暂态计算机可读存储器包括机器可读指令集。机器人系统还包括各自通信地耦接到电子控制单元的相机和机器人臂,该相机用于捕获保持室的环境的图像数据。机器可读指令集使处理器从相机接收保持室的环境的图像数据、确定针对由机器人臂收集的物品的处置指令集、基于保持室的环境的图像数据和处置指令集来确定保持室内的用于放置由机器人臂收集的物品的位置、以及操纵机器人臂以在所确定的位置处将物品放置在保持室内。

  在另一实施例中,一种机器人系统包括电子控制单元和被配置为运输一个或多个物品的保持室。电子控制单元包括处理器和非暂态计算机可读存储器,该非暂态计算机可读存储器包括机器可读指令集。机器人系统还包括通信地耦接到电子控制单元的用于捕获保持室的环境的图像数据的相机以及通信地耦接到电子控制单元并且可旋转地耦接到保持室的机器人臂。此外,机器人系统包括耦接到机器人臂和保持室的机动化基座。机器可读指令集使处理器从相机接收保持室的环境的图像数据、从相机接收要收集的物品的图像数据、基于从相机接收的物品的图像数据来确定针对物品的处置指令集、基于保持室的环境的图像数据和处置指令集来确定保持室内的用于放置由机器人臂收集的物品的位置、以及操纵机器人臂以在所确定的位置处将物品放置在保持室内。

  在另一实施例中,一种用于存储物品的方法包括从相机接收保持室的环境的图像数据以及确定针对由机器人臂收集的物品的处置指令集。该方法还包括基于保持室的环境的图像数据和处置指令集来确定保持室内的用于放置由机器人臂收集的物品的位置以及操纵机器人臂以在所确定的位置处将物品放置在保持室内。

  基于以下详细描述结合附图,将更充分地理解由本文描述的实施例提供的这些特征和附加特征。

  附图说明

  附图中阐述的实施例本质上是说明性和示例性的,并不旨在限制由权利要求限定的主题。当结合以下附图阅读时,可以理解以下对说明性实施例的详细描述,其中类似的结构用类似的附图标记指示,并且其中:

  图1示意性地描绘了根据本文示出和描述的一个或多个实施例的机器人系统的部件;

  图2是描绘了根据本文示出和描述的一个或多个实施例的用于购物应用的机器人系统的方法的流程图;

  图3是图示了根据本文示出和描述的一个或多个实施例的包括具有保持室的典型购物车的机器人的视图,其中机器人臂可旋转地耦接到保持室;

  图4A是图示了根据本文示出和描述的一个或多个实施例的包括多个杂货袋的保持室的视图;

  图4B是图示了根据本文示出和描述的一个或多个实施例的包括多个可折叠杂货袋的另一保持室的视图;

  图5是图示了根据本文示出和描述的一个或多个实施例的其中存储有多个物品的机器人的保持室的图像数据的视图;

  图6是图示了根据本文示出和描述的一个或多个实施例的包括用于保持特定分类的物品的四个预分段部分的保持室的视图;以及

  图7是图示了根据本文示出和描述的一个或多个实施例的配置有机动化滑板车基座的另一机器人的视图。

  具体实施方式

  本文公开的实施例包括用于购物应用的机器人系统和方法。总体上参考附图,机器人系统和方法包括相机、机器人臂和保持容纳部。机器可读指令集使处理器至少从相机接收保持室的环境的图像数据、确定针对由机器人臂收集的物品的处置指令集、基于保持室的环境的图像数据和处置指令集来确定保持室内的用于放置由机器人臂收集的物品的位置、以及操纵机器人臂以在所确定的位置处将物品定位在保持室内。本文将具体参考对应附图作为示例而不是限制性实施例来更详细地描述用于购物应用的各种机器人系统和方法。

  现在转到附图,其中类似的附图标记指代类似的结构,并且特别是转到图1,描绘了用于购物应用的机器人系统100。机器人系统100包括机器人110。机器人110包括通信路径120、包括处理器132和非暂态计算机可读存储器134的电子控制单元130、显示器136、运动传感器138、输入设备140、扬声器142、麦克风144、一个或多个相机146、条形码扫描仪148、机器人臂150、温度传感器154、重量传感器156、压力传感器158、LIDAR系统160以及网络接口硬件170。机器人110借助网络接口硬件170通信地耦接到网络180。机器人110的部件可以物理耦接在一起,或者可以通过通信路径120和/或网络180通信地并且可操作地耦接。下面,将详细描述机器人110的各种部件及其交互。

  通信路径120可以由诸如例如导线、导电迹线、光波导等之类的能够传输信号的任何介质形成。通信路径120也可以是指电磁辐射及其对应的电磁波穿越的区域。此外,通信路径120可以由能够传输信号的介质的组合形成。在一个实施例中,通信路径120包括协作以允许电数据信号传输到诸如处理器、存储器、传感器、输入设备、输出设备和通信设备之类的部件的导电迹线、导线、连接器和总线的组合。因此,通信路径120可以包括总线。另外,要注意,术语“信号”意指能够通过介质传播的诸如DC、AC、正弦波、三角波、方波、振动等之类的波形(例如,电、光、磁、机械或电磁)。通信路径120将机器人110的各种部件通信地耦接。如本文使用的,术语“通信地耦接”意指所耦接的部件能够彼此交换信号,诸如例如经由导电介质交换电信号、经由空气交换电磁信号、经由光波导交换光信号等。

  仍参考图1,电子控制单元130可以是包括处理器132和非暂态计算机可读存储器134的任何设备或部件的组合。机器人110的处理器132可以是能够执行存储在非暂态计算机可读存储器134中的机器可读指令集的任何设备。因此,处理器132可以是电子控制器、集成电路、微芯片、计算机或任何其它计算设备。处理器132通过通信路径120通信地耦接到机器人110的其它部件。因此,通信路径120可以将任何数量的处理器132彼此通信地耦接,并且允许耦接到通信路径120的部件在分布式计算环境中操作。具体地,部件中的每一个可以作为可以发送和/或接收数据的节点操作。虽然图1中描绘的实施例包括单个处理器132,但是其它实施例可以包括多于一个处理器132。

  机器人110的非暂态计算机可读存储器134耦接到通信路径120并且通信地耦接到处理器132。非暂态计算机可读存储器134可以包括RAM、ROM、闪速存储器、硬盘驱动器或能够存储机器可读指令使得机器可读指令能够由处理器132访问和执行的任何非暂态存储器设备。机器可读指令集可以包括用可以被编译或汇编成机器可读指令并被存储在非暂态计算机可读存储器134中的任何一代(例如,1GL、2GL、3GL、4GL或5GL)的任何编程语言编写的(一个或多个)算法或逻辑,编程语言诸如例如可以由处理器132直接执行的机器语言或者汇编语言、面向对象的编程(OOP)、脚本语言、微代码等。可替代地,机器可读指令集可以用诸如经由现场可编程门阵列(FPGA)配置或专用集成电路(ASIC)或其等同物实现的逻辑之类的硬件描述语言(HDL)来编写。因此,本文描述的功能可以用任何常规计算机编程语言来实现,作为预编程的硬件元件,或者作为硬件和软件部件的组合。虽然图1中描绘的实施例包括单个非暂态计算机可读存储器134,但是其它实施例可以包括多于一个存储器模块。

  机器人110包括用于提供视觉输出的显示器136,视觉输出诸如例如显示购物清单、物品的位置、优惠券、广告、或其它各种状态、与机器人110相关的控制或通信。显示器136耦接到通信路径120。因此,通信路径120将显示器136通信地耦接到机器人110的其它模块。显示器136可以包括诸如例如阴极射线管、发光二极管、液晶显示器、等离子体显示器等之类的能够传输光输出的任何介质。此外,显示器136可以是触摸屏,该触摸屏除了提供光学信息之外还检测在显示器136的表面上或与显示器136相邻的触觉输入的存在和位置。因此,每个显示器136可以直接在由显示器136提供的光学输出上接收机械输入。另外,显示器136可以是诸如智能电话、平板电脑、膝上型电脑或其它电子设备之类的便携式个人设备的显示器136。此外,显示器136可以被集成在保持室152(例如,图3的保持室315)中。在其中保持室152是购物车的保持室的实施例中,显示器136可以耦接到用户可看见和可访问的购物车的把手或另一部分。另外,要注意,显示器136可以包括一个或多个处理器以及一个或多个非暂态计算机可读存储器。尽管在图1中描绘的实施例中机器人110包括显示器136,但是在其它实施例中机器人110可以不包括显示器136。

  仍然参考图1,运动传感器138可以是能够检测移动并且生成指示检测到的运动的输出信号的任何设备或部件的组合。运动传感器138可以包括光学传感器、声学传感器、微波传感器或其它电磁传感器以及发送器,以生成能够通过传感器检测的对应信号。运动传感器138接近度中的光学、声学、微波或其它电磁场的变化由通信耦接的电子控制单元130或用于信号处理的单独的控制器来解释。一些示例运动传感器138包括无源或有源红外(AIR/PIR)、微波、超声、断层运动检测、摄像机系统和软件以及姿势检测器。

  在一些实施例中,运动传感器138是通过检测黑体辐射并跟踪温度分布的改变而对温度变化敏感的基于无源红外的运动传感器系统。在一些实施例中,运动传感器138是包括红外发射器的基于有源红外的运动传感器系统的部分。在一些实施例中,有源红外发射器可以投射红外光的图案,使得检测器可以绘制或跟踪图案中的变化。示例系统可以包括与互补金属氧化物半导体(CMOS)传感器结合的红外激光投影仪,诸如在华盛顿州雷德蒙德的微软公司所销售的Kinect(TM)光学传感器中使用的。在一些实施例中,运动传感器138在环境光条件下捕获三维(3D)的视频数据,并且适于确定物体的深度和移动。这样的系统也可以用于实现姿势检测。姿势检测可以包括使用IR检测器或光电检测器以及红外照明元件连同电子控制单元130以用于检测手部运动和姿势。在一些实施例中,姿势可以对应于对机器人110的命令。下面将描述姿势控制的示例。

  仍参考图1,输入设备140耦接到通信路径120,并且通信地耦接到处理器132。输入设备140可以是诸如例如按钮、杆、开关、旋钮、触敏界面、麦克风等之类的能够将用户接触变换成可以在通信路径120上传输的数据信号的任何设备。在一些实施例中,输入设备140包括用于激活转向信号的杆、电源按钮、音量按钮、激活按钮、滚动按钮等。在一些实施例中,输入设备140包括压力传感器、触敏区域、压力带等。应该理解,一些实施例可以不包括输入设备140,或者可以包括多于一个输入设备140。

  扬声器142(即,音频输出设备)耦接到通信路径120,并且通信地耦接到处理器132。扬声器142将作为来自电子控制单元130的处理器132的信号的音频消息数据变换成产生声音的机械振动。例如,扬声器142可以用于从机器人110到用户的通信。然而,应该理解,在其它实施例中,机器人110可以不包括扬声器142。

  麦克风144耦接到通信路径120,并且通信地耦接到处理器132。麦克风144可以是能够将与声音相关联的机械振动变换成指示声音的电信号的任何设备。麦克风144可以用于捕获对机器人110的口头命令。应该理解,一些实施例可以不包括麦克风144。

  仍参考图1,一个或多个相机146耦接到通信路径120,并且通信地耦接到处理器132。一个或多个相机146可以是具有能够检测紫外波长带、可见光波长带或红外波长带中的辐射的感测设备(例如,像素)的阵列的任何设备。一个或多个相机146可以具有任何分辨率。一个或多个相机146可以是全向相机或全景相机。在一些实施例中,诸如反射镜、鱼眼透镜或任何其它类型的透镜之类的一个或多个光学部件可以光学耦接到一个或多个相机146中的每一个。在本文描述的实施例中,一个或多个相机146可以将机器人110周围的环境和/或保持室152及其内存储的任何物品的图像数据提供给电子控制单元130。例如,一个或多个相机146可以被定位在机器人臂150上,以在导航空间、捕获物品和保持室152的图像数据或者从用户接收视觉命令方面充当机器人臂150的眼睛。在一些实施例中,一个或多个相机146可以被定位在保持室152上的各种位置处,用于查看其内的内容物或周围环境。一个或多个相机146还可以针对其中机器人110可以自主地或半自主地操作的实施例提供导航支持。

  在操作中,一个或多个相机146捕获图像数据并且将图像数据传送到电子控制单元130。图像数据可以被处理器132接收,处理器132可以使用一种或多种图像处理算法来处理图像数据。任何已知的或尚未开发的视频和图像处理算法都可以被应用于图像数据,以便辨识物品、确定相对于保持容纳部和其它物品或者甚至更一般地用于在机器人臂150和/或机器人110的导航期间使用的环境物体的物品位置。示例视频和图像处理算法包括但不限于基于内核的跟踪(均值漂移跟踪)和轮廓处理算法。通常,视频和图像处理算法分析可以从图像数据的顺序帧或个体帧中检测物体和移动。一种或多种物体识别算法可以被应用于图像数据,以提取物体并且确定它们相对于彼此的位置。任何已知的或尚未开发的物体识别算法可以用于从图像数据中提取物体或甚至光学字符和图像。示例物体识别算法包括但不限于尺度不变特征变换(“SIFT”)、加速鲁棒特征(“SURF”)和边缘检测算法。

  在一些实施例中,机器人110可以包括通信地耦接到电子控制单元130的条形码扫描仪148。条形码扫描仪148可以是能够将线性、2D、图画或其它的条形码转换成电子信号以用于由电子控制单元130或处理器132进行解码的任何设备。通常,条形码扫描仪148发射一定波长的光并且检测反射以确定条形码的轮廓,然后条形码被解码。一些条形码扫描仪可以包括使用从一个或多个相机146捕获的图像数据,该图像数据是使用图像处理技术来处理的。在一些实施例中,条形码扫描仪148或一个或多个相机146将指示物品的条形码的信号传送到电子控制单元130,然后电子控制单元130确定辨识产品并将该物品添加到非暂态计算机可读存储器134中的电子结账清单中。电子结帐清单可以被传送到收款机或用于结帐的其它装置,使得在结帐时不需要取出、扫描和更换保持室152中的每个物品。

  在一些实施例中,对于机器人臂150而言,可能有必要使用条形码来确定来自各种产品的架子的特定产品,以便从架子或存储位置正确地收集想要的产品。然而,在一些实施例中,可以通过电子控制单元130分析由一个或多个相机146捕获的图像数据来确定物品的身份。随后,可以通过访问本地存储的数据库或通过网络接口硬件170连接到远程数据库来确定关于物品的信息,诸如价格、库存量以及甚至针对物品的处置指令集。另外,用条形码扫描仪148扫描条形码可以允许机器人110在物品一被从存储位置选择并放置在保持容纳部中时就将物品添加到结帐清单。

  仍参考图1,机器人臂150耦接到通信路径120,并且通信地耦接到电子控制单元130。机器人臂150可以包括通过伺服机构、致动器或形成运动链的其它类型的接头链接在一起的多个机械部段。机器人臂150的一端可以包括用于收集物品的端部执行器(effector)。机器人臂150的相对端可以被安装到保持室152(参见例如图3)。通信地耦接到机器人臂150的电子控制单元130向机器人臂150提供信号形式的命令以操纵其移动。例如,使用来自一个或多个相机146的图像数据的电子控制单元130可以向机器人臂150提供信号,以将端部执行器导航到接近物品、收集物品、然后将机器人臂150和端部执行器导航到接近保持容纳部中的用于放置物品的位置。机器人臂150旨在模拟与执行相似活动的人类臂部和手部的动作相似的动作。

  在实施例中,机器人110包括可操作地耦接到保持室152的机器人臂150。在一些实施例中,保持室152可以是具有轮子的典型购物车的开放式存储室(例如,如图3中描绘的),该购物车还可以包括用于推动的把手。然而,在一些实施例中,保持室152可以采取其它形式,但是维持存储由机器人臂150收集的物品的能力。保持室152可以被配置为单个开放式容纳部,或者可以可选地具有被配置在用于放置物品的开放式容纳部空间内的分隔件。例如,保持室152可以具有被专门配置用于保持诸如冷藏物品之类的温度控制物品的部段,以便在运输期间维持其温度。在一个这样的实施例中,保持室152可以包括隔热部分。另外,保持室152可以包括用于存储小物品的架子或槽,否则这些小物品在较大的较笨重的物品之间可能会丢失。此外,架子或槽可以被配置用于存储和保护易碎物品,诸如鸡蛋、面包、农产品等。保持室152还可以被配置用于将家用产品与消耗品分开。通常,保持室152可以被配置为使得特定物品可以与类似物品一起具有指定的存储位置。在其它实施例中,保持室152可以包括可移动的存储箱,或者甚至被配置有购物袋,以减少在结帐时对杂货袋的需求。

  再次参考图1,机器人110还可以包括各种传感器,包括但不限于温度传感器154、重量传感器156和压力传感器158。温度传感器154可以是能够输出指示由温度传感器154感测的温度的温度信号的任何设备。作为非限制性示例,温度传感器154可以包括热偶、电阻型温度设备、红外传感器、双金属设备、状态改变传感器、温度计、硅二极管传感器等。重量传感器156可以是能够输出指示诸如由机器人臂150收集的杂货物品的重量之类的物体的重量的重量信号的任何设备。另外,压力传感器158可以是能够输出指示诸如由机器人臂150的端部执行器施加在物品上的压力的量之类的施加到物体的压力的量的压力信号的任何设备。压力传感器158可以用于校准端部执行器的抓握强度,以便确保物品被牢固地保持但是不会被机器人臂150损坏。

  在一些实施例中,机器人110可以包括LIDAR系统160。LIDAR系统160可以是能够检测和/或绘制想要被导航的环境的任何系统。在这样的实施例中,LIDAR系统160通信地耦接到通信路径120和电子控制单元130。LIDAR系统160或光检测和测距系统使用脉冲激光来测量从LIDAR系统160到反射脉冲激光的物体的距离。LIDAR系统160可以由具有较少移动零件或没有移动零件的固态设备制成,包括被配置为光学相控阵列设备的那些,其中其类似棱镜的操作允许宽视场而没有与传统旋转LIDAR系统160相关联的重量和大小复杂度。LIDAR系统160特别适于测量飞行时间,该飞行时间又可以与在LIDAR系统160的视场内的物体的距离测量相关。通过计算由LIDAR系统160发射的各种波长的脉冲激光的返回时间的差异,可以生成目标或环境的数字3D表示。在一种形式中,由LIDAR系统160发射的脉冲激光可以在电磁谱的红外范围中或附近操作,其中一个示例具有约905纳米的发射的辐射。诸如LIDAR系统160之类的传感器可以由机器人110用来提供用于识别机器人110附近的物体的详细3D空间信息,以及这种信息在用于绘制地图、导航和自主操作的系统的服务中的使用,尤其是当与诸如GPS或基于陀螺仪的惯性导航单元(INU,未示出)或相关的航位推算系统之类的地理参考设备以及非暂态计算机可读存储器134(其本身或电子控制单元130的存储器)结合使用时。一些实施例可以包括不同于或附加于LIDAR系统160的接近度传感器系统。

  在一些实施例中,LIDAR系统160可以用来自一个或多个相机146的图像数据进行内插,以生成或完善机器人110周围的环境的模拟模型。在实施例中,可以从图像数据独立地生成模拟模型。另外,诸如雷达、惯性测量单元(IMU)等之类的其它传感器系统和地图绘制系统可以被实现为将附加数据提供给电子控制单元130以用于处理图像数据来确定机器人110的环境中的物体和光源。

  网络接口硬件170耦接到通信路径120,并且通信地耦接到电子控制单元130。网络接口硬件170可以是能够经由网络180传输和/或接收数据的任何设备。因此,网络接口硬件170可以包括用于发送和/或接收任何有线或无线通信的通信收发器。例如,网络接口硬件170可以包括天线、调制解调器、LAN端口、Wi-Fi卡、WiMax卡、移动通信硬件、近场通信硬件、卫星通信硬件以及/或者用于与其它网络和/或设备通信的任何有线或无线硬件。在一个实施例中,网络接口硬件170包括被配置为根据蓝牙无线通信协议进行操作的硬件。在另一实施例中,网络接口硬件170可以包括用于向网络180发送和从网络180接收蓝牙通信的蓝牙发送/接收模块。网络接口硬件170还可以包括被配置为询问和读取RFID标签的射频识别(“RFID”)读取器。

  在一些实施例中,机器人110可以通信地耦接到网络180。在一些实施例中,网络180是个域网,其利用蓝牙技术将机器人110与杂货库存和管理服务器、机器人控制服务器系统、用户的个人设备或任何其它网络可连接设备通信地耦接。在其它实施例中,网络180可以包括一个或多个计算机网络(例如,个域网、局域网或广域网)、蜂窝网络、卫星网络和/或全球定位系统及其组合。因此,机器人110可以经由布线、经由广域网、经由局域网、经由个域网、经由蜂窝网络、经由卫星网络等通信地耦接到网络180。合适的局域网可以包括有线以太网和/或诸如例如无线保真(Wi-Fi)之类的无线技术。合适的个域网可以包括诸如例如IrDA、蓝牙、无线USB、Z-Wave、ZigBee和/或其它近场通信协议之类的无线技术。合适的个域网可以类似地包括诸如例如USB和FireWire之类的有线计算机总线。合适的蜂窝网络包括但不限于诸如LTE、WiMAX、UMTS、CDMA和GSM之类的技术。

  现在,以下部分将描述机器人110的操作和用于购物应用的方法的实施例。在一些实施例中,机器人110包括具有处理器132和非暂态计算机可读存储器134的电子控制单元130、一个或多个相机146以及通信地并且可操作地耦接到电子控制单元130的机器人臂150。机器人110还包括保持室152。在一些实施例中,机器人110包括如本文描述的附加传感器和系统。

  现在参考图2,描绘了用于购物应用的方法的流程图200。图2中描绘的流程图200是存储在非暂态计算机可读存储器134中并由电子控制单元130的处理器132执行的机器可读指令集的表示。可以在各种时间和响应于来自通信地耦接到电子控制单元130的传感器的信号而执行图2中的流程图200的处理。可以实现附加的或替代的步骤,以在不偏离本公开的范围的情况下实现辅助用户进行购物应用的相同结果。

  尽管图2中描绘的流程图200的关注点涉及将物品收集并放置在保持室152中,但是机器人110可以包括附加的操作步骤,这些附加的操作步骤将连同流程图200中强调的具体步骤一起被讨论。在步骤210中,机器人110可以从通信地耦接到电子控制单元130的一个或多个相机146接收保持室152的图像数据。一个或多个相机146可以被设置在机器人臂150、保持室152或至少被配置为查看保持室152的内容物的另一装置上。保持室152内的内容物的图像数据描绘了保持室152中当前有哪些物品、保持室152中的物品的位置、保持室152的结构和其它相关属性。保持室152的图像数据可以被连续更新,以考虑物品的添加、物品的移除以及物品在保持室152内的任何移位。在一些实施例中,在机器人臂150从存储位置收集物品之前,电子控制单元130可以接收更新的保持室152的图像数据。

  在步骤220中,机器人110或者更具体地机器人110的电子控制单元130确定或接收针对物品的处置指令集。在一些实施例中,电子控制单元130可以从通信地连接的数据库接收针对物品的处置指令集。在这样的情况下,机器人110首先需要辨识物品,并且从连接的数据库请求处置指令集或在非暂态计算机可读存储器134中查找处置指令集。在任一种情况下,可以通过由一个或多个相机146捕获的图像数据或者通过用条形码扫描仪148扫描物品的条形码来辨识物品。在一些实施例中,可以从存储物品的位置辨识物品。在一些实施例中,物品由机器人臂150收集(例如,响应于从用户接收用于用机器人臂150抓取或取回物品的指令)或者在机器人110的环境内并可由机器人臂150触及。

  处置指令集可以对应于物品的属性,诸如物品的重量、体积、尺寸、特定于物品包装的机械细节(例如,材料成分、抗压强度、抗冲击性、防水性等)。在一些实施例中,机器人110可以利用物品的属性来确定用于将物品物理地存储在其它物品的上面、下面或旁边的一个或多个处置指令。例如,针对一盒鸡蛋的处置指令可以规定具有大于包装的抗压强度的重量的物品都不能被放置在这盒鸡蛋的顶部。类似地,通常具有大体积的物品(例如,具有与12包纸巾的体积相似的体积的物品)可以包括要求物品被存储在保持室的底部的处置指令。

  处置指令集还可以对应于其它的物品的属性,诸如分类,例如物品是食物、饮料、家用物品、工具还是诸如此类的。物品的每个分类可以限定构成针对物品的处置指令集的一个或多个处置指令。即,分类可以包括诸如处置或存储温度、物品是生的还是熟的以使得它仅与类似的物品一起被存储、以及物品是否应该保持远离任何其它特定物品之类的一个或多个处置指令。例如,处置指令可以规定生肉不应该被存储或放置在熟的或包装好的物品附近。类似地,针对家用分类货物的处置指令可以包括规定它应该被远离于被分类为食品或饮料的所有物品存储的处置指令。可以改善保持室152中的物品的处置和存储的其它处置指令可以是可由本领域技术人员辨别的。

  在一些实施例中,处置指令集可以由机器人110基于对物品的视觉检查和/或与物品交互来确定。例如,在一些实施例中,一个或多个相机146可以收集物品的图像数据。图像数据可以由电子控制单元130处理,以确定物品的物理特性,诸如物品尺寸、体积等。在一些实施例中,机器人110可以用端部执行器和各种传感器与物品交互,以确定产品的附加属性。例如,端部执行器可以使用被设置或集成在端部执行器中的温度传感器154来收集关于物品温度的数据。类似地,端部执行器可以被配置为使用压力传感器158来确定物品的抗压强度,以及甚至使用重量传感器156来确定物品的重量。机器人110可以被配置有附加的传感器和系统,以确定可能影响保持室152中的物品的存储的、不能从数据库获得或未知的关于物品的其它属性。

  一旦机器人110在步骤210期间已经接收到保持室152的图像数据并且在步骤220期间确定或接收到针对由机器人臂150收集的物品的处置指令集,则机器人110在步骤230中将确定保持室152内的用于放置由机器人臂150收集的物品的位置。机器人110可以通过各种方法来确定用于放置由机器人臂150收集的物品的位置。在一些实施例中,机器人110可以至少基于保持室152的图像数据和处置指令集来确定用于放置由机器人臂收集的物品的位置。从图像数据,电子控制单元130可以确定保持室152的配置和尺寸、当前在保持室152中的任何物品的存在、保持室152中的未被物品占用的部分、以及保持室152中的被物品占用的部分。例如,为了确定以上提到的物品和部分,图像数据可以由电子控制单元130或独立的图像处理单元来处理。在一些实施例中,图像处理可以包括应用诸如图像分割、深度映射、显著性、物体识别、检测和辨识等之类的算法。图像处理或同样已知的计算机视觉可以产生标记的图像数据。标记的图像数据可以包括像素级数据,该像素级数据包括物品的标识和/或相关联的处置指令集。在一些实施例中,电子控制单元130可以利用通过坐标系指定的面积和体积来从图像数据生成保持室152的数学表示(例如,3D模型)。面积和体积还可以被标记为特定物品、物品的组或保持室152内的空置空间。另外,每个面积和体积可以包括对针对每个物品的处置指令集的引用。

  基于图像数据,电子控制单元130然后可以确定保持室152中的其中可以物理地放置由机器人臂150收集的物品的一个或多个部分。例如,电子控制单元130可以接收或者以其它方式确定收集到的物品的尺寸,并且确定在保持室152内物品将物理地适合的地方。然而,同时地或至少在确定保持室152内的用于物品的位置之前,电子控制单元130可以将针对由机器人臂150收集的物品的处置指令集与保持室152中的将与由机器人臂150收集的物品相邻和/或在其下方的一个或多个物品的处置指令集进行比较。在一些实施例中,机器人110基于要被放置在保持室152中的物品的处置指令集与针对已经在保持室152中的物品的处置指令集的比较来确定要放置由机器人臂150收集的物品的位置。在一些实施例中,处置指令集提供了与物品相对于当前在保持室152内的其它物品或甚至未来物品的放置和存储相关的规则和参数的集合。

  如上所述,当将新物品放置在保持室152中时,电子控制单元130可以基于物品将物理地适合的地方、针对新物品的处置指令集、和/或针对已经在保持室152中的物品中的每一个的处置指令集来确定保持室152中的由机器人臂150收集的物品要被放置的位置。例如,如果在保持室152中存在一盒鸡蛋并且处置指令集包括禁止将任何东西放置在这盒鸡蛋的顶部的规则,则电子控制单元130将把鸡蛋上方的空间辨识为其中不能放置要被放置在保持室中的新物品的位置。然而,这样的规则可以被进一步完善为规定超过一定重量的产品不能被放置在这盒鸡蛋的顶部。在这种情况下,电子控制单元130可以向这盒鸡蛋上方的空间分配重量限制。

  在一些实施例中,例如,电子控制单元130可以从图像数据确定在保持室152内物品可以被物理地放置的一个或多个位置。然后,电子控制单元130可以将与所辨识的一个或多个位置相邻的物品的处置指令集与针对要被放置在保持室152中的物品的处置指令集进行比较。更具体地,如果一加仑牛奶被确定为物理地适合在一盒鸡蛋的顶部或者在保持室的底部的一桶冰淇淋旁边,但是针对这盒鸡蛋的处置指令集包括重量限制,这一加仑牛奶超过了该重量限制,并且基于针对这一加仑牛奶和这桶冰淇淋二者的处置指令集的比较,没有对于将这一加仑牛奶放置在保持室的底部的这桶冰淇淋旁边的限制,则这一加仑牛奶将被放置在保持室的底部的这桶冰淇淋旁边。

  作为另一示例,一包生汉堡包可以在保持容纳部中并且与这包生汉堡包相关联的处置指令集可以包括规定农产品或任何熟食都不能被与这包生汉堡包相邻地放置或者被放置在这包生汉堡包上的规则。例如,电子控制单元130可以利用禁止放置农产品或任何熟食的限制来标记限定如从图像数据辨识的与这包生汉堡包相邻的面积和/或体积的平面。作为结果,未能符合基于针对这包生汉堡包的处置指令集的限制的未来物品将不被与这包生汉堡包相邻地放置。

  在一些实施例中,处置指令集可以包括关于最佳存储温度的规则和参数。如此,在一些实施例中,在所确定的温度范围内的物品可以被定位成彼此靠近,以便维持或减少它们的温度升高或降低。例如,牛奶、冰淇淋和冷冻的比萨可以被定位成彼此相邻以维持其低存储温度,而诸如烤鸡和新鲜意大利面之类的准备好的餐食可以同样地被定位成彼此相邻以维持其温暖温度。另外,在一些实施例中,保持室152可以包括被设计为存储温暖、冷和/或室温的物品的部分。例如,可以提供将冷的物品与较温暖的环境温度或被放置在同一保持室152中的温暖物品隔热的冷藏部。同样,可以提供保持室152的衬有箔的隔室或类似隔热的部分来将温暖物品保温。用于将物品保温的冷藏部或隔热部分可以是无源或有源的。在一些实施例中,冷藏部可以包括主动地对冷藏部的环境进行制冷的冷凝器。冷藏部还可以包括被定位成被动地对冷藏部的环境进行制冷的冷包或干冰。类似地,用于将物品保温的隔热部分可以包括被配置为使隔热部分的环境温暖的热源。

  一旦电子控制单元130在步骤230中确定保持室152内的用于放置由机器人臂150收集的物品的位置,则电子控制单元130在步骤240中可以生成信号以操纵机器人臂150来将物品放置在所确定的位置。电子控制单元130可以通信地耦接到将机器人臂150的多个机械部段一起链接在运动链中的伺服机构、致动器或其它机电设备。电子控制单元130可以将信号直接提供给机电设备中的每一个,或者在一些实施例中,将信号提供给通信地耦接到机器人臂150以用于控制机器人臂150的操作的机器人电机驱动和控制系统。

  当新物品被放置在保持室152内时,保持室152的收集物品库存清单可以被更新。收集物品库存清单可以被存储在电子控制单元130的非暂态计算机可读存储器134或经由网络180连接的设备中。收集物品库存清单可以包括不止用于被添加到保持室152中的物品的标识符。收集物品库存清单还可以包括与物品在保持室152内的位置相关的参数和与物品相关联的处置指令集。例如,在一些实施例中,可以用笛卡尔坐标系以电子方式限定保持室152和每个物品。通过用笛卡尔坐标系或类似绘图系统限定保持室152和每个物品,电子控制单元130能够限定保持室152中的被物品占用或者没有物品的体积或部分。另外,利用来自收集物品库存清单的信息,电子控制器可以提高辨识物品并确定它们在保持室152中的位置的准确性。

  现在参考图3至图7,描绘了机器人和各种部件的几个示例实施例。图3描绘了基于具有保持室152的典型购物车315的实施例,其中机器人臂150可旋转地耦接到保持室152。另外,一个或多个相机146被设置在机器人臂150上,并且显示器136耦接到购物车315。在一些实施例中,购物车315可以由用户手动地在购物中心到处导航。如本文公开的,使用由一个或多个相机146捕获的图像数据来调动(maneuver)的机器人臂150可以从存储位置收集物品并且将它们放置在保持室152中。显示器136可以可选地向用户提供各种信息和控制。例如,显示器136可以提供图形用户界面(GUI),用户可以在GUI中输入或上传包含一个或多个物品的购物清单。在一些实施例中,显示器136然后可以提供商店的地图并且叠加购物清单上的物品的位置以及可选地每个物品之间的路线,因此用户可以导航到购物清单上的物品中的每一个。当机器人110接近购物清单上的物品的位置时,显示器136可以向用户提供用于定位购物车315的特定导航指令,因此机器人臂150可以调动以收集物品并在如本文所述的基于处置指令而确定的位置处将物品放置在保持室152中。在其它实施例中,电子控制单元130可以基于针对购物清单的物品中的每一个的处置指令集来确定用于收集购物清单中的物品的顺序,并且向用户提供建议的顺序。

  在一些实施例中,显示器136可以为用户提供接口以直接地控制机器人臂150的功能。例如,用户可以手动操作机器人臂150以收集来自不可由用户触及的位置的物品或者太棘手或太沉重而不能移动的物品。一旦机器人臂150收集到物品,它就可以自动将物品存储在保持室152中。此外,在一些实施例中,在没有输入购物清单的情况下,在用户导航购物车315和机器人臂150经过各种物品时,机器人臂150可以从用户接收关于要收集什么物品的指令。在一些实施例中,相机146可以捕获架子上或存储位置中的物品的图像数据,并且通过显示器136或者诸如智能电话或膝上型电脑之类的连接网络180的设备与用户共享那些图像。然后,用户可以虚拟地选择图像数据中描绘的物品,并且机器人臂150可以自动调动以收集物品并将物品放置在保持室152中。

  在一些实施例中,机器人臂150还可以基于由用户做出的姿势来接收指令。姿势可以是来自想要向机器人110提供命令的用户的身体移动。电子控制单元可以分析姿势的图像数据以确定姿势的含义。例如,一个或多个相机146或者姿势检测器可以检测到用户指向要收集的物品。基于指向姿势,电子控制单元可以响应于该姿势而生成用于控制和调动机器人臂的一个或多个信号。例如,机器人臂150可以调动以收集由指向姿势指示的物品,然后将物品存储在保持室152中。在其它实施例中,姿势命令还可以包括通过通信耦接的麦克风144接收的口头提示,这些口头提示向电子控制单元130提供与由运动传感器138、一个或多个相机146或者被配置为检测姿势的其它传感器检测到的身体动作相关联的口头命令。例如,指向姿势还可以包括诸如“看着”或“拾取”之类的口头提示。当诸如用手指向一方向之类的身体动作是结合口头命令“看着”进行的时,机器人臂150可以仅仅调动设置在其上的一个或多个相机146来在指向姿势的方向上进行查看。类似地,当诸如用手指向一方向之类的身体动作是结合口头命令“拾取”进行的时,机器人臂150可以调动以收集由指向姿势指示的物品。在一些实施例中,用于捕获用户的身体姿势的姿势检测器或者一个或多个相机146可以与设置在机器人臂150上的一个或多个相机146分开。在那些实施例中,一个或多个相机146可以包括视觉跟踪软件,以跟踪用户的位置使得没有错过身体姿势。

  在一些实施例中,购物车315可以包括机动化基座,该机动化基座可以调动保持室152和机器人臂150而无需用户手动推动购物车315。例如,购物车315的轮子可以耦接到电机,这些电机驱动保持室152和机器人臂150的向前、向后和转向运动。在一些实施例中,可以提供连接网络180的设备或姿势控制系统,以远程地调动机器人臂150和保持室152的机动化基座。例如,便携式设备的显示器136可以被配置为提供触摸控制,这些触摸控制被配置为响应于输入而调动机动化基座和机器人臂150。电子控制单元130可以生成电信号并且将电信号传送到机动化基座,以促成半自主或自主操作。在实施例中,显示器136可以包括来自设置在机器人臂150上的一个或多个相机146的处于存储位置的物品的视图。例如,机器人臂150可以调动以收集与通过触摸被配置有对应于显示器136上的图像数据的触摸输入的显示器136而虚拟选择的物品相关联的物品。

  虽然通过连接网络180的远程控制设备和姿势控制系统的使用,半自主交互可以是可能的,但是在一些实施例中,用于购物应用的机器人110可以自主地导航和收集整个商店或存储设施中的物品,并且优化收集路线和/或保持室152中的物品的打包。在这样的实施例中,具有保持室152和机器人臂150以及机动化基座的机器人110可以包括诸如运动传感器138和LIDAR系统160之类的各种传感器。机器人110还可以包括连接到用于从一个位置导航到另一个位置的一个或多个设备的网络接口硬件170。

  在一些实施例中,用户可以创建电子购物清单,该电子购物清单被直接上传到机器人110或者上传到与机器人110通信的连接网络180的计算设备。基于购物清单中的内容以及可选地针对购物清单上的每个物品的处置指令集,可以计划和优化购物路线,以按照可以优化保持室152中的物品的存储的顺序收集物品。例如,可以计划和优化购物路线,以在较大、较重和/或较笨重的物品被收集并存储在保持室152中之后收集易碎或易损的物品。即,例如,如果鸡蛋和面包与牛奶和罐装食品一起被包括在购物清单中上,则可以优化购物路线,以在鸡蛋和面包之前收集牛奶和罐装食品。另外,购物清单还可以基于购物清单上的物品的理想存储温度进一步优化路线。例如,可以计划和优化路线,以在诸如谷物、纸制品、罐装食品等之类的室温物品被收集和存储之后收集通常不在室温处或附近存储的物品。这样可以使物品暴露于温度不受控制的环境的时间最小化到尽可能短。

  尽管以上提到的实施例关注将物品收集并放置在保持容纳部内以高效且自动地为用户收集物品的机器人臂150,但是机器人臂150的使用并不是用于将物品收集并放置在保持室152中的专有装置。在一些实施例中,机器人臂150可以仅对用户的购物活动进行补充。即,用户还可以手动地将物品收集并添加到保持室152。尽管这可能降低将物品放置在保持室152中的效率和优化,但是机器人可以在后续图像数据被一个或多个相机146捕获时识别出保持室152中引入了新物品,并且考虑到用户添加的物品来调整未来物品的放置。另外,在一些实施例中,如果用户手动将物品添加到保持室152中,则保持室152上的或连接网络180的设备上的显示器136可以提示用户辨识物品以及物品被放置在保持室152内的何处。作为响应,若存储位置与针对该物品或相邻物品的处置指令集有冲突,则电子控制单元130可以向用户提供推荐替代存储位置的响应。

  现在参考图4A至图7,描绘了各种保持室配置。图4A描绘了包括设置在其内的多个杂货袋405的保持室452的一部分。此外,图4A描绘了其上设置有一个或多个相机146的机器人臂150以及保持物品415的耦接到机器人臂150的端部执行器455。图4A表示其中保持室452包括多个杂货袋405的实施例,电子控制单元可以从由一个或多个相机146捕获的图像数据中辨识出这些杂货袋405。在操作中,具有机器人臂150的机器人可以直接将由端部执行器455收集的物品415打包。在这样的实施例中,电子控制单元可以将保持室452分成包括多个杂货袋405中的每一个杂货袋的体积的多个保持室。为了避免在结帐时不得不把杂货从袋里取出,机器人还可以被配置有条形码扫描仪148,当物品被从存储位置收集并被添加到存储在电子控制单元的非暂态计算机可读存储器中或连接网络180的设备上的结帐清单时,条形码扫描仪对物品进行扫描。在一些实施例中,物品的条形码的辨识和/或扫描可以通过分析由一个或多个相机146捕获的图像数据的条形码图像识别软件来完成。

  参考图4B,描绘了具有可移除存储袋A、B和C的保持室452’的另一实施例。在该实施例中,保持室452’包括可移除存储袋A、B和C,可移除存储袋A、B和C被配置为在宽度方向上跨越保持室452’并且可选地折叠在一起并在存储由机器人臂150收集的物品415需要附加的袋时打开。在其中保持室包括多个杂货袋的诸如图4A至图4B中描绘的实施例之类的实施例中,机器人还可以执行将杂货打包的功能,因此减少了结账时所需的时间和处置的量。

  转到图5,描绘了表示其内存储有多个物品的机器人510的保持室552的图像数据的视图。在所描绘的实施例中,保持室552包括一罐汤501、冷冻餐503、一加仑牛奶505、三盒谷物507、一条面包509和一箱鸡蛋511。该配置可以表示由机器人510基于保持室552的图像数据以及针对保持室552内的物品的相关联的处置指令集中的每一个而布置的保持室552内的物品的配置。例如,机器人510已经将冷的物品即冷冻餐503和一加仑牛奶505配置为彼此相邻,并且将一罐汤501配置成被那几盒谷物507和冷冻餐503固定在角落,以防止罐有可能在运输期间在保持室552到处滚动。另外,一条面包509和一箱鸡蛋511被安置成彼此靠近并且与其它较重的且潜在具有破坏性的物品分开。例如,其它实施例可以包括将物品堆叠在彼此的顶部,或者堆叠在如图6中描绘的保持室652的预分段部分内。

  参考图6,保持室可以包括一个或多个预分段部分。例如,图6中的保持室652描绘了预分段部分A、B、C和D。保持室652的预分段部分A、B、C、D中的每一个可以由电子控制单元130指定为保持特定分类的物品。例如,预分段部分A可以被配置为保持小的和/或易碎的物品。预分段部分B可以被配置为保持冷的物品,并且预分段部分B可以在结构上被配置为隔热或主动对放置在其中的物品制冷。预分段部分C可以被配置为保持室温物品,以及预分段部分D可以被配置为保持温暖物品并且其结构还被配置成隔热或主动地使放置在其中的物品温暖。这仅是放置在预分段部分中的每一个上的指定的一个示例。可替代地,预分段部分可以被配置为保持食品、家用清洁产品、衣物和/或宠物用品并将它们彼此分开。另外,尽管这里描绘了四个预分段部分,但是可以有更多或更少的预分段部分并且预分段部分的大小和取向可以变化。保持室652的设计还可以取决于实现机器人的商店的类型。例如,与杂货店相比,五金店可以具有更大更坚固的保持室652。在一些实施例中,保持室652可以是用于在仓库或包装设施中使用的板车。

  图7描绘了机器人710的其它实施例。在图7中,机器人710包括被集成到机动化基座713中的保持室752、其上设置有一个或多个相机146的机器人臂150以及用于与机器人臂150交互的显示器136,机动化基座713在手动或自主地导航商店的过道的同时提供供用户就座的座位753。在类似的实施例中,机器人710可以简单地提供从保持室752展开或耦接到保持室752的座位753,以为用户提供在购物的同时就座和休息的地方。

  尽管以上示例将机器人系统描述为与购物车或机动化滑板车基座集成,但应该理解,保持室和机器人臂可以耦接到机动化的或未被机动化的任何移动基座。另外,还可以如本领域中已知的那样集成用于提供自主导航的各种传感器和系统以促进机器人绕设施的自主或半自主移动。

  现在应该理解,本文描述的实施例涉及包括电子控制单元和被配置为运输一个或多个物品的保持室的机器人系统。电子控制单元包括处理器和非暂态计算机可读存储器,该非暂态计算机可读存储器包括机器可读指令集。机器人系统还包括各自通信地耦接到电子控制单元的相机和机器人臂,该相机用于捕获保持室的环境的图像数据。机器可读指令集使处理器从相机接收保持室的环境的图像数据、确定针对由机器人臂收集的物品的处置指令集、基于保持室的环境的图像数据和处置指令集来确定保持室内的用于放置由机器人臂收集的物品的位置、以及操纵机器人臂以在所确定的位置处将物品放置在保持室内。在一些实施例中,保持室和机器人臂耦接到机动化基座,使得机器人系统可以绕设施自主或半自主地移动。要注意,术语“基本上”和“大约”可以在本文中用来表示可以归因于任何定量的比较、值、测量或其它表示的固有不确定程度。这些术语也在本文中被用来表示在没有导致所讨论的主题的基本功能的改变的情况下定量表示可以从所阐述的参考变化的程度。

  尽管本文已经图示和描述了特定实施例,但是应该理解,在不脱离所要求保护的主题的精神和范围的情况下,可以做出各种其它改变和修改。此外,尽管本文已经描述了所要求保护的主题的各种方面,但是这样的方面不需要被组合使用。因此,意图的是所附权利要求覆盖在所要求保护的主题的范围内的所有这样的改变和修改。

《用于购物应用的用户辅助机器人.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)