WO2023203747A1 - ロボット教示方法および装置 - Google Patents

ロボット教示方法および装置 Download PDF

Info

Publication number
WO2023203747A1
WO2023203747A1 PCT/JP2022/018523 JP2022018523W WO2023203747A1 WO 2023203747 A1 WO2023203747 A1 WO 2023203747A1 JP 2022018523 W JP2022018523 W JP 2022018523W WO 2023203747 A1 WO2023203747 A1 WO 2023203747A1
Authority
WO
WIPO (PCT)
Prior art keywords
pose
data
robot
measurement
teaching
Prior art date
Application number
PCT/JP2022/018523
Other languages
English (en)
French (fr)
Inventor
高志 三枝
昌宏 小山
智博 井上
弘樹 高橋
慎一 石川
Original Assignee
株式会社日立ハイテク
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立ハイテク filed Critical 株式会社日立ハイテク
Priority to PCT/JP2022/018523 priority Critical patent/WO2023203747A1/ja
Publication of WO2023203747A1 publication Critical patent/WO2023203747A1/ja

Links

Images

Classifications

    • 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

Definitions

  • the present invention relates to a technique for teaching a robot how to perform human work.
  • An example of work performed by a person is an action in a factory or the like in which a worker grasps a tool with his/her hands, moves the tool, and then releases the tool.
  • a work motion consists of one or more operations such as grasping and releasing.
  • Manipulation consists of more detailed actions and movements such as moving the arm, wrist, and fingers.
  • robot movements there is a technique of teaching the robot the human work movements by demonstration.
  • the main part that performs the target work/operation/movement may be described as a human "hand” or a robot's "hand.”
  • This description refers to the hand in a broad sense, and is used as a general term to include the shoulders, arms, wrists, palms, fingers, etc. of the human body and robots including joints.
  • the hand moves, in reality, the arm and other parts move in conjunction with the hand in the narrow sense.
  • the term "robot hand” from a "human hand” the term “hand part, hand mechanism, gripping part, gripping mechanism, etc.” may be used.
  • Examples of prior art include the following.
  • Examples of objects to be manipulated include tools and members that are objects to be grasped.
  • the hand at the end of the robot's arm is equipped with a mechanism that enables operations such as grasping.
  • the system detects the hand of a person grasping an object using a camera or the like, determines the position and orientation of the object relative to the position and orientation of the hand, and associates the position and orientation of the robot's hand with these. As a result, the system generates data on the motion of the robot's hand, etc. that corresponds to the human work motion.
  • Patent Document 1 describes ⁇ robot teaching by human demonstration'' as ⁇ providing a method for teaching a robot to perform operations based on human demonstration using images from a camera'' and ⁇ this method.
  • a 2D camera or 3D camera detects a human hand that grips and moves a workpiece, analyzes images of the hand and workpiece, and determines the posture and position of the robot gripper that is equal to the posture and position of the hand, and the workpiece. and then generating robot programming commands from the calculated orientation and position of the gripper relative to the orientation and position of the workpiece.
  • robot teaching methods such as those in the prior art example require advanced image analysis processing and computational resources because it is necessary to analyze camera images and determine the position and orientation of each part. It is sometimes difficult to determine the correspondence between a human hand and a robot hand.
  • Patent Document 1 in order to ensure accuracy of work, it is necessary to recognize the posture of a person's hand with high precision and to associate the recognition result with a robot gripping part. This recognition and prior adjustment for correspondence requires a lot of man-hours.
  • the purpose of the present disclosure is to intuitively and efficiently teach a robot how to work, by demonstrating work that maintains as much of the normal human movements as possible, even if a person has no knowledge of robots.
  • the purpose of the present invention is to provide technology that can reduce the number of man-hours required for pre-adjustment of teaching and facilitate introduction.
  • the robot teaching method includes a robot including a joint displacement sequence as a motion of the robot's hand mechanism corresponding to the work motion, based on measurement of the work motion including manipulation of an object to be operated by the hand of a teacher.
  • a robot teaching method for teaching to generate motion data wherein the step executed by a computer system includes measuring a time-series pose consisting of the position and posture of the operated object during the work motion. a second measurement pose obtained by measuring a time-series pose consisting of the position and posture of the teacher's hand during the work operation; detecting the manipulation of the object; and generating a teaching pose for generating the robot motion data based on the first measurement pose, the second measurement pose, and the detected manipulation.
  • FIG. 1 shows an overview of the overall configuration of a robot teaching system, which is a robot teaching device according to the first embodiment.
  • 2 shows an example of a functional block configuration of a control device in the robot teaching device according to the first embodiment.
  • 1 shows a configuration example of a computer system that constitutes a control device of a robot teaching device according to a first embodiment.
  • Embodiment 1 an example of arrangement of a camera and the like on a workbench is shown.
  • a configuration example of a test tube as an object to be grasped and a marker plate installed on the test tube will be described.
  • a configuration example of a pipette as an object to be grasped and a marker plate installed on the pipette will be described.
  • FIG. 1 is a perspective view showing a state in which a hand portion of a hand mechanism of a robot is gripping a test tube in Embodiment 1.
  • FIG. 3 shows a side view of the hand portion gripping the test tube in Embodiment 1.
  • FIG. 3 shows a top view of the hand portion gripping a test tube in Embodiment 1.
  • FIG. 3 is an explanatory diagram showing the relationship between the coordinate system of the marker of the test tube and the coordinate system of the hand section in a top view of the hand section gripping the test tube in Embodiment 1;
  • FIG. 3 is an explanatory diagram showing the relationship between the coordinate system of the marker of the left hand and the coordinate system of the hand section in a top view of the teacher's hand gripping the test tube in Embodiment 1;
  • a left hand gripping operation and a right hand gripping operation are shown as examples of the teacher's work motions.
  • Embodiment 1 as an example of the instructor's work motion, a state in which a pipette in the right hand approaches a test tube in the left hand is shown.
  • FIG. 2 shows a processing flow in the robot teaching method and apparatus according to the first embodiment.
  • graphs of the first measurement pose, the second measurement pose, etc. are shown.
  • graphs of poses before and after error-related correction are shown.
  • 10 shows a graph of generated taught poses in the first embodiment.
  • 6 shows a graph of pose correction in modification 1A of the first embodiment.
  • 7 shows a graph before pose correction in Modification 1B of Embodiment 1.
  • FIG. 10 shows a graph after pose correction in Modification 1B of Embodiment 1.
  • 7 shows a graph of pose correction in Modification 1C of Embodiment 1.
  • 10 shows a graph of pose correction in modification 1D of the first embodiment.
  • a display example of a screen including a GUI will be shown.
  • Embodiment 2 An example of a state in which a pipette is installed in a holder on a workbench in the robot teaching method and apparatus of Embodiment 2 is shown.
  • Embodiment 2 an example of setting contents of a correction region corresponding to restrictions when the hand section of the robot's hand mechanism grasps a pipette of a holder will be shown.
  • graphs of the first measurement pose, the second measurement pose, etc. are shown.
  • a graph regarding correction related to operation restrictions is shown.
  • a graph of generated taught poses in the second embodiment is shown.
  • 10 shows a graph of pose correction in Modification 2A of Embodiment 2.
  • 10 shows a graph of pose correction in Modification 2B of Embodiment 2.
  • 10 shows a graph of pose correction in Modification 2C of Embodiment 2.
  • a display example of a screen including a GUI will be shown.
  • the main body for these is the processor or the controller made up of the processor, etc. , equipment, computers, systems, etc.
  • a computer executes processing according to a program read onto a memory, using resources such as a memory and a communication interface as appropriate by a processor. Thereby, predetermined functions, processing units, etc. are realized.
  • the processor is composed of, for example, a semiconductor device such as a CPU/MPU or a GPU.
  • the processing is not limited to software program processing, but can also be implemented using a dedicated circuit. As the dedicated circuit, FPGA, ASIC, CPLD, etc. can be applied.
  • the program may be installed in advance as data on the target computer, or may be distributed as data from the program source to the target computer.
  • the program source may be a program distribution server on a communication network or a non-transitory computer-readable storage medium such as a memory card or disk.
  • a program may be composed of multiple modules.
  • a computer system may be configured by multiple devices.
  • the computer system may be configured with a client server system, a cloud computing system, an IoT system, etc.
  • Various types of data and information are configured, for example, in a structure such as a table or a list, but are not limited thereto. Expressions such as identification information, identifier, ID, name, number, etc. can be replaced with each other.
  • the robot teaching method and device of the embodiment has the following configuration.
  • the robot teaching method according to the embodiment is a method for teaching a robot equipped with a mechanism such as a hand mechanism capable of operating an object to be operated, to perform a work operation that involves manipulating an object to be operated by a human hand or the like.
  • This method makes it possible to measure or detect the pose of an object, which is composed of a time-series position and orientation, using a camera, sensor, or measurement device.
  • the target object is a human hand, a tool or member that is an object to be operated, a marker attached to the object, or the like.
  • the position is, for example, a position coordinate in a three-dimensional coordinate system space
  • the posture is, for example, the direction of each axis of the three-dimensional coordinate system.
  • a pose is a trajectory connecting positions and postures at each point in time.
  • the robot teaching method of the embodiment includes the step of measuring, as poses to be measured, a first pose that is a pose of an operated object such as a tool, and a second pose that is a pose of a teacher's hand.
  • the first pose is sometimes described as the tool side pose.
  • the second pose may also be described as a hand-side pose.
  • These steps include, in more detail, the step of measuring the pose of the first marker placed on the object to be operated to obtain the first measurement pose, and the step of measuring the pose of the second marker placed on the hand to obtain the second measurement pose.
  • the measurement pose can be obtained as a step.
  • the robot teaching method includes the step of generating a teaching pose, which is a pose for teaching a working action to generate a robot action, in other words, teaching data, based on the first pose and the second pose. has.
  • the robot teaching method of the embodiment includes a step of starting measurement or generation processing based on a teaching instruction such as starting a work demonstration by an administrator or a teacher, and a step of starting a process of measurement or generation based on a teaching instruction such as starting a work demonstration by an administrator or a teacher.
  • the method includes a step of terminating measurement and generation processing based on the teaching instruction.
  • the robot teaching method of the embodiment includes a step of detecting an operation of an object to be operated by a teacher, more specifically, a step of detecting an operation instruction by a teacher.
  • the instructor may input operation instructions as appropriate during the work movement.
  • This operation instruction is an input for the instructor to inform the system that "an operation such as grasping or releasing an object to be operated is currently being executed or has been executed.”
  • an instruction input device may be used to input the operation instructions.
  • the robot teaching device of the embodiment may detect the operation from a camera image or the like.
  • the step of generating the teaching data in the robot teaching method of the embodiment is a step of generating a teaching pose based on the first pose and the second pose in response to the detection of the operation.
  • the robot teaching method of the embodiment includes the step of generating a robot motion based on the generated teaching pose. More specifically, this step is a step of generating robot motion data including a sequence of joint displacements for causing the robot to perform motions.
  • the first measurement pose of the first marker on the tool side and the second measurement pose on the hand side are determined when the instructor operates the operated object.
  • the method includes a step of determining an error between the marker and the second measurement pose.
  • This method then includes the step of generating teaching data by correcting the first measurement data and the second measurement data using the error.
  • a robot teaching method includes correction data that takes into consideration the structure of the robot's hand mechanism, the structure of the object to be operated such as a tool, and restrictions corresponding thereto, the first pose, and the like. the second pose, and the step of generating an operation pose as a pose that enables the operation of the operated object so as to satisfy the restriction.
  • the method includes the step of generating teaching data by using the operating pose to replace or modify a corresponding portion of the teaching pose.
  • the structure such as the hand mechanism of the robot is a structure that is attached to the tip of the arm and enables the operation of an object to be operated, such as a gripping mechanism as an end effector, and varies depending on the implementation.
  • the structure such as the shape of the object to be operated such as the tool is, for example, the structure of a pipette or test tube, and varies depending on the implementation.
  • the above-mentioned restrictions are, for example, restrictions regarding the permissible direction, position, distance, speed, force, etc. when the hand mechanism accesses or moves a portion of a pipette or the like for operations such as gripping.
  • the robot teaching method of the first embodiment is a method having steps performed by the robot teaching device of the first embodiment.
  • the robot teaching device of Embodiment 1 is a system that includes at least a computer.
  • FIG. 1 shows an overview of the overall configuration of a robot teaching system 1, which is a robot teaching device 1 according to the first embodiment.
  • This robot teaching system 1 is a device or system for teaching a robot 2 the work motions of a human worker U1.
  • the worker U1 may be described as a first user, a teacher, etc. Such teaching may also be referred to as work teaching or the like.
  • the robot teaching system 1 includes a robot teaching control device 100.
  • the robot teaching control device 100 may also be simply referred to as a control device.
  • the work movement is a movement that constitutes a predetermined work to be taught.
  • the target predetermined work is a work that the worker U1 performs by using at least one hand as the hand 5 and operating a predetermined tool or member with the hand 5.
  • work motions and operations include the motion of grasping a tool, such as a test tube 7, with the left hand 5L or the right hand 5R as one hand 5, and the motion of releasing the tool.
  • tools that are objects to be manipulated, particularly objects to be grasped, are the test tube 7 and the pipette 8. Note that during teaching, a model may be used as a tool such as the test tube 7 instead of the real thing.
  • test tube 7 is a tube in which a substance is contained.
  • the pipette 8 is a micropipette that can aspirate a substance from within the test tube 7 and discharge the substance into the test tube 7 .
  • a coordinate system ⁇ w which is a workbench coordinate system
  • the pose of each part of the tool, hand 5, etc. is expressed as the position and orientation in this coordinate system ⁇ w.
  • a holder 81 that holds the pipette 8, in other words a pipette stand
  • a holder 71 that holds the test tube 7, in other words a test tube stand.
  • the left hand 5L and the right hand 5R as the hands 5 of the worker U1 are generic terms that include from the forearm to the fingertips, unless specifically limited.
  • the robot teaching system 1 includes a control device 100, cameras 20 ⁇ 20a, 20b, 20c, 20d ⁇ installed on a workbench 10, and markers 3 (3a, 3b) installed in test tubes 7 (7a, 7b). , a marker 3 (3p) installed on the pipette 8, and a marker 4 (4L, 4R) attached to the hand 5 (5L, 5R) of the teacher U1.
  • An input/output device 120 and the like are externally connected to the control device 100.
  • the control device 100 may include an input/output device 120 and the like.
  • the input/output device 120 is a device that inputs settings and instructions related to the arithmetic processing of the control device 100 and outputs data and information such as the status and results related to the arithmetic processing.
  • the cameras 20 (20a to 20d) are devices such as cameras that constitute the motion capture system 200 in FIG. 2. Note that the camera 20 may be replaced with a sensor, a measuring device, or the like.
  • the motion capture system 200 includes at least a camera 20, but the details are not limited thereto, and other components such as a processor and a circuit may be included. For example, the motion capture system 200 may store and output data/information detected by the processor processing the image of the camera 20.
  • the marker 3, which is the first marker on the tool side includes markers 3a, 3b, and 3p.
  • the marker 3a and the marker 3b are marker plates installed on the test tube 7 (7a, 7b) which is an object to be operated by the teacher U1 and the robot 2 and is a first tool.
  • the marker 3p is a marker plate installed on a pipette 8, which is a second tool and is an object to be operated by the instructor U1 and the robot 2. Note that the marker 3 on the tool side is installed at a position where it does not interfere with operations such as gripping by the hand 5 or hand mechanism 6.
  • the marker 4, which is the second marker on the hand 5 side includes markers 4L and 4R.
  • the markers 4 (4L, 4R) are marker plates attached to the left hand 5L and right hand 5R as the hands 5 of the teacher U1.
  • the marker 4 on the side of the hand 5 is placed, for example, in the vicinity of the forearm in front of the wrist, so as not to interfere with movements using the wrist.
  • the tool side is sometimes described as the first side
  • the hand side is sometimes described as the second side.
  • the robot 2 is a robot equipped with a hand mechanism 6 (6L, 6R) as a dual-arm mechanism capable of operations such as grasping an object and positioning it in any position and posture within a movable range. . Furthermore, the robot 2 is equipped with a stereo camera 30 in the part of the head corresponding to the eyes. The robot 2 has a joint shaft in its neck and can direct the stereo camera 30 in any direction on the workbench 10. The robot 2 can detect and recognize objects in its field of view based on photography and distance measurement by the stereo camera 30. Further, the robot 2 is installed, for example, on an unillustrated automatic guided vehicle, and can autonomously move in front of the workbench 10 by moving within the room using a map of the room created in advance.
  • a hand mechanism 6 (6L, 6R) as a dual-arm mechanism capable of operations such as grasping an object and positioning it in any position and posture within a movable range.
  • the robot 2 is equipped with a stereo camera 30 in the part of the head corresponding to the eyes.
  • the robot 2 has at least a mechanism associated with a human hand, including a forearm, an elbow, a wrist, a palm, a finger, etc., and a joint mechanism, and this mechanism is collectively referred to as a hand mechanism 6. .
  • the hand mechanism 6 (6L, 6R) has an end effector 9 (9L, 9R) at the tip.
  • the robot 2 is controlled by a robot teaching control device 100.
  • the robot teaching control device 100 controls the movement of the robot 2 based on robot movement data generated by the teaching function 100F.
  • the robot 2 may include a dedicated control device in addition to the robot teaching control device 100. In that case, the dedicated control device controls the motion of the robot 2 based on robot motion data from the robot teaching control device 100.
  • each robot may be a different type of robot, for example, a robot with a different mechanism.
  • the teachings in the embodiments are not limited to one-handed work motions by the left hand 5L or right hand 5R, but are similarly applicable to work motions using both hands.
  • the teachings in the embodiments are not limited to work operations including grasping as examples of operations using test tubes 7 and pipettes 8 as examples of tools, but also apply to other operations using other tools. Applicable to
  • the robot teaching control device 100 has a teaching function 100F as a main function.
  • the teaching function 100F is realized by processing of a processor or the like.
  • the teaching function 100F includes functions for measuring poses related to work motions, generating teaching data related to work motions, and generating robot motion data.
  • FIG. 2 shows an example of a functional block configuration of the robot teaching control device 100 in FIG.
  • the control device 100 includes a motion capture system 200, an instruction input device 300, and an input/output device 120 as input/output components.
  • the control device 100 can be implemented using a computer such as a general PC or a server, but is not limited thereto.
  • the control device 100 includes internal functional blocks such as a pose measurement section 101, a first measurement pose storage section 102, a second measurement pose storage section 103, an operation instruction detection section 104, a teaching instruction detection section 105, and a correction data storage section 106. , a teaching data generation section 107, a teaching data storage section 108, a robot motion generation section 109, a robot motion data storage section 110, a robot motion execution section 111, and an operation pose generation section 112. Note that in the first embodiment, the operation pose generation section 112 is not used, but in the second embodiment, which will be described later, the operation pose generation section 112 is used.
  • the pose measuring unit 101 calculates markers and corresponding objects on the hand 5 side of the person and the tool side from the images captured by the camera 20 (20a to 20d) of the motion capture system 200.
  • the position and orientation of the object in three-dimensional space are measured as a time-series pose.
  • the pose measurement unit 101 measures the poses of the markers 3a, 3b, and 3p of the marker 3, which is the first marker on the tool side, as a first measurement pose.
  • the pose measurement unit 101 measures the poses of the markers 4L and 4R of the marker 4, which is the second marker on the side of the hand 5 of the worker U1, as a second measurement pose.
  • the first measurement pose storage unit 102 stores data of the first measurement pose based on the command from the pose measurement unit 101.
  • the second measurement pose storage unit 103 stores data of the second measurement pose based on a command from the pose measurement unit 101.
  • the various data storage units in other words, the storage units, are not limited to the use of a memory within the control device 100, but may be realized using a storage device external to the control device 100.
  • the operation instruction detection unit 104 detects a predetermined operation by the teacher U1, in other words, an operation instruction, in synchronization with the measurement by the pose measurement unit 101 during the teaching work by the teacher U1.
  • This operation instruction is inputted independently and consciously by the instructor U1.
  • This predetermined operation is, for example, an operation of grasping or releasing a test tube 7 or a pipette 8 as a tool to be grasped, and the corresponding operation instruction is a grasping operation instruction that conveys the grasping operation or a releasing operation. This is the release operation instruction to convey.
  • the operation instruction detection unit 104 detects input of an operation instruction by the instructor U1 using the instruction input device 300, for example.
  • the instruction input device 300 includes, for example, a pressure-sensitive switch attached to the finger of the teacher U1, a foot switch operated by the teacher U1 at his feet, and a microphone for inputting the voice of the teacher U1.
  • Various input devices may be used, such as a computer or a voice recognition device.
  • any other input means may be used as long as it does not interfere with the work performed by the teacher U1.
  • the operation instruction detection unit 104 is not limited to input and detection using the instruction input device 300, but also automatically determines and detects a predetermined operation based on the input image and measurement results from the pose measurement unit 101. May be detected.
  • the operation instruction detection unit 104 detects a change in the first measurement pose of the object to be grasped measured by the pose measurement unit 101, a variation in the second measurement pose of the hand 5 side, or a change in the first measurement pose or the second measurement pose.
  • a gripping operation may be detected based on a judgment such as a state that does not change for a certain period of time or more.
  • the operation targeted for teaching and operation instruction detection will mainly be described as a grasping operation, but the invention is not limited to this, and other operations such as a pushing operation, a pulling operation, a turning operation, etc. The same can be applied to the case of targeting.
  • the teaching instruction detection unit 105 receives an instruction to start or complete the teaching work, an instruction to register the contents of the teaching work, and an instruction to check the work status in synchronization with the measurement by the pose measuring unit 101.
  • Various teaching instructions such as the following are detected as teaching instructions.
  • the teaching instruction is a processing instruction to the control device 100, and includes a start instruction, a completion instruction, a temporary stop instruction, a setting instruction, a display instruction, and the like. These teaching instructions may be input by the worker U1 who is the teacher, or may be input by another administrator U2.
  • the worker U1 may input teaching instructions using the instruction input device 300.
  • the worker U1 or the manager U2 may input teaching instructions using the input/output device 120.
  • the administrator U2 inputs a start instruction, after the start of the teaching work, the operator U1 performs the teaching work while inputting operation instructions as appropriate, and finally the administrator U2 inputs a completion instruction. This completes the teaching work.
  • teaching instruction detection unit 105 is not limited to detecting the input of teaching instructions by the worker U1 or the administrator U2, but also automatically issues teaching instructions based on the input image and measurement results in the pose measuring unit 101. It may be judged/detected.
  • the teaching data generation unit 107 generates a teaching pose that is generated based on both the first measurement pose and the second measurement pose, and is a pose for generating robot motion.
  • the teaching data generation unit 107 generates a teaching pose based on the first measurement pose, the second measurement pose, the operation instruction, the teaching instruction, and the correction data, and stores it in the teaching pose storage unit 108.
  • the correction data storage unit 106 stores correction data that is data for performing correction calculations on the position and orientation of the measured pose and the taught pose.
  • the control device 100 sets correction data in advance and stores it in the correction data storage section 106.
  • the correction data is correction setting information.
  • the correction data in the first embodiment includes data for coordinate transformation, which will be described later, and data for correction related to errors.
  • the teaching data generation unit 107 starts teaching processing including generation of a teaching pose in accordance with a start instruction as a teaching instruction.
  • the teaching data generation unit 107 completes the teaching process including the generation of the teaching pose in accordance with the completion instruction as the teaching instruction.
  • the teaching data generation unit 107 acquires the first measurement pose stored in the first measurement pose storage unit 102 and the second measurement pose stored in the second measurement pose storage unit 103, and uses the operation instruction detection unit 104 to acquire the first measurement pose stored in the first measurement pose storage unit 102 and the second measurement pose stored in the second measurement pose storage unit 103.
  • the teaching pose is determined by selecting one or both of the first measurement pose and the second measurement pose, or by processing their data, depending on the timing and content of the detected operation instruction, for example, the grip operation instruction. generate. Further, at this time, the teaching data generation unit 107 acquires the correction data stored in the correction data storage unit 106, and performs correction calculations on the position and orientation of the generated teaching pose based on the correction data. By doing so, a corrected taught pose is generated.
  • the teaching data generation unit 107 generates, for example, information on the operation instruction detected by the operation instruction detection unit 104 and the teaching instruction detected by the teaching instruction detection unit 105 in chronological order with respect to the data of the teaching pose based on the measurement pose.
  • the teaching data is generated in a format in which the teaching data is associated with the information in such a manner that the timing is synchronized.
  • the teaching data storage unit 108 stores the generated teaching data based on instructions from the teaching data generating unit 107.
  • the teaching data storage unit 108 stores, as teaching data, data including the teaching pose generated by the teaching data generating unit 107, and an operation instruction and teaching instruction synchronized with the teaching pose.
  • the robot motion generation unit 109 Based on the teaching data stored in the teaching data storage unit 108, the robot motion generation unit 109 generates the robot 2 according to the content of the operation in synchronization with the timing of the operation instruction detected by the operation instruction detection unit 104.
  • Robot motion data for the motion of the hand mechanism 6 and the like is generated.
  • This robot operation data includes a sequence of joint displacements of the hand mechanism 6, etc. of the robot 2, and operation commands for the operation of the hand mechanism 6, etc. in synchronization with the sequence of joint displacements. Examples of the operation of the hand mechanism 6 include opening and closing of the end effector 9 for gripping.
  • the robot motion data is configured as, for example, a motion command in a predetermined format given to the robot 2, in other words, data such as an operation command or a command.
  • the robot motion data can be generated by converting the teaching data, but the invention is not limited to this.
  • the teaching data generation section 107 and the robot motion generation section 109 can be combined into one, and the teaching data can be generated from the measured pose etc. It may also be configured to directly generate robot motion data.
  • the robot motion data storage section 110 stores the robot motion data generated by the robot motion generation section 109.
  • the robot motion execution unit 111 drives the robot 2 according to the contents of the robot motion data stored in the robot motion data storage unit 110, thereby responding to the taught work motion.
  • the robot 2 is caused to execute the action that was performed.
  • FIG. 3 shows a configuration example of a computer system as an implementation example of the robot teaching control device 100 of FIG.
  • the computer system shown in FIG. 3 that constitutes the control device 100 includes at least a computer 1000.
  • the computer 1000 includes a processor 1001, a memory 1002, a communication interface device 1003, an input/output interface device 1004, and the like. Those components are connected to a bus and can communicate with each other.
  • An input device 1005 and an output device 1006 corresponding to the above-described input/output device 120 are externally connected to the computer 1000 through an input/output interface device 1004 .
  • the computer 1000 may include an input device 1005 and an output device 1006.
  • the processor 1001 is configured by a semiconductor device such as a CPU, an MPU, or a GPU.
  • the processor 1001 includes a ROM, RAM, various peripheral functions, and the like.
  • Processor 1001 executes processing according to control program 1011 in memory 1002.
  • functions such as the teaching function 100F are realized.
  • the teaching function 100F is as outlined in FIG. 1, and is a function of teaching the robot 2 a work movement based on the detection and measurement of the work demonstration by the teacher U1, in other words, a robot that is adapted to the work instruction. These include functions to generate operational data, and functions to manage and control them.
  • the memory 1002 stores a control program 1011, setting information 1012, image data 1013, processing data 1014, and various data described below.
  • the control program 1011 is a program for realizing each function by causing the processor 1001 to execute processing.
  • Setting information 1012 is system setting information and user setting information for each function.
  • the image data 1013 is data such as an image acquired from the camera 20 in FIG. 1.
  • Processing data 1014 is data generated during the processing of each function.
  • the communication interface device 1003 or the input/output interface device 1004 connects the motion capture system 200 including the camera 20 of FIG. 2, the instruction input device 300, and, if connected to a communication network such as a LAN, the communication network.
  • This is a device that is equipped with communication interfaces and other components for each part.
  • An input device 1005 and an output device 1006 corresponding to the input/output device 120 are externally connected to the input/output interface device 1004 .
  • Examples of the input device 1005 include a keyboard and a mouse.
  • Examples of the output device 1006 include a display and a printer.
  • an external storage device such as a memory card or a disk may be connected to the computer 1000 via a communication interface or the like, or a server device or the like may be connected as an external device via a communication network such as a LAN. It's okay.
  • the computer 1000 may read/write data/information to/from an external storage device, server device, etc. as appropriate.
  • a user utilizes the control device 100 through input operations on the input device 1005, screen display on the output device 1006, and the like.
  • the user may be the same person as the teacher U1 in FIG. 1, or may be someone other than the teacher U1, such as the administrator U2 of the robot teaching system 1.
  • a user such as the administrator U2 may access the control device 1000 through communication from another client terminal and use the control device 1000. That is, the functions of control device 1000 may be used in a client-server manner. Further, the processing related to the functions of the control device 1000 may be performed in an online manner almost in real time, or may be performed in an offline manner after necessary data/information is acquired and stored once.
  • a user accesses the server function of control device 1000 from a client terminal.
  • the server function of the control device 1000 transmits data such as a web page including a graphical user interface (GUI) to a client terminal.
  • the client terminal displays a web page or the like on the display based on the received data.
  • the user views the web page, confirms information related to the function, and inputs settings and instructions as necessary.
  • the client terminal transmits information input by the user to the control device 1000.
  • Control device 1000 executes processing related to functions based on information input by the user and stores the results.
  • the control device 1000 transmits data such as a web page including processing results and the like to a client terminal.
  • the client terminal displays a web page including processing results and the like on the display.
  • the user views and confirms the processing results.
  • FIG. 4 shows the arrangement relationship between the workbench 10 and the camera 20, and is a schematic diagram of a horizontal plane, which is the upper surface of the workbench 10, viewed from above in the vertical direction.
  • four cameras 20a, 20b, 20c, and 20d are installed in different positions facing upward on the workbench 10.
  • the fields of view 21a to 21d indicate the field of view of the respective cameras 20a to 20d.
  • the workbench coordinate system which is the coordinate system ⁇ w shown in the figure, is a three-dimensional spatial coordinate system based on the surface of the workbench 10, and the two orthogonal axes that constitute the horizontal plane are the X axis and the Y axis, and The vertical direction is the Z axis.
  • the origin of the coordinate system ⁇ w is set at a predetermined position on the top surface of the workbench 10 as shown in FIG. 4, but is not limited thereto.
  • the camera 20 (20a to 20d) is a marker 3, which is a first marker, installed on a test tube 7 or a pipette 8 as a tool placed on the top surface of the workbench 10 or as a tool held in the hand of the worker U1.
  • a range including (3a, 3b, 3p) is photographed, and a range including marker 4 (4L, 4R), which is the second marker, installed on the hand 5 side of worker U1 is photographed.
  • the pose measurement unit 101 measures the pose of the first marker and the pose of the second marker based on the images of the cameras 20.
  • the camera 20 (20a to 20d) is placed at a position opposite to the teacher U1 across the workbench 10, with its optical axis facing the teacher U1 and the tools. ,is set up. Further, the cameras 20 (20a to 20d) are installed at shifted positions so that their fields of view 21a to 21d overlap and cover almost the entire top surface of the workbench 10.
  • the motion capture system 200 is calibrated by capturing images of reflective markers whose locations are known (not shown) multiple times using the cameras 20. is executed. Based on the calibration, a coordinate system ⁇ w, which is a coordinate system during measurement by the motion capture system 200, is set. A pose measured based on the motion capture system 200 is expressed based on the coordinate system ⁇ w, which is the workbench coordinate system.
  • the pose measurement unit 101 of the control device 100 and the like perform processing based on this coordinate system ⁇ w.
  • a marker 31 for the stereo camera 30 of the robot 2 is provided on the top surface of the workbench 10.
  • FIG. 4 shows three markers 31, the arrangement of which is determined in advance.
  • the arrangement of the markers 31 for the stereo camera 30 is registered in advance.
  • FIG. 5 shows a perspective view of a test tube 7 as an example of a first tool and a marker 3a that is a first marker installed on the test tube 7.
  • FIG. 6 shows a perspective view of a pipette 8 as an example of a second tool and a marker 3p that is a first marker installed on the pipette 8.
  • the marker 3 is a marker plate to be detected by the camera 20 of the motion capture system 200.
  • the marker 3 is not limited to a specific method, and various methods can be applied, and Embodiment 1 shows an example.
  • the marker 3 in this example has, for example, four reflective markers formed in a unique pattern on the surface of a rectangular flat plate so that a unique ID etc. can be detected for each marker 3. .
  • Marker points are formed in different patterns for each marker 3.
  • the marker point is also referred to as a first reflective marker.
  • marker points are formed at four positions out of 5 ⁇ 5 candidate locations on the surface of a rectangular flat plate.
  • Four marker points P31 to P34 are formed on the marker 3a in FIG. 5.
  • Four marker points P35 to P38 are formed on the marker 3p in FIG. 6.
  • a predetermined attachment 72a is attached to the upper part of the test tube 7a in FIG. 5, and a marker 3a is attached to the attachment 72a.
  • This attachment 72a allows the hand 5 of the worker U1 or the hand mechanism 6 of the arm of the robot 2 to grip or operate a tool having a specific shape, such as the test tube 7a, and to suitably attach the marker 3a to this tool. This is a component that is constructed with consideration to installation.
  • a predetermined attachment 82 is attached to the upper part of the pipette 8 in FIG. 6, and a marker 3p is attached to the attachment 82.
  • This attachment 82 allows the hand 5 of the worker U1 or the hand mechanism 6 of the arm of the robot 2 to grip or operate the pipette 8, a tool having a specific shape, and to suitably set the marker 3p on this tool. This is a part that is constructed taking into consideration the following.
  • the attachment of the marker 3 to the tool via the attachments 72 and 82 is designed taking into consideration that the hand 5 of the worker U1 and the hand mechanism 6 of the robot 2 operate the same part of the tool.
  • the attachments 72 and 82 have a roughly ring structure that is supported across the diameter according to the diameter of the tool, and a flat plate of the marker 3 is fixed to one place of the ring. .
  • the attachments 72 and 82 and the marker 3 in FIGS. 5 and 6 each have a flat plate of the marker 3 fixed to one place on the side of a test tube 7 or a pipette 8, which are roughly rod-shaped tools.
  • the Z-axis shown as the axis perpendicular to the surface of the tool is configured to be perpendicular to one location on the side surface of the tool.
  • the control device 100 detects, for example, marker points P31 to P34, which are four reflective markers of the marker 3a, from the image of the camera 20, and thereby determines the unique ID of the marker 3a and its position and orientation in the three-dimensional space. It is possible to identify By identifying the ID, position, and orientation of the marker 3a, it is possible to identify the ID, position, and orientation of the test tube 7a, which is the tool associated with the marker 3a. This effect is the same for the marker points P35 to P38 in the marker 3p of the pipette 8. This effect also applies to the marker 4 worn on the hand 5 side of the worker U1, which will be described later.
  • the four marker points in each marker 3 are arranged asymmetrically in the vertical and horizontal directions.
  • the four marker points of each marker 3 are arranged asymmetrically with respect to the X, Y, and Z axes in the coordinate system ⁇ TLM , which is the illustrated marker plate coordinate system.
  • This arrangement is such that the four marker points, in other words, the iconography formed by the marker points, can be uniquely detected from the image taken by the camera 20.
  • a coordinate system ⁇ TLM is set as a marker plate coordinate system for each of the first markers 3 (3a, 3b).
  • the three axes X, Y, and Z in the coordinate system ⁇ TLM are the two orthogonal axes that make up the surface of a rectangular plate, the Z axis and the Y axis, and the Z axis that is perpendicular to the XY plane. has.
  • the coordinate system ⁇ TLM of the first marker is also referred to as the first marker plate coordinate system.
  • the control device 100 registers in advance the arrangement pattern of the four reflective markers P31 to P34 of the marker 3a in FIG. 5 and the positional relationship between the marker 3a and the coordinate system ⁇ TLM . Similarly, the control device 100 registers in advance the arrangement pattern of the four reflective markers P35 to P38 of the marker 3p in FIG. 6 and the positional relationship between the marker 3p and the coordinate system ⁇ TLM .
  • the pose measurement unit 101 in FIG. 2 calculates the position and pose of each marker 3 in the coordinate system ⁇ TLM based on the coordinate system ⁇ w, which is the workbench coordinate system in FIG. 4, based on the registered positional relationship. Measure your posture. For the position of the marker 3, for example, the origin OTLM in the coordinate system ⁇ TLM may be used as a representative.
  • the attitude of the marker 3 can be expressed by the orientation of each of the X, Y, and Z axes.
  • the test tube 7a and marker 3a in FIG. 5 are fixed via an attachment 72a, and a predetermined position/posture relationship between the test tube 7a and marker 3a is maintained.
  • the pipette 8 and the marker 3p in FIG. 6 are fixed via an attachment 82, and a predetermined position/posture relationship between the pipette 8 and the marker 3p is maintained.
  • the attachments 72 and 82 fix the reflective marker of the marker 3 to tools such as the test tube 7 and the pipette 8 at positions and angles where it can be easily measured by the camera 20 of the motion capture system 200.
  • the attachments 72 and 82 are configured such that the marker 3 can be attached to and detached from the tool.
  • the attachments 72 and 82 have shapes and configurations that do not hinder the teacher U1 or the hand mechanism from gripping or otherwise operating the tool.
  • FIG. 7A and 7B are perspective views of the marker 4, which is the second marker attached to the hand 5 side of the worker U1, in which FIG. 7A is the marker 4R on the right hand 5R side, and FIG. 7B is the marker on the left hand 5L side. 4L is shown.
  • the marker 4, which is the second marker has a configuration to be attached to a person's forearm near the wrist, and specifically includes an attachment 92 such as a wristband. .
  • the marker 4R in FIG. 7A has an attachment 92R.
  • the marker 4L in FIG. 7B has an attachment 92L.
  • the marker 4R attached to the right hand 5R side is attached to one location on the side of the attachment 92R.
  • the marker 4 has a rectangular flat plate similarly to the marker 3 on the tool side.
  • Marker points P41 to P44, which are four reflective markers, are formed on the flat plate surface of the marker 4R in FIG. 7A.
  • Marker points P45 to P48, which are four reflective markers, are formed on the flat plate surface of the marker 4L in FIG. 7B.
  • the four reflective markers of each marker 4 are arranged vertically and horizontally asymmetrically and have a unique pattern so that the ID, position, and orientation of each marker 4 can be detected.
  • the marker 4 is attached and fixed to the forearm near the wrist using an attachment 92 such as a wristband.
  • This spot is not the wrist itself.
  • this part may also be referred to as the wrist part.
  • the configuration of the marker 4 and the attachment 92 is such that the position/posture relationship of the marker 4 with respect to the hand 5 of the worker U1 is fixed so as not to change during the teaching work, and the marker point of the marker 4 is detected by the camera 20. It is designed in consideration of ease of detection and not interfering with operations such as grasping during work operations.
  • a coordinate system ⁇ PRM and a coordinate system ⁇ PLM are set for each marker 4 as a second marker plate coordinate system.
  • the coordinate system ⁇ PRM is set for the marker 4R in FIG. 7A.
  • the coordinate system ⁇ PLM is set for the marker 4L in FIG. 7B.
  • the three axes of X, Y, and Z in the coordinate systems ⁇ PRM and ⁇ PLM are perpendicular to the X and Y axes, which are two orthogonal axes that make up the surface of a rectangular flat plate, and to their XY plane. It has a Z axis.
  • the control device 100 registers in advance the arrangement pattern of the four reflective markers P41 to P44 of the marker 4R and the position/orientation relationship with the coordinate system PRM .
  • the control device 100 registers in advance the arrangement pattern of the four reflective markers P45 to P48 of the marker 4L and the position/orientation relationship with the coordinate system PLM .
  • the pose measuring unit 101 measures the pose of each marker 4 based on the coordinate system ⁇ w, which is the workbench coordinate system, based on the registered relationships.
  • the right wrist of the right hand 5R of the teacher U1 in FIG. 1 and the marker 4R are fixed via an attachment 92R like the wristband in FIG. 7A.
  • the left wrist of the left hand 5L of the teacher U1 and the marker 4L are fixed via an attachment 92L shown in FIG. 7B.
  • the attachment 92R maintains the relationship in position and posture between the right wrist portion and the marker 4R.
  • the attachment 92L maintains the relationship in position and posture between the left wrist and the marker 4L.
  • the attachments 92 fix the markers 4 (4R, 4L) to the wrists of the worker U1 at positions and postures where they can be easily measured by the camera 20 of the motion capture system 200.
  • the attachment 92 is configured so that the marker 4 can be attached to and detached from the hand 5 of the worker U1, and the attachment position and posture can be adjusted.
  • the plurality of markers shown in FIGS. 1 and 5 to 7B are marker 3 (3a, 3b, 3p), which is the first marker on the tool side, and the second marker on the hand 5 side.
  • Marker 4 (4L, 4R) is used.
  • the reflective markers included in each of these marker plates have a unique pattern for each marker plate, as described above.
  • the control device 100 can identify an individual as an ID for, for example, five markers such as markers 3a, 3b, 3p and markers 4L, 4R, and can simultaneously measure the pose of each marker.
  • each marker plate instead of using a different pattern of reflective markers for each marker plate, it is also possible to have a configuration in which the number, size, shape, color, etc. of the reflective markers on each marker plate are different, or a configuration in which identification information is written on each marker plate. It is possible to identify markers and measure poses. Further, the number of reflective markers for each marker plate may be 3 or more. Each marker may have a different number of reflective markers. Markers having different types and structures may be used as the first marker and the second marker.
  • a plurality of reflective markers are arranged two-dimensionally on the surface of a rectangular flat plate, but they may be arranged three-dimensionally.
  • the reflective marker is made of, for example, a light-reflective member so as to be easily detected by the camera 20, but is not limited thereto.
  • the present invention is not limited to this.
  • a motion capture system that uses a sensor such as a Hall element or a measuring device to detect magnetically is adopted, and the pose of the operated object and the tip of the instructor U1's arm is determined based on the movement of the marker plate. It may also be configured to measure.
  • a configuration may be adopted in which the operated object and the movement of the hand 5 of the teacher U1 are photographed by the camera 20, and the pose is measured by analyzing the image taken by the camera 20, without using a marker plate.
  • the above-mentioned problems also arise. Therefore, as in the first embodiment, a configuration is adopted in which markers on the tool side and on the hand 5 side are used. This makes it easier to determine the correspondence between the hand 5 of the worker U1 and the hand mechanism 6 of the robot 2 without requiring advanced image analysis processing or computational resources, and enables efficient measurement and teaching. .
  • the robot 2 includes a hand mechanism 6 configured to imitate a human hand, including a hand mechanism 6R including an arm on the right arm side and a hand mechanism 6L including an arm on the left arm side.
  • the hand mechanism 6 includes an end effector 9 in a portion corresponding to the hand.
  • the hand mechanism 6R includes an end effector 9R
  • the hand mechanism 6L includes an end effector 9L.
  • the end effector 9 is a gripping mechanism capable of gripping and releasing a tool, which is an object to be operated.
  • FIGS. 8 to 10 show explanatory diagrams of the hand mechanism 6 of the robot 2 using an example of gripping a test tube 7.
  • FIG. 11 and FIG. 12 show explanatory diagrams of the relationship of coordinate systems, etc.
  • FIGS. 8 to 11 as an example, the pose and coordinate system relationship between the left hand mechanism 6L of the robot 2, the left hand 5L of the worker U1, and the test tube 7a that is the object to be grasped, etc. I will explain about it.
  • FIG. 8 is a perspective view of the left hand mechanism 6L.
  • FIG. 8 shows a hand section 520 that is a part of the hand mechanism 6L.
  • the hand portion 520 is a link mechanism imitating a human wrist, and is a mechanism capable of rotating around the axis of the flange 522.
  • the hand portion 520 includes a gripping mechanism as an end effector 9L at its tip.
  • the gripping mechanism has finger mechanisms 521a and 521b as two finger mechanisms.
  • the test tube 7 is gripped by the finger mechanisms 521a and 521b of the end effector 9L.
  • the finger mechanisms 521a and 521b are configured to be movable in the left-right direction corresponding to the Y-axis in FIG.
  • test tube 7 can be gripped by closing the finger mechanisms 521a, 521b, and the test tube 7 can be released by opening the finger mechanisms 521a, 521b.
  • the test tube 7 is gripped by being pinched by the finger mechanisms 521a and 521b of the hand section 520 with appropriate pressure.
  • FIG. 9A is a side view of the hand mechanism 6L in FIG. 8 viewed from the side (direction of the Y-axis in the figure), and FIG. 9B is a side view of the hand mechanism 6L in FIG. 8 viewed from above (direction of the X-axis in the figure).
  • FIG. 8 to 10 for example, when the test tube 7 is in a posture in which the long axis is arranged along the vertical direction, the hand section 520 of the left hand mechanism 6L of the robot 2 is connected to the finger mechanism 521a of the end effector 9L. , 521b shows a state in which the test tube 7 is gripped at one place on the upper side surface from the left and right sides.
  • a coordinate system ⁇ LT is set as a left gripping part coordinate system at the gripping center of the finger mechanisms 521a and 521b of the end effector 9L in the hand part 520 of the hand mechanism 6L.
  • the gripping center also corresponds to the position of the test tube 7.
  • the X, Y, and Z axes of the coordinate system ⁇ LT include the X-axis in the vertical direction along the long axis of the test tube 7, the Z-axis in the front-back direction with respect to the gripping mechanism of the hand section 520, and the Z-axis in the left-right direction of the gripping mechanism. This is the Y axis.
  • the flange 522 is a mechanism corresponding to the left wrist portion (in other words, the left link) of the arm of the robot 2 to which the hand portion 520 of the hand mechanism 6L is attached.
  • a coordinate system ⁇ LE is set at the center of the flange 522 as a left link tip coordinate system. Similar to the coordinate system ⁇ LT , the X, Y, and Z axes of the coordinate system ⁇ LE are the X-axis in the vertical direction, the Z-axis in the front-rear direction, and the Y-axis in the left-right direction with respect to the hand portion 520.
  • 9A and 9B show the relationship between the positions and orientations of the coordinate system ⁇ LT and the coordinate system ⁇ LE .
  • the origin O LT of the coordinate system ⁇ LT and the origin O LE of the coordinate system ⁇ LE in FIGS. 9A and 9B have a distance Lt in the Z-axis direction.
  • the right hand mechanism 6R of the robot 2 can have the same structure as the left hand mechanism 6L.
  • the right hand mechanism 6R can grip the pipette 8 in a similar manner.
  • a configuration in which the left and right hand mechanisms have different structures is also possible.
  • FIG. 10 is a schematic explanatory diagram of the relationship between the coordinate system ( ⁇ LT , ⁇ LE ) set in the hand mechanism 6L in FIG. 9B and the coordinate system ⁇ TLM set in the marker 3a of the test tube 7a.
  • the coordinate system ⁇ LT is the left gripping part coordinate system set in the hand part 520 of the hand mechanism 6L that grips the test tube 7
  • the coordinate system ⁇ LE is the left link tip coordinate system (FIG. 9A, 9B) and the coordinate system TLM (FIG. 5), which is the first marker plate coordinate system set for the marker 3a, which is the first marker on the test tube 7 side.
  • FIG. 10 for ease of understanding, the state in which the marker 3a is attached to the test tube 7a is virtually illustrated by dotted lines.
  • FIG. 11 shows the relationship between the coordinate system ⁇ LT of the test tube 7a and its associated hand mechanism 6L, which is the same as in FIG. 10, and the coordinate system ⁇ PLM set on the marker 4L of the left hand 5L of the worker U1.
  • FIG. 11 in correspondence with FIG. 10, the test tube 7a held by the left hand 5L of the operator U1, the coordinate system ⁇ LT and the coordinate system ⁇ LE of the hand mechanism 6L (not shown), and the marker 4L on the left hand 5L side.
  • the relationship with the set coordinate system ⁇ PLM (FIG. 7B) is shown.
  • FIG. 11 when the test tube 7a is in the same posture as FIG.
  • the upper side of the test tube 7a is The figure shows a state in which the person is gripping one part of the body from the left and right sides. Further, in FIG. 11, a flat plate of a marker 4L is arranged on one side of the forearm of the left hand 5L near the front of the wrist in a direction corresponding to the back of the palm 1102 via an attachment 92L. Indicates the condition.
  • the coordinate system ⁇ TLM of the marker 3a is obtained by translating the coordinate system ⁇ LT , which is the left grip coordinate system, by a distance Lm in the Z-axis direction (right direction in FIG. 10).
  • the coordinate system ⁇ LT which is the left grip part coordinate system
  • the coordinate system ⁇ LE which is the left link tip coordinate system
  • the pose of the origin OLT which is the gripping center of the hand section 520 at that time, can be calculated from the relationship of these coordinate systems, and further, the pose of the origin OLT , which is the center of the left wrist flange 522, can be calculated.
  • OLE poses can be calculated. That is, it is possible to associate the pose of the motion of the hand section 520 of the hand mechanism 6L with the pose of the marker 3a based on coordinate transformation.
  • the coordinate transformation includes a coordinate system ⁇ TLM corresponding to the coordinate system of the object to be grasped based on the test tube 7a, which is the object to be grasped, and a hand section of the hand mechanism 6L, as shown by the broken line arrow.
  • a coordinate transformation T1 with the coordinate system ⁇ LT which is the left grip coordinate system of the tip
  • a coordinate transformation T2 between the coordinate system ⁇ LT and the coordinate system ⁇ LE can be considered.
  • a part of the coordinate transformation is indicated by transformation TLT .
  • the transformation T LT is a transformation from the pose of the marker 4L of the left hand 5L in the coordinate system ⁇ PLM to the pose in the coordinate system ⁇ LT corresponding to the gripping center of the test tube 7 at the tip of the hand section 520.
  • the teaching data generation unit 107 in FIG. 2 executes such coordinate transformation based on the measurement of the pose of the marker 3a during the work demonstration to create a hand portion of the hand mechanism 6L that corresponds to the pose of the test tube 7a.
  • 520 poses can be calculated as taught poses.
  • the instructor U1 holds the test tube 7a with the fingers 1101 of the left hand 5L in a pose as shown in FIG. 11, which is the same as during normal work.
  • the hand portion 520 of the hand mechanism 6L in FIG. 10 is taught to grip the test tube 7 with the finger mechanisms 521a, 521b of the hand portion 520 in a pose similar to that in FIG.
  • the coordinate system ⁇ LT which is the left grip coordinate system of the hand section 520 that grips the test tube 7, is determined as the same coordinate system as in FIG .
  • a transformation T LT for deriving the coordinate system ⁇ LT from the coordinate system ⁇ PLM is determined.
  • the control device 100 sets the transformation coefficients and the like of the coordinate transformation in this transformation TLT in advance. This setting may be performed by the administrator U2 or may be calculated and performed by the control device 100.
  • the transformation between the coordinate system ⁇ LT corresponding to the position and gripping center of the test tube 7a and the coordinate system ⁇ LE which is the left link tip coordinate system, is obtained by coordinate transformation T2.
  • T3 it is also possible to transform T3 between the pose of the marker 4L of the left hand 5L in the coordinate system ⁇ PLM and the pose of the hand section 520 in the coordinate system ⁇ LE .
  • the control device 100 measures the pose of the marker 4L of the left hand 5L, it determines the pose of the origin OLT , which is the gripping center of the hand portion 520 of the hand mechanism 6L, based on the transformation based on the relationship between these coordinate systems.
  • the pose of the origin OLE which is the center of the flange 522, can be calculated.
  • the teaching data generation unit 107 in FIG. 2 creates a coordinate system ⁇ PLM based on the marker 4L on the left hand 5L side, and a coordinate system ⁇ LT and a coordinate system ⁇ LE based on the hand part 520 of the hand mechanism 6L.
  • the configuration is such that the pose of the hand unit 520 is generated as a taught pose by conversion based on the relationship.
  • the robot motion generation unit 109 generates the pose of the robot 2 from the time series data of the center of the flange 522 of the hand mechanism 6 of the robot 2, in other words, the tip of the link.
  • the joint displacement of the mechanism is calculated as the solution of the inverse kinematics calculation.
  • the robot motion generation unit 109 Based on the calculation, the robot motion generation unit 109 generates a joint displacement sequence of the mechanism of the robot 2, and generates robot motion data according to the joint displacement sequence.
  • Pose in each coordinate system ( ⁇ TLM , ⁇ TRM , ⁇ PRM , ⁇ PLM ) related to each of the markers 3 and 4 described above, and a pose in the coordinate system ( ⁇ LE , ⁇ LT ) related to the hand mechanism 6 of the robot 2 can be expressed by converting it into a pose in the coordinate system ⁇ w, which is the workbench coordinate system, based on the correspondence between the coordinate systems.
  • the relationship between the coordinate systems described above is not limited to the relationship of parallel movement in the Z- axis direction in FIG. It suffices if the relationship is known. Furthermore, the relationship between the coordinate systems does not need to be fixed, and may vary as long as the relationship is known.
  • test tube 7a is held by the left hand 5L of the instructor U1 and the left hand mechanism 6L of the robot 2.
  • the present invention is similarly applicable to the case where the right hand 5R of the instructor U1 and the right hand mechanism 6R of the robot 2 are used.
  • FIGS. 12 and 13 show an example of a work operation in a work demonstration when a worker U1 who is a teacher performs a teaching work using the robot teaching device 1.
  • FIG. 12 shows a state in which the worker U1 uses both hands to grasp the test tube 7 with the left hand 5L and grasp the pipette 8 with the right hand 5R as part of the work operation.
  • the test tubes 7 (7a, 7b) are held in the holder 71, and the pipette 8 is held in the holder 81.
  • FIG. 13 shows a case in which the worker U1 discharges the substance in the pipette 8 in the right hand 5R into the test tube 7 in the left hand 5L as another part of the work action after the work action in FIG.
  • the tip of the pipette 8 of the right hand 5R approaches the upper end of the test tube 7 of the left hand 5L.
  • the teacher U1 wears a marker 4R, which is a second marker, near his right wrist and a marker 4L near his left wrist.
  • the instructor U1 teaches the operation M1 by performing the operation M1 of gripping the test tube 7a equipped with the marker 3a, which is the first marker, with his left hand 5L as a work demonstration.
  • operation M1 is a left hand grasping motion, a left hand grasping step, and a left hand grasping process.
  • FIG. 12 also illustrates operation M2 using the right hand 5R.
  • the instructor U1 teaches the operation M2 by performing the operation M2 of grasping the pipette 8 equipped with the marker 3p, which is the first marker, with his or her right hand 5R as a work demonstration.
  • the operation M2 is a right hand grasping motion, a right hand grasping step, and a right hand grasping process.
  • each pose measured and calculated by the control device 100 is based on the coordinate system ⁇ w, which is the workbench coordinate system.
  • FIG. 14 shows a processing flow in the robot teaching device 1 and method of the first embodiment.
  • the main subject of processing is the control device 100.
  • the flow in FIG. 14 includes steps S101 to S110. Note that it is assumed that necessary correction data and the like have been set in advance.
  • step S101 the teacher U1 or the administrator U2 inputs a start instruction as a teaching instruction.
  • the teacher U1 starts a work movement as a work demonstration.
  • the system that is the robot teaching device 1 starts measurement etc., and the camera 20 of the motion capture system 200 starts photographing.
  • the instructor U1 first starts the left hand gripping operation M1 shown in FIG.
  • the control device 100 through the processing of the teaching instruction detection unit 105, receives a start instruction, in other words, performs a work demonstration based on a voice signal such as "start” that is inputted as the instruction input device 300 through a microphone, for example. Detects the start of. Based on this, the control device 100 causes the pose measurement unit 101 to start measurement processing, and generates data in the teaching data generation unit 107 so as to associate the data of a teaching command (“start”) that means the beginning of the teaching data. do.
  • start a teaching command
  • step S102 the control device 100 inputs and acquires images from the camera 20 of the motion capture system 200 through the processing of the pose measurement unit 101, and marks the marker 3a on the tool side in chronological order according to the demonstration by the instructor U1.
  • a first measurement pose obtained by measuring and a second measurement pose obtained by measuring the marker 4L on the hand 5L side are obtained.
  • the pose measurement unit 101 stores the first measurement pose in the first measurement pose storage unit 102 and stores the second measurement pose in the second measurement pose storage unit 103.
  • step S103 during the operation M1, the teacher U1 inputs an operation instruction corresponding to the operation M1, for example, a grip operation instruction.
  • the control device 100 detects the gripping operation instruction through the processing of the operation instruction detection unit 104.
  • the operation instruction detection unit 104 detects the gripping operation instruction inputted at the timing when the instructor U1 grips the test tube 7a with the left hand 5L. Thereby, the control device 100 detects the gripping operation M1 on the test tube 7a, which is the object to be operated.
  • the teacher U1 uses the instruction input device 300 to input the gripping operation instruction at the same timing as the operation M1.
  • the instructor U1 grasps the test tube 7a with the left hand 5L, for example, immediately after pinching the test tube 7 between the fingers 1101 as shown in FIG. 11, the instructor U1 inputs the grasping operation instruction.
  • the teacher U1 inputs a signal by pressing, for example, a pressure-sensitive switch attached to the finger as the instruction input device 300.
  • the teacher U1 presses a foot switch at his/her feet to input a signal.
  • the teacher U1 inputs a predetermined voice representing the gripping operation M1, for example, "close" as voice input through the microphone.
  • the input voice for the operation instruction may be determined in advance, and may be "grasp”, “hold”, “get”, etc. For other operations, such as release operations, it will be “open”, “release”, etc. Furthermore, when using a physical switch button, it is sufficient to decide in advance what operation instruction the signal from the switch button represents. In addition, when the order of various operations is determined, such as in a time-series scenario described later, if the number and order of signal inputs are determined accordingly, it is possible to determine what operation instruction the input signal represents. can be determined.
  • step S104 the control device 100 checks whether an operation instruction for a predetermined operation was detected in step S103. For example, if an operation instruction for operation M1 is detected (Yes), the process proceeds to step S105; if not detected, the control device 100 proceeds to step S105. If (No), the process advances to step S107.
  • step S105 the control device 100 uses the first measurement pose and the second measurement pose stored from the start of the work demonstration to the current time to generate the teaching pose in chronological order through the processing of the teaching data generation unit 107. and generates an operation motion command synchronized with the taught pose at the latest time.
  • the teaching data generation unit 107 generates teaching poses in chronological order, which are associated with operating motion commands at timings that match the operating instructions, and stores them in the teaching data storage unit 108 .
  • the operation motion command is, for example, a command indicating execution of a grasping motion by the hand mechanism 6L of the robot 2 in synchronization with the operation instruction for the left hand grasping operation M1, and is a teaching command for generating robot motion data, which will be described later. It is.
  • step S106 the control device 100 corrects the taught pose up to the latest point based on the reference to the correction data in the correction data storage unit 106 through the process of the teaching data generation unit 107, and generates the corrected teaching data. and stores it in the teaching data storage unit 108.
  • the correction will be described later.
  • step S107 the control device 100 checks whether a completion instruction is detected as a teaching instruction through the processing of the teaching instruction detection unit 105. If detected (Yes), the process proceeds to step S108; if not detected (No) Then, the process returns to step S102 and is repeated in the same manner.
  • the completion instruction is given by, for example, the operator U1 using the instruction input device 300 to input a predetermined voice, for example, a voice such as "end" through a microphone, and the teaching instruction detection unit 105 , it can be detected as a completion instruction based on the audio signal.
  • step S108 the control device 100 generates teaching data up to the corresponding latest time point based on the first measurement pose and the second measurement pose as the measurement pose up to the latest time point when receiving the completion instruction, and stores the teaching data.
  • the information is stored in the section 108.
  • the control device 100 additionally generates a chronological teaching pose up to the latest time when the completion instruction is received, which has not yet been generated at the time of step S108, and also creates a teaching pose that indicates the end of the teaching data. Generate the data of the command (“end”) to be associated.
  • step S109 the control device 100 corrects the teaching data as necessary, and ends the process related to the teaching data.
  • step S110 the control device 100 generates robot motion data through the processing of the robot motion generation section 109 based on the teaching data in the teaching data storage section 108, and stores it in the robot motion data storage section 110.
  • the process of generating robot motion data from the teaching data may be executed automatically in conjunction with the generation of the teaching data, or may be executed at a later timing in response to an instruction input by the administrator U2, etc. .
  • FIG. 15A, FIG. 15B, and FIG. 15C are explanatory diagrams of calculation and correction of the taught pose in the first embodiment.
  • 15A and the like the acquisition results of the first measurement pose and the second measurement pose by the pose measurement unit 101 and the teaching data by the teaching data generation unit 107 are shown as examples when teaching the left hand grip operation M1 in FIG. 12.
  • a graph showing the generated results etc. is shown. In the graph, the horizontal axis indicates time (t), and the vertical axis indicates the position coordinate in the X-axis direction, which is one direction in the coordinate system ⁇ w of the workbench 10, for example.
  • time-series data of only the position in the X-axis direction in the coordinate system ⁇ w is shown for ease of understanding, but the Y-axis and Z-axis also have position information, and the However, it does have orientation information on each axis that represents the posture.
  • the time sampling period is determined in advance.
  • FIG. 15A shows data D1, D2, D11, and D12.
  • the data D1 is displacement data on the X axis as time series data of the first measurement pose on the tool side, that is, the measurement pose of the marker 3a of the test tube 7a.
  • Data D2 is displacement data on the X axis as time series data of the second measurement pose of the hand 5 side, that is, the measurement pose of the marker 4L of the left hand 5L.
  • the data D11 is time-series data of the pose in the coordinate system ⁇ LT of FIG. 10, which is calculated from the data D1 of the first measurement pose corresponding to the pose in the coordinate system ⁇ TLM of FIG.
  • the data D12 is time-series data of the pose in the coordinate system ⁇ LT of FIG.
  • the data D11 is data converted from the data D1 into a pose at the gripping center position (origin O LT ).
  • Data D12 is data converted from data D2 into a pose at the gripping center position (origin O LT ).
  • FIG. 15B shows data D20 and D21.
  • FIG. 15B also shows an example of the timing of the above-mentioned teaching instruction and operation instruction, and shows data D30, D31, and D32 generated in response to them.
  • the data D20 is time-series data of the taught pose calculated from the pose data D11 and D12 in the coordinate system ⁇ LT , which is the two left grip coordinate systems in FIG. 15A, and is indicated by a solid line. Specifically, data D20 is generated by selecting data D12.
  • Data D30 is data of a start instruction (“start”) as a teaching instruction.
  • Data D32 is data of a completion instruction (“end”) as a teaching instruction.
  • Data D31 is data of a grip operation instruction (“close”) as an operation instruction.
  • FIG. 15C shows data D40.
  • Data D40 is time series data based on corrected data D21 in FIG. 15B, and is teaching data consisting of data D41 and data D42.
  • Data D41 corresponds to the operation up to operation M1
  • data D41 corresponds to the operation after operation M1.
  • the control device 100 generates pose data D1 of the tool-side marker 3a and pose data D2 of the hand-side marker 4L from time 0 to time m in chronological order. It has been measured.
  • step S105 the control device 100 converts each of the data D1 and the data D2 up to time m into coordinates in the left grip coordinate system based on the relationships in FIGS. 10 and 11, as shown in FIG. 15A. It is converted into data D11 and data D12 which are poses in the system ⁇ LT .
  • step S105 the control device 100 determines that the gripping operation instruction ("close") has been input at time m, or that data D1 (for example, the X-axis position coordinate) has been input in the time from time 0 to time m. Based on the fact that has not changed, it is recognized that the motion is taught in an ungrasped state in the time up to time m.
  • the control device 100 selects data D12, which is the measurement result of the hand-side pose up to grasping at time m, from the data D11 and D12 to be the taught pose, and generates the data D20 shown in FIG. 15B. do.
  • the portion from time 0 to m of data D20 in FIG. 15B is the same as the portion from time 0 to m of data D12 in FIG. 15A.
  • the tool-side data D11 shown in FIG. 15A is a directly measured pose of the test tube 7a itself, and therefore represents a pose that can be held with high precision by the hand mechanism 6L of the robot 2 at time m.
  • the hand side data D12 is generated by converting the pose of the marker 4L near the left wrist of the teacher U1. Therefore, this data D12 represents the trajectory of the left hand 5L up to the grasping operation at time m, especially the grasping operation instruction ("close"), but there is an error in the pose of grasping the test tube 7a with the left hand 5L at time m. Contains a lot of.
  • the teaching pose data D20 generated by selecting the data D12 also has similar characteristics.
  • the error caused by the hand movement of the worker U1 is shown as the difference ⁇ X regarding the position of the X axis in FIG. 15A and the like.
  • the robot teaching device 1 and method of the first embodiment generate suitable teaching data by correcting the teaching data in consideration of such errors. Therefore, in step S106, the control device 100 calculates a correction coefficient for the correction in order to make the pose of the hand side data D12 match the pose of the tool side data D11 at time m. .
  • the control device 100 performs a correction operation on the data D20 corresponding to the data D12 shown in FIG. 15B using a correction coefficient in a backward manner from the grasping time m, thereby obtaining the corrected taught pose data D21. obtain.
  • the difference ⁇ X between the positions of data D12 and data D11 in the X-axis direction is used as a correction coefficient.
  • the teaching data generation unit 107 then generates the corrected teaching pose data D21, teaching instruction (“start”) data D30 stored in synchronization with time, and operation instruction (“close”) data D31. By combining these, teaching data is generated.
  • the generated teaching data corresponds to data D41 as data D40 from time 0 to time m shown in FIG. 15C.
  • the teaching data generation unit 107 stores the teaching data D41 of times 0 to m, as well as various related data used to generate the teaching data D41, in the teaching data storage unit 108 as teaching data D40.
  • a limit is set in advance based on physical quantities such as travel distance and travel time, and a limit is set in advance based on physical quantities such as travel distance and travel time.
  • the data is set and stored in the correction data storage unit 106 as a part.
  • the control device 100 may perform the above correction process using the correction data.
  • the teaching data generation unit 107 corrects the data D20 corresponding to the data D12 by going back in time until reaching a certain time i, that is, the time of the boundary of the range, corresponding to any limit in the correction data. By performing the calculation, data D21 from time i to time m is generated and becomes part of the corrected data D41.
  • the teaching data generation unit 107 selects the data D20 corresponding to the data D12 without correcting the portion before time i, and makes it part of the corrected data D41.
  • the teaching data generation unit 107 corrects the data D20 by applying a correction coefficient within the limit range. While performing the calculation, additional correction may be performed near the time i when the limit is reached, so as to match the pose of the data D20, or so that the change in pose is as small as possible. An example of processing using the above restrictions will be described later.
  • the left hand 5L moves the test tube 7a as a work operation based on the fact that the pose of the test tube 7a itself has not been moved or the data D11, which is the measurement result of the pose of the test tube 7a itself, has changed. It can be recognized that the test tube 7a has been moved while being held.
  • the control device 100 matches the grasping pose of the hand mechanism 6L of the robot 2 to the data D11 after conversion of the pose of the tool, so that the instructor U1 can perform the demonstration.
  • the pose of the test tube 7a handled in 1 can be traced with high precision. Therefore, in step S108, the teaching data generation unit 107 selects the data D11 from time m to n to generate the data D20 of the teaching pose, and sets it as the data D42 in FIG. 15C.
  • step S109 the teaching pose itself generated in step S108 is not corrected, but the teaching pose data D20 and the teaching instruction ("end") data D32 stored in synchronization with the teaching pose data D32 are stored in synchronization with the teaching pose data D20.
  • teaching data is generated.
  • the generated teaching data corresponds to data D42 as data D40 at times m to n in FIG. 15C.
  • the teaching data generation unit 107 stores the teaching data D42 of times m to n, as well as various related data used to generate the teaching data D42, in the teaching data storage unit 108 as teaching data D40.
  • correction of pose position has been mainly explained, but correction can be similarly applied to posture.
  • the control device 100 calculates the difference between the posture of the first measurement pose on the tool side and the posture of the second measurement pose on the hand side, and generates teaching data using the difference in posture.
  • the hand 5 of the teacher U1 and the end effector 9 of the hand mechanism 6 each grip and operate the same tool at a location (for example, the upper side of the test tube 7).
  • a location for example, the upper side of the test tube 7.
  • the case where is predetermined has been explained. Even if the location where the hand 5 of the teacher U1 operates the tool deviates from the predetermined location during teaching, the deviation can be tolerated by correcting the above-mentioned error.
  • FIG. 16A and the like are explanatory diagrams of modifications related to the correction in consideration of errors in FIG. 15A and the like, and show graphs similarly to FIG. 15A and the like. Assume that the obtained measurement pose is the same as that in FIG. 15A.
  • FIG. 16A shows a modification 1A as a modification.
  • the control device 100 traces back to time i in a time range 1601 determined according to the restriction from the time m of detection of the operation M1, and within that range 1601, the control device 100 Data D20 is corrected to data D21.
  • This correction is, for example, subtraction of the difference ⁇ X, as described above. After correction, the data becomes as shown by the broken line D21.
  • Data D21 in the range 1601 from time i to m is connected with data D20 before time i and data D20 after time m to become teaching data.
  • the range 1601 corresponding to the restriction is the time from time m to time i three times before.
  • the range 1601 corresponding to the restriction may be determined in advance as a predetermined time, for example, or the range 1601 may be determined in advance as a threshold value on each axis such as the It may also be determined as the time at which the displacement occurs.
  • the range 1601 of this restriction is more preferably determined according to the structure of the operated object, the hand mechanism 6, and the like.
  • FIGS. 16B and 16C show modification 1B as a further modification.
  • This modification 1B connects the uncorrected data before and after the corrected data as smoothly as possible in the time series, in other words, so that the amount of change in pose before and after the time series is as small as possible. , which performs further additional corrections.
  • data D20 different from the example of FIG. 16A is used, and that the fluctuation in the X-axis position is larger until time m is reached.
  • data D20 is corrected to data D21 in a range 1601 according to the restriction from time i to m, as in modification 1A of FIG. 16A.
  • This correction is, for example, subtraction of the difference ⁇ X.
  • the portion after this first stage correction is shown as data D21a.
  • a second stage of correction is further performed from the data D21a.
  • the corrected portion is shown as data D21b.
  • the connection between the data D21a and the data D20 is made smoother, that is, the amount of change in pose position and posture is made as small as possible near time i, which is the boundary of the range 1601. Corrections are made.
  • the control device 100 calculates the amount of change between times, and if the amount of change is greater than a threshold value, performs the second stage correction. For example, assume that the amount of change between time j and time i is A1, and that the amount of change A1 is greater than a threshold value.
  • the control device 100 determines the second stage correction range 1602 based on, for example, time i, which is the boundary of the range 1601.
  • the range 1602 is determined to include at least the time from time j to i corresponding to the amount of change A1. In the illustrated example, the range 1602 is from time j to time i.
  • the control device 100 corrects the pose at each time within this range 1602.
  • An example of this correction is statistical processing such as averaging.
  • FIG. 16C shows an example after the second stage correction as data D21b.
  • the white circle points are the positions after correction.
  • the average value of the position at time j before correction and the position at time i is taken, and the average value is used as the position at time j and the position at time i after correction.
  • the correction is not limited to this, and the range 1602 may be made wider, or other statistical processing may be employed.
  • the time series data that is the trajectory of poses was explained as connecting the positions and postures at each time with a straight line, but time series data is generated by connecting the positions and postures at each time as a curved line. You can also use it as
  • FIG. 17A shows modification example 1C as another modification example.
  • this modification example 1C it is assumed that, for example, after the first stage of correction is performed in the same manner as in FIG. 16B, the amount of change A1 between time j and time i is greater than the threshold value.
  • the data at the position at time j is regarded as noise, and a second stage of correction is performed to match it to the position at time i, for example.
  • the corrected data is shown as data D21c.
  • FIG. 17B shows modification example 1D as another modification example.
  • this modification 1D it is assumed that, for example, after the first stage of correction is performed as in FIG. 16B, the amount of change A1 between time j and time i is greater than the threshold value.
  • the positions at each time are corrected so that a straight line connects the position at time j to the position at time m.
  • the data after correction is indicated by a dashed dotted line as data D21d.
  • the step of generating teaching data is based on the measurement data in the vicinity where the operation was detected, and the data after correction to reduce the error is performed on the data before and after the measurement data in the vicinity of the detected operation. If the amount of change from the data does not satisfy a preset specified value, the method includes a step of additionally correcting a portion of the data that is desired to satisfy the specified value by statistical processing, noise removal processing, or the like.
  • the known Data may be corrected by a method using statistical processing or the like.
  • FIG. 18 shows a display example of a screen including a GUI provided by the robot teaching device 1 of the first embodiment to the user, the worker U1 and the administrator U2.
  • the screen shown in FIG. 18 may be provided in the form of, for example, a web page.
  • the screen in FIG. 18 is displayed on the display screen of the display device of the input/output device 120 (output device 1006 in FIG. 3), for example, based on the processing by the teaching instruction detection unit 105 of the control device 100 in FIG. 2.
  • the screen in FIG. 18 shows an example configured as a work scenario display screen. This screen allows setting and editing of the work movement scenario.
  • This screen includes a scenario editing screen section 1801 and a taught data confirmation screen section 1802.
  • the user the worker U1 or the administrator U2
  • teaching instructions and the like may be input to this screen, or a separate GUI screen may be provided for tasks such as teaching instructions.
  • the scenario editing screen section 1801 has a GUI that displays a work scenario and allows editing by the user.
  • the work scenario is a scenario of a work operation to be performed, and is divided into work units, and can be associated with teaching data required for each work unit.
  • the work scenario of the target work operation is configured as a sequential function chart having work units or steps such as "Initial”, “Get test tube”, and "Move test tube”.
  • Get test tube” shown in step S1810 is "an operation/step of gripping a test tube” and corresponds to the operation M1 of gripping the test tube 7 described above.
  • “Move test tube” shown in step S1811 is an “action/step of moving the test tube” and corresponds to the action of moving the gripped test tube 7 after the gripping operation M1.
  • the user can set what kind of work action is to be taught.
  • the user can create a new work scenario, save it with a name, open or close a set work scenario, etc.
  • the control device 100 is created to associate data/information such as measurement data and teaching data (for example, data D41, D42) shown in FIG. 15A etc. with each operation/step of the work scenario according to the set work scenario. do.
  • the work scenario in the scenario editing screen section 1801 is described as a sequential function chart, but the present invention is not limited to this, as long as the work scenario and transition can be described.
  • the teaching data confirmation screen section 1802 has a GUI that allows you to display and confirm the teaching data of the work movement that is generated in association with the work scenario, as well as the contents of various data used to generate the teaching data.
  • the GUI of the screen in FIG. 18 displays data corresponding to the selected step, etc., for example, the teaching data in FIG. It has a function to display various data used when generating D40 and its teaching data.
  • This screen may allow the user to select measurement data, teaching data, and others to be displayed.
  • various measurement data, teaching data, etc. are displayed in the teaching data confirmation screen section 1802 in the form of a graph, superimposed in the same way as in FIG. 15A and the like.
  • the value of the difference ⁇ X corresponding to the above-mentioned error is also displayed, allowing the teaching data before and after correction to be confirmed.
  • the teaching data confirmation screen section 1802 can also display the data of the teaching instructions and operation instructions described above.
  • setting information such as the threshold value can also be displayed on the screen, allowing the user to confirm the setting information and Allows settings.
  • a plurality of correction methods may be implemented as shown in each of the above-mentioned modifications, and in that case, the user may be able to select and set the correction method to be applied from among the plurality of correction methods on the screen.
  • the taught data confirmation screen section 1802 displays a graph of each data such as taught data, but is not limited to this, and may be any display that allows confirmation of the contents of each data.
  • a data table of a database or the like may be displayed, a command or the like may be displayed, or a pose may be displayed three-dimensionally as in the example described later.
  • the first embodiment there is no need for high-precision recognition or image analysis processing regarding the pose of the instructor's hand or the pose of the tool, saving computational resources, reducing the number of steps required for pre-adjustment, and improving robot teaching.
  • the introduction and implementation of systems related to this can be facilitated.
  • the first marker on the tool side and the second marker on the hand side are used to generate teaching data including corrections related to errors. It is also possible to teach work movements that involve being far away from the person.
  • the motion capture system 200 uses the camera 20, the present invention is not limited to this, and the position and orientation of the object may be detected using other measuring devices or sensors.
  • a gyro sensor, an acceleration sensor, or the like may be used, or an optical sensor compatible with laser light, infrared rays, or the like may be used.
  • a tool has been described as an example of an operation object, the object is not limited to this, and the object may be a member or a product in a manufacturing process.
  • the hand-side marker 3 has been described as being installed near the forearm in front of the wrist, the marker 3 is not limited to this, and may be installed anywhere on the hand of the worker U1 that does not interfere with the work movement. .
  • the pose of the hand is that of the marker 4 attached to the forearm near the wrist.
  • the installation position and detailed method of the marker are not limited to this.
  • the hand pose is obtained as the pose of that marker that reflects the movement of the palm.
  • the control device 100 compares the calculated difference ⁇ X with a set threshold value, and if the difference ⁇ X is greater than or equal to the threshold value, the control device 100 performs the above-described correction. Correction may be performed, and if it is less than a threshold value, correction may not be performed.
  • Embodiment 2 The robot teaching method and apparatus of the second embodiment will be described using FIG. 19 and subsequent figures.
  • the basic configuration of Embodiment 2 and the like is the same as that of Embodiment 1, and below, the constituent parts of Embodiment 2 and the like that are different from Embodiment 1 will be mainly explained.
  • Embodiment 2 differs from Embodiment 1 in that teaching data is corrected in consideration of restrictions when the robot's hand mechanism accesses tools during operations such as grasping.
  • This limit is determined depending on the relationship between the structure of the hand mechanism, etc., and the structure, such as the shape of the tool. More specifically, this restriction concerns the permissible directions, positions, distances, velocities, and forces in which the hand mechanism can move and manipulate the tool during operations such as grasping.
  • One example is the restricted range.
  • the limited range may be defined by a reference value, upper and lower limit values, or the like. These restrictions include, for example, gripping only a specific part of the tool, approaching or moving away from the tool from a specific direction within a certain distance range, and accessing the tool at a speed below a certain speed within a certain range. Can be mentioned.
  • the correction of the teaching data generation in the second embodiment is to generate a teaching pose that satisfies such restrictions, or in other words, gives priority to the restrictions and enables efficient operation of the robot's mechanism. It is to be.
  • the correction in the second embodiment is performed by setting the content of the restriction as correction data, and when generating teaching data, correcting a part of the measured pose by replacing or using the correction data. This generates teaching data.
  • Embodiment 2 are a different concept from the scope of restrictions going back to the past in Embodiment 1, and may be described as operation restrictions, operation restrictions, access restrictions, etc. for distinction. be.
  • the correction that takes into account operational limitations in the second embodiment is a different concept from the correction that takes into account errors due to hand motions in the first embodiment.
  • Embodiment 2 will be described as an example in which, in addition to the function of correcting errors in Embodiment 1, there is also a function of correcting the above-mentioned operation restrictions.
  • the second embodiment is not limited to this, and the second embodiment can also be realized as an example having only the function of correcting the above-mentioned operation restrictions without having the function of correcting the errors in the first embodiment. .
  • the configuration example of the control device 100 of the robot teaching device 1 of the second embodiment is the same as that in FIG. 2, and the main difference is that it includes an operation pose generation unit 112.
  • the operation pose generation section 112 is a taught pose correction section.
  • correction data in other words correction setting information, is set and stored in the correction data storage unit 106 of FIG. The setting of this correction data may be performed in advance by the administrator U2, or the control device 100 may calculate the correction data.
  • the correction data in the second embodiment additionally includes correction data related to operation restrictions.
  • the operation pose generation unit 112 uses the correction data in the correction data storage unit 106 to generate an operation pose that takes operation restrictions into consideration.
  • the operation pose generation unit 112 or the teaching data generation unit 107 corrects a part of the teaching data by replacing or modifying it using the operation pose.
  • the corrected teaching data is stored in the teaching data storage unit 108. Note that the operation pose generation section 112 in FIG. 2 may be considered as a part of the teaching data generation section 107.
  • FIG. 12 An example of work demonstration in the second embodiment will be described using FIG. 12 described above.
  • the teacher U1 performs an operation M2 in which the pipette 8 equipped with the marker 3p is held by the right hand 5R equipped with the marker 4R.
  • the pipette 8 is installed in a holder 81 on the workbench 10.
  • the teacher U1 moves the right hand 5R equipped with the marker 4R, performs an operation M2 of gripping the pipette 8 on the holder 81, and moves the right hand 5R while gripping the pipette 8.
  • teaching regarding such operation M2 will be explained.
  • FIG. 19 is a perspective view showing an example of the configuration of the holder 81 on the workbench 10, the state of the pipette 8 installed on the holder 81, the state of the marker 3p attached to the pipette 8 via the attachment 82, etc.
  • a pipette 8 and a marker 3p similar to those shown in FIG. 6 described above are installed in the holder 81.
  • the structure of the holder 81 includes a flat plate part 81a installed on the upper surface of the workbench 10 and the XY plane, which is a horizontal plane, and a support part standing on the flat plate part 81a in the Z-axis direction, which is a vertical direction. 81b, and a support portion 81c extending parallel to the XY plane at the upper end of the support portion 81b.
  • the support portion 81c has a shape in which one of the four sides is cut out so as to be able to support predetermined locations of the pipette 8 and the attachment 82, with a notch in the negative direction of the X-axis shown in the figure.
  • the long axis of the pipette 8 is arranged in the region of the cutout of the support 81c.
  • the attachment 82 attached to the upper part of the pipette 8 has a structure such that it can be placed on the support part 81c and can be grasped by the finger mechanism 521 (finger mechanisms 521a, 521b in FIG. 8) of the hand mechanism 6. have When installing the pipette 8 in the holder 81, the attachment 82 of the marker 3p is placed on the support part 81c of the column part 81b, so that the holder 81 absorbs the load of the pipette 8, the attachment 82, and the marker 3p. Supported.
  • the marker 3p connected to the attachment 82 is located at a similar height to the attachment 82, with a rectangular flat plate protruding outward from the support portion 81c, for example, on the XZ plane.
  • the marker 3p is also arranged so as not to interfere with the gripping operation.
  • the pipette 8 When installing and holding the pipette 8 in the holder 81, the pipette 8 is moved in a direction 1901 from negative to positive on the X axis, for example, as a direction corresponding to one missing side among the four sides of the XY plane of the support part 81c. This allows it to be placed on the support portion 81c. Conversely, when taking out the pipette 8 from the holder 81, the pipette 8 moves in a direction 1902 from positive to negative along the X axis, for example, as a direction corresponding to one missing side among the four sides of the XY plane of the support portion 81c. By doing so, it is taken out from the support portion 81c.
  • the mechanism In order to grip and move the pipette 8 mounted on such a holder 81 with the finger mechanism 521 at the tip of the hand mechanism 6R of the robot 2, the mechanism must be able to grip the upper part of the test tube 8 on the holder 81. In addition, it is essential to operate the mechanism while maintaining an accessible position and posture so as not to collide with the holder 81. This results in the above-mentioned operational restrictions.
  • the attachment 82 and the like are designed in advance so that the finger mechanism 521 can grip the right and left sides of the attachment 82 at the upper part of the pipette 8 .
  • the tools and mechanisms are different, the locations of operation and the configuration of attachments are also different, and the operating restrictions are also different.
  • the operation by the hand section 520 of the hand mechanism 6 of the robot 2 and the related operation restrictions are as follows, as an example.
  • the hand mechanism 6 assumes a posture in which the finger mechanism 521 is kept horizontal, and the position trajectory is in the direction of the notch of the support portion 81c, in this example, the X-axis. Access is made so as to move in parallel in the direction 1901 from negative to positive, and an action is taken to reach the side surface of the attachment 82 at the top of the pipette 8 and grip that location from the left and right.
  • the hand mechanism 6 takes an action to pull out the finger mechanism 521 so as to move it in parallel in a direction 1902 from the positive to the negative X axis while keeping the finger mechanism 521 horizontal. .
  • FIG. 20 is an explanatory diagram of a pose in which the finger mechanism 521 (finger mechanisms 521a, 521b in FIG. 8), which is the fingertip of the right hand mechanism 6R of the robot 2, is accessible to the pipette 8 of the holder 81 in FIG. 19. and shows a side view of the XZ plane in the coordinate system ⁇ w.
  • the finger mechanism 521 finger mechanisms 521a, 521b in FIG. 8
  • FIG. 20 shows a side view of the XZ plane in the coordinate system ⁇ w.
  • the finger mechanism 521 of the hand mechanism 6R is virtually illustrated with broken lines to show the pose of the mechanism of the robot 2 that allows access to the pipette 8.
  • illustration of the attachment 82 and the marker 3p is omitted.
  • the coordinate system for expressing poses follows the coordinate system ⁇ w, which is the workbench coordinate system, unless otherwise specified, as in the first embodiment.
  • the operation restriction range R20 is a range in three-dimensional space where operation restriction is required.
  • the operation restriction range R20 is the range from position X1 to position X2 in the X-axis direction, the range including the left and right sides of the position where the long axis of the pipette 8 is located (not shown) in the Y-axis direction, and the operation limit range in the Z-axis direction.
  • the range is from the top surface of the stand 10 to a predetermined height Z2 above the height Z1.
  • a trajectory 2000 indicates a pose trajectory, or in other words, a path, during the access operation in the direction 1901 in FIG. 19 when the finger mechanism 521 grips the pipette 8.
  • the trajectory of the pulling motion in direction 1902 is the opposite trajectory to the trajectory 2000 of the motion in direction 1901.
  • the track 2000 is formed by connecting a track 2001 within the operation restriction range R20 and a track 2002 outside the operation restriction range R20.
  • the hand mechanism 6R of the robot 2 performs the following steps. Take actions that take operational restrictions into account. First, outside the operation restriction range R20, the hand mechanism 6R moves the finger mechanism 521 on a basically free trajectory 2002 that allows changes in posture to a position p21 corresponding to the boundary of the operation restriction range R20.
  • the starting point of the trajectory 2002 is not particularly limited. Positions p21 and p22 are shown as gripping center positions of the finger mechanism 521.
  • the position p21 corresponds to a position X2 in the X-axis direction, a position where the long axis of the pipette 8 is located in the Y-axis direction, and a position at a height Z1 from the top surface of the workbench 10 in the Z-axis direction.
  • the hand mechanism 6R moves the finger mechanism 521 to a horizontal position p22 corresponding to the installation position and gripping position of the pipette 8 on the holder 81, and a height Z1 on the Z axis. While maintaining the posture, the robot is moved in parallel in the direction from negative to positive by at least a distance Lf in the X-axis direction. This operation is represented by a trajectory 2001 from position X2 to position X1. Thereby, interference between the finger mechanism 521 and the holder 81 can be avoided.
  • the hand mechanism 6R grips a predetermined portion of the upper side surface of the pipette 8 above the support portion 81c by moving the finger mechanism 521 in the Y-axis direction at position p22.
  • the hand mechanism 6R takes the following actions in consideration of operational limitations. .
  • the hand mechanism 6R moves the finger mechanism 521 holding the pipette 8 to a position p22 corresponding to the installation position and gripping position of the pipette 8 on the holder 81, and at a height Z1 on the Z axis. It maintains a horizontal attitude with respect to the position, and moves in parallel in the direction from positive to negative by at least a distance Lf in the X-axis direction.
  • This motion is a trajectory from position X1 to position X2 in the opposite direction to trajectory 2001. Thereby, interference between the finger mechanism 521 and the holder 81 can be avoided. Thereafter, the hand mechanism 6R basically freely moves the finger mechanism 521 holding the pipette 8 from the position p21 while allowing a change in posture.
  • This operation is, for example, a trajectory in the opposite direction to the trajectory 2002, from the position X2 in the negative direction on the X axis, and the end point of the trajectory is not particularly limited.
  • a pose such as the operation restriction range R20 or the trajectory 2001 corresponding thereto is set in advance.
  • the control device 100 uses such correction data to generate an operation pose corresponding to the operation restriction for the measured pose of the right hand 5R side during the work demonstration of the instructor U1.
  • the pose corresponding to the trajectory 2001 within the operation restriction range R20 is a pose that is uniquely determined according to the grasping operation, the object to be grasped, the grasping mechanism, and the like. During correction, such a pose is generated as an operation pose.
  • This operation pose includes an approach pose when the mechanism approaches the tool as in trajectory 2001, and a departure pose when the mechanism leaves the tool as a reverse trajectory.
  • the operation restriction range R20 includes, for example, the X-axis direction as the restricted displacement direction, the distance Lf as the restricted distance, and the horizontal orientation as the restricted orientation.
  • the operation restriction range R20 is the approach pose range which is the range of distance Lf in the positive direction of the X-axis in which the action should be taken while taking an approach pose, and the distance in the negative direction of the X-axis in which the action should be taken in the departure pose. This includes the exit pose range, which is the range of Lf.
  • the control device 100 sets at least one of the above-mentioned operation restriction range R20 or the trajectory pose in the correction data storage unit 106 as correction data.
  • the control device 100 may calculate the pose of the trajectory based on the operation restriction range R20 set by the user on the screen and set it as correction data.
  • the control device 100 may set the pose of the trajectory set by the user on the screen as the correction data.
  • the trajectory 2001 at the time of approach and the trajectory at the time of detachment during the grasping operation are trajectories with the same posture and displacement in opposite directions, but the present invention is not limited to this. , they may have different trajectories and different operational limits may be set.
  • FIG. 21A, FIG. 21B, and FIG. 21C show graphs regarding detailed examples of teaching data generation in the second embodiment, similar to FIG. 15A and the like.
  • 21A and the like show various data at the time of the right-hand gripping operation M2 in which the instructor U1's right hand 5R grips the pipette 8 of the holder 81 as shown in FIG. 12.
  • time-series data of only the position in the X-axis direction of the coordinate system ⁇ w is shown, as described above.
  • the time from time 0 to time m corresponds to the movement of the right hand 5R to move to and grip the pipette 8, and at time m, a grip operation instruction is input and detected in response to operation M2.
  • FIG. 21A shows data D1' of the first measurement pose of the marker 3p on the pipette 8 side, data D2' of the second measurement pose of the marker 4R on the right hand 5R side of the worker U1, and the gripping center position based on the data D1'.
  • data D11' converted into a pose at the gripping center position, and data D12' converted from data D2' into a pose at the gripping center position are shown.
  • FIG. 21B shows data D20', data D21', and data D200.
  • Data D20' like data D20 in FIG. 15, is a teaching pose generated by selecting data D12' based on data D11' and data D12'.
  • Data D21' is a teaching pose generated by correction from data D20'. Similar to the first embodiment, the correction from data D20' to data D21' is a correction calculation using subtraction of the difference ⁇ X between times 0 and m, taking into account errors in hand movements.
  • data D30' of the teaching instruction (“start") at time 0
  • data D31' of the operation instruction (“close") at time m
  • data D32' of the teaching instruction (“end”) at time n. has.
  • a range 2101 indicates a position range corresponding to the distance Lf in the X-axis direction regarding the approach pose range of the operation restriction range R20 in FIG.
  • Position Xr1 corresponds to position X2 in FIG. 20
  • position Xr2 corresponds to position X1.
  • the times at which the positions in the X-axis direction in the data D21' and the data D20' fall within the range 2101 corresponding to the approach pose range of the distance Lf of the operation restriction range R20 in FIG. 20 are indicated as times Tra to Trb.
  • Time Tra corresponds to the time when the position in the data D21' exceeds the position Xr1
  • time Trb corresponds to the time when the position in the data D20' falls below the position Xr1.
  • the position of data D21' reaches the vertex position Xr2 at time m, and after time m, it is connected to the position of uncorrected data D20'.
  • the teaching data generation unit 107 After calculating the teaching pose such as data D21', the teaching data generation unit 107 refers to the correction data stored in the correction data storage unit 106 through the processing of the operation pose generation unit 112 shown in FIG. An operation pose corresponding to range R20 is generated. The operation pose generation unit 112 generates an approach pose such as trajectory 2001, which corresponds to the operation restriction range R20. Then, the teaching data generation unit 107 uses the operation pose to perform correction related to the operation restriction.
  • the approach pose is represented by straight line data Da from time ta to time m.
  • the operation pose generation unit 112 calculates the approach pose data Da so as to match the position Xr2 and posture of the same pose as the data D11' and the data D21' at time m of the grasping operation M2. Along with this, the start time ta of the approach pose data Da is also calculated. Then, the teaching data generation unit 107 replaces a part of the data D21' corresponding to times ta to m using the approach pose.
  • the data Db of the withdrawal pose after the time m of the gripping operation M2 can also be calculated in the same way.
  • the operation pose generation unit 112 generates an exit pose, such as a reverse trajectory of the trajectory 2001, corresponding to the operation restriction range R20 in FIG. 20.
  • the departure pose is represented by straight line data Db from time m to time tb.
  • the operation pose generation unit 112 calculates the data Db of the withdrawal pose so as to match the position Xr2 and posture of the same pose as the data D11' and the data D21' at the time m of the grasping operation M2.
  • the end time tb of the exit pose data Da is also calculated.
  • the teaching data generation unit 107 replaces a part of the data D20' corresponding to times m to tb according to the exit pose.
  • the data D40' includes data D41' including data Da of approaching poses up to time m, and data D41' including data Db of leaving poses after time m, and includes data of teaching instructions and operating instructions ( D30', D31', D32') are also associated.
  • the data D41' up to time m the data from time Tra to time ta before correction is corrected to data Dc which remains unchanged at position Xr1.
  • the data from time tb before correction to time Trb is corrected to data Dd that remains unchanged at position Xr1.
  • teaching pose data D21' and data D20 are generated in the same manner as in the first embodiment, and further, operation pose data Da and Db are generated in consideration of the operation restriction range R20.
  • the range from time Tra to Trb around time m of the grasping operation is corrected so as to be replaced by the operation pose.
  • teaching data D40' including corrected data D200 is obtained.
  • FIG. 22A shows a modification 2A as a modification.
  • the prerequisite measurement data and the like are the same as those in FIG. 21A.
  • the operation pose generation unit 112 sets the time Tra and the time m based on the time Tra and the time Trb corresponding to the distance Lf of the operation restriction range R20 with the position of the time m of the gripping operation as the apex.
  • Approach pose data Da' is generated as a connecting straight line
  • departure pose data Db' is generated as a straight line connecting time m and time Trb.
  • Data Da' and data Db' have a gentler slope than the data Da and data Db described above. Then, by replacing the teaching pose data D21' and data D20' with these operation poses D200a (Da', Db'), corrected teaching data as shown in the figure is generated.
  • FIG. 22B shows modification 2B as another modification. It is assumed that the measurement data and the like that serve as a premise have larger fluctuations and swings than in the case of FIG. 21A. Further, in this example, the position of the vertex during the gripping operation continues from time m to time m'. That is, this shows a case where the state in which the teacher U1 is holding the pipette 8 in the right hand 5R during the operation M2 is maintained for a certain period of time. Furthermore, in this example, since the displacement at the time of detachment was large, time tb is a later time than time Trb.
  • Data D21' and data D20' are teaching poses before correction.
  • the operation pose generation unit 112 generates an operation pose D200b (Da, Db) for the data D21' and the data D20' in the same manner as in the processing example shown in FIG. 21A of the second embodiment.
  • the operation pose D200b includes data Da of an approach pose from time ta to time m, and data Db of a departure pose from time m' to time tb.
  • the poses before and after the operation pose data D200b are left as they are as the original data D21' and data D20', and are not corrected.
  • the time from time Tra to time ta includes, as original data D21', data De that connects, for example, position Xr4 at time tc and position Xr1 at time ta. Further, the time around time Trb is corrected to give priority to data Db until time tb, and after time tb, it is connected to the position of data D20'.
  • a correction like Modification 2B may be used. However, if you are concerned about a portion where the amount of pose variation is large, for example, a portion including position Xr4 at time tc, the following correction may be performed.
  • FIG. 22C shows modification 2C as another modification.
  • this modified example 2C for example, after performing the correction using the operation pose that takes into account the operation restrictions, as in FIG. , so that the connection becomes smoother, or in other words, the amount of change in pose is made as small as possible.
  • the concept of this correction is the same as the correction in the modification of the first embodiment, and various processing examples can be similarly applied.
  • the teaching data generation unit 107 corrects the teaching pose using methods such as statistical processing and noise removal so that the displacement amount A4 is reduced.
  • the average value of the position Xr4 at time tc and the position Xr1 at time ta is taken, and the position at time tc with a large amount of change is corrected, for example, replaced by the average value.
  • the taught pose after correction becomes data Df.
  • the position Xr1 at time ta may also be replaced with its average value, and the slope of the straight line of data Da may be made gentler.
  • the position at time tc where the amount of change is large, is regarded as noise and is corrected to a straight line with no displacement so that it becomes the same as position Xr1 at time Tra and time ta. In that case, the taught pose after correction becomes data Dg.
  • the time period during which the apex position is maintained without displacement such as times m to m', may be corrected so as to be shortened to 0 or within a predetermined time period.
  • the time of the apex may be determined as part of the correction data, and the correction may be performed to reach that time.
  • FIG. 23 shows a display example of a screen including a GUI provided by the robot teaching device 1 to the user, the worker U1 and the administrator U2, in the second embodiment.
  • the screen in FIG. 23 is displayed on the display screen of the display device of the input/output device 120 (output device 1006 in FIG. 3), for example, based on the processing by the teaching instruction detection unit 105 of the control device 100 in FIG.
  • the screen in FIG. 23 shows an example configured as a work space editing screen. This screen allows you to set and edit your workspace.
  • This screen includes a workbench setting screen section 2301, a correction data setting screen section 2302, and a correction data editing screen section 2303.
  • the user can preset correction data in the control device 100, thereby executing the process according to the robot teaching method of the second embodiment.
  • the user the worker U1 or the administrator U2, can set the work space, necessary correction data, etc. on the screen shown in FIG. 23, and can confirm the data and information.
  • the work space corresponds to the space on the workbench 10 as shown in FIG. 1, and the coordinate system ⁇ w can also be set.
  • the user can make settings for each work space, save them with a name, and read and confirm the saved settings.
  • the workbench setting screen section 2301 has a GUI for determining the type and arrangement of objects to be placed on the workbench 10 as shown in FIG.
  • the target object is a tool that is an object to be operated, or a related object such as a holder related to the tool.
  • a holder 71 for the test tube 7, a holder 81 for the pipette 8, etc. are displayed on the workbench setting screen section 2301 in a perspective view of the workbench 10.
  • the user can set the position, posture, etc. of the object while changing the view of the workbench 10 by operating a mouse cursor or the like, for example.
  • the position and orientation of the camera 20 as shown in FIG. 4 may be settable on the workbench setting screen section 2301.
  • the correction data setting screen section 2302 sets operation poses such as the approach pose and the detachment pose as shown in FIG. It has a GUI for setting correction data such as the trajectory or the operation limit range R20.
  • a side view of the coordinate system ⁇ w in the XZ plane is displayed, as in FIG. 20, for example.
  • the trajectory of the operation pose may be settable by the user operating a mouse cursor or the like in the area 2302b or the correction data editing screen section 2303, for example.
  • the trajectory of the set operation pose may be displayed on the area 2302b or the correction data editing screen section 2303 so that it can be confirmed.
  • the initial positions of the hand 5 and hand mechanism 6 of the teacher U1 in other words, the initial position of the trajectory of the pose, etc. may be settable.
  • the correction data editing screen section 2303 displays the details of the correction data that can be set in the correction data setting screen section 2302, such as the pose of the tip of the hand mechanism 6 of the target robot 2, for example, the pose of the finger mechanism 521 of the hand section 520 in FIG. It has a GUI that allows you to check and edit operations.
  • the pipette 8 is displayed on the correction data editing screen section 2303 using the finger mechanism 521 of the hand section 520 of the right hand mechanism 6R in accordance with the range R20 set on the correction data setting screen section 2302 and the trajectory of the operation pose.
  • the action of grasping or releasing is displayed as an animation or the like.
  • actions can be displayed as still images by specifying chronological times.
  • the contents of the teaching data generated by the system of the second embodiment can be displayed on a screen similar to that shown in FIG. 18 for confirmation.
  • setting information such as the threshold value can also be displayed on the screen, and the setting information can be displayed by the user. Enables confirmation and user settings.
  • a plurality of correction methods may be implemented as in each of the above-mentioned modifications, and in that case, the user may be able to select and set the correction method to be applied from among the plurality of correction methods on the screen.
  • the robot teaching method of the embodiment may be as follows.
  • the robot teaching method of the embodiment includes a workbench coordinate system, a coordinate system of a pose of a first marker installed on an object to be operated, a coordinate system of a pose of a second marker installed on a teacher's hand,
  • the method includes a step of calculating a teaching pose expressed in a workbench coordinate system by coordinate transformation based on the relationship with the coordinate system of the hand mechanism of the robot.
  • Robot teaching device robot teaching system
  • 2 Robot, 3 (3a, 3b, 3p).
  • Marker marker plate, hand side marker, first marker
  • Marker marker plate, tool side marker, second marker
  • 5 5L, 5R).
  • ..hand, 6 (6L, 6R).
  • hand mechanism 7 (7a, 7b).
  • test tube first tool
  • 8...pipette second tools, micropipette
  • U1... teacher operator, first user
  • U2... administrator second user
  • 9... end effector 10...

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

