发明内容
一个或多个示例性实施例提供一种可有效地响应可在机器人的移动期间发生的意外碰撞的机器人控制系统。此外,一个或多个示例性实施例包括可在意外碰撞之后自动、安全并迅速地重新开始机器人移动的机器人控制系统。
各个方面将在以下描述中部分地阐述,并且部分地,从该描述将是清楚的,或者可通过呈现的示例性实施例的实践来习得。
根据一个或多个示例性实施例,提供一种用于控制包括致动器的机器人的机器人控制系统。所述机器人控制系统可包括:碰撞检测器,被配置为:在机器人的移动期间检测机器人与外部对象之间发生的碰撞;驱动控制器,被配置为控制致动器;位置计算器,被配置为:计算指示发生碰撞的碰撞位置的碰撞位置坐标信息和指示机器人被从碰撞产生的碰撞力推动到的推动位置的推动位置坐标信息中的至少一个;重新开始坐标设置器,被配置为:基于由位置计算器计算的结果,将碰撞位置或包括在机器人的预设移动路径中并与碰撞位置间隔开的位置设置为用于重新开始机器人的移动操作的重新开始位置。
机器人还可包括末端执行器,重新开始坐标设置器还可被配置为:根据碰撞位置坐标信息和推动位置坐标信息计算在发生碰撞之后的机器人的移动距离;基于末端执行器的尺寸和移动距离,来计算用于避免末端执行器与外部对象之间的干扰的调节位置,其中,调节位置包括在机器人的预设移动路径中;选择碰撞位置和调节位置中的一个作为用于重新开始机器人的移动操作的重新开始位置。
驱动控制器可通过选择多个驱动模式中的一个来控制致动器,驱动控制器还被配置为:响应于由碰撞检测器检测到碰撞,通过选择所述多个驱动模式之中的使由致动器产生的力维持在预定范围内的力保持模式来控制致动器。
所述机器人控制系统还可包括:力计算器,被配置为计算施加到机器人的碰撞力,其中,由位置计算器计算的推动位置坐标信息指示:响应于驱动控制器通过选择力保持模式来控制致动器,机器人被碰撞力推动到的位置;重新开始坐标设置器被配置为:基于由位置计算器计算的结果和由力计算器计算的结果,设置用于重新开始机器人的移动操作的重新开始位置。
致动器可包括被电信号操作的电机,碰撞检测器可通过感测电机的电流的变化来检测碰撞。
碰撞检测器可通过比较发送到致动器的命令值与通过命令值操作的致动器的操作结果值来检测碰撞。
致动器可包括:旋转轴;编码器,被配置为检测旋转轴的位置的改变;电机,被电信号操作,其中,碰撞检测器可根据编码器的检测信号来检测碰撞。
由驱动控制器使用的所述多个驱动模式可包括从以下模式中选择的至少两个模式:用于控制机器人的驱动速度的速度控制模式、用于控制机器人的位置的位置控制模式、用于控制由机器人产生的力的力控制模式和力保持模式。
机器人可包括多个关节和驱动体,致动器可包括用于驱动所述多个关节的关节致动器和用于驱动驱动体的驱动致动器,并且,在响应于检测到碰撞而执行的力保持模式下,致动器被配置为:产生用于将所述多个关节和驱动体维持在当前位置的保持力,并被操作使得在力保持模式下,响应于确定从外部施加到机器人的外力大于保持力,所述多个关节的位置和驱动体的位置中的至少一个被外力改变。
在力保持模式下,保持力的大小可被设置使得响应于检测到碰撞,机器人被作用在机器人上的反作用力推动以改变所述当前位置中的至少一个。
机器人还可包括:设置在所述多个关节的最终端部处的末端执行器;力计算器还可被配置为:通过使用所述多个关节的角度值和施加到所述多个关节的外部扭矩值作为输入并使用雅可比矩阵,来计算施加到机器人的碰撞力的大小和方向。
所述机器人控制系统还可包括:存储装置,存储关节致动器和驱动致动器的当前位置信息,其中,位置计算器使用当前位置信息来计算碰撞位置坐标信息和推动位置坐标信息。
机器人还可包括:末端执行器,设置在所述多个关节的最终端部处;其中,重新开始坐标设置器还可被配置为:基于碰撞位置坐标信息和推动位置坐标信息来计算机器人的移动距离作为碰撞的结果,并基于末端执行器的尺寸和移动距离来设置机器人的重新开始位置。
当在机器人的预设移动路径上存在比重新开始位置更靠近机器人的推动位置的位置时,重新开始坐标设置器可将所述更靠近的位置重新设置为重新开始位置。
根据一个或多个示例性实施例,提供一种控制机器人的方法。所述方法可包括:设置机器人的移动路径,控制机器人沿着移动路径移动,响应于在移动路径中检测到机器人的碰撞,基于参考力根据施加到机器人的外力来控制机器人改变其当前位置,计算当前位置的坐标和改变的位置的坐标,并基于计算的结果确定重新开始机器人的操作的重新开始位置。
可响应于检测到的碰撞,控制机器人不产生大于参考力的力。
确定重新开始位置的步骤可包括:计算与发生碰撞的当前位置间隔开的调节位置;将调节位置确定为重新开始位置。
可通过以下步骤确定重新开始位置:计算与发生碰撞的当前位置间隔开预定距离的调节位置,确定在移动路径中的多个预设位置之中最靠近改变的位置的邻近位置,并考虑从改变的位置到邻近位置的距离和从改变的位置到调节位置的距离,来选择邻近位置和调节位置中的一个作为重新开始位置。
所述方法还可包括:响应于检测到机器人的碰撞,进行控制,以将由机器人产生的力限制到预定范围。
所述方法还可包括:比较外力与预定范围;响应于确定外力大于或等于预定范围,控制机器人改变其当前位置。
具体实施方式
现在将详细参照在附图中示出的示例性实施例,其中,相同的参考标记始终表示相同的元件。在这方面,所呈现的实施例可具有不同的形式,并且不应被解释为限于在此阐述的描述。因此,以下仅通过参照附图来描述实施例,以解释本描述的多个方面。当诸如“……中的至少一个”的表述在一列元素之后时,该表述修饰整列元素而不是修饰列中的单个元素。
以下将参照附图详细描述根据示例性实施例的机器人控制系统的配置和操作。
图1示例性地示出根据实施例的机器人控制系统的操作状态。
参照图1,机器人控制系统可包括机器人4和用于控制机器人4的控制器70。机器人4可包括通过多个关节3a、3b和3c可旋转地互相连接的多个臂5a、5b、5c和5d,以及安装在关节3a、3b和3c的最终端部处的臂5d上的末端执行器(end effecter)8。
机器人4可包括用于执行驱动功能的驱动体7。机器人4和控制器70有线或无线地彼此连接。机器人4通过根据从控制器70发送的信号在从开始位置P0到目标位置P10设置的移动路径上顺序地经过位置P1至位置P9来执行驱动操作。位置P0至位置P10可被预先设置并被存储在机器人4的存储器或存储装置中。
图2示例性地示出在图1的机器人控制系统的操作期间机器人4的意外碰撞。图3示例性地示出根据图2的机器人4的意外碰撞的机器人4的位置的改变。
图2示例性地示出在沿着先前设置的移动路径的位置P1至位置P9移动时机器人4与外部对象9碰撞的意外碰撞。
控制器70可通过选择多个驱动模式中的一个来控制机器人4。由控制器70操作的驱动模式可包括速度控制模式、位置控制模式和力控制模式中的至少一个以及力保持模式。
在位置控制模式中,通过将关节3a、3b和3c、末端执行器8以及驱动体7的位置设置为将要控制的目标值来准确地控制机器人4的位置。
在速度控制模式中,通过将关节3a、3b和3c、末端执行器8以及驱动体7的移动速度和/或加速度设置为将要控制的目标值来稳定地控制机器人4的移动速度和操作速度。
在力控制模式中,通过将由关节3a、3b和3c、末端执行器8以及驱动体7产生的力的大小设置为将要控制的目标值来准确地控制在机器人4的移动或操作期间由机器人4施加的力的大小。力控制模式可以是用于控制由例如电机产生的扭矩的大小的扭矩控制模式。
在力保持模式中,为了将关节3a、3b和3c、末端执行器8以及驱动体7的位置维持在当前位置,由关节3a、3b和3c、末端执行器8以及驱动体7产生的力的大小被控制为恒定在各自的力的预设大小的范围内或恒定在更小的值。力保持模式可以是用于控制由例如电机产生的扭矩的大小恒定在预设保持扭矩或恒定在更小的扭矩的扭矩保持模式。
如图2中所示,当机器人4在移动时与外部对象9碰撞时,力保持模式被执行。由于控制器70和机器人4被提供有检测意外碰撞的功能,所以一旦在机器人4与外部对象9之间发生意外碰撞,控制器70就控制用于驱动机器人4的驱动模式处于力保持模式。
在力保持模式下(即,在扭矩保持模式下),机器人4被控制为产生用于维持当前姿势和位置的最小量的扭矩。在扭矩保持模式下,当通过来自外部的外力施加到机器人4的外部扭矩大于可等于预设保持扭矩的参考扭矩时,由于关节3a、3b和3c以及驱动体7中的至少一个被外部扭矩推动,所以机器人4的位置被改变。
在扭矩保持模式下,参考扭矩被设置,使得机器人4的位置被通过如图3中所示的意外碰撞作用在机器人4上的反作用力推动。
图4示例性地示出用于响应图2的机器人4的意外碰撞的机器人控制系统的操作状态。
在根据相关领域的用于控制机器人的控制系统中,由于仅与关于移动路径的开始位置、目标位置以及预设位置有关的信息被提供,所以控制系统难以识别发生意外碰撞的碰撞位置C。因此,在意外碰撞之后,操作人员通过手动地再分配用于重新开始机器人的移动操作的重新开始位置,或通过强制地将机器人移动到用于从起点(或者,开始位置)重新开始移动操作的重新开始位置,来参与重新操作机器人。因此,机器人的重新开始是困难的并且花费很多时间。
根据基于示例性实施例的机器人控制系统,当机器人4在移动(例如,从位置P5至位置P6)时与外部对象9在碰撞位置C处碰撞时,机器人4被由于碰撞导致的反作用力推动并被移动至推动位置S。
机器人控制系统可计算指示碰撞位置C的碰撞位置坐标信息、指示推动位置S的推动位置坐标信息和在发生碰撞时施加到机器人4的碰撞力中的至少一个,并基于计算的结果设置用于重新开始机器人4的移动操作的重新开始位置T。
基本上,机器人控制系统可将碰撞位置C设置为用于重新开始机器人4的移动操作的重新开始位置T。当机器人4和外部对象9从碰撞位置C移除时,机器人4可被移动至被设置为重新开始位置T的碰撞位置C。
在设置重新开始位置T的处理中,考虑到在机器人4的移动路径上仍可能存在外部对象9,可计算用于减少机器人4与外部对象9之间的干扰的调节位置F。调节位置F与碰撞位置C间隔开,并且调节位置F包括在机器人4的移动路径中。
在机器人控制系统计算调节位置F之后,机器人4的碰撞位置C和调节位置F中的任何一个被设置为重新开始位置T。换言之,通过使用诸如机器人4的碰撞位置C和推动位置S、机器人4的尺寸和诸如末端执行器8的长度Lt的尺寸的信息中的至少若干条信息,将用于避免机器人4与外部对象9之间的干扰的位置设置为重新开始位置T。
此外,在确定重新开始位置T之后,作为机器人4的移动路径上的位置P1至P9中的最靠近推动位置S的一个位置的邻近位置P5被确定。然后,通过比较推动位置S与邻近位置P5之间的距离D1以及推动位置S与重新开始位置T之间的距离D2,最靠近位置可被确定为用于重新开始机器人4的移动操作的最终重新开始位置。
图5是图1的机器人控制系统的控制器70的配置的示意性框图。图6是图5的控制器70的一些构成元件的配置的示例性框图。
机器人控制系统可包括用于控制包括致动器4a的机器人4的控制器70。
控制器70可包括碰撞检测器71、关节驱动控制器74、驱动体控制器75、位置和力计算器72以及重新开始坐标设置器73,其中,碰撞检测器71用于在机器人4的移动期间检测机器人4与外部对象9之间的碰撞,关节驱动控制器74和驱动体控制器75作为用于控制致动器4a的驱动控制器,位置和力计算器72用于计算在机器人4与外部对象9之间的碰撞期间施加到机器人4的碰撞力以及碰撞位置坐标信息和推动位置坐标信息中的至少一个,重新开始坐标设置器73用于计算指示意外碰撞的发生之后用于重新开始机器人4的移动操作的重新开始位置的重新开始坐标。
控制器70可以以各种形式实现,例如,控制计算机、具有控制功能并配备至少一个半导体芯片、至少一个载有控制软件的半导体芯片,或者包括可嵌入在计算机中的控制软件的存储器的印刷电路板。
控制器70可包括输入/输出接口76,其中,控制器70通过输入/输出接口76连接到致动器4a和存储装置77。这里,输入/输出接口76可包括数字调制解调器、射频(RF)调制解调器、WiFi芯片以及相关的软件和/或固件中的任何一个或任何组合。存储装置77存储关节致动器5和驱动致动器6的当前位置信息。存储装置77可包括易失性存储器(诸如,随机存取存储器(RAM))或非易失性存储器(诸如,闪存)。此外,存储装置77可包括固态驱动器(SSD)、硬盘驱动器(HDD)和光盘驱动器(ODD)中的至少一个。
关节致动器5驱动机器人4的关节3a、关节3b和关节3c。关节致动器5可包括用于分别驱动机器人4的关节3a、关节3b和关节3c的多个关节致动器。驱动致动器6驱动机器人4的驱动体7,并且还可具有多个驱动致动器。
例如,关节致动器5和驱动致动器6中的每个可包括进行旋转的旋转轴、检测旋转轴的位置的变化的编码器以及由电信号操作的电机。在这种情况下,碰撞检测器根据编码器的检测信号检测碰撞。
由于实施例不受关节致动器5和驱动致动器6的实现方法的限制,所以关节致动器5和驱动致动器6可由线性移动的直线电机而不是由具有旋转轴的电机实现。
碰撞检测器71通过在机器人4的移动期间检测机器人4与外部对象9之间的碰撞来执行生成信号的功能。例如,碰撞检测器71可通过感测流过关节致动器5的电机和驱动致动器6的电机中的至少一个的电流的改变,来检测机器人4与外部对象9之间的意外碰撞。
在碰撞检测器71的操作的另一示例中,碰撞检测器71可通过比较发送到致动器4a的命令值与致动器4a通过命令值实际操作的操作结果值,来检测碰撞。对于该操作,碰撞检测器71可使用与命令值有关的致动器操作数据以及与关节致动器5和驱动致动器6中的每个的正常操作范围相关的实际操作结果值。
例如,可被输入到关节致动器5和驱动致动器6的命令值、以及在没有外部干扰的正常操作情况下通过命令值操作关节致动器5和驱动致动器6的参考操作结果值被预先存储在存储装置77中作为致动器操作数据。在机器人4的移动期间,当关节致动器5和驱动致动器6的实际操作结果值与参考操作结果值之间的差超过预设阈值时,碰撞检测器71可确定发生碰撞,从而生成指示意外碰撞的发生的检测信号。
实施例不受碰撞检测器71的详细配置的限制。碰撞检测器71可以以各种形式实现。例如,可通过使用检测冲击的量的加速度传感器来实现碰撞检测器71。
作为驱动控制器的关节驱动控制器74和驱动体控制器75可选择多个驱动模式中的一个并控制关节致动器5和驱动致动器6。
由驱动控制器操作的驱动模式可包括速度控制模式、位置控制模式和扭矩控制模式(力控制模式)中的至少一个以及扭矩保持模式(力保持模式)。
位置控制模式是准确地控制机器人的位置的方法。速度控制模式是稳定地控制机器人的移动速度和操作速度的方法。扭矩控制模式是控制由关节致动器5和驱动致动器6产生的各自的扭矩的量的方法。扭矩保持模式是将由关节致动器5和驱动致动器6产生的各自的扭矩的量控制为恒定的方法。这里,在每个驱动模式下,由关节致动器5和驱动致动器6产生的各自的扭矩的量可彼此相同或不同。例如,在扭矩保持模式中,由关节致动器5产生的扭矩的量可与由驱动致动器6产生的扭矩的量相同或不同。
在扭矩保持模式中,由关节致动器5和驱动致动器6的电机产生的扭矩的量被控制为恒定在各自的预设保持扭矩或恒定在更小的扭矩。
当碰撞检测器71检测到机器人4的碰撞时,关节驱动控制器74和驱动体控制器75可选择驱动模式之中的扭矩保持模式,其中,在扭矩保持模式下,由致动器4a的关节致动器5和驱动致动器6产生的扭矩维持恒定,从而控制致动器4a。
换言之,在发生碰撞之前,关节驱动控制器74和驱动体控制器75在速度控制模式、位置控制模式和扭矩控制模式中的任何一种模式下控制致动器4a。当发生碰撞时,关节驱动控制器74和驱动体控制器75通过将驱动模式切换到扭矩保持模式来控制致动器4a。
由于在扭矩保持模式下,机器人4被控制以产生用于维持当前姿势和位置的最小量的扭矩,所以当通过从外部传递至机器人4的外力而作用在机器人4上的外部扭矩大于参考扭矩时,关节3a、3b和3c以及驱动体7被外部扭矩推动,从而机器人4的位置被改变。在扭矩保持模式下,参考扭矩的量被设置,使得机器人4被通过碰撞而作用在机器人4上的反作用力推动。这里,参考扭矩可被设置为关节致动器5或驱动致动器6的电机的预设保持扭矩、或被设置为关节致动器5的电机的预设保持扭矩和驱动致动器6的电机的预设保持扭矩的平均值。关于参考扭矩的信息可被预先存储在存储装置77中。
位置和力计算器72可包括:用于计算在碰撞期间施加到机器人4的碰撞力的力计算器72b,以及用于计算指示碰撞位置C的碰撞位置坐标信息和指示推动位置S的推动位置坐标信息中的至少一个的位置计算器72a。
位置计算器72a可使用存储在存储装置77中的关节致动器5和驱动致动器6的当前位置信息来计算碰撞位置坐标信息和推动位置坐标信息。
参照图6,存储装置77可包括:用于在机器人4的移动期间存储当前位置信息的位置信息缓冲器101、用于存储末端执行器8的操作状态的工具状态缓冲器102、以及用于存储与末端执行器8的形状和尺寸相关的基本信息(诸如,末端执行器(工具)8的长度、中心位置或宽度)的末端执行器信息存储装置103。这里,位置信息缓冲器101可包括当前位置的坐标Xi、Yi、Zi和当前姿势的坐标Rxi、Ryi、Rzi,工具状态缓冲器102可包括表示工具的提示(tips)的位置信息的Di、表示工具的操作状态信息的IOi和表示工具的数量的Ti,末端执行器信息存储装置103可包括易失性存储器(诸如,RAM)或非易失性存储器(诸如,闪存),其中,i为自然数。此外,末端执行器信息存储装置103可包括SSD、HDD和ODD中的至少一个。
安装在机器人4的关节3a、关节3b和关节3c的最终端部上的末端执行器8的类型可根据使用机器人4的用户而被不同地改变。由于与安装在机器人4上的末端执行器8的形状和尺寸相关的基本信息被存储在末端执行器信息存储装置103中,所以当机器人4的移动操作的重新开始位置在机器人4的意外碰撞之后被确定时,末端执行器8的基本信息可被使用。
重新开始坐标设置器73可设置重新开始位置,以根据由位置和力计算器72计算的碰撞力以及碰撞位置坐标信息和推动位置坐标信息中的至少一个,来重新开始机器人4的移动操作。
此外,当重新开始坐标设置器73考虑到在机器人4的移动路径上仍然可能存在外部对象9来设置重新开始位置时,机器人4与外部对象9之间的干扰可被减少。换言之,当重新开始坐标设置器73设置重新开始位置时,在通过使用诸如机器人4的碰撞位置和推动位置、机器人4的尺寸和末端执行器8的长度的信息中的至少若干条信息来计算调节位置作为用于避免机器人4与外部对象9之间的干扰的位置之后,通过选择碰撞位置和调节位置中的一个来设置重新开始位置。
此外,在重新开始坐标设置器73设置重新开始位置之后,在机器人4的移动路径上的位置之中最靠近推动位置的邻近位置被确定。然后,通过比较推动位置与邻近位置之间的距离和推动位置与重新开始位置之间的距离,最靠近推动位置的邻近位置或重新开始位置可被设置为用于重新开始机器人4的移动操作的最终重新开始位置。
图7是示出通过图1的机器人控制系统执行的机器人控制方法的操作的示例性流程图。图8是示出图7流程图的后续操作的示例性流程图。
根据实施例的机器人控制方法可包括用于操作机器人的各种功能之中的以下功能:选择机器人驱动功能(S20);执行机器人驱动功能(S30);设置机器人驱动功能的基本数据(S40);将设置的基本数据存储在存储装置中(S50);使用基本数据开始机器人的移动操作(S60);将在机器人的移动期间的移动路径的位置的坐标值以及与机器人的关节和末端执行器的操作有关的信息存储在存储装置中(S70);检测机器人与外部对象之间的碰撞(S80);当检测到碰撞时切换到扭矩保持模式(S90);机器人在切换到扭矩保持模式的同时或紧接着之后被由于碰撞的反作用力推动(S100);存储发生碰撞的碰撞位置和机器人被推动到的推动位置(S110);通过计算碰撞力以及碰撞位置坐标信息和推动位置坐标信息中的至少一个来计算用于避免机器人的末端执行器与外部对象之间的干扰的调节位置,并通过选择碰撞位置和调节位置中的一个来设置用于重新开始机器人的移动操作的重新开始位置(S130);将作为具有重新开始位置的路径的位置之中的机器人的当前位置的最靠近位置的邻近位置与重新开始位置进行比较(S140);当根据比较操作的比较结果路径上的邻近位置比重新开始位置更靠近机器人的当前位置时,通过将路径上的邻近位置设置为最终重新开始位置,将机器人移动到路径上的邻近位置(S150);当重新开始位置比路径上的邻近位置更靠近机器人的当前位置时,移动至重新开始位置(S160);并且重新开始机器人的移动操作(S170)。
在设置基本数据的处理(S40)并将基本数据存储在存储装置中的处理(S50)中,用户可输入如图1中所示的机器人的移动操作的开始位置P0和目标位置P10,通过使用由用户输入的开始位置P0和目标位置P10的坐标信息可自动地计算关于移动路径上的位置P1至位置P9的坐标信息。
此外,在设置基本数据的处理(S40)并将基本数据存储在存储装置中的处理(S50)中,指示在机器人的驱动体7的移动期间的关节和末端执行器的操作的工具中心点(toolcenter point)(TCP)的值可被指定。因此,机器人沿着预设的移动路径移动并同时准备改变关节和末端执行器的位置和姿势。
当在坐标的计算中计算施加到机器人的碰撞力时(S130),可通过使用机器人的关节的角度值和施加到关节的外部扭矩值作为输入并使用雅可比(Jacobian)矩阵,来计算施加到机器人的碰撞力的大小和方向。
参照等式1,表示指示机器人的末端执行器的线速度的矩阵,/>表示指示机器人的关节的角速度的矩阵,“J”表示指示/>与/>之间的关系的机器人的雅可比矩阵。
[等式1]
参照等式2,“Fx”表示作用在机器人的末端执行器上的力(力的大小和方向),“Fq”表示指示作用在机器人的关节上的扭矩的矩阵,“J”表示机器人的雅可比矩阵。
[等式2]
Fx=J×Fq
因此,可通过使用机器人的关节的角度值和雅可比矩阵来识别机器人的末端执行器的线速度,并且可通过使用实际作用在关节上的扭矩和雅可比矩阵来识别作用在机器人的末端执行器上的力的大小和方向。
在重新开始机器人的移动操作的处理(S170)中,因为可计算由于碰撞而作用在机器人的末端执行器上的力的大小和方向,所以可通过调节用于重新开始机器人的移动操作的机器人的关节和驱动体所产生的力的大小的灵敏度以及机器人的移动速度,来稳定地重新开始移动操作。
[等式3]
外部扭矩=实际扭矩-(动态扭矩+摩擦扭矩)
可通过使用等式3中示出的电机的实际扭矩、动态扭矩和摩擦扭矩之间的关系来获得作用在机器人的关节上的扭矩(外部扭矩)。
在设置重新开始位置的处理(S130)中,可通过使用等式4来计算碰撞位置C与推动位置S之间的距离(即,图4中所示的推动距离)。
[等式4]
在设置重新开始位置的处理(S130)中,调节位置是用于通过使用诸如计算的推动距离、机器人的尺寸和末端执行器的长度的信息中的至少若干条信息来避免机器人与外部对象之间的干扰的位置。在计算调节位置之后,碰撞位置和重新开始位置中的任何一个被选择并被设置为重新开始位置。
根据上述机器人控制系统和机器人控制系统的控制方法,当发生意外碰撞时,机器人的驱动模式迅速改变为扭矩保持模式,使得机器人通过由于碰撞而导致的反作用力被移动至的推动位置。因此,由于碰撞对机器人和外部对象的损坏可被减少。
此外,由于机器人迅速识别碰撞位置和推动位置,并在意外碰撞之后自动地设置重新开始位置,因此重新开始操作可被迅速恢复。
此外,虽然机器人的末端执行器的尺寸可以根据用户而不同,但是可通过基于诸如机器人的末端执行器的不同的尺寸的信息设置机器人的重新开始位置,来减少末端执行器与外部对象之间的干扰,并且在意外碰撞之后机器人的移动操作中的安全可被确保。
上述方法或算法的操作或步骤可被实现为计算机可读记录介质上的计算机可读代码,或者可被实现为将通过传输介质传输的计算机可读代码。计算机可读记录介质是可存储之后可由计算机系统读取的数据的任何数据存储装置。计算机可读记录介质的示例包括只读存储器(ROM)、RAM、光盘(CD)-ROM、数字通用盘(DVD)、磁带、软盘和光学数据存储装置,但不限于此。传输介质可包括通过互联网传输的载波或各种类型的通信信道。计算机可读记录介质还可分布在联网的计算机系统上,使得计算机可读代码以分布的方式存储和执行。
根据示例性实施例,由附图(诸如,图5)中的框表示的组件、元件、模块和单元(在本段中统称为“组件”)中的至少一个可被实现为执行上述各自的功能的各种数量的硬件、软件和/或固件结构。例如,这些组件中的至少一个可使用可通过一个或多个微处理器或者其他控制设备的控制来执行各自的功能的直接电路结构,诸如,存储器、处理器、逻辑电路,查找表等。此外,这些组件中的至少一个可由包含用于执行特定逻辑功能的一个或多个可执行指令的模块、程序或代码的一部分具体实现,并且可由一个或多个微处理器或其他控制设备执行。此外,这些组件中的至少一个可包括处理器(诸如,执行各自的功能的中央处理器(CPU))、微处理器等,或可由处理器(诸如,执行各自的功能的中央处理器(CPU))、微处理器等来实现。这些组件中的两个或更多个可组合成执行组合的两个或更多个组件的所有操作或功能的一个单独的组件。此外,这些组件中的至少一个的至少部分功能可由这些组件中的另一个执行。此外,尽管在以上框图中没有示出总线,但是组件之间的通信可通过总线执行。以上示例性实施例的功能方面可以以在一个或多个处理器上执行的算法实现。此外,由框表示的组件或处理步骤可采用针对电子配置、信号处理和/或控制、数据处理等的任何数量的相关领域技术。
应当理解,在此描述的实施例应仅被认为是描述性的,而不是为了限制的目的。每个实施例内的特征或方面的描述通常应被认为可用于其他实施例中的其他类似的特征或方面。
虽然已经参照附图描述了一个或多个实施例,但是由本领域普通技术人员将理解,在不脱离由权利要求定义的精神和范围的情况下,可在实施例中进行各种形式和细节上的改变。