[go: up one dir, main page]

JP2024098188A - Teaching data storage device - Google Patents

Teaching data storage device Download PDF

Info

Publication number
JP2024098188A
JP2024098188A JP2023001479A JP2023001479A JP2024098188A JP 2024098188 A JP2024098188 A JP 2024098188A JP 2023001479 A JP2023001479 A JP 2023001479A JP 2023001479 A JP2023001479 A JP 2023001479A JP 2024098188 A JP2024098188 A JP 2024098188A
Authority
JP
Japan
Prior art keywords
twist
unit
amount
robot
teaching data
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
JP2023001479A
Other languages
Japanese (ja)
Inventor
梓紗 村田(檀上)
Murata, (Danjo) Azusa
雄太 鳴川
Yuta Narukawa
直樹 古川
Naoki Furukawa
正樹 久保
Masaki Kubo
豊和 北野
Toyokazu Kitano
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.)
Daihen Corp
Original Assignee
Daihen Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Daihen Corp filed Critical Daihen Corp
Priority to JP2023001479A priority Critical patent/JP2024098188A/en
Publication of JP2024098188A publication Critical patent/JP2024098188A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

To solve such a problem that if simulation of a linear body attached to a robot is performed after completion of a series of teachings, a teaching result could be wasted.SOLUTION: A teaching data accumulation apparatus 3 includes: a positional relation acquisition unit 33 which acquires a relative positional relation between a real environment and a display device 4; a reception unit 34 which receives operation and teaching instructions of a three-dimensional model 10 of a virtual robot; an image generation unit 35 which generates a display image that displays the operated three-dimensional model 10 on the basis of the three-dimensional model and the relative positional relation; an output unit 36 which outputs the display image to the display device 4; an accumulation unit 37 which accumulates teaching data at the time of reception of the teaching instructions; and a torsional amount acquisition unit 38 which acquires a torsional amount of a linear body attached to the three-dimensional model of the robot body of the virtual robot. The output unit 36 performs an output on the acquired torsional amount. In this way, it is possible to perform teaching while confirming the torsional amount of the linear body.SELECTED DRAWING: Figure 1

Description

本発明は、教示データを蓄積する教示データ蓄積装置に関する。 The present invention relates to a teaching data storage device that stores teaching data.

従来、ケーブルやホースなどの線状体の姿勢などについてシミュレーションを行うシステムが知られている。また、そのようなシミュレーションが、ロボットに取り付けられた線状体について行われることもある(例えば、特許文献1参照)。 Conventionally, systems are known that perform simulations of the posture of linear objects such as cables and hoses. Such simulations are also sometimes performed on linear objects attached to robots (see, for example, Patent Document 1).

特開2016-087750号公報JP 2016-087750 A

しかしながら、ロボットに取り付けられた線状体に関するシミュレーションは、通常、ロボットの動作が決定された後、すなわちティーチングが完了した後に行われる。したがって、そのシミュレーション結果によって、線状体に許容範囲を超えるねじれが発生していることが分かった場合には、再度、新たなティーチングを行う必要があり、以前のティーチングが無駄になる可能性があるという問題があった。 However, simulations of linear bodies attached to robots are usually performed after the robot's movements have been determined, i.e., after teaching has been completed. Therefore, if the simulation results show that the linear body has been twisted beyond the allowable range, new teaching must be performed again, which creates the problem of the possibility that the previous teaching may be wasted.

本発明は、上記課題を解決するためになされたものであり、教示データに応じてロボットが動作した際に、ロボット本体に取り付けられた線状体に許容範囲を超えるねじれが発生しないようにすることができる教示データ蓄積装置を提供することを目的とする。 The present invention has been made to solve the above problems, and aims to provide a teaching data storage device that can prevent twisting beyond an acceptable range from occurring in a linear body attached to the robot body when the robot operates according to teaching data.

上記目的を達成するため、本発明の一態様による教示データ蓄積装置は、実ロボットに対応する仮想ロボットの3次元モデルが記憶されるモデル記憶部と、実ロボットの教示データが記憶される教示データ記憶部と、実環境と、画像を実環境の画像または実環境そのものに重ねて表示する表示装置との相対的な位置関係を取得する位置関係取得部と、仮想ロボットの3次元モデルに対する操作及び教示の指示を受け付ける受付部と、仮想ロボットの3次元モデルと相対的な位置関係とに基づいて、操作された仮想ロボットの3次元モデルを実環境の所定の位置に表示するための表示画像を生成する画像生成部と、画像生成部によって生成された表示画像を表示装置に出力する出力部と、受付部によって仮想ロボットの3次元モデルに対する教示の指示が受け付けられた際に、仮想ロボットの3次元モデルに応じて教示データを教示データ記憶部に蓄積する蓄積部と、仮想ロボットのロボット本体の3次元モデルに取り付けられた線状体のねじれ量を取得するねじれ量取得部と、を備え、出力部は、ねじれ量取得部によって取得されたねじれ量に関する出力をも行う、ものである。 In order to achieve the above object, a teaching data storage device according to one aspect of the present invention includes a model storage unit in which a three-dimensional model of a virtual robot corresponding to a real robot is stored, a teaching data storage unit in which teaching data of the real robot is stored, a positional relationship acquisition unit that acquires a relative positional relationship between the real environment and a display device that displays an image superimposed on an image of the real environment or on the real environment itself, a reception unit that accepts operation and teaching instructions for the three-dimensional model of the virtual robot, an image generation unit that generates a display image for displaying the three-dimensional model of the operated virtual robot at a predetermined position in the real environment based on the relative positional relationship with the three-dimensional model of the virtual robot, an output unit that outputs the display image generated by the image generation unit to the display device, a storage unit that accumulates teaching data in the teaching data storage unit according to the three-dimensional model of the virtual robot when a teaching instruction for the three-dimensional model of the virtual robot is accepted by the reception unit, and a twist amount acquisition unit that acquires the twist amount of a linear body attached to the three-dimensional model of the robot body of the virtual robot, and the output unit also outputs the twist amount acquired by the twist amount acquisition unit.

本発明の一態様による教示データ蓄積装置によれば、ロボット本体に取り付けられた線状体のねじれ量をティーチングの際に知ることができる。したがって、例えば、線状体のねじれ量が大きい場合には、線状体の取り回しを変更したり、ティーチングを変更したりすることによって、線状体のねじれ量がより小さくなるようにすることができる。その結果、蓄積された教示データに応じてロボットが動作した際に、ロボット本体に取り付けられた線状体に許容範囲を超えるねじれが発生しないようにすることができる。 According to a teaching data storage device according to one aspect of the present invention, the amount of twist in the linear body attached to the robot body can be known during teaching. Therefore, for example, if the amount of twist in the linear body is large, the amount of twist in the linear body can be reduced by changing the way the linear body is handled or by changing the teaching. As a result, when the robot operates according to the stored teaching data, it is possible to prevent the linear body attached to the robot body from twisting beyond the allowable range.

本発明の実施の形態による教示データ蓄積装置の構成を示すブロック図FIG. 1 is a block diagram showing a configuration of a teaching data storage device according to an embodiment of the present invention; 同実施の形態による教示データ蓄積装置の動作を示すフローチャートA flowchart showing the operation of the teaching data storage device according to the embodiment. 同実施の形態における仮想ロボットの3次元モデル及びねじれ量の表示の一例を示す図FIG. 13 is a diagram showing an example of a display of a three-dimensional model of a virtual robot and a twist amount in the embodiment. 同実施の形態における取得されたねじれ量の一例を示す図FIG. 13 is a diagram showing an example of an acquired torsion amount in the embodiment; 同実施の形態による教示データ蓄積装置の他の構成の一例を示すブロック図FIG. 2 is a block diagram showing another example of the configuration of the teaching data storage device according to the embodiment;

以下、本発明による教示データ蓄積装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。本実施の形態による教示データ蓄積装置は、ティーチングの際に、ロボット本体に取り付けられた線状体のねじれ量を取得し、そのねじれ量に関する出力を行うものである。 The teaching data storage device according to the present invention will be described below using an embodiment. Note that in the following embodiments, components and steps with the same reference numerals are the same or equivalent, and repeated explanations may be omitted. The teaching data storage device according to this embodiment acquires the amount of twist of a linear body attached to the robot body during teaching, and outputs information related to the amount of twist.

図1は、本実施の形態による教示データ蓄積装置3を含む情報処理システム100の構成を示す模式図である。図1で示されるように、情報処理システム100は、ロボット1と、ロボット制御装置2と、教示データ蓄積装置3と、表示装置4とを備える。なお、各装置間は、例えば、有線または無線で接続されてもよい。また、本実施の形態では、図1で示されるように実ロボットであるロボット1が実環境に存在する場合について主に説明するが、そうでなくてもよい。例えば、実環境にロボット1が存在していなくてもよい。この場合には、情報処理システム100は、例えば、ロボット1やロボット制御装置2を備えていなくてもよい。 FIG. 1 is a schematic diagram showing the configuration of an information processing system 100 including a teaching data storage device 3 according to this embodiment. As shown in FIG. 1, the information processing system 100 includes a robot 1, a robot control device 2, a teaching data storage device 3, and a display device 4. Note that the devices may be connected to each other, for example, by wire or wirelessly. Also, this embodiment will mainly describe a case where the robot 1, which is an actual robot, exists in a real environment as shown in FIG. 1, but this is not necessarily the case. For example, the robot 1 may not exist in the real environment. In this case, the information processing system 100 may not include, for example, the robot 1 or the robot control device 2.

ロボット1は、通常、産業用ロボットであり、モータにより駆動される関節によって連結された複数のアーム(すなわち、リンク)を有するマニピュレータであってもよい。ロボット1は、例えば、垂直多関節ロボットであってもよく、水平多関節ロボットであってもよい。また、ロボット1は、例えば、搬送ロボットであってもよく、溶接ロボットであってもよく、組立ロボットであってもよく、塗装ロボットであってもよく、または、その他の用途のロボットであってもよい。本実施の形態では、ロボット1が溶接ロボットである場合について主に説明する。また、ロボット1は、ロボット本体と、そのロボット本体に取り付けられた線状体1aとを含んでいる。なお、ロボット1のうち、線状体1a以外の部分がロボット本体であると考えてもよい。線状体1aは、例えば、電力を供給するための配線ケーブルや、制御信号等を送信するための配線ケーブルであってもよく、溶接ワイヤが内部を通過するコンジットケーブルであってもよく、液体や気体を供給するための配管であってもよく、ロボット本体に取り付けられているその他の線状の構成であってもよい。線状体1aは、通常、ロボット1の姿勢に応じて形状が変化するもの、すなわち可撓性を有するものであることが好適である。図1では、線状体1aが、両端部1b,1cにおいてそれぞれロボット1の筐体に固定されている場合について示しているが、線状体1aは、例えば、両端部1b,1c以外においてもロボット1の筐体に固定されていてもよい。線状体1aがロボット1の筐体に固定されている位置を固定位置と呼ぶこともある。また、図1では、一例として、線状体1aの一部がロボット1の筐体の内部を通過している場合について示しているが、そうでなくてもよい。線状体1aは、例えば、その全体が筐体の外部に存在してもよく、その全体が筐体の内部に存在してもよい。なお、ロボット1は、実環境に存在するロボットであるため、仮想環境に存在する3次元モデルの仮想ロボットと区別するために実ロボットと呼ぶこともある。実環境とは、実空間の環境のことである。 The robot 1 is usually an industrial robot, and may be a manipulator having a plurality of arms (i.e., links) connected by joints driven by a motor. The robot 1 may be, for example, a vertical articulated robot or a horizontal articulated robot. The robot 1 may also be, for example, a transport robot, a welding robot, an assembly robot, a painting robot, or a robot for other purposes. In this embodiment, the case where the robot 1 is a welding robot will be mainly described. The robot 1 includes a robot main body and a linear body 1a attached to the robot main body. Note that the part of the robot 1 other than the linear body 1a may be considered to be the robot main body. The linear body 1a may be, for example, a wiring cable for supplying power, a wiring cable for transmitting control signals, etc., a conduit cable through which a welding wire passes, a pipe for supplying liquid or gas, or another linear configuration attached to the robot main body. It is usually preferable that the linear body 1a is one whose shape changes depending on the posture of the robot 1, that is, one that has flexibility. FIG. 1 shows a case where the linear body 1a is fixed to the housing of the robot 1 at both ends 1b and 1c, but the linear body 1a may also be fixed to the housing of the robot 1 at other places than both ends 1b and 1c. The position where the linear body 1a is fixed to the housing of the robot 1 may be called a fixed position. FIG. 1 also shows a case where a part of the linear body 1a passes through the inside of the housing of the robot 1 as an example, but this is not necessary. The linear body 1a may be, for example, entirely outside the housing, or entirely inside the housing. Note that the robot 1 is a robot that exists in a real environment, and is therefore sometimes called a real robot to distinguish it from a three-dimensional model virtual robot that exists in a virtual environment. The real environment refers to the environment in real space.

ロボット制御装置2は、ティーチングプレイバック方式によってロボット1の動作を制御する。教示データに基づいてロボット1を動作させるロボット制御装置2は、すでに公知であり、その詳細な説明を省略する。なお、情報処理システム100は、例えば、ロボット1のティーチングを行うためのティーチングペンダントをさらに有していてもよく、また、ロボット1が溶接ロボットである場合には、必要に応じて溶接電源やワイヤ送給装置等をさらに有していてもよい。 The robot control device 2 controls the operation of the robot 1 using a teaching playback method. The robot control device 2 that operates the robot 1 based on teaching data is already publicly known, and a detailed description thereof will be omitted. Note that the information processing system 100 may further include, for example, a teaching pendant for teaching the robot 1, and if the robot 1 is a welding robot, may further include a welding power source, a wire feeder, etc., as necessary.

