2020 IEEE/RSJ International Conference on Intelligent and Systems (IROS) October 25-29, 2020, Las Vegas, NV, USA (Virtual)

High-Speed Catching by Multi-Vision Hand

Masaki Sato, Akira Takahashi and Akio Namiki

Abstract— In this paper, we propose the “multi-vision hand”, External fixed Estimation trajectory cameras Ball trajectory in which a number of small high-speed cameras are mounted Estimated position on the robot hand of a common 7 degrees-of-freedom robot. (Target position) Also, we propose visual-servoing control by using a multi-vision system that combines the multi-vision hand and external fixed high-speed cameras. The target task was ball catching motion, Actual position which requires high-speed operation. In the proposed catching control, the catch position of the ball, which is estimated by the external fixed high-speed cameras, is corrected by the multi- Move hand to vision hand in real-time. In experiments, the catch operation correct catch position was successfully implemented by correcting the catch position, thus confirming the effectiveness of the multi-vision hand Estimation error system. Hand-Arm Multi-Vision Hand

Fig. 1. Concept. I.INTRODUCTION

II.RELATED WORK In recent years, the size and price of visual sensors have been reduced, making it easier to use multiple cameras A. Eye-in-hand simultaneously. In addition, the widespread use of parallel Eye-in-hand is a commonly used configuration, and it is computers such as graphics processing units (GPUs) has used for visual servoing control [5][6]. In conventional eye- enabled the processing of visual information in real-time. in-hand systems, the visual field is so narrow that the visual The purpose of this study is to develop a so-called “multi- servoing can only be designed so that the camera approaches vision hand” in which a number of small high-speed cameras the target along a straight line. On the other hand, our multi- are arranged on the surface of a conventional robot hand, vision hand can observe the surrounding area in the form and to achieve high-speed, high-precision manipulation while of visual information, helping to eliminate blind areas. As a eliminating blind spots by integrating information from the result, the visual field is wide, so that there is also a lot of multi-vision hand and other external high-speed cameras. In flexibility in the design of the visual servoing. This is also particular, our aim is to demonstrate ball catching control. useful for achieving rapid capturing or collision avoidance This task has been studied in our research group as part of in manipulation. ball juggling control performed by a multi-fingered hand- Our group previously developed a robot system with high- arm robot[1][2][3]. This ball juggling control system has speed cameras mounted on the links of a robot arm for real- succeeded in catching three balls up to four times, but it time collision avoidance[7]. However, because the cameras was difficult to operate the system for a long time due to were large, the system was not suitable for practical uses. the poor ball position estimation accuracy, which led to a B. Sensing by robot hand decrease in the ball juggling accuracy [4]. The control concept of our system is shown in Fig. 1. There are several studies on sensing by placing sensors Visual servoing control is performed by setting the target on robot hands. Yamaguchi et al.[8] proposed Finger Vision, as the estimated ball position projected onto images on the a method for measuring the force applied to a vision- multi-vision hand. In addition, the hand orientation is also based gripper, and succeeded in gentle grasping and in-hand controlled at the same time so as to maintain the catchable manipulation. In that system, cameras are primarily used to posture. track markers and provide a tactile sense, but can also see the external scene through transparent skin. Because multiple cameras are attached to the surface of Also, there are some applications of proximity sensors for the hand, blind areas can be eliminated, and robust, precise robotic manipulation. For example, Patel et al.[9] proposed a catching can be achieved. dynamic tactile sensor that combines proximity, contact and force (PCF) and applied it to robotic grasping. Koyama et M. Sato, A. Takahashi, and A. Namiki are with al.[10] demonstrated high-speed grasping of flexible objects the Graduate School of Engineering, Chiba University, such as marshmallows and paper balloons by combining 1-33, Yayoicho, Inage-ku, 263-0022, Chiba, Japan [email protected], a.takahashi876@chiba high-speed vision with individual sensors in proximity to a -u.jp, [email protected] robot.

