WO2022186255A1 - 指令生成装置及びコンピュータプログラム - Google Patents

指令生成装置及びコンピュータプログラム Download PDF

Info

Publication number
WO2022186255A1
WO2022186255A1 PCT/JP2022/008788 JP2022008788W WO2022186255A1 WO 2022186255 A1 WO2022186255 A1 WO 2022186255A1 JP 2022008788 W JP2022008788 W JP 2022008788W WO 2022186255 A1 WO2022186255 A1 WO 2022186255A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
type
coordinate value
numerical control
unit
Prior art date
Application number
PCT/JP2022/008788
Other languages
English (en)
French (fr)
Inventor
一剛 今西
Original Assignee
ファナック株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ファナック株式会社 filed Critical ファナック株式会社
Priority to JP2023503895A priority Critical patent/JPWO2022186255A1/ja
Priority to DE112022000487.8T priority patent/DE112022000487T5/de
Priority to CN202280017831.2A priority patent/CN116964537A/zh
Priority to US18/547,857 priority patent/US20240231308A9/en
Publication of WO2022186255A1 publication Critical patent/WO2022186255A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4093Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0081Programme-controlled manipulators with master teach-in means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/408Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39134Teach point, move workpiece, follow point with tip, place tip on next point

Definitions

  • the present disclosure relates to a command generation device and a computer program.
  • An object of the present disclosure is to provide a command generation device and a computer program that can generate robot numerical control commands without being conscious of coordinate values and form information.
  • One aspect of the present disclosure is a command generation device including a robot numerical control command generation unit that generates a robot numerical control command for a robot according to a numerical control program, wherein the robot numerical control command generation unit includes an operation type of the robot, at least one of the operating speed of the robot, the positioning type of the robot, and the coordinate value type of the robot; a coordinate value of a robot teaching point acquired based on the coordinate value type of the robot; Provided is a command generation device that generates the robot numerical control command based on the form information of the robot.
  • At least one of an operation type of a robot, an operation speed of the robot, a positioning type of the robot, and a coordinate value type of the robot, and a coordinate value type of the robot are acquired based on the coordinate value type of the robot.
  • FIG. 1 is a schematic diagram of a numerical control system according to an embodiment of the present disclosure
  • FIG. 1 is a functional block diagram of a numerical controller and a robot controller according to an embodiment of the present disclosure
  • FIG. It is a figure for demonstrating a smooth motion.
  • 4 is a flowchart showing a procedure of robot numerical control command generation processing; It is a figure which shows an example of the operation screen of the numerical controller which concerns on one Embodiment of this indication.
  • FIG. 10 is a flowchart showing the procedure of action type selection processing;
  • FIG. 4 is a flowchart showing the procedure of coordinate value type selection processing; 7 is a flowchart showing the procedure of positioning type selection processing;
  • FIG. 1 is a schematic diagram of a numerical control system 1 according to one embodiment of the present disclosure.
  • a numerical control system 1 includes a numerical controller (CNC) 2 that controls a machine tool 20, and a robot controller 3 that is communicably connected to the numerical controller 2 and that controls a robot 30 provided near the machine tool 20. And prepare.
  • a numerical control system 1 according to the present embodiment uses a numerical control device 2 and a robot control device 3 that are communicably connected to each other to control operations of a machine tool 20 and a robot 30 in conjunction with each other.
  • the numerical controller 2 generates a machine tool command signal that is a command to the machine tool 20 and a robot command signal that is a command to the robot 30 according to a predetermined numerical control program, and outputs these machine tool command signals and robot command signals to the machine tool. 20 and the robot controller 3.
  • the robot control device 3 controls the motion of the robot 30 according to robot command signals transmitted from the numerical control device 2 .
  • the machine tool 20 processes a workpiece (not shown) according to a machine tool command signal sent from the numerical controller 2.
  • the machine tool 20 is, for example, a lathe, a drilling machine, a milling machine, a grinder, a laser processing machine, an injection molding machine, or the like, but is not limited thereto.
  • the robot 30 operates under the control of the robot control device 3, and performs a predetermined work on a work machined inside the machine tool 20 such as a lathe.
  • the robot 30 is, for example, an articulated robot, and has a tool 30b attached to its arm tip 30a for gripping, processing, and inspecting a workpiece.
  • the robot 30 will be described as a 6-axis articulated robot, but the robot 30 is not limited to this.
  • the robot 30 will be described as a 6-axis articulated robot, but the number of axes is not limited to this.
  • FIG. 2 is a functional block diagram of the numerical controller 2 and the robot controller 3 according to one embodiment of the present disclosure.
  • the numerical control device 2 is provided with the command generation device of the present disclosure that generates a robot numerical control command for a robot according to a numerical control program, but is not limited to this.
  • the command generation device of the present disclosure may be provided in a personal computer or the like. An example in which the command generation device of the present disclosure is provided in the numerical control device 2 will be described below.
  • the numerical control device 2 and the robot control device 3 each include arithmetic processing means such as a CPU (Central Processing Unit), auxiliary storage means such as HDD (Hard Disk Drive) and SSD (Solid State Drive) storing various computer programs, and arithmetic Main memory means such as RAM (random access memory) for storing data temporarily required by the processing means to execute the computer program, operation means such as a keyboard for the operator to perform various operations, and various information for the operator It is a computer configured by hardware such as a display means such as a display that displays .
  • These numerical controller 2 and robot controller 3 are capable of transmitting and receiving various signals to and from each other, for example, via Ethernet (registered trademark).
  • the numerical controller 2 realizes a machine tool control function for controlling the operation of the machine tool 20 and a function for generating a robot command signal for controlling the operation of the control axis of the robot 30 with the hardware configuration described above.
  • the numerical controller 2 includes a 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, and a robot operation unit 28. , a robot coordinate value/form information acquisition unit 29, and other various functions.
  • 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 accordance with the operator's input operation. make a choice. The selection unit 21 also outputs the selection result to the robot numerical control command generation unit 22 .
  • each axis motion is a type of motion in which each axis of the robot 30 is operated without cooperative motion of each joint.
  • Linear motion is a type of motion in which the arm distal end portion 30a of the robot 30 is moved so that the movement path of the tool 30b attached to the arm distal end portion 30a of the robot 30 becomes a straight line.
  • Circular motion is a motion type in which the arm distal end portion 30a of the robot 30 is moved such that the movement path of the tool 30b attached to the arm distal portion 30a of the robot 30 is an arc.
  • the selection unit 21 selects and designates the coordinate values of the robot coordinate system, either each axis coordinate value or the orthogonal coordinate value, as the coordinate value type of the robot 30 according to the operator's input operation.
  • the robot coordinate system is selected by the selector 21
  • coordinate values and form information of the teaching points of the robot 30 based on the selected coordinate system are acquired by the robot coordinate value/form information acquisition section 29, which will be described later. .
  • the robot coordinate system is a coordinate system whose origin is a reference point set at an arbitrary position on the robot 30 or in the vicinity of the robot 30 .
  • the robot coordinate system may coincide with the machine tool coordinate system.
  • the origin and coordinate axis direction of the robot coordinate system may be aligned with the origin and coordinate axis direction of the machine tool coordinate system.
  • the robot coordinate system can be switched between two or more coordinate formats with different control axes. More specifically, in the numerical control program, the position and orientation of the control points of the robot 30 can be specified in orthogonal coordinate format or each axis coordinate format.
  • the position and orientation of the control point of the robot 30 are represented by a total of six real coordinates whose components are the rotation angle values (J1, J2, J3, J4, J5, J6) of the six joints of the robot 30. Specified by value.
  • the position and orientation of the control point of the robot 30 is represented by three coordinate values (X, Y, Z) along three Cartesian coordinate axes and three rotation angle values (A, B , C) and a total of six real number coordinate values.
  • the form of the robot 30 is also uniquely determined.
  • the position and posture of the control point of the robot 30 are specified by six coordinate values (X, Y, Z, A, B, C), so the form of the robot 30 is uniquely cannot be determined. Therefore, in the numerical control program for the robot, the form of the robot 30 can be designated by a form value P, which is an integer value of a predetermined number of digits.
  • the position and orientation of the control points of the robot 30 and the configuration of the robot 30 are represented by six coordinate values (J1, J2, J3, J4, J5, J6) under each axis coordinate format, and is represented by six coordinate values and one morphological value (X, Y, Z, A, B, C, P).
  • the selection unit 21 selects either the positioning operation or the smooth operation as the positioning type of the robot 30 according to the operator's input operation.
  • the positioning operation is a type of positioning operation in which, when there are three teaching points for the robot 30, a starting point, a target point, and a next point, the robot 30 is operated so as to pass through these three points without fail.
  • FIG. 3 is a diagram for explaining smooth motion.
  • the smooth motion means that, in order to give priority to the cycle time, the trajectory that passes through the three points of the starting point, the target point, and the next point is made to turn inward, and the starting point does not pass through the target point. It is a positioning type that moves smoothly from one point to the next point.
  • the R address is set as the inward turning degree. For example, as shown in FIG. 3, when the inner turning degree is 0, no inner turning is performed, that is, the operation is the same as the positioning operation.
  • the R address is input by an operator's input operation.
  • the robot numerical control command generation unit 22 generates a robot numerical control command for the robot 30 according to the numerical control program. Specifically, the robot numerical control command generation unit 22 determines 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, and the coordinate value type of the robot 30. A robot numerical control command is generated based on the coordinate values of the robot teaching points acquired based on the above and the form information of the robot 30 at the robot teaching points.
  • 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 are input to the robot numerical control command generation unit 22 as the selection results selected by the selection unit 21 described above. be done. Further, 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 by the robot coordinate value/form information acquisition unit 29 described later. It is acquired from the controller 3 and input to the robot numerical control command generator 22 . As described above, the numerical controller 2 according to the present embodiment automatically acquires the coordinate values and form information of the robot according to the operation selection by the operator's input operation. As a result, robot numerical control commands can be easily generated without the operator being conscious of the coordinate values and form information of the robot.
  • 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, all of which are not shown.
  • the program storage unit stores, for example, a plurality of numerical control programs created based on operator's operations. More specifically, the program storage unit includes a plurality of command blocks for the machine tool 20 for controlling the operation of the machine tool 20, a plurality of command blocks for the robot 30 for controlling the operation of the robot 30, and the like. Numerical control program to be executed is stored. The numerical control program stored in the program storage unit is written in a known program language such as G code or M code for controlling the operation of the machine tool.
  • the machine coordinate value storage unit stores machine coordinate values indicating the positions of various axes of the machine tool 20 (that is, the positions of the tool post, table, etc. of the machine tool 20) that operate under the numerical control program. . These machine coordinate values are defined under a machine tool coordinate system whose origin is a reference point set at an arbitrary position on the machine tool or near the machine tool 20 . This machine coordinate value storage unit is updated successively by a process (not shown) so that the latest machine coordinate values that are successively changed under the numerical control program are stored.
  • the robot coordinate value storage unit stores the position and orientation of the control point (for example, the arm tip 30a of the robot 30) of the robot 30 operating under the control of the robot control device 3, in other words, the position of each control axis of the robot 30.
  • a robot coordinate value indicating is stored. These robot coordinate values are defined under a robot coordinate system different from the machine tool coordinate system, as described above.
  • This robot coordinate value storage unit is sequentially updated with the robot coordinate values acquired from the robot control device 3 by a process (not shown) so that the latest robot coordinate values that are sequentially changed under the numerical control program are stored. .
  • the robot teaching position storage unit stores the teaching positions such as the start point and the end point of the robot 30 input by the operator, specifically, the teaching positions of the robot 30 input from the teach pendant or the like, or the teaching positions input from the keyboard or the like.
  • the teaching position of the robot 30 includes robot coordinate values indicating the position of each control axis of the robot 30, and these robot coordinate values are defined under a robot coordinate system different from the machine tool coordinate system.
  • the program input unit 24 reads numerical control programs from the program storage unit and sequentially inputs them to the analysis unit 25 .
  • 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 outputs the analysis result to the machine tool control unit (not shown) and the robot command signal generation unit 26, which will be described later. . More specifically, when the command type of the command block is a command for the machine tool 20, the analysis unit 25 transmits this to the machine tool control unit, and the command type of the command block is a command for the robot 30. If so, it outputs this to the robot command signal generator 26 .
  • a machine tool control unit (not shown) generates a machine tool control signal for controlling the operation of the machine tool 20 according to the analysis result sent from the analysis unit 25, and inputs the signals to actuators that drive various axes of the machine tool 20. do.
  • the machine tool 20 operates according to a machine tool control signal input from the machine tool control section, and processes a workpiece (not shown).
  • the machine tool control section updates the machine coordinate values stored in the machine coordinate value storage section with the latest machine coordinate values.
  • the robot command signal generation unit 26 generates a command for a robot program stored in the storage unit 23, for which the analysis unit 25 has analyzed that the command type of the command block is a command for the robot 30, according to the robot program. Generates a robot command signal.
  • the generated robot command signal includes a robot program activation command that serves as a trigger for activating the robot program stored in the storage unit 31 of the robot control device 3 side.
  • the robot command signal generator 26 writes the generated robot command signal to the data transmitter/receiver 27 .
  • the data transmission/reception unit 27 exchanges various commands and data with the data transmission/reception unit 32 of the robot control device 3 .
  • the data transmitter/receiver 27 transmits the robot command signal to the data transmitter/receiver 32 of the robot controller 3 .
  • the data transmitting/receiving unit 27 receives the coordinate values of the robot teaching points based on the selected coordinate system and the robot 30 data. form information from the robot control device 3, and outputs it to the robot coordinate value/form information acquisition unit 29, which will be described later.
  • the robot operation unit 28 When the 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 described later.
  • the robot coordinate value/form information acquisition unit 29 acquires the coordinate values of the robot teaching points based on the coordinate system selected by the selection unit 21 and the form information of the robot 30 via the data transmission/reception unit 27 described above. Acquired from the robot controller 3 to control. More specifically, when the robot operation unit 28 writes a positioning completion signal to the data transmission/reception unit 27 and the robot coordinate system is selected by the selection unit 21, the robot 30 is taught based on the selected coordinate system. The coordinate values and form information of the point are acquired by the robot coordinate value/form information acquisition unit 29 .
  • the robot control device 3 includes a storage unit 31, a data transmission/reception unit 32, an analysis unit 33, a robot instruction generation unit 34, a program management unit 35, a trajectory control unit 36, a kinematics
  • the robot control device 3 includes 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.
  • the motion of the robot 30 is controlled based on commands sent from the numerical controller 2 .
  • the data transmitter/receiver 32 receives the robot command signal transmitted from the data transmitter/receiver 27 of the numerical controller 2 .
  • the data transmission/reception unit 32 also sequentially outputs the received robot command signals to the analysis unit 33 .
  • 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 34 .
  • the robot command generation unit 34 Based on the analysis result of the robot command signal input from the analysis unit 33, the robot command generation unit 34 generates a robot command corresponding to the robot command signal.
  • the robot command generator 34 outputs the generated robot command to the program manager 35 .
  • the program management unit 35 sequentially executes the robot command, thereby generating a motion plan for the robot 30 according to the robot command signal and outputting it to the trajectory control unit 36. do.
  • the program management unit 35 adds the input block robot command to the robot program stored in the storage unit 31. . Thereby, a robot program corresponding to the robot command signal transmitted from the numerical controller 2 is generated and stored in the storage unit 31 . The stored robot program is activated and reproduced when the program management section 35 receives a robot program activation command as a robot command.
  • the trajectory control unit 36 calculates time-series data of the control points of the robot 30 and outputs the data to the kinematics control unit 37 .
  • the kinematics control unit 37 calculates the target angle of each joint of the robot 30 from the input time-series data and outputs it to the servo control unit 38 .
  • the servo control unit 38 generates a robot control signal for the robot 30 by feedback-controlling each servo motor of the robot 30 so that the target angle input from the kinematics control unit 37 is realized, and outputs the robot control signal to the servo motor of the robot 30. input.
  • FIG. 4 is a flow chart showing the procedure of robot numerical control command generation processing.
  • step S1 the operator manually operates the robot 30 to position the robot 30. After that, the process proceeds to step S2.
  • step S2 the operator presses a soft key on the operation screen of the numerical controller 2 to select a robot action. Specifically, the operator selects and inputs the type of robot motion to be processed in step S3, which will be described later, by operating the soft keys. After that, the process proceeds to step S3.
  • FIG. 5 is a diagram showing an example of the operation screen 200 of the numerical control device 2 according to this embodiment.
  • the operation screen 200 of the numerical controller 2 according to the present embodiment includes a robot coordinate value display section 201 for displaying robot coordinate values and a program for displaying and editing robot numerical control commands. It has an editor unit 202, soft keys 203, and a key-in buffer 204 that temporarily stores and displays input values.
  • the operator presses a plurality of soft keys 203 to select and input the type of robot motion.
  • step S3 the selection process of the robot motion is executed. Specifically, at least one of the motion type of the robot 30, the coordinate value type of the robot 30, the motion speed of the robot 30, and the positioning type of the robot 30 is selected.
  • 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.
  • FIG. 6 is a flowchart showing the procedure of action type selection processing. This processing flow is executed by the selection unit 21 according to the operation of the soft key 203 by the operator. Further, this processing flow constitutes a subroutine of step S3 in the above-described robot numerical control command generation processing.
  • step S11 it is determined whether or not the motion type of the robot 30 input by the operator's operation of the soft key 203 is each axis motion. If the determination is YES, the process proceeds to step S12, G07.3 is selected and specified as the command code, and the process ends.
  • step S11 determines whether or not the motion type of the robot 30 input by the operator's operation of the soft key 203 is linear motion. If the determination is YES, the process proceeds to step S14, selects and designates G01 as the command code, and terminates this process.
  • step S13 determines whether or not the motion type of the robot 30 input by the operator's operation of the soft key 203 is the clockwise CW motion among arc motions. If the determination is YES, the process advances to step S16, G02 is selected and specified as the command code, and this process ends.
  • step S15 determines whether the motion type of the robot 30 input by the operator's operation of the soft key 203 is the counterclockwise CCW motion among arc motions. Therefore, G03 is selected and designated as the command code, and this process is terminated.
  • FIG. 7 is a flowchart showing the procedure of coordinate value type selection processing. This processing flow is executed by the selection unit 21 in response to the operation of the soft key 203 by the operator, similar to the operation type selection processing described above. Further, this processing flow constitutes a subroutine of step S3 in the above-described robot numerical control command generation processing.
  • step S21 it is determined whether or not the type of coordinate value input by the operator's operation of the soft key 203 is each axis coordinate value of each axis coordinate system. If the determination is YES, the process proceeds to step S22, and the coordinate values of each axis of the teaching point of the robot 30 are acquired from the robot control device 3 by the robot coordinate value/form information acquisition unit 29. FIG. The acquired axis coordinate values of the teaching points of the robot 30 are displayed on the robot coordinate value display section 201 as shown in FIG. After that, this process is terminated.
  • step S21 determines whether or not the type of coordinate value input by the operator's operation of the soft key 203 is the orthogonal coordinate value of the orthogonal coordinate system. If the determination is YES, the process proceeds to step S 24 , and the orthogonal coordinate values of the teaching points of the robot 30 are acquired from the robot control device 3 by the robot coordinate value/form information acquisition unit 29 . The acquired rectangular coordinate values of the teaching point of the robot 30 are displayed on the robot coordinate value display section 201 as shown in FIG. After that, the process proceeds to step S25.
  • the type of coordinate value is the orthogonal coordinate value, and as described above, under the orthogonal coordinate system, six coordinate values and one form value (X, Y, Z, A, B, C, P) Since the position of the robot 30 is represented, the morphological value P is acquired as the morphological information of the robot 30 .
  • the robot coordinate value/form information acquisition unit 29 acquires the form value P of the teaching point of the robot 30 from the robot control device 3 .
  • the acquired form value P of the teaching point of the robot 30 is displayed on the robot coordinate value display section 201 . After that, this process is terminated.
  • step S23 If the determination in step S23 is NO, it means that the operator has not input the type of coordinate value, so this process ends. In this case, the coordinate value types and coordinate values selected in the previous process are effectively maintained as modal information.
  • FIG. 8 is a flowchart showing the procedure of positioning type selection processing. This processing flow is executed by the selection unit 21 in response to the operation of the soft key 203 by the operator, similar to the operation type selection processing and the coordinate value type selection processing described above. Further, this processing flow constitutes a subroutine of step S3 in the above-described robot numerical control command generation processing.
  • step S31 it is determined whether or not the type of positioning input by the operator's operation of the soft key 203 is positioning operation. If the determination is YES, the process proceeds to step S32. In this case, the operation is smooth and the R address is unnecessary, so the process ends without additionally designating the R address value.
  • step S31 determines whether or not the type of positioning input by the operator's operation of the soft key 203 is smooth motion. If the determination is YES, the process proceeds to step S34, the R address input by the operator operating the soft key 203 is additionally specified, and this process ends. Note that FIG. 4 shows an example in which the inward turning degree R46 is designated as the R address.
  • step S33 If the determination in step S33 is NO, it means that there is no positioning type input by the operator, so this processing ends. In this case, the positioning type and R address selected in the previous process are effectively maintained as modal information.
  • this processing flow is similar to the above-described movement type selection process, coordinate value type selection process, and positioning type selection process. It is executed by the selection unit 21 according to the operation of the key 203 . Further, this processing flow constitutes a subroutine of step S3 in the above-described robot numerical control command generation processing. Specifically, in the motion speed selection process, the motion speed F inputted by the operator operating the soft key 203 is selected and specified. Note that FIG. 4 shows an example in which 100 mm/min is specified as the operating speed F. As shown in FIG.
  • 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.
  • step S5 the coordinate values and form information of the teaching point of the robot 30 are acquired.
  • the robot coordinate value/form information acquisition unit 29 acquires the coordinate values and form information of the teaching point of the robot 30 from the robot control device 3 . After that, the process proceeds to step S6.
  • step S6 the corresponding command is inserted into the key-in buffer 204.
  • 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 steps S1 to S5.
  • the robot numerical control command consists of a motion type (eg G01) + a coordinate value type (eg X100.0 Y0.0 Z100.0 A-180.0 B0.0 C0.0 P1211546) + operation speed (eg F100) + positioning type (eg R46).
  • a robot numerical control command as such a corresponding command is temporarily stored in the key-in buffer 204 and displayed. After that, the process proceeds to step S7.
  • the morphological value P is defined by a 7-digit number, as shown in the example above. Specifically, the top and bottom of the wrist (1, 2), the left and right of the arm (1, 2), the top and bottom of the arm (1, 2), the front and back of the arm (1, 2), the number of rotations of the J4 axis (4, 5 , 6), the number of rotations of the J5 axis (4, 5, 6), and the number of rotations of the J6 axis (4, 5, 6) are represented by seven-digit numbers. Therefore, the morphology value P1211546 in the above example is: wrist up, arm right, arm up, arm forward, J4 axis rotation number is 5, J5 axis rotation number is 4, J6 axis rotation number is 6. It means something.
  • step S6 the corresponding command may be temporarily added to the program editor unit 202 and displayed without being temporarily stored in the key-in buffer 204 and displayed.
  • step S7 the operator confirms the robot numerical control command temporarily stored and displayed in the key-in buffer 204, and presses the INPUT key, which is one of the soft keys 203, if there is no problem. After that, the process proceeds to step S8.
  • step S8 in response to the operator's pressing of the INPUT key in step S7, a robot numerical control command is added to the program editor as a corresponding command. Thereby, the robot numerical control command generated by this processing is displayed on the program editor unit 202 .
  • the operator edits the robot numerical control commands displayed on the program editor unit 202 by operating the soft keys 203 as required. As described above, a robot numerical control command is generated, and this process is terminated.
  • the following effects are achieved.
  • 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, and the coordinate value type of the robot 30 are acquired based on A robot numerical control command is generated based on the coordinate values of the robot teaching points and the form information of the robot 30 at the robot teaching points.
  • the present disclosure is not limited to the above embodiments, and various modifications and variations are possible.
  • 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 to this.
  • Various functions of the numerical control device 2 and the robot control device 3 described above can also be realized by a computer program that causes a computer to execute them.
  • either the axis coordinate system or the orthogonal coordinate system is selected as the coordinate system of the robot 30, but it is not limited to this.
  • the tool coordinate system 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 surface) 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. be.
  • the robot coordinate value/form information acquisition unit 29 acquires the coordinate values of the robot teaching points and the form information of the robot 30 from the robot controller 3 that controls the robot 30.
  • the robot coordinate value/form information acquisition unit 29 may be configured to acquire an operation program for the robot 30 from an offline programming device that creates the operation program offline.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Geometry (AREA)
  • Numerical Control (AREA)

