JP2023171034A - Information processor, robot system, information processing method, article manufacturing method, program, and recording medium - Google Patents

Information processor, robot system, information processing method, article manufacturing method, program, and recording medium Download PDF

Info

Publication number
JP2023171034A
JP2023171034A JP2022083220A JP2022083220A JP2023171034A JP 2023171034 A JP2023171034 A JP 2023171034A JP 2022083220 A JP2022083220 A JP 2022083220A JP 2022083220 A JP2022083220 A JP 2022083220A JP 2023171034 A JP2023171034 A JP 2023171034A
Authority
JP
Japan
Prior art keywords
point
model
information processing
processing device
workpiece
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
JP2022083220A
Other languages
Japanese (ja)
Inventor
大志 松本
Hiroshi Matsumoto
雄一郎 工藤
Yuichiro Kudo
明裕 小田
Akihiro Oda
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2022083220A priority Critical patent/JP2023171034A/en
Publication of JP2023171034A publication Critical patent/JP2023171034A/en
Pending legal-status Critical Current

Links

Images

Abstract

To reduce calculation loads.SOLUTION: An information processor includes an information processing part for outputting information on a holding position, wherein the information processing part executes a process of acquiring a workpiece model and a hand model as shape data, a process of setting a first point on the workpiece model, a process of setting a virtual straight line crossing the workpiece model at the first point, and a process of acquiring a second point crossing the virtual straight line in the workpiece model, when the virtual straight line crosses the workpiece model in any point other than the first point.SELECTED DRAWING: Figure 1

Description

本発明は、ロボットの技術に関する。 The present invention relates to robot technology.

ばら積みされた複数のワークから、ロボットハンドを用いて1つのワークを取り出すピッキング作業が知られている。ピッキング作業において、1つのワークを取り出すためには、ロボットハンドが保持可能なワーク上の位置情報を含む保持位置に関する情報を予め設定する必要がある。 2. Description of the Related Art A picking operation is known in which a robot hand is used to pick out one workpiece from a plurality of workpieces stacked in bulk. In picking work, in order to take out one workpiece, it is necessary to set in advance information regarding the holding position, including positional information on the workpiece that can be held by the robot hand.

ばら積みされた複数のワークは互いに重なり合うことから、保持対象であるワークの保持位置が他のワークに重なると、保持対象のワークを取り出すことが困難であった。したがって、保持対象のワークを取り出す成功率を高めるには、1つのワークに対して複数の保持位置に関する情報を設定しておくことが好ましい。 Since the plurality of works stacked in bulk overlap each other, it has been difficult to take out the workpiece to be held when the holding position of the workpiece to be held overlaps with another workpiece. Therefore, in order to increase the success rate of taking out the workpiece to be held, it is preferable to set information regarding a plurality of holding positions for one workpiece.

特許文献1には、保持位置に関する情報を、ロボットハンドの形状データであるハンドモデルと、ワークの形状データであるワークモデルを用いた幾何学的な計算によって求めることが開示されている。具体的には、特許文献1には、ワークモデルにおいて互いに平行な2つの平行面の組み合わせを全探索により求め、全ての組み合わせについてハンドモデルで保持できるかどうか判定することで、保持できる2つの平行面を保持位置に関する情報として設定する技術が開示されている。 Patent Document 1 discloses that information regarding a holding position is obtained by geometric calculation using a hand model that is shape data of a robot hand and a workpiece model that is shape data of a workpiece. Specifically, Patent Document 1 describes how to find combinations of two parallel planes that are parallel to each other in a workpiece model through a full search, and determine whether or not all combinations can be maintained by the hand model. A technique for setting a surface as information regarding a holding position is disclosed.

特開2015-044274号公報Japanese Patent Application Publication No. 2015-044274

しかしながら、特許文献1では、2つの平行面の組み合わせを全探索する必要があるため、保持位置に関する情報を求めるための演算負荷が大きい。そのため、保持位置に関する情報を求めるための演算負荷を低減させることが求められていた。 However, in Patent Document 1, since it is necessary to perform a complete search for combinations of two parallel surfaces, the calculation load for obtaining information regarding the holding position is large. Therefore, it has been desired to reduce the calculation load for obtaining information regarding the holding position.

本発明は、演算負荷を低減することを目的とする。 The present invention aims to reduce the calculation load.

本発明の第1態様によれば、保持位置に関する情報を出力する情報処理部を備える情報処理装置であって、前記情報処理部は、形状データであるワークモデル及びハンドモデルを取得する処理と、前記ワークモデルに第1点を設定する処理と、前記第1点において前記ワークモデルと交差する仮想直線を設定する処理と、前記仮想直線が前記第1点以外で前記ワークモデルと交差する場合、前記ワークモデルにおいて前記仮想直線と交差する第2点を取得する処理と、を実行する、ことを特徴とする。 According to a first aspect of the present invention, there is provided an information processing apparatus including an information processing section that outputs information regarding holding positions, wherein the information processing section acquires a workpiece model and a hand model that are shape data; a process of setting a first point on the work model; a process of setting a virtual straight line that intersects the work model at the first point; and when the virtual straight line intersects the work model at a point other than the first point, A process of acquiring a second point intersecting the virtual straight line in the work model is performed.

本発明の第2態様によれば、保持位置に関する情報を出力する情報処理方法であって、形状データであるワークモデル及びハンドモデルを取得し、前記ワークモデルに第1点を設定し、前記第1点において前記ワークモデルと交差する仮想直線を設定し、前記仮想直線が前記第1点以外で前記ワークモデルと交差する場合、前記ワークモデルにおいて前記仮想直線と交差する第2点を取得する、ことを特徴とする。 According to a second aspect of the present invention, there is provided an information processing method for outputting information regarding holding positions, wherein a workpiece model and a hand model, which are shape data, are acquired, a first point is set on the workpiece model, and the first point is set on the workpiece model. setting a virtual straight line that intersects the work model at one point, and if the virtual straight line intersects the work model at a point other than the first point, obtaining a second point that intersects the virtual straight line in the work model; It is characterized by

本発明によれば、演算負荷を低減することができる。 According to the present invention, calculation load can be reduced.

実施形態に係るロボットシステムの概略構成を示す説明図である。FIG. 1 is an explanatory diagram showing a schematic configuration of a robot system according to an embodiment. 実施形態に係る画像処理装置の説明図である。FIG. 1 is an explanatory diagram of an image processing device according to an embodiment. 実施形態に係るロボットシステムにおけるコンピュータシステムのブロック図である。FIG. 2 is a block diagram of a computer system in a robot system according to an embodiment. 実施形態に係る情報処理部の機能ブロック図である。FIG. 3 is a functional block diagram of an information processing unit according to an embodiment. 実施形態に係るワーク情報取得部の機能ブロック図である。FIG. 3 is a functional block diagram of a work information acquisition unit according to the embodiment. 実施形態に係るワーク情報取得部の処理の説明図である。It is an explanatory diagram of processing of a work information acquisition part concerning an embodiment. 実施形態に係る保持情報取得部の機能ブロック図である。FIG. 3 is a functional block diagram of a retained information acquisition unit according to the embodiment. 実施形態に係る保持情報取得部の処理の説明図である。FIG. 6 is an explanatory diagram of processing of a retained information acquisition unit according to the embodiment. 実施形態に係るサンプリング部の機能ブロック図である。FIG. 3 is a functional block diagram of a sampling unit according to the embodiment. 実施形態に係るサンプリング部の処理の説明図である。FIG. 3 is an explanatory diagram of processing by the sampling unit according to the embodiment. 実施形態に係る探索部の機能ブロック図である。It is a functional block diagram of a search part concerning an embodiment. (a)及び(b)は、実施形態に係る直線取得部の処理の説明図である。(a) and (b) are explanatory diagrams of processing of the straight line acquisition unit according to the embodiment. 実施形態に係る交差算出部の処理の説明図である。FIG. 3 is an explanatory diagram of processing of an intersection calculation unit according to the embodiment. (a)、(b)及び(c)は実施形態に係るデータセットの例を示す説明図である。(a), (b), and (c) are explanatory diagrams showing examples of data sets according to the embodiment. 実施形態に係る判定部の機能ブロック図である。FIG. 2 is a functional block diagram of a determination unit according to an embodiment. (a)は実施形態に係る干渉判定部の判定処理の説明図である。(b)は実施形態に係る保持代判定部の判定処理の説明図である。(a) is an explanatory diagram of the determination processing of the interference determination unit according to the embodiment. (b) is an explanatory diagram of the determination processing of the holding allowance determination unit according to the embodiment. 実施形態に係るデータ出力部の機能ブロック図である。FIG. 3 is a functional block diagram of a data output unit according to the embodiment. 実施形態に係るユーザインタフェース画像の説明図である。FIG. 3 is an explanatory diagram of a user interface image according to the embodiment.

以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。図1は、実施形態に係るロボットシステム10の概略構成を示す説明図である。ロボットシステム10は、ロボット100と、情報処理装置の一例である画像処理装置200と、ロボットコントローラ300と、撮像装置の一例であるカメラ401と、を備える。ロボット100は、産業用ロボットであり、生産ラインに配置され、物品の製造に用いられる。 Hereinafter, embodiments for carrying out the present invention will be described in detail with reference to the drawings. FIG. 1 is an explanatory diagram showing a schematic configuration of a robot system 10 according to an embodiment. The robot system 10 includes a robot 100, an image processing device 200 that is an example of an information processing device, a robot controller 300, and a camera 401 that is an example of an imaging device. The robot 100 is an industrial robot, placed on a production line, and used to manufacture articles.

ロボット100は、マニピュレータである。ロボット100は、例えば架台に固定される。ロボット100の周囲には、上部が開口した容器30が配置される。容器30内には、複数のワークWがばら積みされる。即ち、容器30の内底面301上に複数のワークWがばら積みされる。各ワークWは、保持対象の一例であり、例えば部品である。容器30内の複数のワークWが1つずつロボット100に保持され、所定位置へと搬送される。複数のワークWは、互いに同一の形状、同一の大きさ、同一の色である。また、ワークWは、本実施形態では剛体である。 Robot 100 is a manipulator. The robot 100 is fixed to a pedestal, for example. A container 30 with an open top is arranged around the robot 100. Inside the container 30, a plurality of works W are stacked in bulk. That is, a plurality of works W are stacked in bulk on the inner bottom surface 301 of the container 30. Each workpiece W is an example of a holding target, and is, for example, a component. A plurality of works W in the container 30 are held one by one by the robot 100 and transported to a predetermined position. The plurality of works W have the same shape, the same size, and the same color. Further, the workpiece W is a rigid body in this embodiment.

ロボット100とロボットコントローラ300とは、通信可能に配線で接続されている。ロボットコントローラ300と画像処理装置200とは、通信可能に配線で接続されている。カメラ401と画像処理装置200とは、通信可能に有線接続又は無線接続されている。 The robot 100 and the robot controller 300 are communicably connected by wiring. The robot controller 300 and the image processing device 200 are communicably connected by wiring. The camera 401 and the image processing device 200 are communicably connected by wire or wirelessly.

ロボット100は、ロボットアーム101と、エンドエフェクタ、即ち保持機構であるロボットハンド102と、を有する。ロボットアーム101は、垂直多関節のロボットアームである。ロボットハンド102は、ロボットアーム101に支持されている。ロボットハンド102は、ロボットアーム101の所定部位、例えばロボットアーム101の先端部に取り付けられている。ロボットハンド102は、ワークWを保持可能に構成されている。 The robot 100 has a robot arm 101 and a robot hand 102 that is an end effector, that is, a holding mechanism. The robot arm 101 is a vertical multi-joint robot arm. Robot hand 102 is supported by robot arm 101. The robot hand 102 is attached to a predetermined portion of the robot arm 101, for example, to the tip of the robot arm 101. The robot hand 102 is configured to be able to hold the workpiece W.

ロボットハンド102は、複数のフィンガ、例えば2つのフィンガ111,112を有する。2つのフィンガ111,112は、ロボットハンド102の不図示の駆動機構により、互いに近接及び離間可能に構成されている。ロボットハンド102は、2つのフィンガ111,112によりワークWを保持することができる。 The robot hand 102 has a plurality of fingers, for example two fingers 111 and 112. The two fingers 111 and 112 are configured to be able to approach and separate from each other by a drive mechanism (not shown) of the robot hand 102. The robot hand 102 can hold the workpiece W with two fingers 111 and 112.

なお、ロボットハンド102がワークWを保持するとは、フィンガ111,112でワークWの外側を挟んで把持することを含む。また、ワークWが例えばパイプのように中空部材である場合、ロボットハンド102がワークWを保持するとは、ワークWがロボットハンド102から落下しないようにワークWの内側壁にフィンガ111,112を押圧させて把持することを含む。 Note that holding the workpiece W by the robot hand 102 includes gripping the workpiece W by sandwiching the outer side of the workpiece W between the fingers 111 and 112. In addition, when the workpiece W is a hollow member such as a pipe, the robot hand 102 holds the workpiece W by pressing the fingers 111 and 112 against the inner wall of the workpiece W to prevent the workpiece W from falling from the robot hand 102. This includes holding and holding the object.

以上の構成により、ロボットアーム101によりロボットハンド102を所望の位置に移動させ、ロボット100に所望の作業を行わせることができる。例えば、ワークWと他のワークとを用意しておき、ワークWを他のワークに組み付ける作業をロボット100に行わせることで、物品として組立物を製造することができる。なお、本実施形態ではロボット100によるワークの組み付けによる物品の製造を例に取り説明したがこれに限定されない。例えば、ロボットアーム101に切削工具や研磨工具などのツールを設け、ツールによりワークを加工することで物品を製造してもよい。 With the above configuration, the robot arm 101 can move the robot hand 102 to a desired position and cause the robot 100 to perform a desired work. For example, by preparing a workpiece W and another workpiece and having the robot 100 perform a task of assembling the workpiece W to the other workpiece, an assembled article can be manufactured. In addition, although this embodiment has been described by taking as an example the manufacture of an article by assembling workpieces by the robot 100, the present invention is not limited to this. For example, the robot arm 101 may be provided with a tool such as a cutting tool or a polishing tool, and the article may be manufactured by processing a workpiece with the tool.

