CN107924175B - 用于确定工作偏移的***和方法 - Google Patents
用于确定工作偏移的***和方法 Download PDFInfo
- Publication number
- CN107924175B CN107924175B CN201680042903.3A CN201680042903A CN107924175B CN 107924175 B CN107924175 B CN 107924175B CN 201680042903 A CN201680042903 A CN 201680042903A CN 107924175 B CN107924175 B CN 107924175B
- Authority
- CN
- China
- Prior art keywords
- plane
- robot
- work
- working
- offset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000004044 response Effects 0.000 claims abstract description 19
- 230000006870 function Effects 0.000 claims description 22
- 238000006073 displacement reaction Methods 0.000 claims description 21
- 230000008859 change Effects 0.000 claims description 15
- 230000015654 memory Effects 0.000 claims description 9
- 230000000284 resting effect Effects 0.000 claims description 4
- 238000003860 storage Methods 0.000 description 11
- 239000012636 effector Substances 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000013024 troubleshooting Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000032258 transport Effects 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/408—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
- G05B19/4083—Adapting programme, configuration
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33271—Convert workpiece to machine coordinates
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/36—Nc in input of data, input key till input tape
- G05B2219/36503—Adapt program to real coordinates, software orientation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39032—Touch probe senses constraint known plane, derive kinematic calibration
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
公开了确定工作环境中的机器人的工作偏移数据的示例***和方法。在工作环境中操作的机器人可以接收确定工作偏移的指示。工作偏移可以描述工作环境的工作平面相对于机器人的基准平面的位置和角度取向。响应于该指示,机器人可以识别工作平面。机器人可以被控制以接触工作平面的一个或多个点。机器人可以基于机器人在相应接触时间的相应位置来确定接触点相对于基准平面的相应点位置。机器人可以基于所确定的接触点的相应点位置来确定工作平面相对于基准平面的位置和角度取向。
Description
背景技术
机器人***可以用于涉及材料处理、焊接、装配和分配等的应用。随着时间的推移,这些机器人***操作的方式变得更智能、更高效、更直观。随着机器人***在现代生活的许多方面变得越来越普遍,对可以与人类一起操作并与之交互的机器人***的需求变得明显。因此,对这种机器人***的需求已经帮助开创了致动器、传感技术、控制器以及部件设计和组装的创新领域。
发明内容
示例***和方法可以提供用于确定工作环境中的机器人的工作偏移数据。工作偏移可以描述工作环境的工作平面相对于机器人的基准平面的位置和角度取向。机器人可以通过识别工作平面来启动工作偏移确定方法。工作平面可以基于来自相机的图像数据来被识别。机器人然后可以确定朝向工作平面的路径并开始沿路径移动。
一旦位于工作平面,就可以控制机器人以接触工作平面的一个或多个点。在接触点时,机器人可以基于接触时机器人的位置来确定接触点的点位置。机器人的位置可以基于编码的关节角度来确定。机器人可以接触三个或更多个点。接下来,机器人可以基于确定的点位置来确定工作平面相对于基准平面的位置和角度取向。工作偏移数据可以包括沿垂直于基准平面的Z轴的移位距离,相对于基准平面的X轴的角位移(倾倒)和相对于基准平面的Y轴的角位移(倾斜)。
在一个示例中,提供了一种方法,该方法包括接收确定在工作环境中操作的机器人的工作偏移的指示,其中工作偏移描述工作环境的工作平面相对于机器人的基准平面的位置和角度取向。该方法还可以包括响应于该指示来识别工作环境内的工作平面。该方法还可以包括控制机器人以接触工作平面的一个或多个点。该方法还可以包括基于机器人在相应接触时间的相应位置来确定一个或多个接触点相对于基准平面的相应点位置。该方法还可以包括基于所确定的一个或多个接触点的相应点位置来确定工作平面相对于基准平面的位置和角度取向。
在另外的示例中,提供了存储可由一个或多个计算设备执行的指令的非暂时性计算机可读介质。当指令被执行时,指令使一个或多个计算设备执行功能,所述功能包括接收确定在工作环境中操作的机器人的工作偏移的指示,其中工作偏移描述工作环境的工作平面相对于机器人的基准平面的位置和角度取向。所述功能还可以包括响应于该指示来识别工作环境内的工作平面。所述功能还可以包括控制机器人以接触工作平面的一个或多个点。所述功能还可以包括基于机器人在相应接触时间的相应位置来确定一个或多个接触点相对于基准平面的相应点位置。所述功能还可以包括基于所确定的一个或多个接触点的相应点位置来确定工作平面相对于基准平面的位置和角度取向。
在另一个示例中,公开了一种***,其包括处理器和存储由处理器执行的指令的存储器。当被执行时,指令使***执行功能,所述功能包括接收确定在工作环境中操作的机器人的工作偏移的指示,其中工作偏移描述工作环境的工作平面相对于机器人的基准平面的位置和角度取向。所述功能还可以包括响应于该指示来识别工作环境内的工作平面。所述功能还可以包括控制机器人以接触工作平面的一个或多个点。所述功能还可以包括基于机器人在相应接触时间的相应位置来确定一个或多个接触点相对于基准平面的相应点位置。所述功能还可以包括基于所确定的一个或多个接触点的相应点位置来确定工作平面相对于基准平面的位置和角度取向。
在又一个示例中,一种***可以包括用于接收确定在工作环境中操作的机器人的工作偏移的指示的器件,其中工作偏移描述工作环境的工作平面相对于机器人的基准平面的位置和角度取向。所述***还可以包括用于响应于该指示来识别工作环境内的工作平面的器件。所述***还可以包括用于控制机器人以接触工作平面的一个或多个点的器件。所述***还可以包括用于基于机器人在相应接触时间的相应位置来确定一个或多个接触点相对于基准平面的相应点位置的器件。所述***还可以包括用于基于所确定的一个或多个接触点的相应点位置来确定工作平面相对于基准平面的位置和角度取向的器件。
前面的概述仅仅是说明性的,并不意图以任何方式进行限制。除了以上描述的说明性方面、实施例和特征之外,通过参考附图和以下详细描述和附图,进一步的方面、实施例和特征将变得明显。
附图说明
图1示出了根据示例实施例的机器人***的示例配置。
图2示出了根据示例实施例的示例机器人臂。
图3A示出了根据示例实施例的在工作环境中的示例机器人臂和工作平面。
图3B示出了根据示例实施例的接触工作环境中的第一点的示例机器人臂。
图3C示出了根据示例实施例的接触工作环境中的第二点的示例机器人臂。
图3D示出了根据示例实施例的接触工作环境中的第三点的示例机器人臂。
图4A是根据示例实施例的在工作环境中的示例机器人和工作平面的侧视图。
图4B是根据示例实施例的在工作环境中的示例工作平面的侧视图。
图5是根据示例实施例的示例方法的框图。
具体实施方式
这里描述了示例方法和***。本文描述的任何示例实施例或特征不一定被解释为比其他实施例或特征优选或有利。这里描述的示例实施例并不意味着限制。容易理解的是,所公开的***和方法的某些方面可以以各种各样的不同配置进行布置和组合,所有这些都在本文中考虑。
此外,附图中所示的特定布置不应被视为限制性的。应该理解,其他实施例可以更多或更少地包括给定图中所示的每个元件。此外,可以组合或省略所示出的元件中的一些。另外,示例实施例可以包括图中未示出的元件。
机器人可以获知关于飞机在环境中(例如地平面)的位置和取向的信息,以便与环境中的对象进行交互。例如,用户可能想要控制具有基座的机器人来执行任务。但是,机器人周围的工作环境可能是未知的。一个变量可以是工作环境的工作平面的位置和角度取向,工作平面可以是工作环境内的地平面或不同的平面。工作平面可以包含一个或多个机器人操作的对象。
工作平面的位置和角度取向可以不同于机器人基准平面的位置和角度取向。具体而言,可能不知道工作平面是垂直向上还是向下移位。此外,工作平面可以相对于基准平面成角度地倾斜。工作平面相对于基准平面移位和/或倾斜的量被称为工作偏移。
为了精确和准确地控制机器人执行任务,用户可能想要确定工作偏移。用户可以通过测量工作平面上的三个点来手动确定工作偏移。基于所选择的三个点,用户然后可以确定工作平面是否已经相对于基准平面垂直移位(即,在Z方向上)和/或倾倒和/或倾斜(分别在角度方向θx和θy上)。但是,手工确定工作偏移的一个缺点是可能难以精确地测量工作平面的三个点来确定工作平面的尺寸。因此,由机器人执行的自动的工作偏移确定方法可导致比手动工作偏移确定方法更准确和精确地控制机器人以执行任务。
机器人可以通过执行预定的步骤序列来执行自动工作偏移确定。预定的工作偏移确定方法可以在机器人启动时作为启动或校准过程来执行,以确保准确的机器人控制。可替代地,机器人可以执行预定的或者工作偏移确定序列作为故障排除机制或者例行维护程序。在其他实施例中,由于其他原因,机器人可以执行工作偏移确定方法。
工作偏移确定序列可以通过开启机器人和/或开始工作偏移确定序列来开始。接下来,机器人可以触摸工作平面上的多个点。点和/或工作平面的位置可能是未知的。在一个实施例中,机器人具有工作平面的位置的粗略估计。
结果,机器人然后可以在期望引起机器人和工作平面之间在不共线的一个或多个点处接触的方向上移动。具体地,机器人可以首先沿着第一方向致动,直到机器人与工作平面在第一点处的接触被检测到。接触可以由机器人的力传感器和/或末端执行器来检测。一旦在该点处机器人与工作平面之间接触,机器人的致动可以暂时停止。接触点的位置然后可以基于机器人在接触期间的位置来确定。
一旦确定了接触点的位置,可以以类似的方式再次致动机器人以接触与先前接触的点不共线的工作平面的一个或多个附加点。类似地,可以基于机器人接触时的位置来确定一个或多个附加点的位置。在一个实施例中,机器人可以触摸工作平面的三个或更多个点。
一旦确定了接触点的位置,机器人就可以计算工作平面相对于基准平面的倾倒和倾斜。此外,机器人还可以计算工作平面相对于基准平面的垂直移位的高度。一旦已经计算出倾倒、倾斜和高度,机器人就可以将工作偏移表示为工作平面相对于基准平面的倾倒尺寸、倾斜尺寸和高度尺寸。机器人可以使用工作偏移数据来执行工作环境中的一个或多个任务。
在一些实施例中,机器人可以仅运行一次工作偏移确定序列。例如,如果工作平面是固定的并且没有改变,则工作偏移确定序列可以只需要运行一次。在一个实施例中,机器人基座可以附接到固定台。可替代地,机器人可以多次运行工作偏移确定序列。特别地,如果机器人基座移动或工作平面改变,则可以再次运行工作偏移确定序列以考虑工作平面的任何附加的倾斜和/或移位。
在一个示例中,当机器人正在拾取或使用沿传送带移动的货盘(pallet)时,可以多次执行工作偏移确定序列。在这种情况下,每个货盘可以具有独特的大小、高度、倾倒和/或倾斜。因此,对于每个货盘,机器人可以执行工作偏移确定序列以确定特定货盘的工作偏移。具体地,机器人确定货盘的平面相对于机器人基准平面的垂直移位(例如,Z方向)、倾倒和倾斜(分别为角度方向,θx和θy)。因此,在本实施例中,即使机器人静止,由于工作平面的变化(例如,不同的货盘),也可以多次执行工作偏移确定序列。
在一个实施例中,机器人可以依靠相机来获得工作平面的尺寸的初始估计。例如,机器人可以使用粗略深度相机来确定工作平面的垂直移位和/或倾倒和/或倾斜的初始估计。在一些实施例中,机器人可以确定多个平面的工作偏移。再参照传送带和货盘示例,机器人可以确定每个特定货盘的工作偏移。通过计算准确和精确的工作偏移,机器人可以更准确、更精确地执行任务。
现在参考附图,图1示出机器人***100的示例配置。机器人***100可以是机器人臂、不同类型的机器人操纵器,或者可以具有多种不同的形式。另外,机器人***100也可以被称为机器人装置、机器人操纵器或机器人等等。
机器人***100示出为包括(一个或多个)处理器102,数据存储器104,程序指令106,控制器108,(一个或多个)传感器110,(一个或多个)电源112,(一个或多个)致动器114和(一个或多个)可移动部件116。注意,机器人***100仅出于说明的目的示出,因为在不脱离本发明的范围的情况下机器人***100可以包括额外的部件和/或移除一个或多个部件。此外,请注意,机器人***100的各种部件可以以任何方式连接。
(一个或多个)处理器102可以是通用处理器或专用处理器(例如,数字信号处理器,专用集成电路等)。(一个或多个)处理器102可以配置为执行存储在数据存储器104中并且可执行以提供在此描述的机器人***100的功能的计算机可读程序指令106。例如,程序指令106可以是可执行的以提供控制器108的功能,其中控制器108可以配置成指令致动器114以引起一个或多个可移动部件116的移动。
数据存储器104可以包括或采取可由(一个或多个)处理器102读取或访问的一个或多个计算机可读存储介质的形式。一个或多个计算机可读存储介质可以包括可以整体地或部分地与(一个或多个)处理器102集成的易失性和/或非易失性存储部件,诸如光学,磁性,有机或其他存储器或盘存储器。在一些实施例中,数据存储器104可以使用单个物理设备(例如,一个光学,磁性,有机或其他存储器或盘存储单元)来实现,而在其他实施例中,数据存储器104可以使用两个或更多个物理设备来实现。此外,除了计算机可读程序指令106之外,数据存储器104还可以包括诸如诊断数据等之类的附加数据。
机器人***100可以包括(一个或多个)传感器110,例如力传感器,接近传感器,运动传感器,负载传感器,位置传感器,触摸传感器,深度传感器,超声波范围传感器和红外传感器等。(一个或多个)传感器110可将传感器数据提供给(一个或多个)处理器102以允许机器人***100与环境的适当交互。另外,如下面进一步讨论的,传感器数据可以用于评估用于提供反馈的各种因素。此外,机器人***100还可以包括配置为向机器人***100的各个部件供应动力的一个或多个动力源112。可以使用任何类型的动力源,例如汽油机(gasoline engine)或电池。
机器人***100还可以包括一个或多个致动器114。致动器是可以用于引入机械运动的机构。特别地,致动器可以配置为将存储的能量转换为一个或多个部件的运动。可以使用各种机构来给致动器供以动力。例如,致动器可以由化学制品、压缩空气或电力等等来供以动力。在一些情况下,致动器可以是可在涉及旋转运动形式的***(例如,机器人***100中的关节)中使用的旋转致动器。在其他情况下,致动器可以是可以在涉及直线运动的***中使用的线性致动器。
在任一种情况下,(一个或多个)致动器114都可以引起机器人***100的(一个或多个)各种可移动部件116的移动。(一个或多个)可移动部件116可以包括诸如机器人臂、腿和/或手等附件(appendage)。(一个或多个)可移动部件116还可以包括可移动基座、轮子和/或末端执行器等等。
在一些实施方式中,计算***(未示出)可以被联接到机器人***100,并且可以配置为诸如经由图形用户界面来接收来自用户的输入。该计算***可以并入机器人***100内,或者可以是能够与机器人***100(有线或无线)通信的外部计算***。这样,机器人***100可以例如基于图形用户界面处的用户输入和/或基于通过按压机器人***100上的按钮(或触觉输入)接收到的用户输入等来接收信息和指令。
机器人***100可以采取各种形式。为了说明,图2示出了示例机器人臂200。如图所示,机器人臂200包括基座202,基座202可以是固定的基座或者可以是可移动的基座。在可移动基座的情况下,基座202可以被认为是(一个或多个)可移动部件116中的一个,并且可以包括由(一个或多个)致动器114供以动力的轮子(未示出),其允许整个机器人臂200移动。
另外,机器人臂200包括关节204A-204F,每个关节与(一个或多个)致动器114中的一个或多个联接。关节204A-204F中的致动器可以操作以引起(一个或多个)各个可移动部件116(诸如附件206A-206F和/或末端执行器208)的移动。例如,关节204F中的致动器可引起附件206F和末端执行器208的移动(即,由于末端执行器208联接到附件206F)。此外,末端执行器208可以采取各种形式并且可以包括各种部分。在一个示例中,末端执行器208可以采取如此处所示的诸如手指夹具之类的夹具的形式或诸如吸取夹具之类的不同类型的夹具的形式。在另一个示例中,末端执行器208可以采取诸如钻头或刷子的工具的形式。在又一个示例中,末端执行器可以包括诸如力传感器、位置传感器和/或接近传感器的传感器。其他示例也是可能的。
在示例实施方式中,机器人***100(例如机器人臂200)能够以示教模式进行操作。特别地,示教模式可以是机器人臂200的操作模式,其允许用户物理地与机器人臂200交互并引导机器人臂200执行和记录各种移动。在示教模式中,基于教导输入来向机器人***100(例如由用户)施加外力,该教导输入旨在教导机器人***关于如何执行特定任务。机器人臂200因此可以基于来自用户的指示和指导获得关于如何执行特定任务的数据。这样的数据可以涉及(一个或多个)可移动部件116的多个配置,关节位置数据,速度数据,加速度数据,扭矩数据,力数据和功率数据等。
例如,在示教模式期间,用户可以抓到机器人臂200的任何部分上,并通过物理地移动机器人臂200来提供外力。具体地,用户可以引导机器人臂200抓到对象上,然后将对象从第一位置移动到第二位置。当在示教模式期间用户引导机器人臂200时,***可获得并记录与移动有关的数据,使得机器人臂200可配置为在独立操作期间的未来时间独立地执行任务(例如,当机器人臂200在示教模式之外独立操作)。但是,注意,外力也可以由物理工作空间中的其他实体来施加,例如通过其他对象,机器和/或机器人***等。
图3A-3D显示了工作环境300的实施例。在显示的实施例中,机器人100的机器人臂302被示出在各种位置。在图3A-3D中,机器人臂302被示出处于第一位置306,第二位置307,第三位置308和第四位置309。图3B,3C和3D中的机器人位置用虚线示出以指示机器人在不同时间的位置。机器人臂302移动到第二位置307以接触第一点316。机器人臂302然后移动到第三位置308以接触第二点318。最后,机器人臂302移动到第四位置309以接触第三点320。机器人臂302可以被移动到更多、更少和/或不同的位置,以接触比显示的实施例中所示出的点更多、更少和/或不同的点。
在所显示的工作环境300中,机器人臂302可以是与图2中的机器人臂200相同的机器人臂。基准平面303可以位于机器人臂302的基座处。原点304和图例305也被显示。图例305显示了定义基准平面303的X轴和Y轴。原点304是基准平面303内的点。在一些实施例中,原点304的XYZ坐标(X0,Y0,Z0)可被定义为(0,0,0)。图例305的Z轴可垂直于基准平面303。在其他实施例中,不同的基准平面、点和/或坐标***是可能的。在一些实施例中,基准平面303的位置和取向、原点304和/或图例305可由机器人100相对于基准平面303定义。
机器人臂302可被控制以接触一个或多个点316、318和320以确定工作平面312的工作偏移。还显示图例314和中心点322。图例314包括限定工作平面312的工作平面的X轴(XWP)和工作平面的Y轴(YWP)。图例314还包括垂直于工作平面的Z轴(ZWP)。工作平面312还可以包括具有在(XC,YC,ZC)处的点位置的中心点322。在一些实施例中,中心点可以表示三个点316、318和320的中点。另外,工作平面312包括接触点316、318和320。在其他实施例中,不同的工作平面、点和/或坐标***是可能的。
在图3A-3D所示的实施例中,工作平面312可以是工作环境300的地平面。可替代地,工作平面312可以是工作环境中的不同平面。例如,在一个实施例中,工作平面312可以是货盘的顶部表面。
另外,工作环境300可以包括多个工作平面。例如,工作环境300可以包括传送带,在该传送带上输送多个货盘。在该实施例中,每个货盘的顶部表面可以被认为是单独的工作平面。传送带上的每个货盘可以是不同的高度并且具有不同的角度取向,包括每个顶部表面的不同的倾倒角度和/或倾斜角度。因此,对于每个货盘,具体的工作平面可以具有相对于机器人臂302的基准平面303的特定的工作偏移。
此外,工作平面312可以包括一个或多个机器人操作的对象330和332。特别地,一个或多个对象可以搁置在工作平面312的表面上。例如,在图3A-3D所示的实施例中,在工作平面312是地平面的情况下,一个或多个对象330和332可以在机器人100的地面上,以与机器人臂302一起操纵。工作环境300和工作平面312的其他实施例也是可能的。
机器人100可执行确定工作平面312相对于基准平面303的工作偏移的方法。工作偏移描述了工作平面312和机器人的基准平面303之间的偏移(或变化)。通过计算准确和精确的工作偏移,可以使机器人能够精确而准确地执行用于工作平面的任务。例如,由于工作偏移确定,机器人可以更精确和精确地操纵搁置在工作平面上的一个或多个对象330和332。
在一些实施例中,工作偏移可以包括工作平面312相对于基准平面303的位置和角度取向。特别地,可以使用沿着垂直于基准平面303的图例305的Z轴的移位距离来描述工作偏移位置。工作平面312相对于基准平面303的角度取向可以使用倾倒的角度位移值和倾斜的另一角度位移值来描述。倾倒值θx可以描述工作平面312相对于图例305的X轴的角度旋转。倾斜值θy可以描述工作平面312相对于图例305的Y轴的角度旋转。倾倒值和倾斜值显示在图4A和4B中并更详细地描述。
移位距离通过取基准平面303上的点与工作平面312上的点之间的Z坐标的差来计算。基准平面点可以是原点304,而工作平面点可以是中心点322。然而,可以使用基准平面和/或工作平面的不同点来确定移位距离。工作平面点(例如,中心点322,第一点316,第二点318,第三点320或一些其它工作平面点)可以基于图例305(与图例314相对)以XYZ坐标来表示。然而,可以使用其他坐标***,包括图例314。
工作偏移确定方法可以是包括存储在存储器上以由机器人100的处理器执行的一组指令的自动程序。可以在各种情况下由机器人100执行工作偏移确定方法。例如,工作偏移确定方法可以是在机器人100启动之后执行的启动程序。可替代地,可以响应于检测到的错误或机器人100检测到的意外结果来执行工作偏移确定方法以用于故障排除目的。
当可以执行工作偏移确定方法的另一个示例包括机器人100检测工作环境300的工作平面312中的变化。可替代地,机器人100可以响应于确定机器人100的基准平面303的变化来执行该方法。另一个替代方案可以包括由机器人100检测工作环境300的变化,这可能意味着工作平面312的变化。可替代地,可以由机器人100执行工作偏移确定方法作为例行维护程序。也可能存在其他的原因让机器人100执行工作偏移确定方法。
在一些实施例中,机器人臂302的基座可被固定到诸如平台的对象。在这种情况下,工作偏移确定方法可能不经常执行,因为基准平面不改变。特别地,如果工作平面通常是地板,则由于工作平面和基准平面不变,因此可以只执行一次工作偏移确定方法。可替代地,机器人可能不被固定在对象上。在这种情况下,由于基准平面可能更频繁地变化,所以可能更经常地执行工作偏移确定方法。在一些实施例中,机器人知道基准平面的位置和取向,而在其他实施例中,基准平面的位置和取向是未知的。
机器人100可以通过识别工作环境300内的工作平面312来启动工作偏移确定方法。在显示的实施例中,机器人100可以将地平面(例如地板)识别为工作环境300的工作平面312。在其他实施例中,例如具有输送一个或多个货盘的传送带的实施例,机器人100可以将特定货盘的顶部表面识别为工作环境的工作平面。其中机器人100将工作环境300的平面识别为工作平面312的其他实施例也是可能的。
在一些实施例中,所识别的工作平面可以不是平坦的。例如,所识别的工作平面可以是不平坦的地板。然而,地板的某部分可以是相对平坦的,因此用于工作偏移确定的方法仍然可以至少用于限定位于地板的相对平坦部分内的工作平面的点。识别为工作平面的非平坦对象的其它实施例也是可能的。
当识别工作环境300的工作平面312时,机器人可以依靠从相机接收的图像数据。虽然在一些实施例中相机可以位于机器人上,但是在其他实施例中,图像数据可以从远程相机接收。在一些实施例中,图像数据可以显示最终被识别为工作平面312的平面的至少一部分。可替代地,机器人可以接收估计或指示工作平面312的位置的近似的或粗略的数据。机器人100可以使用数据(例如,图像数据,接收的位置数据,粗略数据等)来识别工作环境300的工作平面312。
接下来,机器人100可以确定朝向识别的工作平面312行进的路径。所确定的路径可以允许机器人在朝向工作平面312行进时避开障碍物和/或碰撞。所确定的路径可以是机器人行进到工作平面312的较短的、优选的、和/或更有效的路径。其他路径也可以被确定为机器人行进以到达工作平面312的路径。
在一些实施例中,机器人可以在不知道工作平面312的确切位置的情况下导航路径。机器人可以使用工作平面312的位置的粗略估计沿着确定的路径朝向工作平面移动。在一些实施例中,机器人100不知道机器人将接触以确定工作平面312的工作偏移的一个或多个点(例如,316、318和320)的位置。然而在其他实施例中,机器人可以具有用于工作平面312和/或机器人将接触以确定工作平面312的工作偏移的一个或多个点的精确和/或精准的位置。
一旦机器人到达工作平面312,就可以控制机器人臂200以接触工作平面上的一个或多个点。在一个实施例中,机器人被控制以接触工作平面中的至少三个点。一旦机器人已经接触到第一点,机器人可以朝向工作平面312的不同位置行进以在第二点接触工作平面。再次,当机器人朝向工作平面上的第二点的位置行进时,机器人可以不知道工作平面和/或第二点的确切位置。类似地,机器人还可以在不知道工作平面或第三点的确切位置的情况下沿着朝向工作平面的另一不同位置的路径行进,以接触工作平面的第三点。在其他实施例中,机器人可以知道工作平面和/或要在工作平面上接触的一个或多个点的位置。
接下来,机器人可以确定在工作平面上接触的点的位置。机器人可以通过确定接触时机器人的位置来确定工作平面上接触点的位置。该点的位置可以表示为基于图例305的XYZ坐标。然而,该点的位置可以使用不同的坐标系(例如图例314)来表示。尽管显示的实施例示出了机器人确定三个点的位置,但是在其他实施例中,机器人可以确定工作平面312的更多或更少的点的位置。在一些实施例中,接触点可以不是共线的。
一旦接触点的点位置由机器人确定,机器人就可以确定工作偏移。工作偏移描述了工作平面312相对于基准平面303的位置和角度取向。在显示的实施例中,通过移位距离、倾倒值和倾斜值来描述工作偏移。具体地,在图3A中,工作平面312以(Z,θx,θy)的工作偏移来表示,其中“Z”表示移位距离,θx表示倾倒值,并且θy表示倾斜值。但是,可以使用不同的尺寸、值和/或坐标系来表示工作偏移。
例如,在图3A中,机器人100可以将工作平面312识别为工作环境300的工作平面。机器人臂302然后可以确定移动所沿着的以接触工作平面312的路径。机器人100可以不知道工作平面312的确切位置或者机器人臂302接触工作平面312的点的位置。
接着,图3B显示了机器人臂302沿着确定的路径从第一位置306移动到第二位置307以在第一点316处接触工作平面312。当沿着所确定的路径移动的同时,机器人100可以不知道对于点316的工作平面312的位置。当机器人臂302在第一点316处接触工作平面312时,机器人100可以接收力感测数据和指示接触期间机器人位置的数据。机器人100可以使用机器人位置信息来确定第一点316的位置为(X1,Y1,Z1)。机器人然后可以结束与第一点316的接触并且确定行进所沿着的以第二点处接触工作平面312的路径。
图3C显示了机器人臂302沿着确定的路径从第二位置307移动到第三位置308以在第二点318处接触工作平面312。当机器人臂302沿着路径移动的同时,机器人100可以不知道工作平面312或点318的位置。当机器人臂302在第二点318处接触工作平面312时,机器人100可以接收力感测数据和指示接触期间机器人位置的数据。机器人100可以使用机器人位置信息来确定第二点318的位置为(X2,Y2,Z2)。机器人然后可以结束与第二点318的接触并且确定行进所沿着的以在第三点处接触工作平面312的路径。
图3D显示了机器人臂302沿着确定的路径从第三位置308移动到第四位置309以在第三点320处接触工作平面312。当机器人臂302沿着路径移动的同时,机器人100可以不知道工作平面312或点320的位置。当机器人臂302在第三点320处接触工作平面312时,机器人100可以接收力感测数据和指示接触期间机器人位置的数据。机器人100可以使用机器人位置信息来确定第三点320的位置为(X3,Y3,Z3)。机器人然后可以结束与第三点320接触。一旦机器人确定了点316、318和320的点位置,机器人100就可以计算工作平面312相对于基准平面303的工作偏移。
当机器人臂302接触工作平面点(例如316、318和320)时机器人100收集的数据可包括力感测数据、关于机器人位置的数据和/或其他信息。当机器人臂302在点处接触工作平面时,机器人100可以停止机器人臂302的移动,使得机器人臂302在该点处保持与工作平面312接触,使得机器人100可以收集数据。机器人100然后可以移动机器人臂302以结束与工作平面312的接触。
当机器人臂302在点处接触工作平面312时,机器人100通过力反馈传感器获取力感测数据。力反馈传感器可以位于机器人臂302上或机器人100上的一些其他点处。力反馈传感器用于提供机器人臂302何时与工作平面312接触的指示。传感器可以被设计成对由传感器引起的力敏感,从而可以进行精确和精准的接触测量。精确和精准的接触测量使得机器人能够确定精确和精准的工作偏移,这进而能够实现机器人臂302的精确和精准的控制。
一旦力反馈传感器接收到指示机器人臂302与工作平面312接触的数据,则传感器允许机器人100在机器人100收集数据的同时停止机器人臂302的移动。通过暂停机器人臂302的移动,力传感器有助于防止机器人臂302、工作平面312和机器人100由于重复或过度的接触而引起任何额外的损害。
代替使用力反馈传感器,可以使用其他的力监测方法来确定机器人与工作平面之间的接触。例如,机器人可以通过监测电动机电流,监测编码器的偏转,或采用其他机器人力检测方法来感测力。尽管可以采用力感测方法来确定机器人与工作平面之间的接触,但其他接触确定方法也是可能的。例如,机器人可以监视机器人运动中的停顿(使用编码器或其他方法),监视工作平面与机器人臂(或机器人的一些其他部分)之间的电连续性,或者使用机器人学中使用的不同类型的接触和/或非接触式传感器。
机器人100还可以在机器人臂302接触工作平面312时获得和/或确定机器人的位置数据。在一些实施例中,可以使用附接到机器人的IMU来获取数据,而在其他实施例中,可以使用附接到机器人的其他传感器。机器人的位置可以基于机器人臂302与工作平面312之间在一点处的接触期间的编码的关节角度来确定。基于确定的机器人的位置,机器人可以确定机器人臂302接触的一个或多个点的位置。使用确定的点位置,机器人100然后可以确定工作平面312的工作偏移。
尽管图3A-3D显示了基于机器人臂与工作平面接触来确定点位置的方法,但是可以在机器人臂不接触工作平面的情况下确定点位置。例如,可以使用某些接近传感器(诸如光学,电感,电容或其他类型的接近传感器)来检测机器人何时达到距工作平面的指定阈值距离。在这种情况下,机器人也可以知道或粗略估计工作平面的位置。机器人然后可以基于已知的机器人位置、机器人与工作平面之间的距离以及工作平面位置来确定点位置。其他点位置确定方法也是可能的。
图4A和4B显示了机器人臂402和工作环境401的实施例。图4A是工作环境401中的机器人臂402的侧视图。基准平面403可以位于机器人臂402的基座处。基准平面403由图例405的X轴和Y轴定义。基准平面403包括具有位置(X0,Y0,Z0)的原点404。在一些实施例中,原点404位于(0,0,0)处。图例405还包括垂直于基准平面403的Z轴。观察方向408示出为平行于图例405的Y轴,并从机器人臂402的有利点观察对象410和430。
视图还显示对象410和430。对象410包括被机器人100识别为工作平面的顶部表面412。工作平面412的倾倒值θx414表示工作平面412相对于基准平面403关于图例405的X轴的角位移。倾倒值θx414等于工作平面412和参考轴线416之间的角度的测量值。参考轴线416是与图例405的Y轴平行的轴线。在其他实施例中,倾倒值414可以表示工作平面412的角位移的不同测量值。
在图4B中,450是从机器人臂402的有利点沿着观察方向408的在工作环境401中的对象430的侧视图。在图4A和4B中,对象430包括被机器人100识别为工作平面的顶部表面432。工作平面432的倾斜值θy434表示工作平面432相对于基本平面403关于图例405的Y轴的角位移。倾斜值θy434等于工作平面432和参考轴线436之间的角度的测量值。参考轴线436是与图例405的X轴平行的轴线。在其他实施例中,倾斜值434可以表示工作平面432的角位移的不同测量值。
图5示出了根据示例实施例的示出可以允许确定工具偏移的方法500的流程图。方法500可以由机器人执行,诸如关于图1示出和描述的机器人。然而,不同于图1中描述的机器人的机器人控制***或一些其他装置也可以执行方法500。
此外,注意到,结合本文描述的流程图描述的功能可以被实现为特定功能和/或配置的通用功能硬件模块,由处理器执行的用于实现特定逻辑功能、确定和/或结合图5所示的流程图描述的步骤的程序代码的部分。在使用的情况下,程序代码可以存储在任何类型的计算机可读介质上,例如包括磁盘或硬盘驱动器的存储设备。
此外,图5中所示的流程图的每个框可以表示被连线(wire)以在过程中执行特定逻辑功能的电路。除非特别指出,取决于所涉及的功能,图5所示的流程图中的功能可以与所示出或讨论的顺序无关地执行,包括基本上同时执行单独描述的功能,或者甚至在一些示例中以相反的顺序执行,只要所述方法的整体功能得以保持。
如图5的框502所示,方法500可以涉及接收确定在工作环境中操作的机器人的工作偏移的指示,其中工作偏移描述工作环境的工作平面相对于机器人的基准平面的位置和角度取向。在一些示例中,该指示可以是工作平面的改变,基准平面的改变,机器人的初始启动,例行维护,或者错误的故障排除或意外结果。
方法500还可以涉及响应于该指示识别工作环境内的工作平面,如图5的框504所示。在一些示例中,机器人可以基于从机器人的相机接收的图像数据来识别工作平面。方法500还可以涉及控制机器人以接触工作平面的一个或多个点,如图5的框506所示。在一些示例中,机器人可以接收指示机器人已经接触工作平面的力感测数据。在另外的示例中,机器人可以响应于接收到的力感测数据而停止控制机器人接触接触点。
如图5的框508所示,方法500可另外涉及基于机器人在相应接触时间的相应位置来确定一个或多个接触点相对于基准平面的相应点位置。在一些示例中,机器人的位置可以基于编码的关节角度来确定。在另外的示例中,机器人可以接触至少三个点,并且因此确定至少三个点位置。
方法500可以另外涉及基于所确定的一个或多个接触点的相应点位置来确定工作平面相对于基准平面的位置和角度取向,如图5的框510所示。在一些示例中,工作平面的位置可以通过沿着垂直于基准平面的Z轴的移位距离来描述。在另外的示例中,工作平面相对于基准平面的角度取向可以通过相对于基准平面的X轴的角位移(倾倒)和相对于基准平面的Y轴的角位移(倾斜)来描述。
使用机器人的各种应用和环境对于所公开的***和方法是可能的。例如,机器人的工作偏移确定可以是可适用的一些环境包括制造设施,邮寄或运输(shipping)设施,机场,医院或其他使用机器人的环境。此外,工作环境中的机器人的工作偏移确定可以是可适用的其他应用包括建筑,运输,制造,医疗和/或使用机器人的其它应用。所公开的***和方法的其他可适用的环境和应用也是可能的。
本公开不受在本申请中描述的特定实施例的限制,其旨在作为各个方面的说明。对于本领域技术人员来说显而易见的是,在不脱离本公开的精神和范围的情况下可以进行许多修改和变型。根据前面的描述,除本文列举的那些之外,在本公开的范围内的功能上等同的方法和设备对于本领域技术人员将是显而易见的。这样的修改和变型旨在落入所附权利要求的范围内。
上述详细描述参考附图描述所公开的***、装置和方法的各种特征和功能。在附图中,相似的符号通常标识相似的组件,除非另有说明。这里和附图中描述的示例实施例并不意味着限制。可以使用其它实施例,并且可以进行其它改变,而不脱离本文给出的主题的精神和范围。将容易理解的是,如本文大体描述并且在附图中示出的本发明的各方面可以以各种各样的不同配置布置、取代、组合、分离和设计,在本文中所有这些都被明确地设想。
表示信息处理的框可对应于可被配置为执行本文描述的方法或技术的特定逻辑功能的电路。可选地或附加地,表示信息处理的框可对应于程序代码(包括相关数据)的模块、段或一部分。程序代码可以包括可由处理器执行的一个或多个指令,用于实现该方法或技术中的特定逻辑功能或动作。程序代码和/或相关数据可以存储在任何类型的计算机可读介质上,例如包括磁盘或硬盘驱动器或其他存储介质的存储设备。
计算机可读介质还可以包括诸如类似寄存器存储器、处理器高速缓存和随机存取存储器(RAM)等存储数据持续短时间段的计算机可读介质的非暂时性计算机可读介质。计算机可读介质还可以包括存储程序代码和/或数据持续更长时间段的非暂时性计算机可读介质,诸如类似只读存储器(ROM)、光盘或磁盘、压缩盘只读存储器(CD-ROM)等的二级或持久长时间存储器。计算机可读介质也可以是任何其它易失性或非易失性存储***。例如,计算机可读介质可以被认为是计算机可读存储介质或有形存储设备。
而且,表示一个或多个信息传输的框可对应于同一物理设备中的软件和/或硬件模块之间的信息传输。然而,其他信息传输可以在不同物理设备中的软件模块和/或硬件模块之间。
图中所示的具体布置不应视为限制。应该理解,其他实施例可以包括给定图中所示的每个元件中的更多或更少的元件。此外,可以组合或省略所示出的元件中的一些。另外,示例实施例可以包括图中未示出的元件。
虽然本文已经公开了各种方面和实施例,但是其他方面和实施例对于本领域技术人员将是显而易见的。本文公开的各个方面和实施例是为了说明的目的,而不是旨在限制,其真实范围由所附权利要求指示。
Claims (14)
1.一种用于确定工作偏移的方法,包括:
接收确定在工作环境中操作的机器人的工作偏移的指示,其中,所述工作偏移描述工作环境的工作平面相对于机器人的基准平面的位置和角度取向;
响应于所述指示,基于来自相机的图像数据来识别工作环境内的工作平面,其中,所识别的工作平面包括一个或多个对象在工作环境中被搁置的表面;
控制机器人以导航朝向所识别的工作平面的表面的相应路径以便使机器人接触工作平面的表面上的至少三个点;
基于机器人在相应接触时间的相应位置来确定至少三个接触点相对于基准平面在工作平面的表面上的相应点位置;以及
基于所确定的工作平面的表面上的至少三个接触点的相应点位置来确定工作平面相对于基准平面的位置和角度取向;以及
基于工作平面相对于基准平面的所确定的位置和角度取向控制机器人以操纵搁置在工作平面的表面上的一个或多个对象,
其中,基于编码的关节角度来确定机器人的相应位置。
2.根据权利要求1所述的方法,其中,工作平面角度取向测量工作平面相对于基准平面的角位移。
3.根据权利要求2所述的方法,其中,工作平面位置测量基准平面上的点与工作平面上的对应点之间沿垂直于机器人基准平面的垂直轴线的移位距离。
4.根据权利要求1所述的方法,其中,所述工作平面是工作环境的地平面。
5.根据权利要求1所述的方法,还包括:
在第一次确定工作偏移之后,检测所述基准平面的变化;以及
响应于检测到的基准平面变化,第二次确定工作偏移。
6.根据权利要求1所述的方法,还包括:
在第一次确定工作偏移之后,检测所述工作平面的变化;以及
响应于检测到的工作平面变化,第二次确定工作偏移。
7.根据权利要求1所述的方法,其中,确定工作偏移的指示是响应于检测到机器人的初始启动而产生的。
8.根据权利要求1所述的方法,其中,确定工作偏移的指示是响应于检测到与机器人操作相关联的错误而产生的。
9.根据权利要求1所述的方法,其中,工作平面角度取向测量工作平面相对于基准平面的第一轴线的角位移和工作平面相对于基准平面的第二轴线的角位移,其中,所述第二轴线垂直于所述第一轴线。
10.根据权利要求1所述的方法,还包括:
当机器人接触工作平面的所述至少三个点中的任何点时,从机器人上的力传感器接收力感测数据;
基于所述力感测数据,确定机器人已经在所述至少三个点中的一个点处接触工作平面;以及
响应于确定机器人已经接触工作平面,使机器人停止以确定机器人在相应的接触时间的相应位置。
11.一种非暂时性计算机可读介质,其存储能够由一个或多个计算设备执行的指令,其中,执行所述指令使得所述一个或多个计算设备执行包括以下的功能:
接收确定在工作环境中操作的机器人的工作偏移的指示,其中,所述工作偏移描述工作环境的工作平面相对于机器人的基准平面的位置和角度取向;
响应于所述指示,基于来自相机的图像数据来识别工作环境内的工作平面,其中,所识别的工作平面包括一个或多个对象在工作环境中被搁置的表面;
控制机器人以导航朝向所识别的工作平面的表面的相应路径以便使机器人接触工作平面的表面上的至少三个点;
基于机器人在相应接触时间的相应位置来确至少三个接触点相对于基准平面在工作平面的表面上的相应点位置;
基于所确定的工作平面的表面上的至少三个接触点的相应点位置来确定工作平面相对于基准平面的位置和角度取向;以及
基于工作平面相对于基准平面的所确定的位置和角度取向控制机器人以操纵搁置在工作平面的表面上的一个或多个对象,
其中,基于编码的关节角度来确定机器人的相应位置。
12.根据权利要求11所述的非暂时性计算机可读介质,其中,执行所述指令还使得所述一个或多个计算设备执行包括以下的功能:
在第一次确定工作偏移之后,检测所述基准平面的变化;以及
响应于检测到的基准平面变化,第二次确定工作偏移。
13.根据权利要求11所述的非暂时性计算机可读介质,其中,执行所述指令还使得所述一个或多个计算设备执行包括以下的功能:
在第一次确定工作偏移之后,检测所述工作平面的变化;以及
响应于检测到的工作平面变化,第二次确定工作偏移。
14.一种用于确定工作偏移的***,包括:
处理器;以及
存储器,其存储指令,所述指令在由处理器执行时使***执行包括以下的功能:
接收确定在工作环境中操作的机器人的工作偏移的指示,其中,所述工作偏移描述工作环境的工作平面相对于机器人的基准平面的位置和角度取向;
响应于所述指示,基于来自相机的图像数据来识别工作环境内的工作平面,其中,所识别的工作平面包括一个或多个对象在工作环境中被搁置的表面;
控制机器人以导航朝向所识别的工作平面的表面的相应路径以便使机器人接触工作平面的表面上的至少三个点;
基于机器人在相应接触时间的相应位置来确定至少三个接触点相对于基准平面在工作平面的表面上的相应点位置;
基于所确定的工作平面的表面上的至少三个接触点的相应点位置来确定工作平面相对于基准平面的位置和角度取向;以及
基于工作平面相对于基准平面的所确定的位置和角度取向控制机器人以操纵搁置在工作平面的表面上的一个或多个对象,
其中,基于编码的关节角度来确定机器人的相应位置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/807,464 | 2015-07-23 | ||
US14/807,464 US9815198B2 (en) | 2015-07-23 | 2015-07-23 | System and method for determining a work offset |
PCT/US2016/043837 WO2017015656A1 (en) | 2015-07-23 | 2016-07-25 | System and method for determining a work offset |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107924175A CN107924175A (zh) | 2018-04-17 |
CN107924175B true CN107924175B (zh) | 2020-09-29 |
Family
ID=56799530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680042903.3A Expired - Fee Related CN107924175B (zh) | 2015-07-23 | 2016-07-25 | 用于确定工作偏移的***和方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9815198B2 (zh) |
EP (1) | EP3326038B1 (zh) |
JP (1) | JP6661001B2 (zh) |
CN (1) | CN107924175B (zh) |
WO (1) | WO2017015656A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10905508B2 (en) * | 2015-08-25 | 2021-02-02 | Kawasaki Jukogyo Kabushiki Kaisha | Remote control robot system |
DE102015118918B3 (de) * | 2015-11-04 | 2017-05-04 | Haddadin Beteiligungs UG (haftungsbeschränkt) | Roboter mit Ansteuerung zur diskretisierten manuellen Eingabe von Positionen und/oder Posen |
JP6860843B2 (ja) * | 2017-02-20 | 2021-04-21 | 株式会社安川電機 | ロボットシステム、ロボット制御装置、及びロボット制御方法 |
WO2019139815A1 (en) | 2018-01-12 | 2019-07-18 | Duke University | Apparatus, method and article to facilitate motion planning of an autonomous vehicle in an environment having dynamic objects |
WO2019183141A1 (en) | 2018-03-21 | 2019-09-26 | Realtime Robotics, Inc. | Motion planning of a robot for various environments and tasks and improved operation of same |
CN108969858B (zh) * | 2018-08-08 | 2021-04-06 | 贵州中医药大学 | 一种全自动送氧机器人上氧方法及*** |
CN109199838B (zh) * | 2018-10-19 | 2021-02-02 | 贵州中医药大学 | 一种自动锤打机器人*** |
JP7053443B2 (ja) * | 2018-12-07 | 2022-04-12 | ファナック株式会社 | 操作装置にて手動操作を行うロボットの制御装置 |
JP7511259B2 (ja) | 2019-04-17 | 2024-07-05 | リアルタイム ロボティクス, インコーポレーテッド | モーション計画グラフ生成ユーザインターフェース、システム、方法、および物品 |
US11487268B2 (en) * | 2019-07-25 | 2022-11-01 | Pratt & Whitney Canada Corp. | Method of calibrating a machine having at least two rotation axes |
EP3834998A1 (de) * | 2019-12-11 | 2021-06-16 | Siemens Aktiengesellschaft | Verfahren, computer-programm-produkt und robotersteuerung zum konfigurieren einer roboter-objekt-systemumgebung sowie roboter |
CN111791226B (zh) * | 2019-12-31 | 2021-12-03 | 深圳市豪恩声学股份有限公司 | 通过机器人实现组装的方法、装置及机器人 |
US11731282B2 (en) * | 2021-03-03 | 2023-08-22 | Dishcare Inc. | Dish handling robot |
US20230075185A1 (en) * | 2021-09-09 | 2023-03-09 | Ford Global Technologies, Llc | Method and system for positioning a moveable robotic system |
CN114951003B (zh) * | 2022-05-06 | 2023-12-26 | 苏州嘉诺智能制造有限公司 | 基于距离检测的分拣方法及装置 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4590578A (en) | 1983-07-11 | 1986-05-20 | United Technologies Corporation | Off-line programmable robot |
JPS6054011A (ja) | 1983-09-03 | 1985-03-28 | Fanuc Ltd | 工業用ロボツトの位置制御方法 |
JP2700965B2 (ja) | 1991-07-04 | 1998-01-21 | ファナック株式会社 | 自動キャリブレーション方式 |
JPH07299697A (ja) | 1994-04-28 | 1995-11-14 | Toshiba Mach Co Ltd | 加工物の取付誤差補正方法および取付誤差補正装置 |
GB9603426D0 (en) | 1996-02-19 | 1996-04-17 | Western Atlas Uk Ltd | Improved monitoring system for workpiece and tool carriage movement |
US6243621B1 (en) | 1998-03-13 | 2001-06-05 | Fanuc Robotics North America, Inc. | Method of determining workpiece positions including coordinated motion |
US6606774B2 (en) | 2001-10-25 | 2003-08-19 | Abb, Inc. (Flexible Automation Division) | Combination tool for robot assisted assembly |
CA2522097C (en) | 2003-04-28 | 2012-09-25 | Stephen James Crampton | Cmm arm with exoskeleton |
WO2006013829A1 (ja) * | 2004-08-02 | 2006-02-09 | Matsushita Electric Industrial Co., Ltd. | 物品運搬用ロボット、物品運搬システム、及び物品運搬方法 |
US8122846B2 (en) | 2005-10-26 | 2012-02-28 | Micronic Mydata AB | Platforms, apparatuses, systems and methods for processing and analyzing substrates |
JP4291382B2 (ja) | 2007-07-31 | 2009-07-08 | ファナック株式会社 | 接触検知による取り付け誤差の自動補正機能を有する工作機械 |
JP5235376B2 (ja) | 2007-10-05 | 2013-07-10 | 川崎重工業株式会社 | ロボットのターゲット位置検出装置 |
EP2268459B9 (en) | 2008-04-30 | 2012-03-21 | ABB Technology AB | A method and a system for determining the relation between a robot coordinate system and a local coordinate system located in the working range of the robot |
JP2009279663A (ja) * | 2008-05-19 | 2009-12-03 | Kawada Kogyo Kk | ロボット用位置同定方法および装置 |
US8864652B2 (en) * | 2008-06-27 | 2014-10-21 | Intuitive Surgical Operations, Inc. | Medical robotic system providing computer generated auxiliary views of a camera instrument for controlling the positioning and orienting of its tip |
JP2010152550A (ja) | 2008-12-24 | 2010-07-08 | Canon Inc | 作業装置及びその校正方法 |
EP2243586B1 (de) * | 2009-04-22 | 2014-07-02 | KUKA Roboter GmbH | Verfahren und Kontrollvorrichtung zum Schweißen mittels einer Positioniervorrichtung |
US8406922B2 (en) | 2009-07-31 | 2013-03-26 | Fanuc Robotics America, Inc. | System and method for setting the tool center point of a robotic tool |
JP5282014B2 (ja) * | 2009-11-18 | 2013-09-04 | 本田技研工業株式会社 | 教示ライン補正装置、教示ライン補正方法、及びそのプログラム |
EP2547490B1 (en) | 2010-03-18 | 2014-01-08 | ABB Research Ltd. | Calibration of a base coordinate system for an industrial robot |
DE102012102294B4 (de) * | 2011-03-18 | 2015-03-19 | Denso Wave Inc. | Verfahren zum Erfassen eines Achsenabstand-Versatzes eines 6-Achs-Roboters |
JP2014061578A (ja) * | 2012-09-24 | 2014-04-10 | Seiko Epson Corp | ロボット、ロボットシステム、ロボット制御装置、ロボット制御方法及びプログラム |
JP6473919B2 (ja) * | 2013-06-24 | 2019-02-27 | パナソニックIpマネジメント株式会社 | マスタスレーブロボットの制御装置及び制御方法、ロボット、マスタスレーブロボットの制御プログラム、並びに、マスタスレーブロボットの制御用集積電子回路 |
JP2015033747A (ja) * | 2013-08-09 | 2015-02-19 | 株式会社安川電機 | ロボットシステム、ロボット制御装置及びロボット制御方法 |
JP6410022B2 (ja) * | 2013-09-06 | 2018-10-24 | パナソニックIpマネジメント株式会社 | マスタスレーブロボットの制御装置及び制御方法、ロボット、マスタスレーブロボットの制御プログラム、並びに、マスタスレーブロボットの制御用集積電子回路 |
JP6410023B2 (ja) * | 2013-09-06 | 2018-10-24 | パナソニックIpマネジメント株式会社 | マスタスレーブロボットの制御装置及び制御方法、ロボット、マスタスレーブロボットの制御プログラム、並びに、マスタスレーブロボットの制御用集積電子回路 |
-
2015
- 2015-07-23 US US14/807,464 patent/US9815198B2/en active Active
-
2016
- 2016-07-25 WO PCT/US2016/043837 patent/WO2017015656A1/en active Application Filing
- 2016-07-25 CN CN201680042903.3A patent/CN107924175B/zh not_active Expired - Fee Related
- 2016-07-25 EP EP16756825.2A patent/EP3326038B1/en active Active
- 2016-07-25 JP JP2018502167A patent/JP6661001B2/ja active Active
-
2017
- 2017-10-11 US US15/729,953 patent/US10456914B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN107924175A (zh) | 2018-04-17 |
US20180029231A1 (en) | 2018-02-01 |
US20170021500A1 (en) | 2017-01-26 |
JP6661001B2 (ja) | 2020-03-11 |
JP2018522354A (ja) | 2018-08-09 |
WO2017015656A1 (en) | 2017-01-26 |
EP3326038B1 (en) | 2021-09-15 |
US10456914B2 (en) | 2019-10-29 |
US9815198B2 (en) | 2017-11-14 |
EP3326038A1 (en) | 2018-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107924175B (zh) | 用于确定工作偏移的***和方法 | |
US10583555B2 (en) | System and method for determining tool offsets | |
US10048398B2 (en) | Methods and systems for pallet detection | |
US9244463B2 (en) | Automated guided vehicle and method of operating an automated guided vehicle | |
JP5366018B2 (ja) | ロボットの教示手順校正装置および方法 | |
US10480923B2 (en) | Sensor apparatus and robot system having the sensor apparatus | |
US20150127141A1 (en) | Robot, control device, robot system and robot control method | |
KR20180132964A (ko) | 로봇 디바이스를 위한 스프링식 웜 파지기 | |
US10059003B1 (en) | Multi-resolution localization system | |
CN110621447B (zh) | 机器人传送器校准方法、机器人***以及控制*** | |
CN112643682B (zh) | 示教方法 | |
CN113165187A (zh) | 图像信息处理装置、把持***以及图像信息处理方法 | |
KR101740898B1 (ko) | 로봇 교시 장치 | |
JP5447150B2 (ja) | ロボットの制御装置およびロボットを制御する方法 | |
JP5516974B2 (ja) | 視覚センサのマウント装置と方法 | |
Choi et al. | Kinesthetic sensing of hole position by 3-finger gripper | |
WO2022070575A1 (ja) | 移動体の制御装置及び制御方法 | |
US20230419546A1 (en) | Online camera calibration for a mobile robot | |
CN117769482A (zh) | 机器人控制设备、机器人控制***和机器人控制方法 | |
KR20220108143A (ko) | 위치 검출 방법, 제어 장치 및 로봇 시스템 | |
CN117769483A (zh) | 机器人控制设备、机器人控制***以及机器人控制方法 | |
JP2021030366A (ja) | 移動ロボット |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200929 |