本发明涉及机器人控制装置。
背景技术:
在机器人的示教即动作命令的生成中,有时对成为基准的目标位置进行增加在机器人控制装置侧自动计算出的位置修正的设定。例如,有时会设定动作指令以通过照相机检测工件的错位并修正检测到的错位。在进行了这种设定的情况下,考虑了机器人向与用户期望的位置不同的位置进行动作,因此通常通过试运行进行动作确认。另外,由于在试运行中没有发生的原因,考虑到在正式运转中机器人可能移动到用户不期望的位置,有时会在机器人控制装置中设定机器人的动作限制区域。
另外,日本特开2018-8347号公报记载一种机器人系统(摘要),“具备:摄像部,其拍摄机器人;运算部,其基于控制机器人动作的程序取得表示该机器人的三维动作区域的参数,使用该参数生成机器人的动作区域的三维形状数据,并且基于用于确定机器人位置的标记的图像使机器人的实机的图像和形状数据重叠而生成增强现实空间;以及显示部,其显示增强现实空间”。
技术实现要素:
但是,如上所述,在设定机器人的动作限制区域的情况下,示教作业人员在现场进行设定作业的情况较多,通过示教作业人员的设定作业来生成精密的动作限制区域通常是不容易的。需要能够自动生成精密且安全的动作限制区域的装置。
本公开的一个方式是控制机器人动作的机器人控制装置,具备:动作控制部,其根据动作程序控制上述机器人的动作;动作路径存储部,其存储上述机器人根据上述动作程序进行动作时的上述机器人的预定可动部位的动作路径;动作限制区域生成部,其基于所存储的上述动作路径生成表示用于限制上述机器人的动作的动作限制区域的动作限制区域数据;以及动作限制部,其基于上述动作限制区域数据来限制上述动作限制区域中的上述机器人的动作。
附图说明
通过与附图关联的以下实施方式的说明,更加明确本发明的目的、特征和优点。在该附图中:
图1是表示包含一个实施方式的机器人控制装置的机器人系统的结构。
图2是机器人控制装置的功能框图。
图3表示修正前和修正后的机器人的动作路径。
图4是表示获得了具有宽度的动作路径的状态的图。
图5表示在工具前端点移动时机器人的可动部整体进入的区域。
图6表示在为了取得图4所示的工具前端点的动作路径而重复运行动作程序的情况下,可动部整体进入的区域
图7是表示机器人进入了动作区域范围外的动作限制区域的状态的图。
图8表示被扩展为包含进入到可动作区域的范围外的路径的可动作区域。
图9是表示在机器人控制装置的控制下执行的动作路径存储处理的流程图。
图10表示重复执行图3所示的动作的动作程序的例子。
图11表示使机器人重复执行3次预定动作时的动作路径。
图12是说明基于被定义为坐标点序列的动作路径来生成具有一定程度厚度的动作路径的方法的图。
具体实施方式
以下,参照附图说明本公开的实施方式。在所有附图中,对所对应的结构要素赋予共同的参考标记。为了便于理解,这些附图适当地改变了比例尺。另外,附图中所示的形式是用于实施本发明的一个例子,本发明不限于图示的形式。
图1是表示包含一实施方式的机器人控制装置50的机器人系统100的结构的图。如图1所示,机器人系统100具备机器人10、控制机器人10的机器人控制装置50、与机器人控制装置50连接的示教操作盘80。在图1中,机器人10被记载为垂直多关节机器人,但本发明不限于此,也可以使用其他类型的机器人。示教操作盘80具备用于进行示教输入的操作部、显示与示教相关的各种信息的显示部等。操作人员使用示教操作盘80进行机器人10的示教,生成机器人10的动作程序。
机器人控制装置50根据动作程序控制机器人10。另外,机器人控制装置50也可以具有作为具备cpu、rom、ram、存储装置、操作部、显示部、输入输出接口、网络接口等的通常计算机的结构。另外,如图1所示,在机器人系统100中设置有视觉传感器(照相机)90。视觉传感器90被配置在可拍摄机器人10处理的工件(未图示)的位置,将检测到工件的图像提供给机器人控制装置50。机器人控制装置50具有基于从视觉传感器90得到的图像检测工件的错位,进行机器人10的位置修正的功能(以下,将该位置修正也记载为视觉修正)。
如下面详细说明的那样,机器人控制器50存储根据动作程序进行动作的机器人10的动作路径,并且基于所存储的动作路径生成机器人10的动作限制区域。这里,动作路径是作为机器人10实际移动的位置信息而取得的。机器人10实际移动的位置信息能够使用基于从机器人10的各关节的伺服电动机得到的位置信息来计算的方法、在机器人10的可动部的预定部位安装加速度传感器、陀螺传感器等进行位置测量的方法等各种方法。作为一例,在机器人系统100正式运转前的测试运行时执行动作路径的存储,并基于所存储的动作路径生成动作限制区域。这样生成的动作限制区域在机器人系统100的正式运转时被用作应限制机器人10的动作的区域。
图2是机器人控制装置50的功能框图。这些功能块可以通过由机器人控制装置50的cpu运行存储装置中存储的各种软件来实现,或者可以通过以诸如asic(applicationspecificintegratedcircuit专用集成电路)等硬件为主体的结构来实现。机器人动作控制部55根据动作程序控制机器人10的动作。动作路径存储部51存储机器人10根据动作程序动作时的机器人10的预定可动部位的动作路径。动作限制区域生成部52基于所存储的动作路径生成表示用于限制机器人10的动作的动作限制区域的动作限制区域数据。动作限制部56将由动作限制区域生成部52生成的动作限制区域用作应限制机器人10的动作的区域。动作限制部56的限制包含在机器人10想要进入动作限制区域时使机器人10停止动作(禁止进入动作限制区域),或者在机器人10进入动作限制区域时限制动作速度。
参照图3-5说明动作路径存储部51和动作限制区域生成部52的动作。图3表示机器人10的动作路径。这里,说明将机器人10的动作路径作为机器人10中的工具前端点的动作轨迹来求出的例子。图3中实线表示的路径111表示机器人10根据动作程序指定的路径进行动作时的动作路径。这里,通过动作程序执行从目标位置p1前进到目标位置p5,返回位置p1的指令。但是,在增加视觉修正等进行的位置修正的情况下,机器人10的动作路径有时会如图3中的虚线所示的动作路径112那样变化。
由于视觉修正等的修正值发生变化,所以当重复机器人10的动作时,动作路径也发生变化。因此,当通过使机器人10重复动作而使存储的动作路径重叠时,可以得到如图4所示的具有一定宽度的动作路径113。动作限制区域生成部52通过执行充分次数的测试运转,将作为具有一定宽度的区域而得到的动作路径113定义为机器人10的可动作区域,求出可动作区域以外的范围作为机器人10的动作限制区域。作为一例,可动作区域可以被定义为包含多条被存储的动作路径的管状区域。这样,基于机器人10实际动作的动作路径生成动作限制区域,由此能够生成精密且安全性高的动作限制区域。另外,在图3和图4的例子的情况下,动作限制区域被用作在机器人10的工具前端点进入时应限制动作的区域。
接着,参照图5~图8说明基于机器人10的可动部位整体(机器人主体)所进入的区域来生成动作限制区域时的例子。作为一例,如图5所示,假设机器人10从实线所示的位置/姿势(工具前端点的位置p1)移动到虚线所示的位置/姿势(工具前端点的位置p2)的状态。图5所示的区域201表示工具前端点从位置p1移动到位置p2时,机器人10的可动部整体进入的区域。进入区域存储部57存储表示这样的进入区域201的进入区域数据。作为一例,进入区域存储部57也可以存储表示在机器人10的测试运行中,机器人10的可动部位整体(机器人主体)的位置的信息(例如表示各关节的位置的信息)。
此时,动作限制区域生成部52将作为测试运转中机器人10的可动部位整体(机器人主体)进入的区域而生成的可动作区域以外的区域定义为动作限制区域。作为一例,动作限制区域生成部52基于测试运转中由动作路径存储部51存储的机器人10的可动部位整体的位置信息,使机器人10的三维模型在虚拟空间上进行模拟动作,由此可以求出机器人10的可动部位整体进入的区域。
动作限制部56基于由动作限制区域生成部52生成的动作限制区域来限制机器人10的动作。作为一例,动作限制部56在机器人10正式运转时,基于机器人10的位置信息使作机器人10的简易模型(例如,将关节部位用球体建模后的模型)在虚拟空间上进行模拟动作,计算该简易模型是否进入动作限制区域,由此可以检测机器人10是否进入动作限制区域。
图6表示在为了取得图4所示的工具前端点的动作路径113而重复运行动作程序的情况下,机器人10的可动部整体(机器人主体)进入的区域即动作区域211。在这种情况下,动作限制区域生成部52将动作区域211的外侧区域(即,机器人10未进入的区域)作为动作限制区域来生成。
在通过机器人系统100的测试运行获得图6所示的作为可动部整体的动作区域211的情况下,使机器人系统100正式运转的情况下,如图7中作为动作路径113a所示那样,假设机器人10进入动作区域211的范围外(即动作限制区域)的情况。考虑到这样的情况,机器人控制装置50也可以具备动作预测部58和执行许可请求部53。动作预测部58基于动作程序预测机器人10是否要进入动作限制区域。例如,当机器人10根据动作指令开始从位置p1向位置p2移动时,动作预测部58基于该动作指令计算机器人10的移动目的地的位置p2,并预测机器人10的动作。
执行许可请求部53在通过动作预测部58预测出机器人10要进入动作限制区域的情况下,请求是否许可机器人10进入动作限制区域的用户进行的输入操作。作为一例,执行许可请求部53在通过动作预测部58预测出机器人10进入动作限制区域的时间点,使示教操作盘80的显示画面显示请求进入动作限制区域的许可的输入操作画面。并且,执行许可请求部53在用户进行了许可进入动作限制区域的输入操作的情况下,使机器人10进入动作限制区域。另外,机器人控制装置50可以使机器人10在可动作区域的边界部停止,直到用户进行许可进入动作限制区域的输入操作为止。
这样,即使在通过用户许可进入动作限制区域的情况下,动作限制部56也会考虑安全性,使机器人10在动作限制区域内的动作速度比基于动作指令的动作速度低。
机器人控制装置50可以具备检测机器人10和物体之间的碰撞的碰撞检测装置54。机器人动作控制部55可以在通过碰撞检测装置54检测到机器人10的碰撞的情况下,停止机器人10的动作。碰撞检测装置54可以采用以下各种结构:例如由传感器检测机器人10的各轴的电动机的电流值并在电流值超过阈值的情况下判定为发生了碰撞的结构,通过干扰观测器推定施加给机器人10的干扰扭矩并在干扰扭矩值超过阈值的情况下判定为发生了碰撞的结构,通过加速度传感器等检测施加给机器人10的冲击并且在冲击的大小超过阈值的情况下判定为发生了碰撞的结构等。如上所述,在通过用户许可进入动作限制区域的情况下,机器人动作控制部55(或动作限制部56)通过降低碰撞检测装置54的阈值的值来提高对机器人10的物体的碰撞检测的灵敏度。由此,能够提高机器人10在动作限制区域动作时的安全性。
另外,如上述那样,机器人控制装置50(动作限制区域生成部52)也可以在对于用户许可进入动作限制区域时的动作路径,动作正常完成的情况下,为包含该动作路径而扩展可动作区域。图8示出了被扩展为包含动作路径113a的动作区域221,该动作路径113a包含如图7所示那样对于进入到动作区域211范围外的路径,通过正常执行动作而进入动作区域211的范围外的路径。这样,动作限制区域生成部52在许可机器人10进入动作限制区域的情况下,可以将进入动作限制区域内的机器人10的预定可动部位的动作路径或机器人10(可动部位整体)进入动作限制区域内的区域从动作限制区域排除。
图9是表示在机器人控制装置50(动作路径存储部51)的控制下执行的动作路径存储处理的流程图。首先,机器人控制装置50运行动作程序(步骤s101)。接着,机器人控制装置50确认机器人10是否正在进行动作(步骤s102)。当机器人10正在进行动作时(s12:是),机器人控制装置50确认动作路径的存储是否有效(步骤s103)。在机器人10未动作时(s102:否),处理进入步骤s105。在步骤s103中判定为动作路径的存储有效的情况下(s103:是),机器人控制装置50存储动作路径(步骤s104)。在动作路径的存储未有效的情况下(s103:否),处理进入步骤s105。
在步骤s105中,机器人控制装置50确认动作程序是否正在运行。在动作程序是正在运行的情况下(s105:是),重复从步骤s102开始的处理。在动作程序未运行的情况下(s105:否),结束本处理。通过以上的动作流程,能够存储测试运行时等的机器人10的动作路径。
接下来,将参照图10-图12说明使机器人10重复执行参照图3从上述的位置p1移动到位置p5并返回到位置p1的动作来存储动作路径并生成动作限制区域的情况的实施例。图10表示重复执行图3所示的动作的动作程序的例子。图10表示在可作为示教操作盘80使用的平板终端80a的显示画面81上显示动作程序(program1)的状态。
运行图10的动作程序时的动作大致如下。
(1)首先,机器人10移动到基准位置即位置p1(动作程序、第1行)。
(2)接着,使动作路径的存储有效(动作程序、第2行)。
(3)将基于由视觉传感器90拍摄的图像的视觉修正值存储在位置寄存器(位置寄存器[1])中。
(4)机器人10在从适用了视觉修正值的位置p2依次移动到位置p5后,返回基准位置即位置p1。
(5)每当di[1]为开启(on)时(每次视觉修正有效时)执行上述(3)和(4)的处理。
通过以上的处理,机器人10存储运行上述动作程序过程中的动作路径。
图11表示上述(3)、(4)的处理被重复3次时的动作路径。图11示出了通过上述(3)和(4)的处理的第一次动作路径141、第二次动作路径142和第三次动作路径143。这里,考虑基于这三个动作路径来生成动作限制区域。由于各动作路径被定义为机器人坐标系内的坐标点序列,因此如果将这些动作路径以外的区域直接定义为动作限制区域,则将这些动作路径稍微偏离的路径视为位于动作限制区域。
因此,考虑基于被定义为坐标点序列的动作路径具有一定程度的厚度的情形。图12是说明基于被定义为坐标点序列的动作路径来生成具有一定厚度的动作路径的方法的图。在图12中,将在没有位置修正的情况下的从位置p11到位置p12的动作路径设为动作路径241。将对位置p11进行了位置修正后的位置设为位置p11’,将对位置p12进行了位置修后的位置设为位置p12’,将从位置p11’到位置p12’的动作路径设为动作路径242。另外,生成通过动作路径241和动作路径242的中心的路径243。如果将位置p11和位置p11’的中心设为位置p11”,则位置p11”在路径243上。这里,以位置p11为中心,定义与位置p11和位置p11’接触的圆250。与圆250同样,如果沿着路径243从位置p11”到位置p12”生成与动作路径241和动作路径242接触的圆,则可以生成与动作路径241和动作路径242之间的宽度一致的管状区域。该管状区域不会在动作路径242(即,在存在位置修正的情况下的路径)外侧生成。将该管状区域作为具有厚度的动作路径。将通过这样的方法获得的具有厚度的动作路径外侧的区域作为动作限制区域,由此能够生成精密且安全的动作限制区域。
关于在动作路径存储部51中存储有多个动作路径的情况,例如通过对成为基准的动作路径(相当于图12中的动作路径241的路径)和位置修正的动作路径中的每一个适用上述方法,也能够生成包含所存储的多个动作路径的具有厚度的动作路径(动作区域)。并且,将该动作区域的外侧区域定义为动作限制区域。
如以上说明那样,根据本实施方式能够自动生成精密且安全的动作限制区域。
以上说明了本公开的实施方式,但是本领域的技术人员理解可以在不脱离专利技术方案的公开范围的情况下进行各种修正和变更。
在上述实施方式中,主要说明了通过测试运转存储动作路径并生成动作限制区域的例子,但上述实施方式也可以适用于包含正式运转时基于机器人的动作履历生成动作限制区域的结构。
执行上述实施方式中的动作路径存储处理等各种处理的程序可以记录在计算机可读取的各种记录介质(例如rom、eeprom、闪存等半导体存储器、磁记录介质、cd-rom、dvd-rom等的光盘)上。
1.一种机器人控制装置,控制机器人的动作,其特征在于,
该机器人控制装置具备:
动作控制部,其根据动作程序控制上述机器人的动作;
动作路径存储部,其存储上述机器人根据上述动作程序进行动作时的上述机器人的预定可动部位的动作路径;
动作限制区域生成部,其基于所存储的上述动作路径生成表示用于限制上述机器人的动作的动作限制区域的动作限制区域数据;以及
动作限制部,其根据上述动作限制区域数据来限制上述动作限制区域中的上述机器人的动作。
2.根据权利要求1所述的机器人控制装置,其特征在于,
上述动作限制部进行的上述机器人的动作限制包含禁止上述机器人进入上述动作限制区域和使上述机器人在上述动作限制区域中的动作速度比基于动作指令的速度低的任意一个。
3.根据权利要求1或2所述的机器人控制装置,其特征在于,
该机器人控制装置还具备:进入区域存储部,其存储表示根据上述动作程序进行动作的上述机器人的可动部位整体进入了的区域的进入区域数据,
上述动作限制区域生成部基于上述进入区域数据来设定上述动作限制区域。
4.根据权利要求1~3中任意一项所述的机器人控制装置,其特征在于,
上述机器人控制装置还具备:
动作预测部,其基于上述动作程序预测上述机器人是否要进入上述动作限制区域;以及
执行许可请求部,其在通过上述动作预测部预测出上述机器人进入上述动作限制区域的情况下,请求是否许可上述机器人进入上述动作限制区域的输入操作。
5.根据权利要求4所述的机器人控制装置,其特征在于,
在经由上述执行许可请求部进行了许可上述机器人进入上述动作限制区域的上述输入操作时,上述动作限制部使进入上述动作限制区域过程中的上述机器人的动作速度比基于动作指令的速度低。
6.根据权利要求4或5所述的机器人控制装置,其特征在于,
在许可上述机器人进入上述动作限制区域的情况下,上述动作限制区域生成部将进入了上述动作限制区域内的上述机器人的上述预定可动部位的动作路径或上述机器人进入了上述动作限制区域内的区域从上述动作限制区域排除。
7.根据权利要求1~6中任意一项所述的机器人控制装置,其特征在于,
该机器人控制装置还具备检测上述机器人的碰撞的碰撞检测装置,
上述动作控制部构成为,在通过上述碰撞检测装置检测出上述机器人的碰撞的情况下,使上述机器人的动作停止,
上述动作控制部在上述机器人进入上述动作限制区域过程中,使上述碰撞检测装置中的针对碰撞的灵敏度上升。
8.根据权利要求1~7中任意一项所述的机器人控制装置,其特征在于,
上述动作路径存储部中存储有通过上述机器人重复执行预定的动作而得到的多个上述动作路径,
上述动作限制区域生成部生成动作区域作为包含所存储的多个上述动作路径的区域,设定上述动作限制区域作为该动作区域外侧的区域。
9.根据权利要求8所述的机器人控制装置,其特征在于,
上述动作路径存储部中存储的多个上述动作路径包含:通过上述动作控制部对上述机器人执行通过上述动作程序设定的位置修正,上述机器人的位置偏离由上述动作程序指定的目标位置时的动作路径。
技术总结