カメラ401は、デジタルカメラであり、不図示のイメージセンサを有する。イメージセンサは、例えばCMOSイメージセンサ又はCCDイメージセンサである。カメラ401は、ロボット100の周囲に配置された不図示のフレームに固定されている。カメラ401は、容器30に配置された複数のワークWを含む領域を撮像可能な位置に配置されている。即ち、カメラ401は、ロボット100に保持対象であるワークWを含む領域を撮像可能である。例えばカメラ401は、鉛直下方を撮像するようにロボット100の上方に配置されている。 Camera 401 is a digital camera and has an image sensor (not shown). The image sensor is, for example, a CMOS image sensor or a CCD image sensor. The camera 401 is fixed to a frame (not shown) placed around the robot 100. The camera 401 is arranged at a position where it can image an area including a plurality of works W arranged in the container 30. That is, the camera 401 can image an area including the workpiece W to be held by the robot 100. For example, the camera 401 is placed above the robot 100 so as to capture an image vertically downward.

画像処理装置200は、本実施形態ではコンピュータで構成されている。画像処理装置200は、カメラ401に撮像指令を送ってカメラ401に撮像を行わせることができる。画像処理装置200は、カメラ401によって生成された画像データを取得可能に構成されており、取得した画像データを処理可能に構成されている。そして、画像処理装置200は、画像データを画像処理することにより、ワークWの情報としてワークWの位置姿勢の情報を生成する。 The image processing device 200 is configured by a computer in this embodiment. The image processing device 200 can send an imaging command to the camera 401 to cause the camera 401 to perform imaging. The image processing device 200 is configured to be able to acquire image data generated by the camera 401, and is configured to be able to process the acquired image data. Then, the image processing device 200 generates information on the position and orientation of the workpiece W as information on the workpiece W by performing image processing on the image data.

図2は、実施形態に係る画像処理装置200の説明図である。画像処理装置200は、本体201と、表示部の一例であるディスプレイ202と、入力装置の一例であるキーボード203及びマウス204と、を有する。ディスプレイ202、キーボード203及びマウス204は、本体201に接続されている。 FIG. 2 is an explanatory diagram of the image processing device 200 according to the embodiment. The image processing device 200 includes a main body 201, a display 202 that is an example of a display section, and a keyboard 203 and a mouse 204 that are examples of input devices. A display 202, a keyboard 203, and a mouse 204 are connected to the main body 201.

図1に示すロボットコントローラ300は、本実施形態ではコンピュータで構成されている。ロボットコントローラ300は、画像処理装置200の画像処理により得られたワークWの情報に基づいて、ロボット100の動作、即ちロボット100の姿勢を制御することが可能に構成されている。具体的には、ロボットコントローラ300は、ワークWの位置姿勢の情報から、保持位置に関する情報に基づくワークW上の保持位置をロボットハンド102に保持させるためのロボット100の目標姿勢を演算する。そして、ロボットコントローラ300は、ロボット100が目標姿勢となるようにロボット100を制御して、ロボットハンド102にワークWの保持位置を保持させる。保持位置に関する情報は、後述するように、画像処理装置200にて演算により生成される。保持位置に関する情報は、ロボットハンド102の各フィンガ111,112を接触させるワークW上の点の座標情報を含む。保持位置に関する情報は、フィンガ111,112の開き幅の情報を含んでいてもよい。 The robot controller 300 shown in FIG. 1 is composed of a computer in this embodiment. The robot controller 300 is configured to be able to control the operation of the robot 100, that is, the posture of the robot 100, based on information about the workpiece W obtained through image processing by the image processing device 200. Specifically, the robot controller 300 calculates a target posture of the robot 100 for causing the robot hand 102 to hold a holding position on the workpiece W based on information regarding the holding position from information on the position and posture of the workpiece W. Then, the robot controller 300 controls the robot 100 so that the robot 100 assumes the target posture, and causes the robot hand 102 to maintain the holding position of the workpiece W. Information regarding the holding position is generated by calculation in the image processing device 200, as will be described later. The information regarding the holding position includes coordinate information of a point on the workpiece W that is brought into contact with each finger 111, 112 of the robot hand 102. The information regarding the holding position may include information on the opening width of the fingers 111 and 112.

図3は、実施形態に係るロボットシステム10におけるコンピュータシステムのブロック図である。画像処理装置200の本体201は、プロセッサの一例であるCPU(Central Processing Unit)271を備える。CPU271は、プログラム281を実行することにより情報処理部として機能する。また、本体201は、記憶部として、ROM(Read Only Memory)272、RAM(Random Access Memory)273、及びHDD(Hard Disk Drive)274を備える。また、本体201は、記録ディスクドライブ275、及び入出力インタフェースであるインタフェース276を備える。CPU271、ROM272、RAM273、HDD274、記録ディスクドライブ275、及びインタフェース276は、互いに通信可能にバスで接続されている。 FIG. 3 is a block diagram of the computer system in the robot system 10 according to the embodiment. The main body 201 of the image processing device 200 includes a CPU (Central Processing Unit) 271, which is an example of a processor. The CPU 271 functions as an information processing unit by executing the program 281. The main body 201 also includes a ROM (Read Only Memory) 272, a RAM (Random Access Memory) 273, and an HDD (Hard Disk Drive) 274 as storage units. The main body 201 also includes a recording disk drive 275 and an interface 276 that is an input/output interface. The CPU 271, ROM 272, RAM 273, HDD 274, recording disk drive 275, and interface 276 are connected to each other via a bus so that they can communicate with each other.

本体201のインタフェース276には、ロボットコントローラ300、ディスプレイ202、キーボード203、マウス204、及びカメラ401が接続されている。 A robot controller 300, a display 202, a keyboard 203, a mouse 204, and a camera 401 are connected to an interface 276 of the main body 201.

ROM272には、コンピュータの動作に関する基本プログラムが格納されている。RAM273は、CPU271の演算処理結果等、各種データを一時的に記憶する記憶装置である。HDD274には、CPU271の演算処理結果や外部から取得した各種データ等が記録されると共に、CPU271に、各種処理を実行させるためのプログラム281が記録されている。プログラム281は、CPU271が実行可能なアプリケーションソフトウェアである。 The ROM 272 stores basic programs related to the operation of the computer. The RAM 273 is a storage device that temporarily stores various data such as arithmetic processing results of the CPU 271. The HDD 274 records calculation results of the CPU 271 and various data acquired from the outside, as well as a program 281 for causing the CPU 271 to execute various processes. The program 281 is application software that can be executed by the CPU 271.

CPU271は、HDD274に記録されたプログラム281を実行することで、後述する演算処理を実行することが可能である。また、CPU271は、プログラム281を実行することで、カメラ401を制御してカメラ401から画像データを取得し、画像データに対して画像処理を実行することが可能である。記録ディスクドライブ275は、記録ディスク282に記録された各種データやプログラム等を読み出すことができる。 By executing the program 281 recorded on the HDD 274, the CPU 271 can perform arithmetic processing to be described later. Furthermore, by executing the program 281, the CPU 271 can control the camera 401, acquire image data from the camera 401, and perform image processing on the image data. The recording disk drive 275 can read various data, programs, etc. recorded on the recording disk 282.

なお、本実施形態では、コンピュータによって読み取り可能な非一時的な記録媒体がHDD274であり、HDD274にプログラム281が記録されているが、これに限定するものではない。プログラム281は、コンピュータによって読み取り可能な非一時的な記録媒体であれば、いかなる記録媒体に記録されていてもよい。プログラム281をコンピュータに供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、磁気テープ、不揮発性メモリ等を用いることができる。 In this embodiment, the computer-readable non-temporary recording medium is the HDD 274, and the program 281 is recorded on the HDD 274, but the present invention is not limited to this. The program 281 may be recorded on any computer-readable non-transitory recording medium. As a recording medium for supplying the program 281 to the computer, for example, a flexible disk, hard disk, optical disk, magneto-optical disk, magnetic tape, nonvolatile memory, etc. can be used.

ロボットコントローラ300は、プロセッサの一例であるCPU351を備える。CPU351は、プログラム361を実行することにより制御部として機能する。また、ロボットコントローラ300は、記憶部として、ROM352、RAM353、及びHDD354を備える。また、ロボットコントローラ300は、記録ディスクドライブ355、及び入出力インタフェースであるインタフェース356を備える。CPU351、ROM352、RAM353、HDD354、記録ディスクドライブ355、及びインタフェース356は、互いに通信可能にバスで接続されている。 The robot controller 300 includes a CPU 351 that is an example of a processor. The CPU 351 functions as a control unit by executing a program 361. The robot controller 300 also includes a ROM 352, a RAM 353, and an HDD 354 as storage units. The robot controller 300 also includes a recording disk drive 355 and an interface 356 that is an input/output interface. The CPU 351, ROM 352, RAM 353, HDD 354, recording disk drive 355, and interface 356 are connected to each other via a bus so that they can communicate with each other.

ROM352には、コンピュータの動作に関する基本プログラムが格納されている。RAM353は、CPU351の演算処理結果等、各種データを一時的に記憶する記憶装置である。HDD354には、CPU351の演算処理結果や外部から取得した各種データ等が記録されると共に、CPU351に、各種処理を実行させるためのプログラム361が記録(格納)されている。プログラム361は、CPU351が実行可能なアプリケーションソフトウェアである。 The ROM 352 stores basic programs related to the operation of the computer. The RAM 353 is a storage device that temporarily stores various data such as arithmetic processing results of the CPU 351. The HDD 354 records arithmetic processing results of the CPU 351 and various data acquired from the outside, and also records (stores) a program 361 for causing the CPU 351 to execute various processes. The program 361 is application software that can be executed by the CPU 351.

CPU351は、HDD354に記録されたプログラム361を実行することで制御処理を実行し、図1のロボット100の動作を制御することが可能となる。記録ディスクドライブ355は、記録ディスク362に記録された各種データやプログラム等を読み出すことができる。 By executing the program 361 recorded on the HDD 354, the CPU 351 can execute control processing and control the operation of the robot 100 in FIG. The recording disk drive 355 can read various data, programs, etc. recorded on the recording disk 362.

なお、本実施形態では、コンピュータによって読み取り可能な非一時的な記録媒体がHDD354であり、HDD354にプログラム361が記録されているが、これに限定するものではない。プログラム361は、コンピュータによって読み取り可能な非一時的な記録媒体であれば、いかなる記録媒体に記録されていてもよい。プログラム361をコンピュータに供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、磁気テープ、不揮発性メモリ等を用いることができる。 In this embodiment, the computer-readable non-temporary recording medium is the HDD 354, and the program 361 is recorded on the HDD 354, but the present invention is not limited to this. The program 361 may be recorded on any computer-readable non-temporary recording medium. As a recording medium for supplying the program 361 to the computer, for example, a flexible disk, hard disk, optical disk, magneto-optical disk, magnetic tape, nonvolatile memory, etc. can be used.

なお、本実施形態では、情報処理部及び制御部の機能を複数のコンピュータ、即ち複数のCPU271,351に実現させるが、これに限定されるものではない。情報処理部及び制御部の機能を1つのコンピュータ、即ち1つのCPUに実現させてもよい。 In this embodiment, the functions of the information processing section and the control section are realized by a plurality of computers, that is, a plurality of CPUs 271 and 351, but the present invention is not limited to this. The functions of the information processing section and the control section may be implemented in one computer, that is, one CPU.

図4は、実施形態に係る情報処理部20の機能ブロック図である。画像処理装置200のCPU271は、プログラム281を実行することにより、情報処理部20として機能する。情報処理部20は、図4に示すように、ワーク情報取得部21、保持情報取得部22、サンプリング部23、探索部24、判定部25、及びデータ出力部26を含む。情報処理部20は、各部21~26の処理を実行し、保持位置に関する情報611を出力する。 FIG. 4 is a functional block diagram of the information processing unit 20 according to the embodiment. The CPU 271 of the image processing device 200 functions as the information processing section 20 by executing the program 281. The information processing section 20 includes a work information acquisition section 21, a retained information acquisition section 22, a sampling section 23, a search section 24, a determination section 25, and a data output section 26, as shown in FIG. The information processing section 20 executes the processing of each section 21 to 26 and outputs information 611 regarding the holding position.

ワーク情報取得部21には、ワークWの3次元の形状データであるワークモデルWMを取得する。保持情報取得部22は、ロボットハンド102の3次元の形状データであるハンドモデルHMを取得する。ハンドモデルHMは、フィンガ111,112に対応するフィンガモデルを含む。各フィンガモデルは、フィンガに含まれるワークWを保持可能な実領域に対応する領域データを含む。 The workpiece information acquisition unit 21 acquires a workpiece model WM, which is three-dimensional shape data of the workpiece W. The held information acquisition unit 22 acquires a hand model HM, which is three-dimensional shape data of the robot hand 102. Hand model HM includes finger models corresponding to fingers 111 and 112. Each finger model includes area data corresponding to a real area that can hold the workpiece W included in the finger.

各モデルWM,HMは、3次元のCAD(Computer Aided Design)データ、又はSTL(Standard Triangled Language/Stereolithography)データ等のポリゴンデータである。 Each model WM, HM is polygon data such as three-dimensional CAD (Computer Aided Design) data or STL (Standard Triangled Language/Stereolithography) data.

ワークモデルWMは、ワークWの表面に対応する形状データである。ハンドモデルHMは、ロボットハンド102の表面に対応する形状データである。ワークモデルWMで囲まれた内側の領域がワークWの内部に対応する。また、ハンドモデルHMで囲まれた内側の領域がロボットハンド102の内部に対応する。 The workpiece model WM is shape data corresponding to the surface of the workpiece W. Hand model HM is shape data corresponding to the surface of robot hand 102. The inner region surrounded by the workpiece model WM corresponds to the inside of the workpiece W. Furthermore, the inner region surrounded by the hand model HM corresponds to the inside of the robot hand 102.

