WO2018180301A1 - 情報処理装置、情報処理プログラム、情報処理方法 - Google Patents

情報処理装置、情報処理プログラム、情報処理方法 Download PDF

Info

Publication number
WO2018180301A1
WO2018180301A1 PCT/JP2018/008722 JP2018008722W WO2018180301A1 WO 2018180301 A1 WO2018180301 A1 WO 2018180301A1 JP 2018008722 W JP2018008722 W JP 2018008722W WO 2018180301 A1 WO2018180301 A1 WO 2018180301A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
virtual space
coordinate system
model
information processing
Prior art date
Application number
PCT/JP2018/008722
Other languages
English (en)
French (fr)
Inventor
ナット タン ドアン
遵 林
常田 晴弘
慎浩 田中
Original Assignee
日本電産株式会社
日本電産サンキョー株式会社
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 日本電産株式会社, 日本電産サンキョー株式会社 filed Critical 日本電産株式会社
Publication of WO2018180301A1 publication Critical patent/WO2018180301A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine

Definitions

  • the present invention relates to an information processing apparatus, an information processing program, and an information processing method.
  • -Robots and workpieces used in factory lines, etc. may be placed in a virtual space to create robot operation programs.
  • the virtual space is expressed based on CAD (Computer Aided Design) data indicating each of a plurality of models provided in the virtual space (see, for example, Patent Document 1).
  • CAD Computer Aided Design
  • the present invention has been made in view of the above problems, and an object thereof is to flexibly add a model to a virtual space without correcting CAD data.
  • An information processing apparatus that solves the above-described problems includes a first instruction input among a plurality of coordinate systems included in the virtual space in which a first model based on CAD data including position information in the virtual space is arranged.
  • a first selection unit that selects one coordinate system, a first acquisition unit that acquires first information indicating a second model that does not include position information in the virtual space, and the first selection unit.
  • the position of the second model in the virtual space is set to the position.
  • a setting unit a setting unit.
  • a model can be flexibly added to a virtual space without correcting CAD data.
  • FIG. 1 is a diagram illustrating a configuration of a robot teaching device 10.
  • FIG. 4 is a diagram illustrating an example of information stored in a storage device 22.
  • FIG. 5 is a diagram illustrating an example of a screen for setting a virtual space 100.
  • FIG. FIG. 3 is a diagram showing blocks arranged in a virtual space 100. It is a figure which shows the functional block implement
  • FIG. 1 is a diagram illustrating a configuration of the robot teaching apparatus 10.
  • the robot teaching device 10 (information processing device) is a device for teaching an operation to an arm type robot X (not shown) installed in a factory line, and includes a CPU (Central Processing Unit) 20, a memory 21, and a memory.
  • the device 22 includes an input device 23, a display device 24, and a communication device 25.
  • the CPU 20 implements various functions in the robot teaching device 10 by executing programs stored in the memory 21 and the storage device 22.
  • the memory 21 is, for example, a RAM (Random-Access Memory) or the like, and is used as a temporary storage area for programs and data.
  • RAM Random-Access Memory
  • the storage device 22 is a non-volatile storage means area such as a hard disk, and stores a program 600 and various data 700.
  • FIG. 2 is a diagram illustrating information stored in the storage device 22.
  • the program 600 implements a teaching program 610 (information processing program) for realizing a function for teaching the arm type robot X and a three-dimensional CAD (Computer Aided Design) function.
  • a CAD program 620 is included. Note that the user executes the CAD program 620 to create CAD data of the model.
  • the data 700 includes three-dimensional CAD data Da indicating a three-dimensional model of the arm robot X, three-dimensional CAD data Db indicating a three-dimensional model of a work that is a work target, and three of the shelves on which the work is placed.
  • Three-dimensional CAD data Dc indicating a dimensional model is included.
  • the three-dimensional CAD data Da includes information on the world coordinate system of the virtual space where the model of the arm type robot X is arranged and information on the local coordinate system of the model of the arm type robot X (position information in the virtual space).
  • the three-dimensional CAD data Db and Dc are the same as the three-dimensional CAD data Da. However, in the present embodiment, since a plurality (n) of works are used, the storage device 22 stores three-dimensional CAD data Db1 to three-dimensional CAD data Dbn corresponding to each of the plurality of works.
  • the data 700 also includes an operation program 710 for operating the arm type robot X.
  • the robot teaching apparatus 10 generates the operation program 710 by executing the teaching program 610 using the three-dimensional CAD data.
  • the input device 23 is, for example, a touch panel or a keyboard, and is a device that receives an input of a user operation result.
  • the display device 24 is a display, for example, and is a device that displays various information and processing results.
  • the communication device 25 is a communication means such as a network interface, and transmits and receives data to and from various external devices and the arm type robot X via a network (not shown).
  • FIG. 3 is a diagram illustrating an example of a hierarchical screen that a user refers to and edits in order to determine the arrangement of a model of the arm robot X or the like in the virtual space.
  • the screen 30 is a screen showing a world coordinate system and a hierarchical structure (tree structure) of various configurations, and is displayed on the display device 24 when the CPU 20 executes the teaching program 610.
  • “World” indicating the world coordinate system is set in the highest hierarchy.
  • “Robot” indicating a model of the arm type robot X and “shelf” indicating a shelf on which a work is placed are set. For this reason, “Robot” and “shelf” are arranged at positions determined in the world coordinate system in the virtual space.
  • HAND indicating the model of the hand of the arm type robot X is set.
  • OG A1 indicating the music box A1 that is a work is set. Is set. For this reason, “HAND” is arranged at a position defined in the local coordinate system based on “Robot”, and “OG A1” is arranged at a position defined in the local coordinate system based on “HAND”. Is done.
  • “OG B1” to “OG B10” indicating ten music boxes B1 to B10 are set under the “shelf” hierarchy. For this reason, “OG B1” to “OG B10” are arranged at positions determined in the local coordinate system with “shelf” as a reference.
  • FIG. 4 is a diagram illustrating the virtual space 100 reflecting the configuration included in the screen 30.
  • the virtual space 100 is displayed on the display device 24 when the CPU 20 executes the teaching program 610.
  • an arm type robot 40 In the virtual space 100, an arm type robot 40, music boxes A1, B1 to B10, and a shelf 45 are provided.
  • the arm type robot 40 is a model expressed based on “Robot” (three-dimensional CAD data Da), and includes a hand 50 and an arm 51 to which the hand 50 is attached. As described above, the position of the arm 51 in the virtual space 100 is arranged at a position determined in the world coordinate system, and the position of the hand 50 is set at a position determined in the local coordinate system with the arm 51 as a reference. Be placed.
  • the music box A1 is a model representing a work expressed based on “OG A1” (three-dimensional CAD data Db1).
  • the position of the music box A1 in the virtual space 100 is arranged at a position determined by a local coordinate system with the hand 50 as a reference, here, a position held by the hand 50.
  • Music boxes B1 to B10 are models expressed based on “OG B1” to “OG B10” (three-dimensional CAD data Db2 to Db11).
  • the positions of the music boxes B1 to B10 in the virtual space 100 are arranged at positions determined by a local coordinate system with the shelf 45 as a reference. For example, here, the music boxes B1 to B10 are arranged in two rows on the shelf 45.
  • the shelf 45 is a model expressed based on “shelf” (three-dimensional CAD data Dc), and is arranged at a position determined in the world coordinate system.
  • FIG. 5 is a diagram illustrating functional blocks implemented in the CPU 20 when the CPU 20 executes a predetermined program.
  • the CPU 20 includes a display control unit 60, a first selection unit 61, a second selection unit 62, a first acquisition unit 63, a second acquisition unit 64, a third acquisition unit 65, a setting unit 66, and an operation.
  • generation part 67 and the transmission part 68 is provided.
  • the display control unit 60 displays various information on the display device 24 based on an instruction from the input device 23, a processing result of a program executed by the CPU 20, and the like.
  • the first selection unit 61 selects a coordinate system in which the block to be added is arranged. Specifically, based on a user instruction IN1 (first instruction input) when adding a block, the first selection unit 61 selects a coordinate system serving as a reference for the position of the block from a plurality of coordinate systems. select. For example, when the user adds a block on the shelf 45, the first selection unit 61 selects the local coordinate system of the shelf 45 based on the instruction IN1. As a result, the display control unit 60 displays the coordinate input area 70 and the model input area 71 on the screen 31 in the layer below the layer of the shelf 45 as shown in FIG.
  • the instruction IN1 is a drawing generated by the user based on the operation result of the input device 23, and the areas described above are added to the screen 31 and the screen 30.
  • coordinates in the coordinate system selected by the first selection unit 61 are input.
  • the coordinates of the local coordinate system of the shelf 45 are input.
  • model input area 71 information indicating the model of the block to be added (for example, the name of the part to be added) is input.
  • the second selection unit 62 selects the coordinate system in which the block is arranged. Specifically, based on the user instruction IN2 (second instruction input) when changing the position of the block, the second selection unit 62 selects the coordinate system in which the block is arranged. For example, when the user changes the position of the shelf 45, the second selection unit 62 selects the world coordinate system of the upper hierarchy of the shelf 45 based on the instruction IN2. As a result, the display control unit 60 displays the coordinate input area 72 on the screen 32 as shown in FIG.
  • coordinates in the coordinate system selected by the second selection unit 62 are input.
  • the coordinates of the world coordinate system which is the coordinate system of the upper hierarchy of the shelf hierarchy, are input.
  • the first acquisition unit 63 acquires information I1 (first information) that is input to the model input area 71 and indicates the model of the block to be added.
  • the second acquisition unit 64 acquires information I2 (second information) indicating the position input in the coordinate input area 70.
  • the information I2 indicating the position is, for example, a position specified on the shelf 45 by the input device.
  • the information I2 may be information indicating coordinates by inputting a numerical value into the coordinate input area 70.
  • the third acquisition unit 65 acquires information I3 (third information) indicating the position input in the coordinate input area 72.
  • the information I3 indicating the position is, for example, a position specified on the shelf 45 by the input device. Note that the information I3 may be information indicating coordinates when a numerical value is input to the coordinate input area 72.
  • the setting unit 66 sets the position of the block added based on the information I1 to the position indicated by the information I2.
  • the setting unit 66 sets the position of the designated block to the position indicated by the information I3.
  • the operation program generation unit 67 generates an operation program 710 for operating each joint of the arm type robot X along the trajectory set by the user in the virtual space 100. In addition, the operation program generation unit 67 stores the generated operation program 710 in the storage device 22.
  • the transmission unit 68 transmits the operation program 710 to the arm type robot X based on an instruction from the user.
  • FIG. 8 is a flowchart illustrating an example of processing when a new model (for example, a virtual coordinate system 80) is arranged in the virtual space 100.
  • a new model for example, a virtual coordinate system 80
  • the three-dimensional CAD data Dt of the virtual coordinate system 80 is data that does not include position information in the virtual space 100, unlike the three-dimensional CAD data Da and the like.
  • the user performs a predetermined operation on the input device 23 so that the virtual coordinate system 80 (second model) is arranged at a predetermined position on the shelf 45 of the virtual space 100. To do.
  • the first selection unit 61 selects a local coordinate system of the shelf 45 from a plurality of coordinate systems (world coordinate system, workpiece or shelf local coordinate system) based on a user instruction IN1 (S100). Then, as shown in FIG. 6, the display control unit 60 displays a coordinate input area 70 and a model input area 71 in a layer below the layer of the shelf 45 (a layer in the local coordinate system with the shelf 45 as a reference). (S101). When the user inputs the three-dimensional CAD data Dt of the virtual coordinate system 80 to the model input area 71, the first acquisition unit 63 acquires the input three-dimensional CAD data Dt as information I1 (S102).
  • the second acquisition unit 64 acquires information indicating the input predetermined coordinates as information I2 (S103). . Further, the setting unit 66 sets the position of the virtual coordinate system 80 added based on the information I1 to the temporary initial position P of the virtual space 100 (S104).
  • the initial position P is, for example, predetermined coordinates A (xx, yy, zz) in the world coordinate system determined by the user, and is stored as information in the storage device 22. At this time, the setting unit 66 sets the position of the virtual coordinate system 80 so that the origin of the local coordinate system of the virtual coordinate system 80 becomes the predetermined coordinate A, for example.
  • the setting unit 66 sets the position of the virtual coordinate system 80 from the initial position P to the position indicated by the information I2 (S105).
  • the setting unit 66 multiplies the position of the virtual coordinate system 80 (coordinates A (xx, yy, zz)) by the homogeneous transformation matrix X1, thereby obtaining a virtual coordinate system.
  • the position 80 is the position indicated by the information I2.
  • the setting unit 66 sets the coordinate A (xx, yy, zz) and the coordinate B (1, 1). , 1), the homogeneous transformation matrix X1 is calculated.
  • the origin of the local coordinate system of the virtual coordinate system 80 is the coordinate B (1, 1, 1).
  • the display control unit 60 displays the added virtual coordinate system 80 at the set position (for example, coordinate B) in the virtual space 100 (S106).
  • the virtual coordinate system 80 was added here, for example, a model of a part such as a camera may be used.
  • the camera 81 is provided at a predetermined position on the shelf 45 as shown in FIG. In FIG. 9, only a part of the blocks included in the virtual space 100 is illustrated for convenience.
  • FIG. 10 is a flowchart illustrating an example of processing for changing the position of a model installed in the virtual space 100.
  • a process of changing the position of the shelf 45 on the screen 32 when the position of the shelf 45 (first model) in the virtual space 100 is shifted from the actual position will be described. It is assumed that the user is performing a predetermined operation on the input device 23 so that the user can install it at the position of the shelf 45 in the virtual space 100.
  • the second selection unit 62 selects a world coordinate system that determines the position of the shelf 45 from a plurality of coordinate systems (a world coordinate system, a local coordinate system of a work or a shelf) based on a user instruction IN2 ( S200). Then, based on the selection result, the display control unit 60 displays a coordinate input area 72 next to the title “shelf” on the screen 32 as shown in FIG. 7 (S201).
  • the third acquisition unit 65 acquires information indicating the input predetermined coordinates as information I3 (S202). .
  • the setting unit 66 sets the position of the shelf 45 to the position indicated by the information I3 (S203).
  • the display control unit 60 displays the shelf 45 in the virtual space 100 at the position set in the process S203 (S204).
  • the position of the shelf 45 in the virtual space 100 can be changed without changing the three-dimensional CAD data Dc of the shelf 45.
  • the setting unit 66 changes the position of the shelf 45 by multiplying the information (coordinate vector) of the position of the shelf 45 included in the three-dimensional CAD data Dc by the homogeneous transformation matrix X2. .
  • the setting unit 66 calculates the homogeneous transformation matrix X2 based on the position information (coordinate vector) of the shelf 45 and the position information (coordinate vector) based on the information I3.
  • the robot teaching apparatus 10 has been described above.
  • the setting unit 66 can set a virtual coordinate system 80 that does not include the position information of the virtual space 100 to a specified position in the virtual space 100 (for example, processing S105). Therefore, the robot teaching apparatus 10 can add a new model to the virtual space 100 without changing the data (three-dimensional CAD data Da to Dc) that is the basis of the virtual space 100.
  • the virtual space 100 after the model installation process of FIG. 8 or the model position change process of FIG. 10 is performed reflects the actual environment of the factory line more accurately. For this reason, the user can teach the operation to the arm type robot X with high accuracy by using such a virtual space 100.
  • the position of the virtual coordinate system 80 can be designated by the coordinates of the world coordinate system.
  • the position of the virtual coordinate system 80 should be set using the coordinates of the local coordinate system of the shelf 45.
  • the virtual coordinate system 80 can be easily provided at a desired position.
  • the setting unit 66 can set the position of the shelf 45 in the virtual space 100 to a desired position (for example, process S204). For this reason, the robot teaching apparatus 10 can change the position of the model flexibly without changing the model data provided in the virtual space 100.
  • the position of the shelf 45 is changed by coordinates in the coordinate system (world coordinate system) where the shelf 45 is arranged. For this reason, the user can easily change the position of the model.
  • Example 2 is for making an understanding of this invention easy, and is not for limiting and interpreting this invention.
  • the present invention can be changed and improved without departing from the gist thereof, and the present invention includes equivalents thereof.
  • the virtual coordinate system 80 is added to the virtual space 100, but the added model is not limited to such an abstract part of the robot.
  • a mark reference mark or fiducial mark
  • the shape of a convex portion or a concave portion may be added to the virtual space as a model.
  • the process S103 is executed after the process S102, but the present invention is not limited to this.
  • the processes S102 and 103 may be executed simultaneously, and the process S102 may be executed after the process S103.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

