`
`
`
`Exhibit 12
`
`
`
`
`
`
`
`
`Case 1:22-cv-01257-GBW Document 1-12 Filed 09/22/22 Page 2 of 7 PageID #: 412
`
` Infringement analysis of claims 1–3, 7, and 10 of U.S. Patent No. 8,095,237.
`Claim
`US 8,095,237 – Claim features
`Features of Accused Product
`Elem.
`1
`
`A method useful in three-dimensional
`pose estimation for use with a single
`camera mounted to a movable portion of
`a robot, the method comprising:
`
`The ABB User Manual discloses detailed structures and functions for
`handling an object using, e.g., the robot shown at page 108 (reproduced
`below).
`
`1.1
`
`1.2
`
`capturing a two-dimensional image of a
`volume containing a target object;
`
`locating a number of features in the
`captured image of the target object; and
`
`“FlexVision™ allows you to generate a 3D calibration for a single
`camera or for all the cameras in the production environment
`simultaneously.” ABB User Manual, p. 137.
`“The second step is to align the workObj to the calibration target’s
`frame by using 3-points method…After finishing calibration, the robot
`position needs to be adjusted back to the, original position for
`acquiring images of the part. Now, the user can configure the
`Feature detection tool.” ABB User Manual, p. 96.
`“Now, the user can configure the Feature detection tool.” ABB User
`Manual, p. 96.
`
`1
`
`
`
`Case 1:22-cv-01257-GBW Document 1-12 Filed 09/22/22 Page 3 of 7 PageID #: 413
`
`US 8,095,237 – Claim features
`
`Features of Accused Product
`
`“It is recommended to use at least 10 or 12 features.” ABB User
`Manual, p. 93.
`
`
`“User should add vision tools, including at least 1 PMAlign tool, 1
`fixture tool and at least 4 features, for each View. Every PMAlign
`tool and Feature tool have a Train Region and Search Region.
`PMAlign tool is the Anchor feature of the Part. FlexVision™
`software searches for the anchor feature(s) in the search region
`(usually the whole image).” ABB User Manual, p. 149.
`
`
` figure in page 171 of the ABB User Manual (reproduced below)
`shows a software image in which 9 features are visible on an object.
`
`
` A
`
`
`
`
`
`
`Claim
`Elem.
`
`
`
`2
`
`
`
`Case 1:22-cv-01257-GBW Document 1-12 Filed 09/22/22 Page 4 of 7 PageID #: 414
`
`US 8,095,237 – Claim features
`
`Features of Accused Product
`
`
`
`
`Claim
`Elem.
`1.3
`
`determining by a processor an object
`space-to-camera space transformation for
`the target object
`
`“The relationship of the feature points is identified and based on
`the 3D model points, and the appearance of the features in the image,
`the pose of the part is estimated. It is the transformation from the
`Camera Coordinate System to the work frame used in RAPID
`code.” ABB User Manual, p. 99.
`
`
`“Extrinsic Calibration Data[:] It is the transformation data of the
`object in world space to camera coordinate system.” ABB User
`Manual, p. 220.
`
`
`“The Processing Unit used for the current version of FlexVision™
`is Matrix MXC-6300 Series from ADLINK Technology Inc.” ABB
`User Manual, p. 9.
`“It is important to train features that are unique and not easily confused
`with nearby edges or features. These features should have good contrast
`and not have a lot of noise in the area…If any defined feature is found
`missing for the image of the object, its search region is marked in
`red.” ABB User Manual, p. 93.
`
`
`“This works because these generated points tell the robot where the
`points are located in the work frame being used. The robot can then
`properly initiate the next sequence in the tasks given to it and accurately
`determine where the part being used is.”
`ABB User Manual, p. 172.
`
`
`“A 3D Vision Task is a vision process for acquiring images of the
`parts, like engine cylinder heads, transmission blocks, searching
`trained patterns, and estimate the 3D poses of the parts and then
`send the pose of the part to the Robot.” ABB User Manual, p. 149.
`
`1.3.1
`
`based at least in part on a position of at
`least some of the located features using
`only the single captured image and
`
`
`
`3
`
`
`
`Case 1:22-cv-01257-GBW Document 1-12 Filed 09/22/22 Page 5 of 7 PageID #: 415
`
`US 8,095,237 – Claim features
`
`Features of Accused Product
`
`an algorithm that employs a known or
`determinable physical relationship
`between at least some of the located
`features.
`
` A figure on page 179 of the ABB User Manual that shows the input
`data for the system of equations derived from the extracted feature
`data with the previously acquired camera calibration data that
`ultimately produces the system of equations to be solved for pose
`estimation:
`
`
`
`
`
`
`Claim
`Elem.
`1.3.2
`
`
`
`
`
`4
`
`
`
`Case 1:22-cv-01257-GBW Document 1-12 Filed 09/22/22 Page 6 of 7 PageID #: 416
`
`US 8,095,237 – Claim features
`
`Features of Infringing Product
`
`The method of claim 1, further comprising:
`capturing a number of images of a
`calibration object by the camera;
`
`determining a set of intrinsic
`parameters of the camera from at least
`one of the number of images of the
`calibration object captured by the camera;
`and
`determining a set of extrinsic
`parameters of the camera from at least
`one of the number of images of the
`calibration object captured by the camera,
`the set of extrinsic parameters comprising
`a camera space-to-training space
`transformation defining a
`transformation between a camera space
`reference frame and a training space
`reference frame.
`
`
`“FlexVision™ allows you to generate a 3D calibration for a single
`camera or for all the cameras in the production environment
`simultaneously.” ABB User Manual, p. 137.
`
`“…calibration target has the following properties: [] Object Frame
`offset: (110,50).” ABB User Manual, p. 25.
`
`
`“vCalibrate function: Acquires calibration images, triggers executes
`intrinsic/extrinsic and hand-eye calibrations.” ABB User Manual, p.
`107.
`“Calibration tasks are added to manage a camera calibration and the
`calibration settings. The calibration produces three types of data -
`intrinsic, extrinsic and hand-eye calibration data.” ABB User
`Manual, p. 74.
`
`“Calibration tasks are added to manage a camera calibration and the
`calibration settings. The calibration produces three types of data -
`intrinsic, extrinsic and hand-eye calibration data.” ABB User
`Manual, p. 74.
`
`
`“Extrinsic Calibration Data[:] It is the transformation data of the
`object in world space to camera coordinate system.” ABB User
`Manual, p. 220.
`
`
`“The second step is to align the workObj to the calibration target’s
`frame by using 3-points method.” ABB User Manual, p. 96.
`
`“…calibration target has the following properties: [] Object Frame
`offset: (110,50).” ABB User Manual, p. 25.
`
`
`
`
`Claim
`Elem.
`2
`2.1
`
`2.2
`
`2.3
`
`
`
`5
`
`
`
`Case 1:22-cv-01257-GBW Document 1-12 Filed 09/22/22 Page 7 of 7 PageID #: 417
`
`US 8,095,237 – Claim features
`
`Features of Infringing Product
`
`The method of claim 2, further comprising:
`
`
`positioning the camera with respect to the
`calibration object.
`
`“Fiducial mark on calibration target must be in the field of the view
`for all camera images.” ABB User Manual, p. 137.
`
`US 8,095,237 – Claim features
`
`Features of Infringing Product
`
`The method of claim 3 wherein capturing a
`number of images of a calibration object by
`the camera comprises capturing at least
`one image at each of a plurality of
`different orientations with respect to the
`calibration object.
`
`“The angle between the 2 adjacent camera view positions should be
`greater than 30 degree.” ABB User Manual, p.
`137.
`
`
`“vCalibrate … The robot will sequence through 27 saved positions
`with the vision system inspecting at each location. At each location,
`the vision system will extract the intrinsic and extrinsic parameters.
`After all locations have been inspected, the vision system will
`calculate the camera calibration and the hand-eye calibration." ABB
`User Manual, p. 112.
`
`
`US 8,095,237 – Claim features
`
`Features of Infringing Product
`
`The method of claim 2, further comprising:
`
`
`determining a camera space-to-tool space
`transformation based at least in part on at
`least two of the number of images
`captured by the camera of the
`calibration object.
`
`“You need to define at least 3 camera view positions…The hand to
`eye calibration result is the transformation between the TCP used in
`your RAPID calibration module and the cameras.” ABB User
`Manual, p. 137.
`
`
`
`
`Claim
`Elem.
`3
`
`
`Claim
`Elem.
`7
`
`
`Claim
`Elem.
`10
`
`
`
`
`
`6
`
`