ロボットの知識が無い人であっても、人の通常動作をなるべく維持した作業実演によって、直観的かつ効率的にロボットへの作業動作の教示を可能とし、教示の事前調整工数低減や導入の容易化などを実現できる技術を提供する。ロボット教示方法は、教示者の手による被操作物の操作を含む作業動作の計測に基づいて、作業動作に対応させたロボットのハンド機構の動作を生成するための教示を行う方法であって、コンピュータシステムにより実行されるステップとして、作業動作の際に、被操作物のポーズを計測した第1計測ポーズ、および教示者の手のポーズを計測した第2計測ポーズを取得するステップと、教示者による被操作物の操作を検知するステップと、第1計測ポーズ、第2計測ポーズ、および検知された操作に基づいて、ロボット動作データを生成するための教示ポーズを生成するステップと、を有する。

Description

ロボット教示方法および装置
 本発明は、人の作業動作をロボットに教示するための技術に関する。
 人による作業、言い換えると作業動作は、例として、工場などにおいて、作業者が手によって道具を把持し、その道具を移動させて、その道具を離す、といった動作が挙げられる。作業動作は、把持や解放といった1つ以上の操作から構成される。操作は、腕を動かす、手首を動かす、指を動かす、といったより細かい動作や動きから構成される。そのような人の作業動作に対応させたロボットの動作を実現するために、人の作業動作を実演によってロボットに教示する技術が挙げられる。
 なお、説明上、対象となる作業/操作/動作などを行う主な部分を、人の「手」やロボットの「ハンド」として記載する場合がある。この記載は、広義の手を意味し、関節を含む人体やロボットにおける、肩、腕、手首、掌、指などを含めた総称として用いる。手が動くという場合、実際には、狭義の手と連動して腕なども動く。また、「ロボットのハンド」を「人の手」と区別する場合には、ハンド部、ハンド機構、把持部、把持機構などと記載する場合もある。
 従来技術例として以下が挙げられる。操作の被操作物の例として、被把持物である道具や部材などを対象とする。ロボットのアームの先端のハンドには、把持などの操作を可能とする機構を備える。システムは、被把持物を把持する人の手を、カメラ等によって検出し、手の位置および姿勢に対する被把持物の位置および姿勢を判定し、それらに対しロボットのハンドの位置および姿勢を対応付ける。これにより、システムは、人の作業動作に対応させたロボットのハンド等の動作のデータを生成する。
 先行技術例として、特開2021-167060号公報(特許文献1)が挙げられる。特許文献1には、「人間の実演によるロボット教示」として、「カメラからの画像を用いた人間の実演に基づいて操作を実施するようにロボットに教示する方法を提供する」旨、「この方法は、2Dカメラまたは3Dカメラが、ワークを把持して移動させる人間の手を検出し、手とワークの画像を分析して、手の姿勢および位置に等しいロボット把持部の姿勢および位置と、ワークの対応する位置および姿勢とを判定する教示段階を含み、次に、ワークの姿勢および位置に対する計算された把持部の姿勢および位置からロボットプログラミングコマンドを生成する」旨などが記載されている。
