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

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

Soccer Server: a simulator of RoboCup. NODA Itsuki. below. in the server, strategies of teams are compared mainly

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

Multi-Platform Soccer Robot Development System

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

Distributed Vision System: A Perceptual Information Infrastructure for Robot Navigation

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

Robo-Erectus Tr-2010 TeenSize Team Description Paper.

Team KMUTT: Team Description Paper

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

MULTI-LAYERED HYBRID ARCHITECTURE TO SOLVE COMPLEX TASKS OF AN AUTONOMOUS MOBILE ROBOT

RoboCup. Presented by Shane Murphy April 24, 2003

Cooperative Transportation by Humanoid Robots Learning to Correct Positioning

Learning Behaviors for Environment Modeling by Genetic Algorithm

Development of Drum CVT for a Wire-Driven Robot Hand

UChile Team Research Report 2009

ISMCR2004. Abstract. 2. The mechanism of the master-slave arm of Telesar II. 1. Introduction. D21-Page 1

Anticipation: A Key for Collaboration in a Team of Agents æ

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

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

An Open Robot Simulator Environment

Multi-Fidelity Robotic Behaviors: Acting With Variable State Information

Graphical Simulation and High-Level Control of Humanoid Robots

TRIANGULATION-BASED light projection is a typical

Communications for cooperation: the RoboCup 4-legged passing challenge

Prediction of Human s Movement for Collision Avoidance of Mobile Robot

High-speed Gaze Controller for Millisecond-order Pan/tilt Camera

2 Our Hardware Architecture

Automatic acquisition of robot motion and sensor models

CMOS Image Sensor for High Speed and Low Latency Eye Tracking

Adaptive Motion Control with Visual Feedback for a Humanoid Robot

CMUnited-97: RoboCup-97 Small-Robot World Champion Team

Multi Robot Systems: The EagleKnights/RoboBulls Small- Size League RoboCup Architecture

A Probabilistic Method for Planning Collision-free Trajectories of Multiple Mobile Robots

Multi Robot Object Tracking and Self Localization

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

Improved SIFT Matching for Image Pairs with a Scale Difference

Learning and Using Models of Kicking Motions for Legged Robots

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

Robo-Erectus Jr-2013 KidSize Team Description Paper.

Artificial Beacons with RGB-D Environment Mapping for Indoor Mobile Robot Localization

The UT Austin Villa 3D Simulation Soccer Team 2008

CMDragons 2009 Team Description

Vision-Based Robot Learning Towards RoboCup: Osaka University "Trackies"

An Experimental Comparison of Path Planning Techniques for Teams of Mobile Robots

ViperRoos: Developing a Low Cost Local Vision Team for the Small Size League

Multi-robot Formation Control Based on Leader-follower Method

Improving the Kicking Accuracy in a Soccer Robot

The CMUnited-97 Robotic Soccer Team: Perception and Multiagent Control

FAST GOAL NAVIGATION WITH OBSTACLE AVOIDANCE USING A DYNAMIC LOCAL VISUAL MODEL

KMUTT Kickers: Team Description Paper

Multi-Robot Cooperative Localization: A Study of Trade-offs Between Efficiency and Accuracy

BRIDGING THE GAP: LEARNING IN THE ROBOCUP SIMULATION AND MIDSIZE LEAGUE

Multi Robot Localization assisted by Teammate Robots and Dynamic Objects

Self-Localization Based on Monocular Vision for Humanoid Robot

Adaptive Action Selection without Explicit Communication for Multi-robot Box-pushing

HMM-based Error Recovery of Dance Step Selection for Dance Partner Robot

NuBot Team Description Paper 2008

Cameras. Steve Rotenberg CSE168: Rendering Algorithms UCSD, Spring 2017

PERFORMANCE EVALUATIONS OF MACRO LENSES FOR DIGITAL DOCUMENTATION OF SMALL OBJECTS

CS295-1 Final Project : AIBO

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

Robótica 2005 Actas do Encontro Científico Coimbra, 29 de Abril de 2005

Multi-Robot Cooperative System For Object Detection

SURVEILLANCE SYSTEMS WITH AUTOMATIC RESTORATION OF LINEAR MOTION AND OUT-OF-FOCUS BLURRED IMAGES. Received August 2008; accepted October 2008

