Systems, apparatus, and methods for robotic learning and execution of skills
Abstract
Systems, apparatus, and methods are described for robotic learning and execution of skills. A robotic apparatus can include a memory, a processor, sensors, and one or more movable components (e.g., a manipulating element and/or a transport element). The processor can be operatively coupled to the memory, the movable elements, and the sensors, and configured to obtain information of an environment, including one or more objects located within the environment. In some embodiments, the processor can be configured to learn skills through demonstration, exploration, user inputs, etc. In some embodiments, the processor can be configured to execute skills and/or arbitrate between different behaviors and/or actions. In some embodiments, the processor can be configured to learn an environmental constraint. In some embodiments, the processor can be configured to learn using a general model of a skill.
Claims
exact text as granted — not AI-modified1 . A robotic device, comprising:
a memory; a processor; a manipulating element; and a set of sensors, the processor operatively coupled to the memory, the manipulating element, and the set of sensors, the processor configured to:
obtain, via a first subset of sensors from the set of sensors, a representation of an environment;
identify a set of markers in the representation of the environment, each marker from the set of markers associated with a physical object from a set of physical objects located in the environment;
obtain, via a second subset of sensors from the set of sensors, sensory information at each keyframe from a plurality of keyframes during a demonstration of a skill by the user in which the user demonstrates a physical interaction between the manipulating element and the set of physical objects, the set of sensory information including information of a set of features associated with the manipulating element and the environment, each keyframe of the plurality of keyframes representing a discrete point during the demonstration of the skill with at least two adjacent keyframes being separated from one another by a time interval;
present, via the user interface and to the user, the set of features such that the user can select a subset of the set of features that is relevant to learning the skill from the set of features; and
generate a model for executing the skill using a subset of the set of sensory information that is associated with the subset of features selected by the user.
2 . A robotic device, comprising:
a memory; a processor; a manipulating element; a transport element configured to move along a surface; and a set of sensors, the processor operatively coupled to the memory, the manipulating element, the transport element, and the set of sensors, the processor configured to:
obtain, via the set of sensors, information of an environment;
select, based on an arbitration algorithm or an input from a user, a skill to execute from a plurality of skills, the execution of the skill including a physical interaction between the manipulating element and a physical object in the environment;
generate, using a model for executing the skill, a plan to execute the skill based on the information of the environment;
move the manipulating element and the transport element based on the plan to execute at least a first portion of the skill while obtaining additional information of the environment;
in response to detecting a predefined change in the environment based on the additional information obtained of the environment, interrupt the execution of the skill;
prompt a user to provide feedback based on the predefined change in the environment; and
generate a plan to execute a second portion of the skill based on the feedback.
3 . A robotic device, comprising:
a memory; a processor; a manipulating element; a transport element configured to move along a surface; and a set of sensors, the processor operatively coupled to the memory, the manipulating element, the transport element, and the set of sensors, the processor configured to:
obtain, via the set of sensors, information of a first portion of an environment;
select, based on an arbitration algorithm or an input from a user, a skill to execute from a plurality of skills, the execution of the skill including a physical interaction between the manipulating element and a physical object in the environment;
generate, using a model for executing at least a first portion of the skill, a plan to execute the first portion of the skill based on the information of the first portion of the environment;
move the manipulating element and the transport element based on the plan to execute the first portion of the skill;
obtain, via the set of sensors, information of a second portion of an environment that is different from the first portion of the environment;
in response to determining that user input is required to execute a second portion of the skill in the second portion of the environment, prompt the user to provide at least one input associated with executing the second portion of the skill; and
generate a plan to execute the second portion of the skill based on the user input.
4 . An apparatus, comprising:
a manipulating element; a transport element configured to move along a surface; a set of sensors; a memory configured to store a map of an environment, the map including a static layer identifying locations of a first plurality of constraints in the environment and a dynamic layer identifying movements or behaviors of a second plurality of constraints in the environment, each constraint from the first and second plurality of constraints being associated with a physical object in the environment; and a processor operatively coupled to the memory, the manipulating element, the transport element, and the set of sensors, the processor configured to:
obtain, via the set of sensors, information of a portion of the environment;
select a skill to execute from a plurality of skills;
generate, using a model for executing the skill, a plan to execute the skill based on the information of the portion of the environment;
move the manipulating element and the transport element based on the plan to execute the skill;
obtain, after executing at least a portion of the skill, information of a constraint in the environment via the set of sensors;
determine a type of the constraint based on an input from a user or information of a set of physical objects stored in the memory; and
store the information of the constraint and the type of constraint by updating the static and dynamic layers of the map.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.