【課題】CADデータを修正することなく、仮想空間にモデルを柔軟に追加する。 【解決手段】情報処理装置は、仮想空間における位置情報を含むCADデータに基づく第1のモデルが配置された前記仮想空間に含まれる複数の座標系のうち、第1の指示入力に基づいて、一の座標系を選択する第1選択部と、前記仮想空間における位置情報を含まない第2のモデルを示す第1情報を取得する第1取得部と、前記第1選択部により選択される座標系における位置を示す第2情報を取得する第2取得部と、前記第1及び第2情報に基づいて、前記仮想空間における前記第2のモデルの位置を、前記位置に設定する設定部と、を備える。

Description

情報処理装置、情報処理プログラム、情報処理方法
 本発明は、情報処理装置、情報処理プログラム、情報処理方法に関する。
 工場のライン等で用いられるロボットやワークを仮想空間上に配置し、ロボットの動作プログラムが作成されることがある。一般に、仮想空間は、仮想空間に設けられる複数のモデルのそれぞれを示すCAD(Computer Aided Design)データに基づいて表現される(例えば、特許文献1参照)。
特開2002-66967号公報
 CADデータを用いてロボットの動作プログラムを生成する際、CADデータに微小な修正が必要となる場合、または、一時的にロボット動作を確認する必要が生じる場合がある。従来はCADデータそのものを修正し、修正されたCADデータから再度ロボットの動作プログラムを生成しており、多くの工数を要していた。
 本発明は上記課題を鑑みてなされたものであり、CADデータを修正することなく、仮想空間にモデルを柔軟に追加することを目的とする。
 上記課題を解決する本発明の情報処理装置は、仮想空間における位置情報を含むCADデータに基づく第1のモデルが配置された前記仮想空間に含まれる複数の座標系のうち、第1の指示入力に基づいて、一の座標系を選択する第1選択部と、前記仮想空間における位置情報を含まない第2のモデルを示す第1情報を取得する第1取得部と、前記第1選択部により選択される座標系における位置を示す第2情報を取得する第2取得部と、前記第1及び第2情報に基づいて、前記仮想空間における前記第2のモデルの位置を、前記位置に設定する設定部と、を備えることを特徴とする。
 本発明によれば、CADデータを修正することなく、仮想空間にモデルを柔軟に追加することが可能となる。
