WO2023181206A1 - ロボットプログラミングシステム及びロボット制御装置 - Google Patents

ロボットプログラミングシステム及びロボット制御装置 Download PDF

Info

Publication number
WO2023181206A1
WO2023181206A1 PCT/JP2022/013638 JP2022013638W WO2023181206A1 WO 2023181206 A1 WO2023181206 A1 WO 2023181206A1 JP 2022013638 W JP2022013638 W JP 2022013638W WO 2023181206 A1 WO2023181206 A1 WO 2023181206A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
program
code
unit
robot program
Prior art date
Application number
PCT/JP2022/013638
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 PCT/JP2022/013638 priority Critical patent/WO2023181206A1/ja
Priority to TW112106582A priority patent/TW202337654A/zh
Publication of WO2023181206A1 publication Critical patent/WO2023181206A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices

Definitions

  • the present invention relates to a robot programming system and a robot control device.
  • Patent Document 1 As a method of creating a robot program for operating a robot, there is a method of operating a teaching console to teach movements to an actual robot (see Patent Document 1), and a method of creating a three-dimensional model of a robot system in the virtual space of a programming device. There is a known method (see Patent Documents 2 to 4) in which robot programs are taught by arranging robots.
  • Patent Document 5 describes the configuration of a detection device that detects a two-dimensional code affixed to an object and generates control information for the object.
  • an image input means 2 that analyzes the captured image and calculates position/orientation information indicating the position and orientation of the two-dimensional code M based on the unique pattern of the two-dimensional code M reflected in the captured image;
  • Image analysis means 4 that decodes the information encoded in the two-dimensional code M, and control information that generates control information corresponding to the object marked with the two-dimensional code M based on the position/orientation information and the decoded information.
  • "generation means 5" abtract).
  • Patent Document 6 describes the configuration of a robot simulation image display system as follows: "The robot model number information T and the demonstration program SP for operating the three-dimensional image model M are recorded in the QR code (registered trademark) 4, and the personal computer 2 records the camera 1 From the four points P1 to P4 on the screen corresponding to the four points Q1 to Q4 in the image data of the QR code (registered trademark) 4 taken by With the direction along the The 3D image model M is displayed on the display 5 by multiplying the dimensional image data R. When the position and orientation of the QR code (registered trademark) 4 captured by the camera 1 changes, the position and orientation of the 3D image model M also change. 3-dimensional spatial display according to the demonstration program SP.'' (Summary).
  • Patent Document 7 relates to a program creation support system using a computer, and states, ⁇ A plurality of chips on which instructions are defined in advance and pictures are drawn, and a predetermined sheet on which the chips are arranged are prepared. A plurality of chips are selectively arranged on a sheet. This arrangement of chips is photographed with a camera included in a mobile terminal such as a smart fan.
  • a processing device for example, a server
  • a program creation support system (Paragraph 0015) states that "the image of the pattern of each chip is recognized from the image of the chip array, the instruction codes forming the program are specified, and the program data is created from the instruction code array.”
  • the robot program When applying a robot program created by teaching a robot system model placed in virtual space to an actual robot system, the robot program is saved in a storage medium such as a USB memory, and the storage medium is transferred to the controller of the actual robot. In some cases, the robot program is loaded by inserting a . Applying a robot program in this form to an actual robot system is a time-consuming and labor-intensive task. For example, if many of the same robot systems are operating in a factory, it requires a lot of effort and time.
  • One aspect of the present disclosure includes a first information processing device including a code conversion unit that converts a robot program into a code, a visual sensor that images the code displayed on an information medium, and a robot control device that controls the robot.
  • a robot control device comprising: a code analysis unit that analyzes a captured image of the code and restores the robot program; and a robot program duplication unit that copies the restored robot program and stores it in a storage unit.
  • a robot programming system comprising:
  • a robot control device that controls a robot, which includes a code acquisition unit that acquires information regarding an image captured by a visual sensor of a code in which a robot program is encoded, and an image of the captured code.
  • This robot control device includes a code analysis unit that analyzes information related to the robot program and restores the robot program, and a robot program duplication unit that copies the restored robot program and stores it in a storage unit.
  • Yet another aspect of the present disclosure is a robot control device that controls a robot, the code being a code of a robot program for executing work dependent on a workpiece, the code pasted on the workpiece.
  • a code acquisition unit that acquires information regarding an image captured by a visual sensor; a code analysis unit that analyzes information regarding the captured image of the code to restore the robot program; and a code analysis unit that copies and stores the restored robot program.
  • This robot control device includes a robot program copying section that stores the robot program in the robot section, and a program execution section that executes the robot program.
  • the effort and time required to apply an operation program created with a programming device to a robot system can be greatly reduced compared to cases where this is done using a USB memory.
  • FIG. 1 is a diagram showing a device configuration of a robot programming system according to a first embodiment
  • FIG. It is a diagram showing an example of the hardware configuration of a programming device, a robot control device, and a teaching pendant.
  • FIG. 1 is a functional block diagram of a programming device, a robot control device, and a device for displaying a two-dimensional code according to the first embodiment.
  • 7 is a flowchart representing robot program replication processing according to the first embodiment.
  • FIG. 3 is a diagram for explaining the operation according to the first embodiment, showing a state in which a robot system model is placed in a virtual space.
  • FIG. 3 is a diagram for explaining the operation according to the first embodiment, and shows a state in which a robot program has been created.
  • FIG. 3 is a diagram for explaining the operation according to the first embodiment, and shows a state in which a two-dimensional code representing a robot program has been generated.
  • FIG. 3 is a diagram for explaining the operation according to the first embodiment, and shows a state in which a two-dimensional code is imaged in an actual robot system.
  • FIG. 3 is a diagram for explaining the operation according to the first embodiment, and shows a state in which a robot program is replicated in an actual robot system.
  • FIG. 7 is a diagram for explaining the operation according to the second embodiment, and shows a state in which a robot program is divided into a plurality of parts and two-dimensional codes are generated.
  • FIG. 7 is a diagram for explaining the operation according to the second embodiment, and shows a state in which a plurality of two-dimensional codes generated by dividing a robot program are imaged in an actual robot system.
  • FIG. 7 is a diagram for explaining the operation according to the second embodiment, and shows a state in which a robot program is replicated in an actual robot system.
  • FIG. 7 is a diagram for explaining the operation according to the third embodiment, and shows a state in which a two-dimensional code representing a robot program created with an actual robot system is generated.
  • FIG. 3 is a diagram for explaining a case where the programming device is configured with a tablet terminal, and the tablet terminal is also used as a device for displaying a two-dimensional code.
  • FIG. 2 is a diagram showing a state in which a two-dimensional code displayed on a tablet terminal is imaged by an actual robot system.
  • FIG. 3 is a diagram showing a state in which a robot program is generated by a programming device configured as a PC, and a two-dimensional code representing the robot program is generated.
  • FIG. 3 is a diagram for explaining how to send a generated two-dimensional code by e-mail or print it out.
  • FIG. 2 is a diagram showing a state in which a two-dimensional code displayed on a paper medium is imaged by an actual robot system.
  • FIG. 3 is a diagram showing the equipment configuration of a robot programming system according to a second embodiment.
  • FIG. 7 is a functional block diagram of a programming device and a robot control device according to a second embodiment.
  • FIG. 7 is a flowchart representing robot program replication processing according to the second embodiment.
  • FIG. 2 is a diagram illustrating a first creation example of a robot program that depends on a workpiece, and shows a state in which a robot system model is placed in a virtual space.
  • FIG. 3 is a diagram illustrating a first creation example of a robot program that depends on a workpiece, and shows a state in which the edge of the workpiece is specified.
  • FIG. 3 is a diagram showing a first creation example of a robot program depending on a workpiece, and shows a state in which a robot program for machining a designated edge line has been created.
  • FIG. 7 is a diagram illustrating a second creation example of a robot program that depends on a workpiece, and shows a state in which the extraction position of the workpiece and the like are specified.
  • FIG. 7 is a diagram illustrating a second creation example of a robot program that depends on a workpiece, and shows a state in which the robot program has been generated.
  • FIG. 3 is a diagram showing a state in which a two-dimensional code representing a robot program created in a first creation example is generated.
  • FIG. 7 is a diagram showing a state in which a two-dimensional code representing a robot program created in a first creation example is imaged in an actual robot system.
  • FIG. 2 is a diagram showing a state in which a robot program created in a first creation example is executed in an actual robot system.
  • FIG. 6 is a diagram showing a state in which another workpiece is put into the robot system and a two-dimensional code pasted on the workpiece is imaged.
  • FIG. 7 is a diagram showing
  • the robot programming system according to the first embodiment and the second embodiment includes: a first information processing device having a code conversion section that converts a robot program into a code; a visual sensor that images the code displayed on an information medium; A robot control device that controls the robot, comprising: a code analysis unit that analyzes a captured code image and restores a robot program; a robot program duplication unit that copies the restored robot program and stores it in a storage unit;
  • the present invention is configured as a robot programming system comprising: a robot control device having a robot controller;
  • the first information processing device is, for example, a programming device for creating a robot program.
  • a robot program created on a programming device is converted into a code and displayed on an information medium such as the device or various media.
  • a robot robot control device
  • FIG. 1 is a diagram showing the equipment configuration of a robot programming system 100 according to a first embodiment.
  • the robot programming system 100 includes a programming device 80 that has a function of creating a robot program and converting the robot program into a code, and a visual sensor 21 that captures an image of the code displayed on an information medium 90.
  • the robot system 110 has a function of restoring and duplicating robot programs.
  • codes including one-dimensional codes and two-dimensional codes can be used as codes representing information such as robot programs, but in this embodiment (and each embodiment described below), two-dimensional codes are used. shall be.
  • the code provides information encoded within the code (encoding pattern) through image analysis as composite information.
  • the programming device 80 is a device that makes it possible to create a robot program by arranging a robot system model including a robot model in a virtual space and teaching the robot model in the virtual space.
  • a PC personal computer
  • a tablet terminal and other various information processing devices can be used.
  • the robot program created by the programming device 80 is converted into a two-dimensional code C1.
  • the generated two-dimensional code C1 is displayed on the information medium 90 and placed in the work space of the robot system 110 at a position where it can be imaged by the visual sensor 21.
  • the information medium includes anything that can display a code, such as a display screen of an information processing device (tablet terminal, PC, etc.), paper, or other media.
  • an information processing device such as a tablet terminal owned by the worker may be used, or the programming device 80 itself may be used to display the two-dimensional code. It may function as a device.
  • the robot system 110 includes a robot 10, a robot control device 50 that controls the robot 10, and a teaching pendant (teaching device) 30 connected to the robot control device 50.
  • a visual sensor 21 is mounted on the tip of the arm of the robot 10. The visual sensor 21 is connected to the robot control device 50 and operates under control from the robot control device 50.
  • the robot 10 can perform desired tasks using an end effector attached to the wrist at the tip of the arm.
  • the end effector is an external device that can be replaced depending on the application, and is, for example, a hand, a welding gun, a tool, or the like.
  • FIG. 1 shows an example in which a hand 15 is used as an example of an end effector.
  • the robot 10 (robot control device 50) can read and copy the two-dimensional code C1 created by the programming device 80 and displayed on the information medium 90 using the visual sensor 21.
  • the effort and time required to apply a robot program created by the programming device 80 to the robot system 110 can be significantly reduced compared to the case where a USB memory is used.
  • FIG. 2 shows an example of the hardware configuration of the programming device 80, robot control device 50, and teaching pendant 30.
  • the programming device 80 has a hardware configuration of a general-purpose computer, and includes a processor 81, a memory 82 (ROM, RAM, nonvolatile memory, etc.), a display section 83, and input devices such as a keyboard and a mouse. It has a configuration in which an operation unit 84, a storage device (such as an HDD) 85, various input/output interfaces 86, etc. are connected.
  • the robot control device 50 is a general robot controller in which a processor 51 is connected to a memory 52 (ROM, RAM, non-volatile memory, etc.), various input/output interfaces 53, an operation section 54 including various operation switches, etc.
  • the teaching pendant 30 provides a processor 31 with a memory 32 (ROM, RAM, non-volatile memory, etc.), a display section 33, an operation section 34 comprised of input devices such as a keyboard (or software keys), and various input/outputs. It may have a general computer configuration in which the interface 35 and the like are connected via a bus.
  • FIG. 3 is a functional block diagram of the programming device 80 and robot control device 50. Further, FIG. 3 illustrates functional blocks of the tablet terminal 90A when the tablet terminal 90A is used as the information medium 90 that displays a two-dimensional code.
  • the programming device 80 includes a virtual space creation section 181, a three-dimensional model placement section 182, a robot program teaching section 183, a robot program division section 184, a code conversion section 185, and a file output section. 187.
  • the programming device 80 may include a code display section 186 so that the programming device 80 itself can be used as a device for displaying two-dimensional codes.
  • the tablet terminal 90A has a code display section 191 for displaying the two-dimensional code transferred from the programming device 80.
  • the robot control device 50 includes a code imaging section 151, a code analysis section 152, a robot program copying section 153, and a robot program storage section 154.
  • the virtual space creation unit 181 creates a virtual space in which various models making up the robot system are placed.
  • the three-dimensional model placement unit 182 places three-dimensional models of each object constituting the robot system, including a robot model, in the virtual space based on the placement information of the actual robot system 110.
  • the robot system model placed in the virtual space is displayed on the display screen of the programming device 80.
  • the robot program teaching unit 183 accepts, for example, an operation to jog the robot model to specify a teaching point or an operation to set various setting parameters via the user interface screen, and teaches the robot model to operate according to these user inputs. (i.e., perform programming).
  • the robot program dividing unit 184 provides a function to divide the robot program when the robot program is large.
  • the code conversion unit 185 converts the created robot program into a two-dimensional code.
  • the code display section 186 provides a function of displaying the created two-dimensional code on the display screen.
  • the file output unit 187 provides a function to output the created two-dimensional code to a file.
  • the two-dimensional code output as a file can be transferred to the tablet terminal 90A using the e-mail function, or can be printed.
  • the code imaging unit 151 of the robot control device 50 provides a function of imaging the two-dimensional code displayed on the information medium 90 using the visual sensor 21.
  • the code imaging unit 151 may operate to take an image of an information medium 90 installed in advance within the imaging range of the visual sensor 21, or may operate to take an image of an information medium 90 installed at a predetermined position within the work space.
  • the robot 10 may be moved to take an image of the object.
  • the function of the code imaging unit 151 can also be expressed as a code acquisition unit that acquires information regarding an image captured by the visual sensor 21 using a code obtained by encoding a robot program.
  • the robot control device 50 may have a function as a visual sensor control device that controls the visual sensor 21 as its internal function.
  • the visual sensor control device that controls the visual sensor 21 may be provided to the robot system 110 as a separate device from the robot control device 50. In the latter configuration, the robot control device 50 operates the visual sensor 21 via the visual sensor control device, and also acquires the image captured by the visual sensor 21 via the visual sensor control device.
  • the code analysis unit 152 analyzes the image in which the two-dimensional code is captured, extracts the area of the two-dimensional code from the image, specifies the position and orientation of the two-dimensional code, and encodes the two-dimensional code into the two-dimensional code.
  • the robot program is restored by decoding the information contained in the robot.
  • the robot program duplication unit 153 copies the restored robot program and stores it in the robot program storage unit 154.
  • the robot control device 50 Through these functions of the robot control device 50, the robot program encoded in the two-dimensional code displayed on the information medium 90 is copied and stored in the robot control device 50. Thereby, the robot control device 50 can execute the replicated robot program.
  • FIG. 4 shows the basic operations of a series of processes (hereinafter also referred to as robot program copying process) executed in the robot programming system 100, from creating a robot program to copying it into the robot control device 50.
  • FIG. 4 shows the basic operations of a series of processes (hereinafter also referred to as robot program copying process) executed in the robot programming system 100, from creating a robot program to copying it into the robot control device 50.
  • step S1 a robot system model having a robot model, which is a three-dimensional representation of a robot system having a robot, is placed in a virtual space (step S1).
  • the process in step S1 is executed by the functions of the virtual space creation unit 181 and the three-dimensional model placement unit 182.
  • step S2 the operator teaches the robot's movements (that is, performs programming) with the assistance of the robot program teaching unit 183.
  • the programming device 80 converts the created robot program into a two-dimensional code including command sentences, action sentences, and teaching positions of the robot program (step S3).
  • the two-dimensional code generated here is displayed on the information medium 90 (for example, the tablet terminal 90A).
  • the two-dimensional code displayed on the information medium 90 is imaged by the visual sensor 21 of the robot 10, and is analyzed by the code analysis unit 152 (step S4). As a result, the command sentence, action sentence, and taught position of the robot program are restored.
  • the robot control device 50 (robot program copying unit 153 and robot program storage unit 154) copies and stores the restored robot program (step S5).
  • FIG. 5 shows a state in which a robot model 10M, a workpiece model WM, and peripheral device models 61M and 62M are arranged in a virtual space created by the virtual space creation unit 181.
  • a hand model 15M is attached as an end effector to the arm tip of a robot model 10M.
  • the state in which these models are arranged in the virtual space is displayed on the display screen of the programming device 80.
  • teaching is performed by jogging the robot model 10M in the virtual space and adjusting the teaching points one by one.
  • the operator also specifies the position to take out and install the workpiece model WM in the virtual space, and further specifies the position of the workpiece model WM with respect to the hand model 15M when gripping the workpiece model WM with the hand model 15M. do.
  • the robot program 501 is automatically generated according to the teaching content specified in this way.
  • the robot program 501 includes operation commands and teaching points for positioning the hand model 15M at the take-out position, gripping the work model WM, moving the hand model 15M to the installation position via a standby position, etc., and installing the work model WM. Contains information.
  • FIG. 7 schematically shows a state in which the two-dimensional code C1 is generated by converting the robot program 501.
  • the two-dimensional code C1 obtained here is displayed on the information medium 90 and positioned at a position where the actual robot 10 (visual sensor 21) can take an image.
  • the two-dimensional code C1 displayed on the information medium 90 is imaged and read by the visual sensor 21 mounted on the actual robot 10.
  • FIG. 9 schematically shows a state in which the robot program 501 is replicated within the actual robot system 110.
  • the robot program created by the programming device 80 is expressed as a two-dimensional code and read by the visual sensor 21 mounted on the robot 10, thereby replicating the robot program in the robot control device 50. It can be memorized. This reduces the effort and time required to apply a robot program created by the programming device 80 to the actual robot system 110.
  • the second embodiment is an example of an operation in which a two-dimensional code is generated by dividing a robot program when the robot program has a large amount of data.
  • the robot program dividing unit 184 divides the robot program 502 according to predetermined rules.
  • the predetermined rules include, for example, (1) dividing the program so that the data amount of each divided program fits within the capacity of one two-dimensional code, (2) dividing the robot program according to a set of contents, etc. It is. In this example, it is assumed that the robot program 502 is divided into four parts and four two-dimensional codes C11, C12, C13, and C14 are generated. When dividing a program in this way, each two-dimensional code may include information indicating the number of the program.
  • the visual sensor 21 mounted on the actual robot 10 images the two-dimensional codes C11-C14 displayed on the information medium 90.
  • the two-dimensional codes C11-C14 may be displayed simultaneously on the display screen, or may be displayed sequentially in chronological order.
  • the code analysis unit 152 restores each program encoded in the two-dimensional codes C11 to C14 imaged, and uses information indicating the program number included in each two-dimensional code to restore the entire robot program 502. restore.
  • the robot program 502 restored in this way is copied and stored within the robot control device 50.
  • FIG. 12 schematically shows a state in which the robot program 502 is replicated in the actual robot system 110.
  • the third embodiment is an operation example in which a robot program created using an actual robot system is applied to another robot system.
  • An actual robot system used for creating a robot program is a robot system 500 shown in FIG.
  • the robot system 500 includes a robot 510, a robot control device 550 that controls the robot 510, and a teaching pendant (teaching device) 530 that teaches the operation of the robot 510.
  • the teaching pendant 530 in the robot system 500 functions as a programming device for generating a robot program.
  • FIG. 13 also shows a functional block diagram of the teaching pendant 530.
  • the teaching pendant 530 includes a robot teaching section 531, a code conversion section 532, and a file output section 533.
  • the robot teaching unit 531 provides various functions for teaching (ie, programming) including jogging the robot 510 and setting operation parameters.
  • the code conversion unit 532 converts the robot program created with the assistance of the robot teaching unit 531 into a two-dimensional code.
  • the file output unit 533 provides a function to output the generated two-dimensional code as a file.
  • a robot program 501 is created using a teaching pendant 530 in a robot system 500.
  • the teaching pendant 530 converts the robot program 501 into a two-dimensional code C1.
  • the generated two-dimensional code C1 is displayed on the information medium 90 (for example, the display screen of a tablet terminal), and is copied to the robot system 110 as another robot system in the manner described with reference to FIG. Ru.
  • the teaching pendant 530 may further have a function as the code display section 186 in order to make the teaching pendant 530 itself function as a device for displaying a two-dimensional code.
  • the two-dimensional code C1 displayed on the display screen of the teaching pendant 530 can be read into the visual sensor 21 of the robot system 110 as another robot system.
  • the teaching pendant 530 may be constituted by a tablet terminal.
  • the two-dimensional code representing the robot program created by the robot system 500 can be transferred via an e-mail function to a tablet terminal, etc. via a PC, the two-dimensional code can be displayed, and the two-dimensional code can be read into the visual sensor of another robot system. It may be possible to do so.
  • a tablet terminal 80A is used as the programming device 80, and the tablet terminal 80A is also used as a display device for displaying a two-dimensional code.
  • a robot program 501 is created using a tablet terminal 80A.
  • the code conversion unit 185 of the tablet terminal 80A converts the robot program 501 into a two-dimensional code C1, which is displayed on the display screen of the tablet terminal 80A.
  • the worker places the tablet terminal 80A on which the two-dimensional code C1 is displayed at a predetermined position within the imaging range of the visual sensor 21, or holds it by himself or herself, thereby reading the two-dimensional code C1.
  • C1 is read into the visual sensor 21.
  • the robot program 501 is copied and stored in the robot system 110.
  • a PC personal computer
  • Programming device 80 may be located at a location remote from where robot system 110 is installed.
  • a robot program 501 is created using the programming device 80.
  • the robot program 501 is converted into a two-dimensional code C1 by the code conversion unit 185 of the programming device 80, and generated as a file by the file output unit 187.
  • the two-dimensional code C1 created using the programming device 80 may be transferred from the programming device 80 to the operator's tablet terminal 90A by an e-mail function, or may be connected to the programming device 80. It may also be printed out from a printer. When printed, the printed paper medium 90B serves as the information medium 90.
  • the two-dimensional code displayed on the tablet terminal 90A is transferred to the visual sensor 21 of the robot system 110 in the manner described above with reference to FIG. It can be loaded.
  • the paper medium 90B on which the two-dimensional code C1 is printed is placed at a predetermined position within the imaging range of the visual sensor 21, or an operator holds it. and causes the visual sensor 21 to read it.
  • the robot program 501 is copied and stored in the robot system 110.
  • the effort and time required to apply a robot program created with a programming device to a robot system can be greatly reduced compared to the case where a USB memory is used. be able to.
  • the data file of the two-dimensional code C1 generated by the programming device 80 is transferred to the teaching pendant 30 of the robot system 110 by the mail function, and is displayed on the display screen of the teaching pendant 30.
  • the visual sensor 21 reads the information.
  • the teaching pendant 30 may be constituted by a tablet terminal.
  • FIG. 19 is a diagram showing the equipment configuration of a robot programming system 200 according to a second embodiment.
  • the robot programming system 200 includes a programming device 280 that has a function of creating a robot program and converting the robot program into a two-dimensional code, and a visual sensor 221 that captures an image of the two-dimensional code to restore the robot program.
  • the robot system 201 includes a robot system 201 that has a function of copying and copying.
  • the two-dimensional code of the robot program is pasted on the workpiece W to be worked on and then input into the robot system 201 .
  • the robot system 201 includes a robot 210, a robot control device 250 that controls the robot 210, and a teaching pendant (teaching device) 230 connected to the robot control device 250.
  • a visual sensor 221 is mounted on the tip of the arm of the robot 210.
  • a workpiece W to be worked on is placed on a peripheral device 61 .
  • the visual sensor 221 is connected to the robot control device 250 and operates under control from the robot control device 250.
  • the robot 210 can perform desired tasks using an end effector attached to the wrist at the tip of the arm.
  • FIG. 19 shows an example in which a polishing tool 216 is used as an example of an end effector.
  • the workpiece-dependent robot program created by the programming device 280 is converted into a two-dimensional code C2, printed on a medium, and pasted on a predetermined position of the workpiece.
  • the two-dimensional code C2 on the workpiece W is imaged by the visual sensor 221 in the robot system 201, and the robot program is restored and transferred to the robot system 201. be duplicated.
  • the robot system 201 can copy the robot program to be applied to the work W by reading the two-dimensional code pasted on the work W. Therefore, the robot system 201 (robot control device 250 ) There is no need to perform any work to store the information in advance.
  • the programming device 280 is a device that makes it possible to create a robot program by arranging a robot system model including a robot model and a workpiece model in a virtual space and teaching the robot model in the virtual space.
  • a PC a PC, a tablet terminal, and other various information processing devices can be used.
  • the example hardware configuration of the programming device 280, robot control device 250, and teaching pendant 230 is similar to the hardware configuration example of the programming device 80, robot control device 50, and teaching pendant 30 shown in FIG.
  • FIG. 20 is a functional block diagram of the programming device 280 and robot control device 250.
  • the programming device 280 includes a virtual space creation section 281, a three-dimensional model arrangement section 282, a work target specification section 283, a work program generation section 284, and a code conversion section 285.
  • the robot control device 250 includes a code imaging section 251, a code analysis section 252, a robot program copying section 253, a robot program storage section 254, and a robot program execution section 255.
  • a virtual space creation unit 281 creates a virtual space in which to place various models that make up the robot system.
  • the three-dimensional model placement unit 282 places three-dimensional models of each object constituting the robot system, including a robot model and a workpiece model, in the virtual space based on placement information of the actual robot system.
  • the robot system model placed in the virtual space is displayed on the display screen of the programming device 280.
  • the work target designation unit 283 allows the operator to select the workpiece model displayed on the virtual space (display screen) based on the geometrical features (contours, surfaces, etc.) of the workpiece W that can be extracted from the three-dimensional model of the workpiece W. It supports the operation of specifying the work target location and has the function of identifying the designated work target location.
  • the work program generation unit 284 automatically generates a robot program for executing a predetermined work using a work tool on the work target location specified by the work target designation unit 283.
  • the code conversion unit 285 converts the created robot program into a two-dimensional code.
  • the code imaging unit 251 of the robot control device 250 uses the visual sensor 221 to image the two-dimensional code affixed to the workpiece W placed in the work space.
  • the code imaging unit 251 can also be expressed as a code acquisition unit that acquires information regarding an image of a code pasted on the workpiece W captured by the visual sensor 221.
  • the robot control device 250 may have an internal function as a visual sensor control device that controls the visual sensor 221.
  • the visual sensor control device that controls the visual sensor 221 may be provided to the robot system 201 as a separate device from the robot control device 250. In the latter configuration, the robot control device 250 operates the visual sensor 221 via the visual sensor control device, and also acquires the image captured by the visual sensor 221 via the visual sensor control device.
  • the code analysis unit 252 analyzes the captured image of the two-dimensional code and restores the robot program.
  • the robot program duplication unit 253 copies the restored robot program and stores it in the robot program storage unit 254.
  • the robot program execution unit 255 has a function of executing the duplicated robot program.
  • FIG. 21 is a flowchart showing the basic operations of a series of processes (also referred to as program copying process) from creating a robot program to copying it to the robot control device 250, which is executed in the robot programming system 200.
  • a series of processes also referred to as program copying process
  • step S11 a robot model that is a three-dimensional representation of a robot system having a robot and a workpiece, and a robot system model having a workpiece model are placed in a virtual space (step S11).
  • the process in step S11 is performed by the virtual space creation unit 281 and the three-dimensional model placement unit 282.
  • step S12 the operator specifies a work target for the work model with the support of the work target designation unit 283 (step S12).
  • the work program generation unit 284 automatically generates a robot program for performing work on the work model for the designated work object (step S13).
  • the code conversion unit 285 converts the robot program that performs work on the workpiece model into a two-dimensional code that includes command statements, motion statements, and teaching position information of the robot program that performs work on the workpiece model (Ste S14).
  • the two-dimensional code is printed on a medium and affixed to a predetermined position of the workpiece that can be imaged by the visual sensor 221 in the posture of the robot 210 as shown in FIG. 19, for example.
  • the visual sensor 221 of the robot 210 images the two-dimensional code pasted at a predetermined position on the workpiece W.
  • the two-dimensional code is analyzed using the captured image (step S15). As a result, the command sentence, action sentence, and taught position of the robot program are restored.
  • the robot control device 250 (robot program copying unit 253, robot program storage unit 254) copies and stores the robot program for performing work on the workpiece W (step S16).
  • FIGS. 22 to 24 are diagrams showing a first creation example of a robot program that depends on a workpiece.
  • FIG. 22 shows a state in which a robot model 210M, a workpiece model WM, and a peripheral equipment model 61M are arranged in a virtual space (display screen) by the programming device 280.
  • a visual sensor model 221M and a polishing tool model 216M as a work tool are attached to the arm tip of the robot model 210M.
  • FIG. 23 shows a state in which the operator has specified the ridge line L1 of the upper cylindrical portion of the work model WM as the work target with the assistance of the work target designation unit 283.
  • the work program generation unit 284 automatically generates a robot program 503 for moving the polishing tool model 216M along the specified ridge line L1 to perform the polishing work.
  • the robot program 503 in this case includes information on a plurality of teaching points along the ridgeline L1 and an operation command for moving the polishing tool model 216M along the ridgeline L1 via the teaching points.
  • FIGS. 25 and 26 are diagrams showing a second creation example of a robot program that depends on a workpiece.
  • FIG. 25 shows a state in which a robot model 210M, a workpiece model WM, and peripheral device models 61M and 62M are arranged in the virtual space (display screen).
  • a visual sensor model 221M and a hand model 215M as a work tool are attached to the arm tip of the robot model 210M.
  • the operator specifies the take-out position P1 and the installation position P2 of the workpiece WM as work targets on the virtual space (display screen) with the support of the work target designation unit 283.
  • the work program generation unit 284 automatically generates a robot program 504 that uses the hand model 215M to take out the work model WM from the take-out position P1 and install it at the installation position P2.
  • the robot program 504 positions the hand model 215M at the pick-up position P1, grips the workpiece model WM, moves it via the way point to the installation position P2, and provides information on teaching points and operation commands for moving the hand model 215M to the installation position P2 and installing the workpiece model WM. include.
  • the code conversion unit 285 of the programming device 280 converts the robot program 503 generated as described above into a two-dimensional code C2.
  • This two-dimensional code C2 is printed on a predetermined medium by a printing device (not shown), and is pasted on a predetermined position of the workpiece W before operation.
  • the robot 210 uses the visual sensor 221 to image the two-dimensional code C2 pasted on the workpiece W at a predetermined position. do.
  • the robot control device 250 (code analysis unit 252) analyzes the two-dimensional code, restores the robot program 503, copies it, and stores it in the robot control device 250. This allows the actual robot 210 to execute the robot program 503 on the workpiece W, as shown in FIG.
  • the robot 210 (robot control device 250) reads the two-dimensional code C3 pasted on the workpiece W2 using the visual sensor 221, and the robot 210 (robot control device 250) uses the robot for the workpiece W2, which is coded as the two-dimensional code C3. Programs can be copied and stored.
  • the actual robot 210 can execute the robot program 505 corresponding to the two-dimensional code C3 on the workpiece W2.
  • the effort and time required to apply an operation program created with a programming device to a robot system can be greatly reduced compared to cases where the application is performed using a USB memory. Can be done.
  • a two-dimensional code that encodes a robot program that depends on the workpiece is affixed to the workpiece that is put into the workspace, so the robot system can code the robot program for processing the workpiece. There is no need to remember. Furthermore, when the program for one workpiece placed in the work space is completed, the next workpiece to be processed has a two-dimensional code representing the program pasted, so the robot control device 250 (robot program execution unit 255) can delete the work program once the work is completed.
  • the two-dimensional code may include information regarding how many consecutive workpieces are to be input (information regarding the number of workpieces).
  • the robot control device 250 retains the robot program and only executes the robot program for the specified number of workpieces. , execute the robot program repeatedly. Then, the robot control device 250 deletes the robot program after completing work on the designated number of works. In this case, it is possible to attach the two-dimensional code to only the first work among the successively input works.
  • a configuration in which a two-dimensional code is attached to a workpiece has been described, but it is also possible to configure a modified example as described below.
  • a two-dimensional code is displayed on a display device such as a tablet terminal.
  • this display device is arranged at a predetermined position in the work space, and the two-dimensional code of the robot program for the work is displayed on the display device at the timing when the work is put into the work space.
  • a sensor such as a camera
  • Two-dimensional codes of a plurality of types of robot programs are transferred from the programming device and stored in the display device. Furthermore, the notification from the sensor also includes information indicating the type of workpiece to be carried in.
  • the display device is configured to, upon receiving the notification, identify a two-dimensional code of a robot program that processes a workpiece corresponding to the notification, and display the two-dimensional code.
  • the effort and time required to apply an operation program created with a programming device to a robot system can be greatly reduced compared to the case where a USB memory is used. can be reduced.
  • a configuration example in which a visual sensor for capturing an image of a two-dimensional code is mounted on a robot is described, but a configuration example in which the visual sensor is installed at a fixed position within a work space is also possible.
  • an information medium for example, a tablet terminal
  • displays a two-dimensional code is positioned at a predetermined position within the imaging range of the visual sensor, and the two-dimensional code is read by the visual sensor.
  • the functional blocks of the programming device, robot control device, and device for displaying two-dimensional codes described with reference to FIGS. 3 and 20 are such that the processors of these devices execute various software stored in the storage device.
  • it may be realized by a configuration mainly based on hardware such as an ASIC (Application Specific Integrated Circuit).
  • ASIC Application Specific Integrated Circuit
  • the programs that execute various processes such as the robot program replication process in the embodiments described above are stored in various computer-readable recording media (for example, ROM, EEPROM, semiconductor memory such as flash memory, magnetic recording medium, CD-ROM, can be recorded on optical discs such as DVD-ROMs).
  • ROM read-only memory
  • EEPROM electrically erasable programmable read-only memory
  • semiconductor memory such as flash memory
  • magnetic recording medium CD-ROM
  • optical discs such as DVD-ROMs