特開2021-167060号公報
 人が行っていた作業をロボットの動作によって代替させる場合、人の作業動作を、人とは体格や関節構造などの異なるロボットでも実行可能な動作に置き換えて教示する必要がある。このような作業教示には、導入や実施に多くの手間や時間、コストが掛かる。
 上記のような作業教示を効率化するために、特許文献1のように、人の作業動作などを、カメラ等を用いて検知し、人の作業動作をロボットの動作に変換して、作業動作を再現させる方法がある。
 しかしながら、特殊な場合を除いて、人の手などの関節や動きの構造と、ロボットのハンドなどの関節や動きの構造とは異なることが多い。そのため、それらの違いから、従来、教示のために人が作業動作を実演する場合には、実演者である人は、予め、ロボットのハンドなどの構造や制限などを考慮した上で、ロボットのハンドなどで可能な動作に近付くように、例えばまねるように、作業動作を行う必要がある。特許文献1の例では、ロボット把持部の形状や被把持物の形状に応じて、人が通常作業する際の手の姿勢を、ロボット把持部で再現しやすい姿勢に合わせるように変更する必要が生じる。しかし、その場合、作業動作の実演者には、ロボットの機構の知識などが要求され、作業実演の負担が大きく、効率的な教示が難しい。
 また、先行技術例のようなロボット教示方法は、カメラの画像を分析して、各部の位置および姿勢を判断する必要があるため、高度な画像解析処理や計算資源を必要とする場合があり、人の手とロボットのハンドとの対応関係を判定することが難しい場合がある。特許文献1の例では、作業の精度を担保するために、人の手の姿勢を高精度に認識し、認識結果をロボット把持部と対応付けする必要がある。この認識および対応付けのための事前調整には工数が掛かる。
 本開示の目的は、ロボット教示に係わる技術に関して、ロボットの知識が無い人であっても、人の通常動作をなるべく維持した作業実演によって、直観的かつ効率的にロボットへの作業動作の教示を可能とし、教示の事前調整工数低減や導入の容易化などを実現できる技術を提供することである。
 本開示のうち代表的な実施の形態は以下に示す構成を有する。実施の形態のロボット教示方法は、教示者の手による被操作物の操作を含む作業動作の計測に基づいて、前記作業動作に対応させたロボットのハンド機構の動作として関節変位のシーケンスを含むロボット動作データを生成するための教示を行うロボット教示方法であって、コンピュータシステムにより実行されるステップとして、前記作業動作の際の前記被操作物の位置および姿勢から成る時系列のポーズを計測した第1計測ポーズを取得するステップと、前記作業動作の際の前記教示者の手の位置および姿勢から成る時系列のポーズを計測した第2計測ポーズを取得するステップと、前記教示者による前記被操作物の前記操作を検知するステップと、前記第1計測ポーズ、前記第2計測ポーズ、および検知された前記操作に基づいて、前記ロボット動作データを生成するための教示ポーズを生成するステップと、を有する。
 本開示のうち代表的な実施の形態によれば、ロボット教示に係わる技術に関して、ロボットの知識が無い人であっても、人の通常動作をなるべく維持した作業実演によって、直観的かつ効率的にロボットへの作業動作の教示を可能とし、教示の事前調整工数低減や導入の容易化などを実現できる。上記した以外の課題、構成および効果等については、発明を実施するための形態において示される。
