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

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

Info

Publication number
WO2024100718A1
WO2024100718A1 PCT/JP2022/041386 JP2022041386W WO2024100718A1 WO 2024100718 A1 WO2024100718 A1 WO 2024100718A1 JP 2022041386 W JP2022041386 W JP 2022041386W WO 2024100718 A1 WO2024100718 A1 WO 2024100718A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
load
control device
numerical control
setting
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.)
Ceased
Application number
PCT/JP2022/041386
Other languages
English (en)
French (fr)
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
Priority to DE112022007698.4T priority Critical patent/DE112022007698T5/de
Priority to CN202280101462.5A priority patent/CN120129877A/zh
Priority to JP2023504082A priority patent/JP7288157B1/ja
Priority to PCT/JP2022/041386 priority patent/WO2024100718A1/ja
Priority to TW112139550A priority patent/TW202419995A/zh
Publication of WO2024100718A1 publication Critical patent/WO2024100718A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1674Program controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39082Collision, real time collision avoidance
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40201Detect contact, collision with human
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40202Human robot coexistence

Definitions

  • This disclosure relates to a numerical control device and a numerical control system.
  • One aspect of the present disclosure is a numerical control device that controls a robot via a robot control device using a numerical control program, the numerical control device comprising: an analysis unit that analyzes a robot control command in the numerical control program; a load switching distance setting unit that generates a signal for setting a load switching distance required for switching the load setting of the robot in accordance with the robot control command analyzed by the analysis unit; a load setting selection unit that generates a signal for selecting a load setting of the robot in accordance with the robot control command analyzed by the analysis unit; and a robot command signal generation unit that generates a robot command signal including a signal for setting the load switching distance and a signal for selecting a load setting of the robot in accordance with the robot control command analyzed by the analysis unit and transmits the robot command signal to the robot control device, and after switching the load setting, the robot control device prohibits a contact stop operation in which the robot stops the operation of the robot in response to an external contact force while the robot is moving within the load switching distance.
  • One aspect of the present disclosure is a numerical control system that controls a robot via a robot control device using a numerical control program of a numerical control device, the numerical control device including an analysis unit that analyzes a robot control command in the numerical control program, a load switching distance setting unit that generates a signal for setting a load switching distance required for switching the load setting of the robot in accordance with the robot control command analyzed by the analysis unit, a load setting selection unit that generates a signal for selecting a load setting of the robot in accordance with the robot control command analyzed by the analysis unit, and a robot control unit including a signal for setting the load switching distance and a signal for selecting a load setting of the robot in accordance with the robot control command analyzed by the analysis unit.
  • a robot control device includes a robot command signal generation unit that generates a command signal and transmits the robot command signal to the robot control device.
  • the robot control device includes a robot load setting selection unit that switches the load setting based on the robot command signal, a dynamics control unit that performs inverse dynamics calculations of the robot according to the load setting based on the robot command signal, a robot load switching distance setting unit that sets the load switching distance based on the robot command signal, and a contact control unit that prohibits a contact stop operation in which the robot stops the operation of the robot in response to an external contact force while the robot is moving within the load switching distance after the load setting is switched in response to the notification of the load setting.
  • One aspect of the present disclosure is a numerical control device that controls a robot via a robot control device using a numerical control program, the numerical control device comprising: an analysis unit that analyzes a robot control command in the numerical control program; a prohibition signal output unit that generates a contact stop operation prohibition signal for prohibiting a contact stop operation of the robot in response to the robot control command analyzed by the analysis unit; a load setting selection unit that generates a signal for selecting a load setting for the robot in response to the robot control command analyzed by the analysis unit; and a robot command signal generation unit that generates a robot command signal including the contact stop operation prohibition signal and a signal for selecting a load setting for the robot in response to the robot control command analyzed by the analysis unit and transmits the robot command signal to the robot control device, and after switching the load setting, the robot control device prohibits a contact stop operation in which the robot stops operation of the robot in response to an external contact force in response to the contact stop operation prohibition signal.
  • One aspect of the present disclosure is a numerical control system that controls a robot via a robot control device using a numerical control program of a numerical control device, the numerical control device including an analysis unit that analyzes a robot control command in the numerical control program, a prohibition signal output unit that generates a contact stop operation prohibition signal for prohibiting a contact stop operation of the robot in response to the robot control command analyzed by the analysis unit, a load setting selection unit that generates a signal for selecting a load setting for the robot in response to the robot control command analyzed by the analysis unit, and a load setting selection unit that generates a signal for selecting a load setting for the robot in response to the robot control command analyzed by the analysis unit.
  • a numerical control system that includes a robot command signal generation unit that generates a robot command signal including a signal for selecting a load setting and transmits the robot command signal to the robot control device.
  • the robot control device includes a robot load setting selection unit that switches the load setting based on the robot command signal, a dynamics control unit that performs an inverse dynamics calculation of the robot according to the load setting based on the robot command signal, and a contact control unit that prohibits a contact stop operation in which the robot stops operation in response to an external contact force in response to the contact stop operation prohibition signal after the load setting is switched in response to the notification of the load setting.
  • FIG. 1 is a block diagram showing a configuration of a numerical control system according to an embodiment of the present invention
  • 1 is a functional block diagram of a numerical control device and a robot control device according to a first embodiment.
  • FIG. FIG. 4 is a diagram illustrating an example of load information.
  • FIG. 4 is a diagram showing load information of group 1 displayed when group 1 in FIG. 3 is selected.
  • FIG. 13 is a diagram illustrating an example of setting an operating area of a collaborative robot.
  • FIG. 4 is a diagram showing an example of a numerical control program according to the first embodiment.
  • 7 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. 6 is executed.
  • FIG. 11 is a functional block diagram of a numerical control device and a robot control device according to a second embodiment.
  • FIG. 11 is a diagram showing an example of a numerical control program according to the second embodiment.
  • 10 is a sequence diagram showing the flow of signals and information between a numerical control device and a robot control device when the numerical control program shown in FIG. 9 is executed.
  • Figure 1 is a schematic diagram of a numerical control system 1 according to this embodiment.
  • the numerical control system 1 comprises a machine tool 2 that processes a workpiece (not shown), a numerical control device (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 controls the operation of the machine tool 2 and the collaborative robot 3 in a coordinated manner by using the numerical control device 4 and the robot control device 5 that are connected to each other so that they can communicate with each other.
  • the machine tool 2 processes a workpiece (not shown) in response to a machine tool control signal sent from the numerical control device 4.
  • the machine tool 2 is, for example, a lathe, a drill press, a milling machine, a grinding machine, a laser processing machine, an injection molding machine, etc., but is not limited to these.
  • the collaborative robot 3 operates under the control of the robot control device 5, and performs a predetermined task on a workpiece being machined by, for example, the machine tool 2.
  • the collaborative robot 3 is, for example, a multi-joint robot, and a tool 3b for gripping, machining, and inspecting the workpiece is attached to the arm tip 3a.
  • the collaborative robot 3 will be described as a six-axis multi-joint robot, but this is not limited to this.
  • the collaborative robot 3 will be described as a six-axis multi-joint robot, but the number of axes is not limited to this.
  • the collaborative robot 3 has functions such as a contact stop function, an escape mode function, and an inversion operation function, and can work safely in collaboration with humans.
  • the contact stop function is a function that immediately stops the collaborative robot 3 when it comes into contact with a human with a light force (for example, 10 to 20 N (i.e., 1 to 2 kgf)).
  • the escape mode function is a function that allows the arm of the collaborative robot 3 to escape on each axis by the human pushing the arm.
  • the inversion operation function is a function that reduces pinching by instantly inverting the arm when the collaborative robot 3 comes into contact with a hard object.
  • the collaborative robot 3 is equipped with an external force detection sensor to detect external forces such as contact with a human.
  • the external force detection sensor is, for example, a torque sensor or a force sensor. That is, the collaborative robot 3 detects contact with a human using 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. This allows the collaborative robot 3 to work safely in collaboration with humans.
  • the numerical control device 4 and the robot control device 5 are computers that are each composed of hardware such as a calculation processing means such as a CPU (Central Processing Unit), auxiliary storage means such as an HDD (Hard Disk Drive) or SSD (Solid State Drive) that stores various computer programs, a main storage means such as a RAM (Random Access Memory) for storing data temporarily required for the calculation processing means to execute the computer programs, an operation means such as a keyboard that allows the operator to perform various operations, and a display means such as a display that displays various information to the operator.
  • the numerical control device 4 and the robot control device 5 are capable of sending and receiving various signals to each other, for example, via Ethernet (registered trademark).
  • Fig. 2 is a functional block diagram of the numerical control device 4 and the robot control device 5 according to the first embodiment. First, a detailed configuration of the numerical control device 4 will be described. As shown in Fig. 2, the numerical control device 4 realizes various functions such as a function to control the operation of the machine tool 2 and a function to generate a motion path of the control axis of the collaborative robot 3, by using the above hardware configuration.
  • the numerical control device 4 uses a numerical control program to control the collaborative robot 3 via the robot control device 5. That is, the numerical control device 4 generates various commands for controlling the operation of the collaborative robot 3 and the tool 3b according to the numerical control program for the robot, and transmits them to the robot control device 5. More specifically, the numerical control device 4 includes a program input unit 41, an analysis unit 42, an operation control unit 43, a memory unit 44, a robot command signal generation unit 45, a load switching distance setting unit 46, a load setting selection unit 47, and a data transmission/reception unit 48.
  • the program input unit 41 reads out a numerical control program for a robot, which is composed of multiple robot command blocks, from the memory unit 44 and inputs it sequentially to the analysis unit 42.
  • 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 operation control unit 43 and the 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 operation 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.
  • a robot control command hereinafter also referred to as a robot control command
  • the operation control unit 43 generates a machine tool control signal for controlling the operation of the machine tool 2 according to the analysis results sent from the analysis unit 42, and inputs the signal to the actuators that drive the various axes of the machine tool 2.
  • the machine tool 2 operates according to the machine tool control signal input from the operation control unit 43, and machines a workpiece (not shown).
  • the memory unit 44 stores, for example, a plurality of numerical control programs created based on operations by an operator. More specifically, the memory unit 44 stores numerical control programs that are composed of a plurality of command blocks for the machine tool 2 for controlling the operation of the machine tool 2, a plurality of command blocks for the collaborative robot 3 for controlling the operation of the collaborative robot 3, and the like.
  • the numerical control programs stored in the memory unit 44 are written in a known programming language for controlling the operation of the machine tool 2, such as G-code or M-code.
  • the memory unit 44 also stores, for example, machine coordinate values indicating the positions of various axes of the machine tool 2 operating under the above-mentioned numerical control program (i.e., the positions of the tool rest, table, etc. of the machine tool 2). These machine coordinate values are defined under a machine tool coordinate system that has as its origin a reference point determined at an arbitrary position on the machine tool 2 or in the vicinity of the machine tool 2. The machine coordinate values, which change sequentially under the numerical control program, are successively updated by a process not shown in the figures so that the latest values are stored in the memory unit 44.
  • the memory unit 44 also stores, for example, robot coordinate values indicating the position and orientation of the control point (e.g., the arm tip 3a of the collaborative robot 3) of the collaborative robot 3 operating under the control of the robot control device 5, in other words, the position of each control axis of the collaborative robot 3.
  • these robot coordinate values are defined under a robot coordinate system that is different from the machine tool coordinate system.
  • the memory unit 44 is updated sequentially with the robot coordinate values obtained from the robot control device 5 by a process not shown in the figure so that the latest values of the robot coordinate values that change sequentially under the numerical control program are stored.
  • the memory unit 44 also stores teaching positions, such as the start point and end point of the collaborative robot 3, input by the operator. Specifically, the memory unit 44 stores teaching positions of the collaborative robot 3 input from a teach pendant or the like, teaching positions input from a keyboard or the like, etc.
  • the teaching positions of the collaborative robot 3 include robot coordinate values indicating the positions of each control axis of the collaborative robot 3, and these robot coordinate values are defined under a robot coordinate system that is different from the machine tool coordinate system.
  • the robot command signal generation unit 45 generates a robot command signal for each robot command block based on the analysis results for each robot command block input from the analysis unit 42, and writes the generated robot command signal to the data transmission/reception unit 48.
  • 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 writes the generated robot command signal to the data transmission/reception unit 48.
  • the load switching distance setting unit 46 generates a signal for setting the load switching distance required to switch the load setting of the collaborative robot 3 in response to the robot control command analyzed by the analysis unit 42, and transmits the generated signal to the robot command signal generation unit 45.
  • the load switching distance setting unit 46 when a load switching distance setting command is extracted from the robot control command analyzed by the analysis unit 42, the load switching distance setting unit 46 generates a signal for setting the load switching distance in accordance with the load switching distance setting command, and transmits the generated signal to the robot command signal generation unit 45. This allows the numerical control device 4 to notify the robot control device 5 of the load switching distance.
  • the load setting selection unit 47 generates a signal for selecting a load setting for the collaborative robot 3 in accordance with the robot control command analyzed by the analysis unit 42, and transmits the generated signal to the robot command signal generation unit 45.
  • the load setting selection unit 47 when a command to select a load setting is extracted from the robot control command analyzed by the analysis unit 42, the load setting selection unit 47 generates a signal for selecting a load setting for the collaborative robot 3 in response to the command to select a load setting, and transmits the generated signal to the robot command signal generation unit 45. This enables the numerical control device 4 to notify the robot control device 5 of a command to select a load setting.
  • the robot command signal generator 45 also writes a robot command signal including a signal for setting the load switching distance described above or a signal for selecting a load setting to the data transmitter/receiver 48.
  • the data transmission/reception unit 48 transmits and receives various data such as commands and robot coordinate values to and from the data transmission/reception unit 60 of the robot control device 5. Specifically, the data transmission/reception unit 48 transmits the robot command signal generated by the robot command signal generation unit 45 to the data transmission/reception unit 60 of the robot control device 5.
  • the data transmission/reception unit 48 transmits a robot command signal including a signal for setting the load switching distance and a signal for selecting the load setting of the collaborative robot 3 to the robot control device 5 in response to the robot control command analyzed by the analysis unit 42.
  • the above hardware configuration of the robot control device 5 realizes various functions such as a memory 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, a servo control unit 57, a load setting selection unit 58, a dynamics control unit 59, a data transmission/reception unit 60, a contact control unit 61, and a load switching distance setting unit 62.
  • the robot control device 5 controls the operation of the collaborative robot 3 based on commands sent from the numerical control device 4.
  • the memory unit 51 stores the robot program and various information for controlling the collaborative robot 3.
  • the memory unit 51 also stores the load setting of the collaborative robot 3. Note that in this embodiment, the memory unit 51 is provided in the robot control device 5, but the memory unit 51 may be provided in the numerical control device 4, or in an external electronic device or external server outside the numerical control device 4 and the robot control device 5.
  • the load setting of the collaborative robot 3 includes setting the operating area of the collaborative robot 3 where switching of the load setting is permitted, together with the load information.
  • the load information includes the load setting number, the load weight, the position of the center of gravity of the load, the inertia of the load, etc. This load information is input in advance by the operator and stored in the memory unit 51.
  • FIG. 3 is a diagram showing an example of load information.
  • the load information is displayed on the display screen of the display device of the numerical control device 4.
  • a group with a load weight of 50 kg is assigned multiple load setting numbers (No. 1 to 10).
  • FIG. 4 shows the load information for group 1 that is displayed when group 1 in FIG. 3 is selected.
  • the load information for group 1 stores the weight of the load, the position of the center of gravity of the load, and the inertia value of the load. In this way, the weight, the position of the center of gravity, and the inertia are associated with each load and stored in the memory unit 51.
  • FIG. 5 is a diagram showing an example of setting the operating area of the collaborative robot 3.
  • the robot control device 5 sets an operating area A1 of the collaborative robot 3 in which switching of the load setting is permitted.
  • the operating area A1 is set between position 1 and position 2 in FIG. 5.
  • the operating area A1 is set, for example, in the vicinity of the workpiece. This allows the robot control device 5 to switch the load setting of the collaborative robot 3 within the operating area A1.
  • the collaborative robot 3 will not stop if it comes into contact with the user after the load setting is switched. Therefore, it is preferable to set the operating area A1 at a position that does not affect the work of the collaborative robot 3 or the user, such as near the work.
  • the data transmission/reception unit 60 receives the robot command signal transmitted from the data transmission/reception unit 48 of the numerical control device 4.
  • the data transmission/reception unit 60 also outputs the received robot command signal to the analysis unit 52 in sequence.
  • 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.
  • the analysis unit 52 detects a signal for selecting a load setting for the collaborative robot 3 from the robot command signal, it notifies a load setting selection unit 58 (described below) of the load setting.
  • the analysis unit 52 detects a signal for setting a load switching distance from the robot command signal, it notifies a load switching distance setting unit 62 (described below) of the load switching distance.
  • 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 generation unit 53 outputs the generated robot command to the program management unit 54.
  • the program management unit 54 When the program management unit 54 receives a robot command from the robot command generation unit 53, it executes the robot commands sequentially to generate an operation plan for the collaborative robot 3 according to the robot command signal, and outputs the operation plan to the trajectory control unit 55.
  • the program management unit 54 adds the input block robot command to the robot program stored in the memory unit 51.
  • a robot program corresponding to the robot command signal sent from the numerical control device 4 is generated and stored in the memory unit 51.
  • the stored robot program is started and played when the program management unit 54 receives a robot program start command as a robot command.
  • the trajectory control unit 55 calculates time series data of the control points of the collaborative robot 3 and outputs it to the kinematics control unit 56.
  • the kinematics control unit 56 calculates the target angles of each joint of the collaborative robot 3 from the input time series data and inputs them to the servo control unit 57.
  • 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, and inputs the signal to the servo motor of the collaborative robot 3.
  • the servo control unit 57 also generates a robot control signal that reflects the torque calculated by the dynamics control unit 59, which will be described later. This enables the robot control device 5 to control the collaborative robot 3 based on the load setting.
  • the load setting selection unit 58 selects a load setting stored in the memory unit 51 in response to the robot command signal analyzed by the analysis unit 52, and notifies the dynamics control unit 59 of the selected load setting.
  • the dynamics control unit 59 calculates the torque to be input to the collaborative robot 3 by inverse dynamics calculation based on the load setting selected by the load setting selection unit 58.
  • the dynamics control unit 59 outputs the torque obtained by calculation to the servo control unit 57.
  • the inverse dynamics calculation of the collaborative robot 3 is a method of calculating the input torque to each motor to realize the desired motion (time series data of the position, speed, and acceleration of each joint) calculated in the motion trajectory plan of the collaborative robot 3, taking into account the hand load, gravity, and the weight of the collaborative robot 3.
  • Numerical calculation methods such as the calculated torque method and the Newton-Euler method have been disclosed as methods related to this type of inverse dynamics calculation (for example, JP 8-118275 A and JP 2015-58520 A).
  • the load switching distance setting unit 62 sets the load switching distance in the contact control unit 61.
  • the load switching distance of the collaborative robot 3 may be set according to at least one of the weight of the load and the inertia of the load.
  • the load switching distance may be set for each coordinate axis direction of each coordinate axis of the collaborative robot 3.
  • the contact control unit 61 controls the contact stop operation according to the result of external force detection by the external force detection sensor in the collaborative robot 3. After the load setting is switched by the load switching distance setting unit 62, the contact control unit 61 prohibits the contact stop operation while the collaborative robot 3 is moving within the load switching distance, i.e., until the collaborative robot 3 has completed moving the load switching distance.
  • the contact stop operation refers to the operation of the collaborative robot 3 to stop the operation of the collaborative robot 3 in response to an external contact force.
  • FIG. 6 is a diagram showing an example of a numerical control program according to the first embodiment.
  • FIG. 7 is a sequence diagram showing the flow of signals and information between the numerical control device 4 and the robot control device 5 when the numerical control program shown in FIG. 6 is executed.
  • the numerical control program shown in FIG. 6 includes commands to select a load setting and set a load setting switching distance, as described above.
  • the numerical control device 4 can notify the robot control device 5 of the center of gravity of the load, the position of the center of gravity of the load, and the inertia information of the load for load setting 1.
  • the robot control device 5 starts to calculate the torque to be input to the collaborative robot 3 by inverse dynamics calculation based on the notified load setting 1.
  • the load switching distance setting unit 46 generates a signal for setting the load switching distance in the + direction, and transmits the generated signal to the robot control device 5 via the robot command signal generating unit 45 and the data transmitting/receiving unit 48.
  • the robot control device 5 updates the load switching distance in the + direction, and prohibits (disables) the contact stop operation until the collaborative robot 3 moves 5.0 mm in the +Z direction.
  • the load switching distance setting unit 46 generates a signal for setting the load switching distance in the - direction, and transmits the generated signal to the robot control device 5 via the data transmission/reception unit 48.
  • the robot control device 5 updates the load switching distance in the - direction, and the collaborative robot 3 enables the contact stop operation in the - direction.
  • the robot control device 5 can disable the contact stop operation the next time the load setting is switched. Note that the robot control device 5 may disable the contact stop operation when the load setting is switched this time, rather than the next time.
  • the robot control device 5 moves the collaborative robot 3 in a straight line to the specified position on the Cartesian coordinate system, and the collaborative robot 3 lifts the workpiece.
  • the contact control unit 61 enables the contact stop operation.
  • the load switching distance setting unit 46 generates a signal for setting the load switching distance in the +X direction, and transmits the generated signal to the robot control device 5 via the robot command signal generating unit 45 and the data transmitting/receiving unit 48.
  • the robot control device 5 prohibits (disables) the contact stop operation until the collaborative robot 3 moves 5.0 mm in the +X direction.
  • the load switching distance setting unit 46 generates a signal for setting the load switching distance in the - direction, and transmits the generated signal to the robot control device 5 via the robot command signal generating unit 45 and the data transmitting/receiving unit 48.
  • the robot control device 5 updates the load switching distance in the - direction, and enables the contact stop operation in the - direction.
  • the robot control device 5 can disable the contact stop operation the next time the load setting is switched. Note that the robot control device 5 may disable the contact stop operation when the load setting is switched this time, rather than the next time.
  • the robot control device 5 moves the hand of the collaborative robot 3 in a straight line from the chuck position and retracts the hand of the collaborative robot 3 from the chuck position.
  • the contact control unit 61 enables the contact stop operation when the collaborative robot 3 moves outside the load switching distance.
  • "M30" is commanded and the numerical control program ends.
  • the numerical control device 4 includes an analysis unit 42 that analyzes the robot control command in the numerical control program, a load switching distance setting unit 46 that generates a signal for setting a load switching distance required for switching the load setting of the collaborative robot 3 in accordance with the robot control command analyzed by the analysis unit 42, a load setting selection unit 47 that generates a signal for selecting a load setting for the collaborative robot 3 in accordance with the robot control command analyzed by the analysis unit 42, and a robot command signal generation unit 45 that generates a robot command signal including a signal for setting the load switching distance and a signal for selecting a load setting for the collaborative robot 3 in accordance with the robot control command analyzed by the analysis unit 42, and transmits the robot command signal to the robot control device 5.
  • the robot control device 5 prohibits the collaborative robot 3 from performing a contact stop operation in which the collaborative robot 3 stops the operation of the collaborative robot 3 in response to an external contact force while the collaborative robot 3 is moving within the load switching distance.
  • the numerical control device 4 prevents the collaborative robot 3 from making a contact stop within the specified load switching distance after changing the load setting, thereby preventing erroneous contact stops when the collaborative robot 3 acts on a workpiece, such as when the collaborative robot 3 picks up or places a workpiece.
  • the load setting of the collaborative robot 3 also includes setting the operating area of the robot in which switching of the load setting is permitted, along with the load information.
  • the numerical control device 4 can suitably switch the load setting and set the load setting distance.
  • the load switching distance of the collaborative robot 3 may also be set according to at least one of the weight and inertia of the load.
  • the load switching distance of the collaborative robot 3 may also be set for each coordinate axis direction of each coordinate axis of the collaborative robot 3.
  • the numerical control device 4 can set a load setting distance suitable for the operation of the collaborative robot 3.
  • the numerical control device 4 includes an analysis unit 42 that analyzes the robot control command in the numerical control program, a load switching distance setting unit 46 that generates a signal for setting a load switching distance required for switching the load setting of the collaborative robot 3 according to the robot control command analyzed by the analysis unit 42, a load setting selection unit 47 that generates a signal for selecting a load setting of the collaborative robot 3 according to the robot control command analyzed by the analysis unit 42, and a robot command signal generation unit 45 that generates a robot command signal including a signal for setting the load switching distance and a signal for selecting the load setting of the collaborative robot 3 according to the robot control command analyzed by the analysis unit 42, and transmits the robot command signal to the robot control device 5.
  • an analysis unit 42 that analyzes the robot control command in the numerical control program
  • a load switching distance setting unit 46 that generates a signal for setting a load switching distance required for switching the load setting of the collaborative robot 3 according to the robot control command analyzed by the analysis unit 42
  • a load setting selection unit 47 that generates a
  • the robot control device 5 further includes a load setting selection unit 58 that switches the load setting based on the robot command signal, a dynamics control unit that performs an inverse dynamics calculation of the collaborative robot 3 according to the load setting based on the robot command signal, a load switching distance setting unit 62 that sets the load switching distance based on the robot command signal, and a contact control unit 61 that prohibits the collaborative robot 3 from performing a contact stop operation that stops the operation of the collaborative robot 3 in response to an external contact force while the collaborative robot 3 is moving within the load switching distance after the load setting is switched in response to the notification of the load setting.
  • a load setting selection unit 58 that switches the load setting based on the robot command signal
  • a dynamics control unit that performs an inverse dynamics calculation of the collaborative robot 3 according to the load setting based on the robot command signal
  • a load switching distance setting unit 62 that sets the load switching distance based on the robot command signal
  • a contact control unit 61 that prohibits the collaborative robot 3 from performing a contact stop operation that stops the operation of
  • the numerical control system 1 prevents the collaborative robot 3 from making a contact stop within the specified load switching distance after the load setting is changed, thereby preventing erroneous contact stops when the collaborative robot 3 acts on a workpiece, such as when the collaborative robot 3 picks up or places a workpiece.
  • [Second embodiment] 8 is a functional block diagram of a numerical control device 4 and a robot control device 5 according to the second embodiment.
  • the same components as those in the first embodiment are denoted by the same reference numerals, and the description thereof will be omitted or simplified.
  • the numerical control device 4 and the robot control device 5 of the second embodiment are mainly different from the first embodiment in that they include a prohibition signal output unit 49 and an operation switching unit 63, and other configurations are the same as those of the first embodiment shown in FIGS. 2 and 3.
  • the load setting selection unit 47 generates a signal for selecting a load setting for the collaborative robot 3 in accordance with the robot control command analyzed by the analysis unit 42, and transmits the generated signal to the robot command signal generation unit 45.
  • the load setting selection unit 47 when a command to select a load setting is extracted from the robot control command analyzed by the analysis unit 42, the load setting selection unit 47 generates a signal for selecting a load setting for the collaborative robot 3 in response to the command to select a load setting, and transmits the generated signal to the robot command signal generation unit 45. This enables the numerical control device 4 to notify the robot control device 5 of a command to select a load setting.
  • the prohibition signal output unit 49 generates a contact stop operation prohibition signal for prohibiting the contact stop operation of the collaborative robot 3 in response to the robot control command analyzed by the analysis unit 42, and transmits the generated contact stop operation prohibition signal to the robot command signal generation unit 45.
  • the prohibition signal output unit 49 when a command to enable the contact stop operation prohibition signal is extracted from the robot control command analyzed by the analysis unit 42, the prohibition signal output unit 49 generates a contact stop operation prohibition signal in response to the command to enable the contact stop operation prohibition signal, and transmits the generated contact stop operation prohibition signal to the robot command signal generation unit 45. This enables the numerical control device 4 to notify the robot control device 5 of a command to prohibit (disable) the contact stop operation.
  • the prohibition signal output unit 49 when a command to disable the contact stop operation prohibition signal is extracted from the robot control command analyzed by the analysis unit 42, the prohibition signal output unit 49 generates a signal to disable the contact stop operation prohibition signal in response to the command to disable the contact stop operation prohibition signal, and transmits the generated signal to the robot command signal generation unit 45. This allows the numerical control device 4 to notify the robot control device 5 of a command to enable the contact stop operation.
  • the robot command signal generating unit 45 generates a robot command signal for each robot command block based on the analysis results for each robot command block input from the analyzing unit 42, and writes the generated robot command signal to the data transmitting/receiving unit 48.
  • the robot command signal generating unit 45 also writes a robot command signal including a signal for selecting the load setting described above, a contact stop operation prohibition signal, or a signal for disabling the contact stop operation prohibition signal to the data transmitting/receiving unit 48.
  • the data transmission/reception unit 48 transmits to the robot control device 5 a robot command signal including a contact stop operation prohibition signal, a signal for disabling the contact stop operation prohibition signal, and a signal for selecting the load setting of the collaborative robot 3 in response to the robot control command analyzed by the analysis unit 42.
  • the operation switching unit 63 switches between enabling and disabling the contact stop operation in the contact control unit 61 according to the robot command signal analyzed by the analysis unit 52. Specifically, if a contact stop operation prohibition signal is extracted from the robot command signal, the operation switching unit 63 sets the contact stop operation to disabled after the next load setting is switched. Also, if a signal that disables (turns off) the contact stop operation prohibition signal is extracted from the robot command signal, the operation switching unit 63 sets the contact stop operation to enabled after the next load setting is switched.
  • the contact control unit 61 prohibits the collaborative robot 3 from performing a contact stop operation in which the collaborative robot 3 stops operating in response to an external contact force in response to a contact stop operation prohibition signal.
  • the contact control unit 61 sets the contact stop operation to disabled after the load setting is switched next time. Also, when the contact stop operation is enabled by the operation switching unit 63 in response to a signal that disables the contact stop operation prohibition signal, the contact control unit 61 sets the contact stop operation to enabled after the load setting is switched next time.
  • FIG. 9 is a diagram showing an example of a numerical control program according to the second embodiment.
  • FIG. 10 is a sequence diagram showing the flow of signals and information between the numerical control device 4 and the robot control device 5 when the numerical control program shown in FIG. 9 is executed.
  • the numerical control program shown in FIG. 9 includes commands to select a load setting and output a contact stop operation prohibition signal, as described above.
  • the numerical control device 4 can notify the robot control device 5 of the center of gravity of the load, the position of the center of gravity of the load, and the inertia information of the load for load setting 1.
  • the robot control device 5 starts to calculate the torque to be input to the collaborative robot 3 by inverse dynamics calculation based on the notified load setting 1.
  • the prohibition signal output unit 49 generates a contact stop operation prohibition signal for prohibiting the contact stop operation of the collaborative robot 3, and transmits the generated contact stop operation prohibition signal to the robot control device 5 via the robot command signal generation unit 45 and the data transmission/reception unit 48.
  • the robot control device 5 can disable the contact stop operation in response to the contact stop operation prohibition signal the next time the load setting is switched.
  • load setting 2 corresponding to the grasped workpiece, which has been stored in advance in memory unit 51, is selected.
  • the selected load setting 2 is updated by load setting selection unit 58 from load setting 1 that had been set up until then to the newly notified load setting 2.
  • dynamics control unit 59 calculates inverse dynamics based on the updated load setting 2, and collaborative robot 3 is controlled according to a robot control command that reflects the calculated input torque.
  • the contact control unit 61 since the contact control unit 61 has switched load setting 1 to load setting 2, it disables the contact stop operation of collaborative robot 3.
  • the robot control device 5 moves the collaborative robot 3 in a straight line to the specified position (work position) on the Cartesian coordinate system and lifts the work.
  • the prohibition signal output unit 49 generates a contact stop operation prohibition signal for prohibiting the contact stop operation of the collaborative robot 3, and transmits a signal for disabling (turning off) the generated contact stop operation prohibition signal to the robot control device 5 via the robot command signal generation unit 45 and the data transmission/reception unit 48. This allows the robot control device 5 to enable the contact stop operation in response to the signal for disabling the contact stop operation prohibition signal.
  • the prohibition signal output unit 49 generates a contact stop operation prohibition signal for prohibiting the contact stop operation of the collaborative robot 3, and transmits the generated contact stop operation prohibition signal to the robot control device 5 via the robot command signal generation unit 45 and the data transmission/reception unit 48.
  • the robot control device 5 can disable the contact stop operation in response to the contact stop operation prohibition signal the next time the load setting is switched.
  • load setting 1 corresponding to the grasped workpiece, which has been pre-stored in memory unit 51, is selected.
  • the selected load setting 2 is updated by load setting selection unit 58 from the already set load setting 2 to the newly notified load setting 1.
  • dynamics control unit 59 calculates inverse dynamics based on the updated load setting 1, and collaborative robot 3 is controlled according to the robot control command reflecting the calculated input torque.
  • the contact control unit 61 since the contact control unit 61 has switched load setting 2 to load setting 1, it disables the contact stop operation of collaborative robot 3.
  • the robot control device 5 moves the collaborative robot 3 in a straight line from the chuck position and moves the collaborative robot 3 away from the chuck position.
  • the numerical control device 4 includes an analysis unit 42 that analyzes the robot control command in the numerical control program, a prohibition signal output unit 49 that generates a contact stop operation prohibition signal for prohibiting the contact stop operation of the collaborative robot 3 in accordance with the robot control command analyzed by the analysis unit 42, a load setting selection unit 47 that generates a signal for selecting a load setting for the collaborative robot 3 in accordance with the robot control command analyzed by the analysis unit 42, and a robot command signal generation unit 45 that generates a robot command signal including the contact stop operation prohibition signal and a signal for selecting a load setting for the collaborative robot 3 in accordance with the robot control command analyzed by the analysis unit 42 and transmits the robot command signal to the robot control device 5, and after switching the load setting, the robot control device 5 prohibits a contact stop operation in which the robot command signal generation unit 45 stops the operation of the robot command signal generation unit 45 in accordance with an external contact force in response to the contact stop operation prohibition signal.
  • the numerical control device 4 prevents the collaborative robot 3 from making a contact stop within the specified load switching distance after changing the load setting, thereby preventing erroneous contact stops when the collaborative robot 3 acts on a workpiece, such as when the collaborative robot 3 picks up or places a workpiece.
  • the numerical control device 4 includes an analysis unit 42 that analyzes the robot control command in the numerical control program, a prohibition signal output unit 49 that generates a contact stop operation prohibition signal for prohibiting the contact stop operation of the collaborative robot 3 in accordance with the robot control command analyzed by the analysis unit 42, a load setting selection unit 47 that generates a signal for selecting a load setting for the collaborative robot 3 in accordance with the robot control command analyzed by the analysis unit 42, and a robot command signal generation unit 45 that generates a robot command signal including the contact stop operation prohibition signal and a signal for selecting a load setting for the collaborative robot 3 in accordance with the robot control command analyzed by the analysis unit 42, and transmits the robot command signal to the robot control device 5.
  • an analysis unit 42 that analyzes the robot control command in the numerical control program
  • a prohibition signal output unit 49 that generates a contact stop operation prohibition signal for prohibiting the contact stop operation of the collaborative robot 3 in accordance with the robot control command analyzed by the analysis unit 42
  • a load setting selection unit 47 that generates a
  • the robot control device 5 further includes a load setting selection unit 58 that switches the load setting based on the robot command signal, a dynamics control unit 59 that performs inverse dynamics calculations of the collaborative robot 3 according to the load setting based on the robot command signal, and a contact control unit 61 that prohibits a contact stop operation in which the collaborative robot 3 stops the operation of the collaborative robot 3 in response to an external contact force in response to a contact stop operation prohibition signal after the load setting has been switched based on the notification of the load setting.
  • a load setting selection unit 58 that switches the load setting based on the robot command signal
  • a dynamics control unit 59 that performs inverse dynamics calculations of the collaborative robot 3 according to the load setting based on the robot command signal
  • a contact control unit 61 that prohibits a contact stop operation in which the collaborative robot 3 stops the operation of the collaborative robot 3 in response to an external contact force in response to a contact stop operation prohibition signal after the load setting has been switched based on the notification of the load setting.
  • the numerical control system 1 prevents the collaborative robot 3 from making a contact stop within the specified load switching distance after the load setting is changed, thereby preventing erroneous contact stops when the collaborative robot 3 acts on a workpiece, such as when the collaborative robot 3 picks up or places a workpiece.
  • the above-mentioned numerical control system 1 can be realized by hardware, software, or a combination of these. Furthermore, the control method performed by the above-mentioned numerical control system 1 can also be realized by hardware, software, or a combination of these.
  • being realized by software means being realized by a computer reading and executing a program.
  • 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 disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R/Ws, and semiconductor memories (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, and RAMs (random access memory)).
  • a numerical control device (4) that controls a robot (3) via a robot control device (5) using a numerical control program, an analysis unit (42) that analyzes a robot control command in the numerical control program; a load switching distance setting unit (46) that generates a signal for setting a load switching distance required for switching a load setting of the robot in response to the robot control command analyzed by the analysis unit; a load setting selection unit (47) that generates a signal for selecting a load setting of the robot in response to the robot control command analyzed by the analysis unit; a robot command signal generation unit (45) that generates a robot command signal including a signal for setting the load switching distance and a signal for selecting a load setting for the robot in response to the robot control command analyzed by the analysis unit, and transmits the robot command signal to the robot control device; Equipped with After the load setting is switched, the robot control device (5) prohibits the robot from performing a contact stop operation in which the robot stops operation in response to an
  • Numerical control device (4) The numerical control device (4) according to appendix 1, wherein the load setting of the robot includes setting, together with the load information, an operating area of the robot in which switching of the load setting is permitted.
  • Appendix 3) The numerical control device (4) according to appendix 1, wherein a load switching distance of the robot is set according to at least one of a weight and an inertia of a load.
  • Appendix 4) The numerical control device (4) according to appendix 1, wherein a load switching distance of the robot is set for each coordinate axis direction of each coordinate axis of the robot.
  • Appendix 5 2. The numerical control device according to claim 1, wherein the robot is a collaborative robot that detects contact with a human and stops moving.
  • the numerical control device (4) comprises: an analysis unit (42) that analyzes a robot control command in the numerical control program; a load switching distance setting unit (46) that generates a signal for setting a load switching distance required for switching a load setting of the robot in response to the robot control command analyzed by the analysis unit; a load setting selection unit (47) that generates a signal for selecting a load setting of the robot in response to the robot control command analyzed by the analysis unit; a robot command signal generation unit (45) that generates a robot command signal including a signal for setting the load switching distance and a signal for selecting a load setting for the robot in response to the robot control command analyzed by the analysis unit, and transmits the robot command signal to the robot control device; Equipped with The robot control device (5) a robot side load setting selection unit (58) that switches the load setting based on the robot command signal; a dynamics control
  • Numerical control device (4) The numerical control device (4) described in Appendix 11, wherein the load setting of the robot includes setting, together with the load information, an operating area of the robot in which switching of the load setting is permitted.
  • Appendix 13 12. The numerical control device according to claim 11, wherein the robot is a collaborative robot that detects contact with a human and stops its operation.
  • the numerical control device (4) comprises: an analysis unit (42) that analyzes a robot control command in the numerical control program; a prohibition signal output unit (49) that generates a contact stop operation prohibition signal for prohibiting a contact stop operation of the robot in response to the robot control command analyzed by the analysis unit; a load setting selection unit (47) that generates a signal for selecting a load setting of the robot in response 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 contact stop operation prohibition signal and a signal for selecting a load setting of the robot in response to the robot control command analyzed by the analysis unit, and transmits the robot command signal to the robot control device; Equipped with The robot control device (5) a robot side load setting selection unit (58) that switches the load setting based on the robot command signal; a dynamics control unit (59) that performs

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

