JP2016221659A - Robot system, robot system control method, program, recording medium, and article manufacturing method - Google Patents

Robot system, robot system control method, program, recording medium, and article manufacturing method Download PDF

Info

Publication number
JP2016221659A
JP2016221659A JP2015113092A JP2015113092A JP2016221659A JP 2016221659 A JP2016221659 A JP 2016221659A JP 2015113092 A JP2015113092 A JP 2015113092A JP 2015113092 A JP2015113092 A JP 2015113092A JP 2016221659 A JP2016221659 A JP 2016221659A
Authority
JP
Japan
Prior art keywords
robot
control device
simulator
trajectory data
simulation
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
JP2015113092A
Other languages
Japanese (ja)
Inventor
勝志 南園
Masashi Minamisono
勝志 南園
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2015113092A priority Critical patent/JP2016221659A/en
Publication of JP2016221659A publication Critical patent/JP2016221659A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

PROBLEM TO BE SOLVED: To shorten time since start of robot trajectory calculation until start of robot motion and improve article productivity by a robot while ensuring the reliability of the robot motion and reducing a calculation load on a simulator.SOLUTION: A control device 200 sequentially calculates trajectory data from a start point to an end point, and transmits partial trajectory data completed with calculation to a simulator 300 one after another. The simulator 300 conducts a motion simulation for moving a virtual robot in accordance with the partial trajectory data received from the control device 200 one after another, and when a robot 100 is stopped as a result of the motion simulation, transmits a stop signal to the control device 200. The control device 200 starts moving the robot 100 at time delayed from time of calculation of the simulator 300. The control device 200 stops moving the robot 100 when receiving the stop signal from the simulator 300.SELECTED DRAWING: Figure 1

Description

本発明は、制御装置とシミュレータとを有するロボットシステム、ロボットシステムの制御方法、プログラム、記録媒体及び物品の製造方法に関する。   The present invention relates to a robot system having a control device and a simulator, a control method of the robot system, a program, a recording medium, and an article manufacturing method.

産業用ロボットを用いた組立部品の生産において、オフラインシミュレータと呼ばれる、ワークステーションまたはパーソナルコンピュータ等のコンピュータでロボットの動作を模するソフトウェアが多数開発され、使用されている。ここで、オフラインとは、ロボットに関連する装置(通常はロボットコントローラなどのロボットを制御する装置を指す)が、実際のロボットに接続していない状態を指す用語である。逆に、産業用ロボットにおけるオンラインとは、ロボットコントローラがロボットと接続された状態を指す用語である。   In the production of assembly parts using an industrial robot, a lot of software called an off-line simulator that simulates the operation of a robot on a computer such as a workstation or a personal computer has been developed and used. Here, the off-line is a term indicating a state in which a device related to the robot (usually a device that controls the robot such as a robot controller) is not connected to the actual robot. Conversely, online in an industrial robot is a term indicating a state in which a robot controller is connected to a robot.

したがって、ロボットにおけるオフラインシミュレータとは、実際のロボットを直接操作することなく、シミュレーションができるような装置(例えば、シミュレーションを行うソフトウェアを導入したコンピュータ)を指す。シミュレーションは、ロボットに限らず、実際の物理装置を用いずに、その物理装置に近い現象の再現を仮想空間において実現するために用いられる。したがって、ロボットにおけるシミュレータも、通常のシミュレーションの用途と同様に、オフラインシミュレータの形態を取る。逆に、ロボットの教示作業(ロボットコントローラに動作点を記憶させる作業)において、実際にロボットを動作させながら教示を行うことは、オンライン教示と称することが多い。このように、産業用ロボットにおいては、実際のロボットを用いる場合と用いない場合を明確に区分して作業を行う。この違いをオンライン、オフラインという用語で表現する。   Therefore, an offline simulator in a robot refers to an apparatus that can perform a simulation without directly operating an actual robot (for example, a computer into which software for performing simulation is installed). The simulation is used not only for the robot but also for reproducing a phenomenon close to the physical device in a virtual space without using an actual physical device. Therefore, the simulator in the robot also takes the form of an offline simulator, similar to the normal simulation application. On the contrary, in the teaching operation of the robot (operation for storing the operating point in the robot controller), teaching while actually operating the robot is often referred to as online teaching. As described above, in the industrial robot, the work is performed by clearly dividing the case where the actual robot is used and the case where the actual robot is not used. This difference is expressed in terms of online and offline.

オフラインシミュレータは、主にロボット又はロボット周辺の物体に不可逆な物理的損害を与えるような事象を検証するためによく用いられる。その最も代表的な事象の例が、ロボットが他の物体と接触する「干渉」である。   Off-line simulators are often used to verify events that cause irreversible physical damage primarily to the robot or objects around the robot. The most typical example of this is “interference” in which the robot comes into contact with another object.

ロボットがロボット周辺の物体と干渉すると、ロボット又は物体が損傷する可能性があるため、ロボットがロボット周辺の物体と干渉しないようにロボットを動作させなければならない。このため、オフラインシミュレーションは、干渉を起こさないようなロボットの動作を実際のロボットを動作させる前に予め検討する確認作業において、非常に有用である。なお、オフラインシミュレータを使わずに、実際のロボットを用いて干渉確認を行うこともある。この場合は、実際のロボットをいつでも人間が停止できるような十分に遅い速度で動作させながら、干渉確認を行う。   If the robot interferes with an object around the robot, the robot or the object may be damaged. Therefore, the robot must be operated so that the robot does not interfere with the object around the robot. For this reason, the offline simulation is very useful in a confirmation operation in which a robot operation that does not cause interference is examined in advance before the actual robot is operated. In some cases, an actual robot is used to check interference without using an offline simulator. In this case, the interference is confirmed while operating the actual robot at a sufficiently slow speed so that a human can always stop.

しかしながら、ロボットの動作のシミュレーションを行うためには、ロボットの動作を演算するためのプログラムを、ロボットコントローラとは別に、シミュレータに用意する必要があった。   However, in order to simulate the robot operation, it is necessary to prepare a program for calculating the robot operation in the simulator separately from the robot controller.

これに対し、ロボットコントローラが、ロボットの軌道を計算してその計算結果をシミュレータに送り、シミュレータが、仮想ロボットを動作させて、その動作結果を表示装置に表示させるものが提案されている(特許文献1)。シミュレーションの結果、ロボットの動作が許容されるものであれば、ロボットコントローラにて、軌道データに従って実際にロボットを動作させることとなる。   On the other hand, a robot controller has been proposed in which the robot trajectory is calculated and the calculation result is sent to the simulator, and the simulator operates the virtual robot and displays the operation result on the display device (patent) Reference 1). As a result of the simulation, if the robot operation is allowed, the robot controller actually operates the robot according to the trajectory data.

特許第3742493号公報Japanese Patent No. 3742493

しかし、軌道計算及びシミュレーションには、さまざまな演算処理が必要であり、多大な演算時間を必要とする。したがって、これら軌道計算及びシミュレーションの演算時間を大幅に短縮するのは難しい。従来技術では、軌道計算の終了後にシミュレーションを行い、シミュレーションの終了後にロボットを動作させていた。したがって、軌道計算を開始してからロボットを動作させるまでに多大な時間を費やしており、ロボットによる物品の生産性が低いものであった。   However, the trajectory calculation and simulation require various calculation processes and require a large amount of calculation time. Therefore, it is difficult to significantly reduce the calculation time of these trajectory calculations and simulations. In the prior art, a simulation is performed after the trajectory calculation is completed, and the robot is operated after the simulation is completed. Therefore, a great amount of time is spent from the start of trajectory calculation until the robot is operated, and the productivity of articles by the robot is low.

本発明は、ロボットの動作の信頼性を確保しつつ、シミュレータの計算負荷を低減しながら、ロボットの軌道計算を開始してからロボットの動作を開始するまでの時間を短縮して、ロボットによる物品の生産性を向上させることを目的とする。   The present invention reduces the time required to start the robot motion from the start of the robot trajectory calculation while reducing the calculation load of the simulator while ensuring the reliability of the robot operation. The purpose is to improve productivity.

本発明のロボットシステムは、ロボットと、軌道データに従って前記ロボットの動作を制御する制御装置と、前記ロボットに対応する仮想ロボット及び前記ロボットの周囲にある物体に対応する仮想物体を、仮想空間内に配置し、前記仮想ロボットの動作をシミュレーションするシミュレータと、を備え、前記制御装置は、前記軌道データを、始点から終点に向かって順次計算し、計算が完了した部分軌道データから、逐次、前記シミュレータに送信し、前記シミュレータは、逐次、前記制御装置から受信した前記部分軌道データに従って、前記仮想ロボットを動作させる動作シミュレーションを行い、該動作シミュレーションの結果、前記ロボットを停止させる場合に停止信号を前記制御装置に送信し、前記制御装置は、前記シミュレータが最初の前記部分軌道データの前記動作シミュレーションが完了した後であって、最後の前記部分軌道データの前記動作シミュレーションが完了する前に、前記ロボットの動作を開始させ、前記停止信号を前記シミュレータから受信したときは前記ロボットの動作を停止させることを特徴とする。   The robot system of the present invention includes a robot, a control device that controls the operation of the robot according to trajectory data, a virtual robot corresponding to the robot, and virtual objects corresponding to objects around the robot in a virtual space. And a simulator for simulating the operation of the virtual robot, wherein the control device sequentially calculates the trajectory data from a start point to an end point, and sequentially calculates the simulator from partial trajectory data that has been calculated. The simulator sequentially performs an operation simulation for operating the virtual robot according to the partial trajectory data received from the control device, and a stop signal is output when the robot is stopped as a result of the operation simulation. Transmitted to the control device, the control device is the simulator After the operation simulation of the first partial trajectory data is completed and before the operation simulation of the last partial trajectory data is completed, the operation of the robot is started and the stop signal is received from the simulator. When this occurs, the operation of the robot is stopped.

