Method And Control System For Controlling Movement Trajectories Of A Robot
20210245364 · 2021-08-12
Inventors
Cpc classification
B25J9/1664
PERFORMING OPERATIONS; TRANSPORTING
International classification
Abstract
A method for controlling movement trajectories of a robot, the method including predicting, in an offline mode, values of at least one parameter related to the execution of alternative movement trajectories between a first position of the robot and a second position of the robot; selecting, in the offline mode, a movement trajectory based on the predicted values of the at least one parameter; and executing the selected movement trajectory by the robot. A control system for controlling movement trajectories of a robot is also provided.
Claims
1. A method for controlling movement trajectories of a robot, the method comprising: predicting, in an offline mode, values of at least one parameter related to the execution of alternative movement trajectories between a first position of the robot and a second position of the robot; selecting, in the offline mode, a movement trajectory based on the predicted values of the at least one parameter; and executing the selected movement trajectory by the robot; wherein the method further comprises: generating the alterative movement trajectories prior to predicting the values of the last one parameter related to the execution of the alternative movement trajectories; and wherein the alternative movement trajectories are defined by different constants of parametric curve.
2. (canceled)
3. The method according to claim 1, further comprising receiving a user input indicating the second position of the robot.
4. (canceled)
5. The method according to claim 1, wherein the parametric curve is a conic section.
6. The method according to claim 1, wherein a type of the parametric curve is determined in dependence of the first position and/or the second position.
7. The method according to claim 1, wherein the values of the at least one parameters of less than 500 alternative movement trajectories are predicted.
8. The method according to claim 1, wherein the alternative movement trajectories are offset less than 50% of a distance between the first position and the second position, from a straight line between the first position and the second position.
9. The method according to claim 1, further comprising receiving a user input indicating the at least one parameter, prior to predicting values of the at least one parameter.
10. The method according to claim 1, wherein the at least one parameter is a time for the robot to execute the respective alternative movement trajectories.
11. The method according to claim 1, wherein the first position is a current position of the robot.
12. The method according to claim 1, wherein the prediction of values includes: predicting values of at least one parameter related to the execution of a first group of alternative movement trajectories between the first position and the second position, the movement trajectories in the first group having a relatively large geometric variation; defining a second group of alternative movement trajectories between the first position and the second position based on the prediction of values related to the execution of the first group, the movement trajectories of the second group having a relatively small geometric variation; and predicting values of at least one parameter related to the execution of the second group.
13. The method according to claim 1, wherein the prediction of values is made based on a kinematic model of the robot and/or a dynamic model of the robot.
14. The method according to claim 1, wherein the prediction of values takes a tool parameter associated with a robot tool of the robot into account.
15. A control system for controlling movement trajectories of a robot, the control system comprising a data processing device and a memory having a computer program stored thereon, the computer program including program code which, when executed by the data processing device, causes the data processing device to perform the steps of: predicting, in an offline mode, values of at least one parameter related to the execution of alternative movement trajectories between a first position of the robot and a second position of the robot; selecting, in the offline mode, a movement trajectory based on the predicted values of the at least one parameter; and controlling the robot to execute the selected movement trajectory; and generating the alternative movement trajectories prior to predicting the values of the at least one parameter related to the execution of the alternative movement trajectories; wherein the alternative movement trajectories are defined by different constants of a parametric curve.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0041] Further details, advantages and aspects of the present disclosure will become apparent from the following embodiments taken in conjunction with the drawings, wherein:
[0042]
[0043]
[0044]
[0045]
[0046]
DETAILED DESCRIPTION
[0047] In the following, a method and a control system for controlling movement trajectories of a robot, where values of at least one parameter related to the execution of alternative movement trajectories are predicted, will be described. The same reference numerals will be used to denote the same or similar structural features.
[0048]
[0049] One, several or all of the movement trajectories 12a-12o are also referred to with reference numeral 12.
[0050] The robot 10 may for example be constituted by an industrial robot. In
[0051] The robot 10 further comprises an end effector constituted by a robot tool 26. The robot tool 26 may be moved vertically (along the Z-axis) by means of a third joint (not shown). Thus, the robot 10 of this non-limiting example has three degrees of freedom.
[0052] In
[0053] The robot 10 further comprises a control system 30. The control system 30 comprises a data processing device 32 (e.g. a central processing unit, CPU) and a memory 34. A computer program is stored in the memory 34. The computer program comprises program code which, when executed by the data processing device 32, causes the data processing device 32 to predict, in an offline mode, values of at least one parameter related to the execution of alternative movement trajectories 12 between a first position 14 of the robot 10 and a second position 16 of the robot 10, select, in the offline mode, a movement trajectory 12 based on the predicted values of the at least one parameter, and control the robot 10 to execute the selected movement trajectory 12. The control system 30 may further be configured to execute any processing operation according to the present disclosure and to control the robot 10 to execute any movement according to the present disclosure. The control system 30 may for example comprise a robot controller and a programming tool, such as a teach pendant. In this case, the programming tool may be physically separated from the robot controller.
[0054] The programming tool may contain a dynamic model and a kinematic model of the robot 10. The user may optionally enter parameters related to the robot 10 to the programming tool. Examples of such parameters are the type of robot 10, one or more parameters related to the robot tool 26 currently used, payload on the robot tool 26, and arm loads.
[0055]
[0056] As can be seen in
[0057] With reference to
[0058] The user may input a desired second position 16 of the robot 10 to the programming tool. Unless specified, the first position 14 may be assumed to be the current position of the robot 10. Given the first position 14, the second position 16, and optional further conditions (e.g. type of robot 10, type of robot tool 26, etc.), the programming tool may choose the most suitable parametric curve and ranges of variation. For example, the programming tool may select one type of parametric curve when the robot 10 is in one type of position (e.g. when one or more joints are at relatively large angles from a calibration position) and select another type of parametric curve when the robot 10 is in another type of position (e.g. when one or more joints are at relatively small angles from a calibration position). Thus, the parametric curve is determined in dependence of the first position 14 and/or the second position 16. In this case, a parametric curve in the form of a circular arc is chosen, in accordance with
[0059] Each parametric curve is constituted by a circular arc defined by the first position 14, the second position 16 and an offset point 28. Since the first position 14 and the second position 16 are the same for all alternative movement trajectories 12, each parametric curve may be uniquely defined by its offset point 28. The problem may therefore in this specific case be reformulated as optimizing the position of the offset point 28 of the parametric curve.
[0060] The programming tool may further define a range of variation by setting an “outermost” movement trajectory 12 or by defining a maximum offset distance 36 for the outermost movement trajectories 12a, 12o. The maximum offset distance 36 may for example be set to less than 50% of the distance between the first position 14 and the second position 16.
[0061] The programming tool may then set a number of alternative movement trajectories 12 in a first group for prediction. The alternative movement trajectories 12 may be equally distributed, or substantially equally distributed, within the range of variation. The programming tool may then generate a set of alternative movement trajectories 12. In this example, the number for the first group is set to five. In the first group of alternative movement trajectories 12, the movement trajectories 12 may have a relatively large geometric variation. As can be seen in
[0062] The programming tool then predicts the cycle times for each movement trajectory 12 in the first group in an offline mode. The movement trajectories 12 for prediction may be referred to as test cases. The prediction of cycle times may be made with a simulation (e.g. in RobotStudio®) based on a kinematic model and a dynamic model of the robot 10. The simulation may optionally take a tool parameter associated with the robot tool 26 into account, such as its weight. The diagram in
[0063]
[0064]
[0065] The time of each of the three further movement trajectories 12e, 12f, 12g is then predicted. Among the alternative movement trajectories 12 for which the time has been predicted, in this case the movement trajectories 12b, 12d, 12e, 12f, 12g, 12h, 12i, 12n, the programming tool selects the movement trajectory 12f, which has the shortest cycle time. This is a computationally effective way to find a time-optimal movement trajectory 12. Thus, instead of predicting the time for each of the 15 movement trajectories 12 in
[0066] A time-optimal movement trajectory 12 from the first position 14 to the second position 16 using offline optimization is thereby generated. The programming tool may propose this fastest movement trajectory 12 to the user for offline selection.
[0067] The user may thereby only enter the second position 16 and push a button (e.g. on the programming tool) to get the fastest (or the near fastest) movement trajectory 12 from the first position 14 to the second position 16. The generation of the fastest (or the near fastest) movement trajectory 12 is fast since cycle times of relatively few alternative movement trajectories 12 are predicted. The prediction is particularly fast when predicting cycle times of a first group and a second group of alternative movement trajectories 12 as described above.
[0068] The user may then store the movement trajectory 12. The movement trajectory 12 may then be executed by the robot 10, optionally after programming additional movement trajectories 12. For example, when the robot 10 is positioned at the second position 16, the method may be executed again for a second movement trajectory from the second position 16 to a third position.
[0069] While the present disclosure has been described with reference to exemplary embodiments, it will be appreciated that the present invention is not limited to what has been described above.