PROGRAMMING A ROBOT BY DEMONSTRATION
20190086907 · 2019-03-21
Inventors
- Esben H. Oestergaard (Odense S., DK)
- Iñigo Iturrate (Odense S., DK)
- Thiusius Rajeeth Savarimuthu (Odense SV, DK)
Cpc classification
B25J9/1656
PERFORMING OPERATIONS; TRANSPORTING
G05B19/425
PHYSICS
B25J9/1615
PERFORMING OPERATIONS; TRANSPORTING
B25J9/1664
PERFORMING OPERATIONS; TRANSPORTING
G05B19/423
PHYSICS
G05B19/42
PHYSICS
G05B2219/39137
PHYSICS
International classification
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.
Claims
1. A method of programming a robot, the robot comprising joints and sensors for measuring positions of the joints and velocities of the joints, the method comprising: defining a path of movement of the robot; monitoring signals from the sensors to obtain operational parameters; recording the operational parameters; processing the operational parameters to generate a control program for the robot; extracting a series of via-points representing continuous motion implemented by a user through movements and actions; and executing the control program to produce, on the robot, an imitation of the movements and actions.
2. The method of claim 1, wherein the positions and velocities are recorded using the sensors; and wherein the method comprises recording a state of an input/output interface of the robot, digital inputs and outputs of the robot, and communication signals of the robot.
3. The method of claim 1, wherein the robot comprises means for actuating the sensors via a robot general user interface (GUI), the means for actuating comprising an actuation button array location on an arm of the robot.
4. The method of claim 1, further comprising configuring parameters to control the control program by applying a series of algorithms to recorded data.
5. The method of claim 1, wherein programming the robot is implemented by manually operating the robot in gravity-compensation kinesthetic-guidance mode.
6. The method of claim 1, wherein the sensors are inside the robot.
7. The method of claim 1, wherein defining the path is performed by allowing a user to hold an arm of the robot and to guide the arm of the robot along the path while actuating one or more other devices.
8. A non-transitory medium storing code for programming a robot, the robot comprising joints and sensors for measuring positions of the joints and velocities of the joints, the code for performing operations comprising: defining a path of movement of the robot; monitoring signals from the sensors to obtain operational parameters; recording the operational parameters; processing the operational parameters to generate a control program for the robot; extracting a series of via-points representing continuous motion implemented by a user through movements and actions; and executing the control program to produce, on the robot, an imitation of the movements and actions.
9. The non-transitory medium of claim 8, wherein the positions and velocities are recorded using the sensors; and wherein the operations comprise recording a state of an input/output interface of the robot, digital inputs and outputs of the robot, and communication signals of the robot.
10. The non-transitory medium of claim 8, wherein the robot comprises means for actuating the sensors via a robot general user interface (GUI), the means for actuating comprising an actuation button array location on an arm of the robot.
11. The non-transitory medium of claim 8, further comprising configuring parameters to control the control program by applying a series of algorithms to recorded data.
12. The non-transitory medium of claim 8, wherein programming the robot is implemented by manually operating the robot in gravity-compensation kinesthetic-guidance mode.
13. The non-transitory medium of claim 8, wherein the sensors are inside the robot.
14. The non-transitory medium of claim 8, wherein defining the path is performed by allowing a user to hold an arm of the robot and to guide the arm of the robot along the path while actuating one or more other devices.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0028]
[0029]
[0030]
DETAILED DESCRIPTION OF THE INVENTION
[0031] In the following a part (joint) of robot arm applicable to the present invention is shown. Of particular importance for the teaching method of the present invention are the sensors for measuring joint positions and velocities in each of its joints. These are shown in
[0032] The sensor 133 used for determining the position (angular orientation of the axle/rotor) of the motor (angular orientation) is mounted at the rear surface of the PCB 131. The motor shown in
[0033] The sensor 132 used for determining the angular orientation of the output axle 138 or output flange 139 of the joint is mounted on the front surface of the PCB or in a socket on the front surface of the PCB 131. Preferably a high resolution sensor is used and the short distance between the hollow axle 138 and the sensor is important in order to attain a proper positioning of sensor and encoder disc relative to each other. In order to be able to sense the movement (rotation) of the output flange 139 at the PCB 131 through the joint the encoder disc 140 is mounted on the hollow axle 138 through which electrical and pneumatical connections 141 are guided through the joint and the hollow axle 138 is connected to the output flange 139.
[0034] Furthermore, the joint according to this embodiment of the invention is designed such that adjacent joints can be attached to each other without use of further elements. Attachment of the joint to an adjacent joint or connecting member (for instance a thin-walled tube) takes place via the output flange 139 and the connecting portion 145 on the housing 146 of the joint. Apart from this, robot joints according to the invention can be coupled together by suitable members, for instance thin-walled tubes, which constitute a preferred choice due to their optimal rigidity/weight ratio. Furthermore, the joint according to this embodiment of the invention comprises a seal 147 between the housing 146 and the output flange 139, main bearings 148 resting against inclined inner surface portions (bearing surfaces) 155 provided in the housing 146, sealed bearings 149, transmission 150, at least one passage 151 for connections from an adjacent joint or connecting member, an area/space (152) for a slip ring and for twisting wires 141, when the output members 138, 139 rotate, further bearings 153 and a plate 154, for instance of aluminium or other suitable material, for mounting the PCB 131 and also for acting as a heat sink for power electronics in the joint.
[0035] Referring to
[0036] Although many different approaches to Programming by Demonstration (PbD) may be envisaged in accordance with the present invention the inventors have provided two possible approaches in
[0037] Subsequently the operational parameters are processed to generate a robot control program for applying the process. In that way the program may generate an imitation of the movements and actions demonstrated by the user.