Method for determining a trajectory in a pose space of a kinematic and control device for controlling a kinematic - Patent Application 20070122997

The method and controller for determining robot trajectories in kinematic pose space adapt velocities based on workspace points to ensure safe and uniform movements, addressing non-uniformity and safety issues in existing systems.

JP7742490B2Active Publication Date: 2025-09-19PHYSIK INSTRUMENTE (PI) GMBH & CO KG
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2024520587
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-10-04
Filing Date
2022-09-30
Publication Date
2025-09-19
Estimated Expiration
2042-09-30

AI Technical Summary

Technical Problem

Existing robot control systems face challenges in handling velocity presets for trajectories in kinematic pose space, leading to non-uniform movements and potential safety issues.

Method used

A method and controller for determining trajectories in kinematic pose space by adapting kinematic velocities based on workspace points, ensuring velocities do not exceed a maximum velocity, and considering pose metrics to handle path sections within estimated durations, while accounting for acceleration and jerk limits.

Benefits of technology

This approach allows for flexible and safe handling of velocity presets, reducing the risk of collisions and improving movement uniformity and precision in robot operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007742490000012
    Figure 0007742490000012
  • Figure 0007742490000013
    Figure 0007742490000013
  • Figure 0007742490000014
    Figure 0007742490000014
Patent Text Reader

Abstract

The present invention relates to determining a trajectory in a pose space of a kinematic according to a given path of the trajectory, where the trajectory is to be followed by a kinematic for a particular application. A set of points in the workspace of the kinematic, on which a pose space metric used to determine the trajectory is based, is determined based on the application. Based on the path, a trajectory is determined such that as the kinematic follows the trajectory, the pose velocity based on the metric is less than or equal to a predetermined maximum velocity.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a device and method for determining a trajectory in a kinematic pose space, taking into account a predetermined maximum velocity. [Background technology]

[0002] A frequently occurring problem in robot control systems is the calculation of a trajectory based on a given path in pose space. For safety reasons, for example, velocity presets must usually be adhered to. The key aspect here is that it is a trajectory in the kinematic pose space, but the robot's velocity should usually be limited in "real" 3D space. This complicates the handling of such velocity presets and can, among other things, lead to non-uniform robot movements. Summary of the Invention [Problem to be solved by the invention]

[0003] The invention is therefore based on the problem of improving the handling of velocity presets when determining trajectories, and in particular making it more flexible. [Means for solving the problem]

[0004] The problem is solved by the present invention with the features of the independent claims. Some preferred embodiments are the subject of the dependent claims.

[0005] The present invention is based on the idea of ​​determining kinematic velocities based on points in the workspace that are adapted to the application being performed when determining the trajectory.

[0006] According to a first aspect of the present invention, there is provided a method for determining a trajectory in a pose space of a kinematic, the trajectory to be followed by the kinematic for a particular application. The method includes (i) obtaining a maximum velocity and a path of the trajectory in the pose space, (ii) determining, based on the application, a set of points in the workspace space of the kinematic on which a pose space metric used to determine the trajectory is based, and (iii) determining a trajectory based on the path such that, as the kinematic follows the trajectory, the pose velocity based on the metric is less than or equal to the maximum velocity.

[0007] In general, in embodiments of the first aspect, the trajectory may correspond to the position and orientation of a kinematic over time along a path, the points indicate respective positions in the workspace relative to the position and orientation of the kinematic, and (i) move with the kinematic as the trajectory is followed so that their relative positions with respect to the position and orientation of the kinematic do not change, and / or (ii) are stationary in a coordinate system corresponding to the position and orientation of the kinematic over time as the trajectory is followed, and (iii) the pose velocity corresponds to the maximum velocity at which the points move as the trajectory is followed.

[0008] The point may, for example, correspond to a stationary region in the workspace, and the pause velocity may correspond to the maximum velocity at which the point is swept through the space moving with the kinematics.

[0009] In general, in an embodiment of the first aspect, the trajectory may correspond to the position and orientation of the kinematic over time along the path, and the points include relative points and absolute points. The relative points indicate respective positions in the workspace relative to the position and orientation of the kinematic. For example, (i) the relative points move with the kinematic as the trajectory is followed so that their relative positions with respect to the position and orientation of the kinematic do not change, and / or (ii) the relative points are stationary in a coordinate system corresponding to the position and orientation of the kinematic over time as the trajectory is followed. The absolute points correspond to stationary regions in the workspace. The pause velocity corresponds to the maximum of the velocities swept through space (i) through which the relative points move as the trajectory is followed, and (ii) through which the absolute points move with the kinematic.

[0010] In an embodiment of the first aspect, determining a trajectory may include (i) dividing the path into path sections; (ii) estimating a maximum displacement among the displacements that a point will experience when following one of the path sections; (iii) estimating a duration for which the path section will be followed when following the trajectory based on the maximum speed and the estimated maximum displacement; and (iv) determining a trajectory such that the path section will be followed within at least the estimated duration.

[0011] For example, the maximum displacement can be estimated based on the displacement of one or more of the points located on the surface of the spatial volume corresponding to the point.

[0012] Generally, in an embodiment of the first aspect, the trajectory may be determined such that when the kinematic follows the trajectory, (i) the metric-based pose acceleration is less than or equal to a predetermined maximum acceleration, and / or (ii) the metric-based pose jerk is less than or equal to a predetermined maximum jerk.

[0013] In some embodiments of the first aspect, the set of points is determined based on (i) the location of the tool and / or work coordinate system, and / or (ii) the location of the pivot point.

[0014] According to a second aspect of the present invention, there is provided a controller for controlling a kinematic. The controller is adapted to obtain (i) a maximum velocity, (ii) a path of a trajectory in a pose space, and (iii) a set of points in a workspace of the kinematic on which a pose space metric used to determine the trajectory is based. The controller is further adapted to determine a trajectory based on the path such that, as the kinematic follows the trajectory, the pose velocity based on the metric is less than or equal to the maximum velocity.

[0015] In general, in embodiments of the second aspect, the trajectory may correspond to the position and orientation of a kinematic over time along a path, the points indicate respective positions in the workspace relative to the position and orientation of the kinematic, and (i) move with the kinematic as the trajectory is followed so that their relative positions with respect to the position and orientation of the kinematic do not change, and / or (ii) are stationary in a coordinate system corresponding to the position and orientation of the kinematic over time as the trajectory is followed, and (iii) the pose velocity corresponds to the maximum velocity at which the points move as the trajectory is followed.

[0016] The point may, for example, correspond to a stationary region in the workspace, and the pause velocity may correspond to the maximum velocity at which the point is swept through the space moving with the kinematics.

[0017] In general, in an embodiment of the second aspect, the trajectory may correspond to the position and orientation of the kinematic over time along the path, and the points include relative points and absolute points. The relative points indicate respective positions in the workspace relative to the position and orientation of the kinematic. For example, (i) the relative points move with the kinematic as the trajectory is followed so that their relative positions with respect to the position and orientation of the kinematic do not change, and / or (ii) the relative points are stationary in a coordinate system corresponding to the position and orientation of the kinematic over time as the trajectory is followed. The absolute points correspond to stationary regions in the workspace. The pause velocity corresponds to the maximum of the velocities swept through the space through which (i) the relative points move as the trajectory is followed and (ii) the absolute points move with the kinematic.

[0018] In an embodiment of the second aspect, the control device is adapted to (i) divide the path into path sections, (ii) estimate a maximum displacement among the displacements that the point will undergo when following one of the path sections, (iii) estimate a duration for following the path section when following the trajectory based on the maximum speed and the estimated maximum displacement, and (iv) determine a trajectory such that the path section is followed within at least the estimated duration.