Evaluation of Visuo-haptic Feedback in a 3D Touch Panel Interface

Real-Time Bilateral Control for an Internet-Based Telerobotic System

Masatoshi Ishikawa, Akio Namiki, Takashi Komuro, and Idaku Ishii

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

Sensors and Sensing Cameras and Camera Calibration

Improvement of Accuracy in Remote Gaze Detection for User Wearing Eyeglasses Using Relative Position Between Centers of Pupil and Corneal Sphere

Learning a Value Analysis Tool For Agent Evaluation

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

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

HfutEngine3D Soccer Simulation Team Description Paper 2012

Prof. Emil M. Petriu 17 January 2005 CEG 4392 Computer Systems Design Project (Winter 2005)

Smooth collision avoidance in human-robot coexisting environment

The Attempto RoboCup Robot Team

A Real-Time Object Recognition System Using Adaptive Resolution Method for Humanoid Robot Vision Development

DEVELOPMENT OF A TELEOPERATION SYSTEM AND AN OPERATION ASSIST USER INTERFACE FOR A HUMANOID ROBOT

Multi-Robot Team Response to a Multi-Robot Opponent Team

Multi-Humanoid World Modeling in Standard Platform Robot Soccer

Team Description Paper & Research Report 2016

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

Throwing Skill Optimization through Synchronization and Desynchronization of Degree of Freedom

Image analysis. CS/CME/BIOPHYS/BMI 279 Fall 2015 Ron Dror

Cooperative Tracking using Mobile Robots and Environment-Embedded, Networked Sensors

The description of team KIKS

JavaSoccer. Tucker Balch. Mobile Robot Laboratory College of Computing Georgia Institute of Technology Atlanta, Georgia USA

Baset Adult-Size 2016 Team Description Paper

FOCAL LENGTH CHANGE COMPENSATION FOR MONOCULAR SLAM

LEGO MINDSTORMS CHEERLEADING ROBOTS

multiframe visual-inertial blur estimation and removal for unmodified smartphones

TORSO: Development of a Telexistence Visual System Using a 6-d.o.f. Robot Head

All-digital ramp waveform generator for two-step single-slope ADC

soccer game, we put much more emphasis on making a context that immediately would allow the public audience to recognise the game to be a soccer game.

Coded Aperture for Projector and Camera for Robust 3D measurement

Task Allocation: Role Assignment. Dr. Daisy Tang

Limits of a Distributed Intelligent Networked Device in the Intelligence Space. 1 Brief History of the Intelligent Space

Defocus Blur Correcting Projector-Camera System

Transcription:

Development of a Simulator of Environment and Measurement for Autonomous Mobile Robots Considering Camera Characteristics Kazunori Asanuma 1, Kazunori Umeda 1, Ryuichi Ueda 2, and Tamio Arai 2 1 Chuo University, 1-13-27 Kasuga, Bunkyo-ku, Tokyo 112-8551, Japan {asanuma, umeda}@sensor.mech.chuo-u.ac.jp http://www.mech.chuo-u.ac.jp/umedalab/ 2 The University of Tokyo, 7-3-1 Hongo, Bunkyo-ku, Tokyo 113-8656, Japan {ueda, arai}@prince.pe.u-tokyo.ac.jp http://www.arai.pe.u-tokyo.ac.jp/ Abstract. In this paper, a simulator of environment and measurement that considers camera characteristics is developed mainly for RoboCup four legged robot league. The simulator introduces server/client system, and realizes separation of each robot s information, introduction of each robot s difference and distribution of processes. For producing virtual images, the simulator utilizes OpenGL and considers the effects of blur by lens aberration and so on, random noise on each pixel, lens distortion and delayed exposure for each line of CMOS device. Some experiments show that the simulator imitates the real environment well, and is a useful tool for developing algorithms effectively for real robots. Key words:simulator of Environment and Measurement, Camera Model, Modeling of Measurement Error, Server/Client System 1 Introduction So as to develop robots or a multiple robots systems that work in real, dynamic environment, it is necessary to assume a lot of conditions and test the robots or robots systems for the conditions. However, this requires much cost by much trials and errors. To reduce the cost, simulation is effective. Many kinds of simulators have been developed for various applications, e.g., teleoperation[2], autonomous mobile robot[3]. It is also the case in RoboCup and simulators have been developed [4, 5]. They simulate kinematics or motions, but sensing is not well considered that suffers noises, distortions, etc. In this paper, we develop a simulator for multiple mobile robots that have the ability to produce images by considering explicitly the characteristics of a camera, and the ability to simulate the real robots behaviors. The concrete target as the multiple mobile robots system is the RoboCup four legged robot league. In developing the simulator, we focus on the following features:

programs for real robots can be applied directly, multiple robots can share environment and interact with each other, images obtained by a real robot can be imitated well. 2 Outline of the Simulator In the field, a lot of information are obtained from the ball, the landmarks, the robots, etc., and multiple tasks are executed simultaneously in real robots. The simulator is designed so that it produces virtual images precisely for each robot with arbitrary position and orientation, and that the following tasks can be executed virtually in the simulator. Consequently, debugging of programs and verification of algorithms can be effectively performed virtually on PC. Fig.1 illustrates the relation between a real robot and the simulator. Image Input Color Detection Object Detection Self-Localization Action Strategy Image Input Color Detection Object Detection Self-Localization Action Strategy Renew Joint Angle Renew Camera Position Renew Environment Make Image (a) Real Robot (b) Simulator Fig. 1. Tasks in image input cycle of a real robot and of the simulator Objects in the virtual field that is produced on the simulator are modeled with precise size by using OpenGL[7](see Fig.2.). Each robot on the virtual field produces images by evaluating its camera coordinate that is calculated using the position and orientation of the robot, the elbow angles of its legs, the pan/tilt angle of its neck(see Fig.3(a).). By considering the characteristics of its CMOS camera, the simulator can produce images that imitate real images precisely(see Fig.3(b).). Each robot applies a method of color detection for the synthesized images, and detects 8 kinds of color regions(see Fig.3(c).). 3 Server/Client System So as to realize the requirement that multiple robots can share environment and interact with each other, server/client system is introduced in the simulator; tasks are performed cooperatively by two kinds of processes, i.e., a server process

Fig. 2. Virtual field (a) Original OpenGL image (b) With CMOS filter (c) Color extraction for (b) Fig. 3. Virtual image

and client processes. The server process administrates the environment of the field totally, and the client processes execute robots behaviors. By introducing the server/client system, 1. separation of each robot s information, 2. realization of each robot s difference, 3. distribution of processes are realized. By 1., the condition is satisfied that each robot cannot acquire other robots information explicitly without communication. By 2., robots behaviors with different algorithms for each team can be implemented and a new algorithm can be easily tested. By 3., each process can be run on a different PC by using TCP/IP protocols, and calculation cost for each PC can be reduced. Fig. 4 illustrates the structure of the server/client system. Production of a virtual image, analysis of the image, active sensing and simulation of some behavior strategy are performed by clients. Each client program is assigned to the control of each robot. By executing multiple client programs simultaneously and connecting them to the same server, multiple robots in the same field are realized. At the same time, the server administrates the environment on the field; it administrates the connected clients and the ball, recognizes the collisions, etc. Each client can recognize the information on the field through the server. Information is communicated at a constant period among the server and the clients so as to adjust the field environment. 4 Consideration of Camera Characteristics The images are generated by OpenGL assuming an ideal pinhole camera(see Fig.3(a)), and thus they are different from real images obtained by the CMOS camera on the real robots. Therefore, we consider the camera characteristics of the CMOS camera so as to produce images that closely simulate the real images. The parameters of the ERS-2100 s camera are as follows. CMOS 1/6inch, 178 144 pixels Lens F2.0, f=2.18mm Angle of View H:57.6deg, V:47.8deg White Balance: 4300K Frame Rate: 25fps Shatter Speed: 1/200sec We consider the following characteristics. blur by lens aberration, focusing error, etc. random noise on each pixel lens distortion delayed exposure for each line of CMOS device

Client 1 Client 8 Client 2 Client 7 Client 3 Server Client 6 TCP/IP Client 4 Client 5 Monitor Fig. 4. Server/client system

