IP Library Granted Patent US 12,447,631
Granted Patent B2
US 12,447,631 · App. 17/902,587 · Granted Oct 21, 2025

Automated robotic tool selection

Inventors: Khashayar Rohanimanesh (San Francisco, CA); Jacob Charles Metzger (San Francisco, CA); William Davidson Richards (San Francisco, CA)
Assignee: Osaro
B25J15/0408B25J9/163B25J9/1653
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,447,631
App. No.
17/902,587
Granted
Oct 21, 2025
Kind
B2
Abstract

A computer system automatically selects robot end-effectors for pick-and-place applications using a model-predictive control algorithm. The system may select an end-effector to replace an existing end-effector in order to optimize (or at least increase) throughput. The system uses a predictive model of reward, where reward of each potential grasp for each end tool is parameterized by a deep neural network. The system may also use a variety of metrics to evaluate the performance of the tool-selection algorithm, and thereby improve performance of the system.

Claims (68)

1. A method, performed by a computer, for use with at least one grasp prediction model for evaluating grasps for a plurality of end-effectors, wherein the at least one grasp prediction model comprises at least one neural network trained using grasp success/failure data, the method comprising:

(A) storing, in a computer memory, data indicating which end-effector is currently attached to a robot;

(B) identifying, based on an input image, a plurality of objects to be grasped by the robot, comprising identifying a plurality of locations in the input image;

(C) selecting, using a Markov Decision Process (MDP) based on outputs from the at least one grasp prediction model, a plurality of grasps for grasping the plurality of objects,

wherein the plurality of grasps are in an ordered sequence; and

wherein the MDP includes a reward function which balances pick success and end-effector change cost; and

(D) for each of the plurality of grasps in the ordered sequence:

selecting a corresponding end-effector; and

automatically attaching the selected end-effector to the robot.

2. The method of claim 1 , wherein (D) comprises:

(D)(1) identifying a first grasp in the ordered sequence;

(D)(2) identifying the end-effector corresponding to the first grasp;

(D)(3) determining whether the end-effector currently attached to the robot differs from the end-effector corresponding to the first grasp; and

(D)(4) in response to determining that the end-effector currently attached to the robot differs from the end-effector corresponding to the first grasp:

(D)(4)(a) detaching the end-effector currently attached to the robot from the robot; and

(D)(4)(b) automatically attaching, to the robot, the end-effector corresponding to the first grasp.

3. The method of claim 2 , wherein (D)(4)(a) and (D)(4)(b) are performed automatically.

4. The method of claim 3 , wherein (D)(4)(a) and (D)(4)(b) are performed automatically using a single tool-changer mechanism.

5. The method of claim 1 , wherein the at least one grasp prediction model provides, based on a given image and the end-effector corresponding to the grasp prediction model, a plurality of grasp proposals, wherein each of the plurality of grasp proposals identifies:

the end-effector corresponding to the grasp prediction model,

a pixel in the given image, and

a probability of a successful grasp when the end-effector corresponding to the grasp prediction model is used to attempt a grasp at a location corresponding to the pixel in the given image.

6. The method of claim 1 , wherein (C) comprises:

(C)(1) for each of the plurality of grasp prediction models, evaluating the grasp prediction model at each of a plurality of pixels in the input image to generate a success probability score corresponding to that grasp prediction model and that pixel; and

(C)(2) identifying, for each of the plurality of grasp prediction models, k pixel positions in the image having the k highest success probability scores for that grasp prediction model, where k>1.

7. The method of claim 1 , wherein (C) comprises selecting the plurality of grasps by solving an approximation of the Markov Decision Process (MDP).

8. The method of claim 7 , wherein solving the approximation of the MDP comprises solving the approximation of the MDP based only on objects that are visible in the input image.

9. The method of claim 7 , wherein solving the approximation of the MDP comprises solving the approximation of the MDP using Integer Linear Programming (ILP).

10. The method of claim 7 , wherein solving the approximation of the MDP comprises solving the approximation of the MDP using a sparse tree search.

11. The method of claim 1 , wherein (C) comprises, at each of a plurality of time steps, selecting a grasp that is optimal for at least one next time step.

12. The method of claim 1 , wherein (C) comprises:

(C)(1) selecting a first grasp in the ordered sequence of the plurality of grasps;

(C)(2) defining a void zone, the void zone comprising an area surrounding a location of the first grasp; and

(C)(3) selecting a second grasp in the ordered sequence of the plurality of grasps, wherein selecting the second grasp comprises excluding the void zone from consideration when selecting the second grasp, wherein the second grasp has a location that is not in the void zone.

