**3. The design of programmable stamping operation**

The most outstanding advantage of the servo press is the flexibility, i.e. the programmability of its ram motions to accommodate different stamping operations such as drawing, stamping, blanking, coining, etc. To design the stamping operation, a pseudo-NURBS method is presented to model the ram motion where the displacement and velocity demands of the stamping operation (ram motion) are transformed to weight constrains, and inequalities are formed by using weights as variables. An optimized ram motion can be generated to match the deformation of work piece material that avoids large transient force and vibration by smooth approaching and slow releasing of the ram, and improves stamping productivity via quick return of the ram.

### **3.1. The pseudo-NURBS representation of stamping operation**

The ram of the press only moves along a line segment within a stroke reciprocatedly and the ram motion is changeable in terms of time. To design the ram motion, a reasonable mathematical expression should be determined firstly. As a well-known tool in computer graphics and CAGD [18], the NURBS offers a common mathematical representation for freeform surfaces/curves and commonly used analytical shapes such as natural quadrics, torii, extruded surfaces and surfaces of revolution. It is easy and straightforward to change the shape through the manipulation of control points, weights and knots. And degree elevation, splitting, knot insertion and deletion and knot refinement offer a wide range of tools to design and analyze shape information. In this chapter, a pseudo-NURBS method is proposed to express the ram motion by introducing time parameter into the NURBS representation. A NURBS curve is a defined by the following equation:

$$\text{acc}(u) = \Sigma\_{i=0}^{\text{pt}} \mathbf{P}\_i \mathbf{R}\_{i,k}(u), \qquad \mathbf{R}\_{i,k}(u) = \frac{a \mathbf{e}\_i^{\text{N}} \mathbf{i}\_{i,k}(u)}{\sum\_{i=0}^{\text{pt}} a \mathbf{e}\_i^{\text{N}} \mathbf{i}\_{i,k}(u)} \tag{16}$$

The Design of a Programmable Metal Forming Press and Its Ram Motion 167

**Pi** <sup>+</sup>**<sup>5</sup>**

= − (19)

<sup>−</sup> = =+ <sup>=</sup> (20)

<sup>=</sup> = …− (21)

<sup>=</sup> (23)

j j,k i i,k j j,k i i,k i 0 i 0 2ω N (x) ω N (x) ω N (x) ω N (x) = = − +

**Pi**<sup>+</sup>**<sup>2</sup> Pi**<sup>+</sup>**<sup>3</sup>**

**Qi** <sup>+</sup>**<sup>2</sup> Qi** <sup>+</sup>**<sup>3</sup>**

3. boundary constraints: The velocity and acceleration at the firstpoint and the endpoint

r r1

r r1

−

*j np*

(i) (i) (j) (j) C (t ) D , C (t ) D ,..... 1,2, , , 1,2, , 0s ne = = =… =… *i sp j ep* (22)

i,k i

= − (24)

n

r 1 d |Q Q | <sup>−</sup> =

−

jp1 j p i i j

=

+ −

1

p

+

the control points of the same number need to be determined.

i 0

=

0 r r1 n |Q Q | t 0, t t ,t 1 <sup>d</sup>

where, *Qr* is curve point, *n* is the number of the curve points, and *tr* is intermittent element of

u t 1, 2, ,

Hence, a pseudo-NURBS expression is proposed for the ram motion modeling. To assure the velocities and accelerations of the ram at the first points and endpoints zero, following

where, (i) C (t ) <sup>0</sup> refers to *i*-th derivative at the first point, (j) C (t ) <sup>n</sup> means *j*-th derivative at the endpoint. Equations with the sum number of *sp*+*ep*+1 are formed from Eqs.(16) and (22) and

<sup>n</sup> (j) (j)

i 0 C (x) R (x)P =

<sup>2</sup> <sup>n</sup> n n (1) (1) (1) j,k j j,k i i,k i j,k i i,k i i,k

R (x) ω N (x) / ω N (x) ω N (x) ω N (x) / ω N (x)

