IP Library Granted Patent US 12,208,522
Granted Patent B2
US 12,208,522 · App. 17/998,571 · Granted Jan 28, 2025

Method for controlling a robot and robot controller

Inventors: Meng Guo (Beijing, CN); Mathias Buerger (Stuttgart, DE)
Assignee: ROBERT BOSCH GMBH
B25J9/163B25J9/161B25J9/1661B25J9/1664
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,208,522
App. No.
17/998,571
Granted
Jan 28, 2025
Kind
B2
Abstract

A method for controlling a robot. The method includes providing demonstrations for performing each of a plurality of skills; training from the demonstrations, a robot trajectory model for each skill, each trajectory model is a hidden semi-Markov model having one or more initial states and one or more final states; training, from the demonstrations, a precondition model for each skill comprising, for each initial state, a probability distribution of robot configurations before executing the skill, and a final condition model for each skill comprising, for each final state, a probability distribution of robot configurations after executing the skill; receiving a description of a task, the task includes performing the skills of the plurality of skills in sequence and/or branches; generating a composed robot trajectory model; and controlling the robot according to the composed robot trajectory model to execute the task.

Claims (50)

1. A method for controlling a robot, comprising:

providing demonstrations for performing each of a plurality of skills;

training, from the demonstrations, a robot trajectory model for each skill of the skills, wherein each trajectory model is a hidden semi-Markov model having one or more initial states and one or more final states;

training, from the demonstrations, (i) a precondition model for each skill including, for each initial state of the robot trajectory model of the skill, a probability distribution of robot configurations before executing the skill, and (ii) a final condition model for each skill including, for each final state of the robot trajectory model of the skill, a probability distribution of robot configurations after executing the skill;

receiving a description of a task, wherein the task includes performing skills of the plurality of skills in sequence and/or branches;

generating a composed robot trajectory model by:

when two skills are to be performed in sequence in the task, cascading the robot trajectory models of the skills by:

including the states of the trajectory models of the two skills in the composed robot trajectory model, and

calculating a transition probability between each final state of the trajectory model of a first skill of the two skills and each initial state of the trajectory model of a second skill of the two skills as a function of a similarity between the probability distribution of the final condition model of the first skill for the final state of the first skill and the probability distribution of the initial model of the second skill for the initial state for the second skill,

when two skills are performed in branches in the task, combining the robot trajectory models of the skills by:

including the states of the trajectory models of the two skills in the composed robot trajectory model, and

setting a transition probability between states of a first skill of the two skills and states of a second skill of the two skills to zero; and

controlling the robot in accordance with the composed robot trajectory model to execute the task.

2. The method of claim 1 , wherein each skill of the skills includes a manipulation of one or more objects by the robot and the hidden semi-Markov model of each skill is a task-parameterized hidden semi-Markov models including task parameters corresponding to a robot and object configuration in which the skill is applied.

3. The method of claim 2 , further comprising:

training, for each skill of the skills, an effect model including, for each final state of the robot trajectory model of the skill, a probability distribution of how the robot and/or object configuration is changed after executing the skill relative to an initial robot and/or object configuration to which the skill is applied, wherein, when two skills are to be performed in sequence in the task, cascading the robot trajectory models of the two skills including transforming the task-parameterized hidden semi-Markov model of a second skill of the two skills such that its task parameters are task parameters corresponding to the robot and/or object configuration given by the effect model of a first skill of the two skills.

4. The method of claim 3 , further comprising:

affine-transforming the effect model of the second skill such that its task parameters are the task parameters corresponding to the robot and/or object configuration given by the effect model of the first skill.

5. The method of claim 1 , further comprising, when two skills of the skills are to be performed in sequence in the task, using the precondition model of a first skill of the two skills as precondition model for the cascaded robot trajectory models of the skills of the two skills and using the final condition model of a second skill of the two skills as final condition model for the cascaded robot trajectory models of the skills.

6. The method of claim 1 , further comprising:

when two skills of the skills are to be performed in branch in the task, including both the precondition model for a first skill of the two skills and the precondition model for the second skill of the two skills in the precondition model of the combined robot trajectory models of the skills and including both the final condition model for the first skill and the final condition model for the second skill in the precondition model of the combined robot trajectory models of the skills.

7. The method of claim 1 , wherein the similarity between the probability distribution of the final condition model of the first skill for the final state of the first skill and the probability distribution of the initial model of the second skill for the initial state for the second skill is a KL-divergence of the probability distribution of the final condition model of the first skill for the final state of the first skill and the probability distribution of the initial model of the second skill for the initial state for the second skill.

8. The method of claim 1 , wherein the precondition model and the final condition model are task-parameterized Gaussian mixture models.

9. The method of claim 1 , wherein generating the composed robot trajectory model includes repeatedly cascading robot trajectory models, cascaded robot trajectory models, and combined robot trajectory models, and combining robot trajectory models, cascaded robot trajectory models, and combined robot trajectory in accordance with the task such that the robot trajectory model is a trajectory model for a whole task.

10. A robot controller configured to control a robot, the robot controller configured to:

provide demonstrations for performing each of a plurality of skills;

train, from the demonstrations, a robot trajectory model for each skill of the skills, wherein each trajectory model is a hidden semi-Markov model having one or more initial states and one or more final states;

train, from the demonstrations, (i) a precondition model for each skill including, for each initial state of the robot trajectory model of the skill, a probability distribution of robot configurations before executing the skill, and (ii) a final condition model for each skill including, for each final state of the robot trajectory model of the skill, a probability distribution of robot configurations after executing the skill;

receive a description of a task, wherein the task includes performing skills of the plurality of skills in sequence and/or branches;

generate a composed robot trajectory model by:

when two skills are to be performed in sequence in the task, cascading the robot trajectory models of the skills by:

including the states of the trajectory models of the two skills in the composed robot trajectory model, and

calculating a transition probability between each final state of the trajectory model of a first skill of the two skills and each initial state of the trajectory model of a second skill of the two skills as a function of a similarity between the probability distribution of the final condition model of the first skill for the final state of the first skill and the probability distribution of the initial model of the second skill for the initial state for the second skill,

when two skills are performed in branches in the task, combining the robot trajectory models of the skills by:

including the states of the trajectory models of the two skills in the composed robot trajectory model, and

setting a transition probability between states of a first skill of the two skills and states of a second skill of the two skills to zero; and

control the robot in accordance with the composed robot trajectory model to execute the task.

11. A non-transitory computer readable medium on which are stored instructions for controlling a robot, the instructions, when executed by a processor, causing the processor to perform the following:

providing demonstrations for performing each of a plurality of skills;

training, from the demonstrations, a robot trajectory model for each skill of the skills, wherein each trajectory model is a hidden semi-Markov model having one or more initial states and one or more final states;

training, from the demonstrations, (i) a precondition model for each skill including, for each initial state of the robot trajectory model of the skill, a probability distribution of robot configurations before executing the skill, and (ii) a final condition model for each skill including, for each final state of the robot trajectory model of the skill, a probability distribution of robot configurations after executing the skill;

receiving a description of a task, wherein the task includes performing skills of the plurality of skills in sequence and/or branches;

generating a composed robot trajectory model by:

when two skills are to be performed in sequence in the task, cascading the robot trajectory models of the skills by:

including the states of the trajectory models of the two skills in the composed robot trajectory model, and

calculating a transition probability between each final state of the trajectory model of a first skill of the two skills and each initial state of the trajectory model of a second skill of the two skills as a function of a similarity between the probability distribution of the final condition model of the first skill for the final state of the first skill and the probability distribution of the initial model of the second skill for the initial state for the second skill,

when two skills are performed in branches in the task, combining the robot trajectory models of the skills by:

including the states of the trajectory models of the two skills in the composed robot trajectory model, and

setting a transition probability between states of a first skill of the two skills and states of a second skill of the two skills to zero; and

controlling the robot in accordance with the composed robot trajectory model to execute the task.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2023
From: GUO, MENG; BUERGER, MATHIAS
To: ROBERT BOSCH GMBH
Reel/Frame 062480/0125 →
Priority Claims (1)
DE 10 2020 207 085.7 · Jun 5, 2020 · national
Continuity (1)
Related Publication 20230202034A1 · Jun 29, 2023
References Cited (20)
US 10339919B1 · Raux · 2019 [cited by examiner]
US 10789543B1 · Sun · 2020 [cited by examiner]
US 11436869B1 · Kirmani · 2022 [cited by examiner]
US 11498212B2 · Kupcsik · 2022 [cited by examiner]
US 11868728B1 · Meissner · 2024 [cited by examiner]
US 20130151442A1 · Suh · 2013 [cited by examiner]
US 20130218340A1 · Hager et al. · 2013 [cited by applicant]
US 20200043476A1 · Hwang · 2020 [cited by examiner]
US 20200070343A1 · Thomaz · 2020 [cited by examiner]
US 20200372410A1 · Karaletsos · 2020 [cited by examiner]
US 20200398427A1 · Kupcsik · 2020 [cited by examiner]
US 20210122036A1 · Buerger · 2021 [cited by examiner]
US 20210379758A1 · Chu · 2021 [cited by examiner]
EP 3753684A1 · 2020 [cited by applicant]
JP 2009066692A · 2009 [cited by applicant]
International Search Report for PCT/EP2021/062058, Issued Aug. 17, 2021. [cited by applicant]
Schwenkel et al., “Optimizing Sequences of Probabilistic Manipulation Skills Learned From Demonstration,” 3rd Conference on Robot Learning (CORL 2019), 2019, pp. 1-10. [cited by applicant]
Iwata et al., “Learning and Generation of Actions From Teleoperation for Domestic Service Robots,” 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), IEEE, Madrid, Spain, 2018, pp. 8184-819… [cited by applicant]
Pignat et al., “Learning Adaptive Dressing Assistance From Human Demonstration,” Robotics and Autonomous Systems, vol. 93, 2017, pp. 61-75. [cited by applicant]
Rozo et al., “Learning and Sequencing of Object-Centric Manipulation Skills for Industrial Tasks,” 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2020, pp. 1-8. [cited by applicant]