WO2018180298A1 - ロボット教示装置、ロボット教示装置の制御方法及びロボット教示プログラム - Google Patents

ロボット教示装置、ロボット教示装置の制御方法及びロボット教示プログラム Download PDF

Info

Publication number
WO2018180298A1
WO2018180298A1 PCT/JP2018/008719 JP2018008719W WO2018180298A1 WO 2018180298 A1 WO2018180298 A1 WO 2018180298A1 JP 2018008719 W JP2018008719 W JP 2018008719W WO 2018180298 A1 WO2018180298 A1 WO 2018180298A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
workpiece
work
robot teaching
operation program
Prior art date
Application number
PCT/JP2018/008719
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 日本電産株式会社
Publication of WO2018180298A1 publication Critical patent/WO2018180298A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine

Definitions

  • the present invention relates to a robot teaching device, a control method for the robot teaching device, and a robot teaching program.
  • the present invention has been made in view of the above problems, and provides a robot teaching apparatus, a robot teaching apparatus control method, and a robot teaching program provided with a user interface for inputting movement information for specifying the movement of a workpiece moving on a conveyance path.
  • One purpose is to provide.
  • a robot teaching apparatus that solves the above-described problem is a robot teaching apparatus that generates an operation program for controlling a robot that performs a work on a workpiece moving on a conveyance path, and that moves the workpiece on the conveyance path.
  • a motion information input receiving unit that receives an input of information; and an operation program generating unit that generates the operation program so that the robot works on the workpiece on the conveyance path based on the motion information.
  • a robot teaching device a control method for the robot teaching device, and a robot teaching program provided with a user interface for inputting motion information for specifying the motion of a workpiece moving on the conveyance path.
  • FIG. 1 An arm type robot 40 according to the present embodiment is shown in FIG.
  • the arm-type robot 40 is an articulated robot having six axes (x-axis, y-axis, z-axis, and rotation directions ⁇ x, ⁇ y, ⁇ z of each axis) configured to include an arm 51 and a hand (holding unit) 50. It is.
  • the arm type robot 40 performs an operation on the workpiece W conveyed on the conveyance path on the conveyor 45.
  • the arm type robot 40 performs an operation such as placing the workpiece W on the conveyor 45 (“place”) or taking it out of the conveyor 45 (“pick up”).
  • the movement of the arm type robot 40 when performing these operations is realized by the arm type robot 60 executing an operation program 710 generated by the robot teaching apparatus 10 described later executing the robot teaching program 610. .
  • the robot teaching apparatus 10 generates the motion program 710 based on the motion information 720 set to identify the motion of the workpiece W, so that the arm type robot 40 dynamically moves on the conveyor 45. It is possible to perform work on the workpiece W whose position is changed.
  • the work W is a music box OG as an example in the present embodiment.
  • FIG. 1 shows a state where the music box B1 is conveyed on the conveyor 45 and the arm type robot 40 holds one music box A1.
  • the music boxes OG are individually distinguished, they are shown as music boxes A1 and B1 as shown in FIG.
  • the conveyor 45 is provided with a sensor 300 for detecting a conveyed object such as a music box OG being conveyed at a predetermined reference position.
  • a sensor 300 for detecting a conveyed object such as a music box OG being conveyed at a predetermined reference position.
  • the arm type robot 40 can detect that the music box OG has passed the reference position by the detection signal of the music box OG from the sensor 300.
  • the arm-type robot 40, the conveyor 45, the workpiece W, and the sensor 300 illustrated in FIG. 1 are virtualized when the robot teaching device 10 described below executes a three-dimensional CAD program 620. It is modeled in space and stored in the robot teaching apparatus 10 as three-dimensional CAD data D.
  • the robot teaching device 10 is a device for performing offline teaching on the arm type robot 40. Specifically, the robot teaching device 10 defines the movement of the arm type robot 40 in a virtual space imitating the real space in which the arm type robot 40 performs work by three-dimensional CAD, thereby causing the arm type robot 40 to move. An operation program 710 to be controlled is generated.
  • FIG. 2 is a diagram illustrating a configuration of the robot teaching apparatus 10.
  • the robot teaching device 10 includes a computer having a CPU (Central Processing Unit) 20, a memory 21, a storage device 22, an input device 23, a display device 24, and a communication device 25.
  • CPU Central Processing Unit
  • the CPU 20 implements various functions in the robot teaching device 10 by executing a program 600 stored in the memory 21 or the storage device 22.
  • a program 600 stored in the memory 21 or the storage device 22.
  • the functions of the motion information input reception unit 80, the operation program generation unit 81, the first acquisition unit 82, the second acquisition unit, the calculation unit 84, and the display control unit 85 illustrated in FIG. 9 are realized.
  • the movement information input receiving unit 80 receives input of movement information 720 for specifying the movement of the work W moving on the conveyance path on the conveyor 45.
  • the robot teaching apparatus 10 displays a later-described motion information setting screen 61 on the display device 24 and accepts input of motion information 720.
  • the operation program generation unit 81 generates an operation program 710 so that work on the workpiece W on the conveyor 45 is performed based on the movement information 720.
  • the first acquisition unit 82 acquires a predetermined point of the work W provided at the first position in the virtual space corresponding to the real space where the arm type robot 40 performs work as the first point.
  • the second acquisition unit acquires a predetermined point of the work W provided at the second position in the virtual space as the second point.
  • the calculation unit 84 calculates the trajectory of the hand 50 when the arm-type robot 40 moves the workpiece W from the first position to the second position by the hand 50 in the virtual space, using the first point and the second point. Calculate based on
  • the display control unit 85 causes the display device 24 (described later) to display the movement of the hand 50 in the arm type robot 40 when the arm type robot 40 moves the hand 50.
  • a three-dimensional CAD program 620 for realizing the above is included.
  • the memory 21 is a storage means such as a RAM (Random-Access Memory), and is used as a temporary storage area such as the program 600 and the data 700.
  • RAM Random-Access Memory
  • the storage device 22 is a non-volatile storage means such as a hard disk or SSD (Solid State Drive), and stores the program 600 and data 700.
  • the data 700 stored in the storage device 22 includes the above-described three-dimensional CAD data D as shown in FIG.
  • the three-dimensional CAD data D carries the three-dimensional CAD data Da indicating the three-dimensional model of the arm type robot 40, the three-dimensional CAD data Db indicating the three-dimensional model of the work W that is the work target, and the work W.
  • 3D CAD data Dc indicating the 3D model of the conveyor 45
  • 3D CAD data Dd indicating the 3D model of the sensor are included.
  • the three-dimensional CAD data Da includes information on the world coordinate system and the local coordinate system in the virtual space where the model of the arm type robot 40 is arranged.
  • the three-dimensional CAD data Db, Dc, Dd is the same as the three-dimensional CAD data Da.
  • the data 700 stored in the storage device 22 also includes an operation program 710 that defines the operation of the arm type robot 40 such as “place” and “pick up” described above.
  • the operation program 710 is generated when the robot teaching apparatus 10 executes the robot teaching program 610 using the three-dimensional CAD data D.
  • the data 700 includes movement information 720 for specifying the movement of a transported object such as a work W on the conveyor 45. Details will be described later.
  • the input device 23 is, for example, a touch panel or a keyboard, and is a user interface device that accepts an operation input by a user.
  • the display device 24 is, for example, a display, and is a user interface device that displays various information and processing results.
  • the communication device 25 is a communication means such as a network interface, and transmits / receives data to / from an external computer or the arm robot 40 via a communication network (not shown) such as the Internet or a LAN (Local Area Network). Do.
  • the communication device 25 communicates with the arm type robot 40 to set an operation program 710 for executing the operations such as “place” and “pick ⁇ up” in the arm type robot 40.
  • the robot teaching apparatus 10 downloads the robot teaching program 610 and the three-dimensional CAD program 620 via the communication device 25 and stores them in the storage device 22. You may do it.
  • the robot teaching device 10 may read the robot teaching program 610 and the three-dimensional CAD program 620 recorded on the recording medium 800 such as a CDROM or DVD and store them in the storage device 22.
  • FIG. 4 shows a hierarchical structure of each component set when reproducing each component arranged at the work place of the arm type robot 40 on the three-dimensional CAD.
  • This hierarchical structure is set based on the mutual arrangement relationship of each component.
  • a unique coordinate system is set for each of these components, and the coordinate system of each component is defined as a local coordinate system within the coordinate system of the higher-level component.
  • the hierarchical structure diagram shown in FIG. 4 is displayed as a screen 30 on the display device 24 by the robot teaching program 610 based on information on the coordinate system of each component included in the three-dimensional CAD data D.
  • World represents a coordinate system (hereinafter also referred to as a world coordinate system) that is placed in the highest hierarchy and set in the work place itself.
  • “Robot” indicating the model of the arm type robot 40 and “Conveyor” indicating the conveyor 45 are set. For this reason, “Robot” and “Conveyor” are arranged at positions determined by the world coordinate system in the virtual space on the three-dimensional CAD.
  • HAND indicating the model of the hand 50 of the arm type robot 40 is set below the “Robot” level
  • OG indicating the music box A1 which is the work W is set below the “HAND” level.
  • A1 "is set. For this reason, “HAND” is arranged at a position defined in the local coordinate system based on “Robot”, and “OG A1” is arranged at a position defined in the local coordinate system based on “HAND”. Is done.
  • the coordinate value in the world coordinate system of the “conveyor” in the three-dimensional CAD data D changes in accordance with this change.
  • the coordinate values in the world coordinate system of “OG B1” and “Sensor” provided in the hierarchy below “” also change as the position of the “Conveyor” changes.
  • the robot teaching apparatus 10 since the music box B1 is conveyed on the conveyor 45, the position of the music box B1 is dynamically changing with respect to the world coordinate system. Therefore, the robot teaching apparatus 10 according to the present embodiment is configured to be able to set motion information 720 for specifying the motion of the workpiece W whose position changes dynamically. Details will be described later.
  • the arm type robot 40 is expressed in the virtual space as “Robot” (three-dimensional CAD data Da) arranged at a position determined by the world coordinate system.
  • the hand 50 is expressed as “HAND” arranged at a position defined in the local coordinate system with “Robot” as a reference in the virtual space.
  • the music box A1 is expressed as “OG A1” (three-dimensional CAD data Db1) arranged at a position defined in the local coordinate system with “HAND” as a reference in the virtual space.
  • the conveyor 45 is expressed as a “conveyor” (three-dimensional CAD data Dc) arranged at a position determined by the world coordinate system in the virtual space.
  • the sensor 300 is expressed as a “sensor” (three-dimensional CAD data Dd) arranged at a position determined by a local coordinate system with respect to the “conveyor” in the virtual space.
  • the music box B1 is expressed in the virtual space as “OG B1” (three-dimensional CAD data Db2) arranged at a position determined by the local coordinate system with reference to the “conveyor”.
  • motion information 720 for specifying a dynamic position change is set.
  • FIG. 5 is a diagram illustrating an example of a setting screen 60 displayed on the display device 24 in order to set the contents of the operation program 710 generated by the robot teaching device 10.
  • the setting screen 60 includes a function name designation area 70, a work start position input area 71 (first acquisition unit 82), and a work end position input area 72 (second acquisition unit 83).
  • the function name designation area 70 includes a work type designation area 70a and a function name input area 70b.
  • a work to be executed by the arm type robot 40 is designated.
  • a work such as placing (“place”), taking (grabbing) (“pick up”), or discarding (“dispose”) can be selected.
  • a file name for example, a date or reference number
  • the function name (“pick up”) is selected, and “OG1_from_conveyor” is input as the file name indicating the work.
  • the work start position input area 71 designates the position (first position) of the point (first point) in the virtual space on the three-dimensional CAD, thereby starting the operation start position P1 of the hand 50 of the arm type robot 40. Is an input field for setting as a teaching point.
  • the work end position input area 72 designates the position (second position) of the point (second point) in the virtual space on the three-dimensional CAD, and thereby the end position P2 of the operation of the hand 50 of the arm type robot 40. Is an input field for setting as a teaching point.
  • information indicating the position of the TCP (predetermined point) of the work W when the TCP of the work W is located at the end position P2 in the virtual space is input to the work end position input area 72. Is done.
  • the robot teaching device 10 calculates the trajectory of the hand 50 when moving the workpiece W from the start position P1 to the end position P2.
  • the robot teaching apparatus 10 displays the motion information setting screen 61 shown in FIG. 6 on the display device 24 and accepts input of motion information 720 for specifying the motion of the music box B1.
  • the motion information setting screen 61 is displayed, for example, by clicking on the portion where “OG B1” is displayed in the hierarchical structure diagram shown in FIG. 4 with the mouse.
  • the motion information setting screen 61 has a name designation area 73, a first motion information input area 75, a second motion information input area 76, and a third motion information input area 77, as shown in FIG.
  • the name designation area 73 information for specifying the setting target of the motion information 720 is input.
  • “OG B1” is input to the name designation area 73 by the robot teaching device 10 when the portion where “OG B1” is displayed in the hierarchical structure diagram of FIG.
  • a reference position where the sensor 300 is installed can be input.
  • the position indicated by “P (t0)” is input as the reference position.
  • This “P (t0)” is represented, for example, by the coordinate value of a point on the coordinate axis along the transport direction of the conveyor 45 among the coordinate axes constituting the local coordinate system of the conveyor 45.
  • the speed of the conveyor 45 can be input to the second motion information input area 76.
  • “v” is input as the moving speed of the conveyor 45.
  • a position where the hand 50 performs work on the work W can be input.
  • the hand 50 performs work on the workpiece W at the position specified by “P (t1)”.
  • This “P (t1)” is also expressed by the coordinate value of a point on the coordinate axis along the conveying direction of the conveyor 45.
  • the robot teaching device 10 determines the timing t1 at which the workpiece W on the conveyor 45 reaches the work position P (t1) by the following equations (1) and (2). Can be calculated.
  • t0 is the timing when the sensor 300 detects the workpiece W.
  • the robot teaching apparatus 10 has the timing t0 when the workpiece W is detected by the sensor 300 at the reference position P (t0) and the distance L from the reference position P (t0) to the predetermined work position P (t1) with respect to the workpiece W. And the operation program 710 so that the arm-type robot 40 performs the work on the work W at the timing t1 when the work W specified based on the transport speed v of the work W reaches the work position P (t1). Is generated.
  • the arm type robot 40 that executes the operation program 710 picks up the music box B1 at the timing when the music box B1 conveyed on the conveyor 45 reaches the work position P (t1). By calculating the trajectory and moving the hand 50, the music box B1 is moved to the end position P2.
  • the arm type robot 40 uses the timing t0 as a reference to determine the timing t1 at which the music box B1 reaches the work position P (t1) using the formula (1), Using the formula (2), at the timing t1, the hand 50 is moved so that the hand 50 reaches the start position P1 (first position) set in the TCP of the music box B1, and the music box B1 is grasped. Then, it is moved to the end position P2 (second position) set in the TCP of the music box A1.
  • the robot teaching apparatus 10 it is possible to generate the operation program 710 that causes the arm-type robot 40 to perform work on the workpiece W whose position is dynamically changed.
  • the robot teaching apparatus 10 is configured to display a setting screen 61 for inputting movement information 720 for specifying the movement of the workpiece W, so that the movement of the workpiece W can be flexibly set according to various situations. it can.
  • the third motion information input area 77 can be left blank. In this case, the position where the hand 50 performs work on the workpiece W is not specified.
  • the robot teaching apparatus 10 calculates the current position P (t) of the workpiece W on the conveyor 45 by the following equation (3) so as to calculate the operation program 710. Is generated.
  • t0 is the timing when the sensor 300 detects the workpiece W
  • t ⁇ t0 represents the elapsed time from the timing t0 to the present.
  • the robot teaching device 10 determines the workpiece W from the elapsed time t ⁇ t0 after the workpiece W passes the reference position P (t0), the reference position P (t0), and the conveyance speed v of the workpiece W.
  • the current position P (t) is specified, and the operation program 710 is generated so that the work on the workpiece W by the arm type robot 40 is performed at the current position P (t).
  • the arm type robot 40 that executes the operation program 710 grabs the music box B1 while moving the hand 50 in accordance with the movement of the music box B1 conveyed on the conveyor 45, and calculates the trajectory as described above. Then, by moving the hand 50, the music box B1 is moved to the end position P2.
  • the arm type robot 40 based on the elapsed time t-t0 from the timing t0 and the transport speed v of the conveyor 45, Using Formula (3), the current position P (t) (first position) of the music box B1 is calculated by obtaining the movement distance L (t) of the music box B1 from the reference position P (t0) to the present time.
  • the hand 50 is moved to the start position P1 set in the TCP of the music box B1 to grab the music box B1, and then moved to the end position P2 (second position) set in the TCP of the music box A1.
  • the robot teaching apparatus 10 it is possible to generate the operation program 710 that causes the arm-type robot 40 to perform work on the workpiece W whose position is dynamically changed. Since the robot teaching apparatus 10 is configured to display the setting screen 61 for inputting the movement information 720 for specifying the movement of the workpiece W, the movement of the workpiece W can be set flexibly.
  • the display control unit 85 displays the movement of the hand 50 of the arm type robot 40 as described above on the display device 24. This is shown in FIG. That is, the display control unit 85 holds the music box OG at the start position P1 on the conveyor 45 by the hand 50 of the arm type robot 40, moves the hand 50 and the music box OG along the track O1, and ends the TCP of the music box OG. An animation that matches P2 is displayed on the display device 24.
  • the robot teaching apparatus 10 receives input of movement information 720 for specifying the movement of the workpiece W on the conveyor 45 (S1000). For example, the robot teaching apparatus 10 displays the motion information setting screen 61 described above on the display device 24 and accepts input of motion information 720.
  • the movement information includes a reference position P0 where the sensor 300 for detecting the workpiece W on the conveyor 45 is provided, and a conveyance speed v of the workpiece W conveyed by the conveyor 45.
  • the robot teaching apparatus 10 generates an operation program 710 based on the motion information 720 so that the work on the work W on the conveyor 45 is performed (S1010).
  • the robot teaching apparatus 10 includes a timing t0 when the workpiece 300 is detected at the reference position P0 by the sensor 300 conveyed by the conveyor 45, a distance L from the reference position P0 to a predetermined work position with respect to the workpiece W, a workpiece Based on the transport speed v of W, the operation program 710 is performed so that the arm-type robot 40 performs the work on the work W at the timing t1 specified by t0 + L / v and when the work W reaches the work position. Is generated.
  • the robot teaching apparatus 10 may identify the workpiece specified by P0 + v ⁇ T based on the elapsed time T after the workpiece W passes the reference position P0, the reference position P0, and the conveyance speed v of the workpiece W.
  • the operation program 710 may be generated so that the arm-type robot 40 performs work on the workpiece W at the current position P1 of W.
  • the control method of the robot teaching apparatus 10 it is possible to generate the operation program 710 for causing the arm type robot 40 to perform work on the workpiece W whose position is dynamically changed. It becomes. Then, by displaying the setting screen 61 for inputting the movement information 720 for specifying the movement of the workpiece W, the movement of the workpiece W can be set flexibly.
  • the robot teaching device 10, the control method of the robot teaching device 10, and the robot teaching program 610 according to the present embodiment have been described.
  • the motion of the workpiece W that moves on the conveyor 45 is specified. Since the user interface for inputting the movement information 720 is provided, the movement information 720 for specifying the movement of the workpiece W conveyed by the conveyor 45 can be input flexibly.
  • the movement information 710 that the robot teaching apparatus 10 according to the present embodiment receives input includes the reference position P0 where the sensor 300 for detecting the workpiece W on the conveyor 45 is provided and the conveyance speed v of the workpiece W. good.
  • the arm type robot 40 can perform work on the workpiece W at the same place P1 regardless of the timing at which the workpiece W is conveyed on the conveyor 45.
  • the arm type robot 40 can perform work on the work W without waiting until the work W comes to a predetermined work position on the conveyor 45. For example, even when a plurality of workpieces W are conveyed on the conveyor 45 at irregular intervals, the arm type robot 40 can perform operations on these workpieces W one after another as soon as preparation for the operation is completed. It becomes possible.
  • the calculation unit 88 of the robot teaching apparatus 10 determines the trajectory of the hand 50 when moving the music box OG based on the TCP of the music box B1 at the position before the movement and the TCP of the music box A1 at the position after the movement. To calculate. At this time, because the TCP of the music box is used instead of the TCP of the hand 50, the change in the position of the work W relative to the hand 50 (for example, the work W is gripped by the tip of the hand 50 or the work W is Etc.) is suppressed. As a result, the arm type robot 40 can move the workpiece W to a desired position with high accuracy by using the calculation result of the calculation unit 88.
  • the display control unit 89 displays an animation of the hand 50 moving along the trajectory on the display device 24. Since the display control unit 89 displays only the animation of the hand 50 without displaying the animation of the entire arm type robot 40, the load on the CPU 20 is reduced.
  • the user when the user moves the workpiece W, the user can set the movement start position and the end position of the workpiece W in the work start position input area 71 and the work end position input area 72. Therefore, since the user does not need to specify complicated coordinates or the like, the user can easily teach the arm type robot 40.
  • the acceleration of the workpiece W can be input as the motion information 720, the position of the workpiece W when the arm type robot 40 performs the work can be specified.
  • the robot teaching apparatus 10 calculates the trajectory of the hand 50 based on the TCP of the music box A1 at the position before the movement and the TCP of the music box B1 at the position after the movement. .
  • a suction pad that can vacuum-suck the workpiece W may be used instead of the hand 50. In such a case, the workpiece W is “held” by the suction pad.
  • the arm type robot 40 to be taught is a 6-axis multi-joint robot, but may be a 3-axis robot, for example.
  • the robot teaching device 10 may use TCP (teaching point) when only the three-axis trajectory is calculated when the workpiece W is moved even if the arm type robot 40 to be taught is a six-axis robot.
  • the degree of freedom may be changed from 6 to 3, and the trajectory may be calculated.
  • FIG. 1 shows a state in which the hand 50 holds the workpiece W. Is not held, the display control unit 80 does not display the workpiece W on the display device 24.

