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

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

Info

Publication number
WO2018180299A1
WO2018180299A1 PCT/JP2018/008720 JP2018008720W WO2018180299A1 WO 2018180299 A1 WO2018180299 A1 WO 2018180299A1 JP 2018008720 W JP2018008720 W JP 2018008720W WO 2018180299 A1 WO2018180299 A1 WO 2018180299A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
input
point
virtual
work
Prior art date
Application number
PCT/JP2018/008720
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 JP2019509116A priority Critical patent/JPWO2018180299A1/ja
Publication of WO2018180299A1 publication Critical patent/WO2018180299A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/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 actual position of the robot or workpiece placed on the site may deviate from the position set on the three-dimensional CAD.
  • the position of the teaching point of the robot set when offline teaching is performed using the three-dimensional CAD data is also shifted.
  • ⁇ Teaching point deviation may be allowed depending on the size of the workpiece and the work content of the workpiece, but it may not be allowed, such as when performing precise work on the workpiece.
  • 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 capable of designating a robot positioning operation when performing offline teaching. Objective.
  • the robot teaching device of the present invention that solves the above-described problem is provided with an input for designating a virtual position corresponding to the predetermined position in the virtual space corresponding to the real space, in order to designate the predetermined position in the real space where the robot operates.
  • An operation program generation unit that generates an operation program for controlling the robot so as to be set as a value.
  • 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 work on the workpiece W.
  • the arm type robot 40 performs an operation such as placing the work W on the shelf 45 (“place”) or taking it out from the shelf 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 work W is a music box OG as an example in the present embodiment.
  • FIG. 1 shows a state in which ten music boxes OG are arranged in two rows on the shelf 45 and the arm type robot 40 holds one music box OG. ing.
  • the music boxes OG are individually distinguished, they are shown as music boxes A1, music boxes B1,... Music box B10 as shown in FIG.
  • the arm type robot 40, the shelf 45, and the workpiece W shown in FIG. 1 are modeled in a virtual space when the robot teaching device 10 described below executes a three-dimensional CAD program 620. It is 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 virtual position input unit 80, the alignment input unit 81, the list output unit 82, and the operation program generation unit 83 shown in FIG. 6 are realized (details will be described later).
  • the program 600 includes a robot teaching program 610 for realizing a function for teaching the arm type robot 40 and a three-dimensional CAD program for realizing a three-dimensional CAD function. 620 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 includes three-dimensional CAD data Da indicating a three-dimensional model of the arm type robot 40, three-dimensional CAD data Db indicating a three-dimensional model of the work W that is a work target, and the work W.
  • 3D CAD data Dc indicating a 3D model of the shelf 45 to be placed is 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 and Dc are the same as the three-dimensional CAD data Da.
  • the storage device 22 since a plurality (n) of workpieces W are used, the storage device 22 stores three-dimensional CAD data Db1 to Dbn corresponding to each of the plurality of workpieces W.
  • 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 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 “Shelves” indicating the shelf 45 are set. For this reason, “Robot” and “shelf” are arranged at positions determined in 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.
  • “HAND” is arranged at a position defined in the local coordinate system based on “Robot”
  • “OG A1” is arranged at a position defined in the local coordinate system based on “HAND”. Is done.
  • the position of the music box A1 is arranged at a position determined by a local coordinate system with the hand 50 as a reference, here, a position gripped by the hand 50. That is, the workpiece W is held by the holding unit. Further, the state where the workpiece W is not held by the holding portion is a state where the hand 50 is not holding the workpiece W.
  • “OG B1” to “OG B10” indicating ten music boxes B1 to B10 are set under the “shelf” hierarchy. For this reason, “OG B1” to “OG B10” are arranged at positions determined in the local coordinate system with “shelf” as a reference.
  • the coordinate value in the world coordinate system of the “shelf” in the three-dimensional CAD data D changes in accordance with this change.
  • the coordinate values in the world coordinate system of “OG B1” to “OG B10” provided in the hierarchy below “” also change as the position of “shelf” changes.
  • 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 shelf 45 is expressed as a “shelf” (three-dimensional CAD data Dc) arranged at a position defined in the world coordinate system in the virtual space.
  • the music boxes B1 to B10 are expressed as “OG B1” to “OG B10” (three-dimensional CAD data Db2 to Db11) arranged at positions determined by the local coordinate system with reference to “shelf” in the virtual space. .
  • 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 84), a work end position input area 72 (second acquisition unit 85), and an approach point setting area 73 (third acquisition unit 86). ), An escape point setting area 74 (fourth acquisition unit 87), and a teaching setting area 75.
  • the work end position input area 72 is an input for designating a virtual position corresponding to a predetermined position in the virtual space corresponding to the real space in order to designate a predetermined position in the real space where the arm type robot 40 performs the work. It functions as a virtual position input unit 80 that receives.
  • the teaching setting area 75 functions as a positioning input unit 81 that receives an input for specifying a positioning operation for confirming whether or not the corresponding position in the real space having the same coordinate value as that of the virtual position matches the predetermined position. To do.
  • 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 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 (virtual position, second position) of the point (second point) in the virtual space on the three-dimensional CAD, so that the operation of the hand 50 of the arm type robot 40 can be performed.
  • This is an input field for setting the end position P2 as a teaching point (predetermined position).
  • 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.
  • a teaching setting area 75 is provided in the work end position input area 72.
  • the teaching setting area 75 will be described later.
  • the approach point setting area 73 designates the position of the point (third point) in the virtual space on the three-dimensional CAD, thereby allowing the work W to pass through from the start position to the end position (third point). Is an input field for setting as an approach point P3.
  • the approach point P3 is a point away from the end position P2, and is set to maintain a relative positional relationship with respect to the end position P2, and the work W held by the hand 50 is at the end position P2. This is a point that is set to prevent an object from hitting an obstacle or another workpiece W when approaching.
  • the approach point setting area 73 includes a work work designation area 73a, a distance designation area 73b, and a direction instruction area 73c.
  • the distance designation area 73b In the distance designation area 73b, the distance d1 from the workpiece W selected in the work workpiece designation area 73a is input.
  • a direction v1 that is substantially perpendicular to the surface of the workpiece W selected in the work workpiece designation area 73a is designated.
  • the escape point setting area 74 designates the position of the point (fourth point) in the virtual space on the three-dimensional CAD, so that the TCP of the hand 50 is moved when moving the hand 50 from the end position P2 to another position. This is an input field for setting a passing point (fourth point) as an escape point P4.
  • the escape point is also a point set so as to maintain a relative positional relationship with respect to the end position P2, and is separated in a substantially vertical direction with respect to the surface (for example, the bottom surface) of the workpiece W gripped by the hand 50. To do.
  • the escape point is set in order to prevent the hand 50 from hitting an obstacle or another work W when the hand 50 leaves the end position P2 after the work W is placed at the end position P2.
  • the escape point setting area 74 includes a work work designation area 74a, a distance designation area 74b, and a direction instruction area 74c.
  • the work work designation area 74a In the work work designation area 74a, information indicating the work W placed at the end position P2 of the operation of the hand 50 is input. In addition, information other than information indicating the work W placed at the end position of the operation of the hand 50 may be input to the work work designation areas 73a and 74a.
  • the distance designation area 74b In the distance designation area 74b, the distance d2 from the workpiece W selected in the work workpiece designation area 74a is input.
  • a direction v2 that is substantially perpendicular to the surface of the workpiece W selected in the work workpiece designation area 74a is designated in the direction designation area 74c.
  • the directions v1 and v2 are included in the three-dimensional model of the workpiece W, such as the edge of the workpiece W that is substantially perpendicular to the plane of the workpiece W, the normal vector of the workpiece W, the center axis of the workpiece W, and the like. Determined based on information.
  • the robot teaching device 10 places the workpiece W from the start position P1 to the end position P2 via the approach point P3. And a trajectory for moving the hand 50 to the escape point P4 is calculated. Then, the robot teaching apparatus 10 generates an operation program 710 for operating the arm type robot 40.
  • the hand 50 starts to move from the start position P1 set in the TCP of the music box A1, and the music box TCP held by the hand 50 moves to the approach point P3 along the trajectory O1. Move to match.
  • the hand 50 moves along the orbit O2 so that the held music box TCP coincides with the end position P2.
  • the positions input to the work start position input area 71, the work end position input area 72, the approach point setting area 73, and the escape point setting area 74 are points of the virtual space designated by using the three-dimensional CAD. Position. Therefore, the coordinate values in the virtual space representing the positions of these points do not necessarily represent the same position in the real space.
  • the installation height of the arm type robot 40 in the real space is different from the height designed by the three-dimensional CAD, the actual start position, end position, approach point, and escape point are caused by this deviation.
  • the positions will also shift.
  • the end position is a position where the workpiece W is placed on the shelf 45, it is necessary to minimize the positional deviation.
  • a teaching setting area 75 is provided in the work end position input area 72.
  • the corresponding position in the real space having the same coordinate value as the coordinate value of the end position (virtual position) input to the work end position input area 72 coincides with the end position (predetermined position) in the real space.
  • the robot teaching device 10 determines that the alignment work is required, and generates an operation program 710 for performing the alignment work.
  • the arm type robot 40 executes the operation program 710, the arm type robot 40 has the same coordinate value as the approach point of the end position coordinate value or the end position coordinate value in the virtual space input to the work end position input area 72.
  • the hand 50 is moved to a corresponding position in the space and is temporarily stopped. Then, the worker manually adjusts the position of the hand 50 of the arm type robot 40 to move it to the correct position, and in that state, inputs to the arm type robot 40 that the position is set as the end position. Then, the arm type robot 40 stores the coordinate value of the hand 50 after being manually corrected as a coordinate value representing the end position.
  • the robot teaching The apparatus 10 generates a normal operation program 710 that does not perform alignment work.
  • the robot teaching apparatus 10 is configured to provide the teaching setting area 75 so that the alignment operation can be designated. Therefore, the alignment of the arm type robot 40 when performing offline teaching is performed. Work can be specified for each individual point.
  • the trajectory calculation process executed by the robot teaching apparatus 10 will be described.
  • the trajectory calculation process is executed when an input to the setting screen 60 is performed.
  • FIG. 7 is a diagram showing functional blocks implemented in the robot teaching apparatus 10. As illustrated in FIG. 7, the robot teaching apparatus 10 includes functional blocks of a first acquisition unit 84, a second acquisition unit 85, a third acquisition unit 86, a fourth acquisition unit 87, a calculation unit 88, and a display control unit 89. Prepare.
  • the first acquisition unit 84 uses the TCP (predetermined point) of the work W as the teaching point P1 (first point). ) Get as.
  • 2nd acquisition part 85 acquires TCP of work W as teaching point P2 (2nd point) based on information (three-dimensional CAD data) which shows work W inputted into work end position input area 72.
  • the point which the 1st acquisition part 84 and the 2nd acquisition part 85 acquire here was set as TCP of the workpiece
  • the third acquisition unit 86 acquires the approach point P3 (third point) through which the work W passes when the work W is moved based on the information input in the approach point setting area 73. Specifically, the third acquisition unit 86 acquires the TCP (predetermined point) of the work W from the information indicating the work W selected in the work work designation area 73a. Then, the third acquisition unit 86 acquires, as the approach point P3, a point separated from the TCP of the work W by the distance d1 in the designated direction v1.
  • the fourth acquisition unit 87 acquires the escape point P4 (fourth point) through which the hand 50 passes when the hand 50 is moved based on the information input in the escape point setting area 74. Specifically, the fourth acquisition unit 84 acquires the TCP of the work W from information indicating the work W selected in the work work designation area 74a. Then, the fourth acquisition unit 84 acquires, as the escape point P4, a point separated from the TCP of the workpiece W by the distance d2 in the designated direction v2. Note that the starting point when determining the approach point P3 and the escape point P4 is the TCP of the workpiece W, but may be a point indicating the center of gravity of the workpiece W, for example.
  • the calculation unit 88 calculates a trajectory for moving the hand 50 based on the teaching points P1, P2, the approach point P3, and the escape point P4. Further, the calculation unit 85 stores the calculation result in the storage device 22.
  • the display control unit 89 displays various information on the display device 24 based on an instruction from the input device 23, a processing result of the program 600 executed by the CPU 20, and the like. For example, the display control unit 89 displays an animation of the hand 50 when moving the workpiece W on the display device 24.
  • the alignment operation is performed when the arm type robot 40 executes the operation program 710 generated by the robot teaching device 10.
  • the robot teaching apparatus 10 includes functional blocks of a virtual position input unit 80, a positioning input unit 81, a list output unit 82, and an operation program generation unit 83.
  • An operation program 710 that performs a matching operation is generated.
  • the virtual position input unit 80 receives an input for designating a virtual position corresponding to the predetermined position in the virtual space in order to designate the predetermined position in the real space where the arm type robot 40 performs the work.
  • the robot teaching apparatus 10 receives an input for designating the end position P2 of the operation of the hand 50 in the virtual space read from the three-dimensional CAD data D in the work end position input area 72 described above. Since this end position P2 is a position on the three-dimensional CAD, it may be different from the actual position.
  • the alignment input unit 81 is an input for specifying an alignment operation for confirming whether the corresponding position in the real space having the same coordinate value as the coordinate value of the virtual position input to the virtual position input unit 80 matches the predetermined position. Accept.
  • the robot teaching apparatus 10 has a teaching setting area 75 provided in the work end position input area 72 and receives a check input for designating the alignment work.
  • the list output unit 82 outputs a list of virtual positions in which teaching work area 75 is designated to require alignment work.
  • the list output unit 82 is an alignment work list 90 in which the end positions (virtual positions) of the music boxes B1 to B10 are described. Is output.
  • the alignment work list 90 output by the list output unit 82 is shown in FIG. As shown in FIG. 8, in the alignment work list 90, the coordinate value of the end position and the coordinate value of the approach point in the virtual space of each point whose check is input in the teaching setting area 75 are described.
  • this alignment work list 90 By outputting this alignment work list 90, a worker on site can confirm which point the alignment work should be performed, so that the alignment work can be performed without omission.
  • the operation program generation unit 83 When the operation program generation unit 83 generates the operation program 710 for the end position whose check is input in the teaching setting area 75, the operation program generation unit 83 sets the hand 50 of the arm type robot 40 to the end input in the work end position input area 72. Move to the corresponding position specified by the coordinate value of the position, and operate so as to set the coordinate value of the hand 50 after the posture of the arm type robot 40 is manually corrected by the worker as the correct coordinate value of the end position A program 710 is generated.
  • the operation program 710 generated as described above is transmitted to the arm type robot 40 by the robot teaching device 10.
  • the arm-type robot 40 When the arm-type robot 40 needs to perform alignment work when executing the operation program 710, the arm-type robot 40 first designates the hand 50 with the coordinate values set in the operation program 710. Move to the corresponding position and stop there. For example, the hand 50 is moved to a corresponding position set as the end position of the music box B1 and stopped.
  • the on-site worker can confirm whether or not the hand 50 has actually moved to the end position where the music box B1 is correctly placed.
  • the worker inputs to the arm type robot 40 that the position is set as the end position.
  • the arm type robot 40 keeps the end position, approach point, and escape point position of the music box B1 as they are input in the work end position input area 72, approach point setting area 73, and escape point setting area 74.
  • the worker manually moves the hand 50 of the arm type robot 40 to the correct end position, and then gives the arm type robot 40 the corrected position. Input to set the end position. Then, the arm type robot 40 stores the corrected coordinate value of the hand 50 as the coordinate value of the end position, and also corrects the coordinate values of the approach point and the escape point so as to maintain the positional relationship from the end position.
  • the arm type robot 40 performs such positioning work one by one for each point displayed in the positioning work list 90.
  • the robot teaching apparatus 10 receives an input for designating a predetermined position in the real space where the arm-type robot 40 performs work by a virtual position in the virtual space (S1000).
  • the robot teaching apparatus 10 receives an input for designating an alignment operation for confirming whether the corresponding position in the real space having the same coordinate value as the coordinate value of the virtual position matches the predetermined position in the real space (S1010). .
  • the robot teaching apparatus 10 outputs a list of virtual positions that require alignment work (S1020).
  • the robot teaching apparatus 10 generates an operation program 710 in which the alignment work is performed on the points that require the alignment work.
  • the arm type robot 40 moves the hand 50 of the arm type robot 40 to the corresponding position having the same coordinate value as the coordinate value of the virtual position or the approach point of the virtual position and stops. Then, the worker manually adjusts the position of the hand 50 of the arm type robot 40 to move it to the correct position, and in that state inputs to the arm type robot 40 that the position is set as the end position. Then, the arm type robot 40 sets the coordinate value of the hand 50 after being manually corrected as a coordinate value representing a predetermined position (S1030).
  • the robot teaching device 10 As described above, 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. However, according to the present embodiment, the alignment operation of the arm type robot 40 when performing offline teaching is performed. It can be specified.
  • the robot teaching apparatus 10 can accept an input designating a plurality of virtual positions and can also accept an input designating a positioning operation for each virtual position.
  • the robot teaching apparatus 10 can also output an alignment work list 90 that is a list of virtual positions that require alignment work.
  • the worker in the field can easily confirm to which point the alignment operation should be performed, so that the alignment operation can be performed without omission.
  • the robot teaching apparatus 10 can also specify the alignment work with the teaching point when the arm type robot 40 performs the work on the workpiece W as the predetermined position.
  • the robot teaching apparatus 10 designates the alignment operation with the point having a relative positional relationship with the teaching point when the arm type robot 40 performs the operation on the workpiece W as the predetermined position. It may be.
  • the hand 50 of the arm type robot 40 when performing the alignment operation, can be moved to a point having a relative positional relationship with a teaching point such as an approach point or an escape point. Therefore, for example, even when the teaching point is provided on the surface of the shelf 45, the alignment operation can be performed without bringing the hand 50 into contact with another object.
  • a teaching point such as an approach point or an escape point.
  • 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 A1 at the position before the movement and the TCP of the music box B9 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 calculation unit 88 calculates a trajectory passing through the approach point P3 in a state where the hand 50 holds the music box OG by the holding unit.
  • another music box OG or the like may be placed around the position where the music box OG is placed (for example, the position of the music box B9).
  • the music box OG to be moved may hit another music box OG.
  • the music box OG is placed via the approach point P3 away from the TCP of the music box B9. Therefore, the calculation unit 88 can calculate a trajectory that prevents the moving work W from hitting an obstacle or the like even when there is an obstacle around the target position.
  • the calculation unit 88 calculates a trajectory passing through the escape point P4 in a state where the hand 50 does not hold the music box OG as a trajectory for moving the hand 50 after placing the music box OG.
  • another music box OG may be placed around the position of the placed music box OG (for example, the position of the music box B9).
  • the hand 50 may hit another music box OG.
  • a trajectory for moving the hand 50 from the music box B9 TCP via the escape point P4 defined in the vertical direction is calculated. Therefore, the calculation unit 88 can calculate a trajectory that prevents the hand 50 from hitting an obstacle or the like even when there is an obstacle around the target position.
  • the trajectory calculation of the calculation unit 88 at the time of work placing the work W (“place”) has been described, but the same applies to the work of picking up the work W (“pick up”). That is, when grabbing the music box OG, the hand 50 passes through the approach point P3 without holding the music box OG. Then, as a trajectory for moving the hand 50 after grabbing the music box OG, the hand 50 passes the escape point P4 while holding the music box OG.
  • 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 approach point P3 is set based on the information of the music box OG provided in the virtual space. As a result, the user can easily set the approach point P3 as compared with the case of directly specifying the coordinates of the approach point P3.
  • the escape point P4 is set based on the information of the music box OG provided in the virtual space. As a result, the user can easily set the escape point P4 as compared with the case of directly specifying the coordinates of the escape point P4.
  • the alignment work can be set for the end position P2 when the hand 50 is moved. You may do it.
  • the position alignment operation may be performed by designating a corner point of the shelf 45.
  • the position of the shelf 45 at the site can be corrected to a position as designed in the three-dimensional CAD.
  • 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 B9 at the position after the movement even when the workpiece W is taken. .
  • the hand 50 takes the workpiece W
  • the hand 50 does not actually hold the workpiece W.
  • the trajectory calculated assuming that the hand 50 is holding the workpiece W is the same as the trajectory when the workpiece W is taken.
  • the “work W” provided at the work start position is calculated as a trajectory to be moved to the “work W” provided at the work end position. That is, the trajectory for moving “work W” from the work start position (first position) to the work end position (second position) is not only the trajectory for actually moving “work W”.
  • the trajectory when the hand 50 virtually moves the “work W” is also included.
  • 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 work W is the “music box” and the support member on which the “music box” is placed (supported) is the shelf 45, but is not limited thereto.
  • the workpiece W may be a “cup (container)”, and the “cup” may be stored (supported) in a “cup holder”.
  • the “cup holder” may be configured not only to store the “cup” but also to support only a part of the outer surface of the “cup holder”. Even when such a “cup” and “cup holder” are used, the same effects as in the present embodiment can be obtained. For example, when the arm type robot 40 moves the “cup” so as to be supported by the tilted “cup holder”, the approach point P3, based on the bottom surface of the tilted “cup”, The escape point P4 is acquired.
  • 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.
  • the designated direction v1 at the approach point P3 is from TCP to the surface of the workpiece W.
  • the direction is substantially vertical, the present invention is not limited to this.
  • the direction v2 at the escape point P4 is also a direction that is substantially perpendicular to the surface of the workpiece W from the TCP, but may be substantially horizontal with respect to the surface of the workpiece W, for example.
  • FIG. 1 shows a state in which the hand 50 holds the workpiece W, but when the hand 50 does not hold the workpiece W, the display control unit 80 displays the workpiece W on the display device 24. do not do.
  • Third acquisition 87 ... fourth acquisition unit, 88 ... calculation unit, 89 ... display control unit, 90 ... alignment work list, 600 ... program, 610 ... robot teaching program 620 ... 3D CAD program, 700 ... data, 710 ... motion program, 800 ... recording medium, OG ... music box, A ... music box, B ... music box, W ... work, D ... 3D CAD data, Da ... 3D CAD Data, Db ... 3D CAD data, Dc ... 3D CAD data

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