i 0 i 0 i 0

= = =

<sup>=</sup> n n (1) (1) (2)

**Qi** <sup>+</sup>**<sup>4</sup>**

**Qi** <sup>+</sup>**<sup>5</sup>**

**Pi**

should be equal to zero for the stamping cycle. 4. knot insertion. The chord method is applied as follows:

**Figure 11.** Control points and curve points

knot vector. The knot is expressed as

constraints should be followed:

<sup>n</sup> (2) (2) j,k j j,k i i,k

R (x) ω N (x) / ω N (x)

**Pi**<sup>+</sup>**<sup>1</sup>**

**Qi**

**Qi** <sup>+</sup>**<sup>1</sup>**

where, P*i* are vectors composed of *x* and *y* coordinates of the control points, *<sup>i</sup>* ω are positive real weights for each control point, and point of *c*(*u*) is called curve point. ( ) , *R u i k* are NURBS basis functions, and ( ) , *N u i k* are B-spline basis functions of degree *k*-1. The B-spline basis function ( ) , *N u i k* is expressed by de Boor-Cox [8] as follows:

$$N\_{\vec{i}\_{\prime},0}(u) = \begin{cases} 1, u\_{\vec{i}} \le u \le u\_{\vec{i}+1} \\ 0, 
otherwise \end{cases} \tag{17}$$

$$N\_{i,k}(u) = \frac{u - u\_i}{u\_{i+k} - u\_i} N\_{i,k-1}(u) + \frac{u\_{i+1} - u}{u\_{i+k+1} - u\_{i+1}} N\_{i+1,k-1}(u) \tag{18}$$

where, the interval [*u*i, *u*i+1] is called the *i*th knot span, and *U*={*u*0, *u*1, …*um*} (*m=n+k+*1) is the knot vector. A knot vector is non-periodic if the first and last knots are repeated with multiplicity *k*+1, i.e. *U*={*u*0, *…*, *u*0, *uk*+1, …., *um*-*k*-1, *u*m,…*um*}. For most practical applications, *u*0 = 0 and *um* = 1. Knots *uk*+1, …, *um*-*<sup>k</sup>*-1 are called interior. For planar curve, *U* = {0, 0, 0, *uk*+1, … *um-k-*1, 1, 1, 1}.

The most significant properties of the NURBS curve are:


Different from the geometric shape, the time parameter *t* should be introduced in order to express the ram motion. To apply NURBS expression for the ram motion, following issues are considered:


**Figure 11.** Control points and curve points

graphics and CAGD [18], the NURBS offers a common mathematical representation for freeform surfaces/curves and commonly used analytical shapes such as natural quadrics, torii, extruded surfaces and surfaces of revolution. It is easy and straightforward to change the shape through the manipulation of control points, weights and knots. And degree elevation, splitting, knot insertion and deletion and knot refinement offer a wide range of tools to design and analyze shape information. In this chapter, a pseudo-NURBS method is proposed to express the ram motion by introducing time parameter into the NURBS

> ( ) , ( ) P ( ), ( ) <sup>0</sup> , , ( ) <sup>0</sup> , *N u <sup>n</sup> i ik cu R u R u <sup>i</sup> i ik i k <sup>n</sup> N u <sup>i</sup> i ik*

real weights for each control point, and point of *c*(*u*) is called curve point. ( ) , *R u i k* are NURBS basis functions, and ( ) , *N u i k* are B-spline basis functions of degree *k*-1. The B-spline basis

> 1, <sup>1</sup> ( ) ,0 0, *u uu N u i i i otherwise* ≤ ≤ <sup>+</sup> <sup>=</sup>

<sup>1</sup> ( ) ( ) ( ) , , 1 1, 1 1 1 *u u u u i i Nu N u N u i k uu u u i k i k ik i ik i* − − <sup>+</sup> = + − − <sup>−</sup> + − <sup>+</sup> ++ +