978-1-7281-6211-9/20/$31.00 ©2020 IEEE 9131 External high-speed vision Host PC Measuring ball 3D position Hand Arm Robot 500Hz

Controller Vision PC dSpace • Simulink Realtime • Motion generation • Processing 1kHz Multi-Vision Hand target tracking Hand Vision PC visual servoing 120Hz

Fig. 2. System Configuration.

zw

xw yw θ2

θ1 Σtool θ3 � � θ4

θ5

θ6 : Camera : LED θ7

(1) Appearance (2) Joint configuration Fig. 4. Multi-Vision Hand.

Fig. 3. High-Speed Hand-Arm. A. High-Speed Hand-Arm The robot arm has 7 DoF (Fig. 3). The first axis has a On the other hand, our system aims to realize a wide field diagonal joint so that the arm can support its own weight of vision and to realize quick grasping. In general, the depth and move at high speed. Also, since the reduction ratio of range of a camera is wider than that of a proximity sensor each joint is small, at about 50:1, the arm is suitable for and the amount of information is also larger. Therefore, this high-speed operation. The multi-vision hand is attached to enables our multi-vision hand to achieve complex tasks. the tip of the arm. The details of the hand are described in C. Ball catching the next section. Bauml¨ et al.[11] demonstrated catching of two B. Real-time Control System simultaneously thrown balls by a two-armed mobile . Birbach et al.[12] demonstrated ball In this study, the multi-vision system is controlled with catching with an eye-in-hand single-camera configuration a dSPACE modular system. The system can be controlled on a common . at 1 kHz, and the speed of the control loop is fast enough In the present study, we realized a catching motion using to operate the hand-arm smoothly. The control software was a general-purpose seven degrees-of-freedom (DoF) robot. In developed using MATLAB/Simulink. particular, this paper focuses on information loss due to C. External high-speed vision occlusion. We use the high-speed vision platform called IDP Express III.SYSTEM CONFIGURATION RF2000F [13]. The platform can acquire 512x512 pixel, 8- The system configuration is shown in Fig. 2. The multi- bit Bayer pattern information at a rate of up to 2000 Hz. In vision hand system consists of a multifingered hand-arm the experiments, the rate was set to 500 Hz. The captured on which a number of small cameras are attached and two Bayer pattern image is transferred to the main memory of the external fixed high-speed cameras. The controller estimates Vision PC at high speed through a PCIe board with double the trajectory of a ball and the desired catching position channel camera inputs (Fig. 2). and orientation based on the visual information from the external fixed cameras. Next, using the visual information IV. MULTI-VISION HAND from the multi-vision hand, the hand position and orientation The multi-vision hand is shown in Fig. 4. It is a modified are corrected by visual servoing control. version of a multi-fingered high-speed hand developed to

9132 LED radiation � LEDs � � � Cameras � �

Angle of view (a) Not considering z-axis rotation (b) Considering z-axis rotation

Fig. 6. Effect of allowing Z-axis rotation. Fig. 5. Finger configuration.

The desired joint angles qcatch are calculated by solving the achieve dynamic high-speed operations [14]. The hand inverse kinematics using an iterative calculation [15], from consists of 3-DoF right and left fingers and a 2-DoF center the desired hand position/orientation. The desired joint angle finger, and its weight is about 600 g, excluding the wiring trajectory is generated using a fifth-order polynomial. cables. Smaller cameras are installed at the tip and the surface of B. Correction of Catching by Multi-Vision Hand the top link of each finger, and at the base of the left and One approach is to integrate all the visual information right fingers (Fig. 5). In addition, LEDs are installed around from the multi-vision hand with the Kalman filter described the cameras to assist image capturing. in the previous section, but this may result in a delay in The cameras used are IU233N2-Z developed by Sony Inc. estimation. In this paper, we take the approach of correcting They are very small, with dimensions 2.6 mm x 3.3 mm the predicted catch position calculated by using the Kalman x 2.32 mm. They can output images at up to 240 Hz in filter with visual servoing of the multi-vision system. High- CSI-2 format. In our system, visual information from each speed, high-accuracy catching is realized by using the images camera is sent to the Vision PC through a USB converter. from the cameras placed on the fingers directly for visual As a result, the actual rate was 120 Hz for 320x200 pixel servoing. 8-bit RGB images. 1) Correction Without Considering Orientation: First, The small cameras, the LEDs, and the signal conversion [consider one] of the cameras on the multi-vision hand. Let cam cam T 6 boards are installed inside the fingers. Thus, they can t˙w ωw ∈ R be the camera velocity/angular velocity continue to acquire images stably even when a shock is and wx˙ ∈ R3 be the ball velocity. The velocity of the ball applied to the fingers, such as from a ball collision. In projected on the image m˙ ∈ R2 is expressed as follows: [ ] addition, each finger is made from ABS resin by using a camt˙ m˙ = L w + L wx˙ , (2) 3D printer, and the weight of each finger is only 14 g. m camω b [ w ] V. VISUAL SERVOING CONTROL 1 | − cam w ∈ R2×7 Lm := cam A I3 [ Rw x]× (3) As shown in Fig. 1, the concept of the proposed control z 1 involves correcting the catch position estimated by the cam w ∈ R2×3 Lb := cam A Rw x˙ (4) external fixed-position cameras using visual servoing of the z multi-vision hand. where A ∈ R2×3 indicates the top two rows of the internal parameterA ∈ R3×3, camR ∈ R3×3 is the rotation matrix A. Estimation by external high-speed vision system w from the camera-specific coordinate system (Σcam) to Σw, w cam n×n The 3-D position of the ball x is calculated using a z is the ball depth position in Σcam, In ∈ R is the stereo method with the visual information from the external identity matrix, and []× is a skew matrix equivalent to the fixed high-speed vision system, where the upper left w outer product calculation. [ ] indicates the world coordinate system Σ . The estimated cam cam T w If the Jacobian matrix J is defined as t˙w, ωw = states wxˆ , wx˙ˆ , wx¨ˆ of the ball are obtained from wx by using Jq˙cam-0 with the joint angle from the hand-eye to the robot a Kalman filter. The trajectory of the ball is calculated from base qcam-0, the displacement of the joint angle change the estimated state, and the catch position p and the catch w catch ∆qcam-0, the ball displacement in the world coordinate ∆ x ∈ time tcatch are estimated. The orientation of the hand Rcatch R3, and the ball displacement on the image ∆m ∈ R2 are is given so that the hand faces upward.   related as follows: 0 sinϕ cosϕ ∆ ∆ ∆w   m = LmJ qcam-0 + Lb x. (5) Rcatch = 0 −cosϕ sinϕ , (1) 1 0 0 However, if this method is extended to the multi-vision x y system, it is necessary to calculate the Jacobian matrix J ϕ = catch , ϕ = catch . sin cos from all cameras to the robot base, and thus the computation [x ,y ]T [x ,y ]T catch catch catch catch cost becomes heavy. Therefore, assuming that the joint