[0019] For example, the maximum displacement can be estimated based on the displacement of one or more of the points located on the surface of the spatial volume corresponding to the point.

[0020] Generally, in embodiments of the second aspect, the trajectory may be determined such that when the kinematic follows the trajectory, (i) the metric-based pose acceleration is less than or equal to a predetermined maximum acceleration, and / or (ii) the metric-based pose jerk is less than or equal to a predetermined maximum jerk.

[0021] In some embodiments of the second aspect, the set of points is determined based on (i) the location of the tool and / or work coordinate system, and / or (ii) the location of the pivot point.

[0022] Further details, advantages and features of the invention will become apparent from the following description and drawings to which explicit reference is made for all details not described herein. [Brief explanation of the drawings]

[0023] [Figure 1] FIG. 1 is a schematic diagram of an example of a serial kinematic. [Figure 2] FIG. 1 is a schematic diagram of an example of parallel kinematics. [Figure 3] FIG. 1 is a schematic diagram of the relationship between configuration space, workspace, direct kinematics, and indirect kinematics. [Figure 4] FIG. 1 is a schematic diagram of a general determination of a pose metric. [Figure 5] FIG. 1 is a schematic diagram of determining a pose metric using the DISP metric. [Figure 6] FIG. 10 is a schematic diagram of the displacement of relative points when the pose is changed. [Figure 7] FIG. 1 is a schematic diagram of a two-degree-of-freedom serial robot. [Figure 8] 8 is a schematic diagram of the displacements undergone by relative points when the robot of FIG. 7 performs an exemplary movement. [Figure 9] 8 is a schematic illustration of the displacements undergone by absolute points when the robot of FIG. 7 performs an exemplary movement. [Figure 10] 1 is a schematic diagram of a spiral movement. [Figure 11] 1 is a flow chart illustrating exemplary steps for determining a trajectory. [Figure 12] FIG. 1 is a block diagram of an exemplary device for determining a trajectory. [Figure 13] FIG. 1 is a schematic diagram of arc lengths of path sections. [Figure 14] FIG. 1 is a schematic diagram of a sequence of poses. [Figure 15] FIG. 15 is a schematic diagram of the path lengths corresponding to the sequence of poses shown in FIG. 14. [Figure 16] FIG. 2 is a schematic diagram of a first exemplary velocity profile. [Figure 17] FIG. 10 is a schematic diagram of a second exemplary velocity profile. [Figure 18] 1 is a schematic diagram of the displacement of two objects by changing their pose. DETAILED DESCRIPTION OF THE INVENTION

[0024] The present invention relates to a method for determining a trajectory of a kinematic (e.g. of a robot) as well as a control device for determining a trajectory adapted to carry out such a method, including parallel kinematics with, for example, rotary adjusters, as well as serial, hybrid kinematics, in particular stacked kinematics.

[0025] Kinematic In robotics, a distinction is made fundamentally between the main classes of serial and parallel kinematics. Serial kinematics consists of a series of links (e.g., linear and / or rotary axes) to form an open kinematic chain, while parallel kinematics consists of several closed kinematic chains, as will be explained in more detail below. There are also so-called hybrid kinematics, which are a combination of the above-mentioned parallel and serial kinematics.

[0026] Series Kinematics Serial kinematics refers to the classical construction of an open kinematic chain, in which the individual axes of movement are arranged one after the other, thus in series. A kinematic chain is therefore a series of several bodies (links of the chain) connected to each other by joints. The individual links of the chain can be rigid or, for example, adjustable length elements. In some robots, they are also called arms / legs.

[0027] A joint connects two links and can have different degrees of freedom. The arrangement and type of joints and links affect the path curve that can be described by the individual links. Kinematic chains play an important role in planning and calculating the possible movements of industrial and other robots.

[0028] A classic example of serial kinematics is the SCARA robot (short for "Selective Compliance Assembly Robot Arm"), where a particular pose is typically realized with two different configuration vectors.

[0029] Figure 1 shows a schematic diagram of an example of a serial kinematic system with several links and joints. As shown, these links can move linearly in one or more directions, can perform rotational movement in one plane, have articulated structures, and / or have adjustable lengths.

[0030] Parallel Kinematics Parallel kinematics refers to kinematics consisting of several closed kinematic chains. In practice, parallel rod kinematics are often used for parallel moving axes that couple two planes to move relative to each other. Therefore, each drive is directly connected to the (end) effector (e.g., tool carrier). As a result, the drives are not loaded with the mass of all the following links and drives, as is the case with serial kinematics. When all drives move simultaneously, i.e., parallel to each other, the load is distributed more evenly across all guide elements. The resulting low moving mass allows for extreme dynamics at high speeds and accelerations while maintaining high mechanical precision. Another difference compared to serial mechanisms is that the drives, especially the motors and gear mechanisms, remain stationary in parallel kinematics. This not only optimizes the dynamics and performance of such robots, but also their energy balance. Therefore, parallel kinematics is often used when simple movement sequences with high repetitive precision and speed are required. Classic examples of parallel kinematics are hexapods and delta robots.

[0031] Figure 2 shows a schematic diagram of an example of a parallel kinematic with six-rod kinematics, thus variable-length legs, and 12 passive joints. The kinematic shown is therefore a Stewart platform, also referred to herein as a hexapod.

[0032] Pose space (pose, pose parameters) A pose is generally understood to be the position and orientation of an object. Therefore, a pose can be identified by an element of the special Euclidean group SE(3). A pose is specified by so-called pose parameters. The choice of parameterization is not unique. A pose can be specified, for example, by three Cartesian coordinates and three orientation angles in the so-called world or base coordinate system. An exemplary parameterization of a hexapod's pose can be, for example, by pose parameters (X, Y, Z, U, V, W). In this context, (X, Y, Z) indicate a position in the Cartesian axes / coordinates and may have units of, for example, "millimeters." (U, V, W) are angles, such as Cardan angles (360 / 360), a subtype of Euler angles, indicating orientation or rotation.

[0033] This ensures that the world coordinate system remains fixed in space and is independent of the robot's movements. Therefore, a pose is also said to be given in world coordinates. Therefore, the description of a pose is relative to space, i.e., the position and orientation are described in a "real" three-dimensional space, the so-called workspace. However, it is also possible to (uniquely) specify a pose using other coordinates or parameters. Therefore, in the following, the term "pose parameters" generally refers to the coordinates or parameters used to specify a pose. In this context, a pose corresponds to a specific value of each of the pose parameters. These values ​​can be combined to form a vector of pose parameters that uniquely characterizes the pose. Conversely, a pose is defined or specified by specifying a vector of pose parameters, and thus the values ​​of each of the pose parameters. In particular, pose parameters may be in "normalized" world coordinates (thus, for example, three spatial coordinates specify the position and three angles specify the orientation).

[0034] The term pose here refers, for example, to the pose of the end effector of the respective kinematic. In this context, the end effector refers, for example, to the last link in a kinematic chain. It is usually a component or assembly for performing the actual handling task. In other words, the effector causes the actual interaction of the robot (i.e., the kinematic) with its environment. In particular, the end effector can be a tool, a tool carrier, a gripper, or a platform (e.g., in the case of a hexapod) to be moved.

[0035] Pose space here refers to the space of theoretically possible poses, and therefore the set of possible positions of a rigid body in space. A pose therefore corresponds to an element of the pose space. Pose space can be identified with the special Euclidean group SE(3), which consists of all rotations and translations in Euclidean space. This means that each element from SE(3) corresponds (exactly) to a pose (and vice versa). More precisely, an element from SE(3) is identified by the pose that results when that element is applied to a given reference pose. There are many parameterizations of workspace or SE(3). One possible parameterization is the displacement + Cardan angle specification. Displacement can be specified, for example, by the distance to a reference point in Cartesian coordinates. The Cardan angle indicates orientation. Of course, actual Euler angles or other angles can be used instead of Cardan angles.