Abstract

【課題】搬送路を移動するワークの動きを特定する動き情報を入力するユーザインタフェースを備えたロボット教示装置、ロボット教示装置の制御方法及びプログラムを提供することができる。 【解決手段】搬送路を移動するワークに対して作業を行うロボットを制御する動作プログラムを生成するロボット教示装置であって、前記搬送路上の前記ワークの動きを特定する動き情報の入力を受け付ける動き情報入力受付部と、前記動き情報に基づいて、前記搬送路上の前記ワークに対して前記ロボットが作業するように前記動作プログラムを生成する 動作プログラム生成部と、を備える。

Description

ロボット教示装置、ロボット教示装置の制御方法及びロボット教示プログラム
 本発明は、ロボット教示装置、ロボット教示装置の制御方法及びロボット教示プログラムに関する。
 従来より、様々な分野で産業用ロボットが用いられている。このような産業用ロボットを用いるためには、ロボットの作業時の時系列の動作を事前にロボットに記憶させるティーチングと呼ばれる作業を行わなければならない。
 近年、3次元CAD(computer aided design)のデータを活用することで、このような時系列の動作をオフラインで動作プログラムとして作成してからロボットに記憶させるオフラインティーチングが可能になっている。そしてこのようなオフラインティーチングを行うシステムやプログラムの開発も進められている(例えば特許文献1参照)。
