JP2013111696A - Gripping robot, control device, control method, and program - Google Patents

Gripping robot, control device, control method, and program Download PDF

Info

Publication number
JP2013111696A
JP2013111696A JP2011259913A JP2011259913A JP2013111696A JP 2013111696 A JP2013111696 A JP 2013111696A JP 2011259913 A JP2011259913 A JP 2011259913A JP 2011259913 A JP2011259913 A JP 2011259913A JP 2013111696 A JP2013111696 A JP 2013111696A
Authority
JP
Japan
Prior art keywords
gripping
contact surface
surface group
gripping mechanism
gripping object
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
Application number
JP2011259913A
Other languages
Japanese (ja)
Inventor
Yoshiji Yamada
喜士 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2011259913A priority Critical patent/JP2013111696A/en
Publication of JP2013111696A publication Critical patent/JP2013111696A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To determine a gripping position and a gripping attitude for gripping an object to be gripped without contacting an obstacle etc.SOLUTION: A gripping robot which grips the object to be gripped by a gripping mechanism has information on a gripped object contact surface group as a combination of surfaces to come into contact with the gripping mechanism when the object to be gripped is gripped and obstacle information specifying a region of an obstacle in a work space of the gripping robot. The gripping robot specifies the position and attitude of the object to be gripped through image recognition, and selects a gripped object contact surface group which is not in contact with the region of the obstacle at the specified position of the object to be gripped and in the specified attitude of the object to be gripped.

Description

本発明は、把持ロボット、制御装置、制御方法、及びプログラムに関する。   The present invention relates to a gripping robot, a control device, a control method, and a program.

ロボットハンド等の把持機構により部品や工具等の把持対象物(以下、「ワーク」ともいう)を把持することができるロボット(以下、「把持ロボット」ともいう)が知られている。また、把持ロボットを一つ以上用いることにより、例えば、部品搬送や製品組み立てを行い、生産ラインを自動化することができる。   2. Description of the Related Art A robot (hereinafter also referred to as “grip robot”) capable of gripping a gripping object (hereinafter also referred to as “work”) such as a component or a tool by a gripping mechanism such as a robot hand is known. Further, by using one or more gripping robots, for example, parts transportation and product assembly can be performed, and the production line can be automated.

一般的に、把持対象物を把持するために行われる把持ロボットの一連の動作と位置及び姿勢は、その所定の可動範囲の中で安全に実現する必要がある。すなわち、把持対象物を把持するロボットの一連の動作中に、当該ロボットが障害物や把持対象物等に衝突したり接触したりしないように制御する必要がある。また、このような把持ロボットの制御においては、把持対象物自体の形状と位置及び姿勢を考慮して、把持機構の動作と位置及び姿勢を決定する必要がある。   In general, a series of operations, positions, and postures of a gripping robot performed for gripping a gripping object need to be safely realized within a predetermined movable range. That is, it is necessary to perform control so that the robot does not collide with or come in contact with an obstacle or a gripping target object during a series of operations of the robot that grips the gripping target object. In such a gripping robot control, it is necessary to determine the operation, position, and posture of the gripping mechanism in consideration of the shape, position, and posture of the gripping object itself.

例えば、特許文献1には、事前に教示された、又は算出された把持位置及び把持姿勢が、アーム、及びロボットの可動範囲外であった場合に、当該把持位置及び把持姿勢をシフトすることにより可動範囲内の把持位置及び把持姿勢が存在するか否かを演算することが記載されている。   For example, in Patent Document 1, when the grip position and grip posture taught or calculated in advance are outside the movable range of the arm and robot, the grip position and grip posture are shifted. It is described that whether or not there is a gripping position and a gripping posture within the movable range.

特開2009−56513号公報JP 2009-56513 A

ところで、把持対象物の一部が障害物等により覆われていたり隠れていたりする場合には、障害物等を考慮して把持動作を決定しないと、実際に把持ロボットを動作させても当該把持対象物を把持できない、という問題が生じ得る。また、障害物等を考慮しても、それを回避する把持動作を決定する手段がなければ、把持位置及び把持姿勢を決定することができない、という問題が生じ得る。   By the way, if a part of the object to be grasped is covered or hidden by an obstacle or the like, the grasping operation is not determined even if the grasping robot is actually operated unless the grasping operation is determined in consideration of the obstacle or the like. There may be a problem that the object cannot be gripped. In addition, even if an obstacle is taken into account, there is a problem that the gripping position and the gripping posture cannot be determined without a means for determining a gripping operation that avoids the obstacle.

上記の特許文献1では、把持位置及び把持姿勢をシフトすれば把持対象物を把持できることを前提としている。しかし、把持対象物の一部が障害物等により覆われていたり隠れていたりする場合が考慮されていない。そのため、上記の問題が生じ得る。   In the above-mentioned Patent Document 1, it is assumed that the object to be grasped can be grasped by shifting the grasping position and the grasping posture. However, a case where a part of the grasped object is covered or hidden by an obstacle is not considered. Therefore, the above problem can occur.

そこで、本発明は、障害物等と接触することなく把持対象物を把持可能な把持位置及び把持姿勢を決定することを目的とする。   Therefore, an object of the present invention is to determine a gripping position and a gripping posture at which a gripping target can be gripped without contacting an obstacle or the like.

本願は、上記課題を解決する手段を複数含んでいるが、その例を挙げるならば、以下のとおりである。   The present application includes a plurality of means for solving the above-described problems, and examples thereof are as follows.

上記の課題を解決するための本発明の第一の態様は、把持機構により把持対象物を把持する把持ロボットであって、前記把持対象物が把持されるときに前記把持機構と接触する面の組み合わせである把持対象物接触面群と、当該把持対象物接触面群を把持するときに接触する前記把持機構の面の組み合わせである把持機構接触面群とを対応付けた把持対象物接触面群情報、及び、前記把持ロボットの作業空間中の障害物の領域を特定する障害物情報、を記憶する記憶部と、前記把持対象物の位置及び前記把持対象物の姿勢を画像認識により特定する把持対象物位置姿勢特定部と、前記把持対象物位置姿勢特定部により特定された前記把持対象物の位置及び前記把持対象物の姿勢において前記障害物と接触していない把持対象物接触面群を、前記把持対象物接触面群情報から選択する把持対象物接触面群選択部と、を有する、ことを特徴とする。   A first aspect of the present invention for solving the above problem is a gripping robot that grips a gripping object by a gripping mechanism, and a surface of the surface that contacts the gripping mechanism when the gripping object is gripped. A gripping object contact surface group that associates a gripping object contact surface group that is a combination with a gripping mechanism contact surface group that is a combination of the surfaces of the gripping mechanism that come into contact when gripping the gripping object contact surface group A storage unit for storing information and obstacle information for specifying an obstacle area in the work space of the gripping robot; and gripping for specifying the position of the gripping object and the posture of the gripping object by image recognition A gripping object contact surface group that is not in contact with the obstacle in the position of the gripping object and the posture of the gripping object specified by the gripping object position and orientation specification unit; Previous It has a gripping target contact surface group selection unit that selects from the grasped object contact surface group information, and wherein the.

上記の構成によれば、障害物と接触していない把持対象物接触面群が選択されるので、障害物と接触することなく把持対象物を把持可能なロボットの把持位置及び把持姿勢を決定することができる。   According to the above configuration, since the gripping object contact surface group that is not in contact with the obstacle is selected, the gripping position and the gripping posture of the robot that can grip the gripping object without contacting the obstacle are determined. be able to.

ここで、前記把持ロボットは、前記把持対象物接触面群選択部により選択された前記把持対象物接触面群ごとに、当該把持対象物接触面群に対応付けられた把持機構接触面群について、所定の位置において所定の姿勢を設定し、当該姿勢で当該把持機構接触面群を当該把持対象物接触面群を把持する位置に移動したとした場合に、前記障害物と接触するか否かを判定し、前記障害物と接触しない前記把持機構の位置及び前記把持機構の姿勢を特定する、把持機構位置姿勢特定部を有する、ようにしてもよい。   Here, the gripping robot, for each gripping object contact surface group selected by the gripping object contact surface group selection unit, about the gripping mechanism contact surface group associated with the gripping object contact surface group, When a predetermined posture is set at a predetermined position and the gripping mechanism contact surface group is moved to a position for gripping the gripping object contact surface group in the posture, whether or not the obstacle is contacted is determined. A gripping mechanism position / posture specifying unit that determines and specifies the position of the gripping mechanism that does not contact the obstacle and the posture of the gripping mechanism may be provided.

上記の構成によれば、障害物と接触していない把持対象物接触面群について、障害物と接触せずに把持できる把持機構の位置及び姿勢が特定されるので、障害物と接触することなく把持対象物を把持可能なロボットの把持位置及び把持姿勢を決定することができる。   According to the above configuration, since the position and posture of the gripping mechanism that can be gripped without contacting the obstacle are specified for the gripping object contact surface group that is not in contact with the obstacle, the contact with the obstacle is avoided. The gripping position and gripping posture of the robot that can grip the gripping object can be determined.

また、前記把持機構位置姿勢特定部は、前記把持対象物接触面群選択部により選択された把持対象物接触面群ごとに、当該把持対象物接触面群に対応付けられた把持機構接触面群について、前記所定の位置において複数の異なる姿勢を設定し、姿勢ごとに、当該姿勢で当該把持機構接触面群を当該把持対象物接触面群を把持する位置に移動したとした場合に、前記障害物と接触するか否かを判定し、前記障害物と接触しない前記把持機構の位置及び前記把持機構の姿勢を特定する、ようにしてもよい。   Further, the gripping mechanism position / posture specifying unit includes a gripping mechanism contact surface group associated with the gripping object contact surface group for each gripping object contact surface group selected by the gripping object contact surface group selection unit. When a plurality of different postures are set at the predetermined position and the gripping mechanism contact surface group is moved to a position for gripping the gripping object contact surface group in the posture for each posture, the obstacle It may be determined whether or not to contact an object, and the position of the gripping mechanism that does not contact the obstacle and the attitude of the gripping mechanism may be specified.

上記の構成によれば、障害物と接触していない把持対象物接触面群について、障害物と接触せずに把持できる複数の把持機構の位置及び姿勢を特定することができる。   According to said structure, the position and attitude | position of the several holding | grip mechanism which can be hold | gripped without contacting an obstruction can be pinpointed about the grasping target object contact surface group which is not in contact with an obstruction.

また、前記記憶部は、前記把持機構の動作範囲を示す把持機構動作範囲情報を記憶し、前記把持ロボットは、前記把持機構動作範囲情報に基づいて、前記把持対象物接触面群選択部により選択された選択された把持対象物接触面群ごとに、当該把持対象物接触面群を当該把持対象物接触面群に対応付けられた把持機構接触面群の動作範囲で把持できるか否かを判定する把持機構動作量算出部を有し、前記把持機構位置姿勢特定部は、前記把持機構動作量算出部により把持できると判定された把持機構接触面群について、前記把持機構の位置及び前記把持機構の姿勢を特定する、ようにしてもよい。   The storage unit stores gripping mechanism operating range information indicating an operating range of the gripping mechanism, and the gripping robot is selected by the gripping target object contact surface group selection unit based on the gripping mechanism operating range information. For each selected gripping object contact surface group, whether or not the gripping object contact surface group can be gripped within the operation range of the gripping mechanism contact surface group associated with the gripping object contact surface group is determined. A gripping mechanism operation amount calculation unit, and the gripping mechanism position / orientation specifying unit determines the position of the gripping mechanism and the gripping mechanism for the gripping mechanism contact surface group determined to be gripped by the gripping mechanism operation amount calculation unit. You may make it specify the attitude | position of.

上記の構成によれば、把持機構の位置及び前記把持機構の姿勢を特定する前に、把持対象物接触面群をその動作範囲で把持できる把持機構接触面群が抽出されるため、処理負荷が軽減される。   According to the above configuration, since the gripping mechanism contact surface group capable of gripping the gripping target object contact surface group in the operation range is extracted before specifying the position of the gripping mechanism and the posture of the gripping mechanism, the processing load is reduced. It is reduced.

また、前記記憶部は、前記把持対象物を面で表した把持対象物形状情報と、前記把持機構が把持するときに前記把持対象物と接触する面の組み合わせである接触面群を特定する把持機構接触面群情報と、を記憶し、前記把持ロボットは、前記把持対象物形状情報と前記把持機構接触面群情報とに基づいて、前記把持機構接触面群情報に含まれる把持機構接触面群ごとに、当該把持機構接触面群が把持することができる前記把持対象物の面の組み合わせを把持対象物接触面群として特定し、当該把持対象物接触面群と当該把持機構接触面群とを対応付けることにより、前記把持対象物接触面群情報を生成する把持対象物接触面群生成部を有する、ようにしてもよい。   In addition, the storage unit identifies a contact surface group that is a combination of gripping object shape information that represents the gripping object by a surface and a surface that contacts the gripping object when the gripping mechanism grips the gripping object. Mechanism contact surface group information, and the gripping robot includes a gripping mechanism contact surface group included in the gripping mechanism contact surface group information based on the gripping object shape information and the gripping mechanism contact surface group information. For each, a combination of surfaces of the gripping object that can be gripped by the gripping mechanism contact surface group is specified as a gripping object contact surface group, and the gripping object contact surface group and the gripping mechanism contact surface group are By associating, a gripping object contact surface group generation unit that generates the gripping object contact surface group information may be provided.

上記の構成によれば、把持対象物形状情報と把持機構接触面群情報とに基づいて、把持対象物接触面群と当該把持対象物接触面群を把持できる把持機構接触面群とを対応付けることができる。   According to the above configuration, the gripping object contact surface group is associated with the gripping mechanism contact surface group that can grip the gripping object contact surface group based on the gripping object shape information and the gripping mechanism contact surface group information. Can do.

また、前記把持対象物接触面群生成部は、前記把持機構接触面群情報に含まれる把持機構接触面群ごとに、当該把持機構接触面群を構成する一方の把持機構接触面と向かい合う前記把持対象物の第一の面を特定し、前記一方の把持機構接触面と前記第一の面とが向かい合った状態において、前記把持機構接触面群を構成する他方の把持機構接触面と向かい合う前記把持対象物の第二の面を特定し、前記第一の面と前記第二の面の組み合わせを把持対象物接触面群として特定する、ようにしてもよい。   Further, the gripping object contact surface group generation unit, for each gripping mechanism contact surface group included in the gripping mechanism contact surface group information, performs the gripping that faces one gripping mechanism contact surface constituting the gripping mechanism contact surface group. The first surface of the object is specified, and the grip that faces the other gripping mechanism contact surface constituting the gripping mechanism contact surface group in a state where the one gripping mechanism contact surface and the first surface face each other A second surface of the object may be specified, and a combination of the first surface and the second surface may be specified as a gripping object contact surface group.

上記の構成によれば、把持対象物形状情報と把持機構接触面群情報とに基づいて、より簡単な方法で、把持対象物接触面群と当該把持対象物接触面群を把持できる把持機構接触面群とを対応付けることができる。   According to the above configuration, the gripping mechanism contact capable of gripping the gripping object contact surface group and the gripping object contact surface group in a simpler manner based on the gripping object shape information and the gripping mechanism contact surface group information. A group of faces can be associated.

また、前記記憶部は、前記把持機構を面で表した把持機構形状情報を記憶し、前記把持ロボットは、前記把持機構形状情報に基づいて、前記把持機構の面のうち、互いに向かい合う面の組み合わせを特定し、前記把持機構接触面群情報として生成する把持機構接触面群生成部を有する、ようにしもよい。   In addition, the storage unit stores gripping mechanism shape information representing the gripping mechanism as a surface, and the gripping robot is configured to combine the surfaces of the gripping mechanism that face each other based on the gripping mechanism shape information. And a gripping mechanism contact surface group generating unit that generates the gripping mechanism contact surface group information.

上記の構成によれば、把持機構形状情報に基づいて、把持対象物を把持できる把持機構接触面群を生成することができる。   According to the above configuration, it is possible to generate a gripping mechanism contact surface group capable of gripping a gripping object based on the gripping mechanism shape information.

また、前記把持対象物形状情報及び前記把持機構形状情報は、前記把持対象物及び前記把持機構を平面で近似したデータであってもよい。   The gripping object shape information and the gripping mechanism shape information may be data that approximates the gripping object and the gripping mechanism in a plane.

上記の構成によれば、ロボットに与えるデータを単純化でき、ロボットの処理負荷を抑えることができる。   According to said structure, the data given to a robot can be simplified and the processing load of a robot can be suppressed.

上記の課題を解決するための本発明の第二の態様は、把持機構により把持対象物を把持する把持ロボットを制御する制御装置であって、前記把持対象物が把持されるときに前記把持機構と接触する面の組み合わせである把持対象物接触面群と、当該把持対象物接触面群を把持するときに接触する前記把持機構の面の組み合わせである把持機構接触面群とを対応付けた把持対象物接触面群情報、及び、前記把持ロボットの作業空間中の障害物の領域を特定する障害物情報、を記憶する記憶部と、前記把持対象物の位置及び前記把持対象物の姿勢を画像認識により特定する把持対象物位置姿勢特定部と、前記把持対象物位置姿勢特定部により特定された前記把持対象物の位置及び前記把持対象物の姿勢において前記障害物と接触していない把持対象物接触面群を、前記把持対象物接触面群情報から選択する把持対象物接触面群選択部と、を有する、ことを特徴とする。   A second aspect of the present invention for solving the above-described problem is a control device for controlling a gripping robot that grips a gripping object by a gripping mechanism, wherein the gripping mechanism is used when the gripping object is gripped. A gripping object contact surface group that is a combination of surfaces that come into contact with a gripping mechanism contact surface group that is a combination of surfaces of the gripping mechanism that come into contact when gripping the gripping object contact surface group A storage unit for storing object contact surface group information and obstacle information for specifying an obstacle area in the work space of the gripping robot, and an image of the position of the gripping object and the posture of the gripping object A gripping object position / posture specifying unit specified by recognition, and a gripping pair that is not in contact with the obstacle in the position of the gripping target and the posture of the gripping target specified by the gripping target position / posture specifying unit An object contact surface group having a grasped object contact surface group selection unit that selects from the grasped object contact surface group information, and wherein the.

上記の課題を解決するための本発明の第三の態様は、把持機構により把持対象物を把持する把持ロボットの把持制御方法であって、前記把持対象物が把持されるときに前記把持機構と接触する面の組み合わせである把持対象物接触面群と、当該把持対象物接触面群を把持するときに接触する前記把持機構の面の組み合わせである把持機構接触面群とを対応付けた把持対象物接触面群情報、及び、前記把持ロボットの作業空間中の障害物の領域を特定する障害物情報、を取得するステップと、前記把持対象物の位置及び前記把持対象物の姿勢を画像認識により特定する把持対象物位置姿勢特定ステップと、前記把持対象物位置姿勢特定ステップで特定された前記把持対象物の位置及び前記把持対象物の姿勢において前記障害物と接触していない把持対象物接触面群を、前記把持対象物接触面群情報から選択する把持対象物接触面群選択ステップと、を含む、ことを特徴とする。   A third aspect of the present invention for solving the above-described problem is a gripping control method of a gripping robot that grips a gripping object by a gripping mechanism, and the gripping mechanism and the gripping mechanism when the gripping object is gripped. A gripping object in which a gripping object contact surface group that is a combination of surfaces to be contacted and a gripping mechanism contact surface group that is a combination of the surfaces of the gripping mechanism that are in contact when gripping the gripping object contact surface group Acquiring object contact surface group information and obstacle information for specifying an obstacle area in the work space of the gripping robot; and image recognition of the position of the gripping object and the posture of the gripping object. The gripping object position / posture specifying step to be specified, and the position of the gripping target specified in the gripping target object position / posture specifying step and the posture of the gripping target are not in contact with the obstacle. The lifting object contact surface group comprises a grasped object contact surface group selection step of selecting from said gripping target contact surface group information, it is characterized.

上記の課題を解決するための本発明の第四の態様は、把持機構により把持対象物を把持する把持ロボットを制御する制御装置のプログラムであって、前記把持対象物が把持されるときに前記把持機構と接触する面の組み合わせである把持対象物接触面群と、当該把持対象物接触面群を把持するときに接触する前記把持機構の面の組み合わせである把持機構接触面群とを対応付けた把持対象物接触面群情報、及び、前記把持ロボットの作業空間中の障害物の領域を特定する障害物情報、を記憶する記憶部と、前記把持対象物の位置及び前記把持対象物の姿勢を画像認識により特定する把持対象物位置姿勢特定部と、前記把持対象物位置姿勢特定部により特定された前記把持対象物の位置及び前記把持対象物の姿勢において前記障害物と接触していない把持対象物接触面群を、前記把持対象物接触面群情報から選択する把持対象物接触面群選択部として、前記制御装置を機能させる、ことを特徴とする。   A fourth aspect of the present invention for solving the above-described problem is a program of a control device that controls a gripping robot that grips a gripping object by a gripping mechanism, and the program is performed when the gripping object is gripped. Associating a gripping object contact surface group that is a combination of surfaces that come into contact with the gripping mechanism with a gripping mechanism contact surface group that is a combination of the surfaces of the gripping mechanism that come into contact when gripping the gripping object contact surface group A storage unit for storing the gripping object contact surface group information and obstacle information for specifying an obstacle area in the work space of the gripping robot, the position of the gripping object, and the posture of the gripping object A gripping object position / posture specifying unit that identifies the object by image recognition, and the position of the gripping target specified by the gripping target object position / posture specifying unit and the posture of the gripping target are in contact with the obstacle Without gripping target contact surface group, as grasped object contact surface group selection unit that selects from the grasped object contact surface group information, to function the control device, characterized in that.

上記の本発明の第二〜第四の態様によっても、障害物と接触していない把持対象物接触面群が選択されるので、障害物と接触することなく把持対象物を把持可能なロボットの把持位置及び把持姿勢を決定することができる。   According to the second to fourth aspects of the present invention described above, since the gripping object contact surface group that is not in contact with the obstacle is selected, the robot that can grip the gripping object without contacting the obstacle is selected. A gripping position and a gripping posture can be determined.

上記した以外の課題、構成、及び効果は、以下の実施形態の説明により明らかにされる。   Problems, configurations, and effects other than those described above will be clarified by the following description of embodiments.

本発明の一実施形態に係るロボットの外観の一例を示す図。The figure which shows an example of the external appearance of the robot which concerns on one Embodiment of this invention. ロボットのハンド(把持機構)の動作の一例を説明する図。The figure explaining an example of operation | movement of the hand (gripping mechanism) of a robot. ロボットの制御に関する概略構成の一例を示すブロック図。The block diagram which shows an example of schematic structure regarding control of a robot. ロボットの制御に関する機能構成の一例を示すブロック図。The block diagram which shows an example of the function structure regarding control of a robot. 把持対象物形状近似データ生成処理の一例を示すフロー図。The flowchart which shows an example of a holding | grip target object shape approximate data generation process. 把持対象物形状近似データの生成方法の一例を説明する図。The figure explaining an example of the production | generation method of holding | grip target object shape approximate data. 把持対象物形状近似データの構成の一例を示す図。The figure which shows an example of a structure of holding | grip target object shape approximate data. 把持機構接触面群データ生成処理の一例を示すフロー図。The flowchart which shows an example of a holding | grip mechanism contact surface group data generation process. 把持機構形状近似データの一例を説明する図。The figure explaining an example of grip mechanism shape approximate data. 把持機構形状近似データの接触面を説明する図。The figure explaining the contact surface of gripping mechanism shape approximate data. 把持機構形状近似データの接触面データの構成の一例を示す図。The figure which shows an example of a structure of the contact surface data of holding | grip mechanism shape approximate data. 把持機構接触面群を特定する処理の一例を示すフロー図。The flowchart which shows an example of the process which specifies a holding | grip mechanism contact surface group. 把持機構接触面群を特定する際の法線ベクトルの使い方の一例を説明する図。The figure explaining an example of the usage of the normal vector at the time of specifying a holding | grip mechanism contact surface group. 把持機構接触面群データの構成の一例を示す図。The figure which shows an example of a structure of holding | grip mechanism contact surface group data. 把持対象物接触面群データ生成処理の一例を示すフロー図。The flowchart which shows an example of a holding | grip target object contact surface group data generation process. 把持対象物接触面群と把持機構接触面群とを関連付ける処理の一例を示すフロー図。The flowchart which shows an example of the process which links | relates a holding | grip target object contact surface group and a holding mechanism contact surface group. 把持対象物接触面群データの構成の一例を示す図。The figure which shows an example of a structure of holding | grip target object contact surface group data. 把持対象物接触面群選択処理の一例を示すフロー図。The flowchart which shows an example of a holding | grip target object contact surface group selection process. 把持対象物と障害物の関係の一例を説明する図。The figure explaining an example of the relationship between a holding | grip target object and an obstruction. 障害物と干渉しない把持対象接触面群を選択する処理の一例を示すフロー図。The flowchart which shows an example of the process which selects the gripping target contact surface group which does not interfere with an obstruction. 選択された把持対象物接触面群データの構成の一例を示す図。The figure which shows an example of a structure of the selected holding | grip target object contact surface group data. 把持機構動作量算出処理の一例を示すフロー図。The flowchart which shows an example of a holding | grip mechanism operation amount calculation process. 把持機構接触面群と把持対象物接触面群の関係を説明する図。The figure explaining the relationship between a holding | grip mechanism contact surface group and a holding | grip target object contact surface group. 把持機構動作量を特定する処理の一例を示すフロー図。The flowchart which shows an example of the process which specifies a holding | grip mechanism operation amount. 把持機構位置姿勢設定処理の一例を示すフロー図。The flowchart which shows an example of a holding | grip mechanism position and orientation setting process. 障害物と干渉しない把持機構の位置及び姿勢を特定する処理の一例を示すフロー図(その1)。The flowchart (the 1) which shows an example of the process which specifies the position and attitude | position of the holding | grip mechanism which does not interfere with an obstruction. 障害物と干渉しない把持機構の位置及び姿勢を特定する処理の一例を示すフロー図(その2)。FIG. 9 is a flowchart (part 2) illustrating an example of a process for specifying a position and posture of a gripping mechanism that does not interfere with an obstacle. 把持対象物接触面群の軸と把持機構接触面群の軸との関係を説明する図。The figure explaining the relationship between the axis | shaft of a holding | grip target object contact surface group, and the axis | shaft of a holding mechanism contact surface group. 把持機構の位置及び姿勢を特定するための回転と並進の一例を説明する図。The figure explaining an example of rotation and translation for specifying the position and attitude | position of a holding | grip mechanism.

以下、本発明の一実施形態の一例について、図面を参照して説明する。   Hereinafter, an example of an embodiment of the present invention will be described with reference to the drawings.

図1は、本発明の一実施形態に係るロボットの外観の一例を示す図である。   FIG. 1 is a diagram showing an example of the appearance of a robot according to an embodiment of the present invention.

ロボット1は、頭部2と、胴体部3と、脚部4と、アーム5と、ハンド(把持機構)8とを備える把持ロボットである。ロボット1は、アーム5の一端に取り付けられたハンド8で把持対象物を把持する。本図の例では、ロボット1は、左右2本のアームを備えている。   The robot 1 is a gripping robot including a head 2, a body portion 3, a leg portion 4, an arm 5, and a hand (grip mechanism) 8. The robot 1 grips an object to be gripped with a hand 8 attached to one end of the arm 5. In the example of this figure, the robot 1 includes two left and right arms.

アーム5は、複数のジョイント(関節)6と、複数のリンク7とからなる。各ジョイント6は、リンク7同士や、胴体部3とリンク7、ハンド8とリンク7を、回動自在に(ただし、所定の可動範囲内で回動可能に)連結している。各ジョイント6は、例えば、回転ジョイントであり、リンク7間の角度を変化させたり、リンク7を軸回転させたりできるように設けられている。従って、各ジョイント6を連動させて駆動することにより、ハンド8を、自在に(ただし、所定の可動範囲内で)移動させることができるとともに、自由な方向へ向けることもできる。本図の例では、アーム5は、6つのジョイントを備えた6軸アームとなっている。   The arm 5 includes a plurality of joints (joints) 6 and a plurality of links 7. Each joint 6 connects the links 7, the body 3 and the link 7, and the hand 8 and the link 7 so as to be rotatable (but rotatable within a predetermined movable range). Each joint 6 is, for example, a rotary joint, and is provided so that the angle between the links 7 can be changed or the links 7 can be rotated about the axis. Therefore, by driving each joint 6 in conjunction with each other, the hand 8 can be moved freely (within a predetermined movable range) and can be directed in a free direction. In the example of this figure, the arm 5 is a 6-axis arm provided with 6 joints.

図2は、ロボットのハンド(把持機構)の動作の一例を説明する図である。   FIG. 2 is a diagram illustrating an example of the operation of the robot hand (gripping mechanism).

図2(A)の斜視図に示すように、ハンド8は、4本の指9を備える。また、図2(B)の底面図に示すように、各指9は、例えば、隣り合う指に近付くように移動し、少なくとも2本の指で把持対象物を挟んで把持することができる仕組みとなっている。   As shown in the perspective view of FIG. 2A, the hand 8 includes four fingers 9. Further, as shown in the bottom view of FIG. 2B, each finger 9 moves so as to approach an adjacent finger, for example, and can hold a gripping object with at least two fingers. It has become.

図3は、ロボットの制御に関する概略構成の一例を示すブロック図である。   FIG. 3 is a block diagram illustrating an example of a schematic configuration related to the control of the robot.

ロボット1は、コントローラー10と、撮像部20と、可動部30とを備える。   The robot 1 includes a controller 10, an imaging unit 20, and a movable unit 30.

撮像部20は、ロボット1の外部環境を撮影して、画像データを生成するユニットである。撮像部20は、例えば、カメラを含み、ロボット1の頭部2に設けられる。撮像部20は、コントローラー10の制御により、把持対象物や障害物などを含む外部環境の撮影を行うとともに画像データを生成し、コントローラー10に出力する。   The imaging unit 20 is a unit that captures an external environment of the robot 1 and generates image data. The imaging unit 20 includes, for example, a camera and is provided on the head 2 of the robot 1. Under the control of the controller 10, the imaging unit 20 captures an external environment including a gripping target and an obstacle, generates image data, and outputs the image data to the controller 10.

可動部30は、ロボット1の可動部分である。可動部30には、例えば、頭部2、胴体部3、脚部4、アーム5、ハンド8が含まれる。各可動部30は、例えば、アクチュエーター31と、力覚センサーなどの種々のセンサー32と、を備える。アクチュエーター31は、例えば、アーム5の各ジョイント6や、ハンド8の各指にそれぞれ設けられており、これらを動作させる。アクチュエーター31は、例えば、モーター、当該モーターの駆動回路、エンコーダーなどを備える。エンコーダーが出力するエンコーダー値やセンサー32が出力するセンサー値は、可動部の位置、移動方向、移動量、速度、加速度、把持対象物との接触などを把握するのに、コントローラー10により利用される。   The movable part 30 is a movable part of the robot 1. The movable part 30 includes, for example, the head 2, the body part 3, the leg part 4, the arm 5, and the hand 8. Each movable unit 30 includes, for example, an actuator 31 and various sensors 32 such as a force sensor. The actuator 31 is provided, for example, on each joint 6 of the arm 5 and each finger of the hand 8 and operates them. The actuator 31 includes, for example, a motor, a drive circuit for the motor, an encoder, and the like. The encoder value output by the encoder and the sensor value output by the sensor 32 are used by the controller 10 to grasp the position, moving direction, moving amount, speed, acceleration, contact with the grasped object, etc. of the movable part. .

コントローラー10は、ロボット1の全体を制御する処理を行う。コントローラー10は、演算装置であるCPU11と、揮発性の記憶装置であるRAM12と、不揮発性の記憶装置であるROM13と、コントローラー10と他のユニットと接続するインターフェイス(I/F)回路14と、ロボット1の外部の装置と通信を行う通信装置15と、を備える。   The controller 10 performs processing for controlling the entire robot 1. The controller 10 includes a CPU 11 that is an arithmetic device, a RAM 12 that is a volatile storage device, a ROM 13 that is a nonvolatile storage device, an interface (I / F) circuit 14 that connects the controller 10 and other units, A communication device 15 that communicates with a device external to the robot 1.

コントローラー10は、例えば、撮像部20の出力画像から画像認識によって把持対象物の形状と位置及び姿勢を認識する。また、コントローラー10は、例えば、認識された把持対象物を把持するためのロボット1の一連の動作と、把持位置及び把持姿勢を計算する。また、コントローラー10は、例えば、各種センサーやエンコーダーの出力信号に基づいて、各可動部30が目的の位置及び姿勢となるようにアクチュエーター31を制御し、可動部30を動作させる。   For example, the controller 10 recognizes the shape, position, and orientation of the grasped object from the output image of the imaging unit 20 by image recognition. Further, the controller 10 calculates, for example, a series of operations of the robot 1 for gripping the recognized gripping object, a gripping position, and a gripping posture. For example, the controller 10 controls the actuator 31 so that each movable part 30 becomes a target position and posture based on output signals of various sensors and encoders, and operates the movable part 30.

なお、把持対象物の位置は、例えば、ロボットの作業空間を基準座標系としたときの、当該把持対象物の所定の基準点(例えば、重心など)の、前記基準座標系における位置座標とすることができる。また、把持対象物の姿勢は、例えば、当該把持対象物の所定の基準ベクトル(例えば、重心から所定方向に向かうベクトル)の、前記基準座標系における向きすることができる。把持機構やロボットの位置及び姿勢についても同様に定義できる。もちろん、位置や姿勢の定義はこれに限られず、他の方法で定義してもよい。   The position of the gripping object is, for example, the position coordinate in the reference coordinate system of a predetermined reference point (for example, the center of gravity) of the gripping object when the work space of the robot is used as the reference coordinate system. be able to. In addition, the posture of the gripping object can be, for example, the orientation of a predetermined reference vector (for example, a vector heading in a predetermined direction from the center of gravity) of the gripping object in the reference coordinate system. The position and posture of the gripping mechanism and robot can be defined in the same way. Of course, the definition of the position and orientation is not limited to this, and may be defined by other methods.

以上のロボット1の構成は、本実施形態の特徴を説明するにあたって主要構成を説明したのであって、上記の構成に限られない。ハンドにより把持対象物を把持できれば、どのような構造であってもよい。また、一般的な把持ロボットが備える構成を排除するものではない。   The configuration of the robot 1 described above is not limited to the above-described configuration because the main configuration has been described in describing the features of the present embodiment. Any structure may be used as long as the object to be grasped can be grasped by the hand. In addition, the configuration of a general gripping robot is not excluded.

例えば、図1では6軸のアームが示されているが、軸数(ジョイント数)をさらに増加させてもよいし減らしてもよい。リンクの数を増減させてもよい。また、アーム、ハンド、リンク、ジョイント等の各種部材の形状、大きさ、配置、構造等も適宜変更してよい。また、コントローラー10は、ロボット1の本体に内蔵されていなくてもよく、ロボット1を遠隔操作する機器に設けられていてもよい。   For example, although a 6-axis arm is shown in FIG. 1, the number of axes (number of joints) may be further increased or decreased. The number of links may be increased or decreased. In addition, the shape, size, arrangement, structure, and the like of various members such as the arm, hand, link, and joint may be appropriately changed. The controller 10 may not be built in the main body of the robot 1 and may be provided in a device that remotely operates the robot 1.

次に、上記のロボット1における、把持動作と位置及び姿勢の制御方法について、具体的に説明する。   Next, a gripping operation and a method for controlling the position and orientation in the robot 1 will be specifically described.

なお、本実施形態は、ロボット1を実際に動作させるに当たって、事前に、動作と位置及び姿勢のシミュレーションを行うものである。   In the present embodiment, the motion, position and orientation are simulated in advance before actually operating the robot 1.

図4は、ロボットの制御に関する機能構成の一例を示すブロック図である。   FIG. 4 is a block diagram illustrating an example of a functional configuration related to robot control.