[0036] Furthermore, it should be noted that a robot generally cannot actually realize any pose in the pose space, for example, of the end effector. On the one hand, the poses that can actually be assumed are limited by the kinematic geometry, in particular the lengths of the links. Furthermore, a robot does not need to have six degrees of freedom for its joints. In this case, the space of poses that can actually be assumed is generally not six-dimensional, and poses can be specified by fewer than six parameters. For example, it is conceivable to limit the degrees of freedom of movement of a robot (e.g., the position of an effector) to one plane.

[0037] Configuration Space (Joint Coordinates) Configuration space describes the space of possible configurations of individual machine components (joints, arms, etc.). It therefore has the dimension of kinematic independent degrees of freedom. These degrees of freedom can be joint angles and / or, for example, lengths for length-adjustable elements (arms / legs). Individual joint coordinates (angle, length) can be combined to form a configuration vector, and thus a vector in the configuration space. This corresponds to the representation of the configuration space as a Cartesian product of the individual value ranges (angle range and / or length range) corresponding to the joint coordinates.

[0038] For example, for the Stewart platform (also known as a hexapod), the configuration space is given by six variable leg lengths, and the configuration vector specifies the corresponding length for each of the six legs. Thus, the configuration space K of the hexapod is Hex can be understood as the Cartesian product of the individual intervals corresponding to the possible lengths of the legs.

[0039]

number

[0040] In the formula, L min (i) and L max (i) denotes the possible minimum or maximum (allowable or used) length of the ith leg.

[0041] Direct Kinematic As shown in Figure 3, direct kinematics, forward kinematics, or forward transformation, addresses the problem of how the pose (position and orientation) of an end effector can be determined from given joint angles and / or given lengths of adjustable-length links of a robot. It is the logical counterpart to indirect kinematics. Thus, direct kinematics allows the pose to be calculated from given leg lengths and / or leg angles, i.e., from a given configuration vector, and corresponds to a mapping from configuration space to workspace or pose space.

[0042] Indirect Kinematics Indirect kinematics, inverse kinematics ,Ma Indirect kinematics is a method for estimating the joint angles and / or lengths of a link from a given pose. Indirect kinematics does not have to be unique. In other words, a given pose can be realized by different configuration vectors. This is often the case for SCARA robots, for example.

[0043] The calculation of indirect kinematics is typically required when a specific pose (target pose) is to be assumed, and therefore a joint configuration corresponding to the target pose is required. The determined configuration vector can then be used to control the kinematics, for example, to assume the target pose. This control may involve the calculation of a path in the configuration space based on the current configuration vector and a configuration vector corresponding to the target pose as the start or end point of the path. Thus, the kinematics can be made to follow a trajectory whose end point corresponds to the target pose.

[0044] Track and Route A sequence of poses is called a path. A sequence can be, for example, an uninterrupted sequence of poses taken by a kinematic.

[0045] This is distinct from the term trajectory, where the path velocity is also defined. More precisely, the time course of poses taken by a robot while moving is called a trajectory. In other words, a trajectory is a mapping from a time interval to a pose space. The image of this mapping forms the pose set of a path. Note that there can be many different trajectories for a path, i.e., different trajectories can have the same path.

[0046] A common task in robotics is the determination of a trajectory based on a given path (and specification of which end of the path corresponds to the start pose and / or which end corresponds to the end pose). In this context, the trajectory should be determined such that when traveling through the trajectory, the kinematics traverse the path's poses in the sequence specified by the path. Thus, the determined trajectory corresponds to the progression of the kinematic position and orientation over time according to the path.

[0047] Therefore, when determining the trajectory, the speed at which the robot follows the path at each pose of the path is determined based on the pose space metrics and the resulting path length. A specific speed preset, which refers to the speed of the robot within the workspace, should usually be maintained.

[0048] Metric Format A metric form is a metric on the pose space that can be expressed as a function of a bounded set of points in the workspace and the metric of the workspace. A point set is well-formed if and only if the pose transformation of the identity map of this set maps all point coordinates in the set to itself. For example, a set consisting of only one point cannot map a rotation around this point to a pose change.

[0049] Metric Establishment Set As will be described in more detail below, in accordance with the present invention, a metric establishment set of workspace points is used to define a pose metric based on a set metric. The metric establishment set may or may not be a point set of a finite number of points in the workspace. The metric establishment set is a well-formed point set.

[0050] In this way, velocity presets can be effectively and flexibly defined and / or taken into account when determining trajectories, especially when calculating trajectories. Because pose metrics define the distance between two poses, it is also possible to calculate path lengths and velocities in pose space, for example, by dividing a path section of a defined length by the corresponding time it takes. Because rotations cause point velocities in the workspace to be position-dependent and also depend on the position of the pivot point or current rotation axis, the metric establishment set clarifies (or defines) at which point in the workspace the set system velocity corresponds to the locally dominant point velocity. Points with a large distance to the pivot point have the highest velocity. Using the metric establishment set, it is possible to define which Cartesian and angular velocities should exist at the moving fiber end during fiber alignment. Comprehensive control of the scanning speed can, for example, improve scanning results. In particular, speed limitations in the immediate vicinity of the fiber alignment can make the scanning speed easier to control and improve results.

[0051] For example, by using a set of established metrics, it is possible to ensure that all points within a small, freely selected volume move at least approximately at the same specified system velocity. For larger volumes, the velocity definition can be based on the fastest point within the volume. The position of the pivot point associated with all types of rotational motions, particularly the rotation axis of rotational motions, as well as Cartesian motions, can be controlled. This flexibility particularly improves the accuracy of the scanning process, since angular velocity can be locally coupled to Cartesian velocity using freely selectable coefficients.

[0052] It also reduces the risk of collisions. Once the collision detection algorithm determines the area of ​​imminent approach, safe speed presets can be set locally. The freely configurable and variable speed of the objects moved in and / or with the volume provides a technological upgrade for hexapods in micro-assemblies, such as surgical robots, machine tools, etc.

[0053] The metric establishment set can be defined in the workspace, for example, via the host software, or can be freely selected in the workspace via a controller command. This set can be obtained, for example, by combining individual points, spheres, etc. In particular, individual points of sensitive devices can be added to the metric establishment set as velocity points to be controlled.

[0054] This allows us to parameterize the pose metric and thus define a velocity associated with this set (here called aggregate velocity or pause velocity). The pause velocity is associated with a metric establishment set, and since there is a close relationship between the pause velocity and the velocity of the points of this set, for greater clarity the term aggregate velocity is introduced, which is identical to the pause velocity. The pause velocity can be a velocity averaged over a portion of a path or over a time interval.

[0055] This allows for uniform velocity presets for Cartesian, rotational, and mixed motion. One advantage of this collective velocity is that an appropriate metric can be defined using a bounding volume around the object being moved, thus ensuring that the fastest point "on or in the object" moves at most the system velocity (i.e., the specified maximum speed).

[0056] The system velocity is the maximum speed specified for the entire trajectory and should not be exceeded. Thus, the system velocity is the maximum speed the robot should move at when following the trajectory, which is not necessarily the maximum speed that can actually be reached or achieved (although it can be). In particular, the system velocity can be the target speed of the trajectory and therefore the speed that the robot should have when moving along the trajectory. It can therefore be the target speed of the system (and therefore the robot) to be achieved when following the trajectory. The system velocity is a parameter for designing a time-optimized trajectory while adhering to any other boundary conditions (e.g., limited acceleration). Especially for short paths, it is often not possible to achieve the target system velocity due to limited maximum acceleration.

