KR101945734B1 - 로봇 시스템 및 그의 동작 방법 - Google Patents

로봇 시스템 및 그의 동작 방법 Download PDF

Info

Publication number
KR101945734B1
KR101945734B1 KR1020120089668A KR20120089668A KR101945734B1 KR 101945734 B1 KR101945734 B1 KR 101945734B1 KR 1020120089668 A KR1020120089668 A KR 1020120089668A KR 20120089668 A KR20120089668 A KR 20120089668A KR 101945734 B1 KR101945734 B1 KR 101945734B1
Authority
KR
South Korea
Prior art keywords
robot
icr
correction
estimating
scan data
Prior art date
Application number
KR1020120089668A
Other languages
English (en)
Other versions
KR20140023608A (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 KR1020120089668A priority Critical patent/KR101945734B1/ko
Priority to US13/886,432 priority patent/US9126338B2/en
Publication of KR20140023608A publication Critical patent/KR20140023608A/ko
Application granted granted Critical
Publication of KR101945734B1 publication Critical patent/KR101945734B1/ko

Links

Images

Classifications

    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • 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/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/027Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising intertial navigation means, e.g. azimuth detector
    • 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/0272Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising means for registering the travel distance, e.g. revolutions of wheels
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40298Manipulator on vehicle, wheels, mobile

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Electromagnetism (AREA)
  • Optics & Photonics (AREA)
  • Human Computer Interaction (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

본 발명은 애커만(ackerman) 구동방식을 적용하여 로봇의 위치를 보정하는 로봇 시스템 및 그의 동작 방법에 관한 것이다. 로봇 시스템의 동작 방법은 로봇이 위치한 공간으로부터 획득한 복수의 연속된 스캔 데이터 쌍들의 매칭을 통해서 위치 변화를 추정하는 단계, 복수의 위치 변화를 각각 연결하여 상기 로봇의 경로를 생성하는 단계, 경로상의 각 위치에서 로봇의 회전축으로부터 순간 회전 중심점(instantaneous center of rotation, ICR)을 포함하는 연장선들 주변에서 보정 ICR의 위치를 추정하는 단계 및 보정 ICR의 위치를 중심으로 하는 동심원 상에서 로봇이 이동하도록 스캔 데이터를 보정하는 단계를 포함하는 것을 특징으로 한다. 본 발명에 따르면, 애커만 구동방식을 이용한 로봇의 주행 경로 재생성에 의해 로봇의 위치 추정 정확도를 향상시킬 수 있다.

Description

로봇 시스템 및 그의 동작 방법{System for robot and method for driving the same}
본 발명은 로봇 시스템 및 그의 동작 방법에 관한 것으로. 보다 상세하게는 애커만(ackerman) 구동방식을 적용하여 로봇의 위치를 보정하는 로봇 시스템 및 그의 동작 방법에 관한 것이다.
이동 로봇의 위치를 아는 것은 로봇이 주어진 일을 수행하는데 있어 필수요소이다. 레이저 스캐너를 이용한 위치 추정은 이동 로봇 분야에서 널리 쓰여지는 방법이며, 로봇의 위치 변화를 추정함에 있어 레이저 스캐너를 이용한 두 스캔 데이터만을 사용하고 있다. 그러나, 레이저 스캐너를 이용한 로봇 위치 추정은 주어질 수 있는 추가 정보를 이용하지 않는다. 따라서 추가적인 정보로 로봇의 위치 변화 추정의 정확도를 향상시킬 수 있음에도 불구하고, 로봇의 위치 변화 추정의 정확도를 높일 수 없는 문제 점이 있다.
국내 공개 특히 제2011-0132659호
본 발명이 해결하고자 하는 기술적인 과제는 애커만 구동방식을 이용한 로봇의 주행 경로 재생성에 의해 로봇의 위치 추정 정확도를 향상시킬 수 있는 로봇 시스템 및 그의 동작 방법을 제공하는데 있다.
본 발명이 이루고자 하는 기술적인 과제를 해결하기 위한 일 실시 예에 따른 로봇 시스템의 동작 방법은 로봇이 위치한 공간으로부터 획득한 복수의 연속된 스캔 데이터 쌍들의 매칭을 통해서 위치 변화를 추정하는 단계; 상기 복수의 위치 변화를 각각 연결하여 상기 로봇의 경로를 생성하는 단계; 상기 경로상의 각 위치에서 상기 로봇의 회전축으로부터 순간 회전 중심점(instantaneous center of rotation, ICR)을 포함하는 연장선들 주변에서 보정 ICR의 위치를 추정하는 단계; 및 상기 보정 ICR의 위치를 중심으로 하는 동심원 상에서 상기 로봇이 이동하도록 상기 스캔 데이터를 보정하는 단계;를 포함하는 것을 특징으로 한다.
본 발명에 있어서, 상기 보정된 스캔 데이터를, 상기 로봇의 다음 위치 변화 추정 시에 적용하는 것을 특징으로 한다.
본 발명에 있어서, 상기 위치 변화를 추정하는 단계는, 상기 연속된 각 스캔 데이터 쌍 중 시간상으로 더 빠른 스캔 데이터를 기준으로 다른 스캔 데이터의 상대적인 위치 변화를 추정하는 것을 특징으로 한다.
본 발명에 있어서, 상기 로봇의 경로를 생성하는 단계는, 임의의 시간에서의 로봇의 위치를 기준점으로 설정하는 단계; 및 상기 기준점을 중심으로 상기 위치 변화들을 연결하여 상기 로봇의 경로를 생성하는 단계;를 포함하는 것을 특징으로 한다.
본 발명에 있어서, 상기 보정 ICR의 위치를 추정하는 단계는, 상기 경로상의 각 위치에서 상기 로봇의 ICR을 포함하는 연장선들을 생성하는 단계; 및 상기 연장선들로부터의 거리가 가장 가까운 지점을 보정 ICR의 위치로 추정하는 단계;를 포함하는 것을 특징으로 한다.
본 발명에 있어서, 상기 스캔 데이터를 보정하는 단계는, 상기 경로상의 각 위치에서 상기 로봇의 ICR들을 상기 보정 ICR로 변경하는 것을 특징으로 한다.
본 발명에 있어서, 상기 스캔 데이터를 보정하는 단계에서, 상기 스캔 데이터의 위치를 변경하는 것을 특징으로 한다.
본 발명에 있어서, 상기 스캔 데이터를 보정하는 단계에서, 상기 스캔 데이터의 방향을 변경하는 것을 특징으로 한다.
본 발명에 있어서, 상기 스캔 데이터를 보정하는 단계에서, 상기 스캔 데이터의 위치 및 방향을 변경하는 것을 특징으로 한다.
본 발명에 있어서, 상기 위치 변화를 추정하는 단계 전에, 자이로 센서를 사용하여 상기 로봇의 이동 방향을 검출하는 단계; 인코더를 이용하여 상기 로봇의 이동 거리를 검출하는 단계; 및 상기 이동 방향 및 이동 거리를 이용하여 상기 로봇의 위치 및 방향을 보정하는 단계;를 더 포함하는 것을 특징으로 한다.
본 발명에 있어서, 상기 보정된 로봇의 위치 및 방향 데이터는, 상기 스캔 데이터 매칭 시 시작점 설정에 이용하는 것을 특징으로 한다.
본 발명에 있어서, 상기 위치 변화를 추정하는 단계는, 상기 보정된 위치 및 방향 데이터와, 상기 연속된 스캔 데이터 쌍으로부터 위치 변화를 추정하는 것을 특징으로 한다.
본 발명이 이루고자 하는 기술적인 과제를 해결하기 위한 일 실시 예에 따른 로봇 시스템은 로봇이 위치한 공간으로부터 획득한 복수의 연속된 스캔 데이터 쌍들의 매칭을 통해서 위치 변화를 추정하는 위치 변화 추정부; 상기 복수의 위치 변화를 각각 연결하여 상기 로봇의 경로를 생성하는 경로 생성부; 상기 경로상의 각 위치에서 상기 로봇의 회전축으로부터 순간 회전 중심점(instantaneous center of rotation, ICR)을 포함하는 연장선들 주변에서 보정 ICR의 위치를 추정하는 보정 ICR 추정부; 및 상기 보정 ICR의 위치를 중심으로 하는 동심원 상에서 상기 로봇이 이동하도록 상기 스캔 데이터를 보정하는 보정부;를 포함하는 것을 특징으로 한다.
본 발명에 있어서, 상기 보정부로부터 출력되는 보정 스캔 데이터는 상기 위치 변화 추정부로 출력되는 것을 특징으로 한다.
본 발명에 있어서, 상기 위치 변화 추정부는, 상기 연속된 각 스캔 데이터 쌍 중 시간상으로 더 빠른 스캔 데이터를 기준으로 다른 스캔 데이터의 상대적인 위치 변화를 추정하는 것을 특징으로 한다.
본 발명에 있어서, 상기 경로 생성부는, 임의의 시간에서의 로봇의 위치를 기준점으로 설정하고, 상기 기준점을 중심으로 상기 위치 변화들을 연결하여 상기 로봇의 경로를 생성하는 것을 특징으로 한다.
본 발명에 있어서, 상기 보정 ICR 추정부는, 상기 경로상의 각 위치에서 상기 로봇의 ICR을 포함하는 연장선들을 생성하여, 상기 연장선들로부터의 거리가 가장 가까운 지점을 상기 보정 ICR의 위치로 추정하는 것을 특징으로 한다.
본 발명에 있어서, 상기 보정부는 상기 보정 ICR의 위치를 중심으로 하는 동심원 상에서 상기 로봇이 이동하도록 상기 스캔 데이터의 위치를 변경하거나, 상기 스캔 데이터의 방향을 변경하거나, 상기 스캔 데이터의 위치 및 방향을 변경하는 것을 특징으로 한다.
본 발명에 있어서, 상기 로봇의 이동 방향을 검출하는 자이로 센서; 상기 로봇의 이동 거리를 검출하는 인코더 및 상기 이동 방향 및 이동 거리로부터 상기 로봇의 위치 및 방향을 보정하여 상기 위치 변화 추정부로 출력하는 전처리 보정부;를 더 포함하는 것을 특징으로 한다.
로봇 시스템의 구동 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체는 로봇이 위치한 공간으로부터 획득한 복수의 연속된 스캔 데이터 쌍들의 매칭을 통해서 위치 변화를 추정하는 단계; 상기 복수의 위치 변화를 각각 연결하여 상기 로봇의 경로를 생성하는 단계; 상기 경로상의 각 위치에서 상기 로봇의 회전축으로부터 순간 회전 중심점(instantaneous center of rotation, ICR)을 포함하는 연장선들 주변에서 보정 ICR의 위치를 추정하는 단계; 및 상기 보정 ICR의 위치를 중심으로 하는 동심원 상에서 상기 로봇이 이동하도록 상기 스캔 데이터를 보정하는 단계;를 포함하는 것을 특징으로 한다.
상술한 바와 같이 본 발명에 따르면, 애커만 구동방식을 이용한 로봇의 주행 경로 재생성에 의해 로봇의 위치 추정 정확도를 향상시킬 수 있다.
도 1은 본 발명의 일 실시 예에 따른 로봇 시스템의 구성을 보이는 블록도 이다.
도 2는 도 1 중 로봇의 주행 원리인 애커만 구동 방식을 설명하기 위한 도면이다.
도 3은 도 1 중 로봇의 위치 변화 추정 시에 사용되는 ICP(iterative closest point) 알고리즘을 설명하기 위한 도면이다.
도 4는 도 1 중 로봇의 위치 변화 추정을 나타내는 도면이다.
도 5는 도 1 중 로봇의 위치 변화 추정 결과를 이용한 로봇의 경로 생성을 나타내는 도면이다.
도 6은 도 1 중 생성된 주행 경로 상의 각 위치에서 ICR을 기준으로 로봇이 주행함을 보여주는 도면이다.
도 7은 도 1 중 로봇의 경로 상에서 보정 ICR의 위치 추정을 나타내는 도면이다.
도 8은 도 1 중 보정 ICR에 의해 로봇의 이동을 나타내는 도면이다.
도 9는 본 발명의 다른 실시 예에 따른 로봇 시스템의 구성을 보이는 블록도 이다.
도 10은 도 9 중 로봇의 로컬 미니마(local minima)를 나타내는 도면이다.
도 11은 본 발명의 일 실시 예에 따른 로봇 시스템의 동작 방법을 보이는 흐름도 이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명은 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 발명은 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 본 발명에의 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 잇는 것과 유사하게, 본 발명은 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 발명은 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. 매커니즘, 요소, 수단, 구성과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
이하, 본 발명의 실시 예를 첨부도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 일 실시 예에 따른 로봇 시스템의 구성을 보이는 블록도 이다.
도 1을 참조하면, 로봇 시스템(10)은 거리 측정부(100), 위치 보정부(200), 로봇 제어부(300) 및 구동부(400)를 포함한다. 본 발명에 있어서, 위치 보정부(200)는 위치 변화 추정부(210), 경로 생성부(220), 보정 ICR 추정부(230) 및 보정부(240)를 포함한다.
본 발명에 있어서, 로봇은 애커만 구동 방식으로 주행한다. 도 2는 애커만 구동 방식을 설명하기 위한 도면이다. 도 2a를 참조하면, 애커만 구동에서 로봇은 항상 순간 회전 중심(instantaneous center of rotation, ICR)을 기준으로 회전한다고 가정한다. 그렇기 때문에 회전이 이루어지지 않는 전진 또는 후진 시의 ICR은 무한대의 값을 가지며, 존재하지 않는다고 가정된다. 도 2a에서와 같이 ICR 점을 로봇의 왼쪽 편에 있도록 유지했을 시에 로봇은 도 2b와 같이 ICR을 중심으로 하여 왼쪽으로 원을 따라 주행한다. 본 발명은 주행 시 로봇이 소정의 시간 동안은 동일한 ICR 점을 유지한다는 가정하에, 로봇의 위치 변화를 추정하여 보정한다.
거리 측정부(100)는 로봇 전방에 빔 예를 들어, 레이저, 적외선, 초음파 등을 방출하여 되돌아 오는 빔의 왕복 시간을 계산하여 거리 측정부(100)와 전방에 위치한 물체의 상대적인 거리를 측정한다. 로봇 전방에 물체가 존재하지 않는 경우 방출한 빔은 되돌아 오지 않는다. 로봇 전방에 물체가 존재하는 경우, 거리 측정부(100)가 수신하는 빔을 스캔 데이터라 할 수 있다.
위치 변화 추정부(210)는 로봇이 위치한 공간으로부터 획득한 복수의 연속된 스캔 데이터 쌍들의 매칭을 통해서 위치 변화를 추정한다.
로봇의 위치 변화 추정은 예를 들어, ICP(interative closest point) 알고리즘을 이용할 수 있다. ICP 알고리즘은 연속하는 두 스캔 데이터간의 가장 가까운 거리에 있는 점 쌍을 찾고, 찾아진 점 쌍의 거리를 최소화 시키는 이동 변위(translation)와 회전 변위(rotation)로 구성된 매개 변수를 찾는 과정을 반복한다.
도 3에는 ICP 알고리즘을 설명하기 위한 도면이 도시되어 있다. 도 3을 참조하면, 도 3a는 t 시간에서 획득한 스캔 데이터를, 도 3b는 t+1 시간에서 획득한 스캔 데이터를 나타낸다. 도 3c는 도 3a 및 도 3b로부터 가장 가까운 스캔 데이터 점 쌍을 찾은 결과를 나타낸다. 도 3d는 가장 가까운 스캔 데이터 점 쌍 중 어느 한 스캔 데이터를 기준으로 다른 스캔 데이터를 회전 이동하여 매칭시킨 것을 나타낸다. 이때 회전, 이동 변위의 변화가 임계치 보다 작아질 때까지 위의 과정을 반복하여 오차를 최적화 한다.
도 4에는 위치 변화 추정부(210)가 ICP 알고리즘을 이용한 로봇의 위치 변화 추정을 나타내는 도면이 도시되어 있다. 일 예로 t-1, t, t+1 시간에서의 로봇의 위치 변화를 설명하기로 한다. 그러나, 반드시 상기 시간에 국한되는 것이 아니고, 더 많거나 더 적은 시간 단위로 로봇의 위치 변화 추정이 가능하다.
도 4에서 x, y는 로봇의 중심점 좌표이고, θ는 로봇이 향하는 방향각이다. 이로부터 로봇의 자세 즉 위치는 좌표 및 방향각으로 이루어진다. 이 좌표 및 방향각은 로봇을 이동시킬 때 고려해야 하는 값들이다.
도 4a는 t-1 시간 및 t 시간에서 로봇의 위치 변화 추정을 나타내고, 도 4b는 t 시간 및 t+1 시간에서 로봇의 위치 변화 추정을 나타낸다. 로봇의 위치 변화 추정 시, 위치 변화 추정부(210)는 시간상으로 더 빠른 스캔 데이터(좌표 정보 및 방향 정보를 포함)를 기준으로 다른 스캔 데이터의 상대적인 위치 변화를 추정한다.
도 4a를 참조하면, t-1 시간에서 로봇의 위치 P1 및 t 시간에서 로봇의 위치 P2가 가장 가까운 거리라고 가정하면, 위치 변화 추정부(210)는 로봇의 위치 P1에서의 좌표(x1, y1) 및 방향(θ1)을 기준으로, 로봇의 위치 P2에서의 좌표(x2, y2) 및 방향(θ2)의 상대적인 위치 변화 즉, 좌표 변화(△x1, △y1) 및 방향 변화(△θ1)를 구할 수 있다.
또한 도 4b를 참조하면, t 시간에서 로봇의 위치 P2 및 t+1 시간에서 로봇의 위치 P3가 가장 가까운 거리라고 가정하면, 위치 변화 추정부(210)는 로봇의 위치 P2에서의 좌표(x2, y2) 및 방향(θ2)을 기준으로, 로봇의 위치 P3에서의 좌표(x3, y3) 및 방향(θ3)의 상대적인 위치 변화 즉, 좌표 변화(△x2, △y2) 및 방향 변화(△θ2)를 구할 수 있다.
로봇의 위치 변화 추정이 완료되면, 경로 생성부(220)는 위치 변화 추정부(210)에서 구한 복수의 위치 변화를 각각 연결하여 로봇의 주행 경로를 생성한다. 이때, 경로 생성부(220)는 복수의 위치 변화 중 임의의 시간에서의 로봇의 위치를 기준점으로 설정하고, 설정된 기준점을 중심으로 위치 변화들을 연결하여 로봇의 경로를 생성한다.
도 5에는 로봇의 위치 변화 추정 결과를 이용하여 로봇의 경로 생성 결과를 보이고 있다. 도 5를 참조하면, t-1 시간에서의 로봇의 위치 P1을 기준으로 하여 t 시간에서의 로봇의 위치 P2를 거쳐 t+1 시간에서의 로봇의 위치 P3를 로봇의 주행 경로로 생성함을 보여준다.
보정 ICR 추정부(230)는 로봇의 주행 경로상의 각 위치에서 로봇의 회전축으로부터 ICR을 포함하는 연장선들 주변에서 보정 ICR의 위치를 추정한다.
보정 ICR 위치 추정 전에, 도 6을 참조하여 주행 경로 상의 각 위치에서 ICR을 기준으로 로봇의 주행을 설명하기로 한다. 도 6을 참조하면, 로봇이 애커만 구동 방식으로 주행한다고 가정한 상태에서, t-1 시간 P1 위치에서 ICR1을 중심으로 회전 주행하고, 또한 t 시간 P2 위치에서 로봇은 ICR2를 중심으로 회전 주행한다. 더 나아가 t+1 시간 P3 위치에서 로봇은 ICR3를 중심으로 회전 주행한다.
이와 같이 한 로봇이 주행 경로 상의 각 위치에서 각각 다른 ICR(ICR1-ICR3)을 기준으로 생성된 동심원 상에서 회전 주행을 하기 때문에, 하나의 주행 경로 상에서 하나의 ICR을 기준으로 회전 주행하는 애커만 구동 방식에 위배되어 로봇의 주행이 매끄럽지 않고 실제 이동 경로와 비교시 로봇의 좌표 또는 방향 또는 좌표 및 방향에 오차가 발생하게 된다.
이에 보정 ICR 추정부(230)는 보정 ICR을 추정하고, 보정 ICR을 중심으로 하는 보정 동심원을 생성하여 로봇이 보정 동심원 상에서 회전 주행을 하도록 하여 주행이 매끄럽고 실제 이동 경로와의 오차를 줄이도록 한다.
보정 ICR 추정부(230)는 위치 P1에서 로봇의 회전축으로부터 ICR1을 포함하는 연장선 L1을 생성하고, 위치 P2에서 로봇의 회전축으로부터 ICR2를 포함하는 연장선 L2를 생성하며, 위치 P3에서 로봇의 회전축으로부터 ICR3을 포함하는 연장선 L3을 생성한다. 도 6에는 P1, P2 및 P3위치에서 로봇의 회전축으로부터 ICR1, ICR2 및 ICR3을 포함하는 연장선 L1, L2 및 L3가 도시되어 있다. 도 6에 도시된 바와 같이 연장선 L1, L2 및 L3는 하나의 ICR에서 만나지 않기 때문에 로봇의 주행이 매끄럽지 않고 실제 이동 경로와 비교시 오차가 발생하게 된다.
따라서 보정 ICR 추정부(230)는 연장선 L1, L2 및 L3로부터 거리가 가장 가까운 지점을 보정 ICR의 위치로 추정한다. 보정 ICR 추정부(230)는 로봇 위치 P2(x2, y2)를 기준 좌표계로 하는 일차 방정식과, 로봇 위치 P1(x1, y1)에서의 일차 방정식 및 로봇 위치 P3(x3, y3)에서의 일차 방정식을 선형대수학에 반영하여 보정 ICR을 추정할 수 있다. 도 7에는 연장선 L1, L2 및 L3로부터 거리상 가장 가까운 지점에 보정 ICR이 추정되었음을 보여주고 있다.
보정부(240)는 보정 ICR의 위치를 중심으로 하는 동심원 상에서 로봇이 주행하도록 스캔 데이터를 보정한다. 보정된 ICR을 중심으로 하는 동심원 상에서 로봇이 주행하기 위해서는 기존 위치에서의 로봇의 좌표 또는 로봇의 방향 또는 로봇의 좌표 및 방향이 보정되어야 한다.
도 8에는 보정된 ICR을 중심으로 하는 동심원 상에서 로봇이 주행하고 있음을 보여주고 있다. 도 8을 참조하면, 기존 P1 위치에서 주행하던 로봇이 보정 ICR을 중심으로 하는 동심원 상에서 P1'로 이동되었음을 알 수 있다. 위치 P1과 위치 P1' 비교 시에 로봇의 좌표 및 방향이 보정되었음을 알 수 있다. 또한 기존 P2 위치에서 주행하던 로봇이 보정 ICR을 중심으로 하는 동심원 상에서 P2'로 이동되었음을 알 수 있다. 위치 P2와 위치 P2' 비교 시에 로봇의 방향은 변하지 않고, 좌표만 보정되었음을 알 수 있다. 더 나아가 또한 기존 P3 위치에서 주행하던 로봇이 보정 ICR을 중심으로 하는 동심원 상에서 P3'로 이동되었음을 알 수 있다. 위치 P3와 위치 P3' 비교 시에 로봇의 좌표 및 방향이 보정되었음을 알 수 있다.
이와 같이 로봇의 주행 경로가 보정 ICR의 위치를 중심으로 하는 동심원 상으로 보정되어 주행이 매끄럽고 실제 이동 경로와의 오차를 줄일 수 있게 된다. 이와 같이 보정된 주행 경로 상의 좌표 정보 및 방향 정보는 보정 스캔 데이터로서 다음 위치 변화 추정 시에 적용된다.
로봇 제어부(300)는 보정부(200)에서 생성한 주행 경로로 로봇의 주행 제어신호를 출력한다.
구동부(400)는 로봇 제어부(300)의 주행 제어 신호에 의해 실질적으로 로봇을 주행시킨다.
도 9는 본 발명의 다른 실시 예에 따른 로봇 시스템(20)의 구성을 보이는 블록도 이다.
도 9를 참조하면, 다른 실시 예에 따른 로봇 시스템(20)은 거리 측정부(100), 제1 보정부(500), 제2 보정부(200), 로봇 제어부(300) 및 구동부(400)를 포함한다. 본 발명에서 제1 보정부(500)는 엔코더(510), 자이로 센서(520), 분석부(530) 및 1차 보정부(540)를 포함한다. 본 발명에서 제2 보정부(200)는 위치 변화 추정부(210), 경로 생성부(220), 보정 ICR 추정부(230) 및 2차 보정부(240)를 포함한다.
ICP 알고리즘에서 두 스캔 데이터 쌍이 근사한 값일 수록 ICP 알고리즘의 정확도는 높아진다. 즉, 최초 ICP 과정에서 획득된 스캔 데이터 쌍이 ICP 알고리즘의 중요한 요소라고 할 수 있다. 최초 선정된 스캔 데이터 쌍의 오차가 클수록 로컬 미니마(local minima)에 빠지게 된다.
도 10에 도시된 바와 같이 로봇의 주행 시작점(starting point)은 최초 ICP 과정에서 획득된 거리상으로 가장 가까운 스캔 데이터 매칭 점이 되고, 실제적으로 찾고자 하는 매칭 지점은 글로벌 미니마(global minima) 위치가 된다. 그러나, 시작점이 어디냐에 따라 로컬 미니마에서 매칭이 완료될 수 있다. 도 10에 따르면, 시작점1 및 시작점 2에서는 로컬 미니마에 빠질 확률이 높아지고, 정확하게 글로벌 미니마에서 매칭을 완료시키기 위해서는 로봇 주행의 시작점은 시작점 3이어야 한다.
이와 같이 로봇 주행의 정확한 시작점을 찾기 위해서, 제1 보정부(500)를 이용한다. 제1 보정부(500)는 최초 로봇 주행 시에 시작점을 찾기 위해 사용되며, 최초 로봇 주행 시의 시작점 찾기가 완료되면 그 기능을 종료한다.
제1 보정부(500)는 엔코더(510), 자이로 센서(520), 분석부(530) 및 1차 보정부(540)를 포함한다.
엔코더(510)는 로봇의 바퀴에 부착되어, 바퀴의 회전 수를 카운트함으로써 로봇의 이동 거리를 검출한다.
자이로 센선(520)는 로봇의 이동 방향 및 이동 방향에 수직한 방향의 양 방향 가속도를 검출한다.
분석부(530)는 엔코더(510)로부터 검출된 이동거리를 이용한 로봇의 속도 및 회전 각도를 산출하고, 자이로 센서(520)로부터 검출된 로봇의 속도 및 회전 각도를 산출한다.
1차 보정부(540)는 분석부(530)로부터 출력된 각각의 속도 및 회전 각도를 이용하여 오차가 보정된 로봇의 속도 및 회전 각도를 산출한다. 1차 보정부(540)는 오차가 보정된 로봇의 속도 및 회전 각도에 대해 칼만 필터(kalman filter) 등을 사용하여 로봇의 위치를 산출한다. 1차 보정부(540)에서 산출한 로봇의 위치가 스캔 데이터 매칭 시작점으로 이용된다.
거리 측정부(100)는 로봇 전방에 빔 예를 들어, 레이저, 적외선, 초음파 등을 방출하여 되돌아 오는 빔의 왕복 시간을 계산하여 거리 측정부(100)와 전방에 위치한 물체의 상대적인 거리를 측정한다. 로봇 전방에 물체가 존재하지 않는 경우 방출한 빔은 되돌아 오지 않는다. 로봇 전방에 물체가 존재하는 경우, 거리 측정부(100)가 수신하는 빔을 스캔 데이터라 할 수 있다.
제2 보정부(200)는 제1 보정부(500)에서 출력되는 스캔 데이터 매칭 시작점을 적용하여, 복수의 연속된 스캔 데이터 쌍들의 매칭을 통해서 위치 변화를 추정하고, 복수의 위치 변화를 각각 연결하여 로봇의 경로를 생성한 후, 경로상의 각 위치에서 로봇의 ICR을 포함하는 연장선들 주변에서 보정 ICR의 위치를 추정하고, 보정 ICR의 위치를 중심으로 하는 동심원 상에서 로봇이 이동하도록 스캔 데이터를 보정한다.
본 실시 예에서 제2 보정부(200)는 도 1의 보정부(200)와 비교 시에 스캔 데이터 매칭 시작점을 제외한 나머지 기능은 동일하다.
위치 변화 추정부(210)는 ICP 알고리즘을 이용하여 로봇이 위치한 공간으로부터 획득한 복수의 연속된 스캔 데이터 쌍들의 매칭을 통해서 위치 변화를 추정한다.
경로 생성부(220)는 위치 변화 추정부(210)에서 구한 복수의 위치 변화를 각각 연결하여 로봇의 주행 경로를 생성한다. 이때, 경로 생성부(220)는 복수의 위치 변화 중 임의의 시간에서의 로봇의 위치를 기준점으로 설정하고, 설정된 기준점을 중심으로 위치 변화들을 연결하여 로봇의 경로를 생성한다.
보정 ICR 추정부(230)는 로봇의 주행 경로상의 각 위치에서 로봇의 회전축으로부터 ICR을 포함하는 연장선들 주변에서 보정 ICR의 위치를 추정한다. P1, P2 및 P3위치에서 로봇의 회전축으로부터 ICR1, ICR2 및 ICR3을 포함하는 연장선 L1, L2 및 L3로부터 거리가 가장 가까운 지점을 보정 ICR의 위치로 추정하고, 보정 ICR의 위치를 중심으로 하는 동심원 상에서 로봇이 주행하도록 스캔 데이터를 보정한다. 스캔 데이터는 로봇의 좌표만 보정될 수 있고, 또한 로봇의 방향만 보정될 수도 있고, 더 나아가 로봇의 좌표 및 방향이 보정될 수 있다.
이와 같이 로봇의 주행 경로가 보정 ICR의 위치를 중심으로 하는 동심원 상으로 보정되어 주행이 매끄럽고 실제 이동 경로와의 오차를 줄일 수 있게 된다. 이와 같이 보정된 주행 경로 상의 좌표 정보 및 방향 정보는 보정 스캔 데이터로서 다음 위치 변화 추정 시에 적용된다. 다음 위치 변화 추정 시에는 제1 보정부(500)는 동작하지 않는다.
로봇 제어부(300)는 보정부(200)에서 생성한 주행 경로로 로봇의 주행 제어신호를 출력한다.
구동부(400)는 로봇 제어부(300)의 주행 제어 신호에 의해 실질적으로 로봇을 주행시킨다.
도 11은 본 발명의 실시 예에 따른 로봇 시스템의 동작 방법의 동작을 보이는 흐름도 이다. 이하의 설명에서, 도 1 내지 도 10에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.
도 11을 참조하면, 로봇 시스템(10)은 로봇이 위치한 공간으로부터 획득한 복수의 연속된 스캔 데이터 쌍들의 매칭을 통해서 위치 변화를 추정하는 단계(S10)를 수행한다.
위치 변화 추정을 위해 로봇 전방에 빔 예를 들어, 레이저, 적외선, 초음파 등을 방출하여 되돌아 오는 빔의 왕복 시간을 계산하여 전방에 위치한 물체의 상대적인 거리를 측정한 스캔 데이터를 수신하고, ICP 알고리즘은 연속하는 두 스캔 데이터간의 가장 가까운 거리에 있는 점 쌍을 찾아 매칭함으로써 위치 변화를 추정한다. 여기서, 로봇의 스캔 데이터 매칭 점이 로컬 미니마에 빠질 확률을 저하시키도록 엔코더와 자이로 센서를 이용하여 정확한 매칭 시작점을 산출하여 적용시킬 수 있다. 로봇의 위치 변화 추정은 일 실시 예로 t-1, t, t+1 시간에서의 로봇의 위치 변화를 추정하는데, 로봇의 위치 P1에서의 좌표(x1, y1) 및 방향(θ1)을 기준으로, 로봇의 위치 P2에서의 좌표(x2, y2) 및 방향(θ2)의 상대적인 위치 변화 즉, 좌표 변화(△x1, △y1) 및 방향 변화(△θ1)를 구하고, 로봇의 위치 P2에서의 좌표(x2, y2) 및 방향(θ2)을 기준으로, 로봇의 위치 P3에서의 좌표(x3, y3) 및 방향(θ3)의 상대적인 위치 변화 즉, 좌표 변화(△x2, △y2) 및 방향 변화(△θ2)를 구하여 위치 변화를 추정한다.
로봇의 위치 변화 추정이 완료되면, 로봇 시스템(10)은 복수의 위치 변화를 각각 연결하여 로봇의 주행 경로를 생성한다. 이때, 로봇 시스템(10)은 복수의 위치 변화 중 임의의 시간에서의 로봇의 위치를 기준점으로 설정하고, 설정된 기준점을 중심으로 위치 변화들을 연결하여 로봇의 경로를 생성할 수 있다. 예를 들어 t-1 시간에서의 로봇의 위치 P1을 기준으로 하여 t 시간에서의 로봇의 위치 P2 및 t+1 시간에서의 로봇의 위치 P3를 로봇의 주행 경로로 생성할 수 있다.
로봇의 주행경로 생성이 완료되면, 로봇 시스템(10)은 로봇의 주행 경로상의 각 위치에서 로봇의 회전축으로부터 ICR을 포함하는 연장선들 주변에서 보정 ICR의 위치를 추정하는 단계(S30)를 수행한다.
보정 ICR의 위치를 추정하기 위해, t-1 시간 P1 위치에서 로봇의 회전축으로부터 ICR1을 포함하는 연장선 L1을 생성하고, t 시간 P2 위치에서 로봇의 회전축으로부터 ICR2를 포함하는 연장선 L2를 생성하며, t+1 시간 P3 위치 P3에서 로봇의 회전축으로부터 ICR3을 포함하는 연장선 L3을 생성한다. 이러한 연장선 L1, L2 및 L3는 하나의 ICR에서 만나지 않기 때문에 로봇의 주행이 매끄럽지 않고 실제 이동 경로와 비교시 오차가 발생하게 된다. 따라서, 연장선 L1, L2 및 L3로부터 거리가 가장 가까운 지점을 보정 ICR의 위치로 추정한다.
보정 ICR의 위치 추정이 완료되면, 로봇 시스템(10)은 보정 ICR의 위치를 중심으로 하는 동심원 상에서 로봇이 주행하도록 스캔 데이터를 보정하는 단계(S40)를 수행한다.
스캔 데이터 보정 시에 이전 위치에서 보정된 위치로 로봇의 좌표를 보정하거나, 로봇의 방향을 보정하거나, 로봇의 좌표 및 방향을 보정할 수 있다. 이와 같이 로봇의 주행 경로가 보정 ICR의 위치를 중심으로 하는 동심원 상으로 보정되어 주행이 매끄럽고 실제 이동 경로와의 오차를 줄일 수 있게 된다. 이와 같이 보정된 주행 경로 상의 좌표 정보 및 방향 정보는 보정 스캔 데이터로서 다음 위치 변화 추정 시에 적용된다.
한편, 본 발명은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현하는 것을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.
이제까지 본 발명에 대하여 바람직한 실시 예를 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 본 발명을 구현할 수 있음을 이해할 것이다. 그러므로 상기 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 한다.
본 발명에서 인용하는 공개 문헌, 특허 출원, 특허 등을 포함하는 모든 문헌들은 각 인용 문헌이 개별적으로 및 구체적으로 병합하여 나타내는 것 또는 본 발명에서 전체적으로 병합하여 나타낸 것과 동일하게 본 발명에 병합될 수 있다.
100: 거리 측정부
210: 위치 변화 추정부
220: 경로 생성부
230: 보정 ICR 추정부
240: 보정부, 2차 보정부
300: 로봇 제어부
400: 구동부
510: 엔코더
520: 자이로 센서
530: 분석부
540: 1차 보정부

Claims (20)

  1. 로봇이 위치한 공간으로부터 획득한 복수의 연속된 스캔 데이터 쌍들의 매칭을 통해서 위치 변화를 추정하는 단계;
    상기 복수의 위치 변화를 각각 연결하여 상기 로봇의 경로를 생성하는 단계;
    상기 경로상의 각 위치에서 상기 로봇의 회전축으로부터 순간 회전 중심점(instantaneous center of rotation, ICR)을 포함하는 연장선들 주변에서 보정 ICR의 위치를 추정하는 단계; 및
    상기 보정 ICR의 위치를 중심으로 하는 동심원 상에서 상기 로봇이 이동하도록 상기 스캔 데이터를 보정하는 단계;를 포함하는 것을 특징으로 하는 로봇 시스템의 로봇 동작 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. ◈청구항 5은(는) 설정등록료 납부시 포기되었습니다.◈
    제 1항에 있어서, 상기 보정 ICR의 위치를 추정하는 단계는,
    상기 경로상의 각 위치에서 상기 로봇의 ICR을 포함하는 연장선들을 생성하는 단계; 및
    상기 연장선들로부터의 거리가 가장 가까운 지점을 보정 ICR의 위치로 추정하는 단계;를 포함하는 것을 특징으로 하는 로봇 시스템의 로봇 동작 방법.
  6. 제 5항에 있어서, 상기 스캔 데이터를 보정하는 단계는,
    상기 경로상의 각 위치에서 상기 로봇의 ICR들을 상기 보정 ICR로 변경하는 것을 특징으로 하는 로봇 시스템의 로봇 동작 방법.
  7. 삭제
  8. 삭제
  9. 삭제
  10. 제 1항에 있어서, 상기 위치 변화를 추정하는 단계 전에,
    자이로 센서를 사용하여 상기 로봇의 이동 방향을 검출하는 단계;
    인코더를 이용하여 상기 로봇의 이동 거리를 검출하는 단계; 및
    상기 이동 방향 및 이동 거리를 이용하여 상기 로봇의 위치 및 방향을 보정하는 단계;를 더 포함하는 것을 특징으로 하는 로봇 시스템의 로봇 동작 방법.
  11. 제 10항에 있어서,
    상기 보정된 로봇의 위치 및 방향 데이터는, 상기 스캔 데이터 쌍들의 매칭 시 시작점 설정에 이용되는 것을 특징으로 하는 로봇 시스템의 로봇 동작 방법.
  12. 제 10항에 있어서, 상기 위치 변화를 추정하는 단계는,
    상기 보정된 위치 및 방향 데이터와, 상기 연속된 스캔 데이터 쌍으로부터 위치 변화를 추정하는 것을 특징으로 하는 로봇 시스템의 로봇 동작 방법.
  13. 로봇이 위치한 공간으로부터 획득한 복수의 연속된 스캔 데이터 쌍들의 매칭을 통해서 위치 변화를 추정하는 위치 변화 추정부;
    상기 복수의 위치 변화를 각각 연결하여 상기 로봇의 경로를 생성하는 경로 생성부;
    상기 경로상의 각 위치에서 상기 로봇의 회전축으로부터 순간 회전 중심점(instantaneous center of rotation, ICR)을 포함하는 연장선들 주변에서 보정 ICR의 위치를 추정하는 보정 ICR 추정부; 및
    상기 보정 ICR의 위치를 중심으로 하는 동심원 상에서 상기 로봇이 이동하도록 상기 스캔 데이터를 보정하는 보정부;를 포함하는 것을 특징으로 하는 로봇 시스템.
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 로봇이 위치한 공간으로부터 획득한 복수의 연속된 스캔 데이터 쌍들의 매칭을 통해서 위치 변화를 추정하는 단계;
    상기 복수의 위치 변화를 각각 연결하여 상기 로봇의 경로를 생성하는 단계;
    상기 경로상의 각 위치에서 상기 로봇의 회전축으로부터 순간 회전 중심점(instantaneous center of rotation, ICR)을 포함하는 연장선들 주변에서 보정 ICR의 위치를 추정하는 단계; 및
    상기 보정 ICR의 위치를 중심으로 하는 동심원 상에서 상기 로봇이 이동하도록 상기 스캔 데이터를 보정하는 단계;를 포함하는 것을 특징으로 하는 로봇 시스템의 동작 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체.
KR1020120089668A 2012-08-16 2012-08-16 로봇 시스템 및 그의 동작 방법 KR101945734B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120089668A KR101945734B1 (ko) 2012-08-16 2012-08-16 로봇 시스템 및 그의 동작 방법
US13/886,432 US9126338B2 (en) 2012-08-16 2013-05-03 Robot system and method for driving the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120089668A KR101945734B1 (ko) 2012-08-16 2012-08-16 로봇 시스템 및 그의 동작 방법

Publications (2)

Publication Number Publication Date
KR20140023608A KR20140023608A (ko) 2014-02-27
KR101945734B1 true KR101945734B1 (ko) 2019-02-11

Family

ID=50100614

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120089668A KR101945734B1 (ko) 2012-08-16 2012-08-16 로봇 시스템 및 그의 동작 방법

Country Status (2)

Country Link
US (1) US9126338B2 (ko)
KR (1) KR101945734B1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10726472B2 (en) 2014-03-31 2020-07-28 Monticello Enterprises LLC System and method for providing simplified in-store, product-based and rental payment processes
US11080777B2 (en) 2014-03-31 2021-08-03 Monticello Enterprises LLC System and method for providing a social media shopping experience
US10511580B2 (en) 2014-03-31 2019-12-17 Monticello Enterprises LLC System and method for providing a social media shopping experience
US11282131B2 (en) 2014-03-31 2022-03-22 Monticello Enterprises LLC User device enabling access to payment information in response to user input
JP6481347B2 (ja) * 2014-11-28 2019-03-13 村田機械株式会社 移動量推定装置、自律移動体、及び移動量の推定方法
KR102361641B1 (ko) 2014-12-26 2022-02-10 삼성전자주식회사 위치 정보 처리 방법 및 그것을 포함하는 계측 정보 처리 방법
CN106896811B (zh) 2016-12-22 2018-11-09 北京京东尚科信息技术有限公司 可移动装置的控制方法及***
CN107421545B (zh) * 2017-08-11 2020-09-01 广东电网有限责任公司电力科学研究院 一种机器人的位置偏差检测方法、装置及机器人
CN107314773B (zh) * 2017-08-18 2019-10-01 广东宝乐机器人股份有限公司 移动机器人的地图创建方法及基于该地图的路径规划方法
CN108020855B (zh) * 2017-11-29 2020-01-31 安徽省一一通信息科技有限公司 一种滑移转向机器人的位姿和转动瞬心联合估计方法
CN112306061B (zh) * 2020-10-28 2024-06-21 深圳优地科技有限公司 一种机器人控制方法以及机器人

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100668788B1 (ko) 2006-05-22 2007-01-12 (주)프리비아 이동로봇의 위치 인식장치

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4408982C1 (de) * 1994-03-16 1995-05-18 Deutsche Forsch Luft Raumfahrt Autonomes Navigationssystem für einen mobilen Roboter oder Manipulator
JP3949333B2 (ja) * 1999-04-12 2007-07-25 富士通株式会社 画像計測方法、画像計測装置、および画像計測プログラム記憶媒体
JP4225969B2 (ja) * 2002-04-26 2009-02-18 本田技研工業株式会社 脚式移動ロボットの制御装置および足跡決定装置
US7570791B2 (en) 2003-04-25 2009-08-04 Medtronic Navigation, Inc. Method and apparatus for performing 2D to 3D registration
KR20060072269A (ko) 2004-12-23 2006-06-28 현대자동차주식회사 애커만 성향 조절 메카니즘
JP2008020993A (ja) 2006-07-11 2008-01-31 Tookin:Kk 作業用ロボットの教示データ作成装置
US8340818B2 (en) * 2009-04-24 2012-12-25 Robert Bosch Gmbh Method of accurate mapping with mobile robots
KR101202108B1 (ko) 2010-06-03 2012-11-15 고려대학교 산학협력단 이동 로봇의 위치 추정 방법
SG11201400966UA (en) * 2012-01-25 2014-04-28 Adept Technology Inc Positive and negative obstacle avoidance system for a mobile robot

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100668788B1 (ko) 2006-05-22 2007-01-12 (주)프리비아 이동로봇의 위치 인식장치

Also Published As

Publication number Publication date
US9126338B2 (en) 2015-09-08
US20140052296A1 (en) 2014-02-20
KR20140023608A (ko) 2014-02-27

Similar Documents

Publication Publication Date Title
KR101945734B1 (ko) 로봇 시스템 및 그의 동작 방법
JP6233706B2 (ja) 自律移動装置及び自律移動装置の自己位置推定方法
US11279045B2 (en) Robot pose estimation method and apparatus and robot using the same
KR101738750B1 (ko) 실외 환경에서의 강인한 위치 인식 방법 및 장치
US20170151675A1 (en) Apparatus for recognizing position of mobile robot using edge based refinement and method thereof
JP4639253B2 (ja) 自律移動装置およびその制御方法
JP4697127B2 (ja) 自己位置認識方法
CN104811683A (zh) 用于估计位置的方法和设备
US9802619B2 (en) Moving amount estimating apparatus, autonomous mobile body, and moving amount estimating method
US11397220B2 (en) Distortion correction for tracking an object in a magnetic field
CN110345936B (zh) 运动装置的轨迹数据处理方法及其处理***
KR20200028648A (ko) 센서들에 대한 정렬 모델 조정 방법 및 그 방법을 수행하는 전자 장치
CN114236564A (zh) 动态环境下机器人定位的方法、机器人、装置及存储介质
KR20180094329A (ko) 대상체를 추종하는 방법 및 디바이스
KR101738751B1 (ko) 실내 자기장을 이용한 이동 로봇의 위치 인식 방법 및 장치
JP2019199160A (ja) 走行軌跡認識装置、走行軌跡認識方法、車両制御装置、および車両制御方法
Hwang et al. Vision tracking system for mobile robots using two Kalman filters and a slip detector
JP5200980B2 (ja) 追従制御装置及び追従制御方法
JP6589578B2 (ja) 移動量推定装置、自律移動体、及び移動量の推定方法
CN112947487B (zh) 一种自动引导车辆及其曲线路径跟踪方法、控制装置
US10794696B2 (en) Method for identifying noise data of laser ranging device
US10119804B2 (en) Moving amount estimating apparatus, autonomous mobile body, and moving amount estimating method
JP2021149229A (ja) 移動体、及び、位置推定方法
KR102438112B1 (ko) 모바일 로봇을 이용한 공간정보 구축 시스템
JP4449911B2 (ja) 自律移動装置

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