Moving a robot
By incorporating geometric constraints between robot and environment primitives, the method improves the precision and adaptability of robot movement, addressing imprecision and unreliability in existing user-controlled robot movement techniques.
Patent Information
- Application Number
- PCT/EP2024/085523
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-01-09
- Filing Date
- 2024-12-10
- Publication Date
- 2025-07-17
AI Technical Summary
Existing methods for moving robots are often imprecise, unreliable, and not process-adapted, particularly when user-generated movement commands are used.
Implementing a method that considers predefined geometric relationships between robot-side and environment-side primitives to control robot movements, allowing for multiple operating modes with different constraints, and switching between these modes based on predefined conditions.
Enhances the precision, reliability, and adaptability of robot movement by ensuring that movement commands respect predefined geometric constraints, thereby improving user control and safety.
Smart Images

Figure EP2024085523_17072025_PF_FP_ABST
Abstract
Description
[0001] Description
[0002] Moving a robot
[0003] The present invention relates to a method and system for moving a robot and to a computer program or computer program product for carrying out the method.
[0004] Robots are often moved using motion commands generated by a user, for example, to teach target poses to a robot application, to assist a worker in a task, or the like.
[0005] The object of the present invention is to improve the movement of a robot.
[0006] This object is achieved by a method having the features of claim 1. Claims 11 - 13 represent a control, a system or
[0007] A computer program or computer program product for carrying out a method described here is protected. The subclaims relate to advantageous developments.
[0008] According to one embodiment of the present invention, a method for moving a robot comprises the steps of:
[0009] - Providing a first constraint having a first predetermined geometric relationship between one or more first robot-side geometric primitives and one or more first environment-side geometric primitives;
[0010] - Receiving a movement command generated by a user, preferably manually, to move the robot; and
[0011] - Controlling drives of the robot in a first operating mode on the basis of or depending on this movement command and the first restriction, preferably in such a way that the movement command is implemented taking the first restriction into account, in particular if or to the extent possible.
[0012] By considering a constraint that has a predefined geometric relationship between robot-side and environment-side geometric primitives, this movement can be improved when a robot is moved based on movement commands generated by a user, preferably manually. In one embodiment, a constraint can be specified particularly advantageously, in particular simply, precisely, reliably, and / or process-adapted, using geometric relationships or primitives, and this can improve the user's command of the robot, in particular in a more precise, reliable, faster, and / or process-adapted manner.
[0013] In one embodiment, the robot has at least one robot arm and / or a stationary or mobile base, in particular a chassis. In one embodiment, the robot, in particular the robot arm, has at least three, in particular at least six, in one embodiment at least seven, (movement) axes or translational and / or rotational joints, which are adjustable by, preferably electric motor, drives of the robot in order to move the robot. The present invention is particularly advantageous for such robots, in particular due to their design and operating conditions.
[0014] A geometric primitive can, in particular, be a point, a line, a straight line or half-line, a plane or half-plane, a triangular or polygonal polygon, an ellipse, in particular a circle, a coordinate system, a body bounded by three or more triangular or polygonal polygons, in particular a cuboid or the like, an ellipsoid, in particular a sphere, or a combination of two or more of these objects. A predefined geometric relationship can, in particular, comprise a predefined distance, which can also be zero, a parallelism or other orientation to one another, in particular a perpendicularity to one another, or the like. In this way, restrictions in an embodiment can be specified particularly advantageously, in particular in a simple, precise, process-reliable and / or process-adapted manner.
[0015] In one embodiment, the method comprises the steps:
[0016] - Recording a first switching condition;
[0017] - Providing another constraint that specifies a different geometric relationship between
[0018] - the one or more of the first robot-side geometric primitive(s) and / or one or more other robot-side geometric primitive(s) and / or
[0019] - the one or more of the first environment-side geometric primitive(s) and / or one or more other environment-side geometric primitive(s);
[0020] - receiving a movement command generated by a user, preferably manually, to move the robot, wherein this movement command may be the same movement command as the aforementioned movement command or a different movement command; and
[0021] - Controlling drives of the robot in another operating mode on the basis of this movement command and the other restriction when the switching condition is met, preferably in such a way that this movement command is implemented taking the other restriction into account, in particular if or to the extent possible.
[0022] In further training, the procedure comprises the following steps:
[0023] - Recording another switching condition;
[0024] - Providing a further constraint that defines another predetermined geometric relationship between
[0025] - the or one or more of the first robot-side geometric primitive(s) and / or the or one or more of the other robot-side geometric primitive(s) and / or one or more further robot-side geometric primitive(s) and / or
[0026] - the one or more of the first environment-side geometric primitive(s) and / or the one or more of the other environment-side geometric primitive(s) and / or one or more further environment-side geometric primitive(s);
[0027] - receiving a movement command generated by a user, preferably manually, to move the robot, wherein this movement command may be the same movement command as one of the aforementioned movement commands or a further movement command; and
[0028] - Controlling drives of the robot in a further operating mode on the basis of this movement command and the further restriction if the further switching condition is met, preferably in such a way that this movement command is implemented taking the further restriction into account, in particular if or to the extent possible.
[0029] By providing two or more operating modes in which movement commands generated by a user are implemented taking into account different restrictions or predefined geometric relationships between robot-side and environment-side geometric primitives, the robot can be moved in a particularly advantageous manner, in particular simply, precisely, reliably and / or in a process-adapted manner.
[0030] When switching between operating modes for which different constraints are specified, it may happen that the constraint specified for the operating mode to which the switch is made is not (yet) met. Therefore, in one embodiment, the method comprises the step: - controlling drives of the robot to transfer the robot from the first operating mode to the other operating mode based on the first constraint and the other constraint if the first switching condition is met, preferably such that the other constraint is met; and / or the step:
[0031] - controlling drives of the robot to transfer the robot from the first operating mode to the further operating mode on the basis of the first restriction and the further restriction if the further switching condition is met, preferably in such a way that the further restriction is met; or
[0032] - controlling drives of the robot to transfer the robot from the other operating mode to the further operating mode on the basis of the other restriction and the further restriction when the further switching condition is met, preferably in such a way that the further restriction is met.
[0033] This ensures, in one embodiment, that the robot can be moved advantageously by the user in the operating mode to which it is switched. This advantageously allows the robot to be operated more flexibly.
[0034] In one embodiment, the method comprises the steps:
[0035] - Recording a switch-on condition; and
[0036] - controlling drives of the robot to transfer the robot to the first operating mode based on the first restriction when the switch-on condition is met, preferably in such a way that the first restriction is met.
[0037] In one embodiment, this ensures that the robot can be advantageously moved by the user in the first operating mode.
[0038] This allows the robot to be operated more flexibly.
[0039] In one embodiment, - the first switching condition and / or
[0040] - the further switching condition and / or
[0041] - the switch-on condition
[0042] (each) depending on
[0043] - a time, preferably a predetermined time criterion; and / or
[0044] - a pose of the robot, preferably a given pose criterion; and / or
[0045] - at least one sensor, preferably a predetermined criterion for an output of at least one sensor or a parameter based on such a sensor output; and / or
[0046] - a user input, preferably via an actuator such as a mechanical button, a button on a touchscreen or the like; and / or
[0047] - a number of fulfilled predetermined geometric relationships of the first restriction and / or the other restriction and / or the further restriction, preferably a predetermined minimum number of fulfilled geometric relationships of the restriction of the operating mode to which the switchover or switching-on condition is fulfilled.
[0048] In one embodiment, during transfer to the first operating mode, drives of the robot are controlled in such a way or with the proviso that a violation of at least one predetermined geometric relationship of the first restriction is reduced and / or successively predetermined geometric relationships of the first restriction are fulfilled and / or at least one predetermined, preferably temporal and / or spatial limitation for this transfer is fulfilled, for example a predetermined time for the transfer is observed or the transfer takes place in a predetermined space.
[0049] In one embodiment, during the transition from the first to the other operating mode, the robot's drives are controlled in such a way or with the proviso that a violation of at least one predetermined geometric relationship of the other constraint is reduced and / or successively predetermined geometric relationships of the other constraint are fulfilled and / or at least one predetermined, preferably temporal and / or spatial, limitation for this transition is met, for example, a predetermined time for the transition is observed or the transition takes place within a predetermined space. Preferably, an attempt is made to fulfill the first constraint as far as possible, with the switching being completed in one embodiment when the other constraint is fully fulfilled.
[0050] In one embodiment, during transition from the first or other operating mode to the further operating mode, drives of the robot are controlled in such a way or with the proviso that a violation of at least one predetermined geometric relationship of the further restriction is reduced and / or successively predetermined geometric relationships of the further restriction are fulfilled and / or at least one predetermined, preferably temporal and / or spatial, limitation for this transition is met, for example, a predetermined time for the transition is observed or the transition takes place in a predetermined space. In this case, an attempt is preferably made to fulfill the first or other restriction as far as possible, wherein the switching is completed in one embodiment when the further restriction is fully fulfilled.
[0051] This can improve switching to the corresponding operating mode.
[0052] In one embodiment, and in a further development, one or more environment-side geometric primitives are specified based on a numerical environment model, for example, CAD data or the like. This allows these primitives to be specified particularly easily and / or precisely.
[0053] In one embodiment, and in a further development, one or more environment-side geometric primitives are specified based on the detection of the robot's environment by means of one or more environment-side sensors and / or, particularly preferably, one or more robot-side sensors, in particular at least one distal or end-effector-side robot-guided sensor. As a result, these primitives can be specified in a particularly variable and / or situation-adapted manner.
[0054] In one embodiment, or in a further development, one or more environment-side geometric primitives are predefined. This allows these primitives to be specified particularly easily and / or precisely.
[0055] In one embodiment, or in a further development, one or more environment-side geometric primitives are specified dynamically or temporally variable, in particular, updated. This allows these primitives to be specified in a particularly variable and / or situation-adapted manner.
[0056] In one embodiment, the environment of the robot to be moved comprises one or more additional robots. Accordingly, one or more environment-side geometric primitives can be defined with respect to these additional robots. Accordingly, "robot-side" in the sense of the present invention refers in particular to the robot to be moved according to the invention, and "environment-side" refers to its environment.
[0057] In one embodiment, or in a further development, one or more of the movement commands are (respectively) generated by the user manually applying a load to the robot (so-called hand guiding). For this purpose, in one embodiment, the robot is compliantly controlled so that it attempts to follow or avoid the load. Such hand guiding can be particularly improved by taking restrictions into account according to the invention, and in one embodiment, can be carried out more precisely, more quickly, and / or more safely. A load and / or strain within the meaning of the present invention can comprise, in particular be, one or more forces and / or torques. In one embodiment, or in a further development, one or more of the movement commands are (respectively) generated by actuating and / or moving a user-guided operating device, preferably a handset, a VR or AR operating device, or the like.For this purpose, the operating device communicates wirelessly or via a connecting cable with a robot controller or is signal-connected to it for this purpose.
[0058] In one embodiment, in a further development, one or more of the movement commands are (each) generated by actuating at least one actuating element of a robot-guided operating device.
[0059] In one embodiment, and in a further development, one or more of the movement commands are (respectively) generated, preferably by means of an operating device, on the basis of a predefined coordinate system or a predefined robot path. The (respective) movement command preferably has one or more predefined movements in or around one or more axes of a coordinate system, preferably defined by the user, in particular a so-called frame, for example a so-called world frame or TCP frame, or a movement predefined by the user along a predefined robot path. In one embodiment, a robot path describes a one-, two-, or three-dimensional position and / or a one-, two-, or three-dimensional orientation of a robot-side reference, for example the TCP frame or the like.Accordingly, a robot path can, for example, only specify the position and still have freedom regarding orientation.
[0060] Such movement of a robot by the user by means of an operating device or on the basis of a predetermined coordinate system or a predetermined robot path can be particularly improved by taking constraints into account according to the invention, and in one embodiment, can be carried out more precisely, quickly and / or more safely. In one embodiment, drives of the robot are controlled in the first operating mode and / or in the other operating mode and / or in the further operating mode (each) on the basis of a received movement command and the corresponding (first or other or further) restriction in such a way or with the proviso that the movement command is implemented if this restriction is met, wherein a movement command that causes a violation of this restriction
[0061] - is not implemented, in particular ignored; or
[0062] - is modified in such a way that the restriction continues to be fulfilled, in particular to the extent that it is implemented to the extent that the restriction continues to be fulfilled, whereby a further part of the movement command is not implemented; or
[0063] - triggers a push of the robot into a state in which the constraint is again fulfilled.
[0064] In particular, when moving the robot using an operating device, a restricted relocation can be particularly advantageous, especially when manually guiding the robot back to a state in which the restriction is again fulfilled, since with such manual guidance a short-term violation of the restriction is negligible taking into account the inaccuracy of the manual guidance and, in addition, the manual guidance can be carried out more intuitively and reliably by such urging of the robot.
[0065] In one embodiment, one or more of the predefined geometric relationships can be deactivated by manually applying a predefined minimum load to the robot. This advantageously allows the predefined geometric relationship(s) to be used to restrict movement by gently guiding the robot and / or using a control device, thereby making the movement easier, faster, and / or more process-adapted. Other movement commands can also be implemented if necessary, for example, to quickly evade the robot, resolve a blockage caused by a restriction, or similar tasks.In one embodiment, the first predetermined geometric relationship comprises a group of two or more (predetermined geometric) links between first robot-side geometric primitives and first environment-side geometric primitives, in particular a (predetermined geometric) link between a first robot-side geometric primitive and a first environment-side geometric primitive, and.
[0066] - at least one additional (predetermined geometric) link between this first robot-side geometric primitive and a second environment-side geometric primitive; and / or
[0067] - at least one additional (predetermined geometric) link between this first environment-side geometric primitive and a second robot-side geometric primitive; and / or
[0068] - at least one additional (predetermined geometric) connection between a second first robot-side geometric primitive and a second first environment-side geometric primitive.
[0069] Similarly, the first predetermined geometric relationship may comprise, in particular be, only a (predetermined geometric) link between a first robot-side geometric primitive and a first environment-side geometric primitive.
[0070] Additionally or alternatively, in one embodiment, the other predetermined geometric relationship and / or the further predetermined geometric relationship (each) comprises a group of two or more (predetermined geometric) connections between robot-side geometric primitives and environment-side geometric primitives. Likewise, the other predetermined geometric relationship and / or the further predetermined geometric relationship (each) may comprise, in particular, only one (predetermined geometric) connection between a robot-side geometric primitive and an environment-side geometric primitive.By means of such groups and a switching (or switching) into the respective operating mode, in which a constraint is taken into account in each case, which has the corresponding (predefined geometric relationship with the corresponding) group of (predefined geometric) connections between robot-side geometric primitives and environment-side geometric primitives, the robot can be moved in a particularly well-adapted manner to the process in one embodiment.
[0071] According to one embodiment of the present invention, a controller for controlling the robot or a system comprising the robot and the controller is configured in terms of hardware and / or software, in particular program technology, to carry out a method described here.
[0072] According to one embodiment of the present invention, the control, in particular the system, comprises:
[0073] - means for providing a first constraint having a first predetermined geometric relationship between at least one first robot-side geometric primitive and at least one first environment-side geometric primitive;
[0074] - means for receiving a movement command generated by a user to move the robot; and
[0075] - Means for controlling drives of the robot in a first operating mode based on this movement command and the first restriction.
[0076] In one embodiment, the controller or system or its means comprises:
[0077] - means for detecting a first switching condition;
[0078] - Means for providing another constraint having a different predetermined geometric relationship between the first and / or at least one other robot-side geometric primitive and the first and / or at least one other environment-side geometric primitive; - Means for receiving a movement command generated by a user for moving the robot; and
[0079] - Means for controlling drives of the robot in another operating mode based on this movement command and the other restriction when the first switching condition is met.
[0080] In one embodiment, the controller or system or its means comprises:
[0081] - means for controlling drives of the robot to transfer the robot from the first operating mode to the other operating mode based on the first constraint and the other constraint when the first switching condition is met.
[0082] In one embodiment, the controller or system or its means comprises:
[0083] - means for detecting a further switching condition;
[0084] - means for providing a further constraint having a further predetermined geometric relationship between the first and / or other and / or at least one further robot-side geometric primitive and the first and / or other and / or at least one further environment-side geometric primitive;
[0085] - means for receiving a movement command generated by a user to move the robot; and
[0086] - Means for controlling drives of the robot in a further operating mode on the basis of this movement command and the further restriction when the further switching condition is met, in particular after controlling drives of the robot for transferring the robot from the first or other operating mode to the further operating mode on the basis of the first or other restriction and the further restriction.
[0087] In one embodiment, the controller or system or its means comprises: - means for detecting a switch-on condition; and
[0088] - Means for controlling drives of the robot to transfer the robot to the first operating mode based on the first restriction when the switch-on condition is met.
[0089] In one embodiment, the controller or system or its means comprises: means for controlling drives of the robot during transfer in order to
[0090] - to reduce a violation of at least one predetermined geometric relationship of the other or first or further constraint; and / or
[0091] - to successively satisfy predetermined geometric relationships of the other or first or further constraint; and / or
[0092] - to meet at least one of the limits specified for this transfer.
[0093] In one embodiment, the controller or the system or its means comprises: means for specifying at least one environment-side geometric primitive on the basis of a numerical environment model or a sensory environment detection and / or for fixedly or dynamically specifying at least one environment-side geometric primitive.
[0094] In one embodiment, the controller or system or its means comprises:
[0095] - Means for generating at least one movement command by manually exerting a load on the robot or by actuating and / or moving a user-guided operating device or by actuating at least one actuating element of a robot-guided operating device, in particular a corresponding operating device, and / or on the basis of a predetermined coordinate system or a predetermined robot path.
[0096] In one embodiment, the controller or the system or its means comprises: means for controlling drives of the robot in at least one operating mode on the basis of a received movement command and a restriction such that the movement command is implemented if the restriction is met and a movement command that causes a violation of the restriction,
[0097] - is not implemented or
[0098] - is modified in such a way that the restriction continues to be met, or
[0099] - triggers a push of the robot into a state in which the constraint is again fulfilled.
[0100] In one embodiment, the controller or system or its means comprises: means for deactivating at least one predetermined geometric relationship by manually applying a predetermined minimum load to the robot.
[0101] A means within the meaning of the present invention can be designed in hardware and / or software, in particular at least one, in particular digital, processing unit, in particular a microprocessor unit (CPU), graphics card (GPU) or the like, preferably connected to a memory and / or bus system for data or signals, and / or one or more programs or program modules. The processing unit can be designed to execute instructions implemented as a program stored in a memory system, to detect input signals from a data bus, and / or to output output signals to a data bus. A memory system can have one or more, in particular different, storage media, in particular optical, magnetic, solid-state, and / or other non-volatile media. The program can be designed in such a way that it embodies the methods described here oris capable of carrying out, so that the processing unit can carry out the steps of such methods and thus in particular control the robot or activate drives of the robot and thus move the robot. In one embodiment, a computer program product can have, in particular be, a storage medium, in particular a computer-readable and / or non-volatile one, for storing a program or instructions or with a program or instructions stored thereon. In one embodiment, execution of this program or these instructions by a system or a controller, in particular a computer or an arrangement of several computers, causes the system or the controller, in particular the computer(s), to carry out a method described here or one or more of its steps, or the program or the instructions are configured to do so.
[0102] In one embodiment, one or more, in particular all, steps of the method are fully or partially computer-implemented or one or more, in particular all, steps of the method are fully or partially automated, in particular by the controller or the system or its means.
[0103] In one embodiment, the robot is moved by means of the (corresponding) control of the drives or moves as a result of the (corresponding) control of the drives.
[0104] Further advantages and features emerge from the subclaims and the exemplary embodiments. The following shows, partly schematically:
[0105] Fig. 1: a system with a robot and a controller for controlling the robot for moving the robot according to an embodiment of the present invention; and
[0106] Fig. 2: a method for moving the robot according to an embodiment of the present invention.
[0107] Fig. 1 shows a system with a robot 10 and a controller 20 for controlling the robot to move the robot according to an embodiment of the present invention.
[0108] The robot, by way of example, has a robot-guided distance sensor 11 that projects a light spot P onto a workpiece W, and a polishing wheel 12. According to one embodiment of the present invention, in a step S10, a first constraint is provided, which has a first geometric relationship specified by a user (input) in the form of a specified distance greater than zero between a first robot-side geometric primitive in the form of a point S representing the distance sensor 11 and a first environment-side geometric primitive in the form of the light spot P, and another constraint is provided, which has a different geometric relationship specified by a user (input) between other robot-side geometric primitives and other environment-side geometric primitives.In the exemplary embodiment, the other predetermined geometric relationship of the other restriction comprises a link in the form of a predetermined parallelism between another robot-side geometric primitive in the form of a circular disk K representing the polishing disk 12 and another environment-side geometric primitive in the form of a rectangle R representing a surface of the workpiece to be polished, as well as an additional link in the form of a predetermined distance of 0 mm between another robot-side geometric primitive in the form of a center point M of the circular disk representing the polishing disk 12 and the other environment-side geometric primitive in the form of the rectangle R representing a surface of the workpiece to be polished.
[0109] In a step S20, it is detected that a switch-on condition is met, for example because a user has pressed a button on a handset 21.
[0110] Since the first constraint is (still) violated, the controller 20 controls the robot's drives 13 such that the robot is transferred to a first operating state in which the first constraint is met. To do so, the controller moves the (robot-guided distance sensor 11 of the) robot(s) into a corresponding pose (Fig. 2: step S30). The user can then input a movement command using the handheld control device 21 or an actuator of a robot-guided control device in the form of a robot-side 6D mouse (not shown) or by hand-guiding, which the controller 20 receives accordingly (Fig. 2: step S40) and controls the robot's drives to implement this movement command, taking into account or adhering to the first constraint, thus moving the robot (Fig. 2: step S50).
[0111] For example, if the other constraint is met because the polishing wheel 12, aligned parallel to the surface of the workpiece to be polished, rests on this surface, the system switches to the other operating state (Fig. 2: step S60). Similarly, for example, the user can press a corresponding (assigned) button on the handset 21, whereupon the controller 20, analogous to the approach to the pose described above during or for transferring to the first operating state, controls the drives 13 of the robot such that the robot is transferred to the other operating state in which the other constraint is met. In doing so, the controller attempts to fulfill the first constraint as far as possible; in the exemplary embodiment, to maintain the specified distance between P and S.
[0112] The transition from the first to the other operating state is completed when the other constraint is fully satisfied.
[0113] The user can now input a movement command using the handheld device 21 or the robot-side 6D mouse or by hand guiding, which the controller 20 receives accordingly (Fig. 2: step S70) and controls the robot's drives to implement this movement command while taking into account or adhering to the other restriction and thus moves the robot in such a way that the polishing wheel 12, which is aligned parallel to the surface of the workpiece to be polished, remains on this surface (Fig. 2: step S80).
[0114] The embodiment described above illustrates in particular a
[0115] Operating the robot in the first operating state and the other operating state in which different constraints having different geometric relationships between robot-side and environment-side geometric primitives are taken into account, taking into account groups of predetermined geometric links between robot-side and environment-side geometric primitives (cf. in particular the parallelism between K and R and the distance equal to zero between M and R) as well as environment-side geometric primitives predetermined on the basis of sensory environment detection (cf. the light point P) in constraints when moving a robot.
[0116] In the present disclosure, "has an X" generally does not imply an exhaustive list, but is a shortened form of "has at least one X" and also includes "has two or more Xs" and "has Y in addition to X." Although exemplary embodiments have been explained in the foregoing description, it should be noted that numerous modifications are possible. Furthermore, it should be noted that the exemplary embodiments are merely examples and are not intended to limit the scope, applications, or construction in any way.Rather, the foregoing description provides the person skilled in the art with a guide for the implementation of at least one exemplary embodiment, whereby various changes, in particular with regard to the function and arrangement of the described components, can be made without departing from the scope of protection as it results from the claims and combinations of features equivalent to these.
[0117] List of reference symbols
[0118] 10 robots
[0119] 11 Distance sensor 12 Polishing wheel
[0120] 13 robot drives
[0121] 20 Control
[0122] 21 Handset
[0123] K polishing disc representing circular disc M center point
[0124] P light point
[0125] R workpiece surface representing rectangle
[0126] S distance sensor representing point
[0127] W workpiece
Claims
Patent claims 1. A method for moving a robot (10), comprising the steps: - providing (S10) a first constraint having a first predetermined geometric relationship between at least one first robot-side geometric primitive and at least one first environment-side geometric primitive; - receiving (S40) a movement command generated by a user to move the robot; and - Controlling (S50) drives of the robot in a first operating mode based on this movement command and the first restriction.
2. Method according to claim 1, characterized by the steps: - detecting (S60) a first switching condition; - providing (S10) another constraint having another predetermined geometric relationship between the first and / or at least one other robot-side geometric primitive and the first and / or at least one other environment-side geometric primitive; - receiving (S70) a movement command generated by a user to move the robot; and - Controlling (S80) the robot's drives in another operating mode based on this movement command and the other restriction if the first switching condition is met.
3. Method according to claim 2, characterized by the step: - controlling drives of the robot to transfer the robot from the first operating mode to the other operating mode based on the first constraint and the other constraint when the first switching condition is met; and / or by the steps: - Recording another switching condition; - Providing a further constraint having a further predetermined geometric relationship between the first and / or other and / or at least one further robot-side geometric primitive and the first and / or other and / or at least one further environment-side geometric primitive; - Receiving a movement command generated by a user to move the robot; and - controlling drives of the robot in a further operating mode on the basis of this movement command and the further restriction if the further switching condition is met, in particular after controlling drives of the robot to transfer the robot from the first or other operating mode to the further operating mode on the basis of the first or other restriction and the further restriction.
4. Method according to one of the preceding claims, characterized by the steps: - Recording a switch-on condition; and - Controlling (S30) drives of the robot to transfer the robot to the first operating mode based on the first restriction when the switch-on condition is met.
5. Method according to claim 3 or 4, characterized in that - the first and / or further switching condition and / or switch-on condition depending on - a time and / or - a pose of the robot and / or - at least one sensor and / or - a user input and / or - a number of predefined geometric relationships of the first and / or other constraint are satisfied; and / or - during transfer, the robot’s drives are controlled in order to - to reduce a violation of at least one predetermined geometric relationship of the other or first or further constraint; and / or - to successively satisfy predetermined geometric relationships of the other or first or further constraint; and / or - to meet at least one of the limits specified for this transfer.
6. Method according to one of the preceding claims, characterized in that at least one environment-side geometric primitive is specified on the basis of a numerical environment model or a sensory environment detection and / or at least one environment-side geometric primitive is fixedly or dynamically specified.
7. Method according to one of the preceding claims, characterized in that at least one movement command is generated by manually exerting a load on the robot or by actuating and / or moving a user-guided operating device or by actuating at least one actuating element of a robot-guided operating device and / or is generated on the basis of a predetermined coordinate system or a predetermined robot path.
8. Method according to one of the preceding claims, characterized in that drives of the robot are controlled in at least one operating mode on the basis of a received movement command and a restriction in such a way that the movement command is implemented if the restriction is met and a movement command which causes a violation of the restriction, - is not implemented or - is modified in such a way that the restriction continues to be met, or - triggers a push of the robot into a state in which the constraint is again fulfilled.
9. Method according to one of the preceding claims, characterized in that at least one predetermined geometric relationship can be deactivated by manually applying a predetermined minimum load to the robot.
10. Method according to one of the preceding claims, characterized in that at least one predetermined geometric relationship comprises a group of links between robot-side geometric primitives and environment-side geometric primitives. 11 . A controller for controlling a robot, which is designed to carry out a method according to one of the preceding claims and / or comprises: - means for providing a first constraint having a first predetermined geometric relationship between at least one first robot-side geometric primitive and at least one first environment-side geometric primitive; - means for receiving a movement command generated by a user to move the robot; and - Means for controlling drives of the robot in a first operating mode based on this movement command and the first restriction.
12. A system comprising a robot and a controller for controlling the robot according to any one of the preceding claims.
13. A computer program or computer program product, wherein the computer program or computer program product contains instructions, in particular stored on a computer-readable and / or non-volatile storage medium, which, when executed by one or more computers or a controller according to claim 11 or a system according to claim 12, the computer(s) or the controller or the system to carry out a method according to one of claims 1 to 10.
Citation Information
Patent Citations
Articulated type master-slave manipulator
JP1994262548A
Robot control device
JP2016016474A
Master-slave system and controlling method
US20230038804A1
Nonlinear trajectory optimization for robotic devices
US20230117928A1