9133 where h mg lns and planes, image the where obtained. m and al h olwn qaini obtained: is equation following the ball, and where ∆ eainhpo h oriaesse xdt h ad( hand the relative to fixed the system that coordinate indicates the of This operation relationship calculation. catching the the during simplify constant will are hand the of angles ipaeeto h on nl rmterbthn othe to hand robot the from angle base joint robot the of displacement q yslig() h olwn ipecnrlmto is method control simple following the (9), solving By ne hsasmto,terltv oeetof movement relative the assumption, this Under yapyn 8 oNcmrsta a atr h target the capture can that cameras N to (8) applying By hs h eainhpamong relationship the Thus, d n h oiinoinainof position/orientation the and Σ Σ sgvna h ita esetv rjcinfo the from projection perspective virtual the as given is m cam cam

J � [rad] m J V V J m all tool N b d sconstant. is sepesda follows: as expressed is = : : : : [ = = = = = ∆ [ ∆ q steJcba arxbtentejitangle joint the between matrix Jacobian the is − [ [ [ [ ∆ m q ( L m ˆ − sepesda follows: as expressed is m cam L = = � b T 1 camN ∆ 1 0 � m 1 [ T = J J m R ··· i.7 otfunction Cost 7. Fig. 0 cam 1 cam ··· m m + + V w ··· L all R 1 [ [ ω J m m t ˙ ) ˆ ( ∆ w = w m L T w + m − J V m N m ] b T J ] cam ··· d en h suoivreof inverse pseudo the means N − all = N m ∈ − . tool − T ] camN − R ∆ R V T ] m cam ( q T 2 − w L J N [ ∆ , + all camN b [ R m w � R q w w ∈ ∆ stedsrdpsto on position desired the is ) Σ � ω J t t N w + ˙ w w − tool tool tool R b tool V [ x ∆ E ∆ R L w 2 J N Rz m ] . N w t ] b ] b w ) × tool . x ∆ ∆ T , , ][ , ] w w T ] x x × ∆ w J w , , ] w ω ] tool t ˙ x tool tool n the and , ] Σ w .

, Cost value Σ Σ J (14) (11) (10) (13) (12) (15) tool tool (9) (6) (7) (8) m ) . , 9134 n siae oiino h ball the of position estimated h urn orientation current The norce state. uncorrected [ follows: where arxfrom matrix retto saddi hsscin Let the section. of this function in cost added a is hand Therefore, orientation the determined. of uniquely orientation not the is section, previous the in described h norce condition: uncorrected the sgvna follows: as given is h ipaeeto h retto ftez-axis the of orientation the of displacement The xrse ihtertto angle rotation the with expressed otecreto ftecthposition. catch the of corresponding adjusted correction 6, flexibly the Fig. is plane. to in hand shown the palm as of the orientation z-axis, the in the around vector rotation normal permitting the By represents z-axis The urn retto and orientation current Here, m Control generation Trajectory estimationBall = h oeta of potential The )Creto osdrn orientation: considering Correction 2) h otfunction cost The 1 d � [ ] catch n Rz = x tool , e , n cam � y T catch Catch Catch position estimation sntiflecdb oainaon h z-axis. the around rotation by influenced not is , Ball Ball position estimating w 1 5th 5th order polynomial w z ˆ Σ w Invers Invers kinematics � Imageprocessing ( R − , Task execution correct � � 1 tool q R ∈ catch catch PD control catch i.8 alcthn oto flow. control catching Ball 8. Fig. catch ( tool � n + − � E R d x 2 to & Rz 4 + ) E + � = = + × Rz w E P Σ Rz 4 : � n = Hand Hand eyes Rz e w [ [ y 2 , � [ w R R w ) and , cam w offset sahmgnostransformation homogeneous a is ssoni i.7a oo map. color a as 7 Fig. in shown is = − �

1 x x R sdfie as defined is

R / , catch 2 w 2 1 R catch , R tool ] �

R z

( T tool y catch Rz q h eie otr sstto set is posture desired The . , catch sgvnas given is R , ∈ e w R y | ) x R ˆ z × catch T cam Cameras 3 ϕ ( ] Visual oteiaepae as planes image the to stejitagei the in angle joint the is R Fixed Fixed × Rz z t 3 , n h oainaxis rotation the and tool . false e w R eteoinainin orientation the be � eq.(22) ) z R Servoing all ] . catch Visibleor not Switch tool tool R ntemethod the In - true ϕ (24) T ] ∈ - Control ∈ . w R ( R q 3 × Rz 3 catch × 3 e 3 ethe be tis It . ∈ ) (16) (20) (18) (17) (19) [ R w 1 3 x , ˆ ] Ball External fixed Used in catching control cameras 1500

Re-estimated trajectory after the experiment 1000 Initial estimated trajectory including errors

[mm] 500 z

w Not used in �� ref� Hand-Arm Multi-Vision Hand catching control 0 �w′� �

−1000 t = 12.3� 1500 Fig. 9. Experimental setup. 1000 500 100 0 −100 −200 −300 0 x [mm] y [mm] Rϕ=0 = I3. In Fig. 7, the cost value is high even if not only Fig. 10. Estimated ball position. ϕ is small but also nx or ny is small. This is means that when the rotational displacement of x- or y-axis rotation is large, the cost function becomes large. t = 0.9s t = 0.9s The Jacobian matrix between the cost function and the −300 Uncorrected trajectory 1.0s 1.0s joint angle vector q is obtained as: 1.1s Rz R ∂ e ∂ z −350 1.1s J = = Rz × . (21) 1.2s e ∂q catch ∂q

[mm] Corrected trajectory Thus, the correction value of the joint angle is obtained by z 1.2s −400 the inverse calculation of (9) and (21): � � [ ] [ ] �′ � + ∆ − ∆w ∆ Jm mall Jb x q = Rz (22) 300 Je ∆ e. −450 200 −80 −90 −100 −110 −120 −130 −140 −150 100 x [mm] In this method, if visual information is not obtained, ∆q y [mm] cannot be calculated, and the desired joint angle cannot be corrected. This happens when the ball is out of sight or the Fig. 11. Trajectory of hand position. system fails to visually detect the ball. To solve this problem, we define the offset angle as follows: • The experiment was performed while intentionally qoffset = ∆q − qcatch + q, (23) lowering the estimation accuracy of the ball state calculated by using external fixed cameras, and it was ∆ where q is the current joint angle, q is the value calculated confirmed whether the correction of the catch position by (22), and qcatch is the joint angle in the uncorrected was appropriate. state. By updating the offset only when visual information • The frame rate of the external fixed cameras were 500 is obtained, a sudden change of the desired joint angle is Hz, and that of the multi-vision hand was 60 Hz, for suppressed. stability in the experiment. From (23), the catching position was corrected by This section shows the results when the effect of correcting correcting the joint angle as follows: the catch position was remarkable.

qcorrect = qcatch + qoffset. (24) The experimental result is shown as a sequence of continuous images in Fig. 12. The Kalman filter converged The flowchart for ball catching is shown in Fig. 8. at t = 0.69 s, and the initial catch position was determined. Because the ball was within the field of view of the multi- VI.EXPERIMENT vision hand at t = 0.69 s, the joint correction started at the The experimental conditions were as follows: same time. After that, the ball catching was successful at • The ball was thrown from a toss machine (t = 0 s), and t = 1.23 s. the catch position was determined after convergence of Fig. 10 shows the initial estimated ball position wxˆ and the w w the Kalman filter. Then, when the ball entered the field corrected ball position xˆ ref. xˆ ref was not used in the visual of view of the multi-vision hand, correction of the catch servoing, and it was re-estimated offline for comparison position started. with wx. Also, the corrected hand trajectory p(t) and the • The position of the ball was estimated using the external uncorrected hand trajectory p′(t) are shown in Fig. 11. fixed cameras. In this catch task, only the three cameras In Fig. 10, the error between the initial estimated position at the fingertips of the multi-vision hand were used and the re-estimated position gradually increases. This is the because the target was not observed in the field of view error in the initial estimation of the Kalman filter, and is of the other cameras. (Fig. 9). also the amount corrected by the visual servoing. The size

9135 is about 60 mm in the x-direction and about 130 mm in the [12] P. Cigliano, V. Lippiello, F. Ruggiero, and B. Siciliano, Robotic z-direction at the catching time. Ball Catching with an Eye-in-Hand Single-Camera System, IEEE Transactions on Control Systems Technology, Vol. 23, No. 5, If the error between the actual catch position and the September, 2015. estimated catch position is less than 15 mm, the hand [13] I. Ishii, T. Tatebe, Q. Gu, Y. Moriue, T. Takaki, and K. Tajima, 2000fps can catch the ball without correction of the catch position. Real-time Vision System with High-frame-rate Video Recording, IEEE Int. Conf. on and Automation Anchorage Convention On the other hand, the catch position was corrected up District, pp.1536-1541, July, 2010. to about 135 mm in the experiment. This means that the [14] A. Namiki, Y. Imai, M. Ishikawa, and M. Kaneko, Development of proposed correction by the multi-vision hand was effective a High-speed Multi-Fingered Hand System and Its Application to Catching, EEE/RSJ Int. Conf. on Intelligent Robots and Systems, pp. for achieving robust catching. 2666-2671, October, 2003. [15] T. Sugihara, Solvability-Unconcerned Inverse Kinematics by the VII.CONCLUSION Levenberg-Marquardt Method, IEEE Transactions on Robotics, Volume. 27, Issue. 5, October, 2011. In this paper, we have proposed a multi-vision hand system in which a number of small high-speed cameras are arranged on the surface of a robot hand. We have also proposed Side View Front View Top camera correction of the catching position by visual servoing control using a multi-vision system combining the multi-vision hand and fixed external high-speed cameras. The experiment was performed under the condition that the ball state estimation Side camera included an error. As a result, the catch operation was successful by applying correction by the visual servoing, and the effectiveness of the proposed method was confirmed. Our future work will focus on extension of the proposed multi- 0.3 s vision hand.

ACKNOWLEDGMENT This work was supported by JSPS KAKENHI Grant Number JP1069176

REFERENCES [1] A. Namiki and M. Ishikawa, Robotic catching using a direct mapping from visual information to motor command, 2003 IEEE International 0.6 s Conference on Robotics and Automation, pp. 2400-2405. [2] T. Kizaki and A. Namiki, Two Ball Juggling with High-speed Hand- Arm and High-speed Vision System, IEEE International Conference on Robotics and Automation, pp. 1372-1377,June, 2012 [3] T. Oka and A. Namiki, Ball System Controlled by High-Speed Vision, 2017 IEEE International Conference on and Bionic Systems, pp. 91-96, January, 2017. [4] A. Takahashi, N. Koumura and A. Namiki, Optimal Trajectory for High-Speed Dual Arm Juggling Robot, the Robotics Society of Japan Annu. Conf., 1H1-06, 2019(in Japanese). [5] F. Chaumette, S. Hutchinson. Visual Servo Control, Part I: Basic Approaches, IEEE Robotics and Automation Magazine, pp. 82-90, 0.9 s December 2006. [6] F. Chaumette, S. Hutchinson. Visual Servo Control, Part II: Advanced Approaches, IEEE Robotics and Automation Magazine, pp. 109-118, March 2007. [7] S. Morikawa, T. Senoo, A. Namiki, and M. Ishikawa, Realtime collision avoidance using a robot manipulator with light-weight small high-speed vision systems, IEEE International Conference on Robotics and Automation (ICRA’07), pp. 794-799, April, 2007. [8] A. Yamaguchi and C. G. Atkeson, Combining Finger Vision and Optical Tactile Sensing: Reducing and Handling Errors While Cutting Vegetables, IEEE-RAS 16th International Conference on Humanoid Robots (Humanoids), pp. 1045-1051, November, 2016 [9] R. Patel, R. Cox and N. Correll, Integrated proximity, contact and force 1.2 s (catching time) sensing using elastomer-embedded commodity proximity sensors, Autonomous Robots, vol. 42, no. 7 pp. 1443-1458, 2018. Fig. 12. Catching motion Continuous photos of catching: (Left) Side view, [10] K. Koyama, K. Murakami, T. Senoo, M. Shimojo, M. Ishikawa, High- (Center) Front View, (Upper right) tip camera of multi-vision hand, (Lower Speed, Small-Deformation Catching of Soft Objects Based on Active right) link surface camera of multi-vision hand. Vision and Proximity Sensing, IEEE Robotics and Automation letters, Vol. 4, No. 2, pp. 578-585, April, 2019. [11] B. Bauml,¨ O. Birbach, T. Wimbock,¨ U. Frese, A. Dietrich, and G. Hirzinger, Catching flying balls with a mobile humanoid: Systemoverview and design considerations, IEEE-RAS International Conference on Humanoid Robots, pp.513-520, Octorber, 2011.

9136