System Design of an Anthropomorphic Arm Robot for ... - IEEE Xplore

4 downloads 74 Views 475KB Size Report
Abstract—This paper investigates the system design of a. 7-DOFs Anthropomorphic arm robot for fast dynamic interac- tion task, taking the ping-pong rally task ...
System Design of an Anthropomorphic Arm Robot for Dynamic Interaction Task Zhangguo Yu, Qiang Huang, Xuechao Chen, Wei Xu, Jing Li, Gan Ma, Xiaopeng Chen Weimin Zhang, Huaping Wang, Si Zhang, and Ningjun Fan 

Abstract—This paper investigates the system design of a 7-DOFs Anthropomorphic arm robot for fast dynamic interaction task, taking the ping-pong rally task against human as an example. The robot system includes the arm mechanism, real-time stereo vision sub-system, ball trajectory prediction, racket motion trajectory planning, and distributed joint controllers. The algorithms for ball identification, ball trajectory prediction, and hitting planning are presented. The validity of the system is demonstrated via rally experiments. Key words: Ping-pong robot, dynamic interaction, trajectory prediction, motion planning

I. INTRODUCTION

integrated into a biped humanoid robot since their structures and functions quite differ from anthropomorphic appearance and behaviors. Therefore, we endeavor to design a light weight but high stiffness anthropomorphic arm robot and its vision and control systems for dynamic interactions research. This paper is organized as follows. In Section II, the mechanism of the arm is presented. The control system structure and algorithms of vision identification, ball trajectory prediction, and racket trajectory planning are presented In Section III. The rally experiments of the arm against human are demonstrated in Section IV. Finally, the conclusions are given in Section V.

T

he tasks of dynamic interactions between robot and environment, for example, hitting ping-pong consecutively, have attracted the attention of researchers[1]-[13]. Generally, the ping-pong robot can serve as comprehensive research platform for mechanism and dynamics [6], real-time machine vision [4][5], real-time motion planning with time constraints[2][10], advanced control[7][9], and artificial intelligence[3][6]. Andersson [3] constructed a ping-pong robot system that could play ping-pong against humans using a general industrial robot, PUMA 260, and four cameras. In [3], Andersson built an expert controller to control the robot to generate racket trajectories. K. P. Modi et al.[11], built a ping-pong robot system using a commercial Mitsubishi industrial robotic arm, RV-2AJ with five degrees of freedom and an operating speed of 0.64 m/s. F. Miyazaki[1][10] demonstrated a simple but effective ping-pong robot whose racket was restricted on the half table. L. Acosta et al.[9] presented a PC-based low cost ping-pong robot whose racket was restricted in a vertical plane and the length of their table was almost the half of the standard ping-pong table. This paper aims to develop a prototype arm and regards this arm as the tentative platform for dynamic interactions research. When the research results are ripe, this prototype and its sub-systems will be integrated into a biped humanoid robot for dynamic operation and locomotion tasks[14]. However, the previous ping-pong robot systems are hardly

II. MECHANISM OF THE ARM According to the overall analysis of the hitting task and the possibility of being integrated into a humanoid robot, the robot arm should satisfy the following requirements: the weight of the arm robot is less than 4.5kg, the speed of the racket is more than 3m/s. Therefore, light weight but high stiffness is very important property to the arm. We utilize the modular design, dynamic simulation and the finite element analysis together to develop this new arm [15]. The designed robot arm, shown in Fig.1, has 7 DOFs. The configurations are as follows: 3 DOFs in the shoulder, 2 DOFs in the elbow and 2 DOFs in the wrist. The axes of the three joints in the shoulder intersect at one point. The axes of the two joints in the elbow intersect at one point. Similarly, the axes of the two joints in the wrist intersect at another point.

This work was supported by the National High Technology Research and Development Program (863 Project) under Grant 2007AA041603 and 2008AA042601, National Natural Science Foundation of China under Grant 60874048 and 60925014. The Authors are with the Intelligent Robotics Institute, School of Mechatronical Engineering, Beijing Institute of Technology , 5 Nandajie, Zhongguancun, Haidian, Beijing, 100081, China (e-mail: [email protected], [email protected], {chenxuechao, xuwei1507, lijing}@bit.edu.cn, {magan, xpchen, zhwm, wanghuaping, zhang6si}@bit.edu.cn, and [email protected]).

c 978-1-4244-8738-7/11/$26.00 2011 IEEE

4204

Fig.1. Prototype of the Anthropomorphic Arm Robot

TABLE IˊPARAMETERS OF THE ARM ROBOT

Weight

Degree of freedom (DOF)

Camera1

İ4.5kg (including mechanism, motors, harmonic gears, bearings and joint controllers , except the power supply and PC computer)

Camera2

Arm

7DOFs

Shoulder

[ Pitch

-30o̚120o

Roll

-90o̚5o

Yaw

-120o̚120o

pitch

0o̚120o

Yaw

-200o̚120o

]

Ball trajectory

\

Computer1

(for ball identification)

Computer2

Angle range constraints

Elbow

Wrist End speed

ı3m/s

End load

ı0.5kg

Length of the upper arm Length of the forearm

o

(for ball trajectory prediction, batting planning, and joint control)

Fig.2. Hardware Structure of the Robot

o

Pitch

-90 ̚90

Roll

-30o̚70o

As for a rally cycle of hitting ping-pong, the robot system performs the procedures shown in Fig.3. G e t b a ll c o o r d in a te s f r o m B in o c u la r v is io n s y s te m

0.33m 0.22m

F it 1 0 - 2 0 b a ll c o o r d in a te s in to a c u r v e to a c q u ir e th e in itia l b a ll p o s itio n a n d th e v e lo c ity v e c to r

The parameters of the arm robot are shown in table I. Dimensioning of the robot hardware is an iterative process of mechanical design and extensive multi-body simulations. Design of a light weight but high stiffness robot arm is a challenging task since the arm must be able to move at high speed and with good dynamic performance. All the joints of the arm are equipped with harmonic drive gears as speed reducers, which is a de-facto standard for humanoid robots. The important advantages of harmonic gears are well known as no-backlash and high reduction ratios in small space with low weight. The compact design of harmonic drive component sets allows a space-saving integration directly into the joint units. Three major requirements for the actuators are: (1) quick dynamic response, (2) large ratios of power to weight and size, and (3) enough output torque within a wide speed range. To achieve good dynamic performance, minimizing rotary inertia will theoretically maximize acceleration capabilities and increase the system bandwidth. So, we use DC brush motors from the Maxon Motor Co to gain these performance. III. CONTROL SYSTEM STRUCTURE AND ALGORITHMS This robot system includes the aforesaid arm mechanism, real-time stereo vision sub-system, distributed joint controller and drivers, ball trajectory prediction, racket trajectory planning, etc, as shown in Fig.2. The stereo vision sub-system consists of two cameras and a high-performance industrial computer. It is used for real-time ball trajectory identification. There is another computer (TPBPSC computer) for ball trajectory prediction, racket trajectory planning, and joint servo control. These two computers communicate with each other via wireless transceiver NRF24L01.

I te r a te th e f u tu r e b a ll tr a je c to r y b y f ly in g a e r o d y n a m ic s m o d e l a n d b o u n c e m o d e l a g a in s t p in g - p o n g ta b le

C o m p u te th e lo c a tio n a n d v e lo c ity o f th e b a ll th r o u g h a f ix e d h ittin g p la n e , a n d p la n th e m o v e m e n t tr a je c to r y o f th e r a c k e t

C o n tr o l th e a r m to a c tu a te th e r a c k e t f r o m in itia lly r e a d y jo in t a n g le s to h it th e b a ll , a n d th e n r e tu r n to th e r e a d y p o s tu r e

Fig.3 Algorithms Procedures in a Rally Cycle

