IP Library › Granted Patent US 12,649,235
Granted Patent B2
US 12,649,235 · App. 18/152,980 · Granted Jun 9, 2026

Techniques for adaptive robotic assembly

Inventors: Yoshihito Yotto Koga (Mountain View, CA); Sachin Chitta (Palo Alto, CA); Heather Kerrick (Berkeley, CA)
Assignee: AUTODESK, INC.
B25J9/1664B25J9/161B25J9/1612B25J9/163B25J9/1671B25J9/1687B25J19/023
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,649,235
App. No.
18/152,980
Granted
Jun 9, 2026
Kind
B2
Abstract

Techniques are disclosed for controlling robotic systems to perform assembly tasks. In some embodiments, a robot control application receives sensor data associated with one or more parts. The robot control application applies a grasp perception model to predict one or more grasp proposals indicating regions of the one or more parts that a robotic system can grasp. The robot control application causes the robotic system to grasp one of the parts based on a corresponding grasp proposal. If the pose of the grasped part needs to be changed in order to assemble the part with one or more other parts, the robot control application determines movements of the robotic system required to re-grasp the part in a different pose. In addition, the robot control application determines movements of the robot system for assembling the part with the one or more other parts based on results of a motion planning technique.

Claims (44)

1 . A computer-implemented method for controlling a robotic system, the method comprising:

receiving sensor data associated with one or more parts;

executing, based on the sensor data, a first trained machine learning model that predicts one or more grasp proposals associated with the one or more parts, wherein each grasp proposal indicates a region of one of the one or more parts that the robotic system can grasp, wherein the robotic system comprises a first robot and a second robot;

causing the first robot to grasp a first part in a first pose based on the one or more grasp proposals, wherein the first part is included in the one or more parts;

receiving additional sensor data associated with the first part;

executing, based on the additional sensor data, a second trained machine learning model that predicts a pose proposal associated with a second pose of the first part;

in response to determining that the grasping of the first part in the first pose does not allow the first part to be assembled with the one or more parts, computing one or more movements of the robotic system to grasp the first part in the second pose by the first robot or the second robot, wherein the second pose of the first part is different than the first pose of the first part;

determining one or more additional movements of the robotic system to assemble the first part with the one or more other parts; and

causing the robotic system to perform the one or more movements and the one or more additional movements.

2 . The computer-implemented method of claim 1 , wherein computing the one or more movements comprises performing a search of a graph, and each node of the graph represents one of the first robot or the second robot grasping the first part in a different pose.

3 . The computer-implemented method of claim 1 , further comprising training the second trained machine learning model based on training data that includes (i) sensor data associated with a computer-aided design (CAD) model that represents the first part being grasped in a plurality of poses, and (ii) a plurality of pose proposals that each represents the first part being grasped in a different pose included in the plurality of pose proposals.

4 . The computer-implemented method of claim 1 , further comprising training the first trained machine learning model based on a training set of sensor data associated with one or more computer-aided design (CAD) models of a plurality of parts and one or more grasp proposals associated with the one or more CAD models.

5 . The computer-implemented method of claim 4 , further comprising generating each grasp proposal included in the one or more grasp proposals associated with the one or more CAD models based on one or more user-specified graspings of a CAD model included in the one or more CAD models.

6 . The computer-implemented method of claim 1 , wherein causing the robotic system to grasp the first part comprises:

computing a principal component analysis of a first grasp proposal, included in the one or more grasp proposals, that corresponds to the first part; and

determining how fingers of the robotic system can grasp the first part based on the principal component analysis.

7 . The computer-implemented method of claim 1 , wherein the one or more movements of the robotic system are computed based on results of one or more motion planning operations.

8 . The computer-implemented method of claim 1 , wherein the sensor data comprises depth data.

9 . The computer-implemented method of claim 1 , further comprising, prior to executing the first trained machine learning model, generating a height map associated with the one or more parts based on the sensor data, wherein the height map specifies a height of the one or more parts from a plane behind the one or more parts, wherein the first trained machine learning model is executed further based on the height map.

10 . One or more non-transitory computer-readable storage media including instructions that, when executed by at least one processor, cause the at least one processor to perform steps for controlling a robotic system, the steps comprising:

receiving sensor data associated with one or more parts;

executing, based on the sensor data, a first trained machine learning model that predicts one or more grasp proposals associated with the one or more parts, wherein each grasp proposal indicates a region of one of the one or more parts that the robotic system can grasp, wherein the robotic system comprises a first robot and a second robot;

causing the first robot to grasp a first part in a first pose based on the one or more grasp proposals, wherein the first part is included in the one or more parts;

receiving additional sensor data associated with the first part;

executing, based on the additional sensor data, a second trained machine learning model that predicts a pose proposal associated with a second pose of the first part;

