Ball Juggling Robot System Controlled by High

1 downloads 0 Views 7MB Size Report
optimized parameters to throw a ball up into the air and catch the ... The goal of our system is to speed up the operation of the ... TABLE I. SPECIFICATIONS OF ARM generation, which makes it easy to reduce the .... approximation is to the data point, where ߱௜ is a weight and .... The reaching height of the ball at this time.
Ball Juggling Robot System Controlled by HighSpeed Vision Tomoki Oka, Naohiro Komura, Akio Namiki Chiba University Chiba, Japan {afca9378, adya2163 }@chiba-u.jp, [email protected]

Abstract—As an example of human-like dynamic manipulation, robotic juggling using simple end effectors has been studied. The purpose of this research is to achieve juggling with a multifingered hand and arm like those of a human. One serious problem is that the weight of a multi-fingered hand and arm is large, and it is necessary to optimize the movement of the arm in order to compensate for the weight of the hand. In this paper, we propose a method of optimizing the motion trajectory using a smoothing spline. Parameters of the smoothing spline are optimized offline using a genetic algorithm. Another problem is to catch a falling ball accurately by the multifingered hand, and we use a high-speed vision system to estimate the trajectory of the ball.The task to be performed online by the robot hand and arm is to use the optimized parameters to throw a ball up into the air and catch the falling ball with high-speed visual feedback, repeatedly. We show the effectiveness of the proposed method by experiments in which the hand and arm realized throw-up and catch motions seven consecutive times.

maximum output torque limit of each joint is small, it is necessary to perform efficient operation generation and control within these limits. Therefore, in this paper, we describe motion of a robot arm with a smoothing spline, and we propose a method of optimizing the robot motion by setting the parameters while taking into account the dynamics of the arm. The parameters of the smoothing spline are optimized oˆˆŽine using a genetic algorithm, and the robot arm uses these parameters to execute, online, an optimum ball throwing-up motion according to the falling position of the ball.

Keywords— Multi-fingered hand and arm, Robotic juggling, Dynamic manipulation, Trajectory optimization

Many of the examples of conventional research on juggling by robots involved so-called paddle juggling using a flat plate as an end effector [1], [2]. There are also research examples using a cup-shaped end effector [3], [4]. These studies all used an end effector with a simple shape, so as to simplify the contact state with the object, thus facilitating the juggling operation. However, with such a simple end effector, it is not possible to realize advanced juggling including complicated gripping forms as human beings do. Based on our search of the literature, there are few examples of research in which a general-purpose robot hand is used to perform juggling operations like those performed by a human being.

I. INTRODUCTION Humans can perform actions quickly and skillfully using their fingers and arms. If robots could realize the same quick movements, improved work performance in various applications could be expected. Controlling the acceleration given to an object is called dynamic manipulation, and research on this problem has made many advances, especially with juggling as an example. In many studies on robot juggling, in order to facilitate the analysis, the ball is launched into the air with a simplified end effector such as a flat plate (paddle). On the other hand, juggling is a complicated task including transition of the grip, and it is a complicated operation to appropriately accelerate and decelerate an arm composed of multiple links. The purpose of this research is to develop a robot arm with a multi-fingered hand, like that of a human, to construct elemental technologies for realizing the high-speed manipulation that is required for juggling, and to realize the task with an accuracy exceeding that of human beings. The goal of our system is to speed up the operation of the multi-fingered hand and arm in particular. Since a hand with a large mass is attached to the tip of the arm, compensation control is required. On the other hand, since the speed reduction ratio is low using a robot arm capable of high speed motion, and the

In addition, we propose a control method using high speed visual feedback to achieve accurate catch motion. The catch motion become robust against disturbance by estimating the ball's trajectory and modifying the catching trajectory at highspeed. II. RELATED RESEARCH

On the other hand, the authors’ research group has studied dynamic high-speed operations using multi-fingered hands and arms and high-speed vision [5]–[7]. In these studies, high-speed visual recognition improved the performance of dynamic manipulation. In one of these studies, one-handed ball juggling was realized [8], [9]. However, since these operations did not take into account the robot dynamics, it may not be possible to sufficiently follow the generated motion trajectory in some cases. Also, since each motion trajectory was large and the operation time of one cycle was long, it was difficult to realize juggling with more than two balls. In the present research, our goal is to optimize these operations to realize an accurate throwing operation with a compact trajectory. We use a smoothing spline function for trajectory

TABLE I. ࣂ૛

SPECIFICATIONS OF ARM ࣂ૜

ࣂ૝

ࣂ૞

ࣂ૟

ࣂૠ

reduction ratio

51

51

50

50

50

50

max. torque [Nm]

167

167

26

26

1.4

0.7

max. speed of revolution [rpm]

110

110

50

120

150

150

generation, which makes it easy to reduce the number of optimization parameters and generate smooth motion. In addition, optimization is performed offline in advance, and interpolation is performed based on the trajectory calculated offline at the time of execution of the operation, thereby generating the optimum motion in real time. The rest of this paper is organized as follows. The configuration of the robot system used in the experiment is described in Section 3. Section 4 describes the trajectory optimization method. Section 5 presents the results of a juggling experiment.

Fig. 1. System configuration.

III. SYSTEM CONFIGURATION In this research, we used a high-speed hand and arm system as the control target, a high-speed vision system, an Image PC equipped with a GPU (Tesla 2050), and a real-time control calculation device (dSPACE) as a controller. The system configuration is shown in Fig. 1. The control operation was performed at 1 kHz. MATLAB / Simulink was used for software development. A. High-speed arm A photograph of the high-speed arm is shown in Fig. 2, and the specifications are shown in TableϨ. The arm part has seven degrees of freedom, which are three shoulder axes, two elbow axes, and two wrist axes. In each joint, the reduction ratio was about 50:1, which is suitable for high-speed motion because of the relatively small deceleration. On the other hand, since the maximum output torque from the elbow to the wrist joint was relatively small, it was necessary to generate an optimized motion within the constraints of the maximum torque. B. High-speed multi-fingered hand An overview of the high-speed multi-fingered hand is shown in Fig. 3. In contrast to a conventional hand designed assuming a static grasping motion, this multi-fingered hand was developed assuming dynamic and high-speed motion. For this reason, we tried to reduce the weight. There were three fingers, one of which (the middle finger) had two degrees of freedom, and the other two having three degrees of freedom, giving a total of eight degrees of freedom. C. High-speed vision system We used an IDP Express R2000 F [9] as the high-speed vision system. The position of the center of gravity of the ball was measured at a rate of about 900 Hz with stereo vision by the two camera heads.

Fig. 2. High-speed hand and arm.

Fig. 3. High-speed hand.

IV. GENERATING A TRAJECTORY FOR JUGGLING A block diagram of the juggling operation in the proposed method is shown in Fig. 4. The ball juggling operation is performed by repeatedly throwing the ball up into the air and catching it. The trajectory of the throwing-up operation is generated based on optimized parameters calculated offline. Also, the robot arm was made to follow the generated target trajectory by proportional-differential (PD) control. A. Generating throwing motion z Some of the problems faced in conventional throwing trajectory generation are as follows. (1) The operation time is long because the second axis of the root of the robot is moved by a large amount.

ሻଶெିଵ ሺ‫ ݐ‬൒ ‫ݐ‬௜ ሻ ሺ‫ݐ‬ ሺ‫ ݐ‬െ ‫ݐ‬௜ ሻଶெିଵ  ൌ ൜ െ ‫ݐ‬௜  ା ሺ‫ ݐ‬൑ ‫ݐ‬௜ ሻ Ͳ

 

The coefficient ܿ௜ satisfies the following expression:  

௥ σேିଵ ௜ୀ଴ ܿ௜ ‫ݐ‬௜ ൌ Ͳሺ‫ ݎ‬ൌ Ͳǡͳǡ ‫ ڮ‬ǡ ‫ ܯ‬െ ͳሻ

Furthermore, it can be shown that the condition for minimizing the evaluation value ߪ is as follows: ݂൫‫ݐ‬௝ ൯ ൅ ሺെͳሻெ ݃ሺ‫ݐ‬௝ ሻሺʹ‫ ܯ‬െ ͳሻǨ ܿ௝ ߱௝ିଵ ൌ ߠ௝ 

