1 Introduction

When a manipulator is used to convey individual component parts for assembly on industrial production lines, it is necessary to study about the motion of objects, which are projected on the link. In the movement after the object is in contact with the link, the conventional impedance controls [7, 8] are useful. However, it is necessary to study about the optimal motion until the link moves to the contact position of the object.

Evaluations of robotic mechanisms subjected to impact load are investigated [1, 2], but energy consumption is not considered. In previous report [3], manipulated variables for the trajectory of PTP motion were calculated by the linear quadratic regulator. However, it is difficult to apply such method to the discontinuous motion caused by the collision. And, it is required a large torque in proportion to the deviation in the control whose feedback gains are constant. Therefore, numerical approach for optimal trajectory is necessary.

In previous reports [4, 5], considering impact force absorption between a link and an object, which moves vertical from different height, trajectories for saving energy are calculated by iterative dynamic programming (IDP) method. In previous reports [6], parabolic motion of the object is considered, but impact absorption between link and projected object is insufficient.

In this article, equations of motion of a manipulator are derived in consideration of the characteristics of DC servomotors and the contact of the link and the object. In addition, a performance criterion is defined in consideration of saving energy and impact absorption between link and object. When the manipulator is operated in a vertical plane, the system is highly non-linear due to gravity, and an analytical solution cannot be found. By considering for catching the object that moves parabolic, trajectories for saving energy are calculated by iterative dynamic programming method. In addition, the dynamic characteristics of two-link system controlled based on the trajectory for saving energy are analyzed theoretically. When the object moves parabolic, measurement method for the force of collision between link and object is examined by experiment.

2 Modeling of manipulator

We deal with the two-link-manipulator, as shown in Fig. 1, which is able to move in a vertical plane. And, joint 2 is driven by the motor on the base through timing-belt. The dynamic equations of manipulator are as follows.