本発明によれば、制御装置がロボットの軌道を計算するので、シミュレータの計算負荷が低減する。また、制御装置は、軌道全体の計算が終了するのを待たずに、部分軌道データをシミュレータに送信した後、ロボットを部分軌道データに従って動作させるので、ロボットの軌道計算を開始してからロボットの動作を開始するまでの時間を短縮することができる。これにより、ロボットによる物品の生産性が向上する。また、制御装置は、停止信号を受信したときにはロボットの動作を停止させるが、シミュレータによる動作シミュレーションに対して実際のロボットの動作のタイミングを遅らせている。したがって、制御装置は、停止信号を受信した際に事前にロボットの動作を停止させることができるので、ロボットの動作の信頼性が確保される。   According to the present invention, since the control device calculates the trajectory of the robot, the calculation load of the simulator is reduced. In addition, the control device does not wait for the calculation of the entire trajectory to end, and transmits the partial trajectory data to the simulator and then operates the robot according to the partial trajectory data. The time until the operation is started can be shortened. Thereby, the productivity of the article by the robot is improved. The control device stops the operation of the robot when receiving the stop signal, but delays the actual operation timing of the robot with respect to the operation simulation by the simulator. Accordingly, since the control device can stop the operation of the robot in advance when receiving the stop signal, the reliability of the operation of the robot is ensured.

第1実施形態に係るロボットシステムを示す概略図である。1 is a schematic diagram showing a robot system according to a first embodiment. 第1実施形態に係るロボットシステムの制御系を示すブロック図である。It is a block diagram which shows the control system of the robot system which concerns on 1st Embodiment. 第1実施形態に係るロボットシステムを示す機能ブロック図である。It is a functional block diagram which shows the robot system which concerns on 1st Embodiment. 第1実施形態に係る制御装置による軌道計算工程を示すフローチャートである。It is a flowchart which shows the track | orbit calculation process by the control apparatus which concerns on 1st Embodiment. 第1実施形態に係るシミュレータによるシミュレーション工程を示すフローチャートである。It is a flowchart which shows the simulation process by the simulator which concerns on 1st Embodiment. 第1実施形態に係る制御装置によるロボット制御工程を示すフローチャートである。It is a flowchart which shows the robot control process by the control apparatus which concerns on 1st Embodiment. 第1実施形態に係るロボットシステムの制御装置、シミュレータおよびロボットの動作の一例を示すタイムチャートである。It is a time chart which shows an example of operation of a control device of a robot system concerning a 1st embodiment, a simulator, and a robot. 第2実施形態に係るロボットシステムの制御装置、シミュレータおよびロボットの動作の一例を示すタイムチャートである。It is a time chart which shows an example of operation of a control device of a robot system concerning a 2nd embodiment, a simulator, and a robot. 第3実施形態に係るロボットシステムを示す概略図である。It is the schematic which shows the robot system which concerns on 3rd Embodiment.

以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。   Hereinafter, embodiments for carrying out the present invention will be described in detail with reference to the drawings.

[第1実施形態]
図1は、本発明の第1実施形態に係るロボットシステムを示す概略図である。ロボットシステム500は、ロボット100と、制御装置(ロボットコントローラ)200と、シミュレータ300と、入力装置350と、表示装置360と、ロボット操作端末400と、を備えている。
[First Embodiment]
FIG. 1 is a schematic view showing a robot system according to the first embodiment of the present invention. The robot system 500 includes a robot 100, a control device (robot controller) 200, a simulator 300, an input device 350, a display device 360, and a robot operation terminal 400.

ロボット100は、垂直多関節のロボットアーム101と、エンドエフェクタとしてのロボットハンド102と、を有している。ロボットアーム101の基端は、架台160の上面に固定されている。ロボットアーム101は、複数のリンクが複数の関節で旋回又は回転可能に連結されている。ロボットアーム101の基端が固定端であり、ロボットアーム101の先端が自由端である。ロボットハンド102は、ロボットアーム101の先端に取り付けられている。ロボットアーム101の各関節を駆動することにより、ロボットハンド102の位置及び姿勢を変更することができる。   The robot 100 has a vertically articulated robot arm 101 and a robot hand 102 as an end effector. The base end of the robot arm 101 is fixed to the upper surface of the gantry 160. In the robot arm 101, a plurality of links are connected to each other so as to be able to turn or rotate at a plurality of joints. The base end of the robot arm 101 is a fixed end, and the tip of the robot arm 101 is a free end. The robot hand 102 is attached to the tip of the robot arm 101. By driving each joint of the robot arm 101, the position and posture of the robot hand 102 can be changed.

ロボットハンド102は、複数のフィンガーを有し、複数のフィンガーを閉動作させることにより、部品W1又は部品W2を把持することができ、複数のフィンガーを開動作させることにより、部品W1又は部品W2を把持解放することができる。ロボット100により部品W1を別の部品W2に嵌合する嵌合作業を行い、物品(組立品)を製造することができる。   The robot hand 102 has a plurality of fingers, can grip the part W1 or the part W2 by closing the plurality of fingers, and can open the part W1 or the part W2 by opening the plurality of fingers. The grip can be released. A fitting operation for fitting the part W1 to another part W2 can be performed by the robot 100 to manufacture an article (assembly).

制御装置200は、コンピュータで構成され、ロボット100、即ちロボットアーム101及びロボットハンド102と信号線及び電力線で接続可能に構成されている。制御装置200は、信号線及び電力線でロボット100に接続された際に、ロボット100の動作を制御する。具体的には、制御装置200は、軌道データを計算し、算出した軌道データに従ってロボット100の動作を制御する。   The control device 200 is configured by a computer, and is configured to be connectable to the robot 100, that is, the robot arm 101 and the robot hand 102 through a signal line and a power line. The control device 200 controls the operation of the robot 100 when connected to the robot 100 with a signal line and a power line. Specifically, the control device 200 calculates trajectory data and controls the operation of the robot 100 according to the calculated trajectory data.

シミュレータ300は、ワークステーション等の汎用のコンピュータで構成され、制御装置200に接続可能に構成され、制御装置200に接続された際に、制御装置200と通信を行うよう構成されている。シミュレータ300は、ロボット100に対応する仮想ロボットやロボット100の周囲にある物体(例えば、ツールや他のロボット等)に対応する仮想物体を、仮想空間内に配置し、仮想ロボットの動作をシミュレーションするものである。   The simulator 300 is configured by a general-purpose computer such as a workstation, is configured to be connectable to the control apparatus 200, and is configured to communicate with the control apparatus 200 when connected to the control apparatus 200. The simulator 300 arranges virtual objects corresponding to the robot 100 and virtual objects corresponding to objects around the robot 100 (for example, tools and other robots) in the virtual space, and simulates the operation of the virtual robot. Is.

入力装置350は、キーボード等で構成され、シミュレータ300に接続可能に構成されている。入力装置350は、シミュレータ300に接続された際に、操作者の操作入力を受け、操作者の操作に応じた入力信号をシミュレータ300に出力する。シミュレータ300は、入力信号に応じて各種処理を実行する。   The input device 350 is configured with a keyboard or the like, and is configured to be connectable to the simulator 300. When connected to the simulator 300, the input device 350 receives an operation input from the operator and outputs an input signal corresponding to the operation of the operator to the simulator 300. The simulator 300 executes various processes according to the input signal.

表示装置360は、液晶モニタ等で構成され、シミュレータ300に接続可能に構成されている。表示装置360は、シミュレータ300に接続された際に、シミュレータ300の制御の下、画像を表示する。   The display device 360 is configured by a liquid crystal monitor or the like and is configured to be connectable to the simulator 300. When connected to the simulator 300, the display device 360 displays an image under the control of the simulator 300.

ロボット操作端末400は、制御装置200に接続可能に構成され、制御装置200に接続された際に、ロボットアーム101やロボットハンド102を駆動制御する指令や教示点のデータを制御装置200に送信可能に構成されている。   The robot operation terminal 400 is configured to be connectable to the control device 200. When connected to the control device 200, the robot operation terminal 400 can transmit commands for controlling the robot arm 101 and the robot hand 102 and teaching point data to the control device 200. It is configured.

図2は、本発明の第1実施形態に係るロボットシステムの制御系を示すブロック図である。制御装置200は、コンピュータで構成されており、演算部(制御部)としてのCPU(Central Processing Unit)201を備えている。また、制御装置200は、記憶部として、ROM(Read Only Memory)202、RAM(Random Access Memory)203、HDD(Hard Disk Drive)204を備えている。また、制御装置200は、各種のインタフェース211〜214を備えている。シミュレータ300は、コンピュータで構成されており、演算部としてのCPU301を備えている。また、シミュレータ300は、記憶部として、ROM302、RAM303、HDD304を備えている。また、シミュレータ300は、記録ディスクドライブ305及び各種のインタフェース311〜313を備えている。   FIG. 2 is a block diagram showing a control system of the robot system according to the first embodiment of the present invention. The control device 200 is configured by a computer and includes a CPU (Central Processing Unit) 201 as a calculation unit (control unit). The control device 200 includes a ROM (Read Only Memory) 202, a RAM (Random Access Memory) 203, and an HDD (Hard Disk Drive) 204 as storage units. In addition, the control device 200 includes various interfaces 211 to 214. The simulator 300 is configured by a computer, and includes a CPU 301 as a calculation unit. The simulator 300 includes a ROM 302, a RAM 303, and an HDD 304 as storage units. The simulator 300 includes a recording disk drive 305 and various interfaces 311 to 313.

ここで、ロボットアーム101は、関節を駆動する駆動源であるモータ120と、制御装置200からの指令に応じてモータ120に電流を供給する駆動制御装置130と、を有している。モータ120及び駆動制御装置130は、各関節に対応して設けられている。例えば、ロボットアーム101は、6つ関節を有する場合、6つのモータ120と、6つの駆動制御装置130とを有する。   Here, the robot arm 101 includes a motor 120 that is a drive source for driving the joint, and a drive control device 130 that supplies a current to the motor 120 in accordance with a command from the control device 200. The motor 120 and the drive control device 130 are provided corresponding to each joint. For example, when the robot arm 101 has six joints, the robot arm 101 includes six motors 120 and six drive control devices 130.

また、ロボットハンド102は、複数のフィンガーを駆動する駆動源であるモータ140と、制御装置200からの指令に応じてモータ140に電流を供給する駆動制御装置150と、を有している。   The robot hand 102 includes a motor 140 that is a drive source that drives a plurality of fingers, and a drive control device 150 that supplies current to the motor 140 in response to a command from the control device 200.