Abstract

座標値及び形態情報を意識せずにロボット数値制御指令を生成可能な指令生成装置及びコンピュータプログラムを提供すること。数値制御プログラムに従ってロボットに対するロボット数値制御指令を生成するロボット数値制御指令生成部22を備える数値制御装置2であって、ロボット数値制御指令生成部22は、ロボット30の動作種別、ロボット30の動作速度、ロボット30の位置決め種別、及びロボット30の座標値種別のうち少なくとも一つと、ロボット30の座標値種別に基づいて取得されたロボット教示点の座標値と、ロボット教示点におけるロボット30の形態情報と、に基づいて、ロボット数値制御指令を生成する、数値制御装置2である。

Description

指令生成装置及びコンピュータプログラム
 本開示は、指令生成装置及びコンピュータプログラムに関する。
 近年、加工現場の自動化を促進するため、ワークを加工する工作機械の動作とこの工作機械の近傍に設けられたロボットの動作とを連動して制御する数値制御システムが望まれている(例えば、特許文献1参照)。
 一般的に、工作機械を制御するための数値制御プログラムとロボットを制御するためのロボットプログラムとは、プログラム言語が異なる。このため工作機械の動作とロボットの動作とを連動させるためには、オペレータは数値制御プログラムとロボットプログラムとの両方に習熟する必要がある。
