Method Of Programming Manipulator, Control System and Industrial Robot

20240293932 ยท 2024-09-05

    Inventors

    Cpc classification

    International classification

    Abstract

    A method of programming a manipulator, the method including providing a movement path for execution by the manipulator, the movement path having a plurality of points including a start point and an end point and at least one movement segment between the plurality of points; moving the manipulator to a path modifying position; and modifying the movement path from the start point to the end point based on the path modifying position upon receiving a modification input from a user. A control system for programming a manipulator, and an industrial robot including the manipulator and a control system, are also provided.

    Claims

    1. A method of programming a manipulator, the method comprising: providing a movement path for execution by the manipulator, the movement path comprising a plurality of points including a start point and an end point and at least one movement segment between the plurality of points; moving the manipulator to a path modifying position; and modifying the movement path from the start point to the end point based on the path modifying position upon receiving a modification input from a user.

    2. The method according to claim 1, wherein the modification of the movement path comprises modifying one of the points, deleting one of the points or adding a further point.

    3. The method according to claim 2, wherein the modification or the deletion of the point comprises: moving the manipulator to a point selection region among a plurality of point selection regions, each point selection region being associated with a unique point among the plurality of points; selecting the point associated with the point selection region to which the manipulator has been moved as the point for modification or deletion; and modifying or deleting the selected point based on the path modifying position.

    4. The method according to claim 3, further comprising providing feedback to the user indicative of the manipulator being in one of the point selection regions.

    5. The method according to claim 3, wherein the addition of the further point comprises: moving the manipulator to a movement segment selection region among at least one movement segment selection region, each movement segment selection region being associated with a unique movement segment among the at least one movement segment; selecting the movement segment associated with the movement segment selection region to which the manipulator has been moved as a movement segment for modification; and adding the further point in association with the selected movement segment based on the path modifying position.

    6. The method according to claim 5, wherein the point selection regions and the at least one movement segment selection region are mutually exclusive.

    7. The method according to claim 5, further comprising providing feedback to the user indicative of the manipulator being in one of the at least one movement segment selection region.

    8. The method according to claim 3, wherein the selection of the point associated with the point selection region or the selection of the movement segment associated with the movement segment selection region is made based on a selection input from the user.

    9. The method according to claim 4, wherein the feedback comprises a force feedback in the manipulator

    10. The method according to claim 1, further comprising: moving the manipulator to a modification type selection position; and selecting at least one path modification type, among a plurality of path modification types, for modification of the movement path based on the modification type selection position.

    11. The method according to claim 1, wherein the movement of the manipulator comprises moving the manipulator by means of lead-through

    12. The method according to claim 11, further comprising providing force feedback towards the movement path during movement of the manipulator.

    13. A control system for programming a manipulator, the control system comprising at least one data processing device and at least one memory having at least one computer program stored thereon, the at least one computer program having program code which, when executed by the at least one data processing device, causes the at least one data processing device to perform the steps of: providing a movement path for execution by the manipulator, the movement path having a plurality of points including a start point and an end point and at least one movement segment between the plurality of points; continuously or repeatedly determining a path modifying position based on a current position of the manipulator; and modifying the movement path from the start point to the end point based on the path modifying position upon receiving a modification input from a user.

    14. An industrial robot comprising the manipulator and a control system for programming a manipulator, the control system including at least one data processing device and at least one memory having at least one computer program stored thereon, the at least one computer program having program code which, when executed by the at least one data processing device, causes the at least one data processing device to perform the steps of: providing a movement path for execution by the manipulator, the movement path having a plurality of points including a start point and an end point and at least one movement segment between the plurality of points; continuously or repeatedly determining a path modifying position based on a current position of the manipulator; and modifying the movement path from the start point to the end point based on the path modifying position upon receiving a modification input from a user.

    15. The industrial robot according to claim 14, further comprising an input element on the manipulator for providing the modification input.

    Description

    BRIEF DESCRIPTION OF THE DRAWINGS

    [0057] Further details, advantages and aspects of the present disclosure will become apparent from the following description taken in conjunction with the drawings, wherein:

    [0058] FIG. 1: schematically represents a side view of an industrial robot comprising a manipulator, a control system and a programming device, and a movement path for the manipulator;

    [0059] FIG. 2: schematically represents the movement path in FIG. 1;

    [0060] FIG. 3: schematically represents point selection regions and movement segment selection regions associated with the movement path;

    [0061] FIG. 4a: schematically represents movement of the manipulator along the movement path;

    [0062] FIG. 4b: schematically represents a display of the programing device during the situation of the manipulator in FIG. 4a;

    [0063] FIG. 5a: schematically represents further movement of the manipulator along the movement path;

    [0064] FIG. 5b: schematically represents the display during the situation of the manipulator in FIG. 5a;

    [0065] FIG. 6a: schematically represents further movement of the manipulator along the movement path and one example of a selection input;

    [0066] FIG. 6b: schematically represents the display during the situation of the manipulator in FIG. 6a;

    [0067] FIG. 7a: schematically represents movement of the manipulator to a path modifying position and one example of a modification input;

    [0068] FIG. 7b: schematically represents the display during the situation of the manipulator in FIG. 7a;

    [0069] FIG. 8: schematically represents one example of a modified movement path;

    [0070] FIG. 9a: schematically represents movement of the manipulator along the movement path, a further example of a selection input and a further example of a modification input;

    [0071] FIG. 9b: schematically represents the display during the situation of the manipulator in FIG. 9a;

    [0072] FIG. 10: schematically represents a further example of a modified movement path;

    [0073] FIG. 11a: schematically represents movement of the manipulator along the movement path;

    [0074] FIG. 11b: schematically represents the display during the situation of the manipulator in FIG. 11a;

    [0075] FIG. 12a: schematically represents movement of the manipulator to a further example of a path modifying position and a further example of a modification input;

    [0076] FIG. 12b: schematically represents the display during the situation of the manipulator in FIG. 12a; and

    [0077] FIG. 13: schematically represents a further example of a modified movement path.

    DETAILED DESCRIPTION

    [0078] In the following, a method of programming a manipulator, a control system for programming a manipulator, and an industrial robot comprising a manipulator and a control system, will be described. The same or similar reference numerals will be used to denote the same or similar structural features.

    [0079] FIG. 1 schematically represents a side view of an industrial robot 10. The industrial robot 10 comprises a manipulator 12 and a control system 14. The manipulator 12 is here exemplified as a truly collaborative robotic arm. FIG. 1 further shows a human user 16.

    [0080] The industrial robot 10 of this specific example further comprises a teach pendant unit, TPU, 18. The TPU 18 is one example of a programming device according to the present disclosure. The TPU 18 is optional.

    [0081] The manipulator 12 of this specific example comprises a base 20, a first link 22a rotatable relative to the base 20 at a first axis 24a, a second link 22b rotatable relative to the first link 22a at a second axis 24b, a third link 22c rotatable relative to the second link 22b at a third axis 24c, a fourth link 22d rotatable relative to the third link 22c at a fourth axis 24d, a fifth link 22e rotatable relative to the fourth link 22d at a fifth axis 24e, and a sixth link 22f rotatable relative to the fifth link 22e at a sixth axis 24f. One, several or all of the links 22a-22f may also be referred to with reference numeral 22. One, several or all of the axes 24a-24f may also be referred to with reference numeral 24.

    [0082] The manipulator 12 in FIG. 1 is however only one of many examples. The manipulator 12 may for example also comprise one or more translational axes.

    [0083] The manipulator 12 further comprises a tool 26. The tool 26 is one example of an end effector. The tool 26 comprises a tool center point, TCP, 28. The tool 26 of this example is rigidly connected to the sixth link 22f.

    [0084] The manipulator 12 of this example further comprises a button 30. The button 30 is one example of an input element according to the present disclosure. The button 30 is here arranged on the sixth link 22f.

    [0085] The control system 14 of this example comprises a data processing device 32 and a memory 34. The memory 34 comprises a computer program containing program code, which when executed by the data processing device 32, causes the data processing device 32 to execute, or command execution of, various steps as described herein. The control system 14 is in signal communication with the manipulator 12 and the TPU 18.

    [0086] The TPU 18 comprises a display 36. The display 36 does however not necessarily need to be provided in the TPU 18. The display 36 may for example alternatively be provided in a personal computer (not shown) or in a mobile phone.

    [0087] The TPU 18 of this example further comprises a joystick 38. By means of the joystick 38, the manipulator 12 can be jogged to different positions.

    [0088] FIG. 1 further shows a movement path 40 for execution by the manipulator 12. The movement path 40 comprises a plurality of points 42a-42e. The movement path 40 of this specific example comprises a first point 42a, a second point 42b, a third point 42c, a fourth point 42d and a fifth point 42e. The first point 42a is a start point and the fifth point 42e is an end point. One, several or all of the points 42a-42e may alternatively be referred to with reference numeral 42.

    [0089] FIG. 2 schematically represents the movement path 40 in FIG. 1. The movement path 40 has in this example been generated by means of interpolation between the points 42a-42e. In addition to the points 42a-42e, the movement path 40 further comprises a first movement segment 44a interconnecting the first point 42a and the second point 42b, a second movement segment 44b interconnecting the second point 42b and the third point 42c, a third movement segment 44c interconnecting the third point 42c and the fourth point 42d, and a fourth movement segment 44d interconnecting the fourth point 42d and the fifth point 42e. One, several or all of the movement segments 44a-44d may alternatively be referred to with reference numeral 44.

    [0090] The movement segments 44a-44d are here linear interpolations between the points 42a-42e. The interpolations may however be of various types, such as spline interpolations.

    [0091] The points 42a-42e are target points for the manipulator 12. The manipulator 12 is programmed to move along the movement path 40. In this example, the TCP 28 follows the movement path 40. In some examples, adjacent movement segments 44 may be blended with blending zones and the TCP 28 does then not necessarily pass exactly through the points 42a-42e.

    [0092] In each point 42a-42e, a position for each axis 24 is defined. This means that not only is the TCP 28 being positioned successively in each point 42a-42e during execution of the movement path 40, but the TCP 28 is positioned with a defined orientation of the TCP 28 and a defined posture of the manipulator 12 in each point 42a-42e.

    [0093] FIG. 3 schematically represents point selection regions 46a-46e and movement segment selection regions 48a-48d associated with the movement path 40. FIG. 3 shows a first point selection region 46a associated with the first point 42a, a second point selection region 46b associated with the second point 42b, a third point selection region 46c associated with the third point 42c, a fourth point selection region 46d associated with the fourth point 42d, and a fifth point selection region 46e associated with the fifth point 42e. One, several or all of the point selection region 46a-46e may alternatively be referred to with reference numeral 46. Each point selection region 46 is here exemplified as a sphere having the associated point 42 centered therein.

    [0094] FIG. 3 further shows a first movement segment selection region 48a associated with the first movement segment 44a, a second movement segment selection region 48b associated with the second movement segment 44b, a third movement segment selection region 48c associated with the third movement segment 44c, and a fourth movement segment selection region 48d associated with the fourth movement segment 44d. One, several or all of the movement segment selection regions 48a-48d may alternatively be referred to with reference numeral 48. Each movement segment selection region 48 here has a substantially cylindrical shape with the associated movement segment 44 centered therein.

    [0095] The point selection regions 46 and the movement segment selection regions 48 are used to facilitate selection of points 42 and movement segments 44, respectively, as described herein. As shown in FIG. 3, the point selection regions 46 and the movement segment selection regions 48 are mutually exclusive in a continuous volume reachable by the manipulator 12. Thus, the point selection regions 46 and the movement segment selection regions 48 are not overlapping each other.

    [0096] FIG. 4a schematically represents movement of the manipulator 12 along the movement path 40, and FIG. 4b schematically represents the display 36 during the situation of the manipulator 12 in FIG. 4a. With collective reference to FIGS. 4a and 4b, the manipulator 12 is in a lead-through mode. The manipulator 12 is thereby controlled with a reduced stiffness (or controlled to be floating) such that the user 16 can manually move the manipulator 12, e.g. by grabbing and pushing the manipulator 12. In FIGS. 4a and 4b, a robot program for the manipulator 12 comprising the movement path 40 already exists. The robot program is implemented in the control system 14.

    [0097] During movement of the manipulator 12, the control system 14 continuously determines the position of the TCP 28 to understand where in the robot program the manipulator 12 is positioned. It is however not essential for the method that the positions of the TCP 28 are determined. As one alternative, the positions of the axes 24 may be read instead.

    [0098] The manipulator 12 here moves along the first movement segment 44a. During the movement, the manipulator 12 is forced towards the closest movement segment 44 by means of force feedback 50. When the TCP 28 is on the first movement segment 44a, the force of the force feedback 50 is zero. Should the TCP 28 be moved laterally out from the first movement segment 44a, a restoring force of the force feedback 50 increases with an increasing distance between the TCP 28 and the first movement segment 44a. The force feedback 50 thereby functions as a lane assist for the manipulator 12 causing the TCP 28 to snap to the movement path 40. The restoring force may increase for increasing deviations between the TCP 28 and the first movement segment 44a. The user 16 will feel this restoring force in the manipulator 12 when moving the manipulator 12. The user 16 is thereby assisted by the force feedback 50 to accurately guide the TCP 28 along the movement path 40. The force feedback 50 thereby indicates that the manipulator 12 is in one of the movement segment selection regions 48 provided that the force feedback 50 is actuated only when the manipulator 12 is in one of the movement segment selection regions 48, and not when the manipulator 12 is outside of the movement segment selection regions 48.

    [0099] As shown in FIG. 4b, a graphical representation of the movement path 40 is displayed on the display 36. When the control system 14 determines that the TCP 28 is inside the first movement segment selection region 48a, the first movement segment 44a is visually highlighted on the display 36. The user 16 is thereby made aware that the first movement segment 44a is eligible for selection, as described herein. As shown in FIG. 4b, the first movement segment 44a is represented by a dashed line while the remaining movement segments 44b-44d are represented by solid lines. The dashed line is thus a further example of a feedback to the user 16 indicating that the TCP 28 is in the first movement segment selection region 48a.

    [0100] FIG. 5a schematically represents further movement of the manipulator 12 along the movement path 40, and FIG. 5b schematically represents the display 36 during the situation of the manipulator 12 in FIG. 5a. With collective reference to FIGS. 5a and 5b, the TCP 28 is now inside the second point selection region 46b. The second point 42b is thereby triggered for being selected by the user 16.

    [0101] The manipulator 12 generates vibrations 52 to inform the user 16 that the TCP 28 has entered the second point selection region 46b. The user 16 is thereby notified that the TCP 28 is close to the second point 42b. The vibrations 52 may also be issued when the TCP 28 exits the second point selection region 46b. The vibrations 52 constitute a further example of a force feedback according to the present disclosure. The vibrations 52 provide feedback to the user 16 indicative of the manipulator 12 being in one of the point selection regions 46. The force feedback 50 may be continued to be issued when the TCP 28 has entered any of the point selection regions 46.

    [0102] As an alternative or a complement to the force feedback 50 and 52, visual feedback and/or audible feedback may be used. For example, a light emitter may be provided on the manipulator 12 to issue light of a first color when the TCP 28 is inside one of the movement segment selection regions 48 and to issue a light of a second color, different from the first color, when the TCP 28 is inside one of the point selection regions 46.

    [0103] As shown in FIG. 5b, the second point selection region 46b is represented by a circle while the remaining point selection regions 46a and 46c-46e are not displayed. The display of the second point selection region 46b is thus a further example of a feedback indicating to the user 16 that the TCP 28 is in the second point selection region 46b and close to the second point 42b.

    [0104] FIG. 6a schematically represents further movement of the manipulator 12 along the movement path 40, and FIG. 6b schematically represents the display 36 during the situation of the manipulator 12 in FIG. 6a. In the following, one example of modifying one of the points 42 of the movement path 40 will be described.

    [0105] With collective reference to FIGS. 6a and 6b, the TCP 28 is now inside the third point selection region 46c. The manipulator 12 has generated vibrations 52 to inform the user 16 that the TCP 28 has entered the third point selection region 46c. In addition, the third point selection region 46c is highlighted on the display 36 to indicate to the user 16 that the TCP 28 is close to the third point 42c. The third point 42c is now triggered for being selected by the user 16.

    [0106] When the TCP 28 is inside the third point selection region 46c, the user 16 provides a selection input 54a. The selection input 54a of this example is a push and hold operation of the button 30 by the user 16. The third point 42c is now selected for modification. Upon receiving the selection input 54a when the TCP 28 is in the third point selection region 46c, the control system 14 selects the third point 42c for modification and enters a point modification mode. The position of the TCP 28 can thus be used as a basis for selecting one of the points 42a-42e to be modified.

    [0107] FIG. 7a schematically represents movement of the manipulator 12 in the point modification mode, and FIG. 7b schematically represents the display 36 during the situation of the manipulator 12 in FIG. 7a. With collective reference to FIGS. 7a and 7b, the TCP 28 has been moved by the user 16 to a path modifying position 56a by lead-through. The path modifying position 56a is here a position of the TCP 28 to which the third point 42c will be moved. The path modifying position 56a may be either inside or outside the movement segment selection regions 48. In this example, the path modifying position 56a is inside the second movement segment selection region 48b.

    [0108] As shown in FIG. 7b, the path modifying position 56a is continuously displayed on the display 36 in relation to the movement path 40. The user 16 can thereby easily understand how the third point 42c will be moved in relation to the movement path 40.

    [0109] The restoring force of the force feedback 50 towards the movement path 40 is increased as the TCP 28 moves away from the movement path 40. The user 16 thereby becomes aware of that the TCP 28 is outside the movement path 40. A maximum force of the force feedback 50 may however be limited such that the user 16 is not physically prevented from moving the TCP 28 to the desired position.

    [0110] When the user 16 is satisfied with the movement of the third point 42c, the user 16 provides a modification input 58a. The modification input 58a of this example is a release of the button 30 by the user 16. The user 16 can thereby push and hold the button 30 to select a point 42 for modification and release the button 30 at a desired location to which the point 42 should be moved. This constitutes one example of modifying the movement path 40 from the first point 42a to the fifth point 42e based on a path modifying position 56a upon receiving a modification input 58a from the user 16.

    [0111] The method enables a particularly user friendly programming of the manipulator 12 when using lead-through programming. Although this example is a method of programming the manipulator 12 by using lead-through programming, the principles of the method are also applicable with other ways to move the manipulator 12, such as by means of the joystick 38.

    [0112] FIG. 8 schematically represents one example of a modified movement path 40a. When the user 16 has provided the modification input 58a in the point modification mode, the movement path 40 is modified to provide the movement path 40a. Instead of the third point 42c, the movement path 40a comprises a secondary third point 42c2. The secondary third point 42c2 corresponds to the position of the TCP 28 when the modification input 58a is provided by the user 16. Thus, instead of adding a sixth point at the end of the sequence of points 42a-42e, the third point 42c is moved to the position of the secondary third point 42c2.

    [0113] The third point 42c can be modified without having to provide any inputs to the TPU 18. The user 16 can thereby modify the movement path 40 without removing the hands from the manipulator 12. Although the TPU 18 is optional for modifying the movement path 40, the user 16 may look at the display 36 of the TPU 18 if needed to more fully understand which programming events are taking place.

    [0114] After modification of the third point 42c, the control system 14 automatically generates a secondary second movement segment 44b2 interconnecting the second point 42b and the secondary third point 42c2, and a secondary third movement segment 44c2 interconnecting the secondary third point 42c2 and the fourth point 42d. The robot program may then be updated by replacing the movement path 40 with the modified movement path 40a. The modified movement path 40a may then be executed by the manipulator 12.

    [0115] FIG. 9a schematically represents movement of the manipulator 12 along the movement path 40, and FIG. 9b schematically represents the display 36 during the situation of the manipulator 12 in FIG. 9a. In FIG. 9a, the TCP 28 is in the same position as in FIG. 6a. In the following, one example of deleting one of the points 42 from the movement path 40 will be described.

    [0116] With collective reference to FIGS. 9a and 9b, the TCP 28 is now in a path modifying position 56b inside the third point selection region 46c. The third point selection region 46c is highlighted on the display 36 to indicate that the TCP 28 is close to the third point 42c. The third point 42c is thereby triggered for being selected by the user 16.

    [0117] When the TCP 28 is in inside the third point selection region 46c, the user 16 now provides a selection input 54b and a subsequent modification input 58b while the TCP 28 is positioned in the path modifying position 56b inside the third point selection region 46c. The selection input 54b of this example is a first push of the button 30 and the modification input 58b of this example is a second push of the button 30 in the same position of the TCP 28 as when providing the selection input 54b.

    [0118] The position of the TCP 28 can thus also be used as a basis for selecting one of the points 42a-42e to be deleted. Upon receiving the modification input 58b, the control system 14 deletes the third point 42c from the movement path 40. This constitutes a further example of modifying the movement path 40 from the first point 42a to the fifth point 42e based on a path modifying position 56b upon receiving a modification input 58b from the user 16.

    [0119] As one of many alternatives of inputs from the user 16 to delete a point 42, the selection input 54b may be a push and hold operation of the button 30 and the modification input 58b may be a release of the button 30 in the same position of the TCP 28 as when providing the selection input 54b. Thus, in some variants, the only difference in inputs from the user 16 between modifying a point 42 and deleting a point 42 is whether or not the manipulator 12 is moved between pushing the button 30 and releasing the button 30.

    [0120] FIG. 10 schematically represents a further example of a modified movement path 40b. When the user 16 has provided the modification input 58b, the movement path 40 is modified to provide the movement path 40b. In contrast to the movement path 40, the movement path 40b does not comprise the third point 42c. The third point 42c can be deleted without having to provide any inputs to the TPU 18. Also in this way, the user 16 can thereby modify the movement path 40 without removing the hands from the manipulator 12.

    [0121] After deletion of the third point 42c, the control system 14 automatically generates a secondary second movement segment 44b3 interconnecting the second point 42b and the fourth point 42d. The robot program may then be updated by replacing the movement path 40 with the modified movement path 40b. The modified movement path 40b may then be executed by the manipulator 12.

    [0122] FIG. 11a schematically represents movement of the manipulator 12 along the movement path 40, and FIG. 11b schematically represents the display 36 during the situation of the manipulator 12 in FIG. 11a. In the following, one example of adding a point 42 to the movement path 40 will be described.

    [0123] With collective reference to FIGS. 11a and 11b, the TCP 28 is now inside the first movement segment selection region 48a. The first movement segment 44a is highlighted on the display 36 to indicate that the TCP 28 is in the first movement segment selection region 48a. The first movement segment 44a is thereby triggered for being selected by the user 16.

    [0124] When the TCP 28 is inside the first movement segment selection region 48a, the user 16 provides a selection input 54c. Similarly to the modification of a point 42, the selection input 54c for adding a point 42 is in this specific example a push and hold operation of the button 30 by the user 16. Upon receiving the selection input 54c when the TCP 28 is in the first movement segment selection region 48a, the control system 14 selects the first movement segment 44a for modification by adding a further point 42 in association with the first movement segment 44a and enters a point addition mode. The position of the TCP 28 can thus also be used as a basis for selecting one of the movement segments 44 to be modified by adding a further point 42 in association with the movement segment 44.

    [0125] Since the point modification mode is entered when receiving the selection input 54a when the TCP 28 is in a point selection region 46, the point addition mode is entered when receiving the selection input 54c when the TCP 28 is in a movement segment selection region 48, and since the selection inputs 54a and 54c may be identical, the point selection regions 46 and the movement segment selection regions 48 constitute examples of modification type selection positions according to the present disclosure. Thus, a path modification type among point modification and point addition can be selected purely based on the position of the manipulator 12 when receiving the selection input 54a and 54c.

    [0126] FIG. 12a schematically represents movement of the manipulator 12 in the point addition mode, and FIG. 12b schematically represents the display 36 during the situation of the manipulator 12 in FIG. 12a. With collective reference to FIGS. 12a and 12b, the TCP 28 has been moved by the user 16 to a path modifying position 56c by lead-through. The path modifying position 56c is here a position of the TCP 28 where a new point 42 will be added.

    [0127] As shown in FIG. 12b, the path modifying position 56c is continuously displayed on the display 36 in relation to the movement path 40. The user 16 can thereby easily understand where the new point 42 will be added in relation to the movement path 40.

    [0128] The force from the force feedback 50 towards the movement path 40 is increased as the TCP 28 moves away from the movement path 40. The user 16 thereby becomes aware of that the TCP 28 is outside the movement path 40.

    [0129] When the user 16 is satisfied with the path modifying position 56c where the new point 42 will be added, the user 16 provides a modification input 58c. The modification input 58c of this example is a release of the button 30 by the user 16. The user 16 can thereby push and hold the button 30 to select a movement segment 44 for modification by addition of a further point 42 and release the button 30 at a desired location where the new point 42 should be added. This constitutes a further example of modifying the movement path 40 from the first point 42a to the fifth point 42e based on a path modifying position 56c upon receiving a modification input 58c from the user 16. Also this variant enables a particularly user friendly programming of the manipulator 12 when using lead-through programming, but also a highly user friendly programming when moving the manipulator 12 in other ways than with lead-through.

    [0130] FIG. 13 schematically represents a further example of a modified movement path 40c. When the user 16 has provided the modification input 58c in the point addition mode, the movement path 40 is modified to provide the movement path 40c. The movement path 40c differs from the movement path 40 by additionally comprising a secondary first point 42a2 between the first point 42a and the second point 42b. The secondary first point 42a2 can be added without having to provide any inputs to the TPU 18. Also in this way, the user 16 can thereby modify the movement path 40 without removing the hands from the manipulator 12.

    [0131] After addition of the secondary first point 42a2, the control system 14 automatically generates a primary first movement segment 44a1 interconnecting the first point 42a and the secondary first point 42a2, and a secondary first movement segment 44a2 interconnecting the secondary first point 42a2 and the second point 42b. The primary first movement segment 44a1 and the secondary first movement segment 44a2 of the movement path 40c replace the first movement segment 44a of the movement path 40. The robot program may then be updated by replacing the movement path 40 with the modified movement path 40c. The modified movement path 40c may then be executed by the manipulator 12.

    [0132] 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. For example, it will be appreciated that the dimensions of the parts may be varied as needed. Accordingly, it is intended that the present invention may be limited only by the scope of the claims appended hereto.