Method and system for automatically determining the position and attitude of an object
First Claim
1. Method for automatically determining the position and attitude of a three-dimensional body in space having at least three spaced apart target points at a vision station having a fixed coordinate system, said method comprising the steps of:
- generating calibration data defining a nominal position of the body at the vision station;
generating substantially simultaneously a single plane of image data for each of said target points, each plane of image data containing its respective target point and each plane of image data being non-overlapping with respect to each of the other planes of image data;
determining the locations of the target points within their respective image planes to obtain positional data; and
processing the calibration data and the positional data together to provide data defining the position and attitude of the body with respect to the fixed coordinate system.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system are provided for automatically determining the position and attitude of a three-dimensional body at a work station by utilizing three cameras each of which generates a non-overlapping plane of image data, including a single target point of the body without the use of structured light. The locations of the target points are determined and processed within a programmed computer together with calibration data relating to the expected position of the body in the work station to provide data relating to the position and attitude of the body with respect to the work station. The resultant data relating to the position and attitude of the body are subsequently transformed into a first set of offset data relating to the difference between the actual and expected positions of the body. The first set of offset data is then transformed into a second set of offset data in the coordinate system of a peripheral device such as a robot, programmable controller, numerically controlled machine, etc. Finally, the programmed computer transfers the second set of offset data to the peripheral device which utilizes the data to modify its pre-programmed path.
-
Citations
18 Claims
-
1. Method for automatically determining the position and attitude of a three-dimensional body in space having at least three spaced apart target points at a vision station having a fixed coordinate system, said method comprising the steps of:
-
generating calibration data defining a nominal position of the body at the vision station; generating substantially simultaneously a single plane of image data for each of said target points, each plane of image data containing its respective target point and each plane of image data being non-overlapping with respect to each of the other planes of image data; determining the locations of the target points within their respective image planes to obtain positional data; and processing the calibration data and the positional data together to provide data defining the position and attitude of the body with respect to the fixed coordinate system. - View Dependent Claims (2, 3, 4, 5)
-
-
6. Method for automatically determining the position and attitude of a three-dimensional body located at a vision station having a fixed coordinate system without the use of structured lighting, the body having at least three spaced apart target points, said method comprising the steps of:
-
generating calibration data defining a nominal position of the body at the vision station; illuminating the body with unstructured light to form at least three images in three-dimensional space; transforming substantially simultaneously the images in three-dimensional space to three planes of image data, each plane of image data containing its respective target point and each plane of image data being non-overlapping with respect to each of the other planes of image data; determining the locations of the target points within their respective image planes to obtain positional data; and processing the calibration data and the positional data together to provide data defining the position and attitude of the body with respect to the fixed coordinate system.
-
-
7. A method of automatically providing path compensation data to a programmed robot controller, to enable a robot controlled by the controller to move along a new path different from the path originally programmed in the controller to work on a three-dimensional body at a work station having a fixed coordinate system, the compensation data defining the difference between actual and nominal positions of the three-dimensional body at the work station, the method comprising the steps of:
-
generating calibration data defining the nominal position of the three-dimensional body at the work station; generating substantially simultaneously three planes of image data, each of said planes of image data including image data containing a single target point on said body and each plane of image data being non-overlapping with respect to each of the other planes of image data; determining the position of each of said target points within each of said image planes to obtain positional data; processing the calibration data and the positional data of the target points together to obtain location data defining the position and attitude of the body with respect to the fixed coordinate system; transforming the location data into a first set of offset data defining the difference between the actual and nominal positions of the body in said fixed coordinate system; transforming the first set of offset data into a second set of offset data in the coordinate system of the robot; and transferring the second set of offset data to the controller.
-
-
8. A method of automatically providing path compensation data to a programmed robot controller, to enable a robot controlled by the controller to move along a new path different from the path originally programmed in the controller to work on a three-dimensional body at a work station having a fixed coordinate system, the compensation data defining the difference between actual and nominal positions of the three-dimensional body at the work station, the method comprising the steps of:
-
generating calibration data defining the nominal position of the three-dimensional body at the work station; illuminating the body with unstructured light to form at least three non-overlapping images in three-dimensional space; transforming substantially simultaneously the images in three-dimensional space to three planes of image data, each of said planes of image data including image data containing a single target point on said body and each plane of image data being non-overlapping with respect to each of the other planes of image data; determining the position of each of said target points within each of said image planes to obtain positional data; processing the calibration data and the positional data of the target points together to obtain location data defining the position and attitude of the body with respect to the fixed coordinate system; transforming the resultant data into a first set of offset data defining the difference between the actual and nominal positions of the body in said fixed coordinate system; transforming the first set of offset data into a second set of offset data in the coordinate system of the robot; and transferring the second set of offset data to the controller.
-
-
9. A system for automatically determining the position and attitude of a three-dimensional body in space having at least three spaced apart target points at a vision station having a fixed coordinate system, said system comprising:
-
means for storing calibration data defining a nominal position of the body at the vision station; at least three spaced apart cameras, each of said cameras operating substantially simultaneously with each of the other cameras and generating a plane of image data containing a single target point and each plane of image data being non-overlapping with respect to each of the other planes of image data; means for providing positional data defining the location of the target points within their respective image planes; and means for processing the calibration data and the positional data together to provide data defining the position and attitude of the body with respect to the fixed coordinate system.
-
-
10. A system for automatically determining the position and attitude of a three-dimensional body in space having at least three spaced apart target points at a vision station having a fixed coordinate system without the use of structured light, said system comprising:
-
means for storing calibration data defining a nominal position of the body at the vision station; at least three spaced apart cameras mounted at predetermined positions at the vision station, each of said cameras having a field of view; means for illuminating the body with unstructured light to form at least three images in three-dimensional space; means for moving the body relative to said cameras in the vision station so that each of the target points is positioned within the field of view of its respective camera, each of said cameras operating substantially simultaneously with each of the other cameras to transform the images in three-dimensional space to three planes of image data, each plane of image data containing its respective target point and each plane of image data being non-overlapping with respect to each of the other planes of image data; means for providing positional data defining the location of the target points within their respective image planes; and means for processing the calibration data and the positional data together to provide data defining the position and attitude of the body with respect to the fixed coordinate system. - View Dependent Claims (11, 12, 13)
-
-
14. A system for automatically providing path compensation data to a programmed robot controller, to enable a robot controlled by the controller to move along a new path different from the path originally programmed in the controller to work on a three-dimensional body at a work station having a fixed coordinate system, the compensation data defining the difference between the actual and nominal positions of the three-dimensional body at the work station, the system comprising:
-
means for storing calibration data defining the nominal position of the three-dimensional body at the work station; at least three spaced apart cameras mounted at predetermined positions in the work station, each of said cameras having a field of view; means for moving the body at the work station so that each of the target points is positioned within the field of view of its respective camera, each of said cameras operating substantially simultaneously with each of the other cameras and generating a plane of image data containing its respective target point and each plane of image data being non-overlapping with respect to each of the other planes of image data; means for providing positional data defining the location of the target points within their respective image planes; means for processing the calibration data and the positional data of the target points together to obtain location data defining the position and attitude of the body with respect to the fixed coordinate system; means for transforming the location data into a first set of offset data defining the difference between the actual and nominal positions of the body in said fixed coordinate system; means for transforming the first set of offset data into a second set of offset data in the coordinate system of the robot; and means for transferring the second set of offset data to the controller. - View Dependent Claims (16, 17, 18)
-
-
15. A system for automatically providing path compensation data to a programmed robot controller, to enable a robot controlled by the controller to move along a new path different from the path originally programmed in the controller to work on a three-dimensional body at a work station having a fixed coordinate system, the compensation data defining the difference between actual and nominal positions of the three-dimensional body at the work station, the system comprising:
-
means for storing calibration data defining the nominal position of the three-dimensional body at the work station; at least three spaced apart cameras mounted at predetermined positions in the work station, each of said cameras having a field of view; means for illuminating the body with unstructured light to form at least three images in three-dimensional space; means for moving the body in the vision station so that each of the target points is positioned within the field of view of its respective camera, each of said cameras operating substantially simultaneously with each of the other cameras to transform the images in three-dimensional space to three planes of image data, each of said planes of image data containing its respective target point and each plane of image data being non-overlapping with respect to each of the other planes of image data; means for providing positional data defining the location of the target points within their respective image planes; means for processing the calibration data and the positional data of the target points together to obtain location data defining the position and attitude of the body with respect to the fixed coordinate system; means for transforming the location data into a first set of offset data defining the difference between the actual and nominal positions of the body in said fixed coordinate system; means for transforming the first set of offset data into a second set of offset data in the coordinate system of the robot; and means for transferring the second set of offset data to the controller.
-
Specification