KR20240068268A - 로봇 이동 제어 방법 및 이를 구현하는 관제 서버 - Google Patents

로봇 이동 제어 방법 및 이를 구현하는 관제 서버 Download PDF

Info

Publication number
KR20240068268A
KR20240068268A KR1020220149482A KR20220149482A KR20240068268A KR 20240068268 A KR20240068268 A KR 20240068268A KR 1020220149482 A KR1020220149482 A KR 1020220149482A KR 20220149482 A KR20220149482 A KR 20220149482A KR 20240068268 A KR20240068268 A KR 20240068268A
Authority
KR
South Korea
Prior art keywords
destination
robot
robots
final
movement
Prior art date
Application number
KR1020220149482A
Other languages
English (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 KR1020220149482A priority Critical patent/KR20240068268A/ko
Priority to PCT/KR2022/020100 priority patent/WO2024101522A1/ko
Publication of KR20240068268A publication Critical patent/KR20240068268A/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0217Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with energy consumption, time reduction or distance reduction criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • 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
    • 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/0005Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots with arrangements to save energy
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • G05D1/0291Fleet control
    • G05D1/0297Fleet control by controlling means in a control room
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Game Theory and Decision Science (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Theoretical Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

본 개시는 복수의 로봇들이 동일한 목표 위치로 이동해야 하는 경우 다른 로봇들의 이동에 방해가 되지 않으면서 상기 목표 위치에 적절한 순서로 신속하게 도달할 수 있도록 하는 로봇 이동 제어 방법 및 이를 구현하는 관제 서버에 관한 것으로서, 최종 목적지가 동일한 복수의 로봇들 각각의 최종 목적지 이동 비용을 계산하는 단계, 및 상기 복수의 로봇들이 이전 목적지 이동 비용이 없거나 소정 이동 비용을 초과하는 이전 목적지 이동 비용을 갖는 경우, 상기 복수의 로봇들에게 상기 최종 목적지 이동 비용이 최소인 로봇부터 순서대로, 상기 최종 목적지 및 이를 위한 적어도 하나의 후순위 목적지를 최상위 목적지부터 순서대로 현재 목적지로서 배정하는 단계를 포함하는 로봇 이동 제어 방법 등을 제공할 수 있다.

Description

로봇 이동 제어 방법 및 이를 구현하는 관제 서버 {METHOD FOR CONTROLLING ROBOT MOVEMENT AND CONTROL SERVER IMPLEMENTING THE SAME}
본 개시는 목표 위치로 로봇을 이동시키기 위한 위한 로봇 이동 제어 방법 및 이를 구현하는 관제 서버에 관한 것이다.
로봇은 산업용으로 개발되어 공장 자동화의 일 부분을 담당하여 왔다. 최근에는 로봇을 응용한 분야가 더욱 확대되어, 의료용 로봇, 우주 항공 로봇 등이 개발되고, 일반 가정에서 사용할 수 있는 가정용 로봇도 만들어지고 있다. 이러한 로봇 중에서 자력으로 주행이 가능한 것도 있다.
복수의 로봇들이 동일한 목표 위치로 이동 명령을 수신하고 상기 목표 위치로 이동 경로를 계획하고 상기 계획된 각각의 이동 경로를 따라 상기 목표 위치로 이동할 수 있다. 이 경우, 상기 복수의 로봇들 중 한 로봇이 상기 목표 위치에 먼저 도착하는 경우 적어도 하나의 다른 로봇은 상기 한 로봇이 상기 목표 위치를 떠날 때까지 상기 목표 위치 근처에서 대기하고 있어야 한다. 상기 목표 위치 근처에 대기하고 있는 다른 로봇은 또다른 로봇들의 이동에 방해가 될 수 있다. 따라서, 상기 다른 로봇들은 상기 또다른 로봇들의 이동에 방해가 되지 않도록 적절한 위치에 대기할 필요가 있다.
본 개시는, 복수의 로봇들이 동일한 목표 위치로 이동해야 하는 경우 다른 로봇들의 이동에 방해가 되지 않으면서 상기 목표 위치에 적절한 순서로 신속하게 도달할 수 있도록 하는 로봇 이동 제어 방법 및 이를 구현하는 관제 서버를 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위해 본 개시는, 최종 목적지가 동일한 복수의 로봇들 각각의 최종 목적지 이동 비용을 계산하는 단계, 및 상기 복수의 로봇들이 이전 목적지 이동 비용이 없거나 소정 이동 비용을 초과하는 이전 목적지 이동 비용을 갖는 경우, 상기 복수의 로봇들에게 상기 최종 목적지 이동 비용이 최소인 로봇부터 순서대로, 상기 최종 목적지 및 이를 위한 적어도 하나의 후순위 목적지를 최상위 목적지부터 순서대로 현재 목적지로서 배정하는 단계를 포함하는 로봇 이동 제어 방법을 제공할 수 있다.
상기 로봇 이동 제어 방법은, 상기 복수의 로봇들 중 적어도 하나가 상기 소정 이동 비용 이하인 이전 목적지 비용을 갖는 경우, 상기 적어도 하나의 로봇에게 해당 이전 목적지를 선점하여 상기 현재 목적지로서 배정하는 단계, 및 상기 복수의 로봇들 중 나머지 로봇들에게 상기 최종 목적지 이동 비용이 최소인 로봇부터 순서대로 상기 최종 목적지 및 상기 후순위 목적지 중 선점되지 않은 적어도 하나의 목적지를 최상위 목적지부터 순서대로 현재 목적지로서 배정하는 단계를 더욱 포함할 수 있다.
상기 로봇 이동 제어 방법은, 상기 복수의 로봇들의 각 로봇을 위한 해당 현재 목적지를 통과하는 전역 경로를 생성하는 단계, 및 상기 생성된 전역 경로를 상기 각 로봇에게 제공하는 단계를 더욱 포함할 수 있다.
상기 최종 목적지 및 상기 적어도 하나의 후순위 목적지는 사전 지정된 목적지일 수 있다.
상기 후순위 목적지는, 상기 최종 목적지에 제 1 로봇이 위치하고 있는 경우 제 1 로봇이 상기 최종 목적지를 떠날 때까지 제 2 로봇이 대기하기 위한 목적지일 수 있다.
제 2 로봇이 상기 후순위 목적지에서 대기하고 있더라도 제 1 로봇 또는 제 3 로봇의 이동 방해가 최소한이 되도록 상기 후순위 목적지의 위치가 정해질 수 있다.
상기 후순위 목적지는 상기 최종 목적지를 위한 대기 목적지와 상기 대기 목적지를 위한 적어도 하나의 임시 목적지를 포함할 수 있다.
상기 전역 경로는 통과 목적지 및 교통 목적지 중 적어도 하나를 더욱 통과하도록 생성될 수 있다.
상기 현재 목적지 배정은, 상기 최종 목적지를 향하도록 스케쥴링된 미션이 한 로봇에 할당되는 경우 수행될 수 있다.
상기 현재 목적지 배정은, 상기 복수의 로봇들 중에서 한 로봇이 상기 최종 목적지를 떠나는 경우 수행될 수 있다.
또한, 상기 목적을 달성하기 위해 본 개시는, 적어도 하나의 물품 및 그 위치에 대한 오더를 관리하는 WMS(Warehouse Management System), 적어도 하나의 오더를 미션으로 구성하는 MSC(Material Control System), 미션을 위한 동선을 스케쥴링하는 미션 스케쥴러, 및 상기 동선 스케쥴링된 미션을 위한 로봇의 전역 경로를 생성하는 FMS(Fleet Management System)를 포함하고, 상기 FMS는, 최종 목적지가 동일한 복수의 로봇들 각각의 최종 목적지 이동 비용을 계산하고, 상기 복수의 로봇들이 이전 목적지 이동 비용이 없거나 소정 이동 비용을 초과하는 이전 목적지 이동 비용을 갖는 경우, 상기 복수의 로봇들에게 상기 최종 목적지 이동 비용이 최소인 로봇부터 순서대로 상기 최종 목적지 및 이를 위한 적어도 하나의 후순위 목적지를 최상위 목적지부터 순서대로 현재 목적지로서 배정하는 것을 특징으로 하는 로봇 이동 제어용 관제 서버를 제공할 수 있다.
본 개시에 따른 로봇 이동 제어 방법 및 이를 구현하는 관제 서버의 효과에 대해 설명하면 다음과 같다.
본 개시의 실시 예들 중 적어도 하나에 의하면, 복수의 로봇들이 동일한 목표 위치로 이동해야 하는 경우 다른 로봇들의 이동에 방해가 되지 않으면서 상기 목표 위치에 적절한 순서로 신속하게 도달할 수 있다는 장점이 있다.
도 1은 본 개시의 일 실시예에 의한 로봇을 구성하는 구성요소를 보여주는 블록도이다.
도 2는 본 개시의 일실시예에 따른 로봇 이동 수행을 위한 순서도이다.
도 3은 본 개시의 일실시예에 따른 로봇의 동작 영역에 관한 예시이다.
도 4는 본 개시의 일실시예에 따라 협소 구간을 통과하는 부분 궤적을 생성하는 순서도이다.
도 4는 본 개시의 일실시예에 따른 관제 서버의 구성을 도시한다.
도 5는 본 개시의 일실시예에 따른 관제 서버 내 FMS의 구성 및 동작 순서도이다.
도 6 내지 도 11은 도 3의 동작 영역의 일부 확대도이다.
도 12는 본 개시의 일실시예에 따른 각 로봇에 대한 목적지 배정을 도시한다.
도 13은 도 12의 로봇 목적지 배정을 위한 테이블이다.
도 14는 본 개시의 일실시예에 따른 각 로봇에 대한 목적지 배정을 도시한다.
도 15는 도 14의 로봇 목적지 배정을 위한 테이블이다.
도 16는 본 개시의 일실시예에 따른 각 로봇에 대한 목적지 배정을 도시한다.
도 17은 도 16의 로봇 목적지 배정을 위한 테이블이다.
도 18은 본 개시의 일실시예에 따른 각 로봇에 대한 목적지 배정을 도시한다.
도 19은 도 18의 로봇 목적지 배정을 위한 테이블이다.
도 20은 본 개시의 일실시예에 따른 관제 서버가 각 로봇에 대한 목적지를 배정하는 순서도이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
이들 구성요소들은 각각 별도의 개별 하드웨어 모듈로 구성되거나 둘 이상의 하드웨어 모듈로 구현될 수도 있고, 둘 이상의 구성요소들이 하나의 하드웨어 모듈로 구현될 수도 있으며, 경우에 따라서는 소프트웨어로도 구현될 수 있음은 물론이다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 명세서에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
도 1을 참조하여, 본 개시의 일실시예에 따른 로봇을 구성하는 구성요소에 대해 설명하겠다. 도 1은 본 개시의 일 실시예에 의한 로봇을 구성하는 구성요소를 보여주는 블록도이다.
로봇(1000)은 외부에 배치되는 이동 객체 혹은 고정 객체를 센싱하는 센싱모듈(100), 다양한 종류의 맵을 저장하는 맵 저장부(200), 로봇의 이동을 제어하는 이동부(300), 로봇의 소정의 기능을 수행하는 기능부(400), 다른 로봇 또는 서버와 맵 또는 이동 객체, 고정 객체, 혹은 외부의 변동되는 상황에 관한 정보를 송수신하는 통신부(500), 그리고 이들 각각의 구성요소들을 제어하는 제어부(900)를 할 수 있다.
도 1에서는 로봇의 구성을 계층적으로 구성하고 있으나, 이는 로봇의 구성요소들을 논리적으로 나타낸 것이다. 물리적 구성인 경우에는 이와 다를 수 있다. 즉, 하나의 물리적 구성요소에 다수의 논리적 구성요소가 포함되거나, 다수의 물리적 구성요소가 하나의 논리적 구성요소를 구현할 수 있다.
센싱모듈(100)는 장애물과 같은 외부의 객체들을 센싱하여 센싱한 정보를 제어부(900)에게 제공한다. 일 실시예로 센싱모듈(100)는 로봇의 현재 위치에서 벽, 유리, 금속성 문 등 외부 객체들의 재질과 거리를 신호의 강도(intensity)와 반사된 시간(속도)로 산출하는 라이다(Lidar) 센싱부(110)를 포함할 수 있다. 또한, 센싱모듈(100)는 로봇(1000)으로부터 일정 거리 내에 배치된 객체들의 온도 정보를 산출하는 온도 센싱부(120)를 포함할 수 있다. 온도 센싱부(120)의 일 실시예는 로봇(1000)으로부터 일정 거리 내에 배치된 사물의 온도, 특히 사람들의 체온을 감지하는 적외선 센서를 포함한다. 적외선 어레이 센서(Infrared Array sensor)로 온도 센싱부(120)를 구성할 경우 접촉 없이도 객체의 온도를 센싱할 수 있다. 적외선 센서 혹은 적외선 어레이 센서가 온도 센싱부(120)를 구성할 경우, 이동 객체가 사람인지 여부를 확인하는 주요한 정보를 제공할 수 있다.
뿐만 아니라, 센싱모듈(100)은 전술한 센싱부들 외에 로봇과 외부 객체와의 뎁스 정보를 산출하는 뎁스 센싱부(130) 및 비전 센싱부(140)를 더 포함할 수 있다.
뎁스 센싱부(130)는 뎁스 카메라를 포함할 수 있다. 뎁스 센싱부(130)는 로봇과 외부 객체 사이의 거리를 판단할 수 있도록 하는데, 특히 라이다 센싱부(110)와 결합하여 외부 객체와 로봇 사이의 거리의 센싱 정확도를 높일 수 있다.
비전 센싱부(140)는 카메라를 포함할 수 있다. 비전 센싱부(140)는 로봇의 주변의 객체들의 이미지를 촬영할 수 있다. 특히, 로봇은 고정 객체와 같이 변화가 많지 않은 이미지와 이동 객체가 배치된 이미지를 구분하여 외부의 객체가 이동 객체인지를 식별할 수 있다.
그 외에도 열감지 센싱부, 초음파 센싱부 등을 일 실시예로 하는 보조 센싱부(145)가 다수 배치될 수 있다. 이들 보조 센싱부들은 맵을 생성하거나 외부 객체를 센싱하는데 필요한 보조적인 센싱 정보를 제공한다. 또한, 이들 보조 센싱부들 역시 로봇이 주행함에 있어 외부에 배치되는 객체를 센싱하여 정보를 제공한다.
센싱 데이터 분석부(150)는 다수의 센싱부들이 센싱한 정보들을 분석하여 이를 제어부(900)에게 전달한다. 예를 들어 다수의 센싱부들에 의해 외부에 배치된 객체가 감지될 경우, 해당 객체의 특성과 거리에 대한 정보를 각각의 센싱부가 제공할 수 있다. 센싱 데이터 분석부(150)는 이들의 값을 조합하여 산출하고 이를 제어부(900)에게 전달할 수 있다.
맵 저장부(200)는 로봇이 이동하는 공간에 배치되는 객체들의 정보를 저장한다. 맵 저장부(200)는 로봇이 이동하는 전체 공간에 배치되는 객체들 중에서 변동이 없거나 혹은 고정되어 배치되는 고정 객체들에 대한 정보를 저장하는 고정맵(210)을 포함할 수 있다. 고정맵(210)은 공간에 따라 필수적으로 하나가 포함될 수 있다. 고정맵(210)은 해당 공간에서 가장 변동이 낮은 객체들만 배치된 것이므로, 로봇이 해당 공간을 이동할 경우 맵(210)에서 지시하는 객체들보다는 더 많은 객체를 센싱할 수 있다.
고정맵(210)은 고정 객체들의 위치 정보를 필수적으로 저장하며, 추가적으로 고정 객체들의 특성, 예를 들어 재질 정보, 색상 정보, 혹은 기타 높이 정보 등을 포함할 수 있다. 이러한 추가적인 정보들은 고정 객체들에 변동 사항이 발생한 경우 로봇이 보다 쉽게 확인할 수 있도록 한다.
또한 로봇은 이동하는 과정에서 주변을 센싱하여 임시맵(220)을 생성하여 이를 과거 저장했던 전체 공간에 대한 고정맵(210)과 비교할 수 있다. 비교 결과 로봇은 현재의 위치를 확인할 수 있다.
이동부(300)는 바퀴와 같이 로봇(1000)을 이동시키는 수단으로, 제어부(900)의 제어에 따라 로봇(1000)을 이동시킨다. 이때, 제어부(900)는 맵 저장부(200)에 저장된 영역에서 로봇(1000)의 현재 위치를 확인하여 이동부(300)에 이동 신호를 제공할 수 있다. 제어부(900)는 맵 저장부(200)에 저장된 다양한 정보들을 이용하여 경로를 실시간으로 생성하거나 혹은 이동 과정에서 경로를 생성할 수 있다.
이동부(300)는 주행거리 산출부(310)와 주행거리 보정부(320)를 포함할 수 있다. 주행거리 산출부(310)는 이동부(300)가 이동한 거리에 대한 정보를 제공할 수 있다. 일 실시예로 특정 지점에서 출발한 로봇(1000)이 이동한 누적 거리를 제공할 수 있다. 또는 로봇(1000)이 특정한 지점에서 회전한 후 직선으로 이동한 누적 거리를 제공할 수 있다. 또는 로봇(1000)이 특정한 시간부터 이동한 누적 거리를 제공할 수 있다.
또한, 본 개시의 일 실시예에 의하면 누적 거리뿐만 아니라 일정한 단위 내에 이동 거리에 대한 정보를 주행거리 산출부(310)가 제공할 수 있다. 주행거리 산출부(310)는 이동부(300)의 특성에 따라 다양하게 거리를 산출할 수 있는데, 이동부(300)가 바퀴인 경우 바퀴의 회전 횟수를 카운팅하여 주행 거리를 산출할 수 있다.
주행거리 보정부(320)는 주행거리 산출부(310)가 산출한 거리가 실제 로봇(1000)의 센싱 모듈(100)이 산출한 거리 정보와 상이한 경우 주행 거리 산출부(310)가 산출한 거리 정보를 보정한다. 또한, 주행 거리 산출부(310)에서 오차가 누적하여 발생할 경우 주행거리 산출부(310)의 주행거리 산출 로직을 변경하도록 제어부(900) 또는 이동부(300)에게 통지할 수 있다.
기능부(400)는 로봇의 특화된 기능을 제공하는 것을 의미한다. 예를 들어, 청소 로봇인 경우 기능부(400)는 청소에 필요한 구성요소를 포함한다. 안내 로봇인 경우 기능부(400)는 안내에 필요한 구성요소를 포함한다. 보안로봇인 경우 기능부(400)는 보안에 필요한 구성요소를 포함한다. 기능부(400)는 로봇이 제공하는 기능에 따라 다양한 구성요소를 포함할 수 있으며, 본 발명이 이에 한정되는 것은 아니다.
로봇(1000)의 제어부(900)는 맵 저장부(200)의 맵을 생성하거나 업데이트할 수 있다. 또한, 제어부(900)는 주행 과정에서 센싱 모듈(100)이 제공하는 객체의 정보를 식별하여 이동 객체인지 고정 객체인지를 구분하여 로봇(1000)의 주행을 제어할 수 있다.
정리하면, 로봇(1000)의 제어부(900)는 센싱 모듈(100)이 외부에 배치된 객체를 센싱하면, 센싱된 객체의 특성 정보에 기반하여 센싱된 객체 중에서 이동 객체를 식별하여, 이동 객체를 제외하고 상기 센싱 모듈이 고정 객체로 센싱한 정보에 기반하여 로봇의 현재 위치를 설정할 수 있다.
이하, 도 2를 참조하여, 본 개시의 일실시예에 따른 로봇 이동 수행에 대해 설명하겠다. 도 2는 본 개시의 일실시예에 따른 로봇 이동 수행을 위한 순서도이다.
상기 로봇(1000)가 목표 위치로 이동하기 위한 전역 경로 계획(global path planning)이 수립될 수 있다. 여기서 전역 경로 계획이라 함은, 장애물 맵에 기반하여 출발 위치에서 목표 위치까지 장애물과 충돌을 피하면서 빠르게 갈 수 있는 경로를 계획하는 것을 의미한다.
상기 전역 경로 계획은 관제 서버(도 3의 3000)에 의해 수립되어 상기 로봇(1000)이 수신하는 것일 수도 있다. 또는 상기 전역 경로 계획은, 상기 로봇(1000)이 상기 관제 서버로부터 수신한 목표 위치에 관한 정보 및 상기 로봇(1000)이 운용되는 동작 영역의 맵 정보에 기반하여 자체적으로 수립한 것일 수도 있다. 상기 맵 정보는 상기 동작 영역 내의 장애물(및/또는 이동가능 공간)이 표시된 장애물 맵을 포함할 수 있다. 상기 장애물 맵은 정적 장애물 뿐만 아니라 동적 장애물에 관한 정보를 포함할 수도 있다.
그 다음, 상기 로봇(1000)(즉, 상기 제어부(900))은 지역 경로 계획 (local path planning)을 수립할 수 있다[S22]. 상기 지역 경로 계획은, 상기 로봇(1000)이 상기 전역 경로에 따라 이동할 때 상기 장애물 맵에는 나와 있지 않은 장애물이나 이동 장애물을 피하기 위하여 상기 센서 모듈(100)에 의해 실시간으로 센싱되는 센서 정보를 이용하여 국부적으로 경로를 재생성하는 것이다.
그 다음, 상기 로봇(1000)은 상기 이동부(300)을 통해 상기 전역 경로 계획 및 상기 지역 경로 계획에 기반하여 상기 목표 위치로 이동할 수 있다[S23].
도 3은 본 개시의 일실시예에 따른 로봇의 동작 영역에 관한 예시이다.
복수의 로봇들(1000A, 1000B, 1000C)이 운용되어 동작할 수 있는 동작 영역(2000)(예를 들면, 물류 창고 등)에는 적어도 하나의 선반을 포함할 수 있다. 도 3에서는 제 1 로봇(1000A), 제 2 로봇(1000B), 및 제 3 로봇(1000C)가 상기 동작 영역(2000)에서 운용되는 것으로 예시되어 있으나, 더 적거나 많은 로봇들이 운용될 수 있음은 물론이다. 상기 복수의 로봇들 각각은 도 1에서 설명된 로봇일 수 있다.
상기 동작 영역(2000)에는 복수 개의 선반들(S1, S2, S3, S4, S5)이 있을 수 있다. 도 3에서는 직사각형 형태의 다섯 개의 선반들(예를 들면, 물품을 적재해두기 위한 적재대), 즉, 제 1 선반(S1), 제 2 선반(S2), 제 3 선반(S3), 제 4 선반(S4), 및 제 5 선반(S5)이 상기 동작 영역(2000) 내에 있는 것으로 예시되어 있으나, 더 적거나 많은 선반들 및/또는 다른 형태의 선반들이 상기 동작 영역(2000) 내에 있을 수 있음은 물론이다.
상기 복수의 로봇들(1000A, 1000B, 1000C)은 관제 서버(또는 시스템)(3000)의 제어 하에 상기 복수의 선반들 중 하나에 적재된 물품(예를 들면, 상품)을 픽업하여 다른 위치(예를 들면, 물품 포장 위치)까지 이송하는 역할을 할 수 있다.
이하, 도 4를 더욱 참조하여, 상기 관제 서버(3000)의 구성에 대해 더욱 구체적으로 살펴 보겠다. 도 4는 본 개시의 일실시예에 따른 관제 서버의 구성을 도시한다.
상기 관제 서버(3000)는 WMS(Warehouse Management System)(3100), MCS(Material Control System)(3200), 미션 스케쥴러(3300), 및 FMS(Fleet Management System)(3400)을 포함할 수 있다.
상기 WMS(3100)는 물류 시스템으로서, 상기 적재되어 있는 물품들의 위치와 상기 적재된 물품들 중 픽업해서 포장을 위해 이송해야 하는 적어도 하나의 물품에 대한 오더 리스트를 관리할 수 있다. 하나의 오더는 한 고객이 주문한 적어도 하나의 물품에 대한 리스트 및 상기 적어도 하나의 물품의 적재 위치를 의미할 수 있다. 예를 들면, 제 1 고객이 주문한 적어도 하나의 물품 및 그 위치에 관한 제 1 리스트는 제 1 오더로 관리되고, 제 2 고객이 주문한 적어도 하나의 물품 및 그 위치에 관한 제 2 리스트는 제 2 오더로 관리될 수 있다. 제 1 오더 및 제 2 오더를 포함하는 복수의 오더가 오더 리스트로서 관리될 수 있다.
상기 MCS(3200)는 상기 WMS(3100)로부터 상기 오더 리스트를 수신하여, 상기 주문된 물품을 픽업하여 이송하기 위한 미션을 생성할 수 있다. 상기 미션은 적어도 하나의 오더로 구성될 수 있다. 예를 들어 제 1 리스트의 물품의 적재 위치와 제 2 리스트의 물품의 적재 위치가 서로 유사성이 있으면 제 1 오더 및 제 2 오더가 하나의 미션으로 생성되고, 제 1 리스트의 물품의 적재 위치와 제 2 리스트의 적재 위치가 서로 유사성이 없다면 제 1 오더 및 제 2 오더는 각각 다른 미션으로 생성될 수 있다.
상기 미션 스케쥴러(3300)는 상기 MCS(3200)로부터 상기 생성된 미션을 수신하여 상기 미션 내의 적어도 하나의 물품을 픽업하여 이송하는 동선(또는 순서)을 스케쥴링하고 상기 동선 스케쥴링된 미션을 로봇에 할당할 수 있다.
상기 FMS(3400)는 상기 미션 스케쥴러(3300)로부터 상기 동선 스케쥴링된 미션을 수신하고, 각 로봇(1000A, 1000B, ?, 1000N)이 상기 동선 스케쥴링된 미션을 수행하기 위해 상기 동선 스케쥴링된 미션에 따라 이동하기 위한 이동 경로, 즉 전역 경로를 생성하여 각 로봇에 제공할 수 있다. 상기 전역 경로의 생성함에 있어, 상기 FMS(3400)는 상기 동작 영역(2000) 내의 장애물 뿐만 아니라 다른 로봇들의 위치도 함께 고려할 수 있다.
상기 FMS(3400)의 구성 및 동작에 대해 도 5를 더욱 참조하여 설명하겠다. 도 5는 본 개시의 일실시예에 따른 관제 서버 내 FMS의 구성 및 동작 순서도이다.
상기 FMS(3400)는 코어 모듈(3410), 경로 생성 모듈(3420), 및 목적지 확인 모듈(3430)을 포함할 수 있다. 이들 모듈은 하드웨어로 구성될 수도 있고 소프트웨어로 구성될 수도 있다.
상기 코어 모듈(3410)은 상기 미션 스케쥴러(3300)로부터 상기 동선 스케쥴링된 미션을 수신할 수 있다[S51].
그러면, 상기 코어 모듈(3410)은 상기 동작 영역(2000) 내에 운영되고 있는 각 로봇의 상태 (예를 들면, 미션 수행 여부, 주행 여부 등에 관한 상태)를 확인할 수 있다[S52].
상기 코어 모듈(3410)은 각 로봇의 목적지에 관한 정보를 상기 목적지 확인 모듈(3430)에 문의하고, 상기 목적지 확인 모듈(3430)으로부터 각 로봇의 목적지에 관한 정보를 수신할 수 있다[S53, S54]. 상기 코어 모듈(3410)은 상기 동작 영역(2000) 내에서 운영되고 있는 모든 로봇의 목적지에 관한 정보를 문의할 수도 있고, 현재 미션 수행 중인 로봇들의 목적지에 관한 정보만을 문의할 수 있다.
상기 코어 모듈(3410)은 상기 각 로봇의 목적지에 관한 정보에 기반하여 상기 스케쥴링된 미션에 부합하는 상기 각 로봇(상기 스케쥴링된 미션을 수행할 로봇 포함)의 경로의 계산을 상기 경로 생성 모듈(3420)에 요청하고, 상기 경로 생성 모듈(3420)으로부터 상기 각 로봇을 위해 계산된 경로를 수신할 수 있다[S55, S56]. 상기 스케쥴링 미션에 따라서 상기 스케쥴링 미션을 수행하게 될 로봇 이외의 다른 로봇의 기존 경로가 변경될 수도 있다. 이에 대해서는 나중에 다시 설명된다. 상기 경로는 각 로봇의 전역 경로일 수 있다.
상기 코어 모듈(3410)은 상기 각 로봇에게 상기 계산된 경로를 전달할 수 있다[S57]. 그러면, 상기 각 로봇은 상기 계산된 경로에 따라 주행을 시작할 수 있다.
상기 코어 모듈(3410)은 상기 각 로봇으로부터 출발 신호 및 목적지 도착 신호를 수신할 수 있고, 상기 미션 스케쥴러(3300)로부터 새로운 명령을 대기할 수도 있다[S58].
그리고, 상기 코어 모듈(3410)은 상기 각 로봇의 상태에 관한 정보를 상기 미션 스케쥴러(3300)에 제공할 수 있다[S59]. 상기 미션 스케쥴러(3300)은 상기 각 로봇의 상태에 관한 정보에 기반하여 미션을 스케쥴링할 수 있다.
이하, 상기 각 로봇의 기존 전역 경로가 변경될 필요성에 대해 도 6 및 도 7을 참조하여 설명하겠다. 상기 각 로봇의 기존 전역 경로의 변경은 상기 각 로봇의 목적지의 변경으로 이해될 수도 있다. 도 6 및 도 7은 도 3의 동작 영역의 일부 확대도이다. 도 6은 상기 동작 영역(2000) 내의 제 1 선반(S1) 및 제 2 선반(S2)을 도시하고, 도 7은 상기 동작 영역(2000) 내의 제 3 선반(S3) 및 제 4 선반(S4)을 도시한다.
먼저, 도 6을 참조하여 설명하겠다.
도 6의 (6-1)에 도시된 바와 같이, 제 2 로봇(1000B)가 자신의 전역 경로를 따라 멀리서부터 제 1 선반(S1)과 제 2 선반(S2) 사이의 통로에 있는 어떤 목적지(P1)으로 이동하고 있는 중에, 제 2 로봇(1000B)보다 상기 목적지(P1)에 더 가까이 위치하던 제 1 로봇(1000A)이 상기 목적지(P1)로 이동할 것을 명령 받았다고 가정하자. 제 1 선반(S1)과 제 2 선반(S2) 사이의 통로는 한쪽에서 다른 쪽으로 로봇이 통과할 수 있는 개방형 통로이다. 그러면, 제 1 로봇(1000A)이 상기 목적지(P1)에 더 빨리 도달하여 상기 목적지(P1)를 선점할 수 있다. 상기 목적지는 제 1 로봇(1000A) 및 제 2 로봇(1000B)이 제 2 선반(S2)에 적재된 물품을 픽업하기 위한 최종 목적지(POI(Point of Interest))라고 가정하자. 상기 최종 목적지는 최종 목표(final goal)라고 호칭될 수도 있다.
이 경우, 도 6의 (6-2)에 도시된 바와 같이, 제 1 로봇(1000A)이 상기 최종 목적지(P1)에 더 빨리 도달하여 상기 최종 목적지(P1)를 선점하였기 때문에 제 2 로봇(1000B)이 상기 최종 목적지(P1)가 있는 상기 통로의 중앙에서 제 1 로봇(1000A)이 상기 최종 목적지(P1)을 떠날 때까지 대기하고 있다면, 이는 또다른 제 3 로봇(1000C)의 상기 통로의 이동을 방해할 수 있다.
따라서, 도 6의 (6-3)에 도시된 바와 같이, 상기 최종 목적지(P1)를 위한 대기 위치로서 적어도 하나의 중간 목적지(W1, W2)가 사전에 정해질 필요가 있다. 상기 적어도 하나의 중간 목적지는 여기에 한 로봇이 대기하고 있더라도 다른 로봇의 이동에 방해가 되지 않거나 최소한의 방해가 되는 위치로 정해질 수 있다. 따라서, 상기 중간 목적지(W1, W2)는 "대기 목적지"로 호칭될 수도 있다. 도 6의 (6-3)에서는 상기 최종 목적지(P1)을 위해 제 1 중간 목적지(W1) 및 제 1 중간 목적지(W2)가 있는 것으로 예시되어 있으나, 이보다 더 적거나 많은 중간 목적지가 있을 수 있음은 물론이다. 제 2 로봇(1000B)는 제 1 중간 목적지(W1) 및 제 2 중간 목적지(W2) 중에서 자신의 기존 전역 경로에 가장 근접하거나 자신의 기존 전역 경로를 벗어나 가장 빠르게 이동할 수 있는 제 2 중간 목적지(W2)에서 대기한다면 제 3 로봇(1000C)의 이동을 방해하지 않거나 최소한으로 방해할 수 있다. 즉, 제 2 로봇(1000B)의 상기 최종 목적지(P1)으로 향하는 기존의 전역경로가 제 2 중간 목적지(W2)를 포함하도록 변경될 필요가 있다.
이하, 도 7을 참조하여 설명하겠다.
도 7의 (7-1)에 도시된 바와 같이, 제 2 로봇(1000B)가 자신의 전역 경로를 따라 멀리서부터 제 3 선반(S3)과 제 4 선반(S4) 사이의 통로에 있는 어떤 최종 목적지(P2)으로 이동하고 있는 중에, 제 2 로봇(1000B)보다 상기 최종 목적지(P2)에 더 가까이 위치하던 제 1 로봇(1000A)이 상기 최종 목적지(P2)로 이동할 것을 명령 받았다고 가정하자. 제 3 선반(S3)과 제 4 선반(S4) 사이의 통로는 한쪽에서 다른 쪽으로 로봇이 통과할 수 없는 폐쇄형 통로(예를 들면, 막다른 골목길)이다.
이 경우, 도 7의 (7-2)에 도시된 바와 같이, 제 1 로봇(1000A)이 상기 최종 목적지(P2)에 더 빨리 도달하여 상기 최종 목적지(P2)를 선점하였기 때문에 제 2 로봇(1000B)이 상기 최종 목적지(P2)가 있는 상기 통로의 중앙에서 제 1 로봇(1000A)이 상기 최종 목적지(P2)을 떠날 때까지 대기하고 있다면, 제 1 로봇(1000A)은 제 2 로봇(1000B) 때문에 상기 통로를 빠져 나오지 못할 수 있다. 즉, 제 1 로못(1000A) 및 제 2 로봇(1000B)은 교착 상태(deadlock)에 빠질 수 있다.
따라서, 도 7의 (7-3)에 도시된 바와 같이, 상기 최종 목적지(P2)를 위한 대기 위치로서 적어도 하나의 중간 목적지(W3, W4)가 사전에 정해질 필요가 있다. 도 7의 (7-3)에서는 상기 최종 목적지(P2)을 위해 제 3 중간 목적지(W3) 및 제 4 중간 목적지(W4)가 있는 것으로 예시되어 있으나, 이보다 더 적거나 많은 중간 목적지가 있을 수 있음은 물론이다. 제 2 로봇(1000B)는 제 3 중간 목적지(W3) 및 제 4 중간 목적지(W4) 중에서 자신의 기존 전역 경로에 가장 근접하거나 자신의 기존 전역 경로를 벗어나 가장 빠르게 이동할 수 있는 제 3 중간 목적지(W3)에서 대기한다면 제 1 로봇(1000A)은 제 2 로봇(1000B)의 방해를 받지 않고 상기 통로를 빠져나올 수 있다. 즉, 제 2 로봇(1000B)의 상기 최종 목적지(P2)으로 향하는 기존의 전역경로가 제 3 중간 목적지(W3)를 포함하도록 변경될 필요가 있다.
한편, 상기 로봇이 자신의 미션에 따라서 최종 목적지까지의 동선 거리가 긴 경우 상기 긴 동선 거리 전체의 이동을 위한 전체 전역 경로를 한꺼번에 계획된다면 상기 전체 전역 경로의 계획에 시간이 많이 소요될 수 있다. 그 뿐만 아니라 상기 계획된 전체 전역 경로에 따라 상기 로봇이 주행하는 중에 발생될 수 있는 또다른 변수(예를 들면, 다른 로봇의 최종 목적지 선점 등)로 인해 상기 전체 전역 경로가 수정되어야 할 필요가 있을 수 있다. 상기 전체 전역 경로가 수정된다면 상기 전체 전역 경로의 계획을 위해 소요된 시간 및 연산 자원이 낭비되는 셈이 될 수 있다. 따라서, 로봇이 자신의 미션에 따라서 동선 거리가 긴 경우 상기 긴 동선 거리 전체의 이동을 위한 전체 전역 경로가 한꺼번에 계획되지 않는 것이 바람직할 수도 있다. 즉, 상기 긴 동선 거리의 중간 지점까지만의 부분 전역 경로가 계획되고 상기 로봇이 상기 부분 전역 경로에 따라 이동하는 중에 상기 중간 지점부터 상기 최종 목적지까지의 잔여 전역 경로가 계획될 수도 있다. 이에 대해 도 8을 더욱 참조하여 설명하겠다. 도 8은 도 3의 동작 영역의 일부 확대도이다. 도 8은 상기 동작 영역(2000) 내의 제 5 선반(S5)을 도시한다.
도 8의 (8-1)에 도시된 바와 같이, 제 2 로봇(1000B)가 현재 위치에서 최종 목적지(P3)가 비교적 멀리 떨어져 있는 경우, 상기 최종 목적지(P3)까지의 긴 동선 거리 전체의 이동을 위한 전역 경로 계획이 수립될 수도 있다. 하지만 이 경우, 상기 긴 동선 거리 전체의 이동을 위한 전체 전역 경로가 한꺼번에 계획된다면 상기 전체 전역 경로의 계획에 시간이 많이 소요될 수 있다. 그 뿐만 아니라, 상기 계획된 전체 전역 경로에 따라 제 2 로봇(1000B)이 주행하는 중에 발생될 수 있는 또다른 변수(예를 들면, 제 1 로봇(1000A)의 상기 최종 목적지 선점(P3) 등)로 인해 상기 전체 전역 경로가 수정되어야 할 필요가 있을 수 있다. 상기 전체 전역 경로가 수정된다면 상기 전체 전역 경로의 계획을 위해 소요된 시간 및 연산 자원이 낭비되는 셈이 될 수 있다. 따라서, 제 2 로봇(1000B)이 자신의 미션에 따라서 동선 거리가 긴 경우 상기 긴 동선 거리 전체의 이동을 위한 전체 전역 경로가 한꺼번에 계획되지 않는 것이 바람직할 수도 있다.
따라서, 도 8의 (8-2)에 도시된 바와 같이, 제 2 로봇(1000B)가 상기 현재 위치 및 상기 최종 목적지(P3) 사이의 중간 목적지(G1)까지 이동하기 위한 부분 전역 경로가 계획될 수 있다. 제 2 로봇(1000B)이 상기 부분 전역 경로에 따라 이동하는 중에 상기 중간 목적지(G1)부터 상기 최종 목적지(P3)까지 이동하기 위한 잔여 전역 경로가 계획될 수 있다. 제 2 로봇(1000B)는 상기 중간 목적지(G1)에 도달하면 상기 잔여 전역 경로에 따라 상기 최종 목적지(P3)까지 이동할 수 있다.
상기 중간 목적지는 상기 현재 위치 및 상기 최종 목적지(P3) 사이에 둘 이상 지정될 수도 있다. 예를 들어, 상기 현재 위치 및 상기 최종 목적지(P3) 사이에 두 개의 중간 목적지, 즉 제 1 중간 목적지 및 제 2 중간 목적지가 지정될 수 있다. 제 2 로봇(1000B)이 상기 현재 위치에서 제 1 중간 목적지까지의 제 1 부분 전역 경로에 따라 이동하는 중에 제 1 중간 목적지부터 제 2 중간 목적지까지 이동하기 위한 제 2 부분 전역 경로가 계획되고, 제 1 중간 목적지에 도달 후 제 2 부분 전역 경로에 따라 이동하는 중에 제 2 중간 목적지부터 최종 목적지(P3)로 이동하기 위한 잔여 전역 경로가 계획되고, 제 2 중간 목적지 도달 후 상기 잔여 전역 경로에 따라 이동할 수 있다. 상기 중간 목적지(G1)는 통과 목적지로도 호칭될 수 있다.
한편, 상기 로봇이 상기 동작 영역(2000) 내의 삼거리 또는 사거리 교차로와 같이 혼잡한 구간을 통과해야 하는 경우도 있을 수 있다. 이 경우, 상기 로봇이 자신의 전역 경로에 따라 상기 교차로를 일시 정지 없이 통과한다면 이는 다른 로봇과의 충돌을 유발할 수도 있다. 따라서, 상기 로봇이 상기 혼잡한 구간을 통과해야 한다면 상기 혼잡한 구간 직전 지점에서 일시 정지하여 주위 상황에 살핀 다음에 상기 혼잡한 구간을 통과하는 것이 바람직할 수 있다. 이에 대해 도 9를 더욱 참조하여 설명하겠다. 도 9는 도 3의 동작 영역의 일부 확대도이다. 도 9는 상기 동작 영역(2000) 내의 제 2 선반(S2), 제 3 선반(S3), 및 제 4 선반(S4)을 도시한다.
도 9의 (9-1)에 도시된 바와 같이, 제 2 로봇(1000B)가 현재 위치에서 최종 목적지(P4) 사이에 삼거리 교차로가 있는 경우, 상기 현재 위치에서 상기 삼거리 교차로를 통과하는 상기 최종 목적지(P4)까지의 전역 경로 계획이 수립될 수도 있다. 하지만 제 2 로봇(1000B)가 상기 전역 경로를 따라 상기 교차로에 일시 정지 없이 진입하는 경우, 마침 상기 교차로에 진입하는 다른 제 3 로봇(1000C)와 충돌할 가능성이 있다.
따라서, 도 9의 (9-2)에 도시된 바와 같이, 상기 교차로와 같은 혼잡한 구간에 진입하기 전에 일시 정지하기 위한 중간 목적지(X1)가 사전에 정해질 필요가 있다. 즉, 제 2 로봇(1000B)의 상기 최종 목적지(P4)로 향하는 기존의 전역 경로가 상기 중간 목적지(X1)를 포함하도록 변경될 수 있다. 따라서, 제 2 로봇(1000B)은 상기 변경된 전역 경로에 따라 주행하는 경우 상기 중간 목적지(X)에 도달하는 경우 일시 정지하여 자신의 센싱 모듈(100)를 통해 상기 혼잡한 구간에서 충돌 위험이 있는 다른 객체는 없는지 확인한 다음에 상기 혼잡한 구간을 통과할 수 있다. 상기 중간 목적지(X1)는 교통 목적지로 호칭될 수 있다.
앞서, 상기 최종 목적지(P1, P2)을 제 1 로봇(1000A)가 선점하고 있는 경우 제 1 로봇(1000A)이 상기 최종 목적지(P1)을 떠날 때까지 제 2 로봇(1000B)이 대기할 수 있는 중간 목적지(W1, W2, W3, W4)가 복수 개 있을 수 있음이 전술되었다. 이에 대해 도 10 및 도 11을 더욱 참조하여 설명하겠다. 도 10 및 도 11은 도 3의 동작 영역의 일부 확대도이다. 도 10 및 도 11은 상기 동작 영역(2000) 내의 제 1 선반(S1) 및 제 2 선반(S2)을 도시한다. 도 10 및 도 11에서는 상기 최종 목적지(P1)를 위한 중간 목적지가 두 개, 즉 제 1 중간 목적지(W1) 및 제 2 중간 목적지(W2)가 있는 것으로 가정하겠다.
먼저, 도 10을 참조하여 설명하겠다.
도 10의 (10-1)에 도시된 바와 같이, 제 1 로봇(1000A)이 상기 최종 목적지(P1)을 선점하고 있는 상황에서 제 2 로봇(1000B) 및 제 3 로봇(1000C)가 다른 방향에서 상기 최종 목적지(P1)로 이동 중에 있다고 가정하자. 예를 들면, 제 2 로봇(1000B)는 제 2 중간 목적지(W2)보다는 제 1 중간 목적지(W1)에서 가까운 곳에서 상기 최종 목적지(P1)로 이동 중에 있고, 제 3 로봇(1000C)는 제 1 중간 목적지(W1)보다는 제 2 중간 목적지(W2)에서 가까운 곳에서 상기 최종 목적지(P1)로 이동 중에 있을 수 있다.
그러면, 도 10의 (10-2)에 도시된 바와 같이, 제 1 로봇(1000A)이 상기 최종 목적지(P1)을 떠날 때까지, 제 2 로봇(1000B)는 자신의 전역 경로와 가장 근접한 제 1 중간 목적지(W1)에서, 제 3 로봇(1000C)는 자신의 전역 경로와 가장 근접한 제 2 중간 목적지(W2)에서 대기할 수 있다.
제 1 로봇(1000A)이 상기 최종 목적지(P1)을 떠나면, 제 2 로봇(1000B) 및 제 3 로봇(1000C) 중에서 제 1 중간 목적지(W1) 및 제 2 중간 목적지(W2) 중 어느 하나에 먼저 도착한 로봇이 먼저 상기 최종 목적지(P1)로 출발할 수 있고, 늦게 도착한 로봇이 계속 대기하고 있을 수 있다.
상기 먼저 도착한 로봇이 상기 최종 목적지(P1)을 떠나면, 상기 늦게 도착한 로봇이 상기 최종 목적지(P1)로 출발할 수 있다.
이하, 도 11을 참조하여 설명하겠다.
도 11의 (11-1)에 도시된 바와 같이, 제 1 로봇(1000A)이 상기 최종 목적지(P1)을 선점하고 있는 상황에서 제 2 로봇(1000B) 및 제 3 로봇(1000C)이 같거나 비슷한 방향에서 상기 최종 목적지(P1)로 이동 중에 있다고 가정하자. 예를 들면, 제 2 로봇(1000B) 및 제 3 로봇(1000C) 모두 제 2 중간 목적지(W2)보다는 제 1 중간 목적지(W1)에서 가까운 곳에서 상기 최종 목적지(P1)로 이동 중에 있고, 제 2 로봇(1000B)이 제 3 로봇(1000C)보다 제 1 중간 목적지(W1)에 더 근접하여 이동 중에 있을 수 있다. 이대로 주행하는 경우, 예컨대 제 2 로봇(1000B) 및 제 3 로봇(1000C)은 주행 속도가 같아서, 제 2 로봇(1000B)이 제 3 로봇(1000C)보다 먼저 제 1 중간 목적지(W1)에 도착할 수 있다.
그러면, 도 11이 (11-2)에 도시된 바와 같이, 제 1 로봇(1000A)이 상기 최종 목적지(P1)을 떠날 때까지, 제 2 로봇(1000B)는 자신의 전역 경로와 가장 근접한 제 1 중간 목적지(W1)에서 대기할 수 있다. 그리고, 제 1 로봇(1000A)이 상기 최종 목적지(P1)을 떠날 때까지, 제 3 로봇(1000C)는 제 1 중간 목적지(W1)를 위한 임시 목적지(T1)에서 대기할 수 있다.
제 1 로봇(1000A)이 상기 최종 목적지(P1)을 떠나면, 제 2 로봇(1000B)이 상기 최종 목적지(P1)로 출발할 수 있고, 이어 제 3 로봇(1000C)이 제 1 중간 목적지(W1)로 출발할 수 있다.
제 2 로봇(1000B)이 상기 최종 목적지(P1)을 떠나면, 제 3 로봇(1000C)이 상기 최종 목적지(P1)로 출발할 수 있다.
제 1 중간 목적지(W1)를 위해 적어도 하나의 임시 목적지, 예를 들면, 제 1 임시 목적지(T1), 제 2 임시 목적지(T2), 제 3 임시 목적지(T3) 등이 사전에 정해져 있을 수 있다. 이들 임시 목적지도 다른 로봇이 이동을 방해하지 않거나 최소한으로 방해하는 위치에 정해질 수 있다. 이는 다른 중간 목적지(W2, W3, W4)에 대해서도 마찬가지이다.
여러 로봇들이 도 11의 (11-1)에 도시된 바와 같이, 같거나 비슷한 방향에서 상기 최종 목적지(P1)로 동시에 이동하고 있을 때 상기 최종 목적지(P1)를 어떤 로봇이 선점하고 있다면, 상기 여럿 로봇들은 각각 상기 최종 목적지(P1)로 접근하는 순서대로 제 1 중간 목적지(W1), 제 1 임시 목적지(T1), 제 2 임시 목적지(T2), 제 3 임시 목적지(T3) 등에서 대기할 수 있다. 상기 목적지들을 고려한 전역 경로 계획 수립과 관련하여 도 12를 더욱 참조하여 설명하겠다. 도 12는 본 개시의 일실시예에 따른 각 로봇에 대한 목적지 배정을 도시한다.
도 12의 (12-1)에 도시된 바와 같이, 제 1 로봇(1000A), 제 2 로봇(1000B), 및 제 3 로봇(1000C)이 모두 상기 최종 목적지(P1)로 이동해야 하는 상황을 가정하자. 여기서, 제 1 로봇(1000A)의 현재 위치는 상기 최종 목적지(P1)에서 가장 가깝고, 제 3 로봇(1000C)의 현재 위치는 상기 최종 목적지(P1)에서 가장 멀고, 제 2 로봇(1000B)의 현재 위치는 제 1 로봇(1000A) 및 제 3 로봇(1000C) 사이에서 있을 수 있다. 제 1 로봇(1000A), 제 2 로봇(1000B), 및 제 3 로봇(1000C)은 서로 주행 속도가 같거나 비슷하다면, 제 1 로봇(1000A), 제 2 로봇(1000B), 및 제 3 로봇(1000C)이 순서대로 상기 최종 목적지(P1)에 도달할 수 있을 것이다.
그러면, 상기 관제 서버(3000), 즉 상기 FMS(3400)는 제 1 로봇(1000A)이 바로 상기 최종 목적지(P1)로 이동하도록 제 1 로봇(1000A)를 위한 제 1 전역 경로를 수립하고, 제 2 로봇(1000B)이 제 1 중간 목적지(W1)을 경유하여 상기 최종 목적지(P1)로 이동하도록 제 2 로봇(1000B)를 위한 제 2 전역 경로를 수립하고, 제 3 로봇(1000C)이 제 1 임시 목적지(T1) 및 제 1 중간 목적지(W1)을 차례로 경유하여 상기 최종 목적지(P1)로 이동하도록 제 3 로봇(1000C)를 위한 제 3 전역 경로를 수립할 수 있다. 즉, 제 1 로봇(1000A), 제 2 로봇(1000B), 및 제 3 로봇(1000C) 각각에 상기 최종 목적지(P1)을 위한 도착 목적지를 배정함에 있어서, 상기 관제 서버(3000)는 제 1 로봇(1000A), 제 2 로봇(1000B), 및 제 3 로봇(1000C)에게 상기 최종 목적지(P1), 제 1 중간 목적지(W1), 및 제 1 임시 목적지(T1)를 각각 배정할 수 있다. 제 1 전역 경로, 제 2 전역 경로, 및 제 3 전역 경로는 각각 제 1 로봇(1000A), 제 2 로봇(1000B), 및 제 3 로봇(1000C)에 제공될 수 있다.
그러면, 도 12의 (12-2)에 도시된 바와 같이, 제 1 로봇(1000A)은 제 1 전역 경로에 따라 상기 최종 목적지(P1)로 이동하고, 제 2 로봇(1000B)은 제 1 중간 목적지(W1)로 이동하고, 제 3 로봇(1000C)은 제 1 임시 목적지(T1)로 이동할 수 있다.
도 12의 (12-3)에 도시된 바와 같이, 제 1 로봇(1000A)이 상기 최종 목적지(P1)을 떠나게 되면, 제 2 로봇(1000B)은 상기 최종 목적지(P1)로 이동하고, 제 3 로봇(1000C)은 제 1 중간 목적지(W1)로 이동할 수 있다.
비록 도시되지는 않았지만, 제 2 로봇(1000B)이 상기 최종 목적지(P1)을 떠나게 되면, 제 3 로봇(1000C)은 상기 최종 목적지(P1)로 이동할 수 있다.
도 12에서 각 로봇에 대한 목적지 배정에 대해 도 13을 더욱 참조하여 설명하겠다. 도 13은 도 12의 로봇 목적지 배정을 위한 테이블이다.
각 로봇에 대한 목적지 배정은 각 로봇의 현재 위치로부터 최종 목적지까지의 이동 비용(cost to go to final goal)에 따라 결정될 수 있다. 상기 이동 비용은 전역 경로에 따른 상기 최종 목적지까지의 이동 거리 및 이동 시간 중 적어도 하나에 의해 정해질 수 있다.
도 13에 도시된 바와 같이, 제 1 로봇(1000A)의 이동 비용이 "10"으로서 가장 적고, 제 3 로봇(1000C)의 이동 비용이 "30"으로서 가장 크고, 제 2 로봇(1000A)의 이동 비용이 "20"으로서 중간일 수 있다. 이에 기반하여 상기 관제 서버(3000)는 제 1 로봇(1000A), 제 2 로봇(1000B), 및 제 3 로봇(1000C)에게 상기 최종 목적지(P1), 제 1 중간 목적지(W1), 및 제 1 임시 목적지(T1)를 각각 배정할 수 있다. 상기 테이블에서는 상기 배정된 목적지가 계산 결과(result)로서 표시되어 있다.
도 14를 더욱 참조하여 로봇 목적지 배정에 대해 더욱 살펴보겠다. 도 14는 본 개시의 일실시예에 따른 각 로봇에 대한 목적지 배정을 도시한다.
도 12 및 도 13에서 설명된 바와 같은 로봇 목적지 배정에 기반하여 수립된 전역 경로에 따라 제 1 로봇(1000A), 제 2 로봇(1000B), 및 제 3 로봇(1000C)이 이동하고 있는 도중에, 제 4 로봇(1000D)를 상기 최종 목적지(P1)으로 이동시키는 미션을 상기 FMS(3400)가 상기 미션 스케쥴러(3300)으로부터 받을 수 있다[S51].
도 14의 (14-1)에 도시된 바와 같이, 제 4 로봇(1000D)은 제 1 로봇(1000A)보다는 상기 최종 목적지(P1)에서 멀리 위치하고 제 2 로봇(1000B)보다는 상기 최종 목적지(P1)에 가까이 위치하는 로봇일 수 있다. 제 1 로봇(1000A), 제 2 로봇(1000B), 제 3 로봇(1000C), 및 제 4 로봇(1000D)는 서로 주행 속도가 같거나 비슷하다면, 제 1 로봇(1000A), 제 4 로봇(1000D), 제 2 로봇(1000B), 및 제 3 로봇(1000C)이 순서대로 상기 최종 목적지(P1)에 도달할 수 있을 것이다.
그러면, 상기 FMS(3400)은 제 1 로봇(1000A), 제 2 로봇(1000B), 제 3 로봇(1000C), 및 제 4 로봇(1000D) 각각에 대한 전역 경로를 새롭게 계산할 수 있다. 즉, 상기 FMS(3400)는 제 1 로봇(1000A)이 바로 상기 최종 목적지(P1)로 이동하도록 제 1 로봇(1000A)를 위한 제 1 전역 경로를 수립하고, 제 4 로봇(1000D)이 제 1 중간 목적지(W1)을 경유하여 상기 최종 목적지(P1)로 이동하도록 제 4 로봇(1000D)를 위한 제 4 전역 경로를 수립하고, 제 2 로봇(1000B)이 제 1 임시 목적지(T1) 및 제 1 중간 목적지(W1)을 차례로 경유하여 상기 최종 목적지(P1)로 이동하도록 제 2 로봇(1000B)를 위한 제 2 전역 경로를 수립하고, 제 3 로봇(1000C)이 제 2 임시 목적지(T2), 제 1 임시 목적지(T1) 및 제 1 중간 목적지(W1)을 차례로 경유하여 상기 최종 목적지(P1)로 이동하도록 제 3 로봇(1000C)를 위한 제 3 전역 경로를 수립할 수 있다.
즉, 제 1 로봇(1000A), 제 2 로봇(1000B), 제 3 로봇(1000C), 및 제 4 로봇(1000D) 각각에 상기 최종 목적지(P1)을 위한 도착 목적지를 새롭게 배정함에 있어서, 상기 관제 서버(3000)는 제 1 로봇(1000A), 제 4 로봇(1000D), 제 2 로봇(1000B), 및 제 3 로봇(1000C)에게 상기 최종 목적지(P1), 제 1 중간 목적지(W1), 제 1 임시 목적지(T1), 및 제 2 임시 목적지(T2)를 각각 새롭게 배정할 수 있다. 상기 새롭게 계산된 제 1 전역 경로, 제 2 전역 경로, 제 3 전역 경로, 및 제 4 전역 경로는 각각 제 1 로봇(1000A), 제 2 로봇(1000B), 제 3 로봇(1000C), 및 제 4 로봇(1000D)에 제공될 수 있다[S57]. 제 1 전역 경로, 제 2 전역 경로, 및 제 3 전역 경로는 업데이트되는 것이고, 제 4 전역 경로는 새롭게 생성되는 것일 수 있다.
그러면, 도 14의 (14-2)에 도시된 바와 같이, 제 1 로봇(1000A)은 상기 최종 목적지(P1)로 이동하고, 제 4 로봇(1000D)은 제 1 중간 목적지(W1)로 이동하고, 제 2 로봇(1000B)은 제 1 임시 목적지(T1)로 이동하고, 제 3 로봇(1000C)은 제 2 임시 목적지(T2)로 이동할 수 있다.
비록 도시되지 않았지만, 제 1 로봇(1000A)이 상기 최종 목적지(P1)을 떠나게 되면, 제 4 로봇(1000D)은 상기 최종 목적지(P1)로 이동하고, 제 2 로봇(1000B)은 제 1 중간 목적지(W1)로 이동하고, 제 3 로봇(1000C)은 제 1 임시 목적지(T1)로 이동할 수 있다.
제 4 로봇(1000D)이 상기 최종 목적지(P1)을 떠나게 되면, 제 2 로봇(1000B)은 상기 최종 목적지(P1)로 이동하고, 제 3 로봇(1000C)은 제 1 중간 목적지(W1)로 이동할 수 있다.
제 2 로봇(1000B)이 상기 최종 목적지(P1)을 떠나게 되면, 제 3 로봇(1000C)은 상기 최종 목적지(P1)로 이동할 수 있다.
도 14에서 설명된 각 로봇에 대한 목적지 배정에 대해 도 15를 더욱 참조하여 설명하겠다. 도 15는 도 14의 로봇 목적지 배정을 위한 테이블이다.
각 로봇에 대한 목적지 배정은 각 로봇의 현재 위치로부터 최종 목적지까지의 이동 비용(cost to go to final goal)에 따라 결정될 수 있고. 상기 이동 비용은 전역 경로에 따른 상기 최종 목적지까지의 이동 거리 및 이동 시간 중 적어도 하나에 의해 정해질 수 있음은 전술한 바와 같다.
도 15에 도시된 바와 같이, 제 1 로봇(1000A)의 이동 비용이 "10"으로서 가장 작고, 제 4 로봇(1000D)의 이동 비용이 "16"으로서 두 번째로 작고, 제 2 로봇(1000A)의 이동 비용이 "20"으로서 세 번째로 작고, 제 3 로봇(1000C)의 이동 비용이 "30"으로서 가장 클 수 있다. 이에 기반하여 상기 관제 서버(3000)는 제 1 로봇(1000A), 제 4 로봇(1000D), 제 2 로봇(1000B), 및 제 3 로봇(1000C)에게 상기 최종 목적지(P1), 제 1 중간 목적지(W1), 제 1 임시 목적지(T1), 및 제 2 임시 목적지(T2)를 각각 새롭게 배정할 수 있다. 상기 테이블에서는 상기 배정된 목적지가 계산 결과(result)로서 표시되어 있다.
이전 목적지(Previous Goal)은 상기 전역 경로들이 새롭게 계산되기 전에 제 1 로봇(1000A), 제 2 로봇(1000B), 및 제 3 로봇(1000C) 각각에 배정된 목적지를 의미하고, 이전 이동 비용(cost to go to previous goal)는 제 1 로봇(1000A), 제 2 로봇(1000B), 및 제 3 로봇(1000C)의 상기 이전 목적지까지의 이동 비용을 의미한다. 이하, 상기 최종 목적지까지의 이동 비용을 "최종 목적지 이동 비용" 또는 "최종 목적지 비용"이라고 하고, 상기 이전 목적지까지의 이동 비용을 "이전 목적지 이동 비용" 또는 "이전 목적지 비용"이라고 하겠다.
상기 로봇 목적지 배정에 있어서 상기 이전 목적지 비용이 활용되는 것에 대해 도 16을 더욱 참조하여 설명하겠다. 도 16는 본 개시의 일실시예에 따른 각 로봇에 대한 목적지 배정을 도시한다.
도 14 및 도 15에서 설명된 바와 같은 로봇 목적지 배정에 기반하여 수립된 전역 경로에 따라 제 1 로봇(1000A), 제 4 로봇(1000D), 제 2 로봇(1000B), 제 3 로봇(1000C)이 이동하고 있는 도중에, 제 5 로봇(1000E)를 상기 최종 목적지(P1)으로 이동시키는 미션을 상기 FMS(3400)가 상기 미션 스케쥴러(3300)으로부터 받을 수 있다[S51].
여기서, 도 16의 (16-1)에 도시된 바와 같이, 제 1 로봇(1000A)은 상기 최종 목적지(P1)부터 가까운 제 1 거리에 근접해 있고 (예를 들면, 제 1 로봇(1000A)은 제 1 중간 목적지(W1)과 상기 최종 목적지(P1) 사이까지 근접해 있고), 제 5 로봇(1000E)은 상기 최종 목적지(P1)부터 더 가까운 제 2 거리에 위치해 있다고 가정하자. 즉, 제 1 로봇(1000A)는 조금만 더 이동하면 상기 최종 목적지(P1)에 도달하는 즈음에, 제 1 로봇(1000A)보다 상기 최종 목적지(P1)에 더 가까이 있는 제 5 로봇(1000E)이 상기 최종 목적지(P1)으로 이동해야 하는 미션이 생성된 것이다. 제 1 로봇(1000A), 제 2 로봇(1000B), 제 3 로봇(1000C), 제 4 로봇(1000D), 및 제 5 로봇(1000E)은 서로 주행 속도가 같거나 비슷하다면, 제 5 로봇(1000E), 제 1 로봇(1000A), 제 4 로봇(1000D), 제 2 로봇(1000B), 및 제 3 로봇(1000C)이 순서대로 상기 최종 목적지(P1)에 도달할 수 있을 것이다.
이와 같은 상황에서 상기 로봇들을 위한 전역 경로가 다시 계산되어 제 5 로봇(1000E)에 상기 최종 목적지(P1)이 배정되고 제 1 로봇(1000A)에 제 1 중간 목적지(W1)이 배정된다면 제 1 로봇(1000A)은 뒤로 후진하여 제 1 중간 목적지(W1)로 이동해야 할 수도 있다. 이는 제 1 로봇(1000A)의 주행 동선이 꼬이게 하여 상기 로봇들의 주행에 혼란을 초래할 수 있어서 바람직하지 않을 수 있다.
상기 FMS(3400)은 제 1 로봇(1000A), 제 2 로봇(1000B), 제 3 로봇(1000C), 제 4 로봇(1000D), 및 제 5 로봇(1000E) 각각에 대한 전역 경로를 새롭게 계산할 수 있다. 즉, 상기 FMS(3400)는 제 1 로봇(1000A)이 계속 상기 최종 목적지(P1)로 이동하도록 제 1 로봇(1000A)를 위한 제 1 전역 경로를 수립하고, 제 5 로봇(1000E)이 제 1 중간 목적지(W1)을 경유하여 상기 최종 목적지(P1)로 이동하도록 제 5 로봇(1000E)를 위한 제 5 전역 경로를 수립하고, 제 4 로봇(1000D)이 제 1 임시 목적지(T1) 및 제 1 중간 목적지(W1)을 차례로 경유하여 상기 최종 목적지(P1)로 이동하도록 제 4 로봇(1000D)를 위한 제 4 전역 경로를 수립하고, 제 2 로봇(1000B)이 제 2 임시 목적지(T2), 제 1 임시 목적지(T1) 및 제 1 중간 목적지(W1)을 차례로 경유하여 상기 최종 목적지(P1)로 이동하도록 제 2 로봇(1000B)를 위한 제 2 전역 경로를 수립하고, 제 3 로봇(1000C)이 제 3 임시 목적지(T3), 제 2 임시 목적지(T2), 제 1 임시 목적지(T1) 및 제 1 중간 목적지(W1)을 차례로 경유하여 상기 최종 목적지(P1)로 이동하도록 제 3 로봇(1000C)를 위한 제 3 전역 경로를 수립할 수 있다.
즉, 제 1 로봇(1000A), 제 2 로봇(1000B), 제 3 로봇(1000C), 제 4 로봇(1000D), 및 제 5 로봇(1000E) 각각에 상기 최종 목적지(P1)을 위한 도착 목적지를 새롭게 배정함에 있어서, 상기 관제 서버(3000)는 제 1 로봇(1000A), 제 5 로봇(1000E), 제 4 로봇(1000D), 제 2 로봇(1000B), 및 제 3 로봇(1000C)에게 상기 최종 목적지(P1), 제 1 중간 목적지(W1), 제 1 임시 목적지(T1), 제 2 임시 목적지(T2), 및 제 3 임시 목적지(T3)를 각각 새롭게 배정할 수 있다. 상기 새롭게 계산된 제 1 전역 경로, 제 2 전역 경로, 제 3 전역 경로, 제 4 전역 경로, 및 제 5 전역 경로는 각각 제 1 로봇(1000A), 제 2 로봇(1000B), 제 3 로봇(1000C), 제 4 로봇(1000D), 및 제 5 로봇(1000E)에 제공될 수 있다[S57]. 제 1 전역 경로, 제 2 전역 경로, 제 3 전역 경로, 및 제 4 전역 경로는 업데이트되는 것이고, 제 5 전역 경로는 새롭게 생성되는 것일 수 있다.
그러면, 도 16의 (16-2)에 도시된 바와 같이, 제 1 로봇(1000A)은 상기 최종 목적지(P1)로 이동하고, 제 5 로봇(1000E)은 제 1 중간 목적지(W1)로 이동하고, 제 4 로봇(1000E)은 제 1 임시 목적지(T1)로 이동하고, 제 2 로봇(1000B)은 제 2 임시 목적지(T2)로 이동하고, 제 3 로봇(1000C)은 제 3 임시 목적지(T3)로 이동할 수 있다.
비록 도시되지 않았지만, 제 1 로봇(1000A)이 상기 최종 목적지(P1)을 떠나게 되면, 제 5 로봇(1000E), 제 4 로봇(1000D), 제 2 로봇(1000B), 및 제 3 로봇(1000C)은 순차적으로 상기 최종 목적지(P1)를 향해 이동할 수 있음은 전술한 바와 마찬가지이다.
도 16에서 설명된 각 로봇에 대한 목적지 배정에 대해 도 17을 더욱 참조하여 설명하겠다. 도 17은 도 16의 로봇 목적지 배정을 위한 테이블이다.
각 로봇에 대한 목적지 배정은 각 로봇의 최종 목적지 비용 뿐만 아니라 상기 이전 목적지 비용까지 고려되어 정해질 수 있다.
도 17에 도시된 바와 같이, 제 5 로봇(1000E)의 최종 목적지 비용이 "2"로서 가장 작고, 제 1 로봇(1000A)의 최종 목적지 비용이 "4"로서 두 번째로 작고, 제 4 로봇(1000D)의 최종 목적지 비용이 "16"으로서 세 번째로 작고, 제 2 로봇(1000B)의 최종 목적지 비용이 "20"으로서 네 번째로 작고, 제 3 로봇(1000C)의 이동 비용이 "30"으로서 가장 클 수 있다.
그런데, 제 1 로봇(1000A)의 이전 목적지 비용이 "4"로서 소정 이동 비용(예를 들면 "5") 이하일 수 있다. 상기 소정 이동 비용은 예를 들면 상기 최종 목적지(P1), 제 1 중간 목적지(W1), 제 1 임시 목적지(T1), 제 2 임시 목적지(T2), 및 제 3 임시 목적지(T3) 중 이웃하는 두 목적지 간을 이동할 때 소요되는 이동 비용일 수 있다
이 경우에는, 상기 관제 서버(3000)는 제 1 로봇(1000A)의 최종 목적지 비용이 제 5 로봇(1000E)보다 큼에도 불구하고 제 1 로봇(1000A)에게 여전히 상기 최종 목적지(P1)을 배정할 수 있다. 그리고, 상기 관제 서버(3000)는 제 5 로봇(1000E), 제 4 로봇(1000D), 제 2 로봇(1000B), 및 제 3 로봇(1000C)에게 제 1 중간 목적지(W1), 제 1 임시 목적지(T1), 제 2 임시 목적지(T2), 및 제 3 임시 목적지(T3)를 각각 새롭게 배정할 수 있다. 상기 테이블에서는 상기 배정된 목적지가 계산 결과(result)로서 표시되어 있다.
이상에서는 상기 소정 이동 비용이 상기 최종 목적지(P1)의 배정을 위해 적용되는 것이 설명되었다. 그러나, 상기 소정 이동 비용이 다른 목적지 즉 제 1 중간 목적지(W1), 제 1 임시 목적지(T1), 제 2 임시 목적지(T2), 및 제 3 임시 목적지(T3)의 배정을 위해서도 적용될 수 있음은 물론이다.
각 로봇이 기존에 배정받은 목적지까지 가는데 소정 이동 비용 이하로 소요되는 경우에는 각 로봇은 상기 기존에 배정된 목적지를 선점할 수 있다. 그러나, 각 로봇이 기존에 배정받은 목적지까지 가는데 소정 이동 비용 이하로 소요되는 경우라고 상기 기존에 배정된 목적지보다 상기 최종 목적지 방향으로 더 가까운 다른 목적지가 이용 가능한 경우에는 상기 각 로봇은 굳이 상기 기존에 배정받은 목적지를 선점할 필요는 없다. 즉, 각 로봇은, 도 16 및 도 17에서 설명된 제 1 로봇(1000A)처럼, 상기 최종 목적지로부터 반대 방향으로 후진을 해야 할 수도 있는 이벤트가 발생된 경우는 후진을 하지 않기 위해 기존에 배정 받은 목적지를 선점할 수 있지만, 상기 최종 목적지 방향으로 전진을 해야 하는 이벤트가 발생된 경우에는 전진을 하기 위해 기존에 배정 받은 목적지를 선점하지 않을 수 있다. 이에 대해 도 18을 더욱 참조하여 설명하겠다. 도 18은 본 개시의 일실시예에 따른 각 로봇에 대한 목적지 배정을 도시한다.
도 16 및 도 17에서 설명된 바와 같은 로봇 목적지 배정에 기반하여 수립된 전역 경로에 따라 제 1 로봇(1000A), 제 5 로봇(1000E), 제 4 로봇(1000D), 제 2 로봇(1000B), 제 3 로봇(1000C)이 이동하고 있는 도중에, 제 1 로봇(1000A)이 상기 최종 목적지(P1)에 도착한 후 여기를 떠날 수 있다[S58].
여기서, 도 18의 (18-1)에 도시된 바와 같이, 제 1 로봇(1000A)은 상기 최종 목적지(P1)를 떠난 관계로, 제 5 로봇(1000E)은 상기 최종 목적지(P1)을 향해 이동하고 있고, 제 4 로봇(1000D)은 조금만 더 이동하면 제 1 임시 목적지(T1)에 도달할 수 있는 상황이라고 가정하자. 즉, 제 4 로봇(1000D)은 제 1 임시 목적지(T)까지 가는데 소정 이동 비용 이하가 소요될 수 있다.
상기 FMS(3400)은 제 2 로봇(1000B), 제 3 로봇(1000C), 제 4 로봇(1000D), 및 제 5 로봇(1000E) 각각에 대한 전역 경로를 새롭게 계산할 수 있다. 즉, 상기 FMS(3400)는 제 5 로봇(1000E)이 상기 최종 목적지(P1)로 이동하도록 제 5 로봇(1000E)를 위한 제 5 전역 경로를 수립하고, 제 4 로봇(1000D)이 제 1 임시 목적지(T1)를 경유함 없이 제 1 중간 목적지(W1)을 경유하여 상기 최종 목적지(P1)로 이동하도록 제 4 로봇(1000D)를 위한 제 4 전역 경로를 수립하고, 제 2 로봇(1000B)이 제 2 임시 목적지(T2)를 경유함 없이 제 1 임시 목적지(T1) 및 제 1 중간 목적지(W1)을 차례로 경유하여 상기 최종 목적지(P1)로 이동하도록 제 2 로봇(1000B)를 위한 제 2 전역 경로를 수립하고, 제 3 로봇(1000C)이 제 3 임시 목적지(T3)를 경유함 없이 제 2 임시 목적지(T2), 제 1 임시 목적지(T1) 및 제 1 중간 목적지(W1)을 차례로 경유하여 상기 최종 목적지(P1)로 이동하도록 제 3 로봇(1000C)를 위한 제 3 전역 경로를 수립할 수 있다.
즉, 제 2 로봇(1000B), 제 3 로봇(1000C), 제 4 로봇(1000D), 및 제 5 로봇(1000E) 각각에 상기 최종 목적지(P1)을 위한 도착 목적지를 새롭게 배정함에 있어서, 상기 관제 서버(3000)는 제 5 로봇(1000E), 제 4 로봇(1000D), 제 2 로봇(1000B), 및 제 3 로봇(1000C)에게 상기 최종 목적지(P1), 제 1 중간 목적지(W1), 제 1 임시 목적지(T1), 및 제 2 임시 목적지(T2)를 각각 새롭게 배정할 수 있다. 제 4 로봇(1000D)은 제 1 임시 목적지(T1)까지 가는데 소정 이동 비용 이하로 소요되지만 제 1 중간 목적지(W1)가 이용 가능하므로 상기 관제 서버(3000는 제 1 임시 목적지(T1)를 배정하는 대신에 제 1 중간 목적지(W1)을 배정할 수 있다. 상기 새롭게 계산된 제 2 전역 경로, 제 3 전역 경로, 제 4 전역 경로, 및 제 4 전역 경로는 각각 제 2 로봇(1000B), 제 3 로봇(1000C), 제 4 로봇(1000D), 및 제 5 로봇(1000E)에 제공될 수 있다[S57]. 제 2 전역 경로, 제 3 전역 경로, 제 4 전역 경로, 및 제 5 전역 경로는 업데이트되는 것이다.
그러면, 도 18의 (18-2)에 도시된 바와 같이, 제 5 로봇(1000E)은 상기 최종 목적지(P1)로 이동하고, 제 4 로봇(1000D)은 제 1 중간 목적지(W1)로 이동하고, 제 2 로봇(1000B)은 제 1 임시 목적지(T1)로 이동하고, 제 3 로봇(1000C)은 제 2 임시 목적지(T2)로 이동할 수 있다.
비록 도시되지 않았지만, 제 5 로봇(1000E)이 상기 최종 목적지(P1)을 떠나게 되면, 제 4 로봇(1000D), 제 2 로봇(1000B), 및 제 3 로봇(1000C)은 순차적으로 상기 최종 목적지(P1)를 향해 이동할 수 있음은 전술한 바와 마찬가지이다.
도 18에서 설명된 각 로봇에 대한 목적지 배정에 대해 도 19을 더욱 참조하여 설명하겠다. 도 19은 도 18의 로봇 목적지 배정을 위한 테이블이다.
도 19에 도시된 바와 같이, 제 5 로봇(1000E)의 최종 목적지 비용이 "2"로서 가장 작고, 제 4 로봇(1000D)의 최종 목적지 비용이 "14"으로서 두 번째로 작고, 제 2 로봇(1000B)의 최종 목적지 비용이 "20"으로서 세 번째로 작고, 제 3 로봇(1000C)의 이동 비용이 "30"으로서 가장 클 수 있다.
그런데, 제 4 로봇(1000D)의 이전 목적지 비용이 "4"로서 소정 이동 비용(예를 들면 "5") 이하일 수 있다. 그러나, 제 1 중간 목적지(W1)이 제 4 로봇(1000D)에 이용가능하므로, 제 4 로봇(1000D)은 기존에 배정 받은 제 1 임시 목적지(T1)을 선점할 필요가 없다.
따라서, 상기 관제 서버(3000)는 제 5 로봇(1000E), 제 4 로봇(1000D), 제 2 로봇(1000B), 및 제 3 로봇(1000C)에게 상기 최종 목적지(P1), 제 1 중간 목적지(W1), 제 1 임시 목적지(T1), 및 제 2 임시 목적지(T2)를 각각 새롭게 배정할 수 있다. 상기 테이블에서는 상기 배정된 목적지가 계산 결과(result)로서 표시되어 있다.
이하, 도 20을 참조하여 이상에서 설명된 각 로봇에 대한 목적지 배정에 대해 설명하겠다. 도 20은 본 개시의 일실시예에 따른 관제 서버가 각 로봇에 대한 목적지를 배정하는 순서도이다. 이하에서는 설명의 간편함을 위해 상기 최종 목적지, 상기 중간 목적지, 및 상기 임시 목적지들을 "목적지"라고 통칭하고, 상기 최종 목적지를 "1순위 목적지(또는 최상위 목적지)"로, 제 1 중간 목적지를 "2순위 목적지"로, 제 1 내지 N 임시 목적지를 "3순위 내지 N+2순위 목적지"로 가정하겠다. 상기 2순위 목적지 및 상기 3순위 내지 N+2순위 목적지를 상기 최순위 목적지(즉, 1순위 목적지)를 위한 예비 목적지로 이해될 수도 있다.
먼저 상기 관제 서버(3000)는 최종 목적지가 동일한 복수의 로봇들의 상기 최종 목적지까지의 이동 비용을 계산할 수 있다[S201].
각 로봇의 이전 목적지 비용이 소정 이동 비용 이하인 경우, 상기 관제 서버(3000)는 각 로봇을 위해 이전 목적지를 선점하여 현재 목적지로 배정할 수 있다[S202].
상기 관제 서버(3000)는 모든 로봇의 현재 목적지가 배정되었는지 판단할 수 있다[S203].
모든 로봇의 현재 목적지가 배정되었다면, 상기 관제 서버(3000)는 본 절차를 종료할 수 있다.
그러나, 모든 로봇의 현재 목적지가 배정되지 않았다면, 상기 관제 서버(3000)는 상기 최종 목적지까지의 이동 비용이 최소인 로봇부터 순서대로 각 로봇을 대상으로 최상위 목적지를 검색할 수 있다[S204].
그 다음, 상기 관제 서버(3000)는 상기 검색된 목적지가 상기 복수의 로봇들 중 한 로봇에 의해 선점되었는지를 판단할 수 있다[S205].
상기 검색된 목적지가 선점되지 않았다면, 상기 관제 서버(3000)는 상기 대상이 된 로봇을 위해 상기 검색된 목적지를 현재 목적지로서 배정할 수 있다[S206].
상기 검색된 목적지가 선점되었다면, 상기 관제 서버(3000)는 상기 검색된 목적지를 선점한 로봇이 상기 대상이 된 로봇, 즉 자기 자신인지 여부를 판단할 수 있다[S207].
상기 검색된 목적지를 선점한 로봇이 자기 자신이면, 상기 관제 서버(3000)는 상기 대상이 된 로봇을 위해 상기 검색된 목적지를 현재 목적지로서 배정할 수 있다[S206].
상기 검색된 목적지를 선점한 로봇이 자기 자신이 아니라면, 상기 관제 서버(3000)는 상기 대상이 된 로봇을 위해 차순위 목적지를 검색한 다음[S208], 상기 S205 단계 내지 상기 207 단계를 반복할 수 있다.
한편, 상기 검색된 목적지가 상기 현재 목적지로 배정되면, 상기 관제 서버(3000)는 상기 모든 로봇의 현재 목적지가 배정될 때까지 상기 S203 단계 내지 상기 S208 단계를 반복할 수 있다.
도 20에 따른 프로세스는 예를 들면 도 5의 상기 S51 단계 또는 상기 S58 단계의 이벤트 발생시 수행될 수 있다.
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
100: 센싱모듈
200: 맵 저장부
300: 이동부
400: 기능부
500: 통신부
900: 제어부
1000: 로봇
3000: 관제 서버
3100: WMS
3200: MCS
3300: 미션 스케쥴러
3400: FMS

Claims (20)

  1. 최종 목적지가 동일한 복수의 로봇들 각각의 최종 목적지 이동 비용을 계산하는 단계; 및
    상기 복수의 로봇들이 이전 목적지 이동 비용이 없거나 소정 이동 비용을 초과하는 이전 목적지 이동 비용을 갖는 경우, 상기 복수의 로봇들에게 상기 최종 목적지 이동 비용이 최소인 로봇부터 순서대로, 상기 최종 목적지 및 이를 위한 적어도 하나의 후순위 목적지를 최상위 목적지부터 순서대로 현재 목적지로서 배정하는 단계;를 포함하는 로봇 이동 제어 방법.
  2. 제 1 항에 있어서,
    상기 복수의 로봇들 중 적어도 하나가 상기 소정 이동 비용 이하인 이전 목적지 비용을 갖는 경우, 상기 적어도 하나의 로봇에게 해당 이전 목적지를 선점하여 상기 현재 목적지로서 배정하는 단계; 및
    상기 복수의 로봇들 중 나머지 로봇들에게 상기 최종 목적지 이동 비용이 최소인 로봇부터 순서대로 상기 최종 목적지 및 상기 후순위 목적지 중 선점되지 않은 적어도 하나의 목적지를 최상위 목적지부터 순서대로 현재 목적지로서 배정하는 단계;를 더욱 포함하는 로봇 이동 제어 방법.
  3. 제 2 항에 있어서,
    상기 복수의 로봇들의 각 로봇을 위한 해당 현재 목적지를 통과하는 전역 경로를 생성하는 단계; 및
    상기 생성된 전역 경로를 상기 각 로봇에게 제공하는 단계;를 더욱 포함하는 로봇 이동 제어 방법.
  4. 제 1 항에 있어서,
    상기 최종 목적지 및 상기 적어도 하나의 후순위 목적지는 사전 지정된 목적지인 것을 특징으로 하는 로봇 이동 제어 방법.
  5. 제 4 항에 있어서,
    상기 후순위 목적지는, 상기 최종 목적지에 제 1 로봇이 위치하고 있는 경우 제 1 로봇이 상기 최종 목적지를 떠날 때까지 제 2 로봇이 대기하기 위한 목적지인 것을 특징으로 하는 로봇 이동 제어 방법.
  6. 제 5 항에 있어서,
    제 2 로봇이 상기 후순위 목적지에서 대기하고 있더라도 제 1 로봇 또는 제 3 로봇의 이동 방해가 최소한이 되도록 상기 후순위 목적지의 위치가 정해지는 것을 특징으로 하는 로봇 이동 제어 방법.
  7. 제 1 항에 있어서,
    상기 후순위 목적지는 상기 최종 목적지를 위한 대기 목적지와 상기 대기 목적지를 위한 적어도 하나의 임시 목적지를 포함하는 것을 특징으로 하는 로봇 이동 제어 방법.
  8. 제 3 항에 있어서,
    상기 전역 경로는 통과 목적지 및 교통 목적지 중 적어도 하나를 더욱 통과하도록 생성될 수 있는 것을 특징으로 하는 로봇 이동 제어 방법.
  9. 제 2 항에 있어서,
    상기 현재 목적지 배정은, 상기 최종 목적지를 향하도록 스케쥴링된 미션이 한 로봇에 할당되는 경우 수행되는 것을 특징으로 하는 로봇 이동 제어 방법.
  10. 제 2 항에 있어서,
    상기 현재 목적지 배정은, 상기 복수의 로봇들 중에서 한 로봇이 상기 최종 목적지를 떠나는 경우 수행되는 것을 특징으로 하는 로봇 이동 제어 방법.
  11. 적어도 하나의 물품 및 그 위치에 대한 오더를 관리하는 WMS(Warehouse Management System);
    적어도 하나의 오더를 미션으로 구성하는 MSC(Material Control System);
    미션을 위한 동선을 스케쥴링하는 미션 스케쥴러; 및
    상기 동선 스케쥴링된 미션을 위한 로봇의 전역 경로를 생성하는 FMS(Fleet Management System);를 포함하고, 상기 FMS는,
    최종 목적지가 동일한 복수의 로봇들 각각의 최종 목적지 이동 비용을 계산하고,
    상기 복수의 로봇들이 이전 목적지 이동 비용이 없거나 소정 이동 비용을 초과하는 이전 목적지 이동 비용을 갖는 경우, 상기 복수의 로봇들에게 상기 최종 목적지 이동 비용이 최소인 로봇부터 순서대로 상기 최종 목적지 및 이를 위한 적어도 하나의 후순위 목적지를 최상위 목적지부터 순서대로 현재 목적지로서 배정하는 것을 특징으로 하는 로봇 이동 제어용 관제 서버.
  12. 제 11 항에 있어서, 상기 FMS는,
    상기 복수의 로봇들 중 적어도 하나가 상기 소정 이동 비용 이하인 이전 목적지 비용을 갖는 경우, 상기 적어도 하나의 로봇에게 해당 이전 목적지를 선점하여 상기 현재 목적지로서 배정하고,
    상기 복수의 로봇들 중 나머지 로봇들에게 상기 최종 목적지 이동 비용이 최소인 로봇부터 순서대로 상기 최종 목적지 및 상기 후순위 목적지 중 선점되지 않은 적어도 하나의 목적지를 최상위 목적지부터 순서대로 현재 목적지로서 배정하는 것을 특징으로 하는 관제 서버.
  13. 제 12 항에 있어서, 상기 FMS는,
    상기 복수의 로봇들의 각 로봇을 위한 해당 현재 목적지를 통과하는 전역 경로를 생성하고,
    상기 생성된 전역 경로를 상기 각 로봇에게 제공하는 것을 특징으로 하는 관제 서버.
  14. 제 11 항에 있어서,
    상기 최종 목적지 및 상기 적어도 하나의 후순위 목적지는 사전 지정된 목적지인 것을 특징으로 하는 관제 서버.
  15. 제 14 항에 있어서,
    상기 후순위 목적지는, 상기 최종 목적지에 제 1 로봇이 위치하고 있는 경우 제 1 로봇이 상기 최종 목적지를 떠날 때까지 제 2 로봇이 대기하기 위한 목적지인 것을 특징으로 하는 관제 서버.
  16. 제 15 항에 있어서,
    제 2 로봇이 상기 후순위 목적지에서 대기하고 있더라도 제 1 로봇 또는 제 3 로봇의 이동 방해가 최소한이 되도록 상기 후순위 목적지의 위치가 정해지는 것을 특징으로 하는 관제 서버.
  17. 제 11 항에 있어서,
    상기 후순위 목적지는 상기 최종 목적지를 위한 대기 목적지와 상기 대기 목적지를 위한 적어도 하나의 임시 목적지를 포함하는 것을 특징으로 하는 관제 서버.
  18. 제 13 항에 있어서, 상기 FMS는,
    통과 목적지 및 교통 목적지 중 적어도 하나를 더욱 통과하도록 상기 전역 경로를 생성하는 것을 특징으로 하는 관제 서버.
  19. 제 12 항에 있어서, 상기 FMS는,
    상기 미션 스케쥴러로부터 상기 동선 스케쥴링된 미션을 수신하는 경우 상기 현재 목적지 배정을 수행하는 것을 특징으로 하는 관제 서버.
  20. 제 12 항에 있어서, 상기 FMS는,
    상기 복수의 로봇들 중에서 한 로봇이 상기 최종 목적지를 떠나는 경우, 상기 현재 목적지 배정을 수행하는 것을 특징으로 하는 관제 서버.
KR1020220149482A 2022-11-10 2022-11-10 로봇 이동 제어 방법 및 이를 구현하는 관제 서버 KR20240068268A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220149482A KR20240068268A (ko) 2022-11-10 2022-11-10 로봇 이동 제어 방법 및 이를 구현하는 관제 서버
PCT/KR2022/020100 WO2024101522A1 (ko) 2022-11-10 2022-12-12 로봇 이동 제어 방법 및 이를 구현하는 관제 서버

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220149482A KR20240068268A (ko) 2022-11-10 2022-11-10 로봇 이동 제어 방법 및 이를 구현하는 관제 서버

Publications (1)

Publication Number Publication Date
KR20240068268A true KR20240068268A (ko) 2024-05-17

Family

ID=91033066

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220149482A KR20240068268A (ko) 2022-11-10 2022-11-10 로봇 이동 제어 방법 및 이를 구현하는 관제 서버

Country Status (2)

Country Link
KR (1) KR20240068268A (ko)
WO (1) WO2024101522A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8965561B2 (en) * 2013-03-15 2015-02-24 Cybernet Systems Corporation Automated warehousing using robotic forklifts
US10642282B2 (en) * 2017-04-12 2020-05-05 X Development Llc Roadmap annotation for deadlock-free multi-agent navigation
KR102160968B1 (ko) * 2017-07-17 2020-09-29 한국전자통신연구원 자율주행 로봇 장치 및 자율 주행 방법
KR102462491B1 (ko) * 2021-05-06 2022-11-03 네이버랩스 주식회사 지정 구역을 주행하는 다수의 로봇들을 제어하는 방법 및 시스템
KR102362205B1 (ko) * 2021-07-21 2022-02-15 주식회사 코봇 스마트 물류 시스템용 자율 이동 로봇

Also Published As

Publication number Publication date
WO2024101522A1 (ko) 2024-05-16

Similar Documents

Publication Publication Date Title
US11709502B2 (en) Roadmap annotation for deadlock-free multi-agent navigation
US10703567B2 (en) Storage material handling system
WO2020233227A1 (zh) 仓储任务处理方法、装置、仓储系统以及存储介质
JP6757490B2 (ja) 倉庫における品目のパレットの自律的入れ替え
JP7397181B2 (ja) 無人搬送車を制御するための方法および装置
US20140236413A1 (en) System and Method for Coordinating Movement of Mobile Drive Units
Guney et al. Dynamic prioritized motion coordination of multi-AGV systems
CN109108973A (zh) 单向式路径调度方法及系统
US20210165424A1 (en) An agv system and a method of controlling an agv system
JP2021071891A (ja) 走行制御装置、走行制御方法、及びコンピュータプログラム
US20230259878A1 (en) System and method for managing a plurality of mobile robots for preparing orders for products stored in a warehouse
JP7204631B2 (ja) 走行制御装置、方法及びコンピュータプログラム
JP2021071796A (ja) 走行制御装置、移動体及び運行システム
Sharma Control classification of automated guided vehicle systems
KR20240068268A (ko) 로봇 이동 제어 방법 및 이를 구현하는 관제 서버
US20220162001A1 (en) Predicting a path of material handling equipment and determining an obstacle-free path
CN115108231A (zh) 用于控制搬运机器人的方法和设备
Li Task Assignment and Path Planning for Autonomous Mobile Robots in Stochastic Warehouse Systems
Adinandra Hierarchical coordination control of mobile robots
Velhal et al. A dynamic heterogeneous team-based non-iterative approach for online pick-up and just-in-time delivery problems
Kiinemund et al. Online kinodynamic motion planning for omnidirectional automatic guided vehicles
Guney Motion Coordination and Task Planning of Multi-AGV Systems for Warehouse Automation
US20240144125A1 (en) Method for planning cleaning operations at a facility
WO2023136047A1 (ja) 情報処理装置、情報処理方法およびプログラム
US20240142985A1 (en) De-centralized traffic-aware navigational planning for mobile robots