EP4313501A1 - Robotic system trajectory planning - Google Patents
Robotic system trajectory planningInfo
- Publication number
- EP4313501A1 EP4313501A1 EP21715851.8A EP21715851A EP4313501A1 EP 4313501 A1 EP4313501 A1 EP 4313501A1 EP 21715851 A EP21715851 A EP 21715851A EP 4313501 A1 EP4313501 A1 EP 4313501A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- robotic
- trajectory
- units
- manipulator
- state
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 239000013598 vector Substances 0.000 claims abstract description 26
- 238000000034 method Methods 0.000 claims abstract description 19
- 230000033001 locomotion Effects 0.000 claims abstract description 14
- 239000000306 component Substances 0.000 description 10
- 230000003993 interaction Effects 0.000 description 10
- 238000005265 energy consumption Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 206010013710 Drug interaction Diseases 0.000 description 1
- 102000020897 Formins Human genes 0.000 description 1
- 108091022623 Formins Proteins 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003455 independent Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 239000007921 spray Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1682—Dual arm manipulator; Coordination of several manipulators
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41815—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/4189—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the transport system
- G05B19/41895—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the transport system using automatic guided vehicles [AGV]
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39105—Manipulator cooperates with moving machine, like press brake
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39132—Robot welds, operates on moving workpiece, moved by other robot
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40298—Manipulator on vehicle, wheels, mobile
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40465—Criteria is lowest cost function, minimum work path
Definitions
- Mass customization and higher operational efficiency are important re quirements of many modern discrete automation applications.
- increasingly higher flexibility and agility is demanded in various com ponents of the production chain, from the factory floor to logistics.
- Using robotic vehicles to move parts among cells is a concept that can increase the flexibility of the production cycle, as less fixed automation setups such as conveyor belts would be required.
- operation planning for a robot can be based on some immuta ble assumptions. Operation of the conveyor belt will determine, for all robot ic units working on it, when and where a workpiece becomes available, and when work on it must be finished; so that a trajectory that meets these re quirements can be planned for each robotic unit substantially without hav ing regard to the others.
- the object of the invention is to provide a method for trajectory planning in a robotic system capable of providing trajectories for interacting robotic units that requires no a priori simplification and is therefore capable of find ing a truly optimal or, at least, closer to optimal solution.
- a method for trajectory planning in a robotic sys tem comprising at least two robotic units, wherein a state vector of each robotic unit comprises position components and velocity components and is variable with time as a function of input into said each robotic unit and in dependently from input into every other robotic unit, wherein a trajectory which defines the motion of said robotic units from an initial state to a final state is determined by minimizing a predetermined cost function, characterized in that the cost function is a function of the state vectors of all of said at least two robotic units, and is minimized under a constraint which defines a vector difference between at least the position components of the state vectors of said robotic units at an instant of said trajectory.
- the constraint ensures that while the robotic units follow their respective trajectories, there is an instant where their respective positions enable an interaction between them.
- Reference points of the two robotic units can be chosen so that the difference is zero, but this isn’t a requirement.
- the inter action can be of any type, such as handing over a workpiece from one unit to the other, or one unit processing a workpiece mounted on the other.
- the instant where the interaction takes place can be at the end of the re spective trajectories. This doesn’t imply an a priori assumption on the loca tion where the interaction will take place; it merely implies that trajectories of the units from their respective starting point to their interaction point will be optimized under the criteria embodied in the cost function, whereas tra jectories after the interaction will not.
- both the initial and the final state of the trajectories may be predetermined, and the instant when interaction takes place is determined by minimization of the cost function.
- an op timization spanning the entire operation of the robotic units can be achieved by setting identical state vectors of the robotic units at the beginning and at the end of their respective trajectories.
- the difference mentioned above can be a difference also of velocity com ponents of the state vectors of the robotic units. In this way, it can be en sured that the robotic units not only come into close enough contact for interaction, but that they stay close enough to each other - even if both are in motion - for a sufficiently long time for the interaction to take place, and that they do not bump into each other.
- At least one of the robotic units is a vehicle, which can be used for conveying workpieces.
- a vehicle may be ground- or airborne.
- Another robotic unit used for effecting some change on the workpieces, will typically be a manipulator, comprising e.g. an articulated robot arm or a gantry type robot.
- the cost function can be designed to increase along with one or more of the following parameters: time needed for executing the trajectory, total energy required for executing the trajectory, peak power required when executing the trajectory, load imposed on each one of actuators of the robotic units when executing the trajectory; if the robotic unit is battery-powered, in particular if it is a vehicle, the degree of exhaustion of a battery of the robotic unit.
- a cost function dependent on load may be designed to merely prevent the planning of movements which the robot might be incapable of carrying out because they exceed its physical limitations.
- the cost assigned to a particular movement will model its effect on expected lifetime of the robot, so that by minimizing that cost function, the trajectory that will be chosen is the one where wear of the robot is least.
- a cost function dependent on battery exhaustion will help to avoid planning movements which might harm the battery by excessively discharging it, or which might not be carried out in time because the battery, when nearly exhausted, cannot provide the power necessary for carrying out the move ment at an adequate speed.
- the cost function will be a weighted sum of addends, each of which depends on one of the above-mentioned parameters.
- the added In the cases of time and total energy, the added should be directly proportional to its asso ciated parameter.
- the addend might also be a step function or some other kind of function that increases sharply when some given threshold is exceeded, so that the solution to the minimi zation problem will never or only under exceptional circumstances exceed this threshold.
- Fig.1 a diagram of an exemplary robotic system
- Fig. 2 is a flowchart of a method for planning trajectories in the system of Fig. 1.
- Fig. 1 is a schematic diagram of part of a production line. What is shown are two vehicles 1 , 2 and an articulated manipulator 3. Representations of these in solid lines and in dashed lines correspond to different stages of their respective trajectories.
- the task to be executed by the manipulator 3 is to pick a workpiece 4 from vehicle 1 and to place it on vehicle 2 using a gripper 12 at a distal end of the manipulator.
- a gripper 12 at a distal end of the manipulator.
- Ve hicle 1 follows a substantially straight path.
- Workpiece 4 is picked from ve hicle 1 at a location 5 where the distance of vehicle 1 to the manipulator 3 is smallest. Since the manipulator is faster than the vehicles, it is assigned a rather long path, a location 6 where the workpiece 4 is placed on vehicle 2 being farther away from location 5 than the stationary base 7 of manipula tor 3, and the path of vehicle 2 being substantially straight, too.
- the manip ulator 3 comprises an articulated arm of conventional type, having a plurali ty nv, preferably nv36, degrees of rotational freedom.
- the dy namics of the manipulator 3 to be governed by the Lagrangian equation of motion for rigid bodies: where M, C, and G, represent the mass matrix, Coriolis and centrifugal tor ques and gravity torques respectively, q is the joint configuration as a nvx1 vector, and t motor is a vector representative of torques generated by the motors associated to each of the nv degree of freedom of the manipulator 3.
- Each vehicle 1, 2 is modelled as a point-mass: where m is the mass of the vehicle, p is the position vector of the vehicle, and f drive is a vector of representative of a force generated by a drive motor of the vehicle.
- these vectors can be assumed to be two-dimensional; if vertical movements have to be considered, e.g. because the floor on which the vehicles move has sloped portions, a generalization to three- dimensional vectors is straightforward. Friction can be regarded as simply viscous, i.e.
- coefficients c ric , d ric can be regarded as constant and inde pendent of q or p, respectively, but more sophisticated friction effects can easily be taken account of by modelling one or more of the friction coeffi cients as a function of some appropriate parameter.
- Positions and velocities of all robotic units involved in the trajectory finding problem can be combined into a state vector X descriptive of the entire sys tem:
- x 1 combines all Cartesian position components of the vehicles 1, 2, i.e. four components corresponding to coordinates in the floor plane of ve hicles 1 , 2
- x 2 is the time derivative of x x 3 combines the nv angular coor dinates of manipulator 3
- x 4 is the time derivative of x 3 .
- the state vector may comprise further components as required, e.g. higher de rivatives of the position coordinates,
- the difference in the last constraint can be different from zero, for instance if the place in vehicle 1 where the workpiece 4 is to be seized on vehicle 1 is different from a reference point of the vehicle identified by its position coordinates x .
- the constraint may apply not only to position components x of the state vector X, but also to velocity components x 2 , thus ensuring that the vehicle 1 (or 2) and the manipulator 3 will not only meet somewhere sometime on their trajectories, but will also move at the same speed and in the same direction, so that picking and placing the workpiece 4 can be carried out while both are moving at non zero speed.
- a final state X T f of the system can be assumed to be identical to the initial state 3 ⁇ 4; however, this doesn’t necessarily mean that the movement of the vehicles 1 and 2 is repetitive with the same cycle period. Rather, periodicity of the operation of the system can be ensured by requiring that whenever a cycle ends by vehicles 1 , 2 reaching end points 8, 9 of the trajectories that have been determined for them, other vehicles of the same type be present at the respective starting points 10, 11 of these trajectories.
- the cost function ] can be chosen (S3) to encode various criteria.
- motion time J equaling the time Tf spent by the robotic units 1-3 on their respective trajectories
- energy consump tion energy consumption can be represented in different ways.
- the integral of power squared as a measure of energy consumption; the cost function may thus be formed of two addends, one representative of time, the other representative of energy consumed by the vehicles and the manipulator:
- the priority of energy vs cycle time minimization is determined.
- addends and associated weighting factors can be added to the cost function, for example one considering loads imposed on the manipulator 3, so as to penalize movements where an excessive load, due e.g. to work- piece 4 being held by the manipulator in an outstretched configuration, is acting on joints of the manipulator and is likely to cause premature wear.
- the initial state X 0 and/or the final state X T f can be determined straightforwardly and unambiguously from practical considerations. For example, if the task of the manipulator is to pick the workpiece from a vehicle in order to deliver it to a workstation, a position in which the manipulator is about to release the workpiece at the workstation can be taken as one or both of these states, since it is a state which the system will inevitably have to go through. In the case considered in Fig. 1, there is no position which the manipulator 3 inevitably has to go through. Therefore, in this case, the initial state X 0 and/or the final state IsT / may be completely undefined for the manipulator 3.
- Initial or final states may be defined for the vehicles 1 , 2 based on some fixed points in space and time, not shown in Fig.1 , where workpieces are loaded and unloaded, or, if times and locations where these receive workpieces from other robotic units are not defined in advance, the minimization problem can be expanded by in creasing the number of dimensions of the minimization problem of eq. (3) by the degrees of freedom of these other robotic units.
- the method of the invention is applicable any type of tools wielded by the manipulator 3, not only to gripper 12. If the tool is one which actually effects a transformation of the workpiece 4, for example a joining tool such as a riveter, a surface processing tool such as a paint spray nozzle, processing steps are conceivable in which a single vehicle conveys a workpiece to a location in the vicinity of the manipulator where the workpiece is processed by the manipulator while it remains on the vehicle, and the vehicle then conveys the workpiece to a location where a subsequent processing step is carried out, and the locations where the various processing steps are car ried out are subject to optimization by the method of the invention.
- a joining tool such as a riveter
- a surface processing tool such as a paint spray nozzle
- processing steps wouldn’t have to be executed while the vehicle carry ing the workpiece is stationary; rather, when no constraint is imposed that during processing, the workpiece must be at rest, minimization of the cost function is likely to produce a result in which, while processing of a work- piece at one manipulator is taking place, the vehicle carrying the workpiece keeps moving towards the location of the next processing step.
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
A method for trajectory planning in a robotic system comprising at least two robotic units (1, 2, 3) is disclosed. In the method, a state vector of each robotic unit comprises position components Formula (I) and velocity components Fromula (II) and is variable with time as a function of input Formula (III) into said each robotic unit (1, 2, 3) and independently from input into every other robotic unit, and a trajectory which defines the motion of said robotic units from an initial state (X 0 ) to a final state (X Tf ) is determined by finding the trajectory that minimizes a predetermined cost function (J). The cost function (J) is set (S3) to be a function of the state vectors of all of said at least two robotic units, and is minimized (S4) under a constraint which defines a vector difference between at least the position components Formula (iv) of the state vectors of said at least two robotic units (1, 3; 2, 3) at an instant (f(1), f(2)) of said trajectory.
Description
ROBOTIC SYSTEM TRAJECTORY PLANNING
Mass customization and higher operational efficiency are important re quirements of many modern discrete automation applications. Towards that end, increasingly higher flexibility and agility is demanded in various com ponents of the production chain, from the factory floor to logistics. Using robotic vehicles to move parts among cells is a concept that can increase the flexibility of the production cycle, as less fixed automation setups such as conveyor belts would be required.
In a production environment where robotic units cooperate with e.g. con veyor belts, operation planning for a robot can be based on some immuta ble assumptions. Operation of the conveyor belt will determine, for all robot ic units working on it, when and where a workpiece becomes available, and when work on it must be finished; so that a trajectory that meets these re quirements can be planned for each robotic unit substantially without hav ing regard to the others.
Of course, when such a conveyor belt is replaced by robotic vehicles, a straightforward approach would be to treat these similar to a conveyor belt, by defining a priori a path which the vehicles are supposed to follow, loca tions along the path where interaction with another robotic unit, such as a manipulator, is to take place, and to derive therefrom trajectories of the ro botic units. It is obvious, though, that in that way, most of the potential for efficiency improvement that might come with the use of robotic vehicles will be lost.
The object of the invention is to provide a method for trajectory planning in a robotic system capable of providing trajectories for interacting robotic units that requires no a priori simplification and is therefore capable of find ing a truly optimal or, at least, closer to optimal solution.
The object is achieved by a method for trajectory planning in a robotic sys tem comprising at least two robotic units, wherein a state vector of each robotic unit comprises position components and velocity components and is variable with time as a function of input into said each robotic unit and in dependently from input into every other robotic unit, wherein a trajectory which defines the motion of said robotic units from an initial state to a final state is determined by minimizing a predetermined cost function, characterized in that the cost function is a function of the state vectors of all of said at least two robotic units, and is minimized under a constraint which defines a vector difference between at least the position components of the state vectors of said robotic units at an instant of said trajectory.
The constraint ensures that while the robotic units follow their respective trajectories, there is an instant where their respective positions enable an interaction between them. Reference points of the two robotic units can be chosen so that the difference is zero, but this isn’t a requirement. The inter action can be of any type, such as handing over a workpiece from one unit to the other, or one unit processing a workpiece mounted on the other.
The instant where the interaction takes place can be at the end of the re spective trajectories. This doesn’t imply an a priori assumption on the loca tion where the interaction will take place; it merely implies that trajectories of the units from their respective starting point to their interaction point will be optimized under the criteria embodied in the cost function, whereas tra jectories after the interaction will not.
Alternatively, both the initial and the final state of the trajectories may be predetermined, and the instant when interaction takes place is determined by minimization of the cost function.
Since operations in a production environment are mostly repetitive, an op timization spanning the entire operation of the robotic units can be achieved by setting identical state vectors of the robotic units at the beginning and at the end of their respective trajectories.
The difference mentioned above can be a difference also of velocity com ponents of the state vectors of the robotic units. In this way, it can be en sured that the robotic units not only come into close enough contact for interaction, but that they stay close enough to each other - even if both are in motion - for a sufficiently long time for the interaction to take place, and that they do not bump into each other.
Typically, at least one of the robotic units is a vehicle, which can be used for conveying workpieces. Such a vehicle may be ground- or airborne.
Another robotic unit, used for effecting some change on the workpieces, will typically be a manipulator, comprising e.g. an articulated robot arm or a gantry type robot.
The cost function can be designed to increase along with one or more of the following parameters: time needed for executing the trajectory, total energy required for executing the trajectory, peak power required when executing the trajectory, load imposed on each one of actuators of the robotic units when executing the trajectory; if the robotic unit is battery-powered, in particular if it is a vehicle, the degree of exhaustion of a battery of the robotic unit.
A cost function dependent on load may be designed to merely prevent the planning of movements which the robot might be incapable of carrying out because they exceed its physical limitations. Preferably, the cost assigned to a particular movement will model its effect on expected lifetime of the robot, so that by minimizing that cost function, the trajectory that will be chosen is the one where wear of the robot is least.
A cost function dependent on battery exhaustion will help to avoid planning movements which might harm the battery by excessively discharging it, or which might not be carried out in time because the battery, when nearly exhausted, cannot provide the power necessary for carrying out the move ment at an adequate speed.
Typically, the cost function will be a weighted sum of addends, each of which depends on one of the above-mentioned parameters. In the cases of time and total energy, the added should be directly proportional to its asso ciated parameter. In the cases of peak power and load, the addend might also be a step function or some other kind of function that increases sharply when some given threshold is exceeded, so that the solution to the minimi zation problem will never or only under exceptional circumstances exceed this threshold.
Further features and advantages of the invention will become apparent from the subsequent description of embodiments, referring to the appended drawings.
Fig.1 a diagram of an exemplary robotic system; and
Fig. 2 is a flowchart of a method for planning trajectories in the system of Fig. 1.
Fig. 1 is a schematic diagram of part of a production line. What is shown are two vehicles 1 , 2 and an articulated manipulator 3. Representations of these in solid lines and in dashed lines correspond to different stages of their respective trajectories. The task to be executed by the manipulator 3 is to pick a workpiece 4 from vehicle 1 and to place it on vehicle 2 using a gripper 12 at a distal end of the manipulator. As an example, it shall be as sumed that both vehicles 1, 2 have equal maximum velocity, and vehicle 1 has a larger mass and higher friction and thus higher energy consumption than vehicle 2, and that the maximum velocity of the manipulator 3 is higher than that of the vehicles 1, 2.
When the operation of vehicles 1 , 2 and manipulator 3 is optimized for min imum time, the result may look as shown in the left-hand half of Fig. 1 : Ve hicle 1 follows a substantially straight path. Workpiece 4 is picked from ve hicle 1 at a location 5 where the distance of vehicle 1 to the manipulator 3 is smallest. Since the manipulator is faster than the vehicles, it is assigned a rather long path, a location 6 where the workpiece 4 is placed on vehicle 2 being farther away from location 5 than the stationary base 7 of manipula tor 3, and the path of vehicle 2 being substantially straight, too.
On the other hand, energy efficiency of the manipulator 3 for transporting workpieces is less than that of the vehicles 1 , 2. Therefore, when the pro cedure is optimized for total energy consumption, as shown in the right- hand half of Fig. 1 , the path of the manipulator 3 between pick and place locations 5 and 6 will be shorter than in the case considered before. For vehicle 1, being heavy, any deviation from a straight, constant speed trajec tory, would come at a high expense of energy; therefore, the pick location 5 is only slightly deviated towards base 7 unchanged, and lighter vehicle 2 has to make a detour in order to compensate for the shortened path of the manipulator 3.
Let us now consider the problem of finding a trajectory to be followed by the vehicles 1 , 2 and the manipulator 3. It will be assumed here that the manip ulator 3 comprises an articulated arm of conventional type, having a plurali ty nv, preferably nv³6, degrees of rotational freedom. We assume the dy namics of the manipulator 3 to be governed by the Lagrangian equation of motion for rigid bodies:
where M, C, and G, represent the mass matrix, Coriolis and centrifugal tor ques and gravity torques respectively, q is the joint configuration as a nvx1 vector, and t motor is a vector representative of torques generated by the motors associated to each of the nv degree of freedom of the manipulator 3.
Each vehicle 1, 2 is modelled as a point-mass:
where m is the mass of the vehicle, p is the position vector of the vehicle, and f drive is a vector of representative of a force generated by a drive motor of the vehicle. In the case considered here, with the vehicles 1, 2 moving on a level floor, these vectors can be assumed to be two-dimensional; if vertical movements have to be considered, e.g. because the floor on which the vehicles move has sloped portions, a generalization to three- dimensional vectors is straightforward. Friction can be regarded as simply viscous, i.e. coefficients c ric, d ric can be regarded as constant and inde pendent of q or p, respectively, but more sophisticated friction effects can easily be taken account of by modelling one or more of the friction coeffi cients as a function of some appropriate parameter.
Positions and velocities of all robotic units involved in the trajectory finding problem can be combined into a state vector X descriptive of the entire sys tem:
X := [X1, x2, x3, x4] = [q, q, p, p]5
where x1 combines all Cartesian position components of the vehicles 1, 2, i.e. four components corresponding to coordinates in the floor plane of ve hicles 1 , 2, x2 is the time derivative of x x3 combines the nv angular coor dinates of manipulator 3, and x4is the time derivative of x3. Of course, the state vector may comprise further components as required, e.g. higher de rivatives of the position coordinates,
Input into the system is similarly described by a vector in which torques of the motors of manipulator 3 and drive forces of the motors of vehicles 1, 2 are combined:
The continuous optimization problem is therefore defined as:
Pfkfaf®) - x3(i/(i) = 0, i=1 , 2 wherein J stands for a cost function that is to be minimized, the first four equations correspond to equations (1), (2) and the definitions of x2 and x4 given above, the next two are limitations of coordinates and their deriva tives imposed by design limitations of the vehicles 1, 2 and the manipulator 3, the next two impose limits on inputs u u2 which may depend on configu rations xi, x2 of their associated robotic units, and the last one imposes boundary conditions such that at an instant /[l] the final position of the ma nipulator 3 in the Cartesian coordinate system in which also the coordinates of the vehicles are specified (obtained via forward kinematics transform p )
are equal to the position of the vehicle 1, and at an instant f[2), it shall be equal to the position of vehicle 2.
It should be noted that the difference in the last constraint can be different from zero, for instance if the place in vehicle 1 where the workpiece 4 is to be seized on vehicle 1 is different from a reference point of the vehicle identified by its position coordinates x . Further, the constraint may apply not only to position components x of the state vector X, but also to velocity components x2, thus ensuring that the vehicle 1 (or 2) and the manipulator 3 will not only meet somewhere sometime on their trajectories, but will also move at the same speed and in the same direction, so that picking and placing the workpiece 4 can be carried out while both are moving at non zero speed.
In a first method step S1 of Fig. 2, an initial state ¾ at a time t= 0 of the ve hicles 1 , 2 and the manipulator 3 is defined. Since the movement for which a trajectory is to be determined here will be repeated periodically, a final state XTf of the system can be assumed to be identical to the initial state ¾; however, this doesn’t necessarily mean that the movement of the vehicles 1 and 2 is repetitive with the same cycle period. Rather, periodicity of the operation of the system can be ensured by requiring that whenever a cycle ends by vehicles 1 , 2 reaching end points 8, 9 of the trajectories that have been determined for them, other vehicles of the same type be present at the respective starting points 10, 11 of these trajectories.
The constraints of eq. (3) are implemented (S2) by assigning specific nu merical values of the robotic units 1, 2, 3 to constants such as qmin, qmax, cjmax and Vmax, and providing lookup tables or code for evaluating functions
SUCh aS ma {X2) , f maxix 2)·
The cost function ] can be chosen (S3) to encode various criteria. Here we consider two cases, namely, motion time (J equaling the time Tf spent by
the robotic units 1-3 on their respective trajectories) and energy consump tion. Energy consumption can be represented in different ways. Here we chose the integral of power squared as a measure of energy consumption; the cost function may thus be formed of two addends, one representative of time, the other representative of energy consumed by the vehicles and the manipulator:
By choosing an appropriate value for the weighting factor m, the priority of energy vs cycle time minimization is determined.
Other addends and associated weighting factors can be added to the cost function, for example one considering loads imposed on the manipulator 3, so as to penalize movements where an excessive load, due e.g. to work- piece 4 being held by the manipulator in an outstretched configuration, is acting on joints of the manipulator and is likely to cause premature wear.
Once the minimization problem has thus been specified completely, con ventional numerical methods such as Multiple Shooting and Local Colloca tion are used for solving it (S4).
In many practical applications, the initial state X0 and/or the final state XTf can be determined straightforwardly and unambiguously from practical considerations. For example, if the task of the manipulator is to pick the workpiece from a vehicle in order to deliver it to a workstation, a position in which the manipulator is about to release the workpiece at the workstation can be taken as one or both of these states, since it is a state which the system will inevitably have to go through. In the case considered in Fig. 1, there is no position which the manipulator 3 inevitably has to go through. Therefore, in this case, the initial state X0 and/or the final state IsT/may be completely undefined for the manipulator 3. Initial or final states may be defined for the vehicles 1 , 2 based on some fixed points in space and time,
not shown in Fig.1 , where workpieces are loaded and unloaded, or, if times and locations where these receive workpieces from other robotic units are not defined in advance, the minimization problem can be expanded by in creasing the number of dimensions of the minimization problem of eq. (3) by the degrees of freedom of these other robotic units.
The method of the invention is applicable any type of tools wielded by the manipulator 3, not only to gripper 12. If the tool is one which actually effects a transformation of the workpiece 4, for example a joining tool such as a riveter, a surface processing tool such as a paint spray nozzle, processing steps are conceivable in which a single vehicle conveys a workpiece to a location in the vicinity of the manipulator where the workpiece is processed by the manipulator while it remains on the vehicle, and the vehicle then conveys the workpiece to a location where a subsequent processing step is carried out, and the locations where the various processing steps are car ried out are subject to optimization by the method of the invention. Further, the processing steps wouldn’t have to be executed while the vehicle carry ing the workpiece is stationary; rather, when no constraint is imposed that during processing, the workpiece must be at rest, minimization of the cost function is likely to produce a result in which, while processing of a work- piece at one manipulator is taking place, the vehicle carrying the workpiece keeps moving towards the location of the next processing step.
Reference numerals 1 vehicle
2 vehicle
3 manipulator
4 workpiece
5 picking location 6 placing location
7 base
8 end point of trajectory
9 end point of trajectory
10 starting point of trajectory 11 starting point of trajectory
12 gripper
Claims
1. A method for trajectory planning in a robotic system comprising at least two robotic units (1 , 2, 3), wherein a state vector of each robotic unit comprises position components (p, q, x x3) and ve locity components (q, p, x2, x4) and is variable with time as a function of input (ui, u2 ) into said each robotic unit (1, 2, 3) and independently from input into every other robotic unit, wherein a trajectory which defines the motion of said robotic units from an initial state (¾) to a final state (XTf) is determined by finding the trajectory that minimizes a predetermined cost function (/), characterized in that the cost function (/) is a function of the state vectors of all of said at least two robotic units, and is minimized under a constraint which defines a vector difference between at least the position components (p, q, x x3) of the state vectors of said at least two robotic units (1, 3; 2, 3) at an instant (/[l],/[2]) of said trajectory.
2. The method of claim 1 , wherein said instant is at the end of the trajectory thus determined.
3. The method of claim 1 , wherein said instant (/[l],/[2]) is deter mined by minimization of the cost function (/).
4. The method of claim 3, wherein state vectors (¾, XTf) of the ro botic units (1, 2, 3) at the beginning and at the end of the trajec tory are identical.
5. The method of any of the preceding claims, wherein the differ ence is a difference also of velocity components (q, p, x2, x4) of the state vectors of the robotic units.
6. The method of any of the preceding claims, wherein at least one of the robotic units is a vehicle (1 , 2).
7. The method of any of the preceding claims, wherein at least one of the robotic units is a manipulator (3).
8. The method of claims 6 and 7, wherein the vehicle (3), in at least part of its trajectory, carries a workpiece (4), and the manipulator (3) wields a tool for processing the workpiece.
9. The method of any of the preceding claims, wherein the cost function (/) is designed to increase along with one or more of the following parameters: - time needed for executing the trajectory,
- total energy required for executing the trajectory, peak power required when executing the trajectory, load imposed on each one of actuators of the robotic units when executing the trajectory.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2021/057737 WO2022199819A1 (en) | 2021-03-25 | 2021-03-25 | Robotic system trajectory planning |
Publications (1)
Publication Number | Publication Date |
---|---|
EP4313501A1 true EP4313501A1 (en) | 2024-02-07 |
Family
ID=75339731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP21715851.8A Pending EP4313501A1 (en) | 2021-03-25 | 2021-03-25 | Robotic system trajectory planning |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240017410A1 (en) |
EP (1) | EP4313501A1 (en) |
CN (1) | CN117083156A (en) |
WO (1) | WO2022199819A1 (en) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6804580B1 (en) * | 2003-04-03 | 2004-10-12 | Kuka Roboter Gmbh | Method and control system for controlling a plurality of robots |
DE102012012184A1 (en) * | 2012-06-19 | 2013-12-19 | Kuka Roboter Gmbh | Specification of synchronized robot movements |
US9880561B2 (en) * | 2016-06-09 | 2018-01-30 | X Development Llc | Sensor trajectory planning for a vehicle |
-
2021
- 2021-03-25 CN CN202180096251.2A patent/CN117083156A/en active Pending
- 2021-03-25 WO PCT/EP2021/057737 patent/WO2022199819A1/en active Application Filing
- 2021-03-25 EP EP21715851.8A patent/EP4313501A1/en active Pending
-
2023
- 2023-09-25 US US18/473,453 patent/US20240017410A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022199819A1 (en) | 2022-09-29 |
US20240017410A1 (en) | 2024-01-18 |
CN117083156A (en) | 2023-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11813753B2 (en) | Collision avoidance motion planning method for industrial robot | |
Marvel et al. | Multi-robot assembly strategies and metrics | |
US11707843B2 (en) | Initial reference generation for robot optimization motion planning | |
US11701777B2 (en) | Adaptive grasp planning for bin picking | |
CN108393884B (en) | Petri network-based collaborative task planning method for multi-mechanical-arm teleoperation system | |
Houshangi | Control of a robotic manipulator to grasp a moving target using vision | |
EP3624997B1 (en) | Method and control system for controlling movement sequences of a robot | |
Tika et al. | Optimal scheduling and model predictive control for trajectory planning of cooperative robot manipulators | |
KR20200038468A (en) | Handling device, method and computer program with robot | |
US20200290108A1 (en) | Pendular handling system for a press line | |
Kinugawa et al. | PaDY: Human-friendly/cooperative working support robot for production site | |
EP4313501A1 (en) | Robotic system trajectory planning | |
Tavares et al. | Double A* path planning for industrial manipulators | |
Rybak et al. | Planning the optimal trajectory of the robot-machine parallel structure | |
Zielinski et al. | Control of two 5 dof robots manipulating a rigid object | |
Antonelli et al. | Cartesian space motion planning for robots. An industrial implementation | |
Zussman et al. | A planning approach for robot-assisted multiple-bent profile handling | |
JP7478777B2 (en) | ROBOT SYSTEM, WORK MANAGEMENT SYSTEM, ROBOT CONTROL METHOD, AND WORK MANAGEMENT PROGRAM | |
Inaba et al. | Industrial Intelligent Robots | |
Vladareanu et al. | „A Multi-Functionl Approach of the HFPC Walking Robots” | |
Wittmann et al. | Supervised Autonomous Interaction in Unknown Territories-A Concept for Industrial Applications in the Near Future | |
Shen et al. | Optimal joint trajectory planning for manipulator robot performing constrained motion tasks | |
Moreira et al. | Comparative Study of Robotic Systems Based on Digital Twins | |
Cao et al. | Practical implementation of time-efficient trajectory planning for two cooperative industrial robot arms | |
Kumar et al. | Design and Development of Dual Arm Mobile Robotic Platform for Warehouse Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
17P | Request for examination filed |
Effective date: 20231018 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
DAV | Request for validation of the european patent (deleted) | ||
DAX | Request for extension of the european patent (deleted) |