本図に示すように、ロボット1は、形状近似部101と、把持機構接触面群生成部102と、把持対象物接触面群生成部103と、把持対象物位置姿勢取得部104と、把持対象物接触面群選択部105と、把持機構動作量算出部106と、把持機構位置姿勢設定部107と、を備える。また、ロボット1は、各種データ111〜123を記憶する記憶部を備える。   As shown in the figure, the robot 1 includes a shape approximating unit 101, a gripping mechanism contact surface group generation unit 102, a gripping object contact surface group generation unit 103, a gripping object position / posture acquisition unit 104, and a gripping target. An object contact surface group selection unit 105, a gripping mechanism operation amount calculation unit 106, and a gripping mechanism position / posture setting unit 107 are provided. In addition, the robot 1 includes a storage unit that stores various data 111 to 123.

記憶部には、把持機構形状データ111と、把持対象物形状データ112と、把持機構形状近似データ113と、把持対象物形状近似データ114と、把持機構接触面群データ115と、把持対象物接触面群データ116と、把持対象物認識処理データ117と、把持対象物位置姿勢データ118と、障害物データ119と、選択された把持対象物接触面群データ120と、把持機構動作範囲データ121と、把持機構動作量データ122と、把持機構位置姿勢データ123と、が格納される。   The storage unit includes gripping mechanism shape data 111, gripping object shape data 112, gripping mechanism shape approximation data 113, gripping object shape approximation data 114, gripping mechanism contact surface group data 115, and gripping object contact. Surface group data 116, gripping object recognition processing data 117, gripping object position and orientation data 118, obstacle data 119, selected gripping object contact surface group data 120, gripping mechanism operation range data 121, , Gripping mechanism operation amount data 122 and gripping mechanism position / posture data 123 are stored.

上記の記憶部以外の各機能部は、例えば、CPU11がROM13に格納された所定のプログラムをRAM12に読み出して実行することにより実現される。記憶部は、例えば、RAM12やROM13により実現される。なお、前記所定のプログラムは、例えば、予めROM13にインストールされてもよいし、通信装置15を介してネットワークからダウンロードされてインストール又は更新されてもよい。   Each functional unit other than the storage unit described above is realized, for example, when the CPU 11 reads a predetermined program stored in the ROM 13 into the RAM 12 and executes it. The storage unit is realized by, for example, the RAM 12 or the ROM 13. For example, the predetermined program may be installed in the ROM 13 in advance, or may be downloaded from the network via the communication device 15 and installed or updated.

把持機構形状データ111は、ハンドの形状と寸法を示すデータである。把持機構形状データ111は、例えば、把持機構の形状を忠実に表した3次元のCADデータなどである。把持機構形状データ111は、予め用意され、記憶部に記憶される。   The gripping mechanism shape data 111 is data indicating the shape and dimensions of the hand. The gripping mechanism shape data 111 is, for example, three-dimensional CAD data that faithfully represents the shape of the gripping mechanism. The gripping mechanism shape data 111 is prepared in advance and stored in the storage unit.

なお、図示していないが、ロボット全体の形状データも、予め用意され、記憶部に記憶されていてもよい。   Although not shown, the shape data of the entire robot may be prepared in advance and stored in the storage unit.

把持対象物形状データ112は、把持対象物の形状と寸法を示すデータである。把持対象物形状データ112は、例えば、把持対象物の形状を忠実に表した3次元のCADデータなどである。把持対象物形状データ112は、予め用意され、記憶部に記憶される。   The gripping object shape data 112 is data indicating the shape and dimensions of the gripping object. The gripping object shape data 112 is, for example, three-dimensional CAD data that faithfully represents the shape of the gripping object. The gripping object shape data 112 is prepared in advance and stored in the storage unit.

把持機構形状近似データ113は、ハンドの形状と寸法を近似したデータである。把持機構形状近似データ113は、例えば、3次元のCADデータであり、曲線や曲面を直線や平面で近似したデータである。把持機構形状近似データ113は、予め用意され、記憶部に記憶されていてもよいし、形状近似部101が把持機構形状データ111に基づいて生成するようにしてもよい。   The gripping mechanism shape approximation data 113 is data that approximates the shape and dimensions of the hand. The gripping mechanism shape approximation data 113 is, for example, three-dimensional CAD data, and is data obtained by approximating a curve or a curved surface with a straight line or a plane. The gripping mechanism shape approximate data 113 may be prepared in advance and stored in the storage unit, or the shape approximating unit 101 may generate based on the gripping mechanism shape data 111.

なお、図示していないが、ロボット全体の形状近似データも、予め用意され、記憶部に記憶されていてもよいし、形状近似部101がロボット全体の形状データに基づいて生成するようにしてもよい。   Although not shown, shape approximation data for the entire robot may be prepared in advance and stored in the storage unit, or may be generated by the shape approximation unit 101 based on the shape data for the entire robot. Good.

把持対象物形状近似データ114は、把持対象物の形状と寸法を近似したデータである。把持対象物形状近似データ114は、例えば、3次元のCADデータであり、曲線や曲面を直線や平面で近似したデータである。把持対象物形状近似データ114は、予め用意され、記憶部に記憶されていてもよいし、形状近似部101が把持対象物形状データ112に基づいて生成するようにしてもよい。   The gripping object shape approximate data 114 is data that approximates the shape and dimensions of the gripping object. The grasped object shape approximate data 114 is, for example, three-dimensional CAD data, and is data obtained by approximating a curve or a curved surface with a straight line or a plane. The gripping object shape approximation data 114 may be prepared in advance and stored in the storage unit, or the shape approximation unit 101 may be generated based on the gripping object shape data 112.

把持機構接触面群データ115は、近似された把持機構形状(把持機構形状近似データ113)を構成する平面(平面要素)のうち、把持対象物を把持するときに把持対象物に接触する平面(接触面)の組み合わせ(群)を特定するデータである。すなわち、把持対象物を把持する把持機構の面の組み合わせを特定するデータである。把持機構接触面群データ115は、予め用意され、記憶部に記憶されていてもよいし、把持機構接触面群生成部102が生成するようにしてもよい。   The gripping mechanism contact surface group data 115 is a plane (plane element) that constitutes an approximate gripping mechanism shape (gripping mechanism shape approximate data 113) that comes into contact with the gripping object when gripping the gripping object ( This is data for specifying a combination (group) of (contact surface). That is, the data specifies the combination of the surfaces of the gripping mechanism that grips the gripping object. The gripping mechanism contact surface group data 115 may be prepared in advance and stored in the storage unit, or may be generated by the gripping mechanism contact surface group generation unit 102.

把持対象物接触面群データ116は、近似された把持対象物形状(把持対象物形状近似データ114)を構成する平面(平面要素)のうち、把持機構により把持されるときに把持機構と接触する平面(接触面)の組み合わせ(群)を特定するデータである。すなわち、把持機構により把持される面の組み合わせを特定するデータである。把持対象物接触面群データ116は、予め用意され、記憶部に記憶されてもよいし、把持対象物接触面群生成部103が生成するようにしてもよい。   The gripping object contact surface group data 116 is in contact with the gripping mechanism when gripped by the gripping mechanism among the planes (planar elements) constituting the approximate gripping object shape (gripping target object shape approximation data 114). This is data for specifying a combination (group) of flat surfaces (contact surfaces). That is, the data specifies the combination of surfaces gripped by the gripping mechanism. The gripping object contact surface group data 116 may be prepared in advance and stored in the storage unit, or may be generated by the gripping object contact surface group generation unit 103.

把持対象物認識処理データ117は、把持対象物を種々の方向から見た形状と寸法を示すデータである。把持対象物認識処理データ117は、例えば、3次元のCADデータなどである。把持対象物認識処理データ117は、例えば、撮像部20により撮影された外部環境の画像データと照合され、当該外部環境に存在する把持対象物の位置及び姿勢の認識に使用される。把持対象物認識処理データ117は、予め用意され、記憶部に記憶される。   The gripping object recognition processing data 117 is data indicating the shape and dimensions of the gripping object viewed from various directions. The gripping object recognition processing data 117 is, for example, three-dimensional CAD data. The gripping object recognition processing data 117 is collated with, for example, image data of the external environment photographed by the imaging unit 20, and is used for recognizing the position and orientation of the gripping object existing in the external environment. The gripping object recognition processing data 117 is prepared in advance and stored in the storage unit.

把持対象物位置姿勢データ118は、把持対象物の位置及び姿勢を示すデータである。把持対象物位置姿勢データ118は、画像認識の結果認識された把持対象物の、作業空間中の位置及び姿勢を特定するデータである。複数の把持対象物が存在すれば、把持対象物ごとの位置姿勢データが記録される。把持対象物位置姿勢データ118は、把持対象物位置姿勢取得部104により生成される。   The gripping object position / orientation data 118 is data indicating the position and orientation of the gripping object. The gripping object position / orientation data 118 is data for specifying the position and orientation of the gripping object recognized as a result of image recognition in the work space. If there are a plurality of gripping objects, position and orientation data for each gripping object is recorded. The gripping object position / posture data 118 is generated by the gripping object position / posture acquisition unit 104.

障害物データ119は、ロボット1の障害となる可能性のある障害物を示すデータである。障害物データ119は、例えば、ロボット1を基準位置として、当該ロボット1が把持動作を行う際にハンドやアームと衝突する可能性のある外部環境の領域の形状と寸法と位置及び姿勢を示すデータである。把持対象物が置かれる床、把持対象物の周辺の部品などの物、他のロボットなどが障害物となりうる。障害物データ119は、予め用意され、記憶部に記憶されてもよいし、撮影した画像データに基づく画像認識により生成されるようにしてもよい。   The obstacle data 119 is data indicating an obstacle that may become an obstacle of the robot 1. The obstacle data 119 is, for example, data indicating the shape, size, position, and posture of an external environment area that may collide with a hand or an arm when the robot 1 performs a gripping operation with the robot 1 as a reference position. It is. An object such as a floor on which the object to be grasped is placed, parts around the object to be grasped, another robot, and the like can be obstacles. The obstacle data 119 may be prepared in advance and stored in a storage unit, or may be generated by image recognition based on photographed image data.

障害物データを用意すべき物理的な範囲は、例えば、ロボット1を基準に、ハンドにより把持をすることができる可動範囲に加え、当該可動範囲でハンドが動作した場合にアームなどの他の部分が障害物と衝突することがないような最小の作業範囲(作業空間)とすることができる。   The physical range in which the obstacle data should be prepared is, for example, a movable range that can be gripped by the hand with reference to the robot 1, and other parts such as an arm when the hand moves in the movable range. Can be set to a minimum work range (work space) that does not collide with an obstacle.

選択された把持対象物接触面群データ120は、把持対象物接触面群データ116に含まれる接触面群のうち、所定の条件により選択された接触面群のデータである。把持対象物接触面群データ116は、把持対象物接触面群選択部105により生成される。   The selected gripping object contact surface group data 120 is data of a contact surface group selected according to a predetermined condition from among the contact surface groups included in the gripping object contact surface group data 116. The gripping object contact surface group data 116 is generated by the gripping object contact surface group selection unit 105.

把持機構動作範囲データ121は、ハンドの動作範囲(可動範囲)を特定するデータである。把持機構動作範囲データ121には、例えば、ハンド、指等の移動方向や移動量等を特定するデータが含まれる。アームや他の可動部の移動方向や移動量等を特定するデータが含まれていてもよい。把持機構動作範囲データ121は、予め用意され、記憶部に記憶される。   The gripping mechanism operation range data 121 is data for specifying the operation range (movable range) of the hand. The gripping mechanism operation range data 121 includes, for example, data for specifying the moving direction and moving amount of a hand, a finger, and the like. Data for specifying the moving direction and moving amount of the arm and other movable parts may be included. The gripping mechanism operation range data 121 is prepared in advance and stored in the storage unit.

把持機構動作量データ122は、把持対象物を把持するハンドの動作量を特定するデータである。把持機構動作量データ122には、例えば、把持対象物の接触面群ごとに、当該接触面群を把持する把持機構の接触面群に対応する各指の移動方向と移動量を特定するデータである。把持機構動作量データ122は、把持機構動作量算出部106により生成される。   The gripping mechanism operation amount data 122 is data that specifies the operation amount of the hand that holds the object to be grasped. The gripping mechanism operation amount data 122 includes, for example, data for specifying the moving direction and the moving amount of each finger corresponding to the contact surface group of the gripping mechanism that grips the contact surface group for each contact surface group of the gripping object. is there. The gripping mechanism motion amount data 122 is generated by the gripping mechanism motion amount calculation unit 106.

把持機構位置姿勢データ123は、把持対象物を把持するときの把持機構の位置及び姿勢を特定するデータである。把持機構位置姿勢データ123は、把持機構位置姿勢設定部107により生成される。   The gripping mechanism position / orientation data 123 is data for specifying the position and orientation of the gripping mechanism when gripping a gripping object. The gripping mechanism position and orientation data 123 is generated by the gripping mechanism position and orientation setting unit 107.

形状近似部101は、把持機構形状データ111に基づいて把持機構形状近似データ113を生成する。また、形状近似部101は、把持対象物形状データ112に基づいて把持対象物形状近似データ114を生成する。なお、近似データが予め用意される場合は、形状近似部101は、なくてよい。   The shape approximating unit 101 generates gripping mechanism shape approximate data 113 based on the gripping mechanism shape data 111. In addition, the shape approximating unit 101 generates gripping object shape approximation data 114 based on the gripping object shape data 112. If approximate data is prepared in advance, the shape approximating unit 101 may be omitted.

把持機構接触面群生成部102は、把持機構形状近似データ113に基づいて、把持対象物を把持する把持機構の接触面群を特定し、把持機構接触面群データ115を生成する。なお、把持機構接触面群データ115が予め用意される場合は、把持機構接触面群生成部102は、なくてよい。   The gripping mechanism contact surface group generation unit 102 specifies the contact surface group of the gripping mechanism that grips the gripping object based on the gripping mechanism shape approximation data 113, and generates gripping mechanism contact surface group data 115. When the gripping mechanism contact surface group data 115 is prepared in advance, the gripping mechanism contact surface group generation unit 102 may be omitted.

把持対象物接触面群生成部103は、把持対象物形状近似データ114と把持機構接触面群データ115とに基づいて、把持機構接触面群により把持可能な把持対象物の接触面群を特定し、把持対象物接触面群データ116を生成する。なお、把持対象物接触面群データ116が予め用意される場合は、把持対象物接触面群生成部103は、なくてよい。   The gripping object contact surface group generation unit 103 specifies a contact surface group of gripping objects that can be gripped by the gripping mechanism contact surface group based on the gripping object shape approximation data 114 and the gripping mechanism contact surface group data 115. Then, the gripping object contact surface group data 116 is generated. Note that when the gripping object contact surface group data 116 is prepared in advance, the gripping object contact surface group generation unit 103 may be omitted.

把持対象物位置姿勢取得部104は、撮像部20により撮影された画像データと、把持対象物認識処理データ117とに基づいて、画像認識処理を行い、画像データに含まれる把持対象物の形状と寸法と位置及び姿勢を特定し、把持対象物位置姿勢データ118を生成する。   The gripping object position / posture acquisition unit 104 performs image recognition processing based on the image data captured by the imaging unit 20 and the gripping object recognition processing data 117, and determines the shape of the gripping object included in the image data. The dimensions, position, and orientation are specified, and the gripping object position / posture data 118 is generated.

把持対象物接触面群選択部105は、把持対象物接触面群データ116と、把持対象物位置姿勢データ118と、障害物データ119とに基づいて、作業空間内の障害物により妨げられていない把持対象物接触面群を選択し、選択された把持対象物接触面群データ120を生成する。   The gripping object contact surface group selection unit 105 is not obstructed by an obstacle in the work space based on the gripping object contact surface group data 116, the gripping object position / posture data 118, and the obstacle data 119. A gripping object contact surface group is selected, and the selected gripping object contact surface group data 120 is generated.

把持機構動作量算出部106は、把持機構動作範囲データ121と、把持機構接触面群データ115と、選択された把持対象物接触面群データ120とに基づいて、把持対象物接触面群ごとに、当該接触面群を把持する把持機構の接触面群に対応する各指の移動方向と移動量を算出し、把持機構動作量データ122を生成する。   The gripping mechanism motion amount calculation unit 106 performs the gripping mechanism motion range data 121, the gripping mechanism contact surface group data 115, and the selected gripping target object contact surface group data 120 for each gripping target object contact surface group. Then, the movement direction and movement amount of each finger corresponding to the contact surface group of the gripping mechanism that grips the contact surface group are calculated, and gripping mechanism operation amount data 122 is generated.

把持機構位置姿勢設定部107は、把持機構形状近似データ113と、把持対象物形状近似データ114と、把持対象物位置姿勢データ118と、障害物データ119と、選択された把持対象物接触面群データ120と、把持機構動作量データ122とに基づいて、作業空間内の障害物により妨げられずに把持対象物を把持可能な把持機構の位置及び姿勢を算出し、把持機構位置姿勢データ123を生成する。   The gripping mechanism position / orientation setting unit 107 includes gripping mechanism shape approximation data 113, gripping object shape approximation data 114, gripping object position / posture data 118, obstacle data 119, and a selected gripping object contact surface group. Based on the data 120 and the gripping mechanism operation amount data 122, the position and posture of the gripping mechanism that can grip the gripping object without being obstructed by the obstacle in the work space are calculated, and the gripping mechanism position / posture data 123 is obtained. Generate.

以上の機能構成は、ロボット1の動作と位置及び姿勢の制御に関する構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。ロボット1の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、1つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。   The above functional configuration is classified according to the main processing contents in order to facilitate understanding of the configuration related to the operation of the robot 1 and the position and orientation control. The present invention is not limited by the way of classification and names of the constituent elements. The configuration of the robot 1 can be classified into more components depending on the processing content. Moreover, it can also classify | categorize so that one component may perform more processes. Further, the processing of each component may be executed by one hardware or may be executed by a plurality of hardware.

次に、上記の各種機能により実現される処理について、図面を参照して説明する。以下では、円筒状の把持対象物を把持する場合を例に挙げて説明する。   Next, processing realized by the various functions will be described with reference to the drawings. Hereinafter, a case where a cylindrical gripping target is gripped will be described as an example.

図5は、把持対象物形状近似データ生成処理の一例を示すフロー図である。   FIG. 5 is a flowchart showing an example of the gripping object shape approximate data generation process.

S10:形状近似部101は、把持対象物形状データ112を記憶部から取得する。把持対象物形状データ112は、例えば、図6(A)に示すように、XYZ軸を有する座標系で表されるデータである。   S10: The shape approximating unit 101 acquires gripping object shape data 112 from the storage unit. The grasped object shape data 112 is data represented by a coordinate system having XYZ axes, for example, as shown in FIG.

S20:形状近似部101は、S10で取得した把持対象物形状データが表す把持対象物の形状の表面に、節点を設定する。本実施形態では、節点とは、面と面とを接合する点を意味するものとする。形状近似部101は、例えば、図6(B)に示すように、把持対象物の形状を近似できるように、面と面の接合部分に略均等な(均等も含む)間隔で複数の節点(a〜x)を配置する。   S20: The shape approximating unit 101 sets a node on the surface of the shape of the gripping object represented by the gripping object shape data acquired in S10. In the present embodiment, a node means a point that joins surfaces. For example, as shown in FIG. 6B, the shape approximating unit 101 has a plurality of nodes (approximately equal to each other) at substantially equal (including even) intervals between the surfaces so that the shape of the grasped object can be approximated. a to x).