協働ロボットがワークに作用するときに誤った接触停止を防ぐことができる数値制御装置及び数値制御システムを提供する。数値制御プログラムを用いてロボット制御装置を介してロボットを制御する数値制御装置は、解析部と、前記解析部により解析した前記ロボット制御指令に応じて、負荷切替距離を設定するための信号を生成する負荷切替距離設定部と、前記ロボット制御指令に応じて、前記ロボットの負荷設定を選択するための信号を生成する負荷設定選択部と、前記ロボット制御指令に応じて、ロボット指令信号を生成し、前記ロボット指令信号を前記ロボット制御装置へ送信するロボット指令信号生成部と、を備え、前記負荷設定の切り替え後、前記ロボット制御装置は、前記ロボットが前記負荷切替距離内を移動している間、前記ロボットが外部からの接触力に応じて前記ロボットの動作を停止する接触停止動作を禁止させる。

Description

数値制御装置及び数値制御システム
 本開示は、数値制御装置及び数値制御システムに関する。
 従来、人との接触を検知して動作を停止する協働ロボットに関する技術が開示されている。例えば、協働ロボットの接触力を正確に計測するため、保持するワークの負荷情報を設定する技術が開示されている。
 また、加工現場を自動化するため、工作機械からロボットを操作するシステムに関する技術が開示されている。例えば、工作機械のユーザが慣れ親しんだ数値制御指令を用いてロボットの運転を行う技術が開示されている(例えば、特許文献1参照)。
特開2014-241018号公報
 協働ロボットがワークを取る又はワークを置くとき、協働ロボットに外力が掛かる。ワークに合わせた負荷設定を変更するタイミングと、実際のロボットがワークを取る又はワークを置くタイミングにはずれが生じる。そのため、負荷設定と実際の負荷との間にずれが生じ、ロボット制御装置は、正確な接触力を算出できず、接触状態であると誤判定することによって、協働ロボットの動作が停止する場合がある。
 また、数値制御プログラムによって協働ロボットにワークを取る及び置く動作を指令する際、負荷設定を変更するタイミングと協働ロボットの負荷状態とがずれると、協働ロボットは、正確な接触力を算出できない場合がある。
 よって、協働ロボットがワークに作用するときに誤った接触停止を防ぐことができる数値制御装置及び数値制御システムが望まれている。
 本開示の一態様は、数値制御プログラムを用いてロボット制御装置を介してロボットを制御する数値制御装置であって、前記数値制御プログラム中のロボット制御指令を解析する解析部と、前記解析部により解析した前記ロボット制御指令に応じて、前記ロボットの負荷設定の切替に必要な負荷切替距離を設定するための信号を生成する負荷切替距離設定部と、前記解析部により解析した前記ロボット制御指令に応じて、前記ロボットの負荷設定を選択するための信号を生成する負荷設定選択部と、前記解析部により解析した前記ロボット制御指令に応じて、前記負荷切替距離を設定するための信号及び前記ロボットの負荷設定を選択するための信号を含むロボット指令信号を生成し、前記ロボット指令信号を前記ロボット制御装置へ送信するロボット指令信号生成部と、を備え、前記負荷設定の切り替え後、前記ロボット制御装置は、前記ロボットが前記負荷切替距離内を移動している間、前記ロボットが外部からの接触力に応じて前記ロボットの動作を停止する接触停止動作を禁止させる、数値制御装置である。
 本開示の一態様は、数値制御装置の数値制御プログラムを用いてロボット制御装置を介してロボットを制御する数値制御システムであって、前記数値制御装置は、前記数値制御プログラム中のロボット制御指令を解析する解析部と、前記解析部により解析した前記ロボット制御指令に応じて、前記ロボットの負荷設定の切替に必要な負荷切替距離を設定するための信号を生成する負荷切替距離設定部と、前記解析部により解析した前記ロボット制御指令に応じて、前記ロボットの負荷設定を選択するための信号を生成する負荷設定選択部と、前記解析部により解析した前記ロボット制御指令に応じて、前記負荷切替距離を設定するための信号及び前記ロボットの負荷設定を選択するための信号を含むロボット指令信号を生成し、前記ロボット指令信号を前記ロボット制御装置へ送信するロボット指令信号生成部と、を備え、前記ロボット制御装置は、前記ロボット指令信号に基づいて、前記負荷設定を切り替えるロボット側負荷設定選択部と、前記ロボット指令信号に基づいて、前記負荷設定に応じて前記ロボットの逆動力学計算を行うダイナミクス制御部と、前記ロボット指令信号に基づいて、前記負荷切替距離を設定するロボット側負荷切替距離設定部と、前記負荷設定の通知による前記負荷設定の切替後、前記ロボットが前記負荷切替距離内を移動している間、前記ロボットが外部からの接触力に応じて前記ロボットの動作を停止する接触停止動作を禁止させる接触制御部と、を備える数値制御システムである。
 本開示の一態様は、数値制御プログラムを用いてロボット制御装置を介してロボットを制御する数値制御装置であって、前記数値制御プログラム中のロボット制御指令を解析する解析部と、前記解析部により解析した前記ロボット制御指令に応じて、前記ロボットの接触停止動作を禁止するための接触停止動作禁止信号を生成する禁止信号出力部と、前記解析部により解析した前記ロボット制御指令に応じて、前記ロボットの負荷設定を選択するための信号を生成する負荷設定選択部と、前記解析部により解析した前記ロボット制御指令に応じて、前記接触停止動作禁止信号及び前記ロボットの負荷設定を選択するための信号を含むロボット指令信号を生成し、前記ロボット指令信号を前記ロボット制御装置へ送信するロボット指令信号生成部と、を備え、前記負荷設定の切り替え後、前記ロボット制御装置は、前記接触停止動作禁止信号に応じて、前記ロボットが外部からの接触力に応じて前記ロボットの動作を停止する接触停止動作を禁止させる、数値制御装置である。
 本開示の一態様は、数値制御装置の数値制御プログラムを用いてロボット制御装置を介してロボットを制御する数値制御システムであって、前記数値制御装置は、前記数値制御プログラム中のロボット制御指令を解析する解析部と、前記解析部により解析した前記ロボット制御指令に応じて、前記ロボットの接触停止動作を禁止するための接触停止動作禁止信号を生成する禁止信号出力部と、前記解析部により解析した前記ロボット制御指令に応じて、前記ロボットの負荷設定を選択するための信号を生成する負荷設定選択部と、前記解析部により解析した前記ロボット制御指令に応じて、前記接触停止動作禁止信号及び前記ロボットの負荷設定を選択するための信号を含むロボット指令信号を生成し、前記ロボット指令信号を前記ロボット制御装置へ送信するロボット指令信号生成部と、を備え、前記ロボット制御装置は、前記ロボット指令信号に基づいて、前記負荷設定を切り替えるロボット側負荷設定選択部と、前記ロボット指令信号に基づいて、前記負荷設定に応じて前記ロボットの逆動力学計算を行うダイナミクス制御部と、前記負荷設定の通知による前記負荷設定の切替後、前記接触停止動作禁止信号に応じて、前記ロボットが外部からの接触力に応じて前記ロボットの動作を停止する接触停止動作を禁止させる接触制御部と、を備える数値制御システムである。
本実施形態に係る数値制御システムの構成を示すブロック図である。 第1実施形態に係る数値制御装置及びロボット制御装置の機能ブロック図である。 負荷情報の一例を示す図である。 図3中のグループ1を選択したときに表示されるグループ1の負荷情報を示す図である。 協働ロボットの動作領域を設定することの一例を示す図である。 第1実施形態に係る数値制御プログラムの例を示す図である。 図6に示される数値制御プログラムを実行した際における数値制御装置とロボット制御装置との間の信号及び情報の流れを示すシーケンス図である。 第2実施形態に係る数値制御装置及びロボット制御装置の機能ブロック図である。 第2実施形態に係る数値制御プログラムの例を示す図である。 図9に示される数値制御プログラムを実行した際における数値制御装置とロボット制御装置との間の信号及び情報の流れを示すシーケンス図である。
 以下、本開示の実施形態の一例について説明する。図1は、本実施形態に係る数値制御システム1の概略図である。
 数値制御システム1は、図示しないワークを加工する工作機械2と、この工作機械2の動作を制御する数値制御装置(CNC)4と、工作機械2の近傍に設けられた協働ロボット3と、協働ロボット3の動作を制御するロボット制御装置5と、を備える。数値制御システム1は、互いに通信可能に接続された数値制御装置4及びロボット制御装置5を用いることによって、工作機械2及び協働ロボット3の動作を連動して制御する。
 工作機械2は、数値制御装置4から送信される工作機械制御信号に応じて図示しないワークを加工する。ここで工作機械2は、例えば、旋盤、ボール盤、フライス盤、研削盤、レーザ加工機、及び射出成形機等であるが、これらに限らない。
 協働ロボット3は、ロボット制御装置5による制御下において動作し、例えば工作機械2によって加工されるワークに対し所定の作業を行う。協働ロボット3は、例えば多関節ロボットであり、そのアーム先端部3aにはワークを把持したり、加工したり、検査したりするためのツール3bが取り付けられている。以下では、協働ロボット3は、6軸の多関節ロボットとした場合について説明するが、これに限らない。また以下では、協働ロボット3は、6軸の多関節ロボットとした場合について説明するが、軸数はこれに限らない。
 協働ロボット3は、接触停止機能、退避モード機能、反転動作機能等のような機能を有し、人と協働で安全に作業することができる。接触停止機能は、人と軽い力(例えば、10から20N(すなわち、1から2kgf))で接触したとき、即座に停止する機能である。退避モード機能は、人が協働ロボット3のアームを押すことによってアームを各軸において退避可能な機能である。反転動作機能は、協働ロボット3が硬い物体と接触した場合、アームが即座に反転することによって、挟み込みを軽減する機能である。協働ロボット3は、人との接触等のような外力を検出するために、外力検出センサを備える。外力検出センサは、例えば、トルクセンサ、力センサ等である。すなわち、協働ロボット3は、外力検出センサによって人との接触を検知し、ロボット制御装置5は、外力検出センサによって検出された外力に応じて協働ロボット3の動作を停止する。これにより、協働ロボット3は、人と協働で安全に作業することができる。
 数値制御装置4及びロボット制御装置5は、それぞれCPU(Central Processing Unit)等の演算処理手段、各種コンピュータプログラムを格納したHDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶手段、演算処理手段がコンピュータプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった主記憶手段、オペレータが各種操作を行うキーボードといった操作手段、及びオペレータに各種情報を表示するディスプレイといった表示手段等のハードウェアによって構成されるコンピュータである。これら数値制御装置4及びロボット制御装置5は、例えばイーサネット(登録商標)によって相互に各種信号を送受信することが可能となっている。
 [第1実施形態]
 図2は、第1実施形態に係る数値制御装置4及びロボット制御装置5の機能ブロック図である。先ず、数値制御装置4の詳細な構成について説明する。図2に示すように数値制御装置4は、上記ハードウェア構成によって、工作機械2の動作を制御する機能、協働ロボット3の制御軸の動作経路を生成する機能等のような各種機能を実現する。
 数値制御装置4は、数値制御プログラムを用いてロボット制御装置5を介して協働ロボット3を制御する。すなわち、数値制御装置4は、ロボット用の数値制御プログラムに従って、協働ロボット3及びツール3bの動作を制御するための各種指令を生成し、ロボット制御装置5へ送信する。より具体的には、数値制御装置4は、プログラム入力部41と、解析部42と、動作制御部43と、記憶部44と、ロボット指令信号生成部45と、負荷切替距離設定部46と、負荷設定選択部47と、データ送受信部48と、を備える。
 プログラム入力部41は、複数のロボット指令ブロックによって構成されるロボット用の数値制御プログラムを記憶部44から読み出し、これを逐次解析部42へ入力する。
 解析部42は、プログラム入力部41から入力される数値制御プログラムに基づく指令種別を指令ブロックごとに解析し、その解析結果を動作制御部43及びロボット指令信号生成部45へ出力する。より具体的には、解析部42は、指令ブロックの指令種別が工作機械2に対する工作機械用数値制御指令である場合、この工作機械用数値制御指令を動作制御部43へ送信する。解析部42は、指令ブロックの指令種別が協働ロボット3に対するロボット用数値制御指令である場合、このロボット用数値制御指令(以下、ロボット制御指令ともいう)をロボット指令信号生成部45へ出力する。
 動作制御部43は、解析部42から送信される解析結果に応じて工作機械2の動作を制御するための工作機械制御信号を生成し、工作機械2の各種軸を駆動するアクチュエータへ入力する。工作機械2は、動作制御部43から入力される工作機械制御信号に応じて動作し、図示しないワークを加工する。
 記憶部44は、例えば、オペレータによる操作に基づいて作成された複数の数値制御プログラムを格納する。より具体的には、記憶部44は、工作機械2の動作を制御するための工作機械2に対する複数の指令ブロックや協働ロボット3の動作を制御するための協働ロボット3に対する複数の指令ブロック等によって構成される数値制御プログラムを格納する。記憶部44に格納されている数値制御プログラムは、GコードやMコード等、工作機械2の動作を制御するため既知のプログラム言語で記述されている。
 また、記憶部44は、例えば、上記数値制御プログラムの下で作動する工作機械2の各種軸の位置(すなわち、工作機械2の刃物台やテーブル等の位置)を示す機械座標値を格納する。なお、これら機械座標値は、工作機械2上又は工作機械2の近傍の任意の位置に定められた基準点を原点とする工作機械座標系の下で定義される。記憶部44には、数値制御プログラムの下で逐次変化する機械座標値の最新値が格納されるよう、図示しない処理によって逐次更新される。
 また、記憶部44は、例えば、ロボット制御装置5の制御下で作動する協働ロボット3の制御点(例えば、協働ロボット3のアーム先端部3a)の位置及び姿勢、換言すれば協働ロボット3の各制御軸の位置を示すロボット座標値が格納されている。なお、これらロボット座標値は、上述したように工作機械座標系とは異なるロボット座標系の下で定義される。記憶部44には、数値制御プログラムの下で逐次変化するロボット座標値の最新値が格納されるよう、図示しない処理によりロボット制御装置5から取得されたロボット座標値によって逐次更新される。
 また、記憶部44は、例えば、オペレータにより入力された協働ロボット3の始点及び終点といった教示位置を記憶する。具体的には、記憶部44は、ティーチペンダント等から入力された協働ロボット3の教示位置、キーボード等から入力された教示位置等を記憶する。協働ロボット3の教示位置には、協働ロボット3の各制御軸の位置を示すロボット座標値が含まれ、これらロボット座標値は、工作機械座標系とは異なるロボット座標系の下で定義される。
 ロボット指令信号生成部45は、解析部42から入力されるロボット指令ブロック毎の解析結果に基づいて、ロボット指令ブロック毎にロボット指令信号を生成し、生成したロボット指令信号をデータ送受信部48に書き込む。
 具体的には、ロボット指令信号生成部45は、解析部42から入力される解析結果としてのロボット用数値制御指令に基づいて、ロボット指令ブロック毎にロボット指令信号を生成し、生成したロボット指令信号をデータ送受信部48に書き込む。
 負荷切替距離設定部46は、解析部42により解析したロボット制御指令に応じて、協働ロボット3の負荷設定の切替に必要な負荷切替距離を設定するための信号を生成し、生成した信号をロボット指令信号生成部45に送信する。
 具体的には、負荷切替距離設定部46は、解析部42により解析したロボット制御指令から負荷切替距離設定指令が抽出されると、負荷切替距離設定指令に応じて、負荷切替距離を設定するための信号を生成し、生成した信号をロボット指令信号生成部45に送信する。これにより、数値制御装置4は、ロボット制御装置5へ負荷切替距離を通知することができる。
 負荷設定選択部47は、解析部42により解析したロボット制御指令に応じて、協働ロボット3の負荷設定を選択するための信号を生成し、生成した信号をロボット指令信号生成部45に送信する。
 具体的には、負荷設定選択部47は、解析部42により解析したロボット制御指令から負荷設定を選択する指令が抽出されると、負荷設定を選択する指令に応じて、協働ロボット3の負荷設定を選択するための信号を生成し、生成した信号をロボット指令信号生成部45に送信する。これにより、数値制御装置4は、ロボット制御装置5へ負荷設定を選択する指令を通知することができる。
 また、ロボット指令信号生成部45は、上述した負荷切替距離を設定するための信号、又は負荷設定を選択するための信号を含むロボット指令信号をデータ送受信部48に書き込む。
 データ送受信部48は、ロボット制御装置5のデータ送受信部60との間で指令及びロボット座標値等の各種データを送受信する。具体的には、データ送受信部48は、ロボット指令信号生成部45によって生成されたロボット指令信号をロボット制御装置5のデータ送受信部60へ送信する。
 また、データ送受信部48は、解析部42により解析したロボット制御指令に応じて、負荷切替距離を設定するための信号及び協働ロボット3の負荷設定を選択するための信号を含むロボット指令信号を、ロボット制御装置5へ送信する。
 次に、ロボット制御装置5の構成について詳細に説明する。図2に示すように、ロボット制御装置5には、上記ハードウェア構成によって、記憶部51、解析部52、ロボット命令生成部53、プログラム管理部54、軌跡制御部55、キネマティクス制御部56、サーボ制御部57、負荷設定選択部58、ダイナミクス制御部59、データ送受信部60、接触制御部61、及び負荷切替距離設定部62等の各種機能が実現される。ロボット制御装置5は、これらのような機能部を用いることによって、数値制御装置4から送信される指令に基づいて協働ロボット3の動作を制御する。
 記憶部51は、協働ロボット3を制御するためのロボットプログラム及び各種情報を記憶する。また、記憶部51は、協働ロボット3の負荷設定を記憶する。なお、本実施形態では、記憶部51は、ロボット制御装置5に設けられているが、記憶部51は、数値制御装置4に設けられてもよく、数値制御装置4及びロボット制御装置5の外部の電子機器や外部サーバー等に設けられてもよい。
 ここで、協働ロボット3の負荷設定は、負荷情報と共に、負荷設定の切替を許可する協働ロボット3の動作領域を設定することを含む。負荷情報は、負荷の設定番号、負荷の重量、負荷の重心位置、負荷のイナーシャ等を含む。これらの負荷情報は、オペレータにより予め入力され、記憶部51に記憶される。
 図3は、負荷情報の一例を示す図である。これらの負荷情報は、数値制御装置4の表示装置における表示画面に表示される。図3に示されるように、例えば負荷重量50kgのグループは、複数の負荷設定番号(No.1から10)を付与される。
 図4は、図3中のグループ1を選択したときに表示されるグループ1の負荷情報を示す図である。グループ1の負荷情報は、負荷の重量、負荷の重心位置及び負荷のイナーシャ値が記憶されている。このように、負荷ごとに重量、重心位置及びイナーシャが対応付けられて記憶部51に記憶されている。
 図5は、協働ロボット3の動作領域を設定することの一例を示す図である。図5に示されるように、ロボット制御装置5は、負荷設定の切替を許可する協働ロボット3の動作領域A1を設定する。動作領域A1は、図5における位置1から位置2の間に設定される。動作領域A1は、例えば、ワークの近傍に設定される。これにより、ロボット制御装置5は、動作領域A1内において、協働ロボット3の負荷設定を切り替えることができる。
 なお、動作領域A1は、ワークの近傍以外の位置に設定されると、負荷設定を切り替えた後に、協働ロボット3がユーザと接触した場合、協働ロボット3が停止動作を行わないため、動作領域A1は、ワークの近傍のような協働ロボット3及びユーザの作業に影響を与えない位置に設定されることが好ましい。
 図2に戻り、データ送受信部60は、数値制御装置4のデータ送受信部48から送信されるロボット指令信号を受信する。また、データ送受信部60は、受信したロボット指令信号を逐次、解析部52へ出力する。
 解析部52は、データ送受信部60から入力されるロボット指令信号を解析する。また、解析部52は、その解析結果をロボット命令生成部53へ出力する。
 また、解析部52は、ロボット指令信号から協働ロボット3の負荷設定を選択するための信号が検出されると、後述の負荷設定選択部58へ負荷設定を通知する。解析部52は、ロボット指令信号から負荷切替距離を設定するための信号が検出されると、後述の負荷切替距離設定部62へ負荷切替距離を通知する。
 ロボット命令生成部53は、解析部52から入力されるロボット指令信号の解析結果に基づいて、ロボット指令信号に応じたロボット命令を生成する。ロボット命令生成部53は、生成したロボット命令をプログラム管理部54へ出力する。
 プログラム管理部54は、ロボット命令生成部53からロボット命令が入力されると、ロボット命令を逐次実行することにより、上記ロボット指令信号に応じた協働ロボット3の動作計画を生成し、軌跡制御部55へ出力する。
 また、プログラム管理部54は、ロボット命令生成部53から入力されるロボット命令がブロックロボット命令である場合には、記憶部51に格納されているロボットプログラムに、入力されたブロックロボット命令を追加する。これにより記憶部51には、数値制御装置4から送信されるロボット指令信号に応じたロボットプログラムが生成されて記憶される。記憶されたロボットプログラムは、プログラム管理部54がロボット命令としてロボットプログラム起動指令を受けることにより、起動及び再生される。
 軌跡制御部55は、プログラム管理部54から動作計画が入力されると、協働ロボット3の制御点の時系列データを算出し、キネマティクス制御部56へ出力する。
 キネマティクス制御部56は、入力された時系列データから協働ロボット3の各関節の目標角度を算出し、サーボ制御部57へ入力する。
 サーボ制御部57は、キネマティクス制御部56から入力される目標角度が実現するように協働ロボット3の各サーボモータをフィードバック制御することによって協働ロボット3に対するロボット制御信号を生成し、協働ロボット3のサーボモータへ入力する。また、サーボ制御部57は、後述のダイナミクス制御部59により計算されたトルクを反映したロボット制御信号を生成する。これにより、ロボット制御装置5は、負荷設定に基づいて協働ロボット3を制御可能となっている。
 負荷設定選択部58は、解析部52により解析されたロボット指令信号に応じて、記憶部51に記憶された負荷設定を選択し、選択した負荷設定をダイナミクス制御部59へ通知する。
 ダイナミクス制御部59は、負荷設定選択部58により選択された負荷設定に基づいて、逆動力学計算により協働ロボット3に入力するトルクを計算する。ダイナミクス制御部59は、計算により取得したトルクを、サーボ制御部57へ出力する。
 ここで、協働ロボット3の逆動力学計算とは、協働ロボット3の動作軌跡計画で算出される望みの運動(各関節の位置、速度、加速度の時系列データ)に基づいて、協働ロボット3に加わる手先負荷や重力、自重を考慮し、そのような応答を実現するための各モータへの入力トルクを計算する手法である。このような逆動力学計算に関するものとして、例えば、計算トルク法やニュートン・オイラー法等の数値計算方法が開示されている(例えば、特開平8-118275号公報、特開2015-58520号公報)。
 負荷切替距離設定部62は、解析部52から負荷切替距離が通知されると、接触制御部61に負荷切替距離を設定する。ここで、協働ロボット3の負荷切替距離は、負荷の重量及び負荷のイナーシャの少なくとも1つに応じて設定されてもよい。また、負荷切替距離は、協働ロボット3の各座標軸の座標軸方向毎に設定されてもよい。
 接触制御部61は、協働ロボット3における外力検出センサによる外力の検出結果に応じて、接触停止動作を制御する。接触制御部61は、負荷切替距離設定部62による負荷設定の切替後、協働ロボット3が負荷切替距離内を移動している間、すなわち、協働ロボット3が負荷切替距離の移動を完了するまで、接触停止動作を禁止させる。ここで、接触停止動作は、協働ロボット3が外部からの接触力に応じて協働ロボット3の動作を停止する動作を示す。
 図6は、第1実施形態に係る数値制御プログラムの例を示す図である。図7は、図6に示される数値制御プログラムを実行した際における数値制御装置4とロボット制御装置5との間の信号及び情報の流れを示すシーケンス図である。図6に示される数値制御プログラムは、上述したような、負荷設定を選択し、負荷設定切替距離を設定する指令を含む。
 数値制御プログラムにおいて、先ず、“G100”が指令され、負荷設定1(負荷が協働ロボット3のハンドのみ)を選択する。“G100”が指令されると、負荷設定選択部47は、協働ロボット3の負荷設定1を選択するための信号を生成し、生成した信号を、データ送受信部48を介してロボット制御装置5へ送信する。
 これにより、数値制御装置4は、負荷設定1における負荷の重心、負荷の重心位置及び負荷のイナーシャ情報をロボット制御装置5へ通知することができる。ロボット制御装置5は、通知された負荷設定1に基づいて、逆動力学計算により協働ロボット3に入力するトルクの計算を開始する。
 次に、協働ロボット3の位置が不明であるため、“G68.8”が入力され、各軸座標系が選択される。“G7.3 J1=_J2=_J3=_J4=_J5=_J6=_”が指令されると、ロボット制御装置5は、各軸座標系上の指定位置に協働ロボット3を位置決めする。なお、コマンド中のアンダーバーの部分には、協働ロボット3の指定位置の座標値が入力される。
 次いで、“G68.9”が指令され、直交座標系が選択される。“G01 X_Y_Z_A_B_C_P_”が指令されると、ロボット制御装置5は、直交座標系上の指定位置(ワーク位置)へ協働ロボット3を直線移動させ、位置決めする。なお、コマンド中のアンダーバーの部分には、協働ロボット3の指定位置の座標値が入力される。
 次いで、図6及び図7の(1)に示すように、“G200.1”が指令され、負荷切替距離設定部46は、+方向における負荷切替距離を設定するための信号を生成し、生成した信号を、ロボット指令信号生成部45及びデータ送受信部48を介してロボット制御装置5へ送信する。これにより、ロボット制御装置5は、+方向における負荷切替距離を更新し、協働ロボット3が+Z方向に5.0mm移動するまで接触停止動作を禁止(無効化)させる。
 更に、“G200.2”が指令され、負荷切替距離設定部46は、-方向における負荷切替距離を設定するための信号を生成し、生成した信号を、データ送受信部48を介してロボット制御装置5へ送信する。これにより、ロボット制御装置5は、-方向における負荷切替距離を更新し、協働ロボット3が、-方向に対する接触停止動作を有効にさせる。また、ロボット制御装置5は、次回に負荷設定を切り替えたときに、接触停止動作を無効にすることができる。なお、ロボット制御装置5は、次回ではなく、今回の負荷設定を切り替えたタイミングで、接触停止動作を無効にしてもよい。
 次いで、“M100”が指令され、ロボット制御装置5は、協働ロボット3のハンドを閉じることでワークを把持させる。その後、“G101”が指令されることにより、記憶部51に予め記憶されていた、把持したワークに対応した負荷設定2が選択される。選択された負荷設定2は、負荷設定選択部58により、既に設定されていた負荷設定1から新しく通知された負荷設定2に更新される。そして、ダイナミクス制御部59は、更新された負荷設定2に基づいて逆動力学を計算し、協働ロボット3は、計算された入力トルクを反映したロボット制御指令に従って制御される。接触制御部61は、負荷設定1を負荷設定2に切り替えたため、協働ロボット3が負荷切替距離内を移動中、接触停止動作を無効にする。
 次いで、“G01 X_Y_Z_A_B_C_P_”が指令されると、ロボット制御装置5は、直交座標系上の指定位置へ協働ロボット3を直線移動させ、協働ロボット3は、ワークを持ち上げる。接触制御部61は、協働ロボット3が負荷切替距離外へ移動すると、接触停止動作を有効にする。
 その後、“M50”が指令され、ロボット制御装置5は、協働ロボット3のチャックを開く。“G01 X_Y_Z_A_B_C_P_”が指令されると、ロボット制御装置5は、チャック位置へ協働ロボット3を直線移動させ、位置決めする。次いで、“M51”が指令され、ロボット制御装置5は、協働ロボット3のチャックを閉じる。
 次いで、図6及び図7の(2)に示すように、“G200.1”が指令され、負荷切替距離設定部46は、+方向における負荷切替距離を設定するための信号を生成し、生成した信号を、ロボット指令信号生成部45及びデータ送受信部48を介してロボット制御装置5へ送信する。これにより、ロボット制御装置5は、協働ロボット3が、+X方向に5.0mm移動するまで接触停止動作を禁止(無効化)させる。
 更に、“G200.2”が指令され、負荷切替距離設定部46は、-方向における負荷切替距離を設定するための信号を生成し、生成した信号を、ロボット指令信号生成部45及びデータ送受信部48を介してロボット制御装置5へ送信する。これにより、ロボット制御装置5は、-方向における負荷切替距離を更新し、-方向に対する接触停止動作を有効にさせる。また、ロボット制御装置5は、次回に負荷設定を切り替えたときに、接触停止動作を無効にすることができる。なお、ロボット制御装置5は、次回ではなく、今回の負荷設定を切り替えたタイミングで、接触停止動作を無効にしてもよい。
 次いで、“M100”が指令され、ロボット制御装置5は、協働ロボット3のハンドを開くことでワークを開放させる。その後、“G100”が指令されることにより、記憶部51に予め記憶されていた、ハンドに対応した負荷設定1が選択される。負荷設定選択部58により、既に設定されていた負荷設定2から新しく通知された負荷設定1に更新される。そして、ダイナミクス制御部59は、更新された負荷設定1に基づいて逆動力学を計算し、協働ロボット3は、計算された入力トルクを反映したロボット制御指令に従って制御される。接触制御部61は、負荷設定2を負荷設定1に切り替えたため、協働ロボット3が負荷切替距離内を移動中、接触停止動作を無効にする。
 次いで、“G01 X_Y_Z_A_B_C_P_”が指令されると、ロボット制御装置5は、チャック位置から協働ロボット3のハンドを直線移動させ、協働ロボット3のハンドをチャック位置から退避させる。接触制御部61は、協働ロボット3が負荷切替距離外へ移動すると、接触停止動作を有効にする。次いで、“M30”が指令され、数値制御プログラムは終了する。
 以上説明したように第1実施形態によれば、数値制御装置4は、数値制御プログラム中のロボット制御指令を解析する解析部42と、解析部42により解析したロボット制御指令に応じて、協働ロボット3の負荷設定の切替に必要な負荷切替距離を設定するための信号を生成する負荷切替距離設定部46と、解析部42により解析したロボット制御指令に応じて、協働ロボット3の負荷設定を選択するための信号を生成する負荷設定選択部47と、解析部42により解析したロボット制御指令に応じて、負荷切替距離を設定するための信号及び協働ロボット3の負荷設定を選択するための信号を含むロボット指令信号を生成し、ロボット指令信号をロボット制御装置5へ送信するロボット指令信号生成部45と、を備え、負荷設定の切り替え後、ロボット制御装置5は、協働ロボット3が負荷切替距離内を移動している間、協働ロボット3が外部からの接触力に応じて協働ロボット3の動作を停止する接触停止動作を禁止させる。
 このような構成によって、数値制御装置4は、負荷設定を変更した後に、指定した負荷切替距離内において協働ロボット3が接触停止を行わなくなるため、協働ロボット3がワークを取る又はワークを置く等のような協働ロボット3がワークに作用するときに誤った接触停止を防ぐことができる。
 また、協働ロボット3の負荷設定は、負荷情報と共に、負荷設定の切替を許可する前記ロボットの動作領域を設定することを含む。このような構成によって、数値制御装置4は、負荷設定の切替及び負荷設定距離の設定を好適に行うことができる。
 また、協働ロボット3の負荷切替距離は、負荷の重量及びイナーシャの少なくとも1つに応じて設定されてもよい。また、協働ロボット3の負荷切替距離は、協働ロボット3の各座標軸の座標軸方向毎に設定されてもよい。このような構成によって、数値制御装置4は、協働ロボット3の動作に適した負荷設定距離を設定することができる。
 また、数値制御システム1において、数値制御装置4は、数値制御プログラム中のロボット制御指令を解析する解析部42と、解析部42により解析したロボット制御指令に応じて、協働ロボット3の負荷設定の切替に必要な負荷切替距離を設定するための信号を生成する負荷切替距離設定部46と、解析部42により解析したロボット制御指令に応じて、協働ロボット3の負荷設定を選択するための信号を生成する負荷設定選択部47と、解析部42により解析したロボット制御指令に応じて、負荷切替距離を設定するための信号及び協働ロボット3の負荷設定を選択するための信号を含むロボット指令信号を生成し、ロボット指令信号をロボット制御装置5へ送信するロボット指令信号生成部45と、を備える。
 更に、ロボット制御装置5は、ロボット指令信号に基づいて、負荷設定を切り替える負荷設定選択部58と、ロボット指令信号に基づいて、負荷設定に応じて協働ロボット3の逆動力学計算を行うダイナミクス制御部と、ロボット指令信号に基づいて、負荷切替距離を設定する負荷切替距離設定部62と、負荷設定の通知による負荷設定の切替後、協働ロボット3が負荷切替距離内を移動している間、協働ロボット3が外部からの接触力に応じて協働ロボット3の動作を停止する接触停止動作を禁止させる接触制御部61と、を備える。
 このような構成によって、数値制御システム1は、負荷設定を変更した後に、指定した負荷切替距離内において協働ロボット3が接触停止を行わなくなるため、協働ロボット3がワークを取る又はワークを置く等のような協働ロボット3がワークに作用するときに誤った接触停止を防ぐことができる。
 [第2実施形態]
 図8は、第2実施形態に係る数値制御装置4及びロボット制御装置5の機能ブロック図である。なお、第2実施形態の説明にあたっては、第1実施形態と同一の構成要件については同一符号を付し、その説明を省略もしくは簡略化する。第2実施形態の数値制御装置4及びロボット制御装置5は、禁止信号出力部49及び動作切替部63を備える点が第1実施形態とは主として異なり、他の構成は、図2及び3に示される第1実施形態と同様の構成を備える。
 負荷設定選択部47は、解析部42により解析したロボット制御指令に応じて、協働ロボット3の負荷設定を選択するための信号を生成し、生成した信号をロボット指令信号生成部45に送信する。
 具体的には、負荷設定選択部47は、解析部42により解析したロボット制御指令から負荷設定を選択する指令が抽出されると、負荷設定を選択する指令に応じて、協働ロボット3の負荷設定を選択するための信号を生成し、生成した信号をロボット指令信号生成部45に送信する。これにより、数値制御装置4は、ロボット制御装置5へ負荷設定を選択する指令を通知することができる。
 禁止信号出力部49は、解析部42により解析したロボット制御指令に応じて、協働ロボット3の接触停止動作を禁止するための接触停止動作禁止信号を生成し、生成した接触停止動作禁止信号をロボット指令信号生成部45に送信する。
 具体的には、禁止信号出力部49は、解析部42により解析したロボット制御指令から接触停止動作禁止信号を有効にする指令が抽出されると、接触停止動作禁止信号を有効にする指令に応じて、接触停止動作禁止信号を生成し、生成した接触停止動作禁止信号をロボット指令信号生成部45に送信する。これにより、数値制御装置4は、ロボット制御装置5へ接触停止動作を禁止する(無効にする)指令を通知することができる。
 また、禁止信号出力部49は、解析部42により解析したロボット制御指令から接触停止動作禁止信号を無効にする指令が抽出されると、接触停止動作禁止信号を無効にする指令に応じて、接触停止動作禁止信号を無効にする信号を生成し、生成した信号をロボット指令信号生成部45に送信する。これにより、数値制御装置4は、ロボット制御装置5へ接触停止動作を有効にする指令を通知することができる。
 ロボット指令信号生成部45は、解析部42から入力されるロボット指令ブロック毎の解析結果に基づいて、ロボット指令ブロック毎にロボット指令信号を生成し、生成したロボット指令信号をデータ送受信部48に書き込む。また、ロボット指令信号生成部45は、上述した負荷設定を選択するための信号、接触停止動作禁止信号又は接触停止動作禁止信号を無効にする信号を含むロボット指令信号をデータ送受信部48に書き込む。
 データ送受信部48は、解析部42により解析したロボット制御指令に応じて、接触停止動作禁止信号、接触停止動作禁止信号を無効にする信号及び協働ロボット3の負荷設定を選択するための信号を含むロボット指令信号を、ロボット制御装置5へ送信する。
 動作切替部63は、解析部52により解析されたロボット指令信号に応じて、接触制御部61における接触停止動作の有効又は無効を切り替える。具体的には、動作切替部63は、ロボット指令信号から接触停止動作禁止信号が抽出された場合、次回に負荷設定を切り替えた後に、接触停止動作を無効に設定する。また、動作切替部63は、ロボット指令信号から接触停止動作禁止信号を無効にする(オフにする)信号が抽出された場合、次回に負荷設定を切り替えた後に、接触停止動作を有効に設定する。
 接触制御部61は、負荷設定の通知による負荷設定の切替後、接触停止動作禁止信号に応じて、協働ロボット3が外部からの接触力に応じて協働ロボット3の動作を停止する接触停止動作を禁止させる。
 具体的には、接触制御部61は、接触停止動作禁止信号に応じて動作切替部63によって接触停止動作を無効にされると、次回に負荷設定を切り替えた後に、接触停止動作を無効に設定する。また、接触制御部61は、接触停止動作禁止信号を無効にする信号に応じて動作切替部63によって接触停止動作を有効にされると、次回に負荷設定を切り替えた後に、接触停止動作を有効に設定する。
 図9は、第2実施形態に係る数値制御プログラムの例を示す図である。図10は、図9に示される数値制御プログラムを実行した際における数値制御装置4とロボット制御装置5との間の信号及び情報の流れを示すシーケンス図である。図9に示される数値制御プログラムは、上述したような、負荷設定を選択し、接触停止動作禁止信号を出力する指令を含む。
 数値制御プログラムにおいて、先ず、“G100”が指令され、負荷設定1(負荷が協働ロボット3のハンドのみ)を選択する。“G100”が指令されると、負荷設定選択部47は、協働ロボット3の負荷設定1を選択するための信号を生成し、生成した信号を、ロボット指令信号生成部45及びデータ送受信部48を介してロボット制御装置5へ送信する。
 これにより、数値制御装置4は、負荷設定1における負荷の重心、負荷の重心位置及び負荷のイナーシャ情報をロボット制御装置5へ通知することができる。ロボット制御装置5は、通知された負荷設定1に基づいて、逆動力学計算により協働ロボット3に入力するトルクの計算を開始する。
 次に、協働ロボット3の位置が不明であるため、“G68.8”が入力され、各軸座標系が選択される。“G7.3 J1=_J2=_J3=_J4=_J5=_J6=_”が指令されると、ロボット制御装置5は、各軸座標系上の指定位置に協働ロボット3を位置決めする。なお、コマンド中のアンダーバーの部分には、協働ロボット3の指定位置の座標値が入力される。
 次いで、“G68.9”が指令され、直交座標系が選択される。“G01 X_Y_Z_A_B_C_P_”が指令されると、ロボット制御装置5は、直交座標系上の指定位置(ワーク位置)へ協働ロボット3を直線移動させ、位置決めする。なお、コマンド中のアンダーバーの部分には、協働ロボット3の指定位置の座標値が入力される。
 次いで、“M100”が指令され、ロボット制御装置5は、協働ロボット3のハンドを閉じることでワークを把持させる。
 次いで、図9及び図10の(11)に示すように、“G200.1”が指令され、禁止信号出力部49は、協働ロボット3の接触停止動作を禁止するための接触停止動作禁止信号を生成し、生成した接触停止動作禁止信号をロボット指令信号生成部45及びデータ送受信部48を介してロボット制御装置5へ送信する。これにより、ロボット制御装置5は、接触停止動作禁止信号に応じて、次回に負荷設定を切り替えたときに、接触停止動作を無効にすることができる。
 次いで、“G101”が指令されることにより、記憶部51に予め記憶されていた、把持したワークに対応した負荷設定2が選択される。選択された負荷設定2は、負荷設定選択部58により、それまで設定されていた負荷設定1から新しく通知された負荷設定2に更新される。そして、ダイナミクス制御部59は、更新された負荷設定2に基づいて逆動力学を計算し、協働ロボット3は、計算された入力トルクを反映したロボット制御指令に従って制御される。そして、接触制御部61は、負荷設定1を負荷設定2に切り替えたため、協働ロボット3の接触停止動作を無効にする。
 次いで、“G01 X_Y_Z_A_B_C_P_”が指令されると、ロボット制御装置5は、直交座標系上の指定位置(ワーク位置)へ協働ロボット3を直線移動させ、ワークを持ち上げる。
 次いで、図9及び図10の(12)に示すように、“G200.0”が指令され、禁止信号出力部49は、協働ロボット3の接触停止動作を禁止するための接触停止動作禁止信号を生成し、生成した接触停止動作禁止信号を無効にする(オフにする)信号をロボット指令信号生成部45及びデータ送受信部48を介してロボット制御装置5へ送信する。これにより、ロボット制御装置5は、接触停止動作禁止信号を無効にする信号に応じて、接触停止動作を有効にすることができる。
 その後、“M50”が指令され、ロボット制御装置5は、協働ロボット3のチャックを開く。“G01 X_Y_Z_A_B_C_P_”が指令されると、ロボット制御装置5は、チャック位置へ協働ロボット3を直線移動させ、位置決めする。
 次いで、“M51”が指令され、ロボット制御装置5は、協働ロボット3のチャックを閉じる。次いで、“M101”が指令され、ロボット制御装置5は、協働ロボット3のハンドを開くことでワークを開放させる。
 次いで、図9及び図10の(13)に示すように、“G200.1”が指令され、禁止信号出力部49は、協働ロボット3の接触停止動作を禁止するための接触停止動作禁止信号を生成し、生成した接触停止動作禁止信号をロボット指令信号生成部45及びデータ送受信部48を介してロボット制御装置5へ送信する。これにより、ロボット制御装置5は、接触停止動作禁止信号に応じて、次回に負荷設定を切り替えたときに、接触停止動作を無効にすることができる。
 次いで“G100”が指令されることにより、記憶部51に予め記憶されていた、把持したワークに対応した負荷設定1が選択される。選択された負荷設定2は、負荷設定選択部58により、既に設定されていた負荷設定2から新しく通知された負荷設定1に更新される。そして、ダイナミクス制御部59は、更新された負荷設定1に基づいて逆動力学を計算し、協働ロボット3は、計算された入力トルクを反映したロボット制御指令に従って制御される。そして、接触制御部61は、負荷設定2を負荷設定1に切り替えたため、協働ロボット3の接触停止動作を無効にする。
 次いで、“G01 X_Y_Z_A_B_C_P_”が指令されると、ロボット制御装置5は、チャック位置から協働ロボット3を直線移動させ、協働ロボット3をチャック位置から退避させる。
 次いで、図9及び図10の(14)に示すように、“G200.0”が指令され、禁止信号出力部49は、協働ロボット3の接触停止動作を禁止するための接触停止動作禁止信号を生成し、生成した接触停止動作禁止信号を無効にする(オフにする)信号をロボット指令信号生成部45及びデータ送受信部48を介してロボット制御装置5へ送信する。これにより、ロボット制御装置5は、接触停止動作禁止信号を無効にする信号に応じて、接触停止動作を有効にすることができる。次いで、“M30”が指令され、数値制御プログラムは終了する。
 以上説明したように第2実施形態によれば、数値制御装置4は、数値制御プログラム中のロボット制御指令を解析する解析部42と、解析部42により解析したロボット制御指令に応じて、協働ロボット3の接触停止動作を禁止するための接触停止動作禁止信号を生成する禁止信号出力部49と、解析部42により解析したロボット制御指令に応じて、協働ロボット3の負荷設定を選択するための信号を生成する負荷設定選択部47と、解析部42により解析したロボット制御指令に応じて、接触停止動作禁止信号及び協働ロボット3の負荷設定を選択するための信号を含むロボット指令信号を生成し、ロボット指令信号をロボット制御装置5へ送信するロボット指令信号生成部45と、を備え、負荷設定の切り替え後、ロボット制御装置5は、接触停止動作禁止信号に応じて、ロボット指令信号生成部45が外部からの接触力に応じてロボット指令信号生成部45の動作を停止する接触停止動作を禁止させる。
 このような構成によって、数値制御装置4は、負荷設定を変更した後に、指定した負荷切替距離内において協働ロボット3が接触停止を行わなくなるため、協働ロボット3がワークを取る又はワークを置く等のような協働ロボット3がワークに作用するときに誤った接触停止を防ぐことができる。
 また、数値制御システム1において、数値制御装置4は、数値制御プログラム中のロボット制御指令を解析する解析部42と、解析部42により解析したロボット制御指令に応じて、協働ロボット3の接触停止動作を禁止するための接触停止動作禁止信号を生成する禁止信号出力部49と、解析部42により解析したロボット制御指令に応じて、協働ロボット3の負荷設定を選択するための信号を生成する負荷設定選択部47と、解析部42により解析したロボット制御指令に応じて、接触停止動作禁止信号及び協働ロボット3の負荷設定を選択するための信号を含むロボット指令信号を生成し、ロボット指令信号をロボット制御装置5へ送信するロボット指令信号生成部45と、を備える。
 更に、ロボット制御装置5は、ロボット指令信号に基づいて、負荷設定を切り替える負荷設定選択部58と、ロボット指令信号に基づいて、負荷設定に応じて協働ロボット3の逆動力学計算を行うダイナミクス制御部59と、負荷設定の通知による負荷設定の切替後、接触停止動作禁止信号に応じて、協働ロボット3が外部からの接触力に応じて協働ロボット3の動作を停止する接触停止動作を禁止させる接触制御部61と、を備える。
 このような構成によって、数値制御システム1は、負荷設定を変更した後に、指定した負荷切替距離内において協働ロボット3が接触停止を行わなくなるため、協働ロボット3がワークを取る又はワークを置く等のような協働ロボット3がワークに作用するときに誤った接触停止を防ぐことができる。
 以上、本発明の実施形態について説明したが、上記の数値制御システム1は、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。また、上記の数値制御システム1により行なわれる制御方法も、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
 プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(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))を含む。
 本開示について詳述したが、本開示は上述した個々の実施形態に限定されるものではない。これらの実施形態は、本開示の要旨を逸脱しない範囲で、または、特許請求の範囲に記載された内容とその均等物から導き出される本開示の趣旨を逸脱しない範囲で、種々の追加、置き換え、変更、部分的削除等が可能である。また、これらの実施形態は、組み合わせて実施することもできる。例えば、上述した実施形態において、各動作の順序や各処理の順序は、一例として示したものであり、これらに限定されるものではない。また、上述した実施形態の説明に数値又は数式が用いられている場合も同様である。
 上記実施形態及び変形例に関し、更に以下の付記を開示する。
(付記1)
 数値制御プログラムを用いてロボット制御装置(5)を介してロボット(3)を制御する数値制御装置(4)であって、
 前記数値制御プログラム中のロボット制御指令を解析する解析部(42)と、
 前記解析部により解析した前記ロボット制御指令に応じて、前記ロボットの負荷設定の切替に必要な負荷切替距離を設定するための信号を生成する負荷切替距離設定部(46)と、
 前記解析部により解析した前記ロボット制御指令に応じて、前記ロボットの負荷設定を選択するための信号を生成する負荷設定選択部(47)と、
 前記解析部により解析した前記ロボット制御指令に応じて、前記負荷切替距離を設定するための信号及び前記ロボットの負荷設定を選択するための信号を含むロボット指令信号を生成し、前記ロボット指令信号を前記ロボット制御装置へ送信するロボット指令信号生成部(45)と、
を備え、
 前記負荷設定の切り替え後、前記ロボット制御装置(5)は、前記ロボットが前記負荷切替距離内を移動している間、前記ロボットが外部からの接触力に応じて前記ロボットの動作を停止する接触停止動作を禁止させる、
数値制御装置(4)。
(付記2)
 前記ロボットの負荷設定は、負荷情報と共に、前記負荷設定の切替を許可する前記ロボットの動作領域を設定することを含む、付記1に記載の数値制御装置(4)。