The coefficients ܽ௜ ሺ݅ ൌ Ͳǡͳǡ ‫ ڮ‬ǡ ‫ ܯ‬െ ͳሻ and ܿ௜ ሺ݅ ൌ Ͳǡͳǡ ‫ ڮ‬ǡ ܰ െ ͳሻ of the smoothing spline ݂ሺ‫ݐ‬ሻ are determined by simultaneously solving the M constraint conditions of equation (4) and the N constraints of equation (5).

Fig. 4. Block diagram of juggling operation.

(2) The limitation of the maximum joint torque is not taken into consideration, and if the command torque exceeds the limitation, the tracking error increases in some cases. (3) Since the trajectory is generated under the condition of only the start and end points of the motion, it is difficult to correct the trajectory in the middle. As a solution to problem (1), the position and speed of the throwing-up motion are changed, and the trajectory is made compact mainly by moving the elbow and wrist. For problems (2) and (3), smoothing splines can be used by optimizing the parameters while taking the arm dynamics into consideration. z

Smoothing spline [10]

A smoothing spline is used to generate the optimum trajectory for the throwing-up operation. The spline function is easy to calculate, and it is a function close to the curve imaginged by human jugglers, although it has the advantage that it can represent an arbitrary smooth function by changing the passing point. In addition, the smoothing spline has the feature that it becomes the smoothest curve close to a given data point. Let us consider smoothly approximating N data points ሺ‫ݐ‬௜ ǡ ߠ௜ ሻ with the function ݂ሺ‫ݐ‬ሻ . This can be formulated as a problem of minimizing the following evaluation value σ: 



z

Trajectory generation with smoothing spline

The smoothing spline is given by a cubic equation (M = 2). The reason for this is that the boundary condition can be sufficiently satisfied by a cubic spline by approximately determining the data points. The number of data points N is 7, and the data point ߠ௜ ‫ ଺ܴ א‬of the ݅th joint angle is as follows: ࣂࢉ ,ࣂࢉ ൅ ࣂࢉሶ ȟ–,ࣂࢉ ൅ ʹࣂࢉሶ ȟ– ൅ ʹࣂሷ ࢉ ȟ‫ ݐ‬ଶ ,ࣂ࢘ ࣂ࢚ ൅ ʹࣂሶ࢚ ȟ– ൅ ʹࣂሷ ࢚ ȟ‫ ݐ‬ଶ ,ࣂ࢚ ൅ ࣂሶ࢚ ȟ–,ࣂ࢚ Here, ࣂࢉ is the joint angle when catching the ball, ࣂ࢚ is the joint angle when throwing up the ball, and ࣂ࢘ is the joint angle at the passing point. The speed and acceleration in the catching and throwing up operations are also considered. Also, the corresponding times ‫ݐ‬௜ are as follows: Ͳǡ ߂‫ݐ‬ǡ ʹ߂‫ݐ‬ǡ

೘೔೙

The first term is an amount indicating how faithful the approximation is to the data point, where ߱௜ is a weight and plays the role of suppressing the influence when the reliability of the i-th data point is low. The second term shows the degree of smoothness, where ‫ݐ‬௠௜௡ ǡ ‫ݐ‬௠௔௫ are the minimum and maximum values of ‫ݐ‬௜ . Also ݃ሺ‫ݐ‬ሻ is a nonnegative coefficient; the larger it becomes the smoother curve. The function ݂ሺ‫ݐ‬ሻ that minimizes σ is a (2M −1)-order smoothing spline function ݂ሺ‫ݐ‬ሻ:  

‫ݐ‬௙ ǡ ‫ ݐ‬െ ʹ߂‫ݐ‬ǡ ‫ݐ‬௙ െ ߂‫ݐ‬ǡ ‫ݐ‬௙  ʹ ௙

By determining the weight ݃ሺ‫ݐ‬ሻ of the smoothing spline with the following equation, the catch position and the throw-up position pass through a given data point, and the smoothness can be given priority in the middle of the trajectory: ೟೑ మ



೘ೌೣ ଶ ߪ ൌ σேିଵ ݃ሺ‫ݐ‬ሻ൛݂ ሺெሻ ሺ‫ݐ‬ሻൟ ݀‫  ݐ‬ ௜ୀ଴ ߱௜ ሼ݂ሺ‫ݐ‬௜ ሻ െ ߠ௜ ሽ ൅ ‫׬‬௧

ேିଵ ଶெିଵ ௜  ݂ሺ‫ݐ‬ሻ ൌ σெିଵ ௜ୀ଴ ܽ௜ ‫ ݐ‬൅ σ௜ୀ଴ ܿ௜ ሺ‫ ݐ‬െ ‫ݐ‬௜ ሻା

 

݃ሺ‫ݐ‬ሻ ൌ

ଵ ටଶగఙ೒మ

൮‡š’ ቌെ

൬௧ି మ ൰ ଶఙ೒మ

೟೑ మ

ቍ െ ‡š’ቌെ

൬మ൰  ଶఙ೒మ

ቍ൲

 

Here, ‫ ݐ‬is the time from the start of the throwing motion, ‫ݐ‬௙ is the end time of the throwing motion, and ɐ௚ଶ is the dispersion. For the data points ሺ‫ݐ‬௜ ǡ ߠ௜ ሻሺ݅ ൌ Ͳǡͳǡ ‫ ڮ‬ǡ ܰ െ ͳሻ, the throwing-up joint angle trajectory ݂ሺ‫ݐ‬ሻ ‫ ଺ܴ א‬is found based on equation (2). Equation (2) is applied to the six degrees of freedom of the arm joints and is calculated. z

Evaluation value for optimization

Among the data points given to the smoothing spline function, ࣂࢉ , ࣂࢉሶ , ࣂࢉሷ , ࣂ࢚ , ࣂሶ࢚ , ࣂሷ࢚ are determined from the trajectory of the ball, and the intermediate point ࣂ࢘ is a

parameter that is given freely. Therefore, by changing ࣂ࢘ , we consider optimizing the trajectory of the smoothing spline to a form suitable for the throwing-up operation after satisfying the start and end conditions. The evaluation function E for optimization is defined as follows: ௧

‫ܧ‬ሺࣂ࢘ ሻ ‫׬ ؜‬଴ ೑ σ଻௞ୀଶ ቄߙ௞ ቚ

ఛೖ ሺ௧Ǣࣂ࢘ ሻ ఛೖ೘ೌೣ

ቚ ൅ หߠሷ௦ǡ௞ ሺ‫ݐ‬Ǣ ࣂ࢘ ሻหቅ ݀‫ݐ‬

 

ߚ߬ ሺ‫ݐ‬Ǣ ࣂ࢘ ሻ ሺȁ߬௞ ሺ‫ݐ‬Ǣ ࣂ࢘ ሻȁ ൒ ߬௞௠௔௫ ሻ   ߬௞ ሺ‫ݐ‬Ǣ ࣂ࢘ ሻ ൌ ൜ ௞ ሺ‫݁ݏ݅ݓݎ݄݁ݐ݋‬ሻ ߬௞ ሺ‫ݐ‬Ǣ ࣂ࢘ ሻ

 

࣎ሺ‫ݐ‬Ǣ ࣂ࢘ ሻ ൌ ࡹሺࣂ࢙ ሻࣂ࢙ሷ ൅ ࡯൫ࣂ࢙ ǡ ࣂ࢙ሶ ൯ ൅ ࢍሺࣂ࢙ ሻ ൅ ࣎ࢌ࢘࢏ࢉ 

 

Here, ߙ௞ is the weight of joint ݇, and ߬௞ is the torque calculated from inverse kinematics, which is the k-th element of equation (9). M is the inertia matrix, C is the centrifugal force and Coriolis force term, g is the gravity term, and ࣎ࢌ࢘࢏ࢉ is the friction force. Also, ߬௞௠௔௫ is the maximum torque of each joint, and a torque exceeding the maximum torque largely affects the evaluation function by the weight Ⱦ . ࣂ࢙ ሺ‫ݐ‬ሻ ൌ ࢌሺ‫ݐ‬ሻ is the joint target trajectory obtained with the smoothing spline of equation (2). z

Offline optimization