ロボット教示装置10の構成を示す図である。 記憶装置22に格納される情報の一例を示す図である。 仮想空間100を設定する画面の一例を示す図である。 仮想空間100に配置されたブロックを示す図である。 CPU20に実現される機能ブロックを示す図である。 仮想的な座標系を追加する際の画面の一例を示す図である。 棚を移動する際の画面の一例を示す図である。 CPU20が実行する処理の一例を示すフローチャートである。 仮想的な座標系が追加された際の仮想空間の一例を示す図である。 CPU20が実行する処理の一例を示すフローチャートである。
---ロボット教示装置10の構成---
 以下に本発明の実施形態について図面を用いて詳細に説明する。図1は、ロボット教示装置10の構成を示す図である。
 ロボット教示装置10(情報処理装置)は、工場のラインに設置されたアーム型ロボットX(不図示)に対し動作を教示するための装置であり、CPU(Central Processing Unit)20、メモリ21、記憶装置22、入力装置23、表示装置24、及び通信装置25を含んで構成される。
 CPU20は、メモリ21や記憶装置22に格納されたプログラムを実行することにより、ロボット教示装置10における様々機能を実現する。
 メモリ21は、例えばRAM(Random-Access Memory)等であり、プログラムやデータ等の一時的な記憶領域として用いられる。
 記憶装置22は、例えばハードディスク等の不揮発性の記憶手段領域であり、プログラム600や様々なデータ700が格納される。図2は、記憶装置22に格納される情報を示す図である。同図に示すように、プログラム600の中には、アーム型ロボットXに対する教示を行う機能を実現するための教示プログラム610(情報処理プログラム)や、3次元CAD(Computer Aided Design)機能を実現するためのCADプログラム620が含まれる。なお、利用者は、CADプログラム620を実行し、モデルのCADデータを作成する。
 また、データ700には、アーム型ロボットXの3次元モデルを示す3次元CADデータDa、作業対象物であるワークの3次元モデルを示す3次元CADデータDb、ワークが載置される棚の3次元モデルを示す3次元CADデータDcが含まれる。3次元CADデータDaは、アーム型ロボットXのモデルが配置される仮想空間のワールド座標系、およびアーム型ロボットXのモデルのローカル座標系の情報(仮想空間での位置情報)を含む。また、3次元CADデータDb,Dcに関しても、3次元CADデータDaと同様である。ただし、本実施形態では、複数(n個)のワークが用いられるため、記憶装置22には、複数のワークのそれぞれに対応する3次元CADデータDb1~3次元CADデータDbnが格納されている。
 また、データ700には、アーム型ロボットXを動作させる動作プログラム710も含まれる。なお、ロボット教示装置10は、3次元CADデータを用いながら教示プログラム610を実行することにより、動作プログラム710を生成する。
 入力装置23は、例えばタッチパネルやキーボードであり、利用者の操作結果が入力を受け付ける装置である。
 表示装置24は、例えばディスプレイであり、各種情報や処理結果を表示する装置である。
 通信装置25は、ネットワークインターフェイスなどの通信手段であって、ネットワーク(不図示)を介して外部の各種装置やアーム型ロボットXとの間でデータの送受信を行う。