(付記3)
 前記ロボットの負荷切替距離は、負荷の重量及びイナーシャの少なくとも1つに応じて設定される、付記1に記載の数値制御装置(4)。
(付記4)
 前記ロボットの負荷切替距離は、前記ロボットの各座標軸の座標軸方向毎に設定される、付記1に記載の数値制御装置(4)。
(付記5)
 前記ロボットは、人との接触を検知して動作を停止する協働ロボットである、付記1に記載の数値制御装置。
(付記6)
 数値制御装置(4)の数値制御プログラムを用いてロボット制御装置(5)を介してロボット(3)を制御する数値制御システム(1)であって、
 前記数値制御装置(4)は、
 前記数値制御プログラム中のロボット制御指令を解析する解析部(42)と、
 前記解析部により解析した前記ロボット制御指令に応じて、前記ロボットの負荷設定の切替に必要な負荷切替距離を設定するための信号を生成する負荷切替距離設定部(46)と、
 前記解析部により解析した前記ロボット制御指令に応じて、前記ロボットの負荷設定を選択するための信号を生成する負荷設定選択部(47)と、
 前記解析部により解析した前記ロボット制御指令に応じて、前記負荷切替距離を設定するための信号及び前記ロボットの負荷設定を選択するための信号を含むロボット指令信号を生成し、前記ロボット指令信号を前記ロボット制御装置へ送信するロボット指令信号生成部(45)と、
