KR102166419B1 - 효율적인 장애물 제거 방법 - Google Patents

효율적인 장애물 제거 방법 Download PDF

Info

Publication number
KR102166419B1
KR102166419B1 KR1020180168338A KR20180168338A KR102166419B1 KR 102166419 B1 KR102166419 B1 KR 102166419B1 KR 1020180168338 A KR1020180168338 A KR 1020180168338A KR 20180168338 A KR20180168338 A KR 20180168338A KR 102166419 B1 KR102166419 B1 KR 102166419B1
Authority
KR
South Korea
Prior art keywords
obstacle
target object
density
histogram
obstacles
Prior art date
Application number
KR1020180168338A
Other languages
English (en)
Other versions
KR20200078956A (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 KR1020180168338A priority Critical patent/KR102166419B1/ko
Publication of KR20200078956A publication Critical patent/KR20200078956A/ko
Application granted granted Critical
Publication of KR102166419B1 publication Critical patent/KR102166419B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/005Electro-mechanical devices, e.g. switched
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R19/00Wheel guards; Radiator guards, e.g. grilles; Obstruction removers; Fittings damping bouncing force in collisions
    • B60R19/54Obstruction removers or deflectors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Geometry (AREA)
  • Electromagnetism (AREA)
  • Manipulator (AREA)

Abstract

효율적인 장애물 제거 방법에서, 타깃 물체의 주변에 위치하는 장애물들 각각의 확장영역을 정의하는 단계, 상기 확장영역을 바탕으로, 상기 타깃 물체로부터의 장애물 밀집도를 계산하는 단계, 상기 계산된 장애물 밀집도를 히스토그램으로 도시화하는 단계, 상기 장애물 밀집도가 가장 낮은 장애물을 제거하는 단계, 및 상기 장애물의 제거에 따라 상기 히스토그램 값이 0(zero)이 되면, 로봇이 상기 타깃 물체를 그리핑하는 단계를 포함한다.

Description

효율적인 장애물 제거 방법{EFFECTIVE OBSTACLE REMOVING METHOD}
본 발명은 장애물 제거방법에 관한 것으로, 더욱 상세하게는 제한된 공간 내에 로봇과 타깃 물체 사이에 복수의 장애물이 위치한 상태에서 상기 타깃 물체를 그리핑 하는 경우, 상기 장애물들의 위치를 고려하여 장애물을 효율적으로 제거하고 최적 경로를 생성하여 타깃 물체를 그리핑할 수 있는 효율적인 장애물 제거 방법에 관한 것이다.
도 1에 도시된 바와 같이, 제한된 공간(30)에서 타깃물체(10)를 그리핑하여야 하는 상황에서, 상기 타깃물체(10)가 복수의 장애물들(20)에 의해 로봇(40)의 접근이 어렵다면, 상기 로봇(40)은 상기 장애물들(20)을 선택적으로 제거하여, 상기 타깃물체(10)를 향해 접근하기 위한 패스(path)를 결정하여야 하며, 이를 소위, 패스 플래닝(path planning)이라 한다.
종래 대표적인 패스 플래닝 방법으로는, 도 2에 도시된 Base-line 방법이 알려져 있다.
이는, Doger, Mehmet R., and Siddhartha S. Srinivasa, "A planning framework for non-prehensile manipulation under clutter and uncertanity.", Autonomous Robots 33.3 (2012) 217-236, 에 개시된 기술로서, 상기 타깃물체(10)를 그리핑(gripping)하기 위해, 상기 타깃물체(10)와 상기 로봇(40) 사이의 가상의 직선을 가정하고, 상기 가상의 직선상의 장애물을 우선적으로 제거하는 것을 특징으로 한다.
그러나, 이러한 Base-line 방법의 경우, 로봇과 타깃물체 사이의 가상의 직선상의 장애물을 우선적으로 제거하는 것으로, 패스를 결정하는 것은 간단한 연산으로 수행될 수 있으나, 상기 가상의 직선상의 장애물의 개수나 직선의 길이 등은 고려되지 않으므로, 상기 장애물을 제거하기 위해 불필요하게 많은 작업을 수행하여 하는 문제가 있으며, 이에 따라 장애물 제거 효율이 낮은 문제가 있다.
[논문] Doger, Mehmet R., and Siddhartha S. Srinivasa, "A planning framework for non-prehensile manipulation under clutter and uncertanity.", Autonomous Robots 33.3 (2012) 217-236.
이에, 본 발명의 기술적 과제는 이러한 점에서 착안된 것으로 본 발명의 목적은 제한된 공간 내에 로봇과 타깃 물체 사이에 복수의 장애물이 위치한 상태에서 상기 타깃 물체를 그리핑 하는 경우, 상기 장애물들의 위치를 고려하여 장애물을 효율적으로 제거하고 최적 경로를 생성하여 타깃 물체를 그리핑할 수 있는 장애물 제거 방법에 관한 것이다.
상기한 본 발명의 목적을 실현하기 위한 일 실시예에 따른 장애물 제거 방법에서, 타깃 물체의 주변에 위치하는 장애물들 각각의 확장영역을 정의하는 단계, 상기 확장영역을 바탕으로, 상기 타깃 물체로부터의 장애물 밀집도를 계산하는 단계, 상기 계산된 장애물 밀집도를 히스토그램으로 도시화하는 단계, 상기 장애물 밀집도가 가장 낮은 장애물을 제거하는 단계, 및 상기 장애물의 제거에 따라 상기 히스토그램 값이 0(zero)이 되면, 로봇이 상기 타깃 물체를 그리핑하는 단계를 포함한다.
일 실시예에서, 상기 장애물을 제거하는 단계 이후, 상기 히스토그램 값이 0(zero)이 될 때까지, 잔류한 장애물들에 대하여 상기 장애물 밀집도를 다시 계산하고, 히스토그램으로 도시화할 수 있다.
일 실시예에서, 상기 장애물 밀집도를 계산하는 단계에서, 초기에는, 상기 타깃 물체로부터 가장 멀리 위치한 장애물까지의 거리를 계산반경으로 정의하고, 상기 계산 반경 이내의 장애물들에 대하여 상기 장애물 밀집도를 계산할 수 있다.
일 실시예에서, 상기 장애물 밀집도를 계산하는 단계에서, 상기 장애물이 제거되는 경우, 상기 계산 반경은 상기 타깃 물체로부터 상기 제거된 장애물까지의 거리로 정의되는 되어, 상기 계산 반경 이내의 장애물들에 대하여 상기 장애물 밀집도를 계산할 수 있다.
일 실시예에서, 상기 확장영역을 정의하는 단계에서, 상기 확장영역은, 각 장애물의 크기, 상기 타깃 물체의 크기, 상기 로봇의 크기 및 안전계수를 합하여 정의될 수 있다.
일 실시예에서, 상기 장애물의 밀집도를 계산하는 단계에서, 상기 타깃 물체를 중심으로 한 원주 방향에 대하여, 상기 각 장애물에 대하여 정의된 확장영역들이 중첩되는 가를 바탕으로 상기 장애물의 밀집도를 계산할 수 있다.
일 실시예에서, 상기 확장영역들의 중첩되는 개수가 증가할수록 상기 장애물의 밀집도가 증가할 수 있다.
일 실시예에서, 상기 히스토그램 값이 0이 되는 경우, 상기 로봇은 상기 히스토그램 값이 0인 방향을 향해 상기 타깃 물체로 접근할 수 있다.
본 발명의 실시예들에 의하면, 종래 타깃 물체를 그리핑하기 위한 장애물 제거 방법과 대비하여, 보다 효율적으로 장애물을 제거할 수 있으며, 이에 따라 최적 경로로 타깃 물체를 그리핑할 수 있어, 타깃 물체의 그리핑을 보다 효과적으로 수행할 수 있다.
이는, 특히, 냉장고나 선반 또는 창고 등과 같은 비선형적인 환경에서 타깃 물체를 보다 효과적으로 그리핑할 수 있으며, 이를 통해, 자동화 로봇을 통한 타깃 물체의 선별 및 그리핑에 대한 자동화 공정을 보다 효과적으로 수행할 수 있다.
특히, 장애물이 제거됨에 따라 계산 반경을 재설정하고, 해당 계산 반경에서 히스토그램 값을 연산하므로, 장애물이 없어진 환경에서의 새로운 최적 경로를 도출할 수 있어, 보다 최적화된 경로 산출이 가능하게 된다.
이 경우, 히스토그램 값을 도출하기 위한, 장애물 밀집도는 각 장애물에 의해 정의되는 확장영역의 중첩 여부를 바탕으로 결정되므로, 장애물 밀집도에 대한 연산이 용이하여 히스토그램 값의 도출을 위한 연산 지연을 최소화할 수 있어, 최적 경로 생성 시간을 최소화할 수 있다.
도 1은 소정의 공간에서 로봇에 의해 타깃 물체를 그리핑하여야 하는 상황을 도시한 모식도이다.
도 2는 종래기술에 의한 장애물 제거 방법으로서, Base-line 방법을 도시한 모식도이다.
도 3은 본 발명의 일 실시예에 의한 장애물 제거 방법을 도시한 흐름도이다.
도 4는 도 3의 장애물 제거방법에서 각 장애물별 확장 영역을 정의하는 단계를 도시한 모식도이다.
도 5a 내지 도 5c는 도 3의 장애물 제거방법에서 장애물 밀집도를 계산하고 히스토그램으로 도시화하는 단계를 도시한 모식도 및 그래프이다.
도 6a 및 도 6b는 도 3의 장애물 제거방법에서 장애물에 따른 히스토그램의 일 예를 도시한 모식도 및 그래프이다.
도 7a 및 도 7b는 도 3의 장애물 제거방법에서 장애물에 따른 히스토그램의 다른 예를 도시한 모식도 및 그래프이다.
도 8 내지 도 11은 도 3의 장애물 제거방법에서 장애물을 제거하면서 히스토그램이 0인 값이 존재할 때까지 반복적으로 장애물을 제거하는 단계를 도시한 모식도 및 그래프들이다.
도 12는 도 3의 장애물 제거방법과 종래기술인 Base-line 방법에 따른 장애물 제거 효율을 비교한 그래프이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 실시예들을 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다.
상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함하다" 또는 "이루어진다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다.
도 3은 본 발명의 일 실시예에 의한 장애물 제거 방법을 도시한 흐름도이다. 도 4는 도 3의 장애물 제거방법에서 각 장애물별 확장 영역을 정의하는 단계를 도시한 모식도이다.
본 실시예에 의한 장애물 제거 방법은, 도 1에 도시된 바와 같은 환경, 즉, 소정의 정의된 공간 영역(30)의 내부에 타깃 물체(10)와 복수의 장애물들(20)이 배치되며, 상기 공간 영역(30)의 외부로부터 로봇(40)이 상기 타깃 물체(10)를 그리핑(gripping)하는 경우, 적용되는 것으로, 상기 장애물들(20)의 이동이나 제거를 최소화하면서, 상기 로봇(40)이 상기 타깃 물체(10)를 보다 효과적이고 빠르게 그리핑할 수 있는 방법에 관한 것이다.
이하의 실시예에서는, 상기 공간 영역(30)은 정육면체 공간을 형성하되, 상기 정육면체의 공간에서 하나의 면(31)만 개방되어, 상기 로봇(40)은 해당 면(31)을 통해서만 그리핑을 수행할 수 있는 것을 예시하여 설명한다.
그러나, 상기 공간 영역(30)은, 다양하게 정의된 영역일 수 있으며, 각각의 정의된 영역에 대하여도, 이하에서 설명되는 상기 장애물 제거방법은 동일하게 적용될 수 있다.
도 3 및 도 4를 참조하면, 본 실시예에 의한 장애물 제거 방법에서는, 우선, 상기 타깃 물체(10) 주변에 위치하는 장애물들(21, 22) 각각에 대하여 확장영역(51, 52)을 정의한다(단계 S10).
이 경우, 상기 확장영역(51)은, 각 장애물의 크기, 상기 타깃 물체(10)의 크기, 상기 로봇(40)의 크기 및 안전계수(safety factor)를 합하여 정의될 수 있다. 예를 들어, 상기 확장영역(51)은, 도 4에 도시된 바와 같이, rg를 로봇, 즉 그리퍼(gripper)의 반경, rs를 안전 반경, ro를 장애물 반경, rt를 타깃 반경으로 정의할 때, rt+rs+ro+rg로 정의될 수 있다.
이 경우, 상기 장애물 및 상기 타깃 물체가 원형 형상이 아닌 다양한 형태의 형상인 경우라면, 상기 정의된 반경은 상기 장애물 및 상기 타깃 물체의 중심으로부터 최외면까지의 거리로 정의될 수 있음은 자명하다.
이상과 같이, 확장영역이 연산될 수 있으며, 이렇게 연산되는 상기 확장영역은, 도 4에 도시된 바와 같이, 각 장애물(21, 21)의 중심으로부터 소정의 반경을 가지는 원형 형상(51, 52)으로 정의되게 된다.
도 5a 내지 도 5c는 도 3의 장애물 제거방법에서 장애물 밀집도를 계산하고 히스토그램으로 도시화하는 단계를 도시한 모식도 및 그래프이다.
도 3 및 도 5a를 참조하면, 앞선 확장영역의 정의 단계를 통해, 소정의 공간 영역(30)에 위치하는 장애물들(21, 22, 23) 각각에 대하여 확장영역들(51, 52, 53)이 정의된다.
이 후, 도 3 및 도 5b를 참조하면, 상기 정의된 확장영역들(51, 52, 53)을 바탕으로, 상기 타깃 물체(10)로부터의 장애물 밀집도를 계산한다(단계 S20).
이 경우, 상기 장애물 밀집도는, 각 장애물에 대하여 정의된 확장영역들이 중첩되는 가를 바탕으로 계산된다.
즉, 상기 타깃 물체(10)가 중앙에 위치한다고 가정할 때, 도 5a에서 상기 타깃 물체(10)로부터 180°방향으로는 확장영역은 존재하지 않으므로, 도 5b에서와 같이 장애물 밀집도의 연산에서는 밀집도가 0(zero)인 것으로 계산된다.
한편, 도 5a에서 상기 타깃 물체(10)로부터 -45°방향으로는 제1 확장영역(51)만 존재하므로, 도 5b에서와 같이 장애물 밀집도의 연산에서는 밀집도가 1인 것으로 계산된다.
또한, 도 5a에서 상기 타깃 물체(10)로부터 +45°방향으로는 제2 및 제3 확장영역들(52, 53)만 존재하므로, 도 5b에서와 같이 장애물 밀집도의 연산에서는 밀집도가 2인 것으로 계산된다.
이상과 같이, 상기 타깃 물체(10)를 중심으로, 360°방향으로, 각 장애물들에 의해 정의되는 확장영역들이 몇 개가 중첩되는 가를 바탕으로, 상기 360°방향으로의 장애물 밀집도가 계산되며, 이러한 계산 결과는 도 5b에서와 같이 히스토그램으로 도시화될 수 있다(단계 S30).
나아가, 도 3 및 도 5c를 참조하면, 도 5b에서 360°방향으로 도시된 히스토그램은, 막대그래프의 형태로 도 5c에서와 같은 히스토그램으로 도시화될 수 있다(단계 S40).
도 6a 및 도 6b는 도 3의 장애물 제거방법에서 장애물에 따른 히스토그램의 일 예를 도시한 모식도 및 그래프이다.
도 6a 및 도 6b는, 도시된 바와 같이 공간영역(30) 및 상기 공간영역 중 일부 영역만 개방된 개방부(31)가 정의된 상태에서, 상기에서 설명한 장애물 밀집도의 계산 및 히스토그램 도시화 단계들(S20, S30)의 예를 나타낸 것이다.
즉, 도 6a 및 도 6b를 참조하면, 상기 타깃 물체(10)를 기준으로 -45°로부터 +45°방향으로 각 장애물들(21, 22, 23, 24)에 의해 정의된 확장영역들(51, 52, 53, 54)의 중첩 여부를 연산하여 장애물 밀집도를 계산하고, 이를 도시화하였다.
그리하여, 도 6a에서의 ① 영역은, 제1 내지 제3 확장 영역들(51, 52, 53)이 모두 중첩되는 영역으로, 도 6b에서와 같이 장애물 밀집도를 히스토그램으로 도시화하면 Magnitude 값 '3'으로 표시된다.
또한, 도 6a에서의 ② 영역은, 제2 및 제3 확장 영역들(52, 53)이 중첩되는 영역으로, 도 6b에서와 같이 장애물 밀집도를 히스토그램으로 도시화하면 Magnitude 값 '2'로 표시되고, 마찬가지로 ③ 영역은 제2 내지 제4 확장 영역들(52, 53, 54)이 중첩되는 영역으로, Magnitude 값 '3'으로 표시되며, ④ 영역은 제3 및 제4 확장 영역들(53, 54)이 중첩되는 영역으로, Magnitude 값 '2'로 표시된다.
도 7a 및 도 7b는 도 3의 장애물 제거방법에서 장애물에 따른 히스토그램의 다른 예를 도시한 모식도 및 그래프이다.
도 7a 및 도 7b는, 도시된 바와 같이 공간영역(30) 및 상기 공간영역 중 일부 영역만 개방된 개방부(31)가 정의된 상태에서, 상기에서 설명한 장애물 밀집도의 계산 및 히스토그램 도시화 단계들(S20, S30)의 다른 예를 나타낸 것이다.
즉, 도 7a 및 도 7b를 참조하면, 상기 타깃 물체(10)를 기준으로 -45°로부터 +45°방향으로 각 장애물들(21, 22, 23, 24)에 의해 정의된 확장영역들(51, 52, 53, 54)의 중첩 여부를 연산하여 장애물 밀집도를 계산하고, 이를 도시화하였다.
그리하여, 도 7a에서의 ① 영역은, 제1 확장 영역(51)만 위치하는 것으로, 도 7b에서와 같이 장애물 밀집도를 히스토그램으로 도시화하면 Magnitude 값 '1'로 표시된다.
또한, 도 7a에서의 ③ 영역은, 제2 확장 영역(52)만 위치하는 것으로, 도 7b에서와 같이 장애물 밀집도를 히스토그램으로 도시화하면 Magnitude 값 '1'로 표시되고, 마찬가지로, ④ 영역은 제2 및 제3 확장 영역들(52, 53)이 중첩되는 영역으로, Magnitude 값 '2'로 표시되며, ⑤ 영역은 제2 내지 제4 확장 영역들(52, 53, 54)이 중첩되는 영역으로, Magnitude 값 '3'으로 표시된다.
한편, 도 7a에서 ② 영역은, 어느 확장 영역도 위치하거나 중첩되지 않는 영역에 해당되어, 도 7b에서와 같이 장애물 밀집도를 히스토그램으로 도시화하면 Magnitude 값 '0'으로 표시된다.
이 때, 상기 ② 영역에서와 같이, 장애물 밀집도에 대한 히스토그램 값이 0인 경우, 해당 영역에는 장애물이 존재하지 않는 것이므로, 로봇은 상기 ② 영역을 통해서 상기 타깃 물체(10)를 그리핑할 수 있으며, 이에 대하여는 후술한다.
도 8 내지 도 11은 도 3의 장애물 제거방법에서 장애물을 제거하면서 히스토그램이 0인 값이 존재할 때까지 반복적으로 장애물을 제거하는 단계를 도시한 모식도 및 그래프들이다.
한편, 이상에서 설명한 바와 같이, 상기 타깃 물체(10)를 중심으로, 장애물 밀집도에 대한 계산 및 이의 히스토그램으로의 도시화가 완료되면, 상기 타깃 물체(10)를 중심으로 한 360도 방향(또는, 개방부가 일부 영역으로 제한된다면 해당 개방부에 해당되는 방향)에 대한 히스토그램 값이 도출되며, 상기 도출된 히스토그램 값 중 '0(zero)'인 값이 존재하는지의 여부를 판단한다(단계 S40).
그리하여, 상기 히스토그램 값 중 '0(zero)'인 값이 존재한다면(단계 S40), 해당 영역을 향하여 상기 로봇(40)이 이동되어 상기 타깃 물체(10)에 대한 그리핑을 수행한다(단계 S60).
그러나, 상기 도출된 히스토그램 값 중 '0(zero)'인 값이 존재하지 않는다면(단계 S40), 상기 히스토그램 값들 중 가장 작은 값을 가지는 영역에 해당되는 장애물, 즉 장애물 밀집도가 가장 낮은 영역의 장애물을 제거한다(단계 S50).
즉, 도 3 및 도 8을 참조하면, 상기 타깃 물체(10)를 중심으로, 개방부(31)를 고려한 원주 방향인 -45°내지 +45°방향에 대하여 도출된 히스토그램 값으로부터, 가장 낮은 히스토그램 값을 가지는 방향에 위치하는 장애물, 즉 제2 장애물(22)을 제거한다.
이 경우, 상기 장애물 밀집도의 계산에 있어서는, 초기상태인 최초에는, 상기 타깃 물체(10)로부터 가장 멀리 위치한 장애물인 제1 장애물(21)까지의 거리를 계산반경(dmax,1)로 정의하고, 상기 계산 반경(dmax,1) 이내의 모든 장애물들에 대하여 장애물 밀집도를 계산한다.
즉, 상기 타깃 물체(10)로부터 상기 제1 장애물(21)까지의 거리인 계산반경(dmax,1)을 가지는 가상의 원에 대하여, 상기 가상의 원의 내부에 위치하는 모든 장애물들에 대하여 장애물 밀집도를 계산하고, 이를 히스토그램으로 도시한다.
그리하여, 상기 히스토그램의 값이 가장 최소인 영역에서의 장애물인 제2 장애물(22)을 제거함으로써, 1차적인 장애물 제거를 수행하게 된다.
이 후, 상기 제2 장애물(22)이 제거된 상태에서, 상기 장애물 밀집도에 대한 계산(단계 S20) 및 이를 바탕으로 한 히스토그램의 도시화(단계 S30)를 다시 수행하게 된다.
즉, 도 9 및 도 10을 참조하면, 상기 제2 장애물(22)이 제거된 후, 잔류하는 장애물들에 대하여 장애물 밀집도를 다시 계산한다.
이 경우, 상기 장애물 밀집도를 계산함에 있어서는, 우선 계산 반경을 다시 정의하여야 하는데, 상기 계산 반경(dmax, 2)은 상기 타깃 물체(10)로부터 상기 전 단계에서 제거된 장애물, 즉 제2 장애물(22)이 위치했던 거리까지로 정의된다.
즉, 상기 타깃 물체(10)로부터 상기 제2 장애물(22)까지의 거리인 계산반경(dmax,2)을 가지는 가상의 원에 대하여, 상기 가상의 원의 내부에 위치하는 모든 장애물들에 대하여 장애물 밀집도를 계산하게 된다. 그리하여, 이렇게 계산된 장애물 밀집도를 히스토그램으로 도 10에서와 같이 도시한다.
이와 같이, 도시된 도 10의 히스토그램을 검토하건대, 역시, 히스토그램이 '0'인 값은 존재하지 않으므로(단계 S40), 상기 히스토그램의 값이 가장 작은 값에 해당되는 위치의 장애물인, 제3 장애물(23)(도 9 참조)을 제거하게 된다(단계 S50).
이 후, 상기 제3 장애물(23)도 제거된 상태에서, 상기 장애물 밀집도에 대한 계산(단계 S20) 및 이를 바탕으로 한 히스토그램의 도시화(단계 S30)를 다시 수행하게 된다.
즉, 도 9 및 도 11을 참조하면, 상기 제3 장애물(23)이 제거된 후, 잔류하는 장애물들에 대하여 장애물 밀집도를 다시 계산한다.
이 경우, 상기 장애물 밀집도를 계산함에 있어서는, 우선 계산 반경을 다시 정의하여야 하는데, 상기 계산 반경(dmax,3)은, 앞서 설명한 바와 같이, 상기 타깃 물체(10)로부터 상기 전 단계에서 제거된 장애물, 즉 제3 장애물(23)이 위치했던 거리까지로 정의된다.
그리하여, 상기 타깃 물체(10)로부터 상기 제3 장애물(23)까지의 거리인 계산반경(dmax,3)을 가지는 가상의 원에 대하여, 상기 가상의 원의 내부에 위치하는 모든 장애물들에 대하여 장애물 밀집도를 계산하게 된다. 그리하여, 이렇게 계산된 장애물 밀집도를 히스토그램으로 도 11에서와 같이 도시한다.
이와 같이, 도시된 도 11의 히스토그램을 검토하건대, 히스토그램이 '0'인 값은 존재하므로(단계 S40), 상기 히스토그램의 값이 0인 위치를 통해, 상기 로봇(40)은 상기 타깃 물체(10)를 그리핑하게 된다(단계 S60).
한편, 본 실시예에서는 히스토그램 값의 도출 결과를 바탕으로, 타깃 물체로까지의 접근 영역에 대한 정보를 제공할 수는 있으나, 실제 로봇은 해당 경로로까지 다양한 방법으로 접근할 수 있다.
이에, 본 실시예에서는, 상기 로봇이 상기 선택된 접근 영역으로 이동되는 경로를 결정함에 있어서는, 종래 로봇 경로 결정방법으로 사용되는, PRM, RRT, KPIECE 등의 방법이나, 이러한 로봇 경로 결정방법을 제공하는 OMPL(open motion planning library)가 사용될 수 있다.
도 10은 도 3의 장애물 제거방법과 종래기술인 Base-line 방법에 따른 장애물 제거 효율을 비교한 그래프이다.
도 10에 도시된 바와 같이, 종래기술인 Base-line 방법을 사용하는 경우, 본 실시예에 의한 장애물 제거방법에 의해 장애물을 제거하는 경우와 비교하여, 장애물의 총 개수와 무관하게 항상 평균 1회 내지 2회 정도 장애물의 제거 횟수가 높음을 확인할 수 있다.
즉, 본 실시예에 의한 장애물 제거방법을 이용하여 장애물을 제거하는 경우, 보다 적은 회수의 장애물 제거를 통해, 효과적으로 타깃 물체로까지의 접근 루트를 확보할 수 있으며, 이에 따라 보다 효과적인 타깃 물체의 그리핑을 수행할 수 있다.
상기와 같은 본 발명의 실시예들에 의하면, 종래 타깃 물체를 그리핑하기 위한 장애물 제거 방법과 대비하여, 보다 효율적으로 장애물을 제거할 수 있으며, 이에 따라 최적 경로로 타깃 물체를 그리핑할 수 있어, 타깃 물체의 그리핑을 보다 효과적으로 수행할 수 있다.
이는, 특히, 냉장고나 선반 또는 창고 등과 같은 비선형적인 환경에서 타깃 물체를 보다 효과적으로 그리핑할 수 있으며, 이를 통해, 자동화 로봇을 통한 타깃 물체의 선별 및 그리핑에 대한 자동화 공정을 보다 효과적으로 수행할 수 있다.
특히, 장애물이 제거됨에 따라 계산 반경을 재설정하고, 해당 계산 반경에서 히스토그램 값을 연산하므로, 장애물이 없어진 환경에서의 새로운 최적 경로를 도출할 수 있어, 보다 최적화된 경로 산출이 가능하게 된다.
이 경우, 히스토그램 값을 도출하기 위한, 장애물 밀집도는 각 장애물에 의해 정의되는 확장영역의 중첩 여부를 바탕으로 결정되므로, 장애물 밀집도에 대한 연산이 용이하여 히스토그램 값의 도출을 위한 연산 지연을 최소화할 수 있어, 최적 경로 생성 시간을 최소화할 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
10 : 타깃 물체 20 : 장애물
30 : 공간 영역 40 : 로봇
50 : 확장 영역

Claims (8)

  1. 타깃 물체의 주변에 위치하는 장애물들 각각의 확장영역을 정의하는 단계;
    상기 확장영역을 바탕으로, 상기 타깃 물체로부터의 장애물 밀집도를 계산하는 단계;
    상기 계산된 장애물 밀집도를 히스토그램으로 도시화하는 단계;
    상기 장애물 밀집도가 가장 낮은 장애물을 제거하는 단계; 및
    상기 장애물의 제거에 따라 상기 히스토그램 값이 0(zero)이 되면, 로봇이 상기 타깃 물체를 그리핑하는 단계를 포함하고,
    상기 확장영역은, 각 장애물의 크기, 상기 타깃 물체의 크기, 상기 로봇의 크기 및 안전계수를 합하여 정의되고,
    상기 장애물 밀집도는, 상기 타깃 물체를 중심으로 한 원주 방향에 대하여, 상기 각 장애물에 대하여 정의된 확장영역들이 몇 개가 중첩되는 가를 바탕으로, 상기 중첩되는 개수에 비례하여 정의되는 것을 특징으로 하는 장애물 제거방법.
  2. 제1항에 있어서, 상기 장애물을 제거하는 단계 이후,
    상기 히스토그램 값이 0(zero)이 될 때까지,
    잔류한 장애물들에 대하여 상기 장애물 밀집도를 다시 계산하고, 히스토그램으로 도시화하는 것을 특징으로 하는 장애물 제거방법.
  3. 제2항에 있어서, 상기 장애물 밀집도를 계산하는 단계에서,
    초기에는, 상기 타깃 물체로부터 가장 멀리 위치한 장애물까지의 거리를 계산반경으로 정의하고, 상기 계산 반경 이내의 장애물들에 대하여 상기 장애물 밀집도를 계산하는 것을 특징으로 하는 장애물 제거방법.
  4. 제3항에 있어서, 상기 장애물 밀집도를 계산하는 단계에서,
    상기 장애물이 제거되는 경우, 상기 계산 반경은 상기 타깃 물체로부터 상기 제거된 장애물까지의 거리로 정의되는 되어, 상기 계산 반경 이내의 장애물들에 대하여 상기 장애물 밀집도를 계산하는 것을 특징으로 하는 장애물 제거방법.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 제1항에 있어서,
    상기 히스토그램 값이 0이 되는 경우, 상기 로봇은 상기 히스토그램 값이 0인 방향을 향해 상기 타깃 물체로 접근하는 것을 특징으로 하는 장애물 제거방법.

KR1020180168338A 2018-12-24 2018-12-24 효율적인 장애물 제거 방법 KR102166419B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180168338A KR102166419B1 (ko) 2018-12-24 2018-12-24 효율적인 장애물 제거 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180168338A KR102166419B1 (ko) 2018-12-24 2018-12-24 효율적인 장애물 제거 방법

Publications (2)

Publication Number Publication Date
KR20200078956A KR20200078956A (ko) 2020-07-02
KR102166419B1 true KR102166419B1 (ko) 2020-10-15

Family

ID=71599340

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180168338A KR102166419B1 (ko) 2018-12-24 2018-12-24 효율적인 장애물 제거 방법

Country Status (1)

Country Link
KR (1) KR102166419B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112180924B (zh) * 2020-09-28 2024-04-02 珠海一微半导体股份有限公司 一种导航至密集障碍物的移动控制方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009090807A1 (ja) * 2008-01-16 2009-07-23 Nec Corporation 移動装置、移動装置の移動方法、及び移動装置の移動制御プログラム
JP2017504851A (ja) * 2014-09-05 2017-02-09 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd 無人航空機の速度を制御する方法、及びシステム
JP2017096750A (ja) * 2015-11-24 2017-06-01 株式会社キーエンス 位置決め方法、位置決め装置、プログラムおよびコンピュータ可読記録媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009090807A1 (ja) * 2008-01-16 2009-07-23 Nec Corporation 移動装置、移動装置の移動方法、及び移動装置の移動制御プログラム
JP2017504851A (ja) * 2014-09-05 2017-02-09 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd 無人航空機の速度を制御する方法、及びシステム
JP2017096750A (ja) * 2015-11-24 2017-06-01 株式会社キーエンス 位置決め方法、位置決め装置、プログラムおよびコンピュータ可読記録媒体

Also Published As

Publication number Publication date
KR20200078956A (ko) 2020-07-02

Similar Documents

Publication Publication Date Title
US9144904B2 (en) Method and system for automatically preventing deadlock in multi-robot systems
JP5981215B2 (ja) マルチロボットシステムのデッドロックを自動的に防止する方法及びシステム
JP5025598B2 (ja) 干渉チェック制御装置および干渉チェック制御方法
Palmieri et al. A novel RRT extend function for efficient and smooth mobile robot motion planning
US8290620B2 (en) Route creation method and route creation device
US20130184870A1 (en) Methods and computer-program products for generating grasp patterns for use by a robot
CN112229419B (zh) 一种动态路径规划导航方法及系统
Liu et al. Online time-optimal trajectory planning for robotic manipulators using adaptive elite genetic algorithm with singularity avoidance
CN112428274B (zh) 一种多自由度机器人的空间运动规划方法
KR102166419B1 (ko) 효율적인 장애물 제거 방법
CN109683615A (zh) 机器人连续运动的路径的速度前瞻方法及机器人控制器
JP3804994B2 (ja) ロボットの教示方法
JPS63169279A (ja) ロボツト制御装置
Wang et al. Assembly-oriented task sequence planning for a dual-arm robot
Levihn et al. Autonomous environment manipulation to assist humanoid locomotion
CN106826814B (zh) 一种机器人的运动控制方法和运动控制系统
Shapovalov et al. Exploration of unknown environments with a tethered mobile robot
JP2014069933A (ja) 情報処理装置、情報処理方法及びプログラム
KR101712116B1 (ko) 로봇 팔의 파지 궤적 생성 방법 및 장치
Debrouwere et al. Time-optimal tube following for robotic manipulators
Groth et al. One-shot robot programming by demonstration by adapting motion segments
Kontny et al. Fast control using homotopy properties for obstacle-avoidance of systems with input constraints
JPH04167105A (ja) ロボットの作業計画装置
CN110281235B (zh) 基于参数可控的下位机数控程序的机械手上位机控制方法
Cheniouni et al. Safe and quasi-optimal autonomous navigation in environments with convex obstacles

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right