Abstract

ロボットプログラムをコードに変換するコード変換部を有する第1情報処理装置(80)と、情報媒体上に表示された前記コードを撮像する視覚センサ(21)と、ロボットを制御するロボット制御装置(50)であって、撮像されたコードの画像を解析しロボットプログラムを復元するコード解析部(152)と、復元されたロボットプログラムを複製して記憶部に記憶するロボットプログラム複製部(153)と、を有するロボット制御装置(50)と、を具備するロボットプログラミングシステム(100)である。

Description

ロボットプログラミングシステム及びロボット制御装置
 本発明は、ロボットプログラミングシステム及びロボット制御装置に関する。
 ロボットを動作させるためのロボットプログラムを作成する手法として、教示操作盤を操作し実機のロボットに動作を教示する手法(特許文献1参照)や、プログラミング装置の仮想空間上にロボットシステムの三次元モデルを配置してロボットプログラムの教示を行う手法(特許文献2から4参照)が知られている。
 なお、特許文献5は、物体に貼付された2次元コードを検出してその物体に対する制御情報を生成する検出装置の構成として「二次元コード検出装置1は、カメラCが撮像した撮像画像を入力する画像入力手段2と、撮像画像を解析し、撮像画像内に写った二次元コードMの固有のパターンに基づいて、二次元コードMの位置及び姿勢を示す位置・姿勢情報を算出するとともに、二次元コードMに符号化された情報を復号する画像解析手段4と、位置・姿勢情報と復号情報とに基づいて、二次元コードMが記された物体に対応した制御情報を生成する制御情報生成手段5と、を備えていること」を記載する(要約書)。
 特許文献6は、ロボットシミュレーション画像表示システムの構成として「QRコード(登録商標)4にロボットの型番情報Tと3次元画像モデルMを動作させるデモ用プログラムSPを記録し、パソコン2は、カメラ1が撮像したQRコード(登録商標)4の画像データ中の4点Q1~Q4に対応するスクリーン上の4点P1~P4から、基準点C0を3次元座標の原点とし、原点からQ1,Q2に沿う方向をX軸,Y軸,XY平面上で原点に立つ法線をZ軸として、QRコード(登録商標)4の3次元空間における姿勢情報:回転行列Mrを取得し、回転行列Mrを3次元画像データRに乗算して3次元画像モデルMをディスプレイ5に表示させる。カメラ1により撮像されるQRコード(登録商標)4の位置・姿勢が変化すると3次元画像モデルMの位置・姿勢も変化させ、デモ用プログラムSPに従い3次元空間表示で動作させる。」ことを記載する(要約書)。
 特許文献7は、コンンピュータを用いたプログラム作成支援システムに関し、「予め命令の定義された、絵柄の描かれた複数のチップと、チップを並べる所定のシートが用意される。ユーザは、目的に従って複数のチップを選択的にシート上に並べる。このチップの配列を、スマートファンのような携帯端末が備えるカメラで撮影する。プログラム作成支援システムにおける処理装置(例えばサーバ)が、カメラで取得されたチップの配列の画像から各チップの絵柄の画像を認識してプログラムを構成する命令コードを特定し、命令コードの配列からプログラムデータを作成する。」ことを記載する(段落0015)。
特開平11-249725号公報 特開2016-101644号公報 特開2018-51692号公報 特開2017-140684号公報 特開2007-90448号公報 特開2010-179403号公報 特開2018-136446号公報
 仮想空間上に配置したロボットシステムモデルを教示することで作成したロボットプログラムを実機のロボットシステムに適用する場合、USBメモリ等の記憶媒体にロボットプログラムを保存し、実機のロボットの制御装置に記憶媒体を挿入してロボットプログラムを読み込ませる形態がとられる場合がある。このような形態でのロボットプログラムの実機のロボットシステムへの適用は時間と手間のかかる作業となる。例えば、工場内に同じロボットシステムが多数稼動しているような場合、特に多くの手間と時間を必要とする。
 本開示の一態様は、ロボットプログラムをコードに変換するコード変換部を有する第1情報処理装置と、情報媒体上に表示された前記コードを撮像する視覚センサと、ロボットを制御するロボット制御装置であって、撮像された前記コードの画像を解析し前記ロボットプログラムを復元するコード解析部と、復元された前記ロボットプログラムを複製して記憶部に記憶するロボットプログラム複製部と、を有するロボット制御装置と、を具備するロボットプログラミングシステムである。
 本開示の別の態様は、ロボットを制御するロボット制御装置であって、ロボットプログラムをコード化したコードを視覚センサにより撮像した画像に関する情報を取得するコード取得部と、撮像された前記コードの画像に関する情報を解析し前記ロボットプログラムを復元するコード解析部と、復元された前記ロボットプログラムを複製して記憶部に記憶するロボットプログラム複製部と、を備えるロボット制御装置である。
 本開示の更に別の態様は、ロボットを制御するロボット制御装置であって、ワークに依存する作業を実行するためのロボットプログラムをコード化したコードであって、前記ワークに貼り付けられたコードを視覚センサにより撮像した画像に関する情報を取得するコード取得部と、撮像された前記コードの画像に関する情報を解析し前記ロボットプログラムを復元するコード解析部と、復元された前記ロボットプログラムを複製して記憶部に記憶するロボットプログラム複製部と、前記ロボットプログラムを実行するプログラム実行部と、を備えるロボット制御装置である。
 プログラミング装置で作成された動作プログラムをロボットシステムに適用する場合の手間や時間を、USBメモリを用いて行うような場合等と比較して大きく削減することができる。
 添付図面に示される本発明の典型的な実施形態の詳細な説明から、本発明のこれらの目的、特徴および利点ならびに他の目的、特徴および利点がさらに明確になるであろう。
第1実施形態に係るロボットプログラミングシステムの機器構成を示す図である プログラミング装置、ロボット制御装置、及び教示操作盤のハードウェア構成例を示す図である。 第1実施形態に係るプログラミング装置、ロボット制御装置、及び2次元コードを表示するための装置の機能ブロック図である。 第1実施形態に係るロボットプログラム複製処理を表すフローチャートである。 第1実施例に係る動作を説明するための図であって、ロボットシステムモデルを仮想空間に配置した状態を示す。 第1実施例に係る動作を説明するための図であって、ロボットプログラムを作成した状態を示す。 第1実施例に係る動作を説明するための図であって、ロボットプログラムを表す2次元コードを生成した状態を示す。 第1実施例に係る動作を説明するための図であって、実機のロボットシステムにおいて2次元コードを撮像する状態を示す。 第1実施例に係る動作を説明するための図であって、実機のロボットシステムにおいてロボットプログラムが複製された状態を示す。 第2実施例に係る動作を説明するための図であって、ロボットプログラムを複数に分割して2次元コードを生成した状態を示す。 第2実施例に係る動作を説明するための図であって、実機のロボットシステムにおいてロボットプログラムを分割して生成された複数の2次元コードを撮像する状態を示す。 第2実施例に係る動作を説明するための図であって、実機のロボットシステムにおいてロボットプログラムが複製された状態を示す。 第3実施例に係る動作を説明するための図であって、実機のロボットシステムで作成されたロボットプログラムを表す2次元コードを生成した状態を示す。 プログラミング装置をタブレット端末により構成し、当該タブレット端末を、2次元コードを表示する装置としても用いる場合について説明するための図である。 タブレット端末に表示した2次元コードを実機のロボットシステムにおいて撮像する状態を示す図である。 PCにより構成されたプログラミング装置によりロボットプログラムを生成し、当該ロボットプログラムを表す2次元コードを生成した状態を示す図である。 生成した2次元コードをメール送信又は印刷出力することを説明するための図である。 紙媒体に表示された2次元コードを実機のロボットシステムにおいて撮像する状態を示す図である。 第2実施形態に係るロボットプログラミングシステムの機器構成を示す図である。 第2実施形態に係るプログラミング装置及びロボット制御装置の機能ブロック図である。 第2実施形態に係るロボットプログラム複製処理を表すフローチャートである。 ワークに依存するロボットプログラムの第1の作成例を示す図であって、ロボットシステムモデルを仮想空間に配置した状態を示す。 ワークに依存するロボットプログラムの第1の作成例を示す図であって、ワークの稜線を指定した状態を示す。 ワークに依存するロボットプログラムの第1の作成例を示す図であって、指定した稜線を加工するロボットプログラムが生成された状態を示す。 ワークに依存するロボットプログラムの第2の作成例を示す図であって、作業対象の取り出し位置等を指定した状態を示す。 ワークに依存するロボットプログラムの第2の作成例を示す図であって、ロボットプログラムが生成された状態を示す。 第1の作成例で作成されたロボットプログラムを表す2次元コードが生成された状態を示す図である。 第1の作成例で作成されたロボットプログラムを表す2次元コードを実機のロボットシステムにおいて撮像する状態を示す図である。 第1の作成例で作成されたロボットプログラムが、実機のロボットシステムにおいて実行される状態を示す図である。 ロボットシステムに別のワークが投入され、ワークに貼り付けられた2次元コードが撮像される状態を示す図である。 別のワークに対してロボットプログラムが実行される状態を示す図である。
 次に、本開示の実施形態について図面を参照して説明する。参照する図面において、同様の構成部分または機能部分には同様の参照符号が付けられている。理解を容易にするために、これらの図面は縮尺を適宜変更している。また、図面に示される形態は本発明を実施するための一つの例であり、本発明は図示された形態に限定されるものではない。
 以下、第1実施形態及び第2実施形態に係るロボットプログラミングシステムを説明する。第1実施形態及び第2実施形態に係るロボットプログラミングシステムは、ロボットプログラムをコードに変換するコード変換部を有する第1情報処理装置と、情報媒体上に表示されたコードを撮像する視覚センサと、ロボットを制御するロボット制御装置であって、撮像されたコードの画像を解析しロボットプログラムを復元するコード解析部と、復元されたロボットプログラムを複製して記憶部に記憶するロボットプログラム複製部と、を有するロボット制御装置と、を具備するロボットプログラミングシステムとして構成される。第1情報処理装置は、例えば、ロボットプログラムを作成するためのプログラミング装置である。この構成において、プログラミング装置上で作成されたロボットプログラムはコードに変換され、装置や各種媒体等の情報媒体上に表示される。実機のロボットシステムにおいてロボット(ロボット制御装置)は視覚センサにより情報媒体上に表示されているコードを撮像し、撮像画像を解析してロボットプログラムを復元して複製する。