A. Binocular Vision System We use two color digital cameras with 640x480 resolutions up to 200fps and IEEE1394 bus, and an industrial PC computer with 2 cores CPU to build stereo color vision system for ball identification. The operating system of this PC is Windows XP. The ball identification algorithm copes with color images in HSV (hue, saturation, value) color space. Firstly, the two cameras grab images simultaneously by external synchronous triggering at 125 fps. Next, the images are enhanced in RGB color space, converted from RGB to HSV space, and segmented in HSV using threshold. In order to improve the accuracy of identification, we segment it in several domains and then get the intersection of these segmentation domains. Then, according to the shape feature of the intersection domains, the area of interest (AOI) can be selected out. For the sake of improving the accuracy of the center coordinates of the ball, it is necessary to process the area of the ball further in order to obtain the sub-pixel edge of the ball. The edge of the

2011 Chinese Control and Decision Conference (CCDC)

4205

ball is fitted to an ellipse (The experiments prove that fitting to an ellipse is better than a circle) and the accurate center coordinates of the ball can be gained. Fig. 4 shows the flow chart of the algorithm of the ball identification. Once the coordinate of the area center is acquired in each camera image, the 3D Cartesian coordinates (x, y,z) of the ball in camera system can be easily synthesized. The vision system outputs the ball trajectory (x,y,z,t), i.e., the ball coordinate sequences with respect to time. At present, the update rate of the coordinate is 125Hz. The dynamic accuracy of the ball coordinates by root mean square is less than 5mm.

By the viewpoint of real-time realization, the software of TPBPSC is divided into non-realtime Linux application process (LAP) and real-time task process (RTTP) for ball trajectory prediction, racket trajectory planning, and generating periodic joint position reference, shown as Fig.6. The period of the RTTP is 3ms. The LAP application for human machine interaction accepts instructions from console terminal, and then transmits them to real-time tasks through FIFO pipeline. Furthermore, the LAP receives the joints position data, control status and other sensors data from the real-time tasks via DATA pipeline and displays them on the terminal and saves them into a file for offline analysis. The joint controller is in charge of transferring the sensor readouts (joint position, velocity, etc) to the PC, and receiving joint position reference from the PC. There are total 7 joint actuators for the arm. The joint controller is implemented by a 32-bit performance DSP, namely the TMS320F2811PBK from Texas Instruments, which features power and reset, clock, CAN communicators, SCI communicator, encoder differential line drivers, A/D, and D/A conversion.

Fig.4 Ball Identification Algorithm

B. Prediction, Planning and Servo Control Architecture The software structure of the TPBPSC computer is divided into three layers: Ball trajectory prediction layer, racket trajectory planning layer, and joint servo control layer. RT-Linux is used as the operation system to meet the real-time requirements. In order to construct an open and real-time control system, CAN bus (CANopen protocol) is used for communication protocol between motion control computer and joint servo controllers. Fig.5 shows the structure of the TPBPSC.

Fig.6. Real-Time and Non-real-time Processes

C. Prediction Models of the Ball Trajectory After more than ten group ball coordinates are attained from the vision system, the ball trajectory is fitted as a two-order curve to get the initial ball location and velocity for iteration computing of the ball trajectory prediction. Since there is random noise, some ball coordinates may be discarded if they differ greatly from the fitting curve. As a result,, sometimes the prediction algorithm needs more ball coordinates up to 20 groups. In this paper, we assume that the ball has low spin so that we can ignore the Magnus force impacting on the flying ball. Therefore, we used a simplified ball flying model from [3] as follows.

& a

& & & Cd | v | v  g    & & where a is the ball's acceleration vector, v is the velocity & vector, C d is the drag coefficient, g is the acceleration due to gravity. In this paper, Cd is assumed as 0.12, and the

&

Fig.5. Layered Software Structure of the TPBPSC Computer

4206

magnitude of g is 9.8. We adopt the simplified linear bounce model against table

2011 Chinese Control and Decision Conference (CCDC)

as follows:

& vo

& k v i   

& & where v i and v o denote the velocity just before bounce and just after bounce against the desk, k is a coefficient vector. In this paper, we assume k [0.74,0.74,0.82]  Generally, an entire prediction period of the ball includes flying phrase before bounce, bounce phrase against the table, and flying phrase after bounce. Thus, the ball trajectory (including locations and velocity of the ball), b ( x , y , z , t ) ˈ relative to time t can be attained by iteration method. D. Racket Trajectory Planning As for a given ball trajectory, b ( x , y , z , t ) , if the value of x is fixed, then the value of y , z , t , and the velocity with respect to t , can be uniquely determined. The hitting task can be achieved as follows: when a ball gets through a designated plane ( x equals to a designated value) and then an intersection point is generated, the racket just arrives at this point simultaneously with a specific velocity vector to hit the ball back to the human player. This designated plane is named as hitting plane and the intersection point is named as hitting point. The generation procedure of the racket trajectory is shown as Fig.7. First, according to the location and velocity of the incoming ball at hitting plane, as well as the desired landing point on the desk after hitting, the required attitude, velocity, and location of the racket at hitting plane are solved. In order to counteract the prediction error of the ball trajectory, the racket should move with a constant attitude and velocity. Then, the related joint angles are found by the inverse kinematics. Finally, we adopt the third-order spline interpolation method to generate all the joint angles in every servo cycle. Compute the required attitude, velocity, and location of the racket at hitting plane according to racket-ball bounce model

Get a series of points of the racket moving at the constant attitude and velocity near the hitting plane

Solve the inverse kinematics related to the above points, to get the corresponding joint angles

Interpolate the joint angles by third-order spline method to generate batting trajectory from the initial joint angles(forward phase)

Interpolate the joint angles by third-order spline method from the hitting point to the initial joint angles (backward phase) Fig.7. Planning Algorithm for Racket Trajectory

IV. EXPERIMENTS OF THE HITTING TASK In order to verify the designed mechanism and control system of the robot arm, we performed experimental hitting. The standard ping-pong table (size: 2.74m x1.525m x 0.76m) and standard ping-pong ball (diameter: 40mm, weight: 2.7g) were used. A world frame reference system (Fig.2) for the vision system and the hitting plane were defined as follows: the origin is located at the middle of the table surface; the +x axis points to the arm along the middle line of the table; +y axis points to the right side of the arm along the middle line of the table; +z axis is determined by right hand rule of coordinate. The hitting plane was set at x=1.25mThe coordinates of the intersection point of the three joints in shoulder is (1.7m, 0.1m, 0.63m) in the world coordinate. The axis of the pitch joint in shoulder is in parallel to the +y axis of the world coordinate. The vision system generated a series of ball coordinates with respect to the world frame reference. For a hitting example, Table II lists 20 group coordinates of ball trajectory for prediction in a rally cycle. The results of the ball trajectory prediction using these ball coordinates are the ball coordinate (1.25m, 0.927m, 0.343m) and velocity (1.941ms, -0.071m/s, 0.446m/s) through the hitting plane while t = 630.48ms. TABLE IIˊCOORDINATES OF BALL TRAJECTORY FOR PREDICTION 1R [PP \PP ]PP WPV                                                                                                    

Accordingly, the racket planning section generated a group of joints servo position references, shown as Fig.8. The initially ready joint angles of the arm are 35, -45, 90, 90, 90, 0, and 35 degrees respectively. The TPBPSC transmitted these references to joint controllers via CANopen bus, and then the arm moved from the initial joint angles, hit the ball back to the human opponent, and then returned to the initial position and posture, shown as Fig.9.

2011 Chinese Control and Decision Conference (CCDC)

4207

At present, the robot arm can achieve up to 30 consecutive rallies against human opponents under controlled conditions that the ball spin effect is relatively small, ball speed is below 4 m/s, and the ball at hitting plane is covered within the operation space of the arm.

real-time stereo vision sub-system, ball trajectory prediction, and racket trajectory planning, and distributed joint controller and drivers. (2) The algorithms for ball identification, ball trajectory prediction, and racket trajectory planning are presented. (3) The performance of the designed mechanism and integrated system was demonstrated via ping-pong rally experiments. Henceforth, we will transplant these results into a biped humanoid robot for dynamic operation and locomotion tasks. 1

3

(a) Motion trajectories of the joints in the shoulder

2

Ball

Robot

Ball

4

Ball

Ball

5

6

Ball

Ball

(b) Motion trajectories of the joints in the elbow

7

8

Ball

Ball

Fig. 9. Arm Robot Rally against Human Opponent