【課題】オフラインティーチングを行う際のロボットの位置合わせ作業を指定する。 【解決手段】ロボットが作業を行う実空間における所定位置を指定するべく、前記実空間に対応した仮想空間における前記所定位置に対応する仮想位置を指定する入力を受け付ける仮想位置入力部と、前記仮想位置の座標値と同じ座標値を有する実空間における対応位置が、前記所定位置と一致するかを確認する位置合わせ作業を指定する入力を受け付ける位置合わせ入力部と、前記位置合わせ作業を要する場合には、前記ロボットの所定箇所を前記対応位置に移動させ、前記ロボットの姿勢が手動で修正された後の前記所定箇所の座標値が、前記所定位置を表す座標値として設定されるように前記ロボットを制御する動作プログラムを生成する動作プログラム生成部と、を備える。

Description

ロボット教示装置、ロボット教示装置の制御方法及びロボット教示プログラム
 本発明は、ロボット教示装置、ロボット教示装置の制御方法及びロボット教示プログラムに関する。
 従来より、様々な分野で産業用ロボットが用いられている。このような産業用ロボットを用いるためには、ロボットの作業時の姿勢変化を事前にロボットに記憶させるティーチングと呼ばれる作業を行わなければならない。
 近年、3次元CAD(computer aided design)のデータを活用することで、このような時系列の姿勢変化をオフラインで動作プログラムとして作成してからロボットに記憶させるオフラインティーチングが可能になっている。そしてこのようなオフラインティーチングを行うシステムやプログラムの開発も進められている(例えば特許文献1参照)。
