WO2023073958A1 - プログラム作成装置、制御装置、及び機械システム - Google Patents

プログラム作成装置、制御装置、及び機械システム Download PDF

Info

Publication number
WO2023073958A1
WO2023073958A1 PCT/JP2021/040135 JP2021040135W WO2023073958A1 WO 2023073958 A1 WO2023073958 A1 WO 2023073958A1 JP 2021040135 W JP2021040135 W JP 2021040135W WO 2023073958 A1 WO2023073958 A1 WO 2023073958A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
program
posture
machine
control target
Prior art date
Application number
PCT/JP2021/040135
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 CN202180103422.XA priority Critical patent/CN118103783A/zh
Priority to DE112021007994.8T priority patent/DE112021007994T5/de
Priority to JP2023556062A priority patent/JPWO2023073958A1/ja
Priority to PCT/JP2021/040135 priority patent/WO2023073958A1/ja
Priority to TW111136884A priority patent/TW202318118A/zh
Publication of WO2023073958A1 publication Critical patent/WO2023073958A1/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
    • 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/35Nc in input of data, input till input file format
    • G05B2219/35097Generation of cutter path, offset curve

Definitions

  • the present invention relates to programming technology or control technology for machines, and more particularly to programming devices, control devices, and machine systems.
  • the programmer manually jogs the machine and adjusts the teaching points on the movement path of the control target part of the machine one by one.
  • a geometric model of a machine, tool, workpiece, etc. such as a CAD (computer aided design) model, is placed in virtual space, and the program creator jogs the geometric model of the machine to adjust teaching points one by one. Teaching by hand.
  • a technique for easily creating a machine operation program using a shape model such as automatically generating a program.
  • Patent Document 2 the posture of a tool attached to the tip of an industrial robot is calculated so as to correspond to a perpendicular direction vector perpendicular to the work surface at each teaching point, and the calculated posture of the tool is indefinite. is detected, the detected teaching point is set as a singular point, and the posture of the tool at the singular point is recalculated to determine the posture of the tool at each teaching point.
  • Patent Document 3 an angle formed by a line segment extending from teaching point P-1 on the upstream side of the movement path to teaching point P at which the speed should be set and a line segment extending from teaching point P to teaching point P+1 on the downstream side
  • is large
  • the speed vP is reduced to the first condition speed v1
  • the posture of the teaching point P greatly changes from the posture of the robot at the teaching point P ⁇ 1 on the upstream side of the movement path
  • the speed Reducing vP to the second condition speed is described.
  • the purpose of the present invention is to provide a highly safe and reliable machine programming technology or control technology.
  • One aspect of the present disclosure includes an operation instruction adjusting unit that adjusts an operation instruction in an operation program of the machine based on a change in the posture of the controlled area per unit distance or unit time on the movement path of the controlled area of the machine.
  • a programming device is provided.
  • Another aspect of the present disclosure provides a program creation device that includes a section detection unit that detects a section in which the change in posture of the controlled part per unit distance or unit time in the movement path of the controlled part of the machine is equal to or greater than a threshold. do.
  • Another aspect of the present disclosure is an operation command adjusting unit that adjusts an operation command of the machine based on a change in the posture of the controlled part per unit distance or unit time in the movement path of the controlled part of the machine; and a controller for controlling operation of the machine according to.
  • Yet another aspect of the present disclosure is a machine, an action command adjusting unit that adjusts an action command of the machine based on a change in the posture of the controlled part per unit distance or unit time on the movement path of the controlled part of the machine; and a controller that controls the operation of the machine according to the coordinated operation instructions.
  • the control device since the control device includes the operation command adjustment unit, the operation command that causes a sudden change in the posture of the controlled part is automatically adjusted, and the machine operates according to the adjusted operation command. can be controlled. As a result, a highly safe and reliable machine control technology can be provided.
  • the mechanical system since the operation command adjustment unit, the operation command that causes a sudden change in the posture of the control target part is automatically adjusted, and the machine operates according to the adjusted operation command. You can control the action. As a result, a highly safe and reliable machine control technology can be provided.
  • FIG. 1 is a schematic configuration diagram of a mechanical system of one embodiment;
  • FIG. 1 is a block diagram of a mechanical system of one embodiment;
  • FIG. FIG. 4 is a diagram showing an example of a motion trajectory that includes relatively long segments;
  • FIG. 4 is a diagram showing an example of a motion trajectory that includes relatively long segments;
  • FIG. 10 illustrates an example of a motion trajectory that includes relatively short segments;
  • FIG. 10 illustrates an example of a motion trajectory that includes relatively short segments; It is a figure which shows an example of an area detection window. It is a figure which shows an example of an operation command adjustment window.
  • FIG. 11 is a diagram showing an example of an operation command adjustment method selection window;
  • FIG. 10 is a diagram showing an example of a motion trajectory that does not include sudden attitude changes;
  • FIG. 10 is a diagram showing an example of a motion trajectory including sudden posture changes;
  • FIG. 10 is a diagram showing an example of a motion speed window including a sudden attitude change;
  • FIG. 10 is a diagram showing an example of a program edit window after changing the operating speed;
  • FIG. 10 is a diagram showing a modified example of the program edit window after changing the operating speed;
  • FIG. 10 is a diagram showing an example of a motion trajectory window after changing the motion format;
  • FIG. 10 is a diagram showing an example of a motion trajectory window after changing the motion format;
  • FIG. 10 is a diagram showing an example of a program edit window after changing the operation format;
  • FIG. 1 is a schematic configuration diagram of a mechanical system 1 of one embodiment.
  • the mechanical system 1 is a robot system, it is not limited thereto, and in other embodiments, the mechanical system 1 is composed of other mechanical systems such as a machine tool system, a construction machine system, a vehicle system, an aircraft system, a rocket system, and the like. Sometimes it is done.
  • the machine system 1 comprises a machine 2 , a control device 3 and a programming device 4 .
  • the machine 2, the control device 3, and the programming device 4 are connected to each other via wires or wirelessly or configured to be connectable to each other via wires or wirelessly.
  • the machine 2 is controlled by the control device 3 according to the operation program, and the control device 3 executes the operation program for the machine 2 created by the program creation device 4 .
  • the machine 2 may be an industrial robot, such as, but not limited to, an articulated robot, and in other embodiments, the machine 2 may be a parallel-link robot, an orthogonal robot, a humanoid, a dual-arm robot, or other robot. It may also consist of robots. Alternatively, it should be noted that in other embodiments machine 2 may comprise other machines such as machine tools, construction equipment, vehicles, aircraft, rockets, and the like.
  • the machine 2 has a first link 10 to a seventh link 16 .
  • the first link 10 is a base fixed at a predetermined position
  • the second link 11 is a revolving barrel supported rotatably with respect to the first link 10 about the first axis J1.
  • the third link 12 is a first arm rotatably supported with respect to the revolving barrel 11 about a second axis J2 orthogonal to the first axis J1, and the fourth link 13 is a third arm parallel to the second axis J2.
  • the second arm is rotatably supported with respect to the third link 12 about the axis J3.
  • a fifth link 14 to a seventh link 16 are a triaxial wrist unit attached to the tip of the fourth link 13 .
  • the fifth link 14 is a first wrist element supported rotatably with respect to the second arm 13 about a fourth axis J4 orthogonal to the third axis J3.
  • the sixth link 15 is a second wrist element rotatably supported with respect to the fifth link 14 about a fifth axis J5 orthogonal to the fourth axis J4.
  • the seventh link 16 is a third wrist element rotatably supported with respect to the second wrist element 15 about a sixth axis J6 orthogonal to the fifth axis J5.
  • the machine 2 also has a tool 17 detachably attached to the tip of the wrist unit.
  • the tool 17 is composed of various tools such as a hand, a welding tool, a cutting tool, a drilling tool, and a painting tool.
  • the machine 2 comprises a plurality of interconnected links 10-16.
  • the machine 2 includes joint axes that rotate about predetermined axes J1-J6 between the links 10-16, the machine 2 is not limited to this, and in another embodiment, the machine 2 includes the links 10-16. 16 may be provided with a joint shaft that translates along a predetermined axis.
  • the machine 2 further includes an actuator (see FIG. 2) for driving each joint axis and an actuator (see FIG. 2) for driving the tool 17.
  • the actuators may comprise electrical actuators including electric motors, speed reducers and the like, but in other embodiments the actuators may comprise other actuators such as fluid actuators including fluid pumps, fluid cylinders and the like. Also, the actuator may further comprise one or more drive circuits for driving itself.
  • control device 3 includes a programmable logic controller (PLC).
  • controller 3 may comprise other processors or other semiconductor integrated circuits.
  • the control device 3 includes a processor, a memory, an input/output interface, etc., which are interconnected via a bus (not shown).
  • the processor executes programs stored in the memory to control various devices, the memory stores various programs and various data, and the input/output interface exchanges data between the processor or memory and various external devices. Input/output.
  • the controller 3 may further comprise one or more drive circuits for driving the actuators of the machine 2 .
  • the drive circuit is a servo amplifier that drives and controls the actuator based on the operation command input from the processor.
  • the control device 3 receives an operation program for the machine 2 from the programming device 4 via an input/output interface, executes the operation program with a processor, sends an operation command to a drive circuit, and drives the actuator to operate the machine 2. to operate.
  • the program creation device 4 includes a computer such as a personal computer (PC), a tablet computer, or the like. sometimes The program creation device 4 includes a processor, a memory, an input/output interface, etc., which are interconnected via a bus (not shown).
  • the processor executes programs stored in the memory to control various devices, the memory stores various programs and various data, and the input/output interface exchanges data between the processor or memory and various external devices. Input/output.
  • the program creation device 4 creates an operation program for the machine 2 and sends the created operation program to the control device 3 via the input/output interface.
  • the program creation device 4 includes program creation software 5 for editing, executing, generating, etc. the operation program of the machine 2 .
  • the programming software 5 is stored in memory and executed by the processor.
  • the program creation software 5 includes motion trajectory windows (see FIGS. 3A-4B, 6A-6B, and 9A-9B), program editing windows (see FIGS. 8A-8B, and 10),
  • a programming screen including various windows such as an interval detection window (see FIG. 5A), an operation command adjustment window (see FIG. 5B), and an operation command adjustment method selection window (see FIG. 5C) is displayed on the display unit.
  • the programming software 5 has a coordinate system setting function for setting various coordinate systems such as a world coordinate system, a machine coordinate system, a flange coordinate system, a tool coordinate system, a camera coordinate system, a work coordinate system, and a user coordinate system. . These coordinate systems are composed of orthogonal coordinate systems, but in other embodiments, these coordinate systems may be composed of other coordinate systems such as oblique coordinate systems, polar coordinate systems, and the like. For ease of explanation, it is assumed that the programming software 5 has set a machine coordinate system C1 and a tool coordinate system C2. The machine coordinate system C1 is fixed to a reference point of the machine 2, eg the base, and the tool coordinate system C2 is fixed to a reference point of the tool 17, eg the tool center point (TCP).
  • TCP tool center point
  • the machine 2 has a controlled part P, which is a control point.
  • the position of the control target portion P is represented by the position of the tool coordinate system C2 in the machine coordinate system C1, eg, XYZ coordinate values (x, y, z).
  • the position of the controlled part P may be the position of the flange coordinate system in the machine coordinate system C1, that is, the flange position of the wrist unit, or the position of the tool coordinate system C2 in the world coordinate system. good.
  • the orientation of the control target portion P is represented by the orientation of the tool coordinate system C2 in the machine coordinate system C1, for example, the amount of rotation (w, p, r) around the XYZ axes.
  • the orientation of the control target portion P may be the orientation of the flange coordinate system in the machine coordinate system C1, that is, the flange orientation of the wrist unit, or the orientation of the tool coordinate system C2 in the world coordinate system. good.
  • the programming software 5 further has a teaching point setting function for setting one or more teaching points that constitute the motion trajectory of the control target portion P.
  • Each teaching point includes at least the position of the control target portion P, such as XYZ coordinate values (x, y, z), and if necessary, the orientation of the control target portion P, such as XYZ Contains the amount of rotation (w, p, r) about the axis.
  • the programming software 5 further has an operation command editing function that arranges and edits the operation commands for the machine 2 in chronological order.
  • the operation instruction includes an operation instruction for the control target portion P, an operation instruction for the tool 17, an application instruction combining these operation instructions, and the like.
  • the motion command for the control target portion P includes various parameters such as a teaching point, motion format, speed format, and speed parameter.
  • the action format of the action command is linear movement (linear movement of the controlled part P), circular arc movement (circular movement of the controlled part P), axis movement (the movement path of the controlled part P is not constrained, and each joint axis movement of the control target part P, in which the actuators of the actuators operate independently.
  • the speed format of the action command includes various speed formats such as the movement speed of the controlled part P, the movement speed of the actuator of each joint axis, the attitude change speed of the controlled part P, and the movement time between teaching points.
  • the speed parameters of the motion commands are various speed parameters such as motion speed or motion time depending on these speed types.
  • the operation command of the tool 17 includes various parameters corresponding to the tool such as hand opening/closing and gripping strength, and the application command includes various parameters corresponding to the application such as palletizing and depalletizing.
  • the programming software 5 further has a teaching point associating function that associates one or more teaching points constituting the motion trajectory of the control target portion P with the motion command. For example, a teaching point at a target position for linear movement is associated with an operation command for linear movement. Alternatively, for example, a plurality of teaching points at an intermediate position or a target position of arc movement are associated with an operation command for arc movement.
  • the programming software 5 edits the operation program of the machine 2 by various editing functions as described above.
  • the program creation software 5 further has a program execution function for executing the edited operation program online (connected to the actual machine) or offline (without connecting to the actual machine) to check the operation of the machine 2.
  • the programming software 5 may also have a program generation function for generating an operating program.
  • the edited or execution-confirmed operation program is converted from source code into object code (machine language), intermediate code, bytecode, etc., and the final operation program is generated.
  • the program creation device 4 sends the created operation program to the control device 3 via the input/output interface.
  • FIG. 2 is a block diagram of the mechanical system 1 of one embodiment.
  • the programming device 4 includes an input section 40 , a display section 41 and a storage section 42 .
  • the input unit 40 is composed of a user interface (UI) such as a keyboard and a mouse
  • the display unit 41 is composed of a UI such as a display.
  • the unit 41 may be configured with an integrated UI such as a touch panel display.
  • the storage unit 42 is composed of memories such as RAM (random access memory) and ROM (read only memory).
  • the program creation device 4 further includes a program editing unit 45, a program execution unit 46, a section detection unit 47, and an operation command adjustment unit 48, which are part of the program creation software 5. These components consist of part or all of a program executed by a processor, but are not limited to this. integrated circuit) or other semiconductor integrated circuits.
  • the control device 3 has a control section 30 that controls the operation of the machine 2 .
  • the control unit 30 comprises control circuitry including a PLC, in other embodiments the control unit 30 may further comprise one or more drive circuits for driving and controlling the actuators 20 of the machine 2 .
  • the control section 30 controls the operation of the machine 2 according to the operation program 44 created by the program creating device 4 .
  • controller 3 may comprise all the components of programming device 4 . That is, the control device 3 may include an input unit 40, a display unit 41, a storage unit 42, a program editing unit 45, a program execution unit 46, a section detection unit 47, an operation command adjustment unit 48, and the like.
  • the machine 2 is equipped with one or more actuators 20 that drive the machine 2.
  • the actuator 20 includes an actuator that drives each joint axis, an actuator that drives the tool 17, and the like.
  • Actuator 20 may comprise an electrical actuator, including an electric motor, speed reducer, etc., but in other embodiments, actuator 20 may comprise other actuators, such as fluid actuators, including fluid pumps, fluid cylinders, etc. Sometimes. Actuator 20 may also include one or more drive circuits for driving itself.
  • the program editing unit 45 displays the operation trajectory window 50 (see FIGS. 3A to 4B, 6A to 6B, 9A to 9B, etc.) having the above-described coordinate system setting function, teaching point setting function, etc. , and the program editing window 80 (see FIGS. 8A and 8B, FIG. 10, etc.) having the operation command editing function, the teaching point association function, etc., is displayed on the display unit 41 .
  • the program editing unit 45 edits the coordinate system, teaching points, operation commands, etc. based on various commands input from the input unit 40, stores the edited operation program 44 in the storage unit 42, and stores the edited operation program 44 in the storage unit 42. is displayed in the program edit window 80.
  • the program editing function allows the user to edit the operating program 44 .
  • the program execution unit 46 displays on the display unit 41 a program execution window (not shown) having the program execution function described above.
  • the program execution unit 46 executes the edited operation program 44 offline based on various commands input from the input unit 40, and operates the virtual machine 2 displayed on the display unit 41 in the virtual space.
  • the program execution unit 46 sends the edited operation program 44 to the control device 3 based on various commands input from the input unit 40, executes the operation program 44 online, and executes the operation program 44 online. 2 is operated in the real space.
  • the program execution function allows the user to check the operation of the machine 2 using the edited operation program 44 .
  • the program execution unit 46 may have the program generation function described above.
  • the program creation device 4 includes a section detection unit 47 that detects a section in which the posture of the control target part P changes abruptly, and an action command adjustment section 48 that adjusts the action command for that section.
  • the section detection unit 47 detects sections in which the change in posture of the control target part P per unit distance or unit time on the movement path of the control target part P is equal to or greater than the threshold value 43 .
  • Attitude change per unit distance or unit time is obtained by, for example, dividing the sum of each rotation amount (for example, the sum of each rotation angle) around the XYZ axes by the unit distance (for example, millimeters) or the unit time (for example, seconds). Anything is fine.
  • a threshold value 43 for posture change per unit distance or unit time is input in advance from the input unit 40 or stored in the storage unit 42 in advance.
  • the interval detection unit 47 evaluates the distance between the teaching points in the motion program 44, the motion speed or motion time between the teaching points, and the posture change of the control target part P between the teaching points, so that the unit distance or A section in which the posture change of the control target part P per unit time is equal to or greater than the threshold value 43 is detected.
  • the section detection unit 47 sequentially evaluates the posture change per unit distance or unit time during execution of the operation program 44 so that the posture change per unit distance or unit time exceeds the threshold value 43. You may detect an interval where With the section detection function, it is possible to automatically detect a section in which the posture of the control target part P abruptly changes from within the motion program 44 or during execution of the motion program 44 . Therefore, it is possible to shorten the time required to correct the operation program 44, which has a particularly large number of teaching points. As a result, the operation program 44 of the machine 2 with high safety and reliability can be provided.
  • the display unit 41 displays, based on a command from the section detection unit 47, a motion trajectory in which the detected section in which the posture change is large and the teaching points that constitute the section are highlighted (the motion trajectory window 50 in FIG. 6B is displayed). ).
  • the section highlighting function allows the user to easily visually recognize the section in which the posture of the control target region P changes rapidly.
  • the display unit 41 displays an execution confirmation as to whether or not to automatically adjust the action command in the interval in which the posture of the control target part P changes rapidly based on the command from the interval detection unit 47 (see FIG. 5B ). display the operation command adjustment window 63).
  • the motion command adjustment confirmation feature allows the user to optionally select automatic or manual adjustment of the motion command.
  • the action command adjustment unit 48 adjusts the action command in the action program 44 of the machine 2 based on the attitude change of the control target part P per unit distance or unit time. In other words, the action command adjustment unit 48 adjusts the action command for a section in which the posture change of the control target part P per unit distance or unit time is equal to or greater than the threshold value 43 .
  • the operation command adjustment unit 48 has at least one of an operation speed changing function for changing the operation speed of the operation command and an operation format changing function for changing the operation format of the operation command as a method for adjusting the operation command.
  • the operation speed change function is a function that changes the speed format of the operation command and the speed parameter according to the speed format.
  • the motion speed change function changes the speed format of the movement speed of the control target part P to the speed format of the attitude change speed of the control target part P, and decelerates the speed parameter of the attitude change speed of the control target part P to a predetermined value or less.
  • the motion speed change function changes the speed format of the movement speed of the controlled part P to the speed format of the movement time between the taught points of the controlled part P, In some cases, the speed parameter, the moving time in between, is increased beyond a predetermined value.
  • the motion speed change function changes the speed format of the motion speed of the actuator 20 of each joint axis to the speed format of the attitude change speed of the control target part P, and changes the attitude change speed of the control target part P is decelerated below a predetermined value.
  • the motion speed change function changes the speed format of the motion speed of the actuator 20 of each joint axis to the speed format of the movement time between the teaching points of the controlled part P,
  • the speed parameter which is the movement time between teaching points, is increased beyond a predetermined value.
  • the motion format change function is a function to change to a motion format in which the movement distance of the controlled part P is extended.
  • the motion format change function changes the motion format of linear movement of the controlled part P to the motion format of each axis movement, and decelerates the speed parameter, which is the movement speed of the actuator 20 of each joint axis, to a predetermined value or less as necessary.
  • the motion format change function changes the motion format of linear movement of the controlled portion P to the motion format of arcuate movement, and reduces the motion speed of the controlled portion P to a predetermined value or less as necessary. slow down. Since the moving distance of the control target part P is longer in the action type of circular arc movement than in the action type of linear movement, sudden changes in the posture of the control target part P can be suppressed.
  • the motion format changing function extends the moving distance of the control target portion P, and reduces the motion speed to a predetermined value or less as necessary, so that the control target portion P can be prevented from suddenly changing its posture. As a result, it is possible to provide a machine operation program 44 with high safety and reliability.
  • the operation command adjustment unit 48 stores the operation program 44 including the adjusted operation command in the storage unit 42, and displays the operation program 44 including the adjusted operation command on the display unit 41 (FIGS. 8A to 8B, FIG. 10). program edit window 80).
  • the display unit 41 displays the operation program 44 in which the adjusted operation command is highlighted based on the command from the operation command adjustment unit 48 (shows the program edit window 80 in FIGS. 8A to 8B and FIG. 10).
  • the display unit 41 displays an operation program 44 that simultaneously displays the operation command before adjustment and the operation command after adjustment based on the command from the operation command adjustment unit 48 (see FIGS. 8A to 8B and program editing in FIG. 10). display window 80).
  • the action command highlighting function allows the user to easily visually recognize the automatically adjusted action command.
  • the operation command display function before and after adjustment allows the user to easily visually recognize how the operation command has been automatically adjusted.
  • 3A and 3B are diagrams showing an example of the motion trajectory T including a relatively long section (see teaching points P1-P2).
  • the motion trajectory window 50 displays the virtual machine 2 and the motion trajectory T of the controlled part P in the virtual space.
  • the motion trajectory T of the control target portion P is composed of a plurality of teaching points P1 to P3. Both the teaching point P2 and the teaching point P3 are associated with motion commands for linear movement.
  • the control target portion P is located at the teaching point P1, and the orientation of the control target portion P is represented by the tool coordinate system C2.
  • the posture of the control target portion P at the teaching point P2 is represented by the tool coordinate system C2'.
  • the control target portion P is located at the teaching point P2, and the orientation of the control target portion P is represented by the tool coordinate system C2.
  • the moving speed of the control target portion P is 50 mm/sec
  • the distance between the teaching point P1 and the teaching point P2 is 500 mm
  • the attitude change of the control target portion P between the teaching point P1 and the teaching point P2 that is, When the posture change from the tool coordinate system C2 to the tool coordinate system C2' is 150 degrees
  • the posture change between the teaching point P1 and the teaching point P2 is the movement of the controlled part P between the teaching point P1 and the teaching point P2.
  • FIGS. 4A and 4B are diagrams showing an example of the motion trajectory T including a relatively short section (see teaching points P1-P2).
  • the motion trajectory window 50 displays the virtual machine 2 and the motion trajectory T of the controlled part P in the virtual space.
  • the motion trajectory T of the control target portion P is composed of a plurality of teaching points P1 to P3. Both the teaching point P2 and the teaching point P3 are associated with motion commands for linear movement.
  • the control target portion P is located at the teaching point P1, and the orientation of the control target portion P is represented by the tool coordinate system C2.
  • the posture of the control target portion P at the teaching point P2 is represented by the tool coordinate system C2'.
  • the control target portion P is located at the teaching point P2, and the orientation of the control target portion P is represented by the tool coordinate system C2.
  • the moving speed of the control target portion P is 50 mm/sec
  • the distance between the teaching point P1 and the teaching point P2 is 50 mm
  • the attitude change of the control target portion P between the teaching point P1 and the teaching point P2 that is, When the posture change from the tool coordinate system C2 to the tool coordinate system C2' is 150 degrees
  • the posture change between the teaching point P1 and the teaching point P2 is the movement of the controlled part P between the teaching point P1 and the teaching point P2.
  • the section detection unit 47 automatically detects such a section (between the teaching point P1 and the teaching point P2) where the posture of the control target region P changes rapidly, and the operation command adjustment unit 48 detects the posture of the control target region P. Automatically adjusts to rapidly changing motion commands.
  • FIG. 5A is a diagram showing an example of the section detection window 60.
  • the display unit 41 displays a section detection window 60 based on a command from the section detection unit 47 .
  • the segment detection window 60 has a threshold input box 61 and a segment detection execution button 62 .
  • 15 degrees/second may be entered in the threshold input box 61 as the threshold 43 of posture change per unit time.
  • 0.3 degrees/mm may be entered in the threshold input box 61 as the threshold 43 of attitude change per unit distance.
  • the input threshold value 43 is stored in the storage unit 42 and can be used as a threshold value when detecting the section from the next time onward.
  • the section detection unit 47 Based on a command from the section detection execution button 62, the section detection unit 47 detects sections in the motion program 44 in which the posture of the control target part P changes rapidly. According to the embodiment of FIGS. 4A and 4B, in which the attitude of the controlled part P changes rapidly, the attitude change of the controlled part P per unit time between the teaching point P1 and the teaching point P2 is 150 degrees/second. , and since the posture change of the control target part P per unit distance is 3 degrees/mm, the section detection unit 47 detects the distance between the teaching point P1 and the teaching point P2 as the control target part P per unit time or unit distance. posture change (150 degrees/second or 3 degrees/mm) is detected as an interval in which the threshold value 43 (15 degrees/second or 0.3 degrees/mm) or more. Based on a command from the section detection section 47, the display section 41 displays a motion trajectory window 50 highlighting a section (between the teaching point P1 and the teaching point P2) including a sudden posture change.
  • FIG. 6A is a diagram showing an example of a motion trajectory T that does not include abrupt posture changes
  • FIG. 6B is a diagram showing an example of a motion trajectory T that includes abrupt posture changes.
  • the display unit 41 displays the motion trajectory window 50 displaying the motion trajectory T with a thin broken line or the like, and the display unit 41 also displays the teaching points.
  • a motion trajectory window 50 is displayed in which P1 to P3 are indicated by black circles or the like.
  • P1 to P3 are indicated by black circles or the like.
  • the display unit 41 displays a section S ( A motion trajectory window 50 is displayed in which the point P1 and P2) is highlighted with a thick solid line or the like. Further, the display unit 41 may display the motion trajectory window 50 in which the teaching point P2 (target position) is highlighted with a white circle or the like based on a command from the section detection unit 47 . Alternatively, in another embodiment, the display unit 41 highlights both the taught point P1 (current position) and the taught point P2 (target position) that form the interval S with white circles or the like, based on a command from the interval detection unit 47. You may
  • the section detection unit 47 may sequentially detect sections S in which the posture of the control target part P abruptly changes during execution of the operation program 44 .
  • the attitude change of the controlled part P per unit time between the teaching point P1 and the teaching point P2 is 150 degrees/second.
  • the section detection unit 47 detects the distance between the teaching point P1 and the teaching point P2 as the control target part P per unit time or unit distance.
  • the display section 41 Based on the command from the section detection section 47, the display section 41 displays the motion speed window 70 highlighting the section S (between the teaching point P1 and the teaching point P2) including a sudden posture change.
  • FIG. 7 is a diagram showing an example of the motion speed window 70 including sudden posture changes.
  • the display section 41 Based on the command from the section detection section 47, the display section 41 displays the motion speed window 70 highlighting the section S (between the teaching point P1 and the teaching point P2) including a sudden posture change.
  • Operation speed window 70 contains an operation speed graph against execution time of operation program 44 .
  • the display unit 41 highlights the section S including a sudden posture change with a thick solid line or the like.
  • the controlled portion P is positioned at the taught point P1 and the taught point P2
  • the posture of the controlled portion P is changed in the section S in which the movement speed of the controlled portion P becomes constant. Therefore, only the section S in which the movement speed of the control target portion P is constant is highlighted.
  • the section detection function it is possible to automatically detect the section S in which the posture of the control target part P abruptly changes from within the operation program 44 or during execution of the operation program 44 . Therefore, it is possible to shorten the time required to correct the operation program 44, which has a particularly large number of teaching points. As a result, the operation program 44 of the machine 2 with high safety and reliability can be provided.
  • the section highlighting function allows the user to easily visually recognize the section S in which the posture of the control target region P abruptly changes.
  • FIG. 5B is a diagram showing an example of the operation command adjustment window 63.
  • the display unit 41 determines whether or not to automatically adjust the operation command for the section S based on the instruction from the section detection unit 47.
  • An operation instruction adjustment window 63 displaying execution confirmation is displayed.
  • the operation command adjustment window 63 has an operation command adjustment execution button 64 and a cancel button 65 .
  • the action command adjuster 48 automatically adjusts the action command for the section S when the action command adjustment execution button 64 is pressed.
  • the cancel button 65 is pressed, the operation command adjustment unit 48 makes the operation command for the section S manually adjustable.
  • the motion command adjustment confirmation feature allows the user to optionally select automatic or manual adjustment of the motion command.
  • FIG. 5C is a diagram showing an example of the operation command adjustment method selection window 66.
  • FIG. 5C When the operation command adjustment execution button 64 is pressed in the operation command adjustment window 63 , the display unit 41 displays the operation command adjustment method selection window 66 based on the command from the operation command adjustment unit 48 .
  • the operation command adjustment method selection window 66 has an operation speed change button 67 and an operation format change button 68 .
  • the operation command adjustment unit 48 changes the operation speed of the operation command when the operation speed change button 67 is pressed.
  • the action format change button 68 is pressed, the action command adjuster 48 changes the action format of the action command.
  • the action command adjustment unit 48 changes the speed format of the movement speed of the control target part P (for example, 30 mm/sec) to the speed format of the posture change speed of the control target part P.
  • the speed parameter which is the attitude change speed of the control target part P
  • the action command adjustment unit 48 changes the speed format of the movement speed of the control target part P (for example, 30 mm/sec) to the teaching point of the control target part P. Then, the movement time between the teaching points of the control target portion P is increased to a predetermined value (for example, 10 seconds) or more.
  • FIG. 8A is a diagram showing an example of the program edit window 80 after changing the operating speed.
  • the display unit 41 changes the movement speed (eg, 30 mm/sec) of the control target part P to the attitude change speed (eg, 15 degrees) based on the command from the motion command adjustment unit 48. /sec) is displayed in the program edit window 80.
  • the display unit 41 highlights the operation command 81 whose operation speed has been changed based on the command from the operation command adjusting unit 48 with a background color, underlining, or the like.
  • the display unit 41 simultaneously displayed the operation command before adjustment (linear movement P2 30 mm/sec) and the operation command after adjustment (linear movement P2 15 degrees/sec) based on the command from the operation command adjustment unit 48.
  • the operating program 44 is displayed.
  • FIG. 8B is a diagram showing a modified example of the program edit window 80 after changing the operating speed.
  • the display unit 41 changes the movement speed (for example, 30 mm/sec) of the control target part P to the movement time between teaching points ( 10 seconds) is displayed in the program edit window 80 .
  • the display unit 41 highlights the operation command 81 whose operation speed has been changed based on the command from the operation command adjusting unit 48 with a background color, underlining, or the like.
  • the display unit 41 is based on the command from the operation command adjustment unit 48, and the operation program simultaneously displays the operation command before adjustment (linear movement P2 30 mm/sec) and the operation command after adjustment (linear movement P2 10 seconds). 44 is displayed.
  • the motion speed change function changes the speed format
  • the user can intuitively recognize the change in the posture of the control target part P after the change.
  • the speed parameter is changed, sudden changes in posture of the control target region P can be suppressed.
  • the operation instruction highlighting function allows the user to easily visually recognize the automatically adjusted operation instruction.
  • the operation instruction display function before and after adjustment allows the user to easily visually recognize how the operation instruction has been automatically adjusted.
  • the motion command adjustment unit 48 changes the motion format of the linear movement of the control target portion P to the motion format of each axis movement.
  • a speed parameter which is the motion speed of the actuator 20 of each joint axis, is reduced to a predetermined value (for example, 10% of the maximum motion speed) or less.
  • the motion command adjustment unit 48 changes the motion format of linear movement of the controlled part P to circular arc motion, and if necessary, A speed parameter, that is, the operating speed of the control target portion P is reduced to a predetermined value (for example, 10% of the maximum operating speed) or less.
  • FIGS. 9A and 9B are diagrams showing an example of the motion trajectory window 50 after changing the motion format.
  • the display unit 41 changes the motion format of the linear movement of the controlled part P to the teaching point P2 to the motion of each axis movement based on the command of the motion command adjustment unit 48.
  • the motion trajectory T changed to the format is displayed in the motion trajectory window 50 .
  • the display unit 41 changes the motion trajectory T from the motion format of linear movement of the controlled part P to the teaching point P2 to the motion format of arcuate movement based on the command from the motion command adjustment unit 48. is displayed in the motion trajectory window 50 .
  • FIG. 10 is a diagram showing an example of the program editing window 80 after changing the operation format.
  • the display unit 41 changes the motion format of the linear movement of the control target part P to the motion format of each axis movement based on the command of the motion command adjustment unit 48
  • An operation instruction 82 is displayed in the program edit window 80, which is a speed parameter that is the operation speed of the actuator 20 of each joint axis and is reduced to a predetermined value (for example, 10% of the maximum operation speed) or less.
  • the display unit 41 highlights the operation command 82 whose operation format has been changed based on the command from the operation command adjustment unit 48 with a background color, underlining, or the like.
  • the display unit 41 simultaneously displays the operation command before adjustment (linear movement P2 30 mm/sec) and the operation command after adjustment (each axis movement P2 10%) based on the command from the operation command adjustment unit 48.
  • Display program 44 is a diagram showing an example of the program editing window 80 after changing the operation format.
  • the motion format change function extends the movement distance of the control target part P, it is possible to suppress sudden changes in the posture of the control target part P. As a result, it is possible to provide a machine operation program 44 with high safety and reliability.
  • the action command highlighting function allows the user to easily visually recognize the automatically adjusted action command.
  • the operation command display function before and after adjustment allows the user to easily visually recognize how the operation command has been automatically adjusted.
  • the section detection unit 47 can automatically detect the section S in which the posture of the control target part P changes rapidly.
  • the action command adjuster 48 can automatically adjust an action command that causes the posture of the control target portion P to change rapidly. Therefore, it is possible to shorten the time required to correct the operation program 44, which has a particularly large number of teaching points. As a result, it is possible to provide a machine operation program 44 with high safety and reliability.
  • control device 3 includes the section detection unit 47
  • the section S in which the posture of the control target part P changes abruptly can be automatically detected.
  • control device 3 is provided with the operation command adjustment unit 48, an operation command that causes a sudden change in the posture of the control target part P is automatically adjusted, and the operation of the machine 2 is controlled according to the adjusted operation command. can.
  • control technology for the machine 2 with high safety and reliability can be provided.
  • the mechanical system 1 includes the section detection unit 47, the section S in which the posture of the control target part P changes abruptly can be automatically detected. Further, when the mechanical system 1 is provided with the operation command adjustment unit 48, the operation command that causes a sudden change in the posture of the control target part P is automatically adjusted, and the operation of the machine 2 is controlled according to the adjusted operation command. can. As a result, control technology for the machine 2 with high safety and reliability can be provided.
  • the aforementioned program or software may be recorded on a computer-readable non-transitory recording medium such as a CD-ROM and provided, or may be provided via a wired or wireless WAN (wide area network) or LAN (local area network) may be distributed and provided from a server device.
  • a computer-readable non-transitory recording medium such as a CD-ROM and provided, or may be provided via a wired or wireless WAN (wide area network) or LAN (local area network) may be distributed and provided from a server device.

Landscapes

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

Abstract

プログラム作成装置は、機械の制御対象部位の移動経路における単位距離又は単位時間当たりの制御対象部位の姿勢変化に基づいて機械の動作プログラム内の動作命令を調整する動作命令調整部を備える。

Description

プログラム作成装置、制御装置、及び機械システム
 本発明は、機械のプログラム作成技術又は制御技術に関し、特にプログラム作成装置、制御装置、及び機械システムに関する。
 一般にロボット、工作機械等を含む機械の動作プログラムを作成する場合、プログラム作成者が機械をジョグして機械の制御対象部位の移動経路上の教示点を1点ずつ調整しながら手作業で教示するか、或いは仮想空間上に機械、ツール、ワーク等の形状モデル、例えばCAD(computer aided design)モデルを配置し、プログラム作成者が機械の形状モデルをジョグして教示点を1点ずつ調整しながら手作業で教示している。
 さらに、ワークの形状モデル上で稜線を指定し、指定した稜線に沿って機械がツールを移動させる動作プログラムを自動生成したり、また、ワークの形状モデルを選択して機械がワークをハンドリングする動作プログラムを自動生成したりといった、形状モデルを利用して機械の動作プログラムの作成を簡単に行う技術も存在している。
 ところで、機械の制御対象部位の姿勢変化に対して制御対象部位の移動距離が比較的短い移動経路では、動作速度を比較的遅く設定しても、制御対象部位の姿勢変化が非常に高速になる場合がある。動作プログラムの作成中は制御対象部位の急激な姿勢変化を予測し難く、生成された動作プログラムを実際に機械で実行した際に、制御対象部位の姿勢が不自然に急激に変化し、機械が周辺に存在する物体等に接触するといった安全性の問題や、機械を駆動する電動機に過負荷が掛かって機械が停止するといった信頼性の問題を生じる虜がある。
 特許文献1には、CADシステムから出力された教示データファイル内の最初の行の中の姿勢データ部分を変数Dpreに読み込み、続いて次の行の姿勢データ部分を変数Dcurに読み込み、両者Dpre、Dcurの差|Dpre-Dcur|の大きさを評価し、その差が基準量より大きければ、関節角が急激に変化したと見なして代替姿勢データへの変換を行って変数Dcurに代入し、変数Dpreの内容を変数Dcurの内容に更新することが記載されている。
 特許文献2には、産業用ロボットの先端に取着されたツールの姿勢を各教示点においてワークの面に垂直な面直方向ベクトルに対応するように演算し、演算されたツールの姿勢が不定となる教示点を検出し、検出した教示点を特異点とし、特異点におけるツールの姿勢を再演算して各教示点におけるツールの姿勢を決定することが記載されている。
 特許文献3には、移動経路の上流側の教示点P-1から速度を設定すべき教示点Pへ向かう線分と、教示点Pから下流側の教示点P+1に向かう線分との成す角度θが大きい場合に、速度vPを第1条件速度v1に低減させるか、又は、教示点Pの姿勢が移動経路の上流側の教示点P-1におけるロボットの姿勢から大きく変化した場合に、速度vPを第2条件速度に低減させることが記載されている。
特開平04-268607号公報 特開平09-254062号公報 特開平2015-123517号公報
 本発明は、従来の問題点に鑑み、安全性及び信頼性の高い機械のプログラム作成技術又は制御技術を提供することを目的とする。
 本開示の一態様は、機械の制御対象部位の移動経路における単位距離又は単位時間当たりの制御対象部位の姿勢変化に基づいて機械の動作プログラム内の動作命令を調整する動作命令調整部を備える、プログラム作成装置を提供する。
 本開示の他の態様は、機械の制御対象部位の移動経路における単位距離又は単位時間当たりの制御対象部位の姿勢変化が閾値以上になる区間を検出する区間検出部を備える、プログラム作成装置を提供する。
 本開示の別の態様は、機械の制御対象部位の移動経路における単位距離又は単位時間当たりの制御対象部位の姿勢変化に基づいて機械の動作命令を調整する動作命令調整部と、調整した動作命令に従って機械の動作を制御する制御部と、を備える、制御装置を提供する。
 本開示の更に別の態様は、機械と、機械の制御対象部位の移動経路における単位距離又は単位時間当たりの制御対象部位の姿勢変化に基づいて機械の動作命令を調整する動作命令調整部と、調整した動作命令に従って機械の動作を制御する制御部と、を備える、機械システムを提供する。
 本開示の一態様によれば、制御対象部位の姿勢が急激に変化する動作命令を自動的に調整できる。そのため、特に教示点数が多い動作プログラムの修正に要する時間を短縮できる。ひいては、安全性及び信頼性の高い機械の動作プログラムを提供できる。
 本開示の他の態様によれば、制御対象部位の姿勢が急激に変化する区間を自動的に検出できる。そのため、特に教示点数が多い動作プログラムの修正に要する時間を短縮できる。ひいては、安全性及び信頼性の高い機械の動作プログラムを提供できる。
 本開示の別の態様によれば、制御装置が動作命令調整部を備えているため、制御対象部位の姿勢が急激に変化する動作命令を自動的に調整し、調整した動作命令に従って機械の動作を制御できる。ひいては、安全性及び信頼性の高い機械の制御技術を提供できる。
 本開示の更に別の態様によれば、機械システムが動作命令調整部を備えているため、制御対象部位の姿勢が急激に変化する動作命令を自動的に調整し、調整した動作命令に従って機械の動作を制御できる。ひいては、安全性及び信頼性の高い機械の制御技術を提供できる。
一実施形態の機械システムの概略構成図である。 一実施形態の機械システムのブロック図である。 比較的長い区間を含む動作軌道の一例を示す図である。 比較的長い区間を含む動作軌道の一例を示す図である。 比較的短い区間を含む動作軌道の一例を示す図である。 比較的短い区間を含む動作軌道の一例を示す図である。 区間検出ウインドウの一例を示す図である。 動作命令調整ウインドウの一例を示す図である。 動作命令調整方法選択ウインドウの一例を示す図である。 急激な姿勢変化を含まない動作軌道の一例を示す図である。 急激な姿勢変化を含む動作軌道の一例を示す図である。 急激な姿勢変化を含む動作速度ウインドウの一例を示す図である。 動作速度変更後のプログラム編集ウインドウの一例を示す図である。 動作速度変更後のプログラム編集ウインドウの変形例を示す図である。 動作形式変更後の動作軌道ウインドウの一例を示す図である。 動作形式変更後の動作軌道ウインドウの一例を示す図である。 動作形式変更後のプログラム編集ウインドウの一例を示す図である。
 以下、添付図面を参照して本開示の実施形態を詳細に説明する。各図面において、同一又は類似の構成要素には同一又は類似の符号が付与されている。また、以下に記載する実施形態は、特許請求の範囲に記載される発明の技術的範囲及び用語の意義を限定するものではない。本書において、用語「画面」は表示ディスプレイの全部又は一部の領域を意味し、用語「ウインドウ」は画面の一部の領域を意味する。
 図1は一実施形態の機械システム1の概略構成図である。機械システム1はロボットシステムであるが、これに限定されず、他の実施形態において、機械システム1は工作機械システム、建設機械システム、車両システム、航空機システム、ロケットシステム等の他の機械システムで構成されることもある。機械システム1は、機械2、制御装置3、及びプログラム作成装置4を備えている。機械2、制御装置3、及びプログラム作成装置4は、有線又は無線を介して相互に接続されるか又は有線又は無線を介して相互に接続可能に構成される。機械2は動作プログラムに従って制御装置3によって制御され、制御装置3はプログラム作成装置4で作成された機械2の動作プログラムを実行する。
 機械2は、産業用ロボット、例えば多関節ロボットで構成されるが、これに限定されず、他の実施形態において、機械2はパラレルリンク型ロボット、直交ロボット、ヒューマノイド、双腕ロボット等の他のロボットで構成されることもある。或いは、別の実施形態において、機械2は工作機械、建設機械、車両、航空機、ロケット等の他の機械で構成されることもあることに留意されたい。機械2は、第一リンク10~第七リンク16を備えている。第一リンク10は所定位置に固定されるベースであり、第二リンク11は第一軸線J1回りに第一リンク10に対して回転可能に支持される旋回胴である。第三リンク12は第一軸線J1に直交する第二軸線J2回りに旋回胴11に対して回転可能に支持される第一アームであり、第四リンク13は第二軸線J2に平行な第三軸線J3回りに第三リンク12に対して回転可能に支持される第二アームである。第五リンク14~第七リンク16は第四リンク13の先端に取付けられる三軸の手首ユニットである。
 第五リンク14は第三軸線J3に直交する第四軸線J4回りに第二アーム13に対して回転可能に支持される第一手首要素である。第六リンク15は第四軸線J4に直交する第五軸線J5回りに第五リンク14に対して回転可能に支持される第二手首要素である。第七リンク16は第五軸線J5に直交する第六軸線J6回りに第二手首要素15に対して回転可能に支持される第三手首要素である。また、機械2は手首ユニットの先端に着脱可能に取付けられるツール17を備えている。ツール17は、ハンド、溶接ツール、切削ツール、穴開ツール、塗装ツール等の種々のツールで構成される。
 以上のように機械2は、相互に連結された複数のリンク10~16を備えている。機械2は複数のリンク10~16の間に所定の軸線J1~J6回りに回転する関節軸を備えているが、これに限定されず、他の実施形態において、機械2は複数のリンク10~16の間に所定の軸線に沿って直動する関節軸を備えることもある。機械2は各関節軸を駆動するアクチュエータ(図2参照)やツール17を駆動するアクチュエータ(図2参照)をさらに備えている。アクチュエータは電動機、減速機等を含む電気式アクチュエータで構成されるが、他の実施形態において、アクチュエータは流体ポンプ、流体シリンダ等を含む流体式アクチュエータ等の他のアクチュエータで構成されることもある。また、アクチュエータは自身を駆動する一以上の駆動回路をさらに備えることもある。
 制御装置3は、図示しないが、プログラマブルロジックコントローラ(PLC)を備えている。或いは、他の実施形態において、制御装置3は他のプロセッサ又は他の半導体集積回路を備えることもある。制御装置3は、図示しないが、バスを介して相互に接続されたプロセッサ、メモリ、入出力インタフェース等を備えている。プロセッサはメモリに記憶されたプログラムを実行して種々の装置を制御し、メモリは種々のプログラムや種々のデータを記憶し、入出力インタフェースはプロセッサやメモリと種々の外部装置との間でデータを入出力する。制御装置3は機械2のアクチュエータを駆動制御する一以上の駆動回路をさらに備えることもある。例えば駆動回路はプロセッサから入力した動作命令に基づいてアクチュエータを駆動制御するサーボアンプである。制御装置3は、入出力インタフェースを介してプログラム作成装置4から機械2の動作プログラムを入力し、プロセッサで動作プログラムを実行し、動作命令を駆動回路に送出し、アクチュエータを駆動することで機械2を動作させる。
 プログラム作成装置4は、パーソナルコンピュータ(PC)、タブレット型コンピュータ等のコンピュータを備えているが、他の実施形態において、プログラム作成装置4はティーチペンダント、教示操作盤等のロボットの教示装置で構成されることもある。プログラム作成装置4は、図示しないが、バスを介して相互に接続されたプロセッサ、メモリ、入出力インタフェース等を備えている。プロセッサはメモリに記憶されたプログラムを実行して種々の装置を制御し、メモリは種々のプログラムや種々のデータを記憶し、入出力インタフェースはプロセッサやメモリと種々の外部装置との間でデータを入出力する。プログラム作成装置4は、機械2の動作プログラムを作成し、入出力インタフェースを介して作成した動作プログラムを制御装置3に送出する。
 プログラム作成装置4は、機械2の動作プログラムの編集、実行、生成等を行うプログラム作成ソフトウェア5を備えている。プログラム作成ソフトウェア5は、メモリに記憶され、プロセッサで実行される。プログラム作成ソフトウェア5は、後述するように、動作軌道ウインドウ(図3A~図4B、図6A~図6B、図9A~図9B参照)、プログラム編集ウインドウ(図8A~図8B、図10参照)、区間検出ウインドウ(図5A参照)、動作命令調整ウインドウ(図5B参照)、動作命令調整方法選択ウインドウ(図5C参照)等の種々のウインドウを含むプログラミング画面を表示部に表示する。
 プログラム作成ソフトウェア5は、世界座標系、機械座標系、フランジ座標系、ツール座標系、カメラ座標系、ワーク座標系、ユーザ座標系等の種々の座標系を設定する座標系設定機能を備えている。これら座標系は直交座標系で構成されるが、他の実施形態において、これら座標系は斜交座標系、極座標系等の他の座標系で構成されることもある。説明を容易にするため、プログラム作成ソフトウェア5は、機械座標系C1とツール座標系C2を設定しているものとする。機械座標系C1は機械2の基準点、例えばベースに固定され、ツール座標系C2はツール17の基準点、例えばツール中心点(TCP)に固定される。
 機械2は、制御点である制御対象部位Pを備えている。制御対象部位Pの位置は、機械座標系C1におけるツール座標系C2の位置、例えばX-Y-Z座標値(x,y,z)で表される。或いは、他の実施形態において、制御対象部位Pの位置は、機械座標系C1におけるフランジ座標系の位置、つまり手首ユニットのフランジ位置でもよいし、又は世界座標系におけるツール座標系C2の位置等でもよい。制御対象部位Pの姿勢は、機械座標系C1におけるツール座標系C2の姿勢、例えばX-Y-Z軸回りの回転量(w,p,r)で表される。或いは、他の実施形態において、制御対象部位Pの姿勢は、機械座標系C1におけるフランジ座標系の姿勢、つまり手首ユニットのフランジ姿勢でもよいし、又は世界座標系におけるツール座標系C2の姿勢等でもよい。
 プログラム作成ソフトウェア5は、制御対象部位Pの動作軌道を構成する一以上の教示点を設定する教示点設定機能をさらに備えている。各教示点は、少なくとも制御対象部位Pの位置、例えばX-Y-Z座標値(x,y,z)を含み、また、必要に応じて制御対象部位Pの姿勢、例えばX-Y-Z軸回りの回転量(w,p,r)を含む。
 プログラム作成ソフトウェア5は、機械2の動作命令を時系列に配列して編集する動作命令編集機能をさらに備えている。動作命令は、制御対象部位Pの動作命令、ツール17の動作命令、及びこれら動作命令を組み合わせたアプリケーション命令等を含む。制御対象部位Pの動作命令は、教示点、動作形式、速度形式、速度パラメータ等の種々のパラメータを含む。動作命令の動作形式は、直線移動(制御対象部位Pの直線移動)、円弧移動(制御対象部位Pの円弧移動)、各軸移動(制御対象部位Pの移動経路が拘束されず、各関節軸のアクチュエータが独立動作する、制御対象部位Pの移動)等の種々の動作形式を含む。動作命令の速度形式は、制御対象部位Pの移動速度、各関節軸のアクチュエータの動作速度、制御対象部位Pの姿勢変更速度、教示点間の移動時間等の種々の速度形式を含む。動作命令の速度パラメータは、これら速度形式に応じた動作速度又は動作時間等の種々の速度パラメータである。ツール17の動作命令は、ハンド開閉、把持強度等のツールに応じた種々のパラメータを含み、アプリケーション命令は、パレタイジング、デパレタイジング等のアプリケーションに応じた種々のパラメータを含む。
 プログラム作成ソフトウェア5は、制御対象部位Pの動作軌道を構成する一以上の教示点を動作命令に関連付ける教示点関連付け機能をさらに備えている。例えば直線移動の目標位置にある教示点を直線移動の動作命令に関連付ける。或いは、例えば円弧移動の中間位置や目標位置にある複数の教示点を円弧移動の動作命令に関連付ける。プログラム作成ソフトウェア5は、以上のような種々の編集機能によって機械2の動作プログラムを編集する。
 プログラム作成ソフトウェア5は、編集した動作プログラムをオンラインで(実機に接続して)又はオフラインで(実機に接続せずに)実行し、機械2の動作確認を行うプログラム実行機能をさらに備えている。また、プログラム作成ソフトウェア5は、動作プログラムを生成するプログラム生成機能をさらに備えることもある。編集した又は実行確認した動作プログラムは、ソースコードからオブジェクトコード(機械語)、中間コード、バイトコード等へ変換され、最終的な動作プログラムが生成される。プログラム作成装置4は、入出力インタフェースを介して作成した動作プログラムを制御装置3に送出する。
 図2は一実施形態の機械システム1のブロック図である。プログラム作成装置4は、入力部40、表示部41、及び記憶部42を備えている。入力部40はキーボードやマウス等のユーザインタフェース(UI)で構成され、表示部41は表示ディスプレイ等のUIで構成されるが、これに限定されず、他の実施形態において、入力部40及び表示部41はタッチパネルディスプレイ等の一体型UIで構成されることもある。記憶部42は、RAM(random access memory)、ROM(read only memory)等のメモリで構成される。
 プログラム作成装置4は、プログラム作成ソフトウェア5の一部であるプログラム編集部45、プログラム実行部46、区間検出部47、及び動作命令調整部48をさらに備えている。これら構成要素はプロセッサで実行されるプログラムの一部又は全部で構成されるが、これに限定されず、他の実施形態において、これら構成要素は、FPGA(field programmable gate array)、ASIC(application specific integrated circuit)等の他の半導体集積回路の一部又は全部で構成されることもある。
 制御装置3は、機械2の動作を制御する制御部30を備えている。制御部30はPLCを含む制御回路を備えているが、他の実施形態において、制御部30は機械2のアクチュエータ20を駆動制御する一以上の駆動回路をさらに備えることもある。制御部30はプログラム作成装置4で作成された動作プログラム44に従って機械2の動作を制御する。或いは、別の実施形態において、制御装置3はプログラム作成装置4の全ての構成要素を備えていてもよい。つまり、制御装置3は、入力部40、表示部41、記憶部42、プログラム編集部45、プログラム実行部46、区間検出部47、動作命令調整部48等を備えることもある。
 機械2は、機械2を駆動する一以上のアクチュエータ20を備えている。アクチュエータ20は、各関節軸を駆動するアクチュエータ、ツール17を駆動するアクチュエータ等を含む。アクチュエータ20は、電動機、減速機等を含む電気式アクチュエータで構成されるが、他の実施形態において、アクチュエータ20は、流体ポンプ、流体シリンダ等を含む流体式アクチュエータ等の他のアクチュエータで構成されることもある。また、アクチュエータ20は自身を駆動する一以上の駆動回路をさらに備えることもある。
 プログラム編集部45は、前述の座標系設定機能、教示点設定機能等を備えた動作軌道ウインドウ50(図3A~図4B、図6A~図6B、図9A~図9B等参照)を表示部41に表示すると共に、前述の動作命令編集機能、教示点関連付け機能等を備えたプログラム編集ウインドウ80(図8A~図8B、図10等を参照)を表示部41に表示する。プログラム編集部45は、入力部40から入力した種々の指令に基づき、座標系、教示点、動作命令等を編集し、編集した動作プログラム44を記憶部42に記憶すると共に、編集した動作プログラム44をプログラム編集ウインドウ80に表示する。プログラム編集機能により、ユーザは動作プログラム44の編集を行う。
 プログラム実行部46は、前述のプログラム実行機能を備えたプログラム実行ウインドウ(図示せず)を表示部41に表示する。プログラム実行部46は、入力部40から入力した種々の指令に基づき、編集した動作プログラム44をオフラインで実行すると共に、表示部41に表示した仮想の機械2を仮想空間上で動作させる。或いは、他の実施形態において、プログラム実行部46は、入力部40から入力した種々の指令に基づき、編集した動作プログラム44を制御装置3へ送出し、動作プログラム44をオンラインで実行すると共に、機械2を現実空間上で動作させる。プログラム実行機能により、ユーザは編集した動作プログラム44による機械2の動作確認を行う。プログラム実行部46は、前述のプログラム生成機能を備えていてもよい。
 以上のような動作プログラム44の作成中は、制御対象部位Pの急激な姿勢変化を予測し難い。生成された動作プログラムを実際に機械2で実行した際に、制御対象部位Pの姿勢が不自然に急激に変化し、機械2が周辺に存在する物体等に接触するといった安全性の問題や、機械2を駆動する電動機に過負荷が掛かって機械2が停止するといった信頼性の問題を生じる虜がある。そこで、プログラム作成装置4は、制御対象部位Pの姿勢が急激に変化する区間を検出する区間検出部47と、当該区間の動作命令を調整する動作命令調整部48と、を備えている。
 区間検出部47は、制御対象部位Pの移動経路における単位距離又は単位時間当たりの制御対象部位Pの姿勢変化が閾値43以上になる区間を検出する。単位距離又は単位時間当たりの姿勢変化は、例えばX-Y-Z軸回りの各回転量の和(例えば各回転角度の和)を単位距離(例えばミリメートル)又は単位時間(例えば秒)で除算したものでよい。単位距離又は単位時間当たりの姿勢変化の閾値43は、入力部40から事前に入力されるか、又は記憶部42に事前に記憶される。
 区間検出部47は、動作プログラム44内の教示点間の距離、当該教示点間の動作速度又は動作時間、及び当該教示点間の制御対象部位Pの姿勢変化を評価することで、単位距離又は単位時間当たりの制御対象部位Pの姿勢変化が閾値43以上になる区間を検出する。或いは又は加えて、区間検出部47は、動作プログラム44の実行中に単位距離又は単位時間当たりの姿勢変化を逐次的に評価することで、単位距離又は単位時間当たりの姿勢変化が閾値43以上になる区間を検出してもよい。区間検出機能により、動作プログラム44内から又は動作プログラム44の実行中に、制御対象部位Pの姿勢が急激に変化する区間を自動的に検出できる。そのため、特に教示点数が多い動作プログラム44の修正に要する時間を短縮できる。ひいては、安全性及び信頼性の高い機械2の動作プログラム44を提供できる。
 表示部41は、区間検出部47の指令に基づき、検出された姿勢変化の大きい区間や当該区間を構成する教示点を強調表示した動作軌道を表示する(図6Bの動作軌道ウインドウ50を表示する)。区間強調表示機能により、ユーザは制御対象部位Pの姿勢が急激に変化する区間を視覚的に容易に認識できる。また、表示部41は、区間検出部47の指令に基づき、制御対象部位Pの姿勢が急激に変化する区間の動作命令を自動的に調整するか否かの実行確認を表示する(図5Bの動作命令調整ウインドウ63を表示する)。動作命令調整確認機能により、ユーザは動作命令の自動調整又は手動調整を任意に選択できる。
 動作命令調整部48は、単位距離又は単位時間当たりの制御対象部位Pの姿勢変化に基づいて機械2の動作プログラム44内の動作命令を調整する。つまり、動作命令調整部48は、単位距離又は単位時間当たりの制御対象部位Pの姿勢変化が閾値43以上になる区間の動作命令を調整する。動作命令調整部48は、動作命令の調整方法として、動作命令の動作速度を変更する動作速度変更機能と、動作命令の動作形式を変更する動作形式変更機能と、のうちの少なくとも一方を備えている。
 動作速度変更機能は、動作命令の速度形式と速度形式に応じた速度パラメータとを変更する機能である。例えば動作速度変更機能は、制御対象部位Pの移動速度という速度形式を制御対象部位Pの姿勢変更速度という速度形式に変更し、制御対象部位Pの姿勢変更速度という速度パラメータを所定値以下に減速させる。或いは、他の実施形態において、動作速度変更機能は、制御対象部位Pの移動速度という速度形式を制御対象部位Pの教示点間の移動時間という速度形式に変更し、制御対象部位Pの教示点間の移動時間という速度パラメータを所定値以上に増大させることもある。
 或いは、別の実施形態において、動作速度変更機能は、各関節軸のアクチュエータ20の動作速度という速度形式を制御対象部位Pの姿勢変更速度という速度形式に変更し、制御対象部位Pの姿勢変更速度という速度パラメータを所定値以下に減速させる。或いは、更に別の実施形態において、動作速度変更機能は、各関節軸のアクチュエータ20の動作速度という速度形式を制御対象部位Pの教示点間の移動時間という速度形式に変更し、制御対象部位Pの教示点間の移動時間という速度パラメータを所定値以上に増大させることもある。速度形式を変更することにより、ユーザは変更後の制御対象部位Pの姿勢変化を直感的に認識できる。また、速度パラメータを変更することにより、制御対象部位Pの急激な姿勢変化を抑制できる。ひいては、安全性及び信頼性の高い機械の動作プログラム44を提供できる。
 動作形式変更機能は、制御対象部位Pの移動距離が伸長する動作形式へ変更する機能である。例えば動作形式変更機能は、制御対象部位Pの直線移動という動作形式を各軸移動という動作形式へ変更し、必要に応じて各関節軸のアクチュエータ20の動作速度という速度パラメータを所定値以下に減速させる。各軸移動という動作形式は直線移動という動作形式よりも制御対象部位Pの移動距離が長いため、制御対象部位Pの急激な姿勢変化を抑制できる。
 或いは、他の実施形態において、動作形式変更機能は、制御対象部位Pの直線移動という動作形式を円弧移動という動作形式へ変更し、必要に応じて制御対象部位Pの動作速度を所定値以下に減速させる。円弧移動という動作形式は直線移動という動作形式よりも制御対象部位Pの移動距離が長いため、制御対象部位Pの急激な姿勢変化を抑制できる。動作形式変更機能により、制御対象部位Pの移動距離が伸長し、必要に応じて動作速度を所定値以下に減速させるため、制御対象部位Pの急激な姿勢変化を抑制できる。ひいては、安全性及び信頼性の高い機械の動作プログラム44を提供できる。
 動作命令調整部48は、調整した動作命令を含む動作プログラム44を記憶部42に記憶すると共に、調整した動作命令を含む動作プログラム44を表示部41に表示する(図8A~図8B、図10のプログラム編集ウインドウ80を表示する)。表示部41は、動作命令調整部48の指令に基づき、調整された動作命令を強調表示した動作プログラム44を表示する(図8A~図8B、図10のプログラム編集ウインドウ80を表示する)。また、表示部41は、動作命令調整部48の指令に基づき、調整前の動作命令と調整後の動作命令を同時に表示した動作プログラム44を表示する(図8A~図8B、図10のプログラム編集ウインドウ80を表示する)。動作命令強調表示機能により、ユーザは自動調整した動作命令を視覚的に容易に認識できる。また、調整前後の動作命令表示機能により、ユーザは動作命令がどのように自動調整されたかを視覚的に容易に認識できる。
 以下、機械システム1の一実施例について説明する。図3A及び図3Bは比較的長い区間(教示点P1-P2間を参照)を含む動作軌道Tの一例を示す図である。動作軌道ウインドウ50は、仮想の機械2と制御対象部位Pの動作軌道Tとを仮想空間上に表示する。本例では、制御対象部位Pの動作軌道Tは複数の教示点P1~P3で構成される。教示点P2と教示点P3はいずれも直線移動する動作命令が関連付けられている。図3Aでは、制御対象部位Pが教示点P1にあり、制御対象部位Pの姿勢がツール座標系C2で表されている。また、教示点P2における制御対象部位Pの姿勢はツール座標系C2′で表されている。図3Bでは、制御対象部位Pが教示点P2にあり、制御対象部位Pの姿勢がツール座標系C2で表されている。
 ここで、制御対象部位Pの移動速度が50mm/秒であり、教示点P1と教示点P2間の距離が500mmであり、教示点P1と教示点P2間における制御対象部位Pの姿勢変化(つまりツール座標系C2からツール座標系C2′への姿勢変化)が150度である場合、教示点P1と教示点P2間における姿勢変化は、教示点P1と教示点P2間の制御対象部位Pの移動時間10秒(=500/50)で時分割して制御されるため、単位時間当たりの姿勢変化は15度/秒(=150/10)になる。また、単位距離当たりの姿勢変化は0.3度/mm(=150/500)になる。つまり本例では、教示点P1と教示点P2間の距離が比較的長いため、制御対象部位Pの姿勢は急激に変化しない。
 図4A及び図4Bは比較的短い区間(教示点P1-P2間を参照)を含む動作軌道Tの一例を示す図である。動作軌道ウインドウ50は、仮想の機械2と制御対象部位Pの動作軌道Tとを仮想空間上に表示する。本例では、制御対象部位Pの動作軌道Tは複数の教示点P1~P3で構成される。教示点P2と教示点P3はいずれも直線移動する動作命令が関連付けられている。図4Aでは、制御対象部位Pが教示点P1にあり、制御対象部位Pの姿勢がツール座標系C2で表されている。また、教示点P2における制御対象部位Pの姿勢はツール座標系C2′で表されている。図4Bでは、制御対象部位Pが教示点P2にあり、制御対象部位Pの姿勢がツール座標系C2で表されている。
 ここで、制御対象部位Pの移動速度が50mm/秒であり、教示点P1と教示点P2間の距離が50mmであり、教示点P1と教示点P2間における制御対象部位Pの姿勢変化(つまりツール座標系C2からツール座標系C2′への姿勢変化)が150度である場合、教示点P1と教示点P2間における姿勢変化は、教示点P1と教示点P2間の制御対象部位Pの移動時間1秒(=50/50)で時分割して制御されるため、単位時間当たりの姿勢変化は150度/秒(=150/1)になる。また、単位距離当たりの姿勢変化は3度/mm(=150/50)になる。つまり本例では、教示点P1と教示点P2間の距離が比較的短いため、制御対象部位Pの姿勢が急激に変化する。区間検出部47はこのような制御対象部位Pの姿勢が急激に変化する区間(教示点P1と教示点P2間)を自動的に検出し、動作命令調整部48は制御対象部位Pの姿勢が急激に変化する動作命令を自動的に調整する。
 図5Aは区間検出ウインドウ60の一例を示す図である。表示部41は、区間検出部47の指令に基づき、区間検出ウインドウ60を表示する。区間検出ウインドウ60は、閾値入力ボックス61と、区間検出実行ボタン62と、を備えている。制御対象部位Pの姿勢が急激に変化しない図3A及び図3Bの実施例によれば、単位時間当たりの姿勢変化の閾値43として閾値入力ボックス61に15度/秒を入力するとよい。或いは、他の実施形態において、単位距離当たりの姿勢変化の閾値43として閾値入力ボックス61に0.3度/mmを入力してもよい。入力された閾値43は、記憶部42に記憶され、次回以降の区間検出時の閾値としても利用可能である。
 区間検出部47は、区間検出実行ボタン62の指令に基づき、制御対象部位Pの姿勢が急激に変化する区間を動作プログラム44内から検出する。制御対象部位Pの姿勢が急激に変化する図4A及び図4Bの実施例によれば、教示点P1と教示点P2間において単位時間当たりの制御対象部位Pの姿勢変化が150度/秒になり、また、単位距離当たりの制御対象部位Pの姿勢変化が3度/mmになるため、区間検出部47は、教示点P1と教示点P2間を、単位時間又は単位距離当たりの制御対象部位Pの姿勢変化(150度/秒又は3度/mm)が閾値43(15度/秒又は0.3度/mm)以上になる区間として検出する。表示部41は、区間検出部47の指令に基づき、急激な姿勢変化を含む区間(教示点P1と教示点P2間)を強調表示した動作軌道ウインドウ50を表示する。
 図6Aは急激な姿勢変化を含まない動作軌道Tの一例を示す図であり、図6Bは急激な姿勢変化を含む動作軌道Tの一例を示す図である。図6Aに示すように、動作軌道Tが急激な姿勢変化を含まない場合は、表示部41は動作軌道Tを細い破線等で表示した動作軌道ウインドウ50を表示すると共に、表示部41は教示点P1~P3を黒丸等で表示した動作軌道ウインドウ50を表示する。一方、図6Bに示すように、動作軌道Tが急激な姿勢変化を含む場合は、表示部41は、区間検出部47の指令に基づき、制御対象部位Pの姿勢が急激に変化する区間S(教示点P1と教示点P2間)を太い実線等で強調表示した動作軌道ウインドウ50を表示する。また、表示部41は、区間検出部47の指令に基づき、教示点P2(目標位置)を白丸等で強調表示した動作軌道ウインドウ50を表示してもよい。或いは、他の実施形態において、表示部41は、区間検出部47の指令に基づき、区間Sを構成する教示点P1(現在位置)と教示点P2(目標位置)の双方を白丸等で強調表示してもよい。
 別の実施形態において、区間検出部47は、制御対象部位Pの姿勢が急激に変化する区間Sを動作プログラム44の実行中に逐次的に検出してもよい。制御対象部位Pの姿勢が急激に変化する図4A及び図4Bの実施例によれば、教示点P1と教示点P2間において単位時間当たりの制御対象部位Pの姿勢変化が150度/秒になり、また、単位距離当たりの制御対象部位Pの姿勢変化が3度/mmとなるため、区間検出部47は、教示点P1と教示点P2間を、単位時間又は単位距離当たりの制御対象部位Pの姿勢変化(150度/秒又は3度/mm)が閾値43(15度/秒又は0.3度/mm)以上になる区間Sとして逐次的に検出する。表示部41は、区間検出部47の指令に基づき、急激な姿勢変化を含む区間S(教示点P1と教示点P2間)を強調表示した動作速度ウインドウ70を表示する。
 図7は急激な姿勢変化を含む動作速度ウインドウ70の一例を示す図である。表示部41は、区間検出部47の指令に基づき、急激な姿勢変化を含む区間S(教示点P1と教示点P2間)を強調表示した動作速度ウインドウ70を表示する。動作速度ウインドウ70は、動作プログラム44の実行時間に対する動作速度グラフを含む。表示部41は、急激な姿勢変化を含む区間Sを太い実線等で強調表示する。なお、本例では、制御対象部位Pが教示点P1と教示点P2においてそれぞれ位置決めされるため、制御対象部位Pの動作速度が一定になる区間Sで制御対象部位Pの姿勢を変更する。従って、制御対象部位Pの動作速度が一定になる区間Sのみが強調表示されている。
 区間検出機能により、動作プログラム44内から又は動作プログラム44の実行中に、制御対象部位Pの姿勢が急激に変化する区間Sを自動的に検出できる。そのため、特に教示点数が多い動作プログラム44の修正に要する時間を短縮できる。ひいては、安全性及び信頼性の高い機械2の動作プログラム44を提供できる。また、区間強調表示機能により、ユーザは制御対象部位Pの姿勢が急激に変化する区間Sを視覚的に容易に認識できる。
 図5Bは動作命令調整ウインドウ63の一例を示す図である。区間検出部47により制御対象部位Pの姿勢が急激に変化する区間Sを検出すると、表示部41は、区間検出部47の指令に基づき、当該区間Sの動作命令を自動調整するか否かの実行確認を表示する動作命令調整ウインドウ63を表示する。動作命令調整ウインドウ63は、動作命令調整実行ボタン64と、キャンセルボタン65と、を備えている。動作命令調整部48は、動作命令調整実行ボタン64が押下されると、当該区間Sの動作命令を自動で調整する。一方、動作命令調整部48は、キャンセルボタン65が押下されると、当該区間Sの動作命令を手動で調整可能にする。動作命令調整確認機能により、ユーザは動作命令の自動調整又は手動調整を任意に選択できる。
 図5Cは動作命令調整方法選択ウインドウ66の一例を示す図である。動作命令調整ウインドウ63で動作命令調整実行ボタン64が押下されると、表示部41は、動作命令調整部48の指令に基づき、動作命令調整方法選択ウインドウ66を表示する。動作命令調整方法選択ウインドウ66は、動作速度変更ボタン67と、動作形式変更ボタン68と、を備えている。動作命令調整部48は、動作速度変更ボタン67が押下されると、動作命令の動作速度を変更する。一方、動作命令調整部48は、動作形式変更ボタン68が押下されると、動作命令の動作形式を変更する。
 例えば動作命令調整部48は、動作速度変更ボタン67が押下されると、制御対象部位Pの移動速度(例えば30mm/秒)という速度形式を制御対象部位Pの姿勢変更速度という速度形式に変更し、制御対象部位Pの姿勢変更速度という速度パラメータを所定値(例えば15度/秒)以下に減速させる。或いは、他の実施形態において、動作命令調整部48は、動作速度変更ボタン67が押下されると、制御対象部位Pの移動速度(例えば30mm/秒)という速度形式を制御対象部位Pの教示点間の移動時間という速度形式に変更し、制御対象部位Pの教示点間の移動時間を所定値(例えば10秒)以上に増大させる。
 図8Aは動作速度変更後のプログラム編集ウインドウ80の一例を示す図である。動作命令調整部48により動作速度が変更されると、表示部41は、動作命令調整部48の指令に基づき、制御対象部位Pの移動速度(例えば30mm/秒)を姿勢変更速度(例えば15度/秒)へ変更した動作命令81をプログラム編集ウインドウ80に表示する。表示部41は、動作命令調整部48の指令に基づき、動作速度が変更された動作命令81を背景色や下線等で強調表示する。また、表示部41は、動作命令調整部48の指令に基づき、調整前の動作命令(直線移動 P2 30mm/秒)と調整後の動作命令(直線移動 P2 15度/秒)とを同時に表示した動作プログラム44を表示する。
 図8Bは動作速度変更後のプログラム編集ウインドウ80の変形例を示す図である。動作命令調整部48により動作速度が変更されると、表示部41は、動作命令調整部48の指令に基づき、制御対象部位Pの移動速度(例えば30mm/秒)を教示点間の移動時間(例えば10秒)へ変更した動作命令81をプログラム編集ウインドウ80に表示する。表示部41は、動作命令調整部48の指令に基づき、動作速度が変更された動作命令81を背景色や下線等で強調表示する。また、表示部41は、動作命令調整部48の指令に基づき、調整前の動作命令(直線移動 P2 30mm/秒)と調整後の動作命令(直線移動 P2 10秒)とを同時に表示した動作プログラム44を表示する。
 動作速度変更機能により、速度形式が変更されるため、ユーザは変更後の制御対象部位Pの姿勢変化を直感的に認識できる。また、速度パラメータが変更されるため、制御対象部位Pの急激な姿勢変化を抑制できる。ひいては、安全性及び信頼性の高い機械の動作プログラム44を提供できる。また、動作命令強調表示機能により、ユーザは自動調整された動作命令を視覚的に容易に認識できる。さらに、調整前後の動作命令表示機能により、ユーザは動作命令がどのように自動調整されたのかを視覚的に容易に認識できる。
 図5Cを再び参照すると、動作命令調整部48は、動作形式変更ボタン68が押下されると、制御対象部位Pの直線移動という動作形式を各軸移動という動作形式へ変更し、必要に応じて各関節軸のアクチュエータ20の動作速度という速度パラメータを所定値(例えば最大動作速度の10%)以下に減速させる。或いは、他の実施形態において、動作命令調整部48は、動作形式変更ボタン68が押下されると、制御対象部位Pの直線移動という動作形式を円弧移動という動作形式へ変更し、必要に応じて制御対象部位Pの動作速度という速度パラメータを所定値(例えば最大動作速度の10%)以下に減速させる。
 図9A及び図9Bは動作形式変更後の動作軌道ウインドウ50の一例を示す図である。動作命令調整部48により動作形式が変更されると、表示部41は、動作命令調整部48の指令に基づき、教示点P2への制御対象部位Pの直線移動という動作形式を各軸移動という動作形式へ変更した動作軌道Tを動作軌道ウインドウ50に表示する。或いは、他の実施形態において、表示部41は、動作命令調整部48の指令に基づき、教示点P2への制御対象部位Pの直線移動という動作形式を円弧移動という動作形式へ変更した動作軌道Tを動作軌道ウインドウ50に表示する。
 図10は動作形式変更後のプログラム編集ウインドウ80の一例を示す図である。動作命令調整部48により動作形式が変更されると、表示部41は、動作命令調整部48の指令に基づき、制御対象部位Pの直線移動という動作形式を各軸移動という動作形式へ変更し、各関節軸のアクチュエータ20の動作速度という速度パラメータを所定値(例えば最大動作速度の10%)以下に減速させた動作命令82をプログラム編集ウインドウ80に表示する。表示部41は、動作命令調整部48の指令に基づき、動作形式が変更された動作命令82を背景色や下線等で強調表示する。また、表示部41は、動作命令調整部48の指令に基づき、調整前の動作命令(直線移動 P2 30mm/秒)と調整後の動作命令(各軸移動 P2 10%)とを同時に表示した動作プログラム44を表示する。
 動作形式変更機能により、制御対象部位Pの移動距離が伸長するため、制御対象部位Pの急激な姿勢変化を抑制できる。ひいては、安全性及び信頼性の高い機械の動作プログラム44を提供できる。動作命令強調表示機能により、ユーザは自動調整された動作命令を視覚的に容易に認識できる。また、調整前後の動作命令表示機能により、ユーザは動作命令がどのように自動調整されたのかを視覚的に容易に認識できる。
 以上の実施形態によれば、区間検出部47によって制御対象部位Pの姿勢が急激に変化する区間Sを自動的に検出できる。また、動作命令調整部48によって制御対象部位Pの姿勢が急激に変化する動作命令を自動的に調整できる。そのため、特に教示点数が多い動作プログラム44の修正に要する時間を短縮できる。ひいては、安全性及び信頼性の高い機械の動作プログラム44を提供できる。
 また、制御装置3が区間検出部47を備えている場合には、制御対象部位Pの姿勢が急激に変化する区間Sを自動的に検出できる。また、制御装置3が動作命令調整部48を備えている場合には、制御対象部位Pの姿勢が急激に変化する動作命令を自動的に調整し、調整した動作命令に従って機械2の動作を制御できる。ひいては、安全性及び信頼性の高い機械2の制御技術を提供できる。
 さらに、機械システム1が区間検出部47を備えている場合には、制御対象部位Pの姿勢が急激に変化する区間Sを自動的に検出できる。また、機械システム1が動作命令調整部48を備えている場合には、制御対象部位Pの姿勢が急激に変化する動作命令を自動的に調整し、調整した動作命令に従って機械2の動作を制御できる。ひいては、安全性及び信頼性の高い機械2の制御技術を提供できる。
 前述のプログラム又はソフトウェアは、コンピュータ読取り可能な非一時的記録媒体、例えばCD-ROM等に記録して提供してもよいし、或いは有線又は無線を介してWAN(wide area network)又はLAN(local area network)上のサーバ装置から配信して提供してもよい。
 本明細書において種々の実施形態について説明したが、本発明は、前述の実施形態に限定されるものではなく、以下の特許請求の範囲に記載された範囲内において種々の変更を行えることを認識されたい。
 1 機械システム(ロボットシステム)
 2 機械(ロボット)
 3 制御装置
 4 プログラム作成装置
 5 プログラム作成ソフトウェア
 10 第一リンク(ベース)
 11 第二リンク(旋回胴)
 12 第三リンク(第一アーム)
 13 第四リンク(第二アーム)
 14 第五リンク(第一手首要素)
 15 第六リンク(第二手首要素)
 16 第七リンク(第三手首要素)
 17 ツール
 20 アクチュエータ
 30 制御部
 40 入力部
 41 表示部
 42 記憶部
 43 閾値
 44 動作プログラム
 45 プログラム編集部
 46 プログラム実行部
 47 区間検出部
 48 動作命令調整部
 50 動作軌道ウインドウ
 60 区間検出ウインドウ
 61 閾値入力ボックス
 62 区間検出実行ボタン
 63 動作命令調整ウインドウ
 64 動作命令調整実行ボタン
 65 キャンセルボタン
 66 動作命令調整方法選択ウインドウ
 67 動作速度変更ボタン
 68 動作形式変更ボタン
 70 動作速度ウインドウ
 80 プログラム編集ウインドウ
 81 動作速度が変更された動作命令
 82 動作形式が変更された動作命令
 C1 機械座標系
 C2 ツール座標系
 C2′ 移動後のツール座標系
 J1~J6 軸線
 P 制御対象部位
 P1~P3 教示点
 S 区間
 T 動作軌道

Claims (15)

  1.  機械の制御対象部位の移動経路における単位距離又は単位時間当たりの前記制御対象部位の姿勢変化に基づいて前記機械の動作プログラム内の動作命令を調整する動作命令調整部を備える、プログラム作成装置。
  2.  前記単位距離又は単位時間当たりの前記制御対象部位の前記姿勢変化が閾値以上になる区間を検出する区間検出部をさらに備える、請求項1に記載のプログラム作成装置。
  3.  前記単位距離又は単位時間当たりの前記制御対象部位の前記姿勢変化の前記閾値を入力する入力部をさらに備える、請求項2に記載のプログラム作成装置。
  4.  検出された前記区間及び前記区間を構成する教示点の少なくとも一方を強調表示した動作軌道を表示する表示部をさらに備える、請求項2又は3に記載のプログラム作成装置。
  5.  前記区間検出部は、前記動作プログラム内の教示点間の距離、前記教示点間の動作速度又は動作時間、及び前記教示点間の前記制御対象部位の前記姿勢変化を評価することで、前記単位距離又は単位時間当たりの前記制御対象部位の前記姿勢変化が前記閾値以上になる前記区間を検出する、請求項2から4のいずれか一項に記載のプログラム作成装置。
  6.  前記区間検出部は、前記動作プログラムの実行中に前記単位距離又は単位時間当たりの前記制御対象部位の前記姿勢変化を逐次的に評価することで、前記単位距離又は単位時間当たりの前記制御対象部位の前記姿勢変化が前記閾値以上になる前記区間を検出する、請求項2から5のいずれか一項に記載のプログラム作成装置。
  7.  前記動作命令調整部は、前記単位距離又は単位時間当たりの前記制御対象部位の前記姿勢変化が閾値以上になる区間の前記動作命令を調整する、請求項1から6のいずれか一項に記載のプログラム作成装置。
  8.  前記動作命令調整部は、前記動作命令の調整方法として、前記動作命令の動作速度を変更する動作速度変更機能と、前記動作命令の動作形式を変更する動作形式変更機能と、のうちの少なくとも一方を備える、請求項1から7のいずれか一項に記載のプログラム作成装置。
  9.  前記動作命令調整部は、前記動作速度変更機能により、前記動作命令の速度形式と前記速度形式に応じた速度パラメータとを変更する、請求項8に記載のプログラム作成装置。
  10.  調整された前記動作命令を強調表示した前記動作プログラムを表示する表示部をさらに備える、請求項1から9のいずれか一項に記載のプログラム作成装置。
  11.  前記調整前の前記動作命令と前記調整後の前記動作命令を同時に表示した前記動作プログラムを表示する表示部をさらに備える、請求項1から10のいずれか一項に記載のプログラム作成装置。
  12.  前記動作命令の自動調整の実行確認を表示する表示部をさらに備える、請求項1から11のいずれか一項に記載のプログラム作成装置。
  13.  機械の制御対象部位の移動経路における単位距離又は単位時間当たりの前記制御対象部位の姿勢変化が閾値以上になる区間を検出する区間検出部を備える、プログラム作成装置。
  14.  機械の制御対象部位の移動経路における単位距離又は単位時間当たりの前記制御対象部位の姿勢変化に基づいて前記機械の動作命令を調整する動作命令調整部と、
     前記調整された前記動作命令に従って前記機械の動作を制御する制御部と、
     を備える、制御装置。
  15.  機械と、
     前記機械の制御対象部位の移動経路における単位距離又は単位時間当たりの前記制御対象部位の姿勢変化に基づいて前記機械の動作命令を調整する動作命令調整部と、
     前記調整した前記動作命令に従って前記機械の動作を制御する制御部と、
     を備える、機械システム。
PCT/JP2021/040135 2021-10-29 2021-10-29 プログラム作成装置、制御装置、及び機械システム WO2023073958A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202180103422.XA CN118103783A (zh) 2021-10-29 2021-10-29 程序制作装置、控制装置以及机械系统
DE112021007994.8T DE112021007994T5 (de) 2021-10-29 2021-10-29 Gerät zur Programmerstellung, Steuergerät und Maschinensystem
JP2023556062A JPWO2023073958A1 (ja) 2021-10-29 2021-10-29
PCT/JP2021/040135 WO2023073958A1 (ja) 2021-10-29 2021-10-29 プログラム作成装置、制御装置、及び機械システム
TW111136884A TW202318118A (zh) 2021-10-29 2022-09-29 程式製作裝置、控制裝置及機械系統

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/040135 WO2023073958A1 (ja) 2021-10-29 2021-10-29 プログラム作成装置、制御装置、及び機械システム

Publications (1)

Publication Number Publication Date
WO2023073958A1 true WO2023073958A1 (ja) 2023-05-04

Family

ID=86157631

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/040135 WO2023073958A1 (ja) 2021-10-29 2021-10-29 プログラム作成装置、制御装置、及び機械システム

Country Status (5)

Country Link
JP (1) JPWO2023073958A1 (ja)
CN (1) CN118103783A (ja)
DE (1) DE112021007994T5 (ja)
TW (1) TW202318118A (ja)
WO (1) WO2023073958A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004185364A (ja) * 2002-12-04 2004-07-02 Yaskawa Electric Corp 数値制御装置
JP2005149216A (ja) * 2003-11-17 2005-06-09 Fanuc Ltd 作業プログラム作成装置
JP2013030102A (ja) * 2011-07-29 2013-02-07 Shin Nippon Koki Co Ltd 数値制御装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004185364A (ja) * 2002-12-04 2004-07-02 Yaskawa Electric Corp 数値制御装置
JP2005149216A (ja) * 2003-11-17 2005-06-09 Fanuc Ltd 作業プログラム作成装置
JP2013030102A (ja) * 2011-07-29 2013-02-07 Shin Nippon Koki Co Ltd 数値制御装置

Also Published As

Publication number Publication date
CN118103783A (zh) 2024-05-28
TW202318118A (zh) 2023-05-01
DE112021007994T5 (de) 2024-05-02
JPWO2023073958A1 (ja) 2023-05-04

Similar Documents

Publication Publication Date Title
US10766140B2 (en) Teach mode collision avoidance system and method for industrial robotic manipulators
US9149931B2 (en) Robot system, robot control device and method for controlling robot
CN105270385B (zh) 基于动态系统的机器人速度控制
Bolmsjö et al. Robotic arc welding–trends and developments for higher autonomy
KR20150044812A (ko) 티칭 시스템 및 티칭 방법
WO2015137162A1 (ja) 制御装置、ロボットシステム、および制御用データ生成方法
JP6904759B2 (ja) ロボットの移動速度制御装置及び方法
US20210260750A1 (en) Method to Modify a Program for Robotic Welding
US10507585B2 (en) Robot system that displays speed
JP2018069361A (ja) 力制御座標軸設定装置、ロボットおよび力制御座標軸設定方法
Ang et al. An industrial application of control of dynamic behavior of robots-a walk-through programmed welding robot
US10022868B2 (en) Inverse kinematic solution for multi-joint link mechanism, and teaching-data creating device using the inverse kinematic solution
WO2023073958A1 (ja) プログラム作成装置、制御装置、及び機械システム
JP4289219B2 (ja) 人間介入型ロボットの制御装置
Kumar et al. Intuitive human-robot interaction using augmented reality: A simulation study on KUKA IIWA robot
JP2021175595A (ja) シミュレータ、ロボット教示装置、ロボットシステム、シミュレーション方法、プログラム及び記録媒体
JP6429977B2 (ja) ロボット装置及びロボット制御方法
JP7424097B2 (ja) ロボットの制御装置及びロボットの制御方法
WO2023135762A1 (ja) 制御装置、教示装置、及び機械システム
WO2023112342A1 (ja) 教示装置、制御装置、及び機械システム
JP7529920B1 (ja) ロボットの動作を制御する装置及び方法、動作プログラムを生成する装置及び方法、コンピュータプログラム、並びに動作プログラム
WO2021230237A1 (ja) 加工経路作成装置
WO2022220217A1 (ja) ロボットシステム、その制御方法及び制御プログラム
WO2022009785A1 (ja) ロボット制御装置
JPH0573118A (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: 21962498

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023556062

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 112021007994

Country of ref document: DE

WWE Wipo information: entry into national phase

Ref document number: 18701253

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 202180103422.X

Country of ref document: CN