KR102045443B1 - 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법, 이를 이용한 가상 테니스 시뮬레이션 시스템 및 방법과, 이를 기록한 컴퓨팅장치에 의해 판독 가능한 기록매체 - Google Patents

가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법, 이를 이용한 가상 테니스 시뮬레이션 시스템 및 방법과, 이를 기록한 컴퓨팅장치에 의해 판독 가능한 기록매체 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
English (en)
Other versions
KR20190031112A (ko
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/ko
Priority to JP2020548808A priority patent/JP7070874B2/ja
Publication of KR20190031112A publication Critical patent/KR20190031112A/ko
Application granted granted Critical
Publication of KR102045443B1 publication Critical patent/KR102045443B1/ko

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

본 발명은 상기한 바와 같은 종래의 스크린 테니스 시스템에 의해 구현하기 어려웠던 수준 높은 가상 상대방의 인공지능의 구현과 그로부터 플레이어가 다양한 상황에서의 테니스 연습 또는 테니스 경기를 진행할 수 있음으로 말미암은 현실감 있는 랠리 등을 실현할 수 있는, 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법, 이를 이용한 가상 테니스 시뮬레이션 시스템 및 방법을 제공하기 위한 것이다.

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}
본 발명은 소정의 실내 공간에서 가상의 상대방에 의한 테니스 플레이 영상이 구현되는 스크린이 설치되고 상기 스크린을 통해 볼 머신에서 발사되는 테니스볼을 사용자가 라켓으로 타격하는 방식으로 테니스 연습 또는 테니스 경기를 할 수 있도록 하는 가상 테니스 시뮬레이션 시스템에 관한 것이다.
최근에 골프와 야구 등과 같이 볼을 이용하여 즐기는 스포츠에 대해 실내의 좁은 공간에서도 실제 필드에서 골프나 야구를 하는 것과 같은 연습이나 경기를 위한 가상의 컨텐츠를 제공하는, 이른바 스크린 골프와 스크린 야구 등의 대중적인 인기와 그에 따른 기술적 발전에 따라 볼을 이용하는 가장 대표적인 스포츠인 테니스에 대해서도 소위 스크린 테니스 시스템이 등장하게 되었다.
테니스라는 스포츠는 골프나 야구와는 달리 사용자가 한 곳에서 계속 볼을 타격하는 것이 아니라 라켓을 든 사용자가 매우 다이나믹하게 움직이면서 상대 선수와 볼을 지속적으로 주고받는 랠리를 펼치는 스포츠로서, 이러한 테니스 스포츠의 특징을 스크린 테니스 시스템에서 적절히 구현하여 스크린 테니스를 이용하는 사용자가 다양한 위치에서 볼을 타격하면서 영상 내의 상대방과 지속적인 랠리를 현실감있게 할 수 있도록 하여 테니스 스포츠의 리얼리티를 실현하면서도 실제 테니스 스포츠에서는 쉽게 파악하기 어려운 다양한 분석 정보를 제공받을 수 있도록 하는 것이 관건이라 할 수 있다.
종래의 스크린 테니스 시스템 및 이에 이용되는 센싱장치 등에 관한 선행특허문헌으로서, 특허출원 제10-2015-0010077호, 특허출원 제10-2015-0138876호, 미국등록특허 제6,776,732호, 미국등록특허 제3,989,246호 등이 공개되어 있다.
그러나, 종래의 스크린 테니스 시스템은 영상상의 가상의 상대방을 구현하는 인공지능의 수준이 낮고 그로 인하여 가상 테니스 플레이가 단조롭고 재미없는 영상 컨텐츠를 제공하는데 그치기 때문에, 상기한 바와 같은 테니스 스포츠의 리얼리티를 충분히 구현해내지 못하며 영상 상의 가상 상대방과의 현실감 있는 랠리를 하는 것에 한계가 있는 문제점이 있었다.
본 발명은 상기한 바와 같은 종래의 스크린 테니스 시스템에 의해 구현하기 어려웠던 수준 높은 가상 상대방의 인공지능의 구현과 그로부터 플레이어가 다양한 상황에서의 테니스 연습 또는 테니스 경기를 진행할 수 있음으로 말미암은 현실감 있는 랠리 등을 실현할 수 있는, 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법, 이를 이용한 가상 테니스 시뮬레이션 시스템 및 방법을 제공하기 위한 것이다.
본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법은, 가상 테니스 시뮬레이션 영상을 기반으로 플레이어가 코트바닥부 상에서 테니스 플레이를 할 수 있도록 하는 가상 테니스 시뮬레이션 시스템의 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법으로서, 상기 코트바닥부에 대응되는 반대편 코트로서 영상 상의 가상의 상대방 플레이어가 플레이하는 가상의 코트 상에서 상기 가상의 상대방 플레이어가 가상의 볼을 서브 또는 리시브하는 위치인 가상 볼출발 위치를 결정하는 단계; 상기 가상의 상대방 플레이어의 타구가 도달하는 상기 코트바닥부 상의 목표 위치를 결정하는 단계; 및 상기 가상 볼출발 위치로부터 상기 가상의 볼이 상기 목표 위치에 도달하도록 하는 볼 운동 조건에 관한 정보를 결정하여 상기 가상 볼출발 위치, 상기 목표 위치 및 상기 볼 운동 조건에 관한 정보를 데이터베이스에 저장함으로써 임의의 가상 볼출발 위치 및 목표 위치에 따른 볼 운동 조건에 대해 학습하는 단계를 포함한다.
또한 바람직하게는, 상기 목표 위치를 결정하는 단계는, 상기 코트바닥부에 대해 다수의 미리 설정된 크기의 그리드면을 갖는 코트그리드를 설정하는 단계와, 상기 코트그리드의 임의의 그리드면 상의 미리 설정된 지점 또는 임의의 지점을 상기 목표 위치로서 결정하는 단계를 포함하는 것을 특징으로 한다.
또한 바람직하게는, 상기 가상 볼출발 위치를 결정하는 단계는, 상기 가상의 코트에 대해 다수의 미리 설정된 크기의 입체그리드를 갖는 가상코트그리드를 설정하는 단계와, 상기 가상코트그리드의 임의의 입체그리드 또는 미리 설정된 입체그리드 내의 미리 설정된 위치 또는 임의의 위치를 상기 가상 볼출발 위치로서 결정하는 단계를 포함하는 것을 특징으로 한다.
또한 바람직하게는, 상기 볼 운동 조건에 대해 학습하는 단계는, 상기 가상 볼출발 위치로부터 임의의 볼 운동 조건에 따른 상기 가상의 볼의 궤적을 시뮬레이션하는 단계와, 상기 시뮬레이션된 가상의 볼의 궤적이 상기 목표 위치 또는 상기 목표 위치 내의 소정 범위 내에 도달하도록 상기 볼 운동 조건을 수정하여 시뮬레이션하는 것을 반복하는 단계와, 상기 시뮬레이션된 가상의 볼의 궤적이 상기 목표 위치 또는 상기 목표 위치 내의 소정 범위 내에 도달할 때의 볼 운동 조건에 대한 정보를 상기 데이터베이스에 저장하는 단계를 포함하는 것을 특징으로 한다.
또한 바람직하게는, 상기 볼 운동 조건을 수정하여 시뮬레이션하는 것을 반복하는 단계는, 상기 가상 볼출발 위치로부터 운동하는 상기 가상의 볼의 궤적이 통과하는 영역으로서 볼패싱 영역을 미리 설정하며, 상기 목표 위치 또는 상기 목표 위치 내의 소정 범위 내에 도달하도록 결정된 볼 운동 조건에 따라 시뮬레이션된 가상의 볼의 궤적이 상기 볼패싱 영역을 통과하도록 상기 볼 운동 조건을 수정하여 시뮬레이션하는 것을 반복하는 것을 특징으로 한다.
또한 바람직하게는, 상기 목표 위치를 결정하는 단계는, 상기 코트바닥부에 대해 다수의 미리 설정된 크기의 그리드면을 갖는 코트그리드를 설정하는 단계와, 상기 코트그리드의 임의의 그리드면 또는 미리 설정된 그리드면인 목표 그리드면을 상기 목표 위치로서 결정하는 단계를 포함하며, 상기 볼 운동 조건에 대해 학습하는 단계는, 상기 가상 볼출발 위치로부터 상기 가상의 볼이 상기 목표 그리드면 상에 도달하도록 하는 미리 설정된 개수의 방향벡터를 찾아 상기 볼 운동 조건으로서 상기 데이터베이스에 저장하는 단계를 포함하는 것을 특징으로 한다.
또한 본 발명은 상기한 바와 같은 인공지능 구현방법에 따른 프로그램을 기록한 컴퓨팅장치에 의해 판독 가능한 기록매체를 포함한다.
한편, 본 발명의 일 실시예에 따른 테니스 인공지능을 이용한 가상 테니스 시뮬레이션 방법은, 가상 테니스 시뮬레이션 영상을 기반으로 플레이어가 코트바닥부 상에서 테니스 플레이를 할 수 있도록 하는 가상 테니스 시뮬레이션 시스템에서 구현되는 테니스 인공지능을 이용한 가상 테니스 시뮬레이션 방법으로서, 상기 플레이어가 타격한 볼의 운동에 대해 센싱장치가 센싱하여 볼 운동에 대한 센싱 데이터를 산출하는 단계; 상기 산출된 센싱 데이터에 기초하여 상기 영상에서 상기 코트바닥부에 대응되는 반대편 코트로서 영상 상의 가상의 상대방 플레이어가 플레이하는 가상의 코트로 이동하는 가상의 볼의 궤적에 대한 시뮬레이션 영상을 구현하는 단계; 상기 가상의 코트로 이동하는 가상의 볼의 궤적으로부터 상기 가상의 상대방 플레이어가 가상의 볼을 리시브하는 위치인 가상 볼출발 위치를 결정하는 단계; 상기 테니스 인공지능에 의해 상기 가상의 상대방 플레이어가 리시브한 타구가 도달하는 상기 코트바닥부 상의 목표 위치를 결정하는 단계; 및 상기 가상 볼출발 위치로부터 상기 가상의 볼이 상기 코트바닥부 상의 목표 위치에 도달하도록 하는 볼 운동 조건에 관한 정보를 상기 테니스 인공지능의 데이터베이스로부터 추출하거나 상기 추출된 정보를 이용하여 상기 볼 운동 조건에 관한 정보를 산출하여 상기 가상의 상대방 플레이어가 리시브한 타구가 상기 추출된 또는 산출된 볼 운동 조건에 따라 시뮬레이션 되도록 하는 단계를 포함한다.
또한 바람직하게는, 상기 가상 테니스 시뮬레이션 시스템은, 상기 코트바닥부의 전방에 구비되어 상기 가상 테니스 시뮬레이션 영상이 투영되는 스크린의 후면에 구비되어 상기 플레이어에게 볼을 제공하는 볼 머신을 구비하도록 구성되며, 상기 결정된 코트바닥부 상의 목표 위치에 대응하여 상기 볼 머신의 볼 제공 방향을 제어하는 단계와, 상기 추출된 볼 운동 조건에 따라 시뮬레이션 되도록 하는 단계에서 상기 가상의 상대방 플레이어가 리시브한 타구에 따른 가상의 볼의 운동에 대응하도록 상기 볼 머신이 제공하는 볼의 속도를 결정하여, 상기 볼 제공 방향 및 볼의 속도에 따라 상기 볼 머신이 상기 코트바닥부 상으로 볼을 제공하는 단계를 더 포함하는 것을 특징으로 한다.
또한 바람직하게는, 상기 가상 테니스 시뮬레이션 시스템은, 상기 코트바닥부의 전방에 구비되어 상기 가상 테니스 시뮬레이션 영상이 투영되는 스크린의 후면에 구비되어 상기 플레이어에게 볼을 제공하는 볼 머신을 구비하도록 구성되며, 상기 추출된 볼 운동 조건에 따라 시뮬레이션 되도록 하는 단계에서 상기 가상의 상대방 플레이어가 리시브한 타구에 따른 가상의 볼의 궤적의 연장선상에서 상기 볼 머신이 볼을 제공하도록 상기 볼 머신의 볼 제공 방향 및 볼 제공 속도를 결정하여, 상기 결정된 볼 제공 방향 및 볼 제공 속도에 따라 상기 볼 머신이 상기 코트바닥부 상으로 볼을 제공하는 단계를 더 포함하는 것을 특징으로 한다.
또한 바람직하게는, 상기 추출된 또는 산출된 볼 운동 조건에 따라 시뮬레이션 되도록 하는 단계는, 상기 가상 볼출발 위치로부터 상기 가상의 볼이 상기 코트바닥부 상의 목표 위치에 도달하도록 하는 상기 테니스 인공지능의 데이터베이스로부터 추출한 볼 운동 조건에 관한 정보를 플레이어의 실력등급, 플레이의 난이도, 환경설정 중 적어도 하나에 따라 변경하여 상기 가상의 상대방 플레이어의 타구에 적용하는 단계를 포함하는 것을 특징으로 한다.
또한 바람직하게는, 상기 추출된 또는 산출된 볼 운동 조건에 따라 시뮬레이션 되도록 하는 단계 따른 시뮬레이션의 결과 상기 가상의 볼이 상기 목표 위치에 도달하는지 확인하는 단계와, 상기 가상의 볼이 상기 목표 위치에 도달하지 않은 경우 상기 시뮬레이션에 적용된 볼 운동 조건에 대한 정보를 변경하여 상기 데이터베이스에 저장함으로써 상기 가상 볼출발 위치 및 목표 위치에 따른 볼 운동 조건에 대해 학습하는 단계를 더 포함하는 것을 특징으로 한다.
한편, 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템은, 가상 테니스 시뮬레이션 영상을 기반으로 플레이어가 테니스 인공지능에 의한 가상의 상대방 플레이어와 테니스 플레이를 할 수 있도록 하는 가상 테니스 시뮬레이션 시스템으로서, 상기 가상 테니스 시뮬레이션 영상이 투영되는 스크린; 상기 스크린의 후면에 구비되어 상기 플레이어에게 볼을 제공하는 볼 머신; 상기 플레이어가 타격한 볼의 운동에 대해 센싱하여 볼 운동에 대한 센싱 데이터를 산출하는 센싱장치; 및 상기 산출된 센싱 데이터에 기초하여 상기 영상에서 상기 코트바닥부에 대응되는 반대편 코트로서 영상 상의 가상의 상대방 플레이어가 플레이하는 가상의 코트로 이동하는 가상의 볼의 궤적에 대한 시뮬레이션 영상 및 상기 상기 가상의 상대방 플레이어가 리시브한 타구에 따른 가상의 볼의 궤적에 대한 시뮬레이션 영상을 생성 및 처리하는 제어장치를 포함하며, 상기 제어장치는, 상기 가상의 코트로 이동하는 가상의 볼의 궤적으로부터 상기 가상의 상대방 플레이어가 가상의 볼을 리시브하는 위치인 가상 볼출발 위치를 결정하고, 상기 가상의 상대방 플레이어가 리시브한 타구가 도달하는 상기 코트바닥부 상의 목표 위치를 결정하도록 구성되고, 상기 가상 볼출발 위치로부터 상기 가상의 볼이 상기 목표 위치에 도달하도록 하는 볼 운동 조건에 관한 정보를 결정하여 상기 가상 볼출발 위치, 상기 목표 위치 및 상기 볼 운동 조건에 관한 정보를 저장하는 데이터베이스에 접근 가능하도록 구성되며, 상기 플레이어와 상기 가상의 상대방 플레이어 사이의 플레이에 따라 상기 가상 볼출발 위치 및 목표 위치에 따른 볼 운동 조건에 대해 학습하는 테니스 인공지능을 구비하도록 구성되는 것을 특징으로 한다.
또한 바람직하게는, 상기 제어장치는, 상기 데이터베이스로부터 상기 가상 볼출발 위치로부터 상기 가상의 볼이 상기 코트바닥부 상의 목표 위치에 도달하도록 하는 볼 운동 조건에 관한 정보를 추출 또는 산출하여 상기 가상의 상대방 플레이어가 리시브한 타구가 상기 추출된 또는 산출된 볼 운동 조건에 따라 시뮬레이션 되도록 하며, 상기 가상의 상대방 플레이어가 리시브한 타구에 따른 가상의 볼의 궤적의 연장선상에서 상기 볼 머신이 볼을 제공하도록 상기 볼 머신의 볼 제공 방향 및 볼 제공 속도를 결정하여 상기 볼 머신으로 전송하도록 구성되며, 상기 볼 머신은 상기 제어장치로부터 전송받은 볼 제공 방향 및 볼 제공 속도에 따라 상기 코트바닥부 상으로 볼을 제공하도록 구성되는 것을 특징으로 한다.
한편, 본 발명의 다른 일 실시예에 따른 가상 테니스 시뮬레이션 시스템은, 플레이어의 상대방인 가상의 상대방 플레이어와, 상기 플레이어가 테니스 플레이하는 코트바닥부에 대응되는 반대편 코트로서 상기 가상의 상대방 플레이어가 플레이하는 가상의 코트와, 상기 가상의 상대방 플레이어로 또는 상기 가상의 상대방 플레이어에 의해 이동하는 가상의 볼을 포함하는 가상 테니스 시뮬레이션 영상이 투영되는 스크린; 상기 스크린의 후면에 구비되어 상기 플레이어에게 볼을 제공하는 볼 머신; 상기 플레이어가 타격한 볼의 운동에 대해 센싱하여 볼 운동에 대한 센싱 데이터를 산출하는 센싱장치; 및 상기 스크린에 투영되는 가상 테니스 시뮬레이션 영상을 생성 및 처리하며, 상기 플레이어와 상기 가상의 상대방 플레이어 사이의 플레이에 따라 상기 가상의 상대방 플레이어의 플레이를 학습하는 테니스 인공지능을 구비하며, 상기 플레이어가 타격한 볼에 대한 상기 센싱장치의 센싱 데이터에 기초하여 가상의 볼이 상기 가상의 상대방 플레이어 쪽으로 이동하는 영상을 구현하고, 상기 테니스 인공지능에 의해 상기 가상의 상대방 플레이어가 가상의 볼을 리시브하는 위치인 가상 볼출발 위치 및 상기 가상 볼출발 위치에서 출발하는 가상의 볼의 운동 조건에 관한 정보를 결정하며, 상기 결정된 가상의 볼의 운동 조건에 따라 상기 볼 머신이 상기 플레이어에게 제공할 볼의 방향 및 속도를 설정하고, 상기 가상의 상대방 플레이어가 타격한 가상의 볼의 궤적에 대한 연장선상에서 상기 볼 머신이 볼을 상기 설정된 볼의 방향 및 속도로 제공하도록 하여 상기 플레이어로 하여금 상기 볼 머신에서 발사된 볼을 타격하도록 하는 방식으로 상기 플레이어와 영상 상의 상기 가상의 상대방 플레이어가 테니스 랠리를 구현할 수 있도록 하는 제어장치를 포함한다.
본 발명에 따른 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법, 이를 이용한 가상 테니스 시뮬레이션 시스템 및 방법은 종래의 스크린 테니스 시스템에 의해 구현하기 어려웠던 수준 높은 가상 상대방의 인공지능의 구현과 그로부터 플레이어가 다양한 상황에서의 테니스 연습 또는 테니스 경기를 진행할 수 있음으로 말미암은 현실감 있는 랠리 등을 실현할 수 있으므로 가상의 테니스 플레이를 즐기는 플레이어로 하여금 흥미를 향상시킬 수 있고 더욱 수준 높은 플레이를 할 수 있도록 하는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템으로서 스크린 테니스 시스템이 구현된 예를 나타낸 것이다.
도 2는 도 1에 도시된 가상 테니스 시뮬레이션 시스템의 스크린 및 그 주변의 구성에 관하여 나타낸 도면이다.
도 3은 도 1에 도시된 가상 테니스 시뮬레이션 시스템에서 제공하는 영상 컨텐츠의 일 예를 나타낸 도면이다.
도 4는 도 1에 도시된 가상 테니스 시뮬레이션 시스템의 구성을 나타낸 블록도이다.
도 5는 본 발명의 일 실시예에 따른 테니스 인공지능의 구현을 위한 방법의 일 예에 관하여 나타낸 플로우차트이다.
도 6 내지 도 8은 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법에 관하여 설명하기 위한 도면들이다.
도 9는 본 발명의 일 실시예에 따른 테니스 인공지능 구현 방법에 따른 인공지능이 가상 테니스 시뮬레이션 시스템에 적용되어 사용되는 것의 일 예에 관하여 설명하기 위한 플로우차트이다.
도 10은 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템에서 플레이어(P)와 영상 상의 가상의 상대방 플레이어(VP) 사이의 플레이와 이에 따른 볼 머신의 구동에 관하여 설명하기 위한 도면이다.
본 발명에 따른 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법, 이를 이용한 가상 테니스 시뮬레이션 시스템 및 방법에 대한 구체적인 내용을 도면을 참조하여 설명하도록 한다.
먼저, 도 1 내지 도 4를 참조하여 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템의 구성에 관하여 설명한다.
도 1은 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템으로서 스크린 테니스 시스템이 구현된 예를 나타낸 것이고, 도 2는 도 1에 도시된 가상 테니스 시뮬레이션 시스템의 스크린 및 그 주변의 구성에 관하여 나타낸 도면이며, 도 3은 도 1에 도시된 가상 테니스 시뮬레이션 시스템에서 제공하는 영상 컨텐츠의 일 예를 나타낸 도면이고, 도 4는 도 1에 도시된 가상 테니스 시뮬레이션 시스템의 구성을 나타낸 블록도이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템은 소정의 공간에 코트바닥부(30) 및 네트(32), 그리고 플레이어(P)의 전방에 스크린(20)을 구비하고, 상기 스크린(20)의 뒷쪽에는 라켓을 들고 테니스 플레이를 하는 플레이어(P)에게 상기 플레이어(P)가 타격할 수 있도록 볼을 제공하는 볼 머신(100)이 설치되며, 공간의 일측에 상기 스크린(20)에 영상을 투영하는 영상출력부(420)와 플레이어(P)가 타격하는 볼과 플레이어(P)의 움직임, 플레이어(P)가 사용하는 라켓 등에 대한 센싱 데이터를 수집하는 센싱장치(200)가 설치되어 구성될 수 있다.
상기 볼 머신(100), 센싱장치(200) 및 영상출력부(420) 등의 장치는 제어장치(300)와 연결되며, 상기 제어장치(300)는 상기 센싱장치(200)의 센싱 데이터를 전달받아 처리하며 사용자의 가상 테니스 연습 및 경기를 위한 영상 컨텐츠를 생성하여 상기 영상출력부(420)로 전달하고, 상기 영상출력부(420)는 상기 전달받은 영상 컨텐츠를 스크린(20)에 투영하며, 상기 볼 머신(100)의 볼 발사 및 발사되는 볼의 방향, 속도 등의 볼 발사 파라미터의 제어를 수행한다.
상기 볼 머신(100)은 스크린(20)의 뒷쪽에 설치되어 상기 스크린(20)에 형성된 볼 발사홀(22)을 통해 코트바닥부(30) 상의 미리 계산된 위치로 볼(1)을 발사하도록 구성되며, 도 1에 도시된 바와 같이 상기 볼 머신(100)은 다양한 위치로 다양한 속도의 볼(1)을 발사할 수 있도록 발사각 제어 및 발사속도 제어가 가능하도록 구성된다.
도 2에서는 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템을 실제 구현하여 스크린(20) 주변의 구성에 대해 촬영된 사진을 나타낸다.
도 2에 도시된 바와 같이, 볼 발사홀(22)은 스크린(20) 상의 대략 중간 정도의 위치에 구비될 수 있다. 물론 스크린(20) 상의 어느 위치에든 설치될 수 있으나 다양한 궤적의 볼에 대한 (상대방 플레이어의) 리시브를 구현함에 있어서 도 2에 도시된 바와 같이 대략 중간 정도의 위치가 바람직하다.
스크린(20)의 앞쪽에는 사용자가 스크린(20)을 향하여 타격한 볼이 스크린(20)에 충돌한 후 다시 사용자 쪽으로 굴러오지 않고 다시 볼 머신(100) 쪽으로 회수될 수 있도록 네트(32)와 경사 구조로 설치되는 바닥 그물망(32a) 등이 설치될 수 있으며 양 측면에는 외부로 볼이 튀어 나가지 않도록 안전그물망(33, 34)이 설치됨이 바람직하다.
상기 네트(32) 및 바닥 그물망(32a)에 의해 모이는 볼(2)은 스크린(20) 하단의 회수구(40) 쪽으로 모여서 다시 볼 머신 쪽으로 이송될 수 있도록 구성할 수 있다.
한편, 도 3은 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템에서 제공하는 영상 컨텐츠의 일 예를 나타낸다.
도 3에 도시된 바와 같이, 전체 영상(IM)에는 메인 영상(500)과 미니맵 영상(600)이 포함된다.
메인 영상(500)은 사용자가 플레이하는 코트바닥부의 반대쪽 부분에 대한 가상 환경이 구현되고 가상의 상대방 플레이어(VP), 심판 등에 대한 컨텐츠 영상이 포함될 수 있다.
메인 영상(500)에서 마치 실제 테니스 매치에서 상대방이 플레이하듯, 가상의 상대방 플레이어(VP)는 미리 설정된 인공지능에 따라 가상의 볼(VB)을 리시브(타격)하며, 이때 도 3에 도시된 바와 같이 가상의 상대방 플레이어(VP)가 타격한 가상의 볼(VB)의 궤적(Tb)이 표시될 수도 있고 표시되지 않도록 할 수도 있다. 궤적의 표시 여부와는 상관없이 가상의 볼(VB)의 궤적은 계산되어야 하고 그 궤적에 따라 영상 컨텐츠의 제어 및 볼 머신에서의 볼 발사 파라미터가 산출되어 구현될 수 있다. 이에 대한 구체적인 설명은 후술하도록 한다.
한편, 미니맵 영상(600)은 사용자가 플레이하는 코트바닥부 및 반대쪽 부분의 가상 환경에 관한 부분을 하나의 전체 테니스 코트로 하여 이를 위에서 바라본 평면도로써 소정 크기로 축소하여 표시되는 부분이다.
상기 미니맵 영상(600) 부분에는 사용자의 현재 위치, 사용자를 기준으로 하는 설정된 영역, 가상 플레이어의 공간상의 위치와 궤적, 볼의 위치 등 다양한 정보가 표시될 수 있다.
한편, 도 4를 참조하여 상기 도 1에 도시된 바와 같은 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템을 구성하는 각 구성요소들의 제어 계통에 관하여 설명하도록 한다.
도 4에 도시된 바와 같이 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템은, 볼 머신(100), 센싱장치(200), 제어장치(300) 및 영상출력부(420)를 포함하여 구성될 수 있으며, 상기 제어장치(300)가 테니스 인공지능을 영상 상의 가상의 상대방 플레이어를 통해 구현할 수 있도록 하기 위하여 상기 테니스 인공지능의 구현을 위한 데이터베이스화 된 데이터를 저장하는 데이터베이스(520) 및 서버연산부(510)를 포함하는 서버(500)가 상기 제어장치(300)와 통신 가능하도록 연결되어 구성될 수 있다.
상기 제어장치(300)는 데이터저장부(320), 영상처리부(330), 제어부(310) 등을 포함하여 구비될 수 있으며, 상기 영상출력부(420)는 상기 영상처리부(330)에 의해 처리된 영상이 스크린(20) 상에 투영될 수 있도록 하는 프로젝션 장치 등에 의해 구현될 수 있다.
상기 데이터저장부(320)는 가상 테니스 시뮬레이션 시스템에서 이루어지는 테니스 연습 또는 경기에 관한 배경 영상, 가상의 플레이어에 대한 영상, 타격된 볼 등에 대한 시뮬레이션 영상 등의 처리를 위한 데이터가 저장되는 부분이다. 상기 데이터저장부(320)는 서버(500)로부터 전송받은 데이터를 임시 저장하는 저장소 역할을 하는 것으로 구성될 수도 있다.
상기 영상처리부(330)는 가상의 테니스장에 관한 영상, 선수와 심판, 관객 등에 관한 영상 등의 백그라운드 영상과 가상의 상대방 플레이어가 볼을 타격하는 영상, 플레이어가 타격한 볼의 궤적에 대한 시뮬레이션 영상 등 각종 시뮬레이션 관련 영상을 생성한다.
상기 제어부(310)는 센싱장치(200)에서 수집한 센싱데이터를 기초로 가상의 볼의 시뮬레이션 영상 구현을 위한 각종 연산을 수행하며, 가상의 볼의 시뮬레이션 결과에 대응하도록 볼 머신(100)이 볼을 발사할 수 있도록 제어하는 기능을 수행하기도 한다.
특히 상기 제어부(310)는 영상 상의 가상의 상대방 플레이어가 테니스 인공지능에 의해 플레이를 할 수 있도록 하기 위한 테니스 인공지능이 구현되도록 하는 제어를 수행한다.
테니스 인공지능의 구현을 위해서는 데이터베이스화 된 데이터가 필요한데, 이러한 데이터를 서버(500)의 데이터베이스(520)에 저장하고 있다가 제어부(310)가 필요한 데이터를 요청하면 서버연산부(510)가 데이터베이스(520)에서 필요한 데이터를 추출하여 전송하고, 제어부(310)는 그 전송받은 데이터를 이용하여 테니스 인공지능을 구현할 수 있다.
물론 서버(500) 없이 제어장치(300)의 데이터저장부(320)에 테니스 인공지능 구현을 위한 데이터를 저장할 수도 있고, 가상 테니스 시뮬레이션 시스템이 구동되는면 서버(500)가 인공지능 구현을 위한 데이터를 상기 제어장치(300)의 데이터자장부(320)로 전송하여 임시적으로 저장하도록 하면서 제어부(310)가 데이터저장부(320)에 저장된 데이터를 이용하여 테니스 인공지능을 구현할 수 있도록 하는 것도 가능하다.
상기한 테니스 인공지능의 구현에 관한 좀 더 구체적인 내용은 후술하도록 한다.
한편, 상기 센싱장치(200)는 플레이어가 라켓으로 타격하는 것에 대한 이미지를 연속적으로 촬영하여 그 촬영된 이미지들을 분석함으로써 타격된 볼의 운동 정보는 물론, 그 타격된 볼이 스크린 상의 어느 부분에 도달하는지 정확하게 센싱하는 카메라 센싱 방식의 장치로서 구성할 수 있다.
상기 센싱장치(300)는 카메라유닛(210), 센싱처리유닛(220) 및 카메라 제어부(230)를 포함하여 구성될 수 있는데, 상기 카메라유닛(210)은 미리 설정된 영역을 포함하는 일정 촬영 범위에 대한 이미지를 연속적으로 취득하며, 상기 센싱처리유닛(220)은 상기 카메라유닛(210)으로부터 이미지를 전달받아 미리 설정된 사항에 따른 이미지 분석을 수행하여 상기 가상 테니스 시뮬레이션에 따른 테니스 연습 또는 테니스 경기에 필요한 정보를 산출한다.
상기 센싱장치(200)의 카메라유닛(210)은 서로 다른 위치에서 동일한 촬영 범위를 각각 촬영하여 촬영된 이미지 상의 객체에 대한 3차원 위치 정보를 산출해 낼 수 있도록 제1 카메라(211) 및 제2 카메라(212)를 포함하여 스테레오 방식(Stereoscopic)으로 구성함으로써, 상기 센싱처리유닛(220)이 상기 카메라유닛(210)이 촬영한 이미지의 분석을 통해 볼에 대한 3차원 좌표 데이터를 얻을 수 있도록 함이 바람직하다.
도면상으로 도시되어 있지는 않지만, 본 발명에 따른 시스템에 구비되는 센싱장치(200)의 카메라유닛(210)은 그 화각의 중심을 기준으로 전후좌우로 각각 틸팅 가능하도록 구성될 수 있으며, 제1 카메라(211) 및 제2 카메라(212)는 각각 자동으로 줌인-줌아웃이 가능하도록 구성될 수 있다.
상기 카메라 제어부(230)는 상기 제1 카메라(211) 및 제2 카메라(212) 각각의 전후좌우 틸팅 및 줌인-줌아웃을 이미지의 처리 결과에 따라 또는 촬영된 이미지에서 플레이어가 검출되는 위치에 따라 미리 설정된 프로그램에 따라 제어하도록 구성될 수 있다.
상기 제1 카메라(211) 및 제2 카메라(212)가 각각 전후 방향 또는 좌우 방향으로의 1축 방향 틸팅을 하도록 구성하는 것도 가능하다.
3차원 공간에서 상기 각 카메라의 위치 정보와 카메라의 화각을 참조하여, 3차원 공간에서 특정 영역별 카메라의 pan 과 zoom 값을 갖고 있는 데이터 테이블을 제작하여 미리 저장해 놓고, 이를 기반으로 플레이어의 위치 정보가 검출되었을 때 각각의 카메라가 해당 위치를 겨냥하도록 상기 카메라 제어부(230)가 제어하도록 하는 것이 가능하다.
따라서, 사용자가 코트바닥부에서 다이나믹하게 움직이면서 다양한 위치로 발사되는 볼을 타격하는 것을 모두 정확하게 포착하여 센싱 데이터 수집을 위한 이미지를 취득할 수 있다.
상기 센싱처리유닛(220)은 상기 카메라유닛(210)의 제1 카메라(211) 및 제2 카메라(212) 각각으로부터 촬영된 이미지를 전달받아 수집하면서 그 수집된 이미지 각각을 분석하여 볼을 찾아 각 볼에 대한 3차원 좌표 데이터를 추출하고 그 추출된 3차원 좌표 데이터를 이용하여 (플레이어의 라켓에 의해) 타격되어 운동하는 볼에 대한 볼의 운동 모델을 결정하며, 볼의 운동 모델이 결정되면 이를 이용하여 상기 가상 테니스 시뮬레이션을 통한 테니스 연습 및 테니스 경기에 필요한 각종 정보를 산출한다.
여기서, 볼의 운동 모델은 타격되어 운동하는 볼의 3차원 공간 상에서의 궤적에 관한 운동 방정식으로 표현되는 것을 의미하며, 도 1에 도시된 바와 같이 본 발명에 따른 시스템에 의한 테니스 연습 또는 경기가 이루어지는 공간에 대해 x축, y축 및 z축의 3차원 좌표계로 정의하여 그 정의된 좌표계에 따라 상기 볼의 운동 모델이 결정될 수 있다.
즉, 상기 볼의 운동 모델은 x축 방향의 운동 방정식, y축 방향의 운동 방정식 및 z축 방향의 운동 방정식으로 정의될 수 있다.
상기한 바와 같은 볼의 운동 모델 산출은 종래의 스크린 골프 시스템 등에서 센서가 골프클럽으로 타격된 볼의 운동을 센싱하여 센싱데이터를 산출하는 것과는 완전히 다른 것이다.
종래의 스크린 골프 시스템 등에서도 카메라 방식의 센싱장치가 널리 이용되고 있지만 상기 센싱장치는 볼이 타격되었을 때의 출발 속도, 출발 방향각 및 높이각 등 초기 운동 조건을 산출하여 가상의 공간, 즉 가상의 골프코스에서 상기 산출한 초기 운동 조건에 따라 볼이 출발하였을 때 물리엔진에 의해 시뮬레이션 되는 볼의 궤적을 산출하는 방식이었다.
그러나, 본 발명에 따른 가상 테니스 시뮬레이션 시스템의 센싱장치가 산출하는 볼의 운동 모델은 볼이 타격되었을 때의 초기 운동 조건을 산출하는 것이 아니라 실제 플레이어가 플레이하는 공간, 즉 실제 3차원 공간 상에서의 각 좌표축 방향의 운동 방정식에 기초하여 산출하는 볼의 운동 모델로서 실제 볼이 이동하는 모델을 구하는 것이다.
이러한 볼의 운동 모델을 산출함으로써 단순히 볼의 초기 운동 조건을 센싱하여 산출하는 경우보다 더 다양하고 많은 정보의 제공이 가능하고, 특히 가상 테니스 시뮬레이션과 같이 현실과 가상의 세계가 자주 교차하고 더욱 긴밀하게 연결되어야 하는 경우에 있어서는 더욱 적합한 센싱 방식이다.
한편, 본 발명은 상기한 바와 같이 플레이어가 타격한 볼의 움직임을 볼 운동 모델로서 산출할 뿐만 아니라 상기 플레이어의 움직임도 센싱하여 플레이어의 위치를 지속적으로 산출함으로써 플레이어가 타격한 볼의 움직임과 상기 플레이어의 움직임 두 가지 모두에 기초하여 가상 테니스 플레이가 가능하도록 함으로써 플레이어가 다양한 상황과 플레이 스타일에 따른 역동적인 테니스 플레이를 즐길 수 있도록 한다.
제어장치는 플레이어의 실력레벨, 난이도, 플레이스타일 중 적어도 하나에 대한 정보와 영상으로 구현되는 가상의 상대방 플레이어의 인공지능에 따라 센싱장치에 의해 검출되는 플레이어의 위치 및 상기 센싱장치에 의해 산출되는 볼의 운동 모델에 대응하여 상기 가상의 상대방 플레이어가 타격하는 가상의 볼에 따라 상기 플레이어에게 제공될 볼의 방향과 속도 등을 결정하고 볼 머신이 그에 따라 볼을 제공하도록 하는 것이 가능하다.
예컨대, 플레이어의 실력레벨이 높은 경우 센싱장치에 의해 검출되는 플레이어의 위치와 멀리 떨어진 위치를 특정하여 해당 위치로 볼 머신이 볼을 제공하도록 함으로써 플레이어가 까다로운 리시브 상황에서 볼을 타격하도록 하는 가상 플레이를 구현할 수 있다.
한편, 본 발명은 상기한 바와 같이 플레이어가 타격한 볼의 움직임을 볼 운동 모델로서 산출하고, 상기 플레이어의 움직임도 센싱하여 플레이어의 위치를 지속적으로 산출할 뿐만 아니라, 더 나아가 플레이어가 들고 있는 라켓까지 검출함으로써 플레이어가 타격한 볼의 움직임, 상기 플레이어의 움직임 및 라켓 검출을 통한 플레이어의 플레이시의 자세 정보 모두에 기초하여 가상 테니스 플레이가 가능하도록 함으로써 플레이어가 더욱 다양한 상황과 플레이 스타일에 따른 역동적인 테니스 플레이를 즐길 수 있도록 한다.
제어장치는 플레이어의 실력레벨, 난이도, 플레이스타일 중 적어도 하나에 대한 정보와 영상으로 구현되는 가상의 상대방 플레이어의 인공지능에 따라 센싱장치에 의해 검출되는 플레이어의 위치, 상기 센싱장치에 의해 산출되는 볼의 운동 모델, 플레이어가 백핸드 자세로 스윙을 하는지 포핸드 자세로 스윙을 하는지 등에 대한 스윙 자세 정보에 대응하여 상기 가상의 상대방 플레이어가 타격하는 가상의 볼에 따라 상기 플레이어에게 제공될 볼의 방향과 속도 등을 결정하고 볼 머신이 그에 따라 볼을 제공하도록 하는 것이 가능하다.
예컨대, 플레이어의 실력레벨이 높은 경우 센싱장치에 의해 검출되는 플레이어의 위치와 멀리 떨어진 위치를 특정하여 해당 위치로 볼 머신이 볼을 제공하되 해당 플레이어가 오른손잡이인지 왼손잡이인지 미리 파악하여 리시브가 어려운 백핸드를 유도하도록 하는 위치로 볼을 제공하도록 함으로써 플레이어가 까다로운 리시브 상황에서 볼을 타격하도록 하는 가상 플레이를 구현할 수 있다.
한편, 상기 볼 머신(100)은 스크린(20)의 후면에 설치되어 스크린(20) 상의 볼 발사홀(22)을 통해 볼을 발사하는 장치로서, 두 개 이상의 휠을 회전시키고 그 휠들 사이에 볼을 위치시켜 상기 휠들의 회전력에 의해 볼을 발사하는 방식, 볼을 마치 총알처럼 발사시키는 방식 등 다양한 방식에 의해 구현될 수 있다.
상기 볼 머신(100)은 영상 상의 가상의 상대방 플레이어에 대해 테니스 인공지능에 따라 결정되는 타격조건 및 타격된 볼의 궤적 등에 따라 그 설정된 타격조건 상의 볼의 속도, 구질 등을 제어하여 볼 발사가 이루어지도록 할 수 있다.
또한, 상기한 볼 머신(100)은 볼을 발사하는 부분을 상하 방향 및 좌우 방향으로 각각 틸팅 할 수 있도록 구성하여, 상기한 타격조건에 맞게 볼을 발사하는 부분의 틸팅 구동을 제어하여, 스크린 상의 볼 발사홀을 통해 소정 각도 범위 내에서 다양한 방향으로 볼이 발사되도록 할 수 있다.
상기한 바와 같은 구성 및 특징을 갖는 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템은 플레이어가 코트바닥부에서 움직이면서 볼 머신으로부터 제공되는 볼을 라켓으로 타격할 수 있으며, 이때 그 타격된 볼이 영상 상의 가상의 공간으로 넘어가서(예컨대, 실제 이동하는 볼이 스크린에 도달한 후 그 위치에서부터 영상 상에서 가상의 볼이 이동하는 것) 가상의 코트에서 가상의 상대방 플레이어가 상기 타격된 실제 볼에 대한 가상의 볼이 이동하는 것에 대해 리시브(타격)를 하고 그에 따라 리시브 된 가상의 볼이 이동하는 영상이 구현된다.
이때 상기 가상의 상대방 플레이어가 어느 방향으로 어떻게 볼을 리시브하는지는 테니스 인공지능에 의해 결정될 수 있으며, 이는 인공지능을 구현하는 제어부가 여러 가지 정보를 이용하여 결정할 수 있다. 나아가 가상의 상대방 플레이어가 리시브한 가상의 볼의 궤적의 연장선상에서 볼 머신을 통해 실제 볼이 제공될 수 있도록 상기 제어부가 상기 볼 머신을 제어하도록 하는 것도 가능하다.
상기한 바와 같은 테니스 인공지능에 따른 가상의 상대방 플레이어의 플레이가 진행되기 위해서는 테니스 인공지능이 다양한 상황에서 다양한 볼 운동 조건으로 볼을 타격하는 영상을 구현할 수 있도록 데이터가 수집되어 저장되는 것이 필요하며, 도 5에서는 이와 같은 테니스 인공지능의 구현을 위한 방법의 일 예에 관하여 플로우차트로서 설명하고 있다.
즉, 도 5에 도시된 플로우차트는 테니스 인공지능이 의도하는 위치로 볼을 보낼 수 있도록 미리 시뮬레이션한 결과를 데이터베이스화 하여 저장하는 과정에 관한 것이다.
먼저, 코트바닥부에 대응하는 영상 및 가상의 코트에 대한 영상을 구현한다(S100). 즉, 도 6에 도시된 바와 같이 코트바닥부에 대한 영상(31) 및 그 반대편 코트로서 영상 상의 가상의 상대방 플레이어가 플레이하는 가상의 코트(VW)에 대한 영상이 구현될 수 있다.
그리고, 코트바닥부(31)에 대해 다수의 그리드면을 갖는 코트그리드(Gr)를 설정하고(S110), 가상의 코트(VW)에 대해 다수의 입체그리드를 갖는 가상코트그리드(VGr)를 설정한다(S120).
코트그리드(Gr)의 설정 및 가상코트그리드(VGr)의 설정에 대해서는 도 6 및 도 7에서 도시하고 있다.
도 6 및 도 7에 도시된 바와 같이 코트바닥부(31)에는 다수의 그리드면을 갖는 코트그리드(Gr)가 설정되어 있고 가상의 코트(VW)에는 다수의 입체그리드를 갖는 가상코트그리드(VGr)가 설정되어 있다.
테니스 인공지능은 각각의 코트그리드 및 각각의 가상코트그리드의 각 그리드면 단위로 가상 볼출발 위치 및 목표 위치를 인식할 수도 있고, 각각의 그리드면 내에서 특정 위치를 각각 가상 볼출발 위치 및 목표 위치로 인식할 수도 있다.
여기서 상기 가상 볼출발 위치는 영상 상의 가상의 상대방 플레이어가 플레이하는 가상의 코트 상에서 상기 가상의 상대방 플레이어가 가상의 볼을 서브 또는 리시브하는 위치를 말하며 (도 6에 도시된 Ap), 상기 목표 위치는 코트바닥부의 영상(31) 상에서 테니스 인공지능이 볼을 보낼 것을 의도하는 위치를 말한다.
가상 볼출발 위치는 가상코트그리드의 일 입체그리드일 수도 있고 그 입체그리드면 내부의 특정 위치로서 설정될 수도 있으며, 목표 위치는 코트그리드의 일 그리드면일 수도 있고 그 그리드면 내부의 특정 위치로서 설정될 수도 있다.
코트그리드(Gr) 및 가상코트그리드(VGr)의 그리드면, 입체그리드의 크기와 개수는 임의로 설정할 수 있으며, 그리드면, 입체그리드의 크기를 작게 설정하여 개수가 많아질수록 테니스 인공지능에 의한 가상 상대방 플레이어의 타격 방향이 정교해질 수 있다.
다시 도 5로 돌아와서, 테니스 인공지능은 상기한 바와 같이 바와 같이 코트그리드(Gr) 및 가상코트그리드(VGr)의 설정이 된 후, 가상코트그리드(VGr)의 임의의 위치(임의의 입체그리드 또는 해당 입체그리드 내의 임의의 위치) 또는 미리 설정된 위치를 상기한 가상 볼출발 위치로서 결정한다(S130).
그리고, 테니스 인공지능은 코트그리드(Gr)의 임의의 위치(임의의 그리드면 또는 해당 그리드면 내의 임의의 위치) 또는 미리 설정된 위치를 상기한 목표 위치로서 결정한다(S140).
상기한 바와 같이 가상 볼출발 위치와 목표 위치가 각각 결정된 후, 테니스 인공지능은 상기 가상 볼출발 위치로부터 가상의 볼을 시뮬레이션 할 임의의 볼 운동 조건을 결정한다(S150).
그리고, 가상 볼출발 위치로부터 상기 결정된 볼 운동 조건으로 가상의 볼 궤적에 대한 시뮬레이션을 진행한다(S160).
이때, 상기 시뮬레이션의 결과 가상의 볼이 목표 위치의 소정 범위 내에 도달하지 않았다면(S170), 상기 진행된 시뮬레이션에 이용된 볼 운동 조건을 수정하여(S172) 다시 상기 가상 볼출발 위치로부터 상기 수정된 볼 운동 조건으로 가상의 볼 궤적에 대한 시뮬레이션 진행하며 시뮬레이션 결과 가상의 볼이 목표 위치의 소정 범위 내에 도달하였는지 판단하여 도달하지 않았다면 다시 볼 운동 조건을 수정하여 시뮬레이션을 진행하는 것을 반복적으로 실시한다.
이와 같이 반복적이 볼 운동 조건이 수정 및 시뮬레이션의 진행 끝에 시뮬레이션된 가상의 볼이 목표 위치의 소정 범위 내에 도달하면, 그 도달에 이르게 한 볼 운동 조건 정보를 데이터베이스에 저장한다. 이때 상기 가상 볼출발 위치 정보 및 목표 위치의 정보 역시 데이터베이스에 저장한다(S174).
상기한 바와 같은 볼 운동 조건의 결정 과정에 대해 도 6 내지 도 8을 참조하여 좀 더 자세히 설명한다.
가상의 볼이 가상의 코트(VW)에 바운드 된 위치에 대응하는 입체그리드와 바운드 된 위치를 기반으로 실질적으로 가상의 상대방 플레이어가 볼을 리시브할 위치에 대응하는 입체그리드를 정하고(따라서 도6에 도시된 바와 같이 가상의 코트(VW) 상에 설정되는 가상코트그리드(VGr)는 평면 상의 그리드가 아니라 입체 형상의 그리드임) 이를 바탕으로 효과적인 목표 위치(Tp)에 대응하는 상대방 코트(즉, 플레이어 측의 코트바닥부(31)) 상의 코트그리드(Gr)로 공을 보낼 수 있도록 하는 방향을 구해낸다.
이때, 테니스 인공지능은 가상 볼출발 위치(Ap)로부터 운동하는 가상의 볼의 궤적이 통과하는 영역으로서 볼패싱 영역(PR)을 미리 설정하며, 목표 위치 또는 목표 위치의 소정 범위 내에 도달하도록 결정된 볼 운동 조건에 따라 시뮬레이션된 가상의 볼의 궤적이 상기 볼패싱 영역(PR)을 통과하도록 상기 볼 운동 조건을 수정하여 시뮬레이션하는 것을 반복할 수 있다.
상기한 바와 같이 볼패싱 영역(PR)을 설정해 놓음으로서 볼이 지나치게 높게 시뮬레이션 되는 경우 등 비정상적인 경우를 방지할 수 있다.
상기 볼패싱 영역(PR)을 좁게 설정할수록 인공지능의 볼은 네트에 가깝게 넘어오기 때문에 받아내기 까다로운 볼이 될 수 있다.
상기한 볼 운동 조건은 가상의 볼의 궤적 상의 방향벡터, 속도벡터 등으로 정의할 수 있다.
볼이 목표 그리드(Tp가 존재하는 그리드)에 도달하지 못하고 지나칠 경우는 볼의 세기(벡터의 크기, 즉 속도)를 감소시키고 방향을 아래로(벡터의 3차원 공간상의 좌표의 한 축성분) 낮춘다. 볼이 목표 그리드에 못 미칠 경우는 볼의 세기(벡터의 크기)를 높이고 방향을 위로 올린다.
매 시도마다 상기한 바와 같이 볼이 목표 위치 즉, 목표 그리드에 가까워지도록 조금씩 방향과 세기를 조정한다. 도 11에 나타낸 임의 볼 궤적(Tr)과 같이 초기의 방향은 목표 지점(Tp)의 그리드를 크게 벗어나지만 시뮬레이션이 진행될수록 목표 위치에 볼이 도달할 확률이 높아진다.
도 8의 (a)에서는 n 번째 시도에 따른 궤적(Trn)을 나타내고 있는데, 여기서 시뮬레이션을 계속 진행할수록 점점 더 목표 위치(Tp)인 그리드면에 볼이 도달할 수 있고, 도 8의 (b)는 이렇게 해서 볼이 목표 위치(Tp)인 그리드면에 도달한 경우를 나타내고 있다(이때의 궤적을 Tb로 나타내었다). 목표 위치(Tp)에 볼이 도달할 수 있는 방향을 산출하면 해당 방향과 이때의 운동 조건(속도, 방향, 높이각 등)을 저장해둔다. 이들 운동 조건 정보는 방향벡터, 속도벡터 등의 형태로 저장될 수도 있고 상기한 바와 같은 볼의 속도, 방향, 높이각 등의 파라미터로써 저장될 수도 있다.
목표 그리드에 도달하는 방향 및 운동 조건을 얻어냈을 경우에는 실제 테니스 경기에서 상대에게 위협적인 스윙과 유사해지도록 조금씩 볼의 속력이 높아지고 방향이 낮아지도록 조금씩 조절하면서 시뮬레이션을 진행한다. 이때 볼패싱 영역(PR)의 위로 볼이 지나치면 방향을 아래로 수정하고 볼패싱 영역(PR) 아래로 볼이 지나치면 방향을 위로 올려 다음 시뮬레이션을 진행한다.
목표 위치(Tp)에 도달할 수 있는 방향벡터를 미리 설정된 개수 이상 충분히 찾아내면 방향 벡터들을 평균내서 파일에 저장한다. 이렇게 저장된 방향은 가상 볼출발 위치(AP)에서 목표 위치(Tp)에 인공지능이 가상의 볼을 발사하는 방향이 된다.
이와 같은 방식으로 가상코트그리드의 모든 입체그리드와 코트그리드의 모든 그리드면에 대해 상기한 가상 볼출발 위치의 결정 및 목표 위치의 결정을 하고 시뮬레이션을 반복 진행하면서 볼 운동 조건을 찾아내는 과정을 반복 수행하면서 도출되는 데이터는 데이터베이스에 저장한다.
또한, 인공지능이 목표 위치로로 볼을 발사할 때 랜덤 방향의 추가가 가능하도록 설정함으로써 좀 더 다양한 상황을 발생시킬 수 있다. 그리고 필요에 따라 그리드면 또는 입체그리드의 크기를 조정해 인공지능의 스윙을 정밀하게 조작해 플레이어가 느끼는 난이도를 조정할 수도 있다.
한편, 상기한 바와 같은 방식으로 시뮬레이션을 수없이 반복하면서 적절한 데이터를 찾아서 학습하는 테니스 인공지능이 가상 테니스 시뮬레이션 시스템에 적용되어 사용되는 것의 일 예에 관하여 도 9의 플로우차트를 통해 설명하도록 한다.
본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템을 통한 플레이어의 가상 테니스 플레이가 진행되면서(S200), 센싱장치는 상기 플레이어의 타격에 따른 볼 운동에 대한 센싱데이터를 산출한다(S210).
앞서 설명한 바와 같이 센싱장치는 상기 센싱데이터로서 볼 운동 모델을 산출하기도 하지만 플레이어의 위치 정보 및 플레이어가 들고 있는 라켓의 방향 및 자세에 대한 정보 등도 산출할 수 있다.
플레이어가 타격한 실제 볼이 스크린에 도달한 후부터 스크린 상의 영상에서는 가상의 코트로 이동하는 가상의 볼(상기 실제 볼의 연장선상에서 이동하도록 함)의 궤적에 대한 시뮬레이션 영상이 구현된다(S220).
영상 상에서 가상의 상대방 플레이어가 가상의 코트에서 가상의 볼을 리시브하는 영상이 구현되는데, 이때 가상 볼출발 위치가 결정된다(S230).
그리고 테니스 인공지능에 의해 가상의 상대방 플레이어가 리시브한 타구가 도달하는 코트바닥부 상의 목표 위치가 결정된다(S240).
테니스 인공지능은 플레이어가 타격한 볼에 대한 볼 운동 모델, 플레이어의 위치, 플레이어의 스윙이 포핸드인지 백핸드인지 여부, 그리고 미리 저장되어 있는 플레이어의 정보(예컨대, 오른손잡이인지 왼손잡이인지 여부와, 플레이어의 실력레벨, 난이도, 플레이스타일 등)를 이용하여 상기한 목표 위치를 결정할 수 있다.
플레이어의 실력이 높을 경우 까다로운 위치를 목표 위치로 결정할 수 있고 플레이어의 실력이 낮을 경우 쉬운 위치를 목표 위치로 결정할 수 있다.
한편, 가상 볼출발 위치로부터 가상의 볼이 코트바닥부 상의 목표 위치에 도달하도록 하는 볼 운동 조건에 관한 정보를 결정한다(S250).
상기 볼 운동 조건에 관한 정보는 서버의 데이터베이스 또는 제어장치의 데이터저장부에 저장된 해당 가상 볼출발 위치에서 결정된 목표 위치로의 방향 벡터 등에 대한 데이터로서 인공지능은 데이터베이스 또는 데이터저장부로부터 추출한 데이터를 그대로 이용하여 가상의 볼이 리시브되도록 할 수도 있지만, 앞서 설명한 플레이어의 정보와 볼 운동 모델, 플레이어의 위치 정보 등을 토대로 추출된 방향벡터를 수정하여 시뮬레이션 할 수도 있다.
상기한 바와 같이 볼 운동 조건에 관한 정보가 결정되면, 영상 상의 가상의 상대방 플레이어가 볼을 리시브(타격)하고 이에 따라 상기 결정된 볼 운동 조건으로 가상의 볼 궤적에 대한 시뮬레이션이 진행된다(S260).
이때, 상기한 바와 같은 '목표 위치'는 실제 코트바닥부를 대상으로 한 것이라기보다는 실제 코트바닥부를 동일하게 영상으로 구현하였을 때의 영상 상의 코트바닥부를 대상으로 한 것이라 할 수 있다. 즉, 가상의 상대방 플레이어가 목표 위치를 향하여 가상의 볼을 리시브하여 출발하면서 시뮬레이션이 진행되더라도 그 가상의 볼이 실제 코트바닥부 상에 도달할 수는 없다.
본 발명의 일 실시예에 다른 가상 테니스 시뮬레이션 시스템은 상기한 바와 같은 영상 상의 가상의 볼 궤적의 연장선상에서 볼 머신이 볼을 제공할 수 있도록 하되, 볼 머신의 볼 제공 방향 및 볼 제공 속도 등을 상기 가상의 볼 궤적의 시뮬레이션되는 것과 대응하도록 결정하여(S310) 그에 따라 볼 머신이 볼을 제공하도록 함으로써(S320) 가상의 볼의 궤적에 이어서 실제 볼이 상기 가상의 볼의 궤적의 남은 구간을 마무리하는 것과 같은 효과를 얻음으로서 플레이어로서는 가상의 테니스 플레이를 하면서도 마치 실제 테니스 플레이를 하는 것과 같은 리얼리티를 느낄 수 있다.
이에 대해 도 10에서 나타내고 있는데, 도 10은 영상 컨텐츠로 제공되는 가상의 영역을 마치 물리적 영역인 것처럼 나타내었다.
즉, 플레이어(P)가 위치하는 코트바닥부(30)의 전방에 설치된 스크린(20) 뒷쪽에 상기 스크린(20) 상에서 구현되는 영상 컨텐츠와 동일한 가상의 영역(VW)이 존재한다고 가정하고 그 부분을 나타낸 것이다.
도 10에 도시된 바와 같이, 가상의 영역(VW)의 가상의 코트(VC)에서 가상의 플레이어(VP)가 볼을 타격하면 제어장치의 제어부는 그 궤적(Tb)을 계산하고 그 계산된 궤적(Tb)과 운동 조건에 따라 궤적(Tb)이 스크린(20)이 볼 발사부(22)에 연결되고 볼 발사부(22)부터는 실제 볼(1)이 궤적(Tb)과 운동 조건에 대응하여(동일한 궤적과 운동 조건으로 발사될 수도 있고 적절한 가중치를 적용하여 실제 공간을 고려하여 조금 더 약하게 발사되도록 할 수도 있다) 발사된다.
제어장치는 플레이어(P)의 실력레벨, 난이도, 플레이스타일 등에 대한 정보를 미리 저장하며, 가상 테니스 시뮬레이션 영상 상의 가상의 상대방 플레이어(VP)를 인공지능에 의해 제어하는 것이다.
제어장치는 플레이어(P)의 실력레벨, 난이도, 플레이스타일 등에 대한 정보와 가상의 상대방 플레이어(VP)의 인공지능에 따라, 센싱장치에 의해 검출되는 플레이어의 위치 (및 라켓 검출에 따른 플레이어의 스윙 자세)에 대응하여 상기 가상의 상대방 플레이어(VP)가 타격하는 가상의 볼에 따라 상기 플레이어(P)에게 제공될 볼(실제 볼로서 볼 머신이 발사할 볼)의 방향, 속도 등의 볼 발사 파라미터를 결정하고, 그 결정되는 볼(실제 볼)의 방향에 따라 가상의 상대방 플레이어(VP)가 타격한 가상의 볼의 궤적에 대한 시뮬레이션 영상을 처리하며, 볼 머신(100)의 볼 발사 방향을 상기 결정된 볼의 방향에 대응하도록 설정하고, 도 10에 도시된 바와 같이 가상의 상대방 플레이어(VP)가 타격한 가상의 볼의 궤적에 대한 연장선상에서 상기 볼 머신(100)이 볼(1)을 상기 결정된 볼의 방향으로 제공하도록 제어하는 방식으로 가상 테니스 플레이가 진행될 수 있다.
한편, 다시 도 9로 돌아와서, 상기한 S260 단계에서 볼 운동 조건으로 가상의 볼 궤적에 대한 시뮬레이션이 진행될 때, 플레이어의 입장에서는 상기 시뮬레이션에 이어서 볼 머신이 볼을 발사하는 것을 다시 리시브함으로써 랠리를 진행하는 것이지만, 테니스 인공지능의 입장에서는 상기한 시뮬레이션되 가상 볼의 궤적이 계속 진행된다면 코트바닥부 상의 목표 위치의 소정 범위 내에 도달하는지 확인을 한다(S270).
만약 가상 볼의 궤적이 계속 진행하여 목표 위치의 소정 범위 내에 도달한 것으로 판단하면(S280) 데이터의 수정은 없고, 만약 목표 위치의 소정 범위 내에 도달하지 않았다면 데이터베이스 또는 데이터저장부에 저장된 해당 볼출발 위치에서의 볼 운동 조건에 대한 정보를 변경하여 저장한다(S290). 예컨대 가상의 볼 궤적이 목표 위치를 지나칠 경우에는 방향벡터의 방향을 좀 더 낮추도록 변경하거나 속도를 좀 더 낮추도록 변경하여 저장할 수 있다.
종래의 스크린 테니스 시스템은 플레이어가 스크린을 향하여 볼을 타격하는 것과 무관하여 일정한 볼이 볼공급장치로부터 플레이어 쪽으로 공급되었었기 때문에 플레이어 입장에서는 테니스 플레이를 통한 랠리를 하는 것이 아니라 단지 단조로운 연습을 하는 것일 뿐이었다.
그러나, 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템은 상기 플레이어와 상기 가상의 상대방 플레이어 사이의 플레이에 따라 상기 가상의 상대방 플레이어의 플레이를 학습하는 테니스 인공지능을 구비하고 이를 이용하여 플레이어가 쉽게 예측하지 못하는 볼 방향 및 구질로 볼을 제공하고 (물론 난이도에 따라서는 어느 정도 예측할 수 있는 볼 방향 및 구질일 수도 있다), 플레이어의 플레이에 대응하여 영상 상의 가상의 상대방 플레이어도 학습형으로 플레이를 하기 때문에 더욱 역동적이고 실제 테니스 플레이의 랠리를 하는 것과 같은 랠리를 구현할 수 있다.
즉, 플레이어가 타격한 볼(실제 볼)에 대한 센싱장치의 센싱 데이터에 기초하여 가상의 볼이 가상의 상대방 플레이어 쪽으로 이동하는 영상을 구현하고, 테니스 인공지능에 의해 가상의 상대방 플레이어가 가상의 볼을 리시브하는 위치인 가상 볼출발 위치 및 그 가상 볼출발 위치에서 출발하는 가상의 볼의 운동 조건에 관한 정보를 결정하며, 상기 결정된 가상의 볼의 운동 조건에 따라 볼 머신이 플레이어에게 제공할 볼의 방향 및 속도를 설정하고, 가상의 상대방 플레이어가 타격한 가상의 볼의 궤적에 대한 연장선상에서 상기 볼 머신이 볼을 상기 설정된 볼의 방향 및 속도로 제공하도록 하여 플레이어로 하여금 볼 머신에서 발사된 볼을 타격하도록 하는 방식으로 현실과 가상현실을 넘나들며 플레이어와 영상 상의 가상의 상대방 플레이어가 테니스 랠리를 구현할 수 있도록 할 수 있다.
이와 같은 방식으로 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템의 테니스 인공지능은 플레이어가 플레이를 거듭할수록 기존에 저장하고 있는 데이터들을 수정하는 등 학습을 끊임없이 진행함으로써 더욱 수준 높은 인공지능의 구현이 가능할 수 있다는 특장점이 있다.
100: 볼 머신, 200: 센싱장치
210: 카메라 유닛, 220: 센싱처리유닛
300: 제어장치, 310: 제어부
320: 데이터저장부, 330: 영상처리부
500: 서버, 520: 데이터베이스