where, the interval [*u*i, *u*i+1] is called the *i*th knot span, and *U*={*u*0, *u*1, …*um*} (*m=n+k+*1) is the knot vector. A knot vector is non-periodic if the first and last knots are repeated with multiplicity *k*+1, i.e. *U*={*u*0, *…*, *u*0, *uk*+1, …., *um*-*k*-1, *u*m,…*um*}. For most practical applications, *u*0 = 0 and *um* = 1.

• Locality: A movement of the control point Pi affects the curve only in the interval [ui,

• Affine and projective invariance: A NURBS curve is affinely and projectively invariant, i.e. transforming the curve by an affine or perspective transform is equivalent to

Different from the geometric shape, the time parameter *t* should be introduced in order to express the ram motion. To apply NURBS expression for the ram motion, following issues

1. time parameter *t*: To build the relationship of the ram displacement with respect to time, the stamping time and displacement are normalized by dividing by stampling

2. control points and curve points: As shown in Figure 11, the control points *Pi* should be

Knots *uk*+1, …, *um*-*<sup>k</sup>*-1 are called interior. For planar curve, *U* = {0, 0, 0, *uk*+1, … *um-k-*1, 1, 1, 1}.

• Differentiability: Same differentiability properties as the basis functions.

determined according to Eq. (16) given the curve point *Qi*.

= = <sup>=</sup> <sup>=</sup>

where, P*i* are vectors composed of *x* and *y* coordinates of the control points, *<sup>i</sup>*

ω

ω

(16)

ω

(17)

are positive

(18)

representation. A NURBS curve is a defined by the following equation:

function ( ) , *N u i k* is expressed by de Boor-Cox [8] as follows:

The most significant properties of the NURBS curve are:

transforming the control points.

cycle and stroke respectively.

ui+k+1].

are considered:


$$\mathbf{cd} = \sum\_{\mathbf{r}=1}^{\mathbf{n}} |\mathbf{Q}\_{\mathbf{r}} - \mathbf{Q}\_{\mathbf{r}-1}| \tag{19}$$

$$\mathbf{t}\_0 = \mathbf{0}, \qquad \mathbf{t}\_r = \mathbf{t}\_{r-1} + \frac{|\mathbf{Q}\_r - \mathbf{Q}\_{r-1}|}{\mathbf{d}}, \quad \mathbf{t}\_n = 1 \tag{20}$$

where, *Qr* is curve point, *n* is the number of the curve points, and *tr* is intermittent element of knot vector. The knot is expressed as

$$\mathbf{u}\_{j+p} = \frac{1}{\mathbf{P}} \sum\_{i=j}^{j+p-1} \mathbf{t}\_i \qquad j = 1, \ 2, \ldots, n-p \tag{21}$$

Hence, a pseudo-NURBS expression is proposed for the ram motion modeling. To assure the velocities and accelerations of the ram at the first points and endpoints zero, following constraints should be followed:

$$\mathbf{C}^{(\mathbf{i})}(\mathbf{t}\_{0}) = \mathbf{D}\_{\mathbf{s}}^{(\mathbf{i})}, \; \mathbf{C}^{(\mathbf{0})}(\mathbf{t}\_{\mathbf{n}}) = \mathbf{D}\_{\mathbf{e}}^{(\mathbf{0})}, \dots \\ \mathbf{i} = \mathbf{1}, \mathbf{2}, \dots, \mathbf{sp}, \mathbf{j} = \mathbf{1}, \mathbf{2}, \dots, \mathbf{ep} \tag{22}$$

where, (i) C (t ) <sup>0</sup> refers to *i*-th derivative at the first point, (j) C (t ) <sup>n</sup> means *j*-th derivative at the endpoint. Equations with the sum number of *sp*+*ep*+1 are formed from Eqs.(16) and (22) and the control points of the same number need to be determined.

$$\mathbf{C}^{(0)}(\mathbf{x}) = \sum\_{i=0}^{n} \mathbf{R}\_{i,k}^{(0)}(\mathbf{x}) \mathbf{P}\_i \tag{23}$$