特許5752179号公報
 特に、ロボットの動作を数値制御プログラムで記述する際に、ロボットの制御に通常使用される直交座標系や各軸座標系の座標系上の座標値を直感的に入力できないという課題がある。また、工作機械ユーザに馴染みのない、ロボットの形態情報の指定が必要であるため、工作機械の言語でロボットの動作プログラムを簡単に作成できないという課題がある。
 本開示は、座標値及び形態情報を意識せずにロボット数値制御指令を生成可能な指令生成装置及びコンピュータプログラムを提供することを目的とする。
 本開示の一態様は、数値制御プログラムに従ってロボットに対するロボット数値制御指令を生成するロボット数値制御指令生成部を備える指令生成装置であって、前記ロボット数値制御指令生成部は、前記ロボットの動作種別、前記ロボットの動作速度、前記ロボットの位置決め種別、及び前記ロボットの座標値種別のうち少なくとも一つと、前記ロボットの座標値種別に基づいて取得されたロボット教示点の座標値と、前記ロボット教示点における前記ロボットの形態情報と、に基づいて、前記ロボット数値制御指令を生成する、指令生成装置を提供する。
 また、本開示の一態様は、ロボットの動作種別、前記ロボットの動作速度、前記ロボットの位置決め種別、及び前記ロボットの座標値種別のうち少なくとも一つと、前記ロボットの座標値種別に基づいて取得されたロボット教示点の座標値と、前記ロボット教示点における前記ロボットの形態情報と、に基づいて、数値制御プログラムに従って前記ロボットに対するロボット数値制御指令を生成させるステップをコンピュータに実行させるためのコンピュータプログラムを提供する。
 本発明によれば、座標値及び形態情報を意識せずにロボット数値制御指令を生成可能な指令生成装置及びコンピュータプログラムを提供できる。
本開示の一実施形態に係る数値制御システムの概略図である。 本開示の一実施形態に係る数値制御装置及びロボット制御装置の機能ブロック図である。 滑らか動作を説明するための図である。 ロボット数値制御指令生成処理の手順を示すフローチャートである。 本開示の一実施形態に係る数値制御装置の操作画面の一例を示す図である。 動作種別選択処理の手順を示すフローチャートである。 座標値種別選択処理の手順を示すフローチャートである。 位置決め種別選択処理の手順を示すフローチャートである。
 以下、本開示の一実施形態について、図面を参照して詳細に説明する。
 図1は、本開示の一実施形態に係る数値制御システム1の概略図である。
 数値制御システム1は、工作機械20を制御する数値制御装置(CNC)2と、数値制御装置2と通信可能に接続され且つ工作機械20の近傍に設けられたロボット30を制御するロボット制御装置3と、を備える。本実施形態に係る数値制御システム1は、互いに通信可能に接続された数値制御装置2及びロボット制御装置3を用いることによって、工作機械20及びロボット30の動作を連動して制御する。
 数値制御装置2は、所定の数値制御プログラムに従い、工作機械20に対する指令である工作機械指令信号及びロボット30に対する指令であるロボット指令信号を生成し、これら工作機械指令信号及びロボット指令信号を工作機械20及びロボット制御装置3へ送信する。ロボット制御装置3は、数値制御装置2から送信されるロボット指令信号に応じてロボット30の動作を制御する。
 工作機械20は、数値制御装置2から送信される工作機械指令信号に応じて図示しないワークを加工する。工作機械20は、例えば、旋盤、ボール盤、フライス盤、研削盤、レーザ加工機、及び射出成形機等であるが、これに限らない。
 ロボット30は、ロボット制御装置3による制御下において動作し、例えば旋盤等の工作機械20の内部で加工されるワークに対して所定の作業を実行する。ロボット30は、例えば多関節ロボットであり、そのアーム先端部30aにはワークを把持したり、加工したり、検査したりするためのツール30bが取り付けられている。以下では、ロボット30は、6軸の多関節ロボットとした場合について説明するが、これに限らない。また以下では、ロボット30は、6軸の多関節ロボットとした場合について説明するが、軸数はこれに限らない。
 図2は、本開示の一実施形態に係る数値制御装置2及びロボット制御装置3の機能ブロック図である。
 本実施形態は、数値制御プログラムに従ってロボットに対するロボット数値制御指令を生成する本開示の指令生成装置を数値制御装置2に設けたものであるが、これに限定されない。例えば、本開示の指令生成装置はパーソナルコンピュータ等に設けられてもよい。以下では、本開示の指令生成装置を数値制御装置2に設けた例について説明する。
 数値制御装置2及びロボット制御装置3は、それぞれCPU(Central Processing Unit)等の演算処理手段、各種コンピュータプログラムを格納したHDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶手段、演算処理手段がコンピュータプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった主記憶手段、オペレータが各種操作を行うキーボードといった操作手段、及びオペレータに各種情報を表示するディスプレイといった表示手段等のハードウェアによって構成されるコンピュータである。これら数値制御装置2及びロボット制御装置3は、例えばイーサネット(登録商標)によって相互に各種信号を送受信することが可能となっている。
 先ず、数値制御装置2の詳細な構成について説明する。数値制御装置2は、上記ハードウェア構成によって、工作機械20の動作を制御する工作機械制御機能と、ロボット30の制御軸の動作を制御するロボット指令信号を生成する機能とを実現する。具体的に数値制御装置2は、選択部21、ロボット数値制御指令生成部22、記憶部23、プログラム入力部24、解析部25、ロボット指令信号生成部26、データ送受信部27、ロボット操作部28、ロボット座標値・形態情報取得部29等の各種機能を実現する。
 選択部21は、ロボット30の動作種別、ロボット30の動作速度、ロボット30の位置決め種別、及びロボット30の座標値種別のうち少なくとも一つにおいて選択をする。より詳しくは、選択部21は、オペレータの入力操作による入力に応じて、ロボット30の動作種別、ロボット30の動作速度、ロボット30の位置決め種別、及びロボット30の座標値種別のうち少なくとも一つにおいて選択をする。また、選択部21は、その選択結果をロボット数値制御指令生成部22に出力する。
 具体的に選択部21は、オペレータの入力操作による入力に応じて、ロボット30の動作種別として、各軸動作、直線動作及び円弧動作のいずれかを選択して指定する。ここで、各軸動作とは、ロボット30の各関節を協調動作させずに各軸を動作させる動作種別である。直線動作とは、ロボット30のアーム先端部30aに取り付けられたツール30bの移動経路が直線となるようにアーム先端部30aを動作させる動作種別である。円弧動作とは、ロボット30のアーム先端部30aに取り付けられたツール30bの移動経路が円弧となるようにアーム先端部30aを動作させる動作種別である。
 また選択部21は、オペレータの入力操作による入力に応じて、ロボット30の座標値種別として、各軸座標値及び直交座標値のいずれかのロボット座標系の座標値を選択して指定する。この選択部21によってロボット座標系が選択されると、選択された座標系に基づいたロボット30の教示点の座標値及び形態情報が、後述のロボット座標値・形態情報取得部29により取得される。
 ここで、ロボット座標系は、ロボット30上又はロボット30の近傍の任意の位置に定められた基準点を原点とする座標系である。以下では、ロボット座標系は工作機械座標系と異なる場合について説明するが、これに限らない。ロボット座標系は工作機械座標系と一致させてもよい。換言すれば、ロボット座標系の原点や座標軸方向を工作機械座標系の原点や座標軸方向と一致させてもよい。
 また、ロボット座標系は、制御軸が異なる2以上の座標形式の間で切り替え可能となっている。より具体的には、数値制御プログラムにおいてロボット30の制御点の位置及び姿勢は、直交座標形式又は各軸座標形式によって指定可能である。
 各軸座標形式では、ロボット30の制御点の位置及び姿勢は、ロボット30の6つの関節の回転角度値(J1,J2,J3,J4,J5,J6)を成分とした計6つの実数の座標値によって指定される。
 直交座標形式では、ロボット30の制御点の位置及び姿勢は、3つの直交座標軸に沿った3つの座標値(X,Y,Z)と、各直交座標軸周りの3つの回転角度値(A,B,C)と、を成分とした計6つの実数の座標値によって指定される。
 各軸座標形式の下では、ロボット30の各関節の回転角度を直接的に指定するため、ロボット30の各アームや手首の軸配置や、360度以上回転可能な関節の回転数(以下、これらを総称して「ロボット30の形態」という)も一意的に定まる。これに対し直交座標形式の下では、6つの座標値(X,Y,Z,A,B,C)によってロボット30の制御点の位置及び姿勢を指定するため、ロボット30の形態は一意的に定めることができない。そこでロボット用の数値制御プログラムでは、ロボット30の形態を、所定の桁数の整数値である形態値Pによって指定することが可能となっている。従ってロボット30の制御点の位置及び姿勢並びにロボット30の形態は、各軸座標形式の下では6つの座標値(J1,J2,J3,J4,J5,J6)によって表され、直交座標形式の下では6つの座標値及び一つの形態値(X,Y,Z,A,B,C,P)によって表される。
 また選択部21は、オペレータの入力操作による入力に応じて、ロボット30の位置決め種別として、位置決め動作及び滑らか動作のいずれかを選択する。ここで、位置決め動作とは、ロボット30の教示点として、開始点、目標点、そして次の点の3点がある場合において、これら3点を必ず通るように動作させる位置決め種別である。
 ここで、図3は、滑らか動作を説明するための図である。図3に示されるように、滑らか動作とは、サイクルタイムを優先させるべく、開始点、目標点、そして次の点の3点を通る軌跡の内回りをさせて、目標点を通らずに開始点から次の点まで滑らかに動作させる位置決め種別である。この滑らか動作では、内回り度としてRアドレスが設定される。例えば図3に示されるように、内回り度0は内回りをしない、すなわち位置決め動作と同じ動作であり、内回り度が高いほど、内回り度合が大きく滑らかな動作となる。Rアドレスは、オペレータによる入力操作により入力される。
 ロボット数値制御指令生成部22は、数値制御プログラムに従って、ロボット30に対するロボット数値制御指令を生成する。具体的にロボット数値制御指令生成部22は、ロボット30の動作種別、ロボット30の動作速度、ロボット30の位置決め種別、及びロボット30の座標値種別のうち少なくとも一つと、ロボット30の座標値種別に基づいて取得されたロボット教示点の座標値と、ロボット教示点におけるロボット30の形態情報と、に基づいて、ロボット数値制御指令を生成する。
 ロボット30の動作種別、ロボット30の動作速度、ロボット30の位置決め種別、及びロボット30の座標値種別については、上述の選択部21で選択された選択結果として、ロボット数値制御指令生成部22に入力される。また、ロボット30の座標値種別の選択結果に基づいて取得されたロボット教示点の座標値、及びロボット教示点におけるロボット30の形態情報については、後述のロボット座標値・形態情報取得部29によりロボット制御装置3から取得され、ロボット数値制御指令生成部22に入力される。このように本実施形態に係る数値制御装置2では、オペレータの入力操作による動作選択によって、自動的にロボットの座標値や形態情報が取得される。これにより、オペレータがロボットの座標値や形態情報を意識することなく、ロボット数値制御指令が簡単に生成可能となっている。
 記憶部23は、いずれも図示しない、プログラム記憶部と、機械座標値記憶部と、ロボット座標値記憶部と、ロボット教示位置記憶部と、を有する。
 プログラム記憶部には、例えばオペレータによる操作に基づいて作成された複数の数値制御プログラムが格納されている。より具体的には、プログラム記憶部には、工作機械20の動作を制御するための工作機械20に対する複数の指令ブロックやロボット30の動作を制御するためのロボット30に対する複数の指令ブロック等によって構成される数値制御プログラムが格納されている。プログラム記憶部に格納されている数値制御プログラムは、GコードやMコード等、工作機械の動作を制御するため既知のプログラム言語で記述されている。
 機械座標値記憶部には、上記数値制御プログラムの下で作動する工作機械20の各種軸の位置(すなわち、工作機械20の刃物台やテーブル等の位置)を示す機械座標値が格納されている。なおこれら機械座標値は、工作機械上又は工作機械20の近傍の任意の位置に定められた基準点を原点とする工作機械座標系の下で定義される。この機械座標値記憶部には、数値制御プログラムの下で逐次変化する機械座標値の最新値が格納されるよう、図示しない処理によって逐次更新される。
 ロボット座標値記憶部には、ロボット制御装置3の制御下で作動するロボット30の制御点(例えば、ロボット30のアーム先端部30a)の位置及び姿勢、換言すればロボット30の各制御軸の位置を示すロボット座標値が格納されている。なおこれらロボット座標値は、上述したように工作機械座標系とは異なるロボット座標系の下で定義される。このロボット座標値記憶部には、数値制御プログラムの下で逐次変化するロボット座標値の最新値が格納されるよう、図示しない処理によりロボット制御装置3から取得されたロボット座標値によって逐次更新される。
 ロボット教示位置記憶部は、オペレータにより入力されたロボット30の始点及び終点といった教示位置、具体的には、ティーチペンダント等から入力されたロボット30の教示位置や、キーボード等から入力された教示位置を記憶する。ロボット30の教示位置には、ロボット30の各制御軸の位置を示すロボット座標値が含まれ、これらロボット座標値は、工作機械座標系とは異なるロボット座標系の下で定義される。
 プログラム入力部24は、プログラム記憶部から数値制御プログラムを読み出し、これを逐次、解析部25へ入力する。
 解析部25は、プログラム入力部24から入力される数値制御プログラムに基づく指令種別を指令ブロックごとに解析し、その解析結果を図示しない工作機械制御部及び後述のロボット指令信号生成部26へ出力する。より具体的には、解析部25は、指令ブロックの指令種別が工作機械20に対する指令である場合には、これを工作機械制御部へ送信し、指令ブロックの指令種別がロボット30に対する指令である場合には、これをロボット指令信号生成部26へ出力する。
 図示しない工作機械制御部は、解析部25から送信される解析結果に応じて工作機械20の動作を制御するための工作機械制御信号を生成し、工作機械20の各種軸を駆動するアクチュエータへ入力する。工作機械20は、工作機械制御部から入力される工作機械制御信号に応じて動作し、図示しないワークを加工する。また工作機械制御部は、以上のように数値制御プログラムに従って工作機械20の動作を制御した後、機械座標値記憶部に格納されている機械座標値を、最新の機械座標値によって更新する。
 ロボット指令信号生成部26は、記憶部23に記憶されたプログラムのうち、解析部25によって指令ブロックの指令種別がロボット30に対する指令であると解析されたロボットプログラムに対して、該ロボットプログラムに応じたロボット指令信号を生成する。生成するロボット指令信号には、ロボット制御装置3側の記憶部31で記憶したロボットプログラムを起動させるためのトリガとなるロボットプログラム起動指令が含まれる。ロボット指令信号生成部26は、生成したロボット指令信号をデータ送受信部27に書き込む。
 データ送受信部27は、ロボット制御装置3のデータ送受信部32と相互に各種指令やデータを送受信する。データ送受信部27は、ロボット指令信号生成部26によってロボット指令信号が書き込まれると、ロボット指令信号をロボット制御装置3のデータ送受信部32へ送信する。また、データ送受信部27は、後述のロボット操作部28により位置決め完了信号が書き込まれ、選択部21により動作選択がなされると、選択された座標系に基づいたロボット教示点の座標値及びロボット30の形態情報をロボット制御装置3から受信し、後述のロボット座標値・形態情報取得部29に出力する。
 ロボット操作部28は、オペレータがロボット30を手動操作してロボット30を位置決めすると、位置決め完了信号を後述データ送受信部27に書き込む。
 ロボット座標値・形態情報取得部29は、上述のデータ送受信部27を介して、選択部21により選択された座標系に基づいたロボット教示点の座標値及びロボット30の形態情報を、ロボット30を制御するロボット制御装置3から取得する。より詳しくは、上述のロボット操作部28により位置決め完了信号がデータ送受信部27に書き込まれ、上述の選択部21によってロボット座標系が選択されると、選択された座標系に基づいたロボット30の教示点の座標値及び形態情報が、このロボット座標値・形態情報取得部29により取得される。
 次に、ロボット制御装置3の構成について詳細に説明する。図2に示すように、ロボット制御装置3は、上記ハードウェア構成によって、記憶部31、データ送受信部32、解析部33、ロボット命令生成部34、プログラム管理部35、軌跡制御部36、キネマティクス制御部37、サーボ制御部38等の各種機能を実現する。具体的にロボット制御装置3は、これら記憶部31、データ送受信部32、解析部33、ロボット命令生成部34、プログラム管理部35、軌跡制御部36、キネマティクス制御部37、サーボ制御部38を用いることによって、数値制御装置2から送信される指令に基づいてロボット30の動作を制御する。
 データ送受信部32は、数値制御装置2のデータ送受信部27から送信されるロボット指令信号を受信する。また、データ送受信部32は、受信したロボット指令信号を逐次、解析部33へ出力する。
 解析部33は、データ送受信部32から入力されるロボット指令信号を解析する。また、解析部33は、その解析結果をロボット命令生成部34へ出力する。
 ロボット命令生成部34は、解析部33から入力されるロボット指令信号の解析結果に基づいて、該ロボット指令信号に応じたロボット命令を生成する。ロボット命令生成部34は、生成したロボット命令をプログラム管理部35へ出力する。
 プログラム管理部35は、ロボット命令生成部34からロボット命令が入力されると、これを逐次実行することにより、上記ロボット指令信号に応じたロボット30の動作計画を生成し、軌跡制御部36へ出力する。
 また、プログラム管理部35は、ロボット命令生成部34から入力されるロボット命令がブロックロボット命令である場合には、記憶部31に格納されているロボットプログラムに、入力されたブロックロボット命令を追加する。これにより記憶部31には、数値制御装置2から送信されるロボット指令信号に応じたロボットプログラムが生成されて記憶される。記憶されたロボットプログラムは、プログラム管理部35がロボット命令としてロボットプログラム起動指令を受けることにより、起動再生される。
 軌跡制御部36は、プログラム管理部35から動作計画が入力されると、ロボット30の制御点の時系列データを算出し、キネマティクス制御部37へ出力する。
 キネマティクス制御部37は、入力された時系列データからロボット30の各関節の目標角度を算出し、サーボ制御部38へ出力する。
 サーボ制御部38は、キネマティクス制御部37から入力される目標角度が実現するようにロボット30の各サーボモータをフィードバック制御することによってロボット30に対するロボット制御信号を生成し、ロボット30のサーボモータへ入力する。
 次に、本実施形態に係るロボット数値制御指令生成処理の手順について詳細に説明する。図4は、ロボット数値制御指令生成処理の手順を示すフローチャートである。
 ステップS1では、オペレータがロボット30を手動操作することにより、ロボット30を位置決めする。その後、ステップS2に進む。
 ステップS2では、オペレータが数値制御装置2の操作画面上におけるソフトキーを押下することにより、ロボット動作を選択する。具体的にオペレータは、後述のステップS3で処理されるロボット動作の種別等について、ソフトキーを操作することにより選択して入力する。その後、ステップS3に進む。
 ここで、図5は、本実施形態に係る数値制御装置2の操作画面200の一例を示す図である。図5に示されるように、本実施形態に係る数値制御装置2の操作画面200は、ロボット座標値を表示するロボット座標値表示部201と、ロボット数値制御指令を表示して編集するためのプログラムエディタ部202と、ソフトキー203と、入力値を一時的に保存して表示するキーインバッファ204と、を有する。上述のステップS2において、複数のソフトキー203がオペレータによって押下されることにより、ロボット動作の種別等が選択、入力される。
 ステップS3では、ロボット動作の選択処理を実行する。具体的には、ロボット30の動作種別、ロボット30の座標値種別、ロボット30の動作速度、及びロボット30の位置決め種別のうち少なくとも一つを選択する。以下、ロボット30の動作種別選択処理、ロボット30の座標値種別選択処理、及びロボット30の位置決め種別選択処理の各手順について、図6~図8を参照して詳細に説明する。
 図6は、動作種別選択処理の手順を示すフローチャートである。本処理フローは、オペレータによるソフトキー203の操作に応じて選択部21により実行される。また、本処理フローは、上述のロボット数値制御指令生成処理におけるステップS3のサブルーチンを構成する。
 ステップS11では、オペレータによるソフトキー203の操作により入力されたロボット30の動作種別が各軸動作であるか否かを判別する。この判別がYESであればステップS12に進み、指令コードとしてG07.3を選択して指定し、本処理を終了する。
 ステップS11の判別がNOであればステップS13に進み、オペレータによるソフトキー203の操作により入力されたロボット30の動作種別が直線動作であるか否かを判別する。この判別がYESであればステップS14に進み、指令コードとしてG01を選択して指定し、本処理を終了する。
 ステップS13の判別がNOであればステップS15に進み、オペレータによるソフトキー203の操作により入力されたロボット30の動作種別が円弧動作のうち時計回りのCW動作であるか否かを判別する。この判別がYESであればステップS16に進み、指令コードとしてG02を選択して指定し、本処理を終了する。
 ステップS15の判別がNOであればステップS17に進み、この場合には、オペレータによるソフトキー203の操作により入力されたロボット30の動作種別が円弧動作のうち反時計回りのCCW動作であると判断されるため、指令コードとしてG03を選択して指定し、本処理を終了する。
 図7は、座標値種別選択処理の手順を示すフローチャートである。本処理フローは、上述の動作種別選択処理と同様に、オペレータによるソフトキー203の操作に応じて選択部21により実行される。また、本処理フローは、上述のロボット数値制御指令生成処理におけるステップS3のサブルーチンを構成する。
 ステップS21では、オペレータによるソフトキー203の操作により入力された座標値の種別が各軸座標系の各軸座標値であるか否かを判別する。この判別がYESであればステップS22に進み、ロボット座標値・形態情報取得部29によりロボット制御装置3から、ロボット30の教示点の各軸座標値を取得する。取得されたロボット30の教示点の各軸座標値は、図5に示されるようにロボット座標値表示部201に表示される。その後、本処理を終了する。
 ステップS21の判別がNOであればステップS23に進み、オペレータによるソフトキー203の操作により入力された座標値の種別が直交座標系の直交座標値であるか否かを判別する。この判別がYESであればステップS24に進み、ロボット座標値・形態情報取得部29によりロボット制御装置3から、ロボット30の教示点の直交座標値を取得する。取得されたロボット30の教示点の直交座標値は、図5に示されるようにロボット座標値表示部201に表示される。その後、ステップS25に進む。
 ステップS25では、座標値の種別が直交座標値であり、上述したように直交座標系の下では6つの座標値及び1つの形態値(X,Y,Z,A,B,C,P)によってロボット30の位置が表されることから、ロボット30の形態情報として形態値Pを取得する。具体的には、ロボット座標値・形態情報取得部29によりロボット制御装置3から、ロボット30の教示点の形態値Pを取得する。取得されたロボット30の教示点の形態値Pは、ロボット座標値表示部201に表示される。その後、本処理を終了する。
 ステップS23の判別がNOの場合は、オペレータによる座標値の種別の入力が無い場合であるため、そのまま本処理を終了する。この場合には、前回処理で選択された座標値の種別及び座標値がモーダル情報として有効に維持される。
 図8は、位置決め種別選択処理の手順を示すフローチャートである。本処理フローは、上述の動作種別選択処理及び座標値種別選択処理と同様に、オペレータによるソフトキー203の操作に応じて選択部21により実行される。また、本処理フローは、上述のロボット数値制御指令生成処理におけるステップS3のサブルーチンを構成する。
 ステップS31では、オペレータによるソフトキー203の操作により入力された位置決めの種別が位置決め動作であるか否かを判別する。この判別がYESであればステップS32に進み、この場合は滑らか動作ではなくRアドレスは不要であるため、Rアドレス値を追加で指定することなく本処理を終了する。
 ステップS31の判別がNOであればステップS33に進み、オペレータによるソフトキー203の操作により入力された位置決めの種別が滑らか動作であるか否かを判別する。この判別がYESであればステップS34に進み、オペレータによるソフトキー203の操作により入力されたRアドレスを追加で指定し、本処理を終了する。なお、図4では、Rアドレスとして内回り度R46が指定された例を示している。
 ステップS33の判別がNOの場合は、オペレータによる位置決めの種別の入力が無い場合であるため、そのまま本処理を終了する。この場合には、前回処理で選択された位置決めの種別及びRアドレスがモーダル情報として有効に維持される。
 なお、ロボット30の動作速度選択処理については、フローチャートを省略しているが、本処理フローは、上述の動作種別選択処理、座標値種別選択処理、及び位置決め種別選択処理と同様に、オペレータによるソフトキー203の操作に応じて選択部21により実行される。また、本処理フローは、上述のロボット数値制御指令生成処理におけるステップS3のサブルーチンを構成する。具体的に、動作速度選択処理では、オペレータによるソフトキー203の操作により入力された動作速度Fを選択して指定する。なお、図4では、動作速度Fとして100mm/minが指定された例を示している。
 図4に戻って、ステップS4では、オペレータがソフトキー203の一つである指令生成キーを押下する。その後、ステップS5に進む。
 ステップS5では、ロボット30の教示点における座標値及び形態情報を取得する。具体的には、ロボット座標値・形態情報取得部29がロボット制御装置3から、ロボット30の教示点における座標値及び形態情報を取得する。その後、ステップS6に進む。
 ステップS6では、対応指令をキーインバッファ204に挿入する。ここで、対応指令とは、上述のステップS1~ステップS5により選択、指定された条件に応じて、ロボット数値制御指令生成部22により生成されたロボット数値制御指令である。図4に一例として示されるように、ロボット数値制御指令は、動作種別(例:G01)+座標値種別(例:X100.0 Y0.0 Z100.0 A-180.0 B0.0 C0.0 P1211546)+動作速度(例:F100)+位置決め種別(例:R46)のように規定される。このような対応指令としてのロボット数値制御指令は、キーインバッファ204に一時的に保存、表示される。その後、ステップS7に進む。
 なお、形態値Pは、上記の一例で示されるように、7桁の数字で規定される。具体的には、手首の上下(1,2)、腕の左右(1,2)、腕の上下(1,2)、腕の前後(1,2)、J4軸の回転数(4,5,6)、J5軸の回転数(4,5,6)、J6軸の回転数(4,5,6)の順に、7桁の数字で表される。従って、上記一例の形態値P1211546は、手首が上、腕が右、腕が上、腕が前、J4軸の回転数が5、J5軸の回転数が4、J6軸の回転数が6であることを意味している。
 なお、ステップS6において対応指令を一旦、キーインバッファ204に一時的に保存、表示することなく、直接、プログラムエディタ部202に追加して表示する構成としてもよい。
 ステップS7では、キーインバッファ204に一時的に保存、表示されたロボット数値制御指令をオペレータが確認し、問題が無ければソフトキー203の一つであるINPUTキーを押下する。その後、ステップS8に進む。
 ステップS8では、ステップS7でのオペレータによるINPUTキーの押下に応じて、プログラムエディタに対応指令としてのロボット数値制御指令を追加する。これにより、本処理により生成されたロボット数値制御指令がプログラムエディタ部202に表示される。オペレータは、必要に応じてソフトキー203を操作することにより、プログラムエディタ部202に表示されたロボット数値制御指令を編集する。以上により、ロボット数値制御指令が生成され、本処理を終了する。
 本実施形態によれば、以下の効果が奏される。
 本実施形態によれば、ロボット30の動作種別、ロボット30の動作速度、ロボット30の位置決め種別、及びロボット30の座標値種別のうち少なくとも一つと、ロボット30の座標値種別に基づいて取得されたロボット教示点の座標値と、ロボット教示点におけるロボット30の形態情報と、に基づいて、ロボット数値制御指令を生成する。これにより、直交座標系や各軸座標系の座標系上の座標値を直感的に入力でき、工作機械ユーザに馴染みのない、形態情報の指定が簡単に行えるため、工作機械の数値制御プログラム言語でロボット30の動作プログラムを簡単に作成できる。
 本開示は、上記実施形態に限定されるものではなく、種々の変更及び変形が可能である。例えば上述の各実施形態では、数値制御装置2及びロボット制御装置3を備える数値制御システム1によって本開示を実現した場合について説明したが、本開示はこれに限定されない。上述の数値制御装置2、ロボット制御装置3の各種機能をコンピュータに実行させるコンピュータプログラムによっても実現可能である。
 また上記実施形態では、ロボット30の座標系として各軸座標系及び直交座標系のいずれかを選択する構成としたが、これに限定されない。例えば、ツール座標系を選択することも可能である。ここで、ツール座標系とは、ロボット30のツール先端点(TCP)の位置とツールの姿勢を定義する座標系である。ロボット30のメカニカルインタフェース座標系(手首フランジ面)まわりの動作であり、このメカニカルインタフェース座標系の原点からのオフセット値、及び各座標軸周りの回転角度が設定されることにより、ツール座標系が設定される。
 また上記実施形態では、ロボット座標値・形態情報取得部29が、ロボット教示点の座標値及びロボット30の形態情報を、ロボット30を制御するロボット制御装置3から取得する構成としたが、これに限定されない。例えば、ロボット座標値・形態情報取得部29が、ロボット30の動作プログラムをオフラインで作成するオフラインプログラミング装置から取得する構成としてもよい。
 1 数値制御システム
 2 数値制御装置(指令生成装置)
 3 ロボット制御装置
 21 選択部
 22 ロボット数値制御指令生成部
 23 記憶部
 24 プログラム入力部
 25 解析部
 26 ロボット指令信号生成部
 27 データ送受信部
 28 ロボット操作部
 29 ロボット座標値・形態情報取得部
 30 ロボット
 30a アーム先端部
 30b ツール
 31 記憶部
 32 データ送受信部
 33 解析部
 34 ロボット命令生成部
 35 プログラム管理部
 36 軌跡制御部
 37 キネマティクス制御部
 38 サーボ制御部