4.1 Blur by Lens Aberration, etc. Blur is generated by various lens aberration, focusing error, etc. Supposing the blur of each pixel is approximated by Gaussian distribution, we apply Gaussian filter to the virtual image. For an image f(u, v), two dimensional Gaussian distribution function G(u, v) = 1 + v 2 2πσ 2 exp( u2 ) (1) 2σ is convoluted, and the blurred image is obtained. In the simulator, the area of convolution is set to 5 5, and σ is set to 1. Fig.5(a) shows an image by the real camera for the ball with the distance of 1m. Fig.5(b) is the virtual image generated by the simulator on the same condition for Fig.5(a). Fig.5(c),(d) are the close-ups of Fig.5(a),(b). Fig.5(e) is the image generated from Fig.5(d) by applying Gaussian filter. It is shown that Fig.5(e) is closer to the real image, and additionally, aliasing that appears in Fig.5(d) is not observed. 4.2 Random Noise on Each Pixel Random noise is inevitable, and it is remarkable in principle for CMOS device. The simulator adds the random noise on each pixel with the variance that is evaluated a priori by experiments. Fig.5(f) shows the image generated from Fig.5(d) by adding random noise. Additionally, we consider limb darkening generated by the lens as shown in Fig.5(g). Parameters of limb darkening can be evaluated a priori by experiments. 4.3 Lens Distortion Images are distorted by lens distortion. As the model of lens distortion, we apply the equation approximating a radial distortion: [ũ ] [ ] 2 u = ṽ 1+ (2) 1 4κ(u 2 + v 2 ) v to the virtual image, where (u, v) is the coordinates on an original image and (ũ, ṽ) is that on the distorted image. κ in eq.(2) can be evaluated by camera calibration. Fig.6 shows an example of the simulation of lens distortion. 4.4 Construction of Virtual CMOS Filter In order to make the calculation time shorter, we integrate the multiple processes for camera characteristics into one filter, called CMOS filter. By using this filter, the cycle time of producing virtual images became shorter from 208[msec] to 112[msec] by PentiumIII 600MHz. Fig.7 shows the final image by applying the CMOS filter.

(a) Real image (b) Original OpenGL image (c) (a) 4 (d) (b) 4 (e) Gaussian filter (f) Element noise (g) Limb darkening Fig. 5. Consideration of camera characteristics (a) Real Image (b) Virtual Image without Distortion Fig. 6. Lens distortion (c) Virtual Image with Distortion Fig. 7. CMOS filter: total consideration of camera characteristics

4.5 Delayed Exposure for Each Line For motions of the robots, two more camera characteristics have to be considered. One is the motion blur. This is regardless of the kind of the camera, and depends on the exposure time. The other is specific to CMOS cameras as the ERS-2100 s: exposure for each line of the CMOS device is asynchronous. There exists about one frame time delay of the timing of exposure between the first and last line of a CMOS device as illustrated in Fig.8. For ERS-2100, the phenomenon occurs especially when it fast rotates its head. Fig.9(a) shows an example for the velocity of 0.30deg/msec. Scanning Line Frame Cycle T=32 msec 0 1 2 3 Accumulation Period of One Frame N-1 N Shatter Speed 5 msec Signal Output 0 1 2 3 N-1 N Output Signal per frame Fig. 8. Line exposure and shutter speed (a) Real Image (b) Virtual Image without Exposure Delay (c) Virtual Image with Exposure Delay Fig. 9. Exposure delay and shutter speed

5 Evaluation of the Developed Simulator In this section, we show some experimental results to verify that the proposed simulator well imitates the real environment. One experiment is measurement of the distance to a ball, and the other is self localization, both of which are essential and important technologies for the robocup games. 5.1 Evaluation for Ball Measurement The distance to a ball was measured by a real robot and by a robot in the simulator. The algorithm to measure the distance was the same for both the real and the virtual robots: distance was measured from the number of pixels of the ball region, the coordinates of the center of the ball region, edge information, etc. The ball was set from constant distances from the robot as shown in Fig.10, and the distance was measured 100 times and the average and the standard deviation were evaluated for each distance. Fig.11 and Fig.12 show the results of the average and the standard deviation respectively. In Fig.11, the simulator measures almost the same distance as the real robot, especially when the camera characteristics are considered. In Fig.12, when the camera characteristics are not considered, the standard deviations are zero; and when the characteristics are considered, the deviations by the simulator show the same tendency as that by the real robot. Fig.10 shows color detection for distance measurement with/without the consideration. When considered, the color detection seems much more realistic. Fig. 10. Setting of distance measurement by real robot(upper), virtual robot in the simulator(lower)

