Optic Flow Based Skill Learning for A Humanoid to Trap, Approach to, and Pass a Ball

Similar documents
Interaction rule learning with a human partner based on an imitation faculty with a simple visuo-motor mapping

Kid-Size Humanoid Soccer Robot Design by TKU Team

Team Description 2006 for Team RO-PE A

Robo-Erectus Tr-2010 TeenSize Team Description Paper.

RoboCup. Presented by Shane Murphy April 24, 2003

Cooperative Behavior Acquisition in A Multiple Mobile Robot Environment by Co-evolution

Rapid Development System for Humanoid Vision-based Behaviors with Real-Virtual Common Interface

Integration of Manipulation and Locomotion by a Humanoid Robot

Sensor system of a small biped entertainment robot

The UT Austin Villa 3D Simulation Soccer Team 2008

Associated Emotion and its Expression in an Entertainment Robot QRIO

2 Our Hardware Architecture

Learning and Using Models of Kicking Motions for Legged Robots

UKEMI: Falling Motion Control to Minimize Damage to Biped Humanoid Robot

Learning and Using Models of Kicking Motions for Legged Robots

Does JoiTech Messi dream of RoboCup Goal?

Adaptive Motion Control with Visual Feedback for a Humanoid Robot

ZJUDancer Team Description Paper Humanoid Kid-Size League of Robocup 2015

ZJUDancer Team Description Paper Humanoid Kid-Size League of Robocup 2014

Team Description for Humanoid KidSize League of RoboCup Stephen McGill, Seung Joon Yi, Yida Zhang, Aditya Sreekumar, and Professor Dan Lee

ZJUDancer Team Description Paper

Shuffle Traveling of Humanoid Robots

FU-Fighters. The Soccer Robots of Freie Universität Berlin. Why RoboCup? What is RoboCup?

Team TH-MOS. Liu Xingjie, Wang Qian, Qian Peng, Shi Xunlei, Cheng Jiakai Department of Engineering physics, Tsinghua University, Beijing, China

S.P.Q.R. Legged Team Report from RoboCup 2003

Development and Evaluation of a Centaur Robot

Converting Motion between Different Types of Humanoid Robots Using Genetic Algorithms

FUmanoid Team Description Paper 2010

Keywords: Multi-robot adversarial environments, real-time autonomous robots

Acquisition of Multi-Modal Expression of Slip through Pick-Up Experiences

Concept and Architecture of a Centaur Robot

Multi-Platform Soccer Robot Development System

Hanuman KMUTT: Team Description Paper

Birth of An Intelligent Humanoid Robot in Singapore

Concept and Architecture of a Centaur Robot

Behavior generation for a mobile robot based on the adaptive fitness function

KMUTT Kickers: Team Description Paper

Humanoid robot. Honda's ASIMO, an example of a humanoid robot

The Tele-operation of the Humanoid Robot -Whole Body Operation for Humanoid Robots in Contact with Environment-

Team TH-MOS Abstract. Keywords. 1 Introduction 2 Hardware and Electronics

RoboCup: Not Only a Robotics Soccer Game but also a New Market Created for Future

Behaviour-Based Control. IAR Lecture 5 Barbara Webb

Robo-Erectus Jr-2013 KidSize Team Description Paper.

UChile Team Research Report 2009

Team Edinferno Description Paper for RoboCup 2011 SPL

Humanoid Robot HanSaRam: Recent Development and Compensation for the Landing Impact Force by Time Domain Passivity Approach

Mechanical Design of Humanoid Robot Platform KHR-3 (KAIST Humanoid Robot - 3: HUBO) *

Cooperative Transportation by Humanoid Robots Learning to Correct Positioning

Team Description Paper: HuroEvolution Humanoid Robot for Robocup 2014 Humanoid League

Baset Adult-Size 2016 Team Description Paper

The UT Austin Villa 3D Simulation Soccer Team 2007

A Semi-Minimalistic Approach to Humanoid Design

Development of a Humanoid Biped Walking Robot Platform KHR-1 - Initial Design and Its Performance Evaluation

EROS TEAM. Team Description for Humanoid Kidsize League of Robocup2013

Nao Devils Dortmund. Team Description for RoboCup Matthias Hofmann, Ingmar Schwarz, and Oliver Urbann

RoboCup TDP Team ZSTT

Humanoid Robot NAO: Developing Behaviors for Football Humanoid Robots

NCCT IEEE PROJECTS ADVANCED ROBOTICS SOLUTIONS. Latest Projects, in various Domains. Promise for the Best Projects

* Intelli Robotic Wheel Chair for Specialty Operations & Physically Challenged

Team KMUTT: Team Description Paper

Vision-Based Robot Learning for Behavior Acquisition

RoboCup 2012 Best Humanoid Award Winner NimbRo TeenSize

Design and Experiments of Advanced Leg Module (HRP-2L) for Humanoid Robot (HRP-2) Development

Hierarchical Case-Based Reasoning Behavior Control for Humanoid Robot

HfutEngine3D Soccer Simulation Team Description Paper 2012

Behavior Acquisition via Vision-Based Robot Learning

Pr Yl. Rl Pl. 200mm mm. 400mm. 70mm. 120mm

Actuator Selection and Hardware Realization of a Small and Fast-Moving, Autonomous Humanoid Robot

Distributed Vision System: A Perceptual Information Infrastructure for Robot Navigation

Confidence-Based Multi-Robot Learning from Demonstration

Adaptive Dynamic Simulation Framework for Humanoid Robots

Multi-Humanoid World Modeling in Standard Platform Robot Soccer

SitiK KIT. Team Description for the Humanoid KidSize League of RoboCup 2010

Team Description Paper: Darmstadt Dribblers & Hajime Team (KidSize) and Darmstadt Dribblers (TeenSize)

Perception. Read: AIMA Chapter 24 & Chapter HW#8 due today. Vision

CS295-1 Final Project : AIBO

Humanoids. Lecture Outline. RSS 2010 Lecture # 19 Una-May O Reilly. Definition and motivation. Locomotion. Why humanoids? What are humanoids?

Team Description Paper: HuroEvolution Humanoid Robot for Robocup 2010 Humanoid League

Tsinghua Hephaestus 2016 AdultSize Team Description

BehRobot Humanoid Adult Size Team

Running Pattern Generation for a Humanoid Robot

Mechanical Design of the Humanoid Robot Platform, HUBO

Action-Based Sensor Space Categorization for Robot Learning

Courses on Robotics by Guest Lecturing at Balkan Countries

Acquisition of Box Pushing by Direct-Vision-Based Reinforcement Learning

Stationary Torque Replacement for Evaluation of Active Assistive Devices using Humanoid

NimbRo 2005 Team Description

Development of a Simulator of Environment and Measurement for Autonomous Mobile Robots Considering Camera Characteristics

Multi-Agent Control Structure for a Vision Based Robot Soccer System

Advanced Distributed Architecture for a Small Biped Robot Control M. Albero, F. Blanes, G. Benet, J.E. Simó, J. Coronel

Lower body design of the icub a humanbaby like crawling robot

NTU Robot PAL 2009 Team Report

FalconBots RoboCup Humanoid Kid -Size 2014 Team Description Paper. Minero, V., Juárez, J.C., Arenas, D. U., Quiroz, J., Flores, J.A.

Realization of Humanoid Robot Playing Golf

Experiments of Vision Guided Walking of Humanoid Robot, KHR-2

Fuzzy Logic for Behaviour Co-ordination and Multi-Agent Formation in RoboCup

DEVELOPMENT OF THE HUMANOID ROBOT HUBO-FX-1

A Hybrid Planning Approach for Robots in Search and Rescue

RoboPatriots: George Mason University 2010 RoboCup Team

Task Allocation: Role Assignment. Dr. Daisy Tang

Transcription:

Optic Flow Based Skill Learning for A Humanoid to Trap, Approach to, and Pass a Ball Masaki Ogino 1, Masaaki Kikuchi 1, Jun ichiro Ooga 1, Masahiro Aono 1 and Minoru Asada 1,2 1 Dept. of Adaptive Machine Systems, 2 HANDAI Frontier Research Center, Graduate School of Engineering, Osaka University, {ogino, kikuchi, ooga, aono}@er.ams.eng.osaka-u.ac.jp, asada@ams.eng.osaka-u.ac.jp Abstract. Generation of a sequence of behaviors is necessary for the RoboCup Humanoid league to realize not simply a individual robot performance but also cooperative ones between robots. A typical example task is passing a ball between two humanoids, and the issues are: (1) basic skill decomposition, (2) skill learning, and (3) planning to connect the learned skills. This paper presents three methods for basic skill learning (trapping, approaching to, and kicking a ball) based on optic flow information by which a robot obtains sensorimotor mapping to realize the desired skill, assuming that skill decomposition and planning are given in advance. First, optic flow information of the ball is used to predict the trapping point. Next, the flow information caused by the self-motion is classified into the representative vectors, each of which is connected to motor modules and their parameters. Finally, optical flow for the environment caused by kicking motion is used to predict the ball trajectory after kicking. The experimental results are shown and discussion is given with future issues. 1 Introduction Recent progress of humanoid robots such as ASIMO [?], QRIO [?], HOAP [?], and MORPH [?] have been attracting many people for their performances of human like behaviors. However, they are still limited to very few behaviors of individuals such as walking and so on. In order to extend the capability of humanoids, various kinds of behaviors with objects or other agents should be developed. RoboCup has been providing an excellent test-bed for such a task domain, that is, ball operation and cooperation with teammates (competition with opponents) [?]. Towards the final goal of RoboCupSoccer, the humanoid league has been held since 2002 in Fukuoka, and several technical challenges such as standing on one leg, walking, and PK have been attacked. However, the level of the performance is still far from the roadmap to the final goal [?]. Further, many teams developed humanoid behaviors based on the designers knowledge on the environment, and therefore seem to be brittle against the environmental

changes. It is expected that a robot obtains the environmental model through the interactions with its environment. Optical flow has been used to learn the sensorimotor mapping for obstacle avoidance planned by the learned forward model [?] or by finding obstacles that show different flows from the environments using reinforcement learning [?]. Also, it is used for object recognition by active touching [?]. In these studies, the number of DoFs is much fewer than humanoids, therefore it seems difficult to apply their methods to realize various kinds of humanoid behaviors. Especially, generation of a sequence of behaviors is very hard but necessary for the RoboCup Humanoid league to show not simply an individual robot performance but also cooperative ones between two robots. In the latter case, the following issues should be considered: 1. decomposition into basic skills, 2. basic skill learning, and 3. switching the learned skills to generate a sequence of behaviors. A typical example task is passing a ball between two humanoids (face-toface pass). Since attacking all of these issues together is so difficult, we focus on the second issue, and present three methods for basic skill learning (trapping, approaching to, and kicking a ball) based on optic flow information by which a robot obtains sensorimotor mapping to realize the desired skill, assuming that skill decomposition and planning are given in advance. First, optic flow information of the ball is used to predict the trapping point. Next, the flow information caused by the self-motion is classified into the representative vectors, each of which is connected to motor modules and their parameters. Finally, optical flow for the environment caused by kicking motion is used to predict the ball trajectory after kicking. The experimental result are shown and discussion is given with future issues. 2 Task, Robot, and Environment 2.1 Robots Used Fig. 1 shows biped robots used in the experiments, HOAP-1, HOAP-2, and their on-board views. HOAP-1 is 480 [mm] in height and about 6 [kg] in weight. It has a one-link torso, two four-link arms, and two six-link legs. The other robot, HOAP-2, is a successor of HOAP-1. It is 510 [mm] in height and about 7 [kg] in weight. It has two more joints in neck and one more joint at waist. Both robots have four force sensing registors (FSRs) in their foots to detect reaction force from the floor and a CCD camera with a fish-eye lens or semi-fish-eye lens. These robots detect objects in the environments by colors. In this experiment, a ball is colored orange, and the knees of the opponent robot are colored yellow. The centers of these colored regions in the images are recorded as the detected position.