特許第4621641号公報
 しかしながら、コンベアなどの搬送装置によってワークが搬送されてくる場合のように、動的に位置が変化するワークに対してオフラインティーチングを行うためには、ワークの静的な位置や形状を特定する3次元CADデータを用いるのみでは動作プログラムを生成できず、ワークの搬送速度などのようなワークの動きを特定するためのデータも必要である。
 そしてワークの動きは作業現場ごとに異なるため、オフラインティーチングを行うにあたり、このような様々な状況に柔軟に対応できることが求められている。
 本発明は上記課題を鑑みてなされたものであり、搬送路を移動するワークの動きを特定する動き情報を入力するユーザインタフェースを備えたロボット教示装置、ロボット教示装置の制御方法及びロボット教示プログラムを提供することを一つの目的とする。
 上記課題を解決するロボット教示装置は、搬送路を移動するワークに対して作業を行うロボットを制御する動作プログラムを生成するロボット教示装置であって、前記搬送路上の前記ワークの動きを特定する動き情報の入力を受け付ける動き情報入力受付部と、前記動き情報に基づいて、前記搬送路上の前記ワークに対して前記ロボットが作業するように前記動作プログラムを生成する動作プログラム生成部と、を備える。
 本発明によれば、搬送路を移動するワークの動きを特定する動き情報を入力するユーザインタフェースを備えたロボット教示装置、ロボット教示装置の制御方法及びロボット教示プログラムを提供することができる。