in response to determining that the grasping of the first part in the first pose does not allow the first part to be assembled with the one or more parts, computing one or more movements of the robotic system to grasp the first part in the second pose by the first robot or the second robot, wherein the second pose of the first part is different than the first pose of the first part;

determining one or more additional movements of the robotic system to assemble the first part with the one or more parts; and

causing the robotic system to perform the one or more movements and the one or more additional movements.

11 . The one or more non-transitory computer-readable storage media of claim 10 , wherein computing the one or more movements comprises performing a search of a graph, and each node of the graph represents one of the first robot or the second robot grasping the first part in a different pose.

12 . The one or more non-transitory computer-readable storage media of claim 10 , wherein the second trained machine learning model comprises a semantic segmentation neural network.

13 . The one or more non-transitory computer-readable storage media of claim 10 , wherein the instructions, when executed by the at least one processor, further cause the at least one processor to perform the step of training the first trained machine learning model based on a training set of sensor data associated with one or more computer-aided design (CAD) models of parts and one or more grasp proposals associated with the one or more CAD models.

14 . The one or more non-transitory computer-readable storage media of claim 13 , wherein the instructions, when executed by the at least one processor, further cause the at least one processor to perform the step of generating each grasp proposal included in the one or more grasp proposals associated with the one or more CAD models based on one or more user-specified graspings of a CAD model included in the one or more CAD models.

15 . The one or more non-transitory computer-readable storage media of claim 10 , wherein the first part is closer in height to the robotic system than one or more other parts of the one or more parts.

16 . A robotic system comprising:

one or more memories storing instructions; and

one or more processors that are coupled to the one or more memories and, when executing the instructions, are configured to:

receive sensor data associated with one or more parts,

execute, based on the sensor data, a first trained machine learning model that predicts one or more grasp proposals associated with the one or more parts, wherein each grasp proposal indicates a region of one of the one or more parts that the robotic system can grasp, wherein the robotic system comprises a first robot and a second robot;

cause the first robot to grasp a first part in a first pose based on the one or more grasp proposals, wherein the first part is included in the one or more parts;

receive additional sensor data associated with the first part;

execute, based on the additional sensor data, a second trained machine learning model that predicts a pose proposal associated with a second pose of the first part;

in response to determining that the grasping of the first part in the first pose does not allow the first part to be assembled with the one or more parts, compute one or more movements of the robotic system to grasp the first part in the second pose by the first robot or the second robot, wherein the second pose of the first part is different than the first pose of the first part;

compute one or more additional movements of the robotic system to assemble the first part with the one or more parts; and