The problem is to find an intermediate point ࣂ࢘ that minimizes the evaluation function ‫ܧ‬: ࣂ௥ǡ௢௣௧ ൌ ƒ”‰‹ ‫ܧ‬ሺࣂ࢘ ሻ ࣂ࢘



 

Since ‫ ܧ‬is a multimodal function containing many local solutions, it takes time to compute, and it is difficult to optimize in real time. Therefore, we perform optimization offline as follows. First, as shown in Fig. 5, the possible catchable space is discretized and divided into a grid. The center of each grid square is a candidate for the catch position. Next, the joint angles ࣂࢉ are obtained for all the candidates by using inverse kinematics. Optimization of the throwing-up trajectory is performed offline with ࣂࢉ as the start point and the joint angle ࣂ࢚ as the end point at all candidate points. During this process, the z-axis (height direction) value of the catch position is fixed (z = œୡ ). The catch position is obtained as the intersection of the plane z = œୡ and the predicted trajectory of the ball. The catch attitude is set depending on the position. Since the catch position is determined only by x and y, these two variables are separated into grid shapes at intervals of 50 mm. For optimization, we used a genetic algorithm (GA).

Fig. 5. Trajectory plan.

performed in HSV using the hue feature. The object’s center of gravity in image coordinates is calculated using the image moment. From the obtained center of gravity, the position of the ball is calculated based on stereo vision. The falling trajectory of the ball is estimated by using a Kalman filter. It is assumed that a catch is made when the ball falls to a certain plane (z = ‫ݖ‬௖ ). Its position is pc and time is ‫ݐ‬௖ , and the following equation holds:

࢖ࢉ ൌ ቎

ܽොଵ ‫ݐ‬௖ ൅ ܽොଶ ܾ෠ଵ ‫ݐ‬௖ ൅ ܾ෠ଶ ቏ ଶ ܿƸଵ ‫ݐ‬௖ ൅ ܿƸଶ ‫ݐ‬௖ ൅ ܿƸଷ

 

where [ܽොଵ , ܽොଶ , ܾ෠ଵ , ܾ෠ଶ , ܿƸଵ , ܿƸଶ , ܿƸଷ ] are parameters estimated by the Kalman filter assuming that the trajectory of the ball is a parabolic trajectory. At the catch position, since the z-axis element of ࢖ࢉ is equal to ‫ݖ‬௖ , this is solved and ‫ݐ‬௖ is obtained:

‫ݐ‬௖ ൌ

ି௖Ƹమ ାට௖Ƹమమ ିସ௖Ƹభ ሺ௖Ƹయ ି௭೎ ሻ ଶ௖Ƹభ





 

The attitude matrix ଴ ܴ௛ from the reference coordinate system σ଴ to the hand coordinate system σ୦ is defined by the catch position with the following equations: Ͳ ଴ ࡾ௛ ൌ ൥Ͳ ͳ

െ…‘•߶ •‹߶ Ͳ ௬

B. Generate catch motion Catch motion generation is done in the same way as in our previous research [8]. First, acquired Bayer images are converted to RGB color space, and simple background subtraction is used to extract moving objects from the images. Then, these images are converted from RGB to HSV, and the color extraction method and image binarization are used to extract only the thrown ball images. Color extraction is



߶ ൌ –ƒିଵ ቀ ೎ ቁ ௫೎

െ•‹߶ െ…‘•߶൩   Ͳ 

 

 

From equations (11) and (13), we obtain the joint angles ࣂࢉ at the time of catching from the inverse kinematics. The target trajectory of the catch motion is generated using a fifth-order polynomial. In this algorithm, the visual recognition and estimation is executed at the rate of about 1Hz by using the high-speed vision.

TABLE II.

TABLE III.

JUGGLING PARAMETERS

߱௜

[1,1,1,1,1,1,1]

ߪ௚ଶ

0.001

‫ݐ‬௙ [s]

0.36

߂‫[ݐ‬s]

0.001

α

1000

β

100

STANDARD DEVIATIONS IN ROBOT JUGGLING x-axis[mm]

y-axis[mm]

Proposed method

19.53

25.38

Previous method

278.20

50.48

Previous method (Normalization)

156.49

28.40

TABLE IV.

STANDARD DEVIATIONS IN HUMAN JUGGLING x-axis[mm]

y-axis[mm]

‫ܣ‬

52.28

39.68

‫ܤ‬

44.33

51.15

‫ܥ‬

80.30

77.82

D

90.38

60.74

Fig. 6. Juggling Trajectory

E

39.65

33.06

F

61.61

54.27

performed two-ball juggling with one hand. Experiments were conducted with six people, each having 3–4 years of ball

Because the rate of estimation is high, the catch motion is robust against disturbance. V. EXPERIMENT A. Juggling with actual robot system The task to be demonstrated in the experiment was to repeatedly throw up and catch a ball in succession. The time from catching to throwing up was set to 0.36 s, and the throw position and speed were adjusted to appropriate values by experimentation. As a result, we succeeded in catching and throwing up the ball seven times in a row. For convenience of time, experiment was stopped after seven times, but it is possible to continue for eight times or more. Also, the same number of successful catches/throws was achieved in multiple experiments. Fig. 8 shows the state in the second operation. Fig. 6 shows the target trajectory and measured values of the hand position. The target trajectory from the catch to throwing up was smooth, and it can be seen that the actual trajectory of the robot arm sufficiently tracked the intended trajectory. The falling position of the thrown ball varied in a 10 cm square, but for seven times, the throws were stable, with almost the same heights. Next, the standard deviations of the estimated fall positions in our experiment and the previous study [8] are shown in Table III. In addition, the results of normalization in the previous study by taking the average reaching height of the ball are also shown. From Table III, it can be seen that the standard deviation was greatly reduced in our system. This is mainly due to the fact that the throwing motion is compact, the ball height is lowered, and the operation is repeated with high accuracy. Table IV shows the standard deviation of the falling position when human subjects

juggling experience. The reaching height of the ball at this time was about 0.9 m, which is equivalent to that in our proposed method. From Tables III and IV, it can be seen that the ball was thrown by the robot with higher precision than the human subjects. B. Performance comparison with other trajectories In order to verify the effectiveness of our proposed optimization method, the tracking errors were evaluated with other trajectories. Trajectory generation was performed for three different trajectories: a circular trajectory, a polynomial trajectory, and a minimum-acceleration trajectory. The circular trajectory is the movement adopted in the previous study [11]. With a fixed shoulder joint, elbow flexion / extension axis, inner rotation shaft and outer rotation shaft, the position of the hand as seen from the elbow is defined by: ௛ ࢞ ൌ ሾ‫•‘…ܣ‬ሺ߱‫ݐ‬ሻǡ …‘•–ƒ–ǡ ‫‹•ܣ‬ሺ߱‫ݐ‬ሻሿ் 

 

where A is the radius of the circle, ω is the angular velocity, and t is time. The polynomial trajectory is determined by the following fifth-order polynomial for the trajectory of each axis: ࣂሺ‫ݐ‬ሻ ൌ ࢇ૙ ൅ ࢇ૚ ‫ ݐ‬൅ ࢇ૛ ‫ ݐ‬ଶ ൅ ࢇ૜ ‫ ݐ‬ଷ ൅ ࢇ૝ ‫ ݐ‬ସ ൅ ࢇ૞ ‫ ݐ‬ହ 

 

The parameters are obtained from the start conditionࣂࢉ , ࣂࢉሶ , ሷ ࣂࢉ at the catch position and the termination condition ࣂ࢚ , ࣂሶ࢚ , ࣂሷ࢚ at the throw position.

feedback, fast juggling was successfully achieved for more than seven consecutive catches. As a future task, in order to rigorously consider the acceleration and jerking of the throwing motion, use of a fifthorder smoothing spline may be effective. Furthermore, in order to cope with timing deviations due to different throwing heights, which becomes a problem at the time of juggling with multiple balls, it will be necessary to find an optimum trajectory in consideration of the operation time in addition to the catch position. Although we are using simple PD control at present, we are currently introducing a control method to compensate for the dynamics in order to improve the tracking performance. Fig. 7. Tracking error

