Command generating device and computer program

JP7633371B2Active Publication Date: 2025-02-19FANUC LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2023503895
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-03-05
Filing Date
2022-03-02
Publication Date
2025-02-19
Estimated Expiration
2042-03-02

AI Technical Summary

Benefits of technology

【0009】 本発明によれば、座標値及び形態情報を意識せずにロボット数値制御指令を生成可能な指令生成装置及びコンピュータプログラムを提供できる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007633371000001
    Figure 0007633371000001
  • Figure 0007633371000002
    Figure 0007633371000002
  • Figure 0007633371000003
    Figure 0007633371000003
Patent Text Reader

Abstract

Provided are a command generation device and a computer program with which a robot numerical value control command can be generated without the need for consideration of coordinate values and morphological information. A numerical value control device 2 is provided with a robot numerical value control command generation unit 22 that generates a robot numerical value control command for a robot in accordance with a numerical value control program. The robot numerical value control command generation unit 22 generates the robot numerical value control command on the basis of: at least one of a motion type of a robot 30, a motion speed of the robot 30, a positioning type of the robot 30, and a coordinate value type of the robot 30; coordinate values at a robot teaching point acquired on the basis of the coordinate value type of the robot 30; and morphological information relating to the robot 30 at the robot teaching point.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to a command generating device and a computer program. [Background technology]

[0002] In recent years, in order to promote automation in machining sites, there is a demand for a numerical control system that controls the operation of a machine tool that processes a workpiece in conjunction with the operation of a robot installed in the vicinity of the machine tool (see, for example, Patent Document 1).

[0003] Generally, the programming languages ​​used for the numerical control programs for controlling machine tools and the robot programs for controlling robots are different, so that in order to link the operation of the machine tool with the operation of the robot, the operator needs to be familiar with both the numerical control programs and the robot programs. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Patent No. 5752179 Summary of the Invention [Problem to be solved by the invention]

[0005] In particular, when describing the robot's operation in a numerical control program, there is a problem that coordinate values ​​on the Cartesian coordinate system and each axis coordinate system that are normally used for controlling the robot cannot be intuitively input. In addition, there is a problem that it is difficult to easily create a robot operation program in the language of the machine tool because it is necessary to specify the robot's configuration information, which is unfamiliar to machine tool users.

[0006] The present disclosure aims to provide a command generating device and a computer program capable of generating robot numerical control commands without being aware of coordinate values ​​and configuration information. [Means for solving the problem]

[0007] One aspect of the present disclosure provides a command generating device including a robot numerical control command generating unit that generates a robot numerical control command for a robot in accordance with a numerical control program, wherein the robot numerical control command generating unit generates the robot numerical control command based on at least one of the robot's motion type, the robot's motion speed, the robot's positioning type, and the robot's coordinate value type, coordinate values ​​of a robot teaching point acquired based on the robot's coordinate value type, and configuration information of the robot at the robot teaching point.

[0008] Furthermore, one aspect of the present disclosure provides a computer program for causing a computer to execute a step of generating a robot numerical control command for the robot according to a numerical control program based on at least one of a robot's operation type, the robot's operation speed, the robot's positioning type, and the robot's coordinate value type, coordinate values ​​of a robot teaching point acquired based on the robot's coordinate value type, and configuration information of the robot at the robot teaching point. Effect of the Invention

[0009] According to the present invention, it is possible to provide a command generating device and a computer program capable of generating robot numerical control commands without being aware of coordinate values ​​and configuration information. [Brief description of the drawings]

[0010] [Figure 1] FIG. 1 is a schematic diagram of a numerical control system according to an embodiment of the present disclosure. [Diagram 2] FIG. 1 is a functional block diagram of a numerical control device and a robot control device according to an embodiment of the present disclosure. [Diagram 3] FIG. 13 is a diagram for explaining a smooth operation. [Figure 4] 13 is a flowchart showing a procedure for a robot numerical control command generation process. [Diagram 5]FIG. 2 is a diagram illustrating an example of an operation screen of a numerical control device according to an embodiment of the present disclosure. [Figure 6] 13 is a flowchart showing a procedure for an operation type selection process. [Figure 7] 13 is a flowchart showing a procedure for a coordinate value type selection process. [Figure 8] 13 is a flowchart showing a procedure for a positioning type selection process. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] Hereinafter, an embodiment of the present disclosure will be described in detail with reference to the drawings.

[0012] FIG. 1 is a schematic diagram of a numerical control system 1 according to an embodiment of the present disclosure.

[0013] The numerical control system 1 includes a numerical control device (CNC) 2 that controls a machine tool 20, and a robot control device 3 that is communicatively connected to the numerical control device 2 and controls a robot 30 provided in the vicinity of the machine tool 20. The numerical control system 1 according to this embodiment controls the operations of the machine tool 20 and the robot 30 in a coordinated manner by using the numerical control device 2 and the robot control device 3 that are communicatively connected to each other.

[0014] The numerical control device 2 generates machine tool command signals which are commands for the machine tool 20 and robot command signals which are commands for the robot 30 in accordance with a predetermined numerical control program, and transmits these machine tool command signals and robot command signals to the machine tool 20 and the robot control device 3. The robot control device 3 controls the operation of the robot 30 in response to the robot command signals transmitted from the numerical control device 2.

[0015] Machine tool 20 machines a workpiece (not shown) in response to a machine tool command signal transmitted from numerical control device 2. Machine tool 20 is, for example, a lathe, a drilling machine, a milling machine, a grinding machine, a laser processing machine, an injection molding machine, or the like, but is not limited to these.

[0016] The robot 30 operates under the control of the robot control device 3, and executes a predetermined task on a workpiece being machined inside a machine tool 20 such as a lathe. The robot 30 is, for example, an articulated robot, and a tool 30b for gripping, machining, and inspecting the workpiece is attached to an arm tip 30a. In the following, the robot 30 will be described as being a six-axis articulated robot, but the number of axes is not limited thereto. In the following, the robot 30 will be described as being a six-axis articulated robot, but the number of axes is not limited thereto.

[0017] FIG. 2 is a functional block diagram of the numerical control device 2 and the robot control device 3 according to an embodiment of the present disclosure.

[0018] In this embodiment, the command generating device of the present disclosure that generates robot numerical control commands for a robot according to a numerical control program is provided in a numerical control device 2, but is not limited thereto. For example, the command generating device of the present disclosure may be provided in a personal computer or the like. An example in which the command generating device of the present disclosure is provided in a numerical control device 2 will be described below.

[0019] The numerical control device 2 and the robot control device 3 are computers 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) storing various computer programs, 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, 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. The numerical control device 2 and the robot control device 3 are capable of transmitting and receiving various signals to each other, for example, via Ethernet (registered trademark).

[0020] First, a detailed configuration of the numerical control device 2 will be described. With the above hardware configuration, the numerical control device 2 realizes a machine tool control function for controlling the operation of the machine tool 20 and a function for generating a robot command signal for controlling the operation of the control axis of the robot 30. Specifically, the numerical control device 2 realizes various functions such as a selection unit 21, a robot numerical control command generation unit 22, a storage unit 23, a program input unit 24, an analysis unit 25, a robot command signal generation unit 26, a data transmission / reception unit 27, a robot operation unit 28, a robot coordinate value / shape information acquisition unit 29, etc.

[0021] The selection unit 21 selects at least one of the motion type of the robot 30, the motion speed of the robot 30, the positioning type of the robot 30, and the coordinate value type of the robot 30. More specifically, the selection unit 21 selects at least one of the motion type of the robot 30, the motion speed of the robot 30, the positioning type of the robot 30, and the coordinate value type of the robot 30, in response to an input by an input operation by an operator. In addition, the selection unit 21 outputs the selection result to the robot numerical control command generation unit 22.

[0022] Specifically, the selection unit 21 selects and specifies, as the motion type of the robot 30, one of each axis motion, linear motion, and circular motion, in response to an input by an operator's input operation. Here, each axis motion is a motion type in which each axis of the robot 30 is operated without causing each joint of the robot 30 to operate in coordination. The linear motion is a motion type in which the arm tip 30a of the robot 30 is operated so that the movement path of the tool 30b attached to the arm tip 30a of the robot 30 is a straight line. The circular motion is a motion type in which the arm tip 30a of the robot 30 is operated so that the movement path of the tool 30b attached to the arm tip 30a of the robot 30 is an arc.

