Robot control device, robot control system, and computer program

The robot control device addresses the challenge of avoiding interference by determining high-risk sections for robot collisions and adjusting speed or movement, ensuring safe and efficient operation in robot control systems.

JP7695336B2Active Publication Date: 2025-06-18FANUC LTD
View PDF 11 Cites 0 Cited by

Patent Information

Application Number
JP2023500832
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-02-18
Filing Date
2022-02-14
Publication Date
2025-06-18
Estimated Expiration
2042-02-14

AI Technical Summary

Technical Problem

Existing technologies for robot control systems face challenges in reliably avoiding interference between robots and peripheral objects, especially when errors occur in the setting of three-dimensional models, which can lead to potential collisions during actual machine operations.

Method used

The proposed solution involves a robot control device that acquires a robot path generated to avoid interference, determines sections with a high possibility of interference, and adjusts the robot's speed or movement to prevent collisions, ensuring the safety of the generated robot path.

Benefits of technology

This approach effectively prevents interference between robots and peripheral objects by identifying critical sections where posture changes are significant and adjusting the robot's speed or movement accordingly, thus ensuring safe and efficient operation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007695336000001
    Figure 0007695336000001
  • Figure 0007695336000002
    Figure 0007695336000002
  • Figure 0007695336000003
    Figure 0007695336000003
Patent Text Reader

Abstract

The objective of the present invention is to provide a technology enabling interference between a robot and a peripheral object to be reliably avoided, while confirming the safety of a generated robot path. A robot control device 3 is provided with: a data transmitting and receiving unit 32 for acquiring a robot path generated in such a way as to avoid interference between a robot 30 and a peripheral object, on the basis of a three-dimensional model of the robot 30 and the peripheral object; an interference determining unit 35 for determining, for each prescribed sector, whether there is a high probability of the robot 30 interfering with the peripheral object when the robot 30 is moved in accordance with the acquired robot path; and an override changing unit 36 for lowering the speed of the robot 30 or stopping the movement of the robot 30 for sectors in which the interference determining unit 35 has determined that the probability of interference is high.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a robot control device, a robot control system, and a computer program.

Background Art

[0002] Conventionally, for automation of machining, a system has been constructed that connects a machine tool and a robot to automate the attachment and removal of a machining workpiece. For example, since the inside of a machine tool such as a lathe is narrow and difficult to visually inspect, when causing a robot to attach and remove a machining workpiece, it is necessary to perform position teaching of the robot so as not to interfere with peripheral objects such as the machine tool. Therefore, a technique has been disclosed for easily creating a robot program capable of avoiding interference between a robot and peripheral objects (see, for example, Patent Document 1).

[0003] In the technique of Patent Document 1, a three-dimensional model composed of a robot and peripheral objects is created, and the start position and end position of the robot are specified on the created three-dimensional model. Then, the path of the robot is automatically calculated so as to avoid interference with peripheral objects existing in the section from the start position to the end position on the three-dimensional model. Thereby, regardless of the skill level of the operator, an interference avoidance path of the robot can be automatically generated.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] However, in the technology of Patent Document 1, if there is an error in the setting of the three-dimensional model input by the operator, when the robot is operated in the actual machine environment according to the path generated based on the three-dimensional model, there is a risk that the robot may interfere with peripheral objects such as machine tools. Therefore, a technology that can reliably avoid interference between the robot and peripheral objects while checking the safety of the generated robot path is required.

[0006] An object of the present disclosure is to provide a technology that can reliably avoid interference between a robot and peripheral objects while checking the safety of the generated robot path.

Means for Solving the Problems

[0007] One aspect of the present disclosure includes an acquisition unit that acquires a robot path generated to avoid interference between the robot and peripheral objects based on three-dimensional models of the robot and its peripheral objects, and when moving the robot according to the robot path acquired by the acquisition unit, an interference determination unit that determines for each predetermined section whether there is a high possibility that the robot will interfere with the peripheral objects, and a speed change unit that reduces the speed of the robot or stops the movement of the robot for a section determined by the interference determination unit to have a high possibility of the robot interfering with the peripheral objects, and provides a robot control device.

[0008] Further, one aspect of the present disclosure includes a robot path generation unit that generates the robot path to avoid interference between the robot and peripheral objects based on three-dimensional models of the robot and its peripheral objects, a transfer unit that transfers the robot path generated by the robot path generation unit to the robot control device as a robot program, and the robot control device, and the robot control device further includes a program activation unit that activates the robot program transferred by the transfer unit, and a program management unit that manages the robot program activated by the program activation unit and executes the determination by the interference determination unit and the speed change by the speed change unit, and provides a robot control system.

[0009] Also, one aspect of the present disclosure provides a computer program for causing a computer storing a robot program for controlling the operation of a robot to acquire a robot path generated to avoid interference between the robot and surrounding objects based on a three-dimensional model of the robot and its surrounding objects, to determine, for each predetermined section, whether there is a high possibility that the robot will interfere with the surrounding objects when moving the robot along the robot path, and to reduce the speed of the robot or stop the movement of the robot for a section determined to have a high possibility of interference between the robot and the surrounding objects.