[0057] This allows speed to be specified safely, quickly and easily, and furthermore, the speed can be tailored specifically to the object being moved.

[0058] The points in the metric establishment set can be relative points and / or absolute points. In other words, the points in the metric establishment set can include relative points and / or absolute points. As explained below, the terms relative points and / or absolute points refer to the transformation behavior of the points when the kinematic position and / or orientation changes. Therefore, the displacement distance of relative points is processed with a different algorithm compared to absolute points.

[0059] Relative points Relative points indicate positions in the workspace relative to the position and orientation of the kinematic. They move with the kinematic so that their relative positions do not change relative to the position and orientation of the kinematic as it follows the trajectory. In other words, relative points remain stationary in a coordinate system that corresponds to the time course of the kinematic's position and orientation as it follows the trajectory. Thus, since one aspect of any pose is a translation or coordinate transformation, relative points are points that undergo a pose transformation when moved along.

[0060] The relative points can be, for example, points in the workspace of the kinematic that move with the kinematic as it follows the trajectory and correspond to the shape of the object (e.g., a tool) being moved along. They can surround the object or define the object's envelope. The term "object being moved along" can refer to a moving platform or end effector that is also being moved along. However, it can also be another object, such as a tool or other object. The relative points can also be located inside or near the object, for example, if it is the estimated shape of the object. If the convex envelope of the object points embeds, i.e., contains, the object, a true estimate of the maximum velocity of all points of the object is possible.

[0061] In this regard, it should be noted that the terms kinematic position and orientation in this application refer to, for example, the position and orientation (i.e., pose) of a kinematic end effector.

[0062]

number

[0063] Relative points can be used to specify the speed of individual moving objects. Therefore, the speed of objects being moved along can be particularly affected. This makes it possible to command speeds that far exceed the normal system speed. This applies, for example, to bodies that are attached to a moving platform via a boom and therefore pivot over a wide range during angular rotation. Consider, for example, the movement of an engine hood as it is carried during the assembly of a car. In that case, the hood is usually much larger than the robot / hexapod itself.

[0064] Absolute point Absolute points represent respective positions in the workspace. Thus, they correspond to stationary regions in the workspace, e.g., the convex envelope given by the absolute points. Of course, absolute points can also be expressed relative to a kinematic pose, but their position in world coordinates does not change when the kinematic position and / or orientation changes. In other words, the world coordinates of an absolute point remain constant when the kinematic position and / or orientation changes, but its position relative to the kinematic position changes.

[0065] Thus, the absolute point does not move with the kinematics when following a trajectory. The absolute point can be used to limit the speed where there is a risk of collision, i.e. to define protection zones (where, for example, people can be present).

[0066] The possibility of velocity presetting within an arbitrary spatial volume improves the results of scanning algorithms, e.g., in fiber alignment. The control of Cartesian spatial velocity also improves local velocity limitations, e.g., in protecting sensitive equipment.

[0067] Pose Metrics A pose metric assigns a non-negative real function value to each pose pair. The term here includes functions that meet the mathematical criteria of a metric. However, other suitable functions can also be used, such as heuristic functions that are pseudometric or not defined over the entire pose space. The metric can be arbitrarily changed during operation of the kinematic system or adapted to the respective application. This is especially true for metric established sets of points and / or

[0068]

number

[0069] This can be done by changing / adjusting (adding and / or removing points) the underlying norm of

[0070] The distance between two poses defined by a pose metric is also called the pose distance or set distance. A pose velocity can then be defined based on this metric. This pose velocity is thus related to a set of points consisting of moved and / or unmoved points in the workspace. The velocity of the fastest point in this set corresponds, by definition, to the current pose velocity of the preferred metric. Set velocity is, for example, the set distance divided by time, and the pose distance is equal to the set distance caused by the pose transformation. Thus, the velocity of a pose in the pose space is:

[0071]

number

[0072] The pose velocity includes Cartesian motion as well as the angular velocity of the pose. Similarly, pose acceleration, pose jerk, pose jerk, etc. can be defined.

[0073] The pose distance concept, and in particular the definition of the metric, allows for the specification of a single maximum velocity, also referred to here as the system velocity. Therefore, it is not necessary to specify both the translational and angular velocities. The angular and translational velocities are linked to each other. The system velocity is an aggregate velocity, which refers to the velocity occurring at that point in the preferred metric. Therefore, the system velocity is based on the aggregate distance. The resulting aggregate distance can be influenced by the selection of an appropriate metric establishment set. The metric establishment set can always be conveniently adapted depending on the situation.

[0074] To define the distance and / or pose metric between two poses p1 and p2, in general (but not necessarily in general) any suitable function can be used that depends on the displacement of the points of the metric establishment set in the world coordinate system (for relative points) and / or on the (virtual) displacement in the coordinate system moved along (for absolute points). In particular,

[0075]

Number

[0076] Based on any norm defined by

[0076] , a function that depends on the magnitude of these displacements can be used as a pose metric. Therefore, the pose metric is determined by the set metric defined above, which depends on the metric establishment set. These can be points corresponding to one or more moving rigid bodies and / or one or more stationary spatial regions.

[0077] For example, a path from the starting pose P(0) of the movement to the target pose P(n) is given, which may be further divided into additional sections. The complete sequence of poses on the path is P(0), P(1), P(2)... P(n), n > 0. It should be noted that the goal is usually to keep the length of each individual pose distance very short in order to provide a movement interpolation with many support points during the execution of the movement. It often makes sense to subdivide a point-to-point path into hundreds of intermediate positions.

[0078] Here, let a be a point in the working space given in world coordinates. The displacement distance between the points between pose P(s) and P(s + 1), s < n, is sought.

[0079]

Number

[0080]

Number

[0081] Figure 4 shows the metric establishment set, the metric form, and R 3Here is the general case of how a pause metric can be obtained from any of the metrics above: Thus, the metric form forms a pause metric from two arguments:

[0082] Figure 5 shows the R 3 1 shows a preferred case where the Euclidean DISP metric is formed from the Euclidean metric and the DISP metric.

[0083] If the metric establishment set contains only relative points, the maximum displacement in terms of magnitude of the displacements that a point in the metric establishment set undergoes when moving from one of the two poses to the other is assigned as the distance to poses p1 and p2. If the metric establishment set contains only relative points, the maximum displacement in terms of magnitude of the displacements that a point in the metric establishment set undergoes when moving from one of the two poses to the other is assigned as the distance to poses 1 and 2. The distance between two poses is the maximum distance that a point in the metric establishment set displaces when moving from one of the two poses to the other of the two poses. Thus, the pose distance is given by the translation distance of the point in the metric establishment set that undergoes the maximum displacement in terms of magnitude as a result of the translation.

[0084] As far as absolute points are concerned, the DISP metric assigns to two poses p1 and p2 the maximum displacement relative to the magnitude of the displacement undergone by the absolute point in the coordinate system moving with the pose from p1 to p2. Thus, the pose velocity of a spatial volume given by an absolute point indicates the velocity of an object as it approaches this spatial element.

[0085] If the metric establishment set includes relative and absolute points, the distance between two poses corresponds, in terms of magnitude, to the maximum displacement of the relative point in the world coordinate system and the absolute point in the coordinate system along which it is moved (e.g., the TOOL coordinate system). And the pose velocity corresponds to the maximum velocity (in terms of magnitude), whereby (i) the relative point moves (e.g., in the world coordinate system) as it follows the trajectory, (ii) The absolute points are each swept through space moving with the kinematics (eg, the TOOL coordinate system) and / or the absolute points move in the TOOL coordinate system as the trajectory is followed.