---階層構造画面---
 図3は、仮想空間においてアーム型ロボットX等のモデルの配置を定めるために、利用者が参照・編集する階層構造の画面の一例を示す図である。
 画面30は、ワールド座標系や各種構成の階層構造(ツリー構造)を示す画面であり、CPU20が、教示プログラム610を実行することにより表示装置24に表示される。
 画面30では、最上位の階層に、ワールド座標系を示す「World」が設定されている。そして、ワールド座標系の下の階層には、アーム型ロボットXのモデルを示す「Robot」と、ワークが載置される棚を示す「棚」が設定されている。このため、「Robot」および「棚」は、仮想空間において、ワールド座標系で定められた位置に配置される。
 また、「Robot」の階層の下には、アーム型ロボットXのハンドのモデルを示す「HAND」が設定され、「HAND」の階層の下には、ワークであるオルゴールA1を示す「OG A1」が設定されている。このため、「HAND」は、「Robot」を基準とするローカル座標系で定められた位置に配置され、「OG A1」は、「HAND」を基準とするローカル座標系で定められた位置に配置される。
 また、「棚」の階層の下には、10個のオルゴールB1~B10を示す「OG B1」~「OG B10」が設定されている。このため、「OG B1」~「OG B10」は、「棚」を基準とするローカル座標系で定められた位置に配置される。
 なお、画面30で示された階層構造では、ある階層の構成の位置が変更されると、その階層の下に配置された構成の位置も同様に変更される。例えば、3次元CADデータDcの値が変更され、「棚」のワールド座標系における位置が変更されると、「棚」の下の階層に設けられた「OG B1」~「OG B10」のワールド座標系における位置も「棚」に伴って移動する。ただし、「OG B1」~「OG B10」のそれぞれの「棚」に対する位置は、「棚」を基準とするローカル座標系で定められている。したがって、「棚」のワールド座標系に対する位置が変更された場合であっても、「OG B1」~「OG B10」のそれぞれの「棚」に対する位置は変化しない。
