KR102045443B1 - Method for building-up tennis artificial intelligence for virtual tennis simulation, virtual tennis simulation system and method using the same and recording media recording program of tennis artificial intelligence readible by computing device - Google Patents

Method for building-up tennis artificial intelligence for virtual tennis simulation, virtual tennis simulation system and method using the same and recording media recording program of tennis artificial intelligence readible by computing device Download PDF

Info

Publication number
KR102045443B1
KR102045443B1 KR1020180029074A KR20180029074A KR102045443B1 KR 102045443 B1 KR102045443 B1 KR 102045443B1 KR 1020180029074 A KR1020180029074 A KR 1020180029074A KR 20180029074 A KR20180029074 A KR 20180029074A KR 102045443 B1 KR102045443 B1 KR 102045443B1
Authority
KR
South Korea
Prior art keywords
ball
virtual
tennis
player
court
Prior art date
Application number
KR1020180029074A
Other languages
Korean (ko)
Other versions
KR20190031112A (en
Inventor
양동은
Original Assignee
주식회사 뉴딘콘텐츠
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 뉴딘콘텐츠 filed Critical 주식회사 뉴딘콘텐츠
Priority to PCT/KR2019/002894 priority Critical patent/WO2019177363A1/en
Priority to JP2020548808A priority patent/JP7070874B2/en
Publication of KR20190031112A publication Critical patent/KR20190031112A/en
Application granted granted Critical
Publication of KR102045443B1 publication Critical patent/KR102045443B1/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0087Electric or electronic controls for exercising apparatus of groups A63B21/00 - A63B23/00, e.g. controlling load
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B69/00Training appliances or apparatus for special sports
    • A63B69/38Training appliances or apparatus for special sports for tennis
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B69/00Training appliances or apparatus for special sports
    • A63B69/40Stationarily-arranged devices for projecting balls or other bodies
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/06Indicating or scoring devices for games or players, or for other sports activities
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/06Indicating or scoring devices for games or players, or for other sports activities
    • A63B71/0619Displays, user interfaces and indicating devices, specially adapted for sport equipment, e.g. display mounted on treadmills
    • A63B71/0622Visual, audio or audio-visual systems for entertaining, instructing or motivating the user
    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04HBUILDINGS OR LIKE STRUCTURES FOR PARTICULAR PURPOSES; SWIMMING OR SPLASH BATHS OR POOLS; MASTS; FENCING; TENTS OR CANOPIES, IN GENERAL
    • E04H3/00Buildings or groups of buildings for public or similar purposes; Institutions, e.g. infirmaries or prisons
    • E04H3/10Buildings or groups of buildings for public or similar purposes; Institutions, e.g. infirmaries or prisons for meetings, entertainments, or sports
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/80Special sensors, transducers or devices therefor
    • A63B2220/806Video cameras
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/80Special sensors, transducers or devices therefor
    • A63B2220/83Special sensors, transducers or devices therefor characterised by the position of the sensor
    • A63B2220/833Sensors arranged on the exercise apparatus or sports implement

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Architecture (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)
  • Studio Devices (AREA)

Abstract

본 발명은 상기한 바와 같은 종래의 스크린 테니스 시스템에 의해 구현하기 어려웠던 수준 높은 가상 상대방의 인공지능의 구현과 그로부터 플레이어가 다양한 상황에서의 테니스 연습 또는 테니스 경기를 진행할 수 있음으로 말미암은 현실감 있는 랠리 등을 실현할 수 있는, 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법, 이를 이용한 가상 테니스 시뮬레이션 시스템 및 방법을 제공하기 위한 것이다.The present invention implements the artificial intelligence of a high level virtual opponent, which is difficult to implement by the conventional screen tennis system as described above, and therefrom, a realistic rally due to the fact that the player can proceed to tennis practice or tennis game in various situations. The present invention is to provide a tennis artificial intelligence implementation method for virtual tennis simulation, a virtual tennis simulation system and method using the same.

Description

가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법, 이를 이용한 가상 테니스 시뮬레이션 시스템 및 방법과, 이를 기록한 컴퓨팅장치에 의해 판독 가능한 기록매체{METHOD FOR BUILDING-UP TENNIS ARTIFICIAL INTELLIGENCE FOR VIRTUAL TENNIS SIMULATION, VIRTUAL TENNIS SIMULATION SYSTEM AND METHOD USING THE SAME AND RECORDING MEDIA RECORDING PROGRAM OF TENNIS ARTIFICIAL INTELLIGENCE READIBLE BY COMPUTING DEVICE}Tennis artificial intelligence implementation method for virtual tennis simulation, virtual tennis simulation system and method using the same, and recording medium readable by the computing device recording the same METHOD USING THE SAME AND RECORDING MEDIA RECORDING PROGRAM OF TENNIS ARTIFICIAL INTELLIGENCE READIBLE BY COMPUTING DEVICE}

본 발명은 소정의 실내 공간에서 가상의 상대방에 의한 테니스 플레이 영상이 구현되는 스크린이 설치되고 상기 스크린을 통해 볼 머신에서 발사되는 테니스볼을 사용자가 라켓으로 타격하는 방식으로 테니스 연습 또는 테니스 경기를 할 수 있도록 하는 가상 테니스 시뮬레이션 시스템에 관한 것이다.According to the present invention, a screen for implementing a tennis play image by a virtual opponent in a predetermined indoor space is installed, and a tennis ball or a tennis game can be played in such a manner that a user hits a tennis ball fired from a ball machine with a racket through the screen. A virtual tennis simulation system is provided.

최근에 골프와 야구 등과 같이 볼을 이용하여 즐기는 스포츠에 대해 실내의 좁은 공간에서도 실제 필드에서 골프나 야구를 하는 것과 같은 연습이나 경기를 위한 가상의 컨텐츠를 제공하는, 이른바 스크린 골프와 스크린 야구 등의 대중적인 인기와 그에 따른 기술적 발전에 따라 볼을 이용하는 가장 대표적인 스포츠인 테니스에 대해서도 소위 스크린 테니스 시스템이 등장하게 되었다.Recently, sports such as golf and baseball, such as golf and baseball, which provide virtual contents for practice or play, such as playing golf or baseball on a real field, even in a narrow space in the room, such as screen golf and screen baseball, etc. Popular popularity and the resulting technological developments have led to the emergence of so-called screen tennis systems for tennis, the most representative sport that uses balls.

테니스라는 스포츠는 골프나 야구와는 달리 사용자가 한 곳에서 계속 볼을 타격하는 것이 아니라 라켓을 든 사용자가 매우 다이나믹하게 움직이면서 상대 선수와 볼을 지속적으로 주고받는 랠리를 펼치는 스포츠로서, 이러한 테니스 스포츠의 특징을 스크린 테니스 시스템에서 적절히 구현하여 스크린 테니스를 이용하는 사용자가 다양한 위치에서 볼을 타격하면서 영상 내의 상대방과 지속적인 랠리를 현실감있게 할 수 있도록 하여 테니스 스포츠의 리얼리티를 실현하면서도 실제 테니스 스포츠에서는 쉽게 파악하기 어려운 다양한 분석 정보를 제공받을 수 있도록 하는 것이 관건이라 할 수 있다.Unlike golf or baseball, tennis is a sport in which the user does not hit the ball continuously in one place but rather rallys the player with the racquet and moves the ball with the other player continuously. By properly implementing the features in the screen tennis system, users who use screen tennis can hit the ball from various positions and make continuous rally with the opponent in the video realizing the reality of tennis sports, but it is difficult to grasp easily in the actual tennis sports. The key is to provide a variety of analysis information.

종래의 스크린 테니스 시스템 및 이에 이용되는 센싱장치 등에 관한 선행특허문헌으로서, 특허출원 제10-2015-0010077호, 특허출원 제10-2015-0138876호, 미국등록특허 제6,776,732호, 미국등록특허 제3,989,246호 등이 공개되어 있다.As a prior patent document related to the conventional screen tennis system and the sensing device used therein, Patent Application No. 10-2015-0010077, Patent Application No. 10-2015-0138876, US Patent No. 6,776,732, US Patent No. 3,989,246 The issue is disclosed.

그러나, 종래의 스크린 테니스 시스템은 영상상의 가상의 상대방을 구현하는 인공지능의 수준이 낮고 그로 인하여 가상 테니스 플레이가 단조롭고 재미없는 영상 컨텐츠를 제공하는데 그치기 때문에, 상기한 바와 같은 테니스 스포츠의 리얼리티를 충분히 구현해내지 못하며 영상 상의 가상 상대방과의 현실감 있는 랠리를 하는 것에 한계가 있는 문제점이 있었다.However, since the conventional screen tennis system has a low level of artificial intelligence that implements virtual opponents on the video, the virtual tennis play provides only monotonous and uninteresting video contents, thereby fully realizing the reality of tennis sports as described above. There was a problem that there is a limit to the realistic rally with the virtual opponent on the image.

본 발명은 상기한 바와 같은 종래의 스크린 테니스 시스템에 의해 구현하기 어려웠던 수준 높은 가상 상대방의 인공지능의 구현과 그로부터 플레이어가 다양한 상황에서의 테니스 연습 또는 테니스 경기를 진행할 수 있음으로 말미암은 현실감 있는 랠리 등을 실현할 수 있는, 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법, 이를 이용한 가상 테니스 시뮬레이션 시스템 및 방법을 제공하기 위한 것이다.The present invention implements the artificial intelligence of a high level virtual opponent, which is difficult to implement by the conventional screen tennis system as described above, and therefrom, a realistic rally due to the fact that the player can proceed to tennis practice or tennis game in various situations. The present invention is to provide a tennis artificial intelligence implementation method for virtual tennis simulation, a virtual tennis simulation system and method using the same.

본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법은, 가상 테니스 시뮬레이션 영상을 기반으로 플레이어가 코트바닥부 상에서 테니스 플레이를 할 수 있도록 하는 가상 테니스 시뮬레이션 시스템의 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법으로서, 상기 코트바닥부에 대응되는 반대편 코트로서 영상 상의 가상의 상대방 플레이어가 플레이하는 가상의 코트 상에서 상기 가상의 상대방 플레이어가 가상의 볼을 서브 또는 리시브하는 위치인 가상 볼출발 위치를 결정하는 단계; 상기 가상의 상대방 플레이어의 타구가 도달하는 상기 코트바닥부 상의 목표 위치를 결정하는 단계; 및 상기 가상 볼출발 위치로부터 상기 가상의 볼이 상기 목표 위치에 도달하도록 하는 볼 운동 조건에 관한 정보를 결정하여 상기 가상 볼출발 위치, 상기 목표 위치 및 상기 볼 운동 조건에 관한 정보를 데이터베이스에 저장함으로써 임의의 가상 볼출발 위치 및 목표 위치에 따른 볼 운동 조건에 대해 학습하는 단계를 포함한다.Tennis AI implementation method for a virtual tennis simulation according to an embodiment of the present invention, for the virtual tennis simulation of the virtual tennis simulation system that allows the player to play tennis on the court floor based on the virtual tennis simulation image A method for implementing tennis artificial intelligence, wherein a virtual ball starting position is a position at which the virtual opponent player serves or receives a virtual ball on a virtual court played by a virtual opponent player on an image as an opposite court corresponding to the court floor. Determining; Determining a target position on the court bottom portion at which the bat of the virtual opponent player arrives; And determining information about a ball motion condition for causing the virtual ball to reach the target position from the virtual ball start position and storing information about the virtual ball start position, the target position and the ball motion condition in a database. Learning about ball motion conditions according to any virtual ball start position and target position.

또한 바람직하게는, 상기 목표 위치를 결정하는 단계는, 상기 코트바닥부에 대해 다수의 미리 설정된 크기의 그리드면을 갖는 코트그리드를 설정하는 단계와, 상기 코트그리드의 임의의 그리드면 상의 미리 설정된 지점 또는 임의의 지점을 상기 목표 위치로서 결정하는 단계를 포함하는 것을 특징으로 한다.Also preferably, the determining of the target position comprises: setting a coat grid having a plurality of preset grid surfaces with respect to the coat bottom, and preset points on any grid surface of the coat grid. Or determining any point as the target position.

또한 바람직하게는, 상기 가상 볼출발 위치를 결정하는 단계는, 상기 가상의 코트에 대해 다수의 미리 설정된 크기의 입체그리드를 갖는 가상코트그리드를 설정하는 단계와, 상기 가상코트그리드의 임의의 입체그리드 또는 미리 설정된 입체그리드 내의 미리 설정된 위치 또는 임의의 위치를 상기 가상 볼출발 위치로서 결정하는 단계를 포함하는 것을 특징으로 한다.Also preferably, the step of determining the virtual ball starting position comprises: setting a virtual coat grid having a plurality of predetermined sized three-dimensional grids for the virtual coat, and any three-dimensional grid of the virtual coat grid. Or determining a predetermined position or an arbitrary position in a preset solid grid as the virtual ball starting position.

또한 바람직하게는, 상기 볼 운동 조건에 대해 학습하는 단계는, 상기 가상 볼출발 위치로부터 임의의 볼 운동 조건에 따른 상기 가상의 볼의 궤적을 시뮬레이션하는 단계와, 상기 시뮬레이션된 가상의 볼의 궤적이 상기 목표 위치 또는 상기 목표 위치 내의 소정 범위 내에 도달하도록 상기 볼 운동 조건을 수정하여 시뮬레이션하는 것을 반복하는 단계와, 상기 시뮬레이션된 가상의 볼의 궤적이 상기 목표 위치 또는 상기 목표 위치 내의 소정 범위 내에 도달할 때의 볼 운동 조건에 대한 정보를 상기 데이터베이스에 저장하는 단계를 포함하는 것을 특징으로 한다.Also preferably, the learning about the ball motion condition may include simulating a trajectory of the virtual ball according to an arbitrary ball motion condition from the virtual ball starting position, and the trajectory of the simulated virtual ball. Repeating the simulation by modifying the ball motion condition to reach the target position or a predetermined range within the target position, and the trajectory of the simulated virtual ball to reach the target position or a predetermined range within the target position. And storing the information on the ball movement condition at the time in the database.

또한 바람직하게는, 상기 볼 운동 조건을 수정하여 시뮬레이션하는 것을 반복하는 단계는, 상기 가상 볼출발 위치로부터 운동하는 상기 가상의 볼의 궤적이 통과하는 영역으로서 볼패싱 영역을 미리 설정하며, 상기 목표 위치 또는 상기 목표 위치 내의 소정 범위 내에 도달하도록 결정된 볼 운동 조건에 따라 시뮬레이션된 가상의 볼의 궤적이 상기 볼패싱 영역을 통과하도록 상기 볼 운동 조건을 수정하여 시뮬레이션하는 것을 반복하는 것을 특징으로 한다.Also preferably, the step of repeating the simulation by modifying the ball motion condition may include setting a ball passing area in advance as an area through which the trajectory of the virtual ball moving from the virtual ball starting position passes, and setting the target position. Or modifying and simulating the ball motion condition so that the trajectory of the simulated virtual ball passes through the ball passing region according to the ball motion condition determined to reach a predetermined range within the target position.

또한 바람직하게는, 상기 목표 위치를 결정하는 단계는, 상기 코트바닥부에 대해 다수의 미리 설정된 크기의 그리드면을 갖는 코트그리드를 설정하는 단계와, 상기 코트그리드의 임의의 그리드면 또는 미리 설정된 그리드면인 목표 그리드면을 상기 목표 위치로서 결정하는 단계를 포함하며, 상기 볼 운동 조건에 대해 학습하는 단계는, 상기 가상 볼출발 위치로부터 상기 가상의 볼이 상기 목표 그리드면 상에 도달하도록 하는 미리 설정된 개수의 방향벡터를 찾아 상기 볼 운동 조건으로서 상기 데이터베이스에 저장하는 단계를 포함하는 것을 특징으로 한다.Also preferably, the determining of the target position may include setting a coat grid having a plurality of predetermined size grid surfaces for the court bottom portion, any grid surface or a predetermined grid of the coat grid. Determining a target grid plane, which is a plane, as the target position, and learning about the ball motion condition comprises: setting a preset ball to reach the target grid plane from the virtual ball starting position. And finding and storing the number of direction vectors in the database as the ball motion condition.

또한 본 발명은 상기한 바와 같은 인공지능 구현방법에 따른 프로그램을 기록한 컴퓨팅장치에 의해 판독 가능한 기록매체를 포함한다.The present invention also includes a recording medium readable by a computing device recording a program according to the artificial intelligence implementation method as described above.

