WO2024116221A1 - 数値制御装置及び数値制御システム - Google Patents
数値制御装置及び数値制御システム Download PDFInfo
- Publication number
- WO2024116221A1 WO2024116221A1 PCT/JP2022/043714 JP2022043714W WO2024116221A1 WO 2024116221 A1 WO2024116221 A1 WO 2024116221A1 JP 2022043714 W JP2022043714 W JP 2022043714W WO 2024116221 A1 WO2024116221 A1 WO 2024116221A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- robot
- contact
- control device
- command
- numerical control
- Prior art date
Links
- 230000033001 locomotion Effects 0.000 claims abstract description 50
- 238000004458 analytical method Methods 0.000 claims abstract description 42
- 230000004044 response Effects 0.000 claims abstract description 28
- 238000001514 detection method Methods 0.000 claims description 23
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 abstract description 13
- 230000015654 memory Effects 0.000 description 23
- 230000006870 function Effects 0.000 description 18
- 230000005540 biological transmission Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 238000000034 method Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 7
- 238000003754 machining Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 241000282412 Homo Species 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 101100521334 Mus musculus Prom1 gene Proteins 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000000227 grinding Methods 0.000 description 1
- 238000001746 injection moulding Methods 0.000 description 1
- 238000003801 milling Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/06—Safety devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/19—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/4155—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
Definitions
- This disclosure relates to a numerical control device and a numerical control system.
- the robot control device may stop the robot's operation upon detecting the contact, making it impossible to continue operating the robot.
- machine tool users in order to use the robot's functions, machine tool users must use an unfamiliar teaching operation panel for robots, which is a difficult task for the machine tool users.
- 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 contact operation command unit that generates a contact skip operation signal for causing the robot control device to execute a contact skip operation 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 skip operation signal and transmits it to the robot control device, the robot control command including an external force threshold for stopping the robot when the robot detects an external force, the robot control device stops the movement of the robot in response to the contact skip operation signal if the external force detected by the robot exceeds the external force threshold during the movement of the robot, and notifies the numerical control device that the robot has stopped moving, and when notified by the robot control device that the robot has stopped moving, the contact operation command unit executes the next command block of the robot control command.
- 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 contact operation command unit that generates a contact skip operation signal for causing the robot control device to execute a contact skip operation 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 skip operation signal and transmits it to the robot control device.
- the robot control command includes an external force threshold for stopping the robot when the robot detects an external force
- the robot control device includes a contact operation execution unit that, in response to the contact skip operation signal, stops the movement of the robot when the external force detected by the robot exceeds the external force threshold while the robot is moving, and notifies the numerical control device that the robot has stopped moving, and when notified by the robot control device that the robot has stopped moving, executes a next command block of the robot control command.
- FIG. 1 is a functional block diagram 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 an embodiment of the present invention.
- FIG. 13 is a diagram showing an example of a contact skip command.
- FIG. 13 is a diagram showing an example of a contact skip command.
- FIG. 4 is a diagram showing an example of a numerical control program according to the embodiment; 6 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. 5 is executed.
- Figure 1 is a functional block 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 has an external force detection unit 31 (see FIG. 2) composed of an external force detection sensor or the like to detect external forces such as contact with a human.
- the external force detection sensor is, for example, a torque sensor, a force sensor, or the like. That is, the collaborative robot 3 detects contact with a human by the external force detection sensor, and the robot control device 5 stops the operation of the collaborative robot 3 according to the external force detected by the external force detection sensor. 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 this embodiment. First, the 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 data transmission/reception unit 46, and a contact operation command unit 47.
- 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 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 46.
- 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 46.
- the data transmission/reception unit 46 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 46 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 contact operation command unit 47 generates a contact skip operation signal for causing the robot control device 5 to execute a contact skip operation in accordance with the robot control command analyzed by the analysis unit 42.
- the contact operation command unit 47 notifies the robot command signal generation unit 45 of the generated contact skip operation signal.
- the analysis unit 42 extracts a contact skip operation command from the numerical control program, it notifies the contact operation command unit 47 of the command.
- the contact operation command unit 47 In response to the command notification from the analysis unit 42, the contact operation command unit 47 generates a contact skip operation signal and notifies the robot command signal generation unit 45.
- the robot command signal generator 45 generates a robot command signal including a contact skip operation signal and transmits it to the robot control device 5 via the data transmitter/receiver 46. As a result, the robot control device 5 executes a contact skip operation in response to the contact skip operation signal.
- the contact skip operation indicates that when the collaborative robot 3 detects an external force due to a contact operation, such as contacting an object, while the collaborative robot 3 is moving, the movement of the collaborative robot 3 is stopped and the next command block is executed.
- the contact skip operation signal instructs the robot control device 5 on the external force threshold for stopping the collaborative robot 3 when the collaborative robot 3 detects an external force, the type of operation of the collaborative robot 3, the target position of the collaborative robot 3, the movement speed of the collaborative robot 3, the contact position where the collaborative robot 3 comes into contact with the target object, etc.
- the contact skip operation signal may include designating a force component or torque component when the external force detection unit 31 of the collaborative robot 3 detects an external force, depending on the movement direction or movement speed of the collaborative robot 3. For example, when the collaborative robot 3 moves in the +X direction, the contact skip operation signal may designate a force component or torque component in the +X direction when the external force detection unit 31 detects an external force.
- the contact skip operation signal may also include setting the external force threshold for the contact skip operation to be smaller than the external force detection threshold for the contact stop operation, in which the collaborative robot 3 stops operating due to contact with the outside.
- the robot controller 5 In response to the contact skip operation signal, if the external force detected by the collaborative robot 3 exceeds the external force threshold while the collaborative robot 3 is moving, the robot controller 5 stops the movement of the collaborative robot 3. Then, the robot controller 5 notifies the numerical controller 4 that the collaborative robot 3 has stopped moving.
- the contact operation command unit 47 When the contact operation command unit 47 is notified by the robot controller 5 that the collaborative robot 3 has stopped moving, it executes the next command block of the robot control command.
- the next command block of the robot control command may include, for example, acquiring from the robot control device 5 the position where the collaborative robot 3 detects contact during a contact skip operation, and measuring the dimensions of the target object according to the acquired position.
- the next command block of the robot control command may include obtaining, from the robot control device 5, position information about two positions where the collaborative robot 3 detected contact during contact skip operation, and measuring the dimensions of the target object according to the obtained position information of the two positions.
- the two positions may be, for example, a first position where contact was detected while the collaborative robot 3 was moving in the +X direction, and a second position where contact was detected while the collaborative robot 3 was moving in the -X direction. This allows the robot control device 5 to measure the dimensions of the target object in the X direction from the two positions.
- next command block of the robot control command may include, for example, the collaborative robot 3 gripping a workpiece of unknown dimensions, or gripping the workpiece at the position where the collaborative robot 3 contacts the workpiece while searching for the position of the workpiece.
- 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 operation execution unit 61, and a contact control 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 data transmission/reception unit 60 receives the robot command signal transmitted from the data transmission/reception unit 46 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 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 contact operation execution unit 61 stops the movement of the collaborative robot 3 and notifies the numerical control device 4 that the collaborative robot 3 has stopped moving if the external force detected by the collaborative robot 3 exceeds the external force threshold while the collaborative robot 3 is moving, in response to the contact skip operation signal in the robot command signal analyzed by the analysis unit 52.
- the contact control unit 62 controls the contact stop operation in response to the detection result of the external force by the external force detection unit 31 in the collaborative robot 3.
- the contact stop operation indicates that the collaborative robot 3 stops the operation of the collaborative robot 3 in response to an external contact force.
- the contact operation execution unit 61 notifies the contact control unit 62 of the external force threshold in response to the contact skip operation signal in the robot command signal analyzed by the analysis unit 52, and the contact control unit 62 starts monitoring for an external force that exceeds the external force threshold.
- the contact operation execution unit 61 notifies the robot command generation unit 53 of the operation type, movement amount, and movement speed of the collaborative robot 3 in response to the contact skip operation signal, and the robot command generation unit 53 generates a robot command according to the operation type, movement amount, and movement speed of the collaborative robot 3.
- the robot control device 5 performs the control as described above, and the collaborative robot 3 starts moving.
- the contact control unit 62 notifies the servo control unit 57 to stop movement, and obtains position information about the position where the external force detection unit 31 detected an external force that exceeds the external force threshold.
- the contact control unit 62 notifies the contact operation execution unit 61 of the acquired position information and that the collaborative robot 3 has stopped.
- the contact operation execution unit 61 notifies the numerical control device 4 of the acquired position information and that the collaborative robot 3 has stopped via the data transmission/reception unit 60.
- the contact operation command unit 47 executes the next command block of the robot control command.
- the numerical control device 4 executes the next command block and measures the dimensions of the target object based on the acquired position information of the target object.
- FIGS. 3 and 4 are diagrams showing examples of contact skip commands.
- the contact skip command shown in FIG. 3 is a command when the collaborative robot 3 performs a contact skip operation during linear motion.
- the contact skip command shown in FIG. 4 is a command when the collaborative robot 3 performs a contact skip operation during motion of each axis.
- the contact skip command shown in FIG. 3 includes multiple corresponding commands and stop position storage destinations corresponding to the corresponding commands.
- Each corresponding command is a G code from G100.1 to G100.9.
- the stop position storage destinations are six macro variables corresponding to the linear motion of the X, Y, Z, A, B, and C axes.
- the stop position storage destinations corresponding to the corresponding command G100.1 are six macro variables #100000 to #100005.
- the contact skip command shown in Fig. 4 includes a plurality of corresponding commands and stop position storage destinations corresponding to the corresponding commands.
- Each corresponding command is a G code from G200.1 to G200.9.
- the stop position storage destinations are six macro variables corresponding to the operations of the J1, J2, J3, J4, J5, and J6 axes.
- the stop position storage destinations corresponding to the corresponding command G200.1 are six macro variables #100060 to #100065.
- FIG. 5 is a diagram showing an example of a numerical control program according to this embodiment.
- FIG. 6 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. 5 is executed.
- the numerical control device 4 executes a numerical control program including a contact skip operation command, and the collaborative robot 3 measures the dimensions of a machined workpiece as a target object.
- the command "G100.0 X100.0 Q1.0 F100;" is issued, and the collaborative robot 3 and robot control device 5 start contact skip operation.
- This command moves the collaborative robot 3 in the +X direction, and stops the movement of the collaborative robot 3 when the external force detection unit 31 detects an external force. Furthermore, this command sets the external force threshold for detecting an external force to 1.0 N, and sets the movement speed of the collaborative robot 3 to 100 mm/min.
- the robot controller 5 starts moving the collaborative robot 3 in a linear motion in the +X direction at a speed of 100 mm/min. Then, when the robot controller 5 detects an external force exceeding 1.0 N, it stops the movement of the collaborative robot 3 and notifies (sends) the numerical controller 4 of the position information of the position where the external force was detected.
- the contact operation command unit 47 When the contact operation command unit 47 is notified by the robot control device 5 that the collaborative robot 3 has stopped moving, it executes the next command block of the robot control command, i.e., "G01 X_Y_Z_A_B_C_P_". When "G01 X_Y_Z_A_B_C_P_" is commanded, the robot control device 5 moves the collaborative robot 3 in a straight line to the workpiece dimension measurement start position in the -X direction on the Cartesian coordinate system, and positions it.
- the command "G100.1 X-100.0 Q1.0 F100;" is issued, and the collaborative robot 3 and robot control device 5 start contact skip operation.
- This command moves the collaborative robot 3 in the -X direction, and stops the movement of the collaborative robot 3 when the external force detection unit 31 detects an external force. Furthermore, this command sets the external force threshold for detecting an external force to 1.0 N, and sets the movement speed of the collaborative robot 3 to 100 mm/min.
- the robot controller 5 starts moving the collaborative robot 3 in a linear motion in the -X direction at a speed of 100 mm/min. Then, when the robot controller 5 detects an external force exceeding 1.0 N, it stops the movement of the collaborative robot 3 and notifies (sends) the numerical controller 4 of the position information of the position where the external force was detected.
- #100006 is, for example, a macro variable that is the storage destination for position information in the +X direction
- #100000 is a macro variable that is the storage destination for position information in the -X direction. This allows the robot control device 5 to calculate the workpiece dimension #100 from the position information of the two locations where external forces were detected.
- the robot control device 5 moves the collaborative robot 3 in a straight line to a specified position outside the machine tool 2 on the Cartesian coordinate system, and positions it. As a result, the collaborative robot 3 retreats outside the machine tool 2.
- the numerical control device 4 includes an analysis unit 42 that analyzes the robot control command in the numerical control program, a contact operation command unit 47 that generates a contact skip operation signal for causing the robot control device 5 to execute a contact skip operation in response to the contact skip operation command analyzed by the analysis unit 42, and a robot command signal generation unit 45 that generates a robot command signal including the contact skip operation signal and transmits it to the robot control device 5.
- the contact skip operation command includes an external force threshold for stopping the collaborative robot 3 when the collaborative robot 3 detects an external force.
- the robot control device 5 In response to the contact skip operation signal, if the external force detected by the collaborative robot 3 exceeds the external force threshold during the movement of the collaborative robot 3, the robot control device 5 stops the movement of the collaborative robot 3 and notifies the numerical control device 4 that the collaborative robot 3 has stopped moving.
- the contact operation command unit 47 When the contact operation command unit 47 is notified by the robot control device 5 that the collaborative robot 3 has stopped moving, it executes the next command block of the robot control command.
- the numerical control device 4 sets a threshold value for the external force acting on the collaborative robot 3 according to commands in the numerical control program, moves the collaborative robot 3, and stops the movement of the collaborative robot 3 when an external force is detected. This enables the numerical control device 4 to detect contact with an object, and by executing the commands of the next block after contact detection, it is possible to execute a continuous numerical control program. Furthermore, since the numerical control device 4 enables the collaborative robot 3 to skip contact according to commands in the numerical control program, the user of the machine tool 2 can easily use the functions of the collaborative robot 3.
- the next command block of the robot control command may also include acquiring the position where the collaborative robot 3 detects contact during contact skip operation from the robot control device 5, and measuring the dimensions of the target object according to the acquired position.
- the numerical control device 4 can measure the dimensions of a target object such as a workpiece that has been machined by the machine tool 2.
- the contact skip operation signal may also include specifying a force component or torque component when the external force detection unit 31 of the collaborative robot 3 detects an external force, depending on the moving direction or moving speed of the collaborative robot 3.
- the numerical control device 4 can measure the dimensions of the object with respect to the specified component.
- the contact skip operation signal may also include setting the external force threshold of the contact skip operation to be smaller than the external force detection threshold of the contact stop operation in which the collaborative robot 3 stops its operation due to contact with the outside.
- the numerical control device 4 can measure the dimensions of an object without stopping its operation when the collaborative robot 3 comes into contact with the object.
- the numerical control system 1 also includes a numerical control device 4 having the above-mentioned configuration, and a robot control device 5 having a contact operation execution unit 61 that, in response to a contact skip operation signal, stops the movement of the collaborative robot 3 and notifies the numerical control device 4 that the collaborative robot 3 has stopped moving if an external force detected by the collaborative robot 3 exceeds an external force threshold while the collaborative robot 3 is moving.
- the contact operation command unit 47 executes the next command block of the robot control command. This enables the numerical control system 1 to detect contact with an object, and by executing the command of the next block after contact detection, it is possible to execute a continuous numerical control program.
- the numerical control system 1 since the numerical control system 1 enables the collaborative robot 3 to skip contact by the command in the numerical control program, the user of the machine tool 2 can easily use the functions of the collaborative robot 3.
- 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 contact operation command unit (47) that generates a contact skip operation signal for causing the robot control device to execute a contact skip operation in response to the robot control command analyzed by the analysis unit; a robot command signal generating unit (45) that generates a robot command signal including the contact skip operation signal and transmits the robot command signal to the robot control device; Equipped with the robot control command includes an external force threshold for stopping the robot when the robot detects an external force; the robot control device, in response to the contact skip operation signal, when an external force detected by the robot during movement of the robot exceeds the external force threshold, stops the movement of the robot and notifies the numerical control device that the robot has stopped moving; when the contact operation command unit is notified by the robot control device that the robot has stopped moving, the contact operation command unit
- Numerical control device (Appendix 2) 2. The numerical control device according to claim 1, wherein the next command block of the robot control command includes obtaining from the robot control device a position at which the robot detected contact during the contact skip operation, and measuring a dimension of an object according to the obtained position. (Appendix 3) 2. The numerical control device according to claim 1, wherein the contact skip operation signal includes specifying a component of force or torque when the robot detects an external force, depending on a moving direction or moving speed of the robot.
- the robot is a collaborative robot that detects contact with a person and stops its operation
- the numerical control device described in Appendix 1, wherein the contact skip operation signal includes setting the external force threshold of the contact skip operation to be smaller than the external force detection threshold of a contact stop operation in which the collaborative robot stops operation due to contact with the outside.
- the numerical control device includes: an analysis unit (42) that analyzes a robot control command in the numerical control program; a contact operation command unit (47) that generates a contact skip operation signal for causing the robot control device to execute a contact skip operation in response to the robot control command analyzed by the analysis unit; a robot command signal generating unit (45) that generates a robot command signal including the contact skip operation signal and transmits the robot command signal to the robot control device; Equipped with the robot control command includes an external force threshold for stopping the robot when the robot detects an external force; the robot control device includes a contact operation execution unit that, in response to the contact skip operation signal, stops the movement of the robot when an external force detected by the robot exceeds the external force threshold while the robot is moving, and notifies the numerical control device that the robot has stopped moving; when the contact operation command unit is notified by the robot control device that the robot has stopped moving
- a numerical control system (Appendix 6) 6. The numerical control system of claim 5, wherein a next command block of the robot control command includes obtaining from the robot control device a position at which the robot detected contact during the contact skip operation, and measuring a dimension of an object according to the obtained position. (Appendix 7) The numerical control system of claim 5, wherein the contact skip operation signal includes specifying a component of force or torque when the robot detects an external force, depending on a movement direction or movement speed of the robot.
- the robot is a collaborative robot that detects contact with a person and stops its operation
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
接触を検出した際にロボットの運転を継続でき、かつ工作機械のユーザが容易にロボットの機能を使用できる数値制御装置及び数値制御システムを提供すること。数値制御装置は、解析部と、接触動作指令部と、ロボット指令信号生成部と、を備え、ロボット制御指令は、ロボットが外力を検出した場合に前記ロボットを停止させるための外力閾値を含み、ロボット制御装置は、前記接触スキップ動作信号に応じて、前記ロボットの移動中に、前記ロボットが検出した外力が前記外力閾値を超える場合、前記ロボットの移動を停止させ、前記ロボットが移動を停止したことを前記数値制御装置に通知し、前記接触動作指令部は、前記ロボット制御装置から前記ロボットが移動を停止したことが通知されると、前記ロボット制御指令の次の指令ブロックを実行する。
Description
本開示は、数値制御装置及び数値制御システムに関する。
従来、人との接触を検知して動作を停止する協働ロボットに関する技術が開示されている。例えば、協働ロボットの接触力を正確に計測するため、保持するワークの負荷情報を設定する技術が開示されている。
また、加工現場を自動化するため、工作機械からロボットを操作するシステムに関する技術が開示されている。例えば、工作機械のユーザが慣れ親しんだ数値制御指令を用いてロボットの運転を行う技術が開示されている(例えば、特許文献1参照)。
数値制御装置において数値制御指令を用いてロボットを制御する場合、ロボットが、移動しながら対象物への接触を検出すると、ロボット制御装置は、接触を検出した際にロボットの動作を停止し、ロボットの運転を継続できない場合がある。また、工作機械のユーザは、ロボットの機能を使用するために、使い慣れないロボット用の教示操作盤を用いる必要があるため、工作機械のユーザにとって難易度の高い作業である。
そのため、接触を検出した際にロボットの運転を継続でき、かつ工作機械のユーザが容易にロボットの機能を使用できる数値制御装置及び数値制御システムが望まれている。
本開示の一態様は、数値制御プログラムを用いてロボット制御装置を介してロボットを制御する数値制御装置であって、前記数値制御プログラム中のロボット制御指令を解析する解析部と、前記解析部により解析した前記ロボット制御指令に応じて、接触スキップ動作を前記ロボット制御装置に実行させるための接触スキップ動作信号を生成する接触動作指令部と、前記接触スキップ動作信号を含むロボット指令信号を生成し、前記ロボット制御装置へ送信するロボット指令信号生成部と、を備え、前記ロボット制御指令は、前記ロボットが外力を検出した場合に前記ロボットを停止させるための外力閾値を含み、前記ロボット制御装置は、前記接触スキップ動作信号に応じて、前記ロボットの移動中に、前記ロボットが検出した外力が前記外力閾値を超える場合、前記ロボットの移動を停止させ、前記ロボットが移動を停止したことを前記数値制御装置に通知し、前記接触動作指令部は、前記ロボット制御装置から前記ロボットが移動を停止したことが通知されると、前記ロボット制御指令の次の指令ブロックを実行する。
本開示の一態様は、数値制御装置の数値制御プログラムを用いてロボット制御装置を介してロボットを制御する数値制御システムであって、前記数値制御装置は、前記数値制御プログラム中のロボット制御指令を解析する解析部と、前記解析部により解析した前記ロボット制御指令に応じて、接触スキップ動作を前記ロボット制御装置に実行させるための接触スキップ動作信号を生成する接触動作指令部と、前記接触スキップ動作信号を含むロボット指令信号を生成し、前記ロボット制御装置へ送信するロボット指令信号生成部と、
を備え、前記ロボット制御指令は、前記ロボットが外力を検出した場合に前記ロボットを停止させるための外力閾値を含み、前記ロボット制御装置は、前記接触スキップ動作信号に応じて、前記ロボットの移動中に、前記ロボットが検出した外力が前記外力閾値を超える場合、前記ロボットの移動を停止させ、前記ロボットが移動を停止したことを前記数値制御装置に通知する接触動作実行部を備え、前記接触動作指令部は、前記ロボット制御装置から前記ロボットが移動を停止したことが通知されると、前記ロボット制御指令の次の指令ブロックを実行する。
を備え、前記ロボット制御指令は、前記ロボットが外力を検出した場合に前記ロボットを停止させるための外力閾値を含み、前記ロボット制御装置は、前記接触スキップ動作信号に応じて、前記ロボットの移動中に、前記ロボットが検出した外力が前記外力閾値を超える場合、前記ロボットの移動を停止させ、前記ロボットが移動を停止したことを前記数値制御装置に通知する接触動作実行部を備え、前記接触動作指令部は、前記ロボット制御装置から前記ロボットが移動を停止したことが通知されると、前記ロボット制御指令の次の指令ブロックを実行する。
以下、本開示の実施形態の一例について説明する。図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は、人との接触等のような外力を検出するために、外力検出センサ等によって構成される外力検出部31(図2参照)を備える。外力検出センサは、例えば、トルクセンサ、力センサ等である。すなわち、協働ロボット3は、外力検出センサによって人との接触を検知し、ロボット制御装置5は、外力検出センサによって検出された外力に応じて協働ロボット3の動作を停止する。これにより、協働ロボット3は、人と協働で安全に作業することができる。
数値制御装置4及びロボット制御装置5は、それぞれCPU(Central Processing Unit)等の演算処理手段、各種コンピュータプログラムを格納したHDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶手段、演算処理手段がコンピュータプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった主記憶手段、オペレータが各種操作を行うキーボードといった操作手段、及びオペレータに各種情報を表示するディスプレイといった表示手段等のハードウェアによって構成されるコンピュータである。これら数値制御装置4及びロボット制御装置5は、例えばイーサネット(登録商標)によって相互に各種信号を送受信することが可能となっている。
図2は、本実施形態に係る数値制御装置4及びロボット制御装置5の機能ブロック図である。先ず、数値制御装置4の詳細な構成について説明する。図2に示すように数値制御装置4は、上記ハードウェア構成によって、工作機械2の動作を制御する機能、協働ロボット3の制御軸の動作経路を生成する機能等のような各種機能を実現する。
数値制御装置4は、数値制御プログラムを用いてロボット制御装置5を介して協働ロボット3を制御する。すなわち、数値制御装置4は、ロボット用の数値制御プログラムに従って、協働ロボット3及びツール3bの動作を制御するための各種指令を生成し、ロボット制御装置5へ送信する。より具体的には、数値制御装置4は、プログラム入力部41と、解析部42と、動作制御部43と、記憶部44と、ロボット指令信号生成部45と、データ送受信部46と、接触動作指令部47と、を備える。
プログラム入力部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から入力されるロボット指令ブロック毎の解析結果に基づいて、ロボット指令ブロック毎にロボット指令信号を生成し、生成したロボット指令信号をデータ送受信部46に書き込む。
具体的には、ロボット指令信号生成部45は、解析部42から入力される解析結果としてのロボット用数値制御指令に基づいて、ロボット指令ブロック毎にロボット指令信号を生成し、生成したロボット指令信号をデータ送受信部46に書き込む。
データ送受信部46は、ロボット制御装置5のデータ送受信部60との間で指令及びロボット座標値等の各種データを送受信する。具体的には、データ送受信部46は、ロボット指令信号生成部45によって生成されたロボット指令信号をロボット制御装置5のデータ送受信部60へ送信する。
接触動作指令部47は、解析部42により解析したロボット制御指令に応じて、接触スキップ動作をロボット制御装置5に実行させるための接触スキップ動作信号を生成する。接触動作指令部47は、生成した接触スキップ動作信号を、ロボット指令信号生成部45へ通知する。
具体的には、解析部42は、数値制御プログラムから接触スキップ動作指令が抽出されると、接触動作指令部47へ指令を通知する。接触動作指令部47は、解析部42からの指令の通知に応じて、接触スキップ動作信号を生成し、ロボット指令信号生成部45へ通知する。
ロボット指令信号生成部45は、接触スキップ動作信号を含むロボット指令信号を生成し、データ送受信部46を介してロボット制御装置5へ送信する。これにより、ロボット制御装置5は、接触スキップ動作信号に応じて、接触スキップ動作を実行する。
ここで、接触スキップ動作は、協働ロボット3が、協働ロボット3の移動中に、対象物に接触する等のような接触動作によって外力を検出した場合に、協働ロボット3の移動を停止させ、次の指令ブロックを実行することを示す。
接触スキップ動作信号は、協働ロボット3が外力を検出した場合に協働ロボット3を停止させるための外力閾値、協働ロボット3の動作種別、協働ロボット3の目標位置、協働ロボット3の移動速度、協働ロボット3が対象物に接触した接触位置等をロボット制御装置5に指令する。
接触スキップ動作信号は、協働ロボット3の移動方向又は移動速度に応じて、協働ロボット3の外力検出部31が外力を検出する際の力の成分又はトルクの成分を指定することを含んでもよい。接触スキップ動作信号は、例えば、協働ロボット3が+X方向に移動する場合、外力検出部31が外力を検出する際に、+X方向の力の成分又はトルクの成分を指定してもよい。
また、接触スキップ動作信号は、協働ロボット3が外部との接触により動作を停止する接触停止動作の外力検出閾値よりも、接触スキップ動作の外力閾値を小さく設定することを含んでもよい。
ロボット制御装置5は、接触スキップ動作信号に応じて、協働ロボット3の移動中に、協働ロボット3が検出した外力が外力閾値を超える場合、協働ロボット3の移動を停止させる。そして、ロボット制御装置5は、協働ロボット3が移動を停止したことを数値制御装置4に通知する。接触動作指令部47は、ロボット制御装置5から協働ロボット3が移動を停止したことが通知されると、ロボット制御指令の次の指令ブロックを実行する。
ロボット制御指令の次の指令ブロックは、例えば、協働ロボット3が接触スキップ動作時に接触を検知した位置をロボット制御装置5から取得し、取得した位置に応じて対象物の寸法を測定することを含んでもよい。
具体的には、ロボット制御指令の次の指令ブロックは、協働ロボット3が接触スキップ動作時に接触を検知した二箇所の位置についての位置情報をロボット制御装置5から取得し、取得した二箇所の位置情報に応じて対象物の寸法を測定することを含んでもよい。ここで、二箇所の位置は、例えば、協働ロボット3が+X方向へ移動中に接触を検出した第1の位置、及び協働ロボット3が-X方向へ移動中に接触を検出した第2の位置であってもよい。これにより、ロボット制御装置5は、二箇所の位置から対象物のX方向における寸法を測定することができる。
また、ロボット制御指令の次の指令ブロックは、例えば、協働ロボット3が寸法不明のワークを把持することや、ワークの位置を探りながら、協働ロボット3がワークに接触した位置においてワークを把持することを含んでもよい。
次に、ロボット制御装置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の外部の電子機器や外部サーバー等に設けられてもよい。
データ送受信部60は、数値制御装置4のデータ送受信部46から送信されるロボット指令信号を受信する。また、データ送受信部60は、受信したロボット指令信号を逐次、解析部52へ出力する。
解析部52は、データ送受信部60から入力されるロボット指令信号を解析する。また、解析部52は、その解析結果をロボット命令生成部53へ出力する。
ロボット命令生成部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号公報)。
接触動作実行部61は、解析部52により解析されたロボット指令信号における接触スキップ動作信号に応じて、協働ロボット3の移動中に、協働ロボット3が検出した外力が外力閾値を超える場合、協働ロボット3の移動を停止させ、協働ロボット3が移動を停止したことを数値制御装置4に通知する。
接触制御部62は、協働ロボット3における外力検出部31による外力の検出結果に応じて、接触停止動作を制御する。ここで、接触停止動作は、協働ロボット3が外部からの接触力に応じて協働ロボット3の動作を停止することを示す。
次に、接触スキップ動作の具体的な処理について説明する。接触動作実行部61は、解析部52により解析されたロボット指令信号における接触スキップ動作信号に応じて、接触制御部62に外力閾値を通知し、接触制御部62は、外力閾値を超える外力の監視を開始する。
また、接触動作実行部61は、接触スキップ動作信号に応じて、ロボット命令生成部53に協働ロボット3の動作種別、移動量及び移動速度を通知し、ロボット命令生成部53は、協働ロボット3の動作種別、移動量及び移動速度に応じたロボット命令を生成する。その後、ロボット制御装置5は、上述したような制御を行い、協働ロボット3は、移動を開始する。
接触制御部62は、外力検出部31が検出した外力が、外力閾値を超える場合、サーボ制御部57に移動を停止することを通知し、外力検出部31が外力閾値を超える外力を検出した位置についての位置情報を取得する。
接触制御部62は、取得した位置情報及び協働ロボット3が停止したことを、接触動作実行部61へ通知する。接触動作実行部61は、取得した位置情報及び協働ロボット3が停止したことを、データ送受信部60を介して数値制御装置4へ通知する。
そして、上述したように、接触動作指令部47は、数値制御装置4から協働ロボット3が移動を停止したことが通知されると、ロボット制御指令の次の指令ブロックを実行する。また、数値制御装置4は、例えば、次の指令ブロックを実行し、取得した対象物の位置情報に基づいて、対象物の寸法を測定する。
図3及び図4は、接触スキップ指令の例を示す図である。図3に示される接触スキップ指令は、協働ロボット3が、直線動作中に接触スキップ動作を行う場合の指令である。図4に示される接触スキップ指令は、協働ロボット3が、各軸の動作中に接触スキップ動作を行う場合の指令である。
図3に示される接触スキップ指令は、複数の対応指令と、対応指令に対応する停止位置格納先と、を含む。各対応指令は、G100.1からG100.9のGコードである。停止位置格納先は、X、Y、Z、A、B及びCの各軸の直線動作に対応する6つのマクロ変数である。例えば、対応指令G100.1に対応する停止位置格納先は、6つのマクロ変数#100000から#100005である。
図4に示される接触スキップ指令は、複数の対応指令と、対応指令に対応する停止位置格納先と、を含む。各対応指令は、G200.1からG200.9のGコードである。
停止位置格納先は、J1、J2、J3、J4、J5及びJ6の各軸の動作に対応する6つのマクロ変数である。例えば、対応指令G200.1に対応する停止位置格納先は、6つのマクロ変数#100060から#100065である。
停止位置格納先は、J1、J2、J3、J4、J5及びJ6の各軸の動作に対応する6つのマクロ変数である。例えば、対応指令G200.1に対応する停止位置格納先は、6つのマクロ変数#100060から#100065である。
図5は、本実施形態に係る数値制御プログラムの例を示す図である。図6は、図5に示される数値制御プログラムを実行した際における数値制御装置4とロボット制御装置5との間の信号及び情報の流れを示すシーケンス図である。図5及び図6に示される例では、数値制御装置4は、接触スキップ動作指令を含む数値制御プログラムを実行し、協働ロボット3によって、対象物としての加工済みのワークの寸法を測定する。
先ず、“M100”が指令され、ロボット制御装置5は、工作機械2の加工系統によって加工されるワークの加工完了を待ち合わせる。次いで、“G68.8”が入力され、各軸座標系が選択される。“G7.3 J1=_J2=_J3=_J4=_J5=_J6=_”が指令されると、ロボット制御装置5は、各軸座標系上の初期位置に協働ロボット3を位置決めする。なお、コマンド中のアンダーバーの部分には、協働ロボット3の指定位置の座標値が入力される。
次いで、“G68.9”が指令され、直交座標系が選択される。“G01 X_Y_Z_A_B_C_P_”が指令されると、ロボット制御装置5は、直交座標系上の指定位置(工作機械2内の指定位置)へ協働ロボット3を直線移動させ、位置決めする。なお、コマンド中のアンダーバーの部分には、協働ロボット3の指定位置の座標値が入力される。
次いで、“G53.8 Q2”が指令され、協働ロボット3は、ツール座標系No.2(接触用ツール)を選択(変更)する。“G01 X_Y_Z_A_B_C_P_”が指令されると、ロボット制御装置5は、直交座標系上の+X方向のワーク寸法測定開始位置へ協働ロボット3を直線移動させ、位置決めする。
次いで、“G100.0 X100.0 Q1.0 F100;”が指令され、協働ロボット3及びロボット制御装置5は、接触スキップ動作を開始する。この指令は、協働ロボット3を+X方向へ移動させ、外力検出部31が外力を検出したときに協働ロボット3の移動を停止する。更に、この指令は、外力を検出する外力閾値を1.0Nに設定し、協働ロボット3の移動速度を100mm/minに設定する。
この指令に応じて、ロボット制御装置5は、協働ロボット3を、直線動作によって+X方向へ100mm/minの速度で移動を開始させる。そして、ロボット制御装置5は、1.0Nを超える外力を検出したときに協働ロボット3の移動を停止させ、外力を検出した位置の位置情報を数値制御装置4へ通知(送信)する。
接触動作指令部47は、ロボット制御装置5から協働ロボット3が移動を停止したことが通知されると、ロボット制御指令の次の指令ブロック、すなわち、“G01 X_Y_Z_A_B_C_P_”を実行する。“G01 X_Y_Z_A_B_C_P_”が指令されると、ロボット制御装置5は、直交座標系上の-X方向のワーク寸法測定開始位置へ協働ロボット3を直線移動させ、位置決めする。
次いで、“G100.1 X-100.0 Q1.0 F100;”が指令され、協働ロボット3及びロボット制御装置5は、接触スキップ動作を開始する。この指令は、協働ロボット3を-X方向へ移動させ、外力検出部31が外力を検出したときに協働ロボット3の移動を停止する。更に、この指令は、外力を検出する外力閾値を1.0Nに設定し、協働ロボット3の移動速度を100mm/minに設定する。
この指令に応じて、ロボット制御装置5は、協働ロボット3を、直線動作によって-X方向へ100mm/minの速度で移動を開始させる。そして、ロボット制御装置5は、1.0Nを超える外力を検出したときに協働ロボット3の移動を停止させ、外力を検出した位置の位置情報を数値制御装置4へ通知(送信)する。
接触動作指令部47は、数値制御装置4から協働ロボット3が移動を停止したことが通知されると、ロボット制御指令の次の指令ブロック、すなわち、“#100=#100006 - #100000”が指令される。#100006は、例えば、+X方向の位置情報の格納先であるマクロ変数であり、#100000は、-X方向の位置情報の格納先であるマクロ変数である。これにより、ロボット制御装置5は、外力を検出した二箇所の位置情報からワークの寸法#100を算出することができる。
次いで、“G01 X_Y_Z_A_B_C_P_”が指令されると、ロボット制御装置5は、直交座標系上の工作機械2外の指定位置へ協働ロボット3を直線移動させ、位置決めする。これにより、協働ロボット3は、工作機械2外へ退避する。
次いで、“M101”が指令され、ロボット制御装置5は、ワーク寸法測定完了を加工系統と待ち合わせる。次いで、“M30”が指令され、数値制御プログラムは終了する。
以上説明したように本実施形態によれば、数値制御装置4は、数値制御プログラム中のロボット制御指令を解析する解析部42と、解析部42により解析した接触スキップ動作指令に応じて、接触スキップ動作をロボット制御装置5に実行させるための接触スキップ動作信号を生成する接触動作指令部47と、接触スキップ動作信号を含むロボット指令信号を生成し、ロボット制御装置5へ送信するロボット指令信号生成部45と、を備える。接触スキップ動作指令は、協働ロボット3が外力を検出した場合に協働ロボット3を停止させるための外力閾値を含む。ロボット制御装置5は、接触スキップ動作信号に応じて、協働ロボット3の移動中に、協働ロボット3が検出した外力が外力閾値を超える場合、協働ロボット3の移動を停止させ、協働ロボット3が移動を停止したことを数値制御装置4に通知する。接触動作指令部47は、ロボット制御装置5から協働ロボット3が移動を停止したことが通知されると、ロボット制御指令の次の指令ブロックを実行する。
このような構成によって、数値制御装置4は、数値制御プログラム中の指令により、協働ロボット3に掛かる外力の閾値を設定して、協働ロボット3を移動させ、外力を検出した際に協働ロボット3の移動を停止する。これにより、数値制御装置4は、対象物への接触検出が可能になり、接触検出後に次ブロックの指令を実行することによって、連続した数値制御プログラムを実行することができる。更に、数値制御装置4は、数値制御プログラム中の指令によって協働ロボット3の接触スキップが可能になるため、工作機械2のユーザは、容易に協働ロボット3の機能を使用することができる。
また、ロボット制御指令の次の指令ブロックは、協働ロボット3が接触スキップ動作時に接触を検知した位置をロボット制御装置5から取得し、取得した位置に応じて対象物の寸法を測定することを含んでもよい。このような構成によって、数値制御装置4は、工作機械2によって加工済みのワーク等のような対象物の寸法を測定することができる。
また、接触スキップ動作信号は、協働ロボット3の移動方向又は移動速度に応じて、協働ロボット3の外力検出部31が外力を検出する際の力の成分又はトルクの成分を指定することを含んでもよい。このような構成によって、数値制御装置4は、指定した成分についての対象物の寸法を測定することができる。
また、接触スキップ動作信号は、協働ロボット3が外部との接触により動作を停止する接触停止動作の外力検出閾値よりも、接触スキップ動作の外力閾値を小さく設定することを含んでもよい。このような構成によって、数値制御装置4は、協働ロボット3が対象物と接触した際に動作を停止せずに、対象物の寸法を測定することができる。
また、数値制御システム1は、上述した構成を備える数値制御装置4と、接触スキップ動作信号に応じて、協働ロボット3が移動中に、協働ロボット3が検出した外力が外力閾値を超える場合、協働ロボット3の移動を停止させ、協働ロボット3が移動を停止したことを数値制御装置4に通知する接触動作実行部61を備えるロボット制御装置5と、を備える。接触動作指令部47は、ロボット制御装置5から協働ロボット3が移動を停止したことが通知されると、ロボット制御指令の次の指令ブロックを実行する。これにより、数値制御システム1は、対象物への接触検出が可能になり、接触検出後に次ブロックの指令を実行することによって、連続した数値制御プログラムを実行することができる。更に、数値制御システム1は、数値制御プログラム中の指令によって協働ロボット3の接触スキップが可能になるため、工作機械2のユーザは、容易に協働ロボット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)と、
前記解析部により解析した前記ロボット制御指令に応じて、接触スキップ動作を前記ロボット制御装置に実行させるための接触スキップ動作信号を生成する接触動作指令部(47)と、
前記接触スキップ動作信号を含むロボット指令信号を生成し、前記ロボット制御装置へ送信するロボット指令信号生成部(45)と、
を備え、
前記ロボット制御指令は、前記ロボットが外力を検出した場合に前記ロボットを停止させるための外力閾値を含み、
前記ロボット制御装置は、前記接触スキップ動作信号に応じて、前記ロボットの移動中に、前記ロボットが検出した外力が前記外力閾値を超える場合、前記ロボットの移動を停止させ、前記ロボットが移動を停止したことを前記数値制御装置に通知し、
前記接触動作指令部は、前記ロボット制御装置から前記ロボットが移動を停止したことが通知されると、前記ロボット制御指令の次の指令ブロックを実行する、
数値制御装置。
(付記2)
前記ロボット制御指令の次の指令ブロックは、前記ロボットが前記接触スキップ動作時に接触を検知した位置を前記ロボット制御装置から取得し、取得した前記位置に応じて対象物の寸法を測定することを含む、付記1に記載の数値制御装置。
(付記3)
前記接触スキップ動作信号は、前記ロボットの移動方向又は移動速度に応じて、前記ロボットが外力を検出する際の力又はトルクの成分を指定することを含む、付記1に記載の数値制御装置。
(付記4)
前記ロボットは、人との接触を検知して動作を停止する協働ロボットであり、
前記接触スキップ動作信号は、前記協働ロボットが外部との接触により動作を停止する接触停止動作の外力検出閾値よりも、前記接触スキップ動作の前記外力閾値を小さく設定することを含む、付記1に記載の数値制御装置。
(付記5)
数値制御装置(4)の数値制御プログラムを用いてロボット制御装置(5)を介してロボット(3)を制御する数値制御システム(1)であって、
前記数値制御装置は、
前記数値制御プログラム中のロボット制御指令を解析する解析部(42)と、
前記解析部により解析した前記ロボット制御指令に応じて、接触スキップ動作を前記ロボット制御装置に実行させるための接触スキップ動作信号を生成する接触動作指令部(47)と、
前記接触スキップ動作信号を含むロボット指令信号を生成し、前記ロボット制御装置へ送信するロボット指令信号生成部(45)と、
を備え、
前記ロボット制御指令は、前記ロボットが外力を検出した場合に前記ロボットを停止させるための外力閾値を含み、
前記ロボット制御装置は、前記接触スキップ動作信号に応じて、前記ロボットが移動中に、前記ロボットが検出した外力が前記外力閾値を超える場合、前記ロボットの移動を停止させ、前記ロボットが移動を停止したことを前記数値制御装置に通知する接触動作実行部を備え、
前記接触動作指令部は、前記ロボット制御装置から前記ロボットが移動を停止したことが通知されると、前記ロボット制御指令の次の指令ブロックを実行する、
る数値制御システム。
(付記6)
前記ロボット制御指令の次の指令ブロックは、前記ロボットが前記接触スキップ動作時に接触を検知した位置を前記ロボット制御装置から取得し、取得した前記位置に応じて対象物の寸法を測定することを含む、付記5に記載の数値制御システム。
(付記7)
前記接触スキップ動作信号は、前記ロボットの移動方向又は移動速度に応じて、前記ロボットが外力を検出する際の力又はトルクの成分を指定することを含む、付記5に記載の数値制御システム。
(付記8)
前記ロボットは、人との接触を検知して動作を停止する協働ロボットであり、
前記接触スキップ動作信号は、前記協働ロボットが外部との接触により動作を停止する接触停止動作の外力検出閾値よりも、前記接触スキップ動作の前記外力閾値を小さく設定することを含む、付記5に記載の数値制御システム。
(付記1)
数値制御プログラムを用いてロボット制御装置(5)を介してロボット(3)を制御する数値制御装置(4)であって、
前記数値制御プログラム中のロボット制御指令を解析する解析部(42)と、
前記解析部により解析した前記ロボット制御指令に応じて、接触スキップ動作を前記ロボット制御装置に実行させるための接触スキップ動作信号を生成する接触動作指令部(47)と、
前記接触スキップ動作信号を含むロボット指令信号を生成し、前記ロボット制御装置へ送信するロボット指令信号生成部(45)と、
を備え、
前記ロボット制御指令は、前記ロボットが外力を検出した場合に前記ロボットを停止させるための外力閾値を含み、
前記ロボット制御装置は、前記接触スキップ動作信号に応じて、前記ロボットの移動中に、前記ロボットが検出した外力が前記外力閾値を超える場合、前記ロボットの移動を停止させ、前記ロボットが移動を停止したことを前記数値制御装置に通知し、
前記接触動作指令部は、前記ロボット制御装置から前記ロボットが移動を停止したことが通知されると、前記ロボット制御指令の次の指令ブロックを実行する、
数値制御装置。
(付記2)
前記ロボット制御指令の次の指令ブロックは、前記ロボットが前記接触スキップ動作時に接触を検知した位置を前記ロボット制御装置から取得し、取得した前記位置に応じて対象物の寸法を測定することを含む、付記1に記載の数値制御装置。
(付記3)
前記接触スキップ動作信号は、前記ロボットの移動方向又は移動速度に応じて、前記ロボットが外力を検出する際の力又はトルクの成分を指定することを含む、付記1に記載の数値制御装置。
(付記4)
前記ロボットは、人との接触を検知して動作を停止する協働ロボットであり、
前記接触スキップ動作信号は、前記協働ロボットが外部との接触により動作を停止する接触停止動作の外力検出閾値よりも、前記接触スキップ動作の前記外力閾値を小さく設定することを含む、付記1に記載の数値制御装置。
(付記5)
数値制御装置(4)の数値制御プログラムを用いてロボット制御装置(5)を介してロボット(3)を制御する数値制御システム(1)であって、
前記数値制御装置は、
前記数値制御プログラム中のロボット制御指令を解析する解析部(42)と、
前記解析部により解析した前記ロボット制御指令に応じて、接触スキップ動作を前記ロボット制御装置に実行させるための接触スキップ動作信号を生成する接触動作指令部(47)と、
前記接触スキップ動作信号を含むロボット指令信号を生成し、前記ロボット制御装置へ送信するロボット指令信号生成部(45)と、
を備え、
前記ロボット制御指令は、前記ロボットが外力を検出した場合に前記ロボットを停止させるための外力閾値を含み、
前記ロボット制御装置は、前記接触スキップ動作信号に応じて、前記ロボットが移動中に、前記ロボットが検出した外力が前記外力閾値を超える場合、前記ロボットの移動を停止させ、前記ロボットが移動を停止したことを前記数値制御装置に通知する接触動作実行部を備え、
前記接触動作指令部は、前記ロボット制御装置から前記ロボットが移動を停止したことが通知されると、前記ロボット制御指令の次の指令ブロックを実行する、
る数値制御システム。
(付記6)
前記ロボット制御指令の次の指令ブロックは、前記ロボットが前記接触スキップ動作時に接触を検知した位置を前記ロボット制御装置から取得し、取得した前記位置に応じて対象物の寸法を測定することを含む、付記5に記載の数値制御システム。
(付記7)
前記接触スキップ動作信号は、前記ロボットの移動方向又は移動速度に応じて、前記ロボットが外力を検出する際の力又はトルクの成分を指定することを含む、付記5に記載の数値制御システム。
(付記8)
前記ロボットは、人との接触を検知して動作を停止する協働ロボットであり、
前記接触スキップ動作信号は、前記協働ロボットが外部との接触により動作を停止する接触停止動作の外力検出閾値よりも、前記接触スキップ動作の前記外力閾値を小さく設定することを含む、付記5に記載の数値制御システム。
1 数値制御システム
2 工作機械
3 協働ロボット
4 数値制御装置
5 ロボット制御装置
31 外力検出部
41 プログラム入力部
42 解析部
43 動作制御部
44 記憶部
45 ロボット指令信号生成部
46 データ送受信部
47 接触動作指令部
51 記憶部
52 解析部
53 ロボット命令生成部
54 プログラム管理部
55 軌跡制御部
56 キネマティクス制御部
57 サーボ制御部
58 負荷設定選択部
59 ダイナミクス制御部
60 データ送受信部
61 接触動作実行部
62 接触制御部
2 工作機械
3 協働ロボット
4 数値制御装置
5 ロボット制御装置
31 外力検出部
41 プログラム入力部
42 解析部
43 動作制御部
44 記憶部
45 ロボット指令信号生成部
46 データ送受信部
47 接触動作指令部
51 記憶部
52 解析部
53 ロボット命令生成部
54 プログラム管理部
55 軌跡制御部
56 キネマティクス制御部
57 サーボ制御部
58 負荷設定選択部
59 ダイナミクス制御部
60 データ送受信部
61 接触動作実行部
62 接触制御部
Claims (8)
- 数値制御プログラムを用いてロボット制御装置を介してロボットを制御する数値制御装置であって、
前記数値制御プログラム中のロボット制御指令を解析する解析部と、
前記解析部により解析した前記ロボット制御指令に応じて、接触スキップ動作を前記ロボット制御装置に実行させるための接触スキップ動作信号を生成する接触動作指令部と、
前記接触スキップ動作信号を含むロボット指令信号を生成し、前記ロボット制御装置へ送信するロボット指令信号生成部と、
を備え、
前記ロボット制御指令は、前記ロボットが外力を検出した場合に前記ロボットを停止させるための外力閾値を含み、
前記ロボット制御装置は、前記接触スキップ動作信号に応じて、前記ロボットの移動中に、前記ロボットが検出した外力が前記外力閾値を超える場合、前記ロボットの移動を停止させ、前記ロボットが移動を停止したことを前記数値制御装置に通知し、
前記接触動作指令部は、前記ロボット制御装置から前記ロボットが移動を停止したことが通知されると、前記ロボット制御指令の次の指令ブロックを実行する、
数値制御装置。 - 前記ロボット制御指令の次の指令ブロックは、前記ロボットが前記接触スキップ動作時に接触を検知した位置を前記ロボット制御装置から取得し、取得した前記位置に応じて対象物の寸法を測定することを含む、請求項1に記載の数値制御装置。
- 前記接触スキップ動作信号は、前記ロボットの移動方向又は移動速度に応じて、前記ロボットが外力を検出する際の力又はトルクの成分を指定することを含む、請求項1に記載の数値制御装置。
- 前記ロボットは、人との接触を検知して動作を停止する協働ロボットであり、
前記接触スキップ動作信号は、前記協働ロボットが外部との接触により動作を停止する接触停止動作の外力検出閾値よりも、前記接触スキップ動作の前記外力閾値を小さく設定することを含む、請求項1に記載の数値制御装置。 - 数値制御装置の数値制御プログラムを用いてロボット制御装置を介してロボットを制御する数値制御システムであって、
前記数値制御装置は、
前記数値制御プログラム中のロボット制御指令を解析する解析部と、
前記解析部により解析した前記ロボット制御指令に応じて、接触スキップ動作を前記ロボット制御装置に実行させるための接触スキップ動作信号を生成する接触動作指令部と、
前記接触スキップ動作信号を含むロボット指令信号を生成し、前記ロボット制御装置へ送信するロボット指令信号生成部と、
を備え、
前記ロボット制御指令は、前記ロボットが外力を検出した場合に前記ロボットを停止させるための外力閾値を含み、
前記ロボット制御装置は、前記接触スキップ動作信号に応じて、前記ロボットの移動中に、前記ロボットが検出した外力が前記外力閾値を超える場合、前記ロボットの移動を停止させ、前記ロボットが移動を停止したことを前記数値制御装置に通知する接触動作実行部を備え、
前記接触動作指令部は、前記ロボット制御装置から前記ロボットが移動を停止したことが通知されると、前記ロボット制御指令の次の指令ブロックを実行する、
る数値制御システム。 - 前記ロボット制御指令の次の指令ブロックは、前記ロボットが前記接触スキップ動作時に接触を検知した位置を前記ロボット制御装置から取得し、取得した前記位置に応じて対象物の寸法を測定することを含む、請求項5に記載の数値制御システム。
- 前記接触スキップ動作信号は、前記ロボットの移動方向又は移動速度に応じて、前記ロボットが外力を検出する際の力又はトルクの成分を指定することを含む、請求項5に記載の数値制御システム。
- 前記ロボットは、人との接触を検知して動作を停止する協働ロボットであり、
前記接触スキップ動作信号は、前記協働ロボットが外部との接触により動作を停止する接触停止動作の外力検出閾値よりも、前記接触スキップ動作の前記外力閾値を小さく設定することを含む、請求項5に記載の数値制御システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/043714 WO2024116221A1 (ja) | 2022-11-28 | 2022-11-28 | 数値制御装置及び数値制御システム |
TW112142233A TW202422252A (zh) | 2022-11-28 | 2023-11-02 | 數值控制裝置及數值控制系統 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/043714 WO2024116221A1 (ja) | 2022-11-28 | 2022-11-28 | 数値制御装置及び数値制御システム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024116221A1 true WO2024116221A1 (ja) | 2024-06-06 |
Family
ID=91323326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2022/043714 WO2024116221A1 (ja) | 2022-11-28 | 2022-11-28 | 数値制御装置及び数値制御システム |
Country Status (2)
Country | Link |
---|---|
TW (1) | TW202422252A (ja) |
WO (1) | WO2024116221A1 (ja) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0423015A (ja) * | 1990-05-17 | 1992-01-27 | Fanuc Ltd | 物体の認識制御方法 |
JP2008188722A (ja) * | 2007-02-06 | 2008-08-21 | Fanuc Ltd | ロボット制御装置 |
JP2012139789A (ja) * | 2011-01-04 | 2012-07-26 | Fanuc Ltd | 粗倣い制御を行うロボットの制御装置 |
JP2016064474A (ja) * | 2014-09-25 | 2016-04-28 | ファナック株式会社 | 人間協調ロボットシステム |
JP2021030318A (ja) * | 2019-08-14 | 2021-03-01 | オークマ株式会社 | 工作機械システム |
WO2022224425A1 (ja) * | 2021-04-23 | 2022-10-27 | ファナック株式会社 | 数値制御装置及び数値制御システム |
-
2022
- 2022-11-28 WO PCT/JP2022/043714 patent/WO2024116221A1/ja unknown
-
2023
- 2023-11-02 TW TW112142233A patent/TW202422252A/zh unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0423015A (ja) * | 1990-05-17 | 1992-01-27 | Fanuc Ltd | 物体の認識制御方法 |
JP2008188722A (ja) * | 2007-02-06 | 2008-08-21 | Fanuc Ltd | ロボット制御装置 |
JP2012139789A (ja) * | 2011-01-04 | 2012-07-26 | Fanuc Ltd | 粗倣い制御を行うロボットの制御装置 |
JP2016064474A (ja) * | 2014-09-25 | 2016-04-28 | ファナック株式会社 | 人間協調ロボットシステム |
JP2021030318A (ja) * | 2019-08-14 | 2021-03-01 | オークマ株式会社 | 工作機械システム |
WO2022224425A1 (ja) * | 2021-04-23 | 2022-10-27 | ファナック株式会社 | 数値制御装置及び数値制御システム |
Also Published As
Publication number | Publication date |
---|---|
TW202422252A (zh) | 2024-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6469065B2 (ja) | 機械学習装置及び加工時間予測装置 | |
JP5905158B2 (ja) | 数値制御装置 | |
JP4056542B2 (ja) | ロボットのオフライン教示装置 | |
JP2019146421A (ja) | 故障予測装置及び機械学習装置 | |
US20240219885A1 (en) | Numerical control device and numerical control system | |
US10994422B2 (en) | Robot system for adjusting operation parameters | |
KR101820580B1 (ko) | 경로 전진 변수들을 갖는 안전한 로봇 | |
WO2024116221A1 (ja) | 数値制御装置及び数値制御システム | |
JP2019136841A (ja) | 加工結果に基づいた学習制御を行うロボットシステム及びその制御方法 | |
WO2024116223A1 (ja) | ロボット制御装置 | |
WO2024100721A1 (ja) | 数値制御装置及び数値制御システム | |
Brown | Metrology Assisted Robotic Automation 2 | |
WO2024161517A1 (ja) | 数値制御装置及び数値制御システム | |
TW202019640A (zh) | 減速機系統、對驅動單元之指令值之修正方法、修正資料之產生方法、及減速機系統之製造方法 | |
WO2024100720A1 (ja) | 数値制御装置及び数値制御システム | |
WO2024100719A1 (ja) | 数値制御装置 | |
US20230415341A1 (en) | Numerical control device and numerical control system | |
WO2024100718A1 (ja) | 数値制御装置及び数値制御システム | |
WO2024166216A1 (ja) | 数値制御装置及び数値制御システム | |
TW202431043A (zh) | 機器人控制裝置 | |
JP7448736B1 (ja) | 数値制御装置及び数値制御システム | |
JP7332822B1 (ja) | 数値制御装置及び数値制御システム | |
Maťuga | Control and positioning of robotic arm on CNC cutting machines and their applications in industry | |
WO2024042728A1 (ja) | 数値制御システム、数値制御装置、産業用装置及びコンピュータプログラム | |
WO2022176818A1 (ja) | ロボット制御装置、ロボット制御システム、及びコンピュータプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22967058 Country of ref document: EP Kind code of ref document: A1 |