Advantages of the Invention

[0010] According to the present disclosure, a section where there is a high possibility of interference between the robot and surrounding objects, that is, a section where the posture of the robot changes significantly, is determined, and by reducing or setting to zero the moving speed of the robot in that section, it is possible to reliably avoid interference between the robot and surrounding objects while confirming the safety of the generated robot path. Therefore, during the operation test of the robot, by operating the robot slowly only in the necessary sections, it is possible to efficiently perform the operation test while reliably avoiding interference while confirming the safety of the generated robot path.

Brief Description of the Drawings

[0011]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

[0012] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In the description of the second embodiment, the description of the configuration common to the first embodiment will be omitted.

[0013] [First embodiment] 1 is a functional block diagram of a robot control system 1 according to the first embodiment. The robot control system 1 according to the present embodiment includes a robot path generating device 2 that generates a robot path, and a robot control device 3 that controls the operation of a robot 30.

[0014] The robot path generating device 2 according to this embodiment may be provided in a numerical control device (CNC) that controls the operation of a machine tool (not shown) provided near the robot 30, or may be provided in a personal computer or the like. In the following, an example in which the robot path generating device 2 is provided in a numerical control device will be described.

[0015] The robot control system 1 according to this embodiment controls the operations of a machine tool and a robot 30 in a coordinated manner by using a robot path generating device 2 (numerical control device) and a robot control device 3 that are communicatively connected to each other.

[0016] The machine tool processes a workpiece (not shown) in response to a machine tool control signal transmitted from a robot path generating device 2 (numerical control device). Examples of the machine tool include, but are not limited to, a lathe, a drill press, a milling machine, a grinding machine, a laser processing machine, and an injection molding machine.

[0017] The robot 30 operates under the control of the robot control device 3 and performs a predetermined operation on a workpiece to be machined inside a machine tool such as a lathe. The robot 30 is, for example, an articulated robot, and a tool for gripping, machining, or inspecting the workpiece is attached to the tip of its arm. Hereinafter, the case where the robot 30 is a six-axis articulated robot will be described, but it is not limited thereto. Also, hereinafter, the case where the robot 30 is a six-axis articulated robot will be described, but the number of axes is not limited thereto.

[0018] The robot path generation device 2 and the robot control device 3 are each a computer composed of hardware such as arithmetic 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, main storage means such as a RAM (Random Access Memory) that stores data temporarily required for the arithmetic processing means to execute the computer program, operation means such as a keyboard for an operator to perform various operations, and display means such as a display for displaying various information to the operator. These robot path generation device 2 and robot control device 3 can transmit and receive various signals to and from each other, for example, via Ethernet (registered trademark).

[0019] First, the detailed configuration of the robot path generation device 2 will be described. The robot path generation device 2 realizes, by the above hardware configuration, a machine tool control function for controlling the operation of the machine tool and a function for generating the operation path of the control axes of the robot 30. Specifically, the robot path generation device 2 realizes various functions such as a storage unit 21, a robot path generation unit 22, a transfer unit 23, a program input unit 24, an analysis unit 25, a robot program start command unit 26, and a data transmission / reception unit 27.

[0020] The memory unit 21 has a program memory unit, a machine coordinate value memory unit, a robot coordinate value memory unit, a robot teaching position memory unit, and a three-dimensional model memory unit, none of which are shown in the figures.

[0021] The program memory unit stores a plurality of numerical control programs created based on operations by an operator, for example. More specifically, the program memory unit stores a numerical control program composed of a plurality of command blocks for the machine tool to control the operation of the machine tool and a plurality of command blocks for the robot to control the operation of the robot. The numerical control program stored in the program memory unit is described in a known programming language for controlling the operation of the machine tool, such as G code and M code.

[0022] The machine coordinate value memory unit stores machine coordinate values indicating the positions of various axes of the machine tool operating under the above numerical control program (that is, the positions of the tool post, table, etc. of the machine tool). These machine coordinate values are defined under a machine tool coordinate system with a reference point defined at an arbitrary position on or near the machine tool as the origin. The machine coordinate value memory unit is sequentially updated by a process (not shown) so as to store the latest value of the machine coordinate values that change sequentially under the numerical control program.

[0023] The robot coordinate value memory unit stores robot coordinate values indicating the position and orientation of the control point of the robot 30 operating under the control of the robot control device 3 (for example, the tip of the arm of the robot 30), in other words, the positions of the respective control axes of the robot 30. These robot coordinate values are defined under a robot coordinate system different from the machine tool coordinate system. The robot coordinate value memory unit is sequentially updated by the robot coordinate values acquired from the robot control device 3 by a process (not shown) so as to store the latest value of the robot coordinate values that change sequentially under the numerical control program.

[0024] The robot teaching position memory unit stores teaching positions such as the starting point and ending point of the robot 30 input by the operator, specifically, the teaching positions of the robot 30 input from a teach pendant or the like, and the teaching positions input from a keyboard or the like. The teaching positions of the robot 30 include robot coordinate values indicating the positions of the respective control axes of the robot 30, and these robot coordinate values are defined under a robot coordinate system different from the machine tool coordinate system.

[0025] The robot coordinate system is a coordinate system with a reference point defined at an arbitrary position on or near the robot 30 as the origin. In the following, the case where the robot coordinate system is different from the machine tool coordinate system will be described, but it is not limited to this. The robot coordinate system may be made to coincide with the machine tool coordinate system. In other words, the origin and coordinate axis directions of the robot coordinate system may be made to coincide with the origin and coordinate axis directions of the machine tool coordinate system.

[0026] Also, the robot coordinate system can be switched between two or more coordinate formats with different control axes. More specifically, in a numerical control program, the position and orientation of the control point of the robot 30 can be specified by a rectangular coordinate format or an axis coordinate format. Alternatively, it can also be specified by a tool coordinate system format.

[0027] In the axis coordinate format, the position and orientation of the control point of the robot 30 are specified by six real coordinate values with the rotation angle values (J1, J2, J3, J4, J5, J6) of the six joints of the robot 30 as components.

[0028] In the rectangular coordinate format, the position and orientation of the control point of the robot 30 are specified by six real coordinate values with three coordinate values (X, Y, Z) along three orthogonal coordinate axes and three rotation angle values (A, B, C) around the respective orthogonal coordinate axes as components.

[0029] Here, under each axis coordinate format, in order to directly specify the rotation angle of each joint of the robot 30, the axis arrangements of each arm and wrist of the robot 30 and the number of rotations of joints that can rotate more than 360 degrees (hereinafter, these are collectively referred to as the "form of the robot 30") are also uniquely determined. In contrast, under the Cartesian coordinate format, since the position and orientation of the control point of the robot 30 are specified by six coordinate values (X, Y, Z, A, B, C), the form of the robot 30 cannot be uniquely determined. Therefore, in the numerical control program for the robot, the form of the robot 30 can be specified by a form value P which is an integer value with a predetermined number of digits. Therefore, the position and orientation of the control point of the robot 30 and the form of the robot 30 are represented by six coordinate values (J1, J2, J3, J4, J5, J6) under each axis coordinate format, and are represented by six coordinate values and one form value (X, Y, Z, A, B, C, P) under the Cartesian coordinate format. Hereinafter, for convenience, the form value P is also referred to as a coordinate value.

[0030] Also, the tool coordinate system of the robot 30 is a coordinate system that defines the position of the tool tip point (TCP) of the robot 30 and the orientation of the tool. It is an operation around the mechanical interface coordinate system (wrist flange plane) of the robot 30, and the tool coordinate system is set by setting the offset value from the origin of this mechanical interface coordinate system and the rotation angle around each coordinate axis.

[0031] In the three-dimensional model storage unit, data related to a robot system model is stored, which is configured by arranging three-dimensional models simulating the three-dimensional shapes of each of the robot 30 and peripheral objects such as machine tools in a virtual space. Here, the peripheral objects include, in addition to the machine tool, the workpiece to be processed by the machine tool, the workpiece stocker in which a plurality of these workpieces are stored, the pallet, and the safety fence, etc., objects provided within the operating range of the robot 30. The robot path generation device 2 according to the present embodiment generates an operation locus of the control axis of the robot 30 that avoids interference on the robot system model by performing a simulation using the robot system model stored in the three-dimensional model storage unit.

[0032] The robot path generation unit 22 generates the operation path of the control axes of the robot 30. More specifically, the robot path generation unit 22 generates a robot path so as to avoid interference between the robot 30 and surrounding objects based on the start point and the end point as the robot teaching positions stored in the robot teaching position storage unit and the three-dimensional model of the robot 30 and its surrounding objects. The robot path generation unit 22 writes the generated robot path into the transfer unit 23 as a robot program.

[0033] When the robot path generated by the robot path generation unit 22 is written as a robot program, the transfer unit 23 transfers the robot path as a robot program to the storage unit 31 of the robot control device 3.

[0034] The program input unit 24 reads out the numerical control program from the program storage unit and sequentially inputs it to the analysis unit 25.

[0035] The analysis unit 25 analyzes the command type based on the numerical control program input from the program input unit 24 for each command block, and transmits the analysis result to a machine tool control unit (not shown) and a robot program start command unit 26. More specifically, when the command type of the command block is a command for the machine tool, the analysis unit 25 transmits this to the machine tool control unit, and when the command type of the command block is a command for the robot 30, the analysis unit 25 transmits this to the robot program start command unit 26.

[0036] The machine tool control unit (not shown) generates a machine tool control signal for controlling the operation of the machine tool according to the analysis result transmitted from the analysis unit 25, and inputs it to the actuator that drives various axes of the machine tool. The machine tool operates according to the machine tool control signal input from the machine tool control unit, and processes a workpiece (not shown). Further, after controlling the operation of the machine tool according to the numerical control program as described above, the machine tool control unit updates the machine coordinate values stored in the machine coordinate value storage unit with the latest machine coordinate values.

[0037] The robot program start command unit 26 generates a robot program start command, which serves as a trigger for starting on the robot controller 3 side, at a predetermined timing for a robot program among the programs stored in the storage unit 21 and analyzed by the analysis unit 25 to have a command type of the command block as a command for the robot 30. The robot program start command generated by the robot program start command unit 26 is generated, for example, by the G code of a numerical control program. In addition, whether it is in the path confirmation mode or the normal operation mode without path confirmation is described in the robot program start command generated by the robot program start command unit 26. The robot program start command unit 26 writes the generated robot program start command to the data transmission / reception unit 27. For the robot program analyzed by the analysis unit 25, the robot path is generated by the above-described robot path generation unit 22, transferred to the robot controller 3 side by the transfer unit 23, and stored in the storage unit 31. Therefore, when the robot program start command is transmitted from the data transmission / reception unit 27 to the robot controller 3 side, the robot program with the robot path already generated corresponding to the robot program start command is called and started from the storage unit 31 on the robot controller 3 side.

[0038] The data transmission / reception unit 27 transmits and receives various commands and data to and from the data transmission / reception unit 32 of the robot controller 3. When the robot program start command is written by the robot program start command unit 26, the data transmission / reception unit 27 transmits the robot program start command to the data transmission / reception unit 32 of the robot controller 3.

[0039] As will be described later, when the robot program start command is transmitted from the data transmission / reception unit 27 to the data transmission / reception unit 32, on the robot controller 3 side, the robot program with the robot path defined and transferred and stored in the storage unit 31 is started by the program start unit 33 and the program management unit 34, and the operation of the robot 30 is controlled based on the started robot program.

[0040] Next, the configuration of the robot control device 3 will be described in detail. As shown in FIG. 1, the robot control device 3 realizes various functions such as a storage unit 31, a data transmission / reception unit 32, a program startup unit 33, a program management unit 34, an interference determination unit 35, an override change unit 36, a trajectory control unit 37, a kinematics control unit 38, and a servo control unit 39 according to the above hardware configuration. Specifically, the robot control device 3 controls the operation of the robot 30 based on a command transmitted from the robot path generation device 2 by using these storage unit 31, data transmission / reception unit 32, program startup unit 33, program management unit 34, interference determination unit 35, override change unit 36, trajectory control unit 37, kinematics control unit 38, and servo control unit 39.

[0041] The storage unit 31 constitutes an acquisition unit, and acquires and stores a robot path as a robot program generated by the robot path generation unit 22 on the robot path generation device 2 side and transferred by the transfer unit 23. The robot program stored in the storage unit 31 is called by the program management unit 34 described later and started and reproduced.

[0042] The data transmission / reception unit 32 inputs a robot program startup command generated by the robot program startup command unit 26 on the robot path generation device 2 side and transmitted from the data transmission / reception unit 27 to the program startup unit 33 described later.

[0043] The program startup unit 33 inputs the robot program startup command input from the data transmission / reception unit 32 to the program management unit 34 described later. The program startup unit 33 starts the robot program under the management of the program management unit 34.

[0044] The program management unit 34 manages robot programs. Specifically, the program management unit 34 calls and starts playing the robot program corresponding to the robot program start command input from the program start unit 33 among the robot programs stored in the storage unit 31. Further, the program management unit 34 executes the instructions described in the started robot program. When the started robot program is a robot program for the path confirmation mode, the program management unit 34 causes the interference determination unit 35, which will be described later, to perform a determination and the override change unit 36 to perform a speed change. When the started robot program is a robot program for the normal operation mode, the program management unit 34 sequentially notifies the trajectory control unit 37 of the movement commands for the control axes of the robot 30.

[0045] The interference determination unit 35 moves the robot 30 according to the robot path of the robot program called and started by the program management unit 34 among the robot programs stored in the storage unit 31, and determines for each predetermined section whether there is a high possibility that the robot 30 will interfere with surrounding objects. Specifically, the interference determination unit 35 determines that there is a high possibility that the robot 30 will interfere with surrounding objects when at least one of the following conditions is met: near the form change point, near the coordinate system switching point, and a large change in the operability ellipsoid of the robot 30. Note that the setting of the section is not particularly limited, and it may be for each fixed section, and is appropriately set according to the content of the robot program.

[0046] When the robot 30 is near a morphological change point, it is before and after the robot 30 changes its form across a singular point. At this time, the interference determination unit 35 determines that the robot 30 is highly likely to interfere with surrounding objects. Here, for example, for a commanded position where the rotation axes of two or more shaft parts are aligned in a straight line, the rotation angles of those shaft parts cannot be uniquely determined, so the robot 30 cannot be moved to such a position. A position where the robot 30 cannot be controlled in this way is called a singular point. When teaching the robot 30, the tip of the robot 30 is moved while avoiding this singular point and its vicinity. Therefore, when the robot 30 changes its form across this singular point, it is presumed that it is necessary to avoid interference with surrounding objects. In this case, the interference determination unit 35 determines that the robot 30 is highly likely to interfere with surrounding objects. Whether the robot 30 is near a morphological change point can be determined by analyzing the robot program. For example, when the coordinate system is a rectangular coordinate system, it can be determined that it is near a morphological change point when the change rate of the arrangement (coordinate value) and the number of rotations (rotation angle) of each axis in the morphological value P is equal to or greater than each predetermined threshold value.