教示データ蓄積装置3は、ロボット1に対応する仮想ロボットの3次元モデル10を用いて、ロボット1の教示データを蓄積するものである。教示データ蓄積装置3の詳細については後述する。 The teaching data storage device 3 stores teaching data for the robot 1 using a three-dimensional model 10 of a virtual robot corresponding to the robot 1. Details of the teaching data storage device 3 will be described later.

表示装置4は、画像を実環境の画像または実環境そのものに重ねて表示する。すなわち、教示を行う作業者は、表示装置4によって、実環境と仮想環境の画像との両方を見ることができる。表示装置4は、教示を行う作業者が頭部に装着する装着型の表示装置であってもよく、または、タブレット端末などの可搬型の情報処理端末である表示装置であってもよい。装着型の表示装置は、例えば、ヘッドマウントディスプレイであってもよい。また、表示装置4は、例えば、透過型ディスプレイを有するものであってもよい。この場合には、表示装置4は、画像を実環境そのものに重ねて表示することになる。透過型ディスプレイを有する装着型の表示装置4としては、例えば、HoloLens(登録商標)等が知られている。このような透過型ディスプレイを有する表示装置4は、複合現実(MR:Mixed Reality)を実現するための表示装置であると考えることもできる。また、表示装置4は、例えば、非透過型ディスプレイを有するものであってもよい。この場合には、表示装置4は、画像を実環境の画像に重ねて表示することになる。したがって、非透過型ディスプレイを有する表示装置4は、実環境を撮影するためのカメラを有しているか、または、実環境を撮影するカメラと接続されていることが好適である。カメラで撮影された実環境の画像は、リアルタイムで非透過型ディスプレイに表示される。非透過型ディスプレイを有する装着型の表示装置4としては、例えば、Oculus Quest等が知られている。このような非透過型ディスプレイを有する表示装置4は、拡張現実(AR:Augmented Reality)を実現するための表示装置であると考えることもできる。タブレット端末などの可搬型の情報処理端末である表示装置4は、例えば、カメラとディスプレイとを有しており、カメラで撮影した実環境の画像をリアルタイムでティスプレイに表示してもよい。本実施の形態では、表示装置4が透過型のディスプレイを有するヘッドマウントディスプレイである場合について主に説明する。 The display device 4 displays an image superimposed on an image of the real environment or the real environment itself. That is, the operator who gives the instruction can see both the real environment and the virtual environment images by using the display device 4. The display device 4 may be a wearable display device that the operator who gives the instruction wears on his/her head, or may be a display device that is a portable information processing terminal such as a tablet terminal. The wearable display device may be, for example, a head-mounted display. The display device 4 may also have, for example, a transmissive display. In this case, the display device 4 displays an image superimposed on the real environment itself. As a wearable display device 4 having a transmissive display, for example, HoloLens (registered trademark) is known. Such a display device 4 having a transmissive display can also be considered as a display device for realizing mixed reality (MR: Mixed Reality). The display device 4 may also have, for example, a non-transmissive display. In this case, the display device 4 displays an image superimposed on an image of the real environment. Therefore, it is preferable that the display device 4 having a non-transmissive display has a camera for photographing the real environment or is connected to a camera for photographing the real environment. The image of the real environment captured by the camera is displayed on the non-transmissive display in real time. For example, Oculus Quest is known as a wearable display device 4 having a non-transmissive display. Such a display device 4 having a non-transmissive display can also be considered as a display device for realizing augmented reality (AR). The display device 4, which is a portable information processing terminal such as a tablet terminal, has, for example, a camera and a display, and may display an image of the real environment captured by the camera on the display in real time. In this embodiment, the case where the display device 4 is a head-mounted display having a transmissive display will be mainly described.

図1で示されるように、教示データ蓄積装置3は、ロボット制御装置2及び表示装置4と接続されており、モデル記憶部31と、教示データ記憶部32と、位置関係取得部33と、受付部34と、画像生成部35と、出力部36と、蓄積部37と、ねじれ量取得部38とを備える。 As shown in FIG. 1, the teaching data storage device 3 is connected to the robot control device 2 and the display device 4, and includes a model memory unit 31, a teaching data storage unit 32, a positional relationship acquisition unit 33, a reception unit 34, an image generation unit 35, an output unit 36, a storage unit 37, and a twist amount acquisition unit 38.

モデル記憶部31では、実ロボットであるロボット1に対応する仮想ロボットの3次元モデル10が記憶される。仮想ロボットの3次元モデル10は、3次元モデルで構成されている以外は、実ロボットであるロボット1と同じサイズ及び構成であるものとする。また、この3次元モデル10は、ロボット1と同様に、複数のアームの関節の角度などを変更可能になっているものとする。また、仮想ロボットの3次元モデル10も、ロボット1と同様に、両端部10b,10cで筐体に固定された線状体10aを有している。 The model storage unit 31 stores a three-dimensional model 10 of a virtual robot that corresponds to the robot 1, which is an actual robot. The three-dimensional model 10 of the virtual robot is assumed to have the same size and configuration as the robot 1, which is an actual robot, except that it is configured as a three-dimensional model. Furthermore, like the robot 1, this three-dimensional model 10 is assumed to be able to change the angles of the joints of multiple arms. Furthermore, like the robot 1, the three-dimensional model 10 of the virtual robot also has a linear body 10a fixed to the housing at both ends 10b, 10c.

モデル記憶部31に仮想ロボットの3次元モデルの情報が記憶される過程は問わない。例えば、記録媒体を介して情報がモデル記憶部31で記憶されるようになってもよく、通信回線等を介して送信された情報がモデル記憶部31で記憶されるようになってもよい。モデル記憶部31は、不揮発性の記録媒体によって実現されることが好適であるが、揮発性の記録媒体によって実現されてもよい。記録媒体は、例えば、半導体メモリや磁気ディスクなどであってもよい。また、モデル記憶部31で記憶されている3次元モデル10の形状や各関節の角度は、例えば、受け付けられた操作に応じて変更されてもよい。 The process by which the information on the three-dimensional model of the virtual robot is stored in the model storage unit 31 is not important. For example, the information may be stored in the model storage unit 31 via a recording medium, or information transmitted via a communication line or the like may be stored in the model storage unit 31. The model storage unit 31 is preferably realized by a non-volatile recording medium, but may also be realized by a volatile recording medium. The recording medium may be, for example, a semiconductor memory or a magnetic disk. In addition, the shape of the three-dimensional model 10 and the angles of each joint stored in the model storage unit 31 may be changed, for example, in response to a received operation.

教示データ記憶部32では、実ロボットであるロボット1の教示データが記憶される。ロボット1の教示データは、蓄積部37によって教示データ記憶部32に蓄積される。なお、教示データ記憶部32に蓄積された教示データは、実ロボットであるロボット1の制御に用いられる教示データである。そのため、例えば、教示データ記憶部32で記憶されている教示データは、ロボット制御装置2に出力されてもよい。この場合には、教示データ蓄積装置3は、例えば、教示データ記憶部32で記憶されている教示データをロボット制御装置2や、その他の装置、着脱可能な記録媒体等に出力するための図示しない教示データ出力部を有していてもよい。また、例えば、ロボット制御装置2がロボット1を制御する際に、教示データ記憶部32で記憶されている教示データにアクセスしてもよい。教示データは、例えば、教示点ごとにロボット1の位置及び姿勢を示すものであってもよい。ロボット1の位置及び姿勢を示す情報は、例えば、ロボット1の手先の位置及び姿勢を示す情報であってもよく、ロボット1の各軸における角度を示す情報であってもよい。また、教示データには、例えば、直線補間、曲線補間、円弧補間などの教示点間の補間方法を示す情報も含まれていてもよい。また、教示データには、例えば、複数の教示点が補間された教示線が含まれていてもよい。教示データが教示点などの位置の情報を含む場合に、その位置の情報は、例えば、ロボットのローカル座標系における情報であってもよく、または、ワールド座標系における情報であってもよい。仮想ロボットの3次元モデル10が実ロボットであるロボット1とは異なる位置に表示される際には前者が好適である。なお、後者の場合には、教示データは、通常、ワールド座標系における所定の位置に配置されたロボット1について用いられる教示データとなる。教示データ記憶部32は、不揮発性の記録媒体によって実現されることが好適であるが、揮発性の記録媒体によって実現されてもよい。記録媒体は、例えば、半導体メモリや磁気ディスクなどであってもよい。 The teaching data storage unit 32 stores the teaching data of the robot 1, which is an actual robot. The teaching data of the robot 1 is stored in the teaching data storage unit 32 by the storage unit 37. The teaching data stored in the teaching data storage unit 32 is teaching data used to control the robot 1, which is an actual robot. Therefore, for example, the teaching data stored in the teaching data storage unit 32 may be output to the robot control device 2. In this case, the teaching data storage device 3 may have, for example, a teaching data output unit (not shown) for outputting the teaching data stored in the teaching data storage unit 32 to the robot control device 2, other devices, removable recording media, etc. Also, for example, when the robot control device 2 controls the robot 1, it may access the teaching data stored in the teaching data storage unit 32. The teaching data may, for example, indicate the position and posture of the robot 1 for each teaching point. The information indicating the position and posture of the robot 1 may, for example, be information indicating the position and posture of the hand of the robot 1, or information indicating the angle in each axis of the robot 1. The teaching data may also include information indicating an interpolation method between teaching points, such as linear interpolation, curved interpolation, or circular interpolation. The teaching data may also include, for example, a teaching line in which multiple teaching points are interpolated. When the teaching data includes information on the positions of teaching points, the position information may be, for example, information in the local coordinate system of the robot, or information in the world coordinate system. The former is preferable when the three-dimensional model 10 of the virtual robot is displayed at a position different from the robot 1, which is the actual robot. In the latter case, the teaching data is usually teaching data used for the robot 1 placed at a predetermined position in the world coordinate system. The teaching data storage unit 32 is preferably realized by a non-volatile recording medium, but may be realized by a volatile recording medium. The recording medium may be, for example, a semiconductor memory or a magnetic disk.

なお、モデル記憶部31と、教示データ記憶部32とは、同一の記録媒体によって実現されてもよく、または、別々の記録媒体によって実現されてもよい。前者の場合には、例えば、仮想ロボットの3次元モデル10を記憶している領域がモデル記憶部31となり、教示データを記憶している領域が教示データ記憶部32となる。 The model storage unit 31 and the teaching data storage unit 32 may be realized by the same recording medium, or may be realized by separate recording media. In the former case, for example, the area storing the 3D model 10 of the virtual robot becomes the model storage unit 31, and the area storing the teaching data becomes the teaching data storage unit 32.

位置関係取得部33は、実環境と表示装置4との相対的な位置関係を取得する。なお、実環境は、例えば、ロボット1が存在する実環境であってもよい。本実施の形態では、この場合について主に説明する。実環境と表示装置4との相対的な位置関係を取得するとは、例えば、実環境の座標系であるワールド座標系と、表示装置4のローカル座標系である表示座標系との相対的な位置関係を取得することであってもよい。その相対的な位置関係は、例えば、両座標系間の変換を示す同次変換行列によって示されてもよい。なお、実環境と表示装置4との相対的な位置関係は、例えば、実環境に存在するロボット1や他のオブジェクト、または後述する基準マーカと、表示装置4との相対的な位置関係であってもよく、実環境における表示装置4の位置や姿勢を示す情報であってもよい。 The positional relationship acquisition unit 33 acquires the relative positional relationship between the real environment and the display device 4. The real environment may be, for example, the real environment in which the robot 1 exists. In this embodiment, this case will be mainly described. Acquiring the relative positional relationship between the real environment and the display device 4 may be, for example, acquiring the relative positional relationship between the world coordinate system, which is the coordinate system of the real environment, and the display coordinate system, which is the local coordinate system of the display device 4. The relative positional relationship may be indicated, for example, by a homogeneous transformation matrix indicating the transformation between the two coordinate systems. The relative positional relationship between the real environment and the display device 4 may be, for example, the relative positional relationship between the robot 1 or other objects existing in the real environment, or a reference marker, which will be described later, and the display device 4, or may be information indicating the position and attitude of the display device 4 in the real environment.

位置関係取得部33が、この相対的な位置関係を取得する方法は問わない。例えば、実環境の環境地図が用意されている場合には、位置関係取得部33は、実環境の環境地図と、表示装置4によって取得された周囲の物体までの距離や周囲の画像とを用いて、SLAM(Simultaneous Localization and Mapping)や、Visual-SLAMの手法を用いて、3次元の実環境における表示装置4の位置や姿勢を示す情報である相対的な位置関係を取得してもよい。この場合には、例えば、教示データ蓄積装置3において環境地図が保持されており、位置関係取得部33は、表示装置4から受け取った周囲の物体までの距離や周囲の画像と、環境地図とを用いて、相対的な位置関係を取得してもよい。また、例えば、SLAMやVisual-SLAMの手法を用いた相対的な位置関係の取得は表示装置4において行われ、その相対的な位置関係が位置関係取得部33に渡されてもよい。この場合には、位置関係取得部33による相対的な位置関係の取得は、相対的な位置関係の受け付けであってもよい。また、この場合には、表示装置4は、周囲の物体までの距離を測定可能な深度センサや、周囲の画像を取得可能なカメラを有していてもよい。また、位置関係取得部33は、表示装置4のカメラで撮影された画像を受け取り、その画像に含まれるロボット1や他のオブジェクト、または後述する基準マーカの3以上の特徴点を用いて、ワールド座標系と表示座標系との間の変換を示す同次変換行列を取得してもよい。 The method by which the positional relationship acquisition unit 33 acquires this relative positional relationship is not important. For example, when an environmental map of the real environment is prepared, the positional relationship acquisition unit 33 may acquire the relative positional relationship, which is information indicating the position and attitude of the display device 4 in the three-dimensional real environment, using the environmental map of the real environment and the distance to the surrounding objects and the surrounding image acquired by the display device 4, using a method such as SLAM (Simultaneous Localization and Mapping) or Visual-SLAM. In this case, for example, the environmental map is stored in the teaching data storage device 3, and the positional relationship acquisition unit 33 may acquire the relative positional relationship using the distance to the surrounding objects and the surrounding image received from the display device 4 and the environmental map. Also, for example, the acquisition of the relative positional relationship using the SLAM or Visual-SLAM method may be performed in the display device 4, and the relative positional relationship may be passed to the positional relationship acquisition unit 33. In this case, the acquisition of the relative positional relationship by the positional relationship acquisition unit 33 may be the acceptance of the relative positional relationship. In this case, the display device 4 may have a depth sensor capable of measuring the distance to surrounding objects and a camera capable of acquiring images of the surroundings. The positional relationship acquisition unit 33 may receive an image captured by the camera of the display device 4, and acquire a homogeneous transformation matrix indicating the transformation between the world coordinate system and the display coordinate system using three or more feature points of the robot 1 or other objects, or a reference marker (described later), contained in the image.