13. A system for use with at least one grasp prediction model for evaluating grasps for a plurality of end-effectors, wherein the at least one grasp prediction model comprises at least one neural network trained using grasp success/failure data, the system comprising at least one non-transitory computer-readable medium having computer program instructions stored thereon, the computer program instructions being executable by at least one computer processor to perform a method, the method comprising:

(A) storing, in a computer memory, data indicating which end-effector is currently attached to a robot;

(B) identifying, based on an input image, a plurality of objects to be grasped by the robot, comprising identifying a plurality of locations in the input image;

(C) selecting, using a Markov Decision Process (MDP) based on outputs from the at least one grasp prediction model, a plurality of grasps for grasping the plurality of objects,

wherein the plurality of grasps are in an ordered sequence; and

wherein the MDP includes a reward function which balances pick success and end-effector change cost; and

(D) for each of the plurality of grasps in the ordered sequence:

selecting a corresponding end-effector; and

automatically attaching the selected end-effector to the robot.

14. The system of claim 13 , wherein the (D) comprises:

(D)(1) identifying a first grasp in the ordered sequence;

(D)(2) identifying the end-effector corresponding to the first grasp;

(D)(3) determining whether the end-effector currently attached to the robot differs from the end-effector corresponding to the first grasp; and

(D)(4) in response to determining that the end-effector currently attached to the robot differs from the end-effector corresponding to the first grasp:

(D)(4)(a) detaching the end-effector currently attached to the robot from the robot; and

(D)(4)(b) automatically attaching, to the robot, the end-effector corresponding to the first grasp.

15. The system of claim 14 , wherein (D)(4)(a) and (D)(4)(b) are performed automatically.

16. The system of claim 15 , wherein (D)(4)(a) and (D)(4)(b) are performed automatically using a single tool-changer mechanism.

17. The system of claim 13 , wherein the at least one grasp prediction model provides, based on a given image and the end-effector corresponding to the grasp prediction model, a plurality of grasp proposals, wherein each of the plurality of grasp proposals identifies:

the end-effector corresponding to the grasp prediction model,

a pixel in the given image, and

a probability of a successful grasp when the end-effector corresponding to the grasp prediction model is used to attempt a grasp at a location corresponding to the pixel in the given image.

18. The system of claim 13 , wherein (C) comprises:

(C)(1) for each of the plurality of grasp prediction models, evaluating the grasp prediction model at each of a plurality of pixels in the input image to generate a success probability score corresponding to that grasp prediction model and that pixel; and

(C)(2) identifying, for each of the plurality of grasp prediction models, k pixel positions in the image having the k highest success probability scores for that grasp prediction model, where k>1.

19. The system of claim 13 , wherein (C) comprises selecting the plurality of grasps by solving an approximation of the Markov Decision Process (MDP).

20. The system of claim 19 , wherein solving the approximation of the MDP comprises solving the approximation of the MDP based only on objects that are visible in the input image.

21. The system of claim 19 , wherein solving the approximation of the MDP comprises solving the approximation of the MDP using Integer Linear Programming (ILP).

22. The system of claim 19 , wherein solving the approximation of the MDP comprises solving the approximation of the MDP using a sparse tree search.

23. The system of claim 13 , wherein (C) comprises, at each of a plurality of time steps, selecting a grasp that is optimal for at least one next time step.

24. The system of claim 13 , wherein (C) comprises:

(C)(1) selecting a first grasp in the ordered sequence of the plurality of grasps;

(C)(2) defining a void zone, the void zone comprising an area surrounding a location of the first grasp; and

(C)(3) selecting a second grasp in the ordered sequence of the plurality of grasps, wherein selecting the second grasp comprises excluding the void zone from consideration when selecting the second grasp, wherein the second grasp has a location that is not in the void zone.

Assignments (2)
SECURITY INTEREST Recorded Apr 4, 2023
From: OSARO, INC.
To: NOMURA STRATEGIC VENTURES FUND 1, LP
Reel/Frame 063214/0982 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2022
From: ROHANIMANESH, KHASHAYAR; METZGER, JACOB CHARLES; RICHARDS, WILLIAM DAVIDSON
To: OSARO
Reel/Frame 061124/0085 →
Continuity (2)
Provisional Application 63243464 · Sep 13, 2021
Related Publication 20230081119A1 · Mar 16, 2023
References Cited (43)
US 9475198B2 · Mishra · 2016 [cited by applicant]
US 9504527B2 · Smaby · 2016 [cited by applicant]
US 9630315B2 · Cookson · 2017 [cited by applicant]
US 10500735B1 · Menon · 2019 [cited by applicant]
US 10625432B2 · Wagner · 2020 [cited by applicant]
US 10766136B1 · Porter · 2020 [cited by examiner]
US 20180044888A1 · Chi · 2018 [cited by examiner]
US 20190389062A1 · Truebenbach · 2019 [cited by applicant]
US 20200030994A1 · Wagner · 2020 [cited by examiner]
US 20200316782A1 · Chavez · 2020 [cited by applicant]
US 20210069904A1 · Duan · 2021 [cited by applicant]
US 20210181716A1 · Quinlan · 2021 [cited by applicant]
US 20220072707A1 · Fan · 2022 [cited by examiner]
US 20230020503A1 · Rahman · 2023 [cited by examiner]
EP 1711317B1 · 2008 [cited by applicant]
EP 3235606A1 · 2017 [cited by applicant]
IN 201747016579A · 2017 [cited by applicant]
JP H09174474A · 1997 [cited by applicant]
JP 3435081 · 2003 [cited by applicant]
JP 5130509 · 2013 [cited by applicant]
JP 2019202357A · 2019 [cited by applicant]
WO 2018187067 · 2018 [cited by applicant]
WO 2020021643A1 · 2020 [cited by applicant]
WO 2021081388A1 · 2021 [cited by applicant]
“Sparse tree search optimality guarantees in POMDPs with continuous observation spaces”; arXiv:1910.04332v3 (Year: 2020). [cited by examiner]
Jeffrey Mahler et al., “Learning ambidextrous robot grasping policies,” Science Robotics, 4(26), Jan. 16, 2019, 12 pages. doi: 10.1126/scirobotics.aau4984. URL https://robotics.sciencemag.org/content/4/26/eaau4984. [cited by applicant]
E. F. Camacho et al., “Model predictive control,” Book series: Advanced Textbooks in Control and Signal Processing, Springer Science Business Media, published by Springer-Verlag London Limited 1995, ISBN: 978-0-85729-39… [cited by applicant]
Chelsea Finn et al., “Deep visual foresight for planning robot motion,” CoRR, abs/1610.00696, 2016, 8 pages. Available online via URL http://arxiv.org/abs/1610.00696. [cited by applicant]
Aviv Tamar et al., “Learning from the hindsight plan—episodic MPC improvement,” CoRR, abs/1609.09001, 2016, 9 pages. Available online URL http://arxiv.org/abs/1609.09001. [cited by applicant]
A. Zeng et al., “Robotic pick-and-place of novel objects in clutter with multi-affordance grasping and cross-domain image matching,” in 2018 IEEE international conference on robotics and automation (ICRA), pp. 3750-3757… [cited by applicant]
I. Lenz et al, “Deep learning for detecting robotic grasps,” The International Journal of Robotics Research, 34(4-5):705-724, 2015. [cited by applicant]
S. Levine et al., “Learning hand-eye coordination for robotic grasping with deep learning and large-scale data collection,” Mar. 2016the International Journal of Robotics Research 37(10), 12 pages, DOI:10.1177/027836491… [cited by applicant]
J. Redmon et al., “Real-time grasp detection using convolutional neural networks,” 2015 IEEE International Conference on Robotics and Automation (ICRA), 7 pages. [cited by applicant]
S. J. Russell et al., “Artificial intelligence: A modern approach,” Prentice Hall, Englewood Cliffs, New Jersey USA, 1995, 1151 pages. [cited by applicant]
F. Ebert et al., “Self-supervised visual planning with temporal skip connections,” 1st Conference on Robot Learning (CoRL 2017), Mountain View, United States. 13 pages. [cited by applicant]
A. Xie et al., “Improvisation through physical understanding: Using novel objects as tools with visual foresight,” Robotics: Science and Systems 2019, Freiburg im Breisgau, Jun. 22-26, 10 pages. [cited by applicant]
D. Bertsekas, “Dynamic programming and optimal control,” vol. 1. Athena scientific, Belmont Massachusetts USA, 2012 47 pages. [cited by applicant]
G. B. Dantzig et al., “Solution of a Large-Scale Traveling-Salesman Problem,” RAND Corporation, Santa Monica, CA, 1954, 36 pages. [cited by applicant]
C. Miller et al., “Integer programming formulations and traveling salesman problems,” Journal of Association for Computing Machinery, 7:326-329, 1960. [cited by applicant]
“Gurobi Optimizer Reference Manual,” Gurobi Optimization, LLC, 2022, 44 pages. URL https://www.gurobi.com/documentation/9.1/refman/index.html. [cited by applicant]
R. Baeza-Yates et al., “Modern information retrieval,” vol. 463. ACM press, New York, 1999, 38 pages. [cited by applicant]
B. Goodrich et al., “Depth by poking: Learning to estimate depth from self-supervised grasping,” CoRR, abs/2006.08903, 2020. URL https://arxiv.org/abs/2006.08903. [cited by applicant]
T. Lin et al., “Feature pyramid networks for object detection,” in 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 936-944, 2017. doi:10.1109/CVPR.2017.106. [cited by applicant]