S30:形状近似部101は、S20で設定した各節点を結ぶ直線を設定する。本実施形態では、形状近似部101は、把持対象物の形状を近似する平面が形成されるように、各節点を直線で結ぶ(図6(C)参照)。   S30: The shape approximating unit 101 sets a straight line connecting the nodes set in S20. In the present embodiment, the shape approximating unit 101 connects the nodes with straight lines so that a plane that approximates the shape of the grasped object is formed (see FIG. 6C).

S40:形状近似部101は、S30で設定した節点間の直線で囲まれた領域を、把持対象物の形状を近似する平面要素として特定する。例えば、図6(C)に示すように、把持対象物は、14個の平面要素(外側の6面、内側の6面、上下の2面)により近似される。   S40: The shape approximating unit 101 identifies the area surrounded by the straight line between the nodes set in S30 as a plane element that approximates the shape of the grasped object. For example, as shown in FIG. 6C, the grasped object is approximated by 14 plane elements (outer 6 surfaces, inner 6 surfaces, upper and lower 2 surfaces).

また、形状近似部101は、特定した各平面要素について、その法線ベクトル(平面に対して垂直なベクトル)であって、把持対象物の外を向く(把持対象物の形状が占める領域側でない方向の)法線ベクトルを算出する(図6(D)参照)。なお、図6(D)では、平面要素abnmと平面要素ghtsのみを図示している。   In addition, the shape approximating unit 101 is a normal vector (vector perpendicular to the plane) for each identified plane element, and faces outward from the gripping object (not on the region side occupied by the shape of the gripping object) A normal vector (of direction) is calculated (see FIG. 6D). In FIG. 6D, only the planar element abnm and the planar element ghts are illustrated.

そして、形状近似部101は、例えば、図7に示すような把持対象物形状近似データ114を生成する。把持対象物形状近似データ114は、平面要素を特定する平面要素番号ごとに、当該平面要素を構成する節点の座標と、当該平面要素の法線ベクトルとを含む。   Then, the shape approximating unit 101 generates gripping object shape approximating data 114 as shown in FIG. 7, for example. The grasped object shape approximate data 114 includes, for each plane element number that identifies a plane element, the coordinates of the nodes constituting the plane element and the normal vector of the plane element.

以上のようにして、把持対象物形状近似データ114が生成される。   As described above, the gripping object shape approximation data 114 is generated.

図8は、把持機構接触面群データ生成処理の一例を示すフロー図である。   FIG. 8 is a flowchart illustrating an example of the gripping mechanism contact surface group data generation process.

S110:把持機構接触面群生成部102は、予め用意された又は生成された把持機構形状近似データ113を記憶部から取得する。把持機構形状近似データ113は、例えば、図9に示すように、ハンド8の各指9を平面要素で近似したデータである。すなわち、把持機構形状近似データ113は、例えば、平面要素を特定する平面要素番号ごとに、当該平面要素が属する指を特定する識別情報と、当該平面要素を構成する節点の座標と、当該平面要素の法線ベクトル(把持機構の外を向く(把持機構の形状が占める領域側でない方向の)法線ベクトル)とを含む。把持機構形状近似データ113の生成方法は、把持対象物形状近似データ114と同様なので、説明を省略する。   S110: The gripping mechanism contact surface group generation unit 102 acquires gripping mechanism shape approximation data 113 prepared or generated in advance from the storage unit. The gripping mechanism shape approximate data 113 is, for example, data obtained by approximating each finger 9 of the hand 8 with a plane element as shown in FIG. That is, the gripping mechanism shape approximation data 113 includes, for example, for each plane element number that identifies a plane element, identification information that identifies the finger to which the plane element belongs, the coordinates of the nodes that constitute the plane element, and the plane element Normal vectors (normal vectors facing outward from the gripping mechanism (in a direction not occupied by the region occupied by the shape of the gripping mechanism)). Since the generation method of the gripping mechanism shape approximate data 113 is the same as that of the gripping object shape approximate data 114, description thereof is omitted.

S120:把持機構接触面群生成部102は、S110で取得した把持機構形状近似データ113の中から、把持対象物と接触させるべき平面要素(接触面)を抽出する。把持機構接触面群生成部102は、例えば、図10に示すように、向かい側に指がある平面要素(把持機構接触面)を、把持対象物と接触させるべき平面要素(接触面)として抽出する。また、抽出した各平面要素の法線ベクトルを把持機構形状近似データ113から取得する。抽出された平面要素のデータは、例えば、図11に示すように、平面要素を特定する平面要素番号ごとに、当該平面要素が属する指を特定する識別情報と、当該平面要素を構成する節点の座標と、当該平面要素の法線ベクトルとを含む。   S120: The gripping mechanism contact surface group generation unit 102 extracts a planar element (contact surface) to be brought into contact with the gripping object from the gripping mechanism shape approximate data 113 acquired in S110. For example, as illustrated in FIG. 10, the gripping mechanism contact surface group generation unit 102 extracts a planar element having a finger on the opposite side (grip mechanism contact surface) as a planar element (contact surface) to be brought into contact with the gripping object. . Further, the normal vector of each extracted planar element is acquired from the gripping mechanism shape approximation data 113. For example, as shown in FIG. 11, the extracted plane element data includes, for each plane element number that identifies a plane element, identification information that identifies the finger to which the plane element belongs, and the nodes that constitute the plane element. The coordinates and the normal vector of the plane element are included.

S130:把持機構接触面群生成部102は、S120で抽出した平面要素から、把持対象物を把持するための平面要素の組み合わせ(接触面群)を特定する。   S130: The gripping mechanism contact surface group generation unit 102 identifies a combination of planar elements (contact surface group) for gripping the gripping object from the planar elements extracted in S120.

S130の詳細を、図12を参照して説明する。図12は、把持機構接触面群を特定する処理の一例を示すフロー図である。   Details of S130 will be described with reference to FIG. FIG. 12 is a flowchart illustrating an example of processing for specifying a gripping mechanism contact surface group.

S1301:把持機構接触面群生成部102は、把持機構接触面群の数を示す変数countを0に設定する。   S1301: The gripping mechanism contact surface group generation unit 102 sets a variable count indicating the number of gripping mechanism contact surface groups to 0.

S1302:把持機構接触面群生成部102は、S120で抽出した平面要素のデータに含まれる各平面要素番号を指すインデックスiを0に設定する。   S1302: The gripping mechanism contact surface group generation unit 102 sets an index i indicating each planar element number included in the planar element data extracted in S120 to 0.

S1303:把持機構接触面群生成部102は、インデックスiが、S120で抽出した平面要素の総数Nより小さいか否かを判定する。Nより小さい場合(S1303:YES)、処理をS1304に進める。N以上の場合(S1303:NO)、処理をC(S1318)に進める。   S1303: The gripping mechanism contact surface group generation unit 102 determines whether the index i is smaller than the total number N of planar elements extracted in S120. If smaller than N (S1303: YES), the process proceeds to S1304. If N or more (S1303: NO), the process proceeds to C (S1318).

S1304:把持機構接触面群生成部102は、S120で抽出した平面要素のデータに含まれる各平面要素番号を指すインデックスjを0に設定する。   S1304: The gripping mechanism contact surface group generation unit 102 sets the index j indicating each planar element number included in the planar element data extracted in S120 to 0.

S1305:把持機構接触面群生成部102は、インデックスjがNより小さいか否かを判定する。Nより小さい場合(S1305:YES)、処理をS1307に進める。N以上の場合(S1305:NO)、処理をS1306)に進める。   S1305: The gripping mechanism contact surface group generation unit 102 determines whether or not the index j is smaller than N. If it is smaller than N (S1305: YES), the process proceeds to S1307. If N or more (S1305: NO), the process proceeds to S1306).

S1306:把持機構接触面群生成部102は、インデックスiを1カウントアップする。そして、処理をS1303に戻す。   S1306: The gripping mechanism contact surface group generation unit 102 increments the index i by one. Then, the process returns to S1303.

S1307:把持機構接触面群生成部102は、インデックスjがインデックスiと等しくないか否かを判定する。等しくない場合(S1307:YES)、処理をS1309に進める。等しい場合(S1307:NO)、処理をB(S1308)に進める。   S1307: The gripping mechanism contact surface group generation unit 102 determines whether or not the index j is equal to the index i. If they are not equal (S1307: YES), the process proceeds to S1309. If equal (S1307: NO), the process proceeds to B (S1308).

S1308:把持機構接触面群生成部102は、インデックスjを1カウントアップする。そして、処理をS1305に戻す。   S1308: The gripping mechanism contact surface group generation unit 102 increments the index j by one. Then, the process returns to S1305.

S1309:把持機構接触面群生成部102は、インデックスiが指す平面要素(以下、「平面要素i」と表す)と、インデックスjが指す平面要素(以下、「平面要素j」と表す)との組み合わせが、把持機構接触面群として特定済みか否かを判定する。すなわち、把持機構接触面群データ115に含まれているか否かを判定する。特定済みでない場合(S1309:NO)、処理をS1310に進める。特定済みである場合(S1309:YES)、処理をB(S1308)に進める。   S1309: The gripping mechanism contact surface group generation unit 102 calculates a plane element (hereinafter, referred to as “plane element i”) indicated by the index i and a plane element indicated by the index j (hereinafter, referred to as “plane element j”). It is determined whether or not the combination has been specified as the gripping mechanism contact surface group. That is, it is determined whether or not it is included in the gripping mechanism contact surface group data 115. If not specified (S1309: NO), the process proceeds to S1310. If it has been identified (S1309: YES), the process proceeds to B (S1308).

S1310:把持機構接触面群生成部102は、平面要素iの法線ベクトル(ただし、正規化するものとする)と、平面要素jの法線ベクトル(ただし、正規化するものとする)の内積を計算する。なお、図13の左側に示すように、二つの平面の法線ベクトルNA及びNBが互いに逆向きであるとき、正規化した法線ベクトルNA及びNBの内積は、−1となる。   S1310: The gripping-mechanism contact surface group generation unit 102 calculates the inner product of the normal vector of the plane element i (provided that it is normalized) and the normal vector of the plane element j (provided that it is normalized). Calculate As shown on the left side of FIG. 13, when the normal vectors NA and NB of the two planes are opposite to each other, the inner product of the normalized normal vectors NA and NB is -1.

S1311:把持機構接触面群生成部102は、S1310の計算結果に基づいて、平面要素iと平面要素jとが対向するか否かを判定する。ここで、「対向」とは、互いの法線ベクトルの内積が−1であることを指す。対向する場合(S1311:YES)、処理をS1312に進める。対向しない場合(S1311:NO)、処理をB(S1308)に進める。   S1311: The gripping mechanism contact surface group generation unit 102 determines whether or not the planar element i and the planar element j face each other based on the calculation result of S1310. Here, “opposite” means that the inner product of the mutual normal vectors is −1. When facing each other (S1311: YES), the process proceeds to S1312. If not facing each other (S1311: NO), the process proceeds to B (S1308).

S1312:把持機構接触面群生成部102は、平面要素iの平面要素jに対する交差を計算する。ここで、「交差」とは、図13の右側に示すように、一方の平面要素(平面要素i)を構成する各節点から当該平面要素の法線ベクトル方向に伸びる直線が、全て他方の平面要素(平面要素j)に交差する(通過する)ことをいう。   S1312: The gripping mechanism contact surface group generation unit 102 calculates the intersection of the planar element i with respect to the planar element j. Here, “intersection” means that, as shown on the right side of FIG. 13, all straight lines extending in the normal vector direction of the plane element from each node constituting one plane element (plane element i) are the other plane. Crossing (passing through) an element (plane element j).

S1313:把持機構接触面群生成部102は、S1312の計算結果に基づいて、平面要素iが平面要素jに交差するか否かを判定する。交差する場合(S1313:YES)、処理をS1314に進める。交差しない場合(S1313:NO)、処理をB(S1308)に進める。   S1313: The gripping mechanism contact surface group generation unit 102 determines whether or not the planar element i intersects with the planar element j based on the calculation result of S1312. When intersecting (S1313: YES), the process proceeds to S1314. If not intersecting (S1313: NO), the process proceeds to B (S1308).

S1314:把持機構接触面群生成部102は、平面要素jの平面要素iに対する交差を計算する。   S1314: The gripping mechanism contact surface group generation unit 102 calculates the intersection of the planar element j with respect to the planar element i.

S1315:把持機構接触面群生成部102は、S1314の計算結果に基づいて、平面要素jが平面要素iに交差するか否かを判定する。交差する場合(S1315:YES)、処理をS1316に進める。交差しない場合(S1315:NO)、処理をB(S1308)に進める。   S1315: The gripping mechanism contact surface group generation unit 102 determines whether the planar element j intersects the planar element i based on the calculation result of S1314. When intersecting (S1315: YES), the process proceeds to S1316. If not intersecting (S1315: NO), the process proceeds to B (S1308).

S1316:把持機構接触面群生成部102は、互いに対向かつ交差する平面要素i及びjの組み合わせを、把持機構接触面群データ115に記録する。把持機構接触面群データ115は、例えば、図14に示すように、把持機構接触面群を特定する把持機構接触面群番号ごとに、接触面群を構成する平面要素の平面要素番号を含む。   S1316: The gripping mechanism contact surface group generation unit 102 records, in the gripping mechanism contact surface group data 115, a combination of the planar elements i and j that face each other and intersect each other. For example, as illustrated in FIG. 14, the gripping mechanism contact surface group data 115 includes a planar element number of a planar element constituting the contact surface group for each gripping mechanism contact surface group number that identifies the gripping mechanism contact surface group.

S1317:把持機構接触面群生成部102は、把持機構接触面群の数を示す変数countを1インクリメントする。そして、処理をB(S1308)に進める。   S1317: The gripping mechanism contact surface group generation unit 102 increments a variable count indicating the number of gripping mechanism contact surface groups by one. Then, the process proceeds to B (S1308).

S1318:把持機構接触面群生成部102は、変数countが0よりも大きいか否かを判定する。0よりも大きい場合(S1318:YES)、処理をS1319に進める。0以下である場合(S1318:NO)、処理をS1320に進める。   S1318: The gripping mechanism contact surface group generation unit 102 determines whether or not the variable count is greater than zero. If it is greater than 0 (S1318: YES), the process proceeds to S1319. If it is 0 or less (S1318: NO), the process proceeds to S1320.

S1319:把持機構接触面群生成部102は、把持機構接触面群が有ることを、把持機構接触面群データ115を使用する他の機能部に通知する。そして、本フローを終了する。   S1319: The gripping mechanism contact surface group generation unit 102 notifies other functional units using the gripping mechanism contact surface group data 115 that there is a gripping mechanism contact surface group. Then, this flow ends.

S1320:把持機構接触面群生成部102は、把持機構接触面群が無いことを、把持機構接触面群データ115を使用する他の機能部に通知する。そして、本フローを終了する。   S1320: The gripping mechanism contact surface group generation unit 102 notifies other functional units using the gripping mechanism contact surface group data 115 that there is no gripping mechanism contact surface group. Then, this flow ends.

以上のようにして、把持機構接触面群データ115が生成される。   As described above, the gripping mechanism contact surface group data 115 is generated.

図15は、把持対象物接触面群データ生成処理の一例を示すフロー図である。   FIG. 15 is a flowchart illustrating an example of the gripping object contact surface group data generation process.

S210:把持対象物接触面群生成部103は、予め用意された又は生成された把持対象物形状近似データ114を記憶部から取得する。   S210: The gripping object contact surface group generation unit 103 acquires gripping object shape approximation data 114 prepared or generated in advance from the storage unit.

S220:把持対象物接触面群生成部103は、予め用意された又は生成された把持機構接触面群データ115を記憶部から取得する。   S220: The gripping object contact surface group generation unit 103 acquires gripping mechanism contact surface group data 115 prepared or generated in advance from the storage unit.

S230:把持対象物接触面群生成部103は、ハンドの各接触面群により把持可能な把持対象物の接触面の組みあ合わせを特定し、把持対象物接触面群データ116を生成する。   S230: The gripping object contact surface group generation unit 103 identifies the combination of the contact surfaces of the gripping object that can be gripped by each contact surface group of the hand, and generates gripping object contact surface group data 116.

S230の詳細を、図16を参照して説明する。図16は、把持対象物接触面群と把持機構接触面群とを関連付ける処理の一例を示すフロー図である。   Details of S230 will be described with reference to FIG. FIG. 16 is a flowchart illustrating an example of processing for associating a gripping object contact surface group with a gripping mechanism contact surface group.

S2301:把持対象物接触面群生成部103は、把持機構接触面群データ115に含まれる各把持機構接触面群を指すインデックスiを0に設定する。   S2301: The gripping object contact surface group generation unit 103 sets the index i indicating each gripping mechanism contact surface group included in the gripping mechanism contact surface group data 115 to 0.

S2302:把持対象物接触面群生成部103は、インデックスiが、把持機構接触面群データ115に含まれる把持機構接触面群の総数Nより小さいか否かを判定する。Nより小さい場合(S2302:YES)、処理をS2303に進める。N以上の場合(S2302:NO)、本フローを終了する。   S2302: The gripping object contact surface group generation unit 103 determines whether the index i is smaller than the total number N of gripping mechanism contact surface groups included in the gripping mechanism contact surface group data 115. If smaller than N (S2302: YES), the process proceeds to S2303. If N or more (S2302: NO), this flow ends.

S2303:把持対象物接触面群生成部103は、インデックスiが指す把持機構接触面群(以下、「把持機構接触面群i」と表す)に関連付けられた把持対象物接触面群の総数を示す変数count[i]を0に設定する。   S2303: The gripping object contact surface group generation unit 103 indicates the total number of gripping object contact surface groups associated with the gripping mechanism contact surface group indicated by the index i (hereinafter referred to as “gripping mechanism contact surface group i”). Set variable count [i] to 0.

S2304:把持対象物接触面群生成部103は、把持対象物形状近似データ114に含まれる各平面要素番号を指すインデックスjを0に設定する。   S2304: The gripping object contact surface group generation unit 103 sets the index j indicating each planar element number included in the gripping object shape approximate data 114 to 0.

S2305:把持対象物接触面群生成部103は、インデックスjが、把持対象物形状近似データ114に含まれる平面要素の総数Mよりも小さいか否かを判定する。Mより小さい場合(S2305:YES)、処理をS2307に進める。M以上の場合(S2305:NO)、処理をS2306に進める。   S2305: The gripping object contact surface group generation unit 103 determines whether or not the index j is smaller than the total number M of plane elements included in the gripping object shape approximation data 114. If smaller than M (S2305: YES), the process proceeds to S2307. If it is M or more (S2305: NO), the process proceeds to S2306.

S2306:把持対象物接触面群生成部103は、インデックスiを1カウントアップする。そして、処理をS2302に戻す。   S2306: The gripping object contact surface group generation unit 103 increments the index i by one. Then, the process returns to S2302.

S2307:把持対象物接触面群生成部103は、把持機構接触面群iの一方の平面要素が、把持対象物形状近似データの平面要素jと対向するように、回転変換を行う。すなわち、把持機構接触面群iの一方の平面要素の法線ベクトルと、把持対象物形状近似データの平面要素jの法線ベクトルとの内積が、−1となるように、いずれか一方若しくは両方の平面要素の位置及び姿勢を回転させる変換処理を行う。   S2307: The gripping object contact surface group generation unit 103 performs rotation conversion so that one planar element of the gripping mechanism contact surface group i faces the planar element j of the gripping object shape approximate data. That is, one or both of the inner vectors of the normal vector of one plane element of the gripping mechanism contact surface group i and the normal vector of the plane element j of the gripping object shape approximation data is -1. Conversion processing for rotating the position and orientation of the planar element is performed.

S2308:把持対象物接触面群生成部103は、把持対象物形状近似データ114に含まれる各平面要素番号を指すインデックスkを0に設定する。   S2308: The gripping object contact surface group generation unit 103 sets the index k indicating each planar element number included in the gripping object shape approximate data 114 to 0.

S2309:把持対象物接触面群生成部103は、インデックスkが、把持対象物形状近似データ114に含まれる平面要素の総数Mよりも小さいか否かを判定する。Mより小さい場合(S2309:YES)、処理をS2311に進める。M以上の場合(S2309:NO)、処理をA(S2310)に進める。   S2309: The gripping object contact surface group generation unit 103 determines whether or not the index k is smaller than the total number M of planar elements included in the gripping object shape approximation data 114. If smaller than M (S2309: YES), the process proceeds to S2311. If it is M or more (S2309: NO), the process proceeds to A (S2310).

S2310:把持対象物接触面群生成部103は、インデックスjを1カウントアップする。そして、処理をS2305に戻す。   S2310: The gripping object contact surface group generation unit 103 increments the index j by one. Then, the process returns to S2305.

S2311:把持対象物接触面群生成部103は、インデックスjがインデックスkと等しくないか否かを判定する。等しくない場合(S2311:YES)、処理をS2312に進める。等しい場合(S2311:NO)、処理をS2314に進める。   S2311: The gripping object contact surface group generation unit 103 determines whether the index j is not equal to the index k. If not equal (S2311: YES), the process proceeds to S2312. If equal (S2311: NO), the process proceeds to S2314.

S2312:把持対象物接触面群生成部103は、把持対象物形状近似データの平面要素jと平面要素kとの組み合わせが、把持対象物接触面群として特定済みか否かを判定する。すなわち、把持対象物接触面群データ116に含まれているか否かを判定する。特定済みでない場合(S2312:NO)、処理をS2313に進める。特定済みである場合(S2312:YES)、処理をS2314に進める。   S2312: The gripping object contact surface group generation unit 103 determines whether the combination of the planar element j and the planar element k of the gripping object shape approximate data has been specified as the gripping object contact surface group. That is, it is determined whether or not it is included in the gripping object contact surface group data 116. If not specified (S2312: NO), the process proceeds to S2313. If it has been identified (S2312: YES), the process proceeds to S2314.

S2313:把持対象物接触面群生成部103は、把持機構接触面群iの他方の平面要素が、把持対象物形状近似データの平面要素kと対向するか否かを判定する。すなわち、把持機構接触面群iの他方の平面要素の法線ベクトルと、平面要素kの法線ベクトルとの内積が−1であるか否かを判定する。対向する場合(S2313:YES)、処理をS2315に進める。対向しない場合(S2313:NO)、処理をS2314に進める。   S2313: The gripping object contact surface group generation unit 103 determines whether the other planar element of the gripping mechanism contact surface group i faces the planar element k of the gripping object shape approximate data. That is, it is determined whether or not the inner product of the normal vector of the other planar element of the gripping mechanism contact surface group i and the normal vector of the planar element k is -1. When facing each other (S2313: YES), the process proceeds to S2315. If not facing each other (S2313: NO), the process proceeds to S2314.

S2314:把持対象物接触面群生成部103は、インデックスkを1カウントアップする。そして、処理をS2309に戻す。   S2314: The gripping object contact surface group generation unit 103 increments the index k by one. Then, the process returns to S2309.

S2315:把持対象物接触面群生成部103は、平面要素iと平面要素kとの組み合わせを、把持機構接触面群iと関連付けて、把持対象物接触面群データ116に記録する。把持対象物接触面群データ116は、例えば、図17に示すように、把持対象物接触面群を特定する把持対象物接触面群番号ごとに、当該把持対象物接触面群を構成する平面要素の平面要素番号と、当該把持対象物接触面群を把持可能な把持機構接触面群の把持機構接触面群番号と、を含む。   S2315: The gripping object contact surface group generation unit 103 records the combination of the planar element i and the planar element k in the gripping object contact surface group data 116 in association with the gripping mechanism contact surface group i. For example, as shown in FIG. 17, the gripping object contact surface group data 116 is a plane element constituting the gripping object contact surface group for each gripping object contact surface group number that identifies the gripping object contact surface group. And a gripping mechanism contact surface group number of a gripping mechanism contact surface group capable of gripping the gripping object contact surface group.

S2316:把持対象物接触面群生成部103は、把持機構接触面群iに関連付けられた把持対象物接触面群の総数を示す変数count[i]を1インクリメントする。そして、処理をB(S2314)に戻す。   S2316: The gripping object contact surface group generation unit 103 increments a variable count [i] indicating the total number of gripping object contact surface groups associated with the gripping mechanism contact surface group i by 1. Then, the process returns to B (S2314).

以上のようにして、把持対象物接触面群データが生成される。   As described above, gripping object contact surface group data is generated.

図18は、把持対象物接触面群選択処理の一例を示すフロー図である。   FIG. 18 is a flowchart illustrating an example of the gripping object contact surface group selection process.

S310:把持対象物接触面群選択部105は、障害物データ119を記憶部から取得する。   S310: The gripping object contact surface group selection unit 105 acquires the obstacle data 119 from the storage unit.

S320:把持対象物接触面群選択部105は、把持対象物接触面群データ116を記憶部から取得する。   S320: The gripping object contact surface group selection unit 105 acquires the gripping object contact surface group data 116 from the storage unit.

S330:把持対象物接触面群選択部105は、把持対象物位置姿勢データ118を記憶部から取得する。   S330: The gripping target object contact surface group selection unit 105 acquires gripping target object position / posture data 118 from the storage unit.

S340:把持対象物接触面群選択部105は、把持対象物位置姿勢データ118から特定される把持対象物の位置及び姿勢(作業空間上の床などの基準面に置かれた状態の位置及び姿勢)となるように、各把持対象物接触面群の位置及び姿勢を計算する。   S340: The gripping object contact surface group selection unit 105 determines the position and posture of the gripping object specified from the gripping object position / posture data 118 (the position and posture of a state placed on a reference surface such as a floor on the work space). ) To calculate the position and orientation of each gripping object contact surface group.

S350:把持対象物接触面群選択部105は、S340で計算した位置及び姿勢において、障害物と干渉しない(障害物に隠れたり覆われたりしない)把持対象物接触面群を特定する。ここで、障害物と干渉しない接触面群とは、例えば、図19に示すように、把持対象物が床の上に置かれている場合、当該床と接する面afmrを含む接触面群以外の接触面群である。   S350: The gripping object contact surface group selection unit 105 identifies the gripping object contact surface group that does not interfere with the obstacle (not hidden or covered by the obstacle) in the position and posture calculated in S340. Here, the contact surface group that does not interfere with the obstacle is, for example, as shown in FIG. 19, when the object to be grasped is placed on the floor, the contact surface group other than the contact surface group including the surface afmr in contact with the floor. It is a contact surface group.

S340〜S350の詳細を、図20を参照して説明する。図20は、障害物と干渉しない把持対象接触面群を選択する処理の一例を示すフロー図である。   Details of S340 to S350 will be described with reference to FIG. FIG. 20 is a flowchart illustrating an example of a process of selecting a gripping target contact surface group that does not interfere with an obstacle.

S3501:把持対象物接触面群選択部105は、選択された把持対象物接触面群データ120に記録される把持対象物接触面群の番号示すインデックスkを0に設定する。   S3501: The gripping object contact surface group selection unit 105 sets the index k indicating the number of the gripping object contact surface group recorded in the selected gripping object contact surface group data 120 to 0.

S3502:把持対象物接触面群選択部105は、把持対象物接触面群データ116に含まれる各把持対象物接触面群を指すインデックスiを0に設定する。   S3502: The gripping object contact surface group selection unit 105 sets an index i indicating each gripping object contact surface group included in the gripping object contact surface group data 116 to 0.

S3503:把持対象物接触面群選択部105は、インデックスiが、把持対象物接触面群データ116に含まれる把持対象物接触面群の総数Nより小さいか否かを判定する。Nより小さい場合(S3503:YES)、処理をS3504に進める。N以上の場合(S3503:NO)、本フローを終了する。   S3503: The gripping object contact surface group selection unit 105 determines whether the index i is smaller than the total number N of gripping object contact surface groups included in the gripping object contact surface group data 116. If smaller than N (S3503: YES), the process proceeds to S3504. If it is N or more (S3503: NO), this flow ends.

S3504:把持対象物接触面群選択部105は、把持対象物接触面群iを構成する平面要素が、把持対象物の位置及び姿勢となるように、回転並進変換を行う。すなわち、S330で取得した把持対象物位置姿勢データ118から特定される把持対象物の位置及び姿勢(作業空間上の床などの基準面に置かれた状態の位置及び姿勢)となるように、把持対象物接触面群iを回転させたり、並進させたりする変換処理を行う。   S3504: The gripping object contact surface group selection unit 105 performs rotational translation so that the planar elements constituting the gripping object contact surface group i are in the position and orientation of the gripping object. That is, gripping is performed so that the position and posture of the gripping object specified from the gripping object position / posture data 118 acquired in S330 (position and posture in a state of being placed on a reference surface such as a floor in the work space) are obtained. A conversion process for rotating or translating the object contact surface group i is performed.

S3505:把持対象物接触面群選択部105は、回転並進変換された把持対象物接触面群iを構成する各平面要素と、把持対象物が置かれている床との距離が、十分に離れているか否かを判定する。例えば、把持対象物接触面群iを構成する平面要素の少なくとも一つが、床の方向を向いており(対向していなくてもよい)、当該平面要素と床の間の距離が所定距離より小さい場合に、十分離れていないと判定することができる。床の領域は、障害物データ119から特定することができる。床と十分に離れている場合(S3505:YES)、処理をS3506に進める。床と十分に離れていない場合(S3505:NO)、処理をA(S3510)に進める。   S3505: The gripping target object contact surface group selection unit 105 determines that the distance between each plane element constituting the gripping target object contact surface group i subjected to rotational translation and the floor on which the gripping target object is placed is sufficiently large. It is determined whether or not. For example, when at least one of the planar elements constituting the gripping object contact surface group i faces the floor (it may not be opposed), and the distance between the planar element and the floor is smaller than a predetermined distance It can be determined that it is not far enough. The floor area can be identified from the obstacle data 119. If it is sufficiently away from the floor (S3505: YES), the process proceeds to S3506. If it is not sufficiently separated from the floor (S3505: NO), the process proceeds to A (S3510).

S3506:把持対象物接触面群選択部105は、回転並進変換された把持対象物接触面群iを構成する各平面要素と、周辺機器との距離が、十分に離れているか否かを判定する。周辺機器とは、例えば、把持対象物に加工を施すための装置などである。例えば、把持対象物接触面群iを構成する平面要素の少なくとも一つが、周辺機器の方向を向いており(対向していなくてもよい)、当該平面要素と周辺機器の間の距離が所定距離より小さい場合に、十分離れていないと判定することができる。周辺機器の領域は、障害物データ119から特定することができる。周辺機器と十分に離れている場合(S3506:YES)、処理をS3507に進める。周辺機器と十分に離れていない場合(S3506:NO)、処理をA(S3510)に進める。   S3506: The gripping object contact surface group selecting unit 105 determines whether or not the distance between each planar element constituting the gripping object contact surface group i subjected to the rotational translation and the peripheral device is sufficiently large. . The peripheral device is, for example, a device for processing a grasped object. For example, at least one of the planar elements constituting the gripping object contact surface group i faces the peripheral device (may not be opposed), and the distance between the planar element and the peripheral device is a predetermined distance. If smaller, it can be determined that the distance is not enough. The peripheral device area can be identified from the obstacle data 119. If it is sufficiently distant from the peripheral device (S3506: YES), the process proceeds to S3507. If it is not sufficiently separated from the peripheral device (S3506: NO), the process proceeds to A (S3510).

S3507:把持対象物接触面群選択部105は、回転並進変換された把持対象物接触面群iを構成する各平面要素と、その他の部材との距離が、十分に離れているか否かを判定する。その他の部材は、例えば、把持対象物の周辺に置かれた他の把持対象物や、ロボット1自身などである。例えば、把持対象物接触面群iを構成する平面要素の少なくとも一つが、その他の部材の方向を向いており(対向していなくてもよい)、当該平面要素とその他の部材の間の距離が所定距離より小さい場合に、十分離れていないと判定することができる。その他の部材の領域は、障害物データ119から特定することができる。その他の部材と十分に離れている場合(S3507:YES)、処理をS3508に進める。その他の部材と十分に離れていない場合(S3507:NO)、処理をA(S3510)に進める。   S3507: The gripping object contact surface group selection unit 105 determines whether or not the distance between each planar element constituting the gripping object contact surface group i subjected to the rotation / translation conversion and the other members is sufficiently large. To do. The other members are, for example, other gripping objects placed around the gripping object or the robot 1 itself. For example, at least one of the planar elements constituting the gripping object contact surface group i faces the direction of the other member (it may not be opposed), and the distance between the planar element and the other member is When the distance is smaller than the predetermined distance, it can be determined that the distance is not enough. Other member regions can be identified from the obstacle data 119. If it is sufficiently separated from other members (S3507: YES), the process proceeds to S3508. If it is not sufficiently separated from other members (S3507: NO), the process proceeds to A (S3510).

S3508:把持対象物接触面群選択部105は、把持対象物接触面群iを、選択された把持対象物接触面群kとして、選択された把持対象物接触面群データ120に記録する。選択された把持対象物接触面群データ120は、例えば、図21に示すように、把持対象物接触面群を特定する把持対象物接触面群番号ごとに、当該把持対象物接触面群を構成する平面要素の平面要素番号と、当該把持対象物接触面群を把持可能な把持機構接触面群の把持機構接触面群番号と、を含む。図17と比較して、障害物と干渉する平面要素を含む把持対象物接触面群以外のデータが選択されていることが分かる。   S3508: The gripping object contact surface group selection unit 105 records the gripping object contact surface group i in the selected gripping object contact surface group data 120 as the selected gripping object contact surface group k. For example, as shown in FIG. 21, the selected gripping object contact surface group data 120 configures the gripping object contact surface group for each gripping object contact surface group number that identifies the gripping object contact surface group. A plane element number of the plane element to be gripped, and a gripping mechanism contact surface group number of a gripping mechanism contact surface group capable of gripping the gripping object contact surface group. Compared to FIG. 17, it can be seen that data other than the gripping object contact surface group including the planar element that interferes with the obstacle is selected.

S3509:把持対象物接触面群選択部105は、インデックスkを1カウントアップする。そして、処理をA(S3510)に進める。   S3509: The gripping object contact surface group selection unit 105 increments the index k by one. Then, the process proceeds to A (S3510).

S3510:把持対象物接触面群選択部105は、インデックスiを1カウントアップする。そして、処理をS3503に戻す。   S3510: The gripping object contact surface group selection unit 105 increments the index i by one. Then, the process returns to S3503.

以上のようにして、選択された把持対象物接触面群データが生成される。   As described above, the selected gripping object contact surface group data is generated.

図22は、把持機構動作量算出処理の一例を示すフロー図である。   FIG. 22 is a flowchart illustrating an example of a gripping mechanism operation amount calculation process.

S410:把持機構動作量算出部106は、選択された把持対象物接触面群データ120を記憶部から取得する。   S410: The gripping mechanism operation amount calculation unit 106 acquires the selected gripping object contact surface group data 120 from the storage unit.

S420:把持機構動作量算出部106は、把持機構動作範囲データ121を記憶部から取得する。   S420: The gripping mechanism motion amount calculation unit 106 acquires gripping mechanism motion range data 121 from the storage unit.

S430:把持機構動作量算出部106は、把持機構接触面群データ115を記憶部から取得する。   S430: The gripping mechanism operation amount calculation unit 106 acquires the gripping mechanism contact surface group data 115 from the storage unit.

S440:把持機構動作量算出部106は、各把持機構接触面群を構成する平面要素間隔δと、各把持対象物接触面群を構成する平面要素間隔Δとが一致する把持機構の動作量を算出する。例えば、図23に示すように、把持機構接触面群が指Aの平面要素(節点1、2、6、5)と指Bの平面要素(節点0、3、7、4)とで構成されている場合、平面要素間隔δは、これらの平面要素を対向させた場合の平面要素間の直線距離(最短距離)となる。また、把持対象物接触面群が平面要素(節点abnm)と平面要素(節点deqp)とで構成されている場合、平面要素間隔Δは、これらの対向させた場合の平面要素間の直線距離(最短距離)となる。動作量は、例えば、間隔δを、基準となる所定の間隔から間隔Δまで開く又は閉じるための移動量である。   S440: The gripping mechanism motion amount calculation unit 106 calculates the motion amount of the gripping mechanism in which the planar element interval δ configuring each gripping mechanism contact surface group and the planar element interval Δ configuring each gripping object contact surface group match. calculate. For example, as shown in FIG. 23, the gripping mechanism contact surface group is composed of the planar elements of the finger A (nodes 1, 2, 6, 5) and the planar elements of the finger B (nodes 0, 3, 7, 4). The plane element interval δ is a linear distance (shortest distance) between the plane elements when these plane elements are opposed to each other. Further, when the gripping object contact surface group is composed of a plane element (node abnm) and a plane element (node decp), the plane element interval Δ is a linear distance between the plane elements when facing each other ( Shortest distance). The movement amount is, for example, a movement amount for opening or closing the interval δ from a predetermined reference interval to the interval Δ.

S440の詳細を、図24を参照して説明する。図24は、把持機構動作量を特定する処理の一例を示すフロー図である。   Details of S440 will be described with reference to FIG. FIG. 24 is a flowchart illustrating an example of processing for specifying the gripping mechanism operation amount.

S4401:把持機構動作量算出部106は、選択された把持対象物接触面群データ120に含まれる各把持対象物接触面群を指すインデックスiを0に設定する。   S4401: The gripping mechanism operation amount calculation unit 106 sets an index i indicating each gripping object contact surface group included in the selected gripping object contact surface group data 120 to 0.

S4402:把持機構動作量算出部106は、インデックスiが、選択された把持対象物接触面群データ120に含まれる把持対象物接触面群の総数Nより小さいか否かを判定する。Nより小さい場合(S4402:YES)、処理をS4403に進める。N以上の場合(S4402:NO)、本フローを終了する。   S4402: The gripping mechanism operation amount calculation unit 106 determines whether or not the index i is smaller than the total number N of gripping object contact surface groups included in the selected gripping object contact surface group data 120. If smaller than N (S4402: YES), the process proceeds to S4403. If it is N or more (S4402: NO), this flow ends.

S4403:把持機構動作量算出部106は、把持対象物接触面群iの平面要素間隔Δを計算する。   S4403: The gripping mechanism operation amount calculation unit 106 calculates the planar element interval Δ of the gripping object contact surface group i.

S4404:把持機構動作量算出部106は、S420で取得した把持機構動作範囲データ121に基づいて、平面要素間隔Δが、把持対象物接触面群iに関連付けられた把持機構接触面群の可動範囲内で把持できるか否かを判定する。例えば、把持対象物接触面群iに関連付けられた把持機構接触面群の平面要素の最小の間隔をδmin、最大の間隔をδmaxとすると、δmin<間隔Δ<δmaxであれば、可動範囲内で把持できると判定することができる。可動範囲内である場合(S4404:YES)、処理をS4405に進める。可動範囲内でない場合(S4404:NO)、処理をS4406に進める。   S4404: The gripping mechanism operation amount calculation unit 106 determines that the plane element interval Δ is the movable range of the gripping mechanism contact surface group associated with the gripping object contact surface group i based on the gripping mechanism operation range data 121 acquired in S420. It is determined whether or not it can be gripped inside. For example, when the minimum interval of the planar elements of the gripping mechanism contact surface group associated with the gripping object contact surface group i is δmin and the maximum interval is δmax, if δmin <interval Δ <δmax, It can be determined that it can be gripped. If it is within the movable range (S4404: YES), the process proceeds to S4405. If not within the movable range (S4404: NO), the process proceeds to S4406.

S4405:把持機構動作量算出部106は、間隔Δとなるような動作量を、把持対象物接触面群iに関連付けられた把持機構接触面群の動作量として設定し、把持機構動作量データ122に記録する。把持機構動作量データ122は、例えば、把持対象物接触面群を特定する把持対象物接触面群番号ごとに、当該把持対象物接触面群を構成する平面要素の平面要素番号と、当該把持対象物接触面群を把持する把持機構接触面群の把持機構接触面群番号と、当該把持機構接触面群の動作量を含む。   S4405: The gripping mechanism motion amount calculation unit 106 sets the motion amount that is the interval Δ as the motion amount of the gripping mechanism contact surface group associated with the gripping object contact surface group i, and gripping mechanism motion amount data 122. To record. For example, for each gripping object contact surface group number that identifies the gripping object contact surface group, the gripping mechanism operation amount data 122 includes the plane element number of the plane element that constitutes the gripping object contact surface group, and the gripping object. It includes the gripping mechanism contact surface group number of the gripping mechanism contact surface group that grips the object contact surface group and the operation amount of the gripping mechanism contact surface group.

S4406:把持機構動作量算出部106は、無効(把持できないこと示す情報)を、把持対象物接触面群iに関連付けられた把持機構接触面群の動作量として設定し、把持機構動作量データ122に記録する。   S4406: The gripping mechanism motion amount calculation unit 106 sets invalidity (information indicating that gripping cannot be performed) as the motion amount of the gripping mechanism contact surface group associated with the gripping object contact surface group i, and gripping mechanism motion amount data 122 To record.

S4407:把持機構動作量算出部106は、インデックスiを1インクリメントする。そして、処理をS4402に戻す。   S4407: The gripping mechanism operation amount calculation unit 106 increments the index i by 1. Then, the process returns to S4402.

以上のようにして、把持機構動作量データが生成される。なお、上記では、動作量として把持機構接触面群の平面要素の間隔を例示しているが、これに限られない。   As described above, gripping mechanism operation amount data is generated. In the above description, the distance between the planar elements of the gripping mechanism contact surface group is exemplified as the operation amount, but is not limited thereto.

図25は、把持機構位置姿勢設定処理の一例を示すフロー図である。   FIG. 25 is a flowchart illustrating an example of the gripping mechanism position / orientation setting process.

S510:把持機構位置姿勢設定部107は、予め用意された又は生成された把持機構形状近似データ113を記憶部から取得する。   S510: The gripping mechanism position / orientation setting unit 107 acquires gripping mechanism shape approximation data 113 prepared or generated in advance from the storage unit.

S520:把持機構位置姿勢設定部107は、予め用意された又は生成された把持対象物形状近似データ114を記憶部から取得する。   S520: The gripping mechanism position / orientation setting unit 107 acquires gripping object shape approximation data 114 prepared or generated in advance from the storage unit.

S530:把持機構位置姿勢設定部107は、障害物データ119を記憶部から取得する。   S530: The gripping mechanism position / orientation setting unit 107 acquires the obstacle data 119 from the storage unit.

S540:把持機構位置姿勢設定部107は、選択された把持対象物接触面群データ120を記憶部から取得する。   S540: The gripping mechanism position / orientation setting unit 107 acquires the selected gripping object contact surface group data 120 from the storage unit.

S550:把持機構位置姿勢設定部107は、把持対象物位置姿勢データ118を記憶部から取得する。   S550: The gripping mechanism position / orientation setting unit 107 acquires gripping object position / orientation data 118 from the storage unit.

S560:把持機構位置姿勢設定部107は、把持機構動作量データ122を記憶部から取得する。   S560: The gripping mechanism position / orientation setting unit 107 acquires the gripping mechanism operation amount data 122 from the storage unit.

S570:把持機構位置姿勢設定部107は、ロボット1及び把持機構と、それ以外のものとが干渉しない把持機構の位置及び姿勢を算出する。   S570: The gripping mechanism position / orientation setting unit 107 calculates the position and orientation of the gripping mechanism at which the robot 1 and the gripping mechanism do not interfere with others.

S570の詳細を、図26〜27を参照して説明する。図26は、障害物と干渉しない把持機構の位置及び姿勢を特定する処理の一例を示すフロー図(その1)である。図27は、障害物と干渉しない把持機構の位置及び姿勢を特定する処理の一例を示すフロー図(その2)である。   Details of S570 will be described with reference to FIGS. FIG. 26 is a flowchart (part 1) illustrating an example of a process of specifying the position and posture of the gripping mechanism that does not interfere with the obstacle. FIG. 27 is a flowchart (part 2) illustrating an example of a process for specifying the position and orientation of the gripping mechanism that does not interfere with the obstacle.

S5701:把持機構位置姿勢設定部107は、選択された把持対象物接触面群データ120と把持機構動作量データ122とに基づいて、選択された把持対象物接触面群データ120に含まれる把持対象物接触面群のうち、関連付けられた把持機構接触面群の動作量が無効でない各把持対象物接触面群を指すインデックスiを0に設定する。   S5701: The gripping mechanism position / orientation setting unit 107 determines the gripping target included in the selected gripping target object contact surface group data 120 based on the selected gripping target object contact surface group data 120 and the gripping mechanism operation amount data 122. An index i indicating each gripping object contact surface group in which the operation amount of the associated gripping mechanism contact surface group is not invalid is set to 0 among the object contact surface groups.

S5702:把持機構位置姿勢設定部107は、インデックスiが、選択された把持対象物接触面群データ120に含まれる把持対象物接触面群のうち、関連付けられた把持機構接触面群の動作量が無効でない把持対象物接触面群の総数Nより小さいか否かを判定する。Nより小さい場合(S5702:YES)、処理をS5703に進める。N以上の場合(S5702:NO)、本フローを終了する。   S5702: The gripping mechanism position / orientation setting unit 107 determines that the index i has an operation amount of the associated gripping mechanism contact surface group among the gripping object contact surface groups included in the selected gripping object contact surface group data 120. It is determined whether it is smaller than the total number N of gripping object contact surface groups that are not invalid. If smaller than N (S5702: YES), the process proceeds to S5703. If it is N or more (S5702: NO), this flow ends.

S5703:把持機構位置姿勢設定部107は、把持対象物接触面群iに関連付けられた把持機構接触面群(以下、「把持機構接触面群i」という)で、把持対象物接触面群iを把持可能な位置及び姿勢の総数を示す変数count[i]を0に設定する。   S5703: The gripping mechanism position / orientation setting unit 107 determines the gripping object contact surface group i as a gripping mechanism contact surface group associated with the gripping object contact surface group i (hereinafter referred to as “grip mechanism contact surface group i”). A variable count [i] indicating the total number of gripping positions and postures is set to zero.

S5704:把持機構位置姿勢設定部107は、把持対象物接触面群iの基準の軸と、把持機構接触面群iの基準の軸とが、平行になる把持機構の初期位置及び初期姿勢を計算する。   S5704: The gripping mechanism position / orientation setting unit 107 calculates the initial position and the initial posture of the gripping mechanism in which the reference axis of the gripping object contact surface group i and the reference axis of the gripping mechanism contact surface group i are parallel to each other. To do.

ここで、把持対象物接触面群iの軸は、例えば、図28に示すように、把持対象物接触面群iを構成する平面要素間の直線距離(最短距離)Δ1と平行な軸Aである。軸Aの位置は、特に限定されないが、例えば、少なくともいずれか一方の平面要素あるいは平面要素の重心を通過する位置とすることができる。把持機構接触面群iの軸は、把持機構接触面群iを構成する平面要素間の直線距離(最短距離)δ1と平行な軸aである。軸aの位置は、特に限定されないが、例えば、少なくともいずれか一方の平面要素あるいは平面要素の重心を通過する位置とすることができる。本フローにおいては、δ1=Δ1に設定して処理を行う。   Here, the axis of the gripping object contact surface group i is, for example, an axis A parallel to the linear distance (shortest distance) Δ1 between the planar elements constituting the gripping object contact surface group i as shown in FIG. is there. The position of the axis A is not particularly limited. For example, the position of the axis A can be at least one of the plane elements or the position passing through the center of gravity of the plane elements. The axis of the gripping mechanism contact surface group i is an axis a parallel to the linear distance (shortest distance) δ1 between the planar elements constituting the gripping mechanism contact surface group i. The position of the axis a is not particularly limited, and can be, for example, at least one of the planar elements or a position passing through the center of gravity of the planar element. In this flow, processing is performed with δ1 = Δ1.

また、平行とは、例えば、図28に示すように、軸Aと軸aが平行であり、かつ、軸Aと軸aの対応する側の節点同士を結ぶ直線が、各軸と直交する状態をいうものとする。すなわち、軸Aと軸aが向かい合う辺をなす矩形の4つの角は、全て90度となる。   In addition, for example, as shown in FIG. 28, parallel means that the axis A and the axis a are parallel, and the straight line connecting the nodes on the corresponding side of the axis A and the axis a is orthogonal to each axis. It shall be said. That is, the four corners of the rectangle forming the sides where the axis A and the axis a face each other are 90 degrees.

なお、初期位置及び初期姿勢における軸Aと軸aの相対的な距離や、軸Aと軸aの相対的な位関係は、特に限定されないが、例えば、把持対象物位置姿勢データ118から特定される現在の把持対象物の位置における軸Aの位置と、現在のロボット1のハンドの位置における軸aの位置とすることができる。   Note that the relative distance between the axis A and the axis a and the relative positional relationship between the axis A and the axis a in the initial position and the initial posture are not particularly limited, but are specified from, for example, the gripping object position / posture data 118. The position of the axis A at the current position of the gripping object and the position of the axis a at the current position of the hand of the robot 1 can be used.

S5705:把持機構位置姿勢設定部107は、ハンド8の角度θを0に設定する。ここで、角度θは、例えば、図29(把持対象物及び把持機構を側面から見ている)に示すように、軸aを基準に、把持機構接触面群iを初期角度(θ=0)から回転させる角度である。初期角度は、特に限定されないが、例えば、床に対してハンドが水平となる角度とすることができる。   S5705: The gripping mechanism position / orientation setting unit 107 sets the angle θ of the hand 8 to zero. Here, for example, as shown in FIG. 29 (when the gripping object and the gripping mechanism are viewed from the side), the angle θ is set to the gripping mechanism contact surface group i with respect to the axis a as an initial angle (θ = 0). The angle to rotate from. The initial angle is not particularly limited. For example, the initial angle may be an angle at which the hand is horizontal with respect to the floor.

S5706:把持機構位置姿勢設定部107は、角度θが所定角度(例えば、360度)より小さいか否かを判定する。所定角度より小さい場合(S5706:YES)、処理をS5707に進める。所定角度以上の場合(S5706:NO)、処理をD(図27のS5726)に進める。   S5706: The gripping mechanism position / orientation setting unit 107 determines whether the angle θ is smaller than a predetermined angle (for example, 360 degrees). If smaller than the predetermined angle (S5706: YES), the process proceeds to S5707. If the angle is equal to or greater than the predetermined angle (S5706: NO), the process proceeds to D (S5726 in FIG. 27).

S5707:把持機構位置姿勢設定部107は、把持機構接触面群iを角度θだけ回転させたときの、把持機構形状を計算する。すなわち、把持機構接触面群iを構成する平面要素を角度θだけ回転させたときの、作業空間中のハンド8が占める領域の形状を算出する。   S5707: The gripping mechanism position and orientation setting unit 107 calculates a gripping mechanism shape when the gripping mechanism contact surface group i is rotated by an angle θ. That is, the shape of the area occupied by the hand 8 in the work space when the planar element constituting the gripping mechanism contact surface group i is rotated by the angle θ is calculated.

S5708:把持機構位置姿勢設定部107は、S5707で算出した角度θ回転した把持機構接触面群iの位置及び姿勢のときの把持機構形状を並進させる方向と距離を示すインデックスjを0に設定する。   S5708: The gripping mechanism position / orientation setting unit 107 sets the index j indicating the direction and distance to translate the gripping mechanism shape at the position and orientation of the gripping mechanism contact surface group i rotated in the angle θ calculated in S5707 to 0. .

S5709:把持機構位置姿勢設定部107は、インデックスjが、把持機構形状を並進させる方向と距離の総数Mより小さいか否かを判定する。Mより小さい場合(S5709:YES)、処理をS5711に進める。M以上の場合(S5709:NO)、処理をC(S5710)に進める。   S5709: The gripping mechanism position / orientation setting unit 107 determines whether the index j is smaller than the total number M of directions and distances in which the gripping mechanism shape is translated. If smaller than M (S5709: YES), the process proceeds to S5711. If it is M or more (S5709: NO), the process proceeds to C (S5710).

ここで、把持機構形状を並進させる方向と距離とは、把持機構と把持対象物を平行に保ったまま、把持機構を初期位置姿勢から把持対象物に向かって移動(並進)させる方向と距離である。例えば、図29に示すように、方向と距離(X、Y、Z)は、軸aが把持対象物接触面群の平面要素の領域内の任意の点Pまで移動する方向と距離である。図では、点Pと当該点に向かう方向と距離(X、Y、Z)、点Pと当該点に向かう方向と距離(X、Y、Z)、点Pと当該点に向かう方向と距離(X、Y、Z)が示されている。点Pを平面要素の領域内のどの位置に設定するかは、特に限定されないが、例えば、平面要素の重心の周辺など、実際に把持したときに把持対象物がなるべく不安定にならないような位置に複数設定すればよい。 Here, the direction and distance in which the shape of the gripping mechanism is translated are the direction and distance in which the gripping mechanism is moved (translated) from the initial position and orientation toward the gripping object while keeping the gripping mechanism and the gripping object parallel. is there. For example, as shown in FIG. 29, the direction and distance (X j , Y j , Z j ) are the direction in which the axis a moves to an arbitrary point P j in the area of the planar element of the gripping object contact surface group. Distance. In the figure, the point P 0 and the direction and distance (X 0 , Y 0 , Z 0 ) toward the point, the point P 1 and the direction and distance (X 1 , Y 1 , Z 1 ) toward the point, and the point P 2. And the direction and distance (X 2 , Y 2 , Z 2 ) toward the point. The position where the point P is set in the area of the planar element is not particularly limited. For example, a position where the grasped object does not become unstable as much as possible when actually grasped, such as around the center of gravity of the planar element. You may set more than one.

S5710:把持機構位置姿勢設定部107は、角度θに、所定の角度dθ(例えば、10度)を加えたものを新しい角度θとする。そして、処理をS5706に戻す。   S5710: The gripping mechanism position / orientation setting unit 107 sets a value obtained by adding a predetermined angle dθ (for example, 10 degrees) to the angle θ as a new angle θ. Then, the process returns to S5706.

S5711:把持機構位置姿勢設定部107は、S5707で算出した把持機構形状を並進させる方向と距離(X、Y、Z)を、点Pに対応する(X、Y、Z)に設定する。 S5711: gripping mechanism position and orientation setting unit 107, the direction and distance to translate the grasping mechanism shape calculated in S5707 (X, Y, Z) and corresponding to the point P j (X j, Y j , Z j) the Set.

S5712:把持機構位置姿勢設定部107は、S5707で算出した把持機構形状を、軸aの位置から(X、Y、Z)だけ並進させる。   S5712: The gripping mechanism position / orientation setting unit 107 translates the gripping mechanism shape calculated in S5707 from the position of the axis a by (X, Y, Z).

S5713:把持機構位置姿勢設定部107は、S5712で(X、Y、Z)だけ並進をさせた状態において、把持機構とロボット全体がとる位置及び姿勢を特定するとともに、そのときの把持機構とロボット全体の形状が占める空間上の領域を特定し、当該領域が、障害物(例えば、床、周辺機器など、把持対象物以外のロボットの周辺の物)に干渉しないか否かを判定する。   S5713: The gripping mechanism position / posture setting unit 107 specifies the positions and postures of the gripping mechanism and the entire robot in the state translated by (X, Y, Z) in S5712, and the gripping mechanism and robot at that time An area on the space occupied by the entire shape is specified, and it is determined whether or not the area does not interfere with an obstacle (for example, an object around the robot other than the grasped object such as a floor or a peripheral device).

なお、把持機構形状の並進の開始から終了までの間、把持機構とロボット全体がとる位置及び姿勢と形状が占める一連の領域とを特定し、障害物(例えば、床、周辺機器など、把持対象物以外のロボットの周辺の物)に干渉しないか否かを判定するようにしてもよい。   From the start to the end of translation of the gripping mechanism shape, specify the position and posture taken by the gripping mechanism and the robot as a whole, and a series of areas occupied by the shape, and identify obstacles (for example, floors, peripheral devices, etc.) It may be determined whether or not it interferes with any other object around the robot other than the object.

把持機構形状が障害物に干渉しない場合(S5713:YES)、把持機構位置姿勢設定部107は、処理をS5714に進める。干渉する場合(S5713:NO)、処理をS5715に進める。   If the gripping mechanism shape does not interfere with the obstacle (S5713: YES), the gripping mechanism position / orientation setting unit 107 advances the process to S5714. If there is interference (S5713: NO), the process proceeds to S5715.

S5714:把持機構位置姿勢設定部107は、把持機構接触面群iを構成する各平面要素と、把持対象物接触面群iを構成する各平面要素とが、互いに交差するか否かを判定する。交差する場合(S5714:YES)、処理をS5716に進める。交差しない場合(S5714:NO)、処理をS5715に進める。   S5714: The gripping mechanism position / orientation setting unit 107 determines whether or not each planar element constituting the gripping mechanism contact surface group i and each planar element constituting the gripping object contact surface group i intersect each other. . If they intersect (S5714: YES), the process proceeds to S5716. If not intersecting (S5714: NO), the process proceeds to S5715.

S5715:把持機構位置姿勢設定部107は、インデックスjを1インクリメントする。   S5715: The gripping mechanism position / orientation setting unit 107 increments the index j by 1.

S5716:把持機構位置姿勢設定部107は、インデックスkを0に設定する。インデックスkは、インデックスiと同様である。   S5716: The gripping mechanism position / orientation setting unit 107 sets the index k to 0. The index k is the same as the index i.

S5717:把持機構位置姿勢設定部107は、インデックスkがNより小さいか否かを判定する。Nより小さい場合(S5717:YES)、処理をS5718に進める。N以上の場合(S5717:NO)、処理をB(図27のS5724)に進める。   S5717: The gripping mechanism position / orientation setting unit 107 determines whether or not the index k is smaller than N. If smaller than N (S5717: YES), the process proceeds to S5718. If N or more (S5717: NO), the process proceeds to B (S5724 in FIG. 27).

S5718:把持機構位置姿勢設定部107は、インデックスkがインデックスiと等しくないか否かを判定する。インデックスiと等しくない場合(S5718:YES)、処理をS5720に進める。インデックスiと等しい場合(S5718:NO)、処理をS5719に進める。   S5718: The gripping mechanism position / orientation setting unit 107 determines whether the index k is not equal to the index i. If not equal to index i (S5718: YES), the process proceeds to S5720. If it is equal to the index i (S5718: NO), the process proceeds to S5719.

S5719:把持機構位置姿勢設定部107は、インデックスkを1インクリメントする。そして、処理をS5717に戻す。   S5719: The gripping mechanism position / orientation setting unit 107 increments the index k by one. Then, the process returns to S5717.

S5720:把持機構位置姿勢設定部107は、把持対象物接触面群kを構成する平面要素と、把持対象物接触面群iを構成する平面要素とが一致する否かを判定する。一致する場合(S5720:YES)、処理をS5721に進める。一致しない場合(S5720:NO)、処理をS5719に戻す。   S5720: The gripping mechanism position / orientation setting unit 107 determines whether or not the planar elements constituting the gripping object contact surface group k and the planar elements constituting the gripping object contact surface group i match. If they match (S5720: YES), the process proceeds to S5721. If they do not match (S5720: NO), the process returns to S5719.

S5721:把持機構位置姿勢設定部107は、S5712で(X、Y、Z)だけ並進をさせた状態の把持機構形状において、把持機構接触面群kを構成する各平面要素と、把持対象物接触面群iを構成する各平面要素とが、互いに交差するか否かを判定する。交差する場合(S5721:YES)、処理をA(図27のS5722)に進める。交差しない場合(S5721:NO)、処理をS5719に戻す。   S5721: The gripping mechanism position / orientation setting unit 107 makes contact with each planar element constituting the gripping mechanism contact surface group k and the gripping target object in the gripping mechanism shape translated by (X, Y, Z) in S5712. It is determined whether or not the planar elements constituting the surface group i intersect each other. If they intersect (S5721: YES), the process proceeds to A (S5722 in FIG. 27). If not intersecting (S5721: NO), the process returns to S5719.

S5722:把持機構位置姿勢設定部107は、把持対象物接触面群iについて、把持機構接触面群i及びkと、把持機構の位置及び姿勢(X、Y、Z、θ)とを関連付けて、把持機構位置姿勢データ123に記録する。把持機構位置姿勢データ123は、例えば、把持対象物接触面群を特定する把持対象物接触面群番号ごとに、当該把持対象物接触面群を構成する平面要素の平面要素番号と、当該把持対象物接触面群を把持可能な把持機構接触面群の把持機構接触面群番号及びその把持機構の位置及び姿勢(X、Y、Z、θ)と、を含む。 S5722: The gripping mechanism position and orientation setting unit 107 determines the gripping mechanism contact surface groups i and k and the position and orientation of the gripping mechanism (X j , Y j , Z j , θ) for the gripping object contact surface group i. The information is recorded in the gripping mechanism position and orientation data 123 in association with each other. The gripping mechanism position / orientation data 123 includes, for example, for each gripping object contact surface group number that identifies the gripping object contact surface group, the plane element number of the plane element constituting the gripping object contact surface group, and the gripping object The gripping mechanism contact surface group number of the gripping mechanism contact surface group capable of gripping the object contact surface group, and the position and posture ( Xj , Yj , Zj , θ) of the gripping mechanism are included.

S5723:把持機構位置姿勢設定部107は、把持対象物接触面群iを把持可能な把持機構接触面群iの位置及び姿勢の総数を示す変数count[i]を、1インクリメントする。そして、処理をC(S5710)に戻す。   S5723: The gripping mechanism position / orientation setting unit 107 increments a variable count [i] indicating the total number of positions and orientations of the gripping mechanism contact surface group i capable of gripping the gripping object contact surface group i by one. Then, the process returns to C (S5710).

S5724:把持機構位置姿勢設定部107は、把持対象物接触面群iについて、把持機構接触面群iと、把持機構の位置及び姿勢(X、Y、Z、θ)とを関連付けて、把持機構位置姿勢データ123に記録する。 S5724: The gripping mechanism position / orientation setting unit 107 associates the gripping mechanism contact surface group i with the position and orientation of the gripping mechanism (X j , Y j , Z j , θ) for the gripping object contact surface group i. Then, it is recorded in the gripping mechanism position / orientation data 123.

S5725:把持機構位置姿勢設定部107は、把持対象物接触面群iを把持可能な把持機構接触面群iの位置及び姿勢の総数を示す変数count[i]を、1インクリメントする。そして、処理をC(S5710)に戻す。   S5725: The gripping mechanism position / orientation setting unit 107 increments a variable count [i] indicating the total number of positions and orientations of the gripping mechanism contact surface group i that can grip the gripping object contact surface group i by one. Then, the process returns to C (S5710).

S5726:把持機構位置姿勢設定部107は、count[i]が0より大きいか否かを判定する。0より大きい場合(S5726:YES)、処理をS5727に進める。0である場合(S5726:NO)、処理をS5728に進める。   S5726: The gripping mechanism position / orientation setting unit 107 determines whether count [i] is greater than zero. If larger than 0 (S5726: YES), the process proceeds to S5727. If 0 (S5726: NO), the process proceeds to S5728.

S5727:把持機構位置姿勢設定部107は、把持対象物接触面群iについて、無効(把持不可能)であることを示す情報を記録する。そして、処理をS5728に進める。   S5727: The gripping mechanism position / orientation setting unit 107 records information indicating that the gripping object contact surface group i is invalid (cannot be gripped). Then, the process proceeds to S5728.

S5728:把持機構位置姿勢設定部107は、インデックスiを1インクリメントする。そして、処理をE(S5702)に戻す。   S5728: The gripping mechanism position / orientation setting unit 107 increments the index i by one. Then, the process returns to E (S5702).

以上のようにして、把持機構位置姿勢データが生成される。なお、上記のフローでは、一つの軸aの位置について角度θを変更して把持機構の位置及び姿勢を探索しているが、軸aの位置を複数の位置に変更し、各軸aの位置ごとに角度θを変更して把持機構の位置及び姿勢を探索するようにしてもよい。軸aの位置は、例えば、作業空間の任意の位置とすることができる。   As described above, gripping mechanism position and orientation data is generated. In the above flow, the angle θ is changed with respect to the position of one axis a to search for the position and posture of the gripping mechanism. However, the position of the axis a is changed to a plurality of positions, and the position of each axis a is changed. The angle θ may be changed every time and the position and posture of the gripping mechanism may be searched. The position of the axis a can be set to an arbitrary position in the work space, for example.

なお、コントローラー10は、生成された把持機構位置姿勢データに基づいて、いずれかの、把持対象物接触面群とそれに関連付けられた把持機構接触面群及び把持機構の位置及び姿勢(X、Y、Z、θ)を選択し、ハンド8がこの把持位置及び把持姿勢となるように、ハンド8を実際に動作させる。 Note that the controller 10 determines, based on the generated gripping mechanism position and orientation data, the position and orientation (X j , Y) of any gripping target object contact surface group and the gripping mechanism contact surface group and gripping mechanism associated therewith. j , Z j , θ) are selected, and the hand 8 is actually operated so that the hand 8 is in this gripping position and gripping posture.

上述のフローの各処理単位は、ロボット1の処理を理解容易にするために、主な処理内容に応じて分割したものである。処理単位の分割の仕方や名称によって、本願発明が制限されることはない。ロボット1の処理は、処理内容に応じて、さらに多くの処理単位に分割することもできる。また、1つの処理単位がさらに多くの処理を含むように分割することもできる。   Each processing unit of the above flow is divided according to main processing contents in order to facilitate understanding of the processing of the robot 1. The present invention is not limited by the way of dividing the processing unit or the name. The processing of the robot 1 can be divided into more processing units according to the processing content. Moreover, it can also divide | segment so that one process unit may contain many processes.

以上、本発明の一実施形態の一例について説明した。本実施形態によれば、障害物等と接触することなく把持対象物を把持可能な把持位置及び把持姿勢を決定することができる。   Heretofore, an example of an embodiment of the present invention has been described. According to this embodiment, it is possible to determine a gripping position and a gripping posture at which a gripping target can be gripped without contacting an obstacle or the like.

例えば、本実施形態では、障害物と干渉していない把持対象物接触面群が選択される。また、選択された把持対象物接触面群に中から、把持機構の動作範囲で把持可能な把持対象物接触面群が特定される。また、特定された把持対象物接触面群を把持機構が把持するときに、把持機構が取り得る様々な位置及び姿勢のうち、ロボットや把持機構が障害物と干渉しない把持機構の位置及び姿勢が特定される。このような構成により、ロボットが障害物等と接触することなく把持対象物を把持可能な把持位置及び把持姿勢を決定することができる。また、把持対象物が障害物と干渉していたり、障害物に隠れていたりしても、把持対象物を把持可能な把持位置及び把持姿勢を決定することができる。   For example, in this embodiment, a gripping object contact surface group that does not interfere with an obstacle is selected. Further, the gripping object contact surface group that can be gripped within the operation range of the gripping mechanism is identified from the selected gripping object contact surface group. In addition, when the gripping mechanism grips the specified gripping object contact surface group, the position and posture of the gripping mechanism where the robot or the gripping mechanism does not interfere with the obstacle among the various positions and postures that the gripping mechanism can take. Identified. With such a configuration, it is possible to determine a gripping position and a gripping posture at which the robot can grip a gripping object without contacting an obstacle or the like. In addition, even when the gripping object interferes with the obstacle or is hidden behind the obstacle, the gripping position and the gripping posture at which the gripping object can be gripped can be determined.

また、例えば、本実施形態では、把持位置及び把持姿勢を特定する前に、把持対象物接触面群のうち、障害物と干渉しておらず、かつ把持機構の動作範囲で把持可能なものが、候補として抽出される。このような構成により、把持位置及び把持姿勢を特定する際の処理回数が削減され、演算負荷が軽減される。また、各角度の把持機構の位置及び姿勢ごとに、障害物に干渉しないものが一つでも見つかれば、その角度の位置及び姿勢を特定する処理を終了するので、処理回数が削減され、演算負荷が軽減される。   Further, for example, in the present embodiment, before specifying the gripping position and the gripping posture, among the gripping object contact surface groups, those that do not interfere with the obstacle and can be gripped within the operating range of the gripping mechanism. , Extracted as a candidate. With such a configuration, the number of times of processing when specifying the gripping position and the gripping posture is reduced, and the calculation load is reduced. In addition, if at least one object that does not interfere with an obstacle is found for each position and posture of the gripping mechanism at each angle, the processing for specifying the position and posture at that angle is completed, so the number of processing times is reduced and the computation load is reduced. Is reduced.

なお、上記の本発明の実施形態は、本発明の要旨と範囲を例示することを意図し、限定するものではない。多くの代替物、修正および変形例が当業者にとって明らかである。   The above-described embodiments of the present invention are intended to illustrate the gist and scope of the present invention and are not intended to be limiting. Many alternatives, modifications, and variations will be apparent to those skilled in the art.

また、例えば、上記の実施形態では、ロボット自身が自律的に把持位置及び把持姿勢を決定しているが、コントローラー10の機能の少なくとも一部を、ロボットが通信可能な外部装置やシステムにおいて行ってもよい。すなわち、ロボットとシステムとで機能を分散し、協働することによりロボットの制御が行われるようにしてもよい。   Further, for example, in the above embodiment, the robot itself autonomously determines the gripping position and gripping posture, but at least part of the function of the controller 10 is performed in an external device or system with which the robot can communicate. Also good. That is, the robot may be controlled by distributing functions and cooperating between the robot and the system.

1:ロボット、2:頭部、3:胴体部、4:脚部、5:アーム、6:ジョイント、7:リンク、8:ハンド、9:指、10:コントローラー、11:CPU、12:RAM、13:ROM、14:I/F回路、15:通信装置、20:撮像部、30:可動部、31:アクチュエーター、32:センサー、101:形状近似部、102:把持機構接触面群生成部、103:把持対象物接触面群生成部、104:把持対象物位置姿勢取得部、105:把持対象物接触面群選択部、106:把持機構動作量算出部、107:把持機構位置姿勢設定部、111:把持機構形状データ、112:把持対象物形状データ、113:把持機構形状近似データ、114:把持対象物形状近似データ、115:把持機構接触面群データ、116:把持対象物接触面群データ、117:把持対象物認識処理データ、118:把持対象物位置姿勢データ、119:障害物データ、120:選択された把持対象物接触面群データ、121:把持機構動作範囲データ、122:把持機構動作量データ、123:把持機構位置姿勢データ 1: Robot, 2: Head, 3: Body, 4: Leg, 5: Arm, 6: Joint, 7: Link, 8: Hand, 9: Finger, 10: Controller, 11: CPU, 12: RAM , 13: ROM, 14: I / F circuit, 15: communication device, 20: imaging unit, 30: movable unit, 31: actuator, 32: sensor, 101: shape approximation unit, 102: gripping mechanism contact surface group generation unit , 103: gripping object contact surface group generation unit, 104: gripping object position / posture acquisition unit, 105: gripping object contact surface group selection unit, 106: gripping mechanism operation amount calculation unit, 107: gripping mechanism position / posture setting unit 111: Grasping mechanism shape data, 112: Grasping object shape data, 113: Grasping mechanism shape approximation data, 114: Grasping object shape approximation data, 115: Grasping mechanism contact surface group data, 116: Grasping object contact Group data, 117: Grasping object recognition processing data, 118: Grasping object position and orientation data, 119: Obstacle data, 120: Selected gripping object contact surface group data, 121: Grasping mechanism operation range data, 122: Grip mechanism operation amount data, 123: Grip mechanism position / orientation data

Claims (11)

