Method and apparatus for controlling a robot movement of a robot on the basis of a second trajectory

10456913 ยท 2019-10-29

Assignee

Inventors

Cpc classification

International classification

Abstract

A method for controlling a robot movement of a robot on the basis of a second trajectory is provided, wherein the second trajectory is calculated on the basis of a viscosity volume model.

Claims

1. A method for controlling a robot movement of a robot on a basis of a second trajectory, the method comprising: a) calculating a viscosity volume model for modeling a first working environment of the robot, wherein the viscosity volume model comprises first spatial regions with first different viscosities, the first spatial regions are determined on a basis of first characteristics of the robot and of the first working environment; b) defining a first trajectory for the robot; c) exciting a simulated liquid in the viscosity volume model to move along the first trajectory, wherein the excited liquid has a flow; d) detecting a liquid element in the excited simulated liquid at a start of the first trajectory; e) detecting a covered path of the liquid element in the excited simulated liquid in the viscosity volume model, wherein a flow direction of the excited simulated liquid through the first spatial regions is determined; f) storing the covered path as the second trajectory; and g) controlling the robot movement on the basis of the second trajectory.

2. The method as claimed in claim 1, further comprising, between step b) and step c): b2) updating the viscosity volume model on a basis of second characteristics of a second working environment and of the robot, wherein the second characteristics are ascertained on a basis of playing back the first trajectory in the second working environment, and the first spatial regions are updated and/or extended on the basis of the second characteristics.

3. The method as claimed in claim 2, wherein the second characteristics are detected on the basis of playing back the first trajectory in the second working environment and a measurement system.

4. The method as claimed in claim 1, wherein an input device for defining or playing back the first trajectory has a force feedback means, wherein the second characteristics are detected by means of the force feedback means.

5. The method as claimed in claim 1, wherein the first characteristics of the robot and/or the second characteristics of the robot comprise permissible speeds of the motors and/or permissible rotation ranges of the joints of the robot.

6. The method as claimed in claim 1, wherein the first characteristics and/or the second characteristics of the first working environment and/or of the second working environment comprise properties of obstacles, wherein the properties of obstacles comprise a size and/or a length and/or a position in the first working environment and/or the second working environment.

7. The method as claimed in claim 1, wherein the first spatial regions with the first different viscosities are defined on a basis of a permissible speed of the robot, wherein the permissible speed is determined from configurations of the robot.

8. The method as claimed in claim 7, wherein, in a case of a plurality of configurations, in each case one viscosity volume model is calculated for in each case one of the first spatial regions, or the plurality of configurations are combined in the viscosity volume model for the respective first spatial region.

9. The method according to claim 1, wherein the first different viscosities of the viscosity volume model are direction-dependent, wherein the viscosity volume model is an anisotropic viscosity volume model.

10. The method as claimed in claim 2, wherein, in the case of a change in the second characteristics during playback of the first trajectory and/or in a position of the robot in the second working environment during playback of the first trajectory, the following method steps are repeated: updating the viscosity volume model; exciting the simulated liquid; detecting the liquid element; detecting further covered paths for one repetition in each case, wherein the covered path and the further covered paths for the respective repetition are combined as a second trajectory and are stored.

11. The method as claimed in claim 10, wherein the repetition is repeated in succession.

12. A computer program product having program commands, that when executed, implements the method as claimed in claim 1.

13. A provision apparatus that stores and/or provides the computer program product as claimed in claim 12.

14. An apparatus for controlling a robot movement of a robot on a basis of a second trajectory, comprising: a first calculation module for calculating a viscosity volume model for modeling a first working environment of the robot, wherein the viscosity volume model comprises first spatial regions with first different viscosities, the first spatial regions being determined on a basis of first characteristics of the robot and of the first working environment; a first definition module for defining a first trajectory for the robot; a first excitation module for exciting a simulated liquid in the viscosity volume model for moving along the first trajectory, wherein the excited simulated liquid has a flow; a first detection module for detecting a liquid element in the excited simulated liquid at a start of the first trajectory; a second detection module for detecting a covered path of the liquid element in the excited simulated liquid in the viscosity volume model, wherein a flow direction of the excited simulated liquid through the first spatial regions is determined; a first memory module for storing the covered path as a second trajectory; and a first control module for controlling the robot movement on the basis of the second trajectory.

15. A computer program product having program commands to configure a creation device that creates the apparatus as claimed in claim 14.

Description

BRIEF DESCRIPTION

(1) Some of the embodiments will be described in detail, with reference to the following figures, wherein like designations denote like members, wherein:

(2) FIG. 1 shows a flowchart of a first exemplary embodiment of the method according to embodiments of the invention;

(3) FIG. 2a shows a first exemplary embodiment of the method according to embodiments of the invention for controlling a robot movement, wherein, in particular, obstacles and/or singularities are taken into account;

(4) FIG. 2b shows a second exemplary embodiment of the method according to embodiments of the invention for controlling a robot movement, wherein, in particular, obstacles and/or singularities are taken into account;

(5) FIG. 2c shows a third exemplary embodiment of the method according to embodiments of the invention for controlling a robot movement, wherein, in particular, obstacles and/or singularities are taken into account;

(6) FIG. 2d shows a fourth exemplary embodiment of the method according to embodiments of the invention for controlling a robot movement, wherein, in particular, obstacles and/or singularities are taken into account; and

(7) FIG. 3 shows an apparatus according to embodiments of the invention for controlling a robot movement of a robot on the basis of a second trajectory.

DETAILED DESCRIPTION

(8) In the figures, functionally identical elements are provided with the same reference symbols, unless stated otherwise.

(9) The following exemplary embodiments have, unless stated otherwise or already stated, at least one processor and/or one memory device in order to implement or to execute the method.

(10) FIG. 1 shows a flowchart of a first exemplary embodiment of the method according to embodiments of the invention.

(11) Specifically, FIG. 1 shows a method for controlling a robot movement of a robot on the basis of a second trajectory.

(12) The method comprises a first method step for calculating 110 a viscosity volume model for modeling a first working environment of the robot. In this case, the viscosity volume model comprises first spatial regions with first different viscosities, wherein the first regions are determined on the basis of first characteristics of the robot and of the first working environment.

(13) The method comprises a second method step for defining 120 a first trajectory for the robot. The first trajectory can be stored, for example, in a memory unit or a memory module. For example, the first trajectory for the robot can be recorded by an input device or the first trajectory can be prespecified by software (a software component).

(14) In one variant, the method preferably comprises an optional method step for updating the viscosity volume model on the basis of second characteristics of a second working environment and of the robot, wherein the second characteristics are ascertained on the basis of playing back the first trajectory in the second working environment, and the first regions are updated and/or extended on the basis of the second characteristics. Playing back the trajectory in the simulated second working environment can be envisaged as stirring a liquid.

(15) The method comprises a third method step for exciting 130 a simulated liquid in the viscosity volume model for moving along the first trajectory, wherein the excited liquid has a flow, wherein the flow is preferably a laminar flow.

(16) The method comprises a fourth method step for detecting 140 a liquid element/introduced particle in the excited liquid at a start of the first trajectory.

(17) The method comprises a fifth method step for detecting 150 a covered path of the element/particle in the excited simulated liquid in the viscosity volume model, wherein a flow direction of the simulated liquid through the first regions is determined.

(18) The method comprises a sixth method step for storing 160 the covered path as the second trajectory.

(19) The method comprises a seventh method step for controlling 170 the robot movement on the basis of the second trajectory.

(20) In other words, the first working environment of the robot is, in particular initially, modeled and simulated as a liquid-filled space in the form of the viscosity volume model by means of the method according to embodiments of the invention. To this end, the working space of the robot is, for example, initially determined. To this end, the robot can be placed, for example, into the first working environment. The first characteristics can then be determined, for example, on the basis of at least one of the following three steps (or a combination of the three steps) and in order to calculate the viscosity volume model on the basis of the first characteristics, wherein, for example, FIGS. 2a-2d show the corresponding steps.

(21) For example, first obstacles 211 (FIG. 2a) which are already located in the working space 270 are initially detected. For the positions or regions of the first obstacles 211 in the working space, corresponding positions or the corresponding regions are, for example, likewise modeled as the first regions with different viscosities 260. For the outer first region 265 which surrounds the first obstacle 211, a fifth, relatively low, viscosity 265 is initially defined for example. The region of the first obstacle is then surrounded by a higher sixth viscosity 267. The region of the first obstacle 211 and/or an additional freely selected safety distance are/is then set, for example, to an infinitely high viscosity (a seventh viscosity 266). The different regions are then preferably modeled in the viscosity volume model as the first regions with the different viscosities. The safety distance can be modeled, for example, as a flowing transition between the infinite viscosity of the obstacle and the surrounding viscosity.