---仮想空間---
 図4は、画面30に含まれる構成を反映した仮想空間100を示す図である。仮想空間100は、CPU20が、教示プログラム610を実行することにより表示装置24に表示される。
 仮想空間100には、アーム型ロボット40、オルゴールA1,B1~B10、棚45が設けられている。
 アーム型ロボット40は、「Robot」(3次元CADデータDa)に基づいて、表現されたモデルであり、ハンド50と、ハンド50が取り付けられるアーム51とを含む。なお、上述したように、仮想空間100におけるアーム51の位置は、ワールド座標系で定められた位置に配置され、ハンド50の位置は、アーム51を基準とするローカル座標系で定められた位置に配置される。
 オルゴールA1は、「OG A1」(3次元CADデータDb1)に基づいて表現された、ワークを示すモデルである。仮想空間100におけるオルゴールA1の位置は、ハンド50を基準とするローカル座標系で定められた位置、ここでは、ハンド50で把持される位置に配置される。
 オルゴールB1~B10は、「OG B1」~「OG B10」(3次元CADデータDb2~Db11)に基づいて表現されたモデルである。仮想空間100におけるオルゴールB1~B10の位置は、棚45を基準とするローカル座標系で定められた位置に配置されている。例えば、ここでは、オルゴールB1~B10は、棚45の上に2列で配置される。
 棚45は、「棚」(3次元CADデータDc)に基づいて表現されたモデルであり、ワールド座標系で定められた位置に配置される。
