JP7311732B1 - Numerical controller and numerical control system - Google Patents

Numerical controller and numerical control system Download PDF

Info

Publication number
JP7311732B1
JP7311732B1 JP2023525093A JP2023525093A JP7311732B1 JP 7311732 B1 JP7311732 B1 JP 7311732B1 JP 2023525093 A JP2023525093 A JP 2023525093A JP 2023525093 A JP2023525093 A JP 2023525093A JP 7311732 B1 JP7311732 B1 JP 7311732B1
Authority
JP
Japan
Prior art keywords
robot
load
load estimation
command
unit
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.)
Active
Application number
JP2023525093A
Other languages
Japanese (ja)
Inventor
一剛 今西
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.)
Fanuc Corp
Original Assignee
Fanuc 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 Fanuc Corp filed Critical Fanuc Corp
Application granted granted Critical
Publication of JP7311732B1 publication Critical patent/JP7311732B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

工作機械のユーザが容易に負荷の情報を設定できる数値制御装置及び数値制御システムを提供する。数値制御プログラムを用いてロボット制御装置を介してロボットを制御する数値制御装置であって、前記数値制御プログラム中のロボット制御指令を解析する解析部と、前記解析部により解析した前記ロボット制御指令に応じて、負荷推定動作のための負荷推定動作信号を生成する負荷推定指令部と、前記負荷推定動作信号を含むロボット指令信号を生成し、前記ロボット制御装置へ送信するロボット指令信号生成部と、を備え、前記ロボット制御装置は、前記負荷推定動作信号に応じて、前記ロボットに負荷推定動作を実行させると共に、前記ロボットにおいて前記負荷推定動作時に検出される外力を測定し、測定した前記外力に基づいて、前記ロボットにおいて負荷の情報を設定するための負荷設定情報を算出し、算出した前記負荷設定情報を前記負荷のパラメータと対応付けて記憶部に記憶する、数値制御装置。Provided are a numerical controller and a numerical control system that allow a user of a machine tool to easily set load information. A numerical controller for controlling a robot via a robot controller using a numerical control program, comprising: an analysis unit for analyzing a robot control command in the numerical control program; a load estimation command unit for generating a load estimation operation signal for a load estimation operation, a robot command signal generation unit for generating a robot command signal including the load estimation operation signal and transmitting the robot command signal to the robot controller; wherein the robot control device causes the robot to perform a load estimation operation in response to the load estimation operation signal, measures an external force detected in the robot during the load estimation operation, and determines the measured external force a numerical control device for calculating load setting information for setting load information in the robot based on the above, and storing the calculated load setting information in a storage unit in association with the load parameter.

Description

本開示は、数値制御装置及び数値制御システムに関する。 The present disclosure relates to numerical controllers and numerical control systems.

従来、人との接触を検知して動作を停止する協働ロボットに関する技術が開示されている。例えば、協働ロボットの接触力を正確に計測するため、保持するワークの負荷情報を設定する技術が開示されている。 Conventionally, there has been disclosed a technology related to a collaborative robot that detects contact with a person and stops moving. For example, a technique for setting load information of a workpiece to be held is disclosed in order to accurately measure the contact force of a collaborative robot.

また、加工現場を自動化するため、工作機械からロボットを操作するシステムに関する技術が開示されている。例えば、工作機械のユーザが慣れ親しんだ数値制御指令を用いてロボットの運転を行う技術が開示されている(例えば、特許文献1参照)。 Also, a technique related to a system for operating a robot from a machine tool has been disclosed in order to automate a machining site. For example, there has been disclosed a technique of operating a robot using numerical control commands familiar to users of machine tools (see, for example, Patent Document 1).

特開2014-241018号公報JP 2014-241018 A

協働ロボットは、負荷を設定する際に、協働ロボットに取り付けられるツールや、協働ロボットのハンドが把持するワーク等を含む負荷の情報(例えば、負荷の重量、負荷の重心位置、負荷のイナーシャ等)から正確な外力を計算する必要がある。 When setting the load, the collaborative robot receives information about the load (for example, the weight of the load, the position of the center of gravity of the load, the position of the center of gravity of the load, It is necessary to calculate an accurate external force from the inertia, etc.).

しかし、負荷の重心位置等のような力学的なパラメータを計算することは、工作機械のユーザにとって難易度が高い。また、協働ロボットの負荷設定に不慣れな工作機械ユーザが、協働ロボットの教示操作盤を用いて正確に負荷の情報を設定するのは困難である。 However, it is very difficult for users of machine tools to calculate dynamic parameters such as the position of the center of gravity of the load. In addition, it is difficult for a machine tool user who is unfamiliar with collaborative robot load settings to accurately set load information using the teaching operation panel of the collaborative robot.

そのため、工作機械のユーザが容易に負荷の情報を設定できる数値制御装置及び数値制御システムが望まれている。 Therefore, there is a demand for a numerical control device and a numerical control system that allow a machine tool user to easily set load information.

本開示の一態様は、数値制御プログラムを用いてロボット制御装置を介してロボットを制御する数値制御装置であって、前記数値制御プログラム中のロボット制御指令を解析する解析部と、前記解析部により解析した前記ロボット制御指令に応じて、負荷推定動作のための負荷推定動作信号を生成する負荷推定指令部と、前記負荷推定動作信号を含むロボット指令信号を生成し、前記ロボット制御装置へ送信するロボット指令信号生成部と、を備え、前記ロボット制御装置は、前記負荷推定動作信号に応じて、前記ロボットに負荷推定動作を実行させると共に、前記ロボットにおいて前記負荷推定動作時に検出される外力を測定し、測定した前記外力に基づいて、前記ロボットにおいて負荷の情報を設定するための負荷設定情報を算出し、算出した前記負荷設定情報を前記負荷のパラメータと対応付けて記憶部に記憶する。 One aspect of the present disclosure is a numerical controller that controls a robot via a robot controller using a numerical control program, comprising: an analysis unit that analyzes a robot control command in the numerical control program; a load estimation command unit that generates a load estimation operation signal for a load estimation operation according to the analyzed robot control command; and a robot command signal that includes the load estimation operation signal, and transmits the robot command signal to the robot control device. and a robot command signal generator, wherein the robot control device causes the robot to perform a load estimation operation according to the load estimation operation signal, and measures an external force detected in the robot during the load estimation operation. Then, based on the measured external force, load setting information for setting load information in the robot is calculated, and the calculated load setting information is associated with the load parameter and stored in a storage unit.

本開示の一態様は、数値制御装置の数値制御プログラムを用いてロボット制御装置を介してロボットを制御する数値制御システムであって、前記数値制御装置は、前記数値制御プログラム中のロボット制御指令を解析する解析部と、前記解析部により解析した前記ロボット制御指令に応じて、負荷推定動作のための負荷推定動作信号を生成する負荷推定指令部と、前記負荷推定動作信号を含むロボット指令信号を生成し、前記ロボット制御装置へ送信するロボット指令信号生成部と、を備え、前記ロボット制御装置は、前記負荷推定動作信号に応じて、前記ロボットに負荷推定動作を実行させるためのロボット命令を生成するロボット命令生成部と、前記負荷推定動作信号に応じて、前記ロボットにおいて前記負荷推定動作時に検出される外力を測定する接触制御部と、前記負荷推定動作信号に応じて、測定した前記外力に基づいて、前記ロボットにおいて負荷の情報を設定するための負荷設定情報を算出し、算出した前記負荷設定情報を前記負荷のパラメータと対応付けて記憶部に記憶する負荷推定実行部と、を備える。 One aspect of the present disclosure is a numerical control system that controls a robot via a robot controller using a numerical control program of a numerical controller, wherein the numerical controller executes a robot control command in the numerical control program. an analysis unit that analyzes; a load estimation command unit that generates a load estimation operation signal for a load estimation operation according to the robot control command analyzed by the analysis unit; and a robot command signal including the load estimation operation signal. and a robot command signal generation unit that generates and transmits the robot command signal to the robot control device, wherein the robot control device generates a robot command for causing the robot to execute the load estimation motion according to the load estimation motion signal. a robot command generation unit that measures the external force detected by the robot during the load estimation operation according to the load estimation operation signal; and the external force that is measured according to the load estimation operation signal. a load estimation execution unit that calculates load setting information for setting load information in the robot based on the load information, and stores the calculated load setting information in a storage unit in association with the load parameter.

本実施形態に係る数値制御システムの機能ブロック図である。1 is a functional block diagram of a numerical control system according to this embodiment; FIG. 本実施形態に係る数値制御装置及びロボット制御装置の機能ブロック図である。1 is a functional block diagram of a numerical control device and a robot control device according to this embodiment; FIG. 負荷推定動作指令の例を示す図である。It is a figure which shows the example of load estimation operation|movement instruction|command. 本実施形態に係る数値制御プログラムの例を示す図である。It is a figure which shows the example of the numerical control program which concerns on this embodiment. 図4に示される数値制御プログラムを実行した際における数値制御装置とロボット制御装置との間の信号及び情報の流れを示すシーケンス図である。5 is a sequence diagram showing the flow of signals and information between the numerical control device and the robot control device when the numerical control program shown in FIG. 4 is executed; FIG. 負荷推定指令の例を示す図である。It is a figure which shows the example of load estimation instruction|command. 本実施形態に係る数値制御プログラムの例を示す図である。It is a figure which shows the example of the numerical control program which concerns on this embodiment. 図7に示される数値制御プログラムを実行した際における数値制御装置とロボット制御装置との間の信号及び情報の流れを示すシーケンス図である。8 is a sequence diagram showing the flow of signals and information between the numerical control device and the robot control device when the numerical control program shown in FIG. 7 is executed; FIG. 負荷推定指令の例を示す図である。It is a figure which shows the example of load estimation instruction|command. 本実施形態に係る数値制御プログラムの例を示す図である。It is a figure which shows the example of the numerical control program which concerns on this embodiment. 図10に示される数値制御プログラムを実行した際における数値制御装置とロボット制御装置との間の信号及び情報の流れを示すシーケンス図である。11 is a sequence diagram showing the flow of signals and information between the numerical controller and the robot controller when the numerical control program shown in FIG. 10 is executed; FIG. 本実施形態に係る数値制御プログラムの例を示す図である。It is a figure which shows the example of the numerical control program which concerns on this embodiment. 図12に示される数値制御プログラムを実行した際における数値制御装置とロボット制御装置との間の信号及び情報の流れを示すシーケンス図である。13 is a sequence diagram showing the flow of signals and information between the numerical control device and the robot control device when the numerical control program shown in FIG. 12 is executed; FIG.

以下、本開示の実施形態の一例について説明する。図1は、本実施形態に係る数値制御システム1の機能ブロック図である。 An example of an embodiment of the present disclosure will be described below. FIG. 1 is a functional block diagram of a numerical control system 1 according to this embodiment.

数値制御システム1は、図示しないワークを加工する工作機械2と、この工作機械2の動作を制御する数値制御装置(CNC)4と、工作機械2の近傍に設けられた協働ロボット3と、協働ロボット3の動作を制御するロボット制御装置5と、を備える。数値制御システム1は、互いに通信可能に接続された数値制御装置4及びロボット制御装置5を用いることによって、工作機械2及び協働ロボット3の動作を連動して制御する。 The numerical control system 1 includes a machine tool 2 that processes a workpiece (not shown), a numerical controller (CNC) 4 that controls the operation of the machine tool 2, a collaborative robot 3 provided near the machine tool 2, and a robot control device 5 that controls the operation of the collaborative robot 3 . The numerical control system 1 interlocks and controls the operations of the machine tool 2 and the collaborative robot 3 by using a numerical controller 4 and a robot controller 5 that are communicably connected to each other.

工作機械2は、数値制御装置4から送信される工作機械制御信号に応じて図示しないワークを加工する。ここで工作機械2は、例えば、旋盤、ボール盤、フライス盤、研削盤、レーザ加工機、及び射出成形機等であるが、これらに限らない。 The machine tool 2 processes a workpiece (not shown) according to a machine tool control signal transmitted from the numerical controller 4 . Here, the machine tool 2 is, for example, a lathe, a drilling machine, a milling machine, a grinding machine, a laser processing machine, an injection molding machine, or the like, but is not limited to these.

協働ロボット3は、ロボット制御装置5による制御下において動作し、例えば工作機械2によって加工されるワークに対し所定の作業を行う。協働ロボット3は、例えば多関節ロボットであり、そのアーム先端部3aにはワークを把持したり、加工したり、検査したりするためのツール3bが取り付けられている。以下では、協働ロボット3は、6軸の多関節ロボットとした場合について説明するが、これに限らない。また以下では、協働ロボット3は、6軸の多関節ロボットとした場合について説明するが、軸数はこれに限らない。 The collaborative robot 3 operates under the control of the robot control device 5 and performs predetermined work on a work machined by the machine tool 2, for example. The collaborative robot 3 is, for example, an articulated robot, and has a tool 3b attached to its arm tip 3a for gripping, processing, and inspecting a workpiece. Although the case where the collaborative robot 3 is a 6-axis articulated robot will be described below, it is not limited to this. In the following description, the collaborative robot 3 will be described as a 6-axis articulated robot, but the number of axes is not limited to this.

協働ロボット3は、接触停止機能、退避モード機能、反転動作機能等のような機能を有し、人と協働で安全に作業することができる。接触停止機能は、人と軽い力(例えば、10から20N(すなわち、1から2kgf))で接触したとき、即座に停止する機能である。退避モード機能は、人が協働ロボット3のアームを押すことによってアームを各軸において退避可能な機能である。反転動作機能は、協働ロボット3が硬い物体と接触した場合、アームが即座に反転することによって、挟み込みを軽減する機能である。協働ロボット3は、人との接触等のような外力を検出するために、外力検出センサ等によって構成される外力検出部31(図2参照)を備える。外力検出センサは、例えば、トルクセンサ、力センサ等である。すなわち、協働ロボット3は、外力検出センサによって人との接触を検知し、ロボット制御装置5は、外力検出センサによって検出された外力に応じて協働ロボット3の動作を停止する。これにより、協働ロボット3は、人と協働で安全に作業することができる。 The collaborative robot 3 has functions such as a contact stop function, a retreat mode function, a reversing operation function, etc., and can work safely in cooperation with humans. The contact stop function is a function to immediately stop when contact is made with a person with a light force (for example, 10 to 20 N (that is, 1 to 2 kgf)). The retraction mode function is a function that allows the arm of the collaborative robot 3 to retract in each axis by pushing the arm of the collaborative robot 3 . The reversing motion function is a function to reduce pinching by immediately reversing the arm when the collaborative robot 3 comes into contact with a hard object. The collaborative robot 3 includes an external force detection unit 31 (see FIG. 2) configured by an external force detection sensor or the like in order to detect an external force such as contact with a person. The external force detection sensor is, for example, a torque sensor, force sensor, or the like. That is, the collaborative robot 3 detects contact with a human by the external force detection sensor, and the robot control device 5 stops the operation of the collaborative robot 3 according to the external force detected by the external force detection sensor. As a result, the collaborative robot 3 can work safely in cooperation with humans.

数値制御装置4及びロボット制御装置5は、それぞれCPU(Central Processing Unit)等の演算処理手段、各種コンピュータプログラムを格納したHDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶手段、演算処理手段がコンピュータプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった主記憶手段、オペレータが各種操作を行うキーボードといった操作手段、及びオペレータに各種情報を表示するディスプレイといった表示手段等のハードウェアによって構成されるコンピュータである。これら数値制御装置4及びロボット制御装置5は、例えばイーサネット(登録商標)によって相互に各種信号を送受信することが可能となっている。 The numerical controller 4 and the robot controller 5 each include arithmetic processing means such as a CPU (Central Processing Unit), auxiliary storage means such as a HDD (Hard Disk Drive) or SSD (Solid State Drive) storing various computer programs, and arithmetic Main storage means such as RAM (Random Access Memory) for storing data temporarily required for the processing means to execute the computer program, operation means such as a keyboard for the operator to perform various operations, and various information for the operator It is a computer configured by hardware such as a display means such as a display that displays . These numerical controller 4 and robot controller 5 are capable of transmitting and receiving various signals to and from each other, for example, via Ethernet (registered trademark).

図2は、本実施形態に係る数値制御装置4及びロボット制御装置5の機能ブロック図である。先ず、数値制御装置4の詳細な構成について説明する。図2に示すように数値制御装置4は、上記ハードウェア構成によって、工作機械2の動作を制御する機能、協働ロボット3の制御軸の動作経路を生成する機能等のような各種機能を実現する。 FIG. 2 is a functional block diagram of the numerical controller 4 and the robot controller 5 according to this embodiment. First, the detailed configuration of the numerical controller 4 will be described. As shown in FIG. 2, the numerical control device 4 realizes various functions such as a function of controlling the motion of the machine tool 2 and a function of generating a motion path of the control axis of the collaborative robot 3 through the hardware configuration described above. do.

数値制御装置4は、数値制御プログラムを用いてロボット制御装置5を介して協働ロボット3を制御する。すなわち、数値制御装置4は、ロボット用の数値制御プログラムに従って、協働ロボット3及びツール3bの動作を制御するための各種指令を生成し、ロボット制御装置5へ送信する。より具体的には、数値制御装置4は、プログラム入力部41と、解析部42と、動作制御部43と、記憶部44と、ロボット指令信号生成部45と、データ送受信部46と、負荷推定指令部47と、を備える。 The numerical controller 4 controls the collaborative robot 3 via the robot controller 5 using a numerical control program. That is, the numerical control device 4 generates various commands for controlling the operations of the collaborative robot 3 and the tool 3b according to the robot numerical control program, and transmits the commands to the robot control device 5 . More specifically, the numerical controller 4 includes a program input unit 41, an analysis unit 42, an operation control unit 43, a storage unit 44, a robot command signal generation unit 45, a data transmission/reception unit 46, a load estimation unit and a command unit 47 .

プログラム入力部41は、複数のロボット指令ブロックによって構成されるロボット用の数値制御プログラムを記憶部44から読み出し、これを逐次解析部42へ入力する。 The program input unit 41 reads a robot numerical control program composed of a plurality of robot command blocks from the storage unit 44 and sequentially inputs it to the analysis unit 42 .

解析部42は、プログラム入力部41から入力される数値制御プログラムに基づく指令種別を指令ブロックごとに解析し、その解析結果を動作制御部43及びロボット指令信号生成部45へ出力する。より具体的には、解析部42は、指令ブロックの指令種別が工作機械2に対する工作機械用数値制御指令である場合、この工作機械用数値制御指令を動作制御部43へ送信する。解析部42は、指令ブロックの指令種別が協働ロボット3に対するロボット用数値制御指令である場合、このロボット用数値制御指令(以下、ロボット制御指令ともいう)をロボット指令信号生成部45へ出力する。 The analysis unit 42 analyzes the command type based on the numerical control program input from the program input unit 41 for each command block, and outputs the analysis result to the motion control unit 43 and robot command signal generation unit 45 . More specifically, when the command type of the command block is a machine tool numerical control command for the machine tool 2 , the analysis unit 42 transmits this machine tool numerical control command to the motion control unit 43 . When the command type of the command block is a robot numerical control command for the collaborative robot 3, the analysis unit 42 outputs this robot numerical control command (hereinafter also referred to as a robot control command) to the robot command signal generation unit 45. .

動作制御部43は、解析部42から送信される解析結果に応じて工作機械2の動作を制御するための工作機械制御信号を生成し、工作機械2の各種軸を駆動するアクチュエータへ入力する。工作機械2は、動作制御部43から入力される工作機械制御信号に応じて動作し、図示しないワークを加工する。 The motion control unit 43 generates a machine tool control signal for controlling the motion of the machine tool 2 according to the analysis result sent from the analysis unit 42 and inputs the signal to actuators that drive various axes of the machine tool 2 . The machine tool 2 operates according to a machine tool control signal input from the motion control section 43 to machine a work (not shown).

記憶部44は、例えば、オペレータによる操作に基づいて作成された複数の数値制御プログラムを格納する。より具体的には、記憶部44は、工作機械2の動作を制御するための工作機械2に対する複数の指令ブロックや協働ロボット3の動作を制御するための協働ロボット3に対する複数の指令ブロック等によって構成される数値制御プログラムを格納する。記憶部44に格納されている数値制御プログラムは、GコードやMコード等、工作機械2の動作を制御するため既知のプログラム言語で記述されている。 The storage unit 44 stores, for example, a plurality of numerical control programs created based on operations by an operator. More specifically, the storage unit 44 stores a plurality of command blocks for the machine tool 2 for controlling the operation of the machine tool 2 and a plurality of command blocks for the collaborative robot 3 for controlling the operation of the collaborative robot 3. Stores a numerical control program composed of The numerical control program stored in the storage unit 44 is written in a known program language, such as G code or M code, for controlling the operation of the machine tool 2 .

また、記憶部44は、例えば、上記数値制御プログラムの下で作動する工作機械2の各種軸の位置(すなわち、工作機械2の刃物台やテーブル等の位置)を示す機械座標値を格納する。なお、これら機械座標値は、工作機械2上又は工作機械2の近傍の任意の位置に定められた基準点を原点とする工作機械座標系の下で定義される。記憶部44には、数値制御プログラムの下で逐次変化する機械座標値の最新値が格納されるよう、図示しない処理によって逐次更新される。 The storage unit 44 also stores, for example, machine coordinate values indicating the positions of various axes of the machine tool 2 (that is, the positions of the tool post, table, etc. of the machine tool 2) that operate under the numerical control program. These machine coordinate values are defined under a machine tool coordinate system whose origin is a reference point set at an arbitrary position on or near the machine tool 2 . The storage unit 44 is sequentially updated by a process (not shown) so that the latest values of the machine coordinate values that are sequentially changed under the numerical control program are stored.

また、記憶部44は、例えば、ロボット制御装置5の制御下で作動する協働ロボット3の制御点(例えば、協働ロボット3のアーム先端部3a)の位置及び姿勢、換言すれば協働ロボット3の各制御軸の位置を示すロボット座標値が格納されている。なお、これらロボット座標値は、上述したように工作機械座標系とは異なるロボット座標系の下で定義される。記憶部44には、数値制御プログラムの下で逐次変化するロボット座標値の最新値が格納されるよう、図示しない処理によりロボット制御装置5から取得されたロボット座標値によって逐次更新される。 The storage unit 44 stores, for example, the position and orientation of the control point of the collaborative robot 3 (for example, the arm tip 3a of the collaborative robot 3) operating under the control of the robot control device 5, in other words, the collaborative robot 3, robot coordinate values indicating the position of each control axis are stored. These robot coordinate values are defined under a robot coordinate system different from the machine tool coordinate system, as described above. The storage unit 44 is sequentially updated with the robot coordinate values acquired from the robot control device 5 by a process (not shown) so that the latest robot coordinate values that change sequentially under the numerical control program are stored.

また、記憶部44は、例えば、オペレータにより入力された協働ロボット3の始点及び終点といった教示位置を記憶する。具体的には、記憶部44は、ティーチペンダント等から入力された協働ロボット3の教示位置、キーボード等から入力された教示位置等を記憶する。協働ロボット3の教示位置には、協働ロボット3の各制御軸の位置を示すロボット座標値が含まれ、これらロボット座標値は、工作機械座標系とは異なるロボット座標系の下で定義される。 The storage unit 44 also stores teaching positions such as the start point and the end point of the collaborative robot 3 input by the operator, for example. Specifically, the storage unit 44 stores a teaching position of the collaborative robot 3 input from a teach pendant or the like, a teaching position input from a keyboard or the like, and the like. The teaching position of the collaborative robot 3 includes robot coordinate values indicating the position of each control axis of the collaborative robot 3, and these robot coordinate values are defined under a robot coordinate system different from the machine tool coordinate system. be.

ロボット指令信号生成部45は、解析部42から入力されるロボット指令ブロック毎の解析結果に基づいて、ロボット指令ブロック毎にロボット指令信号を生成し、生成したロボット指令信号をデータ送受信部46に書き込む。 The robot command signal generation unit 45 generates a robot command signal for each robot command block based on the analysis result for each robot command block input from the analysis unit 42, and writes the generated robot command signal to the data transmission/reception unit 46. .

具体的には、ロボット指令信号生成部45は、解析部42から入力される解析結果としてのロボット用数値制御指令に基づいて、ロボット指令ブロック毎にロボット指令信号を生成し、生成したロボット指令信号をデータ送受信部46に書き込む。 Specifically, the robot command signal generation unit 45 generates a robot command signal for each robot command block based on the robot numerical control command as the analysis result input from the analysis unit 42, and generates the generated robot command signal. is written to the data transmission/reception unit 46 .

データ送受信部46は、ロボット制御装置5のデータ送受信部60との間で指令及びロボット座標値等の各種データを送受信する。具体的には、データ送受信部46は、ロボット指令信号生成部45によって生成されたロボット指令信号をロボット制御装置5のデータ送受信部60へ送信する。 The data transmitter/receiver 46 transmits/receives various data such as commands and robot coordinate values to/from the data transmitter/receiver 60 of the robot control device 5 . Specifically, the data transmitter/receiver 46 transmits the robot command signal generated by the robot command signal generator 45 to the data transmitter/receiver 60 of the robot controller 5 .

負荷推定指令部47は、解析部42により解析したロボット制御指令に応じて、負荷推定動作のための負荷推定動作信号を生成する。具体的には、解析部42は、数値制御プログラムから負荷推定動作指令が抽出されると、負荷推定指令部47へ指令を通知する。負荷推定指令部47は、解析部42からの指令の通知に応じて、負荷推定動作信号を生成し、ロボット指令信号生成部45へ通知する。 The load estimation command unit 47 generates a load estimation operation signal for load estimation operation according to the robot control command analyzed by the analysis unit 42 . Specifically, when the load estimation operation command is extracted from the numerical control program, the analysis unit 42 notifies the load estimation command unit 47 of the command. The load estimation command unit 47 generates a load estimation operation signal in response to the notification of the command from the analysis unit 42 and notifies the robot command signal generation unit 45 of the load estimation operation signal.

ロボット指令信号生成部45は、負荷推定動作信号を含むロボット指令信号を生成し、データ送受信部46を介してロボット制御装置5へ送信する。これにより、ロボット制御装置5は、負荷推定動作信号に応じて、負荷推定動作を実行する。 The robot command signal generator 45 generates a robot command signal including the load estimation motion signal, and transmits the robot command signal to the robot controller 5 via the data transmitter/receiver 46 . Thereby, the robot control device 5 executes the load estimation operation according to the load estimation operation signal.

ここで、負荷推定動作は、協働ロボット3の負荷設定情報を算出するために、協働ロボット3の移動方向、移動速度、回転軸の回転角度、負荷重量、協働ロボット3によるワークの把持状態等を用いて、協働ロボット3を移動させること、協働ロボット3において負荷の情報を設定するための負荷設定情報を算出すること、算出した負荷設定情報を負荷のパラメータ(例えば、負荷設定番号)と対応付けて記憶部51に記憶すること等を含む。 Here, in order to calculate the load setting information of the collaborative robot 3, the load estimation operation is based on the movement direction of the collaborative robot 3, the movement speed, the rotation angle of the rotation axis, the load weight, and the gripping of the workpiece by the collaborative robot 3. Using the state, etc., move the collaborative robot 3, calculate load setting information for setting load information in the collaborative robot 3, and use the calculated load setting information as load parameters (for example, load setting number) and storing in the storage unit 51.

次に、ロボット制御装置5の構成について詳細に説明する。図2に示すように、ロボット制御装置5には、上記ハードウェア構成によって、記憶部51、解析部52、ロボット命令生成部53、プログラム管理部54、軌跡制御部55、キネマティクス制御部56、サーボ制御部57、負荷設定選択部58、ダイナミクス制御部59、データ送受信部60、負荷推定実行部61、及び接触制御部62等の各種機能が実現される。ロボット制御装置5は、これらのような機能部を用いることによって、数値制御装置4から送信される指令に基づいて協働ロボット3の動作を制御する。 Next, the configuration of the robot control device 5 will be described in detail. As shown in FIG. 2, the robot control device 5 includes a storage unit 51, an analysis unit 52, a robot command generation unit 53, a program management unit 54, a trajectory control unit 55, a kinematics control unit 56, Various functions such as a servo control unit 57, a load setting selection unit 58, a dynamics control unit 59, a data transmission/reception unit 60, a load estimation execution unit 61, and a contact control unit 62 are realized. The robot control device 5 controls the operation of the collaborative robot 3 based on commands transmitted from the numerical control device 4 by using such functional units.

記憶部51は、協働ロボット3を制御するためのロボットプログラム及び各種情報を記憶する。また、記憶部51は、協働ロボット3の負荷設定を記憶する。なお、本実施形態では、記憶部51は、ロボット制御装置5に設けられているが、記憶部51は、数値制御装置4に設けられてもよく、数値制御装置4及びロボット制御装置5の外部の電子機器や外部サーバー等に設けられてもよい。 The storage unit 51 stores a robot program and various information for controlling the collaborative robot 3 . The storage unit 51 also stores the load setting of the collaborative robot 3 . In this embodiment, the storage unit 51 is provided in the robot control device 5 , but the storage unit 51 may be provided in the numerical control device 4 , and external to the numerical control device 4 and the robot control device 5 . may be provided in an electronic device, an external server, or the like.

データ送受信部60は、数値制御装置4のデータ送受信部46から送信されるロボット指令信号を受信する。また、データ送受信部60は、受信したロボット指令信号を逐次、解析部52へ出力する。 The data transmitter/receiver 60 receives robot command signals transmitted from the data transmitter/receiver 46 of the numerical controller 4 . The data transmission/reception unit 60 also sequentially outputs the received robot command signals to the analysis unit 52 .

解析部52は、データ送受信部60から入力されるロボット指令信号を解析する。また、解析部52は、その解析結果をロボット命令生成部53へ出力する。 The analysis unit 52 analyzes the robot command signal input from the data transmission/reception unit 60 . The analysis unit 52 also outputs the analysis result to the robot command generation unit 53 .

ロボット命令生成部53は、解析部52から入力されるロボット指令信号の解析結果に基づいて、ロボット指令信号に応じたロボット命令を生成する。ロボット命令生成部53は、生成したロボット命令をプログラム管理部54へ出力する。 The robot command generation unit 53 generates a robot command corresponding to the robot command signal based on the analysis result of the robot command signal input from the analysis unit 52 . The robot command generator 53 outputs the generated robot command to the program manager 54 .

プログラム管理部54は、ロボット命令生成部53からロボット命令が入力されると、ロボット命令を逐次実行することにより、上記ロボット指令信号に応じた協働ロボット3の動作計画を生成し、軌跡制御部55へ出力する。 When a robot command is input from the robot command generation unit 53, the program management unit 54 sequentially executes the robot command to generate a motion plan for the collaborative robot 3 according to the robot command signal, and a trajectory control unit 55.

また、プログラム管理部54は、ロボット命令生成部53から入力されるロボット命令がブロックロボット命令である場合には、記憶部51に格納されているロボットプログラムに、入力されたブロックロボット命令を追加する。これにより記憶部51には、数値制御装置4から送信されるロボット指令信号に応じたロボットプログラムが生成されて記憶される。記憶されたロボットプログラムは、プログラム管理部54がロボット命令としてロボットプログラム起動指令を受けることにより、起動及び再生される。 Further, when the robot command input from the robot command generation unit 53 is a block robot command, the program management unit 54 adds the input block robot command to the robot program stored in the storage unit 51. . Thereby, a robot program corresponding to the robot command signal transmitted from the numerical controller 4 is generated and stored in the storage unit 51 . The stored robot program is activated and reproduced when the program management unit 54 receives a robot program activation command as a robot command.

軌跡制御部55は、プログラム管理部54から動作計画が入力されると、協働ロボット3の制御点の時系列データを算出し、キネマティクス制御部56へ出力する。 When the motion plan is input from the program management unit 54 , the trajectory control unit 55 calculates time-series data of control points of the collaborative robot 3 and outputs the data to the kinematics control unit 56 .

キネマティクス制御部56は、入力された時系列データから協働ロボット3の各関節の目標角度を算出し、サーボ制御部57へ入力する。 The kinematics control unit 56 calculates the target angle of each joint of the collaborative robot 3 from the input time-series data, and inputs it to the servo control unit 57 .

サーボ制御部57は、キネマティクス制御部56から入力される目標角度が実現するように協働ロボット3の各サーボモータをフィードバック制御することによって協働ロボット3に対するロボット制御信号を生成し、協働ロボット3のサーボモータへ入力する。また、サーボ制御部57は、後述のダイナミクス制御部59により計算されたトルクを反映したロボット制御信号を生成する。これにより、ロボット制御装置5は、負荷設定情報に基づいて協働ロボット3を制御可能となっている。 The servo control unit 57 generates a robot control signal for the collaborative robot 3 by feedback-controlling each servo motor of the collaborative robot 3 so that the target angle input from the kinematics control unit 56 is realized. Input to the servo motor of the robot 3 . Also, the servo control unit 57 generates a robot control signal reflecting the torque calculated by the dynamics control unit 59, which will be described later. Thereby, the robot control device 5 can control the collaborative robot 3 based on the load setting information.

負荷設定選択部58は、記憶部51に記憶された負荷設定情報を用いて、協働ロボット3において負荷の情報を設定する。具体的には、負荷設定選択部58は、解析部52により解析されたロボット指令信号に応じて、記憶部51に記憶された負荷設定情報を読み出し、負荷設定情報をダイナミクス制御部59へ通知する。 The load setting selection unit 58 sets load information in the collaborative robot 3 using the load setting information stored in the storage unit 51 . Specifically, the load setting selection unit 58 reads the load setting information stored in the storage unit 51 according to the robot command signal analyzed by the analysis unit 52, and notifies the dynamics control unit 59 of the load setting information. .

ダイナミクス制御部59は、負荷設定選択部58により通知された負荷設定情報に基づいて、逆動力学計算により協働ロボット3に入力するトルクを計算する。ダイナミクス制御部59は、計算により取得したトルクを、サーボ制御部57へ出力する。 The dynamics control unit 59 calculates the torque input to the collaborative robot 3 by inverse dynamics calculation based on the load setting information notified by the load setting selection unit 58 . The dynamics control unit 59 outputs the calculated torque to the servo control unit 57 .

ここで、協働ロボット3の逆動力学計算とは、協働ロボット3の動作軌跡計画で算出される望みの運動(各関節の位置、速度、加速度の時系列データ)に基づいて、協働ロボット3に加わる手先負荷や重力、自重を考慮し、そのような応答を実現するための各モータへの入力トルクを計算する手法である。このような逆動力学計算に関するものとして、例えば、計算トルク法やニュートン・オイラー法等の数値計算方法が開示されている(例えば、特開平8-118275号公報、特開2015-58520号公報)。 Here, the inverse dynamics calculation of the collaborative robot 3 is a collaborative This is a method of calculating the input torque to each motor for realizing such a response, taking into account the hand load, gravity, and self-weight applied to the robot 3 . Numerical calculation methods such as the calculated torque method and the Newton-Euler method have been disclosed for such inverse dynamics calculations (for example, JP-A-8-118275 and JP-A-2015-58520). .

負荷推定実行部61は、負荷推定動作信号に応じて、接触制御部62が測定した外力に基づいて、協働ロボット3において負荷の情報を設定するための負荷設定情報を算出し、算出した負荷設定情報を負荷のパラメータ(例えば、負荷設定番号)と対応付けて記憶部51に記憶する。 The load estimation execution unit 61 calculates load setting information for setting load information in the collaborative robot 3 based on the external force measured by the contact control unit 62 in response to the load estimation motion signal, and calculates the calculated load The setting information is stored in the storage unit 51 in association with load parameters (for example, load setting numbers).

接触制御部62は、負荷推定動作信号に応じて、協働ロボット3の外力検出部31において負荷推定動作時に検出される外力を測定(取得)する。接触制御部62は、測定した外力を負荷推定実行部に通知する。 The contact control unit 62 measures (obtains) the external force detected by the external force detection unit 31 of the collaborative robot 3 during the load estimation operation according to the load estimation operation signal. The contact control unit 62 notifies the load estimation execution unit of the measured external force.

次に、負荷推定動作の具体的な処理について説明する。数値制御装置4の解析部42は、数値制御プログラム中のロボット制御指令を解析し、数値制御プログラムから負荷推定動作指令が抽出されると、負荷推定指令部47へ指令を通知する。 Next, specific processing of the load estimation operation will be described. The analysis unit 42 of the numerical control device 4 analyzes the robot control command in the numerical control program, extracts the load estimation operation command from the numerical control program, and notifies the load estimation command unit 47 of the command.

負荷推定指令部47は、解析部42からの指令の通知に応じて、負荷推定動作信号を生成し、ロボット指令信号生成部45へ通知する。ロボット指令信号生成部45は、解析部42によって解析されたロボット制御指令及び負荷推定動作信号に基づいて、負荷推定動作信号を含むロボット指令信号を生成し、データ送受信部46を介してロボット制御装置5へ送信する。 The load estimation command unit 47 generates a load estimation operation signal in response to the notification of the command from the analysis unit 42 and notifies the robot command signal generation unit 45 of the load estimation operation signal. The robot command signal generation unit 45 generates a robot command signal including the load estimation motion signal based on the robot control command and the load estimation motion signal analyzed by the analysis unit 42 , and transmits the robot command signal to the robot control device via the data transmission/reception unit 46 . 5.

ロボット命令生成部53は、解析部52により解析されたロボット指令信号における負荷推定動作信号に応じて、協働ロボット3に負荷推定動作を実行させるためのロボット命令を生成する。生成したロボット命令及び上述したようなプログラム管理部54、軌跡制御部55、キネマティクス制御部56、サーボ制御部57、負荷設定選択部58及びダイナミクス制御部59の制御によって、協働ロボット3は、負荷推定動作を実行する。 The robot command generating unit 53 generates a robot command for causing the collaborative robot 3 to perform the load estimating motion according to the load estimating motion signal in the robot command signal analyzed by the analyzing unit 52 . By the generated robot commands and the control of the program management unit 54, the trajectory control unit 55, the kinematics control unit 56, the servo control unit 57, the load setting selection unit 58, and the dynamics control unit 59 as described above, the collaborative robot 3 can: Execute the load estimation operation.

接触制御部62は、解析部52により解析されたロボット指令信号における負荷推定動作信号に応じて、協働ロボット3の外力検出部31において負荷推定動作時に検出される外力を測定(取得)する。接触制御部62は、測定した外力を負荷推定実行部61に通知する。 The contact control unit 62 measures (obtains) the external force detected by the external force detection unit 31 of the collaborative robot 3 during the load estimation operation according to the load estimation operation signal in the robot command signal analyzed by the analysis unit 52 . The contact control unit 62 notifies the load estimation execution unit 61 of the measured external force.

負荷推定実行部61は、負荷推定動作信号に応じて、接触制御部62が測定した外力に基づいて、協働ロボット3において負荷の情報を設定するための負荷設定情報を算出する。そして、負荷推定実行部61は、算出した負荷設定情報を負荷設定番号と対応付けて記憶部51に記憶する。例えば、負荷推定実行部61は、負荷推定動作信号に応じて、接触制御部62が測定した外力と、協働ロボット3の各関節軸におけるトルクセンサのエンコーダ値とから、協働ロボット3のハンドの先端位置及び姿勢を求め、求めた協働ロボット3のハンドの先端位置及び姿勢を用いて、協働ロボット3の負荷設定情報として、協働ロボット3のハンドの重量及び重心位置を算出する。そして、負荷推定実行部61は、算出したハンドの重量及び重心位置を負荷設定番号と対応付けて記憶部51に記憶する。また、例えば、負荷推定実行部61は、接触制御部62が測定した外力に基づいて、協働ロボット3の負荷設定情報として、協働ロボット3のハンドのイナーシャを算出し、算出したハンドのイナーシャを負荷設定番号と対応付けて記憶部51に記憶する。 The load estimation execution unit 61 calculates load setting information for setting load information in the collaborative robot 3 based on the external force measured by the contact control unit 62 in response to the load estimation motion signal. Then, the load estimation execution unit 61 stores the calculated load setting information in the storage unit 51 in association with the load setting number. For example, the load estimation execution unit 61 calculates the hand force of the collaborative robot 3 from the external force measured by the contact control unit 62 and the encoder values of the torque sensors on the joint axes of the collaborative robot 3 in response to the load estimation motion signal. Then, using the obtained tip position and orientation of the hand of the collaborative robot 3, the weight and the position of the center of gravity of the hand of the collaborative robot 3 are calculated as the load setting information of the collaborative robot 3. Then, the load estimation execution unit 61 stores the calculated hand weight and center-of-gravity position in the storage unit 51 in association with the load setting number. Further, for example, the load estimation execution unit 61 calculates the inertia of the hand of the collaborative robot 3 as the load setting information of the collaborative robot 3 based on the external force measured by the contact control unit 62, and calculates the inertia of the hand of the collaborative robot 3. is stored in the storage unit 51 in association with the load setting number.

工作機械2のユーザは、従来、3D CAD上で座標系を設定し、負荷の重量及び重心位置などを算出し、算出した重量及び重心位置などを教示操作盤を操作することによって設定していた。また、工作機械2のユーザは、従来、協働ロボット3の教示操作盤によって負荷推定用のプログラムを作成しておき、ユーザが手動で実行することによって負荷の重量及び重心位置などを算出する場合もあった。本実施形態に係る数値制御装置4は、上述したように、協働ロボット3の負荷設定情報を自動的に算出し、記憶部51に記憶している。そして、数値制御装置4は、負荷の情報を設定する際に、自動的に算出され、かつ記憶部51に記憶された負荷設定情報を用いて、負荷の情報の設定を自動的に実行する。これにより、工作機械2のユーザは、負荷の情報の設定が自動的に行われるため、容易に負荷の情報を設定することができる。 Conventionally, the user of the machine tool 2 sets the coordinate system on the 3D CAD, calculates the weight of the load, the position of the center of gravity, etc., and sets the calculated weight, the position of the center of gravity, etc. by operating the teaching operation panel. . Conventionally, the user of the machine tool 2 creates a program for estimating the load using the teaching operation panel of the collaborative robot 3, and manually executes the program to calculate the weight of the load and the position of the center of gravity. There was also The numerical controller 4 according to this embodiment automatically calculates the load setting information of the collaborative robot 3 and stores it in the storage unit 51 as described above. When setting the load information, the numerical controller 4 automatically sets the load information using the load setting information automatically calculated and stored in the storage unit 51 . As a result, the user of the machine tool 2 can easily set the load information because the setting of the load information is automatically performed.

図3は、負荷推定動作指令の例を示す図である。図3に示される例では、負荷設定番号、負荷推定モードOFF指令及び負荷推定モードON指令が対応付けられている。負荷推定モードOFF指令は、G100.0からG109.0のGコードである。負荷推定モードON指令は、G100.1からG109.1のGコードである。 FIG. 3 is a diagram showing an example of a load estimation operation command. In the example shown in FIG. 3, the load setting number, the load estimation mode OFF command, and the load estimation mode ON command are associated with each other. The load estimation mode OFF command is a G code from G100.0 to G109.0. The load estimation mode ON command is a G code from G100.1 to G109.1.

例えば、負荷設定番号1(No.1)に対応する負荷推定モードOFF指令は、G100.0であり、負荷設定番号1(No.1)に対応する負荷推定モードON指令は、G100.1である。 For example, the load estimation mode OFF command corresponding to load setting number 1 (No. 1) is G100.0, and the load estimation mode ON command corresponding to load setting number 1 (No. 1) is G100.1. be.

図4は、本実施形態に係る数値制御プログラムの例を示す図である。図5は、図4に示される数値制御プログラムを実行した際における数値制御装置4とロボット制御装置5との間の信号及び情報の流れを示すシーケンス図である。図4及び図5に示される例では、数値制御装置4は、負荷推定動作指令を含む数値制御プログラムを実行し、協働ロボット3によって検出された外力に基づいて負荷設定情報を算出する。 FIG. 4 is a diagram showing an example of a numerical control program according to this embodiment. FIG. 5 is a sequence diagram showing the flow of signals and information between the numerical controller 4 and the robot controller 5 when the numerical control program shown in FIG. 4 is executed. In the examples shown in FIGS. 4 and 5, the numerical control device 4 executes a numerical control program including load estimation operation commands, and calculates load setting information based on the external force detected by the collaborative robot 3.

先ず、“M100”が指令され、ロボット制御装置5は、協働ロボット3のハンドを開くように制御する。次いで、“G68.8”が入力され、各軸座標系が選択される。これにより、ロボット制御装置5は、協働ロボット3を各軸座標系において動作させることができる。“G7.3 J1=_J2=_J3=_J4=_J5=_J6=_”が指令されると、ロボット制御装置5は、各軸座標系上の基準位置に協働ロボット3を移動及び位置決めする。なお、コマンド中のアンダーバーの部分には、協働ロボット3の指定位置の座標値が入力される。 First, "M100" is commanded, and the robot control device 5 controls the hand of the collaborative robot 3 to open. Then "G68.8" is entered to select each axis coordinate system. Thereby, the robot control device 5 can operate the collaborative robot 3 in each axis coordinate system. When "G7.3 J1=_J2=_J3=_J4=_J5=_J6=_" is commanded, the robot controller 5 moves and positions the collaborative robot 3 to the reference position on each axis coordinate system. Note that the coordinate values of the specified position of the collaborative robot 3 are input to the underlined portion in the command.

次いで、“G100.1”が指令され、負荷設定番号(No.1:ハンド)に対応する負荷推定モードONが通知され、ロボット制御装置5は、負荷推定動作を開始する。次いで、“G68.9”が指令され、直交座標系が選択される。これにより、ロボット制御装置5は、協働ロボット3を直交座標系において動作させることができる。次いで、“G01 X100.0 F1000”が指令され、ロボット制御装置5は、協働ロボット3を+X方向へ移動速度1000mm/minで移動させる。このとき、ロボット制御装置5の接触制御部62は、協働ロボット3の外力検出部31において検出される外力を測定する。 Next, "G100.1" is commanded, the load estimation mode ON corresponding to the load setting number (No. 1: hand) is notified, and the robot controller 5 starts the load estimation operation. Then "G68.9" is commanded to select the Cartesian coordinate system. Thereby, the robot control device 5 can operate the collaborative robot 3 in the orthogonal coordinate system. Next, "G01 X100.0 F1000" is commanded, and the robot controller 5 moves the collaborative robot 3 in the +X direction at a moving speed of 1000 mm/min. At this time, the contact control unit 62 of the robot control device 5 measures the external force detected by the external force detection unit 31 of the collaborative robot 3 .

次いで、“G68.8”が指令され、各軸座標系が選択される。次いで、“G7.3 J5=45.0 J6=45.0 E25”が指令され、ロボット制御装置5は、協働ロボット3のJ5軸及びJ6軸を、それぞれ最大移動速度の25%で45度回転させる。このとき、ロボット制御装置5の接触制御部62は、協働ロボット3の外力検出部31において検出される外力を測定する。 Then "G68.8" is commanded to select each axis coordinate system. Next, "G7.3 J5=45.0 J6=45.0 E25" is commanded, and the robot controller 5 moves the J5 and J6 axes of the collaborative robot 3 to 45 degrees at 25% of the maximum movement speed. rotate. At this time, the contact control unit 62 of the robot control device 5 measures the external force detected by the external force detection unit 31 of the collaborative robot 3 .

次いで、“G100.0”が指令され、負荷設定番号(No.1:ハンド)に対応する負荷推定モードOFFが通知され、ロボット制御装置5は、負荷推定動作を停止する。負荷推定実行部61は、接触制御部62が測定した外力に基づいて、負荷設定情報を算出する。そして、負荷推定実行部61は、算出した負荷設定情報を負荷設定番号(No.1:ハンド)と対応付けて記憶部51に記憶する。 Next, "G100.0" is commanded, the load estimation mode OFF corresponding to the load setting number (No. 1: hand) is notified, and the robot controller 5 stops the load estimation operation. The load estimation executing section 61 calculates load setting information based on the external force measured by the contact control section 62 . Then, the load estimation execution unit 61 stores the calculated load setting information in the storage unit 51 in association with the load setting number (No. 1: hand).

次いで、“G68.9”が指令され、直交座標系が選択される。“G01 X_Y_Z_A_B_C_P_”が指令されると、ロボット制御装置5は、直交座標系上のワーク把持位置へ協働ロボット3を直線移動させ、位置決めする。 Then "G68.9" is commanded to select the Cartesian coordinate system. When "G01 X_Y_Z_A_B_C_P_" is commanded, the robot control device 5 linearly moves and positions the collaborative robot 3 to the workpiece gripping position on the orthogonal coordinate system.

次いで、“M101”が指令され、ロボット制御装置5は、協働ロボット3のハンドを閉じるように制御し、協働ロボット3は、ワークを把持する。“G01 X_Y_Z_A_B_C_P_”が指令されると、ロボット制御装置5は、直交座標系上の負荷推定動作開始位置へ協働ロボット3を直線移動させ、位置決めする。 Next, "M101" is commanded, the robot control device 5 controls to close the hands of the collaborative robot 3, and the collaborative robot 3 grips the workpiece. When "G01 X_Y_Z_A_B_C_P_" is commanded, the robot controller 5 linearly moves and positions the collaborative robot 3 to the load estimation operation start position on the orthogonal coordinate system.

次いで、“G101.1”が指令され、負荷設定番号(No.2:ハンド+ワーク)に対応する負荷推定モードONが通知され、ロボット制御装置5は、負荷推定動作を開始する。次いで、“G68.9”が指令され、直交座標系が選択される。次いで、“G01 X100.0 F1000”が指令され、ロボット制御装置5は、協働ロボット3を+X方向へ移動速度1000mm/minで移動させる。このとき、ロボット制御装置5の接触制御部62は、協働ロボット3の外力検出部31において検出される外力を測定する。 Next, "G101.1" is commanded, the load estimation mode ON corresponding to the load setting number (No. 2: hand + work) is notified, and the robot controller 5 starts the load estimation operation. Then "G68.9" is commanded to select the Cartesian coordinate system. Next, "G01 X100.0 F1000" is commanded, and the robot controller 5 moves the collaborative robot 3 in the +X direction at a moving speed of 1000 mm/min. At this time, the contact control unit 62 of the robot control device 5 measures the external force detected by the external force detection unit 31 of the collaborative robot 3 .

次いで、“G68.8”が指令され、各軸座標系が選択される。次いで、“G7.3 J5=45.0 J6=45.0 E25”が指令され、ロボット制御装置5は、協働ロボット3のJ5軸及びJ6軸を、それぞれ最大移動速度の25%で45度回転させる。このとき、ロボット制御装置5の接触制御部62は、協働ロボット3の外力検出部31において検出される外力を測定する。 Then "G68.8" is commanded to select each axis coordinate system. Next, "G7.3 J5=45.0 J6=45.0 E25" is commanded, and the robot controller 5 moves the J5 and J6 axes of the collaborative robot 3 to 45 degrees at 25% of the maximum movement speed. rotate. At this time, the contact control unit 62 of the robot control device 5 measures the external force detected by the external force detection unit 31 of the collaborative robot 3 .

次いで、“G101.0”が指令され、負荷設定番号(No.2:ハンド+ワーク)に対応する負荷推定モードOFFが通知され、ロボット制御装置5は、負荷推定動作を停止する。負荷推定実行部61は、接触制御部62が測定した外力に基づいて、負荷設定情報を算出する。そして、負荷推定実行部61は、算出した負荷設定情報を負荷設定番号(No.2:ハンド+ワーク)と対応付けて記憶部51に記憶する。次いで、“M30”が指令され、数値制御プログラムは終了する。 Next, "G101.0" is commanded, the load estimation mode OFF corresponding to the load setting number (No. 2: hand + work) is notified, and the robot controller 5 stops the load estimation operation. The load estimation executing section 61 calculates load setting information based on the external force measured by the contact control section 62 . Then, the load estimation execution unit 61 stores the calculated load setting information in the storage unit 51 in association with the load setting number (No. 2: hand+work). Then "M30" is commanded and the numerical control program ends.

図6は、負荷推定指令の例を示す図である。図6に示される例では、負荷推定動作指令は、負荷設定番号と対応付けられている。負荷推定動作指令は、G100 X_Y_Z_J5_J6_からG109 X_Y_Z_J5_J6_のGコードである。例えば、負荷設定番号1(No.1)に対応する負荷推定動作指令は、G100 X_Y_Z_J5_J6_である。図6に示される負荷推定動作指令は、負荷推定動作時の協働ロボット3のツールの並進方向(J5軸)及び協働ロボット3の手首軸の回転方向(J6軸)をロボット制御装置5に対して指令する。 FIG. 6 is a diagram showing an example of a load estimation command. In the example shown in FIG. 6, the load estimation operation command is associated with the load setting number. The load estimation operation commands are G codes from G100 X_Y_Z_J5_J6_ to G109 X_Y_Z_J5_J6_. For example, the load estimation operation command corresponding to load setting number 1 (No. 1) is G100 X_Y_Z_J5_J6_. The load estimation operation command shown in FIG. command against.

図7は、本実施形態に係る数値制御プログラムの例を示す図である。図8は、図7に示される数値制御プログラムを実行した際における数値制御装置4とロボット制御装置5との間の信号及び情報の流れを示すシーケンス図である。図7及び図8に示される例では、数値制御装置4は、負荷推定動作指令を含む数値制御プログラムを実行し、協働ロボット3によって検出された外力に基づいて負荷設定情報を算出する。図7及び図8に示される例では、負荷推定動作指令は、負荷推定動作時の協働ロボット3のツールの並進方向(J5軸)及び協働ロボット3の手首軸の回転方向(J6軸)をロボット制御装置5に対して指令する。 FIG. 7 is a diagram showing an example of a numerical control program according to this embodiment. FIG. 8 is a sequence diagram showing the flow of signals and information between the numerical controller 4 and the robot controller 5 when the numerical control program shown in FIG. 7 is executed. In the examples shown in FIGS. 7 and 8, the numerical controller 4 executes a numerical control program including load estimation operation commands, and calculates load setting information based on the external force detected by the collaborative robot 3. In the examples shown in FIGS. 7 and 8, the load estimation motion command is the translational direction (J5 axis) of the tool of the collaborative robot 3 and the rotation direction (J6 axis) of the wrist axis of the collaborative robot 3 during the load estimation motion. is commanded to the robot control device 5 .

先ず、“M100”が指令され、ロボット制御装置5は、協働ロボット3のハンドを開くように制御する。次いで、“G68.8”が入力され、各軸座標系が選択される。“G7.3 J1=_J2=_J3=_J4=_J5=_J6=_”が指令されると、ロボット制御装置5は、各軸座標系上の基準位置に協働ロボット3を移動及び位置決めする。 First, "M100" is commanded, and the robot control device 5 controls the hand of the collaborative robot 3 to open. Then "G68.8" is entered to select each axis coordinate system. When "G7.3 J1=_J2=_J3=_J4=_J5=_J6=_" is commanded, the robot controller 5 moves and positions the collaborative robot 3 to the reference position on each axis coordinate system.

次いで、“G100 X100.0 J5=45.0 J6=45.0 F1000 E25”が指令され、負荷設定番号(No.1:ハンド)に対応する負荷設定動作が指令され、ロボット制御装置5は、負荷推定動作を開始する。 Next, "G100 X100.0 J5=45.0 J6=45.0 F1000 E25" is commanded, and the load setting operation corresponding to the load setting number (No. 1: hand) is commanded. Start the load estimation operation.

ロボット制御装置5は、負荷推定動作として、協働ロボット3を+X方向へ移動速度1000mm/minで移動させる。このとき、ロボット制御装置5の接触制御部62は、協働ロボット3の外力検出部31において検出される外力を測定する。更に、ロボット制御装置5は、負荷推定動作として、協働ロボット3のJ5軸及びJ6軸を、それぞれ最大移動速度の25%で45度回転させる。このとき、ロボット制御装置5の接触制御部62は、協働ロボット3の外力検出部31において検出される外力を測定する。 As a load estimation operation, the robot control device 5 moves the collaborative robot 3 in the +X direction at a movement speed of 1000 mm/min. At this time, the contact control unit 62 of the robot control device 5 measures the external force detected by the external force detection unit 31 of the collaborative robot 3 . Further, the robot control device 5 rotates the J5-axis and J6-axis of the collaborative robot 3 by 45 degrees at 25% of the maximum movement speed as the load estimation operation. At this time, the contact control unit 62 of the robot control device 5 measures the external force detected by the external force detection unit 31 of the collaborative robot 3 .