Average of Measurement mm 2000 1600 1200 800 Real Measurement Simulator with Camera Characteristics Simulator without Camera Characteristics 400 500 700 900 1100 1300 1500 Ball Distance True Value mm Fig. 11. Comparison of ball distance measurement: average Standard Deviation of Measurement mm 80 60 40 20 0 Real Measurement Simulator with Camera Characteristics Simulator without Camera Characteristics 500 700 900 1100 1300 1500 Ball Distance True Value mm Fig. 12. Comparison of ball distance measurement: standard deviation Without consideration With consideration Fig. 13. Color detection for distance measurement by the simulator with/without considering camera characteristics

5.2 Evaluation for Self-Localization We have been applying Monte Carlo Localization(MCL) that is a kind of Markov Localization methods for self localization of real robots[6]. MCL represents position and orientation of each robot by distributed probabilistic distribution of a lot of sample points. Experiments were performed at 36 positions and orientations of a robot for 9 positions (intersection points of x=0, 1000, 1750[mm] and y=0, 500, 1000[mm]) and 4 orientations (θ = ±45, ±135[deg]). Self localization was performed by rotating the camera for 30[sec]. Table 1 shows the results. It is shown that the real robot and the simulator obtain similar results for self localization. However, the errors of the simulator are larger than of the real robot. The reason is perhaps that in the simulator, production of images and the cycle of waving head synchronized, and consequently, images had some bias. Table 1. Comparison of self-localization (a) Real robot Mean squared error Max. error Ave. of division width True value in division x 186 mm 393 mm 580 mm 61% y 141 mm 375 mm 395 mm 58% θ 6.5 deg 16 deg 19 deg 67% xy 233 mm 393 mm / 47% xyθ / / / 47% (b) Simulation without camera characteristics Mean squared error Max. error Ave. of division width True value in division x 272 mm 731 mm 603 mm 58% y 218 mm 542 mm 527 mm 61% θ 9.9 deg 23 deg 39 deg 77% xy 349 mm 704 mm / 42% xyθ / / / 42% (c) Simulation with camera characteristics Mean squared error Max. error Ave. of division width True value in division x 291 mm 731 mm 570 mm 55% y 201 mm 564 mm 426 mm 60% θ 9.4 deg 26 deg 26 deg 66% xy 368 mm 807 mm / 45% xyθ / / / 45% 6 Conclusion In this paper, we developed a simulator of environment and measurement that considers camera characteristics. The simulator introduced server/client system, and realized separation of each robot s information, introduction of each robot s

difference and distribution of processes. For producing virtual images, the simulator utilized OpenGL and considered the effects of blur by lens aberration, etc., random noise on each pixel, lens distortion and delayed exposure for each line of CMOS device. Some experiments show that the simulator imitates the real environment well, and is a useful tool for developing algorithms effectively for multiple mobile robots. References 1. Hiroaki Kitano, Minoru Asada, Yasuo Kuniyoshi, Itsuki Noda, Eiichi Osawa and Hitoshi Matsubara: RoboCup: A Challenge Problem for AI and Robotics, Proc. of Robot Soccer World Cup I, pp.1-19, 1997. 2. N. Y. Chong, T. Kotoku, K. Ohba: Development of a Multi-telerobot System for Remote Collaboration, Proc. IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, pp. 1002-1007, 2000. 3. O. Michel: Webots: Symbiosis Between Virtual and Real Mobile Robots, Proc. of ICVW 98 Paris France, pp.254-263, 1998. 4. T. Rofer: An Architecture for a National RoboCup Team, Proc. of Robot Soccer World Cup VI, pp.388-395, 2002. 5. Mark M. Chang, Gordon F. Wyeth: ViperRoos 2001, Proc. of Robot Soccer World Cup V, pp.607-610, 2001. 6. R. Ueda, T. Fukase, Y. Kobayashi, T. Arai, H. Yuasa and J. Ota: Uniform Monte Carlo Localization Fast and Robust Self-localization Method for Mobile Robots, Proc. of ICRA-2002, pp.1353-1358, 2002. 7. J. Neider, T. Davis and M. Woo: OpenGL Proggraming Guide, Addison-Wesley, 1992.