REFERENCES [1] (c) Motion trajectories of the joints in the wrist [2] Fig. 8. Joint Trajectories of the Arm for Hitting Ball [3]

V. CONCLUSION In this paper, we present the system design of a new 7-DOFs arm robot capable of performing dynamic tasks. The main results are summarized as follows: (1) This robot system includes the arm mechanism, 4208

[4]

[5]

M. Matsushima, T. Hashimoto, M. Takeuchi, and F. Miyazaki, “A Learning Approach to Robotic Table Tennis”, IEEE Transactions on Robotics, vol.21, no.4, pp.767-771, 2005. T. Senoo, A. Namiki, M. Ishikawa, "High-speed Batting Using a Multi-Jointed Manipulator", in Proc. of the 2004 IEEE Intl. Conf. on Robotics and Automation, pp.1191-1196, 2004. R. L. Andersson, “A Robot Ping-Pong Player: Experiments in Real Time Intelligent Control”. Cambridge, MA: MIT Press, 1988. R. L. Andersson, “Aggressive trajectory generator for a robot ping-pong player”, IEEE Control Systems Magazine, vol. 9, no. 2, pp: 15-21, 1989. R. L. Andersson, “Dynamic Sensing in a Ping-Pong Playing Robot”, IEEE Transactions on Robotics and Automation, vol.5, no.6, pp. 728-739,1989.

2011 Chinese Control and Decision Conference (CCDC)

[6]

H. Fassler, H.A. Vasteras, and J.W. Zurich, “A robot ping pong player: optimized mechanics, high performance 3D vision, and intelligent sensor control”, Robot System, pp.161-170, Berlin: Spring-verlag, 1990. [7] F. Naghdy, J. Wyatt, and S. Tran, “A Transputer-based Architecture for Control of a Robot Ping-pong Player”, Parallel computing and Transputers, pp. 311-317, 1993. [8] M. Matsushima, T. Hashimoto, F. Miyazaki, “Learning to the robot table tennis task-ball control & rally with a human”, in Proc. of the 2005 IEEE International Conference on Systems, Man and Cybernetics, vol. 3, pp. 2962-2969, 2003. [9] L. Acosta, J. J. Rodrigo, J. A. Mendez, G. N. Marichal, and M. Sigut, “Ping-pong player prototype: A PC-based, Low-cost, Ping-Pong Robot ”, IEEE Robotics & Automation Magazine, vol. 10, no.4, pp.44 – 52, 2003. [10] F. Miyazaki, M. Takeuchi, M. Matsushima, T. Kusano, T. Hashimoto, “Realization of the table tennis task based on virtual targets”, in Proceedings of the 2002 IEEE International Conference on Robotics and Automation, vol. 4, pp.3844–3849, 2002.

[11] K. P. Modi, F. Sahin, and E. Saber, “An Application of Human Robot Interaction: Development of a Ping-Pong Playing Robotic Arm”, in Proceedings of the IEEE International Conference on Systems, Man and Cybernetics,vol.2, pp.1831- 1836,2005. [12] B. Peng, Y. Hong, S. Du, and W. Wei, “An Approach to Hit Point Prediction for Ping-Pong Robot”, Journal of Jiangnan University (Natural Science Edition), vol.6, no.4, 2007. [13] Zhengtao Zhang, De Xu, and Min Tan. “Visual Measurement and Prediction of Ball Trajectory for Table Tennis Robot“, IEEE Trans. On Instrumentation and Measurement,vol.59, no.12,pp.3195-3205, 2010 [14] Z.G. Yu, Q. Huang, J. Li, et al, “Computer control system and walking pattern control for a humanoid robot”, in Proc. IEEE Int. Conf. on Advanced Intelligent Mechatronics. pp. 1018-1023, 2008. [15] D. Y. Jia, Q. Huang, W. M. Zhang, H. B. Xin, Z. G. Yu, K.J. Li, “Mechanical design of a light weight and high stiffness arm for humanoids ”, In Proc. 9th IEEE-RAS International Conference on Humanoid Robots, pp.337-342, 2009 .

2011 Chinese Control and Decision Conference (CCDC)

4209