The robot drives through a preset working track

文档序号:1189225 发布日期:2020-09-22 浏览:17次 中文

阅读说明:本技术 以机器人驶过预先设定的工作轨迹 (The robot drives through a preset working track ) 是由 斯蒂芬·布尔卡特 曼弗雷德·许滕霍弗 R·施赖特米勒 京特·韦德曼 于 2018-11-12 设计创作,主要内容包括:一种根据本发明的、用于基于针对预先设定的工作轨迹所规划的速度曲线以机器人(1)驶过(S100)该工作轨迹的方法,利用预先设定的曲线参数($ACC<Sub>1</Sub>,$VEL<Sub>1</Sub>)规划(S10)速度曲线,并且,如果在利用预先设定的曲线参数所规划的速度曲线中预测到对速度、力或加速度的预先设定的边界的超过,则在所述驶过之前修改(S85,S95)该速度曲线。(A method according to the invention for traversing (S100) a preset working trajectory by a robot (1) on the basis of a speed profile planned for the working trajectory, using preset profile parameters ($ ACC) 1 ,$VEL 1 ) A speed profile is planned (S10) and, if an exceeding of a predetermined limit for speed, force or acceleration is predicted in the speed profile planned with the predetermined profile parameters, the speed profile is modified (S85, S95) before the drive-through.)

1. Method for a robot (1) to move through a preset working trajectory (S100) on the basis of a speed profile planned for said working trajectory, wherein preset profile parameters ($ ACC) are used1,$VEL1) -planning (S10) the speed profile, and-modifying (S85, S95) the speed profile before the drive-through if an exceeding of a predetermined limit for speed, force or acceleration is predicted in the speed profile planned with the predetermined profile parameters.

2. Method according to claim 1, characterized in that for modifying the speed profile, the speed profile planned with the preset profile parameters is modified depending on, in particular in proportion to, the predicted exceeding of the preset boundary.

3. Method according to any of the preceding claims, characterized in that for modifying the speed profile, the speed profile is re-planned with modified profile parameters, in particular with profile parameters modified according to the predicted exceeding of the preset boundary, in particular in the same way as a speed profile planned with the preset profile parameters.

4. Method according to any of the preceding claims, characterized in that the predicted overrun is predicted in case of a reduction of the part of the speed, force or acceleration caused by a predetermined fixed basic movement and/or static load and/or not caused by driving over a predetermined working trajectory.

5. Method according to any of the preceding claims, characterized in that the work trajectory is preset by at least one pose of a robot-specific reference object in the working space of the robot.

6. Method according to any of the preceding claims, characterized in that the speed profile comprises a profile of the translational speed and/or a profile of at least one rotational speed of a robot-specific reference object in the working space of the robot.

7. Method according to any of the preceding claims, wherein the predetermined boundaries comprise boundaries for the velocity, force and/or acceleration of at least one axis of the robot.

8. Method according to any of the preceding claims, characterized in that the curve parameters comprise a preset speed and/or acceleration.

9. Method according to any one of the preceding claims, characterized in that the speed profile comprises an initial acceleration phase, a final deceleration phase and/or a constant driving phase, in particular a trapezoidal or triangular profile.

10. Method according to any of the preceding claims, characterized in that the exceeding of the pre-set boundary is predicted based on a kinematic and/or dynamic model of the robot and/or on discrete curve points (P0-P3), in particular points of acceleration variation.

11. Method according to any of the preceding claims, characterized in that if an exceeding of the predetermined boundary is also predicted in the modified speed profile, the modified speed profile is modified again before the drive-through.

12. Method according to any one of the preceding claims, characterized in that an error signal is issued (S55) if, at least one point of the working trajectory, an exceeding of the preset boundary is predicted, assuming for this point in the speed profile that the constant speed is equal to zero.

13. A controller (2) for traversing a preset work trajectory with a robot (1) on the basis of a planned speed profile for the work trajectory, wherein the controller is designed for carrying out the method according to one of the preceding claims and/or has: means for planning the speed profile using preset profile parameters; and means for modifying the speed profile planned with the predetermined profile parameters before the vehicle has traveled, if an exceeding of a predetermined limit for speed, force or acceleration is predicted in the speed profile planned with the predetermined profile parameters.

14. A robot unit having a robot (1) and a controller (2) according to the preceding claim for controlling the robot.