Claims (15)

  1. 가상 테니스 시뮬레이션 영상을 기반으로 플레이어가 코트바닥부 상에서 테니스 플레이를 할 수 있도록 하는 가상 테니스 시뮬레이션 시스템의 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법으로서,
    상기 코트바닥부에 대응되는 반대편 코트로서 영상 상의 가상의 상대방 플레이어가 플레이하는 가상의 공간으로서 가상의 코트에 대한 영상을 구현하는 단계;
    상기 구현된 영상에서 상기 가상의 코트 상에서 상기 가상의 상대방 플레이어가 가상의 볼을 서브 또는 리시브하는 위치인 가상 볼출발 위치를 결정하는 단계;
    상기 가상의 상대방 플레이어가 서브 또는 리시브 한 가상의 볼이 시뮬레이션 되어 도달하게 되는 상기 코트바닥부 상의 목표 위치를 결정하는 단계; 및
    상기 가상 볼출발 위치로부터 상기 가상의 볼이 상기 목표 위치에 도달하도록 시뮬레이션 되는 상기 가상의 볼의 볼 운동 조건에 관한 정보를 결정하여 상기 가상 볼출발 위치, 상기 목표 위치 및 상기 볼 운동 조건에 관한 정보를 데이터베이스에 저장함으로써 임의의 가상 볼출발 위치 및 목표 위치에 따른 볼 운동 조건에 대해 학습하는 단계;
    를 포함하는 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법.
  2. 제1항에 있어서, 상기 목표 위치를 결정하는 단계는,
    상기 코트바닥부에 대해 다수의 미리 설정된 크기의 그리드면을 갖는 코트그리드를 설정하는 단계와,
    상기 코트그리드의 임의의 그리드면 상의 미리 설정된 지점 또는 임의의 지점을 상기 목표 위치로서 결정하는 단계를 포함하는 것을 특징으로 하는 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법.
  3. 제1항에 있어서, 상기 가상 볼출발 위치를 결정하는 단계는,
    상기 가상의 코트에 대해 다수의 미리 설정된 크기의 입체그리드를 갖는 가상코트그리드를 설정하는 단계와,
    상기 가상코트그리드의 임의의 입체그리드 또는 미리 설정된 입체그리드 내의 미리 설정된 위치 또는 임의의 위치를 상기 가상 볼출발 위치로서 결정하는 단계를 포함하는 것을 특징으로 하는 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법.
  4. 제1항에 있어서, 상기 볼 운동 조건에 대해 학습하는 단계는,
    상기 가상 볼출발 위치로부터 임의의 볼 운동 조건에 따른 상기 가상의 볼의 궤적을 시뮬레이션하는 단계와,
    상기 시뮬레이션된 가상의 볼의 궤적이 상기 목표 위치 또는 상기 목표 위치 내의 소정 범위 내에 도달하도록 상기 볼 운동 조건을 수정하여 시뮬레이션하는 것을 반복하는 단계와,
    상기 시뮬레이션된 가상의 볼의 궤적이 상기 목표 위치 또는 상기 목표 위치 내의 소정 범위 내에 도달할 때의 볼 운동 조건에 대한 정보를 상기 데이터베이스에 저장하는 단계를 포함하는 것을 특징으로 하는 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법.
  5. 제4항에 있어서, 상기 볼 운동 조건을 수정하여 시뮬레이션하는 것을 반복하는 단계는,
    상기 가상 볼출발 위치로부터 운동하는 상기 가상의 볼의 궤적이 통과하는 영역으로서 볼패싱 영역을 미리 설정하며, 상기 목표 위치 또는 상기 목표 위치 내의 소정 범위 내에 도달하도록 결정된 볼 운동 조건에 따라 시뮬레이션된 가상의 볼의 궤적이 상기 볼패싱 영역을 통과하도록 상기 볼 운동 조건을 수정하여 시뮬레이션하는 것을 반복하는 것을 특징으로 하는 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법.
  6. 제1항에 있어서,
    상기 목표 위치를 결정하는 단계는,
    상기 코트바닥부에 대해 다수의 미리 설정된 크기의 그리드면을 갖는 코트그리드를 설정하는 단계와,
    상기 코트그리드의 임의의 그리드면 또는 미리 설정된 그리드면인 목표 그리드면을 상기 목표 위치로서 결정하는 단계를 포함하며,
    상기 볼 운동 조건에 대해 학습하는 단계는,
    상기 가상 볼출발 위치로부터 상기 가상의 볼이 상기 목표 그리드면 상에 도달하도록 하는 미리 설정된 개수의 방향벡터를 찾아 상기 볼 운동 조건으로서 상기 데이터베이스에 저장하는 단계를 포함하는 것을 특징으로 하는 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 따른 방법을 기록한 컴퓨팅장치에 의해 판독 가능한 기록매체.
  8. 가상 테니스 시뮬레이션 영상을 기반으로 플레이어가 코트바닥부 상에서 테니스 플레이를 할 수 있도록 하는 가상 테니스 시뮬레이션 시스템에서 구현되는 테니스 인공지능을 이용한 가상 테니스 시뮬레이션 방법으로서,
    상기 플레이어가 타격한 볼의 운동에 대해 센싱장치가 센싱하여 볼 운동에 대한 센싱 데이터를 산출하는 단계;
    상기 산출된 센싱 데이터에 기초하여 상기 영상에서 상기 코트바닥부에 대응되는 반대편 코트로서 영상 상의 가상의 상대방 플레이어가 플레이하는 가상의 공간으로서 가상의 코트로 이동하는 가상의 볼의 궤적에 대한 시뮬레이션 영상을 구현하는 단계;
    상기 가상의 코트로 이동하는 가상의 볼의 궤적으로부터 상기 가상의 상대방 플레이어가 상기 가상의 공간으로서의 상기 가상의 코트 상에서 상기 가상의 볼을 리시브하는 위치인 가상 볼출발 위치를 결정하는 단계;
    상기 테니스 인공지능에 의해 상기 가상의 상대방 플레이어가 상기 가상의 코트에서 리시브한 가상의 볼이 시뮬레이션 되어 도달하게 되는 상기 코트바닥부 상의 목표 위치를 결정하는 단계; 및
    상기 가상 볼출발 위치로부터 상기 가상의 볼이 상기 코트바닥부 상의 목표 위치에 도달하도록 시뮬레이션 되는 상기 가상의 볼의 볼 운동 조건에 관한 정보를 서버의 데이터베이스로부터 전송받거나 데이터저장부로부터 추출하거나 상기 전송 또는 추출한 정보를 이용하여 상기 볼 운동 조건에 관한 정보를 산출하여 상기 가상의 상대방 플레이어가 리시브한 가상의 볼의 타구가 상기 볼 운동 조건에 따라 시뮬레이션 되도록 하는 단계;
    를 포함하는 테니스 인공지능을 이용한 가상 테니스 시뮬레이션 방법.
  9. 제8항에 있어서,
    상기 가상 테니스 시뮬레이션 시스템은, 상기 코트바닥부의 전방에 구비되어 상기 가상 테니스 시뮬레이션 영상이 투영되는 스크린의 후면에 구비되어 상기 플레이어에게 볼을 제공하는 볼 머신을 구비하도록 구성되며,
    상기 결정된 코트바닥부 상의 목표 위치에 대응하여 상기 볼 머신의 볼 제공 방향을 제어하는 단계와,
    상기 추출된 볼 운동 조건에 따라 시뮬레이션 되도록 하는 단계에서 상기 가상의 상대방 플레이어가 리시브한 타구에 따른 가상의 볼의 운동에 대응하도록 상기 볼 머신이 제공하는 볼의 속도를 결정하여, 상기 볼 제공 방향 및 볼의 속도에 따라 상기 볼 머신이 상기 코트바닥부 상으로 볼을 제공하는 단계를 더 포함하는 것을 특징으로 하는 테니스 인공지능을 이용한 가상 테니스 시뮬레이션 방법.
  10. 제8항에 있어서,
    상기 가상 테니스 시뮬레이션 시스템은, 상기 코트바닥부의 전방에 구비되어 상기 가상 테니스 시뮬레이션 영상이 투영되는 스크린의 후면에 구비되어 상기 플레이어에게 볼을 제공하는 볼 머신을 구비하도록 구성되며,
    상기 추출된 볼 운동 조건에 따라 시뮬레이션 되도록 하는 단계에서 상기 가상의 상대방 플레이어가 리시브한 타구에 따른 가상의 볼의 궤적의 연장선상에서 상기 볼 머신이 볼을 제공하도록 상기 볼 머신의 볼 제공 방향 및 볼 제공 속도를 결정하여, 상기 결정된 볼 제공 방향 및 볼 제공 속도에 따라 상기 볼 머신이 상기 코트바닥부 상으로 볼을 제공하는 단계를 더 포함하는 것을 특징으로 하는 테니스 인공지능을 이용한 가상 테니스 시뮬레이션 방법.
  11. 제8항에 있어서, 상기 추출된 또는 산출된 볼 운동 조건에 따라 시뮬레이션 되도록 하는 단계는,
    상기 가상 볼출발 위치로부터 상기 가상의 볼이 상기 코트바닥부 상의 목표 위치에 도달하도록 하는 상기 테니스 인공지능의 데이터베이스로부터 추출한 볼 운동 조건에 관한 정보를 플레이어의 실력등급, 플레이의 난이도, 환경설정 중 적어도 하나에 따라 변경하여 상기 가상의 상대방 플레이어의 타구에 적용하는 단계를 포함하는 것을 특징으로 하는 테니스 인공지능을 이용한 가상 테니스 시뮬레이션 방법.
  12. 제8항에 있어서,
    상기 추출된 또는 산출된 볼 운동 조건에 따라 시뮬레이션 되도록 하는 단계 따른 시뮬레이션의 결과 상기 가상의 볼이 상기 목표 위치에 도달하는지 확인하는 단계와,
    상기 가상의 볼이 상기 목표 위치에 도달하지 않은 경우 상기 시뮬레이션에 적용된 볼 운동 조건에 대한 정보를 변경하여 상기 데이터베이스에 저장함으로써 상기 가상 볼출발 위치 및 목표 위치에 따른 볼 운동 조건에 대해 학습하는 단계를 더 포함하는 것을 특징으로 하는 테니스 인공지능을 이용한 가상 테니스 시뮬레이션 방법.
  13. 가상 테니스 시뮬레이션 영상을 기반으로 플레이어가 테니스 인공지능에 의한 가상의 상대방 플레이어와 테니스 플레이를 할 수 있도록 하는 가상 테니스 시뮬레이션 시스템으로서,
    상기 가상 테니스 시뮬레이션 영상이 투영되는 스크린;
    상기 스크린의 후면에 구비되어 상기 플레이어에게 볼을 제공하는 볼 머신;
    상기 플레이어가 타격한 볼의 운동에 대해 센싱하여 볼 운동에 대한 센싱 데이터를 산출하는 센싱장치; 및
    상기 산출된 센싱 데이터에 기초하여 상기 영상에서 코트바닥부에 대응되는 반대편 코트로서 영상 상의 가상의 상대방 플레이어가 플레이하는 가상의 공간으로서 가상의 코트로 이동하는 가상의 볼의 궤적에 대한 시뮬레이션 영상 및 상기 상기 가상의 상대방 플레이어가 리시브한 타구에 따른 가상의 볼의 궤적에 대한 시뮬레이션 영상을 생성 및 처리하는 제어장치를 포함하며,
    상기 제어장치는,
    상기 가상의 코트로 이동하는 가상의 볼의 궤적으로부터 상기 가상의 상대방 플레이어가 상기 가상의 공간으로서의 상기 가상의 코트 상에서 상기 가상의 볼을 리시브하는 위치인 가상 볼출발 위치를 결정하고, 상기 가상의 상대방 플레이어가 리시브한 상기 가상의 볼이 시뮬레이션 되어 도달하게 되는 상기 코트바닥부 상의 목표 위치를 결정하도록 구성되고,
    상기 가상 볼출발 위치로부터 상기 가상의 볼이 상기 목표 위치에 도달하도록 시뮬레이션 되는 상기 가상의 볼의 볼 운동 조건에 관한 정보를 결정하여 상기 가상 볼출발 위치, 상기 목표 위치 및 상기 볼 운동 조건에 관한 정보를 저장하는 데이터베이스에 접근 가능하도록 구성되며,
    상기 플레이어와 상기 가상의 상대방 플레이어 사이의 플레이에 따라 상기 가상 볼출발 위치 및 목표 위치에 따른 볼 운동 조건에 대해 학습하는 테니스 인공지능을 구비하도록 구성되는 것을 특징으로 하는 가상 테니스 시뮬레이션 시스템.
  14. 제13항에 있어서,
    상기 제어장치는,
    상기 데이터베이스로부터 상기 가상 볼출발 위치로부터 상기 가상의 볼이 상기 코트바닥부 상의 목표 위치에 도달하도록 하는 볼 운동 조건에 관한 정보를 추출 또는 산출하여 상기 가상의 상대방 플레이어가 리시브한 타구가 상기 추출된 또는 산출된 볼 운동 조건에 따라 시뮬레이션 되도록 하며, 상기 가상의 상대방 플레이어가 리시브한 타구에 따른 가상의 볼의 궤적의 연장선상에서 상기 볼 머신이 볼을 제공하도록 상기 볼 머신의 볼 제공 방향 및 볼 제공 속도를 결정하여 상기 볼 머신으로 전송하도록 구성되며,
    상기 볼 머신은 상기 제어장치로부터 전송받은 볼 제공 방향 및 볼 제공 속도에 따라 상기 코트바닥부 상으로 볼을 제공하도록 구성되는 것을 특징으로 하는 가상 테니스 시뮬레이션 시스템.
  15. 삭제