$$\mathbf{R}\_{\mathbf{j},\mathbf{k}}^{(\mathrm{I})}(\mathbf{x}) = \omega\_{\mathbf{j}} \mathbf{N}\_{\mathbf{j},\mathbf{k}}^{(\mathrm{I})}(\mathbf{x}) / \sum\_{\mathbf{i}=\mathbf{0}}^{\mathrm{n}} \omega\_{\mathbf{i}} \mathbf{N}\_{\mathbf{i},\mathbf{k}}(\mathbf{x}) - \omega\_{\mathbf{i}} \mathbf{N}\_{\mathbf{j},\mathbf{k}}(\mathbf{x}) \sum\_{\mathbf{i}=\mathbf{0}}^{\mathrm{n}} \omega\_{\mathbf{i}} \mathbf{N}\_{\mathbf{i},\mathbf{k}}^{(\mathrm{I})}(\mathbf{x}) / \left[ \sum\_{\mathbf{i}=\mathbf{0}}^{\mathrm{n}} \omega\_{\mathbf{i}} \mathbf{N}\_{\mathbf{i},\mathbf{k}}(\mathbf{x}) \right]^{2} \tag{24}$$

$$\mathbf{R}\_{\mathbf{j},\mathbf{k}}^{(2)}(\mathbf{x}) = \omega\_{\mathbf{j}} \mathbf{N}\_{\mathbf{j},\mathbf{k}}^{(2)}(\mathbf{x}) / \sum\_{\mathbf{i}=0}^{n} \omega\_{\mathbf{i}} \mathbf{N}\_{\mathbf{i},\mathbf{k}}(\mathbf{x}) - \left[ 2\omega\_{\mathbf{j}} \mathbf{N}\_{\mathbf{j},\mathbf{k}}^{(1)}(\mathbf{x}) \sum\_{\mathbf{i}=0}^{n} \omega\_{\mathbf{i}} \mathbf{N}\_{\mathbf{i},\mathbf{k}}^{(1)}(\mathbf{x}) + \omega\_{\mathbf{j}} \mathbf{N}\_{\mathbf{j},\mathbf{k}}(\mathbf{x}) \sum\_{\mathbf{i}=0}^{n} \omega\_{\mathbf{i}} \mathbf{N}\_{\mathbf{i},\mathbf{k}}^{(2)}(\mathbf{x}) \right]$$

$$\left| \left[ \sum\_{i=0}^{n} \omega\_{i} \mathbf{N}\_{i,\mathbf{k}} \langle \mathbf{x} \rangle \right]^{2} + 2 \,\omega\_{\rangle} \mathbf{N}\_{\mathbf{j},\mathbf{k}} \langle \mathbf{x} \rangle \left[ \sum\_{i=0}^{n} \omega\_{i} \mathbf{N}\_{i,\mathbf{k}}^{(1)} \langle \mathbf{x} \rangle \right]^{2} / \left[ \sum\_{i=0}^{n} \omega\_{i} \mathbf{N}\_{i,\mathbf{k}} \langle \mathbf{x} \rangle \right]^{3} \tag{25}$$

$$\mathbf{N}\_{i,\mathbf{p}}^{(\mathbf{j})}(\mathbf{x}) = \mathbf{p}(\frac{\mathbf{N}\_{i,\mathbf{p}-1}^{(\mathbf{j}-1)}(\mathbf{x})}{\mathbf{u}\_{i+\mathbf{p}} - \mathbf{u}\_{i}} - \frac{\mathbf{N}\_{i+1,\mathbf{p}-1}^{(\mathbf{j}-1)}(\mathbf{x})}{\mathbf{u}\_{i+\mathbf{p}-1} - \mathbf{u}\_{i+1}}) \tag{26}$$

The Design of a Programmable Metal Forming Press and Its Ram Motion 169

