Program production apparatus
Patent Information
- Application Number
- CN202180099461.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-06-25
- Publication Date
- 2026-10-09
- Estimated Expiration
- 2041-06-25
AI Technical Summary
需要将机械的动作轨道、进行动作轨道中的校正动作的校正区间、和校正动作的参数唯一地关联起来而制作动作程序,但在以往的编程环境中,动作轨道的显示画面和参数的显示画面大多是分开的,难以直观的编程
[0013] According to one aspect of this disclosure, intuitive program editing is possible because the teaching of the motion trajectory before correction and the setting of the correction action based on sensor information can be edited in the same frame.
Smart Images

Figure CN117501191B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to program creation technology, and more particularly to a program creation device capable of intuitive program editing. Background Technology
[0002] To intuitively create motion programs for machines including robots and machine tools, icon programming has been proposed, which arranges icons representing control commands for the machines to create motion programs. On the other hand, in machining processes including cutting, grinding, lapping, welding, fitting, fastening, and crimping, techniques for contour control of machines based on sensor information obtained from sensors including force sensors and vision sensors are widely known.
[0003] When creating a motion program that performs correction actions based on sensor information, the teaching points that constitute the machine's motion path are taught, the correction range for the correction actions within the motion path is specified, and the parameters for the correction actions are set. Typically, these parameters are used repeatedly and are therefore often set separately from the motion program. The motion program needs to uniquely link the machine's motion path, the correction range for the correction actions within the motion path, and the parameters for the correction actions. However, in conventional programming environments, the display screens for the motion path and the parameters are mostly separate, making intuitive programming difficult.
[0004] Patent document 1 describes the following: Select a function icon from a first area displaying function icons that constitute the control program of the robot, place a function icon with a copy of the function icon in a second area, set the parameters of the function represented by the function icon placed in the second area, and create a control program based on the function icon and the settings.
[0005] Existing technical documents
[0006] Patent documents
[0007] Patent Document 1: Japanese Patent No. 6498366 Summary of the Invention
[0008] The problem that the invention aims to solve
[0009] In view of the problems of the past, the purpose of this invention is to provide an intuitive programming and editing technology.
[0010] Methods for solving problems
[0011] One aspect of this disclosure provides a program creation apparatus comprising: a display unit that displays a screen including a machine's motion trajectory, machine control commands, and parameter settings for the control commands; an input unit that inputs user operation information from the screen; and a program editing unit that, based on the user operation information, associates the teaching of the motion trajectory with the parameter settings of the correction motion commands based on sensor information on the same screen to edit the machine's motion program.
[0012] Invention Effects
[0013] According to one aspect of this disclosure, intuitive program editing is possible because the teaching of the motion trajectory before correction and the setting of the correction action based on sensor information can be edited in the same frame. Attached Figure Description
[0014] Figure 1 This is a structural diagram of the mechanical system according to the first embodiment.
[0015] Figure 2 It is a 3D view of the workpiece.
[0016] Figure 3 This is a functional block diagram of the mechanical system in the first embodiment.
[0017] Figure 4 This is a diagram showing the programming screen of the first embodiment.
[0018] Figure 5 This is a diagram showing the programming screen of the first embodiment.
[0019] Figure 6 This is a diagram showing a modified example of the programming screen of the first embodiment.
[0020] Figure 7 This is a diagram showing a modified example of the programming screen of the first embodiment.
[0021] Figure 8 This is a diagram showing the programming screen of the second embodiment.
[0022] Figure 9 This is a diagram showing the programming screen of the second embodiment.
[0023] Figure 10 This is a diagram showing the programming screen of the second embodiment.
[0024] Figure 11 This is a diagram showing the programming screen of the third embodiment.
[0025] Figure 12 This is a diagram showing the programming screen of the third embodiment.
[0026] Figure 13This is a side view of the mechanical system according to the fourth embodiment.
[0027] Figure 14 This is a diagram showing the programming screen of the fifth embodiment. Detailed Implementation
[0028] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. In the drawings, the same or similar structural elements are given the same or similar reference numerals. Furthermore, the embodiments described below do not limit the technical scope of the invention as claimed in the patent claims, nor the meaning of the terms used. In this specification, the term "screen" refers to all or part of the area of a display screen, the term "window" refers to a part of the screen area, and the term "view" refers to an image or depiction shown in a window.
[0029] Figure 1 This is a structural diagram of the mechanical system 1 according to the first embodiment. The mechanical system 1 performs various operations on the workpiece W. These operations include cutting, grinding, lapping, welding, fitting, fastening, edge curling, and sealing. The mechanical system 1 includes a program generation device 10, a control device 20, a machine 30, and a sensor 40. In the first embodiment, the mechanical system 1 used for deburring the workpiece W will be described.
[0030] Figure 2 This is a three-dimensional view of the workpiece W. In the case of a machine 30 that performs deburring on the rough sections of a cuboid workpiece W, the machine 30 is taught from a position slightly away from the machining line L, using teaching points P4 to P7 that constitute the machine's motion path M. The machine is taught the start position (teaching point P4) and end position (teaching point P7) of a correction action based on sensor information. This teaching is performed by inserting control command groups within the correction interval of the motion path M, where the correction action is applied, between the start and end positions. On the other hand, parameters for the correction action based on sensor information need to be set, such as target force and pressing direction (in this example, the direction below the plane of the paper where the workpiece W is located). During the movement of the machine 30 from teaching point P4 to teaching point P7, the control device 20 acquires sensor information from the sensor 40 according to the motion program and corrects the machine 30's motion based on the acquired sensor information.
[0031] Refer again Figure 1The program creation apparatus 10 creates a motion program for the machine 30 to perform correction actions based on sensor information. The program creation apparatus 10 is communicatively connected to the control device 20 via wired or wireless means. The program creation apparatus 10 is, for example, a robot teaching pendant; however, in other embodiments, it may not be a robot teaching pendant, but rather an external computer device that is communicatively connected to the control device 20. The program creation apparatus 10 sends the generated motion program to the control device 20.
[0032] The control device 20 is communicatively connected to the programming device 10, the machine 30, and the sensor 40 via wired or wireless means. The control device 20 controls the machine 30 according to the action program received from the programming device 10. The control device 20 directly obtains sensor information from the sensor 40; however, in other embodiments, the programming device 10 or an external computer device may also obtain sensor information from the sensor 40, and the control device 20 indirectly obtains sensor information from the programming device 10 or the external computer device. The control device 20 corrects the operation of the machine 30 based on the obtained sensor information.
[0033] The program creation apparatus 10 and the control device 20 are both computer devices equipped with a processor, memory, input / output units, etc. The processor is a semiconductor integrated circuit that executes computer programs, such as a CPU (central processing unit) or MPU (microprocessor). However, in other embodiments, it may be another semiconductor integrated circuit that rewrites and executes computer programs, such as a PLD (programmable logic device) or FPGA (field programmable gate array). The memory is a semiconductor storage device that stores various types of data, such as RAM (random access memory) or ROM (read-only memory). However, in other embodiments, it may be other storage devices such as magnetic storage devices.
[0034] The machine 30 is connected to the control device 20 via wired or wireless means. The machine 30 is controlled by the control device 20 according to a program of motion, performing correction actions based on sensor information while working on the workpiece W. The machine 30 includes a robot 31 and a tool 32, but in other embodiments, it may also include a machine tool and a tool. Although not shown, the robot 31 includes multiple links capable of relative movement, motors driving the links, and motor drive devices driving the motors. Similarly, although not shown, the tool 32 includes a movable part, a motor driving the movable part, and a motor drive device driving the motor. The motor drive devices of the robot 31 and the tool 32 are communicatively connected to the control device 20 and controlled by the control device 20, but in other embodiments, the motor drive devices of the robot 31 and the tool 32 may also be configured within the control device 20. Additionally, in other embodiments, the robot 31 and the tool 32 may be controlled by separate, independent control devices.
[0035] Robot 31 has a tool 32 mounted on its front end, which is used to move the tool 32 toward the workpiece W. However, in other embodiments, robot 31 may also remove the workpiece W and move it toward the tool 32, or it may move the workpiece W toward other workpieces as described in the embodiments described later. Robot 31 is an industrial robot including vertical multi-joint robots, horizontal multi-joint robots, orthogonal robots, parallel linkage robots, collaborative robots, etc., but in other embodiments, it may also be a robot of other types, including humanoid robots.
[0036] Tool 32 is mounted on the front end of the robot and is transported to workpiece W by robot 31 for operation. However, in other embodiments, tool 32 is fixed in a different location from robot 31 and can perform operations on workpiece W transported by robot 31. Alternatively, as described later, tool 32 can also be a robotic arm for removing workpiece W. Tool 32 is a deburring grinding tool, but in other embodiments, it can also be other processing tools including cutting tools, grinding tools, welding tools, fitting tools, fastening tools, edge-rolling tools, sealing tools, etc., or it can be a multi-finger gripping, magnetic adsorption, vacuum adsorption, Bernoulli type, or other robotic arm tools.
[0037] Sensor 40 is composed of a force sensor 41, a vision sensor 42, or a distance sensor, etc. Sensor 40 is mounted on machine 30, but in other embodiments composed of sensors other than force sensor 41, it may be fixed in a different location from machine 30. Sensor 40 is communicatively connected to control device 20 via wired or wireless means, but in other embodiments, it may also be communicatively connected to program creation device 10 or an external computer device.
[0038] Force sensor 41 is mounted on tool 32 and detects the reaction force from workpiece W as sensor information. However, in other embodiments where robot 31 handles workpiece W, the reaction force from tool 32 is sometimes also detected as sensor information. Force sensor 41 is a six-axis force sensor that detects force in three axes and torque about three axes. However, in other embodiments, it can also be a three-axis force sensor, in which case only force in three axes is detected. Force sensor 41 can be composed of various force sensors such as strain gauge, piezoelectric, optical, and electrostatic capacitive types.
[0039] The vision sensor 42 is mounted on the machine 30, but in other embodiments, it may be fixed in a different location than the machine 30. The vision sensor 42 detects the position (and orientation) of the workpiece W as sensor information. The vision sensor 42 is composed of various three-dimensional sensors such as time-of-flight (TOF), triangulation, and focal point sensors.
[0040] Figure 3 This is a functional block diagram of the mechanical system 1 according to the first embodiment. The program creation apparatus 10 provides a vision-based programming environment (an icon-based programming environment in this embodiment), but in other embodiments, it may also provide an existing programming environment (e.g., a text-based programming environment). The program creation apparatus 10 includes a program editing unit 11, a display unit 12, and an input unit 14. The program creation apparatus 10 may also include a program generation unit 13. The control device 20 includes a sensor information acquisition unit 21 and a motion control unit 22.
[0041] The program editing unit 11 generates a view to be displayed on the programming screen and sends the generated view to the display unit 12. Additionally, the program editing unit 11 receives user operation information from the input unit 14 on the programming screen, generates a view of the edited motion program of the machine 30 based on the user operation information, and sends the generated view to the display unit 12 and the program generation unit 13. When the display unit 12 and the input unit 14 are touch panel displays, the user operation information includes click position, double-click position, drag and drop position, pinch-in position, pinch-out position, etc. Based on the user operation information, the program editing unit 11 associates the teaching of the motion track M with the parameter settings of the correction motion command based on sensor information on the same programming screen to edit the motion program of the machine 30. The program editing unit 11 may be part or all of a processor including a CPU, MPU, FPGA, ASIC, etc., but in other embodiments, it may also be composed of part or all of a computer program.
[0042] Display unit 12 displays the view generated by program editing unit 11 on the programming screen. Display unit 12 displays the programming screen containing the motion path M of machine 30, control commands of machine 30, and parameter settings for the control commands. Control commands include various commands such as motion commands to make machine 30 move, correction motion commands based on sensor information, application commands to make machine 30 perform complex actions, conditional branch commands, and loop commands. For example, application commands include stacking commands to load workpiece W onto a pallet and destacking commands to remove workpiece W one by one from the pallet. For example, in the case of motion commands, the parameters of the control commands include the position (and posture) of the teaching point, motion speed, etc., and in the case of correction motion commands based on sensor information, they include target force, pressing direction (correction direction), start point, end point, etc.
[0043] The input unit 14 inputs user operation information from the programming screen. The display unit 12 and the input unit 14 are composed of various touch panel displays, including ultrasonic surface elastic wave type, resistive film type, and infrared type. However, in other embodiments, the display unit 12 and the input unit 14 may be composed of independent devices. For example, the display unit 12 may be composed of a display such as a liquid crystal display, and the input unit 14 may be composed of an input device such as a mouse or keyboard.
[0044] The program generation unit 13 transforms the action program edited by the program editing unit 11 into an action program containing source code, object code (machine language), intermediate code, byte code, etc. The program generation unit 13 sends the generated action program to the control device 20. The program generation unit 13 may be part or all of a processor such as a CPU, MPU, FPGA, or ASIC, but in other embodiments, it may also be composed of part or all of a computer program.
[0045] The sensor information acquisition unit 21 acquires sensor information from the sensor 40. The sensor information acquisition unit 21 then sends the acquired sensor information to the motion control unit 22. The sensor information acquisition unit 21 may be part or all of a processor such as a CPU, MPU, FPGA, or ASIC, or it may be part or all of a computer program.
[0046] The motion control unit 22 obtains a motion program from the program generation device 10 and controls the movement of the machine 30 according to the motion program. Additionally, the motion control unit 22 receives sensor information from the sensor information acquisition unit 21 according to the motion program, generates a motion correction value based on the received sensor information, generates a correction motion command based on the generated motion correction value, and sends the generated correction motion command to the machine 30. The motion control unit 22 sends the generated correction motion command to the motor drive device of the machine 30. The motion control unit 22 may be part or all of a processor such as a CPU, MPU, or FPGA; however, in other embodiments, it may also be composed of part or all of a computer program.
[0047] Figure 4 This diagram illustrates the programming screen 50 according to the first embodiment. The program editing unit 11 generates the programming screen 50, which includes an action track window 51, a program editing window 52, a command selection window 53, a command setting window 54, etc., and the display unit 12 displays the generated programming screen 50 on the monitor. Due to the limitations of the screen size, the command selection window 53 and the command setting window 54 are selected and displayed one of them, but in other embodiments, they can be displayed simultaneously.
[0048] In the motion track window 51, when the input unit 14 inputs user operation information to add teaching points P1 to P7 that constitute the motion track M of the machine 30, the program editing unit 11 generates a motion track view that depicts the motion track M of the machine 30 and the teaching points P1 to P7 that constitute the motion track M on a virtual space with the shape model of the machine 30 configured, and the display unit 12 displays the generated motion track view in the motion track window 51.
[0049] The motion trajectory view can also be an image or depiction of a shape model of the workpiece W further configured in virtual space. Teaching points P1 to P7 are depicted by markers used to identify the teaching points. The markers for identifying teaching points P1 to P7 are pinmarks containing identification symbols (numbers 1 to 7 in this example), but in other embodiments, they can be other types of markers such as diamond marks, triangle marks, or circular marks. Furthermore, the motion trajectory view can be an image or depiction of various coordinate systems in virtual space, such as machine coordinate system C1, tool coordinate system C2, workpiece coordinate system C3, and user coordinate system (not shown). Machine coordinate system C1 is fixed to the reference position of machine 30, tool coordinate system C2 is fixed to the reference position of tool 32, workpiece coordinate system C3 is fixed to the reference position of workpiece W, and user coordinate system is fixed to the user's designated position.
[0050] In the program editing window 52, the program editing unit 11 generates a program view that depicts the timeline 57 of the action program and the execution start line 58 of the action program, and the display unit 12 displays the generated program view in the program editing window 52.
[0051] Furthermore, when the input unit 14 inputs user operation information to select icons 55-56 representing control commands for the machine 30 and moves them from the command selection window 53 to the program editing window 52, the program editing unit 11 copies the icons 55-56 representing control commands and generates a program view with icons 55a-56a representing the copied control commands arranged in a row. The display unit 12 displays the generated program view in the program editing window 52. Additionally, the program generation unit 13 generates an action program according to the arrangement of the icons 55a-56a representing control commands and the parameter settings of the control commands. The user operation of selecting and moving icons 55-56 representing control commands from the command selection window 53 to the program editing window 52 can be an action such as touching and moving the icons 55-56 with one finger and then removing the finger (a so-called drag-and-drop).
[0052] When the input unit 14 inputs user operation information that selects the icon 56 representing the action command and moves it from the command selection window 53 to the program editing window 52, the program editing unit 11 copies the icon 56 representing the action command and generates a program view with icons 56a representing the copied action command. The display unit 12 displays the generated program view in the program editing window 52. Furthermore, the program generation unit 13 generates an action program according to the arrangement of the icons 56a representing the action commands and the parameter settings of the action commands.
[0053] Although not illustrated, in the program editing window 52, when the input unit 14 inputs user operation information to select the icon 56a representing the action command and then selects the detailed menu bar of the command setting window 54, the program editing unit 11 generates a parameter setting view to associate the teaching point P5 constituting the action track M with the icon 56a representing the action command, and the display unit 12 displays the generated parameter setting view in the command setting window 54.
[0054] Next, in the command setting window 54, when the input unit 14 inputs user operation information that associates the teach point P5 with the icon 56a representing the action command, the program editing unit 11 generates a program view that associates the marker identifying the teach point P5 with the icon 56a representing the action command, and the display unit 12 displays the generated program view in the program editing window 52. Additionally, the program generation unit 13 generates an action program that sets the teach point P5 as a parameter of the icon 56a representing the action command.
[0055] The markers for identifying teach points P1 to P7 are the same in both the motion track window 51 and the program editing window 52. Therefore, the user can refer to the teach points P1 to P7 that constitute the motion track M in the motion track window 51, and associate the teach points P1 to P7 with the icons 56a that represent motion commands in the program editing window 52, thus enabling intuitive program editing.
[0056] When the input unit 14 inputs user operation information indicating that it selects an icon 55 representing a calibration action command based on sensor information and moves from the command selection window 53 to the program editing window 52, the program editing unit 11 copies the icon 55 representing the calibration action command and generates a program view configured with an icon 55a representing the copied calibration action command. The display unit 12 displays the generated program view in the program editing window 52. Furthermore, the program generation unit 13 generates an action program based on the configuration of the icon 55a representing the calibration action command and the parameter settings of the calibration action command.
[0057] In the program editing window 52, when the input unit 14 inputs user operation information that scales the icon 55a representing a correction action command based on sensor information and associates it with the icon 56a representing a control command, the program editing unit 11 generates a program view in which the icon 55a representing the correction action command is inserted into the group of icons representing the control command that applied the correction action command based on sensor information (in this example, the icon 56a representing the action command). The display unit 12 displays the generated program view in the program editing window 52. Additionally, the program generation unit 13 generates an action program that reflects the start and end positions of the icon 55a representing the correction action command.
[0058] The user operation of scaling the icon 55a, which represents the correction action command, and associating it with the icon 56a, which represents the control command, can be touching the icon 55a, which represents the correction action command, with two fingers, expanding the finger width (so-called pinching and releasing), or narrowing the finger width (so-called pinching and closing), etc.
[0059] Furthermore, when the input unit 14 inputs user operation information in the program editing window 52, which involves scaling the icon 55a representing a correction action command based on sensor information and associating it with the icon 56a representing a control command, the program editing unit 11 generates a motion track view that identifies the correction interval in the motion track M to which the correction action has been applied and depicts it. The display unit 12 then displays the generated motion track view in the motion track window 51. Thus, the user can specify the start and end positions of the correction action command in the program editing window 52 while referring to the teaching points P1 to P7 constituting the motion track M in the motion track window 51, enabling intuitive programming editing.
[0060] The identification of the correction interval is achieved by changing the color of the motion track of the correction interval and other intervals. However, in other embodiments, it can also be achieved by displaying only the motion track of the correction interval, changing the color of the markers representing teaching points P4 to P7, changing the color of the identification mark in the markers representing teaching points P4 to P7, or changing the shape of the markers. Thus, the user can simultaneously refer to the correction intervals in motion track M where the correction action has been applied in the motion track window 51 and teach the correction action commands in the program editing window 52, enabling intuitive programming editing.
[0061] In the command selection window 53, when the input unit 14 inputs user operation information to select the command selection window 53 (programming menu bar), the program editing unit 11 generates a command list view that depicts a list of icons 55 to 56 representing control commands of the machine 30, and the display unit 12 displays the generated command list view in the command selection window 53.
[0062] In addition, in the command selection window 53, when the input unit 14 inputs user operation information to select any one of the command category labels 53a to 53d that represent the category of control commands, the program editing unit 11 generates a command list view that depicts a list of icons according to each category of control commands, such as action commands (action A, action B) and conditional branch commands (condition F, condition F), and the display unit 12 displays the generated command list view in the command selection window 53.
[0063] Figure 5 This is a diagram showing the programming screen 50 of the first embodiment. In the program editing window 52, when the input unit 14 inputs user operation information to select any one of the icons 55a to 56a that represent control commands, and then selects the command setting window 54 (detailed menu bar), the program editing unit 11 generates a parameter setting view for setting the parameters of the selected control command, and the display unit 12 displays the generated parameter setting view in the command setting window 54.
[0064] In the program editing window 52, when the input unit 14 inputs user operation information to select the icon 55a that represents the calibration action command based on sensor information, and then selects the command setting window 54 (detailed menu bar), the program editing unit 11 generates a parameter setting view for setting the parameters 54a to 54d for the calibration action command, and the display unit 12 displays the generated parameter setting view in the command setting window 54.
[0065] The parameters 54a to 54d for the calibration action command include the target force, pressing direction, start point, and end point in the parameter setting view. The target force refers to the pressing target force of the machine 30 on the workpiece W (or tool 32), and the pressing direction refers to the pressing direction of the machine 30 relative to the workpiece W (or tool 32). The pressing direction is set to the Z direction of the tool coordinate system C2, but in other embodiments, it can be set to any axis direction such as the machine coordinate system C1, the workpiece coordinate system C3, or the user coordinate system (not shown). The start point is the teach point indicating the starting position of the calibration action command, and the end point is the teach point indicating the ending position of the calibration action command. However, in the program editing window 52, when an icon group representing control commands (icon 56a representing action commands in this example) is inserted using the icon 55a representing the calibration action command, the setting of the start and end points is not required.
[0066] Although icon 55a, representing a correction action command based on sensor information, is inserted into the icon group representing control commands (icon 56a representing action commands in this example), in the case of a simple motion track M consisting only of linear movement as in this example, the motion track M can be taught only at the teaching points P4 to P7 constituting the motion track M. In the case of such a simple motion track M, or when it is not necessary to program the action commands constituting the motion track M, the teaching points P4 to P7 constituting the motion track M can also be set as parameters for icon 55a representing the correction action command.
[0067] Figure 6 This diagram illustrates a modified example of the programming screen 50 of the first embodiment. In the case of a simple motion track M, or where programming of the motion commands constituting the motion track M is not required, the icon 55a representing the correction motion command based on sensor information is a separate icon in the program editing window 52. The program editing unit 11 generates a program view depicting the icon 55a representing the correction motion command, and the display unit 12 displays the generated program view in the program editing window 52.
[0068] Figure 7 This diagram illustrates a modified example of the programming screen 50 of the first embodiment. In the program editing window 52, when the input unit 14 inputs user operation information to select the icon 55a representing a calibration action command based on sensor information, and then selects the command setting window 54 (detailed menu bar), the program editing unit 11 generates a parameter setting view that associates the teaching points P4 to P7 constituting the motion track M with the icon 55a representing the calibration action command. The display unit 12 displays the generated parameter setting view in the command setting window 54. As parameters 54e of the calibration action command, the parameter setting view includes an add button for adding teaching points constituting the motion track M.
[0069] In the command setting window 54, when the input unit 14 inputs user operation information to add a teach point P5 constituting the motion track M, the program editing unit 11 generates a parameter setting view that changes the add button to "taught," and the display unit 12 displays the generated parameter setting view in the command setting window 54. Additionally, in the motion track window 51, the program editing unit 11 generates a motion track view that identifies and depicts the added teach point P5, and the display unit 12 displays the generated motion track view in the motion track window 51. Thus, the user can refer to the teach points P1 to P7 constituting the motion track M in the motion track window 51 while associating the teach point P5 with the icon 55a representing the correction motion command in the command setting window 54, enabling intuitive programming editing.
[0070] As described above, according to the mechanical system 1 of the first embodiment, the teaching of the motion trajectory M before correction and the setting of the correction action based on sensor information can be edited on the same programming screen 50. Furthermore, the positions of the teaching points P4 to P7 within the correction interval of the motion trajectory M where the correction action has been applied can be confirmed on the same programming screen 50. Therefore, intuitive program editing is possible.
[0071] However, if the accuracy of the motion path M before correction is poor, sometimes the machine 30 may move away from the workpiece W, or conversely, press the workpiece W into the required position. In the second embodiment, a mechanical system 1 that can automatically teach the motion path M before correction through simple operation will be described.
[0072] Refer again Figure 3 In the mechanical system 1 of the second embodiment, the program editing unit 11 sends a contouring motion command based on sensor information to the motion control unit 22, and the motion control unit 22 causes the machine 30 to perform a contouring motion. The sensor information acquisition unit 21 acquires sensor information from the sensor 40 and sends the acquired sensor information to the motion control unit 22. The motion control unit 22 generates a motion correction amount based on the received sensor information, generates a contouring motion command based on the generated motion correction amount, and sends the generated contouring motion command to the machine 30 for repeated contouring control.
[0073] The program editing unit 11 receives sensor information from the sensor information acquisition unit 21, generates a motion correction amount based on the received sensor information, and records a contour track based on the generated motion correction amount. However, in other embodiments, the motion correction amount may be received from the motion control unit 22, and the contour track may be recorded based on the received motion correction amount. Alternatively, the corrected contour motion command may be received from the motion control unit 22, and the contour track may be recorded based on the received contour motion command. The program editing unit 11 automatically teaches the motion track M before correction based on the recorded track. The other structures of the mechanical system 1 in the second embodiment are the same as those in the mechanical system 1 of the first embodiment, and therefore, descriptions are omitted.
[0074] Figure 8 This is a diagram showing the programming screen 50 of the second embodiment. When the input unit 14 inputs user operation information that selects an icon 55 representing a calibration action command based on sensor information and moves from the command selection window 53 to the program editing window 52, the program editing unit 11 copies the icon 55 representing the calibration action command and generates a program view with an icon 55a representing the copied calibration action command. The display unit 12 displays the generated program view in the program editing window 52. Furthermore, the program generation unit 13 generates an action program based on parameter settings of the calibration action command, etc.
[0075] Figure 9 This is a diagram showing the programming screen 50 of the second embodiment. In the program editing window 52, when the input unit 14 inputs user operation information to select the icon 55a representing the calibration action command based on sensor information, and then selects the command setting window 54 (detailed menu bar), the program editing unit 11 generates parameter setting views for setting parameters 54a to 54d, 54g, and 54f for the calibration action command, and the display unit 12 displays the generated parameter setting views in the command setting window 54.
[0076] In addition to parameters 54a to 54d of the aforementioned correction action command, parameter 54f of the correction action command, the parameter setting view includes an execution button that causes the machine 30 to perform a contouring action based on sensor information, records the trajectory during the contouring action, and automatically teaches the contouring trajectory M of the action before correction based on the recorded trajectory. Furthermore, the parameter setting view also includes the direction of travel of the contouring action as parameter 54g of the correction action command. The direction of travel refers to the direction of travel of the machine 30 relative to the workpiece W (or tool 32). The direction of travel is set to the X direction of the tool coordinate system C2, but in other embodiments, it can also be set to any axis direction such as the machine coordinate system C1, the workpiece coordinate system C3, or the user coordinate system (not shown).
[0077] Figure 10This is a diagram showing the programming screen 50 of the second embodiment. In the command setting window 54, when the input unit 14 inputs user operation information for performing contour track teaching, the program editing unit 11 causes the machine 30 to perform contour movement based on sensor information, records the track during the contour movement, converts it into an icon group representing the control commands constituting the recorded track (in this example, 56a representing the action commands), generates a program view by inserting an icon 55a representing the correction action command based on sensor information into the icon group representing the converted control commands, and the display unit 12 displays the generated program view in the program editing window 52. Thus, the motion track M before correction can be automatically taught with simple operation. Furthermore, the program generation unit 13 generates an action program based on the icon 55a representing the correction action command, the icon group representing the converted control commands, and these parameter settings.
[0078] In addition, in the motion track window 51, the program editing unit 11 draws the automatically taught motion track M, and then generates a motion track view that identifies and draws the correction intervals in the motion track M that have applied correction actions. The display unit 12 displays the generated motion track view in the motion track window 51.
[0079] The identification of the correction interval is achieved by changing the color of the motion track between the correction interval and other intervals. However, in other embodiments, it can also be achieved by displaying only the motion track of the correction interval, changing the color of the markers representing teaching points P4 to P7, changing the color of the identification marks in the markers representing teaching points P4 to P7, or changing the shape of the markers. Thus, the user can confirm the motion track M that has undergone contouring teaching through the motion track window 51, enabling intuitive programming editing.
[0080] Alternatively, instead of inserting the icon 55a representing the correction action command into the group of icons representing the control command for performing contour track teaching (icon 56a representing the action command in this example), the teaching points P4 to P7 for performing contour track teaching can be set as parameters for the icon 55a representing the correction action command. In this case, the icon 55a representing the correction action command becomes a separate icon.
[0081] As described above, according to the mechanical system 1 of the second embodiment, the machine 30 performs a contouring motion based on sensor information, records the trajectory during the contouring motion, and automatically teaches the motion trajectory M before correction based on the recorded trajectory. Therefore, it is expected that the accuracy of the motion trajectory M before correction can be improved. That is, it is possible to suppress the phenomenon that the machine 30 moves away from the workpiece W or, conversely, presses the workpiece W into the workpiece W to the desired position. In addition, the user can view the motion trajectory M before correction after contouring trajectory teaching through the motion trajectory window 51, thus enabling intuitive programming editing.
[0082] However, sometimes, without any original motion trajectory M, instead of performing contouring trajectory teaching, it is desirable to manually teach a rough motion trajectory M, then have the machine 30 perform a contouring motion based on sensor information, record the trajectory during the contouring motion, and correct the rough motion trajectory M based on the recorded trajectory. Furthermore, by further refining the corrected motion trajectory M, it is expected that the accuracy of the motion trajectory M can be improved. In the third embodiment, the mechanical system 1 for correcting the original motion trajectory M will be described.
[0083] Refer again Figure 3 In the mechanical system 1 of the third embodiment, the program editing unit 11 sends a contouring motion command, including the original motion trajectory M, to the motion control unit 22, which causes the machine 30 to perform the contouring motion. The sensor information acquisition unit 21 acquires sensor information from the sensor 40 and sends the acquired sensor information to the motion control unit 22. The motion control unit 22 generates a motion correction amount based on the received sensor information, generates a contouring motion command based on the generated motion correction amount, and sends the generated contouring motion command to the machine 30 for repeated contouring control.
[0084] The program editing unit 11 receives sensor information from the sensor information acquisition unit 21, generates a motion correction amount based on the received sensor information, and records a contour track based on the generated motion correction amount. However, in other embodiments, the motion correction amount may be received from the motion control unit 22, and the contour track may be recorded based on the received motion correction amount. Alternatively, the corrected contour motion command may be received from the motion control unit 22, and the contour track may be recorded based on the received contour motion command. The program editing unit 11 corrects the original motion track M based on the recorded track. The other structures of the mechanical system 1 in the third embodiment are the same as those in the mechanical system 1 of the first embodiment, and therefore, descriptions are omitted.
[0085] Figure 11 This is a diagram showing the programming screen 50 of the third embodiment. In the motion track window 51, a rough motion track M including teach points P4 to P7 is manually taught. However, in other embodiments, the motion track M before correction can be automatically taught using the contour track teaching function. In the program editing window 52, an icon group representing control commands (icon 56a representing motion commands in this example) is inserted with an icon 55a representing a correction motion command, specifying the start and end positions of the correction motion command.
[0086] Figure 12This is a diagram showing the programming screen 50 of the third embodiment. In the program editing window 52, when the input unit 14 inputs user operation information to select the icon 55a representing the calibration action command based on sensor information, and then selects the command setting window 54 (detailed menu bar), the program editing unit 11 generates a parameter setting view for setting the parameters 54a to 54d and 54h for the calibration action command, and the display unit 12 displays the generated parameter setting view in the command setting window 54.
[0087] In addition to the parameters 54a to 54d of the above-mentioned correction action command, the parameter setting view includes a correction track correction execution button for the correction action command parameter 54h, which enables the machine 30 to perform a contouring action based on sensor information, records the track in the contouring action, and automatically corrects the original action track M based on the recorded track.
[0088] In the command setting window 54, when the input unit 14 inputs user operation information for performing contouring track correction, the program editing unit 11 causes the machine 30 to perform contouring action based on sensor information, records the track during the contouring action, converts it into an icon group representing the control commands constituting the recorded track (in this example, icon 56a' representing the action commands), generates a program view after replacing the icon group representing the control commands constituting the original motion track M (in this example, icon 56a' representing the action commands) with the icon group representing the converted control commands (in this example, icon 56a' representing the action commands). The display unit 12 displays the generated program view in the program editing window 52. Thus, even with a coarsely taught motion track M, an accurate motion track can be generated. Furthermore, by further contouring track correction based on the corrected motion track M, an improvement in the accuracy of the motion track M can be expected. Additionally, the motion program is generated based on the icon 55a representing the correction action command, the icon group representing the converted control commands, and these parameter settings.
[0089] As described above, according to the mechanical system 1 of the third embodiment, the machine 30 performs a contouring motion based on sensor information, records the trajectory during the contouring motion, and automatically corrects the original motion trajectory M based on the recorded trajectory. Therefore, an improvement in the accuracy of the motion trajectory M before correction can be expected. In addition, the user can view the motion trajectory M after contouring trajectory correction through the motion trajectory window 51, thus enabling intuitive programming editing.
[0090] In the first to third embodiments, a mechanical system 1 for deburring workpiece W was described, but the mechanical system 1 in these embodiments can also be applied to mechanical systems for other processes such as cutting, welding, fitting, fastening, edge curling, and sealing. In the fourth embodiment, a mechanical system 1 for fitting workpiece W1 and workpiece W2 will be described simply.
[0091] Figure 13 This is a side view of the mechanical system 1 according to the fourth embodiment. The machine 30 transports the rod-shaped workpiece W1 and fits it into the fitting hole of the workpiece W2. When generating the motion program for such a machine 30, in the motion track window 51 (refer to...) Figure 4 The teaching points P1 to P4 of the motion track M of the machine 30 through which the front end of the workpiece W1 passes are taught. In the program editing window 52, an icon group (in this example, an icon 56a representing the action command) representing the control command within the correction range of the motion track M that has applied the correction action is inserted with an icon 55a representing the correction action command based on sensor information. In the command setting window 54, the parameters of the icon 55a representing the correction action command are set, thereby generating the motion program for fitting.
[0092] That is, even when generating the motion program for the machine 30 that is to be fitted, the teaching of the motion trajectory M before correction and the setting of the correction motion based on sensor information can be edited in the same programming screen 50, so intuitive program editing is possible. In addition, not only for fitting, but also for mechanical systems that perform other processing such as cutting, welding, fastening, edge rolling, sealing, etc., the motion program for the machine 30 can be generated intuitively.
[0093] Figure 14 This is a diagram showing the programming screen of the fifth embodiment. The icon 55 representing the correction action command may also consist of two icons. That is, the icon 55 representing the correction action command has an icon 55-1 representing the start of the correction action command and an icon 55-2 representing the end of the correction action command.
[0094] When the input unit 14 inputs user operation information indicating the start of a correction action command (icon 55-1) or the end of a correction action command (icon 55-2), and moves from the command selection window 53 to the program editing window 5, the program editing unit 11 copies the start of the correction action command (icon 55-1) or the end of the correction action command (icon 55-2), and generates a program view configured with the start of the copied correction action command (icon 55-1a) or the end of the copied correction action command (icon 55-1b). The display unit 12 displays the generated program view in the program editing window 52. Furthermore, the program generation unit 13 generates an action program based on the configuration of the start of the correction action command (icon 55a) and the end of the correction action command (icon 55b), the parameter settings of the correction action command, etc.
[0095] In the program editing window 52, when the input unit 14 inputs user operation information to move the icon 55-1a indicating the start of the correction action command or the icon 55-2a indicating the end of the correction action command, the program editing unit 11 generates a program view that inserts the group of icons (in this example, the icon 56a indicating the action command in this example) representing the control command applied based on the sensor information correction action command between the icon 55-1a indicating the start of the correction action command and the icon 55-2a indicating the end of the correction action command. The display unit 12 displays the generated program view in the program editing window 52. Additionally, the program generation unit 13 generates an action program that reflects the positions of the icon 55-1a indicating the start of the correction action command and the icon 55-2a indicating the end of the correction action command.
[0096] The user operation of moving the icon 55-1a, which indicates the start of the calibration action command, or the icon 55-2a, which indicates the end of the calibration action command, and associated with the icon 56a, which indicates the control command, can be an action such as touching the icon 55-1a, which indicates the start of the calibration action command, or the icon 55-2a, which indicates the end of the calibration action command, with one finger and moving it (so-called drag and drop).
[0097] Furthermore, in the program editing window 52, when the input unit 14 inputs user operation information that moves the icon 55-1a indicating the start of the correction action command or the icon 55-2a indicating the end of the correction action command and associates it with the icon 56a indicating the control command, the program editing unit 11 generates a motion track view that identifies and depicts the correction interval in the motion track M to which the correction action has been applied. The display unit 12 displays the generated motion track view in the motion track window 51. Thus, the user can specify the start and end positions of the correction action command in the program editing window 52 while referring to the teaching points P1 to P7 that constitute the motion track M in the motion track window 51, thereby enabling intuitive programming editing.
[0098] The aforementioned computer program may be recorded and provided on a computer-readable non-transitory recording medium, such as a CD-ROM, or may be published and provided via wired or wireless means from a server device on a WAN (wide area network) or LAN (local area network).
[0099] Various embodiments have been described in this specification, but it is intended to be understood that the invention is not limited to the embodiments described above, and various modifications can be made within the scope of the following claims.
[0100] Explanation of reference numerals in the attached figures
[0101] 1 Mechanical System
[0102] 10 Programming Device
[0103] 11 Programming Department
[0104] 12 Display Units
[0105] 13 Program Generation Department
[0106] 20 control devices
[0107] 21 Sensor Information Acquisition Department
[0108] 22 Motion Control Department
[0109] 30 Machinery
[0110] 31 Robots
[0111] 32 tools
[0112] 40 sensors
[0113] 41 force sensors
[0114] 42 vision sensors
[0115] 50 Programming Screens
[0116] 51 Action Track Window
[0117] 52 Program Editing Window
[0118] 53 Command Selection Window
[0119] 54 Command Settings Window
[0120] Parameters of correction action commands 54a~54h
[0121] 55 represents an icon for a correction action command based on sensor information.
[0122] 55-1 is an icon indicating the start of a correction action command based on sensor information.
[0123] 55-2 indicates the end of the correction action command based on sensor information.
[0124] 55a represents the icon for the copy correction action command.
[0125] 55-1a is the icon that indicates the start of the copy correction action command.
[0126] 55-2b is an icon indicating the end of the copy correction action command.
[0127] 56 represents the icon for action commands.
[0128] 56a represents the icon for the copy action command.
[0129] 57 Timeline
[0130] 58 Execution Start Line
[0131] Workpieces W, W1, and W2
[0132] Teaching points P1-P7
[0133] Corrected teaching points P4'~P7'
[0134] L-processing line
[0135] M Action Track
[0136] C1 machine coordinate system
[0137] C2 Tool Coordinate System
[0138] C3 is the workpiece coordinate system.
Claims
1. A program creation device, characterized in that, have: The display unit shows a screen containing the machine's movement trajectory, the machine's control commands, and the parameter settings for the control commands; The input unit is used to input user operation information displayed on the screen. The program editing department, based on the user operation information, associates the teaching of the motion trajectory, the arrangement of the control commands, and the parameter settings of the sensor-based correction motion commands for correcting the motion trajectory on the same screen to edit the motion program of the machine. The parameter settings include settings related to the correction direction, start point, and end point.
2. A program creation device, characterized in that, have: The display unit shows a screen containing the machine's movement trajectory, the machine's control commands, and the parameter settings for the control commands; The input unit is used to input user operation information displayed on the screen. The program editing department, based on the user operation information, associates the teaching of the motion trajectory and the parameter settings of the sensor-information-based correction motion commands for correcting the motion trajectory on the same screen to edit the motion program of the machine. The parameter settings include settings related to the correction direction, start point, and end point. The program editing unit generates a view that inserts icons representing correction action commands based on the sensor information, indicating the control commands within the correction range of the correction action applied in the action track, and the display unit displays the generated view on the screen.
3. A program creation device, characterized in that, have: The display unit shows a screen containing the machine's movement trajectory, the machine's control commands, and the parameter settings for the control commands; The input unit is used to input user operation information displayed on the screen. The program editing department, based on the user operation information, associates the teaching of the motion trajectory and the parameter settings of the sensor-information-based correction motion commands for correcting the motion trajectory on the same screen to edit the motion program of the machine. The parameter settings include settings related to the correction direction, start point, and end point. The program editing unit generates a view that associates the teaching points constituting the motion trajectory with icons representing correction motion commands based on the sensor information, and the display unit displays the generated view on the screen.
4. A program creation device, characterized in that, have: The display unit shows a screen containing the machine's movement trajectory, the machine's control commands, and the parameter settings for the control commands; The input unit is used to input user operation information displayed on the screen. The program editing unit, based on the user operation information, associates the teaching parameters of the motion trajectory and the parameter settings of the correction motion command based on sensor information on the same screen to edit the motion program of the machine. The program editing unit generates a view that includes functions such as instructing the machine to perform a contouring motion based on the sensor information, recording the trajectory in the contouring motion, generating teaching points on the trajectory of the contouring motion, and automatically teaching the contouring trajectory of the motion trajectory before correction based on the recorded trajectory. The display unit displays the generated view on the screen. The program editing unit transforms the track containing the teaching point into an icon representing the control command, and the display unit displays the icon representing the transformed control command.
5. The program creation apparatus according to claim 4, characterized in that, The program editing unit generates a view that inserts icons representing correction action commands based on the sensor information into the view representing the control commands, and the display unit displays the generated view on the screen.
6. A program creation device, characterized in that, have: The display unit shows a screen containing the machine's movement trajectory, the machine's control commands, and the parameter settings for the control commands; The input unit is used to input user operation information displayed on the screen. The program editing department, based on the user operation information, associates the teaching of the motion trajectory and the parameter settings of the sensor-information-based correction motion commands for correcting the motion trajectory on the same screen to edit the motion program of the machine. The parameter settings include settings related to the correction direction, start point, and end point. The program editing unit generates a view that includes functions for causing the machine to perform contouring actions based on the sensor information, recording the trajectory during the contouring actions, and automatically correcting the original trajectory based on the recorded trajectory. The display unit displays the generated view on the screen.
7. The program creation apparatus according to claim 6, characterized in that, The program editing unit converts the icons representing the control commands that constitute the recorded track into icons, generates a view in which the icons representing the control commands that constitute the original motion track are replaced by the converted icons representing the control commands, and the display unit displays the generated view on the screen.
8. The program creation apparatus according to any one of claims 1 to 7, characterized in that, The program editing unit generates a view that identifies and depicts the correction intervals in the motion track where the correction action has been applied, on a virtual space configured with the shape model of the machine, and the display unit displays the generated view.
9. The program creation apparatus according to claim 2, characterized in that, The icon representing a correction action command based on the sensor information has an icon indicating the start of the correction action command and an icon indicating the end of the correction action command.
10. The program creation apparatus according to claim 1, characterized in that, The program editing unit is configured to edit the machine's motion program by associating the teaching of the motion trajectory, the arrangement of the control commands, and the parameter settings of the correction motion commands based on the sensor information with a pre-segmented area on the same screen, based on the user operation information.
11. A program creation device, characterized in that, have: The display unit shows a screen containing the machine's movement trajectory, the machine's control commands, and the parameter settings for the control commands; The input unit is used to input user operation information displayed on the screen. The program editing department, based on the user operation information, associates the teaching of the motion trajectory, the arrangement of the control commands, and the parameter settings of the sensor-based correction motion commands for correcting the motion trajectory on the same screen to edit the motion program of the machine. The display unit shows, on the same screen, a view that identifies and depicts the correction interval in the motion track where the correction action has been applied, a view that arranges and displays icons representing the control commands containing the teaching point positions and icons representing correction action commands based on sensor information, and a parameter setting view for the correction action commands based on sensor information, all displayed on a virtual space containing the shape model of the machine.
Citation Information
Patent Citations
Communication equipment equipped with communication network selection function
JP1989098366A
Copying processing device
JP2005196242A
Robot teaching device with icon programming function
JP2021091026A
Robot language processor
WO1997011416A1