[0023] Furthermore, in response to an input by an operator's input operation, the selection unit 21 selects and specifies the coordinate values ​​of the robot coordinate system, either the axis coordinate values ​​or the Cartesian coordinate values, as the coordinate value type of the robot 30. When the robot coordinate system is selected by this selection unit 21, the coordinate values ​​and configuration information of the teaching points of the robot 30 based on the selected coordinate system are acquired by a robot coordinate value / configuration information acquisition unit 29, which will be described later.

[0024] Here, the robot coordinate system is a coordinate system whose origin is a reference point determined at an arbitrary position on the robot 30 or in the vicinity of the robot 30. In the following, a case where the robot coordinate system is different from the machine tool coordinate system will be described, but this is not limiting. 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.

[0025] In addition, the robot coordinate system can be switched between two or more coordinate formats with different control axes. More specifically, in the numerical control program, the position and orientation of the control point of the robot 30 can be specified in the Cartesian coordinate format or the coordinate format for each axis.

[0026] In each axis coordinate format, the position and orientation of the control point of the robot 30 is specified by a total of six real coordinate values ​​whose components are the rotation angle values ​​(J1, J2, J3, J4, J5, J6) of the six joints of the robot 30.

[0027] In the Cartesian coordinate format, the position and orientation of the control point of the robot 30 is specified by a total of six real coordinate values, consisting of three coordinate values ​​(X, Y, Z) along three Cartesian coordinate axes and three rotation angle values ​​(A, B, C) around each Cartesian coordinate axis.

[0028] In the case of each axis coordinate system, the rotation angle of each joint of the robot 30 is directly specified, so that the axial arrangement of each arm and wrist of the robot 30 and the number of rotations of the joints that can rotate 360 ​​degrees or more (hereinafter, these are collectively referred to as the "configuration of the robot 30") are uniquely determined. In contrast, in the case of the Cartesian coordinate system, the position and posture of the control point of the robot 30 are specified by six coordinate values ​​(X, Y, Z, A, B, C), so that the configuration of the robot 30 cannot be uniquely determined. Therefore, in the numerical control program for the robot, it is possible to specify the configuration of the robot 30 by a configuration value P, which is an integer value of a predetermined number of digits. Therefore, the position and posture of the control point of the robot 30 and the configuration of the robot 30 are represented by six coordinate values ​​(J1, J2, J3, J4, J5, J6) in the case of each axis coordinate system, and by six coordinate values ​​and one configuration value (X, Y, Z, A, B, C, P) in the case of the Cartesian coordinate system.

[0029] Furthermore, the selection unit 21 selects either a positioning motion or a smooth motion as the positioning type of the robot 30 in response to an input by an operator's input operation. Here, the positioning motion is a positioning type in which, when there are three teaching points of the robot 30, namely a start point, a target point, and a next point, the robot 30 is moved so as to always pass through these three points.

[0030] Here, FIG. 3 is a diagram for explaining the smooth motion. As shown in FIG. 3, the smooth motion is a positioning type in which, in order to prioritize the cycle time, the trajectory passes through three points, the start point, the target point, and the next point, and the motion is performed smoothly from the start point to the next point without passing through the target point by making an inward turn of a trajectory. In this smooth motion, the R address is set as the degree of inward turning. For example, as shown in FIG. 3, an inward turning degree of 0 means no inward turning, that is, the same motion as the positioning motion, and the higher the degree of inward turning, the greater the degree of inward turning and the smoother the motion. The R address is input by an input operation by the operator.

[0031] The robot numerical control command generating unit 22 generates a robot numerical control command for the robot 30 in accordance with a numerical control program. Specifically, the robot numerical control command generating unit 22 generates a robot numerical control command based on at least one of the motion type of the robot 30, the motion speed of the robot 30, the positioning type of the robot 30, and the coordinate value type of the robot 30, the coordinate values ​​of the robot teaching points acquired based on the coordinate value type of the robot 30, and the configuration information of the robot 30 at the robot teaching points.

