CN117881507A - 指令值生成装置、方法、以及程序 - Google Patents
指令值生成装置、方法、以及程序 Download PDFInfo
- Publication number
- CN117881507A CN117881507A CN202280058959.3A CN202280058959A CN117881507A CN 117881507 A CN117881507 A CN 117881507A CN 202280058959 A CN202280058959 A CN 202280058959A CN 117881507 A CN117881507 A CN 117881507A
- Authority
- CN
- China
- Prior art keywords
- robot
- state data
- generator
- command value
- instruction value
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 67
- 230000009471 action Effects 0.000 claims description 31
- 230000005856 abnormality Effects 0.000 claims description 13
- 238000012937 correction Methods 0.000 claims description 8
- 230000002457 bidirectional effect Effects 0.000 claims description 5
- 238000005457 optimization Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 53
- 238000010586 diagram Methods 0.000 description 25
- 238000003860 storage Methods 0.000 description 24
- 238000012545 processing Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 9
- 230000000007 visual effect Effects 0.000 description 9
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000003780 insertion Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 239000011248 coating agent Substances 0.000 description 2
- 238000000576 coating method Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 238000009957 hemming Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000000178 monomer Substances 0.000 description 1
- 238000013486 operation strategy Methods 0.000 description 1
- 230000009291 secondary effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
-
- 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/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- 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/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- 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/42—Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
Abstract
获取部(31)获取用于使机器人(40)执行针对对象物的作业的指令值、以及多个种类的状态数据,该多个种类的状态数据是表示通过手动示教了该作业时的机器人(40)的动作时的机器人(40)的状态的状态数据,并且至少包括表示机器人(40)的动作的动作数据、表示机器人(40)与对象物的相对位置及相对姿态的位姿数据、以及表示在作业之间对象物受到的外力的外力数据;生成部(33)基于由获取部(31)在对应的时间获取的指令值和状态数据,生成用于使机器人(40)执行与所输入的状态数据对应的动作的指令值。
Description
技术领域
本公开涉及指令值生成装置、指令值生成方法、以及指令值生成程序。
背景技术
以往,在利用机器人进行组装、取放这样的作业中,在作业的对象物能够采取各种状态等情况下,机器人可能会作业失败。因此,进行了构成反馈控制系统,该反馈控制系统将各种传感器所获取的数据反馈于机器人的控制。
提出了如下所述的技术:例如,通过手动诱导能够控制外力的机械臂的动作,对此时的机器人的位置及作用的外力进行记录,输出机械臂的动作的指令值,以再现所记录的信息(非专利文献1)。
此外,提出了如下所述的技术:例如,通过对声音、图像等传感器数据、以及从机器人的动作所获取的数据进行深度学习来生成多通道整合后的模型,从该模型输出机器人的动作的指令值(非专利文献2)。
现有技术文献
非专利文献
非专利文献1:“Institute of Robotics and Mechatronics-SARA”,[online],[2021年6月18日检索],因特网<URL:https://www.dlr.de/rm/en/desktopdefault.aspx/tabid-11709/#gallery/29681>
非专利文献2:Kuniaki Noda,“MULTIMODAL INTEGRATION FOR ROBOT SYSTEMSUSING DEEP LEARNING”,Waseda University Doctoral Dissertation,2015年7月
发明内容
发明要解决的技术问题
为了构成反馈控制系统,需要用户自行定义并安装传感器特征量以及基于该传感器特征量生成针对机器人的指令值的生成法。此外,即便是该定义正确,在根据传感器特征量对机器人的指令值的增益调整不恰当的情况下,任务不成功,也难以判断定义、安装、以及调整中的哪些存在问题。
此外,在非专利文献1记载的技术中,正在执行的力控制系统将人进行了手动辅助示教时的位置和力的日志记录数据直接作为力控制系统的指令值输入,因此,鲁棒性低。
此外,在非专利文献2记载的技术中,未使用力觉传感器,无法鲁棒地执行组装、取放这样的应用。
本公开是鉴于上述的点而做出的发明,其目的在于构成用于使机器人鲁棒地执行针对能够采取各种状态的对象物的作业的反馈控制系统。
用于解决技术问题的方案
为了达成上述目的,本公开所涉及的指令值生成装置构成为包括:获取部,获取用于使机器人执行针对对象物的作业的指令值、以及多个种类的状态数据,多个种类的所述状态数据是表示通过手动示教了所述作业时的所述机器人的动作时的所述机器人的状态的状态数据,并且至少包括表示所述机器人的动作的动作数据、表示所述机器人与所述对象物的相对位置及相对姿态的位姿数据、以及表示在所述作业之间所述对象物受到的外力的外力数据;以及生成部,基于由所述获取部在对应的时间获取的所述指令值和所述状态数据,生成用于使所述机器人执行与所输入的所述状态数据对应的动作的指令值。由此,能够构成用于使机器人鲁棒地执行针对能够采取各种状态的对象物的作业的反馈控制系统。
此外,也可以是:所述生成部通过基于优化来确定所述生成器内的参数,从而生成所述生成器。由此,能够进一步提高鲁棒性。
此外,也可以是:本公开所涉及的指令值生成装置包括:受理部,受理关于多次示教的每次示教由所述获取部获取的所述状态数据中的、用于所述生成器的生成的所述状态数据的部分的选择,其中,所述生成部利用所选择的所述状态数据的部分来生成所述生成器。由此,能够排除不适合于生成器的生成的状态数据的部分。
此外,也可以是:所述受理部受理由所述获取部获取的多个种类的所述状态数据中的、用于所述生成器的生成的所述状态数据的种类的选择,所述生成部通过基于所选择的种类的所述状态数据和所述指令值,对用于生成可以再现由所选择的种类的所述状态数据表示的状态的指令值的参数进行优化,从而生成所述生成器。由此,能够生成用于生成满意度高的指令值的生成器。
此外,也可以是:所述生成部受理生成的所述生成器的参数的修正。由此,能够事先修正明显不恰当的参数、不符合用户的意图的参数等。
此外,也可以是:所述生成器的参数包括所述指令值的上限值、以及相对于所述指令值的动作的目标值,所述生成部通过将所述上限值及所述目标值固定为所指定的值,并且对其它参数进行优化,从而生成所述生成器。由此,能够生成能够输出用于实现用户更加期望的机器人的动作的指令值的生成器。
此外,也可以是:本公开所涉及的指令值生成装置构成为包括:指示部,基于在向由所述生成部生成的所述生成器输入对所述作业中存在偏差的可能性的参数加入了扰动项后的所述状态数据的情况下生成的指令值,判定所述机器人是否能够进行动作,在无法动作的情况下,指示所述获取部获取在加入了所述扰动项的情况下生成的指令值及所述状态数据。由此,能够通过手动的示教,自动地判定是否已获取生成器的生成所需的充分的状态数据。
此外,也可以是:所述生成部进行用于所述生成器的生成的所述状态数据的一部分的删除、以及由所述获取部新获取的所述状态数据的追加中的至少一方,并再次执行所述生成器的生成。由此,在基于所生成的指令值执行非意图的动作的情况下,能够通过重新进行生成器的生成,提高基于反馈控制系统的动作的质量。
此外,也可以是:所述获取部在所述示教时获取对包括所述对象物的作业区域进行拍摄而得到的图像,构成为包括设定部,所述设定部基于所述获取部所获取到的所述图像,设定用于识别所述作业区域的参数。由此,能够和生成器的生成一起进行识别用的参数的设定。
此外,也可以是:所述获取部获取基于预先设定的所述对象物的尺寸、以及从所述图像识别到的所述对象物的图像上的尺寸计算出的、对所述图像进行拍摄的照相机与所述对象物的距离。由此,能够在不使用特殊的传感器的情况下,精度优良地获取与对象物之间的距离。
此外,也可以是:所述机器人的动作的手动的示教是通过直接示教、来自控制器的远程操作、或使用了通过双向控制与所述机器人连接的示教用设备的远程操作来执行的。
此外,也可以是:本公开所涉及的指令值生成装置构成为包括:控制部,输出由所述生成器生成的指令值并对所述机器人进行控制。
此外,也可以是:本公开所涉及的指令值生成装置构成为包括:感测部,通过将所述生成器所生成的指令值输入所述生成器并进行逆运算,来估计所述状态数据,对所估计的所述状态数据与由所述获取部获取的所述状态数据进行比较,感测在所述机器人的作业中产生的异常。
此外,本公开所涉及的指令值生成方法是如下所述的方法:获取部获取用于使机器人执行针对对象物的作业的指令值、以及多个种类的状态数据,多个种类的所述状态数据是表示通过手动示教了所述作业时的所述机器人的动作时的所述机器人的状态的状态数据,并且至少包括表示所述机器人的动作的动作数据、表示所述机器人与所述对象物的相对位置及相对姿态的位姿数据、以及表示在所述作业之间所述对象物受到的外力的外力数据,生成部基于由所述获取部在对应的时间获取的所述指令值和所述状态数据,生成用于使所述机器人执行与所输入的所述状态数据对应的动作的指令值。
此外,本公开所涉及的指令值生成程序是使计算机作为获取部以及生成部而发挥功能的程序,其中,获取部获取用于使机器人执行针对对象物的作业的指令值、以及多个种类的状态数据,多个种类的所述状态数据是表示通过手动示教了所述作业时的所述机器人的动作时的所述机器人的状态的状态数据,并且至少包括表示所述机器人的动作的动作数据、表示所述机器人与所述对象物的相对位置及相对姿态的位姿数据、以及表示在所述作业之间所述对象物受到的外力的外力数据;生成部基于由所述获取部在对应的时间获取的所述指令值和所述状态数据,生成用于使所述机器人执行与所输入的所述状态数据对应的动作的指令值。
发明的效果
根据本公开所涉及的指令值生成装置、方法、以及程序,能够构成用于使机器人鲁棒地执行针对能够采取各种状态的对象物的作业的反馈控制系统。
附图说明
图1是第一~第三以及第五实施方式所涉及的机器人控制系统的示意图。
图2是用于说明通过手动对机器人进行的动作的示教的一个例子的图。
图3是用于说明通过手动对机器人进行的动作的示教的其它例子的图。
图4是用于说明通过手动对机器人进行的动作的示教的其它例子的图。
图5是示出用于说明传感器的主要部件的作业的一个例子的图。
图6是示出指令值生成装置的硬件结构的框图。
图7是示出第一及第三实施方式所涉及的指令值生成装置的功能结构的例子的框图。
图8是用于说明从传感器数据向状态数据的转换的图。
图9是示出部分选择画面的一个例子的图。
图10是用于说明生成器的图。
图11是用于说明使用了生成器所生成的指令值的反馈控制的图。
图12是示出第一实施方式中的学习处理的流程的流程图。
图13是示出控制处理的流程的流程图。
图14是示出第二实施方式所涉及的指令值生成装置的功能结构的例子的框图。
图15是示出第二实施方式中的学习处理的流程的流程图。
图16是示出种类选择画面的一个例子的图。
图17是示出第三实施方式中的生成器的示意结构的一个例子的图。
图18是示出第三实施方式中的学习处理的流程的流程图。
图19是第四实施方式所涉及的机器人控制系统的示意图。
图20是示出第四实施方式所涉及的指令值生成装置的功能结构的例子的框图。
图21是示出第四实施方式中的学习处理的流程的流程图。
图22是用于说明基于与对象物之间的距离来判定动作目标的图。
图23是示出第五实施方式所涉及的指令值生成装置的功能结构的例子的框图。
图24是用于说明感测部的处理的图。
图25是示出感测处理的流程的流程图。
具体实施方式
以下,参照附图对本公开的实施方式的一个例子进行说明。需要说明,在各附图中,对相同或等效的结构要素及部分标注了相同的参照标记。此外,为了便于说明,附图的尺寸及比率会被夸张,有时会与实际的比率不同。
<第一实施方式>
如图1所示,第一实施方式所涉及的机器人控制系统1构成为包括指令值生成装置10、机器人40、以及传感器组50。
机器人40包括机械臂42和手部44。机械臂42构成为包括:连杆;以及接头,连接连杆之间,且通过电机的驱动而进行旋转或线性伸缩。在机械臂42中,电机按照由指令值生成装置10输出的指令值而驱动,从而变更接头的旋转角度或伸缩状态。由此,手部44在三维空间被控制为指定的位置、以及指定的姿态。
手部44设置于机械臂42的末端,是能够握持对象物90的工具。手部44例如可以是多关节多指型机器人手、夹钳型机器人手、吸附垫等。需要说明,在由机器人40进行针对对象物的涂布作业的情况下,机器人40也可以取代手部44而具备成为涂布材料的喷吐口的喷嘴等,设为与作业相应的工具即可。
此外,机器人40是能够通过手动来进行动作的示教的结构。例如图2所示,通过手动来进行动作的示教也可以是直接示教、即通过人的手来传达动作的通过手动辅助的示教。此外,例如图3所示,也可以是人操作控制器60,通过远程操作来示教机器人40的动作。此外,例如图4所示,也可以通过使用了以双向控制的方式与机器人40连接的示教用设备62的远程操作来进行示教。通过双向控制,示教用设备62所施加的力传递至机器人40,作用于机器人40的外力传递至示教用设备62。
传感器组50包括多个种类的传感器,由各传感器获取的传感器数据作为时序数据而向指令值生成装置10输出。需要说明,在图1中,在手部44附近通过一个块概念性地表现了传感器组50,但是,传感器组50所包括的各传感器分别设置在与传感器的种类及功能相应的位置。
作为各传感器,根据由机器人40进行的作业,具备所需的各传感器即可。作为一个例子,对假设进行图5所示的作业时所需的各种传感器进行说明。图5所示的作业是由手部44握持主对象物90A,并嵌合主对象物90A与副对象物90B的作业。例如是连接器的插入、向框体插入基板、向基板插入电解电容器等。作为嵌合的实现方针,考虑利用通过主对象物90A与副对象物90B的边、面的接触从而使主对象物90A的位置及姿态匹配的动作策略。通过利用了这样的接触的嵌合,即便是在传感器、致动器的分辨率差的情况下,也易于使主对象物90A的位置及姿态与嵌合位置匹配。
这里,“动作策略”是指用于执行“动作”的“动作基元”的执行顺序。“动作”是指该动作单体具有目的,“通过动作策略”来实现,例如,是具有“抓住”、“移动”、“嵌合”等目的的某个动作。“动作基元”是指“持有”、“使移动”、“抵贴”等机器人的动作的最小单位。这里的“动作基元”设定有目标,例如,“倾斜地放倒”、“角向进入孔的位置移动”、“抵贴于深处”。在图5的例子中,虚线所示的部位分别相当于“动作”,单点划线所示的部位分别相当于“动作策略”,双点划线所示的部位分别相当于“动作基元”。此外,将“动作”的执行顺序称为“动作序列”。
在图5中,示出了包括“1.抓住”、“2.使移动”以及“3.嵌合”的各动作的动作序列的例子。此外,在动作“1.抓住”的动作策略中,确定了“1.1.通过粗略定位向主对象物上移动”及“1.2.握持主对象物”这样的动作基元。“1.1.通过粗略定位向主对象物上移动”是使手部44向能够握持主对象物90A的位置移动的动作。“1.2.握持主对象物”是由手部44握持主对象物90A的动作。此外,在动作“2.使移动”的动作策略中,确定了“2.1.通过粗略定位向孔之上移动”这样的动作基元。“2.1.通过粗略定位向孔之上移动”是与嵌合位置相匹配地使主对象物90A向X轴方向及Y轴方向移动的动作。
此外,在动作“3.嵌合”的动作策略中,确定了“3.1.使主对象物倾斜”、“3.2.使主对象物向孔移动”、“3.3.探索动作”、“3.4.描边并进行XY姿态校正”、“3.5.插入孔中”、以及“3.6.啮合解除动作”这样的动作基元。“3.1.使主对象物倾斜”是使姿态变化以使主对象物90A的姿态倾斜的动作。“3.2.使主对象物向孔移动”是将主对象物90A抵贴于副对象物90B、使描边并主对象物90A向嵌合位置方向移动的动作。抵贴是指使主对象物90A与副对象物90B一体化的动作。描边是指保持与副对象物90B表面之间的束缚而使主对象物90A向X轴方向及Y轴方向移动的动作。“3.3.探索动作”是由主对象物90A在副对象物90B表面描边并探索嵌合位置的动作。“3.4.描边并进行XY姿态校正”是利用主对象物90A与副对象物90B之间的对准,校正主对象物90A的X轴方向及Y轴方向的位置和姿态的动作。“3.5.插入孔中”是保持与副对象物90B的嵌合位置(孔)的内周的束缚而使主对象物90A向Z轴方向下方移动的动作。“3.6.啮合解除动作”是使主对象物90A的姿态变化以解除啮合的动作。
为了以执行上述的各动作基元的方式控制机器人40所需的传感器的主要部件如下所述。关于“1.1.通过粗略定位向主对象物上移动”,是指关于X、Y、Z的各轴方向、以及将Z轴作为轴的旋转方向,能够识别手部44与主对象物90A的位姿误差。关于“1.2.握持主对象物”,是指能够识别手部44的握持力。关于“2.1.通过粗略定位向孔之上移动”,是指关于X、Y、Z的各轴方向、以及将Z轴作为轴的旋转方向,能够识别主对象物90A与副对象物90B中的嵌合位置的位置误差。关于作为动作“3.嵌合”的动作策略的各动作基元,是指能够感测主对象物90A与副对象物90B的上表面接触时受到的各轴方向的反力、以及能够识别主对象物90A的姿态。
作为满足上述那样的主要部件的传感器,能够列举出如下所述的传感器。例如,作为能够识别位置误差的传感器,能够应用能够感测物体在三维空间中的位置的视觉传感器、3D传感器等。作为能够识别握持力的传感器,能够应用力觉传感器、垫片传感器、指令值与手编码器的差量等。需要说明,垫片传感器是指在吸附握持对象物90的方式的手部44的情况下,用于感测吸附垫的变形量的传感器,例如是接近传感器、压力传感器等。作为能够感测各轴方向的反力的传感器,能够应用力觉传感器、垫片传感器等。此外,作为能够识别主对象物90A的姿态的传感器,能够应用臂编码器及手编码器、垫片传感器等。需要说明,臂编码器是指感测机械臂42的各关节的旋转角度的编码器,手编码器是指感测手部44的各关节的旋转角度、夹具的开度等的编码器。
以下,为了简化说明,对手部44为多指多关节型并将一个对象物90作为作业对象的情况进行说明。此外,对传感器组50所包括的传感器为视觉传感器、臂编码器、手编码器、以及设置于手部44的末端的垫片传感器的情况进行说明。需要说明,视觉传感器安装于手部44的末端,以使拍摄方向与手部44的坐标系的Z轴平行。由此,将视觉传感器与对象物的距离视为手部44的末端与对象物的距离。
需要说明,传感器组50所包括的传感器并不限定于该例子,包括能够感测对象物90与手部44的相对位置及相对姿态、主对象物90A与副对象物90B的相对位置、以及作用于对象物90的外力的传感器即可。
图6是示出第一实施方式所涉及的指令值生成装置10的硬件结构的框图。如图6所示,指令值生成装置10具有CPU(Central Processing Unit:中央处理单元)12、存储器14、存储装置16、输入输出I/F(Interface:接口)18、输入输出装置20、存储介质读取装置22、以及通信I/F24。各个结构以能够经由总线26相互通信的方式连接。
存储装置16保存有指令值生成程序,该指令值生成程序包括用于执行后述的学习处理的学习程序、以及用于执行控制处理的控制程序。CPU12是中央运算处理单元,执行各种程序、控制各个结构。即、CPU12从存储装置16读出程序,将存储器14作为作业区域来执行程序。CPU12按照存储装置16中存储的程序,进行上述各个结构的控制及各种运算处理。
存储器14由RAM(Random Access Memory:随机存取存储器)构成,作为作业区域临时地存储程序及数据。存储装置16由ROM(Read Only Memory:只读存储器)、以及HDD(HardDisk Drive:硬盘驱动器)、SSD(Solid State Drive:固态驱动器)等构成,保存包括操作系统的各种程序、以及各种数据。
输入输出I/F18是用于使机器人40及传感器组50分别与指令值生成装置10连接的接口。从传感器组50所包括的传感器分别输出的传感器数据经由输入输出I/F18输入至指令值生成装置10。此外,由指令值生成装置10生成的指令值经由输入输出I/F18向机器人40输出。输入输出装置20例如是键盘、鼠标等用于进行各种输入的输入装置、显示器、打印机等用于输出各种信息的输出装置。作为输出装置,也可以通过采用触摸面板显示器而使其作为输入装置发挥功能。
存储介质读取装置22进行读入CD(Compact Disc:光盘)-ROM、DVD(DigitalVersatile Disc:数字多功能光盘)-ROM、蓝光盘、USB(Universal Serial Bus)存储器等各种存储介质中存储的数据、对存储介质写入数据等。通信I/F24是用于和其它设备进行通信的接口,例如,使用以太网(注册商标)、FDDI、Wi-Fi(注册商标)等标准。
然后,对第一实施方式所涉及的指令值生成装置10的功能结构进行说明。
图7是示出指令值生成装置10的功能结构的例子的框图。如图7所示,指令值生成装置10包括获取部31、受理部32、生成部33、以及控制部38作为功能结构。各功能结构通过CPU12读出存储装置16中存储的指令值生成程序并在存储器14部署并执行来实现。
获取部31获取:指令值,用于使机器人40执行针对对象物90的作业;状态数据,表示通过手动示教了该作业时的机器人40的动作时的机器人40的状态。状态数据例如包括上述示教时的、表示机器人40的动作的动作数据、表示机器人40与对象物的相对位置及相对姿态的位姿数据、以及表示在作业之间对象物受到的外力的外力数据等多个种类的数据。具体而言,获取部31从传感器组50所包括的传感器分别获取传感器数据,并将传感器数据转换为状态数据。
更加具体而言,如图8所示,获取部31获取作为视觉传感器的传感器数据的图像,并计算出图像内、即XY平面内的对象物90的位置及姿态。此外,获取部31获取臂编码器的传感器数据,基于该传感器数据、以及机械臂42的运动学信息,计算出机械臂42的末端(以下,称为“手尖”)的姿态(翻滚(roll)角、俯仰(pitch)角、偏航(yaw)角)。此外,获取部31获取手编码器的传感器数据,基于该传感器数据、以及手部44的运动学信息,计算出相对于手尖的手部44的末端(以下,称为“指尖”)的姿态。此外,获取部31从垫片传感器获取传感器数据,根据该传感器数据计算出作用于各指尖的外力。此外,获取部31根据该传感器数据计算出手部44所握持的对象物90的相对于指尖的姿态。
此外,获取部31基于计算出的图像内的对象物90的位置、以及手尖的姿态,获取将从手尖到对象物90的距离分解到X、Y、以及Z的各轴方向而得到的值,作为对象物90相对于手尖的相对位置数据。此外,获取部31基于手尖的姿态、以及指尖相对于手尖的姿态,计算出绝对坐标系中的指尖的姿态。此外,获取部31获取基于绝对坐标系中的指尖的姿态将作用于各指尖的外力分解到X、Y、以及Z的各轴方向而得到的值作为外力数据。此外,获取部31获取基于手部44所握持的对象物90的相对于指尖的姿态、手尖的姿态、指尖相对于手尖的姿态而指定的对象物90的姿态,作为对象物90相对于手尖的对象物的相对姿态数据。
此外,获取部31根据臂编码器及手编码器的传感器数据,计算出机械臂42及手部44的各关节的旋转的角速度。此外,获取部31基于臂编码器的传感器数据、以及机械臂42的雅可比,计算出手尖的速度。此外,获取部31基于手编码器的传感器数据、以及手部44的雅可比,计算出指尖的速度。获取部31获取该手尖及指尖的速度作为动作数据。
需要说明,各传感器数据是时序数据,因此,转换后的相对位置数据、相对姿态数据、外力数据、以及动作数据分别也是时序数据。
受理部32受理关于多次的手动的示教分别由获取部31获取的状态数据中的、用于后述的生成器的生成的状态数据的部分的选择。状态数据的部分包括针对从多次的示教中选择出的一部分的示教分别获取的状态数据、以及针对一次的示教获取的状态数据中的包括于指定的时间范围的部分这双方。
例如,受理部32显示图9所示那样的部分选择画面70,受理所选择的信息(以下,称为“选择信息”)作为用于生成器的生成的状态数据的部分。图9所示的部分选择画面70包括用于选择状态数据的种类的选择区域73。此外,部分选择画面70包括选择区域71,该选择区域71用于针对在选择区域73中选择的种类的状态数据,选择是否将关于多个示教各自的状态数据采用为用于生成器的生成的状态数据。在图9的例子中,选择区域71包括对多个示教分别进行识别的“试验次数”、执行该示教的“时刻”、采用时勾选的“对象”、以及“部分采用”的各项目。
此外,部分选择画面70包括在选择区域73中选择的种类的状态数据分别被图表化而显示的显示区域72。在显示区域72中,强调显示在选择区域71中选择的状态数据的曲线。在图9中,通过实线示出所选择的状态数据的曲线,通过虚线示出其它状态数据。此外,通过阴影示出在选择区域71中选择的试验次数的示教。
此外,在显示区域72中,包括用于分别指定选择的时间范围的开始时间及结束时间的滑动条(图9中的虚线)。通过使滑动条滑动,来选择时间范围。此外,部分选择画面70包括显示通过显示区域72内的滑动条所指定的时间范围的显示区域74。此外,部分选择画面70包括显示区域75,该显示区域75显示在显示区域72中指定的时间(图9中的黑三角)内由视觉传感器获取的图像。由此,用户能够将显示区域75中显示的图像作为参考来选择时间范围。关于包括指定了时间范围的状态数据的试验次数的示教,显示区域71的“部分采用”为“有”,在未指定时间范围的情况下,为“无”。
生成部33基于获取部31所获取的状态数据中的、受理部32所受理的选择信息所示出的部分的状态数据、以及对应的时间的指令值,来生成生成器。生成器生成并输出用于使机器人40执行与输入的状态数据对应的动作的指令值。
具体而言,例如图10的上图的学习阶段所示,生成部33将由多个层级的神经网络等自动编码器构成的生成器的输入及输出设为时刻t的指令值Cv(t)及状态数据T(t)。状态数据T(t)是相对位置数据Tp(t)、相对姿态数据Tθ(t)、外力数据Tf(t)、以及动作数据Tv(t)。学习阶段中的指令值Cv(t)也可以设为动作数据Tv(t)。生成部33使用指令值和状态数据的多个组合,通过将神经网络的各层级的权重作为参数来进行学习,从而生成生成器。
控制部38将由生成部33生成的生成器所生成的指令值输出,来控制机器人40的动作。具体而言,控制部38从获取部31接收状态数据T(t),如图10的下图的控制阶段所示,输入至生成器。由此,从生成器输出与状态数据T(t)所示出的当前的状态相应的时刻t的指令值(在此为指令速度)Cv^(在图10中,在“Cv”之上标了“^(帽)”)(t)。控制部38将该指令值Cv^(t)向机器人40的各电机M输出。由此,通过各电机基于指令值而驱动,机器人40进行动作。
由此,如图11所示,实现使用了生成器所生成的指令值的机器人40的反馈控制。具体而言,时刻t的传感器数据组S(t)转换为作为时刻t的状态数据T(t)的相对位置数据Tp(t)、相对姿态数据Tθ(t),外力数据Tf(t)、以及动作数据Tv(t),并输入生成器。生成器基于输入的状态数据T(t),生成时刻t的指令值Cv^(t),指令值Cv^(t)向机器人40的各电机M输出。通过电机M基于指令值Cv^(t)而驱动,机器人40进行动作。通过机器人40进行动作,由臂编码器及手编码器获取实际角加速度Sea(t+1)、实际角速度Seω(t+1)、以及实际角度Seq(t+1)作为实际动作Se(t+1)。该实际动作Se(t+1)、以及在时刻t+1获取的视觉传感器及垫片传感器的传感器数据成为下一个时刻t+1的传感器数据组S(t+1)。
然后,对第一实施方式所涉及的机器人控制系统1的作用进行说明。
在学习阶段中,CPU12从存储装置16读出学习程序,并在存储器14中部署并执行,从而CPU12作为指令值生成装置10的各功能结构而发挥功能,执行学习处理。此外,在控制阶段中,CPU12从存储装置16读出控制程序,并在存储器14中部署并执行,从而CPU12作为指令值生成装置10的各功能结构而发挥功能,执行控制处理。以下,对学习处理及控制处理分别进行详细描述。
图12是示出由指令值生成装置10的CPU12执行的学习处理的流程的流程图。学习处理按照使机器人40执行的动作序列中的每个动作来执行。
在步骤S11中,控制部38对机器人40进行控制,以使得机器人40成为学习处理的对象的动作的开始位置及姿态。例如,控制部38也可以将动作序列中的动作中的、之前执行了学习处理的动作的结束位置及姿态设为本次的学习处理的对象的动作的开始位置及姿态。
然后,在步骤S12中,获取部31判定是否由用户进行按下示出示教开始的按钮等动作而指示了示教开始。在指示了示教开始的情况下,过渡到步骤S13,在未指示的情况下,反复进行本步骤的判定。用户在指示了示教开始之后,通过手动对机器人40示教对象的动作。
在步骤S13中,获取部31获取与示教的动作对应的指令值,并从传感器组50所包括的各传感器获取传感器数据。然后,在步骤S14中,获取部31判定是否由用户进行按下表示示教结束的按钮等动作而指示了示教结束。在指示了示教结束的情况下,过渡到步骤S15,在未指示的情况下,返回步骤S13。在步骤S15中,获取部31将在上述步骤S13中获取的传感器数据转换为状态数据。
然后,在步骤S16中,获取部31判定预定次数的量的示教是否结束。在预定次数的量的示教已结束的情况下,过渡到步骤S17,在未结束的情况下,返回步骤S11。在步骤S17中,受理部32显示部分选择画面70,受理用于生成器的生成的状态数据的选择信息。然后,在步骤S18中,生成部33使用选择信息所示出的状态数据的部分、以及对应的指令值来生成生成器,学习处理结束。
图13是示出由指令值生成装置10的CPU12执行的控制处理的流程的流程图。
在步骤S21中,获取部31从传感器组50所包括的各传感器获取传感器数据。然后,在步骤S22中,获取部31将在上述步骤S21中获取的传感器数据转换为状态数据。然后,在步骤S23中,控制部38从获取部31接收状态数据,并输入生成器,从而生成指令值。然后,在步骤S24中,控制部38将所生成的指令值向机器人40的各电机输出,并返回步骤S21。
如以上说明的那样,根据第一实施方式所涉及的机器人控制系统,指令值生成装置获取用于使机器人执行针对对象物的作业的指令值、以及表示通过手动示教了该作业时的机器人的动作时的机器人的状态的状态数据。状态数据是包括表示机器人的动作的动作数据、表示机器人与对象物的相对位置及相对姿态的位姿数据、表示在作业之间对象物受到的外力的外力数据等的多个种类的数据。指令值生成装置基于在对应的时间获取到的指令值和状态数据,生成生成器,该生成器生成用于使机器人执行与所输入的状态数据对应的动作的指令值。由此,能够构成用于使机器人鲁棒地执行针对能够采取各种状态的对象物的作业的反馈控制系统。
此外,在非专利文献1中记载的技术中,正在执行的力控制系统将人进行了手动辅助示教时的位置和力的日志记录数据直接作为力控制系统的指令值输入,因此,鲁棒性低。为了提高鲁棒性,需要在内部估计准确地表现当前的状态的特征量,并基于该特征量生成指令值,但是,在非专利文献1中记载的技术中,不存在该结构。在成为能够在内部具有特征量的结构的模型中,有神经网络。神经网络通过变更网络权重来转换来自输入层的数据,从而使得在中间层出现特征量。但是,已知如果中间层的状态空间过大,则进行过度学习,这示出虽然具有能够保证鲁棒性的能力,但是,也可能无法保证鲁棒性。针对该问题,提出了通过有意地缩小状态空间(缩小纬度)来恢复鲁棒性的自动编码器这样的结构及学习法。上述实施方式中的指令值生成装置通过采用自动编码器作为生成器,能够构成能够进一步保证鲁棒性的传感器反馈系统。
此外,指令值生成装置受理是否采用通过多次示教所获取的状态数据的各个状态数据、以及采用的状态数据的时间范围的选择,并使用所选择的部分的状态数据生成生成器。由此,能够防止以下情况:在通过手动进行示教时,在错误地向机器人示教了非意图的动作等情况下,基于此时获取的传感器数据的状态数据被用于生成器的生成。
需要说明,在上述实施方式中,作为通过手动进行的示教,能够进行使用了通过双向控制与机器人连接的示教用设备的远程操作。在该情况下,指令值生成装置也可以和通过示教用设备执行了作业时的外力数据一起收集顺应性参数。另外,指令值生成装置也可以使用收集到的外力数据和顺应性参数,将由上述实施方式那样的自动编码器构成的生成器的各层级的权重作为参数进行学习,生成将外力数据作为输入、并输出顺应性参数的生成器。由此,即便是在需要根据状况动态地变更手部的顺应性参数的情况下,也能够自动地执行变更。
此外,在上述实施方式中,指令值生成装置也可以进行用于生成器的生成的状态数据的删除、以及新获取的状态数据的追加中的至少一方,并再次执行生成器的生成。具体而言,在删除状态数据的一部分的情况下,在生成生成器之后,用户对基于从该生成器输出的指令值的机器人的动作进行确认,从与图9所示那样的部分选择画面同样的画面选择删除的状态数据即可。此外,在追加状态数据的情况下,针对动作序列中成为不自然的动作的部分,重新通过手动进行示教,从而获取追加的状态数据即可。由此,在基于所生成的指令值执行非意图的动作的情况下,通过重新进行生成器的生成,能够提高基于反馈控制系统的动作的质量。
<第二实施方式>
然后,对第二实施方式进行说明。需要说明,在第二实施方式所涉及的机器人控制系统中,针对和第一实施方式所涉及的机器人控制系统1同样的结构,标注相同的附图标记并省略详细说明。
如图1所示,第二实施方式所涉及的机器人控制系统2构成为包括指令值生成装置210、机器人40、以及传感器组50。
然后,对第二实施方式所涉及的指令值生成装置210的功能结构进行说明。
图14是示出指令值生成装置210的功能结构的例子的框图。如图14所示,指令值生成装置210包括获取部231、生成部33、指示部234、以及控制部38作为功能结构。各功能结构通过CPU12读出存储装置16中存储的指令值生成程序并在存储器14中部署并执行来实现。需要说明,指令值生成装置210的硬件结构与图6所示的第一实施方式所涉及的指令值生成装置10的硬件结构是同样的,因此,省略说明。
指示部234基于在向生成部33所生成的生成器输入加入了扰动项后的状态数据的情况下生成的指令值,判定机器人40是否能够进行动作。扰动项涉及在组装、取放的应用中存在偏差的可能性的参数。例如,涉及取放的对象物90的设想的大小、质量、初始位置、目标位置、对象物90等的摩擦系数这样的参数。例如,指示部234对相对位置数据及相对姿态数据中的至少一方加上或减去与对象物90的尺寸相应的值来作为扰动项。与对象物90的尺寸相应的值既可以例如根据相对于对象物90的尺寸的比例来指定,也可以例如根据“10mm”那样的具体数值来指定。指示部234执行基于加入扰动项而生成的指令值的机器人40的动作的模拟,判定是否能够动作。作为是否能够动作的判定,既可以判定通过一系列的动作序列执行的作业是否完成,也可以设定动作目标值并判定该动作目标值是否达成。
在判定为无法动作的情况下,指示部234指示获取部231获取在加入了扰动项的情况下生成的指令值及状态数据。具体而言,指示部234进行将加入了扰动项的机器人40的轨道显示于显示装置等而向用户示出,并且,向控制部38指示控制机器人40,以使得机器人40成为该轨道的开始位置及姿态。
然后,对第二实施方式所涉及的机器人控制系统2的作用进行说明。
图15是示出通过指令值生成装置210的CPU12执行的学习处理的流程的流程图。通过CPU12从存储装置16读出学习程序并在存储器14中部署并执行,CPU12作为指令值生成装置210的各功能结构而发挥功能,执行图15所示的学习处理。需要说明,在图15所示的学习处理中,关于和第一实施方式中的学习处理(图12)同样的处理,赋予相同的步骤编号,并省略详细说明。
在步骤S11中,控制部38控制机器人40,以使得机器人40成为学习处理的对象的动作的开始位置及姿态。然后,在步骤S200中,执行获取处理。获取处理与图12所示的学习处理的步骤S12~S15是同样的。然后,在步骤S16中,获取部231判定预定次数的量的示教是否结束。在预定次数的量的示教结束的情况下,过渡到步骤S211,在未结束的情况下,返回步骤S11。
在步骤S211中,生成部33使用所获取的状态数据及指令值生成生成器。然后,在步骤S212中,指示部234基于向所生成的生成器输入了加入了扰动项后的状态数据的情况下生成的指令值,对机器人40的动作进行模拟。然后,在步骤S213中,指示部234模拟的结果为判定在加入了扰动项的情况下机器人40是否能够进行动作。在能够进行动作的情况下,学习处理结束,在无法动作的情况下,过渡到步骤S214。
在步骤S214中,指示部234进行将加入了扰动项的机器人40的轨道显示于显示装置等而向用户示出,并且,指示控制部38控制机器人40,以使得机器人40成为该轨道的开始位置及姿态,并返回步骤S200。
关于控制处理,与第一实施方式是同样的,因此,省略说明。
如以上说明的那样,根据第二实施方式所涉及的机器人控制系统,指令值生成装置基于在向所生成的生成器输入加入了扰动项后的状态数据的情况下生成的指令值,判定机器人是否能够进行动作。另外,在无法动作的情况下,指令值生成装置指示获取部获取在加入了扰动项的情况下生成的指令值及状态数据。由此,通过手动的示教,能够自动地判定是否已获取生成器的学习所需的充分的状态数据。因此,即便是不详细了解机器人系统的用户,也能够判断是否收集了生成器的生成所需的数据。
<第三实施方式>
然后,对第三实施方式进行说明。需要说明,在第三实施方式所涉及的机器人控制系统中,对于和第一实施方式所涉及的机器人控制系统1同样的结构,标注相同的附图标记并省略详细说明。
如图1所示,第三实施方式所涉及的机器人控制系统3构成为包括指令值生成装置310、机器人40、以及传感器组50。
在上述各实施方式中,将多个种类的状态数据输入生成器并生成指令值,生成器内部为黑箱(Black box)的状态,有时对生成的指令值的满足感较低。于是,在第三实施方式中,生成基于和用户选择的状态数据的关系来生成指令值的生成器。此外,在第三实施方式中,生成器也生成是否基于所生成的指令值达成目标动作的信息。
图7是示出指令值生成装置310的功能结构的例子的框图。如图7所示,指令值生成装置310包括获取部31、受理部332、生成部333、以及控制部38作为功能结构。各功能结构通过CPU12读出存储装置16中存储的指令值生成程序并在存储器14中部署并执行而实现。需要说明,指令值生成装置310的硬件结构与图6所示的第一实施方式所涉及的指令值生成装置10的硬件结构是同样的,因此,省略说明。
受理部332例如显示图16所示那样的种类选择画面80,受理获取部31所获取的多个种类的状态数据中的、用于生成器的生成的状态数据的种类的选择。在图16的种类选择画面80中,针对每个状态数据的种类,包括在用于指令值的生成的情况下勾选的“指令值对象”、以及在用于动作目标达成的判定的情况下勾选的“判定对象”的各项目。
生成部333基于所选择的种类的状态数据和指令值,对包括生成指令值的指令值生成器、以及判定动作目标的达成的判定器的生成器的参数进行学习。具体而言,生成部333通过基于所选择的种类的状态数据和指令值,对用于生成能够再现由所选择的种类的状态数据表示的状态的指令值的参数进行优化,从而生成指令值生成器。作为指令值生成器,例如,也可以是设为示所选择的种类的状态数据与指令值的关系的回归式等。此外,生成部333也可以将指令值的上限值包括于生成器的参数。
此外,生成部333通过对所选择的种类的状态数据与该状态数据所示出的状态是否表示达成目标动作的标志(以下,称为“动作目标达成标志”)的关系进行学习,从而生成判定器。生成部333也可以将动作目标值包括于生成器的参数。生成部333通过在指令值生成器及判定器的各自的内部的参数的优化中,使未选择的状态数据的系数变小,从而生成与所选择的状态数据对应的指令值生成器及判定器。
需要说明,生成部333在由用户指定了指令值的上限值及动作目标值中的至少一方的情况下,将所指定的指令值的上限值及动作目标值中的至少一方的值固定为所指定的值。在此基础上,生成部333通过对其它参数进行优化来生成生成器。由此,能够生成能够输出用于实现用户更加期望的机器人的动作的指令值的生成器。
图17示出第三实施方式中的生成器的示意结构的一个例子。如图17所示,所输入的状态数据、以及指令值的上限值被输入指令值生成器。指令值生成器生成并输出与状态数据对应的指令值。此外,所输入的状态数据、以及动作目标值被输入判定器。判定器输出与状态数据对应的动作目标达成标志。
然后,对第三实施方式所涉及的机器人控制系统3的作用进行说明。
图18是示出由指令值生成装置310的CPU12执行的学习处理的流程的流程图。通过CPU12从存储装置16读出学习程序并在存储器14中部署并执行,CPU12作为指令值生成装置310的各功能结构而发挥功能,执行图18所示的学习处理。需要说明,在图18所示的学习处理中,关于和第二实施方式中的学习处理(图15)同样的处理,标注相同的步骤编号,并省略详细说明。
经过步骤S11、S200、以及S16,过渡到步骤S311。在步骤S311中,受理部332显示种类选择画面80,受理获取部31所获取的多个种类的状态数据中的、用于指令值生成器的学习的状态数据、以及用于判定器的学习的状态数据的种类的选择。
然后,在步骤S312中,生成部333基于作为用于指令值生成器的学习的状态数据所选择的种类的状态数据、以及基于动作数据的指令值,对生成指令值的指令值生成器的参数进行优化。然后,在步骤S313中,生成部333对判定器的参数进行优化,该判定器生成与作为用于判定器的学习的状态数据所选择的种类的状态数据对应的动作目标达成标志。由此,生成包括指令值生成器及判定器的生成器。另外,学习处理结束。
关于控制处理,由于和第一实施方式是同样的,因此,省略详细说明。需要说明,在控制阶段中,在从生成器输出的动作目标达成标志示出了未达成动作目标的情况下,既可以以停止机器人40的动作的方式进行控制,也可以向达成动作目标值的方向对指令值进行校正。
如以上说明的那样,根据第三实施方式所涉及的机器人控制系统,指令值生成装置利用由用户选择的种类的状态数据生成生成器。由此,与实质为黑箱的生成器所生成的指令值相比,能够输出对于用户来说满意度高的指令值。
需要说明,在第三实施方式中,也可以和第一实施方式同样地显示图9所示那样的部分选择画面,关于所选择的种类的状态数据,受理用于生成器的学习的部分的选择。由此,能够防止以下情况:在通过手动进行示教时,在错误地将非意图的动作示教给机器人等情况下,基于此时获取的传感器数据的状态数据被用于生成器的生成。
此外,在第三实施方式中,也可以提供使得用户能够对关于所生成的生成器的参数进行确认及修正的用户接口。作为该用户接口,例如,也可以显示能够直接修正生成器的参数的画面。此外,例如,也可以进行基于从所生成的生成器输出的指令值的动作的模拟图像的显示等。用户通过模拟图像对动作进行确认,施加减慢动作速度等的修正,并将与其对应的参数的修正、例如降低上限值等的修正反映于生成器即可。此外,也可以进行基于从参数修正后的生成器输出的指令值的动作的模拟图像的显示等,从而能够对修正内容进行确认。由此,能够事先对明显不恰当的参数、不符合用户的意图的参数等进行修正。
<第四实施方式>
然后,对第四实施方式进行说明。需要说明,在第四实施方式所涉及的机器人控制系统中,对于和第一实施方式所涉及的机器人控制系统1同样的结构,标注相同的附图标记并省略详细说明。
如图19所示,第四实施方式所涉及的机器人控制系统4构成为包括指令值生成装置410、机器人40、以及传感器组50。在第四实施方式中,传感器组50包括视觉传感器。需要说明,传感器组50和上述各实施方式同样地也包括视觉传感器以外的传感器,但是,在图19中,作为传感器组50所包括的传感器仅表示了视觉传感器。
图20是示出指令值生成装置410的功能结构的例子的框图。如图20所示,指令值生成装置410包括获取部431、生成部33、设定部435、以及控制部38作为功能结构。各功能结构通过CPU12读出存储装置16中存储的指令值生成程序并在存储器14中部署并执行来实现。需要说明,指令值生成装置410的硬件结构和图6所示的第一实施方式所涉及的指令值生成装置10的硬件结构是同样的,因此,省略说明。
在通过手动进行机器人40的动作的示教时,获取部431获取对包括对象物的作业区域进行拍摄而得到的图像。具体而言,获取部431获取由视觉传感器获取的图像。
此外,获取部431基于预先设定的对象物90的尺寸、以及从所获取的图像识别的对象物90的图像上的尺寸,计算出视觉传感器与对象物90的距离。获取部431将计算出的视觉传感器与对象物90的距离、以及获取用于该距离的计算的图像时的机器人40的手尖的位置坐标作为一组进行存储。另外,获取部431基于该存储的信息、以及通过手动进行示教时获取的手尖的位置坐标的时序数据,获取与对象物90之间的距离的时序数据作为状态数据之一。
此外,为了从视觉传感器所获取的图像识别对象物90、对象物90的放置场所等,需要事先基于视觉传感器的图像,设定识别用的参数。于是,设定部435基于获取部431所获取的图像,设定图像识别用的参数。图像识别用的参数的设定包括用于从图像识别对象物的神经网络等识别模型的参数的优化、以及视觉传感器的照相机的内部参数及外部参数的校准。
然后,对第四实施方式所涉及的机器人控制系统4的作用进行说明。
图21是示出由指令值生成装置410的CPU12执行的学习处理的流程的流程图。通过CPU12从存储装置16读出学习程序,并在存储器14部署并执行,CPU12作为指令值生成装置410的各功能结构而发挥功能,执行图21所示的学习处理。需要说明,在图21所示的学习处理中,对于和第二实施方式中的学习处理(图15)同样的处理,标注相同的步骤编号,并省略详细说明。
经过步骤S11及S200,过渡到步骤S411。在步骤S411中,获取部431基于预先设定的对象物90的尺寸、以及所获取的图像,计算出视觉传感器与对象物90的距离。另外,获取部431将计算出的距离、以及此时的机器人40的手尖的位置坐标作为一组进行存储。该信息的存储仅在本步骤的最初执行时进行即可。之后,在执行本步骤时,基于该存储的信息、以及通过手动进行示教时获取的手尖的位置坐标,获取与对象物之间的距离作为状态数据之一。
然后,经过步骤S16及步骤S211,过渡到步骤S412。在步骤S412中,设定部435基于获取部431所获取的图像,设定图像识别用的参数,学习处理结束。
关于控制处理,和第一实施方式是同样的,因此,省略详细说明。
如以上说明的那样,根据第四实施方式所涉及的机器人控制系统,指令值生成装置基于视觉传感器的图像、以及预先设定的对象物的尺寸,获取与对象物之间的距离的时序数据作为状态数据之一。为了识别Z轴方向的距离,在未使用深度传感器等特殊的传感器的情况下,需要三角测量,但是,在未给出作为基准的信息的情况下,在三角测量中无法精度优良地识别距离。在第四实施方式中,能够在不使用特殊的传感器的情况下,精度优良地获取与对象物之间的距离。由此,能够生成能够恰当地执行由手部握持对象物的动作等、需要正确地掌握Z轴方向的距离的动作的指令值。
需要说明,如第三实施方式那样,在生成包括判定是否已达成动作目标的判定器的生成器的情况下,作为用于生成判定器的状态数据,也可以选择与对象物之间的距离。在该情况下,如图22所示,在与对象物之间的距离为设定为动作目标值的阈值以下的情况下,预先生成输出表示动作目标达成的标志的判定器即可。由此,可以鲁棒地执行由手部握持对象物的动作。
此外,根据第四实施方式所涉及的机器人控制系统,指令值生成装置基于视觉传感器所获取的图像,进行图像识别用的参数的设定。由此,除了生成生成器以外,还能够进行图像识别用的参数的设定,能够削减用户的时间和精力,该生成器生成控制机器人40的动作的指令值。此外,作为次要的效果,也能够容易地执行基于所设定的参数的动作确认。
<第五实施方式>
然后,对第五实施方式进行说明。需要说明,在第五实施方式所涉及的机器人控制系统中,对于和第一实施方式所涉及的机器人控制系统1同样的结构,标注相同的附图标记,并省略详细说明。
如图1所示,第五实施方式所涉及的机器人控制系统5构成为包括指令值生成装置510、机器人40、以及传感器组50。
图23是示出指令值生成装置510的功能结构的例子的框图。如图23所示,指令值生成装置510包括获取部31、生成部33、控制部38、以及感测部539作为功能结构。各功能结构通过CPU12读出存储装置16中存储的指令值生成程序,并在存储器14中部署并执行来实现。需要说明,指令值生成装置510的硬件结构也图6所示的第一实施方式所涉及的指令值生成装置10的硬件结构是同样的,因此,省略说明。但是,第五实施方式所涉及的指令值生成程序除了学习程序及控制程序之外,还包括用于执行后述的感测处理的感测程序。
感测部539通过将生成器所生成的指令值输入生成器并进行逆运算,来估计状态数据,对所估计的状态数据与由获取部31获取的状态数据进行比较,从而来感测机器人40的作业中产生的异常。
具体而言,如图24所示,在控制阶段中,感测部539将作为时序数据的时刻t-n~t+k的状态数据输入生成器。时刻t-n~时刻t是以时刻t为基准的过去的时刻,时刻t~时刻t+k是以时刻t为基准的未来的时刻。因此,图24中的阴影部分相当于以时刻t为基准的未来的数据。感测部539通过将从生成器输出的时刻t~时刻t+k的指令值(图24中的虚线部)输入生成器并进行逆运算,从而生成时刻t~时刻t+k的状态数据(图24中的单点划线部)。另外,感测部539将该生成的时刻t~时刻t+k的状态数据与根据获取部31所获取的作为实测值的传感器数据而转换的时刻t~时刻t+k的状态数据(图24中的双点划线部)的差与预先确定的阈值进行比较。在差为阈值以上的情况下,感测部539感测到异常,并以进入动作策略的流程图中的异常产生时的状态转移的方式对状态进行控制。在动作策略的流程图中,在没有异常产生时的状态转移的情况下,感测部539向用户通知异常的产生。
然后,对第五实施方式所涉及的机器人控制系统5的作用进行说明。
关于学习处理及控制处理,执行与上述各实施方式中的任意一个同样的学习处理及控制处理。通过第五实施方式所涉及的机器人控制系统5,与控制处理并行地执行感测处理。图25是示出由指令值生成装置510的CPU12执行的感测处理的流程的流程图。通过CPU12从存储装置16读出感测程序,并在存储器14中部署并执行,CPU12作为指令值生成装置510的各功能结构而发挥功能,执行图25所示的感测处理。
在步骤S511中,感测部539将输出到机器人40的指令值输入生成器并进行逆运算,从而估计状态数据。然后,在步骤S512中,感测部539计算出所估计的状态数据与获取部31所获取的状态数据的差。然后,在步骤S513中,感测部539判定在上述步骤S512中计算出的差是否为预先确定的阈值以上。在差为阈值以上的情况下,过渡到步骤S514,在差小于阈值的情况下,返回步骤S511。在步骤S514中,在动作策略中,如果该状态是产生了异常时转移至下一个状态的状态,则检测部539向控制部38告知结束该动作的执行,进入产生了异常时的处理。在产生了异常时的转移目的地未确定的状态的情况下,感测部539向用户通知感测到了异常,感测处理结束。
如以上说明的那样,根据第五实施方式所涉及的机器人控制系统,指令值生成装置将通过向根据状态数据来生成指令值的生成器输入指令值并进行逆运算而估计的状态数据与实际的状态数据进行比较。另外,在两者的差大的情况下,感测到异常。由此,能够在未创建复杂的异常的感测条件的情况下,感测到异常。
需要说明,在上述各实施方式中,对通过相同的装置构成在学习阶段发挥功能的功能结构、以及在控制阶段发挥功能的功能结构的情况进行了说明,但是,这些功能结构也可以分别由不同的装置构成。
此外,也可以由CPU以外的各种的处理器执行在上述各实施方式中由CPU读入软件(程序)并执行的处理。作为该情况下的处理器,举例示出了在制造FPGA(Field-Programmable Gate Array:现场可编程门阵列)等后能够变更电路结构的PLD(Programmable Logic Device:可编程逻辑器件)、以及ASIC(Application SpecificIntegrated Circuit:专用集成电路)等具有为了执行指定的处理而设计为专用的电路结构的、作为处理器的专用电气电路等。此外,既可以由这些各种处理器中的一个来执行处理,也可以由同种或不同种的两个以上的处理器的组合(例如,多个FPGA、以及CPU和FPGA的组合等)来执行处理。此外,更加具体而言,这些各种处理器的硬件性的结构是组合半导体元件等的电路元件而成的电气电路。
此外,在上述各实施方式中,对指令值生成程序被预先存储(安装)在存储装置中的方式进行了说明,但是,并不限定于此。程序也可以以存储于CD-ROM、DVD-ROM、蓝光盘、USB存储器等存储介质中的方式来提供。此外,程序也可以是经由网络从外部装置下载的形态。
附图标记说明
1、2、3、4、5:机器人控制系统;10、210、310、410、510:指令值生成装置;12:CPU;14:存储器;16:存储装置;18:输入输出I/F;20:输入输出装置;22:存储介质读取装置;24:通信I/F;26:总线;31、231、431:获取部;32、332:受理部;33、333:生成部;38:控制部;234:指示部;435:设定部;539:感测部;40:机器人;42:机械臂;44:手部;50:传感器组;60:控制器;62:示教用设备;70:部分选择画面;80:种类选择画面;90:对象物;90A:主对象物;90B:副对象物。
Claims (15)
1.一种指令值生成装置,包括:
获取部,获取用于使机器人执行针对对象物的作业的指令值、以及多个种类的状态数据,多个种类的所述状态数据是表示通过手动示教了所述作业时的所述机器人的动作时的所述机器人的状态的状态数据,并且至少包括表示所述机器人的动作的动作数据、表示所述机器人与所述对象物的相对位置及相对姿态的位姿数据、以及表示在所述作业之间所述对象物受到的外力的外力数据;以及
生成部,基于由所述获取部在对应的时间获取的所述指令值和所述状态数据,生成用于使所述机器人执行与所输入的所述状态数据对应的动作的指令值。
2.根据权利要求1所述的指令值生成装置,其中,
所述生成部通过基于优化来确定所述生成器内的参数,从而生成所述生成器。
3.根据权利要求1或2所述的指令值生成装置,所述指令值生成装置包括:
受理部,受理关于多次示教的每次示教由所述获取部获取的所述状态数据中的、用于所述生成器的生成的所述状态数据的部分的选择,
所述生成部利用所选择的所述状态数据的部分来生成所述生成器。
4.根据权利要求3所述的指令值生成装置,其中,
所述受理部受理由所述获取部获取的多个种类的所述状态数据中的、用于所述生成器的生成的所述状态数据的种类的选择,
所述生成部通过基于所选择的种类的所述状态数据和所述指令值,对用于生成能够再现由所选择的种类的所述状态数据表示的状态的指令值的参数进行优化,从而生成所述生成器。
5.根据权利要求4所述的指令值生成装置,其中,
所述生成部受理生成的所述生成器的参数的修正。
6.根据权利要求4或5所述的指令值生成装置,其中,
所述生成器的参数包括所述指令值的上限值、以及相对于所述指令值的动作的目标值,
所述生成部通过将所述上限值及所述目标值固定为所指定的值,并且对其它参数进行优化,从而生成所述生成器。
7.根据权利要求1至6中任一项所述的指令值生成装置,所述指令值生成装置包括:
指示部,基于在向由所述生成部生成的所述生成器输入对所述作业中存在偏差的可能性的参数加入了扰动项后的所述状态数据的情况下生成的指令值,判定所述机器人是否能够进行动作,在无法动作的情况下,指示所述获取部获取在加入了所述扰动项的情况下生成的指令值及所述状态数据。
8.根据权利要求1至7中任一项所述的指令值生成装置,其中,
所述生成部进行用于所述生成器的生成的所述状态数据的一部分的删除、以及由所述获取部新获取的所述状态数据的追加中的至少一方,并再次执行所述生成器的生成。
9.根据权利要求1至8中任一项所述的指令值生成装置,其中,
所述获取部在所述示教时获取对包括所述对象物的作业区域进行拍摄而得到的图像,
所述指令值生成装置包括设定部,所述设定部基于所述获取部所获取到的所述图像,设定用于识别所述作业区域的参数。
10.根据权利要求9所述的指令值生成装置,其中,
所述获取部获取基于预先设定的所述对象物的尺寸、以及从所述图像识别的所述对象物的图像上的尺寸计算出的、对所述图像进行拍摄的照相机与所述对象物的距离。
11.根据权利要求1至10中任一项所述的指令值生成装置,其中,
所述机器人的动作的手动的示教是通过直接示教、来自控制器的远程操作、或使用了通过双向控制与所述机器人连接的示教用设备的远程操作来执行的。
12.根据权利要求1至11中任一项所述的指令值生成装置,所述指令值生成装置包括:
控制部,输出由所述生成器生成的指令值并对所述机器人进行控制。
13.根据权利要求12所述的指令值生成装置,所述指令值生成装置包括:
感测部,通过将所述生成器所生成的指令值输入所述生成器并进行逆运算,来估计所述状态数据,对所估计的所述状态数据与由所述获取部获取的所述状态数据进行比较,感测在所述机器人的作业中产生的异常。
14.一种指令值生成方法,其中,
获取部获取用于使机器人执行针对对象物的作业的指令值、以及多个种类的状态数据,多个种类的所述状态数据是表示通过手动示教了所述作业时的所述机器人的动作时的所述机器人的状态的状态数据,并且至少包括表示所述机器人的动作的动作数据、表示所述机器人与所述对象物的相对位置及相对姿态的位姿数据、以及表示在所述作业之间所述对象物受到的外力的外力数据,
生成部基于由所述获取部在对应的时间获取的所述指令值和所述状态数据,生成用于使所述机器人执行与所输入的所述状态数据对应的动作的指令值。
15.一种指令值生成程序,使计算机作为获取部以及生成部而发挥功能,其中,
获取部获取用于使机器人执行针对对象物的作业的指令值、以及多个种类的状态数据,多个种类的所述状态数据是表示通过手动示教了所述作业时的所述机器人的动作时的所述机器人的状态的状态数据,并且至少包括表示所述机器人的动作的动作数据、表示所述机器人与所述对象物的相对位置及相对姿态的位姿数据、以及表示在所述作业之间所述对象物受到的外力的外力数据,
生成部基于由所述获取部在对应的时间获取的所述指令值和所述状态数据,生成用于使所述机器人执行与所输入的所述状态数据对应的动作的指令值。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021145670A JP2023038776A (ja) | 2021-09-07 | 2021-09-07 | 指令値生成装置、方法、及びプログラム |
JP2021-145670 | 2021-09-07 | ||
PCT/JP2022/015158 WO2023037634A1 (ja) | 2021-09-07 | 2022-03-28 | 指令値生成装置、方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117881507A true CN117881507A (zh) | 2024-04-12 |
Family
ID=85507366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280058959.3A Pending CN117881507A (zh) | 2021-09-07 | 2022-03-28 | 指令值生成装置、方法、以及程序 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP4400274A1 (zh) |
JP (1) | JP2023038776A (zh) |
CN (1) | CN117881507A (zh) |
WO (1) | WO2023037634A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230271319A1 (en) * | 2022-02-28 | 2023-08-31 | Denso Wave Incorporated | Method of generating a learning model for transferring fluid from one container to another by controlling robot arm based on a machine-learned learning model, and a method and system for weighing the fluid |
CN116494249B (zh) * | 2023-06-26 | 2023-12-19 | 极限人工智能(北京)有限公司 | 协作机械臂实时手动控制装置、控制方法及协作系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6951659B2 (ja) * | 2017-05-09 | 2021-10-20 | オムロン株式会社 | タスク実行システム、タスク実行方法、並びにその学習装置及び学習方法 |
EP3718707A4 (en) * | 2017-11-28 | 2021-08-25 | Kawasaki Jukogyo Kabushiki Kaisha | SKILLS TRANSFER MACHINE |
JP6904327B2 (ja) * | 2018-11-30 | 2021-07-14 | オムロン株式会社 | 制御装置、制御方法、及び制御プログラム |
JP7339776B2 (ja) * | 2019-05-28 | 2023-09-06 | 川崎重工業株式会社 | 制御システム、機械装置システム及び制御方法 |
JP7333197B2 (ja) * | 2019-05-28 | 2023-08-24 | 川崎重工業株式会社 | 制御システム、機械装置システム及び制御方法 |
JP7295421B2 (ja) * | 2019-08-22 | 2023-06-21 | オムロン株式会社 | 制御装置及び制御方法 |
-
2021
- 2021-09-07 JP JP2021145670A patent/JP2023038776A/ja active Pending
-
2022
- 2022-03-28 WO PCT/JP2022/015158 patent/WO2023037634A1/ja active Application Filing
- 2022-03-28 EP EP22866966.9A patent/EP4400274A1/en active Pending
- 2022-03-28 CN CN202280058959.3A patent/CN117881507A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4400274A1 (en) | 2024-07-17 |
JP2023038776A (ja) | 2023-03-17 |
WO2023037634A1 (ja) | 2023-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106272416B (zh) | 基于力觉和视觉的机器人细长轴精密装配系统及方法 | |
JP4021413B2 (ja) | 計測装置 | |
JP3946711B2 (ja) | ロボットシステム | |
US9387589B2 (en) | Visual debugging of robotic tasks | |
JP5743499B2 (ja) | 画像生成装置、画像生成方法、およびプログラム | |
JP5371927B2 (ja) | 座標系校正方法及びロボットシステム | |
CN117881507A (zh) | 指令值生成装置、方法、以及程序 | |
US10306149B2 (en) | Image processing apparatus, robot system, robot, and image processing method | |
JP6973119B2 (ja) | ロボット制御装置及びロボットシステム | |
JP2021000678A (ja) | 制御システムおよび制御方法 | |
JP2018167334A (ja) | 教示装置および教示方法 | |
EP1526951A1 (en) | A method and a system for programming an industrial robot | |
JP2005300230A (ja) | 計測装置 | |
US10406688B2 (en) | Offline programming apparatus and method having workpiece position detection program generation function using contact sensor | |
KR20080088165A (ko) | 로봇 캘리브레이션 방법 | |
CN113878588B (zh) | 面向卡扣式连接的基于触觉反馈的机器人柔顺装配方法 | |
CN117103277A (zh) | 一种基于多模态数据融合的机械手臂感知方法 | |
CN113954076B (zh) | 基于跨模态预测装配场景的机器人精密装配方法 | |
JP4572497B2 (ja) | ロボット制御装置 | |
CN116079750A (zh) | 机器人示教系统 | |
CN113927602A (zh) | 基于视、触觉融合的机器人精密装配控制方法及系统 | |
JP7447568B2 (ja) | シミュレーション装置およびプログラム | |
JP7376318B2 (ja) | アノテーション装置 | |
JP2616225B2 (ja) | 相対位置決め方式 | |
JP2016203282A (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 |