[0086] Thus, the pause speed of a moving object can, for example, protect a moving, sensitive object from damage by keeping its speed low, while the pause speed of a spatial element can protect a stationary object in the workspace from the movement of a robot located in this spatial element.

[0087] Thus, the special case of the DISP metric using the Euclidean norm is called the Euclidean DISP metric.

[0088]

number

[0089] 1. Positive definiteness: d(x,y)=0⇔x=y 2. Symmetry: d(x,y)=d(y,x) 3. Trigonometric inequality: d(x,z)<=d(x,y)+d(y,z) Since our metric establishment set is the quantity of eligible points, the DISP metric satisfies (1).

[0090] The DISP metric satisfies (2) by definition. Since the triangle inequality also applies to Euclidean metrics, property (3) transfers directly from the Euclidean metrics of individual points to the metric probability set. A,2 The same is true for .

[0091] The different handling of relative and absolute points will now be explained with reference to Figures 7-9. Figure 7 shows a serial robot with two degrees of freedom, with a top view on the left and a side view on the right. In this robot, rotary actuators 102 and 104 are mounted on linear actuators 101 and 103. The linear actuators allow movement in the X direction, and rotary actuator 102 allows superimposed movement in the W direction.

[0092] Figure 8 illustrates the movement of an object (i.e., simplified here by relative points) along a trajectory, thus illustrating the handling of relative points. Object 201 moves through the workspace as the robot follows a trajectory. Here, the robot is moved through pose sequences 202, 203, 204, and 205. Object 201, attached to a rotary actuator, follows the robot's movements. Its position is shown to the right of the robot. The object undergoes displacements in sequences 206, 207, and 208. The corresponding arrows indicate the direction of the displacement, and their lengths are determined by the metric used. If each of the movements in the sequence from 202 to 205 is performed with the same pose velocity, then a time proportional to the length of the arrow is allocated to each movement. Specifying a uniform pose velocity for an object means that the moving object always has the same velocity along the path between two poses. Therefore, the pose velocity of the object is specified here.

[0093] Figure 9 illustrates the virtual movement of a spatial volume 301 in the workspace. The movement is referred to here as virtual because the pose of this spatial volume remains unaffected by the robot's movement. The robot is again moved in a pose sequence 202, 203, 204, and 205. If the pose of volume element 301 (represented here by an absolute point) is described relative to the robot's pose, a variable, dependent pose can be assigned to the volume element. For example, changing from pose 302 to pose 303 results in a displacement, as indicated by arrow 306, because the displacement of the point is virtual, as opposed to the robot's displacement. The arrow direction in Figure 9 is the same as that in Figure 8. If the movement of space around the point is considered, the direction must be reversed, as this is an apparent movement of space around the volume element of interest. As shown in the figure, in 302-305, the spatial elements remain in place but undergo virtual displacements 306, 307, and 308, respectively. Based on these displacements, virtual velocities can also be attributed to the spatial elements. Thus, the path lengths in Figure 9 are not obtained by applying a sequence of original poses to the point set, but instead by using a sequence of respective inverse pose changes, with each new pose change starting at the original starting pose.

[0094] Figures 8 and 9 show that distances can be obtained in two different ways based on the same distance function. Consider one case of an object moving relative to the workspace (Figure 8) and the other case of a stationary object whose environment appears to be moving (Figure 9). We then show how the same distance function for the same set of points and the same sequence of commanded poses can result in different path lengths depending on whether the object is moving or stationary. Different path lengths also result in different trajectories or different velocity profiles. In this example, the length of arrow 208 in Figure 8 is different from the length of arrow 308, and the length of the arrow represents the length of the path section. This clearly demonstrates that a trajectory determination algorithm must distinguish between the pose velocity of the object and the virtual pose velocity of the spatial volume.

[0095] Any set of points whose convex envelope forms a non-empty volume can be added to or constitute a metric establishment set for velocity definition. Conversely, a corresponding convex envelope can be formed for a finite set of points in the space spanning the volume. The convex envelope of eligible points set in the visualization space can have the shape of, for example, a polyhedron. If the Euclidean DISP metric is used, no point within the formed polyhedron can exceed the maximum point velocity at its corner when generating a trajectory according to the present invention. Thus, sensitive areas can be protected flexibly and with little computational effort. The metric establishment set can also be, for example, a sphere within the workspace containing the sensitive device. In this case, the sphere is encompassed by a finite set of points. Points are added to the metric establishment set, or the metric establishment set includes points of a spherical volume and / or a spherical surface. In this case, the diameter of the sphere and the origin of the sphere can be specified. As mentioned above, points within the sphere cannot exceed the aggregate velocity of the spherical surface. For ease of calculation, the predetermined rotation axis can be located at the pivot point or TCP (Tool Center Point) instead of the Cardan angle when defining the path. As will be shown below, this allows for faster calculation of the aggregate distance. Note that the sphere can also be approximated with arbitrary accuracy by a polyhedron, for example a regular icosahedron.

[0096] Simplified calculation of collective velocity As explained below, it is often possible to determine the collective velocity of an infinite set of points, such as a spatial volume, by determining the collective velocity of a subset of a few points, or by only estimating it if necessary. This can greatly simplify the computation of collective velocity.

[0097] For example, the maximum displacement can generally be estimated based on the displacement of one or more metric establishment points located on the surface of the spatial volume whose movement is considered. In other words, the maximum displacement can be estimated based on the displacement of a finite subset of the metric establishment points, in particular. This can be done, for example, based on one, several, or multiple points located on the surface of the spatial volume corresponding to the metric establishment points. Thus, in some embodiments, only one or several of the boundary points are considered to determine the collective velocity.

[0098] 1) Speed ​​limit at interior points We now show that the maximum velocity of a point of a convex polyhedron is realized by at least one point on the surface of the polyhedron. In particular, we show that each point of the polyhedron has a velocity less than or equal to the velocity of at least one of its vertices (which may of course be different vertices at different times). This velocity constraint gives special significance to the Euclidean DISP metric, since it can achieve the velocity constraint of the convex envelope of a metric established set consisting of a finite set.

[0099] Velocity is understood here as the magnitude of the velocity vector. If the polyhedron moves only translationally, there is nothing to show, since all points have the same velocity.

[0100] Therefore, in what follows we will only consider displacements that also include rotations, taking advantage of the fact that, according to Schall's theorem, every general displacement of any object in space can be represented by a spiral, including the case of pure rotation.

[0101] Schar's theorem states that every displacement of a rigid body is a spiral motion, i.e., there is always an axis Q, and therefore a rotation by an angle w with a simultaneous translation h along axis Q produces a given displacement, as shown in Figure 10. h and / or w can take the value 0.

[0102] As can be seen from Figure 10, the instantaneous velocity of a polyhedron point depends only on its distance from the spiral axis. More precisely, the velocity of a point increases with its distance from the spiral axis. Of course, this can also be shown mathematically. Therefore, determining the position of maximum velocity becomes a purely geometrical task.

[0103] To demonstrate this claim, the positions of polyhedron points are divided into the following equivalence classes: Note that in some classes, there are points with even greater distances to each point, so it is important to prove that for all representatives, no point has a distance from the axis of rotation that achieves an upper bound on the distance from the axis of rotation. The existence of a maximum velocity in a polyhedron follows from its compactness and the continuity of the velocity distribution in the polyhedron.

[0104] 1. Inside the polyhedron Inside a polyhedron, in an open set, by definition, one can find epsilon neighborhoods around each of its points, and each epsilon neighborhood provides "room to move" towards larger distances, so the upper bound on the distance cannot be achieved at any point.

[0105] 2. Inside the end face Consider any point inside an edge (a side of a polyhedron), and any two distinct lines passing through the plane of the edge can pass through this point.

[0106] Case 1: One of the lines intersects the spiral axis. In that case, considering the angular epsilon neighborhood around this point, we conclude that there exists a point whose distance to the spiral axis is even greater. Therefore, the upper bound is not realized at the selected point of the set.

[0107] Case 2: There is no line that intersects the spiral axis. In this case, at least one of the two lines can run parallel to the spiral axis, so at least one of the two lines forms an angle with the spiral axis. In that case, it gives a line that passes through this point and is at a twist position with the spiral axis. If the two lines are at a twist position, they do not have a maximum value for their distance. Therefore, the upper bound is not realized at the selected point of the set.

[0108] 3. Inside the edge Case 1: A line on the edge intersects the spiral axis: Again, considering the epsilon neighborhood around any point, we conclude that there are other points at even greater distances from the spiral axis. Hence, the upper bound is not realized at any interior point of the edge.

[0109] Case 2: The rotation axis and the line of the side form an angle with each other. The case of a line in a twisted position has already been explained above.

[0110] Case 3: If the edge is parallel to the axis, then the two boundary corner and interior edge elements either both belong to the maximum distance point set or neither belong to it. If the maximum distance is found inside the edge, then we can also find the maximum at the two corner points of the edge.

[0111] The overall result is that the upper bound on the distance must be achieved at the corner points, in which case it is a maximum value.

[0112] Similarly, it can be shown that no point can be found inside the sphere where the velocity is greater than on the surface of the sphere.

[0113] 2) Rotating sphere A sphere rotating steadily around a line has a constant collective velocity, especially if the line passes through its center. A translational motion can be superimposed on the rotation of the sphere. The velocities of all points on the surface of the sphere but not on the axis of rotation are generally constantly changing and periodically repeating. The point of maximum velocity is also constantly changing. Nevertheless, the collective velocity remains constant. The input values ​​for calculating the collective velocity are the direction vector of the translation, the translational velocity, the radius of the sphere, and the angular velocity. The result is the direction vector of the maximum velocity and its magnitude.

[0114] If a path from pose A to pose B, which involves both rotation and translation, is represented by a rotation around a line with a superimposed translation, trajectory determination is simplified because the set distance is proportional to the rotation angle or translation distance on the path. Each rotation in space around a point can be realized as a rotation around an axis of rotation that passes through this point, according to Euler's theorem.

[0115] In accordance with the present invention, a pose trajectory is determined based on pose metrics, and the pose path is predetermined. An exemplary method for determining the trajectory is shown in Figure 11. The trajectory is to be followed by the kinematics for a particular application.

[0116] The term application can refer to a particular task or activity, i.e., for example, which tools and / or objects a robot will move along as it moves. However, the term application can also (alternatively or additionally) refer to a particular situation, and thus the circumstances, conditions, environment, and / or framework conditions, in which such a task is performed. This includes, for example, whether people may be present and therefore whether enhanced safety conditions must be observed, and if so, whether they are.

[0117] The method includes a step S1120 in which points of a metric establishment set are determined based on the application. As explained above, these are points in the kinematic workspace on which the pose space metrics used to determine the trajectory are based. The method includes a step S1100 in which the maximum velocity (and therefore the system velocity) is obtained. The method includes a step S1100 in which a path of the trajectory in the pose space is obtained. The obtaining of the system velocity and the path may be performed in the same step or in separate steps. The path may be obtained by calculation based on the target pose and the end pose. The system velocity may be input by the user, for example. Steps S1100 and S1120 may be performed in any order.

[0118] The method further includes a step S1140 of determining a trajectory based on the given path such that when the kinematic follows the trajectory, the metric-based pause velocity is less than or equal to the system velocity.

[0119] According to the presented method, according to another embodiment, a controller 1200 for controlling a kinematic is provided. Such controller 1200 is shown in FIG. 12 and is adapted to obtain (i) a system velocity, (ii) a path of a trajectory in a pose space, and (iii) a set of points in the workspace of the kinematic on which a pose-space metric used to determine the trajectory is based. The controller 1200 is further adapted to determine a trajectory based on the path such that, as the kinematic follows the trajectory, the pose velocity based on the metric is less than or equal to the system velocity.

[0120] The controller 1200 can be implemented in any hardware. For example, it may be executed as software on a programmable processor 1210. Alternatively, a dedicated hardware unit may represent the controller 1200. There may be a mix of specialized and programmable hardware. In a preferred embodiment, the controller 1200 is distributed, and its functions may be performed on multiple processors 1210, 1220 or hardware units. In particular, the functions of controlling serial or parallel kinematics may be performed by a local control system, while calculations of spatial interpolation and / or division into spatial units may be performed by an external device such as a computer. Other configurations are possible.

[0121] Orbit determination - Step S1140 In the trajectory determination step S1140, a trajectory is determined based on a given path and a given system speed. The path specification may also include the specification of a start point and / or an end point. More specifically, the trajectory is determined so that the pose speed (when following the trajectory) is equal to or less than the system speed. In particular, the trajectory can be determined so that the pose speed is always as high as possible but equal to or less than the system speed. Therefore, the system speed can be used as a target speed when determining the trajectory. If pose acceleration, pose jerk, etc. are also specified, these are also taken into consideration. As already mentioned, a trajectory is a mapping from a time interval to a set of poses of a path, and the path is followed from one end to the other. The path defines the sequence of poses that the kinematics must take. The trajectory also determines the speed at which the given sequence is followed. Thus, the trajectory corresponds to the time course of the position and orientation of the kinematics according to the path.

[0122] In trajectory determination, a trajectory can be obtained from a given path of pose by assigning a path length to the path based on the pose metric and defining a function of path length versus elapsed time. The function can be determined according to kinematic pose metric parameters (e.g., pose velocity, pose acceleration, etc.). For example, a path can be parameterized according to the path length s given by the pose metric. max represents the specified maximum speed and hence the system speed, and the path length s(t)=t·v max When is used, the path is followed at the specified maximum speed. In practice, however, there are limits on acceleration, e.g., more complex velocity profiles of forces.

[0123] For example, a path can first be divided into several path sections. The division can be obtained by a linear combination of a parameter vector a for the starting position and a parameter vector b for the destination position. Intermediate positions are obtained using a parameter vector c = s * a + (1 - s) b, where s is taken from 0,1. Then, the following steps can be performed for one, some, or all of the path sections, especially when using the DISP metric:

[0124] (i) Estimate the pose distance using the point displacement distance of the metric establishment set. In particular, if the Euclidean DISP metric is used, this step can estimate the maximum displacement that a point experiences when traversing a path segment. In other words, the pose distance (based on the pose metric) between two poses corresponding to the two ends of the path segment is calculated here.

[0125] (ii) Estimate the duration of the path section when following the trajectory based on the system speed and the estimated maximum displacement. In this step, the duration can be estimated, for example, by dividing the estimated maximum displacement by the system speed.

[0126] In that case, the trajectory is determined such that the path section is traversed at least within the estimated time, which means that the speed on the path section is less than or equal to the system speed.

[0127] Acceleration, jerk, etc. As already mentioned, pose metrics can be used to define pose accelerations, pose jerks, etc., as well as pose velocity definitions based on the pose metrics. The methods for trajectory determination described for velocity in accordance with the present invention can also be applied or extended to pose accelerations, pose jerks, and other generalized kinematic variables. In particular, a trajectory can generally be determined starting from a path such that, as the kinematics follow the trajectory, (i) the metric-based pose acceleration is less than or equal to a predetermined maximum acceleration, and / or (ii) the metric-based pose jerks is less than or equal to a predetermined maximum jerk.

