Programming a robot by demonstration
AssigneeUniversal Robots A/S
InventorsEsben H. Oestergaard, Iñigo Iturrate, Thiusius Rajeeth Savarimuthu
Life of this patent
Estimating the term…
Abstract
There is provided a method and computer program product for programming a robot by manually operating it in gravity-compensation kinesthetic-guidance mode. More specifically there is provided method and computer program product that uses kinesthetic teaching as a demonstration input modality and does not require the installation or use of any external sensing or data-capturing modules. It requires a single user demonstration to extract a representation of the program, and presents the user with a series of easily-controllable parameters that allow them to modify or constrain the parameters of the extracted program representation of the task.
Claims20
A method of programming a robot, the robot comprising an arm, joints, and sensors for measuring positions of the joints and velocities of the joints, the method comprising:
- demonstrating a first path of movement of the robot by manually guiding the arm through at least part of the first path of movement;
- monitoring first signals from the sensors to obtain first operational parameters based on the first path of movement;
- recording the first operational parameters;
- processing the first operational parameters that were recorded to generate a control program for the robot to produce the first path of movement for the robot comprised of movements and actions;
- demonstrating an edited path of movement of the robot for a segment of the first path of movement by manually guiding the arm through at least part of the segment of the first path of movement, the edited path of movement comprising the at least part of the segment of the first path of movement having edits to at least some of the movements and actions for the first path of movement;
- monitoring second signals from the sensors to obtain second operational parameters based on the edited path of movement;
- recording the second operational parameters;
- updating the control program based on the second operational parameters that were recorded to produce an updated control program;
- and
- executing the updated control program to produce, on the robot, a second path of movement including part of the first path of movement and the edited path of movement.
A non-transitory medium storing code for programming a robot, the robot comprising an arm, joints, and sensors for measuring positions of the joints and velocities of the joints, the code for performing operations comprising:
- receiving first information based on demonstrating a first path of movement of the robot by manually guiding the arm through least part of the first path of movement;
- where receiving the first information comprises monitoring first signals from the sensors to obtain first operational parameters based on the first path of movement, the first operational parameters comprising the first information;
- recording the first operational parameters;
- processing the first operational parameters that were recorded to generate a control program for the robot to produce the first path of movement for the robot comprised of movements and actions;
- receiving second information based on demonstrating an edited path of movement of the robot for a segment of the first path of movement by manually guiding the arm through at least part of the segment of the first path of movement, the edited path of movement comprising the at least part of the segment of the first path of movement having edits to at least some of the movements and action for the first path of movement;
- where receiving the second information comprises monitoring second signals from the sensors to obtain second operational parameters based on the edited path of movement, the second operational parameters comprising the second information;
- recording the second operational parameters;
- updating the control program based on the second operational parameters that were recorded to produce an updated control program;
- and
- executing the updated control program to produce, on the robot, a second path of movement including part of the first path of movement and the edited path of movement.
Dependencies are inferred from the claim text.