また、位置関係取得部33は、上記した以外の方法によって、実環境と表示装置4との相対的な位置関係を取得してもよい。その方法の一例については、例えば、次の文献1~3等を参照されたい。また、後述する表示画像の生成ごとに、位置関係取得部33によって上記のようにして相対的な位置関係が取得されてもよく、または、そうでなくてもよい。後者の場合には、例えば、相対的な位置関係が取得された後の表示装置4の位置や姿勢の変化を用いて、実環境と表示装置4との相対的な位置関係が更新されてもよい。この更新は、例えば、位置関係取得部33によって行われてもよい。また、この更新が行われる場合には、表示装置4は、例えば、加速度センサや表示装置4の向きを取得するためのセンサ等を備えており、それらのセンサを用いて位置の変化や姿勢の変化が取得されてもよい。なお、それらのセンサによって取得された値は、例えば、位置関係取得部33などの相対的な位置関係を更新する構成要素に渡されてもよい。表示装置4の向きを取得するためのセンサは、例えば、ジャイロセンサや方位センサ等であってもよい。
文献1:特開2017-100234号公報
文献2:特開2020-055075号公報
文献3:特開2020-069538号公報
The positional relationship acquisition unit 33 may acquire the relative positional relationship between the real environment and the display device 4 by a method other than the above. For an example of the method, see, for example, the following documents 1 to 3. The relative positional relationship may be acquired by the positional relationship acquisition unit 33 as described above for each generation of a display image described later, or may not be acquired. In the latter case, for example, the relative positional relationship between the real environment and the display device 4 may be updated using a change in the position or attitude of the display device 4 after the relative positional relationship is acquired. This update may be performed by, for example, the positional relationship acquisition unit 33. When this update is performed, the display device 4 may include, for example, an acceleration sensor or a sensor for acquiring the orientation of the display device 4, and the change in position or attitude may be acquired using these sensors. Note that the values acquired by these sensors may be passed to a component that updates the relative positional relationship, such as the positional relationship acquisition unit 33. The sensor for acquiring the orientation of the display device 4 may be, for example, a gyro sensor or an orientation sensor.
Document 1: JP 2017-100234 A Document 2: JP 2020-055075 A Document 3: JP 2020-069538 A

受付部34は、仮想ロボットの3次元モデル10に対する操作を受け付ける。また、受付部34は、仮想ロボットの3次元モデルに対する教示の指示を受け付ける。例えば、3次元モデル10に対する操作や教示の指示は、表示装置4の表示画像を見ている作業者から受け付けられてもよい。3次元モデル10に対する操作は、例えば、3次元モデル10の少なくとも一部の位置や姿勢を変化させるための操作であってもよい。操作や教示の指示の受け付けは、例えば、実環境に存在するティーチングペンダントなどの入力デバイスを介して行われてもよく、表示装置4のディスプレイに表示された仮想ボタンや仮想ティーチングペンダントなどの仮想入力インターフェースを介して行われてもよい。後者の場合には、例えば、仮想ロボットの3次元モデル10に対する操作や教示の指示の受け付けは、例えば、表示装置4を介して行われてもよい。仮想入力インターフェースは、例えば、エアタップなどの動作に応じて表示装置4のディスプレイに表示され、作業者の指やポインティングデバイスによってボタン等が選択された場合に、そのボタン等の操作に応じた入力が表示装置4から受付部34に渡されてもよい。また、作業者の手などのジェスチャによって、仮想ロボットの3次元モデル10の少なくとも一部(例えば、ツールなどの手先など)の位置や姿勢を変更できてもよい。この場合には、例えば、作業者がディスプレイに表示された3次元モデル10を手でつまむ動作(ホールド動作)を行うことによって、その手でつまんだ部分が操作の対象として特定され、その手の位置や姿勢を変化させることによって、特定された対象の位置や姿勢を変化させる操作が行われ、そのつまむ動作を終了させることによって、特定された対象への操作が終了されてもよい。この場合には、例えば、操作の対象を示す情報(例えば、3次元モデル10における位置や部分を示す情報)と、操作の内容を示す情報(例えば、位置の変更や姿勢の変更などを示す情報)とが表示装置4から受付部34に渡されてもよく、または、表示装置4において取得されたハンドトラッキングの結果が受付部34に渡され、教示データ蓄積装置3において、操作の対象や操作の内容が特定されてもよい。表示装置4において操作の対象を示す情報と操作の内容を示す情報とが取得される場合には、表示装置4は、教示データ蓄積装置3で保持されている、仮想空間における仮想ロボットの現時点の3次元モデル10の情報にアクセス可能であってもよい。なお、作業者の手を用いた操作が行われる場合には、表示装置4はカメラを有しており、そのカメラで撮影された作業者の手のハンドトラッキングが行われることによって、作業者の手が、ディスプレイ上のどの位置に存在するのかが特定されてもよい。また、作業者の手などのジェスチャに応じた3次元モデルの表示画像への操作を、3次元仮想空間における3次元モデルの位置や姿勢の変化に変換する方法はすでに公知であり、その詳細な説明を省略する。 The reception unit 34 receives an operation for the three-dimensional model 10 of the virtual robot. The reception unit 34 also receives a teaching instruction for the three-dimensional model of the virtual robot. For example, an operation or teaching instruction for the three-dimensional model 10 may be received from a worker who is viewing the display image of the display device 4. The operation for the three-dimensional model 10 may be, for example, an operation for changing the position or posture of at least a part of the three-dimensional model 10. The reception of the operation or teaching instruction may be performed, for example, via an input device such as a teaching pendant present in the real environment, or may be performed via a virtual input interface such as a virtual button or a virtual teaching pendant displayed on the display of the display device 4. In the latter case, for example, the reception of the operation or teaching instruction for the three-dimensional model 10 of the virtual robot may be performed, for example, via the display device 4. The virtual input interface may be displayed on the display of the display device 4 in response to an operation such as an air tap, and when a button or the like is selected by the worker's finger or pointing device, an input corresponding to the operation of the button or the like may be passed from the display device 4 to the reception unit 34. In addition, the position and posture of at least a part (e.g., a hand tip of a tool, etc.) of the three-dimensional model 10 of the virtual robot may be changed by a gesture of the worker's hand or the like. In this case, for example, when the worker performs an action of pinching the three-dimensional model 10 displayed on the display with his/her hand (holding action), the part pinched with the hand is specified as the target of operation, and an operation of changing the position and posture of the specified target is performed by changing the position and posture of the hand, and the operation on the specified target may be ended by ending the pinching action. In this case, for example, information indicating the target of operation (e.g., information indicating the position or part in the three-dimensional model 10) and information indicating the content of the operation (e.g., information indicating a change in position or a change in posture) may be passed from the display device 4 to the reception unit 34, or the result of hand tracking acquired by the display device 4 may be passed to the reception unit 34, and the target of operation and the content of the operation may be specified in the teaching data storage device 3. When the display device 4 acquires information indicating the target of the operation and information indicating the content of the operation, the display device 4 may be able to access information on the current 3D model 10 of the virtual robot in the virtual space, which is stored in the teaching data storage device 3. When the operation is performed using the worker's hand, the display device 4 may have a camera, and the position of the worker's hand on the display may be identified by performing hand tracking of the worker's hand photographed by the camera. In addition, a method of converting an operation on a display image of a 3D model according to a gesture of the worker's hand or the like into a change in the position or posture of the 3D model in a 3D virtual space is already known, and a detailed description thereof will be omitted.

また、受付部34は、仮想ロボットのロボット本体の3次元モデル10に取り付けられた線状体10aの取り回しの変更を受け付けてもよい。受付部34は、例えば、実環境の入力デバイスや、仮想入力インターフェースを介して入力された線状体10aの取り回しの変更を受け付けてもよい。線状体10aの取り回しの変更とは、例えば、線状体10aの初期ねじれ量の変更、線状体10aの長さの変更、線状体10aの固定位置の変更の少なくともいずれかであってもよい。線状体10aの初期ねじれ量は、線状体10aの端部10b,10cの固定位置の少なくとも一方において、線状体10aを初期の角度から回転させた角度であってもよい。線状体10aの取り回しの変更が初期ねじれ量の変更である場合に、受付部34は、変更後の初期ねじれ量を受け付けてもよい。線状体10aの長さは、線状体10aにおける一方の固定位置である端部10bから、他方の固定位置である端部10cまでの線状体10aに沿った長さであってもよい。線状体10aの取り回しの変更が長さの変更である場合に、受付部34は、変更後の長さを受け付けてもよい。線状体10aの固定位置は、例えば、線状体10aの端部の固定位置であってもよい。その固定位置は、例えば、あらかじめ決められた範囲内において位置を変更できるようになっていてもよい。例えば、線状体10aが配線ケーブルである場合に、線状体10aの端部に延長アダプタを追加することによって、端部の固定位置を数センチメートル程度、変更できるようになっていてもよい。線状体10aの取り回しの変更が固定位置の変更である場合に、受付部34は、変更後の固定位置を識別する識別子を受け付けてもよい。この場合には、線状体10aの固定位置と、その固定位置を識別する識別子との対応関係があらかじめ教示データ蓄積装置3において保持されていることが好適である。また、線状体10aの取り回しの変更が、線状体10aの長さの変更や固定位置の変更である場合には、その変更の受け付けに応じて仮想ロボットの3次元モデル10における線状体10aの部分が変更されてもよい。この変更は、例えば、画像生成部35によって行われてもよい。本実施の形態では、線状体10aの取り回しの変更が、線状体10aの初期ねじれ量の変更である場合について主に説明する。 The reception unit 34 may also receive a change in the way the linear body 10a is attached to the three-dimensional model 10 of the robot body of the virtual robot. The reception unit 34 may receive a change in the way the linear body 10a is handled, for example, input via an input device in the real environment or a virtual input interface. The change in the way the linear body 10a is handled may be, for example, at least one of a change in the initial twist amount of the linear body 10a, a change in the length of the linear body 10a, and a change in the fixed position of the linear body 10a. The initial twist amount of the linear body 10a may be an angle at which the linear body 10a is rotated from an initial angle at at least one of the fixed positions of the ends 10b and 10c of the linear body 10a. When the change in the way the linear body 10a is handled is a change in the initial twist amount, the reception unit 34 may receive the changed initial twist amount. The length of the linear body 10a may be the length along the linear body 10a from the end 10b, which is one fixed position of the linear body 10a, to the end 10c, which is the other fixed position. When the change in the layout of the linear body 10a is a change in the length, the reception unit 34 may receive the changed length. The fixed position of the linear body 10a may be, for example, a fixed position of the end of the linear body 10a. The fixed position may be changeable within a predetermined range, for example. For example, when the linear body 10a is a distribution cable, the fixed position of the end may be changeable by about several centimeters by adding an extension adapter to the end of the linear body 10a. When the change in the layout of the linear body 10a is a change in the fixed position, the reception unit 34 may receive an identifier that identifies the fixed position after the change. In this case, it is preferable that the correspondence between the fixed position of the linear body 10a and the identifier that identifies the fixed position is held in advance in the teaching data storage device 3. Furthermore, if the change in the way the linear body 10a is handled is a change in the length of the linear body 10a or a change in the fixed position, the part of the linear body 10a in the three-dimensional model 10 of the virtual robot may be changed in response to the acceptance of the change. This change may be performed by, for example, the image generating unit 35. In this embodiment, a case where the change in the way the linear body 10a is handled is a change in the amount of initial twist of the linear body 10a will be mainly described.

受付部34は、上記した以外の情報等を受け付けてもよい。受付部34は、例えば、教示が終了した旨などを受け付けてもよい。受付部34は、例えば、入力デバイスや表示装置4から入力された情報を受け付けてもよく、有線または無線の通信回線を介して送信された情報を受信してもよい。なお、受付部34は、受け付けを行うためのデバイス(例えば、入力デバイスや通信デバイスなど)を含んでもよく、または含まなくてもよい。また、受付部34は、ハードウェアによって実現されてもよく、または所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。 The reception unit 34 may receive information other than the above. For example, the reception unit 34 may receive a notification that teaching has ended. For example, the reception unit 34 may receive information input from an input device or the display device 4, or may receive information transmitted via a wired or wireless communication line. The reception unit 34 may or may not include a device for receiving the information (for example, an input device or a communication device). The reception unit 34 may be realized by hardware, or may be realized by software such as a driver that drives a specific device.

画像生成部35は、モデル記憶部31で記憶されている3次元モデル10と、位置関係取得部33によって取得された相対的な位置関係とに基づいて、3次元モデル10を実環境の所定の位置に表示するための表示画像を生成する。また、仮想ロボットの3次元モデル10への操作が受け付けられた場合には、画像生成部35は、操作された3次元モデル10を表示するための表示画像を生成する。画像生成部35は、例えば、モデル記憶部31で記憶されている3次元モデル10の各関節の角度を、受け付けられた操作に応じて変更してもよい。なお、3次元モデル10を実環境の所定の位置に表示するとは、例えば、実ロボットであるロボット1と仮想ロボットの3次元モデル10とが所定の位置関係となるように3次元モデル10を表示することであってもよく、後述するように、基準マーカと仮想ロボットの3次元モデル10とが所定の位置関係となるように3次元モデル10を表示することであってもよい。所定の位置関係は、例えば、あらかじめ決められた位置関係であってもよく、作業者が変更することができる位置関係であってもよい。仮想ロボットの3次元モデル10は、例えば、ロボット1または基準マーカの位置に表示されてもよく、ロボット1または基準マーカと異なる位置に表示されてもよい。仮想ロボットの3次元モデル10をロボット1の位置に表示するとは、ロボット1と同じ位置に仮想ロボットが配置されるように3次元モデル10を表示することであり、例えば、仮想ロボットの3次元モデル10の基端側の端部(例えば、床面などへの取り付け部分)が、ロボット1の基端側の端部に重なるように表示することであってもよい。仮想ロボットの3次元モデル10を基準マーカの位置に表示するとは、基準マーカの位置に実ロボットを配置した状況が仮想的に再現されるように仮想ロボットの3次元モデル10を表示することであってもよく、例えば、仮想ロボットの3次元モデル10の基端側の端面(例えば、床面などへの取り付け面)が、基準マーカの面と一致するように仮想ロボットの3次元モデル10を表示することであってもよい。ロボット1や基準マーカと異なる位置に仮想ロボットの3次元モデル10が表示される場合には、例えば、ロボット1や基準マーカの隣に3次元モデルが表示されてもよい。いずれにしても、仮想ロボットの3次元モデル10は、実環境における位置が変化しないように表示されることになる。したがって、表示装置4において、作業者が表示装置4の向きを変化させたとしても、実環境における仮想ロボットの3次元モデル10の表示位置は変化しないことになる。 The image generating unit 35 generates a display image for displaying the three-dimensional model 10 at a predetermined position in the real environment based on the three-dimensional model 10 stored in the model storage unit 31 and the relative positional relationship acquired by the positional relationship acquisition unit 33. When an operation on the three-dimensional model 10 of the virtual robot is accepted, the image generating unit 35 generates a display image for displaying the operated three-dimensional model 10. The image generating unit 35 may change the angle of each joint of the three-dimensional model 10 stored in the model storage unit 31 according to the accepted operation. Displaying the three-dimensional model 10 at a predetermined position in the real environment may be, for example, displaying the three-dimensional model 10 so that the robot 1, which is the real robot, and the three-dimensional model 10 of the virtual robot have a predetermined positional relationship, or, as described later, displaying the three-dimensional model 10 so that the reference marker and the three-dimensional model 10 of the virtual robot have a predetermined positional relationship. The predetermined positional relationship may be, for example, a predetermined positional relationship, or a positional relationship that can be changed by the operator. The three-dimensional model 10 of the virtual robot may be displayed at the position of the robot 1 or the reference marker, for example, or at a position different from the robot 1 or the reference marker. Displaying the three-dimensional model 10 of the virtual robot at the position of the robot 1 means displaying the three-dimensional model 10 so that the virtual robot is placed at the same position as the robot 1. For example, the three-dimensional model 10 may be displayed so that the end portion on the base end side of the three-dimensional model 10 of the virtual robot (for example, the attachment portion to the floor surface, etc.) overlaps with the end portion on the base end side of the robot 1. Displaying the three-dimensional model 10 of the virtual robot at the position of the reference marker may be displayed so that the situation in which a real robot is placed at the position of the reference marker is virtually reproduced. For example, the three-dimensional model 10 of the virtual robot may be displayed so that the end surface on the base end side of the three-dimensional model 10 of the virtual robot (for example, the attachment surface to the floor surface, etc.) coincides with the surface of the reference marker. When the three-dimensional model 10 of the virtual robot is displayed at a position different from the robot 1 or the reference marker, for example, the three-dimensional model may be displayed next to the robot 1 or the reference marker. In either case, the three-dimensional model 10 of the virtual robot is displayed so that its position in the real environment does not change. Therefore, even if the worker changes the orientation of the display device 4, the display position of the three-dimensional model 10 of the virtual robot in the real environment does not change.

ワールド座標系におけるロボット1や基準マーカの配置位置は既知である。また、例えば、ロボット1や基準マーカと仮想ロボットの3次元モデル10との位置関係も決まっている。したがって、これらの情報を用いることによって、画像生成部35は、ロボット1や基準マーカの配置位置があらかじめ決まっている仮想空間において、そのロボット1の配置位置と所定の位置関係となるように仮想ロボットの3次元モデル10を配置することができる。なお、仮想ロボットの3次元モデル10における各関節の角度は、操作が行われていない場合には初期値となり、操作が行われた場合には操作後の値となる。操作後の各関節の角度は、例えば、実ロボットと同様に、操作後の仮想ロボットの3次元モデル10における手先の位置及び姿勢を用いた逆運動学によって算出されてもよい。また、画像生成部35は、位置関係取得部33によって取得された相対的な位置関係によって、ワールド座標系と表示装置4のローカル座標系である表示座標系との関係を知ることができるため、仮想空間における表示装置4の位置及び向きを特定することができる。したがって、画像生成部35は、仮想空間における仮想ロボットの3次元モデル10を、表示装置4の位置及び向きを基準としてレンダリングすることによって、3次元モデル10を表示するための2次元の表示画像を生成することができる。仮想ロボットの3次元モデル10が操作されると、上記のように、仮想空間における仮想ロボットの3次元モデル10の形状が、それに応じて変更されることになる。また、表示装置4の位置や向きが実環境において変化した場合には、それに応じて仮想空間上の視点の位置や方向が変更されることになる。そして、その変更後にレンダリングが行われることによって、操作後の3次元モデル10の表示画像や、表示装置4の位置や向きの変化後の3次元モデル10の表示画像が生成されることになる。なお、画像生成部35は、仮想ロボットの3次元モデル10の表示画像が表示装置4のディスプレイに表示された際に、その表示画像の大きさが実環境と整合するように、表示画像を生成するものとする。すなわち、表示装置4のディスプレイに表示された仮想ロボットの3次元モデル10と、その3次元モデル10と同じ相対的な位置関係となるように実環境に配置された実ロボットとが、表示装置4を介して見たときに同じ大きさになるように、表示画像が生成されることになる。 The positions of the robot 1 and the reference marker in the world coordinate system are known. For example, the positional relationship between the robot 1 and the reference marker and the three-dimensional model 10 of the virtual robot is also determined. Therefore, by using these pieces of information, the image generation unit 35 can place the three-dimensional model 10 of the virtual robot so that it has a predetermined positional relationship with the position of the robot 1 in a virtual space in which the positions of the robot 1 and the reference marker are determined in advance. The angles of each joint in the three-dimensional model 10 of the virtual robot are set to initial values when no operation is performed, and are set to values after operation when an operation is performed. The angles of each joint after operation may be calculated by inverse kinematics using the position and posture of the hand in the three-dimensional model 10 of the virtual robot after operation, for example, as with a real robot. Furthermore, the image generation unit 35 can know the relationship between the world coordinate system and the display coordinate system, which is the local coordinate system of the display device 4, based on the relative positional relationship acquired by the positional relationship acquisition unit 33, and therefore can specify the position and orientation of the display device 4 in the virtual space. Therefore, the image generating unit 35 can generate a two-dimensional display image for displaying the three-dimensional model 10 by rendering the three-dimensional model 10 of the virtual robot in the virtual space based on the position and orientation of the display device 4. When the three-dimensional model 10 of the virtual robot is operated, the shape of the three-dimensional model 10 of the virtual robot in the virtual space is changed accordingly, as described above. Furthermore, when the position or orientation of the display device 4 is changed in the real environment, the position and direction of the viewpoint in the virtual space are changed accordingly. Then, rendering is performed after the change, thereby generating a display image of the three-dimensional model 10 after the operation and a display image of the three-dimensional model 10 after the change in the position or orientation of the display device 4. Note that the image generating unit 35 generates the display image such that the size of the display image is consistent with the real environment when the display image of the three-dimensional model 10 of the virtual robot is displayed on the display of the display device 4. In other words, the display image is generated so that the three-dimensional model 10 of the virtual robot displayed on the display of the display device 4 and the real robot placed in the real environment so as to have the same relative positional relationship as the three-dimensional model 10 appear to be the same size when viewed through the display device 4.

なお、受け付けられた操作に応じて仮想ロボットを操作できないこともあり得る。例えば、仮想ロボットの3次元モデル10の手先を、移動可能な範囲を超えて移動させる操作または回転可能な範囲を超えて回転させる操作が受け付けられることもある。このような場合には、画像生成部35は、その操作に応じた表示画像を生成しなくてもよく、または、可能な範囲内で移動または回転を行った仮想ロボットの3次元モデル10の表示画像を生成してもよい。 It may not be possible to operate the virtual robot according to the accepted operation. For example, an operation to move the hand of the three-dimensional model 10 of the virtual robot beyond the movable range or rotate it beyond the rotatable range may be accepted. In such a case, the image generating unit 35 may not generate a display image according to the operation, or may generate a display image of the three-dimensional model 10 of the virtual robot that has been moved or rotated within the possible range.

画像生成部35は、教示データに応じた教示位置をも表示するための表示画像を生成してもよい。すなわち、表示画像に、教示位置も表示されてもよい。教示位置が表示されることによって、作業者は、教示された位置を知ることができるようになる。教示位置を表示するとは、例えば、教示点を表示することであってもよく、複数の教示点の補間結果である教示線を表示することであってもよい。なお、教示データに含まれる位置の情報が、ロボットのローカル座標系の情報であっても、ワールド座標系の情報であっても、教示データによって、仮想ロボットの3次元モデル10と、教示位置との位置関係を知ることができる。したがって、仮想空間における教示位置が決まることになるため、画像生成部35は、上記説明と同様にして、仮想ロボットの3次元モデル10と教示位置とを含む表示画像を生成することができる。 The image generating unit 35 may generate a display image for displaying a teaching position according to the teaching data. That is, the teaching position may also be displayed in the display image. By displaying the teaching position, the worker can know the taught position. Displaying the teaching position may mean, for example, displaying a teaching point, or displaying a teaching line that is an interpolation result of a plurality of teaching points. Note that whether the position information included in the teaching data is information in the robot's local coordinate system or in the world coordinate system, the positional relationship between the three-dimensional model 10 of the virtual robot and the teaching position can be known from the teaching data. Therefore, since the teaching position in the virtual space is determined, the image generating unit 35 can generate a display image including the three-dimensional model 10 of the virtual robot and the teaching position in the same manner as described above.

画像生成部35は、例えば、ねじれ量取得部38によって取得されたねじれ量をも表示するための表示画像を生成してもよい。ねじれ量は、例えば、数値や文字列によって表示されてもよく、色によって表示されてもよい。前者の場合には、一例として、「ねじれ量:14度」などの文字列が表示されてもよい。後者の場合には、画像生成部35は、ねじれ量を色によって表示する表示画像を生成してもよく、一例として、仮想ロボットの3次元モデル10における線状体10aの部分が、ねじれ量に応じた色で表示されてもよく、仮想ロボットの3次元モデル10の全体が、ねじれ量に応じた色で表示されてもよい。ねじれ量に応じた色は、一例として、ねじれ量の絶対値が0度以上、10度未満は青色、10度以上、15度未満は緑色、15度以上、20度未満は黄色、20度以上は赤色などであってもよい。また、画像生成部35は、例えば、後述するアラートをも表示するための表示画像を生成してもよい。アラートの表示は、例えば、「警告」などの文字列や図形の表示であってもよく、表示画像の一部または全体の強調表示(例えば、点滅させることや、赤色などの警告を示す色に変更することなど)であってもよい。 The image generating unit 35 may generate a display image for displaying the amount of twist acquired by the twist amount acquiring unit 38, for example. The amount of twist may be displayed, for example, by a numerical value or a character string, or may be displayed by a color. In the former case, a character string such as "Twist amount: 14 degrees" may be displayed, for example. In the latter case, the image generating unit 35 may generate a display image for displaying the amount of twist by a color, and, for example, the linear body 10a in the three-dimensional model 10 of the virtual robot may be displayed in a color corresponding to the amount of twist, or the entire three-dimensional model 10 of the virtual robot may be displayed in a color corresponding to the amount of twist. For example, the color corresponding to the amount of twist may be blue when the absolute value of the amount of twist is 0 degrees or more and less than 10 degrees, green when it is 10 degrees or more and less than 15 degrees, yellow when it is 15 degrees or more and less than 20 degrees, and red when it is 20 degrees or more. The image generating unit 35 may also generate a display image for displaying an alert, which will be described later. The alert may be displayed, for example, as a text string such as "Warning" or a graphic, or may be displayed by highlighting part or all of the displayed image (for example, by blinking or changing the color to a warning color such as red).

出力部36は、画像生成部35によって生成された表示画像を表示装置4に出力する。なお、出力部36は、表示画像のみを出力してもよい。この場合には、表示装置4において、実環境の画像または実環境そのものに表示画像が重ねられて表示されることになる。一方、表示装置4が非透過型ディスプレイを有する場合であって、表示装置4で撮影された実環境の画像が教示データ蓄積装置3で受け付けられている場合には、実環境の画像と表示画像とが合成された結果が、表示装置4に出力されてもよい。この合成は、例えば、教示データ蓄積装置3が有する図示しない合成部によって行われてもよい。 The output unit 36 outputs the display image generated by the image generation unit 35 to the display device 4. The output unit 36 may output only the display image. In this case, the display image is displayed on the display device 4 by superimposing it on the image of the real environment or the real environment itself. On the other hand, if the display device 4 has a non-transparent display and the image of the real environment captured by the display device 4 is accepted by the teaching data storage device 3, the result of combining the image of the real environment and the display image may be output to the display device 4. This combination may be performed, for example, by a combination unit (not shown) included in the teaching data storage device 3.

また、出力部36は、ねじれ量取得部38によって取得されたねじれ量に関する出力を行ってもよい。この出力は、例えば、ねじれ量そのものの出力であってもよく、ねじれ量の絶対値が閾値を超えたことを示すアラートの出力であってもよい。ねじれ量そのものの出力は、例えば、ねじれ量を表示するための表示画像の出力であってもよく、ねじれ量を音声などによって示す出力であってもよい。アラートの出力は、例えば、アラートを表示するための表示画像の出力であってもよく、アラートを音声や警告灯の点灯などによって示す出力であってもよい。なお、例えば、ねじれ量の絶対値が閾値を超えていない場合には、アラートの出力は行われなくてもよい。出力部36が出力する表示画像は、例えば、画像生成部35によって生成されたものであってもよい。 The output unit 36 may also output information about the amount of twist acquired by the amount of twist acquisition unit 38. This output may be, for example, the amount of twist itself, or an alert indicating that the absolute value of the amount of twist has exceeded a threshold value. The output of the amount of twist itself may be, for example, a display image for displaying the amount of twist, or an output indicating the amount of twist by sound or the like. The output of the alert may be, for example, a display image for displaying the alert, or an output indicating the alert by sound or by turning on a warning light or the like. Note that, for example, if the absolute value of the amount of twist does not exceed the threshold value, an alert may not be output. The display image output by the output unit 36 may be, for example, one generated by the image generation unit 35.

蓄積部37は、受付部34によって仮想ロボットの3次元モデル10に対する教示の指示が受け付けられた際に、仮想ロボットの3次元モデル10に応じて教示データを教示データ記憶部32に蓄積する。すなわち、蓄積部37は、教示の指示が受け付けられた際に表示されている3次元モデル10の位置及び姿勢を示す情報を教示データとして教示データ記憶部32に蓄積する。1回の教示の指示の受け付けに応じて蓄積されるのは、通常、1個の教示点に応じた教示データである。この教示データの蓄積が繰り返されることによって、例えば、ロボットの手先の経路に応じた教示データが教示データ記憶部32で記憶されるようになる。蓄積対象の教示データは、上記したように、例えば、教示点ごとの3次元モデル10の手先の位置及び姿勢を示す情報であってもよく、教示点ごとの3次元モデル10の各関節の角度を示す情報であってもよい。なお、教示データには、例えば、教示位置を示す情報が含まれていてもよい。教示位置を表示することができるようにするためである。蓄積部37は、教示データの蓄積に必要な情報、例えば、仮想ロボットの3次元モデル10のローカル座標系であるロボット座標系における手先の位置や姿勢、または各関節の角度などの情報を画像生成部35から取得してもよく、モデル記憶部31で記憶されている3次元モデル10から取得してもよく、または、他の構成から取得してもよい。仮想ロボットの3次元モデル10のロボット座標系における手先の位置や姿勢は、例えば、仮想空間における手先の位置や姿勢を、仮想空間と仮想ロボットの3次元モデル10のロボット座標系との間の変換を示す同次変換行列を用いて変換することによって取得することができる。 When the reception unit 34 receives a teaching instruction for the three-dimensional model 10 of the virtual robot, the accumulation unit 37 accumulates teaching data in the teaching data storage unit 32 according to the three-dimensional model 10 of the virtual robot. That is, the accumulation unit 37 accumulates information indicating the position and posture of the three-dimensional model 10 displayed when the teaching instruction is received in the teaching data storage unit 32 as teaching data. Usually, teaching data corresponding to one teaching point is accumulated in response to the reception of one teaching instruction. By repeating the accumulation of this teaching data, for example, teaching data corresponding to the path of the robot's hand is stored in the teaching data storage unit 32. As described above, the teaching data to be accumulated may be, for example, information indicating the position and posture of the hand of the three-dimensional model 10 for each teaching point, or information indicating the angle of each joint of the three-dimensional model 10 for each teaching point. Note that the teaching data may include, for example, information indicating the teaching position. This is to make it possible to display the teaching position. The storage unit 37 may acquire information necessary for storing teaching data, such as the position and orientation of the hand in the robot coordinate system, which is the local coordinate system of the 3D model 10 of the virtual robot, or information such as the angle of each joint, from the image generation unit 35, from the 3D model 10 stored in the model storage unit 31, or from another configuration. The position and orientation of the hand in the robot coordinate system of the 3D model 10 of the virtual robot can be acquired, for example, by transforming the position and orientation of the hand in the virtual space using a homogeneous transformation matrix that indicates the transformation between the virtual space and the robot coordinate system of the 3D model 10 of the virtual robot.

ねじれ量取得部38は、仮想ロボットのロボット本体の3次元モデルに取り付けられた線状体10aのねじれ量を取得する。この取得対象のねじれ量は、線状体10aの全体としてのねじれ量である。ねじれ量は、例えば、線状体10aに関するシミュレーションを行うことによって取得されてもよい。このシミュレーションは、例えば、上記特許文献1に記載されているシミュレーションであってもよく、ケーブルやホースなどの線状体に関する市販のシミュレーションツールを用いたシミュレーションであってもよく、その他の物理シミュレーションであってもよい。このシミュレーションは、例えば、線状体10aの3次元モデルを用いて行われてもよい。線状体10aの3次元モデルは、例えば、仮想ロボットの3次元モデル10の一部であってもよく、またはそれとは別の3次元モデルであってもよい。なお、線状体10aに関するシミュレーションを行うことによってねじれ量が取得される場合には、そのシミュレーションに必要となる線状体10aのパラメータ、例えば、長さ、太さ、ヤング率などの弾性特性を示すパラメータなどがあらかじめ設定されており、それらのパラメータを用いてシミュレーションが行われてもよい。ねじれ量取得部38は、現在の3次元モデル10によって、その3次元モデル10における線状体10aの両端の固定位置に関する位置及び姿勢を特定することができる。そして、ねじれ量取得部38は、その特定した位置及び姿勢を用いて線状体10aに関するシミュレーションを行うことによって、線状体10aのねじれ量を取得してもよい。なお、例えば、図1で示されるように、線状体10aが仮想ロボットの3次元モデル10の筐体の内部を通過しているなどのように、固定位置以外においても線状体10aの一部の位置が決まっている場合には、それを拘束条件としてシミュレーションを行ってもよい。ねじれ量取得部38は、一例として、線状体10aの長手方向について、所定の間隔ごとにねじれ量を取得し、その所定の間隔ごとのねじれ量を積算することによって、線状体10aの全体のねじれ量を取得してもよい。ねじれ量取得部38は、例えば、現在の3次元モデル10の形状に応じたねじれ量が分かるようにするためにリアルタイムでねじれ量を取得してもよく、または、所定の時間間隔ごとに、または所定のイベント(例えば、教示の指示の受け付けなど)の発生ごとにねじれ量を取得してもよい。本実施の形態では、リアルタイムでねじれ量が取得される場合について主に説明する。なお、リアルタイムでねじれ量が取得される場合であっても、3次元モデル10に対する操作が行われていないときには、ねじれ量は変化しない。したがって、ねじれ量取得部38は、例えば、3次元モデル10への操作が受け付けられるごとに、新たなねじれ量を取得してもよい。また、取得されたねじれ量は、例えば、教示データが蓄積される際に、その教示データに対応付けられて教示データ記憶部32に蓄積されてもよい。なお、教示データに対応付けられて蓄積されるねじれ量は、その教示データに対応する3次元モデル10の形状に対応するねじれ量である。また、ねじれ量の正負は、例えば、線状体10aの長さ方向における、基端側の端部10bからハンド側の端部10cに向かって、時計回りのねじれが正となり、反時計回りのねじれが負となるように定義されてもよく、その逆であってもよい。 The twist amount acquisition unit 38 acquires the twist amount of the linear body 10a attached to the three-dimensional model of the robot body of the virtual robot. The twist amount to be acquired is the twist amount of the linear body 10a as a whole. The twist amount may be acquired, for example, by performing a simulation of the linear body 10a. This simulation may be, for example, the simulation described in the above-mentioned Patent Document 1, a simulation using a commercially available simulation tool for a linear body such as a cable or a hose, or other physical simulation. This simulation may be performed, for example, using a three-dimensional model of the linear body 10a. The three-dimensional model of the linear body 10a may be, for example, a part of the three-dimensional model 10 of the virtual robot, or may be a three-dimensional model separate from it. In addition, when the twist amount is acquired by performing a simulation of the linear body 10a, parameters of the linear body 10a required for the simulation, for example, parameters indicating elastic properties such as length, thickness, and Young's modulus, etc., are set in advance, and the simulation may be performed using these parameters. The twist amount acquiring unit 38 can specify the positions and orientations of the linear body 10a with respect to the fixed positions of both ends of the linear body 10a in the three-dimensional model 10 by using the current three-dimensional model 10. The twist amount acquiring unit 38 may then acquire the twist amount of the linear body 10a by performing a simulation of the linear body 10a using the specified positions and orientations. Note that, for example, as shown in FIG. 1, when the position of a part of the linear body 10a is determined other than the fixed positions, such as when the linear body 10a passes through the inside of the housing of the three-dimensional model 10 of the virtual robot, the simulation may be performed using the determined position as a constraint condition. For example, the twist amount acquiring unit 38 may acquire the twist amount at predetermined intervals in the longitudinal direction of the linear body 10a, and may acquire the total twist amount of the linear body 10a by accumulating the twist amounts at the predetermined intervals. The twist amount acquisition unit 38 may acquire the twist amount in real time so that the twist amount according to the current shape of the three-dimensional model 10 can be known, or may acquire the twist amount at a predetermined time interval or each time a predetermined event (for example, reception of a teaching instruction) occurs. In this embodiment, the case where the twist amount is acquired in real time will be mainly described. Even when the twist amount is acquired in real time, the twist amount does not change when no operation is performed on the three-dimensional model 10. Therefore, the twist amount acquisition unit 38 may acquire a new twist amount, for example, each time an operation on the three-dimensional model 10 is accepted. In addition, the acquired twist amount may be stored in the teaching data storage unit 32 in association with the teaching data when the teaching data is accumulated. The twist amount stored in association with the teaching data is the twist amount corresponding to the shape of the three-dimensional model 10 corresponding to the teaching data. Additionally, the positive and negative amounts of twist may be defined such that, for example, in the longitudinal direction of the linear body 10a, from the base end 10b toward the hand end 10c, a clockwise twist is positive and a counterclockwise twist is negative, or vice versa.

また、ねじれ量取得部38は、受付部34によって線状体10aの取り回しの変更が受け付けられた場合に、その受け付けられた変更後の取り回しに応じた線状体10aのねじれ量を取得してもよい。例えば、初期ねじれ量が変更された場合には、ねじれ量取得部38は、その変更後の初期ねじれ量に応じた線状体10aのねじれ量を取得してもよい。より具体的には、初期ねじれ量0度について取得された線状体10aのねじれ量が15度であったとすると、その後、初期ねじれ量が-10度に変更された場合に、ねじれ量取得部38は、変更後の初期ねじれ量に応じた線状体10aのねじれ量5度(=15度-10度)を取得してもよい。なお、取り回しの変更後のねじれ量は、例えば、取り回しの変更後の線状体10aについて、再度のシミュレーションを行うことによって取得されてもよい。取り回しの変更が、例えば、線状体10aの長さの変更や、線状体10aの固定位置の変更である場合には、再度のシミュレーションを行うことによって、変更後の取り回しに応じたねじれ量が取得されることが好適である。 In addition, when the reception unit 34 receives a change in the handling of the linear body 10a, the twist amount acquisition unit 38 may acquire the twist amount of the linear body 10a corresponding to the received changed handling. For example, when the initial twist amount is changed, the twist amount acquisition unit 38 may acquire the twist amount of the linear body 10a corresponding to the changed initial twist amount. More specifically, if the twist amount of the linear body 10a acquired for an initial twist amount of 0 degrees is 15 degrees, when the initial twist amount is subsequently changed to -10 degrees, the twist amount acquisition unit 38 may acquire the twist amount of the linear body 10a of 5 degrees (= 15 degrees - 10 degrees) corresponding to the changed initial twist amount. Note that the twist amount after the change in handling may be acquired, for example, by performing a simulation again for the linear body 10a after the change in handling. If the change in handling is, for example, a change in the length of the linear body 10a or a change in the fixed position of the linear body 10a, it is preferable to perform a simulation again to obtain the amount of twist corresponding to the changed handling.

次に、教示データ蓄積装置3の動作について図2のフローチャートを用いて説明する。
(ステップS101)位置関係取得部33は、実環境と表示装置4との相対的な位置関係を取得する。
Next, the operation of the teaching data storage device 3 will be described with reference to the flowchart of FIG.
(Step S101) The positional relationship acquisition unit 33 acquires the relative positional relationship between the real environment and the display device 4.

(ステップS102)ねじれ量取得部38は、この時点の仮想ロボットの3次元モデル10の形状に応じて、線状体10aのねじれ量を取得する。なお、線状体10aの取り回しの変更が受け付けられた場合には、その変更後の取り回しに応じた線状体10aのねじれ量が取得されるものとする。 (Step S102) The twist amount acquisition unit 38 acquires the twist amount of the linear body 10a according to the shape of the three-dimensional model 10 of the virtual robot at this time. Note that when a change in the handling of the linear body 10a is accepted, the twist amount of the linear body 10a according to the changed handling is acquired.

(ステップS103)画像生成部35は、仮想ロボットの3次元モデル10と、ステップS101で取得された相対的な位置関係と、取得されたねじれ量とを用いて、仮想ロボットの3次元モデル10を表示するための表示画像であって、線状体10aのねじれ量に応じた表示を行うための表示画像を生成する。なお、表示対象の3次元モデル10は、操作が受け付けられる前は初期の形状であり、操作が受け付けられた後は、その操作後の形状になる。 (Step S103) The image generation unit 35 uses the 3D model 10 of the virtual robot, the relative positional relationship acquired in step S101, and the acquired amount of twist to generate a display image for displaying the 3D model 10 of the virtual robot, the display image being for displaying according to the amount of twist of the linear body 10a. Note that the 3D model 10 to be displayed has an initial shape before the operation is accepted, and has a shape after the operation is accepted.

(ステップS104)出力部36は、生成された表示画像を表示装置4に出力する。 (Step S104) The output unit 36 outputs the generated display image to the display device 4.

(ステップS105)受付部34は、仮想ロボットの3次元モデル10への操作を受け付けたかどうか判断する。そして、仮想ロボットの3次元モデル10への操作を受け付けた場合には、ステップS106に進み、そうでない場合には、ステップS110に進む。 (Step S105) The reception unit 34 determines whether an operation on the three-dimensional model 10 of the virtual robot has been received. If an operation on the three-dimensional model 10 of the virtual robot has been received, the process proceeds to step S106, and if not, the process proceeds to step S110.

(ステップS106)位置関係取得部33は、実環境と表示装置4との相対的な位置関係を取得する。 (Step S106) The positional relationship acquisition unit 33 acquires the relative positional relationship between the real environment and the display device 4.

(ステップS107)ねじれ量取得部38は、この時点の仮想ロボットの3次元モデル10の形状に応じて、線状体10aのねじれ量を取得する。 (Step S107) The twist amount acquisition unit 38 acquires the twist amount of the linear body 10a according to the shape of the three-dimensional model 10 of the virtual robot at this time.

(ステップS108)画像生成部35は、仮想ロボットの3次元モデル10と、ステップS106で取得された相対的な位置関係と、ステップS107で取得されたねじれ量とを用いて、操作後の仮想ロボットの3次元モデル10を表示するための表示画像であって、線状体10aのねじれ量に応じた表示を行うための表示画像を生成する。 (Step S108) The image generation unit 35 uses the three-dimensional model 10 of the virtual robot, the relative positional relationship acquired in step S106, and the amount of twist acquired in step S107 to generate a display image for displaying the three-dimensional model 10 of the virtual robot after operation, the display image being based on the amount of twist of the linear body 10a.

(ステップS109)出力部36は、生成された表示画像を表示装置4に出力する。そしてステップS105に戻る。 (Step S109) The output unit 36 outputs the generated display image to the display device 4. Then, the process returns to step S105.

(ステップS110)受付部34は、教示の指示を受け付けたかどうか判断する。そして、教示の指示を受け付けた場合には、ステップS111に進み、そうでない場合には、ステップS112に進む。 (Step S110) The reception unit 34 determines whether a teaching instruction has been received. If a teaching instruction has been received, the process proceeds to step S111. If not, the process proceeds to step S112.

(ステップS111)蓄積部37は、その時点の仮想ロボットの3次元モデル10の位置及び姿勢に応じた教示データを教示データ記憶部32に蓄積する。そして、ステップS105に戻る。 (Step S111) The accumulation unit 37 accumulates the teaching data corresponding to the position and posture of the 3D model 10 of the virtual robot at that time in the teaching data storage unit 32. Then, the process returns to step S105.

(ステップS112)画像生成部35は、表示画像の生成を行うかどうか判断する。そして、表示画像を生成する場合には、ステップS101に戻り、そうでない場合には、ステップS113に進む。なお、画像生成部35は、例えば、表示画像の生成を行うと定期的に判断してもよい。この判断が行われることによって、例えば、操作が行われていなくても、表示装置4の位置や向きが変更された場合には、その変更後の位置や向きに応じた表示画像が表示装置4で表示されるようになる。 (Step S112) The image generating unit 35 determines whether or not to generate a display image. If a display image is to be generated, the process returns to step S101. If not, the process proceeds to step S113. Note that the image generating unit 35 may, for example, periodically determine to generate a display image. By making this determination, for example, even if no operation is performed, when the position or orientation of the display device 4 is changed, a display image corresponding to the changed position or orientation will be displayed on the display device 4.

(ステップS113)受付部34は、線状体10aの取り回しの変更を受け付けたかどうか判断する。そして、取り回しの変更を受け付けた場合には、ステップS101に戻り、そうでない場合には、ステップS114に進む。 (Step S113) The reception unit 34 determines whether a change in the routing of the linear body 10a has been received. If a change in the routing has been received, the process returns to step S101; if not, the process proceeds to step S114.

(ステップS114)画像生成部35は、教示データに関する教示が終了したかどうか判断する。そして、教示が終了した場合には、教示データを生成する一連の処理は終了となり、そうでない場合には、ステップS105に戻る。画像生成部35は、例えば、教示データの蓄積が終了した旨の情報が受付部34で受け付けられた際に、教示データに関する教示が終了したと判断してもよい。 (Step S114) The image generating unit 35 determines whether the teaching of the teaching data has been completed. If the teaching has been completed, the series of processes for generating the teaching data is completed, and if not, the process returns to step S105. The image generating unit 35 may determine that the teaching of the teaching data has been completed, for example, when the receiving unit 34 receives information indicating that the accumulation of the teaching data has been completed.

なお、図2のフローチャートにおいて、教示が終了したと判断された場合に、教示データが出力されてもよい。また、図2のフローチャートにおける処理の順序は一例であり、同様の結果を得られるのであれば、各ステップの順序を変更してもよい。 In the flowchart of FIG. 2, when it is determined that teaching has ended, teaching data may be output. Also, the order of the processes in the flowchart of FIG. 2 is an example, and the order of each step may be changed as long as the same results are obtained.

次に、本実施の形態による教示データ蓄積装置3の動作について、具体例を用いて説明する。本具体例では、頭部装着型の表示装置4を装着している作業者が、溶接線に沿った教示を行う場合について説明する。また、線状体10aの初期ねじれ量は、教示作業の開始時点において「0度」に設定されているものとする。 Next, the operation of the teaching data storage device 3 according to this embodiment will be described using a specific example. In this specific example, a case will be described in which a worker wearing a head-mounted display device 4 performs teaching along a welding line. In addition, the initial twist amount of the linear body 10a is set to "0 degrees" at the start of the teaching operation.

まず、作業者が教示データ蓄積装置3を起動すると、位置関係取得部33は、表示装置4から受け取った撮影画像を用いて、実環境に配置されたロボット1と表示装置4との相対的な位置関係を取得して画像生成部35に渡す(ステップS101)。また、ねじれ量取得部38は、その時点の仮想ロボットのロボット本体の3次元モデルに取り付けられた線状体10aのねじれ量を取得する(ステップS102)。そして、画像生成部35は、相対的な位置関係と、モデル記憶部31で記憶されている3次元モデル10と、取得されたねじれ量とを用いて、基準マーカ6の位置に仮想ロボットの3次元モデル10を表示するための表示画像を生成して出力部36に渡す(ステップS103)。表示画像を受け取ると、出力部36は、表示画像を表示装置4に出力する(ステップS104)。その結果、作業者は、基準マーカ6の位置に表示された3次元モデル10を見ることができる。なお、表示画像は、定期的に更新されてもよい(ステップS112、S101~S104)。 First, when the operator starts the teaching data storage device 3, the positional relationship acquisition unit 33 acquires the relative positional relationship between the robot 1 arranged in the real environment and the display device 4 using the captured image received from the display device 4, and passes it to the image generation unit 35 (step S101). In addition, the twist amount acquisition unit 38 acquires the twist amount of the linear body 10a attached to the three-dimensional model of the robot body of the virtual robot at that time (step S102). Then, the image generation unit 35 uses the relative positional relationship, the three-dimensional model 10 stored in the model storage unit 31, and the acquired twist amount to generate a display image for displaying the three-dimensional model 10 of the virtual robot at the position of the reference marker 6, and passes it to the output unit 36 (step S103). Upon receiving the display image, the output unit 36 outputs the display image to the display device 4 (step S104). As a result, the operator can see the three-dimensional model 10 displayed at the position of the reference marker 6. The display image may be updated periodically (steps S112, S101 to S104).

ここで、基準マーカ6は、2次元の所定の画像である。基準マーカ6は、例えば、ARマーカであってもよく、QRコード(登録商標)であってもよく、2次元のあらかじめ形状の決まっているその他の画像であってもよい。基準マーカ6のサイズは、例えば、あらかじめ決まっていてもよい。基準マーカ6は、例えば、紙や樹脂製のシートに印刷されていてもよい。仮想ロボットの3次元モデル10が基準マーカ6の位置に表示される場合には、作業者が所望の位置に基準マーカ6を配置することによって、その基準マーカ6の位置に3次元モデル10が表示されるようにすることができる。 Here, the reference marker 6 is a predetermined two-dimensional image. The reference marker 6 may be, for example, an AR marker, a QR code (registered trademark), or any other two-dimensional image with a predetermined shape. The size of the reference marker 6 may be, for example, predetermined. The reference marker 6 may be, for example, printed on paper or a resin sheet. When the three-dimensional model 10 of the virtual robot is displayed at the position of the reference marker 6, the operator can place the reference marker 6 at a desired position so that the three-dimensional model 10 is displayed at the position of the reference marker 6.

なお、3次元モデル10は、基準マーカ6の位置以外に表示されてもよい。この場合でも、3次元モデル10は、基準マーカ6と所定の位置関係となるように表示されることが好適である。例えば、3次元モデル10は、基準マーカ6の隣に表示されてもよい。 The three-dimensional model 10 may be displayed at a position other than the reference marker 6. Even in this case, it is preferable that the three-dimensional model 10 is displayed so as to have a predetermined positional relationship with the reference marker 6. For example, the three-dimensional model 10 may be displayed next to the reference marker 6.

図3は、仮想ロボットの3次元モデル10の表示の一例を示す図である。作業者は、図3で示されるように、基準マーカ6の位置に表示された仮想ロボットの3次元モデル10と、ねじれ量を示す表示51とを見ることができる。このようにして、作業者は、その時点の3次元モデルの形状に応じたねじれ量を知ることができる。 Figure 3 is a diagram showing an example of the display of a three-dimensional model 10 of a virtual robot. As shown in Figure 3, the worker can see the three-dimensional model 10 of the virtual robot displayed at the position of the reference marker 6, and a display 51 showing the amount of twist. In this way, the worker can know the amount of twist according to the shape of the three-dimensional model at that time.

その後、作業者は、ティーチングペンダントなどの入力デバイスや、ジェスチャなどによって3次元モデル10を操作して、3次元モデル10の溶接トーチの先端が溶接線の位置となるようにする。その結果、操作後の3次元モデル10及びねじれ量を表示するための表示画像が表示装置4に出力され、作業者は、操作後の3次元モデル10の溶接トーチの位置や姿勢、それに応じた線状体10aのねじれ量について確認することができる(ステップS105~S109)。その後、作業者が、ティーチングペンダントなどの入力デバイスや、ジェスチャなどによって教示の指示を入力すると、その教示の指示に応じて、教示点に応じた教示データが教示データ記憶部32に蓄積される(ステップS110,S111)。なお、教示データの蓄積に対応付けられて、その時点のねじれ量も蓄積されてもよい。その後、溶接線の他の教示点についても、同様にして教示データが蓄積される(ステップS105~S111)。 Then, the worker operates the three-dimensional model 10 by an input device such as a teaching pendant or gestures, etc., so that the tip of the welding torch of the three-dimensional model 10 is at the position of the weld line. As a result, a display image for displaying the three-dimensional model 10 and the amount of twist after the operation is output to the display device 4, and the worker can check the position and posture of the welding torch of the three-dimensional model 10 after the operation, and the corresponding amount of twist of the linear body 10a (steps S105 to S109). After that, when the worker inputs a teaching instruction by an input device such as a teaching pendant or gestures, teaching data corresponding to the teaching point is accumulated in the teaching data storage unit 32 according to the teaching instruction (steps S110, S111). Note that the amount of twist at that time may also be accumulated in association with the accumulation of teaching data. After that, teaching data is accumulated in the same manner for other teaching points of the weld line (steps S105 to S111).

なお、作業者は、表示されたねじれ量によって、線状体10aがどの程度ねじれているのかについて知ることができる。そのため、例えば、ねじれ量の絶対値が許容範囲を超えている場合に、3次元モデル10の溶接トーチの姿勢を変更することによって、ねじれ量の絶対値がより小さくなる姿勢での教示を行うこともできる。また、溶接トーチの姿勢の変更だけでは、ねじれ量の絶対値を減少させることができない場合には、作業者は、線状体10aの取り回しを変更してもよい。例えば、ねじれ量の絶対値が20度以下になるようにしたい場合において、新たな教示点に対応する3次元モデル10の姿勢におけるねじれ量が21度となったときには、作業者は、初期ねじれ量「-10度」を、実環境の入力デバイスや、仮想入力インターフェースを介して入力してもよい。その入力された取り回しの変更は受付部34で受け付けられ、ねじれ量取得部38に渡される(ステップS113)。そして、ねじれ量取得部38がねじれ量を新たに取得する際には、その変更後の取り回しである初期ねじれ量「-10度」に応じて、ねじれ量「11度」(=21度-10度)を取得し、そのねじれ量を含む表示画像が表示されてもよい(ステップS101~S104)。 The operator can know how much the linear body 10a is twisted by the displayed twist amount. Therefore, for example, when the absolute value of the twist amount exceeds the allowable range, the operator can change the posture of the welding torch of the three-dimensional model 10 to teach a posture in which the absolute value of the twist amount is smaller. In addition, when the absolute value of the twist amount cannot be reduced by changing the posture of the welding torch alone, the operator may change the handling of the linear body 10a. For example, when the operator wants to make the absolute value of the twist amount 20 degrees or less, when the twist amount in the posture of the three-dimensional model 10 corresponding to the new teaching point becomes 21 degrees, the operator may input the initial twist amount "-10 degrees" via an input device in the real environment or a virtual input interface. The input change in handling is accepted by the acceptance unit 34 and passed to the twist amount acquisition unit 38 (step S113). Then, when the twist amount acquisition unit 38 acquires a new twist amount, it may acquire a twist amount of "11 degrees" (= 21 degrees - 10 degrees) according to the initial twist amount of "-10 degrees", which is the handling after the change, and display an image including that twist amount (steps S101 to S104).

このようにして、作業者は、教示の途中において、線状体10aの取り回しを適宜、変更しながら、教示を行うことができる。したがって、教示を行った後のシミュレーションでねじれ量の絶対値が許容範囲を超えていたことが判明し、すべての教示データが無駄になる事態を回避することができる。また、仮に溶接トーチの姿勢の変更や、線状体10aの取り回しの変更によっても、ねじれ量の絶対値を許容範囲内に抑えることができない場合には、例えば、教示の作業を中止し、仮想ロボットの3次元モデル10と、溶接対象のワークとの位置関係を変更することなどによって、新たな教示を行うようにしてもよい。この場合であっても、例えば、無駄になる教示データを少なくすることができる。なお、教示が完了した後に(ステップS114)、教示データ記憶部32で記憶されている教示データが出力されてもよい。また、教示の途中において線状体10aの取り回しが変更されている場合には、その変更後の取り回しを示す情報(例えば、初期ねじれ量など)と一緒に、教示データが出力されてもよい。 In this way, the operator can perform teaching while appropriately changing the handling of the linear body 10a during teaching. Therefore, it is possible to avoid a situation in which the absolute value of the twist amount is found to exceed the allowable range in a simulation after teaching, and all teaching data is wasted. In addition, if the absolute value of the twist amount cannot be suppressed within the allowable range even by changing the posture of the welding torch or changing the handling of the linear body 10a, for example, the teaching work may be stopped and new teaching may be performed by changing the positional relationship between the three-dimensional model 10 of the virtual robot and the workpiece to be welded. Even in this case, for example, it is possible to reduce the amount of wasted teaching data. Note that after teaching is completed (step S114), the teaching data stored in the teaching data storage unit 32 may be output. In addition, if the handling of the linear body 10a is changed during teaching, the teaching data may be output together with information indicating the changed handling (for example, the initial twist amount, etc.).

なお、ねじれ量取得部38は、受付部34によって線状体10aの取り回しの変更が受け付けられた場合に、その変更後の取り回しに応じた、教示データ記憶部32で記憶されている教示データに対応するねじれ量の代表値をも取得してもよい。すなわち、ねじれ量取得部38は、線状体10aの取り回しが変更された場合に、それまでに蓄積された各教示データに対応する仮想ロボットの3次元モデル10の位置及び姿勢に応じた線状体10aのねじれ量をそれぞれ取得し、その取得した1以上のねじれ量の代表値を取得してもよい。代表値は、例えば、最大値、及び最小値であってもよく、ねじれ量の絶対値の最大値であってもよい。この場合には、出力部36は、ねじれ量取得部38によって取得されたねじれ量の代表値に関する出力をも行ってもよい。代表値に関する出力は、例えば、代表値そのものの出力であってもよく、代表値が閾値を超えたことを示すアラートの出力であってもよい。また、代表値を表示するための表示画像や、アラートを表示するための表示画像が出力される場合には、その表示画像は、例えば、画像生成部35によって生成されてもよい。また、例えば、教示データに対応付けてねじれ量が蓄積されている場合には、変更された線状体10aの取り回しに応じて、蓄積されている1以上の教示データごとに新たなねじれ量が取得されたときに、その新たなねじれ量も教示データに対応付けて蓄積されてもよい。この場合には、例えば、ねじれ量は上書きされてもよく、またはそうでなくてもよい。後者の場合でも、最新のねじれ量を区別できるように蓄積されることが好適である。また、新たなねじれ量は、例えば、変更後の取り回しを示す情報に対応付けられて蓄積されてもよい。 In addition, when the reception unit 34 receives a change in the handling of the linear body 10a, the twist amount acquisition unit 38 may also acquire a representative value of the twist amount corresponding to the teaching data stored in the teaching data storage unit 32 according to the changed handling. In other words, when the handling of the linear body 10a is changed, the twist amount acquisition unit 38 may acquire the twist amount of the linear body 10a according to the position and posture of the three-dimensional model 10 of the virtual robot corresponding to each teaching data accumulated up to that point, and acquire one or more representative values of the acquired twist amounts. The representative value may be, for example, a maximum value and a minimum value, or may be the maximum absolute value of the twist amount. In this case, the output unit 36 may also output the representative value of the twist amount acquired by the twist amount acquisition unit 38. The output of the representative value may be, for example, the output of the representative value itself, or an alert indicating that the representative value has exceeded a threshold value. Furthermore, when a display image for displaying a representative value or a display image for displaying an alert is output, the display image may be generated, for example, by the image generating unit 35. Furthermore, for example, when the amount of twist is stored in association with the teaching data, when a new amount of twist is acquired for each of one or more pieces of teaching data stored in accordance with the changed handling of the linear body 10a, the new amount of twist may also be stored in association with the teaching data. In this case, for example, the amount of twist may or may not be overwritten. Even in the latter case, it is preferable that the latest amount of twist is stored so as to be distinguishable. Furthermore, the new amount of twist may be stored in association with information indicating the changed handling, for example.

例えば、上記具体例において、現在のねじれ量が「21度」となった時点において、教示データ記憶部32において、図4で示されるように、教示データとねじれ量とを対応付ける情報が記憶されていたとする。すると、初期ねじれ量「-10度」が受け付けられた場合に、ねじれ量取得部38は、図4における教示データと対応付けられている各ねじれ量から10度をそれぞれ減算して上書きで蓄積し、その減算結果の最大値「9度」及び最小値「-3度」を取得してもよい。そして、その最大値「9度」及び最小値「-3度」も含む表示画像が生成されて出力されてもよい。このようにすることで、作業者は、線状体10aの取り回しの変更に応じた現在のねじれ量だけでなく、以前の教示データに応じたねじれ量についても確認することができる。そのため、例えば、線状体10aの取り回しの変更によって、現在のねじれ量が許容範囲内になったとしても、以前の教示データに応じたねじれ量が許容範囲内にならない場合には、再度、線状体10aの取り回しの変更を行うことによって、現在のねじれ量も、過去のねじれ量もすべて所望の範囲内になるように調整することもできるようになる。なお、例えば、受け付けられた取り回しの変更内容を示す情報も、教示データに対応付けられて教示データ記憶部32に蓄積されてもよい。 For example, in the above specific example, when the current twist amount becomes "21 degrees", the teaching data storage unit 32 stores information associating the teaching data with the twist amount as shown in FIG. 4. Then, when the initial twist amount "-10 degrees" is received, the twist amount acquisition unit 38 may subtract 10 degrees from each of the twist amounts associated with the teaching data in FIG. 4, overwrite and accumulate the results, and acquire the maximum value "9 degrees" and minimum value "-3 degrees" of the subtraction results. Then, a display image including the maximum value "9 degrees" and the minimum value "-3 degrees" may be generated and output. In this way, the operator can check not only the current twist amount according to the change in the handling of the linear body 10a, but also the twist amount according to the previous teaching data. Therefore, for example, even if a change in the way the linear body 10a is handled brings the current amount of twist into the allowable range, if the amount of twist according to the previous teaching data does not fall within the allowable range, the way the linear body 10a is handled can be changed again to adjust both the current amount of twist and the past amount of twist into the desired range. Note that, for example, information indicating the received change in handling may also be stored in the teaching data storage unit 32 in association with the teaching data.

以上のように、本実施の形態による教示データ蓄積装置3によれば、仮想ロボットの3次元モデル10を用いた教示の際に、線状体10aのねじれ量について知ることができる。したがって、ねじれ量の絶対値が大きい場合には、例えば、3次元モデル10の手先の姿勢を変更することによって、ねじれ量の絶対値がより小さくなるように教示を行うこともできる。また、姿勢の変更のみでは、ねじれ量の絶対値を減少させることができない場合には、線状体10aの取り回しを変更することによって、ねじれ量の絶対値を減少させることもできる。その際に、例えば、教示済みの教示点に対応する教示データに応じたねじれ量の代表値も取得されて出力されることによって、教示済みの各教示点についても、ねじれ量が所望の範囲内となるようにすることもできる。また、ねじれ量を色で表示した場合には、作業者は、ねじれ量を示す数値を確認しなくても、直感的にねじれ量について知ることができるようになる。 As described above, according to the teaching data storage device 3 of this embodiment, when teaching using the three-dimensional model 10 of the virtual robot, the amount of twist of the linear body 10a can be known. Therefore, when the absolute value of the amount of twist is large, for example, by changing the posture of the hand of the three-dimensional model 10, teaching can be performed so that the absolute value of the amount of twist becomes smaller. Also, when the absolute value of the amount of twist cannot be reduced by changing the posture alone, the absolute value of the amount of twist can be reduced by changing the way the linear body 10a is handled. At that time, for example, a representative value of the amount of twist according to the teaching data corresponding to the taught teaching point is also acquired and output, so that the amount of twist for each taught teaching point can be within a desired range. Also, when the amount of twist is displayed in color, the operator can intuitively know the amount of twist without checking the numerical value indicating the amount of twist.

なお、本実施の形態では、作業者が、試行錯誤しながら線状体10aの取り回しを変更する場合について主に説明したが、そうでなくてもよい。例えば、教示データに対応するねじれ量の代表値がゼロに近づくようにするための線状体10aの取り回しの変更が提案され、それに応じて、取り回しの変更が行われてもよい。この場合には、教示データ蓄積装置3は、例えば、図5で示されるように、特定部39をさらに備えていてもよい。この特定部39は、教示データ記憶部32で記憶されている教示データに対応するねじれ量の代表値がゼロに近づくようにするための線状体10aの取り回しの変更を特定してもよい。教示データに対応するねじれ量の代表値がゼロに近づくようにするための線状体10aの取り回しの変更とは、その変更前の教示データに対応するねじれ量の代表値より、その変更後の教示データに対応するねじれ量の代表値の方がゼロに近くなるような取り回しの変更であってもよい。特定部39は、例えば、受付部34によって特定の指示が受け付けられたことに応じて、その特定を行ってもよい。特定部39による線状体10aの取り回しの変更に関する特定が行われる場合には、出力部36は、特定部39によって特定された線状体10aの取り回しの変更に関する出力をも行ってもよい。この出力は、例えば、特定された取り回しの変更内容を示す情報の出力であってもよい。この出力は、例えば、特定された取り回しの変更内容を示す表示画像の出力であってもよく、特定された取り回しの変更内容を示す音声等の出力であってもよい。その表示画像は、例えば、画像生成部35によって生成されてもよい。 In this embodiment, the case where the operator changes the handling of the linear body 10a through trial and error has been mainly described, but this is not necessary. For example, a change in the handling of the linear body 10a may be proposed so that the representative value of the amount of twist corresponding to the teaching data approaches zero, and the handling may be changed accordingly. In this case, the teaching data storage device 3 may further include a specification unit 39, for example, as shown in FIG. 5. The specification unit 39 may specify a change in the handling of the linear body 10a so that the representative value of the amount of twist corresponding to the teaching data stored in the teaching data storage unit 32 approaches zero. The change in the handling of the linear body 10a so that the representative value of the amount of twist corresponding to the teaching data approaches zero may be a change in the handling so that the representative value of the amount of twist corresponding to the teaching data after the change is closer to zero than the representative value of the amount of twist corresponding to the teaching data before the change. The specification unit 39 may perform the specification in response to, for example, a specific instruction being accepted by the acceptance unit 34. When the identification unit 39 identifies a change in the handling of the linear body 10a, the output unit 36 may also output information about the change in handling of the linear body 10a identified by the identification unit 39. This output may be, for example, an output of information indicating the identified change in handling. This output may be, for example, an output of a display image indicating the identified change in handling, or an output of a sound or the like indicating the identified change in handling. The display image may be generated by the image generation unit 35, for example.

特定部39は、一例として、線状体10aの取り回しの変更について、教示データごとの変更後のねじれ量の代表値に応じた目的関数を最適化することによって、取り回しの変更を決定してもよい。すなわち、特定部39は、目的関数を最適化する最適解である取り回しの変更を、教示データに対応するねじれ量の代表値がゼロに近づくようにするための線状体10aの取り回しの変更として特定してもよい。目的関数の最適化は、例えば、目的関数の最小化であってもよい。ねじれ量の代表値が、ねじれ量の絶対値の最大値である場合には、目的関数は、例えば、ねじれ量の絶対値の最大値の増加関数であってもよい。例えば、図4で示されるように教示データごとのねじれ量が取得された場合には、特定部39は、ねじれ量の絶対値の最大値が最小化するように、初期ねじれ量「-13度」を特定してもよい。その特定結果の出力に応じて、作業者は、変更後の取り回しとして、初期ねじれ量「-13度」を教示データ蓄積装置3に入力してもよい。このようにすることで、作業者が試行錯誤を行わなくても、線状体10aの取り回しに関する適切な変更を行うことができるようになる。 For example, the determination unit 39 may determine the change in the handling of the linear body 10a by optimizing an objective function according to a representative value of the amount of twist after the change for each teaching data. That is, the determination unit 39 may determine the change in the handling that is the optimal solution for optimizing the objective function as the change in the handling of the linear body 10a so that the representative value of the amount of twist corresponding to the teaching data approaches zero. The optimization of the objective function may be, for example, minimization of the objective function. When the representative value of the amount of twist is the maximum absolute value of the amount of twist, the objective function may be, for example, an increasing function of the maximum absolute value of the amount of twist. For example, when the amount of twist for each teaching data is acquired as shown in FIG. 4, the determination unit 39 may determine the initial amount of twist "-13 degrees" so that the maximum absolute value of the amount of twist is minimized. In response to the output of the determination result, the operator may input the initial amount of twist "-13 degrees" to the teaching data storage device 3 as the handling after the change. This allows the worker to make appropriate changes to the handling of the linear body 10a without having to resort to trial and error.

また、本実施の形態において、画像生成部35は、例えば、仮想ロボットの3次元モデル10における筐体内部に存在する線状体10aも透視して見えるように表示するための表示画像を生成してもよい。このようにすることで、作業者は、筐体内部も含めて線状体10aの形状を確認することができるようになり、例えば、線状体10aに無理な力が掛からないような教示を行うこともできるようになる。なお、筐体内部に存在する線状体10aとは、例えば、筐体の外部からは見えない線状体10aのことであってもよい。また、筐体内部に存在する線状体10aとは、例えば、線状体10aの一部であってもよい。 In addition, in this embodiment, the image generating unit 35 may generate a display image for displaying the linear body 10a present inside the housing of the three-dimensional model 10 of the virtual robot in a see-through manner. In this way, the operator can check the shape of the linear body 10a including the inside of the housing, and can, for example, provide instructions to prevent excessive force from being applied to the linear body 10a. Note that the linear body 10a present inside the housing may, for example, be a linear body 10a that is not visible from outside the housing. Also, the linear body 10a present inside the housing may, for example, be a part of the linear body 10a.

また、本実施の形態では、ねじれ量取得部38によって、リアルタイムでねじれ量が取得される場合について主に説明したが、そうでなくてもよい。例えば、教示データが蓄積されるごとに、ねじれ量が取得されてもよい。この場合には、作業者は、教示指示の入力後に、その教示に応じたねじれ量が許容範囲を超えていると判断したときに、最新の教示をキャンセルして、再度、教示を行ってもよい。 In addition, in this embodiment, the case where the twist amount is acquired in real time by the twist amount acquisition unit 38 has been mainly described, but this is not necessary. For example, the twist amount may be acquired each time teaching data is accumulated. In this case, if the operator determines after inputting a teaching instruction that the twist amount according to that instruction exceeds the allowable range, the operator may cancel the latest teaching and perform the teaching again.

また、本実施の形態では、溶接のための教示が行われる場合について主に説明したが、それ以外の目的で教示が行われてもよいことは言うまでもない。溶接以外の教示が行われる場合には、上記した溶接線は、例えば、作業線や、ロボットの手先の移動経路などであってもよい。 In addition, in this embodiment, the case where teaching for welding is mainly described, however, it goes without saying that teaching for other purposes may also be performed. When teaching for purposes other than welding is performed, the above-mentioned welding line may be, for example, a work line or a movement path of the robot's hand.

また、本実施の形態では、基準マーカ6が2次元の所定の画像である場合について主に説明したが、そうでなくてもよい。マーカレスARと同様に、基準マーカとして、実環境に存在する物が用いられてもよい。実環境に存在する物は特に限定されるものではないが、例えば、実ロボットの設置に用いられる土台部分や、ロボットを配置する位置の近傍に存在する治具等であってもよい。また、各面にマーカを貼り付けた立体形状(例えば、直方体形状など)の物体におけるマーカを、基準マーカとしてもよい。また、基準マーカは、例えば、土台や治具などのように、3次元のものであってもよい。 In addition, in this embodiment, the case where the reference marker 6 is a specified two-dimensional image has been mainly described, but this is not necessarily the case. As with markerless AR, an object that exists in the real environment may be used as the reference marker. There is no particular limitation on the object that exists in the real environment, but it may be, for example, a base part used to install the real robot, or a jig that exists near the position where the robot is to be placed. Also, a marker on an object with a three-dimensional shape (e.g., a rectangular parallelepiped shape) with markers attached to each surface may be used as the reference marker. The reference marker may also be three-dimensional, such as a base or a jig.

また、本実施の形態では、線状体10aの取り回しを変更できる場合について主に説明したが、そうでなくてもよい。線状体10aの取り回しは変更できなくてもよい。この場合であっても、3次元モデル10の手先の姿勢を適宜変更することなどによって、ねじれ量が少なくなる教示を行うことができる。 In addition, in this embodiment, the case where the handling of the linear body 10a can be changed has been mainly described, but this is not necessarily the case. The handling of the linear body 10a does not necessarily have to be changeable. Even in this case, it is possible to perform teaching that reduces the amount of twisting by appropriately changing the posture of the hand of the three-dimensional model 10, for example.

また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。例えば、教示データ蓄積装置3の少なくとも一部の構成は、物理的には、ディスプレイを有する装置などに含まれてもよい。したがって、図1で示される装置の切り分けは、物理的な装置に応じたものではなく、機能に応じた便宜上のものであると考えてもよい。 In addition, in the above embodiment, each process or function may be realized by centralized processing by a single device or a single system, or may be realized by distributed processing by multiple devices or multiple systems. For example, at least a portion of the configuration of the teaching data storage device 3 may be physically included in a device having a display. Therefore, the division of the devices shown in FIG. 1 may be considered to be for convenience according to function, rather than according to physical devices.

また、上記実施の形態において、教示データ蓄積装置3に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、または、別々のデバイスを有してもよい。 In addition, in the above embodiment, when two or more components included in the teaching data storage device 3 have a communication device, an input device, etc., the two or more components may have a single physical device, or may have separate devices.

また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、または、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。また、そのプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。また、そのプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、または分散処理を行ってもよい。 In the above embodiment, each component may be configured by dedicated hardware, or a component that can be realized by software may be realized by executing a program. For example, each component may be realized by a program execution unit such as a CPU reading and executing a software program recorded on a recording medium such as a hard disk or semiconductor memory. During execution, the program execution unit may execute the program while accessing the storage unit or recording medium. The program may be executed by being downloaded from a server or the like, or may be executed by reading a program recorded on a predetermined recording medium (e.g., an optical disk, a magnetic disk, a semiconductor memory, etc.). This program may be used as a program that constitutes a program product. The computer that executes the program may be a single computer or multiple computers. In other words, centralized processing or distributed processing may be performed.

また、以上の実施の形態は、本発明を具体的に実施するための例示であって、本発明の技術的範囲を制限するものではない。本発明の技術的範囲は、実施の形態の説明ではなく、特許請求の範囲によって示されるものであり、特許請求の範囲の文言上の範囲及び均等の意味の範囲内での変更が含まれることが意図される。 The above embodiments are merely examples for specifically implementing the present invention, and are not intended to limit the technical scope of the present invention. The technical scope of the present invention is indicated by the claims, not by the description of the embodiments, and is intended to include modifications within the literal scope of the claims and within the scope of equivalent meanings.

3 教示データ蓄積装置、31 モデル記憶部、32 教示データ記憶部、33 位置関係取得部、34 受付部、35 画像生成部、36 出力部、37 蓄積部、38 ねじれ量取得部、39 特定部 3 Teaching data storage device, 31 Model storage unit, 32 Teaching data storage unit, 33 Positional relationship acquisition unit, 34 Reception unit, 35 Image generation unit, 36 Output unit, 37 Storage unit, 38 Twist amount acquisition unit, 39 Identification unit

Claims (6)

実ロボットに対応する仮想ロボットの3次元モデルが記憶されるモデル記憶部と、
前記実ロボットの教示データが記憶される教示データ記憶部と、
実環境と、画像を実環境の画像または実環境そのものに重ねて表示する表示装置との相対的な位置関係を取得する位置関係取得部と、
前記仮想ロボットの3次元モデルに対する操作及び教示の指示を受け付ける受付部と、
前記仮想ロボットの3次元モデルと前記相対的な位置関係とに基づいて、操作された仮想ロボットの3次元モデルを実環境の所定の位置に表示するための表示画像を生成する画像生成部と、
前記画像生成部によって生成された表示画像を前記表示装置に出力する出力部と、
前記受付部によって前記仮想ロボットの3次元モデルに対する教示の指示が受け付けられた際に、当該仮想ロボットの3次元モデルに応じて教示データを前記教示データ記憶部に蓄積する蓄積部と、
仮想ロボットのロボット本体の3次元モデルに取り付けられた線状体のねじれ量を取得するねじれ量取得部と、を備え、
前記出力部は、前記ねじれ量取得部によって取得されたねじれ量に関する出力をも行う、教示データ蓄積装置。
a model storage unit in which a three-dimensional model of a virtual robot corresponding to a real robot is stored;
a teaching data storage unit in which teaching data of the actual robot is stored;
a positional relationship acquisition unit that acquires a relative positional relationship between a real environment and a display device that displays an image of the real environment or the real environment itself by superimposing the image;
a reception unit that receives an instruction for operation and instruction for the three-dimensional model of the virtual robot;
an image generation unit that generates a display image for displaying the three-dimensional model of the operated virtual robot at a predetermined position in a real environment based on the three-dimensional model of the virtual robot and the relative positional relationship;
an output unit that outputs the display image generated by the image generation unit to the display device;
a storage unit that stores teaching data in the teaching data storage unit according to the three-dimensional model of the virtual robot when the instruction for teaching the three-dimensional model of the virtual robot is accepted by the accepting unit;
a torsion amount acquisition unit that acquires a torsion amount of a linear body attached to a three-dimensional model of a robot body of a virtual robot,
The output unit also outputs information related to the amount of twist acquired by the amount of twist acquisition unit.
前記受付部は、前記線状体の取り回しの変更をも受け付け、
前記ねじれ量取得部は、前記受付部によって受け付けられた変更後の取り回しに応じた線状体のねじれ量を取得する、請求項1記載の教示データ蓄積装置。
The reception unit also receives a change in the routing of the linear object,
The teaching data storage device according to claim 1 , wherein the twist amount acquisition unit acquires an amount of twist of the linear body according to the changed handling accepted by the acceptance unit.
前記ねじれ量取得部は、前記受付部によって前記線状体の取り回しの変更が受け付けられた場合に、当該変更後の取り回しに応じた、前記教示データ記憶部で記憶されている教示データに対応するねじれ量の代表値をも取得し、
前記出力部は、前記ねじれ量取得部によって取得されたねじれ量の代表値に関する出力をも行う、請求項2記載の教示データ蓄積装置。
when the reception unit receives a change in the handling of the linear body, the twist amount acquisition unit also acquires a representative value of the twist amount corresponding to the teaching data stored in the teaching data storage unit in accordance with the changed handling,
3. The teaching data storage device according to claim 2, wherein the output unit also outputs a representative value of the amount of twist acquired by the amount of twist acquisition unit.
前記教示データ記憶部で記憶されている教示データに対応するねじれ量の代表値がゼロに近づくようにするための前記線状体の取り回しの変更を特定する特定部をさらに備え、
前記出力部は、前記特定部によって特定された前記線状体の取り回しの変更に関する出力をも行う、請求項2記載の教示データ蓄積装置。
a specifying unit that specifies a change in the routing of the linear body so that a representative value of the amount of twist corresponding to the teaching data stored in the teaching data storage unit approaches zero,
3. The teaching data storage device according to claim 2, wherein the output unit also outputs information related to a change in the way the linear body is handled, the change being specified by the specification unit.
前記線状体の取り回しの変更は、前記線状体の初期ねじれ量の変更、前記線状体の長さの変更、前記線状体の固定位置の変更の少なくともいずれかである、請求項2から請求項4のいずれか記載の教示データ蓄積装置。 A teaching data storage device according to any one of claims 2 to 4, wherein the change in the handling of the linear body is at least one of a change in the initial twist amount of the linear body, a change in the length of the linear body, and a change in the fixed position of the linear body. 前記画像生成部は、前記ねじれ量取得部によって取得されたねじれ量を色によって表示する表示画像を生成する、請求項1から請求項4のいずれか記載の教示データ蓄積装置。 The teaching data storage device according to any one of claims 1 to 4, wherein the image generating unit generates a display image that displays the amount of twist acquired by the amount of twist acquiring unit using color.
JP2023001479A 2023-01-10 2023-01-10 Teaching data storage device Pending JP2024098188A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023001479A JP2024098188A (en) 2023-01-10 2023-01-10 Teaching data storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2023001479A JP2024098188A (en) 2023-01-10 2023-01-10 Teaching data storage device

Publications (1)

Publication Number Publication Date
JP2024098188A true JP2024098188A (en) 2024-07-23

Family

ID=91957403

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023001479A Pending JP2024098188A (en) 2023-01-10 2023-01-10 Teaching data storage device

Country Status (1)

Country Link
JP (1) JP2024098188A (en)

Similar Documents

Publication Publication Date Title
US10052765B2 (en) Robot system having augmented reality-compatible display
US11565427B2 (en) Robot system
US10737396B2 (en) Method and apparatus for robot path teaching
JP3732494B2 (en) Simulation device
US8742290B2 (en) Robot system
US7373220B2 (en) Robot teaching device
CN112313046A (en) Defining regions using augmented reality visualization and modification operations
CN103250109A (en) Method and means for controlling a robot
CN111093911B (en) Robot systems and methods of operating them
JP6825026B2 (en) Information processing equipment, information processing methods and robot systems
JP7366264B2 (en) Robot teaching method and robot working method
WO2019120481A1 (en) System and method for determining a transformation representation
JP2021059012A (en) Information processing device, information processing method and robot system
US7403835B2 (en) Device and method for programming an industrial robot
JP2024098188A (en) Teaching data storage device
US20250135641A1 (en) Terminal device
JP6917551B2 (en) Robot control method and robot
JP2023017436A (en) robot controller
JP2023017440A (en) Image processing device
JP7340069B1 (en) Marker position registration program, marker position registration device, marker position registration method, and marker used for the method
WO2017032407A1 (en) An industrial robot system and a method for programming an industrial robot
JP7689881B2 (en) Image processing device and robot placement method
JP7645145B2 (en) Teaching data correction device
JP7663448B2 (en) Image Processing Device
EP4464467A1 (en) Terminal device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20251002