実施の形態1のロボット教示装置であるロボット教示システムの全体の構成概要を示す。 実施の形態1のロボット教示装置における制御装置の機能ブロック構成例を示す。 実施の形態1のロボット教示装置の制御装置を構成するコンピュータシステムの構成例を示す。 実施の形態1で、作業台に対するカメラなどの配置例を示す。 実施の形態1で、被把持物である試験管、および試験管に設置されるマーカープレートの構成例を示す。 実施の形態1で、被把持物であるピペット、およびピペットに設置されるマーカープレートの構成例を示す。 実施の形態1で、教示者の右手に装着されるマーカープレートの構成例を示す。 実施の形態1で、教示者の左手に装着されるマーカープレートの構成例を示す。 実施の形態1で、ロボットのハンド機構のハンド部が試験管を把持している状態の斜視図を示す。 実施の形態1で、ハンド部が試験管を把持している状態の側面図を示す。 実施の形態1で、ハンド部が試験管を把持している状態の上面図を示す。 実施の形態1で、ハンド部が試験管を把持している状態の上面図での、試験管のマーカーの座標系とハンド部の座標系との関係を示す説明図である。 実施の形態1で、教示者の手が試験管を把持している状態の上面図での、左手のマーカーの座標系とハンド部の座標系との関係を示す説明図である。 実施の形態1で、教示者の作業動作の例として、左手把持操作や右手把持操作を示す。 実施の形態1で、教示者の作業動作の例として、右手のピペットが左手の試験管に近付いた状態を示す。 実施の形態1のロボット教示方法および装置での処理フローを示す。 実施の形態1で、第1計測ポーズ、第2計測ポーズなどのグラフを示す。 実施の形態1で、誤差に係わる補正の前後のポーズのグラフを示す。 実施の形態1で、生成された教示ポーズについてのグラフを示す。 実施の形態1の変形例1Aにおける、ポーズの補正のグラフを示す。 実施の形態1の変形例1Bにおける、ポーズの補正前のグラフを示す。 実施の形態1の変形例1Bにおける、ポーズの補正後のグラフを示す。 実施の形態1の変形例1Cにおける、ポーズの補正のグラフを示す。 実施の形態1の変形例1Dにおける、ポーズの補正のグラフを示す。 実施の形態1で、GUI含む画面の表示例を示す。 実施の形態2のロボット教示方法および装置における、作業台上のホルダにピペットが設置されている状態の例を示す。 実施の形態2で、ロボットのハンド機構のハンド部がホルダのピペットを把持する動作の際の、制限に対応した補正領域の設定内容の例を示す。 実施の形態2で、第1計測ポーズ、第2計測ポーズなどのグラフを示す。 実施の形態2で、操作制限に係わる補正についてのグラフを示す。 実施の形態2で、生成された教示ポーズのグラフを示す。 実施の形態2の変形例2Aにおける、ポーズの補正のグラフを示す。 実施の形態2の変形例2Bにおける、ポーズの補正のグラフを示す。 実施の形態2の変形例2Cにおける、ポーズの補正のグラフを示す。 実施の形態2で、GUIを含む画面の表示例を示す。
 以下、図面を参照しながら本開示の実施の形態を詳細に説明する。図面において、同一部には原則として同一符号を付し、繰り返しの説明を省略する。図面において、構成要素の表現は、理解を容易にするために、実際の位置、大きさ、形状、範囲等を表していない場合がある。同様の構成要素が複数あって各構成要素を区別して説明する場合には、上位概念を示す符合の末尾にアルファベット等を付加して表現する場合がある。
 説明上、プログラムによる処理について説明する場合に、プログラムや機能や処理部等を主体として説明する場合があるが、それらについてのハードウェアとしての主体は、プロセッサ、あるいはそのプロセッサ等で構成されるコントローラ、装置、計算機、システム等である。計算機は、プロセッサによって、適宜にメモリや通信インタフェース等の資源を用いながら、メモリ上に読み出されたプログラムに従った処理を実行する。これにより、所定の機能や処理部等が実現される。プロセッサは、例えばCPU/MPUやGPU等の半導体デバイス等で構成される。処理は、ソフトウェアプログラム処理に限らず、専用回路でも実装可能である。専用回路は、FPGA、ASIC、CPLD等が適用可能である。
 プログラムは、対象計算機に予めデータとしてインストールされていてもよいし、プログラムソースから対象計算機にデータとして配布されてもよい。プログラムソースは、通信網上のプログラム配布サーバでもよいし、非一過性のコンピュータ読み取り可能な記憶媒体、例えばメモリカードやディスクでもよい。プログラムは、複数のモジュールから構成されてもよい。コンピュータシステムは、複数台の装置によって構成されてもよい。コンピュータシステムは、クライアントサーバシステム、クラウドコンピューティングシステム、IoTシステム等で構成されてもよい。各種のデータや情報は、例えばテーブルやリスト等の構造で構成されるが、これに限定されない。識別情報、識別子、ID、名前、番号等の表現は互いに置換可能である。
 <解決手段等>
 実施の形態のロボット教示方法および装置は、以下のような構成を有する。実施の形態のロボット教示方法は、人の手などによる被操作物の操作を含む作業動作を、被操作物の操作が可能なハンド機構などの機構を備えるロボットに教示する方法である。この方法は、カメラ、センサまたは計測装置を用いて、対象物についての時系列上の位置および姿勢から成るポーズを計測または検出可能とする。対象物は、人の手、被操作物である道具や部材、または、それらに装着されたマーカー等である。位置とは、例えば3次元座標系空間内の位置座標であり、姿勢とは、例えば3次元座標系の各軸の向きである。ポーズとは、時系列上の時点ごとの位置および姿勢をつなげた軌跡である。
 実施の形態のロボット教示方法は、計測対象のポーズとして、道具などの被操作物のポーズである第1ポーズと、教示者の手のポーズである第2ポーズと、を計測するステップを有する。第1ポーズは道具側ポーズなどと記載する場合もある。第2ポーズは手側ポーズなどと記載する場合もある。これらのステップは、より詳しくは、被操作物に設置された第1マーカーのポーズを計測して第1計測ポーズとして得るステップと、手に設置された第2マーカーのポーズを計測して第2計測ポーズとして得るステップとにすることができる。
 実施の形態のロボット教示方法は、上記第1ポーズおよび第2ポーズに基づいて、ロボットの動作を生成するために作業動作を教示するためのポーズである教示ポーズ、言い換えると教示データを生成するステップを有する。
 実施の形態のロボット教示方法は、管理者または教示者による作業実演の開始などの教示指示に基づいて、計測や生成の処理を開始するステップや、管理者または教示者による作業実演の完了などの教示指示に基づいて、計測や生成の処理を終了するステップを有する。
 実施の形態のロボット教示方法は、教示者による被操作物に対する操作を検知するステップ、より具体的には、教示者による操作指示を検知するステップを有する。教示者は、作業実演を開始後、作業動作の途中に適宜に操作指示を入力してもよい。この操作指示は、教示者が、「被操作物に対する把持や解放といった操作を現在実行中であること、または実行したこと」をシステムに伝えるための入力である。操作指示の入力は、例えば指示用入力装置を用いてもよい。あるいは、実施の形態のロボット教示装置が、カメラの画像などから、その操作を検知してもよい。
 実施の形態のロボット教示方法における上記教示データを生成するステップは、上記操作の検知に応じて、第1ポーズ、および第2ポーズに基づいて、教示ポーズを生成するステップである。
 実施の形態のロボット教示方法は、上記生成された教示ポーズに基づいて、ロボットの動作を生成するステップを有する。このステップは、より具体的には、ロボットに動作をさせるための関節変位のシーケンスを含むロボット動作データを、生成するステップである。
 さらに、実施の形態のロボット教示方法は、上記教示データを生成するステップにおいて、教示者による被操作物に対する操作の際の、道具側の第1マーカーの第1計測ポーズと、手側の第2マーカーの第2計測ポーズとの誤差を判定するステップを有する。そして、この方法は、その誤差を用いて、第1計測データおよび第2計測データを補正することで、教示データを生成するステップを有する。
 他の実施の形態のロボット教示方法は、ロボットのハンド機構などの構造と、道具などの被操作物の形状などの構造と、それらに対応した制限が考慮された補正データと、第1ポーズおよび第2ポーズとに基づいて、その制限を満たすように被操作物の操作を可能とするポーズとしての操作ポーズを生成するステップを有する。この方法は、その操作ポーズを用いて、教示ポーズのうちの対応する一部を置換または修正することで、教示データを生成するステップを有する。
 上記ロボットのハンド機構などの構造とは、アームの先端に取り付けられて被操作物を操作可能とする機構、例えばエンドエフェクタとしての把持機構などの構造であり、実装に応じて様々である。上記道具などの被操作物の形状などの構造とは、例えばピペットや試験管などの構造であり、実装に応じて様々である。上記制限とは、例えばハンド機構がピペットなどの部位に対して把持などの操作のためにアクセスや移動する際に、許容される方向や位置や距離や速度や力などに関する制限である。
 <実施の形態1>
 図1~図18を用いて、本開示の実施の形態1のロボット教示方法および装置について説明する。実施の形態1のロボット教示方法は、実施の形態1のロボット教示装置により行われるステップを有する方法である。実施の形態1のロボット教示装置は、少なくとも計算機を備えるシステムである。
 [ロボット教示システム]
 図1は、実施の形態1のロボット教示装置1であるロボット教示システム1の全体の構成概要を示す。このロボット教示システム1は、人である作業者U1の作業動作をロボット2に教示するための装置やシステムである。作業者U1を、第1ユーザ、教示者などと記載する場合もある。このような教示を、作業教示などと記載する場合もある。ロボット教示システム1は、ロボット教示制御装置100を備える。ロボット教示制御装置100を単に制御装置と記載する場合もある。
 作業動作は、教示対象となる所定の作業を構成する動作である。対象となる所定の作業は、作業者U1が、手5として少なくとも片手を用いて、手5によって所定の道具や部材を操作して実現する作業である。作業動作および操作の例としては、一方の手5として左手5Lまたは右手5Rによって例えば試験管7などの道具を把持する動作やその道具を離す動作が挙げられる。被操作物、特に被把持物である道具の例が、試験管7やピペット8である。なお、教示の際、試験管7などの道具として実物ではなく模型を用いてもよい。
 実施の形態1の方法および装置では、教示者である作業者U1が、被操作物である道具を操作する作業を、ロボット2に教示する例を説明する。その例として、作業台10上において、左手5Lによって試験管7を把持する作業動作を教示する例について主に説明する。なお、図1では、その例のみならず、右手5Rにピペット8を把持する例についても図示している。試験管7は、物質が収容される管である。ピペット8は、試験管7内からの物質の吸引や試験管7内への物質の吐出が可能なマイクロピペットである。
 作業台10には、後述の図4にも示すが、作業台座標系である座標系Σwが設定されている。道具や手5などの各部のポーズは、この座標系Σwにおける位置および姿勢として表現される。また、作業台10の面上には、例として、ピペット8を保持するホルダ81、言い換えるとピペット台や、試験管7を保持するホルダ71、言い換えると試験管台なども有する。なお、作業者U1の手5として左手5Lおよび右手5Rは、特に限定しない場合には、前腕から指先までを含む総称である。
 ロボット教示システム1は、制御装置100と、作業台10に設置されたカメラ20{20a,20b,20c,20d}と、試験管7(7a,7b)に設置されたマーカー3(3a,3b)と、ピペット8に設置されたマーカー3(3p)と、教示者U1の手5(5L,5R)に装着されたマーカー4(4L,4R)とを有する。
 制御装置100には、入出力装置120などが外部接続されている。なお、制御装置100に入出力装置120などが内蔵されていてもよい。入出力装置120は、制御装置100の演算処理に係わる設定や指示などの入力や、演算処理に係わる状態や結果などのデータ・情報の出力を行う装置である。
 カメラ20(20a~20d)は、図2のモーションキャプチャシステム200を構成するカメラなどのデバイスである。なお、カメラ20をセンサや計測装置などに置き換えても構わない。モーションキャプチャシステム200については、少なくともカメラ20を有するが、詳細を限定せず、プロセッサや回路などの他の構成要素があってもよい。例えば、モーションキャプチャシステム200は、プロセッサがカメラ20の画像を処理することで検出した結果のデータ・情報を記憶および出力してもよい。
 本例では、道具側の第1マーカーであるマーカー3として、マーカー3a,3b,3pを有する。マーカー3aおよびマーカー3bは、教示者U1およびロボット2の被操作物であり第1の道具である試験管7(7a,7b)に設置されたマーカープレートである。マーカー3pは、同様に、教示者U1およびロボット2の被操作物であり第2の道具であるピペット8に設置されたマーカープレートである。なお、道具側のマーカー3は、手5やハンド機構6による把持などの操作を妨げないような位置に設置される。
 また、本例では、手5側の第2マーカーであるマーカー4として、マーカー4L,4Rを有する。マーカー4(4L,4R)は、教示者U1の手5として左手5Lおよび右手5Rに装着されたそれぞれのマーカープレートである。なお、手5側のマーカー4は、例えば、手首を用いた動作を妨げないような位置として、前腕のうちの手首の手前の付近に設置される。道具側と手側とを区別する場合に、道具側を第1、手側を第2として記載する場合がある。
 ロボット2は、対象物の把持などの操作と、可動範囲内での任意の位置および姿勢への位置決めとが可能な双腕の機構としてのハンド機構6(6L,6R)などを備えるロボットである。また、ロボット2は、頭部の目にあたる部分にステレオカメラ30を備える。ロボット2は、首に関節軸を備え、ステレオカメラ30を作業台10の任意の方向に向けることができる。ロボット2は、ステレオカメラ30による撮影および測距に基づいて、視界の物体を検出・認識できる。また、ロボット2は、例えば図示しない無人搬送車上に設置されており、予め作成された部屋の地図を用いて、部屋内を移動して、作業台10の前に自律移動できる。
 ロボット2は、少なくとも、人の手として、前腕、肘、手首、掌、指等の部位および関節機構を含む部分に対応付けられた機構を有し、この機構を総称してハンド機構6とする。ハンド機構6(6L,6R)は、先端にエンドエフェクタ9(9L,9R)を有する。
 ロボット2は、ロボット教示制御装置100によって制御される。ロボット教示制御装置100は、教示機能100Fによって生成したロボット動作データに基づいて、ロボット2の動作を制御する。なお、これに限らず、ロボット教示制御装置100とは別に、ロボット2に専用の制御装置を備えていてもよい。その場合、その専用の制御装置が、ロボット教示制御装置100からのロボット動作データに基づいて、ロボット2の動作を制御する。
 なお、実施の形態1の例では、このような双腕を備える1台のロボット2に、人の片手を用いた作業動作を教示する例を主に説明する。これに限らず、実施の形態での教示は、複数台の双腕ロボット、あるいは1台または複数台の単腕ロボットを対象とした場合にも、同様に適用可能である。複数台の単腕ロボットや双腕ロボットを用いる場合に、それぞれのロボットが異なる種類のロボット、例えば異なる機構を持つロボットであってもよい。また、実施の形態での教示は、左手5Lまたは右手5Rによる片手の作業動作に限らず、両手を用いた作業動作にも、同様に適用可能である。また、実施の形態での教示は、道具の例として試験管7やピペット8を用いた、操作の例として把持を含む作業動作に限らず、他の道具を用いた他の操作にも、同様に適用可能である。
 ロボット教示制御装置100は、主な機能として、教示機能100Fを有する。教示機能100Fは、プロセッサの処理などにより実現される。教示機能100Fは、概要としては、図示のように、作業動作に係わるポーズ計測と、作業動作に係わる教示データの生成と、ロボット動作データの生成とを行う機能を含んでいる。
 [ロボット教示制御装置]
 図2は、図1のうちのロボット教示制御装置100についての機能ブロック構成例を示す。制御装置100は、入出力の構成要素としては、モーションキャプチャシステム200と、指示用入力装置300と、入出力装置120とを有する。制御装置100は、例えば一般的なPCまたはサーバなどの計算機を用いて実装可能であるが、これに限定しない。
 制御装置100は、内部の機能ブロックとしては、ポーズ計測部101、第1計測ポーズ格納部102、第2計測ポーズ格納部103、操作指示検知部104、教示指示検知部105、補正データ格納部106、教示データ生成部107、教示データ格納部108、ロボット動作生成部109、ロボット動作データ格納部110、ロボット動作実行部111、および操作ポーズ生成部112を有する。なお、実施の形態1では操作ポーズ生成部112を用いず、後述の実施の形態2で操作ポーズ生成部112を用いる。
 ポーズ計測部101は、前述のマーカー3,4に基づいて、モーションキャプチャシステム200のカメラ20(20a~20d)によって撮像された画像から、人の手5側および道具側のそれぞれのマーカーおよび対応物についての三次元空間での位置および姿勢を、時系列のポーズとして計測する。ポーズ計測部101は、道具側の第1マーカーであるマーカー3の各マーカー3a,3b,3pのポーズを、第1計測ポーズとして計測する。また、ポーズ計測部101は、作業者U1の手5側の第2マーカーであるマーカー4の各マーカー4L,4Rのポーズを、第2計測ポーズとして計測する。
 第1計測ポーズ格納部102は、ポーズ計測部101の指令に基づいて、第1計測ポーズのデータを格納する。第2計測ポーズ格納部103は、ポーズ計測部101の指令に基づいて、第2計測ポーズのデータを格納する。なお、各種のデータ格納部、言い換えると記憶部は、制御装置100内のメモリ等の利用に限らずに、制御装置100に対する外部記憶装置などを利用して実現されてもよい。
 操作指示検知部104は、教示者U1による教示作業中に、ポーズ計測部101の計測と同期して、教示者U1による所定の操作、言い換えると操作指示を検知する。この操作指示は、教示者U1が主体的、意識的に入力を行うものである。この所定の操作は、例えば被把持物である道具として試験管7やピペット8の把持の操作や解放の操作であり、それに対応する操作指示は、その把持操作を伝える把持操作指示や解放操作を伝える解放操作指示である。
 操作指示検知部104は、例えば指示用入力装置300を用いた教示者U1による操作指示の入力を検出する。指示用入力装置300は、図1では示していないが、例えば、教示者U1の手指に装着された感圧スイッチ、教示者U1が足元で操作するフットスイッチ、教示者U1の音声を入力するマイクロフォンや音声認識装置などの、各種の入力デバイスを用いてもよい。指示用入力装置300は、教示者U1による作業動作を妨げないものであれば、他の任意の入力手段を用いてもよい。
 また、操作指示検知部104は、指示用入力装置300を用いた入力・検出に限らずに、ポーズ計測部101での入力画像や計測結果に基づいて、自動的に、所定の操作を判断・検知してもよい。例えば、操作指示検知部104は、ポーズ計測部101で計測された被把持物の第1計測ポーズの変動や手5側の第2計測ポーズの変動や、第1計測ポーズまたは第2計測ポーズが一定時間以上変動しない状態などの判断を以って、把持操作を検知してもよい。
 実施の形態1の例では、教示や操作指示検知の対象となる操作を、主に把持操作として説明するが、これに限らず、他の操作として、例えば押す操作、引く操作、回す操作などを対象とする場合にも、同様に適用可能である。
 教示指示検知部105は、教示者U1による教示作業の作業中に、ポーズ計測部101の計測と同期して、教示作業の開始指示や完了指示、教示作業内容の登録指示、作業状態の確認指示などの各種の教示指示を、教示指示として検知する。教示指示は、制御装置100に対する処理の指示であり、開始指示、完了指示、一時停止指示、設定指示、表示指示などが挙げられる。これらの教示指示は、教示者である作業者U1が入力してもよいし、別の管理者U2が入力してもよい。作業者U1は、教示指示を、指示用入力装置300を用いて入力してもよい。作業者U1や管理者U2は、教示指示を、入出力装置120を用いて入力してもよい。教示作業の一例としては、管理者U2が開始指示を入力し、教示作業の開始後に、作業者U1が適宜に操作指示を入力しながら教示作業を行い、最後に管理者U2が完了指示を入力することで教示作業を終了させる。
 また、教示指示検知部105は、作業者U1や管理者U2による教示指示の入力の検知に限らずに、ポーズ計測部101での入力画像や計測結果に基づいて、自動的に、教示指示を判断・検知してもよい。
 教示データ生成部107は、第1計測ポーズと第2計測ポーズとの両方に基づいて生成され、ロボットの動作を生成するためのポーズである、教示ポーズを生成する。教示データ生成部107は、第1計測ポーズ、第2計測ポーズ、操作指示、教示指示、および補正データに基づいて、教示ポーズを生成し、教示ポーズ格納部108に格納する。
 補正データ格納部106は、計測ポーズや教示ポーズに対し、位置および姿勢を補正演算するためのデータである補正データを格納する。制御装置100は、予め、補正データを設定して補正データ格納部106に格納する。補正データは、言い換えると補正用設定情報である。実施の形態1での補正データは、後述の座標変換のためのデータや、誤差に係わる補正のためのデータが挙げられる。
 教示データ生成部107は、教示指示として開始指示に従って、教示ポーズの生成を含む教示処理を開始する。教示データ生成部107は、教示指示として完了指示に従って、教示ポーズの生成を含む教示処理を終了する。
 教示データ生成部107は、第1計測ポーズ格納部102に格納された第1計測ポーズと、第2計測ポーズ格納部103に格納された第2計測ポーズとを取得し、操作指示検知部104で検知された操作指示、例えば把持操作指示のタイミングおよび内容に応じて、第1計測ポーズと第2計測ポーズとから一方あるいは両方を選択すること、あるいはそれらのデータを処理することにより、教示ポーズを生成する。さらに、その際に、教示データ生成部107は、補正データ格納部106に格納されている補正データを取得し、補正データに基づいて、生成された教示ポーズのうちの位置および姿勢を補正演算することで、補正後の教示ポーズを生成する。
 教示データ生成部107は、例えば、計測ポーズに基づいた教示ポーズのデータに対し、時系列上で、操作指示検知部104で検知した操作指示の情報と、教示指示検知部105で検知した教示指示の情報とをタイミングが同期するように関連付けた形式として、教示データを生成する。
 教示データ格納部108は、教示データ生成部107の指令に基づいて、生成された教示データを格納する。教示データ格納部108は、教示データ生成部107によって生成された教示ポーズと、教示ポーズに同期した操作指示および教示指示とを有するデータを、教示データとして格納する。
 ロボット動作生成部109は、教示データ格納部108に格納された教示データに基づいて、操作指示検知部104で検知された操作指示のタイミングに同期して、操作の内容に応じた、ロボット2のハンド機構6などの動作のためのロボット動作データを生成する。このロボット動作データは、ロボット2のハンド機構6などの関節変位のシーケンスと、その関節変位のシーケンスに同期したハンド機構6などの動作のための動作指令などとを含むデータである。ハンド機構6などの動作は、例えば把持のためのエンドエフェクタ9の開閉などの動作が挙げられる。ロボット動作データは、例えばロボット2に与えられる所定の形式の動作指令、言い換えると操作指令やコマンドなどのデータとして構成される。
 本例では、ロボット動作データは、教示データからの変換によって生成できるが、これに限らずに、例えば教示データ生成部107とロボット動作生成部109とを1つにし、計測ポーズなどから教示データとして直接的にロボット動作データを生成する構成としてもよい。
 ロボット動作データ格納部110は、ロボット動作生成部109によって生成されたロボット動作データを格納する。ロボット動作実行部111は、例えば管理者U2による指示に応じた時に、ロボット動作データ格納部110に格納されたロボット動作データの内容に従って、ロボット2を駆動させることで、教示された作業動作に対応したロボット2の動作を実行させる。
 [コンピュータシステム]
 図3は、図2のロボット教示制御装置100の実装例としてのコンピュータシステムの構成例を示す。制御装置100を構成する図3のコンピュータシステムは、少なくとも計算機1000を有する。計算機1000は、プロセッサ1001、メモリ1002、通信インタフェース装置1003、入出力インタフェース装置1004などを備える。それらの構成要素は、バスに接続され、相互に通信可能である。計算機1000には、入出力インタフェース装置1004を通じて、前述の入出力装置120に対応した、入力装置1005や出力装置1006が外部接続されている。なお、計算機1000に入力装置1005や出力装置1006が内蔵されていてもよい。
 プロセッサ1001は、CPUまたはMPU、あるいはGPUなどの半導体デバイスによって構成される。プロセッサ1001は、ROMやRAM、各種周辺機能などを備える。プロセッサ1001は、メモリ1002の制御プログラム1011に従った処理を実行する。これにより、教示機能100Fなどの機能が実現される。教示機能100Fは、図1に概要を示した通りであるが、教示者U1の作業実演の検知・計測に基づいてロボット2に作業動作を教示する機能、言い換えると、作業教示に対応させたロボット動作データを生成する機能や、それらに係わる管理および制御を行う機能などである。
 メモリ1002には、制御プログラム1011、設定情報1012、画像データ1013、処理データ1014や、後述の各種のデータが記憶される。制御プログラム1011は、プロセッサ1001に処理を実行させることで各機能を実現するためのプログラムである。設定情報1012は、各機能のシステム設定情報やユーザ設定情報である。画像データ1013は、図1のカメラ20から取得される画像などのデータである。処理データ1014は、各機能の処理過程で発生するデータである。
 通信インタフェース装置1003または入出力インタフェース装置1004は、図2のカメラ20を含むモーションキャプチャシステム200と、指示用入力装置300と、LANなどの通信網に接続される場合にはその通信網と、を含む各部との通信インタフェースなどが実装されている装置である。入出力インタフェース装置1004には、入出力装置120に対応する入力装置1005や出力装置1006が外部接続されている。入力装置1005は例えばキーボードやマウスが挙げられる。出力装置1006は例えばディスプレイやプリンタが挙げられる。
 また、計算機1000に対し、通信インタフェース等を介して、外部記憶装置、例えばメモリカードやディスクなどが接続されてもよいし、LANなどの通信網を介して、外部装置としてサーバ装置などが接続されてもよい。計算機1000は、外部記憶装置やサーバ装置等に対し適宜にデータ・情報を読み書きしてもよい。
 ユーザは、入力装置1005の入力操作や、出力装置1006の画面表示等を通じて、制御装置100を利用する。ユーザは、図1での教示者U1と同じ人としてもよいし、その教示者U1とは別の人として、ロボット教示システム1の管理者U2などの人でもよい。また、管理者U2などのユーザは、別のクライアント端末から通信を通じて制御装置1000にアクセスして制御装置1000を利用してもよい。すなわち、クライアント・サーバ方式で制御装置1000の機能が利用されてもよい。また、制御装置1000の機能に係わる処理は、ほぼリアルタイムで行うオンライン方式としてもよいし、必要なデータ・情報を一旦取得・保存してから後で行うオフライン方式としてもよい。
 なお、クライアント・サーバ方式で利用する場合、例えば以下のように実現できる。ユーザは、クライアント端末から制御装置1000のサーバ機能にアクセスする。制御装置1000のサーバ機能は、例えばグラフィカル・ユーザ・インタフェース(GUI)を含むWebページ等のデータをクライアント端末に送信する。クライアント端末は、受信したデータに基づいて、ディスプレイにWebページ等を表示する。ユーザは、そのWebページ等を見て、機能に係わる情報を確認し、必要に応じて設定や指示を入力する。クライアント端末は、ユーザが入力した情報を制御装置1000に送信する。制御装置1000は、ユーザが入力した情報に基づいて、機能に係わる処理を実行し、結果を保存する。制御装置1000は、処理結果等を含むWebページ等のデータを、クライアント端末に送信する。クライアント端末は、処理結果等を含むWebページを、ディスプレイに表示する。ユーザは、その処理結果等を見て確認する。
 [作業台およびカメラ]
 図4は、作業台10とカメラ20との配置関係を示し、作業台10の上面である水平面を鉛直方向で上から見た模式図を示す。カメラ20として、4台のカメラである、カメラ20a,20b,20c,20dは、図示のように、異なる位置において、作業台10上を向く方向で設置されている。視野21a~21dは、それぞれのカメラ20a~20dの撮影の視野範囲を示す。図示する座標系Σwである作業台座標系は、作業台10の面を基準とした3次元空間座標系であり、水平面を構成する直交する2軸をX軸-Y軸とし、それらに直交する鉛直方向をZ軸としている。座標系Σwの原点は、図4のように作業台10の上面での所定の位置に設定されるが、これに限定されない。
 カメラ20(20a~20d)は、作業台10の上面に置かれた道具、または作業者U1の手に持たれる道具として、試験管7やピペット8に設置された、第1マーカーであるマーカー3(3a,3b,3p)を含む範囲を撮影し、また、作業者U1の手5側に設置された、第2マーカーであるマーカー4(4L,4R)を含む範囲を撮影する。ポーズ計測部101は、それらのカメラ20の画像に基づいて、第1マーカーのポーズを計測し、第2マーカーのポーズを計測する。
 カメラ20(20a~20d)は、それらのマーカー3,4の計測のために、作業台10を挟んで教示者U1と反対側の位置に、光軸が教示者U1および道具の方を向いて、設置されている。また、カメラ20(20a~20d)は、各々の視野21a~21dが重なり合いながら、作業台10の上面全体を殆ど覆うように、位置をずらして設置されている。
 作業台10に対しカメラ20(20a~20d)が設置された後、それらのカメラ20によって、図示しないが、配置が既知である反射マーカーを複数回撮像することにより、モーションキャプチャシステム200のキャリブレーションが実行される。キャリブレーションに基づいて、モーションキャプチャシステム200による計測時の座標系となる座標系Σwが設定される。モーションキャプチャシステム200に基づいて計測されるポーズは、この作業台座標系である座標系Σwを基準として表現される。制御装置100のポーズ計測部101などは、この座標系Σwに基づいて処理を行う。
 また、作業台10の上面には、ロボット2のステレオカメラ30用のマーカー31を備える。図4では3点のマーカー31を示しており、予め配置が決められている。制御装置100には、ステレオカメラ30用のマーカー31の配置が予め登録されている。ロボット2が作業台10の前で動作する場合、ロボット2は、ステレオカメラ30によってマーカー31を測定することで、ロボット2と座標系Σwとの位置関係を把握できる。
 [道具および第1マーカー]
 図5は、第1の道具の例としての試験管7、および試験管7に設置された第1マーカーであるマーカー3aについての斜視図を示す。図6は、第2の道具の例としてのピペット8、およびピペット8に設置された第1マーカーであるマーカー3pについての斜視図を示す。
 マーカー3は、モーションキャプチャシステム200のカメラ20によって検出するためのマーカープレートである。マーカー3は、特定の方式に限定せずに、各種の方式が適用可能であり、実施の形態1では一例を示す。本例でのマーカー3は、矩形の平板の面において、マーカー3ごとに固有のIDなどを検出可能となるように、例えば4点の反射マーカーであるマーカー点が固有のパターンで形成されている。マーカー3ごとに、異なるパターンでマーカー点が形成されている。マーカー点を第1反射マーカーとも記載する。本例では、矩形の平板の面において、5×5の候補箇所のうちの4個の位置にマーカー点が形成されている。図5でのマーカー3aには、4点のマーカー点P31~P34が形成されている。図6でのマーカー3pには、4点のマーカー点P35~P38が形成されている。
 図5の試験管7aには、上部に所定のアタッチメント72aが取り付けられており、そのアタッチメント72aに対しマーカー3aが取り付けられている。このアタッチメント72aは、作業者U1の手5やロボット2のアームのハンド機構6がこの試験管7aという特定の形状などを有する道具を把持等操作すること、および、この道具にマーカー3aを好適に設置すること等を考慮して構成されている部品である。
 図6のピペット8には、上部に所定のアタッチメント82が取り付けられており、そのアタッチメント82に対しマーカー3pが取り付けられている。このアタッチメント82は、作業者U1の手5やロボット2のアームのハンド機構6がこのピペット8という特定の形状などを有する道具を把持等操作すること、および、この道具にマーカー3pを好適に設置すること等を考慮して構成されている部品である。
 また、道具に対するアタッチメント72,82を介したマーカー3の装備は、作業者U1の手5とロボット2のハンド機構6とで道具の同じ箇所を操作することを考慮して設計されている。また、本例ではアタッチメント72,82は、道具の径に合わせて径を挟んで支持する概略的にリングの構造を有し、そのリングの一箇所にマーカー3の平板が固定される構造を有する。
 図5や図6でのアタッチメント72,82およびマーカー3は、それぞれ、概略的に棒状の道具である試験管7やピペット8の側面の一箇所にマーカー3の平板が固定され、マーカー3の平板の面垂直方向の軸として図示のZ軸が、道具の側面の一箇所に対し垂直な方向となるように構成されている。
 制御装置100は、カメラ20の画像から例えばマーカー3aの4点の反射マーカーであるマーカー点P31~P34を検出することで、そのマーカー3aの固有のIDと、3次元空間内での位置および姿勢とを特定可能である。そして、マーカー3aのID、位置および姿勢が特定されることで、そのマーカー3aに対応付けられた道具である試験管7aのID、位置および姿勢が特定可能である。このような作用は、ピペット8のマーカー3pにおけるマーカー点P35~P38についても同様である。このような作用は、後述の作業者U1の手5側に装着されるマーカー4についても同様である。
 本例では、各マーカー3における4点のマーカー点は、上下左右非対称に配置されている。言い換えると、各マーカー3における4点のマーカー点は、図示のマーカープレート座標系である座標系ΣTLMにおいて、X,Y,Zの各軸に対し、非対称に配置されている。この配置は、カメラ20の画像から、4点のマーカー点を、言い換えるとそのマーカー点が形成する図像を、一意に検出できる配置である。
 各々の第1マーカーであるマーカー3(3a,3b)には、マーカープレート座標系として座標系ΣTLMが設定されている。座標系ΣTLMにおけるX,Y,Zの3軸は、矩形の平板の面を構成する直交する2軸であるX軸およびY軸と、それらのX-Y面に対し垂直であるZ軸とを有する。第1マーカーの座標系ΣTLMを第1マーカープレート座標系とも記載する。
 制御装置100は、図5のマーカー3aの4点の反射マーカーP31~P34の配置パターンと、マーカー3aの座標系ΣTLMとの位置関係を、予め登録する。同様に、制御装置100は、図6のマーカー3pの4点の反射マーカーP35~P38の配置パターンと、マーカー3pの座標系ΣTLMとの位置関係を、予め登録する。図2のポーズ計測部101は、それらの登録された位置関係に基づいて、図4の作業台座標系である座標系Σwを基準とした、各マーカー3の座標系ΣTLMのポーズとして位置および姿勢を計測する。マーカー3の位置は、例えば座標系ΣTLMでの原点OTLMを代表として用いてもよい。マーカー3の姿勢は、X,Y,Zの各軸の向きで表現できる。
 図5の試験管7aとマーカー3aとの間は、アタッチメント72aを介して固定されており、試験管7aとマーカー3aとの間の所定の位置・姿勢の関係が維持される。図6のピペット8とマーカー3pとの間は、アタッチメント82を介して固定されており、ピペット8とマーカー3pとの所定の位置・姿勢の関係が維持される。これにより、教示作業中に、被操作物である道具とマーカー3との位置・姿勢の関係が変化しないようにされる。
 アタッチメント72,82は、試験管7やピペット8などの道具に対し、マーカー3の反射マーカーを、モーションキャプチャシステム200のカメラ20によって計測しやすい位置および角度に固定する。かつ、アタッチメント72,82は、道具に対しマーカー3を着脱可能な構成とする。かつ、アタッチメント72,82は、教示者U1やハンド機構が道具を把持等操作する際に妨げとならない形状などの構成を有する。
 [手側の第2マーカー]
 図7Aおよび図7Bは、作業者U1の手5側に装着される第2マーカーであるマーカー4についての斜視図であり、図7Aは右手5R側のマーカー4R、図7Bは左手5L側のマーカー4Lを示す。実施の形態1の例では、第2マーカーであるマーカー4は、人の前腕のうちの手首の手前付近に装着するための構成を有し、具体的にはリストバンドのようなアタッチメント92を有する。図7Aのマーカー4Rは、アタッチメント92Rを有する。図7Bのマーカー4Lは、アタッチメント92Lを有する。
 図7Aで、右手5R側に装着されるマーカー4Rは、アタッチメント92Rの側面の一箇所に取り付けられている。マーカー4は、道具側のマーカー3と同様に、矩形の平板を有する。図7Aのマーカー4Rの平板の面には、4点の反射マーカーであるマーカー点P41~44が形成されている。図7Bのマーカー4Lの平板の面には、4点の反射マーカーであるマーカー点P45~48が形成されている。各マーカー4の4点の反射マーカーは、マーカー4ごとにID、位置および姿勢を検出できるように、上下左右非対称に配置され、固有のパターンを有する。
 実施の形態1の例では、マーカー4は、リストバンドのようなアタッチメント92を用いて、前腕のうち手首手前付近の箇所に装着・固定される。この箇所は手首自体ではない。説明上、この箇所を、手首部と記載する場合もある。このマーカー4およびアタッチメント92の構成は、教示作業中に作業者U1の手5に対するマーカー4の位置・姿勢の関係が変動しないように固定されること、かつ、カメラ20によってマーカー4のマーカー点を検出しやすいこと、かつ、作業動作における把持等操作を妨げないこと等を考慮して設計されている。
 各マーカー4には、第2マーカープレート座標系として座標系ΣPRMや座標系ΣPLMが設定されている。図7Aのマーカー4Rは、座標系ΣPRMが設定されている。図7Bのマーカー4Lは、座標系ΣPLMが設定されている。座標系ΣPRM,ΣPLMにおけるX,Y,Zの3軸は、矩形の平板の面を構成する直交する2軸であるX軸およびY軸と、それらのX-Y面に対し垂直であるZ軸とを有する。
 制御装置100は、マーカー4Rの4点の反射マーカーP41~P44の配置パターンと、座標系PRMとの位置・姿勢の関係を、予め登録する。制御装置100は、マーカー4Lの4点の反射マーカーP45~P48の配置パターンと、座標系PLMとの位置・姿勢の関係を、予め登録する。ポーズ計測部101は、それらの登録された関係に基づいて、作業台座標系である座標系Σwを基準とした各マーカー4のポーズを計測する。
 図1の教示者U1の右手5Rの右手首部と、マーカー4Rとの間は、図7Aのリストバンドのようなアタッチメント92Rを介して固定されている。教示者U1の左手5Lの左手首部と、マーカー4Lとの間は、図7Bのアタッチメント92Lを介して固定されている。アタッチメント92Rにより、右手首部とマーカー4Rとの間の位置・姿勢の関係が維持される。アタッチメント92Lにより、左手首部とマーカー4Lとの間の位置・姿勢の関係が維持される。
 アタッチメント92(92R,92L)は、作業者U1の手首部に対し、マーカー4(4R,4L)を、モーションキャプチャシステム200のカメラ20によって計測しやすい位置および姿勢に固定する。かつ、アタッチメント92は、作業者U1の手5に対しマーカー4を着脱可能とし、装着の位置および姿勢を調節可能な構成としている。
 実施の形態1では、図1や図5~図7Bに示した複数のマーカーとして、道具側の第1マーカーであるマーカー3(3a,3b,3p)、および手5側の第2マーカーであるマーカー4(4L,4R)を用いる。これらの各マーカープレートに備える反射マーカーは、上述のようにマーカープレートごとに固有のパターンを有する。これにより、制御装置100は、例えばマーカー3a,3b,3pおよびマーカー4L,4Rといった5個のマーカーについて、個体をIDとして識別できるとともに、各マーカーのポーズを同時に計測可能である。
 なお、マーカープレート毎に反射マーカーを異なるパターンとする代わりに、各マーカープレートの反射マーカーの数や大きさや形や色などを異ならせた構成や、識別情報を記載した構成とすることでも、各々のマーカーの識別やポーズ計測を実現可能である。また、マーカープレート毎に、反射マーカーの数は、3以上であればよい。各マーカーで反射マーカーの数が異なってもよい。第1マーカーと第2マーカーとで種類や構造が異なるマーカーを適用してもよい。
 実施の形態1での例では、矩形の平板の面において複数の反射マーカーが2次元に配置されているが、3次元の立体的な配置としてもよい。また、反射マーカーは、カメラ20によって検出しやすいように、例えば光反射性部材で構成されるが、これに限定されない。また、マーカープレートからの光を光学的にカメラ20によって検出する例としたが、これに限定されない。例えば、カメラ20の代わりに、ホール素子等のセンサまたは計測装置を用いて磁気的に検知する方式のモーションキャプチャシステムを採用し、マーカープレートの動きから被操作物および教示者U1の腕先のポーズを計測する構成としてもよい。
 あるいは、マーカープレートを用いずに、被操作物や教示者U1の手5の動作をカメラ20で撮影し、カメラ20の映像を解析してポーズを計測する構成としてもよい。しかしながら、その場合には前述の課題もある。そのため、実施の形態1のように、道具側および手5側のマーカーを用いる構成とする。これにより、高度な画像解析処理や計算資源を要さずに、作業者U1の手5とロボット2のハンド機構6との対応関係を判定しやすくでき、効率的な計測や教示が可能となる。
 [ロボットのハンド機構]
 図1に戻り、ロボット2は、人の手を模して構成されたハンド機構6として、右腕側のアームを含むハンド機構6Rと、左腕側のアームを含むハンド機構6Lとを備える。特に、ハンド機構6は、手先に対応する部分に、エンドエフェクタ9を備える。ハンド機構6Rは、エンドエフェクタ9Rを備え、ハンド機構6Lは、エンドエフェクタ9Lを備える。このエンドエフェクタ9は、実施の形態1での例では、被操作物である道具の把持および解放が可能な把持機構である。
 図8~図10は、試験管7を把持する例を用いて、ロボット2のハンド機構6についての説明図を示す。図11および図12は、座標系の関係などの説明図を示す。図8~図11を用いて、例として、ロボット2の左側のハンド機構6Lと、作業者U1の左手5Lと、被把持物である試験管7aとの間における、ポーズや座標系の関係などについて説明する。
 図8は、左側のハンド機構6Lについての斜視図である。図8では、ハンド機構6Lのうちの一部であるハンド部520を示す。ハンド部520は、言い換えると、人の手首などを模したリンク機構であり、フランジ522の軸周りに回転動作が可能な機構である。ハンド部520は、先端にエンドエフェクタ9Lとして把持機構を備えている。本例では、把持機構は、2本の指機構として指機構521a,521bを有する。エンドエフェクタ9Lの指機構521a,521bにより、試験管7が把持されている。指機構521a,521bは、スライド駆動機構によって、図8でのY軸に対応した左右方向に移動可能なように構成されている。指機構521a,521bが閉じることで、試験管7を把持でき、指機構521a,521bが開くことで、試験管7を解放できる。試験管7は、ハンド部520の指機構521a,521bによって適切な圧力で挟まれることで、把持される。
 図9Aは、図8のハンド機構6Lを横(図示のY軸の方向)から見た側面図であり、図9Bは、図8のハンド機構6Lを上(図示のX軸の方向)から見た上面図である。図8~図10では、例えば試験管7の長軸が鉛直方向に沿って配置された姿勢である場合に、ロボット2の左側のハンド機構6Lのハンド部520が、エンドエフェクタ9Lの指機構521a,521bによって、試験管7の上部の側面の一箇所を左右から挟むようにして把持している状態を示す。
 図9Aおよび図9Bで、ハンド機構6Lのハンド部520におけるエンドエフェクタ9Lの指機構521a,521bの把持中心には、左把持部座標系として座標系ΣLTが設定されている。把持中心は、試験管7の位置とも対応している。座標系ΣLTのX,Y,Zの3軸は、試験管7の長軸に沿った上下方向がX軸、ハンド部520の把持機構に対し前後方向がZ軸、把持機構の左右方向がY軸である。
 フランジ522は、ハンド機構6Lのハンド部520が取り付けられるロボット2のアームの左手首部(言い換えると左リンク)に対応する機構である。フランジ522の中心には、左リンク先端座標系として座標系ΣLEが設定されている。座標系ΣLEのX,Y,Zの3軸は、座標系ΣLTと同様に、ハンド部520に対し、上下方向がX軸、前後方向がZ軸、左右方向がY軸である。図9Aおよび図9Bでは、座標系ΣLTと座標系ΣLEとの位置および姿勢の関係が示されている。図9Aおよび図9Bでの座標系ΣLTの原点OLTと座標系ΣLEの原点OLEとは、Z軸方向で距離Ltを有する。
 なお、省略するが、ロボット2の右側のハンド機構6Rは、左側のハンド機構6Lと同様の構造を有することができる。例えば、右側のハンド機構6Rは、同様の要領で、ピペット8を把持できる。勿論、左右のハンド機構が異なる構造を有する形態も可能である。
 [道具とハンド機構と手と各マーカーとの座標系の関係について]
 図10は、図9Bのハンド機構6Lにおいて設定されている座標系(ΣLT,ΣLE)と、試験管7aのマーカー3aに設定されている座標系ΣTLMとの関係などについての模式説明図である。図10では、試験管7を把持するハンド機構6Lのハンド部520に設定された左把持部座標系である座標系ΣLT、および左リンク先端座標系である座標系ΣLE(図9A,図9B)と、試験管7側の第1マーカーであるマーカー3aに設定された第1マーカープレート座標系である座標系TLM(図5)との関係を示している。図10では、理解の容易のために、試験管7aに対しマーカー3aが取り付けられている状態を仮想的に点線で図示している。
 図11は、図10と同じ試験管7aおよびそれに対応付けられたハンド機構6Lの座標系ΣLTに対する、作業者U1の左手5Lのマーカー4Lに設定されている座標系ΣPLMとの関係などについての模式説明図である。図11では、図10と対応させて、作業者U1の左手5Lによって把持される試験管7aと、図示しないハンド機構6Lの座標系ΣLTおよび座標系ΣLEと、左手5L側のマーカー4Lに設定されている座標系ΣPLM(図7B)との関係を示している。図11では、図10と同じ試験管7aの長軸が鉛直方向に沿って配置された姿勢である場合に、左手5Lの指1101、例えば親指と他の指によって、試験管7aの上部の側面の一箇所を左右から挟むように把持している状態を示している。また、図11では、左手5Lの前腕のうちの手首の手前付近の箇所の側面において掌の甲1102に対応した方向の一側面に、アタッチメント92Lを介して、マーカー4Lの平板が配置されている状態を示している。
 図10および図11を用いて、ロボット2の左側のハンド機構6Lのハンド部520に設定された座標系(ΣLT,ΣLE)と、道具である試験管7a側のマーカー3aに設定された座標系ΣTLMと、左手5L側のマーカー4Lに設定された座標系ΣPLMとの関係について説明する。図10と図11を合わせて考えることで、各座標系間の関係が把握可能である。
 図10に示すように、マーカー3aの座標系ΣTLMは、左把持部座標系である座標系ΣLTを、Z軸方向(図10での右方向)に距離Lmだけ平行移動したものである。また、左把持部座標系である座標系ΣLTは、左リンク先端座標系である座標系ΣLEを、Z軸方向に距離Ltだけ平行移動したものである。
 よって、マーカー3aのポーズを計測すれば、これらの座標系の関係から、そのときのハンド部520の把持中心である原点OLTのポーズを算出でき、さらに、左手首フランジ522の中心である原点OLEのポーズを算出できる。すなわち、マーカー3aのポーズから、座標変換に基づいて、ハンド機構6Lのハンド部520の動作のポーズを対応付けることができる。
 図10では、座標変換としては、破線矢印で示すように、被把持物である試験管7aを基準にした被把持物の座標系に対応付けられる座標系ΣTLMと、ハンド機構6Lのハンド部520を基準にした、先端の左把持部座標系である座標系ΣLTとの座標変換T1と、座標系ΣLTと座標系ΣLEとの座標変換T2とを考えることができる。さらに、図11では、座標変換の一部について、変換TLTで示している。変換TLTは、左手5Lのマーカー4Lの座標系ΣPLMでのポーズから、ハンド部520の先端の試験管7の把持中心に対応した座標系ΣLTでのポーズへの変換である。
 図2の教示データ生成部107は、作業実演の際のマーカー3aのポーズの計測に基づいて、このような座標変換の実行により、試験管7aのポーズに対応させた、ハンド機構6Lのハンド部520のポーズを、教示ポーズとして算出できる。
 本例では、教示者U1は、通常作業時と同じである図11のようなポーズで、左手5Lの指1101によって試験管7aを把持する。図10のハンド機構6Lのハンド部520は、図11と類似となるポーズでハンド部520の指機構521a,521bによって試験管7を把持するように教示される。
 このとき、試験管7を把持するハンド部520の左把持部座標系である座標系ΣLTは、図10と同じ座標系として定められ、同時に、左手5Lのマーカー4Lの座標系ΣPLMを基準として、その座標系ΣPLMから座標系ΣLTを導出するための変換TLTが決められる。制御装置100は、この変換TLTにおける座標変換の変換係数などを、予め設定しておく。この設定は、管理者U2が行ってもよいし、制御装置100が算出して行ってもよい。
 また、試験管7aの位置および把持中心に対応した座標系ΣLTと、左リンク先端座標系である座標系ΣLEとの変換は、座標変換T2により得られる。これらの座標系の関係に基づいて、左手5Lのマーカー4Lの座標系ΣPLMでのポーズと、ハンド部520の座標系ΣLEでのポーズとの変換T3も可能となる。制御装置100は、左手5Lのマーカー4Lのポーズを計測すれば、これらの座標系の関係による変換に基づいて、そのときのハンド機構6Lのハンド部520の把持中心である原点OLTのポーズを算出でき、さらに、フランジ522の中心である原点OLEのポーズを算出できる。
 すなわち、図2の教示データ生成部107は、左手5L側のマーカー4Lを基準にした座標系ΣPLMと、ハンド機構6Lのハンド部520を基準にした座標系ΣLTおよび座標系ΣLEとの関係に基づいた変換により、ハンド部520のポーズを教示ポーズとして生成するように構成されている。
 また、上述した座標系の関係および教示ポーズに基づいて、ロボット動作生成部109は、ロボット2のハンド機構6のフランジ522の中心、言い換えるとリンク先端の、ポーズの時系列データから、ロボット2の機構の関節変位を、逆運動学計算の解として算出する。そして、ロボット動作生成部109は、その算出により、ロボット2の機構の関節変位のシーケンスを生成し、その関節変位のシーケンスに従ったロボット動作データを生成する。
 上述した各マーカー3,4に係わる各座標系(ΣTLM,ΣTRM,ΣPRM,ΣPLM)でのポーズ、およびロボット2のハンド機構6に係わる座標系(ΣLE,ΣLT)でのポーズは、座標系間の対応関係に基づいて、作業台座標系である座標系Σwでのポーズに変換して表現できる。
 また、上述した各座標系の関係は、上述した図10のZ軸方向での平行移動の関係や、変換TLTのような座標系の回転を含む関係には限定されず、各々の座標系の関係が既知であればよい。また、各座標系の関係が固定であることに限定する必要は無く、関係が既知である限りおいて変動してもよい。
 上記例では、教示者U1の左手5Lおよびロボット2の左側のハンド機構6Lによって試験管7aを把持する例を説明したが、これに限らず、ピペット8や他の試験管7を対象に把持等操作する場合や、教示者U1の右手5Rおよびロボット2の右側のハンド機構6Rを用いる場合にも、同様に適用可能である。
 次に、図12以降を用いて、実施の形態1のロボット教示方法および装置における、教示者U1の作業動作の例、制御装置100を用いた作業教示、ロボット2の動作に変換するための教示ポーズの算出および補正などについて説明する。
 [作業実演]
 図12および図13は、ロボット教示装置1を用いて、教示者である作業者U1が教示作業を行う際の作業実演の作業動作の例を示す。図12では、作業動作の一部として、作業者U1が両手を用い、左手5Lによって試験管7を把持し、右手5Rによってピペット8を把持する場合の状態を示している。最初、試験管7(7a,7b)はホルダ71に保持されており、ピペット8はホルダ81に保持されている。図13は、図12の作業動作の後に、作業動作の他の一部として、作業者U1が、右手5Rのピペット8内の物質を左手5Lの試験管7内に吐出する場合、あるいは、左手5Lの試験管7内の物質を右手5Rのピペット8内に吸引する場合において、右手5Rのピペット8の先端が左手5Lの試験管7の上端の口に近付いた状態を示す。
 図示のとおり、教示者U1は、右手首付近に第2マーカーであるマーカー4R、左手首付近にマーカー4Lを装着している。図12で、教示者U1は、作業実演として、自身の左手5Lによって第1マーカーであるマーカー3aが装備された試験管7aを把持する操作M1を行うことで、この操作M1を教示する。操作M1は、言い換えると、左手把持動作、左手把持ステップ、左手把持プロセスである。また、図12では、右手5Rを用いた操作M2も図示している。教示者U1は、作業実演として、自身の右手5Rによって第1マーカーであるマーカー3pが装備されたピペット8を把持する操作M2を行うことで、この操作M2を教示する。操作M2は、言い換えると、右手把持動作、右手把持ステップ、右手把持プロセスである。
 以降の説明では、実施の形態1での特徴などについて、試験管7aを対象とした左手5Lによる把持の操作M1を例に説明するが、右手5Rの操作M2の場合にも同様に適用可能である。以降の説明では、制御装置100により計測および算出される各ポーズは、作業台座標系である座標系Σwを基準とする。
 [処理フロー]
 図14は、実施の形態1のロボット教示装置1および方法における処理フローを示す。処理の主な主体は制御装置100である。図14のフローは、ステップS101~S110を有する。なお、予め、必要な補正データ等の設定は済んでいるとする。
 ステップS101で、教示者U1または管理者U2は、教示指示として、開始指示を入力する。教示者U1は、作業実演として作業動作を開始する。開始指示により、ロボット教示装置1であるシステムは計測などを開始し、モーションキャプチャシステム200のカメラ20は撮影を開始する。作業実演において、教示者U1は、まず、図13の左手把持の操作M1を開始する。このとき、制御装置100は、教示指示検知部105の処理によって、指示用入力装置300として例えばマイクロフォンを介して入力される「スタート」等の音声の信号に基づいて、開始指示、言い換えると作業実演の開始を検知する。これに基づいて、制御装置100は、ポーズ計測部101の計測処理を開始させつつ、教示データ生成部107に、教示データの始まりを意味する教示指令(「start」)のデータを関連付けるように生成する。
 ステップS102で、制御装置100は、ポーズ計測部101の処理により、モーションキャプチャシステム200のカメラ20から画像を入力・取得し、教示者U1の実演に合わせた時系列で、道具側のマーカー3aを計測して得られる第1計測ポーズ、および手5L側のマーカー4Lを計測して得られる第2計測ポーズを取得する。そして、ポーズ計測部101は、第1計測ポーズを第1計測ポーズ格納部102に格納し、第2計測ポーズを第2計測ポーズ格納部103に格納する。
 次に、ステップS103で、教示者U1は、操作M1の際に、操作M1に応じた操作指示、例えば把持操作指示を入力する。制御装置100は、操作指示検知部104の処理によって、その把持操作指示を検知する。操作指示検知部104は、教示者U1が左手5Lで試験管7aを把持したタイミングで入力される上記把持操作指示を検知する。これにより、制御装置100は、被操作物である試験管7aへの把持の操作M1を検知する。
 この際、教示者U1は、指示用入力装置300を用いて、操作M1と合わせたタイミングで、その把持操作指示を入力する。例えば、教示者U1は、左手5Lによって試験管7aを把持した時、例えば図11のように指1101で試験管7を挟んだ直後の時に、その把持操作指示を入力する。教示者U1は、その把持操作指示の際に、指示用入力装置300として、例えば手指に装着された感圧スイッチを押して信号を入力する。あるいは、教示者U1は、足元のフットスイッチを押して信号を入力する。あるいは、教示者U1は、マイクロフォンを通じた音声入力として、把持の操作M1を表す所定の音声、例えば「クローズ」を入力する。
 操作指示の入力音声は、予め決めておけばよく、「グラスプ」「ホールド」「ゲット」等としても構わない。他の操作、例えば解放操作であれば、「オープン」「リリース」等となる。また、物理的なスイッチボタンを用いる場合には、そのスイッチボタンの信号が何の操作指示を表すかを予め決めておけばよい。また、後述の時系列のシナリオなどで、各種の操作の順序が決められる場合には、それに対応させて信号の入力の回数や順序を決めておけば、入力信号が何の操作指示を表すかが判断可能である。
 ステップS104で、制御装置100は、ステップS103で所定の操作の操作指示が検知されたかを確認し、例えば操作M1の操作指示が検知された場合(Yes)にはステップS105へ進み、検知されない場合(No)にはステップS107へ進む。
 ステップS105では、制御装置100は、教示データ生成部107の処理によって、作業実演の開始から現在時点までに格納された第1計測ポーズおよび第2計測ポーズを用いて、時系列での教示ポーズを生成し、最新となる時刻の教示ポーズに同期した操作動作指令を生成する。言い換えると、教示データ生成部107は、操作指示に合わせたタイミングで操作動作指令を関連付けた、時系列での教示ポーズを生成し、教示データ格納部108に格納する。操作動作指令は、例えば、左手把持の操作M1の操作指示に同期した、ロボット2のハンド機構6Lによる把持動作の実行を表す指令であり、後述のロボット動作データの生成のための教示用の指令である。
 ステップS106で、制御装置100は、教示データ生成部107の処理により、補正データ格納部106の補正データの参照に基づいて、最新時点までの教示ポーズを補正して、補正後の教示データとして生成し、教示データ格納部108に格納する。補正については後述する。
 ステップS107では、制御装置100は、教示指示検知部105の処理によって、教示指示として完了指示を検知したかを確認し、検知した場合(Yes)にはステップS108へ進み、検知しない場合(No)にはステップS102へ戻って同様に繰り返す。この際、完了指示は、例えば、作業者U1が、指示用入力装置300を用いて、例えばマイクロフォンを介して、所定の音声、例えば「エンド」等の音声を入力し、教示指示検知部105が、その音声の信号に基づいて、完了指示として検知することが挙げられる。
 ステップS108で、制御装置100は、上記完了指示を受けた最新時点までの計測ポーズとして第1計測ポーズおよび第2計測ポーズに基づいて、対応する最新時点までの教示データを生成し、教示データ格納部108に格納する。この際、制御装置100は、ステップS108の時点では未生成となっている、上記完了指示を受けた最新時刻までの時系列の教示ポーズを追加で生成しつつ、教示データの終わりを意味する教示指令(「end」)のデータを関連付けるように生成する。
 ステップS109で、制御装置100は、必要に応じて教示データを補正し、教示データに係わる処理を終了する。
 ステップS110で、制御装置100は、教示データ格納部108の教示データに基づいて、ロボット動作生成部109の処理によって、ロボット動作データを生成し、ロボット動作データ格納部110に格納する。なお、教示データからロボット動作データを生成する処理は、教示データの生成に伴って自動的に実行されてもよいし、管理者U2の指示入力などに応じた後のタイミングで実行されてもよい。
 上記フローでは、理解の容易のため、ある1つの操作M1の教示に着目した処理例を説明したが、これに限らず、作業実演において複数の操作を教示する場合にも、操作ごとに同様に処理を行うことで、実現可能である。例えば、上記把持の操作M1のあとに、別の把持の操作M2が続く場合には、その操作M2に、同様の処理を適用すればよい。あるいは、上記把持の操作M1のあとに、所定の位置で左手5Lから試験管7aを離すといった解放の操作が続く場合には、その解放の操作に、同様の処理を適用すればよい。被操作物の違い、把持や解放といった操作の違いに応じて、異なる補正データを適用してもよい。
 [教示データ算出その1]
 図15A等を用いて、上記ステップS105,S106の処理において生成される教示ポーズについての算出および補正などについて説明する。図15A,図15B,図15Cは、実施の形態1での教示ポーズの算出および補正などについての説明図である。図15A等では、例として図12の左手把持の操作M1についての教示の際の、ポーズ計測部101による第1計測ポーズおよび第2計測ポーズの取得結果や、教示データ生成部107による教示データの生成結果などを表すグラフを示している。グラフは、横軸が時刻(tとする)、縦軸が例えば作業台10の座標系Σwでの一方向としてX軸方向の位置座標を示す。なお、図15A等では、理解の容易のため、座標系ΣwでのX軸方向の位置のみの時系列データを示すが、Y軸、Z軸でも同様に位置の情報を有し、また、図示しないが姿勢を表す各軸での向きの情報を有する。時刻のサンプリング周期は予め決められる。
 図15Aは、データD1,D2,D11,D12を示す。データD1は、道具側の第1計測ポーズ、すなわち試験管7aのマーカー3aの計測ポーズの時系列データとしてX軸での変位のデータである。データD2は、手5側の第2計測ポーズ、すなわち左手5Lのマーカー4Lの計測ポーズの時系列データとしてX軸での変位のデータである。データD11は、図10の座標系ΣTLMでのポーズに対応する第1計測ポーズのデータD1から算出される、図10の座標系ΣLTでのポーズの時系列データである。データD12は、第2計測ポーズのデータD2から、図11の変換TLTを用いて算出される、図10の座標系ΣLTでのポーズの時系列データである。言い換えると、データD11は、データD1から把持中心位置(原点OLT)でのポーズに変換したデータである。データD12は、データD2から把持中心位置(原点OLT)でのポーズに変換したデータである。
 図15Bは、データD20,D21を示す。また、図15Bでは、前述の教示指示および操作指示のタイミングの例も示し、それらに対応して生成されたデータD30,D31,D32を示す。データD20は、図15Aの2つの左把持部座標系である座標系ΣLTでのポーズのデータD11,D12から算出される、教示ポーズの時系列データであり、実線で示す。データD20は、具体的にはデータD12の選択によって生成されている。データD21は、教示ポーズのデータD20を補正した後の時系列データであり、破線で示す。本例では、時刻t=0からmまでの時間でのデータD20が、データD21へと補正されている。
 データD30は、教示指示として開始指示(「start」)のデータである。データD32は、教示指示として完了指示(「end」)のデータである。データD31は、操作指示として把持操作指示(「close」)のデータである。時刻t=0は、開始指示(「start」)が入力・検知された時点である。時刻t=mは、操作M1の把持操作指示(「close」)が入力・検知された時点である。時刻t=nは、完了指示(「end」)が入力・検知された時点である。左手把持の操作M1は、特に時刻t=mの付近での動作と対応している。
 図15Cは、データD40を示す。データD40は、図15Bの補正後のデータD21に基づいた時系列データであり、データD41とデータD42とから成る教示データである。データD41は時刻t=0~mの教示ポーズのデータであり、データD42は時刻t=m~nの教示ポーズのデータである。データD41は操作M1に至るまでの動作と対応しており、データD41は操作M1の後の動作と対応している。
 まず、基本的な教示ポーズの算出について説明する。図14のステップS105の教示ポーズ生成処理の実行時刻を、把持操作指示(「close」)のタイミングに合わせた時刻t=mとする。その時、制御装置100は、図15Aのように、時刻0から時刻mまでの時間での、道具側のマーカー3aのポーズのデータD1、および手側のマーカー4LのポーズのデータD2を時系列で計測済みである。ステップS105では、制御装置100は、時刻mまでの時間でのデータD1およびデータD2の各々を、図15Aのように、図10および図11の関係に基づいて、左把持部座標系である座標系ΣLTでのポーズであるデータD11およびデータD12に変換する。
 また、ステップS105では、制御装置100は、時刻mで把持操作指示(「close」)が入力されていること、あるいは、時刻0から時刻mまでの時間でデータD1(例えばX軸の位置座標)が変化していないことに基づいて、時刻mまでの時間では未把持状態での動作教示であると認識する。
 そのため、制御装置100は、データD11,D12から、時刻mの把持までの手側のポーズの計測結果であるデータD12を、教示ポーズとするように選択し、図15Bに示したデータD20として生成する。図15BでのデータD20の時刻0~mの部分は、図15AのデータD12の時刻0~mの部分と同じとなっている。
 [教示ポーズ補正]
 次に、教示ポーズの補正について説明する。図15Aに示した、道具側のデータD11は、試験管7a自体のポーズを直接計測したものであるため、時刻mにおいてロボット2のハンド機構6Lが高精度に把持可能なポーズを表している。一方、手側のデータD12は、教示者U1の左手首付近のマーカー4Lのポーズを変換して生成されたものである。そのため、このデータD12は、時刻mの把持操作、特に把持操作指示(「close」)までの左手5Lの軌道を表しているが、時刻mで左手5Lによって試験管7aを把持するポーズでは、誤差を多く含んでいる。データD12を選択して生成された教示ポーズのデータD20も、これと同様の特徴を有している。
 このように作業者U1の手の動作により生じる誤差を、例として、図15A等では、X軸の位置に関する差分ΔXとして示している。実施の形態1のロボット教示装置1および方法は、このような誤差を考慮して、教示データの補正を行うことで、好適な教示データを生成する。そのため、ステップS106では、制御装置100は、時刻mでの手側のデータD12のポーズを、道具側のデータD11のポーズに一致させるような補正を行うために、その補正の補正係数を算出する。
 制御装置100は、図15Bに示した、データD12に対応したデータD20に、把持の時刻mから過去に遡る形で補正係数を用いて補正演算することにより、補正後の教示ポーズのデータD21を得る。本例では、この補正演算で、X軸方向におけるデータD12とデータD11との位置の差分ΔXを、補正係数として用いる。教示データ生成部107は、時刻mから過去の時点、本例ではt=0までに遡る形で、データD20の位置から、差分ΔXを差し引くことで、補正後の教示ポーズのデータD21の位置を生成する。
 そして、教示データ生成部107は、補正後の教示ポーズのデータD21と、時刻を同期して記憶されている教示指示(「start」)のデータD30と、操作指示(「close」)のデータD31とを合わせることで、教示データを生成する。生成される教示データは、図15Cに示した、時刻0から時刻mまでのデータD40としてのデータD41に相当する。
 その後、教示データ生成部107は、時刻0~mの教示データD41とともに、教示データD41の生成に用いた各種の関連データも含めて、教示データD40として、教示データ格納部108に格納する。
 なお、上記補正後の教示ポーズのデータD21を算出する処理の際の、過去に時刻を遡る範囲については、移動距離や移動時間等の物理量に基づいて制限を予め定めておき、補正データの一部として、補正データ格納部106に設定・格納しておく。制御装置100は、その補正データを用いて上記補正の処理を行うようにしてもよい。
 その場合、教示データ生成部107は、補正データでのいずれかの制限に対応した、ある時刻i、すなわち範囲の境界の時刻に達するまで過去に遡る形で、データD12に対応するデータD20に補正演算することで、時刻iから時刻mまでのデータD21を生成し、補正後のデータD41の一部とする。教示データ生成部107は、時刻iよりも前の部分については、補正せずにデータD12に対応するデータD20を選択して、補正後のデータD41の一部とする。
 さらに、教示データ生成部107は、上記制限に達する時刻iの前後でのデータD20とデータD21との位置の変化量を抑えるために、制限の範囲内でデータD20に補正係数を適用して補正演算しつつ、制限に達する時刻iの付近では、データD20のポーズに一致させるように、または、ポーズの変化がなるべく小さくなるように、追加で補正を行ってもよい。上記制限などを用いた処理例については後述する。
 [教示データ算出その2]
 図15A等で、上記ステップS108およびステップS109での、時刻m以降の教示データ生成の詳細については以下の通りである。図15Aに示す通り、ステップS108の処理の実行時刻をnとする。制御装置100は、時刻mから時刻nまでのデータD1およびデータD2を時系列で計測済みである。このとき、制御装置100は、教示者U1が時刻mで把持の操作M1をしてから、最新の時刻nまでの間において、試験管7aの解放の操作に対応する解放操作指示が入力・検知されていないこと、あるいは、試験管7a自体のポーズの計測結果であるデータD11が変化していること等に基づいて、時刻m~nの時間では、作業動作として、左手5Lが試験管7aを把持したままの状態で試験管7aを移動させたことを認識できる。
 従って、制御装置100は、時刻m~nの時間では、道具側のポーズの変換後のデータD11に、ロボット2のハンド機構6Lの把持のポーズを合わせるようにすることで、教示者U1が実演で扱った試験管7aのポーズを高精度にトレースできる。そのため、ステップS108では、教示データ生成部107は、時刻m~nの時間で、データD11を選択することで、教示ポーズのデータD20として生成し、図15CでのデータD42とする。
 また、本例では、ステップS109で、ステップS108で生成した教示ポーズ自体については補正せず、教示ポーズのデータD20と、時刻を同期して記憶されている教示指示(「end」)のデータD32とを合わせることで、教示データを生成する。生成される教示データは、図15Cでの時刻m~nのデータD40としてのデータD42に相当する。その後、教示データ生成部107は、時刻m~nの教示データD42とともに、教示データD42の生成に用いた各種の関連データも含めて、教示データD40として、教示データ格納部108に格納する。
 図15A等の例では、ポーズの位置の補正を主に説明したが、姿勢についても同様に補正が適用できる。例えば、制御装置100は、道具側の第1計測ポーズの姿勢に対し、手側の第2計測ポーズの姿勢との差分を算出し、その姿勢の差分を用いて、教示データを生成する。
 また、本例では、図8~図11のように、教示者U1の手5およびハンド機構6のエンドエフェクタ9がそれぞれ同じ道具を把持等操作する箇所(例えば試験管7の上部の側面)については予め決められている場合を説明した。教示の際に、教示者U1の手5が道具を操作する箇所が、その決められた箇所からズレがある場合でも、上記誤差に係わる補正をすることで、そのズレが許容できる。
 [変形例]
 図16A等は、図15A等での誤差を考慮した補正に係わる変形例についての説明図であり、図15A等と同様にグラフを示す。前提として得られた計測ポーズは図15Aと同じであるとする。図16Aは、ある変形例として変形例1Aを示す。この変形例1Aでは、制御装置100は、操作M1の検知の時刻mから、過去に、制限に応じて定まる時間の範囲1601で、時刻iまで遡り、その範囲1601内で、データD12に対応したデータD20から、データD21への補正を行う。この補正は、前述と同様に例えば差分ΔXの引き算である。補正後は破線で示すデータD21のようになる。時刻i~mの範囲1601のデータD21に対し、時刻iから前のデータD20、および時刻mから後のデータD20が接続されることで、教示データとなる。制限に対応する範囲1601は、本例では、時刻mから3つ前の時刻iまでの時間としている。制限に対応する範囲1601は、例えば、予め所定の時間として決めておいてもよいし、あるいは、X軸などの各軸での距離を予め閾値として決めておき、その距離の閾値に対応させた変位が生じる時間として決定してもよい。この制限の範囲1601は、被操作物やハンド機構6の構造等に応じて決めると、より好適である。
 図16Bおよび図16Cは、さらなる変形例として変形例1Bを示す。この変形例1Bは、補正後のデータに対し、時系列で前後にある未補正のデータをなるべく滑らかに接続するように、言い換えると、時系列の前後でポーズの変化量がなるべく小さくなるように、さらなる追加の補正を行うものである。本例では、図16Aの例とは異なるデータD20を用いるとし、時刻mに至るまでにX軸位置の変動がより大きいとする。まず、図16Aの変形例1Aと同様に、制限に応じた範囲1601として時刻i~mの時間で、データD20からデータD21に補正されたとする。この補正は例えば差分ΔXの引き算である。この第1段階の補正後の部分をデータD21aとして示す。次に、データD21aからさらに第2段階の補正が行われる。補正後の部分をデータD21bとして示す。この第2段階の補正では、範囲1601の境界である時刻iの付近で、データD21aとデータD20との接続がより滑らかになるように、すなわちポーズの位置や姿勢の変化量がなるべく小さくなるように、補正がされる。
 データD21aに対し前後のデータD20をつなげたポーズでは、例えば時刻iとその1つ前の時刻jとで、X軸方向の位置の変化量が大きい。制御装置100は、例えば時刻間の変化量を算出し、その変化量が閾値以上に大きい場合には、第2段階の補正を行う。例えば、時刻jと時刻iとの変化量をA1とし、変化量A1は閾値以上に大きいとする。制御装置100は、例えば範囲1601の境界である時刻iを基準として、第2段階の補正の範囲1602を決める。範囲1602は、変化量A1に対応した時刻j~iの時間を少なくとも含むように決められる。図示の例では、範囲1602は、時刻j~iの時間とする。制御装置100は、この範囲1602で、各時刻のポーズを補正する。この補正の例は、平均化などの統計処理が挙げられる。
 図16Cには、第2段階の補正後の例をデータD21bとして示す。白丸点は補正後の位置である。本例では、補正前の時刻jの位置と、時刻iの位置との平均値をとり、その平均値が、補正後の時刻jの位置および時刻iの位置とされている。このような補正に限らず、範囲1602をより広くしてもよいし、他の統計処理などを採用してもよい。また、ポーズの軌跡である時系列データは、時刻ごとの位置や姿勢を直線でつなげたものとして説明したが、時刻ごとの位置や姿勢に基づいて曲線としてつなげるようにして生成される時系列データとしてもよい。
 図17Aは、他の変形例として変形例1Cを示す。この変形例1Cでは、例えば図16Bと同様に第1段階の補正がされた後、例えば時刻jと時刻iとの変化量A1が閾値以上に大きいとする。この場合に、この変形例1Cでは、時刻jの位置のデータをノイズとみなし、例えば時刻iの位置に合わせるように、第2段階の補正がされている。補正後をデータD21cとして示す。
 図17Bは、他の変形例として変形例1Dを示す。この変形例1Dでは、例えば図16Bと同様に第1段階の補正がされた後、例えば時刻jと時刻iとの変化量A1が閾値以上に大きいとする。この場合に、この変形例1Dでは、時刻jの位置から時刻mの位置までを直線でつなぐように、各時刻の位置が補正されている。補正後を、一点鎖線で、データD21dとして示す。
 上述のように、各変形例の方法では、教示データを生成するステップは、操作が検知された付近の計測データにおいて、誤差を低減する補正を行った後のデータに対し、時間的に前後のデータとの変化量が、予め設定した規定値を満足しない場合に、規定値を満足したいデータ部分を、統計処理またはノイズ除去処理等によって、追加補正するステップを有する。その他、操作指示(「close」)のデータD31と同一の時刻(操作指示の時刻m)に、手側のデータD12のポーズを、道具側のデータD11のポーズに一致させられる範囲において、既知の統計処理等を用いた手法でデータの補正を行ってもよい。
 [GUI画面]
 図18は、実施の形態1のロボット教示装置1が、ユーザである作業者U1や管理者U2に対して提供するGUIを含む画面の表示例を示す。図18の画面は、例えばWebページ等の態様で提供されてもよい。図18の画面は、例えば図2の制御装置100の教示指示検知部105による処理に基づいて、入出力装置120の表示装置(図3での出力装置1006)の表示画面に表示される。図18の画面は、作業シナリオ表示画面として構成された例を示している。この画面は、作業動作のシナリオの設定・編集を可能とする。この画面は、シナリオ編集画面部1801と、教示データ確認画面部1802とを含んでいる。
 ユーザである作業者U1または管理者U2は、この画面で、対象の作業動作や必要な補正データや設定情報等を設定でき、それらのデータ・情報や、作業実演に応じて生成された教示データ等を確認できる。また、この画面に対し、前述の教示指示等を入力可能としてもよいし、教示指示などの作業用に別のGUIの画面を設けてもよい。
 シナリオ編集画面部1801は、作業シナリオを表示し、ユーザによる編集を可能とするGUIを有する。作業シナリオは、作業実演の対象となる作業動作のシナリオであり、作業単位ごとに分割されて構成され、各作業単位に必要となる教示データとの対応付けが可能である。図示の例では、対象の作業動作の作業シナリオは、「Initial」、「Get test tube」、「Move test tube」といった作業単位ないしステップを有する、シーケンシャル・ファンクション・チャートとして構成されている。ステップS1810で示す「Get test tube」は、「試験管を把持する動作/ステップ」であり、前述の試験管7の把持の操作M1に相当している。ステップS1811で示す「Move test tube」は、「試験管を移動させる動作/ステップ」であり、把持の操作M1の後に、把持された試験管7を移動させる動作に相当している。
 ユーザは、シナリオ編集画面部1801で作業シナリオを編集することで、どのような作業動作を教示するかを設定できる。ユーザは、この画面で、作業シナリオの新規作成、名前を付けて保存、設定済みの作業シナリオのオープン、クローズなどが可能である。制御装置100は、設定された作業シナリオに従い、作業シナリオの各々の動作/ステップに、図15A等に示した計測データや教示データ(例えばデータD41,D42)などのデータ・情報を関連付けるように作成する。
 なお、本例では、シナリオ編集画面部1801の作業シナリオは、シーケンシャル・ファンクション・チャートとして記載したが、これに限らず、作業シナリオと遷移が表記できればよい。
 教示データ確認画面部1802は、作業シナリオと対応付けられて生成された、作業動作の教示データや、その教示データを生成する際に用いた各種データの内容を表示して確認可能とするGUIを有する。図18の画面のGUIは、シナリオ編集画面部1801でユーザが作業シナリオや動作/ステップ(例えばステップS1810)を選択した場合に、その選択されたステップ等に対応したデータ、例えば図15Cの教示データD40やその教示データを生成する際に用いた各種データを表示する機能を有する。この画面では、ユーザが、表示対象とする計測データ、教示データ、その他を選択できるようにしてもよい。本例では、教示データ確認画面部1802に、各種の計測データや教示データなどが、図15A等と同様にグラフの形式で重ねて表示されている。また、本例では、前述の誤差に対応した差分ΔXの値も表示されており、補正前後の教示データを確認可能である。
 図示しないが、教示データ確認画面部1802に、前述の教示指示や操作指示のデータも表示できる。また、前述の誤差を考慮した補正や、追加の補正に係わり、判定用の閾値などを用いる場合には、画面内にその閾値などの設定情報も表示でき、ユーザによるその設定情報の確認やユーザ設定を可能とする。また、前述の各変形例で示したような、複数の補正方法を実装してもよく、その場合、画面で複数の補正方法からユーザが適用する補正方法を選択して設定可能としてもよい。
 本例では、教示データ確認画面部1802は、教示データ等の各データのグラフの表示としたが、これに限らず、各データの内容が確認できるものであればよい。例えば、データベースのデータテーブル等の表示でもよいし、コマンド等の表示でもよいし、後述の例のようにポーズを3次元的に表示してもよい。
 [実施の形態1の効果等]
 実施の形態1のロボット教示方法等によれば、ロボットの知識が無い人であっても、人の通常動作をなるべく維持した作業実演によって、直観的かつ効率的にロボットへの作業動作の教示を可能とし、教示の事前調整工数低減や導入の容易化などを実現できる。実施の形態1によれば、実際の作業者が通常実施している作業動作について、教示のための変更を不要または最低限とし、通常作業動作のポーズを維持して教示が可能となる。そのため、ロボットの知識が無い人であっても、簡便で直観的に、作業実演による効率的な教示が実現できる。また、実施の形態1によれば、教示者の手のポーズや道具のポーズに関する高精度の認識や画像解析処理は不要となり、計算資源も節約でき、また、事前調整工数を低減でき、ロボット教示に係わるシステムの導入や実施を容易化できる。
 実施の形態1によれば、道具側の第1マーカーと手側の第2マーカーとを用いて、誤差に係わる補正を含め、教示データを生成する構成としたので、教示者U1の手が道具に対し離れている状態を含んだ作業動作も教示可能となる。
 実施の形態1の変形例として各種が可能である。例えば、モーションキャプチャシステム200は、カメラ20を用いるものとしたが、これに限らず、他の計測装置やセンサを用いて対象物の位置や姿勢を検出するものとしてもよい。例えば、ジャイロセンサや加速度センサ等を用いてもよいし、レーザー光や赤外線等に対応した光センサを用いてもよい。操作物として道具の例を説明したが、これに限らず、製造プロセスでの部材や製品などを対象としてもよい。手側のマーカー3は、前腕のうちの手首の手前の付近に設置される例を説明したが、これに限らず、作業者U1の手のうち作業動作を妨げない箇所に設置されればよい。
 実施の形態1では、手のポーズは、前腕の手首手前付近に装着されたマーカー4のポーズとした。前述のように、マーカーの設置位置や詳細な方式は、これに限定されない。他の例では、手首よりも先の掌にマーカーが形成された場合、手のポーズは、掌の動きを反映したそのマーカーのポーズとして得られる。
 変形例として、前述の図15Bのような誤差を用いた補正について、制御装置100は、例えば算出した差分ΔXを、設定された閾値と比較し、差分ΔXが閾値以上である場合に、前述の補正を実行し、閾値未満である場合には、補正を実行しないようにしてもよい。
 <実施の形態2>
 図19以降を用いて、実施の形態2のロボット教示方法および装置について説明する。実施の形態2等の基本的な構成は実施の形態1と同様であり、以下では、実施の形態2等における実施の形態1とは異なる構成部分について主に説明する。
 実施の形態2は、実施の形態1とは異なる構成点としては、把持などの操作の際にロボットのハンド機構が道具にアクセスする際の制限を考慮して教示データを補正する点がある。この制限は、ハンド機構等の構造と道具の形状等の構造との関係に応じて定まる制限である。より具体的には、この制限は、把持などの操作の際に道具に対しハンド機構がアクセスする際の、移動や操作が可能な、許容される方向、位置、距離、速度、力などに係わる制限範囲が挙げられる。制限範囲は、基準値や上下限値などで規定されてもよい。この制限は、例えば、道具の特定の箇所のみを把持すること、道具に対しある距離範囲内では特定の方向から近付いたり離れたりすること、ある範囲内ではある速度以下でアクセスすること、等が挙げられる。
 実施の形態2での教示データ生成のうちの補正は、そのような制限を満たすように、言い換えるとその制限を優先するように、ロボットの機構の効率的な動作を可能とする教示ポーズを生成することである。実施の形態2での補正は、補正データとしてその制限の内容を設定しておき、教示データ生成の際に、計測ポーズの一部を、その補正データを用いて置換等で補正することで、教示データを生成するものである。
 なお、実施の形態2での制限とは、実施の形態1での過去に遡る制限の範囲とは別の概念であり、区別のため、操作制限、動作制限、アクセス制限などと記載する場合がある。また、実施の形態2での操作制限を考慮した補正は、実施の形態1での手の動作による誤差を考慮した補正とは別の概念である。実施の形態2は、実施の形態1での誤差に係わる補正を行う機能に加えて、上記操作制限に係わる補正を行う機能を有する場合の実施例として説明する。これに限らず、実施の形態2は、実施の形態1での誤差に係わる補正を行う機能を有さずに、上記操作制限に係わる補正を行う機能のみを有する実施例としても実現可能である。
 実施の形態2のロボット教示装置1の制御装置100の構成例は図2と同様であり、主に異なる構成点としては、操作ポーズ生成部112を有する。操作ポーズ生成部112は、言い換えると教示ポーズ補正部である。また、実施の形態2での操作制限に係わる補正のために、図2の補正データ格納部106には、補正データ、言い換えると補正用設定情報が設定・格納される。この補正データの設定は、予め管理者U2が行ってもよいし、制御装置100が補正データを算出してもよい。実施の形態2での補正データは、実施の形態1での補正データに加え、操作制限に係わる補正データを追加で有する。
 操作ポーズ生成部112は、補正データ格納部106の補正データを用いて、操作制限を考慮したポーズである操作ポーズを生成する。操作ポーズ生成部112または教示データ生成部107は、教示データのうちの一部を、その操作ポーズを用いて置換または修正することで補正する。補正後の教示データは、教示データ格納部108に格納される。なお、図2の操作ポーズ生成部112を、教示データ生成部107の一部と捉えてもよい。
 [作業実演]
 前述の図12を用いて、実施の形態2での作業実演の例について説明する。本例では、図12に示したように、マーカー3pが装備されたピペット8を、教示者U1が、マーカー4Rが装着された右手5Rによって把持する操作M2を行う。最初、ピペット8は、作業台10上のホルダ81に設置されている。教示者U1は、マーカー4Rが装着された右手5Rを移動させて、ホルダ81上のピペット8を把持する操作M2を行い、ピペット8を把持したまま右手5Rを移動させる。以下ではこのような操作M2についての教示を対象として説明する。
 [ピペットの把持]
 図19は、作業台10上のホルダ81の構成例、ホルダ81に設置されたピペット8の状態、ピペット8にアタッチメント82を介して装着されたマーカー3pの状態などを示す斜視図である。前述の図6と同様のピペット8およびマーカー3pが、ホルダ81に設置されている。
 本例では、ホルダ81の構造としては、作業台10の上面かつ水平面であるX-Y面に設置される平板部81aと、平板部81aの上に鉛直方向であるZ軸方向に立つ支柱部81bと、支柱部81bの上端においてX-Y面に平行に有する支持部81cとを有する。支持部81cは、ピペット8およびアタッチメント82の所定の箇所を支持できるように、図示のX軸負方向に切り欠きがある形状として四辺のうち一辺を欠いた形状を有する。支持部81cの切り欠きの領域内にピペット8の長軸が配置される。
 ピペット8の上部に装着されたアタッチメント82は、支持部81cの上に載せられる形状、かつハンド機構6の指機構521(図8での指機構521a,521b)によって把持可能な形状などの構造を有する。ホルダ81へのピペット8の設置の際には、マーカー3pのアタッチメント82が支柱部81bの支持部81cの上に載せられ、これにより、ホルダ81によって、ピペット8、アタッチメント82およびマーカー3pの荷重が支えられる。アタッチメント82に接続されたマーカー3pは、アタッチメント82と同程度の高さ位置で、矩形の平板が支持部81cよりも外側に出て、例えばX-Z面に配置されている。マーカー3pも把持操作を妨げないように配置されている。
 ピペット8は、ホルダ81への設置・保持の際には、支持部81cのX-Y面の四辺のうち欠いた一辺に対応した方向として例えばX軸で負から正への方向1901で移動させることで、支持部81cに載せられる。逆に、ピペット8は、ホルダ81からの取り出しの際には、支持部81cのX-Y面の四辺のうち欠いた一辺に対応した方向として例えばX軸で正から負への方向1902で移動させることで、支持部81cから取り出される。
 このようなホルダ81に搭載されたピペット8を、ロボット2のハンド機構6Rの先端の指機構521によって把持して移動させるためには、当該機構がホルダ81上で試験管8の上部を把持できること、かつ、当該機構をホルダ81に衝突させないようにアクセスできる位置および姿勢を保ちつつ動作させることが必須となる。このようなことが、前述の操作制限となる。
 また、本例では、ピペット8の上部においてアタッチメント82の側面の左右の箇所を指機構521によって把持できるように、予めアタッチメント82などが設計されている。道具や機構が異なる場合には、それに合わせて、操作の箇所やアタッチメントの構成も異なり、操作制限も異なる。
 ロボット2のハンド機構6のハンド部520による操作およびそれに係わる操作制限は、一例として以下となる。ハンド機構6は、ピペット8の把持操作の際に、姿勢としては指機構521の水平を保つ姿勢をとりつつ、位置の軌道としては、支持部81cの切り欠きの方向、本例ではX軸の負から正への方向1901で平行移動するようにアクセスし、ピペット8の上部のアタッチメント82の側面の箇所に至ってその箇所を左右から把持する動作をとる。そして、ハンド機構6は、指機構521によってピペット8を把持した状態で、その指機構521を、水平を保ったままX軸の正から負への方向1902で平行移動するように引き抜く動作をとる。
 [操作制限および操作ポーズ]
 図20は、図19のホルダ81のピペット8に対してロボット2の右側のハンド機構6Rの指先である指機構521(図8での指機構521a,521b)がアクセス可能なポーズについての説明図であり、座標系ΣwでのX-Z面の側面図を示す。なお、図20では、理解の容易のため、ピペット8にアクセス可能となるロボット2の機構のポーズを示すために、ハンド機構6Rの指機構521のみを、仮想的に破線で図示している。また、アタッチメント82およびマーカー3pの図示を省略している。また、以降の説明で、ポーズを表現するための座標系は、実施の形態1と同様に、特に断り無い限り、作業台座標系である座標系Σwに従う。
 図20では、操作制限範囲R20を有する。操作制限範囲R20は、操作制限が必要な3次元空間の範囲である。操作制限範囲R20は、例えばX軸方向では位置X1から位置X2までの範囲、Y軸方向では図示しないがピペット8の長軸が配置された位置を中心として左右を含む範囲、Z軸方向では作業台10の上面を0として高さZ1よりも上の所定の高さZ2までの範囲である。
 図20では、指機構521によるピペット8の把持操作の際の、図19の方向1901でのアクセスの動作の際のポーズの軌道、言い換えると経路を、軌道2000で示している。方向1902での引き抜く動作の軌道は、方向1901での動作の軌道2000とは逆方向の軌道となる。軌道2000は、操作制限範囲R20内の軌道2001と、操作制限範囲R20外の軌道2002とが接続されて成る。
 本例では、ロボット2のハンド機構6Rが、ホルダ81に干渉せずに、すなわち余計な接触などをせずに、ホルダ81のピペット8にアクセスしてピペット8を把持するために、以下のように操作制限を考慮した動作をとる。まず、ハンド機構6Rは、操作制限範囲R20外では、指機構521を、姿勢の変化を許容する基本的に自由な軌道2002で、操作制限範囲R20の境界に対応した位置p21まで移動させる。軌道2002の起点は特に限定しない。位置p21,p22は、指機構521の把持中心位置として示す。位置p21は、X軸方向では位置X2、Y軸方向ではピペット8の長軸が配置されている位置、Z軸方向では作業台10の上面から高さZ1の位置に対応する。
 次に、ハンド機構6Rは、操作制限範囲R20内では、指機構521を、ホルダ81のピペット8の設置位置および把持位置に対応した位置p22、Z軸では高さZ1の位置に対し、水平の姿勢を保ち、X軸方向で少なくとも距離Lfだけ負から正への方向に平行移動させる。この動作を、位置X2から位置X1への軌道2001で表している。これにより、指機構521とホルダ81との干渉が避けられる。ハンド機構6Rは、位置p22で指機構521をY軸方向で動かすことで、支持部81cよりも上側のピペット8の上部の側面の所定の箇所を把持する。
 また、ハンド機構6Rが、ホルダ81に干渉せずに、すなわち余計な接触などをせずに、ホルダ81からピペット8を把持したまま取り出すために、以下のように操作制限を考慮した動作をとる。まず、ハンド機構6Rは、操作制限範囲R20内では、ピペット8を把持した状態の指機構521を、ホルダ81のピペット8の設置位置および把持位置に対応した位置p22、Z軸では高さZ1の位置に対し、水平の姿勢を保ち、X軸方向で少なくとも距離Lfだけ正から負への方向に平行移動させる。この動作は、軌道2001とは逆方向の、位置X1から位置X2への軌道である。これにより、指機構521とホルダ81との干渉が避けられる。その後、ハンド機構6Rは、位置p21からは、姿勢の変化を許容しながら、ピペット8を把持した指機構521を基本的に自由に移動させる。この動作は、例えば軌道2002とは逆方向の軌道として、位置X2からX軸で負方向への軌道であり、軌道の終点は特に限定しない。
 このような操作制限を考慮したロボット2のハンド機構6の動作を実現するための教示のために、実施の形態2では、例えば操作制限範囲R20またはそれに対応した軌道2001のようなポーズを、予め、操作制限に係わる補正データとして設定しておく。制御装置100は、教示者U1の作業実演時の右手5R側の計測ポーズに対し、このような補正データを用いて、操作制限に対応した操作ポーズを生成する。
 この補正データにおける、操作制限範囲R20内の軌道2001に対応したポーズは、把持操作、被把持物、および把持機構などに応じて一意に定められるポーズである。補正の際に、このようなポーズが操作ポーズとして生成される。この操作ポーズは、軌道2001のように機構が道具に接近する際の接近ポーズと、逆軌道として機構が道具から離れる際の離脱ポーズとを有する。
 操作制限範囲R20に対応させて、機構と道具とが干渉しない軌道2001のようなポーズが規定される。操作制限範囲R20は、例えば制限される変位方向としてのX軸方向や、制限される距離としての距離Lfや、制限される姿勢としての水平姿勢などが含まれる。操作制限範囲R20は、接近ポーズをとって動作すべきであるX軸正方向での距離Lfの範囲である接近ポーズ範囲や、離脱ポーズをとって動作すべきであるX軸負方向での距離Lfの範囲である離脱ポーズ範囲などが含まれる。
 制御装置100は、上記のような操作制限範囲R20または軌道のポーズの少なくとも一方を、補正データ格納部106に補正データとして設定しておく。制御装置100は、ユーザが画面で設定した操作制限範囲R20に基づいて軌道のポーズを算出して、補正データとして設定してもよい。制御装置100は、ユーザが画面で設定した軌道のポーズを補正データとして設定してもよい。
 なお、本例では、把持操作の際の、接近時の軌道2001と、離脱時の軌道とを、姿勢が同じで逆方向の変位の軌道としたが、これに限らず、対象に応じては、それらが異なる軌道となってもよく、異なる操作制限が設定されてもよい。
 [操作制限を考慮した補正]
 次に、図21A等を用いて、実施の形態2のロボット教示方法等における、操作制限を考慮した補正を含む教示データ生成について説明する。図21A,図21B,図21Cは、実施の形態2での教示データ生成の詳細例についてのグラフを図15A等と同様に示している。図21A等では、図12のように教示者U1の右手5Rによってホルダ81のピペット8を把持する右手把持の操作M2の際の各種データを示す。図21A等では、理解の容易のため、前述と同様に、座標系ΣwのX軸方向の位置のみの時系列データを示す。時刻0から時刻mまでの時間は、右手5Rがピペット8まで移動して把持する動作と対応しており、時刻mでは操作M2に対応して把持操作指示が入力され検知されている。
 図21Aは、ピペット8側のマーカー3pの第1計測ポーズのデータD1’と、作業者U1の右手5R側のマーカー4Rの第2計測ポーズのデータD2’と、データD1’から把持中心位置でのポーズに変換したデータD11’と、データD2’から把持中心位置でのポーズに座標変換したデータD12’とを示す。
 図21Bは、データD20’、データD21’、データD200を示す。データD20’は、図15のデータD20と同様に、データD11’とデータD12’とに基づいてデータD12’の選択により生成された教示ポーズである。データD21’は、データD20’から補正により生成された教示ポーズである。データD20’からデータD21’への補正は、実施の形態1と同様に、手の動きの誤差を考慮して、時刻0~mの時間で、差分ΔXの引き算を用いた補正演算である。また、図21Bでは、時刻0の教示指示(「start」)のデータD30’、時刻mの操作指示(「close」)のデータD31’、時刻nの教示指示(「end」)のデータD32’を有する。
 また、図21Bでは、図20の操作制限範囲R20の接近ポーズ範囲について、X軸方向の距離Lfに対応する位置の範囲を、範囲2101で示している。位置Xr1は、図20での位置X2と対応しており、位置Xr2は、位置X1と対応している。また、データD21’およびデータD20’におけるX軸方向の位置が、図20の操作制限範囲R20の距離Lfの接近ポーズ範囲に対応した範囲2101内に収まる時刻を、時刻Tra~Trbとして示す。時刻Traは、データD21’での位置が位置Xr1を上回る時刻に相当し、時刻Trbは、データD20’での位置が位置Xr1を下回る時刻に相当する。データD21’での位置は、時刻mで頂点の位置Xr2に達しており、時刻m以降は未補正のデータD20’の位置と接続されている。
 教示データ生成部107は、データD21’のような教示ポーズの算出後、図2の操作ポーズ生成部112の処理によって、補正データ格納部106に格納されている補正データを参照して、操作制限範囲R20に対応した操作ポーズを生成する。操作ポーズ生成部112は、操作制限範囲R20に対応した例えば軌道2001のような接近ポーズを生成する。そして、教示データ生成部107は、その操作ポーズを用いて、操作制限に係わる補正を行う。
 図21Bでは、その接近ポーズは、時刻taから時刻mまでの直線のデータDaで表される。操作ポーズ生成部112は、把持の操作M2の時刻mではデータD11’およびデータD21’と同じポーズの位置Xr2および姿勢に一致させるようにして、接近ポーズのデータDaを算出する。これに伴い、接近ポーズのデータDaの開始の時刻taも算出される。そして、教示データ生成部107は、その接近ポーズによって、データD21’の時刻ta~mに対応する一部を置換する。
 把持の操作M2の時刻mから後の離脱ポーズのデータDbについても同様に算出できる。操作ポーズ生成部112は、図20の操作制限範囲R20に対応した、例えば軌道2001の逆軌道のような離脱ポーズを生成する。図21では、その離脱ポーズは、時刻mから時刻tbまでの直線のデータDbで表される。操作ポーズ生成部112は、把持の操作M2の時刻mではデータD11’およびデータD21’と同じポーズの位置Xr2および姿勢に一致させるようにして、離脱ポーズのデータDbを算出する。これに伴い、離脱ポーズのデータDaの終了の時刻tbも算出される。そして、教示データ生成部107は、その離脱ポーズによって、データD20’の時刻m~tbに対応する一部を置換する。
 上記操作ポーズである接近ポーズおよび離脱ポーズを用いた置換による補正後のデータD200(Da,Db)は、図21Cでは、データD40’の一部となる。データD40’は、時刻mまでの接近ポーズのデータDaを含むデータD41’と、時刻m以降の離脱ポーズのデータDbを含むデータD41’とを有し、前述の教示指示や操作指示のデータ(D30’,D31’,D32’)も関連付けられている。また、時刻mまでのデータD41’において、補正前の時刻Traから時刻taまでのデータは、位置Xr1のまま変化しないデータDcに補正されている。時刻m以降のデータD42’において、補正前の時刻tbから時刻Trbまでのデータは、位置Xr1のまま変化しないデータDdに補正されている。
 上述のように、実施の形態2では、まず実施の形態1と同様に教示ポーズのデータD21’およびデータD20を生成し、さらに操作制限範囲R20を考慮した操作ポーズのデータDa,Dbを生成し、その教示ポーズのデータD21’およびデータD20の一部として把持操作の時刻mの付近の時刻Tra~Trbの範囲内を、その操作ポーズによって置換するように補正する。これにより、補正後のデータD200を含む教示データD40’が得られる。
 [変形例]
 実施の形態2の変形例として、上記操作制限を考慮した補正に関するさらなる詳細な処理例を説明する。図21A等での補正の処理例では、操作ポーズのデータD200(Da,Db)については、接近ポーズ、離脱ポーズのいずれも、一定の傾きの直線、言い換えると一定の速度で変位するポーズとして生成され、それらのポーズにそのまま置換する場合を示した。その際の直線の傾きに応じて、操作ポーズの開始の時刻taや終了の時刻tbが決められ、それらに対する前後の時間は、データDc,Ddのように、変位しない直線として補正される場合を示した。上記直線の傾きや速度についても、操作制限に応じて決められる。このような補正の処理例に限定されずに、各種の処理例が可能である。
 図22Aは、ある変形例として変形例2Aを示す。前提となる計測データ等は図21Aと同様とする。この変形例2Aでは、把持操作の時刻mの位置を頂点として、操作制限範囲R20の距離Lfに対応した時刻Tra、時刻Trbに基づいて、操作ポーズ生成部112は、時刻Traと時刻mとを結ぶ直線として接近ポーズのデータDa’を生成し、時刻mと時刻Trbとを結ぶ直線として離脱ポーズのデータDb’を生成している。データDa’およびデータDb’は、前述のデータDaおよびデータDbよりも、傾きが緩やかとなっている。そして、教示ポーズのデータD21’およびデータD20‘を、これらの操作ポーズD200a(Da’,Db’)により置換することで、図示のような補正後の教示データが生成される。
 図22Bは、他の変形例として変形例2Bを示す。前提となる計測データ等は図21Aの場合よりも変動や揺れが大きいものとする。また、本例では、把持操作の際の頂点の位置は、時刻mから時刻m’まで続いている。すなわち、教示者U1が操作M2の際に右手5Rにピペット8を把持したままの状態が、ある程度の時間維持された場合を示している。また、本例では、離脱の際の変位が大きかったため、時刻Trbに対し時刻tbが後の時刻になっている。
 データD21’やデータD20’は、補正前の教示ポーズである。操作ポーズ生成部112は、データD21’やデータD20’に対し、実施の形態2の図21A等の処理例と同様にして、操作ポーズD200b(Da,Db)を生成する。操作ポーズD200bは、時刻taから時刻mまでの接近ポーズのデータDaと、時刻m’から時刻tbまでの離脱ポーズのデータDbとを有する。そして、この変形例2Bでは、操作ポーズのデータD200bの前後については、なるべく元のデータD21’やデータD20’のポーズのままとして補正しない。本例では、時刻Traから時刻taまでの時間は、元のデータD21’として例えば時刻tcの位置Xr4と、時刻taの位置Xr1とをつなぐデータDeを有している。また、時刻Trbの付近の時間は、時刻tbまでデータDbを優先するように補正されて、時刻tb以後はデータD20’の位置に接続されている。
 変形例2Bのような補正としてもよい。しかしながら、ポーズの変動量が大きい部分、例えば時刻tcでの位置Xr4を含む部分などが気になる場合には、さらに、以下のような補正としてもよい。
 図22Cは、他の変形例として変形例2Cを示す。この変形例2Cでは、例えば図22Bと同様の、操作制限を考慮した操作ポーズによる補正を行った後、さらに、追加の補正として、操作ポーズによる置換部分と、それに対する前後の時間の部分とで、接続がより滑らかになるように、言い換えると、ポーズの変化量がなるべく小さくなるように補正する。この補正の考え方は、実施の形態1の変形例での補正と同様であり、各種の処理例が同様に適用できる。
 図22Cの例では、例えば時刻tcと時刻taとでX軸方向の変位量A4が閾値以上に大きいとする。この場合に、教示データ生成部107は、この変位量A4が低減されるように、統計処理やノイズ除去等の方法を用いて、教示ポーズを補正する。統計処理を用いる場合の一例では、例えば時刻tcの位置Xr4と時刻taの位置Xr1との平均値をとり、変化量が大きい時刻tcの位置を、その平均値によって補正、例えば置換する。その場合の補正後の教示ポーズは、データDfのようになる。他の例では、時刻taの位置Xr1もその平均値に置換し、データDaの直線の傾きを緩やかにしてもよい。ノイズ除去を用いる場合の一例では、変化量が大きい時刻tcの位置を、ノイズとみなし、時刻Traおよび時刻taの位置Xr1と同じになるように、変位しない直線に補正する。その場合の補正後の教示ポーズは、データDgのようになる。
 時刻m以降の離脱の動作についても、上述した各種の補正の処理例を同様に適用可能である。
 他の変形例としては、時刻m~m’のような頂点の位置で変位せずに維持される時間について、0または所定の時間以内に短縮するように補正を行うようにしてもよい。補正データの一部としてその頂点の時間を決めておき、その時間になるように補正を行うようにしてもよい。
 [GUI画面]
 図23は、実施の形態2で、ロボット教示装置1が、ユーザである作業者U1や管理者U2に対して提供するGUIを含む画面の表示例を示す。図23の画面は、例えば図2の制御装置100の教示指示検知部105による処理に基づいて、入出力装置120の表示装置(図3での出力装置1006)の表示画面に表示される。図23の画面は、作業スペース編集画面として構成された例を示している。この画面は、作業スペースの設定・編集を可能とする。この画面は、作業台設定画面部2301と、補正データ設定画面部2302と、補正データ編集画面部2303と、を含んでいる。
 図23の作業スペース編集画面を用いて、ユーザが制御装置100に補正データを予め設定することで、実施の形態2のロボット教示方法での処理を実行できる。ユーザである作業者U1または管理者U2は、図23の画面で、作業スペースや、必要な補正データ等を設定でき、それらのデータ・情報を確認できる。作業スペースは、図1のような作業台10上の空間に対応し、座標系Σwも設定可能である。ユーザは、図23の画面で、作業スペースごとに設定を行って、名前を付けて保存でき、保存された設定を読み出して確認すること等ができる。
 作業台設定画面部2301は、図1のような作業台10上に置かれる対象物の種類や配置を定めるためのGUIを有する。対象物は、被操作物である道具や、その道具に係わるホルダなどの関連物である。本例では、作業台設定画面部2301に、作業台10の斜視図において、試験管7のホルダ71、ピペット8のホルダ81などが表示されている。ユーザは、例えばマウスのカーソル等を操作することで、作業台10を見るビューを変えながら、対象物の位置や姿勢などを設定できる。また、作業台設定画面部2301で、図4のようなカメラ20の位置や向きを設定可能としてもよい。
 補正データ設定画面部2302は、作業台設定画面部1301に設定可能な被操作物を含む対象物(例えば図19)に対し、前述の図20のような接近ポーズや離脱ポーズなどの操作ポーズの軌道、または操作制限範囲R20等の補正データを設定するためのGUIを有する。本例では、補正データ設定画面部2302の下部の領域2302bにおいて、例えば図20と同様に座標系ΣwのX-Z面での側面図が表示されている。補正データ設定画面部2302で、対象物などの設定の名前やビュー、操作制限範囲R20について座標系Σwの各軸での制限の距離や力、操作ポーズの軌道のファイルなどが設定および確認できる。操作ポーズの軌道は、例えば領域2302bまたは補正データ編集画面部2303で、ユーザがマウスのカーソル等を操作することで設定可能としてもよい。設定された操作ポーズの軌道を領域2302bまたは補正データ編集画面部2303に表示して確認可能としてもよい。補正データ設定画面部2302で、教示者U1の手5やハンド機構6の初期位置、言い換えるとポーズの軌道の初期位置などを設定可能としてもよい。
 補正データ編集画面部2303は、補正データ設定画面部2302に設定可能な補正データの詳細を、対象のロボット2のハンド機構6の先端、例えば図8のハンド部520の指機構521のポーズ等の動作として確認および編集可能とするGUIを有する。本例では、補正データ編集画面部2303に、補正データ設定画面部2302で設定された範囲R20および操作ポーズの軌道に対応させて、右側のハンド機構6Rのハンド部520の指機構521によるピペット8の把持または離脱の動作が、アニメーション等として表示される。また、動作は、時系列の時刻を指定することで静止画としても表示できる。
 図示しないが、候補となるロボット2のハンド機構などが複数ある場合には、画面で対象の機構を設定可能としてもよい。また、実施の形態2のシステムにより生成された教示データの内容について、図示しないが、例えば図18と同様の画面で表示して確認可能である。
 図示しないが、前述の操作制限を考慮した補正や、追加の補正に係わり、判定用の閾値などを用いる場合には、画面内にその閾値などの設定情報も表示でき、ユーザによるその設定情報の確認やユーザ設定を可能とする。また、前述の各変形例のような、複数の補正方法を実装してもよく、その場合、画面で複数の補正方法からユーザが適用する補正方法を選択して設定可能としてもよい。
 [実施の形態2の効果等]
 以上説明したように、実施の形態2によれば、実施の形態1の効果に加え、以下を奏する。実施の形態2では、ロボット2の把持機構の形状や被把持物の形状に応じて、人である教示者U1の作業動作時とロボット2の作業動作時とで異なる手先のポーズを取りうる場合に、通常作業動作の実演から、操作制限を考慮した補正を行うことで、より容易に適切な教示ポーズを生成することができる。
 以上、本開示の実施の形態について具体的に説明したが、前述の実施の形態に限定されず、要旨を逸脱しない範囲で種々変更可能である。各実施の形態は、必須構成要素を除き、構成要素の追加・削除・置換などが可能である。特に限定しない場合、各構成要素は、単数でも複数でもよい。各実施の形態や変形例を組み合わせた形態も可能である。
 [付記]
 実施の形態のロボット教示方法は以下としてもよい。実施の形態のロボット教示方法は、作業台座標系と、被操作物に設置された第1マーカーのポーズの座標系と、教示者の手に設置された第2マーカーのポーズの座標系と、ロボットのハンド機構の座標系との関係に基づいて、座標変換により、作業台座標系で表現された教示ポーズを算出するステップを有する。
 1…ロボット教示装置(ロボット教示システム)、2…ロボット、3(3a,3b,3p)…マーカー(マーカープレート、手側マーカー、第1マーカー)、4(4L,4R)…マーカー(マーカープレート、道具側マーカー、第2マーカー)、5(5L,5R)…手、6(6L,6R)…ハンド機構、7(7a,7b)…試験管(第1の道具)、8…ピペット(第2の道具、マイクロピペット)、U1…教示者(作業者、第1ユーザ)、U2…管理者(第2ユーザ)、9…エンドエフェクタ、10…作業台、20(20a,20b,20c,20d)…カメラ、100…制御装置(ロボット教示制御装置)、D1,D2,D11,D12,D20,D21,D30,D31,D32,D40,D41,D42…データ。

Claims (15)

  1.  教示者の手による被操作物の操作を含む作業動作の計測に基づいて、前記作業動作に対応させたロボットのハンド機構の動作として関節変位のシーケンスを含むロボット動作データを生成するための教示を行うロボット教示方法であって、
     コンピュータシステムにより実行されるステップとして、
     前記作業動作の際の前記被操作物の位置および姿勢から成る時系列のポーズを計測した第1計測ポーズを取得するステップと、
     前記作業動作の際の前記教示者の手の位置および姿勢から成る時系列のポーズを計測した第2計測ポーズを取得するステップと、
     前記教示者による前記被操作物の前記操作を検知するステップと、
     前記第1計測ポーズ、前記第2計測ポーズ、および検知された前記操作に基づいて、前記ロボット動作データを生成するための教示ポーズを生成するステップと、
     を有する、ロボット教示方法。
  2.  請求項1記載のロボット教示方法において、
     前記教示ポーズを生成するステップは、
      前記被操作物の前記第1計測ポーズに対する前記手による前記第2計測ポーズの誤差として差分データを取得するステップと、
      前記差分データを用いて、前記誤差を低減するように、前記第1計測ポーズおよび前記第2計測ポーズにおける前記操作の付近の計測データを補正することで、前記教示データを生成するステップと、
     を有する、ロボット教示方法。
  3.  請求項1または2に記載のロボット教示方法において、
     前記教示ポーズを生成するステップは、
      設定された補正データとして、前記ロボットの前記ハンド機構が前記被操作物に対して前記操作を行う際の操作ポーズに関する操作制限を表す補正データを取得するステップと、
      前記補正データを用いて、前記操作制限を満たすように、前記第1計測ポーズおよび前記第2計測ポーズにおける前記操作の付近の計測データを補正することで、前記教示データを生成するステップと、
     を有する、ロボット教示方法。
  4.  請求項1記載のロボット教示方法において、
     前記第1計測ポーズを取得するステップは、前記被操作物に設置された第1マーカーの位置および姿勢から成る時系列のポーズを計測するステップであり、
     前記第2計測ポーズを取得するステップは、前記教示者の手に設置された第2マーカーの位置および姿勢から成る時系列のポーズを計測するステップであり、
     前記第1マーカーおよび前記第2マーカーは、それぞれのマーカー毎に固有に、複数個の反射マーカーによる配置パターンを有するマーカープレートであり、
     カメラによって前記第1マーカーおよび前記第2マーカーが計測される、
     ロボット教示方法。
  5.  請求項1記載のロボット教示方法において、
     前記教示者による前記被操作物の前記操作を検知するステップは、前記教示者が指示用入力装置を用いて入力した前記操作を表す操作指示を検知するステップ、または、前記第1計測ポーズおよび前記第2計測ポーズに基づいて前記操作を自動的に判定することで検知するステップである、
     ロボット教示方法。
  6.  請求項2記載のロボット教示方法において、
     前記教示データを生成するステップは、
      検知された前記操作のタイミングに対応した時刻での前記差分データを取得するステップと、
      検知された前記操作のタイミングに対応した時刻から、設定された物理量に対応して決められた時間範囲で、過去の時刻まで遡り、前記時間範囲内で、前記誤差を低減する補正を行うステップと、
     を有する、ロボット教示方法。
  7.  請求項2記載のロボット教示方法において、
     前記教示データを生成するステップは、前記操作が検知された付近の計測データにおいて、前記誤差を低減する補正を行った後のデータに対し、時間的に前後のデータとの変化量が予め設定した規定値を満足しない場合に、前記規定値を満足したいデータ部分を、統計処理またはノイズ除去処理によって、追加補正するステップを有する、
     ロボット教示方法。
  8.  請求項6記載のロボット教示方法において、
     前記時間範囲内で前記誤差を低減する補正を行うステップは、前記時間範囲内で、補正前の計測データを、統計処理またはノイズ除去処理によって、補正するステップである、
     ロボット教示方法。
  9.  請求項3記載のロボット教示方法において、
     前記操作制限は、前記被操作物の構造と、前記ロボットの前記ハンド機構の前記被操作物を操作するための構造とに応じて決められ、前記被操作物の付近で空間座標系の各軸での前記ハンド機構の移動の方向および距離に関する制限範囲を含む、
     ロボット教示方法。
  10.  請求項3記載のロボット教示方法において、
     前記操作制限は、前記ロボットの前記ハンド機構が作業台上の前記被操作物に接近して前記操作を行う際のポーズと、前記ロボットの前記ハンド機構が前記作業台上の前記被操作物の前記操作を行った後に離脱する際のポーズとの少なくとも一方の操作ポーズに関する制限範囲を含む、
     ロボット教示方法。
  11.  請求項3記載のロボット教示方法において、
     前記操作制限を満たすように補正するステップは、前記第1計測ポーズおよび前記第2計測ポーズにおける前記操作の付近の一部の計測データを、前記操作ポーズによって、置換するステップを有する、
     ロボット教示方法。
  12.  請求項3記載のロボット教示方法において、
     前記操作制限を満たすように補正するステップは、
      前記第1計測ポーズおよび前記第2計測ポーズにおける前記操作制限の範囲の境界に達する時刻を取得するステップと、
      前記操作ポーズを用いて、前記第1計測ポーズおよび前記第2計測ポーズにおける前記操作が検知されたタイミングに対応した時刻の計測データと、前記操作制限の範囲の境界の時刻の計測データとを接続するように補正するステップと、
     を有する、ロボット教示方法。
  13.  請求項3記載のロボット教示方法において、
     前記操作制限を満たすように補正するステップは、
      前記第1計測ポーズおよび前記第2計測ポーズにおける前記操作制限の範囲の境界に達する時刻を取得するステップと、
      前記第1計測ポーズおよび前記第2計測ポーズにおける前記操作ポーズによって補正した部分に対し、時間的に前後の計測データの部分について、統計処理またはノイズ除去処理によって、追加補正するステップと、
     を有する、ロボット教示方法。
  14.  請求項1記載のロボット教示方法において、
     前記第1マーカーは、前記被操作物に前記第1マーカーを装着して前記被操作物とのポーズの関係を保つための第1アタッチメントを備え、
     前記第2マーカーは、前記教示者の手に前記第2マーカーを装着して前記手とのポーズの関係を保つための第2アタッチメントを備え、
     前記ロボットの前記ハンド機構による前記被操作物の前記操作は、前記第1アタッチメントの箇所に対する操作である、
     ロボット教示方法。
  15.  教示者の手による被操作物の操作を含む作業動作の計測に基づいて、前記作業動作に対応させたロボットのハンド機構の動作として関節変位のシーケンスを含むロボット動作データを生成するための教示を行うロボット教示装置であって、
     コンピュータシステムを備え、
     前記コンピュータシステムは、
     前記作業動作の際の前記被操作物の位置および姿勢から成る時系列のポーズを計測した第1計測ポーズを取得し、
     前記作業動作の際の前記教示者の手の位置および姿勢から成る時系列のポーズを計測した第2計測ポーズを取得し、
     前記教示者による前記被操作物の前記操作を検知し、
     前記第1計測ポーズ、前記第2計測ポーズ、および検知された前記操作に基づいて、前記ロボット動作データを生成するための教示ポーズを生成する、
     ロボット教示装置。
PCT/JP2022/018523 2022-04-22 2022-04-22 ロボット教示方法および装置 WO2023203747A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/018523 WO2023203747A1 (ja) 2022-04-22 2022-04-22 ロボット教示方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/018523 WO2023203747A1 (ja) 2022-04-22 2022-04-22 ロボット教示方法および装置

Publications (1)

Publication Number Publication Date
WO2023203747A1 true WO2023203747A1 (ja) 2023-10-26

Family

ID=88419655

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/018523 WO2023203747A1 (ja) 2022-04-22 2022-04-22 ロボット教示方法および装置

Country Status (1)

Country Link
WO (1) WO2023203747A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001051712A (ja) * 1999-08-09 2001-02-23 Kawasaki Heavy Ind Ltd ロボットの技能教示方法及び装置
JP2015071206A (ja) * 2013-10-03 2015-04-16 セイコーエプソン株式会社 制御装置、ロボット、教示データ生成方法及びプログラム
WO2017130389A1 (ja) * 2016-01-29 2017-08-03 三菱電機株式会社 ロボット教示装置及びロボット制御プログラム作成方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001051712A (ja) * 1999-08-09 2001-02-23 Kawasaki Heavy Ind Ltd ロボットの技能教示方法及び装置
JP2015071206A (ja) * 2013-10-03 2015-04-16 セイコーエプソン株式会社 制御装置、ロボット、教示データ生成方法及びプログラム
WO2017130389A1 (ja) * 2016-01-29 2017-08-03 三菱電機株式会社 ロボット教示装置及びロボット制御プログラム作成方法

