KR20170042546A - 자동 로봇을 위한 장애물의 존재 및 부재 중 하나의 확률 맵 구축 방법 - Google Patents

자동 로봇을 위한 장애물의 존재 및 부재 중 하나의 확률 맵 구축 방법 Download PDF

Info

Publication number
KR20170042546A
KR20170042546A KR1020177000278A KR20177000278A KR20170042546A KR 20170042546 A KR20170042546 A KR 20170042546A KR 1020177000278 A KR1020177000278 A KR 1020177000278A KR 20177000278 A KR20177000278 A KR 20177000278A KR 20170042546 A KR20170042546 A KR 20170042546A
Authority
KR
South Korea
Prior art keywords
obstacle
map
robot
value
absence
Prior art date
Application number
KR1020177000278A
Other languages
English (en)
Other versions
KR101999033B1 (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 소프트뱅크 로보틱스 유럽
Publication of KR20170042546A publication Critical patent/KR20170042546A/ko
Application granted granted Critical
Publication of KR101999033B1 publication Critical patent/KR101999033B1/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/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S15/00Systems using the reflection or reradiation of acoustic waves, e.g. sonar systems
    • G01S15/88Sonar systems specially adapted for specific applications
    • G01S15/89Sonar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S15/00Systems using the reflection or reradiation of acoustic waves, e.g. sonar systems
    • G01S15/88Sonar systems specially adapted for specific applications
    • G01S15/93Sonar systems specially adapted for specific applications for anti-collision purposes
    • G01S15/931Sonar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • G01S17/936
    • 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/0227Control of position or course in two dimensions specially adapted to land vehicles using mechanical sensing means, e.g. for sensing treated area
    • 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
    • G05D1/024Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
    • 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/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • 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/0255Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals
    • G05D2201/0217

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Electromagnetism (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Acoustics & Sound (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Optics & Photonics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)

Abstract

발명은 자동 로봇의 환경에서 장애물의 부재 및 존재 중 하나의 확률의 화소 맵을 컴퓨팅하기 위한 방법에 관한 것이다. 자동 로봇은 유사한 유형의 장애물들을 검출하는, 그리고, 장애물 부재 확률의 자체 센서 초기 맵을 갖는, 적어도 한 세트의 센서들로 군을 이룬 적어도 하나의 센서를 포함한다. 상기 방법은 상기 로봇 주위에 형성되어 상기 로봇에 부착된 맵을, 장애물 존재 또는 부재 확률의 기규정된 값으로 초기화하는 단계와, 적어도 하나의 감지 과정으로부터, 로봇 주위의 장애물 부재 또는 존재를 나타내는 데이터를 획득하는 단계와, 감지 과정으로부터 데이터를 이용하여 확률의 값을 업데이트하면서, 이와 동시적으로, 이전 관찰사항의 장애물의 부재 또는 존재의 확률을, 기규정된 값에 더 가까운 값으로 변형하는 단계를 포함한다.

Description

자동 로봇을 위한 장애물의 존재 및 부재 중 하나의 확률 맵 구축 방법 {METHOD FOR BUILDING A MAP OF PROBABILITY OF ONE OF ABSENCE AND PRESENCE OF OBSTACLES FOR AN AUTONOMOUS ROBOT}
본 발명은 로봇 프로그래밍 시스템에 관한 것이다. 특히, 발명은 장애물의 존재 및 부재 중 하나의 확률 로컬 맵 생성에 적용된다. 이러한 맵은 특히, 충돌 회피 기술에 적용가능하지만, 이에 제한되지 않는다.
로봇은 심지어 초기에 알려지지 않은 환경에서도, 고도의 자율성으로 거동 또는 작업을 수행할 수 있을 때 자율적이라고 인정될 수 있다. 안전하게 이동하고 거동을 수행하기 위해, 자동 로봇은 위험 가능성이 있는 장애물에 관한 정보를 파악 및 수집할 필요가 있다.
따라서, 로컬 장애물에 관한 정보의 자율 수집 문제가 로봇 분야에서 중대한 문제다.
종래 기술에 따르면, 장애물 검출에 관해 잘 알려진 기술은 SLAM(Simultaneous Localization And Mapping)으로 불리는 방법의 카테고리에 속한다. 이러한 방법들은 장애물의 검출과, 그 환경에 대한 로봇의 배치를 동시적으로 제공한다. SLAM 기술은 THRUN, S. BURGARD, W. FOX D. Probabilistic Robotic. MIT Press, 2005; MONTEMERLO, M. THRUN S. KOLLER D. WEGBREIT B., FastSLAM: A factored solution to the simultaneous localization and mapping problem, AAAI/IAAI, 2002, pages 593-598 에 의해 개시되고 있다.
로봇은 소정의 사람 외양의 속성 - 머리, 몸통, 두 팔, 두 다리, 등 - 을 가질 때의 순간으로부터 휴머노이드로 인정받을 수 있다. 그러나 휴머노이드 로봇은 조금 더 또는 조금 덜 정교할 수 있다. 팔다리가 보다 더 많은 또는 보다 더 적은 개수의 관절을 가질 수 있다. 자체 균형을 정적으로 그리고 동적으로 제어할 수 있고, 2개의 다리로, 가능하다면 3차원적으로, 걸을 수 있으며, 또는 기저부 위에서 간단히 구를 수 있다. 휴머노이드는 환경으로부터 신호("듣고", "보고", "만지고", "감지하고", 등) 를 수득할 수 있고, 대체로 정교한 거동에 따라 반응하며, 말하기(speech) 또는 제스처에 의해 다른 로봇 또는 사람과 상호작용할 수 있다.
이러한 로봇이 구체적으로 사람과의 상호작용을 위해 설계될 수 있다. 그러나, 안면 및 감정 인지를 포함한 이러한 상호작용들 및 제스처 및 대화는 고도의 CPU-집약성을 가진다. 이러한 상호작용은 휴머노이드 로봇의 핵심이다. 따라서, 로봇 설계자가 해결해야할 한가지 문제점은 최저로 가능한 CPU 이용으로 모든 다른 로봇 기능들이 동작하도록 설계하는 것이다. 이러한 다른 기능들은 특히, 국부화, 충돌 방지, 및 장애물 검출을 포함하며, 이는 로봇이 파워-온 상태에 있을 때의 순간으로부터 연속적으로 수행되어야 한다.
SLAM 기술의 로봇에 의해 사용되는 환경 맵의 크기는 로봇이 그 환경의 새 부분을 발견할 때 커진다. SLAM 기술이 로봇 위치 컴퓨팅을 위해 환경의 모든 알려진 부분들을 이용하기 때문에, 장애물 검출 복잡도에 대한 상한을, 따라서, 알려지지 않은 크기를 갖는 환경에서 SLAM 기술을 이용할 때의 CPU 이용을 제공하는 것이 거의 불가능하다. 더욱이, SLAM 구현예는 EKF-SLAM(Extended Kalman Filter SLAM)을 위한 코배리언스 매트릭스(covariance matrix)와 같은 CPU-집약형 기술을 이용한다. SLAM 기술은 로봇 위치와, 한 세트의 랜드마크의 위치를 추정한다. 로봇이 환경을 발견함에 따라, 이 세트에 새 환경을 추가한다. EKF SLAM에서, 각각의 새 랜드마크가 상태 벡터(state vector) 및 코배리언스 매트릭스에 추가된다. 따라서, 다수의 잠재적 랜드마크를 가진 큰 환경이 매우 큰 복잡도를 야기할 수 있다. 따라서, SLAM 기술 이용이 단독 국부화 및 장애물 검출을 위한 임계 CPU 이용으로 이어져, 사람의 상호작용을 위한 CPU 가용도를 위협할 수 있다. 한편, SLAM 기술은 정적 랜드마크를 이용하여 정적 세계에서 로봇의 위치를 파악하도록 설계된다. 그러므로, 움직이는 장애물을 검출하기에 비효율적이다. C.-C Wang은 "Simultaneous localization, mapping and moving object tracking"에서 SLAM 및 모바일 물체 추적(MOT)을 동시에 이용하는 방법을 개시한다. 그러나 이 기술은 기본적으로 하나의 SLAM 제한사항을 극복하기 위해 SLAM 및 MOT의 동시 실행으로 이루어지며, 따라서, 추가적인 복잡도를 추가한다.
유럽 특허 출원 제14305543.2호는 SLAM 기술에 비해 CPU 이용이 감소된 로봇의 정밀 국부화를 유도하는 국부화 평면에서 로봇을 국부화시키는 방법을 개시한다.
이러한 방법은 로봇 국부화 문제를 해결한다. 그러나, 덜 복잡하고 덜 CPU 집약적이면서 충돌 방지를 위한 충분한 신뢰도로, 장애물을 검출할 필요가 여전히 존재한다.
이를 위해, 발명은 자동 로봇의 보드 상에서 컴퓨터에 의해, 로봇 환경에서 장애물의 부재 및 존재 중 적어도 하나의 확률의 화소 맵을 결정하기 위한 방법을 개시하며, 상기 방법은,
- 상기 로봇 주위에 형성되어 상기 로봇에 실질적으로 부착된 초기 맵을, 로봇의 온-보드 메모리에서, 초기화하는 단계 - 상기 맵은 기규정된 임계치를 갖고 기규정된 치수의 화소만큼 포장되며, 각각의 화소 내 장애물의 부재 및 존재 중 적어도 하나의 확률의 값은 기규정된 값으로 설정됨 - 와,
- 로봇 환경에서 장애물의 부재 및 존재 중 적어도 하나를 나타내는 데이터를, 적어도 감지 과정으로부터 획득하는 단계와,
- 1) 상기 데이터로부터 초기 맵의 적어도 하나의 화소 내 장애물의 부재 및 존재 중 적어도 하나의 확률의 값을 업데이트하는 과정과, 2) 이전 관찰사항의 장애물의 부재 또는 존재의 확률을, 기규정된 값에 더 가까운 값으로 변형하는 과정을 초기 맵에 동시에 적용하는 단계를 포함한다.
유리하게도, 상기 초기 맵은 로봇이 기결정된 화소 수 내에 머무는 한 고정된 기준 프레임에서 정적 상태를 유지하고, 로봇이 이러한 기결정된 화소 수로부터 벗어나 움직일 때 로봇과 함께 움직인다.
유리하게도, 상기 초기 맵의 임계치는 상기 로봇이 즉각적 충돌 위협을 만날 수 있는 영역의 치수의 함수로 미리 규정된다.
유리하게도, 기규정된 화소 치수는 충돌 회피 거리의 함수로 선택된다.
유리하게도, 상기 초기 맵은 정사각형을 형성한다.
유리하게도, 상기 초기 맵을 초기화하기 위해, 그리고, 이전 관찰사항의 장애물의 부재 및 존재 중 하나의 확률을 변형하기 위한 과정에서 상기 기규정된 값은, 확실한 장애물 존재를 나타내는 값과, 확실한 장애물 부재를 나타내는 값의 평균이다.
유리하게도, 부재 확률의 맵이 연산되고, 장애물 부재 확률은 0과 1 사이의 수치이며, 0은 확실한 장애물 존재를 나타내고, 1은 확실한 장애물 부재를 나타내며, 0.5는 장애물 존재가 알려지지 않음을 나타낸다.
유리하게도, 장애물 및 알려지지 않은 화소의 경계를 정하기 위한 임계치 Tsobs는 구간 [0;0.5] 내의 수치로 규정되고, 장애물없음과 알려지지 않은 화소의 경계를 정하기 위한 임계치는 구간 [0.5;1] 내의 수치로 규정된다.
유리하게도, 장애물 부재 확률을 변형하기 위한 시간 전개 비 Rtemp는 다음의 공식 Rtemp = exp(ln(1-2.0 * Tsobs) / (Tconv * update frequency) ) 에 의해 기규정된 수렴 시간 Tconv 및 상기 장애물 임계치에 따라 규정된다.
유리하게도, 상기 이전 관찰사항의 장애물 부재 확률을 변형하기 위한 과정은 이전 맵 내 값에 따라 각 화소의 값을 연산하기 위한 기하 분포 법칙을 이용하고, 공식 VC320 = Rtemp * (VC310 - 0.5) + 0.5 을 이용하며, VC320은 화소의 변형된 값이고, VC310은 이전 값이다.
유리하게도, 복수의 초기 맵이 복수의 상보적 감지 과정에 대해 초기화되고, 복수의 맵이 하나의 융합 맵으로 동시적으로 병합된다.
유리하게도, 복수의 초기 맵의 병합은 기규정된 임계치 Tsobs 및 Tsfree를 이용하고, 다음의 조건이 만족된다.
- 초기 맵 중 적어도 하나 내 임계치 Tsobs 미만의 장애물 부재 확률을 가진 각각의 화소가 융합 맵에서 장애물이고,
- 융합 맵에서 장애물 화소가 아닌, 그리고, 초기 맵 중 적어도 하나 내 임계치 Tsfree 보다 큰 장애물 부재 확률을 가진, 각각의 화소는 융합 맵에서 장애물없는 화소임.
유리하게도, 복수의 초기 맵을 병합하는 단계는,
- 제 1 사전-융합 맵 및 제 2 사전-융합 맵을 발생시키는 단계와,
- 제 1 사전-융합 맵 내 일 화소의 장애물 부재 확률의 값을, 복수의 초기 맵 내 동일 화소 내 부재 확률 값의 최소값으로 설정하는 단계와,
- 제 2 사전-융합 맵 내 일 화소의 장애물 부재 확률의 값을, 복수의 초기 맵 내 동일 화소 내 부재 확률 값의 최대값으로 설정하는 단계와,
- 장애물 임계치 Tsobs 미만인 값을 가진 제 1 사전-융합 맵 내 일 화소의 장애물 부재 확률의 값을 0으로 설정하는 단계와,
- 장애물 임계치 Tsobs 보다 큰 값을 가진 제 1 사전-융합 맵 내 일 화소의 장애물 부재 확률의 값을 1로 설정하는 단계와,
- 융합 맵 내 일 화소의 장애물 부재 확률의 값을, 제 1 및 제 2 사전-융합 맵 내 동일 화소의 부재 확률 값의 최소값으로 설정하는 단계를 포함한다.
유리하게도, 상기 복수의 초기 맵 중 각각의 맵은 동일 유형의 장애물을 관찰하는 센서들로 군을 형성하는 상이한 센서 세트로부터 획득되는 데이터를 이용하여 업데이트된다.
유리하게도, 제 1 센서 세트는 로봇의 온-보드 레이저 센서들로 군을 형성하고, 제 2 센서 세트는 로봇의 온-보드 3D 카메라들로 군을 형성하며, 제 3 센서 세트는 로봇의 온-보드 초음파 센서들로 군을 형성하고, 제 4 센서 세트는 로봇의 온-보드 접촉 센서들로 군을 형성한다.
유리하게도, 로봇 환경에서 장애물의 부재 및 존재 중 적어도 하나를 나타내는 데이터를 적어도 감지 과정으로부터 획득하는 단계는, 적어도
- 센서로부터 순수 데이터 값들을 획득하는 단계와,
- 로봇 운동학 관절 모델 및 각도 관절 센서를 이용하여 센서와 관련된 6D 센서 변환을 생성하는 단계와,
- 상기 6D 센서 변환 및 상기 순수 데이터를 이용하여 센서에 의해 관찰되는 장애물을 나타내는 한 세트의 3D 점들을 생성하는 단계를 포함한다.
유리하게도, 초기 맵의 적어도 하나의 화소 내 장애물의 부재 및 존재 중 적어도 하나의 확률의 값을 업데이트하는 과정은, 적어도
- 확실한 장애물 존재를 나타내는 값으로, 적어도 하나의 3D 점이 발견되는 적어도 하나의 2D 화소를 충전하는 과정과,
- 확실한 장애물 부재를 나타내는 값으로, 센서의 위치 및 상기 적어도 하나의 화소 사이의 선에 있는 각각의 화소를 충전하는 과정을 포함한다.
발명은 자동 로봇을 또한 개시하며, 상기 자동 로봇은 적어도,
- 복수의 거리 센서와,
- 로봇 운동학 관절 모델과,
- 상기 로봇 주위로 형성되는 초기 맵을 저장하기 위한 온-보드 메모리 - 상기 맵은 기규정된 임계치를 갖고 기규정된 치수의 화소에 의해 포장되며, 장애물의 존재 및 부재 중 적어도 하나의 확률의 값이 저장됨 - 와,
- 각각의 화소의 값을 기규정된 값으로 설정함으로써 상기 초기 맵을 초기화하기 위한 모듈과,
- 상기 로봇의 환경에서 장애물 부재 및 존재 중 적어도 하나를 나타내는 데이터를 상기 지향성 거리 센서들 중 적어도 하나로부터 획득하기 위한 모듈과,
- 1) 상기 데이터로부터 초기 맵의 적어도 하나의 화소 내 장애물의 부재 및 존재 중 적어도 하나의 확률의 값을 업데이트하는 과정과, 2) 이전 관찰사항의 장애물의 부재 또는 존재의 확률을, 기규정된 값에 더 가까운 값으로 변형하는 과정을 상기 맵에 동시에 적용하기 위한 모듈을 포함한다.
발명은 로봇의 환경에서 장애물의 부재 및 존재 중 적어도 하나의 확률의 화소 맵을 결정하기 위한 방법을 컴퓨터로 하여금 구현시키는 코드 수단을 포함하는, 컴퓨터 판독가능 저장 매체 상에 저장된, 컴퓨터 프로그램 프로덕트를 또한 개시하며, 상기 방법은,
- 자동 로봇 주위에 형성되어 상기 로봇에 부착된 초기 맵을, 메모리에서 초기화하기 위한 모듈 - 상기 초기 맵은 기규정된 임계치를 갖고 기규정된 치수의 화소에 의해 포장되며, 각각의 화소 내 장애물의 부재 및 존재 중 적어도 하나의 확률의 값은 기규정된 값으로 설정됨 - 와,
- 로봇 환경에서 장애물의 부재 및 존재 중 적어도 하나를 나타내는 데이터를, 적어도 제 1 유형의 감지 과정으로부터 획득하기 위한 모듈과,
- 1) 상기 데이터로부터 초기 맵의 적어도 하나의 화소 내 장애물의 부재 및 존재 중 적어도 하나의 확률의 값을 업데이트하는 과정과, 2) 이전 관찰사항의 장애물의 부재 또는 존재의 확률을, 기규정된 값에 더 가까운 값으로 변형하는 과정을 초기 맵에 동시에 적용하기 위한 모듈을 포함한다.
발명은 자동 로봇의 근접 환경에서 모든 위협 및 장애물을 가진 맵을 구축하기 위한 방법을 개시한다. 이는 본질적으로 충돌 회피에 사용되지만 이에 국한되지 않는다. 궤도 연산에도 사용될 수 있다.
발명에 따른 방법은 매우 낮은 CPU 이용을 가진다. 게다가, 화소 값 비교 및 충전과 같은 간단한 작동들을 이용하여, 제한된 그리고 경계지어진 수의 화소들을 가진 화소 맵에 대해 작동한다.
제한된 수치 및 크기의 맵으로 인해, 작은 메모리 풋프린트를 가진다. 더욱이, 발명에 따른 방법의 메모리 풋프린트는 경계지어진다.
발명은 추가적인 복잡도없이 모바일 장애물 나타남 및 사라짐을 또한 검출한다.
다수의 실시예에서, 발명은 모든 유형의 장애물의 보다 정밀한 검출을 이용하기 위해 로봇의 모든 조율의 센서를 또한 활용한다.
따라서, 발명에 따른 방법은 휴머노이드 로봇의 인간 상호작용을 위해 CPU 및 메모리를 절감하면서 로봇 및 환경(사람, 주변 물체...) 모두에 대해 안전성을 보장하도록 충분한 신뢰도로 장애물을 검출한다.
발명은 다수의 예시적 실시예의 다음 설명과, 다음과 같은 첨부 도면으로부터 그 다양한 특징 및 장점이 나타날 것이다.
도 1은 발명의 다수의 실시예에서 휴머노이드 로봇의 물리적 구조를 도시하고,
도 2는 발명의 다수의 실시예의 로봇의 소프트웨어 모듈의 기능적 구조를 도시하며,
도 3은 발명의 다수의 실시예에 대한 전역 순서도를 도시하고,
도 4는 발명의 다수의 실시예에서 일 센서로부터의 관찰로 센서 패밀리 맵을 업데이트하기 위한 순서도를 도시하며,
도 5는 발명의 다수의 실시예에서 맵들이 컴퓨팅되는 화소 영역의 한 예를 제공하고,
도 6은 발명의 다수의 실시예에서 장애물의 부재 확률의 시간적 전개의 예를 제공하며,
도 7은 발명의 다수의 실시예에서 알려지지 않은 확률로 초기화되고, 단일 센서 관찰로 업데이트되는, 센서 패밀리 맵의 한 예를 보여주고,
도 8a, 8b, 8c, 8d는 발명의 다수의 실시예에서 새 관찰에 따라 구 관찰의 동시적 업데이트와, 화소의 수정을 갖는, 센서 패밀리 맵의 전개를 도시하며,
도 9a, 9b, 9c는 발명의 다수의 실시예에서, 복수의 센서 패밀리 맵의 융합의 예를 제공한다.
도 1은 발명의 다수의 실시예에서 휴머노이드 로봇의 물리적 구조를 도시한다.
도면의 구체적 로봇(100)은 발명을 구현할 수 있는 휴머노이드 로봇의 단지 한 예로 간주된다. 도면 상의 로봇의 하측 사지는 워킹 기능을 하지 않지만, 표면 상에서 구르도록 기저부(140) 상에서 임의의 방향으로 이동할 수 있다. 발명은 예를 들어, Nao™ 로봇처럼, 워킹에 맞는 로봇으로 쉽게 구현될 수 있다. 예를 들자면, 이 로봇은 약 120cm 주변의 높이(110), 65cm 주변의 깊이(120), 및 40cm 근처의 폭(130)을 갖는다. 구체적 실시예에서, 발명의 로봇은 환경과 메시지(오디오, 비디오, 웹 페이지)를 통신할 수 있는, 또는, 사용자로부터 태블릿의 촉각 인터페이스를 통해 입력을 수신할 수 있는, 태블릿(150)을 가진다. 태블릿의 프로세서에 추가하여, 발명의 로봇은 그 자체 마더보드의 프로세서를 또한 이용하며, 이는 예를 들어, Intel™ 사의 ATOM ™ Z530 일 수 있다. 발명의 로봇은 마더보드와, 특히, 발명의 구체적 실시예에서, 로봇이 휠로 이용하는 볼 및 사지의 관절의 모터를 제어하는 센서와 자기 회전 인코더(MRE)를 지닌 보드 사이의 데이터 흐름의 취급을 전용으로 하는 프로세서를 또한 유리하게 포함한다. 모터는 유한한 관절을 위해 필요한 최대 토크의 크기에 따라, 상이한 유형의 것일 수 있다. 예를 들어, e-minebea™ 사의 브러시 DC 코어리스 모터(예를 들어, SE24P2CTCA)가 사용될 수 있고, 또는 Maxon™ 사의 브러시리스 DC 모터(예를 들어, EC45_70W)가 사용될 수 있다. MRE는 12 또는 14비트 정밀도의, 홀 효과를 이용한 유형의 것이 바람직하다.
발명의 실시예에서, 도 1 상에 디스플레이되는 로봇은 다양한 종류의 센서를 또한 포함한다. 그 중 일부는 로봇의 위치 및 움직임을 제어하는데 사용된다. 이는 예를 들어, 3-축 자이로미터 및 3-축 가속계를 포함하는, 로봇의 몸통에 위치한, 관성 유닛(inertial unit)의 경우일 수 있다. 로봇은 Shenzen V-Vision Technology Ltd™ 사의 제품(OV5640)과 같은, 시스템 온 칩(SOC) 유형의 로봇의 포헤드(forehead)(상부 및 하부) 상에 2개의 2D 칼라 RGB 카메라(160)를 또한 포함할 수 있고, 이는 수평 약 57도 및 수직 44도의 시야 범위(FOV)와, 초당 5프레임에서 5백만 화소의 해상도를 가진다. 하나의 3D 센서(170)가 2D 카메라와 대략 동일한 FOV를 갖는, 초당 20 프레임에서 30만 화소의 해상도를 가진 ASUS XTION™ SOC 센서와 같이, 로봇의 눈 뒤에 또한 포함될 수 있다. 발명의 로봇은 환경 내 물체/사람에 대한 상대적 위치를 감지할 수 있도록, 예를 들어, 머리(180a)에 3개, 그리고, 기저부(180b)에 3개씩, 레이저 라인 제너레이터를 또한 갖출 수 있다. 발명의 로봇은 환경 내 소리를 감지할 수 있는 마이크로폰을 또한 포함할 수 있다. 일 실시예에서, 300Hz 내지 12kHz의 주파수 범위에서 1kHz에서 300mV/Pa +/-3dB의 감도를 가진 4개의 마이크로폰(1kHz 대비 -10dB)이 로봇의 머리 상에 구현될 수 있다. 발명의 로봇은 환경 내 물체/사람에 대한 거리를 측정하기 위해, 기저부의 전방 및 후방에 위치할 수 있는, 2개의 소나 센서(sonar sensor)(190)를 또한 포함할 수 있다.
로봇은 사람과의 상호작용을 위해 머리와 손에 촉각 센서를 또한 포함할 수 있다. 로봇은 경로 상에서 만나는 장애물을 감지하기 위해 기저부 상에 범퍼(1B0)를 또한 포함할 수 있다.
로봇은 계획된 궤적 및 실제 궤적 간의 차이를 연산함으로써 터치하는 물체와 상부 부재의 접촉을 또한 감지할 수 있다.
감정을 변환하고 환경 내 사람과 통신하기 위해, 발명의 로봇은
- 예를 들어, 눈, 귀에, 그리고, 어깨 상에, LED와,
- 귀 안에 위치하는 예를 들어, 2개의, 스피커
를 또한 포함할 수 있다.
발명의 로봇은 이더넷 RJ45 또는 와이파이 802.11 연결을 통해 기지국 또는 다른 로봇과 통신할 수 있다.
발명의 로봇은 약 400Wh의 에너지를 갖는 리튬 철 포스페이트 배터리에 의해 전력을 공급받을 수 있다. 로봇은 포함하는 배터리 유형에 알맞는 충전소에 액세스할 수 있다.
도 2는 실시예들 중 여러가지에서 발명을 구현할 수 있는 물리적 및 기능적 구조의 도면이다.
NAO와 같은 로봇은 발명의 실시예에서 로봇의 기능을 파일롯할 수 있는 하이 레벨 소프트웨어를 유리하게 부여받는다. 이러한 유형의 소프트웨어 구조, 더빙된 NAOQI는, 특히, 2009년 10월 15일 공개된 특허출원 WO 2009/124955호에 개시되어 있다. 이는 본 발명의 구현에 필요한 소프트웨어 인프러스트럭처를 제공하는 교환 소프트웨어 및 원격 사이트 또는 PC와 로봇 간의 통신을 관리하기 위한 기본 기능을 포함한다.
NAOQI는 로봇 애플리케이션용으로 최적화된 프레임웍으로서, 여러 언어, 특히, C++, Python, 및 Urbi를 지원한다.
본 발명의 범주 내에서, NAOQI의 다음 모듈이 특히 유용하다:
- 모듈 ALMemory(210)는 NAOQI의 다양한 모듈들 간에 공유되는 메모리를 관리하고,
- 모듈 DCM(220)은 물리적 로봇(모터, 센서)과의 통신을 관리하며,
- 모듈 ALMotion(230)은 기준 프레임에서 로봇의 다양한 부분의 움직임, 따라서, 센서 위치/배향을 컴퓨팅한다.
이러한 3개의 모듈들은 C++로 유리하게 코딩된다. 도면은 모듈들 간의 데이터 흐름을 또한 표시한다.
특히, 장애물 함수의 부재 및 존재 중 하나의 확률 맵의 구현에 필요한 입력은 다음과 같다:
- 센서의 값(예를 들어, 발 압력 센서, 레이저, 초음파 센서),
- 로봇의 자세.
규칙적 시간 간격으로, 장애물 부재 맵 구축 함수는 장애물의 부재 및 존재 중 하나의 확률 맵을 업데이트한다. 이를 위해, DCM 모듈(220)으로부터 센서 값과, ALRobotPosture 모듈(230)로부터 로봇 제사 값을 수득한다.
도 3은 발명의 다수의 실시예에 대한 전역 순서도를 도시한다.
발명의 다수의 실시예에서, 센서들은 센서 패밀리로 그룹화된다. 각각의 센서 패밀리는 하나 이상의 센서를 포함할 수 있다. 유리하게도, 각 패밀리의 센서들은 동일 유형의 장애물을 관찰하도록 설계된 센서들을 포함한다. 예를 들어, 로봇(100)은 3D 카메라 센서(170)와, 3개의 레이저 라인 제너레이터(180a) 및 3개의 레이저 라인 제너레이터(180b)를 가진 제 2 패밀리와, 2개의 소나 센서(190)를 가진 제 3 패밀리와, 촉각 센서, 범퍼(1B0), 및, 계획된 궤적과 실제 궤적 간의 차이의 연산을 통해 접촉을 감지하는 논리 센서를 포함하는, 접촉 감지 센서를 가진 제 4 패밀리를 포함할 수 있다.
아래 예에서, 장애물 부재 확률 맵은 [0:1] 범위에서 컴퓨팅되고, 1의 확률은 확실한 장애물 부재를 표시하고, 0의 확률은 확실한 장애물 존재를 나타내며, 0.5는 장애물의 부재가 알려지지 않은 확률이다. 발명은 이러한 예 및 확률 표현에 제한되지 않으며, 당 업자가 장애물의 다른 표현으로 발명을 구현하는 것이 직관적인 작업이다. 예를 들어, 장애물 존재 확률 맵이 대신에 컴퓨팅될 수 있고, 1은 장애물 존재가 확실함을 나타내고, 0은 장애물 부재가 확실함을 나타낸다. 확률의 [0:1] 구간이 퍼센티지, 구분된 값들을 가진 점유 상태, 장애물 존재 또는 부재를 나타내는 불린 값, 또는, 장애물의 존재 또는 부재를 나타내는 그외 다른 스케일로 바뀔 수 있다.
각각의 센서 패밀리로부터, 센서 패밀리 맵이 생성된다(310, 320, 330, 340). 나머지 설명에서, 센서 패밀리 맵은 "센서 패밀리 맵" 또는 "초기 맵"으로 지칭될 수 있다. 각각의 센서 패밀리 맵(340, 350)으로부터 정보를 병합함으로써 융합 맵이 형성된다. 이러한 맵들 각각이 로봇에 부착되고, 규정된 크기 및 화소 치수를 가진다. 발명의 다수의 실시예에서, 모든 맵은 동일 크기, 화소 치수, 및 원점을 가진다. 그러므로, 주어진 좌표를 가진 화소들은 각각의 맵에서 동일 영역을 나타내고, 이는 맵 화소들 간의 비교 및 작동을 매우 용이하게 만든다. 나머지 단락에서, 도 3에 대한 참조는 절차와, 절차 종료시 생성 또는 변형되는 맵을 모두 표시할 것이다. 예를 들어, 330은 센서 패밀리 맵을 업데이트하는 절차와, 업데이트된 맵을 지정할 수 있다. 규정된 화소 치수는, 장애물이 가장 가까운 화소 내에서 검출될 때 로봇이 정지 위치에 있도록, 최저 속도로 이동할 때, 로봇의 최소 정지 거리(예를 들어, 10cm)의 함수인 값에서 설정될 수 있다. 그 후, 맵 치수가 발명의 방법에 의해 사용되는 처리 기능에 설정된 임계치의 함수로 결정될 수 있고, 이는, 맵의 임계치와 로봇 간의 1.5m의 거리, 3m의 맵의 규정된 치수를 부여하는, 예를 들어, 기결정된 10cm 크기의 30x30 (900) 화소다. 맵의 규정된 치수는 로봇의 환경 내 가능한 장애물의 함수로 먼저 결정될 수 있고, 그 후, 화소 수 또는 크기, 또는 이들의 조합이 발명의 방법에 할당될 처리 기능의 함수로 결정될 수 있다. 이러한 절충은 당 업자에 의해 결정될 수 있고, 당 업자에게 알려진 절차들을 이용하여, 로봇의 소프트웨어 모듈에서 프로그래밍될 수 있다.
센서 패밀리 맵(340, 350), 및 융합 맵(360)은 규칙적인 방식으로 업데이트된다. 로봇(100)에서, 3D 카메라(170), 레이저 라인 제너레이터(180a, 180b), 및 소나 센서(190)가 모두 자체 주파수에서 측정치를 발생시킨다. 유리하게도, 센서 패밀리 맵 및 융합 맵은 모든 센서로부터의 최저 주파수에서 업데이트된다. 일 실시예에서, 센서 및 맵은 10 fps로 업데이트된다. 이 주파수는 "업데이트 주파수"로 지칭될 것이다. 본 예는 제한적이지 않고, 임의의 업데이트 주파수가 선택될 수 있으며, 업데이트 주파수를 위해 어떤 새 측정치가 가용하지 않을 경우 옛 측정치가 임의의 센서로부터 사용될 수 있다.
각각의 업데이트에서, 센서 패밀리 맵(340)은 이러한 센서들의 패밀리(310)에 대한 이전 맵과, 이 패밀리에 속한 센서들로부터의 새 관찰사항(331, 332)을 이용하여 각각의 센서 패밀리를 위해 생성된다. 단계(320)에서, 이전 맵(310)의 화소 값들을 업데이트하기 위한 절차가 적용된다. 본 예에서, 이러한 절차는 값 0.5에 더 가까운 모든 화소의 값들을 가져오고, 따라서, 이전 관찰사항에 덜 가치를 부여한다. 이 절차의 종료시, 이전 맵(310)이 신뢰도 감소한 센서 패밀리 맵(320)으로 변환된다. 신뢰도 감소한 이 맵(320)은 그 후 단계(330)에서, 센서(331, 332)로부터의 새 관찰사항으로 업데이트된다. 이러한 업데이트 절차는 센서가 1의 장애물 부재 확률로 장애물의 부재를 관찰한 경우 각각의 화소를 충전하고, 센서가 0의 장애물 부재 확률에 의해 장애물의 존재를 관찰한 경우 각각의 화소를 충전한다. 맵(320)이 그 센서 패밀리에 속한 각각의 센서로부터의 관찰사항으로 업데이트되면, 센서들의 일 패밀리로부터 시간상 가용한 모든 정보를 지닌 센서 패밀리 맵(340)으로 변환된다.
다수의 실시예에서, 로봇의 센서들은 상이한 수준의 신뢰도를 가진다. 예를 들어, 구 센서는 신 센서보다 신뢰도가 덜한 것으로 간주될 수 있다. 관찰사항 신뢰도에 관한 정보는 따라서, 업데이트(330) 중 업데이트 화소에 추가된다. 이는 신뢰도가 덜한 센서에 대해 0.5에 가까운 값을 설정함으로써, 또는, 장애물 부재 확률에 추가하여 신뢰도 정보를 추가함으로써, 이루어질 수 있다. 신뢰도는 예를 들어, 로봇의 환경에 따라 센서의 유형의 함수로 또한 설정될 수 있다. 예를 들자면, 다수의 시-스루 장애물이 존재하는 환경에서 레이저 라인 제너레이터가 더 오류에 빠지기 쉽다는 것이 당 업자에게 알려져 있다. 역으로, 이러한 유형의 환경에서, 소나 센서가 신뢰도가 더 높을 것이다.
전역 절차의 첫번째 실행을 위해, 맵(310)은 기-규정된 값으로 메모리에서 초기화된다. 선호 실시예에서, 상기 기규정된 값은 장애물의 알려지지 않은 존재를 표시한다. 본 예에서, 맵(310)은 프로세스의 첫번째 실행시, 모든 화소에서 0.5의 값으로 초기화된다. 모든 다른 실행의 경우, 맵(310)은 이전 업데이트 중 발생된 센서 패밀리 맵(340)이다. 로봇 위치가 변경된 경우에, 맵 화소들은 변환될 수 있다. 이는 로봇이 더이상 맵 중심에 있지 않을 때 나타날 수 있다. 예를 들어, 맵의 화소들은 절차의 시작시, 로봇이 맵의 중심으로부터 거의 떨어져있지 않은 경우, 또는, 맵의 중심으로부터의 거리가 로봇의 치수에 가까운 경우에, 변환될 수 있다. 로봇이 기규정된 값, 예를 들어, 30cm보다 더 맵의 중심에서 떨어진 경우, 화소를 변환하는 것이 또한 가능하다. 변환의 경우에, 맵의 원점은 수평 및/또는 수직 방향으로, 또는 로봇의 운동 방향으로 정수 개수의 화소들만큼 시프트된다. 따라서, 모든 화소의 값들이 해당 방향으로 시프트된다. 예를 들어, 로봇이 맵의 중심보다 30cm 위에 있고 화소 크기가 10cm 인 경우, 맵의 위치는 고정 기준에서 수직축 윗쪽으로 30cm 시프트될 수 있고, 모든 각 화소의 값은 3개 화소 아래에 위치했던 이전 화소의 값으로 설정될 수 있다. 이전 맵에서 어떤 이전 값도 발견되지 않은 경우에 맵의 경계부 상에 위치하는 모든 화소들은 알려지지 않은 값 0.5로 설정된다.
각각의 업데이트에서, 센서 패밀리 맵(340, 350)은 융합 맵(360)을 생성하도록 융합된다. 발명의 다수의 실시예에서, 이러한 융합 절차는 장애물을 센서 패밀리들 중 적어도 하나에 의해 검출되게 하도록 설계된다. 이러한 융합 맵(360)은 이전 관찰사항으로부터의 모든 정보와, 각 센서 패밀리를 위한 각 센서의 새 관찰사항들을 지닌다. 따라서, 궤적 연산과 같이, 장애물 부재의 가장 완전한 설명을 필요로하는 애플리케이션에 사용하기 적합하다.
도 4는 발명의 다수의 실시예에서 일 센서로부터의 관찰사항으로 센서 패밀리 맵의 업데이트를 위한 순서도를 디스플레이한다.
모든 센서는 그 관찰 유형을 나타내는 순수 데이터(400)를 제공한다. 예를 들어, 레이저 센서(180a, 180b)는 이들이 면하는 방향으로 가장 가까운 불투명 표면의 거리를 제공하고, 범퍼(1B0)는 그 위치에서의 접촉 발생을 표시한다. 고정 좌표계에서 로봇의 6D 위치 및 배향과, 로봇 좌표계에서 센서의 6D 위치 및 배향에 관한 정보를 지닌, 관절의 각도 센서(420) 및 로봇 운동학적 관절 모델(410) 및 각도 센서(420)를 이용하여 센서의 3D 위치 및 배향이 유추된다. 이 정보는 센서에 의해 검출되는 3D 점들을 고정 좌표계로 표현되는 한 세트의 3D 점(440)으로 변환하는 6D 센서 변환(430)을 생성할 수 있다. 예를 들어, 레이저 센서(180a)로부터 3m 거리에서 관찰된 장애물이, 로봇 좌표계에서 센서의 상대적 위치를 표시하는 로봇 운동학 관절 모델(410) 및 각도 관절 센서(420)를 알면서 고정 3D 좌표계에서 쉽게 국부화될 수 있다. 다른 예에서, 범퍼(1B0) 중 하나가 접촉 발생을 검출하였을 경우, 장애물을 나타내는 3D 점이 로봇 모델(410) 및 관절 센서(420)를 이용하여 범퍼의 정확한 3D 위치에 배치될 수 있다.
마지막으로, 3D 점(440)들을 이용하여 단계(330) 중 센서 패밀리 맵을 업데이트하는데 센서 모델(450)이 사용된다. 예를 들어, 레이저 센서(180a) 모델은 그 배향으로 레이저 센서에 의해 되돌아오는 거리에서 장애물이 관찰되었다는 사실과, 레이저 센서와 이 장애물 사이에 어떤 다른 장애물도 관찰되지 않았다는 사실을 변환할 수 있다. 따라서, 레이저 센서에 의해 되돌아오는 3D 점 장애물이 고정 좌표계에서 이러한 3D 점에 위치하는 화소의 0의 장애물 부재 확률을 맵(330)에서 먼저 설정함으로써, 그리고, 고정 좌표계에서 3D 점과 레이저 센서 사이의 라인에 위치하는 모든 화소에서 1의 장애물 부재 확률을 설정함으로써, 센서 패밀리 맵(330)을 업데이트할 수 있다. 범퍼 센서(180a)를 이용하는 예에서, 3D 점이 존재할 경우, 3D 점이 위치하는 맵(330)의 화소에서 장애물 부재 확률을 0으로 설정함으로써 장애물이 배치될 수 있다. 이 센서에 대하여 3D 점이 존재하지 않을 경우, 이 위치에서 어떤 접촉 발생도 없다. 따라서, 범퍼 센서가 맵(330)에 위치하는 화소에서 장애물 부재 확률을 1로 설정함으로써 맵을 업데이트하는 것이 가능하다.
도 5는 발명의 다수의 실시예에서 맵을 컴퓨팅하는 화소 영역의 한 예를 제공한다.
정사각형(500)은 로봇이 진화하는 환경의 한계를 나타낸다. 이 환경은 단일 룸일 수 있다. 로봇(100)은 위치(520)에 위치한다. 다수의 실시예에서, 이 영역은 로봇이 장애물과의 즉각적 충돌 위협을 만날 수 있는 모든 영역을 커버하도록 설계된다.
유리하게도, 맵은 로봇(520)의 위치를 실질적 중앙으로 하는 정사각형 영역(510)에서 컴퓨팅된다. 맵이 모든 과정 중 로봇에 실질적으로 부착된 상태로 유지되지만, 로봇(520)의 위치는 맵의 중심과는 약간 다를 수 있다. 게다가, 맵의 중심에 정확히 로봇을 위치시킴으로써, 거의 모든 사이클에서 이전 맵(310)의 화소의 변환을 수반할 것이고, 정수아닌 화소 시프트가 나타나, 바람직하지 않을 것이다. 따라서, 로봇은 맵(510)의 중심 근처에 있고, 맵은 맵의 중심이 각 사이클의 시작시, 로봇 위치(520)가 맵 중심으로부터 기규정된 거리보다 더 멀리 놓이는 로봇(520)의 위치에 가깝도록 하기 위해, 변환된다.
맵(510)의 폭(530) 및 화소 치수(540)는 맵 크기와 연산 복잡도 간의 타협이다. 다수의 실시예에서, 화소 치수는 충돌 방지 거리의 함수다. 이는 장애물 감지 및 로봇 정지를 위한 최소 거리의 함수일 수 있다. 다수의 실시예에서, 이러한 최소 거리는 최소 로봇 치수보다 몇배 더 작다. 예를 들어, 10cm의 화소 치수(540)가 로봇(100)에 대해 규정될 수 있다. 이러한 화소 치수를 이용하여, 로봇은 몇몇 화소들의 표면을 점유한다. 따라서, 화소 치수(540)는 화소의 수를 제한하면서 이러한 종류의 로봇에 대한 장애물의 정밀 검출에 충분하다. 맵의 폭(530)은 로봇이 즉각적 충돌 위협에 면하는 영역을 커버하도록 설계되어야 하고, 연산 부하를 낮추기 위해 너무 커서는 안된다. 이는 최대 속도에서 몇초만에 로봇의 위치를 결정할 수 있는 모든 영역을 커버하도록 설계될 수 있다. 이러한 폭(530)과, 화소 치수(540)는 로봇-전용 애플리케이션에 맞춤화되도록 로봇 판매대행자에 의해, 또는, 로봇 모델에 대해, 또한 미리 규정될 수 있다. 본 예에서, 화소 치수는 10cm로 규정되고, 맵의 크기는 30x30 화소 영역을 나타내는 1.5m x 1.5m 로 규정된다. 그러므로, 화소 치수(540) 및 폭(530)을 적절히 규정함으로써, 맵의 크기, 따라서, CPU 및 메모리 이용을 제한하면서, 이 영역 내 장애물 부재 확률의 연산이 장애물 방지에 충분하다. SLAM 기술과 달리, 발명의 장애물 연산은 제한된 영역 및 제한된 수치의 값에 대해서만 나타나고, 이는 장애물 존재 연산의 CPU 및 메모리 풋프린트를 감소시킨다. 더욱이, SLAM 기술과 달리, 경계지어진 영역을 제공한다.
도 6은 발명의 다수의 실시예에서 장애물의 부재 확률의 시간적 전개의 예를 제공한다.
이전 센서 패밀리 맵(310)을 이용하여 신뢰도가 떨어지는 센서 패밀리 맵(320)이 생성된다. 이 효과까지, 장애물이 이전에 검출된 맵(310) 내 모든 화소들(장애물 부재 확률 < 0.5)은 장애물 부재 확률이 증가하고, 장애물의 부재가 검출된 화소(장애물 부재 확률 > 0.5)들은 장애물 부재 확률이 감소한다. 그래프(600)는 새 관찰사항에 의해 업데이트되지 않은 값을 가진 화소에 대한 일련의 업데이트에 대한 장애물 부재 확률의 전개의 예를 보여준다. 수직 축(610)은 0과 1 사이에서 장애물 부재 확률을 보여준다. 수평 축(620)은 일련의 업데이트의 수를 디스플레이한다. 이중 화살표(630)는 임의의 장애물 화소가 Tsobs의 부재 확률을 갖는데 필요한, 따라서, 알려지지 않은 콜(call)로 간주되는데 필요한, 업데이트의 최대 수를 나타낸다. 라인(640)은 1의 원래 확률을 갖는 화소에 대한 장애물 부재 확률의 전개의 예를 나타낸다. 라인(650)은 0의 원래 확률을 갖는 화소에 대한 장애물 부재 확률의 전개의 한 예를 나타낸다. 라인(660)의 경우, 장애물 없는 임계치 Tsfree의 값이 0.5보다 약간 높을 경우, 가령, 0.6일 경우, 라인(660) 위에서 화소 내 값이 장애물 없다고 간주된다. 라인(670)의 경우, 장애물 임계치 의 Tsobs값이 0.5보다 약간 작을 경우, 가령, 0.4일 경우, 라인(670) 아래의 화소 내 값이 장애물로 간주된다.
장애물 부재 확률은 0또는 1로부터 값 0.5로 수렴하도록 기하 분포 법칙을 따른다. 기규정된 수렴 시간 Tconv는 장애물 화소를 알려지지 않은 것으로 간주하기 위한 시간을 나타낸다. 이 시간은 어떤 새 관찰도 내부에 장애물을 관찰하지 않은 경우 화소를 장애물로 간주하지 않는 기능과, 로봇의 보안성 간의 타협이어야 한다. 그 값은 센서들의 업데이트 주파수 또는 로봇의 속도와 같은 파라미터에 따라 설정될 수 있다. 이는 로봇 모델용으로 고정될 수 있고, 또는, 특정 용도로 최적화를 위해 로봇 판매대행자에 의해 설정될 수 있다. 본 예에서, Tconv는 5초로 설정된다. 따라서, 업데이트(630)의 최대 수는 초당 업데이트 수로 표현되는 업데이트 빈도 곱하기 초로 표시되는 Tconv와 동일하다. Tconv = 5초 및 초당 20 업데이트의 업데이트 빈도를 갖는 예에서, 업데이트(630)의 최대 수는 100 이다.
기하 분포 법칙에서, 맵(320) 내 각 화소의 값은 맵(310) 내 이 화소의 값에 좌우된다. 맵(320) 내 화소의 값이 VC320으로 규정되고 맵(310) 내 동일 화소의 값이 VC310으로 규정될 경우, 단계(320)에서 이 값들을 변형하는 절차는 다음의 수식을 이용한다: VC320 = Rtemp * (VC310 - 0.5) + 0.5, 여기서 Rtemp 는 기하 분포의 시간적 전개를 특징으로 한다. 따라서, 이러한 Rtemp 비는 Tconv 에 따라 규정되어, 0의 장애물 부재 초기 확률을 가진 장애 화소가 장애물 임계치 Tsobs보다 높은 장애물 확률을 얻기 위해 최대 횟수의 업데이트(630)를 필요로한다. 기하 분포 법칙에 따르면, R temp 는 다음과 같이 주어진다: R temp = exp (
Figure pct00001
).
발명의 다른 실시예에서, 시간에 따른 장애물의 부재 확률 전개는 선형이다. 장애물 부재 확률의 이러한 자연스런 전개는 다수의 실시예에서 장애물 부재 확률에 추가하여 더하여진 신뢰도 정보를 낮춤으으로써 또한 삽입될 수 있다.
도 7은 발명의 다수의 실시예에 따라, 미지의 확률로 초기화되어, 단일 센서 관찰을 통해 업데이트되는, 센서 패밀리 맵의 한 예를 디스플레이한다.
발명의 다수의 실시예에서, 제 1 업데이트의 경우에, 이전 센서 패밀리 맵(310)은 미지의 확률로 초기화되고, 그 모든 화소들은 0.5로 설정된다. 따라서 단계(320)는 전혀 영향이 없고, 센서 패밀리 맵은 여전히 모든 화소에 대해 0.5의 값을 가진다. 맵(400)은 일 센서(311)로부터의 데이터로 업데이트 후 맵(330) 중 하나를 나타낸다. 본 예에서, 초음파 센서(190)들 중 하나와 같은 거리 센서가 사용된다. 이러한 센서는 시야 범위를 나타내는 영역 내 떨어진 장애물들을 관찰한다. 본 예에서, 시야 범위는 원추이고, 모든 방향으로, 관찰되는 가장 가까운 점은 장애물로 인식하고, 센서와 장애물 간의 선 상의 모든 점은 장애물없는 점으로 간주된다. 유리하게도, 일 센서(331)로부터의 데이터를 이용한 업데이트는 0의 장애물 부재 확률에 의해 장애물을 관찰한 화소를 대체하여, 검은색으로 나타나는 장애물 화소(710)를 생성한다. 이는 장애물 부재가 1의 장애물 부재 확률로 관찰된 화소를 또한 나타내서, 흰색으로 나타나는 장애물없는 화소(720)를 생성한다. 장애물 존재 또는 부재가 확인되지 않은 모든 화소들은 이전 부재값 확률(본 예에서 0.5)을 유지시킨다. 본 예에서, 이러한 화소들은 그레이 색상으로 표시되는 장애물을 모르는 화소(730)다.
도 8a, 8b, 8c는 3회의 일련의 센서 패밀리 맵 업데이트 과정 후 센서 패밀리 맵(340)의 한 예를 보여주며, 이러한 센서 패밀리 맵은 고정된 위치를 가진, 그리고 시야 범위가 회전하는, 단일 센서를 포함한다.
도 8d는 3회의 일련의 업데이트 후 센서 패밀리 맵(340)의 한 예를 도시하며, 이러한 센서 패밀리 맵은 제 1 및 제 2 센서 패밀리 맵 업데이트 과정 간에 센서의 추가적인 병진을 가진, 도 8a, 8b, 8c에서와 동일한 단일 센서를 포함할 수 있다.
센서 패밀리 맵(800a)은 제 1 센서 패밀리 맵 업데이트 과정(320, 330) 후 센서 패밀리 맵(340)의 상태를 나타낸다. 제 1 센서 패밀리 맵 업데이트 과정의 경우, 이전 센서 패밀리 맵(310)이 0.5의 장애물 부재 확률로 초기화된다. 확률 업데이트 과정(320) 후, 센서 패밀리 맵은 여전히 그 모든 화소에서 0.5의 장애물 부재 확률을 가진다. 단계(330)에서, 단일 센서 관찰이 적용되고, 장애물 부재 또는 존재가 검출된 화소가 충전된다. 센서는 장애물 화소(830a)를 검출하였고, 이를 0의 장애물 부재 확률로 충전하고, 장애물없는 화소(820a)를 또한 검출하였고, 이를 1의 장애물 부재 확률로 충전한다. 센서가 아무 것도 관찰하지 못한 모든 화소(810a)들은 0.5의 장애물 부재 확률을 유지한다.
센서 패밀리 맵(800b)은 제 2 센서 패밀리 맵 업데이트 과정(320, 330) 후 센서 패밀리 맵(340)의 상태를 나타낸다. 따라서 센서 패밀리 맵(800a)은 센서 패밀리 맵 업데이트 과정을 위한 이전 센서 패밀리 맵(310)으로 사용된다. 센서 패밀리 맵 과정은 모든 화소 값들을 0.5의 미지의 부재 확률에 보다 더 가깝게 한다. 따라서, 이전 관찰(830b)에서 관찰된 장애물 화소들은 0보다 약간 높은 장애물 부재 확률을 갖고, 제 1 관찰(820b) 중 관찰된 장애물없는 화소들은 1보다 약간 낮은 장애물 부재 확률을 갖는다. 추가적으로, 센서로부터의 제 2 관찰이 새 장애물 및 장애물없는 구역들을 관찰하였다. 따라서, 장애물 화소(840b)는 0의 장애물 부재 확률로 충전되고, 장애물없는 화소(850b)는 1의 장애물 부재 확률로 충전된다.
센서 패밀리 맵(800c)은 제 3 패밀리 맵 업데이트 과정(320, 330) 후 센서 패밀리 맵(340)의 상태를 나타낸다. 따라서 센서 패밀리 맵(800b)은 센서 패밀리 맵 업데이트 과정을 위한 이전 센서 패밀리 맵(310)으로 사용된다. 이러한 센서 패밀리 맵 과정은 모든 화소 값들을 0.5의 미지 부재 확률에 가깝게 한다. 따라서, 제 1 관찰 중 관찰된 장애물 화소(830c)들은 화소(830b)보다 높은 장애물 부재 확률을 갖고, 제 1 관찰 중 관찰된 장애물없는 화소(820c)들은 화소(830c)보다 높은 장애물 부재 확률을 가진다. 어쨌든, 제 2 관찰 중 관찰되는 장애물 화소(840c)들은 0보다 약간 높은 장애물 부재 확률을 갖고, 제 2 관찰 중 관찰되는 장애물없는 화소(850c)들은 1보다 약간 낮은 장애물 부재 확률을 가진다. 추가적으로, 센서로부터의 제 3 관찰은 새로운 장애물 및 장애물없는 구역을 관찰하였다. 따라서, 장애물 화소(870c)들은 0의 장애물 부재 확률로 충전되고, 장애물없는 화소(860c)는 1의 장애물 부재 확률로 충전된다.
센서 패밀리 맵(800d)은 3회의 센서 패밀리 맵 업데이트 과정 후 센서 패밀리 맵(340)의 상태를 나타내며, 그 동안 센서는 제 1 관찰과 제 2 관찰 사이에 변환을 또한 수행하였다. 이러한 맵에서, 장애물없는 화소(820d, 850d, 860d)는 맵(800c)의 장애물없는 화소(820c, 850c, 860c)와 동일한 장애물 부재 확률을 가진다. 한편으로, 장애물 화소(830d, 840d, 870d)는 장애물 화소(830c, 840c, 870c)와 동일한 장애물 부재 확률을 가진다. 그러나, 센서의 병진으로 인해, 제 2 관찰과 제 3 관찰 동안 시야 범위가 변화한다. 따라서, 장애물없는 화소(850d, 860d)는 모두 이러한 새로운 시야 범위에 포함된 장애물없는 화소다.
도 9a, 9b, 9c는 발명의 다수의 실시예에서, 센서 패밀리 맵의 융합의 한 예를 제공한다. 도 9a는 장애물 화소(910a), 장애물없는 화소(920a), 및 미지 확률 화소(930a)를 포함하는 제 1 센서 패밀리 맵(900a)을 도시한다. 장애물 및 장애물없는 화소(910a, 920a)는 이전 업데이트 중 관찰되었다. 따라서, 화소(910a)의 장애물 부재 확률은 0보다 약간 높고, 화소(920a)의 장애물 부재 확률은 1보다 약간 낮다. 도 9b는 제 2 센서 패밀리 맵(900b)을 도시한다. 장애물 화소(920b) 및 장애물없는 화소(930b)가 최신 업데이트 중 관찰되었다. 따라서, 장애물 화소(920b)는 0의 장애물 부재 확률을 갖고, 장애물없는 화소(930b)는 1의 장애물 부재 확률을 가진다. 도 9c는 단계(360)에서 맵(900a, 900b)의 융합 후 최종 융합 결과 맵(900c)을 도시한다. 유리하게도, 적어도 하나의 센서 패밀리 맵 내의 장애물 부재 확률이 Tsobs 미만인 각각의 화소는 장애물로 간주된다.
장애물 화소(910a, 910b) 내 값들은 모두 Tsobs 임계치 미만이다. 따라서, 최종 융합 맵(900c) 내 장애물 화소(910c)들은 모두 화소(910a, 910b)들을 포함하며, 그 장애물 부재 확률 값들은 0으로 설정되어 있다. 장애물없는 화소(920a, 920b) 내 장애물 부재 확률은 모두 Tsfree 임계치보다 크다. 따라서, 융합 맵(900c) 내 장애물없는 화소(920c)는 장애물 화소들인 화소(910c)를 제외하고, 모두 장애물없는 화소(920a, 920b)를 포함한다. 최종 융합 맵(900c) 내 미지의 화소(930c)들은 모두 임의의 센서 패밀리 맵 내에 장애물도 아닌 그리고 장애물없는 화소도 아닌 화소들을 포함한다.
다수의 실시예에서, 융합 맵(900c)은 맵(900a, 900b)으로부터 화소 단위로 연산된다. 제 1 단계는 제 1 및 제 2 임시 또는 사전-융합 맵을 생성하는 것이다. 제 1 사전-융합 맵 내 각각의 화소는 병합할 모든 센서 패밀리 맵 내 동일 화소의 최소값으로 설정되고, 제 2 사전-융합 맵 내 각각의 화소는 병합할 모든 센서 패밀리 맵 내 이 화소의 최대값으로 설정된다. 그 후 모든 화소로부터 장애물들을 분리시키기 위한 과정이 제 1 사전-융합 맵에 적용된다: Tsobs 미만의 값을 가진 제 1 사전-융합 맵 내 각 화소의 값은 0으로 설정되고, 제 1 사전-융합 맵 내 모든 다른 화소들의 값은 1로 설정된다. 그 후, 융합 맵 내 각 화소의 값은 제 1 및 제 2 사전-융합 맵 간의 최소값이다.
융합을 위한 일반 알고리즘은 다음과 같다:
* 각 소스의 최소값 및 최대값의 2개의 맵을 획득.
* 검은색 및 흰색만을 얻기 위해 최소값 맵을 임계화..
* 최대값과 임계화 최소값 맵 사이의 최소값 이용.
본 알고리즘의 실시예에 대한 에시 의사-코드는 다음과 같다:
Create two temporary maps TMPmax and TMPmin.
##Min max step
For each pixel (i, j) of TMPmin, TMPmin(i,j) = min(900a(i,j), 900b(i,j))
For each pixel (i, j) of TMPmax, TMPmax(i,j) = max(900a(i,j), 900b(i,j))
## Threshold binary step
Then for each pixel(i,j) in TMPmin,
if TMPmin(i,j) < TSobs, TMPmin(i,j) = 0
else TMPmin(i,j) = 1
## We have only black and white in TMPmin
## min step
## We create 900c, following:
For each pixel (i,j) in 900c,
900c(i,j) = min(TMPmin(i,j), TMPmax(i,j)) 
이러한 화소 단위 연산은 바람직한 결과를 생성한다. 게다가, 병합할 센서 패밀리 맵(900a, 900b)들 중 적어도 하나 내의 Tsobs 미만의 값을 가진 모든 화소들이 제 1 사전-융합 맵 내에서 따라서 융합 맵(900c) 내에서 0의 장애물 부재 확률을 가진다. 장애물이 아닌 모든 다른 화소들은 제 1 사전-융합 맵 내에서 1의 확률을 가진다. 따라서 이들은 병합 과정 중 제 2 사전 융합 맵으로부터 자신의 값을 얻을 것이고, 병합할 센서 패밀리 맵(900a, 900b) 중 적어도 하나 내 이 셀의 값이 Tsfree보다 클 경우 장애물없는 셀의 확률을 가질 것이다.
앞서 설명된 예는 발명의 실시예의 예시로 주어진다. 이는 다음 청구범위에 의해 규정되는 발명의 범위를 어떤 방식으로든 제한하지 않는다.

Claims (18)

  1. 자동 로봇(100)의 보드 상에서 컴퓨터에 의해, 로봇 환경에서 장애물의 부재 및 존재 중 적어도 하나의 확률의 화소 맵을 결정하기 위한 방법에 있어서, 상기 방법은,
    - 상기 로봇 주위에 형성되어 상기 로봇에 실질적으로 부착된 초기 맵을, 로봇의 온-보드 메모리에서, 초기화하는 단계(310) - 상기 맵은 기규정된 임계치를 갖고 기규정된 치수의 화소만큼 포장되며, 각각의 화소 내 장애물의 부재 및 존재 중 적어도 하나의 확률의 값은 기규정된 값으로 설정됨 - 와,
    - 로봇 환경에서 장애물의 부재 및 존재 중 적어도 하나를 나타내는 데이터를, 적어도 감지 과정으로부터 획득하는 단계(331, 332)와,
    - 1) 상기 데이터로부터 초기 맵의 적어도 하나의 화소 내 장애물의 부재 및 존재 중 적어도 하나의 확률의 값을 업데이트하는 과정(330)과, 2) 이전 관찰사항의 장애물의 부재 또는 존재의 확률을, 기규정된 값에 더 가까운 값으로 변형하는 과정(320)을 초기 맵에 동시에 적용하는 단계를 포함하되,
    상기 초기 맵은 로봇이 기결정된 화소 수 내에 머무는 한 고정된 기준 프레임에서 정적 상태를 유지하고, 로봇이 이러한 기결정된 화소 수로부터 벗어나 움직일 때 로봇과 함께 움직이는
    결정 방법.
  2. 제 1 항에 있어서,
    상기 초기 맵의 임계치는 상기 로봇이 즉각적 충돌 위협을 만날 수 있는 영역(510)의 치수의 함수로 미리 규정되는
    결정 방법.
  3. 제 2 항에 있어서,
    기규정된 화소 치수는 충돌 회피 거리의 함수로 선택되는
    결정 방법.
  4. 제 3 항에 있어서,
    상기 초기 맵은 정사각형(510)을 형성하는
    결정 방법.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 초기 맵을 초기화(310)하기 위해, 그리고, 이전 관찰사항의 장애물의 부재 및 존재 중 하나의 확률을 변형하기 위한 과정(320)에서 상기 기규정된 값은,
    확실한 장애물 존재를 나타내는 값과, 확실한 장애물 부재를 나타내는 값의 평균인
    결정 방법.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 맵은 0과 1 사이의 수치인 장애물 부재 확률의 맵이고, 0은 확실한 장애물 존재(710)를 나타내고, 1은 확실한 장애물 부재(720)를 나타내며, 0.5는 장애물 존재가 알려지지 않음(730)을 나타내는
    결정 방법.
  7. 제 6 항에 있어서,
    장애물 및 알려지지 않은 화소의 경계를 정하기 위한 임계치 Tsobs는 구간 [0;0.5] 내의 수치로 규정되고, 장애물없음과 알려지지 않은 화소의 경계를 정하기 위한 임계치는 구간 [0.5;1] 내의 수치로 규정되는
    결정 방법.
  8. 제 7 항에 있어서,
    장애물 부재 확률을 변형하기 위한 시간 전개 비 Rtemp는 다음의 공식
    Rtemp = exp(ln(1-2.0 * Tsobs) / (Tconv * update frequency) )
    에 의해 기규정된 수렴 시간 Tconv 및 상기 장애물 임계치에 따라 규정되는
    결정 방법.
  9. 제 8 항에 있어서,
    상기 이전 관찰사항의 장애물 부재 확률을 변형하기 위한 과정(320)은 맵(320) 내 화소의 VC320의 값을, 맵(310) 내 이 화소의 값 VC310에 따라 연산하기 위한 기하 분포 법칙을 이용하는
    VC320 = Rtemp * (VC310 - 0.5) + 0.5
    결정 방법.
  10. 제 1 항 내지 제 9 항 중 어느 한 항에 있어서,
    복수의 초기 맵(340, 350)이 복수의 상보적 감지 과정에 대해 초기화되고, 복수의 맵이 하나의 융합 맵(360)으로 동시적으로 병합되는
    결정 방법.
  11. 제 8 항 또는 제 10 항에 있어서,
    초기 맵(340, 350)의 병합은 기규정된 임계치 Tsobs 및 Tsfree를 이용하고, 다음의 조건이 만족되는, 결정 방법.
    - 초기 맵(910a, 910b) 중 적어도 하나 내 임계치 Tsobs 미만의 장애물 부재 확률을 가진 각각의 화소가 융합 맵(910c)에서 장애물이고,
    - 융합 맵(910c)에서 장애물 화소가 아닌, 그리고, 초기 맵(920a, 920b) 중 적어도 하나 내 임계치 Tsfree 보다 큰 장애물 부재 확률을 가진, 각각의 화소는 융합 맵(920c)에서 장애물없는 화소임.
  12. 제 11 항에 있어서,
    복수의 초기 맵(340, 350)을 병합하는 단계는,
    - 제 1 사전-융합 맵 및 제 2 사전-융합 맵을 발생시키는 단계와,
    - 제 1 사전-융합 맵 내 일 화소의 장애물 부재 확률의 값을, 복수의 초기 맵(340, 350) 내 동일 화소 내 부재 확률 값의 최소값으로 설정하는 단계와,
    - 제 2 사전-융합 맵 내 일 화소의 장애물 부재 확률의 값을, 복수의 초기 맵(340, 350) 내 동일 화소 내 부재 확률 값의 최대값으로 설정하는 단계와,
    - 장애물 임계치 Tsobs 미만인 값을 가진 제 1 사전-융합 맵 내 일 화소의 장애물 부재 확률의 값을 0으로 설정하는 단계와,
    - 장애물 임계치 Tsobs 보다 큰 값을 가진 제 1 사전-융합 맵 내 일 화소의 장애물 부재 확률의 값을 1로 설정하는 단계와,
    - 융합 맵(360) 내 일 화소의 장애물 부재 확률의 값을, 제 1 및 제 2 사전-융합 맵 내 동일 화소의 부재 확률 값의 최소값으로 설정하는 단계를 포함하는
    결정 방법.
  13. 제 10 항 내지 제 12 항 중 어느 한 항에 있어서,
    상기 복수의 초기 맵 중 각각의 맵은 동일 유형의 장애물을 관찰하는 센서들로 군을 형성하는 상이한 센서 세트로부터 획득되는 데이터를 이용하여 업데이트되는
    결정 방법.
  14. 제 13 항에 있어서,
    - 제 1 센서 세트는 로봇의 온-보드 레이저 센서들로 군을 형성하고,
    - 제 2 센서 세트는 로봇의 온-보드 3D 카메라들로 군을 형성하며,
    - 제 3 센서 세트는 로봇의 온-보드 초음파 센서들로 군을 형성하고,
    - 제 4 센서 세트는 로봇의 온-보드 접촉 센서들로 군을 형성하는
    결정 방법.
  15. 제 1 항 내지 제 14 항 중 어느 한 항에 있어서,
    로봇 환경에서 장애물의 부재 및 존재 중 적어도 하나를 나타내는 데이터를 적어도 감지 과정으로부터 획득하는 단계는, 적어도
    - 센서로부터 순수 데이터(400) 값들을 획득하는 단계와,
    - 로봇 운동학 관절 모델(410) 및 각도 관절 센서(420)를 이용하여 센서와 관련된 6D 센서 변환(430)을 생성하는 단계와,
    - 상기 6D 센서 변환(430) 및 상기 순수 데이터(400)를 이용하여 센서에 의해 관찰되는 장애물을 나타내는 한 세트의 3D 점(440)들을 생성하는 단계를 포함하는
    결정 방법.
  16. 제 15 항에 있어서,
    상기 데이터로부터 초기 맵의 적어도 하나의 화소 내 장애물의 부재 및 존재 중 적어도 하나의 확률의 값을 업데이트하는 과정은, 적어도
    - 확실한 장애물 존재를 나타내는 값으로, 적어도 하나의 3D 점(440)이 발견되는 적어도 하나의 2D 화소를 충전하는 과정(710, 830a, 840b, 870c;870d)과,
    - 확실한 장애물 부재를 나타내는 값으로, 센서의 위치 및 상기 적어도 하나의 화소 사이의 선에 있는 각각의 화소를 충전하는 과정(720, 820a, 850b, 860c, 860c)을 포함하는
    결정 방법.
  17. 자동 로봇(100)에 있어서,
    - 복수의 지향성 거리 센서와,
    - 로봇 운동학 관절 모델(410)과,
    - 상기 로봇 주위로 형성되어 상기 로봇에 실질적으로 부착되는 초기 맵을 저장하기 위한 온-보드 메모리 - 상기 맵은 기규정된 임계치를 갖고 기규정된 치수의 화소에 의해 포장되며, 장애물의 존재 또는 부재 중 적어도 하나의 확률의 값이 저장됨 - 와,
    - 각각의 화소의 값을 기규정된 값으로 설정함으로써 상기 초기 맵을 초기화하기 위한 모듈과,
    - 상기 로봇의 환경에서 장애물 부재 및 존재 중 적어도 하나를 나타내는 데이터를 상기 지향성 거리 센서들 중 적어도 하나로부터 획득하기 위한 모듈과,
    - 1) 상기 데이터로부터 초기 맵의 적어도 하나의 화소 내 장애물의 부재 및 존재 중 적어도 하나의 확률의 값을 업데이트하는 과정과, 2) 이전 관찰사항의 장애물의 부재 또는 존재의 확률을, 기규정된 값에 더 가까운 값으로 변형하는 과정(320)을 상기 맵에 동시에 적용하기 위한 모듈을 포함하되,
    상기 초기 맵은 로봇이 기결정된 화소 수 내에 머무는 한 고정된 기준 프레임에서 정적 상태를 유지하고, 로봇이 이러한 기결정된 화소 수로부터 벗어나 움직일 때 로봇과 함께 움직이는
    자동 로봇.
  18. 로봇의 환경에서 장애물의 부재 및 존재 중 적어도 하나의 확률의 화소 맵을 결정하기 위한 방법을 컴퓨터로 하여금 구현시키는 코드 수단을 포함하는, 컴퓨터 판독가능 저장 매체 상에 저장된, 컴퓨터 프로그램 프로덕트에 있어서, 상기 방법은,
    - 자동 로봇 주위에 형성되어 상기 로봇에 실질적으로 부착된 초기 맵을, 메모리에서 초기화하기 위한 모듈 - 상기 맵은 기규정된 임계치를 갖고 기규정된 치수의 화소에 의해 포장되며, 각각의 화소 내 장애물의 부재 및 존재 중 적어도 하나의 확률의 값은 기규정된 값으로 설정됨 - 와,
    - 로봇 환경에서 장애물의 부재 및 존재 중 적어도 하나를 나타내는 데이터를, 적어도 제 1 유형의 감지 과정으로부터 획득하기 위한 모듈과,
    - 1) 상기 데이터로부터 초기 맵의 적어도 하나의 화소 내 장애물의 부재 및 존재 중 적어도 하나의 확률의 값을 업데이트하는 과정과, 2) 이전 관찰사항의 장애물의 부재 또는 존재의 확률을, 기규정된 값에 더 가까운 값으로 변형하는 과정(320)을 초기 맵에 동시에 적용하기 위한 모듈을 포함하되,
    상기 초기 맵은 로봇이 기결정된 화소 수 내에 머무는 한 고정된 기준 프레임에서 정적 상태를 유지하고, 로봇이 이러한 기결정된 화소 수로부터 벗어나 움직일 때 로봇과 함께 움직이는
    컴퓨터 프로그램 프로덕트.
KR1020177000278A 2014-06-05 2015-06-05 자동 로봇을 위한 장애물의 존재 및 부재 중 하나의 확률 맵 구축 방법 KR101999033B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP14305849.3 2014-06-05
EP14305849.3A EP2952993B1 (en) 2014-06-05 2014-06-05 Method for building a map of probability of one of absence and presence of obstacles for an autonomous robot
PCT/EP2015/062611 WO2015185741A2 (en) 2014-06-05 2015-06-05 Method for building a map of probability of one of absence and presence of obstacles for an autonomous robot

Publications (2)

Publication Number Publication Date
KR20170042546A true KR20170042546A (ko) 2017-04-19
KR101999033B1 KR101999033B1 (ko) 2019-09-27

Family

ID=51167815

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177000278A KR101999033B1 (ko) 2014-06-05 2015-06-05 자동 로봇을 위한 장애물의 존재 및 부재 중 하나의 확률 맵 구축 방법

Country Status (15)

Country Link
US (1) US10328575B2 (ko)
EP (1) EP2952993B1 (ko)
JP (1) JP6462728B2 (ko)
KR (1) KR101999033B1 (ko)
CN (1) CN106662646B (ko)
AU (2) AU2015270461A1 (ko)
BR (1) BR112016028352A2 (ko)
CA (1) CA2950978C (ko)
DK (1) DK2952993T3 (ko)
ES (1) ES2675363T3 (ko)
MX (1) MX2016015833A (ko)
NZ (1) NZ727046A (ko)
RU (1) RU2016151747A (ko)
SG (1) SG11201610131QA (ko)
WO (1) WO2015185741A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102497615B1 (ko) * 2022-09-27 2023-02-08 주식회사 트위니 초음파 센서 기반의 코스트맵 생성 방법 및 장치

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10521960B2 (en) 2017-05-03 2019-12-31 General Electric Company System and method for generating three-dimensional robotic inspection plan
ES2773136T3 (es) 2014-06-05 2020-07-09 Softbank Robotics Europe Robot humanoide con capacidades para evitar colisiones y de recuperación de trayectoria
CA2945926C (en) * 2016-02-29 2018-09-25 Komatsu Ltd. Control system for work machine, work machine, and management system for work machine
FR3048517B1 (fr) 2016-03-07 2022-07-22 Effidence Robot autonome motorise avec anticipation d'obstacle
JP6715952B2 (ja) 2016-04-29 2020-07-01 ソフトバンク・ロボティクス・ヨーロッパSoftbank Robotics Europe バランスのとれた運動および行動能力が向上した移動型ロボット
EP3252658B1 (en) * 2016-05-30 2021-08-11 Kabushiki Kaisha Toshiba Information processing apparatus and information processing method
US11204610B2 (en) * 2016-05-30 2021-12-21 Kabushiki Kaisha Toshiba Information processing apparatus, vehicle, and information processing method using correlation between attributes
US10160448B2 (en) * 2016-11-08 2018-12-25 Ford Global Technologies, Llc Object tracking using sensor fusion within a probabilistic framework
US11518051B2 (en) * 2017-02-07 2022-12-06 Veo Robotics, Inc. Dynamic, interactive signaling of safety-related conditions in a monitored environment
US20230191635A1 (en) * 2017-01-13 2023-06-22 Clara Vu Dynamic, interactive signaling of safety-related conditions in a monitored environment
US10099372B2 (en) * 2017-02-07 2018-10-16 Veo Robotics, Inc. Detecting and classifying workspace regions for safety monitoring
US11541543B2 (en) * 2017-02-07 2023-01-03 Veo Robotics, Inc. Dynamic, interactive signaling of safety-related conditions in a monitored environment
EP3633478B1 (en) * 2017-05-26 2023-10-18 Hangzhou Hikrobot Co., Ltd. Method and device for assessing probability of presence of obstacle in unknown position
EP3460400B1 (en) 2017-09-22 2021-12-22 Softbank Robotics Europe Improved localization of a mobile device based on image and radio words
KR102629762B1 (ko) 2017-10-02 2024-01-29 소니그룹주식회사 환경 정보 갱신 장치, 환경 정보의 갱신 방법 및 프로그램
CN109959935B (zh) * 2017-12-14 2020-10-23 北京欣奕华科技有限公司 一种地图建立方法、地图建立装置及机器人
US10810427B1 (en) * 2017-12-15 2020-10-20 AI Incorporated Methods for an autonomous robotic device to identify locations captured in an image
US20210205995A1 (en) * 2018-02-06 2021-07-08 Clara Vu Robot end-effector sensing and identification
US20220088787A1 (en) * 2018-02-06 2022-03-24 Clara Vu Workplace monitoring and semantic entity identification for safe machine operation
US11340630B2 (en) * 2018-03-30 2022-05-24 Brain Corporation Systems and methods for robust robotic mapping
US10853561B2 (en) * 2019-04-10 2020-12-01 Fetch Robotics, Inc. System and method for automatically annotating a map
WO2019200012A1 (en) 2018-04-10 2019-10-17 Cairl Brian System and method for robot-assisted, cart-based workflows
IT201800006594A1 (it) * 2018-06-22 2019-12-22 "Procedimento per la mappatura dell’ambiente di un veicolo, corrispondenti sistema, veicolo e prodotto informatico"
WO2020017111A1 (ja) * 2018-07-20 2020-01-23 ソニー株式会社 エージェント、存在確率マップ作成方法、エージェントの行動制御方法、及びプログラム
DE102018118666A1 (de) 2018-08-01 2020-02-06 Carl Zeiss Ag Sensorfusion mit wechselseitiger Korrespondenzanalyse von Sensordaten
DE102018126216A1 (de) * 2018-09-28 2020-04-02 Still Gmbh Verfahren zur Absicherung eines Arbeitsbereichs eines mobilen Logistik-Roboters mittels adaptiver Schutzfelder
EP3739361A1 (en) * 2019-05-13 2020-11-18 Aptiv Technologies Limited Method and system for fusing occupancy maps
CN112179361B (zh) * 2019-07-02 2022-12-06 华为技术有限公司 更新移动机器人工作地图的方法、装置及存储介质
US11994866B2 (en) * 2019-10-02 2024-05-28 Zoox, Inc. Collision avoidance perception system
US11726492B2 (en) 2019-10-02 2023-08-15 Zoox, Inc. Collision avoidance perception system
WO2021089131A1 (en) * 2019-11-05 2021-05-14 Telefonaktiebolaget Lm Ericsson (Publ) Managing conflicting interactions between a movable device and potential obstacles
KR102169283B1 (ko) * 2019-12-30 2020-10-23 (주)원익로보틱스 자율주행 로봇을 이용한 지도 업데이트 방법 및 시스템
CN111161424B (zh) * 2019-12-30 2023-06-02 浙江欣奕华智能科技有限公司 一种三维地图的确定方法及确定装置
CN111366917B (zh) * 2020-03-13 2022-07-15 北京百度网讯科技有限公司 可行驶区域检测方法、装置、设备及计算机可读存储介质
US11880209B2 (en) * 2020-05-15 2024-01-23 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof
CN112034847B (zh) * 2020-08-13 2021-04-13 广州仿真机器人有限公司 具有双行走模式的分体式仿真机器人的避障方法和装置
EP4217809A1 (en) 2020-09-25 2023-08-02 Abb Schweiz Ag System and method for controlling a mobile industrial robot using a probabilistic occupancy grid
CN112700495A (zh) * 2020-11-25 2021-04-23 北京旷视机器人技术有限公司 位姿确定方法、装置、机器人、电子设备及存储介质
CN112630223B (zh) * 2020-12-07 2023-12-26 杭州申昊科技股份有限公司 一种基于隧道裂纹检测系统及方法
CN113031596A (zh) * 2021-03-01 2021-06-25 深圳市无限动力发展有限公司 扫地机的避障调整方法、装置和计算机设备
CN113110413B (zh) * 2021-03-10 2022-11-08 成都永奉科技有限公司 跟随机器人以及跟随控制方法、跟随控制系统
US11927963B2 (en) 2021-03-19 2024-03-12 Amazon Technologies, Inc. System to determine non-stationary objects in a physical space
CN113110417B (zh) * 2021-03-19 2023-06-16 北京小狗吸尘器集团股份有限公司 扫地机器人的地图的优化方法、装置、设备及存储介质
KR102476420B1 (ko) 2022-03-24 2022-12-12 주식회사 폴라리스쓰리디 이동 로봇 및 이의 장애물 맵 생성 방법
WO2023198286A1 (en) * 2022-04-13 2023-10-19 Volvo Autonomous Solutions AB System and method for controlling an autonomous vehicle using a probabilistic occupancy grid
US11888306B1 (en) 2022-04-22 2024-01-30 Amazon Technologies, Inc. System for in-situ detection of electrical faults

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004298975A (ja) * 2003-03-28 2004-10-28 Sony Corp ロボット装置、障害物探索方法
JP2005310043A (ja) * 2004-04-26 2005-11-04 Mitsubishi Heavy Ind Ltd 移動体の障害物回避方法及び該移動体
JP2006239844A (ja) * 2005-03-04 2006-09-14 Sony Corp 障害物回避装置、障害物回避方法及び障害物回避プログラム並びに移動型ロボット装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6922632B2 (en) 2002-08-09 2005-07-26 Intersense, Inc. Tracking, auto-calibration, and map-building system
KR100524707B1 (ko) 2003-04-04 2005-11-01 엘지전자 주식회사 이동로봇의 경로자취에 의한 맵핑방법
JP3994950B2 (ja) * 2003-09-19 2007-10-24 ソニー株式会社 環境認識装置及び方法、経路計画装置及び方法、並びにロボット装置
US7266477B2 (en) 2005-06-22 2007-09-04 Deere & Company Method and system for sensor signal fusion
US8577538B2 (en) * 2006-07-14 2013-11-05 Irobot Corporation Method and system for controlling a remote vehicle
FR2930108B1 (fr) 2008-04-09 2010-07-30 Aldebaran Robotics Systeme et procede de communication distribue comprenant au moins un serveur, au moins un terminal distant, et au moins un terminal mobile capable de communiquer avec le terminal distant relie en reseau audit serveur
US8224516B2 (en) * 2009-12-17 2012-07-17 Deere & Company System and method for area coverage using sector decomposition
DE102011000009A1 (de) * 2011-01-03 2012-07-05 Vorwerk & Co. Interholding Gmbh Verfahren zur gleichzeitigen Bestimmung und Kartenbildung
FR2977023B1 (fr) * 2011-06-24 2014-02-21 Univ Angers Generation de donnees de carte
US8798840B2 (en) 2011-09-30 2014-08-05 Irobot Corporation Adaptive mapping with spatial summaries of sensor data
US9128185B2 (en) * 2012-03-15 2015-09-08 GM Global Technology Operations LLC Methods and apparatus of fusing radar/camera object data and LiDAR scan points
DE102013210263A1 (de) * 2013-06-03 2014-12-04 Robert Bosch Gmbh Belegungskarte für ein Fahrzeug
EP2933604B1 (en) 2014-04-14 2016-11-30 Softbank Robotics Europe A method for localizing a robot in a localization plane
DE102015201706A1 (de) * 2015-02-02 2016-08-04 Bayerische Motoren Werke Aktiengesellschaft Verarbeitung von Sensormessungen eines Fahrzeugumfeldes bei geringer Querauflösung
EP3144765B1 (en) * 2015-09-18 2020-01-08 Samsung Electronics Co., Ltd. Apparatus for localizing cleaning robot, cleaning robot, and controlling method of cleaning robot
JP6559535B2 (ja) * 2015-10-22 2019-08-14 株式会社東芝 障害物マップ生成装置、その方法、及び、そのプログラム
JP6711138B2 (ja) * 2016-05-25 2020-06-17 村田機械株式会社 自己位置推定装置、及び、自己位置推定方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004298975A (ja) * 2003-03-28 2004-10-28 Sony Corp ロボット装置、障害物探索方法
JP2005310043A (ja) * 2004-04-26 2005-11-04 Mitsubishi Heavy Ind Ltd 移動体の障害物回避方法及び該移動体
JP2006239844A (ja) * 2005-03-04 2006-09-14 Sony Corp 障害物回避装置、障害物回避方法及び障害物回避プログラム並びに移動型ロボット装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102497615B1 (ko) * 2022-09-27 2023-02-08 주식회사 트위니 초음파 센서 기반의 코스트맵 생성 방법 및 장치

Also Published As

Publication number Publication date
RU2016151747A3 (ko) 2018-07-17
US10328575B2 (en) 2019-06-25
CN106662646A (zh) 2017-05-10
CA2950978C (en) 2019-04-23
US20170197311A1 (en) 2017-07-13
WO2015185741A2 (en) 2015-12-10
JP2017521761A (ja) 2017-08-03
AU2015270461A1 (en) 2016-12-22
BR112016028352A2 (pt) 2017-08-22
JP6462728B2 (ja) 2019-01-30
CN106662646B (zh) 2019-08-02
ES2675363T3 (es) 2018-07-10
MX2016015833A (es) 2017-06-28
CA2950978A1 (en) 2015-12-10
EP2952993A1 (en) 2015-12-09
AU2018271237A1 (en) 2018-12-13
DK2952993T3 (en) 2018-07-30
WO2015185741A3 (en) 2016-01-21
RU2016151747A (ru) 2018-07-17
SG11201610131QA (en) 2017-01-27
EP2952993B1 (en) 2018-04-25
AU2018271237B2 (en) 2020-01-30
KR101999033B1 (ko) 2019-09-27
NZ727046A (en) 2018-04-27

Similar Documents

Publication Publication Date Title
KR101999033B1 (ko) 자동 로봇을 위한 장애물의 존재 및 부재 중 하나의 확률 맵 구축 방법
EP3347875B1 (en) Localization of a robot in an environment using detected edges of a camera image from a camera of the robot and detected edges derived from a three-dimensional model of the environment
EP2952301B1 (en) Humanoid robot with collision avoidance and trajectory recovery capabilities
KR20200099611A (ko) 로봇 자율 모션 계획 및 내비게이션을 위한 시스템 및 방법들
US10197399B2 (en) Method for localizing a robot in a localization plane
US20130116823A1 (en) Mobile apparatus and walking robot
Fetzner et al. A 3D representation of obstacles in the robots reachable area considering occlusions
Chikhalikar et al. An object-oriented navigation strategy for service robots leveraging semantic information
Lu et al. Human-robot collision detection based on the improved camshift algorithm and bounding box
Dam et al. Person following mobile robot using pedestrian dead-reckoning with inertial data of smartphones
Karungaru et al. A Simple Interface for Mobile Robot Equipped with Single Camera using Motion Stereo Vision

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