1. Field of the Invention
The present invention relates generally to robotics design and control, and particularly to a computerized parallel kinematic machine trajectory planning method.
2. Description of the Related Art
Parallel Kinematic Machines (PKMs) have two basic advantages over conventional machines of serial kinematic structures. First, with PKM structures, it is possible to mount all drives on or near the base. This yields to large payloads capability and low inertia. Indeed, the ratio of payload to the robot load is usually about 1/10 for serial robots, while only ½ for parallel ones. Second, the connection between the base and the end-effector (EE) is made with several kinematic chains. This results in high structural stiffness and rigidity. However, the PKM architecture-dependent performance associated with strong-coupled non-linear dynamics makes the trajectory planning and control system design for PKMs more difficult compared to serial machines.
Another major issue for practical use of PKMs in industry is that for a prescribed tool path in the workspace, the control system should guarantee the prescribed task completion within the workspace, for a given set up of the EE (i.e., for which limitations on actuator lengths and physical dimensions are not violated).
Thus, a parallel kinematic machine trajectory planning method solving the aforementioned problems is desired.
The parallel kinematic machine trajectory planning method is operable via a data-driven, neuro-fuzzy, multistage-based system. Offline planning based on robot kinematic and dynamic models, including actuators, is performed to generate a large dataset of trajectories covering most of the robot workspace and minimizing time and energy, while avoiding singularities and limits on joint angles, rates, accelerations and torques. The method implements an augmented Lagrangian solver on a decoupled form of the PKM dynamics in order to solve the resulting non-linear constrained optimal control problem. Using outcomes of the offline-planning, the data-driven neuro-fuzzy inference system is built to learn, capture and optimize the desired dynamic behavior of the PKM. The optimized system is used to achieve near-optimal online planning with a reasonable time complexity. The effectiveness of the method is illustrated through a set of simulation experiments proving the technique on a 2-degrees of freedom planar PKM.
These and other features of the present invention will become readily apparent upon further review of the following specification and drawings.
Similar reference characters denote corresponding features consistently throughout the attached drawings.
At the outset, it will be understood that the diagrams in the Figures depicting the parallel kinematic machine trajectory planning method are exemplary only, and may be embodied in a dedicated electronic device having a microprocessor, microcontroller, digital signal processor, application specific integrated circuit, field programmable gate array, any combination of the aforementioned devices, or other device that combines the functionality of the parallel kinematic machine trajectory planning method onto a single chip or multiple chips programmed to carry out the method steps described herein, or may be embodied in a general purpose computer having the appropriate peripherals attached thereto and software stored on non-transitory computer readable media, such as, for example, hard drives, programmable memory chips, floppy disks, USB drives, and the like, that can be loaded into main memory and executed by a processing unit to carry out the functionality and steps of the method described herein.
As shown in
At step 14, an offline multi-objective planning is initiated and iteratively performed via selection of new trajectory parameters at step 16, initializing the trajectory at step 18, optimizing the trajectory with an augmented Lagrangian with decoupling procedure (ALD) at step 20, checking the offline planning optimization stopping criteria (whether all trajectories have been processed) at step 22, incrementing T at step 24, and saving the offline optimized trajectory at step 26. The ALD step 20 is implemented on a decoupled form of the PKM dynamics. This ALD step is done as many times as possible to cover most of the robot workspace. In the offline planning system 14, one can include contact efforts. Among such models, there are friction and other forces. The generated trajectories are gathered into an input/output dataset. The inputs are the end effector (EE) positions and velocities, and the outputs are the joint actuator torques and sampling periods. Then, at sub-clustering neuro fuzzy multi-objective planning (NeFuMOP) initialization step 28, an adaptive neuro-fuzzy system is built. The fuzzy system build starts with a subtractive clustering, allowing initialization of membership function parameters and number of rules of the neuro-fuzzy system. Then, at NeFuMOP optimization step 30, the fuzzy system is optimized in order to learn and capture the dynamic multi-objective behavior of the PKM. Once the neuro-fuzzy structure, comprising rules number and premise and consequence membership function parameters, is identified and optimized, then, at on-line planning step 32, it is used in a generalization phase to achieve near-optimal online planning with a reasonable computational complexity. Near-optimality stems from the fact that at the generalization level, NeFuMOP interpolates within the parts of the domain that are not covered by offline planning dataset.
As shown in
In the Kinematic Model, the geometric parameters of the structure are given as follows:
AiBi=L(i=1,2) (1)
A1A2=2r and B1B2=2R (2)
The closure of each kinematic loop passing through the origin of frame A and frame B, and through attachment points Bi on the base 1 and the hip attachment points Ai on the EE 2 is given as:
where [y1 y2]T is the position vector of actuated points B1 and B2, [x y]T defines the position of point O′ in the fixed frame B, J1 and Jx are the 2-by-2 inverse and forward Jacobian. If J1 is non-singular, the PKM's Jacobian is:
Hence, it is clear that singularity occurs in the following cases:
In the Dynamic Model, for the offline planning system, contact efforts may be included. Among such models, there are friction and other application-specific forces. This can increase task achievement success in many practical applications, such as grinding or screwing. It allows avoiding actuator saturation and improves the trajectory planning performance. One way to do so is by adding these efforts as disturbance inputs to the dynamic equations. The joint space inverse dynamic model including contact forces is given as:
τ=M(q){umlaut over (q)}+N(q,{dot over (q)}+G(q)+JTfc({dot over (q)}) (6)
where τ is the torques vector produced by joint actuators, q, {dot over (q)}, {umlaut over (q)} are joint positions, rates and accelerations, M(q) is the inertia matrix, N(q, {dot over (q)}) and G(q) are the Coriolis and centrifugal, and gravitational forces, respectively, J is the PKM Jacobian and fc is the contact force. The model in equation (6) is represented as follows:
{umlaut over (q)}=M−1(q)[τ−N(q,{dot over (q)}){dot over (q)}−G(q)−JTfc({dot over (q)})] (7)
By defining [x1, x2]T=(q, {dot over (q)})T, Equation (7) is re-written as:
{dot over (x)}=f(x,τ,h) (8)
where x1 and x2 denote the two-dimension joint positions and velocities, while f describes the dynamics of the PKM.
With respect to constraints modeling, in addition to eq. (8), applicable constraints are the sampling period limits:
hMin≦h≦hMax (9)
the boundary conditions:
x0=xs,xN=xT (10)
the actuator torque limits:
τMin≦τk≦τMax (11)
and the workspace limitations:
xMin≦xk≦xMax,yMin≦yk≦yMax,k=0,2, . . . ,N. (12)
Regarding the singularity avoidance, because the robot Jacobian allows motion and force transformation from actuated legs to the EE, the leg forces demand at a given point on the trajectory must be continuously checked for possible violation of the preset limits as the manipulator moves close to singularity. The condition number of the Jacobian was suggested and used as a local performance index for evaluating the velocity, accuracy, and rigidity mapping characteristics between the joint variables and the moving platform,
kMin≦Cond(J(xk))≦kMax (13)
where kMin and kMax correspond respectively to the minimum and maximum values for the tolerances on the condition number.
The condition number for the PKM at hand is defined as
where σ1 and σ2 are the minimum and maximum singular values of the Jacobian associated with a given posture. For the parallel robot under study, one has
with:
A−p2+q2+2,B−(p2+q2)2+8pq+4, and
Imposed passages are constraints quantified by a set of L poses with pi referring to the ith imposed Cartesian position on the EE.
∥p−p1∥≦TPassThlp,l=1, . . . , L (14)
where TPassThlp is the passage tolerance.
For writing simplicity, all equality constraints are given as:
s(x)=0,i=1, . . . , I (15)
All inequality constraints are noted as,
gj(x,τ,h)≦0, j=1, . . . , J, (16)
regardless of whether they depend only on the state, the control variables, or both.
The performance index is obtained by considering that the discrete-time optimal control problem, which can be stated as: Among all admissible control sequences (τ0, τ2, . . . , τN-1)εC and hεH, that allow the robot to move from an initial state x0=xs to a final state xN=xT, find those that minimize the cost function Ed, subject to the constraints in equations (8) through (14), where:
and C and H represent the set of admissible torques and sampling periods, and U, Q and τ are the weight factors of the electric energy, kinetic energy and travel time, respectively.
The optimization method favors a performance index and Augmented Lagrangian with Decoupling (ALD). Two basic approaches to solving the stated multi-objective non-linear optimal control problem (17) include dynamic programming through global optimal control, and variational calculus through the maximum principle. With the former approach, an optimal feedback control, τ*(x,t), can be characterized by solving for a so-called value function through Hamilton-Jacobi-Bellman partial differential equations. For a general system, however, the PDE (partial differential equation) can be solved numerically for very small state dimensions only. If inequality constraints on state and control variables are added, this makes the problem even harder. The present method uses the second approach. An augmented Lagrangian (AL) technique is implemented to solve the multi-objective non-linear optimal control problem of equation (17). This technique transforms the constrained problem into a non-constrained one, where the degree of penalty for violating the constraints is regulated by penalty parameters. Moreover, while ordinary Lagrangian methods are used when the objective function and the constraints are convex, for the case at hand, we cannot tell whether these are convex or not, but they are most likely not.
The AL technique relies on quadratic penalty methods, but reduces the possibility of ill conditioning of the sub-problems that are generated with penalization by introducing explicit Lagrange multipliers estimates at each step into the function to be minimized. However, in developing the first order optimality conditions enabling one to derive the iterative formulas to solve the optimal control problem, in Eq. (8), {dot over (x)}=f(x,τ,h) contains the inverse of the total inertia matrix M−1(x) of the PKM, including struts and actuators, as well as their Coriolis and centrifugal wrenches N(x1,x2). In computing the adjoin states λk, one has to determine the inverse of the mentioned inertia matrix and its derivatives with respect to state variables, resulting in an intractable complexity. This major computational difficulty is solved using a linear-decoupled formulation.
I present Theorem 1: Under the invertibility condition of the inertia matrix, the control law defined in the Cartesian space as:
u=MJ−1v+Nx2+G+[JT−MJ−1C]fc−MJ−1{dot over (J)}x2 (18)
which allows the robot to have a linear and decoupled behavior with the following dynamic equation, given in the task space:
{umlaut over (x)}−v=Cfc (19)
For writing convenience, the second order system of the decoupled dynamics of equation (19) is re-written as:
{dot over (x)}=({dot over (x)},v−Cfc)=fcD(v) (20)
Because the ordinary differential equation dynamic governing the robot behavior is of a stiff type, a multi-step Adams predictive-corrective technique is used to approximate the discrete dynamic model. This is initialized with a fourth order Runge-Kutta (RK4). The resulting approximated discrete decoupled dynamics will be as:
xk+1=fkD(xk,vk,h) (21)
The decoupled technique alleviates the need of calculating the inertia matrix inverse and derivatives with respect to state variables at each iteration. However, the non-linearity of the initial problem is neither removed nor reduced. It is only transferred to the objective function. The decoupling transforms the discrete optimal control problem into finding optimal sequences of sampling periods and acceleration inputs (h, v0, v2, . . . , vN-1), allowing the robot to move from an initial state x0=xS to a final state xN=xT, while minimizing the cost function and satisfying the above mentioned constraints.
The augmented Lagrangian with decoupling (ALD) is:
where fd
The Karush-Kuhn-Tucker first order optimality conditions state that for a trajectory (x0,v0,h0, . . . , xN,vN-1,hN-1) to be an optimal solution to the problem, there must exist some positive Lagrange multipliers (λk,ρk), unrestricted sign multipliers σk, and finite positive penalty coefficients u=(μs,μg) such that:
The final state constraint xN=xT does not appear in the ALD function (22). This implies that the backward adjoin states integration will start off with λN=0. Because this constraint should be satisfied at each iteration to enhance the task execution precision, it should be treated through a gradient projection. A re-adjustment is performed with an orthogonal projection on the tangent space of this constraint through the application of a descent direction given according to Theorem 2, which states that the descent direction is expressed as:
d=−Pv∇vLμD (25)
with P being defined as:
P=Id−ST(SST)−1S (26)
where Id is an identity matrix with appropriate dimension and S is the projection matrix on the tangent space of the final state constraint. The re-adjustment process allows satisfying target attainability with any given ε precision. After initialization through a trapezoidal velocity profile, an inner optimization loop solves for the ALD minimization with respect to sampling periods and acceleration variables. The adjoin states are computed backwardly, and the control inputs and the states are updated. All equality and inequality constraints are tested against feasibility tolerances. If non-feasibility holds, the inner optimization unit is started over. If feasibility occurs, i.e., the current penalty values maintain good near-feasibility, a convergence test is made against optimal tolerances. If convergence holds, the optimal results are displayed and the program stops. If non-convergence occurs, the dual part of ALD is further explored to update Lagrange multipliers, penalty, step size, and tolerances in order to force the subsequent iterations to generate increasingly accurate solutions to the primal problem.
A Neuro-Fuzzy Multi-Objective Planning (NeFuMOP) structure is utilized in the optimization process. The outcomes of the so-developed offline trajectory planning system are used to generate an input/output dataset on which to build a neuro-fuzzy multi-objective planner. This neuro-fuzzy system has been implemented on serial manipulator and mobile robots and gave very good results. NeFuMOP is a data-driven neuro-fuzzy system based on Tsukamoto fuzzy inference mechanism. In this mode of reasoning, the consequence linguistic terms are assumed to have a continuous strong monotone membership function. The inputs of the MIMO (multiple-input, multiple-output) fuzzy model are the discrete Cartesian 2-dimensional positions and velocities, xd=[xi,yi,{dot over (x)}i,{dot over (y)}i] i=0, . . . , N. The outputs are the joint torques and sampling periods, given as πd=[π1,π2, . . . , πN]T, πi=[τi,h]T, with τi being the vector of joint torques and h being the sampling period. Consider the following input/output entries: └xd1,πd1, . . . , (xdK,πdK)┘. The fuzzy rules include:
The membership functions μA
where alj and blj are the mean and standard deviation of the jth membership function of the input variable xl, and clj are fuzzy sets defining the consequence of the jth rule, such that:
ctj=f−1(μA
being a continuous strong monotone function defined as:
where ρ and σ are real numbers affecting the position and slope of the inflection point of f.
As shown in
The learning scheme of NeFuMOP comprises a pair of steps where the network parameters of the premise membership function parameters al and bl and the consequent parameters ρt, σt of a fuzzy rule Rj are initialized by partitioning the input/output dataset into clusters. The purpose of clustering is to identify natural grouping of data from the generated large dataset to produce a concise representation of the PKM's behavior, resulting in initial rules that are more tailored to the input data. One assumes that it is not clear how many clusters there should be for the generated offline planning dataset. The subtractive clustering technique is applied to find the number of clusters and their centers. This technique provides a fast one-pass algorithm to take input/output training data to generate a fuzzy inference system that captures the robot dynamic behavior. Each cluster center may be translated into a fuzzy rule for identifying a class. The MATLAB® function subclust is used to initialize and identify these parameters. The structure optimization includes fine-tuning the so-initialized parameters (
The optimization structure 500 comprises the NeFuMOP 400 accepting inputs (x,{dot over (x)})k and computing outputs ok. A difference comparator 502 compares target outputs πdk to the computed outputs ok. The resultant error is fed to adaptation block 504 that also receives the inputs (x, {dot over (x)})k. The adaptation block feeds back to the NeFuMOP 400, adjusting weights until the computed outputs ok are acceptably close to the target outputs πdk. The cost function is the error between network outputs and the desired outputs relating the PKM dynamic behavior:
where ok is the computed output from the fuzzy system, πdk is the kth desired output associated with the kth training and dataset entry, and J is the number of rules.
In obtaining the simulation experiment results, training protocol for the neuro-fuzzy system is to learn mostly of the robot workspace. The training protocol is achieved as follows. (i)—Because the order in which the points are presented to the network affects the speed and quality of convergence, and since the robot interpolates between sampling points to build the entire path from a starting point to the end points, the trajectory generation is achieved while ensuring singularity and torque limits avoidance and satisfaction of other constraints. (ii)—Two hundred ALD trajectories for different initial and final EE Cartesian positions are generated. Each trajectory is sampled in twenty discretization points, leading to 4000 data points to perform NeFuMOP training. 80% are used for training, 10% for testing, and 10% for checking.
For offline planning, the focus is on time-energy constrained trajectory planning with the following objectives. (i) Minimize traveling time and kinetic and electric energy while avoiding singularity during the motion. (ii) Satisfy several constraints related to limits on joint positions, rates, accelerations and torques. Viscous and dry frictions are considered. The function arctg is used to approximate the sign function. The program is coded in MATLAB®. A unity value is used for each weight factor in the cost function. The following numeric values are used: The EE mass is mee=200.0 kg, that of each leg is ml=570.5 kg, and that of the slider is ms=70 kg. The platform radius is r=0.75 m the distance R=1.2030 m, and the strut length L=1.9725 m. Table 1 shows the limits of the robot workspace, actuator torques and sampling periods. As for the ALD parameters, the following values had been taken: ωs−0.5, ηS−0.5, αw=αη=0.4, βw=βη=0.4, ω0=η0=η10=10−2, γ1=0.25, w*=η*=η1*=10−5, γ2=1.2, v=0.01,
A sample trajectory starts from an initial Cartesian state position x0=−0.7, y0=−0.1 to a final position XT=0.7, yT=−1.6 (in meters). The initial and final linear and angular velocities are set to zero. The maximum velocity is 0.2 m/sec, and maximum acceleration is 2 m/sec2.
The maximum allocated time for this trajectory is 10 sec.
In
is the total traveling time,
is the consumed electric and kinetic energy, and APEq and APIneq for Achieved Precision for Equality and Inequality constraints, respectively.
The values shown for the total traveling time tT, Energy, and AP correspond to those computed for the last outer iteration. As for imposed passages through pre-specified poses, the same scenario is simulated, while constraining the EE to pass through the following positions: (0.0, −1.4), (0.4, −1.1), (0.5, −1.0), all in meters. In
Regarding the NeFuMOP performance, the subtractive clustering parameters had been set after several trials to the following. The upper acceptance threshold for a data point to be a cluster center is 1.0. The lower rejection ratio is 0.7. The cluster radius is 0.9, and the squash parameter is 0.5. In
NeFuMOP required 283 seconds to learn from the overall 4,000 data points and capture the PKM dynamic behavior. To test the learning and generalization abilities of NeFuMOP, a preliminary test is performed with small modifications (5%) of each of the 10% testing data points, Table 4 shows the learning performance achieved by NeFuMOP, showing that the modified data reached an error of order 10−2 after 40 training epochs, which highlights very good performance.
Another test is performed to assess the generalization capabilities of the proposed system. It is made on a trajectory that had been learned using the ALD offline technique, which included moving the PKM-EE along a circle, with a radius (0, −1.4) (m). The ALD technique was used to offline plan this trajectory. The actuator torques and sampling period variations are obtained from the outcomes ok of NeFuMOP. The trajectory and consumed energy are shown in plots 1302, 1304, and 1306 of
The basic contribution of the method is a systematic design of a multi-objective trajectory planning system for parallel kinematic machines. This system is built upon the outcomes of an offline planning optimizing traveling time and electric and kinetic energy, and is based on PKMs kinematics and dynamics, as well as velocity, accelerations, actuator torques and workspace limits, while avoiding singularities. The augmented Lagrangian algorithm is implemented on a decoupled dynamics of the PKM. According to simulation results, the offline planning technique produces very good results with singularity-free smoother trajectories, as compared to minimum time, kinematic-based control techniques or other optimization techniques, such as penalty methods. This makes it very suitable for training data generation to use to achieve online motion planning. The neuro-fuzzy model built upon the previous offline generated dataset to achieve online multi-objective motion planning has shown very satisfactory results as well. The high problem conditioning abilities of ALD associated with the modeling and learning capabilities of neuro-fuzzy networks has been proved effective to cope with difficult non-linear dynamics and kinematics of the system, making it possible for the development of the online intelligent multi-objective motion planning for parallel robots.
It is to be understood that the present invention is not limited to the embodiments described above, but encompasses any and all embodiments within the scope of the following claims.
Number | Name | Date | Kind |
---|---|---|---|
6922681 | Fromherz et al. | Jul 2005 | B2 |
7184992 | Polyak et al. | Feb 2007 | B1 |
7216113 | Goldwasser et al. | May 2007 | B1 |
8250009 | Breckenridge et al. | Aug 2012 | B1 |
8332337 | Harrison et al. | Dec 2012 | B2 |
8364616 | Bhatnagar | Jan 2013 | B2 |
8380653 | Dance | Feb 2013 | B2 |
8494994 | Hazan et al. | Jul 2013 | B2 |
8504175 | Pekar et al. | Aug 2013 | B2 |
Entry |
---|
A. Khoukhi Multi-Objective Trajectory Planning by Augmented Lagrangian and Neuro-Fuzzy Techniques for Robotic Manipulators (Nov. 2006 Thesis École Polytechnique de Montreal Mechanical Engineering Department). |
A. Khoukhi, L. Baron, M. Balazinski, Constrained Multi-Objective Trajectory Planning of Parallel Kinematic Machines, Robotics and Computer Integrated Manufacturing, 25, pp. 756-769, 2008. |
A. Khoukhi, L. Baron, M. Balazinski, A Decoupled Approach to Optimal Time Energy Trajectory Planning of Parallel Kinematic Machines, Courses and Lectures—International Centre for Mechanical Sciences, 2006, No. 487, pp. 179-186. |
Number | Date | Country | |
---|---|---|---|
20120290131 A1 | Nov 2012 | US |