負荷推定実行部61は、接触制御部62が測定した外力に基づいて、負荷設定情報を算出する。そして、負荷推定実行部61は、算出した負荷設定情報を負荷設定番号(No.1:ハンド)と対応付けて記憶部51に記憶する。その後、ロボット制御装置5は、負荷推定動作を終了する。 The load estimation executing section 61 calculates load setting information based on the external force measured by the contact control section 62 . Then, the load estimation execution unit 61 stores the calculated load setting information in the storage unit 51 in association with the load setting number (No. 1: hand). After that, the robot control device 5 ends the load estimation operation.

次いで、“G68.9”が指令され、直交座標系が選択される。“G01 X_Y_Z_A_B_C_P_”が指令されると、ロボット制御装置5は、直交座標系上のワーク把持位置へ協働ロボット3を直線移動させ、位置決めする。 Then "G68.9" is commanded to select the Cartesian coordinate system. When "G01 X_Y_Z_A_B_C_P_" is commanded, the robot control device 5 linearly moves and positions the collaborative robot 3 to the workpiece gripping position on the orthogonal coordinate system.

次いで、“M101”が指令され、ロボット制御装置5は、協働ロボット3のハンドを閉じるように制御し、協働ロボット3は、ワークを把持する。“G01 X_Y_Z_A_B_C_P_”が指令されると、ロボット制御装置5は、直交座標系上の負荷推定動作開始位置へ協働ロボット3を直線移動させ、位置決めする。 Next, "M101" is commanded, the robot control device 5 controls to close the hands of the collaborative robot 3, and the collaborative robot 3 grips the workpiece. When "G01 X_Y_Z_A_B_C_P_" is commanded, the robot controller 5 linearly moves and positions the collaborative robot 3 to the load estimation operation start position on the orthogonal coordinate system.

次いで、“G101 X100.0 J5=45.0 J6=45.0 F1000 E25”が指令され、負荷設定番号(No.2:ハンド+ワーク)に対応する負荷設定動作が指令され、ロボット制御装置5は、負荷推定動作を開始する。ロボット制御装置5は、負荷推定動作として、協働ロボット3を+X方向へ移動速度1000mm/minで移動させる。このとき、ロボット制御装置5の接触制御部62は、協働ロボット3の外力検出部31において検出される外力を測定する。更に、ロボット制御装置5は、負荷推定動作として、協働ロボット3のJ5軸及びJ6軸を、それぞれ最大移動速度の25%で45度回転させる。このとき、ロボット制御装置5の接触制御部62は、協働ロボット3の外力検出部31において検出される外力を測定する。 Next, "G101 X100.0 J5=45.0 J6=45.0 F1000 E25" is commanded, and the load setting operation corresponding to the load setting number (No. 2: hand + work) is commanded. starts the load estimation operation. As a load estimation operation, the robot control device 5 moves the collaborative robot 3 in the +X direction at a movement speed of 1000 mm/min. At this time, the contact control unit 62 of the robot control device 5 measures the external force detected by the external force detection unit 31 of the collaborative robot 3 . Further, the robot control device 5 rotates the J5-axis and J6-axis of the collaborative robot 3 by 45 degrees at 25% of the maximum movement speed as the load estimation operation. At this time, the contact control unit 62 of the robot control device 5 measures the external force detected by the external force detection unit 31 of the collaborative robot 3 .

負荷推定実行部61は、接触制御部62が測定した外力に基づいて、負荷設定情報を算出する。そして、負荷推定実行部61は、算出した負荷設定情報を負荷設定番号(No.2:ハンド+ワーク)と対応付けて記憶部51に記憶する。その後、ロボット制御装置5は、負荷推定動作を終了する。次いで、“M30”が指令され、数値制御プログラムは終了する。 The load estimation executing section 61 calculates load setting information based on the external force measured by the contact control section 62 . Then, the load estimation execution unit 61 stores the calculated load setting information in the storage unit 51 in association with the load setting number (No. 2: hand+work). After that, the robot control device 5 ends the load estimation operation. Then "M30" is commanded and the numerical control program ends.

図9は、負荷推定指令の例を示す図である。図9に示される例では、負荷推定動作指令は、負荷設定番号と対応付けられている。負荷推定動作指令は、G100 X_Y_Z_J5_J6_P_からG109 X_Y_Z_J5_J6_P_のGコードである。例えば、負荷設定番号1(No.1)に対応する負荷推定動作指令は、G100 X_Y_Z_J5_J6_P_である。 FIG. 9 is a diagram showing an example of a load estimation command. In the example shown in FIG. 9, the load estimation operation command is associated with the load setting number. The load estimation operation commands are G codes from G100 X_Y_Z_J5_J6_P_ to G109 X_Y_Z_J5_J6_P_. For example, the load estimation operation command corresponding to load setting number 1 (No. 1) is G100 X_Y_Z_J5_J6_P_.

図9に示される負荷推定動作指令は、負荷推定動作時の協働ロボット3のツールの並進方向(J5軸)、協働ロボット3の手首軸の回転方向(J6軸)及び負荷重量(P)を、ロボット制御装置5に対して指令する。 The load estimation operation command shown in FIG. 9 includes the translation direction of the tool of the collaborative robot 3 (J5 axis), the rotation direction of the wrist axis of the collaborative robot 3 (J6 axis), and the load weight (P) during the load estimation operation. is commanded to the robot control device 5 .

図10は、本実施形態に係る数値制御プログラムの例を示す図である。図11は、図10に示される数値制御プログラムを実行した際における数値制御装置4とロボット制御装置5との間の信号及び情報の流れを示すシーケンス図である。図10及び図11に示される例では、数値制御装置4は、負荷推定動作指令を含む数値制御プログラムを実行し、協働ロボット3によって検出された外力に基づいて負荷設定情報を算出する。図10及び図11に示される例では、負荷推定動作指令は、負荷推定動作時の協働ロボット3のツールの並進方向(J5軸)、協働ロボット3の手首軸の回転方向(J6軸)及び負荷重量(P)を、ロボット制御装置5に対して指令する。 FIG. 10 is a diagram showing an example of a numerical control program according to this embodiment. FIG. 11 is a sequence diagram showing the flow of signals and information between the numerical controller 4 and the robot controller 5 when the numerical control program shown in FIG. 10 is executed. In the example shown in FIGS. 10 and 11, the numerical control device 4 executes a numerical control program including load estimation operation commands, and calculates load setting information based on the external force detected by the collaborative robot 3. In the example shown in FIGS. 10 and 11, the load estimation motion command is the translational direction (J5 axis) of the tool of the collaborative robot 3 and the rotation direction (J6 axis) of the wrist axis of the collaborative robot 3 during the load estimation motion. and load weight (P) to the robot controller 5 .

先ず、“M100”が指令され、ロボット制御装置5は、協働ロボット3のハンドを開くように制御する。次いで、“G68.8”が入力され、各軸座標系が選択される。“G7.3 J1=_J2=_J3=_J4=_J5=_J6=_”が指令されると、ロボット制御装置5は、各軸座標系上の基準位置に協働ロボット3を移動及び位置決めする。 First, "M100" is commanded, and the robot control device 5 controls the hand of the collaborative robot 3 to open. Then "G68.8" is entered to select each axis coordinate system. When "G7.3 J1=_J2=_J3=_J4=_J5=_J6=_" is commanded, the robot controller 5 moves and positions the collaborative robot 3 to the reference position on each axis coordinate system.

次いで、“G100 X100.0 J5=45.0 J6=45.0 P300 F1000 E25”が指令され、負荷設定番号(No.1:ハンド)に対応する負荷設定動作が指令され、ロボット制御装置5は、負荷推定動作を開始する。ここで、「P300」は、負荷重量が300gであることを示す。 Next, "G100 X100.0 J5=45.0 J6=45.0 P300 F1000 E25" is commanded, the load setting operation corresponding to the load setting number (No. 1: hand) is commanded, and the robot controller 5 , to start the load estimation operation. Here, "P300" indicates that the load weight is 300g.

ロボット制御装置5は、負荷推定動作として、協働ロボット3を+X方向へ移動速度1000mm/minで移動させる。このとき、ロボット制御装置5の接触制御部62は、協働ロボット3の外力検出部31において検出される外力を測定する。更に、ロボット制御装置5は、負荷推定動作として、協働ロボット3のJ5軸及びJ6軸を、それぞれ最大移動速度の25%で45度回転させる。このとき、ロボット制御装置5の接触制御部62は、協働ロボット3の外力検出部31において検出される外力を測定する。 As a load estimation operation, the robot control device 5 moves the collaborative robot 3 in the +X direction at a movement speed of 1000 mm/min. At this time, the contact control unit 62 of the robot control device 5 measures the external force detected by the external force detection unit 31 of the collaborative robot 3 . Further, the robot control device 5 rotates the J5-axis and J6-axis of the collaborative robot 3 by 45 degrees at 25% of the maximum movement speed as the load estimation operation. At this time, the contact control unit 62 of the robot control device 5 measures the external force detected by the external force detection unit 31 of the collaborative robot 3 .

負荷推定実行部61は、接触制御部62が測定した外力及び指令された負荷重量に基づいて、負荷設定情報を算出する。そして、負荷推定実行部61は、算出した負荷設定情報を負荷設定番号(No.1:ハンド)と対応付けて記憶部51に記憶する。その後、ロボット制御装置5は、負荷推定動作を終了する。 The load estimation execution unit 61 calculates load setting information based on the external force measured by the contact control unit 62 and the commanded load weight. Then, the load estimation execution unit 61 stores the calculated load setting information in the storage unit 51 in association with the load setting number (No. 1: hand). After that, the robot control device 5 ends the load estimation operation.

次いで、“G68.9”が指令され、直交座標系が選択される。“G01 X_Y_Z_A_B_C_P_”が指令されると、ロボット制御装置5は、直交座標系上のワーク把持位置へ協働ロボット3を直線移動させ、位置決めする。 Then "G68.9" is commanded to select the Cartesian coordinate system. When "G01 X_Y_Z_A_B_C_P_" is commanded, the robot control device 5 linearly moves and positions the collaborative robot 3 to the workpiece gripping position on the orthogonal coordinate system.

次いで、“M101”が指令され、ロボット制御装置5は、協働ロボット3のハンドを閉じるように制御し、協働ロボット3は、ワークを把持する。“G01 X_Y_Z_A_B_C_P_”が指令されると、ロボット制御装置5は、直交座標系上の負荷推定動作開始位置へ協働ロボット3を直線移動させ、位置決めする。 Next, "M101" is commanded, the robot control device 5 controls to close the hands of the collaborative robot 3, and the collaborative robot 3 grips the workpiece. When "G01 X_Y_Z_A_B_C_P_" is commanded, the robot controller 5 linearly moves and positions the collaborative robot 3 to the load estimation operation start position on the orthogonal coordinate system.

次いで、“G101 X100.0 J5=45.0 J6=45.0 P500 F1000 E25”が指令され、負荷設定番号(No.2:ハンド+ワーク)に対応する負荷推定動作が指令され、ロボット制御装置5は、負荷推定動作を開始する。ここで、「P500」は、負荷重量が500gであることを示す。 Next, "G101 X100.0 J5=45.0 J6=45.0 P500 F1000 E25" is commanded, the load estimation operation corresponding to the load setting number (No. 2: hand + work) is commanded, and the robot control device 5 starts the load estimation operation. Here, "P500" indicates that the load weight is 500g.

ロボット制御装置5は、負荷推定動作として、協働ロボット3を+X方向へ移動速度1000mm/minで移動させる。このとき、ロボット制御装置5の接触制御部62は、協働ロボット3の外力検出部31において検出される外力を測定する。更に、ロボット制御装置5は、負荷推定動作として、協働ロボット3のJ5軸及びJ6軸を、それぞれ最大移動速度の25%で45度回転させる。このとき、ロボット制御装置5の接触制御部62は、協働ロボット3の外力検出部31において検出される外力を測定する。 As a load estimation operation, the robot control device 5 moves the collaborative robot 3 in the +X direction at a movement speed of 1000 mm/min. At this time, the contact control unit 62 of the robot control device 5 measures the external force detected by the external force detection unit 31 of the collaborative robot 3 . Further, the robot control device 5 rotates the J5-axis and J6-axis of the collaborative robot 3 by 45 degrees at 25% of the maximum movement speed as the load estimation operation. At this time, the contact control unit 62 of the robot control device 5 measures the external force detected by the external force detection unit 31 of the collaborative robot 3 .

負荷推定実行部61は、接触制御部62が測定した外力及び指令された負荷重量に基づいて、負荷設定情報を算出する。そして、負荷推定実行部61は、算出した負荷設定情報を負荷設定番号(No.2:ハンド+ワーク)と対応付けて記憶部51に記憶する。その後、ロボット制御装置5は、負荷推定動作を終了する。次いで、“M30”が指令され、数値制御プログラムは終了する。 The load estimation execution unit 61 calculates load setting information based on the external force measured by the contact control unit 62 and the commanded load weight. Then, the load estimation execution unit 61 stores the calculated load setting information in the storage unit 51 in association with the load setting number (No. 2: hand+work). After that, the robot control device 5 ends the load estimation operation. Then "M30" is commanded and the numerical control program ends.