サンプリング部23は、ワークモデルWM(表面)上の点を一定間隔でサンプリングすることにより、ワークモデルWM上に第1点を設定する。探索部24は、サンプリング部23でサンプリングされた第1点に対応するワークモデルWM上の第2点を算出し、これら2つの点の情報(データ)を含むデータセットを取得する。探索部24は、データセットを複数取得する。判定部25は、探索部24により取得された各データセットに対し、ハンドモデルHMがワークモデルWMを保持可能かどうか判定し、保持可能と判定されたデータセットを保持位置に関する情報の候補に含める。データ出力部26は、判定部25により算出された候補に基づいて、保持位置に関する情報(データ)611を出力する。 The sampling unit 23 sets a first point on the workpiece model WM by sampling points on the workpiece model WM (surface) at regular intervals. The search unit 24 calculates a second point on the work model WM that corresponds to the first point sampled by the sampling unit 23, and obtains a data set including information (data) on these two points. The search unit 24 acquires a plurality of data sets. The determining unit 25 determines whether the hand model HM can hold the work model WM for each data set acquired by the searching unit 24, and includes the data set determined to be holdable as a candidate for information regarding the holding position. . The data output unit 26 outputs information (data) 611 regarding the holding position based on the candidates calculated by the determination unit 25.

ワーク情報取得部21について、図5を用いて説明する。図5は、実施形態に係るワーク情報取得部21の機能ブロック図である。ワーク情報取得部21は、読込部211及び三角化部212を含み、ワークモデルWMを出力する。 The work information acquisition unit 21 will be explained using FIG. 5. FIG. 5 is a functional block diagram of the work information acquisition unit 21 according to the embodiment. The workpiece information acquisition section 21 includes a reading section 211 and a triangulation section 212, and outputs a workpiece model WM.

図6は、実施形態に係るワーク情報取得部21の処理の説明図である。ワーク情報取得部21は、図6に示すようなワークモデルWMを取得する。ワークモデルWMは、複数のポリゴンPGにより表現された形状データである。各ポリゴンPGは、ワークモデルWM(表面形状)の一部である。各ポリゴンPGは、多角形のポリゴンである。ポリゴンPGは、三角形であることが好ましい。以下、ポリゴンPGが三角形である場合を例に説明する。 FIG. 6 is an explanatory diagram of the processing of the work information acquisition unit 21 according to the embodiment. The workpiece information acquisition unit 21 acquires a workpiece model WM as shown in FIG. The work model WM is shape data expressed by a plurality of polygons PG. Each polygon PG is a part of the workpiece model WM (surface shape). Each polygon PG is a polygon. It is preferable that the polygon PG is a triangle. An example in which the polygon PG is a triangle will be described below.

読込部211は、例えば図3のHDD274等の記憶デバイス又はネットワークから、ワークWの形状データを読み込む。なお、読み込まれるワークWの形状データは、ワーク形状を表現するデータであれば形式は問わず、例えば3Dスキャナにより取得したデータ、CADデータ、ポリゴン情報を表すSTLデータ等であってもよい。 The reading unit 211 reads shape data of the workpiece W from a storage device such as the HDD 274 in FIG. 3 or a network, for example. Note that the read shape data of the workpiece W may be in any format as long as it represents the shape of the workpiece, and may be, for example, data acquired by a 3D scanner, CAD data, STL data representing polygon information, or the like.

三角化部212は、読込部211に読み込まれたワークWの形状データを、ポリゴンPGの表現に統一する。即ち、読込部211に読み込まれた形状データがポリゴンPGで表現されたデータであれば、三角化部212は、読込部211に読み込まれた形状データを、ワークモデルWMとしてそのまま出力する。また、読込部211に読み込まれた形状データがポリゴンPGで表現されたデータでなければ、三角化部212は、読込部211に読み込まれた形状データを、ポリゴンPGで表現されたデータに変換し、その変換したデータをワークモデルWMとして出力する。 The triangulation unit 212 unifies the shape data of the workpiece W read into the reading unit 211 into a polygon PG representation. That is, if the shape data read into the reading unit 211 is data expressed by polygons PG, the triangulation unit 212 outputs the shape data read into the reading unit 211 as is as the work model WM. Further, if the shape data read into the reading unit 211 is not data expressed by polygons PG, the triangulation unit 212 converts the shape data read into the reading unit 211 into data expressed by polygons PG. , and outputs the converted data as a work model WM.

次に、保持情報取得部22について、図7を用いて説明する。図7は、実施形態に係る保持情報取得部22の機能ブロック図である。保持情報取得部22は、読込部221、三角化部222、及び定義部223を含み、ハンドモデルHM、関係情報IM1、及び領域情報IM2を出力する。 Next, the held information acquisition unit 22 will be explained using FIG. 7. FIG. 7 is a functional block diagram of the retained information acquisition unit 22 according to the embodiment. The retained information acquisition section 22 includes a reading section 221, a triangulation section 222, and a definition section 223, and outputs a hand model HM, relational information IM1, and area information IM2.

図8は、実施形態に係る保持情報取得部22の処理の説明図である。保持情報取得部22は、図8に示すようなハンドモデルHMを取得する。本実施形態では、ロボットハンド102が複数のフィンガとして2つのフィンガ111,112を有するため、ハンドモデルHMは、フィンガ111に対応するフィンガモデルFM1と、フィンガ112に対応するフィンガモデルFM2と、を有する。フィンガモデルFM1,FM2は、フィンガ111,112と同様、互いに近接及び離間可能である。フィンガ111は第1フィンガの一例であり、フィンガモデルFM1は第1フィンガモデルの一例である。フィンガ112は第2フィンガの一例であり、フィンガモデルFM2は第2フィンガモデルの一例である。 FIG. 8 is an explanatory diagram of processing of the retained information acquisition unit 22 according to the embodiment. The held information acquisition unit 22 acquires a hand model HM as shown in FIG. In this embodiment, since the robot hand 102 has two fingers 111 and 112 as a plurality of fingers, the hand model HM has a finger model FM1 corresponding to the finger 111 and a finger model FM2 corresponding to the finger 112. . Finger models FM1 and FM2, like fingers 111 and 112, can be moved close to and separated from each other. Finger 111 is an example of a first finger, and finger model FM1 is an example of the first finger model. Finger 112 is an example of a second finger, and finger model FM2 is an example of the second finger model.

なお、ロボットハンド102が、3つ以上のフィンガを有する場合であってもよい。ロボットハンド102が例えば第3フィンガ及び第4フィンガを更に有する場合、ハンドモデルHMは、第3フィンガモデル及び第4フィンガモデルを更に有する。 Note that the robot hand 102 may have three or more fingers. For example, when the robot hand 102 further includes a third finger and a fourth finger, the hand model HM further includes a third finger model and a fourth finger model.

読込部221は、例えば図3のHDD274等の記憶デバイス又はネットワークから、ロボットハンド102の形状データを読み込む。なお、読み込まれるロボットハンド102の形状データは、ハンド形状を表現するデータであれば形式は問わず、例えば3Dスキャナにより取得したデータ、CADデータ、ポリゴン情報を表すSTLデータ等であってもよい。 The reading unit 221 reads the shape data of the robot hand 102 from a storage device such as the HDD 274 in FIG. 3 or a network, for example. Note that the read shape data of the robot hand 102 may be in any format as long as it represents the shape of the hand, and may be, for example, data acquired by a 3D scanner, CAD data, STL data representing polygon information, or the like.

三角化部222は、読込部221に読み込まれたロボットハンド102の形状データを、ポリゴンの表現に統一する。即ち、読込部221に読み込まれた形状データがポリゴンで表現されたデータであれば、三角化部222は、読込部221に読み込まれた形状データを、ハンドモデルHMとしてそのまま出力する。また、読込部221に読み込まれた形状データがポリゴンで表現されたデータでなければ、三角化部222は、読込部221に読み込まれた形状データを、ポリゴンで表現されたデータに変換し、その変換したデータをハンドモデルHMとして出力する。なお、ハンドモデルHMにおけるポリゴンも、ワークモデルWMと同様、三角形で表現されることが好ましいが、三角形以外の多角形であってもよい。 The triangulation unit 222 unifies the shape data of the robot hand 102 read into the reading unit 221 into a polygon representation. That is, if the shape data read into the reading unit 221 is data expressed by polygons, the triangulation unit 222 outputs the shape data read into the reading unit 221 as it is as a hand model HM. Further, if the shape data read into the reading unit 221 is not data expressed by polygons, the triangulation unit 222 converts the shape data read into the reading unit 221 into data expressed by polygons, and converts the shape data read into the reading unit 221 into data expressed by polygons. The converted data is output as a hand model HM. Note that the polygons in the hand model HM are preferably expressed as triangles similarly to the workpiece model WM, but may be polygons other than triangles.

定義部223は、図8に示すように、ハンドモデルHMにおけるフィンガモデルFM1及びフィンガモデルFM2の間の幾何学的関係を示す関係情報IM1を定義し、後述する保持代判定に用いる領域情報IM2を定義し、関係情報IM1及び領域情報IM2を出力する。 As shown in FIG. 8, the definition unit 223 defines relationship information IM1 indicating the geometric relationship between the finger model FM1 and the finger model FM2 in the hand model HM, and defines area information IM2 used for holding allowance determination to be described later. and outputs related information IM1 and area information IM2.

領域情報IM2は、フィンガモデルFM1に含まれる領域であって、フィンガ111がワークWを保持可能な領域に対応する領域R1を示す情報を含む。また、領域情報IM2は、フィンガモデルFM2に定義される領域であって、フィンガ112がワークWを保持可能な領域に対応する領域R2を示す情報を含む。領域R1には、中心点PC1が定義され、領域R2には、中心点PC2が定義される。中心点PC1は、第1所定点の一例であり、中心点PC2は、第2所定点の一例である。中心点PC1は、フィンガモデルFM1に固定された点であり、中心点PC2は、フィンガモデルFM2に固定された点である。 The region information IM2 includes information indicating a region R1 that is included in the finger model FM1 and corresponds to a region in which the finger 111 can hold the workpiece W. Further, the region information IM2 includes information indicating a region R2 that is defined in the finger model FM2 and corresponds to a region in which the finger 112 can hold the workpiece W. A center point PC1 is defined in the region R1, and a center point PC2 is defined in the region R2. Center point PC1 is an example of a first predetermined point, and center point PC2 is an example of a second predetermined point. Center point PC1 is a point fixed to finger model FM1, and center point PC2 is a point fixed to finger model FM2.

関係情報IM1は、フィンガモデルFM1とフィンガモデルFM2との最大開き距離の情報、フィンガモデルFM1とフィンガモデルFM2との最小開き距離の情報、領域R1の中心点PC1から領域R2の中心点PC2へ向かうベクトルV21の情報を含む。ベクトルV21は、所定方向の一例である。 The relationship information IM1 includes information on the maximum opening distance between finger models FM1 and FM2, information on the minimum opening distance between finger models FM1 and FM2, and information on the distance from the center point PC1 of the region R1 to the center point PC2 of the region R2. Contains information on vector V21. Vector V21 is an example of a predetermined direction.

なお、ハンドモデルHMが第3フィンガモデル及び第4フィンガモデルを更に有する場合、定義部223は、中心点PC1から第3フィンガモデルに定義された領域の中心点へ向かうベクトル、及び中心点PC1から第4フィンガモデルに定義された領域の中心点へ向かうベクトルを更に定義してもよい。 Note that when the hand model HM further includes a third finger model and a fourth finger model, the definition unit 223 generates a vector from the center point PC1 to the center point of the area defined in the third finger model, and a vector from the center point PC1 to the center point of the area defined in the third finger model. A vector directed toward the center point of the area defined in the fourth finger model may be further defined.

次に、サンプリング部23について、図9を用いて説明する。図9は、実施形態に係るサンプリング部23の機能ブロック図である。サンプリング部23は、グリッド算出部231、交点算出部232、及び形状判定部233を含み、ワークモデルWMにおける複数のポリゴンPGの各々に、少なくとも1つのサンプリング点P1を設定する。 Next, the sampling section 23 will be explained using FIG. 9. FIG. 9 is a functional block diagram of the sampling section 23 according to the embodiment. The sampling unit 23 includes a grid calculation unit 231, an intersection calculation unit 232, and a shape determination unit 233, and sets at least one sampling point P1 for each of the plurality of polygons PG in the workpiece model WM.

図10は、実施形態に係るサンプリング部23の処理の説明図である。本実施形態では、サンプリング部23は、1つのポリゴンPGについて、当該ポリゴンPGの大きさ(面積)に応じた数のサンプリング点P1を取得する。 FIG. 10 is an explanatory diagram of the processing of the sampling unit 23 according to the embodiment. In the present embodiment, the sampling unit 23 acquires, for one polygon PG, a number of sampling points P1 according to the size (area) of the polygon PG.

図10に示す1つのポリゴンPGに着目して説明する。図10に示すポリゴンPGは、3つの頂点A,B,Cを有する三角形で表される。グリッド算出部231は、サンプリング幅rの間隔のグリッドGを、ポリゴンPGと同一平面に定義する。 Description will be given focusing on one polygon PG shown in FIG. 10. The polygon PG shown in FIG. 10 is represented by a triangle having three vertices A, B, and C. The grid calculating unit 231 defines a grid G having an interval of sampling width ra on the same plane as the polygon PG.

交点算出部232は、グリッドGを、以下のように定義する。グリッドGの1つの辺を、辺ABと平行、かつ辺ABからr/2離れた位置に定義する。グリッドGにおける複数の交点をP(i,j)、又はPi,jと表す。複数の交点P(i,j)のうち、三角形ABCの内部、即ちポリゴンPGの内部に含まれる点を、サンプリング点P1とする。 The intersection calculation unit 232 defines the grid G as follows. One side of grid G is defined to be parallel to side AB and at a position r a /2 away from side AB. A plurality of intersection points in grid G are expressed as P(i,j) or P i,j . Among the plurality of intersection points P(i,j), a point included inside the triangle ABC, that is, inside the polygon PG, is defined as a sampling point P1.

ここで、点P(i,j)を、頂点Aに対するベクトルで表すと、以下の式(1)となる。

Figure 2023171034000002
Here, if the point P(i,j) is expressed as a vector with respect to the vertex A, the following equation (1) is obtained.
Figure 2023171034000002

なお、式(1)中、矢印はベクトルを表す。式(1)中、ADベクトルは、ABベクトルと垂直で辺ABと点Cとの距離と等しい長さを有するベクトルであって、ACベクトルとなす角度が最も小さいベクトルである。 Note that in equation (1), arrows represent vectors. In Equation (1), the AD vector is a vector that is perpendicular to the AB vector, has a length equal to the distance between the side AB and the point C, and is the vector that makes the smallest angle with the AC vector.

ここで、ADベクトルは、以下の式(2)及び式(3)の関係にある。

Figure 2023171034000003
Here, the AD vector has the relationship of the following equations (2) and (3).
Figure 2023171034000003

式(2)及び式(3)を式(1)に代入し整理すると、以下の式(4)で表現される。

Figure 2023171034000004
When formulas (2) and (3) are substituted into formula (1) and rearranged, the following formula (4) is obtained.
Figure 2023171034000004

次に、形状判定部233は、交点算出部232で得られたグリッド交点P(i,j)の中から三角形ABC内に存在するサンプリング点P1を選択する。グリッド交点P(i,j)が三角形ABC内に存在する条件は、下記の式(5)を用いて表すことができる。

Figure 2023171034000005
Next, the shape determining unit 233 selects the sampling point P1 existing within the triangle ABC from among the grid intersection points P(i,j) obtained by the intersection calculating unit 232. The condition that the grid intersection P(i,j) exists within the triangle ABC can be expressed using the following equation (5).
Figure 2023171034000005

式(4)のi,jを0から順番に増やしていき、式(5)の条件を満たす全てのi,jの組み合わせを算出したものが、サンプリング点P1となる。なお、ポリゴンPGの大きさが、サンプリングの間隔rに満たない場合、サンプリング部23は、ポリゴンPGの中心をサンプリング点P1とする。 The sampling point P1 is obtained by sequentially increasing i and j in equation (4) from 0, and calculating all the combinations of i and j that satisfy the condition of equation (5). Note that if the size of the polygon PG is less than the sampling interval ra , the sampling unit 23 sets the center of the polygon PG as the sampling point P1.

また、サンプリングに際し、サンプリング部23は、ワークモデルWMの表面におけるポリゴンPGの内部領域において、グリッド状に互いに等間隔に複数のサンプリング点P1を設定することが好ましい。これにより、ポリゴンPGにおいて、サンプリング点P1の密度が局所的に密になりすぎず、かつ十分な数のサンプリング点P1を取得することができる。 Further, during sampling, it is preferable that the sampling unit 23 sets a plurality of sampling points P1 at equal intervals in a grid pattern in the inner region of the polygon PG on the surface of the workpiece model WM. Thereby, in the polygon PG, the density of the sampling points P1 does not locally become too dense, and a sufficient number of sampling points P1 can be acquired.

なお、サンプリング点P1の設定方法は、以上の方法が好適であるが、これに限定されるものではない。例えば、サンプリング点P1を、ポリゴンPGの中心や頂点に設定してもよい。 Note that the method for setting the sampling point P1 is preferably the method described above, but is not limited thereto. For example, the sampling point P1 may be set at the center or apex of the polygon PG.

以上、サンプリング部23は、ワークモデルWMに含まれる全てのポリゴンPGのそれぞれに対して、少なくとも1つのサンプリング点P1を設定する。以上説明したサンプリング点P1が第1点の一例である。 As described above, the sampling unit 23 sets at least one sampling point P1 for each of all polygons PG included in the workpiece model WM. The sampling point P1 explained above is an example of the first point.

次に、探索部24について、図11を用いて説明する。図11は、実施形態に係る探索部24の機能ブロック図である。探索部24は、法線取得部241、直線取得部242、及び交差算出部243を含み、判定対象とするデータセット411を出力する。データセット411は、第1点及び第2点を含むセットの一例である。 Next, the search unit 24 will be explained using FIG. 11. FIG. 11 is a functional block diagram of the search unit 24 according to the embodiment. The search unit 24 includes a normal line acquisition unit 241, a straight line acquisition unit 242, and an intersection calculation unit 243, and outputs a data set 411 to be determined. Data set 411 is an example of a set including a first point and a second point.

図12(a)は、実施形態に係る直線取得部242の処理の説明図である。以下の説明では、ワークモデルWM上の複数のサンプリング点P1のうち、1つのサンプリング点P1に着目して説明する。図12(a)に示すように、着目している1つのサンプリング点P1を点sとする。直線取得部242は、点sにおいてワークモデルWMと交差する仮想直線L1を設定する処理を実行する。本実施形態では、交差算出部243は、フィンガモデルFM1の中心点PC1をワークモデルWMの点sに対して位置決めした状態において、フィンガモデルFM1からフィンガモデルFM2へ向かうベクトルV21と平行な方向に延びるように、仮想直線L1を設定する。上述したように、ベクトルV21は、フィンガモデルFM1の中心点PC1からフィンガモデルFM2の中心点PC2へ向かう方向である。 FIG. 12A is an explanatory diagram of the processing of the straight line acquisition unit 242 according to the embodiment. The following description will focus on one sampling point P1 among the plurality of sampling points P1 on the workpiece model WM. As shown in FIG. 12(a), one sampling point P1 of interest is defined as a point s i . The straight line acquisition unit 242 executes a process of setting a virtual straight line L1 that intersects the work model WM at the point s i . In this embodiment, the intersection calculation unit 243 moves the center point PC1 of the finger model FM1 in a direction parallel to the vector V21 directed from the finger model FM1 to the finger model FM2 in a state where the center point PC1 is positioned with respect to the point s i of the workpiece model WM. A virtual straight line L1 is set so as to extend. As described above, the vector V21 is the direction from the center point PC1 of the finger model FM1 to the center point PC2 of the finger model FM2.

以下、交差算出部243の演算処理について詳細に説明する。ワークモデルWMの点sにおける法線をN、法線ベクトルをnとする。法線取得部241は、法線ベクトルnを算出する。法線Nは、点sにおいてワークモデルWMと直交する線である。法線Nの情報は、法線ベクトルnに含まれている。法線取得部241は、点sが属するポリゴンPGの法線情報を利用して、法線ベクトルnを求めてもよいし、点sの周囲のポリゴン情報の平均化処理するなどの平滑化処理を行って、法線ベクトルnを求めてもよい。 The calculation processing of the intersection calculation unit 243 will be described in detail below. Let N W be the normal line at point s i of the workpiece model WM, and n i be the normal vector. The normal acquisition unit 241 calculates the normal vector n i . The normal N W is a line that is orthogonal to the workpiece model WM at the point s i . Information about the normal N W is included in the normal vector n i . The normal acquisition unit 241 may obtain the normal vector n i using the normal information of the polygon PG to which the point s i belongs, or may average the polygon information around the point s i . The normal vector n i may be obtained by performing smoothing processing.

直線取得部242は、まず、図12(a)に示すように、フィンガモデルFM1の中心点PC1が点sと一致する、即ち重なるように、フィンガモデルFM1を位置決めする。その際、直線取得部242は、フィンガモデルFM1の中心点PC1の法線N、即ち法線ベクトルと、点sの法線N、即ち法線ベクトルnとが一直線上となるようにフィンガモデルFM1をワークモデルWMに対して位置決めする。即ち、直線取得部242は、フィンガモデルFM1の中心点PC1における法線NがワークモデルWMの点sにおける法線Nと一致するように、フィンガモデルFM1の中心点PC1をワークモデルWMの点sに対して位置決めする。法線Nは、中心点PC1においてフィンガモデルFM1と直交する線である。 The straight line acquisition unit 242 first positions the finger model FM1 so that the center point PC1 of the finger model FM1 coincides with, that is, overlaps the point s i , as shown in FIG. 12(a). At this time, the straight line acquisition unit 242 makes sure that the normal N H of the center point PC1 of the finger model FM1, that is, the normal vector, and the normal N W of the point s i , that is, the normal vector n i are on a straight line. The finger model FM1 is positioned relative to the workpiece model WM. That is, the straight line acquisition unit 242 sets the center point PC1 of the finger model FM1 to the workpiece model WM so that the normal line NH at the center point PC1 of the finger model FM1 matches the normal line NW at the point si of the workpiece model WM. Position with respect to point s i of . The normal line N H is a line orthogonal to the finger model FM1 at the center point PC1.

なお、フィンガモデルFM1は、法線ベクトルnを回転中心として複数の姿勢を取り得るが、それらの姿勢のうち1つの姿勢を選んでもよいし、複数の姿勢を選んでもよい。また、フィンガモデルFM1の中心点PC1が点sから一定距離だけ離れるようにフィンガモデルFM1を位置決めしてもよい。その際、直線取得部242は、法線Nが法線Nと一致するようにフィンガモデルFM1をワークモデルに対して位置決めすることが好ましい。 Note that the finger model FM1 can take a plurality of postures with the normal vector n i as the center of rotation, and may select one posture or a plurality of postures from among these postures. Furthermore, the finger model FM1 may be positioned so that the center point PC1 of the finger model FM1 is separated from the point s i by a certain distance. At this time, it is preferable that the straight line acquisition unit 242 positions the finger model FM1 with respect to the workpiece model so that the normal line N H matches the normal line N W.

図12(a)では、フィンガモデルFM1の中心点PC1からフィンガモデルFM2の中心点PC2へ向かうベクトルV21と、フィンガモデルFM1の点PC1における法線Nの方向が一致しているが、一致しない場合もある。 In FIG. 12(a), the vector V21 from the center point PC1 of finger model FM1 to the center point PC2 of finger model FM2 matches the direction of the normal line N H at point PC1 of finger model FM1, but they do not match. In some cases.

直線取得部242は、図12(b)のように、点sにおいて互いに異なる方向に延びるように複数の仮想直線、例えば3つの仮想直線L1,L2,L3を設定してもよい。仮想直線L1,L2,L3のうちの1つが仮想直線L1である。仮想直線L1以外の仮想直線L2,L3は、仮想直線L1に対して所定角度範囲Δθに含まれる角度で点sにおいて交差するように設定されることが好ましい。また、所定角度範囲Δθは、1度以上5度以下の角度範囲であることが好ましい。 The straight line acquisition unit 242 may set a plurality of virtual straight lines, for example, three virtual straight lines L1, L2, and L3, so as to extend in mutually different directions at the point s i , as shown in FIG. 12(b). One of the virtual straight lines L1, L2, and L3 is the virtual straight line L1. The virtual straight lines L2 and L3 other than the virtual straight line L1 are preferably set to intersect with the virtual straight line L1 at a point s i at an angle included in a predetermined angle range Δθ. Moreover, it is preferable that the predetermined angle range Δθ is an angle range of 1 degree or more and 5 degrees or less.

次に、交差算出部243は、図13のように、仮想直線L1がワークモデルWM(表面)と点s以外で交差する場合、ワークモデルWMにおいて仮想直線L1と交差する少なくとも1つの交点を取得する。図13は、実施形態に係る交差算出部243の処理の説明図である。図13の例では、少なくとも1つの交点は、複数の交点であり、各交点を、点lik(kは整数)とする。各点likは、第2点の一例である。1つの点sと1つの点likとの組み合わせを含むデータセット411を、後述する判定部25の判定対象とする。 Next, as shown in FIG. 13, when the virtual straight line L1 intersects the work model WM (surface) at a point other than the point s i , the intersection calculation unit 243 calculates at least one intersection point that intersects with the virtual straight line L1 in the work model WM. get. FIG. 13 is an explanatory diagram of the processing of the intersection calculation unit 243 according to the embodiment. In the example of FIG. 13, at least one intersection is a plurality of intersections, and each intersection is a point l ik (k is an integer). Each point l ik is an example of a second point. A data set 411 including a combination of one point s i and one point l ik is a determination target of the determination unit 25, which will be described later.

なお、交差算出部243における交点の算出に用いる手法は、レイキャスト等の一般的手法を用いることができる。このような手法は、様々な高速化に関する検討が行われているため、それらの技術を用いることでより高速に算出を行うことができる。 Note that the intersection calculation unit 243 may use a general method such as raycasting to calculate the intersection. Since various studies have been conducted to speed up such methods, calculation can be performed faster by using these techniques.

以上、1つのサンプリング点P1、即ち点sについて説明したが、探索部24は、各ポリゴンPGに含まれる全てのサンプリング点P1に対してデータセット411を求める。また、探索部24は、全てのポリゴンPGに対してデータセット411を求める。このようにして複数のデータセット411が得られる。また、本実施形態では、ハンドモデルHMが2つのフィンガモデルFM1,FM2を有するため、データセット411は、2つの点s,likの情報を含むが、データセット411に含まれる点情報の数は、ハンドモデルHMが有するフィンガモデル数と同数である。例えば、ハンドモデルHMが3つのフィンガモデルを有する場合は、データセット411は、3つの点情報を含む。 Although one sampling point P1, that is, the point s i has been described above, the search unit 24 obtains the data set 411 for all sampling points P1 included in each polygon PG. Furthermore, the search unit 24 obtains a data set 411 for all polygons PG. In this way, multiple data sets 411 are obtained. Furthermore, in this embodiment, since the hand model HM has two finger models FM1 and FM2, the data set 411 includes information on the two points s i and l ik ; however, the point information included in the data set 411 The number is the same as the number of finger models that the hand model HM has. For example, if the hand model HM has three finger models, the data set 411 includes three point information.