(22) In particular, possible collisions 240 outside the working space with second obstacles 210 are then ascertained (FIG. 2a and FIG. 2b: for example collisions of the rear robot joints) which can occur, for example, in the event of a planned movement 220 of the robot 230 by way of the end effector 232. These are likewise modeled as first regions with different viscosities 260.

(23) This is shown, for example, in FIG. 2c. The robot moves, for example, to the top left, which is indicated, in particular, by a first direction arrow 251 and a second direction arrow 252. The closer the robot comes to the second obstacle 210, the higher is the viscosity, until said viscosity is infinitely or approximately infinitely high and does not permit any further movement in the direction of the second obstacle. As is illustrated in FIG. 2c, a first viscosity 261 is initially active when the robot is still relatively far away from the second obstacle 210. As the robot 230 approaches the second obstacle 210, a first region, which is situated closer to the second obstacle 210, comprises a second higher viscosity 262. As the robot 230 further approaches the second obstacle 210, further first regions each comprise a third (higher) viscosity 263 and a fourth (even higher) viscosity 264.

(24) It is, for example, also possible for the first regions for the first obstacle 211 and the second obstacle 210 to each be modeled without an increasing viscosity. This can be achieved, in particular, by the first regions for the first obstacle 211 and the second obstacle 210 each being set to an infinitely high viscosity.

(25) In a next step, the singularities are, for example, further modeled by means of anisotropic viscosities for example. This has the effect, in particular, that movements of the end effector 232 in arrow direction 280 are still possible. Movements perpendicular to the arrow direction 280 or out of the plane of the image require a very rapid movement of the joints of the robot 230. These rapid movements, in particular at a high joint speed, can exceed, for example, the mechanical load-bearing ability of components of the robot. Limiting of the speed can be modeled, for example, by anisotropic viscosities in the first regions. In other words, this means that a low viscosity prevails in the arrow direction 280 preferably at the same location, otherwise a very high viscosity is established in the viscosity volume model.

(26) The individual steps can be calculated, for example, in each case as a dedicated viscosity volume model and can be combined to form one viscosity volume model at the end. As an alternative, it is possible, for example, for all of these steps to be calculated in one viscosity volume model which updates the viscosity volume model for each step.

(27) After the viscosity volume model has been calculated, it can be updated, for example, on the basis of the second characteristics of the second working environment. Here, for example, the first trajectory which has been recorded somewhere, for example from a scale model or in the first working environment, can be transmitted to the second working environment, for example a production hall. Additional obstacles or possible further singularities are detected, for example, by means of a measurement system and modeled in the viscosity volume model. To this end, the first spatial regions can, for example, be updated or further first spatial regions can be added, for which a viscosity is established, in particular, in the viscosity volume model in each case.

(28) In order to now calculate the second trajectory, the first trajectory is, for example, placed into the calculated viscosity volume model and, in particular, a fluid simulation (simulated liquid) is started. The first trajectory is now used in order to excite (to stir) the simulated liquid in the viscosity volume model. The viscosity is not taken into consideration in this process, however the viscosities are relevant, in particular, for the movement of the liquid (flow) which is now established (that is to say is calculated by the simulation).

(29) Shortly after the start of excitation (stirring), a liquid element is detected/or a particle is introduced into the flow. The liquid element can be, for example, marked or a liquid element in the form of a particle is used, wherein the particle is inserted, for example, into the simulated liquid. Detection of the liquid element (or its covered path) begins where the transmitted or first trajectory begins. On account of the viscosity and the fluid movement calculated with it, the liquid element now moves around obstacles (that is to say in the first regions with a high viscosity) and avoids singularities or moves at the desired speed. The new, collision-free trajectory (second trajectory) which describes the liquid element is now transmitted to the robot in the second working environment in order to control movement of said robot.

(30) In other words, obstacles of the first working environment can initially be modeled, in particular, by means of the viscosity volume model by means of the viscosities in the first spatial regions of the viscosity volume model, wherein the viscosity (viscosities) of the viscosity volume model are preferably spatially variable. The viscosities of the viscosity volume model can preferably be fed back directly to a user when traveling on a trajectory (first trajectory or second trajectory). This can be performed, for example, by means of an input device which has, for example, a haptic force feedback means.

(31) By way of these input devices, the user can, for example, feel forces and different viscosities can be presented. In addition, these input devices preferably provide a good way of being able to input trajectories in a simple manner. A corresponding input device is therefore used, for example, for defining the first trajectory and/or playing back the first trajectory.

(32) In addition, a measurement system for example can be used in order to detect the second characteristics. The second characteristics can be ascertained, for example, for the second working environment, in particular for obstacles in the second working environment. The measurement system may be, for example, a 3D camera system or a laser scanner. In addition, the measurement system can have, for example, control modules in order to drive the robots such that they travel on a trajectory. The measurement system is preferably able to detect states, for example configurations and/or positions, from the robot. This can be performed, for example, by reading out configurations and run time data of the robot via a data interface of the robot. This data is ultimately combined by a central computer unit, for example a processor, in the viscosity volume model which is stored, for example, in a data memory/memory unit, preferably in the form of the first regions and the different viscosities.

(33) The method according to embodiments of the invention can preferably be used to generate trajectories which are both collision-free and avoid singularities. To this end, for example in a further variant, a memory unit for recording the viscosity volume model can initially be prepared in a preprocessing step. To this end, the configurations of the robot are examined preferably in respect of all positions or points in the working environment of the robot in the viscosity volume model (depending on the selected spatial resolution). The examined configurations show, for example, the maximum permissible speeds for the robot, for example rotation speeds of the joints of the robot, at this point/this position. If there are a plurality of permissible configurations (for example lefty/righty or elbow up/down) for a point/a position, these can be combined, for example, in the viscosity volume model (for example maximum possible speed over all configurations) or a dedicated viscosity volume model is applied for each configuration in order to have a plurality of action alternatives later in particular. The maximum permissible speed is then converted, for example using a formula, into a viscosity at this point/position.

(34) In the event of a collision (either of the end effector of the robot or of the joints of the robot), the viscosity is set to be infinite or approximately infinite. When implemented as a software component, this can be achieved, for example, by setting a data type, for example a double value, to the maximum permissible value. In this way, it is possible, for example, for singularities to be modeled.

(35) In one variant, it is possible, for example, for an anisotropic viscosity to be used. In particular, direction-dependent speed restrictions can also be modeled with said anisotropic viscosity. Therefore, for example, an industrial robot with an almost outstretched arm can still travel only very slowly in the direction of extent since a high viscosity has been defined in the viscosity volume model for this direction in one region. Perpendicular movements can still be executed, for example, at a high speed since a low viscosity has been defined for this direction in the corresponding first region. Corresponding mathematical simulation models for anisotropic viscosity are used, for example, in geology.

(36) The prevailing viscosity between the points/positions under consideration can be interpolated for example. This does not apply, in particular, in the general case of singularities. Singularities are preferably determined in advance from the mechanics of the robot and the corresponding points/positions are explicitly calculated and, in particular, taken into account in the first characteristics, for example stored in first characteristics.

(37) As soon as the viscosity volume model is calculated, for example the first trajectory for the robot can be received by an input device or the first trajectory can be prespecified by software. The parameters of the first trajectory, for example positions and speeds, are stored (for example in the memory unit).

(38) The second characteristics are ascertained, for example, by playing back the trajectory in a new environment or the actual/second working environment of the robot. To this end, new obstacles which are identified using the measurement system are, for example, initially taken into account in the second characteristics. In particular, the viscosity volume model is updated by means of the second characteristics.

(39) In a further variant, the collision points and singularities can also be updated (that is to say first characteristics and/or the second characteristics) if, in a dynamic scenario, the robot itself has moved, for example on a navigable platform. The viscosity volume model is then updated, in particular, on the basis of the first characteristics and/or the second characteristics.

(40) After the updating process, a simulated liquid is then excited in the viscosity volume model through the first trajectory, wherein the liquid has a flowthat is to say flows in one directionafter the excitation. After a suitable time interval, an element is then, for example, detected in the liquid at the start of the first trajectory. To this end, a particle can, for example, be inserted into the excited simulated liquid. The position of the element is tracked and interpreted as movement of the end effector. Whereas excitation of the liquid by means of the first trajectory can theoretically take place through obstacles (the viscosity is not taken into consideration in this case), the element preferably always follows a path which does not have any collisions with forbidden zones (infinitely high viscosity or approximately infinitely high viscosity) and also takes place at the speed prespecified by the viscosity. The calculations required for this purpose are afforded, for example, by the fundamental fluid mechanics.

(41) In a further preferred variant, the viscosity is dependent on a distance from an obstacle or a singularity.

(42) In a further preferred variant, the respective viscosity which is defined by an obstacle and/or singularity, increases depending on a distance from the obstacle and/or singularity. In other words, the respective first region comprises a high viscosity for a position close to the obstacle and/or singularity and a lower viscosity for a position which is further away from the obstacle and/or singularity. In particular, the viscosity can be increased in steps the closer a position/point in to the obstacle and/or singularity.

(43) In a further preferred variant, a processor is specially designed to execute program commands in such a way that the processor executes functions in order to implement the method according to embodiments of the invention or at least one of the steps of the method according to embodiments of the invention.

(44) FIG. 3 shows an apparatus according to embodiments of the invention for controlling a robot movement of a robot on the basis of a second trajectory.

(45) Specifically, FIG. 3 shows an apparatus for computer-assisted trajectory calculation for robots. The apparatus comprises a first calculation module 310, a first definition module 320, an optional first update module (not illustrated), a first excitation module 330, a first detection module 340, a second detection module 350, a first memory module 360, a first control module 370 and an optional communications interface 304 which are connected to one another by means of a bus 303 such that they communicate.

(46) The first calculation module 310 is designed to calculate a viscosity volume model for modeling a first working environment of the robot, wherein the viscosity volume model comprises first spatial regions with first different viscosities, and the first regions are determined on the basis of first characteristics of the robot and the first working environment.

(47) The first calculation module 310 can be implemented, for example, by means of a processor and a first program component which calculate the viscosity volume model by means of program commands.

(48) The first definition module 320 is designed to define a first trajectory for the first working environment of the robot. The definition module 320 can be, for example, an input device, as has been described, for example, in FIG. 1.

(49) The first update module is designed to update the viscosity volume model on the basis of second characteristics of a second working environment and the robot, wherein the second characteristics are ascertained on the basis of playback of the first trajectory in the second working environment. During the updating process, the first regions are updated and/or extended on the basis of the second characteristics.

(50) The first update module can be implemented, for example, by means of the processor, a second program component and the measurement system explained in FIG. 1, wherein the viscosity volume model is updated by means of program commands and the first characteristics and/or second characteristics.

(51) The first excitation module 330 is designed to excite a simulated liquid in the viscosity volume model to move along the first trajectory, wherein the excited liquid has a flow.

(52) The first excitation module 330 can be implemented, for example, by means of the processor and a third program component which calculate the excitation of the simulated liquid by means of program commands.

(53) The first detection module 340 is designed to detect a liquid element in the excited liquid at a start of the first trajectory.

(54) The first detection module 340 can be implemented, for example, by means of the processor and a fourth program component which mark the liquid element by means of program commands in such a way that said liquid element can be taken into consideration.

(55) The second detection module 350 is designed to detect a covered path of the element in the excited simulated liquid in the viscosity volume model, wherein a flow direction of the simulated liquid through the first regions is determined.

(56) The second detection module 350 can be implemented, for example, by means of the processor and a fifth program component which track the movement of the liquid element in the simulated liquid by means of program commands.

(57) The first memory module 360 is designed to store the covered path as the second trajectory. The first memory module 360 can be, for example, a hard drive, a USB memory or an SSD hard drive.

(58) The first control module 370 is designed to control the robot movement on the basis of the second trajectory.

(59) The first control module 370 can be implemented, for example, by means of the processor and a sixth program component which control the robot movement by means of program commands.

(60) The apparatus can, for example, additionally further comprise (at least one) further component/components such as, for example, a processor, a memory unit, an input device, in particular a computer keyboard or a computer mouse, and a monitor.

(61) Although the invention has been illustrated and described in more detail by the preferred exemplary embodiments, the invention is not restricted by the disclosed examples and other variations can be derived therefrom by a person skilled in the art without departing from the scope of protection of the invention.