図12は、本実施形態に係る数値制御プログラムの例を示す図である。図13は、図12に示される数値制御プログラムを実行した際における数値制御装置4とロボット制御装置5との間の信号及び情報の流れを示すシーケンス図である。図12及び図13に示される例では、数値制御装置4は、負荷推定動作指令を含む数値制御プログラムを実行し、協働ロボット3によって検出された外力に基づいて負荷設定情報を算出する。図12及び図13に示される例では、負荷推定動作指令は、負荷推定動作時の協働ロボット3のツールの並進方向(J5軸)及び協働ロボット3の手首軸の回転方向(J6軸)を、ロボット制御装置5に対して指令し、更に、協働ロボット3の動作状態として、協働ロボット3によるワークの把持状態をロボット制御装置5に対して通知する。 FIG. 12 is a diagram showing an example of a numerical control program according to this embodiment. FIG. 13 is a sequence diagram showing the flow of signals and information between the numerical controller 4 and the robot controller 5 when the numerical control program shown in FIG. 12 is executed. In the examples shown in FIGS. 12 and 13, the numerical controller 4 executes a numerical control program including load estimation operation commands, and calculates load setting information based on the external force detected by the collaborative robot 3. In the example shown in FIGS. 12 and 13, the load estimation motion command is the translational direction (J5 axis) of the tool of the collaborative robot 3 and the rotation direction (J6 axis) of the wrist axis of the collaborative robot 3 during the load estimation motion. to the robot control device 5 , and furthermore, the robot control device 5 is notified of the work gripping state of the collaborative robot 3 as the operating state of the collaborative robot 3 .

先ず、図12及び図13に示す例における負荷推定動作の具体的な処理について、図2を参照しながら説明する。数値制御装置4の解析部42は、数値制御プログラム中のロボット制御指令を解析し、数値制御プログラムからハンド開閉指令が抽出されると、ロボット指令信号生成部45へ指令を通知し、ロボット指令信号生成部45は、ハンド開閉指令を含むロボット指令信号を生成し、データ送受信部46を介してロボット制御装置5へ送信する。これにより、ロボット制御装置5は、ハンド開閉指令に応じて、ハンド開閉動作を実行する。 First, specific processing of the load estimation operation in the examples shown in FIGS. 12 and 13 will be described with reference to FIG. The analysis unit 42 of the numerical control device 4 analyzes the robot control command in the numerical control program, extracts the hand opening/closing command from the numerical control program, and notifies the command to the robot command signal generation unit 45 to generate the robot command signal. The generation unit 45 generates a robot command signal including a hand opening/closing command, and transmits the signal to the robot control device 5 via the data transmission/reception unit 46 . Thereby, the robot control device 5 executes the hand opening/closing operation according to the hand opening/closing command.

また、負荷推定指令部47は、数値制御プログラムからハンド開閉指令が抽出されると、ハンド開閉指令に応じて、負荷推定指令部47において保持されるワークの把持状態を更新する。 Further, when a hand opening/closing command is extracted from the numerical control program, the load estimation command unit 47 updates the workpiece gripping state held in the load estimation command unit 47 according to the hand opening/closing command.

更に、解析部42は、数値制御プログラム中のロボット制御指令を解析し、数値制御プログラムから負荷推定動作指令が抽出されると、負荷推定指令部47へ指令を通知する。 Furthermore, the analysis unit 42 analyzes the robot control command in the numerical control program, and when a load estimation operation command is extracted from the numerical control program, notifies the load estimation command unit 47 of the command.

負荷推定指令部47は、解析部42からの指令の通知に応じて、負荷推定動作信号を生成し、ロボット指令信号生成部45へ通知する。ここで、負荷推定指令部47は、負荷推定動作信号において、協働ロボット3の動作状態(例えば、ワークの把持状態、協働ロボット3のハンドの開閉状態など)をロボット制御装置5に指令する。 The load estimation command unit 47 generates a load estimation operation signal in response to the notification of the command from the analysis unit 42 and notifies the robot command signal generation unit 45 of the load estimation operation signal. Here, the load estimation command unit 47 commands the robot control device 5 about the operation state of the collaborative robot 3 (for example, the workpiece gripping state, the open/closed state of the hand of the collaborative robot 3, etc.) in the load estimation operation signal. .

ロボット指令信号生成部45は、解析部42によって解析されたロボット制御指令及び負荷推定動作信号に基づいて、負荷推定動作信号を含むロボット指令信号を生成し、データ送受信部46を介してロボット制御装置5へ送信する。 The robot command signal generation unit 45 generates a robot command signal including the load estimation motion signal based on the robot control command and the load estimation motion signal analyzed by the analysis unit 42 , and transmits the robot command signal to the robot control device via the data transmission/reception unit 46 . 5.

ロボット命令生成部53は、解析部52により解析されたロボット指令信号における負荷推定動作信号に応じて、協働ロボット3に負荷推定動作を実行させるためのロボット命令を生成する。生成したロボット命令及び上述したようなプログラム管理部54、軌跡制御部55、キネマティクス制御部56、サーボ制御部57、負荷設定選択部58及びダイナミクス制御部59の制御によって、協働ロボット3は、負荷推定動作を実行する。 The robot command generating unit 53 generates a robot command for causing the collaborative robot 3 to perform the load estimating motion according to the load estimating motion signal in the robot command signal analyzed by the analyzing unit 52 . By the generated robot commands and the control of the program management unit 54, the trajectory control unit 55, the kinematics control unit 56, the servo control unit 57, the load setting selection unit 58, and the dynamics control unit 59 as described above, the collaborative robot 3 can: Execute the load estimation operation.

接触制御部62は、解析部52により解析されたロボット指令信号における負荷推定動作信号に応じて、協働ロボット3の外力検出部31において負荷推定動作時に検出される外力を測定(取得)する。接触制御部62は、測定した外力を負荷推定実行部61に通知する。 The contact control unit 62 measures (obtains) the external force detected by the external force detection unit 31 of the collaborative robot 3 during the load estimation operation according to the load estimation operation signal in the robot command signal analyzed by the analysis unit 52 . The contact control unit 62 notifies the load estimation execution unit 61 of the measured external force.

負荷推定実行部61は、負荷推定動作信号に応じて、接触制御部62が測定した外力に基づいて、協働ロボット3において負荷の情報を設定するための負荷設定情報を算出する。そして、負荷推定実行部61は、算出した負荷設定情報を協働ロボット3の動作状態と対応付けて記憶部51に記憶する。例えば、負荷推定実行部61は、算出した負荷設定情報をワークの把持状態と対応付けて記憶部51に記憶する。 The load estimation execution unit 61 calculates load setting information for setting load information in the collaborative robot 3 based on the external force measured by the contact control unit 62 in response to the load estimation motion signal. Then, the load estimation execution unit 61 stores the calculated load setting information in the storage unit 51 in association with the operating state of the collaborative robot 3 . For example, the load estimation execution unit 61 stores the calculated load setting information in the storage unit 51 in association with the workpiece gripping state.

次いで、解析部42は、数値制御プログラム中のロボット制御指令を解析し、数値制御プログラムからハンド開閉指令が抽出されると、ロボット指令信号生成部45へ指令を通知し、ロボット指令信号生成部45は、ハンド開閉指令を含むロボット指令信号を生成し、データ送受信部46を介してロボット制御装置5へ送信する。これにより、ロボット制御装置5は、ハンド開閉指令に応じて、ハンド開閉動作を実行する。 Next, the analysis unit 42 analyzes the robot control command in the numerical control program, and when a hand opening/closing command is extracted from the numerical control program, the analysis unit 42 notifies the robot command signal generation unit 45 of the command, and the robot command signal generation unit 45 generates a robot command signal including a hand open/close command, and transmits it to the robot controller 5 via the data transmitter/receiver 46 . Thereby, the robot control device 5 executes the hand opening/closing operation according to the hand opening/closing command.

更に、ロボット制御装置5は、ハンド開閉指令に応じて、ワークの把持状態を負荷設定選択部58へ通知する。負荷設定選択部58は、通知されたワークの把持状態と対応付けられた負荷設定情報を記憶部51から読み出し、ダイナミクス制御部59へ通知する。 Further, the robot control device 5 notifies the load setting selection unit 58 of the gripping state of the workpiece in response to the hand open/close command. The load setting selection unit 58 reads the load setting information associated with the gripping state of the workpiece from the storage unit 51 and notifies it to the dynamics control unit 59 .

ダイナミクス制御部59は、通知された負荷設定情報に基づいて逆動力学計算により協働ロボット3に入力するトルクを計算する。ダイナミクス制御部59は、計算により取得したトルクを、サーボ制御部57へ出力する。サーボ制御部57は、ダイナミクス制御部59により計算されたトルクを反映したロボット制御信号を生成する。これにより、ロボット制御装置5は、負荷設定情報に基づいて協働ロボット3を制御することができる。 The dynamics control unit 59 calculates the torque to be input to the collaborative robot 3 by inverse dynamics calculation based on the notified load setting information. The dynamics control unit 59 outputs the calculated torque to the servo control unit 57 . The servo controller 57 generates robot control signals that reflect the torque calculated by the dynamics controller 59 . Thereby, the robot control device 5 can control the collaborative robot 3 based on the load setting information.

なお、ロボット制御装置5は、協働ロボット3が、2つのハンドを有する(デュアルハンド)場合、第1のハンド及び第2のハンドそれぞれの開閉状態に対応する負荷設定情報を記憶部51に記憶する。 When the collaborative robot 3 has two hands (dual hands), the robot control device 5 stores load setting information corresponding to the open/closed states of the first hand and the second hand in the storage unit 51. do.

次に、図12及び図13を参照しながら、負荷推定動作の例を説明する。先ず、“M100”が指令され、ロボット制御装置5は、協働ロボット3のハンドを開くように制御する。更に、数値制御装置4は、ワークの把持状態(ワークなし)をロボット制御装置5へ通知する。 Next, an example of the load estimation operation will be described with reference to FIGS. 12 and 13. FIG. First, "M100" is commanded, and the robot control device 5 controls the hand of the collaborative robot 3 to open. Further, the numerical control device 4 notifies the robot control device 5 of the workpiece gripping state (no workpiece).

次いで、“G68.8”が入力され、各軸座標系が選択される。“G7.3 J1=_J2=_J3=_J4=_J5=_J6=_”が指令されると、ロボット制御装置5は、各軸座標系上の基準位置に協働ロボット3を移動及び位置決めする。次いで、“G100 X100.0 J5=45.0 J6=45.0 F1000 E25”が指令され、ロボット制御装置5は、負荷推定動作を開始する。 Then "G68.8" is entered to select each axis coordinate system. When "G7.3 J1=_J2=_J3=_J4=_J5=_J6=_" is commanded, the robot controller 5 moves and positions the collaborative robot 3 to the reference position on each axis coordinate system. Next, "G100 X100.0 J5=45.0 J6=45.0 F1000 E25" is commanded, and the robot controller 5 starts the load estimation operation.

ロボット制御装置5は、負荷推定動作として、協働ロボット3を+X方向へ移動速度1000mm/minで移動させる。このとき、ロボット制御装置5の接触制御部62は、協働ロボット3の外力検出部31において検出される外力を測定する。更に、ロボット制御装置5は、負荷推定動作として、協働ロボット3のJ5軸及びJ6軸を、それぞれ最大移動速度の25%で45度回転させる。このとき、ロボット制御装置5の接触制御部62は、協働ロボット3の外力検出部31において検出される外力を測定する。 As a load estimation operation, the robot control device 5 moves the collaborative robot 3 in the +X direction at a movement speed of 1000 mm/min. At this time, the contact control unit 62 of the robot control device 5 measures the external force detected by the external force detection unit 31 of the collaborative robot 3 . Further, the robot control device 5 rotates the J5-axis and J6-axis of the collaborative robot 3 by 45 degrees at 25% of the maximum movement speed as the load estimation operation. At this time, the contact control unit 62 of the robot control device 5 measures the external force detected by the external force detection unit 31 of the collaborative robot 3 .

負荷推定実行部61は、接触制御部62が測定した外力に基づいて負荷設定情報を算出する。そして、負荷推定実行部61は、算出した負荷設定情報をワークの把持状態(ワークなし)と対応付けて記憶部51に記憶する。その後、ロボット制御装置5は、負荷推定動作を終了する。 The load estimation executing section 61 calculates load setting information based on the external force measured by the contact control section 62 . Then, the load estimation execution unit 61 stores the calculated load setting information in the storage unit 51 in association with the workpiece gripping state (no workpiece). After that, the robot control device 5 ends the load estimation operation.

次いで、“G68.9”が指令され、直交座標系が選択される。“G01 X_Y_Z_A_B_C_P_”が指令されると、ロボット制御装置5は、直交座標系上のワーク把持位置へ協働ロボット3を直線移動させ、位置決めする。 Then "G68.9" is commanded to select the Cartesian coordinate system. When "G01 X_Y_Z_A_B_C_P_" is commanded, the robot control device 5 linearly moves and positions the collaborative robot 3 to the workpiece gripping position on the orthogonal coordinate system.

次いで、“M101”が指令され、ロボット制御装置5は、協働ロボット3のハンドを閉じるように制御し、協働ロボット3は、ワークを把持する。更に、数値制御装置4は、ワークの把持状態(ワークあり)をロボット制御装置5へ通知する。 Next, "M101" is commanded, the robot control device 5 controls to close the hands of the collaborative robot 3, and the collaborative robot 3 grips the workpiece. Further, the numerical control device 4 notifies the robot control device 5 of the workpiece gripping state (there is a workpiece).

“G01 X_Y_Z_A_B_C_P_”が指令されると、ロボット制御装置5は、直交座標系上の負荷推定動作開始位置へ協働ロボット3を直線移動させ、位置決めする。次いで、“G101 X100.0 J5=45.0 J6=45.0 F1000 E25”が指令され、ロボット制御装置5は、負荷推定動作を開始する。 When "G01 X_Y_Z_A_B_C_P_" is commanded, the robot controller 5 linearly moves and positions the collaborative robot 3 to the load estimation operation start position on the orthogonal coordinate system. Next, "G101 X100.0 J5=45.0 J6=45.0 F1000 E25" is commanded, and the robot controller 5 starts the load estimation operation.

ロボット制御装置5は、負荷推定動作として、協働ロボット3を+X方向へ移動速度1000mm/minで移動させる。このとき、ロボット制御装置5の接触制御部62は、協働ロボット3の外力検出部31において検出される外力を測定する。更に、ロボット制御装置5は、負荷推定動作として、協働ロボット3のJ5軸及びJ6軸を、それぞれ最大移動速度の25%で45度回転させる。このとき、ロボット制御装置5の接触制御部62は、協働ロボット3の外力検出部31において検出される外力を測定する。 As a load estimation operation, the robot control device 5 moves the collaborative robot 3 in the +X direction at a movement speed of 1000 mm/min. At this time, the contact control unit 62 of the robot control device 5 measures the external force detected by the external force detection unit 31 of the collaborative robot 3 . Further, the robot control device 5 rotates the J5-axis and J6-axis of the collaborative robot 3 by 45 degrees at 25% of the maximum movement speed as the load estimation operation. At this time, the contact control unit 62 of the robot control device 5 measures the external force detected by the external force detection unit 31 of the collaborative robot 3 .

負荷推定実行部61は、接触制御部62が測定した外力に基づいて負荷設定情報を算出する。そして、負荷推定実行部61は、算出した負荷設定情報をワークの把持状態(ワークあり)と対応付けて記憶部51に記憶する。その後、ロボット制御装置5は、負荷推定動作を終了する。 The load estimation executing section 61 calculates load setting information based on the external force measured by the contact control section 62 . Then, the load estimation execution unit 61 stores the calculated load setting information in the storage unit 51 in association with the workpiece gripping state (work present). After that, the robot control device 5 ends the load estimation operation.

その後、“M100”が指令され、ロボット制御装置5は、協働ロボット3のハンドを開くように制御する。更に、数値制御装置4は、ワークの把持状態(ワークなし)をロボット制御装置5へ通知する。負荷設定選択部58は、通知されたワークの把持状態(ワークなし)と対応付けられた負荷設定情報を記憶部51から読み出す。そして、負荷設定選択部58は、ワークの把持状態(ワークあり)と対応付けられた負荷設定情報を、ワークの把持状態(ワークなし)と対応付けられた負荷設定情報に切り替える。 After that, "M100" is commanded, and the robot control device 5 controls to open the hand of the collaborative robot 3. FIG. Further, the numerical control device 4 notifies the robot control device 5 of the workpiece gripping state (no workpiece). The load setting selection unit 58 reads from the storage unit 51 the load setting information associated with the gripping state of the workpiece (no workpiece) notified. Then, the load setting selection unit 58 switches the load setting information associated with the workpiece gripping state (work present) to the load setting information associated with the workpiece gripping state (no workpiece).

その後、“M101”が指令され、ロボット制御装置5は、協働ロボット3のハンドを閉じるように制御する。更に、数値制御装置4は、ワークの把持状態(ワークあり)をロボット制御装置5へ通知する。負荷設定選択部58は、通知されたワークの把持状態(ワークあり)と対応付けられた負荷設定情報を記憶部51から読み出す。そして、負荷設定選択部58は、ワークの把持状態(ワークなし)と対応付けられた負荷設定情報を、ワークの把持状態(ワークあり)と対応付けられた負荷設定情報に切り替える。その後、“M30”が指令され、数値制御プログラムは終了する。なお、上記の実施形態では、数値制御装置4が、ワークの把持状態をロボット制御装置5へ通知したが、ロボット制御装置5は、ロボット制御装置5自体が保持しているワークの把持状態を用いてもよい。 After that, "M101" is commanded, and the robot control device 5 controls the collaborative robot 3 to close its hand. Further, the numerical control device 4 notifies the robot control device 5 of the workpiece gripping state (there is a workpiece). The load setting selection unit 58 reads from the storage unit 51 the load setting information associated with the notified workpiece gripping state (work present). Then, the load setting selection unit 58 switches the load setting information associated with the workpiece gripping state (no workpiece) to the load setting information associated with the workpiece gripping state (with workpiece). After that, "M30" is commanded and the numerical control program ends. In the above embodiment, the numerical control device 4 notifies the robot control device 5 of the gripping state of the work, but the robot control device 5 uses the gripping state of the work held by the robot control device 5 itself. may

以上説明したように本実施形態によれば、数値制御装置4は、数値制御プログラム中のロボット制御指令を解析する解析部42と、解析部42により解析したロボット制御指令に応じて、負荷推定動作のための負荷推定動作信号を生成する負荷推定指令部47と、負荷推定動作信号を含むロボット指令信号を生成し、ロボット制御装置5へ送信するロボット指令信号生成部45と、を備え、ロボット制御装置5は、負荷推定動作信号に応じて、協働ロボット3に負荷推定動作を実行させると共に、協働ロボット3において負荷推定動作時に検出される外力を測定し、測定した外力に基づいて、協働ロボット3において負荷の情報を設定するための負荷設定情報を算出し、算出した負荷設定情報を負荷のパラメータと対応付けて記憶部51に記憶する。 As described above, according to the present embodiment, the numerical control device 4 includes the analysis unit 42 for analyzing the robot control command in the numerical control program, and the load estimation operation according to the robot control command analyzed by the analysis unit 42. and a robot command signal generator 45 for generating a robot command signal including the load estimated motion signal and transmitting the robot command signal to the robot control device 5. The device 5 causes the collaborative robot 3 to perform a load estimation motion in response to the load estimation motion signal, measures an external force detected by the collaborative robot 3 during the load estimation motion, and performs a cooperative action based on the measured external force. Load setting information for setting load information in the working robot 3 is calculated, and the calculated load setting information is stored in the storage unit 51 in association with load parameters.

このような構成を備えることによって、数値制御装置4は、工作機械のユーザが協働ロボット3の教示操作盤を使用せず、負荷の重心位置などのような力学的パラメータを含む負荷の情報を容易に設定することができる。 With such a configuration, the numerical control device 4 enables the user of the machine tool to obtain load information including dynamic parameters such as the position of the center of gravity of the load without using the teaching operation panel of the collaborative robot 3. Can be easily set.

また、ロボット制御装置5は、算出した負荷設定情報を、負荷のパラメータとしての協働ロボット3の動作状態と対応付けて記憶部51に記憶し、協働ロボット3の動作状態は、ワークの把持状態及び協働ロボット3のハンドの開閉状態の少なくとも1つを含む。このような構成を備えることによって、数値制御装置4は、例えば、協働ロボット3のハンド開閉指令時に、負荷設定情報を、ハンドの開閉状態と対応づけられた負荷設定情報に自動的に切替えることによって、工作機械のユーザが負荷を意識せずに容易に協働ロボット3を使用することができる。 Further, the robot control device 5 stores the calculated load setting information in the storage unit 51 in association with the operating state of the collaborative robot 3 as a parameter of the load. state and at least one of the open/closed state of the hands of the collaborative robot 3 . With such a configuration, the numerical controller 4 can automatically switch the load setting information to the load setting information associated with the open/closed state of the hand, for example, when a hand opening/closing command is issued to the collaborative robot 3. Therefore, the user of the machine tool can easily use the collaborative robot 3 without being conscious of the load.

また、負荷推定指令部47は、負荷推定動作信号において、協働ロボット3におけるツールの並進移動方向又は協働ロボット3の回転軸の回転方向をロボット制御装置5に指令する。このような構成を備えることによって、数値制御装置4は、負荷設定情報を算出するための負荷推定動作をロボット制御装置5に適切に実行させることができる。 In addition, the load estimation command unit 47 commands the robot control device 5 about the translational movement direction of the tool in the collaborative robot 3 or the rotation direction of the rotary shaft of the collaborative robot 3 in the load estimation motion signal. With such a configuration, the numerical control device 4 can cause the robot control device 5 to appropriately execute the load estimation operation for calculating the load setting information.

また、負荷推定指令部47は、負荷推定動作信号において、負荷の重量、負荷の重心位置、及び負荷のイナーシャのうちの少なくとも1つを算出することを指令する。このような構成を備えることによって、数値制御装置4は、ロボット制御装置5に対して、負荷設定情報を適切に算出させることができる。 Moreover, the load estimation command section 47 commands calculation of at least one of the weight of the load, the position of the center of gravity of the load, and the inertia of the load in the load estimation operation signal. With such a configuration, the numerical control device 4 can cause the robot control device 5 to appropriately calculate the load setting information.

また、協働ロボット3は、人との接触を検知して動作を停止する。このような構成を備えることによって、数値制御装置4は、協働ロボット3を用いて、人と協働で安全に作業することができる。 Also, the collaborative robot 3 detects contact with a person and stops moving. With such a configuration, the numerical control device 4 can work safely in collaboration with humans using the collaborative robot 3 .

以上、本発明の実施形態について説明したが、上記の数値制御システム1は、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。また、上記の数値制御システム1により行なわれる制御方法も、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。 Although the embodiments of the present invention have been described above, the numerical control system 1 can be realized by hardware, software, or a combination thereof. Also, the control method performed by the numerical control system 1 can be realized by hardware, software, or a combination thereof. Here, "implemented by software" means implemented by a computer reading and executing a program.

プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて記憶され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。 The program can be stored and provided to the computer using various types of non-transitory computer readable medium. Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (e.g., hard disk drives), magneto-optical recording media (e.g., magneto-optical discs), CD-ROMs (Read Only Memory), CD-Rs, CD-R/ W, semiconductor memory (eg, mask ROM, PROM (programmable ROM), EPROM (erasable PROM), flash ROM, RAM (random access memory)).

本開示について詳述したが、本開示は上述した個々の実施形態に限定されるものではない。これらの実施形態は、本開示の要旨を逸脱しない範囲で、または、特許請求の範囲に記載された内容とその均等物から導き出される本開示の趣旨を逸脱しない範囲で、種々の追加、置き換え、変更、部分的削除等が可能である。また、これらの実施形態は、組み合わせて実施することもできる。例えば、上述した実施形態において、各動作の順序や各処理の順序は、一例として示したものであり、これらに限定されるものではない。また、上述した実施形態の説明に数値又は数式が用いられている場合も同様である。 Although the disclosure has been described in detail, the disclosure is not limited to the specific embodiments described above. These embodiments include various additions, replacements, Modification, partial deletion, etc. are possible. Also, these embodiments can be implemented in combination. For example, in the above-described embodiments, the order of each operation and the order of each process are shown as an example, and are not limited to these. The same applies when numerical values or formulas are used in the description of the above-described embodiments.

上記実施形態及び変形例に関し、更に以下の付記を開示する。
(付記1)
数値制御プログラムを用いてロボット制御装置(5)を介してロボット(3)を制御する数値制御装置(4)であって、
前記数値制御プログラム中のロボット制御指令を解析する解析部(42)と、
前記解析部により解析した前記ロボット制御指令に応じて、負荷推定動作のための負荷推定動作信号を生成する負荷推定指令部(47)と、
前記負荷推定動作信号を含むロボット指令信号を生成し、前記ロボット制御装置へ送信するロボット指令信号生成部(45)と、
を備え、
前記ロボット制御装置は、
前記負荷推定動作信号に応じて、前記ロボットに負荷推定動作を実行させると共に、前記ロボットにおいて前記負荷推定動作時に検出される外力を測定し、
測定した前記外力に基づいて、前記ロボットにおいて負荷の情報を設定するための負荷設定情報を算出し、
算出した前記負荷設定情報を前記負荷のパラメータと対応付けて記憶部(51)に記憶する、
数値制御装置。
(付記2)
前記ロボット制御装置は、算出した前記負荷設定情報を、前記負荷のパラメータとしての前記ロボットの動作状態と対応付けて前記記憶部に記憶し、前記ロボットの前記動作状態は、ワークの把持状態及び前記ロボットのハンドの開閉状態の少なくとも1つを含む、付記1に記載の数値制御装置。
(付記3)
前記負荷推定指令部は、前記負荷推定動作信号において、前記負荷の重量、前記負荷の重心位置、及び前記負荷のイナーシャのうちの少なくとも1つを算出することを指令する、付記1又は2に記載の数値制御装置。
(付記4)
前記負荷推定指令部は、前記負荷推定動作信号において、前記負荷の重量、前記負荷の重心位置、及び前記負荷のイナーシャのうちの少なくとも1つを算出することを指令する、付記1又は2に記載の数値制御装置。
(付記5)
前記ロボットは、人との接触を検知して動作を停止する協働ロボットである、付記1又は2に記載の数値制御装置。
(付記6)
数値制御装置(4)の数値制御プログラムを用いてロボット制御装置(5)を介してロボット(3)を制御する数値制御システム(1)であって、
前記数値制御装置は、
前記数値制御プログラム中のロボット制御指令を解析する解析部(42)と、
前記解析部により解析した前記ロボット制御指令に応じて、負荷推定動作のための負荷推定動作信号を生成する負荷推定指令部(47)と、
前記負荷推定動作信号を含むロボット指令信号を生成し、前記ロボット制御装置へ送信するロボット指令信号生成部(45)と、
を備え、
前記ロボット制御装置は、
前記負荷推定動作信号に応じて、前記ロボットに負荷推定動作を実行させるためのロボット命令を生成するロボット命令生成部(53)と、
前記負荷推定動作信号に応じて、前記ロボットにおいて前記負荷推定動作時に検出される外力を測定する接触制御部(62)と、
前記負荷推定動作信号に応じて、測定した前記外力に基づいて、前記ロボットにおいて負荷の情報を設定するための負荷設定情報を算出し、算出した前記負荷設定情報を前記負荷のパラメータと対応付けて記憶部(51)に記憶する負荷推定実行部(61)と、
を備える数値制御システム。
(付記7)
前記負荷推定実行部は、算出した前記負荷設定情報を、前記負荷のパラメータとしての前記ロボットの動作状態と対応付けて前記記憶部に記憶し、前記ロボットの前記動作状態は、ワークの把持状態及び前記ロボットのハンドの開閉状態の少なくとも1つを含む、
付記6に記載の数値制御システム。
(付記8)
前記負荷推定指令部は、前記負荷推定動作信号において、前記ロボットの並進移動方向又は前記ロボットの関節軸の回転方向を前記ロボット制御装置に指令する、付記6又は7に記載の数値制御システム。
(付記9)
前記負荷推定指令部は、前記負荷推定動作信号において、前記負荷の重量、負荷の重心位置、負荷のイナーシャのうちの少なくとも1つを前記ロボット制御装置に算出させる、付記6又は7に記載の数値制御システム。
(付記10)
前記ロボットは、人との接触を検知して動作を停止する協働ロボットである、付記6又は7に記載の数値制御システム。
The following additional remarks are disclosed regarding the above-described embodiment and modifications.
(Appendix 1)
A numerical controller (4) for controlling a robot (3) via a robot controller (5) using a numerical control program,
an analysis unit (42) for analyzing a robot control command in the numerical control program;
a load estimation command unit (47) that generates a load estimation operation signal for a load estimation operation according to the robot control command analyzed by the analysis unit;
a robot command signal generation unit (45) that generates a robot command signal including the load estimation motion signal and transmits the robot command signal to the robot controller;
with
The robot control device is
causing the robot to perform a load estimation operation according to the load estimation operation signal, and measuring an external force detected by the robot during the load estimation operation;
calculating load setting information for setting load information in the robot based on the measured external force;
storing the calculated load setting information in a storage unit (51) in association with parameters of the load;
Numerical controller.
(Appendix 2)
The robot control device stores the calculated load setting information in the storage unit in association with an operation state of the robot as a parameter of the load, and the operation state of the robot includes a gripping state of a workpiece and the load setting information. 2. The numerical control device according to appendix 1, including at least one of open/closed states of the hand of the robot.
(Appendix 3)
3. The load estimation command unit according to appendix 1 or 2, wherein in the load estimation operation signal, the load estimation command unit commands calculation of at least one of the weight of the load, the position of the center of gravity of the load, and the inertia of the load. numerical controller.
(Appendix 4)
3. The load estimation command unit according to appendix 1 or 2, wherein in the load estimation operation signal, the load estimation command unit commands calculation of at least one of the weight of the load, the position of the center of gravity of the load, and the inertia of the load. numerical controller.
(Appendix 5)
3. The numerical controller according to appendix 1 or 2, wherein the robot is a collaborative robot that detects contact with a person and stops moving.
(Appendix 6)
A numerical control system (1) for controlling a robot (3) via a robot controller (5) using a numerical control program of a numerical controller (4),
The numerical controller is
an analysis unit (42) for analyzing a robot control command in the numerical control program;
a load estimation command unit (47) that generates a load estimation operation signal for a load estimation operation according to the robot control command analyzed by the analysis unit;
a robot command signal generation unit (45) that generates a robot command signal including the load estimation motion signal and transmits the robot command signal to the robot controller;
with
The robot control device is
a robot command generation unit (53) for generating a robot command for causing the robot to perform a load estimation motion according to the load estimation motion signal;
a contact control unit (62) for measuring an external force detected by the robot during the load estimation motion according to the load estimation motion signal;
load setting information for setting load information in the robot is calculated according to the load estimation motion signal and based on the measured external force, and the calculated load setting information is associated with the load parameter. a load estimation execution unit (61) stored in a storage unit (51);
Numerical control system with
(Appendix 7)
The load estimation execution unit stores the calculated load setting information in the storage unit in association with the operating state of the robot as a parameter of the load. including at least one of open and closed states of the hand of the robot;
A numerical control system according to appendix 6.
(Appendix 8)
8. The numerical control system according to appendix 6 or 7, wherein the load estimation command section commands the translational movement direction of the robot or the rotation direction of the joint shaft of the robot to the robot control device in the load estimation motion signal.
(Appendix 9)
8. The numerical value according to appendix 6 or 7, wherein the load estimation command unit causes the robot control device to calculate at least one of the weight of the load, the position of the center of gravity of the load, and the inertia of the load in the load estimation motion signal. control system.
(Appendix 10)
8. The numerical control system according to appendix 6 or 7, wherein the robot is a collaborative robot that detects contact with a person and stops moving.

1 数値制御システム
2 工作機械
3 協働ロボット
4 数値制御装置
5 ロボット制御装置
31 外力検出部
41 プログラム入力部
42 解析部
43 動作制御部
44 記憶部
45 ロボット指令信号生成部
46 データ送受信部
47 負荷推定指令部
51 記憶部
52 解析部
53 ロボット命令生成部
54 プログラム管理部
55 軌跡制御部
56 キネマティクス制御部
57 サーボ制御部
58 負荷設定選択部
59 ダイナミクス制御部
60 データ送受信部
61 負荷推定実行部
62 接触制御部
1 Numerical Control System 2 Machine Tool 3 Collaborative Robot 4 Numerical Control Device 5 Robot Control Device 31 External Force Detecting Part 41 Program Input Part 42 Analysis Part 43 Motion Control Part 44 Storage Part 45 Robot Command Signal Generation Part 46 Data Transmission/Reception Part 47 Load Estimation Command unit 51 Storage unit 52 Analysis unit 53 Robot command generation unit 54 Program management unit 55 Trajectory control unit 56 Kinematics control unit 57 Servo control unit 58 Load setting selection unit 59 Dynamics control unit 60 Data transmission/reception unit 61 Load estimation execution unit 62 Contact control unit

Claims (10)

数値制御プログラムを用いてロボット制御装置を介してロボットを制御する数値制御装置であって、
前記数値制御プログラム中のロボット制御指令を解析する解析部と、
前記解析部により解析した前記ロボット制御指令に応じて、負荷推定動作のための負荷推定動作信号を生成する負荷推定指令部と、
前記負荷推定動作信号を含むロボット指令信号を生成し、前記ロボット制御装置へ送信するロボット指令信号生成部と、
を備え、
前記ロボット制御装置は、
前記負荷推定動作信号に応じて、前記ロボットに負荷推定動作を実行させると共に、前記ロボットにおいて前記負荷推定動作時に検出される外力を測定し、
測定した前記外力に基づいて、前記ロボットにおいて負荷の情報を設定するための負荷設定情報を算出し、
算出した前記負荷設定情報を前記負荷のパラメータと対応付けて記憶部に記憶する、
数値制御装置。
A numerical controller that controls a robot via a robot controller using a numerical control program,
an analysis unit that analyzes a robot control command in the numerical control program;
a load estimation command unit that generates a load estimation operation signal for a load estimation operation according to the robot control command analyzed by the analysis unit;
a robot command signal generator that generates a robot command signal including the load estimation motion signal and transmits the robot command signal to the robot controller;
with
The robot control device is
causing the robot to perform a load estimation operation according to the load estimation operation signal, and measuring an external force detected by the robot during the load estimation operation;
calculating load setting information for setting load information in the robot based on the measured external force;
storing the calculated load setting information in a storage unit in association with parameters of the load;
Numerical controller.
前記ロボット制御装置は、算出した前記負荷設定情報を、前記負荷のパラメータとしての前記ロボットの動作状態と対応付けて前記記憶部に記憶し、前記ロボットの前記動作状態は、ワークの把持状態及び前記ロボットのハンドの開閉状態の少なくとも1つを含む、請求項1に記載の数値制御装置。 The robot control device stores the calculated load setting information in the storage unit in association with an operation state of the robot as a parameter of the load, and the operation state of the robot includes a gripping state of a workpiece and the load setting information. 2. The numerical controller according to claim 1, including at least one of open/closed states of the hand of the robot. 前記負荷推定指令部は、前記負荷推定動作信号において、前記ロボットにおけるツールの並進移動方向又は前記ロボットの回転軸の回転方向を前記ロボット制御装置に指令する、請求項1又は2に記載の数値制御装置。 3. The numerical control according to claim 1, wherein the load estimation command section commands the robot control device with respect to the translational movement direction of the tool in the robot or the rotation direction of the rotary shaft of the robot in the load estimation motion signal. Device. 前記負荷推定指令部は、前記負荷推定動作信号において、前記負荷の重量、前記負荷の重心位置、及び前記負荷のイナーシャのうちの少なくとも1つを算出することを指令する、請求項1又は2に記載の数値制御装置。 3. The method according to claim 1, wherein the load estimation command section commands calculation of at least one of the weight of the load, the position of the center of gravity of the load, and the inertia of the load in the load estimation operation signal. Numerical controller as described. 前記ロボットは、人との接触を検知して動作を停止する協働ロボットである、請求項1又は2に記載の数値制御装置。 3. The numerical control device according to claim 1, wherein the robot is a collaborative robot that detects contact with a person and stops moving. 数値制御装置の数値制御プログラムを用いてロボット制御装置を介してロボットを制御する数値制御システムであって、
前記数値制御装置は、
前記数値制御プログラム中のロボット制御指令を解析する解析部と、
前記解析部により解析した前記ロボット制御指令に応じて、負荷推定動作のための負荷推定動作信号を生成する負荷推定指令部と、
前記負荷推定動作信号を含むロボット指令信号を生成し、前記ロボット制御装置へ送信するロボット指令信号生成部と、
を備え、
前記ロボット制御装置は、
前記負荷推定動作信号に応じて、前記ロボットに負荷推定動作を実行させるためのロボット命令を生成するロボット命令生成部と、
前記負荷推定動作信号に応じて、前記ロボットにおいて前記負荷推定動作時に検出される外力を測定する接触制御部と、
前記負荷推定動作信号に応じて、測定した前記外力に基づいて、前記ロボットにおいて負荷の情報を設定するための負荷設定情報を算出し、算出した前記負荷設定情報を前記負荷のパラメータと対応付けて記憶部に記憶する負荷推定実行部と、
を備える数値制御システム。
A numerical control system that controls a robot via a robot controller using a numerical control program of the numerical controller,
The numerical controller is
an analysis unit that analyzes a robot control command in the numerical control program;
a load estimation command unit that generates a load estimation operation signal for a load estimation operation according to the robot control command analyzed by the analysis unit;
a robot command signal generator that generates a robot command signal including the load estimation motion signal and transmits the robot command signal to the robot controller;
with
The robot control device is
a robot instruction generation unit that generates a robot instruction for causing the robot to perform a load estimation operation according to the load estimation operation signal;
a contact control unit that measures an external force detected by the robot during the load estimation operation according to the load estimation operation signal;
load setting information for setting load information in the robot is calculated according to the load estimation motion signal and based on the measured external force, and the calculated load setting information is associated with the load parameter. a load estimation execution unit stored in a storage unit;
Numerical control system with
前記負荷推定実行部は、算出した前記負荷設定情報を、前記負荷のパラメータとしての前記ロボットの動作状態と対応付けて前記記憶部に記憶し、前記ロボットの前記動作状態は、ワークの把持状態及び前記ロボットのハンドの開閉状態の少なくとも1つを含む、
請求項6に記載の数値制御システム。
The load estimation execution unit stores the calculated load setting information in the storage unit in association with the operating state of the robot as a parameter of the load. including at least one of open and closed states of the hand of the robot;
The numerical control system according to claim 6.
前記負荷推定指令部は、前記負荷推定動作信号において、前記ロボットの並進移動方向又は前記ロボットの関節軸の回転方向を前記ロボット制御装置に指令する、請求項6又は7に記載の数値制御システム。 8. The numerical control system according to claim 6 or 7, wherein said load estimation command section commands said robot controller about a translational movement direction of said robot or a rotation direction of a joint axis of said robot in said load estimation motion signal. 前記負荷推定指令部は、前記負荷推定動作信号において、前記負荷の重量、負荷の重心位置、負荷のイナーシャのうちの少なくとも1つを前記ロボット制御装置に算出させる、請求項6又は7に記載の数値制御システム。 8. The robot controller according to claim 6, wherein the load estimation command section causes the robot controller to calculate at least one of the weight of the load, the position of the center of gravity of the load, and the inertia of the load in the load estimation motion signal. Numerical control system. 前記ロボットは、人との接触を検知して動作を停止する協働ロボットである、請求項6又は7に記載の数値制御システム。 8. The numerical control system according to claim 6, wherein said robot is a collaborative robot that stops moving upon detecting contact with a person.
JP2023525093A 2023-01-31 2023-01-31 Numerical controller and numerical control system Active JP7311732B1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2023003095 2023-01-31

Publications (1)

Publication Number Publication Date
JP7311732B1 true JP7311732B1 (en) 2023-07-19

Family

ID=87201271

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023525093A Active JP7311732B1 (en) 2023-01-31 2023-01-31 Numerical controller and numerical control system

Country Status (1)

Country Link
JP (1) JP7311732B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014241018A (en) * 2013-06-11 2014-12-25 ファナック株式会社 Machine tool and control device for controlling robot
JP2018122397A (en) * 2017-01-31 2018-08-09 ブラザー工業株式会社 Control device
JP2020170356A (en) * 2019-04-03 2020-10-15 ファナック株式会社 Machining control system and machining system
JP7022260B1 (en) * 2020-06-30 2022-02-17 ファナック株式会社 Numerical control system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014241018A (en) * 2013-06-11 2014-12-25 ファナック株式会社 Machine tool and control device for controlling robot
JP2018122397A (en) * 2017-01-31 2018-08-09 ブラザー工業株式会社 Control device
JP2020170356A (en) * 2019-04-03 2020-10-15 ファナック株式会社 Machining control system and machining system
JP7022260B1 (en) * 2020-06-30 2022-02-17 ファナック株式会社 Numerical control system

Similar Documents

Publication Publication Date Title
JP2020516475A (en) Teaching Mode Collision Avoidance System and Method for Industrial Robot Manipulators
JP6469065B2 (en) Machine learning device and machining time prediction device
WO2022224425A1 (en) Numerical control device and numerical control system
JP2019146421A (en) Failure predicting device and mechanical learning device
JP7311732B1 (en) Numerical controller and numerical control system
JP7260728B1 (en) Numerical controller and numerical control system
WO2022102578A1 (en) Numerical control apparatus and numerical control system
JP7260727B1 (en) Numerical controller and numerical control system
WO2024116221A1 (en) Numerical control device and numerical control system
JP7288158B1 (en) Numerical controller
WO2024116223A1 (en) Robot control device
JP7288157B1 (en) Numerical controller and numerical control system
JPH10143218A (en) Cycle time prediction device for robot
JP6811878B1 (en) Numerical control device and numerical control method
WO2022176818A1 (en) Robot control device, robot control system, and computer program
TW202422252A (en) Numerical control device and numerical control system
JP7355965B1 (en) Numerical control device and numerical control system
JP7448736B1 (en) Numerical control device and numerical control system
TW202419993A (en) Numerical control device and numerical control system
TW202419994A (en) Numerical control device and numerical control system
TW202419995A (en) Numerical control device and numerical control system
JP7332822B1 (en) Numerical controller and numerical control system
Maťuga Control and positioning of robotic arm on CNC cutting machines and their applications in industry
WO2022191057A1 (en) Motion-path generation device, numerical control device, numerical control system, and computer program
US20240231308A9 (en) Command generation device and non-transitory computer-readable medium storing a computer program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230425

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20230425

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230606

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230706

R150 Certificate of patent or registration of utility model

Ref document number: 7311732

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150