KR102440437B1 - Moving robot and its detecting uneven surface method - Google Patents

Moving robot and its detecting uneven surface method Download PDF

Info

Publication number
KR102440437B1
KR102440437B1 KR1020220036671A KR20220036671A KR102440437B1 KR 102440437 B1 KR102440437 B1 KR 102440437B1 KR 1020220036671 A KR1020220036671 A KR 1020220036671A KR 20220036671 A KR20220036671 A KR 20220036671A KR 102440437 B1 KR102440437 B1 KR 102440437B1
Authority
KR
South Korea
Prior art keywords
mobile robot
time
time interval
speed
acceleration
Prior art date
Application number
KR1020220036671A
Other languages
Korean (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 KR1020220036671A priority Critical patent/KR102440437B1/en
Application granted granted Critical
Publication of KR102440437B1 publication Critical patent/KR102440437B1/en

Links

Images

Classifications

    • 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
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Length Measuring Devices With Unspecified Measuring Means (AREA)

Abstract

Disclosed is a rough surface detection method of a moving robot which can detect a rough surface by checking a speed change of a moving robot. The rough surface detection method of a moving robot comprises: a step in which the moving robot calculates an overall average speed during driving time of the moving robot when the moving robot determines that driving of the moving robot is constant-speed driving; a step in which the moving robot compares section average speeds corresponding to a plurality of time intervals and the overall average speed; a step in which the moving robot checks a first time interval corresponding to a first section average speed among the section average speeds when the difference between the first section average speed and the overall average speed is higher than or equal to an arbitrary speed difference; and a step in which the moving robot checks the position of the moving robot at the checked first time interval, and detects the checked position of the moving robot as a rough surface.

Description

이동 로봇 및 이의 매끄럽지 못한 표면 감지 방법 {Moving robot and its detecting uneven surface method} {Moving robot and its detecting uneven surface method}

본 발명은 이동 로봇 및 이의 매끄럽지 못한 표면 감지 방법에 관한 것으로, 상세하게는 이동 로봇의 속도 변화를 확인하여 매끄럽지 못한 표면을 감지할 수 있는 이동 로봇 및 이의 매끄럽지 못한 표면 감지 방법에 관한 것이다. The present invention relates to a mobile robot and a method for detecting an uneven surface thereof, and more particularly, to a mobile robot capable of detecting an uneven surface by checking a change in speed of the mobile robot, and a method for detecting an uneven surface thereof.

이동 로봇은 평평한 바닥뿐만 아니라 평평하지 않은 바닥을 주행하는 경우도 있다. Mobile robots may travel on uneven as well as flat surfaces.

종래의 이동 로봇은 평평하지 않은 바닥을 주행할 때, 이동 로봇의 진동을 줄이기 위해 댐퍼, 또는 서스펜션과 같은 완충기가 사용된다. 하지만, 댐퍼, 서스펜션과 같은 완충기의 부품은 비싸고 설치가 어렵다. 또한, 시간이 지남에 따라 부품 수명이 단축되어 부품의 교체가 필요하다. When a conventional mobile robot travels on an uneven floor, a damper or a shock absorber such as a suspension is used to reduce vibration of the mobile robot. However, parts of shock absorbers such as dampers and suspensions are expensive and difficult to install. In addition, over time, the life of the parts shortens, requiring replacement of the parts.

한국 등록특허공보 제10-2220865호(2021.02.22.)Korean Patent Publication No. 10-2220865 (2021.02.22.)

본 발명이 이루고자 하는 기술적인 과제는 이동 로봇의 속도 변화를 확인하여 매끄럽지 못한 표면을 감지할 수 있는 이동 로봇 및 이의 매끄럽지 못한 표면 감지 방법을 제공하는 것이다. An object of the present invention is to provide a mobile robot capable of detecting a non-smooth surface by checking the speed change of the mobile robot, and a method for detecting a non-smooth surface thereof.

본 발명의 실시 예에 따른 이동 로봇의 매끄럽지 못한 표면 감지 방법은 이동 로봇은 공간에서 상기 이동 로봇의 주행이 등속 주행인지, 가속 주행인지, 또는 감속 주행인지 판단하는 단계, 상기 이동 로봇은 상기 이동 로봇의 주행이 상기 등속 주행이라고 판단할 때, 상기 이동 로봇은 상기 이동 로봇의 주행 시간 동안 전체 평균 속도를 계산하는 단계, 상기 이동 로봇은 복수의 시간 간격들에 해당하는 구간 평균 속도들 각각과 상기 전체 평균 속도를 비교하는 단계, 상기 구간 평균 속도들 중 제1구간 평균 속도와 상기 전체 평균 속도의 차이가 임의의 속도 차이 이상일 때, 상기 이동 로봇은 상기 제1구간 평균 속도에 대응하는 제1시간 간격을 확인하는 단계, 및 상기 이동 로봇은 상기 확인된 제1시간 간격에서 상기 이동 로봇의 위치를 확인하고, 상기 확인된 이동 로봇의 위치를 매끄럽지 못한 표면으로 감지하는 단계를 포함한다. The method for detecting an uneven surface of a mobile robot according to an embodiment of the present invention includes the steps of, by the mobile robot, determining whether the movement of the mobile robot in space is a constant speed running, an accelerated running, or a decelerated running, the mobile robot is the mobile robot When it is determined that the traveling is the constant speed traveling, the mobile robot calculates an overall average speed during the traveling time of the mobile robot, and the mobile robot calculates the average speed of each section corresponding to a plurality of time intervals and the entire comparing the average speed, when the difference between the first section average speed and the overall average speed among the section average speeds is greater than or equal to a certain speed difference, the mobile robot performs a first time interval corresponding to the first section average speed confirming, and the mobile robot confirming the position of the mobile robot in the identified first time interval, and detecting the identified position of the mobile robot as a non-smooth surface.

상기 이동 로봇의 매끄럽지 못한 표면 감지 방법은 상기 구간 평균 속도들 중 제2구간 평균 속도와 상기 전체 평균 속도의 차이가 상기 임의의 속도 차이 이상일 때, 상기 이동 로봇은 상기 제2구간 평균 속도에 대응하는 제2시간 간격을 확인하는 단계, 상기 이동 로봇은 상기 제1시간 간격의 시작 시점과 상기 제2시간 간격의 종료 시점의 차이를 확인하는 단계, 및 상기 이동 로봇은 상기 제1시간 간격의 시작 시점과 상기 제2시간 간격의 종료 시점의 차이가 임의의 시간 미만일 때, 상기 이동 로봇은 상기 제1시간 간격의 시작 시점과 상기 제2시간 간격의 종료 시점의 차이와, 상기 복수의 시간 간격들 중 임의의 시간 간격에서 구간 평균 속도를 곱하여 상기 매끄럽지 못한 표면의 사이즈를 계산하는 단계를 더 포함할 수 있다. In the method for detecting an uneven surface of the mobile robot, when the difference between the second section average speed and the overall average speed among the section average speeds is equal to or greater than the arbitrary speed difference, the mobile robot detects a speed corresponding to the second section average speed. checking a second time interval, the mobile robot checking a difference between a start time of the first time interval and an end time of the second time interval, and the mobile robot checking a start time of the first time interval When the difference between the start time of the first time interval and the end time of the second time interval is less than a certain time, the mobile robot determines the difference between the start time of the first time interval and the end time of the second time interval, and among the plurality of time intervals The method may further comprise calculating the size of the uneven surface by multiplying the interval average velocity at any time interval.

상기 제1시간 간격과 상기 제2시간 간격은 연속된 시간 간격이다. The first time interval and the second time interval are consecutive time intervals.

상기 복수의 시간 간격들 중 임의의 시간 간격에서 구간 평균 속도는 상기 이동 로봇이 등속으로 주행할 때의 구간 평균 속도이다. In any time interval among the plurality of time intervals, the section average speed is the section average speed when the mobile robot travels at a constant speed.

본 발명의 다른 실시 예에 따른 이동 로봇의 매끄럽지 못한 표면 감지 방법은 이동 로봇은 상기 이동 로봇의 주행이 등속 주행인지, 가속 주행인지, 또는 감속 주행인지 판단하는 단계, 상기 이동 로봇이 상기 이동 로봇의 주행이 상기 가속 주행이라고 판단할 때, 상기 이동 로봇은 상기 이동 로봇의 주행 시간 동안 전체 평균 가속도를 계산하는 단계, 상기 이동 로봇은 복수의 시간 간격들에 해당하는 구간 평균 가속도들 각각과 상기 전체 평균 가속도를 비교하는 단계, 상기 구간 평균 가속도들 중 제1구간 평균 가속도와 상기 전체 평균 가속도의 차이가 임의의 가속도 차이 이상일 때, 상기 이동 로봇은 상기 제1구간 평균 가속도에 대응하는 시간 간격을 확인하는 단계, 및 상기 이동 로봇은 상기 확인된 시간 간격에서 상기 이동 로봇의 위치를 확인하고, 상기 확인된 이동 로봇의 위치를 매끄럽지 못한 표면으로 감지하는 단계를 포함한다. The method for detecting an uneven surface of a mobile robot according to another embodiment of the present invention includes the steps of: determining, by the mobile robot, whether the traveling of the mobile robot is a constant speed traveling, an accelerated traveling, or a decelerating traveling; When it is determined that the driving is the accelerated driving, the mobile robot calculates an overall average acceleration during the driving time of the mobile robot, and the mobile robot calculates the average acceleration for each section corresponding to a plurality of time intervals and the overall average. Comparing the accelerations, when the difference between the first section average acceleration and the overall average acceleration among the section average accelerations is greater than or equal to an arbitrary acceleration difference, the mobile robot checks a time interval corresponding to the first section average acceleration and confirming, by the mobile robot, the position of the mobile robot at the identified time interval, and detecting the identified position of the mobile robot as a non-smooth surface.

본 발명의 실시 예에 따른 이동 로봇은 가속도 센서, 상기 이동 로봇의 동작들을 제어하기 위한 명령들을 실행하는 프로세서, 및 상기 명령들을 저장하는 메모리를 포함한다. A mobile robot according to an embodiment of the present invention includes an acceleration sensor, a processor executing instructions for controlling operations of the mobile robot, and a memory storing the instructions.

상기 명령들은 상기 이동 로봇의 주행이 등속 주행인지, 가속 주행인지, 또는 감속 주행인지 판단하며, 상기 이동 로봇의 주행이 상기 등속 주행이라고 판단할 때, 상기 이동 로봇의 주행 시간 동안 전체 평균 속도를 계산하며, 복수의 시간 간격들에 해당하는 구간 평균 속도들 각각과 상기 전체 평균 속도를 비교하며, 상기 구간 평균 속도들 중 제1구간 평균 속도와 상기 전체 평균 속도의 차이가 임의의 속도 차이 이상일 때, 상기 제1구간 평균 속도에 대응하는 제1시간 간격을 확인한다. The commands determine whether the traveling of the mobile robot is a constant speed traveling, an accelerated traveling, or a decelerated traveling, and when determining that the traveling of the mobile robot is the constant speed traveling, calculate the overall average speed during the traveling time of the mobile robot and compares each of the section average speeds corresponding to a plurality of time intervals and the overall average speed, and when the difference between the first section average speed and the overall average speed among the section average speeds is greater than or equal to an arbitrary speed difference, A first time interval corresponding to the first interval average speed is identified.

상기 확인된 제1시간 간격에서 상기 이동 로봇의 위치를 확인하고, 상기 확인된 이동 로봇의 위치를 매끄럽지 못한 표면으로 감지하도록 구현된다. It is implemented to confirm the position of the mobile robot in the confirmed first time interval, and to detect the identified position of the mobile robot as a non-smooth surface.

본 발명의 다른 실시 예에 따른 이동 로봇은 가속도 센서, 상기 이동 로봇의 동작들을 제어하기 위한 명령들을 실행하는 프로세서, 및 상기 명령들을 저장하는 메모리를 포함한다. A mobile robot according to another embodiment of the present invention includes an acceleration sensor, a processor for executing instructions for controlling operations of the mobile robot, and a memory for storing the instructions.

상기 명령들은 상기 이동 로봇의 주행이 등속 주행인지, 가속 주행인지, 또는 감속 주행인지 판단하며, 상기 이동 로봇의 주행이 상기 가속 주행이라고 판단할 때, 상기 이동 로봇은 상기 이동 로봇의 주행 시간 동안 전체 평균 가속도를 계산하며, 복수의 시간 간격들에 해당하는 구간 평균 가속도들 각각과 상기 전체 평균 가속도를 비교하며, 상기 구간 평균 가속도들 중 제1구간 평균 가속도와 상기 전체 평균 가속도의 차이가 임의의 가속도 차이 이상일 때, 상기 제1구간 평균 가속도에 대응하는 시간 간격을 확인하며, 상기 확인된 시간 간격에서 상기 이동 로봇의 위치를 확인하고, 상기 확인된 이동 로봇의 위치를 매끄럽지 못한 표면으로 감지하도록 구현된다. The commands determine whether the traveling of the mobile robot is a constant speed traveling, an accelerated traveling, or a decelerated traveling, and when it is determined that the traveling of the mobile robot is the accelerated traveling, the mobile robot is The average acceleration is calculated, and the average acceleration of each section corresponding to a plurality of time intervals is compared with the overall average acceleration, and the difference between the first section average acceleration and the overall average acceleration among the section average accelerations is an arbitrary acceleration. When the difference is greater than the difference, the time interval corresponding to the average acceleration of the first section is confirmed, the position of the mobile robot is confirmed in the confirmed time interval, and the identified position of the mobile robot is detected as an uneven surface. .

본 발명의 실시 예에 따른 이동 로봇 및 이의 매끄럽지 못한 표면 감지 방법은 이동 로봇의 속도 변화를 확인함으로써 매끄럽지 못한 표면을 인식할 수 있는 효과가 있다. The mobile robot and its non-smooth surface detection method according to an embodiment of the present invention have the effect of recognizing the non-smooth surface by checking the speed change of the mobile robot.

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 이동 로봇의 블록도를 나타낸다.
도 2는 이동 로봇이 등속 주행일 때, 시간에 따른 속도 그래프들을 나타낸다.
도 3은 이동 로봇이 가속도 주행일 때, 시간에 따른 속도 그래프들을 나타낸다.
도 4는 이동 로봇이 가속도 주행일 때, 시간에 따른 다른 속도 그래프들을 나타낸다.
도 5는 본 발명의 실시 예에 따른 비용 맵의 개념도를 나타낸다.
도 6은 본 발명의 실시 예에 따른 표면 감지 방법의 흐름도를 나타낸다.
A detailed description of each drawing is provided in order to more fully understand the drawings recited in the Detailed Description of the Invention.
1 is a block diagram of a mobile robot according to an embodiment of the present invention.
2 shows graphs of speed according to time when the mobile robot is traveling at a constant speed.
3 shows graphs of speed according to time when the mobile robot is traveling with acceleration.
4 shows graphs of different speeds according to time when the mobile robot is traveling with acceleration.
5 is a conceptual diagram of a cost map according to an embodiment of the present invention.
6 is a flowchart of a surface sensing method according to an embodiment of the present invention.

본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.Specific structural or functional descriptions for the embodiments according to the concept of the present invention disclosed in this specification are only exemplified for the purpose of explaining the embodiments according to the concept of the present invention, and the embodiments according to the concept of the present invention are It may be implemented in various forms and is not limited to the embodiments described herein.

본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.Since the embodiments according to the concept of the present invention may have various changes and may have various forms, the embodiments will be illustrated in the drawings and described in detail herein. However, this is not intended to limit the embodiments according to the concept of the present invention to specific disclosed forms, and includes all modifications, equivalents, or substitutes included in the spirit and scope of the present invention.

제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1구성요소는 제2구성요소로 명명될 수 있고, 유사하게 제2구성요소는 제1구성요소로도 명명될 수 있다.Terms such as first or second may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one element from other elements, for example, without departing from the scope of the present invention, a first element may be called a second element, and similarly The second component may also be referred to as the first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않은 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being “connected” or “connected” to another component, it may be directly connected or connected to the other component, but it is understood that other components may exist in between. it should be On the other hand, when it is mentioned that a certain element is "directly connected" or "directly connected" to another element, it should be understood that no other element is present in the middle. Other expressions describing the relationship between elements, such as "between" and "immediately between" or "neighboring to" and "directly adjacent to", etc., should be interpreted similarly.

본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다." 또는 "가지다." 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used herein are used only to describe specific embodiments, and are not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise. As used herein, "includes." Or "have." The term etc. is intended to designate that there is a described feature, number, step, action, component, part, or combination thereof, but one or more other features or number, step, action, component, part, or combination thereof. It should be understood that it does not preclude the possibility of the existence or addition of one.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present specification. does not

이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.Hereinafter, the present invention will be described in detail by describing preferred embodiments of the present invention with reference to the accompanying drawings.

도 1은 본 발명의 실시 예에 따른 이동 로봇의 블록도를 나타낸다. 1 is a block diagram of a mobile robot according to an embodiment of the present invention.

도 1을 참고하면 이동 로봇(10)은 공간(100)을 자유롭게 주행하여 매끄럽지 못한 표면(101, 103, 또는 105)을 감지한다. 공간(100)이란 집, 공장, 빌딩, 또는 도로 등 다양한 장소를 의미한다. 매끄럽지 못한 표면(101, 103, 또는 105)이란 도로에서 침식된 팟홀(pothole)을 의미할 수 있다. Referring to FIG. 1 , the mobile robot 10 detects an uneven surface 101 , 103 , or 105 while freely traveling in a space 100 . The space 100 refers to various places such as a house, a factory, a building, or a road. A non-smooth surface 101 , 103 , or 105 may mean a pothole eroded in a roadway.

이동 로봇(10)은 프로세서(11), 메모리(13), 가속도 센서(12), 추락 방지 센서(18), 및 휠(19)을 포함한다. 실시 예에 따라 이동 로봇(10)은 물리 범퍼(15), 또는 소나 센서(17)를 더 포함할 수 있다. The mobile robot 10 includes a processor 11 , a memory 13 , an acceleration sensor 12 , a fall arrest sensor 18 , and a wheel 19 . According to an embodiment, the mobile robot 10 may further include a physical bumper 15 or a sonar sensor 17 .

프로세서(11)는 이동 로봇(10)의 동작들 제어하기 위한 명령들을 실행한다. 구체적으로 프로세서(11)는 이동 로봇(10)의 매끄럽지 못한 표면 감지 방법을 실행하기 위한 명령들을 실행한다. 실시 예에 따라 프로세서(11)는 컨트롤러 등 다양한 용어들로 호칭될 수 있다. 프로세서(11)는 가속도 센서(12), 추락 방지 센서(18), 또는 휠(19)의 동작들을 제어한다. 본 명세서에서 이동 로봇(10)의 동작들은 프로세서(11)에 의해 수행되는 것으로 이해될 수 있다. 반대로, 프로세서(11)의 동작들은 이동 로봇(10)의 동작들로 이해될 수 있다. The processor 11 executes instructions for controlling operations of the mobile robot 10 . Specifically, the processor 11 executes instructions for executing the method of detecting an uneven surface of the mobile robot 10 . According to an embodiment, the processor 11 may be referred to by various terms such as a controller. The processor 11 controls the operations of the acceleration sensor 12 , the fall arrest sensor 18 , or the wheel 19 . In this specification, the operations of the mobile robot 10 may be understood as being performed by the processor 11 . Conversely, operations of the processor 11 may be understood as operations of the mobile robot 10 .

메모리(13)는 프로세서(11)에 의해 실행되는 명령들을 저장한다. The memory 13 stores instructions executed by the processor 11 .

가속도 센서(12)는 이동 로봇(10)의 가속도를 측정한다. 가속도 센서(12)는 이동 로봇(10)의 다양한 위치에 구현될 수 있다. The acceleration sensor 12 measures the acceleration of the mobile robot 10 . The acceleration sensor 12 may be implemented in various positions of the mobile robot 10 .

이동 로봇(10)은 공간(100)에서 지면을 자유롭게 주행한다. 추락 방지 센서(17)는 상기 지면의 높이 차를 인식할 수 있다. The mobile robot 10 freely travels on the ground in the space 100 . The fall prevention sensor 17 may recognize a difference in height of the ground.

휠(19)은 이동 로봇(10)이 이동하는데 이용된다. 실시 예에 따라 휠(19)의 개수는 다양할 수 있다. The wheel 19 is used to move the mobile robot 10 . The number of wheels 19 may vary according to embodiments.

이동 로봇(10)은 공간(100)에서 주행 후, 이동 로봇(10)의 주행이 등속 주행인지, 가속 주행인지, 또는 감속 주행인지 판단한다. 등속 주행, 가속 주행, 또는 감속 주행 여부는 가속도 센서(12)에 의해 측정된 가속도에 따라 판단될 수 있다. 예컨대, 가속도 센서(12)에 의해 측정된 가속도가 0이면, 등속 주행이고, 가속도 센서(12)에 의해 측정된 가속도가 양의 값이면, 가속 주행이고, 가속도 센서(12)에 의해 측정된 가속도가 음의 값이면 감속 주행이다. After the mobile robot 10 travels in the space 100 , it is determined whether the mobile robot 10 travels at a constant speed, accelerates, or decelerates. Whether constant speed driving, acceleration driving, or deceleration driving may be determined according to the acceleration measured by the acceleration sensor 12 . For example, if the acceleration measured by the acceleration sensor 12 is 0, it is a constant speed travel, if the acceleration measured by the acceleration sensor 12 is a positive value, it is an acceleration travel, and the acceleration measured by the acceleration sensor 12 If is a negative value, it is decelerated driving.

도 2는 이동 로봇이 등속 주행일 때, 시간에 따른 속도 그래프들을 나타낸다. 도 2의 (a)는 시간에 따른 이동 로봇의 실시간 속도와 구간 평균 속도를 나타내는 속도 그래프이며, 도 2의 (b)는 시간에 따른 이동 로봇의 평균 속도와 구간 평균 속도를 나타낸다. 2 shows graphs of speed according to time when the mobile robot is traveling at a constant speed. Figure 2 (a) is a speed graph showing the real-time speed and section average speed of the mobile robot over time, and Figure 2 (b) shows the average speed and section average speed of the mobile robot over time.

도 1과 도 2의 (a)를 참고하면, 이동 로봇(10)이 공간(100)을 임의의 시간 동안 주행하고 있다고 가정한다. 상기 임의의 시간은 복수의 시간 간격들(T1~T5)로 나뉠 수 있다. 상기 복수의 시간 간격들(T1~T5)은 임의로 설정될 수 있다. 예컨대, 상기 복수의 시간 간격들(T1~T5)은 1초, 또는 2초 등 다양하게 설정될 수 있다. 또한, 상기 복수의 시간 간격들(T1~T5) 각각은 같을 수 있다. Referring to FIGS. 1 and 2 ( a ), it is assumed that the mobile robot 10 is traveling in the space 100 for an arbitrary time. The arbitrary time may be divided into a plurality of time intervals T1 to T5. The plurality of time intervals T1 to T5 may be arbitrarily set. For example, the plurality of time intervals T1 to T5 may be variously set, such as 1 second or 2 seconds. Also, each of the plurality of time intervals T1 to T5 may be the same.

도 2의 (a)에서 도면부호(v1)는 임의의 시간 동안 이동 로봇(10)의 실시간 속도의 그래프를 의미한다. 도 2의 (a)에서 도면부호(v2)는 복수의 시간 간격들(T1~T5) 각각에 대한 구간 평균 속도들의 그래프를 의미한다. In FIG. 2A , reference numeral v1 denotes a graph of the real-time speed of the mobile robot 10 for an arbitrary time. In FIG. 2A , reference numeral v2 denotes a graph of section average speeds for each of the plurality of time intervals T1 to T5.

복수의 시간 간격들(T1~T5) 각각에 대한 구간 평균 속도들 각각은 각 시간 간격(T1~T5) 동안 가속도 센서(12)에 의해 측정된 가속도와 각 시간 간격(T1~T5)의 주기를 곱하여 계산된다. Each of the section average speeds for each of the plurality of time intervals T1 to T5 represents the acceleration measured by the acceleration sensor 12 during each time interval T1 to T5 and the period of each time interval T1 to T5. It is calculated by multiplying

가속도 센서(12)에 의해 측정된 가속도는 각 시간 간격(T1~T5) 동안 가장 큰 값을 갖는 가속도, 또는 각 시간 간격(T1~T5) 동안 임의로 측정된 가속도를 의미할 수 있다. The acceleration measured by the acceleration sensor 12 may mean an acceleration having the greatest value during each time interval T1 to T5 or an acceleration arbitrarily measured during each time interval T1 to T5 .

각 시간 간격(T1~T5)의 주기는 각 시간 간격(T1~T5)의 종료 시점과 각 시간 간격(T1~T5)의 시작 시점의 시간 차이를 의미한다. 예컨대, 제1시간 간격(T1)에서 구간 평균 속도는 제1시간 간격(T1) 동안 가속도 센서(12)에 의해 측정된 가속도와 제1시간 간격(T1)의 주기(t1-t0)를 곱하여 계산된다. 유사하게 제2시간 간격(T2)에서 구간 평균 속도는 제2시간 간격(T2) 동안 가속도 센서(12)에 의해 측정된 가속도와 제2시간 간격(T2)의 주기(t2-t1)를 곱하여 계산된다. The period of each time interval T1 to T5 means a time difference between the end time of each time interval T1 ~ T5 and the start time of each time interval T1 ~ T5. For example, the section average speed in the first time interval T1 is calculated by multiplying the acceleration measured by the acceleration sensor 12 during the first time interval T1 by the period t1-t0 of the first time interval T1. do. Similarly, the interval average speed in the second time interval T2 is calculated by multiplying the acceleration measured by the acceleration sensor 12 during the second time interval T2 by the period t2-t1 of the second time interval T2. do.

이동 로봇(10)이 제1시간 간격(T1)과 제2시간 간격(T2) 동안 매끄럽지 못한 표면을 지나지 않는다고 가정할 때, 이동 로봇(10)의 제1시간 간격(T1)에서 구간 평균 속도와 제2시간 간격(T2)에서 구간 평균 속도는 같을 수 있다.Assuming that the mobile robot 10 does not pass the uneven surface during the first time interval T1 and the second time interval T2, the section average speed and the In the second time interval T2, the interval average speed may be the same.

제3시간 간격(T3)에서 구간 평균 속도는 제3시간 간격(T3) 동안 가속도 센서(12)에 의해 측정된 가속도와 제3시간 간격(T3)의 주기(t3-t2)를 곱하여 계산된다. 제3시간 간격(T3)에서 이동 로봇(10)의 실시간 속도는 다른 시간 간격들(예컨대, T1, T2, T4, 및 T5)의 실시간 속도보다 상대적으로 빠르다. 이는 이동 로봇(10)이 매끄럽지 못한 표면(101, 103, 또는 105)을 지나면서 급격히 속도가 변화였기 때문이다. 제3시간 간격(T3)에서 이동 로봇(10)의 실시간 속도는 다른 시간 간격들(예컨대, T1, T2, T4, 및 T5)의 실시간 속도보다 상대적으로 빠르므로, 제3시간 간격(T3)에서 구간 평균 속도는 다른 시간 간격들(예컨대, T1, T2, T4, 및 T5)의 구간 평균 속도들보다 상대적으로 빠르다. The section average speed in the third time interval T3 is calculated by multiplying the acceleration measured by the acceleration sensor 12 during the third time interval T3 by the period t3-t2 of the third time interval T3. The real-time speed of the mobile robot 10 in the third time interval T3 is relatively faster than the real-time speed of the other time intervals (eg, T1, T2, T4, and T5). This is because the speed of the mobile robot 10 is rapidly changed while passing the non-smooth surface 101 , 103 , or 105 . Since the real-time speed of the mobile robot 10 in the third time interval T3 is relatively faster than the real-time speed of the other time intervals (eg, T1, T2, T4, and T5), in the third time interval T3 The interval average speed is relatively faster than the interval average speeds of other time intervals (eg, T1, T2, T4, and T5).

도 2의 (b)에서 도면부호(v2)는 복수의 시간 간격들(T1~T5) 각각에 대한 구간 평균 속도들의 그래프를 의미한다. 도 2의 (b)에서 도면부호(v3)는 복수의 시간 간격들(T1~T5) 전체에 대한 전체 평균 속도의 그래프를 의미한다. In FIG. 2B , reference numeral v2 denotes a graph of section average speeds for each of the plurality of time intervals T1 to T5. In FIG. 2B , reference numeral v3 denotes a graph of the overall average speed for all of the plurality of time intervals T1 to T5 .

도 2의 (b)에서 복수의 시간 간격들(T1~T5) 각각에 대한 구간 평균 속도들의 그래프(v2)는 도 2의 (a)에서 복수의 시간 간격들(T1~T5) 각각에 대한 구간 평균 속도들의 그래프(v2)와 같다. A graph v2 of section average speeds for each of the plurality of time intervals T1 to T5 in (b) of FIG. 2 is a section for each of the plurality of time intervals T1 to T5 in (a) of FIG. Same as graph (v2) of average velocities.

복수의 시간 간격들(T1~T5) 전체에 대한 전체 평균 속도는 복수의 시간 간격들(T1~T5) 각각에 대한 구간 평균 속도들을 합산하고 합산된 값을 복수의 시간 간격들(T1~T5)의 갯수로 나눔으로써 계산된다. 이를 수식으로 표현하면 아래의 수학식과 같다. The overall average speed for all of the plurality of time intervals T1 to T5 is obtained by summing the average speeds for each of the plurality of time intervals T1 to T5 and using the summed value for the plurality of time intervals T1 to T5. It is calculated by dividing by the number of If this is expressed as an equation, it is as the following equation.

[수학식 1] [Equation 1]

V_avg=(V_[T1]+V_[T2]+V_[T3]+V_[T4]+V_[T5])/5V_avg=(V_[T1]+V_[T2]+V_[T3]+V_[T4]+V_[T5])/5

여기서, V_avg는 복수의 시간 간격들(T1~T5) 전체에 대한 전체 평균 속도를, V_[T1], V_[T2], V_[T3], V_[T4], 및 V_[T5]는 복수의 시간 간격들(T1~T5) 각각에 대한 구간 평균 속도들을, 5는 복수의 시간 간격들(T1~T5)의 갯수를 의미한다. 상기 수학식 1은 복수의 시간 간격들(T1~T5)의 갯수에 따라 달라질 수 있다. Here, V_avg is the overall average velocity for all of the plurality of time intervals T1 to T5, and V_[T1], V_[T2], V_[T3], V_[T4], and V_[T5] are the plurality of Section average speeds for each of the time intervals T1 to T5, 5 means the number of the plurality of time intervals T1 to T5. Equation 1 may vary according to the number of the plurality of time intervals T1 to T5.

이동 로봇(10)은 복수의 시간 간격들(T1~T5)에 해당하는 구간 평균 속도들(V_[T1], V_[T2], V_[T3], V_[T4], 및 V_[T5]) 각각과 상기 전체 평균 속도(V_avg)를 비교한다. The mobile robot 10 has section average speeds (V_[T1], V_[T2], V_[T3], V_[T4], and V_[T5]) corresponding to the plurality of time intervals T1 to T5. Compare each with the overall average velocity (V_avg).

상기 구간 평균 속도들(V_[T1], V_[T2], V_[T3], V_[T4], 및 V_[T5]) 중 제1구간 평균 속도(예컨대, V_[T3])와 상기 전체 평균 속도(V_avg)의 차이가 임의의 속도 차이 이상일 때, 이동 로봇(10)은 상기 제1구간 평균 속도(예컨대, V_[T3])에 대응하는 제1시간 간격(예컨대, T3)을 확인한다. A first interval average speed (eg, V_[T3]) of the interval average speeds V_[T1], V_[T2], V_[T3], V_[T4], and V_[T5] and the overall average When the difference in speed V_avg is greater than or equal to a certain speed difference, the mobile robot 10 identifies a first time interval (eg, T3) corresponding to the first interval average speed (eg, V_[T3]).

이동 로봇(10)은 상기 확인된 제1시간 간격(예컨대, T3)에서 이동 로봇(10)의 위치를 확인하고, 상기 확인된 이동 로봇(10)의 위치를 매끄럽지 못한 표면(예컨대, 101, 103, 또는 105)으로 감지한다. The mobile robot 10 checks the position of the mobile robot 10 in the identified first time interval (eg, T3), and sets the position of the mobile robot 10 on a non-smooth surface (eg, 101, 103). , or 105).

실시 예에 따라 상기 구간 평균 속도들(V_[T1], V_[T2], V_[T3], V_[T4], 및 V_[T5]) 중 제2구간 평균 속도(예컨대, V_[T4])와 상기 전체 평균 속도(V_avg)의 차이가 상기 임의의 속도 차이 이상일 때, 이동 로봇(10)은 상기 제2구간 평균 속도(예컨대, V_[T4])에 대응하는 제2시간 간격(예컨대, T4)을 확인할 수 있다. 이때, 제1시간 간격(예컨대, T3)과 제2시간 간격(예컨대, T4)은 연속된 시간 간격이다. 즉, 제1시간 간격(예컨대, T3)에서 이동 로봇(10)은 매끄럽지 못한 표면(예컨대, 101, 103, 또는 105)을 감지한 것을 전제로 한다. 제1시간 간격(예컨대, T3)에서 매끄럽지 못한 표면(예컨대, 101, 103, 또는 105)을 감지하고, 이동 로봇(10)은 제2시간 간격(예컨대, T4)에서 제2구간 평균 속도(예컨대, V_[T4])와 상기 전체 평균 속도(V_avg)의 차이가 상기 임의의 속도 차이 이상인 제2시간 간격(예컨대, T4)을 확인한다.According to an embodiment, the second section average speed (eg, V_[T4]) among the section average speeds V_[T1], V_[T2], V_[T3], V_[T4], and V_[T5]) When the difference between and the overall average speed V_avg is equal to or greater than the arbitrary speed difference, the mobile robot 10 performs a second time interval (eg, T4) corresponding to the second interval average velocity (eg, V_[T4]). )can confirm. In this case, the first time interval (eg, T3) and the second time interval (eg, T4) are consecutive time intervals. That is, it is assumed that the mobile robot 10 detects an uneven surface (eg, 101, 103, or 105) in the first time interval (eg, T3). Detecting an uneven surface (eg, 101, 103, or 105) in a first time interval (eg, T3), the mobile robot 10 performs a second interval average speed (eg, T4) in a second time interval (eg, T4) , V_[T4]) and a second time interval (eg, T4) in which the difference between the overall average speed V_avg is equal to or greater than the arbitrary speed difference is identified.

이동 로봇(10)은 상기 제1시간 간격(예컨대, T3)의 시작 시점(예컨대, t2)과 상기 제2시간 간격(예컨대, T4)의 종료 시점(예컨대, t4)의 차이를 확인할 수 있다. The mobile robot 10 may identify a difference between a start time (eg, t2) of the first time interval (eg, T3) and an end time (eg, t4) of the second time interval (eg, T4).

이동 로봇(10)은 상기 제1시간 간격(예컨대, T3)의 시작 시점(예컨대, t2)과 상기 제2시간 간격(예컨대, T4)의 종료 시점(예컨대, t4)의 차이가 임의의 시간 미만일 때, 이동 로봇(10)은 상기 제1시간 간격(예컨대, T3)의 시작 시점(예컨대, t2)과 상기 제2시간 간격(예컨대, T4)의 종료 시점(예컨대, t4)의 차이(t4-t2)와, 상기 복수의 시간 간격들(T1~T5) 중 임의의 시간 간격(예컨대, T2)에서 구간 평균 속도(V_[T2])를 곱하여 상기 매끄럽지 못한 표면(예컨대, 101, 103, 또는 105)의 사이즈를 계산할 수 있다. 이동 로봇(10)은 상기 제1시간 간격(예컨대, T3)의 시작 시점(예컨대, t2)과 상기 제2시간 간격(예컨대, T4)의 종료 시점(예컨대, t4)의 차이가 임의의 시간 미만일 때, 제1시간 간격(예컨대, T3)에서 감지한 매끄럽지 못한 표면(예컨대, 101, 103, 또는 105)과 제2시간 간격(예컨대, T4)에서 감지한 매끄럽지 못한 표면(예컨대, 101, 103, 또는 105)은 하나의 매끄럽지 못한 표면(예컨대, 101, 103, 또는 105)으로 인식될 수 있기 때문이다. The mobile robot 10 determines that the difference between the start time (eg, t2) of the first time interval (eg, T3) and the end time (eg, t4) of the second time interval (eg, T4) is less than an arbitrary time When the mobile robot 10 starts the first time interval (eg, T3) (eg, t2) and the second time interval (eg, T4) ends (eg, t4) difference (t4) t2) multiplied by the interval average velocity V_[T2] at any of the plurality of time intervals T1 to T5 (eg T2) to multiply the uneven surface (eg 101, 103, or 105) ) can be calculated. The mobile robot 10 determines that the difference between the start time (eg, t2) of the first time interval (eg, T3) and the end time (eg, t4) of the second time interval (eg, T4) is less than an arbitrary time When the first time interval (eg, T3) detects a non-smooth surface (eg, 101, 103, or 105) and the second time interval (eg, T4) detects a non-smooth surface (eg, 101, 103, or 105) may be perceived as a single non-smooth surface (eg, 101, 103, or 105).

상기 매끄럽지 못한 표면(예컨대, 101, 103, 또는 105)의 사이즈를 계산하기 위해 이동 로봇(10)이 등속으로 주행할 때의 구간 평균 속도(V_[T2])가 이용된다. 매끄럽지 못한 표면(예컨대, 101, 103, 또는 105)에서 이동 로봇(10)이 등속으로 주행하지 않을 때, 즉, 매끄럽지 못한 표면(예컨대, 101, 103, 또는 105)을 이동할 때, 이동 로봇(10)의 속도는 등속으로 주행할 때보다 빨라서 실제 매끄럽지 못한 표면(예컨대, 101, 103, 또는 105)의 사이즈보다 더 크게 계산될 수 있기 때문이다. In order to calculate the size of the uneven surface (eg, 101, 103, or 105), a section average speed V_[T2] when the mobile robot 10 travels at a constant speed is used. When the mobile robot 10 does not travel at a constant speed on a non-smooth surface (eg, 101, 103, or 105), that is, when moving on an uneven surface (eg, 101, 103, or 105), the mobile robot 10 ) is faster than when traveling at a constant speed, so it can be calculated to be larger than the size of an actual non-smooth surface (eg, 101, 103, or 105).

이동 로봇(10)은 상기 제1시간 간격(예컨대, T3)의 시작 시점(예컨대, t2)과 상기 제2시간 간격(예컨대, T4)의 종료 시점(예컨대, t4)의 차이가 임의의 시간 이상일 때, 이동 로봇(10)은 상기 제1시간 간격(예컨대, T3)에서 감지한 매끄럽지 못한 표면(예컨대, 101, 103, 또는 105)과 상기 제2시간 간격(예컨대, T4)에서 감지한 매끄럽지 못한 표면(예컨대, 101, 103, 또는 105)은 서로 다른 매끄럽지 못한 표면이라고 인식한다. 따라서 이동 로봇(10)은 제1시간 간격(예컨대, T3)의 시작 시점(예컨대, t2)과 제1시간 간격(예컨대, T3)의 종료 시점(예컨대, t3)의 차이(t3-t2)와, 상기 복수의 시간 간격들(T1~T5) 중 임의의 시간 간격(예컨대, T2)에서 구간 평균 속도(V_[T2])를 곱하여 상기 매끄럽지 못한 표면(예컨대, 101, 103, 또는 105)의 사이즈를 계산할 수 있다. 또한, 이동 로봇(10)은 제2시간 간격(예컨대, T4)의 시작 시점(예컨대, t3)과 제2시간 간격(예컨대, T4)의 종료 시점(예컨대, t4)의 차이(t4-t3)와, 상기 복수의 시간 간격들(T1~T5) 중 임의의 시간 간격(예컨대, T2)에서 구간 평균 속도(V_[T2])를 곱하여 상기 매끄럽지 못한 표면(예컨대, 101, 103, 또는 105)의 사이즈를 계산할 수 있다.In the mobile robot 10, the difference between the start time (eg, t2) of the first time interval (eg, T3) and the end time (eg, t4) of the second time interval (eg, T4) is more than an arbitrary time When the mobile robot 10 detects a non-smooth surface (eg, 101, 103, or 105) in the first time interval (eg, T3) and the non-smooth surface detected in the second time interval (eg, T4) Surfaces (eg, 101 , 103 , or 105 ) are recognized as different non-smooth surfaces. Accordingly, the mobile robot 10 determines the difference (t3-t2) between the start time (eg, t2) of the first time interval (eg, T3) and the end time (eg, t3) of the first time interval (eg, T3) and , the size of the uneven surface (eg, 101, 103, or 105) multiplied by the interval average velocity (V_[T2]) at any time interval (eg, T2) among the plurality of time intervals (T1 to T5) can be calculated. In addition, the mobile robot 10 has a difference (t4-t3) between the start time (eg, t3) of the second time interval (eg, T4) and the end time (eg, t4) of the second time interval (eg, T4) and multiplied by the interval average velocity V_[T2] at any time interval (eg, T2) among the plurality of time intervals T1 to T5 of the uneven surface (eg, 101, 103, or 105). size can be calculated.

실시 예에 따라 이동 로봇(10)은 각속도 센서(미도시)를 더 포함할 수 있다. According to an embodiment, the mobile robot 10 may further include an angular velocity sensor (not shown).

이동 로봇(10)은 이동 로봇(10)의 주행 중 이동 로봇(10)에 포함된 각속도 센서의 X축 방향과 Y축 방향의 변화를 감지한다. The mobile robot 10 detects changes in the X-axis direction and the Y-axis direction of the angular velocity sensor included in the mobile robot 10 while the mobile robot 10 is traveling.

이동 로봇(10)은 각속도 센서의 X축 방향의 변화량이 임의의 변화량 이상이고, 각속도 센서의 Y축 방향의 변화량이 상기 임의의 변화량 이상일 때, 이동 로봇(10)은 매끄럽지 못한 표면(예컨대, 101, 103, 또는 105)에서 균형을 잃었음을 의미한다. 따라서 이동 로봇(10)은 각속도 센서의 X축 방향의 변화량이 임의의 변화량 이상이고, 각속도 센서의 Y축 방향의 변화량이 상기 임의의 변화량 이상일 때, 이동 로봇(10)의 매끄럽지 못한 표면 감지 방법이 수행된다. 이는 단순히 이동 로봇(10)의 회전에 따른 관성의 변화와는 구분하기 위함이다. 이동 로봇(10)은 각속도 센서의 X축 방향의 변화량이 임의의 변화량 이상이고, 각속도 센서의 Y축 방향의 변화량이 상기 임의의 변화량 미만일 때, 이는 단순히 이동 로봇(10)의 회전에 따른 관성의 변화로 고려된다. 또한, 이동 로봇(10)은 각속도 센서의 X축 방향의 변화량이 임의의 변화량 미만이고, 각속도 센서의 Y축 방향의 변화량이 상기 임의의 변화량 이상일 때, 이는 단순히 이동 로봇(10)의 회전에 따른 관성의 변화로 고려된다.When the amount of change in the X-axis direction of the angular velocity sensor is greater than or equal to a certain amount of change, and the amount of change in the Y-axis direction of the angular velocity sensor is greater than or equal to the predetermined amount of change, the mobile robot 10 has a non-smooth surface (eg, 101). , 103, or 105). Therefore, in the mobile robot 10, when the amount of change in the X-axis direction of the angular velocity sensor is greater than or equal to a certain amount of change, and the amount of change in the Y-axis direction of the angular velocity sensor is greater than or equal to the above-mentioned arbitrary amount of change, the method of detecting an uneven surface of the mobile robot 10 is is carried out This is simply to distinguish it from the change in inertia caused by the rotation of the mobile robot 10 . In the case of the mobile robot 10, when the amount of change in the X-axis direction of the angular velocity sensor is greater than or equal to a certain amount of change, and the amount of change in the Y-axis direction of the angular velocity sensor is less than the arbitrary amount of change, it is simply the inertia caused by the rotation of the mobile robot 10. considered a change. In addition, in the mobile robot 10, when the amount of change in the X-axis direction of the angular velocity sensor is less than the arbitrary change amount, and the change amount in the Y-axis direction of the angular velocity sensor is greater than the arbitrary change amount, it is simply according to the rotation of the mobile robot 10 It is considered as a change in inertia.

즉, 이동 로봇(10)은 각속도 센서의 X축 방향의 변화량이 임의의 변화량 이상이고, 각속도 센서의 Y축 방향의 변화량이 상기 임의의 변화량 이상일 때, 이동 로봇(10)은 공간(100)에서 이동 로봇(10)의 주행이 등속 주행인지, 가속 주행인지, 또는 감속 주행인지 판단하고, 주행의 종류에 따라 매끄럽지 못한 표면(예컨대, 101, 103, 또는 105)을 감지한다. That is, in the mobile robot 10, when the amount of change in the X-axis direction of the angular velocity sensor is greater than or equal to an arbitrary amount of change, and the amount of change in the Y-axis direction of the angular velocity sensor is greater than or equal to the arbitrary change amount, the mobile robot 10 operates in the space 100. It is determined whether the traveling of the mobile robot 10 is constant speed traveling, acceleration traveling, or deceleration traveling, and an uneven surface (eg, 101 , 103 , or 105 ) is sensed according to the type of traveling.

도 3은 이동 로봇이 가속도 주행일 때, 시간에 따른 속도 그래프들을 나타낸다. 도 3의 (a)는 이동 로봇이 감속도 주행일 때, 시간에 따른 이동 로봇의 속도를 나태는 속도 그래프이며, 도 3의 (b)는 시간에 따른 이동 로봇의 평균 가속도와 구간 평균 가속도를 나타낸다. 3 shows graphs of speed according to time when the mobile robot is traveling with acceleration. Fig. 3 (a) is a speed graph showing the speed of the mobile robot over time when the mobile robot is traveling at a deceleration, and Fig. 3 (b) is the average acceleration and section average acceleration of the mobile robot over time. indicates.

도 1과 도 3의 (a)를 참고하면, 시간에 따라 이동 로봇(10)은 감속 주행한다. 도 3의 (a)에서 도면부호(v4)는 임의의 시간 동안 이동 로봇(10)의 속도의 그래프를 의미한다. Referring to FIGS. 1 and 3 (a) , the mobile robot 10 decelerates according to time. Reference numeral v4 in FIG. 3A denotes a graph of the speed of the mobile robot 10 for an arbitrary time.

도 3의 (b)에서 도면부호(v5)는 복수의 시간 간격들(T1~T5) 각각에 대한 구간 평균 가속도들의 그래프를 의미한다. 도 3의 (b)에서 도면부호(v6)는 복수의 시간 간격들(T1~T5) 전체에 대한 전체 평균 가속도의 그래프를 의미한다. Reference numeral v5 in FIG. 3B denotes a graph of section average accelerations for each of the plurality of time intervals T1 to T5. In FIG. 3B , reference numeral v6 denotes a graph of the overall average acceleration for all of the plurality of time intervals T1 to T5 .

복수의 시간 간격들(T1~T5) 각각에 대한 구간 평균 가속도들 각각은 각 시간 간격(T1~T5) 동안 가속도 센서(12)에 의해 측정된 가속도이다. 예컨대, 제1시간 간격(T1)에서 구간 평균 가속도는 제1시간 간격(T1) 동안 가속도 센서(12)에 의해 측정된 가속도이다. 유사하게 제2시간 간격(T2)에서 구간 평균 가속도는 제2시간 간격(T2) 동안 가속도 센서(12)에 의해 측정된 가속도이다. 이동 로봇(10)은 감속 주행하므로, 가속도 센서(12)에 의해 측정된 가속도는 음수이어야 하나, 가속도 센서(12)의 오차 때문에 양수일 수 있다. Each of the section average accelerations for each of the plurality of time intervals T1 to T5 is an acceleration measured by the acceleration sensor 12 during each time interval T1 to T5. For example, the section average acceleration in the first time interval T1 is the acceleration measured by the acceleration sensor 12 during the first time interval T1 . Similarly, the interval average acceleration in the second time interval T2 is the acceleration measured by the acceleration sensor 12 during the second time interval T2 . Since the mobile robot 10 travels in deceleration, the acceleration measured by the acceleration sensor 12 should be negative, but may be positive due to an error of the acceleration sensor 12 .

복수의 시간 간격들(T1~T5) 전체에 대한 전체 평균 가속도는 복수의 시간 간격복수의 시간 간격들(T1~T5) 각각에 대한 구간 평균 가속도들을 합산하고 합산된 값을 복수의 시간 간격들(T1~T5)의 갯수로 나눔으로써 계산된다. 이를 수식으로 표현하면 아래의 수학식과 같다. The overall average acceleration for all of the plurality of time intervals T1 to T5 is obtained by summing the section average accelerations for each of the plurality of time intervals T1 to T5 and adding the summed value to the plurality of time intervals ( It is calculated by dividing by the number of T1 to T5). If this is expressed as an equation, it is as the following equation.

[수학식 2] [Equation 2]

A_avg=(A_[T1]+A_[T2]+A_[T3]+A_[T4]+A_[T5])/5A_avg=(A_[T1]+A_[T2]+A_[T3]+A_[T4]+A_[T5])/5

여기서, A_avg는 복수의 시간 간격들(T1~T5) 전체에 대한 전체 평균 가속도를, A_[T1], A_[T2], A_[T3], A_[T4], 및 A_[T5]는 복수의 시간 간격들(T1~T5) 각각에 대한 구간 평균 가속도들을, 5는 복수의 시간 간격들(T1~T5)의 갯수를 의미한다. 상기 수학식 2는 복수의 시간 간격들(T1~T5)의 갯수에 따라 달라질 수 있다. Here, A_avg is the overall average acceleration for all of the plurality of time intervals T1 to T5, A_[T1], A_[T2], A_[T3], A_[T4], and A_[T5] are the plurality of The interval average accelerations for each of the time intervals T1 to T5, 5 denotes the number of the plurality of time intervals T1 to T5. Equation 2 may vary depending on the number of the plurality of time intervals T1 to T5.

이동 로봇(10)은 복수의 시간 간격들(T1~T5)에 해당하는 구간 평균 가속도들 (A_[T1], A_[T2], A_[T3], A_[T4], 및 A_[T5]) 각각과 상기 전체 평균 가속도(A_avg)를 비교한다. The mobile robot 10 has section average accelerations corresponding to the plurality of time intervals T1 to T5 (A_[T1], A_[T2], A_[T3], A_[T4], and A_[T5]). Compare each with the overall average acceleration A_avg.

상기 구간 평균 가속도들(A_[T1], A_[T2], A_[T3], A_[T4], 및 A_[T5]) 중 제1구간 평균 가속도(예컨대, A_[T3])와 상기 전체 평균 가속도(A_avg)의 차이가 임의의 가속도 차이 이하이다. 전체 평균 가속도(A_avg)는 일정한 값을 가지며, 음수이다. The first interval average acceleration (eg, A_[T3]) and the overall average among the interval average accelerations A_[T1], A_[T2], A_[T3], A_[T4], and A_[T5]) The difference in acceleration A_avg is less than or equal to any acceleration difference. The overall average acceleration (A_avg) has a constant value and is negative.

도 4는 이동 로봇이 가속도 주행일 때, 시간에 따른 다른 속도 그래프들을 나타낸다. 도 4의 (a)는 이동 로봇이 감속도 주행일 때, 시간에 따른 이동 로봇의 속도를 나태는 속도 그래프이며, 도 4의 (b)는 시간에 따른 이동 로봇의 평균 가속도와 구간 평균 가속도를 나타낸다. 4 shows graphs of different speeds according to time when the mobile robot is traveling with acceleration. Fig. 4 (a) is a speed graph showing the speed of the mobile robot over time when the mobile robot is traveling at a deceleration, and Fig. 4 (b) is the average acceleration and section average acceleration of the mobile robot over time. indicates.

도 1과 도 4의 (a)를 참고하면, 시간에 따라 이동 로봇(10)은 감속 주행한다. 다만, 도 3의 (a)과의 차이점은 도 4의 (a)에서 이동 로봇(10)은 감속 주행하지만, 제3시간 간격(T3)에서 매끄럽지 못한 표면(101, 103, 또는 105)을 지난다. 따라서 도 4의 (a)를 참고하면, 도 3의 (a)과는 다르게 제3시간 간격(T3)에서 갑자기 속도가 증가한다. Referring to FIGS. 1 and 4 ( a ), the mobile robot 10 decelerates according to time. However, the difference from Fig. 3 (a) is that in Fig. 4 (a), the mobile robot 10 travels at a deceleration, but passes the non-smooth surface 101, 103, or 105 at the third time interval T3. . Therefore, referring to (a) of FIG. 4 , the speed suddenly increases in the third time interval T3 , unlike in FIG. 3 (a).

도 4의 (a)에서 도면부호(v7)는 임의의 시간 동안 이동 로봇(10)의 속도의 그래프를 의미한다. Reference numeral v7 in FIG. 4A denotes a graph of the speed of the mobile robot 10 for an arbitrary time.

도 4의 (b)에서 도면부호(v8)는 복수의 시간 간격들(T1~T5) 각각에 대한 구간 평균 가속도들의 그래프를 의미한다. 도 4의 (b)에서 도면부호(v9)는 복수의 시간 간격들(T1~T5) 전체에 대한 전체 평균 가속도의 그래프를 의미한다. In FIG. 4B , reference numeral v8 denotes a graph of section average accelerations for each of the plurality of time intervals T1 to T5 . In FIG. 4B , reference numeral v9 denotes a graph of the overall average acceleration for all of the plurality of time intervals T1 to T5 .

도 1과 도 4의 (b)를 참고하면, 복수의 시간 간격들(T1~T5) 각각에 대한 구간 평균 가속도들(A_[T1], A_[T2], A_[T3], A_[T4], 및 A_[T5]) 각각은 각 시간 간격(T1~T5) 동안 가속도 센서(12)에 의해 측정된 가속도이다. Referring to FIGS. 1 and 4 (b) , section average accelerations A_[T1], A_[T2], A_[T3], A_[T4] for each of the plurality of time intervals T1 to T5 , and A_[T5]) each is an acceleration measured by the acceleration sensor 12 during each time interval T1 to T5.

복수의 시간 간격들(T1~T5) 전체에 대한 전체 평균 가속도(A_avg)는 복수의 시간 간격들(T1~T5) 각각에 대한 구간 평균 가속도들을 합산하고 합산된 값을 복수의 시간 간격들(T1~T5)의 갯수로 나눔으로써 계산된다. 즉, 상기 수학식 2와 같이 계산된다. The total average acceleration A_avg for all of the plurality of time intervals T1 to T5 is obtained by summing the average accelerations for each of the plurality of time intervals T1 to T5 and using the summed value for the plurality of time intervals T1 It is calculated by dividing by the number of ∼T5). That is, it is calculated as in Equation 2 above.

이동 로봇(10)은 복수의 시간 간격들(T1~T5)에 해당하는 구간 평균 가속도들(A_[T1], A_[T2], A_[T3], A_[T4], 및 A_[T5]) 각각과 상기 전체 평균 가속도(A_avg)를 비교한다. The mobile robot 10 has section average accelerations corresponding to the plurality of time intervals T1 to T5 (A_[T1], A_[T2], A_[T3], A_[T4], and A_[T5]) Compare each with the overall average acceleration A_avg.

상기 구간 평균 가속도들(A_[T1], A_[T2], A_[T3], A_[T4], 및 A_[T5]) 중 제1구간 평균 가속도(예컨대, A_[T3])와 상기 전체 평균 가속도(A_avg)의 차이가 임의의 가속도 차이 이상일 때, 이동 로봇(10)은 상기 제1구간 평균 가속도에 대응하는 시간 간격(예컨대, T3)을 확인한다. The first interval average acceleration (eg, A_[T3]) and the overall average among the interval average accelerations A_[T1], A_[T2], A_[T3], A_[T4], and A_[T5]) When the difference between the accelerations A_avg is greater than or equal to a certain acceleration difference, the mobile robot 10 checks a time interval (eg, T3 ) corresponding to the average acceleration of the first section.

이동 로봇(10)은 상기 확인된 시간 간격(예컨대, T3)에서 이동 로봇(10)의 위치를 확인하고, 상기 확인된 이동 로봇(10)의 위치를 매끄럽지 못한 표면으로 감지한다. The mobile robot 10 checks the position of the mobile robot 10 at the confirmed time interval (eg, T3), and detects the confirmed position of the mobile robot 10 as an uneven surface.

도 5는 본 발명의 실시 예에 따른 비용 맵의 개념도를 나타낸다. 5 is a conceptual diagram of a cost map according to an embodiment of the present invention.

도 1 내지 도 5를 참고하면, 비용 맵(50)는 복수의 격자들로 나뉜다. 각 격자들은 비용에 관한 정보를 포함한다. 1 to 5 , the cost map 50 is divided into a plurality of grids. Each grid contains information about cost.

이동 로봇(10)은 라이다 센서(14)를 더 포함할 수 있다. 이동 로봇(10)은 라이다 센서(14)를 이용하여 이동 로봇(10)의 주변에 장애물(20, 또는 30)이 있는지 여부를 판단할 수 있다. 장애물(20, 또는 30)이란 이동 로봇(10)이 지나갈 수 없는 물체를 의미한다. 이동 로봇(10)의 주변이란 이동 로봇(10)의 전방, 후방, 또는 측면을 의미한다. 실시 예에 따라 라이다 센서(14)는 이동 로봇(10)의 전방, 후방, 및 측면에서 동시에 레이저를 발산하고, 반사된 빛이 라이다 센서(14)로 돌아오는데까지 걸리는 시간을 측정함으로써 이동 로봇(10)은 이동 로봇(10)의 전방, 후방, 및 측면에서 동시에 장애물(20, 또는 30)의 위치를 판단할 수 있다. The mobile robot 10 may further include a lidar sensor 14 . The mobile robot 10 may determine whether there are obstacles 20 or 30 around the mobile robot 10 using the lidar sensor 14 . The obstacle 20 or 30 refers to an object through which the mobile robot 10 cannot pass. The periphery of the mobile robot 10 refers to the front, rear, or side of the mobile robot 10 . According to an embodiment, the lidar sensor 14 emits a laser at the same time from the front, rear, and side of the mobile robot 10 , and moves by measuring the time it takes for the reflected light to return to the lidar sensor 14 . The robot 10 may determine the position of the obstacle 20 or 30 at the same time in the front, rear, and side of the mobile robot 10 .

이동 로봇(10)은 이동 로봇(10)의 주변에 장애물(20, 또는 30)이 있다고 판단될 때, 이동 로봇(10)은 비용 맵(50)에서 장애물(20, 또는 30)과 대응되는 위치의 격자에 임의의 제1값(예컨대, 254)을 비용으로써 설정한다. When the mobile robot 10 determines that there is an obstacle 20 or 30 around the mobile robot 10 , the mobile robot 10 moves to a location corresponding to the obstacle 20 or 30 on the cost map 50 . Set an arbitrary first value (eg, 254) as cost in the grid of .

이동 로봇(10)은 비용 맵(50)에서 장애물이 없는 위치의 격자에 임의의 제2값(예컨대, 127)을 비용으로써 설정한다. 상기 비용은 0에서 제1값(예컨대, 254) 사이의 범위를 가진다. The mobile robot 10 sets an arbitrary second value (eg, 127) as the cost in the grid of obstacle-free positions in the cost map 50 . The cost ranges from zero to a first value (eg, 254).

이동 로봇(10)은 매끄럽지 못한 표면(예컨대, 101, 103, 또는 105)의 감지 횟수에 따라 비용을 증가시킨다. 이동 로봇(10)은 공간(100)을 자유롭게 주행하여 매끄럽지 못한 표면(101, 103, 또는 105)을 누적하여 감지할 수 있다. The mobile robot 10 increases the cost depending on the number of detections of an uneven surface (eg, 101 , 103 , or 105 ). The mobile robot 10 can freely travel in the space 100 and accumulate and detect the uneven surfaces 101 , 103 , or 105 .

상기 증가되는 비용은 임의의 제2값(예컨대, 127)까지 증가할 수 있다. 즉,매끄럽지 못한 표면(예컨대, 101, 103, 또는 105)과 대응되는 임의의 격자는 0에서 임의의 제2값(예컨대, 127) 사이의 범위를 가진다. 실시 예에 따라 비용 맵(50)에서 비용은 컬러로 표현될 수 있다. The increased cost may increase to any second value (eg, 127). That is, any grating corresponding to a non-smooth surface (eg, 101 , 103 , or 105 ) ranges from 0 to an arbitrary second value (eg, 127 ). According to an embodiment, the cost may be expressed in color in the cost map 50 .

이동 로봇(10)은 나중에 특정 공간(100)에서 주행시 가장 낮은 비용을 가지는 경로로 이동함으로써 매끄럽지 못한 표면(예컨대, 101, 103, 또는 105)과 장애물(20, 또는 30)을 회피하여 주행할 수 있다. The mobile robot 10 can drive by avoiding an uneven surface (eg, 101, 103, or 105) and an obstacle (20, or 30) by moving to a path having the lowest cost when traveling in a specific space 100 later. have.

도 6은 본 발명의 실시 예에 따른 표면 감지 방법의 흐름도를 나타낸다. 6 is a flowchart of a surface sensing method according to an embodiment of the present invention.

도 1과 도 2를 참고하면, 이동 로봇(10)은 공간(100)에서 주행 후, 이동 로봇(10)의 주행이 등속 주행인지, 가속 주행인지, 또는 감속 주행인지 판단한다(S10).1 and 2 , after the mobile robot 10 travels in the space 100 , it is determined whether the mobile robot 10 travels at a constant speed, accelerates, or decelerates ( S10 ).

이동 로봇(10)의 주행이 등속 주행일 때, 이동 로봇(10)은 이동 로봇(10)의 주행 시간 동안 전체 평균 속도(V_avg)를 계산한다(S20). When the mobile robot 10 travels at a constant speed, the mobile robot 10 calculates an overall average speed V_avg during the running time of the mobile robot 10 ( S20 ).

이동 로봇(10)은 복수의 시간 간격들(T1~T5)에 해당하는 구간 평균 속도들(V_[T1], V_[T2], V_[T3], V_[T4], 및 V_[T5]) 각과 상기 전체 평균 속도(V_avg)를 비교한다(S30). 복수의 시간 간격들(T1~T5) 전체에 대한 전체 평균 속도는 복수의 시간 간격들(T1~T5) 각각에 대한 구간 평균 속도들을 합산하고 합산된 값을 복수의 시간 간격들(T1~T5)의 갯수로 나눔으로써 계산된다. The mobile robot 10 has section average speeds (V_[T1], V_[T2], V_[T3], V_[T4], and V_[T5]) corresponding to the plurality of time intervals T1 to T5. The angle and the overall average velocity V_avg are compared (S30). The overall average speed for all of the plurality of time intervals T1 to T5 is obtained by summing the average speeds for each of the plurality of time intervals T1 to T5 and using the summed value for the plurality of time intervals T1 to T5. It is calculated by dividing by the number of

상기 구간 평균 속도들(V_[T1], V_[T2], V_[T3], V_[T4], 및 V_[T5]) 중 제1구간 평균 속도(예컨대, V_[T3])와 상기 전체 평균 속도(V_avg)의 차이가 임의의 속도 차이 이상일 때, 이동 로봇(10)은 상기 제1구간 평균 속도(예컨대, V_[T3])에 대응하는 제1시간 간격(예컨대, T3)을 확인한다(S40). A first interval average speed (eg, V_[T3]) of the interval average speeds V_[T1], V_[T2], V_[T3], V_[T4], and V_[T5] and the overall average When the difference in speed V_avg is greater than or equal to a certain speed difference, the mobile robot 10 checks the first time interval (eg, T3) corresponding to the first section average speed (eg, V_[T3]) ( S40).

이동 로봇(10)은 상기 확인된 제1시간 간격(예컨대, T3)에서 이동 로봇(10)의 위치를 확인하고, 상기 확인된 이동 로봇(10)의 위치를 매끄럽지 못한 표면(예컨대, 101, 103, 또는 105)으로 감지한다(S50).The mobile robot 10 checks the position of the mobile robot 10 in the identified first time interval (eg, T3), and sets the position of the mobile robot 10 on a non-smooth surface (eg, 101, 103). , or 105) (S50).

도 1과 도 4를 참고하면, 이동 로봇(10)의 주행이 가속 주행. 또는 감속 주행일 때, 이동 로봇(10)은 이동 로봇(10)의 주행 시간 동안 전체 평균 가속도(A_avg)를 계산한다(S60). 복수의 시간 간격들(T1~T5) 전체에 대한 전체 평균 가속도는 복수의 시간 간격복수의 시간 간격들(T1~T5) 각각에 대한 구간 평균 가속도들을 합산하고 합산된 값을 복수의 시간 간격들(T1~T5)의 갯수로 나눔으로써 계산된다.1 and 4 , the traveling of the mobile robot 10 is accelerated driving. Alternatively, during deceleration, the mobile robot 10 calculates the overall average acceleration A_avg during the running time of the mobile robot 10 ( S60 ). The overall average acceleration for all of the plurality of time intervals T1 to T5 is obtained by summing the section average accelerations for each of the plurality of time intervals T1 to T5 and adding the summed value to the plurality of time intervals ( It is calculated by dividing by the number of T1 to T5).

이동 로봇(10)은 복수의 시간 간격들(T1~T5)에 해당하는 구간 평균 가속도들(A_[T1], A_[T2], A_[T3], A_[T4], 및 A_[T5]) 각각과 상기 전체 평균 가속도(A_avg)를 비교한다(S70). The mobile robot 10 has section average accelerations corresponding to the plurality of time intervals T1 to T5 (A_[T1], A_[T2], A_[T3], A_[T4], and A_[T5]) Each is compared with the overall average acceleration A_avg (S70).

상기 구간 평균 가속도들(A_[T1], A_[T2], A_[T3], A_[T4], 및 A_[T5]) 중 제1구간 평균 가속도(예컨대, A_[T3])와 상기 전체 평균 가속도(A_avg)의 차이가 임의의 가속도 차이 이상일 때, 이동 로봇(10)은 상기 제1구간 평균 가속도에 대응하는 시간 간격(예컨대, T3)을 확인한다(S80). The first interval average acceleration (eg, A_[T3]) and the overall average among the interval average accelerations A_[T1], A_[T2], A_[T3], A_[T4], and A_[T5]) When the difference between the accelerations A_avg is greater than or equal to a certain acceleration difference, the mobile robot 10 checks a time interval (eg, T3) corresponding to the first interval average acceleration (S80).

이동 로봇(10)은 상기 확인된 시간 간격(예컨대, T3)에서 이동 로봇(10)의 위치를 확인하고, 상기 확인된 이동 로봇(10)의 위치를 매끄럽지 못한 표면으로 감지한다(S90). The mobile robot 10 checks the position of the mobile robot 10 at the confirmed time interval (eg, T3), and detects the confirmed position of the mobile robot 10 as a non-smooth surface (S90).

실시 예에 따라 이동 로봇(10)은 각속도 센서(미도시)를 더 포함할 수 있다. 상기 각속도 센서에 의해 X축, Y축, 및 Z축에 대한 센서 값들이 생성된다. According to an embodiment, the mobile robot 10 may further include an angular velocity sensor (not shown). Sensor values for the X-axis, Y-axis, and Z-axis are generated by the angular velocity sensor.

이동 로봇(10)이 매끄럽지 못한 표면(예컨대, 101, 103, 또는 105)을 지나갈 때 상기 각속도 센서에 의해 생성되는 센서 값들과, 이동 로봇(10)이 회전할 때 상기 각속도 센서에 의해 생성되는 센서 값들은 다르다. 이동 로봇(10)이 회전할 때, 상기 각속도 센서에 의해 생성되는 X축 센서 값과 Y축 센서 값 중 어느 하나만 문턱값보다 클 것이다. 이동 로봇(10)이 왼쪽, 또는 오른쪽으로 이동함으로써 X축 센서 값과 Y축 센서 값 중 어느 하나만 변화하기 때문이다. 반면, 이동 로봇(10)이 매끄럽지 못한 표면(예컨대, 101, 103, 또는 105)을 지나갈 때, 상기 각속도 센서에 의해 생성되는 X축 센서 값과 Y축 센서 값은 모두 문턱값보다 클 것이다. Sensor values generated by the angular velocity sensor when the mobile robot 10 passes an uneven surface (eg 101, 103, or 105), and a sensor generated by the angular velocity sensor when the mobile robot 10 rotates. The values are different. When the mobile robot 10 rotates, only one of the X-axis sensor value and the Y-axis sensor value generated by the angular velocity sensor will be greater than the threshold value. This is because only one of the X-axis sensor value and the Y-axis sensor value changes as the mobile robot 10 moves left or right. On the other hand, when the mobile robot 10 passes over a non-smooth surface (eg, 101, 103, or 105), both the X-axis sensor value and the Y-axis sensor value generated by the angular velocity sensor will be greater than the threshold value.

따라서 이동 로봇(10)은 상기 각속도 센서로부터 X축 센서값과 Y축 센서값을 수신한다. 이동 로봇(10)은 수신된 상기 X축 센서값과 Y축 센서값 각각이 임의의 문턱값보다 모두 큰지 판단한다. 수신된 상기 X축 센서값과 Y축 센서값 각각이 상기 임의의 문턱값보다 모두 클 때, 이동 로봇(10)은 이동 로봇(10)이 기울어졌다고 판단한다. 상기 임의의 문턱값은 이동 로봇(10)의 주행 시간 동안의 평균 각속도일 수 있다. 상기 평균 각속도는 X축 센서 값에 대한 평균 각속도와 Y축 센서 값에 대한 평균 각속도일 수 있다. Accordingly, the mobile robot 10 receives the X-axis sensor value and the Y-axis sensor value from the angular velocity sensor. The mobile robot 10 determines whether each of the received X-axis sensor values and Y-axis sensor values is greater than an arbitrary threshold value. When each of the received X-axis sensor values and Y-axis sensor values is greater than the arbitrary threshold value, the mobile robot 10 determines that the mobile robot 10 is tilted. The arbitrary threshold value may be an average angular velocity during the traveling time of the mobile robot 10 . The average angular velocity may be an average angular velocity with respect to an X-axis sensor value and an average angular velocity with respect to a Y-axis sensor value.

이동 로봇(10)이 기울여졌다고 판단할 때, 즉, 이동 로봇(10)은 수신된 상기 X축 센서값과 Y축 센서값 각각이 임의의 문턱값보다 모두 클 때, 이동 로봇(10)은 매끄럽지 못한 표면(예컨대, 101, 103, 또는 105)을 감지하기 위해 본 발명의 실시 예에 따른 표면 감지 방법이 수행된다. 즉, S10부터 S90의 동작이 수행된다. When it is determined that the mobile robot 10 is tilted, that is, when the received X-axis sensor value and the Y-axis sensor value are both greater than a certain threshold, the mobile robot 10 is not smooth. A surface sensing method according to an embodiment of the present invention is performed to detect an unfavorable surface (eg, 101 , 103 , or 105 ). That is, operations S10 to S90 are performed.

본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.Although the present invention has been described with reference to one embodiment shown in the drawings, this is merely exemplary, and those of ordinary skill in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Therefore, the true technical protection scope of the present invention should be determined by the technical spirit of the appended claims.

10: 이동 로봇;
11: 프로세서;
12: 가속도 센서;
13: 메모리;
15: 물리 범퍼;
17: 소나 센서;
18: 추락 방지 센서;
19: 휠;
10: mobile robot;
11: processor;
12: acceleration sensor;
13: memory;
15: physical bumper;
17: sonar sensor;
18: fall arrest sensor;
19: wheel;

Claims (6)

이동 로봇은 상기 이동 로봇의 주행이 등속 주행이라고 판단할 때, 상기 이동 로봇은 상기 이동 로봇의 주행 시간 동안 전체 평균 속도를 계산하는 단계;
상기 이동 로봇은 복수의 시간 간격들에 해당하는 구간 평균 속도들 각각과 상기 전체 평균 속도를 비교하는 단계;
상기 구간 평균 속도들 중 제1구간 평균 속도와 상기 전체 평균 속도의 차이가 임의의 속도 차이 이상일 때, 상기 이동 로봇은 상기 제1구간 평균 속도에 대응하는 제1시간 간격을 확인하는 단계; 및
상기 이동 로봇은 상기 확인된 제1시간 간격에서 상기 이동 로봇의 위치를 확인하고, 상기 확인된 이동 로봇의 위치를 매끄럽지 못한 표면으로 감지하는 단계를 포함하는 이동 로봇의 매끄럽지 못한 표면 감지 방법.
when the mobile robot determines that the mobile robot is traveling at a constant speed, calculating, by the mobile robot, an overall average speed during the running time of the mobile robot;
comparing, by the mobile robot, each of the section average speeds corresponding to a plurality of time intervals and the overall average speed;
checking, by the mobile robot, a first time interval corresponding to the first section average speed when a difference between the first section average speed and the overall average speed among the section average speeds is greater than or equal to a certain speed difference; and
and detecting, by the mobile robot, the position of the mobile robot at the identified first time interval, and detecting the identified position of the mobile robot as a non-smooth surface.
제1항에 있어서, 상기 이동 로봇의 매끄럽지 못한 표면 감지 방법은,
상기 구간 평균 속도들 중 제2구간 평균 속도와 상기 전체 평균 속도의 차이가 상기 임의의 속도 차이 이상일 때, 상기 이동 로봇은 상기 제2구간 평균 속도에 대응하는 제2시간 간격을 확인하는 단계;
상기 이동 로봇은 상기 제1시간 간격의 시작 시점과 상기 제2시간 간격의 종료 시점의 차이를 확인하는 단계; 및
상기 이동 로봇은 상기 제1시간 간격의 시작 시점과 상기 제2시간 간격의 종료 시점의 차이가 임의의 시간 미만일 때, 상기 이동 로봇은 상기 제1시간 간격의 시작 시점과 상기 제2시간 간격의 종료 시점의 차이와, 상기 복수의 시간 간격들 중 임의의 시간 간격에서 구간 평균 속도를 곱하여 상기 매끄럽지 못한 표면의 사이즈를 계산하는 단계를 더 포함하며,
상기 제1시간 간격과 상기 제2시간 간격은 연속된 시간 간격인 이동 로봇의 매끄럽지 못한 표면 감지 방법.
The method according to claim 1, wherein the method for detecting an uneven surface of the mobile robot comprises:
checking, by the mobile robot, a second time interval corresponding to the second section average speed when the difference between the second section average speed and the overall average speed among the section average speeds is equal to or greater than the arbitrary speed difference;
checking, by the mobile robot, a difference between a start time of the first time interval and an end time of the second time interval; and
When the difference between the start time of the first time interval and the end time of the second time interval is less than a predetermined time, the mobile robot determines the start time of the first time interval and the end of the second time interval. calculating the size of the uneven surface by multiplying the time difference by the interval average velocity at any of the plurality of time intervals;
wherein the first time interval and the second time interval are consecutive time intervals.
제2항에 있어서, 상기 복수의 시간 간격들 중 임의의 시간 간격에서 구간 평균 속도는 상기 이동 로봇이 등속으로 주행할 때의 구간 평균 속도인 이동 로봇의 매끄럽지 못한 표면 감지 방법.The method according to claim 2, wherein the section average speed at any time interval among the plurality of time intervals is the section average speed when the mobile robot travels at a constant speed. 이동 로봇이 상기 이동 로봇의 주행이 가속 주행이라고 판단할 때, 상기 이동 로봇은 상기 이동 로봇의 주행 시간 동안 전체 평균 가속도를 계산하는 단계;
상기 이동 로봇은 복수의 시간 간격들에 해당하는 구간 평균 가속도들 각각과 상기 전체 평균 가속도를 비교하는 단계;
상기 구간 평균 가속도들 중 제1구간 평균 가속도와 상기 전체 평균 가속도의 차이가 임의의 가속도 차이 이상일 때, 상기 이동 로봇은 상기 제1구간 평균 가속도에 대응하는 시간 간격을 확인하는 단계; 및
상기 이동 로봇은 상기 확인된 시간 간격에서 상기 이동 로봇의 위치를 확인하고, 상기 확인된 이동 로봇의 위치를 매끄럽지 못한 표면으로 감지하는 단계를 포함하는 이동 로봇의 매끄럽지 못한 표면 감지 방법.
calculating, by the mobile robot, an overall average acceleration during the traveling time of the mobile robot when the mobile robot determines that the traveling of the mobile robot is accelerated driving;
comparing, by the mobile robot, each of the section average accelerations corresponding to a plurality of time intervals and the overall average acceleration;
checking, by the mobile robot, a time interval corresponding to the first section average acceleration when the difference between the first section average acceleration and the overall average acceleration among the section average accelerations is equal to or greater than a certain acceleration difference; and
and detecting, by the mobile robot, the position of the mobile robot at the identified time interval, and detecting the identified position of the mobile robot as a non-smooth surface.
이동 로봇의 있어서,
가속도 센서;
상기 이동 로봇의 동작들을 제어하기 위한 명령들을 실행하는 프로세서; 및
상기 명령들을 저장하는 메모리를 포함하며,
상기 명령들은,
상기 이동 로봇의 주행이 등속 주행이라고 판단할 때, 상기 이동 로봇의 주행 시간 동안 전체 평균 속도를 계산하며,
복수의 시간 간격들에 해당하는 구간 평균 속도들 각각과 상기 전체 평균 속도를 비교하며,
상기 구간 평균 속도들 중 제1구간 평균 속도와 상기 전체 평균 속도의 차이가 임의의 속도 차이 이상일 때, 상기 제1구간 평균 속도에 대응하는 제1시간 간격을 확인하며,
상기 확인된 제1시간 간격에서 상기 이동 로봇의 위치를 확인하고, 상기 확인된 이동 로봇의 위치를 매끄럽지 못한 표면으로 감지하도록 구현되는 이동 로봇.
In the mobile robot,
accelerometer;
a processor executing instructions for controlling operations of the mobile robot; and
a memory for storing the instructions;
The commands are
When it is determined that the traveling of the mobile robot is traveling at a constant speed, calculating the overall average speed during the traveling time of the mobile robot,
comparing each of the section average speeds corresponding to a plurality of time intervals with the overall average speed,
When the difference between the first section average speed and the overall average speed among the section average speeds is greater than or equal to an arbitrary speed difference, a first time interval corresponding to the first section average speed is checked,
The mobile robot is implemented to confirm the position of the mobile robot in the confirmed first time interval, and to detect the identified position of the mobile robot as a non-smooth surface.
이동 로봇의 있어서,
가속도 센서;
상기 이동 로봇의 동작들을 제어하기 위한 명령들을 실행하는 프로세서; 및
상기 명령들을 저장하는 메모리를 포함하며,
상기 명령들은,
상기 이동 로봇의 주행이 가속 주행이라고 판단할 때, 상기 이동 로봇은 상기 이동 로봇의 주행 시간 동안 전체 평균 가속도를 계산하며,
복수의 시간 간격들에 해당하는 구간 평균 가속도들 각각과 상기 전체 평균 가속도를 비교하며,
상기 구간 평균 가속도들 중 제1구간 평균 가속도와 상기 전체 평균 가속도의 차이가 임의의 가속도 차이 이상일 때, 상기 제1구간 평균 가속도에 대응하는 시간 간격을 확인하며,
상기 확인된 시간 간격에서 상기 이동 로봇의 위치를 확인하고, 상기 확인된 이동 로봇의 위치를 매끄럽지 못한 표면으로 감지하도록 구현되는 이동 로봇.
In the mobile robot,
accelerometer;
a processor executing instructions for controlling operations of the mobile robot; and
a memory for storing the instructions;
The commands are
When it is determined that the driving of the mobile robot is accelerated driving, the mobile robot calculates an overall average acceleration during the driving time of the mobile robot,
comparing each of the section average accelerations corresponding to a plurality of time intervals with the overall average acceleration;
When the difference between the first section average acceleration and the overall average acceleration among the section average accelerations is equal to or greater than an arbitrary acceleration difference, a time interval corresponding to the first section average acceleration is checked;
The mobile robot is implemented to confirm the position of the mobile robot in the confirmed time interval, and to detect the identified position of the mobile robot as a non-smooth surface.
KR1020220036671A 2022-03-24 2022-03-24 Moving robot and its detecting uneven surface method KR102440437B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220036671A KR102440437B1 (en) 2022-03-24 2022-03-24 Moving robot and its detecting uneven surface method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220036671A KR102440437B1 (en) 2022-03-24 2022-03-24 Moving robot and its detecting uneven surface method

Publications (1)

Publication Number Publication Date
KR102440437B1 true KR102440437B1 (en) 2022-09-06

Family

ID=83281364

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220036671A KR102440437B1 (en) 2022-03-24 2022-03-24 Moving robot and its detecting uneven surface method

Country Status (1)

Country Link
KR (1) KR102440437B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110021191A (en) * 2009-08-25 2011-03-04 삼성전자주식회사 Apparatus and method for detecting slip of robot
KR20170033579A (en) * 2015-09-17 2017-03-27 삼성전자주식회사 Cleaning robot and controlling method thereof
KR102220865B1 (en) 2018-10-02 2021-02-25 엘지전자 주식회사 Method of adaptive operation in unevenness height of space and device implementing thereof
KR20220004848A (en) * 2020-07-02 2022-01-12 엘지전자 주식회사 Robot cleaner

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110021191A (en) * 2009-08-25 2011-03-04 삼성전자주식회사 Apparatus and method for detecting slip of robot
KR20170033579A (en) * 2015-09-17 2017-03-27 삼성전자주식회사 Cleaning robot and controlling method thereof
KR102220865B1 (en) 2018-10-02 2021-02-25 엘지전자 주식회사 Method of adaptive operation in unevenness height of space and device implementing thereof
KR20220004848A (en) * 2020-07-02 2022-01-12 엘지전자 주식회사 Robot cleaner

Similar Documents

Publication Publication Date Title
US7444214B2 (en) Obstacle detection apparatus, method and medium
CN105425803B (en) Autonomous obstacle avoidance method, device and system
US8793069B2 (en) Object recognition system for autonomous mobile body
US8504202B2 (en) Autonomous mobile robot apparatus and a rush-out collision avoidance method in the same apparatus
EP2506106A1 (en) Autonomous moving object and control method
KR20170063865A (en) Impact mitigation by intelligent vehicle positioning
JPWO2016084487A1 (en) Vehicle travel control device
KR102570338B1 (en) Method and system for predicting a trajectory of a target vehicle in an environment of a vehicle
JP6464410B2 (en) Obstacle determination device and obstacle determination method
KR102440437B1 (en) Moving robot and its detecting uneven surface method
JP2002537542A (en) Method and apparatus for locating a control object
JP4252951B2 (en) Vehicle control object determination device
JP4442611B2 (en) Traveling vehicle system
JP4150674B2 (en) Method for activating a safety device
KR20210037767A (en) Vehicle stability management
JP2021144435A (en) Collision prevention device, mobile body, and program
CN115309168B (en) Underground unmanned vehicle control method and device
JP6791106B2 (en) Peripheral recognition device and peripheral recognition method
JPH05203741A (en) Obstacle detector for vehicle
CN113427485B (en) Slip monitoring method and device for mobile robot and mobile robot
CN111413991B (en) Robot navigation positioning method and system
US11782070B2 (en) Method for determining the direction of travel of a vehicle
JP5125806B2 (en) Independent running device
JP2009255642A (en) Vehicular traveling state estimating device, method therefor, and correction method for yaw rate of vehicle detection
JP2002150642A (en) Method and device for position detection and collision prevention control

Legal Events

Date Code Title Description
GRNT Written decision to grant