Fig. 1. HOAP-1 with fish-eye lens and HOAP-2 with semi-fish-eye lens 2.2 Task and Assumptions Face-to-face pass can be decomposed into a sequence of different behaviors: trapping a ball which is coming to the player, approaching to kick a trapped ball, and kicking a ball to the opponent. All these basic behaviors need the appropriate relationship between motion parameters and the environment changes. For example, to trap a ball appropriately, the robots must estimate the arrival time and position of the coming ball. To approach to a kicking position, the robot should know the causal relationship between the walking parameters and the positional change of the objects in its image. Further, to kick a ball to the opponent, the robot must know the causal relationship between the kicking parameters and the direction the kicked ball will go. Moreover, basic skills to realize these behaviors should be activated at the appropriate situations. Here, the designer determines these situations to switch the behaviors, and we focus on the skill learning based on optic flow information. Fig. 2 shows an overview of our proposed system. 3 Skill Learning Based on Optic Flow Information 3.1 Ball Trapping Fig.?? shows the trapping motion by HOAP-1 acquired by the method described below. In order to realized such a motion, the robot has to predict the position and the arrival time of a ball from its optical flow captured in the robot view. For that purpose, we use a neural network which learns the causal relationship between the position and optical flow of the ball in visual image of a robot and the arrival position and time of the coming ball. This neural network is trained by the data in which a ball is thrown to a robot from the various positions. Fig. 3 shows several prediction results of the neural network after learning. x [pixel]

sensori-mortor MAP policy select module kick trap approach wait camera policy planning action sensor FSR stabilize Environment Fig. 2. A system overview and t [sec] indicates the errors of the arrival position and the time predicted at each point in the robot s view. Based on this neural network, the robots can activate the trapping motion module with the appropriate leg (right or left) at the appropriate timing (Fig.??). 40 60 80 100 120 T=1.45 x=2 t=0.29 x=1 t=0.12 x=4 t=0.02 x=2 t=0.01 T=0.96 x=3 t=0.01 x=3 t=0.03 x=1 t=0.01 x=16 t=0.19 trial 1 trial 2 trial 3 T=1.43 x=0 t=0.01 x=6 t=0.06 140 80 100 120 140 160 180 200 220 240 Fig. 3. The prediction of the position and time of a coming ball 3.2 Ball Approaching Approaching to a ball is the most difficult task among the three skills because this task involves several motion modules each of which has parameters to be

Fig. 4. An experimantal result of a trapping skill determined. These motions yields various types of image flows depending on the values of the parameters which change continuously. We make use of environmental image flow pattern during various motions to approach to the ball. Let the motion flow vector r at the position r in the robot s view when a robot takes a motion, a. The relationships between them can be written, r = f(r, a), (1) a = g(r, r). (2) The latter is useful to determine the motion parameters after planning the motion path way in the image. However, it is difficult to determine one motion to realize a certain motion flow because different motion modules can produce the same image flow by adjusting motion parameters. So, we separate the description of the relationship between the motion and the image flow into the relationship between the motion module and the image flow, and the relationship between the motion parameters in each module and the image flow (Fig.??), as follows. m i = g m (r, r), (3) a i = (p i 1, p i 2) T = g i p(r, r) (4) r = f i (r, a i ), (5) where m i is the index of the i-th motion module and a i = (p i1, p i2 ) T are the motion parameter vector of the i-th motion module. In this study, the motion modules related to this skill consists of 6 modules; straight walk (left and right), curve walk (left and right), and side step (left and right). Each of the modules has two parameters which have real values, as shown in Fig.??. Given the desired motion pathway in the robot s view, we can select appropriate module by g m, and determine the motion parameters of the selected motion module by gp i based on the learned relationships among the modules, their parameters, and flows. If the desired image flow yields several motion modules, the preferred motion module is determined by value function. Images are recorded every step and the image flow is calculated by block matching between the current image and the previous one. The templates for calculating flows are 24 blocks in one image as shown in Fig.??. g m All of the data sets of the flow and its positional vector in the image, (r, r), are classified by the self organizing map (SOM), which consists of 225 (15 15)