0.6, 0.8, 0.05, 0.8, 1.2, 0.5, 0.8, 1], and *U*2 = [0, 0, 0, 0, 0.0476, 0.1111, 0.254, 0.4444, 0.619, 0.7619, 0.8571, 0.92, 0.995, 1, 1, 1, 1]. The corresponding ram motions are dicpited in Figure 13 resepctively. It can be found that the peak velocity and acceleration of the return period can be lowered up to 20%-30% and the ram velocity lowered 40% when the upper die touches

the workpiece by adjusting the knots corresponding to quick return period.

(a) displacement (b) velocity (c) acceleration

**Figure 12.** Ram motion under different weights

select by optimization.

*<sup>l</sup>* , …, and *<sup>l</sup>*

ω

( ) <sup>0</sup> , ( ) <sup>0</sup> , *<sup>n</sup> dN u <sup>i</sup> i i ik <sup>n</sup> N u <sup>i</sup> i ik* ω

1 *<sup>l</sup>* , 2

<sup>1</sup>*s* ≤

 <sup>=</sup> <sup>=</sup>

**Figure 13.** Ram motion under different weights and knot vectors

*3.4.1. The self-adaption due to the ram displacement* 

**3.4. The self-adaption of the weights due to optimization of the ram motioin** 

(a) displacement (b) velocity (c) acceleration

Under the same group of demands over the displacement, velocity of the ram motion, a large number of NURBS curves can be achieved and hence the optimized one is able to

Due to the local support of the NURBS expression, the ram motion can be discretized into several segments to set up the constraint inequalities. The *m* curve segments are denoted as

*<sup>m</sup>* . Supposed displacement demands over curve segement *<sup>l</sup>*

≤ <sup>2</sup>*s* , where knot vector *u*∈[ <sup>1</sup> *uj* , 2 *uj* ]. To satisfy this in-equality demand, let

*<sup>j</sup>* , <sup>1</sup>*s* ≤ *<sup>l</sup>*

*<sup>j</sup>* ≤ <sup>2</sup>*s* , i.e.

Combining Eqs.(16), and (22) through (26), following equation can be got:

(1) (1) 0 0 1 (2) (2) (2) 1 012 2 <sup>1234</sup> <sup>3</sup> <sup>2345</sup> <sup>4</sup> 3456 5 5678 6 <sup>7</sup> <sup>5678</sup> <sup>8</sup> 7 8 9 10 9 8 9 10 11 (2) (2) 10 10 11 <sup>11</sup> (1) <sup>11</sup> <sup>12</sup> 1 P R R P RRR P RRRR <sup>P</sup> RRRR P RRRR P RRRR P RRRR P <sup>P</sup> RRRR P RRRR P R R P <sup>R</sup> <sup>P</sup> 1 **(2) 12 (1) 12 R R** 0 (1) s (2) s 1 2 3 4 5 6 7 (2) e (1) e 8 Q D D Q Q Q Q Q Q Q D D Q = (27)

By solving Eq.(27), the control points *P*0, *P*1*…*, and *P*12 are determined and therefore the ram motion can be solved according to Eq.(16). Thanks to the locality of NURBS, the ram motion can be refined piecewisely through the manipulation of corresponding control points, weights and knots.

#### **3.2. The influence of weights to the fluctuations of ram velocity and acceleration**

To check the influence of weights to the ram motions, let [*ω*1] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [*ω*2] = [1, 0.5, 0.6, 0.8, 1,0.9, 0.8, 0.4, 0.8, 1.2, 0.5, 0.8, 1], and [*ω*3] = [1, 1, 1, 1, 0.5, 0.6, 0.8, 0.1, 0.8, 1, 1, 1, 1]. The corresponding ram motions are dicpited in Figure 12 resepctively. It can be found that weight *ω<sup>i</sup>* (*i*=8) should be adjusted that can lower the fluctuation of the ram velocity and acceleration and decrease the shock, vibration and noise during stamping operation, and decrease the peak power demand of the servomotors.