[0047] When the robot 30 is near a coordinate system switching point, it is before and after the coordinate system of the robot 30 switches, for example, between each axis coordinate system, rectangular coordinate system, and tool coordinate system. At this time, the interference determination unit 35 determines that the robot 30 is highly likely to interfere with surrounding objects. Here, the respective axis coordinate system, rectangular coordinate system, and tool coordinate system of the robot 30 are as described above. When these coordinate systems of the robot 30 switch, it is presumed that it is necessary to avoid interference with surrounding objects. In this case, the interference determination unit 35 determines that the robot 30 is highly likely to interfere with surrounding objects.

[0048] When the change in the manipulability ellipsoid of the robot 30 is large, it means that the change rate of the major axis and / or minor axis of the manipulability ellipsoid of the robot 30 is equal to or greater than each predetermined threshold value. At this time, the interference determination unit 35 determines that the robot 30 is highly likely to interfere with surrounding objects. Here, FIG. 2 is a diagram showing examples of the manipulability ellipsoids M1 and M2 of the robot 30. The manipulability ellipsoids M1 and M2 of the robot 30 are ellipsoids obtained from the eigenvalues λ and eigenvectors v of a matrix A calculated from the transposed matrix of the Jacobian matrix J representing the relationship between the joint velocity dθ / dt of the robot arm 30a and the end-effector velocity dx / dt in the robot 30. The eigenvector v represents the magnitude in the axial direction of the manipulability ellipsoid, and the square root of the eigenvalue λ represents the magnitude in the axial direction (major axis, minor axis of the ellipsoid). In the E direction where the axial magnitude is large, a large force can be output, while in the D direction where the axial magnitude is small, since it approaches the singular point posture of the robot 30, a large force cannot be output. Therefore, usually, the robot 30 is controlled in the direction where a large force can be output. However, when the robot 30 is likely to interfere with surrounding objects, the robot 30 is controlled in a direction different from the direction where a large force can be output. Therefore, when the change rate of the major axis and / or minor axis of the manipulability ellipsoid of the robot 30 is equal to or greater than each predetermined threshold value, the interference determination unit 35 determines that the robot 30 is highly likely to interfere with surrounding objects. Each threshold value is appropriately set in advance by conducting experiments or the like.

[0049] Returning to FIG. 1, the override change unit 36 constitutes a speed change unit, and for a section where the interference determination unit 35 determines that the robot 30 is highly likely to interfere with surrounding objects, it reduces the speed of the robot 30 or stops the movement of the robot 30 (changes the speed to 0). Here, the robot control device 3 of the present embodiment has an override function for controlling the operation of the robot 30 by applying an override (multiplier: override amount) to the operation conditions in order to adjust the operation conditions of the robot 30 without editing the robot program and perform optimal operation control. Therefore, the override change unit 36 reduces the speed of the robot 30 or stops the movement of the robot 30 by reducing the speed override of the robot 30. Thereby, in a section determined to correspond to at least one of near the form change point, near the coordinate system switching point, and a large change in the operability ellipsoid of the robot 30, the speed of the robot 30 is reduced or the movement of the robot 30 is stopped, so that the interference between the robot 30 and surrounding objects can be reliably avoided while confirming the safety of the generated robot path.

[0050] The trajectory control unit 37 calculates time-series data of the control points of the robot 30 according to the movement command notified from the program management unit 34 and inputs it to the kinematics control unit 38.

[0051] The kinematics control unit 38 calculates the target angles of the respective joints of the robot 30 from the input time-series data and inputs them to the servo control unit 39.

[0052] The servo control unit 39 generates a robot control signal for the robot 30 by feedback-controlling each servo motor of the robot 30 so that the target angle input from the kinematics control unit 38 is realized, and inputs it to the servo motors of the robot 30.

[0053] Next, the procedure of the robot path confirmation process executed by the robot control device 3 according to this embodiment will be described. FIG. 3 is a flowchart showing the procedure of the robot path confirmation process according to this embodiment. Note that this process may be pre-read and processed in advance along with the execution of the robot program, and since the robot program is stored in the storage unit 31, this process may be executed in advance.

[0054] In step S11, it is determined whether this robot program is a robot program for the path confirmation mode. If this determination is YES, the process proceeds to step S2. If NO, since this robot program is a robot program for the normal operation mode, the process proceeds to step S15, the moving speed of the robot 30 is set to the normal speed by speed override, and this process ends.

[0055] In step S12, it is determined whether the robot 30 corresponds to at least one of the vicinity of the form change point, the vicinity of the coordinate system switching point, and a large change in the operability ellipsoid. If this determination is YES, the process proceeds to step S13 and the moving speed of the robot 30 is set to the path confirmation speed. Specifically, by reducing the speed override of the robot 30, the speed of the robot 30 is reduced or the movement of the robot 30 is stopped, and this process ends. If this determination is NO, the process proceeds to step S14, the moving speed of the robot 30 is set to the normal speed by speed override, and this process ends.