特許第4621641号公報
 しかしながら、現場に配置されるロボットやワークの実際の位置は、3次元CAD上で設定された位置からずれている場合がある。そしてこの場合、3次元CADデータを用いてオフラインティーチングを行った際に設定したロボットの教示点の位置もずれていることになる。
 教示点のずれは、ワークのサイズやワークに対する作業内容によっては許容される場合もあるが、ワークに対して精密な作業を行う場合などのように許容できない場合もある。
 そのため、このような特定の教示点に対しては、現場で位置合わせをする必要がある。
 本発明は上記課題を鑑みてなされたものであり、オフラインティーチングを行う際のロボットの位置合わせ作業を指定可能なロボット教示装置、ロボット教示装置の制御方法及びロボット教示プログラムを提供することを一つの目的とする。
 上記課題を解決する本発明のロボット教示装置は、ロボットが作業を行う実空間における所定位置を指定するべく、前記実空間に対応した仮想空間における前記所定位置に対応する仮想位置を指定する入力を受け付ける仮想位置入力部と、前記仮想位置の座標値と同じ座標値を有する実空間における対応位置が、前記所定位置と一致するかを確認する位置合わせ作業を指定する入力を受け付ける位置合わせ入力部と、前記位置合わせ作業を要する場合には、前記ロボットの所定箇所を前記対応位置に移動させ、前記ロボットの姿勢が手動で修正された後の前記所定箇所の座標値が、前記所定位置を表す座標値として設定されるように前記ロボットを制御する動作プログラムを生成する動作プログラム生成部と、を備える。
 本発明によれば、オフラインティーチングを行う際のロボットの位置合わせ作業を指定可能なロボット教示装置、ロボット教示装置の制御方法及びロボット教示プログラムを提供することができる。