を備え、
 前記ロボット制御装置(5)は、
 前記ロボット指令信号に基づいて、前記負荷設定を切り替えるロボット側負荷設定選択部(58)と、
 前記ロボット指令信号に基づいて、前記負荷設定に応じて前記ロボットの逆動力学計算を行うダイナミクス制御部(59)と、
 前記ロボット指令信号に基づいて、前記負荷切替距離を設定するロボット側負荷切替距離設定部(62)と、
 前記負荷設定の通知による前記負荷設定の切替後、前記ロボットが前記負荷切替距離内を移動している間、前記ロボットが外部からの接触力に応じて前記ロボットの動作を停止する接触停止動作を禁止させる接触制御部(61)と、
を備える数値制御システム(1)。
(付記7)
 前記ロボットの負荷設定は、負荷情報と共に、前記負荷設定の切替を許可する前記ロボットの動作領域を設定することを含む、付記6に記載の数値制御システム(1)。
(付記8)
 前記ロボットの負荷切替距離は、負荷の重量及びイナーシャの少なくとも1つに応じて設定される、付記6に記載の数値制御システム(1)。
(付記9)
 前記ロボットの負荷切替距離は、前記ロボットの各座標軸の座標軸方向毎に設定される、付記6に記載の数値制御システム(1)。
(付記10)
 前記ロボットは、人との接触を検知して動作を停止する協働ロボットである、付記6に記載の数値制御システム。
(付記11)
 数値制御プログラムを用いてロボット制御装置(5)を介してロボットを制御する数値制御装置(4)であって、
 前記数値制御プログラム中のロボット制御指令を解析する解析部(42)と、
 前記解析部により解析した前記ロボット制御指令に応じて、前記ロボットの接触停止動作を禁止するための接触停止動作禁止信号を生成する禁止信号出力部(49)と、
 前記解析部により解析した前記ロボット制御指令に応じて、前記ロボットの負荷設定を選択するための信号を生成する負荷設定選択部(47)と、
 前記解析部により解析した前記ロボット制御指令に応じて、前記接触停止動作禁止信号及び前記ロボットの負荷設定を選択するための信号を含むロボット指令信号を生成し、前記ロボット指令信号を前記ロボット制御装置へ送信するロボット指令信号生成部(45)と、
を備え、
 前記負荷設定の切り替え後、前記ロボット制御装置(5)は、前記接触停止動作禁止信号に応じて、前記ロボットが外部からの接触力に応じて前記ロボットの動作を停止する接触停止動作を禁止させる、
数値制御装置(4)。
(付記12)
 前記ロボットの負荷設定は、負荷情報と共に、前記負荷設定の切替を許可する前記ロボットの動作領域を設定することを含む、付記11に記載の数値制御装置(4)。
(付記13)
 前記ロボットは、人との接触を検知して動作を停止する協働ロボットである、付記11に記載の数値制御装置。
(付記14)
 数値制御装置(4)の数値制御プログラムを用いてロボット制御装置(5)を介してロボットを制御する数値制御システム(1)であって、
 前記数値制御装置(4)は、
 前記数値制御プログラム中のロボット制御指令を解析する解析部(42)と、
 前記解析部により解析した前記ロボット制御指令に応じて、前記ロボットの接触停止動作を禁止するための接触停止動作禁止信号を生成する禁止信号出力部(49)と、
 前記解析部により解析した前記ロボット制御指令に応じて、前記ロボットの負荷設定を選択するための信号を生成する負荷設定選択部(47)と、
 前記解析部により解析した前記ロボット制御指令に応じて、前記接触停止動作禁止信号及び前記ロボットの負荷設定を選択するための信号を含むロボット指令信号を生成し、前記ロボット指令信号を前記ロボット制御装置へ送信するロボット指令信号生成部(45)と、
を備え、
 前記ロボット制御装置(5)は、
 前記ロボット指令信号に基づいて、前記負荷設定を切り替えるロボット側負荷設定選択部(58)と、
 前記ロボット指令信号に基づいて、前記負荷設定に応じて前記ロボットの逆動力学計算を行うダイナミクス制御部(59)と、
 前記負荷設定の通知による前記負荷設定の切替後、前記接触停止動作禁止信号に応じて、前記ロボットが外部からの接触力に応じて前記ロボットの動作を停止する接触停止動作を禁止させる接触制御部(61)と、
を備える数値制御システム(1)。
(付記15)
 前記ロボットの負荷設定は、負荷情報と共に、前記負荷設定の切替を許可する前記ロボットの動作領域を設定することを含む、付記14に記載の数値制御システム。
(付記16)
 前記ロボットは、人との接触を検知して動作を停止する協働ロボットである、付記14に記載の数値制御システム。
 1 数値制御システム
 2 工作機械
 3 協働ロボット
 4 数値制御装置
 5 ロボット制御装置
 41 プログラム入力部
 42 解析部
 43 動作制御部
 44 記憶部
 45 ロボット指令信号生成部
 46 負荷切替距離設定部
 47 負荷設定選択部
 48 データ送受信部
 49 禁止信号出力部
 51 記憶部
 52 解析部
 53 ロボット命令生成部
 54 プログラム管理部
 55 軌跡制御部
 56 キネマティクス制御部
 57 サーボ制御部
 58 負荷設定選択部
 59 ダイナミクス制御部
 60 データ送受信部
 61 接触制御部
 62 負荷切替距離設定部
 63 動作切替部

Claims (16)

  1.  数値制御プログラムを用いてロボット制御装置を介してロボットを制御する数値制御装置であって、
     前記数値制御プログラム中のロボット制御指令を解析する解析部と、
     前記解析部により解析した前記ロボット制御指令に応じて、前記ロボットの負荷設定の切替に必要な負荷切替距離を設定するための信号を生成する負荷切替距離設定部と、
     前記解析部により解析した前記ロボット制御指令に応じて、前記ロボットの負荷設定を選択するための信号を生成する負荷設定選択部と、
     前記解析部により解析した前記ロボット制御指令に応じて、前記負荷切替距離を設定するための信号及び前記ロボットの負荷設定を選択するための信号を含むロボット指令信号を生成し、前記ロボット指令信号を前記ロボット制御装置へ送信するロボット指令信号生成部と、
    を備え、
     前記負荷設定の切り替え後、前記ロボット制御装置は、前記ロボットが前記負荷切替距離内を移動している間、前記ロボットが外部からの接触力に応じて前記ロボットの動作を停止する接触停止動作を禁止させる、
    数値制御装置。
  2.  前記ロボットの負荷設定は、負荷情報と共に、前記負荷設定の切替を許可する前記ロボットの動作領域を設定することを含む、請求項1に記載の数値制御装置。
  3.  前記ロボットの負荷切替距離は、負荷の重量及びイナーシャの少なくとも1つに応じて設定される、請求項1に記載の数値制御装置。
  4.  前記ロボットの負荷切替距離は、前記ロボットの各座標軸の座標軸方向毎に設定される、請求項1に記載の数値制御装置。
  5.  前記ロボットは、人との接触を検知して動作を停止する協働ロボットである、請求項1に記載の数値制御装置。
  6.  数値制御装置の数値制御プログラムを用いてロボット制御装置を介してロボットを制御する数値制御システムであって、
     前記数値制御装置は、
     前記数値制御プログラム中のロボット制御指令を解析する解析部と、
     前記解析部により解析した前記ロボット制御指令に応じて、前記ロボットの負荷設定の切替に必要な負荷切替距離を設定するための信号を生成する負荷切替距離設定部と、
     前記解析部により解析した前記ロボット制御指令に応じて、前記ロボットの負荷設定を選択するための信号を生成する負荷設定選択部と、
     前記解析部により解析した前記ロボット制御指令に応じて、前記負荷切替距離を設定するための信号及び前記ロボットの負荷設定を選択するための信号を含むロボット指令信号を生成し、前記ロボット指令信号を前記ロボット制御装置へ送信するロボット指令信号生成部と、
    を備え、
     前記ロボット制御装置は、
     前記ロボット指令信号に基づいて、前記負荷設定を切り替えるロボット側負荷設定選択部と、
     前記ロボット指令信号に基づいて、前記負荷設定に応じて前記ロボットの逆動力学計算を行うダイナミクス制御部と、
     前記ロボット指令信号に基づいて、前記負荷切替距離を設定するロボット側負荷切替距離設定部と、
     前記負荷設定の通知による前記負荷設定の切替後、前記ロボットが前記負荷切替距離内を移動している間、前記ロボットが外部からの接触力に応じて前記ロボットの動作を停止する接触停止動作を禁止させる接触制御部と、
    を備える数値制御システム。
  7.  前記ロボットの負荷設定は、負荷情報と共に、前記負荷設定の切替を許可する前記ロボットの動作領域を設定することを含む、請求項6に記載の数値制御システム。
  8.  前記ロボットの負荷切替距離は、負荷の重量及びイナーシャの少なくとも1つに応じて設定される、請求項6に記載の数値制御システム。
  9.  前記ロボットの負荷切替距離は、前記ロボットの各座標軸の座標軸方向毎に設定される、請求項6に記載の数値制御システム。
  10.  前記ロボットは、人との接触を検知して動作を停止する協働ロボットである、請求項6に記載の数値制御システム。
  11.  数値制御プログラムを用いてロボット制御装置を介してロボットを制御する数値制御装置であって、
     前記数値制御プログラム中のロボット制御指令を解析する解析部と、
     前記解析部により解析した前記ロボット制御指令に応じて、前記ロボットの接触停止動作を禁止するための接触停止動作禁止信号を生成する禁止信号出力部と、
     前記解析部により解析した前記ロボット制御指令に応じて、前記ロボットの負荷設定を選択するための信号を生成する負荷設定選択部と、
     前記解析部により解析した前記ロボット制御指令に応じて、前記接触停止動作禁止信号及び前記ロボットの負荷設定を選択するための信号を含むロボット指令信号を生成し、前記ロボット指令信号を前記ロボット制御装置へ送信するロボット指令信号生成部と、
    を備え、
     前記負荷設定の切り替え後、前記ロボット制御装置は、前記接触停止動作禁止信号に応じて、前記ロボットが外部からの接触力に応じて前記ロボットの動作を停止する接触停止動作を禁止させる、
    数値制御装置。
  12.  前記ロボットの負荷設定は、負荷情報と共に、前記負荷設定の切替を許可する前記ロボットの動作領域を設定することを含む、請求項11に記載の数値制御装置。
  13.  前記ロボットは、人との接触を検知して動作を停止する協働ロボットである、請求項11に記載の数値制御装置。
  14.  数値制御装置の数値制御プログラムを用いてロボット制御装置を介してロボットを制御する数値制御システムであって、
     前記数値制御装置は、
     前記数値制御プログラム中のロボット制御指令を解析する解析部と、
     前記解析部により解析した前記ロボット制御指令に応じて、前記ロボットの接触停止動作を禁止するための接触停止動作禁止信号を生成する禁止信号出力部と、
     前記解析部により解析した前記ロボット制御指令に応じて、前記ロボットの負荷設定を選択するための信号を生成する負荷設定選択部と、
     前記解析部により解析した前記ロボット制御指令に応じて、前記接触停止動作禁止信号及び前記ロボットの負荷設定を選択するための信号を含むロボット指令信号を生成し、前記ロボット指令信号を前記ロボット制御装置へ送信するロボット指令信号生成部と、
    を備え、
     前記ロボット制御装置は、
     前記ロボット指令信号に基づいて、前記負荷設定を切り替えるロボット側負荷設定選択部と、
     前記ロボット指令信号に基づいて、前記負荷設定に応じて前記ロボットの逆動力学計算を行うダイナミクス制御部と、
     前記負荷設定の通知による前記負荷設定の切替後、前記接触停止動作禁止信号に応じて、前記ロボットが外部からの接触力に応じて前記ロボットの動作を停止する接触停止動作を禁止させる接触制御部と、
    を備える数値制御システム。
  15.  前記ロボットの負荷設定は、負荷情報と共に、前記負荷設定の切替を許可する前記ロボットの動作領域を設定することを含む、請求項14に記載の数値制御システム。
  16.  前記ロボットは、人との接触を検知して動作を停止する協働ロボットである、請求項14に記載の数値制御システム。
PCT/JP2022/041386 2022-11-07 2022-11-07 数値制御装置及び数値制御システム Ceased WO2024100718A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE112022007698.4T DE112022007698T5 (de) 2022-11-07 2022-11-07 Numerische Steuerungsvorrichtung und numerisches Steuerungssystem
CN202280101462.5A CN120129877A (zh) 2022-11-07 2022-11-07 数值控制装置以及数值控制系统
JP2023504082A JP7288157B1 (ja) 2022-11-07 2022-11-07 数値制御装置及び数値制御システム
PCT/JP2022/041386 WO2024100718A1 (ja) 2022-11-07 2022-11-07 数値制御装置及び数値制御システム
TW112139550A TW202419995A (zh) 2022-11-07 2023-10-17 數值控制裝置及數值控制系統

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/041386 WO2024100718A1 (ja) 2022-11-07 2022-11-07 数値制御装置及び数値制御システム

Publications (1)

Publication Number Publication Date
WO2024100718A1 true WO2024100718A1 (ja) 2024-05-16

Family

ID=86611017

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/041386 Ceased WO2024100718A1 (ja) 2022-11-07 2022-11-07 数値制御装置及び数値制御システム

Country Status (5)

Country Link
JP (1) JP7288157B1 (ja)
CN (1) CN120129877A (ja)
DE (1) DE112022007698T5 (ja)
TW (1) TW202419995A (ja)
WO (1) WO2024100718A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7735600B1 (ja) * 2025-02-12 2025-09-08 Dmg森精機株式会社 情報処理装置、ロボットシステム、および負荷設定の支援方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008183680A (ja) * 2007-01-31 2008-08-14 Yaskawa Electric Corp 負荷機械の制御装置とその衝突検出しきい値更新方法
JP2009050958A (ja) * 2007-08-27 2009-03-12 Fanuc Ltd 停止監視機能を備えたロボット制御装置
JP6647472B1 (ja) * 2019-01-09 2020-02-14 三菱電機株式会社 数値制御装置および数値制御方法
WO2020045483A1 (ja) * 2018-08-30 2020-03-05 株式会社不二越 ロボット制御装置
WO2022224425A1 (ja) * 2021-04-23 2022-10-27 ファナック株式会社 数値制御装置及び数値制御システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008183680A (ja) * 2007-01-31 2008-08-14 Yaskawa Electric Corp 負荷機械の制御装置とその衝突検出しきい値更新方法
JP2009050958A (ja) * 2007-08-27 2009-03-12 Fanuc Ltd 停止監視機能を備えたロボット制御装置
WO2020045483A1 (ja) * 2018-08-30 2020-03-05 株式会社不二越 ロボット制御装置
JP6647472B1 (ja) * 2019-01-09 2020-02-14 三菱電機株式会社 数値制御装置および数値制御方法
WO2022224425A1 (ja) * 2021-04-23 2022-10-27 ファナック株式会社 数値制御装置及び数値制御システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7735600B1 (ja) * 2025-02-12 2025-09-08 Dmg森精機株式会社 情報処理装置、ロボットシステム、および負荷設定の支援方法

Also Published As

Publication number Publication date
TW202419995A (zh) 2024-05-16
DE112022007698T5 (de) 2025-07-17
CN120129877A (zh) 2025-06-10
JP7288157B1 (ja) 2023-06-06
JPWO2024100718A1 (ja) 2024-05-16

Similar Documents

Publication Publication Date Title
JP7590554B2 (ja) 数値制御装置及び数値制御システム
JP7288158B1 (ja) 数値制御装置
WO2024100718A1 (ja) 数値制御装置及び数値制御システム
JP7633371B2 (ja) 指令生成装置及びコンピュータプログラム
WO2024161517A1 (ja) 数値制御装置及び数値制御システム
WO2024116221A1 (ja) 数値制御装置及び数値制御システム
JP7332822B1 (ja) 数値制御装置及び数値制御システム
TWI919126B (zh) 數值控制裝置及數值控制系統
JP7260728B1 (ja) 数値制御装置及び数値制御システム
JP7614220B2 (ja) 数値制御装置、及び数値制御システム
WO2024100720A1 (ja) 数値制御装置及び数値制御システム
TWI917819B (zh) 數值控制裝置及數值控制系統
US20230249337A1 (en) Numerical control system
WO2025046677A1 (ja) 数値制御装置及び数値制御システム
WO2024116223A1 (ja) ロボット制御装置
JP7695336B2 (ja) ロボット制御装置、ロボット制御システム、及びコンピュータプログラム
US20240160181A1 (en) Motion-path generation device, numerical control device, numerical control system, and non-transitory computer-readable medium storing computer program
WO2025062629A1 (ja) 数値制御装置及び数値制御システム
WO2024166216A1 (ja) 数値制御装置及び数値制御システム
WO2022004647A1 (ja) 数値制御システム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2023504082

Country of ref document: JP

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

Ref document number: 22965045

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 112022007698

Country of ref document: DE

WWE Wipo information: entry into national phase

Ref document number: 202280101462.5

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 202280101462.5

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 112022007698

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22965045

Country of ref document: EP

Kind code of ref document: A1