[0032] The motion type of the robot 30, the motion speed of the robot 30, the positioning type of the robot 30, and the coordinate value type of the robot 30 are input to the robot numerical control command generation unit 22 as the selection result selected by the above-mentioned selection unit 21. In addition, the coordinate values ​​of the robot teaching points acquired based on the selection result of the coordinate value type of the robot 30 and the form information of the robot 30 at the robot teaching points are acquired from the robot control device 3 by a robot coordinate value / form information acquisition unit 29 described later, and input to the robot numerical control command generation unit 22. In this way, in the numerical control device 2 according to this embodiment, the coordinate values ​​and form information of the robot are automatically acquired by the motion selection by the input operation of the operator. This makes it possible to easily generate a robot numerical control command without the operator being aware of the coordinate values ​​and form information of the robot.

[0033] The storage unit 23 has a program storage unit, a machine coordinate value storage unit, a robot coordinate value storage unit, and a robot teaching position storage unit, none of which are shown in the figure.

[0034] The program storage unit stores a plurality of numerical control programs created, for example, based on operations by an operator. More specifically, the program storage unit stores a numerical control program that is configured with a plurality of command blocks for the machine tool 20 to control the operation of the machine tool 20, a plurality of command blocks for the robot 30 to control the operation of the robot 30, and the like. The numerical control programs stored in the program storage unit are written in a known programming language for controlling the operation of the machine tool, such as G-code or M-code.

[0035] The machine coordinate value storage unit stores machine coordinate values ​​indicating the positions of various axes of the machine tool 20 operating under the above-mentioned numerical control program (i.e., the positions of the tool post, table, etc. of the machine tool 20). These machine coordinate values ​​are defined in a machine tool coordinate system having as its origin a reference point determined at an arbitrary position on the machine tool or in the vicinity of the machine tool 20. The machine coordinate value storage unit is successively updated by a process not shown in the figures so that the latest values ​​of the machine coordinate values ​​which change successively under the numerical control program are stored.

[0036] The robot coordinate value storage unit stores robot coordinate values ​​indicating the position and posture of a control point (e.g., arm tip 30a of the robot 30) of the robot 30 operating under the control of the robot controller 3, in other words, the position of each control axis of the robot 30. Note that these robot coordinate values ​​are defined under a robot coordinate system different from the machine tool coordinate system as described above. The robot coordinate value storage unit is successively updated by the robot coordinate values ​​acquired from the robot controller 3 by processing not shown in the figures so that the latest values ​​of the robot coordinate values ​​which change successively under the numerical control program are stored.

[0037] The robot teaching position storage unit stores teaching positions such as the start point and end point of the robot 30 input by an operator, specifically, teaching positions of the robot 30 input from a teach pendant or the like, and teaching positions input from a keyboard or the like. The teaching positions of the robot 30 include robot coordinate values ​​indicating the positions of each control axis of the robot 30, and these robot coordinate values ​​are defined under a robot coordinate system different from the machine tool coordinate system.

[0038] The program input unit 24 reads out the numerical control program from the program storage unit, and inputs it to the analysis unit 25 one by one.

[0039] Analysis unit 25 analyzes the command type based on the numerical control program input from program input unit 24 for each command block, and outputs the analysis result to a machine tool control unit (not shown) and to a robot command signal generation unit 26 (described later). More specifically, if the command type of the command block is a command for machine tool 20, analysis unit 25 transmits it to the machine tool control unit, and if the command type of the command block is a command for robot 30, analysis unit 25 outputs it to robot command signal generation unit 26.

[0040] A machine tool control unit (not shown) generates machine tool control signals for controlling the operation of machine tool 20 in accordance with the analysis results sent from analysis unit 25, and inputs the signals to actuators that drive various axes of machine tool 20. Machine tool 20 operates in accordance with the machine tool control signals input from the machine tool control unit, and machines a workpiece (not shown). After controlling the operation of machine tool 20 in accordance with 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.

[0041] The robot command signal generating unit 26 generates a robot command signal corresponding to a robot program, among the programs stored in the storage unit 23, for a robot program analyzed by the analyzing unit 25 to have a command type of a command block that is a command for the robot 30. The generated robot command signal includes a robot program start command that serves as a trigger for starting the robot program stored in the storage unit 31 on the robot control device 3 side. The robot command signal generating unit 26 writes the generated robot command signal to the data transmitting / receiving unit 27.

[0042] The data transmitter / receiver unit 27 transmits and receives various commands and data to and from a data transmitter / receiver unit 32 of the robot controller 3. When a robot command signal is written by the robot command signal generator 26, the data transmitter / receiver unit 27 transmits the robot command signal to the data transmitter / receiver unit 32 of the robot controller 3. When a positioning completion signal is written by a robot operation unit 28 (described later) and an operation is selected by the selector 21, the data transmitter / receiver unit 27 receives coordinate values ​​of the robot teaching points based on the selected coordinate system and configuration information of the robot 30 from the robot controller 3, and outputs them to a robot coordinate value / configuration information acquirer 29 (described later).

[0043] When an operator manually operates the robot 30 to position the robot 30, the robot operation unit 28 writes a positioning completion signal to the data transmission / reception unit 27, which will be described later.

[0044] The robot coordinate value / configuration information acquiring unit 29 acquires the coordinate values ​​of the robot teaching points and the configuration information of the robot 30 based on the coordinate system selected by the selecting unit 21 from the robot control device 3 that controls the robot 30, via the data transmitting / receiving unit 27. More specifically, when a positioning completion signal is written to the data transmitting / receiving unit 27 by the robot operating unit 28 and a robot coordinate system is selected by the selecting unit 21, the robot coordinate value / configuration information acquiring unit 29 acquires the coordinate values ​​of the teaching points and the configuration information of the robot 30 based on the selected coordinate system.

[0045] Next, the configuration of the robot control device 3 will be described in detail. As shown in Fig. 2, the robot control device 3 realizes various functions such as a storage unit 31, a data transmission / reception unit 32, an analysis unit 33, a robot command generation unit 34, a program management unit 35, a trajectory control unit 36, a kinematics control unit 37, and a servo control unit 38, by using the above hardware configuration. Specifically, the robot control device 3 controls the operation of the robot 30 based on a command transmitted from the numerical control device 2 by using the storage unit 31, the data transmission / reception unit 32, the analysis unit 33, the robot command generation unit 34, the program management unit 35, the trajectory control unit 36, the kinematics control unit 37, and the servo control unit 38.

[0046] The data transmitter / receiver 32 receives the robot command signal transmitted from the data transmitter / receiver 27 of the numerical control device 2. Furthermore, the data transmitter / receiver 32 outputs the received robot command signal to the analyzer 33 in sequence.

[0047] The analysis unit 33 analyzes the robot command signal input from the data transmission / reception unit 32. The analysis unit 33 also outputs the analysis result to the robot command generation unit .

[0048] The robot command generation unit 34 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 33. The robot command generation unit 34 outputs the generated robot command to the program management unit 35.

[0049] When the program management unit 35 receives the robot commands from the robot command generation unit 34, it executes them one by one to generate an operation plan for the robot 30 in accordance with the robot command signal, and outputs the operation plan to the trajectory control unit 36.

[0050] Furthermore, when the robot command input from the robot command generation unit 34 is a block robot command, the program management unit 35 adds the input block robot command to the robot program stored in the storage unit 31. As a result, a robot program corresponding to the robot command signal transmitted from the numerical control device 2 is generated and stored in the storage unit 31. The stored robot program is started and played back when the program management unit 35 receives a robot program start command as a robot command.

[0051] When the motion plan is input from the program management unit 35 , the trajectory control unit 36 ​​calculates time-series data of the control points of the robot 30 and outputs it to the kinematics control unit 37 .

[0052] The kinematics control unit 37 calculates the target angle of each joint of the robot 30 from the input time-series data, and outputs it to the servo control unit .

[0053] The servo control unit 38 generates robot control signals for the robot 30 by feedback controlling each servo motor of the robot 30 so as to realize the target angle input from the kinematics control unit 37, and inputs the signals to the servo motors of the robot 30.

[0054] Next, the procedure of the robot numerical control command generation process according to this embodiment will be described in detail with reference to the flowchart of FIG.

[0055] In step S1, an operator manually operates the robot 30 to position the robot 30. Then, the process proceeds to step S2.

[0056] In step S2, the operator selects a robot operation by pressing a soft key on the operation screen of the numerical control device 2. Specifically, the operator operates the soft key to select and input the type of robot operation to be processed in step S3 described later. Then, the process proceeds to step S3.

[0057] Here, Fig. 5 is a diagram showing an example of an operation screen 200 of the numerical control device 2 according to this embodiment. As shown in Fig. 5, the operation screen 200 of the numerical control device 2 according to this embodiment has a robot coordinate value display section 201 that displays robot coordinate values, a program editor section 202 for displaying and editing robot numerical control commands, soft keys 203, and a key-in buffer 204 that temporarily stores and displays input values. In the above-mentioned step S2, the operator presses a plurality of soft keys 203 to select and input a type of robot operation, etc.

[0058] In step S3, a robot operation selection process is executed. Specifically, at least one of the operation type of the robot 30, the coordinate value type of the robot 30, the operation speed of the robot 30, and the positioning type of the robot 30 is selected. Each procedure of the operation type selection process of the robot 30, the coordinate value type selection process of the robot 30, and the positioning type selection process of the robot 30 will be described in detail below with reference to Figs. 6 to 8.

[0059] 6 is a flowchart showing the procedure of the action type selection process. This process flow is executed by the selection unit 21 in response to an operator's operation of the soft key 203. This process flow also constitutes a subroutine of step S3 in the robot numerical control command generation process described above.

[0060] In step S11, it is determined whether the type of motion of the robot 30 input by the operator through the operation of the soft keys 203 is an individual axis motion or not. If the determination is YES, the process proceeds to step S12, where G07.3 is selected and specified as the command code, and the process ends.

[0061] If the determination in step S11 is NO, the process proceeds to step S13, where it is determined whether the motion type of the robot 30 input by the operator through operation of the soft keys 203 is linear motion or not. If the determination is YES, the process proceeds to step S14, where G01 is selected and specified as the command code, and the process ends.

[0062] If the determination in step S13 is NO, the process proceeds to step S15, where it is determined whether the motion type of the robot 30 input by the operator through operation of the soft keys 203 is a clockwise CW motion among circular motions. If the determination is YES, the process proceeds to step S16, where G02 is selected and specified as the command code, and this process ends.

[0063] If the determination in step S15 is NO, the process proceeds to step S17. In this case, since the type of motion of the robot 30 input by the operator through operation of the soft keys 203 is determined to be a counterclockwise CCW motion among circular motions, G03 is selected and specified as the command code, and the process ends.

[0064] 7 is a flowchart showing the procedure of the coordinate value type selection process. This process flow is executed by the selection unit 21 in response to the operation of the soft key 203 by the operator, similar to the above-mentioned operation type selection process. This process flow also constitutes a subroutine of step S3 in the above-mentioned robot numerical control command generation process.

[0065] In step S21, it is determined whether the type of coordinate value input by the operator through operation of the softkeys 203 is each axis coordinate value of each axis coordinate system. If this determination is YES, the process proceeds to step S22, where each axis coordinate value of the teaching point of the robot 30 is acquired from the robot control device 3 by the robot coordinate value / configuration information acquisition unit 29. Each axis coordinate value of the teaching point of the robot 30 thus acquired is displayed on the robot coordinate value display unit 201 as shown in Fig. 5. Thereafter, this process ends.

[0066] If the determination in step S21 is NO, the process proceeds to step S23, where it is determined whether or not the type of coordinate value input by the operator through operation of the softkeys 203 is a Cartesian coordinate value of a Cartesian coordinate system. If this determination is YES, the process proceeds to step S24, where the robot coordinate value / configuration information acquisition unit 29 acquires the Cartesian coordinate value of the teaching point of the robot 30 from the robot control device 3. The acquired Cartesian coordinate value of the teaching point of the robot 30 is displayed on the robot coordinate value display unit 201 as shown in Fig. 5. Thereafter, the process proceeds to step S25.

[0067] In step S25, since the type of coordinate value is Cartesian coordinate value, and since the position of the robot 30 is represented by six coordinate values ​​and one configuration value (X, Y, Z, A, B, C, P) in the Cartesian coordinate system as described above, a configuration value P is acquired as configuration information of the robot 30. Specifically, the robot coordinate value / configuration information acquisition unit 29 acquires the configuration value P of the teaching point of the robot 30 from the robot control device 3. The acquired configuration value P of the teaching point of the robot 30 is displayed on the robot coordinate value display unit 201. Thereafter, this process ends.

[0068] If the determination in step S23 is NO, this means that the operator has not input the type of coordinate value, and therefore this process ends. In this case, the type of coordinate value and the coordinate value selected in the previous process are validly maintained as modal information.

[0069] 8 is a flowchart showing the procedure of the positioning type selection process. This process flow is executed by the selection unit 21 in response to the operation of the softkeys 203 by the operator, similar to the above-mentioned operation type selection process and coordinate value type selection process. This process flow also constitutes a subroutine of step S3 in the above-mentioned robot numerical control command generation process.

[0070] In step S31, it is determined whether the type of positioning input by the operator through operation of the softkey 203 is a positioning operation. If the determination is YES, the process proceeds to step S32, in which case the operation is not smooth and an R address is not required, and therefore this process ends without additionally specifying an R address value.

[0071] If the determination in step S31 is NO, the process proceeds to step S33, where it is determined whether the positioning type input by the operator operating the softkey 203 is smooth motion or not. If this determination is YES, the process proceeds to step S34, where the R address input by the operator operating the softkey 203 is additionally specified, and this process ends. Note that FIG. 4 shows an example in which the inward turning degree R46 is specified as the R address.

[0072] If the determination in step S33 is NO, this means that the operator has not input a positioning type, and this process ends. In this case, the positioning type and R address selected in the previous process are validly maintained as modal information.

[0073] Although a flowchart is omitted for the motion speed selection process of the robot 30, this process flow is executed by the selection unit 21 in response to the operator's operation of the softkeys 203, similar to the above-mentioned motion type selection process, coordinate value type selection process, and positioning type selection process. This process flow also constitutes a subroutine of step S3 in the above-mentioned robot numerical control command generation process. Specifically, in the motion speed selection process, the motion speed F input by the operator through operation of the softkeys 203 is selected and specified. Note that FIG. 4 shows an example in which 100 mm / min is specified as the motion speed F.

[0074] 4, in step S4, the operator presses a command generation key, which is one of the soft keys 203. After that, the process proceeds to step S5.

[0075] In step S5, coordinate values ​​and shape information of the teaching points of the robot 30 are acquired. Specifically, the robot coordinate value / shape information acquisition unit 29 acquires coordinate values ​​and shape information of the teaching points of the robot 30 from the robot control device 3. Then, the process proceeds to step S6.

[0076] In step S6, the corresponding command is inserted into the key-in buffer 204. Here, the corresponding command is a robot numerical control command generated by the robot numerical control command generating unit 22 according to the conditions selected and specified in the above steps S1 to S5. As shown as an example in FIG. 4, the robot numerical control command is specified as an operation type (e.g., G01)+coordinate value type (e.g., X100.0 Y0.0 Z100.0 A-180.0 B0.0 C0.0 P1211546)+operation speed (e.g., F100)+positioning type (e.g., R46). Such a robot numerical control command as a corresponding command is temporarily stored and displayed in the key-in buffer 204. Then, the process proceeds to step S7.

[0077] As shown in the above example, the configuration value P is specified by a seven-digit number. Specifically, it is expressed by a seven-digit number in the following order: wrist up / down (1,2), arm left / right (1,2), arm up / down (1,2), arm front / back (1,2), J4 axis rotation number (4,5,6), J5 axis rotation number (4,5,6), J6 axis rotation number (4,5,6). Therefore, the configuration value P1211546 in the above example means that the wrist is up, arm is right, arm is up, arm is forward, J4 axis rotation number is 5, J5 axis rotation number is 4, and J6 axis rotation number is 6.

[0078] It should be noted that the corresponding command may be directly added to and displayed in the program editor section 202 without being temporarily stored in the key-in buffer 204 in step S6 and then displayed.

[0079] In step S7, the operator checks the robot numerical control commands that have been temporarily stored and displayed in the key-in buffer 204, and if there are no problems, he presses the INPUT key, which is one of the soft keys 203. After that, the process proceeds to step S8.

[0080] In step S8, in response to the operator pressing the INPUT key in step S7, a robot numerical control command is added to the program editor as a corresponding command. As a result, the robot numerical control command generated by this process is displayed in the program editor unit 202. The operator edits the robot numerical control command displayed in the program editor unit 202 by operating the soft keys 203 as necessary. In this way, a robot numerical control command is generated and this process ends.

[0081] According to this embodiment, the following effects are achieved. According to this embodiment, a robot numerical control command is generated based on at least one of the operation type of the robot 30, the operation speed of the robot 30, the positioning type of the robot 30, and the coordinate value type of the robot 30, the coordinate values ​​of the robot teaching points acquired based on the coordinate value type of the robot 30, and the configuration information of the robot 30 at the robot teaching points. This allows intuitive input of coordinate values ​​on a coordinate system such as an orthogonal coordinate system or each axis coordinate system, and allows easy specification of configuration information that is unfamiliar to machine tool users, so that an operation program for the robot 30 can be easily created in the numerical control program language of the machine tool.

[0082] The present disclosure is not limited to the above-described embodiments, and various modifications and variations are possible. For example, in each of the above-described embodiments, the present disclosure is realized by the numerical control system 1 including the numerical control device 2 and the robot control device 3, but the present disclosure is not limited thereto. The present disclosure can also be realized by a computer program that causes a computer to execute various functions of the numerical control device 2 and the robot control device 3.

[0083] In the above embodiment, either the axis coordinate system or the Cartesian coordinate system is selected as the coordinate system of the robot 30, but the present invention is not limited to this. For example, it is also possible to select the tool coordinate system. Here, the tool coordinate system is a coordinate system that defines the position of the tool tip point (TCP) of the robot 30 and the attitude of the tool. The tool coordinate system is a movement around the mechanical interface coordinate system (wrist flange surface) of the robot 30, and is set by setting an offset value from the origin of this mechanical interface coordinate system and a rotation angle around each coordinate axis.

[0084] In the above embodiment, the robot coordinate value / configuration information acquiring unit 29 acquires the coordinate values ​​of the robot teaching points and the configuration information of the robot 30 from the robot control device 3 that controls the robot 30, but this is not limiting. For example, the robot coordinate value / configuration information acquiring unit 29 may acquire the coordinate values ​​from an offline programming device that creates an operation program for the robot 30 offline. [Explanation of symbols]

[0085] 1. Numerical control system 2 Numerical control device (command generation device) 3 Robot control device 21 Selection section 22 Robot Numerical Control Command Generation Unit 23 Memory section 24 Program Input Section 25 Analysis Department 26 Robot command signal generator 27 Data transmission and reception unit 28 Robot Operation Department 29 Robot coordinate value and shape information acquisition unit 30. Robot 30a Arm tip 30b Tools 31 Storage section 32 Data transmission and reception unit 33 Analysis Department 34 Robot command generator 35 Program Management Division 36 Trajectory control section 37 Kinematics Control Unit 38 Servo control unit

Claims

1. A command generating device including a robot numerical control command generating unit that generates a robot numerical control command for a robot according to a numerical control program, The robot numerical control command generation unit includes: At least one of a motion type of the robot, a motion speed of the robot, a positioning type of the robot, and a coordinate value type of the robot; The coordinate values ​​of the robot teaching points acquired based on the coordinate value type of the robot; Configuration information of the robot at the robot teaching point; Generate the robot numerical control command based on the The command generation device includes a robot coordinate value / configuration information acquisition unit that acquires coordinate values ​​of the robot teaching points and configuration information of the robot from a robot control device that controls the robot or an offline programming device that creates an operation program for the robot offline.

2. 2. The command generating device according to claim 1, further comprising a selection unit that selects at least one of a motion type of the robot, a motion speed of the robot, a positioning type of the robot, and a coordinate value type of the robot, and outputs a selection result to the robot numerical control command generating unit.

3. The command generating device according to claim 2 , wherein the selection unit selects, as the motion type of the robot, one of an axial motion, a linear motion, and a circular motion.

4. The command generating device according to claim 2 , wherein the selection unit selects one of an axial coordinate value and an orthogonal coordinate value as the coordinate value type of the robot.

5. The command generating device according to claim 2 , wherein the selection unit selects one of a positioning motion and a smooth motion as the positioning type of the robot.

Citation Information

Patent Citations

  • Photoconductive member

    JP1982052179A

  • Machine tool control device and production system

    JP2018195055A

  • Machining control system and machining system

    JP2020170356A

  • Numerical control device and numerical control method

    WO2020144772A1