WO2022224425A1 - 数値制御装置及び数値制御システム - Google Patents

数値制御装置及び数値制御システム Download PDF

Info

Publication number
WO2022224425A1
WO2022224425A1 PCT/JP2021/016413 JP2021016413W WO2022224425A1 WO 2022224425 A1 WO2022224425 A1 WO 2022224425A1 JP 2021016413 W JP2021016413 W JP 2021016413W WO 2022224425 A1 WO2022224425 A1 WO 2022224425A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
unit
load setting
load
numerical control
Prior art date
Application number
PCT/JP2021/016413
Other languages
English (en)
French (fr)
Inventor
一剛 今西
Original Assignee
ファナック株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ファナック株式会社 filed Critical ファナック株式会社
Priority to CN202180097134.8A priority Critical patent/CN117157596A/zh
Priority to PCT/JP2021/016413 priority patent/WO2022224425A1/ja
Priority to DE112021007017.7T priority patent/DE112021007017T5/de
Priority to JP2023515988A priority patent/JPWO2022224425A1/ja
Priority to TW111114098A priority patent/TW202244643A/zh
Publication of WO2022224425A1 publication Critical patent/WO2022224425A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41815Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
    • G05B19/41825Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell machine tools and manipulators only, machining centre
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36242Convert program for different machines with different M-code, G-code, header

Definitions

  • the present disclosure relates to a numerical controller and a numerical control system.
  • the robot's load settings must be statically set in the robot program in advance. That is, since the robot program cannot be rewritten from the numerical controller and the load setting of the robot cannot be changed from the numerical controller, the robot operation cycle time cannot be minimized when the workpiece is changed.
  • An object of the present disclosure is to provide a numerical control device and a numerical control system capable of switching the load setting of the robot from the numerical control device.
  • an analysis unit that analyzes a robot numerical control command in a numerical control program; and a robot command signal that is transmitted to a robot control device according to the robot numerical control command analyzed by the analysis unit.
  • a robot command signal generation unit that generates a load setting selection unit that selects a load setting to be set to the robot from a plurality of load information according to the robot numerical control command analyzed by the analysis unit; By transmitting the load setting selected by the load setting selection unit to the load setting update control unit of the robot control device via the robot command signal generation unit, it is reflected in the inverse dynamics calculation of the torque input to the robot. and a transmission unit for causing a numerical control device.
  • FIG. 1 is a schematic diagram of a numerical control system according to an embodiment of the present disclosure
  • FIG. 1 is a functional block diagram of a numerical controller and a robot controller according to an embodiment of the present disclosure
  • FIG. It is a figure which shows an example of load information. It is a figure which shows an example of load information.
  • FIG. 4 is a diagram showing numerical control commands set corresponding to each load setting; It is a figure which shows the numerical control program for robots.
  • FIG. 4 is a sequence diagram showing the flow of signals and information between a numerical control device and a robot control device according to an embodiment of the present disclosure; It is a figure which shows the numerical control program for machine tools, and the numerical control program for robots.
  • FIG. 1 is a schematic diagram of a numerical control system 1 according to one embodiment of the present disclosure.
  • a numerical control system 1 includes a numerical controller (CNC) 2 that controls a machine tool 20, and a robot controller 3 that is communicably connected to the numerical controller 2 and that controls a robot 30 provided near the machine tool 20. And prepare.
  • a numerical control system 1 according to the present embodiment uses a numerical control device 2 and a robot control device 3 that are communicably connected to each other to control operations of a machine tool 20 and a robot 30 in conjunction with each other.
  • the numerical controller 2 generates a machine tool command signal that is a command to the machine tool 20 and a robot command signal that is a command to the robot 30 according to a predetermined numerical control program, and outputs these machine tool command signals and robot command signals to the machine tool. 20 and the robot controller 3.
  • the robot control device 3 controls the motion of the robot 30 according to robot command signals transmitted from the numerical control device 2 .
  • the machine tool 20 processes a workpiece (not shown) according to a machine tool command signal sent from the numerical controller 2.
  • the machine tool 20 is, for example, a lathe, a drilling machine, a milling machine, a grinder, a laser processing machine, an injection molding machine, or the like, but is not limited thereto.
  • the robot 30 operates under the control of the robot control device 3, and performs a predetermined work on a work machined inside the machine tool 20 such as a lathe.
  • the robot 30 is, for example, an articulated robot, and has a tool 30b attached to its arm tip 30a for gripping, processing, or inspecting a workpiece.
  • the robot 30 will be described as a 6-axis articulated robot, but the robot 30 is not limited to this.
  • the robot 30 will be described as a 6-axis articulated robot, but the number of axes is not limited to this.
  • FIG. 2 is a functional block diagram of the numerical controller 2 and the robot controller 3 according to one embodiment of the present disclosure.
  • the numerical control device 2 and the robot control device 3 each include arithmetic processing means such as a CPU (Central Processing Unit), auxiliary storage means such as HDD (Hard Disk Drive) and SSD (Solid State Drive) storing various computer programs, and arithmetic Main memory means such as RAM (random access memory) for storing data temporarily required by 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 2 and robot controller 3 are capable of transmitting and receiving various signals to and from each other, for example, via Ethernet (registered trademark).
  • the numerical controller 2 realizes a machine tool control function for controlling the operation of the machine tool 20 and a function for generating a robot command signal for controlling the operation of the control axis of the robot 30 with the hardware configuration described above.
  • the numerical controller 2 includes a load information storage unit 21, a program input unit 22, an analysis unit 23, a load setting selection unit 24, a robot command signal generation unit 25, and a data transmission/reception unit.
  • a unit 26 and the like are provided.
  • the load information storage unit 21 stores load information including the weight of various loads of the robot 30, the position of the center of gravity, the inertia, and the like. These load information are input in advance by the operator and stored in the load information storage unit 21 .
  • FIGS. 3 and 4 are diagrams showing examples of load information. These load information are displayed on the display screen of the numerical controller 2 . As shown in FIG. 3 , for example, a plurality of groups with a load weight of 50 kg are numbered and stored in the load information storage unit 21 . FIG. 4 shows the contents of group 1 displayed when group 1 in FIG. 3 is selected, in which the position of the center of gravity of the load and the inertia value of the load are stored. In this way, the weight, the position of the center of gravity, and the inertia are associated with each load and stored in the load information storage unit 21 .
  • a plurality of pieces of load information stored in the load information storage unit 21 are selected as load settings to be set for the robot 30 by the load setting selection unit 24, which will be described later. That is, the load setting of the robot 30 is set by load information including the weight of the load, the position of the center of gravity of the load, the inertia of the load, and the like.
  • the load information storage unit 21 stores the above-described load information according to the work, and the load setting of the robot 30 is set according to each work.
  • the load information storage unit 21 stores the load information of the workpieces before and after machining, that is, the workpieces before and after machining whose weight, center of gravity position and inertia have changed due to machining. is set.
  • the numerical control device 2 includes a program storage unit, a machine coordinate value storage unit, a robot coordinate value storage unit, and a robot teaching position storage unit, all of which are not shown. and have
  • the program storage unit stores, for example, a plurality of numerical control programs created based on operator's operations. More specifically, the program storage unit includes a plurality of command blocks for the machine tool 20 for controlling the operation of the machine tool 20, a plurality of command blocks for the robot 30 for controlling the operation of the robot 30, and the like. Numerical control program to be executed is stored. The numerical control program stored in the program storage unit is written in a known program language such as G code or M code for controlling the operation of the machine tool.
  • the machine coordinate value storage unit stores machine coordinate values indicating the positions of various axes of the machine tool 20 (that is, the positions of the tool post, table, etc. of the machine tool 20) 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 the machine tool or near the machine tool 20 . This machine coordinate value storage unit is updated successively by a process (not shown) so that the latest machine coordinate values that are successively changed under the numerical control program are stored.
  • the robot coordinate value storage unit stores the position and orientation of the control point (for example, the arm tip 30a of the robot 30) of the robot 30 operating under the control of the robot control device 3, in other words, the position of each control axis of the robot 30.
  • a robot coordinate value indicating is stored. These robot coordinate values are defined under a robot coordinate system different from the machine tool coordinate system, as described above.
  • This robot coordinate value storage unit is sequentially updated with the robot coordinate values acquired from the robot control device 3 by a process (not shown) so that the latest robot coordinate values that are sequentially changed under the numerical control program are stored. .
  • the robot teaching position storage unit stores the teaching positions such as the start point and the end point of the robot 30 input by the operator, specifically, the teaching positions of the robot 30 input from the teach pendant or the like, or the teaching positions input from the keyboard or the like.
  • the teaching position of the robot 30 includes robot coordinate values indicating the position of each control axis of the robot 30, and these robot coordinate values are defined under a robot coordinate system different from the machine tool coordinate system.
  • the robot coordinate system is a coordinate system whose origin is a reference point set at an arbitrary position on the robot 30 or in the vicinity of the robot 30 .
  • the robot coordinate system may coincide with the machine tool coordinate system.
  • the origin and coordinate axis direction of the robot coordinate system may be aligned with the origin and coordinate axis direction of the machine tool coordinate system.
  • the robot coordinate system can be switched between two or more coordinate formats with different control axes. More specifically, in the numerical control program, the position and orientation of the control points of the robot 30 can be specified in orthogonal coordinate format or each axis coordinate format.
  • the position and orientation of the control point of the robot 30 are represented by a total of six real coordinates whose components are the rotation angle values (J1, J2, J3, J4, J5, J6) of the six joints of the robot 30. Specified by value.
  • the position and orientation of the control point of the robot 30 is represented by three coordinate values (X, Y, Z) along three Cartesian coordinate axes and three rotation angle values (A, B , C) and a total of six real number coordinate values.
  • the form of the robot 30 is also uniquely determined.
  • the position and posture of the control point of the robot 30 are specified by six coordinate values (X, Y, Z, A, B, C), so the form of the robot 30 is uniquely cannot be determined. Therefore, in the numerical control program for the robot, the form of the robot 30 can be designated by a form value P, which is an integer value of a predetermined number of digits.
  • the position and orientation of the control points of the robot 30 and the configuration of the robot 30 are represented by six coordinate values (J1, J2, J3, J4, J5, J6) under each axis coordinate format, and is represented by six coordinate values and one morphological value (X, Y, Z, A, B, C, P).
  • the program input unit 22 reads numerical control programs from the program storage unit and sequentially inputs them to the analysis unit 23 .
  • the program input unit 22 also reads the load information of the robot 30 stored in the load information storage unit 21 and inputs it to the analysis unit 23 .
  • the analysis unit 23 analyzes the command type based on the numerical control program input from the program input unit 22 for each command block, and outputs the analysis result to the machine tool control unit (not shown) and the robot command signal generation unit 25, which will be described later. . More specifically, when the command type of the command block is a command for the machine tool 20, the analysis unit 23 transmits this to the machine tool control unit, and the command type of the command block is a command for the robot 30. If so, it outputs this to the robot command signal generator 25 .
  • a machine tool control unit (not shown) generates a machine tool control signal for controlling the operation of the machine tool 20 according to the analysis result sent from the analysis unit 23, and inputs the signal to actuators that drive various axes of the machine tool 20. do.
  • the machine tool 20 operates according to a machine tool control signal input from the machine tool control section, and processes a workpiece (not shown).
  • the machine tool control section updates the machine coordinate values stored in the machine coordinate value storage section with the latest machine coordinate values.
  • the analysis unit 23 of the present embodiment analyzes the command type based on the numerical control program input from the program input unit 22 for each command block, and determines whether the command type is a load setting selection command for the robot 30. judge. As a result of the analysis, when the command type is determined to be a load setting selection command for the robot 30, the analysis unit 23 notifies the load setting selection unit 24, which will be described later, of the determination result.
  • FIG. 5 is a diagram showing numerical control commands set corresponding to each load setting.
  • numerical control instructions corresponding to each load setting are defined in G code.
  • No. in FIG. 1 is load setting information corresponding to group 1 shown in FIGS. 3 and 4, and is defined in G100.
  • a G code is set for each load setting, and when the analysis unit 23 detects these G codes, it determines that the command type is a load setting selection command for the robot 30 .
  • the load setting selection unit 24 reads the load information of the robot 30 stored in the load information storage unit 21 in response to the notification of the determination result from the analysis unit 23 described above. Specifically, based on the load setting selection command for the robot 30 determined by the analysis unit 23, the load setting selection unit 24 selects the selection command from among the plurality of pieces of load information stored in the load information storage unit 21. is read out and selected as the load setting to be set for the robot 30 . The load setting selection unit 24 notifies the selected load setting to the robot command signal generation unit 25, which will be described later.
  • the robot command signal generation unit 25 generates a command for a robot program whose command block is analyzed by the analysis unit 23 as a command for the robot 30, among the programs stored in the program storage unit, according to the robot program. Generates a robot command signal.
  • the generated robot command signal includes a robot program activation command that serves as a trigger for activating the robot program stored in the storage unit 31 of the robot control device 3 side.
  • the robot command signal generator 25 outputs the generated robot command signal to the data transmitter/receiver 26 .
  • the robot command signal generating unit 25 of the present embodiment when the load setting selected by the load setting selecting unit 24 is notified, the robot command signal generating unit 25 of the present embodiment generates a load setting update command signal for instructing the load setting to be updated. Generate.
  • the robot command signal generation unit 25 outputs the generated load setting update command signal to the data transmission/reception unit 26, which will be described later.
  • the data transmission/reception unit 26 exchanges various commands and data with the data transmission/reception unit 32 of the robot control device 3 .
  • the data transmitter/receiver 26 outputs the robot command signal to the data transmitter/receiver 32 of the robot controller 3 .
  • the data transmission/reception unit 26 of the present embodiment transmits the load setting update command signal output from the robot command signal generation unit 25 described above to the robot control device 3 described later. That is, the data transmission/reception unit 26 transmits the load setting selected by the load setting selection unit 24 to the robot control device 3 via the robot command signal generation unit 25 .
  • the load setting transmitted to the robot control device 3 is used for the inverse dynamics calculation of the torque input to the robot 30 by being notified to the load setting update control unit 38 described later.
  • the robot control device 3 includes a storage unit 31, a data transmission/reception unit 32, an analysis unit 33, a robot instruction unit, and a robot command unit 31 in order to control the operation of the robot 30 based on commands transmitted from the numerical control unit 2. It includes a generation unit 34, a program management unit 35, a trajectory control unit 36, a kinematics control unit 37, a load setting update control unit 38, an inverse dynamics calculation unit 39, a servo control unit 40, and the like.
  • the data transmitter/receiver 32 receives the robot command signal transmitted from the data transmitter/receiver 26 of the numerical controller 2 .
  • the data transmission/reception unit 32 sequentially outputs the received robot command signals to the analysis unit 33 .
  • the data transmission/reception unit 32 of the present embodiment receives the load settings selected by the load setting selection unit 24 and transmitted from the data transmission/reception unit 26 of the numerical controller 2 .
  • the received load settings are notified to the analysis unit 33, which will be described later.
  • the analysis unit 33 analyzes the robot command signal input from the data transmission/reception unit 32 .
  • the analysis unit 33 outputs the analysis result to the robot instruction generation unit 34, which will be described later.
  • the analysis unit 33 of the present embodiment notifies the load setting update control unit 38 of the load setting information, which will be described later.
  • the load setting update control unit 38 When the load setting update control unit 38 detects a load setting update command and is notified of the load setting information by the analysis unit 33, the load setting update control unit 38 updates the notified load setting. Also, the load setting update control unit 38 notifies the updated load setting to the inverse dynamics calculation unit 39, which will be described later.
  • the inverse dynamics calculation unit 39 calculates the torque input to the robot 30 by inverse dynamics calculation based on the load setting updated and notified by the load setting update control unit 38 described above.
  • the inverse dynamics calculator 39 outputs the calculated torque to the servo controller 40, which will be described later.
  • the inverse dynamics calculation of the robot 30 refers to the hand load applied to the robot 30 based on the desired motion (time-series data of the position, velocity, and acceleration of each joint) calculated in the motion trajectory planning of the robot 30. This is a method of calculating the input torque to each motor to realize such a response, taking into account the force, gravity, and self-weight. 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). .
  • the robot command generation unit 34 Based on the analysis result of the robot command signal input from the analysis unit 33, the robot command generation unit 34 generates a robot command corresponding to the robot command signal.
  • the robot command generator 34 outputs the generated robot command to the program manager 35 .
  • the program management unit 35 sequentially executes the robot command, thereby generating a motion plan for the robot 30 according to the robot command signal and outputting it to the trajectory control unit 36. do.
  • the program management unit 35 adds the input block robot command to the robot program stored in the storage unit 31. . Thereby, a robot program corresponding to the robot command signal transmitted from the numerical controller 2 is generated and stored in the storage unit 31 . The stored robot program is activated and reproduced when the program management section 35 receives a robot program activation command as a robot command.
  • the trajectory control unit 36 calculates time-series data of the control points of the robot 30 and outputs the data to the kinematics control unit 37 .
  • the kinematics control unit 37 calculates the target angle of each joint of the robot 30 by inverse kinematics calculation based on the input time-series data, and outputs it to the servo control unit 40 .
  • the inverse kinematics calculation of the robot 30 is a method of calculating the angle of each joint from the hand position and posture of the robot 30 .
  • the servo control unit 40 generates a robot control signal for the robot 30 by feedback-controlling each servo motor of the robot 30 so that the target angle input from the kinematics control unit 37 is realized, and outputs the robot control signal to the servo motor of the robot 30. input.
  • the servo control unit 40 of this embodiment generates a robot control signal that reflects the torque calculated by the inverse dynamics calculation unit 39 described above. This enables control of the robot 30 based on the updated load setting.
  • FIG. 6 is a diagram showing a numerical control program for robots.
  • FIG. 7 is a sequence diagram showing the flow of signals and information between the numerical controller 2 and the robot controller 3 according to this embodiment.
  • the robot controller 3 causes the robot 30 to grip the work 1 by closing the hand.
  • the load setting 1 corresponding to the gripped workpiece 1, which has been stored in the load information storage unit 21 in advance is selected.
  • the selected load setting 1 is transmitted to the robot control device 3 side, and the load setting update control unit 38 updates the previously set load setting to the newly notified load setting 1 .
  • Inverse dynamics calculation is performed by the inverse dynamics calculation unit 39 based on the updated load setting 1, and the robot 30 is controlled according to the robot control command reflecting the calculated input torque.
  • FIG. 8 is a diagram showing a numerical control program for machine tools and a numerical control program for robots.
  • the numerical control program for machine tools is shown on the left side, and the numerical control program for robots corresponding to the numerical control program for machine tools is arranged on the right side.
  • the robot controller 3 moves to the specified position ( After linearly moving the robot 30 to the work position) and positioning the robot 30, the hands of the robot 30 are closed to grip the work 1, and the load setting of the robot 30 is switched to load setting 2 (work 1 before machining).
  • the numerical control system 1 it is also possible to switch the load setting of the robot 30 according to the workpiece before and after machining, according to the numerical control command from the numerical control device 2 side.
  • the numerical controller 2 includes a load setting selection unit 24 that selects a load setting to be set for the robot 30 from a plurality of pieces of load information in accordance with the robot numerical control command analyzed by the analysis unit 23. It was configured to be prepared. Further, the numerical controller 2 according to the present embodiment transmits the load setting selected by the load setting selector 24 to the load setting update controller 38 of the robot controller 3 via the robot command signal generator 25. Therefore, the data transmitting/receiving unit 26 for reflecting the torque input to the robot 30 in the inverse dynamics calculation is provided.
  • the load setting of the robot 30 can be dynamically changed from the numerical control program, so the load setting of the robot 30 can be automatically switched from the numerical control device 2. Therefore, even if the workpiece is changed during program operation of the machine tool 20, the load setting of the robot 30 can be automatically switched from the numerical controller 2, minimizing the operation cycle time of the robot 30. be able to.
  • the numerical controller 2 is configured to set the load based on load information including the weight of the load, the position of the center of gravity of the load, and the inertia of the load.
  • the load setting can be set according to the workpiece, and can also be set according to the workpiece before and after machining. As a result, a more optimal load can be set, and the operation cycle time of the robot 30 can be minimized more reliably.
  • the load information storage unit 21 for storing load information such as the weight of the load, the position of the center of gravity of the load, and the inertia of the load is provided in the numerical controller, but the present invention is not limited to this.
  • a load information storage section for storing such load information may be provided in the robot control device 3, an external device, or the like.