KR1020180029074A 2017-09-15 2018-03-13 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법, 이를 이용한 가상 테니스 시뮬레이션 시스템 및 방법과, 이를 기록한 컴퓨팅장치에 의해 판독 가능한 기록매체 KR102045443B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2019/002894 WO2019177363A1 (ko) 2017-09-15 2019-03-13 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법, 이를 이용한 가상 테니스 시뮬레이션 시스템 및 방법과, 이를 기록한 컴퓨팅장치에 의해 판독 가능한 기록매체
JP2020548808A JP7070874B2 (ja) 2017-09-15 2019-03-13 仮想テニスシミュレーションのためのテニス人工知能具現方法、それを用いた仮想テニスシミュレーションシステム及び方法

Applications Claiming Priority (2)

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

Publications (2)

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

Family

ID=65907675

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020180029071A KR102045439B1 (ko) 2017-09-15 2018-03-13 가상 테니스 시뮬레이션 시스템, 이에 이용되는 센싱장치 및 센싱방법
KR1020180029074A KR102045443B1 (ko) 2017-09-15 2018-03-13 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법, 이를 이용한 가상 테니스 시뮬레이션 시스템 및 방법과, 이를 기록한 컴퓨팅장치에 의해 판독 가능한 기록매체
KR1020180029076A KR102045449B1 (ko) 2017-09-15 2018-03-13 가상 테니스 시뮬레이션 시스템 및 그 제어방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020180029071A KR102045439B1 (ko) 2017-09-15 2018-03-13 가상 테니스 시뮬레이션 시스템, 이에 이용되는 센싱장치 및 센싱방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020180029076A KR102045449B1 (ko) 2017-09-15 2018-03-13 가상 테니스 시뮬레이션 시스템 및 그 제어방법

