KR102572841B1 - Mobile robot, customized autonomous driving method and program for each space size of mobile robot based on artificial intelligence - Google Patents

Mobile robot, customized autonomous driving method and program for each space size of mobile robot based on artificial intelligence Download PDF

Info

Publication number
KR102572841B1
KR102572841B1 KR1020220090105A KR20220090105A KR102572841B1 KR 102572841 B1 KR102572841 B1 KR 102572841B1 KR 1020220090105 A KR1020220090105 A KR 1020220090105A KR 20220090105 A KR20220090105 A KR 20220090105A KR 102572841 B1 KR102572841 B1 KR 102572841B1
Authority
KR
South Korea
Prior art keywords
obstacle
space
mobile robot
preset
avoidance path
Prior art date
Application number
KR1020220090105A
Other languages
Korean (ko)
Other versions
KR102572841B9 (en
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 KR1020220090105A priority Critical patent/KR102572841B1/en
Priority to KR1020230111932A priority patent/KR20240013082A/en
Application granted granted Critical
Publication of KR102572841B1 publication Critical patent/KR102572841B1/en
Publication of KR102572841B9 publication Critical patent/KR102572841B9/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
    • B25J13/089Determining the position of the robot with reference to its environment
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/022Optical sensing devices using lasers
    • 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/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Electromagnetism (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Optics & Photonics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

본 개시는 인공 지능 기반의 이동 로봇의 공간 크기별 맞춤형 자율 주행 방법에 있어서, 이동 로봇이 도착지까지의 전역 경로를 생성하는 단계; 이동 로봇이 도착지까지의 전역 경로에 따라 기 설정된 공간 크기보다 큰 제1 공간 또는 기 설정된 공간 크기보다 작은 제2 공간인지를 판단하는 단계; 제1 공간이면, 이동 로봇이 장애물을 감지한 상태에서 기 설정된 장애물과의 접근 시간 및 접근 거리가 될 때에, 장애물의 접근 상태에 따라 회피하여 주행하기 위한 제1 회피 경로를 생성하는 단계; 및 제2 공간이면, 이동 로봇이 장애물을 감지한 순간, 장애물을 즉시 회피하여 주행하기 위한 제2 회피 경로를 생성하는 단계를 포함할 수 있다.The present disclosure provides an artificial intelligence-based autonomous driving method customized for each space size of a mobile robot, comprising: generating a global route to a destination by the mobile robot; determining whether the mobile robot is in a first space larger than a preset space size or a second space smaller than a preset space size according to a global route to a destination; If it is a first space, generating a first avoidance path for avoiding and traveling according to the approach state of the obstacle when the approach time and approach distance to the obstacle are set in a state in which the mobile robot detects the obstacle; and generating a second avoidance path for traveling by immediately avoiding the obstacle when the mobile robot detects the obstacle if it is the second space.

Description

이동 로봇, 인공 지능 기반의 이동 로봇의 공간 크기 별 맞춤형 자율 주행 방법 및 프로그램{MOBILE ROBOT, CUSTOMIZED AUTONOMOUS DRIVING METHOD AND PROGRAM FOR EACH SPACE SIZE OF MOBILE ROBOT BASED ON ARTIFICIAL INTELLIGENCE}Mobile robot, autonomous driving method and program customized for each space size of artificial intelligence-based mobile robot

본 개시는 이동 로봇에 관한 것이다. 보다 상세하게는, 본 개시는 이동 로봇, 인공 지능 기반의 이동 로봇의 공간 크기 별 맞춤형 자율 주행 방법 및 프로그램에 관한 것이다.The present disclosure relates to mobile robots. More specifically, the present disclosure relates to a mobile robot and a method and program for autonomous navigation customized for each space size of an artificial intelligence-based mobile robot.

4차 산업혁명 시대를 맞이하여 병원, 공항, mall 등 다양한 공간에서 서비스 로봇의 도입이 증가하는 추세이다.In the era of the 4th industrial revolution, the introduction of service robots in various spaces such as hospitals, airports, and malls is increasing.

병원, 공항, mall 등과 같은 큰 공간에서 이동 로봇이 자율 주행하여 목적지까지 이동하기에는 너무나 많은 동적 장애물이 많다.In large spaces such as hospitals, airports, and malls, there are too many dynamic obstacles for mobile robots to autonomously drive to their destinations.

이러한, 환경에서 먼 곳의 동적 장애물을 감지하고, 회피 경로 생성을 빠르게 하여 회피할 때에, 다른 동적 장애물을 만나기 쉽다.It is easy to encounter other dynamic obstacles when detecting these dynamic obstacles far from the environment and avoiding them by speeding up the creation of an avoidance path.

따라서, 도착지까지 공간별로 빠르게 판단함으로써, 장애물을 효율적으로 회피하여 빠르게 주행하기 위한 이동 로봇의 연구가 필요하다.Therefore, it is necessary to study mobile robots for efficiently avoiding obstacles and traveling quickly by quickly determining the destination by space.

대한민국 공개특허공보 제10-2017-0094103호Republic of Korea Patent Publication No. 10-2017-0094103

본 개시에 개시된 실시예는, 장애물을 효율적으로 회피하여 도착지까지 빠르게 주행할 수 있는 것을 제공하는데 그 목적이 있다.An object of the embodiments disclosed in the present disclosure is to provide a device capable of efficiently avoiding obstacles and quickly traveling to a destination.

본 개시가 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present disclosure are not limited to the problems mentioned above, and other problems not mentioned will be clearly understood by those skilled in the art from the description below.

상술한 기술적 과제를 달성하기 위한 본 개시의 일 측면에 따른 인공 지능 기반의 이동 로봇의 공간 크기별 맞춤형 자율 주행 방법은, 인공 지능 기반의 이동 로봇의 공간 크기별 맞춤형 자율 주행 방법에 있어서, 상기 이동 로봇이 도착지까지의 전역 경로를 생성하는 단계; 상기 이동 로봇이 상기 도착지까지의 전역 경로에 따라 기 설정된 공간 크기보다 큰 제1 공간 또는 상기 기 설정된 공간 크기보다 작은 제2 공간인지를 판단하는 단계; 상기 제1 공간이면, 상기 이동 로봇이 장애물을 감지한 상태에서 기 설정된 장애물과의 접근 시간 및 접근 거리가 될 때에, 상기 장애물의 접근 상태에 따라 회피하여 주행하기 위한 제1 회피 경로를 생성하는 단계; 및 상기 제2 공간이면, 상기 이동 로봇이 상기 장애물을 감지한 순간, 상기 장애물을 즉시 회피하여 주행하기 위한 제2 회피 경로를 생성하는 단계를 포함할 수 있다.According to an aspect of the present disclosure for achieving the above-described technical problem, a method for autonomous driving customized for each space size of an artificial intelligence-based mobile robot is provided, wherein the mobile robot creating a global route to the destination; determining whether the mobile robot is in a first space larger than a preset space size or a second space smaller than the preset space size according to the global route to the destination; If it is the first space, generating a first avoidance path for avoiding and traveling according to the approach state of the obstacle when the approach time and approach distance to the obstacle are preset in a state in which the mobile robot detects the obstacle ; and generating a second avoidance path for traveling by immediately avoiding the obstacle when the mobile robot detects the obstacle if it is the second space.

또한, 상기 판단 단계는, 상기 이동 로봇에 기 설정된 지도 정보의 정지 객체 및 상기 전역 경로간의 이격 거리를 산출하고, 상기 이격 거리가 기 설정된 기준값 내에 있으면, 상기 제2 공간으로 판단하며, 상기 이격 거리가 상기 기준값을 초과하면, 상기 제1 공간으로 판단하는 것을 특징할 수 잇다.In addition, in the determining step, a separation distance between a stationary object of map information preset in the mobile robot and the global route is calculated, and if the separation distance is within a preset reference value, the separation distance is determined as the second space, and the separation distance When the value exceeds the reference value, it may be characterized in that it is determined as the first space.

또한, 상기 제1 회피 경로 생성 단계는, 상기 이동 로봇이 상기 접근 시간 및 상기 접근 거리가 되기전까지는 상기 주행을 멈춰 대기하고 있다가, 상기 접근 시간 및 상기 접근 거리가 될 때에 상기 제1 회피 경로를 생성하는 것을 특징으로 할 수 있다.In addition, in the generating of the first avoidance path, the mobile robot stops and waits for the driving until the approach time and the approach distance are reached, and then the first avoidance path is reached when the approach time and the approach distance are reached. It can be characterized by generating.

또한, 상기 제2 회피 경로 생성 단계는, 상기 이동 로봇이 상기 장애물을 감지한 순간, 가상 장애물 선을 생성하고, 상기 이동 로봇이 상기 가상 장애물 선과 접촉되지 않도록 상기 제2 회피 경로를 생성하는 것을 특징으로 할 수 있다.In addition, in the generating of the second avoidance path, a virtual obstacle line is generated as soon as the mobile robot detects the obstacle, and the second avoidance path is generated so that the mobile robot does not come into contact with the virtual obstacle line. can be done with

또한, 본 개시의 다른 측면에 따른 이동 로봇은, 장애물을 감지하는 센서부; 도착지 별로 전역 경로 및 지도 정보가 저장된 메모리; 및 상기 도착지 별로 장애물을 회피하여 주행하기 위한 동작을 제어하는 프로세서를 포함하고, 상기 프로세서는, 도착지까지의 전역 경로를 생성하며, 상기 도착지까지의 전역 경로에 따라 기 설정된 공간 크기보다 큰 제1 공간 또는 상기 기 설정된 공간 크기보다 작은 제2 공간인지를 판단하고, 상기 제1 공간이면 상기 장애물을 감지한 상태에서 기 설정된 장애물과의 접근 시간 및 접근 거리가 될 때에, 상기 장애물의 접근 상태에 따라 회피하여 주행하기 위한 제1 회피 경로를 생성하며, 상기 제2 공간이면 상기 장애물을 감지한 순간, 상기 장애물을 즉시 회피하여 주행하기 위한 제2 회피 경로를 생성하는 것을 특징으로 할 수 있다.In addition, a mobile robot according to another aspect of the present disclosure includes a sensor unit for detecting an obstacle; Memory storing global route and map information by destination; and a processor controlling an operation for driving while avoiding an obstacle for each destination, wherein the processor generates a global path to the destination, and a first space larger than a predetermined space size according to the global path to the destination. Alternatively, it is determined whether the second space is smaller than the preset space size, and if the first space is the first space, avoidance according to the approach state of the obstacle when the approach time and approach distance to the preset obstacle are reached in a state in which the obstacle is detected. and generating a first avoidance path for driving, and generating a second avoidance path for driving by immediately avoiding the obstacle at the moment when the obstacle is detected in the second space.

또한, 상기 프로세서는, 상기 지도 정보의 객체 및 상기 전역 경로간의 이격 거리를 산출하고, 상기 이격 거리가 기 설정된 기준값 내에 있으면, 상기 제2 공간으로 판단하며, 상기 이격 거리가 상기 기준값을 초과하면, 상기 제1 공간으로 판단하는 것을 특징으로 할 수 있다.In addition, the processor calculates a separation distance between the object of the map information and the global path, determines the second space when the separation distance is within a predetermined reference value, and determines that the separation distance exceeds the reference value, It may be characterized in that it is determined as the first space.

또한, 상기 프로세서는, 상기 접근 시간 및 상기 접근 거리가 되기전까지는 상기 주행을 멈춰 대기하고 있다가, 상기 접근 시간 및 상기 접근 거리가 될 때에 상기 제1 회피 경로를 생성하는 것을 특징으로 할 수 있다.In addition, the processor may be characterized in that the driving is stopped and waited until the approach time and the approach distance are reached, and then the first avoidance path is generated when the approach time and the approach distance are reached. .

또한, 상기 장애물을 감지한 순간, 가상 장애물 선을 생성하고, 상기 가상 장애물 선과 접촉되지 않도록 상기 제2 회피 경로를 생성하는 것을 특징으로 할 수 있다.In addition, as soon as the obstacle is detected, a virtual obstacle line may be generated, and the second avoidance path may be generated so as not to come into contact with the virtual obstacle line.

또한, 상기 가상 장애물 선은, 상기 전역 경로상에서 상기 장애물보다 앞쪽에 배치되는 것을 특징으로 할 수 있다.In addition, the virtual obstacle line may be disposed in front of the obstacle on the global path.

이 외에도, 본 개시를 구현하기 위한 실행하기 위한 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램이 더 제공될 수 있다.In addition to this, a computer program stored in a computer readable recording medium for execution to implement the present disclosure may be further provided.

이 외에도, 본 개시를 구현하기 위한 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.In addition to this, a computer readable recording medium recording a computer program for executing a method for implementing the present disclosure may be further provided.

본 개시의 전술한 과제 해결 수단에 의하면, 장애물을 효율적으로 회피하여 도착지까지 빠르게 주행할 수 있다.According to the above-mentioned problem solving means of the present disclosure, it is possible to efficiently avoid obstacles and quickly travel to a destination.

본 개시의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present disclosure are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description below.

도 1은 본 개시에 따른 이동 로봇의 구성을 나타낸 도면이다.
도 2는 도 1의 메모리에 저장된 대형 건물의 지도 정보를 일 예로 나타낸 도면이다.
도 3은 본 개시에 따른 이동 로봇의 공간 크기별 맞춤형 자율 주행 방법을 나타낸 순서도이다.
도 4는 도 1의 프로세서에서 공간들을 판단하는 과정을 일 예로 나타낸 도면이다.
도 5는 도 1의 프로세서에서 제1 공간으로 판단할 때의 회피 주행 과정을 일 예로 나타낸 도면이다.
도 6 및 도 7은 도 1의 프로세서에서 제2 공간으로 판단할 때의 회피 주행 과정을 일 예로 나타낸 도면들이다.
도 8은 도 1의 메모리에 최적의 회피 경로 데이터를 저장하는 과정을 일 예로 나타낸 도면이다.
도 9는 본 개시에 따른 인공 지능 기반의 이동 로봇의 공간 크기별 맞춤형 자율 주행 방법을 나타낸 순서도이다.
도 10 내지 도 12는 도 1의 프로세서에서 제1 공간 및 제2 공간으로 판단할 때의 안전 주행 과정을 일 예로 나타낸 도면들이다.
1 is a diagram showing the configuration of a mobile robot according to the present disclosure.
FIG. 2 is a diagram showing map information of a large building stored in the memory of FIG. 1 as an example.
3 is a flowchart illustrating a method for autonomous driving customized for each space size of a mobile robot according to the present disclosure.
FIG. 4 is a diagram illustrating a process of determining spaces in the processor of FIG. 1 as an example.
FIG. 5 is a diagram illustrating an avoidance driving process when the processor of FIG. 1 determines that the space is a first space, as an example.
6 and 7 are diagrams illustrating an example of an avoidance driving process when the processor of FIG. 1 determines that the space is a second space.
8 is a diagram illustrating a process of storing optimal avoidance path data in the memory of FIG. 1 as an example.
9 is a flowchart illustrating an autonomous driving method customized for each space size of an artificial intelligence-based mobile robot according to the present disclosure.
10 to 12 are diagrams illustrating a safe driving process when the processor of FIG. 1 determines the first space and the second space as an example.

본 개시 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 개시가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 개시가 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는‘부, 모듈, 부재, 블록’이라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '부, 모듈, 부재, 블록'이 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 부재, 블록'이 복수의 구성요소들을 포함하는 것도 가능하다.Like reference numbers designate like elements throughout this disclosure. The present disclosure does not describe all elements of the embodiments, and general content or overlapping content between the embodiments in the technical field to which the present disclosure belongs is omitted. The term 'unit, module, member, or block' used in the specification may be implemented as software or hardware, and according to embodiments, a plurality of 'units, modules, members, or blocks' may be implemented as one component, It is also possible that one 'part, module, member, block' includes a plurality of components.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우 뿐 아니라, 간접적으로 연결되어 있는 경우를 포함하고, 간접적인 연결은 무선 통신망을 통해 연결되는 것을 포함한다.Throughout the specification, when a part is said to be "connected" to another part, this includes not only the case of being directly connected but also the case of being indirectly connected, and indirect connection includes being connected through a wireless communication network. do.

또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.In addition, when a certain component is said to "include", this means that it may further include other components without excluding other components unless otherwise stated.

명세서 전체에서, 어떤 부재가 다른 부재 "상에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.Throughout the specification, when a member is said to be located “on” another member, this includes not only a case where a member is in contact with another member, but also a case where another member exists between the two members.

제 1, 제 2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위해 사용되는 것으로, 구성요소가 전술된 용어들에 의해 제한되는 것은 아니다.Terms such as first and second are used to distinguish one component from another, and the components are not limited by the aforementioned terms.

단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함한다.Expressions in the singular number include plural expressions unless the context clearly dictates otherwise.

각 단계들에 있어 식별부호는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다.In each step, the identification code is used for convenience of description, and the identification code does not explain the order of each step, and each step may be performed in a different order from the specified order unless a specific order is clearly described in context. there is.

이하 첨부된 도면들을 참고하여 본 개시의 작용 원리 및 실시예들에 대해 설명한다.Hereinafter, the working principle and embodiments of the present disclosure will be described with reference to the accompanying drawings.

본 명세서에서 본 개시에 따른 이동 로봇의 제어부는 연산처리를 수행하여 사용자에게 결과를 제공할 수 있는 다양한 장치들이 모두 포함된다. 예를 들어, 본 개시에 따른 제어부는, 컴퓨터, 서버를 모두 포함하거나, 또는 어느 하나의 형태가 될 수 있다.In this specification, the control unit of the mobile robot according to the present disclosure includes all various devices capable of providing results to users by performing calculation processing. For example, the control unit according to the present disclosure may include both a computer and a server, or may be in any one form.

여기에서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop), 태블릿 PC, 슬레이트 PC, 싱글보드 컴퓨터 등을 포함할 수 있다.Here, the computer may include, for example, a laptop, a desktop, a laptop, a tablet PC, a slate PC, a single board computer, and the like with a web browser.

서버 장치는 외부 장치와 통신을 수행하여 정보를 처리하는 서버로써, 애플리케이션 서버, 컴퓨팅 서버, 데이터베이스 서버, 파일 서버, 메일 서버, 프록시 서버 및 웹 서버 등을 포함할 수 있다.A server device is a server that processes information by communicating with an external device, and may include an application server, a computing server, a database server, a file server, a mail server, a proxy server, and a web server.

휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), WiBro(Wireless Broadband Internet) 단말, 스마트 폰(Smart Phone) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치와 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD) 등과 같은 웨어러블 장치를 포함할 수 있다.A portable terminal is, for example, a wireless communication device that ensures portability and mobility, and includes a Personal Communication System (PCS), Global System for Mobile communications (GSM), Personal Digital Cellular (PDC), Personal Handyphone System (PHS), and PDA (Personal Handyphone System). Personal Digital Assistant), IMT (International Mobile Telecommunication)-2000, CDMA (Code Division Multiple Access)-2000, W-CDMA (W-Code Division Multiple Access), WiBro (Wireless Broadband Internet) terminal, smart phone All kinds of handheld-based wireless communication devices such as watches, rings, bracelets, anklets, necklaces, glasses, contact lenses, or wearable devices such as head-mounted-devices (HMDs) can include

본 개시에 따른 이동 로봇은 도착지까지의 전역 경로를 생성하며, 도착지까지의 전역 경로에 따라 기 설정된 공간 크기보다 큰 제1 공간 또는 기 설정된 공간 크기보다 작은 제2 공간인지를 판단하고, 제1 공간이면 장애물을 감지한 상태에서 기 설정된 장애물과의 접근 시간 및 접근 거리가 될 때에, 장애물의 접근 상태에 따라 회피하여 주행하기 위한 제1 회피 경로를 생성하며, 제2 공간이면 장애물을 감지한 순간, 장애물을 즉시 회피하여 주행하기 위한 제2 회피 경로를 생성하도록 제공될 수 있다.The mobile robot according to the present disclosure generates a global path to the destination, determines whether it is a first space larger than a preset space size or a second space smaller than the preset space size according to the global path to the destination, and determines whether the first space is a second space smaller than the preset space size. When the preset approach time and approach distance to the obstacle are reached in the state where the obstacle is detected, a first avoidance path is created according to the approach state of the obstacle and the first avoidance path is created, and in the second space, the moment the obstacle is detected, It may be provided to generate a second avoidance path for traveling while immediately avoiding the obstacle.

이러한, 이동 로봇은 장애물을 효율적으로 회피하여 도착지까지 빠르게 주행할 수 있다.Such a mobile robot can efficiently avoid obstacles and travel quickly to a destination.

이하에서는, 이동 로봇을 자세하게 살펴보기로 한다.Hereinafter, the mobile robot will be examined in detail.

도 1은 본 개시에 따른 이동 로봇의 구성을 나타낸 도면이다. 도 2는 도 1의 메모리에 저장된 대형 건물의 지도 정보를 일 예로 나타낸 도면이다.1 is a diagram showing the configuration of a mobile robot according to the present disclosure. FIG. 2 is a diagram showing map information of a large building stored in the memory of FIG. 1 as an example.

도 1을 참조하면, 이동 로봇(100)은 센서부(110), 제어부(120), 구동부(130)를 포함할 수 있다.Referring to FIG. 1 , the mobile robot 100 may include a sensor unit 110, a control unit 120, and a driving unit 130.

센서부(110)는 초음파 센서, 레이더 센서, 라이다 센서 중 적어도 하나를 포함할 수 있다. 센서부(110)는 이동 로봇(100)의 전방에 대해 장애물 또는 돌발상황을 감지할 수 있다. 여기에서, 장애물은 이동 로봇(100)이 주행할 때 주행을 방해하는 모든 요소를 의미할 수 있다. 일 예로, 장애물은, 이동 로봇(100)이 자동 주행될 공간에 위치하는 고정형 사물, 이동형 사물, 이동형 동물 등일 수 있다. 예를 들어, 고정형 사물은 벽, 가구, 노점, 기둥, 계단 등일 수 있고, 이동형 사물은 동일한 업무를 수행하는 다른 이동 로봇 등일 수 있으며, 이동형 동물은 사람, 고양이, 개 등일 수 있다.The sensor unit 110 may include at least one of an ultrasonic sensor, a radar sensor, and a lidar sensor. The sensor unit 110 may detect an obstacle or an unexpected situation in front of the mobile robot 100 . Here, the obstacle may refer to any element that hinders the movement of the mobile robot 100 while driving. For example, the obstacle may be a stationary object, a mobile object, or a mobile animal located in a space where the mobile robot 100 is automatically driven. For example, the fixed objects may be walls, furniture, stalls, pillars, stairs, etc., the mobile objects may be other mobile robots performing the same task, and the mobile animals may be people, cats, dogs, and the like.

제어부(120)는 본 장치 내의 구성요소들의 동작을 제어하기 위한 알고리즘 또는 알고리즘을 재현한 프로그램에 대한 데이터를 저장하는 메모리(121), 및 메모리(121)에 저장된 데이터를 이용하여 전술한 동작을 수행하는 적어도 하나의 프로세서(122)로 구현될 수 있다. 여기에서, 메모리(121)와 프로세서(122)는 각각 별개의 칩으로 구현될 수 있다. 또한, 메모리(121)와 프로세서(122)는 단일 칩으로 구현될 수도 있다.The control unit 120 performs the above-described operation using a memory 121 storing data for an algorithm or a program reproducing the algorithm for controlling the operation of the components in the present device, and the data stored in the memory 121. It may be implemented with at least one processor 122 that does. Here, the memory 121 and the processor 122 may be implemented as separate chips. Also, the memory 121 and the processor 122 may be implemented as a single chip.

메모리(121)는 본 장치의 다양한 기능을 지원하는 데이터와, 제어부의 동작을 위한 프로그램을 저장할 수 있고, 입/출력되는 데이터들을 저장할 있고, 본 장치에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 본 장치의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다.The memory 121 may store data supporting various functions of the device and programs for operation of the control unit, may store input/output data, and may store a plurality of application programs (application programs or applications running in the device). (application)), data and instructions for the operation of the device can be stored. At least some of these application programs may be downloaded from an external server through wireless communication.

이러한, 메모리(121)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), SSD 타입(Solid State Disk type), SDD 타입(Silicon Disk Drive type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(random access memory; RAM), SRAM(static random access memory), 롬(read-only memory; ROM), EEPROM(electrically erasable programmable read-only memory), PROM(programmable read-only memory), 자기 메모리, 자기 디스크 및 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한, 메모리(211)는 본 장치와는 분리되어 있으나, 유선 또는 무선으로 연결된 데이터베이스가 될 수도 있다.The memory 121 is a flash memory type, a hard disk type, a solid state disk type, a silicon disk drive type, and a multimedia card micro type. micro type), card type memory (eg SD or XD memory, etc.), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable EEPROM (EEPROM) It may include a storage medium of at least one type of a programmable read-only memory (PROM), a programmable read-only memory (PROM), a magnetic memory, a magnetic disk, and an optical disk. In addition, the memory 211 is separated from the apparatus, but may be a database connected by wire or wirelessly.

메모리(121)는 도착지 별로 전역 경로가 저장되어 있을 수 있다. 도착지 별 전역 경로는 병원, 공항, mall 등과 같은 공간에서 이동 로봇(100)이 특정 목적지까지 도착하기 위한 경로일 수 있다.The memory 121 may store global routes for each destination. The global route for each destination may be a route for the mobile robot 100 to arrive at a specific destination in a space such as a hospital, an airport, or a mall.

메모리(121)는 지도 정보(A)가 저장되어 있을 수 있다. 이때, 도 2에 도시된 바와 같이, 지도 정보(A)는 격자 지도일 수 있다. 격자 지도는 이동 로봇(100)의 센싱을 통해 또는 사전에 여러가지 SLAM(Simutaneous Localization And Mapping) 기법을 이용하여 2D 또는 3D 자율 주행을 위한 형태로 생성될 수 있다. 예를 들어, 격자 지도는 png, pgm 등의 이미지 파일의 형태의 2D 지도로 생성되거나, 3축 공간 정보가 포함된 포인트 클라우드 데이터(Poing cloud data) 등을 통해 3D 지도로 생성될 수 있다. 지도 정보(A)의 제1 공간(S1)은 넓은 공간일 수 있으며, 지도 정보(A)의 제2 공간(S2)은 좁은 공간일 수 있다.The memory 121 may store map information A. In this case, as shown in FIG. 2 , the map information A may be a grid map. The grid map may be generated in a form for 2D or 3D autonomous navigation through sensing of the mobile robot 100 or by using various simultaneous localization and mapping (SLAM) techniques in advance. For example, the grid map may be generated as a 2D map in the form of an image file such as png or pgm, or as a 3D map through point cloud data including 3-axis spatial information. The first space S1 of the map information A may be a wide space, and the second space S2 of the map information A may be a narrow space.

프로세서(122)는 도착지 별로 장애물을 회피하여 주행하기 위한 동작을 제어할 수 있다.The processor 122 may control an operation for driving while avoiding an obstacle for each destination.

일 예로, 프로세서(122)는 도착지까지의 전역 경로를 생성하고, 도착지까지의 전역 경로에 따라 기 설정된 공간 크기보다 큰 제1 공간 또는 기 설정된 공간 크기보다 작은 제2 공간인지를 판단할 수 있다. 여기에서, 프로세서(122)는 지도 정보의 객체 및 전역 경로간의 이격 거리를 산출할 수 있다. 프로세서(122)는 이격 거리가 기 설정된 기준값 내에 있으면, 제2 공간으로 판단할 수 있고, 이격 거리가 기준값을 초과하면, 제1 공간으로 판단할 수 있다. 이때, 제1 공간은 제2 공간보다 큰 공간일 수 있다.For example, the processor 122 may generate a global path to the destination and determine whether the global path to the destination is a first space larger than the preset space size or a second space smaller than the preset space size. Here, the processor 122 may calculate a separation distance between the object of map information and the global path. The processor 122 may determine the second space if the separation distance is within a preset reference value, and determine the first space if the separation distance exceeds the reference value. In this case, the first space may be larger than the second space.

프로세서(122)는 제1 공간이면, 장애물을 감지한 상태에서 기 설정된 장애물과의 접근 시간 및 접근 거리가 될 때에, 장애물의 접근 상태에 따라 회피하여 주행하기 위한 제1 회피 경로를 생성할 수 있다. 일 예로, 프로세서(122)는 제1 공간이면, 장애물을 감지한 상태에서 기 설정된 장애물과의 접근 시간 및 접근 거리가 되기전까지는 주행을 멈춰 대기하고 있다가, 기 설정된 장애물과의 접근 시간 및 접근 거리가 될 때에 제1 회피 경로를 생성할 수 있다.In the first space, the processor 122 may generate a first avoidance path for avoiding and traveling according to the approach state of the obstacle when the preset approach time and approach distance to the obstacle are reached in a state in which the obstacle is detected. . For example, if the processor 122 is in the first space, the processor 122 stops driving and waits until the preset approach time and approach distance to the obstacle are reached in a state where the obstacle is detected, and then the preset access time and approach to the obstacle is reached. When the distance is reached, a first avoidance path may be created.

프로세서(122)는 제2 공간이면, 장애물을 감지한 순간, 장애물을 즉시 회피하여 주행하기 위한 제2 회피 경로를 생성할 수 있다. 여기에서, 프로세서(122)는 장애물을 감지한 순간, 가상 장애물 선을 생성하고, 가상 장애물 선과 접촉되지 않도록 제2 회피 경로를 생성할 수 있다. 이때, 가상 장애물 선은 전역 경로상에서 장애물보다 앞쪽에 배치될 수 있다.If the processor 122 is in the second space, upon detecting an obstacle, the processor 122 may immediately avoid the obstacle and create a second avoidance path for driving. Here, the processor 122 may generate a virtual obstacle line upon detecting an obstacle, and generate a second avoidance path so as not to come into contact with the virtual obstacle line. At this time, the virtual obstacle line may be placed in front of the obstacle on the global path.

구동부(130)는 프로세서(122)를 통해 생성된 제1 회피 경로, 제2 회피 경로를 기반으로, 도착지까지 주행하도록 이동 로봇(100)을 구동할 수 있다. 예를 들어, 구동부(130)는 이동 로봇(100)의 주행에 필요한 동력을 제공하기 위해, 배터리 및 배터리로부터 전원을 공급받는 전자적인 부품, 배터리 및 배터리로부터 전원을 공급받아 구동하는 바퀴 또는 구동벨트 등의 기계적인 구동 부품을 포함할 수 있다.The driving unit 130 may drive the mobile robot 100 to travel to the destination based on the first avoidance path and the second avoidance path generated through the processor 122 . For example, the driving unit 130 may include a battery, an electronic component supplied with power from the battery, and a wheel or drive belt driven by receiving power from the battery and the battery in order to provide power necessary for driving the mobile robot 100. It may include mechanical driving parts such as

도 3은 본 개시에 따른 이동 로봇의 공간 크기별 맞춤형 자율 주행 방법을 나타낸 순서도이다. 도 4는 도 1의 프로세서에서 공간들을 판단하는 과정을 일 예로 나타낸 도면이다.3 is a flowchart illustrating a method for autonomous driving customized for each space size of a mobile robot according to the present disclosure. FIG. 4 is a diagram illustrating a process of determining spaces in the processor of FIG. 1 as an example.

도 5는 도 1의 프로세서에서 제1 공간으로 판단할 때의 회피 주행 과정을 일 예로 나타낸 도면이다. 도 6 및 도 7은 도 1의 프로세서에서 제2 공간으로 판단할 때의 회피 주행 과정을 일 예로 나타낸 도면들이다.FIG. 5 is a diagram illustrating an avoidance driving process when the processor of FIG. 1 determines that the space is a first space, as an example. 6 and 7 are diagrams illustrating an example of an avoidance driving process when the processor of FIG. 1 determines that the space is a second space.

도 3 내지 도 7을 참조하면, 이동 로봇의 공간 크기별 맞춤형 자율 주행 방법은, 전역 경로 생성 단계(S310), 판단 단계(S330), 제1 회피 경로 생성 단계(S350a), 제2 회피 경로 생성 단계(S350b), 주행 단계(S370)를 포함할 수 있다.3 to 7, the autonomous driving method customized for each space size of a mobile robot includes a global route generation step (S310), a determination step (S330), a first avoidance route generation step (S350a), and a second avoidance route generation step. (S350b) and driving step (S370).

전역 경로 생성 단계는, 이동 로봇(100)이 도착지까지의 전역 경로(MR)를 생성할 수 있다(S310).In the global path generating step, the mobile robot 100 may generate a global path MR to the destination (S310).

판단 단계는, 이동 로봇(100)이 도착지까지의 전역 경로(MR)에 따라 기 설정된 공간 크기보다 큰 제1 공간(S1) 또는 기 설정된 공간 크기보다 작은 제2 공간(S2)인지를 판단할 수 있다(S330). 이동 로봇(100)은 초음파 센서, 레이더 센서, 라이다 센서 중 적어도 하나를 포함하는 센서부(110)를 기반으로 제1 공간(S1) 또는 제2 공간(S2)인지를 판단할 수 있다. 여기에서, 프로세서(122)는 도 4에 도시된 바와 같이, 지도 정보(A)의 객체(P) 및 전역 경로(MR)간의 이격 거리(d1)를 산출할 수 있다. 프로세서(122)는 이격 거리(d1)가 기 설정된 기준값 내에 있으면, 제2 공간(S2)으로 판단할 수 있다. 프로세서(122)는 이격 거리(d1)가 기준값을 초과하면, 제1 공간(S1)으로 판단할 수 있다. 이때, 제1 공간(S1)은 제2 공간(S2)보다 큰 공간일 수 있다.In the determining step, it may be determined whether the mobile robot 100 is in a first space S1 larger than a preset space size or a second space S2 smaller than a preset space size according to the global route MR to the destination. Yes (S330). The mobile robot 100 may determine whether it is the first space S1 or the second space S2 based on the sensor unit 110 including at least one of an ultrasonic sensor, a radar sensor, and a LiDAR sensor. Here, the processor 122 may calculate the separation distance d1 between the object P of the map information A and the global path MR, as shown in FIG. 4 . The processor 122 may determine the second space S2 when the separation distance d1 is within a preset reference value. The processor 122 may determine the first space S1 when the separation distance d1 exceeds the reference value. In this case, the first space S1 may be larger than the second space S2.

제1 회피 경로 생성 단계는, 프로세서(122)를 통해 제1 공간(S1)이면, 도 5에 도시된 바와 같이, 장애물(D)을 감지한 상태에서 기 설정된 장애물(D)과의 접근 시간(t2) 및 접근 거리(d2)가 될 때에, 장애물(D)의 접근 상태에 따라 회피하여 주행하기 위한 제1 회피 경로(R1)를 생성할 수 있다(S350a). 일 예로, 프로세서(122)는 제1 공간(S1)이면, 장애물(D)을 감지한 상태에서 기 설정된 장애물(D)과의 접근 시간(t2) 및 접근 거리(d2)가 되기전까지는 주행을 멈춰 대기하고 있다가, 기 설정된 장애물(D)과의 접근 시간(t2) 및 접근 거리(d2)가 될 때에 제1 회피 경로(R1)를 생성할 수 있다. 이때, 감지 범위(C)의 길이 및 폭은 사용자가 정할 수 있다. 감지 범위(C)에 장애물(D)이 감지되면, 이동 로봇(100)은 감지된 위치를 파악하고, 감지된 위치 근처까지 회피하지 않고 주행하며, 장애물(D)과의 접근 시간 및 접근 거리가 기 설정된 장애물(D)과의 접근 시간(t2) 및 접근 거리(d2)가 되기전까지는 주행을 멈춰 대기하고 있다가, 기 설정된 장애물(D)과의 접근 시간(t2) 및 접근 거리(d2)가 될 때에 장애물(D)을 회피하여 주행하기 위한 제1 회피 경로(R1)를 생성할 수 있다.In the first avoidance path generation step, if the first space S1 is through the processor 122, as shown in FIG. t2) and the approach distance d2, a first avoidance path R1 for avoiding and driving may be created according to the approaching state of the obstacle D (S350a). For example, if the processor 122 is in the first space S1, in a state in which the obstacle D is detected, driving is performed until the preset approach time t2 and approach distance d2 with the obstacle D are reached. After stopping and waiting, the first avoidance path R1 may be created when the approach time t2 and the approach distance d2 with the preset obstacle D are reached. At this time, the length and width of the sensing range C can be determined by the user. When an obstacle D is detected in the detection range C, the mobile robot 100 determines the detected position, travels to the vicinity of the detected position without avoiding, and the approach time and distance to the obstacle D are determined. The driving stops and waits until the approach time (t2) and approach distance (d2) with the preset obstacle (D) are reached, and then the approach time (t2) and approach distance (d2) with the preset obstacle (D) are reached. , a first avoidance path R1 for traveling while avoiding the obstacle D may be created.

제2 회피 경로 생성 단계는, 프로세서(122)를 통해 제2 공간(S2)이면, 도 6에 도시된 바와 같이, 장애물(D)을 감지한 순간, 장애물(D)을 즉시 회피하여 주행하기 위한 제2 회피 경로(R2)를 생성할 수 있다(S350b). 이때, 감지 범위(C)의 길이 및 폭은 사용자가 정할 수 있다. 제2 공간(S2)은 좁은 공간이므로, 이동 로봇(100)이 멈춰 있으면, 그 공간을 점유하여 동일한 업무를 수행하는 다른 이동 로봇 등의 이동형 사물과, 사람, 고양이, 개 등의 이동형 동물의 이동을 방해할 수 있다. 따라서, 이러한 좁은 공간에서는 이동 로봇(100)이 빠르게 장애물(D)을 감지하고, 미리 장애물(D)을 회피하여 주행하기 위한 제2 회피 경로(R2)를 생성할 수 있다.In the second avoidance path generating step, if the second space S2 is through the processor 122, as shown in FIG. 6, the moment the obstacle D is detected, the obstacle D is immediately avoided and driven. A second avoidance path R2 may be created (S350b). At this time, the length and width of the sensing range C can be determined by the user. Since the second space S2 is a narrow space, when the mobile robot 100 is stopped, mobile objects such as other mobile robots that occupy the space and perform the same task, and mobile animals such as people, cats, and dogs move. can interfere with Accordingly, in such a narrow space, the mobile robot 100 can quickly detect the obstacle D and create a second avoidance path R2 for avoiding the obstacle D in advance.

또한, 프로세서(122)는 도 7에 도시된 바와 같이, 장애물(D)을 감지한 순간, 가상 장애물 선(L1)을 생성하고, 가상 장애물 선(L1)과 접촉되지 않도록 제2 회피 경로(R2)를 생성할 수도 있다. 여기에서, 가상 장애물 선(L1)은 T자 형상으로 생성될 수 있고, 전역 경로(MR)상에서 장애물(D)보다 앞쪽에 배치될 수 있다. 이때, 프로세서(122)는 생성된 가상 장애물 선(L1)을 local costmap에 반영하면, 장애물(D)을 타원형으로 감싸는 제2 회피 경로(R2)를 생성할 수 있다.In addition, as shown in FIG. 7 , the processor 122 generates a virtual obstacle line L1 at the moment when the obstacle D is detected, and the second avoidance path R2 so as not to come into contact with the virtual obstacle line L1. ) can also be created. Here, the virtual obstacle line L1 may be created in a T-shape and disposed in front of the obstacle D on the global path MR. In this case, the processor 122 may generate a second avoidance path R2 surrounding the obstacle D in an elliptical shape by reflecting the generated virtual obstacle line L1 to the local costmap.

주행 단계(S270)는 프로세서(122)를 통해 생성된 제1 회피 경로(R1), 제2 회피 경로(R2)로 회피한 이후, 도착지까지의 전역 경로(MR)로 주행하도록, 구동부(130)를 통해 이동 로봇(100)을 구동할 수 있다.In the driving step (S270), after avoiding the first avoidance path R1 and the second avoidance path R2 generated through the processor 122, the driver 130 drives the global path MR to the destination. It is possible to drive the mobile robot 100 through.

한편, 메모리(121)에는 각각의 공간별 영상 정보, 각각의 장애물 유형 별 영상 정보, 각각의 회피 경로 정보가 연계되어 저장될 수 있다.Meanwhile, in the memory 121 , image information for each space, image information for each obstacle type, and avoidance path information may be linked and stored.

도 8은 도 1의 메모리에 최적의 회피 경로 데이터를 저장하는 과정을 일 예로 나타낸 도면이다.8 is a diagram illustrating a process of storing optimal avoidance path data in the memory of FIG. 1 as an example.

도 9를 참조하면, 제어부(120)와 전기적으로 연결된 서버(10)는 메타데이터인 공간 영상 데이터(ID1), 장애물 유형 별 영상 데이터(ID2) 및 회피 경로 데이터(ID3)의 입력값을 회피 경로 모델(M)을 기반으로 학습하여 추천된 최적의 회피 경로 데이터(OD)의 결과값을 출력할 수 있다.Referring to FIG. 9 , the server 10 electrically connected to the control unit 120 converts input values of spatial image data ID1, image data ID2 for each obstacle type, and avoidance path data ID3, which are meta data, to an avoidance path. It is possible to output the result value of the optimal avoidance path data OD recommended by learning based on the model M.

이때, 공간 영상 데이터(ID1)는 각각의 공간 크기, 각각의 공간 좌표를 포함할 수 있다. 또한, 장애물 유형 별 영상 데이터(ID2)는 고정형 사물 데이터(ID2-1), 이동형 사물 데이터(ID2-2) 및 이동형 동물 데이터(ID2-3)를 포함할 수 있다. 예를 들어, 고정형 사물 데이터(ID2-1)는 벽, 가구, 노점, 기둥, 계단 등일 수 있고, 이동형 사물 데이터(ID2-2)는 동일한 업무를 수행하는 다른 이동 로봇 등일 수 있으며, 이동형 동물 데이터(ID2-3)는 사람, 고양이, 개 등일 수 있다. 또한, 회피 경로 데이터(ID3)는 이동 로봇(100)의 주행시 장애물을 다양한 회피 경로로 회피하는 데이터일 수 있다.In this case, the spatial image data ID1 may include each spatial size and each spatial coordinate. In addition, the image data ID2 for each type of obstacle may include stationary object data ID2-1, mobile object data ID2-2, and mobile animal data ID2-3. For example, fixed object data (ID2-1) may be walls, furniture, stalls, pillars, stairs, etc., mobile object data (ID2-2) may be other mobile robots performing the same task, and mobile animal data. (ID2-3) may be a person, cat, dog, etc. Also, the avoidance path data ID3 may be data for avoiding obstacles in various avoidance paths while the mobile robot 100 is driving.

회피 경로 모델(M)은 입력 데이터에 포함된 공간 영상 데이터(ID1), 장애물 유형 별 영상 데이터(ID2) 및 회피 경로 데이터(ID3)를 상관 관계를 통해 학습하도록 구축될 수 있다. 회피 경로 모델(M)은 공간 영상 데이터(ID1), 장애물 유형 별 영상 데이터(ID2) 및 회피 경로 데이터(ID3)를 CNN 알고리즘 또는 RNN 알고리즘을 이용하여 학습데이터 셋으로 구축 및 강화 학습시킬 수 있다.The avoidance path model M may be constructed to learn spatial image data ID1 included in the input data, image data ID2 for each obstacle type, and avoidance path data ID3 through correlation. The avoidance path model (M) can be constructed and reinforced-learned as a training data set using a CNN algorithm or an RNN algorithm on spatial image data (ID1), image data (ID2) for each obstacle type, and avoidance path data (ID3).

서버(10)는 공간 영상 데이터(ID1), 장애물 유형 별 영상 데이터(ID2) 및 회피 경로 데이터(ID3)를 기반으로 판단한 해당 공간에서의 최적의 회피 경로 데이터(OD)를 제어부(120)의 메모리(121)에 전송할 수 있다. 메모리(121)는 수신된 해당 공간에서의 최적의 회피 경로 데이터(OD)를 저장할 수 있다. 이때, 메모리(211)는 해당 공간에서의 해당 장애물 유형에 따른 최적의 회피 경로 데이터가 저장될 수 있다.The server 10 stores the optimal avoidance path data OD in the space determined based on the spatial image data ID1, the image data ID2 for each obstacle type, and the avoidance path data ID3 in the memory of the controller 120. (121). The memory 121 may store the received optimal avoidance path data OD in the corresponding space. At this time, the memory 211 may store optimal avoidance path data according to the corresponding obstacle type in the corresponding space.

프로세서(122)는 카메라(140)로부터 공간 및 장애물 유형이 포함된 영상이 수신된 경우, 인공지능을 기반으로 영상 내에서 공간 정보 및 장애물 유형 정보를 추출할 수 있다. 여기에서, 프로세서(122)는 Object Detection 모델을 이용하여 공간 정보 및 장애물 유형 정보를 추출할 수 있다. 이때, 공간 정보는 공간 크기, 공간 좌표를 포함할 수 있고, 장애물 유형 정보는 고정형 사물, 이동형 사물, 이동형 동물일 수 있다.When an image including a space and an obstacle type is received from the camera 140, the processor 122 may extract space information and obstacle type information from the image based on artificial intelligence. Here, the processor 122 may extract space information and obstacle type information using an object detection model. In this case, spatial information may include spatial size and spatial coordinates, and obstacle type information may include fixed objects, movable objects, and movable animals.

여기에서, 카메라(140)는 이미지 센서를 이용하는 영상 카메라로 제공될 수 있다. 카메라(140)는 이미지 센서를 통해 획득한 정지영상 또는 동영상 등의 화상 프레임을 처리할 수 있다. 한편, 카메라(140)가 복수개일 경우, 매트릭스 구조를 이루도록 배치될 수 있다. 이러한 매트릭스 구조를 이루는 영상 카메라들을 통해 다양한 각도 또는 초점을 갖는 복수의 영상정보가 입력될 수 있다. 또한, 영상 카메라들은 3차원의 입체영상을 구현하기 위한 좌 영상 및 우 영상을 획득하도록, 스트레오 구조로 배치될 수 있다. 또한, 카메라(140)는 AI 카메라로 제공될 수도 있다. AI 카메라는 인간의 망막을 모방하여 만들어진 광각센서를 통해 인식된 이미지를, 뇌신경망 알고리즘으로 미세하게 조정할 수 있다. AI 카메라는 셔터 속도, 광노출, 포화도, 색 농도, 동적 범위, 대비 등을 조절할 수 있다. 또한, AI 카메라는 촬영된 영상을 양질의 영상으로 출력할 수 있다.Here, the camera 140 may be provided as a video camera using an image sensor. The camera 140 may process an image frame such as a still image or a moving image acquired through an image sensor. Meanwhile, when there are a plurality of cameras 140, they may be arranged to form a matrix structure. A plurality of image information having various angles or focal points may be input through image cameras constituting such a matrix structure. In addition, the video cameras may be arranged in a stereo structure to acquire left and right images for realizing a 3D stereoscopic image. Also, the camera 140 may be provided as an AI camera. The AI camera can fine-tune the image recognized through a wide-angle sensor that mimics the human retina with a brain neural network algorithm. The AI camera can adjust shutter speed, light exposure, saturation, color depth, dynamic range, and contrast. In addition, the AI camera can output the captured image as a high-quality image.

도 9는 본 개시에 따른 인공 지능 기반의 이동 로봇의 공간 크기별 맞춤형 자율 주행 방법을 나타낸 순서도이다.9 is a flowchart illustrating an autonomous driving method customized for each space size of an artificial intelligence-based mobile robot according to the present disclosure.

먼저, 도 9의 인공 지능 기반의 이동 로봇의 공간 크기별 맞춤형 자율 주행 방법은 도 3의 이동 로봇의 공간 크기별 맞춤형 자율 주행 방법과 동일하게 전역 경로 생성 단계(S310), 판단 단계(S330), 제1 회피 경로 생성 단계(S350a), 제2 회피 경로 생성 단계(S350b), 주행 단계(S370)를 포함하여 수행할 수 있다. 이러한, 각각의 단계들의 기능 및 그것들 간의 유기적인 연결 관계는 도 3의 방법에서 전술하였기에, 이하 생략하기로 한다.First, the autonomous driving method customized for each space size of the artificial intelligence-based mobile robot of FIG. It can be performed including generating an avoidance path (S350a), generating a second avoidance path (S350b), and driving (S370). Since the function of each step and the organic connection between them have been described above in the method of FIG. 3, they will be omitted below.

도 9를 참조하면, 인공 지능 기반의 이동 로봇의 공간 크기별 맞춤형 자율 주행 방법은, 영상 획득 단계(S341), 장애물 유형 판단 단계(S342, S343, S345), 알림 단계(S344), 제1 출력 단계(S346), 제2 출력 단계(S347)를 포함할 수 있다.Referring to FIG. 9 , the autonomous driving method customized for each space size of an artificial intelligence-based mobile robot includes an image acquisition step (S341), an obstacle type determination step (S342, S343, and S345), a notification step (S344), and a first output step. (S346) and a second output step (S347).

영상 획득 단계는, 프로세서(122)를 통해, 카메라(140)로부터 획득한 제1 공간(S1) 또는 제2 공간(S2)내의 장애물의 유형 영상을 수신받을 수 있다(S341).In the image acquisition step, the type image of the obstacle in the first space S1 or the second space S2 obtained from the camera 140 may be received through the processor 122 (S341).

장애물 유형 판단 단계는, 프로세서(122)를 통해, 인공지능을 기반으로 영상 내에서 장애물의 유형을 판단할 수 있다(S342, S343, S345). 프로세서(122)는 장애물의 유형이 고정형 사물인지 또는 이동형 사물인지 판단할 수 있다.In the obstacle type determination step, the type of obstacle in the image may be determined based on artificial intelligence through the processor 122 (S342, S343, S345). The processor 122 may determine whether the type of obstacle is a fixed object or a movable object.

여기에서, 프로세서(122)는 고정형 사물이면(S342의 예), 제1 회피 경로를 생성하거나(S350a), 제2 회피 경로를 생성할 수 있다(S350b). 이때, 고정형 사물은 벽, 가구, 노점, 기둥, 계단 등일 수 있다.Here, the processor 122 may generate a first avoidance path (S350a) or a second avoidance path (S350b) if it is a fixed object (YES in S342). In this case, the fixed objects may be walls, furniture, stalls, pillars, stairs, and the like.

장애물 유형 판단 단계는, 프로세서(122)를 통해 고정형 사물이 아니면(S342의 아니오), 이동형 사물인지를 판단할 수 있다(S343). In the obstacle type determination step, if the object is not a fixed object through the processor 122 (No in S342), it may be determined whether the object is a movable object (S343).

알림 단계는, 프로세서(122)를 통해 이동형 사물이면(S343의 예), 통신부(150)를 통해 동일한 업무를 수행하는 다른 이동 로봇에게 예상 이동 방향, 예상 이동 경로를 알릴 수 있다(S344). 여기에서, 이동형 사물은 동일한 업무를 수행하는 다른 이동 로봇일 수 있고, 다른 이동 로봇은 이동 방향의 변화가 심하지 않으므로, 이동 로봇은 카메라 및 라이다 센서를 이용하여 다른 이동 로봇의 이동 방향을 감지하고, 감지된 이동 방향을 기반으로 다른 이동 로봇과의 동선이 겹치지 않는 방향으로 이동할 수 있다. 이동 로봇은 통신부(150)를 통해 예상 이동 방향, 예상 이동 경로에 대한 좌표를 다른 이동 로봇에게 송신하여 알릴 수 있다. 프로세서(122)는 예상 이동 방향, 예상 이동 경로를 알리면(S344), 제1 회피 경로를 생성하거나(S350a), 제2 회피 경로를 생성할 수 있다(S350b).In the notification step, if it is a mobile object (Yes in S343) through the processor 122, the expected movement direction and expected movement path may be notified to other mobile robots performing the same task through the communication unit 150 (S344). Here, the mobile object may be another mobile robot performing the same task, and since the other mobile robot does not have a significant change in the moving direction, the mobile robot detects the moving direction of the other mobile robot using a camera and lidar sensor, , based on the detected movement direction, it can move in a direction that does not overlap with other mobile robots. The mobile robot may transmit coordinates of an expected movement direction and an estimated movement path to other mobile robots through the communication unit 150 to notify them. The processor 122 may generate a first avoidance path (S350a) or a second avoidance path (S350b) when notifying the expected movement direction and expected movement path (S344).

여기에서, 통신부(150)는 와이파이(Wifi) 모듈, 와이브로(Wireless broadband) 모듈 외에도, GSM(global System for Mobile Communication), CDMA(Code Division Multiple Access), WCDMA(Wideband Code Division Multiple Access), UMTS(universal mobile telecommunications system), TDMA(Time Division Multiple Access), LTE(Long Term Evolution), 4G, 5G, 6G 등 다양한 무선 통신 방식을 지원하는 무선 통신 모듈을 포함할 수 있다.Here, the communication unit 150 includes a WiFi module and a wireless broadband module, as well as a global system for mobile communication (GSM), code division multiple access (CDMA), wideband code division multiple access (WCDMA), and UMTS ( A wireless communication module supporting various wireless communication schemes such as universal mobile telecommunications system (TDMA), Time Division Multiple Access (TDMA), Long Term Evolution (LTE), 4G, 5G, and 6G may be included.

장애물 유형 판단 단계는, 프로세서(122)를 통해 이동형 사물이 아니면(S343의 아니오), 이동형 동물로 판단할 수 있다. 이동형 동물(사람, 애완동물)은 순간적으로 이동 방향의 변화가 발생될 수 있으므로, 회피 경로로 이동 전 또는 이동과 동시에 예상 이동 방향, 예상 이동 경로를 이동형 동물에게 알릴 필요가 있다. In the obstacle type determination step, if it is not a mobile object through the processor 122 (No in S343), it may be determined as a mobile animal. Since the mobile animal (human, pet) may change its movement direction instantaneously, it is necessary to notify the mobile animal of the expected movement direction and expected movement path before or simultaneously with the movement to the avoidance path.

제1 출력 단계는, 프로세서(122)를 통해 이동형 동물이 사람이면(S345의 예), 출력부(160)를 통해 예상 이동 방향, 예상 이동 경로를 음성으로 출력하여 사람에게 알릴 수 있다(S346). 예를 들어, 출력부(160)는 음성 스피커 등의 음성을 출력하는 모든 수단일 수 있다. 프로세서(122)는 예상 이동 방향, 예상 이동 경로를 음성으로 출력하면(S346), 제1 회피 경로를 생성하거나(S350a), 제2 회피 경로를 생성할 수 있다(S350b).In the first output step, if the mobile animal is a human (YES in S345) through the processor 122, the expected movement direction and expected movement path may be output through the output unit 160 as voice to inform the human (S346). . For example, the output unit 160 may be any means for outputting voice, such as a voice speaker. When the processor 122 outputs the expected movement direction and expected movement path as voice (S346), it may generate a first avoidance path (S350a) or a second avoidance path (S350b).

제2 출력 단계는, 프로세서(122)를 통해 이동형 동물이 사람이 아니면(S345의 아니오), 출력부(160)를 통해 경고음을 출력하여 애완동물(개, 고양이 등)에게 알릴 수 있다(S347). 예를 들어, 출력부(160)는 부저 등의 경고음을 출력하는 모든 수단일 수 있다. 이때, 부저는 이동 로봇의 좌측 및 우측에 마련되고, 예상 이동 경로와 반대되는 방향의 경고음을 출력하여 애완동물이 회피할 수 있도록 해 줄 수 있다. 즉, 이동 로봇이 45도 좌측 전방으로 회피 시에, 우측에 마련된 부저의 경고음을 출력하여, 애완동물이 우측으로 더 도망가게 할 수 있다. 프로세서(122)는 예상 이동 경로와 반대되는 방향의 경고음을 출력하면(S347), 제1 회피 경로를 생성하거나(S350a), 제2 회피 경로를 생성할 수 있다(S350b).In the second output step, if the mobile animal is not a human (No in S345) through the processor 122, a warning sound may be output through the output unit 160 to inform the pet (dog, cat, etc.) (S347). . For example, the output unit 160 may be any means for outputting a warning sound such as a buzzer. At this time, the buzzer is provided on the left and right sides of the mobile robot, and outputs a warning sound in a direction opposite to the expected movement path so that the pet can avoid it. That is, when the mobile robot evades forward by 45 degrees to the left, the buzzer provided on the right outputs a warning sound, so that the pet can further run away to the right. When the processor 122 outputs a warning sound in a direction opposite to the expected movement path (S347), it may generate a first avoidance path (S350a) or a second avoidance path (S350b).

도 10 내지 도 12는 도 1의 프로세서에서 제1 공간 및 제2 공간으로 판단할 때의 안전 주행 과정을 일 예로 나타낸 도면들이다.10 to 12 are diagrams illustrating a safe driving process when the processor of FIG. 1 determines the first space and the second space as an example.

도 10 내지 도 12를 참조하면, 본 개시는 이동 로봇(100)이 안전하게 이동할 수 있도록, 지도 정보(A)의 격자선(DL11, DL12)(DL21, DL22)으로부터 코스트 경계선(CL11, CL12)(CL21, CL22)까지 코스트 값을 부여하여 이동 로봇(100)이 벽근처로 이동하는 것을 방지할 수 있다. 이때, 코스트 경계선(CL11, CL12)(CL21, CL22)간의 안쪽은 이동 로봇(100)이 이동할 수 있는 안전 공간일 수 있다.10 to 12, the present disclosure provides coast boundary lines CL11 and CL12 (from grid lines DL11 and DL12 (DL21 and DL22) of map information A so that the mobile robot 100 can move safely. By giving cost values up to CL21 and CL22, it is possible to prevent the mobile robot 100 from moving near the wall. At this time, the inside between the coast boundary lines CL11 and CL12 (CL21 and CL22) may be a safe space in which the mobile robot 100 can move.

프로세서(122)는 코스트 값을 기반으로, 지도 정보(A)의 넓은 공간인 제1 공간(S1)과, 좁은 공간인 제2 공간(S2)을 판단하고, 이동 로봇(100)이 제1 공간(S1)의 벽 근처 또는 제2 공간(S)의 벽근처로 이동하는 것을 방지하도록 이동 로봇(100)의 주행을 제어할 수 있다.Based on the cost value, the processor 122 determines a first space S1, which is a wide space, and a second space S2, which is a narrow space, of the map information A, and the mobile robot 100 determines the first space The driving of the mobile robot 100 can be controlled to prevent movement near the wall of (S1) or the wall of the second space (S).

이때, 제1 코스트 값은 코스트 경계선(CL11, CL21)상의 점 집합인 PFk 지점(PFk1 내지 PFkn)에서 격자선(DL11, DL21)과 수직이 되는 점 집합인 PGk 지점(PGk1 내지 PGkn)간의 거리로 산출될 수 있다. 그리고, 제2 코스트 값은 PFk 지점(PFk1 내지 PFkn)과 PGk 지점(PGk1 내지 PGkn)을 이용하여 직선의 방정식을 구하고, 상기 직선의 방정식을 기반으로 동일한 기울기를 가지는 코스트 경계선(CL12, CL22)상의 점 집합인 PFj 지점(PFj1 내지 PFjn)과, PFj 지점(PFj1 내지 PFjn)에서 격자선(DL12, DL22)과 수직이 되는 점 집합인 PGj 지점(PGj1 내지 PGjn)간의 거리로 산출될 수 있다. 이때, PFk 지점(PFk1 내지 PFkn)과 PFj 지점(PFj1 내지 PFjn)의 사이는 안전 공간일 수 있다.At this time, the first cost value is a distance between PFk points (PFk1 to PFkn), which are a set of points on the coast boundary lines (CL11, CL21), and PGk points (PGk1 to PGkn), which are a set of points perpendicular to the grid lines (DL11, DL21). can be derived. And, the second coast value obtains the equation of a straight line using the PFk points (PFk1 to PFkn) and the PGk points (PGk1 to PGkn), and based on the equation of the straight line, on the coast boundary lines (CL12, CL22) having the same slope It can be calculated as a distance between PFj points (PFj1 to PFjn), which are a set of points, and PGj points (PGj1 to PGjn), which are a set of points perpendicular to the grid lines (DL12, DL22) at the PFj points (PFj1 to PFjn). In this case, a safe space may be provided between the PFk points PFk1 to PFkn and the PFj points PFj1 to PFjn.

여기에서, PFk 지점(PFk1 내지 PFkn)과 PFj 지점(PFj1 내지 PFjn)간의 거리를 d라 정의할 수 있다. 이때, d는 사용자가 지정한 값 dth보다 작으면 좁은 공간인 제2 공간(S2)으로 설정될 수 있고, 사용자가 지정한 값 dth보다 크면 넓은 공간인 제1 공간(S1)으로 설정될 수 있다.Here, the distance between the PFk points PFk1 to PFkn and the PFj points PFj1 to PFjn may be defined as d. At this time, if d is smaller than the user-specified value dth, it may be set as a narrow second space (S2), and if it is greater than the user-specified value dth, it may be set as a wide space (first space S1).

따라서, 본 개시에 따른 이동 로봇, 인공 지능 기반의 이동 로봇의 공간 크기 별 맞춤형 자율 주행 방법 및 프로그램은, 장애물을 효율적으로 회피하여 도착지까지 빠르게 주행할 수 있다.Therefore, the autonomous driving method and program customized for each space size of a mobile robot and an artificial intelligence-based mobile robot according to the present disclosure can efficiently avoid obstacles and drive quickly to a destination.

100: 이동 로봇 110: 센서부
120: 제어부 121: 메모리
122: 프로세서 130: 구동부
140: 카메라 150: 음향 출력부
100: mobile robot 110: sensor unit
120: control unit 121: memory
122: processor 130: driving unit
140: camera 150: sound output unit

Claims (10)

인공 지능 기반의 이동 로봇의 공간 크기별 맞춤형 자율 주행 방법에 있어서,
상기 이동 로봇이 도착지까지의 전역 경로를 생성하는 단계;
상기 이동 로봇이 상기 도착지까지의 전역 경로에 따라 기 설정된 공간 크기보다 큰 제1 공간 또는 상기 기 설정된 공간 크기보다 작은 제2 공간인지를 판단하는 단계;
상기 제1 공간이면, 상기 이동 로봇이 라이다 센서를 기반으로 장애물을 감지한 상태에서 기 설정된 장애물과 충돌까지 걸리는 접근 시간 및 기 설정된 장애물과 충돌까지 걸리는 접근 거리가 될 때에, 상기 장애물의 접근 상태에 따라 회피하여 주행하기 위한 제1 회피 경로를 생성하는 단계; 및
상기 제2 공간이면, 상기 이동 로봇이 상기 라이다 센서를 기반으로 상기 장애물을 감지한 순간, 상기 장애물을 즉시 회피하여 주행하기 위한 제2 회피 경로를 생성하는 단계를 포함하되,
상기 판단 단계는,
상기 이동 로봇에 기 설정된 지도 정보의 정지 객체 및 상기 전역 경로간의 이격 거리를 산출하고, 상기 이격 거리가 기 설정된 기준값 내에 있으면, 상기 제2 공간으로 판단하며, 상기 이격 거리가 상기 기준값을 초과하면, 상기 제1 공간으로 판단하고,
상기 제1 회피 경로 생성 단계는,
상기 이동 로봇이 상기 라이다 센서를 기반으로 상기 접근 시간 및 상기 접근 거리가 되기전까지는 상기 제1 회피 경로를 생성하지 않고 상기 주행을 멈춰 대기하고 있다가, 상기 라이다 센서를 기반으로 상기 접근 시간 및 상기 접근 거리가 될 때에 상기 제1 회피 경로를 생성하고,
상기 제2 회피 경로 생성 단계는,
상기 이동 로봇이 상기 장애물을 감지한 순간, 가상 장애물 선을 생성하고,
상기 이동 로봇이 상기 가상 장애물 선과 접촉되지 않도록 상기 제2 회피 경로를 생성하는 것을 특징으로 하는, 방법.
In the autonomous driving method customized for each space size of an artificial intelligence-based mobile robot,
generating, by the mobile robot, a global route to a destination;
determining whether the mobile robot is in a first space larger than a preset space size or a second space smaller than the preset space size according to the global route to the destination;
In the first space, when the approach time required to collide with a preset obstacle and the approach distance required to collide with a preset obstacle in a state in which the mobile robot detects an obstacle based on a lidar sensor are reached, the approach state of the obstacle generating a first avoidance path for avoiding and traveling according to; and
If it is the second space, generating a second avoidance path for traveling by immediately avoiding the obstacle when the mobile robot detects the obstacle based on the lidar sensor,
The judgment step is
A separation distance between a stationary object of map information preset in the mobile robot and the global path is calculated, and if the separation distance is within a preset reference value, it is determined as the second space, and if the separation distance exceeds the reference value, Determined as the first space,
The first avoidance path generating step,
The mobile robot does not create the first avoidance path until the approaching time and the approaching distance are reached based on the lidar sensor, and waits while stopping the driving, and then waits for the approaching time based on the lidar sensor. and generating the first avoidance path when the approach distance is reached;
In the step of generating the second avoidance path,
The moment the mobile robot detects the obstacle, it creates a virtual obstacle line,
characterized in that the second avoidance path is generated so that the mobile robot does not come into contact with the virtual obstacle line.
삭제delete 삭제delete 삭제delete 하드웨어인 컴퓨터와 결합되어, 제1항의 인공 지능 기반의 이동 로봇의 공간 크기별 맞춤형 자율 주행 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록 매체에 저장된, 프로그램.A program stored in a computer-readable recording medium in order to execute a customized autonomous driving method for each space size of the artificial intelligence-based mobile robot of claim 1 in combination with a computer, which is hardware. 장애물을 감지하는 센서부;
도착지 별로 전역 경로 및 지도 정보가 저장된 메모리; 및
상기 도착지 별로 장애물을 회피하여 주행하기 위한 동작을 제어하는 프로세서를 포함하고,
상기 프로세서는,
도착지까지의 전역 경로를 생성하며,
상기 도착지까지의 전역 경로에 따라 기 설정된 공간 크기보다 큰 제1 공간 또는 상기 기 설정된 공간 크기보다 작은 제2 공간인지를 판단하고,
상기 제1 공간이면, 상기 센서부의 라이다 센서를 기반으로 상기 장애물을 감지한 상태에서 기 설정된 장애물과 충돌까지 걸리는 접근 시간 및 기 설정된 장애물과 충돌까지 걸리는 접근 거리가 될 때에, 상기 장애물의 접근 상태에 따라 회피하여 주행하기 위한 제1 회피 경로를 생성하며,
상기 제2 공간이면, 상기 라이다 센서를 기반으로 상기 장애물을 감지한 순간, 상기 장애물을 즉시 회피하여 주행하기 위한 제2 회피 경로를 생성하되,
상기 지도 정보의 정지 객체 및 상기 전역 경로간의 이격 거리를 산출하고,
상기 이격 거리가 기 설정된 기준값 내에 있으면, 상기 제2 공간으로 판단하며,
상기 이격 거리가 상기 기준값을 초과하면, 상기 제1 공간으로 판단하고,
상기 라이다 센서를 기반으로 상기 접근 시간 및 상기 접근 거리가 되기전까지는 상기 제1 회피 경로를 생성하지 않고 상기 주행을 멈춰 대기하고 있다가, 상기 라이다 센서를 기반으로 상기 접근 시간 및 상기 접근 거리가 될 때에 상기 제1 회피 경로를 생성하며,
상기 라이다 센서를 기반으로 상기 장애물을 감지한 순간, 가상 장애물 선을 생성하고,
상기 가상 장애물 선과 접촉되지 않도록 상기 제2 회피 경로를 생성하는 것을 특징으로 하는, 이동 로봇.
a sensor unit that detects an obstacle;
Memory storing global route and map information by destination; and
A processor controlling an operation for driving while avoiding an obstacle for each destination,
the processor,
create a global route to the destination,
determining whether a first space larger than a preset space size or a second space smaller than the preset space size is determined according to the global path to the destination;
In the first space, when the approach time required to collide with a preset obstacle and the approach distance required to collide with a preset obstacle in a state where the obstacle is detected based on the lidar sensor of the sensor unit are reached, the approach state of the obstacle generating a first avoidance path for driving by avoiding according to
If it is the second space, the moment the obstacle is detected based on the lidar sensor, a second avoidance path for driving by immediately avoiding the obstacle is created,
calculating a separation distance between a stationary object of the map information and the global path;
If the separation distance is within a preset reference value, it is determined as the second space,
When the separation distance exceeds the reference value, it is determined as the first space,
The first avoidance route is not generated until the approach time and the approach distance are reached based on the lidar sensor, and the driving is stopped and waited. generating the first avoidance path when
The moment the obstacle is detected based on the lidar sensor, a virtual obstacle line is created,
Characterized in that the second avoidance path is generated so as not to come into contact with the virtual obstacle line, the mobile robot.
삭제delete 삭제delete 삭제delete 제6항에 있어서,
상기 가상 장애물 선은, 상기 전역 경로상에서 상기 장애물보다 앞쪽에 배치되는 것을 특징으로 하는, 이동 로봇.
According to claim 6,
The mobile robot, characterized in that the virtual obstacle line is disposed in front of the obstacle on the global path.
KR1020220090105A 2022-07-21 2022-07-21 Mobile robot, customized autonomous driving method and program for each space size of mobile robot based on artificial intelligence KR102572841B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220090105A KR102572841B1 (en) 2022-07-21 2022-07-21 Mobile robot, customized autonomous driving method and program for each space size of mobile robot based on artificial intelligence
KR1020230111932A KR20240013082A (en) 2022-07-21 2023-08-25 Moving robot based on avoidance path model, autonomous driving method and program for moving robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220090105A KR102572841B1 (en) 2022-07-21 2022-07-21 Mobile robot, customized autonomous driving method and program for each space size of mobile robot based on artificial intelligence

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020230111932A Division KR20240013082A (en) 2022-07-21 2023-08-25 Moving robot based on avoidance path model, autonomous driving method and program for moving robot

Publications (2)

Publication Number Publication Date
KR102572841B1 true KR102572841B1 (en) 2023-08-30
KR102572841B9 KR102572841B9 (en) 2024-04-08

Family

ID=87846075

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020220090105A KR102572841B1 (en) 2022-07-21 2022-07-21 Mobile robot, customized autonomous driving method and program for each space size of mobile robot based on artificial intelligence
KR1020230111932A KR20240013082A (en) 2022-07-21 2023-08-25 Moving robot based on avoidance path model, autonomous driving method and program for moving robot

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020230111932A KR20240013082A (en) 2022-07-21 2023-08-25 Moving robot based on avoidance path model, autonomous driving method and program for moving robot

Country Status (1)

Country Link
KR (2) KR102572841B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100235033A1 (en) * 2006-09-11 2010-09-16 Kenjiro Yamamoto Moving device
KR20170094103A (en) 2017-07-28 2017-08-17 노인철 Cargo inventory survey method using autonomous mobile robot and 3D laser scanner
KR20180133367A (en) * 2016-08-22 2018-12-14 엘지전자 주식회사 Moving Robot and controlling method
JP2021064372A (en) * 2019-10-16 2021-04-22 ネイバー コーポレーションNAVER Corporation Method and system for controlling robot based on personal area associated with recognized person
KR20220124064A (en) * 2021-03-02 2022-09-13 주식회사 유진로봇 Moving path planning apparatus and method for robot

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100235033A1 (en) * 2006-09-11 2010-09-16 Kenjiro Yamamoto Moving device
KR20180133367A (en) * 2016-08-22 2018-12-14 엘지전자 주식회사 Moving Robot and controlling method
KR20170094103A (en) 2017-07-28 2017-08-17 노인철 Cargo inventory survey method using autonomous mobile robot and 3D laser scanner
JP2021064372A (en) * 2019-10-16 2021-04-22 ネイバー コーポレーションNAVER Corporation Method and system for controlling robot based on personal area associated with recognized person
KR20220124064A (en) * 2021-03-02 2022-09-13 주식회사 유진로봇 Moving path planning apparatus and method for robot

Also Published As

Publication number Publication date
KR102572841B9 (en) 2024-04-08
KR20240013082A (en) 2024-01-30

Similar Documents

Publication Publication Date Title
McGuire et al. Minimal navigation solution for a swarm of tiny flying robots to explore an unknown environment
US12005586B2 (en) Dynamic navigation of autonomous vehicle with safety infrastructure
Li et al. ISANA: wearable context-aware indoor assistive navigation with obstacle avoidance for the blind
Kovács et al. A novel potential field method for path planning of mobile robots by adapting animal motion attributes
CN111630460A (en) Path planning for autonomous mobile devices
US20200064827A1 (en) Self-driving mobile robots using human-robot interactions
CN107111317B (en) Moving body
US20190302790A1 (en) Method and apparatus for controlling a mobile robot
Couceiro et al. A PSO multi-robot exploration approach over unreliable MANETs
KR102572841B1 (en) Mobile robot, customized autonomous driving method and program for each space size of mobile robot based on artificial intelligence
Abdi et al. Escaping local minima in path planning using a robust bacterial foraging algorithm
US20210349467A1 (en) Control device, information processing method, and program
CN113848893A (en) Robot navigation method, device, equipment and storage medium
US11303799B2 (en) Control device and control method
Batista et al. Collision Avoidance for a Selective Compliance Assembly Robot Arm Manipulator Using Topological Path Planning
Akash et al. Autonomous Path Planner Vehicle Using Raspberry PI
Nagatani et al. Sensor information processing in robot competitions and real world robotic challenges
Duc Bui et al. Autonomous unmanned aerial vehicle flight control using multi-task deep neural network for exploring indoor environments
Gunethilake Blind navigation using deep learning-based obstacle detection
Fabiani et al. Tracking an unpredictable target among occluding obstacles under localization uncertainties
Ngoc et al. Efficient Evaluation of SLAM Methods and Integration of Human Detection with YOLO Based on Multiple Optimization in ROS2.
Shim et al. Automatic object searching by a mobile robot with single RGB-D camera
Binh et al. Deep learning-based object tracking and following for AGV robot
Subramanian et al. MDHO: mayfly deer hunting optimization algorithm for optimal obstacle avoidance based path planning using mobile robots
Yinka-Banjo et al. Comparative analysis of three obstacle detection and avoidance algorithms for a compact differential drive robot in v-rep

Legal Events

Date Code Title Description
A107 Divisional application of patent
GRNT Written decision to grant
G170 Re-publication after modification of scope of protection [patent]