用于控制体积内的机器人的方法、装置、计算机程序以及非瞬态计算机可读存储介质与流程

文档序号:13423190阅读:169来源:国知局
用于控制体积内的机器人的方法、装置、计算机程序以及非瞬态计算机可读存储介质与流程

本公开涉及用于控制体积内的机器人的方法、装置、计算机程序以及非瞬态计算机可读存储介质。



背景技术:

机器人可以被配置为在多个定位之间移动。例如,“拾取和放置”机器人可以被配置为在生产环境内的不同定位之间移动物品。通常,机器人被编程为沿着定位之间的最高效的路线移动,并且可以被编程为避免进入“禁入区”。

通过手动地将机器人移动或驱动到定位、然后存储位置或机器人肢体定位来向机器人“教导”定位。机器人可以使用通用算法来移动到该机器人的控制器指示的无论哪个定位。可以使定位与一个或多个其它定位相关联,以允许机器人安全地进入机器或接近灵敏装备。机器人可能具有数百个目标定位,从而导致需要向机器人教导的庞大数量的定位。

在机器人被教导定位时,机器人正在服务的装备或体积可能只好是不能运转的(“离线”),并且这可能花费若干小时或若干天。此外,因为教导过程是手动过程,所以一个或多个教导的定位可能是错误的,从而导致与安全性和对体积内的对象的潜在损坏相关的问题。附加地,可能需要重复教导过程以纠正错误定位。



技术实现要素:

根据各种示例,提供了一种控制体积内的机器人的方法,所述方法包括:接收三维模型,所述三维模型包括所述机器人的模型和所述机器人被配置为在其内移动的体积的模型;定义在所述体积的模型内所述机器人可移动到的多个定位,所述多个定位由操作者标识;接收所述机器人和所述体积的至少一部分的经扫描的三维数据;使用所述三维模型和所述经扫描的三维数据来确定变换算法;向所述多个定位中的一个或多个定位应用所述变换算法,以提供一个或多个经变换的定位;以及使用所述经变换的定位中的一个或多个来控制所述机器人的移动。

所述体积可以包括所述机器人不会进入的子体积。所述方法可以还包括定义所述体积的三维模型内的子体积。

所述方法可以还包括向所述体积的三维模型内的子体积应用所述变换算法,以提供经变换的子体积。

控制所述机器人的移动可以包括使用所述经变换的子体积来控制所述机器人的移动以不进入所述子体积。

控制所述机器人的移动可以包括控制所述机器人在第一经变换的定位与第二定位之间的移动。

所述第二定位可以是第二经变换的定位。所述第二定位可以是所述多个定位中的定位。

所述方法可以还包括控制三维扫描仪以扫描所述机器人和所述体积的至少一部分,以生成经扫描的三维数据。

所述机器人可以是拾取和放置机器人。

所述机器人可以是点对点机器人。

根据各种示例,提供了一种用于控制体积内的机器人的装置,所述装置包括控制器,所述控制器被配置为:接收三维模型,所述三维模型包括所述机器人的模型和所述机器人被配置为在其内移动的体积的模型;定义在所述体积的模型内所述机器人可移动到的多个定位,所述多个定位由操作者标识;接收所述机器人和所述体积的至少一部分的经扫描的三维数据;使用所述三维模型和所述经扫描的三维数据来确定变换算法;向所述多个定位中的一个或多个定位应用所述变换算法,以提供一个或多个经变换的定位;以及使用所述经变换的定位中的一个或多个来控制所述机器人的移动。

所述体积可以包括所述机器人不会进入的子体积。所述控制器可以被配置为定义所述体积的三维模型内的子体积。

所述控制器可以被配置为向所述体积的三维模型内的子体积应用所述变换算法,以提供经变换的子体积。

所述控制器可以被配置为使用所述经变换的子体积来控制所述机器人的移动以不进入所述子体积。

所述控制器可以被配置为控制所述机器人在第一经变换的定位与第二定位之间的移动。

所述第二定位可以是第二经变换的定位。所述第二定位可以是所述多个定位中的定位。

所述控制器可以被配置为控制三维扫描仪以扫描所述机器人和所述体积的至少一部分,以生成经扫描的三维数据。

所述装置可以还包括所述机器人。所述机器人可以是拾取和放置机器人。所述机器人可以是点对点机器人。

根据各种示例,提供了一种计算机程序,所述计算机程序在被计算机读取时致使执行如前面的段落中的任一个段落中描述的方法。

根据各种示例,提供了一种非瞬态计算机可读存储介质,包括计算机可读指令,所述计算机可读指令在被计算机读取时致使执行如前面的段落中的任一个段落中描述的方法。

技术人员将意识到的是,除了相互排斥的情况之外,关于以上各方面中的任一方面描述的特征可以加上必要变更而被应用于任何其它方面。此外,除了相互排斥的情况之外,本文中描述的任何特征可以被应用于任何方面和/或与本文中描述的任何其它特征相组合。

附图说明

现在将参照各图仅作为示例来描述实施例,在各图中:

图1图示了根据各种示例的用于控制体积内的机器人的装置的示意图;

图2图示了根据各种示例的控制体积内的机器人的方法的流程图;

图3a图示了根据各种示例的三维模型的图形表示的平面视图;

图3b图示了图3a中图示的三维模型的图形表示的侧视图;

图4a图示了根据各种示例的经扫描的三维数据的图形表示的平面视图;

图4b图示了图4a中图示的经扫描的三维数据的图形表示的侧视图;以及

图5图示了根据各种示例的控制体积内的机器人的另一种方法的流程图。

具体实施方式

在以下的描述中,术语“连接”和“耦合”意指在操作上连接和耦合。应当意识到的是,在提及的特征之间可以有任何数量的居间组件,包括没有居间组件。

图1图示了装置10,其包括控制器12、用户输入设备14、显示器16、三维扫描仪18和机器人20。在一些示例中,装置10可以是模块。如本文中所使用的,词语“模块”指代设备或装置,在以后并且可能由另一制造者或由最终用户在所述设备或装置中包括一个或多个特征。例如,在装置10是模块的情况下,装置10可以仅包括控制器12,并且剩余特征(诸如用户输入设备14、显示器16、三维扫描仪18和机器人20)可以由另一制造者或由最终用户添加。

控制器12、用户输入设备14、显示器16、三维扫描仪18以及机器人20可以经由无线链路耦合到彼此,并且因此可以包括收发机电路和一个或多个天线。附加地或可替换地,控制器12、用户输入设备14、显示器16、三维扫描仪18以及机器人20可以经由有线链路耦合到彼此,并且因此可以包括接口电路(诸如通用串行总线(usb)插口)。应当意识到的是,控制器12、用户输入设备14、显示器16、三维扫描仪18以及机器人20可以经由有线链路和无线链路的任何组合耦合到彼此。

控制器12可以包括任何合适的电路来致使执行本文中描述并且如图2和5中图示的方法。控制器12可以包括:控制电路;和/或处理器电路;和/或至少一个专用集成电路(asic);和/或至少一个现场可编程门阵列(fpga);和/或单处理器或多处理器架构;和/或串行/并行架构;和/或至少一个可编程逻辑控制器(plc);和/或至少一个微处理器;和/或至少一个微控制器;和/或中央处理单元(cpu);和/或图形处理单元(gpu),用于执行这些方法。

在各种示例中,控制器12可以包括至少一个处理器24和至少一个存储器26。存储器26存储包括计算机可读指令的计算机程序28,所述计算机可读指令在被处理器24读取时致使执行本文中描述并且如图2和5中图示的方法。计算机程序28可以是软件或固件,或者可以是软件和固件的组合。

处理器24可以包括至少一个微处理器并且可以包括单核处理器,可以包括多个处理器核(诸如双核处理器或四核处理器),或者可以包括多个处理器(所述多个处理器中的至少一个可以包括多个处理器核)。

存储器26可以是任何合适的非瞬态计算机可读存储介质、一个或多个数据存储设备,并且可以包括硬盘和/或固态存储器(诸如闪速存储器)。存储器26可以是永久性非可移除存储器,或者可以是可移除存储器(诸如通用串行总线(usb)闪速驱动器或安全数字卡)。存储器26可以包括:在计算机程序28的实际执行期间采用的本地存储器;大容量存储器;以及高速缓冲存储器,其提供至少一些计算机可读或计算机可用程序代码的临时存储,以减少在代码的执行期间可以从大容量存储器检索代码的次数。

计算机程序28可以被存储在非瞬态计算机可读存储介质30上。计算机程序28可以从非瞬态计算机可读存储介质30被传送到存储器26。非瞬态计算机可读存储介质30可以例如是usb闪速驱动器、安全数字(sd)卡、光盘(诸如致密盘(cd)、数字通用盘(dvd)或蓝光盘)。在一些示例中,计算机程序28可以经由信号32(其可以是无线信号或有线信号)被传送到存储器26。

输入/输出设备可以直接或通过居间输入/输出控制器耦合到装置10。各种通信适配器也可以耦合到控制器12,以使得装置10能够成为通过居间私有或公共网络耦合到其它装置或远程打印机或存储设备。非限制性示例包括这样的通信适配器的调制解调器和网络适配器。

用户输入设备14可以包括用于使得操作者能够至少部分地控制装置10的任何合适的设备。例如,用户输入设备14可以包括键盘、小键盘、触摸板、触摸屏显示器以及计算机鼠标中的一个或多个。控制器12被配置为从用户输入设备14接收控制信号。

显示器16可以是用于将信息传达给装置10的操作者的任何合适的设备。例如,显示器16可以是液晶显示器、发光二极管显示器、有源矩阵有机发光二极管显示器、薄膜晶体管显示器或者阴极射线管显示器。控制器12被布置为向显示器16提供信号以致使显示器16向操作者传达信息。

三维扫描仪18可以是用于扫描体积22以生成机器人20和体积22的至少一部分(并且因此,体积22内的任何对象)的三维数据的任何合适的设备。三维扫描仪18包括发射器,诸如激光器、结构化光发射器、超声发射器或x射线发射器。三维扫描仪18还包括传感器,诸如互补金属氧化物半导体(cmos)传感器、电荷耦合器件(ccd)相机或压电换能器。

三维扫描仪18可以位于体积22内或者可以位于体积22之外。控制器12被配置为控制三维扫描仪18的操作和从三维扫描仪18接收经扫描的三维数据。由控制器12接收的经扫描的三维数据可以是点云数据,或者可以是三维模型(诸如多边形网格模型),其中三维扫描仪18包括处理器,所述处理器对所生成的点云数据执行后置处理。

在一些示例中,三维扫描仪18可以包括多个扫描仪,所述多个扫描仪位于体积22中的或体积22周围的不同定位处。这可以有利地使得三维扫描仪18能够获得用于体积22的较大部分的数据,因为多个扫描仪中的每一个扫描仪的视线将是不同的。

机器人20可以是“拾取和放置”机器人或“点对点”机器人,并且可以包括在体积22内可移动的一个或多个肢体。例如,在机器人20是拾取和放置机器人的情况下,机器人20可以包括铰接式机器人臂,所述铰接式机器人臂具有用于重新定位体积22内的对象的夹钳。作为另一示例,机器人20可以是蛇形臂机器人(其也可以称为连续体(continuum)机器人),其起“点对点”机器人的作用并且被配置为执行体积22内的加工或检查。如在以下段落中更详细地描述的,控制器12被配置为控制体积22内的机器人20的操作。

体积22可以是机器人20在其中可移动的任何三维空间。例如,体积22可以是对象(诸如燃气涡轮发动机)的内部空间,可以是建筑物内的房间的部分,可以是建筑物内的房间,或者可以是由建筑物限定的整个体积。体积22包括可以由体积22内的机器人20重新定位的一个或多个对象33。在一些示例中,一个或多个对象33可以是燃气涡轮发动机的组件(例如,对象33包括燃气涡轮发动机的风扇叶片、压缩机叶片、涡轮叶片、轮叶或轴)。一个或多个对象33可以包括不要由机器人20重新定位的对象。例如,一个或多个对象33可以包括体积22内的机械。

图2图示了根据各种示例的控制体积22内的机器人20的方法的流程图。

在框34处,该方法包括接收三维模型36,所述三维模型36包括机器人20的模型和体积22的模型。可以从另一装置接收三维模型36,然后将其存储在存储器26中。可替换地,可以由装置10的操作者使用计算机辅助设计(cad)软件来生成三维模型36,然后将其存储在存储器26中。控制器12可以通过从存储器26加载三维模型36来接收三维模型36。

图3a和3b图示了根据示例的三维模型36的图形表示。

图3a图示了体积22的模型37和对象33的模型44,所述模型37包括x轴38、y轴40。图3a还图示了机器人20的模型42。机器人20的模型42的中心位于x=3、y=5的定位处。对象33的模型44的中心位于x=9、y=5的定位处。

图3b图示了体积22的模型37和对象44的模型44,所述模型37包括x轴38、z轴46。图3b还图示了机器人20的模型42。机器人20的模型42从定位x=3、z=0延伸到定位x=3、z=9。对象33的模型44从定位x=9、z=0延伸到定位x=9、z=1。

返回到图2,在框48处,该方法包括定义机器人20可移动到的多个定位。例如,控制器12可以控制显示器16以显示图3a和3b中图示的图形表示。操作者可以操纵用户输入设备14标识在体积22内机器人20要移动到的定位。控制器12可以从用户输入设备14接收控制信号,并使用该控制信号来定义三维模型36内的所标识的定位。

应当意识到的是,所定义的定位可以是机器人20的最终目的地或目标位置(例如,拾取和放置机器人放置对象的定位),或者可以是定义起始点与最终目的地之间的中间定位的定位(例如,使得机器人20能够进入对象内的腔的进入定位,或使得机器人20能够接近灵敏装备的起始定位)。

例如,用户可以使用用户输入设备14来标识三维模型36内的第一定位50和第二定位52。第一定位50是对象33的模型44的当前定位并且位于对象33的模型44的表面上。第二定位52是对象33要移动到的目标位置。控制器12从用户输入设备14接收控制信号,并且将第一定位50的位置定义为x=9、y=5、z=1并将第二定位52的位置定义为x=4.5、y=5、z=1。应当意识到的是,控制器12可以定义多于两个定位的位置,并且可以定义例如数十或数百个定位的位置。

在框54处,该方法可以包括控制三维扫描仪18以扫描机器人20和体积22的至少一部分,以生成经扫描的三维数据。例如,控制器12可以控制三维扫描仪18以扫描机器人20、体积22和一个或多个对象33,以生成经扫描的三维数据。

在框56处,该方法包括接收经扫描的三维数据。例如,控制器12可以从三维扫描仪18接收经扫描的三维数据58,然后将经扫描的三维数据58存储在存储器26中。

图4a和4b图示了根据示例的体积22的经扫描的三维数据的图形表示。图4a和4b中图示的x轴38、y轴40以及z轴46与图3a和3b中图示的x轴38、y轴40以及z轴46相同。

图4a图示了x轴38、y轴40、机器人20的经扫描的数据的图形表示59以及对象33的经扫描的数据的图形表示60。机器人20的图形表示59的中心位于x=2、y=4的定位处。对象33的图形表示60的中心位于x=8、y=4的定位处。对象33的图形表示60被取向在相对于图3a中图示的模型44的关于z轴46的四十五度角处。

图4b图示了x轴38、z轴46、机器人20的图形表示59以及对象44的图形表示60。机器人20的图形表示59从定位x=2、z=0延伸到定位x=2、z=9。对象33的图形表示60从定位x=8、z=0延伸到定位x=8、z=1。

返回到图2,在框62处,该方法包括使用三维模型36和经扫描的三维数据58来确定变换算法。可以针对整个体积22来确定变换算法,或者可以针对体积22的一部分来确定变换算法。在一些示例中,该方法可以包括针对体积22内的多个子体积分别确定多个变换算法。此外,应当意识到的是,体积22内的一个或多个子体积可以不具有变换算法。变换算法可以包括缩放和/或旋转和/或平移。

控制器12可以将三维模型36与经扫描的三维数据58对齐,然后通过将三维模型36中的对应参考点与经扫描的三维数据58进行比较来导出变换算法63。控制器12可以使用不要由机器人20移动的一个或多个对象33(诸如体积22内的机械)作为用于导出变换算法63的参考点。控制器12可以将变换算法63存储在存储器26中。

在图3a、3b、4a和4b中图示的示例中,控制器12可以确定x-1和y-1的变换算法63。附加地,对于包括对象33的模型44和对象33的图形表示60的子体积64,控制器12可以确定x-1、y-1以及绕z轴46的四十五度的旋转的变换算法63。

在框66处,该方法包括向多个定位应用变换算法63以提供多个经变换的定位68。例如,控制器12可以向第一定位50应用x-1、y-1以及绕z轴46的通过四十五度的旋转的变换算法,以提供第一经变换的定位。控制器12可以向第二定位52应用x-1、y-1的变换算法,以提供第二经变换的定位。控制器12还可以向机器人20的模型42以及向对象33的模型44应用变换算法(诸如x-1、y-1)。

控制器12可以将多个经变换的定位68存储在存储器26中。

在框70处,该方法包括使用多个经变换的定位68中的一个或多个经变换的定位来控制机器人20的移动。例如,控制器12可以控制机器人20以移动到第一经变换的定位,控制机器人20以拾取对象33,控制机器人20以移动到第二经变换的定位,然后控制机器人20以释放对象33。在机器人20使用笛卡尔坐标作为输入来操作的情况下,机器人20可以直接使用经变换的定位。在机器人20使用肢体定位作为输入来操作的情况下,控制器12或机器人20可以将经变换的定位转换成肢体定位。

装置10和以上描述的方法可以提供若干优势。第一,装置10和该方法可以在体积22是生产环境的情况下将生产中断减至最低程度。特别地,在与人类操作者教导机器人20定位相比时,可以相对快速地执行框34、48、54、56、62以及66。第二,归因于使用通过数字测量的使用而生成的一个或多个变换算法,机器人20在定位之间移动方面可以是相对准确的。第三,机器人20的准确性可以导致机器人20是相对安全的、可靠的并且不太可能致使对一个或多个对象33的损坏。

图5图示了控制体积22内的机器人20的另一种方法的流程图。

在框72处,该方法包括定义三维模型36内的子体积。框72可以在框34与48之间或者在框48与54之间执行。

作为示例,操作者可以操作用户输入设备14来标识图3a和3b中图示的子体积74。控制器12从用户输入设备14接收控制信号,并定义三维模型36内的子体积。例如,控制器12可以将图3a和3b中图示的子体积74定义为在x=5.5与x=6.5之间、在y=0与y=10之间以及在z=0与z=2之间延伸。

在框76处,该方法包括向体积22的三维模型36内的子体积74应用变换算法63,以提供经变换的子体积。框76可以在框62与66之间或者在框66与70之间执行。

例如,控制器12可以向前面的段落中提及的子体积74的维度应用变换算法x-1、y-1,以提供在x=4.5与x=5.5、y=-1与y=9之间以及在z=0与z=2之间延伸的经变换的子体积。控制器12可以将经变换的子体积存储在存储器26中。

在框78处,该方法包括使用经变换的子体积来控制机器人20的移动以不进入所述子体积。框78在框70期间并且在机器人20正从一个定位移动到另一个定位时执行。例如,控制器12可以确定用于将机器人20从第一经变换的定位移动到第二经变换的定位的路径,其中该路径不进入经变换的子体积。

图5中图示的方法可以是有利的,因为控制器12可以准确地控制机器人20以避开障碍或体积22内的其它“禁入区”。这可以增加装置10在从一个定位移动到另一个定位方面的安全性和准确性。

将理解的是,本发明不限于以上描述的实施例,并且可以在不脱离本文中描述的概念的情况下做出各种修改和改进。例如,不同的实施例可以采取以下形式:完全硬件实施例、完全软件实施例、或者包含硬件和软件元素二者的实施例。

除了相互排斥的情况之外,特征中的任何一个可以被单独地或者与任何其它特征相组合地采用,并且本公开延伸到并包括本文中描述的一个或多个特征的所有组合和子组合。

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