図14(a)、図14(b)及び図14(c)は、実施形態に係るデータセット411の例を示す説明図である。図14(a)には、データセット411として、点sと点li1とを含むデータセット411を例示している。図14(b)には、データセット411として、点sと点li2とを含むデータセット411を例示している。図14(c)には、データセット411として、点sと点li3とを含むデータセット411を例示している。これらデータセット411~411を保持位置に関する情報の候補に含めるか否かについては、次の判定部25で判定する。 FIGS. 14(a), 14(b), and 14(c) are explanatory diagrams showing examples of the data set 411 according to the embodiment. In FIG. 14A, a data set 411 1 including a point s i and a point l i1 is illustrated as the data set 411 . FIG. 14B shows, as the data set 411, a data set 411 2 including the point s i and the point l i2 . FIG. 14C shows, as the data set 411, a data set 4113 including the point s i and the point l i3 . The next determination unit 25 determines whether or not these data sets 411 1 to 411 3 are included as candidates for information regarding holding positions.

次に、判定部25について、図15を用いて説明する。図15は、実施形態に係る判定部25の機能ブロック図である。判定部25は、干渉判定部251及び保持代判定部252を含み、保持位置に関する情報の候補511を出力する。判定部25は、データセット411を、保持位置に関する情報の候補511に含めるかどうか判定する処理を行う。候補511は、データセット411のみで構成されていてもよし、別の情報、例えばフィンガ111,112の開き幅の情報を含んでもよい。フィンガ111,112の開き幅は、データセット411に含まれる点s及び点li2の情報から算出され得る。本実施形態の例では、候補511は、開き幅の情報を含まないものとして説明する。 Next, the determination unit 25 will be explained using FIG. 15. FIG. 15 is a functional block diagram of the determination unit 25 according to the embodiment. The determining unit 25 includes an interference determining unit 251 and a holding allowance determining unit 252, and outputs candidates 511 of information regarding the holding position. The determining unit 25 performs a process of determining whether or not the data set 411 is included in the candidates 511 for information regarding holding positions. The candidate 511 may consist only of the data set 411, or may include other information, for example, information about the opening width of the fingers 111 and 112. The opening width of the fingers 111 and 112 can be calculated from the information of the point s i and the point l i2 included in the data set 411. In the example of this embodiment, the candidate 511 will be described as one that does not include information on the opening width.

データセット411は、点sと点likとの組み合わせを含むが、そのデータセット411に対応する実際のワークW上の位置でロボットハンド102が保持可能であるとは限らない。そこで、判定部25は、ハンドモデルHMをワークモデルWMの点s及び点likに対して位置決めした位置決め状態で所定条件を満たすかどうか判定し、満たすと判定すれば、当該データセット411を候補511に含める。所定条件を満たす複数のデータセット411が求められた場合には、データセット411と同じ数の複数の候補511が求められる。 Although the data set 411 includes a combination of points s i and l ik , the robot hand 102 is not necessarily able to hold the position on the actual work W corresponding to the data set 411 . Therefore, the determination unit 25 determines whether a predetermined condition is satisfied in the positioning state in which the hand model HM is positioned with respect to the points s i and l ik of the workpiece model WM, and if it is determined that the predetermined condition is satisfied, the data set 411 is Include in candidate 511. When a plurality of data sets 411 satisfying a predetermined condition are obtained, a plurality of candidates 511 in the same number as the data sets 411 are obtained.

ここで、所定条件は、ロボットハンド102がワークWの保持に成功する可能性の高い条件である。所定条件は、以下の条件1,2を含む。
条件1.ハンドモデルHMがワークモデルWMに干渉しないこと。
条件2.ハンドモデルHMの保持代が十分に存在すること。
Here, the predetermined condition is a condition under which the robot hand 102 is likely to successfully hold the workpiece W. The predetermined conditions include conditions 1 and 2 below.
Condition 1. Hand model HM should not interfere with work model WM.
Condition 2. There must be sufficient holding allowance for the hand model HM.

なお、判定部25は、以下の判定処理において、フィンガモデルFM1をワークモデルWMの点sに対して位置決めし、かつフィンガモデルFM2をワークモデルWMの点likに対して位置決めした状態で判定する。より具体的には、判定部25は、フィンガモデルFM1の中心点PC1を点sに対して位置決めし、かつフィンガモデルFM2の中心点PC2を点likに対して位置決めした状態で判定する。 In addition, in the following determination process, the determination unit 25 makes the determination with the finger model FM1 positioned with respect to the point s i of the workpiece model WM, and the finger model FM2 positioned with respect to the point lik of the workpiece model WM. do. More specifically, the determining unit 25 makes the determination while positioning the center point PC1 of the finger model FM1 with respect to the point s i and positioning the center point PC2 of the finger model FM2 with respect to the point l ik .

干渉判定部251は、条件1の判定を行う。即ち、干渉判定部251は、ハンドモデルHMがワークモデルWMに干渉するかどうか判定する。ここで、ハンドモデルHMがワークモデルWMに干渉するとは、ハンドモデルHMがワークモデルWMに重なること、即ちハンドモデルHMがワークモデルWMに埋まることをいう。換言すると、条件1は、ハンドモデルHMがワークモデルWMと重ならないという条件である。つまり、干渉判定部251は、ハンドモデルHMの少なくとも一部がワークモデルWMの少なくとも一部に重なるかどうかを判定する。 The interference determination unit 251 performs the determination of condition 1. That is, the interference determination unit 251 determines whether the hand model HM interferes with the workpiece model WM. Here, the hand model HM interfering with the workpiece model WM means that the hand model HM overlaps the workpiece model WM, that is, the hand model HM is buried in the workpiece model WM. In other words, condition 1 is a condition that the hand model HM does not overlap the workpiece model WM. That is, the interference determination unit 251 determines whether at least a portion of the hand model HM overlaps at least a portion of the workpiece model WM.

図14(a)及び図14(c)の例では、ハンドモデルHMは、ワークモデルWMと干渉していない。即ち、ハンドモデルHMは、ワークモデルWMと重なっていない。一方、図14(b)の例では、ハンドモデルHMのフィンガモデルFMがワークモデルWMに干渉している。つまり、フィンガモデルFMがワークモデルWMに重なる、即ち埋まっている。 In the examples shown in FIGS. 14(a) and 14(c), the hand model HM does not interfere with the workpiece model WM. That is, the hand model HM does not overlap the workpiece model WM. On the other hand, in the example of FIG. 14(b), the finger model FM of the hand model HM interferes with the workpiece model WM. In other words, the finger model FM overlaps with the workpiece model WM, that is, it is buried.

図16(a)は、実施形態に係る干渉判定部251の判定処理の説明図である。1つのデータセット411に着目して説明する。当該データセット411は、点s及び点likの情報を含む。干渉判定部251は、ワークモデルWMの点sにおける法線ベクトルnの方向に所定の距離D1だけ離れた位置にハンドモデルHMを位置決めし、ハンドモデルHMがワークモデルWMと干渉するかどうか判定する。干渉する判定されたデータセット411は、候補から除外される。図14(a)~図14(c)の例では、データセット411は候補から除外され、データセット411,411は保持代判定部252の判定対象となる。 FIG. 16A is an explanatory diagram of determination processing by the interference determination unit 251 according to the embodiment. The explanation will focus on one data set 411. The data set 411 includes information on points s i and l ik . The interference determination unit 251 positions the hand model HM at a position separated by a predetermined distance D1 in the direction of the normal vector n i at the point s i of the workpiece model WM, and determines whether the hand model HM interferes with the workpiece model WM. judge. Data sets 411 that are determined to interfere are excluded from the candidates. In the examples shown in FIGS. 14(a) to 14(c), the data set 411 2 is excluded from the candidates, and the data sets 411 1 and 411 3 are determined by the retention allowance determination unit 252.

保持代判定部252は、条件2の判定を行う。即ち、保持代判定部252は、干渉判定部251で干渉しないと判定されたデータセット411に対して、ハンドモデルHMの領域R1,R2における保持代を評価する。本実施形態では、ロボットハンド102は、2つのフィンガ111,112を含む。即ち、ハンドモデルHMは、2つのフィンガモデルFM1,FM2を含む。よって、本実施形態では、保持代判定部252は、2つのフィンガモデルFM1,FM2の各々について条件2の判定を行う。即ち、条件2は、ハンドモデルHMのフィンガモデルFM1において、ワークモデルWMの点sを含む領域と接触し得る部分の面積が所定面積以上という条件と、ハンドモデルHMのフィンガモデルFM2において、ワークモデルWMの点likを含む領域と接触し得る部分の面積が所定面積以上という条件と、を含む。 The holding allowance determination unit 252 performs the determination of condition 2. That is, the holding allowance determining unit 252 evaluates the holding allowance in the regions R1 and R2 of the hand model HM with respect to the data set 411 determined by the interference determining unit 251 to not interfere. In this embodiment, the robot hand 102 includes two fingers 111 and 112. That is, the hand model HM includes two finger models FM1 and FM2. Therefore, in this embodiment, the holding allowance determination unit 252 performs the determination of Condition 2 for each of the two finger models FM1 and FM2. In other words, condition 2 is that the area of the part of the finger model FM1 of the hand model HM that can come into contact with the area including point s i of the workpiece model WM is equal to or larger than a predetermined area, and that the finger model FM2 of the hand model HM has This includes the condition that the area of the part that can come into contact with the area including the point lik of the model WM is equal to or larger than a predetermined area.

以下、フィンガモデルFM1に対する判定処理について説明し、フィンガモデルFM2に対する判定処理は、フィンガモデルFM1に対する判定処理と同様であるため、説明を省略する。図16(b)は、実施形態に係る保持代判定部252の判定処理の説明図である。保持代の評価においては、ロボットハンド102がワークWを保持するにあたり、ロボットハンド102がワークWに接触し得る領域の面積、即ちハンドモデルHMがワークモデルWMに接触し得る領域の面積を用いる。ハンドモデルHMのフィンガモデルFM1がワークモデルWMに接触し得る領域の面積をA1とする。また、上述した領域R1の面積をA2とする。 The determination process for finger model FM1 will be described below, and the determination process for finger model FM2 will be omitted because it is the same as the determination process for finger model FM1. FIG. 16(b) is an explanatory diagram of determination processing by the holding allowance determination unit 252 according to the embodiment. In evaluating the holding allowance, when the robot hand 102 holds the workpiece W, the area of the area where the robot hand 102 can come into contact with the workpiece W, that is, the area of the area where the hand model HM can come into contact with the workpiece model WM is used. Let A1 be the area of the region where the finger model FM1 of the hand model HM can come into contact with the workpiece model WM. Further, the area of the above-mentioned region R1 is assumed to be A2.

保持代の割合pcは、以下の式(6)で表される。

Figure 2023171034000006
The retention allowance ratio pc is expressed by the following equation (6).
Figure 2023171034000006

本実施形態では、保持代判定部252は、割合pcが閾値tc(0≦tc≦1)以上であるかどうか判定する。面積A1は、領域R1に含まれる領域の面積である。面積A1は、フィンガモデルFM1の領域R1に対する距離がD1±ΔdとなるワークモデルWMにおける部分を、点sにおける法線ベクトルnの方向に投影した部分の面積である。面積A1は、ハンドモデルHMにおいて、ワークモデルWMの点sを含む領域と接触し得る部分の面積でもある。即ち、ロボットハンド102がワークWに接触し得る領域の面積でもある。このように、保持代判定部252は、点sに対応する面積A1を算出する。なお、点likについても同様であり、保持代判定部252は、点likに対応する面積A1を算出する。なお、面積A2及び閾値tcは定数である。 In this embodiment, the holding allowance determination unit 252 determines whether the ratio pc is equal to or greater than a threshold value tc (0≦tc≦1). Area A1 is the area of a region included in region R1. The area A1 is the area of a portion of the workpiece model WM where the distance from the region R1 of the finger model FM1 is D1±Δd is projected in the direction of the normal vector n i at the point s i . The area A1 is also the area of a portion of the hand model HM that can come into contact with the area including the point s i of the workpiece model WM. In other words, it is also the area of the area where the robot hand 102 can come into contact with the workpiece W. In this way, the holding margin determining unit 252 calculates the area A1 corresponding to the point s i . Note that the same applies to the point l ik , and the holding margin determining unit 252 calculates the area A1 corresponding to the point l ik . Note that the area A2 and the threshold value tc are constants.

保持代判定部252は、2つのフィンガモデルFM1,FM2について割合pcが閾値tc以上と判定されたデータセット411を保持位置に関する情報の候補511に含める。2つのフィンガモデルFM1,FM2の一方又は両方について割合pcが閾値tc未満と判定されたデータセット411は、候補511とはならず除外される。このように、判定部25の処理により、ワークWの保持に成功する可能性の高いデータセット411のみが候補511として残される。閾値tcは、0.3以上とすることが好ましい。 The holding allowance determination unit 252 includes the data set 411 in which the ratio pc of the two finger models FM1 and FM2 is determined to be equal to or greater than the threshold value tc as the candidate for information regarding the holding position 511. Data sets 411 for which the proportion pc of one or both of the two finger models FM1 and FM2 is determined to be less than the threshold tc are not selected as candidates 511 and are excluded. In this manner, through the processing of the determination unit 25, only the data set 411 that is highly likely to successfully hold the workpiece W is left as the candidate 511. It is preferable that the threshold value tc is 0.3 or more.

なお、保持代判定部252は、割合pcで判定するものしたが、これに限定されるものではない。面積A2及び閾値tcは、定数である。面積A1は、保持代判定部252に求められる面積である。したがって、保持代判定部252は、面積A1が所定面積以上であるかどうかを直接判定してもよい。所定面積は、A2×tcである。即ち、割合pcで判定することは、面積A1で判定することと同義であり、間接的に面積A1が所定面積以上であるかどうかを判定していることになる。そして、面積A1が所定面積以上であるデータセット411を保持位置に関する情報の候補511とすればよい。 Note that, although the holding allowance determining unit 252 makes the determination based on the percentage pc, the present invention is not limited to this. Area A2 and threshold tc are constants. The area A1 is the area required by the holding allowance determination unit 252. Therefore, the holding allowance determination unit 252 may directly determine whether the area A1 is equal to or larger than a predetermined area. The predetermined area is A2×tc. That is, determining based on the ratio pc is synonymous with determining based on the area A1, and indirectly determines whether the area A1 is greater than or equal to a predetermined area. Then, the data set 411 whose area A1 is equal to or larger than a predetermined area may be set as the candidate 511 for information regarding the holding position.

また、干渉判定部251および保持代判定部252の処理の順番は、入れ替えてもよい。また、判定部25の処理は、探索部24において、法線取得部241又は交差算出部243の後に行ってもよい。また、探索部24において、点sの法線ベクトルと点likの法線ベクトルとの間の角度が90度以下である場合、例えば0度である場合、判定対象のデータセットから除外することで判定部25の処理を高速化することが可能である。 Further, the order of processing by the interference determining section 251 and the holding allowance determining section 252 may be reversed. Further, the processing of the determination unit 25 may be performed after the normal acquisition unit 241 or the intersection calculation unit 243 in the search unit 24. In addition, in the search unit 24, if the angle between the normal vector of point s i and the normal vector of point l ik is 90 degrees or less, for example, 0 degrees, it is excluded from the data set to be determined. This makes it possible to speed up the processing of the determination unit 25.

データ出力部26について、図17を用いて説明する。図17は、実施形態に係るデータ出力部26の機能ブロック図である。データ出力部26は、可視化部261、選択部262、座標変換部263、及び書き出し部264を含み、保持位置に関する情報611を出力する。 The data output section 26 will be explained using FIG. 17. FIG. 17 is a functional block diagram of the data output unit 26 according to the embodiment. The data output unit 26 includes a visualization unit 261, a selection unit 262, a coordinate conversion unit 263, and a writing unit 264, and outputs information 611 regarding the holding position.

判定部25によって算出された保持位置に関する情報の候補511は、ロボットコントローラ300が使用するために、データ出力部26によって保持位置に関する情報611としてロボットコントローラ300に受け渡される。ロボットコントローラ300は、保持位置に関する情報611に基づきロボット100を制御して、ばら積みされたワークWをピッキングする作業等を行うことができる。 The holding position information candidates 511 calculated by the determination unit 25 are passed to the robot controller 300 as holding position information 611 by the data output unit 26 for use by the robot controller 300. The robot controller 300 can control the robot 100 based on the holding position information 611 to perform tasks such as picking workpieces W that are stacked in bulk.

本実施形態では、ロボットコントローラ300のCPU351は、カメラ401によってワークWを撮像することにより撮像画像データからワークWの位置姿勢の情報を取得し、ワークWの保持位置に関する情報611に基づいてワークWを保持するようにロボットアーム101及びロボットハンド102を制御する。これにより、ばら積みされたワークWをピッキングするピッキング作業をロボット100に行わせることができる。 In this embodiment, the CPU 351 of the robot controller 300 acquires information on the position and orientation of the workpiece W from the captured image data by capturing an image of the workpiece W with the camera 401, and acquires information on the position and orientation of the workpiece W based on information 611 regarding the holding position of the workpiece W. The robot arm 101 and the robot hand 102 are controlled to hold the robot arm 101 and the robot hand 102. Thereby, the robot 100 can perform a picking operation of picking the works W that are stacked in bulk.

具体的な例を挙げて説明すると、ロボットコントローラ300のCPU351は、撮像画像データから取得したワークWの位置姿勢情報と、保持位置に関する情報611に含まれる点情報とを、ロボット座標系へ変換し、ワークWを保持する際のロボット100の姿勢を求める。そして、CPU351は、ロボット100が周囲の物体と干渉しないよう、ロボット100の可動範囲でロボット100の軌道データを生成する。そして、CPU351は、軌道データに従ってロボット100を制御することで、ロボット100にワークWをピッキングさせる。その後、CPU51は、ワークWを他のワークに組み付ける作業等をロボット100に行わせる。 To explain with a specific example, the CPU 351 of the robot controller 300 converts the position and orientation information of the workpiece W acquired from the captured image data and the point information included in the information 611 regarding the holding position into the robot coordinate system. , the posture of the robot 100 when holding the workpiece W is determined. Then, the CPU 351 generates trajectory data of the robot 100 within the movable range of the robot 100 so that the robot 100 does not interfere with surrounding objects. Then, the CPU 351 causes the robot 100 to pick the workpiece W by controlling the robot 100 according to the trajectory data. Thereafter, the CPU 51 causes the robot 100 to perform tasks such as assembling the workpiece W to another workpiece.

なお、保持位置に関する情報611に含まれる、上述した点s及び点likの情報は、ワーク座標系の座標情報であっても、ロボット座標系の座標情報であってもよい。上述した点s及び点likの情報がロボット座標系の座標情報であれば、ロボットコントローラ300は、座標変換の処理を省略することができる。なお、座標情報は、3つの位置座標及び3つの角度座標の情報を含む。また、保持位置に関する情報611は、ロボットハンド102のフィンガ111,112の開き幅などの情報も付加的に含んでもよい。 Note that the information on the above-mentioned points s i and l ik included in the information 611 regarding the holding position may be coordinate information of the workpiece coordinate system or coordinate information of the robot coordinate system. If the information on the points s i and l ik described above is coordinate information in the robot coordinate system, the robot controller 300 can omit the coordinate transformation process. Note that the coordinate information includes information on three position coordinates and three angular coordinates. Further, the information 611 regarding the holding position may additionally include information such as the opening width of the fingers 111 and 112 of the robot hand 102.

図18は、実施形態に係るユーザインタフェース(UI)画像UI1の説明図である。可視化部261は、図2に示すディスプレイ202に図18に示すUI画像UI1を表示する表示処理を実行する。UI画像UI1は、グラフィカルユーザインタフェースとなる画像である。UI画像UI1は、画像表示部601、選択受付部602、及び出力ボタン603等を有する。 FIG. 18 is an explanatory diagram of a user interface (UI) image UI1 according to the embodiment. The visualization unit 261 executes display processing to display the UI image UI1 shown in FIG. 18 on the display 202 shown in FIG. 2. The UI image UI1 is an image that serves as a graphical user interface. The UI image UI1 includes an image display section 601, a selection reception section 602, an output button 603, and the like.

可視化部261は、画像表示部601においてワークモデルWMに対応するワーク画像WIを表示する。ワーク画像WIは、第1画像の一例である。また、可視化部261は、候補511に対応する候補画像511Iを、ユーザが選択可能にワーク画像WI上に表示する。候補画像511Iは、第2画像の一例である。また、可視化部261は、仮想直線L1に対応する画像LIをワーク画像WIと重ねて表示する。 The visualization unit 261 displays a work image WI corresponding to the work model WM on the image display unit 601. Work image WI is an example of the first image. Furthermore, the visualization unit 261 displays a candidate image 511I corresponding to the candidate 511 on the work image WI so that the user can select it. Candidate image 511I is an example of the second image. Furthermore, the visualization unit 261 displays the image LI corresponding to the virtual straight line L1 in an overlapping manner with the workpiece image WI.

選択部262は、ユーザにより、又は自動で候補511を選択する。選択部262は、ユーザによる候補511の選択を、図18に示す選択受付部602より受け付ける。選択部262は、例えば選択中の候補画像511Iを強調表示するなどして選択中であることを表示する。 The selection unit 262 selects the candidate 511 by the user or automatically. The selection unit 262 receives the user's selection of the candidate 511 from the selection reception unit 602 shown in FIG. The selection unit 262 displays the currently selected candidate image 511I by highlighting it, for example, to indicate that it is being selected.

ユーザは、画像表示部601に表示された画像を参考にしながら、選択受付部602等を操作することで、保持位置に関する情報611に含めようとする候補511の追加及び削除を選択することができる。また、選択部626は、画像表示部601に表示されている候補画像511Iをユーザがマウスポインタ等で選択することで、保持位置に関する情報611に含めようとする候補511の追加及び削除を選択することができる。また、選択部626は、複数の候補511の中から冗長な候補を削除する処理を自動で行ってもよい。例えば、選択部626は、2つの候補511を比較し、候補511間の距離の合計及び/又は角度が閾値以下である候補511のうち、保持代が所定値より小さいものを削除する処理を行ってもよい。 The user can select addition or deletion of the candidate 511 to be included in the information 611 regarding the holding position by operating the selection reception unit 602 or the like while referring to the image displayed on the image display unit 601. . Further, the selection unit 626 selects addition or deletion of the candidate image 511 to be included in the information 611 regarding the holding position by the user selecting the candidate image 511I displayed on the image display unit 601 with a mouse pointer or the like. be able to. Further, the selection unit 626 may automatically perform a process of deleting redundant candidates from among the plurality of candidates 511. For example, the selection unit 626 performs a process of comparing two candidates 511 and deleting one whose retention allowance is smaller than a predetermined value among the candidates 511 whose total distance and/or angle between the candidates 511 is less than or equal to a threshold value. It's okay.

選択部262は、出力ボタン603が操作された場合、選択された候補画像511Iに対応する候補511を、出力対象である保持位置に関する情報611に含める。 When the output button 603 is operated, the selection unit 262 includes the candidate 511 corresponding to the selected candidate image 511I in the information 611 regarding the holding position to be output.

座標変換部263は、必要に応じて、保持位置に関する情報611に含まれる点情報の座標を変換する。なお、座標変換部263の処理は、省略してもよい。 The coordinate conversion unit 263 converts the coordinates of the point information included in the information 611 regarding the holding position, as necessary. Note that the processing of the coordinate transformation unit 263 may be omitted.

書き出し部264は、保持位置に関する情報611を、例えばカンマ区切りのテキストファイル形式でファイルに出力する。生成されたファイルは、ロボットコントローラ300に出力される。 The writing unit 264 outputs the information 611 regarding the holding position to a file in, for example, a comma-delimited text file format. The generated file is output to the robot controller 300.

保持位置に関する情報611は、点s及び点likの情報を含む。点s及び点likの座標情報は、ワーク座標系で表現されていてもよいし、座標変換部263によって変換処理が施されていれば、ロボット座標系で表現されていてもよい。また、保持位置に関する情報611には、フィンガ111,112の開き幅の情報が含まれていてもよい。また、保持位置に関する情報611には、その他の情報、例えば保持面積等の追加情報が含まれていてもよい。 The information 611 regarding the holding position includes information about the point s i and the point l ik . The coordinate information of the point s i and the point l ik may be expressed in the workpiece coordinate system, or may be expressed in the robot coordinate system if the coordinate transformation unit 263 performs transformation processing. Further, the information 611 regarding the holding position may include information on the opening width of the fingers 111 and 112. Further, the information 611 regarding the holding position may include other information such as additional information such as holding area.

このように、データ出力部26は、UI画像UI1においてユーザにより選択された候補画像511Iに対応する候補511に基づいて保持位置に関する情報611を生成し、当該保持位置に関する情報611をロボットコントローラ300へ出力する。 In this way, the data output unit 26 generates information 611 regarding the holding position based on the candidate 511 corresponding to the candidate image 511I selected by the user in the UI image UI1, and sends the information 611 regarding the holding position to the robot controller 300. Output.

本実施形態によれば、情報処理部20が候補511、即ち保持位置に関する情報611を求める際に仮想直線により保持位置の候補として判定する点を減らすことができ、情報処理部20の演算負荷を低減することができる。よって、ワークWの種類が複数ある場合には、ワークWの種類ごとに演算を行う必要があるため、情報処理部20の演算負荷が低減されることにより、情報処理部20の演算時間を短縮することができる。そして、ロボット100においては、ばら積みされたワークWのピッキングの成功率も高めることができる。 According to this embodiment, when the information processing unit 20 obtains the candidates 511, that is, the information 611 regarding the holding positions, it is possible to reduce the number of points determined as holding position candidates using virtual straight lines, and the calculation load on the information processing unit 20 is reduced. can be reduced. Therefore, when there are multiple types of workpieces W, it is necessary to perform calculations for each type of workpiece W, so the calculation load on the information processing section 20 is reduced, thereby shortening the calculation time of the information processing section 20. can do. In addition, in the robot 100, the success rate of picking workpieces W stacked in bulk can also be increased.

本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。また、実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されない。 The present invention is not limited to the embodiments described above, and many modifications can be made within the technical idea of the present invention. Furthermore, the effects described in the embodiments are merely a list of the most preferable effects resulting from the present invention, and the effects of the present invention are not limited to those described in the embodiments.

上述の実施形態では、ロボットアーム101が垂直多関節のロボットアームの場合について説明したが、これに限定されるものではない。ロボットアーム101が、例えば、水平多関節のロボットアーム、パラレルリンクのロボットアーム、直交ロボット等、種々のロボットアームであってもよい。また、制御装置に設けられる記憶装置の情報に基づき、伸縮、屈伸、上下移動、左右移動もしくは旋回の動作またはこれらの複合動作を自動的に行うことができる機械についても本発明は適用可能である。 In the above-described embodiment, a case has been described in which the robot arm 101 is a vertically articulated robot arm, but the present invention is not limited to this. The robot arm 101 may be any of various robot arms, such as a horizontal multi-joint robot arm, a parallel link robot arm, or an orthogonal robot. Furthermore, the present invention is also applicable to machines that can automatically extend and contract, bend and stretch, move up and down, move left and right, or turn, or a combination of these actions, based on information in a storage device provided in a control device. .

また、上述の実施形態では、撮像装置がカメラ401である場合について説明したが、これに限定されるものではない。撮像装置が、例えばスマートフォン、タブレットPC、及びゲーム機といったモバイル通信機器、並びにウェアラブル機器など、イメージセンサを搭載した電子機器であってもよい。 Further, in the above-described embodiment, the case where the imaging device is the camera 401 has been described, but the present invention is not limited to this. The imaging device may be an electronic device equipped with an image sensor, such as a mobile communication device such as a smartphone, a tablet PC, and a game console, or a wearable device.