[0128] Special Coordinate Systems Velocity presets using metric establishment sets can also be used in conjunction with special coordinate systems, such as a work coordinate system or a tool coordinate system. In particular, the metric establishment sets can be determined based on the positions of the tool and / or work coordinate systems. Thus, the metric establishment sets are adapted to the positions of the work coordinate system and / or the tool coordinate system by adding and / or removing points. The adjustments can optionally be linked to the positions of these coordinate systems via an automatic mechanism, so that they are automatically adjusted, for example, in a control system, when the configuration of the coordinate systems changes.

[0129] For example, if an engine block is machined with a milling cutter, the work coordinate system is attached to the engine block and the tool coordinate system is attached to the milling cutter. The tool, the milling cutter, moves and operates while the position and orientation of the workpiece remain fixed. The tool coordinate system initially references the kinematic initialization pose and moves with it.

[0130] When setting these coordinate systems, you can automatically set points that wrap around the origin of the tool coordinate system, or you can set points that wrap around the area around the origin of the work coordinate system. The points around the tool coordinate system define the cutter's speed and should be added as relative points to the metric establishment set. The points around the work origin area can ensure that anything near the convex envelope of these points (such as the cutter) does not exceed a moderate speed. These points (work coordinate system) must of course not move and therefore must be added to the metric establishment set of absolute points.

[0131] In a preferred embodiment, a sphere, approximated as, for example, a regular icosahedron, is placed around the origin of the tool coordinate system as a metric probability set. As a result, the relationship between Cartesian and rotational motions does not change as the tool position changes, and the trajectory of rotational motion does not change as the tool position changes. Again, angular velocity can be coupled to system velocity via the size of the sphere.

[0132] Pivot Point The velocity preset using the metric establishment set can also be used in conjunction with the pivot point. In particular, the metric establishment set can be determined based on the position of the pivot point.

[0133] For example, especially for angular scanning with fiber alignment, a metric set can be configured in the form of a spherical shell around a pivot point. This means that relative points are used at the moving fiber end. This allows the angular velocity to be scaled relative to the Cartesian velocity, with the effect of the radius of the spherical shell on the trajectory. Once configured, the position of the scan can be protected from excessive point velocities. In particular, the radius of the sphere on which the points are evenly spaced determines the relationship between Cartesian velocity and rotational velocity when rotating around the center of the sphere (e.g., the cutter tip), which is also relevant when moving the tool.

[0134] By proper layout of the path from the starting pose A to the ending pose B, the pose parameters can be referenced to the pivot point, for example, to achieve simplification and acceleration in trajectory calculations. Euler's theorem is used here, according to which R 3 All rotations in can be realized by rotations around a rotation axis passing through this point. It is desirable to use quaternion calculus to handle transformations in the rotation and rotation parameterization. The rotation axis and rotation angle result from the transformation of the change in orientation, for example, from Pose A to Pose B in the quaternion representation. As the sphere moves from Pose A to Pose B, if the Cartesian and rotational velocities are constant and the rotation is performed around a rotation axis passing through the center of the sphere, the velocity of the fastest point on the surface of the sphere will remain constant, as shown above. For a freely moving, "spatially unconstrained" sphere that translates and rotates around an axis passing through its center, we can find a constant maximum velocity occurring at at least one (changing) point on the surface of the sphere, which is an appropriate analogy and corresponds to the path of movement.

[0135] If the angular parameters of the path are selected to be rotation angles around the rotation axis and fixed axis, and thus quaternion representation, then no unnecessary gyroscopic forces are generated when tracing the path, as is the case with gimbal rotation, which may be relevant for Shakar hexapods and generally reduces the excitation of natural vibrations of the hexapod, for example. If the pose parameters are linearly interpolated over the path and the path sections are the same length, the transformation matrix also remains constant for each pose section. In that case, the rotation matrix does not need to be constantly recalculated. This computational savings may be relevant when using cost-effective control systems for hexapods (flight simulators).

[0136] Arc length of the path of a moving rigid body The calculation of the arc length of the path curve (also called the path) of a moving mass point is shown in Figure 13 and is explained by analogy with the calculation of the arc length of the path (or more precisely, its pose) of a moving rigid body. The descriptive term "arc length of the path" here means the same thing as "path length" and is synonymous with path length in pose space.

[0137]

number

[0138] Therefore, a distance measure for poses that includes both twist and Cartesian displacement is required, as will now be described in more detail with reference to Figures 14-17. Figure 14 shows a series of poses of a two-dimensional object in two-dimensional space, with the Euclidean DISP distance between adjacent poses shown. Figure 15 shows the extraction of path length from the pose path of a moving object based on a metric using the pose path of Figure 14. Figures 16 and 17 show the extraction of path length from the pose path of a moving object based on a metric using the pose path of Figure 14, which can be assigned to a path as in Figure 14, and thus used to form a trajectory. Interpolate The velocity curves that can be used are shown.

[0139] Figure 14 illustrates a broken curve. The left side represents the initial portion of a triangular object's path, beginning at pose 401, while the right side shows the path's terminal section. The triangular object is moved from initial pose 401, and only its three corner points are used to determine the distance between successive poses. Along the path, the triangle is shown in various intermediate poses in a left-to-right sequence. The set of intermediate poses on the curve defines a path, the exact path of which must be determined by interpolation. In the sequence of poses, the displacement and rotation of the object between two poses, as well as irregularities, are particularly emphasized in Figure 14 for clarity. This is merely a demonstration of the principle. The metric shown here is the Euclidean DISP metric. The distance between two poses is the maximum of the displacement distances of the points, i.e., the triangle vertices, selected for this distance definition. The arrows between successive triangle vertices, such as 401 and 402, indicate the pair of points with the maximum distance. This distance is the basis for the distance function between the two poses.

[0140] In Figure 15, the distances shown in Figure 14 are represented by a bar graph. 501 refers to the left section of the path, and 502 refers to the right section of the path. The height of the bar corresponds to the distance between two poses, and the width of the bar is 1. The height of bar 503 corresponds to the distance between poses 401 and 402, and the final bar 504 corresponds to the distance between pose 404 and its predecessor. The sum of the areas of all the bars corresponds to the path length of the path resulting from the sequence of poses. Trajectories can be created by defining the duration of the movement between two consecutive poses.

[0141] In Figures 16 and 17, velocity profiles are plotted against time. The profiles show velocity profiles that can be obtained with various specifications by specifying the time to traverse the segments and using the path length appropriately. The velocity profile shown along with the path defines the trajectory. In the illustrations in Figures 16 and 17, it was assumed that the path was long enough to reach the target velocity. If the path were too short for this, the velocity curves in Figures 16 and 17 would be shown in a qualitatively different way.

[0142] Figure 16 shows the velocity profile in S-profile mode. The area under the profile corresponds to the path length, where the jerk can take on values ​​{-j, 0, j} and the amount of acceleration is restricted to the interval [-a, a]. 6 in 01 In the place The quantity of desired maximum velocity v shown corresponds to the system velocity selected in the robot controller.

[0143] Figure 17 shows a trapezoidal profile. The area under the profile again corresponds to the path length. This profile includes the path length and the acceleration, which can take on values ​​{-a, 0, a}. 、7 01 Indicated in The quantity of system velocity v is given, which may be the target velocity to be achieved. The quantity of maximum allowed velocity v corresponds to the system velocity selected in the robot controller.

[0144] In addition to the frequently used speed profiles of Figures 16 and 17, several other speed profiles are possible. The velocity profiles in Figures 16 and 17 is often used for movement between two poses, so-called point-to-point movement. If additional intermediate poses, known as VIA points, are reached or approached in the trajectory, the velocity profile is usually more complex. The instantaneous velocity presented here using the velocity profile is the pose velocity based on the pose's metric. As can be seen, this velocity is also the maximum velocity of all points on the triangular surface in Figure 14 based on the Euclidean DISP metric. Similarly, the acceleration and jerk in Figures 16 and 17 each convey kinematic information to the vertices of the triangle.

[0145] In the case of highly dynamic kinematics with frequent direction reversals (shaker hexapods), the trajectory determination can also be supplemented by vectorial consideration of the velocity and acceleration as well as other parameters. For example, in the areas of direction reversals or changes in the direction of the path that must be taken into account, the trajectory is given a lower velocity, which also results in a lower acceleration, etc.

[0146] Leg lift speed control and limitation The velocity presets related to the pose metrics are initially independent of the deflection speed of the Stewart platform's legs. Deflection speed refers to the speed of the legs when viewed alone as linear actuators. In principle, these deflection speeds must be limited. A simple possibility is ,leg The solution is to combine the upper six pivot points into a metric-established set and limit the pose velocity of this set to the maximum allowable leg deflection velocity. For geometric reasons, this limits the leg deflection velocity to this value, and the platform velocity is also limited to a sensible level.

[0147] Another possibility is to adopt a metrically established set of the top six pivot points as the basis for a configuration space (= joint space) metric and consider the distances in the configuration space. These distances, obtained with the Euclidean DISP metric (in this case in the configuration space), correspond to the maximum leg deflection velocity. In a heuristic way, it is possible to link the pose space metrics with the workspace metrics and generate trajectories from them. How metrics can be linked to each other is explained below under the heading "Simultaneous Consideration of Several Objects." Such special consideration of the configuration space is more relevant for serial robots, such as industrial robots, since leg velocity considerations are of secondary importance for hexapods.

[0148] Simultaneous consideration of several objects As will be explained below, the determination of velocity based on a single point set and the metric it provides can be generalized.

[0149] These generalizations can be quite useful. For example, if the handling technique is used in robotics, it is interesting to simultaneously maintain different maximum velocities (=pose velocities) for different objects, i.e., to specify different system velocities. This is because if several objects are attached to the end effector, or if several objects that are not moving in the reference frame are considered, several objects (spatial content) will always move simultaneously.

[0150] As a special case of objects, we may want to define a larger volume whose speed is initially limited across the board. This volume may be the immediate perimeter of a robot / hexapod mobile platform and is defined by a bounding rectangle. In principle, such bounding volumes should also be taken into account. The spatial contents for which different maximum speeds are monitored / defined may interpenetrate each other.

[0151] The procedure for the two-dimensional case using two-point quantities is illustrated in Figure 18. Two objects K1 and K2 are displaced as a result of the same pose transformation. Both objects are identified by their corner points as follows: the first object K1 is displaced from position 801 to position 802 by a position transformation, and the second object K2 is displaced from position 804 to position 805 by the same position transformation.

[0152] Each of the two objects defines its own metric, and thus two metrics are defined by the two objects in the pose space. The metrics are identified as M1 and M2. This means that a pair of poses (P a ,P b ) to non-negative real numbers. The type of both metrics is the same in this example, e.g., the Euclidean DISP metric. The pose distances are 803 and 80 6 and It is labeled.

[0153] Based on the maps M1 and M2, a third map can be defined as follows:

[0154]

number

[0155] This mapping is also a metric M3, and when applied to two objects, it can constrain the pose velocities of both objects equally. Alternatively or additionally, two or more metric establishment point sets of relative points can be combined into one metric establishment point set. Similarly, two or more metric establishment point sets of absolute points can be combined to form a metric establishment point set.

[0156] It is also possible to create new metrics using the following rules:

[0157]

number

[0158] Here, s is a positive real number and represents the maximum pose velocity. When this metric M4 is used, the pose velocity of object K2 is limited to a maximum pose velocity that differs by 1 / s compared to the maximum object velocity of K1. The example refers to two objects; however, this method is not limited to two objects.

[0159] In this way, new metrics can also be created from joint-space and pose-space metrics.

[0160] In summary, the present invention relates to determining a trajectory in a pose space of a kinematic according to a given path of the trajectory, where the trajectory is to be followed by the kinematic for a given application. A set of points in the workspace of the kinematic, on which a pose space metric used to determine the trajectory is based, is determined based on the application. Based on the path, a trajectory is determined such that as the kinematic follows the trajectory, the pose velocity based on the metric is less than or equal to a predetermined maximum velocity.

Claims

1. 1. A method for determining a trajectory in a pose space of a kinematic, the trajectory to be followed by the kinematic for a particular application, the method comprising: The maximum speed and the path of the trajectory in the pose space; (S1100), and Determining a set of points in the kinematic workspace based on the application (S1120); determining (S1140) the trajectory based on the path such that when the kinematic follows the trajectory, a pose velocity based on a metric is less than or equal to the maximum velocity, the metric being a metric of the pose space that defines a distance between poses based on the set of points; The method, wherein the trajectory corresponds to the kinematic position and orientation over time along the path.

2. The points indicate respective positions in the workspace relative to the position and orientation of the kinematic, and the points are: moving with the kinematic while following the trajectory so that the relative position of the kinematic with respect to the position and orientation does not change; and / or resting in a coordinate system corresponding to the time progression of the position and orientation of the kinematic as it follows the trajectory; The method of claim 1 , wherein the pause velocity corresponds to a maximum velocity at which the point moves when following the trajectory.

3. the points correspond to static regions within the workspace; The method of claim 1 , wherein the pause velocity corresponds to a maximum velocity at which the point is swept through space moving with the kinematics.

4. The points include relative points and absolute points; The relative points indicate respective positions in the workspace relative to the position and orientation of the kinematic, and the relative points are: move with the kinematic as it follows the trajectory so that its relative position with respect to the position and orientation of the kinematic remains unchanged; and / or resting in a coordinate system corresponding to the time progression of the position and orientation of the kinematic as it follows the trajectory; the absolute point corresponds to a stationary region within the workspace; The pause speed is the relative point moves as it follows the trajectory; The absolute points are each swept through space moving with the kinematics. The method of claim 1 , wherein the maximum of the speeds is accommodated.

5. determining the trajectory Dividing the path into path sections; estimating a maximum displacement experienced by said point when following one of said path sections; estimating a duration that the path section will be traversed when following the trajectory based on the maximum velocity and the estimated maximum displacement; and determining the trajectory such that the path section is traversed within at least the estimated duration.

6. The method of claim 5 , wherein the maximum displacement is estimated based on the displacement of one or more of the points located on the surface of a spatial volume corresponding to the point.

7. The trajectory is such that, when the kinematic follows the trajectory, the pose acceleration based on the metric is less than or equal to a predetermined maximum acceleration, and / or the metric-based pause jerk is less than or equal to a predetermined maximum jerk; The method of claim 1 , wherein the

8. The set of points is Tool and / or work coordinate systems, and / or The pivot point, The method of claim 1 , wherein the determination is based on location.

9. A control device for controlling a kinematic, the control device comprising: The maximum speed and the path of the trajectory in pose space; a set of points in the workspace of said kinematic; to get, and adapted to determine the trajectory based on the path such that when the kinematic follows the trajectory, a pose velocity based on a metric is less than or equal to the maximum velocity, the metric being a metric of the pose space defining a distance between poses based on the set of points; A control device, wherein the trajectory corresponds to the position and orientation of the kinematic device over time along the path.

Citation Information

Patent Citations

  • Track generating device for robot

    JP1998069310A

  • Position control device, position control method, and position control program

    JP2008097152A

  • Method for operating a robot manipulator with increased mass of a load

    WO2021028413A1