한편, 본 발명의 일 실시예에 따른 테니스 인공지능을 이용한 가상 테니스 시뮬레이션 방법은, 가상 테니스 시뮬레이션 영상을 기반으로 플레이어가 코트바닥부 상에서 테니스 플레이를 할 수 있도록 하는 가상 테니스 시뮬레이션 시스템에서 구현되는 테니스 인공지능을 이용한 가상 테니스 시뮬레이션 방법으로서, 상기 플레이어가 타격한 볼의 운동에 대해 센싱장치가 센싱하여 볼 운동에 대한 센싱 데이터를 산출하는 단계; 상기 산출된 센싱 데이터에 기초하여 상기 영상에서 상기 코트바닥부에 대응되는 반대편 코트로서 영상 상의 가상의 상대방 플레이어가 플레이하는 가상의 코트로 이동하는 가상의 볼의 궤적에 대한 시뮬레이션 영상을 구현하는 단계; 상기 가상의 코트로 이동하는 가상의 볼의 궤적으로부터 상기 가상의 상대방 플레이어가 가상의 볼을 리시브하는 위치인 가상 볼출발 위치를 결정하는 단계; 상기 테니스 인공지능에 의해 상기 가상의 상대방 플레이어가 리시브한 타구가 도달하는 상기 코트바닥부 상의 목표 위치를 결정하는 단계; 및 상기 가상 볼출발 위치로부터 상기 가상의 볼이 상기 코트바닥부 상의 목표 위치에 도달하도록 하는 볼 운동 조건에 관한 정보를 상기 테니스 인공지능의 데이터베이스로부터 추출하거나 상기 추출된 정보를 이용하여 상기 볼 운동 조건에 관한 정보를 산출하여 상기 가상의 상대방 플레이어가 리시브한 타구가 상기 추출된 또는 산출된 볼 운동 조건에 따라 시뮬레이션 되도록 하는 단계를 포함한다.On the other hand, the virtual tennis simulation method using the tennis artificial intelligence according to an embodiment of the present invention, the artificial artificial tennis is implemented in the virtual tennis simulation system that allows the player to play tennis on the court floor based on the virtual tennis simulation image A virtual tennis simulation method using intelligence, the method comprising: sensing a motion of a ball hit by a player to generate sensing data on a ball motion; Implementing a simulation image of a trajectory of a virtual ball moving to a virtual court played by a virtual counterpart player on the image as an opposite court corresponding to the court bottom in the image based on the calculated sensing data; Determining a virtual ball starting position, which is a position at which the virtual opponent player receives the virtual ball from the trajectory of the virtual ball moving to the virtual court; Determining, by the tennis artificial intelligence, a target position on the court bottom portion at which the batted ball received by the virtual opponent player arrives; And extracting, from the database of the tennis artificial intelligence, information about a ball motion condition that causes the virtual ball to reach a target position on the court bottom from the virtual ball starting position or by using the extracted information. Calculating information about the control to cause the batted ball received by the virtual opponent player to be simulated according to the extracted or calculated ball movement condition.

또한 바람직하게는, 상기 가상 테니스 시뮬레이션 시스템은, 상기 코트바닥부의 전방에 구비되어 상기 가상 테니스 시뮬레이션 영상이 투영되는 스크린의 후면에 구비되어 상기 플레이어에게 볼을 제공하는 볼 머신을 구비하도록 구성되며, 상기 결정된 코트바닥부 상의 목표 위치에 대응하여 상기 볼 머신의 볼 제공 방향을 제어하는 단계와, 상기 추출된 볼 운동 조건에 따라 시뮬레이션 되도록 하는 단계에서 상기 가상의 상대방 플레이어가 리시브한 타구에 따른 가상의 볼의 운동에 대응하도록 상기 볼 머신이 제공하는 볼의 속도를 결정하여, 상기 볼 제공 방향 및 볼의 속도에 따라 상기 볼 머신이 상기 코트바닥부 상으로 볼을 제공하는 단계를 더 포함하는 것을 특징으로 한다.Also preferably, the virtual tennis simulation system is provided in front of the court floor portion is provided on the back of the screen on which the virtual tennis simulation image is projected is provided with a ball machine for providing a ball to the player, Controlling the ball providing direction of the ball machine corresponding to the determined target position on the court floor portion, and simulated according to the extracted ball motion conditions, the virtual ball according to the hit received by the virtual opponent player Determining the speed of the ball provided by the ball machine so as to correspond to the motion of the ball machine, and the ball machine providing the ball onto the court bottom in accordance with the ball providing direction and the speed of the ball. do.

또한 바람직하게는, 상기 가상 테니스 시뮬레이션 시스템은, 상기 코트바닥부의 전방에 구비되어 상기 가상 테니스 시뮬레이션 영상이 투영되는 스크린의 후면에 구비되어 상기 플레이어에게 볼을 제공하는 볼 머신을 구비하도록 구성되며, 상기 추출된 볼 운동 조건에 따라 시뮬레이션 되도록 하는 단계에서 상기 가상의 상대방 플레이어가 리시브한 타구에 따른 가상의 볼의 궤적의 연장선상에서 상기 볼 머신이 볼을 제공하도록 상기 볼 머신의 볼 제공 방향 및 볼 제공 속도를 결정하여, 상기 결정된 볼 제공 방향 및 볼 제공 속도에 따라 상기 볼 머신이 상기 코트바닥부 상으로 볼을 제공하는 단계를 더 포함하는 것을 특징으로 한다.Also preferably, the virtual tennis simulation system is provided in front of the court floor portion is provided on the back of the screen on which the virtual tennis simulation image is projected is provided with a ball machine for providing a ball to the player, The ball providing direction and the ball providing speed of the ball machine such that the ball machine provides the ball on an extension line of the trajectory of the virtual ball according to the hit received by the virtual opponent player in the step of being simulated according to the extracted ball motion condition. And determining, according to the determined ball providing direction and ball providing speed, the ball machine providing the ball onto the court bottom.

또한 바람직하게는, 상기 추출된 또는 산출된 볼 운동 조건에 따라 시뮬레이션 되도록 하는 단계는, 상기 가상 볼출발 위치로부터 상기 가상의 볼이 상기 코트바닥부 상의 목표 위치에 도달하도록 하는 상기 테니스 인공지능의 데이터베이스로부터 추출한 볼 운동 조건에 관한 정보를 플레이어의 실력등급, 플레이의 난이도, 환경설정 중 적어도 하나에 따라 변경하여 상기 가상의 상대방 플레이어의 타구에 적용하는 단계를 포함하는 것을 특징으로 한다.Also preferably, the step of simulating in accordance with the extracted or calculated ball motion conditions, the database of the tennis artificial intelligence to allow the virtual ball to reach the target position on the court floor from the virtual ball starting position And changing the information regarding the ball motion condition extracted from the player according to at least one of a player's skill level, difficulty of play, and preference to apply to the batting of the virtual opponent player.

또한 바람직하게는, 상기 추출된 또는 산출된 볼 운동 조건에 따라 시뮬레이션 되도록 하는 단계 따른 시뮬레이션의 결과 상기 가상의 볼이 상기 목표 위치에 도달하는지 확인하는 단계와, 상기 가상의 볼이 상기 목표 위치에 도달하지 않은 경우 상기 시뮬레이션에 적용된 볼 운동 조건에 대한 정보를 변경하여 상기 데이터베이스에 저장함으로써 상기 가상 볼출발 위치 및 목표 위치에 따른 볼 운동 조건에 대해 학습하는 단계를 더 포함하는 것을 특징으로 한다.Also preferably, as a result of the simulation according to the step of being simulated according to the extracted or calculated ball motion conditions, checking whether the virtual ball reaches the target position, and the virtual ball reaches the target position. If not, by changing the information on the ball motion conditions applied to the simulation and storing in the database characterized in that it further comprises the step of learning about the ball motion conditions according to the virtual ball starting position and the target position.

한편, 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템은, 가상 테니스 시뮬레이션 영상을 기반으로 플레이어가 테니스 인공지능에 의한 가상의 상대방 플레이어와 테니스 플레이를 할 수 있도록 하는 가상 테니스 시뮬레이션 시스템으로서, 상기 가상 테니스 시뮬레이션 영상이 투영되는 스크린; 상기 스크린의 후면에 구비되어 상기 플레이어에게 볼을 제공하는 볼 머신; 상기 플레이어가 타격한 볼의 운동에 대해 센싱하여 볼 운동에 대한 센싱 데이터를 산출하는 센싱장치; 및 상기 산출된 센싱 데이터에 기초하여 상기 영상에서 상기 코트바닥부에 대응되는 반대편 코트로서 영상 상의 가상의 상대방 플레이어가 플레이하는 가상의 코트로 이동하는 가상의 볼의 궤적에 대한 시뮬레이션 영상 및 상기 상기 가상의 상대방 플레이어가 리시브한 타구에 따른 가상의 볼의 궤적에 대한 시뮬레이션 영상을 생성 및 처리하는 제어장치를 포함하며, 상기 제어장치는, 상기 가상의 코트로 이동하는 가상의 볼의 궤적으로부터 상기 가상의 상대방 플레이어가 가상의 볼을 리시브하는 위치인 가상 볼출발 위치를 결정하고, 상기 가상의 상대방 플레이어가 리시브한 타구가 도달하는 상기 코트바닥부 상의 목표 위치를 결정하도록 구성되고, 상기 가상 볼출발 위치로부터 상기 가상의 볼이 상기 목표 위치에 도달하도록 하는 볼 운동 조건에 관한 정보를 결정하여 상기 가상 볼출발 위치, 상기 목표 위치 및 상기 볼 운동 조건에 관한 정보를 저장하는 데이터베이스에 접근 가능하도록 구성되며, 상기 플레이어와 상기 가상의 상대방 플레이어 사이의 플레이에 따라 상기 가상 볼출발 위치 및 목표 위치에 따른 볼 운동 조건에 대해 학습하는 테니스 인공지능을 구비하도록 구성되는 것을 특징으로 한다.Meanwhile, the virtual tennis simulation system according to an embodiment of the present invention is a virtual tennis simulation system that allows a player to play tennis with a virtual counterpart player by tennis artificial intelligence based on a virtual tennis simulation image. A screen on which a tennis simulation image is projected; A ball machine provided at the rear of the screen to provide a ball to the player; Sensing device for sensing the movement of the ball hit by the player to calculate the sensing data for the ball movement; And a simulation image of a trajectory of a virtual ball moving to a virtual court played by a virtual counterpart player on the image as an opposite court corresponding to the court bottom in the image based on the calculated sensing data and the virtual. And a control device for generating and processing a simulation image of the trajectory of the virtual ball according to the batted opponent's player, wherein the control device comprises the virtual device from the trajectory of the virtual ball moving to the virtual court. Determine a virtual ball starting position, which is a position at which the opponent player receives a virtual ball, and determine a target position on the court bottom portion at which the virtual opponent receives the received ball, from the virtual ball starting position A ball movement jaw to allow the virtual ball to reach the target position Determine the information regarding the virtual ball starting position, the target position and the database for storing information about the ball movement conditions, the virtual ball according to the play between the player and the virtual opponent player It is characterized in that it is configured to have tennis artificial intelligence learning about the ball motion conditions according to the starting position and the target position.

또한 바람직하게는, 상기 제어장치는, 상기 데이터베이스로부터 상기 가상 볼출발 위치로부터 상기 가상의 볼이 상기 코트바닥부 상의 목표 위치에 도달하도록 하는 볼 운동 조건에 관한 정보를 추출 또는 산출하여 상기 가상의 상대방 플레이어가 리시브한 타구가 상기 추출된 또는 산출된 볼 운동 조건에 따라 시뮬레이션 되도록 하며, 상기 가상의 상대방 플레이어가 리시브한 타구에 따른 가상의 볼의 궤적의 연장선상에서 상기 볼 머신이 볼을 제공하도록 상기 볼 머신의 볼 제공 방향 및 볼 제공 속도를 결정하여 상기 볼 머신으로 전송하도록 구성되며, 상기 볼 머신은 상기 제어장치로부터 전송받은 볼 제공 방향 및 볼 제공 속도에 따라 상기 코트바닥부 상으로 볼을 제공하도록 구성되는 것을 특징으로 한다.Also preferably, the controller is configured to extract or calculate information about a ball motion condition for allowing the virtual ball to reach a target position on the court bottom from the virtual ball starting position from the database. The ball received by the player is simulated according to the extracted or calculated ball movement conditions, and the ball machine provides the ball on an extension line of the trajectory of the virtual ball according to the received ball of the virtual opponent. Determine a ball providing direction and a ball providing speed of the machine and transmit the ball to the ball machine, wherein the ball machine provides the ball onto the court bottom according to the ball providing direction and the ball providing speed received from the controller. It is characterized in that the configuration.

한편, 본 발명의 다른 일 실시예에 따른 가상 테니스 시뮬레이션 시스템은, 플레이어의 상대방인 가상의 상대방 플레이어와, 상기 플레이어가 테니스 플레이하는 코트바닥부에 대응되는 반대편 코트로서 상기 가상의 상대방 플레이어가 플레이하는 가상의 코트와, 상기 가상의 상대방 플레이어로 또는 상기 가상의 상대방 플레이어에 의해 이동하는 가상의 볼을 포함하는 가상 테니스 시뮬레이션 영상이 투영되는 스크린; 상기 스크린의 후면에 구비되어 상기 플레이어에게 볼을 제공하는 볼 머신; 상기 플레이어가 타격한 볼의 운동에 대해 센싱하여 볼 운동에 대한 센싱 데이터를 산출하는 센싱장치; 및 상기 스크린에 투영되는 가상 테니스 시뮬레이션 영상을 생성 및 처리하며, 상기 플레이어와 상기 가상의 상대방 플레이어 사이의 플레이에 따라 상기 가상의 상대방 플레이어의 플레이를 학습하는 테니스 인공지능을 구비하며, 상기 플레이어가 타격한 볼에 대한 상기 센싱장치의 센싱 데이터에 기초하여 가상의 볼이 상기 가상의 상대방 플레이어 쪽으로 이동하는 영상을 구현하고, 상기 테니스 인공지능에 의해 상기 가상의 상대방 플레이어가 가상의 볼을 리시브하는 위치인 가상 볼출발 위치 및 상기 가상 볼출발 위치에서 출발하는 가상의 볼의 운동 조건에 관한 정보를 결정하며, 상기 결정된 가상의 볼의 운동 조건에 따라 상기 볼 머신이 상기 플레이어에게 제공할 볼의 방향 및 속도를 설정하고, 상기 가상의 상대방 플레이어가 타격한 가상의 볼의 궤적에 대한 연장선상에서 상기 볼 머신이 볼을 상기 설정된 볼의 방향 및 속도로 제공하도록 하여 상기 플레이어로 하여금 상기 볼 머신에서 발사된 볼을 타격하도록 하는 방식으로 상기 플레이어와 영상 상의 상기 가상의 상대방 플레이어가 테니스 랠리를 구현할 수 있도록 하는 제어장치를 포함한다.On the other hand, the virtual tennis simulation system according to another embodiment of the present invention, the virtual opponent player who is the opponent of the player, and the opposite court corresponding to the court floor portion that the player plays tennis is played by the virtual opponent player A screen on which a virtual tennis simulation image including a virtual court and a virtual ball moved to or by the virtual opponent player is projected; A ball machine provided at the rear of the screen to provide a ball to the player; Sensing device for sensing the movement of the ball hit by the player to calculate the sensing data for the ball movement; And a tennis artificial intelligence that generates and processes a virtual tennis simulation image projected on the screen, and learns the play of the virtual counterpart player according to the play between the player and the virtual counterpart player, wherein the player is hit. A virtual ball moves to the virtual counterpart player based on the sensing data of the sensing device for one ball, and the virtual counterpart player receives the virtual ball by the tennis artificial intelligence. Determine the virtual ball starting position and the motion condition of the virtual ball starting from the virtual ball starting position, and the direction and speed of the ball to be provided to the player by the ball machine according to the determined motion condition of the virtual ball. Virtual and hit the virtual opponent player The virtual opponent on the image with the player in a manner such that the ball machine provides the ball in the direction and speed of the set ball on an extension to the trajectory of the ball, causing the player to hit the ball fired from the ball machine. It includes a control that allows the player to implement a tennis rally.

본 발명에 따른 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법, 이를 이용한 가상 테니스 시뮬레이션 시스템 및 방법은 종래의 스크린 테니스 시스템에 의해 구현하기 어려웠던 수준 높은 가상 상대방의 인공지능의 구현과 그로부터 플레이어가 다양한 상황에서의 테니스 연습 또는 테니스 경기를 진행할 수 있음으로 말미암은 현실감 있는 랠리 등을 실현할 수 있으므로 가상의 테니스 플레이를 즐기는 플레이어로 하여금 흥미를 향상시킬 수 있고 더욱 수준 높은 플레이를 할 수 있도록 하는 효과가 있다.Tennis AI implementation method, virtual tennis simulation system and method using the same in accordance with the present invention is a high level of the artificial opponent's artificial intelligence that was difficult to implement by the conventional screen tennis system and from there players in various situations By practicing a tennis practice or a tennis match, realistic rally and the like can be realized, so that players who enjoy virtual tennis play can enhance interest and play higher levels of play.