Country Status (3)

Country Link
JP (2) JP7070874B2 (ko)
KR (3) KR102045439B1 (ko)
WO (3) WO2019177364A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102265914B1 (ko) * 2020-09-04 2021-06-16 권예찬 테니스 자율훈련 시스템

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11752414B2 (en) * 2019-08-22 2023-09-12 Fast Track Vision, LLC System and method for tracking a projectile
KR20210023310A (ko) 2019-08-22 2021-03-04 주식회사 대한솔루션 구기종목의 시합 중 공의 라인 인 아웃 판별 시스템 및 그 방법
CN111228773A (zh) * 2020-03-02 2020-06-05 怀化学院 基于双目视觉的发球控制方法、装置、存储介质及发球机
EP3901936A1 (en) 2020-04-22 2021-10-27 Copysan Communicaciones, SL Method, system and computer programs for padel tennis training
KR102434326B1 (ko) * 2020-05-12 2022-08-22 서기원 몸동작 실시간 영상비교가 가능한 테니스 온라인 가상훈련 시스템
KR102249014B1 (ko) * 2020-07-28 2021-05-06 조명환 물리 공간 상의 가상 공간 할당 및 분할을 통한 수요층 할당 및 리워딩 시스템
US11896882B2 (en) 2020-11-04 2024-02-13 Xreps, Llc Extended reality system for training and evaluation
KR102450445B1 (ko) * 2020-12-14 2022-10-05 재단법인대구경북과학기술원 실내 스크린 테니스 시스템 및 그것을 이용한 원격 게임 방법
EP4291311A1 (en) 2021-02-14 2023-12-20 Breakout Hitting LLC Training systems and methods
KR102464171B1 (ko) * 2021-10-07 2022-11-09 주식회사 큐링이노스 테니스 자율 훈련 시스템
KR102626000B1 (ko) * 2021-11-23 2024-01-22 명지대학교 산학협력단 테니스 훈련 시스템
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 (ja) * 2001-02-22 2002-08-27 Japan Science & Technology Corp ピッチングマシーン、その制御システムおよび制御方法
KR101586462B1 (ko) * 2015-10-02 2016-01-19 (주)나라소프트 스크린을 이용한 테니스 연습 및 게임 시뮬레이션 시스템

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2999638B2 (ja) * 1992-10-28 2000-01-17 日本電信電話株式会社 仮想体験システム
JPH07227454A (ja) * 1994-02-18 1995-08-29 Tooa Sports Mach:Kk 投球機の投球制限装置
JPH11299947A (ja) * 1998-02-19 1999-11-02 Purareizu:Kk バ―チャルゲ―ム装置
US6539931B2 (en) * 2001-04-16 2003-04-01 Koninklijke Philips Electronics N.V. Ball throwing assistant
JP4883516B2 (ja) * 2004-08-25 2012-02-22 国立大学法人金沢大学 ピッチングマシンおよびその変化球を制御する方法
JP2007144107A (ja) * 2005-10-25 2007-06-14 Vr Sports:Kk 運動補助システム
GB2455316B (en) * 2007-12-04 2012-08-15 Sony Corp Image processing apparatus and method
KR101147873B1 (ko) * 2010-06-24 2012-05-24 박영기 얼굴 인식을 이용한 스크린 골프 시스템 및 그 제어 방법
US9999825B2 (en) * 2012-02-23 2018-06-19 Playsight Interactive Ltd. Smart-court system and method for providing real-time debriefing and training services of sport games
KR20170085460A (ko) * 2017-05-18 2017-07-24 주식회사 골프존뉴딘 야구 연습 장치에 이용되는 센싱장치 및 센싱방법과, 이를 이용한 야구 연습 장치 및 이의 제어방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002239052A (ja) * 2001-02-22 2002-08-27 Japan Science & Technology Corp ピッチングマシーン、その制御システムおよび制御方法
KR101586462B1 (ko) * 2015-10-02 2016-01-19 (주)나라소프트 스크린을 이용한 테니스 연습 및 게임 시뮬레이션 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102265914B1 (ko) * 2020-09-04 2021-06-16 권예찬 테니스 자율훈련 시스템

Also Published As

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

Similar Documents

Publication Publication Date Title
KR102045443B1 (ko) 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법, 이를 이용한 가상 테니스 시뮬레이션 시스템 및 방법과, 이를 기록한 컴퓨팅장치에 의해 판독 가능한 기록매체
JP5641263B2 (ja) 仮想ゴルフシミュレーション装置、これを含むシステム及び仮想ゴルフシミュレーション方法
CN108697922B (zh) 用于棒球练习装置的传感装置及传感方法、利用其的棒球练习装置及其控制方法
TWI441669B (zh) 虛擬高爾夫模擬裝置及方法
US20170368439A1 (en) Ball game training
TWI448318B (zh) 虛擬高爾夫模擬裝置及其使用之感測裝置與感測方法
TWI624292B (zh) 虛擬高爾夫類比裝置、用於虛擬高爾夫的影像實現方法及存儲其的電腦可讀存儲介質
US20100245365A1 (en) Image generation system, image generation method, and computer program product
WO2002066128A1 (fr) Programme pour commander la conduite d'un jeu et appareil de jeu permettant d'executer ce programme
TWI658855B (zh) 體驗型虛擬棒球比賽裝置及利用其的虛擬棒球比賽控制方法
JP2022549170A (ja) 自動投球マシンを使用してボール軌道を再現する方法及びシステム
TWI776171B (zh) 虛擬高爾夫模擬處理方法及利用其的螢幕高爾夫系統
JP2012101025A (ja) プログラム、情報記憶媒体、ゲーム装置及びサーバシステム
JP2010233752A (ja) プログラム、情報記憶媒体及び画像生成システム
KR102146358B1 (ko) 볼의 운동에 대한 센싱방법 및 이를 이용한 센싱장치
TWI702513B (zh) 虛擬實境棒球打擊訓練系統及其方法
JP7111433B2 (ja) ボールの運動に対するセンシング装置及びそのセンシング方法
KR101078954B1 (ko) 가상 골프 시뮬레이션 장치와, 이에 이용되는 센싱장치 및 센싱방법
KR102439549B1 (ko) 골프스윙에 대한 센싱장치 및 이를 이용한 클럽헤드의 임팩트 위치 센싱방법
KR102582362B1 (ko) 두 대의 카메라를 이용한 바닥형 골프 시뮬레이션 시스템
US12017132B2 (en) Virtual golf simulation processing method and screen golf system using the same
US20240033597A1 (en) Hybrid golf system and control method for the same
JP2010237883A (ja) プログラム、情報記憶媒体及び画像生成システム
TW202402362A (zh) 混合高爾夫系統及控制其的控制部的自動得分計算方法
TW202419135A (zh) 分析使用者揮擊動作以判斷擊球軌跡之系統及方法

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