Claims (7)

  1.  数値制御プログラムに従ってロボットに対するロボット数値制御指令を生成するロボット数値制御指令生成部を備える指令生成装置であって、
     前記ロボット数値制御指令生成部は、
     前記ロボットの動作種別、前記ロボットの動作速度、前記ロボットの位置決め種別、及び前記ロボットの座標値種別のうち少なくとも一つと、
     前記ロボットの座標値種別に基づいて取得されたロボット教示点の座標値と、
     前記ロボット教示点における前記ロボットの形態情報と、
     に基づいて、前記ロボット数値制御指令を生成する、指令生成装置。
  2.  前記ロボットの動作種別、前記ロボットの動作速度、前記ロボットの位置決め種別、及び前記ロボットの座標値種別のうち少なくとも一つにおいて選択をし、その選択結果を前記ロボット数値制御指令生成部に出力する選択部を備える、請求項1に記載の指令生成装置。
  3.  前記選択部は、前記ロボットの動作種別として、各軸動作、直線動作及び円弧動作のいずれかを選択する、請求項2に記載の指令生成装置。
  4.  前記選択部は、前記ロボットの座標値種別として、各軸座標値及び直交座標値のいずれかを選択する、請求項2又は3に記載の指令生成装置。
  5.  前記選択部は、前記ロボットの位置決め種別として、位置決め動作及び滑らか動作のいずれかを選択する、請求項2から4いずれかに記載の指令生成装置。
  6.  前記ロボット教示点の座標値及び前記ロボットの形態情報を、前記ロボットを制御するロボット制御装置又は前記ロボットの動作プログラムをオフラインで作成するオフラインプログラミング装置から取得するロボット座標値・形態情報取得部を備える、請求項1から5いずれかに記載の指令生成装置。
  7.  ロボットの動作種別、前記ロボットの動作速度、前記ロボットの位置決め種別、及び前記ロボットの座標値種別のうち少なくとも一つと、
     前記ロボットの座標値種別に基づいて取得されたロボット教示点の座標値と、
     前記ロボット教示点における前記ロボットの形態情報と、
     に基づいて、数値制御プログラムに従って前記ロボットに対するロボット数値制御指令を生成させるステップをコンピュータに実行させるためのコンピュータプログラム。
PCT/JP2022/008788 2021-03-05 2022-03-02 指令生成装置及びコンピュータプログラム WO2022186255A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2023503895A JPWO2022186255A1 (ja) 2021-03-05 2022-03-02
DE112022000487.8T DE112022000487T5 (de) 2021-03-05 2022-03-02 Befehlserzeugungsvorrichtung und Computerprogramm
CN202280017831.2A CN116964537A (zh) 2021-03-05 2022-03-02 指令生成装置及计算机程序
US18/547,857 US20240231308A9 (en) 2021-03-05 2022-03-02 Command generation device and non-transitory computer-readable medium storing a computer program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021035417 2021-03-05
JP2021-035417 2021-03-05

Publications (1)

Publication Number Publication Date
WO2022186255A1 true WO2022186255A1 (ja) 2022-09-09

Family

ID=83154607

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/008788 WO2022186255A1 (ja) 2021-03-05 2022-03-02 指令生成装置及びコンピュータプログラム

Country Status (6)

Country Link
US (1) US20240231308A9 (ja)
JP (1) JPWO2022186255A1 (ja)
CN (1) CN116964537A (ja)
DE (1) DE112022000487T5 (ja)
TW (1) TW202236035A (ja)
WO (1) WO2022186255A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018195055A (ja) * 2017-05-17 2018-12-06 ファナック株式会社 工作機械制御装置及び生産システム
WO2020144772A1 (ja) * 2019-01-09 2020-07-16 三菱電機株式会社 数値制御装置および数値制御方法
JP2020170356A (ja) * 2019-04-03 2020-10-15 ファナック株式会社 加工制御システム及び加工システム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5752179B2 (ja) 2013-06-11 2015-07-22 ファナック株式会社 工作機械とロボットを制御する制御装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018195055A (ja) * 2017-05-17 2018-12-06 ファナック株式会社 工作機械制御装置及び生産システム
WO2020144772A1 (ja) * 2019-01-09 2020-07-16 三菱電機株式会社 数値制御装置および数値制御方法
JP2020170356A (ja) * 2019-04-03 2020-10-15 ファナック株式会社 加工制御システム及び加工システム

Also Published As

Publication number Publication date
CN116964537A (zh) 2023-10-27
TW202236035A (zh) 2022-09-16
US20240231308A9 (en) 2024-07-11
US20240134342A1 (en) 2024-04-25
JPWO2022186255A1 (ja) 2022-09-09
DE112022000487T5 (de) 2023-12-07

Similar Documents

Publication Publication Date Title
WO2022224425A1 (ja) 数値制御装置及び数値制御システム
JP7022260B1 (ja) 数値制御システム
JP6320668B1 (ja) 数値制御装置および数値制御方法
US11806876B2 (en) Control system, control apparatus, and robot
WO2022034848A1 (ja) 数値制御システム及びロボット制御方法
WO2022186255A1 (ja) 指令生成装置及びコンピュータプログラム
WO2022102578A1 (ja) 数値制御装置、及び数値制御システム
WO2022191057A1 (ja) 動作経路生成装置、数値制御装置、数値制御システム、及びコンピュータプログラム
JP7121221B1 (ja) 数値制御装置及び数値制御システム
WO2022176818A1 (ja) ロボット制御装置、ロボット制御システム、及びコンピュータプログラム
JP7495499B2 (ja) 数値制御システム
WO2022004647A1 (ja) 数値制御システム
JP7448736B1 (ja) 数値制御装置及び数値制御システム
JP7177301B1 (ja) 数値制御装置、及び数値制御システム
JP7157281B1 (ja) ロボット制御装置、数値制御システム及び数値制御方法
WO2023112342A1 (ja) 教示装置、制御装置、及び機械システム
JP2742959B2 (ja) レーザ加工装置
JP2001312305A (ja) ロボットのツール制御方法
JPH06270082A (ja) 補軸を有するロボットの制御方法
JPH0736526A (ja) 数値制御装置
JPH05181515A (ja) 多関節ロボットにおける軸角度の計算方法
JPS63271506A (ja) ロボツトの座標変換方法

Legal Events

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

Ref document number: 22763309

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023503895

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 112022000487

Country of ref document: DE

WWE Wipo information: entry into national phase

Ref document number: 18547857

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 202280017831.2

Country of ref document: CN

122 Ep: pct application non-entry in european phase

Ref document number: 22763309

Country of ref document: EP

Kind code of ref document: A1