KR20100081001A - 가상 객체의 이동 제어 장치 및 방법 - Google Patents

가상 객체의 이동 제어 장치 및 방법 Download PDF

Info

Publication number
KR20100081001A
KR20100081001A KR1020090000250A KR20090000250A KR20100081001A KR 20100081001 A KR20100081001 A KR 20100081001A KR 1020090000250 A KR1020090000250 A KR 1020090000250A KR 20090000250 A KR20090000250 A KR 20090000250A KR 20100081001 A KR20100081001 A KR 20100081001A
Authority
KR
South Korea
Prior art keywords
virtual
node
virtual object
field
obstacle
Prior art date
Application number
KR1020090000250A
Other languages
English (en)
Other versions
KR101566857B1 (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 KR1020090000250A priority Critical patent/KR101566857B1/ko
Publication of KR20100081001A publication Critical patent/KR20100081001A/ko
Application granted granted Critical
Publication of KR101566857B1 publication Critical patent/KR101566857B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

가상 객체의 이동 제어 장치 및 방법이 개시된다. 가상 객체의 이동 제어 장치는 가상 세계 내에 가상 인력 장 및 가상 척력 장을 생성하고, 가상 객체가 생성된 가상 인력 및 가상 척력에 따라서 목적지로 이동하도록 제어한다.
가상 세계, 자율 주행, 가상 인력 장, 가상 척력 장, local minima

Description

가상 객체의 이동 제어 장치 및 방법{APPRATUS AND METHOD FOR CONTROLLING MOVEMENT OF VIRTUAL OBJECT}
본 발명의 실시예들은 가상 객체의 이동을 제어하기 위한 장치 및 그 방법에 관한 것으로서, 더욱 상세하게는 가상 객체의 이동 경로의 사전 계산 없이 가상 객체가 목적지까지 자동으로 이동할 수 있도록 제어할 수 있는 가상 객체 이동 제어 장치 및 방법에 관한 것이다.
가상 세계(virtual world)는 특정한 환경 및 상황을 컴퓨터를 이용하여 모의실험(simulation)함으로써 사용자가 마치 실제 주변 상황 및 환경과 상호작용을 하고 있는 것처럼 만들어 주는 인간-컴퓨터 간 인터페이스를 의미한다. 이는 인공 현실(artificial reality), 사이버 공간(cyberspace), 가상 현실(virtual reality), 가상환경(virtual environment), 합성 환경(synthetic environment), 인공 환경(artificial environment) 등으로 불리기도 한다.
가상 세계에서 가상 캐릭터(virtual character)와 같은 가상 객체의 자율 주행(autonomous navigation)을 실현하기 위하여 가상 세계 내에서 가상 객체 주변의 환경을 파악하여 가상 객체의 현재의 위치 및 목적지를 확인하고, 가상 세계에 존 재하는 장애물(예를 들어 다른 가상 객체)에 관한 정보를 획득한 후, 경로 탐색(path finding) 내지 경로 계획(path planning')을 통해 가상 세계 내에서의 가능한 주행 경로를 결정하여 결정된 경로에 따라 가상 객체를 주행시키는 방법이 있다.
이 경우, 주행 중에 발생할 수 있는 가상 객체와 장애물과의 충돌을 방지하기 위하여 충돌 검출(Collision detection)과 같은 부수적인 프로세싱 단계가 수행되어야 한다.
본 발명의 일실시예에 따른 가상 객체의 이동 제어 장치는 가상 세계 상에서 장애물이 존재하는 제1 영역에 가상 척력 장(virtual repulsive force field)을 생성하고, 상기 가상 세계 상의 제2 영역에 상기 가상 객체의 목적지를 중심으로 하는 가상 인력 장(virtual attractive force field)을 생성하는 가상 인력/척력 장 생성부, 및 상기 가상 척력 장 및 상기 가상 인력 장에 기초하여 상기 가상 객체가 상기 목적지로 이동하도록 제어하는 제어부를 포함하는 가상 객체의 이동 제어 장치가 제공된다.
이 때, 상기 가상 인력/척력 장 생성부는 상기 가상 세계 상에 복수의 노드(node)를 설정하고, 상기 복수의 노드에 노드 값을 부여하여 상기 가상 인력 장 및 상기 가상 척력 장을 생성하고, 상기 제어부는 상기 노드 값에 기초하여 상기 가상 객체가 상기 복수의 노드 상에서 상기 목적지로 이동하도록 제어할 수 있다.
또한, 상기 가상 인력/척력 장 생성부는 상기 장애물이 오목(concave) 형상인 경우, 상기 오목 형상을 고려하여 상기 제1 영역을 확장할 수 있다.
또한, 본 발명의 일실시예에 따른 가상 객체의 이동 제어 방법은 상기 가상 세계 상에서 상기 장애물이 존재하는 제1 영역에 가상 척력 장을 생성하는 단계, 상기 가상 세계 상의 제2 영역에 상기 가상 객체의 목적지를 중심으로 하는 가상 인력 장을 생성하는 단계, 및 상기 가상 척력 장 및 상기 가상 인력 장에 기초하여 상기 가상 객체가 상기 목적지로 이동하도록 제어하는 단계를 포함한다.
본 발명의 일실시예에 따른 가상 객체의 이동 제어 장치는 가상 세계 내에서의 가상 객체의 이동 경로를 사전에 계산하지 않아도 되므로, 가상 객체를 이동시키는데 필요한 연산량을 줄일 수 있게 된다.
이하 첨부된 도면들 및 첨부된 도면들에 기재된 내용들을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명하지만, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
또한, 현실 세계에서의 로봇 등의 객체의 이동은 주변 환경은 인식하기 위하여 물리적인 센서를 사용한다는 점 이외에는 기본적으로 가상 세계에서의 가상 객체의 이동과 차이가 없다. 따라서, 아래에서 설명하는 가상 객체의 이동 제어 장치가 로봇의 이동 제어에 사용될 수 있음은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명하다고 할 것이다.
도 1은 본 발명의 일실시예에 따른 가상 객체의 이동 제어의 개념을 도시한 도면이다.
도 1의 (a)를 참고하면, 가상 세계(100)내에는 복수의 장애물(130 내지 170)이 존재한다. 이 때, 가상 객체는 출발지(110)에서 목적지(120)로 이동한다.
도 1의 (b)를 참고하면, 가상 객체의 이동 제어 장치(미도시)는 가상 세계(100)내에 장애물(130 내지 170)을 중심으로, 일정 영역에 대하여 가상 척력 장(virtual repulsive force field)(131 내지 171)을 생성한다. 도 1의 (b)에서는 생성된 가상 척력 장을 (-)로 표시하였다.
이 후, 도 1의 (c)를 참고하면, 가상 객체의 이동 제어 장치(미도시)는 가상 세계(100)내에 가상 인력 장(virtual attractive force field)을 생성한다. 도면 부호(181) 내지 도면 부호(185)는 생성된 가상 인력 장의 인력 선(lines of attractive force)을 나타낸다. 도면 부호(181) 내지 도면 부호(185)를 통해 알 수 있듯이, 생성된 가상 인력 장은 목적지를 중심으로, 가상 세계(100)의 전 영역에 생성된다. 도 1의 (c)에서는 생성된 가상 인력 장을 (+)로 표시하였다.
도 1의 (d)에서는 가상 세계(100)내에 가상 인력 장과 가상 척력 장이 생성된 가상 세계(100)내에서 가상 객체가 이동하는 경우를 도시하고 있다.
가상 객체는 가상 인력에 따라서 목적지(120) 방향으로 이동을 시작한다. 이동 중에 가상 객체가 장애물을 만나면, 가상 객체는 장애물 주변의 일정 영역상에 생성된 가상 척력 장의 영향을 받아 장애물을 우회하여 이동하게 된다.
즉, 가상 객체는 가상 인력에 의해 목적지(120)로 이동하고, 이동 과정에서 장애물을 만나는 경우, 가상 척력에 의해 장애물 주변의 일정 영역에는 진입을 하지 못하게 되어 장애물과 충돌하지 않는다. 이에 따라, 가상 객체는 장애물과 충돌하지 않고 도면 부호(190)을 따라서 목적지(120)로 도달할 수 있게 된다.
따라서, 본 발명의 일실시예에 따른 가상 객체의 이동 제어 장치(미도시)는 이동 전에 출발지(110)로부터 목적지(120)까지의 가상 객체 이동 경로의 사전 계산(path finding 또는 path planning) 및 장애물과의 충돌 검출(collision detection) 내지 충돌 회피(collision avoidance) 없이, 가상 세계(100)내에 생성된 인력/척력 관계에 따라 자동적으로 가상 객체를 목적지(120)로 이동시킬 수 있게 된다. 이에 따라, 가상 객체의 이동시의 사전 연산의 양이 줄어든다.
도 2는 본 발명의 일실시예에 따른 가상 객체의 이동 제어 장치의 상세한 구성을 도시한 블록도이다.
본 발명의 일실시예에 따른 가상 객체의 이동 제어 장치(200)는 가상 인력/척력 장 생성부(210) 및 제어부(220)을 포함한다. 이하, 각 구성 요소 별로 그 기능을 상술하기로 한다.
가상 인력/척력 장 생성부(210)는 가상 세계 상에서 장애물이 존재하는 제1 영역에 가상 척력 장을 생성하고, 가상 세계 상의 제2 영역에 상기 가상 객체의 목적지를 중심으로 하는 가상 인력 장을 생성한다.
이 때, 제1 영역과 제2 영역은 서로 겹치지 않을 수 있다. 일례로서, 제1 영역을 장애물을 중심으로 하고, 임의의 반지름 값을 갖는 원 형태이고, 제 2영역은 가상 세계 내에서 제1 영역을 제외한 영역일 수 있다.
본 발명의 일실시예에 따르면, 가상 인력/척력 장 생성부(210)는 가상 세계 상에 복수의 노드(node)를 설정하고, 설정된 복수의 노드에 노드 값을 부여하여 가상 인력 장 및 상기 가상 척력 장을 생성할 수 있다.
즉, 가상 객체는 가상 세계 내의 노드 상에서 이동할 수 있으므로, 가상 인력/척력 장 생성부(210)는 가상 세계 상에 복수의 노드를 설정하고 설정된 노드에 노드 값을 부여하여 가상 인력/척력 장을 생성한다. 이 경우, 가상 객체는 가상 세계 내에서 노드 단위로 이동을 한다.
제어부(220)는 생성된 가상 척력 장 및 가상 인력 장에 기초하여 가상 객체가 상기 목적지로 이동하도록 제어한다.
즉, 제어부(220)는 가상 인력이 작용하는 영역에서는 가상 객체를 목적지 방향으로 잡아당기고, 가상 척력이 작용하는 영역에서는 가상 객체를 밀어냄으로써 가상 객체를 목적지까지 이동하도록 제어한다.
상기 언급한 바와 같이, 가상 인력/척력 장 생성부(210)는 가상 세계 상에 복수의 노드를 설정하고, 설정된 복수의 노드에 노드 값을 부여하여 가상 인력 장 및 척력 장을 생성하는 경우, 제어부(220)는 노드 값에 기초하여 상기 가상 객체가 상기 복수의 노드 상에서 상기 목적지로 이동하도록 제어한다.
이 경우, 본 발명의 일실시예에 따르면, 가상 척력 장이 생성된 제1 영역과 가상 인력 장이 생성된 제2 영역은 서로 겹치지 아니하고, 복수의 노드는 제1 영역에 존재하는 제1 노드 및 제2 영역에 존재하는 제2 노드를 포함하고, 가상 인력/척력 장 생성부(210)는 제1 노드의 노드 값을 음의 값으로 설정하여 가상 척력 장을 생성하고, 제2 노드의 노드 값을 양의 값으로 설정하여 가상 인력 장을 생성할 수 있다.
즉, 가상 인력/척력 장 생성부(210)는 가상 척력이 미치는 영역에 존재하는 제1 노드에 음의 노드 값을 부여하고, 가상 인력이 미치는 영역에 존재하는 제2 노드에 양의 노드 값을 부여할 수 있다. 이 때, 가상 인력/척력 장 생성부(210)는 동일한 영역에 가상 인력과 가상 척력이 모두 존재하지 않도록 제1 영역과 제2 영역은 서로 겹치지 않도록 설정할 수 있다.
이 경우, 본 발명의 일실시예에 따르면, 제2 노드의 노드 값은 제2 노드와 목적지 사이의 거리에 반비례하고, 제어부(220)는 가상 객체가 존재하는 노드와 인접한 복수의 노드 중에서 가상 객체가 존재하는 노드의 노드 값 보다 큰 노드 값을 갖는 노드를 선택하고, 가상 객체가 선택된 노드로 이동하도록 제어할 수 있다.
즉, 가상 인력/척력 장 생성부(210)은 가상 인력이 미치는 제2 영역에 존재하는 제2 노드의 노드 값을 제2 노드가 위치하는 지점과 목적지 지점간의 거리에 반비례하도록 설정할 수 있다.
이 경우, 제2 노드의 노드 값은 목적지로부터 멀어질수록 작은 값을 갖고, 목적지로부터 가까울수록 큰 값을 갖게 되므로, 가상 객체가 가상 인력에 따라서 목적지까지 도달하기 위해서 제어부(220)는 가상 객체가 노드 값이 커지는 방향으로 이동하도록 제어하여야 한다. 또한, 이 경우, 제어부(220)는 가상 객체와 장애물과의 충돌을 방지하여야 한다.
따라서, 제어부(220)는 가상 객체가 존재하는 노드(이하 현재 노드라고 한다) 와 현재 노드와 인접한 노드와의 노드 값을 비교하여 현재 노드의 노드 값보다 큰 노드 값을 갖는 노드를 선택하고, 상기 선택된 노드로 가상 객체를 이동하도록 제어할 수 있다. 현재 노드와 인접한 노드는 현재 노드와 상하, 좌우, 대각선 방향 등으로 맞닿아 있는 노드를 의미한다.
현재 노드와 인접한 노드는 가상 척력이 미치는 제1 영역에 존재하는 제1 노 드 일 수도 있고, 가상 인력이 미치는 제2 영역에 존재하는 제2 노드 일 수도 있다. 이 때, 상기 언급한 바와 같이, 제1 노드는 음의 노드 값을 가지고, 가상 객체는 노드 값이 커지는 방향으로 이동하게 되므로, 가상 객체는 음의 값을 가지는 노드로 이동하지 않게 된다. 따라서, 가상 객체는 장애물과 충돌하지 않는다.
또한, 제2 노드의 노드 값은 목적지를 기준으로 하여 목적지까지의 거리가 멀수록 작은 값을 가지므로, 가상 객체가 노드 값이 큰 방향으로 이동하는 경우, 가상 객체는 목적지를 향해 이동하게 된다.
또한, 가상 객체가 목적지 방향으로 이동하기 위해서는 가상 객체가 이미 지나온 노드로 회기하는 트랙 백(Track-Back) 현상이 발생해서는 안된다.
따라서, 본 발명의 일실시예에 따르면, 가상 인력/척력 장 생성부(210)는 복수의 노드 상에서 가상 객체가 지나간 노드의 노드 값을 음의 값으로 변경하여 트랙 백 현상을 방지할 수 있다.
즉, 가상 객체가 현재 노드에서 다음 노드로 이동한 경우, 가상 인력/척력 장 생성부(210)는 현재 노드의 값을 음의 값으로 변경한다면, 현재 노드의 노드 값이 다음 노드의 노드 값보다 클 수 없으므로, 가상 객체는 다음 노드에서 현재 노드로 돌아올 수 없어 트랙 백 현상이 발생하지 않게 된다.
이에 따라, 본 발명의 일실시예에 따른 가상 객체의 이동 제어 장치(200)는 가상 세계 내에서, 가상 객체가 장애물과 충돌하지 않고, 목적지까지 이동할 수 있도록 한다.
이하, 도 3을 참고하여, 본 발명의 일실시예에 따른 가상 객체의 이동 제어 장치(200)가 가상 객체의 이동을 제어하는 동작을 상세히 설명하기로 한다.
도 3은 가상 객체의 이동 제어 장치가 가상 객체를 출발지로부터 목적지로 이동시키는 일실시예를 도시한 도면이다.
도 3의 (a)는 미로 형상의 가상 세계(300)를 도시하고 있다. 가상 세계(300)에서 가상 객체는 출발지(310)로부터 목적지(320)까지 이동하고, 가상 객체의 이동 제어 장치(미도시)는 상기 가상 객체의 이동을 제어한다.
이 때, 도 3의 (a)에는 도시되지 아니하였으나, 가상 세계(300)상에는 복수의 노드가 설정되어 있고, 복수의 노드 중에서 장애물이 존재하는 제1 영역에 존재하는 제1 노드는 음의 노드 값을 갖고, 장애물이 존재하지 않는 제2 영역에 존재하는 제2 노드는 양의 노드 값을 갖는 것으로 가정한다.
도 3의 (b)는 도 3의 (a)에서 도면 부호(330)이 표시하는 영역에서의 복수의 노드를 도시하고 있다.
노드(331)은 가상 객체가 현재 존재하는 노드, 즉 현재 노드이다.
상기 언급한 바와 같이, 가상 인력/척력 장 생성부(210)는 노드(331)의 노드 값과 노드(331)과 인접한 노드의 노드 값을 비교하여, 큰 노드 값을 갖는 노드를 선택한다. 도 3의 (b)를 참고하면 노드(332)가 노드(331)보다 큰 노드 값을 가지므로, 가상 객체의 이동 제어 장치는 노드(332)를 선택하고, 가상 객체가 노드(331)에서 노드(332)로 이동하도록 제어한다.
또한, 가상 객체가 노드(332)에 존재하는 경우, 가상 객체의 이동 제어 장치(200)는 노드(332)보다 큰 노드 값을 갖는 노드(333)로 가상 객체가 이동 하도 록 제어한다.
또한, 가상 객체가 노드(333)에 존재하는 경우, 노드(333)의 오른쪽에는 음의 노드 값을 갖는 노드들이 존재하는데, 이는 장애물이 존재하는 제1 영역에 존재하는 제1 노드이다.
상기 언급한 바와 같이, 제어부(220)는 노드 값이 커지는 방향으로 가상 객체가 이동하도록 제어하므로, 가상 객체는 음의 노드 값을 갖는 노드로 이동하지 않는다. 이 후, 노드(333)의 노드 값보다 큰 노드 값을 갖는 노드(334)로 이동하고, 따라서 가상 객체는 장애물과 충돌하지 않게 된다.
이 때, 가상 객체가 목적지까지 이동함에 있어서, 로컬 미니마(local minima)문제가 발생할 수 있다.
즉, 가상 객체가 복수의 노드 상에서 노드 값에 기초하여 이동할 때, 가상 객체가 오목(concave) 형상의 장애물을 만나는 경우, 오목 형상의 오목한 부분에 갇혀서 빠져 나오지 못하는 문제가 발생할 수 있다.
다시 말하면, 가상 객체가 노드 값이 커지는 방향으로 이동하여 오목 형상의 장애물의 오목한 부분 중에서 가장 깊은 영역에 도달하였는데, 상기 가장 깊은 영역에 존재하는 노드의 노드 값이 인접한 노드의 노드 값들 보다 커서, 가상 객체가 오목 형상의 오목한 부분에서 빠져 나오지 못하게 되는 경우가 발생할 수 있다.
상기 언급한 로컬 미니마의 문제를 해결하기 위하여, 본 발명의 일실시예에 따르면, 가상 인력/척력 장 생성부(210)는 장애물이 오목 형상인 경우, 오목 형상을 고려하여 가상 척력이 미치는 제1 영역을 확장할 수 있다.
즉, 가상 인력/척력 장 생성부(210)는 가상 척력이 미치는 제1 영역이 오목 형상의 오목한 부분을 모두 포함하도록 제1 영역을 확장할 수 있다. 다시 말해, 가상 인력 장 생성부(220)는 오목 형상의 오목한 부분에 존재하는 노드들에 대하여 음의 노드 값을 부여함으로써 제1 영역을 확장할 수 있다.
도 3의 (c)는 가상 인력/척력 장 생성부(210)가 오목 형상의 오목한 부분을 모두 포함하도록 제1 영역을 확장한 일례를 도시하고 있다. 도면 부호(340) 내지 도면 부호(380)가 나타내는 영역이 오목한 부분을 모두 포함하는 제1 영역이다.
도면 부호(340) 내지 도면 부호(380)에 표시된 것과 같이 가상 인력/척력 장 생성부(210)가 오목한 부분이 모두 포함되도록 제1 영역을 확장하는 경우, 가상 객체는 오목 형상의 오목한 부분으로 이동할 수 없게 되므로, 가상 객체가 오목 형상의 오목한 부분에 갇히게 되는 로컬 미나마 문제가 해결된다.
도 3의 (c)에 도시된 확장된 제1 영역은 일례에 불과하고, 가상 인력/척력 장 생성부(210)는 다른 형태로 제1 영역을 확장할 수도 있다.
이와 관련하여, 가상 객체의 이동 제어 장치(200)는 장애물이 오목 형상인지 볼록(convex) 형상인지 여부를 판단하여야 하는데, 본 발명의 일실시예에 따르면, 가상 인력/척력 장 생성부(210)는 장애물 상의 제1 지점과 제2 지점을 가상의 선으로 연결하고, 가상의 선이 장애물의 내부 영역에 존재하는 경우, 상기 장애물의 형상을 볼록 형상으로 판단하고, 가상의 선이 장애물의 외부 영역에 존재하는 경우, 상기 장애물의 형상을 오목 형상으로 판단할 수 있다.
이하에서는, 도 4를 참고하여 가상 인력/척력 장 생성부(210)가 장애물의 형 상을 판단하는 동작을 상세히 설명하기로 한다.
도 4는 본 발명의 일실시예에 따른 가상 인력/척력 장 생성부의 장애물 형상 판단 동작을 설명하기 위한 도면이다.
장애물의 형상이 볼록 형상인지 오목 형상인지 여부는 가상 객체가 존재하는 위치에 따라서 결정된다.
도면 부호(410)은 볼록 형상의 장애물을 나타내고, 도면 부호(420)는 오목 형상의 장애물을 나타낸다. 이 때, 가상 객체는 각각 도면 부호(411) 및 도면 부호(421)와 대응되는 위치에 존재한다.
여기서, 장애물을 중심으로 가상 객체가 존재하는 방향에 위치하는 제2 영역을 제3 영역으로 정의하고, 장애물을 중심으로 가상 객체의 맞은 편의 방향에 위치하는 제2 영역을 제4 영역으로 정의한다.
먼저, 가상 인력/척력 장 생성부(210)은 장애물 상의 제1 지점과 장애물 상의 제2 지점을 가상의 선으로 연결한다. 도면부호(412)은 볼록 형상인 장애물 상의 제1 지점 및 제2 지점을 연결한 가상의 선을 나타내고, 도면 부호(422)은 오목 형상인 장애물 상의 제1 지점 및 제2 지점을 연결한 가상의 선을 나타낸다.
도 4를 참고하면, 볼록 형상의 장애물의 경우, 가상의 선이 제4 영역 상에 존재하고, 오목 형상의 장애물의 경우, 가상의 선이 제3 영역 상에 존재함을 알 수 있다.
따라서, 본 발명의 일실시예에 따르면, 가상 인력/척력 장 생성부(210)는 장애물 상의 제1 지점과 장애물 상의 제2 지점을 가상의 선으로 연결하고, 가상의 선 이 제3 영역 내에 존재하는 경우, 상기 장애물의 형상을 오목 형상으로 판단하고, 가상의 선이 제4 영역 내에 존재하는 경우, 상기 장애물의 형상을 볼록 형상으로 판단할 수 있다. 만약, 가상의 선이 장애물이 존재하는 영역인 제1 영역에 존재하는 경우, 가상 인력/척력 장 생성부(210)는 가상의 선을 연결하는 동작을 재 수행한다.
도 5는 본 발명의 일실시예에 따른 가상 객체의 이동 제어 방법의 흐름도를 도시한 도면이다.
먼저, 단계(S510)에서는 가상 세계 상에서 장애물이 존재하는 제1 영역에 가상 척력 장을 생성하고, 단계(S520)에서는 가상 세계 상의 제2 영역에 가상 객체의 목적지를 중심으로 하는 가상 인력 장을 생성한다. 이 때, 제1 영역과 제2 영역은 서로 겹치지 않을 수 있다.
단계(S530)에서는 생성된 가상 척력 장 및 가상 인력 장에 기초하여 가상 객체가 상기 목적지로 이동하도록 제어한다.
본 발명의 일실시예에 따르면, 단계(S510) 및 단계(S520)은 가상 세계 상에 복수의 노드(node)를 설정하고, 설정된 복수의 노드에 노드 값을 부여하여 가상 인력 장 및 상기 가상 척력 장을 생성할 수 있다. 이 경우, 가상 객체는 가상 세계 내에서 노드 단위로 이동을 한다. 이 경우, 단계(S530)에서는 노드 값에 기초하여 상기 가상 객체가 상기 복수의 노드 상에서 상기 목적지로 이동하도록 제어한다.
본 발명의 일실시예에 따르면, 가상 척력 장이 생성된 제1 영역과 가상 인력 장이 생성된 제2 영역은 서로 겹치지 아니하고, 복수의 노드는 제1 영역에 존재하 는 제1 노드 및 제2 영역에 존재하는 제2 노드를 포함하고, 단계(S510)에서는 제1 노드의 노드 값을 음의 값으로 설정하여 가상 척력 장을 생성하고, 단계(S520)에서는 제2 노드의 노드 값을 양의 값으로 설정하여 가상 인력 장을 생성할 수 있다.
또한, 본 발명의 일실시예에 따르면, 제2 노드의 노드 값은 제2 노드와 목적지 사이의 거리에 반비례하고, 단계(S530)에서는 가상 객체가 존재하는 노드와 인접한 복수의 노드 중에서 가상 객체가 존재하는 노드의 노드 값 보다 큰 노드 값을 갖는 노드를 선택하고, 가상 객체가 선택된 노드로 이동하도록 제어할 수 있다.
또한, 로컬 미니마의 문제를 해결하기 위하여, 본 발명의 일실시예에 따르면, 단계(S510)에서는 장애물이 오목 형상인 경우, 오목 형상을 고려하여 가상 척력이 미치는 제1 영역을 확장할 수 있다.
또한, 본 발명의 일실시예에 따르면, 가상 객체의 이동 제어 방법은 장애물의 형상을 판단하는 단계(미도시)를 더 포함할 수 있다. 여기서, 장애물을 중심으로 가상 객체가 존재하는 방향에 위치하는 제2 영역을 제3 영역으로 정의하고, 장애물을 중심으로 가상 객체의 맞은 편의 방향에 위치하는 제2 영역을 제4 영역으로 정의한다
이 경우, 장애물의 형상을 판단하는 단계(미도시)는 장애물 상의 제1 지점과 장애물 상의 제2 지점을 가상의 선으로 연결하고, 가상의 선이 장애물을 중심으로 가상 객체가 존재하는 방향에 위치하는 제3 영역 내에 존재하는 경우, 상기 장애물의 형상을 오목 형상으로 판단하고, 가상의 선이 장애물을 중심으로 가상 객체의 맞은 편의 방향에 위치하는 제4 영역 내에 존재하는 경우, 상기 장애물의 형상을 볼록 형상으로 판단할 수 있다.
지금까지 본 발명에 따른 가상 객체의 이동 제어 방법의 실시예들에 대하여 설명하였고, 앞서 도 2에서 설명한 가상 객체의 이동 제어 장치에 관한 구성이 본 실시예에도 그대로 적용 가능하다. 이에, 보다 상세한 설명은 생략하기로 한다.
또한, 본 발명에 따른 가상 객체의 이동 제어 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명의 일실시예에 따른 가상 객체의 이동 제어의 개념을 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 가상 객체의 이동 제어 장치의 상세한 구성을 도시한 블록도이다.
도 3은 가상 객체의 이동 제어 장치가 가상 객체를 출발지로부터 목적지로 이동시키는 일실시예를 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 가상 인력/척력 장 생성부의 장애물 형상 판단 동작을 설명하기 위한 도면이다.
도 5는 본 발명의 일실시예에 따른 가상 객체의 이동 제어 방법의 흐름도를 도시한 도면이다.

Claims (10)

  1. 가상 객체(virtual object) 및 적어도 하나의 장애물(obstacle)을 포함하는 가상 세계(virtual world)에서의 상기 가상 객체의 이동을 제어하는 장치에 있어서,
    상기 가상 세계 상에서 상기 장애물이 존재하는 제1 영역에 가상 척력 장(virtual repulsive force field)을 생성하고, 상기 가상 세계 상의 제2 영역에 상기 가상 객체의 목적지를 중심으로 하는 가상 인력 장(virtual attractive force field)을 생성하는 가상 인력/척력 장 생성부; 및
    상기 가상 척력 장 및 상기 가상 인력 장에 기초하여 상기 가상 객체가 상기 목적지로 이동하도록 제어하는 제어부
    를 포함하는 것을 특징으로 하는 가상 객체의 이동 제어 장치.
  2. 제1항에 있어서,
    상기 가상 인력/척력 장 생성부는 상기 가상 세계 상에 복수의 노드(node)를 설정하고, 상기 복수의 노드에 노드 값을 부여하여 상기 가상 인력 장 및 상기 가상 척력 장을 생성하고,
    상기 제어부는 상기 노드 값에 기초하여 상기 가상 객체가 상기 복수의 노드 상에서 상기 목적지로 이동하도록 제어하는 것을 특징으로 하는 가상 객체의 이동 제어 장치.
  3. 제2항에 있어서,
    상기 제1 영역과 상기 제2 영역은 서로 겹치지 아니하고,
    상기 복수의 노드는 상기 제1 영역에 존재하는 제1 노드 및 상기 제2 영역에 존재하는 제2 노드를 포함하고,
    상기 가상 인력/척력 장 생성부는 상기 제1 노드의 노드 값을 음의 값으로 설정하여 상기 가상 척력 장을 생성하고, 상기 제2 노드의 노드 값을 양의 값으로 설정하여 상기 가상 인력 장을 생성하는 것을 특징으로 하는 가상 객체의 이동 제어 장치.
  4. 제2항에 있어서,
    상기 제2 노드의 노드 값은 상기 제2 노드와 상기 목적지 사이의 거리에 반비례하고,
    상기 제어부는 상기 가상 객체가 존재하는 노드와 인접한 복수의 노드 중에서 상기 가상 객체가 존재하는 노드의 노드 값 보다 큰 노드 값을 갖는 노드를 선택하고, 상기 가상 객체가 상기 선택된 노드로 이동하도록 제어하는 것을 특징으로 하는 가상 객체의 이동 제어 장치.
  5. 제2항에 있어서,
    상기 가상 인력/척력 장 생성부는 상기 복수의 노드 상에서 상기 가상 객체 가 지나간 노드의 노드 값을 음의 값으로 변경하는 것을 특징으로 하는 가상 객체의 이동 제어 장치.
  6. 제1항에 있어서,
    상기 가상 인력/척력 장 생성부는 상기 장애물이 오목(concave) 형상인 경우, 상기 오목 형상을 고려하여 상기 제1 영역을 확장하는 것을 특징으로 하는 가상 객체의 이동 제어 장치.
  7. 제6항에 있어서,
    상기 제2 영역은 상기 장애물을 중심으로 상기 가상 객체가 존재하는 방향에 위치하는 제3 영역을 포함하고,
    상기 가상 인력/척력 장 생성부는 상기 장애물 상의 제1 지점과 상기 장애물 상의 제2 지점을 가상의 선으로 연결하고, 상기 가상의 선이 상기 제3 영역 내에 존재하는 경우, 상기 장애물의 형상을 오목 형상으로 판단하는 것을 특징으로 하는 가상 객체의 이동 제어 장치.
  8. 가상 객체 및 적어도 하나의 장애물을 포함하는 가상 세계에서의 상기 가상 객체의 이동을 제어하는 방법에 있어서,
    상기 가상 세계 상에서 상기 장애물이 존재하는 제1 영역에 가상 척력 장을 생성하는 단계;
    상기 가상 세계 상의 제2 영역에 상기 가상 객체의 목적지를 중심으로 하는 가상 인력 장을 생성하는 단계; 및
    상기 가상 척력 장 및 상기 가상 인력 장에 기초하여 상기 가상 객체가 상기 목적지로 이동하도록 제어하는 단계
    를 포함하는 것을 특징으로 하는 가상 객체의 이동 제어 방법.
  9. 제8항에 있어서,
    상기 제1 영역과 상기 제2 영역은 서로 겹치지 아니하고,
    상기 복수의 노드는 상기 제1 영역에 존재하는 제1 노드 및 상기 제2 영역에 존재하는 제2 노드를 포함하고,
    상기 가상 인력 장을 생성하는 단계는 상기 제1 노드의 노드 값을 음의 값으로 설정하여 상기 가상 척력 장을 생성하고,
    상기 가상 척력 장을 생성하는 단계는 상기 제2 노드의 노드 값을 양의 값으로 설정하여 상기 가상 인력 장을 생성하고,
    상기 가상 객체의 이동을 제어하는 단계는 상기 제1 노드의 노드 값 및 상기 제2 노드의 노드 값에 기초하여 상기 가상 객체가 상기 복수의 노드 상에서 상기 목적지로 이동하도록 제어하는 것을 특징으로 하는 가상 객체의 이동 제어 방법.
  10. 제8항에 있어서,
    상기 제2 노드의 노드 값은 상기 제2 노드와 상기 목적지 사이의 거리에 반 비례하고,
    상기 가상 객체의 이동을 제어하는 단계는 상기 가상 객체가 존재하는 노드와 인접한 복수의 노드 중에서 상기 가상 객체가 존재하는 노드의 노드 값 보다 큰 노드 값을 갖는 노드를 선택하고, 상기 가상 객체가 상기 선택된 노드로 이동하도록 제어하는 것을 특징으로 하는 가상 객체의 이동 제어 방법.
KR1020090000250A 2009-01-05 2009-01-05 가상 객체의 이동 제어 장치 및 방법 KR101566857B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090000250A KR101566857B1 (ko) 2009-01-05 2009-01-05 가상 객체의 이동 제어 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090000250A KR101566857B1 (ko) 2009-01-05 2009-01-05 가상 객체의 이동 제어 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20100081001A true KR20100081001A (ko) 2010-07-14
KR101566857B1 KR101566857B1 (ko) 2015-11-09

Family

ID=42641547

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090000250A KR101566857B1 (ko) 2009-01-05 2009-01-05 가상 객체의 이동 제어 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101566857B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109803734A (zh) * 2016-10-27 2019-05-24 微软技术许可有限责任公司 虚拟对象移动

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001154706A (ja) 1999-11-29 2001-06-08 Japan Atom Energy Res Inst 移動体の経路生成法
JP2006130123A (ja) * 2004-11-08 2006-05-25 Sega Corp ゲーム装置及び,これにおいて実行されるゲームプログラム
JP4569391B2 (ja) * 2005-06-06 2010-10-27 株式会社日立製作所 経路誘導装置
JP4640146B2 (ja) 2005-12-07 2011-03-02 株式会社日立製作所 経路生成装置及び経路生成方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109803734A (zh) * 2016-10-27 2019-05-24 微软技术许可有限责任公司 虚拟对象移动
CN109803734B (zh) * 2016-10-27 2022-06-17 微软技术许可有限责任公司 虚拟对象移动

Also Published As

Publication number Publication date
KR101566857B1 (ko) 2015-11-09

Similar Documents

Publication Publication Date Title
KR102230144B1 (ko) 인공 지능 심층 학습 타겟 탐지 및 속도 퍼텐셜 필드 알고리즘 기반 장애물 회피 및 자율 주행 방법 및 장치
KR102009482B1 (ko) 로봇의 경로계획 장치와 방법 및 상기 방법을 구현하는 프로그램이 기록된 기록 매체
KR102492242B1 (ko) 지형 인식 스텝 플래닝 시스템
Liu et al. Provably safe motion of mobile robots in human environments
Kushleyev et al. Time-bounded lattice for efficient planning in dynamic environments
JP4241673B2 (ja) 移動体の経路生成装置
US10739774B2 (en) Keyframe based autonomous vehicle operation
CN110825093B (zh) 自动驾驶策略生成方法、装置、设备及存储介质
US12025970B2 (en) Sampling based optimal tree planning method and recording medium storing program for executing the same, and computer program stored in recording medium for executing the same
US20110153080A1 (en) Method and apparatus for industrial robotic pathscycle time optimization using fly by
KR20220119519A (ko) 2d 및 3d 경로 계획을 이용한 로봇 내비게이션
KR20120097871A (ko) 이동체(mobile body)를 위한 셀?기반 경로 계획 장치 및 방법
KR102661849B1 (ko) 자율주행 로봇, 계층 코스트 맵 생성 방법 및 이를 이용한 주행 경로 생성 방법
KR101598900B1 (ko) 안전공간을 기반으로 수정된 a스타 알고리즘을 이용한 안전경로 생성 장치
JP2019500691A (ja) 急速探索ランダム化フィードバック主体の動作計画
KR20160088638A (ko) 모션 플래닝 장치 및 방법
CN113432610B (zh) 机器人通行规划方法、装置、机器人及存储介质
CN114339912A (zh) 网络连接方法、装置、设备和存储介质
Yu et al. Space-based collision avoidance framework for autonomous vehicles
JP2021189508A (ja) ロボット、移動経路生成装置及びそのプログラム、並びに、移動予測装置
JP2021077286A (ja) ロボット制御モデル学習方法、ロボット制御モデル学習装置、ロボット制御モデル学習プログラム、ロボット制御方法、ロボット制御装置、ロボット制御プログラム、及びロボット
KR102555435B1 (ko) 장애물에 의한 이동 로봇의 제어 시스템 및 그 제어 방법
CN110084825A (zh) 一种基于图像边缘信息导航的方法及系统
KR101566857B1 (ko) 가상 객체의 이동 제어 장치 및 방법
CN115309164B (zh) 基于生成对抗网络的人机共融移动机器人路径规划方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
GRNT Written decision to grant