---CPU20に実現される機能ブロック---
 図5は、CPU20が所定のプログラムを実行することによりCPU20に実現される機能ブロックを示す図である。同図に示すように、CPU20は、表示制御部60、第1選択部61、第2選択部62、第1取得部63、第2取得部64、第3取得部65、設定部66、動作プログラム生成部67、及び送信部68の機能ブロックを備える。
 表示制御部60は、入力装置23からの指示やCPU20で実行されるプログラムの処理結果等に基づいて、表示装置24に各種情報を表示する。
 第1選択部61は、利用者が仮想空間100に設けられていないブロックを追加する際に、追加するブロックを配置する座標系を選択する。具体的には、ブロックを追加する際の利用者の指示IN1(第1の指示入力)に基づいて、第1選択部61は、複数の座標系から、ブロックの位置の基準となる座標系を選択する。例えば、利用者が、棚45の上にブロックを追加する場合、第1選択部61は、指示IN1に基づいて棚45のローカル座標系を選択する。この結果、表示制御部60は、図6に示すように、棚45の階層の下の階層に、座標入力エリア70、モデル入力エリア71を画面31に表示する。なお、指示IN1は、利用者が、入力装置23の操作結果に基づいて発生し、画面31、画面30に上述したエリアが追加された図面である。
 座標入力エリア70には、第1選択部61で選択された座標系における座標が入力される。ここでは、棚45のローカル座標系の座標が入力されることになる。
 モデル入力エリア71には、追加されるブロックのモデルを示す情報(例えば、追加する部品の名前)が入力される。
 第2選択部62は、利用者が仮想空間100に設けられたブロックの位置を変更する際に、ブロックが配置された座標系を選択する。具体的には、ブロックの位置を変更する際の利用者の指示IN2(第2の指示入力)に基づいて、第2選択部62は、ブロックの配置された座標系を選択する。例えば、利用者が、棚45の位置を変更する場合、第2選択部62は、指示IN2に基づいて棚45の上位の階層のワールド座標系を選択する。この結果、表示制御部60は、図7に示すように、座標入力エリア72を画面32に表示する。
 座標入力エリア72には、第2選択部62で選択された座標系における座標が入力される。ここでは、棚の階層の上位の階層の座標系であるワールド座標系の座標が入力される。
 第1取得部63は、モデル入力エリア71に入力された、追加されるブロックのモデルを示す情報I1(第1情報)を取得する。
 第2取得部64は、座標入力エリア70に入力された位置を示す情報I2(第2情報)を取得する。位置を示す情報I2とは、例えば、入力装置により棚45の指定された位置である。なお、情報I2は、座標入力エリア70に数値を入力されて、座標を示す情報であってもよい。
 第3取得部65は、座標入力エリア72に入力された位置を示す情報I3(第3情報)を取得する。位置を示す情報I3とは、例えば、入力装置により棚45の指定された位置である。なお、情報I3は、座標入力エリア72に数値を入力されて、座標を示す情報であってもよい。
 設定部66は、情報I1に基づいて追加されたブロックの位置を、情報I2で示された位置に設定する。また、設定部66は、指定されたブロックの位置を、情報I3で示された位置に設定する。
 動作プログラム生成部67は、仮想空間100において、利用者が設定する軌道に沿って、アーム型ロボットXの各関節を動作させる動作プログラム710を生成する。また、動作プログラム生成部67は、生成した動作プログラム710を記憶装置22に格納する。
 送信部68は、利用者からの指示に基づいて、動作プログラム710を、アーム型ロボットXに送信する。
---モデル設置処理---
 図8は、仮想空間100に新なモデル(例えば、仮想的な座標系80)を配置する際の処理の一例を示すフローチャートである。なお、仮想的な座標系80の3次元CADデータDtは、3次元CADデータDa等とは異なり、仮想空間100における位置情報を含まないデータである。また、利用者は、仮想的な座標系80(第2のモデル)を、仮想空間100の棚45の上の所定の位置に配置するよう、入力装置23に所定の操作を行っていることとする。
 まず、第1選択部61は、利用者の指示IN1に基づいて、複数の座標系(ワールド座標系、ワークや棚のローカル座標系)から、棚45のローカル座標系を選択する(S100)。そして、表示制御部60は、図6に示すように、棚45の階層の下の階層(棚45を基準とするローカル座標系の階層)に、座標入力エリア70、モデル入力エリア71を表示する(S101)。利用者が、モデル入力エリア71に仮想的な座標系80の3次元CADデータDtを入力すると、第1取得部63は、入力された3次元CADデータDtを情報I1として取得する(S102)。また、利用者が、座標入力エリア70に棚45のローカル座標系の所定の座標を入力すると、第2取得部64は、入力された所定の座標を示す情報を情報I2として取得する(S103)。また、設定部66は、情報I1に基づいて追加された仮想的な座標系80の位置を、仮想空間100の仮の初期位置Pに設定する(S104)。なお、初期位置Pは、例えば、利用者が定めたワールド座標系の所定の座標A(xx,yy,zz)であり、記憶装置22に情報として格納されている。なお、この際、設定部66は、例えば、仮想的な座標系80のローカル座標系の原点が、所定の座標Aとなるように仮想的な座標系80の位置を設定する。そして、設定部66は、仮想的な座標系80の位置を、初期位置Pから、情報I2で示された位置に設定する(S105)。ここで、設定部66は、処理S105において、仮想的な座標系80の位置(座標A(xx,yy,zz))に対し、同次変換行列X1を乗算することにより、仮想的な座標系80の位置を、情報I2で示された位置とする。なお、例えば、情報I2の位置が、棚のローカル座標系の座標B(1,1,1)である場合、設定部66は、座標A(xx,yy,zz)および座標B(1,1,1)に基づいて、同次変換行列X1を計算する。この結果、仮想的な座標系80のローカル座標系の原点が、座標B(1,1,1)となる。そして、表示制御部60は、仮想空間100において、追加された仮想的な座標系80を、設定された位置(例えば、座標B)に表示する(S106)。
 なお、ここでは、仮想的な座標系80を追加したが、例えば、カメラ等の部品のモデルであっても良い。この場合、所定の座標が指定されると、図9に示すように、カメラ81が棚45の上の所定の位置に設けられることになる。なお、図9では、便宜上、仮想空間100に含まれるブロックのうち、一部のみを記載している。
---モデル位置変更処理---
 図10は、仮想空間100に設置されたモデルの位置を変更する際の処理の一例を示すフローチャートである。なお、ここでは、仮想空間100での棚45(第1のモデル)の位置が、実際の位置からずれている場合、画面32において、棚45の位置を変更する処理を説明する。なお、仮想空間100の棚45の位置に設置できるよう、利用者は、入力装置23に所定の操作を行っていることとする。
 まず、第2選択部62は、利用者の指示IN2に基づいて、複数の座標系(ワールド座標系、ワークや棚のローカル座標系)から、棚45の位置を定めるワールド座標系を選択する(S200)。そして、表示制御部60は、選択結果に基づいて、図7に示すように、画面32の「棚」の標記の横に座標入力エリア72を表示する(S201)。そして、利用者が、座標入力エリア72に棚45のワールド座標系の所定の座標を入力すると、第3取得部65は、入力された所定の座標を示す情報を情報I3として取得する(S202)。また、設定部66は、棚45の位置を、情報I3で示された位置に設定する(S203)。表示制御部60は、仮想空間100において、棚45を、処理S203において設定された位置に表示する(S204)。この結果、仮想空間100において、棚45の3次元CADデータDcを変更することなく、棚45の仮想空間100での位置を変更できる。なお、設定部66は、処理S203において、3次元CADデータDcに含まれる棚45の位置の情報(座標ベクトル)に対し、同次変換行列X2を乗算することにより、棚45の位置を変更する。ここで、同次変換行列X2は、棚45の位置の情報(座標ベクトル)と、情報I3に基づく位置の情報(座標ベクトル)とに基づいて、例えば、設定部66が計算する。
---まとめ---
 以上、本実施形態のロボット教示装置10について説明した。設定部66は、仮想空間100の位置情報を含まない仮想的な座標系80を、仮想空間100の指定された位置に設定できる(例えば、処理S105)。このため、ロボット教示装置10は、仮想空間100の基となるデータ(3次元CADデータDa~Dc)を変更することなく、仮想空間100に新なモデルを追加することができる。なお、図8のモデル設置処理や図10のモデル位置変更処理が実施された後の仮想空間100は、工場のラインの実際の環境をより正確に反映していることになる。このため、利用者は、このような仮想空間100を用いることにより、精度良くアーム型ロボットXに動作を教示することができる。
 また、仮想的な座標系80を仮想空間100に設定する場合、仮想的な座標系80の位置を、ワールド座標系の座標で指定することもできる。しかしながら、本実施形態のように、仮想的な座標系80を棚45の上に設ける場合には、棚45のローカル座標系の座標を用いて仮想的な座標系80の位置を設定した方が、容易に所望の位置に仮想的な座標系80を設けることができる。
 また、設定部66は、仮想空間100の棚45の位置を、所望の位置に設定できる(例えば、処理S204)。このため、ロボット教示装置10は、仮想空間100に設けられたモデルのデータを変更することなく、柔軟にモデルの位置を変更することができる。
 また、棚45の位置は、棚45が配置された座標系(ワールド座標系)での座標で変更される。このため、利用者は、容易にモデルの位置を変更できる。
 なお、上記実施例は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
 本実施形態では、仮想空間100に仮想的な座標系80を追加することとしたが、追加されるモデルはこのようなロボットの抽象的な部品に限られない。例えば、キャリブレーション等の際に用いられるマーク(基準マークやフィデューシャルマーク)や、凸部若しくは凹部の形状がモデルとして、仮想空間に追加されても良い。
 また、本実施形態では、処理S102の後に処理S103が実行されているが、これに限られない。例えば、処理S102,103が同時に実行されても良く、処理S103の後に処理S102が実行されても良い。
10…ロボット教示装置、20…CPU、21…メモリ、22…記憶装置、23…入力装置、24…表示装置、25…通信装置、30~32…画面、40…アーム型ロボット、45…棚、50…ハンド、51…アーム、60…表示制御部、61…第1選択部、62…第2選択部、63…第1取得部、64…第2取得部、65…第3取得部、66…設定部、67…動作プログラム生成部、68…送信部、70,72…座標入力エリア、71…モデル入力エリア、80…仮想的な座標系、81…カメラ、100…仮想空間、600…プログラム、610…教示プログラム、620…CADプログラム、700…データ、710…動作プログラム

Claims (6)

  1.  仮想空間における位置情報を含むCADデータに基づく第1のモデルが配置された前記仮想空間に含まれる複数の座標系のうち、第1の指示入力に基づいて、一の座標系を選択する第1選択部と、
     前記仮想空間における位置情報を含まない第2のモデルを示す第1情報を取得する第1取得部と、
     前記第1選択部により選択される座標系における位置を示す第2情報を取得する第2取得部と、
     前記第1及び第2情報に基づいて、前記仮想空間における前記第2のモデルの位置を、前記位置に設定する設定部と、
    を備えることを特徴とする情報処理装置。
  2.  請求項1に記載の情報処理装置であって、
     前記第2取得部は、
     前記第1選択部により選択される座標系における座標を、前記第2情報として取得すること、
     を特徴とする情報処理装置。
  3.  請求項1または請求項2に記載の情報処理装置であって、
     前記複数の座標系のうち、第2の指示入力に基づいて、前記第1のモデルが配置された座標系を選択する第2選択部と、
     前記第2選択部により選択される座標系における位置を示す第3情報を取得する第3取得部と、
     を更に備え、
     前記設定部は、
     前記第3情報に基づいて、前記仮想空間における前記第1のモデルの位置を、前記第3情報に対応する位置に設定すること、
     を特徴とする情報処理装置。
  4.  請求項1~請求項3の何れか一項に記載の情報処理装置であって、
     前記第3取得部は、
     前記第2選択部により選択される座標系における座標を、前記第3情報として取得すること、
     を特徴とする情報処理装置。
  5.  コンピュータに、
     仮想空間における位置情報を含むCADデータに基づく第1のモデルが配置された前記仮想空間に含まれる複数の座標系のうち、第1の指示入力に基づいて、一の座標系を選択する機能と、
     前記仮想空間における位置情報を含まない第2のモデルを示す第1情報を取得する機能と、
     前記第1選択部により選択される座標系における位置を示す第2情報を取得する機能と、
     前記第1及び第2情報に基づいて、前記仮想空間における前記第2のモデルの位置を、前記位置に設定する機能と、
     を実現させる情報処理プログラム。
  6.  仮想空間における位置情報を含むCADデータに基づく第1のモデルが配置された前記仮想空間に含まれる複数の座標系のうち、第1の指示入力に基づいて、一の座標系を選択し、
     前記仮想空間における位置情報を含まない第2のモデルを示す第1情報を取得し、
     前記第1選択部により選択される座標系における位置を示す第2情報を取得し、
     前記第1及び第2情報に基づいて、前記仮想空間における前記第2のモデルの位置を、前記位置に設定する、
     ことを特徴とする情報処理方法。
PCT/JP2018/008722 2017-03-31 2018-03-07 情報処理装置、情報処理プログラム、情報処理方法 WO2018180301A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-073215 2017-03-31
JP2017073215A JP2020097061A (ja) 2017-03-31 2017-03-31 情報処理装置、情報処理プログラム、情報処理方法

Publications (1)

Publication Number Publication Date
WO2018180301A1 true WO2018180301A1 (ja) 2018-10-04

Family

ID=63675362

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/008722 WO2018180301A1 (ja) 2017-03-31 2018-03-07 情報処理装置、情報処理プログラム、情報処理方法

Country Status (2)

Country Link
JP (1) JP2020097061A (ja)
WO (1) WO2018180301A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240123611A1 (en) 2021-05-25 2024-04-18 Fanuc Corporation Robot simulation device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10255081A (ja) * 1997-03-10 1998-09-25 Canon Inc 画像処理方法及び画像処理装置
JP2016129915A (ja) * 2015-01-14 2016-07-21 ファナック株式会社 ロボットシステムのシミュレーション装置
JP2016209969A (ja) * 2015-05-12 2016-12-15 キヤノン株式会社 情報処理方法、および情報処理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10255081A (ja) * 1997-03-10 1998-09-25 Canon Inc 画像処理方法及び画像処理装置
JP2016129915A (ja) * 2015-01-14 2016-07-21 ファナック株式会社 ロボットシステムのシミュレーション装置
JP2016209969A (ja) * 2015-05-12 2016-12-15 キヤノン株式会社 情報処理方法、および情報処理装置

Also Published As

Publication number Publication date
JP2020097061A (ja) 2020-06-25

Similar Documents

Publication Publication Date Title
US11958190B2 (en) Information processing method and information processing apparatus
US20190143524A1 (en) Programming assistance apparatus, robot system, and method for generating program
JP2016209969A5 (ja)
US8706450B2 (en) Method and system for identification of grouping characteristics
JP5911933B2 (ja) ロボットの動作監視領域を設定するロボットシステム
JP2006293826A (ja) ロボットプログラム補正装置
CN102999657B (zh) 用于在计算机辅助设计系统中设计对象组合件的方法和系统
CN107103151B (zh) 一种基于bim的装配式结构的方法和装置
CN106843141B (zh) 数值控制装置
JP2018114576A (ja) オフラインプログラミング装置及び位置パラメータ補正方法
JP6184651B1 (ja) シミュレーション装置
WO2018180301A1 (ja) 情報処理装置、情報処理プログラム、情報処理方法
KR20180065323A (ko) 작업 정보 제공 장치 및 작업 정보 제공 방법
JP2004110828A (ja) ソリッドモデル上に数値制御ツールパスを生成する方法及びシステム
US20220111515A1 (en) Method and Apparatus for Managing Robot Program
JP6028703B2 (ja) グラフ生成装置、グラフ生成方法及びグラフ生成プログラム
JP2017027151A (ja) シールドトンネル作図装置
KR101652321B1 (ko) 관계형 db를 이용한 발전소의 루프 와이어링 다이어그램 자동 생성 시스템 및 방법
US20130275088A1 (en) Systems and methods of updating graphical objects
CN103823922A (zh) 设计对象的圆形交错图案
US10025884B1 (en) Manipulation tool for offset surface of a simulation model
JP2020089970A (ja) 情報処理方法、および情報処理装置
KR20140147761A (ko) 접히는 시트 오브젝트의 설계
CN107526333B (zh) 生成倒角切割工序的方法及装置
CN104345685A (zh) 加工程序优化系统及方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18778089

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18778089

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP