Follow me

Thursday, October 4, 2012

Petri Net Modeling for Robotic Assembly and Trajectory Planning


Brenan J. McCarragher
IEEE Transaction on Industrial Electronics, Vol. 41, No. 6, December 1994
Summary
                   A new approach for task-level control of robotic assembly is proposed considering 3 components: a process monitor (for tracking the assembly process), a discrete event controller (for determining the velocity commands that maintained desired contacts) and a novel means of trajectory planning which incorporates the system’s ability to track and control the process. Assembly is treat as a discrete even dynamic system modeled with Petri nets. A Petri net is composed of four parts: a set of places P, a set of transitions T, an input function and an output function O. The Input function is mapping from places to transitions, while the output function is doing the opposite. P is denoted as P=PS+PC (respectively state places of current place and place conditions of external inputs that enable transitions to occur). A state place is defined by a contact pair (Φ,φ) for respectively edges and surfaces. The occurrence of a transition is to be considered a discrete event, the input function activates the places for a given transition (when conditions are then met, the transition is said “place enabled”); the output function defines the contact pair resulting from a discrete event. Inhibitor arc leave control place pi to reach transition tj, so that tj is enabled only if place pi does not contain tokens (not inhibited transition are called “control enabled”). A token in a state place indicates contact between edge and surface, in this way the Petri net is controlled. Input and output function can be expressed through the use respectively of two matrices: N- and N+, when the element i,j for given matrix is equal to one then i place is required as input of transition j; N=N+-N- is the composite change matrix, indicating the overall change in the marking of the net.
The matrix can be used to determine the result of firing transition tj (next-marking γd Rp), where tj is a vector equal to 0 except in jth component so that γd + N(tj), this equation is used to define the marking that result from the execution of the Pertri Net.
·       Model
Process Monitoring is the task of determining the current status of the assembly process and it is important in regard of reliability and preventing failures. A strain gage sensor is attached to the workpiece to check forces, a quality approach of signal understanding is used in order to reduce the noise, ensure a faster system and avoid estimate several unrequired quantities. The decidability problem is based on the criterion that templates can’t have similar force readings. Events are measured in terms of change in force, therefore of change in acceleration, which denotes of course a change in speed. According to basic kinematic equation introduced at page 635, it is possible to define mainly a state of Gain Contact (for which distance between the edge and the surface for a peg-in-hole problem must decrease), Loss Contact (for which the distance must increase) and lastly a state for which an event may not occur. The equation and disequalities may bring to more than once solution, the optima is obtained as: J=max[min(aiq’], where a is the velocity coefficient vector describing the constraint represented by place pi. and q is velocity of generic coordinates. A further constrain must be introduced to impose upper boundary conditions: x’2+y’2+(lα’)2=1 where α’ is rotational speed linearized with l, the distance the of contact to the origin. The Net may be used also for error recovery and of course for trajectory planning according to page 637 algorithm, considering decidability, directability and ability weights obtained through the path length.
Key Concepts
Petri Net
Key Results
Experiments performed in a two-peg-in-hole problem have been performed showing success in fast and slow speed, with some problem in final placing, having some non feasible solutions (the transition is not directable). The system was anyways able to recover from mismatching at different speeds.

No comments: