Detecting pose using floating keypoint(s)
US-2020226786-A1 · Jul 16, 2020 · US
US11813749B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11813749-B2 |
| Application number | US-202016843185-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 8, 2020 |
| Priority date | Apr 8, 2020 |
| Publication date | Nov 14, 2023 |
| Grant date | Nov 14, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method for teaching a robot to perform an operation based on human demonstration with images from a camera. The method includes a teaching phase where a 2D or 3D camera detects a human hand grasping and moving a workpiece, and images of the hand and workpiece are analyzed to determine a robot gripper pose and positions which equate to the pose and positions of the hand and corresponding pose and positions of the workpiece. Robot programming commands are then generated from the computed gripper pose and position relative to the workpiece pose and position. In a replay phase, the camera identifies workpiece pose and position, and the programming commands cause the robot to move the gripper to pick, move and place the workpiece as demonstrated. A teleoperation mode is also disclosed, where camera images of a human hand are used to control movement of the robot in real time.
Opening claim text (preview).
What is claimed is: 1. A method for programming a robot to perform an operation by human demonstration, said method comprising: demonstrating the operation on a workpiece by a human hand; analyzing camera images of the hand demonstrating the operation on the workpiece, by a computer receiving the images from a two dimensional camera, to create demonstration data, where the demonstration data defines a pick, move and place operation including a grasping step where hand pose and workpiece pose are determined when the hand grasps the workpiece, a move step where hand pose and workpiece pose are determined at a plurality of points defining a move path, and a place step where the workpiece pose is determined when the workpiece becomes stationary after the move step, where the demonstration data includes a hand coordinate frame and a gripper coordinate frame corresponding to the hand coordinate frame, where the gripper coordinate frame represents a gripper type selected from a group including a finger-type gripper and a vacuum-type gripper, and where the hand coordinate frame is computed from the camera images by processing the camera images in a neural network convolution layer to identify key points on the human hand in the camera images, performing a Point-n-Perspective calculation using the key points on the human hand in the camera images and previously determined true lengths of a plurality of segments of digits of the human hand, and calculating a three-dimensional pose of the plurality of segments, and the true lengths of the plurality of segments of the digits of the human hand were previously determined using a hand size image analysis step including providing a sizing image of the human hand on a fiducial marker grid, analyzing the sizing image to compute transformations from a marker coordinate system to a screen coordinate system, processing the sizing image in a neural network convolution layer to identify key points on the human hand in the sizing image, using the transformations to compute coordinates of the key points in the marker coordinate system, and calculating the true lengths of the segments of the digits of the human hand; analyzing camera images of a new workpiece to determine an initial position and orientation of the new workpiece; generating robot motion commands, based on the demonstration data and the initial position and orientation of the new workpiece, to cause the robot to perform the operation on the new workpiece; and performing the operation on the new workpiece by the robot. 2. The method according to claim 1 wherein demonstrating the operation on the workpiece by the human hand and performing the operation on the new workpiece by the robot are both performed in a robotic work cell. 3. The method according to claim 1 wherein analyzing camera images of the hand demonstrating the operation includes identifying locations of a plurality of points on the hand, including a tip, a base knuckle and a second knuckle of each of a thumb and a forefinger. 4. The method according to claim 3 wherein the demonstration data includes, at the grasping step of the operation, position and orientation of the hand coordinate frame, the gripper coordinate frame corresponding to the hand coordinate frame, and a workpiece coordinate frame. 5. The method according to claim 4 wherein the demonstration data further includes positions of the hand coordinate frame and the workpiece coordinate frame for the plurality of points in the move step of the operation, and position and orientation of the workpiece coordinate frame for the place step of the operation. 6. The method according to claim 4 wherein the hand coordinate frame has an origin at a point midway between the base knuckles of the thumb and forefinger, a Z axis passing through a point midway between the tips of the thumb and forefinger, and a Y axis normal to a plane containing the thumb and forefinger. 7. The method according to claim 1 wherein the new workpiece, before the operation by the robot, rides on a conveyor, and the initial position of the new workpiece is a function of a conveyor position index. 8. The method according to claim 1 wherein generating robot motion commands includes generating commands, by a robot controller having a processor and memory, to cause a robot gripper to move to a grasping position and orientation based on the initial position and orientation of the new workpiece and position and orientation of the gripper relative to the workpiece contained in the demonstration data. 9. The method according to claim 8 wherein generating robot motion commands further includes generating commands causing the robot gripper to move the new workpiece from the grasping position to other positions contained in the demonstration data. 10. The method according to claim 8 wherein the robot gripper is a finger-type gripper or a surface gripper using suction or magnetic force. 11. A method for programming a robot to perform an operation by human demonstration, said method comprising: demonstrating the operation on a workpiece by a human hand; analyzing camera images of the hand demonstrating the operation on the workpiece to create demonstration data, including analyzing image pixel data of the hand, from a two-dimensional (2D) camera, to identify tip, base knuckle and second knuckle points on a thumb and forefinger of the hand and compute a hand coordinate frame and a corresponding gripper coordinate frame, where the gripper coordinate frame represents a gripper type selected from a group including a finger-type gripper and a vacuum-type gripper, and determining a position and orientation of the gripper coordinate frame relative to the workpiece, where the hand coordinate frame is computed from the camera images by processing the camera images in a neural network convolution layer to identify key points on the human hand in the camera images, performing a Point-n-Perspective calculation using the key points on the human hand in the camera images and previously determined true lengths of a plurality of segments of digits of the human hand, and calculating a three-dimensional pose of the plurality of segments, and the true lengths of the plurality of segments of the digits of the human hand were previously determined using a hand size image analysis step including providing a sizing image of the human hand on a fiducial marker grid, analyzing the sizing image to compute transformations from a marker coordinate system to a screen coordinate system, processing the sizing image in a neural network convolution layer to identify key points on the human hand in the sizing image, using the transformations to compute coordinates of the key points in the marker coordinate system, and calculating the true lengths of the segments of the digits of the human hand; analyzing camera images of a new workpiece to determine an initial position and orientation of the new workpiece, including adjusting the initial position and orientation of the new workpiece based on a conveyor position index; generating robot motion commands, by a robot controller having a processor and memory, based on the demonstration data and the initial position and orientation of the new workpiece, to cause the robot to perform the operation on the new workpiece, including motion commands causing the gripper to move to a grasping position and orientation based on the initial position and orientation of the new workpiece and the position and orientation of the gripper relative to the workpiece contained in the demonstration data; and performing the operation on the new workpiece by the robot. 12. The method according to claim 11 wherein demonstrating the
learning, adaptive, model based, rule based expert control · CPC title
characterised by motion, path, trajectory planning · CPC title
characterised by the hand, wrist, grip control · CPC title
Map human grasps to manipulator grasps · CPC title
Learn by operator observation, symbiosis, show, watch · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.