15. A computer program product having a program code stored on a medium readable by a computer for performing the method according to any of the preceding claims.

Technical Field

The invention relates to a method and a controller for driving a robot through a predetermined working trajectory, a robot unit having the robot and the controller, and a computer program product for carrying out the method.

Background

According to the internal practice of enterprises, a working track is preset for the robot, and a speed curve is planned for the robot by preset curve parameters in advance.

Thus, for example, a linear trajectory of the robot TCP can be predefined in the working space and a trapezoidal speed profile can be planned for it in the working space, the acceleration and the constant driving speed of which can be provided by specifying corresponding profile parameters, wherein the constant driving speed may not be reached depending on the length of the trajectory.

Unacceptably high axle loads, axle speeds and/or axle accelerations can occur during the actual travel through the predetermined working path with the planned speed profile, which up to now requires a tedious readjustment of the predetermined profile parameters or an unnecessary, passive initial selection thereof.

Disclosure of Invention

The invention aims to better drive a robot through a preset working track.

The object of the invention is achieved by a method having the features of claim 1. Claims 13 to 15 claim a controller or a computer program product or a robot cell with a controller as described herein for performing the method as described herein. Preferred developments are given by the dependent claims.

According to one embodiment of the invention, in a method for driving a robot over a predefined working trajectory on the basis of a speed profile planned for the working trajectory, the speed profile is planned with predefined profile parameters before driving, and the speed profile is modified before driving if, in the speed profile planned with the predefined profile parameters, it is predicted that the speed, force or acceleration would exceed predefined boundaries.

In one embodiment, the risk of unacceptably high axle loads, axle speeds and/or axle accelerations when driving through a predefined working path can thereby be reduced, in particular a tedious readjustment is avoided. In one embodiment, the predefined profile parameters can thus be actively selected, so that the method automatically modifies the respective speed profile in order to comply (predictively) with the predefined boundaries.

For the sake of a more compact description, an anti-parallel force couple or torque is also referred to in general terms as force in the sense of the present invention.

In one embodiment, the robot has a multi-axis, in particular at least three-axis, in one embodiment at least six-axis, in particular at least seven-axis robot arm. The method of the invention is particularly suitable for such robots.

In one embodiment, the speed profile planned with the predefined profile parameters is modified, in particular extended in the direction of the abscissa, in particular the time axis, and/or compressed in the direction of the ordinate, in particular the speed axis, as a function of the predicted crossing over of the predefined limit, in one embodiment in proportion to the predicted crossing over.

Additionally or alternatively, in particular for this purpose, in one embodiment, for modifying the speed profile, the profile parameters are re-planned using the modified speed profile, in particular a speed profile modified as a function of the predicted exceeding of the predetermined limit, in one embodiment a speed profile modified in proportion to the predicted exceeding, in particular a reduced speed profile, in one embodiment the profile parameters are re-planned in the same way as the speed profile planned using the predetermined profile parameters.

In one embodiment, the speed profile can thus be modified advantageously, in particular in terms of computational technology, in particular the convergence of the iterative modification can be improved. Additionally or alternatively, in one embodiment, the (geometric or basic) shape of the speed curve and thus the desired or expected behavior of the robot when driving through the trajectory can thus be kept essentially unchanged.

In one embodiment, the predicted overshoot is predicted in the event of a reduction in the part of the speed, force or acceleration which is caused by a predetermined fixed basic movement and/or static load and/or which is not caused (because of) a dynamic load which is caused by driving through a predetermined working trajectory.

This is based on the idea that: modifying the speed profile can only reduce the speed, force or acceleration (to below the boundary) caused by driving through a predetermined working trajectory. Accordingly, in one embodiment, it is provided that only this part of the speed, force or acceleration is also taken into account in the modification.

For this purpose, in one embodiment, the kinetic model of the robot is analyzed not only using the speed, force or acceleration obtained when driving through a predetermined working trajectory with a planned speed profile, but also assuming that the speed profile is constantly equal to zero. The latter corresponds to a predetermined fixed basic movement or static load, so that the difference can be used to determine the portion caused by driving through a predetermined working trajectory.

In one embodiment, the working trajectory is predetermined by one or more poses of the robot-specific reference object in the working space of the robot, in particular a cartesian working space. A gesture can comprise a one-dimensional, two-dimensional or three-dimensional position and/or a one-dimensional, two-dimensional or three-dimensional direction, in particular a one-dimensional, two-dimensional or three-dimensional position and/or a one-dimensional, two-dimensional or three-dimensional direction. The robot-specific reference object may in particular comprise a TCP of the robot, in particular may be a TCP of the robot.

In one embodiment, the working trajectory is predetermined by programming instructions and/or has a predetermined geometry using one or more gestures, and may in particular comprise a linear movement and/or a circular movement and/or at least one spline, in particular a linear movement and/or a circular movement and/or at least one spline.

Additionally or alternatively, in an embodiment, the velocity profile comprises a profile of a translational velocity and/or a profile of one or more rotational velocities of the robot-specific reference object in the working space of the robot.

In one embodiment, therefore, the working trajectory and/or the speed profile in the working space of the robot or of the robot-specific reference object is defined or predefined or planned.

In one embodiment, a desired or expected behavior of the robot when driving through the trajectory can thereby be achieved.

The predefined boundaries may comprise boundaries of speed, force, in particular torque and/or acceleration of one or more axes of the robot, in particular of the motor and/or the transmission, in particular may be boundaries of speed, force, in particular torque and/or acceleration of one or more axes of the robot, in particular of the motor and/or the transmission.

In other words, in one embodiment, the speed, acceleration and/or force, in particular torque, boundaries in the axis space of the robot are taken into account for the working trajectory and the speed profile defined in the working space of the robot or of the robot-specific reference object.

In one embodiment, the risk of overloading the electric machine and/or the transmission can thereby be reduced.

In one embodiment, the profile parameters comprise a predetermined speed, in particular a minimum speed, a maximum speed and/or an average speed, in particular a constant speed, and/or a predetermined acceleration, in particular a minimum acceleration, a maximum acceleration and/or an average acceleration, in particular a constant acceleration. Thus, in one embodiment, the curve parameters may be multidimensional and in particular comprise in a known manner the accelerations for the acceleration and deceleration phases (which in one embodiment are symmetrical), in particular the acceleration and deceleration ramps, and/or the constant driving speed of the trapezoidal curve, wherein this constant driving speed may not be reached.

Accordingly, the speed profile may comprise, in particular may be, an initial acceleration phase, a final deceleration phase and/or a constant travel phase, in particular a trapezoidal or triangular profile.

This is very common in robotics, so in one embodiment, existing controls (algorithms) can be advantageously simply used.

In one embodiment, the exceeding of the predetermined limit is predicted on the basis of a kinematic and/or dynamic model of the robot and/or on discrete curve points, in particular on points of acceleration change.

In one embodiment, by means of a kinematic model of the robot, for certain points of the work trajectory and speed curve defined in the work space, the respective axis speeds and axis accelerations can be determined and thereby the exceeding of the respective boundaries can be detected. The axis coordinates and/or their time derivatives and the pose and/or their time derivatives of the robot-specific reference object in the working space are thus transformed into one another by means of a kinematic model in the sense of the invention.

In one embodiment, by means of a dynamic model of the robot, the respective axial force, in particular the motor torque and/or the drive torque, can be determined for certain points of the working path and the speed curve defined in the working space, and the exceeding of the respective boundary can be detected as a result. The dynamic model in the sense of the invention therefore corresponds on the one hand to the axial coordinates and/or their time derivatives and on the other hand to the axial forces.

By means of such a prediction, in particular only at discrete curve points, the speed profile can be checked in a point-like manner and thus computationally efficiently.

In this case, it is possible in particular to take into account or study the point of change in acceleration, since particularly important speeds, forces and accelerations occur here. Additionally or alternatively, in one embodiment, the overshoot may also be predicted at other discrete curve points, in particular at points equidistantly located between the acceleration change points, etc.

In one embodiment, if an exceeding of the predetermined limit is also predicted in the (previously) modified speed profile, the modified speed profile is modified again before the drive-through, which may be carried out a plurality of times if necessary. In other words, in one embodiment, the speed profile can be iteratively modified, in particular until the exceeding of the predetermined limit is no longer predicted or another interruption condition is fulfilled.

Accordingly, in one embodiment, in order to modify the modified speed profile again, the modified speed profile is modified again in the aforementioned manner as a function of the predicted exceeding of the predetermined limit in the modified speed profile, in particular in proportion thereto, or in order to modify the modified speed profile again, the modified speed profile is planned again using the modified profile parameters, in particular as a function of the predicted exceeding of the predetermined limit, in particular in the same manner as the speed profile planned using the predetermined profile parameters.

If, at least one point of the working path, an exceeding of the predetermined limit is predicted if a constant speed is assumed in the speed profile for this point to be equal to zero, in one embodiment an error signal is emitted and, in one embodiment, the method is interrupted or the running through the predetermined working path is stopped, in particular prevented.

This is based on the idea that: in this case, modifying the speed profile is not sufficient to avoid exceeding the predetermined limit, since this limit has been exceeded due to the predetermined basic movement and/or static load.

According to one embodiment of the invention, the controller is designed, in particular, in hardware and/or in software, in particular in programming, for carrying out the method described here and/or has: means for planning a speed profile using preset profile parameters; and means for modifying the speed profile planned with the predetermined profile parameters before the drive-through if an exceeding of a predetermined limit for speed, force or acceleration is predicted in the speed profile planned with the predetermined profile parameters.

In one embodiment, the controller or apparatus thereof comprises:

-means for modifying the speed profile planned or modified with the preset profile parameters in dependence on, in particular in proportion to, the predicted exceeding of the preset boundary, in order to (again) modify the speed profile planned or modified with the preset profile parameters;

-means for re-planning the speed profile with the modified profile parameters, in particular according to predicted exceeding of the preset boundary, in particular in the same way as the speed profile planned with the preset profile parameters, in order to (again) modify the speed profile planned or modified with the preset profile parameters;

-means for attenuating, in the prediction of said overtake, the part of the speed, force or acceleration caused by a predetermined fixed basic movement and/or static load and/or not caused by driving through a predetermined working trajectory;

-means for predicting the exceeding of the predetermined boundary on the basis of a kinematic and/or dynamic model of the robot and/or on discrete curve points, in particular on points of acceleration variation;

-means for modifying the modified speed profile again before passing if an exceeding of the predetermined boundary is also predicted in the modified speed profile;

-means for issuing an error signal if, at least one point of the working trajectory, an exceeding of a predetermined boundary is predicted assuming for that point in the speed profile that the constant speed is equal to zero.

The device according to the invention can be implemented by hardware and/or software, and in particular has: a processing unit, in particular a digital processing unit, in particular a microprocessor unit (CPU), which is preferably connected to a memory system and/or a bus system in a data or signal manner; and/or one or more programs or program modules. To this end, the CPU may be designed to: executing instructions implemented as a program stored in a storage system; collect input signals from the data bus and/or send output signals to the data bus. The storage 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 may be such that: which can embody or carry out the method described herein, so that the CPU can carry out the steps of the method and can thus control or operate the robot, in particular. In one embodiment, the computer program product may have a storage medium, in particular a non-volatile storage medium, for storing a program or a storage medium having a program stored thereon, wherein execution of the program may cause a system or a controller, in particular a computer, to carry out the method or one or more steps of the method described herein.

In one embodiment, one or more, in particular all, steps of the method are performed in full or partially automatically, in particular by the controller or a device thereof.

Drawings

Further advantages and features are given by the dependent claims and embodiments. To this end, it is shown partially schematically:

FIG. 1 is a robot cell having a robot and a controller according to one embodiment of the invention;

FIG. 2 is a trapezoidal curve;

fig. 3 is a method for controlling a robot according to an embodiment of the present invention.

Detailed Description

Fig. 1 shows a robot cell according to an embodiment of the invention with a robot 1 and a (robot) controller 2.

The robot is supposed to move in its working space with its TCP over a predefined working path, in this exemplary embodiment predefined gestures, for example taught, which respectively define the three-dimensional position and orientation of the TCP in the working space, in particular in a straight line in the case of a transition from an initial orientation to a final orientation, are connected to one another linearly, for example in a fixed or e.g. moving coordinate system with a conveyor belt or the like.

For this purpose, in step S10, an acceleration $ ACC is used for an initial acceleration ramp or acceleration phase and a final deceleration ramp or deceleration phase symmetrical thereto, which acceleration ramp or acceleration phase is predefined for a translation or rotationk(k-1: translation speed; k-2, 3: rotation speed) and a speed $ VEL based on a constant driving phase between the acceleration phase and the deceleration phase, preset for translation or rotationkA speed profile is planned, which comprises a trapezoidal profile for the translation speed v of the TCP along the trajectory and a similar trapezoidal profile for its rotation speed around two axes, as shown in fig. 2, in which the corresponding acceleration a is shown in double-dashed lines in addition to the translation speed v in fig. 2.