(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(Other examples)
The present invention provides a system or device with a program that implements one or more functions of the embodiments described above via a network or a storage medium, and one or more processors in a computer of the system or device reads and executes the program. This can also be achieved by processing. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.

以上の実施形態の開示は、以下の構成および方法を含む。 The disclosure of the above embodiments includes the following configurations and methods.

(構成1)
保持位置に関する情報を出力する情報処理部を備える情報処理装置であって、
前記情報処理部は、
形状データであるワークモデル及びハンドモデルを取得する処理と、
前記ワークモデルに第1点を設定する処理と、
前記第1点において前記ワークモデルと交差する仮想直線を設定する処理と、
前記仮想直線が前記第1点以外で前記ワークモデルと交差する場合、前記ワークモデルにおいて前記仮想直線と交差する第2点を取得する処理と、を実行する、
ことを特徴とする情報処理装置。
(Configuration 1)
An information processing device comprising an information processing unit that outputs information regarding a holding position,
The information processing unit includes:
A process of acquiring a work model and a hand model, which are shape data,
a process of setting a first point on the work model;
a process of setting a virtual straight line that intersects the work model at the first point;
If the virtual straight line intersects the work model at a point other than the first point, acquiring a second point intersecting the virtual straight line in the work model;
An information processing device characterized by:

(構成2)
前記情報処理部は、
前記第1点及び前記第2点の情報を、前記保持位置に関する情報の候補に含めるかどうか判定する処理を実行する、
ことを特徴とする構成1に記載の情報処理装置。
(Configuration 2)
The information processing unit includes:
executing a process of determining whether information on the first point and the second point is included in candidates for information regarding the holding position;
The information processing device according to configuration 1, characterized in that:

(構成3)
前記情報処理部は、
前記判定する処理において、前記ハンドモデルを前記ワークモデルの前記第1点及び前記第2点に対して位置決めした位置決め状態で所定条件を満たせば、前記第1点及び前記第2点を前記候補に含める、
ことを特徴とする構成2に記載の情報処理装置。
(Configuration 3)
The information processing unit includes:
In the determining process, if a predetermined condition is satisfied in the positioning state in which the hand model is positioned with respect to the first point and the second point of the workpiece model, the first point and the second point are selected as the candidates. include,
The information processing device according to configuration 2, characterized in that:

(構成4)
前記ハンドモデルは、互いに近接及び離間可能な第1フィンガモデル及び第2フィンガモデルを有し、
前記位置決め状態は、前記第1フィンガモデルを前記第1点に対して位置決めし、かつ前記第2フィンガモデルを前記第2点に対して位置決めした状態である、
ことを特徴とする構成3に記載の情報処理装置。
(Configuration 4)
The hand model has a first finger model and a second finger model that can approach and separate from each other,
The positioning state is a state in which the first finger model is positioned with respect to the first point, and the second finger model is positioned with respect to the second point.
The information processing device according to configuration 3, characterized in that:

(構成5)
前記位置決め状態は、前記第1フィンガモデルの第1所定点を前記第1点に対して位置決めし、かつ前記第2フィンガモデルの第2所定点を前記第2点に対して位置決めした状態である、
ことを特徴とする構成4に記載の情報処理装置。
(Configuration 5)
The positioning state is a state in which a first predetermined point of the first finger model is positioned with respect to the first point, and a second predetermined point of the second finger model is positioned with respect to the second point. ,
The information processing device according to configuration 4, characterized in that:

(構成6)
前記所定条件は、前記ハンドモデルが前記ワークモデルと重ならないという条件を含む、
ことを特徴とする構成3乃至5のいずれか1項に記載の情報処理装置。
(Configuration 6)
The predetermined condition includes a condition that the hand model does not overlap the workpiece model.
The information processing device according to any one of configurations 3 to 5, characterized in that:

(構成7)
前記所定条件は、前記ハンドモデルにおいて、前記ワークモデルの前記第1点を含む領域と接触し得る部分の面積が所定面積以上という条件を含む、
ことを特徴とする構成3乃至6のいずれか1項に記載の情報処理装置。
(Configuration 7)
The predetermined condition includes a condition that, in the hand model, the area of a portion of the workpiece model that can come into contact with a region including the first point is equal to or larger than a predetermined area;
The information processing device according to any one of configurations 3 to 6, characterized in that:

(構成8)
前記所定条件は、前記ハンドモデルにおいて、前記ワークモデルの前記第2点を含む領域と接触し得る部分の面積が所定面積以上という条件を含む、
ことを特徴とする構成3乃至7のいずれか1項に記載の情報処理装置。
(Configuration 8)
The predetermined condition includes a condition that, in the hand model, the area of a portion of the workpiece model that can come into contact with a region including the second point is equal to or larger than a predetermined area.
The information processing device according to any one of configurations 3 to 7, characterized in that:

(構成9)
前記ハンドモデルは、互いに近接及び離間可能な第1フィンガモデル及び第2フィンガモデルを有し、
前記情報処理部は、
前記仮想直線を設定する処理において、前記第1フィンガモデルを前記ワークモデルの前記第1点に対して位置決めした状態において、前記第1フィンガモデルから前記第2フィンガモデルへ向かう所定方向と平行な方向に延びるように、前記仮想直線を設定する、
ことを特徴とする構成1乃至8のいずれか1項に記載の情報処理装置。
(Configuration 9)
The hand model has a first finger model and a second finger model that can approach and separate from each other,
The information processing unit includes:
In the process of setting the virtual straight line, in a state in which the first finger model is positioned with respect to the first point of the workpiece model, a direction parallel to a predetermined direction from the first finger model toward the second finger model; setting the virtual straight line so that it extends to
9. The information processing device according to any one of configurations 1 to 8, characterized in that:

(構成10)
前記所定方向は、前記第1フィンガモデルの第1所定点から前記第2フィンガモデルの第2所定点へ向かう方向である、
ことを特徴とする構成9に記載の情報処理装置。
(Configuration 10)
The predetermined direction is a direction from a first predetermined point of the first finger model to a second predetermined point of the second finger model,
The information processing device according to configuration 9, characterized in that:

(構成11)
前記情報処理部は、
前記仮想直線を設定する処理において、前記ワークモデルの前記第1点における法線と、前記第1フィンガモデルの前記第1所定点における法線とが一致するように、前記第1フィンガモデルを前記ワークモデルの前記第1点に対して位置決めする、
ことを特徴とする構成10に記載の情報処理装置。
(Configuration 11)
The information processing unit includes:
In the process of setting the virtual straight line, the first finger model is set so that the normal line at the first point of the work model matches the normal line at the first predetermined point of the first finger model. positioning with respect to the first point of the workpiece model;
The information processing device according to configuration 10, characterized in that:

(構成12)
前記情報処理部は、
前記仮想直線を設定する処理において、前記第1所定点が前記第1点と重なるように前記第1フィンガモデルを前記ワークモデルの前記第1点に対して位置決めする、
ことを特徴とする構成10に記載の情報処理装置。
(Configuration 12)
The information processing unit includes:
In the process of setting the virtual straight line, positioning the first finger model with respect to the first point of the workpiece model so that the first predetermined point overlaps the first point;
The information processing device according to configuration 10, characterized in that:

(構成13)
前記情報処理部は、
前記仮想直線を設定する処理において、前記第1点において互いに異なる方向に延びるように複数の前記仮想直線を設定する、
ことを特徴とする構成1乃至12のいずれか1項に記載の情報処理装置。
(Configuration 13)
The information processing unit includes:
In the process of setting the virtual straight line, setting a plurality of virtual straight lines so as to extend in mutually different directions at the first point;
The information processing device according to any one of Configurations 1 to 12, characterized in that:

(構成14)
前記情報処理部は、
前記仮想直線を設定する処理において、前記複数の仮想直線のうち、1つの仮想直線以外の仮想直線を、前記1つの仮想直線に対して所定角度範囲で交差するように設定する、
ことを特徴とする構成13に記載の情報処理装置。
(Configuration 14)
The information processing unit includes:
In the process of setting the virtual straight line, a virtual straight line other than one virtual straight line among the plurality of virtual straight lines is set to intersect the one virtual straight line within a predetermined angular range;
The information processing device according to configuration 13, characterized in that:

(構成15)
前記所定角度範囲は1度以上5度以下である、
ことを特徴とする構成14に記載の情報処理装置。
(Configuration 15)
The predetermined angle range is 1 degree or more and 5 degrees or less,
15. The information processing device according to configuration 14.

(構成16)
前記ワークモデルは、複数のポリゴンにより表現されたデータである、
ことを特徴とする構成1乃至15のいずれか1項に記載の情報処理装置。
(Configuration 16)
The work model is data expressed by a plurality of polygons,
The information processing device according to any one of Configurations 1 to 15, characterized in that:

(構成17)
前記ポリゴンが三角形である、
ことを特徴とする構成16に記載の情報処理装置。
(Configuration 17)
the polygon is a triangle;
17. The information processing device according to configuration 16.

(構成18)
前記情報処理部は、
前記第1点を設定する処理において、前記複数のポリゴンの各々に、少なくとも1つの前記第1点を設定する、
ことを特徴とする構成16に記載の情報処理装置。
(Configuration 18)
The information processing unit includes:
In the process of setting the first point, setting at least one first point for each of the plurality of polygons;
17. The information processing device according to configuration 16.

(構成19)
前記少なくとも1つの第1点が複数の第1点である、
ことを特徴とする構成18に記載の情報処理装置。
(Configuration 19)
the at least one first point is a plurality of first points;
19. The information processing device according to configuration 18.

(構成20)
前記複数の第1点は、互いに等間隔に配置されている、
ことを特徴とする構成19に記載の情報処理装置。
(Configuration 20)
The plurality of first points are arranged at equal intervals from each other,
The information processing device according to configuration 19, characterized in that:

(構成21)
前記情報処理部は、
前記ワークモデルに対応する第1画像を表示部に表示する処理を実行する、
ことを特徴とする構成1乃至20のいずれか1項に記載の情報処理装置。
(Configuration 21)
The information processing unit includes:
executing a process of displaying a first image corresponding to the workpiece model on a display unit;
21. The information processing device according to any one of Configurations 1 to 20, characterized in that:

(構成22)
前記情報処理部は、
前記第1点を設定する処理において、前記第1画像にて選択された点に対応する前記ワークモデルの点を前記第1点に設定する、
ことを特徴とする構成21に記載の情報処理装置。
(Configuration 22)
The information processing unit includes:
In the process of setting the first point, a point on the workpiece model corresponding to the point selected in the first image is set as the first point;
The information processing device according to configuration 21, characterized in that:

(構成23)
前記情報処理部は、
前記表示する処理において、前記候補に対応する第2画像を、選択可能に前記第1画像上に表示する、
ことを特徴とする構成22に記載の情報処理装置。
(Configuration 23)
The information processing unit includes:
In the displaying process, a second image corresponding to the candidate is selectably displayed on the first image;
The information processing device according to configuration 22, characterized in that:

(構成24)
前記情報処理部は、選択された前記第2画像に対応する前記候補に基づいて前記保持位置に関する情報を出力する、
ことを特徴とする構成23に記載の情報処理装置。
(Configuration 24)
The information processing unit outputs information regarding the holding position based on the candidate corresponding to the selected second image.
24. The information processing device according to configuration 23.

(構成25)
構成1乃至24のいずれか1項に記載の情報処理装置と、
ロボットハンドを有するロボットと、
前記ロボットを制御する制御部と、を備え、
前記制御部は、前記保持位置に関する情報に基づき前記ロボットを制御して前記ロボットハンドにワークを保持させる、
ことを特徴とするロボットシステム。
(Configuration 25)
The information processing device according to any one of Configurations 1 to 24;
A robot with a robot hand,
A control unit that controls the robot,
The control unit controls the robot based on information regarding the holding position to cause the robot hand to hold the workpiece.
A robot system characterized by:

(方法26)
保持位置に関する情報を出力する情報処理方法であって、
形状データであるワークモデル及びハンドモデルを取得し、
前記ワークモデルに第1点を設定し、
前記第1点において前記ワークモデルと交差する仮想直線を設定し、
前記仮想直線が前記第1点以外で前記ワークモデルと交差する場合、前記ワークモデルにおいて前記仮想直線と交差する第2点を取得する、
ことを特徴とする情報処理方法。
(Method 26)
An information processing method for outputting information regarding holding positions, the method comprising:
Obtain the work model and hand model, which are shape data,
Setting a first point on the work model,
setting a virtual straight line that intersects the work model at the first point;
If the virtual straight line intersects the work model at a point other than the first point, obtaining a second point in the work model that intersects the virtual straight line;
An information processing method characterized by:

(方法27)
構成25に記載のロボットシステムにより物品を製造する物品の製造方法。
(Method 27)
A method for manufacturing an article, comprising manufacturing the article using the robot system according to configuration 25.

(構成28)
方法26に記載の情報処理方法をコンピュータに実行させるためのプログラム。
(Configuration 28)
A program for causing a computer to execute the information processing method described in Method 26.

(構成29)
構成28に記載のプログラムを記録したコンピュータによって読み取り可能な記録媒体。
(Configuration 29)
A computer-readable recording medium having recorded thereon the program according to configuration 28.

HM…ハンドモデル、WM…ワークモデル、10…ロボットシステム、20…情報処理部、200…画像処理装置(情報処理装置) HM...hand model, WM...work model, 10...robot system, 20...information processing unit, 200...image processing device (information processing device)

Claims (29)

保持位置に関する情報を出力する情報処理部を備える情報処理装置であって、
前記情報処理部は、
形状データであるワークモデル及びハンドモデルを取得する処理と、
前記ワークモデルに第1点を設定する処理と、
前記第1点において前記ワークモデルと交差する仮想直線を設定する処理と、
前記仮想直線が前記第1点以外で前記ワークモデルと交差する場合、前記ワークモデルにおいて前記仮想直線と交差する第2点を取得する処理と、を実行する、
ことを特徴とする情報処理装置。
An information processing device comprising an information processing unit that outputs information regarding a holding position,
The information processing unit includes:
A process of acquiring a work model and a hand model, which are shape data,
a process of setting a first point on the work model;
a process of setting a virtual straight line that intersects the work model at the first point;
If the virtual straight line intersects the work model at a point other than the first point, acquiring a second point intersecting the virtual straight line in the work model;
An information processing device characterized by:
前記情報処理部は、
前記第1点及び前記第2点の情報を、前記保持位置に関する情報の候補に含めるかどうか判定する処理と、を実行する、
ことを特徴とする請求項1に記載の情報処理装置。
The information processing unit includes:
executing a process of determining whether information on the first point and the second point is included in candidates for information regarding the holding position;
The information processing device according to claim 1, characterized in that:
前記情報処理部は、
前記判定する処理において、前記ハンドモデルを前記ワークモデルの前記第1点及び前記第2点に対して位置決めした位置決め状態で所定条件を満たせば、前記第1点及び前記第2点を前記候補に含める、
ことを特徴とする請求項2に記載の情報処理装置。
The information processing unit includes:
In the determining process, if a predetermined condition is satisfied in the positioning state in which the hand model is positioned with respect to the first point and the second point of the workpiece model, the first point and the second point are selected as the candidates. include,
The information processing device according to claim 2, characterized in that:
前記ハンドモデルは、互いに近接及び離間可能な第1フィンガモデル及び第2フィンガモデルを有し、
前記位置決め状態は、前記第1フィンガモデルを前記第1点に対して位置決めし、かつ前記第2フィンガモデルを前記第2点に対して位置決めした状態である、
ことを特徴とする請求項3に記載の情報処理装置。
The hand model has a first finger model and a second finger model that can approach and separate from each other,
The positioning state is a state in which the first finger model is positioned with respect to the first point, and the second finger model is positioned with respect to the second point.
The information processing device according to claim 3, characterized in that:
前記位置決め状態は、前記第1フィンガモデルの第1所定点を前記第1点に対して位置決めし、かつ前記第2フィンガモデルの第2所定点を前記第2点に対して位置決めした状態である、
ことを特徴とする請求項4に記載の情報処理装置。
The positioning state is a state in which a first predetermined point of the first finger model is positioned with respect to the first point, and a second predetermined point of the second finger model is positioned with respect to the second point. ,
The information processing device according to claim 4, characterized in that:
前記所定条件は、前記ハンドモデルが前記ワークモデルと重ならないという条件を含む、
ことを特徴とする請求項3に記載の情報処理装置。
The predetermined condition includes a condition that the hand model does not overlap the workpiece model.
The information processing device according to claim 3, characterized in that:
前記所定条件は、前記ハンドモデルにおいて、前記ワークモデルの前記第1点を含む領域と接触し得る部分の面積が所定面積以上という条件を含む、
ことを特徴とする請求項3に記載の情報処理装置。
The predetermined condition includes a condition that, in the hand model, the area of a portion of the workpiece model that can come into contact with a region including the first point is equal to or larger than a predetermined area;
The information processing device according to claim 3, characterized in that:
前記所定条件は、前記ハンドモデルにおいて、前記ワークモデルの前記第2点を含む領域と接触し得る部分の面積が所定面積以上という条件を含む、
ことを特徴とする請求項3に記載の情報処理装置。
The predetermined condition includes a condition that, in the hand model, the area of a portion of the workpiece model that can come into contact with a region including the second point is equal to or larger than a predetermined area.
The information processing device according to claim 3, characterized in that:
前記ハンドモデルは、互いに近接及び離間可能な第1フィンガモデル及び第2フィンガモデルを有し、
前記情報処理部は、
前記仮想直線を設定する処理において、前記第1フィンガモデルを前記ワークモデルの前記第1点に対して位置決めした状態において、前記第1フィンガモデルから前記第2フィンガモデルへ向かう所定方向と平行な方向に延びるように、前記仮想直線を設定する、
ことを特徴とする請求項1に記載の情報処理装置。
The hand model has a first finger model and a second finger model that can approach and separate from each other,
The information processing unit includes:
In the process of setting the virtual straight line, in a state in which the first finger model is positioned with respect to the first point of the workpiece model, a direction parallel to a predetermined direction from the first finger model toward the second finger model; setting the virtual straight line so that it extends to
The information processing device according to claim 1, characterized in that:
前記所定方向は、前記第1フィンガモデルの第1所定点から前記第2フィンガモデルの第2所定点へ向かう方向である、
ことを特徴とする請求項9に記載の情報処理装置。
The predetermined direction is a direction from a first predetermined point of the first finger model to a second predetermined point of the second finger model,
The information processing device according to claim 9, characterized in that:
前記情報処理部は、
前記仮想直線を設定する処理において、前記ワークモデルの前記第1点における法線と、前記第1フィンガモデルの前記第1所定点における法線とが一致するように、前記第1フィンガモデルを前記ワークモデルの前記第1点に対して位置決めする、
ことを特徴とする請求項10に記載の情報処理装置。
The information processing unit includes:
In the process of setting the virtual straight line, the first finger model is set so that the normal line at the first point of the work model matches the normal line at the first predetermined point of the first finger model. positioning with respect to the first point of the workpiece model;
The information processing device according to claim 10.
前記情報処理部は、
前記仮想直線を設定する処理において、前記第1所定点が前記第1点と重なるように前記第1フィンガモデルを前記ワークモデルの前記第1点に対して位置決めする、
ことを特徴とする請求項10に記載の情報処理装置。
The information processing unit includes:
In the process of setting the virtual straight line, positioning the first finger model with respect to the first point of the workpiece model so that the first predetermined point overlaps the first point;
The information processing device according to claim 10.
前記情報処理部は、
前記仮想直線を設定する処理において、前記第1点において互いに異なる方向に延びるように複数の前記仮想直線を設定する、
ことを特徴とする請求項1に記載の情報処理装置。
The information processing unit includes:
In the process of setting the virtual straight line, setting a plurality of virtual straight lines so as to extend in mutually different directions at the first point;
The information processing device according to claim 1, characterized in that:
前記情報処理部は、
前記仮想直線を設定する処理において、前記複数の仮想直線のうち、1つの仮想直線以外の仮想直線を、前記1つの仮想直線に対して所定角度範囲で交差するように設定する、
ことを特徴とする請求項13に記載の情報処理装置。
The information processing unit includes:
In the process of setting the virtual straight line, a virtual straight line other than one virtual straight line among the plurality of virtual straight lines is set to intersect the one virtual straight line within a predetermined angular range;
14. The information processing device according to claim 13.
前記所定角度範囲は1度以上5度以下である、
ことを特徴とする請求項14に記載の情報処理装置。
The predetermined angle range is 1 degree or more and 5 degrees or less,
The information processing device according to claim 14.
前記ワークモデルは、複数のポリゴンにより表現されたデータである、
ことを特徴とする請求項1に記載の情報処理装置。
The work model is data expressed by a plurality of polygons,
The information processing device according to claim 1, characterized in that:
前記ポリゴンが三角形である、
ことを特徴とする請求項16に記載の情報処理装置。
the polygon is a triangle;
17. The information processing apparatus according to claim 16.
前記情報処理部は、
前記第1点を設定する処理において、前記複数のポリゴンの各々に、少なくとも1つの前記第1点を設定する、
ことを特徴とする請求項16に記載の情報処理装置。
The information processing unit includes:
In the process of setting the first point, setting at least one first point for each of the plurality of polygons;
17. The information processing apparatus according to claim 16.
前記少なくとも1つの第1点が複数の第1点である、
ことを特徴とする請求項18に記載の情報処理装置。
the at least one first point is a plurality of first points;
The information processing device according to claim 18.
前記複数の第1点は、互いに等間隔に配置されている、
ことを特徴とする請求項19に記載の情報処理装置。
The plurality of first points are arranged at equal intervals from each other,
The information processing device according to claim 19.
前記情報処理部は、
前記ワークモデルに対応する第1画像を表示部に表示する処理を実行する、
ことを特徴とする請求項1に記載の情報処理装置。
The information processing unit includes:
executing a process of displaying a first image corresponding to the workpiece model on a display unit;
The information processing device according to claim 1, characterized in that:
前記情報処理部は、
前記第1点を設定する処理において、前記第1画像にて選択された点に対応する前記ワークモデルの点を前記第1点に設定する、
ことを特徴とする請求項21に記載の情報処理装置。
The information processing unit includes:
In the process of setting the first point, a point on the workpiece model corresponding to the point selected in the first image is set as the first point;
22. The information processing device according to claim 21.
前記情報処理部は、
前記表示する処理において、前記候補に対応する第2画像を、選択可能に前記第1画像上に表示する、
ことを特徴とする請求項22に記載の情報処理装置。
The information processing unit includes:
In the displaying process, a second image corresponding to the candidate is selectably displayed on the first image;
23. The information processing device according to claim 22.
前記情報処理部は、選択された前記第2画像に対応する前記候補に基づいて前記保持位置に関する情報を出力する、
ことを特徴とする請求項23に記載の情報処理装置。
The information processing unit outputs information regarding the holding position based on the candidate corresponding to the selected second image.
24. The information processing device according to claim 23.
請求項1乃至24のいずれか1項に記載の情報処理装置と、
ロボットハンドを有するロボットと、
前記ロボットを制御する制御部と、を備え、
前記制御部は、前記保持位置に関する情報に基づき前記ロボットを制御して前記ロボットハンドにワークを保持させる、
ことを特徴とするロボットシステム。
The information processing device according to any one of claims 1 to 24,
A robot with a robot hand,
A control unit that controls the robot,
The control unit controls the robot based on information regarding the holding position to cause the robot hand to hold the workpiece.
A robot system characterized by:
保持位置に関する情報を出力する情報処理方法であって、
形状データであるワークモデル及びハンドモデルを取得し、
前記ワークモデルに第1点を設定し、
前記第1点において前記ワークモデルと交差する仮想直線を設定し、
前記仮想直線が前記第1点以外で前記ワークモデルと交差する場合、前記ワークモデルにおいて前記仮想直線と交差する第2点を取得する、
ことを特徴とする情報処理方法。
An information processing method for outputting information regarding holding positions, the method comprising:
Obtain the work model and hand model, which are shape data,
Setting a first point on the work model,
setting a virtual straight line that intersects the work model at the first point;
If the virtual straight line intersects the work model at a point other than the first point, obtaining a second point in the work model that intersects the virtual straight line;
An information processing method characterized by:
請求項25に記載のロボットシステムにより物品を製造する物品の製造方法。 A method for manufacturing an article, comprising manufacturing the article using the robot system according to claim 25. 請求項26に記載の情報処理方法をコンピュータに実行させるためのプログラム。 A program for causing a computer to execute the information processing method according to claim 26. 請求項28に記載のプログラムを記録したコンピュータによって読み取り可能な記録媒体。 A computer readable recording medium having recorded thereon the program according to claim 28.
JP2022083220A 2022-05-20 2022-05-20 Information processor, robot system, information processing method, article manufacturing method, program, and recording medium Pending JP2023171034A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022083220A JP2023171034A (en) 2022-05-20 2022-05-20 Information processor, robot system, information processing method, article manufacturing method, program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022083220A JP2023171034A (en) 2022-05-20 2022-05-20 Information processor, robot system, information processing method, article manufacturing method, program, and recording medium

Publications (1)

Publication Number Publication Date
JP2023171034A true JP2023171034A (en) 2023-12-01

Family

ID=88928481

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022083220A Pending JP2023171034A (en) 2022-05-20 2022-05-20 Information processor, robot system, information processing method, article manufacturing method, program, and recording medium

Country Status (1)

Country Link
JP (1) JP2023171034A (en)

Similar Documents

Publication Publication Date Title
JP7222803B2 (en) Trajectory planning device, trajectory planning method and program
JP6879464B2 (en) Interference determination method, interference determination system and computer program
US6587752B1 (en) Robot operation teaching method and apparatus
US9827675B2 (en) Collision avoidance method, control device, and program
CN104936748B (en) Free-hand robot path teaching
JP5835926B2 (en) Information processing apparatus, information processing apparatus control method, and program
EP3392002A1 (en) Information processing apparatus, measuring apparatus, system, interference determination method, and article manufacturing method
JP2020055075A (en) Robot control device using augmented reality and composite reality and display device
JP5113666B2 (en) Robot teaching system and display method of robot operation simulation result
JP2019214084A (en) Route planning device, route planning method, and route planning program
TW201927497A (en) Robot arm automatic processing system, method, and non-transitory computer-readable recording medium
CN111152218A (en) Action mapping method and system of heterogeneous humanoid mechanical arm
CN109648568B (en) Robot control method, system and storage medium
JP2022160363A (en) Robot system, control method, image processing apparatus, image processing method, method of manufacturing products, program, and recording medium
JP2003256025A (en) Robot motion teaching method and device
CN115703227A (en) Robot control method, robot, and computer-readable storage medium
Pachidis et al. Vision-based path generation method for a robot-based arc welding system
JP2023171034A (en) Information processor, robot system, information processing method, article manufacturing method, program, and recording medium
Wu et al. A novel approach for porcupine crab identification and processing based on point cloud segmentation
JP4669941B2 (en) 3D design support device and program
JP2017131990A (en) Interference avoidance method
EP4269050A1 (en) Interference determination device, robot control system, and interference determination method
JP2020175471A (en) Information processing device, information processing method, program and recording medium
JP2022163836A (en) Method for displaying robot image, computer program, and method for displaying robot image
JP7249221B2 (en) SENSOR POSITION AND POSTURE CALIBRATION DEVICE AND SENSOR POSITION AND POSTURE CALIBRATION METHOD