SOM ( g m ) Robot s view r re s re rball desired vector s ball planner r ball ~, s ball r re, s re r ball ~, s ball activate modules Modules i g p i f V(m ) i parameters module i Gate evaluation decide module Environment mi (p 1,p 2 ) Action Fig. 5. An overview of the approaching skill primitives forward walk (left, right) curve walk (left, right) side step (left, right) p1 p2 p1 p2 p2 p1 Fig. 6. Motion modules and parameters for approaching Fig. 7. An example of an optic flow in the robot s view

representational vectors. And after organizing, the indices of motion modules are attributed to each representational vector. Fig.?? shows the classified image vector (the figure at the left side) and the distribution of each module in SOM. This SOM outputs the index of appropriate motion module so that the desired flow vector in the image is realized. forward walk (left) curve walk (left) side step (left) forward walk (right) curve walk (right) side step (right) Fig. 8. Distribution of motion modules on the SOM of optic flows f i, gp i The forward and inverse functions that correlates the relationship between the motion parameters in each module and the image flow, f i, gp, i are realized by a simple neural network. The neural network in each module is trained so that it outputs the motion parameters when the flow vector and the positional vector in the image are input. plannning and evaluation function In this study, the desired optic flow in the robot s view for the ball and the receiver, s ball, s re, are determined as a vector from the current position of a ball to the desired position (kicking position) in the robot s view, and as the horizontal vector from the current position to the vertical center line, respectively. The next desired optic flow of a ball to be realized, s ball, is calculated based on these desired optic flows, n step = s ball / r max, (6) s ball = s ball /n step, (7) where r max is the maximum length of the experienced optical flow. This reference vector is input to the module selector, g m, and the candidate modules which can output the reference vector are activated. The motion parameters of the selected module are determined by the function g i p, a i = g i p(r ball, s ball ), (8)

where r ball is the current ball position in the robot s view. When the module selector outputs several candidates of modules, the evaluation function depending on the task, V (m i ), determines the preferred module. In this study, our robots have to not only approach to a ball but also take an appropriate position to kick a ball to the other. For that, we set the evaluation function as follows, [ selected module = arg min s ball f i (r ball, a i ) + k s re n step f i (r re, a i ), i modules (9) where k is the constant value, and r re is the current position of the receiver in the robot s view. Fig.?? shows experimental results of approaching to a ball. A robot successfully approach to a ball so that the hypothetical opponent (a poll) comes in front of it. ] (a) (b) Fig. 9. Experimental results of approaching to a ball 3.3 Ball Kicking to the Opponent It is necessary for our robots to kick a ball to the receiver very precisely because they cannot sidestep quickly. We correlate the parameter of kicking motion with the trace of the kicked ball in the robot s view so that they can kick to each other precisely. Fig.?? shows a proposed controller for kicking. The kicking parameter is the hip joint angle shown in Fig. 11(a). The quick motion like kicking changes its dynamics depending on its motion parameter. The sensor feedback from the floor reaction force sensors is used for stabilizing the kicking motion. The displacement of the position of the center of pressure (CoP) in the support leg is used as feedback to the angle of the ankle joint of the support leg (see Fig. 11(b)).,Fig. 11(c) shows the effectiveness of the stabilization of the kicking motion.

Neural Network planner r ball, r re kick parameter Environment r re robot s view learning r ball 0 1 n r ball r ball r ball,,, n r ball robot s view kick-flow model wobble by kick motion robot s view 1 r ball 0 r ball Fig. 10. The system for kicking skill threshold COP x θ4 θ θ4 y (a) Kick parameter (b) An overview of stabilization of kick motion position of Cop [mm] 0-5 -10-15 -20-25 position of Cop [mm] 0-5 -10-15 -20-25 feedback threshold -30 0 1 2 3 4 5 6 7 8 time [sec] without feedback -30 0 1 2 3 4 5 6 7 8 time [sec] with feedback (c) The trajectories of CoP of the support leg during kicking motion Fig. 11. The parameter and the stabilization of kicking