cause the robotic system to perform the one or more movements and the one or more additional movements.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2023
From: KOGA, YOSHIHITO YOTTO; CHITTA, SACHIN; KERRICK, HEATHER
To: AUTODESK, INC.
Reel/Frame 062963/0358 →
Continuity (2)
Provisional Application 63315451 · Mar 1, 2022
Related Publication 20230278213A1 · Sep 7, 2023
References Cited (31)
US 20210122045A1 · Handa · 2021 [cited by examiner]
US 20210187741A1 · Marthi · 2021 [cited by examiner]
US 20220084241A1 · Dikhale · 2022 [cited by examiner]
US 20230125022A1 · Li · 2023 [cited by examiner]
Koga, Yotto, Heather Kerrick, and Sachin Chitta. “On cad informed adaptive robotic assembly.” 2022 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, 2022. (Year: 2022). [cited by examiner]
Gschwandtner, Michael, et al. “BlenSor: Blender sensor simulation toolbox.” International Symposium on Visual Computing. Berlin, Heidelberg: Springer Berlin Heidelberg, 2011. (Year: 2011). [cited by examiner]
Michniewicz, Joachim, Gunther Reinhart, and Stefan Boschert. “CAD-based automated assembly planning for variable products in modular production systems.” Procedia CIRP 44 (2016): 44-49. (Year: 2016). [cited by examiner]
B. Zhao, H. Zhang, X. Lan, H. Wang, Z. Tian and N. Zheng, “REGNet: REgion-based Grasp Network for End-to-end Grasp Detection in Point Clouds,” 2021 IEEE International Conference on Robotics and Automation (ICRA), Xi'an,… [cited by examiner]
W. Wan and K. Harada, “Developing and Comparing Single-Arm and Dual-Arm Regrasp,” in IEEE Robotics and Automation Letters, vol. 1, No. 1, pp. 243-250, Jan. 2016 (Year: 2016). [cited by examiner]
A Pose Proposal and Refinement Network for Better 6D Object Pose Estimation. 2021 IEEE Winter Conference on Applications of Computer Vision (WACV). IEEE, 2021 (Year: 2021). [cited by examiner]
Alami et al., “A Geometrical Approach to Planning Manipulation Tasks: The Case of Discrete Placements and Grasps”, Jan. 20, 1989, 21 pages. [cited by applicant]
Ambler et al., “Inferring the Positions of Bodies from Specified Spatial Relationships”, In Artificial Intelligence, vol. 6, 1975, pp. 157-174. [cited by applicant]
Aoki et al., “PointNetLK: Robust & Efficient Point Cloud Registration using PointNet”, In 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), DOI: 10.1109/CVPR.2019.00733, 2019, pp. 7163-7172. [cited by applicant]
Homem De Mello et al., “A Correct and Complete Algorithm for the Generation of Mechanical Assembly Sequences”, In IEEE Transactions on Robotics and Automation, vol. 7, No. 2, Apr. 1991, pp. 228-240. [cited by applicant]
Drigalski et al., “Team O2AS at the World Robot Summit 2018: An Approach to Robotic Kitting and Assembly Tasks Using General Purpose Grippers and Tools”, In Advanced Robotics, DOI: 10.1080/01691864.2020.1734481, 2020, p… [cited by applicant]
Gorjup et al., “Combining Compliance Control, CAD Based Localization, and a Multi-Modal Gripper for Rapid and Robust Programming of Assembly Tasks”, In 2020 IEEE/RSJ International Conference on Intelligent Robots and Sy… [cited by applicant]
Halperin et al., “A General Framework for Assembly Planning: The Motion Space Approach”, In Algorithmica, vol. 26, 2000, pp. 577-601. [cited by applicant]
He et al., “PVN3D: A Deep Point-wise 3D Keypoints Voting Network for 6DoF Pose Estimation”, In 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), DOI: 10.1109/CVPR42600.2020.01165, 2020, pp. 116… [cited by applicant]
Jegou et al., “The One Hundred Layers Tiramisu: Fully Convolutional DenseNets for Semantic Segmentation”, In 2017 IEEE Conference on Computer Vision and Pattern Recognition Workshops, DOI: 10.1109/CVPRW.2017.156, 2017, … [cited by applicant]
Knepper et al., “IkeaBot: An Autonomous Multi-Robot Coordinated Furniture Assembly System”, In 2013 IEEE International Conference on Robotics and Automation (ICRA), May 6-10, 2013, pp. 855-862. [cited by applicant]
Koga et al., “On Multi-Arm Manipulation Planning”, In International Conference on Robotics and Automation (ICRA), 1994, pp. 945-952. [cited by applicant]
Mahler et al., “Dex-Net 2.0: Deep Learning to Plan Robust Grasps with Synthetic Point Clouds and Analytic Grasp Metrics”, arXiv:1703.09312, Aug. 8, 2017, 12 pages. [cited by applicant]
Michniewicza et al., “CAD-based Automated Assembly Planning for Variable Products in Modular Production Systems”, In 6th CIRP Conference on Assembly Technologies and Systems (CATS), DOI: 10.1016/j.procir.2016.02.016, 20… [cited by applicant]
Morrison et al., “Closing the Loop for Robotic Grasping: A Real-time, Generative Grasp Synthesis Approach”, In Proceedings of Robotics: Science and Systems (RSS), arXiv:1804.05172, Apr. 14, 2018, 10 pages. [cited by applicant]
Redmon et al., “Real-Time Grasp Detection Using Convolutional Neural Networks”, In 2015 IEEE International Conference on Robotics and Automation (ICRA), May 26-30, 2015, pp. 1316-1322. [cited by applicant]
Chitta et al., “Movelt!”, In IEEE Robotics & Automation Magazine, Mar. 2012, pp. 18-19. [cited by applicant]
Thomas et al., “Inferring Feasible Assemblies from Spatial Constraints”, In IEEE Transactions on Robotics and Automation, vol. 8, No. 2, Apr. 1992, pp. 228-239. [cited by applicant]
Wan et al., “A Regrasp Planning Component for Object Reorientation”, In Autonomous Robot, DOI: 10.1007/s10514-018-9781-y, Jul. 24, 2018, 15 pages. [cited by applicant]
Yang et al., “Go-ICP: Solving 3D Registration Efficiently and Globally Optimally”, In 2013 IEEE International Conference on Computer Vision, DOI: 10.1109/ICCV.2013.184, 2013, pp. 1457-1464. [cited by applicant]
Zhang et al., “Interlocking Block Assembly With Robots”, In IEEE Transactions on Automation Science and Engineering, DOI: 10.1109/TASE.2021.3069742, 2021, 15 pages. [cited by applicant]
Zhao et al., “REGNet: REgion-based Grasp Network for End-to-end Grasp Detection in Point Clouds”, In 2021 IEEE International Conference on Robotics and Automation (ICRA 2021), May 31-Jun. 4, 2021, pp. 13474-13480. [cited by applicant]