WO2011065034A1 - ロボットの動作を制御する方法およびロボットシステム - Google Patents

ロボットの動作を制御する方法およびロボットシステム Download PDF

Info

Publication number
WO2011065034A1
WO2011065034A1 PCT/JP2010/054935 JP2010054935W WO2011065034A1 WO 2011065034 A1 WO2011065034 A1 WO 2011065034A1 JP 2010054935 W JP2010054935 W JP 2010054935W WO 2011065034 A1 WO2011065034 A1 WO 2011065034A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
wrist
hand
teaching
robot hand
Prior art date
Application number
PCT/JP2010/054935
Other languages
English (en)
French (fr)
Inventor
正己 高三
宗隆 山本
和夫 清木
Original Assignee
株式会社豊田自動織機
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社豊田自動織機 filed Critical 株式会社豊田自動織機
Publication of WO2011065034A1 publication Critical patent/WO2011065034A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J3/00Manipulators of master-slave type, i.e. both controlling unit and controlled unit perform corresponding spatial movements
    • B25J3/04Manipulators of master-slave type, i.e. both controlling unit and controlled unit perform corresponding spatial movements involving servo mechanisms
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1689Teleoperation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/375673-D vision, stereo vision, with two cameras
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40116Learn by operator observation, symbiosis, show, watch

Definitions

  • the present invention relates to a method and a robot system for controlling the operation of a robot.
  • This teaching method includes a method of directly inputting teaching data representing an operation pattern as a numerical value from a keyboard, a method in which an instructor operates a robot control device to execute an operation, and a teaching data is generated accordingly. And a method of automatically generating teaching data for inputting an image of a human hand and matching the posture of the robot hand.
  • Cited Document 1 describes an example of a method for matching the posture of a robot hand with an image of a human hand.
  • the robot of Cited Document 1 has a structure that completely matches the structure of a human hand. In such a case, since the positions and angles of the finger joints all match, the coordinates of the human finger joints and the like are measured, and the robot is driven to realize this as it is. The robot can be operated.
  • the present invention has been made to solve such problems.
  • a robot having a structure different from that of a human hand is compared with that of a human hand.
  • An object of the present invention is to provide a device capable of controlling real-time operation.
  • a method for controlling the operation of a robot is a method for controlling the operation of at least one robot provided with a robot hand, the teaching information acquiring step including acquiring teaching information including a human hand; Determining a finger coordinate representing a position related to a finger based on teaching information; calculating a robot hand joint angle representing an angle of each joint of the robot hand based on the finger coordinate determining step; A hand joint angle calculating step, and a drive command transmitting step of transmitting a drive command to the robot hand based on the robot hand joint angle calculated in the robot hand joint angle calculating step.
  • the teaching information may be a teaching image
  • the teaching information acquisition step may be a teaching image acquisition step.
  • the finger coordinates are determined based on the teaching image, the finger coordinates are converted into the robot hand joint angle, and the robot is driven based on the robot hand joint angle.
  • a pattern drive command transmission step for driving the robot hand based on predetermined motion pattern data representing the motion pattern of the joints of the robot hand is included, and when a predetermined condition is satisfied, instead of the drive command transmission step A pattern drive command transmission step may be executed.
  • the robot further includes a robot arm, the teaching image further includes a human wrist, and the method determines a wrist coordinate representing the position and orientation of the wrist based on the teaching image; And a robot arm drive command transmission step of transmitting a drive command to the robot arm based on the above.
  • the teaching image may include wrists and hands for both human arms, and the robot hand joint angle and wrist coordinates may be calculated or determined for both arms.
  • the robot system includes at least one robot and a control device having a function of controlling the robot by executing the above-described method.
  • the robot system for controlling the operation of the robot Since the method and the robot system for controlling the operation of the robot according to the present invention calculate the angles of the joints of the robot hand based on the finger coordinates of the teacher, the robot system has a structure different from that of the human hand. Can control real-time movements like human hands.
  • FIG. 1 It is a figure which shows the structure relevant to the robot control system which concerns on Embodiment 1 of this invention. It is a flowchart explaining operation
  • A) is a figure which shows the example of the finger coordinate which the robot control system of FIG. 1 determines.
  • (B) is a figure which shows the example of the robot hand joint angle which the robot control system of FIG. 1 determines. It is a figure which shows the structure relevant to the robot control system which concerns on Embodiment 2 of this invention. It is a figure which shows the structure of the monocular camera which concerns on the robot control system which concerns on Embodiment 3 of this invention.
  • FIG. FIG. 1 shows a configuration related to the robot control system according to the first embodiment of the present invention.
  • the robot control system includes a robot 100 to be taught and a control device 200 connected to the robot 100.
  • the robot 100 may be a so-called manipulator.
  • the robot 100 includes a robot arm 110 and a robot hand 120.
  • the robot hand 120 has a structure different from that of human fingers as a whole. That is, at least one of the number of fingers, the number of joints, the length of each node, the number of degrees of freedom of joints, and the like is different from that of human fingers. In FIG. 1, the robot hand 120 has three fingers, but it may be at least two.
  • the base of the robot hand 120 is connected to the tip of the robot arm 110. If the position and orientation of the robot arm 110 are determined, the positions of the bases of all the robot hands 120 are uniquely determined accordingly.
  • the robot 100 works on the object 130. The work can be grasped, transported, assembled, and the like.
  • the control device 200 is a computer that includes an arithmetic means (CPU or the like) and a storage means (semiconductor memory device, magnetic disk device or the like), although its internal configuration is not shown.
  • the control device 200 functions as a teaching data creation device that creates teaching data for the robot 100 by executing the teaching data creation program stored in the storage means, and the drive control stored in the storage means. By executing the program, it functions as a drive control device that controls the operation of the robot 100.
  • These teaching data creation program and drive control program can be stored in an information storage medium.
  • the control device 200 has a function of determining coordinates representing the spatial position of each joint of the fingers and the spatial position of the fingertip based on an image including a human hand.
  • a function is, for example, a study of Tanimoto et al. ("Tanimoto Takaaki et al.”, which was made public in March 2006, “Finger shape from an image database using a self-propagating SOM for robot hand control”). This can be achieved by using the method described in the University of Tsukuba graduate School of Information Science and Technology (Master's thesis). According to this method, the posture of the hand can be estimated from one two-dimensional image obtained by imaging the hand.
  • the joint joint angle information and hand image are acquired in advance, contour extraction and feature quantification are performed in the image, and a database is constructed using this feature value and angle as data. . Then, the actual image of the hand is converted into the same feature as when the database was constructed, and the angle of the joint of the hand is estimated by comparing the obtained feature with the feature of the database. Estimated.
  • a plurality of patterns are stored in a database for feature quantities that are data representing hand postures, and one pattern (posture) is selected from the plurality of patterns (posture candidate data) based on the actual image.
  • candidate data can be selected.
  • the spatial position of the finger can be determined in a coordinate system in which the origin is set based on the wrist position and the coordinate axis is set based on the wrist orientation.
  • control device 200 may be configured such that when a part of the hand or the finger does not appear in the image (for example, when it is out of the field of view of the camera, the object of view is blocked by the object, When the field of view of the camera is obstructed by a finger or the like, the occlusion part (that is, the part that does not appear in the image) is estimated and complemented.
  • a part of the hand or the finger does not appear in the image
  • the occlusion part that is, the part that does not appear in the image
  • Such a function can be realized by using a well-known image processing technique.
  • the robot control system includes a monocular camera 30 connected to the control device 200.
  • the monocular camera 30 functions as a teaching image acquisition unit for the hand 21. That is, the hand 21 including the finger of the teacher 10 who is a human is photographed, and an image including the hand 21 is acquired and transmitted to the control device 200.
  • the name “monocular camera” is used for distinction from the stereo camera 40 described later, and may not be a monocular camera as long as it has a similar function.
  • the hand 21 is a part ahead of the wrist 22, that is, a part including a palm and a finger.
  • the arm 23 is a portion closer to the base than the wrist 22. In this embodiment, the right arm is used, but the left arm may be used.
  • the robot control system also includes a stereo camera 40 connected to the control device 200.
  • the stereo camera 40 functions as a teaching image acquisition unit for the wrist 22. That is, the wrist 22 of the teacher 10 is photographed, and an image including the wrist 22 is acquired and transmitted to the control device 200.
  • the stereo camera 40 can shoot a stereoscopic image with a known configuration. That is, the stereo camera 40 includes at least two cameras, and these cameras capture images including the wrist 22 from different positions. Based on the position of the wrist 22 in each image, the spatial positional relationship including the distance between the stereo camera 40 and the wrist 22 can be determined.
  • the robot control system includes a monitor camera 50 that captures an image of the robot 100 and a monitor 60 that displays an image captured by the monitor camera 50.
  • the monitor camera 50 functions as robot state imaging means
  • the monitor 60 functions as robot state display means.
  • the monocular camera 30, the stereo camera 40 and the monitor 60 are arranged in the vicinity of the teacher 10.
  • the monocular camera 30 is disposed at a position where the entire range in which the hand 21 moves when the instructor 10 teaches is within the field of view.
  • the stereo camera 40 is disposed at a position where the entire range in which the wrist 22 moves when the instructor 10 teaches is within the visual field.
  • the monitor 60 is arranged at a position where the display content can be seen when the teacher 10 performs teaching work. With such an arrangement, the teacher 10 can perform a teaching operation while visually recognizing the state of the robot 100, and can thereby remotely operate the robot 100 in real time.
  • step S 1 the robot control system executes a teaching image acquisition step (step S1).
  • step S ⁇ b> 1 the robot control system acquires a teaching image including the hand 21 and the wrist 22 of the teacher 10. This teaching image is used for teaching the robot 100.
  • Step S1 the monocular camera 30 acquires one teaching image including the hand 21 (Step S1a), and the stereo camera 40 acquires a stereo wrist image including two images including the wrist 22 ( Step S1b). That is, in step S1b, each camera constituting the stereo camera 40 acquires one teaching image including the wrist 22 one by one.
  • step S1b each camera constituting the stereo camera 40 acquires one teaching image including the wrist 22 one by one.
  • step S1 the monocular camera 30 and the stereo camera 40 transmit the acquired teaching images to the control device 200, and the control device 200 receives them and stores them in the storage means.
  • step S2 the control device 200 determines wrist coordinates representing the position and orientation of the wrist 22 based on the teaching image.
  • Step S2 includes a posture candidate data selection step (step S2a), a wrist position determination step (step S2b), and a wrist direction determination step (step S2c).
  • the control device 200 selects one posture candidate based on the teaching image including the hand 21 from among a plurality of posture candidate data representing the posture of the hand stored in the database. Select data. This selection can be performed by a known method. For example, the control device 200 can select the one having the highest degree of coincidence between the feature amount extracted from the teaching image and the feature amount representing the posture candidate data.
  • the control device 200 determines the position of the wrist 22 based on the stereo wrist image photographed by the stereo camera 40.
  • An example of a method for determining the position of the wrist 22 in the image will be described with reference to FIG. FIG. 3 shows one of the stereo wrist images.
  • the control device 200 first detects a constricted portion 22a represented by two points in the image, and calculates the position of the midpoint 22b of the constricted portion 22a. Then, the position of the midpoint 22b in the image is determined as the position of the wrist 22 in the image. Further, the control device 200 determines the position of the wrist 22 in the same manner while the stereo wrist image remains. Thereafter, the spatial position of the wrist 22 with respect to the stereo camera 40 can be calculated based on the position of the wrist 22 in each of the stereo wrist images.
  • step S2c the control device 200 determines the orientation of the wrist 22 in the teaching image of the hand 21 based on the correspondence between the teaching image of the hand 21 and the posture candidate data selected in step S2a. Since the posture candidate data represents coordinates representing the position of each joint of the fingers and the spatial position of the fingertip with reference to the position and orientation of the wrist, for example, the hand 21 in the teaching image and the selected posture candidate If the data best matches a particular orientation, that orientation can be determined as the orientation of the wrist 22.
  • step S2 the process including steps S3 to S8 and the process including steps S9 to S12 are executed in parallel. However, these may be executed in series.
  • control device 200 executes a finger coordinate determination step (step S3).
  • step S ⁇ b> 3 the control device 200 determines finger coordinates representing the positions of the joints and fingertips of the fingers based on the teaching image of the hand 21. This can be done according to the method of Tanimoto et al.
  • FIG. 4A shows an example of finger coordinates determined in this way. In FIG. 4A, finger coordinates related to the thumb, index finger and middle finger of the right hand of the hand 21 of the teacher 10 are shown.
  • the point (x 11 , y 11 , z 11 ), the point (x 12 , y 12 , z 12 ), and the point (x 13 , y 13 , z 13 ) are respectively the second joint and the first joint of the thumb. And the position of the fingertip.
  • the point (x 4 , y 4 , z 4 ) represents the wrist position determined in step S2b.
  • step S4 the control device 200 calculates a robot hand joint angle representing the angle of each joint of the robot hand 120 of the robot 100 based on the finger coordinates determined in step S3.
  • a specific example of this calculation method is not particularly shown, but can be appropriately designed by those skilled in the art according to conditions such as the structure of the robot 100, the number of fingers of the robot hand 120, and the number of joints of the robot hand 120.
  • step S ⁇ b> 4 the control device 200 converts the measured coordinates relating to the finger of the teacher 10 into a robot hand joint angle, which is data for driving the robot hand 120.
  • FIG. 4B shows an example of the robot hand joint angle determined in this way.
  • the robot 100 itself is not shown, and only the angles of the joints are schematically shown.
  • each finger of the robot hand 120 has two joints.
  • the first joint (fingertip side joint) has one degree of freedom (angle ⁇ )
  • the second joint (base side joint) has two degrees of freedom (angles ⁇ and ⁇ ).
  • the robot 100 has three degrees of freedom with respect to a point (x 0 , y 0 , z 0 ) representing the position of the wrist, that is, the tip of the robot arm 110 and an angle ( ⁇ 0 , ⁇ 0 , ⁇ 0 ) representing the direction. .
  • the robot 100 can be controlled with a total of 15 degrees of freedom.
  • the robot finger 120a, the robot finger 120b, and the robot finger 120c corresponding to the thumb, index finger, and middle finger are shown.
  • FIGS. 4 (a) and 4 (b) for example for the thumb, a point in FIG. 4 (a) (x 11, y 11, z 11), the point (x 12, y 12, z 12), and point Based on the coordinates of (x 13 , y 13 , z 13 ), the angle ( ⁇ 1 ) of the first joint 122 and the angle ( ⁇ 1 , ⁇ 1 ) of the second joint 123 of the robot finger 120a are determined.
  • toe and a robot hand differ in a size, a movable range, etc., even when the number of joints is equal, the position of a joint does not necessarily correspond.
  • the index finger and the middle finger the number of joints is different between the finger and the robot hand. In such a case, a method for calculating the joint angle of the robot hand is well known to those skilled in the art.
  • step S5 the control device 200 executes a robot hand joint angle difference calculating step (step S5).
  • step S5 the control device 200 calculates a difference ⁇ between the robot hand joint angle calculated in step S4 and the past robot hand joint angle.
  • the past robot hand joint angle is, for example, a robot hand joint angle calculated based on a teaching image N frames before (where N is a predetermined integer).
  • the past robot hand joint angle may be a robot hand joint angle in a state where the robot hand 120 is last driven and stopped, that is, the robot hand joint angle actually realized by the robot hand 120.
  • This difference ⁇ is calculated for all joints of the robot hand 120, for example. However, the difference ⁇ only needs to be calculated for at least one joint.
  • control device 200 determines whether or not the difference ⁇ calculated in step S5 is larger than a predetermined threshold (step S6). This determination corresponds to the determination of whether or not the finger of the teacher 10 has moved to some extent. This determination may be performed based on whether one value is calculated based on the difference ⁇ for all of the joints of the robot hand 120 and this one value is greater than a predetermined threshold value, or the robot hand It may be performed based on each difference ⁇ for 120 joints.
  • step S7 the control device 200 creates robot hand teaching data for teaching the operation of the robot hand 120 based on the robot hand joint angle calculated in step S4. For example, robot hand teaching data for instructing to control the joint angle of the robot hand 120 to the one shown in FIG. 4B can be created. Since the robot hand joint angle (FIG. 4B) is calculated based on the finger coordinates (FIG. 4A) as described above, the robot hand teaching data is created based on the finger coordinates. It can be said that there is.
  • step S8 the control device 200 executes a robot hand drive command transmission step (step S8).
  • step S8 the control device 200 transmits a robot hand drive command to each joint of the robot hand 120 based on the robot hand teaching data created in step S7, thereby driving the robot hand 120. Since the robot hand teaching data is calculated based on the robot hand joint angle as described above, it can be said that the robot hand 120 is driven based on the robot hand joint angle. If it is determined in step S6 that the difference ⁇ is equal to or smaller than the threshold value, steps S7 and S8 are not executed, and the robot hand 120 remains stopped.
  • step S9 the control device 200 calculates a difference ⁇ L between the wrist position calculated in step S2b and the past wrist position.
  • the past wrist position is a wrist position calculated based on, for example, a teaching image N frames before (where N is a predetermined integer).
  • the past wrist position may be a wrist position when the robot arm 110 is last driven and stopped, that is, a wrist position corresponding to a posture that the robot arm 110 actually realizes.
  • the control device 200 determines whether or not the difference ⁇ L calculated in step S9 is larger than a predetermined threshold (step S10).
  • This determination corresponds to a determination as to whether or not the wrist of the teacher 10 has moved to some extent.
  • the determination is performed based only on the difference ⁇ L in the wrist position, but may be performed based on the difference in the wrist position and the difference in the wrist direction.
  • step S11 the control device 200 creates robot arm teaching data for teaching the operation of the robot arm 110 based on the wrist position determined in step S2a and the wrist direction determined in step S2b.
  • the wrist position and the wrist direction are converted into robot arm coordinates representing the position and orientation of the tip of the robot arm 110.
  • the control device 200 controls the position of the tip of the robot arm 110 to the point (x 0 , y 0 , z 0 ) in FIG. 4B, and the orientation of the robot arm 110 in FIG. 4B.
  • Robot arm teaching data for commanding control to angles ( ⁇ 0 , ⁇ 0 , ⁇ 0 ) can be created.
  • control device 200 executes a robot arm drive command transmission step (step S12).
  • step S12 the control device 200 transmits a robot arm drive command to the robot arm 110 based on the robot arm teaching data created in step S11, thereby driving the robot arm 110. Since the robot arm teaching data is calculated based on the wrist coordinates as described above, it can be said that the robot arm 110 is driven based on the wrist coordinates. If it is determined in step S10 that the difference ⁇ L is equal to or smaller than the threshold value, steps S11 and S12 are not executed, and the robot arm 110 remains stopped.
  • steps S3 to S8 and steps S9 to S12 When the execution of steps S3 to S8 and steps S9 to S12 is completed, the process of FIG. 2 ends, and the control device 200 repeats the process of FIG. 2 from the beginning again.
  • the state of the robot 100 is always photographed by the monitor camera 50 and displayed on the monitor 60. This is feedback to the teacher 10.
  • the teacher 10 can appropriately control the robot 100 by moving the arm 23 and the hand 21 while viewing this display.
  • the wrist 22 of the teacher 10 is recognized from the teaching image and automatically taught using the coordinates. Since the data is generated and the robot 100 is thereby driven, the robot 100 including the robot arm 110 can be easily controlled.
  • processing shown in FIG. 2 can be performed in real time, it is not necessary to perform data creation processing like a so-called exercise plan in advance. At this time, singular points (such as postures that cannot be realized) of the robot arm can be avoided by mapping or the like.
  • FIG. 5 shows a configuration related to the robot control system according to the second embodiment. All of the robots 101 to 103 in FIG. 5 have the same configuration as the robot 100 in FIG. 5 has the same configuration as that of the control device 200 of FIG. 1, but is connected to three robots 101 to 103, and can perform processing relating to these three devices at the same time. .
  • Such a configuration is particularly efficient when the corresponding robots 101 to 103 perform the same operation on a plurality of objects 131 to 133 having the same configuration.
  • the teacher 10 can control all the robots 101 to 103 at the same time by one instruction. Although not shown in FIG. 5, feedback by the monitor camera 50 and the monitor 60 may be performed as in FIG.
  • FIG. 6 shows a configuration of a monocular camera 31 according to the robot control system according to the third embodiment.
  • the direction of the monocular camera 31 can be changed according to the movement of the hand 21 or the wrist 22 of the teacher 10. For example, in FIG. 6, when the hand 21 is in the position (a), the monocular camera 31 is controlled in the direction (A), and when the hand 21 is in the position (b), the monocular camera 31 is ( The direction of B) is controlled.
  • Such direction control of the monocular camera 31 can be performed by a control device using a known technique.
  • the direction of the monocular camera 31 can be controlled so that the teaching image is processed in real time, the feature points are extracted and tracked. In this case, it is not necessary to completely track the movement of the hand 21, and the hand 21 may be in a range that can be accommodated in the visual field of the monocular camera 31.
  • the monocular camera 31 is shown in FIG. 6, the same control is performed for the stereo camera.
  • FIG. 7 shows configurations of monocular cameras 32 and 33 according to a robot control system according to a modification of the third embodiment.
  • Monocular cameras 32 and 33 are located at different positions and have different fields of view. For example, in FIG. 7, when the hand 21 is at the position (a), the monocular camera 32 captures the teaching image, and when the hand 21 is at the position (b), the monocular camera 33 captures the teaching image. To do. Which of the monocular cameras 32 and 33 captures the teaching image can be determined by a control device using a known technique, for example. Although only the monocular cameras 32 and 33 are shown in FIG. 7, the same arrangement is made for the stereo cameras.
  • FIG. 8 shows a configuration related to the robot control system according to the fourth embodiment.
  • the robot 104 in FIG. 8 has the same configuration as the robot 100 in FIG.
  • the robot 105 in FIG. 8 has a configuration that is symmetrical to the robot 100 in FIG. 8 has the same configuration as that of the control device 200 of FIG. 1, but is connected to two robots 104 and 105, and can perform processing relating to these two devices at the same time. .
  • the monocular camera 30 captures an image including both hands of the teacher 10 and the stereo camera 40 captures an image including both wrists of the teacher 10. That is, the teaching image includes the wrists and hands for both arms of the teacher 10. In addition, wrist coordinates, finger coordinates, robot arm teaching data, and robot hand teaching data are determined or created for both arms, respectively. Two monocular cameras and two stereo cameras may be provided, and the right arm 20a and the left arm 20b may be photographed individually.
  • control device 202 has a function of recognizing the hand and wrist of the instructor 10 in the teaching image by distinguishing between the right arm 20a and the left arm 20b.
  • the control device 202 controls the robot 104 based on the wrist and hand teaching images of the right arm 20a of the teacher 10 and controls the robot 105 based on the wrist and hand teaching images of the teacher 10 left arm 20b.
  • the operation using both arms can be easily controlled as in the first embodiment.
  • the coordinate system is set with one wrist (for example, the right wrist) as a reference, the entire work space can be represented by relative coordinates, and coordinate errors are reduced and controllability is improved.
  • one teacher 10 teaches using two arms (both arms), but the two arms may be of different teachers. That is, two teachers may teach using their respective arms. Such a configuration is particularly effective for work such as delivery of the object 130. Further, one or both of two teachers may teach using both arms, and three or more teachers may similarly teach using one arm or both arms, respectively.
  • Embodiment 5 the robot is driven according to a predefined drive pattern according to a predetermined condition in the first to fourth embodiments.
  • the control device stores at least one predetermined driving pattern defined in advance regarding the operation of the robot 100 in the storage unit.
  • This predetermined drive pattern represents a joint motion pattern in the robot hand 120.
  • the driving pattern is standard model data for a specific operation, and may be a well-known one. Examples of drive patterns include: gripping a cylindrical object from the circumferential direction along a round, gripping a cylindrical object from the axial direction (from the end toward the center), and lifting a spherical object It is possible to realize an operation such as an operation of lifting from the direction.
  • These drive patterns may be data representing temporal changes in the robot hand joint angle, for example. This data is stored in a drive pattern database provided in the storage means of the control device.
  • FIG. 9 is a flowchart for explaining the operation of the robot control system according to the fifth embodiment.
  • the robot hand drive command transmission step (step S8) in the operation (FIG. 2) according to the first embodiment is the pattern determination step (step S8a) and the remote drive command transmission step in the operation (FIG. 9) according to the fifth embodiment. (Step S8b) and the pattern drive command transmission step (Step S8c).
  • the term “remote” in the remote drive command transmission step means that communication between the teacher 10 and the robot 100 is performed via an electric communication line or the like, but is not necessarily geographical. It does not mean that the distance is large.
  • step S7 the control device executes a pattern determination step (step S8a).
  • step S8a the control device compares the robot hand joint angle calculated in step S4 with each drive pattern in the drive pattern database, and determines the relevance thereof.
  • the determination of the relevance can be performed by various methods. For example, it can be performed based on the robot hand joint angle at the temporary point (that is, the robot hand joint angle determined last). Using the robot hand joint angle calculated in step S4 and the robot hand joint angle of the drive pattern data, the angles of the corresponding joints are compared. If the angles are approximate for all joints, it is determined that the robot hand joint angle calculated in step S4 is related to the drive pattern.
  • “the angle is approximate” means, for example, a state in which the difference between the angles of the corresponding joints is a predetermined angle (for example, 5 degrees) or less. Alternatively, it may mean that the difference between the positions of the corresponding joints is a predetermined distance (for example, 5 mm) or less.
  • the relevance can be determined based on the fluctuation state of the joint angle of the robot hand over a predetermined time.
  • the robot hand joint angle calculated in step S4 is stored for a predetermined time, and the fluctuation state is compared with the robot hand joint angle state of the drive pattern data over the corresponding time. If the angle variation state is approximate for all joints, it is determined that the robot hand joint angle calculated in step S4 is related to the drive pattern.
  • the state of fluctuation of the robot hand joint angle is approximate means, for example, a state in which the difference between the angles of the corresponding joints is always equal to or smaller than a predetermined angle (for example, 5 degrees) over a predetermined time. . Alternatively, it may mean that the difference between the positions of the corresponding joints is always a predetermined distance (for example, 5 mm) or less over a predetermined time.
  • the “predetermined time” here corresponds to a predetermined number of consecutive frames when the teaching image is viewed as a moving image.
  • step S8a it is determined whether or not the robot hand joint angle calculated in step S4 is associated with any drive pattern. If it is determined that none of the drive patterns is related, the control device executes a remote drive command transmission step (step S8b).
  • the process of step S8b is the same as the robot hand drive command transmission step (step S8) of FIG.
  • the control device appropriately selects one of the drive patterns. This selection method can be appropriately designed by those skilled in the art.
  • step S8a When it is determined in step S8a that the robot hand joint angle calculated in step S4 is associated with any one of the drive patterns, the control device executes a pattern drive command transmission step (step S8c). To do. In step S8c, the control device drives the robot hand 120 based on the associated drive pattern.
  • the robot 100 performs a predefined motion regardless of the subsequent motion of the hand 21 of the teacher 10. For example, consider a case where a driving pattern corresponding to an operation of grasping a cylindrical object from the circumferential direction is stored, and the teacher 10 performs an operation of grasping the cylindrical object 130 from the circumferential direction. In this case, in response to the movement of the hand 21 of the teacher 10, it is determined that the movement of the hand 21 and its drive pattern are related to each other before the robot hand 120 actually contacts the object 130. Thereafter, an operation of automatically grasping the object 130 is executed.
  • the robot 100 can be controlled quickly and accurately using a predefined pattern regardless of the skill of teaching by the teacher 10.
  • a more accurate operation can be performed by defining a driving pattern corresponding to the object.
  • a plurality of drive patterns are prepared, it is possible to cope with different postures for gripping the same object.
  • the object 130 has a cylindrical shape and is disposed with one end face down, the object 130 is gripped so as to be gripped from the horizontal direction (circumferential direction), and from the upward direction (axial direction).
  • the appropriate driving pattern of the robot hand 120 is different from that in the case of gripping. Even in such a case, an appropriate gripping operation can always be performed by determining to which driving pattern the hand 21 of the teacher 10 is related.
  • FIG. 10 is a flowchart for explaining the operation of the robot control system according to the sixth embodiment.
  • the pattern determination step (step S8a) in the fifth embodiment (FIG. 9) is replaced with a pattern instruction determination step (step S0), and the execution timing of the step is also changed.
  • step S0 The pattern instruction determination step (step S0) is executed before step S1.
  • the control device determines whether or not there has been an instruction from the teacher 10 to perform pattern driving.
  • This instruction can be performed by, for example, button input. When a specific button is pressed, it is determined that there is an instruction to perform pattern driving, and when it is not pressed, an instruction to perform pattern driving is determined. It is determined that there was no.
  • a button corresponding to each drive pattern may be provided.
  • step S8b If there is no instruction to perform pattern driving, the control device executes step S8b after step S7. That is, in this case, the processes in steps S1 to S7, S8b, and S9 to S12 are the same as those in the first embodiment.
  • the control device executes a pattern driving command transmission step (step S8c), and drives the robot hand 120 based on the driving pattern.
  • the teacher 10 can perform the transition from the remote driving according to the teaching to the automatic pattern driving by pressing a button at an arbitrary timing, and can control the robot 100 more accurately.
  • the operation of arranging the robot hand 120 with the optimal positional relationship with respect to the object 130 can be performed by teaching, and the subsequent gripping operation can be performed by pattern driving.
  • the monocular camera acquires one teaching image including the hand 21, and the stereo camera acquires two teaching images including the wrist 22, so that three teaching images are obtained at a single point.
  • the number of teaching images may not be three.
  • a monocular camera and a stereo camera only one camera may be used, and this camera may acquire one teaching image including both the hand 21 and the wrist 22. In this case, it is possible to select the posture candidate data of the hand 21 and determine the wrist coordinates based on this one teaching image.
  • Two monocular cameras may be used, one of which may acquire a teaching image including the hand 21 as in the case of the monocular camera, and the other may acquire one teaching image including the wrist 22.
  • only one stereo camera may be used, or one or both of the stereo wrist images acquired by the stereo camera may be used as the teaching image of the hand 21.
  • a TOF (Time Of Flight) camera may be used as the teaching image acquisition means.
  • the TOF camera can obtain distance information to the subject. Based on the distance information, the posture candidate data of the hand 21 can be selected and the wrist coordinates can be determined.
  • teaching information may be obtained by teaching information acquisition means. For example, teaching information obtained from input means composed of various sensors, or teaching images recorded in a storage device may be used.
  • the position of the wrist 22 is determined based on the constricted portion 22a in the teaching image.
  • the position of the wrist 22 is determined by a different method.
  • FIG. 11 shows another method for determining the position of the wrist 22.
  • the teacher 10 attaches the wristband 25 to the wrist and performs the teaching operation.
  • the control device can specify a portion corresponding to the wristband 25 in the teaching image and determine the position of the wrist 22 in relation to this. If the color of the wristband 25 is set as a specific color different from the skin color of the teacher 10, the control device can determine the position of the wrist 22 by detecting the specific color, and the position determination process Is simplified and accuracy is improved.
  • the control device can perform the first operation.
  • the position of one wrist can be determined by detecting one color
  • the position of the other wrist can be determined by detecting a second color different from the first color.
  • the operation involving a plurality of arms can be recognized by distinguishing each wrist in the teaching image by using wristbands of different colors for all arms. .
  • the hand 21 is based on the minute movement of the hand 21, wrist 22 or arm 23 with respect to the background (that is, the hand 21, wrist 22, arm 23 and parts other than the body of the teacher 10) in the teaching image, so-called “camera shake”.
  • the wrist 22 or the arm 23 may be recognized and the position thereof may be determined. In this case, if the hand 21 or the arm 23 can be recognized, the position of the wrist 22 can be determined based on this. Further, even when the wristband as shown in FIG. 11 is not used, the position of the wrist 22 can be determined based on the difference in color (for example, the skin color, clothes, etc. of the teacher 10).
  • posture candidate data is selected in the posture candidate data selection step (step S2a in FIG. 2) without using information on the wrist position. This is based on information on the wrist position. You may go.
  • the posture candidate data selection step (step S2a) may be executed after the wrist position determination step (step S2b). Further, a portion ahead of the wrist 22 in the teaching image may be recognized as the hand 21 and used for selection of posture candidate data.
  • the actual driving is performed based on the teaching data immediately after the teaching data is created, but the driving may not be performed.
  • the created teaching data may be simply recorded.
  • the teaching data recorded later can be read and the robot can be driven based on this.
  • the robot has three robot hand fingers and has a total of 15 controllable degrees of freedom, but the number of fingers and the number of degrees of freedom of the robot hand are not limited to this.
  • the number of fingers of the robot hand may be at least one, and if there is a gripping operation or the like, it may be two or more.
  • the number of degrees of freedom is at least three variables representing the position of the tip of the robot arm in three dimensions, three variables representing the orientation of the tip of the robot arm in three dimensions, and 1 representing the angle of the first joint of the first finger.
  • the finger coordinates include coordinates representing the positions of the joints of the fingers and coordinates representing the positions of the fingertips, but the configuration of the finger coordinates is not limited to this.
  • the finger coordinates may consist only of coordinates representing the positions of the joints of the fingers, or may comprise only coordinates representing the position of the fingertip.
  • it may be a coordinate representing some position related to the finger, and any coordinates can be used as long as it can determine the joint angle of the robot hand.
  • the robot 100 has the fingers of the three robot hands 120, and the thumb, index finger, and middle finger among the fingers of the teacher 10 correspond to the fingers of the robot hand 120.
  • the three fingers used for may be a different combination.
  • teaching can be performed using only the thumb and forefinger, for example, and in the case of a robot having four or five fingers of the robot hand. Can teach using four or five fingers.
  • the drive pattern represents a joint motion pattern in the robot hand 120, but this may represent a joint motion pattern in the robot arm 110. And a motion pattern of both joints of the robot 100. According to such a configuration, pattern control can also be performed for an operation in which the arm and the finger are interlocked.
  • the drive pattern includes a motion pattern related to the robot arm 110, in the pattern determination step (step S8a) of the fifth embodiment (FIG. 9), not only the robot hand joint angle calculated in step S4 but also the step The determination may also be made based on the wrist coordinates determined in S2.

Abstract

ロボットの動作を制御する方法およびロボットシステムにおいて、人間の手とは異なる構造を有するロボットに対し、人間の手のようなリアルタイムの動作の制御を行うことができるものを提供する。 単眼カメラ(30)およびステレオカメラ(40)が、教示者(10)の手首(22)および手(21)を含む教示画像を取得する(教示情報取得ステップ、ステップS1)。制御装置(200)は、教示画像に基づいて、手指の関節および指先の位置を表す手指座標を決定し(手指座標決定ステップ、ステップS3)、この手指座標に基づいて、ロボットハンドの各関節の角度を算出する(ロボットハンド関節角度算出ステップ、ステップS4)。

Description

ロボットの動作を制御する方法およびロボットシステム
 この発明は、ロボットの動作を制御する方法およびロボットシステムに関する。
 ロボットを用いて作業を行う際には、ロボットに動作のパターンを教示する必要がある。この教示の方法としては、動作のパターンを表す教示データを数値としてキーボードから直接入力する方法、教示者がロボットの制御装置を操作して動作を実行させ、これに伴って教示データを作成させる方法、および、人間の手の画像を入力して、これにロボットハンドの姿勢を一致させる教示データを自動的に作成させる方法、等がある。引用文献1には、人間の手の画像にロボットハンドの姿勢を一致させる方法の例が記載されている。
 引用文献1のロボットは、その構造が人間の手の構造と完全に一致している。このような場合には、指の関節の位置や角度もすべて一致するので、人間の指の関節等の座標を測定し、これをそのまま実現するようにロボットを駆動することにより、人間と同様の動作をロボットに行わせることができる。
特開平4-365570号公報
 しかしながら、従来の技術では、人間の手とは異なる構造を有するロボットについて、人間の手のようなリアルタイムの動作の制御を行うことは困難であった。
 ロボットの構造が人間の手とは異なる場合には、引用文献1のように人間の指の姿勢データをそのままロボットの制御に用いることができない。また、制御データを数値としてキーボードから入力する場合や、教示者がロボットの制御装置を操作して予め動作の教示を行うような場合には、リアルタイムの制御を行うことができない。
 この発明はこのような問題点を解消するためになされたものであり、ロボットの動作を制御する方法およびロボットシステムにおいて、人間の手とは異なる構造を有するロボットに対し、人間の手のようなリアルタイムの動作の制御を行うことができるものを提供することを目的とする。
 この発明に係る、ロボットの動作を制御する方法は、ロボットハンドを備える、少なくとも1台のロボットの動作を制御する方法であって、人間の手を含む教示情報を取得する、教示情報取得ステップと、教示情報に基づいて、手指に関連する位置を表す手指座標を決定する、手指座標決定ステップと、手指座標に基づいて、ロボットハンドの各関節の角度を表すロボットハンド関節角度を算出する、ロボットハンド関節角度算出ステップと、ロボットハンド関節角度算出ステップにおいて算出されたロボットハンド関節角度に基づいて、ロボットハンドに駆動指令を送信する、駆動指令送信ステップとを含む。
 教示情報は教示画像であってもよく、教示情報取得ステップは教示画像取得ステップであってもよい。
 この方法によれば、教示画像に基づいて手指座標を決定し、手指座標をロボットハンド関節角度に変換し、このロボットハンド関節角度に基づいてロボットを駆動する。
 ロボットハンドの関節の運動パターンを表す所定の運動パターンデータに基づいてロボットハンドを駆動する、パターン駆動指令送信ステップをさらに含み、所定の条件が満たされた場合には、駆動指令送信ステップの代わりにパターン駆動指令送信ステップが実行されてもよい。
 所定の条件が満たされたかどうかを判定する、パターン判定ステップをさらに含み、パターン判定ステップにおいて、一時点におけるロボットハンド関節角度に基づいて、または、所定時間にわたるロボットハンド関節角度の変動の状態に基づいて、ロボットハンド関節角度と所定の運動パターンデータとの関連性が判定されてもよい。
 ロボットは、さらにロボットアームを備え、教示画像は、さらに人間の手首を含み、方法は、教示画像に基づいて、手首の位置および向きを表す手首座標を決定する、手首座標決定ステップと、手首座標に基づいてロボットアームに駆動指令を送信する、ロボットアーム駆動指令送信ステップとをさらに含んでもよい。
 ロボットは少なくとも2台であり、教示画像は、人間の両腕について、それぞれの手首および手を含み、ロボットハンド関節角度および手首座標は、それぞれ両腕について算出または決定されてもよい。
 また、この発明に係るロボットシステムは、少なくとも1台のロボットと、上述の方法を実行してロボットを制御する機能を有する制御装置とを備える。
 この発明に係る、ロボットの動作を制御する方法およびロボットシステムは、教示者の手指座標に基づいて、ロボットハンドの各関節の角度を算出するので、人間の手とは異なる構造を有するロボットに対し、人間の手のようなリアルタイムの動作の制御を行うことができる。
この発明の実施の形態1に係るロボット制御システムに関連する構成を示す図である。 図1のロボット制御システムの動作を説明するフローチャートである。 手首の位置を決定する方法の一例を説明する図である。 (a)は図1のロボット制御システムが決定する手指座標の例を示す図である。(b)は図1のロボット制御システムが決定するロボットハンド関節角度の例を示す図である。 この発明の実施の形態2に係るロボット制御システムに関連する構成を示す図である。 この発明の実施の形態3に係るロボット制御システムに係る単眼カメラの構成を示す図である。 この発明の実施の形態3の変形例に係るロボット制御システムに係る単眼カメラの構成を示す図である。 この発明の実施の形態4に係るロボット制御システムに係る構成を示す図である。 この発明の実施の形態5に係るロボット制御システムの動作を説明するフローチャートである。 この発明の実施の形態6に係るロボット制御システムの動作を説明するフローチャートである。 手首の位置を決定する方法について、図3とは異なる例を示す図である。
 以下、この発明の実施の形態を添付図面に基づいて説明する。
実施の形態1.
 図1は、この発明の実施の形態1に係るロボット制御システムに関連する構成を示す。ロボット制御システムは、教示の対象となるロボット100と、ロボット100に接続された制御装置200とを含む。ロボット100は、マニピュレータと呼ばれるものであってもよい。
 ロボット100は、ロボットアーム110およびロボットハンド120を含む。ロボットハンド120は、全体として人間の手指とは異なる構造を有する。すなわち、指の数、関節の数、各節の長さ、関節の自由度の数、等のうち、少なくとも1つが人間の手指とは異なる。図1ではロボットハンド120の指は3本であるが、これは少なくとも2本であればよい。ロボットハンド120の根元はロボットアーム110の先端に連結されており、ロボットアーム110の位置および向きが決まればこれに応じてすべてのロボットハンド120の根元の位置が一意に決まる構成となっている。
 このロボット100は、対象物130に対して作業を行うものである。作業としては、把持、運搬、組み付け等が可能である。
 制御装置200は、その内部の構成については図示しないが、演算手段(CPU等)と記憶手段(半導体メモリ装置、磁気ディスク装置等)とを備えるコンピュータである。この制御装置200は、その記憶手段に格納された教示データ作成プログラムを実行することにより、ロボット100の教示データを作成する教示データ作成装置として機能し、また、その記憶手段に格納された駆動制御プログラムを実行することにより、ロボット100の動作を制御する駆動制御装置として機能する。これらの教示データ作成プログラムおよび駆動制御プログラムは、情報記憶媒体に記憶することができる。
 制御装置200は、人間の手を含む画像に基づいて、手指の各関節の空間的位置および指先の空間的位置を表す座標を決定する機能を有する。このような機能は、たとえば、谷本らの研究(谷本貴頌他により2006年3月に作成され公知となった「ロボットハンド制御のための自己増殖型SOMを用いた画像データベースからの手指形状の実時間推定」と題する筑波大学大学院博士課程システム情報工学研究科修士論文)に記載される方法を使用することによって実現することができる。この方法によれば、手を撮像した一つの二次元画像から手の姿勢の推定を行うことができる。谷本らの研究では、予め、手の関節の角度情報と手画像とを同期させて取得し、画像における輪郭抽出と特徴量化を行い、この特徴量と角度とをデータとしてデータベースを構築している。そして、手の実画像について、データベースの構築時と同様の特徴量化を行い、得られた特徴量とデータベースの特徴量との比較を行うことで手の関節の角度を推定し、手の姿勢を推定している。
 この方法によれば、手の姿勢を表すデータである特徴量について複数のパターンをデータベースに格納しておき、この複数のパターン(姿勢候補データ)のうちから実画像に基づいて1つのパターン(姿勢候補データ)を選択することが可能となる。この際、手首の位置を基準として原点を設定し、手首の向きを基準として座標軸を設定した座標系において、指の空間的位置を決定することができる。
 また、制御装置200は、手または指の一部が画像に表れない場合(たとえばカメラの視野外にある場合、対象物によってカメラの視野が遮られる場合、教示者10の体の一部、手、指等によってカメラの視野が遮られる場合、等)には、オクルージョンの部分(すなわち画像に表れない部分)を推定して補完する機能を有する。このような機能は、周知の画像処理技術を用いて実現可能である。
 ロボット制御システムは、制御装置200に接続された単眼カメラ30を含む。単眼カメラ30は、手21の教示画像取得手段として機能する。すなわち、人間である教示者10の指を含む手21を撮影し、手21を含む画像を取得して制御装置200に送信する。(なお、本明細書において「単眼カメラ」という名称は、後述のステレオカメラ40との区別のために用いるものであり、同様の機能を有するカメラであれば単眼カメラでなくともよい。)
 なお、手21は手首22よりも先の部分であり、すなわち掌および指を含む部分である。腕23は手首22よりも根元側の部分である。この実施の形態では右腕であるが、左腕であってもよい。
 また、ロボット制御システムは、制御装置200に接続されたステレオカメラ40を含む。ステレオカメラ40は、手首22の教示画像取得手段として機能する。すなわち、教示者10の手首22を撮影し、手首22を含む画像を取得して制御装置200に送信する。ステレオカメラ40は周知の構成によって立体映像を撮影することができる。すなわち、ステレオカメラ40は少なくとも2つのカメラを含み、これらのカメラが互いに異なる位置から手首22を含む画像を撮影する。それぞれの画像における手首22の位置に基づいて、ステレオカメラ40と手首22との距離を含む空間的位置関係を決定することができる。
 さらに、ロボット制御システムは、ロボット100を撮影するモニタ用カメラ50と、モニタ用カメラ50によって撮影された画像を表示するモニタ60とを含む。モニタ用カメラ50はロボット状態撮影手段として機能し、モニタ60はロボット状態表示手段として機能する。
 単眼カメラ30、ステレオカメラ40およびモニタ60は、教示者10の近傍に配置される。単眼カメラ30は、教示者10が教示を行う際に手21が移動する範囲をすべて視野に収める位置に配置される。ステレオカメラ40は、たとえば、教示者10が教示を行う際に手首22が移動する範囲をすべて視野に収める位置に配置される。モニタ60は、教示者10が教示作業を行う際に、その表示内容を見ることができる位置に配置される。このような配置により、教示者10はロボット100の状態を視認しながら教示作業を行い、これによってロボット100をリアルタイムで遠隔操作することができる。
 以上のように構成されるロボット制御システムの動作を、図2のフローチャートを用いて説明する。
 まず、ロボット制御システムは、教示画像取得ステップ(ステップS1)を実行する。このステップS1において、ロボット制御システムは、教示者10の手21および手首22を含む教示画像を取得する。この教示画像はロボット100の教示に用いられるものである。
 実施の形態1では、ステップS1において、単眼カメラ30が手21を含む教示画像を1つ取得し(ステップS1a)、ステレオカメラ40が手首22を含む2つの画像からなるステレオ手首画像を取得する(ステップS1b)。すなわち、ステップS1bでは、ステレオカメラ40を構成するそれぞれのカメラが、手首22を含む教示画像を1つずつ取得する。
 また、ステップS1において、単眼カメラ30およびステレオカメラ40は、それぞれ取得した教示画像を制御装置200に送信し、制御装置200はこれらを受信して記憶手段に格納する。
 次に、制御装置200は、手首座標決定ステップ(ステップS2)を実行する。このステップS2において、制御装置200は、教示画像に基づいて、手首22の位置および向きを表す手首座標を決定する。ステップS2は、姿勢候補データ選択ステップ(ステップS2a)、手首位置決定ステップ(ステップS2b)、および、手首方向決定ステップ(ステップS2c)を含む。
 姿勢候補データ選択ステップ(ステップS2a)において、制御装置200は、データベースに格納されている手の姿勢を表す複数の姿勢候補データのうちから、手21を含む教示画像に基づいて、1つの姿勢候補データを選択する。この選択は公知の方法によって行うことができる。たとえば、制御装置200は、教示画像から抽出した特徴量と、姿勢候補データを表す特徴量との一致度が最も高いものを選択することができる。
 また、手首位置決定ステップ(ステップS2b)において、制御装置200は、ステレオカメラ40によって撮影されたステレオ手首画像に基づいて、手首22の位置を決定する。
 図3を用いて、画像における手首22の位置を決定する方法の一例を説明する。図3はステレオ手首画像の一方である。制御装置200は、まず画像中の2点によって表されるくびれ部分22aを検出し、このくびれ部分22aの中点22bの位置を算出する。そして、その画像における中点22bの位置を、その画像における手首22の位置として決定する。
 さらに、制御装置200は、ステレオ手首画像の残る一方でも同様にして手首22の位置を決定する。その後、ステレオ手首画像のそれぞれにおける手首22の位置に基づいて、ステレオカメラ40を基準とする手首22の空間的な位置を算出することができる。
 ステップS2aおよびステップS2bの後、制御装置200は手首方向決定ステップ(ステップS2c)を実行する。ステップS2cにおいて、制御装置200は、手21の教示画像と、ステップS2aにおいて選択された姿勢候補データとの対応関係に基づいて、手21の教示画像における手首22の向きを決定する。姿勢候補データは、手首の位置および向きを基準として手指の各関節の位置および指先の空間的位置を表す座標を表すものであるので、たとえば、教示画像中の手21と、選択された姿勢候補データとがある特定の向きにおいて最もよく一致する場合、その向きを手首22の向きと決定することができる。
 ステップS2の後、ステップS3~S8を含む処理と、ステップS9~S12を含む処理とが並列に実行される。ただし、これらは直列に実行されるものであってもよい。
 ステップS2の後、制御装置200は、手指座標決定ステップ(ステップS3)を実行する。このステップS3において、制御装置200は、手21の教示画像に基づいて、手指の各関節および指先の位置を表す手指座標を決定する。これは上述の谷本らの方法に従って行うことができる。
 図4(a)は、このようにして決定される手指座標の例を示す。図4(a)では、教示者10の手21の右手の親指、人差し指および中指に関連する手指座標が示されている。たとえば、点(x11,y11,z11)、点(x12,y12,z12)、および点(x13,y13,z13)は、それぞれ親指の第2関節、第1関節および指先の位置を表す。なお、点(x4,y4,z4)はステップS2bにおいて決定される手首位置を表す。
 ステップS3の後、制御装置200は、ロボットハンド関節角度算出ステップ(ステップS4)を実行する。このステップS4において、制御装置200は、上記ステップS3で決定された手指座標に基づいて、ロボット100のロボットハンド120の各関節の角度を表すロボットハンド関節角度を算出する。この算出方法の具体例はとくに示さないが、ロボット100の構造、ロボットハンド120の指の数およびロボットハンド120の関節の数等の条件に応じて、当業者が適宜設計することができる。このステップS4を実行することによって、制御装置200は、測定された教示者10の手指に関する座標を、ロボットハンド120を駆動するためのデータであるロボットハンド関節角度に変換する。
 図4(b)は、このようにして決定されるロボットハンド関節角度の例を示す。なおこの図ではロボット100自体の図示は省略し、各関節の角度のみを模式的に示す。ロボット100において、ロボットハンド120の各指が2つの関節を持つ。第1関節(指先側の関節)は1つの自由度(角度ω)を持ち、第2関節(根元側の関節)は2つの自由度(角度θおよびφ)を持つ。また、ロボット100は、手首すなわちロボットアーム110の先端の位置を表す点(x0,y0,z0)および向きを表す角度(θ0,φ0,ψ0)についてそれぞれ3自由度を持つ。このように、ロボット100は合計15の自由度をもって制御可能である。なお、図4(b)では、親指、人差し指および中指にそれぞれ対応するロボット指120a、ロボット指120bおよびロボット指120cとして表している。
 図4(a)および図4(b)において、たとえば親指については、図4(a)の点(x11,y11,z11)、点(x12,y12,z12)、および点(x13,y13,z13)の座標に基づいて、ロボット指120aの第1関節122の角度(ω1)および第2関節123の角度(θ1,φ1)が決定される。
 なお、手指とロボットハンドとではサイズや可動範囲等が異なるため、関節の数が等しい場合であっても関節の位置が一致するとは限らない。また、人差し指および中指については、手指とロボットハンドとで関節の数が異なるが、このような場合にロボットハンド関節角度を算出する方法も、当業者には周知である。
 ステップS4の後、制御装置200は、ロボットハンド関節角度差分算出ステップ(ステップS5)を実行する。このステップS5において、制御装置200は、ステップS4で算出されたロボットハンド関節角度と、過去のロボットハンド関節角度との差分Δθを算出する。ここで、過去のロボットハンド関節角度とは、たとえばNフレーム前(ただしNは所定の整数)の教示画像に基づいて算出されたロボットハンド関節角度である。または、過去のロボットハンド関節角度とは、最後にロボットハンド120が駆動され停止した状態のロボットハンド関節角度、すなわち実際にロボットハンド120が実現しているそのロボットハンド関節角度であってもよい。
 この差分Δθは、たとえばロボットハンド120の関節のすべてについて算出される。ただし、この差分Δθは少なくとも1つの関節について算出されるものであればよい。
 次に、制御装置200は、ステップS5で算出された差分Δθが、所定の閾値より大きいかどうかを判定する(ステップS6)。この判定は、教示者10の手指がある程度大きな動きを示したかどうかの判定に相当する。この判定は、ロボットハンド120の関節のすべてについての差分Δθに基づいて1つの値を算出し、この1つの値が所定の閾値より大きいかどうかに基づいて行われてもよく、または、ロボットハンド120の各関節についての差分Δθのそれぞれに基づいて行われてもよい。
 ステップS6において、差分Δθが閾値より大きいと判定された場合、制御装置200は、ロボットハンド教示データ作成ステップ(ステップS7)を実行する。このステップS7において、制御装置200は、ステップS4で算出されたロボットハンド関節角度に基づいて、ロボットハンド120の動作を教示するロボットハンド教示データを作成する。たとえば、ロボットハンド120の関節角度を図4(b)に示すものに制御することを指令するロボットハンド教示データを作成することができる。なお、上述のようにロボットハンド関節角度(図4(b))は手指座標(図4(a))に基づいて算出されるので、ロボットハンド教示データは手指座標に基づいて作成されるものであるということもできる。
 ステップS7の後、制御装置200は、ロボットハンド駆動指令送信ステップ(ステップS8)を実行する。このステップS8において、制御装置200は、ステップS7で作成されたロボットハンド教示データに基づいてロボットハンド120の各関節にロボットハンド駆動指令を送信し、これによってロボットハンド120を駆動する。なお、上述のようにロボットハンド教示データはロボットハンド関節角度に基づいて算出されるので、ロボットハンド120はロボットハンド関節角度に基づいて駆動されるものであるということもできる。
 なお、上記ステップS6において、差分Δθが閾値以下であると判定された場合には、ステップS7およびS8は実行されず、ロボットハンド120は停止したままとなる。
 また、ステップS2の後、制御装置200は、手首位置差分算出ステップ(ステップS9)を実行する。このステップS9において、制御装置200は、ステップS2bで算出された手首位置と、過去の手首位置との差分ΔLを算出する。ここで、過去の手首位置とは、たとえばNフレーム前(ただしNは所定の整数)の教示画像に基づいて算出された手首位置である。または、過去の手首位置とは、最後にロボットアーム110が駆動され停止した時点の手首位置、すなわち実際にロボットアーム110が実現している姿勢に対応する手首位置であってもよい。
 次に、制御装置200は、ステップS9で算出された差分ΔLが、所定の閾値より大きいかどうかを判定する(ステップS10)。この判定は、教示者10の手首がある程度大きな動きを示したかどうかの判定に相当する。
 なお、この例では判定は手首位置の差分ΔLのみに基づいて行われるが、手首位置の差分および手首方向の差分に基づいて行われてもよい。
 ステップS10において、差分ΔLが閾値より大きいと判定された場合、制御装置200は、ロボットアーム教示データ作成ステップ(ステップS11)を実行する。このステップS11において、制御装置200は、ステップS2aで決定された手首位置およびステップS2bで決定された手首方向に基づいて、ロボットアーム110の動作を教示するロボットアーム教示データを作成する。ここで、手首位置および手首方向は、ロボットアーム110の先端の位置および向きを表すロボットアーム座標に変換される。たとえば、制御装置200は、ロボットアーム110の先端の位置を図4(b)の点(x0,y0,z0)に制御し、かつ、ロボットアーム110の向きを図4(b)の角度(θ0,φ0,ψ0)に制御することを指令するロボットアーム教示データを作成することができる。
 ステップS11の後、制御装置200は、ロボットアーム駆動指令送信ステップ(ステップS12)を実行する。このステップS12において、制御装置200は、ステップS11で作成されたロボットアーム教示データに基づいてロボットアーム110にロボットアーム駆動指令を送信し、これによってロボットアーム110を駆動する。なお、上述のようにロボットアーム教示データは手首座標に基づいて算出されるので、ロボットアーム110は手首座標に基づいて駆動されるものであるということもできる。
 なお、上記ステップS10において、差分ΔLが閾値以下であると判定された場合には、ステップS11およびS12は実行されず、ロボットアーム110は停止したままとなる。
 ステップS3~S8およびステップS9~S12の実行が完了すると、図2の処理が終了し、制御装置200は再び図2の処理を最初から繰り返す。
 また、図1に示すように、ロボット100の状態は、モニタ用カメラ50によって常時撮影され、モニタ60に表示される。これが教示者10に対するフィードバックとなる。教示者10は、この表示を見ながら腕23および手21を動かし、ロボット100を適切に制御することができる。
 以上のように、実施の形態1に係るロボットの教示データを作成する方法およびロボット制御システムによれば、教示者10の手首22を教示画像により認識し、その座標を利用して自動的に教示データを作成し、これによってロボット100を駆動するので、ロボットアーム110を含むロボット100の制御を簡単に行うことができる。
 特に、ロボットの操作方法を知らない教示者であっても教示を行うことができる。また、教示者10のジェスチャがそのまま教示動作となるので、複雑な教示動作も簡単に行うことができ、また、人間特有の器用さを要する動作も簡単に教示することができる。
 また、単眼カメラ30およびステレオカメラ40が教示画像を取得し、また、モニタ用カメラ50がロボット100の状態を表す画像を取得するので、システム全体が安価に構築できる。また、これらのカメラによって遠隔操作が可能となるので、人間が作業困難場所での作業の制御も行うことができる。
 また、図2に示す処理はリアルタイムで行うことができるので、いわゆる運動計画のようなデータ作成処理を事前に行う必要がない。この際、ロボットアームの特異点(実現することができない姿勢等)については、マッピングなどにより回避することができる。
実施の形態2.
 実施の形態2は、実施の形態1において、同一の教示データによって複数のロボットの制御を行うものである。
 図5に、実施の形態2に係るロボット制御システムに関連する構成を示す。図5のロボット101~103は、いずれも図1のロボット100と同様の構成を有する。また、図5の制御装置201は、図1の制御装置200と同様の構成を有するが、3台のロボット101~103に接続されており、これら3台に関する処理を同時に行うことが可能である。
 このような構成は、同一の構成を有する複数の対象物131~133に対して、それぞれ対応するロボット101~103が同一の動作を行う場合において、特に効率的である。教示者10は、一度の教示によって同時にすべてのロボット101~103の制御を行うことができる。
 なお、図5には示さないが、図1と同様にモニタ用カメラ50およびモニタ60によるフィードバックが行われてもよい。
実施の形態3.
 実施の形態3は、実施の形態1および2において、カメラの視野をより広くするものである。
 図6に、実施の形態3に係るロボット制御システムに係る単眼カメラ31の構成を示す。単眼カメラ31は、教示者10の手21または手首22の動きに応じ、その向きを変更することが可能である。たとえば、図6において、手21が(a)の位置にある場合には単眼カメラ31は(A)の向きに制御され、手21が(b)の位置にある場合には単眼カメラ31は(B)の向きに制御される。
 このような単眼カメラ31の方向制御は、制御装置によって、周知の技術を用いて行うことができる。たとえば、教示画像をリアルタイムで処理し、特徴点を抽出してこれを追尾するように単眼カメラ31の方向を制御することができる。なお、この場合、手21の移動を完全に追尾する必要はなく、手21が単眼カメラ31の視野に収まる範囲とすればよい。
 なお、図6には単眼カメラ31のみを示すが、ステレオカメラについても同様の制御がなされる。
 このような構成によれば、より広い範囲にわたる動作の教示が可能となる。
 なお、図6では単眼カメラ31は向きのみを変更可能であるが、向きではなく位置を変更可能としてもよく、向きおよび位置の双方を変更可能としてもよい。
 図7に、実施の形態3の変形例に係るロボット制御システムに係る単眼カメラ32および33の構成を示す。単眼カメラ32および33は異なる位置に配置され、異なる視野を有する。たとえば、図7において、手21が(a)の位置にある場合には単眼カメラ32が教示画像を撮影し、手21が(b)の位置にある場合には単眼カメラ33が教示画像を撮影する。単眼カメラ32および33のいずれが教示画像を撮影するかは、たとえば制御装置によって、周知の技術を用いて決定することができる。
 なお、図7には単眼カメラ32および33のみを示すが、ステレオカメラについても同様の配置がなされる。
実施の形態4.
 実施の形態4は、実施の形態1~3において、教示動作を1本の腕でなく2本の腕で行うものである。
 図8に、実施の形態4に係るロボット制御システムに係る構成を示す。図8のロボット104は、図1のロボット100と同様の構成を有する。また、図8のロボット105は、図1のロボット100と左右対称となる構成を有する。また、図8の制御装置202は、図1の制御装置200と同様の構成を有するが、2台のロボット104および105に接続されており、これら2台に関する処理を同時に行うことが可能である。
 単眼カメラ30は、教示者10の両手を含む画像を撮影し、ステレオカメラ40は、教示者10の両手首を含む画像を撮影する。すなわち、教示画像は、教示者10の両腕について、それぞれの手首および手を含むことになる。また、手首座標、手指座標、ロボットアーム教示データ、およびロボットハンド教示データは、それぞれ両腕について決定されまたは作成される。
 なお、単眼カメラおよびステレオカメラはそれぞれ2台設けられてもよく、右腕20aおよび左腕20bを個別に撮影してもよい。
 なお、制御装置202は、教示画像において、教示者10の手および手首について、右腕20aのものと左腕20bのものとを区別して認識する機能を有するものとする。制御装置202は、教示者10の右腕20aの手首および手の教示画像に基づいてロボット104を制御し、教示者10の左腕20bの手首および手の教示画像に基づいてロボット105を制御する。
 このような構成によれば、両腕を用いる作業についても、実施の形態1と同様に簡単に制御を行うことができる。
 また、一方の手首(たとえば右手首)を基準として座標系を設定すれば、作業空間全体を相対座標によって表すことができ、座標の誤差が小さくなるとともに制御性が向上する。
 上述の実施の形態4では、一人の教示者10が2本の腕(両腕)を用いて教示を行うが、2本の腕は異なる教示者のものであってもよい。すなわち、二人の教示者が、それぞれの腕を用いて教示を行ってもよい。このような構成は、対象物130の受け渡しのような作業に特に有効である。
 また、二人の教示者の一方または双方が両腕を用いて教示を行ってもよく、三人以上の教示者が同様にそれぞれ片腕または両腕を用いて教示を行ってもよい。
実施の形態5.
 実施の形態5は、実施の形態1~4において、所定の条件に応じてロボットを定義済みの駆動パターンに従って駆動するものである。
 実施の形態5において、制御装置は、その記憶手段に、ロボット100の動作に関する予め定義された所定の駆動パターンを少なくとも1つ格納している。この所定の駆動パターンは、ロボットハンド120における関節の運動パターンを表す。駆動パターンは特定の動作についての標準的なモデルデータであり、周知のものであってもよい。駆動パターンの例としては、円筒形の対象物を周方向から丸みに添って握る動作、円筒形の対象物を軸方向から(端部から中央に向かって)掴む動作、球形の対象物を上方向からわしづかみにして持ち上げる動作、等の動作を実現するためのものが考えられる。
 これらの駆動パターンは、たとえばロボットハンド関節角度の時間的変化を表すデータとすることができる。このデータは、制御装置の記憶手段内に設けられる駆動パターンデータベースに格納される。
 図9は、実施の形態5に係るロボット制御システムの動作を説明するフローチャートである。実施の形態1に係る動作(図2)におけるロボットハンド駆動指令送信ステップ(ステップS8)は、実施の形態5に係る動作(図9)では、パターン判定ステップ(ステップS8a)、遠隔駆動指令送信ステップ(ステップS8b)およびパターン駆動指令送信ステップ(ステップS8c)に置き換えられている。
 なお、遠隔駆動指令送信ステップにおける「遠隔」という用語は、本実施形態では教示者10とロボット100との通信が電気通信回線等を介して行われることを意味するものであるが、必ずしも地理的に距離が大きいということを意味しない。
 ステップS1~S7およびS9~S12の動作は実施の形態1と同様である。
 ステップS7の後、制御装置は、パターン判定ステップ(ステップS8a)を実行する。このステップS8aにおいて、制御装置は、ステップS4で算出されたロボットハンド関節角度と、駆動パターンデータベース内の各駆動パターンとを比較し、その関連性を判定する。
 関連性の判定は、様々な方法によって行うことができる。
 たとえば、一時点におけるロボットハンド関節角度(すなわち、最後に決定されたロボットハンド関節角度)に基づいて行うことができる。ステップS4で算出されたロボットハンド関節角度と、駆動パターンデータのロボットハンド関節角度とを用いて、それぞれ対応する関節の角度を比較する。すべての関節について角度が近似している場合には、ステップS4で算出されたロボットハンド関節角度と、その駆動パターンとは関連していると判定する。
 ここで「角度が近似している」とは、たとえば、それぞれ対応する関節の角度の差分が所定角度(たとえば5度)以下である状態を意味する。または、それぞれ対応する関節の位置の差分が所定距離(たとえば5mm)以下である場合を意味してもよい。
 あるいは、関連性の判定は、所定時間にわたるロボットハンド関節角度の変動の状態に基づいて行うことができる。ステップS4で算出されたロボットハンド関節角度を所定時間にわたって記憶しておき、その変動の状態と、これと対応する時間にわたる駆動パターンデータのロボットハンド関節角度の状態とを比較する。すべての関節について角度の変動の状態が近似している場合には、ステップS4で算出されたロボットハンド関節角度と、その駆動パターンとは関連していると判定する。
 ここで「ロボットハンド関節角度の変動の状態が近似している」とは、たとえば、それぞれ対応する関節の角度の差分が、所定時間にわたって常に所定角度(たとえば5度)以下である状態を意味する。または、それぞれ対応する関節の位置の差分が、所定時間にわたって常に所定距離(たとえば5mm)以下である場合を意味してもよい。なお、ここでいう「所定時間」とは、教示画像を動画としてみた場合には連続する所定数のフレームに対応する。
 このようにして、ステップS8aにおける判定の結果、ステップS4で算出されたロボットハンド関節角度と、いずれかの駆動パターンとが関連しているか否かが判定される。いずれの駆動パターンも関連していないと判定された場合には、制御装置は遠隔駆動指令送信ステップ(ステップS8b)を実行する。ステップS8bの処理は図2のロボットハンド駆動指令送信ステップ(ステップS8)と同一である。
 なお、ステップS4で算出されたロボットハンド関節角度が複数の駆動パターンと関連していると判定された場合には、制御装置はそのうち1つの駆動パターンを適宜選択する。この選択方法は当業者であれば適宜設計することができる。
 ステップS8aにおいて、ステップS4で算出されたロボットハンド関節角度と、いずれかの駆動パターンとが関連していると判定された場合には、制御装置は、パターン駆動指令送信ステップ(ステップS8c)を実行する。このステップS8cにおいて、制御装置は、その関連している駆動パターンに基づいてロボットハンド120を駆動する。
 この場合には、教示者10の手21のその後の動作とは関係なく、ロボット100は予め定義された動作を行うことになる。
 たとえば、円筒形の対象物を周方向から握る動作に対応する駆動パターンが格納されており、教示者10が円筒形の対象物130を周方向から握ろうとする動作を行う場合を考える。この場合、教示者10の手21の動きに対応して、実際にロボットハンド120が対象物130に接触する前の段階で、手21の動きとその駆動パターンとが関連していると判定され、その後は自動的に対象物130を握る動作が実行される。
 このような制御によれば、教示者10の教示の巧拙に関わらず、予め定義されたパターンを用いて迅速かつ精密にロボット100を制御することができる。とくに、対象物130が既知の物体である場合には、これに対応する駆動パターンを定義しておくことにより、より的確な動作が可能となる。
 また、複数の駆動パターンを準備しておけば、同一の対象物を把持するための異なる姿勢に対応することができる。
 たとえば、対象物130が円筒形であり、一方の端面を下にして配置されている場合、水平方向(周方向)から丸みに添って握るように把持する場合と、上方向(軸方向)から掴むように把持する場合とでは適切なロボットハンド120の駆動パターンが異なる。このような場合であっても、教示者10の手21がいずれの駆動パターンと関連するか判定することにより、常に適切な把持動作を行うことができる。
実施の形態6.
 実施の形態6は、実施の形態5において、パターン判定ステップに関連する処理を変更するものである。実施の形態5では、手21の動きと駆動パターンとが近似しているかどうかに基づいて、いわば自動的に駆動方式の切り替えを行ったが、実施の形態6では、教示者10からの指示に基づいて、いわば手動で切り替えを行う。
 図10は、実施の形態6に係るロボット制御システムの動作を説明するフローチャートである。実施の形態5(図9)におけるパターン判定ステップ(ステップS8a)は、パターン指示判定ステップ(ステップS0)に置き換えられ、当該ステップの実行タイミングも変更されている。
 パターン指示判定ステップ(ステップS0)は、ステップS1の前に実行される。このステップS0において、制御装置は、教示者10からパターン駆動を行う旨の指示があったかどうかを判定する。この指示は、たとえばボタン入力によって行うことができ、特定のボタンが押下された場合にはパターン駆動を行う旨の指示があったと判定し、押下されていない場合にはパターン駆動を行う旨の指示がなかったと判定する。
 なお、複数の駆動パターンについて、各駆動パターンに個別に対応するボタンが設けられてもよい。
 パターン駆動を行う旨の指示がなかった場合、制御装置はステップS7の後にステップS8bを実行する。すなわち、この場合、ステップS1~S7、S8bおよびS9~S12の処理は実施の形態1と同様のものとなる。
 パターン駆動を行う旨の指示があった場合、制御装置はパターン駆動指令送信ステップ(ステップS8c)を実行し、駆動パターンに基づいてロボットハンド120を駆動する。
 このような構成によれば、教示者10は教示に従う遠隔駆動から自動的なパターン駆動への移行を任意のタイミングでボタンを押下することによって行うことができ、より的確にロボット100を制御することができる。たとえば、ロボットハンド120を対象物130に対して最適な位置関係をもって配置する動作は教示によって行い、その後の把持動作はパターン駆動によって実行することができる。
 上述の実施の形態1~6において、以下に示すような変形を施すことができる。
 実施の形態1、2および4~6では、単眼カメラが手21を含む教示画像を1つ取得し、ステレオカメラが手首22を含む教示画像を2つ取得するので、一時点で3つの教示画像が取得されることになるが、教示画像の数は3つでなくともよい。
 たとえば、単眼カメラおよびステレオカメラの代わりにただ1つのカメラを用い、このカメラが手21および手首22の双方を含む教示画像を1つ取得してもよい。この場合、この1つの教示画像に基づいて手21の姿勢候補データの選択および手首座標の決定を行うことができる。
 また、2つの単眼カメラを用いてもよく、その一方が単眼カメラと同様に手21を含む教示画像を取得し、他方は手首22を含む1つの教示画像を取得してもよい。あるいは、1つのステレオカメラのみを用いてもよく、ステレオカメラによって取得されるステレオ手首画像の一方または双方を手21の教示画像として用いてもよい。
 教示画像取得手段として、TOF(Time Of Flight)カメラを用いてもよい。TOFカメラは、被写体までの距離情報を得ることができる。この距離情報をもとに手21の姿勢候補データの選択および手首座標の決定を行うことができる。
 また教示画像以外に教示情報取得手段で教示情報を得てもよい。たとえば、各種センサから構成される入力手段より得られる教示情報、記憶装置に記録されている教示画像を用いてもよい。
 実施の形態1~6では、図3に示すように、教示画像中のくびれ部分22aに基づいて手首22の位置を決定しているが、手首22の位置はこれとは異なる方法で決定されてもよい。
 図11は、手首22の位置を決定する他の方法を示す。図11では、教示者10は手首にリストバンド25を付して教示動作を行う。この場合、制御装置は、教示画像中でリストバンド25に対応する部分を特定し、これに関連して手首22の位置を決定することができる。リストバンド25の色を教示者10の肌の色とは異なる特定の色としておけば、制御装置はその特定の色を検出することによって手首22の位置を決定することができ、位置決定の処理が簡素になるとともに精度が向上する。
 また、実施の形態4(図8)のように複数の腕が関わる教示作業の場合には、右手首のリストバンドと左手首のリストバンドとを互いに異なる色としておけば、制御装置は第1の色を検出することによって一方の手首の位置を決定することができ、第1の色とは異なる第2の色を検出することによって他方の手首の位置を決定することができる。このように、教示画像中で右手と左手とを区別して認識する処理が簡素になるとともに精度が向上する。
 なお、実施の形態4の変形例のように複数人の腕が関わる動作についても、すべての腕について異なる色のリストバンドを用いれば、教示画像中でそれぞれの手首を区別して認識することができる。
 さらに、教示画像における背景(すなわち教示者10の手21、手首22、腕23および体以外の部分)に対する手21、手首22または腕23の微小な動き、いわゆる「手ぶれ」に基づいて、手21、手首22または腕23を認識し、その位置を決定してもよい。この場合、手21または腕23が認識できれば、これに基づいて手首22の位置を決定することができる。
 また、図11のようなリストバンドを用いない場合であっても、色の違い(たとえば教示者10の肌の色、服装、等)に基づいて手首22の位置を決定することができる。
 実施の形態1~6では、姿勢候補データ選択ステップ(図2のステップS2a)において、手首の位置に関する情報を用いずに姿勢候補データの選択を行うが、これは手首の位置に関する情報を用いて行ってもよい。この場合、姿勢候補データ選択ステップ(ステップS2a)は、手首位置決定ステップ(ステップS2b)の後に実行されてもよい。また、教示画像において手首22よりも先の部分を手21として認識し、これを姿勢候補データの選択に用いてもよい。
 実施の形態1~6では、教示データを作成した直後にその教示データに基づいて実際の駆動を行っているが、駆動は行わなくともよい。たとえば、作成された教示データを単に記録するものであってもよい。この場合、後に記録された教示データを読み出し、これに基づいてロボットを駆動することができる。
 実施の形態1~6では、ロボットは3本のロボットハンドの指を備え合計15の制御可能な自由度を持つが、ロボットハンドの指の数および自由度の数はこれに限られない。ロボットハンドの指の数は少なくとも1本あればよく、把持動作等がある場合は2本以上あればよい。また、自由度の数は、少なくとも、ロボットアームの先端の位置を3次元で表す3変数、ロボットアームの先端の向きを3次元で表す3変数、第1指の第1関節の角度を表す1変数、第1指の第2関節の角度を表す2変数、第2指の第1関節の角度を表す1変数、および、第2指の第2関節の角度を表す2変数の、合計12あればよい。さらに、ロボットの自由度がこれより少ない場合には、さらに少ない変数によって教示を行ってもよい。
 実施の形態1~6では、手指座標は、手指の各関節の位置を表す座標と、指先の位置を表す座標とを含むが、手指座標の構成はこれに限られない。たとえば、手指座標は手指の各関節の位置を表す座標のみからなってもよく、また、指先の位置を表す座標のみからなってもよい。あるいは、手指に関連するなんらかの位置を表す座標であってもよく、これに対応してロボットハンド関節角度を決定することができるものであればよい。
 実施の形態1~6では、ロボット100は3本のロボットハンド120の指を有しており、教示者10の手指のうち親指・人差し指・中指がロボットハンド120の各指に対応したが、教示に用いる3本の指はこれとは異なる組合せであってもよい。また、ロボットハンドの指が2本であるロボットの場合には、たとえば親指および人差し指のみを用いて教示を行うことができ、また、4本または5本のロボットハンドの指を持つロボットの場合には、4本または5本の手指を用いて教示を行うことができる。
 実施の形態5および6では、駆動パターンはロボットハンド120における関節の運動パターンを表すものであるが、これはロボットアーム110における関節の運動パターンを表すものであってもよく、また、ロボットハンド120およびロボット100の双方の関節の運動パターンを表すものであってもよい。このような構成によれば、腕と指とが連動する動作についてもパターン制御を行うことができる。
 なお、駆動パターンがロボットアーム110に関する運動パターンを含む場合には、実施の形態5(図9)のパターン判定ステップ(ステップS8a)において、ステップS4で算出されたロボットハンド関節角度だけでなく、ステップS2で決定された手首座標にも基づいて判定が行われてもよい。

Claims (7)

  1.  ロボットハンドを備える、少なくとも1台のロボットの動作を制御する方法であって、
     人間の手を含む教示情報を取得する、教示情報取得ステップと、
     前記教示情報に基づいて、手指に関連する位置を表す手指座標を決定する、手指座標決定ステップと、
     前記手指座標に基づいて、前記ロボットハンドの各関節の角度を表すロボットハンド関節角度を算出する、ロボットハンド関節角度算出ステップと、
     前記ロボットハンド関節角度算出ステップにおいて算出された前記ロボットハンド関節角度に基づいて、前記ロボットハンドに駆動指令を送信する、駆動指令送信ステップと
    を含む、ロボットの動作を制御する方法。
  2.  前記教示情報は教示画像であって、前記教示情報取得ステップは教示画像取得ステップである請求項1に記載のロボットの動作を制御する方法。
  3.  前記ロボットハンドの関節の運動パターンを表す所定の運動パターンデータに基づいて前記ロボットハンドを駆動する、パターン駆動指令送信ステップをさらに含み、
     所定の条件が満たされた場合には、前記駆動指令送信ステップの代わりに前記パターン駆動指令送信ステップが実行される
    請求項1に記載のロボットの動作を制御する方法。
  4.  前記所定の条件が満たされたかどうかを判定する、パターン判定ステップをさらに含み、
     前記パターン判定ステップにおいて、一時点における前記ロボットハンド関節角度に基づいて、または、所定時間にわたる前記ロボットハンド関節角度の変動の状態に基づいて、前記ロボットハンド関節角度と前記所定の運動パターンデータとの関連性が判定される
    請求項3に記載のロボットの動作を制御する方法。
  5.  前記ロボットは、さらにロボットアームを備え、
     前記教示画像は、さらに人間の手首を含み、
     前記方法は、
     前記教示画像に基づいて、手首の位置および向きを表す手首座標を決定する、手首座標決定ステップと、
     前記手首座標に基づいて前記ロボットアームに駆動指令を送信する、ロボットアーム駆動指令送信ステップと
    をさらに含む
    請求項2に記載のロボットの動作を制御する方法。
  6.  前記ロボットは少なくとも2台であり、
     前記教示画像は、人間の両腕について、それぞれの手首および手を含み、
     前記ロボットハンド関節角度および前記手首座標は、それぞれ両腕について算出または決定される
    請求項5に記載のロボットの動作を制御する方法。
  7.  少なくとも1台のロボットと、
     請求項1~6のいずれか一項に記載の方法を実行して前記ロボットを制御する機能を有する制御装置と
    を備えるロボットシステム。
PCT/JP2010/054935 2009-11-24 2010-03-23 ロボットの動作を制御する方法およびロボットシステム WO2011065034A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009-266319 2009-11-24
JP2009266319A JP2011110620A (ja) 2009-11-24 2009-11-24 ロボットの動作を制御する方法およびロボットシステム

Publications (1)

Publication Number Publication Date
WO2011065034A1 true WO2011065034A1 (ja) 2011-06-03

Family

ID=44066137

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/054935 WO2011065034A1 (ja) 2009-11-24 2010-03-23 ロボットの動作を制御する方法およびロボットシステム

Country Status (2)

Country Link
JP (1) JP2011110620A (ja)
WO (1) WO2011065034A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110815188A (zh) * 2019-11-19 2020-02-21 福州大学 基于肢体运动进行工业机器人示教的系统及方法
WO2020054268A1 (ja) * 2018-09-14 2020-03-19 国立大学法人 東京大学 情報処理装置、ロボットハンド制御システム、及びロボットハンド制御プログラム
WO2022105929A1 (zh) * 2020-11-23 2022-05-27 深圳市越疆科技有限公司 机器人的拖动示教触发方法、装置及机器人

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2931485B1 (en) * 2012-12-14 2023-09-13 ABB Schweiz AG Bare hand robot path teaching
JP6042291B2 (ja) * 2013-08-27 2016-12-14 株式会社デンソーアイティーラボラトリ ロボット、ロボット制御方法、及びロボット制御プログラム
JP6201126B2 (ja) * 2013-11-07 2017-09-27 株式会社人機一体 マスタスレーブシステム
WO2017033350A1 (ja) * 2015-08-25 2017-03-02 川崎重工業株式会社 遠隔操作ロボットシステム及びその運転方法
JPWO2017038836A1 (ja) * 2015-08-28 2018-06-14 国立大学法人九州大学 ロボットハンド及びこれを操作するためのマスタ
US9408452B1 (en) * 2015-11-19 2016-08-09 Khaled A. M. A. A. Al-Khulaifi Robotic hair dryer holder system with tracking
JP6883392B2 (ja) * 2016-07-29 2021-06-09 川崎重工業株式会社 ロボットシステム
JP6748126B2 (ja) 2018-02-08 2020-08-26 ファナック株式会社 作業ロボットシステム
JP6625266B1 (ja) * 2018-03-23 2019-12-25 三菱電機株式会社 ロボット制御装置
JPWO2020235541A1 (ja) * 2019-05-20 2020-11-26
CN110421558B (zh) * 2019-06-21 2023-04-28 中国科学技术大学 面向配电网作业机器人的通用型遥操作系统及方法
DE102020124285B4 (de) 2019-09-20 2022-06-09 Nvidia Corporation Visionsbasierte Teleoperation eines beweglichen Robotersystems
IT202000025567A1 (it) * 2020-10-28 2022-04-28 Sir Soc Italiana Resine Spa Metodo implementato mediante computer per il controllo in tempo-reale di un robot antropomorfo e relativo sistema di controllo in tempo-reale
TW202235232A (zh) * 2021-03-11 2022-09-16 日商發那科股份有限公司 利用教示工具或作業者的手來設定教示點之教示裝置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05104480A (ja) * 1991-10-16 1993-04-27 Fujita Corp 監視用テレビカメラの遠隔操作システム
JPH0639754A (ja) * 1992-07-27 1994-02-15 Nippon Telegr & Teleph Corp <Ntt> ロボットハンド制御装置
JP2000138858A (ja) * 1998-11-02 2000-05-16 Fuji Photo Film Co Ltd 電子カメラシステム
JP2002301674A (ja) * 2001-04-03 2002-10-15 Sony Corp 脚式移動ロボット及びその運動教示方法、並びに記憶媒体
JP2005046931A (ja) * 2003-07-30 2005-02-24 National Institute Of Information & Communication Technology ロボットアーム・ハンド操作制御方法、ロボットアーム・ハンド操作制御システム
WO2005046942A1 (ja) * 2003-11-13 2005-05-26 Japan Science And Technology Agency ロボットの駆動方法
JP2006146435A (ja) * 2004-11-17 2006-06-08 Univ Waseda 動作伝達システムおよび動作伝達方法
JP2006294018A (ja) * 2005-03-17 2006-10-26 Japan Science & Technology Agency データベースの高速検索方法及び該高速検索方法を用いたロボットの駆動方法
JP2007130714A (ja) * 2005-11-09 2007-05-31 Advanced Telecommunication Research Institute International 制御装置、制御方法及び制御プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5526465B2 (ja) * 2007-06-22 2014-06-18 国立大学法人 筑波大学 爪位置データ検出装置及び爪位置データ検出方法、並びに爪位置データ検出プログラム

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05104480A (ja) * 1991-10-16 1993-04-27 Fujita Corp 監視用テレビカメラの遠隔操作システム
JPH0639754A (ja) * 1992-07-27 1994-02-15 Nippon Telegr & Teleph Corp <Ntt> ロボットハンド制御装置
JP2000138858A (ja) * 1998-11-02 2000-05-16 Fuji Photo Film Co Ltd 電子カメラシステム
JP2002301674A (ja) * 2001-04-03 2002-10-15 Sony Corp 脚式移動ロボット及びその運動教示方法、並びに記憶媒体
JP2005046931A (ja) * 2003-07-30 2005-02-24 National Institute Of Information & Communication Technology ロボットアーム・ハンド操作制御方法、ロボットアーム・ハンド操作制御システム
WO2005046942A1 (ja) * 2003-11-13 2005-05-26 Japan Science And Technology Agency ロボットの駆動方法
JP2006146435A (ja) * 2004-11-17 2006-06-08 Univ Waseda 動作伝達システムおよび動作伝達方法
JP2006294018A (ja) * 2005-03-17 2006-10-26 Japan Science & Technology Agency データベースの高速検索方法及び該高速検索方法を用いたロボットの駆動方法
JP2007130714A (ja) * 2005-11-09 2007-05-31 Advanced Telecommunication Research Institute International 制御装置、制御方法及び制御プログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
KIYOSHI HOSHINO ET AL.: "Copycat hand : robot hand control with hand posture estimation with high-speed processing at high accuracy", IEICE TECHNICAL REPORT. HIP, HUMAN JOHO SHORI, 30 November 2006 (2006-11-30), pages 45 - 50 *
TAKANOBU TANIMOTO: "Real time posture estimation of human hand using database with self-organized map", IEICE TECHNICAL REPORT, vol. 104, no. 747 *
TAKANOBU TANIMOTO: "Real time posture estimation of human hand using database", IEICE TECHNICAL REPORT, vol. 104, no. 125 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020054268A1 (ja) * 2018-09-14 2020-03-19 国立大学法人 東京大学 情報処理装置、ロボットハンド制御システム、及びロボットハンド制御プログラム
JP2020044581A (ja) * 2018-09-14 2020-03-26 国立大学法人 東京大学 情報処理装置、ロボットハンド制御システム、及びロボットハンド制御プログラム
JP7248271B2 (ja) 2018-09-14 2023-03-29 国立大学法人 東京大学 情報処理装置、ロボットハンド制御システム、及びロボットハンド制御プログラム
CN110815188A (zh) * 2019-11-19 2020-02-21 福州大学 基于肢体运动进行工业机器人示教的系统及方法
WO2022105929A1 (zh) * 2020-11-23 2022-05-27 深圳市越疆科技有限公司 机器人的拖动示教触发方法、装置及机器人

Also Published As

Publication number Publication date
JP2011110620A (ja) 2011-06-09

Similar Documents

Publication Publication Date Title
WO2011065034A1 (ja) ロボットの動作を制御する方法およびロボットシステム
WO2011065035A1 (ja) ロボットの教示データを作成する方法およびロボット教示システム
US20210205986A1 (en) Teleoperating Of Robots With Tasks By Mapping To Human Operator Pose
US20190126484A1 (en) Dynamic Multi-Sensor and Multi-Robot Interface System
CN103192387B (zh) 机器人及其控制方法
Chacko et al. An augmented reality interface for human-robot interaction in unconstrained environments
EP2617530A1 (en) Master control input device and master-slave manipulator
CN107030692B (zh) 一种基于感知增强的机械手遥操作方法及系统
CN109955254A (zh) 移动机器人控制系统及机器人末端位姿的遥操作控制方法
Singh et al. An interface for remote robotic manipulator control that reduces task load and fatigue
JP2019084601A (ja) 情報処理装置、把持システムおよび情報処理方法
US11422625B2 (en) Proxy controller suit with optional dual range kinematics
CN102830798A (zh) 单臂机器人基于Kinect的无标记人手跟踪方法
Dwivedi et al. Combining electromyography and fiducial marker based tracking for intuitive telemanipulation with a robot arm hand system
CN113103230A (zh) 一种基于处置机器人遥操作的人机交互系统及方法
CN110709211A (zh) 机器人系统和机器人系统的控制方法
Chacko et al. Augmented reality as a medium for human-robot collaborative tasks
Schwaner et al. MOPS: A modular and open platform for surgical robotics research
Yuan et al. Robot synesthesia: In-hand manipulation with visuotactile sensing
Li et al. A dexterous hand-arm teleoperation system based on hand pose estimation and active vision
Amatya et al. Real time kinect based robotic arm manipulation with five degree of freedom
Wang et al. Modelling of human haptic skill: A framework and preliminary results
Wang et al. Task autocorrection for immersive teleoperation
Chu et al. Hands-free assistive manipulator using augmented reality and tongue drive system
Bai et al. Kinect-based hand tracking for first-person-perspective robotic arm teleoperation

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10832883

Country of ref document: EP

Kind code of ref document: A1