駆動制御装置130,150は、プリント回路板で構成されている。駆動制御装置130,150は、CPU、記憶部としてのEEPROM及びモータ駆動回路等を備えている。駆動制御装置130,150のCPUが制御装置200からの指令に基づいて電流指令を生成し、モータ駆動回路が電流指令に応じたPWM波形の電圧をモータ120,140に出力することで、モータ120,140に電流を供給する。   The drive control devices 130 and 150 are composed of printed circuit boards. The drive control devices 130 and 150 include a CPU, an EEPROM as a storage unit, a motor drive circuit, and the like. The CPU of the drive control devices 130 and 150 generates a current command based on a command from the control device 200, and the motor drive circuit outputs a voltage having a PWM waveform corresponding to the current command to the motors 120 and 140. , 140 is supplied with current.

CPU201には、ROM202、RAM203、HDD204及びインタフェース211〜214が、バス210を介して接続されている。ROM202には、BIOS等の基本プログラムが格納されている。RAM203は、CPU201の演算処理結果等、各種データを一時的に記憶する記憶装置である。   A ROM 202, a RAM 203, an HDD 204, and interfaces 211 to 214 are connected to the CPU 201 via a bus 210. The ROM 202 stores basic programs such as BIOS. The RAM 203 is a storage device that temporarily stores various data such as the arithmetic processing result of the CPU 201.

HDD204は、CPU201の演算処理結果や外部から取得した各種データ等を記憶する記憶装置であると共に、CPU201に、後述する演算処理を実行させるためのプログラム220を記録するものである。CPU201は、HDD204に記録(格納)されたプログラム220に基づいてロボットシステムの制御方法の各工程を実行する。なお、制御装置200には、書き換え可能な不揮発性メモリや外付けHDD等の不図示の外部記憶装置が接続されていてもよい。インタフェース212には、ロボットアーム101(駆動制御装置130)が接続されている。インタフェース213には、ロボットハンド102(駆動制御装置150)が接続されている。   The HDD 204 is a storage device that stores arithmetic processing results of the CPU 201, various data acquired from the outside, and the like, and records a program 220 for causing the CPU 201 to perform arithmetic processing described later. The CPU 201 executes each step of the robot system control method based on the program 220 recorded (stored) in the HDD 204. The control device 200 may be connected to an external storage device (not shown) such as a rewritable nonvolatile memory or an external HDD. The robot arm 101 (drive control device 130) is connected to the interface 212. The robot hand 102 (drive control device 150) is connected to the interface 213.

ロボット操作端末400は、いわゆるティーチングペンダントであり、インタフェース214に接続されている。ロボット操作端末400は、ロボット100を教示する教示点のデータやロボットプログラム等を操作者が入力操作することにより、HDD204に格納(設定)させることができる。CPU201は、HDD204に設定(格納)された教示点のデータやロボットプログラムを読み出し、これらデータに基づいて、ロボット100の軌道データを計算することができる。   The robot operation terminal 400 is a so-called teaching pendant and is connected to the interface 214. The robot operation terminal 400 can be stored (set) in the HDD 204 when an operator inputs data on teaching points for teaching the robot 100, a robot program, and the like. The CPU 201 can read the teaching point data and robot program set (stored) in the HDD 204 and calculate the trajectory data of the robot 100 based on these data.

CPU301には、ROM302、RAM303、HDD304及びインタフェース311〜313が、バス310を介して接続されている。ROM302には、BIOS等の基本プログラムが格納されている。RAM303は、CPU301の演算処理結果等、各種データを一時的に記憶する記憶装置である。   A ROM 302, a RAM 303, an HDD 304, and interfaces 311 to 313 are connected to the CPU 301 via a bus 310. The ROM 302 stores basic programs such as BIOS. A RAM 303 is a storage device that temporarily stores various types of data such as arithmetic processing results of the CPU 301.

HDD304は、CPU301の演算処理結果や外部から取得した各種データ等を記憶する記憶装置であると共に、CPU301に、後述する演算処理を実行させるためのプログラム320を記録するものである。CPU301は、HDD304に記録(格納)されたプログラム320に基づいてロボットシステムの制御方法の各工程を実行する。なお、シミュレータ300には、書き換え可能な不揮発性メモリや外付けHDD等の不図示の外部記憶装置が接続されていてもよい。   The HDD 304 is a storage device that stores arithmetic processing results of the CPU 301 and various data acquired from the outside, and records a program 320 for causing the CPU 301 to execute arithmetic processing described later. The CPU 301 executes each step of the robot system control method based on the program 320 recorded (stored) in the HDD 304. The simulator 300 may be connected to an external storage device (not shown) such as a rewritable nonvolatile memory or an external HDD.

シミュレータ300のインタフェース311と制御装置200のインタフェース211とがケーブル等で接続されており、シミュレータ300(CPU301)と制御装置200(CPU201)とが互いに通信(信号の送受信)が可能となっている。インタフェース312には、入力装置350が接続されている。インタフェース313には、表示装置360が接続されている。   The interface 311 of the simulator 300 and the interface 211 of the control device 200 are connected by a cable or the like, and the simulator 300 (CPU 301) and the control device 200 (CPU 201) can communicate with each other (transmit / receive signals). An input device 350 is connected to the interface 312. A display device 360 is connected to the interface 313.

なお、第1実施形態では、コンピュータ読み取り可能な記録媒体がHDD204,304であり、HDD204,304にプログラム220,320が格納される場合について説明するが、これに限定するものではない。プログラム220,320は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラム220,320を供給するための記録媒体としては、図2に示す記録ディスク321、不図示の外部記憶装置等を用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性メモリ、ROM等を用いることができる。図2では、記録ディスク321から読み出されたプログラム320,220が、HDD304,204にCPU301,201が実行可能な状態で格納されている。   In the first embodiment, the case where the computer-readable recording media are the HDDs 204 and 304 and the programs 220 and 320 are stored in the HDDs 204 and 304 will be described, but the present invention is not limited to this. The programs 220 and 320 may be recorded on any recording medium as long as they are computer-readable recording media. For example, as a recording medium for supplying the programs 220 and 320, the recording disk 321 shown in FIG. 2, an external storage device not shown, or the like may be used. As a specific example, a flexible disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory, a ROM, or the like can be used as a recording medium. In FIG. 2, programs 320 and 220 read from the recording disk 321 are stored in the HDDs 304 and 204 in a state where the CPUs 301 and 201 can be executed.

図3は、本発明の第1実施形態に係るロボットシステムを示す機能ブロック図である。図3において、制御装置200及びシミュレータ300については、CPU201,301がプログラム220,320を実行することにより機能するブロックを図示している。具体的に説明すると、制御装置200のCPU201は、プログラム220を実行することにより、ロボット動作信号受信部231、ロボットプログラム読出部232、ロボット軌道計算部233及びロボット軌道送信部234として機能する。更に、CPU201は、時間差計算部235、信号処理部236、動作判断部237及びサーボ制御部238として機能する。また、シミュレータ300のCPU301は、プログラム320を実行することにより、シミュレーション動作部331、異常動作検出部332及び信号送信部333として機能する。ロボット操作端末400は、ロボット動作信号送信部401を有する。   FIG. 3 is a functional block diagram showing the robot system according to the first embodiment of the present invention. In FIG. 3, for the control device 200 and the simulator 300, blocks that function when the CPUs 201 and 301 execute the programs 220 and 320 are illustrated. Specifically, the CPU 201 of the control device 200 functions as a robot motion signal receiving unit 231, a robot program reading unit 232, a robot trajectory calculation unit 233, and a robot trajectory transmission unit 234 by executing the program 220. Further, the CPU 201 functions as a time difference calculation unit 235, a signal processing unit 236, an operation determination unit 237, and a servo control unit 238. Further, the CPU 301 of the simulator 300 functions as a simulation operation unit 331, an abnormal operation detection unit 332, and a signal transmission unit 333 by executing the program 320. The robot operation terminal 400 includes a robot operation signal transmission unit 401.

操作者は、ロボット操作端末400において、ロボット100による生産を開始する操作をする。ここで、開始対象となるロボット100の動作は、ロボット100の複数の動作が一連に続いたものを想定している。すなわち、この場合の用途として、ロボット100の動作を逐次確認するような動作(通称手動動作)ではなく、一連の動作を連続して実行するような動作(通称自動動作)を想定する。物品(組立品)を生産する際には、ロボット100を自動動作で動作させる。この操作により、ロボット操作端末400のロボット動作信号送信部401がロボット100の動作を開始させる信号を、制御装置200に送信する。   The operator performs an operation for starting production by the robot 100 at the robot operation terminal 400. Here, the operation of the robot 100 to be started is assumed to be a series of a plurality of operations of the robot 100. In other words, as an application in this case, it is assumed that an operation (commonly referred to as an automatic operation) in which a series of operations are continuously performed is assumed, instead of an operation that sequentially confirms the operation of the robot 100 (commonly referred to as manual operation). When producing an article (assembly), the robot 100 is automatically operated. By this operation, the robot operation signal transmission unit 401 of the robot operation terminal 400 transmits a signal for starting the operation of the robot 100 to the control device 200.

制御装置200のロボット動作信号受信部231は、ロボット操作端末400のロボット動作信号送信部401からの信号を検知する。ロボット動作信号受信部231が信号を検知した場合、ロボットプログラム読出部232は、ロボットプログラム(教示点データを含む)を読み出し、ロボット軌道計算部233は、ロボット100(具体的にはロボットアーム101)の軌道データを計算する。つまり、ロボット軌道計算部233は、ロボット100の軌道データを、始点の教示点から終点の教示点に向かって順次計算する。ロボットプログラムに一連の複数の動作が記述されている場合には、各動作の軌道データを計算することになるが、一連の動作のうち最初の動作の軌道データから順次計算する。   The robot operation signal receiving unit 231 of the control device 200 detects a signal from the robot operation signal transmitting unit 401 of the robot operation terminal 400. When the robot operation signal receiving unit 231 detects the signal, the robot program reading unit 232 reads the robot program (including teaching point data), and the robot trajectory calculation unit 233 reads the robot 100 (specifically, the robot arm 101). Calculate orbital data. That is, the robot trajectory calculation unit 233 sequentially calculates the trajectory data of the robot 100 from the start point teaching point to the end point teaching point. When a series of a plurality of motions are described in the robot program, the trajectory data of each motion is calculated. The trajectory data of the first motion is sequentially calculated from the series of motions.

ロボット軌道送信部234は、ロボット軌道計算部233がある1つの動作に対応する軌道データを計算中に、軌道計算が完了した分の軌道データ(部分軌道データ)から、逐次、シミュレータ300に送信する。部分軌道データとは、計算完了して未送信の軌道データのことである。   The robot trajectory transmission unit 234 sequentially transmits to the simulator 300 from the trajectory data (partial trajectory data) for which the trajectory calculation is completed while the trajectory data corresponding to one operation is being calculated by the robot trajectory calculation unit 233. . The partial trajectory data is trajectory data that has been calculated and has not been transmitted.