도 1은 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템으로서 스크린 테니스 시스템이 구현된 예를 나타낸 것이다.
도 2는 도 1에 도시된 가상 테니스 시뮬레이션 시스템의 스크린 및 그 주변의 구성에 관하여 나타낸 도면이다.
도 3은 도 1에 도시된 가상 테니스 시뮬레이션 시스템에서 제공하는 영상 컨텐츠의 일 예를 나타낸 도면이다.
도 4는 도 1에 도시된 가상 테니스 시뮬레이션 시스템의 구성을 나타낸 블록도이다.
도 5는 본 발명의 일 실시예에 따른 테니스 인공지능의 구현을 위한 방법의 일 예에 관하여 나타낸 플로우차트이다.
도 6 내지 도 8은 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법에 관하여 설명하기 위한 도면들이다.
도 9는 본 발명의 일 실시예에 따른 테니스 인공지능 구현 방법에 따른 인공지능이 가상 테니스 시뮬레이션 시스템에 적용되어 사용되는 것의 일 예에 관하여 설명하기 위한 플로우차트이다.
도 10은 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템에서 플레이어(P)와 영상 상의 가상의 상대방 플레이어(VP) 사이의 플레이와 이에 따른 볼 머신의 구동에 관하여 설명하기 위한 도면이다.
1 shows an example in which a screen tennis system is implemented as a virtual tennis simulation system according to an embodiment of the present invention.
FIG. 2 is a diagram showing the configuration of the screen and the surroundings of the virtual tennis simulation system shown in FIG. 1.
3 is a diagram illustrating an example of image content provided by the virtual tennis simulation system shown in FIG. 1.
4 is a block diagram showing the configuration of the virtual tennis simulation system shown in FIG.
5 is a flowchart illustrating an example of a method for implementing tennis artificial intelligence according to an embodiment of the present invention.
6 to 8 are diagrams for explaining a tennis artificial intelligence implementation method for a virtual tennis simulation according to an embodiment of the present invention.
9 is a flowchart for explaining an example in which the artificial intelligence according to the tennis artificial intelligence implementation method according to an embodiment of the present invention is applied and used in a virtual tennis simulation system.
FIG. 10 is a diagram for describing a play between a player P and a virtual counterpart player VP on an image and driving of a ball machine according to an embodiment of the present invention.

본 발명에 따른 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법, 이를 이용한 가상 테니스 시뮬레이션 시스템 및 방법에 대한 구체적인 내용을 도면을 참조하여 설명하도록 한다.Tennis artificial intelligence implementation method for a virtual tennis simulation according to the present invention, a detailed description of the virtual tennis simulation system and method using the same will be described with reference to the drawings.

먼저, 도 1 내지 도 4를 참조하여 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템의 구성에 관하여 설명한다.First, a configuration of a virtual tennis simulation system according to an embodiment of the present invention will be described with reference to FIGS. 1 to 4.

도 1은 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템으로서 스크린 테니스 시스템이 구현된 예를 나타낸 것이고, 도 2는 도 1에 도시된 가상 테니스 시뮬레이션 시스템의 스크린 및 그 주변의 구성에 관하여 나타낸 도면이며, 도 3은 도 1에 도시된 가상 테니스 시뮬레이션 시스템에서 제공하는 영상 컨텐츠의 일 예를 나타낸 도면이고, 도 4는 도 1에 도시된 가상 테니스 시뮬레이션 시스템의 구성을 나타낸 블록도이다.1 is a view showing an example of a screen tennis system implemented as a virtual tennis simulation system according to an embodiment of the present invention, Figure 2 is a view showing the configuration of the screen and the surroundings of the virtual tennis simulation system shown in FIG. 3 is a diagram illustrating an example of image content provided by the virtual tennis simulation system illustrated in FIG. 1, and FIG. 4 is a block diagram illustrating a configuration of the virtual tennis simulation system illustrated in FIG. 1.

도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템은 소정의 공간에 코트바닥부(30) 및 네트(32), 그리고 플레이어(P)의 전방에 스크린(20)을 구비하고, 상기 스크린(20)의 뒷쪽에는 라켓을 들고 테니스 플레이를 하는 플레이어(P)에게 상기 플레이어(P)가 타격할 수 있도록 볼을 제공하는 볼 머신(100)이 설치되며, 공간의 일측에 상기 스크린(20)에 영상을 투영하는 영상출력부(420)와 플레이어(P)가 타격하는 볼과 플레이어(P)의 움직임, 플레이어(P)가 사용하는 라켓 등에 대한 센싱 데이터를 수집하는 센싱장치(200)가 설치되어 구성될 수 있다.As shown in FIG. 1, the virtual tennis simulation system according to an embodiment of the present invention provides a screen 20 in front of the player floor with the court floor 30 and the net 32 in a predetermined space. It is provided with a ball machine 100 is provided on the back of the screen 20 to provide a ball for the player (P) to hit the player (P) holding a racket and play tennis, on one side of the space Sensing device for collecting the sensing data for the image output unit 420 for projecting the image on the screen 20, the ball hit by the player (P) and the movement of the player (P), the racket used by the player (P) 200 may be installed and configured.

상기 볼 머신(100), 센싱장치(200) 및 영상출력부(420) 등의 장치는 제어장치(300)와 연결되며, 상기 제어장치(300)는 상기 센싱장치(200)의 센싱 데이터를 전달받아 처리하며 사용자의 가상 테니스 연습 및 경기를 위한 영상 컨텐츠를 생성하여 상기 영상출력부(420)로 전달하고, 상기 영상출력부(420)는 상기 전달받은 영상 컨텐츠를 스크린(20)에 투영하며, 상기 볼 머신(100)의 볼 발사 및 발사되는 볼의 방향, 속도 등의 볼 발사 파라미터의 제어를 수행한다.Devices such as the ball machine 100, the sensing device 200, and the image output unit 420 are connected to the control device 300, and the control device 300 transmits sensing data of the sensing device 200. It receives and processes and generates the image content for the user's virtual tennis practice and game to deliver to the image output unit 420, the image output unit 420 projects the received image content on the screen 20, The ball firing of the ball machine 100 and the control of the ball firing parameters, such as the direction, the speed of the ball to be fired.

상기 볼 머신(100)은 스크린(20)의 뒷쪽에 설치되어 상기 스크린(20)에 형성된 볼 발사홀(22)을 통해 코트바닥부(30) 상의 미리 계산된 위치로 볼(1)을 발사하도록 구성되며, 도 1에 도시된 바와 같이 상기 볼 머신(100)은 다양한 위치로 다양한 속도의 볼(1)을 발사할 수 있도록 발사각 제어 및 발사속도 제어가 가능하도록 구성된다.The ball machine 100 is installed at the rear of the screen 20 to shoot the ball 1 to a pre-computed position on the court bottom 30 through the ball firing hole 22 formed in the screen 20. As shown in FIG. 1, the ball machine 100 is configured to enable firing angle control and firing speed control so as to launch balls 1 of various speeds at various positions.

도 2에서는 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템을 실제 구현하여 스크린(20) 주변의 구성에 대해 촬영된 사진을 나타낸다.2 shows a photograph taken of the configuration around the screen 20 by actually implementing a virtual tennis simulation system according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 볼 발사홀(22)은 스크린(20) 상의 대략 중간 정도의 위치에 구비될 수 있다. 물론 스크린(20) 상의 어느 위치에든 설치될 수 있으나 다양한 궤적의 볼에 대한 (상대방 플레이어의) 리시브를 구현함에 있어서 도 2에 도시된 바와 같이 대략 중간 정도의 위치가 바람직하다.As shown in FIG. 2, the ball firing hole 22 may be provided at an approximately intermediate position on the screen 20. Of course, it can be installed at any position on the screen 20, but in the implementation of receiving (relative player's) to the ball of various trajectories, an approximately intermediate position is preferable as shown in FIG.

스크린(20)의 앞쪽에는 사용자가 스크린(20)을 향하여 타격한 볼이 스크린(20)에 충돌한 후 다시 사용자 쪽으로 굴러오지 않고 다시 볼 머신(100) 쪽으로 회수될 수 있도록 네트(32)와 경사 구조로 설치되는 바닥 그물망(32a) 등이 설치될 수 있으며 양 측면에는 외부로 볼이 튀어 나가지 않도록 안전그물망(33, 34)이 설치됨이 바람직하다.The front of the screen 20 is inclined with the net 32 so that the ball hit by the user towards the screen 20 can be recovered back toward the ball machine 100 without hitting the screen 20 and then rolling back to the user. The bottom net 32a, etc., which are installed as a structure, may be installed, and safety nets 33 and 34 may be installed on both sides thereof so that balls do not protrude to the outside.

상기 네트(32) 및 바닥 그물망(32a)에 의해 모이는 볼(2)은 스크린(20) 하단의 회수구(40) 쪽으로 모여서 다시 볼 머신 쪽으로 이송될 수 있도록 구성할 수 있다.The balls 2 gathered by the net 32 and the bottom net 32a may be configured to be collected toward the recovery port 40 at the bottom of the screen 20 and then transferred back to the ball machine.

한편, 도 3은 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템에서 제공하는 영상 컨텐츠의 일 예를 나타낸다.3 illustrates an example of image content provided by a virtual tennis simulation system according to an embodiment of the present invention.

도 3에 도시된 바와 같이, 전체 영상(IM)에는 메인 영상(500)과 미니맵 영상(600)이 포함된다.As shown in FIG. 3, the entire image IM includes a main image 500 and a minimap image 600.

메인 영상(500)은 사용자가 플레이하는 코트바닥부의 반대쪽 부분에 대한 가상 환경이 구현되고 가상의 상대방 플레이어(VP), 심판 등에 대한 컨텐츠 영상이 포함될 수 있다.The main image 500 may implement a virtual environment for the opposite side of the court floor that the user plays, and may include a content image of the virtual opponent player VP, the referee, and the like.

메인 영상(500)에서 마치 실제 테니스 매치에서 상대방이 플레이하듯, 가상의 상대방 플레이어(VP)는 미리 설정된 인공지능에 따라 가상의 볼(VB)을 리시브(타격)하며, 이때 도 3에 도시된 바와 같이 가상의 상대방 플레이어(VP)가 타격한 가상의 볼(VB)의 궤적(Tb)이 표시될 수도 있고 표시되지 않도록 할 수도 있다. 궤적의 표시 여부와는 상관없이 가상의 볼(VB)의 궤적은 계산되어야 하고 그 궤적에 따라 영상 컨텐츠의 제어 및 볼 머신에서의 볼 발사 파라미터가 산출되어 구현될 수 있다. 이에 대한 구체적인 설명은 후술하도록 한다.In the main video 500, as if the opponent is playing in a real tennis match, the virtual opponent player VP receives (hits) the virtual ball VB according to a predetermined artificial intelligence, and as shown in FIG. Similarly, the trajectory Tb of the virtual ball VB hit by the virtual opponent player VP may or may not be displayed. Regardless of whether or not the trajectory is displayed, the trajectory of the virtual ball VB should be calculated, and the control of the image content and the ball firing parameter in the ball machine may be calculated and implemented according to the trajectory. Detailed description thereof will be described later.

한편, 미니맵 영상(600)은 사용자가 플레이하는 코트바닥부 및 반대쪽 부분의 가상 환경에 관한 부분을 하나의 전체 테니스 코트로 하여 이를 위에서 바라본 평면도로써 소정 크기로 축소하여 표시되는 부분이다.On the other hand, the mini-map image 600 is a part that is displayed by reducing the size of the court floor and the opposite part of the virtual environment that the user plays as one entire tennis court to a predetermined size as a plan view from above.

상기 미니맵 영상(600) 부분에는 사용자의 현재 위치, 사용자를 기준으로 하는 설정된 영역, 가상 플레이어의 공간상의 위치와 궤적, 볼의 위치 등 다양한 정보가 표시될 수 있다. The minimap image 600 may display various information such as the current location of the user, a set area based on the user, the location and trajectory of the virtual player, and the location of the ball.

한편, 도 4를 참조하여 상기 도 1에 도시된 바와 같은 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템을 구성하는 각 구성요소들의 제어 계통에 관하여 설명하도록 한다.On the other hand, with reference to Figure 4 will be described with respect to the control system of the components constituting the virtual tennis simulation system according to an embodiment of the present invention as shown in FIG.

도 4에 도시된 바와 같이 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템은, 볼 머신(100), 센싱장치(200), 제어장치(300) 및 영상출력부(420)를 포함하여 구성될 수 있으며, 상기 제어장치(300)가 테니스 인공지능을 영상 상의 가상의 상대방 플레이어를 통해 구현할 수 있도록 하기 위하여 상기 테니스 인공지능의 구현을 위한 데이터베이스화 된 데이터를 저장하는 데이터베이스(520) 및 서버연산부(510)를 포함하는 서버(500)가 상기 제어장치(300)와 통신 가능하도록 연결되어 구성될 수 있다.As shown in FIG. 4, a virtual tennis simulation system according to an embodiment of the present invention includes a ball machine 100, a sensing device 200, a control device 300, and an image output unit 420. In order to enable the control device 300 to implement the tennis artificial intelligence through the virtual counterpart player on the image, a database 520 and a server computing unit for storing databaseized data for implementing the tennis artificial intelligence ( The server 500 including the 510 may be connected and configured to communicate with the control device 300.

상기 제어장치(300)는 데이터저장부(320), 영상처리부(330), 제어부(310) 등을 포함하여 구비될 수 있으며, 상기 영상출력부(420)는 상기 영상처리부(330)에 의해 처리된 영상이 스크린(20) 상에 투영될 수 있도록 하는 프로젝션 장치 등에 의해 구현될 수 있다.The control device 300 may include a data storage 320, an image processor 330, a controller 310, and the image output unit 420 is processed by the image processor 330. The image may be implemented by a projection device or the like for projecting the image on the screen 20.

상기 데이터저장부(320)는 가상 테니스 시뮬레이션 시스템에서 이루어지는 테니스 연습 또는 경기에 관한 배경 영상, 가상의 플레이어에 대한 영상, 타격된 볼 등에 대한 시뮬레이션 영상 등의 처리를 위한 데이터가 저장되는 부분이다. 상기 데이터저장부(320)는 서버(500)로부터 전송받은 데이터를 임시 저장하는 저장소 역할을 하는 것으로 구성될 수도 있다.The data storage unit 320 is a part for storing data for processing a background image of a tennis practice or a game, a video for a virtual player, a simulation video for a hit ball, and the like, which are performed in a virtual tennis simulation system. The data storage unit 320 may be configured to serve as a storage for temporarily storing data received from the server 500.

상기 영상처리부(330)는 가상의 테니스장에 관한 영상, 선수와 심판, 관객 등에 관한 영상 등의 백그라운드 영상과 가상의 상대방 플레이어가 볼을 타격하는 영상, 플레이어가 타격한 볼의 궤적에 대한 시뮬레이션 영상 등 각종 시뮬레이션 관련 영상을 생성한다.The image processor 330 may include a background image of a virtual tennis court, a background image of a player, a referee, an audience, and the like, an image of a virtual counterpart player hitting the ball, a simulation image of the trajectory of the ball hit by the player, and the like. Generates various simulation related images.

상기 제어부(310)는 센싱장치(200)에서 수집한 센싱데이터를 기초로 가상의 볼의 시뮬레이션 영상 구현을 위한 각종 연산을 수행하며, 가상의 볼의 시뮬레이션 결과에 대응하도록 볼 머신(100)이 볼을 발사할 수 있도록 제어하는 기능을 수행하기도 한다.The controller 310 performs various operations for realizing a simulation image of a virtual ball based on the sensing data collected by the sensing device 200, and the ball machine 100 controls the ball to match the simulation result of the virtual ball. It also performs a function to control the launching of a vehicle.

특히 상기 제어부(310)는 영상 상의 가상의 상대방 플레이어가 테니스 인공지능에 의해 플레이를 할 수 있도록 하기 위한 테니스 인공지능이 구현되도록 하는 제어를 수행한다.In particular, the controller 310 performs a control to implement tennis artificial intelligence for allowing a virtual counterpart player on the image to play by tennis artificial intelligence.

테니스 인공지능의 구현을 위해서는 데이터베이스화 된 데이터가 필요한데, 이러한 데이터를 서버(500)의 데이터베이스(520)에 저장하고 있다가 제어부(310)가 필요한 데이터를 요청하면 서버연산부(510)가 데이터베이스(520)에서 필요한 데이터를 추출하여 전송하고, 제어부(310)는 그 전송받은 데이터를 이용하여 테니스 인공지능을 구현할 수 있다. In order to implement the tennis artificial intelligence, databaseized data is required. The data is stored in the database 520 of the server 500, and when the controller 310 requests the necessary data, the server operator 510 makes a database 520. ) Extracts and transmits necessary data, and the controller 310 may implement tennis artificial intelligence using the received data.

물론 서버(500) 없이 제어장치(300)의 데이터저장부(320)에 테니스 인공지능 구현을 위한 데이터를 저장할 수도 있고, 가상 테니스 시뮬레이션 시스템이 구동되는면 서버(500)가 인공지능 구현을 위한 데이터를 상기 제어장치(300)의 데이터자장부(320)로 전송하여 임시적으로 저장하도록 하면서 제어부(310)가 데이터저장부(320)에 저장된 데이터를 이용하여 테니스 인공지능을 구현할 수 있도록 하는 것도 가능하다.Of course, the data for the implementation of tennis artificial intelligence may be stored in the data storage unit 320 of the control device 300 without the server 500, and if the virtual tennis simulation system is driven, the server 500 may provide data for implementing the artificial intelligence. It is also possible to transmit to the data magnetic field unit 320 of the control device 300 to temporarily store the artificial intelligence by using the data stored in the data storage unit 320 while the controller 310. .

상기한 테니스 인공지능의 구현에 관한 좀 더 구체적인 내용은 후술하도록 한다.More specific details regarding the implementation of the tennis artificial intelligence will be described later.

한편, 상기 센싱장치(200)는 플레이어가 라켓으로 타격하는 것에 대한 이미지를 연속적으로 촬영하여 그 촬영된 이미지들을 분석함으로써 타격된 볼의 운동 정보는 물론, 그 타격된 볼이 스크린 상의 어느 부분에 도달하는지 정확하게 센싱하는 카메라 센싱 방식의 장치로서 구성할 수 있다.Meanwhile, the sensing device 200 continuously photographs an image of the player hitting the racket and analyzes the captured images, as well as the motion information of the hitting ball, and the hitting ball reaches a part of the screen. It can be configured as a device of the camera sensing method that senses correctly.

상기 센싱장치(300)는 카메라유닛(210), 센싱처리유닛(220) 및 카메라 제어부(230)를 포함하여 구성될 수 있는데, 상기 카메라유닛(210)은 미리 설정된 영역을 포함하는 일정 촬영 범위에 대한 이미지를 연속적으로 취득하며, 상기 센싱처리유닛(220)은 상기 카메라유닛(210)으로부터 이미지를 전달받아 미리 설정된 사항에 따른 이미지 분석을 수행하여 상기 가상 테니스 시뮬레이션에 따른 테니스 연습 또는 테니스 경기에 필요한 정보를 산출한다.The sensing device 300 may include a camera unit 210, a sensing processing unit 220, and a camera controller 230, and the camera unit 210 may be in a predetermined shooting range including a preset area. Image is continuously obtained, and the sensing processing unit 220 receives the image from the camera unit 210 and performs an image analysis according to a preset matter, which is required for tennis practice or tennis match according to the virtual tennis simulation. Calculate the information.

상기 센싱장치(200)의 카메라유닛(210)은 서로 다른 위치에서 동일한 촬영 범위를 각각 촬영하여 촬영된 이미지 상의 객체에 대한 3차원 위치 정보를 산출해 낼 수 있도록 제1 카메라(211) 및 제2 카메라(212)를 포함하여 스테레오 방식(Stereoscopic)으로 구성함으로써, 상기 센싱처리유닛(220)이 상기 카메라유닛(210)이 촬영한 이미지의 분석을 통해 볼에 대한 3차원 좌표 데이터를 얻을 수 있도록 함이 바람직하다.The camera unit 210 of the sensing device 200 photographs the same photographing range at different locations, respectively, to calculate three-dimensional position information of the object on the photographed image. By configuring the stereoscopic method including the camera 212, the sensing processing unit 220 to obtain the three-dimensional coordinate data for the ball through the analysis of the image taken by the camera unit 210 This is preferred.

도면상으로 도시되어 있지는 않지만, 본 발명에 따른 시스템에 구비되는 센싱장치(200)의 카메라유닛(210)은 그 화각의 중심을 기준으로 전후좌우로 각각 틸팅 가능하도록 구성될 수 있으며, 제1 카메라(211) 및 제2 카메라(212)는 각각 자동으로 줌인-줌아웃이 가능하도록 구성될 수 있다.Although not shown in the drawings, the camera unit 210 of the sensing device 200 provided in the system according to the present invention may be configured to be capable of tilting back, forth, left, and right, respectively, based on the center of the angle of view, and the first camera. The 211 and the second camera 212 may be configured to automatically zoom in-zoom out, respectively.

상기 카메라 제어부(230)는 상기 제1 카메라(211) 및 제2 카메라(212) 각각의 전후좌우 틸팅 및 줌인-줌아웃을 이미지의 처리 결과에 따라 또는 촬영된 이미지에서 플레이어가 검출되는 위치에 따라 미리 설정된 프로그램에 따라 제어하도록 구성될 수 있다.The camera controller 230 may tilt the front, rear, left, and right sides of the first camera 211 and the second camera 212 in advance according to the processing result of the image or the position where the player is detected in the captured image. It can be configured to control according to the set program.

상기 제1 카메라(211) 및 제2 카메라(212)가 각각 전후 방향 또는 좌우 방향으로의 1축 방향 틸팅을 하도록 구성하는 것도 가능하다.The first camera 211 and the second camera 212 may be configured to tilt in one direction in the front-rear direction or the left-right direction, respectively.

3차원 공간에서 상기 각 카메라의 위치 정보와 카메라의 화각을 참조하여, 3차원 공간에서 특정 영역별 카메라의 pan 과 zoom 값을 갖고 있는 데이터 테이블을 제작하여 미리 저장해 놓고, 이를 기반으로 플레이어의 위치 정보가 검출되었을 때 각각의 카메라가 해당 위치를 겨냥하도록 상기 카메라 제어부(230)가 제어하도록 하는 것이 가능하다.By referring to the location information of each camera and the angle of view of the camera in a three-dimensional space, a data table having pan and zoom values of the camera for each specific area in a three-dimensional space is produced and stored in advance. Is detected, it is possible for the camera controller 230 to control each camera to target the corresponding position.

따라서, 사용자가 코트바닥부에서 다이나믹하게 움직이면서 다양한 위치로 발사되는 볼을 타격하는 것을 모두 정확하게 포착하여 센싱 데이터 수집을 위한 이미지를 취득할 수 있다.Therefore, it is possible to accurately capture all the hits of the ball fired at various positions while the user dynamically moves on the bottom of the court to acquire an image for sensing data collection.

상기 센싱처리유닛(220)은 상기 카메라유닛(210)의 제1 카메라(211) 및 제2 카메라(212) 각각으로부터 촬영된 이미지를 전달받아 수집하면서 그 수집된 이미지 각각을 분석하여 볼을 찾아 각 볼에 대한 3차원 좌표 데이터를 추출하고 그 추출된 3차원 좌표 데이터를 이용하여 (플레이어의 라켓에 의해) 타격되어 운동하는 볼에 대한 볼의 운동 모델을 결정하며, 볼의 운동 모델이 결정되면 이를 이용하여 상기 가상 테니스 시뮬레이션을 통한 테니스 연습 및 테니스 경기에 필요한 각종 정보를 산출한다.The sensing processing unit 220 receives and collects images captured from each of the first camera 211 and the second camera 212 of the camera unit 210 and analyzes each of the collected images to find a ball. The 3D coordinate data of the ball is extracted and the extracted 3D coordinate data is used to determine the motion model of the ball with respect to the ball being hit and moved (by the racket of the player). Using the virtual tennis simulation to calculate the various information necessary for the tennis practice and tennis game.

여기서, 볼의 운동 모델은 타격되어 운동하는 볼의 3차원 공간 상에서의 궤적에 관한 운동 방정식으로 표현되는 것을 의미하며, 도 1에 도시된 바와 같이 본 발명에 따른 시스템에 의한 테니스 연습 또는 경기가 이루어지는 공간에 대해 x축, y축 및 z축의 3차원 좌표계로 정의하여 그 정의된 좌표계에 따라 상기 볼의 운동 모델이 결정될 수 있다. Here, the motion model of the ball means that it is represented by the equation of motion relating to the trajectory on the three-dimensional space of the ball to be hit and move, as shown in FIG. By defining the three-dimensional coordinate system of the x-axis, y-axis and z-axis with respect to space, the motion model of the ball can be determined according to the defined coordinate system.

즉, 상기 볼의 운동 모델은 x축 방향의 운동 방정식, y축 방향의 운동 방정식 및 z축 방향의 운동 방정식으로 정의될 수 있다. That is, the motion model of the ball may be defined as a motion equation in the x-axis direction, a motion equation in the y-axis direction, and a motion equation in the z-axis direction.

상기한 바와 같은 볼의 운동 모델 산출은 종래의 스크린 골프 시스템 등에서 센서가 골프클럽으로 타격된 볼의 운동을 센싱하여 센싱데이터를 산출하는 것과는 완전히 다른 것이다.The calculation of the motion model of the ball as described above is completely different from that in the conventional screen golf system or the like that the sensor senses the motion of the ball hit by the golf club to calculate the sensing data.

종래의 스크린 골프 시스템 등에서도 카메라 방식의 센싱장치가 널리 이용되고 있지만 상기 센싱장치는 볼이 타격되었을 때의 출발 속도, 출발 방향각 및 높이각 등 초기 운동 조건을 산출하여 가상의 공간, 즉 가상의 골프코스에서 상기 산출한 초기 운동 조건에 따라 볼이 출발하였을 때 물리엔진에 의해 시뮬레이션 되는 볼의 궤적을 산출하는 방식이었다.Although a camera-type sensing device is widely used in a conventional screen golf system, the sensing device calculates initial motion conditions such as starting speed, starting direction angle, and height angle when the ball is hit, and thus, virtual space, that is, virtual In the golf course, the ball trajectories simulated by the physics engine when the ball starts according to the calculated initial motion conditions were calculated.

그러나, 본 발명에 따른 가상 테니스 시뮬레이션 시스템의 센싱장치가 산출하는 볼의 운동 모델은 볼이 타격되었을 때의 초기 운동 조건을 산출하는 것이 아니라 실제 플레이어가 플레이하는 공간, 즉 실제 3차원 공간 상에서의 각 좌표축 방향의 운동 방정식에 기초하여 산출하는 볼의 운동 모델로서 실제 볼이 이동하는 모델을 구하는 것이다.However, the motion model of the ball calculated by the sensing device of the virtual tennis simulation system according to the present invention does not calculate the initial motion condition when the ball is hit, but the angle in the space where the actual player plays, that is, the actual three-dimensional space. It is to find a model in which a ball actually moves as a motion model of a ball calculated based on a motion equation in the coordinate axis direction.

이러한 볼의 운동 모델을 산출함으로써 단순히 볼의 초기 운동 조건을 센싱하여 산출하는 경우보다 더 다양하고 많은 정보의 제공이 가능하고, 특히 가상 테니스 시뮬레이션과 같이 현실과 가상의 세계가 자주 교차하고 더욱 긴밀하게 연결되어야 하는 경우에 있어서는 더욱 적합한 센싱 방식이다.By calculating the motion model of the ball, it is possible to provide more diverse and more information than simply calculating the initial motion condition of the ball, and in particular, the real world and the virtual world frequently cross each other more closely, such as virtual tennis simulation. It is a more suitable sensing method when it is necessary to be connected.

한편, 본 발명은 상기한 바와 같이 플레이어가 타격한 볼의 움직임을 볼 운동 모델로서 산출할 뿐만 아니라 상기 플레이어의 움직임도 센싱하여 플레이어의 위치를 지속적으로 산출함으로써 플레이어가 타격한 볼의 움직임과 상기 플레이어의 움직임 두 가지 모두에 기초하여 가상 테니스 플레이가 가능하도록 함으로써 플레이어가 다양한 상황과 플레이 스타일에 따른 역동적인 테니스 플레이를 즐길 수 있도록 한다.Meanwhile, the present invention not only calculates the movement of the ball hit by the player as a ball movement model as described above, but also calculates the position of the player by sensing the movement of the player to continuously calculate the position of the player. By enabling virtual tennis play based on both movements, the player can enjoy dynamic tennis play according to various situations and play styles.

제어장치는 플레이어의 실력레벨, 난이도, 플레이스타일 중 적어도 하나에 대한 정보와 영상으로 구현되는 가상의 상대방 플레이어의 인공지능에 따라 센싱장치에 의해 검출되는 플레이어의 위치 및 상기 센싱장치에 의해 산출되는 볼의 운동 모델에 대응하여 상기 가상의 상대방 플레이어가 타격하는 가상의 볼에 따라 상기 플레이어에게 제공될 볼의 방향과 속도 등을 결정하고 볼 머신이 그에 따라 볼을 제공하도록 하는 것이 가능하다.The control device is a ball calculated by the sensing device and the position of the player detected by the sensing device according to the artificial intelligence of the virtual counterpart player implemented with information and at least one of the player's skill level, difficulty, and play style. It is possible to determine the direction and speed of the ball to be provided to the player according to the virtual ball hit by the virtual opponent player in response to the motion model of and allow the ball machine to provide the ball accordingly.

예컨대, 플레이어의 실력레벨이 높은 경우 센싱장치에 의해 검출되는 플레이어의 위치와 멀리 떨어진 위치를 특정하여 해당 위치로 볼 머신이 볼을 제공하도록 함으로써 플레이어가 까다로운 리시브 상황에서 볼을 타격하도록 하는 가상 플레이를 구현할 수 있다.For example, if the player's skill level is high, a virtual play that allows the ball machine to hit the ball in a difficult receive situation by specifying a location far from the player's position detected by the sensing device to provide the ball to the location. Can be implemented.

한편, 본 발명은 상기한 바와 같이 플레이어가 타격한 볼의 움직임을 볼 운동 모델로서 산출하고, 상기 플레이어의 움직임도 센싱하여 플레이어의 위치를 지속적으로 산출할 뿐만 아니라, 더 나아가 플레이어가 들고 있는 라켓까지 검출함으로써 플레이어가 타격한 볼의 움직임, 상기 플레이어의 움직임 및 라켓 검출을 통한 플레이어의 플레이시의 자세 정보 모두에 기초하여 가상 테니스 플레이가 가능하도록 함으로써 플레이어가 더욱 다양한 상황과 플레이 스타일에 따른 역동적인 테니스 플레이를 즐길 수 있도록 한다.On the other hand, the present invention calculates the movement of the ball hit by the player as described above as a ball movement model, and also calculates the position of the player by sensing the movement of the player, as well as even the racket held by the player By detecting, the player can play the virtual tennis based on the ball movement hit by the player, the movement of the player, and posture information of the player's play through the racket detection. Let's enjoy playing.

제어장치는 플레이어의 실력레벨, 난이도, 플레이스타일 중 적어도 하나에 대한 정보와 영상으로 구현되는 가상의 상대방 플레이어의 인공지능에 따라 센싱장치에 의해 검출되는 플레이어의 위치, 상기 센싱장치에 의해 산출되는 볼의 운동 모델, 플레이어가 백핸드 자세로 스윙을 하는지 포핸드 자세로 스윙을 하는지 등에 대한 스윙 자세 정보에 대응하여 상기 가상의 상대방 플레이어가 타격하는 가상의 볼에 따라 상기 플레이어에게 제공될 볼의 방향과 속도 등을 결정하고 볼 머신이 그에 따라 볼을 제공하도록 하는 것이 가능하다.The control device is a player's position detected by the sensing device according to the artificial intelligence of the virtual counterpart player, which is realized as information and at least one of the player's skill level, difficulty, and play style, and the ball calculated by the sensing device. The direction and speed of the ball to be provided to the player according to the virtual ball hit by the virtual opponent player in response to the swing posture information on the motion model of the player, the player swinging in the backhand position or the forehand position, etc. It is possible to determine and to make the ball machine provide the ball accordingly.

예컨대, 플레이어의 실력레벨이 높은 경우 센싱장치에 의해 검출되는 플레이어의 위치와 멀리 떨어진 위치를 특정하여 해당 위치로 볼 머신이 볼을 제공하되 해당 플레이어가 오른손잡이인지 왼손잡이인지 미리 파악하여 리시브가 어려운 백핸드를 유도하도록 하는 위치로 볼을 제공하도록 함으로써 플레이어가 까다로운 리시브 상황에서 볼을 타격하도록 하는 가상 플레이를 구현할 수 있다.For example, if the player's skill level is high, the ball machine will provide the ball to the location by specifying the location far from the player's location detected by the sensing device, and determine in advance whether the player is right-handed or left-handed. By providing the ball in a position that will lead to the player, he can implement virtual play that forces the player to hit the ball in a difficult receive situation.

한편, 상기 볼 머신(100)은 스크린(20)의 후면에 설치되어 스크린(20) 상의 볼 발사홀(22)을 통해 볼을 발사하는 장치로서, 두 개 이상의 휠을 회전시키고 그 휠들 사이에 볼을 위치시켜 상기 휠들의 회전력에 의해 볼을 발사하는 방식, 볼을 마치 총알처럼 발사시키는 방식 등 다양한 방식에 의해 구현될 수 있다.On the other hand, the ball machine 100 is installed on the back of the screen 20 is a device for firing the ball through the ball firing hole 22 on the screen 20, the two or more wheels to rotate between the ball By positioning the ball by the rotational force of the wheels, it can be implemented by a variety of ways, such as the way to shoot the ball like a bullet.

상기 볼 머신(100)은 영상 상의 가상의 상대방 플레이어에 대해 테니스 인공지능에 따라 결정되는 타격조건 및 타격된 볼의 궤적 등에 따라 그 설정된 타격조건 상의 볼의 속도, 구질 등을 제어하여 볼 발사가 이루어지도록 할 수 있다.The ball machine 100 controls the speed, pitch, and the like of the ball under the set hit condition according to the hit condition determined by the tennis artificial intelligence and the trajectory of the hit ball to the virtual opponent player on the image. Can be lost.

또한, 상기한 볼 머신(100)은 볼을 발사하는 부분을 상하 방향 및 좌우 방향으로 각각 틸팅 할 수 있도록 구성하여, 상기한 타격조건에 맞게 볼을 발사하는 부분의 틸팅 구동을 제어하여, 스크린 상의 볼 발사홀을 통해 소정 각도 범위 내에서 다양한 방향으로 볼이 발사되도록 할 수 있다.In addition, the ball machine 100 is configured to tilt the ball firing part in the vertical direction and the left and right directions, respectively, to control the tilting drive of the ball firing part in accordance with the hitting conditions, on the screen Through the ball launch hole it is possible to allow the ball to be fired in various directions within a predetermined angle range.

상기한 바와 같은 구성 및 특징을 갖는 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템은 플레이어가 코트바닥부에서 움직이면서 볼 머신으로부터 제공되는 볼을 라켓으로 타격할 수 있으며, 이때 그 타격된 볼이 영상 상의 가상의 공간으로 넘어가서(예컨대, 실제 이동하는 볼이 스크린에 도달한 후 그 위치에서부터 영상 상에서 가상의 볼이 이동하는 것) 가상의 코트에서 가상의 상대방 플레이어가 상기 타격된 실제 볼에 대한 가상의 볼이 이동하는 것에 대해 리시브(타격)를 하고 그에 따라 리시브 된 가상의 볼이 이동하는 영상이 구현된다.Virtual tennis simulation system according to an embodiment of the present invention having the configuration and features as described above can hit the ball provided from the ball machine with a racket while the player moves on the court floor, the hit ball is an image The virtual ball is moved to the virtual space of the prize (e.g., the virtual ball moves on the image from the position after the actual moving ball reaches the screen) and the virtual opponent player's virtual ball on the virtual ball on the virtual court. The image of moving the received virtual ball is received (hit) and the received virtual ball is implemented accordingly.

이때 상기 가상의 상대방 플레이어가 어느 방향으로 어떻게 볼을 리시브하는지는 테니스 인공지능에 의해 결정될 수 있으며, 이는 인공지능을 구현하는 제어부가 여러 가지 정보를 이용하여 결정할 수 있다. 나아가 가상의 상대방 플레이어가 리시브한 가상의 볼의 궤적의 연장선상에서 볼 머신을 통해 실제 볼이 제공될 수 있도록 상기 제어부가 상기 볼 머신을 제어하도록 하는 것도 가능하다.In this case, how and in which direction the virtual opponent player receives the ball may be determined by tennis artificial intelligence, which may be determined by a controller that implements artificial intelligence using various information. Furthermore, the controller may control the ball machine so that the actual ball may be provided through the ball machine on an extension line of the trajectory of the virtual ball received by the virtual opponent player.

상기한 바와 같은 테니스 인공지능에 따른 가상의 상대방 플레이어의 플레이가 진행되기 위해서는 테니스 인공지능이 다양한 상황에서 다양한 볼 운동 조건으로 볼을 타격하는 영상을 구현할 수 있도록 데이터가 수집되어 저장되는 것이 필요하며, 도 5에서는 이와 같은 테니스 인공지능의 구현을 위한 방법의 일 예에 관하여 플로우차트로서 설명하고 있다.In order for the virtual opponent to play according to the tennis artificial intelligence as described above, data need to be collected and stored so that the tennis artificial intelligence can realize the image of hitting the ball under various ball movement conditions in various situations. In FIG. 5, an example of a method for implementing such tennis artificial intelligence is described as a flowchart.

즉, 도 5에 도시된 플로우차트는 테니스 인공지능이 의도하는 위치로 볼을 보낼 수 있도록 미리 시뮬레이션한 결과를 데이터베이스화 하여 저장하는 과정에 관한 것이다.That is, the flowchart shown in FIG. 5 relates to a process of storing a result of pre-simulating the database so that the ball can be sent to the intended location of the tennis artificial intelligence.

먼저, 코트바닥부에 대응하는 영상 및 가상의 코트에 대한 영상을 구현한다(S100). 즉, 도 6에 도시된 바와 같이 코트바닥부에 대한 영상(31) 및 그 반대편 코트로서 영상 상의 가상의 상대방 플레이어가 플레이하는 가상의 코트(VW)에 대한 영상이 구현될 수 있다.First, an image corresponding to the court bottom and an image of a virtual court are implemented (S100). That is, as shown in FIG. 6, an image 31 of the court floor and an image of the virtual court VW played by the virtual counterpart player on the image as the opposite court may be implemented.

그리고, 코트바닥부(31)에 대해 다수의 그리드면을 갖는 코트그리드(Gr)를 설정하고(S110), 가상의 코트(VW)에 대해 다수의 입체그리드를 갖는 가상코트그리드(VGr)를 설정한다(S120).Then, a coat grid Gr having a plurality of grid surfaces is set for the coat bottom portion 31 (S110), and a virtual coat grid VGr having a plurality of three-dimensional grids is set for the virtual coat VW. (S120).

코트그리드(Gr)의 설정 및 가상코트그리드(VGr)의 설정에 대해서는 도 6 및 도 7에서 도시하고 있다.The setting of the coat grid Gr and the setting of the virtual coat grid VGr are illustrated in FIGS. 6 and 7.

도 6 및 도 7에 도시된 바와 같이 코트바닥부(31)에는 다수의 그리드면을 갖는 코트그리드(Gr)가 설정되어 있고 가상의 코트(VW)에는 다수의 입체그리드를 갖는 가상코트그리드(VGr)가 설정되어 있다.As shown in FIGS. 6 and 7, a coat grid Gr having a plurality of grid surfaces is set in the coat bottom 31, and a virtual coat grid VGr having a plurality of three-dimensional grids in the virtual coat VW. ) Is set.

테니스 인공지능은 각각의 코트그리드 및 각각의 가상코트그리드의 각 그리드면 단위로 가상 볼출발 위치 및 목표 위치를 인식할 수도 있고, 각각의 그리드면 내에서 특정 위치를 각각 가상 볼출발 위치 및 목표 위치로 인식할 수도 있다.The tennis artificial intelligence may recognize the virtual ball starting position and the target position by each grid plane of each court grid and each virtual court grid, and the specific ball starting position and the target position within each grid plane, respectively. It can also be recognized as.

여기서 상기 가상 볼출발 위치는 영상 상의 가상의 상대방 플레이어가 플레이하는 가상의 코트 상에서 상기 가상의 상대방 플레이어가 가상의 볼을 서브 또는 리시브하는 위치를 말하며 (도 6에 도시된 Ap), 상기 목표 위치는 코트바닥부의 영상(31) 상에서 테니스 인공지능이 볼을 보낼 것을 의도하는 위치를 말한다.Here, the virtual ball start position refers to a position at which the virtual opponent player serves or receives a virtual ball on a virtual court played by the virtual opponent player on the image (Ap shown in FIG. 6), and the target position is On the image 31 of the court floor portion, the tennis artificial intelligence refers to the position where the ball is intended to be sent.

가상 볼출발 위치는 가상코트그리드의 일 입체그리드일 수도 있고 그 입체그리드면 내부의 특정 위치로서 설정될 수도 있으며, 목표 위치는 코트그리드의 일 그리드면일 수도 있고 그 그리드면 내부의 특정 위치로서 설정될 수도 있다.The virtual ball starting position may be one solid grid of the virtual coat grid or may be set as a specific position inside the solid grid surface, and the target position may be one grid surface of the coat grid or set as a specific position inside the grid surface. It may be.

코트그리드(Gr) 및 가상코트그리드(VGr)의 그리드면, 입체그리드의 크기와 개수는 임의로 설정할 수 있으며, 그리드면, 입체그리드의 크기를 작게 설정하여 개수가 많아질수록 테니스 인공지능에 의한 가상 상대방 플레이어의 타격 방향이 정교해질 수 있다.The size and number of grid and three-dimensional grids of the court grid and the virtual court grid can be arbitrarily set.The smaller the size of the grid surface and three-dimensional grid, the larger the number, the more virtual by tennis artificial intelligence. The direction of the opponent's player can be refined.

다시 도 5로 돌아와서, 테니스 인공지능은 상기한 바와 같이 바와 같이 코트그리드(Gr) 및 가상코트그리드(VGr)의 설정이 된 후, 가상코트그리드(VGr)의 임의의 위치(임의의 입체그리드 또는 해당 입체그리드 내의 임의의 위치) 또는 미리 설정된 위치를 상기한 가상 볼출발 위치로서 결정한다(S130).Returning to FIG. 5 again, the tennis artificial intelligence is set as the court grid and the virtual court grid as described above, and then any position of the virtual court grid VGr (any three-dimensional grid or Any position in the solid grid) or a predetermined position is determined as the virtual ball starting position (S130).

그리고, 테니스 인공지능은 코트그리드(Gr)의 임의의 위치(임의의 그리드면 또는 해당 그리드면 내의 임의의 위치) 또는 미리 설정된 위치를 상기한 목표 위치로서 결정한다(S140).The tennis artificial intelligence determines the arbitrary position (any grid surface or any position within the grid surface) or the preset position of the court grid Gr as the target position (S140).

상기한 바와 같이 가상 볼출발 위치와 목표 위치가 각각 결정된 후, 테니스 인공지능은 상기 가상 볼출발 위치로부터 가상의 볼을 시뮬레이션 할 임의의 볼 운동 조건을 결정한다(S150).As described above, after the virtual ball starting position and the target position are respectively determined, the tennis artificial intelligence determines an arbitrary ball motion condition for simulating the virtual ball from the virtual ball starting position (S150).

그리고, 가상 볼출발 위치로부터 상기 결정된 볼 운동 조건으로 가상의 볼 궤적에 대한 시뮬레이션을 진행한다(S160).The virtual ball trajectory is then simulated based on the determined ball motion condition from the virtual ball starting position (S160).

이때, 상기 시뮬레이션의 결과 가상의 볼이 목표 위치의 소정 범위 내에 도달하지 않았다면(S170), 상기 진행된 시뮬레이션에 이용된 볼 운동 조건을 수정하여(S172) 다시 상기 가상 볼출발 위치로부터 상기 수정된 볼 운동 조건으로 가상의 볼 궤적에 대한 시뮬레이션 진행하며 시뮬레이션 결과 가상의 볼이 목표 위치의 소정 범위 내에 도달하였는지 판단하여 도달하지 않았다면 다시 볼 운동 조건을 수정하여 시뮬레이션을 진행하는 것을 반복적으로 실시한다.At this time, if the virtual ball does not reach the predetermined range of the target position as a result of the simulation (S170), by modifying the ball motion conditions used for the advanced simulation (S172) again from the virtual ball starting position the modified ball motion As a condition, the simulation of the virtual ball trajectory is performed. If the simulation result does not determine whether the virtual ball reaches the predetermined range of the target position, the simulation is performed by modifying the ball motion condition again.

이와 같이 반복적이 볼 운동 조건이 수정 및 시뮬레이션의 진행 끝에 시뮬레이션된 가상의 볼이 목표 위치의 소정 범위 내에 도달하면, 그 도달에 이르게 한 볼 운동 조건 정보를 데이터베이스에 저장한다. 이때 상기 가상 볼출발 위치 정보 및 목표 위치의 정보 역시 데이터베이스에 저장한다(S174).In this way, when the simulated virtual ball reaches the predetermined range of the target position after the repetitive ball motion condition is corrected and the simulation progresses, the ball motion condition information which leads to the arrival is stored in the database. At this time, the virtual ball start position information and the target position information are also stored in the database (S174).

상기한 바와 같은 볼 운동 조건의 결정 과정에 대해 도 6 내지 도 8을 참조하여 좀 더 자세히 설명한다.The determination process of the ball motion condition as described above will be described in more detail with reference to FIGS. 6 to 8.

가상의 볼이 가상의 코트(VW)에 바운드 된 위치에 대응하는 입체그리드와 바운드 된 위치를 기반으로 실질적으로 가상의 상대방 플레이어가 볼을 리시브할 위치에 대응하는 입체그리드를 정하고(따라서 도6에 도시된 바와 같이 가상의 코트(VW) 상에 설정되는 가상코트그리드(VGr)는 평면 상의 그리드가 아니라 입체 형상의 그리드임) 이를 바탕으로 효과적인 목표 위치(Tp)에 대응하는 상대방 코트(즉, 플레이어 측의 코트바닥부(31)) 상의 코트그리드(Gr)로 공을 보낼 수 있도록 하는 방향을 구해낸다.Based on the three-dimensional grid corresponding to the position where the virtual ball is bound to the virtual court VW and the bound position, the three-dimensional grid corresponding to the position where the virtual opponent player will receive the ball is determined (thus shown in Fig. 6). As shown, the virtual coat grid VGr set on the virtual court VW is not a grid on a plane but a three-dimensional grid. Based on this, the opponent court corresponding to the effective target position Tp (that is, the player) The direction which allows a ball to be sent to the coat grid Gr on the coat bottom part 31 of the side is calculated | required.

이때, 테니스 인공지능은 가상 볼출발 위치(Ap)로부터 운동하는 가상의 볼의 궤적이 통과하는 영역으로서 볼패싱 영역(PR)을 미리 설정하며, 목표 위치 또는 목표 위치의 소정 범위 내에 도달하도록 결정된 볼 운동 조건에 따라 시뮬레이션된 가상의 볼의 궤적이 상기 볼패싱 영역(PR)을 통과하도록 상기 볼 운동 조건을 수정하여 시뮬레이션하는 것을 반복할 수 있다.At this time, the tennis artificial intelligence sets the ball passing area PR as an area through which the trajectory of the virtual ball moving from the virtual ball starting position Ap passes, and is determined to reach a target position or a predetermined range of the target position. The simulation of the ball motion condition may be repeated by modifying the ball motion condition such that the trajectory of the simulated virtual ball passes through the ball passing area PR according to the motion condition.

상기한 바와 같이 볼패싱 영역(PR)을 설정해 놓음으로서 볼이 지나치게 높게 시뮬레이션 되는 경우 등 비정상적인 경우를 방지할 수 있다.By setting the ball passing area PR as described above, it is possible to prevent abnormal cases such as when the ball is simulated too high.

상기 볼패싱 영역(PR)을 좁게 설정할수록 인공지능의 볼은 네트에 가깝게 넘어오기 때문에 받아내기 까다로운 볼이 될 수 있다.The narrower the ball passing area PR is set, the more difficult the ball can be picked up since the ball of artificial intelligence moves closer to the net.

상기한 볼 운동 조건은 가상의 볼의 궤적 상의 방향벡터, 속도벡터 등으로 정의할 수 있다.The ball motion condition may be defined as a direction vector, a velocity vector, or the like on the trajectory of the virtual ball.

볼이 목표 그리드(Tp가 존재하는 그리드)에 도달하지 못하고 지나칠 경우는 볼의 세기(벡터의 크기, 즉 속도)를 감소시키고 방향을 아래로(벡터의 3차원 공간상의 좌표의 한 축성분) 낮춘다. 볼이 목표 그리드에 못 미칠 경우는 볼의 세기(벡터의 크기)를 높이고 방향을 위로 올린다.If the ball does not reach the target grid (the grid where Tp is present), it will reduce the strength of the ball (the size of the vector, or velocity) and reduce its direction down (one component of the coordinates of the vector's three-dimensional space). . If the ball falls short of the target grid, increase the ball's strength (the size of the vector) and move it up.

매 시도마다 상기한 바와 같이 볼이 목표 위치 즉, 목표 그리드에 가까워지도록 조금씩 방향과 세기를 조정한다. 도 11에 나타낸 임의 볼 궤적(Tr)과 같이 초기의 방향은 목표 지점(Tp)의 그리드를 크게 벗어나지만 시뮬레이션이 진행될수록 목표 위치에 볼이 도달할 확률이 높아진다. Each attempt is made to adjust the direction and intensity little by little so that the ball approaches the target position, i. As in the arbitrary ball trajectory Tr shown in FIG. 11, the initial direction greatly deviates from the grid of the target point Tp, but as the simulation proceeds, the probability of the ball reaching the target position increases.

도 8의 (a)에서는 n 번째 시도에 따른 궤적(Trn)을 나타내고 있는데, 여기서 시뮬레이션을 계속 진행할수록 점점 더 목표 위치(Tp)인 그리드면에 볼이 도달할 수 있고, 도 8의 (b)는 이렇게 해서 볼이 목표 위치(Tp)인 그리드면에 도달한 경우를 나타내고 있다(이때의 궤적을 Tb로 나타내었다). 목표 위치(Tp)에 볼이 도달할 수 있는 방향을 산출하면 해당 방향과 이때의 운동 조건(속도, 방향, 높이각 등)을 저장해둔다. 이들 운동 조건 정보는 방향벡터, 속도벡터 등의 형태로 저장될 수도 있고 상기한 바와 같은 볼의 속도, 방향, 높이각 등의 파라미터로써 저장될 수도 있다.FIG. 8 (a) shows the trajectory Trn according to the nth trial, wherein as the simulation is continued, the ball may reach the grid plane which is the target position Tp, and FIG. 8 (b). In this way, the ball reaches the grid plane at the target position Tp (the trajectory at this time is represented by Tb). When the direction at which the ball can reach the target position Tp is calculated, the direction and the movement conditions (speed, direction, height angle, etc.) at this time are stored. The motion condition information may be stored in the form of a direction vector, a velocity vector, or the like, or may be stored as a parameter such as the speed, direction, height angle of the ball as described above.

목표 그리드에 도달하는 방향 및 운동 조건을 얻어냈을 경우에는 실제 테니스 경기에서 상대에게 위협적인 스윙과 유사해지도록 조금씩 볼의 속력이 높아지고 방향이 낮아지도록 조금씩 조절하면서 시뮬레이션을 진행한다. 이때 볼패싱 영역(PR)의 위로 볼이 지나치면 방향을 아래로 수정하고 볼패싱 영역(PR) 아래로 볼이 지나치면 방향을 위로 올려 다음 시뮬레이션을 진행한다.When the direction and motion conditions to reach the target grid are obtained, the simulation is performed by adjusting the speed of the ball little by little so as to resemble a swing that threatens the opponent in a real tennis game. At this time, if the ball passes over the ball passing area PR, the direction is corrected downward. If the ball passes under the ball passing area PR, the direction is raised upward and the next simulation is performed.

목표 위치(Tp)에 도달할 수 있는 방향벡터를 미리 설정된 개수 이상 충분히 찾아내면 방향 벡터들을 평균내서 파일에 저장한다. 이렇게 저장된 방향은 가상 볼출발 위치(AP)에서 목표 위치(Tp)에 인공지능이 가상의 볼을 발사하는 방향이 된다.If a sufficient number of direction vectors that can reach the target position Tp is found, the direction vectors are averaged and stored in a file. The stored direction is a direction in which the AI launches the virtual ball from the virtual ball starting position AP to the target position Tp.

이와 같은 방식으로 가상코트그리드의 모든 입체그리드와 코트그리드의 모든 그리드면에 대해 상기한 가상 볼출발 위치의 결정 및 목표 위치의 결정을 하고 시뮬레이션을 반복 진행하면서 볼 운동 조건을 찾아내는 과정을 반복 수행하면서 도출되는 데이터는 데이터베이스에 저장한다.In this manner, the virtual ball starting position and the target position are determined for all three-dimensional grids of the virtual coat grid and all grid surfaces of the coat grid, and the simulation is repeated to find the ball motion conditions while repeating the simulation. The derived data is stored in a database.

또한, 인공지능이 목표 위치로로 볼을 발사할 때 랜덤 방향의 추가가 가능하도록 설정함으로써 좀 더 다양한 상황을 발생시킬 수 있다. 그리고 필요에 따라 그리드면 또는 입체그리드의 크기를 조정해 인공지능의 스윙을 정밀하게 조작해 플레이어가 느끼는 난이도를 조정할 수도 있다.In addition, by setting the artificial intelligence to enable the addition of a random direction when firing the ball to the target position, more various situations can be generated. If necessary, you can adjust the size of the grid or the three-dimensional grid to precisely manipulate the swing of artificial intelligence to adjust the difficulty of the player.

한편, 상기한 바와 같은 방식으로 시뮬레이션을 수없이 반복하면서 적절한 데이터를 찾아서 학습하는 테니스 인공지능이 가상 테니스 시뮬레이션 시스템에 적용되어 사용되는 것의 일 예에 관하여 도 9의 플로우차트를 통해 설명하도록 한다.Meanwhile, a flowchart of FIG. 9 will be described with reference to an example in which tennis artificial intelligence that finds and learns appropriate data while repeating simulations in the same manner as described above is applied to a virtual tennis simulation system.

본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템을 통한 플레이어의 가상 테니스 플레이가 진행되면서(S200), 센싱장치는 상기 플레이어의 타격에 따른 볼 운동에 대한 센싱데이터를 산출한다(S210).While the virtual tennis play of the player through the virtual tennis simulation system according to an embodiment of the present invention (S200), the sensing device calculates the sensing data for the ball movement according to the hit of the player (S210).

앞서 설명한 바와 같이 센싱장치는 상기 센싱데이터로서 볼 운동 모델을 산출하기도 하지만 플레이어의 위치 정보 및 플레이어가 들고 있는 라켓의 방향 및 자세에 대한 정보 등도 산출할 수 있다.As described above, the sensing device may calculate a ball movement model as the sensing data, but may also calculate position information of the player and information about the direction and posture of the racket held by the player.

플레이어가 타격한 실제 볼이 스크린에 도달한 후부터 스크린 상의 영상에서는 가상의 코트로 이동하는 가상의 볼(상기 실제 볼의 연장선상에서 이동하도록 함)의 궤적에 대한 시뮬레이션 영상이 구현된다(S220).After the actual ball hit by the player reaches the screen, a simulation image of the trajectory of the virtual ball (to move on the extension line of the actual ball) moving to the virtual court is implemented in the image on the screen (S220).

영상 상에서 가상의 상대방 플레이어가 가상의 코트에서 가상의 볼을 리시브하는 영상이 구현되는데, 이때 가상 볼출발 위치가 결정된다(S230).An image in which a virtual opponent player receives a virtual ball on a virtual court is implemented on the image, at which time the virtual ball starting position is determined (S230).

그리고 테니스 인공지능에 의해 가상의 상대방 플레이어가 리시브한 타구가 도달하는 코트바닥부 상의 목표 위치가 결정된다(S240).Then, the tennis artificial intelligence determines the target position on the court floor where the batting received by the virtual opponent player reaches (S240).

테니스 인공지능은 플레이어가 타격한 볼에 대한 볼 운동 모델, 플레이어의 위치, 플레이어의 스윙이 포핸드인지 백핸드인지 여부, 그리고 미리 저장되어 있는 플레이어의 정보(예컨대, 오른손잡이인지 왼손잡이인지 여부와, 플레이어의 실력레벨, 난이도, 플레이스타일 등)를 이용하여 상기한 목표 위치를 결정할 수 있다.Tennis AI is based on the ball movement model of the ball hit by the player, the player's position, whether the player's swing is forehand or backhand, and the player's pre-stored information (e.g. right handed or left handed) Skill level, difficulty, play style, etc.) to determine the target position.

플레이어의 실력이 높을 경우 까다로운 위치를 목표 위치로 결정할 수 있고 플레이어의 실력이 낮을 경우 쉬운 위치를 목표 위치로 결정할 수 있다.If the player's ability is high, the tricky position can be determined as the target position. If the player's ability is low, the easy position can be determined as the target position.

한편, 가상 볼출발 위치로부터 가상의 볼이 코트바닥부 상의 목표 위치에 도달하도록 하는 볼 운동 조건에 관한 정보를 결정한다(S250).On the other hand, from the virtual ball starting position, the information regarding the ball motion condition for the virtual ball to reach the target position on the court bottom portion is determined (S250).

상기 볼 운동 조건에 관한 정보는 서버의 데이터베이스 또는 제어장치의 데이터저장부에 저장된 해당 가상 볼출발 위치에서 결정된 목표 위치로의 방향 벡터 등에 대한 데이터로서 인공지능은 데이터베이스 또는 데이터저장부로부터 추출한 데이터를 그대로 이용하여 가상의 볼이 리시브되도록 할 수도 있지만, 앞서 설명한 플레이어의 정보와 볼 운동 모델, 플레이어의 위치 정보 등을 토대로 추출된 방향벡터를 수정하여 시뮬레이션 할 수도 있다.The information regarding the ball motion condition is data about a direction vector to a target position determined from a corresponding virtual ball starting position stored in a data storage unit of a database or a control device of the server, and the artificial intelligence directly extracts data extracted from the database or data storage unit. The virtual ball may be received by using the same method. However, the extracted direction vector may be modified based on the player information, the ball motion model, and the player location information.

상기한 바와 같이 볼 운동 조건에 관한 정보가 결정되면, 영상 상의 가상의 상대방 플레이어가 볼을 리시브(타격)하고 이에 따라 상기 결정된 볼 운동 조건으로 가상의 볼 궤적에 대한 시뮬레이션이 진행된다(S260).When the information on the ball motion condition is determined as described above, the virtual opponent player on the image receives (hits) the ball, and accordingly, simulation of the virtual ball trajectory is performed under the determined ball motion condition (S260).

이때, 상기한 바와 같은 '목표 위치'는 실제 코트바닥부를 대상으로 한 것이라기보다는 실제 코트바닥부를 동일하게 영상으로 구현하였을 때의 영상 상의 코트바닥부를 대상으로 한 것이라 할 수 있다. 즉, 가상의 상대방 플레이어가 목표 위치를 향하여 가상의 볼을 리시브하여 출발하면서 시뮬레이션이 진행되더라도 그 가상의 볼이 실제 코트바닥부 상에 도달할 수는 없다.In this case, the 'target position' as described above may be regarded as a target of the coat bottom on the image when the actual coat bottom is implemented as an image rather than an actual coat bottom. That is, even if the simulation proceeds while the virtual opponent player starts by receiving the virtual ball toward the target position, the virtual ball cannot reach the actual court floor.

본 발명의 일 실시예에 다른 가상 테니스 시뮬레이션 시스템은 상기한 바와 같은 영상 상의 가상의 볼 궤적의 연장선상에서 볼 머신이 볼을 제공할 수 있도록 하되, 볼 머신의 볼 제공 방향 및 볼 제공 속도 등을 상기 가상의 볼 궤적의 시뮬레이션되는 것과 대응하도록 결정하여(S310) 그에 따라 볼 머신이 볼을 제공하도록 함으로써(S320) 가상의 볼의 궤적에 이어서 실제 볼이 상기 가상의 볼의 궤적의 남은 구간을 마무리하는 것과 같은 효과를 얻음으로서 플레이어로서는 가상의 테니스 플레이를 하면서도 마치 실제 테니스 플레이를 하는 것과 같은 리얼리티를 느낄 수 있다.According to another embodiment of the present invention, the virtual tennis simulation system enables the ball machine to provide the ball on an extension line of the virtual ball trajectory on the image as described above, wherein the ball providing direction and the ball providing speed of the ball machine are described. It is determined to correspond with the simulation of the virtual ball trajectory (S310) and accordingly the ball machine provides the ball (S320) so that the actual ball finishes the remaining section of the trajectory of the virtual ball following the trajectory of the virtual ball. By achieving the same effect, the player can feel the reality of playing tennis while playing virtual tennis.

이에 대해 도 10에서 나타내고 있는데, 도 10은 영상 컨텐츠로 제공되는 가상의 영역을 마치 물리적 영역인 것처럼 나타내었다.This is illustrated in FIG. 10, which shows the virtual area provided as the image content as if it is a physical area.

즉, 플레이어(P)가 위치하는 코트바닥부(30)의 전방에 설치된 스크린(20) 뒷쪽에 상기 스크린(20) 상에서 구현되는 영상 컨텐츠와 동일한 가상의 영역(VW)이 존재한다고 가정하고 그 부분을 나타낸 것이다.That is, it is assumed that the same virtual area VW as the image content implemented on the screen 20 exists behind the screen 20 installed in front of the court bottom 30 where the player P is located. It is shown.

도 10에 도시된 바와 같이, 가상의 영역(VW)의 가상의 코트(VC)에서 가상의 플레이어(VP)가 볼을 타격하면 제어장치의 제어부는 그 궤적(Tb)을 계산하고 그 계산된 궤적(Tb)과 운동 조건에 따라 궤적(Tb)이 스크린(20)이 볼 발사부(22)에 연결되고 볼 발사부(22)부터는 실제 볼(1)이 궤적(Tb)과 운동 조건에 대응하여(동일한 궤적과 운동 조건으로 발사될 수도 있고 적절한 가중치를 적용하여 실제 공간을 고려하여 조금 더 약하게 발사되도록 할 수도 있다) 발사된다.As shown in FIG. 10, when the virtual player VP hits the ball in the virtual court VC of the virtual area VW, the controller of the controller calculates the trajectory Tb and calculates the trajectory Tb. According to the Tb and the movement conditions, the trajectory Tb is connected to the screen 20 with the ball launching unit 22, and the ball 1 from the ball launching unit 22 corresponds to the trajectory Tb and the moving condition. (It can be fired with the same trajectory and motion conditions, or it can be fired a bit weaker to take into account the real space by applying appropriate weights.)

제어장치는 플레이어(P)의 실력레벨, 난이도, 플레이스타일 등에 대한 정보를 미리 저장하며, 가상 테니스 시뮬레이션 영상 상의 가상의 상대방 플레이어(VP)를 인공지능에 의해 제어하는 것이다.The controller stores information about the skill level, difficulty level, and play style of the player P in advance, and controls the virtual opponent player VP on the virtual tennis simulation image by artificial intelligence.

제어장치는 플레이어(P)의 실력레벨, 난이도, 플레이스타일 등에 대한 정보와 가상의 상대방 플레이어(VP)의 인공지능에 따라, 센싱장치에 의해 검출되는 플레이어의 위치 (및 라켓 검출에 따른 플레이어의 스윙 자세)에 대응하여 상기 가상의 상대방 플레이어(VP)가 타격하는 가상의 볼에 따라 상기 플레이어(P)에게 제공될 볼(실제 볼로서 볼 머신이 발사할 볼)의 방향, 속도 등의 볼 발사 파라미터를 결정하고, 그 결정되는 볼(실제 볼)의 방향에 따라 가상의 상대방 플레이어(VP)가 타격한 가상의 볼의 궤적에 대한 시뮬레이션 영상을 처리하며, 볼 머신(100)의 볼 발사 방향을 상기 결정된 볼의 방향에 대응하도록 설정하고, 도 10에 도시된 바와 같이 가상의 상대방 플레이어(VP)가 타격한 가상의 볼의 궤적에 대한 연장선상에서 상기 볼 머신(100)이 볼(1)을 상기 결정된 볼의 방향으로 제공하도록 제어하는 방식으로 가상 테니스 플레이가 진행될 수 있다.The controller controls the player's position (and swing of the player according to the racket detection) detected by the sensing device according to the player P's ability level, difficulty level, play style, and the like, and the artificial intelligence of the virtual opponent player VP. Ball firing parameters such as a direction and a speed of a ball to be provided to the player P (the ball to be fired by the ball machine as a real ball) according to the virtual ball hit by the virtual opponent player VP in correspondence with a posture). Determine the image processing unit, process a simulation image of the trajectory of the virtual ball hit by the virtual opponent player VP according to the determined direction of the ball (actual ball), and recognize the ball firing direction of the ball machine 100. Set to correspond to the determined direction of the ball, as shown in FIG. 10, the ball machine 100 raises the ball 1 on an extension line to the trajectory of the virtual ball hit by the virtual opponent player VP. In such a manner as to control so as to provide a direction of view determined can be carried out, the virtual play tennis.

한편, 다시 도 9로 돌아와서, 상기한 S260 단계에서 볼 운동 조건으로 가상의 볼 궤적에 대한 시뮬레이션이 진행될 때, 플레이어의 입장에서는 상기 시뮬레이션에 이어서 볼 머신이 볼을 발사하는 것을 다시 리시브함으로써 랠리를 진행하는 것이지만, 테니스 인공지능의 입장에서는 상기한 시뮬레이션되 가상 볼의 궤적이 계속 진행된다면 코트바닥부 상의 목표 위치의 소정 범위 내에 도달하는지 확인을 한다(S270).Meanwhile, returning to FIG. 9 again, when the simulation of the virtual ball trajectory is performed under the ball motion condition in step S260, the player's position proceeds to the rally by receiving the ball machine again firing the ball following the simulation. However, from the point of view of tennis artificial intelligence, if the trajectory of the simulated virtual ball continues as described above, it is checked whether it reaches a predetermined range of the target position on the court floor (S270).

만약 가상 볼의 궤적이 계속 진행하여 목표 위치의 소정 범위 내에 도달한 것으로 판단하면(S280) 데이터의 수정은 없고, 만약 목표 위치의 소정 범위 내에 도달하지 않았다면 데이터베이스 또는 데이터저장부에 저장된 해당 볼출발 위치에서의 볼 운동 조건에 대한 정보를 변경하여 저장한다(S290). 예컨대 가상의 볼 궤적이 목표 위치를 지나칠 경우에는 방향벡터의 방향을 좀 더 낮추도록 변경하거나 속도를 좀 더 낮추도록 변경하여 저장할 수 있다.If it is determined that the trajectory of the virtual ball continues to reach a predetermined range of the target position (S280), there is no correction of the data, and if the target of the virtual ball does not reach the predetermined range of the target position, the corresponding ball starting position stored in the database or data storage unit. Change and store the information on the ball movement conditions in (S290). For example, when the virtual ball trajectory passes the target position, the direction of the direction vector may be changed to be lowered further or the speed may be changed to lower the speed.

종래의 스크린 테니스 시스템은 플레이어가 스크린을 향하여 볼을 타격하는 것과 무관하여 일정한 볼이 볼공급장치로부터 플레이어 쪽으로 공급되었었기 때문에 플레이어 입장에서는 테니스 플레이를 통한 랠리를 하는 것이 아니라 단지 단조로운 연습을 하는 것일 뿐이었다.In conventional screen tennis systems, since a certain ball was supplied from the ball supply to the player regardless of the player hitting the ball toward the screen, the player was merely practicing monotonous exercise rather than rallying through tennis play. .

그러나, 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템은 상기 플레이어와 상기 가상의 상대방 플레이어 사이의 플레이에 따라 상기 가상의 상대방 플레이어의 플레이를 학습하는 테니스 인공지능을 구비하고 이를 이용하여 플레이어가 쉽게 예측하지 못하는 볼 방향 및 구질로 볼을 제공하고 (물론 난이도에 따라서는 어느 정도 예측할 수 있는 볼 방향 및 구질일 수도 있다), 플레이어의 플레이에 대응하여 영상 상의 가상의 상대방 플레이어도 학습형으로 플레이를 하기 때문에 더욱 역동적이고 실제 테니스 플레이의 랠리를 하는 것과 같은 랠리를 구현할 수 있다.However, the virtual tennis simulation system according to an embodiment of the present invention has a tennis artificial intelligence that learns the play of the virtual counterpart player according to the play between the player and the virtual counterpart player, and the player easily uses the same. It provides the ball with an unpredictable ball direction and pitch (which may be a predictable ball direction and pitch depending on the difficulty of course), and in response to the player's play, the virtual opponent on the video also learns to play the game. This allows for more dynamic and real rally like tennis rally.

즉, 플레이어가 타격한 볼(실제 볼)에 대한 센싱장치의 센싱 데이터에 기초하여 가상의 볼이 가상의 상대방 플레이어 쪽으로 이동하는 영상을 구현하고, 테니스 인공지능에 의해 가상의 상대방 플레이어가 가상의 볼을 리시브하는 위치인 가상 볼출발 위치 및 그 가상 볼출발 위치에서 출발하는 가상의 볼의 운동 조건에 관한 정보를 결정하며, 상기 결정된 가상의 볼의 운동 조건에 따라 볼 머신이 플레이어에게 제공할 볼의 방향 및 속도를 설정하고, 가상의 상대방 플레이어가 타격한 가상의 볼의 궤적에 대한 연장선상에서 상기 볼 머신이 볼을 상기 설정된 볼의 방향 및 속도로 제공하도록 하여 플레이어로 하여금 볼 머신에서 발사된 볼을 타격하도록 하는 방식으로 현실과 가상현실을 넘나들며 플레이어와 영상 상의 가상의 상대방 플레이어가 테니스 랠리를 구현할 수 있도록 할 수 있다.That is, based on the sensing data of the sensing device with respect to the ball (actual ball) hit by the player, the virtual ball moves to the virtual opponent, and the virtual opponent plays the virtual ball by the virtual player. Determine information about a virtual ball starting position, which is a position to receive a ball, and a moving condition of a virtual ball starting from the virtual ball starting position, wherein the ball machine provides the player with a ball according to the determined moving condition of the virtual ball. Setting the direction and speed, and causing the ball machine to provide the ball in the direction and speed of the set ball on an extension line of the trajectory of the virtual ball hit by the virtual opponent player to allow the player to It's a way of hitting you, going between reality and virtual reality, You can make it possible to implement a rally.

이와 같은 방식으로 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템의 테니스 인공지능은 플레이어가 플레이를 거듭할수록 기존에 저장하고 있는 데이터들을 수정하는 등 학습을 끊임없이 진행함으로써 더욱 수준 높은 인공지능의 구현이 가능할 수 있다는 특장점이 있다.In this manner, the tennis artificial intelligence of the virtual tennis simulation system according to an embodiment of the present invention implements a higher level of artificial intelligence by continuously learning as the player repeatedly plays data such as modifying existing stored data. The advantage is that it can be possible.

100: 볼 머신, 200: 센싱장치
210: 카메라 유닛, 220: 센싱처리유닛
300: 제어장치, 310: 제어부
320: 데이터저장부, 330: 영상처리부
500: 서버, 520: 데이터베이스
100: ball machine, 200: sensing device
210: camera unit, 220: sensing processing unit
300: controller, 310: controller
320: data storage unit, 330: image processing unit
500: server, 520: database

Claims (15)

가상 테니스 시뮬레이션 영상을 기반으로 플레이어가 코트바닥부 상에서 테니스 플레이를 할 수 있도록 하는 가상 테니스 시뮬레이션 시스템의 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법으로서,
상기 코트바닥부에 대응되는 반대편 코트로서 영상 상의 가상의 상대방 플레이어가 플레이하는 가상의 공간으로서 가상의 코트에 대한 영상을 구현하는 단계;
상기 구현된 영상에서 상기 가상의 코트 상에서 상기 가상의 상대방 플레이어가 가상의 볼을 서브 또는 리시브하는 위치인 가상 볼출발 위치를 결정하는 단계;
상기 가상의 상대방 플레이어가 서브 또는 리시브 한 가상의 볼이 시뮬레이션 되어 도달하게 되는 상기 코트바닥부 상의 목표 위치를 결정하는 단계; 및
상기 가상 볼출발 위치로부터 상기 가상의 볼이 상기 목표 위치에 도달하도록 시뮬레이션 되는 상기 가상의 볼의 볼 운동 조건에 관한 정보를 결정하여 상기 가상 볼출발 위치, 상기 목표 위치 및 상기 볼 운동 조건에 관한 정보를 데이터베이스에 저장함으로써 임의의 가상 볼출발 위치 및 목표 위치에 따른 볼 운동 조건에 대해 학습하는 단계;
를 포함하는 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법.
As a tennis AI implementation method for the virtual tennis simulation of the virtual tennis simulation system that allows the player to play tennis on the court floor based on the virtual tennis simulation image,
Realizing an image of the virtual court as a virtual space played by a virtual counterpart player on the image as an opposite court corresponding to the court bottom;
Determining a virtual ball start position which is a position at which the virtual opponent player serves or receives a virtual ball on the virtual court in the implemented image;
Determining a target position on the court bottom portion through which the virtual ball served or received by the virtual opponent player is simulated and reached; And
Information about the ball motion condition of the virtual ball starting position, the target position and the ball motion condition is determined from the virtual ball starting position by determining information about the ball motion condition of the virtual ball simulated to reach the target position. Learning about ball motion conditions according to any virtual ball start position and target position by storing the data in a database;
Tennis AI implementation method for a virtual tennis simulation comprising a.
제1항에 있어서, 상기 목표 위치를 결정하는 단계는,
상기 코트바닥부에 대해 다수의 미리 설정된 크기의 그리드면을 갖는 코트그리드를 설정하는 단계와,
상기 코트그리드의 임의의 그리드면 상의 미리 설정된 지점 또는 임의의 지점을 상기 목표 위치로서 결정하는 단계를 포함하는 것을 특징으로 하는 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법.
The method of claim 1, wherein the determining of the target position comprises:
Setting a coat grid having a plurality of grid surfaces of a predetermined size for the coat bottom;
Determining a predetermined point or any point on any grid surface of the court grid as the target position.
제1항에 있어서, 상기 가상 볼출발 위치를 결정하는 단계는,
상기 가상의 코트에 대해 다수의 미리 설정된 크기의 입체그리드를 갖는 가상코트그리드를 설정하는 단계와,
상기 가상코트그리드의 임의의 입체그리드 또는 미리 설정된 입체그리드 내의 미리 설정된 위치 또는 임의의 위치를 상기 가상 볼출발 위치로서 결정하는 단계를 포함하는 것을 특징으로 하는 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법.
The method of claim 1, wherein the determining of the virtual ball start position comprises:
Setting up a virtual coat grid having a plurality of predetermined sizes of three-dimensional grids for the virtual coat;
And determining a predetermined position or a predetermined position within the three-dimensional grid or the predetermined three-dimensional grid of the virtual court grid as the virtual ball starting position.
제1항에 있어서, 상기 볼 운동 조건에 대해 학습하는 단계는,
상기 가상 볼출발 위치로부터 임의의 볼 운동 조건에 따른 상기 가상의 볼의 궤적을 시뮬레이션하는 단계와,
상기 시뮬레이션된 가상의 볼의 궤적이 상기 목표 위치 또는 상기 목표 위치 내의 소정 범위 내에 도달하도록 상기 볼 운동 조건을 수정하여 시뮬레이션하는 것을 반복하는 단계와,
상기 시뮬레이션된 가상의 볼의 궤적이 상기 목표 위치 또는 상기 목표 위치 내의 소정 범위 내에 도달할 때의 볼 운동 조건에 대한 정보를 상기 데이터베이스에 저장하는 단계를 포함하는 것을 특징으로 하는 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법.
The method of claim 1, wherein the learning about the ball exercise condition comprises:
Simulating a trajectory of the virtual ball according to an arbitrary ball motion condition from the virtual ball starting position;
Repeating the simulation by modifying the ball motion condition such that the trajectory of the simulated virtual ball reaches the target position or a predetermined range within the target position;
And storing information about a ball motion condition when the trajectory of the simulated virtual ball reaches the target position or a predetermined range within the target position in the database. How to implement AI.
제4항에 있어서, 상기 볼 운동 조건을 수정하여 시뮬레이션하는 것을 반복하는 단계는,
상기 가상 볼출발 위치로부터 운동하는 상기 가상의 볼의 궤적이 통과하는 영역으로서 볼패싱 영역을 미리 설정하며, 상기 목표 위치 또는 상기 목표 위치 내의 소정 범위 내에 도달하도록 결정된 볼 운동 조건에 따라 시뮬레이션된 가상의 볼의 궤적이 상기 볼패싱 영역을 통과하도록 상기 볼 운동 조건을 수정하여 시뮬레이션하는 것을 반복하는 것을 특징으로 하는 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법.
The method of claim 4, wherein the step of repeating the simulation by modifying the ball motion conditions,
A virtual ballasting area is set in advance as an area through which the trajectory of the virtual ball moving from the virtual ball starting position passes, and simulated according to a ball motion condition determined to reach a predetermined range within the target position or the target position. Tennis simulation method for a virtual tennis simulation, characterized in that for repeating the simulation by modifying the ball motion conditions so that the trajectory of the ball passes through the ball passing area.
제1항에 있어서,
상기 목표 위치를 결정하는 단계는,
상기 코트바닥부에 대해 다수의 미리 설정된 크기의 그리드면을 갖는 코트그리드를 설정하는 단계와,
상기 코트그리드의 임의의 그리드면 또는 미리 설정된 그리드면인 목표 그리드면을 상기 목표 위치로서 결정하는 단계를 포함하며,
상기 볼 운동 조건에 대해 학습하는 단계는,
상기 가상 볼출발 위치로부터 상기 가상의 볼이 상기 목표 그리드면 상에 도달하도록 하는 미리 설정된 개수의 방향벡터를 찾아 상기 볼 운동 조건으로서 상기 데이터베이스에 저장하는 단계를 포함하는 것을 특징으로 하는 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법.
The method of claim 1,
Determining the target position,
Setting a coat grid having a plurality of grid surfaces of a predetermined size for the coat bottom;
Determining a target grid surface, which is any grid surface or a predetermined grid surface of the court grid, as the target position,
Learning about the ball exercise conditions,
And finding a preset number of direction vectors for the virtual ball to reach the target grid surface from the virtual ball starting position and storing the virtual tennis simulation in the database as the ball motion condition. Tennis AI implementation method.
제1항 내지 제6항 중 어느 한 항에 따른 방법을 기록한 컴퓨팅장치에 의해 판독 가능한 기록매체.A record carrier readable by a computing device recording a method according to any one of claims 1 to 6. 가상 테니스 시뮬레이션 영상을 기반으로 플레이어가 코트바닥부 상에서 테니스 플레이를 할 수 있도록 하는 가상 테니스 시뮬레이션 시스템에서 구현되는 테니스 인공지능을 이용한 가상 테니스 시뮬레이션 방법으로서,
상기 플레이어가 타격한 볼의 운동에 대해 센싱장치가 센싱하여 볼 운동에 대한 센싱 데이터를 산출하는 단계;
상기 산출된 센싱 데이터에 기초하여 상기 영상에서 상기 코트바닥부에 대응되는 반대편 코트로서 영상 상의 가상의 상대방 플레이어가 플레이하는 가상의 공간으로서 가상의 코트로 이동하는 가상의 볼의 궤적에 대한 시뮬레이션 영상을 구현하는 단계;
상기 가상의 코트로 이동하는 가상의 볼의 궤적으로부터 상기 가상의 상대방 플레이어가 상기 가상의 공간으로서의 상기 가상의 코트 상에서 상기 가상의 볼을 리시브하는 위치인 가상 볼출발 위치를 결정하는 단계;
상기 테니스 인공지능에 의해 상기 가상의 상대방 플레이어가 상기 가상의 코트에서 리시브한 가상의 볼이 시뮬레이션 되어 도달하게 되는 상기 코트바닥부 상의 목표 위치를 결정하는 단계; 및
상기 가상 볼출발 위치로부터 상기 가상의 볼이 상기 코트바닥부 상의 목표 위치에 도달하도록 시뮬레이션 되는 상기 가상의 볼의 볼 운동 조건에 관한 정보를 서버의 데이터베이스로부터 전송받거나 데이터저장부로부터 추출하거나 상기 전송 또는 추출한 정보를 이용하여 상기 볼 운동 조건에 관한 정보를 산출하여 상기 가상의 상대방 플레이어가 리시브한 가상의 볼의 타구가 상기 볼 운동 조건에 따라 시뮬레이션 되도록 하는 단계;
를 포함하는 테니스 인공지능을 이용한 가상 테니스 시뮬레이션 방법.
As a virtual tennis simulation method using tennis artificial intelligence implemented in a virtual tennis simulation system that allows a player to play tennis on the court floor based on a virtual tennis simulation image,
Comprising a sensing device for the motion of the ball hit by the player to calculate the sensing data for the ball movement;
Based on the calculated sensing data, a simulation image of a trajectory of a virtual ball moving to a virtual court as a virtual space played by a virtual counterpart player on the image as an opposite court corresponding to the court bottom part in the image. Implementing;
Determining a virtual ball starting position which is a position at which the virtual opponent player receives the virtual ball on the virtual court as the virtual space from the trajectory of the virtual ball moving to the virtual court;
Determining, by the tennis artificial intelligence, a target position on the court floor portion through which the virtual ball received by the virtual opponent player on the virtual court is simulated and reached; And
From the virtual ball starting position, information about the ball motion condition of the virtual ball simulated to reach the target position on the court bottom is transmitted from a database of the server or extracted from the data storage unit or the transmission or Calculating information on the ball motion condition using the extracted information so that the batting of the virtual ball received by the virtual opponent player is simulated according to the ball motion condition;
Virtual tennis simulation method using a tennis artificial intelligence comprising a.
제8항에 있어서,
상기 가상 테니스 시뮬레이션 시스템은, 상기 코트바닥부의 전방에 구비되어 상기 가상 테니스 시뮬레이션 영상이 투영되는 스크린의 후면에 구비되어 상기 플레이어에게 볼을 제공하는 볼 머신을 구비하도록 구성되며,
상기 결정된 코트바닥부 상의 목표 위치에 대응하여 상기 볼 머신의 볼 제공 방향을 제어하는 단계와,
상기 추출된 볼 운동 조건에 따라 시뮬레이션 되도록 하는 단계에서 상기 가상의 상대방 플레이어가 리시브한 타구에 따른 가상의 볼의 운동에 대응하도록 상기 볼 머신이 제공하는 볼의 속도를 결정하여, 상기 볼 제공 방향 및 볼의 속도에 따라 상기 볼 머신이 상기 코트바닥부 상으로 볼을 제공하는 단계를 더 포함하는 것을 특징으로 하는 테니스 인공지능을 이용한 가상 테니스 시뮬레이션 방법.
The method of claim 8,
The virtual tennis simulation system is provided in front of the court floor portion is provided on the back of the screen on which the virtual tennis simulation image is projected is provided with a ball machine for providing a ball to the player,
Controlling the ball providing direction of the ball machine in correspondence with the determined target position on the court bottom;
In the step of simulating according to the extracted ball movement conditions, the speed of the ball provided by the ball machine is determined to correspond to the movement of the virtual ball according to the hit received by the virtual opponent player. Virtual ball simulation method using the tennis artificial intelligence, characterized in that further comprising the step of providing the ball on the court floor by the ball machine according to the speed of the ball.
제8항에 있어서,
상기 가상 테니스 시뮬레이션 시스템은, 상기 코트바닥부의 전방에 구비되어 상기 가상 테니스 시뮬레이션 영상이 투영되는 스크린의 후면에 구비되어 상기 플레이어에게 볼을 제공하는 볼 머신을 구비하도록 구성되며,
상기 추출된 볼 운동 조건에 따라 시뮬레이션 되도록 하는 단계에서 상기 가상의 상대방 플레이어가 리시브한 타구에 따른 가상의 볼의 궤적의 연장선상에서 상기 볼 머신이 볼을 제공하도록 상기 볼 머신의 볼 제공 방향 및 볼 제공 속도를 결정하여, 상기 결정된 볼 제공 방향 및 볼 제공 속도에 따라 상기 볼 머신이 상기 코트바닥부 상으로 볼을 제공하는 단계를 더 포함하는 것을 특징으로 하는 테니스 인공지능을 이용한 가상 테니스 시뮬레이션 방법.
The method of claim 8,
The virtual tennis simulation system is provided in front of the court floor portion is provided on the back of the screen on which the virtual tennis simulation image is projected is provided with a ball machine for providing a ball to the player,
The ball providing direction and the ball providing direction of the ball machine such that the ball machine provides the ball on the extension line of the trajectory of the virtual ball according to the hit received by the virtual opponent player in the step of being simulated according to the extracted ball motion condition. And determining the speed, and providing the ball onto the court bottom by the ball machine according to the determined ball providing direction and the ball providing speed.
제8항에 있어서, 상기 추출된 또는 산출된 볼 운동 조건에 따라 시뮬레이션 되도록 하는 단계는,
상기 가상 볼출발 위치로부터 상기 가상의 볼이 상기 코트바닥부 상의 목표 위치에 도달하도록 하는 상기 테니스 인공지능의 데이터베이스로부터 추출한 볼 운동 조건에 관한 정보를 플레이어의 실력등급, 플레이의 난이도, 환경설정 중 적어도 하나에 따라 변경하여 상기 가상의 상대방 플레이어의 타구에 적용하는 단계를 포함하는 것을 특징으로 하는 테니스 인공지능을 이용한 가상 테니스 시뮬레이션 방법.
The method of claim 8, wherein the simulating according to the extracted or calculated ball motion condition comprises:
At least one of a player's ability level, difficulty of playing, and environment setting information about the ball motion condition extracted from the database of the tennis artificial intelligence that allows the virtual ball to reach a target position on the court floor from the virtual ball starting position. Virtual tennis simulation method using a tennis artificial intelligence, characterized in that for changing according to one and applying to the batting of the virtual opponent player.
제8항에 있어서,
상기 추출된 또는 산출된 볼 운동 조건에 따라 시뮬레이션 되도록 하는 단계 따른 시뮬레이션의 결과 상기 가상의 볼이 상기 목표 위치에 도달하는지 확인하는 단계와,
상기 가상의 볼이 상기 목표 위치에 도달하지 않은 경우 상기 시뮬레이션에 적용된 볼 운동 조건에 대한 정보를 변경하여 상기 데이터베이스에 저장함으로써 상기 가상 볼출발 위치 및 목표 위치에 따른 볼 운동 조건에 대해 학습하는 단계를 더 포함하는 것을 특징으로 하는 테니스 인공지능을 이용한 가상 테니스 시뮬레이션 방법.
The method of claim 8,
Checking whether the virtual ball reaches the target position as a result of the simulation according to the step of simulating according to the extracted or calculated ball motion condition;
Learning the ball motion condition according to the virtual ball starting position and the target position by changing information on the ball motion condition applied to the simulation and storing it in the database when the virtual ball does not reach the target position. Virtual tennis simulation method using the tennis artificial intelligence, characterized in that it further comprises.
가상 테니스 시뮬레이션 영상을 기반으로 플레이어가 테니스 인공지능에 의한 가상의 상대방 플레이어와 테니스 플레이를 할 수 있도록 하는 가상 테니스 시뮬레이션 시스템으로서,
상기 가상 테니스 시뮬레이션 영상이 투영되는 스크린;
상기 스크린의 후면에 구비되어 상기 플레이어에게 볼을 제공하는 볼 머신;
상기 플레이어가 타격한 볼의 운동에 대해 센싱하여 볼 운동에 대한 센싱 데이터를 산출하는 센싱장치; 및
상기 산출된 센싱 데이터에 기초하여 상기 영상에서 코트바닥부에 대응되는 반대편 코트로서 영상 상의 가상의 상대방 플레이어가 플레이하는 가상의 공간으로서 가상의 코트로 이동하는 가상의 볼의 궤적에 대한 시뮬레이션 영상 및 상기 상기 가상의 상대방 플레이어가 리시브한 타구에 따른 가상의 볼의 궤적에 대한 시뮬레이션 영상을 생성 및 처리하는 제어장치를 포함하며,
상기 제어장치는,
상기 가상의 코트로 이동하는 가상의 볼의 궤적으로부터 상기 가상의 상대방 플레이어가 상기 가상의 공간으로서의 상기 가상의 코트 상에서 상기 가상의 볼을 리시브하는 위치인 가상 볼출발 위치를 결정하고, 상기 가상의 상대방 플레이어가 리시브한 상기 가상의 볼이 시뮬레이션 되어 도달하게 되는 상기 코트바닥부 상의 목표 위치를 결정하도록 구성되고,
상기 가상 볼출발 위치로부터 상기 가상의 볼이 상기 목표 위치에 도달하도록 시뮬레이션 되는 상기 가상의 볼의 볼 운동 조건에 관한 정보를 결정하여 상기 가상 볼출발 위치, 상기 목표 위치 및 상기 볼 운동 조건에 관한 정보를 저장하는 데이터베이스에 접근 가능하도록 구성되며,
상기 플레이어와 상기 가상의 상대방 플레이어 사이의 플레이에 따라 상기 가상 볼출발 위치 및 목표 위치에 따른 볼 운동 조건에 대해 학습하는 테니스 인공지능을 구비하도록 구성되는 것을 특징으로 하는 가상 테니스 시뮬레이션 시스템.
As a virtual tennis simulation system that allows a player to play tennis with a virtual opponent based on a virtual tennis simulation video,
A screen on which the virtual tennis simulation image is projected;
A ball machine provided at the rear of the screen to provide a ball to the player;
Sensing device for sensing the movement of the ball hit by the player to calculate the sensing data for the ball movement; And
A simulation image of a trajectory of a virtual ball moving to a virtual court as a virtual space played by a virtual counterpart player on the image as an opposite court corresponding to the court bottom in the image based on the calculated sensing data and the It includes a control device for generating and processing a simulation image for the trajectory of the virtual ball according to the batting received by the virtual opponent player,
The control device,
From the trajectory of the virtual ball moving to the virtual court, the virtual counterpart player determines the virtual ball starting position, which is the position at which the virtual ball receives the virtual ball on the virtual court as the virtual space, and the virtual opponent Is configured to determine a target position on the court bottom at which the virtual ball received by the player is simulated and reached,
Information about the ball motion condition of the virtual ball starting position, the target position and the ball motion condition is determined from the virtual ball starting position by determining information about the ball motion condition of the virtual ball simulated to reach the target position. It is configured to be accessible to a database that stores
And a tennis artificial intelligence that learns about a ball motion condition according to the virtual ball starting position and a target position according to the play between the player and the virtual counterpart player.
제13항에 있어서,
상기 제어장치는,
상기 데이터베이스로부터 상기 가상 볼출발 위치로부터 상기 가상의 볼이 상기 코트바닥부 상의 목표 위치에 도달하도록 하는 볼 운동 조건에 관한 정보를 추출 또는 산출하여 상기 가상의 상대방 플레이어가 리시브한 타구가 상기 추출된 또는 산출된 볼 운동 조건에 따라 시뮬레이션 되도록 하며, 상기 가상의 상대방 플레이어가 리시브한 타구에 따른 가상의 볼의 궤적의 연장선상에서 상기 볼 머신이 볼을 제공하도록 상기 볼 머신의 볼 제공 방향 및 볼 제공 속도를 결정하여 상기 볼 머신으로 전송하도록 구성되며,
상기 볼 머신은 상기 제어장치로부터 전송받은 볼 제공 방향 및 볼 제공 속도에 따라 상기 코트바닥부 상으로 볼을 제공하도록 구성되는 것을 특징으로 하는 가상 테니스 시뮬레이션 시스템.
The method of claim 13,
The control device,
From the database, from the virtual ball starting position, the batting received by the virtual opponent player is extracted or calculated by extracting or calculating information on a ball motion condition that causes the virtual ball to reach a target position on the court bottom. The ball providing direction and the ball providing speed of the ball machine are simulated according to the calculated ball motion conditions, and the ball machine provides the ball on the extension line of the trajectory of the virtual ball according to the batted player's batting. Determine and transmit to the ball machine,
The ball machine is configured to provide a ball on the court floor according to the ball providing direction and the ball providing speed received from the control device, the virtual tennis simulation system.
삭제delete
KR1020180029074A 2017-09-15 2018-03-13 Method for building-up tennis artificial intelligence for virtual tennis simulation, virtual tennis simulation system and method using the same and recording media recording program of tennis artificial intelligence readible by computing device KR102045443B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2019/002894 WO2019177363A1 (en) 2017-09-15 2019-03-13 Tennis artificial intelligence implementation method for virtual tennis simulation, virtual tennis simulation system and method using same, and computing device-readable recording medium for recording same
JP2020548808A JP7070874B2 (en) 2017-09-15 2019-03-13 Tennis artificial intelligence realization method for virtual tennis simulation, virtual tennis simulation system and method using it

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170119001 2017-09-15
KR20170119001 2017-09-15