第1実施形態
 図1は、第1実施形態に係るロボットプログラミングシステム100の機器構成を示す図である。図1に示すように、ロボットプログラミングシステム100は、ロボットプログラムを作成し当該ロボットプグラムをコードに変換する機能を有するプログラミング装置80と、情報媒体90上に表示されたコードを視覚センサ21により撮像しロボットプログラムを復元して複製する機能を有するロボットシステム110とを含む。
 ロボットプログラム等の情報を表すコードとしては、1次元コード、2次元コードを含めた各種コードを用いることができるが、本実施形態(及び以下で述べる各実施形態)では、2次元コードを用いることとする。コードは、画像解析によりコード内に符号化されている情報(符号化パターン)を複合情報として提供するものである。
 プログラミング装置80は、仮想空間上にロボットモデルを含むロボットシステムモデルを配置して仮想空間上でロボットモデルを教示することでロボットプログラムを作成することを可能とする装置である。プログラミング装置80としては、PC(パーソナルコンピュータ)、タブレット端末、その他各種情報処理装置を用いることができる。プログラミング装置80により作成されたロボットプログラムは、2次元コードC1に変換される。
 生成された2次元コードC1は、情報媒体90上に表示され、ロボットシステム110の作業空間内において視覚センサ21により撮像可能な位置に配置される。本明細書において、情報媒体は、情報処理装置(タブレット端末、PC等)の表示画面、紙その他の媒体等、コードを表示可能なあらゆるものを含む。
 2次元コードを表示するために情報処理装置の表示画面を用いる場合、例えば作業者が所有するタブレット端末等の情報処理装置を用いても良いし、プログラミング装置80自体を2次元コードを表示するための装置として機能させても良い。
 ロボットシステム110は、ロボット10と、ロボット10を制御するロボット制御装置50と、ロボット制御装置50に接続された教示操作盤(教示装置)30とを含む。ロボット10のアーム先端部には視覚センサ21が搭載されている。視覚センサ21は、ロボット制御装置50に接続され、ロボット制御装置50からの制御により動作する。
 ロボット10は、アーム先端の手首部に取り付けられたエンドエフェクタによって所望の作業を実行することができる。エンドエフェクタは、用途に応じて交換可能な外部装置であり、例えば、ハンド、溶接ガン、工具等である。図1では、エンドエフェクタの一例としてのハンド15が用いられている例を示す。
 上記構成により、ロボット10(ロボット制御装置50)は、プログラミング装置80で作成され情報媒体90上に表示されている2次元コードC1を、視覚センサ21を用いて読み取り複製することができる。それにより、プログラミング装置80で作成されたロボットプログラムをロボットシステム110に適用する場合の手間や時間を、USBメモリを用いて行うような場合等と比較して大きく削減することができる。
 図2に、プログラミング装置80、ロボット制御装置50、及び教示操作盤30のハードウェア構成例を示す。プログラミング装置80は、一般的な汎用コンピュータのハードウェア構成として、プロセッサ81に対して、メモリ82(ROM、RAM、不揮発性メモリ等)、表示部83、キーボード及びマウス等の入力装置により構成される操作部84、記憶装置(HDD等)85、各種入出力インタフェース86等が接続された構成を有する。ロボット制御装置50は、プロセッサ51に対してメモリ52(ROM、RAM、不揮発性メモリ等)、各種入出力インタフェース53、各種操作スイッチを含む操作部54等がバスを介して接続された、一般的なコンピュータとしての構成を有していても良い。教示操作盤30は、プロセッサ31に対して、メモリ32(ROM、RAM、不揮発性メモリ等)、表示部33、キーボード(或いはソフトウェアキー)等の入力装置により構成される操作部34、各種入出力インタフェース35等がバスを介して接続された、一般的なコンピュータとしての構成を有していても良い。
 図3は、プログラミング装置80及びロボット制御装置50の機能ブロック図である。また、図3には、2次元コードを表示する情報媒体90として、タブレット端末90Aが用いられる場合におけるタブレット端末90Aの機能ブロックを図示した。
 図3に示すように、プログラミング装置80は、仮想空間作成部181と、三次元モデル配置部182と、ロボットプログラム教示部183と、ロボットプログラム分割部184と、コード変換部185と、ファイル出力部187とを有する。なお、プログラミング装置80は、プログラミング装置80自体を2次元コードを表示する装置として用いることができるようにするためにコード表示部186を備えていても良い。
 タブレット端末90Aは、プログラミング装置80から転送された2次元コードを表示するためのコード表示部191を有する。
 ロボット制御装置50は、コード撮像部151と、コード解析部152と、ロボットプログラム複製部153と、ロボットプログラム記憶部154とを有する。
 プログラミング装置80において、仮想空間作成部181は、ロボットシステムを構成する各種モデルを配置するための仮想空間を作成する。三次元モデル配置部182は、実際のロボットシステム110の配置情報に基づいて、仮想空間内に、ロボットモデル等を含むロボットシステムを構成する各物体の三次元モデルを配置する。仮想空間内に配置されたロボットシステムモデルは、プログラミング装置80の表示画面に表示される。
 ロボットプログラム教示部183は、例えば、ユーザインタフェース画面を介してロボットモデルをジョグ操作して教示点を指定する操作や、各種設定パラメータを設定する操作を受け付け、これらユーザ入力に従ってロボットモデルに動作を教示する(すなわち、プログラミングを行う)機能を提供する。
 ロボットプログラム分割部184は、ロボットプログラムが大きい場合等に、ロボットプログラムを分割する機能を提供する。
 コード変換部185は、作成されたロボットプログラムを2次元コードに変換する。コード表示部186は、作成された2次元コードを表示画面上に表示する機能を提供する。
 ファイル出力部187は、作成された2次元コードをファイルに出力する機能を提供する。ファイルとして出力された2次元コードを、電子メール機能によりタブレット端末90Aに転送したり、或いは印刷することができる。
 ロボット制御装置50のコード撮像部151は、情報媒体90上に表示されている2次元コードを、視覚センサ21を用いて撮像する機能を提供する。例えば、コード撮像部151は、視覚センサ21の撮像範囲内に予め設置されている情報媒体90を撮像するように動作しても良いし、作業空間内の所定の位置に設置された情報媒体90を撮像するようにロボット10を移動させるように動作しても良い。なお、コード撮像部151の機能は、ロボットプログラムをコード化したコードを視覚センサ21により撮像した画像に関する情報を取得するコード取得部と表現することもできる。
 なお、ロボット制御装置50は、視覚センサ21を制御する視覚センサ制御装置としての機能をその内部機能として有していても良い。或いは、視覚センサ21を制御する視覚センサ制御装置が、ロボット制御装置50とは別体の装置としてロボットシステム110に提供される構成であっても良い。後者の構成の場合、ロボット制御装置50は、視覚センサ制御装置を介して視覚センサ21を動作させ、また、視覚センサ制御装置を介して視覚センサ21が撮像した画像を取得する。
 コード解析部152は、2次元コードが撮像された画像を解析することで、画像内の2次元コードの領域を抽出し、2次元コードの位置・姿勢を特定し、2次元コード中に符号化されている情報を復号しロボットプログラムを復元する。
 ロボットプログラム複製部153は、復元されたロボットプログラムを複製し、ロボットプログラム記憶部154に記憶させる。
 ロボット制御装置50のこれらの機能により、情報媒体90上に表示された2次元コードにコード化されているロボットプログラムがロボット制御装置50内に複製され記憶される。これにより、ロボット制御装置50は、複製されたロボットプログラムを実行することができる。
 図4は、ロボットプログラミングシステム100において実行される、ロボットプログラムの作成からロボット制御装置50内への複製に至るまでの一連の処理(以下、ロボットプログラム複製処理とも記載する)の基本的な動作を表すフローチャートである。
 はじめに、プログラミング装置80において、ロボットを有するロボットシステムを三次元で表現した、ロボットモデルを有するロボットシステムモデルを仮想空間に配置する(ステップS1)。ステップS1の処理は、仮想空間作成部181及び三次元モデル配置部182による機能により実行される。
 次に、ステップS2において、ロボットプログラム教示部183による支援の下で、操作者は、ロボットの動作を教示する(すなわち、プログラミングを行う)。
 次に、プログラミング装置80(コード変換部185)は、作成されたロボットプログラムを、当該ロボットプログラムの命令文、動作文及び教示位置を含む2次元コードに変換する(ステップS3)。ここで生成された2次元コードは、情報媒体90(例えばタブレット端末90A)に表示される。
 次に、ロボットシステム110において、コード撮像部151による制御の下で、ロボット10が有する視覚センサ21により情報媒体90に表示された2次元コードが撮像され、コード解析部152により解析される(ステップS4)。これにより、ロボットプログラムの、命令文、動作文及び教示位置が復元される。
 次に、ロボット制御装置50(ロボットプログラム複製部153及びロボットプログラム記憶部154)は、復元されたロボットプログラムを複製し、記憶する(ステップS5)。
 以下、プログラミング装置80を用いたロボットプログラムの作成からロボット制御装置50内への複製・記憶に至る一連の動作の具体的な実施例を説明する。
 第1実施例
 第1実施例について、図5から図9を参照して説明する。図5は、仮想空間作成部181により作成された仮想空間内にロボットモデル10M、ワークモデルWM、周辺機器モデル61M、62Mが配置された状態を示している。本例では、ロボットモデル10Mのアーム先端部にエンドエフェクタとしてハンドモデル15Mが取り付けられている例を示す。仮想空間内これらモデルが配置された状態は、プログラミング装置80の表示画面に表示される。
 次に、ロボットプログラム教示部183による支援の下で、操作者は、ロボットプログラムの教示を行う。ここでは、周辺機器モデル61M上に置かれたワークWを取り出して周辺機器モデル62M上に配置する動作を教示する例について説明する。一例として図6に示すように、仮想空間上でロボットモデル10Mをジョグ操作して教示点を1点ずつ調整しながら教示を行う。また、操作者は、仮想空間上でワークモデルWMを取り出す位置や、設置する位置を指定し、更に、ハンドモデル15MでワークモデルWMを把持したときのハンドモデル15Mに対するワークモデルWMの位置を指定する。このように指定された教示内容にしたがって、ロボットプログラム501が自動的に生成される。図6には、ロボットプログラム501が生成された状態を模式的に示している。この場合のロボットプログラム501は、ハンドモデル15Mを取り出し位置に位置付けてワークモデルWMを把持し、待機位置等を経由して設置位置まで移動させてワークモデルWMを設置するための動作命令や教示点の情報を含む。
 次に、コード変換部185は、作成されたロボットプログラムを2次元コードに変換する。図7は、ロボットプログラム501を変換することにより2次元コードC1が生成された状態を模式的に表している。ここで得られた2次元コードC1は、情報媒体90上に表示され、実機のロボット10(視覚センサ21)が撮像可能な位置に位置付けられる。
 次に、図8に示すように、実機のロボット10に搭載された視覚センサ21により、情報媒体90上に表示されている2次元コードC1が撮像され、読み込まれる。
 次に、撮像された2次元コードがロボット制御装置50において解析されロボットプログラム501が復元され、ロボット制御装置50内に複製され記憶される。図9には、実機のロボットシステム110内にロボットプログラム501が複製された状態を模式的に表現した。
 このように第1実施例によれば、プログラミング装置80で作成したロボットプログラムを2次元コードとして表してロボット10に搭載した視覚センサ21により読み取ることで、ロボットプログラムをロボット制御装置50内に複製し記憶させることができる。これにより、プログラミング装置80で作成したロボットプログラムを実機のロボットシステム110に適用する場合における手間、時間が削減される。
 第2実施例
 以下、第2実施例について図10から図12を参照して説明する。第2実施例は、ロボットプログラムのデータ量が多い場合等に、ロボットプログラムを分割して2次元コードを生成する場合の動作例である。
 図10に示すように、プログラミング装置80によりロボットプログラム502が作成されたものとする。ロボットプログラム502は、教示点の数が多くデータ量が多くなっている。ロボットプログラム分割部184は、ロボットプログラム502を所定の規則で分割する。所定の規則は、例えば、(1)分割した各々のプログラムのデータ量が1つの2次元コードの容量内に収まるように分割する、(2)ロボットプログラム内の一まとまりの内容毎に分割する等である。本例では、ロボットプログラム502を4つに分割し、4つの2次元コードC11、C12、C13、C14を生成したものとする。このようにプログラムを分割する場合、各2次元コード中に、何番目のプログラムであるかを示す情報を含めても良い。
 次に、図11に示すように、実機のロボット10に搭載された視覚センサ21により、情報媒体90上に表示された2次元コードC11-C14の撮像が行われる。情報処理装置の表示画面に2次元コードC11-C14が表示される場合、2次元コードC11-C14は表示画面に同時に表示されても良く、或いは、時系列に順に表示されても良い。コード解析部152により撮像された2次元コードC11-C14にコード化されている各プログラムを復元すると共に、各2次元コードに含まれているプログラムの番号を示す情報を用いて、ロボットプログラム502全体を復元する。このように復元されたロボットプログラム502は、ロボット制御装置50内に複製され記憶される。図12には、実機のロボットシステム110においてロボットプログラム502が複製された状態を模式的に表した。
 このように第2実施例によれば、ロボットプログラムの分量が多い場合においても、上述した手間や時間を削減するというメリットを実現しつつ、ロボットプログラムを実機のロボットに確実に適用することができる。
 第3実施例
 以下、第3実施例について図13を参照して説明する。第3実施例は、実機のロボットシステムを用いて作成されたロボットプログラムを他のロボットシステムに適用する場合の動作例である。ロボットプログラムの作成に用いられる実機のロボットシステムを、図13に示すロボットシステム500とする。
 ロボットシステム500は、ロボット510と、ロボット510を制御するロボット制御装置550と、ロボット510の動作を教示するための教示操作盤(教示装置)530とを含む。この構成の場合には、ロボットシステム500における教示操作盤530が、ロボットプログラムを生成するためのプログラミング装置として機能する。なお、図13には、教示操作盤530の機能ブロック図も図示している。
 図13に示すように、教示操作盤530は、ロボット教示部531と、コード変換部532と、ファイル出力部533とを有する。ロボット教示部531は、ロボット510をジョグ操作したり、動作パラメータを設定することを含む教示(すなわち、プログラミング)のための各種機能を提供する。コード変換部532は、ロボット教示部531の支援の下で作成されたロボットプログラムを2次元コードに変換する。ファイル出力部533は、生成された2次元コードをファイルとして出力する機能を提供する。
 図13に示すように、ロボットシステム500において、教示操作盤530を用いてロボットプログラム501が作成されたものとする。教示操作盤530は、ロボットプログラム501を2次元コードC1に変換する。
 生成された2次元コードC1は、情報媒体90(例えば、タブレット端末の表示画面)に表示され、図8を参照して説明したような態様で、他のロボットシステムとしてのロボットシステム110に複製される。
 なお、教示操作盤530自体を2次元コードを表示する装置としても機能させるために、教示操作盤530がコード表示部186としての機能を更に有していても良い。この場合、教示操作盤530の表示画面に表示した2次元コードC1を、他のロボットシステムとしてのロボットシステム110の視覚センサ21に読み込ませることができる。なお、この場合、教示操作盤530は、タブレット端末により構成されても良い。
 或いは、ロボットシステム500で作成されたロボットプログラムを表す2次元コードを、PCを経由してタブレット端末等にメール機能等により転送して2次元コードを表示させ、他のロボットシステムの視覚センサに読み込ませるようにしても良い。
 このように実機のロボットシステムで作成したロボットプログラムを他のロボットシステムに適用するという場面においても、ロボットプログラムをロボットシステムに適用するための手間や時間を大きく削減できるというメリットを得ることができる。
 以下では、プログラミング装置80をどのような装置により構成するか、2次元コードを表示する情報媒体90としてどのような装置或いは媒体を用いるかに関する具体例について説明する。
 図14及び図15を参照し、プログラミング装置80としてタブレット端末80Aを使用すると共に、当該タブレット端末80Aを、2次元コードを表示するための表示装置としても用いる場合について説明する。
 図14に示すように、本例では、タブレット端末80Aを用いてロボットプログラム501が作成される。タブレット端末80Aのコード変換部185により、ロボットプログラム501が2次元コードC1に変換され、当該タブレット端末80A上の表示画面に表示される。
 図15に示すように、作業者は、2次元コードC1が表示されているタブレット端末80Aを、視覚センサ21の撮像範囲内の所定の位置に配置する或いは自身で保持する等により、2次元コードC1を視覚センサ21に読み込ませる。これにより、ロボットシステム110にはロボットプログラム501が複製され記憶される。
 以下、2次元コードC1のロボットシステムへの提示に関する具体的な構成例について図16から図18を参照して説明する。
 図16に示すように、本例では、プログラミング装置80としてPC(パーソナルコンピュータ)を使用する。プログラミング装置80は、ロボットシステム110が設置された場所とは遠隔の場所に配置されていても良い。プログラミング装置80を用いてロボットプログラム501が作成されたものとする。ロボットプログラム501は、プログラミング装置80のコード変換部185により2次元コードC1に変換され、ファイル出力部187によりファイルとして生成される。
 図17に示すように、プログラミング装置80を用いて作成された2次元コードC1は、電子メール機能によりプログラミング装置80から作業者のタブレット端末90Aに転送されても良く、或いは、プログラミング装置80に接続されたプリンタから印刷出力されても良い。印刷される場合には、印刷された紙媒体90Bが、情報媒体90としての役割を果たす。
 2次元コードC1をタブレット端末90Aに転送して表示させる場合には、図15を参照して前述したような態様で、タブレット端末90Aに表示させた2次元コードをロボットシステム110の視覚センサ21に読み込ませることができる。
 2次元コードを印刷出力する場合には、図18に示すように2次元コードC1が印刷された紙媒体90Bを、視覚センサ21の撮像範囲内の所定の位置に配置するか或いは作業者が保持して、視覚センサ21に読み込ませる。これにより、ロボットシステム110にはロボットプログラム501が複製され記憶される。
 上述のように、本実施形態によれば、プログラミング装置で作成されたロボットプログラムをロボットシステムに適用する場合の手間や時間を、USBメモリを用いて行うような場合等と比較して大きく削減することができる。
 なお、図1に示した構成において、プログラミング装置80で生成された2次元コードC1のデータファイルをメール機能によりロボットシステム110の教示操作盤30に転送して、教示操作盤30の表示画面に表示し、視覚センサ21に読み込ませるような構成例も有り得る。この場合、教示操作盤30は、タブレット端末により構成されても良い。
第2実施形態
 図19は、第2実施形態に係るロボットプログラミングシステム200の機器構成を表す図である。図19に示すように、ロボットプログラミングシステム200は、ロボットプログラムを作成し当該ロボットプログラムを2次元コードに変換する機能を有するプログラミング装置280と、2次元コードを視覚センサ221により撮像しロボットプログラムを復元して複製する機能を有するロボットシステム201とを含む。本実施形態では、ロボットプログラムの2次元コードが作業対象のワークWに貼り付けられた状態でロボットシステム201に投入される。
 図19に示すように、ロボットシステム201は、ロボット210と、ロボット210を制御するロボット制御装置250と、ロボット制御装置250に接続された教示操作盤(教示装置)230とを含む。ロボット210のアーム先端部には視覚センサ221が搭載されている。作業対象となるワークWは、周辺機器61上に載置されている。視覚センサ221は、ロボット制御装置250に接続され、ロボット制御装置250からの制御により動作する。
 ロボット210は、アーム先端の手首部に取り付けられたエンドエフェクタによって所望の作業を実行することができる。図19では、エンドエフェクタの一例としての研磨ツール216が用いられている例を示す。
 ロボットプログラミングシステム200では、プログラミング装置280で作成された、ワークに依存するロボットプログラムが2次元コードC2に変換され、媒体に印刷されて、作業対象のワークの所定の位置に貼り付けられる。例えば搬送装置によりワークWがロボットシステム201の作業空間に搬入されると、ロボットシステム201では、視覚センサ221によりワークW上の2次元コードC2が撮像され、ロボットプログラムが復元されてロボットシステム201に複製される。これにより、ロボットシステム201は、ワークWに適用するロボットプログラムを実行できるようになる。ロボットシステム201は、ワークWに貼り付けられた2次元コードを読み取ることで当該ワークに適用するロボットプログラムを複製することができるため、ワークWのためのロボットプログラムをロボットシステム201(ロボット制御装置250)に予め記憶させておく作業を行う必要がない。
 プログラミング装置280は、仮想空間上にロボットモデル及びワークモデルを含むロボットシステムモデルを配置して仮想空間上でロボットモデルを教示することでロボットプログラムを作成することを可能とする装置である。プログラミング装置280として、PC、タブレット端末その他の各種情報処理装置を用いることができる。
 プログラミング装置280、ロボット制御装置250、教示操作盤230、のハードウェア構成例は、図2に示した、プログラミング装置80、ロボット制御装置50、教示操作盤30のハードウェア構成例と同様である。
 図20は、プログラミング装置280及びロボット制御装置250の機能ブロック図である。図20に示すように、プログラミング装置280は、仮想空間作成部281と、三次元モデル配置部282と、作業対象指定部283と、作業プログラム生成部284と、コード変換部285とを有する。ロボット制御装置250は、コード撮像部251と、コード解析部252と、ロボットプログラム複製部253と、ロボットプログラム記憶部254と、ロボットプログラム実行部255と、を有する。
 プログラミング装置280において、仮想空間作成部281は、ロボットシステムを構成する各種モデルを配置するための仮想空間を作成する。三次元モデル配置部282は、実際のロボットシステムの配置情報に基づいて仮想空間内にロボットモデル及びワークモデルを含む、ロボットシステムを構成する各物体の三次元モデルを配置する。仮想空間内に配置されたロボットシステムモデルは、プログラミング装置280の表示画面に表示される。
 作業対象指定部283は、ワークWの3次元モデルから抽出可能なワークWの形状的特徴(輪郭線、面等)に基づき、操作者が仮想空間(表示画面)上に表示されたワークモデルにおける作業対象箇所を指定する操作を支援し、指定された作業対象箇所を特定する機能を有する。
 作業プログラム生成部284は、作業対象指定部283により特定されている作業対象箇所に対して作業ツールを用いた所定の作業を実行するためのロボットプログラムを自動的に生成する。
 コード変換部285は、作成されたロボットプログラムを2次元コードに変換する。
 ロボット制御装置250のコード撮像部251は、作業空間に投入されたワークWに貼り付けられた2次元コードを視覚センサ221により撮像する。なお、コード撮像部251は、ワークWに貼り付けられたコードを視覚センサ221により撮像した画像に関する情報を取得するコード取得部と表現することもできる。
 なお、ロボット制御装置250は、視覚センサ221を制御する視覚センサ制御装置としての機能をその内部機能として有していても良い。或いは、視覚センサ221を制御する視覚センサ制御装置が、ロボット制御装置250とは別体の装置としてロボットシステム201に提供される構成であっても良い。後者の構成の場合、ロボット制御装置250は、視覚センサ制御装置を介して視覚センサ221を動作させ、また、視覚センサ制御装置を介して視覚センサ221が撮像した画像を取得する。
 コード解析部252は、撮像された2次元コードの画像を解析しロボットプログラムを復元する。
 ロボットプログラム複製部253は、復元されたロボットプログラムを複製し、ロボットプログラム記憶部254に記憶する。ロボットプログラム実行部255は、複製されたロボットプログラムを実行する機能を有する。
 図21は、ロボットプログラミングシステム200において実行される、ロボットプログラムの作成からロボット制御装置250への複製に至るまでの一連の処理(プログラム複製処理とも記載する)の基本的な動作を表すフローチャートである
 はじめに、プログラミング装置280において、ロボット、およびワークを有するロボットシステムを三次元で表現した、ロボットモデル、およびワークモデルを有するロボットシステムモデルを仮想空間上に配置する(ステップS11)。ステップS11の処理は、仮想空間作成部281及び三次元モデル配置部282により行われる。
 次に、作業対象指定部283による支援の下で、操作者によるワークモデルに対する作業対象の指定が行われる(ステップS12)。
 次に、作業プログラム生成部284により、指定された作業対象についてワークモデルに対して作業を行うためのロボットプログラムの自動生成が行われる(ステップS13)。
 次に、コード変換部285は、ワークモデルに対し作業を行うロボットプログラムを、ワークモデルに対して作業を行うロボットプログラムの命令文、動作文及び教示位置の情報を含む2次元コードに変換する(ステップS14)。例示として、2次元コードは、媒体に印刷され、例えば図19に示すようなロボット210の姿勢において視覚センサ221から撮像可能なワークの所定の位置に貼り付けられる。
 次に、ロボット制御装置250(コード撮像部251、コード解析部252)において、ロボット210が有する視覚センサ221により、ワークW上の所定位置に貼り付けられた2次元コードの撮像が行われると共に、撮像画像を用いて2次元コードの解析が行われる(ステップS15)。これにより、ロボットプログラムの、命令文、動作文及び教示位置が復元される。
 次に、ロボット制御装置250(ロボットプログラム複製部253、ロボットプログラム記憶部254)は、ワークWに対して作業を行うロボットプログラムを複製し、記憶する(ステップS16)。
 以下、ロボットプログラミングシステム200による具体的な動作例について説明する。
 図22から図24は、ワークに依存するロボットプログラムの第1の作成例を示す図である。図22は、プログラミング装置280により、仮想空間(表示画面)にロボットモデル210M、ワークモデルWM、及び周辺機器モデル61Mが配置された状態を示している。ロボットモデル210Mのアーム先端部には視覚センサモデル221Mと、作業ツールとしての研磨ツールモデル216Mが取り付けられている。
 図23は、作業対象指定部283による支援の下で、操作者が、ワークモデルWMの上部円筒部の稜線L1を作業対象として指定した状態を示している。
 次に、図24に示すように、作業プログラム生成部284は、指定された稜線L1に沿って研磨ツールモデル216Mを移動させて研磨作業を行うためのロボットプログラム503を自動生成する。この場合のロボットプログラム503は、稜線L1に沿った複数の教示点と、教示点を経由し稜線L1に沿って研磨ツールモデル216Mを移動させるための動作命令の情報を含む。
 図25及び図26は、ワークに依存するロボットプログラムの第2の作成例を示す図である。図25は、仮想空間(表示画面)にロボットモデル210M、ワークモデルWM、及び周辺機器モデル61M、62Mが配置された状態を示している。図25に示すように、本例では、ロボットモデル210Mのアーム先端部には、視覚センサモデル221Mと、作業ツールとしてハンドモデル215Mが取り付けられている。
 本例では、操作者は、作業対象指定部283の支援の下で、仮想空間(表示画面)上でワークWMの取り出し位置P1と、設置位置P2とを作業対象として指定する。
 続いて、図26に示すように、作業プログラム生成部284は、ハンドモデル215Mを用いてワークモデルWMを取り出し位置P1から取り出して設置位置P2に設置するロボットプログラム504を自動生成する。ロボットプログラム504は、ハンドモデル215Mを取り出し位置P1に位置付けてワークモデルWMを把持し、経由点を経由し設置位置P2まで移動させてワークモデルWMを設置するための動作命令や教示点の情報を含む。
 図27に模式的に示すように、プログラミング装置280のコード変換部285は、上述のように生成されたロボットプログラム503を2次元コードC2に変換する。この2次元コードC2は印刷装置(不図示)により所定の媒体に印刷され、作業前のワークWの所定の位置に貼り付けられる。
 図28に示すように、作業空間にワークWが投入されると、ロボット210(ロボット制御装置250)はワークWの所定位置に貼り付けられた2次元コードC2を、視覚センサ221を用いて撮像する。ロボット制御装置250(コード解析部252)により2次元コードが解析されロボットプログラム503が復元され、複製されてロボット制御装置250内に保存される。これにより、図29に示すように、実機のロボット210は、ワークWに対してロボットプログラム503を実行することができるようになる。
 ワークWに対する作業が完了した後、図30に示すように、作業空間に別のワークW2が投入されたとする。この場合でも、ロボット210(ロボット制御装置250)は視覚センサ221によりワークW2に貼り付けられた2次元コードC3を読み取ることで、2次元コードC3としてコード化されている、ワークW2のためのロボットプログラムを複製して記憶することができる。
 それによって、図31に示すように、実機のロボット210は、ワークW2に対して、2次元コードC3に対応するロボットプログラム505を実行することができるようになる。
 以上のように本実施形態によれば、プログラミング装置で作成された動作プログラムをロボットシステムに適用する場合の手間や時間を、USBメモリを用いて行うような場合等と比較して大きく削減することができる。
 更に、本実施形態によれば、ワークに依存するロボットプログラムをコード化した2次元コードが作業空間に投入されるワークに貼り付けられているため、ロボットシステムは、ワークを処理するためのロボットプログラムを記憶する必要がない。また、作業空間に投入された一つのワークに対するプログラムを完了すると、次に処理すべきワークにはプログラムを表す2次元コードが貼り付けられているため、ロボット制御装置250(ロボットプログラム実行部255)は作業を完了したワークのプログラムを削除することができる。
 これにより、ロボット制御装置250内の記憶領域が圧迫されることを回避することができる。特に、ロボットシステムにおいて多品種のワークを取り扱う場合でも、ロボット制御装置250内の記憶領域が圧迫されることを回避できる点が注目される。
 なお、同一のワークに対する作業が連続するような状況では、2次元コード内にワークがいくつ連続して投入されるかに関する情報(ワーク数に関する情報)を含めるようにしても良い。この場合、ロボット制御装置250は、作業空間に投入されたワークに貼り付けられた2次元コードにワーク数の情報が含まれている場合、ロボットプログラムを保持し、指定されているワーク数分だけ、ロボットプログラムを繰り返し実行する。そして、ロボット制御装置250は、指定されたワーク数分のワークに対する作業が終了したら、ロボットプログラムを削除する。なお、この場合には、連続して投入されるワークのうちの最初のワークのみに2次元コードを貼り付けるやり方をとることができる。
 第2実施形態では、2次元コードをワークに貼り付ける構成について説明したが、以下で述べるような変形例を構成することも可能である。例えば、2次元コードをタブレット端末等の表示装置に表示するような構成例が有り得る。例えば、この表示装置を作業空間内の所定の位置に配置し、作業空間にワークが投入されるタイミングでこの表示装置に当該ワークに対するロボットプログラムの2次元コードを表示するようにする。更に、ワークの搬送経路の上流側においてセンサ(カメラ等)によりワークが作業空間に搬入されてくることを検出し、表示装置に通知する構成とする。表示装置には、プログラミング装置から複数種類のロボットプログラムの2次元コードを転送し記憶させておく。また、センサからの通知には、搬入されるワークの種別を表す情報も含める。表示装置は、通知を受けとると当該通知に対応するワークを処理するロボットプログラムの2次元コードを特定し、当該2次元コードを表示する構成とする。
 以上説明したように、各本実施形態によれば、プログラミング装置で作成された動作プログラムをロボットシステムに適用する場合の手間や時間を、USBメモリを用いて行うような場合等と比較して大きく削減することができる。
 以上、典型的な実施形態を用いて本発明を説明したが、当業者であれば、本発明の範囲から逸脱することなしに、上述の各実施形態に変更及び種々の他の変更、省略、追加を行うことができるのを理解できるであろう。
 上述の実施形態では、2次元コードを撮像するための視覚センサはロボットに搭載される構成例を記載したが、視覚センサを作業空間内の固定位置に設置するような構成例も有り得る。この場合、2次元コードを表示する情報媒体(例えば、タブレット端末)が視覚センサの撮像範囲の所定位置に位置付けられ、視覚センサにより2次元コードが読み取られる。
 図3や図20を参照して説明したプログラミング装置、ロボット制御装置、2次元コードを表示するための装置の機能ブロックは、これらの装置のプロセッサが、記憶装置に格納された各種ソフトウェアを実行することで実現されても良く、或いは、ASIC(Application Specific Integrated Circuit)等のハードウェアを主体とした構成により実現されても良い。
 上述した実施形態におけるロボットプログラム複製処理等の各種の処理を実行するプログラムは、コンピュータに読み取り可能な各種記録媒体(例えば、ROM、EEPROM、フラッシュメモリ等の半導体メモリ、磁気記録媒体、CD-ROM、DVD-ROM等の光ディスク)に記録することができる。
 10  ロボット
 10M  ロボットモデル
 15  ハンド
 15M  ハンドモデル
 21  視覚センサ
 30  教示操作盤
 31  プロセッサ
 32  メモリ
 33  表示部
 34  操作部
 35  入出力インタフェース
 50  ロボット制御装置
 51  プロセッサ
 52  メモリ
 53  入出力インタフェース
 54  操作部
 61、62  周辺機器
 61M、62M  周辺機器モデル
 80  プログラミング装置
 81  プロセッサ
 82  メモリ
 83  表示部
 84  操作部
 85  記憶装置
 86  入出力インタフェース
 90  情報媒体
 90A  タブレット端末
 100  ロボットプログラミングシステム
 110  ロボットシステム
 151  コード撮像部
 152  コード解析部
 153  ロボットプログラム複製部
 154  ロボットプログラム記憶部
 181  仮想空間作成部
 182  三次元モデル配置部
 183  ロボットプログラム教示部
 184  ロボットプログラム分割部
 185  コード変換部
 186  コード表示部
 187 ファイル出力部
 191  コード表示部
 200  ロボットプログラミングシステム
 201  ロボットシステム
 210  ロボット
 210M  ロボットモデル
 215M  ハンドモデル
 216  研磨ツール
 216M  研磨ツールモデル
 221  視覚センサ
 221M  視覚センサモデル
 230  教示操作盤
 250  ロボット制御装置
 251  コード撮像部
 252  コード解析部
 253  ロボットプログラム複製部
 254  ロボットプログラム記憶部
 255  ロボットプログラム実行部
 281  仮想空間作成部
 282  三次元モデル配置部
 283  作業対象指定部
 284  作業プログラム生成部
 285  コード変換部
 W  ワーク
 WM  ワークモデル

Claims (15)

  1.  ロボットプログラムをコードに変換するコード変換部を有する第1情報処理装置と、
     情報媒体上に表示された前記コードを撮像する視覚センサと、
     ロボットを制御するロボット制御装置であって、
      撮像された前記コードの画像を解析し前記ロボットプログラムを復元するコード解析部と、
      復元された前記ロボットプログラムを複製して記憶部に記憶するロボットプログラム複製部と、を有するロボット制御装置と、
    を具備するロボットプログラミングシステム。
  2.  前記第1情報処理装置は、
     前記ロボットを有するロボットシステムを三次元で表現した、ロボットモデルを有するロボットシステムモデルを仮想空間に配置するモデル配置部と、
     ユーザ入力に従って、前記ロボットシステムモデルに対して教示を行うロボットプログラム教示部と、
     前記教示により作成された前記ロボットプログラムを当該ロボットプログラムの命令文、動作文および教示位置の情報を含むコードに変換する前記コード変換部と、を有するプログラミング装置である、請求項1に記載のロボットプログラミングシステム。
  3.  前記第1情報処理装置は、実機のロボットを教示して前記ロボットプログラムを生成するための教示装置である、請求項1に記載のロボットプログラミングシステム。
  4.  前記コードが表示される前記情報媒体は、第2情報処理装置の表示画面である、請求項1から3のいずれか一項に記載のロボットプログラミングシステム。
  5.  前記第1情報処理装置は、電子メール機能により前記コードを前記第2情報処理装置に転送する、請求項4に記載のロボットプログラミングシステム。
  6.  前記コードが表示される前記情報媒体は、前記第1情報処理装置の表示画面である、請求項1から3のいずれか一項に記載のロボットプログラミングシステム。
  7.  前記コードが表示された前記情報媒体は紙媒体である、請求項1から3のいずれか一項に記載のロボットプログラミングシステム。
  8.  前記第1情報処理装置は、前記ロボットプログラムを複数に分割するロボットプログラム分割部を更に有し、
     前記コード変換部は、複数に分割されたそれぞれの前記ロボットプログラムに対応する複数のコードを生成し、
     前記視覚センサは、前記複数のコードを撮像し、
     前記コード解析部は、前記複数のコードについて撮像された画像から前記ロボットプログラム全体を復元する、請求項1から7のいずれか一項に記載のロボットプログラミングシステム。
  9.  前記第1情報処理装置は、
     前記ロボット、及びワークを有するロボットシステムを三次元で表現した、ロボットモデル、及びワークモデルを有するロボットシステムモデルを仮想空間上に配置するモデル配置部と、
     前記ワークモデルの作業対象を指定するための作業対象指定部と、
     指定された前記作業対象に対して作業を行うためのロボットプログラムを生成する作業プログラム生成部と、
     生成された前記ロボットプログラムを当該ロボットプログラムの命令文、動作文および教示位置の情報を含むコードに変換する前記コード変換部と、を有するプログラミング装置である、請求項1に記載のロボットプログラミングシステム。
  10.  前記コードが表示された前記情報媒体は、前記コードが印刷された媒体であり前記ワーク上の所定位置に貼り付けられている、請求項9に記載のロボットプログラミングシステム。
  11.  前記ロボット制御装置は、複製された前記ロボットプログラムを実行するプログラム実行部を更に備え、
     前記プログラム実行部は、前記ワークに対する前記ロボットプログラムの実行が終了した後、前記記憶部に記憶された前記ロボットプログラムを削除する、請求項9又は10に記載のロボットプログラミングシステム。
  12.  前記ロボット制御装置は、複製された前記ロボットプログラムを実行するプログラム実行部を更に備え、
     前記コードには、前記ロボットプログラムを実行すべき前記ワークのワーク数に関する情報が含まれ、
     前記プログラム実行部は、前記ワーク数分だけ前記ロボットプログラムを繰り返し実行した後、前記記憶部に記憶された前記ロボットプログラムを削除する、請求項9又は10に記載のロボットプログラミングシステム。
  13.  ロボットを制御するロボット制御装置であって、
     ロボットプログラムをコード化したコードを視覚センサにより撮像した画像に関する情報を取得するコード取得部と、
     撮像された前記コードの画像に関する情報を解析し前記ロボットプログラムを復元するコード解析部と、
     復元された前記ロボットプログラムを複製して記憶部に記憶するロボットプログラム複製部と、
    を備えるロボット制御装置。
  14.  ロボットを制御するロボット制御装置であって、
     ワークに依存する作業を実行するためのロボットプログラムをコード化したコードであって、前記ワークに貼り付けられたコードを視覚センサにより撮像した画像に関する情報を取得するコード取得部と、
     撮像された前記コードの画像に関する情報を解析し前記ロボットプログラムを復元するコード解析部と、
     復元された前記ロボットプログラムを複製して記憶部に記憶するロボットプログラム複製部と、
     前記ロボットプログラムを実行するプログラム実行部と、
    を備えるロボット制御装置。
  15.  前記プログラム実行部は、前記ワークに対する前記ロボットプログラムの実行が終了した後、前記記憶部に記憶された前記ロボットプログラムを削除する、請求項14に記載のロボット制御装置。
PCT/JP2022/013638 2022-03-23 2022-03-23 ロボットプログラミングシステム及びロボット制御装置 WO2023181206A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2022/013638 WO2023181206A1 (ja) 2022-03-23 2022-03-23 ロボットプログラミングシステム及びロボット制御装置
TW112106582A TW202337654A (zh) 2022-03-23 2023-02-23 機器人程式設計系統及機器人控制裝置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/013638 WO2023181206A1 (ja) 2022-03-23 2022-03-23 ロボットプログラミングシステム及びロボット制御装置

Publications (1)

Publication Number Publication Date
WO2023181206A1 true WO2023181206A1 (ja) 2023-09-28

Family

ID=88100543

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/013638 WO2023181206A1 (ja) 2022-03-23 2022-03-23 ロボットプログラミングシステム及びロボット制御装置

Country Status (2)

Country Link
TW (1) TW202337654A (ja)
WO (1) WO2023181206A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03264282A (ja) * 1990-03-14 1991-11-25 Mitsubishi Heavy Ind Ltd 産業用ロボットのプログラム選択方法
JP2006343934A (ja) * 2005-06-08 2006-12-21 Denso Wave Inc 情報コード、情報コード読取装置及び情報コード読取装置のデータ更新システム
JP2012150617A (ja) * 2011-01-18 2012-08-09 Nec Corp 操作情報収集システム、操作情報収集システム制御方法およびその制御用プログラム
WO2018100614A1 (ja) * 2016-11-29 2018-06-07 三菱電機株式会社 情報伝送方法および車載カメラシステム
JP2018192569A (ja) * 2017-05-18 2018-12-06 ファナック株式会社 プログラミング装置及びロボット制御方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03264282A (ja) * 1990-03-14 1991-11-25 Mitsubishi Heavy Ind Ltd 産業用ロボットのプログラム選択方法
JP2006343934A (ja) * 2005-06-08 2006-12-21 Denso Wave Inc 情報コード、情報コード読取装置及び情報コード読取装置のデータ更新システム
JP2012150617A (ja) * 2011-01-18 2012-08-09 Nec Corp 操作情報収集システム、操作情報収集システム制御方法およびその制御用プログラム
WO2018100614A1 (ja) * 2016-11-29 2018-06-07 三菱電機株式会社 情報伝送方法および車載カメラシステム
JP2018192569A (ja) * 2017-05-18 2018-12-06 ファナック株式会社 プログラミング装置及びロボット制御方法

Also Published As

Publication number Publication date
TW202337654A (zh) 2023-10-01

Similar Documents

Publication Publication Date Title
JP6527178B2 (ja) 視覚センサのキャリブレーション装置、方法及びプログラム
JP2993673B2 (ja) 電子ファイル装置
JP6829221B2 (ja) 数値制御システム
JPH11333563A (ja) 溶接ロボット
TW202109028A (zh) 自動判別處理裝置、自動判別處理方法、檢查系統、程式、及記錄媒體
JP2020082274A5 (ja)
JP7415037B2 (ja) ロボットプログラミング装置、及びロボットプログラミング方法
WO2023181206A1 (ja) ロボットプログラミングシステム及びロボット制御装置
US4555590A (en) Method and apparatus for entering graphics
Rupanagudi et al. A novel automatic low cost cutting machine-cum-3D printer using an image processing based control
WO2023243001A1 (ja) ロボットプログラミング装置及びロボットプログラミングシステム
CN115741666A (zh) 机器人手眼标定方法、机器人及机器人作业方法
JP2023070029A (ja) 履歴管理装置及びプログラム
JP3765061B2 (ja) 多次元形状の座標計測機用オフライン・ティーチング・システム
JPS59177607A (ja) 自動プログラミング方法
KR20220085242A (ko) 공작기계용 기구물 종류 및 위치 인식 방법
JP2017120454A (ja) 実績収集システム
Solvang et al. SAPIR: Supervised and adaptive programming of industrial robots
JP2021086219A (ja) 協調作業システム、解析収集装置および解析プログラム
US20230271314A1 (en) Information processing apparatus, robot system, information processing method, manufacturing method for product, and recording medium
JP5170565B2 (ja) 家事支援システム及び家事支援プログラム
JPH0628209A (ja) プログラム検査装置
JP4812477B2 (ja) 画像計測装置用パートプログラム生成装置、画像計測装置用パートプログラム生成方法、及び画像計測装置用パートプログラム生成用プログラム
JPH1091225A (ja) ロボットのための画像処理プログラム自動生成方法、その装置およびロボットプログラム自動修正方法
JP2015026266A (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: 22933348

Country of ref document: EP

Kind code of ref document: A1