本実施形態に係るアーム型ロボットがワークに対して作業を行う様子を示す図である。 本実施形態に係るロボット教示装置の構成を示す図である。 本実施形態に係る記憶装置に記憶されるプログラム及びデータを示す図である。 本実施形態に係るアーム型ロボットの作業場所に配置される各構成要素に設定される階層構造を示す図である。 本実施形態に係る動作プログラムの内容を設定するために表示される設定画面を示す図である。 本実施形態に係る動き情報を設定するために表示される設定画面である。 本実施形態に係るアーム型ロボットがワークに対して作業を行う様子を示す図である。 本実施形態に係るアーム型ロボットがワークに対して作業を行う様子を示す図である。 本実施形態に係るロボット教示装置の機能ブロック図である。 本実施形態に係るアーム型ロボットの作業の様子をロボット教示装置がアニメーション表示する様子を示す図である。 本実施形態に係るロボット教示装置による処理の流れを示すフローチャートである。
 以下に本発明の実施形態について図面を参照しながら詳細に説明する。
 本実施形態では、一例として、工場のラインに設置されたアーム型ロボット40に対するオフラインティーチングを、ロボット教示装置10を用いて行う場合を例に説明する。
---アーム型ロボット---
 本実施形態に係るアーム型ロボット40を図1に示す。
 アーム型ロボット40は、アーム51とハンド(保持部)50を有して構成される6軸(x軸、y軸、z軸、および各軸の回転方向θx、θy、θz)の多関節ロボットである。
 そしてアーム型ロボット40は、コンベア45上の搬送路を搬送されてくるワークWに対する作業を行う。例えば、アーム型ロボット40は、ワークWをコンベア45に置く(“place”)、あるいはコンベア45から取る(“pick up”)等の作業を行う。
 これらの作業を行う際のアーム型ロボット40の動きは、後述するロボット教示装置10がロボット教示プログラム610を実行することによって生成する動作プログラム710を、アーム型ロボット60が実行することによって実現される。
 そして本実施形態に係るロボット教示装置10は、ワークWの動きを特定するために設定される動き情報720を元に動作プログラム710を生成することで、アーム型ロボット40はコンベア45上で動的に位置を変えるワークWに対する作業を行うことができる。
 ワークWは、本実施形態では一例としてオルゴールOGである。なお、図1には、コンベア45の上をオルゴールB1が搬送されていると共に、アーム型ロボット40が1個のオルゴールA1を保持している場合の様子が示されている。なお以下の説明において、オルゴールOGを個々に区別する際には、図1に示したようにオルゴールA1、オルゴールB1のように示す。
 またコンベア45には、搬送されてくるオルゴールOG等の搬送物を検知するセンサ300が所定の基準位置に設けられている。詳細は後述するが、アーム型ロボット40は、センサ300からのオルゴールOGの検出信号によってオルゴールOGが基準位置を通過したことを検出できる。
 また、同様に詳細は後述するが、図1に示したアーム型ロボット40、コンベア45、ワークW及びセンサ300は、以下に説明するロボット教示装置10が3次元CADプログラム620を実行することによって仮想空間上にモデル化され、3次元CADデータDとしてロボット教示装置10に記憶されている。
---ロボット教示装置10の構成---
 次に、本実施形態に係るロボット教示装置10について説明する。
 ロボット教示装置10は、アーム型ロボット40に対するオフラインティーチングを行うための装置である。具体的には、ロボット教示装置10は、アーム型ロボット40が作業を行う実空間を3次元CADにより模してなる仮想空間においてアーム型ロボット40の動作を規定することにより、アーム型ロボット40を制御する動作プログラム710を生成する。
 図2は、ロボット教示装置10の構成を示す図である。ロボット教示装置10は、CPU(Central Processing Unit)20、メモリ21、記憶装置22、入力装置23、表示装置24、及び通信装置25を有するコンピュータにより構成される。
 CPU20は、メモリ21や記憶装置22に格納されたプログラム600を実行することにより、ロボット教示装置10における様々な機能を実現する。例えば図9に示す動き情報入力受付部80、動作プログラム生成部81、第1取得部82、第2取得部、計算部84及び表示制御部85の各機能が実現される。
 詳細は後述するが、動き情報入力受付部80は、コンベア45上の搬送路を移動するワークWの動きを特定するための動き情報720の入力を受け付ける。例えば、ロボット教示装置10は、後述する動き情報設定画面61を表示装置24に表示し、動き情報720の入力を受け付ける。
 また動作プログラム生成部81は、動き情報720に基づいて、コンベア45上のワークWに対する作業が行われるように動作プログラム710を生成する。
 また第1取得部82は、アーム型ロボット40が作業を行う実空間に対応した仮想空間における第1の位置に設けられたワークWの所定の点を、第1の点として取得する。
 第2取得部は、仮想空間における第2の位置に設けられたワークWの所定の点を、第2の点として取得する。
 計算部84は、仮想空間においてアーム型ロボット40がワークWをハンド50により上記第1の位置から第2の位置に移動させる際のハンド50の軌道を、上記第1の点及び第2の点に基づいて計算する。
 表示制御部85は、アーム型ロボット40がハンド50を移動させる際に、アーム型ロボット40のうち、ハンド50の動きを表示装置24(後述)に表示させる。
 なお、ロボット教示装置10の機能を実現する上記プログラム600の中には、図3に示すように、アーム型ロボット40に対する教示を行う機能を実現するためのロボット教示プログラム610や、3次元CAD機能を実現するための3次元CADプログラム620が含まれる。
 図2に戻って、メモリ21は、例えばRAM(Random-Access Memory)等の記憶手段であり、プログラム600やデータ700等の一時的な記憶領域として用いられる。
 記憶装置22は、例えばハードディスクやSSD(Solid State Drive)等の不揮発性の記憶手段であり、プログラム600やデータ700を格納する。記憶装置22に記憶されるデータ700には、図3に示すように、上述した3次元CADデータDが含まれる。そしてこの3次元CADデータDには、アーム型ロボット40の3次元モデルを示す3次元CADデータDa、作業対象物であるワークWの3次元モデルを示す3次元CADデータDb、ワークWを搬送するコンベア45の3次元モデルを示す3次元CADデータDc、センサの3次元モデルを示す3次元CADデータDdが含まれる。
 なお、3次元CADデータDaは、アーム型ロボット40のモデルが配置される仮想空間におけるワールド座標系およびローカル座標系の情報を含む。また、3次元CADデータDb,Dc、Ddも、3次元CADデータDaと同様である。
 また記憶装置22に記憶されるデータ700には、上述した“place”、“pick up”等のアーム型ロボット40の動作を規定した動作プログラム710も含まれる。この動作プログラム710は、ロボット教示装置10が3次元CADデータDを用いながらロボット教示プログラム610を実行することにより、生成される。
 さらにデータ700には、コンベア45上のワークW等の搬送物の動きを特定するための動き情報720も含まれる。詳細は後述する。
 図2に戻って、入力装置23は、例えばタッチパネルやキーボードであり、利用者による操作入力を受け付けるユーザインタフェース装置である。
 表示装置24は、例えばディスプレイであり、各種情報や処理結果を表示するユーザインタフェース装置である。
 通信装置25は、ネットワークインターフェイスなどの通信手段であって、インターネットやLAN(Local Area Network)等の通信網(不図示)を介して外部のコンピュータやアーム型ロボット40との間でデータの送受信を行う。例えば通信装置25は、アーム型ロボット40と通信を行うことで、上述した“place”、“pick up”等の動作を実行させるための動作プログラム710をアーム型ロボット40に設定する。
 また上記のプログラム600が外部のコンピュータに記憶されている場合には、ロボット教示装置10は、通信装置25を介してロボット教示プログラム610や3次元CADプログラム620をダウンロードして記憶装置22に記憶するようにしても良い。あるいはロボット教示装置10は、CDROMやDVD等の記録媒体800に記録されているロボット教示プログラム610や3次元CADプログラム620を読み出して、記憶装置22に記憶するようにしても良い。
---各構成要素の階層構造---
 次に、アーム型ロボット40の作業場所に配置される各構成要素を3次元CAD上に再現する際に設定される各構成要素の階層構造を図4に示す。この階層構造は、各構成要素の相互の配置関係を元に設定される。そしてこれらの構成要素にはそれぞれ固有の座標系が設定されるが、これら各構成要素の座標系は、上位階層の構成要素の座標系内のローカル座標系として定義される。
 なお図4に示す階層構造図は、3次元CADデータDに含まれる各構成要素の座標系に関する情報を元に、ロボット教示プログラム610によって表示装置24に画面30として表示される。
 「World」は、最上位階層に置かれ、作業場所自体に設定される座標系(以下、ワールド座標系とも記す)を表す。
 そして、ワールド座標系の下の階層には、アーム型ロボット40のモデルを示す「Robot」と、コンベア45を示す「コンベア」とが設定されている。このため、「Robot」及び「コンベア」は、3次元CAD上の仮想空間において、ワールド座標系で定められた位置に配置される。
 また、「Robot」の階層の下には、アーム型ロボット40のハンド50のモデルを示す「HAND」が設定され、「HAND」の階層の下には、ワークWであるオルゴールA1を示す「OG A1」が設定されている。このため、「HAND」は、「Robot」を基準とするローカル座標系で定められた位置に配置され、「OG A1」は、「HAND」を基準とするローカル座標系で定められた位置に配置される。
 また、「コンベア」の階層の下には、オルゴールB1を示す「OG B1」とセンサ300を示す「センサ」が設定されている。このため、「OG B1」及び「センサ」は、「コンベア」を基準とするローカル座標系で定められた位置に配置される。
 そしてこの画面30で示された階層構造では、ある構成要素の位置が変更されると、その構成要素よりも下位の階層に配置された構成要素の位置も同様に変更される。
 例えば、3次元CAD上で「コンベア」の位置が変更されると、この変更に合わせて、3次元CADデータD内の「コンベア」のワールド座標系における座標値が変化するが、同時に、「コンベア」の下の階層に設けられた「OG B1」及び「センサ」のワールド座標系における座標値も「コンベア」の位置変化に伴って変化する。
 ただし、「OG B1」及び「センサ」の「コンベア」に対する位置は、「コンベア」を基準とするローカル座標系で定められているため、ワールド座標系における「コンベア」の位置が変更された場合であっても、「OG B1」及び「センサ」の「コンベア」に対する位置を表すローカル座標系における座標値は変化しない。
 なお、オルゴールB1は、コンベア45上を搬送されてくるため、オルゴールB1の位置はワールド座標系に対して動的に変化している。そのため本実施形態に係るロボット教示装置10は、このような動的に位置が変化するワークWの動きを特定するための動き情報720を設定できるように構成されている。詳細は後述する。
 以上のようにしてアーム型ロボット40は、仮想空間においては、ワールド座標系で定められる位置に配置される「Robot」(3次元CADデータDa)として表現される。そしてハンド50は、仮想空間において「Robot」を基準とするローカル座標系で定められる位置に配置される「HAND」として表現される。
 またオルゴールA1は、仮想空間において「HAND」を基準とするローカル座標系で定められる位置に配置される「OG A1」(3次元CADデータDb1)として表現される。
 コンベア45は、仮想空間においてワールド座標系で定められる位置に配置される「コンベア」(3次元CADデータDc)として表現される。
 センサ300は、仮想空間において、「コンベア」を基準とするローカル座標系で定められる位置に配置される「センサ」(3次元CADデータDd)として表現される。
 オルゴールB1は、仮想空間において、「コンベア」を基準とするローカル座標系で定められる位置に配置される「OG B1」(3次元CADデータDb2)として表現される。そしてオルゴールB1には、動的な位置の変化を特定するための動き情報720が設定されている。
---設定画面---
 図5は、ロボット教示装置10が生成する動作プログラム710の内容を設定するために表示装置24に表示される設定画面60の一例を示す図である。
 設定画面60は、関数名指定エリア70、作業開始位置入力エリア71(第1取得部82)、作業終了位置入力エリア72(第2取得部83)、を含んで構成される。
 関数名指定エリア70では、作成される動作プログラム710を示す「関数名」が指定される。関数名指定エリア70は、作業種類指定エリア70aおよび関数名入力エリア70bを含む。作業種類指定エリア70aでは、アーム型ロボット40に実行させる作業が指定される。具体的には、作業種類指定エリア70aでは、置く(“place”)、取る(つかむ)(“pick up”)、捨てる(“dispose”)等の作業を選択可能である。関数名入力エリア70bには、利用者が指定する作業を示すファイル名(例えば、日付や整理番号)が入力される。
 図5に示す例では、関数名として取る(“pick up”)が選択され、作業を示すファイル名として“OG1_from_conveyor”が入力されている。
 作業開始位置入力エリア71は、3次元CAD上の仮想空間における点(第1の点)の位置(第1の位置)を指定することにより、アーム型ロボット40のハンド50の動作の開始位置P1を教示点として設定するための入力欄である。本実施形態では、作業開始位置入力エリア71には、仮想空間においてこの開始位置P1にワークWのTCP(Tool Center Point)が位置するとした場合の、このワークWのTCP(所定の点)の位置を示す情報が入力される。
 図5に示す例では、作業開始位置入力エリア71には、コンベア45上の「オルゴールB1」(「OG B1」)が入力されている。したがってロボット教示装置10は、開始位置P1としてオルゴールB1のTCPの位置を設定する。
 作業終了位置入力エリア72は、3次元CAD上の仮想空間における点(第2の点)の位置(第2の位置)を指定することにより、アーム型ロボット40のハンド50の動作の終了位置P2を教示点として設定するための入力欄である。
 本実施形態では、作業終了位置入力エリア72には、仮想空間においてこの終了位置P2にワークWのTCPが位置するとした場合の、このワークWのTCP(所定の点)の位置を示す情報が入力される。
 図5に示す例では、作業終了位置入力エリア72には、ハンド50に保持された「オルゴールA1」(「OG A1」)が入力されている。したがってロボット教示装置10は、終了位置P2としてオルゴールA1のTCPの位置を設定する。
 このようにして開始位置P1及び終了位置P2が決まると、ロボット教示装置10は、ワークWを開始位置P1から終了位置P2に移動させる際のハンド50の軌道を計算する。
 ところで、上述したように、オルゴールB1はコンベア45によって搬送されてくるため、動的に位置が変化する。
 そこで、本実施形態に係るロボット教示装置10は、図6に示す動き情報設定画面61を表示装置24に表示し、オルゴールB1の動きを特定するための動き情報720の入力を受け付ける。
 動き情報設定画面61への動き情報720の設定内容を、図6及び図7を参照しながら説明する。
 なお、動き情報設定画面61は、例えば図4に示した階層構造図において「OG B1」が表示されている部分をマウスでクリックすることにより、表示される。
 動き情報設定画面61は、図6に示すように、名前指定エリア73、第1動き情報入力エリア75、第2動き情報入力エリア76、および第3動き情報入力エリア77を有している。
 名前指定エリア73には、動き情報720の設定対象を特定するための情報が入力される。本実施形態では、図4の階層構造図において「OG B1」が表示されている部分がマウスでクリックされたことにより、ロボット教示装置10によって名前指定エリア73に「OG B1」が入力される。
 第1動き情報入力エリア75には、センサ300が設置される基準位置を入力することができる。図6及び図7に示す例では、基準位置として「P(t0)」で示される位置が入力されている。この「P(t0)」は、例えばコンベア45のローカル座標系を構成する座標軸の内の、コンベア45の搬送方向に沿った座標軸上の点の座標値で表される。
 次に、第2動き情報入力エリア76には、コンベア45の速度を入力することができる。図6及び図7に示す例では、コンベア45の移動速度として「v」が入力されている。
 そして第3動き情報入力エリア77には、ハンド50がワークWに対する作業を行う位置を入力することができる。図6及び図7に示す例では、「P(t1)」で指定される位置で、ハンド50がワークWに対する作業を行うことが指定されている。この「P(t1)」も、コンベア45の搬送方向に沿った座標軸上の点の座標値で表される。
 このように動き情報720が設定されると、ロボット教示装置10は、コンベア45上のワークWが作業位置P(t1)に到達するタイミングt1を、以下の式(1)、式(2)により算出することができる。ここで、t0はセンサ300がワークWを検出したタイミングである。
 t1=t0+L/v     …(1)
 L=P(t1)-P(t0) …(2)
 そしてロボット教示装置10は、図5及び図6に示した各設定画面60、61に入力された情報を元に、開始位置P1、終了位置P2、及び式(1)、式(2)の内容を動作プログラム710に組み込む。
 つまり、ロボット教示装置10は、センサ300によってワークWが基準位置P(t0)で検出されたタイミングt0と、基準位置P(t0)からワークWに対する所定の作業位置P(t1)までの距離Lと、ワークWの搬送速度vと、を元に特定されるワークWが作業位置P(t1)に到達するタイミングt1で、アーム型ロボット40によるワークWに対する作業が行われるように、動作プログラム710を生成する。
 これにより、この動作プログラム710を実行するアーム型ロボット40は、コンベア45上を搬送されてくるオルゴールB1が作業位置P(t1)に到達したタイミングで、このオルゴールB1を掴みあげ、上記のように軌道を計算してハンド50を移動させることで、オルゴールB1を終了位置P2に移動させる。
 具体的には、アーム型ロボット40は、オルゴールB1がセンサ300によって検出されると、そのタイミングt0を基準にして、オルゴールB1が作業位置P(t1)に到達するタイミングt1を式(1)、式(2)を用いて計算し、そのタイミングt1で、ハンド50がオルゴールB1のTCPに設定された開始位置P1(第1の位置)に到達するようにハンド50を動作させてオルゴールB1をつかみ、そしてその後、オルゴールA1のTCPに設定された終了位置P2(第2の位置)に移動させる。
 このように、本実施形態に係るロボット教示装置10によれば、動的に位置が変化するワークWに対する作業をアーム型ロボット40に実行させる動作プログラム710を生成することが可能となる。そしてロボット教示装置10は、ワークWの動きを特定する動き情報720を入力するための設定画面61を表示するように構成されているため、ワークWの動きを様々な状況に応じて柔軟に設定できる。
 例えば、図6に示した動き情報設定画面61において、第3動き情報入力エリア77を空欄のままとすることもできる。この場合は、ハンド50がワークWに対する作業を行う位置が特定されない。
 このように動き情報720が設定された場合には、ロボット教示装置10は、コンベア45上のワークWの現在位置P(t)を、以下の式(3)によって算出するように、動作プログラム710を生成する。ただし、t0はセンサ300がワークWを検出したタイミングであり、t-t0はタイミングt0から現在までの経過時間を表す。
 P(t)=P(t0)+v×(t-t0)    …(3)
 つまり、ロボット教示装置10は、ワークWが基準位置P(t0)を通過してからの経過時間t-t0と、基準位置P(t0)と、ワークWの搬送速度vと、からワークWの現在位置P(t)を特定し、この現在位置P(t)で、アーム型ロボット40によるワークWに対する作業が行われるように、動作プログラム710を生成する。
 これにより、この動作プログラム710を実行するアーム型ロボット40は、コンベア45上を搬送されてくるオルゴールB1の動きに合わせてハンド50を移動させながらオルゴールB1を掴みあげ、上記のように軌道を計算してハンド50を移動させることで、オルゴールB1を終了位置P2に移動させる。
 具体的には、図8に示すように、アーム型ロボット40は、オルゴールB1がセンサ300によって検出されると、そのタイミングt0からの経過時間t-t0とコンベア45の搬送速度vを元に、式(3)を用いて、基準位置P(t0)から現在までのオルゴールB1の移動距離L(t)を求めることでオルゴールB1の現在位置P(t)(第1の位置)を計算し、オルゴールB1のTCPに設定された開始位置P1にハンド50を移動させてオルゴールB1をつかみ、そしてその後、オルゴールA1のTCPに設定された終了位置P2(第2の位置)に移動させる。
 このように、本実施形態に係るロボット教示装置10によれば、動的に位置が変化するワークWに対する作業をアーム型ロボット40に実行させる動作プログラム710を生成することが可能となる。そしてロボット教示装置10は、ワークWの動きを特定する動き情報720を入力するための設定画面61を表示するように構成されているため、ワークWの動きを柔軟に設定できる。
 なお表示制御部85は、上記のようなアーム型ロボット40のハンド50の動きを表示装置24に表示する。その様子を図10に示す。つまり、表示制御部85は、アーム型ロボット40のハンド50がコンベア45上の開始位置P1でオルゴールOGを掴み、軌道O1に沿ってハンド50及びオルゴールOGを移動させ、オルゴールOGのTCPを終了位置P2に一致させるようなアニメーションを表示装置24に表示する。
---ロボット教示装置の処理の流れ---
 次に、本実施形態に係るロボット教示装置10の処理の流れについて、図11のフローチャートを参照しながら説明する。
 まず、ロボット教示装置10は、コンベア45上のワークWの動きを特定するための動き情報720の入力を受け付ける(S1000)。例えば、ロボット教示装置10は、上述した動き情報設定画面61を表示装置24に表示し、動き情報720の入力を受け付ける。
 なお、この動き情報には、コンベア45上のワークWを検知するセンサ300が設けられる基準位置P0や、コンベア45により搬送されるワークWの搬送速度vが含まれる。
 続いてロボット教示装置10は、動き情報720に基づいて、コンベア45上のワークWに対する作業が行われるように動作プログラム710を生成する(S1010)。
 例えばロボット教示装置10は、コンベア45により搬送されるセンサ300によってワーク300が上記基準位置P0で検出されたタイミングt0と、この基準位置P0からワークWに対する所定の作業位置までの距離Lと、ワークWの搬送速度vと、を元に、t0+L/vで特定される、ワークWが上記作業位置に到達するタイミングt1で、アーム型ロボット40によってワークWに対する作業が行われるように、動作プログラム710を生成する。
 あるいはロボット教示装置10は、ワークWが基準位置P0を通過してからの経過時間Tと、上記基準位置P0と、ワークWの搬送速度vと、を元に、P0+v×Tで特定されるワークWの現在位置P1で、アーム型ロボット40によってワークWに対する作業が行われるように、動作プログラム710を生成するようにしても良い。
 このように、本実施形態に係るロボット教示装置10の制御方法によれば、動的に位置が変化するワークWに対する作業をアーム型ロボット40に実行させるための動作プログラム710を生成することが可能となる。そしてワークWの動きを特定するための動き情報720を入力するための設定画面61を表示することにより、ワークWの動きを柔軟に設定することもできる。
 以上、本実施形態に係るロボット教示装置10、ロボット教示装置10の制御方法及びロボット教示プログラム610について説明したが、本実施形態によれば、コンベア45を移動するワークWの動きを特定するための動き情報720を入力するためのユーザインタフェースを備えているため、コンベア45により搬送されるワークWの動きを特定するための動き情報720の入力を柔軟に行うことができる。
 また本実施形態に係るロボット教示装置10が入力を受け付ける動き情報710には、コンベア45上のワークWを検知するセンサ300が設けられる基準位置P0及びワークWの搬送速度vが含まれるようにすると良い。
 このような態様により、コンベア45が一定速度でワークWを搬送する場合のワークWの位置を特定することが可能となる。
 またここで、本実施形態に係るロボット教示装置10は、センサ300によってワークWが基準位置P0で検出されたタイミングt0と、基準位置P0からワークWに対する所定の作業位置P1までの距離Lと、ワークWの搬送速度vと、を元に特定されるワークWが作業位置P1に到達するタイミングt1(=t0+L/v)で、アーム型ロボット40によるワークWに対する作業が行われるように、動作プログラム710を生成すると良い。
 このような態様によって、アーム型ロボット40は、ワークWがどのタイミングでコンベア45上を搬送されてきても、同じ場所P1でワークWに対する作業を行うことが可能となる。
 あるいは、ロボット教示装置10は、ワークWが基準位置P0を通過してからの経過時間Tと、上記基準位置P0と、ワークWの搬送速度vと、から特定されるワークWの現在位置P1(=P0+v×T)で、アーム型ロボット40によるワークWに対する作業が行われるように、動作プログラム710を生成するようにしても良い。
 このような態様によって、アーム型ロボット40は、ワークWがコンベア45上の所定の作業位置にくるまで待機することなく、ワークWに対する作業を行うことが可能となる。例えば複数のワークWが不規則な間隔でコンベア45上を搬送されてくる場合であっても、アーム型ロボット40は、作業の準備ができ次第、次々にこれらのワークWに対する作業を行うことが可能となる。
 またロボット教示装置10の計算部88は、オルゴールOGを移動する際のハンド50の軌道を、移動前の位置にあるオルゴールB1のTCPと、移動後の位置にあるオルゴールA1のTCPと、に基づいて計算する。この際、ハンド50のTCPではなく、オルゴールのTCPが用いられるため、ハンド50に対するワークWの位置の変化(例えば、ハンド50の先端でワークWを把持するか、ハンド50の奥でワークWを把持するか)等の影響が抑制される。この結果、アーム型ロボット40は、計算部88の計算結果を用いることにより、ワークWを精度良く所望の位置に移動することが可能となる。
 また、表示制御部89は、軌道に沿って動くハンド50のアニメーションを表示装置24に表示する。表示制御部89は、アーム型ロボット40全体のアニメーションを表示せず、ハンド50のみのアニメーションを表示することから、CPU20への負荷は軽減される。
 また、本実施形態では、利用者は、ワークWを移動させる際に、ワークWの移動開始位置と、終了位置を、作業開始位置入力エリア71と、作業終了位置入力エリア72で設定できる。したがって、利用者は、複雑な座標等を指定する必要がないため、利用者は容易にアーム型ロボット40を教示できる。
 なお、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
 例えば、上記実施形態では、所定速度vでワークWを搬送するベルトコンベアや駆動ローラコンベアをコンベア45として想定した場合を一例として示したが、例えば傾斜して配置されるフリーローラコンベアやスロープ上を速度を増しながら滑走してくるワークWに対してアーム型ロボット40が作業を行うような形態であっても良い。
 この場合は、ワークWの加速度を動き情報720として入力できるようにすれば、アーム型ロボット40が作業を行う際のワークWの位置を特定することができる。
 また、ワークWを置く(“place”)作業の際においても、本実施形態と同様の処理が実行される。例えば、ロボット教示装置10は、ワークWを置く場合においても、移動前の位置にあるオルゴールA1のTCPと、移動後の位置にあるオルゴールB1のTCPと、に基づいてハンド50の軌道を計算する。
 また本実施形態では、ハンド50がワークWである「オルゴール」を「把持」することを、保持した状態として説明したが、これに限られない。例えば、ハンド50の代わりにワークWを真空吸着することが可能な吸着パッドを用いても良い。このような場合、ワークWは、吸着パッドにより「保持」されることになる。
 また、ここでは、教示対象となるアーム型ロボット40が6軸の多関節のロボットであることとしたが、例えば、3軸のロボットであっても良い。また、ロボット教示装置10は、教示対象となるアーム型ロボット40が6軸のロボットであっても、ワークWを移動させる際に3軸の軌道のみを計算すれば良い場合、TCP(教示点)の自由度を6から3に変更し、軌道を計算しても良い。このようにTCPの自由度を低下させることにより、CPU20の負荷を軽減することができる
 また図1では、ハンド50がワークWを保持している状態が示されているが、ハンド50がワークWを保持していない場合、表示制御部80は、ワークWを表示装置24に表示しない。
 また、ロボットの動作プログラミングをする際、座標値を扱うのは煩雑である。3次元CADからは座標値も抽出することも可能であるが、煩雑であることに変わりない。また、この煩雑さは、機械技術者、ソフトウェア技術者などの異なる技術者が必要となる。そのためロボットを利用したオートメーションシステムを構築するために、膨大な時間を要する。本実施形態は、ロボットのオートメーションシステムを短時間で行うこともできる。
10…ロボット教示装置、20…CPU、21…メモリ、22…記憶装置、23…入力装置、23…表示装置、24…通信装置、30…画面、40…アーム型ロボット、45…コンベア、50…ハンド、51…アーム、60…ロボット設定画面、61…動き情報設定画面、70…関数名指定エリア、71…作業開始位置入力エリア、72…作業終了位置入力エリア、73…名前指定エリア、75…動き情報入力エリア、76…動き情報入力エリア、77…動き情報入力エリア、80…動き情報入力受付部、81…動作プログラム生成部、82…第1取得部、83…第2取得部、84…計算部、85…表示制御部、300…センサ、600…プログラム、610…ロボット教示プログラム、620…3次元CADプログラム、700…データ、710…動作プログラム、720…動き情報、800…記録媒体、OG…オルゴール、A1…オルゴール、B1…オルゴール、W…ワーク、D…次元CADデータ、Da…3次元CADデータ、Db…3次元CADデータ、Dc…3次元CADデータ、Dd…3次元CADデータ

Claims (10)

  1.  搬送路を移動するワークに対して作業を行うロボットを制御する動作プログラムを生成するロボット教示装置であって、
     前記搬送路上の前記ワークの動きを特定する動き情報の入力を受け付ける動き情報入力受付部と、
     前記動き情報に基づいて、前記搬送路上の前記ワークに対して前記ロボットが作業するように前記動作プログラムを生成する動作プログラム生成部と、
    を備えることを特徴とするロボット教示装置。
  2.  請求項1に記載のロボット教示装置であって、
     前記動き情報入力受付部が入力を受け付ける前記動き情報には、前記搬送路上の基準位置及び前記ワークの搬送速度が含まれる
    ことを特徴とするロボット教示装置。
  3.  請求項2に記載のロボット教示装置であって、
     前記動作プログラム生成部は、前記ワークが前記基準位置で検出されたタイミングと、
    前記基準位置から前記ワークに対する所定の作業位置までの距離と、前記ワークの搬送速度と、を元に特定される前記ワークが前記作業位置に到達するタイミングで、前記ロボットによる前記ワークに対する作業が行われるように、前記動作プログラムを生成する
    ことを特徴とするロボット教示装置。
  4.  請求項3に記載のロボット教示装置であって、
     前記ロボットが作業を行う実空間に対応した仮想空間における第1の位置に設けられたワークの所定の点を、第1の点として取得する第1取得部と、
     前記仮想空間における第2の位置に設けられた前記ワークの所定の点を、第2の点として取得する第2取得部と、
     前記第1及び第2の点に基づいて、前記仮想空間における前記ロボットが、前記ワークを保持部により前記第1の位置から前記第2の位置に移動させる際の前記保持部の軌道を計算する計算部と、
    を備え、
     前記動作プログラム生成部は、前記動き情報に基づき、前記ワークが前記作業位置に到達するタイミングにおける前記ワークの所定の点を前記第1の点とするように、前記動作プログラムを生成する
    ことを特徴とするロボット教示装置。
  5.  請求項4に記載のロボット教示装置であって、
     前記ロボットが前記保持部を移動させる際、前記ロボットのうち、前記保持部の動きを表示装置に表示させる表示制御部を更に備えること、
    を特徴とするロボット教示装置。
  6.  請求項2に記載のロボット教示装置であって、
     前記動作プログラム生成部は、前記ワークが前記基準位置を通過してからの経過時間と、前記基準位置と、前記ワークの搬送速度と、から特定される前記ワークの現在位置で、前記ロボットによる前記ワークに対する作業が行われるように、前記動作プログラムを生成する
    ことを特徴とするロボット教示装置。
  7.  請求項6に記載のロボット教示装置であって、
     前記ロボットが作業を行う実空間に対応した仮想空間における第1の位置に設けられたワークの所定の点を、第1の点として取得する第1取得部と、
     前記仮想空間における第2の位置に設けられた前記ワークの所定の点を、第2の点として取得する第2取得部と、
     前記第1及び第2の点に基づいて、前記仮想空間における前記ロボットが、前記ワークを保持部により前記第1の位置から前記第2の位置に移動させる際の前記保持部の軌道を計算する計算部と、
    を備え、
     前記動作プログラム生成部は、前記動き情報に基づき、前記ワークの前記現在位置における前記ワークの所定の点を前記第1の点とするように、前記動作プログラムを生成する
    ことを特徴とするロボット教示装置。
  8.  請求項7に記載のロボット教示装置であって、
     前記ロボットが前記保持部を移動させる際、前記ロボットのうち、前記保持部の動きを表示装置に表示させる表示制御部を更に備えること、
     を特徴とするロボット教示装置。
  9.  搬送路を移動するワークに対して作業を行うロボットを制御する動作プログラムを生成するロボット教示装置の制御方法であって、
     前記ロボット教示装置が、前記搬送路上の前記ワークの動きを特定する動き情報の入力を受け付け、
     前記ロボット教示装置が、前記動き情報に基づいて、前記搬送路上の前記ワークに対して前記ロボットが作業するように前記動作プログラムを生成する、
    ことを特徴とするロボット教示装置の制御方法。
  10.  搬送路を移動するワークに対して作業を行うロボットを制御する動作プログラムを生成するロボット教示装置に、
     前記搬送路上の前記ワークの動きを特定する動き情報の入力を受け付ける手順と、
     前記動き情報に基づいて、前記搬送路上の前記ワークに対して前記ロボットが作業するように前記動作プログラムを生成する手順と、
    を実行させるためのロボット教示プログラム。
PCT/JP2018/008719 2017-03-31 2018-03-07 ロボット教示装置、ロボット教示装置の制御方法及びロボット教示プログラム WO2018180298A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017073212A JP2020097060A (ja) 2017-03-31 2017-03-31 ロボット教示装置、ロボット教示装置の制御方法及びロボット教示プログラム
JP2017-073212 2017-03-31

Publications (1)

Publication Number Publication Date
WO2018180298A1 true WO2018180298A1 (ja) 2018-10-04

Family

ID=63675339

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/008719 WO2018180298A1 (ja) 2017-03-31 2018-03-07 ロボット教示装置、ロボット教示装置の制御方法及びロボット教示プログラム

Country Status (2)

Country Link
JP (1) JP2020097060A (ja)
WO (1) WO2018180298A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113263500B (zh) * 2021-05-25 2022-10-21 深圳市优必选科技股份有限公司 一种机器人自主作业方法、装置、机器人及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60191307A (ja) * 1984-03-12 1985-09-28 Hitachi Ltd ロボツトの積付動作簡易教示方式
JP2007090479A (ja) * 2005-09-28 2007-04-12 Fanuc Ltd ロボットのオフライン教示装置
JP2016129915A (ja) * 2015-01-14 2016-07-21 ファナック株式会社 ロボットシステムのシミュレーション装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60191307A (ja) * 1984-03-12 1985-09-28 Hitachi Ltd ロボツトの積付動作簡易教示方式
JP2007090479A (ja) * 2005-09-28 2007-04-12 Fanuc Ltd ロボットのオフライン教示装置
JP2016129915A (ja) * 2015-01-14 2016-07-21 ファナック株式会社 ロボットシステムのシミュレーション装置

Also Published As

Publication number Publication date
JP2020097060A (ja) 2020-06-25

Similar Documents

Publication Publication Date Title
JP6458713B2 (ja) シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム
US20220009100A1 (en) Software Interface for Authoring Robotic Manufacturing Process
CN109318226A (zh) 机器人控制装置、机器人控制方法及存储介质
JP6540472B2 (ja) シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム
CN100475460C (zh) 机器人的离线示教装置
JP6931457B2 (ja) モーション生成方法、モーション生成装置、システム及びコンピュータプログラム
CN104057456A (zh) 机器人拾取系统及被加工物的制造方法
JP7388074B2 (ja) シミュレーション装置、シミュレーションプログラムおよびシミュレーション方法
CN109760040B (zh) 干扰判定方法、干扰判定系统以及存储介质
JP2010137298A (ja) 複腕ロボットの作業プログラム作成方法
JP2018176333A (ja) 接触センサによるワーク位置検出プログラム生成機能を備えたオフラインプログラミング装置及び方法
JP7151713B2 (ja) ロボットシミュレータ
WO2018180298A1 (ja) ロボット教示装置、ロボット教示装置の制御方法及びロボット教示プログラム
JPWO2019064919A1 (ja) ロボット教示装置
WO2021195916A1 (zh) 动态手部仿真方法、装置和系统
EP4052865A1 (en) Information processing apparatus, robot system, information processing method, program, and recording medium
WO2021250923A1 (ja) ロボットシステム、制御装置、及び制御方法
JP3076841B1 (ja) 実環境適応型ロボットの教示プログラム作成方法
CN110815230B (zh) 一种基于虚拟采样的六轴码垛机器人位姿适配方法
WO2018180300A1 (ja) ロボット作業管理システム、ロボット作業管理プログラム
WO2018180297A1 (ja) ロボット教示装置、ロボット教示プログラム、ロボット教示装置の制御方法
JP7424122B2 (ja) シミュレーション装置およびプログラム
WO2018180299A1 (ja) ロボット教示装置、ロボット教示装置の制御方法及びロボット教示プログラム
JP7275840B2 (ja) シミュレーション装置
WO2023203635A1 (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: 18776090

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18776090

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP