EP4313501A1 - Robotic system trajectory planning - Google Patents

Robotic system trajectory planning

Info

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
Application number
EP21715851.8A
Other languages
German (de)
French (fr)
Inventor
Nima ENAYATI
Arne WAHRBURG
Debora CLEVER
Mikael NORRLÖF
Giacomo Spampinato
Mattias BJÖRKMAN
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ABB Schweiz AG
Original Assignee
ABB Schweiz AG
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 ABB Schweiz AG filed Critical ABB Schweiz AG
Publication of EP4313501A1 publication Critical patent/EP4313501A1/en
Pending legal-status Critical Current

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/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total 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/41815Total 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total 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/4189Total 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/41895Total 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]
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39105Manipulator cooperates with moving machine, like press brake
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39132Robot welds, operates on moving workpiece, moved by other robot
    • 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/40298Manipulator on vehicle, wheels, mobile
    • 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/40465Criteria 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

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.
EP21715851.8A 2021-03-25 2021-03-25 Robotic system trajectory planning Pending EP4313501A1 (en)

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)

* Cited by examiner, † Cited by third party
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

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)