WO2023057324A1 - Geschwindigkeitsvorgaben zur trajektorienbestimmung von kinematiken - Google Patents

Geschwindigkeitsvorgaben zur trajektorienbestimmung von kinematiken Download PDF

Info

Publication number
WO2023057324A1
WO2023057324A1 PCT/EP2022/077249 EP2022077249W WO2023057324A1 WO 2023057324 A1 WO2023057324 A1 WO 2023057324A1 EP 2022077249 W EP2022077249 W EP 2022077249W WO 2023057324 A1 WO2023057324 A1 WO 2023057324A1
Authority
WO
WIPO (PCT)
Prior art keywords
pose
trajectory
kinematics
points
metric
Prior art date
Application number
PCT/EP2022/077249
Other languages
English (en)
French (fr)
Inventor
Erik Mankin
Original Assignee
Physik Instrumente (Pi) Gmbh & Co. Kg
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Physik Instrumente (Pi) Gmbh & Co. Kg filed Critical Physik Instrumente (Pi) Gmbh & Co. Kg
Publication of WO2023057324A1 publication Critical patent/WO2023057324A1/de

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • B25J9/1623Parallel manipulator, Stewart platform, links are attached to a common base and to a common platform, plate which is moved parallel to the base
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40267Parallel manipulator, end effector connected to at least two independent links

Definitions

  • the present invention relates to devices and methods for determining a trajectory in the pose space of a kinematic system, taking into account a predetermined maximum speed.
  • a common problem in controlling a robot is calculating a trajectory based on a given path in pose space. For safety reasons, for example, speed specifications must usually be observed. An important aspect here is that it is a trajectory in the pose space of the kinematics, but the speed of the robot should usually be limited in the "real" three-dimensional space. This complicates the handling of such speed specifications and can lead, among other things, to non-uniform movements of the robot.
  • the object of the present invention is therefore to improve the handling of speed specifications when determining trajectories and, in particular, to make it more flexible.
  • the invention is based on the idea of determining a speed of the kinematics based on points in the working space when determining a trajectory, which are adapted to the application to be carried out.
  • a method for determining a trajectory in a pose space of a kinematics is made available, wherein the trajectory is to be traversed by the kinematics for a specific application.
  • the method includes a step of (i) obtaining a maximum velocity and a path of the trajectory in the pose space; (ii) a step of determining, based on the application, a set of points in the kinematics workspace on which a pose space metric to be used to determine the trajectory is based; and (iii) a step of determining the trajectory based on the path such that when the kinematics traverse the trajectory, a pose velocity based on the metric is less than or equal to the maximum velocity.
  • the trajectory may correspond to a time history of a position and orientation of the kinematics in accordance with the path; the points indicate respective positions in the working space relative to the position and the orientation of the kinematics, and (i) move with the kinematics when running through the trajectory in such a way that the relative positions relative to the position and the orientation of the kinematics do not change; and/or (ii) resting in a coordinate system when running through the trajectory, which corresponds to the time course of the position and the orientation of the kinematics; and (iii) the pose velocity corresponds to a maximum velocity among velocities at which the points move in traversing the trajectory.
  • the points can, for example, correspond to a stationary area in the working space, and the pose speed can correspond to a maximum speed among speeds with which the points are respectively swept by a space moved with the kinematics.
  • the trajectory may correspond to a time history of a position and an orientation of the kinematics in accordance with the path
  • the points may include relative points and absolute points.
  • Relative points indicate the respective positions in the working space relative to the position and the orientation of the kinematics. For example (i) relative points move along with the kinematics when running through the trajectory in such a way that the relative positions with regard to the position and the orientation of the kinematics do not change; and/or (ii) relative points rest in a coordinate system when running through the trajectory, which corresponds to the time course of the position and the orientation of the kinematics.
  • the absolute points correspond to a stationary area in the workspace.
  • the pose speed corresponds to a maximum speed among speeds at which (i) the relative points move when running through the trajectory, and (ii) the absolute points are each swept over by a space that is moved along with the kinematics.
  • determining the trajectory may comprise (i) a step of dividing the path into path sections; (ii) a step of estimating a maximum shift among the shifts experienced by the points traversing one of the path sections; (iii) a step of estimating, based on the maximum speed and the estimated maximum displacement, a time duration in which the path section is to be traversed when running through the trajectory; and (iv) a step of determining the trajectory, so that the path section is traversed in at least the estimated time period.
  • the maximum displacement can be estimated based on displacements of one or more of the points located on the surface of a volume of space corresponding to the points.
  • the trajectory may be determined such that when the kinematics traverse the trajectory (i) a pose acceleration based on the metric is less than or equal to a predetermined maximum acceleration, and/or (ii) a pose acceleration based on the metric based pose jerk is less than or equal to a predetermined maximum jerk.
  • the set of points is determined based on (i) the location of a tool and/or work coordinate system; and/or (ii) the location of a pivot point.
  • a control device for controlling kinematics is provided.
  • the control device is configured to (i) a maximum velocity, (ii) a path of the trajectory in the pose space, and (iii) a set of points in the workspace of the kinematics on which a metric of the pose space to be used to determine the trajectory is based receive.
  • the controller is further configured to determine the trajectory based on the path such that when the kinematics traverse the trajectory, a pose speed based on the metric is less than or equal to the maximum speed.
  • the trajectory may correspond to a time course of a position and orientation of the kinematics in accordance with the path;
  • the points indicate respective positions in the working space relative to the position and the orientation of the kinematics, and (i) move with the kinematics when running through the trajectory in such a way that the relative positions relative to the position and the orientation of the kinematics do not change; and/or (ii) resting in a coordinate system when running through the trajectory, which corresponds to the time course of the position and the orientation of the kinematics; and (iii) the pose velocity corresponds to a maximum velocity among velocities at which the points move in traversing the trajectory.
  • the points can, for example, correspond to a stationary area in the working space, and the pose speed can correspond to a maximum speed among speeds with which the points are swept by a space that is moved along with the kinematics.
  • the trajectory may correspond to a time history of a position and an orientation of the kinematics in accordance with the path, and the points may include relative points and absolute points. Relative points indicate the respective positions in the working space relative to the position and the orientation of the kinematics.
  • relative points move along with the kinematics when running through the trajectory in such a way that the relative positions with regard to the position and the orientation of the kinematics do not change; and/or (ii) relative points rest in a coordinate system when running through the trajectory, which corresponds to the time course of the position and the orientation of the kinematics.
  • the absolute points correspond to a stationary area in the workspace.
  • the pose speed corresponds to a maximum speed among speeds at which (i) the relative points move when running through the trajectory, and (ii) the absolute points are each swept over by a space that is moved along with the kinematics.
  • control device is configured to (i) divide the path into path sections; (ii) estimate a maximum shift among the shifts experienced by the points traversing one of the path sections; (iii) estimate a period of time in which to traverse the path portion when traversing the trajectory based on the maximum velocity and the estimated maximum displacement; and (iv) to determine the trajectory such that the path section is traversed in at least the estimated time period.
  • the maximum displacement can be estimated based on displacements of one or more of the points located on the surface of a volume of space corresponding to the points.
  • the trajectory may be determined such that when the kinematics traverse the trajectory (i) a pose acceleration based on the metric is less than or equal to a predetermined maximum acceleration, and/or (ii) a pose acceleration based on the metric based pose jerk is less than or equal to a predetermined maximum jerk.
  • the set of points is determined based on (i) the location of a tool and/or work coordinate system; and/or (ii) the location of a pivot point.
  • FIG. 2 shows a schematic representation of an example of parallel kinematics.
  • FIG. 3 shows a schematic representation of the relationship between configuration space, working space, direct kinematics and indirect kinematics.
  • FIG. 4 is a schematic representation of a general determination of a pose metric.
  • 5 shows a schematic representation of a determination of a pose metric
  • FIG. 7 shows a schematic representation of a serial robot with 2 degrees of freedom.
  • FIG. 8 shows a schematic representation of the displacements experienced by a relative point when the robot of FIG. 7 executes an exemplary movement.
  • FIG. 9 is a schematic representation of the displacements experienced by an absolute point when the robot of FIG. 7 performs an exemplary move.
  • FIG. 10 shows a schematic representation of a screw movement.
  • FIG. 11 shows a flow chart showing exemplary steps for determining a trajectory.
  • FIG. 12 shows a block diagram of an exemplary device for determining a trajectory.
  • FIG. 13 shows a schematic representation of the arc length of a path section.
  • FIG. 15 shows a schematic representation of the path lengths corresponding to the sequence of poses shown in FIG.
  • 16 shows a schematic representation of a first exemplary speed profile.
  • 17 shows a schematic representation of a second exemplary speed profile.
  • 18 shows a schematic representation of the displacement of two bodies by changing the pose.
  • the present invention relates to methods for determining trajectories of a kinematic system (e.g. of a robot) and control devices for determining trajectories that are set up to carry out such methods.
  • the invention includes parallel kinematics as well as serial, hybrid kinematics and, in particular, also stacked kinematics, e.g. with rotary adjusters.
  • serial kinematics consist of a series of links (e.g. linear axes and/or rotary axes) to form an open kinematic chain
  • parallel kinematics consist of a number of closed kinematic chains. This is explained in more detail below.
  • hybrid kinematics which represent a combination of the parallel and serial kinematics mentioned above.
  • Serial kinematics refers to the classic structure of an open kinematic chain in which the individual movement axes are arranged one after the other, i.e. in series.
  • a kinematic chain is understood to mean a series of several bodies (the links of the chain) that are movably connected to one another by joints.
  • the individual links in the chain can be rigid bodies or, for example, elements that can be adjusted in length. Depending on the robot, they are also referred to as arm/leg parts.
  • the joint connects two members and can have different degrees of freedom.
  • the arrangement and type of the joints and the links have an influence on the trajectories that can be described by the individual links.
  • Kinematic chains play an important role in planning and calculating the possible movement of industrial and other robots.
  • serial kinematics A classic example of serial kinematics is a SCARA robot (abbreviation for "Selective Compliance Assembly Robot Arm"), in which a specific pose is usually realized with two different configuration vectors.
  • SCARA robot abbreviation for "Selective Compliance Assembly Robot Arm”
  • 1 schematically shows an example of serial kinematics with multiple links and joints. As indicated, these members can move linearly in one or more directions, can perform rotational movement in a plane, have an articulated structure, and/or are adjustable in length.
  • Parallel kinematics are kinematics that consist of a number of closed kinematic chains.
  • parallel rod kinematics are often used for the parallel movement axes, which couple two planes that are to be moved relative to one another.
  • Each drive is therefore directly connected to the (end) effector (e.g. a tool carrier).
  • the drives are not loaded with the masses of all the following links and drives, as is the case with serial kinematics. Since all drives are moved simultaneously, i.e. parallel to each other, the loads are distributed (more) evenly to all guide elements. The resulting low moving masses enable extreme dynamics with high speeds and accelerations while maintaining high mechanical precision.
  • serial mechanics Another difference to serial mechanics is that with parallel kinematics drives, especially the motors and gears, remain stationary. This not only optimizes the dynamics and performance of such robots, but also their energy balance. Parallel kinematics are therefore often used when simple motion sequences with high repeat accuracy and speed are required. Classic examples of parallel kinematics are hexapods and delta robots.
  • FIG. 2 schematically shows an example of parallel kinematics with 6 rod kinematics, ie legs of variable length, and 12 passive joints.
  • the kinematics shown are therefore a Stewart platform, which is also referred to as a hexapod in this document.
  • pose space (pose, pose parameters)
  • a pose is generally understood to mean the position and orientation of an object.
  • a pose can thus be identified with an element of the Special Euclidean Group, SE(3).
  • Poses are specified by so-called pose parameters.
  • the choice of parameterization is not clear.
  • the pose can be specified by three Cartesian coordinates and three orientation angles in a so-called world coordinate system or base coordinate system.
  • An example parameterization of the pose a hexapod can be done eg by the pose parameters (X,Y,Z,U,V,W).
  • (X, Y, Z) indicate the position in Cartesian axes/coordinates and can have the unit “millimeter”, for example.
  • (II, V, W) are angles, eg gimbal angles (360/360), a subtype of Euler angles, and indicate the orientation or rotation.
  • the world coordinate system is fixed in space and is independent of the movement of the robot.
  • the pose is given in world coordinates.
  • the description of the pose is therefore space-related, i.e. position and orientation are described in the "real" three-dimensional space, the so-called workspace.
  • pose parameters therefore generally designates those coordinates or parameters that are used to specify a pose.
  • a pose corresponds to a specific value corresponding to the pose for each of the pose parameters. These values can be combined into a vector of pose parameters that uniquely characterizes a pose.
  • a pose is defined or specified by specifying a vector of the pose parameters, ie by specifying a value for each of the pose parameters.
  • the pose parameters can also be "normal" world coordinates (ie, for example, three spatial coordinates for specifying the position and three angles for specifying the orientation).
  • the term pose refers here, for example, to the pose of an end effector of the respective kinematics.
  • the end effector designates here, for example, the last link in a kinematic chain. It is usually the component or assembly to perform the actual handling task. In other words, the effector causes the actual interaction of the robot (i.e., the kinematics) with its environment.
  • An end effector can in particular be a tool, a tool carrier, a gripper, or a platform to be moved (e.g., in the case of hexapods).
  • the pose space denotes the space of theoretically conceivable poses, i.e. the set of possible positions of a rigid body in space.
  • a pose thus corresponds to an element of the pose space.
  • the pose space can be identified with the special Euclidean group SE(3), which consists of all rotations and translations in Euclidean space.
  • SE(3) which consists of all rotations and translations in Euclidean space.
  • Each element of SE(3) corresponds (exactly) to a pose (and vice versa). More specifically, an element of SE(3) is identified with the pose that results when applying that element to a given reference pose.
  • a possible parameterization is the specification of a shift plus gimbal angle.
  • the displacement can be specified, for example, by the distance to a reference point in Cartesian coordinates.
  • the Cardan angles indicate the orientation. Of course, actual Euler angles or other angles can also be used instead of gimbal angles.
  • a robot is generally not able to actually realize any pose, e.g., of the end effector, in pose space.
  • the poses that can actually be taken are limited by the geometry of the kinematics, in particular the length of the limbs.
  • a robot does not have to have 6 degrees of freedom in the joints.
  • the space of poses that can actually be taken will usually not be 6-dimensional, and a pose can be specified by fewer than 6 parameters.
  • the robot's freedom of movement e.g. the position of the effector
  • the robot's freedom of movement is restricted to one level.
  • the configuration space designates the space of the possible configurations of the individual machine components (joints, arms, etc.). It therefore has the dimension of the independent degrees of freedom of the kinematics. These degrees of freedom can be joint angles and/or, for example, lengths of length-adjustable elements (arms/legs).
  • the individual joint coordinates (angles, lengths) can be combined into a configuration vector, i.e. a vector in the configuration space. This corresponds to a representation of the configuration space as a Cartesian product of the individual value ranges (angle ranges and/or length ranges) corresponding to the joint coordinates.
  • the configuration space is given by the six variable leg lengths, and a configuration vector specifies a corresponding length for each of the six legs.
  • the configuration space K Hex of a hexapod can thus be understood as the Cartesian product of the individual intervals corresponding to the possible lengths of the legs where L min (i) and L max (i) denote the smallest and largest possible (permissible or used) length of the i-th leg.
  • Direct Kinematics As illustrated in Fig. 3, direct kinematics, forward kinematics or forward transformation deals with the question of how the pose (position and orientation) of the end effector can be determined from given joint angles and/or given lengths of length-adjustable limbs of a robot. It is the logical counterpart to indirect kinematics.
  • the direct kinematics thus allows the pose to be calculated from given leg lengths and/or leg angles, ie from a given configuration vector, and corresponds to a mapping from the configuration space into the work or pose space.
  • the indirect kinematics, inverse kinematics, inverse kinematics or reverse transformation converts a position and orientation of the effector given by world coordinates or pose parameters into the individual joint coordinates. As illustrated in FIG. 3, it is thus the logical counterpart to direct kinematics and corresponds to a mapping from the work space or the pose space into the configuration space.
  • the indirect kinematics thus allows the calculation of joint angles and/or lengths of the limbs from a given pose. It should be noted that the indirect kinematics need not be unique. In other words, a given pose may be realized by different configuration vectors. This is often the case with SCARA robots, for example.
  • a calculation of the indirect kinematics is typically necessary if a specific pose (target pose) is to be assumed and a joint configuration corresponding to the target pose is therefore required.
  • the kinematics can then be controlled with the determined configuration vector, for example to assume the target pose.
  • This activation may include the calculation of a path in the configuration space based on the current configuration vector and the configuration vector corresponding to the target pose as the start and end point of said path.
  • the kinematics can thus be made to run through a trajectory whose end point corresponds to the target pose.
  • the sequence of poses is called a path.
  • the sequence can, for example, be a complete sequence of the poses assumed by the kinematics.
  • trajectory is a mapping from a time interval into pose space.
  • the image of this figure forms the pose set of the path. It should be noted here that there are many different trajectories to a path, ie different trajectories can have the same path.
  • a common task in robotics is to determine a trajectory based on a given path (and specifying which end of the path corresponds to the start pose and/or which end pose).
  • a trajectory is to be determined so that the kinematics, when running through the trajectory, run through the poses of the path in the order given by the path.
  • the determined trajectory thus corresponds to a time course of a position and orientation of the kinematics in accordance with the path.
  • the speed at which the robot runs through the path in each pose of the path is determined—based on a metric of the pose space and the resulting length of the path.
  • a specific speed specification which relates to a speed of the robot in the workspace, should be adhered to.
  • a metric shape is a metric on a pose space that can be expressed as a function of a qualified workspace point set and a workspace metric.
  • a point set is qualified if only the pose transformation of the identical mapping of this set maps all point coordinates of the point set to itself. For example, a set consisting of only one point cannot map rotations about that point to a pose change.
  • a metric-establishing set of workspace points is used so as to define a pose metric based on a set metric.
  • the set on which the metric is based can, but does not have to, be a point set of a finite number of points in the workspace.
  • the metric grounding set is a qualified set of points.
  • a pose metric defines a distance between 2 poses
  • path lengths and velocities in the pose space eg by dividing path sections of defined length by the corresponding times in which the path sections are traversed.
  • a metric-based set makes it clear (or defines) at which point in the workspace the set system speed corresponds to the locally prevailing point speeds, because in the case of rotations, the point speeds in the workspace are location-dependent and also depend on the position of the pivot point or the current axis of rotation. Points that are far from the pivot point have the greatest velocities.
  • a metric-based set By using a metric-based set, it can be achieved, for example, that all points in a freely chosen small volume move at least approximately with the same specified system speed. In a large volume, velocity definition can be based on the fastest points in the volume. All types of rotary movements, in particular the axis of rotation of the rotary movements and the position of the pivot point - also in connection with Cartesian movements - can be mastered. In particular, this flexibility improves the accuracy of scanning processes, since the angular velocities can be coupled locally to the Cartesian velocities by a freely selectable factor.
  • the quantity on which the metric is based can, for example, be freely defined in the workspace via host software or commands from the controller.
  • This set can be obtained, for example, by summarizing individual points, spheres, and the like.
  • individual points of a sensitive apparatus can be added to the metric-based set as speed points to be controlled.
  • crowd velocity or pose velocity Since the pose speed is related to the metric-based set and there is a close connection between the pose speed and the speeds of the points in this set, the term set speed, which is identical to the pose speed, is introduced for better clarity.
  • the pose velocity can be a velocity averaged over a portion of the path or a time interval.
  • the system speed is a maximum speed specified for the entire trajectory, which should not be exceeded.
  • the system speed is therefore the maximum speed at which the robot should move when running through the trajectory, which does not always have to be the maximum speed actually achieved or achievable (but can be).
  • the system speed can be the target speed of the trajectory, ie the speed that the robot should have when running through the trajectory. It can therefore be a target speed for the system (i.e. the robot), which is to be realized when running through the trajectory.
  • the system speed is a parameter for designing a time-optimal trajectory while observing any additional boundary conditions (e.g. limited acceleration). In the case of short paths in particular, it is often the case that a desired system speed is not achieved due to limiting maximum accelerations.
  • speeds can be specified safely, quickly and easily. Furthermore, the speeds can be tailored specifically to the body to be moved.
  • the points of the metric-based set can be relative points and/or absolute points.
  • the points of the metric-founding set can include relative points and/or absolute points.
  • relative points and/or absolute points refer to the transformation behavior of the points when the position and/or the orientation of the kinematics changes. The Shift distances of relative points are treated differently algorithmically compared to absolute points.
  • Relative points indicate the respective positions in the working space relative to the position and the orientation of the kinematics. When running through the trajectory, they move with the kinematics in such a way that the relative positions with regard to the position and the orientation of the kinematics do not change. In other words, when the trajectory is run through, relative points are at rest in a coordinate system that corresponds to the time course of the position and the orientation of the kinematics.
  • a relative point is a point that undergoes pose transformation as it is moved, since an aspect of every pose is a transformation, or coordinate transformation.
  • Relative points can, for example, be points in the working space of the kinematics that move with the kinematics when running through the trajectory and correspond to the shape of a body (e.g. a tool) that is moved. You can envelop the body, or define an envelope of the body.
  • the concept of the moving body can refer to the moving platform or the end effector, which are also moving. However, it can also be another object, such as a tool or other object.
  • Relative points can also be inside the body, or close to the body if, for example, it is an estimated shape of the body. A real estimate of the maximum velocity of all points of the body is possible if the convex hull of body points embeds, i.e. contains, the body.
  • position and orientation of the kinematics in the present application refers, for example, to the position and orientation (ie the pose) of a/the end effector of the kinematics.
  • the world coordinates of a relative point so depends on the pose of the kinematics.
  • the pose transformation of a point can be done by the formula be described where the rotation matrix corresponding to the pose P, and that of the pose P is the corresponding translation vector.
  • the kinematics assumes the pose p 0 and the position of the relative point relative to the position and orientation of the kinematics is also designated, then the world coordinates of the relative point corresponding to the pose p 0 are through given.
  • R 0 ⁇ SO(3) gives the orientation (rotation) of the pose p 0 in the world coordinate system and the position of the pose p 0 in the world coordinate system (displacement/translation with respect to the origin of the world coordinate system).
  • the world coordinates of a relative point therefore change when the position and/or the orientation of the kinematics changes, while its position a relative to the position and orientation of the kinematics does not change.
  • Relative points can be used to specify the speed of individual moving bodies. Speeds of carried bodies can be influenced in a targeted manner. This allows commanding speeds well above our usual system speeds. This affects, for example, bodies that are attached to the movable platform via a cantilever and are therefore pivoted over a wide area during angular rotations.
  • bodies that are attached to the movable platform via a cantilever and are therefore pivoted over a wide area during angular rotations.
  • Absolute points indicate respective positions in the working space. Absolute points therefore correspond to a stationary area in the working space, e.g. the convex hull given by the absolute points.
  • an absolute point can also be expressed relative to a pose of the kinematics, but its position in world coordinates does not change when the position and/or the orientation of the kinematics changes. In other words, the world coordinates of an absolute point remain unchanged when the position and/or the orientation of the kinematics changes, while its position relative to the position of the kinematics changes.
  • Absolute points can be used to limit speed in collision-prone locations, i.e. to define a protection zone (where e.g. people can stay).
  • the pose metric assigns each pair of poses a non-negative, real function value.
  • the term here includes functions that meet the mathematical criteria of a metric. However, other suitable functions, for example of a heuristic type, can also be used, which are, for example, pseudometrics or are not defined for the entire pose space, etc..
  • the metrics can be changed as desired during operation of a kinematic system or adapted to the respective application. This can be done in particular by changing/adjusting the set of points on which the metric is based (adding and/or removing points) and/or the underlying norm of the happen.
  • the distance between two poses defined by a pose metric is also known as the pose distance or set distance.
  • a pose speed can then also be defined based on this metric.
  • This pose speed is therefore related to a set of points in the working space consisting of points that are moved and/or points that are not moved.
  • the speed of the fastest point in this set of points is defined to be the current pose speed, given a preferred metric.
  • the mass velocity is z.
  • B. Crowd distance divided by time, the pose distance is equal to the crowd distance caused by the pose transformation. So the velocity of poses in pose space is reduced to point velocities in broken down.
  • the pose speed includes Cartesian movements and at the same time the angular velocities of the pose. Analogously, a pose acceleration, a pose jerk, a pose snap, etc. can then be defined.
  • the definition of a concept of distance from poses, in particular a metric, enables the specification of a single maximum speed, also referred to here as system speed. It is therefore not necessary to specify both a translational speed and an angular speed. Angular velocities and translational velocities are linked.
  • the system speed is then the set speed and in a preferred metric is related to the speed occurring at its points.
  • the system speed is therefore based on the quantity difference.
  • the quantity differences that occur can in turn be influenced by the choice of a suitable metric-based quantity.
  • the quantity on which the metric is based can be adjusted at any time depending on the situation and opportunistically.
  • any suitable function can be used that is derived from (not necessarily all) displacements of the points of the metric-founding set in the world coordinate system (for the relative points) and /or the (virtual) displacements in the co-moving coordinate system (for the absolute points).
  • a function that depends on the magnitudes of these shifts, based on any norm defined on can be used as the pose metric.
  • the pose metric is thus determined via the set metric defined above, which depends on the metric grounding set. These can be points that correspond to a moving rigid body(s) and/or stationary spatial area(s).
  • a path is given from the start pose P(0) of a movement to the target pose P(n), which can be divided into further sections if necessary.
  • Let the complete sequence of poses on the path be P(0), P(1),P(2)... P(n), n >0. It should be noted that the aim is usually to keep the lengths of the individual pose distances very small in order to provide the motion interpolation with many support points during the execution of the motion. It often makes sense to subdivide a point-to-point path into several hundred intermediate positions.
  • a relative point is considered first .
  • the point is shifted in world coordinates when the pose changes from P(s) to P(s+1).
  • the point of moved to. here is as already explained above.
  • the distance of displacement is therefore . Since the metric forms are based on point spacing, is by determination the displacement distances all points of a metric-based set the pose distance between P(s) and P(s+a) is specified.
  • P(s+1) ° P(s) -1 is the pose transformation, which transforms the pose P(s) into the pose P(s+1).
  • P(s) -1 denotes the inverse element of the pose transformation P(s) in SE(3), ° is the combination of pose transformations.
  • Pose, pose transformation and element of SE(3) denote the same thing.
  • the virtual displacement distance of the absolute point has hence the size . Since point distances do not change during pose transformations, one can transform as follows:
  • the inverse of the pose transformation corresponding to the inverse element from SE(3) of P, can be determined by solving the above equation be determined, which results.
  • Robot displacement metric (DISP metric)
  • the metric known by the name robot displacement metric has two poses p 1 and p 2 , based on a metric-founding set A, the value to, where , if is a relative point; and if is an absolute point.
  • one any norm defined on it eg the Euclidean norm.
  • Each standard thus induces its own DISP metric and the present invention is not limited to any particular standard.
  • Such a pose distance determined using the DISP metric is also referred to here as the DISP distance.
  • the distance function thus defined turns out to be a metric on poses.
  • the DISP metric has a special physical meaning if the norm
  • metric 4 shows the general case of how a pose metric is obtained from a metric-based set, a metric form and any metric on R 3 . So the metric form forms the pose metric from two arguments.
  • the Euclidean DISP matrix is formed from the Euclidean metric of R 3 and the DISP metric.
  • the poses p 1 and p 2 are assigned the maximum amount of shift among the shifts that the points of the set on which the metric is based experience when one moves from one of the two poses to the moved to others, assigned as a distance.
  • the distance between two poses is then the maximum distance that a point of the metric-based set is displaced when moving from one of the two poses to the other of the two poses.
  • the distance between the poses is therefore given by the translation distance of those points of the set on which the metric is based, which experience the greatest amount of displacement as a result of the translation.
  • the DISP metric assigns the two poses p 1 and p 2 the maximum amount of displacement among the displacements that absolute points experience in a coordinate system that moves with the pose from p 1 to p 2 .
  • the pose velocity of a spatial volume given by absolute points indicates the velocity a body assumes when it approaches this spatial element.
  • the distance between the two poses corresponds to the maximum displacement among the displacements of the relative points in the world coordinate system and the displacements of the absolute points in a co-moving coordinate system (e.g. the TOOL coordinate system).
  • the pose speed then corresponds (in terms of absolute value) to a maximum speed among the speeds with which:
  • the absolute points are swept over by a space that moves with the kinematics (e.g. by the TOOL coordinate system), and/or the absolute points move in the TOOL coordinate system when running through the trajectory.
  • the pose speed of a body that is moved with it can, for example, protect a sensitive body that is moved with it from damage by keeping its speed low.
  • the pose speed of a space element can protect a stationary body in the workspace from movements of the robot that is located in this space element.
  • the special case of the DISP metric using the Euclidean norm is called Euclidean DISP metric as described above.
  • An example of a metric other than the DISP metric is given by where
  • the d A,2 is a preferred metric, the implementation of which can even be worthwhile in parallel or with the DISP metric because of its advantages.
  • the DISP metric satisfies (2) by definition.
  • the property (3) is directly transferred from the Euclidean metric of individual points to the metric-based set, because the triangle inequality already applies in the Euclidean metric. The same applies to d A,2 .
  • FIG. 7 A serial robot with 2 degrees of freedom is shown in FIG. 7, in a top view on the left and in a side view on the right.
  • a rotary adjuster 102, 104 sits on a linear adjuster 101, 103.
  • the linear adjuster enables a movement in the X direction, while the rotary adjuster 102 enables a superimposed movement in the W direction.
  • FIG. 8 shows the movement of a body that is being moved (ie shown here in simplified form by a relative point) and thus illustrates the treatment of relative points.
  • the body 201 moves in the workspace while the robot runs through a trajectory.
  • the robot is moved in the pose sequence 202, 203, 204 and 205.
  • a body 201 attached to the rotary actuator follows the movements of the robot. Its location is always on the right shown next to the robot.
  • the body experiences displacements in the sequence 206, 207 and 208.
  • the corresponding arrow indicates the direction of the displacement, its length results from the underlying metric. If the movements in the sequence from 202 to 205 are each to be carried out with the same pose speed, then a time is allocated to the respective movement which is proportional to the length of the arrow.
  • the specification of a uniform pose speed of a body means that the moving body always picks up the same speed on the way between two poses. Consequently, the pose speed of a body is specified here.
  • Figure 9 depicts the virtual movements of a volume of space 301 of the workspace.
  • the movement is referred to herein as virtual because the pose of this volume of space is unaffected by the movements of the robot.
  • the robot is again moved in the pose sequence 202, 203, 204 and 205.
  • a variable, dependent pose can be assigned to the volume element. For example, when changing from pose 302 to pose 303, such a shift, represented by arrow 306, occurs because the shift of the point is virtual, as opposed to the shift of the robot.
  • the directions of the arrows in FIG. 9 are chosen to be the same as the corresponding directions of the arrows in FIG.
  • the directions would have to be drawn inverted, since one is interested in the apparent movement of space around a volume element.
  • the space element remains in its place, but experiences the virtual displacements 306, 307, 308 one after the other.
  • a virtual velocity can also be ascribed to the space element on the basis of these displacements.
  • the path length in FIG. 9 is not obtained by applying the sequence of the original poses to a set of points, but instead by using the sequence of the respective inverse pose changes, with each new pose change beginning in the original starting pose.
  • Fig. 8 and Fig. 9 show that distances based on the same distance function can be obtained in two ways: one considers the case of an object moving with respect to the working space (Fig. 8), the other a stationary object (Fig. 9) where the environment seems to move. It is then shown how different path lengths result from one and the same distance function of the same set of points and identical sequence of commanded poses, depending on whether the object is treated as moving or stationary. The different path lengths also lead to a different trajectory or a different speed curve. In the example, the length of the arrow 208 in FIG. 8 differs from the length of the arrow 308, the length of the arrows for are the lengths of a path section. It can be clearly seen that in the algorithm for determining the trajectory, a distinction must be made between the pose speed of a body and the virtual pose speed of a spatial volume.
  • any set of points whose convex hull forms a non-empty volume can be added to or constitute the metric grounding set to define velocity.
  • the corresponding convex hull can be formed for a finite set of points in space spanning a volume.
  • the convex hull of a qualified set of points in the visual space has the shape of a polyhedron. If the Euclidean DISP metric is used, no point within the formed polyhedron can exceed the maximum point speed in its corners when generating the trajectories according to the invention. Sensitive areas can thus be protected flexibly and with little computing effort.
  • a sphere in the working space, which envelops a sensitive apparatus, for example, can also be specified as the metric-based quantity.
  • the sphere is enveloped by a finite set of points enveloping it.
  • the points are added to the metric-based set or the metric-based set contains points of the sphere volume and/or the sphere surface.
  • Ball diameter and ball origin can be specified. As shown above, no point within a sphere can exceed the set velocity of the sphere's surface.
  • a predetermined axis of rotation can be placed in the pivot point or TCP (Tool Center Point) when defining the path instead of gimbal angles. As shown below, this can allow faster calculation of quantity gaps.
  • TCP Tool Center Point
  • the maximum displacement can be estimated based on displacements of one or more of the metric-substantiating points located on the surface of a volume of space whose motion is to be considered.
  • the maximum shift can be estimated based on shifts of a particularly finite subset of the metric-substantiating points. This can e.g based on one, several, or the points located on the surface of a volume of space corresponding to the metric-substantiating points. In some embodiments, therefore, only the edge points or some of the edge points are considered for the determination of the quantity velocity.
  • the maximum velocity of the points of a convex polyhedron is realized by at least one point lying on the surface of the polyhedron.
  • this speed limit gives special importance to the Euclidean DISP metric because one can achieve a speed limit of the convex hull of a finite set metric grounding set.
  • Velocity is understood here as the absolute value of the velocity vector. In the case that the polyhedron moves only translationally, there is nothing to show since all points have the same speed.
  • Chasle's theorem states that any displacement of a rigid body is a helical motion, i.e. there is always an axis Q such that a rotation through the angle w with simultaneous translation h along the axis Q produces the given displacement .
  • H and/or w can have the value 0.
  • the instantaneous speed of a polyhedron point depends only on its distance from the helix axis. More precisely, the speed of a point increases with distance from the screw axis. Of course, this can also be shown mathematically. The determination of the locations of maximum speed is reduced to a purely geometric task.
  • Case 2 The axis of rotation and the line of the edge are skewed to each other. The case of skewed straight lines has already been dealt with above.
  • a sphere rotating stably around a straight line has a constant set velocity, especially when the straight line passes through its center.
  • a translatory movement can be superimposed on the ball rotation.
  • the velocities of all points lying on the surface of the sphere but not on the axis of rotation will in general constantly change and be repeated periodically. Also, the point that has the greatest speed is constantly changing. Nevertheless, the quantity velocity remains constant.
  • Input values for the calculation of the set velocity are the directional vector of the translation, the velocity of the translation, the radius of the sphere, and the angular velocity. The result is the direction vector of greatest speed and its absolute value.
  • a trajectory of poses is determined on the basis of a pose metric, with a path of the poses being predetermined.
  • An exemplary method for determining a trajectory is shown in FIG. The trajectory is to be run through by the kinematics for a specific application.
  • application can in this case refer to a specific task or activity, for example which tools and/or objects the robot also moves when passing through.
  • application can also (alternatively or additionally) refer to the special situation, i.e. circumstances, circumstances, environment and/or general conditions under which such a task is to be carried out. This includes, for example, whether and, if so, where people can stay and therefore increased safety conditions must be observed.
  • the method includes a step S1120 in which, based on the application, the points of the metric establishing set are determined. As already explained above, these are points in the working space of the kinematics on which a metric of the pose space to be used to determine the trajectory is based.
  • the method includes a step S1100 in which a maximum speed (ie the system speed) is obtained S1100.
  • the method includes a step S1100 in which the path of the trajectory in pose space is obtained. Getting the system speed and getting the path can be done in the same or separate steps. The path can be made by a calculation based on a target and an end pose. For example, the system speed may be entered by a user. Steps S1100 and S1120 can occur in any order.
  • the method further includes a step S1140 in which the trajectory is determined based on the given path such that when the kinematics traverse the trajectory, a pose speed based on the metric is less than or equal to the system speed.
  • a control device 1200 for controlling a kinematic system is provided according to another exemplary embodiment.
  • Such a control device 1200 is illustrated in FIG. 12 and is set up to determine (i) a system speed, (ii) a path of the trajectory in the pose space, and (iii) a set of points in the working space of the kinematics on which to determine the pose space metric to be used in the trajectory.
  • the controller 1200 is further configured to determine the trajectory based on the path such that when the kinematics traverse the trajectory, a pose speed based on the metric is less than or equal to the system speed.
  • the control device 1200 can be implemented in any hardware. For example, this can run as software on a programmable processor 1210. Alternatively, a specialized hardware unit can represent the control device 1200 . There may be a mix of special purpose hardware and programmable hardware. In an advantageous embodiment, the control device 1200 is distributed and its functions can be carried out on a number of processors 1210, 1220 or hardware units. In particular, the functions of controlling the serial or parallel kinematics can be performed by a local controller and the calculation of the interpolation and/or the division of the space into the space units can be performed in an external device such as a computer. Other configurations are possible.
  • the trajectory is determined based on the given path and the given system speed.
  • the indication of the path can also include an indication of the start and/or end point. More precisely, the trajectory is determined in such a way that (when running through the trajectory) the pose speed is less than or equal to the system speed. In particular, the trajectory can be determined in such a way that the pose speed is always as high as possible, but is less than or equal to the system speed. The system speed can therefore be the target speed when determining the trajectory. If there are also specifications for the pose acceleration, the pose jerk, etc., these are also taken into account. As already mentioned, the trajectory is a mapping from a time interval to the set of poses of the path, traversing the path from one end to the other.
  • the path defines the order of poses that the kinematics have to assume.
  • the trajectory also determines the speed at which the given sequence is to be run through. The trajectory thus corresponds to a time course of a position and orientation of the kinematics in accordance with the path.
  • the trajectory can be obtained from a predetermined path of the poses by assigning a path length to the path on the basis of a pose metric and defining a function of the path length on the elapsed time.
  • the function can be determined according to specifications of kinematic pose metric parameters (eg pose speed, pose acceleration, etc.).
  • v max denotes the specified maximum speed, ie the system speed
  • the path can, for example, also initially be divided into several path sections.
  • a division can be obtained by a linear combination of the starting position parameter vector a and the target position parameter vector b.
  • the following steps can then be carried out for one, several, or all of the path sections, especially when using the DISP metric: (i) Estimate the pose distance from the point shift distances of the metric grounding set. In particular, if eg Euclidean DISP metric is used, in this step the maximum shift among the shifts experienced by the points while traversing the path section can be estimated. In other words, here the pose distance (based on the pose metric) between the two poses corresponding to the two ends of the path segment is calculated.
  • the trajectory is then determined in such a way that the path section is traversed in at least the estimated time period.
  • the speed in the path section is less than or equal to the system speed.
  • the pose metric can be used to define a pose acceleration, a rose jerk, etc., in a similar way to defining a pose speed, based on a pose metric.
  • the method for determining trajectories described for speeds according to the invention can also be applied or extended to the pose acceleration, the pose jerk and the other generalized kinematic variables.
  • a trajectory may generally be determined from a path such that as the kinematics traverse the trajectory: (i) a metric-based pose acceleration is less than or equal to a predetermined maximum acceleration, and/or (ii) a metric-based pose acceleration Posenjerk is less than or equal to a predetermined maximum jerk.
  • the speed specification by a metric-based set can also be used in conjunction with special coordinate systems, such as the work or tool coordinate system.
  • the metric-substantiating quantity can be determined based on the position of the tool and/or the work coordinate system.
  • the quantity on which the metric is based is thus adapted to the position of the work and/or tool coordinate system by adding and/or removing points. so can Adjustments are optionally coupled via an automatism to the position of these coordinate systems, so that they are automatically adjusted, for example, in the control device when the configuration of the coordinate systems changes.
  • the work coordinate system is attached to the engine block and the tool coordinate system to the cutter.
  • the tool the milling cutter, is moved, Work as the position and orientation of the workpiece remains stationary.
  • the tool coordinate system initially refers to the initialization pose of the kinematics and moves with it.
  • Points around the tool coordinate system define the velocities of the cutter and are to be added as relative points to the metric constituting set. Points around the area of the work zero point can cause that all things (like the milling cutter) in the vicinity of the convex hull of these points do not exceed a moderate speed, these points (work coordinate system) must of course not move with them, so they are a metric-substantiating set of absolute points to add.
  • a sphere for example approximated as a regular icosahedron, is placed around the origin of the tool coordinate system as a metric-based set.
  • Cartesian movements and rotary movements does not change when the tool changes location, and the trajectory of the rotary movements remains unchanged even after the tool changes location.
  • the angular velocities can be coupled to the system velocity via the sphere size.
  • the speed specification by a metric-based set can also be used in conjunction with pivot points.
  • the metric grounding set may be determined based on the location of a pivot point.
  • a metric-substantiating set in the form of a spherical shell around the pivot point For example, especially in the case of angle scans for fiber alignments, one can set a metric-substantiating set in the form of a spherical shell around the pivot point. Relative points in the moving fiber end are used here. This allows angular velocities with respect to Cartesian velocities in their influence on the Scale trajectory by the radius of the spherical shell. If the amount is set, then the scan location can be protected from excessive spot speeds.
  • the radius of a spherical surface on which points are evenly arranged determines the relationship between Cartesian speed and rotational speed during rotations around the ball center (e.g. milling cutter tip), which is also relevant for the movement of a tool.
  • a suitable design of a path from a start pose A to an end pose B whose pose parameters relate, for example, to a pivot point
  • simplifications and accelerations in the trajectory calculation are achieved.
  • a theorem of Euler is used, according to which all rotations in R 3 around a point can be realized by a rotation around an axis of rotation through this point.
  • the quaternion calculus is expediently chosen here for handling the rotations and the transformation in the parameterization of a rotation.
  • the axis of rotation and the angle of rotation result, for example, from the conversion of the change in orientation from pose A to pose B in quaternion representation.
  • Arc length of the path of a moving rigid body The calculation of the arc length of the trajectory (or also called path) of a moving mass point is illustrated in FIG. 13 in order to explain the calculation of the arc length of the path of a moving rigid body - more precisely its pose - as an analogy.
  • the descriptive designation of the arc length of a path here means the same as path length, which is equivalent to the path length in pose space.
  • the arc length of the trajectory can be calculated by taking the individual turns goes to 0 and integrates. If the curve is parameterized with time, then each point on the curve is assigned a speed at all times. This is possible with the trajectory of a mass point in this way because a point is moved in a Euclidean vector space.
  • the Euclidean distance is (according to Pythagoras) for two-dimensional vectors (a,b) and (c,d) as given. Such a distance specification is an example of a metric . If (three-dimensional) rigid bodies come into play, rotations must also be considered. Mind you, it's not just about the distance, for example, the center of gravity, instead, twists should also be covered by the concept of distance.
  • FIG. 14 shows a sequence of poses of a two-dimensional body in two-dimensional space, showing the Euclidean DISP distance of adjacent poses.
  • FIG. 15 illustrates obtaining a path length from the pose path of a moving body based on a metric using the pose path shown in FIG. 14 .
  • Speed curves are shown in FIGS. 16 and 17 which can be assigned to a path as in FIG. 14 and can thus supplement the path to form a trajectory.
  • a broken curved line is shown.
  • the left side describes the first part of a path of a triangular body starting in pose 401, the right side shows the end piece of the path.
  • a triangular body of the initial pose 401 is moved, only its three corner points being used to determine the distance between successive poses.
  • the triangle is shown in various intermediate poses.
  • a path is given by the number of intermediate poses on the curved line, the exact course of which must be determined by interpolations.
  • the displacements and rotations between two poses of the body and the irregularities are particularly emphasized in their extent for clarification in FIG. Only the principle is to be presented here.
  • the metric shown here is the Euclidean DISP metric.
  • the distances shown in FIG. 14 are shown as a bar graph.
  • 501 refers to the left part of the path, 502 to the right part of the path.
  • the height of the bar corresponds to the distance between two poses, the width of the bar is 1.
  • the height of bar 503 corresponds to the distance between poses 401 and 402, the last bar 504 corresponds to the distance of pose 404 to its predecessor.
  • the sum of the areas of all bars corresponds to the path length of the path, which results from the sequence of poses.
  • a trajectory can be designed if a duration of a movement is fixed between every two consecutive poses.
  • Velocity profiles are plotted against time in FIGS. 16 and 17.
  • the profiles show what can be obtained by different constraints using path length appropriately by specifying times at which an interval is traversed.
  • the velocity profile shown along with the path defines the trajectory.
  • the path is long enough that a target speed can be achieved. If the paths were too short for this, the speed curves in FIGS. 16 and 17 would have to be represented qualitatively differently.
  • a velocity profile in S-profile mode is shown in FIG.
  • the area under the profile corresponds to the path length.
  • the jerk can assume the values ⁇ -j, 0, j ⁇ , the magnitude of the acceleration is limited to an interval [-a, a].
  • the magnitude of the desired maximum speed v shown here at location 601, corresponds to the system speed selected in the robot controller.
  • a trapezoidal profile is shown in FIG.
  • the area under the profile again corresponds to the path length.
  • the path length and the acceleration which can assume the values ⁇ -a, 0, a ⁇ , as well as the magnitude of the system speed, which may also be the desired speed, are specified for this profile, shown here at location 701.
  • the magnitude of the permissible maximum Speed v corresponds to the system speed selected in the robot controller.
  • the speed profiles 5 and 6 are common in movements between two poses, so-called point-to-point movements deployed. If additional intermediate poses are to be reached or approached on the track, one speaks of VIA points, the speed profiles are usually more complex.
  • the instantaneous speeds presented here using the speed profiles are pose speeds based on a metric on poses. As can be seen, this speed is also the maximum speed of all points of the triangular surface in Fig. 14, which is related to the Euclidean DISP metric.
  • the acceleration and jerk of FIGS. 16 and 17 are also transferred as kinematic information to the corner points of the triangle.
  • trajectory determination can also be supplemented by vectorial considerations of speed and acceleration and other parameters.
  • a lower speed is specified for the trajectory, for example, which also leads to lower accelerations, etc.
  • deflection velocity is meant the velocity of a leg when viewed in isolation as a linear phaser. In principle, these deflection speeds must be limited.
  • a simple possibility consists in combining the upper six pivot points of the legs Fig. 10, 219 into a metric-based set and limiting the pose speed of this set to the maximum permissible deflection speed of the legs. For geometric reasons, this limits the deflection speeds of the legs to this value, with the speed of the platform also being limited to a reasonable level.
  • Such special considerations of the configuration space are more likely serial robots such as industrial robots, since the leg speeds are of secondary importance for the hexapod.
  • Fixing velocities based on a single set of points with the metric they give can be generalized as explained below.
  • the procedure is explained in FIG. 18 for the two-dimensional case using 2 sets of points.
  • Two bodies K1 and K2 are moved as a result of the same pose transformation. Both bodies are identified below with their vertices.
  • the first body K1 is shifted from position 801 to position 802 by a pose transformation
  • the second body K2 is shifted from position 804 to position 805 by the same pose transformation.
  • Each of the two bodies defines its own metric, so in pose space there are two metrics defined by the two bodies.
  • the metrics are denoted by M 1 and M 2 .
  • the type of both metrics is identical in the example, for example the Euclidean “DISP metric.
  • the pose distances are labeled 803 and 804, respectively.
  • This mapping is also a metric M 3 and applied to the two bodies can limit the pose speed of both bodies equally.
  • two or more metric-based point sets of relative points can also be combined to form a metric-based point set.
  • two or more metric-based point sets of absolute points can also be combined into a metric-based point set.
  • the example refers to 2 bodies. However, the method is not limited to 2 bodies.
  • new metrics can be formed from metrics of the joint space and the pose space.
  • the present invention relates to determining a trajectory in a pose space of a kinematic in accordance with a given path of the trajectory.
  • the trajectory has to be run through by the kinematics for a specific application.
  • a set of points in the kinematics workspace on which a pose space metric to be used to determine the trajectory is based is determined based on the application.
  • the trajectory is determined such that when the kinematics traverse the trajectory, a pose velocity based on the metric is less than or equal to a predetermined maximum velocity.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

Die vorliegende Erfindung betrifft die Bestimmung einer Trajektorie in einem Posenraum einer Kinematik im Einklang mit einem gegebenen Pfad der Trajektorie. Die Trajektorie ist hierbei von der Kinematik für eine bestimmte Anwendung zu durchlaufen. Eine Menge von Punkten im Arbeitsraum der Kinematik, auf denen eine zur Bestimmung der Trajektorie zu verwendende Metrik des Posenraums beruht, wird basierend auf der Anwendung bestimmt. Basierend auf dem Pfad wird die Trajektorie so bestimmt, dass, wenn die Kinematik die Trajektorie durchläuft, eine auf der Metrik basierende Posengeschwindigkeit kleiner gleich einer vorgegebenen Maximalgeschwindigkeit ist.

Description

Geschwindigkeitsvorgaben zur Trajektorienbestimmung von Kinematiken
Die vorliegende Erfindung betrifft Vorrichtungen und Verfahren zum Bestimmen einer Trajektorie im Posenraum einer Kinematik unter Berücksichtigung einer vorgegebenen Maximalgeschwindigkeit.
Ein häufig auftauchendes Problem bei der Steuerung eines Roboters ist die Berechnung einer Trajektorie basierend auf einem gegebenen Pfad im Posenraum. Zum Beispiel aus Sicherheitsgründen sind hierbei in der Regel Geschwindigkeitsvorgaben zu beachten. Ein wichtiger Aspekt hierbei ist, dass es sich um eine Trajektorie im Posenraum der Kinematik handelt, die Geschwindigkeit des Roboters soll aber meist im „realen“ dreidimensionalen Raum beschränkt werden. Dies erschwert die Handhabung solcher Geschwindigkeitsvorgaben und kann unter anderem zu ungleichmäßigen Bewegungen des Roboters führen.
Der vorliegenden Erfindung liegt somit die Aufgabe zugrunde, die Handhabung von Geschwindigkeitsvorgaben bei der Bestimmung von Trajektorien zu verbessern und, insbesondere, flexibler zu gestalten.
Die Aufgabe wird erfindungsgemäß mit den Merkmalen der unabhängigen Patentansprüche gelöst. Einige vorteilhafte Ausführungsformen sind Gegenstand der abhängigen Patentansprüche.
Der Erfindung liegt der Gedanke zugrunde, bei der Bestimmung einer Trajektorie eine Geschwindigkeit der Kinematik basierend auf Punkten im Arbeitsraum zu bestimmen, die an die durchzuführende Anwendung angepasst sind.
Gemäß einem ersten Aspekt der vorliegenden Erfindung wird ein Verfahren zum Bestimmen einer Trajektorie in einem Posenraum einer Kinematik zu Verfügung gestellt, wobei die Trajektorie von der Kinematik für eine bestimmte Anwendung zu Durchlaufen ist. Das Verfahren umfasst einen Schritt des (i) Erhaltens einer Maximalgeschwindigkeit und eines Pfads der Trajektorie in dem Posenraum; (ii) einen Schritt des Bestimmens, basierend auf der Anwendung, einer Menge von Punkten im Arbeitsraum der Kinematik, auf denen eine zur Bestimmung der Trajektorie zu verwendende Metrik des Posenraums beruht; und (iii) einen Schritt des Bestimmens der Trajektorie basierend auf dem Pfad, so dass, wenn die Kinematik die Trajektorie durchläuft, eine auf der Metrik basierende Posengeschwindigkeit kleiner gleich der Maximalgeschwindigkeit ist. Im Allgemeinen, in Ausführungsformen des ersten Aspekt, kann die Trajektorie einem zeitlichen Verlauf einer Position und Orientierung der Kinematik in Übereinstimmung mit dem Pfad entsprechen; die Punkte jeweilige Positionen im Arbeitsraum relativ bezüglich der Position und der Orientierung der Kinematik angeben, und (i) sich beim Durchlaufen der Trajektorie mit der Kinematik so mitbewegen, dass sich die Relativpositionen bezüglich der Position und der Orientierung der Kinematik nicht ändern; und/oder (ii) beim Durchlaufen der Trajektorie in einem Koordinatensystem, das dem zeitlichen Verlauf der Position und der Orientierung der Kinematik entspricht, ruhen; und (iii) die Posengeschwindigkeit einer maximalen Geschwindigkeit unter Geschwindigkeiten entspricht, mit denen sich die Punkte beim Durchlaufen der Trajektorie bewegen.
Die Punkte können z.B. einem ortsfesten Bereich im Arbeitsraum entsprechen, und die Posengeschwindigkeit können einer maximalen Geschwindigkeit unter Geschwindigkeiten entsprechen, mit denen jeweils die Punkte von einem mit der Kinematik mitbewegten Raum überstrichen werden.
Im Allgemeinen, in Ausführungsformen des ersten Aspekt, kann die die Trajektorie einem zeitlichen Verlauf einer Position und einer Orientierung der Kinematik in Übereinstimmung mit dem Pfad entsprechen, und die Punkte Relativpunkte und Absolutpunkte beinhalten. Relativpunkte geben jeweilige Positionen im Arbeitsraum relativ bezüglich der Position und der Orientierung der Kinematik an. Zum Beispiel (i) bewegen sich Relativpunkte beim Durchlaufen der Trajektorie mit der Kinematik so mit, dass sich die Relativpositionen bezüglich der Position und der Orientierung der Kinematik nicht ändern; und/oder (ii) ruhen Relativpunkte beim Durchlaufen der Trajektorie in einem Koordinatensystem, das dem zeitlichen Verlauf der Position und der Orientierung der Kinematik entspricht. Die Absolutpunkte entsprechen einem ortsfesten Bereich im Arbeitsraum. Die Posengeschwindigkeit entspricht einer maximalen Geschwindigkeit unter Geschwindigkeiten, mit denen (i) sich die Relativpunkte beim Durchlaufen der Trajektorie bewegen, und (ii) jeweils die Absolutpunkte von einem mit der Kinematik mitbewegten Raum überstrichen werden.
Das Bestimmen der Trajektorie kann, in Ausführungsformen des ersten Aspekt, umfassen (i) einen Schritt des Aufteilens des Pfads in Pfadabschnitte; (ii) einen Schritt des Schätzens einer maximalen Verschiebung unter den Verschiebungen, die die Punkte beim Durchlaufen eines der Pfadabschnitte erfahren; (iii) einen Schritt des Schätzens, basierend auf der Maximalgeschwindigkeit und der geschätzten maximalen Verschiebung, einer Zeitdauer, in der der Pfadabschnitt beim Durchlaufen der Trajektorie zu durchlaufen ist; und (iv) einen Schritt des Bestimmens der Trajektorie, so dass der Pfadabschnitt in mindestens der geschätzten Zeitdauer durchlaufen wird. Zum Beispiel kann die maximale Verschiebung basierend auf Verschiebungen von einem oder mehreren der Punkte geschätzt wird, die sich auf der Oberfläche eines Raumvolumens befinden, das den Punkten entspricht.
Im Allgemeinen, in Ausführungsformen des ersten Aspekt, kann die Trajektorie so bestimmt wird, dass, wenn die Kinematik die Trajektorie durchläuft (i) eine auf der Metrik basierende Posenbeschleunigung kleiner gleich einer vorbestimmten Maximalbeschleunigung ist, und/oder (ii) ein auf der Metrik basierende Posenruck kleiner gleich einem vorbestimmten Maximalruck ist.
In einigen Ausführungsformen des ersten Aspekt wird die Menge von Punkten bestimmt basierend auf (i) der Lage eines Tool- und/oder Work-Koordinatensystems; und/oder (ii) der Lage eines Pivotpunkts.
Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird eine Steuerungsvorrichtung zum Steuern einer Kinematik zur Verfügung gestellt. Die Steuerungsvorrichtung ist dazu eingerichtet (i) eine Maximalgeschwindigkeit, (ii) einen Pfad der Trajektorie in dem Posenraum, und (iii) eine Menge von Punkten im Arbeitsraum der Kinematik, auf denen eine zur Bestimmung der Trajektorie zu verwendende Metrik des Posenraums beruht, zu erhalten. Die Steuerungsvorrichtung ist ferner dazu eingerichtet, die Trajektorie basierend auf dem Pfad zu bestimmen, so dass, wenn die Kinematik die Trajektorie durchläuft, eine auf der Metrik basierende Posengeschwindigkeit kleiner gleich der Maximalgeschwindigkeit ist.
Im Allgemeinen, in Ausführungsformen des zweiten Aspekt, kann die Trajektorie einem zeitlichen Verlauf einer Position und Orientierung der Kinematik in Übereinstimmung mit dem Pfad entsprechen; die Punkte jeweilige Positionen im Arbeitsraum relativ bezüglich der Position und der Orientierung der Kinematik angeben, und (i) sich beim Durchlaufen der Trajektorie mit der Kinematik so mitbewegen, dass sich die Relativpositionen bezüglich der Position und der Orientierung der Kinematik nicht ändern; und/oder (ii) beim Durchlaufen der Trajektorie in einem Koordinatensystem, das dem zeitlichen Verlauf der Position und der Orientierung der Kinematik entspricht, ruhen; und (iii) die Posengeschwindigkeit einer maximalen Geschwindigkeit unter Geschwindigkeiten entspricht, mit denen sich die Punkte beim Durchlaufen der Trajektorie bewegen.
Die Punkte können z.B. einem ortsfesten Bereich im Arbeitsraum entsprechen, und die Posengeschwindigkeit können einer maximalen Geschwindigkeit unter Geschwindigkeiten entsprechen, mit denen jeweils die Punkte von einem mit der Kinematik mitbewegten Raum überstrichen werden. Im Allgemeinen, in Ausführungsformen des zweiten Aspekt, kann die die Trajektorie einem zeitlichen Verlauf einer Position und einer Orientierung der Kinematik in Übereinstimmung mit dem Pfad entsprechen, und die Punkte Relativpunkte und Absolutpunkte beinhalten. Relativpunkte geben jeweilige Positionen im Arbeitsraum relativ bezüglich der Position und der Orientierung der Kinematik an. Zum Beispiel (i) bewegen sich Relativpunkte beim Durchlaufen der Trajektorie mit der Kinematik so mit, dass sich die Relativpositionen bezüglich der Position und der Orientierung der Kinematik nicht ändern; und/oder (ii) ruhen Relativpunkte beim Durchlaufen der Trajektorie in einem Koordinatensystem, das dem zeitlichen Verlauf der Position und der Orientierung der Kinematik entspricht. Die Absolutpunkte entsprechen einem ortsfesten Bereich im Arbeitsraum. Die Posengeschwindigkeit entspricht einer maximalen Geschwindigkeit unter Geschwindigkeiten, mit denen (i) sich die Relativpunkte beim Durchlaufen der Trajektorie bewegen, und (ii) jeweils die Absolutpunkte von einem mit der Kinematik mitbewegten Raum überstrichen werden.
In Ausführungsformen des zweiten Aspekt ist die Steuerungsvorrichtung dazu eingerichtet, (i) den Pfad in Pfadabschnitte aufzuteilen; (ii) eine maximalen Verschiebung unter den Verschiebungen zu schätzen, die die Punkte beim Durchlaufen eines der Pfadabschnitte erfahren; (iii) eine Zeitdauer, in der der Pfadabschnitt beim Durchlaufen der Trajektorie zu durchlaufen ist, basierend auf der Maximalgeschwindigkeit und der geschätzten maximalen Verschiebung zu schätzen; und (iv) die Trajektorie zu bestimmen, so dass der Pfadabschnitt in mindestens der geschätzten Zeitdauer durchlaufen wird.
Zum Beispiel kann die maximale Verschiebung basierend auf Verschiebungen von einem oder mehreren der Punkte geschätzt wird, die sich auf der Oberfläche eines Raumvolumens befinden, das den Punkten entspricht.
Im Allgemeinen, in Ausführungsformen des zweiten Aspekt, kann die Trajektorie so bestimmt wird, dass, wenn die Kinematik die Trajektorie durchläuft (i) eine auf der Metrik basierende Posenbeschleunigung kleiner gleich einer vorbestimmten Maximalbeschleunigung ist, und/oder (ii) ein auf der Metrik basierende Posenruck kleiner gleich einem vorbestimmten Maximalruck ist.
In einigen Ausführungsformen des zweiten Aspekt wird die Menge von Punkten bestimmt basierend auf (i) der Lage eines Tool- und/oder Work-Koordinatensystems; und/oder (ii) der Lage eines Pivotpunkts.
Weitere Einzelheiten, Vorteile und Merkmale der Erfindung ergeben sich aus der folgenden Beschreibung und den Zeichnungen, auf die bezüglich aller nicht im Text beschriebenen Einzelheiten ausdrücklich verwiesen wird. Es zeigen: Fig. 1 eine schematische Darstellung einer beispielhaften seriellen Kinematik.
Fig. 2 eine schematische Darstellung einer beispielhaften Parallelkinematik.
Fig. 3 eine schematische Darstellung der Beziehung von Konfigurationsraum, Arbeitsraum, direkter Kinematik und indirekter Kinematik.
Fig. 4 eine schematische Darstellung einer allgemeinen Bestimmung einer Posenmetrik.
Fig. 5 eine schematische Darstellung einer Bestimmung einer Posenmetrik bei
Verwendung der DISP-Metrik.
Fig. 6 eine schematische Darstellung der Verschiebungen von Relativpunkten bei
Änderung der Pose.
Fig. 7 eine schematische Darstellung eines seriellen Roboters mit 2 Freiheitsgraden.
Fig. 8 eine schematische Darstellung der Verschiebungen, die ein Relativpunkt erfährt, wenn der Roboter aus Fig. 7 eine beispielhafte Bewegung ausführt.
Fig. 9 eine schematische Darstellung der Verschiebungen, die ein Absolutpunkt erfährt, wenn der Roboter aus Fig. 7 eine beispielhafte Bewegung ausführt.
Fig. 10 eine schematische Darstellung einer Schraubenbewegung.
Fig. 11 ein Flussdiagram das bespielhafte Schritte zur Bestimmung einer T rajektorie zeigt.
Fig. 12 ein Blockdiagramm einer bespielhaften Vorrichtung zur Bestimmung einer Trajektorie.
Fig. 13 eine schematische Darstellung der Bogenlänge eines Pfadabschnitts.
Fig. 14 eine schematische Darstellung einer Abfolge von Posen.
Fig. 15 eine schematische Darstellung der der in Fig. 14 gezeigten Abfolge von Posen entsprechenden Pfadlängen.
Fig. 16 eine schematische Darstellung eines ersten beispielhaften Geschwindigkeitsprofiles.
Fig. 17 eine schematische Darstellung eines zweiten beispielhaften Geschwindigkeitsprofiles. Fig. 18 eine schematische Darstellung der Verschiebung zweier Körper durch die Änderung der Pose.
Die vorliegende Erfindung betrifft Verfahren zum Bestimmen von Trajektorien einer Kinematik (z.B. eines Roboters), sowie Steuerungsvorrichtungen zum Bestimmen von Trajektorien, die dazu eingerichtet sind solche Verfahren auszuführen. Die Erfindung umfasst parallele Kinematiken ebenso wie serielle, hybride Kinematiken und insbesondere auch gestapelte Kinematiken z.B. mit Drehverstellern.
Kinematiken
Man unterscheidet in der Robotertechnik grundsätzlich zwischen den Hauptklassen der seriellen und der parallelen Kinematik. Während serielle Kinematiken aus einer Aneinanderreihung von Gliedern (z.B. Linearachsen und/oder rotatorische Achsen) zu einer offenen kinematischen Kette bestehen, bestehen Parallelkinematiken aus einer Anzahl geschlossener kinematischer Ketten. Dies wird im Folgenden genauer erklärt. Des Weiteren gibt es auch sogenannte Hybridkinematiken, welche eine Kombination aus der vorhin erwähnten parallelen und seriellen Kinematiken darstellen.
Serielle Kinematiken
Als serielle Kinematik bezeichnet man den klassischen Aufbau einer offenen kinematischen Kette, bei welcher die einzelnen Bewegungsachsen der Reihe nach aufeinander aufbauend, also in Serie, angeordnet sind. Unter einer kinematischen Kette versteht man somit eine Aneinanderreihung von mehreren Körpern (den Gliedern der Kette), die miteinander durch Gelenke beweglich verbunden sind. Bei den einzelnen Gliedern der Kette kann es sich um starre Körper handeln oder zum Beispiel um längenverstellbare Elemente. Sie werden, je nach Roboter, auch als Arm-/Beinteile bezeichnet.
Das Gelenk verbindet zwei Glieder und kann unterschiedliche Freiheitsgerade aufweisen. Die Anordnung und Art der Gelenke sowie der Glieder haben Einfluss auf die Bahnkurven, die von den einzelnen Gliedern beschrieben werden können. Kinematische Ketten spielen eine wichtige Rolle bei Planung und Berechnung der möglichen Bewegung von Industrie- und anderen Robotern.
Ein klassisches Beispiel für eine serielle Kinematik ist ein SCARA-Roboter (Abkürzung für engl. „Selective Compliance Assembly Robot Arm“), bei dem eine bestimmte Pose meist mit zwei verschiedenen Konfigurationsvektoren realisiert werden. Fig. 1 zeigt schematisch eine beispielhafte serielle Kinematik mit mehreren Gliedern und Gelenken. Wie angedeutet, können sich diese Glieder linear in eine oder mehrere Richtungen bewegen, können eine Rotationsbewegung in einer Ebene durchführen, besitzen eine Gelenkstruktur, und/oder sind längenverstellbar.
Parallelkinematiken
Als Parallelkinematik bezeichnet man eine Kinematik, die aus einer Anzahl geschlossener kinematischer Ketten besteht. In der Praxis werden für die parallel verlaufenden Bewegungsachsen häufig parallele Stabkinematiken eingesetzt, die zwei relativ zueinander zu bewegenden Ebenen miteinander koppeln. Es ist somit jeder Antrieb direkt mit dem (End-) Effektor (z.B. einem Werkzeugträger) verbunden. Dadurch werden die Antriebe nicht wie bei einer seriellen Kinematik mit den Massen aller folgenden Glieder und Antriebe belastet. Da alle Antriebe gleichzeitig, also parallel zueinander, bewegt werden, teilen sich die Belastungen gleichmäßig(er) auf alle Führungselemente auf. Die daraus resultierenden geringen bewegten Eigenmassen ermöglichen eine extreme Dynamik mit hohen Geschwindigkeiten und Beschleunigungen bei gleichzeitig hoher Präzision der Mechanik. Ein weiterer Unterschied zu seriellen Mechaniken besteht darin, dass bei einer Parallelkinematik Antriebe, insbesondere die Motoren und Getriebe, ortsfest bleiben. Dies optimiert nicht nur die Dynamik und Leistung derartiger Roboter, sondern auch deren Energiebilanz. Parallelkinematiken werden daher gerne eingesetzt, wenn einfache Bewegungsabläufe mit hoher Wiederholgenauigkeit und Geschwindigkeit gefordert sind. Klassische Beispiele für Parallelkinematiken sind Hexapoden und Delta-Roboter.
Fig. 2 zeigt schematisch eine beispielhafte Parallelkinematik mit 6 Stabkinematiken, also Beinen veränderlicher Länge, und 12 passiven Gelenken. Es handelt es sich bei der dargestellten Kinematik also um eine Stewart Plattform, die in dieser Schrift auch als Hexapod bezeichnet wird.
Posenraum (Pose, Posenparameter)
Unter einer Pose wird in der Regel Position und Orientierung eines Objekts verstanden. Eine Pose kann somit mit einem Element der Speziellen Euklidische Gruppe, SE(3), identifiziert werden. Posen werden durch sogenannte Posenparameter angegeben. Die Wahl der Parametrisierung ist nicht eindeutig. Die Pose kann z.B. durch drei kartesische Koordinaten und drei Orientierungswinkel in einem sogenannten Weltkoordinatensystem oder Basiskoordinatensystem angegeben werden. Eine beispielhafte Parametrisierung der Pose eines Hexapoden kann z.B. durch die Posenparametern (X,Y,Z,U,V,W) erfolgen. (X, Y, Z) geben hierbei die Position in kartesischen Achsen/Koordinaten an und können z.B. die Einheit „Millimeter“ haben. (II, V, W) sind hierbei Winkel, z.B. Kardanwinkel (360/360), eine Unterart der Eulerwinkel, und geben die Orientierung bzw. Drehung an.
Das Weltkoordinatensystem liegt dabei unveränderlich im Raum und ist unabhängig von der Bewegung des Roboters. Man sagt daher auch, dass die Pose in Weltkoordinaten gegeben ist. Die Beschreibung der Pose erfolgt also raumbezogen, d.h. Position und Orientierung werden im „realen“ dreidimensionalen Raum, dem sogenannten Arbeitsraum, beschrieben. Es ist aber auch möglich eine Pose mit Hilfe anderer Koordinaten oder Parameter (eindeutig) anzugeben. Im Folgenden bezeichnet der Begriff Posenparameter daher allgemein jene Koordinaten oder Parameter die verwendet werden, um eine Pose anzugeben. Eine Pose entspricht dabei für jeden der Posenparameter einem bestimmten, der Pose entsprechenden, Wert. Diese Werte können zu einem eine Pose eindeutig kennzeichnenden Vektor der Posenparameter zusammengefasst werden. Umgekehrt ist eine Pose durch Angabe eines Vektors der Posenparameter, also durch Angabe eines Wertes für jeden der Posenparameter, festgelegt bzw. angegeben. Die Posenparameter können dabei insbesondere auch „normale“ Weltkoordinaten sein (also zum Beispiel drei Raumkoordinaten zur Angabe der Position und drei Winkel zur Angabe der Orientierung).
Der Begriff Pose bezieht sich hier z.B. auf die Pose eines Endeffektors der jeweiligen Kinematik. Der Endeffektor bezeichnet hierbei zum Beispiel das letzte Glied einer kinematischen Kette. Er ist in der Regel die Komponente oder Baugruppe zur Ausführung der eigentlichen Handhabungsaufgabe. Anders gesagt, bewirkt der Effektor die eigentliche Interaktion des Roboters (d.h., der Kinematik) mit seiner Umwelt. Bei einem Endeffektor kann es sich insbesondere um ein Werkzeug, einen Werkzeugträger, einen Greifer, oder eine zu bewegende Plattform (z.B., bei Hexapoden) handeln.
Der Posenraum bezeichnet hier den Raum der theoretisch denkbaren Posen, also die Menge der Lagemöglichkeiten eines starren Körpers im Raum. Eine Pose entspricht also einem Element des Posenraums. Der Posenraum lässt sich mit der speziellen euklidischen Gruppe SE(3), welche aus allen Rotationen und Translationen im euklidischen Raum besteht, identifizieren. Jedes Element aus SE(3) entspricht dabei (genau) einer Pose (und umgekehrt). Genauer gesagt wird ein Element aus SE(3) mit der Pose identifiziert, die sich ergibt, wenn man jenes Element auf eine gegebene Referenzpose anwendet. Es gibt viele Parametrierungen des Arbeitsraumes, bzw. von SE(3). Eine mögliche Parametrierung ist die Angabe einer Verschiebung plus Kardanwinkel. Die Angabe der Verschiebung kann zum Beispiel durch den Abstand zu einem Referenzpunkt in kartesischen Koordinaten erfolgen. Die Kardanwinkel geben die Orientierung an. Statt Kardanwinkeln können natürlich auch eigentliche Eulerwinkel oder andere Winkel verwendet werden.
Es ist ferner angemerkt, dass ein Roboter im Allgemeinen nicht in der Lage ist jede beliebige Pose, z.B. des Endeffektors, im Posenraum tatsächlich zu verwirklichen. Zum einen sind die tatsächlich einnehmbaren Posen durch die Geometrie der Kinematik, insbesondere die Länge der Glieder, eingeschränkt. Ferner muss ein Roboter nicht 6 Freiheitsgrade bei den Gelenken besitzen. In diesem Fall wird der Raum der tatsächlich einnehmbaren Posen in der Regel nicht 6-dimensional sein und eine Pose kann durch weniger als 6 Parameter angegeben werden. Es ist z.B. denkbar, dass die Bewegungsfreiheit des Roboters (z.B. die Position des Effektors) auf eine Ebene eingeschränkt ist.
Konfigurationsraum (Gelenkkoordinaten)
Der Konfigurationsraum bezeichnet den Raum der möglichen Konfigurationen der einzelnen Maschinenkomponenten (Gelenke, Arme, etc.). Er hat somit die Dimension der unabhängigen Freiheitsgrade der Kinematik. Diese Freiheitsgrade können Gelenkwinkel und/oder zum Beispiel Längen von längenverstellbaren Elementen (Armen/Beinen) sein. Die einzelnen Gelenkkoordinaten (Winkel, Längen) können zu einem Konfigurationsvektor, also einem Vektor im Konfigurationsraum, zusammengefasst werden. Dies entspricht einer Darstellung des Konfigurationsraum als kartesisches Produkt der einzelnen den Gelenkkoordinaten entsprechenden Wertebereiche (Winkelbereiche und/oder Längenbereiche).
Bei einer Stewart Plattform (auch Hexapod genannt) bespielweise ist der Konfigurationsraum durch die sechs variablen Beinlängen gegeben und ein Konfigurationsvektor gibt für jede der sechs Beine eine entsprechende Länge an. Der Konfigurationsraum KHex eines Hexapoden kann also als das kartesisches Produkt der einzelnen den möglichen Längen der Beine entsprechenden Intervalle aufgefasst werden
Figure imgf000010_0001
wobei Lmin(i) und Lmax(i) die kleineste bzw. die größte mögliche (zulässige oder verwendete) Länge des i-ten Beines bezeichnen.
Direkte Kinematik Wie in Fig. 3 veranschaulicht, befasst sich die direkte Kinematik, Vorwärtskinematik oder Vorwärtstransformation mit der Frage wie aus gegebenen Gelenkwinkeln und/oder gegebener Längen längenverstellbarer Glieder eines Roboters die Pose (Position und Orientierung) des Endeffektors bestimmt werden kann. Sie ist das logische Gegenstück zur indirekten Kinematik. Die direkte Kinematik erlaubt also die Berechnung der Pose aus gegebenen Beinlängen und/oder Beinwinkeln, d.h., aus einem gegebenen Konfigurationsvektor, und entspricht einer Abbildung vom Konfigurationsraum in den Arbeits- bzw. den Posenraum.
Indirekte Kinematik
Die indirekte Kinematik, inverse Kinematik, Inverskinematik oder Rückwärtstransformation wandelt eine durch Weltkoordinaten oder Posenparameter gegebene Position und Orientierung des Effektors in die einzelnen Gelenkkoordinaten um. Wie in Fig. 3 veranschaulicht, ist sie somit das logische Gegenstück zur direkten Kinematik und entspricht einer Abbildung vom Arbeits- bzw. dem Posenraum in den Konfigurationsraum. Die indirekte Kinematik erlaubt also die Berechnung von Gelenkwinkeln und/oder Längen der Glieder aus einer gegebenen Pose. Hierbei sollte angemerkt werden, dass die indirekte Kinematik nicht eindeutig sein muss. In anderen Worten kann es sein, dass eine gegebene Pose durch verschiedene Konfigurationsvektoren realisiert werden kann. Dies ist zum Beispiel bei SCARA-Roboter häufig der Fall.
Eine Berechnung der indirekten Kinematik ist typischerweise nötig, wenn eine bestimmte Pose (Zielpose) eingenommen werden soll und deshalb eine der Zielpose entsprechende Gelenkkonfiguration benötigt wird. Die Kinematik kann dann mit dem ermittelten Konfigurationsvektor angesteuert werden, zum Beispiel um die Zielpose einzunehmen. Dieses Ansteuern beinhaltet gegebenenfalls die Berechnung einer Bahn im Konfigurationsraum basiert auf dem aktuellen Konfigurationsvektor und dem der Zielpose entsprechenden Konfigurationsvektor als Start bzw. Endpunkt besagter Bahn. Die Kinematik kann so zum Durchlaufen einer Trajektorie gebracht werden, deren Endpunkt der Zielpose entspricht.
Trajektorie und Pfad
Die Aufeinanderfolge von Posen heißt Pfad. Die Aufeinanderfolge kann z.B. eine lückenlose Folge von den von der Kinematik angenommen Posen sein.
Davon unterschieden ist der Begriff der Trajektorie, bei dem zusätzlich Pfadgeschwindigkeiten definiert sind. Genauer gesagt, wird derzeitliche Verlauf der von einem Roboter während einer Bewegung eingenommenen Posen als Trajektorie bezeichnet. Anders gesagt ist eine Trajektorie eine Abbildung von einem Zeitintervall in den Posenraum. Das Bild dieser Abbildung bildet die Posenmenge des Pfades. Es ist hier anzumerken, dass es zu einem Pfad viele verschiedene Trajektorien gibt, d.h. verschiedene Trajektorien können denselben Pfad haben.
Eine häufige Aufgabenstellung in der Robotik ist die Bestimmung einer Trajektorie basierend auf einem gegebenen Pfad (und der Angabe, welches Ende des Pfads der Startpose und/oder welches der Endpose entspricht). Dabei ist eine Trajektorie zu bestimmen, so dass die Kinematik beim Durchlaufen der Trajektorie die Posen des Pfads in der durch den Pfad gegebenen Reihenfolge durchläuft. Die bestimmte Trajektorie entspricht also einem zeitlichen Verlauf einer Position und Orientierung der Kinematik in Übereinstimmung mit dem Pfad.
Bei der Trajektorienbestimmung wird also - basierend auf einer Metrik des Posenraumes und der sich hieraus ergebenden Länge des Pfades - die Geschwindigkeit festgelegt, mit der der Roboter den Pfad in jeder Pose des Pfads durchläuft. Dabei soll in der Regel eine bestimme Geschwindigkeitsvorgabe, die sich auf eine Geschwindigkeit des Roboters im Arbeitsraum bezieht, eingehalten werden.
Metrikform
Eine Metrikform ist eine Metrik auf einem Posenraum, die sich als Funktion einer qualifizierten Punktmenge des Arbeitsraumes und einer Metrik des Arbeitsraumes ausdrücken lässt. Eine Punktmenge ist qualifiziert, wenn nur die Posentransformation der identischen Abbildung dieser Menge alle Punktkoordinaten der Punktmenge auf sich selbst abbildet. Beispielsweile kann eine nur aus einem Punkt bestehende Menge Drehungen um diesen Punkt nicht zu einer Posenänderung abbilden.
Metrikbegründende Menge
Wie im Weiteren genauer erklärt, wird erfindungsgemäß eine metrikbegründende Menge aus Arbeitsraumpunkten verwendet, um so basierend auf einer Mengenmetrik eine Posenmetrik zu definieren. Bei der metrikbegründenden Menge kann, muss es sich aber nicht um eine Punktmenge einer endlichen Anzahl von Punkten des Arbeitsraums handeln. Die metrikbegründende Menge ist eine qualifizierte Punktmenge.
So können Geschwindigkeitsvorgaben bei der Trajektorienbestimmung, insbesondere bei einer Trajektorienberechnung, effektiv und flexibel definiert und/oder berücksichtigt werden. Da eine Posenmetrik einen Abstand zwischen 2 Posen definiert, ist es nun auch möglich Pfadlängen und Geschwindigkeiten im Posenraum zu berechnen, z.B. indem Pfadabschnitte definierter Länge durch die in entsprechenden Zeiten, in denen die Pfadabschnitte durchschritten werden geteilt werden. Eine metrikbegründende Menge macht klar (bzw. legt fest), an welcher Stelle des Arbeitsraumes die gesetzte Systemgeschwindigkeit den lokalen herrschenden Punktgeschwindigkeiten entspricht, denn bei Drehungen sind die Punktgeschwindigkeiten im Arbeitsraum ortsabhängig und hängen überdies von der Lage des Pivotpunkts beziehungsweise von der aktuellen Drehachse ab. Punkte mit großem Abstand zum Pivotpunkt weisen die größten Geschwindigkeiten auf. Durch den Einsatz von metrikbegründenden Mengen kann definiert werden, welche kartesischen Geschwindigkeiten und Winkelgeschwindigkeiten beim Faseralignment im bewegten Faserende vorliegen sollen. Eine umfassende Kontrolle der Scangeschwindigkeiten kann z.B. das Scanergebnis verbessern. Insbesondere können Geschwindigkeitsbegrenzungen in der unmittelbaren Nähe eines Fiberalignment die Scangeschwindigkeiten besser kontrollierbar machen und die Ergebnisse verbessern.
Durch die Verwendung einer metrikbegründenden Menge kann z.B. erreicht werden, dass sich alle Punkte in einem frei gewählten kleinen Volumen zumindest näherungsweise mit derselben vorgegebenen Systemgeschwindigkeit bewegen. In einem großen Volumen kann sich die Geschwindigkeitsdefinition an den schnellsten Punkten in dem Volumen orientieren. Alle Arten von Drehbewegungen, insbesondere die Drehachse der Drehbewegungen als auch die Lage des Pivotpunkts - auch in Verbindungen mit kartesischen Bewegungen - können beherrscht werden. Diese Flexibilität verbessert insbesondere die Genauigkeit von Scanvorgängen, da lokal durch einen frei wählbaren Faktor die Winkelgeschwindigkeiten an die kartesischen Geschwindigkeiten gekoppelt werden können.
Ferner wird es möglich Kollisionsgefahren zu mindern. Hat ein Algorithmus zur Kollisionserkennung Bereiche drohender Annäherung ermittelt, so können dort lokal sichere Geschwindigkeitsvorgaben gemacht werden. Frei konfigurierbare und änderbare Geschwindigkeiten in Volumen und/oder von mitbewegten Körpern erbringen eine technologische Aufwertung von Hexapoden in der Mikromontage, als Operationsroboter, Werkzeugmaschine etc.
Die metrikbegründende Menge kann z.B. im Arbeitsraum über eine Hostsoftware oder über Kommandos des Controllers frei wählbar im Arbeitsraum definiert werden. Diese Menge kann beispielsweise durch eine Zusammenfassung einzelner Punkte, Kugeln, und dergleichen erhalten werden. Insbesondere können einzelne Punkte einer empfindlichen Apparatur als zu kontrollierende Geschwindigkeitspunkte der metrikbegründenden Menge hinzugefügt werden. Diese parametriert eine Metrik auf Posen und ermöglicht es so, eine auf diese Menge bezogene Geschwindigkeit zu definieren, die hier als Mengengeschwindigkeit oder Posengeschwindigkeit bezeichnet wird. Da die Posengeschwindigkeit auf die metrikbegründende Menge bezogen ist und ein enger Zusammenhang zwischen der Posengeschwindigkeit und den Geschwindigkeiten der Punkte dieser Menge besteht, ist zur besseren Anschaulichkeit der mit der Posengeschwindigkeit identische Begriff der Mengengeschwindigkeit eingeführt. Die Posengeschwindigkeit kann eine über ein Teil des Pfades oder ein Zeitintervall gemittelte Geschwindigkeit sein.
Dies erlaubt eine einheitliche Geschwindigkeitsvorgabe für kartesische Bewegungen, Drehbewegungen und gemischte Bewegungen. Ein Vorteil dieser Mengengeschwindigkeit ist, dass man ein umschließendes Volumen um zu bewegende Dinge zur Definition einer geeigneten Metrik heranziehen kann und damit sicherstellen kann, dass sich der schnellste Punkt „auf oder innerhalb der Dinge“ höchstens mit der Systemgeschwindigkeit (also der vorgegebenen Maximalgeschwindigkeit) bewegt.
Die Systemgeschwindigkeit ist eine für die gesamte Trajektorie vorgegebene Maximalgeschwindigkeit, die nicht überschritten werden soll. Die Systemgeschwindigkeit ist also die maximale Geschwindigkeit mit der sich der Roboter beim Durchlaufen der Trajektorie bewegen soll, was nicht immer die tatsächlich erreichte oder erreichbare Maximalgeschwindigkeit sein muss (aber sein kann). Insbesondere kann es sich bei der Systemgeschwindigkeit um die anzustrebende Geschwindigkeit der Trajektorie handeln, also die Geschwindigkeit sein, die der Roboter beim Durchlaufen der Trajektorie möglichst haben soll. Sie kann also eine Zielgeschwindigkeit für das System (also den Roboter) sein, die beim Durchlaufen der Trajektorie realisiert werden soll. Die Systemgeschwindigkeit ist ein Parameter zur Gestaltung einer zeitoptimalen Trajektorie unter Einhaltung von gegebenenfalls weiteren Randbedingungen (z.B. eine beschränkte Beschleunigung). Insbesondere ist es bei kurzen Pfaden oftmals der Fall, dass eine anzustrebende Systemgeschwindigkeit wegen begrenzender Maximalbeschleunigungen nicht erreicht wird.
Damit können Geschwindigkeiten sowohl sicher, schnell und unkompliziert vorgegeben werden. Des Weiteren lassen sich die Geschwindigkeiten speziell auf die zu bewegenden Körper zugeschneiden.
Bei den Punkten der metrikbegründenden Menge kann es sich um Relativpunkte und/oder Absolutpunkte handeln. Anders gesagt können die Punkte der metrikbegründenden Menge Relativpunkte und/oder Absolutpunkte beinhalten. Wie im Folgenden erklärt, beziehen sich die Begriffe Relativpunkte und/oder Absolutpunkte dabei auf das Transformationsverhalten der Punkte bei Änderungen der Position und/oder der Orientierung der Kinematik. Die Verschiebungsabstände relativer Punkte werden also im Vergleich mit Absolutpunkten algorithmisch unterschiedlich behandelt.
Relativpunkte
Relativpunkte geben jeweilige Positionen im Arbeitsraum relativ bezüglich der Position und der Orientierung der Kinematik an. Sie bewegen sich beim Durchlaufen der Trajektorie mit der Kinematik so mit, dass sich die Relativpositionen bezüglich der Position und der Orientierung der Kinematik nicht ändern. Anders gesagt ruhen Relativpunkte beim Durchlaufen der Trajektorie in einem Koordinatensystem, das dem zeitlichen Verlauf der Position und der Orientierung der Kinematik entspricht. Ein Relativpunkt ist also ein Punkt, der Posentransformation unterworfen ist, wenn er mitbewegt wird, denn ein Aspekt jeder Pose ist eine Transformation bzw. Koordinatentransformation.
Relativpunkte können z.B. Punkte im Arbeitsraum der Kinematik sein, die sich beim Durchlaufen der Trajektorie mit der Kinematik mitbewegen und der Form eines mitbewegten Körpers (z.B. ein Werkzeug) entsprechen. Sie können den Körper umhüllen, bzw. eine Hülle des Körpers definieren. Der Begriff des mitbewegten Körpers kann sich auf die bewegte Plattform bzw. den Endeffektor beziehen, die ja auch mitbewegt werden. Es kann sich aber auch um einen anderen Gegenstand, etwa ein Werkzeug oder anderes Objekt handeln. Relativpunkte können sich auch im Innern des Körpers befinden, oder in der Nähe des Körpers, wenn es sich z.B. um eine geschätzte Form des Körpers handelt. Eine echte Abschätzung der Maximalgeschwindigkeit aller Punkte des Körpers ist möglich, wenn die konvexe Hülle von Körperpunkten den Körper einbettet, also beinhaltet.
An dieser Stelle wird angemerkt, dass sich der Begriff Position und Orientierung der Kinematik in der vorliegenden Anmeldung zum Beispiel auf die Position und Orientierung (also die Pose) eines/des Endeffektors der Kinematik bezieht.
Die Weltkoordinaten eines Relativpunkts
Figure imgf000015_0002
hängt also von der Pose der Kinematik ab.
Figure imgf000015_0001
Die Posentransformation eines Punktes
Figure imgf000015_0003
kann dabei durch die Formel
Figure imgf000015_0005
beschrieben werden, wobei
Figure imgf000015_0004
die der Pose P entsprechende Drehmatrix, und der der Pose
Figure imgf000015_0006
P entsprechende Translationsvektor ist.
Nimmt die Kinematik also z.B. die Pose p0 an und wird die Position des Relativpunkts relativ zu der Position und Orientierung der Kinematik mit bezeichnet, so sind die der Pose p0 entsprechenden Weltkoordinaten des Relativpunkts, durch
Figure imgf000015_0007
Figure imgf000016_0001
gegeben. Hierbei gibt R0 ∈ SO(3) die Orientierung (Drehung) der Pose p0 im Weltkoordinatensystem und die Position der Pose p0 im Weltkoordinatensystem
Figure imgf000016_0002
(Verschiebung/Translation bzgl. des Ursprungs des Weltkoordinatensystems) an. Die Weltkoordinaten
Figure imgf000016_0003
eines Relativpunkts ändern sich also bei Änderungen der Position und/oder der Orientierung der Kinematik, während sich seine Position a relativ zu der Position und Orientierung der Kinematik nicht ändert.
Relativpunkte können dazu verwendet werden, die Geschwindigkeit einzelner mitbewegter Körper vorzugeben. Geschwindigkeiten mitgeführter Körper können dadurch gezielt beeinflusst werden. Dies ermöglicht die Kommandierung von Geschwindigkeiten, die weit oberhalb unserer üblichen Systemgeschwindigkeiten liegen. Betroffen hiervon sind beispielsweise Körper, die über einen Ausleger an der beweglichen Plattform befestigt sind und darum bei Winkeldrehungen weiträumig geschwenkt werden. Man denke etwa an die Bewegung von mitgeführten Motorhauben bei der KFZ-Montage. Motorhauben wären dann normalerweise erheblich größer als der Roboter/Hexapod selbst.
Absolutpunkte
Absolutpunkte geben jeweilige Positionen im Arbeitsraum an. Absolutpunkte entsprechen also einem ortsfesten Bereich im Arbeitsraum, z.B. die durch die Absolutpunkte gegebene konvexe Hülle. Natürlich lässt sich auch eine Absolutpunkt relativ bezüglich einer Pose der Kinematik ausdrücken, seine Position in Weltkoordinaten ändert sich aber bei Änderungen der Position und/oder der Orientierung der Kinematik nicht. Anders gesagt bleiben die Weltkoordinaten eines Absolutpunkts, bei Änderungen der Position und/oder der Orientierung der Kinematik unverändert, während sich seine Relativposition zu der Position der Kinematik ändert.
Ein Absolutpunkt bewegt sich also nicht mit der Kinematik mit, wenn diese eine Trajektorie durchläuft. Absolutpunkte können verwendet werden, um die Geschwindigkeit an von Kollisionen bedrohten Orten zu begrenzen, also um eine Schutzzone zu definieren (wo sich z.B. Menschen aufhalten können).
Die Möglichkeit der Geschwindigkeitsvorgabe innerhalb beliebiger Raumvolumen verbessert die Ergebnisse von Scanalgorithmen beispielsweise beim Faseralignment. Ebenso wird die Kontrolle der kartesischen Raumgeschwindigkeiten verbessert, wenn es darum geht, empfindliche Apparaturen und dergleichen durch lokale Geschwindigkeitsbegrenzungen zu schützen.
Posenmetrik
Die Posenmetrik weist jedem Posenpaar einen nichtnegativen, reellen Funktionswert zu. Der Begriff umfasst hier Funktionen die die mathematischen Kriterien einer Metrik erfüllen. Es können aber auch andere geeignete Funktionen etwa heuristischer Art eingesetzt werden, die beispielsweise Pseudometriken sind, oder nicht auf dem gesamten Posenraum definiert sind etc.. Die Metrik kann im Betrieb einer Kinematik wahlfrei geändert bzw. an die jeweilige Anwendung angepasst werden. Dies kann insbesondere durch Änderung/Anpassung der Punkte metrikbegründenden Menge (Hinzufügen und/oder Entfernen von Punkten) und oder der zugrundeliegenden Norm des
Figure imgf000017_0001
geschehen.
Der durch eine Posenmetrik definierte Abstand zwischen zwei Posen wird auch als Posenabstand oder Mengenabstand bezeichnet. Aufbauend auf dieser Metrik kann dann auch eine Posengeschwindigkeit definiert werden. Diese Posengeschwindigkeit ist bei der somit auf eine Punktmenge im Arbeitsraum bestehend aus mitbewegten und/oder nicht- mitbewegten Punkten bezogen. Die Geschwindigkeit des schnellsten Punktes dieser Punktmenge entspricht bei einer bevorzugten Metrik definitionsgemäß der aktuellen Posengeschwindigkeit. Die Mengengeschwindigkeit ist z. B. Mengenabstand dividiert durch die Zeit, der Posenabstand ist gleich dem durch die Posentransformation bewirkte Mengenabstand. Die Geschwindigkeit von Posen im Posenraum wird also auf Punktgeschwindigkeiten in
Figure imgf000017_0002
heruntergebrochen. Die Posengeschwindigkeit umfasst dabei kartesische Bewegungen und zugleich die Winkelgeschwindigkeiten der Pose. In analogerweise können dann eine Posenbeschleunigung, ein Posenjerk, ein Posensnap usw. definiert werden.
Die Definition eines Abstandsbegriffs von Posen, insbesondere einer Metrik, ermöglicht die Vorgabe einer einzigen Maximalgeschwindigkeit, hier auch als Systemgeschwindigkeit bezeichnet. Es müssen also nicht etwa sowohl eine Translationsgeschwindigkeit als auch eine Winkelgeschwindigkeit vorgegeben werden. Winkelgeschwindigkeiten und Translationsgeschwindigkeiten sind miteinander verknüpft. Die Systemgeschwindigkeit ist dann die Mengengeschwindigkeit und bezieht sich in einer bevorzugten Metrik auf die in ihren Punkten auftretende Geschwindigkeit. Die Systemgeschwindigkeit fußt also auf dem Mengenabstand. Die auftretenden Mengenabstände wiederum können durch die Wahl einer geeigneten metrikbegründenden Menge beeinflusst werden. Die metrikbegründende Menge lässt sich jederzeit situationsbedingt und opportunistisch anpassen. Um einen Abstand zwischen zwei Posen p1 und p2 und/oder eine Posenmetrik zu definieren, kann im Allgemeinen eine beliebige geeignete Funktion verwendet werden, die von (nicht notwendigerweise allen) Verschiebungen der Punkten der metrikbegründenden Menge im Weltkoordinatensystem (für die Relativpunkte) und/oder den (virtuellen) Verschiebungen im mitbewegten Koordinatensystem (für die Absolutpunkte) abhängt . Insbesondere kann eine Funktion die von den Beträgen dieser Verschiebungen abhängt, basierend auf einer beliebige auf definierte Norm, als Posenmetrik verwendet werden. Die Posenmetrik wird also über die oben definierte Mengenmetrik bestimmt, die von der metrikbegründenden Menge abhängt. Dabei kann es um Punkte handeln, die einem sich mitbewegenden Starrkörper(n) und/oder ortsfesten Raumbereich(en) entsprechen.
Ist z.B. ein Pfad von der Startpose P(0) einer Bewegung zur Zielpose P(n) gegeben, der gegebenenfalls in weitere Abschnitte eingeteilt sein kann. Die vollständige Posenfolge auf dem Pfad sei P(0), P(1),P(2)... P(n), n >0. Dabei ist anzumerken, dass in der Regel abgestrebt wird, die Längen der einzelnen Posenabstände sehr klein auszulegen, um der Bewegungsinterpolation während der Bewegungsausführung viele Stützstelle zu liefern. Eine Unterteilung eines Point to Point - Pfades in mehrere hundert Zwischenpositionen ist oft sinnvoll.
Sei a nun ein Punkt des Arbeitsraumes, gegeben in Weltkoordinaten. Gesucht wird der Verschiebungsabstand des Punktes zwischen der Pose P(s) und P(s+1), s<n.
Betrachtet wird zunächst ein Relativpunkt
Figure imgf000018_0004
. Hierbei erfolgt eine Verschiebung des Punktes in Weltkoordinaten bei der Posenänderung von P(s) zu P(s+1). Innerhalb des betrachteten Pfadabschnittes wird der Punkt von
Figure imgf000018_0003
nach verschoben. Hierbei ist
Figure imgf000018_0005
Figure imgf000018_0006
Figure imgf000018_0001
wie bereits oben erklärt. Der Abstand der Verschiebung ist deshalb
Figure imgf000018_0007
. Da die Metrikformen auf Punktabstände gründen, ist durch die Ermittlung
Figure imgf000018_0002
der Verschiebungsabstände alle Punkte einer metrikbegründenden Menge der Posenabstand zwischen P(s) und P(s+a) festgelegt.
Betrachtet sei jetzt ein Absolutpunkt
Figure imgf000018_0008
. Er verbleibt im Weltkoordinatensystem unverändert, und es wird lediglich seine virtuelle Verschiebung von Zwischenpose zu Zwischenpose betrachtet, ebenfalls in Weltkoordinaten. Im Wechsel von Pose P(s) zu Pose P(s+1) wird der Punkt virtuell hin zum Punkt verschoben.
Figure imgf000018_0009
P(s+1) ° P(s)-1 ist dabei die Posentransformation, welche die Pose P(s) in die Pose P(s+1) überführt. P(s)-1 bezeichnet dabei das inverse Element der Posentransformation P(s) in SE(3), ° ist die Verknüpfung von Posentransformationen. Pose, Posentransformation und Element von SE(3) bezeichnen dasselbe. Der virtuelle Verschiebungsabstand des Absolutpunktes hat damit die Größe
Figure imgf000019_0001
. Da sich Punktabstände bei Posentransformationen nicht ändern kann man wie folgt umformen:
Figure imgf000019_0002
Hierbei kann die zu der Posentransformation inverse Abbildung, entsprechend dem inversen Element aus SE(3) von P, durch Auflösen obiger Gleichung nach
Figure imgf000019_0004
ermittelt werden, wodurch sich
Figure imgf000019_0003
ergibt.
Im Folgenden wird eine beispielhafte Mengenmetrik vorgestellt.
Robot displacement metric (DISP-Metrik)
Die unter der Bezeichnung robot displacement metric bekannte Metrik weist zwei Posen p1 und p2, basierend auf einer metrikbegründenden Menge A, den Wert
Figure imgf000019_0005
zu, wobei , falls
Figure imgf000019_0008
ein Relativpunkt ist;
Figure imgf000019_0006
Figure imgf000019_0007
und falls ein Absolutpunkt ist. Hierbei bezeichnet || || eine
Figure imgf000019_0009
Figure imgf000019_0010
beliebige auf defnierte Norm, z.B. die euklidische Norm. Jede Norm induziert also eine eigene DISP-Metrik und die vorliegende Erfindung ist nicht auf eine spezielle Norm eingeschränkt. Ein solcher mit der DISP-Metrik bestimmter Posenabstand wird hier auch als DISP-Abstand bezeichnet. Die so definierte Abstandsfunktion erweist sich als Metrik auf Posen.
Eine besondere physikalische Bedeutung hat die DISP-Metrik, wenn die Norm || || die Euklidische Norm ist. Diese DISP-Metrik wird im Folgenden als Euklidische DISP-Metrik bezeichnet.
In Fig. 4 ist der allgemeine Fall dargestellt, wie aus einer metrikbegründenden Menge, einer Metrikform und einer beliebigen Metrik auf R3 eine Posenmetrik erhalten wird. Die Metrikform bildet also die Posenmetrik aus zwei Argumenten.
In Fig. 5 ist ein bevorzugter Fall dargestellt, hier wird aus der Euklidischen Metrik des R3 und der DISP-Metrik die Euklidische DISP-Matrik gebildet.
Enthält die metrikbegründende Menge nur Relativpunkte, so wird den Posen p1 und p2 also die betragsmäßig maximale Verschiebung unter den Verschiebungen, die die Punkte der metrikbegründenden Menge erfahren, wenn man sich von einer der beiden Posen zu der anderen bewegt, als Abstand zugeordnet. Der Abstand zweier Posen ist dann der maximale Abstand, den ein Punkt der metrikbegründenden Menge bei Bewegung von einer der zwei Posen zu der anderen der zwei Posen verschoben wird. Der Posenabstand ist also gegeben durch die Translationsdistanz jener Punkte der metrikbegründenden Menge, die durch die Translation die betragsmäßig größte Verschiebung erfahren.
Was Absolutpunkte angeht ordnet die DISP-Metrik den beiden Posen p1 und p2 die betragsmäßig maximale Verschiebung unter den Verschiebungen zu, um die sich Absolutpunkte in einem mit der Pose von p1 zu p2 mitbewegtem Koordinatensystem erfahren. Die Posengeschwindigkeit eines durch Absolutpunkte gegeben Raumvolumens gibt also an, welche Geschwindigkeit ein Körper annimmt, wenn er sich diesem Raumelement nähert.
Enthält die metrikbegründende Menge Relativpunkte und Absolutpunkte, so entspricht der Abstand der beiden Posen betragsmäßig der maximalen Verschiebung unter den Verschiebungen der Relativpunkte im Weltkoordinatensystem und den Verschiebungen der Absolutpunkte in einem mitbewegten Koordinatensystem (z.B. dem TOOL- Koordinatensystem). Die Posengeschwindigkeit entspricht dann (betragsmäßig) einer maximalen Geschwindigkeit unter den Geschwindigkeiten mit denen:
(i) sich die Relativpunkte beim Durchlaufen der Trajektorie (z.B. im Weltkoordinatensystem) bewegen, und
(ii) jeweils die Absolutpunkte von einem mit der Kinematik mitbewegten Raum (z.B. vom TOOL-Koordinatensystem) überstrichen werden, und/oder sich die Absolutpunkte jeweils beim Durchlaufen der Trajektorie im TOOL-Koordinatensystem bewegen.
Die Posengeschwindigkeit eines mitbewegten Körpers kann also beispielsweise einen empfindlichen mitbewegten Körper vor Beschädigung schützen, indem seine Geschwindigkeit klein gehalten wird. Die Posengeschwindigkeit eines Raumelements dagegen kann einen im Arbeitsraum ortsfesten Körper vor Bewegungen des Roboters schützen, der sich in diesem Raumelement befindet.
Der Spezialfall der DISP-Metrik, bei der die euklidische Norm verwendet wird, wird wie oben beschrieben Euklidische DISP-Metrik bezeichnet.
Beinhaltet, wie in Fig. 6 veranschaulicht, die metrikbegründende Menge z.B. drei Relativpunkte a1 , a2 und a3, so ist die DISP-Metrik durch dA ,1(p1,p2) = max{llV1ll, ||V2 ll, llV3ll ) gegeben, wobei
Figure imgf000020_0001
die durch den Übergang von der Pose p1 zur Pose p2 induzierte Verschiebung des Punktes ist. Ein Beispiel für eine von der DISP-Metrik verschiedenen Metrik ist durch gegeben, wobei || || wieder eine
Figure imgf000020_0002
beliebige Norm, z.B. die euklidische Norm ist. Die dA,2 ist eine bevorzugte Metrik, deren Implementation wegen ihrer Vorzüge sich sogar parallel bzw. zur DISP-Metrik lohnen kann. Denn in diesem Falle kann man - falls || || die Euklidische Metrik ist - so etwas wie die angenäherte Durchschnittsgeschwindigkeit eines Volumens vorgeben, indem man beispielsweise ein Volumen gitterartig mit Punkten füllt, oder auch nur das Volumen in einen Quader setzt und die 8 Eckpunkte betrachtet und deren durchschnittlichen Verschiebungsbeträge betrachtet.
Es wird im Folgenden noch auf die Metrikeigenschaft von dA, 1 eingegangen. Sei X eine beliebige Menge. Eine Abbildung d: X x X -> R heißt Metrik auf X, wenn für beliebige Elemente x,y,z von X die folgenden Eigenschaften gegeben sind
1 . Positive Definitheit ; d(x,y) = 0 ↔ x=y
2. Symmetrie: d(x,y) = d(y,x)
3. Dreiecksungleichung: d(x,z) <= d(x,y) + d(y,z)
Da unsere metrikbegründenden Mengen qualifizierte Punktmengen sind, erfüllt die DISP- Metrik (1).
Die DISP-Metrik erfüllt definitionsgemäß (2).
Die Eigenschaft (3) überträgt sich unmittelbar von der Euklidschnen Metrik einzelner Punkte auf die metrikbegründenden Menge, denn auch schon in der Euklidischen Metrik gilt ja die Dreiecksungleichung. Dasselbe gilt für dA,2 .
Die unterschiedliche Behandlung von Relativ- und Absolutpunkten wird nun mit Bezug zu Fig. 7 bis 9 veranschaulicht. In Fig. 7 ist ein serieller Roboter mit 2 Freiheitsgraden gezeigt, links in der Draufsicht und rechts in der Seitenansicht. Bei diesem Roboter sitzt ein Drehversteller 102, 104 auf einem linearen Versteller 101 , 103. Der lineare Versteller ermöglicht eine Bewegung in X-Richtung, der Drehversteller 102 eine überlagerte Bewegung in W-Richtung.
Fig. 8 stellt die Bewegung eines mitbewegten Körpers (d.h. hier vereinfachend dargestellt durch einen Relativpunkt) dar und veranschaulicht also die Behandlung von Relativpunkten. Der Körper 201 bewegt sich im Arbeitsraum während der Roboter eine Trajektorie durchläuft. Hier wird der Roboter in der Posenfolge 202, 203, 204 und 205 bewegt. Ein am Drehversteller befestigter Körper 201 folgt den Bewegungen des Roboters. Seine Lage ist jeweils rechts neben dem Roboter dargestellt. Dabei erfährt der Körper Verschiebungen in der Folge 206, 207 und 208. Der entsprechende Pfeil gibt die Richtung der Verschiebung an, seine Länge ergibt sich aus der zugrunde gelegten Metrik. Sollen die Bewegungen in der Folge von 202 bis 205 jeweils mit derselben Posengeschwindigkeit durchgeführt werden, dann wird die der jeweiligen Bewegung eine Zeit zugemessen, die der Pfeillänge proportional ist. Die Vorgabe einer einheitlichen Posengeschwindigkeit eines Körpers bewirkt, dass der bewegte Körper auf dem Weg zwischen zwei Posen immer dieselbe Geschwindigkeit aufnimmt. Mithin ist hier die Posengeschwindigkeit eines Körpers vorgegeben.
Fig. 9 stellt die virtuellen Bewegungen eines Raumvolumens 301 des Arbeitsraums dar. Die Bewegung wird hier als virtuell bezeichnet, da die Pose dieses Raumvolumens von den Bewegungen des Roboters unberührt bleibt. Der Roboter wird wieder in der Posenfolge 202, 203, 204 und 205 bewegt. Beschreibt man die Pose des Volumenelements 301 ( hier dargestellt durch einen Absolutpunkt) relativ zur Pose des Roboters, so kann dem Volumenelement eine veränderliche, abhängige Pose zugeordnet werden. Beispielsweise kommt es beim Wechsel von Pose 302 zu Pose 303 zu einer solchen Verschiebung, dargestellt durch den Pfeil 306, da die Verschiebung des Punktes im Gegensatz zur Verschiebung des Roboters virtuell ist. Die Pfeilrichtungen in Fig. 9 sind gleich den entsprechenden Pfeilrichtungen der Fig. 8 gewählt. Bei einer auf die Bewegung des Raumes um den Punkt bezogenen Betrachtung wären die Richtungen invertiert zu zeichnen, da man sich ja für die scheinbare Bewegung des Raumes um ein Volumenelement interessiert. Wie in den Bildern 302 bis 305 gezeigt, verbleibt das Raumelement an seinem Ort, erfährt aber nacheinander die virtuellen Verschiebungen 306, 307, 308. Aufgrund dieser Verschiebungen kann dem Raumelement auch eine virtuelle Geschwindigkeit zugeschrieben werden. Man erhält die Pfadlänge in Fig. 9 also nicht, indem man auf eine Punktmenge die Abfolge der ursprünglichen Posen anwendet, sondern stattdessen indem man die Abfolge der hierzu jeweilig inversen Posenänderungen heranzieht, wobei jede neue Posenänderung in der ursprünglichen Ausgangspose ansetzt.
Fig. 8 und Fig. 9 zeigen, dass Abstände basierend auf derselben Abstandsfunktion auf zweierlei Weise gewonnen werden können: Einmal betrachtet man den Fall eines bezüglich des Arbeitsraumes bewegten Objekts (Fig. 8), das andere Mal ein ruhendes Objekt (Fig. 9) bei der sich die Umgebung scheinbar bewegt. Gezeigt wird dann, wie sich aus ein und derselben Abstandsfunktion derselben Punktmenge und identischer Folge kommandierter Posen verschiedene Pfadlängen ergeben, je nachdem, ob das Objekt als mitbewegt oder ruhend behandelt wird. Die unterschiedlichen Pfadlängen führen auch zu einer anderen Trajektorie bzw. zu einem anderen Geschwindigkeitsverlauf. Im Beispiel unterscheidet sich die Länge des Pfeiles 208 in Fig. 8 von der Länge des Pfeiles 308, wobei die Länge der Pfeile für die Längen eines Pfadabschnitts stehen. Man erkennt damit anschaulich, dass beim Algorithmus der Trajektorienbestimmung zwischen der Posengeschwindigkeit eines Körpers und der virtuellen Posengeschwindigkeit eines Raumvolumens unterschieden werden muss.
Eine beliebige Punktmenge, deren konvexe Hülle ein nichtleerer Volumen bildet, kann zur Geschwindigkeitsdefinition zur metrikbegründenden Menge hinzugefügt werden oder diese ausmachen. Umgekehrt kann zu einer endlichen, ein Volumen aufspannenden Punktmenge im Raum die entsprechende konvexe Hülle gebildet werden. Die konvexe Hülle einer qualifizierten Punktmenge im Anschauungsraum hat z.B. die Gestalt eines Polyeders. Wird die Euklidische DISP-Metrik verwendet, kann bei der erfindungsgemäßen Trajektoriengenerierung kein Punkt innerhalb des gebildeten Polyeders die maximale Punktgeschwindigkeit in seinen Ecken überschreiten. Empfindliche Bereiche können dadurch flexibel und mit geringem Rechenaufwand geschützt werden. Als metrikbegründende Menge kann auch eine Kugel im Arbeitsraum vorgeben werden, die beispielsweise eine empfindliche Apparatur einhüllt. Dabei wird die Kugel durch eine endliche Punktmenge sie umhüllender Punkte umhüllt. Die Punkte werden zur metrikbegründenden Menge hinzugefügt bzw. die metrikbegründenden Menge beinhaltet Punkte des Kugelvolumens und/oder der Kugeloberfläche. Dabei können Kugeldurchmesser und Kugelursprung vorgegeben werden. Wie oben gezeigt, kann kein Punkt innerhalb einer Kugel die Mengengeschwindigkeit der Kugeloberfläche überschreiten. Zur einfacheren Berechenbarkeit kann bei der Pfaddefinition, statt Kardanwinkeln eine vorbestimmte Drehachse in den Pivotpunkt bzw. TCP (Tool Center Point) gelegt werden. Wie im Anschluss gezeigt, kann dies eine schnellere Berechnung von Mengenabständen erlauben. Es ist angemerkt, dass eine Kugel auch beliebig genau durch ein Polyeder, z.B. eine reguläres Icosahedron, approximiert werden kann.
Vereinfachte Berechnung der Mengengeschwindigkeit
Wie im folgendem erklärt, ist es in vielen Fällen möglich die Mengengeschwindigkeit einer Menge unendlich vieler Punkte wie Raumvolumen durch das Ermitteln der Mengengeschwindigkeit einer aus wenigen Punkten bestehenden Teilmenge zu ermitteln, oder gegebenenfalls nur abzuschätzen. Dies kann die Berechnung der Mengengeschwindigkeiten erheblich vereinfachen.
Zum Beispiel kann im Allgemeinen die maximale Verschiebung basierend auf Verschiebungen von einem oder mehreren der metrikbegründenden Punkte geschätzt werden, die sich auf der Oberfläche eines Raumvolumens befinden, dessen Bewegung betrachtet werden soll. Anders gesagt kann die maximale Verschiebung basierend auf Verschiebungen einer insbesondere endlichen Teilmenge der metrikbegründenden Punkte geschätzt werden. Dies kann z.B. basierend auf einem, mehreren, oder den Punkten, die sich auf der Oberfläche eines Raumvolumens befinden, das den metrikbegründenden Punkten entspricht, passieren. In manchen Ausführungsformen werden für die Bestimmung der Mengengeschwindigkeit daher nur die oder einige der Randpunkte angeschaut.
1) Geschwindigkeitsbeschränkung innerer Punkte
Es wird nun gezeigt, dass die Maximalgeschwindigkeit der Punkte eines konvexen Polyeders von mindestens einem auf der Oberfläche des Polyeders liegenden Punkt realisiert wird. Es wird insbesondere gezeigt, dass in jedem Punkt eines Polyeders eine Geschwindigkeit herrscht, die kleiner gleich der Geschwindigkeit mindestens eines seiner Eckpunkte ist (zu unterschiedlichen Zeitpunkten kann dies natürlich ein anderer Eckpunkt sein). Diese Geschwindigkeitsbeschränkung gibt der Euklidischen DISP-Metrik eine besondere Bedeutung, weil man eine Geschwindigkeitsbegrenzung der konvexen Hülle einer aus einer endlichen Menge bestehenden metrikbegründenden Menge erreichen kann.
Unter Geschwindigkeit wird hier der Betrag des Geschwindigkeitsvektors verstanden. Für den Fall, dass sich das Polyeder nur translatorisch bewegt, ist nichts zu zeigen, da alle Punkte die gleiche Geschwindigkeit haben.
Im Folgenden werden daher nur Verschiebungen behandelt, die auch Drehungen umfassen. Dabei wird ausgenutzt, dass jede allgemeinste Verschiebung jedes Körpers im Raum gemäß Chasles Theorem durch eine Schraubung dargestellt werden kann. Dieser Begriff der Schraubung umfasst auch den Fall einer reinen Drehung.
Chasles Theorem besagt, wie in Fig. 10 veranschaulicht, dass jede Verschiebung eines starren Körpers eine Schraubenbewegung ist, d.h., es gibt stets eine Achse Q, so daß eine Drehung um den Winkel w bei gleichzeitiger Translation h entlang der Achse Q die gegebene Verschiebung hervorbringt. H und/oder w können dabei den Wert 0 annehmen.
Wie auch aus Fig. 10 ersichtlich, hängt die Momentangeschwindigkeit eines Polyederpunktes nur von seinem Abstand zur Schraubungsachse ab. Genauer gesagt nimmt die Geschwindigkeit eines Punktes mit dem Abstand zur Schraubungsachse zu. Dies lässt sich natürlich ebenso rechnerisch zeigen. Die Bestimmung der Orte maximaler Geschwindigkeit reduziert sich also auf eine rein geometrische Aufgabe.
Um die Aussage zu zeigen, wird im Folgenden die Lage von Polyederpunkten in Äquivalenzklassen eingeteilt. Wichtig ist hier der Nachweis, dass es in einigen Klassen bei all ihren Vertretern gilt, dass kein Punkt einen Abstand zur Drehachse hat, der eine obere Schranke des Abstandes von der Drehachse realisiert, weil zu jedem Punkt ein Punkt mit noch größerem Abstand existiert. Die Existenz eines Maximums der Geschwindigkeit im Polyeder folgt aus seiner Kompaktheit und der Stetigkeit der Geschwindigkeitsverteilung im Polyeder.
1. Das Innere des Polyeders
Im Inneren des Polyeders kann in keinem Punkt eine obere Schranke des Abstands realisiert werden, da in offene Mengen definitionsgemäß um jedem ihrer Punkte eine Epsilon- Umgebung gefunden werden kann, und jede Epsilon-Umgebung einen „Bewegungsspielraum“ hin zu größeren Abständen bietet.
2. Das Innere einer Facette
Betrachtet wird ein beliebiger Punkt im Inneren einer Facette (Seitenfläche eines Polyeders). Dann kann man durch diesen Punkt 2 beliebige verschiedene Geraden legen, die in der Ebene der Facette verlaufen.
Fall 1 : Eine der Geraden schneidet die Schraubungsachse. Dann betrachtet man eine Epsilon- Umgebung auf der Grade um diesen Punkt und schließt auf die Existenz von Punkten mit noch größerem Abstand zur Schraubungsachse. Darum wird im gewählten Punkt der Menge keine obere Schranke realisiert.
Fall 2: Keine Gerade schneidet die Schraubungsachse. Dann ist mindestens eine der beiden Geraden windschief mit der Schraubungsachse, da ja höchstens eine der beiden Geraden parallel zur Schraubungsachse verlaufen kann. Er gibt dann also eine mit der Schraubungsachse windschiefe Gerade durch diesen Punkt. Sind zwei Geraden windschief, dann haben diese aber bezüglich ihres Abstandes keinen Ort des lokalen Maximums. Darum wird im gewählten Punkt der Menge keine obere Schranke des Abstandes realisiert.
3. Das Innere einer Kante
Fall 1 : Die Gerade der Kante schneidet die Schraubungsachse: Man betrachtet man wieder eine Epsilon-Umgebung um jeden beliebigen Punkt und folgert, dass andere Punkte mit noch größerem Anstand zur Schraubungsachse existieren. Darum wird in keinem inneren Punkt der Kante eine obere Schranke realisiert.
Fall 2: Drehachse und Gerade der Kante liegen windschief zueinander. Der Fall windschiefer Geraden wurde oben schon behandelt.
Fall 3: Verläuft die Kante parallel zur Achse dann gehören die beiden begrenzenden Ecken und die inneren Kantenelemente entweder beide zur Menge der Punkte des maximalen Anstands oder sie gehören beide nicht dazu. Wenn im Inneren der Kante ein Maximum des Abstandes liegt, dann ist das Maximum auch in den beiden Eckpunkten der Kante zu finden.
Insgesamt ergibt sich, dass eine obere Schranke des Abstandes in einem Eckpunkt realisiert sein muss, und es handelt sich dann um ein Maximum.
Ganz analog zeigt man, dass auch im Inneren einer Kugel kein Punkt gefunden werden kann, in dem die Geschwindigkeit größer ist als auf der Oberfläche der Kugel.
2) Rotierende Kugel
Eine stabil um eine Gerade rotierende Kugel weist eine konstante Mengengeschwindigkeit auf, insbesondere wenn die Gerade durch ihren Mittelpunkt geht. Der Kugelrotation kann dabei eine translatorische Bewegung überlagert sein. Die Geschwindigkeiten aller Punkte, die auf der der Kugeloberflächen aber nicht auf der Drehachse liegen werden sich im Allgemeinen ständig ändern und periodisch wiederholen. Auch ändert sich ständig der Punkt, der die größte Geschwindigkeit aufweist. Dennoch bleibt die Mengengeschwindigkeit konstant. Eingangswerte für die Berechnung der Mengengeschwindigkeit sind der Richtungsvektor der Translation, der Geschwindigkeit der Translation, der Kugelradius, und die Winkelgeschwindigkeit. Ergebnis ist der Richtungsvektor größter Geschwindigkeit sowie sein Betrag.
Wird ein Pfad von einer Pose A zu einer Pose B, der sowohl Drehungen als auch Translation umfasst, durch eine Rotation um eine Gerade mit überlagerter Translation ausgedrückt, so vereinfacht sich die Trajektorienbestimmung, da die Mengenabstände zum Drehwinkel beziehungsweise der Translationsweite auf dem Pfad proportional sind. Jede Drehung im Raum um einen Punkt kann nach einem Satz von Euler als eine Drehung um eine Drehachse durch diesen Punkt realisiert werde.
Erfindungsgemäß wird eine Trajektorie von Posen auf der Basis einer Posenmetrik bestimmt, wobei ein Pfad der Posen vorgegeben ist. Ein beispielhaftes Verfahren zum Bestimmen einer Trajektorie ist in Fig. 11 dargestellt. Die Trajektorie ist von der Kinematik für eine bestimmte Anwendung zu Durchlaufen.
Der Begriff Anwendung kann sich hierbei auf eine bestimmte Aufgabe oder Tätigkeit, also z.B. welche Werkzeuge und/oder Objekte der Roboter bei Durchlaufen mitbewegt beziehen. Der Begriff Anwendung kann sich aber auch (alternativ oder zusätzlich) auf die spezielle Situation, also Umstände, Gegebenheiten, Umfeld und/oder Rahmenbedingungen unter denen eine solche Aufgabe auszuführen ist beziehen. Dies beinhaltet z.B. ob und, wenn ja, wo sich Menschen aufhalten können und somit erhöhte Sicherheitsbedingungen einzuhalten sind.
Das Verfahren umfasst einen Schritt S1120, in dem, basierend auf der Anwendung, die Punkte der metrikbegründenden Menge bestimmt werden. Wie bereits oben erklärt, handelt es sich um Punkte im Arbeitsraum der Kinematik auf denen eine zur Bestimmung der Trajektorie zu verwendende Metrik des Posenraums beruht. Das Verfahren umfasst einen Schritt S1100, in dem eine Maximalgeschwindigkeit (also die Systemgeschwindigkeit) erhalten S1100 wird. Das Verfahren umfasst einen Schritt S1100, in dem der Pfads der Trajektorie im Posenraum erhalten wird. Das Erhalten der Systemgeschwindigkeit und das Erhalten des Pfads kann im selben oder in getrennten Schritten erfolgen. Der Pfad kann durch eine Berechnung basierend auf einer Ziel- und einer Endpose erfolgen. Die Systemgeschwindigkeit kann z.B. von einem Benutzer eingegeben werden. Die Schritte S1100 und S1120 können in beliebiger Reihenfolge stattfinden.
Das Verfahren umfasst ferner einen Schritt S1140, in dem die Trajektorie, basierend auf dem gegebenen Pfad so bestimmt, dass, wenn die Kinematik die Trajektorie durchläuft, eine auf der Metrik basierende Posengeschwindigkeit kleiner gleich der Systemgeschwindigkeit ist.
Dem eben vorgestellten Verfahren entsprechend wird, gemäß einem anderen Ausführungsbeispiel, eine Steuerungsvorrichtung 1200 zum Steuern einer Kinematik bereitgestellt. Eine solche Steuerungsvorrichtung 1200 ist in Fig. 12 veranschaulicht und dazu eingerichtet, (i) eine Systemgeschwindigkeit, (ii) einen Pfad der Trajektorie in dem Posenraum, und (iii) eine Menge von Punkten im Arbeitsraum der Kinematik, auf denen eine zur Bestimmung der Trajektorie zu verwendende Metrik des Posenraums beruht, zu erhalten. Die Steuerungsvorrichtung 1200 ist ferner dazu eingerichtet, die Trajektorie basierend auf dem Pfad zu bestimmen, so dass, wenn die Kinematik die Trajektorie durchläuft, eine auf der Metrik basierende Posengeschwindigkeit kleiner gleich der Systemgeschwindigkeit ist.
Die Steuerungsvorrichtung 1200 kann in einer beliebigen Hardware umgesetzt werden. Beispielsweise kann diese als Software auf einem programmierbaren Prozessor 1210 laufen. Alternativ kann eine spezialisierte Hardware-Einheit die Steuerungsvorrichtung 1200 darstellen. Es kann eine Mischung aus Spezialhardware und programmierbarer Hardware vorliegen. In einer vorteilhafter Ausführungsform ist die Steuerungsvorrichtung 1200 verteilt und ihre Funktionen können auf mehreren Prozessoren 1210, 1220 beziehungsweise Hardwareeinheiten durchgeführt werden. Insbesondere können die Funktionen des Steuerns der seriellen oder parallelen Kinematik durch eine lokale Steuerung erfolgen und die Berechnung der Interpolation und/oder die Aufteilung des Raumes in die Raumeinheiten kann in einem externen Gerät, wie zum Beispiel einem Rechner erfolgen. Weitere Konfigurationen sind möglich.
Trajektorienbestimmung - Schritt S1140
Im Schritt der Trajektorienbestimmung S1140 wird die Trajektorie basierend auf dem gegebenen Pfad und der gegebenen Systemgeschwindigkeit bestimmt. Die Angabe des Pfads kann auch eine Angabe des Start- und/oder Endpunkts umfassen. Genauer gesagt wird die Trajektorie so bestimmt, dass (beim Durchlaufen der Trajektorie) die Posengeschwindigkeit kleiner gleich der Systemgeschwindigkeit ist. Insbesondere kann die Trajektorie so bestimmt werden, dass die die Posengeschwindigkeit stets möglichst groß, jedoch kleiner gleich der Systemgeschwindigkeit ist. Die Systemgeschwindigkeit kann also die Zielgeschwindigkeit bei der Trajektorienbestimmung sein. Gibt es auch noch Vorgaben für die Posenbeschleunigung, den Posenruck usw. werden diese auch berücksichtigt. Wie bereits erwähnt ist die Trajektorie eine Abbildung von einem Zeitintervall auf die Menge der Posen des Pfades, wobei der Pfad von einem Ende zum anderen Durchlaufen wird. Der Pfad legt die Reihenfolge der Posen fest, die die Kinematik anzunehmen hat. Die Trajektorie legt zusätzlich fest mit welchen Geschwindigkeit die gegebene Reihenfolge zu durchlaufen ist. Die Trajektorie entspricht also einem zeitlichen Verlauf einer Position und Orientierung der Kinematik in Übereinstimmung mit dem Pfad.
Bei der Trajektorienbestimmung kann die Trajektorie aus einem vorgegebenen Pfad der Posen gewonnen werden, indem dem Pfad auf Basis einer Posenmetrik eine Pfadlänge zugeordnet wird und eine Funktion der Pfadlänge auf die verstrichene Zeit definiert wird. Die Funktion kann nach Vorgaben kinematischer Posenmetrikparameter (z.B. Posengeschwindigkeit, Posenbeschleunigung, usw.) bestimmt werden. Zum Beispiel kann der Pfad nach der durch die Posenmetrik gegebenen Pfadlänge, s, parametrisiert werden. Wird darin die Pfadlänge s(t) = t · vmax, wobei vmax die vorgegebene Maximalgeschwindigkeit, also die Systemgeschwindigkeit, bezeichnet, eingesetzt, wird der Pfad mit der vorgegebenen Maximalgeschwindigkeit durchlaufen. Begrenzungen beispielsweise der Beschleunigung erzwingen in der Praxis jedoch komplexere Geschwindigkeitsprofile.
Der Pfad kann z.B. zunächst auch in mehrere Pfadabschnitte aufgeteilt werden. Eine Aufteilung kann durch eine Linearkombination des Parametervektors a der Startposition und des Parametervektors der Zielposition b erhalten werden. Eine Zwischenposition wird erhalten mit einem Parametervektor c = s*a + (1-s) b mit s aus ]0, 1 [. Für einen, mehrere, oder alle der Pfadabschnitte können dann die folgenden Schritte, insbesondere bei Verwendung der DISP- Metrik, ausgeführt werden: (i) Schätzen des Posenabstandes anhand der Punktverschiebungsabstände der metrikbegründenden Menge. Insbesondere, falls z.B. Euklidische DISP-Metrik verwendet wird, kann in diesem Schritt die maximale Verschiebung unter den Verschiebungen, die die Punkte beim Durchlaufen des Pfadabschnitts erfahren, geschätzt werden. Anders gesagt wird hier der Posenabstand (basierend auf der Posenmetrik) zwischen den beiden Posen, die den beiden Enden des Pfadabschnittes entsprechen, berechnet.
(ii) Schätzen, basierend auf der Systemgeschwindigkeit und der geschätzten maximalen Verschiebung, einer Zeitdauer, in der der Pfadabschnitt beim Durchlaufen der Trajektorie zu durchlaufen ist. In diesem Schritt kann die Zeitdauer zum Beispiel geschätzt werden, indem die geschätzte maximale Verschiebung durch die Systemgeschwindigkeit geteilt wird.
Die Trajektorie wird dann so bestimmt, dass der Pfadabschnitt in mindestens der geschätzten Zeitdauer durchlaufen wird. Hierdurch ist die Geschwindigkeit in dem Pfadabschnitt kleiner gleich der Systemgeschwindigkeit.
Beschleunigung, Ruck, etc.
Wie bereits erwähnt lassen sich mit der Posenmetrik analog zur Definition einer Posengeschwindigkeit, basierend auf einer Posenmetrik auch eine Posenbeschleunigung, ein Rosenruck usw. definieren. Das erfindungsgemäße für Geschwindigkeiten beschriebene Verfahren zur Trajektorienbestimmung lässt sich auch auf die Posenbeschleunigung, den Posenruck und die anderen verallgemeinerten kinematischen Größen anwenden bzw. erweitern. Insbesondere kann eine Trajektorie ausgehend von einem Pfad im Allgemeinen so bestimmt werden, dass, wenn die Kinematik die Trajektorie durchläuft: (i) eine auf der Metrik basierende Posenbeschleunigung kleiner gleich einer vorbestimmten Maximalbeschleunigung ist, und/oder (ii) ein auf der Metrik basierende Posenruck kleiner gleich einem vorbestimmten Maximalruck ist.
Spezielle Koordinatensysteme
Die Geschwindigkeitsvorgabe durch eine metrikbegründende Menge kann auch im Zusammenwirken mit speziellen Koordinatensystemen, wie dem Work- oder Tool- Koordinatensystem eingesetzt werden. Insbesondere kann die metrikbegründende Menge basierend auf der Lage des Tool- und/oder des Work-Koordinatensystems bestimmt werden. Die metrikbegründende Menge wird also durch Hinzufügen und/oder Entfernen von Punkten jeweils an die Lage des Work- und/oder Tool-Koordinatensystems angepasst. So können Anpassungen optional über einen Automatismus an die Lage dieser Koordinatensysteme gekoppelt werden, so dass sie bei Konfigurationsänderungen der Koordinatensysteme automatisch z.B. in der Steuerungsvorrichtung angepasst werden.
Soll z.B. ein Motorblock mit einem Fräser bearbeitet werden, so haftet dem Motorblock das Work-Koordinatensystem und dem Fräser das Tool-Koordinatensystem an. Das Werkzeug, der Fräser, wird bewegt, Work als Lage und Orientierung des Werkstücks verbleibt ortsfest. Das Toolkoordinatensystem bezieht sich zunächst auf die Initialisierungspose der Kinematik und wandert mit.
Beim Setzen dieser Koordinatensysteme könnte man automatisch Punkte setzen, die beispielsweise den Ursprung des Tool-Koordinatensystems umhüllen, oder einen Bereich um den Ursprung Work-Koordinatensystems umhüllen. Punkte um das Tool-Koordinatensystem definieren die Geschwindigkeiten des Fräsers und sind als Relativpunkte zur metrikbegründenden Menge hinzuzufügen. Punkte um den Bereich des Work-Nullpunktes können bewirken, dass alle Dinge (wie der Fräser) in der Nähe der Konvexen Hülle dieser Punkte eine moderate Geschwindigkeit nicht überschreiten, diese Punkte (Work- Koordinatensystem) dürfen natürlich nicht mitwandern, sind also einer metrikbegründenden Menge von Absolutpunkten hinzuzufügen.
In einer bevorzugten Ausführung wird z.B. als metrikbegründende Menge eine Kugel, angenähert beispielsweise als reguläres Icosahedron, um den Ursprung des Tool- Koordinatensystem gelegt. Als Folge hiervon ändert sich die Relation zwischen kartesischen Bewegungen und Drehbewegungen bei einer Ortsänderung des Werkzeuges nicht, und die Trajektorie der Drehbewegungen bleibt auch nach einer Ortsänderung des Werkzeugs unverändert. Wiederum können die Winkelgeschwindigkeiten über die Kugelgröße an die Systemgeschwindigkeit gekoppelt werden.
Pivotpunkt(e)
Die Geschwindigkeitsvorgabe durch eine metrikbegründende Menge kann auch im Zusammenwirken mit Pivotpunkten eingesetzt werden. Insbesondere kann die metrikbegründende Menge basierend auf der Lage eines Pivotpunkts bestimmt werden.
Zum Beispiel, insbesondere bei Winkelscans bei Faseralignments, kann man eine metrikbegründende Menge in Form einer Kugelschale um den Pivotpunkt setzen. Es werden hierbei also Relativpunkt im bewegten Faserende verwendet. Hierdurch lassen sich Winkelgeschwindigkeiten bezüglich kartesischer Geschwindigkeiten in ihrem Einfluss auf die Trajektorie durch den Radius der Kugelschale skalieren. Ist die Menge gesetzt, dann kann der Ort des Scans vor überhöhten Punkt-Geschwindigkeiten geschützt werden. Insbesondere bestimmt der Radius einer Kugeloberfläche, auf der gleichmäßig Punkte angeordnet sind bei Drehungen um den Kugelmittelpunkt (z.B. Fräserspitze) das Verhältnis zwischen kartesischer Geschwindigkeit und Drehgeschwindigkeit, was auch bei der Bewegung eines Werkzeuges relevant ist.
Mit einer geeigneten Auslegung eines Pfades von einer Startpose A zu einer Endpose B, deren Posenparameter sich beispielsweise auf einen Pivotpunkt beziehen erreicht man eine Vereinfachungen und Beschleunigungen bei der Trajektorienberechnung . Ausgenutzt wird dabei ein Satz von Euler, wonach alle Drehungen im R3 um einen Punkt durch eine Drehung um eine Drehachse durch diesen Punkt realisiert werden können. Man wählt hier zweckmäßigerweise zur Handhabung der Drehungen und der Umformung in der Parametrierung einer Drehung das Quaternionenkalkül. Die Drehachse und der Drehwinkel ergeben sich beispielsweise durch die Umrechnung der Orientierungsänderung von Pose A nach Pose B in Quaternionendarstellung. Bei der Bewegung einer Kugel von Pose A nach Pose B bleibt, wie oben gezeigt, die Geschwindigkeit des schnellsten Punktes der Kugeloberfläche konstant, wenn die kartesische Geschwindigkeit und die Drehgeschwindigkeit konstant sind und die Drehung um eine Drehachse erfolgt, die durch den Kugelmittelpunkt geht. Bei einer sich translatorisch und sich um eine Achse durch ihren Mittelpunkt sich drehenden Kugel, die sich frei „im Weltraum ungezwungen“ bewegt, kann man eine konstante Maximalgeschwindigkeit finden die in mindestens einem (auch wechselnden) Punkt der Kugeloberfläche auftritt, das ist eine passende Analogie und entspricht dem Pfad Bewegung.
Wählt man als Winkelparameter des Pfades Drehachse und Drehwinkel um eine feste Achse, also die Quaternionendarstellung, dann treten beim Durchlaufen des Pfades jedenfalls nicht wie bei den Kardandrehungen unnötige Kreiselkräfte auf, was bei Shakerhexapoden relevant sein kann und im Allgemeinen Anregungen von Eigenschwingungen z.B. eines Hexapoden reduzieren kann. Auch bleibt dann die Transformationsmatrix von Posenabschnitt zu Posenabschnitt konstant, falls die Posenparameter auf dem Pfad linear interpoliert werden und die Pfadabschnittslängen gleich sind. Dann müssen die Drehmatrizen nicht ständig neu errechnet werden. Diese Rechenersparnis kann bei der Verwendung kostengünstiger Steuerungen von Hexapoden (Flugsimulatoren) relevant sein.
Bogenlänge des Pfads eines bewegten Starrkörpers Die Berechnung der Bogenlänge der Bahnkurve (oder auch Bahn genannt) eines bewegten Massepunktes ist in Fig. 13 veranschaulicht, um die Berechnung der Bogenlänge des Pfades eines bewegten Starrkörpers - genauer gesagt seiner Pose - als Analogie zu erläutern. Mit der anschaulichen Bezeichnung der Bogenlänge eines Pfades ist hier dasselbe gemeint wie mit Pfadlänge, die gleichbedeutend mit der Pfadlänge im Posenraum ist.
Die Bogenlänge der Bahnkurve lässt sich berechnen, indem man die einzelnen Züge
Figure imgf000032_0003
gegen 0 gehen lässt und integriert. Parametriert man die Kurve mit der zeit, dann ist jedem Punkt auf der Kurve jederzeit eine Geschwindigkeit zugeordnet. Dies ist bei der Bahn eines Massepunktes in dieser Weise möglich, weil ein Punkt in einem Euklidischen Vektorraum bewegt wird. Der Euklidische Abstand ist (gemäß Pythagoras) bei zweidimensionalen Vektoren (a,b) und (c,d) als
Figure imgf000032_0001
gegeben. Solch eine Abstandsfestlegung ist ein Beispiel für eine Metrik auf
Figure imgf000032_0002
. Kommen (dreidimensionale) Starrkörper ins Spiel, müssen auch noch Drehungen betrachtet werden. Wohlgemerkt geht es dabei nicht einfach um den Abstand beispielsweise des Schwerpunkts, stattdessen sollen auch Verdrehungen durch den Abstandsbegriff umfasst werden.
Es braucht also ein Abstandsmaß für Posen, das sowohl die Verdrehung als auch die kartesische Verschiebung umfasst, wie nun mit Bezug auf Fig. 14 bis 17 genauer erklärt wird. Fig. 14 zeigt eine Folge von Posen eines zweidimensionalen Körpers im zweidimensionalen Raum, wobei der Euklidische DISP-Abstand benachbarter Posen dargestellt ist. Fig. 15 veranschaulicht die Gewinnung einer Pfadlänge aus dem Posenpfad eines bewegten Körpers auf der Basis einer Metrik anhand des in Fig. 14 gezeigten Posenpfads. In Fig. 16 und 17 sind Geschwindigkeitsverläufe gezeigt, die einem Pfad wie in Fig. 14 zugeordnet werden können und den Pfad damit zu einer Trajektorie ergänzen können.
In Fig. 14 ist eine unterbrochene geschwungene Linie dargestellt. Die linke Seite beschreibt den ersten Teil eines Pfades eines dreieckigen Körpers beginnend in der Pose 401 , die rechte Seite zeigt das Endstück des Pfades. Bewegt wird ein dreieckiger Körper der Ausgangspose 401 , wobei zur Abstandsbestimmung aufeinander folgender Posen nur seine drei Eckpunkte herangezogen werden. Auf dem Pfad, in der Folge von links nach rechts, wird das Dreieck in verschiedenen Zwischenposen dargestellt. Durch die Menge der Zwischenposen auf der geschwungenen Linie sei ein Pfad vorgegeben, dessen genauer Verlauf durch Interpolationen festgelegt werden muß. In der Abfolge der Posen sind die Verschiebungen und Drehungen jeweils zwischen zwei Posen des Körpers sowie die Unregelmäßigkeiten zur Verdeutlichung in Fig. 14 in ihrem Ausmaß besonders betont. Es soll hier nur das Prinzip dargestellt werden. Die hier dargestellte Metrik ist die Euklidische DISP-Metrik. Der Abstand zwischen zwei Posen ist das Maximum der Verschiebungsabstände jener Punkte, die zu dieser Abstandsdefinition gewählt sind, nämlich die Eckpunkte der Dreiecke. Durch die Pfeile zwischen den Eckpunkten aufeinander folgender Dreiecke, wie 401 und 402, ist ein Punktepaar bezeichnet, das einen Maximalen Abstand aufweiset. Dieser Abstand gilt als zugrundeliegender Abstand einer Abstandsfunktion zwischen zwei Posen.
In Fig. 15 sind die in Fig. 14 aufgezeigten Abstände als Balkengrafik dargestellt. 501 bezieht sich auf den linken Teil des Pfades, 502 auf den rechten Abschnitt des Pfades. Die Höhe der Balken entspricht dem Abstand zwischen zwei Posen, die Breite der Balken ist 1. Die Höhe des Balkens 503 entspricht dem Abstand der Posen 401 und 402, der letzte Balken 504 entspricht dem Abstand der Pose 404 zu ihrem Vorgänger. Die Summe der Flächen aller Balken entspricht der Pfadlänge des Pfades, die sich aus der Folge der Posen ergibt. Eine Trajektorie lässt sich gestalten, wenn eine Dauer einer Bewegung zwischen jeweils zwei aufeinander folgender Posen festgesetzt wird.
In Fig. 16 und 17 sind Geschwindigkeitsprofile über der Zeit aufgetragen. Die Profile zeigen, die durch verschiedene Vorgaben unter entsprechender Verwendung der Pfadlänge gewonnen werden können, indem Zeiten festgelegt werden, in denen ein Intervall durchschritten wird. Das gezeigte Geschwindigkeitsprofil zusammen mit dem Pfad definiert die Trajektorie. Bei der Darstellung in Fig. 16 und 17 wurde angenommen, dass der Pfad lang genug ist, dass eine anzustrebende Geschwindigkeit erreicht werden kann. Bei dafür zu kurzen Pfaden wären die Geschwindigkeitsverläufe der Fig. 16 bzw. Fig. 17 qualitativ anders darzustellen.
In Fig. 16 ist ein Geschwindigkeitsprofil im S-Profile-Mode gezeigt. Die Fläche unter dem Profil entspricht der Pfadlänge. Hier kann der Jerk die Werte {-j, 0, j} annehmen, der Betrag der Beschleunigung ist auf ein Intervall [-a, a] begrenzt. Der Betrag der angestrebten maximalen Geschwindigkeit v, hier gezeigt am Ort 601 , entspricht der in der Robotersteuerung gewählten Systemgeschwindigkeit.
In Fig. 17 ist ein Trapezprofil gezeigt. Die Fläche unter dem Profil entspricht wieder der Pfadlänge. Diesem Profil vorgegeben ist die Pfadlänge, und die Beschleunigung, welche die Werte {-a, 0, a} annehmen kann sowie der Betrag der Systemgeschwindigkeit, die unter Umständen auch die anzustrebende Geschwindigkeit ist, hier gezeigt am Ort 701. Der Betrag der zulässigen maximalen Geschwindigkeit v entspricht der in der Robotersteuerung gewählten Systemgeschwindigkeit.
Neben den häufig verwendeten Geschwindigkeitsprofilen der Figuren 5 und 6 ist eine Vielzahl anderer Geschwindigkeitsprofile denkbar. Die Geschwindigkeitsprofile 5 und 6 werden bei Bewegungen zwischen zwei Posen, sogenannten Point-to-Point-Bewegungen häufig eingesetzt. Sollen auf der Bahn zusätzlich Zwischenposen erreicht oder angenähert werden, man spricht von VIA-Punkten, sind die Geschwindigkeitsprofile in der Regel komplexer. Die hier anhand der Geschwindigkeitsprofile vorgestellten Momentangeschwindigkeiten sind Posengeschwindigkeiten, die auf einer Metrik auf Posen beruhen. Wie erkennbar, ist diese Geschwindigkeit auch das Geschwindigkeitsmaximum aller Punkte der Dreiecksfläche in Fig. 14, die sich auf die Euklidische DISP-Metrik bezieht. Ebenso übertragen sich Beschleunigung und Jerk der Fig. 16 bzw. 17 als kinematische Angaben auf die Eckpunkte des Dreiecks.
Bei hoch dynamischen Kinematiken mit häufiger Richtungsumkehr (Shaker-Hexapoden) kann die Trajektorienbestimmung auch um vektorielle Betrachtungen von Geschwindigkeit und Beschleunigung und anderer Parameter ergänzt werden. In Bereichen der Richtungsumkehr oder zu beachtender Richtungsänderungen des Pfades wird man der Trajektorie beispielsweise eine geringere Geschwindigkeit vorgeben, was auch zu geringeren Beschleunigungen etc. führt.
Kontrolle und Begrenzung der Bein-Hubgeschwindigkeiten
Die Geschwindigkeitsvorgaben im Zusammenhang mit einer Posenmetrik haben zunächst keinen Bezug zu den Auslenkgeschwindigkeiten der Beine bei der Stewart Platform. Mit Auslenkgeschwindigkeit ist die Geschwindigkeit eines Beines gemeint, wenn es isoliert als linearer Versteller betrachtet wird. Diese Auslenkgeschwindigkeiten müssen prinzipiell begrenzt werden. Eine einfache Möglichkeit besteht darin, die oberen sechs Anlenkpunkte der Beine Fig 10, 219 zu einer metrikbegründenden Menge zusammenzufassen und die Posengeschwindigkeit dieser Menge auf die maximal zulässige Auslenkgeschwindigkeit der Beine zu begrenzen. Aus geometrischen Gründen begrenzt dies die Auslenkgeschwindigkeiten der Beine auf diesen Wert, wobei die Geschwindigkeit der Plattform dabei auch noch zusätzlich auf ein sinnvolles Maß begrenzt wird.
Eine andere Möglichkeit besteht darin, die metrikbegründende Menge der oberen sechs Anlenkpunkte als Grundlage einer Metrik des Konfigurationsraumes (= Joint Space) zu nehmen und Abstände im Konfigurationsraumes zu betrachten. Diese resultierenden Abstände entsprechen bei der Euklidischen DISP-Metrik - diesmal im Konfigurationsraum - der maximalen Beinauslenkgeschwindigkeit. In heuristischer Weise ist es nämlich möglich, Metriken des Posenraumes mit Metriken des Arbeitsraumes miteinander zu verknüpfen und daraus eine Trajektorie zu generieren. Wie Metriken miteinander verknüpft werden können, ist weiter unten unter der Überschrift „Gleichzeitige Berücksichtigung von mehreren Körpern“ behandelt. Solche speziellen Berücksichtigungen des Konfigurationsraumes sind eher bei seriellen Robotern wie Industrierobotern von Bedeutung, da die Betrachtung der Beingeschwindigkeiten beim Hexapoden eine nachgeordnete Bedeutung hat.
Gleichzeitige Berücksichtigung von mehreren Körpern
Die Festlegung von Geschwindigkeiten auf der Basis einer einzigen Punktmenge mit der durch sie gegebene Metrik kann, wie im Folgenden erklärt, verallgemeinert werden.
Diese Verallgemeinerungen kann einen erheblichen Nutzen erbringen. Wenn man z.B. in der Robotik Handhabungstechnik betreibt, dann ist es interessant, unterschiedliche Maximalgeschwindigkeiten (=Posengeschwindigkeiten) für verschiedene Körper gleichzeitig einzuhalten, also unterschiedlich Systemgeschwindigkeiten vorzugeben. Denn es werden ja auch immer mehrere Körper (Rauminhalte) gleichzeitig bewegt, wenn mehrere Körper am Endeffektor befestigt sind, beziehungsweise mehrere im Bezugskoordinatensystem unbewegte Körper berücksichtigt werden.
Als einen Sonderfall eines Körpers möchte man vielleicht ein großes Volumen festlegen, indem die Geschwindigkeit pauschal erst einmal beschränkt ist. Dieses Volumen könnte etwa die unmittelbare Umgebung der bewegten Plattform des Roboters/Hexapoden sein, definiert durch ein umhüllendes Rechteck. Ein solches umhüllendes Volumen möchte man in der Regel ja zusätzlich betrachten. Die Rauminhalte, deren unterschiedliche Maximalgeschwindigkeiten überwacht/definiert werden, dürfen sich durchdringen.
Die Vorgehensweise ist in Fig. 18 für den zweidimensionalen Fall anhand von 2 Punktmengen erläutert. Zwei Körper K1 und K2 werden infolge derselben Posentransformation verschoben. Beide Körper werden im Folgenden mit ihren Eckpunkten identifiziert. Der erste Körper K1 wird durch eine Posentransformation von der Lage 801 in die Lage 802 verschoben, der zweite Körper K2 wird durch dieselbe Posentransformation von der Lage 804 in die Lage 805 verschoben.
Jeder der beiden Körper definiert seine eigene Metrik, so dass im Posenraum zwei Metriken durch die beiden Körper definiert sind. Die Metriken seien mit M 1 und M2 bezeichnet. Damit sind zwei Abbildungen von einem Posenpaar (Pa, Pb) auf die nicht-negativen reellen Zahlen definiert, die Metriken darstellen. Der Typ beider Metriken sei im Beispiel identisch, es sei z.B. die Euklidische „DISP-Metrik. Die Posenabstände sind mit 803 bzw. 804 bezeichnet.
Basierend auf den Abbildungen M 1 und M2 kann eine dritte Abbildung
M3(Pa, Pb) := max(M1(Pa,Pb), M2(Pa,Pb)) definiert werden. Diese Abbildung ist ebenfalls eine Metrik M3 und, angewandt auf die beiden Körper, kann die Posengeschwindigkeit beider Körper gleichermaßen begrenzen. Alternativ oder zusätzlich können zwei oder mehr metrikbegründende Punktmengen von Relativpunkten können auch zu einer metrikbegründenden Punktmenge vereinigt werden. Ebenso können zwei oder mehr metrikbegründende Punktmengen von Absolutpunkten auch zu einer metrikbegründende Punktmenge vereinigt werden.
Ferner ist es möglich eine neue Metrik durch die Vorschrift
M4(P1, P2) := max(M1(P1, P2), s · M2(P1, P2)) wobei s eine positive reelle Zahl ist, zur Darstellung maximaler Posengeschwindigkeiten zu definieren. Wird diese Metrik M4 verwendet, so ist die Posengeschwindigkeit beim Körper K2 auf eine maximale Posengeschwindigkeit begrenzt, die um den Faktor 1/s gegenüber der maximalen Körpergeschwindigkeit von K1 verschieden ist. Das Beispiel bezieht sich auf 2 Körper. Das Verfahren ist jedoch nicht auf 2 Körper begrenzt.
Ebenso können aus Metriken des Jointspace und des Posenraumes in dieser Weise neue Metriken gebildet werden.
Zusammengefasst, betrifft die vorliegende Erfindung die Bestimmung einer Trajektorie in einem Posenraum einer Kinematik im Einklang mit einem gegebenen Pfad der Trajektorie. Die Trajektorie ist hierbei von der Kinematik für eine bestimmte Anwendung zu durchlaufen. Eine Menge von Punkten im Arbeitsraum der Kinematik, auf denen eine zur Bestimmung der Trajektorie zu verwendende Metrik des Posenraums beruht, wird basierend auf der Anwendung bestimmt. Basierend auf dem Pfad wird die Trajektorie so bestimmt, dass, wenn die Kinematik die Trajektorie durchläuft, eine auf der Metrik basierende Posengeschwindigkeit kleiner gleich einer vorgegebenen Maximalgeschwindigkeit ist.

Claims

PATENTANSPRÜCHE
1. Ein Verfahren zum Bestimmen einer Trajektorie in einem Posenraum einer Kinematik, wobei die Trajektorie von der Kinematik für eine bestimmte Anwendung zu Durchlaufen ist und das Verfahren folgende Schritte umfasst:
Erhalten (S1100)
- einer Maximalgeschwindigkeit, und
- eines Pfads der Trajektorie in dem Posenraum;
Bestimmen (S1120), basierend auf der Anwendung, einer Menge von Punkten im Arbeitsraum der Kinematik, auf denen eine zur Bestimmung der Trajektorie zu verwendende Metrik des Posenraums beruht; und
Bestimmen (S1140) der Trajektorie basierend auf dem Pfad, so dass, wenn die Kinematik die Trajektorie durchläuft, eine auf der Metrik basierende Posengeschwindigkeit kleiner gleich der Maximalgeschwindigkeit ist.
2. Das Verfahren gemäß Anspruch 1 , wobei die Trajektorie einem zeitlichen Verlauf einer Position und Orientierung der Kinematik in Übereinstimmung mit dem Pfad entspricht; die Punkte jeweilige Positionen im Arbeitsraum relativ bezüglich der Position und der Orientierung der Kinematik angeben, und:
- sich beim Durchlaufen der Trajektorie mit der Kinematik so mitbewegen, dass sich die Relativpositionen bezüglich der Position und der Orientierung der Kinematik nicht ändern; und/oder
- beim Durchlaufen der Trajektorie in einem Koordinatensystem, das dem zeitlichen Verlauf der Position und der Orientierung der Kinematik entspricht, ruhen; und die Posengeschwindigkeit einer maximalen Geschwindigkeit unter Geschwindigkeiten entspricht, mit denen sich die Punkte beim Durchlaufen der Trajektorie bewegen.
3. Das Verfahren gemäß Anspruch 1 , wobei die Punkte einem ortsfesten Bereich im Arbeitsraum entsprechen; und die Posengeschwindigkeit einer maximalen Geschwindigkeit unter Geschwindigkeiten entspricht, mit denen jeweils die Punkte von einem mit der Kinematik mitbewegten Raum überstrichen werden.
4. Das Verfahren gemäß Anspruch 1 , wobei die Trajektorie einem zeitlichen Verlauf einer Position und Orientierung der Kinematik in Übereinstimmung mit dem Pfad entspricht; die Punkte Relativpunkte und Absolutpunkte beinhalten, wobei die Relativpunkte jeweilige Positionen im Arbeitsraum relativ bezüglich der Position und der Orientierung der Kinematik angeben, und:
- sich beim Durchlaufen der Trajektorie mit der Kinematik so mitbewegen, dass sich die Relativpositionen bezüglich der Position und der Orientierung der Kinematik nicht ändern; und/oder
- beim Durchlaufen der Trajektorie in einem Koordinatensystem, das dem zeitlichen Verlauf der Position und der Orientierung der Kinematik entspricht, ruhen; die Absolutpunkte einem ortsfesten Bereich im Arbeitsraum entsprechen; und die Posengeschwindigkeit einer maximalen Geschwindigkeit unter Geschwindigkeiten entspricht, mit denen:
- sich die Relativpunkte beim Durchlaufen der Trajektorie bewegen, und
- jeweils die Absolutpunkte von einem mit der Kinematik mitbewegten Raum überstrichen werden.
5. Das Verfahren gemäß einem der Ansprüche 1 bis 4, wobei das Bestimmen der Trajektorie umfasst:
Aufteilen des Pfads in Pfadabschnitte;
Schätzen einer maximalen Verschiebung unter den Verschiebungen, die die Punkte beim Durchlaufen eines der Pfadabschnitte erfahren; Schätzen, basierend auf der Maximalgeschwindigkeit und der geschätzten maximalen Verschiebung, einer Zeitdauer, in der der Pfadabschnitt beim Durchlaufen der Trajektorie zu durchlaufen ist; und
Bestimmen der Trajektorie, so dass der Pfadabschnitt in mindestens der geschätzten Zeitdauer durchlaufen wird.
6. Das Verfahren gemäß Anspruch 5, wobei die maximale Verschiebung basierend auf Verschiebungen von einem oder mehreren der Punkte geschätzt wird, die sich auf der Oberfläche eines Raumvolumens befinden, das den Punkten entspricht.
7. Das Verfahren gemäß eines der Ansprüche 1 bis 6, wobei die Trajektorie so bestimmt wird, dass, wenn die Kinematik die Trajektorie durchläuft:
- eine auf der Metrik basierende Posenbeschleunigung kleiner gleich einer vorbestimmten Maximalbeschleunigung ist, und/oder
- ein auf der Metrik basierende Posenruck kleiner gleich einem vorbestimmten Maximalruck ist.
8. Das Verfahren gemäß eines der Ansprüche 1 bis 7, wobei die Menge von Punkten bestimmt wird basierend auf einer Lage
- eines Tool- und/oder Work-Koordinatensystems; und/oder
- eines Pivotpunkts.
9. Eine Steuerungsvorrichtung zum Steuern einer Kinematik, wobei die
Steuerungsvorrichtung dazu eingerichtet ist: zu erhalten: - eine Maximalgeschwindigkeit, - einen Pfad der Trajektorie in dem Posenraum, und - eine Menge von Punkten im Arbeitsraum der Kinematik, auf denen eine zur Bestimmung der Trajektorie zu verwendende Metrik des Posenraums beruht; und die Trajektorie basierend auf dem Pfad zu bestimmen, so dass, wenn die Kinematik die Trajektorie durchläuft, eine auf der Metrik basierende Posengeschwindigkeit kleiner gleich der Maximalgeschwindigkeit ist.
PCT/EP2022/077249 2021-10-04 2022-09-30 Geschwindigkeitsvorgaben zur trajektorienbestimmung von kinematiken WO2023057324A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102021125628.3 2021-10-04
DE102021125628.3A DE102021125628B3 (de) 2021-10-04 2021-10-04 Geschwindigkeitsvorgaben zur Trajektorienbestimmung von Kinematiken

Publications (1)

Publication Number Publication Date
WO2023057324A1 true WO2023057324A1 (de) 2023-04-13

Family

ID=83361906

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2022/077249 WO2023057324A1 (de) 2021-10-04 2022-09-30 Geschwindigkeitsvorgaben zur trajektorienbestimmung von kinematiken

Country Status (2)

Country Link
DE (1) DE102021125628B3 (de)
WO (1) WO2023057324A1 (de)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2022608A2 (de) * 2007-07-31 2009-02-11 Rockwell Automation Technologies, Inc. Verbesserter Mischalgorithmus für Trajektorienplanung
EP2485875A1 (de) * 2009-10-06 2012-08-15 ABB Technology AG Verfahren zur verringerung des energieverbrauchs eines industrieroboters und industrierobotersystem
DE102019121628B3 (de) * 2019-08-12 2020-08-20 Franka Emika Gmbh Verfahren zum Betreiben eines Robotermanipulators mit erhöhter Masse einer Last

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE392656T1 (de) 2004-06-15 2008-05-15 Abb Ab Verfahren und system zur off-line-programmierung von mehreren interagierenden robotern
US9381643B2 (en) 2014-07-03 2016-07-05 GM Global Technology Operations LLC Dynamical system-based robot velocity control
DE102015118918B3 (de) 2015-11-04 2017-05-04 Haddadin Beteiligungs UG (haftungsbeschränkt) Roboter mit Ansteuerung zur diskretisierten manuellen Eingabe von Positionen und/oder Posen
EP3511126A1 (de) 2018-01-15 2019-07-17 Siemens Aktiengesellschaft Verfahren zur rechnergestützten planung eines durch einen roboter ausführbaren arbeitsablaufs
DE102018203078B3 (de) 2018-03-01 2019-05-09 Kuka Deutschland Gmbh Verfahren zum automatischen Erzeugen einer Bewegungstrajektorie und zugehöriges Computerprogrammprodukt
CN114375431A (zh) 2019-09-06 2022-04-19 罗伯特·博世有限公司 用于工业机器人的轨迹简化方法及设备、计算机存储介质以及工业机器人操作平台

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2022608A2 (de) * 2007-07-31 2009-02-11 Rockwell Automation Technologies, Inc. Verbesserter Mischalgorithmus für Trajektorienplanung
EP2485875A1 (de) * 2009-10-06 2012-08-15 ABB Technology AG Verfahren zur verringerung des energieverbrauchs eines industrieroboters und industrierobotersystem
DE102019121628B3 (de) * 2019-08-12 2020-08-20 Franka Emika Gmbh Verfahren zum Betreiben eines Robotermanipulators mit erhöhter Masse einer Last

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ARVANITAKIS IOANNIS ET AL: "Geodesic motion planning on 3D-terrains satisfying the robot's kinodynamic constraints", IECON 2013 - 39TH ANNUAL CONFERENCE OF THE IEEE INDUSTRIAL ELECTRONICS SOCIETY, IEEE, 10 November 2013 (2013-11-10), pages 4144 - 4149, XP032538655, ISSN: 1553-572X, [retrieved on 20131230], DOI: 10.1109/IECON.2013.6699800 *
STRANDBERG MORTEN: "Robot path planning: An object-oriented approach", SENSORS AND SYSTEMS ROYAL INSTITUTE OF TECHNOLOGY (KTH) STOCKHOLM, 1 January 2004 (2004-01-01), XP093014899, ISBN: 978-91-7-283868-0, Retrieved from the Internet <URL:https://www.diva-portal.org/smash/get/diva2:7803/FULLTEXT01.pdf> [retrieved on 20230117] *

Also Published As

Publication number Publication date
DE102021125628B3 (de) 2022-10-13

Similar Documents

Publication Publication Date Title
DE102014104220B9 (de) Verfahren zum Steuern des Antriebs eines mehrachsigen Roboters und Steuervorrichtung für den mehrachsigen Roboter
EP2868445B1 (de) Verfahren zum Programmieren von Bewegungsabläufen eines redundanten Industrieroboters und zugehöriger Industrieroboter
DE102014104226B4 (de) Verfahren zur Erzeugung eines Pfades eines mehrachsigen Roboters und Steuervorrichtung für den mehrachsigen Roboter
EP3556521B1 (de) Bremswegüberwachung einer kinematik
DE102014110355B3 (de) Robotersystem und Verfahren zur Roboter-Geschwindigkeitssteuerung
DE112014000700B4 (de) Interferenzprüfgerät
EP1950010B1 (de) Roboter und Verfahren zum Programmieren eines Roboters
DE102015106227B3 (de) Steuern und/oder Regeln von Motoren eines Roboters
EP3023205B1 (de) Verfahren zum ermitteln einer bewegungsgrenze
DE102006007623B4 (de) Roboter mit einer Steuereinheit zum Steuern einer Bewegung zwischen einer Anfangspose und einer Endpose
DE102019126465B4 (de) Verfahren und Vorrichtung zur Trajektorienbestimmung für serielle Manipulatoren
DE19810341C2 (de) Verfahren zur automatischen Kollisionsvermeidung eines Manipulators in einem durch Hindernisse beschränkten Arbeitsraum
EP3705663B1 (de) Gelenkarm-steuerung einer betonpumpe
DE102007059480A1 (de) Verfahren und Vorrichtung zur Posenüberwachung eines Manipulators
EP3484672A1 (de) Redundanzauflösung für einen redundanten manipulator
DE102012022190B4 (de) Inverse Kinematik
DE102020116900B3 (de) Verfahren zum Bestimmen der Manipulierbarkeit einer Handhabungsvorrichtung und Verfahren zum Bestimmen der Tragfähigkeit einer Handhabungsvorrichtung und Handhabungsvorrichtung
EP1326151B1 (de) Polynom- und Spline-Interpolation von Werkzeugorientierungen
EP3705662B1 (de) Gelenkarm-steuerung einer betonpumpe
EP3569367A1 (de) Rechnergestütztes ermitteln einer bewegung einer vorrichtung
DE102021125628B3 (de) Geschwindigkeitsvorgaben zur Trajektorienbestimmung von Kinematiken
DE102016009436B4 (de) Robotersteuerung, die ein Rütteln einer Werkzeugspitze bei einem Roboter verhindert, der mit einer Verfahrachse ausgestattet ist
DE102018207919B3 (de) Robotersteuerung
EP4084937B1 (de) Bewegen einer roboterfesten referenz
DE102020127532B3 (de) Regelungsverfahren zum Regeln des Drehmoments und/oder der Position mindestens eines elastizitätsbehafteten Gelenks einer Handhabungsvorrichtung, Drehmomentregler, Positionsregler und Verwendung des Verfahrens zur Regelung der Position und/oder des Drehmoments mindestens eines elastizitätsbehafteten Gelenks einer Handhabungsvorrichtung

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22798097

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2022798097

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2022798097

Country of ref document: EP

Effective date: 20240506