本実施形態に係るアーム型ロボットがワークに対して作業を行う様子を示す図である。 本実施形態に係るロボット教示装置の構成を示す図である。 本実施形態に係る記憶装置に記憶されるプログラム及びデータを示す図である。 本実施形態に係るアーム型ロボットの作業場所に配置される各構成要素に設定される階層構造を示す図である。 本実施形態に係る動作プログラムの内容を設定するために表示される設定画面を示す図である。 本実施形態に係るアーム型ロボットが動作プログラムを実行する際の動作内容を示す図である。 本実施形態に係るロボット教示装置の機能ブロックを示す図である。 本実施形態に係る位置合わせ作業リストを示す図である。 本実施形態に係るロボット教示装置による処理の流れを示すフローチャートである。
 以下に本発明の実施形態について図面を参照しながら詳細に説明する。
 本実施形態では、一例として、工場のラインに設置されたアーム型ロボット40に対するオフラインティーチングをロボット教示装置10を用いて行う場合を例に説明する。
---アーム型ロボット---
 本実施形態に係るアーム型ロボット40を図1に示す。
 アーム型ロボット40は、アーム51とハンド(保持部)50を有して構成される6軸(x軸、y軸、z軸、および各軸の回転方向θx、θy、θz)の多関節ロボットである。
 そしてアーム型ロボット40はワークWに対する作業を行う。例えば、アーム型ロボット40は、ワークWを棚45に置く(“place”)、あるいは棚45から取る(“pick up”)等の作業を行う。
 これらの作業を行う際のアーム型ロボット40の動きは、後述するロボット教示装置10がロボット教示プログラム610を実行することによって生成する動作プログラム710を、アーム型ロボット60が実行することによって実現される。
 ワークWは、本実施形態では一例としてオルゴールOGである。なお、図1には、棚45の上に10個のオルゴールOGが2列に配置されていると共に、アーム型ロボット40が1個のオルゴールOGを保持しているとした場合の様子が示されている。なお以下の説明において、オルゴールOGを個々に区別する際には、図1に示したようにオルゴールA1、オルゴールB1…オルゴールB10のように示す。
 また詳細は後述するが、図1に示したアーム型ロボット40、棚45及びワークWは、以下に説明するロボット教示装置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における様々な機能を実現する。例えば図6に示す仮想位置入力部80、位置合わせ入力部81、リスト出力部82及び動作プログラム生成部83の各機能が実現される(詳細は後述する)。
 ここで、図3に示すように、プログラム600の中には、アーム型ロボット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次元CADデータDaは、アーム型ロボット40のモデルが配置される仮想空間におけるワールド座標系およびローカル座標系の情報を含む。また、3次元CADデータDb,Dcも、3次元CADデータDaと同様である。
 ただし、本実施形態では、複数(n個)のワークWが用いられるため、記憶装置22には、複数のワークWのそれぞれに対応する3次元CADデータDb1~Dbnが格納されている。
 また記憶装置22に記憶されるデータ700には、上述した“place”、“pick up”等のアーム型ロボット40の動作を規定した動作プログラム710も含まれる。この動作プログラム710は、ロボット教示装置10が3次元CADデータDを用いながらロボット教示プログラム610を実行することにより、生成される。
 図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」を基準とするローカル座標系で定められた位置に配置される。そしてオルゴールA1の位置は、ハンド50を基準とするローカル座標系で定められた位置、ここでは、ハンド50で把持された位置に配置される。すなわち、ワークWを保持部により保持した状態である。また、ワークWを保持部により保持していない状態とは、ハンド50がワークWを把持していない状態である。
 また、「棚」の階層の下には、10個のオルゴールB1~B10を示す「OG B1」~「OG B10」が設定されている。このため、「OG B1」~「OG B10」は、「棚」を基準とするローカル座標系で定められた位置に配置される。
 そしてこの画面30で示された階層構造では、ある構成要素の位置が変更されると、その構成要素よりも下位の階層に配置された構成要素の位置も同様に変更される。
 例えば、3次元CAD上で「棚」の位置が変更されると、この変更に合わせて、3次元CADデータD内の「棚」のワールド座標系における座標値が変化するが、同時に、「棚」の下の階層に設けられた「OG B1」~「OG B10」のワールド座標系における座標値も「棚」の位置変化に伴って変化する。
 ただし、「OG B1」~「OG B10」のそれぞれの「棚」に対する位置は、「棚」を基準とするローカル座標系で定められているため、ワールド座標系における「棚」の位置が変更された場合であっても、「OG B1」~「OG B10」のそれぞれの「棚」に対する位置を表すローカル座標系における座標値は変化しない。
 このようにしてアーム型ロボット40は、仮想空間においては、ワールド座標系で定められる位置に配置される「Robot」(3次元CADデータDa)として表現される。そして、ハンド50は、仮想空間において「Robot」を基準とするローカル座標系で定められる位置に配置される「HAND」として表現される。
 またオルゴールA1は、仮想空間において「HAND」を基準とするローカル座標系で定められる位置に配置される「OG A1」(3次元CADデータDb1)として表現される。
 棚45は、仮想空間においてワールド座標系で定められる位置に配置される「棚」(3次元CADデータDc)として表現される。
 オルゴールB1~B10は、仮想空間において、「棚」を基準とするローカル座標系で定められる位置に配置される「OG B1」~「OG B10」(3次元CADデータDb2~Db11)として表現される。