Abstract

数値制御装置からロボットの負荷設定を切り替えることが可能な数値制御装置を提供する。数値制御プログラム中のロボット用数値制御指令を解析する解析部23と、解析部23で解析されたロボット用数値制御指令に応じて、ロボット制御装置3へ送信するロボット指令信号を生成するロボット指令信号生成部25と、解析部23で解析されたロボット用数値制御指令に応じて、複数の負荷情報の中からロボット30に設定する負荷設定を選択する負荷設定選択部24と、負荷設定選択部24で選択された負荷設定を、ロボット指令信号生成部25を介してロボット制御装置3の負荷設定更新制御部38へ送信することにより、ロボット30に入力するトルクの逆動力学計算に反映させるデータ送受信部26と、を備える、数値制御装置2である。

Description

数値制御装置及び数値制御システム
 本開示は、数値制御装置及び数値制御システムに関する。
 一般的に、工作機械を制御するための数値制御プログラムとロボットを制御するためのロボットプログラムとは、プログラム言語が異なる。このため工作機械の動作とロボットの動作とを連動させるためには、オペレータは数値制御プログラムとロボットプログラムとの両方に習熟する必要がある。
 近年、加工現場の自動化を促進するため、ワークを加工する工作機械の動作とこの工作機械の近傍に設けられたロボットの動作とを連動して制御する数値制御システムが望まれている(例えば、特許文献1参照)。この数値制御システムでは、工作機械ユーザが精通した工作機械用の数値制御プログラムを用いてロボットを制御する。
特許5752179号公報
 ところで、加工ワークが変更される場合に、ロボットで段取りを行う技術が知られている。この技術では、負荷の重量や重心位置、イナーシャ値等の負荷設定をロボット制御装置に記憶しておき、軌道計画に従って各関節角度を制御する際に、逆動力学計算(ニュートン・オイラー法等)によりロボットの各関節の角度、角速度、角加速度駆動に必要なトルクを算出し、各関節モータへ指令トルクとして逐次入力する。これにより、負荷の影響が補償され、ロボットの動作サイクルタイムが最小化される。
 しかしながら、ロボットの負荷設定は、予めロボットプログラム内で静的に設定しておく必要がある。即ち、数値制御装置からロボットプログラムを書き換えることができず、数値制御装置からロボットの負荷設定を変更することができないため、ワークが変更された場合に、ロボットの動作サイクルタイムを最小化できないという課題がある。
 本開示は、数値制御装置からロボットの負荷設定を切り替えることが可能な数値制御装置及び数値制御システムを提供することを目的とする。
 本開示の一態様は、数値制御プログラム中のロボット用数値制御指令を解析する解析部と、前記解析部で解析された前記ロボット用数値制御指令に応じて、ロボット制御装置へ送信するロボット指令信号を生成するロボット指令信号生成部と、前記解析部で解析された前記ロボット用数値制御指令に応じて、複数の負荷情報の中からロボットに設定する負荷設定を選択する負荷設定選択部と、前記負荷設定選択部で選択された負荷設定を、前記ロボット指令信号生成部を介して前記ロボット制御装置の負荷設定更新制御部へ送信することにより、前記ロボットに入力するトルクの逆動力学計算に反映させる送信部と、を備える、数値制御装置である。
 本開示によれば、数値制御装置からロボットの負荷設定を切り替えることが可能な数値制御装置及び数値制御システムを提供できる。
本開示の一実施形態に係る数値制御システムの概略図である。 本開示の一実施形態に係る数値制御装置及びロボット制御装置の機能ブロック図である。 負荷情報の一例を示す図である。 負荷情報の一例を示す図である。 各負荷設定に対応して設定された数値制御指令を示す図である。 ロボット用数値制御プログラムを示す図である。 本開示の一実施形態に係る数値制御装置とロボット制御装置との間の信号や情報の流れを示すシーケンス図である。 工作機械用数値制御プログラム及びロボット用数値制御プログラムを示す図である。
 以下、本開示の一実施形態について図面を参照して詳しく説明する。
 図1は、本開示の一実施形態に係る数値制御システム1の概略図である。
 数値制御システム1は、工作機械20を制御する数値制御装置(CNC)2と、数値制御装置2と通信可能に接続され且つ工作機械20の近傍に設けられたロボット30を制御するロボット制御装置3と、を備える。本実施形態に係る数値制御システム1は、互いに通信可能に接続された数値制御装置2及びロボット制御装置3を用いることによって、工作機械20及びロボット30の動作を連動して制御する。
 数値制御装置2は、所定の数値制御プログラムに従い、工作機械20に対する指令である工作機械指令信号及びロボット30に対する指令であるロボット指令信号を生成し、これら工作機械指令信号及びロボット指令信号を工作機械20及びロボット制御装置3へ送信する。ロボット制御装置3は、数値制御装置2から送信されるロボット指令信号に応じてロボット30の動作を制御する。
 工作機械20は、数値制御装置2から送信される工作機械指令信号に応じて図示しないワークを加工する。工作機械20は、例えば、旋盤、ボール盤、フライス盤、研削盤、レーザ加工機、及び射出成形機等であるが、これに限らない。
 ロボット30は、ロボット制御装置3による制御下において動作し、例えば旋盤等の工作機械20の内部で加工されるワークに対して所定の作業を実行する。ロボット30は、例えば多関節ロボットであり、そのアーム先端部30aにはワークを把持したり、加工したり、検査したりするためのツール30bが取り付けられる。以下では、ロボット30は、6軸の多関節ロボットとした場合について説明するが、これに限らない。また以下では、ロボット30は、6軸の多関節ロボットとした場合について説明するが、軸数はこれに限らない。
 図2は、本開示の一実施形態に係る数値制御装置2及びロボット制御装置3の機能ブロック図である。
 数値制御装置2及びロボット制御装置3は、それぞれCPU(Central Processing Unit)等の演算処理手段、各種コンピュータプログラムを格納したHDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶手段、演算処理手段がコンピュータプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった主記憶手段、オペレータが各種操作を行うキーボードといった操作手段、及びオペレータに各種情報を表示するディスプレイといった表示手段等のハードウェアによって構成されるコンピュータである。これら数値制御装置2及びロボット制御装置3は、例えばイーサネット(登録商標)によって相互に各種信号を送受信することが可能となっている。
 先ず、数値制御装置2の詳細な構成について説明する。数値制御装置2は、上記ハードウェア構成によって、工作機械20の動作を制御する工作機械制御機能と、ロボット30の制御軸の動作を制御するロボット指令信号を生成する機能とを実現する。具体的に、数値制御装置2は、これらの機能を実現するために、負荷情報記憶部21、プログラム入力部22、解析部23、負荷設定選択部24、ロボット指令信号生成部25、及びデータ送受信部26等を備える。
 負荷情報記憶部21は、ロボット30の各種負荷の重量、重心位置及びイナーシャ等を含む負荷情報を記憶する。これらの負荷情報は、オペレータにより予め入力され、負荷情報記憶部21に記憶される。
 ここで、図3及び図4は、負荷情報の一例を示す図である。これらの負荷情報は、数値制御装置2の表示画面に表示される。図3に示されるように、例えば負荷重量50kgのグループが、複数ナンバリングされて負荷情報記憶部21に記憶されている。図4は、図3中のグループ1を選択したときに表示されるグループ1の内容であり、負荷の重心位置及び負荷のイナーシャ値が記憶されている。このように、負荷ごとに重量、重心位置及びイナーシャが紐づけられて負荷情報記憶部21に記憶されている。
 図2に戻って、負荷情報記憶部21に記憶された複数の負荷情報は、後述する負荷設定選択部24により、ロボット30に設定する負荷設定として選択される。即ち、ロボット30の負荷設定は、負荷の重量、負荷の重心位置、及び負荷のイナーシャ等を含む負荷情報により設定される。
 負荷情報記憶部21は、ワークに応じた上述の負荷情報を記憶し、ロボット30の負荷設定は各ワークに応じて設定される。また、負荷情報記憶部21は、加工前後のワーク、即ち加工によって重量、重心位置及びイナーシャが変化した加工前後のワークの負荷情報を記憶し、ロボット30の負荷設定はこれら加工前後のワークに応じて設定される。
 なお本実施形態に係る数値制御装置2は、負荷情報記憶部21以外にも、いずれも図示しない、プログラム記憶部と、機械座標値記憶部と、ロボット座標値記憶部と、ロボット教示位置記憶部と、を有する。
 プログラム記憶部には、例えばオペレータによる操作に基づいて作成された複数の数値制御プログラムが格納されている。より具体的には、プログラム記憶部には、工作機械20の動作を制御するための工作機械20に対する複数の指令ブロックやロボット30の動作を制御するためのロボット30に対する複数の指令ブロック等によって構成される数値制御プログラムが格納されている。プログラム記憶部に格納されている数値制御プログラムは、GコードやMコード等、工作機械の動作を制御するため既知のプログラム言語で記述されている。
 機械座標値記憶部には、上記数値制御プログラムの下で作動する工作機械20の各種軸の位置(即ち、工作機械20の刃物台やテーブル等の位置)を示す機械座標値が格納されている。なおこれら機械座標値は、工作機械上又は工作機械20の近傍の任意の位置に定められた基準点を原点とする工作機械座標系の下で定義される。この機械座標値記憶部には、数値制御プログラムの下で逐次変化する機械座標値の最新値が格納されるよう、図示しない処理によって逐次更新される。
 ロボット座標値記憶部には、ロボット制御装置3の制御下で作動するロボット30の制御点(例えば、ロボット30のアーム先端部30a)の位置及び姿勢、換言すればロボット30の各制御軸の位置を示すロボット座標値が格納されている。なおこれらロボット座標値は、上述したように工作機械座標系とは異なるロボット座標系の下で定義される。このロボット座標値記憶部には、数値制御プログラムの下で逐次変化するロボット座標値の最新値が格納されるよう、図示しない処理によりロボット制御装置3から取得されたロボット座標値によって逐次更新される。
 ロボット教示位置記憶部は、オペレータにより入力されたロボット30の始点及び終点といった教示位置、具体的には、ティーチペンダント等から入力されたロボット30の教示位置や、キーボード等から入力された教示位置を記憶する。ロボット30の教示位置には、ロボット30の各制御軸の位置を示すロボット座標値が含まれ、これらロボット座標値は、工作機械座標系とは異なるロボット座標系の下で定義される。
 ここで、ロボット座標系は、ロボット30上又はロボット30の近傍の任意の位置に定められた基準点を原点とする座標系である。以下では、ロボット座標系は工作機械座標系と異なる場合について説明するが、これに限らない。ロボット座標系は工作機械座標系と一致させてもよい。換言すれば、ロボット座標系の原点や座標軸方向を工作機械座標系の原点や座標軸方向と一致させてもよい。
 また、ロボット座標系は、制御軸が異なる2以上の座標形式の間で切り替え可能となっている。より具体的には、数値制御プログラムにおいてロボット30の制御点の位置及び姿勢は、直交座標形式又は各軸座標形式によって指定可能である。
 各軸座標形式では、ロボット30の制御点の位置及び姿勢は、ロボット30の6つの関節の回転角度値(J1,J2,J3,J4,J5,J6)を成分とした計6つの実数の座標値によって指定される。
 直交座標形式では、ロボット30の制御点の位置及び姿勢は、3つの直交座標軸に沿った3つの座標値(X,Y,Z)と、各直交座標軸周りの3つの回転角度値(A,B,C)と、を成分とした計6つの実数の座標値によって指定される。
 各軸座標形式の下では、ロボット30の各関節の回転角度を直接的に指定するため、ロボット30の各アームや手首の軸配置や、360度以上回転可能な関節の回転数(以下、これらを総称して「ロボット30の形態」という)も一意的に定まる。これに対し直交座標形式の下では、6つの座標値(X,Y,Z,A,B,C)によってロボット30の制御点の位置及び姿勢を指定するため、ロボット30の形態は一意的に定めることができない。そこでロボット用の数値制御プログラムでは、ロボット30の形態を、所定の桁数の整数値である形態値Pによって指定することが可能となっている。従ってロボット30の制御点の位置及び姿勢並びにロボット30の形態は、各軸座標形式の下では6つの座標値(J1,J2,J3,J4,J5,J6)によって表され、直交座標形式の下では6つの座標値及び一つの形態値(X,Y,Z,A,B,C,P)によって表される。
 プログラム入力部22は、プログラム記憶部から数値制御プログラムを読み出し、これを逐次、解析部23へ入力する。また、プログラム入力部22は、負荷情報記憶部21に記憶されているロボット30の負荷情報を読み出し、これを解析部23へ入力する。
 解析部23は、プログラム入力部22から入力される数値制御プログラムに基づく指令種別を指令ブロックごとに解析し、その解析結果を図示しない工作機械制御部及び後述のロボット指令信号生成部25へ出力する。より具体的には、解析部23は、指令ブロックの指令種別が工作機械20に対する指令である場合には、これを工作機械制御部へ送信し、指令ブロックの指令種別がロボット30に対する指令である場合には、これをロボット指令信号生成部25へ出力する。
 図示しない工作機械制御部は、解析部23から送信される解析結果に応じて工作機械20の動作を制御するための工作機械制御信号を生成し、工作機械20の各種軸を駆動するアクチュエータへ入力する。工作機械20は、工作機械制御部から入力される工作機械制御信号に応じて動作し、図示しないワークを加工する。また工作機械制御部は、以上のように数値制御プログラムに従って工作機械20の動作を制御した後、機械座標値記憶部に格納されている機械座標値を、最新の機械座標値によって更新する。
 また、本実施形態の解析部23は、プログラム入力部22から入力される数値制御プログラムに基づく指令種別を指令ブロックごとに解析し、指令種別がロボット30の負荷設定の選択指令であるか否かを判定する。解析部23は、解析の結果、指令種別がロボット30の負荷設定の選択指令と判定された場合には、その判定結果を後述の負荷設定選択部24に通知する。
 ここで、図5は、各負荷設定に対応して設定された数値制御指令を示す図である。図5に示されるように、本実施形態の数値制御プログラムには、各負荷設定に対応した数値制御指令がGコードで規定されている。例えば図5中のNo.1は、図3及び図4に示したグループ1に対応した負荷設定情報であり、G100で規定されている。このように、負荷設定ごとにGコードが設定されており、解析部23はこれらのGコードを検出すると、指令種別がロボット30の負荷設定の選択指令であると判定する。
 図2に戻って、負荷設定選択部24は、上述の解析部23からの判定結果の通知に応じて、上述の負荷情報記憶部21に記憶されたロボット30の負荷情報を読み出す。具体的に、負荷設定選択部24は、解析部23により判定されたロボット30の負荷設定の選択指令に基づいて、負荷情報記憶部21に記憶された複数の負荷情報の中から、該選択指令に対応した負荷情報を読み出し、ロボット30に設定する負荷設定として選択する。なお負荷設定選択部24は、選択された負荷設定を、後述のロボット指令信号生成部25へ通知する。
 ロボット指令信号生成部25は、プログラム記憶部に記憶されたプログラムのうち、解析部23によって指令ブロックの指令種別がロボット30に対する指令であると解析されたロボットプログラムに対して、該ロボットプログラムに応じたロボット指令信号を生成する。生成するロボット指令信号には、ロボット制御装置3側の記憶部31で記憶したロボットプログラムを起動させるためのトリガとなるロボットプログラム起動指令が含まれる。ロボット指令信号生成部25は、生成したロボット指令信号をデータ送受信部26に出力する。
 また、本実施形態のロボット指令信号生成部25は、上述の負荷設定選択部24により選択された負荷設定が通知されると、該負荷設定に更新するように指令する負荷設定の更新指令信号を生成する。ロボット指令信号生成部25は、生成した負荷設定の更新指令信号を、後述のデータ送受信部26に出力する。
 データ送受信部26は、ロボット制御装置3のデータ送受信部32と相互に各種指令やデータを送受信する。データ送受信部26は、ロボット指令信号生成部25によってロボット指令信号が書き込まれると、ロボット指令信号をロボット制御装置3のデータ送受信部32へ出力する。
 また、本実施形態のデータ送受信部26は、上述のロボット指令信号生成部25から出力された負荷設定の更新指令信号を、後述のロボット制御装置3に送信する。即ち、データ送受信部26は、上述の負荷設定選択部24で選択された負荷設定を、ロボット指令信号生成部25を介してロボット制御装置3に送信する。ロボット制御装置3に送信された負荷設定は、後述の負荷設定更新制御部38に通知されることにより、ロボット30に入力するトルクの逆動力学計算に利用される。
 次に、ロボット制御装置3の構成について詳細に説明する。図2に示すように、ロボット制御装置3は、数値制御装置2から送信される指令に基づいてロボット30の動作を制御するために、記憶部31、データ送受信部32、解析部33、ロボット命令生成部34、プログラム管理部35、軌跡制御部36、キネマティクス制御部37、負荷設定更新制御部38、逆動力学計算部39、サーボ制御部40等を備える。
 データ送受信部32は、数値制御装置2のデータ送受信部26から送信されるロボット指令信号を受信する。データ送受信部32は、受信したロボット指令信号を逐次、解析部33へ出力する。
 また、本実施形態のデータ送受信部32は、上述の負荷設定選択部24で選択されて数値制御装置2のデータ送受信部26から送信された負荷設定を受信する。受信された負荷設定は、後述の解析部33に通知される。
 解析部33は、データ送受信部32から入力されるロボット指令信号を解析する。解析部33は、その解析結果を後述のロボット命令生成部34へ出力する。
 また、本実施形態の解析部33は、負荷設定の更新指令が検出されると、後述の負荷設定更新制御部38へ負荷設定情報を通知する。
 負荷設定更新制御部38は、上述の解析部33により負荷設定の更新指令が検出されて負荷設定情報が通知されると、通知された負荷設定への更新を実行する。また、負荷設定更新制御部38は、更新した負荷設定を、後述の逆動力学計算部39へ通知する。
 逆動力学計算部39は、上述の負荷設定更新制御部38で更新されて通知された負荷設定に基づいて、逆動力学計算によりロボット30に入力するトルクを計算する。逆動力学計算部39は、計算により取得したトルクを、後述のサーボ制御部40へ出力する。
 ここで、ロボット30の逆動力学計算とは、ロボット30の動作軌跡計画で算出される望みの運動(各関節の位置、速度、加速度の時系列データ)に基づいて、ロボット30に加わる手先負荷や重力、自重を考慮し、そのような応答を実現するための各モータへの入力トルクを計算する手法である。このような逆動力学計算に関するものとして、例えば、計算トルク法やニュートン・オイラー法等の数値計算方法が開示されている(例えば、特開平8-118275号公報、特開2015-58520号公報)。
 ロボット命令生成部34は、解析部33から入力されるロボット指令信号の解析結果に基づいて、該ロボット指令信号に応じたロボット命令を生成する。ロボット命令生成部34は、生成したロボット命令をプログラム管理部35へ出力する。
 プログラム管理部35は、ロボット命令生成部34からロボット命令が入力されると、これを逐次実行することにより、上記ロボット指令信号に応じたロボット30の動作計画を生成し、軌跡制御部36へ出力する。
 また、プログラム管理部35は、ロボット命令生成部34から入力されるロボット命令がブロックロボット命令である場合には、記憶部31に格納されているロボットプログラムに、入力されたブロックロボット命令を追加する。これにより記憶部31には、数値制御装置2から送信されるロボット指令信号に応じたロボットプログラムが生成されて記憶される。記憶されたロボットプログラムは、プログラム管理部35がロボット命令としてロボットプログラム起動指令を受けることにより、起動再生される。
 軌跡制御部36は、プログラム管理部35から動作計画が入力されると、ロボット30の制御点の時系列データを算出し、キネマティクス制御部37へ出力する。
 キネマティクス制御部37は、入力された時系列データに基づいて、逆運動学計算によりロボット30の各関節の目標角度を算出し、サーボ制御部40へ出力する。ここで、ロボット30の逆運動学計算とは、ロボット30の手先位置、姿勢から、各関節の角度を算出する計算する手法である。
 サーボ制御部40は、キネマティクス制御部37から入力される目標角度が実現するようにロボット30の各サーボモータをフィードバック制御することによってロボット30に対するロボット制御信号を生成し、ロボット30のサーボモータへ入力する。
 また、本実施形態のサーボ制御部40は、上述の逆動力学計算部39により計算されたトルクを反映したロボット制御信号を生成する。これにより、更新された負荷設定に基づいたロボット30の制御が可能となっている。
 次に、以上のように構成された数値制御システム1における各種信号や情報の流れについて、図6及び図7を参照しながら説明する。具体的には、ワークに応じて設定された負荷設定への切り替えの流れについて説明する。
 図6は、ロボット用数値制御プログラムを示す図である。図7は、本実施形態に係る数値制御装置2とロボット制御装置3との間の信号や情報の流れを示すシーケンス図である。
 先ず、最初はロボット30の位置が不明であるため、“G68.8”が入力され、キネマティクスを考慮する必要が無い各軸座標系が選択される。“G7.3 J1=_J2=_J3=_J4=_J5=_J6=_”が指令されると、ロボット制御装置3は各軸座標系上の指定位置にロボット30を位置決めする。なお、コマンド中のアンダーバーの部分には、ロボット30の指定位置の座標値が入力される。
 次いで、“G68.9”が指令され、直交座標系が選択される。“G01 X_Y_Z_A_B_C_P_”が指令されると、ロボット制御装置3は直交座標系上の指定位置(ワーク位置)へロボット30を直線移動させ、位置決めする。なお、コマンド中のアンダーバーの部分には、ロボット30の指定位置の座標値が入力される。
 次いで、“M100”が指令され、ロボット制御装置3はロボット30のハンドを閉じることでワーク1を把持させる。その後、上述したGコード“G100”が指令されることにより、負荷情報記憶部21に予め記憶されていた、把持したワーク1に対応した負荷設定1が選択される。選択された負荷設定1はロボット制御装置3側に送信され、負荷設定更新制御部38により、それまで設定されていた負荷設定から新しく通知された負荷設定1に更新される。そして、更新された負荷設定1を元に逆動力学計算部39により逆動力学計算され、計算された入力トルクを反映したロボット制御指令に従ってロボット30が制御される。
 次に、負荷設定1から負荷設定2への切り替えが実行される。先ず、“G68.8”が指令され、各軸座標系が選択される。“G7.3 J1=_J2=_J3=_J4=_J5=_J6=_”が指令されると、ロボット制御装置3は各軸座標系上の指定位置にロボット30を位置決めする。
 次いで、“G68.9”が指令され、直交座標系が選択される。“G01 X_Y_Z_A_B_C_P_”が指令されると、ロボット制御装置3は直交座標系上の指定位置(ワーク位置)へロボット30を直線移動させ、位置決めする。
 次いで、“M100”が指令され、ロボット制御装置3はロボット30のハンドを閉じることでワーク2を把持させる。その後、“G101”が指令されることにより、負荷情報記憶部21に予め記憶されていた、把持したワーク2に対応した負荷設定2が選択される。選択された負荷設定2はロボット制御装置3側に送信され、負荷設定更新制御部38により、それまで設定されていた負荷設定1から新しく通知された負荷設定2に更新される。そして、更新された負荷設定2を元に逆動力学計算部39により逆動力学計算され、計算された入力トルクを反映したロボット制御指令に従ってロボット30が制御される。
 以上のようにして、本実施形態に係る数値制御システム1では、数値制御装置2側からの数値制御指令により、ワークに応じたロボット30の負荷設定の切り替えが可能となっている。
 次に、加工前後のワークに応じて設定された負荷設定への切り替えの流れについて、図8を参照しながら説明する。
 図8は、工作機械用数値制御プログラム及びロボット用数値制御プログラムを示す図である。図8では、左側に工作機械用数値制御プログラムを示し、該工作機械用数値制御プログラムに対応したロボット用数値制御プログラムを右側に並べて示している。
 先ず、ロボット用数値制御プログラムにおいて、“G68.9”、“G01 X_Y_Z_A_B_C_P_”、“M101”、及び“G101”が順次指令されることにより、ロボット制御装置3は、直交座標系上の指定位置(ワーク位置)へロボット30を直線移動させて位置決めした後、ロボット30のハンドを閉じることでワーク1を把持させ、ロボット30の負荷設定が負荷設定2(加工前のワーク1)に切り替えられる。
 次いで、ロボット用数値制御プログラムにおいて、“M200(ドア開)”、“G01 X_Y_Z_A_B_C_P_;(侵入)”、“G01 X_Y_Z_A_B_C_P_;(チャック前位置)”、“M210(チャック開)”、“G01 X_Y_Z_A_B_C_P_;(チャック位置)”、“M211(チャック閉)”、“M100(ハンド開)”、及び“G100”が順次指令されることにより、工作機械20へのワーク1のロードを行い、ロード後はロボット30の負荷設定が負荷設定1(負荷無し)に切り替えられる。
 その後、ロボット用数値制御プログラムにおいて、“G01 X_Y_Z_A_B_C_P_;(機外へ退避)”、及び“M201(ドア閉)”が順次入力され、ロボット30を工作機械20の外に退避させる。このとき、工作機械用数値制御プログラムでは“M300”が指令され、ロボット30によるロード完了の待ち合わせが行われており、ロボット用数値制御プログラムにおいても、“M300”が指令され、工作機械20との待ち合わせが行われる。
 次いで、工作機械用数値制御プログラムにおいて、“G00 X_Y_Z_”、“S1000”、及び“G01 X_Y_Z_F4000”が順次指令され、ロードされたワーク1の加工が行われる。加工完了後、“G00 X_Y_Z_”、“M301”、“M302”、及び“M30”が順次指令され、ロボット進入用位置へ軸を退避させ、ロボット30との待ち合わせ及びアンロード完了の待ち合わせを行い、プログラムを終了する。
 一方、ロボット用数値制御プログラムにおいても、“M301”が指令され、加工完了の待ち合わせが行われる。加工完了後、“M200(ドア開)”、“G01 X_Y_Z_A_B_C_P_;(侵入)”、“G01 X_Y_Z_A_B_C_P_;(チャック位置)”、“M101(ハンド閉)”、及び“G102”が順次指令されることにより、加工後のワーク1のアンロードが行われ、ロボット30の負荷設定が負荷設定3(加工後ワーク1)に切り替えられる。その後、“M210(チャック開)”、“G01 X_Y_Z_A_B_C_P_;(機外へ退避)”、“M201(ドア閉)”、“M302”、及び“M30”が順次指令され、プログラムを終了する。
 以上のようにして、本実施形態に係る数値制御システム1では、数値制御装置2側からの数値制御指令により、加工前後のワークに応じたロボット30の負荷設定の切り替えも可能となっている。
 本実施形態によれば、以下の効果が奏される。
 本実施形態に係る数値制御装置2は、解析部23で解析されたロボット用数値制御指令に応じて、複数の負荷情報の中からロボット30に設定する負荷設定を選択する負荷設定選択部24を備える構成とした。また、本実施形態に係る数値制御装置2は、負荷設定選択部24で選択された負荷設定を、ロボット指令信号生成部25を介してロボット制御装置3の負荷設定更新制御部38へ送信することにより、ロボット30に入力するトルクの逆動力学計算に反映させるデータ送受信部26を備える構成とした。
 これにより、数値制御プログラムからロボット30の負荷設定を動的に変更できるため、数値制御装置2からロボット30の負荷設定を自動的に切り替えることができる。そのため、工作機械20のプログラム運転中にワークが変更された場合であっても、数値制御装置2からロボット30の負荷設定を自動的に切り替えることができ、ロボット30の動作サイクルタイムを最小化することができる。
 また本実施形態に係る数値制御装置2では、負荷設定を、負荷の重量、負荷の重心位置、及び負荷のイナーシャを含む負荷情報により設定する構成とした。また、負荷設定を、ワークに応じて設定することができ、加工前後のワークに応じて設定することもできる構成とした。これにより、より最適な負荷設定が可能となり、ロボット30の動作サイクルタイムをより確実に最小化することができる。
 また、上述のような数値制御装置2を備える本実施形態に係る数値制御システム1によれば、上述の効果と同様の効果が奏される。
 なお、本開示は、上記実施形態に限定されるものではなく、種々の変更及び変形が可能である。
 例えば、上記実施形態では、負荷の重量、負荷の重心位置及び負荷のイナーシャ等の負荷情報を記憶する負荷情報記憶部21を数値制御装置内に設けたが、これに限定されない。これら負荷情報を記憶する負荷情報記憶部を、ロボット制御装置3や外部装置等に設けてもよい。
 1 数値制御システム
 2 数値制御装置
 3 ロボット制御装置
 20 工作機械
 21 負荷情報記憶部
 22 プログラム入力部
 23 解析部
 24 負荷設定選択部
 25 ロボット指令信号生成部
 26 データ送受信部(送信部)
 30 ロボット
 31 記憶部
 32 データ送受信部(受信部)
 33 解析部
 34 ロボット命令生成部
 35 プログラム管理部
 36 軌跡制御部
 37 キネマティクス制御部
 38 負荷設定更新制御部
 39 逆動力学計算部
 40 サーボ制御部

Claims (5)

  1.  数値制御プログラム中のロボット用数値制御指令を解析する解析部と、
     前記解析部で解析された前記ロボット用数値制御指令に応じて、ロボット制御装置へ送信するロボット指令信号を生成するロボット指令信号生成部と、
     前記解析部で解析された前記ロボット用数値制御指令に応じて、複数の負荷情報の中からロボットに設定する負荷設定を選択する負荷設定選択部と、
     前記負荷設定選択部で選択された負荷設定を、前記ロボット指令信号生成部を介して前記ロボット制御装置の負荷設定更新制御部へ送信することにより、前記ロボットに入力するトルクの逆動力学計算に反映させる送信部と、を備える、数値制御装置。
  2.  前記負荷設定は、負荷の重量、負荷の重心位置、及び負荷のイナーシャを含む負荷情報により設定される、請求項1に記載の数値制御装置。
  3.  前記負荷設定は、ワークに応じて設定される、請求項1又は2に記載の数値制御装置。
  4.  前記負荷設定は、加工前後のワークに応じて設定される、請求項1から3いずれかに記載の数値制御装置。
  5.  請求項1から4いずれかに記載の数値制御装置と、ロボット制御装置と、を備え、
     前記ロボット制御装置は、
     前記負荷設定選択部で選択されて前記送信部から送信された前記負荷設定を受信する受信部と、
     前記受信部で受信された前記負荷設定に更新する負荷設定更新制御部と、
     前記負荷設定更新制御部で更新された負荷設定に基づいて、逆動力学計算により前記ロボットに入力するトルクを計算する逆動力学計算部と、を備える、数値制御システム。
PCT/JP2021/016413 2021-04-23 2021-04-23 数値制御装置及び数値制御システム WO2022224425A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202180097134.8A CN117157596A (zh) 2021-04-23 2021-04-23 数值控制装置及数值控制系统
PCT/JP2021/016413 WO2022224425A1 (ja) 2021-04-23 2021-04-23 数値制御装置及び数値制御システム
DE112021007017.7T DE112021007017T5 (de) 2021-04-23 2021-04-23 Numerik-Steuervorrichtung und Numerik-Steuersystem
JP2023515988A JPWO2022224425A1 (ja) 2021-04-23 2021-04-23
TW111114098A TW202244643A (zh) 2021-04-23 2022-04-13 數值控制裝置及數值控制系統

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/016413 WO2022224425A1 (ja) 2021-04-23 2021-04-23 数値制御装置及び数値制御システム

Publications (1)

Publication Number Publication Date
WO2022224425A1 true WO2022224425A1 (ja) 2022-10-27

Family

ID=83722106

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/016413 WO2022224425A1 (ja) 2021-04-23 2021-04-23 数値制御装置及び数値制御システム

Country Status (5)

Country Link
JP (1) JPWO2022224425A1 (ja)
CN (1) CN117157596A (ja)
DE (1) DE112021007017T5 (ja)
TW (1) TW202244643A (ja)
WO (1) WO2022224425A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7260728B1 (ja) * 2022-11-07 2023-04-18 ファナック株式会社 数値制御装置及び数値制御システム
JP7260727B1 (ja) * 2022-11-07 2023-04-18 ファナック株式会社 数値制御装置及び数値制御システム
JP7288158B1 (ja) 2022-11-07 2023-06-06 ファナック株式会社 数値制御装置
JP7288157B1 (ja) 2022-11-07 2023-06-06 ファナック株式会社 数値制御装置及び数値制御システム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006263916A (ja) * 2001-05-08 2006-10-05 Mitsubishi Electric Corp ロボット制御装置
JP2017213631A (ja) * 2016-05-31 2017-12-07 株式会社デンソーアイティーラボラトリ ロボットアーム制御装置、ロボットアーム制御方法、およびプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3324298B2 (ja) 1994-10-19 2002-09-17 株式会社豊田中央研究所 マニピュレータの制御装置
JP5752179B2 (ja) 2013-06-11 2015-07-22 ファナック株式会社 工作機械とロボットを制御する制御装置
JP6237039B2 (ja) 2013-09-20 2017-11-29 株式会社デンソーウェーブ ロボット制御装置およびロボット制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006263916A (ja) * 2001-05-08 2006-10-05 Mitsubishi Electric Corp ロボット制御装置
JP2017213631A (ja) * 2016-05-31 2017-12-07 株式会社デンソーアイティーラボラトリ ロボットアーム制御装置、ロボットアーム制御方法、およびプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7260728B1 (ja) * 2022-11-07 2023-04-18 ファナック株式会社 数値制御装置及び数値制御システム
JP7260727B1 (ja) * 2022-11-07 2023-04-18 ファナック株式会社 数値制御装置及び数値制御システム
JP7288158B1 (ja) 2022-11-07 2023-06-06 ファナック株式会社 数値制御装置
JP7288157B1 (ja) 2022-11-07 2023-06-06 ファナック株式会社 数値制御装置及び数値制御システム

Also Published As

Publication number Publication date
TW202244643A (zh) 2022-11-16
DE112021007017T5 (de) 2023-12-14
JPWO2022224425A1 (ja) 2022-10-27
CN117157596A (zh) 2023-12-01

Similar Documents

Publication Publication Date Title
WO2022224425A1 (ja) 数値制御装置及び数値制御システム
CN102216037B (zh) 用于优化工业机器人的编程移动路径的方法和装置
JPWO2020144772A1 (ja) 数値制御装置および数値制御方法
JPS59218513A (ja) 工業用ロボツトの円弧制御法
JP7022260B1 (ja) 数値制御システム
WO2022034848A1 (ja) 数値制御システム及びロボット制御方法
US20210260750A1 (en) Method to Modify a Program for Robotic Welding
US20230415341A1 (en) Numerical control device and numerical control system
WO2022186255A1 (ja) 指令生成装置及びコンピュータプログラム
WO2022131173A1 (ja) 数値制御システム及び産業機械の制御方法
WO2022004647A1 (ja) 数値制御システム
WO2022004651A1 (ja) 数値制御システム
WO2022191057A1 (ja) 動作経路生成装置、数値制御装置、数値制御システム、及びコンピュータプログラム
WO2022176818A1 (ja) ロボット制御装置、ロボット制御システム、及びコンピュータプログラム
WO2022131327A1 (ja) 数値制御装置及び数値制御システム
JP7260728B1 (ja) 数値制御装置及び数値制御システム
JP7448736B1 (ja) 数値制御装置及び数値制御システム
WO2023203617A1 (ja) ロボット制御装置、数値制御システム及び数値制御方法
JP7311732B1 (ja) 数値制御装置及び数値制御システム
WO2022163743A1 (ja) 数値制御装置、及び数値制御システム
JP7288158B1 (ja) 数値制御装置
WO2024042679A1 (ja) 数値制御装置及び数値制御システム
WO2023112342A1 (ja) 教示装置、制御装置、及び機械システム
CN117957503A (en) Numerical control system and robot control device
JPS63233406A (ja) ロボツトの姿勢制御装置

Legal Events

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

Ref document number: 21937917

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023515988

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 112021007017

Country of ref document: DE