$$\left[ {\begin{array}{*{20}c} {A_{11} } & {A_{12} } \\ {A_{21} } & {A_{22} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {\ddot{\theta }_{1} } \\ {\ddot{\theta }_{2} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {A_{13} } \\ {A_{23} } \\ \end{array} } \right],$$
(1)

where

$$A_{11} = a_{1} ,\;A_{12} = a_{3} \cos (\theta_{1} - \theta_{2} ),\;A_{21} = A_{12} ,\;A_{22} = a_{2} ,$$
$$A_{13} = \tau_{1} - a_{3} \dot{\theta }_{2}^{2} \sin \left( {\theta_{1} - \theta_{2} } \right) - a_{4} \cos \theta_{1} - F_{\xi } l_{1} \cos \theta_{1} - F_{\eta } l_{1} \sin \theta_{1} ,$$
$$A_{23} = \tau_{2} + a_{3} \dot{\theta }_{1}^{2} \sin (\theta_{1} - \theta_{2} ) - a_{5} \cos \theta_{2} - F_{\xi } \eta ,$$
$$a_{1} = m_{1} l_{{{\text{g}}1}}^{2} + I_{{{\text{G}}1}} + m_{2} l_{1}^{2} ,\;a_{2} = I_{{{\text{G}}2}} + m_{2} l_{{{\text{g}}2}}^{2} ,$$
$$a_{3} = m_{2} l_{1} l_{\text{g2}} ,\;a_{4} = (m_{1} l_{\text{g1}} + m_{2} l_{1} )g,\;a_{5} = m_{2} gl_{\text{g2}} .$$
Fig. 1
figure 1

Mechanism of manipulator

Here, rolling resistance is calculated as

$$F_{\eta } = \frac{1}{{r_{\text{b}} - \xi }}\frac{{\dot{\eta }}}{{\left| {\dot{\eta }} \right|}}m_{\text{b}} g \times { \cos }\theta_{ 2} \sqrt {r_{\text{b}}^{2} - (r_{\text{b}} - \xi )^{2} } .$$

And, the elastic deformation of the belt is ignored.

When the link is in contact with an object, the impact force is

$$F_{\xi } = - k\xi ,\;\;\;{\kern 1pt} (\xi < 0).$$
(2)

And, the frictional force F η between the object and the link is ignored, and the motion of the object is expressed as

$$\begin{array}{l} m_{\text b}\ddot{y_{\text b}}=F_\xi \text cos\theta _\text 2 -m_{\text b}g,\\ m_{\text b}\ddot{x_{\text b}}=-F_\xi \text sin\theta _\text 2, \end{array}$$

where \(\xi\) is displacement of spring, and

$$\xi = \frac{{y_{\text{b}} - (l_{1} \sin \theta_{1} + \eta \sin \theta_{2} )}}{{\cos \theta_{2} }}.$$
(3)

The applied voltage of the servomotor is

$$e_{j} = b_{1j} \,\dot{\theta }_{j} + b_{2j} \;\ddot{\theta }_{j} + b_{3j} \;\tau_{j} + b_{3j} \;\tau_{{{\text{f}}_{j} }} {\text{sign}}(\dot{\theta }_{j} ),\quad (j = 1,2),$$
(4)

where \(b_{1j} = k_{{{\text{v}}j}} + (R_{{{\text{a}}j}} /k_{{{\text{t}}j}} )D_{\text{m}j} ,\;b_{2j} = (R_{{{\text{a}}j}} /k_{{{\text{t}}j}} )I_{{{\text{m}}j}} ,\;b_{3j} = R_{{{\text{a}}j}} /k_{{{\text{t}}j}} ,\) \(R_{{{\text{a}}j}}\) is resistance of armature, \(I_{{{\text{m}}j}}\) is moment of inertia of armature, \(D_{{{\text{m}}\,j}}\) is coefficient of viscous damping. Then, the electric current is

$$i_{{{\text{a}}j}} = (e_{j} - k_{{{\text{v}}j}} \,\dot{\theta }_{j} )/R_{{{\text{a}}j}} .$$
(5)

And, the consumed energy is

$$E = \sum\limits_{j = 1}^{2} {\int {(e_{j}\cdot i_{{{\text{a}}j}} ){\text{d}}t} } .$$
(6)

3 Simulation of the manipulator

We shall take the parameters of the system as shown in Table 1. Here, the mass of the belt is ignored. And m 1, m 2 are mass of links, and m b is mass of object.

Table 1 Parameters of the manipulator

Figure 2 shows a flow chart for iterative dynamic programming method. In the figure, suffix of the parameter ‘i’ means initial value, and suffix ‘f’ means final value. And, T is working time, N is number of division of search, Δθ is division width of angle. In frame (A), the trajectory for saving energy is searched by IDP method [4]. In frame (B), the searching range is shifted to minimize the consumed energy, and width of the range is changed smaller.

Fig. 2
figure 2

Flow chart for simulation

Figure 3 shows the trajectory for searching, and initial trajectory for searching is expressed as dashed line. Under the condition that link 2 is horizontal, trajectory for searching of link 1 is expressed as broken line in Fig. 3.

Fig. 3
figure 3

Trajectory for searching

For the free fall object to vertical direction, the performance criterion is

$$E^{\prime} = \int {(e \cdot i_{\text{a}}) {\text{d}}t} + C_{1} \int {\dot{y}_{\text{b}}^{2}\cdot {\text{d}}t} + C_{2} \int {F_{\hbox{max} }\cdot {\text{d}}t} ,$$
(7)

where, F max is the maximum value of F ξ , \(\dot{y}_{\text{b}}\) is velocity of the object after collision, and C 1, C 2 are weight coefficient corresponding to the final position and velocity of the object.

Figure 4 shows simulation results, whose trajectory of the link 1 is calculated by IDP method. Figure 4a shows change of movement of the link and an object, Fig. 4b shows height change of the object and the contact portion, and the response of contact force is shown in Fig. 4c. In Fig. 4a, before the contact, link 1 rotates to counter clockwise. Then, it rotates to clockwise with the momentum of rotation, it contacts with the object whose relative velocity is small. Then, contact force is reduced as shown in Fig. 4c.

Fig. 4
figure 4

Theoretical results (movement of the object is free fall)

For projected object to horizontal direction, the performance criterion is

$$E^{\prime} = \int {(e\cdot i_{\text{a}}){\text{d}}t} + C_{1} \int {\dot{y}_{\text{b}}^{2}\cdot {\text{d}}t} + C_{2} \int {\dot{x}_{\text{b}}^{2} \cdot {\text{d}}t} + C_{3} \int {F_{\hbox{max} }\cdot {\text{d}}t} ,$$
(8)

where, \(\dot{y}_{\text{b}} ,\dot{x}_{\text{b}}\) is velocity of the object after collision, and C 1~C 3 are weight coefficient corresponding to the final position and velocity of the object.

In previous report [6], integral of contact force is evaluated, and impact absorption is insufficient. In this article, maximum impact force is evaluated, and it has become possible to suppress the impact force. It is considered that it is possible to obtain a practical solution in consideration of relationship of trade-off between the collision force and the energy consumption.

Figure 5 shows simulation results, whose trajectory of the links are calculated by IDP method. The object is projected from initial position (x b = 0.0, y b = 0.12 m), and horizontal velocity \(\dot{x}_{\text{b}} = 0. 7 1 4\;{\text{m}}/{\text{s}}\). Figure 5a change of movement of the link and an object. Figure 5b shows the angular displacement of link, and the response of contact force is shown in Fig. 5c. And then, contact force is reduced as shown in Fig. 5c. In Fig. 5a, before the contact, link 2 rotates to counter clockwise. Then, it rotates to clockwise with the momentum of rotation, it contacts with the object whose relative velocity is small. And then, contact force is reduced as shown in Fig. 5c. After that, link 2 tilts to reduce the horizontal velocity of the object. And, Fig. 5d shows the consumed energy of the motors. Until the link is in contact with the object, the motion of the link is energy-saving trajectory calculated by IDP method.

Fig. 5
figure 5

Theoretical results (movement of the object is parabolic)

In this article, although the energy consumption increases one-quarter compared with the results calculated by the method proposed in previous report [6], it is possible to suppress the collision force to one-third. And, it is considered that it is a practical solution.

4 Experimental results

Figure 6 shows an experimental apparatus. Slide board is tilted (π/3) measured from the level surface. Acceleration of the object is measured by two acceleration sensors. And impact force acting on the object is calculated from the data measured by acceleration sensor.

Fig. 6
figure 6

Experimental apparatus

Figure 7 shows the photography, it deals with the case of the rightward movement. The object is projected from initial position (x b = 0.0, y b = 0.12 m), and horizontal velocity \(\dot{x}_{\text{b}}\) is 0.714 m/s. The link is actuated along the trajectory calculated by the IDP method, and the object bounces low.

Fig. 7
figure 7

Experimental results about motion of link and object

Figure 8 shows the experimental results for the response of the link and the motor. In Fig. 8a, the link is supported at initial position, and the impact force F max is larger than 10.0 N. In Fig. 8b, the links are actuated along the trajectory calculated by IDP method. And impact force F max is smaller than 4.0 N. About the angular displacement and the angular velocity, experimental results (solid line) are similar to the theoretical results (broken line). Under the influence of friction in the motor, there are errors in the response waveform of voltage, but the motion of the links have been well-controlled by the feedback. From these results, it is considered that the modeling for simulation is effective.

Fig. 8
figure 8

Experimental results

5 Conclusions

The results obtained in this article are summarized as follows.

  1. 1.

    From experimental results, it is considered that modeling for simulation is effective.

  2. 2.

    It is considered that proposed method is available to absorb the impact force for catching the projected object.