この部分軌道データを受信したシミュレータ300のシミュレーション動作部331は、受信した部分軌道データに従って、逐次、仮想ロボットを動作させる動作シミュレーションを行う。また、シミュレーション動作部331は、動作シミュレーション結果を示す仮想ロボットの動作画像を、表示装置360に表示させる。これにより、操作者は、視覚的にシミュレーション結果を把握できる。   The simulation operation unit 331 of the simulator 300 that has received the partial trajectory data sequentially performs an operation simulation for operating the virtual robot according to the received partial trajectory data. Further, the simulation operation unit 331 causes the display device 360 to display an operation image of the virtual robot indicating the operation simulation result. Thereby, the operator can visually grasp the simulation result.

異常動作検出部332は、この動作シミュレーションの結果に基づき、仮想ロボットを停止させる必要があるかどうか、すなわち仮想ロボットが仮想物体に干渉するかどうかを判断する。信号送信部333は、一定の時間間隔D1で、割り込み信号、具体的にはロボット100の動作を停止させる停止信号又はロボット100の動作を許可する許可信号を、制御装置200に送信する。   Based on the result of this motion simulation, the abnormal motion detection unit 332 determines whether or not the virtual robot needs to be stopped, that is, whether or not the virtual robot interferes with the virtual object. The signal transmission unit 333 transmits an interrupt signal, specifically, a stop signal for stopping the operation of the robot 100 or a permission signal for permitting the operation of the robot 100 to the control device 200 at a constant time interval D1.

一方、制御装置200の時間差計算部235は、シミュレータ300に最初の部分軌道データを送信してから一定時間D0が経過したかを計算する。一定時間D0は、任意に設定可能であるが、例えば時間間隔D1と同じに設定されている。   On the other hand, the time difference calculation unit 235 of the control device 200 calculates whether a predetermined time D0 has elapsed since the first partial trajectory data was transmitted to the simulator 300. The fixed time D0 can be arbitrarily set, but is set to be the same as the time interval D1, for example.

また、制御装置200の信号処理部236は、受信した割り込み信号が、停止信号であるかどうか、即ち停止信号か許可信号かを判定する。   The signal processing unit 236 of the control device 200 determines whether the received interrupt signal is a stop signal, that is, whether it is a stop signal or a permission signal.

動作判断部237は、時間差計算部235にて計時した時間が一定時間D0を経過した後、信号処理部236の判定結果に応じて、ロボット100の動作の可否を判断し、サーボ制御部238に判断命令を出す。この判断命令は、許可信号の場合は動作命令、停止信号の場合は停止命令である。   The motion determination unit 237 determines whether the robot 100 can operate according to the determination result of the signal processing unit 236 after the time counted by the time difference calculation unit 235 has passed the fixed time D0. Issue a decision order. This determination command is an operation command in the case of a permission signal, and a stop command in the case of a stop signal.

サーボ制御部238は、動作判断部237の判断命令を受けて、ロボットアーム101に動作または停止の指令を送信する。ロボットアーム101の駆動制御装置130は、制御装置200からの動作または停止の指令をうけて、ロボットアーム101を動作または停止させる。   The servo control unit 238 receives a determination command from the operation determination unit 237 and transmits an operation or stop command to the robot arm 101. The drive control device 130 of the robot arm 101 operates or stops the robot arm 101 in response to an operation or stop command from the control device 200.

つまり、制御装置200は、軌道データの計算途中に、計算が完了した部分軌道データからロボット100を動作させるという、軌道データの計算とロボット100の動作とを並行して実施する。   That is, the control device 200 performs the calculation of the trajectory data and the operation of the robot 100 in parallel, in which the robot 100 is operated from the partial trajectory data for which the calculation has been completed during the calculation of the trajectory data.

その際に、計算したばかりの部分軌道データは、未チェックであるため、制御装置200は、シミュレータ300にロボット100の干渉確認を行わせるべく、計算が完了した部分軌道データを、逐次、シミュレータ300に送信する。つまり、制御装置200及びシミュレータ300により、軌道データの計算、動作シミュレーション及びロボット100の動作を並行して実施する。   At this time, since the partial trajectory data just calculated has not been checked, the control device 200 sequentially calculates the partial trajectory data for which the calculation has been completed in order to make the simulator 300 check the interference of the robot 100. Send to. That is, calculation of trajectory data, operation simulation, and operation of the robot 100 are performed in parallel by the control device 200 and the simulator 300.

そして、もしシミュレータ300がシミュレーションで干渉を検知したら、ロボット100が周囲の物体に干渉する前に、ロボット100の動作を停止させる必要がある。そのため、制御装置200は、シミュレータ300が最初の部分軌道データの動作シミュレーションが完了した後であって、最後の部分軌道データの動作シミュレーションが完了する前に、ロボット100の動作を開始させるものである。つまり、シミュレータ300によるシミュレーションを、ロボット100の動作に先行して行わせるものである。   If the simulator 300 detects interference in the simulation, it is necessary to stop the operation of the robot 100 before the robot 100 interferes with surrounding objects. Therefore, the control device 200 starts the operation of the robot 100 after the simulator 300 completes the operation simulation of the first partial trajectory data and before the operation simulation of the last partial trajectory data is completed. . That is, the simulation by the simulator 300 is performed prior to the operation of the robot 100.

このときのロボット100の動作は、干渉確認の動作ではなく、実際に物品(組立品)の製造を行う動作(前述した自動動作)である。つまり、制御装置200は、計算した軌道データに従ってロボット100を動作させて、部品W1を部品W2に組付ける等、実際に物品(組立品)を製造する。   The operation of the robot 100 at this time is not an operation for confirming interference, but an operation for actually manufacturing an article (an assembly) (the automatic operation described above). That is, the control device 200 actually manufactures an article (assembly), for example, by operating the robot 100 according to the calculated trajectory data and assembling the part W1 to the part W2.

以下、ロボットシステムの制御方法(物品の製造方法)について詳細に説明する。図4は、本発明の第1実施形態に係る制御装置による軌道計算処理(軌道計算工程)を示すフローチャートである。図5は、本発明の第1実施形態に係るシミュレータによるシミュレーション処理(シミュレーション工程)を示すフローチャートである。図6は、本発明の第1実施形態に係る制御装置によるロボット制御処理(ロボット制御工程)を示すフローチャートである。   The robot system control method (article manufacturing method) will be described in detail below. FIG. 4 is a flowchart showing trajectory calculation processing (trajectory calculation step) by the control device according to the first embodiment of the present invention. FIG. 5 is a flowchart showing a simulation process (simulation process) by the simulator according to the first embodiment of the present invention. FIG. 6 is a flowchart showing a robot control process (robot control process) by the control device according to the first embodiment of the present invention.

まず、図4の軌道計算処理のフローチャートについて説明する。制御装置200は、軌道データを、始点の教示点から終点の教示点に向かって順次計算し、計算が完了した部分軌道データから、逐次、シミュレータ300に送信する(ST1)。制御装置200は、軌道データの計算が完了したか否かを判断し(ST2)、完了していれば(ST2:Yes)そのまま終了し、完了していない場合(ST2:No)、停止信号を受信したか否かを判断する(ST3)。制御装置200は、シミュレータ300から送信された停止信号を受信した場合は(ST3:Yes)、軌道データの計算途中であっても、計算を終了し、停止信号を受信していない場合は(ST3:No)、ステップST1の処理に戻る。   First, the flowchart of the trajectory calculation process in FIG. 4 will be described. The control device 200 sequentially calculates the trajectory data from the start point teaching point toward the end point teaching point, and sequentially transmits to the simulator 300 from the partial trajectory data that has been calculated (ST1). The control device 200 determines whether or not the calculation of the trajectory data has been completed (ST2). If the calculation has been completed (ST2: Yes), the control device 200 ends the process. If the calculation has not been completed (ST2: No), the control device 200 outputs a stop signal. It is determined whether or not it has been received (ST3). When receiving the stop signal transmitted from the simulator 300 (ST3: Yes), the control device 200 ends the calculation even when the trajectory data is being calculated, and does not receive the stop signal (ST3). : No), it returns to the process of step ST1.

次に、図5のシミュレーション処理のフローチャートについて説明する。シミュレータ300は、制御装置200にて送信された部分軌道データを受信したか否かを判断し(ST11)、受信した場合(ST11:Yes)、逐次、受信した部分軌道データに従って、仮想ロボットを動作させる動作シミュレーションを行う(ST12)。   Next, the flowchart of the simulation process in FIG. 5 will be described. The simulator 300 determines whether or not the partial trajectory data transmitted by the control device 200 has been received (ST11). If received (ST11: Yes), the simulator 300 sequentially operates the virtual robot according to the received partial trajectory data. An operation simulation is performed (ST12).

シミュレータ300は、この動作シミュレーションにより、仮想ロボットが仮想物体に干渉するか否かを判断する(ST13)。   The simulator 300 determines whether or not the virtual robot interferes with the virtual object by this operation simulation (ST13).

シミュレータ300は、この判断の結果、干渉していないと判断した場合は(ST13:No)許可信号を(ST14)、干渉したと判断した場合は(ST13:Yes)停止信号を、割り込み信号として制御装置200に送信する(ST15)。このように、シミュレータ300は、動作シミュレーションの結果、ロボット100の動作を許可する許可信号及び停止信号のいずれかを、割り込み信号として制御装置200に送信する。   As a result of this determination, if the simulator 300 determines that there is no interference (ST13: No), the simulator 300 controls the permission signal (ST14), and if it determines that there is interference (ST13: Yes), controls the stop signal as an interrupt signal. It transmits to the apparatus 200 (ST15). As described above, as a result of the operation simulation, the simulator 300 transmits either the permission signal or the stop signal that permits the operation of the robot 100 to the control device 200 as an interrupt signal.