Similar Documents

Publication Publication Date Title
Ong et al. Augmented reality-assisted robot programming system for industrial applications
CN110977931B (zh) 使用了增强现实和混合现实的机器人控制装置及显示装置
Kang et al. Toward automatic robot instruction from perception-temporal segmentation of tasks from human hand motion
US8155787B2 (en) Intelligent interface device for grasping of an object by a manipulating robot and method of implementing this device
WO2011065035A1 (ja) ロボットの教示データを作成する方法およびロボット教示システム
EP3272473B1 (en) Teaching device and method for generating control information
US9878446B2 (en) Determination of object-related gripping regions using a robot
WO2011065034A1 (ja) ロボットの動作を制御する方法およびロボットシステム
JP2002018754A (ja) ロボット装置及びその制御方法
JP7067816B1 (ja) 画像分割及び表面筋電図に基づくロボットの教示システム及び方法
WO2022014312A1 (ja) ロボット制御装置、およびロボット制御方法、並びにプログラム
Lambrecht et al. Markerless gesture-based motion control and programming of industrial robots
Chen et al. A human–robot interface for mobile manipulator
JP2011200997A (ja) ロボットのティーチング装置及びティーチング方法
Falck et al. DE VITO: A dual-arm, high degree-of-freedom, lightweight, inexpensive, passive upper-limb exoskeleton for robot teleoperation
WO2023203747A1 (ja) ロボット教示方法および装置
Kawasaki et al. Virtual robot teaching for humanoid hand robot using muti-fingered haptic interface
Du et al. A novel natural mobile human-machine interaction method with augmented reality
WO2022195680A1 (ja) ロボットの作業教示装置及び作業教示方法
Du et al. An offline-merge-online robot teaching method based on natural human-robot interaction and visual-aid algorithm
Jiang et al. Flexible virtual fixture enhanced by vision and haptics for unstructured environment teleoperation
JPS62165213A (ja) 作業環境教示装置
Sanches et al. Scalable. Intuitive Human to Robot Skill Transfer with Wearable Human Machine Interfaces: On Complex, Dexterous Tasks
US20230278211A1 (en) Robot Teaching Device and Work Teaching Method
Ishihata et al. Teaching Method for Robot’s Gripper Posture with a Laser Sensor on a Pan-tilt Actuator: A Method for Specifying Posture Feature Curves and Posture Feature Point

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: 22938547

Country of ref document: EP

Kind code of ref document: A1