---設定画面---
 図5は、ロボット教示装置10が生成する動作プログラム710の内容を設定するために表示装置24に表示される設定画面60の一例を示す図である。
 設定画面60は、関数名指定エリア70、作業開始位置入力エリア71(第1取得部84)、作業終了位置入力エリア72(第2取得部85)、アプローチポイント設定エリア73(第3取得部86)、エスケープポイント設定エリア74(第4取得部87)、及びティーチング設定エリア75を含んで構成される。
 なおこれらのうち、作業終了位置入力エリア72は、アーム型ロボット40が作業を行う実空間における所定位置を指定するべく、実空間に対応した仮想空間における所定位置に対応する仮想位置を指定する入力を受け付ける仮想位置入力部80として機能する。
 またティーチング設定エリア75は、仮想位置の座標値と同じ座標値を有する実空間における対応位置が、所定位置と一致するかを確認する位置合わせ作業を指定する入力を受け付ける位置合わせ入力部81として機能する。
 関数名指定エリア70では、作成される動作プログラム710を示す「関数名」が指定される。関数名指定エリア70は、作業種類指定エリア70aおよび関数名入力エリア70bを含む。作業種類指定エリア70aでは、アーム型ロボット40に実行させる作業が指定される。具体的には、作業種類指定エリア70aでは、置く(“place”)、取る(つかむ)(“pick up”)、捨てる(“dispose”)等の作業を選択可能である。関数名入力エリア70bには、利用者が指定する作業を示すファイル名(例えば、日付や整理番号)が入力される。
 図5に示す例では、関数名として置く(“place”)が選択され、作業を示すファイル名として“OG1_to_shelf”が入力されている。
 作業開始位置入力エリア71は、3次元CAD上の仮想空間における点(第1の点)の位置(第1の位置)を指定することにより、アーム型ロボット40のハンド50の動作の開始位置P1を教示点として設定するための入力欄である。本実施形態では、作業開始位置入力エリア71には、仮想空間においてこの開始位置P1にワークWのTCP(Tool Center Point)が位置するとした場合の、このワークWのTCP(所定の点)の位置を示す情報が入力される。
 図5に示す例では、作業開始位置入力エリア71には、ハンド50に保持された「オルゴールA1」(「OG A1」)が入力されている。したがってロボット教示装置10は、開始位置P1としてオルゴールA1のTCPの位置を設定する。
 作業終了位置入力エリア72は、3次元CAD上の仮想空間における点(第2の点)の位置(仮想位置、第2の位置)を指定することにより、アーム型ロボット40のハンド50の動作の終了位置P2を教示点(所定位置)として設定するための入力欄である。
 本実施形態では、作業終了位置入力エリア72には、仮想空間においてこの終了位置P2にワークWのTCPが位置するとした場合の、このワークWのTCP(所定の点)の位置を示す情報が入力される。
 図5に示す例では、作業終了位置入力エリア72には、棚45に載置された「オルゴールB9」(「OG B9」)が入力されている。したがってロボット教示装置10は、終了位置P2としてオルゴールB9のTCPの位置を設定する。
 また、作業終了位置入力エリア72にはティーチング設定エリア75が設けられているが、ティーチング設定エリア75については後述する。
 アプローチポイント設定エリア73は、3次元CAD上の仮想空間における点(第3の点)の位置を指定することにより、開始位置から終了位置までの間におけるワークWの経由点(第3の点)をアプローチポイントP3として設定するための入力欄である。
 アプローチポイントP3は、終了位置P2から離れた点であり、終了位置P2に対して相対的な位置関係を保つように設定される点であり、ハンド50に保持されたワークWが終了位置P2に接近する際に、障害物や他のワークW等に当たることを防ぐために設定される点である。アプローチポイント設定エリア73は、作業ワーク指定エリア73a、距離指定エリア73b、および方向指示エリア73cを含む。
 作業ワーク指定エリア73aには、ハンド50の動作の終了位置P2に載置されるワークWを示す情報が入力される。
 距離指定エリア73bには、作業ワーク指定エリア73aで選択されたワークWからの距離d1が入力される。
 方向指示エリア73cには、作業ワーク指定エリア73aで選択されたワークWの面に対して略垂直となる方向v1が指示される。
 図5に示す例では、アプローチポイント設定エリア73の作業ワーク指定エリア73aには、「オルゴールB9」が入力され、距離指定エリア73bには、「200」が入力され、方向指示エリア73cには、オルゴールB9の「エッジ」が指定されている。
 エスケープポイント設定エリア74は、3次元CAD上の仮想空間における点(第4の点)の位置を指定することにより、ハンド50を終了位置P2から他の位置に移動させる際にハンド50のTCPが通過する点(第4の点)をエスケープポイントP4として設定するための入力欄である。
 なお、エスケープポイントも、終了位置P2に対して相対的な位置関係を保つように設定された点であり、ハンド50により把持されたワークWの面(例えば底面)に対して略垂直方向に離間する。そしてエスケープポイントは、ワークWが終了位置P2に載置された後、ハンド50が終了位置P2から離れる際に、障害物や他のワークW等に当たることを防ぐために設定される点である。エスケープポイント設定エリア74は、作業ワーク指定エリア74a、距離指定エリア74b、および方向指示エリア74cを含む。
 作業ワーク指定エリア74aには、ハンド50の動作の終了位置P2に載置されるワークWを示す情報が入力される。なお、作業ワーク指定エリア73a、74aには、ハンド50の動作の終了位置に載置されたワークWを示す情報以外が入力されても良い。
 距離指定エリア74bには、作業ワーク指定エリア74aで選択されたワークWからの距離d2が入力される。
 方向指示エリア74cには、作業ワーク指定エリア74aで選択されたワークWの面に対して略垂直となる方向v2が指示される。
 図5に示す例では、エスケープポイント設定エリア74の作業ワーク指定エリア74aには、「オルゴールB9」が入力され、距離指定エリア74bには、「100」が入力され、方向指示エリア74cには、オルゴールB9の「エッジ」が指定されている。
 なお、方向v1,v2は、ワークWの3次元モデルに含まれる、ワークWの面に対して略垂直となっているワークWのエッジ、ワークWの法線ベクトル、ワークWの中心軸等の情報に基づいて定められる。
 上記のように開始位置P1、終了位置P2、アプローチポイントP3及びエスケープポイントP4が設定されると、ロボット教示装置10は、ワークWを開始位置P1からアプローチポイントP3を経由して終了位置P2に載置すると共に、ハンド50をエスケープポイントP4に移動させるような軌道を計算する。そしてロボット教示装置10は、アーム型ロボット40を動作させるための動作プログラム710を生成する。
 そしてこの動作プログラム710をアーム型ロボット40が実行すると、図6に示すようにアーム型ロボット40が動作する。
 図6に示すように、まず、ハンド50は、オルゴールA1のTCPに設定された開始位置P1から動作を開始し、軌道O1に沿って、ハンド50に保持されたオルゴールのTCPがアプローチポイントP3に一致するよう移動する。
 つぎに、ハンド50は、軌道O2に沿って、保持されたオルゴールのTCPが終了位置P2に一致するよう移動する。
 そして、ハンド50はオルゴールを棚45に載置した後、軌道O3に沿ってエスケープポイントP4に移動する。
 ところで、作業開始位置入力エリア71や、作業終了位置入力エリア72、アプローチポイント設定エリア73及びエスケープポイント設定エリア74に入力される位置は、3次元CADを用いて指定される仮想空間上の点の位置である。そのため、これらの点の位置を表す仮想空間での座標値が、実空間でも同じ位置を表すとは限らない。
 例えば実空間におけるアーム型ロボット40の設置高さが3次元CADで設計された高さと異なっている場合には、このずれに起因して、開始位置、終了位置、アプローチポイント、エスケープポイントの実際の位置もそれぞれずれることになる。
 特に、本実施形態では、終了位置は棚45の上にワークWを載置する位置であるので、位置のずれを極力小さくする必要がある。
 そのため、図5に示すように、作業終了位置入力エリア72にはティーチング設定エリア75が設けられている。
 ティーチング設定エリア75は、作業終了位置入力エリア72に入力された終了位置(仮想位置)の座標値と同じ座標値を有する実空間の対応位置が、実空間における終了位置(所定位置)と一致するかを確認する位置合わせ作業を指定する入力を受け付けるための入力欄である。
 ロボット教示装置10は、ティーチング設定エリア75にチェックが入力されている場合には、位置合わせ作業を要すると判定し、位置合わせ作業が実施されるような動作プログラム710を生成する。
 アーム型ロボット40は、この動作プログラム710を実行すると、作業終了位置入力エリア72に入力された仮想空間上の終了位置の座標値、もしくは終了位置の座標値のアプローチポイントと同じ座標値を有する実空間の対応位置にハンド50を移動させ、一旦停止させる。そして作業員がアーム型ロボット40のハンド50の位置を手動で調整して正しい位置に移動させ、その状態でアーム型ロボット40に対してその位置を終了位置として設定する旨の入力を行う。そうするとアーム型ロボット40は、手動で修正された後のハンド50の座標値を、終了位置を表す座標値として記憶する。
 もちろん、仮想空間における終了位置の座標値と、実空間における終了位置の座標値とのずれが許容される場合などには、ティーチング設定エリア75にチェックの入力は不要であり、この場合、ロボット教示装置10は位置合わせ作業を行わない通常の動作プログラム710を生成する。
 このように、本実施形態に係るロボット教示装置10は、ティーチング設定エリア75を設けて、位置合わせ作業を指定できるように構成されているため、オフラインティーチングを行う際のアーム型ロボット40の位置合わせ作業を個々の点ごとに指定することができる。
 このことは、棚45に載置される他のオルゴールOGについて同様であり、これらのオルゴールOGについても同じように、ティーチング設定エリア75に位置合わせ作業を指定することができる。
---軌道計算処理---
 次に、ロボット教示装置10により実行される軌道計算処理について説明する。軌道計算処理は、上記設定画面60への入力が行われた際に実行される。
 図7は、ロボット教示装置10に実現される機能ブロックを示す図である。図7に示すように、ロボット教示装置10は、第1取得部84、第2取得部85、第3取得部86、第4取得部87、計算部88、及び表示制御部89の機能ブロックを備える。
 第1取得部84は、作業開始位置入力エリア71に入力されたワークWを示す情報(3次元CADデータ)に基づいて、ワークWのTCP(所定の点)を教示点P1(第1の点)として取得する。
 第2取得部85は、作業終了位置入力エリア72に入力されたワークWを示す情報(3次元CADデータ)に基づいて、ワークWのTCPを教示点P2(第2の点)として取得する。なお、ここでは、第1取得部84および第2取得部85が取得する点をワークWのTCPとしたが、例えば、ワークWの重心を示す点であっても良い。
 第3取得部86は、アプローチポイント設定エリア73に入力された情報に基づいて、ワークWが移動される際に、ワークWが経由するアプローチポイントP3(第3の点)を取得する。具体的には、第3取得部86は、作業ワーク指定エリア73aで選択されるワークWを示す情報から、ワークWのTCP(所定の点)を取得する。そして、第3取得部86は、ワークWのTCPを始点とし、指定された方向v1に距離d1だけ離間した点をアプローチポイントP3として取得する。
 第4取得部87は、エスケープポイント設定エリア74に入力された情報に基づいて、ハンド50が移動される際に、ハンド50が経由するエスケープポイントP4(第4の点)を取得する。具体的には、第4取得部84は、作業ワーク指定エリア74aで選択されるワークWを示す情報から、ワークWのTCPを取得する。そして、第4取得部84は、ワークWのTCPを始点とし、指定された方向v2に距離d2だけ離間した点をエスケープポイントP4として取得する。なお、アプローチポイントP3、エスケープポイントP4を定める際の始点はワークWのTCPであるとしたが、例えばワークWの重心を示す点等でも良い。
 計算部88は、教示点P1,P2、アプローチポイントP3、エスケープポイントP4に基づいて、ハンド50を移動させる軌道の計算を行う。また、計算部85は、計算結果を、記憶装置22に格納する。
 そして表示制御部89は、入力装置23からの指示やCPU20で実行されるプログラム600の処理結果等に基づいて、表示装置24に各種情報を表示する。例えば、表示制御部89は、ワークWを移動する際のハンド50のアニメーションを表示装置24に表示する。
---位置合わせ作業--
 次に、ロボット教示装置10により実行される位置合わせ作業について説明する。位置合わせ作業は、ロボット教示装置10が生成した動作プログラム710をアーム型ロボット40が実行する際に行われる。
 ロボット教示装置10は、図7に示すように、仮想位置入力部80、位置合わせ入力部81、リスト出力部82、及び動作プログラム生成部83の各機能ブロックを備えており、これらの機能によって位置合わせ作業を行うような動作プログラム710を生成する。
 仮想位置入力部80は、アーム型ロボット40が作業を行う実空間における所定位置を指定するべく、仮想空間における所定位置に対応する仮想位置を指定する入力を受け付ける。
 例えばロボット教示装置10は、上述した作業終了位置入力エリア72に、3次元CADデータDから読みだした仮想空間におけるハンド50の動作の終了位置P2を指定する入力を受け付ける。この終了位置P2は、3次元CAD上での位置であるため、実際の位置とは異なっている可能性がある。
 位置合わせ入力部81は、仮想位置入力部80に入力された仮想位置の座標値と同じ座標値を有する実空間における対応位置が、所定位置と一致するかを確認する位置合わせ作業を指定する入力を受け付ける。
 例えばロボット教示装置10は、作業終了位置入力エリア72に設けられているティーチング設定エリア75を設け、位置合わせ作業を指定するためのチェックの入力を受け付ける。
 リスト出力部82は、ティーチング設定エリア75に位置合わせ作業を要する旨の指定がなされた仮想位置の一覧を出力する。
 例えば、オルゴールB1~B10の各ティーチング設定エリア75にチェックが入力された場合には、リスト出力部82は、オルゴールB1~B10のそれぞれの終了位置(仮想位置)が記載された位置合わせ作業リスト90を出力する。
 リスト出力部82により出力される位置合わせ作業リスト90を図8に示す。図8に示すように、位置合わせ作業リスト90には、ティーチング設定エリア75にチェックが入力された各点の仮想空間における終了位置の座標値及びアプローチポイントの座標値が記載される。
 この位置合わせ作業リスト90が出力されることにより、現場の作業員はどの点に対して位置合わせ作業を行えばよいかを確認できるため、位置合わせ作業を漏れなく行うことが可能となる。
 動作プログラム生成部83は、ティーチング設定エリア75にチェックが入力された終了位置についての動作プログラム710を生成する際に、アーム型ロボット40のハンド50を、作業終了位置入力エリア72に入力された終了位置の座標値で指定される対応位置に移動させ、アーム型ロボット40の姿勢が作業員によって手動で修正された後のハンド50の座標値を、終了位置の正しい座標値として設定するように動作プログラム710を生成する。
 そして、以上のようにして生成された動作プログラム710は、ロボット教示装置10によってアーム型ロボット40に送信される。
 そしてアーム型ロボット40がこの動作プログラム710を実行する際に、位置合わせ作業を要する場合には、アーム型ロボット40は、まず、ハンド50を、動作プログラム710に設定されている座標値で指定される対応位置に移動させ、そこで停止する。例えばオルゴールB1の終了位置として設定された対応位置にハンド50を移動させて停止する。
 これにより、現場の作業員は、ハンド50が実際に正しくオルゴールB1を載置する終了位置に移動しているか否かを確認することができる。
 ハンド50の位置が意図した通りの位置である場合には、作業員はアーム型ロボット40に対してその位置を終了位置として設定する旨の入力を行う。これにより、アーム型ロボット40は、オルゴールB1の終了位置、アプローチポイント及びエスケープポイントの各位置を、作業終了位置入力エリア72、アプローチポイント設定エリア73、エスケープポイント設定エリア74に入力された通りにそのまま記憶する。
 一方、ハンド50の位置が意図した位置とは異なる場合は、作業員は、アーム型ロボット40のハンド50を手動で正しい終了位置に動かした後、アーム型ロボット40に対して、その修正後の終了位置を設定する旨の入力を行う。そうするとアーム型ロボット40は、修正後のハンド50の座標値を、終了位置の座標値として記憶するとともに、アプローチポイント及びエスケープポイントの座標値も、終了位置からの位置関係を維持するように修正して記憶する。
 アーム型ロボット40は、このような位置合わせ作業を、位置合わせ作業リスト90に表示されている各点について順に一か所ずつ行う。
 このような態様によって、オフラインティーチングを行う際に3次元CADを用いて設定される様々な点のうち、実際に位置合わせが必要な特定の点に対してティーチングを行うようにすることが可能となり、作業効率も向上する。
 次に、本実施形態に係るロボット教示装置10による処理の流れを図9のフローチャートに沿って説明する。
 まずロボット教示装置10は、アーム型ロボット40が作業を行う実空間における所定位置を、仮想空間における仮想位置により指定する入力を受け付ける(S1000)。
 次にロボット教示装置10は、仮想位置の座標値と同じ座標値を有する実空間の対応位置が、実空間における所定位置と一致するかを確認する位置合わせ作業を指定する入力を受け付ける(S1010)。
 次にロボット教示装置10は、位置合わせ作業を要する仮想位置について、その一覧を出力する(S1020)。
 そしてロボット教示装置10は、位置合わせ作業を要する点について位置合わせ作業が実施されるような動作プログラム710を生成する。
 アーム型ロボット40は、この動作プログラム710を実行すると、アーム型ロボット40のハンド50を、仮想位置の座標値と同じ座標値を有する対応位置、もしくは仮想位置のアプローチポイントに移動させて停止させる。そして作業員が、アーム型ロボット40のハンド50の位置を手動で調整して正しい位置に移動させ、その状態でアーム型ロボット40に対してその位置を終了位置として設定する旨の入力を行う。そうするとアーム型ロボット40は、手動で修正された後のハンド50の座標値を、所定位置を表す座標値として設定する(S1030)。
 以上本実施形態に係るロボット教示装置10、ロボット教示装置10の制御方法及びロボット教示プログラム610について説明したが、本実施形態によれば、オフラインティーチングを行う際のアーム型ロボット40の位置合わせ作業を指定することが可能となる。
 また本実施形態に係るロボット教示装置10は、複数の仮想位置を指定する入力を受け付けるとともに、それぞれの仮想位置ごとに位置合わせ作業を指定する入力を受け付けることもできる。
 このような態様により、アーム型ロボット40の作業空間に存在する複数の点のうち、指定した点についてのみ位置合わせ作業を行うようにすることも可能となるため、無駄な位置合わせを行わないで済み、ティーチング作業を効率的に行うことが可能となる。
 また本実施形態に係るロボット教示装置10は、位置合わせ作業を要する仮想位置の一覧である位置合わせ作業リスト90を出力することもできる。
 このような態様により、現場の作業員はどの点に対して位置合わせ作業を行えばよいかが容易に確認できるため、位置合わせ作業を漏れなく行うことが可能となる。
 また本実施形態に係るロボット教示装置10は、アーム型ロボット40がワークWに対して作業を行う際の教示点を上記所定位置として位置合わせ作業を指定することもできる。
 このような態様によって、アーム型ロボット40に対して教示すべき教示点のうちの特定の教示点について、精度良く位置を合わせることが可能となる。例えばワークWのサイズが微小であるような場合や、ワークWに対して精密な作業を行う必要があるような場合に、これらの教示点について精度良く位置合わせを行うことが可能となる。このため、オフラインティーチング時に無駄な位置合わせを行わないことによるティーチング作業の合理化と、ワークWに対する作業精度の維持と、を両立させることが可能となる。
 また本実施形態に係るロボット教示装置10は、アーム型ロボット40がワークWに対して作業を行う際の教示点と相対的な位置関係を有する点を上記所定位置として位置合わせ作業を指定するようにしてもよい。
 このような態様により、位置合わせ作業を行う際に、アーム型ロボット40のハンド50を、アプローチポイントやエスケープポイントのような教示点と相対的な位置関係を有する点に移動させることが可能となるため、例えば教示点が棚45の表面などに設けられているような場合であっても、ハンド50を他の物体に接触させることなく位置合わせ作業を行うことが可能となる。
 またロボット教示装置10の計算部88は、オルゴールOGを移動する際のハンド50の軌道を、移動前の位置にあるオルゴールA1のTCPと、移動後の位置にあるオルゴールB9のTCPと、に基づいて計算する。この際、ハンド50のTCPではなく、オルゴールのTCPが用いられるため、ハンド50に対するワークWの位置の変化(例えば、ハンド50の先端でワークWを把持するか、ハンド50の奥でワークWを把持するか)等の影響が抑制される。この結果、アーム型ロボット40は、計算部88の計算結果を用いることにより、ワークWを精度良く所望の位置に移動することが可能となる。
 また、計算部88は、オルゴールOGが載置される際に、ハンド50がオルゴールOGを保持部により保持した状態でアプローチポイントP3を経る軌道を計算する。例えば、オルゴールOGを載置する位置(例えば、オルゴールB9の位置)の周辺に他のオルゴールOG等が載置されていることがある。このような場合に、移動対象のオルゴールOGを目標とする位置に直接移動させると、移動対象のオルゴールOGが、他のオルゴールOGに当たることがある。本実施形態では、オルゴールB9のTCPから離れたアプローチポイントP3を経由してオルゴールOGが載置される。したがって、計算部88は、目標位置の周辺に障害物がある場合であっても、移動対象のワークWが障害物等に当たることを防ぐ軌道を計算できる。
 また、計算部88は、オルゴールOGを載置した後にハンド50を移動させる軌道として、ハンド50がオルゴールOGを保持していない状態で、エスケープポイントP4を経る軌道を計算する。例えば、載置されたオルゴールOGの位置(例えば、オルゴールB9の位置)の周辺に他のオルゴールOGが載置されていることがある。このような場合に、ハンド50を設定された位置に直接移動させると、ハンド50が、他のオルゴールOGに当たることがある。本実施形態では、オルゴールB9のTCPから垂直方向に定められたエスケープポイントP4を経由してハンド50を移動させる軌道が計算される。したがって、計算部88は、目標位置の周辺に障害物がある場合であっても、ハンド50が障害物等に当たることを防ぐ軌道を計算できる。
 ワークWを置く(“place”)作業時の計算部88の軌道計算を説明したが、ワークWを取る(つかむ)(“pick up”)作業時も同様である。すなわち、オルゴールOGをつかむ際に、ハンド50はオルゴールOGを保持していない状態で、アプローチポイントP3を経る。そして、オルゴールOGをつかんだ後にハンド50を移動させる軌道として、ハンド50がオルゴールOGを保持している状態で、エスケープポイントP4を経る。
 また、表示制御部89は、軌道に沿って動くハンド50のアニメーションを表示装置24に表示する。表示制御部89は、アーム型ロボット40全体のアニメーションを表示せず、ハンド50のみのアニメーションを表示することから、CPU20への負荷は軽減される。
 また、本実施形態では、利用者は、ワークWを移動させる際に、ワークWの移動開始位置と、終了位置を、作業開始位置入力エリア71と、作業終了位置入力エリア72で設定できる。したがって、利用者は、複雑な座標等を指定する必要がないため、利用者は容易にアーム型ロボット40を教示できる。
 また、本実施形態では、仮想空間に設けられたオルゴールOGの情報に基づいて、アプローチポイントP3が設定される。この結果、アプローチポイントP3の座標等を直接指定する場合と比較すると、利用者は、容易にアプローチポイントP3を設定できる。
 また、本実施形態では、仮想空間に設けられたオルゴールOGの情報に基づいて、エスケープポイントP4が設定される。この結果、エスケープポイントP4の座標等を直接指定する場合と比較すると、利用者は、容易にエスケープポイントP4を設定できる。
 なお、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
 例えば、上記実施形態では、ハンド50を移動させる際の終了位置P2について、位置合わせ作業を設定できるような例を説明したが、開始位置やアプローチポイント、エスケープポイントについても、位置合わせ作業を設定できるようにしてもよい。
 さらには、作業空間内の任意の点を指定して位置合わせ作業を指定できるようにしてもよい。例えば棚45のコーナー部分の点を指定して、位置合わせ作業を行うようにしてもよい。このような態様により、棚45の位置が3次元CADで設定されている位置とずれていても、棚45の上に載置されるワークWに対して正確な位置で作業を行うことが可能となる。あるいは、現場の棚45の位置を3次元CADの設計通りの位置に修正して対応することもできる。
 また、ワークWを取る(つかむ)(“pick up”)作業の際においても、本実施形態と同様の処理が実行される。例えば、ロボット教示装置10は、ワークWを取る場合においても、移動前の位置にあるオルゴールA1のTCPと、移動後の位置にあるオルゴールB9のTCPと、に基づいてハンド50の軌道を計算する。ハンド50がワークWを取る際には、ハンド50は実際にはワークWを把持していない。しかしながら、ハンド50が仮にワークWを把持しているとして計算された軌道は、ワークWを取る際の軌道と同様である。したがって、本実施形態では、ワークWを取る際にも、作業開始位置に設けられた「ワークW」を、作業終了位置に設けられた「ワークW」に移動させる軌道として計算する。つまり、「ワークW」を作業開始位置(第1の位置)から作業終了位置(第2の位置)に移動させる際の軌道とは、実際に「ワークW」を移動させる際の軌道のみならず、ハンド50が仮想的に「ワークW」を移動させる際の軌道(ワークを取る(つかむ)(“pick up”)際の軌道)も含む。
 また本実施形態では、ハンド50がワークWである「オルゴール」を「把持」することを、保持した状態として説明したが、これに限られない。例えば、ハンド50の代わりにワークWを真空吸着することが可能な吸着パッドを用いても良い。このような場合、ワークWは、吸着パッドにより「保持」されることになる。
 本実施形態では、ワークWは「オルゴール」であり、「オルゴール」が載置(支持)される支持部材は、棚45であることとしたが、これに限られない。例えば、ワークWが「カップ(容器)」であり、「カップ」は「カップホルダー」に収納(支持)されることとしても良い。また、「カップホルダー」は、「カップ」を収納する構成のみならず、「カップい」の外側の面の一部だけを支持する構成であっても良い。このような、「カップ」および「カップホルダー」が用いられる場合であっても、本実施形態と同様の効果を得ることができる。なお、例えば、アーム型ロボット40が「カップ」を、傾いた「カップホルダー」に支持されるように移動する際には、傾いて支持された「カップ」の底面に基づいて、アプローチポイントP3、エスケープポイントP4が取得される。
 また、ここでは、教示対象となるアーム型ロボット40が6軸の多関節のロボットであることとしたが、例えば、3軸のロボットであっても良い。また、ロボット教示装置10は、教示対象となるアーム型ロボット40が6軸のロボットであっても、ワークWを移動させる際に3軸の軌道のみを計算すれば良い場合、TCP(教示点)の自由度を6から3に変更し、軌道を計算しても良い。このようにTCPの自由度を低下させることにより、CPU20の負荷を軽減することができる
 また、本実施形態では、アプローチポイントP3における指定された方向v1は、TCPから、ワークWの面に対して略垂直となる方向であることとしたが、これに限られない。例えば、ワークWの面に対して略水平方向であっても良い。また、エスケープポイントP4における方向v2も、TCPから、ワークWの面に対して略垂直となる方向であることとしたが、例えば、ワークWの面に対して略水平方向であっても良い。
 例えば、図1では、ハンド50がワークWを保持している状態が示されているが、ハンド50がワークWを保持していない場合、表示制御部80は、ワークWを表示装置24に表示しない。
 また、ロボットの動作プログラミングをする際、座標値を扱うのは煩雑である。3次元CADからは座標値も抽出することも可能であるが、煩雑であることに変わりない。また、この煩雑さは、機械技術者、ソフトウェア技術者などの異なる技術者が必要となる。そのためロボットを利用したオートメーションシステムを構築するために、膨大な時間を要する。本実施形態は、ロボットのオートメーションシステムを短時間で行うこともできる。
10…ロボット教示装置、20…CPU、21…メモリ、22…記憶装置、23…入力装置、23…表示装置、24…通信装置、30…画面、40…アーム型ロボット、45…棚、50…ハンド、51…アーム、60…設定画面、70…関数名指定エリア、71…作業開始位置入力エリア、72…作業終了位置入力エリア、73…アプローチポイント設定エリア、74…エスケープポイント設定エリア、75…ティーチング設定エリア、80…仮想定点入力部、81…位置合わせ入力部、82…リスト出力部、83…動作プログラム生成部、84…第1取得部、85…第2取得部、86…第3取得部、87…第4取得部、88…計算部、89…表示制御部、90…位置合わせ作業リスト、600…プログラム、610…ロボット教示プログラム、620…3次元CADプログラム、700…データ、710…動作プログラム、800…記録媒体、OG…オルゴール、A…オルゴール、B…オルゴール、W…ワーク、D…3次元CADデータ、Da…3次元CADデータ、Db…3次元CADデータ、Dc…3次元CADデータ

 

Claims (11)

  1.  ロボットが作業を行う実空間における所定位置を指定するべく、前記実空間に対応した仮想空間における前記所定位置に対応する仮想位置を指定する入力を受け付ける仮想位置入力部と、
     前記仮想位置の座標値と同じ座標値を有する実空間における対応位置が、前記所定位置と一致するかを確認する位置合わせ作業を指定する入力を受け付ける位置合わせ入力部と、
     前記位置合わせ作業を要する場合には、前記ロボットの所定箇所を前記対応位置に移動させ、前記ロボットの姿勢が手動で修正された後の前記所定箇所の座標値が、前記所定位置を表す座標値として設定されるように前記ロボットを制御する動作プログラムを生成する動作プログラム生成部と、
    を備えることを特徴とするロボット教示装置。
  2.  請求項1に記載のロボット教示装置であって、
     前記仮想空間における第1の位置に設けられたワークの所定の点を、第1の点として取得する第1取得部と、
     前記仮想空間における第2の位置に設けられた前記ワークの所定の点を、第2の点として取得する第2取得部と、
     前記第1及び第2の点に基づいて、前記仮想空間における前記ロボットが、前記ワークを保持部により前記第1の位置から前記第2の位置に移動させる際の前記保持部の軌道を計算する計算部と、
    を備え、
     前記仮想位置入力部は、前記第1の位置及び前記第2の位置の少なくともいずれか一方を前記仮想位置として入力を受け付ける
    ことを特徴とするロボット教示装置。
  3.  請求項2に記載のロボット教示装置であって、
     前記第2の位置に支持された前記ワークの前記第2の点から離れた第3の点を取得する第3取得部を更に備え、
     前記計算部は、
     前記第1~第3の点に基づいて、前記ロボットが、前記ワークを前記第1の位置から前記第3の点を経由して前記第2の位置に移動させる際の前記保持部の軌道を計算する
    ことを特徴とするロボット教示装置。
  4.  請求項2または請求項3に記載のロボット教示装置であって、
     前記第2の位置に支持された前記ワークの前記第2の点から離れた第4の点を取得する第4取得部を更に備え、
     前記計算部は、
     前記ロボットが、前記保持部を前記第4の点まで移動させる際の前記保持部の軌道を計算する
    ことを特徴とするロボット教示装置。
  5.  請求項2~4の何れか一項に記載のロボット教示装置であって、
     前記ロボットが前記保持部を移動させる際、前記ロボットのうち、前記保持部の動きを表示装置に表示させる表示制御部を更に備える
    ことを特徴とするロボット教示装置。
  6.  請求項1に記載のロボット教示装置において、
     前記仮想位置入力部は、複数の前記仮想位置を指定する入力を受け付け、
     前記位置合わせ入力部は、それぞれの前記仮想位置ごとに、位置合わせ作業を指定する入力を受け付ける
    ことを特徴とするロボット教示装置。
  7.  請求項6に記載のロボット教示装置において、
     前記位置合わせ作業を要する前記仮想位置の一覧を出力するリスト出力部と、
    をさらに備えることを特徴とするロボット教示装置。
  8.  請求項1~7のいずれかに記載のロボット教示装置において、
     前記所定位置は、前記ロボットがワークに対して作業を行う際の教示点である
    ことを特徴とするロボット教示装置。
  9.  請求項1~7のいずれかに記載のロボット教示装置において、
     前記所定位置は、前記ロボットがワークに対して作業を行う際の教示点と相対的な位置関係を有する点である
    ことを特徴とするロボット教示装置。
  10.  ロボットに対する教示を行うためのロボット教示装置の制御方法であって、
     前記ロボット教示装置が、前記ロボットが作業を行う実空間における所定位置を指定するべく、前記実空間に対応した仮想空間における前記所定位置に対応する仮想位置を指定する入力を受け付け、
     前記ロボット教示装置が、前記仮想位置の座標値と同じ座標値を有する実空間における対応位置が、前記所定位置と一致するかを確認する位置合わせ作業を指定する入力を受け付け、
     前記ロボット教示装置が、前記位置合わせ作業を要する場合には、前記ロボットの所定箇所を前記対応位置に移動させ、前記ロボットの姿勢が手動で修正された後の前記所定箇所の座標値が、前記所定位置を表す座標値として設定されるように前記ロボットを制御する動作プログラムを生成する
    ことを特徴とするロボット教示装置の制御方法。
  11.  ロボットに対する教示を行うためのロボット教示装置に、
     前記ロボットが作業を行う実空間における所定位置を指定するべく、前記実空間に対応した仮想空間における前記所定位置に対応する仮想位置を指定する入力を受け付ける手順と、
     前記仮想位置の座標値と同じ座標値を有する実空間における対応位置が、前記所定位置と一致するかを確認する位置合わせ作業を指定する入力を受け付ける手順と、
     前記位置合わせ作業を要する場合には、前記ロボットの所定箇所を前記対応位置に移動させ、前記ロボットの姿勢が手動で修正された後の前記所定箇所の座標値が、前記所定位置を表す座標値として設定されるように前記ロボットを制御する動作プログラムを生成する手順と、
    を実行させるためのロボット教示プログラム。

     
PCT/JP2018/008720 2017-03-31 2018-03-07 ロボット教示装置、ロボット教示装置の制御方法及びロボット教示プログラム WO2018180299A1 (ja)

Priority Applications (1)

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

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017073213 2017-03-31
JP2017-073213 2017-03-31

Publications (1)

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

Family

ID=63675538

Family Applications (1)

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

Country Status (2)

Country Link
JP (1) JPWO2018180299A1 (ja)
WO (1) WO2018180299A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05289736A (ja) * 1992-04-15 1993-11-05 Matsushita Electric Works Ltd ロボットのオフライン教示方法
JP2016013589A (ja) * 2014-07-01 2016-01-28 セイコーエプソン株式会社 教示装置、及びロボットシステム
JP2016209969A (ja) * 2015-05-12 2016-12-15 キヤノン株式会社 情報処理方法、および情報処理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05289736A (ja) * 1992-04-15 1993-11-05 Matsushita Electric Works Ltd ロボットのオフライン教示方法
JP2016013589A (ja) * 2014-07-01 2016-01-28 セイコーエプソン株式会社 教示装置、及びロボットシステム
JP2016209969A (ja) * 2015-05-12 2016-12-15 キヤノン株式会社 情報処理方法、および情報処理装置

Also Published As

Publication number Publication date
JPWO2018180299A1 (ja) 2020-02-20

Similar Documents

Publication Publication Date Title
CN108453702B (zh) 机器人仿真器、机器人系统以及仿真方法
US9390203B2 (en) Method and system for off-line programming of multiple interacting robots
US10279476B2 (en) Method and system for programming a robot
EP2282873B1 (en) A method and a system for facilitating calibration of an off-line programmed robot cell
JP4137909B2 (ja) ロボットプログラム補正装置
US20150151431A1 (en) Robot simulator, robot teaching device, and robot teaching method
CN110573308A (zh) 机器人系统的混合现实辅助空间编程
CN103085072A (zh) 基于三维建模软件实现工业机器人离线编程的方法
JP2018051652A (ja) ロボットシステム
JP6750909B2 (ja) ロボット軌道生成方法、ロボット軌道生成装置、および製造方法
JP6418359B1 (ja) ロボットプログラムの生成装置及び生成方法
Manou et al. Off-line programming of an industrial robot in a virtual reality environment
Constantin et al. Forward kinematic analysis of an industrial robot
JP2018128986A (ja) 経路補正方法及び多軸加工機の制御装置
Bellakehal et al. Force/position control of parallel robots using exteroceptive pose measurements
JP3639873B2 (ja) ロボット制御方法およびロボット制御システム
WO2018180299A1 (ja) ロボット教示装置、ロボット教示装置の制御方法及びロボット教示プログラム
JP2016064497A (ja) データ補正装置、データ補正方法、及び、加工装置
WO2018180300A1 (ja) ロボット作業管理システム、ロボット作業管理プログラム
WO2018180298A1 (ja) ロボット教示装置、ロボット教示装置の制御方法及びロボット教示プログラム
JP2018118330A (ja) 演算装置、演算方法、演算プログラムおよびロボットシステム
WO2018180297A1 (ja) ロボット教示装置、ロボット教示プログラム、ロボット教示装置の制御方法
JP2012040635A (ja) ロボットの軌道計画システム及び軌道計画方法
KR20200097896A (ko) 매니퓰레이터 urdf파일 생성장치 및 방법
JP2007029995A (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: 18778087

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019509116

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18778087

Country of ref document: EP

Kind code of ref document: A1