The initial ball position and the parameter of the kicking motion affects sensitively the ball trace in the robot s view. To describe the relationship among them, we use a neural network, which is trained in the environment where the poll (10 [cm]) is put about 1 [m] in front of the robot (Fig. 13(a)). The trace of the ball (the effects of the self motion is subtracted) is recorded every 100 [msec], and the weights in the neural network are updated every one trial. Fig. 13(b) shows the time course of error distance between target poll position and kicked ball in the robot s view. It shows that the error is reduced rapidly within 20 [pixel], which is the same size of the width of the target poll. Fig.?? shows the kicking performance of the robot. 100 poll zone 300 40 100 ball zone 80 stand position 1000 distance of poll and ball in robot s view [pixel] 140 120 100 80 60 40 20 0 0 5 10 15 20 25 30 35 40 45 trial number (a) The environmental setting (b) The error of learning kicking Fig. 12. The environmental setting and the learning curve for kicking Fig. 13. An experimental result of kicking a ball to the poll

4 Integration of the Skills for Face-to-face Pass To realize passing a ball between two humanoids, the basic skills described in the previous chapter are integrated by the simple rule as shown in Fig.??. if the ball is in front of foot approach kick if missed kick if kicked the ball wait if the ball is not in front of foot trap if the ball moving here Fig. 14. The rule for integrating motion skills Fig.?? shows the experimental result. Two humanoids with different body and different camera lens realize the appropriate motions for passing a ball to each other based on their own sensorimotor mapping. The passing lasts more than 3 times. 5 Conclusions In this paper, acquiring basic skills for passing a ball between two humanoids is achieved. In each skill, optic flow information is correlated with the motion parameters. Through this correlation, a humanoid robot can obtain the sensorimotor mapping to realize the desired skills. The experimental results show that a simple neural network quickly learns and models well the relationship between optic flow information and motion parameters of each motion module. However, there remain the harder problems we skip in this paper. First is skill decomposition problem, that is how to determine what are the basic skills for the given task. Second is planning, that is how to organize each motion module to achieve the given task. In this paper, we assume skill decomposition and planning are given in advance. Combining the learning in each skill level with that in higher level is the next problem for us.

Fig. 15. An experimental result of passes between two humanoids References 1. P. Fitzpatrick. First Contact: an Active Vision Approach to Segmentation, In Proc. of IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, pp. 2161-2166, 2003. 2. T. Furuta, Y. Okumura, T. Tawara, and H. Kitano, morph : A Small-size Humanoid Platform for Behaviour Coordination Research, In Proc. of the 2001 IEEE-RAS Int. Conf. on Humanoid Robots, pp. 165-171, 2001. 3. M. Hirose, Y. Haikawa, T. Takenaka, and K. Hirai, Development of Humanoid Robot ASIMO, In Proc. Int. Conf. on Intelligent Robots and Systems, 2001. 4. H. Kitano and M. Asada, The RoboCup humanoid challenge as the millennium challenge for advanced robotics, Advanced Robotics, Vol. 13, No. 8, pp. 723-736, 2000. 5. H. Kitano, RoboCup-97: Robot Soccer World Cup I, Springer, Lecture Note in Artificial Intelligence 1395, 1998. 6. Y. Kuroki, T. Ishida, and J. Yamaguchi, A Small Biped Entertainment Robot, In Proc. of IEEE-RAS Int. Conf. on Humanoid Robot, pp. 181-186, 2001. 7. K. F. MacDorman, K. Tatani, Y. Miyazaki, M. Koeda and Y. Nakamura. Protosymbol emergence based on embodiment: Robot experiments, In Proc. of the IEEE Int. Conf. on Robotics and Automation, pp. 1968-1974, 2001. 8. Y. Murase, Y. Yasukawa, K. Sakai, etc. Design of a Compact Humanoid Robot as a Platform. In 19th conf. of Robotics Society of Japan, pp. 789-790, 2001. 9. T. Nakamura and M. Asada. Motion Sketch: Acquisition of Visual Motion Guided Behaviors. In Proc. of Int. Joint Conf. on Artificial Intelligence, pp. 126-132, 1995.