The minimum-acceleration trajectory is the trajectory obtained by the spline function of equation (2) after changing the evaluation value in equation (7) to the following equation: ௧ ‫ܧ‬ሺߠ௥ ሻ ‫׬ ؜‬଴ ೑ σ଻௞ୀଶ൛หߠሷ௦ǡ௞ ሺ‫ݐ‬Ǣ ࣂ࢘ ሻหൟ ݀‫ݐ‬

 

Fig. 7 shows the tracking error of the hand position during the throwing-up motion of each trajectory. From this, it can be seen that the optimization method proposed here follows the best trajectory. In other trajectories, the tracking error before and after throwing is particularly large. This is because the dynamics are not taken into consideration despite the fact that the speed of motion at the time of pitching is high. According to the proposed method, the tracking error at the time of throwing, which causes a large error, is suppressed in other trajectories. Furthermore, the tracking error is lower than in the minimum-acceleration trajectory because the proposed method gives a trajectory that is optimized by taking the dynamics into account. VI. CONCLUSION In this paper, with the aim of realizing juggling using a multifinger hand and arm with high-speed vision, we proposed an efficient throwing motion generation method in which the maximum torque limit of each joint is taken into consideration. Specifically, by performing trajectory generation using a smoothing spline, smooth operation was possible with a small number of parameters. Moreover, by optimizing the spline parameters in light of the dynamics of the arm, we realized trajectory generation considering the maximum torque. By integrating with a catching motion using high-speed visual

  (a)t=0.0[s] (b)t=0.15[s]

  (c)t=0.30[s] (d)t=0.45[s]

REFERENCES [1]

Akira Nakashima, Yoshiyasu Sugiyama and Yoshikazu Hayakawa: “Paddle Juggling of one Ball by Robot Manipulator with Visual Servo,” Proceeding of 9th International Conference on Control, Automation, Robotics and Vision, pp. 2025-2030, 2006. [2] Paul Kulchenko, Emanuel Todorow: “First-Exit Model Predictive Control of Fast Discontinuous Dynamics: Application to Ball Bouncing,” IEEE Int. Conf. on Robotics and Automation, May 9-13, 2011. [3] Christopher G. Atkeson, et al.: “Using Humanoid Robots to Study Human Behavior,” IEEE Intelligent Systems, Vol. 15, Num. 4, pp.46-56, July/August 2000. [4] P. Burget, P. Mezera: “A Visual-Feedback Juggler With Servo Drives,” The 11th IEEE International Workshop on Advanced Motion Control, pp.472-477, 2010. [5] Taku Senoo, Akio Namiki and Masatoshi Ishikawa: “Highspeed Throwing Motion Based on Kinetic Chain Approach,” IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, pp.3206-3211, 2008. [6] N. Furukawa, A. Namiki, T. Senoo and M. Ishikawa: “ Dynamic Regrasping Using a High-speed Multifingered Hand and a High-speed Vision System, IEEE Int. Conf. on Robotics and Automation, pp.181-187, 2006 [7] Akio Namiki and Naoki Ito, Ball Catching in Kendama Game by Estimating Grasp Conditions Based on a High Speed Vision System and Tactile Sensors, 2014 IEEE-RAS International Conference on Humanoid Robots, pp.634639, 2014. [8] T. Kizaki and A. Namiki, Two Ball Juggling with High Speed Hand-Arm and High-Speed Vision System, 2012 IEEE Int. Conf. on Robotics and Automation, pp.13721377, 2012 [9] Idaku Ishii, et al. : 2000fps Real-time Vision System with High-framerate Video Recording, IEEE Int. Conf. on Robotics and Automation Anchorage Convention District, pp.1536-1541, 2010, Alaska, USA. [10] K. Sugano, K. Yoshimura, F. Takayama, Spline function by C language, Tokyo Denki University Press, 2015 (in Japanese) [11] H. Obinata and A. Namiki, Ball Juggling Based on Internal and External rotations of a Hand-Arm Robot,2015 JSME Conf. on Robotics and mechatronics , pp.128–158㸬(in Japanese)

 (e)t=0.60[s]

 (f)t=0.75[s]

Fig. 8. Juggling Motion

 (g)t=0.90[s]

  (h)t=1.05[s] (i)t=1.20[s]

Suggest Documents