[0056] As described above, according to this embodiment, a section where the possibility of interference between the robot 30 and surrounding objects is high, that is, a section where the posture of the robot 30 changes greatly, is determined, and the movement speed override of the robot 30 in that section is reduced to reduce the movement speed to 0 or lower, thereby ensuring the safety of the generated robot path while reliably avoiding interference between the robot 30 and surrounding objects. Therefore, during the operation test of the robot 30, by operating the robot 30 slowly only in the necessary sections, it is possible to efficiently perform the operation test while ensuring the safety of the generated robot path and reliably avoiding interference.

[0057] In recent years, in order to promote the automation of the processing site, a system that controls the operation of a machine tool that processes a workpiece and the operation of a robot provided in the vicinity of the machine tool in conjunction with each other has been desired. Generally, the numerical control program for controlling the machine tool and the robot program for controlling the robot have different programming languages. Therefore, in order to link the operation of the machine tool and the operation of the robot, the operator needs to be familiar with both the numerical control program and the robot program. On the other hand, according to the present embodiment, since the robot program including the robot path is automatically generated by the numerical control program, the above-described effect can be obtained regardless of the proficiency of the operator.

[0058] [Second Embodiment] FIG. 4 is a functional block diagram of a robot control system 1A according to the second embodiment. As shown in FIG. 4, the robot control system 1A according to the present embodiment is different in part of the configuration of the robot control device 3A that controls the operation of the robot 30 from the robot control system 1 according to the first embodiment. Specifically, the robot control device 3A according to the present embodiment changes the speed of the robot 30 by an operation of a manual pulse generator, unlike the first embodiment that changes the speed of the robot 30 by an override function. Therefore, the robot control device 3 according to the present embodiment includes an operation amount analysis unit 42 that analyzes the operation amount of the manual pulse generator 41, a forward / backward control unit 43, an analysis unit 44, and a movement magnification change unit 45.

[0059] The manual pulse generator 41 includes a manual handle that can be manually operated by the operator. For example, when the operator rotates the rotary manual handle, the manual pulse generator 41 outputs a signal of a pulse train corresponding to the rotation speed, and the signal is input to the operation amount analysis unit 42 described later.

[0060] The operation amount analysis unit 42 analyzes the manual operation amount of the operator on the manual handle from the output of the manual pulse generator 41. The operation amount analysis unit 42 outputs the analyzed manual operation amount to the forward / backward control unit 43 described later. The manual operation amount includes the number of rotations (rotation speed) in the forward rotation direction and the number of rotations (rotation speed) in the reverse rotation direction.

[0061] The forward / backward control unit 43 causes the robot 30 to perform a trace operation by moving forward and / or backward along the robot path transferred from the transfer unit 23, acquired, and stored in the storage unit 31 according to the manual operation amount analyzed by the operation amount analysis unit 42. That is, this forward / backward control unit 43 substitutes the movement speed command obtained by analyzing the robot program by the analysis unit 44 described later with the movement speed corresponding to the manual operation amount analyzed by the operation amount analysis unit 42. Specifically, when the manual operation amount analyzed by the operation amount analysis unit 42 is in the forward rotation direction, the forward / backward control unit 43 outputs a signal corresponding to the number of rotations (rotation speed) to the adder 46, thereby notifying the trajectory control unit 37 to perform a trace operation by moving the robot 30 forward at a movement speed corresponding to the manual operation amount instead of the movement speed command obtained by analyzing the robot program. Also, when the manual operation amount analyzed by the operation amount analysis unit 42 is in the reverse rotation direction, the forward / backward control unit 43 outputs a signal corresponding to the number of rotations (rotation speed) to the adder 46, thereby notifying the trajectory control unit 37 to perform a trace operation by moving the robot 30 backward at a movement speed corresponding to the manual operation amount instead of the movement speed command obtained by analyzing the robot program.

[0062] The analysis unit 44 analyzes the robot program activated by the program activation unit 33 under the management of the program management unit 34. Specifically, the analysis unit 44 outputs the movement speed command obtained by analyzing the robot program to the adder 46.

[0063] The movement magnification change unit 45 constitutes a speed change unit, and by reducing the movement magnification of the trace operation speed of the robot 30, the movement speed of the robot 30 is reduced or the movement of the robot 30 is stopped. Thereby, in a section determined to correspond to at least one of the vicinity of the form change point, the vicinity of the coordinate system switching point, and the large change in the operability ellipsoid of the robot 30, in order to reduce the speed of the robot 30 or stop the movement of the robot 30, while checking the safety of the generated robot path, interference between the robot 30 and surrounding objects can be reliably avoided.

[0064] Next, the procedure of the robot path confirmation process executed by the robot control device 3A according to the present embodiment will be described. FIG. 5 is a flowchart showing the procedure of the robot path confirmation process according to the present embodiment. Note that this process may be pre-read and processed in advance along with the execution of the robot program, and since the robot program is stored in the storage unit 31, this process may be executed in advance.

[0065] In step S21, it is determined whether or not the robot is in the trace operation of the robot path. If this determination is YES, the process proceeds to step S22. If NO, since it is in the normal operation when not in the trace operation of the robot path, the process proceeds to step S25 to set the movement speed of the robot 30 to the normal speed, and this process ends.

[0066] In step S22, it is determined whether or not the robot 30 corresponds to at least one of the vicinity of the form change point, the vicinity of the coordinate system switching point, and the large change in the operability ellipsoid. If this determination is YES, the process proceeds to step S23 to set the movement speed of the robot 30 to the speed for path confirmation. Specifically, by reducing the movement magnification of the robot 30, the speed of the robot 30 is reduced or the movement of the robot 30 is stopped, and this process ends. If this determination is NO, the process proceeds to step S24 to set the movement speed of the robot 30 to the normal speed, and this process ends.

[0067] As described above, according to the present embodiment, a section where the possibility of interference between the robot 30 and surrounding objects is high, that is, a section where the posture of the robot 30 changes greatly, is determined, and the moving speed of the robot 30 corresponding to the manual operation amount of the manual pulse generator 41 in that section is reduced or set to 0 by reducing the movement magnification, so that while confirming the safety of the generated robot path, interference between the robot 30 and surrounding objects can be surely avoided. Therefore, at the time of the operation test of the robot 30, by operating the robot 30 slowly only in the necessary section, it is possible to efficiently perform the operation test while surely avoiding interference while confirming the safety of the generated robot path. Further, since the manual handle (manual pulse generator) can be used during automatic operation to make the program run forward and backward, it is possible to easily check for errors in the program while actually operating the robot 30. Furthermore, according to the present embodiment as in the first embodiment, since the robot program including the robot path is automatically generated by the numerical control program, the above-described effects can be obtained regardless of the operator's proficiency level.

[0068] The present disclosure is not limited to the above-described embodiments, and various changes and modifications are possible. For example, in each of the above-described embodiments, the case where the present disclosure is realized by the robot control systems 1, 1A including the robot path generation device 2 and the robot control devices 3, 3A has been described, but the present disclosure is not limited thereto. The various functions of the above-described robot path generation device 2 and robot control devices 3, 3A can also be realized by a computer program that causes a computer to execute them.

[0069] In addition, in each of the above-described embodiments, when the robot 30 corresponds to at least one of the vicinity of a form change point, the vicinity of a coordinate system switching point, and a large change in the manipulability ellipsoid, the moving speed of the robot 30 is changed to a predetermined path confirmation speed. However, the present invention is not limited to this. For example, when it is determined that the robot 30 is in the vicinity of a form change point, the moving speed of the robot 30 is decreased to a first path confirmation speed. When it is determined that the robot 30 is in the vicinity of a coordinate system switching point, the moving speed is decreased to a second path confirmation speed different from the first path confirmation speed. When it is determined that the change in the manipulability ellipsoid is large, the moving speed may be decreased to a third path confirmation speed different from both the first path confirmation speed and the second path confirmation speed.

Explanation of Signs

[0070] 1 Robot control system 2 Robot path generation device 3 Robot control device 21 Storage unit 22 Robot path generation unit 23 Transfer unit 24 Program input unit 25 Analysis unit 26 Robot program start command unit 27 Data transmission / reception unit 30 Robot 30a Robot arm 31 Storage unit 32 Data transmission / reception unit (acquisition unit) 33 Program start unit 34 Program management unit 35 Interference determination unit 36 Override change unit (speed change unit) 37 Trajectory control unit 38 Kinematics control unit 39 Servo control unit 41 Manual pulse generator 42 Operation amount analysis unit 43 Forward / backward control unit 44 Analysis unit 45 Movement magnification change unit (speed change unit) 46 Adder

Claims

1. An acquisition unit that acquires a robot path generated to avoid interference between the robot and surrounding objects based on a three-dimensional model of the robot and its surrounding objects; An interference determination unit that determines, for each predetermined section, whether there is a high possibility that the robot will interfere with the surrounding objects when moving the robot according to the robot path acquired by the acquisition unit; A speed change unit that reduces the speed of the robot or stops the movement of the robot for a section determined by the interference determination unit to have a high possibility of the robot interfering with the surrounding objects, and is provided with a robot control device. The interference determination unit determines that there is a high possibility that the robot will interfere with the surrounding objects when the robot changes its form across a singular point as a position where the robot cannot be controlled due to the rotation axes of two or more shaft parts being aligned in a straight line. Robot control device.

2. The interference determination unit determines that there is a high possibility that the robot will interfere with the surrounding objects when the coordinate system of the robot is switched. The robot control device according to claim 1.

3. An acquisition unit that acquires a robot path generated to avoid interference between the robot and surrounding objects based on a three-dimensional model of the robot and its surrounding objects; An interference determination unit that determines, for each predetermined section, whether there is a high possibility that the robot will interfere with the surrounding objects when moving the robot according to the robot path acquired by the acquisition unit; A speed change unit that reduces the speed of the robot or stops the movement of the robot for a section determined by the interference determination unit to have a high possibility of the robot interfering with the surrounding objects, and is provided with a robot control device. The interference determination unit determines that there is a high possibility that the robot will interfere with the surrounding objects when the coordinate system of the robot is switched. Robot control device.

4. When each change rate of the major axis and / or minor axis of the manipulability ellipsoid of the robot is equal to or greater than each predetermined threshold value, the interference determination unit determines that there is a high possibility that the robot interferes with the surrounding object. The robot control device according to any one of claims 1 to 3.

5. An acquisition unit that acquires a robot path generated to avoid interference between the robot and the surrounding object based on a three-dimensional model of the robot and the surrounding object; An interference determination unit that determines, for each predetermined section, whether there is a high possibility that the robot interferes with the surrounding object when moving the robot according to the robot path acquired by the acquisition unit; A speed change unit that reduces the speed of the robot or stops the movement of the robot for a section in which the interference determination unit determines that there is a high possibility that the robot interferes with the surrounding object. The interference determination unit determines that there is a high possibility that the robot interferes with the surrounding object when each change rate of the major axis and / or minor axis of the manipulability ellipsoid of the robot is equal to or greater than each predetermined threshold value. The robot control device.

6. The speed change unit reduces the speed of the robot or stops the movement of the robot by reducing the speed override of the robot. The robot control device according to any one of claims 1 to 5.

7. An operation amount analysis unit that analyzes a manual operation amount from the output of a manual pulse generator; A forward / backward control unit that causes the robot to perform a trace operation by moving the robot forward and / or backward along the robot path acquired by the acquisition unit according to the manual operation amount analyzed by the operation amount analysis unit. The speed change unit reduces the speed of the robot or stops the movement of the robot by reducing the movement magnification of the trace operation speed of the robot. The robot control device according to any one of claims 1 to 5.

8. The robot control device according to any one of claims 1 to 7; A robot path generation device that generates the robot path, and the like. The robot path generation device is Based on the 3D model of the robot and its surrounding objects, a robot path generation unit that generates the robot path so as to avoid interference between the robot and the surrounding objects. A transfer unit that transfers the robot path generated by the robot path generation unit to the robot control device as a robot program. The robot control device is A program activation unit that activates the robot program transferred by the transfer unit. A robot control system further comprising a program management unit that manages the robot program activated by the program activation unit and causes the determination by the interference determination unit and the speed change by the speed change unit to be executed.

9. On a computer that stores a robot program for controlling the operation of a robot, An acquisition step of acquiring a robot path generated so as to avoid interference between the robot and its surrounding objects based on the 3D model of the robot and its surrounding objects. An interference determination step of determining, for each predetermined section, whether there is a high possibility that the robot will interfere with the surrounding objects when moving the robot according to the robot path. A computer program for executing a speed change step of reducing the speed of the robot or stopping the movement of the robot for a section in which it is determined that there is a high possibility that the robot will interfere with the surrounding objects. In the interference determination step, when the robot straddles and changes its form at a singular point that is a position where the robot cannot be controlled due to the rotational axes of two or more shaft parts being aligned in a straight line, it is determined that there is a high possibility that the robot will interfere with the surrounding objects.

10. On a computer that stores a robot program for controlling the operation of a robot, An acquisition step of acquiring a robot path generated to avoid interference between the robot and the surrounding objects based on a three-dimensional model of the robot and its surrounding objects, An interference determination step of determining, for each predetermined section, whether there is a high possibility that the robot will interfere with the surrounding objects when moving the robot according to the robot path, and A speed change step of reducing the speed of the robot or stopping the movement of the robot for a section in which it is determined that there is a high possibility that the robot will interfere with the surrounding objects, and a computer program for executing the steps, In the interference determination step, when the coordinate system of the robot is switched, it is determined that there is a high possibility that the robot will interfere with the surrounding objects. A computer program.

11. In a computer that stores a robot program for controlling the operation of a robot, An acquisition step of acquiring a robot path generated to avoid interference between the robot and the surrounding objects based on a three-dimensional model of the robot and its surrounding objects, An interference determination step of determining, for each predetermined section, whether there is a high possibility that the robot will interfere with the surrounding objects when moving the robot according to the robot path, and A speed change step of reducing the speed of the robot or stopping the movement of the robot for a section in which it is determined that there is a high possibility that the robot will interfere with the surrounding objects, and a computer program for executing the steps, In the interference determination step, when each change rate of the major axis and / or minor axis of the operability ellipsoid of the robot is equal to or greater than each predetermined threshold value, it is determined that there is a high possibility that the robot will interfere with the surrounding objects. A computer program.

Citation Information

Patent Citations

  • Method and device for generating operation program for robot

    JP1997244724A

  • Inter-robot interference preventive control device

    JP2006068857A

  • Method for generating operation route for robot

    JP2010201592A

  • Robot program creation method, robot program creation device, program, and recording medium

    JP2015098076A

  • Robot simulation device for creating motion path of robot

    JP2015160277A