In step S20, the axis coordinate q and its first and second derivatives dq/dt, d are determined for points P0 (start of acceleration phase), P1 (end of acceleration phase), P12 (midpoint of constant travel phase), P2 (start of deceleration phase) and P3 (end of deceleration phase) by means of inverse transformation from workspace to axis space and numerical integration or differentiation2q/dt2

Using the axis coordinates, axis velocity and axis acceleration, in step S30, a robot dynamics model of the form,

M(q)·d2q/dt2+h(q,dq/dt)=T

determining the total axial moment T occurring in the planned trapezoidal curve at the points P0-P3totWhere M is the mass matrix, h is the vector of the static and dynamic loads, and T is the axial moment.

Additionally, in step S40, using the kinetic model, a determination is made for dq/dt ═ d2q/dt2Base load axle torque T occurring at point P0-P3 equal to 0sta

In step S50, it is checked: at least one point of the points P0-P3, the base load axle moment TstaIs (has) exceeded an allowed maximum torque preset for the respective shaft, or is (has) exceeded a shaft speed of the at least one shaft, which is (has) exceeded an allowed maximum speed preset for the respective shaft.

If so (S50: "Y"), error information is output and the plan is interrupted (S55).

If not (S50: "N"), then in step S60, the shaft speeds dq present in the planned trapezoidal curve are determined for the points P1-P2, respectivelyi(Pj) Ratio FVEL of/dt divided by the maximum speed allowed previously set for the corresponding axis ii,j

Additionally, in step S60, for points P0-P3, a speed profile-axle torque T is determined, respectivelydyn=Ttot-TstaAnd the speed curve-axis torque T existing in the planned trapezoidal curvej(Pj) Ratio FACC of/dt divided by the maximum permissible torque preset for the respective axis ii,j

In step S70, the ratio FVEL is determinedi,jMaximum value of (FVEL ═ Max { FVEL [)i,j}) and the ratio FACCi,jMaximum value of (FACC ═ Max { FACC } ═ FACCi,j})。

If the value FVEL is greater than 1 (S80: "Y"), then in step S85, the speed $ VEL for translation or rotation will be preset for a constant driving phasekReducing this coefficient:

$VELk→$VELk/FVEL

if the value FACC is greater than 1 (S90: "Y"), then in step S95, for the acceleration and deceleration phases, it will be preset for translation or rotationAcceleration $ ACCkReducing this coefficient:

$ACCk→$ACCk/FACC

if at least one of the values FVEL, FACC is greater than 1 (S80: "Y" or S90: "Y"), the method returns to step S10 and utilizes the reduced acceleration $ ACCkOr speed $ VELkA new trapezoidal curve for translation or rotation, respectively, is determined.

As a result, the trapezoidal curve shown in solid lines in fig. 2 is stretched in the direction of the time axis t and compressed in the direction of the velocity axis v, but retains its trapezoidal basic shape.

Otherwise (S80: "N" and S90: "N"), the planning is ended and in step S100 the robot travels over the preset working trajectory with the planned speed curve with the planned trapezoidal curve.

Although exemplary embodiments have been illustrated in the foregoing description, it should be noted that many variations are possible.

This embodiment can therefore be described in terms of a linear movement with end stops. It can also be used for other working trajectories, such as circular trajectories, etc. Additionally or alternatively, the working trajectory may also be determined by leapsThe transition to other working paths is effected, for example, in fig. 2, a trapezoidal curve for a further linear movement, shown in dashed lines, and a triangular curve for a leap movement, shown in dashed lines.

In addition or alternatively, instead of the axle torque, the axle acceleration itself can also be used, i.e. the dynamic model is eliminated or degraded to T ═ d2q/dt2

It should also be noted that the exemplary embodiments are only examples, and should not be construed as limiting the scope, applicability, or configuration in any way. Rather, the foregoing description will enable one skilled in the art to practice the teachings of the conversion to at least one exemplary embodiment, wherein various changes, particularly in matters of function and arrangement of parts described, may be made without departing from the scope of the present invention, such as may be gleaned from the claims and equivalents of the features.

List of reference numerals

1 robot

2 controller

Center point of TCP tool

$ACC1,$VEL1Parameters of the curve

P0-P3 curve points.

11页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:信息处理装置、控制方法和程序

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类