[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2021260898A1 - ロボット教示装置及び作業教示方法 - Google Patents

ロボット教示装置及び作業教示方法 Download PDF

Info

Publication number
WO2021260898A1
WO2021260898A1 PCT/JP2020/025077 JP2020025077W WO2021260898A1 WO 2021260898 A1 WO2021260898 A1 WO 2021260898A1 JP 2020025077 W JP2020025077 W JP 2020025077W WO 2021260898 A1 WO2021260898 A1 WO 2021260898A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
pose
teaching
unit
work
Prior art date
Application number
PCT/JP2020/025077
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 EP20941533.0A priority Critical patent/EP4173773A4/en
Priority to JP2022532190A priority patent/JP7454046B2/ja
Priority to US18/011,982 priority patent/US20230278211A1/en
Priority to PCT/JP2020/025077 priority patent/WO2021260898A1/ja
Publication of WO2021260898A1 publication Critical patent/WO2021260898A1/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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0081Programme-controlled manipulators with master teach-in means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35444Gesture interface, controlled machine observes operator, executes commands
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36442Automatically teaching, teach by showing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40391Human to robot skill transfer

Definitions

  • the present invention relates to a robot teaching device for teaching a robot a work operation and a work teaching method.
  • a robot teaching device that teaches a robot a work motion by detecting a person's work motion or the like with a sensor, a camera, or the like is known.
  • the robot teaching device of Patent Document 1 detects the movement of the teacher's hand and generates an operation locus of the robot corresponding to the movement.
  • the movement of the robot is generated from the movement of the teacher, but there is a problem that the movement of the work object is not accurately grasped. For this reason, depending on the type of robot used for work, work content, work environment, etc., the robot may not be able to operate within the movable range of the robot, or interference may occur between the robot and surrounding structures. There was a problem that it was not possible to generate an action that could be executed.
  • the present invention is a robot teaching device and a work teaching method capable of generating an operation capable of performing a work by the robot without causing interference with surrounding structures within the movable range of the robot.
  • the purpose is to provide.
  • the robot teaching device relates to a robot teaching device that teaches work to a robot that grips and moves an object to be grasped.
  • This device has a teaching pose measuring unit that measures and / or calculates a teaching pose, which is a pose of a first object to be gripped by a teacher during teaching work, and a second gripped object that is gripped by the robot.
  • a robot motion generator that generates a sequence of joint displacements of the robot so that the pose of the object is the same as the pose for teaching. To prepare for.
  • An example of the user interface screen in the work scenario editing unit 105 is shown. It is a flowchart explaining the operation of the 2nd Embodiment.
  • An example of the display screen in the work scenario editing unit 105 in the second embodiment is shown.
  • FIG. 1 is a configuration diagram of a robot teaching device 1 according to the first embodiment.
  • the robot teaching device 100 includes a computer 1 and a plurality of cameras 201 to 204 for motion capture (four in the illustrated example).
  • the computer 1 generates data for teaching the robot 12 the operation based on the images acquired by the cameras 201 to 204.
  • the computer 1 includes a CPU (Central Processing Unit) 8001, a GPU (Graphics Processing Unit) 8002, a ROM 8003, a RAM 8004, a hard disk drive (HDD) 8005, a display control unit 8006, an input / output control unit 8007, and a communication control unit 8008. It includes a display 8009 (display unit), a keyboard 8010, and a mouse 8011.
  • the CPU 8001 is a central control device that controls the entire operation of the teaching program.
  • the GPU 8002 is, for example, a control device for performing image processing and image recognition based on images obtained from cameras 201 to 304.
  • the ROM 8003 is a storage device that stores a teaching program and various data necessary for executing the teaching program.
  • the RAM 8004 is a storage device that temporarily stores the calculation result of the program and the like. Further, the hard disk drive 8005 stores the data of the work scenario generated by the teaching operation.
  • the display control unit 8006 is a control unit in charge of display control when the above-mentioned program execution screen or the like is displayed on the display 8009.
  • the input / output control unit 8007 is a control unit that controls the input of data and commands from various input devices (keyboard 8010, mouse 8011, etc.) and the output of various data output from the CPU 8001 or GPU 8002.
  • the communication control unit 8008 is a control unit that controls data communication with a server and other external computers.
  • the instructor 11 works toward the workbench 10 for teaching to the robot 12.
  • the instructor 11 dispenses the reagent into the test tube 402, which is the work object (the object to be grasped), which is grasped by the left hand, by the micropipette 401, which is the work tool (the object to be grasped) grasped by the right hand.
  • a right marker plate 301 for motion capture is attached to the micropipette 401
  • a left marker plate 302 for motion capture is attached to the test tube 402.
  • the right marker plate 301 and the left marker plate 302 are imaged by the cameras 201, 202, 203, 204.
  • the micropipette 401 and the test tube 402 here are examples of the objects to be grasped by the teacher 11, and the objects to be grasped are not limited thereto.
  • the instructor 11 is a subject who teaches the work to the robot 12.
  • the teacher 11 is basically a human being, but the teacher 11 may be a robot. That is, the robot to which the work is taught becomes the instructor 11, and the work can be taught to another robot 12.
  • the movements of the micropipette 401 and the test tube 402 by the instructor 11 are imaged by the cameras 201 to 204, the movements are analyzed by the computer 1, and the analysis result is transmitted to the robot 12.
  • the robot 12 is a dual-arm robot 12, but is not limited thereto.
  • the robot may be a combination of two robots, a robot with a single arm on the right arm and a robot with a single arm on the left arm.
  • the two robots may be different types of robots. It is also possible to reproduce the work of the teacher's two arms by a robot having three or more arms.
  • the robot 12 is not limited to a robot 12 simulating a human body shape as shown in the figure, and is not limited to a specific shape as long as the desired movement is possible. Further, the robot 12 may include a pedestal as described later.
  • the "robot" means all of the machine elements that operate according to the work scenario generated by the computer 1.
  • the robot 12 is installed toward the workbench 10'similar to the workbench 10.
  • the robot 12 is instructed to dispense the reagent to the test tube 402 ′ grasped by the left hand 620 by the micropipette 401 ′ grasped by the right hand 610.
  • the micropipette 401'and the test tube 402'(second gripped object) correspond to the micropipette 401 and the test tube 402 (first gripped object) gripped by the teacher 11.
  • the micropipette 401'and the test tube 402'can have the same shape as the micropipette 401 and the test tube 402, but they do not have to be exactly the same and are of the same type as long as the difference in shape is known.
  • micropipette 401'and the test tube 402' that are gripped by the robot 12 during the teaching operation may not have a structure that can be actually used, and may be, for example, a model (dummy).
  • the computer 1 realizes the components 101 to 108 described below in the computer 1 according to the teaching program stored in the ROM 8003 or the like.
  • the teaching pose measuring unit 101 measures the three-dimensional position and / or posture of the object to be grasped (micropipette 401, test tube 402) grasped by the teacher 11 according to the images acquired by the cameras 201 to 204. Specifically, the teaching pose measurement unit 101 captures the above-mentioned right marker plate 301 and left marker plate 302 with cameras 201, 202, 203, 204, and the three-dimensional positions of the right marker plate 301 and the left marker plate 302, respectively. And / or measure the posture in chronological order.
  • the three-dimensional position and / or posture of an object is referred to as a "pose".
  • the "pause” may be data including the position of the object to be gripped (or instead of this), its inclination, rotation, and the like.
  • the teaching pose measuring unit 101 is composed of marker plates 301 and 302, cameras 201 to 204, and an arithmetic processing unit in the computer 1. Further, the teaching pose measuring unit 101 measures and / or calculates the trajectory of at least one reference point of the micropipette 401 or the test tube 402, which is the object to be grasped, based on the obtained pose.
  • the orbital data is, in a broad sense, time-series data at the position of the reference point, and may be continuous curve data or discrete point sequence data.
  • the teaching pose storage unit 102 stores the poses of the right marker plate 301 and the left marker plate 302 measured by the teaching pose measuring unit 101 as time-series data.
  • the robot motion generation unit 103 is a gripping center (also referred to as a tool center point) of the right hand 610 and the left hand 620 of the robot 12 from the poses of the right marker plate 301 and the left marker plate 302 stored by the teaching pose storage unit 102.
  • the sequence of joint displacement of the robot 12 that realizes these poses of the gripping center is calculated as the solution of the inverse kinematics calculation.
  • the teaching pose 103 is generated as time-series data
  • the motion data generated by the robot motion generation unit 103 can also be the data synchronized with the time-series data of the teaching pose. By synchronizing both data, it becomes possible to accurately reproduce the operation of the teacher 11 in terms of time.
  • the robot motion generation unit 103 generates a sequence of joint displacements based on the trajectory of at least one reference point of the micropipette 401 or the test tube 402 which is the object to be grasped.
  • the robot motion storage unit 104 stores time-series data of poses and joint displacements of the gripping centers of the right hand 610 and the left hand 620 of the robot 12 calculated by the robot motion generation unit 103.
  • the work scenario editing unit 105 performs time-series data of the pose of the gripping center of the right hand 610 and the left hand 620 of the robot 12 stored by the robot motion storage unit 104, and time-series data of the joint displacement as a unit operation for a certain period of time. A series of work consisting of at least one unit operation is described as a "work scenario”.
  • the work scenario storage unit 106 stores the work scenario described by the work scenario editing unit 105.
  • the work scenario execution unit 107 sequentially interprets the work scenarios stored by the work scenario storage unit 106, and outputs a joint axis drive command for executing the unit operation of the robot 12.
  • the joint axis control unit 108 executes the joint axis drive command of the robot 12 output by the work scenario execution unit 107, and controls each joint axis of the robot 12.
  • the measurement sampling cycle can be set short, while in a process in which a rough motion reproduction can be obtained, the measurement sampling cycle can be set long.
  • the teaching pose in this case can be only the pose of the start point and the pose of the end point of the movement.
  • FIG. 2 shows an example of the arrangement of cameras 201 to 204 in the teaching pose measuring unit 101 shown in FIG.
  • Cameras 201 to 204 sandwich the workbench 10 in order to measure the pose of the object to be grasped (eg, micropipette 401, test tube 402) held by the instructor 11 who works toward the workbench 10. It is arranged on the opposite side of the teacher 11.
  • the object to be grasped eg, micropipette 401, test tube 402
  • the fields of view 210 of the cameras 201 to 204 are set so as to overlap each other on the workbench 10, whereby the entire work area on the workbench 10 is covered, and the work tool (micropipette 401) as a gripped object. And the pose of the work object (test tube 402) as the gripped portion is imaged.
  • a workbench coordinate system 2100 ( ⁇ W in the figure), which is a reference coordinate system for motion capture, is set on the workbench 10, and poses of objects to be grasped (working tools, work objects) measured by motion capture. Is expressed as a pose in the workbench coordinate system 2100.
  • FIGS. 3A and 3B show specific configuration examples of the marker plates 301 and 302, respectively.
  • the marker plates 301 and 302 include substrates S1 and S2, and reflection markers 311 to 314 and 321 to 324 are arranged on the substrates S1 and S2.
  • FIGS. 3A and 3B also show the marker plate coordinate systems 3100 ( ⁇ RM) and 3200 ( ⁇ LM) set on the marker plates 301 and 302.
  • the reflection markers 311 to 314 are asymmetrically arranged left and right and vertically with respect to the substrate S1. If the reflection markers 311 to 314 arrangement patterns are registered in the computer 1, the pose of the right marker plate 301 can be measured. Further, by arranging the objects asymmetrically in the left-right and up-down directions, the posture of the object to be detected can be easily determined.
  • the marker plate coordinate system 3100 is defined as a coordinate system originating from the center of the right marker plate 301 when the arrangement pattern of the reflection markers 311 to 314 is registered in the motion capture system.
  • the reflection markers 321 to 324 are asymmetrically arranged left and right and vertically with respect to the substrate S2.
  • the arrangement patterns of the reflection markers on the right marker plate 301 and the left marker plate 302 can be different from each other.
  • the teaching pose measurement unit 101 can easily identify each pose of the right marker plate 301 and the left marker plate 302 based on the arrangement pattern. It is also possible to distinguish between the left and right by making the colors of the reflection markers 311 to 314 different from those of the reflection markers 321 to 324 instead of using different arrangement patterns.
  • the number of reflection markers can be changed between the right marker plate 301 and the left marker plate 302. Based on the difference in the number, it becomes easy to distinguish left and right.
  • FIG. 4 shows a state in which the marker plates 301 and 302 are attached to the micropipette 401 and the test tube 402.
  • the micropipette 401 is provided with an attachment 410 for attaching the right marker plate 301.
  • the test tube 402 is provided with an attachment 420 for attaching the left marker plate 302.
  • the marker plates 301 and 302 are arranged so that one of the axes of the coordinate system 3100 and 3200 (for example, the X axis) of the micropipette 401 and the test tube 402 substantially coincides with the vertical direction of the micropipette 401 and the test tube 402. Attached to.
  • FIG. 5 is an exploded view of the attachment 410 shown in FIG.
  • the attachment 410 is attached to the micropipette 401 by assembling the parts 410a to g shown in FIG. 5 while surrounding the micropipette 401.
  • the semicircular members 410a and 410b are fitted and fixed to the groove on the outer periphery of the C-shaped member 410c.
  • the L-shaped member 410d is screwed to the C-shaped member 410c with screws 410e and 410f.
  • the right marker plate 301 can be fixed to the attached attachment 410 after assembly with screws 410 g.
  • the attachment 410 is given a shape and position that does not hinder the teacher 11 from grasping and operating the micropipette 401, and it is easy for the teacher 11 to measure the pose of the micropipette 401 by motion capture during work. It has become like.
  • the attachment 420 may be composed of a C-shaped member 420a.
  • the C-shaped portion of the C-shaped member 420a has an inner diameter substantially the same as the outer diameter of the test tube 402, and the test tube 402 can be gripped by elastic force.
  • the left marker plate 302 can be fixed to the base of the C-shaped member 420a by a screw 420b.
  • the attachment 420 has a shape that does not hinder the teacher 11 from grasping and operating the test tube 402, so that the teacher 11 can easily measure the pose of the test tube 402 during work. ..
  • each marker plate 301, 302 is attached to the work object or the work tool only when a person teaches the work.
  • FIG. 6A is a perspective view showing a state in which the test tube 402'is gripped by the left hand 620 of the robot 12.
  • the left hand 620 is provided with two fingers 620a and 620b, and the fingers 620a and 620b are configured to be movable in the left-right direction by a slide drive mechanism (not shown).
  • the test tube 402 is sandwiched between these fingers 620a and 620b, so that the test tube 402 is gripped by the left hand 620.
  • 6 (b) and 6 (c) are side views and top views of the left hand 620, respectively, and the left grip portion coordinate system 6200 (in the figure, ⁇ LT) set at the grip center of the fingers 620a and 620b of the left hand 620.
  • the left link tip coordinate system 7200 ( ⁇ LE in the figure) set at the center of the left wrist flange 620c of the robot 12 to which the left hand 620 is attached.
  • the right hand 610 of the robot 12 can have a structure substantially similar to that of the left hand 620, and the micropipette 401'can be gripped in the same manner.
  • FIG. 7 is a diagram showing the relationship between the coordinate system 7200 set in the left hand 620 of the robot 12 holding the test tube 402'and the left marker plate coordinate system 3200 set in the left marker plate 302. Note that FIG. 7 shows a state in which the marker plate 302 is virtually attached to the test tube 402'for easy understanding.
  • the left marker plate coordinate system 3200 is a translation of the left grip portion coordinate system 6200 in parallel by a distance Lm in the Z-axis direction, and the left grip portion coordinate system 6200 is ,
  • the left link tip coordinate system 7200 is translated by a distance Lt in the Z-axis direction. From the relationship of these coordinate systems, if the pose of the left marker plate 302 is measured, the pose of the gripping center of the left hand 620 at that time can be calculated, and further, the pose of the center of the left wrist flange 620c can be calculated.
  • the robot motion generation unit 103 has a positional relationship between the gripped object coordinate system (3100, 3200) based on the gripped object and the gripped portion coordinate system (6200, 7200) based on the gripped portion of the robot 12. It is configured to measure and / or calculate the pose of the grip portion of the robot 12 by the coordinate conversion based on. Further, the robot motion generation unit 103 teaches by coordinate conversion based on the positional relationship between the grip portion coordinate system based on the grip portion of the robot 12 and the link tip coordinate system based on the center of the wrist flange of the robot. It is configured to calculate the pose of the link tip of the robot from the pose. Then, the robot motion generation unit 103 calculates the joint displacement of the robot 12 as a solution of the inverse kinematics calculation from the time-series data of the pose at the tip of the link, and generates a sequence of the joint displacement.
  • each coordinate system 3200, 6200, 7200 is not limited to the relationship of translation in the Z direction as described above, and the relationship may be known. Further, the positional relationship of each coordinate system does not have to be fixed, and may vary as long as the relationship is known.
  • the light from the marker plate is optically detected by the cameras 201 to 204 to measure the pose of the gripped object, but instead of this, the movement of the gripped object is Halled.
  • a motion capture system that magnetically detects using an element or the like may be adopted.
  • step S801 the instructor 11 demonstrates the work using the micropipette 401 (working tool) and the test tube 402 (working object).
  • step S802 the poses of the micropipette 401 and the test tube 402 held by the instructor 11 in their own hands are measured in time series by the teaching pose measuring unit 101 including the cameras 201 to 204 (step S802).
  • the poses of the micropipette 401 and the test tube 402 measured in step S802 are stored in the teaching pose storage unit 108 as time-series data of the teaching poses (step S803). Further, from the time-series data of the poses of the micropipette 401 and the test tube 402, the pose of the gripping center of the gripping portion of the robot 12 (the above-mentioned right hand 610 and left hand 620) is calculated (step S804). Then, the calculated pose of the grip portion of the robot 12 is stored as time-series data (step S805).
  • step S806 the sequence of joint displacement of each arm of the robot 12 is calculated as a solution of the inverse kinematics calculation. If the joint displacement of each arm calculated here exceeds the movable range of the robot 12, or if the robot 12 is driven according to the calculated joint displacement sequence, interference may occur between the robot 12 and the surrounding structure. It is determined whether or not there is (step S807). Data regarding the position and shape of the surrounding structure are previously held in the robot motion generation unit 103, specifically, the HDD 8005 or the like.
  • the pose of the grip portion of the robot 12 (same as the pose of the object to be gripped) is not included in the drive target before step S807.
  • the robot motion generation unit 103 uses the joint displacement time series data obtained here as the robot motion data.
  • step S806 If the joint displacement calculated in step S806 is within the movable range of the robot 12, and even if the robot 12 is driven according to the calculated joint displacement sequence, interference with the surrounding structure does not occur, the calculation is performed here.
  • the time-series data of the joint displacement is used as the robot motion data (step S807). If the sequence of the joint displacement of the robot 12 is obtained by the above processing, the pose of the grip portion of the robot 12, the time-series data of the joint displacement, the lumbar axis position, and the pedestal position are combined, and finally the robot is used as the robot motion data. It is stored in the operation storage unit 104, and a series of processes is completed (step S809).
  • FIG. 9 is a diagram showing a specific example of changing the position of the grip portion of the robot 12 by the robot motion generation unit 103 shown in FIG. 8 (step S808).
  • FIG. 9A shows an example in which the grip portion is translated in the forward direction when viewed from the robot 12 while maintaining the relative position and posture relationship between the right hand 610 and the left hand 620 (grip portion) of the robot 12. (For example, change the pose from pose 901 to 902).
  • FIG. 9B shows an example in which the grip portion is translated to the right when viewed from the robot 12 while maintaining the relative position and posture relationship of the grip portion of the robot 12 (for example,).
  • Pose changed from 903 to 904.
  • FIG. 9C shows an example in which the grip portion is translated upward when viewed from the robot 12 while maintaining the relative position and posture relationship of the grip portion of the robot 12 (for example, pose 905). Changed the pose from to 906).
  • the teaching pose can be expressed as an object according to the workbench coordinate system 2100 set on the workbench 10, but depending on the relative positional relationship between the workbench 10'and the robot 12, the robot 12 may be represented.
  • the robot 12 may not be able to operate within the movable range, or even if the operation is within the movable range, the robot 12 may interfere with the surrounding structure on the workbench 10'. In such a case, the motion of the robot 12 cannot be simply generated from the teaching pose.
  • FIG. 9 even if the grip portion is moved in parallel while maintaining the relative position and posture of the grip portion, the work content taught is not affected in many cases, and the robot 12 is movable. Interference with surrounding structures does not occur within the range, that is, it is possible to take a pose that is easy for the robot 12 to move.
  • FIG. 10A shows an example in which the waist turning axis is rotated clockwise (clockwise) when viewed from the robot 12 while maintaining the relationship between the relative positions and postures of the grip portions of the robot 12 (a). Change the pose from pose 1001 to 1002).
  • FIG. 10B shows an example in which the waist tilt axis is rotated forward when viewed from the robot 12 while maintaining the relative position and posture relationship of the grip portion of the robot 12 (pose). Change the pose from 1003 to 1004).
  • FIG. 11 is a diagram showing an example of changing the pedestal position of the robot in the robot motion generation unit 103.
  • FIG. 11A shows an example in which the position of the pedestal on which the robot 12 is mounted is moved forward when viewed from the robot 12 (the pose is changed from pose 1101 to 1102).
  • FIG. 11B shows an example in which the position of the pedestal on which the robot 12 is mounted is moved to the right when viewed from the robot 12 (the pose is changed from pose 1103 to 1104).
  • FIG. 11C shows an example in which the position of the pedestal on which the robot 12 is mounted is moved upward when viewed from the robot 12 (the pose is changed from pose 1105 to 1106).
  • step S808 the details of the process (step S808) of searching for the solution of the sequence of joint displacement by changing the pose of the grip portion of the robot, the waist axis position, and the pedestal position in the robot motion generation unit 103 will be described. ..
  • Step S1202 the relative position of the grip portion of the robot 12 and the relative position of the grip portion of the robot 12 and While maintaining the relationship of posture, the pose of the grip is changed to at least one of the front-back, left-right, and up-down directions, and the solution of the joint displacement sequence that does not cause interference of the surrounding structures within the movable range of the robot 12.
  • step S1203 if a solution to the joint displacement sequence cannot be obtained (NO in step S1203), the swivel axis of the lumbar axis is rotated while maintaining the relative position and posture relationship of the grip portion of the robot 12. Either (see FIG. 10 (a)) or the tilt axis (see FIG. 10 (b)) is executed to change the position of the grip portion, and the movable range of the robot 12 is changed.
  • the solution of the sequence of joint displacements in which the interference of the surrounding structure does not occur is searched for (step S1204). If the solution of the joint displacement sequence is obtained, the process is completed (YES in step S1205). On the other hand, if the solution of the joint displacement sequence cannot be obtained (NO in step S1205), the process proceeds to step S1206.
  • step S1206 the position of the pedestal is changed to at least one of the front-back, left-right, and up-down directions while maintaining the relative position and posture of the grip portion of the robot 12, and within the movable range of the robot 12.
  • a solution to the sequence of joint displacements that does not cause interference with the surrounding structure is searched for (step S1206). If the solution of the joint displacement sequence is obtained, the process is completed (YES in step S1207).
  • step S1207 if the solution of the joint displacement sequence cannot be obtained (NO in step S1207), it is assumed that the solution cannot be finally obtained for the teaching pose, and an error determination is made (step S1208), and the determination result is determined. Output to display 8009 or the like. If an error occurs in the end, it is necessary to redo the teaching.
  • the pose, the waist axis position, and the pedestal position of the grip portion of the robot 12 are changed to search for the solution of the joint displacement, but these are changed simultaneously or in parallel. Then, the solution of the joint displacement may be searched. For example, the solution of the joint displacement may be searched for by changing the pedestal position in the forward direction and further translating the grip portion pose of the robot 12 in the upward direction.
  • the robot motion generation unit 103 can automatically calculate the locus of the grip portion on the computer side and generate it as a robot motion, but it is also possible to intervene the user's judgment (selection) as shown in FIG. Is.
  • FIG. 13 shows an example of a visualization screen 1300 that visualizes the motion locus of the gripping center of the hands 610 and 620 of the robot 12 in the robot motion generation unit 103.
  • the visualization screen 1300 can be displayed on the display 8009.
  • the visualization screen 1300 of FIG. 13 is a curved line drawn by projecting the motion loci of the gripping centers of the right hand 610 and the left hand 620 of the robot 12 onto the XY plane of the workbench coordinate system 2100.
  • the dotted line 1301a shows the locus of the gripping center of the right hand 610 required when realizing the measured teaching pose, and the black circle indicates the position of the gripping center at each time (t1 to t12).
  • the dotted line 1301a indicates a portion where a solution of a sequence of joint displacements in which interference of surrounding structures does not occur within the movable range of the robot 12 with respect to the teaching pose is obtained (that is, the teaching pose is required).
  • the part where the robot 12 can be driven is shown).
  • the solid line 1301b indicates a portion within the movable range of the robot 12 for which a solution could not be obtained (that is, a portion where it is impossible to drive the robot 12 as required by the teaching pose. Yes).
  • a message 1301c indicating that the movable range is exceeded (Limit over) is also written.
  • the dotted line 1302a indicates the locus of the gripping center of the left hand 620, and the black circle indicates the position of the gripping center at each time (t1 to t12).
  • the dotted line 1302a indicates a portion where a solution of a sequence of joint displacements in which interference of surrounding structures does not occur within the movable range of the robot 12 with respect to the teaching pose is obtained.
  • the solid line 1302b shows a portion where interference with the surrounding structure of the robot 12 occurs. Further, on the solid line 1302b, a message 1302c indicating the occurrence of collision (Collision) is also written.
  • the total time-series data is the number of data obtained by solving the sequence of joint displacements in which the interference of surrounding structures does not occur within the movable range of the robot 12.
  • the ratio to the operation reproduction rate is defined as the operation reproduction rate.
  • the motion reproduction rate 1301d of the right arm and the motion reproduction rate 1302d of the left arm are displayed in the visualization screen 1301.
  • the solution presented here is obtained by searching for a solution to the sequence of joint displacements shown in FIG. 12, and in the example of FIG. 13, the grip portion of the robot 12 is set in the forward direction (workbench coordinate system 2100).
  • the solution of moving in parallel by 30 mm in the X direction) is displayed in the solution display column 1303. If the user of the robot 12 selects the solution presented here, the final robot motion data is generated based on the selection.
  • FIG. 14 is a diagram showing an outline of a user interface screen in the work scenario editing unit 105 shown in FIG. This user interface screen may be displayed on the display 8009.
  • the user interface screen of the work scenario editing unit 105 includes a robot unit operation display unit 1401, a robot status display unit 1402, and a scenario display unit 1403.
  • the robot unit motion display unit 1401 selects a unit motion of the robot 12 stored in the robot motion storage unit 106, and displays this unit motion as a two-dimensional or three-dimensional moving image or a locus of a grip portion of the robot 12.
  • the robot status display unit 1402 displays the status such as the joint displacement of the robot 12 displayed on the robot unit motion display unit 1401, the pose of the grip portion of the robot 12, and the position of the pedestal on which the robot 12 is mounted.
  • the work scenario description unit 1403 describes a series of work scenarios of the robot 12 in a flowchart format, and not only the unit operation of the robot 12 stored in the robot motion storage unit 106 but also the operation of the grip portion of the robot 12 and the robot. It is possible to describe the operation of the object to be gripped by 12, the conditional branch processing before and after the unit operation, the repetitive processing of the unit operation, and the like.
  • the user can confirm the work scenario in the work scenario description unit 1403 and edit the work such as addition, change, and deletion. For example, as shown in FIG. 14, in the work scenario description unit 1403, a new unit operation can be added between the unit operation Scene # 1 and the unit operation Scene # 2.
  • a solution of joint displacement that does not cause interference with surrounding structures within the movable range of the robot is solved. Since it is possible to search and generate a motion that can be executed by the robot, it is possible to easily teach the robot's work motion based on the actual work of a person, and it is possible to improve the development efficiency of the robot system.
  • the unit movements stored in the robot movement storage unit are read out, and each unit movement is described in the work scenario description unit 1403 (FIG. 14) in the order of the movements.
  • a unit operation is referred to as a "scene".
  • the user sees the scenario described as a column of scenes in the work scenario description unit 1403, and selects one of the scenes to be added from the menu of the registered scenes (step S1502).
  • step S1503 connect the scene to be added to, for example, the scene immediately before the work scenario.
  • step S1504 it is determined whether or not the pose of the robot 12 at the end of the immediately preceding scene and the pose at the start of the scene to be added match (step S1504). If they do not match (NO), a sequence of joint displacements (also referred to as joint trajectories) of the robot 12 that continuously interpolates and connects the scenes so that they are within the movable range of the robot 12 and do not interfere with the surrounding structures. Is generated (step S1505).
  • step S1505 if the pose of the robot 12 at the end of the immediately preceding scene and the pose at the start of the scene to be added match (step S1505), it is determined whether or not to end the work scenario. If the work scenario is not finished, the process returns to step S1502 (step S1506), a scene is further selected from the menu, and the scene is added to the work scenario. On the other hand, when ending the work scenario, the processing flow is completed (step S1506).
  • FIG. 16 shows an example of an execution screen when a scene is inserted in the work scenario editing unit 105.
  • FIG. 16A when a new scene is to be connected between the scene 1601 (Scene # 1) and the scene 1602 (# 1602), the pose of the robot 12 at the end of the immediately preceding scene 1601 and the addition are added. The fact that the poses at the start of the scene do not match (Inconsistent pose) is displayed as message 1603.
  • the joint trajectory 1604 to be connected by interpolating the pose at the end of the immediately preceding scene and the pose at the start of the scene to be added is automatically inserted, and the joint trajectory to be connected in this way is generated. Is displayed as message 1605.
  • the present invention is not limited to the above-described embodiment, and includes various modifications.
  • the above-described embodiment has been described in detail in order to explain the present invention in an easy-to-understand manner, and is not necessarily limited to the one including all the described configurations.
  • it is possible to replace a part of the configuration of one embodiment with the configuration of another embodiment and it is also possible to add the configuration of another embodiment to the configuration of one embodiment.
  • Robot teaching device 10 ... Work table, 11 ... Teacher, 12 ... Robot, 201, 202, 203, 204 ... Camera, 210 ... Camera view, 301, 302 ... Marker plate, 311 to 314, 321 to 324 ... Reflective marker, 401, 401'... Micropipette, 402, 402' ... Test tube, 410, 420 ... Attachment, 610 ... Right hand, 620 ... Left hand, 620a, 620b ... Left hand 620 finger, 620c ... Left wrist Flange part, 2100 ... workbench coordinate system, 3100 ... right marker plate coordinate system, 3200 ... left marker plate coordinate system, 6200 ... left grip part coordinate system, 7200 ...
  • left link tip coordinate system 8001 ... CPU, 8002 ... GPU, 8003 ... ROM, 8004 ... RAM, 8005 ... Hard disk drive (HDD), 8006 ... Display control unit, 8007 ... Input / output control unit, 8008 ... Communication control unit, 8009 ... Display (display unit), 8010 keyboard, 8011 ... Mouse.
  • HDMI Hard disk drive
  • 8006 ... Display control unit, 8007 ... Input / output control unit, 8008 ... Communication control unit, 8009 ... Display (display unit), 8010 keyboard, 8011 ... Mouse.

Landscapes

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

Abstract

ロボットの可動範囲内で周囲構造物との干渉が発生せず、ロボットが作業を実行可能な動作を生成する。このロボット教示装置は、被把持物を把持して移動させるロボットに作業を教示する作業教示装置に関する。この装置は、教示作業中の被把持物のポーズである教示用ポーズを計測及び/又は算出する教示用ポーズ計測部と、前記教示用ポーズを計測された前記被把持物と同種の被把持物のポーズが、前記教示用ポーズと同一のポーズとなるよう、前記ロボットの関節変位のシーケンスを生成するロボット動作生成部とを備える。

Description

ロボット教示装置及び作業教示方法
 本発明は、作業動作をロボットに教示するためのロボット教示装置、及び作業教示方法に関する。
 人の作業動作等をセンサやカメラ等により検知して、ロボットに作業動作を教示するロボット教示装置が知られている。例えば、特許文献1のロボット教示装置は、教示者の手先の動きを検知して、これに対応するロボットの動作軌跡を生成する。
 特許文献1を含む従来のロボット教示装置では、教示者の動きからロボットの動作が生成されるが、作業対象物の動きが正確に把握されていないという問題がある。このため、作業に用いるロボットの種類、作業内容、作業環境などによっては、ロボットの可動範囲内で動作が成立しないか、又はロボットと周囲構造物との間で干渉が発生するなど、ロボットが作業を実行可能な動作を生成することができないという課題があった。
特許第6038417号公報
 本発明は、上述のような課題に鑑み、ロボットの可動範囲内で周囲構造物との干渉が発生せず、ロボットが作業を実行可能な動作を生成することができるロボット教示装置及び作業教示方法を提供することを目的とする。
 本発明に係るロボット教示装置は、被把持物を把持して移動させるロボットに作業を教示するロボット教示装置に関する。この装置は、教示作業中に教示者により把持される第1被把持物のポーズである教示用ポーズを計測及び/又は算出する教示用ポーズ計測部と、前記ロボットにより把持される第2被把持物のポーズが、前記教示用ポーズと同一のポーズとなるよう、前記ロボットの関節変位のシーケンスを生成するロボット動作生成部と、
を備える。
 本発明によれば、ロボットの可動範囲内で周囲構造物との干渉が発生せず、ロボットが作業を実行可能な動作を生成することができるロボット教示装置及び作業教示方法を提供することができる。
第1の実施の形態に係るロボット教示装置1の全体構成を説明する概略図である。 教示用ポーズ計測部101を構成するカメラ201~204の配置例を示す概略図である。 教示用ポーズ計測部101を構成するマーカプレート301、302の構成例を説明する概略図である。 教示用ポーズ計測部101を構成するマーカプレート301、302をマイクロピペット401と試験管402に取り付けた状態を示す斜視図である。 マイクロピペット401と試験管402に取り付けたマーカプレート301、302と、それらを取り付けるためのアタッチメント410、420の分解図である。 試験管402´を把持するロボット12のハンド620の構造を、設定される座標系とともに示す斜視図である。 試験管402´を把持するロボット12のハンド620と、座標系座標系との関係を示す図である。 第1の実施の形態に係るロボット教示装置1の動作を説明するフローチャートである。 ロボット動作生成部103におけるロボット12のハンドの把持中心の位置の変更の例を示す概略図である。 ロボット動作生成部103におけるロボット12の腰軸位置の変更の例を示す概略図である。 ロボット動作生成部103におけるロボット12の台座の位置の変更の例を示す概略図である。 ロボット動作生成部103におけるロボット12のハンドの把持中心の位置、腰軸位置、台座位置の変更による関節変位の解を探索する処理の流れを示すフローチャートである。 ロボット動作生成部103におけるロボット12のハンドの把持中心の動作軌跡を可視化する画面の一例である。 作業シナリオ編集部105におけるユーザインタフェース画面の一例を示す。 第2の実施の形態の動作を説明するフローチャートである。 第2の実施の形態における作業シナリオ編集部105における表示画面の一例を示す。
 以下、添付図面を参照して本実施形態について説明する。添付図面では、機能的に同じ要素は同じ番号で表示される場合もある。なお、添付図面は本開示の原理に則った実施形態と実装例を示しているが、これらは本開示の理解のためのものであり、決して本開示を限定的に解釈するために用いられるものではない。本明細書の記述は典型的な例示に過ぎず、本開示の特許請求の範囲又は適用例を如何なる意味においても限定するものではない。
 本実施形態では、当業者が本開示を実施するのに十分詳細にその説明がなされているが、他の実装・形態も可能で、本開示の技術的思想の範囲と精神を逸脱することなく構成・構造の変更や多様な要素の置き換えが可能であることを理解する必要がある。従って、以降の記述をこれに限定して解釈してはならない。
[第1の実施の形態]
 第1の実施形態に係るロボット教示装置及び作業教示方法について、図面を参照して説明する。図1は、第1の実施の形態に係るロボット教示装置1の構成図である。
 ロボット教示装置100は、コンピュータ1と、モーションキャプチャ用の複数台(図示の例では4台)のカメラ201~204から構成される。コンピュータ1は、カメラ201~204が取得した画像に基づき、ロボット12に動作を教示するためのデータを生成する。
 コンピュータ1は、一例として、CPU(Central Processing Unit)8001、GPU(Graphics Processing Unit)8002、ROM8003、RAM8004、ハードディスクドライブ(HDD)8005、表示制御部8006、入出力制御部8007、通信制御部8008、ディスプレイ8009(表示部)、キーボード8010、及びマウス8011を備えて構成される。CPU8001は、教示用プログラムの動作の全体を司る中央制御装置である。GPU8002は、一例として、カメラ201~304から得られた画像に基づく画像処理及び画像認識を実行するための制御装置である。
 ROM8003は、教示用プログラムや、教示用プログラムを実行するのに必要な各種データを格納する記憶装置である。RAM8004は、同プログラムの演算結果等を一時的に記憶する記憶装置である。またハードディスクドライブ8005には、教示操作により生成された作業シナリオのデータが記憶される。
 表示制御部8006は、前述のプログラムの実行画面等をディスプレイ8009に表示させる場合の表示制御を担当する制御部である。入出力制御部8007は、各種入力デバイス(キーボード8010、マウス8011等)からのデータや命令の入力、及びCPU8001又はGPU8002から出力される各種データの出力を制御する制御部である。また、通信制御部8008は、サーバや、その他の外部のコンピュータとの間でのデータ通信を司る制御部である。
 このロボット教示装置100において、教示者11はロボット12への教示のため、作業台10に向かって作業を行う。例えば、教示者11は、右手で把持した作業用ツール(被把持物)であるマイクロピペット401により、左手で把持した作業対象物(被把持物)である試験管402に試薬を分注する。マイクロピペット401にはモーションキャプチャ用の右マーカプレート301が取り付けられる一方、試験管402にはモーションキャプチャ用の左マーカプレート302が取り付けられている。この右マーカプレート301及び左マーカプレート302が、カメラ201、202、203、204により撮像される。ここでのマイクロピペット401及び試験管402は、教示者11により把持される被把持物の一例であり、被把持物はこれらに限定されるものではない。
 教示者11は、ロボット12に作業を教示する主体である。教示者11は、基本的には人間であるが、教示者11がロボットであってもよい。すなわち、作業を教示されたロボットが教示者11となり、別のロボット12に作業を教示することもできる。
 このような人手作業をロボットにより自動化するため、教示者11によるマイクロピペット401及び試験管402の動作をカメラ201~204で撮像し、コンピュータ1によりその動作を解析し、その解析結果をロボット12に教示する。図示の例では、ロボット12は双腕のロボット12であるが、これに限定されるものではない。例えば、ロボットは、右腕の単腕のロボットと、左腕の単腕のロボットとの2つのロボットの組み合わせであってもよい。その2つのロボットは、それぞれ異なる種類のロボットであってもよい。また、教示者の2本の腕の作業を、3本以上のアームを有するロボットにより再現することも可能である。また、ロボット12は、図示のような人間の体型を模擬したものには限定されず、所期の動作が可能である限り、特定の形状には限定されない。また、ロボット12は、後述するように、台座を含むものであってもよい。本実施の形態において「ロボット」とは、コンピュータ1によって生成される作業シナリオに従って動作をする機械要素の全てを意味する。
 ロボット12は、作業台10と同様の作業台10´に向かって設置される。ロボット12は、その右ハンド610で把持したマイクロピペット401´により、左ハンド620で把持した試験管402´に試薬を分注するよう教示される。マイクロピペット401´及び試験管402´(第2把持物)は、教示者11により把持されるマイクロピペット401及び試験管402(第1把持物)に対応するものである。マイクロピペット401´及び試験管402´は、マイクロピペット401及び試験管402と同一の形状とすることができるが、完全に同一である必要はなく、形状の差異が把握されている限りにおいて、同種のものであればよく、形状や材質その他の性状において異なるものであってもよい。また、教示動作中においてロボット12により把持されるマイクロピペット401´及び試験管402´は、実際に使用可能な構造を有していなくても良く、例えば模型(ダミー)であってもよい。
 コンピュータ1は、ROM8003等に記憶された教示用プログラムに従い、以下に説明する構成要素101~108を、コンピュータ1中において実現する。
 教示用ポーズ計測部101は、カメラ201~204で取得された画像に従い、教示者11により把持される被把持物(マイクロピペット401、試験管402)の三次元位置及び/又は姿勢を計測する。具体的に教示用ポーズ計測部101は、前述の右マーカプレート301及び左マーカプレート302をカメラ201、202、203、204により撮像し、右マーカプレート301及び左マーカプレート302のそれぞれの3次元位置及び/又は姿勢を時系列で計測する。以下、物体の3次元位置、及び/又は姿勢のことを「ポーズ」と称する。換言すれば、「ポーズ」とは、被把持物の位置に加え(又はこれに代えて)、その傾きや回転などを含むデータであってもよい。教示用ポーズ計測部101は、マーカプレート301及び302、カメラ201~204、及びコンピュータ1内の演算処理部により構成される。また、教示用ポーズ計測部101は、被把持物であるマイクロピペット401や試験管402の少なくとも1つの基準点の軌道を、得られたポーズに基づいて計測及び/又は算出する。軌道のデータは、広義には基準点の位置の時系列データであり、連続する曲線のデータであってもよいし、飛び飛びの点列のデータであってもよい。
 教示用ポーズ記憶部102は、教示用ポーズ計測部101により計測された右マーカプレート301及び左マーカプレート302のポーズを時系列データとして記憶する。
 ロボット動作生成部103は、教示用ポーズ記憶部102により記憶された右マーカプレート301及び左マーカプレート302のポーズから、ロボット12の右ハンド610及び左ハンド620の把持中心(ツールセンタポイントとも称する)のポーズに変換し、これらの把持中心のポーズを実現するロボット12の関節変位のシーケンスを逆運動学計算の解として算出する。教示用ポーズ103が時系列データとして生成されている場合、ロボット動作生成部103で生成される動作データも、この教示用ポーズの時系列データと同期したデータとすることができる。両データが同期することにより、教示者11の動作を時間的にも正確に再現することが可能になる。ロボット動作生成部103は、被把持物であるマイクロピペット401や試験管402の少なくとも1つの基準点の軌道に基づき、関節変位のシーケンスを生成する。
 ロボット動作記憶部104は、ロボット動作生成部103により算出されたロボット12の右ハンド610及び左ハンド620の把持中心のポーズと関節変位の時系列データを記憶する。
 作業シナリオ編集部105は、ロボット動作記憶部104により記憶されたロボット12の右ハンド610及び左ハンド620の把持中心のポーズの時系列データ、及び関節変位の時系列データを、一定時間の単位動作のデータとして扱い、少なくとも1個の単位動作からなる一連の作業を「作業シナリオ」として記述する。作業シナリオ記憶部106は、作業シナリオ編集部105により記述された作業シナリオを記憶する。
 作業シナリオ実行部107は、作業シナリオ記憶部106により記憶された作業シナリオを順次解釈し、ロボット12の単位動作を実行するための関節軸駆動指令を出力する。関節軸制御部108は、作業シナリオ実行部107により出力されるロボット12の関節軸駆動指令を実行し、ロボット12の各関節軸を制御する。
 なお、教示対象とする作業の全工程を同一周期の時系列データとして計測する必要はない。例えば、精密な動作の再現性が求められる工程では、計測のサンプリング周期を短く設定する一方で、大まかな動作の再現が得られれば良い工程では、計測のサンプリング周期を長く設定することができる。さらに、動作の始点のポーズと終点のポーズのみが正確に再現されていれば良い作業もあり、この場合の教示用ポーズは、動作の始点のポーズと終点のポーズのみとすることができる。
 図2は、図1に示す教示用ポーズ計測部101におけるカメラ201~204の配置の一例を示す。作業台10に向かって作業を行う教示者11が把持している被把持物(例:マイクロピペット401、試験管402)のポーズを計測するため、カメラ201~204が、作業台10を挟んで教示者11とは反対側に配置される。
 カメラ201~204の視野210は、作業台10上で互いに重複するように設定され、これにより作業台10上の作業領域が全てカバーされ、被把持物としての作業用ツール(マイクロピペット401)、及び被把持部としての作業対象物(試験管402)のポーズが撮像される。作業台10上には、モーションキャプチャの基準座標系となる作業台座標系2100(図中、ΣW)が設定され、モーションキャプチャにより計測される被把持物(作業用ツール、作業対象物)のポーズは、作業台座標系2100におけるポーズとして表現される。
 図3(a)及び(b)は、それぞれ、マーカプレート301、302の具体的な構成例を示す。マーカプレート301、302は、基板S1、S2を備えると共に、その基板S1、S2に反射マーカ311~314、321~324を配置して構成される。図3(a)、(b)は、マーカプレート301、302に設定されたマーカプレート座標系3100(ΣRM)、3200(ΣLM)も示している。
 反射マーカ311~314は、基板S1に関し左右及び上下に非対称に配置されている。反射マーカ311~314配置パターンをコンピュータ1に登録しておけば、右マーカプレート301のポーズを計測することができる。また、左右及び上下に非対称な配置とすることにより、検出対象である被把持物の姿勢を容易に判定することができる。マーカプレート座標系3100は、反射マーカ311~314の配置パターンをモーションキャプチャシステムに登録する際に右マーカプレート301の中心を原点する座標系として定義する。
 同様に、反射マーカ321~324は、基板S2に関し左右及び上下に非対称に配置されている。なお、右マーカプレート301と左マーカプレート302の反射マーカの配置パターンはそれぞれ異なる配置パターンとすることができる。互いに異なる配置パターンとすることにより、教示用ポーズ計測部101は、右マーカプレート301、左マーカプレート302のそれぞれのポーズを、当該配置パターンに基づいて容易に識別することができる。なお、異なる配置パターンとする代わりに、反射マーカ311~314の色を、反射マーカ321~324とは異なるものとすることにより、左右の識別をすることも可能である。また、右マーカプレート301と左マーカプレート302とで、反射マーカの個数を変更することもできる。個数の違いに基づき、左右の識別が容易になる。
 図4は、マーカプレート301、302をマイクロピペット401と試験管402に取り付けた状態を示す。図4(a)に示すように、マイクロピペット401には、右マーカプレート301を取り付けるためのアタッチメント410が用意される。同様に、図4(b)に示すように、試験管402には左マーカプレート302を取り付けるためのアタッチメント420が用意される。マーカプレート301、302は、マイクロピペット401と試験管402に対し、その座標系3100、3200の軸の1つ(例えばX軸)が、マイクロピペット401及び試験管402の鉛直方向と略一致するように取り付けられる。
 図5は、図4に示したアタッチメント410の分解図である。図5(a)に示すように、アタッチメント410は、図5に示す部品410a~gを、マイクロピペット401を囲いつつ組み立てることにより、マイクロピペット401に取り付けられる。具体的には、C字状部材410cをマイクロピペット401に嵌合させた後、半円状部材410a、410bを、C字状部材410cの外周の溝に嵌合させて固定する。その後、L字状部材410dを、C字状部材410cにネジ410e、410fによりネジ止めする。右マーカプレート301は、この組立後のアタッチメント410にネジ410gにより固定することができる。アタッチメント410は教示者11がマイクロピペット401を把持、操作する際の妨げとならないような形状及び位置を与えられており、教示者11が作業中にモーションキャプチャによりマイクロピペット401のポーズを計測しやすいようになっている。
 図5(b)に示すように、アタッチメント420は、C字状部材420aから構成され得る。C字状部材420aのC字状の部分は、試験管402の外径と略同一の内径を有し弾性力により試験管402を把持可能とされる。左マーカプレート302は、C字状部材420aの基部にネジ420bにより固定され得る。アタッチメント420は、教示者11が試験管402を把持、操作する際の妨げとならないような形状となっており、教示者11が作業中に試験管402のポーズを計測しやすいようになっている。当然のことながら、各マーカプレート301、302は、人が作業を教示する際にのみ、作業対象物または作業用ツールに取り付けられる。
 図6(a)は、ロボット12の左ハンド620により試験管402´が把持された状態を示す斜視図である。左ハンド620には2本の指620a、620bが備えられ、指620a、620bは、図示しないスライド駆動機構により左右方向に移動可能に構成されている。これらの指620a、620bにより試験管402が挟まれることで、試験管402が左ハンド620により把持される。図6(b)、(c)は、それぞれ左ハンド620の側面図、上面図であり、左ハンド620の指620a、620bの把持中心に設定された左把持部座標系6200(図中、ΣLT)と、左ハンド620を取り付けるロボット12の左手首フランジ620cの中心に設定された左リンク先端座標系7200(図中、ΣLE)との位置関係が示されている。なお、図示は省略するが、ロボット12の右ハンド610は、左ハンド620と略同様の構造を有するものとすることができ、同様の要領でマイクロピペット401’を把持することができる。
 図7は、試験管402’を把持するロボット12の左ハンド620に設定された座標系7200と、左マーカプレート302に設定された左マーカプレート座標系3200の関係を示す図である。なお、図7は、理解の容易のため、仮想的に、試験管402’にマーカプレート302が取り付けられた状態を示している。
 図7(a)、(b)に示すように、左マーカプレート座標系3200は、左把持部座標系6200をZ軸方向に距離Lmだけ平行移動したものであり、左把持部座標系6200は、左リンク先端座標系7200をZ軸方向に距離Ltだけ平行移動したものとなっている。これらの座標系の関係から、左マーカプレート302のポーズを計測すれば、そのときの左ハンド620の把持中心のポーズを算出でき、さらに左手首フランジ620cの中心のポーズを算出することができる。すなわち、ロボット動作生成部103は、被把持物を基準にした被把持物座標系(3100、3200)と、ロボット12の把持部を基準にした把持部座標系(6200、7200)との位置関係に基づいた座標変換により、ロボット12の把持部のポーズを計測及び/又は算出するよう構成される。また、ロボット動作生成部103は、ロボット12の把持部を基準にした把持部座標系と、ロボットの手首フランジの中心を基準にしたリンク先端座標系との位置関係に基づいた座標変換により、教示用ポーズからロボットのリンク先端のポーズを算出するよう構成される。そして、ロボット動作生成部103は、リンク先端のポーズの時系列データからロボット12の関節変位を逆運動学計算の解として算出し、関節変位のシーケンスを生成する。
 手首フランジ620cの中心のポーズが分かれば、ロボット12のアームのリンク機構における逆運動学計算の解としてロボット12のアームの関節変位のシーケンスが求められる。また、各座標系3200、6200、7200の位置関係は、上記のようなZ方向の平行移動した関係には限定されず、関係が既知であればよい。また、各座標系の位置関係は固定である必要は無く、関係が既知である限りおいて変動してもよい。
 なお、上記の例では、マーカプレートからの光を光学的にカメラ201~204で検知して被把持物のポーズを計測する例を示したが、これに代えて、被把持物の動きをホール素子等を用いて磁気式に検知するモーションキャプチャシステムを採用してもよい。又は、マーカプレートを用いず、被把持物や教示者11の動作をカメラで撮影し、その映像を解析するシステムを採用することもできる。
 図8のフローチャートを参照して、第1の実施の形態のロボット教示装置の動作を説明する。動作が開始されると(ステップS801)、教示者11がマイクロピペット401(作業用ツール)と試験管402(作業対象物)を用いた作業を実演する。その際、教示者11が自身の手に持ったマイクロピペット401及び試験管402のポーズを、カメラ201~204を含む教示用ポーズ計測部101により時系列で計測する(ステップS802)。
 次に、ステップS802で計測したマイクロピペット401及び試験管402のポーズを、教示用ポーズの時系列データとして教示用ポーズ記憶部108に記憶する(ステップS803)。さらに、マイクロピペット401及び試験管402のポーズの時系列データから、ロボット12の把持部(前述の右ハンド610、左ハンド620)の把持中心のポーズを算出する(ステップS804)。そして、算出されたロボット12の把持部のポーズを時系列データとして記憶する(ステップS805)。
 さらに、ロボット12の把持部のポーズの時系列データから、逆運動学計算の解としてロボット12の各アームの関節変位のシーケンスを算出する(ステップS806)。ここで算出した各アームの関節変位がロボット12の可動範囲を超える場合、又は算出した関節変位のシーケンスに従ってロボット12を駆動したならばロボット12と周囲構造物との間に干渉が発生する可能性があるか否かが判断される(ステップS807)。周囲構造物の位置や形状に関するデータは、予めロボット動作生成部103、具体的にはHDD8005等に保持されている。
 ロボット12の可動範囲を超えるか、又は干渉発生が予想される場合(NO)、ロボット12の把持部のポーズ(被把持物のポーズと同じ)、ステップS807以前では駆動対象に含めていなかったロボット12の腰部関節(腰軸)の位置、又はロボット12が搭載される台座の位置のいずれかを変更することにより、ロボット12の可動範囲内で周囲構造物との干渉が発生しない関節変位のシーケンスの解が探索される(ステップS808)。この結果、関節変位のシーケンスの解が得られた場合、ロボット動作生成部103は、ここで得られた関節変位の時系列データをロボット動作データとする。
 なお、ステップS806で算出した関節変位がロボット12の可動範囲内であり、算出した関節変位のシーケンスに従ってロボット12を駆動しても周囲構造物との間に干渉が発生しなければ、ここで算出した関節変位の時系列データをロボット動作データとする(ステップS807)。以上の処理により、ロボット12の関節変位のシーケンスが得られれば、ロボット12の把持部のポーズ、関節変位の時系列データ、腰軸位置、台座位置を併せて、最終的にロボット動作データとしてロボット動作記憶部104に記憶し、一連の処理を完了する(ステップS809)。
 図9は、図8に示したロボット動作生成部103によるロボット12の把持部の位置の変更(ステップS808)の具体例を示す図である。図9(a)は、ロボット12の右ハンド610及び左ハンド620(把持部)の相対的な位置及び姿勢の関係を保ったまま、ロボット12から見て前方向に把持部を平行移動した例を示している(例えば、ポーズ901から902にポーズを変更する)。
 同様に、図9(b)は、ロボット12の把持部の相対的な位置及び姿勢の関係を保ったまま、ロボット12から見て右方向に把持部を平行移動した例を示している(例えば、ポーズ903から904にポーズ変更)。図9(c)は、ロボット12の把持部の相対的な位置及び姿勢の関係を保ったまま、ロボット12から見て上方向に把持部を平行移動した例を示している(例えば、ポーズ905から906にポーズを変更)。
 前述の通り、教示用ポーズは作業台10上に設定された作業台座標系2100に従うーズとして表現され得るが、作業台10´とロボット12の相対的な位置関係によっては、ロボット12の可動範囲内で動作ができない場合や、仮に可動範囲内の動作であったとしても作業台10´上の周囲構造物にロボット12が干渉する場合がある。このような場合には、教示用ポーズから単純にロボット12の動作を生成することができない。一方、図9に示したように、把持部の相対的な位置及び姿勢の関係を保ったまま、把持部を平行移動しても教示した作業内容に影響がない場合が多く、ロボット12の可動範囲内で周囲構造物との干渉が発生しない、すなわち、ロボット12にとって動作しやすいポーズをとることが可能となる。
 図10を参照して、図8のステップS808で説明した、ロボット動作生成部103におけるロボットの腰軸位置の変更の具体例を説明する。図10(a)は、ロボット12の把持部の相対的な位置及び姿勢の関係を保ったまま、ロボット12から見て時計回り(右回り)に腰旋回軸を回転した例を示している(ポーズ1001から1002にポーズを変更)。
 同様に、図10(b)は、ロボット12の把持部の相対的な位置及び姿勢の関係を保ったまま、ロボット12から見て前方向に腰傾斜軸を回転した例を示している(ポーズ1003から1004にポーズを変更)。このような腰軸位置の変更により、ロボット12にとって動作しやすいポーズをとることが可能となる。
 図11は、ロボット動作生成部103におけるロボットの台座位置の変更の例を示す図である。図11(a)は、ロボット12が搭載される台座の位置をロボット12から見て前方向に移動した例を示している(ポーズ1101から1102へポーズを変更)。同様に、図11(b)は、ロボット12が搭載される台座の位置をロボット12から見て右方向に移動した例を示している(ポーズ1103から1104へポーズを変更)。また、図11(c)は、ロボット12が搭載される台座の位置をロボット12から見て上方向に移動した例を示している(ポーズ1105から1106にポーズを変更)。このような台座位置の変更により、ロボット12にとって動作しやすいポーズをとることが可能となる。
 なお、本実施の形態では、ロボット12が搭載される台座位置を変更する例を示したが、これに代えて、ロボット12を無人搬送車に搭載し、この無人搬送車の停止位置を変更することも可能である。
 図12のフローチャートを参照して、ロボット動作生成部103におけるロボットの把持部のポーズ、腰軸位置、台座位置の変更による関節変位のシーケンスの解を探索する処理(ステップS808)の詳細を説明する。教示用ポーズからロボット12の可動範囲内かつ周囲構造物との干渉が発生しない関節変位のシーケンスが逆運動学計算の解として得られない場合、まず、ロボット12の把持部の相対的な位置及び姿勢の関係を保ったまま、把持部のポーズを前後、左右、上下方向の少なくともいずれかの方向に変更し、ロボット12の可動範囲内で周囲構造物の干渉が発生しない関節変位のシーケンスの解を探索する(ステップS1202)。ここで、関節変位のシーケンスの解が得られれば処理を完了する(ステップS1203のYES、ステップS1209)。
 一方、関節変位のシーケンスの解が得られなければ(ステップS1203のNO)、ロボット12の把持部の相対的な位置及び姿勢の関係を保ったまま、腰部の腰軸のうち、旋回軸を回転させるか(図10(a)参照)、又は傾斜軸を回転させるか(図10(b)参照)のいずれか(又は両方)を実行して把持部の位置を変更し、ロボット12の可動範囲内で周囲構造物の干渉が発生しない関節変位のシーケンスの解を探索する(ステップS1204)。関節変位のシーケンスの解が得られれば処理を完了する(ステップS1205のYES)。一方、関節変位のシーケンスの解が得られなければ(ステップS1205のNO)、ステップS1206に移行する。
 ステップS1206では、ロボット12の把持部の相対的な位置及び姿勢の関係を保ったまま、台座の位置を前後、左右、上下方向の少なくともいずれかの方向に変更し、ロボット12の可動範囲内で周囲構造物との干渉が発生しない関節変位のシーケンスの解を探索する(ステップS1206)。関節変位のシーケンスの解が得られれば処理を完了する(ステップS1207のYES)。
 一方、関節変位のシーケンスの解が得られなければ(ステップS1207のNO)、教示用ポーズに対して最終的に解が得られなかったとして、エラー判定を行い(ステップS1208)、その判定結果をディスプレイ8009等に出力する。なお、最終的にエラーとなった場合は、教示のやり直しが必要となる。
 なお、図11の動作例では、ロボット12の把持部のポーズ、腰軸位置、台座位置のそれぞれを変更し、関節変位の解を探索する例を示したが、これらを同時又は並行して変更して関節変位の解を探索しても良い。例えば、台座位置を前方向に変更し、且つさらにロボット12の把持部ポーズを上方向に平行移動することで、関節変位の解を探索しても良い。
 ロボット動作生成部103は、コンピュータ側で把持部の軌跡を自動演算してロボット動作として生成するものとすることができるが、図13のように、ユーザの判断(選択)を介在させることも可能である。図13は、ロボット動作生成部103におけるロボット12のハンド610、620の把持中心の動作軌跡を可視化した可視化画面1300の一例を示している。可視化画面1300は、ディスプレイ8009上に表示することができる。
 図13の可視化画面1300は、ロボット12の右ハンド610、及び左ハンド620の把持中心の動作軌跡を作業台座標系2100のXY平面に投影した軌跡を曲線で描画したものである。点線1301aは、計測された教示用ポーズを実現する場合において要求される右ハンド610の把持中心の軌跡を示し、黒い丸印は各時刻(t1~t12)の把持中心の位置を示す。
 曲線のうち、点線1301aは、教示用ポーズに対してロボット12の可動範囲内で周囲構造物の干渉が発生しない関節変位のシーケンスの解が得られた部分を示す(すなわち、教示用ポーズが要求する通りにロボット12を駆動可能である部分を示している)。一方、実線1301bは、ロボット12の可動範囲内の解が得られなかった部分を示している(すなわち、教示用ポーズが要求する通りにロボット12を駆動することは不可能である部分を示している)。また、実線1301bには、可動範囲超過(Limit over)を示すメッセージ1301cも併記される。
 同様に、点線1302aは左ハンド620の把持中心の軌跡を示し、黒い丸印は各時刻(t1~t12)の把持中心の位置を示す。曲線のうち、点線1302aは、教示用ポーズに対してロボット12の可動範囲内で周囲構造物の干渉が発生しない関節変位のシーケンスの解が得られた部分を示す。一方、実線1302bは、ロボット12の周囲構造物との干渉が発生する部分を示している。また、実線1302bには、干渉発生(Collision)を示すメッセージ1302cが併記されている。
 教示用ポーズの時系列データをロボット12の動作に変換した場合、ロボット12の可動範囲内で周囲構造物の干渉が発生しない関節変位のシーケンスの解が得られたデータ数が全体の時系列データに対してどれだけの割合であるかを動作再生率と定義する。可視化画面1301中に右アームの動作再生率1301d、左アームの動作再生率1302dが表示される。
 さらに、教示用ポーズに対してロボット12の可動範囲内の解が得られない場合、あるいは可動範囲内の解が得られたとしても周囲構造物との干渉が発生する場合には、可動範囲超過や干渉を解消するために推奨される解決策が、可視化画面1301中の解決策表示欄1303に表示される。ここで提示される解決策は、図12に示した関節変位のシーケンスの解の探索により得られるものであり、図13の例では、ロボット12の把持部を前方向(作業台座標系2100のX方向)へ30mmだけ平行移動する、という解決策が解決策表示欄1303に表示されている。ここで提示された解決策をロボット12のユーザが選択すれば、それに基づいて最終的なロボット動作データが生成される。
 図14は、図1に示す作業シナリオ編集部105におけるユーザインタフェース画面の概略を示す図である。このユーザインタフェース画面は、ディスプレイ8009に表示され得る。
 作業シナリオ編集部105のユーザインタフェース画面は、ロボット単位動作表示部1401、ロボット状態表示部1402、及びシナリオ表示部1403を備える。ロボット単位動作表示部1401は、ロボット動作記憶部106に記憶されたロボット12の単位動作を選択し、この単位動作を2次元または3次元の動画、あるいはロボット12の把持部の軌跡として表示する。
 ロボット状態表示部1402は、ロボット単位動作表示部1401に表示されるロボット12の関節変位、ロボット12の把持部のポーズ、ロボット12が搭載される台座の位置などの状態を表示する。作業シナリオ記述部1403は、ロボット12の一連の作業シナリオをフローチャート形式で記述し、ここにロボット動作記憶部106に記憶されたロボット12の単位動作だけでなく、ロボット12の把持部の動作、ロボット12が把持する被把持物の操作、単位動作の前後の条件分岐処理、単位動作の繰り返し処理などを記述可能とする。ユーザは、この作業シナリオ記述部1403において作業シナリオを確認し、作業の追加、変更、削除などの編集を行うことができる。例えば、図14に示すように、作業シナリオ記述部1403において、単位動作Scene#1とScene#2の間に、新たな単位動作を追加することができる。
 以上に述べたように、本実施形態によれば、人の実作業の動作をロボットの作業動作に変換する際、ロボットの可動範囲内で周囲構造物との干渉が発生しない関節変位の解を探索し、ロボットが実行可能な動作を生成できるため、人の実作業に基づいてロボットの作業動作を容易に教示でき、ロボットシステムの開発効率を向上させることができる。
 なお、上記の実施形態では、作業シナリオをフローチャート形式で記述する例を示したが、これに代えて、状態遷移図、タイミングチャートなどの形式を用いて記述しても良い。
[第2の実施の形態]
 次に、第2の実施形態に係るロボット教示装置及び作業教示方法について、図15~図16を参照して説明する。第2の実施の形態のロボット教示装置は、ハードウェアの全体構成は第1の実施の形態(図1~図6)と同様であるので、重複する説明は以下では省略する。また、ロボットへの教示の手順も第1の実施の形態と基本的には同様である(図8)。ただし、この第2実施の形態は、作業シナリオの編集の手順において、第1の実施の形態とは異なる動作を含んでいる。
 図15のフローチャートを参照して、第2の実施の形態において、作業シナリオ編集部105において、単位動作を作業シナリオに追加する処理を行う場合の動作の例を説明する。
 まず、ロボット動作記憶部に記憶された単位動作が読み出され、作業シナリオ記述部1403(図14)において、各単位動作がその動作順に記述される。なお、このような単位動作のことを「シーン」と称することとする。
 ユーザは、作業シナリオ記述部1403において、シーンの列として記述されたシナリオを見て、追加したいシーンを、登録シーンのメニューの中から1つ選択する(ステップS1502)。
 次に、追加するシーンを、例えば作業シナリオの直前のシーンに接続する(ステップS1503)。ここで、直前のシーンの終了時のロボット12のポーズと、追加するシーンの開始時のポーズが一致するか否かが判定される(ステップS1504)。一致しなければ(NO)、ロボット12の可動範囲内かつ周囲構造物との干渉がないように、シーン間を連続的に補間して接続するロボット12の関節変位のシーケンス(関節軌道とも称する)を生成する(ステップS1505)。
 一方、直前のシーンの終了時のロボット12のポーズと追加するシーンの開始時のポーズが一致していれば(ステップS1505)、作業シナリオを終了するかどうかを判定する。作業シナリオを終了しない場合には、ステップS1502に戻り(ステップS1506)、さらにシーンをメニューから選択し、作業シナリオに追加する。一方、作業シナリオを終了する場合、処理フローを完了する(ステップS1506)。
 図16は、作業シナリオ編集部105においてシーンを挿入する場合の実行画面の例を示している。図16(a)では、シーン1601(Scene#1)とシーン1602(#1602)との間に新たなシーンを接続しようとしたとき、直前のシーン1601の終了時のロボット12のポーズと、追加するシーンの開始時のポーズが一致していないこと(Inconsistent pose)がメッセージ1603として表示されている。図16(b)では、直前のシーンの終了時のポーズと追加するシーンの開始時のポーズを補間して接続する関節軌道1604が自動的に挿入され、このように接続する関節軌道が生成されたことがメッセージ1605として表示されている。
[その他]
 本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
1…ロボット教示装置、  10…作業台、11…教示者、 12…ロボット、 201、202、203、204…カメラ、 210…カメラの視野、 301、302…マーカプレート、 311~314、321~324…反射マーカ、  401、401´…マイクロピペット、402、402´…試験管、 410、420…アタッチメント、 610…右ハンド、 620…左ハンド、 620a、620b…左ハンド620の指、 620c…左手首フランジ部、 2100…作業台座標系、 3100…右マーカプレート座標系、  3200…左マーカプレート座標系、 6200…左把持部座標系、7200…左リンク先端座標系、 8001…CPU、 8002…GPU、 8003…ROM、 8004…RAM、 8005…ハードディスクドライブ(HDD)、 8006…表示制御部、 8007…入出力制御部、 8008…通信制御部、 8009…ディスプレイ(表示部)、 8010キーボード、 8011…マウス。

Claims (18)

  1.  被把持物を把持して移動させるロボットに作業を教示するロボット教示装置であって、
     教示作業中に教示者により把持される第1被把持物のポーズである教示用ポーズを計測及び/又は算出する教示用ポーズ計測部と、
     前記ロボットにより把持される第2被把持物のポーズが、前記教示用ポーズと同一のポーズとなるよう、前記ロボットの関節変位のシーケンスを生成するロボット動作生成部と、
    を備えたロボット教示装置。
  2.  前記教示用ポーズ計測部は、前記第1被把持物の少なくとも1つの基準点の軌道を計測及び/又は算出し、
     前記ロボット動作生成部は、前記第1被把持物の前記少なくとも1つの基準点の軌道に基づき前記関節変位のシーケンスを生成する、請求項1に記載のロボット教示装置。
  3.  前記教示用ポーズ計測部は、前記教示用ポーズを時系列で計測及び/又は算出し、
     前記ロボット動作生成部は、前記教示用ポーズの前記時系列に同期した前記関節変位のシーケンスを生成する、請求項1に記載のロボット教示装置。
  4.  前記ロボット動作生成部は、前記第1被把持物を基準にした被把持物座標系と、前記ロボットの把持部を基準にした把持部座標系との位置関係に基づいた座標変換により、前記ロボットの把持部のポーズを計測及び/又は算出する、請求項1に記載のロボット教示装置。
  5.  前記ロボット動作生成部は、前記ロボットの把持部を基準にした把持部座標系と、前記ロボットの手首フランジ中心を基準にしたリンク先端座標系との位置関係に基づいた座標変換により、前記教示用ポーズから前記ロボットのリンク先端のポーズを算出する、請求項4に記載のロボット教示装置。
  6.  前記ロボット動作生成部は、前記リンク先端のポーズの時系列データから前記ロボットの関節変位を逆運動学計算の解として算出し、前記関節変位のシーケンスを生成する、請求項5に記載のロボット教示装置。
  7.  前記ロボット動作生成部は、算出された前記ロボットの前記関節変位のシーケンスが前記ロボットの可動範囲を超える場合、又は算出された前記関節変位のシーケンスに従って前記ロボットを駆動させたならば前記ロボットと周囲構造物との間に干渉が発生すると判断される場合、
     ・前記第2被把持物の位置、
     ・前記可動範囲を超えること、又は前記干渉が発生することの判断がされたときに、駆動対象ではなかった別の関節の変位、又は
     ・前記ロボットが搭載される台座の位置
     の少なくともいずれかを変更する、請求項1に記載のロボット教示装置。
  8.  前記ロボット動作生成部は、前記第2被把持物が位置すべき位置を前後、左右、上下の少なくともいずれかの方向に平行移動することにより、前記第2被把持物の位置を変更する、請求項7に記載のロボット教示装置。
  9.  前記ロボット動作生成部は、前記別の関節として、前記ロボットの腰部関節の変位を変更する、請求項7に記載のロボット教示装置。
  10.  前記ロボット動作生成部は、前記ロボットが搭載される台座の位置を前後、左右、上下のいずれかの方向に平行移動する、請求項7に記載のロボット教示装置。
  11.  前記ロボット動作生成部で生成された前記シーケンスに従う前記ロボットの把持部の軌跡を表示する表示部を備える、請求項1に記載のロボット教示装置。
  12.  前記表示部は、
     前記軌跡のうち、前記ロボットの可動範囲を超えるか、又は周囲構造物との間に干渉が発生する位置を表示するよう構成された、請求項11に記載のロボット教示装置。
  13.  前記ロボット動作生成部は、前記可動範囲に含まれ、且つ前記干渉を回避することができる解決策を表示し、
     ユーザにより、前記解決策を選択させるよう構成された、請求項12に記載のロボット教示装置。
  14.  前記ロボット動作生成部で生成されたデータに基づき、少なくとも1個の単位動作からなる一連の作業を作業シナリオとして記述する作業シナリオ編集部と、
     前記作業シナリオを順次解釈し、前記ロボットの前記単位動作を実行する作業シナリオ実行部と
    を備えた、請求項1に記載のロボット教示装置。
  15.  前記作業シナリオ編集部は、
     前記単位動作を選択し、これを2次元または3次元の動画、あるいは前記ロボットの把持部の軌跡として表示するロボット単位動作表示部と、
     前記ロボット単位動作表示部により表示される前記ロボットの関節変位、前記ロボットの把持部のポーズ、前記ロボットが搭載される台座の位置などを表示するロボット状態表示部と、
    を備える、請求項14に記載のロボット教示装置。
  16.  前記作業シナリオ編集部は、
     前記一連の作業の中に別の単位動作を追加する場合、接続対象となる単位動作の前記把持部のポーズと、追加される単位動作での前記把持部のポーズが一致しない場合、これらのポーズを連続的に補間して接続する、請求項15に記載のロボット教示装置。
  17.  接続対象となる単位動作と、追加される単位動作との間に前記把持部のポーズに不一致があるか否かを表示する表示部を更に備える、請求項16に記載のロボット教示装置。
  18.  被把持物を把持して移動させるロボットに作業を教示する作業教示方法であって、
     教示作業中に教示者により把持される第1被把持物のポーズである教示用ポーズを計測及び/又は算出する教示用ポーズ計測ステップと、
     前記第1被把持物のポーズのデータから、第2被把持物を把持する前記ロボットの把持部のポーズを算出する把持部ポーズ算出ステップと、
     前記把持部のポーズのデータから、前記ロボットの関節変位のシーケンスを逆運動学計算の解として算出し、その際に前記ロボットの関節変位が可動範囲を超える場合、又は算出された関節変位のシーケンスに従って前記ロボットを駆動させたならば前記ロボットと周囲構造物との間に干渉が発生する場合、
     ・前記第2被把持物が取るべきポーズ、
     ・前記可動範囲を超えること、又は前記干渉が発生することの判断がされたときに、駆動対象ではなかった別の関節の変位、又は
     ・前記ロボットが搭載される台座の位置
    の少なくともいずれかを変更することにより、前記ロボットの可動範囲内かつ周囲構造物との干渉が発生しない関節変位の解を探索し、前記ロボットが実行可能な関節変位のシーケンスを生成するロボット動作生成ステップと、
     前記関節変位のシーケンスを前記ロボットの一定時間の単位動作として扱い、少なくとも1個の単位動作からなる一連の作業を作業シナリオとして記述し、
     前記ロボットの単位動作を選択し、これを前記作業シナリオの中のある単位動作に連続する単位動作として追加・接続する際、前記一連の作業中の単位動作での前記ロボットの把持部のポーズと、追加される単位動作での前記ロボットの把持部のポーズが一致しない場合、これらのポーズを前記ロボットの可動範囲内で周囲構造物との干渉を発生させずに連続的に補間する前記ロボットの関節変位のシーケンスを生成し、この補間動作を前記作業シナリオに挿入する作業シナリオ編集ステップと、
     前記作業シナリオを順次解釈して実行する作業シナリオ実行ステップと、
     前記作業シナリオに従い前記ロボットの関節軸の駆動制御を行うロボット関節軸制御ステップと、
    を備えたロボットの作業教示方法。
PCT/JP2020/025077 2020-06-25 2020-06-25 ロボット教示装置及び作業教示方法 WO2021260898A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP20941533.0A EP4173773A4 (en) 2020-06-25 2020-06-25 ROBOT TEACHING APPARATUS AND METHOD FOR TEACHING JOBS
JP2022532190A JP7454046B2 (ja) 2020-06-25 2020-06-25 ロボット教示装置及び作業教示方法
US18/011,982 US20230278211A1 (en) 2020-06-25 2020-06-25 Robot Teaching Device and Work Teaching Method
PCT/JP2020/025077 WO2021260898A1 (ja) 2020-06-25 2020-06-25 ロボット教示装置及び作業教示方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/025077 WO2021260898A1 (ja) 2020-06-25 2020-06-25 ロボット教示装置及び作業教示方法

Publications (1)

Publication Number Publication Date
WO2021260898A1 true WO2021260898A1 (ja) 2021-12-30

Family

ID=79282140

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/025077 WO2021260898A1 (ja) 2020-06-25 2020-06-25 ロボット教示装置及び作業教示方法

Country Status (4)

Country Link
US (1) US20230278211A1 (ja)
EP (1) EP4173773A4 (ja)
JP (1) JP7454046B2 (ja)
WO (1) WO2021260898A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024203293A1 (ja) * 2023-03-27 2024-10-03 株式会社日立ハイテク 情報処理システム、情報処理方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115338855A (zh) * 2021-05-14 2022-11-15 台达电子工业股份有限公司 双臂机器人组装系统

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6038417B2 (ja) * 1976-06-28 1985-08-31 東洋紡績株式会社 ポリエステル組成物
JP2002120174A (ja) * 2000-10-11 2002-04-23 Sony Corp オーサリング・システム及びオーサリング方法、並びに記憶媒体
JP2011131326A (ja) * 2009-12-24 2011-07-07 Ihi Aerospace Co Ltd ロボットアームの干渉回避方法
JP2012528015A (ja) * 2009-05-26 2012-11-12 オルドウバラン、ロボティクス 移動ロボットの挙動を編集及び制御するためのシステムと方法
JP2014117781A (ja) * 2012-12-18 2014-06-30 Yaskawa Electric Corp 教示データ作成装置、ロボットシステム、及び教示データ作成方法
JP2015071206A (ja) * 2013-10-03 2015-04-16 セイコーエプソン株式会社 制御装置、ロボット、教示データ生成方法及びプログラム
WO2015137167A1 (ja) * 2014-03-14 2015-09-17 三菱重工業株式会社 ロボットのシミュレーション装置及び方法、制御装置、及びロボットシステム
JP2016010824A (ja) * 2014-06-27 2016-01-21 株式会社安川電機 ティーチングシステム、ロボットシステムおよびティーチング方法
JP6038417B1 (ja) 2016-01-29 2016-12-07 三菱電機株式会社 ロボット教示装置及びロボット制御プログラム作成方法
JP2018069366A (ja) * 2016-10-27 2018-05-10 株式会社安川電機 ロボットシステム、ロボットシステムの制御方法、動作指令生成装置及びプログラム
JP2018167361A (ja) * 2017-03-30 2018-11-01 株式会社安川電機 ロボット動作指令生成方法、ロボット動作指令生成装置及びコンピュータプログラム
WO2019092792A1 (ja) * 2017-11-07 2019-05-16 三菱電機株式会社 表示制御装置、表示制御方法および表示制御プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3950805B2 (ja) * 2003-02-27 2007-08-01 ファナック株式会社 教示位置修正装置
US9841749B2 (en) * 2014-04-01 2017-12-12 Bot & Dolly, Llc Runtime controller for robotic manufacturing system
US10427305B2 (en) * 2016-07-21 2019-10-01 Autodesk, Inc. Robotic camera control via motion capture
JP6826069B2 (ja) * 2018-04-18 2021-02-03 ファナック株式会社 ロボットの動作教示装置、ロボットシステムおよびロボット制御装置
JP7259860B2 (ja) 2018-09-26 2023-04-18 日本電産株式会社 ロボットの経路決定装置、ロボットの経路決定方法、プログラム

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6038417B2 (ja) * 1976-06-28 1985-08-31 東洋紡績株式会社 ポリエステル組成物
JP2002120174A (ja) * 2000-10-11 2002-04-23 Sony Corp オーサリング・システム及びオーサリング方法、並びに記憶媒体
JP2012528015A (ja) * 2009-05-26 2012-11-12 オルドウバラン、ロボティクス 移動ロボットの挙動を編集及び制御するためのシステムと方法
JP2011131326A (ja) * 2009-12-24 2011-07-07 Ihi Aerospace Co Ltd ロボットアームの干渉回避方法
JP2014117781A (ja) * 2012-12-18 2014-06-30 Yaskawa Electric Corp 教示データ作成装置、ロボットシステム、及び教示データ作成方法
JP2015071206A (ja) * 2013-10-03 2015-04-16 セイコーエプソン株式会社 制御装置、ロボット、教示データ生成方法及びプログラム
WO2015137167A1 (ja) * 2014-03-14 2015-09-17 三菱重工業株式会社 ロボットのシミュレーション装置及び方法、制御装置、及びロボットシステム
JP2016010824A (ja) * 2014-06-27 2016-01-21 株式会社安川電機 ティーチングシステム、ロボットシステムおよびティーチング方法
JP6038417B1 (ja) 2016-01-29 2016-12-07 三菱電機株式会社 ロボット教示装置及びロボット制御プログラム作成方法
JP2018069366A (ja) * 2016-10-27 2018-05-10 株式会社安川電機 ロボットシステム、ロボットシステムの制御方法、動作指令生成装置及びプログラム
JP2018167361A (ja) * 2017-03-30 2018-11-01 株式会社安川電機 ロボット動作指令生成方法、ロボット動作指令生成装置及びコンピュータプログラム
WO2019092792A1 (ja) * 2017-11-07 2019-05-16 三菱電機株式会社 表示制御装置、表示制御方法および表示制御プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
See also references of EP4173773A4
TERADA, KOJI ET AL.: "Mobile gripping robot HSR-2015 utilizing a small degree-of-freedom arm and an omnidirectional trolley", THE 33RD ANNUAL CONFERENCE OF THE ROBOTICS SOCIETY OF JAPAN; TOKYO, JAPAN; SEPTEMBER 3-5, 2015, vol. 33, 3 September 2015 (2015-09-03) - 5 September 2015 (2015-09-05), jp, pages 1 - 4, XP009541555 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024203293A1 (ja) * 2023-03-27 2024-10-03 株式会社日立ハイテク 情報処理システム、情報処理方法

Also Published As

Publication number Publication date
JP7454046B2 (ja) 2024-03-21
US20230278211A1 (en) 2023-09-07
JPWO2021260898A1 (ja) 2021-12-30
EP4173773A4 (en) 2024-03-27
EP4173773A1 (en) 2023-05-03

Similar Documents

Publication Publication Date Title
Ong et al. Augmented reality-assisted robot programming system for industrial applications
US11724388B2 (en) Robot controller and display device using augmented reality and mixed reality
JP4167940B2 (ja) ロボットシステム
CN110394780B (zh) 机器人的仿真装置
Krupke et al. Comparison of multimodal heading and pointing gestures for co-located mixed reality human-robot interaction
JP7490349B2 (ja) 入力装置、入力装置の制御方法、ロボットシステム、ロボットシステムを用いた物品の製造方法、制御プログラム及び記録媒体
US9731419B2 (en) System and method for programming robots
JP6361213B2 (ja) ロボット制御装置、ロボット、ロボットシステム、教示方法、及びプログラム
Zaeh et al. Interactive laser-projection for programming industrial robots
US9984178B2 (en) Robot simulator, robot teaching apparatus and robot teaching method
US8009140B2 (en) Master-slave manipulator system
JP5022868B2 (ja) 情報処理装置、情報処理方法
JP2007286976A (ja) ロボットシミュレーション装置
JP2013049102A (ja) ロボットの制御装置及びロボットの姿勢決定方法
WO2021260898A1 (ja) ロボット教示装置及び作業教示方法
Andersen et al. Task space HRI for cooperative mobile robots in fit-out operations inside ship superstructures
TWI651175B (zh) 機械手臂之控制裝置及其教導系統與方法
Melchiorre et al. Influence of Human Limb Motion Speed in a Collaborative Hand-over Task.
JP2018144228A (ja) ロボット制御装置、ロボット、ロボットシステム、教示方法、及びプログラム
Reinhard et al. The use and usage of virtual reality technologies in planning and implementing new workstations
JPWO2021260898A5 (ja)
KR101205363B1 (ko) 6자유도 제어기를 이용한 4자유도 로봇 제어방법 및 제어장치
Mamdouh et al. Evaluation of a proposed workspace spanning technique for small haptic device based manipulator teleoperation
JPH1177568A (ja) 教示支援方法及び装置
JPH06134684A (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: 20941533

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022532190

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020941533

Country of ref document: EP

Effective date: 20230125