KR101415516B1 - 이동 로봇의 3차원 자세 추정 방법 및 장치와 이를 이용한 이동로봇 - Google Patents

이동 로봇의 3차원 자세 추정 방법 및 장치와 이를 이용한 이동로봇 Download PDF

Info

Publication number
KR101415516B1
KR101415516B1 KR1020130028690A KR20130028690A KR101415516B1 KR 101415516 B1 KR101415516 B1 KR 101415516B1 KR 1020130028690 A KR1020130028690 A KR 1020130028690A KR 20130028690 A KR20130028690 A KR 20130028690A KR 101415516 B1 KR101415516 B1 KR 101415516B1
Authority
KR
South Korea
Prior art keywords
mobile robot
state
axis
sensor
dimensional angle
Prior art date
Application number
KR1020130028690A
Other languages
English (en)
Other versions
KR20140074157A (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 KR20140074157A publication Critical patent/KR20140074157A/ko
Application granted granted Critical
Publication of KR101415516B1 publication Critical patent/KR101415516B1/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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C19/00Gyroscopes; Turn-sensitive devices using vibrating masses; Turn-sensitive devices without moving masses; Measuring angular rate using gyroscopic effects
    • G01C19/02Rotary gyroscopes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C25/00Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass
    • G01C25/005Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass initial alignment, calibration or starting-up of inertial devices
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P15/00Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
    • G01P15/003Kinematic accelerometers, i.e. measuring acceleration in relation to an external reference frame, e.g. Ferratis accelerometers

Abstract

본 발명은 상기한 문제점을 해결하기 위하여 안출된 것으로서, 자이로 센서와 가속도 센서에서 수집된 정보를 이용하여 3차원 각도 정보를 추정하고, 추정된 3차원 각도 정보를 이용하여 이동로봇의 자세와 동작상태를 구분하는 이동로봇 상태 구분 방법 및 장치와 이를 이용한 상태 구분 이동로봇을 제공하는 것을 목적으로 한다. 본 발명의 바람직한 실시예에 따른 이동로봇 상태 구분 방법은, 이동로봇의 상태를 구분하는 방법에 있어서, 상기 이동로봇에 연결된 자이로 센서에서 수집된 정보를 이용하여 상기 이동로봇의 3차원 각도를 추정하고, 상기 이동로봇에 연결된 가속도 센서에서 수집된 정보를 이용하여 상기 추정된 3차원 각도를 필터링하여 상기 이동로봇의 3차원 각도를 획득하는 획득단계; 및 상기 획득된 이동로봇의 3차원 각도를 이용하여 상기 이동로봇의 상태를 구분하는 구분단계를 포함할 수 있다.

Description

이동 로봇의 3차원 자세 추정 방법 및 장치와 이를 이용한 이동로봇{Method and Apparatus for Estimating Three Dimension of Mobile Robot and Mobile Robot Using the Same}
본 발명은 이동로봇에 관한 것이다. 보다 상세하게는, 본 발명은 이동로봇의 제어 향상을 위한 이동로봇 상태 구분 방법 및 장치와 이를 이용한 상태 구분 이동로봇에 관한 것이다.
기술의 발달로 인하여 교육용 로봇, 놀이용 로봇, 청소 로봇 등 다양한 이동로봇이 출시되고 있다. 이동로봇 중에서 청소로봇은 이미 대중화되어 가고 있다. 청소로봇은 사용자의 조작 없이도 청소하고자 하는 구역 내를 스스로 주행하면서 바닥면으로부터 먼지 등의 이물질을 흡입하여 청소를 수행하는 기기이다.
최근 이동로봇은 스스로 경로를 설정하고 이동하는 경우가 많아지고 있다. 이를 위하여 이동로봇이 공간에서 효과적으로 위치를 판단하며 이동하는 기술이 필요하다. 즉 이동로봇이 이동하고 있는 공간에 대한 지도를 생성하고 이동로봇의 위치를 인식하는 기술이 요구된다.
지도를 생성하고 자신의 위치를 인식하는 이러한 기술로 영상 기반의 SLAM 기법이 있다. 영상 기반의 SLAM 기법은 영상에서 추출한 시각 특징점을 이용하여 주변 환경에 대한 지도를 생성하고 이동로봇의 위치를 인식하는 기술이다.
또한, 기존에 존재하는 이동로봇은 자이로스코프와 구동 모터에 구비된 엔코더를 이용하여 추측 항법(Dead Reckoning)으로 주행하며, 상부에 설치된 카메라를 이용하여 영상을 분석하고 지도를 생성한다. 이 때 자이로스코프와 엔코더를 이용한 주행에 오차가 발생하는 경우 카메라로부터 획득된 영상 정보를 활용하여 오차를 보정할 수 있다.
그러나, 기존의 방법들은 이동로봇이 주행 중에 기울어진 상태로 구속되는 경우, 이동로봇이 높은 문턱 등을 통과하는 경우, 단안 카메라를 이용하여 슬램(SLAM)을 하면서 문턱의 에지(Edge)나 카페트의 에지 위를 움직이는 경우 등의 다양한 경우에서 이동로봇의 제어가 원활하지 못한 문제점이 발생한다.
본 발명은 상기한 문제점을 해결하기 위하여 안출된 것으로서, 자이로 센서와 가속도 센서에서 수집된 정보를 이용하여 3차원 각도 정보를 추정하고, 추정된 3차원 각도 정보를 이용하여 이동로봇의 자세와 동작상태를 구분하는 이동로봇 상태 구분 방법 및 장치와 이를 이용한 상태 구분 이동로봇을 제공하는 것을 목적으로 한다.
상기한 문제점을 해결하기 위한 이동로봇 상태 구분 방법은, 이동로봇의 상태를 구분하는 방법에 있어서, 상기 이동로봇에 연결된 자이로 센서에서 수집된 정보를 이용하여 상기 이동로봇의 3차원 각도를 추정하고, 상기 이동로봇에 연결된 가속도 센서에서 수집된 정보를 이용하여 상기 추정된 3차원 각도를 필터링하여 상기 이동로봇의 3차원 각도를 획득하는 획득단계; 및 상기 획득된 이동로봇의 3차원 각도를 이용하여 상기 이동로봇의 상태를 구분하는 구분단계를 포함할 수 있다.
바람직하게는, 상기 자이로 센서는 3축 센서이며, 상기 가속도 센서도 3축 센서일 수 있다.
바람직하게는, 상기 자이로 센서에서 수집된 정보는 롤(Roll), 피치(Pitch) 및 요(Yaw) 정보이고, 상기 가속도 센서에서 수집된 정보는 x축 가속도, y축 가속도 및 z축 가속도 정보일 수 있다.
바람직하게는, 상기 획득단계는 상기 3차원 각도를 추정하고 상기 추정된 3차원 각도를 필터링하는 과정을 적어도 2회 이상 반복 수행하여 상기 이동로봇의 3차원 각도를 획득할 수 있다.
바람직하게는, 상기 구분단계는, 상기 획득된 이동로봇의 3차원 각도가 특정 각도로 기 설정된 시간(T1) 이상 유지되는 경우 상기 이동로봇이 슬로프에 구속되어 있는 구속상태인 것으로 구분할 수 있다.
바람직하게는, 상기 구분단계는, 상기 획득된 이동로봇의 3차원 각도가 기 설정된 각도 이상이거나 상기 획득된 이동로봇의 3차원 각도가 기 설정된 변화량 이상으로 변화하는 경우 상기 이동로봇이 장애물을 넘기 위한 극복상태인 것으로 구분할 수 있다.
바람직하게는, 상기 구분단계는, 상기 이동로봇이 주행하고 있는 중이나 상기 획득된 이동로봇의 3차원 각도가 측방향으로 기울기를 가지는 경우 상기 이동로봇의 위치인식기에 오차가 존재하는 오차상태인 것으로 구분할 수 있다.
바람직하게는, 상기 이동로봇 상태 구분 방법은, 상기 구분단계에서 구분된 상기 이동로봇의 상태에 기반하여 상기 이동로봇을 제어하는 제어단계를 포함할 수 있다.
바람직하게는, 상기 이동로봇 상태 구분 방법은, 상기 구분단계에서 구분된 상기 이동로봇의 상태에 기반하여 상기 이동로봇을 제어하는 제어단계를 포함하고, 상기 제어단계는, 상기 구분단계가 상기 이동로봇의 상태를 상기 구속상태인 것으로 구분한 경우, 상기 슬로프에 구속된 상태를 회피하기 위한 회피 동작을 수행하도록 이동로봇을 제어할 수 있다.
바람직하게는, 상기 이동로봇 상태 구분 방법은, 상기 구분단계에서 구분된 상기 이동로봇의 상태에 기반하여 상기 이동로봇을 제어하는 제어단계를 포함하고, 상기 이동로봇은 낭떠러지의 존재 여부를 판단하는 바닥 센서를 포함하며, 상기 제어단계는, 상기 구분단계가 상기 이동로봇 상태를 극복상태인 것으로 구분한 경우, 기 설정된 시간(T2) 동안 상기 바닥 센서의 정보를 무시하도록 제어할 수 있다.
바람직하게는, 상기 이동로봇 상태 구분 방법은, 상기 구분단계에서 구분된 상기 이동로봇의 상태에 기반하여 상기 이동로봇을 제어하는 제어단계를 포함하고, 상기 제어단계는, 상기 구분단계가 상기 이동로봇 상태를 극복상태인 것으로 구분한 경우, 상기 획득된 3차원 각도 정보를 이용하여 상기 위치인식기의 오차를 보정할 수 있다.
바람직하게는, 상기 이동로봇 상태 구분 방법은, 상기 가속도 센서의 바이어스(Bias)값을 상기 이동로봇의 동작 중에 보정하는 보정단계를 더 포함할 수 있다.
바람직하게는, 상기 보정단계는, 상기 이동로봇이 상기 자이로 센서의 각속도가 기 설정된 각속도(A1) 이하로 움직이는 경우, 상기 이동로봇의 평균 이동값을 x, y 및 z축 마다 산출하고, 상기 산출된 z축의 산출값을 중력가속도로 가정하고, 상기 x축과 y축의 산출값을 상기 바이어스값으로 설정할 수 있다.
바람직하게는, 상기 보정단계는, 상기 이동로봇이 기 설정된 시간(T2) 동안 멈추는 시간이 존재하는 경우, 상기 멈추는 시간 동안 가속도 출력을 입력받고, 상기 이동로봇의 바퀴가 멈추고, 상기 자이로 센서의 각속도의 출력이 기 설정된 각속도 이하인 경우에만 상기 이동로봇의 평균 이동값을 x, y 및 z축 마다 산출하고, 상기 산출된 z축의 산출값을 중력가속도로 가정하고, 상기 x축과 y축의 산출값을 상기 바이어스값으로 설정하되, 상기 이동로봇이 상기 자이로 센서의 각속도가 기 설정된 각속도(A1) 이하로 움직이는 경우보다 상기 이동로봇이 멈추는 시간 동안 산출되어 설정된 바이어스값의 가중치를 높게 설정하여 바이어스값을 보정할 수 있다.
상기한 문제점을 해결하기 위한 이동로봇 상태 구분 장치는, 이동로봇의 상태를 구분하는 장치에 있어서, 상기 이동로봇에 연결된 자이로 센서에서 수집된 정보를 이용하여 상기 이동로봇의 3차원 각도를 추정하고, 상기 이동로봇에 연결된 가속도 센서에서 수집된 정보를 이용하여 상기 추정된 3차원 각도를 필터링하여 상기 이동로봇의 3차원 각도를 획득하는 획득부; 및 상기 획득된 이동로봇의 3차원 각도를 이용하여 상기 이동로봇의 상태를 구분하는 구분부를 포함할 수 있다.
바람직하게는, 상기 자이로 센서는 3축 센서이고, 상기 가속도 센서도 3축 센서일 수 있다.
바람직하게는, 상기 자이로 센서에서 수집된 정보는 롤(Roll), 피치(Pitch) 및 요(Yaw) 정보이고, 상기 가속도 센서에서 수집된 정보는 x축 가속도, y축 가속도 및 z축 가속도 정보일 수 있다.
바람직하게는, 상기 획득부는 상기 3차원 각도를 추정하고 상기 추정된 3차원 각도를 필터링하는 과정을 적어도 2회 이상 반복 수행하여 상기 이동로봇의 3차원 각도를 획득할 수 있다.
바람직하게는, 상기 구분부는, 상기 획득된 이동로봇의 3차원 각도가 특정 각도로 기 설정된 시간(T1) 이상 유지되는 경우 상기 이동로봇이 슬로프에 구속되어 있는 구속상태인 것으로 구분할 수 있다.
바람직하게는, 상기 구분부는, 상기 획득된 이동로봇의 3차원 각도가 기 설정된 각도 이상이거나 상기 획득된 이동로봇의 3차원 각도가 기 설정된 변화량 이상으로 변화하는 경우 상기 이동로봇이 장애물을 넘기 위한 극복상태인 것으로 구분할 수 있다.
바람직하게는, 상기 구분부는, 상기 이동로봇이 주행하고 있는 중이나 상기 획득된 이동로봇의 3차원 각도가 측방향으로 기울기를 가지는 경우 상기 이동로봇의 위치인식기에 오차가 존재하는 오차상태인 것으로 구분할 수 있다.
바람직하게는, 상기 이동로봇 상태 구분 장치는, 상기 구분부에서 구분된 상기 이동로봇의 상태에 기반하여 상기 이동로봇을 제어하는 제어부를 포함할 수 있다.
바람직하게는, 상기 이동로봇 상태 구분 장치는, 상기 구분부에서 구분된 상기 이동로봇의 상태에 기반하여 상기 이동로봇을 제어하는 제어부를 포함하고, 상기 제어부는, 상기 구분부가 상기 이동로봇의 상태를 상기 구속상태인 것으로 구분한 경우, 상기 슬로프에 구속된 상태를 회피하기 위한 회피 동작을 수행하도록 이동로봇을 제어할 수 있다.
바람직하게는, 상기 이동로봇 상태 구분 장치는, 상기 구분부에서 구분된 상기 이동로봇의 상태에 기반하여 상기 이동로봇을 제어하는 제어부를 포함하고, 상기 이동로봇은 낭떠러지의 존재 여부를 판단하는 바닥 센서를 포함하며, 상기 제어부는, 상기 구분부가 상기 이동로봇 상태를 극복상태인 것으로 구분한 경우, 기 설정된 시간(T2) 동안 상기 바닥 센서의 정보를 무시하도록 제어할 수 있다.
바람직하게는, 상기 이동로봇 상태 구분 장치는, 상기 구분부에서 구분된 상기 이동로봇의 상태에 기반하여 상기 이동로봇을 제어하는 제어부를 포함하고, 상기 제어부는, 상기 구분부가 상기 이동로봇 상태를 극복상태인 것으로 구분한 경우, 상기 획득된 3차원 각도 정보를 이용하여 상기 위치인식기의 오차를 보정할 수 있다.
바람직하게는, 상기 이동로봇 상태 구분 장치는, 상기 가속도 센서의 바이어스(Bias)값을 상기 이동로봇의 동작 중에 보정하는 보정부를 더 포함할 수 있다.
바람직하게는, 상기 보정부는, 상기 이동로봇이 상기 자이로 센서의 각속도가 기 설정된 각속도(A1) 이하로 움직이는 경우, 상기 이동로봇의 평균 이동값을 x, y 및 z축 마다 산출하고, 상기 산출된 z축의 산출값을 중력가속도로 가정하고, 상기 x축과 y축의 산출값을 상기 바이어스값으로 설정할 수 있다.
바람직하게는, 상기 보정부는, 상기 이동로봇이 기 설정된 시간(T2) 동안 멈추는 시간이 존재하는 경우, 상기 멈추는 시간 동안 가속도 출력을 입력받고, 상기 이동로봇의 바퀴가 멈추고, 상기 자이로 센서의 각속도의 출력이 기 설정된 각속도 이하인 경우에만 상기 이동로봇의 평균 이동값을 x, y 및 z축 마다 산출하고, 상기 산출된 z축의 산출값을 중력가속도로 가정하고, 상기 x축과 y축의 산출값을 상기 바이어스값으로 설정하되, 상기 이동로봇이 상기 자이로 센서의 각속도가 기 설정된 각속도(A1) 이하로 움직이는 경우보다 상기 이동로봇이 멈추는 시간 동안 산출되어 설정된 바이어스값의 가중치를 높게 설정하여 바이어스값을 보정할 수 있다.
바람직하게는, 상기 이동로봇은 청소를 수행하는 청소로봇일 수 있다.
상기한 문제점을 해결하기 위한 상태 구분 이동로봇은 이동이 가능한 이동로봇에 있어서, 상기 이동로봇의 각속도 정보를 수집하는 자이로 센서; 상기 이동로봇의 가속도 정보를 수집하는 가속도 센서; 및 상기 수집된 각속도 정보 및 가속도 정보를 이용하여 상기 이동로봇의 3차원 각도 정보를 획득하는 획득부와 상기 획득된 3차원 각도 정보를 이용하여 상기 이동로봇의 상태를 구분하는 구분부를 포함하는 이동로봇 상태 구분 장치를 포함할 수 있다.
바람직하게는, 상기 자이로 센서는 3축 센서이고, 상기 자이로 센서가 수집하는 정보는 상기 이동로봇의 롤(Roll), 피치(Pitch) 및 요(Yaw) 정보이고, 상기 가속도 센서도 3축 센서이고, 상기 가속도 센서에서 수집하는 정보는 x축 가속도, y축 가속도 및 z축 가속도 정보일 수 있다.
바람직하게는, 상기 구분부는, 상기 획득된 이동로봇의 3차원 각도가 특정 각도로 기 설정된 시간(T1) 이상 유지되는 경우 상기 이동로봇이 슬로프에 구속되어 있는 구속상태인 것으로 구분하고, 상기 획득된 이동로봇의 3차원 각도가 기 설정된 각도 이상이거나 상기 획득된 이동로봇의 3차원 각도가 기 설정된 변화량 이상으로 변화하는 경우 상기 이동로봇이 장애물을 넘기 위한 극복상태인 것으로 구분하며, 상기 이동로봇이 주행하고 있는 중이나 상기 획득된 이동로봇의 3차원 각도가 측방향으로 기울기를 가지는 경우 상기 이동로봇의 위치인식기에 오차가 존재하는 오차상태인 것으로 구분할 수 있다.
바람직하게는, 상기 이동로봇 상태 구분 장치는, 상기 구분부에서 구분된 상기 이동로봇의 상태에 기반하여 상기 이동로봇을 제어하는 제어부를 포함할 수 있다.
바람직하게는, 상기 이동로봇 상태 구분 장치는, 상기 구분부에서 구분된 상기 이동로봇의 상태에 기반하여 상기 이동로봇을 제어하는 제어부를 포함하고, 상기 이동로봇은 낭떠러지의 존재 여부를 판단하는 바닥 센서를 포함하며, 상기 제어부는, 상기 구분부가 상기 이동로봇의 상태를 상기 구속상태인 것으로 구분한 경우, 상기 슬로프에 구속된 상태를 회피하기 위한 회피 동작을 수행하도록 이동로봇을 제어하고, 상기 구분부가 상기 이동로봇 상태를 극복상태인 것으로 구분한 경우, 기 설정된 시간(T2) 동안 상기 바닥 센서의 정보를 무시하도록 제어하며, 상기 구분부가 상기 이동로봇 상태를 극복상태인 것으로 구분한 경우, 상기 획득된 3차원 각도 정보를 이용하여 상기 위치인식기의 오차를 보정할 수 있다.
바람직하게는, 상기 이동로봇 상태 구분 장치는, 상기 가속도 센서의 바이어스(Bias)값을 상기 이동로봇의 동작 중에 보정하는 보정부를 더 포함할 수 있다.
바람직하게는, 상기 보정부는, 상기 이동로봇이 상기 자이로 센서의 각속도가 기 설정된 각속도(A1) 이하로 움직이는 경우, 상기 이동로봇의 평균 이동값을 x, y 및 z축 마다 산출하고, 상기 산출된 z축의 산출값을 중력가속도로 가정하고, 상기 x축과 y축의 산출값을 상기 바이어스값으로 설정할 수 있다.
바람직하게는, 상기 보정부는, 상기 이동로봇이 기 설정된 시간(T2) 동안 멈추는 시간이 존재하는 경우, 상기 멈추는 시간 동안 가속도 출력을 입력받고, 상기 이동로봇의 바퀴가 멈추고, 상기 자이로 센서의 각속도의 출력이 기 설정된 각속도 이하인 경우에만 상기 이동로봇의 평균 이동값을 x, y 및 z축 마다 산출하고, 상기 산출된 z축의 산출값을 중력가속도로 가정하고, 상기 x축과 y축의 산출값을 상기 바이어스값으로 설정하되, 상기 이동로봇이 상기 자이로 센서의 각속도가 기 설정된 각속도(A1) 이하로 움직이는 경우보다 상기 이동로봇이 멈추는 시간 동안 산출되어 설정된 바이어스값의 가중치를 높게 설정하여 바이어스값을 보정할 수 있다.
본 발명은 이동로봇의 기울어진 정보를 3차원으로 정확하게 추정할 수 있다.
또한, 본 발명은 이동로봇의 주행 상태, 이동로봇의 동작 상태, 이동로봇의 자세 등의 이동로봇의 상태를 구분할 수 있다.
또한, 본 발명은 이동로봇의 상태에 기반하여 제어를 수행할 수 있다.
도 1은 본 발명의 바람직한 실시예에 따른 상태 구분 이동로봇에 관한 블록도이다.
도 2는 본 발명의 바람직한 실시예에 따른 이동로봇 상태 구분 장치에 관한 블록도이다.
도 3은 이동로봇의 자체가 기울어진 경우 발생되는 위치 인식 오차를 설명하기 위한 도면이다.
도 4는 본 발명의 바람직한 실시예에 따른 이동로봇 동작상태 구분 방법에 관한 흐름도이다.
도 5는 본 발명의 다른 실시예에 따른 상태 구분 이동로봇에 관한 블록도이다.
도 6은 청소로봇이 동작하는 중 의도적으로 정지하도록 제어를 설정하는 일 예를 나타내는 도면이다.
도 7은 본 발명의 바람직한 실시예에 따른 상태 구분 이동로봇의 보정부가 바이어스를 보정하는 일 예의 흐름도이다.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 이하의 설명 및 첨부된 도면들에서 실질적으로 동일한 구성요소들은 각각 동일한 부호들로 나타냄으로써 중복 설명을 생략하기로 한다. 또한 본 발명을 설명함에 있어 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략하기로 한다.
어떤 구성요소가 다른 구성요소에 “연결되어”있다거나 “접속되어”있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 “직접 연결되어”있다거나 “직접 접속되어”있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함될 수 있다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
본 발명은 기존의 3축의 자이로 센서와 3축의 가속도 센서에서 수집된 정보를 이용하여 3차원 각도 정보를 획득하고, 획득된 3차원 각도 정보를 이용하여 이동로봇의 자세나 동작 상태를 구분할 수 있다. 또한, 본 발명은 구분된 이동로봇의 자세나 동작 상태를 이용하여 이동로봇을 제어할 수 있다.
구체적으로는, 본 발명이 적용되지 않은 기존의 이동로봇은 이동로봇이 주행 중에 기울어진 상태로 구속되는 경우, 효과적으로 슬립영역을 탈출하지 못하거나, 슬립각과 방향을 정확하게 검출하지 못하거나, 바닥상태를 감지하지 못하거나, 자이로 센서의 오차가 증가하는 다양한 문제점이 존재할 수 있다.
또한, 본 발명이 적용되지 않은 기존의 이동로봇은 바닥까지의 거리를 측정하여 낭떠러지를 판별하는 기술만이 적용되어 낭떠러지인지 문턱을 넘는 과정에서 증가된 거리인지를 판별할 수 없는 문제점이 존재할 수 있다.
또한, 본 발명이 적용되지 않은 기존의 이동로봇은 단안 카메라를 이용하여 슬램(SLAM)을 하면서 문턱의 에지(Edge)나 카페트의 에지 위를 움직이는 경우 이동로봇의 위치 오차가 급격하게 커지거나 주행 중 이동로봇이 좌우로 심하게 흔들리듯이 움직이는 문제점이 존재할 수 있다.
또한, 본 발명이 적용되지 않은 기존의 이동로봇은 이동로봇에 에러(Error)가 발생한 직후 또는 물걸래 재삽입 등의 로봇 메인터넌스 후 청소를 재개하는 경우에 변화된 각도를 정확하게 추정할 수 없는 문제점이 존재할 수 있다.
본 발명은 3차원 각도 정보를 이용하여 이동로봇의 자세나 동작 상태를 구분하고 구분된 자세나 동작 상태에 적절하도록 이동로봇을 제어하여 상기한 문제점들을 해소할 수 있다. 본 발명에서 이동로봇은 자동으로 청소를 수행하는 청소로봇 등의 다양한 역할의 로봇이 존재할 수 있다. 본 발명의 보다 구체적인 설명은 도면을 참조한다.
도 1은 본 발명의 바람직한 실시예에 따른 상태 구분 이동로봇에 관한 블록도이다.
도 1을 참조하면, 본 발명의 바람직한 실시예에 따른 상태 구분 이동로봇(100)은 자이로 센서(110), 가속도 센서(120), 이동로봇 상태 구분 장치(130), 제어부(140)를 포함한다.
자이로 센서(110)는 이동로봇의 각속도 정보를 수집한다.
본 발명의 바람직한 실시예에 따른 상태 구분 이동로봇(100)은 3차원 각도 정보를 이용하여 이동로봇의 자세나 동작 상태를 구분하고, 구분된 자세나 동작 상태를 이용하여 이동로봇을 제어하는바, 자이로 센서(110)는 3축 센서인 것이 바람직하다.
즉, 자이로 센서(110)는 x축, y축, z축의 3축의 각속도 정보를 수집할 수 있다.
3축 자이로 센서(110)에거 감지하는 x축, y축 및 z축의 3축의 각속도를 각각 롤(Roll), 피치(Pitch), 요(Yaw)라고 한다.
구체적으로 이동로봇이 x축을 중심으로 회전하는 것을 롤(Roll), y축을 중심으로 회전하는 것을 피치(Pitch), z축을 중심으로 회전하는 것을 요(Yaw)라고 한다.
본 발명에서 획득하고자 하는 3차원 각도 정보는 롤, 피치, 요를 의미한다.
가속도 센서(120)는 중력가속도 및 이동로봇의 이동에 의한 가속도를 측정한다.
가속도 센서(120)는 자이로 센서(110)와 마찬가지로 3축 센서인 것이 바람직하다.
즉, 가속도 센서(120)는 x축, y축 및 z축의 3축에 관한 가속도 정보를 수집할 수 있다.
이동로봇 상태 구분 장치(130)는 자이로 센서(110)에서 수집된 각속도 정보 및 가속도 센서(120)에서 수집된 가속도 정보를 획득한다.
이동로봇 상태 구분 장치(130)는 자이로 센서(110) 및 가속도 센서(120)와 유선 또는 무선으로 연결되어 센서에서 수집된 정보를 획득할 수 있다.
이동로봇 상태 구분 장치(130)는 자이로 센서(110) 및 가속도 센서(120)에서 수집된 정보를 이용하여 이동로봇의 3차원 각도를 획득한다. 또한, 이동로봇 상태 구분 장치(130)는 획득된 3차원 각도 정보를 이용하여 이동로봇의 자세나 동작 상태를 구분할 수 있다.
이동로봇 상태 구분 장치(130)에서 3차원 각도를 획득하고, 이를 이용하여 자세나 동작 상태를 구분하는 대상이 되는 이동로봇은 본 발명의 바람직한 실시예에 따른 상태 구분 이동로봇(100)을 의미할 수 있다.
본 발명의 바람직한 실시예에 따른 이동로봇 상태 구분 장치(130)를 도 2를 참조하여 구체적으로 설명한다.
도 2는 본 발명의 바람직한 실시예에 따른 이동로봇 상태 구분 장치에 관한 블록도이다.
도 2를 참조하면, 본 발명의 바람직한 실시예에 따른 이동로봇 상태 구분 장치(130)는 획득부(131) 및 구분부(133)를 포함한다.
획득부(131)는 자이로 센서(110)가 수집한 3축의 각속도 정보를 이용하여 이동로봇의 3차원 각도 정보를 추정한다.
구체적으로 획득부(131)는 자이로 센서(110)에서 획득하는 x축 각속도, y축 각속도 및 z축 각속도를 적분하여 이동로봇의 3차원 각도 정보를 추정한다.
그러나, 획득부(131)가 자이로 센서(110)에서 수집된 정보를 이용하여 추정된 3차원 각도 정보는 많은 양의 노이즈(Noise)와 다양항 오차 성분을 가지고 있다. 즉, 자이로 센서(110)의 드리프트로 인하여 추정부가 추정한 3차원 각도 정보는 정확하지 않을 가능성이 높을 수 있다.
따라서, 획득부(131)는 가속도 센서(120)에서 수집된 3축의 가속도 정보를 이용하여 추정된 3차원 각도 정보를 중에서 이동로봇이 가능한 3차원 각도로 필터링한다.
구체적으로, 가속도 센서(120)에서 수집된 가속도 정보는 일반적으로 중력가속도가 이동에 의한 가속도에 비하여 훨씬 크기 때문에 가속도 센서(120)의 출력을 이용하여 구한 가속도 방향은 중력방향이 될 수 있다. 즉, 가속도 센서(120)에서 수집된 정보를 이용하면 각도를 용이하게 추정할 수 있다.
그러나 가속도 센서(120)에서 수집된 정보를 이용하여 각도를 추정하는 것은 이동로봇의 모션에 의한 노이즈가 심하거나 충돌 등의 외력이 있는 경우에는 순간적으로 중력가속도 이상의 충격이 전해지므로 이를 이용하여 각도를 추정하는 것이 불가능할 수 있다.
따라서, 획득부(131)는 자이로 센서(110)에서 수집된 각속도 정보를 이용하여 추정된 이동로봇의 3차원 각도 정보를 가속도 센서(120)에서 수집된 가속도 정보를 이용하여 보정할 수 있다.
구체적으로는 획득부(131)는 자이로 센서(110)에서 수집된 정보를 이용하여 추정된 3차원 각도 정보의 비정확성의 원인이 되는 드리프트 문제를 이동로봇이 정지해 있거나 모션이 일정할 때의 가속도 센서(120)값을 이용하여 보정할 수 있다.
또한, 획득부(131)는 가속도 센서(120)의 정보에 노이즈가 많은 순간 동안에는 자이로 센서(110)의 출력을 적분하여 3차원 각도 정보를 획득할 수 있다.
즉, 획득부(131)는 3축의 자이로 센서(110) 및 3축의 가속도 센서(120)에서 수집된 정보를 적절히 융합하여 x축, y축 및 z축으로의 각도를 획득할 수 있다. 획득부(131)가 자이로 센서(110) 및 가속도 센서(120)에서 수집된 정보를 적절히 융합하는 것은 어떠한 경우에 어떠한 센서의 가중치를 얼마로 설정할 것인가를 미리 설정할 수 있다. 획득부(131)가 적절히 융합하기 위하여 가중치를 설정하여 필터링하는 과정에서 칼만필터(Kalman Filter)를 이용할 수 있다.
또한, 획득부(131)는 자이로 센서(110)에서 수집된 정보를 이용하여 이동로봇의 3차원 각도를 추정하고 가속도 센서(120)에서 수집된 정보를 이용하여 필터링하는 과정이 반복적으로 수행하여 획득하는 3차원 각도 정보의 정확도를 향상시킬 수도 있다.
구분부(133)는 획득부(131)에서 획득한 이동로봇의 3차원 각도 정보를 이용하여 이동로봇의 자세, 이동로봇의 동작 상태, 이동로봇의 주행 상태, 위치인식보정 필요 여부 등 이동로봇의 상태를 구분할 수 있다.
제어부(140)는 구분부(133)에서 구분한 이동로봇의 상태에 기반하여 이동로봇을 제어할 수 있다.
구체적으로는, 구분부(133)는 획득한 이동로봇의 3차원 각도가 특정 각도로 지속적으로 유지되는 경우 이동로봇이 슬로프에 구속되어 있는 상태인 것으로 구분할 수 있다.
이동로봇 중 청소로봇을 예로 들어 설명하면, 청소로봇이 주행하는 과정에서 선풍기나 높은 문턱과 같은 장소에 걸리게 되면 청소로봇의 바퀴가 헛돌게 된다. 바퀴가 헛돌게 되는 경우, 청소로봇은 자신의 위치를 매우 쉽게 잃어버릴 수 있다. 선풍기나 높은 문턱과 같은 장소에 청소로봇이 걸리면 획득부(131)에서 획득한 청소로봇의 3차원 각도가 평소 주행상태 보다 높게 나올 것이다. 구분부(133)는 획득부(131)에서 획득한 청소로봇의 3차원 각도가 기 설정된 각도(θ1) 이상이고 이를 기 설정된 시간(T1) 이상 지속되는 경우라면, 선풍기나 높은 문턱과 같은 장소에 청소로봇이 구속된 것으로 구분할 수 있다. 기 설정된 각도(θ1)는 8도 정도로 설정될 수 있으며, 기 설정된 시간(T1)은 0.5초 정도로 설정될 수 있다. 기 설정된 각도(θ1)나 기 설정된 시간(T1)은 청소로봇의 종류, 청소로봇의 특성, 사용자의 설정, 시스템 환경 등에 따라서 상이하게 설정될 수 있다. 또한, 청소로봇을 예로 들고 있으나, 높은 문턱과 같은 장소에 걸려서 구속될 수 있는 모든 이동로봇에 적용될 수 있다.
제어부(140)는 구분부(133)가 이동로봇이 슬로프에 구속되어 있는 상태인 것으로 구분한 경우, 슬로프의 구속을 회피하기 위한 동작을 수행한다. 제어부(140)가 수행하는 슬로프의 구속을 회피하기 위한 동작은 기 설정될 수 있으며, 기존에 공지된 슬로프 구속을 회피하는 방법을 이용할 수도 있다.
또한, 구분부(133)는 이동로봇의 3차원 각도가 급격하게 변화하거나 기 설정된 각도(θ2) 이상인 경우 이동로봇이 문턱 등의 장애물을 넘기 위한 상태인 것으로 구분할 수 있다.
청소로봇을 예로 들어 설명하면, 청소로봇은 청소로봇과 바닥까지의 거리를 측정하는 바닥 센서를 구비하는 경우가 많으며, 바닥 센서에서 측정된 거리가 기 설정된 거리(L1) 이상인 경우 청소로봇은 진행 방향에 낭떠러지가 존재하는 것으로 인식하여 뒤로 가거나 방향을 전환하는 등의 회피 동작을 수행한다. 기 설정된 거리(L1)는 4cm 정도로 설정될 수 있는데, 청소로봇의 외형, 청소로봇의 특성, 청소로봇의 성능 등에 따라서 상이할 수 있다. 또한, 기 설정된 거리(L1)은 청소로봇이 문턱 등을 넘기 위한 과정에서 청소로봇의 일부가 들어올려지는 경우가 발생하게 되므로 너무 낮게 설정할 수 없는 문제가 존재한다.
구분부(133)는 바닥 센서에서 측정된 거리가 기 설정된 거리(L1) 이상인 경우라도, 획득부(131)에서 획득된 청소로봇의 3차원 기울기가 기 설정된 각도(θ2) 이상인 경우 청소로봇이 문턱 등의 장애물을 넘기 위한 상태로 구분할 수 있다.
즉, 청소로봇의 진행 방향의 전방이 낭떠러지가 아니라 청소로봇이 문턱 등의 장애물을 넘기 위하여 전방이 들어올려짐으로 인하여 바닥 센서에서 측정된 값이 증가된 것으로 보아 구분부(133)는 청소로봇이 문턱 등의 장애물을 넘기 위한 상태로 구분할 수 있다. 기 설정된 각도(θ2)는 청소로봇의 외형, 청소로봇의 특성, 청소로봇의 문턱 극복 능력, 청소 공간의 특성 등에 따라서 상이하게 설정될 수 있으며, 대략 8도 정도로 설정될 수 있다.
마찬가지로 구분부(133)는 이동로봇의 3차원 각도가 급격하게 변화하는 경우에도 청소로봇이 문턱 등의 장애물을 넘기 위한 상태로 구분할 수 있다. 이러한 급격하게 변화하는 정도는 기 설정될 수 있으나, 청소로봇의 외형, 청소로봇의 특성, 청소로봇의 문턱 극복 능력, 청소 공간의 특성 등에 따라서 상이할 수 있다.
제어부(140)는 구분부(133)에서 청소로봇이 문턱 등의 장애물을 넘기 위한 상태로 구분하는 경우, 바닥 센서에서 측정된 값이 낭떠러지로 판단하는 기준을 초과하더라도 잠시 동안 바닥센서의 정보를 무시하여 낭떠러지 회피 동작을 수행하지 않도록 하고 청소로봇이 문턱 등의 장애물을 넘을 수 있도록 제어할 수 있다. 잠시 동안(T2)은 0.5초 정도로 설정할 수 있으나 청소로봇의 외형, 청소로봇의 특성, 청소로봇의 문턱 극복 능력, 청소 공간의 특성 등에 따라서 상이하게 설정할 수 있다.
즉, 구분부(133)는 3차원 각도 정보를 이용하여 낭떠러지의 존재로 인한 바닥 센서의 값인지 문턱 등의 장애물을 넘기 위한 과정에서 이동로봇의 전방이 들어올려짐으로 인하여 발생한 바닥 센서의 값인지를 구분할 수 있고, 현재 이동로봇의 자세나 동작 상태를 구분할 수 있다.
제어부(140)는 구분부(133)에서 구분한 바에 따라서 낭떠러지를 회피하는 동작을 수행하거나, 문턱 등의 장애물을 넘기 위한 제어를 수행할 수 있다. 제어부(140)가 낭떠러지를 회피하는 동작의 구체적인 방법은 기존의 공지된 기술을 이용할 수 있다.
또한, 앞서 설명한 바와 같이 제어부(140)는 구분구가 이동로봇이 문턱 등의 장애물을 넘기 위한 상태로 구분하면, 바닥 센서에서 측정된 값을 잠시 동안(약 0.5초 내지 1초 정도) 무시하여 낭떠러지 회피동작을 수행하지 않고 문턱을 넘도록 할 수 있다.
낭떠러지라 함은 청소로봇 등의 이동로봇이 떨어질 경우, 이동로봇에 손상이 발생할 수 있는 곳을 말하며, 높은 계단 등도 낭떠러지에 해당할 수 있다.
구분부(133)가 전방에 낭떠러지의 존재로 인하여 바닥 센서의 측정값이 높은 것인지 이동로봇이 문턱 등의 장애물을 넘는 과정에서 이동로봇의 자체가 기울어짐으로 인하여 바닥 센서의 측정값이 높은 것인지를 구분하고 구분에 따라서 제어부(140)가 이동로봇을 제어할 수 있음으로 인하여, 이동로봇이 문턱 등의 장애물을 보다 잘 넘을 수 있으며, 넘을 수 있는 문턱 등의 장애물의 높이도 보다 높아질 수 있다.
또한, 구분부(133)는 이동로봇이 주행하고 있는 중이나 측방향으로 기울어짐이 발견되는 경우 이동로봇의 위치인식기에 오차가 있는 것으로 구분할 수도 있다. 위치인식기는 이동로봇의 위치를 인식하며, 구체적으로는 천장을 촬영하고 특징점을 분석하여 이동로봇의 위치를 인식할 수 있다.
구체적으로 이동로봇이 주행하고 있는 중이나 획득부(131)에서 획득한 이동로봇의 3차원 각도가 어느 한 축으로 기울어져 있는 경우 구분부(133)는 이동로봇의 위치 인식에 오차가 존재할 수 있는 것으로 구분할 수 있다.
이동로봇 중 청소로봇을 예로 들어 설명하면, 청소로봇은 청소로봇 상부에 카메라 등의 센서가 존재할 수 있고, 청소로봇의 위치인식기는 이러한 카메라 등의 센서가 천장을 촬영하여 분석한 정보를 이용하여 청소로봇의 위치를 인식할 수 있다.
그러나 청소로봇이 카페트나 문턱의 에지(Edge)에 한 측 바퀴가 올라가 있는 상태로 주행하는 경우, 청소로봇의 자체는 기울어 진다. 이러한 기울기가 발생한다. 이러한 청소로봇에 기울기가 발생하는 경우 청소로봇 상부에 존재하는 카메라 등의 센서가 천장을 촬영하여 분석한 정보를 이용하여 청소로봇의 위치를 인식한 결과에는 오차가 발생한다.
도 3은 이동로봇의 자체가 기울어진 경우 발생되는 위치 인식 오차를 설명하기 위한 도면이다.
도 3을 참조하면, 청소로봇 자체에 기울기가 발생될 때 청소로봇 상부에 있는 카메라는 수직한 방향으로 천장을 촬영하는 것이 아니라 비스듬한 방향으로 천장을 촬영함으로 인하여 큰 오차가 발생할 수 있다. 이러한 오차는 천장의 높이가 높을수록 더 커질 수 있다. 즉, 청소로봇이 기울어지지 않고 수평한 경우 카메라가 인식하는 천장의 위치는 A1이고, A1지점을 이용하여 청소로봇의 위치를 인식할 수 있다. 그러나, 청소로봇이 θ3만큼 기울어진 경우에는 청소로봇에 취부된 카메라도 기울어지므로 A2 지점을 인식할 수 있다. 위치인식기가 A2지점을 이용하여 청소로봇의 위치를 인식하면 오차가 발생할 수 있다. 이를 θ3를 이용하여 보정할 수 있고, θ3는 본 발명의 바람직한 실시예에 따른 이동로봇 동작상태 구분 장치의 획득부(131)가 획득할 수 있다.
따라서, 구분부(133)는 획득부(131)에서 획득한 청소로봇의 3차원 기울기가 어느 한 측으로 기울어진 경우, 또는 기울어진 상태가 소정의 시간 이상인 경우에는 청소로봇의 위치 인식에 문제가 발생할 수 있는 것으로 구분할 수 있다.
구분부(133)가 청소로봇의 위치 인식에 문제가 발생할 수 있는 것으로 구분하면, 제어부(140)는 획득부(131)에서 획득한 청소로봇의 3차원 기울기를 이용하여 청소로봇의 위치인식기가 인식한 위치를 보정할 수 있다. 제어부(140)가 청소로봇의 위치를 보정하는 방법은 삼각함수를 이용하여 보정할 수 있다.
구분부(133)는 앞서 언급한 상황 외에도 3차원 각도 정보를 이용하여 이동로봇의 다양한 상태를 구분할 수 있으며, 제어부(140)는 구분부(133)가 구분한 상태에 적합한 제어를 수행할 수 있다.
예를 들어, 구분부(133)는 3차원 각도가 일정 시간 이상으로 뒤틀어진 경우 회피가 필요한 상태 구분하면, 제어부(140)는 회피 동작을 수행하도록 이동로봇을 제어할 수 있다.
또한, 일반적으로 평면에서 주행하는 이동로봇이라면, x, y, Roll, Pitch, yaw의 5 자유도면 위치 인식이 가능하다. 6 자유도의 위치 인식은 위치인식기의 복잡도가 높아져 임베디드 시스템과 같이 그 계산량의 한계를 가지는 시스템에는 적합하지 않다. 본 발명의 바람직한 실시예에 따른 상태 구분 이동로봇(100)은 5 자유도 중 Roll과 Pitch 정보를 추정된 각도 정보로 대치할 수 있으며 보다 정확한 위치 인식이 가능하다. 또한, 본 발명의 바람직한 실시예에 따른 상태 구분 이동로봇(100)은 이동로봇이 기울어진 상태이더라도 정확한 위치 인식이 가능하다.
요추정부는 자이로 센서(110)의 빗놀이각(Yaw Angle) 출력의 정확도가 감소하는 경우 획득부(131)에서 획득한 3차원 각도 정보를 이용하여 빗놀이각을 추정할 수 있다.
구체적으로, 이동로봇이 에러(Error)가 발생하거나 청소로봇의 물걸래 재 삽입 등의 사용자에 의한 조작이 있거나 이동로봇이 기울어진 상태로 주행하는 경우 자이로 센서(110)의 빗놀이각 출력의 정확도가 감소한다. 요추정부는 빗놀이각 출력의 정확도가 감소하는 경우, 최근에 획득한 3차원 각도 정보를 이용하여 빗놀이각을 추정할 수 있다. 요추정부가 최근에 획득한 3차원 각도 정보를 이용하여 빗놀이각을 추정하면, 이동로봇의 재동작시 위치를 보다 빠르고 정확하게 인지할 수 있는데 도움이 되며, 빗놀이각 정보를 이용하는 다양한 장치의 정확한 정보 생성 및 제어 향상에 도움이 될 수 있다.
도 4는 본 발명의 바람직한 실시예에 따른 이동로봇 동작상태 구분 방법에 관한 흐름도이다.
도 4를 참조하여 본 발명의 바람직한 실시예에 따른 이동로봇 동작상태 구분 방법을 설명하면, 획득부(131)가 이동로봇에 연결된 자이로 센서(110)에서 수집된 정보를 이용하여 이동로봇의 3차원 각도를 추정할 수 있다(S410 단계).
획득부(131)는 이동로봇에 연결된 가속도 센서(120)에서 수집된 정보를 이용하여 추정된 3차원 각도를 필터링하여 이동로봇의 3차원 각도 정보를 획득할 수 있다(S420 단계).
획득부(131)는 S410 단계와 S420 단계를 적어도 2회 이상 반복 수행하여 보다 정확한 이동로봇의 3차원 각도 정보를 획득할 수 있다.
구분부(133)는 획득부(131)에서 획득된 이동로봇의 3차원 각도 정보를 이용하여 이동로봇의 상태를 구분할 수 있다(S430 단계).
구분부(133)가 구분하는 이동로봇의 상태는 이동로봇의 자세, 이동로봇의 위치 인식 보정 필요 상태, 이동로봇의 슬로프 구속 상태, 이동로봇의 동작 상태, 이동로봇의 주행 상태 등이 될 수 있다.
제어부(140)는 구분부(133)에서 구분된 이동로봇의 상태에 기반하여 이동로봇을 제어할 수 있다(S440 단계).
도 5는 본 발명의 다른 실시예에 따른 상태 구분 이동로봇에 관한 블록도이다.
도 5를 참조하면, 본 발명의 다른 실시예에 따른 상태 구분 이동로봇(100)은 도 1을 참조하여 설명한 본 발명의 바람직한 실시예에 따른 상태 구분 이동로봇(100)에서 보정부(150)를 더 포함한 것이다.
보정부(150)는 가속도 센서(120)의 바이어스(Bias) 값을 보정한다.
즉, 본 발명의 바람직한 실시예에 따른 상태 구분 이동로봇(100)에 보정부(150)가 추가됨으로 인하여 다양한 환경에서 본 발명이 이용될 수 있다. 구체적으로, 온도 및 동작시간 등의 다양한 이유로 미리 설정된 가속도 센서(120)의 바이어스 값이 변경되면 보정부(150)가 이동로봇의 동작 중에 바이어스 값을 보정할 수 있고, 이로 인하여 본 발명에 따른 상태 구분 이동로봇(100)은 보다 정확한 상태 구분 및 이동로봇의 제어가 가능할 수 있다.
가속도 센서(120)의 바이어스 값은 미리 설정될 수 있다. 미리 설정된 가속도 센서(120)의 가속도 센서(120)의 바이어스 값은 센서에 내장된 칩의 특성, 온도, 동작 시간 등 다양한 이유로 인하여 오차가 발생한다.
즉, 3축 가속도 센서(120)를 예로 들면, 가속도 센서(120)가 연결된 이동로봇이 정지하고 있는 경우 중력가속도만 존재하므로 가속도 크기는 중력가속도(1G) 값이 되어야 한다. 즉, x축 가속도를 ax, y축 가속도를 a-y, z축 가속도를 az라 하면, 이동로봇이 정지하고 있는 경우, 3축 가속도 센서(120)에서 측정된 가속도 크기 A는
Figure 112013023230064-pat00001
가 되고, A는 중력가속도(1G) 값이9.8m/s2이 되어야 하지만, 가속도 센서(120)의 바이어스 오차로 인하여 중력가속도(1G) 값과 상이한 값이 나올 수 있다.
이러한 가속도 센서(120)의 바이어스 오차를 보정하지 않으면 획득부(131)에서 획득한 3차원 각도 정보에도 오차가 발생할 수 있으며, 청소로봇과 같은 이동로봇의 제어에도 문제가 발생할 수 있다.
이러한 문제를 해결하기 위하여 보정부(150)가 이동로봇이 동작 중에서도 가속도 센서(120)의 바이어스 값을 보정할 수 있다.
구체적으로 보정부(150)는 이동로봇이 움직이고 있을 때와 움직이지 않을 때를 구분하여 바이어스 값 보정을 할 수 있다.
보다 구체적으로, 이동로봇이 움직이고 있을 때 보정부(150)가 바이어스 값을 보정하는 과정을 살펴본다.
이동로봇이 평면 위에서 직진을 하고 있는 경우라면 가속도 센서(120)의 출력값은 표준편차는 존재하지만 평균치가 일정한 값을 출력하게 된다. 보정부(150)는 이 평균치를 자이로 센서(110)의 각 축 출력에 적용한다. 평균치는 이동로봇이 평면 위에서 직진을 하고 있는 동안 가속도 센서(120)의 최근 1초 내지 5초 정도의 출력값들의 평균을 의미할 수 있다. 1초 내지 5초 정도는 가속도 센서(120)의 특징, 가속도 센서(120)의 종류, 사용자의 설정, 이동로봇의 설정환경 등에 따라서 변경될 수 있다.
자이로 센서(110)의 각 축은 3축 자이로 센서(110)의 경우 x, y, z 축이 존재하고 따라서, 보정부(150)는 평균치를 자이로 센서(110)의 x, y, z 축 출력에 적용한다.
보정부(150)는 자이로 센서(110)에서 측정된 최근 각속도가 기 설정된 기준 이상인 경우 평균치를 구하는 과정을 재 수행한다. 보정부(150)가 자이로 센서(110)에서 측정된 최근 각속도가 기 설정된 기준(Vw) 이상인 경우 평균치를 구하는 과정을 재 수행하는 이유는 출력되는 데이터에 이동성분이 많은지 적은지를 판별하기 위함이다.
즉, 로봇이 움직이고 있지 않거나 일가속도 성분만을 가지고 있는 상태라면, 표준편차가 작게 나오게 된다. 표준편차가 대략 0.1deg/sec 정도의 값 이내라면 정지했거나 느리게 움직이고 있다고 판별할 수 있다. 즉 출력되는 데이터의 이동성분이 적은 경우에만 보정부(150)가 평균치를 자이로 센서(110)의 각 축 출력에 적용한다. 이동성분이 적은 경우에만 보정부(150)가 평균치를 자이로 센서(110)의 각 축 출력에 적용하는 것은 바이어스 보정의 신뢰도를 향상시키기 위함이다. 최근 각속도가 기 설정된 기준(Vw)은 0.05g 정도일 수 있으나, 이동로봇의 성능, 이동로봇의 목적, 센서의 성능 등 다양한 이유로 인하여 변경될 수 있다.
보정부(150)는 각 축의 평균치 중 x축의 평균치와 y축의 평균치를 바이어스로 보정할 수 있다. 또한, 보정부(150)는 각 축의 평균치 중 z 축의 평균치를 중력가속도(1G)로 설정할 수 있다. 중력가속도(1G)는 설정마다 상이할 수 있으나 9.8m/s2으로 설정될 수 있다.
즉, 보정부(150)는 자이로 센서(110)의 이동 평균을 이용하여 이동로봇의 정지 여부를 판별하고, 가속도 센서(120)의 이동편균은 바이어스를 보정할 때 사용할 수 있다.
이동로봇이 움직이지 않고 있을 때 보정부(150)가 가속도 센서(120)의 바이어스 값 보정을 위한 정보를 수집하는 과정을 살펴본다.
이동로봇이 움직이지 않고 있을 때에도 이동로봇이 움직이고 있을 때와 유사한 방식으로 보정부(150)는 가속도 센서(120)의 바이어스 값을 보정할 수 있다.
이를 위하여, 이동로봇이 동작하는 중 의도적으로 0.5초 내지 1초 정도 멈추는 제어를 설정할 수 있다. 0.5초 내지 1초 정도는 이동로봇의 종류나 목적, 이동로봇의 성능, 가속도 센서(120)의 성능, 가속도 센서(120)의 특징, 이동로봇의 제어 알고리즘 등에 따라서 상이할 수 있다. 또한, 이동로봇이 동작하는 중에 의도적으로 멈추는 제어를 설정하는 것은, 동작 시간에 따라 주기적 비주기적으로 멈추도록 설정할 수 있으며, 특정 동작 조건일 경우에 멈추도록 설정할 수도 있다. 이동 로봇 중 청소로봇을 예로 들어 도 6을 참조하여 설명한다.
도 6은 청소로봇이 동작하는 중 의도적으로 정지하도록 제어를 설정하는 일 예를 나타내는 도면이다.
도 6을 참조하면, 청소를 위한 청소 로봇의 청소 경로는 일반적으로 아래의 곡선으로된 선(ⓐ)과 같을 수 있다. 이러한 곡선의 청소 경로는 청소로봇이 방향을 변경하는 동그라미로 된 구간(ⓑ)이 발생하고, 이 구간(ⓑ)에서 청소로봇을 소정의 시간 동안 정지하도록 제어하거나 설정될 수 있다.
구체적으로 이동로봇이 소정의 시간 동안 정지한 경우 보정부(150)가 가속도 센서(120)의 바이어스 값을 보정하는 과정을 살펴본다.
보정부(150)는 이동로봇이 정지하고 있는 동안의 가속도 출력값을 획득할 수 있다. 즉, 보정부(150)는 이동로봇의 바퀴가 멈추어 있고, 사용자의 별도의 입력이 없으며 자이로 센서(110)의 각속도 출력이 기 설정된 기준(Vw) 이하인 경우에 한하여 평균치를 산출한다.
이동로봇이 움직이지 않고 있을 때 보정부(150)는 산출된 각 축의 평균치 중 x축의 평균치와 y축의 평균치를 바이어스로 보정할 수 있다. 또한, 보정부(150)는 각 축의 평균치 중 z 축의 평균치를 중력가속도(1G)로 설정할 수 있다.
보정부(150)는 이동로봇이 움직일 때와 움직이지 않을 때 산출된 각 축의 평균치를 모두 이용하여 보정할 수 있다.
이동로봇이 움직이지 않을 때 산출된 평균치가 이동로봇이 움직일 때 산출된 평균치 보다 신뢰도가 높다. 따라서, 보정부(150)는 움직이지 않을 때 산출된 평균치의 가중치를 이동로봇이 움직일 때 산출된 평균치의 가중치보다 높게 설정하여 바이어스를 보정할 수 있다.
도 7은 본 발명의 바람직한 실시예에 따른 상태 구분 이동로봇의 보정부가 바이어스를 보정하는 일 예의 흐름도이다.
도 7을 참조하면, 보정부(150)는 3축 자이로 센서(110)와 3축 가속도 센서(120)로부터 최근 1초간의 센서 측정값의 평균(Avg) 및 표준 편차(Dev)를 획득한다(S710 단계).
보정부(150)는 이동로봇의 바퀴 엔코더와 최근 바퀴 속도 명령 정보를 획득하고, 획득한 바퀴 엔코더, 최근 바퀴 속도 명령, 센서 측정값의 평균(Avg), 센서 측정값의 표준 편차(Dev)를 이용하여 이동로봇의 움직임 여부를 판단한다(S720 단계).
구체적으로 예를 들면, 보정부(150)는 엔코더가 변화하지 않고 표준 편차(Dev)가 0.1degree/sec보다 작은 경우 이동로봇을 정지한 것으로 판단할 수 있다. 또한, 보정부(150)는 바퀴 엔코더의 회전 성분이 5degree/sec 이하이고 가속도가 0이 아닌 경우 이동 로봇이 직진 주행 중인 것으로 판단할 수 있다. 또한, 보정부(150)는 이동로봇이 정지한 것으로 판단할 경우 및 직진 주행 중인 것으로 판단한 경우 이외의 경우는 특정 동작을 구분하지 않고 이동로봇이 동작하고 있는 상태(M)인 것으로 판단할 수 있다. 이동로봇이 동작하고 있는 상태(M)는 이동로봇이 정지 또는 직진 주행이 아닌 회전 등의 다른 동작을 하는 상태를 의미한다. 예로 든 수치 1초, 0.1degree/sec, 5degree/sec는 이동로봇의 종류, 이동로봇의 시스템 환경, 이동로봇의 목적, 이동로봇의 성능 등의 다양한 이유에 따라서 변경될 수 있다.
보정부(150)는 판단된 이동로봇의 정지, 직진 주행, 동작하고 있는 상태(M)에 따라서 가중치(w)를 상이하게 설정하여 바이어스를 보정할 수 있다.
구체적으로 예를 들면, 보정부(150)는 이동로봇이 동작하고 있는 상태(M)인 경우에는 가중치(w)를 0으로 설정할 수 있다(S730 단계). 또한, 보정부(150)는 이동로봇이 정지상태인 경우에는 가중치(w)를 0.5로 설정할 수 있다(S740 단계). 또한, 보정부(150)는 이동로봇이 직진상태인 경우에는 가중치(w)를 0.05로 설정할 수 있다(S750 단계).
보정부(150)는 획득한 자이로 센서(110)와 가속도 센서(120) 측정값의 평균 및 표준 편차, 설정된 가중치를 이용하여 가속도 바이어스 값을 보정한다(S760 단계).
구체적으로, 보정부(150)는 하기 수학식 1을 이용하여 바이어스 값을 보정할 수 있다.
[수학식 1]
Bnew = Bold ⅹ (1-w) + Avg ⅹ w
수학식 1에서 Bnew는 보정된 바이어스값이고, Bold는 보정되기 이전의 바이어스 값이다. w는 가중치이고, Avg는 센서 측정값의 평균(Avg)이다.
또한, 보정부(150)는 z축의 평균치를 중력가속도(1G)로 재 설정할 수 있다(S770 단계).
본 발명에 따른 이동로봇 상태 구분 방법 및 장치와 이를 이용한 상태 구분 이동로봇(100)은 이동로봇의 기울어진 정보를 3차원으로 정확하게 추정할 수 있다.
또한, 본 발명에 따른 이동로봇 상태 구분 방법 및 장치와 이를 이용한 상태 구분 이동로봇(100)은 이동로봇의 주행 상태, 이동로봇의 자세, 이동로봇의 동작 상태를 구분할 수 있다.
또한, 본 발명에 따른 이동로봇 상태 구분 방법 및 장치와 이를 이용한 상태 구분 이동로봇(100)은 이동로봇의 주행 상태, 이동로봇의 자세, 이동로봇의 동작 상태에 기반하여 제어를 수행할 수 있다.
본 발명의 바람직한 실시예에 따른 이동로봇 상태 구분 장치(130)의 블록도는 발명의 원리를 구체화하는 예시적인 개념적 관점을 나타내는 것으로 이해되어야 한다. 이와 유사하게, 모든 흐름도는 컴퓨터가 판독 가능한 매체에 실질적으로 나타낼 수 있고 컴퓨터 또는 프로세서가 명백히 도시되었는지 여부를 불문하고 컴퓨터 또는 프로세서에 의해 수행되는 다양한 프로세스를 나타내는 것으로 이해되어야 한다.
프로세서 또는 이와 유사한 개념으로 표시된 기능 블록을 포함하는 도면에 도시된 다양한 소자의 기능은 전용 하드웨어뿐만 아니라 적절한 소프트웨어와 관련하여 소프트웨어를 실행할 능력을 가진 하드웨어의 사용으로 제공될 수 있다. 프로세서에 의해 제공될 때, 상기 기능은 단일 전용 프로세서, 단일 공유 프로세서 또는 복수의 개별적 프로세서에 의해 제공될 수 있고, 이들 중 일부는 공유될 수 있다.
또한 프로세서, 제어 또는 이와 유사한 개념으로 제시되는 용어의 명확한 사용은 소프트웨어를 실행할 능력을 가진 하드웨어를 배타적으로 인용하여 해석되어서는 아니되고, 제한 없이 디지털 신호 프로세서(DSP) 하드웨어, 소프트웨어를 저장하기 위한 롬(ROM), 램(RAM) 및 비 휘발성 메모리를 암시적으로 포함하는 것으로 이해되어야 한다. 주지관용의 다른 하드웨어도 포함될 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구 범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리 범위에 포함되는 것으로 해석되어야 할 것이다.
100 : 상태 구분 이동로봇 110 : 자이로 센서
120 : 가속도 센서 130 : 이동로봇 상태 구분 장치
131 : 획득부 133 : 구분부
140 : 제어부 150 : 보정부

Claims (26)

  1. 이동로봇의 상태를 구분하는 방법에 있어서,
    상기 이동로봇에 연결된 자이로 센서에서 수집된 정보를 이용하여 상기 이동로봇의 3차원 각도를 추정하고, 상기 이동로봇에 연결된 가속도 센서에서 수집된 정보를 이용하여 상기 추정된 3차원 각도를 필터링하여 상기 이동로봇의 3차원 각도를 획득하는 획득단계; 및
    상기 획득된 이동로봇의 3차원 각도가 특정 각도로 기 설정된 시간(T1) 이상 유지되는 경우 상기 이동로봇이 슬로프에 구속되어 있는 구속상태인 것으로 구분하고, 상기 획득된 이동로봇의 3차원 각도가 기 설정된 각도 이상이거나 상기 획득된 이동로봇의 3차원 각도가 기 설정된 변화량 이상으로 변화하는 경우 상기 이동로봇이 장애물을 넘기 위한 극복상태인 것으로 구분하며, 상기 이동로봇이 주행하고 있는 중이나 상기 획득된 이동로봇의 3차원 각도가 측방향으로 기울기를 가지는 경우 상기 이동로봇의 위치인식기에 오차가 존재하는 오차상태인 것으로 구분하는 구분단계를 포함하는 것을 특징으로 하는 이동로봇 상태 구분 방법.
  2. 제 1 항에 있어서,
    상기 자이로 센서는 3축 센서이며, 상기 가속도 센서도 3축 센서인 것을 특징으로 하는 이동로봇 상태 구분 방법.
  3. 제 2 항에 있어서,
    상기 자이로 센서에서 수집된 정보는 롤(Roll), 피치(Pitch) 및 요(Yaw) 정보이고, 상기 가속도 센서에서 수집된 정보는 x축 가속도, y축 가속도 및 z축 가속도 정보인 것을 특징으로 하는 이동로봇 상태 구분 방법.
  4. 제 1 항에 있어서,
    상기 획득단계는
    상기 3차원 각도를 추정하고 상기 추정된 3차원 각도를 필터링하는 과정을 적어도 2회 이상 반복 수행하여 상기 이동로봇의 3차원 각도를 획득하는 것을 특징으로 하는 이동로봇 상태 구분 방법.
  5. 삭제
  6. 제 1 항에 있어서,
    상기 이동로봇 상태 구분 방법은,
    상기 구분단계에서 구분된 상기 이동로봇의 상태에 기반하여 상기 이동로봇을 제어하는 제어단계를 포함하는 것을 특징으로 하는 이동로봇 상태 구분 방법.
  7. 제 1 항에 있어서,
    상기 이동로봇 상태 구분 방법은,
    상기 구분단계에서 구분된 상기 이동로봇의 상태에 기반하여 상기 이동로봇을 제어하는 제어단계를 포함하고, 상기 이동로봇은 낭떠러지의 존재 여부를 판단하는 바닥 센서를 포함하며,
    상기 제어단계는,
    상기 구분단계가 상기 이동로봇의 상태를 상기 구속상태인 것으로 구분한 경우, 상기 슬로프에 구속된 상태를 회피하기 위한 회피 동작을 수행하도록 이동로봇을 제어하고,
    상기 구분단계가 상기 이동로봇 상태를 극복상태인 것으로 구분한 경우, 기 설정된 시간(T2) 동안 상기 바닥 센서의 정보를 무시하도록 제어하며,
    상기 구분단계가 상기 이동로봇 상태를 극복상태인 것으로 구분한 경우, 상기 획득된 3차원 각도 정보를 이용하여 상기 위치인식기의 오차를 보정하는 것을 특징으로 하는 이동로봇 상태 구분 방법.
  8. 제 1 항에 있어서,
    상기 이동로봇 상태 구분 방법은,
    상기 가속도 센서의 바이어스(Bias)값을 상기 이동로봇의 동작 중에 보정하는 보정단계를 더 포함하는 것을 특징으로 하는 이동로봇 상태 구분 방법.
  9. 제 8 항에 있어서,
    상기 보정단계는,
    상기 이동로봇이 상기 자이로 센서의 각속도가 기 설정된 각속도(A1) 이하로 움직이는 경우, 상기 이동로봇의 평균 이동값을 x, y 및 z축 마다 산출하고, 상기 산출된 z축의 산출값을 중력가속도로 가정하고, 상기 x축과 y축의 산출값을 상기 바이어스값으로 설정하는 것을 특징으로 이동로봇 상태 구분 방법.
  10. 제 9 항에 있어서,
    상기 보정단계는,
    상기 이동로봇이 기 설정된 시간(T2) 동안 멈추는 시간이 존재하는 경우, 상기 멈추는 시간 동안 가속도 출력을 입력받고, 상기 이동로봇의 바퀴가 멈추고, 상기 자이로 센서의 각속도의 출력이 기 설정된 각속도 이하인 경우에만 상기 이동로봇의 평균 이동값을 x, y 및 z축 마다 산출하고, 상기 산출된 z축의 산출값을 중력가속도로 가정하고, 상기 x축과 y축의 산출값을 상기 바이어스값으로 설정하되,
    상기 이동로봇이 상기 자이로 센서의 각속도가 기 설정된 각속도(A1) 이하로 움직이는 경우보다 상기 이동로봇이 멈추는 시간 동안 산출되어 설정된 바이어스값의 가중치를 높게 설정하여 바이어스값을 보정하는 것을 특징으로 하는 이동로봇 상태 구분 방법.
  11. 이동로봇의 상태를 구분하는 장치에 있어서,
    상기 이동로봇에 연결된 자이로 센서에서 수집된 정보를 이용하여 상기 이동로봇의 3차원 각도를 추정하고, 상기 이동로봇에 연결된 가속도 센서에서 수집된 정보를 이용하여 상기 추정된 3차원 각도를 필터링하여 상기 이동로봇의 3차원 각도를 획득하는 획득부; 및
    상기 획득된 이동로봇의 3차원 각도가 특정 각도로 기 설정된 시간(T1) 이상 유지되는 경우 상기 이동로봇이 슬로프에 구속되어 있는 구속상태인 것으로 구분하고, 상기 획득된 이동로봇의 3차원 각도가 기 설정된 각도 이상이거나 상기 획득된 이동로봇의 3차원 각도가 기 설정된 변화량 이상으로 변화하는 경우 상기 이동로봇이 장애물을 넘기 위한 극복상태인 것으로 구분하며, 상기 이동로봇이 주행하고 있는 중이나 상기 획득된 이동로봇의 3차원 각도가 측방향으로 기울기를 가지는 경우 상기 이동로봇의 위치인식기에 오차가 존재하는 오차상태인 것으로 구분하는 구분부를 포함하는 것을 특징으로 하는 이동로봇 상태 구분 장치.
  12. 제 11 항에 있어서,
    상기 자이로 센서는 3축 센서이고, 상기 가속도 센서도 3축 센서인 것을 특징으로 하는 이동로봇 상태 구분 장치.
  13. 제 12 항에 있어서,
    상기 자이로 센서에서 수집된 정보는 롤(Roll), 피치(Pitch) 및 요(Yaw) 정보이고, 상기 가속도 센서에서 수집된 정보는 x축 가속도, y축 가속도 및 z축 가속도 정보인 것을 특징으로 하는 이동로봇 상태 구분 장치.
  14. 제 11 항에 있어서,
    상기 획득부는
    상기 3차원 각도를 추정하고 상기 추정된 3차원 각도를 필터링하는 과정을 적어도 2회 이상 반복 수행하여 상기 이동로봇의 3차원 각도를 획득하는 것을 특징으로 하는 이동로봇 상태 구분 장치.
  15. 삭제
  16. 제 11 항에 있어서,
    상기 이동로봇 상태 구분 장치는,
    상기 구분부에서 구분된 상기 이동로봇의 상태에 기반하여 상기 이동로봇을 제어하는 제어부를 포함하는 것을 특징으로 하는 이동로봇 상태 구분 장치.
  17. 제 11 항에 있어서,
    상기 이동로봇 상태 구분 장치는,
    상기 구분부에서 구분된 상기 이동로봇의 상태에 기반하여 상기 이동로봇을 제어하는 제어부를 포함하고, 상기 이동로봇은 낭떠러지의 존재 여부를 판단하는 바닥 센서를 포함하며,
    상기 제어부는,
    상기 구분부가 상기 이동로봇의 상태를 상기 구속상태인 것으로 구분한 경우, 상기 슬로프에 구속된 상태를 회피하기 위한 회피 동작을 수행하도록 이동로봇을 제어하고,
    상기 구분부가 상기 이동로봇 상태를 극복상태인 것으로 구분한 경우, 기 설정된 시간(T2) 동안 상기 바닥 센서의 정보를 무시하도록 제어하며,
    상기 구분부가 상기 이동로봇 상태를 극복상태인 것으로 구분한 경우, 상기 획득된 3차원 각도 정보를 이용하여 상기 위치인식기의 오차를 보정하는 것을 특징으로 하는 이동로봇 상태 구분 장치.
  18. 제 11 항에 있어서,
    상기 이동로봇 상태 구분 장치는,
    상기 가속도 센서의 바이어스(Bias)값을 상기 이동로봇의 동작 중에 보정하는 보정부를 더 포함하는 것을 특징으로 하는 이동로봇 상태 구분 장치.
  19. 이동이 가능한 이동로봇에 있어서,
    상기 이동로봇의 각속도 정보를 수집하는 자이로 센서;
    상기 이동로봇의 가속도 정보를 수집하는 가속도 센서; 및
    상기 수집된 각속도 정보 및 가속도 정보를 이용하여 상기 이동로봇의 3차원 각도 정보를 획득하는 획득부와
    상기 획득된 이동로봇의 3차원 각도가 특정 각도로 기 설정된 시간(T1) 이상 유지되는 경우 상기 이동로봇이 슬로프에 구속되어 있는 구속상태인 것으로 구분하고, 상기 획득된 이동로봇의 3차원 각도가 기 설정된 각도 이상이거나 상기 획득된 이동로봇의 3차원 각도가 기 설정된 변화량 이상으로 변화하는 경우 상기 이동로봇이 장애물을 넘기 위한 극복상태인 것으로 구분하며, 상기 이동로봇이 주행하고 있는 중이나 상기 획득된 이동로봇의 3차원 각도가 측방향으로 기울기를 가지는 경우 상기 이동로봇의 위치인식기에 오차가 존재하는 오차상태인 것으로 구분하는 이동로봇 상태 구분 장치를 포함하는 것을 특징으로 하는 상태 구분 이동로봇.
  20. 제 19 항에 있어서,
    상기 자이로 센서는 3축 센서이고, 상기 자이로 센서가 수집하는 정보는 상기 이동로봇의 롤(Roll), 피치(Pitch) 및 요(Yaw) 정보이고,
    상기 가속도 센서도 3축 센서이고, 상기 가속도 센서에서 수집하는 정보는 x축 가속도, y축 가속도 및 z축 가속도 정보인 것을 특징으로 하는 상태 구분 이동로봇.
  21. 삭제
  22. 제 19 항에 있어서,
    상기 이동로봇 상태 구분 장치는,
    구분부에서 구분된 상기 이동로봇의 상태에 기반하여 상기 이동로봇을 제어하는 제어부를 포함하는 것을 특징으로 하는 상태 구분 이동로봇.
  23. 제 19 항에 있어서,
    상기 이동로봇 상태 구분 장치는,
    구분부에서 구분된 상기 이동로봇의 상태에 기반하여 상기 이동로봇을 제어하는 제어부를 포함하고, 상기 이동로봇은 낭떠러지의 존재 여부를 판단하는 바닥 센서를 포함하며,
    상기 제어부는,
    상기 구분부가 상기 이동로봇의 상태를 상기 구속상태인 것으로 구분한 경우, 상기 슬로프에 구속된 상태를 회피하기 위한 회피 동작을 수행하도록 이동로봇을 제어하고,
    상기 구분부가 상기 이동로봇 상태를 극복상태인 것으로 구분한 경우, 기 설정된 시간(T2) 동안 상기 바닥 센서의 정보를 무시하도록 제어하며,
    상기 구분부가 상기 이동로봇 상태를 극복상태인 것으로 구분한 경우, 상기 획득된 3차원 각도 정보를 이용하여 상기 위치인식기의 오차를 보정하는 것을 특징으로 하는 상태 구분 이동로봇.
  24. 제 19 항에 있어서,
    상기 이동로봇 상태 구분 장치는,
    상기 가속도 센서의 바이어스(Bias)값을 상기 이동로봇의 동작 중에 보정하는 보정부를 더 포함하는 것을 특징으로 하는 상태 구분 이동로봇.
  25. 제 24 항에 있어서,
    상기 보정부는,
    상기 이동로봇이 상기 자이로 센서의 각속도가 기 설정된 각속도(A1) 이하로 움직이는 경우, 상기 이동로봇의 평균 이동값을 x, y 및 z축 마다 산출하고, 상기 산출된 z축의 산출값을 중력가속도로 가정하고, 상기 x축과 y축의 산출값을 상기 바이어스값으로 설정하는 것을 특징으로 상태 구분 이동로봇.
  26. 제 25 항에 있어서,
    상기 보정부는,
    상기 이동로봇이 기 설정된 시간(T2) 동안 멈추는 시간이 존재하는 경우, 상기 멈추는 시간 동안 가속도 출력을 입력받고, 상기 이동로봇의 바퀴가 멈추고, 상기 자이로 센서의 각속도의 출력이 기 설정된 각속도 이하인 경우에만 상기 이동로봇의 평균 이동값을 x, y 및 z축 마다 산출하고, 상기 산출된 z축의 산출값을 중력가속도로 가정하고, 상기 x축과 y축의 산출값을 상기 바이어스값으로 설정하되,
    상기 이동로봇이 상기 자이로 센서의 각속도가 기 설정된 각속도(A1) 이하로 움직이는 경우보다 상기 이동로봇이 멈추는 시간 동안 산출되어 설정된 바이어스값의 가중치를 높게 설정하여 바이어스값을 보정하는 것을 특징으로 하는 상태 구분 이동로봇.
KR1020130028690A 2012-12-07 2013-03-18 이동 로봇의 3차원 자세 추정 방법 및 장치와 이를 이용한 이동로봇 KR101415516B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20120141798 2012-12-07
KR1020120141798 2012-12-07

Publications (2)

Publication Number Publication Date
KR20140074157A KR20140074157A (ko) 2014-06-17
KR101415516B1 true KR101415516B1 (ko) 2014-08-06

Family

ID=51127451

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130028690A KR101415516B1 (ko) 2012-12-07 2013-03-18 이동 로봇의 3차원 자세 추정 방법 및 장치와 이를 이용한 이동로봇

Country Status (1)

Country Link
KR (1) KR101415516B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101676470B1 (ko) * 2015-06-08 2016-11-15 세종대학교산학협력단 주행 로봇의 진행각 추정 장치 및 그 방법, 그 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체
KR20180045452A (ko) 2016-10-26 2018-05-04 동강엠텍(주) 해저 케이블 매설기의 모니터링 장치

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6801269B2 (ja) * 2016-07-06 2020-12-16 株式会社明電舎 自律移動装置
KR101888171B1 (ko) * 2017-11-16 2018-08-13 엘아이지넥스원 주식회사 무인 수상정의 자세정보 기반 환경인식 장치 및 방법
WO2021133102A1 (ko) * 2019-12-24 2021-07-01 삼성전자주식회사 이동 로봇 장치 및 이의 제어 방법
KR20210130478A (ko) 2020-04-22 2021-11-01 삼성전자주식회사 로봇 청소기 및 그 제어 방법
CN114153197B (zh) * 2020-08-17 2023-08-18 速感科技(北京)有限公司 自主移动设备的脱困方法及装置
CN114234966A (zh) * 2021-12-01 2022-03-25 北京云迹科技股份有限公司 移动机器人的乘梯状态检测方法、装置、存储介质及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0921650A (ja) * 1995-07-06 1997-01-21 Kenwood Corp 移動体の状態検出装置
KR20050031808A (ko) * 2003-09-30 2005-04-06 삼성전자주식회사 이동물체의 3차원 각도 추정 방법 및 시스템
KR20120105616A (ko) * 2011-03-16 2012-09-26 (주)프라이전트 관성센서를 이용한 차량형 무인로봇의 실내위치 추적장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0921650A (ja) * 1995-07-06 1997-01-21 Kenwood Corp 移動体の状態検出装置
KR20050031808A (ko) * 2003-09-30 2005-04-06 삼성전자주식회사 이동물체의 3차원 각도 추정 방법 및 시스템
KR20120105616A (ko) * 2011-03-16 2012-09-26 (주)프라이전트 관성센서를 이용한 차량형 무인로봇의 실내위치 추적장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101676470B1 (ko) * 2015-06-08 2016-11-15 세종대학교산학협력단 주행 로봇의 진행각 추정 장치 및 그 방법, 그 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체
KR20180045452A (ko) 2016-10-26 2018-05-04 동강엠텍(주) 해저 케이블 매설기의 모니터링 장치

Also Published As

Publication number Publication date
KR20140074157A (ko) 2014-06-17

Similar Documents

Publication Publication Date Title
KR101415516B1 (ko) 이동 로봇의 3차원 자세 추정 방법 및 장치와 이를 이용한 이동로봇
US10133278B2 (en) Apparatus of controlling movement of mobile robot mounted with wide angle camera and method thereof
JP6477882B2 (ja) 自己位置推定装置及び自己位置推定方法
JP7025912B2 (ja) 車載環境認識装置
US8873832B2 (en) Slip detection apparatus and method for a mobile robot
KR101776622B1 (ko) 다이렉트 트래킹을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
JP4871160B2 (ja) ロボットおよびその制御方法
CN112327878B (zh) 一种基于tof摄像头的障碍物分类避障控制方法
EP2860664B1 (en) Face detection apparatus
CN107000608B (zh) 移动体
JP5023186B2 (ja) 3dワーピング手法と固有対象物運動(pom)の検出の組み合わせに基づく対象物の動き検出システム
US11921508B2 (en) Systems and methods for ground plane estimation
CN110031002B (zh) 侦测阻碍物的方法、系统以及其传感器子系统
JP5817611B2 (ja) 移動ロボット
EP3782771A1 (en) Robot and control method therefor
CN111857155A (zh) 一种机器人控制方法
CN112363513A (zh) 一种基于深度信息的障碍物分类避障控制方法
KR20220080071A (ko) 다리 스윙 궤적들
CN114531898A (zh) 信息处理装置、信息处理方法和信息处理程序
TW202024666A (zh) 資訊處理裝置以及移動機器人
JP2020135635A (ja) 障害物検知装置、障害物検知システム、及び障害物検知プログラム
JP2021077003A (ja) 走破可否判定装置及び移動体の制御装置
EP3889946A1 (en) External environment recognition device
KR20210110064A (ko) 이동 로봇 및 그 제어방법
KR20180087768A (ko) 로봇의 진입 가능 영역을 식별하는 방법 및 이를 구현하는 로봇

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
FPAY Annual fee payment

Payment date: 20170601

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190603

Year of fee payment: 6