Publications (2)

Publication Number Publication Date
KR20190031112A KR20190031112A (en) 2019-03-25
KR102045443B1 true KR102045443B1 (en) 2019-12-02

Family

ID=65907675

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020180029076A KR102045449B1 (en) 2017-09-15 2018-03-13 Virtual tennis simulation system and control method for the same
KR1020180029074A KR102045443B1 (en) 2017-09-15 2018-03-13 Method for building-up tennis artificial intelligence for virtual tennis simulation, virtual tennis simulation system and method using the same and recording media recording program of tennis artificial intelligence readible by computing device
KR1020180029071A KR102045439B1 (en) 2017-09-15 2018-03-13 Virtual tennis simulation system, sensing device and method for sensing process using the same

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020180029076A KR102045449B1 (en) 2017-09-15 2018-03-13 Virtual tennis simulation system and control method for the same

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020180029071A KR102045439B1 (en) 2017-09-15 2018-03-13 Virtual tennis simulation system, sensing device and method for sensing process using the same

Country Status (3)

Country Link
JP (2) JP7070874B2 (en)
KR (3) KR102045449B1 (en)
WO (3) WO2019177364A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102265914B1 (en) * 2020-09-04 2021-06-16 권예찬 Tennis autonomous training system

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210023310A (en) 2019-08-22 2021-03-04 주식회사 대한솔루션 Reading system for judging in or out of the ball in ball game
US11752414B2 (en) * 2019-08-22 2023-09-12 Fast Track Vision, LLC System and method for tracking a projectile
CN111228773A (en) * 2020-03-02 2020-06-05 怀化学院 Service control method and device based on binocular vision, storage medium and service machine
EP3901936A1 (en) 2020-04-22 2021-10-27 Copysan Communicaciones, SL Method, system and computer programs for padel tennis training
KR102434326B1 (en) * 2020-05-12 2022-08-22 서기원 Online-system for tennis virtual training with real-time video comparison of body motion
KR102249014B1 (en) * 2020-07-28 2021-05-06 조명환 system of allocating and rewarding to user through virtual space allocation and partition on physical space
US11896882B2 (en) 2020-11-04 2024-02-13 Xreps, Llc Extended reality system for training and evaluation
KR102450445B1 (en) * 2020-12-14 2022-10-05 재단법인대구경북과학기술원 Indoor screen tennis system and remote game method using the same
GB2619212A (en) 2021-02-14 2023-11-29 Vxt Sports Llc Training systems and methods
KR102464171B1 (en) 2021-10-07 2022-11-09 주식회사 큐링이노스 Tennis self-training system
KR102626000B1 (en) * 2021-11-23 2024-01-22 명지대학교 산학협력단 Tennis Training System
WO2023147541A1 (en) * 2022-01-31 2023-08-03 Breakout Hitting Llc Training system and method of using same

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002239052A (en) * 2001-02-22 2002-08-27 Japan Science & Technology Corp Pitching machine and control system and control method therefor
KR101586462B1 (en) * 2015-10-02 2016-01-19 (주)나라소프트 Tennis exercise and game simulation system using the screen

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2999638B2 (en) * 1992-10-28 2000-01-17 日本電信電話株式会社 Virtual experience system
JPH07227454A (en) * 1994-02-18 1995-08-29 Tooa Sports Mach:Kk Pitching limiter for pitching machine
JPH11299947A (en) * 1998-02-19 1999-11-02 Purareizu:Kk Virtual game device
US6539931B2 (en) * 2001-04-16 2003-04-01 Koninklijke Philips Electronics N.V. Ball throwing assistant
JP4883516B2 (en) * 2004-08-25 2012-02-22 国立大学法人金沢大学 Pitching machine and method for controlling its changing sphere
JP2007144107A (en) * 2005-10-25 2007-06-14 Vr Sports:Kk Exercise assisting system
GB2455316B (en) * 2007-12-04 2012-08-15 Sony Corp Image processing apparatus and method
KR101147873B1 (en) * 2010-06-24 2012-05-24 박영기 Screen-golf system using face recognition and control method of the same
WO2013124856A1 (en) * 2012-02-23 2013-08-29 Playsight Interactive Ltd. A smart-court system and method for providing real-time debriefing and training services of sport games
KR20170085460A (en) * 2017-05-18 2017-07-24 주식회사 골프존뉴딘 Apparatus for base-ball practice, sensing device and sensing method used to the same and control method for the same

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002239052A (en) * 2001-02-22 2002-08-27 Japan Science & Technology Corp Pitching machine and control system and control method therefor
KR101586462B1 (en) * 2015-10-02 2016-01-19 (주)나라소프트 Tennis exercise and game simulation system using the screen

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102265914B1 (en) * 2020-09-04 2021-06-16 권예찬 Tennis autonomous training system

Also Published As

Publication number Publication date
JP6981719B2 (en) 2021-12-17
KR20190031112A (en) 2019-03-25
KR20190031111A (en) 2019-03-25
KR20190031113A (en) 2019-03-25
WO2019177361A1 (en) 2019-09-19
KR102045449B1 (en) 2019-11-15
JP7070874B2 (en) 2022-05-18
WO2019177364A1 (en) 2019-09-19
JP2021516576A (en) 2021-07-08
JP2021516129A (en) 2021-07-01
KR102045439B1 (en) 2019-11-15
WO2019177363A1 (en) 2019-09-19

Similar Documents

Publication Publication Date Title
KR102045443B1 (en) Method for building-up tennis artificial intelligence for virtual tennis simulation, virtual tennis simulation system and method using the same and recording media recording program of tennis artificial intelligence readible by computing device
CN108697922B (en) Sensing device and sensing method for baseball practice device, baseball practice device using the same, and control method thereof
JP5641263B2 (en) Virtual golf simulation apparatus, system including the same, and virtual golf simulation method
TWI441669B (en) Virtual golf simulation apparatus and method
US20170368439A1 (en) Ball game training
TWI448318B (en) Virtual golf simulation apparatus and sensing device and method used for the same
TWI658855B (en) Apparatus for virtual base-ball game by experience and control method of virtual base-ball game by the same
TWI624292B (en) Apparatus for virtual golf simulation, method for image realization for virtual golf simulation and recording medium readable by computing device for recording the method
US20100245365A1 (en) Image generation system, image generation method, and computer program product
WO2002066128A1 (en) Program for controlling playing of game, and game apparatus for running this program
US12017132B2 (en) Virtual golf simulation processing method and screen golf system using the same
JP2012101025A (en) Program, information storage medium, game device, and server system
JP2010233752A (en) Program, information storage medium, and image generation system
KR102146358B1 (en) Sensing method for sensing movement of ball and sensing device using the same
TWI702513B (en) Virtual reality batting training system and method thereof
JP7111433B2 (en) SENSING DEVICE FOR MOTION OF BALL AND SENSING METHOD THEREOF
KR101078954B1 (en) Apparatus for virtual golf simulation, and sensing device and method used to the same
KR102439549B1 (en) Device for sensing golf swing and method for sensing impact position on club head using the same
KR102582362B1 (en) floor golf simulation system using two cameras
US20240033597A1 (en) Hybrid golf system and control method for the same
JP2010237883A (en) Program, information storage medium, and image generation system
TW202402362A (en) Hybrid golf system and automatic scoring method of controller in the same
TW202419135A (en) System for analyzing user swing to determine ball trajectory and method thereof
JP2024525894A (en) Image analysis method for sensing a moving ball and sensing device using the same
TW202305664A (en) Method for analyzing image for sensing moving ball and sensing device using the same

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant