WO2023276003A1 - ロボットの動作プログラムを管理する管理装置、ネットワークシステム、及び方法 - Google Patents

ロボットの動作プログラムを管理する管理装置、ネットワークシステム、及び方法 Download PDF

Info

Publication number
WO2023276003A1
WO2023276003A1 PCT/JP2021/024585 JP2021024585W WO2023276003A1 WO 2023276003 A1 WO2023276003 A1 WO 2023276003A1 JP 2021024585 W JP2021024585 W JP 2021024585W WO 2023276003 A1 WO2023276003 A1 WO 2023276003A1
Authority
WO
WIPO (PCT)
Prior art keywords
change
program
processor
robot
change information
Prior art date
Application number
PCT/JP2021/024585
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 DE112021007603.5T priority Critical patent/DE112021007603T5/de
Priority to CN202180099277.2A priority patent/CN117460604A/zh
Priority to US18/568,965 priority patent/US20240278429A1/en
Priority to JP2023531204A priority patent/JPWO2023276003A1/ja
Priority to PCT/JP2021/024585 priority patent/WO2023276003A1/ja
Priority to TW111120460A priority patent/TW202302299A/zh
Publication of WO2023276003A1 publication Critical patent/WO2023276003A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/06Safety devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/006Controls for manipulators by means of a wireless system for controlling one or several manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/06Safety devices
    • B25J19/061Safety devices with audible signals
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages

Definitions

  • the present disclosure relates to a management device, network system, and method for managing robot operation programs.
  • a program correction device that supplies a corrected portion to a robot control device when a robot operation program is corrected (for example, Patent Document 1).
  • a management device that manages an operation program of a robot includes change information indicating changes made to the operation program and execution information indicating that the operation program was executed to operate the robot.
  • a data acquisition unit that acquires the change information acquired by the data acquisition unit; and a process execution unit for executing a predetermined accident prevention process when the approval determination unit determines that the change information is not approved.
  • a method for managing an operation program of a robot includes change information indicating changes made to the operation program and execution information indicating that the operation program has been executed to operate the robot. , receives an input to approve the change information acquired by the data acquisition unit, determines whether or not the change information of the operating program being executed is approved when the execution information is acquired, and determines whether the change information is If it is determined that it is not approved, it implements a predetermined accident prevention process.
  • FIG. 1 is a block diagram of a network system according to one embodiment
  • FIG. 1 is a diagram of a robotic system according to one embodiment
  • FIG. 4 is a flow chart showing an example of a method of managing an operation program of a robot
  • FIG. 4 is a block diagram of a network system according to another embodiment
  • the network system 10 includes a robot system 12 , preventive maintenance equipment 14 , external equipment 16 and a communication network 18 .
  • the robot system 12 is an industrial robot system that performs predetermined operations on workpieces.
  • the preventive maintenance device 14 obtains from the robot system 12 the operating state data OD representing the operating state of the robot system 12 or the abnormality identification code CD indicating an abnormality of the robot system 12, and stores the operating state data OD or the abnormality identification code. Abnormalities occurring in the robot system 12 are monitored based on the CD.
  • the external device 16 is, for example, a desktop or portable PC, or a computer such as a server.
  • the communication network 18 is, for example, a LAN (intranet, etc.) or the Internet, and connects the robot system 12, the preventive maintenance device 14, and the external device 16 so as to be able to communicate with each other.
  • the robot system 12 is installed in a first building provided with a work line
  • the preventive maintenance device 14 is installed in a second building separate from the first building
  • the external equipment 16 is , in a third building separate from the first and second buildings.
  • Robot system 12 includes robot 20 , sensors 22 ( FIG. 1 ), controller 24 , and teaching device 26 .
  • the robot 20 is a vertical articulated robot and has a robot base 28, a swing trunk 30, a lower arm section 32, an upper arm section 34, a wrist section 36, and an end effector .
  • the robot base 28 is fixed on the floor of the work line.
  • a swing barrel 30 is provided on the robot base 28 so as to be swingable around a vertical axis.
  • the lower arm portion 32 is provided on the swing barrel 30 so as to be rotatable around the horizontal axis, and the upper arm portion 34 is rotatably provided at the tip of the lower arm portion 32 .
  • the wrist part 36 is provided at the tip of the upper arm part 34 so as to be rotatable about two axes perpendicular to each other.
  • the end effector 38 is detachably attached to the tip of the wrist 36 (so-called wrist flange).
  • the end effector 38 is, for example, a robot hand, a cutting tool, a welding torch, or the like, and performs predetermined work (work handling, cutting, welding, etc.) on the work.
  • Each component of the robot 20 (robot base 28, swing body 30, lower arm 32, upper arm 34, wrist 36) is provided with a servomotor 40 (Fig. 1).
  • Servomotors 40 drive the movable components of robot 20 (swivel body 30 , lower arm 32 , upper arm 34 , wrist 36 ) in accordance with commands from controller 24 .
  • the sensor 22 detects operating state data OD of the robot system 12 .
  • the operating state data OD includes, for example, the rotational position, rotational speed, rotational acceleration, current value, and load torque of the servomotor 40, the external force applied to the robot 20, and the controller 24 (or the encoder provided to the servomotor 40). including the voltage of the battery for operating the
  • the sensor 22 supplies the detected operating state data OD to the control device 24 .
  • a control device 24 controls the operation of the robot 20 .
  • the control device 24 operates the robot 20 according to the operation program OP, moves the end effector 38 to the teaching point TPk , and performs a predetermined operation on the workpiece with the end effector 38 .
  • Commands CM for causing the robot 20 to perform a predetermined operation are defined in the operation program OP together with operation parameters PR of the robot 20 .
  • the motion parameters PR include, for example, position data of a plurality of teaching points TP k (specifically, coordinates of the robot coordinate system), and the movement trajectory and movement speed between the two teaching points TP k and TP k+1 . .
  • the control device 24 is communicably connected to the preventive maintenance device 14 via the communication network 18 .
  • the control device 24 (specifically, the processor) supplies the execution information EI to the preventive maintenance device 14 when executing the operation program OP to operate the robot 20 .
  • the execution information EI includes, for example, information such as the program name NM of the executed operating program OP and the start time t1 and end time t2 of the operating program OP.
  • the program name NM consists of, for example, an arbitrary character string and is given by the operator A1 of the robot system 12.
  • control device 24 detects an abnormality in the robot system 12 based on the operating state data OD acquired by the sensor 22 while the robot 20 is operating according to the operating program OP.
  • the controller 24 (specifically, the processor) pre-stores the values of the operating state data OD (rotational position, rotational speed, rotational acceleration, current value, load torque, external force, voltage, etc.) acquired from the sensor 22.
  • the determined reference value is exceeded, it is determined that an abnormality has occurred in the robot system 12 .
  • the control device 24 When the control device 24 detects that an abnormality has occurred in the robot system 12 , it transmits an abnormality identification code CD identifying the abnormality to the preventive maintenance device 14 through the communication network 18 .
  • the abnormality identification code CD consists of, for example, a character string (a so-called error code), and is used to identify a plurality of types of abnormality that may occur in the robot system 12 (malfunction of the sensor 22, interference between the robot 20 and surrounding objects, voltage drop of the battery, etc.). ) is given individually.
  • the teaching device 26 teaches the motion of the robot 20 .
  • the teaching device 26 is, for example, a portable computer such as a teaching pendant or a tablet terminal device, and includes a processor (CPU, GPU, etc.), a storage unit (ROM, RAM), a display unit (LCD, organic EL display, etc.) and an operation unit (push button, touch sensor, etc.).
  • the teaching device 26 is communicably connected to the control device 24 and can jog the robot 20 via the control device 24 in accordance with an input to the operating section.
  • the operator A1 operates the operation unit of the teaching device 26 to jog the robot 20, thereby teaching the robot 20 a predetermined motion, thereby causing the robot 20 to perform the predetermined motion.
  • Create OP 0 .
  • the initial operating program OP0 is created.
  • the teaching device 26 gives initial version information VER 0 to the created operation program OP 0 .
  • the version information VER 0 consists of a character string "VER.000", for example.
  • the teaching device 26 supplies the created operation program OP 0 to the control device 24 together with incidental information such as the program name NM, the program creation time t3, and the version information VER 0 . supply to
  • the operator A1 can operate the teaching device 26 to add repetitive changes CHn to the created operation program OP0 .
  • the change CH n added to the motion program OP 0 includes, for example, a change in the character or line of the command sentence CM, a change in the numerical value of the motion parameter PR (position data, movement speed, etc.), or a new command sentence CM or motion There may be addition of parameter PR and the like.
  • the teaching device 26 when the teaching device 26 (processor) receives the input IPc n of the n-th change CH n from the operator, the teaching device 26 currently stores in the storage unit of the teaching device 26 according to the input IPc n .
  • the change CH n is added to the operating program OP n ⁇ 1 in the current state, and the operating program OP n is updated.
  • the teaching device 26 then supplies change information CHIn indicating the change CHn that has been made to the preventive maintenance device 14 .
  • the change information CHI n includes incidental information such as the program name NM, change time t4, and version information VER n of the changed operating program OPn , and change content data CHDn indicating the content of the changed change CHn . including.
  • the change content data CHD n may include only changed (or added) parts (that is, changed or added statement CM or operation parameter PR) in the operation program OP n after change.
  • the change content data CHD n may include the changed operation program OP n itself (that is, all statements CM and operation parameters PR).
  • the teaching device 26 adds the change CH n to the motion program OP n ⁇ 1 to update the motion program OP n , thereby teaching the motion of the robot 20 .
  • the teaching device 26 transmits the change information CHI n to the control device 24 together with the changed operation program OPn each time the change CHn is repeatedly applied.
  • Control device 24 stores the received operation program OP n in the storage unit and transmits change information CHI n to preventive maintenance device 14 via communication network 18 .
  • control device 24 and the teaching device 26 are directly or indirectly connected to the robot 20 and the preventive maintenance device 14, and communicate with each other to obtain the execution information EI and the change information CHI n . is supplied to the preventive maintenance device 14 . Therefore, the control device 24 and the teaching device 26 constitute a communication device 42 (FIG. 1) that supplies the execution information EI and the change information CHIn to the preventive maintenance device 14 .
  • the preventive maintenance device 14 is a computer (PC, server, etc.) having a processor 50, a storage unit 52, an I/O interface 54, an input device 56, a display device 58, and the like.
  • the processor 50 has a CPU, GPU, or the like, and is communicably connected to a storage unit 52 , an I/O interface 54 , an input device 56 and a display device 58 via a bus 60 .
  • the storage unit 52 has RAM, ROM, or the like, and temporarily or permanently stores various data used in arithmetic processing executed by the processor 50 and various data generated during the arithmetic processing.
  • the I/O interface 54 has, for example, an Ethernet (registered trademark) port, a USB port, an optical fiber connector, or an HDMI (registered trademark) terminal, and exchanges data with other devices under instructions from the processor 50. communicate by wire or wirelessly. I/O interface 54 is connected to communication network 18 .
  • the input device 56 has a keyboard, mouse, touch panel, or the like, and receives data input from the operator.
  • the display device 58 has a liquid crystal display, an organic EL display, or the like, and displays various data.
  • the input device 56 and the display device 58 may be provided separately from the housing of the preventive maintenance device 14 , or may be integrated into the housing of the preventive maintenance device 14 .
  • the processor 50 acquires the operating state data OD or the abnormality identification code CD from the communication device 42 (specifically, the control device 24) through the communication network 18, and converts the operation state data OD or the abnormality identification code CD into Based on this, an abnormality of the robot system 12 is detected.
  • the processor 50 can detect that an abnormality identified by the abnormality identification code CD has occurred in the robot system 12 when receiving the abnormality identification code CD from the control device 24 .
  • the processor 50 acquires the operation state data OD, it can detect an abnormality based on the operation state data OD by the same abnormality detection method as the control device 24 described above.
  • the processor 50 can also detect an abnormality in the robot system 12 by applying the acquired operating state data OD to the learning model LM constructed by machine learning.
  • This learning model LM indicates the correlation between the operating state data OD (for example, external force) and an abnormality occurring in the robot system 12 (for example, interference between the robot 20 and surrounding objects).
  • a learning data set of state data OD and determination data representing the presence or absence of an abnormality can be constructed by repeatedly giving a machine learning device (for example, supervised learning).
  • the processor 50 sequentially inputs the operating state data OD continuously obtained from the robot system 12 to the learning model LM.
  • the learning model LM identifies and outputs an anomaly when there is an anomaly highly correlated with changes in the operating state data OD input during a predetermined period.
  • the processor 50 can detect anomalies occurring in the robot system 12 using the learning model LM.
  • the processor 50 can predict that the components of the robot system 12 will fail due to the occurrence of an abnormality. It should be noted that the processor 50 may be configured to perform the functions of the machine learning device described above. Thus, the processor 50 detects an abnormality of the robot system 12 based on the operating state data OD or the abnormality identification code CD.
  • the processor 50 when the processor 50 receives the initial operation program OP 0 created by the teaching device 26 through the communication network 18 , the processor 50 generates an approval image AIM 0 for approving the operation program OP 0 and displays it on the display device 58 . display.
  • the approval image AIM 0 contains the approval button image.
  • the operator A2 (for example, a work line designer) of the preventive maintenance device 14 approves the operation program OP0 by operating the input device 56 and clicking the approval button image in the approval image AIM0 .
  • the processor 50 can be provided with an input IPa 0 to be used. In response to the input IPa 0 , the processor 50 adds an approval flag F1 representing approval as additional information to the operating program OP0 . Details of the approval flag F1 will be described later.
  • the processor 50 manages the operating program OP.
  • a method of managing the operating program OP will be described below with reference to FIG.
  • the flow shown in FIG. 3 is started when the processor 50 receives an operation start command from the operator A2, the host controller, or the computer program.
  • step S1 the processor 50 determines whether change information CHI n has been acquired. Specifically, when modification CH n is applied to operating program OP n ⁇ 1 as described above, processor 50 obtains modification information CHI n from communication device 42 through communication network 18 . The processor 50 sequentially stores a plurality of pieces of change information CHI n acquired each time a change CH n is added in the storage unit 52 as change history data HIS. Details of the change history data HIS will be described later.
  • the processor 50 functions as the data acquisition unit 62 (FIG. 1) that acquires the change information CHI n . If the change information CHI n has been acquired, the processor 50 determines YES, and proceeds to step S2. If the change information CHI n has not been acquired, the processor 50 determines NO, and proceeds to step S5.
  • step S2 the processor 50 generates an approval image AIM_n for approving the most recently obtained change information CHIN, and causes the display device 58 to display the approval image AIM_n .
  • acknowledgment image AIM n includes an acknowledgment button image similar to acknowledgment image AIM 0 described above.
  • Operator A2 operates input device 56 to provide processor 50 with an input IPan that approves change information CHI n by clicking on the approval button image in approval image AIMn . It's becoming
  • step S3 the processor 50 determines whether or not an input IPan approving the change information CHI n has been received. If the input IPan has been received through the input device 56, the processor 50 determines YES and proceeds to step S4. If the input IPan has not been received, the processor 50 determines NO and proceeds to step S5. Thus, in this embodiment, the processor 50 functions as the input reception unit 64 (FIG. 1) that receives the input IPan for approving the change information CHI n .
  • the processor 50 performs a process of approving the most recently obtained change information CHI n .
  • the processor 50 adds an approval flag F1 indicating approval as additional information to the most recent change information CHI n stored in the storage unit 52 as the change history data HIS.
  • An example of the change history data HIS stored in the storage unit 52 is shown in Table 1 below.
  • Table 1 schematically shows the data structure of the change history data HIS.
  • the example shown in Table 1 shows the change history data HIS of the operation program OP n whose program name NM is "PRG-XYZ001", and includes "version information”, "time”, “stored data”, and “approval flag”. ” are stored in association with each other.
  • a row with "VER.000” as “version information” corresponds to the initial operation program OP 0 , and as “time”, the creation time t3 of the initial operation program OP 0 is recorded, and as "stored data” , the operating program OP 0 itself (that is, all statements CM and operating parameters PR) are stored.
  • the row where the "version information” is "VER.001” corresponds to the change information CHI 1 indicating the first change CH 1 , and the change time t4 at which the change CH 1 was added is recorded as the "time”.
  • change content data CHD 1 changed part or operation program OP 1 after change
  • the processor 50 refers to the presence or absence of the approval flag F1 (" O " or "X") for each of the change information CHIN (and the initial operation program OP0 ) stored in the change history data HIS. change information CHI n (and the initial operating program OP 0 ) is approved.
  • step S5 the processor 50 determines whether or not the execution information EI has been acquired. Specifically, as described above, when the control device 24 executes the operating program OP, the processor 50 functions as the data acquisition unit 62 and acquires the execution information EI from the control device 24 through the communication network 18 . If the execution information EI has been acquired, the processor 50 determines YES, and proceeds to step S6. If the execution information EI has not been acquired, the processor 50 determines NO, and proceeds to step S8.
  • the processor 50 determines whether or not the change information CHI n of the operating program OP n being executed has been approved. Specifically, the processor 50 refers to the program name NM of the operating program OPn included in the most recently acquired execution information EI, and stores the change history data HIS of the operating program OPn having the program name NM. Acquired from the unit 52 .
  • the processor 50 retrieves the most recent change information CHI n from the change history data HIS.
  • the processor 50 can retrieve the latest change information CHI n from the version information VER n or the change time t4 stored in the change history data HIS.
  • the processor 50 outputs change information CHI indicating the third change CH 3 , whose "version information" is "VER.003" and "time” is "2021/10/5". 3 can be retrieved as the most recently acquired.
  • the processor 50 refers to the "approval flag" of the latest retrieved change information CHI 3 and determines whether or not the change information CHI 3 is approved.
  • the "approval flag" of the change information CHI3 is "x”, so the processor 50 determines NO in step S6.
  • the processor 50 determines YES. If the processor 50 determines NO in step S6, it proceeds to step S7, and if it determines YES, it proceeds to step S8.
  • the processor 50 recognizes that the operating program OPn is being executed by the execution information EI, and determines whether or not the change information CHI n of the operating program OPn being executed is approved. ing. Therefore, in this embodiment, the processor 50 functions as an approval determination unit 66 (FIG. 1) that determines whether or not the change information CHI n of the operating program OPn being executed is approved.
  • the processor 50 executes an accident prevention process AP.
  • the processor 50 generates an alarm signal AL.
  • the processor 50 generates an image alarm signal AL displaying the text "An unapproved operating program is being executed in the robot system of the work line. Please confirm approval immediately.”
  • the processor 50 then causes the display device 58 to display the generated alarm signal AL. This allows the operator A2 to intuitively recognize that the robot system 12 is executing the unapproved operation program OPn .
  • the processor 50 may supply the generated alarm signal AL to the communication device 42 through the communication network 18 .
  • the control device 24 or the teaching device 26 may display the acquired alarm signal AL on a display device provided in the control device 24 or the teaching device 26 .
  • the work line operator A1 can also be notified that the unauthorized operation program OPn is being executed.
  • the processor 50 may also transmit the generated alarm signal AL, for example in the form of e-mail, to the external device 16 through the communication network 18 .
  • the operator A3 of the external device 16 for example, the work line manager
  • the unapproved operation program OPn is being executed.
  • the processor 50 may repeatedly notify the operator A1, A2 or A3 by repeatedly outputting the generated alarm signal AL to the display device 58, the communication device 42, or the external device 16.
  • FIG. The timing of outputting the alarm signal AL to the display device 58, the communication device 42, or the external device 16 (output every hour, for example) may be arbitrarily determined by the operator A2. According to this configuration, it is possible to reliably notify the operator A1, A2 or A3 that the unauthorized operation program OPn is being executed.
  • the preventive maintenance device 14 may be configured so that the operator A2 can arbitrarily set whether to output the alarm signal AL to the communication device 42 or the external device 16. According to this configuration, the function of notifying the alarm signal AL can be arbitrarily turned ON/OFF according to the situation.
  • the processor 50 may generate the alarm signal AL as audio data. In this case, the processor 50 may output the alarm signal AL as a voice through a speaker (not shown) provided in the preventive maintenance device 14, the communication device 42, or the external device 16. FIG.
  • the processor 50 may stop the operation of the robot 20. Specifically, the processor 50 transmits an emergency stop command to stop the robot 20 to the control device 24 through the communication network 18 . In response to the emergency stop command, the control device 24 stops the servomotor 40 of the robot 20 , thereby stopping the operation of the robot 20 .
  • the processor 50 may cause the robot 20 to take an evacuation action. Specifically, the processor 50 transmits a retraction command for retracting the robot 20 to the control device 24 via the communication network 18 . In response to the evacuation command, the control device 24 causes the robot 20 to retreat to a predetermined evacuation position along a predetermined evacuation route.
  • the processor 50 determines that the change information CHI n is not approved (that is, determines NO in step S6), the processor 50 performs the accident prevention process AP (generation of the alarm signal AL, robot 20 emergency stop or evacuation actions, etc.). Therefore, in this embodiment, the processor 50 functions as a process execution unit 68 (FIG. 1) that executes the accident prevention process AP. After step S7, the processor 50 moves to step S8.
  • step S8 the processor 50 determines whether or not an operation end command has been received from the operator A2, the host controller, or the computer program. If the processor 50 has received the operation end command, it determines YES and terminates the flow shown in FIG. 3. If it has not received the operation end command, it determines NO and returns to step S1.
  • the processor 50 functions as the data acquisition unit 62, the input reception unit 64, the approval determination unit 66, and the process execution unit 68, and stores the change history data HIS of the change information CHI n . It manages the operation program OPn in cooperation with the storage unit 52 that performs the operation.
  • the processor 50 (the data acquisition unit 62, the input reception unit 64, the approval determination unit 66, the process execution unit 68 ) and the storage unit 52 are connected to the management device 70 (Fig. 1). That is, in this embodiment, the management device 70 is implemented in the preventive maintenance device 14 .
  • the data acquisition unit 62 acquires the change information CHIN and the execution information EI
  • the input reception unit 64 receives the input IPan that approves the change information CHIN
  • the approval determination unit 66 The process execution unit 68 determines whether or not the change information CHI n of the operating program OPn being executed has been approved. Run.
  • the process execution unit 68 generates an alarm signal AL as an example of the accident prevention process AP. According to this configuration, it is possible to reliably notify the operator A2 that the robot system 12 is executing an unauthorized operation program OPn .
  • the execution information EI may further include the version information VER n or the time t1 or t4 as information specifying the operating program OP n being executed.
  • the processor 50 converts the version information VER n or the times t1 and t4 included in the most recently acquired execution information EI to the change history data HIS (Table 1) stored in the storage unit 52 in step S6 described above.
  • the change history data HIS may be searched for the version information VER n or the change information CHI n corresponding to the times t1 and t4.
  • the processor 50 can determine whether or not the change information CHI n is approved by referring to the approval flag F1 of the change information CHI n retrieved in this way.
  • the processor 50 detects an abnormality of the robot system 12 based on the operation state data OD or the abnormality identification code CD supplied during execution of the operation program OPn . Such an anomaly can be caused by an inappropriate operating program OPn that has been executed.
  • the operators A1 and A2 discard the operation program OP n after the most recent change CH n , and the operation program OP n before the most recent change CH n stored in the change history data HIS. It may be desired to restore the operating program OP m after the changes CH m (m ⁇ n) made in . Therefore, in the present embodiment, the processor 50 further functions as a program restorer 72 to restore the past operating program OPm .
  • the processor 50 when the processor 50 detects an abnormality, the processor 50 generates a selection image SIM for selecting one of the plurality of pieces of change information CHIN stored in the change history data HIS, and displays it on the display device 58.
  • the selection image SIM includes images of the change history data HIS as shown in Table 1, and the operator A2 operates the input device 56 to select one of the change history data HIS displayed in the selection image SIM.
  • Change information CHI m (specifically, "version information", "time” or "stored data”) can be selected by clicking on the image.
  • Processor 50 functions as input receiving unit 64 and receives input IPs for selecting change information CHI m indicating change CH m from change history data HIS through input device 56 .
  • the operation program OPm before the latest change CH3 is the initial operation program OP0
  • the processor 50 Based on the change history data HIS, the operation program OP2 after the change CH2 is restored.
  • the processor 50 may change the "VER. 000", the change content data CHD 1 stored as the "stored data” of " VER.001 " (that is, the changed part of the change CH 1 ),
  • the operation program OP2 after the change CH2 can be restored from the change content data CHD2 (that is, the changed part of the change CH2 ) stored as the "storage data" of "VER.002".
  • the processor 50 stores "VER.002" in "stored data ”, the operation program OP2 can be restored .
  • the processor 50 restores the operation program OP m after the change CH m made before the latest change CH n based on the change history data HIS. Therefore, in this embodiment, the processor 50 functions as a program restorer 72 that restores the operating program OPm . The processor 50 then supplies the restored operating program OPm to the communication device 42 (eg, the control device 24) via the communication network 18.
  • the communication device 42 eg, the control device 24
  • the processor 50 When the operator A2 selects the initial operation program OP 0 : "VER.000”, the processor 50 restores it by reading the operation program OP 0 stored as "stored data" of "VER.000". Understand what you can do.
  • the processor 50 (the data acquisition unit 62, the input reception unit 64, the approval determination unit 66, the process execution unit 68, the program restoration unit 72) and the storage unit 52 are configured to operate the operation program OP n constitutes a management device 80 (FIG. 1) that manages.
  • the storage unit 52 stores a plurality of pieces of change information CHI n acquired by the data acquisition unit 62 each time the change CH n is repeatedly added as change history data HST (Table 1) (step S1 described above). ), the program restoring unit 72 restores the operation program OP m after the change CH m made before the latest change CH n based on the change history data HST.
  • the input reception unit 64 receives input IPs for selecting one piece of change information CHI2 from the change history data HST, and the program restoration unit 72 receives the input received by the input reception unit 64. According to the IPs, restore the operation program OP2 after the change CH2 . According to this configuration, the operator A2 can arbitrarily select the operation program OPm to be restored.
  • the processor 50 may display only the approved change information CHI m (or the approved initial operation program OP 0 ) in the selection image SIM described above. Specifically, when the processor 50 detects the abnormality, the change information CHI indicating the change CH m made before the latest change CH n in the change history data HIS stored in the storage unit 52. See the approval flag F1 for each of m .
  • the processor 50 then generates a selection image SIM displaying only the change information CHI m (and the initial operating program OP 0 ) to which the approval flag F1 is attached.
  • the processor 50 outputs an initial operating program OP 0 (version information: "VER.000") to which an approval flag F1 is assigned, change information CHI 1 (version information: "VER.001 ”), and change information CHI 2 (version information: “VER.002”).
  • the processor 50 functions as an input reception unit 64 and receives input IPs for selecting the operation program OP 0 , the change information CHI 1 , or the change information CHI 2 displayed in the selection image SIM. According to this configuration, the operator A2 can immediately recognize the previously approved change information CHI m (or the initial operation program OP 0 ), and the approved change information CHI m (or the initial operation program OP 0 ). OP 0 ) can be selected to be restored.
  • the processor 50 may display only the change information CHI m (or the initial operation program OP 0 ) for which no abnormality has been detected in the past in the selection image SIM described above. Specifically, when the processor 50 detects an abnormality during the execution of the operating program OP n , the change history data HIS stored in the storage unit 52 stores the change information CHI corresponding to the executed operating program OP n . An anomaly flag F2 indicating that an anomaly has been detected is added as incidental information to n . An example of such change history data HIS is shown in Table 2 below.
  • an abnormality flag F2 is assigned to change information CHI 3 indicating the third change CH 3 corresponding to "VER.003” (that is, the "abnormality flag” is " ⁇ ”), therefore, it indicates that an abnormality was detected during the execution of the operation program OP3 after the change CH3 .
  • the abnormality flag F2 is not given (that is, the "abnormality flag” is "x"), therefore, after the change CH 1 This indicates that no abnormality was detected during the execution of the operating program OP1.
  • the processor 50 refers to the presence or absence of the abnormality flag F2 ("O" or "X") for each of the change information CHI n (and the initial operation program OP0 ) stored in the change history data HIS. It is possible to determine whether or not an abnormality has been detected in the operation program OPn corresponding to the change information CHI n .
  • the processor 50 When the processor 50 detects an abnormality during the execution of the operating program OPn , the processor 50 adds an abnormality flag Give F2. For example, if the execution information EI includes version information VER n , the processor 50, when detecting an abnormality during execution of the operating program OP n , updates the version information VER n included in the execution information EI of the operating program OP n . An anomaly flag F2 may be added as additional information to the change information CHI n (or the initial operating program OP 0 ) corresponding to the version information VER n . Thus, the processor 50 can create change history data HIS as shown in Table 2.
  • the processor 50 displays only the change information CHI m (or the initial operation program OP 0 ) in which no abnormality is detected in the selection image SIM described above. Specifically, in the change history data HIS stored in the storage unit 52, the processor 50 sets the abnormality flag F2 of each of the change information CHI m indicating the change CH m made before the latest change CH n . See
  • the processor 50 generates a selection image SIM displaying only the change information CHI m (and the initial operation program OP 0 ) to which the abnormality flag F2 is not assigned.
  • the processor 50 detects an abnormality during execution of the operation program OP3 after the latest change CH3 , and the change history data HIS corresponds to " VER.003 ".
  • An abnormality flag F2 is attached to change information CHI3 indicating the change CH3 for the first time.
  • the processor 50 stores, in the change history data HIS, the initial operation program OP 0 (version information “VER.000”) prior to the latest change CH 3 , change information indicating the first change CH 1 Reference is made to the abnormality flag F2 of each of CHI 1 (version information "VER.001”) and change information CHI 2 (version information "VER.002”) indicating the second change CH 2 .
  • the processor 50 will generate the selection image SIM displaying only the change information CHI 1 and CHI 2 .
  • the processor 50 then functions as an input reception unit 64 and receives input IPs for selecting the change information CHI 1 or CHI 2 displayed in the selection image SIM.
  • the operator A2 can immediately recognize the change information CHI m (or the initial operation program OP 0 ) in which an abnormality has been detected in the past, and the change information CHI m in which an abnormality has not been detected ( Alternatively, the one to be restored can be selected from among the initial operating programs OP 0 ).
  • the processor 50 extracts the change information CHI 1 (version information: "VER.001") assuming that this condition is satisfied.
  • the processor 50 generates a selection image SIM displaying only the change information CHI1 thus extracted.
  • the operator A2 can selectively restore the operation program OPm that satisfies a plurality of conditions such as presence/absence of approval and presence/absence of abnormality detection.
  • the processor 50 may automatically restore the operation program OPm according to a predetermined condition CT without receiving the input IPs to the selection image SIM by the operator A2.
  • a condition CT change information CHI m that indicates a change CH m that was made before the latest change CH n , is given an approval flag F1, and is not given an anomaly flag F2.
  • a condition can be defined that the latest among the
  • Processor 50 extracts change information CHI m that satisfies condition CT from change history data HIS according to condition CT without generating selection image SIM when an abnormality is detected. Then, the processor 50 automatically restores the operation program OP m corresponding to the extracted change information CHI m based on the change history data HIS, and supplies it to the communication device 42 (for example, the control device 24) through the communication network 18.
  • the communication device 42 for example, the control device 24
  • the teaching device 26 may transmit an approval request to the preventive maintenance device 14 together with the above-described change information CHIn .
  • This approval request is for prompting the operator A2 of the preventive maintenance device 14 to approve the change information CHIn .
  • the processor 50 of the preventive maintenance device 14 Upon receiving the approval request, the processor 50 of the preventive maintenance device 14 displays the image (or sound) included in the approval request on the display device 58 (or outputs it through a speaker). According to this configuration, the operator A2 of the preventive maintenance device 14 can reliably recognize that the change Chn to the operation program OPn for which approval/disapproval should be confirmed has been made.
  • the above-mentioned change information CHI n includes, as supplementary information, identification information (ID number, etc.) of operator A1 who made change CHn , reason for change, identification number of teaching device 26 used for change CHn (product number etc.) may be further included.
  • the processor 50 of the preventive maintenance device 14 may store these identification information and reason for change in the change history data HIS.
  • the teaching device 26 gives the version information VER n to the operating program OP n has been described.
  • the present invention is not limited to this, and the processor 50 of the preventive maintenance device 14 may add the version information VER n to the operating program OP n .
  • the teaching device 26 transmits the created operation program OP 0 along with additional information including the program name NM and program creation time t3 via the communication network 18. supplied to the preventive maintenance device 14.
  • the processor 50 of the preventive maintenance device 14 gives initial version information VER 0 (for example, “VER.000”) to the acquired operation program OP 0 and stores it in the storage unit 52 as the change history data HIS.
  • the teaching device 26 updates the operation program OP n -1 by adding the change CH n to the operation program OP n
  • the teaching device 26 includes incidental information such as the program name NM and the change time t4 and change content data CHD n .
  • the change information CHIn is supplied to the preventive maintenance device 14 .
  • the processor 50 of the preventive maintenance device 14 acquires the change information CHI n
  • the processor 50 adds new version information VER n to the operation program OP n after the change CH n indicated by the change information CHI n , and changes the change history data.
  • Tables 1 and 2 described above are examples, and any number of lines of change information CHI n may be stored in the change history data HIS. ', 'stored data', and 'approval flag', any parameter (eg, reason for change described above) may be stored in addition to (or instead of).
  • the processor 50 refers to the version information VER n attached to the change information CHI n or the change time t4, and searches the change history data HIS for the most recently acquired change information CHI n .
  • step S6 has been described.
  • the change information CHI n is not limited to this, and instead of (or in addition to) the version information VER n or the change time t4, any information that can specify the chronological order in which the change CH n was added is attached. You may let For example, the processor 50 may assign numbers to the pieces of change information CHI n in the order in which they were obtained, and retrieve the most recent change information CHI n by means of the numbers.
  • the processor 50 gives the approval flag F1 to the incidental information of the change information CHI n as a process of approving the change information CHI n in step S4 has been described.
  • the process of approving change information CHI n is not limited to this, and processor 50 may perform any data processing that makes it possible to identify that change information CHI n has been approved.
  • the processor 50 adds a character or symbol indicating approval to the version information VER n of the change information CHI n (for example, changing "VER.002" to "VER.002.AP”). ), it may be possible to identify that the change information CHI n has been approved.
  • the processor 50 can determine in step S6 whether or not the change information CHIN has been approved by referring to the data processing performed in the approval process of step S4.
  • the change information CHI n or the execution information EI is not limited to the information exemplified in the above embodiments, and may include any other information.
  • the management devices 70 and 80 are implemented in the preventive maintenance device 14 has been described.
  • the management device 70 or 80 may be implemented in the communication device 42 .
  • the processor and memory of the control device 24 constitute the management device 70 or 80 .
  • the processor of the control device 24 manages the operating program OP by executing the flow shown in FIG.
  • the processor of the control device 24 generates the execution information EI when executing the operating program OP, and determines YES in step S5.
  • the processor and storage section of the teaching device 26 constitute the management device 70 or 80 .
  • the processor of the teaching device 26 manages the operation program OP by executing the flow shown in FIG.
  • the processor of the teaching device 26 adds the change CH n to the operation program OP n-1 in response to the input IPc n from the operator A1, it generates the change information CHI n and answers YES in step S1. judge.
  • the present disclosure has been described through the embodiments, but the above-described embodiments do not limit the invention according to the scope of claims.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

未承認の動作プログラムによって予期せぬ事故が発生してしまうのを確実に防止する技術が求められている。 管理装置70は、動作プログラムに加えられた変更を示す変更情報と、ロボット20を動作させるために該動作プログラムが実行されたことを示す実行情報とを取得するデータ取得部62と、データ取得部62が取得した変更情報を承認する入力を受け付ける入力受付部64と、データ取得部62が実行情報を取得したときに、実行されている動作プログラムの変更情報が承認されているか否かを判定する承認判定部66と、承認判定部66によって変更情報が承認されていないと判定された場合に、予め定められた事故防止プロセスを実行するプロセス実行部68とを備える。

Description

ロボットの動作プログラムを管理する管理装置、ネットワークシステム、及び方法
 本開示は、ロボットの動作プログラムを管理する管理装置、ネットワークシステム、及び方法に関する。
 ロボットの動作プログラムを修正したときに、修正箇所をロボット制御装置に供給するプログラム修正装置が知られている(例えば、特許文献1)。
特開2016-016488号公報
 従来、動作プログラムへの修正を管理者が承認しないまま、該動作プログラムを実行する場合があった。このような場合において、未承認の動作プログラムによって予期せぬ事故が発生してしまうのを確実に防止する技術が求められている。
 本開示の一態様において、ロボットの動作プログラムを管理する管理装置は、動作プログラムに加えられた変更を示す変更情報と、ロボットを動作させるために該動作プログラムが実行されたことを示す実行情報とを取得するデータ取得部と、データ取得部が取得した変更情報を承認する入力を受け付ける入力受付部と、データ取得部が実行情報を取得したときに、実行されている動作プログラムの変更情報が承認されているか否かを判定する承認判定部と、承認判定部によって変更情報が承認されていないと判定された場合に、予め定められた事故防止プロセスを実行するプロセス実行部とを備える。
 本開示の他の態様において、ロボットの動作プログラムを管理する方法は、動作プログラムに加えられた変更を示す変更情報と、ロボットを動作させるために該動作プログラムが実行されたことを示す実行情報とを取得し、データ取得部が取得した変更情報を承認する入力を受け付け、実行情報を取得したときに、実行されている動作プログラムの変更情報が承認されているか否かを判定し、変更情報が承認されていないと判定された場合に、予め定められた事故防止プロセスを実行する。
 本開示によれば、未承認の動作プログラムが実行されていることを迅速に発見し、該未承認の動作プログラムによって予期せぬ事故が発生してしまうのを、未然に防止できる。その結果、作業効率を向上させることができる。
一実施形態に係るネットワークシステムのブロック図である。 一実施形態に係るロボットシステムの図である。 ロボットの動作プログラムを管理する方法の一例を示すフローチャートである。 他の実施形態に係るネットワークシステムのブロック図である。
 以下、本開示の実施の形態を図面に基づいて詳細に説明する。なお、以下に説明する種々の実施形態において、同様の要素には同じ符号を付し、重複する説明を省略する。まず、図1を参照して、一実施形態に係るネットワークシステム10について説明する。ネットワークシステム10は、ロボットシステム12、予防保全装置14、外部機器16、及び通信ネットワーク18を備える。
 ロボットシステム12は、ワークに対して所定の作業を行う産業用ロボットシステムである。予防保全装置14は、ロボットシステム12の動作状態を表す動作状態データOD、又はロボットシステム12の異常を示す異常識別コードCDを該ロボットシステム12から入手し、該動作状態データOD又は該異常識別コードCDに基づいて、該ロボットシステム12で発生する異常を監視する。
 外部機器16は、例えば、デスクトップ型又は携帯型のPC、若しくはサーバ等のコンピュータである。通信ネットワーク18は、例えば、LAN(イントラネット等)、又はインターネットであって、ロボットシステム12、予防保全装置14、及び外部機器16を互いに通信可能に接続する。一例として、ロボットシステム12は、作業ラインが設けられた第1の建物内に設置され、予防保全装置14は、第1の建物とは別の第2の建物内に設置され、外部機器16は、第1の建物及び第2の建物とは別の第3の建物内に設置され得る。
 図2に、ロボットシステム12の一例を示す。ロボットシステム12は、ロボット20、センサ22(図1)、制御装置24、及び教示装置26を備える。図2に示す例では、ロボット20は、垂直多関節ロボットであって、ロボットベース28、旋回胴30、下腕部32、上腕部34、手首部36、及びエンドエフェクタ38を有する。
 ロボットベース28は、作業ラインの床の上に固定されている。旋回胴30は、鉛直軸周りに旋回可能となるようにロボットベース28に設けられている。下腕部32は、水平軸周りに回動可能となるように旋回胴30に設けられ、上腕部34は、該下腕部32の先端部に回動可能に設けられている。
 手首部36は、互いに直交する2つの軸の周りに回動可能となるように上腕部34の先端部に設けられている。エンドエフェクタ38は、手首部36の先端部(いわゆる、手首フランジ)に着脱可能に取り付けられている。エンドエフェクタ38は、例えば、ロボットハンド、切削工具、又は溶接トーチ等であって、ワークに対して所定の作業(ワークハンドリング、切削加工、又は溶接等)を行う。
 ロボット20の各コンポーネント(ロボットベース28、旋回胴30、下腕部32、上腕部34、手首部36)には、サーボモータ40(図1)が設けられている。サーボモータ40は、制御装置24からの指令に応じて、ロボット20の可動コンポーネント(旋回胴30、下腕部32、上腕部34、手首部36)を駆動する。
 センサ22は、ロボットシステム12の動作状態データODを検出する。動作状態データODは、例えば、サーボモータ40の回転位置、回転速度、回転加速度、電流値、及び負荷トルク、ロボット20に掛かる外力、並びに、制御装置24(又はサーボモータ40に設けられたエンコーダ)を動作させるための電池の電圧等を含む。センサ22は、検出した動作状態データODを制御装置24に供給する。
 制御装置24は、ロボット20の動作を制御する。具体的には、制御装置24は、プロセッサ(CPU、GPU等)、及び記憶部(ROM、RAM等)を有するコンピュータであって、予め作成された動作プログラムOPに従って、ロボット20の各サーボモータ40への指令を生成し、該指令に従ってロボット20の各可動コンポーネントを動作させることで、エンドエフェクタ38を、動作プログラムOPに規定された複数の教示点TP(k=1,2,3,・・・)に順に移動させる。こうして、制御装置24は、動作プログラムOPに従ってロボット20を動作させて、エンドエフェクタ38を教示点TPに移動させつつ、該エンドエフェクタ38によってワークに対し所定の作業を行う。
 動作プログラムOPには、ロボット20に所定の動作を実行させる命令文CMが、ロボット20の動作パラメータPRとともに規定されている。動作パラメータPRは、例えば、複数の教示点TPの位置データ(具体的には、ロボット座標系の座標)と、2つの教示点TP及びTPk+1の間の移動軌跡及び移動速度とを含む。
 制御装置24は、通信ネットワーク18を介して、予防保全装置14に通信可能に接続されている。制御装置24(具体的には、プロセッサ)は、ロボット20を動作させるために動作プログラムOPを実行したときに、実行情報EIを予防保全装置14に供給する。実行情報EIは、例えば、実行された動作プログラムOPのプログラム名NM、及び、該動作プログラムOPの開始時刻t1及び終了時刻t2等の情報を含む。プログラム名NMは、例えば任意の文字列からなり、ロボットシステム12のオペレータA1によって付与される。
 また、制御装置24は、動作プログラムOPに従ってロボット20を動作させているときにセンサ22が取得した動作状態データODに基づいて、ロボットシステム12の異常を検知する。例えば、制御装置24(具体的には、プロセッサ)は、センサ22から取得した動作状態データOD(回転位置、回転速度、回転加速度、電流値、負荷トルク、外力、又は電圧等)の値が予め定めた基準値を超えた場合に、ロボットシステム12に異常が発生したと判定する。
 制御装置24は、ロボットシステム12で異常が発生したことを検知した場合に、該異常を識別する異常識別コードCDを、通信ネットワーク18を通して予防保全装置14に送信する。異常識別コードCDは、例えば文字列からなり(いわゆる、エラーコード)、ロボットシステム12で生じ得る複数種類の異常(センサ22の動作不良、ロボット20と周辺環境物との干渉、電池の電圧低下等)毎に、個別に付与される。
 教示装置26は、ロボット20の動作を教示する。具体的には、教示装置26は、例えば、教示ペンダント又はタブレット型端末装置等の携帯型コンピュータであって、プロセッサ(CPU、GPU等)、記憶部(ROM、RAM)、表示部(LCD、有機ELディスプレイ等)、及び操作部(押しボタン、タッチセンサ等)を有する。
 教示装置26は、制御装置24に通信可能に接続され、操作部への入力に応じて、該制御装置24を介してロボット20をジョグ動作させることができる。オペレータA1は、教示装置26の操作部を操作してロボット20をジョグ動作させることで該ロボット20に所定の動作を教示し、これにより、該所定の動作をロボット20に実行させるための動作プログラムOPを作成する。こうして、初期の動作プログラムOPが作成される。
 教示装置26は、作成した動作プログラムOPに、初期のバージョン情報VERを付与する。バージョン情報VERは、例えば「VER.000」という文字列からなる。教示装置26は、作成した動作プログラムOPを、プログラム名NM、プログラム作成時刻t3、及びバージョン情報VER等の付帯情報とともに、制御装置24へ供給し、通信ネットワーク18を介して予防保全装置14に供給する。
 一方、オペレータA1は、教示装置26を操作して、作成された動作プログラムOPに、繰り返し変更CHを加えることができる。動作プログラムOPへ加えられる変更CHとしては、例えば、命令文CMの文字若しくは行の変更、動作パラメータPR(位置データ、移動速度等)の数値の変更、又は、新たな命令文CM若しくは動作パラメータPRの追加等があり得る。
 教示装置26を用いて、第1回目の変更CH、第2回目の変更CH、・・・第n回目の変更CHが加えられる毎に、動作プログラムOPは、初期の動作プログラムOPから、第1回目の変更CH後の動作プログラムOP、第2回目の変更CH後の動作プログラムOP、・・・第n回目の変更CH後の動作プログラムOPに更新される。
 より具体的には、教示装置26(プロセッサ)は、オペレータから第n回目の変更CHの入力IPcを受け付けると、該入力IPcに応じて、現時点で教示装置26の記憶部に記憶されている動作プログラムOPn-1に変更CHを加えて、動作プログラムOPに更新する。このとき、教示装置26は、変更後の動作プログラムOPに、新たなバージョン情報VER(例えば、n=3であれば、文字列:「VER.003」)を自動で付与し、教示装置26の記憶部に格納する。
 次いで、教示装置26は、加えられた変更CHを示す変更情報CHIを、予防保全装置14に供給する。変更情報CHIは、例えば、変更された動作プログラムOPのプログラム名NM、変更時刻t4、及びバージョン情報VER等の付帯情報と、加えられた変更CHの内容を示す変更内容データCHDとを含む。
 一例として、変更内容データCHDは、変更後の動作プログラムOPのうち、変更(又は追加)された箇所(つまり、変更又は追加された命令文CM又は動作パラメータPR)のみを含んでもよい。他の例として、変更内容データCHDは、変更後の動作プログラムOP自体(つまり、全ての命令文CM及び動作パラメータPR)を含んでもよい。
 こうして、教示装置26は、変更CHを動作プログラムOPn-1に加えることで動作プログラムOPへ更新し、これによりロボット20の動作を教示する。教示装置26は、変更CHが繰り返し加えられる毎に、変更後の動作プログラムOPとともに、変更情報CHIを制御装置24に送信する。制御装置24は、受信した動作プログラムOPを記憶部に格納するとともに、変更情報CHIを、通信ネットワーク18を介して予防保全装置14に送信する。
 上述のように、本実施形態においては、制御装置24及び教示装置26は、ロボット20及び予防保全装置14に直接的又は間接的に接続され、互いに通信しつつ、実行情報EI及び変更情報CHIを予防保全装置14に供給している。したがって、制御装置24及び教示装置26は、実行情報EI及び変更情報CHIを予防保全装置14に供給する通信機器42(図1)を構成する。
 予防保全装置14は、プロセッサ50、記憶部52、I/Oインターフェース54、入力装置56、及び表示装置58等を有するコンピュータ(PC又はサーバ等)である。プロセッサ50は、CPU又はGPU等を有し、バス60を介して、記憶部52、I/Oインターフェース54、入力装置56、及び表示装置58に通信可能に接続されている。
 記憶部52は、RAM又はROM等を有し、プロセッサ50が実行する演算処理で利用される各種のデータ、及び該演算処理の途中で生成される各種データを、一時的又は恒久的に記憶する。I/Oインターフェース54は、例えば、イーサネット(登録商標)ポート、USBポート、光ファイバコネクタ、又はHDMI(登録商標)端子を有し、プロセッサ50からの指令の下、他の機器との間でデータを有線又は無線で通信する。I/Oインターフェース54は、通信ネットワーク18に接続されている。
 入力装置56は、キーボード、マウス、又はタッチパネル等を有し、オペレータからデータ入力を受け付ける。表示装置58は、液晶ディスプレイ又は有機ELディスプレイ等を有し、各種データを表示する。入力装置56及び表示装置58は、予防保全装置14の筐体とは別体として設けられてもよいし、又は、予防保全装置14の筐体に一体に組み込まれてもよい。
 プロセッサ50は、通信ネットワーク18を通して、通信機器42(具体的には、制御装置24)から上述の動作状態データOD又は異常識別コードCDを入手し、該動作状態データOD又は該異常識別コードCDに基づいて、ロボットシステム12の異常を検知する。
 一例として、プロセッサ50は、制御装置24から異常識別コードCDを受け付けたとき、該異常識別コードCDによって識別される異常がロボットシステム12で発生していることを検知できる。他の例として、プロセッサ50は、動作状態データODを取得したとき、上述の制御装置24と同様の異常検知方法により、該動作状態データODに基づいて異常を検知できる。
 さらに他の例として、プロセッサ50は、取得した動作状態データODを、機械学習によって構築された学習モデルLMに適用することで、ロボットシステム12の異常を検知することもできる。この学習モデルLMは、動作状態データOD(例えば、外力)と、ロボットシステム12で生じる異常(例えば、ロボット20と周辺環境物との干渉)との相関性を示すものであって、例えば、動作状態データODと、異常の有無を表す判定データとの学習データセットを、機械学習装置に反復して与えることによって(例えば、教師あり学習)、構築することができる。
 プロセッサ50は、ロボットシステム12から連続的に入手した動作状態データODを、学習モデルLMに順次入力する。学習モデルLMは、所定の期間に入力された動作状態データODの変化と高い相関性を有する異常がある場合に、該異常を特定して出力する。こうして、プロセッサ50は、学習モデルLMを用いて、ロボットシステム12で生じる異常を検知できる。
 この学習モデルLMを用いることで、プロセッサ50は、異常の発生によってロボットシステム12のコンポーネントが故障してしまうのを予知できるようになる。なお、プロセッサ50は、上述の機械学習装置の機能を実行するように構成されてもよい。このように、プロセッサ50は、動作状態データOD又は異常識別コードCDに基づいて、ロボットシステム12の異常を検知する。
 一方、プロセッサ50は、通信ネットワーク18を通して、教示装置26が作成した初期の動作プログラムOPを入手したとき、該動作プログラムOPを承認するための承認画像AIMを生成し、表示装置58に表示させる。例えば、承認画像AIMは、承認ボタン画像を含む。
 予防保全装置14のオペレータA2(例えば、作業ラインの設計者)は、入力装置56を操作して、承認画像AIM内の承認ボタン画像を画像上でクリックすることによって、動作プログラムOPを承認する入力IPaをプロセッサ50に与えることができるようになっている。プロセッサ50は、入力IPaに応じて、動作プログラムOPの付帯情報として、承認済みを表す承認フラグF1を付与する。なお、承認フラグF1の詳細については、後述する。
 プロセッサ50は、動作プログラムOPを管理する。以下、図3を参照して、動作プログラムOPを管理する方法について説明する。図3に示すフローは、プロセッサ50が、オペレータA2、上位コントローラ、又はコンピュータプログラムから動作開始指令を受け付けたときに、開始される。
 ステップS1において、プロセッサ50は、変更情報CHIを取得したか否かを判定する。具体的には、上述したように変更CHが動作プログラムOPn-1に加えられると、プロセッサ50は、通信ネットワーク18を通して、通信機器42から変更情報CHIを取得する。プロセッサ50は、変更CHが加えられる毎に取得した複数の変更情報CHIを、変更履歴データHISとして記憶部52に順次格納する。なお、変更履歴データHISの詳細については後述する。
 このように、本実施形態においては、プロセッサ50は、変更情報CHIを取得するデータ取得部62(図1)として機能する。プロセッサ50は、変更情報CHIを取得した場合はYESと判定し、ステップS2へ進む一方、変更情報CHIを取得していない場合はNOと判定し、ステップS5へ進む。
 ステップS2において、プロセッサ50は、直近に取得した変更情報CHIを承認するための承認画像AIMを生成し、表示装置58に表示させる。例えば、承認画像AIMは、上述の承認画像AIMと同様に承認ボタン画像を含む。オペレータA2は、入力装置56を操作して、承認画像AIM内の承認ボタン画像を画像上でクリックすることによって、変更情報CHIを承認する入力IPaをプロセッサ50に与えることができるようになっている。
 ステップS3において、プロセッサ50は、変更情報CHIを承認する入力IPaを受け付けたか否かを判定する。プロセッサ50は、入力装置56を通して入力IPaを受け付けた場合はYESと判定し、ステップS4へ進む一方、入力IPaを受け付けていない場合はNOと判定し、ステップS5へ進む。このように、本実施形態においては、プロセッサ50は、変更情報CHIを承認する入力IPaを受け付ける入力受付部64(図1)として機能する。
 ステップS4において、プロセッサ50は、直近に取得した変更情報CHIを承認するプロセスを実行する。例えば、プロセッサ50は、変更履歴データHISとして記憶部52に格納された直近の変更情報CHIの付帯情報として、承認済みを表す承認フラグF1を付与する。記憶部52に格納された変更履歴データHISの一例を以下の表1に示す。
Figure JPOXMLDOC01-appb-T000001
 表1は、変更履歴データHISのデータ構造を模式的に示している。表1に示す例は、プログラム名NMが「PRG-XYZ001」である動作プログラムOPの変更履歴データHISを示しており、「バージョン情報」、「時刻」、「格納データ」、及び「承認フラグ」が、互いに関連付けられて記憶されている。
 例えば、「バージョン情報」が「VER.000」の行は、初期の動作プログラムOPに対応し、「時刻」として、初期の動作プログラムOPの作成時刻t3が記録され、「格納データ」として、動作プログラムOP自体(つまり、全ての命令文CM及び動作パラメータPR)が格納されている。
 一方、「バージョン情報」が「VER.001」の行は、第1回目の変更CHを示す変更情報CHIに対応し、「時刻」として、変更CHが加えられた変更時刻t4が記録され、「格納データ」として、変更内容データCHD(変更箇所、又は変更後の動作プログラムOP)が格納されている。
 また、「承認フラグ」の列に示されている「〇」は、承認済みを表す承認フラグF1が付与されていることを示す一方、「承認フラグ」の列中の「×」は、承認フラグF1が付与されていない(又は、未承認を表すフラグが付与されている)ことを示している。例えば、表1の例では、「VER.001」に対応する、第1回目の変更CHを示す変更情報CHIに対して承認フラグF1が付与されており(「承認フラグ」=「〇」)、故に、変更情報CHIがオペレータA2によって承認されたことを表している。
 一方、「VER.003」に対応する、第3回目の変更CHを示す変更情報CHIに対しては、承認フラグF1が付与されておらず(「承認フラグ」=「×」)、故に、変更情報CHIがオペレータA2によって承認されていないことを表している。プロセッサ50は、変更履歴データHISに格納された各々の変更情報CHI(及び、初期の動作プログラムOP)について承認フラグF1の有無(「〇」又は「×」)を参照することによって、各々の変更情報CHI(及び、初期の動作プログラムOP)が承認されているか否かを判定できる。
 ステップS5において、プロセッサ50は、実行情報EIを取得したか否かを判定する。具体的には、上述したように、制御装置24が動作プログラムOPを実行したとき、プロセッサ50は、データ取得部62として機能して、通信ネットワーク18を通して実行情報EIを制御装置24から取得する。プロセッサ50は、実行情報EIを取得した場合はYESと判定し、ステップS6へ進む一方、実行情報EIを取得していない場合はNOと判定し、ステップS8へ進む。
 ステップS6において、プロセッサ50は、実行されている動作プログラムOPの変更情報CHIが承認されているか否かを判定する。具体的には、プロセッサ50は、直近に取得した実行情報EIに含まれる、動作プログラムOPのプログラム名NMを参照し、該プログラム名NMを有する動作プログラムOPの変更履歴データHISを、記憶部52から取得する。
 そして、プロセッサ50は、変更履歴データHISから、直近の変更情報CHIを検索する。例えば、プロセッサ50は、変更履歴データHISに格納されたバージョン情報VER又は変更時刻t4から、直近の変更情報CHIを検索できる。例えば、表1の例の場合、プロセッサ50は、「バージョン情報」が「VER.003」、「時刻」が「2021/10/5」である、第3回目の変更CHを示す変更情報CHIが、直近に取得されたものとして検索できる。
 そして、プロセッサ50は、検索した直近の変更情報CHIの「承認フラグ」を参照し、該変更情報CHIが承認されているか否かを判定する。表1の例の場合、変更情報CHIの「承認フラグ」が「×」であるので、プロセッサ50は、このステップS6でNOと判定することになる。一方、変更情報CHIの「承認フラグ」が「〇」である場合は、プロセッサ50は、YESと判定することになる。プロセッサ50は、このステップS6でNOと判定した場合はステップS7へ進む一方、YESと判定した場合はステップS8へ進む。
 このように、プロセッサ50は、実行情報EIによって動作プログラムOPが実行されていることを認識し、実行されている該動作プログラムOPの変更情報CHIが承認されているか否かを判定している。したがって、本実施形態においては、プロセッサ50は、実行されている動作プログラムOPの変更情報CHIが承認されているか否かを判定する承認判定部66(図1)として機能する。
 ステップS7において、プロセッサ50は、事故防止プロセスAPを実行する。事故防止プロセスAPの一例として、プロセッサ50は、アラーム信号ALを生成する。例えば、プロセッサ50は、「未承認の動作プログラムが作業ラインのロボットシステムで実行されています。至急承認の可否を確認して下さい」というテキストを表示する画像のアラーム信号ALを生成する。そして、プロセッサ50は、生成したアラーム信号ALを、表示装置58に表示させる。これにより、オペレータA2は、未承認の動作プログラムOPがロボットシステム12で実行されていることを、直感的に認識することができる。
 なお、プロセッサ50は、生成したアラーム信号ALを、通信ネットワーク18を通して通信機器42に供給してもよい。この場合において、制御装置24又は教示装置26は、取得したアラーム信号ALを、該制御装置24又は該教示装置26に設けられた表示装置に表示させてもよい。この場合、作業ラインのオペレータA1にも、未承認の動作プログラムOPが実行されていることを通知できる。
 また、プロセッサ50は、生成したアラーム信号ALを、例えばEメールの形式で、通信ネットワーク18を通して外部機器16に送信してもよい。この場合、外部機器16のオペレータA3(例えば、作業ラインの管理者)にも、未承認の動作プログラムOPが実行されていることを通知できる。
 また、プロセッサ50は、生成したアラーム信号ALを、表示装置58、通信機器42、又は外部機器16へ繰り返し出力することで、オペレータA1、A2又はA3に繰り返し通知してもよい。表示装置58、通信機器42、又は外部機器16へアラーム信号ALを出力するタイミング(例えば、1時間毎に出力)は、オペレータA2によって任意に定められてもよい。この構成によれば、未承認の動作プログラムOPが実行されていることを、オペレータA1、A2又はA3に確実に通知することができる。
 また、予防保全装置14は、通信機器42又は外部機器16へアラーム信号ALを出力するか否かを、オペレータA2が任意に設定できるように構成されてもよい。この構成によれば、アラーム信号ALを通知する機能を、状況に応じて任意にON/OFFすることができる。なお、プロセッサ50は、アラーム信号ALを、音声データとして生成してもよい。この場合、プロセッサ50は、予防保全装置14、通信機器42、又は外部機器16に設けられたスピーカ(図示せず)を通して、アラーム信号ALを音声として出力してもよい。
 事故防止プロセスAPの他の例として、プロセッサ50は、ロボット20の動作を停止させてもよい。具体的には、プロセッサ50は、ロボット20を停止させる緊急停止指令を、通信ネットワーク18を通して制御装置24に送信する。該緊急停止指令に応じて、制御装置24は、ロボット20のサーボモータ40を停止させ、以って、ロボット20の動作を停止させる。
 事故防止プロセスAPのさらに他の例として、プロセッサ50は、ロボット20に退避行動を実行させてもよい。具体的には、プロセッサ50は、ロボット20を退避させる退避指令を、通信ネットワーク18を通して制御装置24に送信する。該退避指令に応じて、制御装置24は、ロボット20を、予め定められた退避経路に沿って、予め定められた退避位置まで退避させる。
 上述のように、プロセッサ50は、変更情報CHIが承認されていないと判定(つまり、ステップS6でNOと判定)された場合に、ステップS7において事故防止プロセスAP(アラーム信号ALの生成、ロボット20の緊急停止又は退避行動等)を実行する。したがって、本実施形態においては、プロセッサ50は、事故防止プロセスAPを実行するプロセス実行部68(図1)として機能する。ステップS7の後、プロセッサ50は、ステップS8に進む。
 ステップS8において、プロセッサ50は、オペレータA2、上位コントローラ、又はコンピュータプログラムから、動作終了指令を受け付けたか否かを判定する。プロセッサ50は、動作終了指令を受け付けた場合はYESと判定し、図3に示すフローを終了する一方、動作終了指令を受け付けていない場合はNOと判定し、ステップS1へ戻る。
 以上のように、本実施形態においては、プロセッサ50は、データ取得部62、入力受付部64、承認判定部66、及びプロセス実行部68として機能し、変更情報CHIの変更履歴データHISを記憶する記憶部52と協働して、動作プログラムOPを管理する。
 したがって、本実施形態においては、プロセッサ50(データ取得部62、入力受付部64、承認判定部66、プロセス実行部68)、及び記憶部52は、動作プログラムOPを管理する管理装置70(図1)を構成する。すなわち、本実施形態では、管理装置70は、予防保全装置14に実装されている。
 管理装置70においては、データ取得部62は、変更情報CHIと実行情報EIとを取得し、入力受付部64は、変更情報CHIを承認する入力IPaを受け付け、承認判定部66は、実行されている動作プログラムOPの変更情報CHIが承認されているか否かを判定し、プロセス実行部68は、変更情報CHIが承認されていないと判定された場合に事故防止プロセスAPを実行する。
 この構成によれば、未承認の動作プログラムOPが実行されていることを迅速に発見し、該未承認の動作プログラムOPによって予期せぬ事故(例えば、ロボット20の動作不良又はロボット20と周辺環境物との干渉等によって作業ラインが停止してしまう事故)が発生してしまうのを、未然に防止できる。その結果、作業効率を向上させることができる。
 また、管理装置70においては、プロセス実行部68は、事故防止プロセスAPの一例として、アラーム信号ALを生成する。この構成によれば、未承認の動作プログラムOPがロボットシステム12で実行されていることをオペレータA2に確実に通知することができる。
 なお、実行情報EIは、実行されている動作プログラムOPを特定する情報として、上述のバージョン情報VER又は時刻t1若しくはt4をさらに含んでもよい。この場合において、プロセッサ50は、上述のステップS6において、直近に取得した実行情報EIに含まれるバージョン情報VER又は時刻t1、t4を、記憶部52に記憶された変更履歴データHIS(表1)と照らし合わせて、該バージョン情報VER又は時刻t1、t4に対応する変更情報CHIを、該変更履歴データHISから検索してもよい。プロセッサ50は、このように検索した変更情報CHIの承認フラグF1を参照することで、該変更情報CHIが承認されているか否かを判定できる。
 次に、図4を参照して、予防保全装置14の他の機能について説明する。上述したように、プロセッサ50は、動作プログラムOPの実行中に供給された動作状態データOD又は異常識別コードCDに基づいて、ロボットシステム12の異常を検知する。このような異常は、実行された動作プログラムOPが不適切であることに起因して生じ得る。
 したがって、異常が検知されたとき、オペレータA1及びA2は、直近の変更CH後の動作プログラムOPを破棄し、上述の変更履歴データHISに格納されている、直近の変更CHよりも前に行われた変更CH(m<n)後の動作プログラムOPを復元したい場合がある。そこで、本実施形態においては、プロセッサ50は、プログラム復元部72としてさらに機能し、過去の動作プログラムOPを復元する。
 一例として、プロセッサ50は、異常を検知したときに、変更履歴データHISに格納された複数の変更情報CHIのうちの1つを選択するための選択画像SIMを生成し、表示装置58に表示させる。選択画像SIMは、表1に示すような変更履歴データHISの画像を含み、オペレータA2は、入力装置56を操作して、選択画像SIMに表示されている変更履歴データHISの中から、1つの変更情報CHI(具体的には、「バージョン情報」、「時刻」又は「格納データ」)を画像上でクリックすることで選択できるようになっている。
 プロセッサ50は、入力受付部64として機能し、入力装置56を通して、変更履歴データHISの中から、変更CHを示す変更情報CHIを選択する入力IPsを受け付ける。例えば、表1の例の場合、直近の変更CHよりも前の動作プログラムOPとして、初期の動作プログラムOP、第1回目の変更CH後の動作プログラムOP、及び、第2回目の変更CH後の動作プログラムOPがある。
 この場合において、オペレータA2が、変更履歴データHISの中から、第2回目の変更CHを示す変更情報CHI(つまり、バージョン情報「VER.002」)を選択したとすると、プロセッサ50は、変更履歴データHISに基づいて、変更CH後の動作プログラムOPを復元する。
 一例として、変更情報CHIに含まれる変更内容データCHDが、変更箇所(つまり、変更又は追加された命令文CM又は動作パラメータPR)のみを有する場合、プロセッサ50は、表1の「VER.000」の「格納データ」として格納されている動作プログラムOPと、「VER.001」の「格納データ」として格納されている変更内容データCHD(つまり、変更CHの変更箇所)と、「VER.002」の「格納データ」として格納されている変更内容データCHD(つまり、変更CHの変更箇所)とから、変更CH後の動作プログラムOPを復元できる。
 他の例として、変更内容データCHDが、変更後の動作プログラムOP自体(つまり、全ての命令文CM及び動作パラメータPR)を有する場合、プロセッサ50は、「VER.002」の「格納データ」として格納されている動作プログラムOPを読み出すことで、該動作プログラムOPを復元できる。
 このようにして、プロセッサ50は、変更履歴データHISに基づいて、直近の変更CHよりも前に行われた変更CH後の動作プログラムOPを復元する。したがって、本実施形態においては、プロセッサ50は、動作プログラムOPを復元するプログラム復元部72として機能する。そして、プロセッサ50は、復元した動作プログラムOPを、通信ネットワーク18を介して通信機器42(例えば、制御装置24)に供給する。
 なお、オペレータA2が初期の動作プログラムOP:「VER.000」を選択した場合、プロセッサ50は、「VER.000」の「格納データ」として格納されている動作プログラムOPを読み出すことで復元できることを理解されよう。以上のように、本実施形態においては、プロセッサ50(データ取得部62、入力受付部64、承認判定部66、プロセス実行部68、プログラム復元部72)、及び記憶部52は、動作プログラムOPを管理する管理装置80(図1)を構成する。
 管理装置80においては、記憶部52は、変更CHが繰り返し加えられる毎にデータ取得部62が取得した複数の変更情報CHIを変更履歴データHST(表1)として記憶し(上述のステップS1)、プログラム復元部72は、変更履歴データHSTに基づいて、直近の変更CHよりも前に行われた変更CH後の動作プログラムOPを復元する。
 この構成によれば、直近の変更CH後の動作プログラムOPを実行することでロボットシステム12に異常が発生した場合に、過去の動作プログラムOPを復元し、例えば、復元した動作プログラムOPに従ってロボット20を動作させることで異常を解消できるか否かを試行することができる。その結果、作業ラインでの作業を継続できる可能性を高めることができるので、作業効率の向上に繋がり得る。
 また、管理装置80においては、入力受付部64は、変更履歴データHSTの中から、1つの変更情報CHIを選択する入力IPsを受け付け、プログラム復元部72は、入力受付部64が受け付けた入力IPsに応じて、変更CH後の動作プログラムOPを復元する。この構成によれば、オペレータA2は、復元すべき動作プログラムOPを任意に選択することができる。
 なお、プロセッサ50は、上述の選択画像SIMにおいて、承認済みの変更情報CHI(又は、承認済みの初期の動作プログラムOP)のみを表示してもよい。具体的には、プロセッサ50は、異常を検知したときに、記憶部52に格納されている変更履歴データHISにおいて、直近の変更CHよりも前に行われた変更CHを示す変更情報CHIの各々の承認フラグF1を参照する。
 そして、プロセッサ50は、承認フラグF1が付与されている変更情報CHI(及び、初期の動作プログラムOP)のみを表示した選択画像SIMを生成する。例えば、表1の例の場合、プロセッサ50は、承認フラグF1が付与されている初期の動作プログラムOP(バージョン情報:「VER.000」)、変更情報CHI(バージョン情報:「VER.001」)、及び変更情報CHI(バージョン情報:「VER.002」)のみを表示した選択画像SIMを生成することになる。
 そして、プロセッサ50は、入力受付部64として機能して、選択画像SIMに表示された動作プログラムOP、変更情報CHI、又は変更情報CHIを選択する入力IPsを受け付ける。この構成によれば、オペレータA2は、過去に承認された変更情報CHI(又は初期の動作プログラムOP)を即座に認識することができ、承認済みの変更情報CHI(又は初期の動作プログラムOP)の中から、復元すべきものを選択できる。
 なお、プロセッサ50は、上述の選択画像SIMにおいて、過去に異常が検知されていない変更情報CHI(又は初期の動作プログラムOP)のみを表示してもよい。具体的には、プロセッサ50は、動作プログラムOPの実行中に異常を検知したときに、記憶部52に格納された変更履歴データHISにおいて、実行された動作プログラムOPに対応する変更情報CHIの付帯情報として、異常が検知されたことを示す異常フラグF2を付与する。このような変更履歴データHISの一例を以下の表2に示す。
Figure JPOXMLDOC01-appb-T000002
 表2に示す例では、「異常フラグ」の列に示されている「〇」は、異常が検知されたことを表す異常フラグF2が付与されていることを示す一方、「異常フラグ」の列中の「×」は、異常フラグF2が付与されていない(又は、異常が未検知であることを表すフラグが付与されている)ことを示している。
 例えば、表2の例では、「VER.003」に対応する、第3回目の変更CHを示す変更情報CHIに対して異常フラグF2が付与されており(つまり、「異常フラグ」が「〇」)、故に、該変更CH後の動作プログラムOPの実行中に異常が検知されたことを表している。
 一方、第1回目の変更CHを示す変更情報CHIに対しては、異常フラグF2が付与されておらず(つまり、「異常フラグ」が「×」)、故に、該変更CH後の動作プログラムOPの実行中には、異常が検知されなかったことを表している。プロセッサ50は、変更履歴データHISに格納された各々の変更情報CHI(及び、初期の動作プログラムOP)について異常フラグF2の有無(「〇」又は「×」)を参照することによって、各々の変更情報CHIに対応する動作プログラムOPについて異常が検知されたか否かを判定できる。
 プロセッサ50は、動作プログラムOPの実行中に異常を検知したときに、実行されている該動作プログラムOPの変更情報CHI(又は、初期の動作プログラムOP)の付帯情報として、異常フラグF2を付与する。例えば、実行情報EIにバージョン情報VERが含まれる場合、プロセッサ50は、動作プログラムOPの実行中に異常を検知したとき、該動作プログラムOPの実行情報EIに含まれるバージョン情報VERを参照し、該バージョン情報VERに対応する変更情報CHI(又は、初期の動作プログラムOP)の付帯情報として、異常フラグF2を付与してもよい。こうして、プロセッサ50は、表2に示すような変更履歴データHISを作成できる。
 そして、プロセッサ50は、上述の選択画像SIMにおいて、異常が検知されていない変更情報CHI(又は初期の動作プログラムOP)のみを表示する。具体的には、プロセッサ50は、記憶部52に格納されている変更履歴データHISにおいて、直近の変更CHよりも前に行われた変更CHを示す変更情報CHIの各々の異常フラグF2を参照する。
 そして、プロセッサ50は、異常フラグF2が付与されていない変更情報CHI(及び初期の動作プログラムOP)のみを表示した選択画像SIMを生成する。例えば、表2の例の場合、プロセッサ50は、直近の変更CH後の動作プログラムOPの実行中に異常を検知し、変更履歴データHISにおいて、「VER.003」に対応する、第3回目の変更CHを示す変更情報CHIに対して異常フラグF2を付与している。
 この場合、プロセッサ50は、変更履歴データHISにおいて、直近の変更CHよりも前の、初期の動作プログラムOP(バージョン情報「VER.000」)、第1回目の変更CHを示す変更情報CHI(バージョン情報「VER.001」)、及び、第2回目の変更CHを示す変更情報CHI(バージョン情報「VER.002」)の各々の異常フラグF2を参照する。
 表2の例では、変更情報CHI及びCHIに異常フラグF2が付与されていないので、プロセッサ50は、変更情報CHI及びCHIのみを表示した選択画像SIMを生成することになる。そして、プロセッサ50は、入力受付部64として機能して、選択画像SIMに表示された変更情報CHI又はCHIを選択する入力IPsを受け付ける。
 この構成によれば、オペレータA2は、過去に異常が検知された変更情報CHI(又は初期の動作プログラムOP)を即座に認識することができ、異常が検知されていない変更情報CHI(又は初期の動作プログラムOP)の中から、復元すべきものを選択できる。
 なお、プロセッサ50は、承認フラグF1と異常フラグF2とを組み合わせて、選択画像SIMに表示する変更情報CHI(又は初期の動作プログラムOP)を変更履歴データHISから抽出してもよい。例えば、プロセッサ50は、変更履歴データHISの中から、承認フラグF1が付与されており、且つ、異常フラグF2が付与されていない条件(つまり、「承認フラグ」=「〇」 AND 「異常フラグ」=「×」)を満たす変更情報CHI(又は初期の動作プログラムOP)を抽出する。
 例えば、表2の例の場合、プロセッサ50は、この条件を満たすものとして、変更情報CHI(バージョン情報:「VER.001」)を抽出することになる。プロセッサ50は、このように抽出した変更情報CHIのみを表示した選択画像SIMを生成する。この構成によれば、オペレータA2は、承認の有無と異常検知の有無という複数の条件を満たす動作プログラムOPを、選択的に復元することが可能となる。
 なお、プロセッサ50は、オペレータA2による選択画像SIMへの入力IPsを受けることなく、予め定められた条件CTに従って、動作プログラムOPを自動で復元してもよい。例えば、条件CTとして、直近の変更CHよりも前に行われた変更CHを示すものであり、承認フラグF1が付与されており、且つ、異常フラグF2が付与されていない変更情報CHIの中で最新のものという条件が定められ得る。
 プロセッサ50は、異常を検知したときに、選択画像SIMを生成することなく、条件CTに従って、変更履歴データHISの中から条件CTを満たす変更情報CHIを抽出する。そして、プロセッサ50は、変更履歴データHISに基づいて、抽出した変更情報CHIに対応する動作プログラムOPを自動で復元し、通信ネットワーク18を通して通信機器42(例えば、制御装置24)に供給してもよい。
 なお、上述の実施形態において、教示装置26は、上述の変更情報CHIとともに、承認要求を予防保全装置14に発信してもよい。この承認要求は、予防保全装置14のオペレータA2に、変更情報CHIに対する承認を促すためのものであって、例えば、「動作プログラムに変更を加えました。この変更を承認してください」というテキストを表示する画像(又は音声)のデータを含む。
 予防保全装置14のプロセッサ50は、承認要求を受信すると、該承認要求に含まれる画像(又は音声)を、表示装置58に表示(又は、スピーカを通して出力)する。この構成によれば、予防保全装置14のオペレータA2は、承認の可否を確認すべき動作プログラムOPへの変更Chが行われたことを、確実に認識できる。
 なお、上述の変更情報CHIは、付帯情報として、変更CHを行ったオペレータA1の識別情報(ID番号等)、変更理由、変更CHに使用された教示装置26の識別番号(製品番号等)をさらに含んでもよい。この場合において、予防保全装置14のプロセッサ50は、上述の変更履歴データHISに、これら識別情報及び変更理由を格納してもよい。
 また、上述の実施形態においては、教示装置26が、動作プログラムOPにバージョン情報VERを付与する場合について述べた。しかしながら、これに限らず、予防保全装置14のプロセッサ50が、動作プログラムOPにバージョン情報VERを付与してもよい。
 具体的には、教示装置26は、初期の動作プログラムOPを作成したとき、作成した動作プログラムOPを、プログラム名NM、及びプログラム作成時刻t3等を含む付帯情報とともに、通信ネットワーク18を介して予防保全装置14に供給する。予防保全装置14のプロセッサ50は、取得した動作プログラムOPに、初期のバージョン情報VER(例えば「VER.000」)を付与し、上述の変更履歴データHISとして記憶部52に格納する。
 また、教示装置26は、動作プログラムOPn-1に変更CHを加えて動作プログラムOPに更新したときに、プログラム名NM及び変更時刻t4等の付帯情報と変更内容データCHDとを含む変更情報CHIを、予防保全装置14に供給する。予防保全装置14のプロセッサ50は、変更情報CHIを取得したときに、該変更情報CHIによって示される変更CH後の動作プログラムOPに新たなバージョン情報VERを付与し、変更履歴データHISとして記憶部52に格納する。
 なお、上述した表1及び表2は、一例であって、如何なる行数の変更情報CHIが変更履歴データHISに格納されてもよいし、変更履歴データHISに、「バージョン情報」、「時刻」、「格納データ」、及び「承認フラグ」に加えて(又は代わりに)、如何なるパラメータ(例えば、上述の変更理由)が格納されてもよい。
 また、上述の実施形態においては、プロセッサ50が、変更情報CHIに付帯されたバージョン情報VER又は変更時刻t4を参照して、直近に取得された変更情報CHIを変更履歴データHISから検索する(ステップS6)場合について述べた。しかしながら、これに限らず、変更情報CHIに、バージョン情報VER又は変更時刻t4の代わりに(又は、加えて)、変更CHが加えられた時系列の順序を特定可能な如何なる情報を付帯させてもよい。例えば、プロセッサ50は、変更情報CHIに、取得した順序で番号を付し、該番号によって直近の変更情報CHIを検索することもできる。
 また、上述の実施形態においては、ステップS4において、プロセッサ50が、変更情報CHIを承認するプロセスとして、変更情報CHIの付帯情報に承認フラグF1を付与する場合について述べた。しかしながら、これに限らず、プロセッサ50は、変更情報CHIを承認するプロセスとして、変更情報CHIが承認済みであることを識別可能とする如何なるデータ処理を行ってもよい。
 例えば、プロセッサ50は、変更情報CHIのバージョン情報VERに、承認済みであることを示す文字又は記号を追加する(例えば、「VER.002」を、「VER.002.AP」に変更する)ことで、該変更情報CHIが承認済みであることを識別可能としてもよい。
 この場合、プロセッサ50は、ステップS6において、ステップS4の承認プロセスで実行されたデータ処理を参照することで、変更情報CHIが承認されているか否かを判定できる。また、変更情報CHI又は実行情報EIは、上述の実施形態において例示した情報に限らず、他の如何なる情報を含んでもよい。
 また、上述の実施形態においては、管理装置70及び80が、予防保全装置14に実装されている場合について述べた。しかしながら、これに限らず、管理装置70又は80は、通信機器42に実装されてもよい。例えば、管理装置70又は80が制御装置24に実装された場合、該制御装置24のプロセッサ及び記憶部が、管理装置70又は80を構成する。制御装置24のプロセッサは、図3に示すフロー実行することで、動作プログラムOPを管理する。この場合において、制御装置24のプロセッサは、動作プログラムOPを実行したときに、実行情報EIを生成して、ステップS5でYESと判定する。
 一方、管理装置70又は80が教示装置26に実装された場合、該教示装置26のプロセッサ及び記憶部が、管理装置70又は80を構成する。教示装置26のプロセッサは、図3に示すフロー実行することで、動作プログラムOPを管理する。この場合において、教示装置26のプロセッサは、オペレータA1からの入力IPcに応じて動作プログラムOPn-1に変更CHを加えたとき、変更情報CHIを生成して、ステップS1でYESと判定する。以上、実施形態を通じて本開示を説明したが、上述の実施形態は、特許請求の範囲に係る発明を限定するものではない。
 10  ネットワークシステム
 12  ロボットシステム
 14  予防保全装置
 16  外部機器
 18  通信ネットワーク
 20  ロボット
 24  制御装置
 26  教示装置
 50  プロセッサ
 62  データ取得部
 64  入力受付部
 66  承認判定部
 68  プロセス実行部
 70,80  管理装置
 72  プログラム復元部

Claims (7)

  1.  ロボットの動作プログラムを管理する管理装置であって、
     前記動作プログラムに加えられた変更を示す変更情報と、前記ロボットを動作させるために前記動作プログラムが実行されたことを示す実行情報と、を取得するデータ取得部と、
     前記データ取得部が取得した前記変更情報を承認する入力を受け付ける入力受付部と、
     前記データ取得部が前記実行情報を取得したときに、実行されている前記動作プログラムの前記変更情報が承認されているか否かを判定する承認判定部と、
     前記承認判定部によって前記変更情報が承認されていないと判定された場合に、予め定められた事故防止プロセスを実行するプロセス実行部と、を備える、管理装置。
  2.  前記プロセス実行部は、前記事故防止プロセスとして、アラーム信号を生成する、請求項1に記載の管理装置。
  3.  前記変更が繰り返し加えられる毎に前記データ取得部が取得した複数の前記変更情報を、変更履歴データとして記憶する記憶部と、
     前記変更履歴データに基づいて、第1の前記変更よりも前に行われた第2の前記変更後の前記動作プログラムを復元するプログラム復元部と、をさらに備える、請求項1又は2に記載の管理装置。
  4.  前記入力受付部は、前記変更履歴データの中から、前記第2の変更を示す前記変更情報を選択する入力をさらに受け付け、
     前記プログラム復元部は、前記入力受付部が受け付けた前記選択する入力に応じて、前記第2の変更後の前記動作プログラムを復元する、請求項3に記載の管理装置。
  5.  請求項1~4のいずれか1項に記載の管理装置と、
     前記ロボットと、
     前記ロボット及び前記管理装置に通信可能に接続された通信機器であって、前記動作プログラムを記憶するとともに、前記変更情報及び前記実行情報を前記管理装置に供給する、通信機器と、を備える、ネットワークシステム。
  6.  前記通信機器は、
      前記動作プログラムに従って前記ロボットを動作させ、前記実行情報を前記管理装置に供給する制御装置と、
      前記変更の入力を受け付けて、該変更を前記動作プログラムに加えることで前記ロボットの動作を教示する教示装置であって、前記変更情報を前記管理装置に供給する、教示装置と、を有する、請求項5に記載のネットワークシステム。
  7.  ロボットの動作プログラムを管理する方法であって、
     前記動作プログラムに加えられた変更を示す変更情報と、前記ロボットを動作させるために前記動作プログラムが実行されたことを示す実行情報と、を取得し、
     取得した前記変更情報を承認する入力を受け付け、
     前記実行情報を取得したときに、実行されている前記動作プログラムの前記変更情報が承認されているか否かを判定し、
     前記変更情報が承認されていないと判定された場合に、予め定められた事故防止プロセスを実行する、方法。
PCT/JP2021/024585 2021-06-29 2021-06-29 ロボットの動作プログラムを管理する管理装置、ネットワークシステム、及び方法 WO2023276003A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
DE112021007603.5T DE112021007603T5 (de) 2021-06-29 2021-06-29 Verwaltungsvorrichtung zum verwalten eines betriebsprogramms eines roboters, netzwerksystem und verfahren
CN202180099277.2A CN117460604A (zh) 2021-06-29 2021-06-29 管理机器人的动作程序的管理装置、网络系统以及方法
US18/568,965 US20240278429A1 (en) 2021-06-29 2021-06-29 Management device for managing robot operation program, network system, and method
JP2023531204A JPWO2023276003A1 (ja) 2021-06-29 2021-06-29
PCT/JP2021/024585 WO2023276003A1 (ja) 2021-06-29 2021-06-29 ロボットの動作プログラムを管理する管理装置、ネットワークシステム、及び方法
TW111120460A TW202302299A (zh) 2021-06-29 2022-06-01 管理機器人之動作程式的管理裝置、網路系統及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/024585 WO2023276003A1 (ja) 2021-06-29 2021-06-29 ロボットの動作プログラムを管理する管理装置、ネットワークシステム、及び方法

Publications (1)

Publication Number Publication Date
WO2023276003A1 true WO2023276003A1 (ja) 2023-01-05

Family

ID=84691643

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/024585 WO2023276003A1 (ja) 2021-06-29 2021-06-29 ロボットの動作プログラムを管理する管理装置、ネットワークシステム、及び方法

Country Status (6)

Country Link
US (1) US20240278429A1 (ja)
JP (1) JPWO2023276003A1 (ja)
CN (1) CN117460604A (ja)
DE (1) DE112021007603T5 (ja)
TW (1) TW202302299A (ja)
WO (1) WO2023276003A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016016488A (ja) * 2014-07-09 2016-02-01 ファナック株式会社 ロボットプログラム修正システム
JP2017517800A (ja) * 2014-04-17 2017-06-29 ソフトバンク・ロボティクス・ヨーロッパSoftbank Robotics Europe ロボットの動作監視
JP2017199077A (ja) * 2016-04-25 2017-11-02 ファナック株式会社 複数台の産業機械を有する生産システムの動作を最適化するセルコントローラ

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017517800A (ja) * 2014-04-17 2017-06-29 ソフトバンク・ロボティクス・ヨーロッパSoftbank Robotics Europe ロボットの動作監視
JP2016016488A (ja) * 2014-07-09 2016-02-01 ファナック株式会社 ロボットプログラム修正システム
JP2017199077A (ja) * 2016-04-25 2017-11-02 ファナック株式会社 複数台の産業機械を有する生産システムの動作を最適化するセルコントローラ

Also Published As

Publication number Publication date
JPWO2023276003A1 (ja) 2023-01-05
US20240278429A1 (en) 2024-08-22
TW202302299A (zh) 2023-01-16
DE112021007603T5 (de) 2024-03-14
CN117460604A (zh) 2024-01-26

Similar Documents

Publication Publication Date Title
JP7146402B2 (ja) 情報処理装置、および情報処理方法
US10635082B2 (en) Robot motion program generating method and robot motion program generating apparatus
JP7076184B2 (ja) 人間運動センサを使用して油圧ロボットの近くにいるときの動きを検出すること
US20180354140A1 (en) Robot system and operation method thereof
WO2020183835A1 (ja) 作業指示システムおよび方法
JP2015231640A (ja) ロボット動作経路チェック装置、ロボットシステム、ロボット動作経路チェック方法、プログラム及び記録媒体
JP7108103B2 (ja) 機械の教示に用いる機械教示端末、教示システム、プログラム及び安全確認方法
WO2020031718A1 (ja) 制御装置、制御方法、およびプログラム
JP2016083730A (ja) ロボット装置の制御方法、およびロボット装置
WO2023276003A1 (ja) ロボットの動作プログラムを管理する管理装置、ネットワークシステム、及び方法
JP2013158869A (ja) ロボット制御装置、ロボットシステム、ロボット制御方法
JP6841805B2 (ja) ロボット教示装置、ロボット教示方法、及び動作命令を記憶する方法
US11491655B2 (en) Alarm notification system for robot
US11975454B2 (en) Program generation device and non-transitory computer-readable storage medium storing program
TW202335810A (zh) 教示操作盤及機器人控制系統
US20240165811A1 (en) Device for setting safety parameters, teaching device and method
WO2023248471A1 (ja) 監視装置及びロボット監視システム
JP2016124076A (ja) 操作受付装置
KR102323844B1 (ko) 휴먼 머신 인터페이스 시스템에서 저장장치의 교체 방법
JP7328473B1 (ja) 制御装置、産業機械のシステム、実行履歴データ表示方法、及びプログラム
WO2024028977A1 (ja) 教示装置
US20240280979A1 (en) Abnormality processing apparatus, network system, and method for providing procedure with respect to abnormality having occurred in robot system
WO2024004171A1 (ja) ロボット制御装置及びロボット制御システム
TWI847257B (zh) 機器人示教系統
WO2023233623A1 (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: 21948311

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023531204

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 18568965

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 202180099277.2

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 112021007603

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21948311

Country of ref document: EP

Kind code of ref document: A1