把持機構により把持対象物を把持する把持ロボットであって、
前記把持対象物が把持されるときに前記把持機構と接触する面の組み合わせである把持対象物接触面群と、当該把持対象物接触面群を把持するときに接触する前記把持機構の面の組み合わせである把持機構接触面群とを対応付けた把持対象物接触面群情報、及び、
前記把持ロボットの作業空間中の障害物の領域を特定する障害物情報、
を記憶する記憶部と、
前記把持対象物の位置及び前記把持対象物の姿勢を画像認識により特定する把持対象物位置姿勢特定部と、
前記把持対象物位置姿勢特定部により特定された前記把持対象物の位置及び前記把持対象物の姿勢において前記障害物と接触していない把持対象物接触面群を、前記把持対象物接触面群情報から選択する把持対象物接触面群選択部と、を有する、
ことを特徴とする把持ロボット。
A gripping robot that grips an object to be gripped by a gripping mechanism,
A combination of a gripping object contact surface group that is a combination of surfaces that come into contact with the gripping mechanism when the gripping object is gripped, and a surface of the gripping mechanism that contacts when the gripping object contact surface group is gripped Gripping object contact surface group information associated with a gripping mechanism contact surface group, and
Obstacle information that identifies the area of the obstacle in the workspace of the gripping robot,
A storage unit for storing
A gripping object position / posture specifying unit that specifies the position of the gripping object and the posture of the gripping object by image recognition;
The gripping object contact surface group information is a gripping object contact surface group that is not in contact with the obstacle in the position of the gripping object and the posture of the gripping object specified by the gripping object position / posture specifying unit. A gripping object contact surface group selection unit to select from,
A gripping robot characterized by that.
請求項1に記載の把持ロボットであって、
前記把持対象物接触面群選択部により選択された前記把持対象物接触面群ごとに、当該把持対象物接触面群に対応付けられた把持機構接触面群について、所定の位置において所定の姿勢を設定し、当該姿勢で当該把持機構接触面群を当該把持対象物接触面群を把持する位置に移動したとした場合に、前記障害物と接触するか否かを判定し、前記障害物と接触しない前記把持機構の位置及び前記把持機構の姿勢を特定する、把持機構位置姿勢特定部を有する、
ことを特徴とする把持ロボット。
The gripping robot according to claim 1,
For each gripping object contact surface group selected by the gripping object contact surface group selection unit, the gripping mechanism contact surface group associated with the gripping object contact surface group has a predetermined posture at a predetermined position. When it is set and the gripping mechanism contact surface group is moved to a position for gripping the gripping object contact surface group in the posture, it is determined whether or not the obstacle is contacted, and the obstacle is contacted. A gripping mechanism position / posture specifying unit for specifying the position of the gripping mechanism and the posture of the gripping mechanism;
A gripping robot characterized by that.
請求項2に記載の把持ロボットであって、
前記把持機構位置姿勢特定部は、前記把持対象物接触面群選択部により選択された把持対象物接触面群ごとに、当該把持対象物接触面群に対応付けられた把持機構接触面群について、前記所定の位置において複数の異なる姿勢を設定し、姿勢ごとに、当該姿勢で当該把持機構接触面群を当該把持対象物接触面群を把持する位置に移動したとした場合に、前記障害物と接触するか否かを判定し、前記障害物と接触しない前記把持機構の位置及び前記把持機構の姿勢を特定する、
ことを特徴とする把持ロボット。
The gripping robot according to claim 2,
For each gripping object contact surface group selected by the gripping object contact surface group selection unit, the gripping mechanism position / orientation specifying unit is related to the gripping mechanism contact surface group associated with the gripping object contact surface group. When a plurality of different postures are set at the predetermined position, and the gripping mechanism contact surface group is moved to a position for gripping the gripping object contact surface group in the posture, the obstacle and It is determined whether or not to contact, and the position of the gripping mechanism that does not contact the obstacle and the posture of the gripping mechanism are specified.
A gripping robot characterized by that.
請求項2又は3に記載の把持ロボットであって、
前記記憶部は、前記把持機構の動作範囲を示す把持機構動作範囲情報を記憶し、
前記把持ロボットは、
前記把持機構動作範囲情報に基づいて、前記把持対象物接触面群選択部により選択された選択された把持対象物接触面群ごとに、当該把持対象物接触面群を当該把持対象物接触面群に対応付けられた把持機構接触面群の動作範囲で把持できるか否かを判定する把持機構動作量算出部を有し、
前記把持機構位置姿勢特定部は、前記把持機構動作量算出部により把持できると判定された把持機構接触面群について、前記把持機構の位置及び前記把持機構の姿勢を特定する、
ことを特徴とする把持ロボット。
A gripping robot according to claim 2 or 3,
The storage unit stores gripping mechanism operating range information indicating an operating range of the gripping mechanism,
The gripping robot is
For each selected gripping object contact surface group selected by the gripping object contact surface group selection unit based on the gripping mechanism operation range information, the gripping object contact surface group is set as the gripping object contact surface group. A gripping mechanism motion amount calculation unit that determines whether or not gripping can be performed within the motion range of the gripping mechanism contact surface group associated with
The gripping mechanism position and orientation specifying unit specifies the position of the gripping mechanism and the posture of the gripping mechanism with respect to the gripping mechanism contact surface group determined to be gripped by the gripping mechanism operation amount calculation unit.
A gripping robot characterized by that.
請求項1〜4いずれか一項に記載の把持ロボットであって、
前記記憶部は、前記把持対象物を面で表した把持対象物形状情報と、前記把持機構が把持するときに前記把持対象物と接触する面の組み合わせである接触面群を特定する把持機構接触面群情報と、を記憶し、
前記把持ロボットは、
前記把持対象物形状情報と前記把持機構接触面群情報とに基づいて、前記把持機構接触面群情報に含まれる把持機構接触面群ごとに、当該把持機構接触面群が把持することができる前記把持対象物の面の組み合わせを把持対象物接触面群として特定し、当該把持対象物接触面群と当該把持機構接触面群とを対応付けることにより、前記把持対象物接触面群情報を生成する把持対象物接触面群生成部を有する、
ことを特徴とする把持ロボット。
A gripping robot according to any one of claims 1 to 4,
The storage unit is a gripping mechanism contact that identifies a contact surface group that is a combination of gripping target object shape information representing the gripping target object as a surface and a surface that contacts the gripping target object when the gripping mechanism grips the gripping target object. The face group information,
The gripping robot is
The gripping mechanism contact surface group can be gripped for each gripping mechanism contact surface group included in the gripping mechanism contact surface group information based on the gripping object shape information and the gripping mechanism contact surface group information. A grip for generating the gripping object contact surface group information by specifying a combination of gripping object surface as a gripping object contact surface group and associating the gripping object contact surface group with the gripping mechanism contact surface group An object contact surface group generation unit;
A gripping robot characterized by that.
請求項5に記載の把持ロボットであって、
前記把持対象物接触面群生成部は、前記把持機構接触面群情報に含まれる把持機構接触面群ごとに、当該把持機構接触面群を構成する一方の把持機構接触面と向かい合う前記把持対象物の第一の面を特定し、前記一方の把持機構接触面と前記第一の面とが向かい合った状態において、前記把持機構接触面群を構成する他方の把持機構接触面と向かい合う前記把持対象物の第二の面を特定し、前記第一の面と前記第二の面の組み合わせを把持対象物接触面群として特定する、
ことを特徴とする把持ロボット。
The gripping robot according to claim 5,
The gripping object contact surface group generation unit, for each gripping mechanism contact surface group included in the gripping mechanism contact surface group information, the gripping object that faces one gripping mechanism contact surface constituting the gripping mechanism contact surface group. The gripping object facing the other gripping mechanism contact surface constituting the gripping mechanism contact surface group in a state where the first gripping mechanism contact surface and the first surface face each other Identifying the second surface, and identifying the combination of the first surface and the second surface as a gripping object contact surface group,
A gripping robot characterized by that.
請求項5又は6に記載の把持ロボットであって、
前記記憶部は、前記把持機構を面で表した把持機構形状情報を記憶し、
前記把持ロボットは、
前記把持機構形状情報に基づいて、前記把持機構の面のうち、互いに向かい合う面の組み合わせを特定し、前記把持機構接触面群情報として生成する把持機構接触面群生成部を有する、
ことを特徴とする把持ロボット。
The gripping robot according to claim 5 or 6,
The storage unit stores gripping mechanism shape information representing the gripping mechanism by a surface,
The gripping robot is
Based on the gripping mechanism shape information, a gripping mechanism contact surface group generation unit that identifies a combination of surfaces facing each other among the surfaces of the gripping mechanism and generates the gripping mechanism contact surface group information,
A gripping robot characterized by that.
請求項7に記載の把持ロボットであって、
前記把持対象物形状情報及び前記把持機構形状情報は、前記把持対象物及び前記把持機構を平面で近似したデータである、
ことを特徴とする把持ロボット。
The gripping robot according to claim 7,
The gripping object shape information and the gripping mechanism shape information are data obtained by approximating the gripping object and the gripping mechanism in a plane.
A gripping robot characterized by that.
把持機構により把持対象物を把持する把持ロボットを制御する制御装置であって、
前記把持対象物が把持されるときに前記把持機構と接触する面の組み合わせである把持対象物接触面群と、当該把持対象物接触面群を把持するときに接触する前記把持機構の面の組み合わせである把持機構接触面群とを対応付けた把持対象物接触面群情報、及び、
前記把持ロボットの作業空間中の障害物の領域を特定する障害物情報、
を記憶する記憶部と、
前記把持対象物の位置及び前記把持対象物の姿勢を画像認識により特定する把持対象物位置姿勢特定部と、
前記把持対象物位置姿勢特定部により特定された前記把持対象物の位置及び前記把持対象物の姿勢において前記障害物と接触していない把持対象物接触面群を、前記把持対象物接触面群情報から選択する把持対象物接触面群選択部と、を有する、
ことを特徴とする制御装置。
A control device for controlling a gripping robot that grips a gripping object by a gripping mechanism,
A combination of a gripping object contact surface group that is a combination of surfaces that come into contact with the gripping mechanism when the gripping object is gripped, and a surface of the gripping mechanism that contacts when the gripping object contact surface group is gripped Gripping object contact surface group information associated with a gripping mechanism contact surface group, and
Obstacle information that identifies the area of the obstacle in the workspace of the gripping robot,
A storage unit for storing
A gripping object position / posture specifying unit that specifies the position of the gripping object and the posture of the gripping object by image recognition;
The gripping object contact surface group information is a gripping object contact surface group that is not in contact with the obstacle in the position of the gripping object and the posture of the gripping object specified by the gripping object position / posture specifying unit. A gripping object contact surface group selection unit to select from,
A control device characterized by that.
把持機構により把持対象物を把持する把持ロボットの把持制御方法であって、
前記把持対象物が把持されるときに前記把持機構と接触する面の組み合わせである把持対象物接触面群と、当該把持対象物接触面群を把持するときに接触する前記把持機構の面の組み合わせである把持機構接触面群とを対応付けた把持対象物接触面群情報、及び、
前記把持ロボットの作業空間中の障害物の領域を特定する障害物情報、
を取得するステップと、
前記把持対象物の位置及び前記把持対象物の姿勢を画像認識により特定する把持対象物位置姿勢特定ステップと、
前記把持対象物位置姿勢特定ステップで特定された前記把持対象物の位置及び前記把持対象物の姿勢において前記障害物と接触していない把持対象物接触面群を、前記把持対象物接触面群情報から選択する把持対象物接触面群選択ステップと、を含む、
ことを特徴とする把持制御方法。
A gripping control method for a gripping robot that grips a gripping object by a gripping mechanism,
A combination of a gripping object contact surface group that is a combination of surfaces that come into contact with the gripping mechanism when the gripping object is gripped, and a surface of the gripping mechanism that contacts when the gripping object contact surface group is gripped Gripping object contact surface group information associated with a gripping mechanism contact surface group, and
Obstacle information that identifies the area of the obstacle in the workspace of the gripping robot,
Step to get the
A gripping object position / posture specifying step for specifying the position of the gripping object and the posture of the gripping object by image recognition;
The gripping object contact surface group information is a gripping object contact surface group that is not in contact with the obstacle in the position of the gripping object specified in the gripping object position / posture specifying step and the posture of the gripping object. A gripping object contact surface group selection step to select from, and
A gripping control method characterized by the above.
把持機構により把持対象物を把持する把持ロボットを制御する制御装置のプログラムであって、
前記把持対象物が把持されるときに前記把持機構と接触する面の組み合わせである把持対象物接触面群と、当該把持対象物接触面群を把持するときに接触する前記把持機構の面の組み合わせである把持機構接触面群とを対応付けた把持対象物接触面群情報、及び、
前記把持ロボットの作業空間中の障害物の領域を特定する障害物情報、
を記憶する記憶部と、
前記把持対象物の位置及び前記把持対象物の姿勢を画像認識により特定する把持対象物位置姿勢特定部と、
前記把持対象物位置姿勢特定部により特定された前記把持対象物の位置及び前記把持対象物の姿勢において前記障害物と接触していない把持対象物接触面群を、前記把持対象物接触面群情報から選択する把持対象物接触面群選択部として、前記制御装置を機能させる、
ことを特徴とするプログラム。
A program of a control device that controls a gripping robot that grips a gripping object by a gripping mechanism,
A combination of a gripping object contact surface group that is a combination of surfaces that come into contact with the gripping mechanism when the gripping object is gripped, and a surface of the gripping mechanism that contacts when the gripping object contact surface group is gripped Gripping object contact surface group information associated with a gripping mechanism contact surface group, and
Obstacle information that identifies the area of the obstacle in the workspace of the gripping robot,
A storage unit for storing
A gripping object position / posture specifying unit that specifies the position of the gripping object and the posture of the gripping object by image recognition;
The gripping object contact surface group information is a gripping object contact surface group that is not in contact with the obstacle in the position of the gripping object and the posture of the gripping object specified by the gripping object position / posture specifying unit. The control device is caused to function as a gripping object contact surface group selection unit to be selected from
A program characterized by that.
JP2011259913A 2011-11-29 2011-11-29 Gripping robot, control device, control method, and program Pending JP2013111696A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011259913A JP2013111696A (en) 2011-11-29 2011-11-29 Gripping robot, control device, control method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011259913A JP2013111696A (en) 2011-11-29 2011-11-29 Gripping robot, control device, control method, and program

Publications (1)

Publication Number Publication Date
JP2013111696A true JP2013111696A (en) 2013-06-10

Family

ID=48707796

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011259913A Pending JP2013111696A (en) 2011-11-29 2011-11-29 Gripping robot, control device, control method, and program

Country Status (1)

Country Link
JP (1) JP2013111696A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105459135A (en) * 2014-09-29 2016-04-06 精工爱普生株式会社 Robot, robot system, control device, and control method
JP2016067834A (en) * 2014-10-01 2016-05-09 シャープ株式会社 Notification control device and program
WO2019102575A1 (en) * 2017-11-24 2019-05-31 株式会社Fuji Work machine and gripping position search method
JP2019084649A (en) * 2017-11-09 2019-06-06 オムロン株式会社 Interference determination method, interference determination system, and computer program
JP2019098431A (en) * 2017-11-29 2019-06-24 株式会社東芝 Information processing apparatus and sorting system
WO2022259723A1 (en) * 2021-06-11 2022-12-15 オムロン株式会社 Grasp information generation device, method, and program

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105459135A (en) * 2014-09-29 2016-04-06 精工爱普生株式会社 Robot, robot system, control device, and control method
JP2016067834A (en) * 2014-10-01 2016-05-09 シャープ株式会社 Notification control device and program
JP2019084649A (en) * 2017-11-09 2019-06-06 オムロン株式会社 Interference determination method, interference determination system, and computer program
WO2019102575A1 (en) * 2017-11-24 2019-05-31 株式会社Fuji Work machine and gripping position search method
JPWO2019102575A1 (en) * 2017-11-24 2020-10-22 株式会社Fuji Working machine and gripping position search method
JP2019098431A (en) * 2017-11-29 2019-06-24 株式会社東芝 Information processing apparatus and sorting system
JP7062418B2 (en) 2017-11-29 2022-05-16 株式会社東芝 Information processing equipment and sorting system
WO2022259723A1 (en) * 2021-06-11 2022-12-15 オムロン株式会社 Grasp information generation device, method, and program

Similar Documents

Publication Publication Date Title
JP2013111696A (en) Gripping robot, control device, control method, and program
Dean-Leon et al. TOMM: Tactile omnidirectional mobile manipulator
León et al. Opengrasp: a toolkit for robot grasping simulation
JP6873941B2 (en) Robot work system and control method of robot work system
EP2657863B1 (en) Methods and computer-program products for generating grasp patterns for use by a robot
EP2614935B1 (en) Methods and computer-program products for evaluating grasp patterns, and robots incorporating the same
US8483874B2 (en) Path planning apparatus of robot and method and computer-readable medium thereof
US20190232496A1 (en) Method for collision-free motion planning
JP6361213B2 (en) Robot control apparatus, robot, robot system, teaching method, and program
JP2022544007A (en) Visual Teaching and Repetition of Mobile Manipulation System
JP6771744B2 (en) Handling system and controller
Malysz et al. Trilateral teleoperation control of kinematically redundant robotic manipulators
CN104552291A (en) Robot controller, robot system, robot, and robot control method
US20170277167A1 (en) Robot system, robot control device, and robot
US20100179689A1 (en) Method of teaching robotic system
Cruciani et al. Dexterous manipulation graphs
US20130173055A1 (en) Robot hand and humanoid robot having the same
Somani et al. Task level robot programming using prioritized non-linear inequality constraints
JP5659890B2 (en) Robot trajectory planning system and trajectory planning method
Gorjup et al. An intuitive, affordances oriented telemanipulation framework for a dual robot arm hand system: On the execution of bimanual tasks
Yamanobe et al. Grasp planning for everyday objects based on primitive shape representation for parallel jaw grippers
CN114516060A (en) Apparatus and method for controlling a robotic device
Pepe et al. A hybrid teleoperation control scheme for a single-arm mobile manipulator with omnidirectional wheels
Felip et al. Contact-based blind grasping of unknown objects
Malysz et al. Dual-master teleoperation control of kinematically redundant robotic slave manipulators