シミュレータ300は、シミュレーションを継続するか否かを判断し(ST16)、継続すると判断した場合は(ST16:Yes)ステップST11の処理に戻り、継続しないと判断した場合は(ST16:No)シミュレーションを終了する。具体的に説明すると、シミュレータ300は、停止信号を送信した場合、又は全ての軌道データのシミュレーションを完了した場合は、シミュレーションを継続しないと判断し、それ以外はシミュレーションを継続すると判断する。シミュレータ300は、停止信号を送信してシミュレーションを終了した場合には、その旨を示す画像を表示装置360に表示させる。これにより、操作者は、教示点を変更する必要があることを判断できる。   The simulator 300 determines whether or not to continue the simulation (ST16). If it is determined to continue (ST16: Yes), the process returns to step ST11. If it is determined not to continue (ST16: No), the simulation is performed. finish. More specifically, the simulator 300 determines that the simulation is not continued when the stop signal is transmitted or the simulation of all the trajectory data is completed, and determines that the simulation is continued otherwise. When the simulator 300 transmits a stop signal and ends the simulation, the simulator 300 displays an image indicating that fact on the display device 360. Accordingly, the operator can determine that the teaching point needs to be changed.

シミュレータ300は、ステップST11〜ST16のルーチンにより、割り込み信号を、一定の時間間隔D1で制御装置200に送信し、送信する割り込み信号が停止信号となった後は、割り込み信号の送信を停止する。このように、シミュレータ300は、仮想ロボットが仮想物体に干渉したときは、ロボット100を停止させる場合として停止信号を制御装置200に送信する。   The simulator 300 transmits an interrupt signal to the control device 200 at a constant time interval D1 by the routine of steps ST11 to ST16, and stops the transmission of the interrupt signal after the interrupt signal to be transmitted becomes a stop signal. As described above, when the virtual robot interferes with the virtual object, the simulator 300 transmits a stop signal to the control device 200 as a case where the robot 100 is stopped.

次に、図6のロボット制御処理のフローチャートについて説明する。制御装置200は、シミュレータ300に最初に部分軌道データを送信してから予め設定された一定時間D0が経過したか否かを判断する(ST21)。   Next, the flowchart of the robot control process of FIG. 6 will be described. Control device 200 determines whether or not a predetermined time D0 has elapsed since the partial trajectory data was first transmitted to simulator 300 (ST21).

制御装置200は、一定時間D0が経過した後(ST21:Yes)、割り込み信号を受信しているかどうかを判断する(ST22)。制御装置200は、未だシミュレータ300からの割り込み信号を受信していない場合は、割り込み信号を受信するまで待機する。   Control device 200 determines whether or not an interrupt signal has been received after a certain period of time D0 has elapsed (ST21: Yes) (ST22). When the interrupt signal from the simulator 300 has not been received yet, the control device 200 stands by until the interrupt signal is received.

一定時間D0は、シミュレータ300の演算処理能力、制御装置200の信号処理能力に依存する。よって一定時間D0は、シミュレータ300の演算処理能力及び制御装置200の信号処理能力に応じ、シミュレータ300が干渉を検知して停止信号を送信した際にロボット100を停止させるまでにロボット100が干渉しない時間に設定されている。この一定時間D0は、時間間隔D1以上、シミュレータ300が軌道データについてシミュレーションを終える時間よりも短い時間の範囲内で、任意に設定可能である。第1実施形態では、一定時間D0は、シミュレータ300の割り込み信号の時間間隔D1と同じに設定されている。   The fixed time D0 depends on the arithmetic processing capability of the simulator 300 and the signal processing capability of the control device 200. Therefore, the fixed time D0 does not interfere with the robot 100 until the robot 100 stops when the simulator 300 detects an interference and transmits a stop signal according to the arithmetic processing capability of the simulator 300 and the signal processing capability of the control device 200. Set to time. This fixed time D0 can be arbitrarily set within the time interval D1 or longer and shorter than the time when the simulator 300 finishes the simulation for the trajectory data. In the first embodiment, the fixed time D0 is set to be the same as the time interval D1 of the interrupt signal of the simulator 300.

次に、制御装置200は、割り込み信号を受信している場合、最近(直近)の割り込み信号について、割り込み信号が許可信号か否かを判断する(ST23)。例えば、割り込み信号を1つ受信していた場合は、最近の割り込み信号はその割り込み信号となるが、割り込み信号を2つ以上受信していた場合は、これら受信した割り込み信号のうち最後に受信した割り込み信号が最近の割り込み信号となる。制御装置200は、割り込み信号が許可信号でなければ(ST23:No)、即ち停止信号であれば、そのまま処理を終了する。制御装置200は、割り込み信号が許可信号であれば(ST23:Yes)、ロボット100の動作を開始させる(ST24)。   Next, when receiving an interrupt signal, control device 200 determines whether or not the interrupt signal is a permission signal for the latest (most recent) interrupt signal (ST23). For example, if one interrupt signal was received, the most recent interrupt signal becomes that interrupt signal, but if two or more interrupt signals were received, the last received interrupt signal was received. The interrupt signal becomes the recent interrupt signal. If the interrupt signal is not a permission signal (ST23: No), that is, if it is a stop signal, control device 200 ends the process as it is. If the interrupt signal is a permission signal (ST23: Yes), control device 200 starts the operation of robot 100 (ST24).

これにより、制御装置200は、シミュレータ300が最初の部分軌道データの動作シミュレーションが完了した後であって、最後の部分軌道データの動作シミュレーションが完了する前に、ロボット100の動作を開始させることとなる。   Thus, the control device 200 starts the operation of the robot 100 after the simulator 300 completes the operation simulation of the first partial trajectory data and before the operation simulation of the final partial trajectory data is completed. Become.

次に、制御装置200は、ロボット100を動作させながら、次の割り込み信号を待ち受ける(ST25)。そして、制御装置200は、次の割り込み信号を受信したとき、受信した割り込み信号が停止信号であるかどうか、即ち停止信号か許可信号かを判定する(ST26)。   Next, control device 200 waits for the next interrupt signal while operating robot 100 (ST25). Then, when receiving the next interrupt signal, control device 200 determines whether the received interrupt signal is a stop signal, that is, whether it is a stop signal or a permission signal (ST26).

制御装置200は、シミュレータ300から受信した割り込み信号が許可信号のときは(ST26:No)、ステップST25に戻る。制御装置200は、割り込み信号が停止信号のときは(ST26:Yes)、ロボット100の動作を停止させ(ST27)、ロボット制御処理を終了する。   When the interrupt signal received from simulator 300 is a permission signal (ST26: No), control device 200 returns to step ST25. When the interrupt signal is a stop signal (ST26: Yes), the control device 200 stops the operation of the robot 100 (ST27) and ends the robot control process.

シミュレータ300により軌道データの最初から最後に亘って干渉が確認されなかったら、制御装置200は、ロボット100の動作により1つの物品(組立品)を製造したことになる。なお、次回からは、教示点を変更しない限り、同じ軌道データに従ってロボット100を動作させるので、2つ目以降の物品の製造については、シミュレータ300によるシミュレーションは行わなくてもよい。つまり、第1実施形態では、教示点を変更したとき等、最初の1回のみシミュレータ300でシミュレーションをすればよい。   If no interference is confirmed from the beginning to the end of the trajectory data by the simulator 300, the control device 200 has manufactured one article (assembly) by the operation of the robot 100. From the next time, unless the teaching point is changed, the robot 100 is operated in accordance with the same trajectory data. Therefore, the simulator 300 does not need to perform simulation for manufacturing the second and subsequent articles. That is, in the first embodiment, when the teaching point is changed, the simulator 300 only needs to perform the simulation once for the first time.

以上の動作を、具体例を挙げて説明する。以下の例においては、予め教示作業が終了し、動作確認が完了しているロボットシステム500において、一部の教示点のみを変更し、動作確認するような事例を想定する。   The above operation will be described with a specific example. In the following example, it is assumed that in the robot system 500 in which the teaching work has been completed in advance and the operation confirmation has been completed, only a part of the teaching points are changed and the operation is confirmed.

図7は、本発明の第1実施形態に係るロボットシステムの制御装置200、シミュレータ300およびロボット100の動作の一例を示すタイムチャートである。図7の例では、計算される軌道データは3つあり、3つの軌道データの算出タイミングをB11,B12,B13とする。各軌道データは、1単位のロボット動作に対応し、少なくとも始点となる教示点と終点となる教示点とを用いて生成される。1単位のロボットの動作とは、ある始点からある終点までの動作として定義されるので、その1つの動作を指す。各軌道データにおいて、B11,B12,B13において破線で区切られた区間で部分軌道データが生成される。   FIG. 7 is a time chart showing an example of operations of the control device 200, the simulator 300, and the robot 100 of the robot system according to the first embodiment of the present invention. In the example of FIG. 7, there are three orbit data to be calculated, and the calculation timings of the three orbit data are B11, B12, and B13. Each trajectory data corresponds to one unit of robot motion, and is generated using at least a teaching point as a starting point and a teaching point as an end point. The movement of one unit of robot is defined as a movement from a certain start point to a certain end point, and thus refers to that one movement. In each trajectory data, partial trajectory data is generated in a section delimited by a broken line in B11, B12, and B13.

制御装置200は、部分軌道データの計算が終えたら、シミュレータ300に送信するが、制御装置200が部分軌道データを送信してからシミュレータ300が部分軌道データに基づきシミュレーションを行うまでに遅延時間DS(=T1−T0)が発生する。   When the calculation of the partial trajectory data is completed, the control device 200 transmits the partial trajectory data to the simulator 300. However, the delay time DS (from when the control device 200 transmits the partial trajectory data to when the simulator 300 performs a simulation based on the partial trajectory data is transmitted. = T1-T0) occurs.

図7中、各軌道データに対応する動作シミュレーションの計算時間をSB11,SB12,SB13とする。また、図7中、各軌道データに対応するロボット100の動作時間をRB11,RB12,RB13とする。   In FIG. 7, the calculation time of the operation simulation corresponding to each trajectory data is SB11, SB12, and SB13. In FIG. 7, the operation time of the robot 100 corresponding to each trajectory data is RB11, RB12, and RB13.

制御装置200は、シミュレータ300が最初の部分軌道データの動作シミュレーションが完了した後であって、最後の部分軌道データの動作シミュレーションが完了する前に、ロボット100の動作を開始させる。図7の例では、時刻T2と時刻T6の間の時刻T3でロボット100の動作を開始させている。   The control device 200 starts the operation of the robot 100 after the simulator 300 completes the operation simulation of the first partial trajectory data and before the operation simulation of the last partial trajectory data is completed. In the example of FIG. 7, the operation of the robot 100 is started at time T3 between time T2 and time T6.

また、制御装置200は、シミュレータ300が最初の部分軌道データの動作シミュレーションが完了した後であって、次の部分軌道データの動作シミュレーションが完了する前に、ロボット100の動作を開始させるのが好ましい。図7の例では、時刻T2と時刻T4の間の時刻T3でロボット100の動作を開始させている。   In addition, it is preferable that the control device 200 starts the operation of the robot 100 after the simulator 300 completes the operation simulation of the first partial trajectory data and before the operation simulation of the next partial trajectory data is completed. . In the example of FIG. 7, the operation of the robot 100 is started at time T3 between time T2 and time T4.

シミュレータ300は、一定の時間間隔D1で制御装置200に向けて割り込み信号S1を送信する。時間間隔D1は、操作者が任意に設定することが可能な時間である。時間間隔D1は、図7においてD1=T4−T2=T5−T4となる。この時間間隔D1は、例えば前述した一定時間D0と同じ時間に設定されている。   The simulator 300 transmits an interrupt signal S1 toward the control device 200 at a constant time interval D1. The time interval D1 is a time that can be arbitrarily set by the operator. The time interval D1 is D1 = T4-T2 = T5-T4 in FIG. For example, the time interval D1 is set to the same time as the predetermined time D0 described above.

なお、一定時間D0を時間間隔D1と同じ時間に設定することで、ロボット100は、制御装置200が部分軌道データを最初に送信したタイミングから一定時間D0以上遅延して動作することとなる。   In addition, by setting the fixed time D0 to the same time as the time interval D1, the robot 100 operates with a delay of the fixed time D0 from the timing when the control device 200 first transmits the partial trajectory data.

時間間隔D1は任意に設定することができるが、以下に述べる条件を成立させるのに十分な値を設定する必要がある。割り込み信号S1がシミュレータ300から制御装置200に送信され、制御装置200にて割り込み信号S1を受信し、割り込み信号S1が停止信号か許容信号かを判定して、ロボット100の動作を停止又は継続させるまでに要する時間をD2とする。   The time interval D1 can be set arbitrarily, but it is necessary to set a value sufficient to satisfy the conditions described below. An interrupt signal S1 is transmitted from the simulator 300 to the control device 200, and the control device 200 receives the interrupt signal S1, determines whether the interrupt signal S1 is a stop signal or an allowable signal, and stops or continues the operation of the robot 100. Let D2 be the time required to complete the process.

つまり、シミュレータ300が割り込み信号S1を送信してから遅延時間D2(=T3−T2)のタイミングでロボット100の動作を停止又は継続させることとなる。図3の機能ブロック図で考えた場合、時間D2は、シミュレータ300が割り込み信号S1を送信してから制御装置200の信号処理部236の処理を経て、動作判断部237にわたり、その動作判断からサーボ制御部238にわたるまでの時間ともいえる。   That is, the operation of the robot 100 is stopped or continued at the timing of the delay time D2 (= T3-T2) after the simulator 300 transmits the interrupt signal S1. Considering the functional block diagram of FIG. 3, the time D <b> 2 is the time from the operation determination to the servo through the operation determination unit 237 through the signal processing unit 236 of the control device 200 after the simulator 300 transmits the interrupt signal S <b> 1. It can be said that the time until the controller 238 is reached.

よって、第1実施形態では、D1>D2の条件が成立するように時間間隔D1が設定されている。仮にD1<D2となる場合を考えると、制御装置200において、割り込み信号S1について処理が完了していないときに、次の割り込み信号S1を受信することになり、未処理の割り込み信号が累積し、割り込み信号S1の判断が遅延する。この遅延により、ロボット100が物体に干渉する前にロボット100を停止させることができない場合が生じることがある。   Therefore, in the first embodiment, the time interval D1 is set so that the condition of D1> D2 is satisfied. Considering the case where D1 <D2, the control device 200 receives the next interrupt signal S1 when the processing for the interrupt signal S1 is not completed, and the unprocessed interrupt signal is accumulated. The determination of the interrupt signal S1 is delayed. Due to this delay, there may be a case where the robot 100 cannot be stopped before the robot 100 interferes with an object.

ここで、シミュレータ300で干渉を検出した場合を考える。図7においては、3つ目の動作シミュレーションの実行中、即ち時間SB13中に時刻T7においてシミュレータ300が干渉を検知したとする。このとき、シミュレータ300は、割り込み信号として停止信号S3を、制御装置200に送信する。この割り込み信号S3を受けた制御装置200は、遅延時間D2後、ロボット100の動作を停止させる。このとき、かかった時間においてSB13<RB13となる。つまり、すべての時間SBn(nは数字を表す)およびすべての時間RBnに対して、
SBn≦RBn
の関係が成立している。つまり、シミュレータ300の演算時間がロボット100の動作時間に比して短い場合は、演算処理が早く終わるので、ロボット100が干渉する前に事前に停止させることができ特に問題はない。一方、シミュレータ300の演算時間が長い場合は、ロボット100が干渉する前に事前に停止するように、ロボット100の動作時間をシミュレータ300の演算速度に合わせて長くすればよい。これにより、ロボット100がシミュレーションで発生したエラー箇所より少し前の動作段階で停止することになる。
Here, a case where interference is detected by the simulator 300 will be considered. In FIG. 7, it is assumed that the simulator 300 detects interference at time T7 during execution of the third motion simulation, that is, during time SB13. At this time, the simulator 300 transmits a stop signal S3 to the control device 200 as an interrupt signal. The control device 200 that has received the interrupt signal S3 stops the operation of the robot 100 after the delay time D2. At this time, SB13 <RB13 in the time required. That is, for all times SBn (n represents a number) and all times RBn,
SBn ≦ RBn
The relationship is established. That is, when the calculation time of the simulator 300 is shorter than the operation time of the robot 100, the calculation process is completed earlier, so that the robot 100 can be stopped in advance before interference, and there is no particular problem. On the other hand, when the calculation time of the simulator 300 is long, the operation time of the robot 100 may be increased according to the calculation speed of the simulator 300 so that the operation stops before the robot 100 interferes. As a result, the robot 100 stops at the operation stage slightly before the error location generated in the simulation.

また、割り込み信号の送信の時間間隔D1は、シミュレーションの時間SBnに対して、
SBn>D1
の条件も満たす必要がある。つまり、1つのロボット100の動作に対して、シミュレーションの結果(即ち割り込み信号S1)を1回以上、シミュレータ300が送信する必要がある。これは、シミュレータ300での仮想ロボットの動作とほぼ並行な状態で、実際のロボット100を動作させるという意図によるものである。
Further, the transmission time interval D1 of the interrupt signal is equal to the simulation time SBn.
SBn> D1
It is necessary to satisfy the conditions. That is, for the operation of one robot 100, it is necessary for the simulator 300 to transmit the simulation result (that is, the interrupt signal S1) at least once. This is because the actual robot 100 is operated in a state substantially parallel to the operation of the virtual robot in the simulator 300.

以上、第1実施形態によれば、制御装置200がロボット100の軌道を計算するので、シミュレータ300の計算負荷が低減する。また、制御装置200は、軌道全体の計算が終了するのを待たずに、部分軌道データをシミュレータ300に送信した後、ロボット100を部分軌道データに従って動作させる。したがって、ロボット100の軌道計算を開始してからロボット100の動作を開始するまでの時間を短縮することができる。これにより、ロボット100による物品(組立品)の生産性が向上する。また、制御装置200は、停止信号を受信したときにはロボット100の動作を停止させるが、シミュレータ300による動作シミュレーションに対して実際のロボット100の動作のタイミングを遅らせている。したがって、制御装置200は、停止信号を受信した際に事前にロボット100の動作を停止させることができるので、ロボット100の動作の信頼性が確保される。   As mentioned above, according to 1st Embodiment, since the control apparatus 200 calculates the track | orbit of the robot 100, the calculation load of the simulator 300 reduces. In addition, the control device 200 transmits the partial trajectory data to the simulator 300 without waiting for the calculation of the entire trajectory to be completed, and then operates the robot 100 according to the partial trajectory data. Therefore, it is possible to shorten the time from the start of the trajectory calculation of the robot 100 to the start of the operation of the robot 100. Thereby, the productivity of articles (assemblies) by the robot 100 is improved. The control device 200 stops the operation of the robot 100 when it receives a stop signal, but delays the actual operation timing of the robot 100 with respect to the operation simulation by the simulator 300. Therefore, since the control device 200 can stop the operation of the robot 100 in advance when the stop signal is received, the reliability of the operation of the robot 100 is ensured.

また、第1実施形態では、シミュレータ300は、割り込み信号として、停止信号と許可信号のいずれかを送信し、制御装置200は、許可信号を受けて、許可された部分軌道データに基づき、ロボット100を動作させている。そして、制御装置200は、停止信号を受けて、ロボット100の動作を停止させている。これにより、ロボット100の動作の信頼性が更に向上する。   In the first embodiment, the simulator 300 transmits either a stop signal or a permission signal as an interrupt signal, and the control device 200 receives the permission signal and based on the permitted partial trajectory data, the robot 100. Is operating. The control device 200 receives the stop signal and stops the operation of the robot 100. Thereby, the reliability of the operation of the robot 100 is further improved.

また、シミュレータ300は、仮想ロボットの干渉確認を行い、干渉する場合には停止信号を制御装置200に送信するので、実際のロボット100がまわりの物体に干渉する前にロボット100を停止させることができる。したがって、ロボット100の動作の信頼性を確保できる。   Further, the simulator 300 confirms the interference of the virtual robot, and transmits a stop signal to the control device 200 in the case of interference, so that the robot 100 can be stopped before the actual robot 100 interferes with surrounding objects. it can. Therefore, the reliability of the operation of the robot 100 can be ensured.

[第2実施形態]
次に、本発明の第2実施形態に係るロボットシステムの制御方法について説明する。図8は、本発明の第2実施形態に係るロボットシステムの制御装置、シミュレータおよびロボットの動作の一例を示すタイムチャートである。なお、ロボットシステムの構成は、第1実施形態と同様であるため、説明を省略する。
[Second Embodiment]
Next, a robot system control method according to a second embodiment of the present invention will be described. FIG. 8 is a time chart showing an example of the operation of the control device, simulator, and robot of the robot system according to the second embodiment of the present invention. Note that the configuration of the robot system is the same as that of the first embodiment, and thus description thereof is omitted.

第1実施形態では、シミュレータ300が、割り込み信号として、許可信号及び停止信号のいずれかを送信する場合について説明したが、第2実施形態では、停止信号のみを送信する。即ち、シミュレータ300は、許可信号を送信しない。   In the first embodiment, the case where the simulator 300 transmits either the permission signal or the stop signal as the interrupt signal has been described. However, in the second embodiment, only the stop signal is transmitted. That is, the simulator 300 does not transmit a permission signal.

したがって、制御装置200は、最初の部分軌道データを送信してから一定時間D0が経過してからロボット100の動作を開始させる。そして、制御装置200は、停止信号を受信したときにロボット100の動作を停止させればよい。一定時間D0は、第1実施形態と同様、停止信号を受信してからロボット100を停止させても、ロボット100が干渉する前に停止するよう設定しておけばよい。   Therefore, the control device 200 starts the operation of the robot 100 after a certain time D0 has elapsed since the transmission of the first partial trajectory data. And the control apparatus 200 should just stop operation | movement of the robot 100, when a stop signal is received. Similarly to the first embodiment, the fixed time D0 may be set to stop before the robot 100 interferes even if the robot 100 is stopped after receiving the stop signal.

これにより、第2実施形態では、第1実施形態と同様の効果を奏する。即ち、ロボット100の動作の信頼性を確保しつつ、シミュレータ300の計算負荷を低減しながら、ロボット100の軌道計算を開始してからロボット100の動作を開始するまでの時間を短縮される。したがって、ロボット100による物品(組立品)の生産性が向上する。   Thereby, in 2nd Embodiment, there exists an effect similar to 1st Embodiment. That is, while ensuring the reliability of the operation of the robot 100, while reducing the calculation load of the simulator 300, the time from the start of the trajectory calculation of the robot 100 to the start of the operation of the robot 100 is shortened. Therefore, the productivity of articles (assemblies) by the robot 100 is improved.

[第3実施形態]
次に、本発明の第3実施形態に係るロボットシステムについて説明する。図9は、本発明の第3実施形態に係るロボットシステムを示す概略図である。なお、第3実施形態のロボットシステムについて、第1実施形態のロボットシステムと同様の構成については、同一符号を付して説明を省略する。
[Third Embodiment]
Next, a robot system according to a third embodiment of the invention will be described. FIG. 9 is a schematic view showing a robot system according to the third embodiment of the present invention. In addition, about the robot system of 3rd Embodiment, about the structure similar to the robot system of 1st Embodiment, the same code | symbol is attached | subjected and description is abbreviate | omitted.

ロボットシステム500Aは、ロボット100、制御装置(ロボットコントローラ)200、シミュレータ300、入力装置350、表示装置360及びロボット操作端末400のほか、撮像装置としてのカメラ600を備えている。   A robot system 500A includes a robot 100, a control device (robot controller) 200, a simulator 300, an input device 350, a display device 360, a robot operation terminal 400, and a camera 600 as an imaging device.

カメラ600は、ロボット100のロボットハンド102により把持する把持対象物である部品W1を撮像するためのものであり、架台160に対して相対的に移動しないように不図示の枠体等に固定されている。   The camera 600 is for capturing an image of the part W1 that is a gripping object to be gripped by the robot hand 102 of the robot 100, and is fixed to a frame (not shown) or the like so as not to move relative to the gantry 160. ing.

シミュレータ300及び制御装置200は、第1実施形態と同様の処理を行うが、図4のステップST1にて生成するロボットの軌道データが、第1実施形態と異なる。   The simulator 300 and the control device 200 perform the same processing as in the first embodiment, but the robot trajectory data generated in step ST1 in FIG. 4 is different from that in the first embodiment.

即ち、制御装置200は、図4のステップST1では、カメラ600により撮像された撮像画像から、部品W1の位置及び姿勢を計算し、部品W1の位置及び姿勢に応じて、ロボットハンド102が部品W1に向かう軌道データを計算する。つまり、部品W2に組付ける部品W1の位置及び姿勢は、毎回異なるため、軌道データは、物品(組立品)を製造する毎に毎回計算することとなる。   That is, in step ST1 of FIG. 4, the control device 200 calculates the position and orientation of the component W1 from the captured image captured by the camera 600, and the robot hand 102 moves the component W1 according to the position and orientation of the component W1. Calculate the trajectory data going to. That is, since the position and orientation of the component W1 assembled to the component W2 are different each time, the trajectory data is calculated every time an article (assembly) is manufactured.

このように、カメラ600の画像データにより、1つの物品(組立品)を製造する毎に毎回軌道データを計算する場合には、シミュレータ300は、毎回計算される軌道データに対して毎回シミュレーションを行う。   As described above, when the trajectory data is calculated every time one article (assembly) is manufactured from the image data of the camera 600, the simulator 300 performs simulation for the trajectory data calculated each time. .

第3実施形態によれば、毎回変更される軌道データに対してシミュレーションを行う場合、軌道データの計算、シミュレーション及びロボット100の動作を並行して行うことで、ロボット100による物品(組立品)の生産性が向上する。   According to the third embodiment, when the simulation is performed on the trajectory data that is changed every time, the calculation of the trajectory data, the simulation, and the operation of the robot 100 are performed in parallel. Productivity is improved.

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

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

また、上述の実施形態では、ロボットアーム101が垂直多関節のロボットアームの場合について説明したが、これに限定するものではない。ロボットアーム101が、例えば、水平多関節のロボットアーム、パラレルリンクのロボットアーム、直交ロボット等、種々のロボットアームであってもよい。   In the above-described embodiment, the case where the robot arm 101 is a vertically articulated robot arm has been described. However, the present invention is not limited to this. The robot arm 101 may be various robot arms such as a horizontal articulated robot arm, a parallel link robot arm, and an orthogonal robot.

また、エンドエフェクタがロボットハンド102の場合について説明したがこれに限定するものではない。例えばエンドエフェクタが電動ドライバー等のツールであってもよい。   Moreover, although the case where the end effector is the robot hand 102 has been described, the present invention is not limited to this. For example, the end effector may be a tool such as an electric screwdriver.

また、上述の実施形態では、制御装置200及びシミュレータ300がそれぞれ1つのCPUを有している場合について説明したが、これに限定するものではなく、それぞれが複数のCPUを有していてもよい。そして、各CPUに図3に示す各部として機能させてもよい。   In the above-described embodiment, the case where each of the control device 200 and the simulator 300 has one CPU has been described. However, the present invention is not limited to this, and each may have a plurality of CPUs. . And you may make each CPU function as each part shown in FIG.

100…ロボット、200…制御装置、300…シミュレータ、500…ロボットシステム DESCRIPTION OF SYMBOLS 100 ... Robot, 200 ... Control apparatus, 300 ... Simulator, 500 ... Robot system

Claims (15)

ロボットと、
軌道データに従って前記ロボットの動作を制御する制御装置と、
前記ロボットに対応する仮想ロボット及び前記ロボットの周囲にある物体に対応する仮想物体を、仮想空間内に配置し、前記仮想ロボットの動作をシミュレーションするシミュレータと、を備え、
前記制御装置は、前記軌道データを、始点から終点に向かって順次計算し、計算が完了した部分軌道データから、逐次、前記シミュレータに送信し、
前記シミュレータは、逐次、前記制御装置から受信した前記部分軌道データに従って、前記仮想ロボットを動作させる動作シミュレーションを行い、該動作シミュレーションの結果、前記ロボットを停止させる場合に停止信号を前記制御装置に送信し、
前記制御装置は、前記シミュレータが最初の前記部分軌道データの前記動作シミュレーションが完了した後であって、最後の前記部分軌道データの前記動作シミュレーションが完了する前に、前記ロボットの動作を開始させ、前記停止信号を前記シミュレータから受信したときは前記ロボットの動作を停止させることを特徴とするロボットシステム。
With robots,
A control device for controlling the operation of the robot according to the trajectory data;
A virtual robot corresponding to the robot and a virtual object corresponding to an object around the robot are arranged in a virtual space, and a simulator for simulating the operation of the virtual robot,
The control device sequentially calculates the trajectory data from the start point to the end point, and sequentially transmits the partial trajectory data from the start point to the simulator,
The simulator sequentially performs an operation simulation for operating the virtual robot according to the partial trajectory data received from the control device, and transmits a stop signal to the control device when the robot is stopped as a result of the operation simulation. And
The controller starts the operation of the robot after the simulator completes the motion simulation of the first partial trajectory data and before the motion simulation of the last partial trajectory data is completed. When the stop signal is received from the simulator, the operation of the robot is stopped.
前記シミュレータは、前記動作シミュレーションの結果、前記ロボットの動作を許可する許可信号及び前記停止信号のいずれかを割り込み信号として前記制御装置に送信し、
前記制御装置は、前記許可信号を受信してから前記ロボットの動作を開始させることを特徴とする請求項1に記載のロボットシステム。
As a result of the operation simulation, the simulator transmits either the permission signal that permits the operation of the robot or the stop signal as an interrupt signal to the control device,
The robot system according to claim 1, wherein the control device starts the operation of the robot after receiving the permission signal.
前記シミュレータは、前記動作シミュレーションにより、前記仮想ロボットが前記仮想物体と干渉したか否かを判断し、前記割り込み信号として、干渉していないと判断した場合は前記許可信号、干渉したと判断した場合は前記停止信号を、前記制御装置に送信することを特徴とする請求項2に記載のロボットシステム。   The simulator determines whether or not the virtual robot has interfered with the virtual object by the operation simulation, and when the interrupt signal is determined not to interfere, the permission signal is determined to have interfered The robot system according to claim 2, wherein the stop signal is transmitted to the control device. 前記シミュレータは、前記割り込み信号を、一定の時間間隔で前記制御装置に送信することを特徴とする請求項2又は3に記載のロボットシステム。   The robot system according to claim 2 or 3, wherein the simulator transmits the interrupt signal to the control device at regular time intervals. 前記制御装置は、最初の前記部分軌道データを送信してから一定時間が経過してから前記ロボットの動作を開始させることを特徴とする請求項1に記載のロボットシステム。   2. The robot system according to claim 1, wherein the control device starts the operation of the robot after a predetermined time has elapsed after transmitting the first partial trajectory data. 前記ロボットは、ロボットアームと、前記ロボットアームに取り付けられたロボットハンドと、を有し、
前記ロボットハンドにより把持する把持対象物を撮像する撮像装置を更に備え、
前記制御装置は、前記撮像装置により撮像された撮像画像から、前記把持対象物の位置及び姿勢を計算し、前記把持対象物の位置及び姿勢に応じて、前記ロボットハンドが前記把持対象物に向かう前記軌道データを計算することを特徴とする請求項1乃至5のいずれか1項に記載のロボットシステム。
The robot has a robot arm and a robot hand attached to the robot arm,
An image pickup device for picking up an object to be grasped by the robot hand;
The control device calculates the position and orientation of the gripping object from the captured image captured by the imaging device, and the robot hand heads toward the gripping object according to the position and orientation of the gripping object. 6. The robot system according to claim 1, wherein the trajectory data is calculated.
ロボットと、軌道データに従って前記ロボットの動作を制御する制御装置と、前記ロボットに対応する仮想ロボット及び前記ロボットの周囲にある物体に対応する仮想物体を、仮想空間内に配置し、前記仮想ロボットの動作をシミュレーションするシミュレータと、を備えたロボットシステムの制御方法であって、
前記制御装置が、前記軌道データを、始点から終点に向かって順次計算し、計算が完了した部分軌道データから、逐次、前記シミュレータに送信する軌道計算工程と、
前記シミュレータが、逐次、前記制御装置から受信した前記部分軌道データに従って、前記仮想ロボットを動作させる動作シミュレーションを行い、該動作シミュレーションの結果、前記ロボットを停止させる場合に停止信号を前記制御装置に送信するシミュレーション工程と、
前記制御装置が、前記シミュレータが最初の前記部分軌道データの前記動作シミュレーションが完了した後であって、最後の前記部分軌道データの前記動作シミュレーションが完了する前に、前記ロボットの動作を開始させ、前記停止信号を前記シミュレータから受信したときは前記ロボットの動作を停止させるロボット制御工程と、を備えたことを特徴とするロボットシステムの制御方法。
A robot, a control device that controls the operation of the robot according to trajectory data, a virtual robot corresponding to the robot and a virtual object corresponding to an object around the robot are arranged in a virtual space, and the virtual robot A robot system control method comprising a simulator for simulating an operation,
The control device sequentially calculates the trajectory data from the start point to the end point, and from the partial trajectory data for which the calculation is completed, sequentially transmits the trajectory to the simulator,
The simulator sequentially performs an operation simulation for operating the virtual robot according to the partial trajectory data received from the control device, and transmits a stop signal to the control device when the robot is stopped as a result of the operation simulation. Simulation process to
The controller starts the operation of the robot after the simulator completes the motion simulation of the first partial trajectory data and before the motion simulation of the last partial trajectory data is completed; And a robot control step for stopping the operation of the robot when the stop signal is received from the simulator.
前記シミュレーション工程では、前記シミュレータが、前記動作シミュレーションの結果、前記ロボットの動作を許可する許可信号及び前記停止信号のいずれかを割り込み信号として前記制御装置に送信し、
前記ロボット制御工程では、前記制御装置が、前記許可信号を受信してから前記ロボットの動作を開始させることを特徴とする請求項7に記載のロボットシステムの制御方法。
In the simulation step, as a result of the operation simulation, the simulator transmits either the permission signal for allowing the operation of the robot or the stop signal to the control device as an interrupt signal,
The robot system control method according to claim 7, wherein, in the robot control step, the control device starts the operation of the robot after receiving the permission signal.
前記シミュレーション工程では、前記シミュレータが、前記動作シミュレーションにより、前記仮想ロボットが前記仮想物体と干渉したか否かを判断し、前記割り込み信号として、干渉していないと判断した場合は前記許可信号、干渉したと判断した場合は前記停止信号を、前記制御装置に送信することを特徴とする請求項8に記載のロボットシステムの制御方法。   In the simulation step, the simulator determines whether or not the virtual robot has interfered with the virtual object by the operation simulation, and if the interrupt signal is determined not to interfere, the permission signal, interference The robot system control method according to claim 8, wherein if it is determined that the stop signal has been transmitted, the stop signal is transmitted to the control device. 前記シミュレーション工程では、前記シミュレータが、前記割り込み信号を、一定の時間間隔で前記制御装置に送信することを特徴とする請求項8又は9に記載のロボットシステムの制御方法。   The robot system control method according to claim 8 or 9, wherein, in the simulation step, the simulator transmits the interrupt signal to the control device at regular time intervals. 前記ロボット制御工程では、前記制御装置が、最初の前記部分軌道データを送信してから一定時間が経過してから前記ロボットの動作を開始させることを特徴とする請求項7に記載のロボットシステムの制御方法。   8. The robot system according to claim 7, wherein, in the robot control step, the control device starts the operation of the robot after a predetermined time has elapsed since the first partial trajectory data was transmitted. Control method. 前記ロボットは、ロボットアームと、前記ロボットアームに取り付けられたロボットハンドと、を有し、
前記ロボットシステムは、前記ロボットハンドにより把持する把持対象物を撮像する撮像装置を更に備え、
前記軌道計算工程では、前記制御装置が、前記撮像装置により撮像された撮像画像から、前記把持対象物の位置及び姿勢を計算し、前記把持対象物の位置及び姿勢に応じて、前記ロボットハンドが前記把持対象物に向かう前記軌道データを計算することを特徴とする請求項7乃至11のいずれか1項に記載のロボットシステムの制御方法。
The robot has a robot arm and a robot hand attached to the robot arm,
The robot system further includes an imaging device that images a gripping object gripped by the robot hand,
In the trajectory calculation step, the control device calculates the position and orientation of the gripping object from the captured image captured by the imaging device, and the robot hand moves the robot hand according to the position and orientation of the gripping object. The robot system control method according to any one of claims 7 to 11, wherein the trajectory data toward the gripping object is calculated.
コンピュータに、請求項7乃至12のいずれか1項に記載のロボットシステムの制御方法の各工程を実行させるためのプログラム。   The program for making a computer perform each process of the control method of the robot system of any one of Claims 7 thru | or 12. 請求項13に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。   A computer-readable recording medium on which the program according to claim 13 is recorded. 前記制御装置が、請求項7乃至12のいずれか1項に記載のロボットシステムの制御方法により計算された前記軌道データに従って前記ロボットを動作させて物品を製造する物品の製造方法。   An article manufacturing method in which the controller operates the robot according to the trajectory data calculated by the robot system control method according to any one of claims 7 to 12.
JP2015113092A 2015-06-03 2015-06-03 Robot system, robot system control method, program, recording medium, and article manufacturing method Pending JP2016221659A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015113092A JP2016221659A (en) 2015-06-03 2015-06-03 Robot system, robot system control method, program, recording medium, and article manufacturing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015113092A JP2016221659A (en) 2015-06-03 2015-06-03 Robot system, robot system control method, program, recording medium, and article manufacturing method

Publications (1)

Publication Number Publication Date
JP2016221659A true JP2016221659A (en) 2016-12-28

Family

ID=57746285

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015113092A Pending JP2016221659A (en) 2015-06-03 2015-06-03 Robot system, robot system control method, program, recording medium, and article manufacturing method

Country Status (1)

Country Link
JP (1) JP2016221659A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019044766A1 (en) * 2017-08-31 2019-03-07 川崎重工業株式会社 Robot system and method for operating same
CN112828895A (en) * 2021-02-04 2021-05-25 武汉联影智融医疗科技有限公司 Robot simulation system
WO2022180801A1 (en) * 2021-02-26 2022-09-01 株式会社安川電機 Simulation device, control system, and modeling method
WO2023119348A1 (en) * 2021-12-20 2023-06-29 ファナック株式会社 Program teaching assistance device

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019044766A1 (en) * 2017-08-31 2019-03-07 川崎重工業株式会社 Robot system and method for operating same
JP2019042843A (en) * 2017-08-31 2019-03-22 川崎重工業株式会社 Robot system and method for operating the same
CN111093903A (en) * 2017-08-31 2020-05-01 川崎重工业株式会社 Robot system and method for operating the same
JP7066357B2 (en) 2017-08-31 2022-05-13 川崎重工業株式会社 Robot system and its operation method
US11370105B2 (en) 2017-08-31 2022-06-28 Kawasaki Jukogyo Kabushiki Kaisha Robot system and method for operating same
CN112828895A (en) * 2021-02-04 2021-05-25 武汉联影智融医疗科技有限公司 Robot simulation system
CN112828895B (en) * 2021-02-04 2023-07-21 武汉联影智融医疗科技有限公司 Robot simulation system
WO2022180801A1 (en) * 2021-02-26 2022-09-01 株式会社安川電機 Simulation device, control system, and modeling method
WO2023119348A1 (en) * 2021-12-20 2023-06-29 ファナック株式会社 Program teaching assistance device

Similar Documents

Publication Publication Date Title
CN110573308B (en) Computer-based method and system for spatial programming of robotic devices
CN108858184B (en) Robot control device and computer-readable medium
US10272568B2 (en) Robot apparatus, robot controlling method, program, recording medium, and assembly manufacturing method
US20150239127A1 (en) Visual debugging of robotic tasks
JP2016221659A (en) Robot system, robot system control method, program, recording medium, and article manufacturing method
CN106737662A (en) Robot system
JP6977686B2 (en) Control system and control unit
JP2011230245A (en) Robot system
US10556346B2 (en) Inspecting clearance size between mechanical parts
JP2016083713A (en) Robot control method, robot device, program, recording medium and assembly part manufacturing method
JP6386516B2 (en) Robot device with learning function
JP7052250B2 (en) Information processing equipment, information processing methods, and information processing programs
US11597083B2 (en) Robot apparatus, robot system, control method of robot apparatus, product manufacturing method using robot apparatus, and storage medium
JP2022163719A (en) Device and method for controlling robot to insert object into insertion portion
US12042940B2 (en) Interference check for robot operation
JP2015186834A (en) Robot control apparatus, holding unit control device, robot, holding unit, robot control method and program
JP2012020348A (en) Deburring method by robot
JP2006281330A (en) Robot simulation device
CN113263496B (en) Method for optimizing path of six-degree-of-freedom mechanical arm and computer equipment
CN113874177A (en) Robot system, recovery program generation device, control support device, control device, program, recovery program generation method, and recovery program output method
JP2002052485A (en) Control device for robot
JP5272447B2 (en) Numerical control machine operation simulator
CN114800523B (en) Mechanical arm track correction method, system, computer and readable storage medium
CN113021329A (en) Robot motion control method and device, readable storage medium and robot
WO2021250923A1 (en) Robot system, control device, and control method