KR102542218B1 - 로봇 스케줄링, 로봇 경로 제어 방법, 서버 및 저장 매체 - Google Patents

로봇 스케줄링, 로봇 경로 제어 방법, 서버 및 저장 매체 Download PDF

Info

Publication number
KR102542218B1
KR102542218B1 KR1020217002072A KR20217002072A KR102542218B1 KR 102542218 B1 KR102542218 B1 KR 102542218B1 KR 1020217002072 A KR1020217002072 A KR 1020217002072A KR 20217002072 A KR20217002072 A KR 20217002072A KR 102542218 B1 KR102542218 B1 KR 102542218B1
Authority
KR
South Korea
Prior art keywords
robot
path
state
scheduling
operating state
Prior art date
Application number
KR1020217002072A
Other languages
English (en)
Other versions
KR20210024576A (ko
Inventor
카이 류
쥔 류
Original Assignee
베이징 긱플러스 테크놀러지 씨오., 엘티디.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CN201810643118.4A external-priority patent/CN108958241B/zh
Priority claimed from CN201810708903.3A external-priority patent/CN108960506B/zh
Priority claimed from CN201810785131.3A external-priority patent/CN108646762B/zh
Application filed by 베이징 긱플러스 테크놀러지 씨오., 엘티디. filed Critical 베이징 긱플러스 테크놀러지 씨오., 엘티디.
Publication of KR20210024576A publication Critical patent/KR20210024576A/ko
Application granted granted Critical
Publication of KR102542218B1 publication Critical patent/KR102542218B1/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/0011Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
    • G05D1/0044Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement by providing the operator with a computer generated representation of the environment of the vehicle, e.g. virtual reality, maps
    • 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/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • 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
    • 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/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • 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/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • 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/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem
    • 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)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Automation & Control Theory (AREA)
  • Game Theory and Decision Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • General Engineering & Computer Science (AREA)
  • Manipulator (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Warehouses Or Storage Devices (AREA)

Abstract

로봇 스케줄링, 로봇 경로 제어, 로봇 소방 제어 방법, 장치, 서버 및 저장 매체에 관한 것으로, 상기 로봇 스케줄링 방법은, 스케줄링 명령을 수신하는 단계; 상기 스케줄링 명령에 응하여, 작업 구역에 위치한 로봇의 작동 상태와 현재 위치를 결정하는 단계 - 상기 작동 상태는 유휴 상태와 비유휴 상태를 포함함 - (S110); 및 로봇의 작동 상태가 유휴 상태이며 현재 위치가 사전 설정된 목표 범위 밖인 경우, 로봇을 현재 위치로부터 목표 범위 내로 스케줄링하는 단계(S120)를 포함한다.

Description

로봇 스케줄링, 로봇 경로 제어 방법, 서버 및 저장 매체
본 출원은 중국 특허청에 2018년7월2일에 출원된, 출원번호는 201810708903.3인 중국 특허 출원, 2018년6월21일에 출원된, 출원번호는 201810643118.4인 중국 특허 출원 및 2018년7월 17일에 출원된, 출원번호는 201810785131.3인 중국 특허 출원의 우선권을 주장하며, 해당 출원들의 전체 내용은 인용되어 본 출원에 통합된다.
본 출원의 실시예는 로봇 기술에 관한 것으로서, 예를 들어 로봇 스케줄링, 로봇 경로 제어 방법, 서버 및 저장 매체에 관한 것이다.
로봇 기술의 발전은 물류 산업에 새로운 기술과 혁신을 가져왔다. 많은 작업자를 로봇으로 대체하면 물류 분야 자동화를 실현하고 인건비를 절감하며 생산성 향상을 추진할 수 있다. 관련 기술의 로봇 피킹 시스템은 이동 로봇이 사전 설정된 작업자의 위치로 물품을 이송함으로써, 기존의 "퍼슨 투 굿즈(person-to-goods)"인 물품 피킹 모드를 "굿즈 투 퍼슨(goods-to-person)"인 물품 피킹 모드로 전환하여, 기존의 물품 피킹 모드를 깨뜨려, 작업 효율을 효과적으로 향상시킨다.
다수의 창고들은 24시간 지속적으로 운영되지 않으므로, 매일 출퇴근 시에 로봇을 온오프시켜야 한다. 그러나 로봇은 창고에 무작위로 분포되어 있을 수 있으며, 온오프 시에 현장 곳곳에서 로봇을 찾아야 하거나, 또는 제어 단말기를 통해 로봇을 지정된 위치로 수동으로 스케줄링해야 하는바, 즉 제어 단말기에서 하나의 로봇을 선택하고 그 로봇에 해당하는 지정된 위치를 결정하여, 그 로봇을 지정된 위치로 스케줄링한 후, 스케줄링이 필요한 다음 로봇을 선택하며, 현장의 모든 로봇이 지정된 위치로 스케줄링될 때까지 상기 동작을 반복한다. 그러나 이 두가지 방법은 모두 필연코 사용자의 사용 원가를 증가시키고 작업자들의 업무 효율을 저하시킨다.
또한, 로봇, 선반, 창고 바닥 2차원 코드 등과 같은 많은 창고 자원도 비정기적으로 유지보수 및 점검 수리가 필요하다. 로봇 피킹 시스템은 유지보수 전에, 유지보수할 바닥 2차원 코드 또는 선반이 로봇에 의해 막히는 것을 방지하기 위해 로봇을 지정 구역으로 수동으로 스케줄링하여 유지보수 담당자가 점검 수리를 하기에 편리하도록 해야 한다. 그러나, 매번의 유지보수 전에 로봇을 수동으로 스케줄링해야 하므로 작업자의 운영 및 유지보수 비용이 증가하게 된다.
물류 창고에서 로봇의 교통 사고, 상품 낙하 등과 같은 돌발 상황이 불가피하게 발생하거나, 또는 선반 점검 수리, 바닥 2차원 코드 청결 및 교체 등과 같은 창고 기본 자원에 대한 정기 유지보수가 필요하게 된다.
관련 기술에서는, 특정 구역의 로봇 작동을 모두 정지시킨다. 하지만, 이는 다른 구역이나 전체 구역의 작동에 영향을 줄 수 있다. 관련 기술 중 로봇 작동 방식은 다양한 업스트림 시스템의 업무 수요와 돌발 상황 처리 수요를 충족할 수 없어, 생산에 영향을 주지 않으면서 운영 및 유지보수 담당자가 안전하고 신속하게 창고로 진입하여 생산 질서를 복원하도록 할 수 없다. 물류 분야에 있어서, 창고는 물자가 집중되어 보관되는 곳으로서, 화재가 발생할 경우 경제적 손실이 크고 사회적 파장이 커 그 후과가 심각하다. 따라서 창고 소방 안전 업무를 잘 수행하여 보관 물자의 안전을 보장하고 화재 위험을 줄이는 것은 매우 중요하다.
창고에서는 소방 경보가 발생하면 모든 로봇의 작동을 정지시키고 인위적으로 로봇을 이동시켜 소방 통로를 떠나도록 한다. 그러나, 작동 중인 로봇은 지연 오차로 인해 계속 이동하거나 급제동으로 인해 돌발 사고가 발생할 수 있다. 또한 이러한 방식은 비효율적이며 시간과 인력 소모가 많아 긴급 구조에 영향을 미칠 수 있다.
본 출원은 상기 문제점들 중 적어도 하나를 해결하기 위한 로봇 스케줄링, 로봇 경로 제어 방법, 서버 및 저장 매체를 제공하고자 한다.
본 출원의 실시예에서는 로봇에 대한 스케줄링을 수행하는 방법으로서,
스케줄링 명령을 수신하는 단계;
상기 스케줄링 명령에 응하여, 작업 구역에 위치한 로봇의 작동 상태와 현재 위치를 결정하는 단계 - 상기 작동 상태는 유휴 상태와 비유휴 상태를 포함함 - ; 및
상기 로봇의 작동 상태가 유휴 상태이며 현재 위치가 사전 설정된 목표 범위 밖인 경우, 상기 로봇을 상기 현재 위치로부터 상기 목표 범위 내로 스케줄링하는 단계를 포함하는, 로봇 스케줄링 방법을 제공한다.
본 출원의 실시예에서는 서버로서,
적어도 하나의 프로세서; 및
상기 적어도 하나의 프로세서와 통신 연결된 메모리를 포함하되,
상기 메모리에는 상기 적어도 하나의 프로세서에 의해 실행 가능한 명령이 저장되어 있으며, 상기 명령은 상기 적어도 하나의 프로세서에 의해 실행됨으로써 상기 적어도 하나의 프로세서가 전술한 어느 한 실시예에 따른 방법을 실행할 수 있도록 하는, 서버를 더 제공한다.
본 출원의 실시예에서는 저장 매체로서, 컴퓨터 실행 가능 명령이 저장되어 있되, 상기 컴퓨터 실행 가능 명령은 전술한 어느 일 실시예에 따른 방법이 실행되도록 구성된, 저장 매체를 더 제공한다.
본 출원의 실시예에서는 로봇 스케줄링 방법, 서버와 저장 매체를 제안하는바, 로봇의 작동 상태 - 유휴 상태와 비유휴 상태를 포함함 - 와 로봇의 현재 위치를 우선 결정하고, 로봇의 작동 상태가 유휴 상태이고 현재 위치가 사전 설정된 목표 범위 밖인 경우, 로봇을 현재 위치로부터 목표 범위 내로 스케줄링할 수 있다. 즉, 본 출원의 실시예에 제안된 기술적 해결수단에서는 로봇의 작동 상태가 유휴 상태이고 현재 위치가 사전 설정된 목표 범위 밖인 경우, 지정 구역 내로 집합하도록 로봇을 스케줄링할 수 있어, 자동으로 로봇을 지정 구역으로 스케줄링할 수 있으며, 이로써 운영 유지보수 비용을 절감하고 작업 효율을 높일 수 있다.
본 출원의 실시예에서는 로봇 경로를 제어하는 방법으로서,
로봇이 설계된 경로를 따라 이동하는 과정에서, 상기 로봇이 위치한 현재 서브 구역의 작동 상태를 결정하는 단계;
상기 현재 서브 구역이 잠금 상태인 것으로 감지된 경우, 이동을 중지하도록 상기 로봇을 제어하는 단계;
상기 현재 서브 구역이 잠금해제 상태이며 다음 서브 구역이 잠금 상태인 것으로 감지된 경우, 상기 다음 서브 구역을 피하도록 상기 로봇을 위해 경로를 다시 설계하고, 상기 로봇이 다시 설계된 경로를 따라 이동하도록 유도하는 단계; 및
상기 현재 서브 구역과 상기 다음 서브 구역이 모두 잠금 해제 상태인 것으로 감지된 경우, 상기 로봇이 상기 경로를 따라 이동하도록 유도하는 단계를 포함하는, 로봇 경로 제어 방법을 제공한다.
본 출원의 실시예는 서버로서,
하나 또는 복수의 프로세서; 및
하나 또는 복수의 프로그램을 저장하도록 구성된 메모리를 포함하되,
상기 하나 또는 복수의 프로그램이 상기 하나 또는 복수의 프로세서에 의해 실행되면, 상기 하나 또는 복수의 프로세서가 전술한 로봇 경로 제어 방법을 구현하도록 하는, 서버를 더 제공한다.
본 출원의 실시예는 컴퓨터 판독가능 매체로서, 컴퓨터 프로그램이 저장되어 있되, 상기 프로그램이 프로세서에 의해 실행되면 전술한 로봇 경로 제어 방법이 구현되도록 하는, 컴퓨터 판독가능 매체를 더 제공한다.
본 출원의 실시예는 로봇이 설계된 경로를 따라 이동하는 과정에서, 상기 로봇이 위치한 현재 서브 구역의 작동 상태를 결정하여, 만약 상기 현재 서브 구역이 잠금해제 상태이고 다음 서브 구역이 잠금 상태인 것으로 감지되면, 상기 다음 서브 구역을 피하도록 상기 로봇을 위해 경로를 다시 설계하고, 상기 로봇이 다시 설계된 경로를 따라 이동하도록 유도한다. 본 출원의 실시예에서 제공된 기술적 해결수단은 로봇의 이동 과정에서 서브 구역의 작동 상태에 따라 실시간으로 경로를 조정할 수 있으므로, 로봇의 이동 경로를 보다 원활하게 제어할 수 있어 제어 효율을 높일 수 있다.
본 출원의 실시예에서는 로봇에 대한 스케줄링을 수행하는 방법으로서,
소방 신호를 수신하는 단계; 및
상기 소방 신호에 응하여, 로봇이 이동 상태이고 상기 로봇의 내비게이션 경로에서 다음 서브 구역이 사전 설정된 소방 통로 구역 내에 위치한 경우, 상기 다음 서브 구역으로 이동하고 상기 내비게이션 경로를 따라 계속 이동하며 다음 서브 구역이 소방 통로 구역 내가 아닐 때 이동을 중지하도록 상기 로봇을 제어하는 단계를 포함하는, 로봇 스케줄링 방법을 제공한다.
본 출원의 실시예에서는 서버로서,
하나 또는 복수의 프로세서; 및
하나 또는 복수의 프로그램을 저장하도록 구성된 메모리를 포함하되,
상기 하나 또는 복수의 프로그램이 상기 하나 또는 복수의 프로세서에 의해 실행되면, 상기 하나 또는 복수의 프로세서가 전술한 로봇 스케줄링 방법을 구현하도록 하는, 서버를 더 제공한다.
본 출원의 실시예는 컴퓨터 판독가능 매체로서, 컴퓨터 프로그램이 저장되어 있되, 상기 프로그램이 프로세서에 의해 실행되면 전술한 로봇 스케줄링 방법이 구현되도록 하는, 컴퓨터 판독가능 매체를 더 제공한다.
본 출원의 실시예는 소방 신호를 수신하고 상기 소방 신호에 응하여, 만약 로봇이 이동 상태이고 로봇의 내비게이션 경로에서 다음 서브 구역이 사전 설정된 소방 통로 구역 내에 위치하면, 상기 다음 서브 구역으로 이동하고 내비게이션 경로를 따라 계속 이동하며 다음 서브 구역이 사전 설정된 소방 통로 구역 내가 아닐 때 이동을 중지하도록 로봇을 제어한다. 본 출원의 실시예에서 제공된 기술적 해결수단은 이동 상태의 로봇의 경우 지연 오차나 급제동으로 인한 문제를 방지할 수 있어, 로봇이 소방 통로를 떠나도록 하는 효율을 높일 수 있다.
도 1은 일 실시예에서의 로봇 스케줄링 시스템의 예시적인 구조도이다.
도 2는 일 실시예에서의 로봇 스케줄링 방법의 흐름도이다.
도 3은 일 실시예에서의 다른 로봇 스케줄링 방법의 흐름도이다.
도 4는 일 실시예에서의 목표 범위 내의 로봇의 예시적인 분포도이다.
도 5는 일 실시예에서의 로봇 스케줄링 장치의 예시적인 구조도이다.
도 6은 일 실시예에서 제공하는 서버의 예시적인 구조도이다.
도 7은 일 실시예에서의 로봇 경로 제어 방법의 흐름도이다.
도 8은 일 실시예에서의 다른 로봇 경로 제어 방법의 흐름도이다.
도 9는 일 실시예에서의 지도 조작 인터페이스에서 잠금 상태인 서브 구역의 예시도이다.
도 10은 일 실시예에서의 로봇 경로 제어 장치의 예시적인 구조도이다.
도 11은 일 실시예에서의 다른 서버의 예시적인 구조도이다.
도 12는 일 실시예에서의 물품 피킹 시스템의 예시적인 구조도이다.
도 13은 일 실시예에서의 로봇 스케줄링 방법의 흐름도이다.
도 14는 일 실시예에서의 소방 통로 구역의 예시도이다.
도 15는 일 실시예에서의 로봇 스케줄링 장치의 예시적인 구조도이다.
도 16은 일 실시예에서의 다른 서버의 예시적인 구조도이다.
아래에 도면과 실시예를 참조하여 본 출원에 대해 설명한다. 여기서 설명된 구체적인 실시예는 단지 본 출원을 설명하기 위한 것에 불과하며 본 출원에 대한 한정이 아니라는 점을 이해할 수 있다. 또한, 추가적으로 설명해야 할 점이라면, 설명의 편의를 위해 도면에 전체 구조가 아닌 본 출원과 관련된 부분 구조만 도시된다.
본 출원의 실시예는 로봇 스케줄링 방법을 제공하는바, 해당 로봇 스케줄링 방법은 로봇 스케줄링 시스템에 적용된다. 도 1은 일 실시예에서의 로봇 스케줄링 시스템의 예시적인 구조도이다. 도 1에 도시된 바와 같이 로봇 스케줄링 시스템은 일반적으로 조작 단말(101), 서버(102), 및 적어도 하나의 로봇(103)을 포함한다. 서버(102)는 조작 단말(101) 및 로봇(103)과 각각 통신 링크를 설정하고, 조작 단말(101)은 작업자가 입력한 조작 정보를 수신도록 구성된다. 예를 들어, 사용자는 인간 컴퓨터 인터랙션 인터페이스를 통해 조작 단말에 조작 정보를 입력하여 창고 내 로봇(103)에 대한 스케줄링 제어를 실현할 수 있다. 서버(102)는 조작 단말(101)에 의해 수신된 조작 정보와 창고 내 실제 상황에 따라 작업 명령을 생성하여 로봇(103)으로 송신하도록 구성되며, 로봇(103)은 수신된 작업 명령에 따라 작업 명령에 대응되는 작업을 완료하도록 구성된다.
도 2는 일 실시예에서의 로봇 스케줄링 방법의 흐름도이다. 본 실시예는 로봇에 대한 스케줄링을 수행하는 시나리오에 적용될 수 있으며, 상기 방법은 로봇 스케줄링 장치에 의해 실행될 수 있다. 도 2에 도시된 바와 같이, 상기 로봇 스케줄링 방법은 하기와 같은 단계들을 포함할 수 있다.
단계 110: 로봇의 작동 상태와 현재 위치를 결정하되, 상기 작동 상태는 유휴 상태와 비유휴 상태를 포함한다.
일 실시예에서, 로봇의 작동 상태와 현재 위치를 결정하기 전에, 스케줄링 명령을 수신하는 단계를 더 포함하고, 로봇의 작동 상태와 현재 위치를 결정함에 있어서, 스케줄링 명령에 응하여, 작업 구역에 위치한 로봇의 작동 상태와 현재 위치를 결정하는 단계를 포함한다.
일 실시예에서, 로봇은 목표 로봇을 지칭한다. 목표 로봇은 창고 내에 있지만 목표 구역 내에는 없는 임의의 하나의 로봇을 지칭한다. 목표 로봇은 작업자가 조작 단말에 어느 로봇의 번호를 입력할 때 그 번호에 해당하는 로봇이 바로 목표 로봇일 수 있다. 작업자가 조작 단말에 집합 명령(스케줄링 명령)을 입력하면, 서버는 창고 내의 모든 로봇을 순회(traverse)하여 서버에 의해 현재 조회된 로봇을 목표 로봇으로 결정한다.
본 실시예에서, 로봇의 작동 상태를 결정하는 것은, 로봇에 실행 대기 태스크 또는 실행 중인 태스크가 존재하는지 여부를 판단하여, 로봇에 실행 대기 태스크 또는 실행 중인 태스크가 존재하지 않는다는 판단 결과에 응하여, 로봇의 작동 상태가 유휴 상태인 것으로 결정하고, 로봇에 실행 대기 태스크 또는 실행 중인 태스크가 존재한다는 판단 결과에 응하여, 로봇의 작동 상태가 비유휴 상태인 것으로 결정하는 방법을 통해 구현될 수 있다.
실행 대기 태스크는 서버에 의해 송신된 작업 명령을 수신하였으나, 로봇이 태스크 실행 중이여서 상기 작업 명령에 해당하는 태스크를 즉시 실행할 수 없으므로 현재 실행 중인 태스크가 실행 완료된 후 실행될 태스크를 지칭하거나, 또는 로봇이 서버에 의해 송신된 작업 명령을 수신하였고 실행하러 가는 도중인 태스크를 지칭한다.
로봇의 현재 위치를 결정하는 방법은, 로봇의 작업 환경이나 로봇의 주요 작업 태스크가 상이함에 따라 상이한 기술적 해결수단을 적용할 수 있다.
본 출원 실시예는 2차원 코드에 따라 로봇의 현재 위치를 결정하는 방법을 제공한다. 로봇 작업 구역의 바닥 위에, 좌표 값이 상이한 2차원 코드들을 미리 차례로 부착하여 덮는바, 로봇 작업 구역의 바닥을, 변 길이가 같은 셀들로 균등하게 분할하여, 좌표 값이 상이한 2차원 코드들로 각 셀을 차례로 덮는다. 각 2차원 코드에 대응되는 좌표 값은 바닥 위의 2차원 코드의 위치에 대응된다. 로봇은 현재 위치에 대응되는 2차원 코드를 획득하고, 획득된 2차원 코드에 대응되는 좌표 값에 따라 로봇의 현재 위치를 결정한다.
단계 120: 로봇의 작동 상태가 유휴 상태이며 현재 위치가 사전 설정된 목표 범위 밖인 경우, 로봇을 현재 위치에서 목표 범위 내로 스케줄링한다.
일 실시예에서, 목표 범위의 형상은 직사각형이며, 목표 범위는 사전 설정된 기점 위치, 폭 및 높이로 결정된다.
사전 설정된 목표 범위는 창고 바닥 위의 하나의 유휴 구역을 지칭하는바, 상기 유휴 구역은 창고 내 로봇의 위치에 따라 수시로 설정할 수 있다. 작업자가 조작 단말에 집합 명령을 입력할 때 서버가 창고 내에서 하나의 유휴 구역을 찾는다. 일 실시예에서, 작업자의 작업대와 가까운 구역이 우선적으로 상기 유휴 구역으로 선택된다. 예를 들면, 사전 설정된 목표 범위의 선택은 다음과 같은 명령을 통해 구현된다.
<!―로봇 집합 구역-->
<logoutzone x=“9”, y=“6”, w=“14”, h=“2”/>
여기서, x, y는 목표 범위의 기점 좌표 값을 나타내는바, x=“9”, y=“6”은 목표 범위의 기점은 가로 좌표가 9이고 세로 좌표가 6인 셀을 의미한다. W, h는 목표 범위의 길이와 높이를 나타내는바, w=“14”는 목표 범위의 길이가 14개 셀에 해당함을 의미하고, h=“2”는 목표 범위의 높이가 2개 셀에 해당함을 의미한다.
로봇의 현재 위치가 사전 설정된 목표 범위 밖인 경우, 로봇의 작동 상태를 결정하여, 로봇의 작동 상태가 유휴 상태이면, 로봇을 현재 위치로부터 목표 범위 내로 스케줄링한다.
로봇의 현재 위치가 사전 설정된 목표 범위 밖인 경우, 로봇의 작동 상태를 결정하여, 로봇의 작동 상태가 비유휴 상태이면, 비유휴 상태인 로봇을 건너뛰어, 다음 로봇의 작동 상태와 현재 위치를 계속하여 조회하며, 비유휴 상태인 로봇에 대해 아무런 처리도 수행하지 않는다.
로봇의 현재 위치가 사전 설정된 목표 범위 내인 경우, 사전 설정된 목표 범위 내의 로봇을 건너뛰어, 다음 로봇의 작동 상태와 현재 위치를 계속하여 조회하며, 사전 설정된 목표 범위 내의 로봇에 대해 아무런 처리도 수행하지 않는다.
로봇의 수가 목표 범위 내에 수용 가능한 로봇 수보다 많은 경우, 새로운 목표 범위를 다시 결정하고, 로봇의 작동 상태가 유휴 상태이며 현재 위치가 사전 설정된 목표 범위 밖인 경우, 로봇을 현재 위치로부터 새로운 목표 범위 내로 스케줄링한다.
본 출원의 실시예는 로봇 스케줄링 방법을 제공한다. 상기 방법은 우선 유휴 상태와 비유휴 상태를 포함하는 로봇의 작동 상태와 로봇의 현재 위치를 결정하고, 로봇이 유휴 상태이며 사전 설정된 목표 범위 밖인 경우 로봇을 현재 위치로부터 목표 범위 내로 스케줄링할 수 있다. 즉, 본 출원의 실시예에서 제안된 기술적 해결수단에서는, 로봇의 작동 상태가 유휴 상태이며 현재 위치가 사전 설정된 목표 범위 밖인 경우, 목표 로봇이 지정 구역 내로 집결하도록 스케줄링할 수 있어, 자동으로 로봇을 지정 구역으로 스케줄링함으로써, 운영 및 유지보수 비용을 절감하고 업무 효율을 높일 수 있다.
도 3은 일 실시예에서의 다른 로봇 스케줄링 방법의 흐름도로서, 전술일 실시예를 바탕으로 본 실시예는 "로봇을 현재 위치로부터 목표 범위 내로 스케줄링"하는 특징을 설명한다. 도 3에 도시된 바와 같이 상기 로봇 스케줄링 방법은 다음과 같은 단계들을 포함할 수 있다.
단계 S210: 로봇의 작동 상태와 현재 위치를 결정하되, 작동 상태는 유휴 상태와 비유휴 상태를 포함한다.
단계 S220: 로봇의 작동 상태가 유휴 상태이며 현재 위치가 사전 설정된 목표 범위 밖인 경우, 목표 범위 내에서 로봇의 목표 위치를 결정한다.
본 실시예에서, 목표 범위는 적어도 하나의 셀로 분할되며, 셀을 단위로 로봇의 목표 위치가 결정되되, 목표 범위는 목표 범위의 시작 위치와 스케줄링 조건에 의해 결정된다. 로봇의 현재 위치가 사전 설정된 목표 범위 밖인 경우, 로봇의 작동 상태를 결정하여, 로봇의 작동 상태가 유휴 상태이면 목표 범위 내에서 목표 로봇의 목표 위치를 결정한다.
본 실시예에서, 목표 위치는 로봇이 목표 범위 내에서 머무르는 위치를 지칭한다. 본 실시예는 로봇의 목표 범위 내 집합 시 위치를 분배하는 방법을 제공한다. 도 4는 일 실시예에서의 목표 범위 내의 로봇의 예시적인 분포도이다. 도 4에 도시된 바와 같이, 원형(301)은 로봇이 목표 범위 내 집합 시 머무르는 위치를 나타내고, 점상 직사각형(302)은 창고 내 선반 위치를 나타내고, 공백 셀(303)은 창고 현장 내에서 로봇의 주행을 위해 비워진 통로를 나타낸다.
본 실시예는 한 가지 경우만 나타낸 것으로, 창고 내 물품의 위치를 한정하는 것은 아니다. 로봇을 위한 주행 통로 제공이 용이하도록, 공백 셀(303)들 사이에는 반드시 통행로가 형성되어야 한다. 유휴 상태의 로봇이 하나의 유휴 구역에 집합될 수만 있다면, 원형(301)은 가로로 배열될 수도 있고 세로로 배열될 수도 있으며, 목표 범위의 형상에 대해서도 한정하지 않는다.
목표 범위 내에서 로봇의 목표 위치를 결정하는 것은, 목표 범위 내에서 로봇의 예정 위치를 결정하는 단계; 및 로봇의 예정 위치가 사전 설정된 스케줄링 조건을 충족하는지 여부를 판단하여, 로봇의 예정 위치가 스케줄링 조건을 충족하는 경우에 응하여, 로봇의 예정 위치를 로봇의 목표 위치로 결정하는 단계를 포함한다.
로봇의 예정 위치란 서버가 목표 범위 내에서 먼저 임의로 선택한 하나의 위치를 지칭하며, 목표 범위의 기점을 기준으로 필요에 따라 선택된 위치일 수도 있다. 사전 설정된 스케줄링 조건은, 로봇이 상기 예정 위치에 머물러 있는 상황에서 다른 로봇의 작동에 지장을 주지 않고, 해당 로봇의 작동이 필요한 경우 다른 로봇의 위치를 조정할 필요 없이 해당 로봇이 빠르게 나올 수 있는 것이다. 일 실시예에서 사전 설정된 스케줄링 조건에는, 로봇이 세로로 배열된 경우, 로봇의 예정 위치와 가로로 인접한 셀이 유휴 상태인 것; 및 로봇이 가로로 배열된 경우, 로봇의 예정 위치와 세로로 인접한 셀이 유휴 상태인 것이 포함된다. 로봇의 예정 위치가 스케줄링 조건을 충족하는 경우, 로봇의 예정 위치가 로봇의 목표 위치로 결정된다. 스케줄링 조건을 충족하는 로봇의 목표 위치는 모두 하나의 위치를 간격으로 이격되는바, 즉 스케줄링 조건을 충족하는 로봇의 목표 위치는 하나의 셀 간격으로 이격된다.
예시적으로, 도 4에 도시된 바와 같이, 도 4에서의 셀의 좌표는 왼쪽에서 오른쪽으로의 순으로 (1,1), (1,2), (1,3), (1,4), (1,5), (1,6), (1,7), (1,8), (1,9), (1,10)으로 표기하고, 아래에서 위로의 순으로 (1,1), (2,1), (3,1), (4,1), (5,1), (6,1), (7,1), (8,1), (9,1), (10,1), (11,1)으로 표기한다. 좌표 값이 (1,1)인 셀을 목표 범위의 기점으로 정하며 좌표 값이 (1,1)인 셀을 예정 위치로 정하고, 좌표 값이 (1,1)인 셀이 현재 로봇을 제외한 다른 로봇의 목표 위치인지 여부를 판단하여, 좌표 값이 (1,1)인 셀이 현재 로봇을 제외한 다른 로봇의 목표 위치가 아닐 경우, 좌표 값이 (1, 1)인 셀이, 다른 로봇이 주행 시에 경과해야 하는 경로 셀인지 여부를 판단한다. 좌표 값이 (1, 1)인 셀이, 다른 로봇이 주행 시에 경과해야 하는 경로 셀이 아닌 경우, 좌표 값이 (1,1)인 셀을 현재 로봇의 목표 위치로 정한다. 좌표 값이 (1,1)인 셀이 다른 로봇이 주행 시에 경과해야 하는 경로 셀인 경우에는, 현재의 예정 위치가 부적절함을 의미하므로, 현장 내의 다른 위치를 예정 위치로 다시 선택한다.
일 실시예에서, 좌표 값이 (1,1)인 셀이 로봇의 목표 위치인 경우, 좌표 값이 (1,1)인 셀로부터 하나의 셀을 간격으로 이격된 위치를 다음 로봇과 대응되는 예정 위치로 선택할 수 있다. 즉, 좌표 값이 (1,3) 또는 (3,1)인 셀을 예정 위치로 선택할 수 있다.
목표 범위 밖에 작동 상태가 유휴 상태인 로봇이 없을 때까지, 창고 내의 모든 로봇을 순회한다. 즉, 작동 상태가 유휴 상태인 모든 로봇이 목표 범위 내에 집합한다. 또는, 이제는 목표 범위 내에 스케줄링 조건에 부합되는 목표 위치가 없다.
단계 S230: 현재 위치로부터 목표 위치까지의 최적 경로를 산출한다.
본 실시예에서는, 초기화된 경로도를 사전에 구축해야 하되, 초기화 경로는 아무런 물품도 없는 것을 전제로 설계한 것이다. 초기화된 경로도는 수평 및 수직 방향의 많은 선분들로 구성되되, 이러한 선분들은 로봇이 주행하는 순서를 형성한다. 로봇은 아무런 장애물도 없는 바닥 위에서 좌우 또는 상하 방향으로 임의로 왕복 주행할 수 있다.
로봇의 현재 위치와 목표 위치를 결정한 후, 현대 위치에서 목표 위치까지의 모든 가능한 경로를 산출하여, 현재 위치와 목표 위치 사이의 최단 경로를 로봇의 예정 경로로 결정한다. 현재 로봇을 제외한 다른 로봇의 주행 경로에 현재 로봇의 예정 경로와 겹치는 셀이 존재하는지 여부를 판단하여, 현재 로봇을 제외한 다른 로봇의 주행 경로에 현재 로봇의 예정 경로와 겹치는 셀이 없는 경우, 현재 위치와 목표 위치 사이의 최단 경로를 현재 로봇의 최적 경로로 정한다.
현재 로봇을 제외한 다른 로봇의 주행 경로에 현재 로봇의 예정 경로와 겹치는 셀이 존재하는 경우, 현재 로봇이 상기 겹치는 셀에 이르게 될 시간과 다른 로봇이 상기 겹치는 셀에 이르게 될 시간을 산출하여, 현재 로봇이 각 겹치는 셀에 이르게 될 시간과 다른 로봇이 해당 겹치는 셀에 이르게 될 시간이 모두 상이한 경우, 현재 위치에서 목표 위치까지의 최단 경로를 현재 로봇의 최적 경로로 정한다.
현재 로봇이 임의의 하나의 겹치는 셀에 이르게 될 시간과 다른 로봇이 해당 겹치는 셀에 이르게 될 시간이 같을 경우, 현재 위치와 목표 위치 사이의 다른 경로를 현재 로봇의 예정 경로로 다시 선택한다. 또한, 상기와 같은 단계에 따라, 해당 예정 경로를 최적 경로로 정할 수 있는지 여부를 다시 산출한다.
단계 S240: 최적 경로를 따라 로봇을 현재 위치로부터 목표 위치로 스케줄링한다.
현재 위치에서 목표 위치까지의 최적 경로를 산출한 후, 최적 경로를 로봇으로 송신하여 로봇이 최적 경로를 따라 현재 위치에서 목표 위치로 주행하도록 함으로써, 로봇의 집합을 완료한다.
본 출원 실시예는 로봇의 스케줄링 방법을 제공하는바, 우선 유휴 상태와 비유휴 상태를 포함하는 로봇의 작동 상태와 목표 로봇의 현재 위치를 결정하여, 로봇의 현재 위치가 사전 설정된 목표 범위 밖이며 작동 상태가 유휴 상태인 경우, 목표 범위 내에서 로봇의 목표 위치를 결정하고, 현재 위치에서 목표 위치까지의 최적 경로를 산출하고, 최적 경로를 따라 로봇을 현재 위치에서 목표 위치로 스케줄링한다. 즉, 본 출원 실시예에서 제안된 기술적 해결수단에서는, 로봇의 현재 위치가 사전 설정된 목표 범위 밖이며 작동 상태가 유휴 상태인 경우, 로봇이 지정 구역 내에 집결하도록 스케줄링할 수 있어, 자동으로 로봇을 지정 구역으로 스케줄링함으로써 운영 및 유지보수 비용을 절감하고 업무 효율을 높일 수 있다.
도 5는 일 실시예에서의 로봇 스케줄링 장치의 예시적인 구조도이다. 본 실시예는 로봇을 스케줄링하는 경우에 적용 가능하며, 도 5에 도시된 바와 같이, 상기 로봇 스케줄링 장치는 결정 모듈(410)과 스케줄링 모듈(420)을 포함할 수 있다.
결정 모듈(410)은 로봇의 작동 상태와 현재 위치를 결정하도록 구성되되, 작동 상태는 유휴 상태 및 비유휴 상태를 포함한다.
일 실시예에서, 상기 장치는, 스케줄링 명령을 수신하도록 구성된 수신 모듈을 더 포함한다. 결정 모듈(410)은 상기 스케줄링 명령에 응하여, 작업 구역에 위치한 로봇의 작동 상태와 현재 위치를 결정하도록 구성된다.
스케줄링 모듈(420)은, 로봇의 작동 상태가 유휴 상태이며 현재 위치가 사전 설정된 목표 범위 밖인 경우, 로봇을 현재 위치에서 목표 범위 내로 스케줄링하도록 구성된다.
일 실시예에서, 결정 모듈(410)은 판단 서브모듈(도 5에 도시되지 않음)과 결정 서브모듈(도 5에 도시되지 않음)을 포함한다. 여기서, 판단 서브모듈은, 로봇에 실행 대기 태스크 또는 실행 중인 태스크가 존재하는지 여부를 판단하도록 구성되고, 결정 서브모듈(4102)은, 로봇에 실행 대기 태스크 또는 실행 중인 태스크가 존재하지 않는다는 판단 결과에 응하여, 로봇의 작동 상태가 유휴 상태인 것으로 결정하고, 로봇에 실행 대기 태스크 또는 실행 중인 태스크가 존재한다는 판단 결과에 응하여, 로봇의 작동 상태가 비유휴 상태인 것으로 결정하도록 구성된다.
일 실시예에서, 스케줄링 모듈(420)은 산출 서브모듈(도 5에 도시되지 않음)과 스케줄링 서브모듈(도 5에 도시되지 않음)을 포함한다. 여기서, 산출 서브모듈(4201)은, 로봇의 작동 상태가 유휴 상태이며 현재 위치가 사전 설정된 목표 범위 밖인 경우, 목표 범위 내에서 로봇의 목표 위치를 결정하고, 현재 위치에서 목표 위치까지의 최적 경로를 산출하도록 구성되고, 스케줄링 서브모듈(4202)은, 최적 경로를 따라 로봇을 현재 위치에서 목표 위치로 스케줄링하도록 구성된다.
일 실시예에서, 산출 서브모듈은 다음과 같은 방식을 통해 목표 범위 내에서 로봇의 목표 위치를 결정하도록 구성된다. 즉, 목표 범위 내에서 로봇의 예정 위치를 결정하고, 로봇의 예정 위치가 사전 설정된 스케줄링 조건을 충족하는지 판단하여, 목표 로봇의 예정 위치가 스케줄링 조건을 충족하는 경우, 로봇의 예정 위치를 로봇의 목표 위치로 결정한다.
일 실시예에서, 목표 범위는 적어도 하나의 셀로 분할되며, 셀을 단위로 상기 로봇의 목표 위치가 결정되되, 상기 목표 범위는 상기 목표 범위의 시작 위치와 상기 스케줄링 조건에 의해 결정된다.
일 실시예에서, 목표 범위의 형상은 직사각형이며, 목표 범위는 사전 설정된 기점 위치, 사전 설정된 폭 및 사전 설정된 높이로 결정된다.
일 실시예에서, 상기 사전 설정된 스케줄링 조건에는, 상기 로봇이 세로로 배열된 경우, 상기 로봇의 예정 위치와 가로로 인접한 셀이 유휴 상태인 것; 및 상기 로봇이 가로로 배열된 경우, 상기 로봇의 예정 위치와 세로로 인접한 셀이 유휴 상태인 것이 포함된다.
일 실시예에서, 상기 장치는 또한, 로봇의 수가 상기 목표 범위 내에 수용 가능한 로봇 수보다 큰 경우, 새로운 목표 범위를 다시 결정하고, 상기 로봇의 작동 상태가 유휴 상태이며 현재 위치가 사전 설정된 목표 범위 밖인 경우, 상기 로봇을 현재 위치로부터 새로운 목표 범위 내로 스케줄링하도록 구성된다.
본 출원의 실시예는 로봇 스케줄링 장치를 제공한다. 상기 로봇 스케줄링 장치는 다음과 같은 동작들을 수행하도록 구성된다. 즉, 우선 유휴 상태와 비유휴 상태를 포함하는 로봇의 작동 상태 및 로봇의 현재 위치를 결정하고, 로봇이 유휴 상태이며 현재 위치가 사전 설정된 목표 범위 밖인 경우, 로봇을 현재 위치로부터 목표 범위 내로 스케줄링할 수 있다. 즉, 본 출원의 실시예에 제안된 기술적 해결수단에서는, 로봇의 작동 상태가 유휴 상태이며 현재 위치가 사전 설정된 목표 범위 밖인 경우, 로봇이 지정 구역 내로 집결하도록 스케줄링할 수 있어, 자동으로 로봇을 지정 구역으로 스케줄링함으로써, 운영 및 유지보수 비용을 절감하고 업무 효율을 높일 수 있다.
본 출원의 실시예에 따른 로봇 스케줄링 장치는 본 출원의 임의의 실시예에서 제공되는 로봇 스케줄링 방법을 실행할 수 있으며, 방법을 실행하기 위한 상응한 기능 모듈과 유익한 효과를 갖는다.
도 6은 일 실시예에서 제공하는 서버의 예시적인 구조도이다. 도 6은 본 출원 실시 형태를 구현하기에 적합한 예시적인 서버(512)의 블록도를 나타낸다. 도 6에 도시된 서버(512)는 단지 하나의 예시에 불과하며, 본 출원 실시예의 기능과 사용 범위에 대해 어떠한 제한도 구성하지 않는다.
도 6에 도시된 바와 같이, 서버(512)는 범용 기기의 형태를 나타낸다. 서버(512)의 구성 요소는 하나 또는 복수의 프로세서(515), 시스템 메모리(528), 및 상이한 시스템 구성 요소(시스템 메모리(528)와 프로세서(515)를 포함함)를 연결하는 버스(518)를 포함할 수 있지만 이에 제한되지 않는다.
버스(518)는 메모리 버스 또는 메모리 컨트롤러, 주변 버스, 가속 그래픽 포트, 및 프로세서 또는 다양한 버스 아키텍처 중 임의의 버스 아키텍처를 사용하는 로컬 버스를 포함하는 여러 유형의 버스 아키텍처 중 하나 이상을 나타낸다. 예를 들어, 이러한 아키텍처는 산업 표준 아키텍처(Industry Standard Architecture, ISA) 버스, 마이크로채널 아키텍처(MicroChannel Architecture, MCA) 버스, 향상된 ISA 버스, 비디오 전자 표준 협회(Video Electronics Standards Association, VESA) 로컬 버스 및 주변 장치 구성 요소 상호 연결(Peripheral Component Interconnect, PCI) 버스 등을 포함하지만 이에 제한되지 않는다.
일 실시예에서 서버(512)는 다양한 컴퓨터 시스템 판독 가능 매체를 포함한다. 이러한 매체들은 휘발성 및 비휘발성 매체, 이동식 및 비이동식 매체를 포함하는, 서버(512)에 의해 액세스될 수 있는 임의의 사용 가능한 매체일 수 있다.
시스템 메모리(528)는, 예를 들어 랜덤 액세스 메모리(Random Access Memory, RAM)(530) 및/또는 캐시 메모리(532)와 같은, 휘발성 메모리 형태의 컴퓨터 시스템 판독 가능 매체를 포함할 수 있다. 서버(512)는 다른 이동식/비이동식, 휘발성/비휘발성 컴퓨터 시스템 저장 매체를 포함할 수 있다. 단지 예시적으로. 저장 시스템(534)은 비이동식 비휘발성 자기 매체(도 6에 도시되지는 않았으나, 통상적으로 '하드 디스크 드라이브'라 함)를 판독/기록하는 데 사용될 수 있다. 도 6에 도시되지는 않았지만, 이동식 비휘발성 자기 디스크(예를 들어 "플로피 디스크")에 대한 판독/기록 가능한 자기 디스크 드라이브와, 이동식 비휘발성 광 디스크(예를 들어 콤팩트 디스크 읽기 전용 메모리(Compact Disc Read-Only Memory, CD-ROM), 디지털 비디오 디스크 일기 전용 메모리(Digital Video Disc-Read Only Memory, DVD-ROM) 또는 다른 광학 매체)에 대한 판독/기록 가능한 광 디스크 드라이브를 제공한다. 이러한 경우에, 각 드라이브는 하나 또는 복수의 데이터 매체 인터페이스를 통해 버스(518)와 연결될 수 있다. 시스템 메모리(528)는 적어도 하나의 프로그램 제품을 포함할 수 있되, 해당 프로그램 제품은 본 출원의 임의의 실시예의 기능을 실행하도록 구성된 프로그램 모듈 그룹(예를 들어 적어도 하나의 프로그램 모듈)을 포함한다.
프로그램 모듈(552) 그룹(적어도 하나의 프로그램 모듈)을 포함하는 프로그램/유틸리티 툴(550)은 예를 들어 시스템 메모리(528)에 저장될 수 있다. 이러한 프로그램 모듈(552)은 운영 체제, 하나 또는 복수의 응용 프로그램, 다른 프로그램 모듈 및 프로그램 데이터를 포함하지만 이에 제한되지 않는다. 이러한 예시들 각각 또는 일부 조합에는 네트워크 환경의 구현이 포함될 수 있다. 프로그램 모듈(552)은 통상적으로 본 발명에서 설명된 실시예에서의 기능 및/또는 방법을 실행한다.
서버(512)는 또한 하나 또는 복수의 주변 기기(514)(예를 들어 키보드, 포인팅 기기, 모니터(525) 등)와 통신할 수 있으며, 사용자가 해당 서버(512)와 상호작용할 수 있게 하는 하나 또는 복수의 기기와 및/또는 해당 서버(512)가 하나 또는 복수의 다른 컴퓨팅 기기와 통신할 수 있게 하는 임의의 기기(예를 들어 네트워크 카드, 모뎀 등)와도 통신할 수 있다. 이러한 통신은 입출력(I/O) 인터페이스(522)를 통해 수행될 수 있다. 또한, 서버(512)는 네트워크 어댑터(520)을 통해 하나 또는 복수의 네트워크(예를 들어, 근거리 통신망(Local Area Network, LAN), 광역 네트워크(Wide Area Network, WAN) 및/또는 공용 네트워크(예를 들면 인터넷))와 통신할 수 있다. 도 6에 도시된 바와 같이, 네트워크 어댑터(520)는 버스(518)을 통해 서버(512)의 다른 모듈과 통신한다. 이해해야 할 점이라면, 도 6에 도시되지 않았지만, 서버(512)와 결합하여, 마이크로 코드, 기기 드라이버, 리던던트 프로세싱 유닛, 외장 디스크 드라이브 어레이, 자기 디스크 어레이(Redundant Arrays of Independent Drives, RAID) 시스템, 자기 테이프 드라이브 및 데이터 백업 저장 시스템 등을 포함하지만 이에 제한되지 않는 다른 하드웨어 및/또는 소프트웨어 모듈을 사용할 수 있다.
프로세서(515)는 시스템 메모리(528)에 저장된 프로그램을 실행함으로써 다양한 기능적 애플리케이션 및 데이터 처리를 실행하는바, 예를 들면 본 출원의 실시예에서 제공되는, 로봇의 작동 상태와 현재 위치를 결정하고 - 작동 상태는 유휴 상태와 비유휴 상태를 포함함 - , 로봇의 작동 상태가 유휴 상태이며 현재 위치가 사전 설정된 목표 범위 밖인 경우, 로봇을 현재 위치로부터 목표 범위 내로 스케줄링하는, 로봇 스케줄링 방법을 구현한다.
본 출원의 실시예는 서버를 제공한다. 해당 서버는 우선 로봇의 작동 상태와 현재 위치를 결정하고 - 작동 상태는 유휴 상태와 비유휴 상태를 포함함 - , 로봇의 작동 상태가 유휴 상태이며 현재 위치가 사전 설정된 목표 범위 밖인 경우, 로봇을 현재 위치로부터 목표 범위 내로 스케줄링할 수 있다. 즉, 본 출원의 실시예에서 제안된 기술적 해결수단에서는 로봇의 작동 상태가 유휴 상태이며 현재 위치가 사전 설정된 목표 범위 밖인 경우, 로봇이 지정 구역 내로 집결하도록 스케줄링할 수 있어, 자동으로 로봇을 지정 구역으로 스케줄링함으로써, 운영 및 유지보수 비용을 절감하고 업무 효율을 높일 수 있다.
본 출원의 실시예는 컴퓨터 프로그램이 저장되어 있는 컴퓨터 판독 가능 저장 매체를 더 제공하되, 해당 프로그램이 프로세서에 의해 실행되면, 본 출원의 모든 실시예에서 제공되는, 로봇의 작동 상태와 현재 위치를 결정하고 - 작동 상태는 유휴 상태와 비유휴 상태를 포함함 - , 로봇의 작동 상태가 유휴 상태이며 현재 위치가 사전 설정된 목표 범위 밖인 경우, 로봇을 현재 위치로부터 목표 범위 내로 스케줄링하는, 로봇 스케줄링 방법이 구현된다..
본 출원 실시예의 컴퓨터 저장 매체는 하나 또는 복수의 컴퓨터 판독 가능 매체의 임의의 조합을 사용할 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터 판독 가능 신호 매체 또는 컴퓨터 판독 가능 저장 매체일 수 있다. 컴퓨터 판독 가능 매체는 예를 들어 전기, 자기, 광, 전자기, 적외선, 또는 반도체의 시스템, 장치 또는 기기, 또는 이들의 임의의 조합일 수 있으나 이에 제한되지 않는다. 컴퓨터 판독 가능 저장 매체의 예(불완전한 나열)는 하나 또는 복수의 도선과의 전기적 연결을 갖는, 휴대용 컴퓨터 디스크, 하드 디스크, RAM, 읽기 전용 메모리(Read-Only Memory, ROM), 삭제 가능 프로그래밍 가능한 읽기 전용 메모리(Erasable Programmable Read Only Memory, EPROM) 또는 플래시 메모리, 광섬유, 휴대용 CD-ROM, 광학 저장 기기, 자기 저장 기기, 또는 이들의 적절한 조합을 포함한다. 본 명세서에서, 컴퓨터 판독 가능 저장 매체는 프로그램을 포함하거나 또는 저장할 수 있는 임의의 유형 매체일 수 있으며, 해당 프로그램은 명령 실행 시스템, 장치 또는 기기에 의해 사용되거나 또는 이들과 결합하여 사용될 수 있다.
컴퓨터 판독 가능 신호 매체는 베이스 밴드에서 또는 반송파의 일부로서 전파되는 데이터 신호를 포함할 수 있으며, 컴퓨터 판독 가능 신호 매체에는 컴퓨터 판독 가능 프로그램 코드가 베어링된다. 이러한 전파되는 데이터 신호는 전자기 신호, 광학 신호, 또는 이들의 임의의 적절한 조합을 포함하지만 이에 제한되지 않는 다양한 형태를 취할 수 있다. 컴퓨터 판독 가능 신호 매체는 또한 컴퓨터 판독 가능 저장 매체 이외의 임의의 컴퓨터 판독 가능 매체일 수 있되, 해당 컴퓨터 판독 가능 매체는 명령 실행 시스템, 장치 또는 기기에 의해 사용되거나 또는 이와 결합되어 사용되는 프로그램을 송신, 전파 또는 전송할 수 있다.
컴퓨터 판독 가능 매체에 포함된 프로그램 코드는, 무선, 전선, 광케이블, 무선 주파수(Radio Frequency, RF) 등 또는 이들의 임의의 적절한 조합을 포함하지만 이에 제한되지 않는 임의의 적절한 매체로 전송될 수 있다.
한 가지 또는 여러 가지 프로그래밍 언어 또는 여러 가지 프로그래밍 언어 조합으로, 본 출원의 동작들을 실행하는 데 사용되는 컴퓨터 프로그래밍 코드를 작성할 수 있다. 상기 프로그래밍 언어는 예를 들어 Java, Smalltalk, C++와 같은 객체 지향 프로그래밍 언어를 포함하며, 예를 들어 “C” 언어 또는 이와 유사한 프로그래밍 언어와 같은 통상적인 절차적 프로그래밍 언어도 포함한다. 프로그램 코드는 전체적으로 사용자 컴퓨터에서 실행되거나, 또는 부분적으로 사용자 컴퓨터에서 실행되거나, 또는 하나의 별도의 소프트웨어 패키지로서 실행되거나, 또는 부분적으로 사용자 컴퓨터에서 그리고 부분적으로 원격 컴퓨터에서 실행되거나, 또는 전체적으로 원격 컴퓨터 또는 서버에서 실행될 수 있다. 원격 컴퓨터와 관련된 경우, 원격 컴퓨터는 LAN 또는 WAN을 포함한 임의의 종류의 네트워크를 통해 사용자 컴퓨터에 연결되거나 또는 외부 컴퓨터에 연결(예를 들어 인터넷 서비스 제공 업체를 이용해 인터넷을 통해 연결)될 수 있다.
도 7은 로봇 경로 제어 방법의 흐름도로서, 본 실시예는 로봇 제어 시나리오에 적용 가능하다. 해당 방법은 로봇 경로 제어 장치에 의해 실행될 수 있으며, 해당 장치는 소프트웨어적 및/또는 하드웨어적인 방식으로 구현될 수 있다. 예를 들어, 해당 장치는 서버 내에 구성될 수 있다. 해당 방법은 예를 들어 2차원 코드 내비게이션 또는 실시간 위치추적 및 지도구축(Simultaneous Localization And Mapping, SLAM) 내비게이션과 같은 임의의 내비게이션 방식에서의 경로 제어에 적용될 수 있다. 해당 방법에는 다음과 같은 단계가 포함될 수 있다.
단계 710: 로봇이 설계된 경로를 따라 이동하는 과정에서, 로봇이 위치한 현재 서브 구역의 작동 상태를 결정한다.
일 실시예에서, 서브 구역은 셀일 수 있다.
본 실시예에서는 지도 상의 로봇의 작업 구역을 사전에 필요에 따라 여러 개의 서브 구역으로 분할하되, 각 서브 구역의 작동 상태는 잠금해제 상태와 잠금 상태를 포함할 수 있으며, 이 두 가지 작동 상태는 필요에 따라 전환될 수 있다. 이 실시예에서, 잠금해제 상태의 서브 구역은 해당 서브 구역이 정상 상태이며 로봇의 이동 통과를 허락함을 의미하며, 잠금 상태의 서브 구역은 이미 경로(경로에 해당 서브 구역이 포함됨)가 설계 완료된 로봇과 아직 경로 설계가 수행되지 않은 로봇을 포함하는 모든 로봇의 진입과 이동을 거부함을 의미한다.
일 실시예에서, 상기 로봇을 위해 경로를 설계하는 과정에서, 작업 구역의 셀 상태를 결정하여, 작동 상태가 잠금 상태인 셀이, 설계된 경로에서 제외되도록 한다.
로봇 스케줄링 시스템은 사전에 목적지에 따라 경로를 설계하며, 로봇을 위한 경로를 설계하는 과정에서, 현재 작동 상태가 잠금 상태인 서브 구역과, 장애로 표기된 서브 구역을 파악할 수 있다. 지도 상의 상기 서브 구역의 인덱스에 따라 하나의 장애 행렬 테이블을 초기화할 수 있으며, 현재 조회되고 있는 서브 구역이 상기 장애 행렬 테이블에 표기되어 있으면, 상기 서브 구역을 건너뛴다. 일 실시예에서, 장애 구역으로 표기된 서브 구역은 건물 기둥이 위치한 서브 구역 등과 같이 작업 구역에서 로봇의 이동을 허용하지 않도록 고정된 서브 구역일 수 있다.
일 실시예에서, 상기 방법은, 작동 상태 설정 명령에 응하여, 상기 작동 상태 설정 명령에서 지정된 적어도 하나의 서브 구역의 작동 상태를, 상기 작동 상태 설정 명령에서 지정된 상태로 설정하는 단계를 더 포함한다. 일 실시예에서는, 임의의 하나의 서브 구역의 작동 상태 설정 제어 유닛을 누르는 조작에 응하여, 해당 서브 구역의 작동 상태를 지정된 상태로 설정하거나, 임의의 하나의 서브 구역 좌표를 입력하는 조작에 응하여, 해당 서브 구역의 작동 상태를 지정된 상태로 설정한다.
로봇 스케줄링 시스템은 표준 인터페이스를 통해, 외부에서 입력된 임의의 하나의 서브 구역의 좌표를 획득하여, 해당 서브 구역의 작동 상태를 지정된 상태로 설정한다. 예시적으로, 인터페이스 포맷은 {cellPoints:[{x:15.5,y:16.5}, {x:16.5,y:16.5}]instruction: LOCK_SHELF}일 수 있으며, 이는 각각 가로 좌표가 15.5, 세로 좌표가 1.5이고 가로 좌표가 1.5, 세로 좌표가 16.5인 두 잠금 예정 서브 구역의 좌표를 표시한다.
로봇 스케줄링 시스템은 또한, 각 서브 구역과 대응되는 작동 상태 설정 제어 유닛을 사전에 설정하여, 해당 서브 구역의 작동 상태를 지정된 상태로 설정할 수 있으며, 하나의 서브 구역이 하나의 작동 상태 설정 제어 유닛과 대응될 수도 있고, 복수의 서브 구역이 하나의 작동 상태 설정 제어 유닛과 대응될 수 있다. 일 실시예에서, 지도의 루트 태그인 mapareas를 통해 설정할 수 있는바, 루트 태그는 복수의 구역을 정의할 수 있고, 각 구역마다 유일한 id를 가지며, 구역의 기점은 속성 x, y로 구성되고, w와h로 해당 직사각형의 크기를 나타낸다. 예컨대, <mapareas><area areaid=“1” x=“9” y=“2” w=“9” h=“10” /><area areaid=“2” x=“17” y=“2” w=“7” h=“10” /></mapareas>와 같이 구역들 간 교차 중첩이 허용된다. 상기 작동 상태 설정 제어 유닛은 하드웨어적 또는 소프트웨어적인 방식으로 설치될 수 있으며, 작동 상태 설정 제어 유닛을 누르면, 해당 작동 상태 설정 제어 유닛과 대응되는 서브 구역이 지정된 상태로 설정된다.
일 실시예에서, 상기 방법은, 상기 경로에서 주행 장애가 감지된 경우, 주행 장애가 있는 서브 구역을 잠금 상태로 설정하는 단계를 더 포함할 수 있다. 여기서, 주행 장애는 로봇 고장, 로봇 사고, 물품 낙하 등 로봇 이동에 영향을 주는 장애를 포함할 수 있으며, 상이한 주행 장애와 대응되는, 잠금 상태가 필요한 서브 구역이 상이하다. 예를 들어, 주행 장애가 로봇 고장인 경우, 로봇이 위치한 서브 구역 및 인접한 8개 서브 구역을 잠금 상태로 설정할 수 있으며, 주행 장애가 물품 낙하인 경우, 물품 낙하가 발생한 서브 구역 및 인접한 24개 서브 구역을 잠금 상태로 설정할 수 있다.
단계 720: 상기 현재 서브 구역이 잠금 상태로 감지된 경우, 이동을 중지하도록 상기 로봇을 제어한다.
로봇이 설정한 경로를 따라 이동하는 과정에서 현재 서브 구역이 잠금 상태가 감지되면 경로 스케줄링 모듈이 로봇에 서브 구역을 스케줄링 하는 것을 정지시키고 로봇이 작동을 정지하도록 제어한다.
단계 730. 상기 현재 서브 구역이 잠금해제 상태이며 다음 서브 구역이 잠금 상태인 것으로 감지된 경우, 상기 다음 서브 구역을 피하도록 상기 로봇을 위해 경로를 다시 설계하고, 상기 로봇이 다시 설계된 경로를 따라 이동하도록 유도한다.
현재 서브 구역이 잠금해제 상태이며 다음 서브 구역이 잠금 상태인 것으로 감지되면, 즉 경로 스케줄링 모듈이 로봇을 위해 경로를 따라 서브 구역을 할당할 때 다음 서브 구역이 잠금 상태인 것으로 감지되면, 로봇에 대해 해당 서브 구역을 할당하지 않으며, 로봇 스케줄링 시스템이 상기 로봇을 위해 경로를 다시 설계하고, 로봇이 다시 설계된 경로를 따라 이동하여 잠금 상태인 서브 구역을 피하도록 제어하며, 상기 로봇이 다시 설계된 경로를 따라 이동하도록 유도한다.
일 실시예에서, 상기 다음 서브 구역을 피하도록 상기 로봇을 위해 경로를 다시 설계함에 있어서, 로봇 스케줄링 시스템이, 로봇이 현재 위치한 서브 구역을 기점으로 정하고 기존 종점을 종점으로 정하여 잠금 상태인 서브 구역을 피하도록 하는 여러 갈래 경로의 손실을 다시 산출하고, 손실이 가장 적은 경로를 다시 설계된 경로로 선정하고, 다시 설계된 경로를 따라 이동하도록 로봇을 제어한다.
단계 740: 상기 현재 서브 구역과 다음 서브 구역이 모두 잠금해제 상태인 것으로 감지된 경우, 상기 로봇이 상기 경로를 따라 이동하도록 유도한다.
현재 서브 구역과 다음 서브 구역이 모두 잠금해제 상태인 것으로 감지되면, 경로 스케줄링 모듈은 설계된 경로를 따라 로봇을 위해 서브 구역을 할당하여, 상기 로봇이 상기 경로를 따라 이동하도록 유도한다.
일 실시예에서, 전반 잠금 버튼이 설치될 수 있다. 상기 전반 잠금 버튼은 소프트웨어적 또는 하드웨어적 방식으로 설치될 수 있다. 전반 잠금 조작에 응하여, 상기 작업 구역 내 모든 로봇이 이동을 중지하도록 제어하고, 경로 스케줄링 모듈은 모든 로봇에 대한 서브 구역 할당을 중지한다.
본 실시예의 기술적 해결수단은, 로봇이 설계된 경로를 따라 이동하는 과정에서, 상기 로봇이 위치한 현재 서브 구역의 작동 상태를 결정하여, 현재 서브 구역이 잠금해제 상태이며 다음 서브 구역이 잠금 상태인 것으로 감지되면, 다음 서브 구역을 피하도록 로봇을 위해 경로를 다시 설계하고, 상기 로봇이 다시 설계된 경로를 따라 이동하도록 유도한다. 경로 내의 서브 구역의 작동 상태를 실시간으로 동적으로 수정할 수 있으므로, 본 실시예에서 제공되는 기술적 해결수단은 로봇 이동 과정에서 서브 구역의 상태에 따라 실시간으로 경로를 조정할 수 있어, 로봇의 이동 경로를 보다 유연하게 제어하여 제어 효율을 향상시킬 수 있다.
일 실시예에서, 상기 기술적 해결수단을 바탕으로 하여, 상기 방법은, 상기 현재 서브 구역이 완충 상태이며 다음 서브 구역이 잠금 상태인 것으로 감지되면, 상기 다음 서브 구역을 피하도록 상기 로봇을 위해 경로를 다시 설계하여, 상기 로봇이 다시 설계된 경로를 따라 이동하도록 유도하는 단계; 및 상기 현재 서브 구역과 다음 서브 구역이 모두 완충 상태이거나, 또는 상기 현재 서브 구역이 잠금해제 상태이며 상기 다음 서브 구역이 완충 상태이거나, 또는 상기 현재 서브 구역이 완충 상태이며 상기 다음 서브 구역이 잠금해제 상태인 것으로 감지되는 경우, 상기 로봇이 상기 경로를 따라 이동하도록 유도하는 단계를 더 포함한다.
일 실시예에서, 상기 현재 서브 구역이 잠금해제 상태이며 다음 서브 구역이 잠금 상태인 것으로 감지된 경우, 상기 다음 서브 구역을 피하도록 상기 로봇을 위해 경로를 다시 설계하고, 상기 로봇이 다시 설계된 경로를 따라 이동하도록 유도함에 있어서, 상기 현재 서브 구역이 잠금해제 상태이고 다음 서브 구역이 잠금 상태인 것으로 감지된 경우, 상기 다음 서브 구역이 사전 설정된 기간 후에도 여전히 잠금 상태인지 여부를 판단하는 단계; 및 상기 다음 서브 구역이 사전 설정된 기간 후에도 여전히 잠금 상태라는 판단 결과에 따라 상기 다음 서브 구역을 피하도록 상기 로봇을 위해 경로를 다시 설계하고, 상기 로봇이 다시 설계된 경로를 따라 이동하도록 유도하는 단계를 포함한다.
도 8은 일 실시예에서의 다른 일 로봇 경로 제어 방법을 나타낸 흐름도로서, 본 실시예는 상기 실시예를 바탕으로 로봇 경로 제어 방법을 설명한다. 본 실시예의 방법은 다음과 같은 단계들을 포함할 수 있다.
단계 810: 상기 로봇이 설계된 경로를 따라 이동하는 과정에서, 상기 로봇이 위치한 현재 서브 구역의 작동 상태를 결정한다.
로봇이 설계된 경로를 따라 이동하는 과정에서, 로봇 스케줄링 시스템의 지도 조작 인터페이스를 통해, 인위적으로 설정된 임의의 하나의 서브 구역의 좌표를 얻어 해당 서브 구역의 작동 상태를 지정된 상태로 설정할 수 있다. 도 9에 도시된 바와 같이, 도 9는 본 실시예에 따른 지도 조작 인터페이스에서 잠금 상태인 서브 구역의 예시도로서, 지도 조작 인터페이스에서 서브 구역을 선택하여 저장할 수 있는바, 즉 잠금 대기 서브 구역의 좌표를 획득할 수 있다. 도 9에 있어서 오른쪽 메뉴에서 '잠금'을 선택하고, 왼쪽의 작업 구역에서 선택 및 저장을 수행한다. 저장 후, 선택된 서브 구역은 색상이 변경하거나 또는 태그를 추가하여 구분한다. 도 9에서 사선으로 표기된 서브 구역은 선택된 잠금 상태인 서브 구역이며, 도 9에서 원형은 로봇을 나타낸다. 도 9의 오른쪽 메뉴에서 '잠금' 또는 '잠금해제'를 선택하고 왼쪽 작업 구역에서 선택을 수행하는 경우, 선택된 서브 구역은 잠금 대기 구역 또는 잠금해제 대기 구역으로 된다.
지도 조작 인터페이스에서, 서브 구역의 상태 속성은 잠금해제, 잠금 및 완충을 포함할 수 있으며, 지도 조작 인터페이스에서 잠금 대기 서브 구역을 선택하여 저장한 후, 즉 잠금 대기 서브 구역의 좌표를 얻은 후, 상기 좌표에 따라 잠금 대기 서브 구역의 상태 속성을 잠금으로 설정할 수 있다. 도 9에 도시된 바와 같이, 도 9의 오른쪽 메뉴에서 "잠금"을 선택하면, 선택된 서브 구역의 상태 속성이 잠금으로 설정된다. 또한, 지도 조작 인터페이스에서 완충 대기 서브 구역과 잠금해제 대기 서브 구역을 선택하여 저장하며, 완충 대기 구역과 잠금해제 대기 서브 구역의 상태 속성을 각각 완충과 잠금해제로 설정할 수 있다.
또한, 도 9에 도시된 바와 같이, 로봇 스케줄링 시스템의 지도 조작 인터페이스에서 오른쪽 기점 메뉴와 종점 메뉴에 정규화 좌표(X,Y)를 직접 입력하여 경로의 기점과 종점을 설정할 수 있다. 로봇 스케줄링 시스템은 각각 로봇, 선반, 셀(서부 구역) 등에 대한 제어를 위한 로봇 조작 인터페이스, 선반 조작 인터페이스 및 셀(서부 구역) 조작 인터페이스 등을 포함할 수 있다.
로봇 스케줄링 시스템은 표준 인터페이스를 통해, 외부에서 입력된 임의의 하나의 서브 구역의 좌표를 획득하여, 해당 서브 구역의 작동 상태를 지정된 상태로 설정할 수 있다.
일 실시예에서, 상기 방법은, 작동 상태 설정 명령에 응하여, 상기 작동 상태 설정 명령에 의해 지정된 적어도 하나의 서브 구역의 작동 상태를 상기 작동 상태 설정 명령에 의해 지정된 상태로 설정하는 단계를 더 포함한다. 일 실시예에서, 임의의 하나의 서브 구역의 작동 상태 설정 제어 유닛을 누르는 조작에 응하여, 해당 서브 구역의 작동 상태를 지정된 상태로 설정하거나, 또는 임의의 하나의 서브 구역 좌표 입력 조작에 응하여, 해당 서브 구역의 작동 상태를 지정된 상태로 설정한다. 상기 경로 내에서 주행 장애가 감지된 경우, 주행 장애가 있는 서브 구역을 잠금 상태로 설정한다.
단계 820: 상기 현재 서브 구역이 잠금 상태인 것으로 감지된 경우, 이동을 중지하도록 상기 로봇을 제어한다.
단계 830: 상기 현재 서브 구역이 잠금해제 상태이며 다음 서브 구역이 잠금 상태인 것으로 감지된 경우, 상기 다음 서브 구역을 피하도록 상기 로봇을 위해 경로를 다시 설계하고, 상기 로봇이 다시 설계된 경로를 따라 이동하도록 유도한다.
일 실시예에서, 상기 현재 서브 구역이 잠금해제 상태이며 다음 서브 구역이 잠금 상태인 것으로 감지된 경우, 상기 다음 서브 구역이 사전 설정된 시간 경과 후에도 여전히 잠금 상태인지 여부를 판단하고, 상기 다음 서브 구역이 사전 설정된 시간 경과 후에도 여전히 잠금 상태이면, 상기 다음 서브 구역을 피하도록 상기 로봇을 위해 경로를 다시 설계하고, 상기 로봇이 다시 설계된 경로를 따라 이동하도록 인도한다. 도 9에 도시된 바와 같이, 화살표가 달린 경로는 로봇을 위해 다시 설계된 경로를 나타내고, 로봇이 다시 설계된 경로를 따라 이동하면 사선으로 표기된 서브 구역(잠금 상태의 서브 구역)을 피해 갈 수 있다.
본 실시예에서, 상기 사전 설정된 시간은 필요에 따라 설정할 수 있다. 예를 들어, 사전 설정된 시간을 20s로 설정할 수 있다.
단계 840: 상기 현재 서브 구역과 다음 서브 구역이 모두 잠금해제 상태인 것으로 감지된 경우, 상기 로봇이 상기 경로를 따라 이동하도록 인도한다.
단계 850: 상기 현재 서브 구역이 완충 상태이며 다음 서브 구역이 잠금 상태인 것으로 감지된 경우, 상기 다음 서브 구역을 피하도록 상기 로봇을 위해 경로를 다시 설계하고, 상기 로봇이 다시 설계된 경로를 따라 이동하도록 인도한다.
일 실시예에서, 작동 상태는 완충 상태를 더 포함할 수 있되, 완충 상태의 서브 구역은, 이미 경로(경로에 해당 서브 구역이 포함됨)가 설계된 로봇에 대해 해당 서브 구역이 영향을 주지 않으므로 해당 서브 구역에서의 이동이 허용되지만, 아직 경로가 설계되지 않은 로봇에 대해 해당 서브 구역에서의 이동을 허용하지 않는바, 즉 경로 설계 시에 해당 서브 구역을 피해야 함을 나타낸다.
상기 로봇이 설계된 경로를 따라 이동하는 과정에서, 경로 내의 서브 구역이 완충 상태인 경우 잠금해제 상태와 상당하므로, 상기 경로 내에서 상기 로봇의 현재 서브 구역이 완충 상태이며 다음 서브 구역이 잠금 상태인 것으로 감지되면, 상기 다음 서브 구역을 피하도록 상기 로봇을 위해 경로를 다시 설계하고, 상기 로봇이 다시 설계된 경로를 따라 이동하도록 인도한다.
단계 860: 상기 현재 서브 구역과 다음 서브 구역이 모두 완충 상태이거나, 또는 상기 현재 서브 구역이 잠금해제 상태이며 상기 다음 서브 구역이 완충 상태이거나, 또는 상기 현재 서브 구역이 완충 상태이며 상기 다음 서브 구역이 잠금해제 상태인 것으로 감지된 경우, 상기 로봇이 상기 경로를 따라 이동하도록 인도한다.
일 실시예에서, 전반 잠금 버튼을 더 설치할 수 있되, 상기 전반 잠금 버튼은 소프트웨어적 또는 하드웨어적인 방식으로 설치될 수 있다. 전반 잠금 조작에 응하여, 상기 작업 구역 내 모든 로봇이 이동을 중지하도록 제어하고, 경로 스케줄링 모듈은 모든 로봇을 위해 서브 구역을 할당하는 것을 중지한다. 도 9를 참조하면, 전반 잠금 버튼은 지도 조작 인터페이스 내에 설치될 수 있다. 전반 잠금 버튼이 눌러진 것으로 감지된 경우, 작업 구역 내 모든 로봇이 이동을 중지하도록 제어한다.
본 실시예의 기술적 해결수단에서는, 로봇이 설계된 경로를 따라 이동하는 과정에서, 지도 조작 인터페이스에서 경로 내 현재 서브 구역이 잠금해제 상태 또는 완충 상태이고 다음 서브 구역이 잠금 상태이며 사전 설정된 시간 경과 후에도 여전히 잠금 상태인 것으로 감지된 경우, 상기 다음 서브 구역을 피하도록 상기 로봇을 위해 경로를 다시 설계하고, 상기 로봇이 다시 설계된 경로를 따라 이동하도록 인도한다. 본 실시예에서 제공한 기술적 해결수단은 로봇 이동 과정에서 서브 구역의 상태에 따라 실시간으로 경로를 조정할 수 있어, 로봇의 이동 경로를 더욱 유연하게 제어할 수 있으므로 제어 효율을 높인다. 또한, 완충 상태를 설정하여 아직 경로가 설계되지 않은 로봇에 대해 제한하고, 이미 경로가 설계된 로봇을 해제하여, 다양한 방식으로 로봇에 대한 제어를 구현한다.
도 10은 일 실시예에서의 로봇 경로 제어 장치의 예시적인 구조도로서, 상기 장치는, 상기 로봇이 설계된 경로를 따라 이동하는 과정에서, 상기 로봇이 위한 현재 서브 구역의 작동 상태를 결정하도록 구성된 상태 모듈(310); 상기 현재 서브 구역이 잠금 상태인 것으로 감지된 경우, 이동을 중지하도록 상기 로봇을 제어하도록 구성된 정지 모듈(320); 상기 현재 서브 구역이 잠금해제 상태이며 다음 서브 구역이 잠금 상태인 것으로 감지된 경우, 상기 다음 서브 구역을 피하도록 상기 로봇을 위해 경로를 다시 설계하고, 상기 로봇이 다시 설계된 경로를 따라 이동하게끔 인도하도록 구성된 조정 모듈(330); 및 상기 현재 서브 구역과 다음 서브 구역이 모두 잠금해제 상태인 것으로 감지된 경우, 상기 경로를 따라 이동하게끔 인도하도록 구성된 이동 모듈(340)을 포함할 수 있다.
일 실시예에서, 해당 장치는 완충 모듈을 더 포함하되, 완충 모듈은, 상기 현재 서브 구역이 완충 상태이며 다음 서브 구역이 잠금 상태인 것으로 감지되면, 상기 다음 서브 구역을 피하도록 상기 로봇을 위해 경로를 다시 설계하여, 상기 로봇이 다시 설계된 경로를 따라 이동하게끔 인도하고, 상기 경로 내에서 상기 로봇의 현재 서브 구역과 다음 서브 구역이 모두 완충 상태이거나, 또는 상기 현재 서브 구역이 잠금해제 상태이며 상기 다음 서브 구역이 완충 상태이거나, 또는 상기 현재 서브 구역이 완충 상태이며 상기 다음 서브 구역이 잠금 해제 상태인 것으로 감지된 경우, 상기 로봇이 상기 경로를 따라 이동하게끔 인도하도록 구성된다.
일 실시예에서, 해당 장치는 설정 모듈을 더 포함하되, 상기 설정 모듈은 작동 상태 설정 명령에 응하여, 상기 작동 상태 설정 명령에 의해 지정된 적어도 하나의 서브 구역의 작동 상태를 상기 작동 상태 설정 명령에 의해 지정된 상태로 설정하도록 구성된다.
일 실시예에서, 상기 설정 모듈은, 임의의 하나의 서브 구역의 작동 상태 설정 제어 유닛 별 조작에 응하여, 해당 서브 구역의 작동 상태를 지정된 상태로 설정하거나, 또는 임의의 하나의 서브 구역의 좌표를 입력하는 조작에 응하여, 해당 서브 구역의 작동 상태를 지정된 상태로 설정하도록 구성된다.
일 실시예에서, 해당 장치는 장애 모듈을 더 포함하되, 상기 장애 모듈은, 상기 경로 내에서 주행 장애가 감지된 경우, 주행 장애가 존재하는 서브 구역을 잠금 상태로 설정하도록 구성된다.
일 실시예에서, 상기 조정 모듈(330)은, 상기 현재 서브 구역이 잠금해제 상태이며 다음 서브 구역이 잠금 상태인 것으로 감지된 경우, 상기 다음 서브 구역이 사전 설정된 시간 경과 후에도 여전히 잠금 상태인지 여부를 판단하여, 상기 다음 서브 구역이 사전 설정된 시간 경과 후에도 여전히 잠금 상태라는 판단 결과에 응하여, 상기 다음 서브 구역을 피하도록 상기 로봇을 위해 경로를 다시 설계하고, 상기 로봇이 다시 설계된 경로를 따라 이동하게끔 인도하도록 구성된다.
일 실시예에서, 해당 장치는 전반 잠금 모듈을 더 포함하되, 상기 전반 잠금 모듈은, 전반 잠금 조작에 응하여, 상기 작업 구역 내 모든 로봇이 이동을 중지하게끔 제어하도록 구성된다.
본 출원 실시예에서 제공되는 로봇 경로 제어 장치는 본 출원의 임의의 실시예에서 제공되는 로봇 경로 제어 방법을 실행할 수 있으며, 방법을 실행하기 위한 상응한 기능 모듈과 유익한 효과를 갖는다.
도 11은 일 실시예에서의 다른 일 서버의 예시적인 구조도이다. 도 11은 본 출원의 실시 형태를 구현하기에 적합한 예시적인 서버(412)의 블록도를 나타낸다. 도 11에 도시된 서버(412)는 단지 하나의 예시에 불과하며, 본 출원 실시예의 기능과 사용 범위에 어떠한 제한도 구성하지 않는다.
도 11에 도시된 바와 같이, 서버(412)는 범용 기기의 형태를 나타낸다. 서버(412)의 구성 요소는 하나 또는 복수의 프로세서(416), 시스템 메모리(428), 및 상이한 시스템 구성 요소(시스템 메모리(428)와 프로세서(416)를 포함함)를 연결하는 버스(418)를 포함할 수 있지만 이에 제한되지 않는다.
버스(418)는 저장 장치 버스 또는 저장 장치 컨트롤러, 주변 버스, 가속 그래픽 포트, 및 프로세서 또는 다양한 버스 아키텍처 중 임의의 버스 아키텍처를 사용하는 로컬 버스를 포함하는 여러 유형의 버스 아키텍처 중 하나 이상을 나타낸다. 예를 들어, 이러한 아키텍처는 ISA 버스, MCA 버스, 향상된 ISA 버스, VESA 로컬 버스 및 PCI 버스를 포함하지만 이에 제한되지 않는다.
일 실시예에서, 서버(412)는 다양한 컴퓨터 시스템 판독 가능 매체를 포함한다. 이러한 매체들은 휘발성 및 비휘발성 매체, 이동식 및 비이동식 매체를 포함하는, 서버(412)에 의해 액세스될 수 있는 임의의 사용 가능한 매체일 수 있다.
시스템 메모리(428)은, 예를 들어 RAM(430) 및/또는 캐시 메모리(432)와 같은, 휘발성 메모리 형태의 컴퓨터 시스템 판독 가능 매체를 포함할 수 있다. 서버(412)는 다른 이동식/비이동식, 휘발성/비휘발성 컴퓨터 시스템 저장 매체를 포함할 수 있다. 단지 예시적으로, 저장 시스템(434)은 비이동식 비휘발성 자기 매체(도 11에 도시되지는 않았으나, 통상적으로 "하드 디스크 드라이브"라 함)를 판독/기록하는 데 사용될 수 있다. 도 11에 도시되지는 않았지만, 이동식 비휘발성 자기 디스크(예를 들어 " 플로피 디스크")에 대한 판독/기록 가능한 자기 디스크 드라이브와, 이동식 비휘발성 광 디스크(예를 들어 CD-ROM, DVD-ROM 또는 다른 광학 매체)에 대한 판독/기록 가능한 광 디스크 드라이브가 제공될 수 있다. 이러한 경우에, 각 드라이브는 하나 또는 복수의 데이터 매체 인터페이스를 통해 버스(418)와 연결될 수 있다. 메모리(428)는 적어도 하나의 프로그램 제품을 포함할 수 있되, 해당 프로그램 제품은 본 출원의 임의의 실시예의 기능을 실행하도록 구성된 프로그램 모듈 그룹(예를 들어 적어도 하나의 프로그램 모듈)을 포함한다.
프로그램 모듈(442) 그룹(적어도 하나의 프로그램 모듈)을 포함하는 프로그램/유틸리티 툴(440)은 예를 들어 메모리(428)에 저장될 수 있다. 이러한 프로그램 모듈(442)은 운영 체제, 하나 또는 복수의 응용 프로그램, 다른 프로그램 모듈 및 프로그램 데이터를 포함하지만 이에 제한되지 않는다. 이러한 예시들 각각 또는 일부 조합에는 네트워크 환경의 구현이 포함될 수 있다. 통상적으로 프로그램 모듈(442)은 본 출원에서 설명된 실시예에서의 기능 및/또는 방법을 실행한다.
서버(412)는 하나 또는 복수의 주변 기기(414)(예를 들어 키보드, 포인팅 기기, 모니터(424) 등)와 통신할 수 있고, 사용자가 해당 서버(412)와 상호작용할 수 있게 하는 하나 또는 복수의 기기 및/또는 해당 서버(412)가 하나 또는 복수의 다른 컴퓨팅 기기와 통신할 수 있게 하는 임의의 기기(예를 들어 네트워크 카드, 모뎀 등)와도 통신할 수 있다. 이러한 통신은 입출력(I/O) 인터페이스(422)를 통해 수행될 수 있다. 또한, 서버(412)는 네트워크 어댑터(420)를 통해 하나 또는 복수의 네트워크(예를 들어, LAN, WAN 및/또는 공용 네트워크(예를 들어 인터넷))와 통신할 수 있다. 도 11에 도시된 바와 같이, 네트워크 어댑터(420)는 버스(418)를 통해 서버(412)의 다른 모듈과 통신한다. 이해해야 할 점이라면, 도 11에 도시되지 않았지만, 서버(412)와 결합하여, 마이크로 코드, 단말 드라이버, 리던던트 프로세싱 유닛, 외장 디스크 드라이브 어레이, RAID 시스템, 자기 테이프 드라이브 및 데이터 백업 저장 시스템 등을 포함하지만 이에 제한되지 않는 다른 하드웨어 및/또는 소프트웨어 모듈을 사용할 수 있다.
프로세서(416)는 시스템 메모리(428)에 저장된 프로그램을 실행함으로써 다양한 기능적 애플리케이션 및 데이터 처리를 실행하는바, 예를 들어 본 출원의 실시예에서 제공되는, 상기 로봇이 설계된 경로를 따라 이동하는 과정에서, 상기 로봇이 위치한 현재 서브 구역의 작동 상태를 결정하는 단계; 상기 현재 서브 구역이 잠금 상태인 것이 감지된 경우, 이동을 중지하도록 상기 로봇을 제어하는 단계; 상기 현재 서브 구역이 잠금해제 상태이며 다음 서브 구역이 잠금 상태인 것으로 감지된 경우, 상기 다음 서브 구역을 피하도록 상기 로봇을 위해 경로를 다시 설계하고, 상기 로봇이 다시 설계된 경로를 따라 이동하도록 인도하는 단계; 및 상기 현재 서브 구역과 다음 서브 구역이 모두 잠금해제 상태인 것으로 감지된 경우, 상기 경로를 따라 이동하도록 상기 로봇을 인도하는 단계를 포함하는, 로봇 경로 제어 방법을 구현한다.
본 출원 실시예는 컴퓨터 프로그램이 저장되어 있는 컴퓨터 판독 가능 매체를 더 제공하되, 해당 프로그램이 프로세서에 의해 실행되면, 본 출원의 모든 실시예에서 제공되는, 상기 로봇이 설계된 경로를 따라 이동하는 과정에서, 상기 로봇이 위치한 현재 서브 구역의 작동 상태를 결정하는 단계; 상기 현재 서브 구역이 잠금 상태인 것으로 감지된 경우, 이동을 중지하도록 상기 로봇을 제어하는 단계; 상기 현재 서브 구역이 잠금해제 상태이며 다음 서브 구역이 잠금 상태인 것으로 감지된 경우, 상기 다음 서브 구역을 피하도록 상기 로봇을 위해 경로를 다시 설계하고, 상기 로봇이 다시 설계된 경로를 따라 이동하도록 인도하는 단계; 및 상기 현재 서브 구역과 다음 서브 구역이 모두 잠금해제 상태인 것으로 감지된 경우, 상기 경로를 따라 이동하도록 인도하는 단계를 포함하는, 로봇 경로 제어 방법이 구현된다.
본 출원 실시예의 컴퓨터 저장 매체는 하나 또는 복수의 컴퓨터 판독 가능 매체의 임의의 조합을 사용할 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터 판독 가능 신호 매체 또는 판독 가능 저장 매체일 수 있다. 컴퓨터 판독 가능 저장 매체는 예를 들면 전기, 자기, 광, 전자기, 적외선, 또는 반도체의 시스템, 장치 또는 기기, 또는 이들의 임의의 조합일 수 있으나 이에 제한되지 않는다. 컴퓨터 판독 가능 저장 매체의 예(불완전한 나열)는 하나 또는 복수의 도선과의 전기적 연결을 갖는, 휴대용 컴퓨터 디스크, 하드 디스크, RAM, ROM, EPROM 또는 플래시 메모리, 광섬유, 휴대용 CD-ROM, 광학 저장 기기, 자기 저장 기기, 또는 이들의 임의의 적절한 조합을 포함한다. 본 명세서에서, 컴퓨터 판독 가능 저장 매체는 프로그램을 포함하거나 또는 저장할 수 있는 임의의 유형 매체일 수 있으며, 해당 프로그램은 명령 실행 시스템, 장치 또는 기기에 의해 사용되거나 또는 이들과 결합하여 사용될 수 있다.
컴퓨터 판독 가능 신호 매체는 베이스 밴드에서 또는 반송파의 일부로서 전파되는 데이터 신호를 포함할 수 있으며, 컴퓨터 판독 가능 신호 매체에는 컴퓨터 판독 가능 프로그램 코드가 베어링된다. 이러한 전파되는 데이터 신호는 전자기 신호, 광학 신호, 또는 이들의 임의의 적절한 조합을 포함하지만 이에 제한되지 않는 다양한 형태를 취할 수 있다. 컴퓨터 판독 가능 신호 매체는 또한 컴퓨터 판독 가능 저장 매체 이외의 임의의 컴퓨터 판독 가능 매체일 수도 있되, 해당 컴퓨터 판독 가능 매체는 명령 실행 시스템, 장치 또는 기기에 의해 사용되거나 또는 이와 결합되어 사용되는 프로그램을 송신, 전파 또는 전송할 수 있다.
컴퓨터 판독 가능 매체에 포함된 프로그램 코드는, 무선, 전선, 광케이블, RF 등 또는 이들의 임의의 적절한 조합을 포함하지만 이에 제한되지 않는 임의의 적절한 매체로 전송될 수 있다.
한 가지 또는 여러 가지 프로그래밍 언어 또는 여러 가지 프로그래밍 언어 조합으로, 본 출원의 동작들을 실행하는 데 사용되는 컴퓨터 프로그래밍 코드를 작성할 수 있다. 상기 프로그래밍 언어는 예를 들어 Java, Smalltalk, C++와 같은 객체 지향 프로그래밍 언어를 포함하며, 예를 들어 "C" 언어 또는 이와 유사한 프로그래밍 언어와 같은 통상적인 절차적 프로그래밍 언어도 포함한다. 프로그램 코드는 전체적으로 사용자 컴퓨터에서 실행하거나, 또는 부분적으로 사용자 컴퓨터에서 실행되거나, 또는 별도의 소프트웨어 패키지로서 실행되거나, 또는 부분적으로 사용자 컴퓨터에서 그리고 부분적으로 원격 컴퓨터에서 실행되거나, 또는 전체적으로 원격 컴퓨터 또는 서버에서 실행될 수 있다. 원격 컴퓨터와 관련된 경우, 원격 컴퓨터는 LAN 또는 WAN을 포함한 임의의 종류의 네트워크를 통해 사용자 컴퓨터에 연결되거나 또는 외부 컴퓨터에 연결(예를 들어 인터넷 서비스 제공 업체를 이용해 인터넷을 통해 연결)될 수 있다.
도 12에 도시된 물품 피킹 시스템의 예시적인 구조도를 참조하면, 물품 피킹 시스템은 자율주행 로봇(10), 제어 시스템(20), 선반 구역(30) 및 피킹 스테이션(40)을 포함한다. 선반 구역(30)에는 복수의 선반(31)이 배치되고, 선반(31)에는 다양한 물품이 진열되는바, 예를 들어 슈퍼마켓에서 볼 수 있는 다양한 상품이 진열된 선반과 같다. 복수의 선반(31)은 선반 어레이 형태로 배열된다.
제어 시스템(20)은 자율주행 로봇(10)과 무선 통신을 수행하며, 작업자가 콘솔(60)을 통해 제어 시스템(20)을 작동시키고, 자율주행 로봇(10)은 제어 시스템(20)의 제어 하에 물품 이송 태스크를 수행한다. 예를 들어 제어 시스템(20)은 이송 태스크에 따라 자율주행 로봇(10)의 이동 경로를 설계하고, 자율주행 로봇(10)은 이동 경로를 따라 선반 어레이에서 비어 있는 공간(자율주행 로봇(10)의 통행로의 일부)을 따라 주행한다. 자율주행 로봇(10)의 이동 경로 설계를 용이하게 하기 위해, 자율주행 로봇(10)의 작업 구역(해당 작업 구역은 적어도 선반 구역(30) 및 피킹 스테이션(40)을 포함함)을 사전에 복수의 서브 구역(즉 셀)으로 분할하며, 자율주행 로봇(10)은 서브 구역 단위로 이동하여 이동 궤적을 형성한다.
자율주행 로봇(10)은 목표 선반(31) 아래까지 이동하고, 리프팅 기구를 이용하여 목표 선반(31)을 들어 올려 지정된 피킹 스테이션(40)까지 이송할 수 있다. 일 실시예에서, 자율주행 로봇(10)은 리프팅 기구를 구비하고, 자율 내비게이션 기능을 갖고 있으며, 자율주행 로봇(10)은 목표 선반(31) 아래까지 주행하고, 리프팅 기구를 이용하여 선반(31) 전체를 들어 올려, 선반(31)이 리프팅 기능이 있는 리프팅 기구를 따라 위아래로 이동할 수 있도록 한다. 일 실시예에서, 자율주행 로봇(10)은 카메라에 의해 포착된 2차원 코드 정보에 따라 앞으로 주행할 수 있고, 제어 시스템(20)에 의해 결정된 경로를 따라 제어 시스템(20)에 의해 제시된 선반(31) 아래까지 주행할 수 있다. 자율주행 로봇(10)은 목표 선반(31)을 피킹 스테이션(40)으로 이송하고, 피킹 스테이션(40)에서 피커(41) 또는 피킹 로봇이 선반(31)에서 물품을 피킹하여 컨테이너(50)에 담고 포장을 대기한다.
제어 시스템(20)은 서버에서 실행되는, 데이터 저장 및 정보 처리 능력을 갖는 소프트웨어 시스템으로서, 로봇, 하드웨어 입력 시스템, 다른 소프트웨어 시스템과 무선 또는 유선으로 연결될 수 있다. 제어 시스템(20)은 하나 또는 복수의 서버를 포함할 수 있으며, 중앙 집중식 제어 아키텍처 또는 분산식 컴퓨팅 아키텍처일 수 있다. 서버는 프로세서(201)와 메모리(202)를 포함하며, 메모리(202)에는 주문 풀(203)이 포함될 수 있다.
물품 피킹 시스템에서, 일단 소방 경보가 발생하면, 자율주행 로봇(10)을 소방 통로가 있는 구역에서 신속하게 이탈시켜, 원활한 구조를 위한 필요한 보장을 제공해야 한다. 따라서, 본 출원에서는 자율주행 로봇(10)에 대한 소방 제어 해결수단을 제공한다.
도 13은 일 실시예에서의 로봇 스케줄링 방법의 흐름도로서, 본 실시예는 로봇에 대한 소방 제어 시나리오에 적용될 수 있으며, 상기 방법은 로봇 스케줄링 장치에 의해 실행될 수 있다. 해당 장치는 소프트웨어적 및/또는 하드웨어적 방식으로 구현될 수 있으며, 예를 들어 해당 장치는 제어 시스템(20)이 실행되는 서버에 설치될 수 있다. 상기 방법은 다음과 같은 단계들을 포함할 수 있다.
단계 1310: 소방 신호를 수신한다.
상기 소방 신호는 소방 비상 정지 버튼으로 트리거할 수 있다. 일 실시예에서, 상기 소방 비상 정지 버튼은 사전에 설치될 수 있으며, 하드웨어적 또는 소프트웨어적으로 구현할 수 있다. 예를 들어 소방 비상 정지 버튼의 허브(HUB)와 서버는 Socket 통신을 이용하며, 데이터 고정 길이는 34 바이트이되, 여기서 4 바이트는 HUB에 접속된 소방 비상 정지 버튼의 상태를 나타낸다. 처음 1-8 비트 채널은 소방 비상 정지 버튼을 의미하며, 1-8 비트 채널에서 오는 신호를 서버가 감지하면, 소방 신호가 수신되었음을 결정할 수 있다. 여기서, Socket은 소켓이라고도 하는데, 응용 프로그램은 일반적으로 '소켓'을 통해 네트워크에 요청을 보내거나 또는 네트워크 요청에 응답한다. Socket은 네트워크 연결을 설정할 때 사용되며, 연결 성공 시, 응용 프로그램 양단에 하나의 Socket 인스턴스가 만들어 지는데, 이 인스턴스를 작동하여 필요한 세션을 완료한다.
서버는 또한 표준 인터페이스를 통해 외부에서 전송되는 소방 신호를 수신할 수 있으며, 예시적으로 인터페이스를 통해 전송되는 명령 포맷은 {instruction: FIRE_STOP}으로 할 수 있다.
단계 1320. 상기 소방 신호에 응하여, 로봇이 이동 상태이며 상기 로봇의 내비게이션 경로 내 다음 서브 구역이 소방 통로 구역에 위치한 경우, 다음 서브 구역으로 이동하고 상기 내비게이션 경로를 따라 계속 이동하여 다음 서브 구역이 사전 설정된 소방 통로 구역에 위치하지 않으면 이동을 중지하도록 상기 로봇을 제어한다.
일 실시예에서, 상기 내비게이션 경로는 로봇의 종점에 따라 미리 설계된 최적 경로이다. 본 실시예에서는, 로봇의 지도 상 작업 구역을 필요에 따라 사전에 복수의 서브 구역(또는 셀이라 함)으로 분할하되, 복수의 연속된 서브 구역이 로봇의 이동 경로를 구성할 수 있으므로, 내비게이션 경로에는 로봇이 이동하여 통과해야 하는 서브 구역이 설계된다. 상기 서브 구역의 유형은 업무 기능에 따라 정의될 수 있는바, 예를 들어 선반 서브 구역 또는 작동 상태 서브 구역이 정의된다. 일 실시예에서, 상기 소방 통로 구역의 설정은 서브 구역의 유형 정의와 무관한바, 즉 상이한 유형의 서브 구역이 소방 통로 구역으로 설정될 수 있으며, 소방 통로가 위치한 서브 구역 또는 소방문이 위치한 서브 구역이 소방 통로 구역으로 설정될 수 있다. 일 실시예에서, 지도 xml 파일에서 콤마-분리값(Comma-Separated Values, CSV) 포맷을 사용하여 소방 통로 구역의 정규화 좌표를 나열할 수 있으며, 예시적으로, <firepass> 146,9, 146,10, 146,11, 146,12, 146,13, 146,14, 146,15, 146,16, 146,17, 146,18,… (구성의 일부 생략) 137,60, 137,61, 137,62, 137,63, 137,64, 137,65, 137,66, 137,67 </firepass>와 같다. 도 14는 일 실시예에서의 소방 통로 구역의 예시도로서, 도 14에 도시된 바와 같이 사선으로 도시된 서브 구역은 소방 통로 구역이다.
일 실시예에서는, 상기 소방 신호에 응하여, 로봇이 이동 상태이며 상기 로봇의 내비게이션 경로 내 다음 서브 구역이 사전 설정된 소방 통로 구역에 위치한 경우, 상기 다음 서브 구역으로 이동하도록 상기 로봇을 제어하고 다다음 서브 구역이 사전 설정된 소방 통로 구역에 위치하는지를 판단하여, 다다음 서브 구역이 사전 설정된 소방 통로 구역에 위치하지 않은 경우, 이동을 중지하도록 로봇을 제어하고, 다다음 서브 구역이 사전 설정된 소방 통로 구역에 위치한 경우, 상기 내비게이션 경로를 따라 계속 이동하고, 내비게이션 경로 상의 어느 한 서브 구역이 사전 설정된 소방 통로 구역에 위치하지 않으면 이동을 중지하도록 로봇을 제어한다.
일 실시예에서, 소방 신호 수신 후, 로봇이 정지 상태이며 상기 로봇이 현재 위치한 서브 구역이 사전 설정된 소방 통로 구역 내에 위치한 경우, 상기 로봇을 위해 내비게이션 경로를 다시 설계하고, 상기 로봇이 다시 설계된 내비게이션 경로를 따라 이동하여 상기 사전 설정된 소방 통로 구역을 벗어나도록 제어한다. 일 실시예에서, 상기 로봇과 이탈 종점 사이의 거리 및/또는 이탈 종점이 위치한 사전 설정된 구역 범위 내의 로봇 밀도에 기반하여, 상기 로봇을 위한 이탈 종점을 선택하고, 선택된 이탈 종점에 따라 상기 로봇을 위한 내비게이션 경로를 다시 설계하여, 다시 설계된 내비게이션 경로를 따라 선택된 상기 이탈 종점까지 이동하도록 상기 로봇을 제어한다. 예를 들어, 로봇이 현재 위치한 서브 구역이 소방 통로 구역 내에 위치한 경우, 4개 서브 구역 이하 떨어져 있으며 인접한 서브 구역에 하나의 로봇만 존재하는 서브 구역을 이탈 종점으로 선택하여, 복수의 경로의 손실을 계산하여, 손실이 가장 적은 경로를 다시 설계된 내비게이션 경로로 정하며, 상기 다시 설계된 내비게이션 경로를 따라 이동하여 이탈 종점에 도착하도록 로봇을 제어한다. 일 실시예에서, 선반 하단의 높이가 로봇의 이동이 가능하도록 하는 경우, 상기 이탈 종점으로서 선반 서브 구역을 선택할 수도 있다.
본 실시예에서, 로봇이 이동 상태이며 상기 로봇의 내비게이션 경로 내 경과 서브 구역(종점 포함)이 모두 사전 설정된 소방 통로 구역에 위치하면, 상기 로봇이 종점에 도달한 후 상기 로봇을 위해 내비게이션 경로를 다시 설계하고, 다시 설계된 내비게이션 경로를 따라 이동하여 종점을 떠나도록 상기 로봇을 제어할 수도 있다.
본 실시예의 기술적 해결수단은 소방 신호 수신 후 상기 소방 신호에 응하여, 로봇이 이동 상태이며 상기 로봇의 내비게이션 경로 내 다음 서브 구역이 사전 설정된 소방 통로 구역에 위치한 경우, 다음 서브 구역으로 이동 하고 상기 내비게이션 경로를 따라 계속 이동하여, 다음 서브 구역이 사전 설정된 소방 통로 구역에 위치하지 않으면 이동을 중지하도록 상기 로봇을 제어한다. 본 실시예에서 제공한 기술적 해결수단은 지연 오차나 급제동에 따른 문제를 방지하여, 로봇을 소방 통로에서 이탈시키는 효율을 높일 수 있다.
도 15는 일 실시예에서의 로봇 스케줄링 장치의 예시적인 구조도로서, 상기 장치는 소방 신호를 수신하도록 구성된 수신 모듈(1510); 상기 소방 신호에 응하여, 로봇이 이동 상태이며 상기 로봇의 내비게이션 경로 내 다음 서브 구역이 사전 설정된 소방 통로 구역에 위치한 경우, 상기 다음 서브 구역으로 이동하고 상기 내비게이션 경로를 따라 계속 이동하여, 다음 서브 구역이 사전 설정된 소방 통로 구역에 위치하지 않으면 이동을 중지하게끔 상기 로봇을 제어하도록 구성된 이동 제어 모듈(1520)을 포함할 수 있다.
일 실시예에서, 해당 장치는, 로봇이 정지 상태이며 상기 로봇이 현재 위치한 서브 구역이 사전 설정된 소방 통로 구역 내에 위치한 경우, 상기 로봇을 위해 내비게이션 경로를 다시 설계하고, 다시 설계된 내비게이션 경로를 따라 이동하여 상기 사전 설정된 소방 통로 구역을 벗어나게끔 상기 로봇을 제어하도록 구성된 정지 제어 모듈을 더 포함할 수 있다.
일 실시예에서, 상기 정지 제어 모듈은, 상기 로봇과 이탈 종점 사이의 거리 및/또는 이탈 종점이 위치한 사전 설정된 구역 범위 내의 로봇 밀도에 기반하여, 상기 로봇을 위해 이탈 종점을 선택하고. 선택된 이탈 종점에 따라 상기 로봇을 위해 내비게이션 경로를 다시 설계하여, 상기 로봇이 다시 설계된 내비게이션 경로를 따라 선택된 상기 이탈 종점까지 이동하도록 제어하는 방식을 통해, 상기 로봇을 위해 내비게이션 경로를 다시 설계하고, 상기 로봇이 다시 설계된 내비게이션 경로를 따라 이동하여 상기 사전 설정된 소방 통로 구역을 벗어나도록 제어한다.
일 실시예에서, 상기 소방 신호는 소방 비상 정지 버튼에 의해 트리거되거나 또는 외부 인터페이스를 통해 수신된다.
본 실시예에서 제공된 기술적 해결수단은, 비상 정지 하드웨어 시스템을 통해 소방 신호를 수신하고, 비상 정지 시스템 컨트롤러를 통해 소방 신호를 서버에 전달하며, 서버가 소방 신호를 수신한 후, 로봇 스케줄링 시스템은 모든 로봇이 작업을 중지하고 소방 서브 구역을 벗어나도록 제어한다. 본 실시예는 지연 오차나 급제동에 따른 문제를 방지하여, 로봇을 소방 통로에서 이탈시키는 효율을 높일 수 있다.
본 출원 실시예에서 제공되는 로봇 스케줄링 장치는 본 출원의 임의의 실시예에서 제공되는 로봇 스케줄링 방법을 실행할 수 있으며, 방법을 실행하기 위한 상응한 기능 모듈과 유익한 효과를 갖는다.
도 16은 일 실시예에서의 다른 일 서버의 예시적인 구조도이다. 도 16은 본 출원의 실시 형태를 구현하기에 적합한 예시적인 서버(612)의 블록도를 나타낸다. 도 16에 도시된 서버(612)는 단지 하나의 예시에 불과하며, 본 출원 실시예의 기능과 사용 범위에 대해 어떠한 제한도 구성하지 않는다.
도 16에 도시된 바와 같이, 서버(612)는 범용 기기의 형태를 나타낸다. 서버(612)의 구성 요소는 하나 또는 복수의 프로세서(616), 시스템 메모리(628), 상이한 시스템 구성 요소(시스템 메모리(628)와 프로세서(616)를 포함함)을 연결하는 버스(618)를 포함할 수 있지만 이에 제한되지 않는다.
버스(618)는 메모리 버스 또는 메모리 제어기, 주변 버스, 가속 그래픽 포트, 프로세서(616) 또는 다양한 버스 아키텍처 중 임의의 버스 아키텍처를 사용하는 로컬 버스를 포함하는 여라 유형의 버스 아키텍처 중 하나 이상을 의미한다. 예를 들어, 이러한 아키텍처는 ISA 버스, MCA 버스, 향상된 ISA 버스, VESA 로컬 버스 및 PCI 버스를 포함하지만 이에 제한되지 않는다.
일 실시예에서, 서버(612)는 다양한 컴퓨터 시스템 판독 가능 매체를 포함한다. 이러한 매체들은 휘발성 및 비휘발성 매체, 이동식 및 비이동식 매체를 포함하는, 서버(612)에 의해 액세스될 수 있는 임의의 사용 가능한 매체일 수 있다.
시스템 메모리(628)는, 예를 들어 RAM(430) 및/또는 캐시 메모리(632)와 같은, 휘발성 메모리 형태의 컴퓨터 시스템 판독 가능 매체를 포함할 수 있다. 서버(612)는 다른 이동식/비이동식, 휘발성/비휘발성 컴퓨터 시스템 저장 매체를 포함할 수 있다. 단지 예시적으로, 저장 시스템(634)은 비이동식 비휘발성 자기 매체(도 16에 도시되지는 않았으나, 통상적으로 "하드 디스크 드라이브"라 함)를 판독/기록하는 데 사용될 수 있다. 도 16에 도시되지는 않았지만, 이동식 비휘발성 자기 디스크(예를 들어 " 플로피 디스크")에 대한 판독/기록 가능한 자기 디스크 드라이브와, 이동식 비휘발성 광 디스크(예를 들어 CD-ROM, DVD-ROM 또는 다른 광학 매체)에 대한 판독/기록 가능한 광 디스크 드라이브가 제공될 수 있다. 이러한 경우, 각 드라이브는 하나 또는 복수의 데이터 매체 인터페이스를 통해 버스(618)와 연결할 수 있다. 메모리(628)는 적어도 하나의 프로그램 제품을 포함할 수 있되, 해당 프로그램 제품은 본 출원의 임의의 실시예의 기능을 실행하도록 구성된 프로그램 모듈 그룹(예를 들어 적어도 하나의 프로그램 모듈)을 포함한다.
프로그램 모듈(642) 그룹(적어도 하나의 프로그램 모듈)을 포함하는 프로그램/유틸리티 툴(640)은 예를 들어 메모리(628)에 저장될 수 있다. 이러한 프로그램 모듈(642)은 운영 체제, 하나 또는 복수의 응용 프로그램, 다른 프로그램 모듈 및 프로그램 데이터를 포함하지만 이에 제한되지 않는다. 이러한 예시들 각각 또는 일부 조합에는 네트워크 환경의 구현이 포함될 수 있다. 통상적으로 프로그램 모듈(642)은 본 출원에서 설명된 실시예에서의 기능 및/또는 방법을 실행한다.
서버(612)는 하나 또는 복수 주변 기기(614)(예를 들어 키보드, 포인팅 기기, 모니터(624) 등)와 통신할 수 있고, 사용자가 해당 서버(612)와 상호작용할 수 있게 하는 하나 또는 복수의 기기 및/또는 해당 서버(612)가 하나 또는 복수 다른 컴퓨팅 기기와 통신할 수 있게 하는 임의의 기기(예를 들어 네트워크 카드, 모뎀 등)와도 통신할 수 있다. 이러한 통신은 입출력(I/O) 인터페이스(622)를 통해 수행될 수 있다. 또한, 서버(612)는 네트워크 어댑터(620)를 통해 하나 또는 복수의 네트워크(예를 들어, LAN, WAN 및/또는 공용 네트워크(예를 들어 인터넷))와 통신할 수 있다. 도 16에 도시된 바와 같이, 네트워크 어댑터(620)는 버스(618)를 통해 서버(612)의 다른 모듈과 통신한다. 도 16에 도시되지 않았으나, 서버(612)와 결합하여, 마이크로 코드, 기기 드라이버, 리던던트 프로세싱 유닛, 외장 디스크 드라이브 어레이, RAID 시스템, 자기 테이프 드라이브 및 데이터 백업 저장 시스템을 포함하지만 이에 제한되지 않는 다른 하드웨어 및/또는 소프트웨어 모듈을 사용할 수 있다는 점을 이해해야 한다.
프로세서(616)는 시스템 메모리(628)에 저장된 프로그램을 실행함으로써 다양한 기능적 애플리케션 및 데이터 처리를 실행하는바, 예를 들어 본 출원의 실시예에서 제공되는, 소방 신호를 수신하는 단계; 및 상기 소방 신호에 응하여, 로봇이 이동 상태이며 상기 로봇의 내비게이션 경로 내 다음 서브 구역이 사전 설정된 소방 통로 구역 내에 위치한 경우, 상기 다음 서브 구역으로 이동하고 상기 내비게이션 경로를 따라 계속 이동하여 다음 서브 구역이 사전 설정된 소방 통로 구역에 위치하지 않으면 이동을 중지하도록 상기 로봇을 제어하는 단계를 포함하는, 로봇 스케줄링 방법을 구현한다.
본 출원 실시예는 또한 컴퓨터 프로그램이 저장되어 있는 컴퓨터 판독 가능 매체를 더 제공하되, 해당 프로그램이 프로세서에 의해 실행되면, 본 출원 실시예에서 제공되는, 소방 신호를 수신하는 단계; 및 상기 소방 신호에 응하여, 로봇이 이동 상태이며 상기 로봇의 내비게이션 경로 내 다음 서브 구역이 사전 설정된 소방 통로 구역 내에 위치한 경우, 상기 다음 서브 구역으로 이동하고 상기 내비게이션 경로를 따라 계속 이동하여 다음 서브 구역이 사전 설정된 소방 통로 구역에 위치하지 않으면 이동을 중지하도록 상기 로봇을 제어하는 단계를 포함하는, 로봇 스케줄링 방법이 구현된다.
본 출원 실시예의 컴퓨터 저장 매체는 하나 또는 복수의 컴퓨터 판독 가능 매체의 임의의 조합을 사용할 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터 판독 가능 신호 매체 또는 판독 가능 저장 매체일 수 있다. 컴퓨터 판독 가능 저장 매체는, 예를 들면 전기, 자기, 광, 전자기, 적외선, 또는 반도체의 시스템, 장치 또는 기기, 또는 이들의 임의의 조합일 수 있으나 이에 제한되지 않는다. 컴퓨터 판독 가능 저장 매체의 예(불완전한 나열)는 하나 또는 복수의 도선과의 전기적 연결을 갖는, 휴대용 컴퓨터 디스크, 하드 드라이브, RAM, ROM, EPROM 또는 플래시 메모리, 광섬유, 휴대용 CD-ROM, 광학 저장 기기, 자기 저장 기기, 또는 이들의 임의의 적절한 조합을 포함한다. 본 명세서에서, 컴퓨터 판독 가능 저장 매체는 프로그램을 포함하거나 또는 저장할 수 있는 임의의 유형 매체일 수 있으며, 해당 프로그램은 명령 실행 시스템, 장치 또는 기기에 의해 사용되거나 또는 이들과 결합하여 사용될 수 있다.
컴퓨터 판독 가능 신호 매체는 베이스 밴드에서 또는 반송파의 일부로서 베어링되는 데이터 신호를 포함할 수 있으며, 컴퓨터 판독 가능 신호 매체에는 컴퓨터 판독 가능 프로그램 코드가 베어링된다. 이러한 전파되는 데이터 신호는 전자기 신호, 광학 신호 또는 이들의 임의의 적절한 조합을 포함하지만 이에 제한되지 않는 다양한 형태를 취할 수 있다. 컴퓨터 판독 가능 신호 매체는 또한 컴퓨터 판독 가능 저장 매체 이외의 임의의 컴퓨터 판독 가능 매체일 수도 있되, 해당 컴퓨터 판독 가능 매체는 명령 실행 시스템, 장치 또는 기기에 의해 사용되거나 이와 결합되어 사용되는 프로그램을 송신, 전파 또는 전송할 수 있다.
컴퓨터 판독 가능 매체에 포함된 프로그램 코드는, 무선, 전선, 광케이블, RF 등 또는 이들의 임의의 적절한 조합을 포함하지만 제한되지 않는 임의의 적절한 매체로 전송할 수 있다.
한 가지 또는 여러 가지 프로그래밍 언어 또는 여러 가지 프로그래밍 언어 조합으로, 본 출원의 동작들을 실행하는 데 사용되는 컴퓨터 프로그래밍 코드를 작성할 수 있다. 상기 프로그래밍 언어는 예를 들어 Java, Smalltalk, C++와 같은 객체 지향 프로그래밍 언어를 포함하며, 예를 들어 "C" 언어 또는 이와 유사한 프로그래밍 언어와 같은 통상적인 절차적 프로그래밍 언어도 포함한다. 프로그램 코드는 전체적으로 사용자 컴퓨터에서 실행되거나, 또는 부분적으로 사용자 컴퓨터에서 실행되거나, 또는 별도의 소프트웨어 패키지로서 실행되거나, 또는 부분적으로 사용자 컴퓨터에서 그리고 부분적으로 원격 컴퓨터에서 실행되거나, 또는 전체적으로 원격 컴퓨터 또는 서버에서 실행될 수 있다. 원격 컴퓨터와 관련된 경우, 원격 컴퓨터는 LAN 또는 WAN을 포함한 임의의 종류의 네트워크를 통해 사용자 컴퓨터에 연결되거나 또는 외부 컴퓨터에 연결(예를 들어 인터넷 서비스 제공 업체를 이용해 인터넷을 통해 연결)될 수 있다.

Claims (21)

  1. 로봇에 대한 스케줄링을 수행하는 방법으로서,
    로봇 스케줄링 장치는 스케줄링 명령을 수신하는 단계;
    상기 로봇 스케줄링 장치는 상기 스케줄링 명령에 응하여, 작업 구역에 위치한 로봇의 작동 상태와 현재 위치를 결정하는 단계 - 상기 작동 상태는 유휴 상태와 비유휴 상태를 포함함 - ; 및
    상기 로봇 스케줄링 장치는 상기 로봇의 작동 상태가 유휴 상태이며 현재 위치가 사전 설정된 목표 범위 밖인 경우, 상기 로봇을 상기 현재 위치로부터 상기 목표 범위 내로 스케줄링하는 단계를 포함하고,
    상기 목표 범위는 창고 바닥 위의 유휴 구역이며 상기 목표 범위 밖에 있는 유휴 상태의 상기 로봇을 상기 목표 범위 내로 스케줄링하는 데에 사용되도록 구성되는 것을 특징으로 하는 로봇 스케줄링 방법.
  2. 제1항에 있어서,
    작업 구역에 위치한 로봇의 작동 상태를 결정하는 것은,
    작업 구역에 위치한 로봇에 실행 대기 태스크 또는 실행 중인 태스크가 존재하는지 여부를 판단하는 단계; 및
    상기 로봇에 상기 실행 대기 태스크 또는 상기 실행 중인 태스크가 존재하지 않는다는 판단 결과에 응하여, 상기 로봇의 작동 상태가 상기 유휴 상태인 것으로 결정하고, 상기 로봇에 상기 실행 대기 태스크 또는 상기 실행 중인 태스크가 존재한다는 판단 결과에 응하여, 상기 로봇의 작동 상태가 비유휴 상태인 것으로 결정하는 단계를 포함하는
    것을 특징으로 하는 로봇 스케줄링 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 로봇을 상기 현재 위치로부터 상기 목표 범위 내로 스케줄링하는 것은,
    상기 목표 범위 내에서 상기 로봇의 목표 위치를 결정하는 단계;
    상기 현재 위치로부터 상기 목표 위치까지의 최적 경로를 산출하는 단계; 및
    상기 최적 경로를 따라 상기 로봇을 상기 현재 위치로부터 상기 목표 위치로 스케줄링하는 단계를 포함하는
    것을 특징으로 하는 로봇 스케줄링 방법.
  4. 제3항에 있어서,
    상기 목표 범위 내에서 상기 로봇의 목표 위치를 결정하는 단계는,
    상기 목표 범위 내에서 상기 로봇의 예정 위치를 결정하는 단계; 및
    상기 로봇의 예정 위치가 사전 설정된 스케줄링 조건을 충족하는지 여부를 판단하여, 상기 로봇의 예정 위치가 상기 스케줄링 조건을 충족한다는 판단 결과에 응하여, 상기 로봇의 예정 위치를 상기 로봇의 목표 위치로 결정하는 단계를 포함하는
    것을 특징으로 하는 로봇 스케줄링 방법.
  5. 제4항에 있어서,
    상기 목표 범위는 적어도 하나의 셀로 분할되며, 셀을 단위로 상기 로봇의 목표 위치가 결정되되, 상기 목표 범위의 형상은 직사각형이며, 상기 목표 범위는 사전 설정된 기점 위치, 폭 및 높이로 결정되는
    것을 특징으로 하는 로봇 스케줄링 방법.
  6. 제5항에 있어서,
    상기 사전 설정된 스케줄링 조건에는,
    상기 로봇이 세로로 배열된 경우, 상기 로봇의 예정 위치와 가로로 인접한 셀이 유휴 상태인 것; 및
    상기 로봇이 가로로 배열된 경우, 상기 로봇의 예정 위치와 세로로 인접한 셀이 유휴 상태인 것이 포함되는
    것을 특징으로 하는 로봇 스케줄링 방법.
  7. 제1항에 있어서,
    로봇 수가 상기 목표 범위 내에 수용 가능한 로봇 수보다 많은 경우, 새로운 목표 범위를 다시 결정하고, 상기 로봇의 작동 상태가 유휴 상태이며 현재 위치가 사전 설정된 목표 범위 밖인 경우, 상기 로봇을 상기 현재 위치로부터 상기 새로운 목표 범위 내로 스케줄링하는 단계를 더 포함하는
    것을 특징으로 하는 로봇 스케줄링 방법.
  8. 로봇에 대한 스케줄링을 수행하는 방법으로서,
    로봇 스케줄링 장치는 소방 신호를 수신하는 단계; 및
    상기 로봇 스케줄링 장치는 상기 소방 신호에 응하여, 로봇이 이동 상태이며 설계된 경로 내 다음 셀이 사전 설정된 소방 통로 구역 내에 위치한 경우, 상기 다음 셀로 이동하고 상기 설계된 경로를 따라 계속 이동하여 다음 셀이 상기 사전 설정된 소방 통로 구역 내에 위치하지 않으면 이동을 중지하도록 상기 로봇을 제어하는 단계를 포함하는
    것을 특징으로 하는 로봇 스케줄링 방법.
  9. 제8항에 있어서,
    소방 신호를 수신한 후,
    상기 로봇이 정지 상태이며 상기 로봇이 현재 위치한 셀이 상기 사전 설정된 소방 통로 구역 내에 위치한 경우, 상기 로봇을 위해 경로를 다시 설계하고, 상기 로봇이 다시 설계된 경로를 따라 이동하여 상기 사전 설정된 소방 통로 구역을 벗어나도록 제어하는 단계를 더 포함하는
    것을 특징으로 하는 로봇 스케줄링 방법.
  10. 제9항에 있어서,
    상기 로봇을 위해 경로를 다시 설계하고, 상기 로봇이 다시 설계된 경로를 따라 이동하여 상기 사전 설정된 소방 통로 구역을 벗어나도록 제어하는 것은,
    상기 로봇과 이탈 종점 사이의 거리와, 이탈 종점이 위치한 사전 설정된 구역 범위 내의 로봇 밀도 중 적어도 하나에 기반하여, 상기 로봇을 위해 이탈 종점을 선택하는 단계; 및
    선택된 이탈 종점에 따라, 상기 로봇을 위해 경로를 다시 설계하여, 상기 로봇이 다시 설계된 경로를 따라, 선택된 상기 이탈 종점까지 이동하도록 제어하는 단계를 포함하는
    것을 특징으로 하는 로봇 스케줄링 방법.
  11. 제8항에 있어서,
    상기 소방 신호는 소방 비상 정지 버튼에 의해 트리거되거나 또는 외부 인터페이스를 통해 수신되는
    것을 특징으로 하는 로봇 스케줄링 방법.
  12. 이동하는 작업 구역이 복수의 셀로 분할된 로봇의 경로를 제어하는 방법으로서,
    로봇 경로 제어 장치는 상기 로봇이 설계 경로를 따라 이동하는 과정에서, 상기 로봇이 위치한 현재 셀의 작동 상태를 결정하는 단계;
    상기 로봇 경로 제어 장치는 상기 현재 셀이 잠금 상태인 것으로 감지된 경우, 이동을 중지하도록 상기 로봇을 제어하는 단계;
    상기 로봇 경로 제어 장치는 상기 현재 셀이 잠금해제 상태이며 다음 셀이 잠금 상태인 것으로 감지된 경우, 상기 다음 셀을 피하도록 상기 로봇을 위해 경로를 다시 설계하고, 상기 로봇이 다시 설계된 경로를 따라 이동하도록 유도하는 단계; 및
    상기 로봇 경로 제어 장치는 상기 현재 셀과 상기 다음 셀이 모두 잠금 해제 상태인 것으로 감지된 경우, 상기 로봇이 상기 설계 경로를 따라 이동하도록 유도하는 단계를 포함하고,
    상기 작동 상태는 완충 상태를 더 포함하며,
    완충 상태의 서브 구역은, 상기 완충 상태의 서브 구역이 포함되는 경로가 이미 설계된 로봇에 대해 상기 완충 상태의 서브 구역에서의 이동이 허용되지만, 아직 경로가 설계되지 않은 로봇에 대해 상기 완충 상태의 서브 구역에서의 이동이 허용되지 않으며,
    상기 로봇 경로 제어 방법은,
    상기 로봇 경로 제어 장치는 상기 현재 셀이 완충 상태이며 다음 셀이 잠금 상태인 것으로 감지되면, 상기 다음 셀을 피하도록 상기 로봇을 위해 경로를 다시 설계하고, 상기 로봇이 다시 설계된 경로를 따라 이동하도록 인도하는 단계; 및
    상기 로봇 경로 제어 장치는 상기 현재 셀과 다음 셀이 모두 완충 상태이거나, 또는 상기 현재 셀이 잠금해제 상태이며 상기 다음 셀이 완충 상태이거나, 또는 상기 현재 셀이 완충 상태이며 상기 다음 셀이 잠금해제 상태인 것으로 감지된 경우, 상기 로봇이 상기 설계 경로를 따라 이동하도록 인도하는 단계를 더 포함하는 것을 특징으로 하는 로봇 경로 제어 방법.
  13. 제12항에 있어서,
    상기 로봇을 위해 경로를 설계하는 과정에서, 작업 구역 내의 셀의 작동 상태를 결정하여, 작동 상태가 잠금 상태인 셀이, 설계 후의 경로에서 제외되도록 하는 단계를 더 포함하는
    것을 특징으로 하는 로봇 경로 제어 방법.
  14. 제12항에 있어서,
    작동 상태 설정 명령에 응하여, 상기 작동 상태 설정 명령에서 지정된 적어도 하나의 셀의 작동 상태를, 상기 작동 상태 설정 명령에서 지정된 상태로 설정하는 단계를 더 포함하는
    것을 특징으로 하는 로봇 경로 제어 방법.
  15. 제14항에 있어서,
    작동 상태 설정 명령에 응하여, 상기 작동 상태 설정 명령에서 지정된 적어도 하나의 셀의 작동 상태를, 상기 작동 상태 설정 명령에서 지정된 상태로 설정하는 단계는,
    임의의 하나의 셀의 작동 상태 설정 제어 유닛을 누르는 조작에 응하여, 상기 셀의 작동 상태를 지정된 상태로 설정하는 단계; 또는
    임의의 하나의 셀의 좌표를 입력하는 조작에 응하여, 상기 셀의 작동 상태를 지정된 상태로 설정하는 단계를 포함하는
    것을 특징으로 하는 로봇 경로 제어 방법.
  16. 제12항에 있어서,
    상기 설계 경로에서 주행 장애가 감지된 경우, 주행 장애가 존재하는 셀을 잠금 상태로 설정하는 단계를 더 포함하는
    것을 특징으로 하는 로봇 경로 제어 방법.
  17. 제12항에 있어서,
    상기 현재 셀이 잠금해제 상태이며 다음 셀이 잠금 상태인 것으로 감지된 경우, 상기 다음 셀을 피하도록 상기 로봇을 위해 경로를 다시 설계하고, 상기 로봇이 다시 설계된 경로를 따라 이동하도록 유도하는 것은,
    상기 현재 셀이 잠금해제 상태이며 다음 셀이 잠금 상태인 것으로 감지된 경우, 상기 다음 셀이 사전 설정된 시간 경과 후에도 여전히 잠금 상태인지 여부를 판단하는 단계; 및
    상기 다음 셀이 사전 설정된 시간 경과 후에도 여전히 잠금 상태라는 판단 결과에 응하여, 상기 다음 셀을 피하도록 상기 로봇을 위해 경로를 다시 설계하고, 상기 로봇이 다시 설계된 경로를 따라 이동하도록 인도하는 단계를 포함하는
    것을 특징으로 하는 로봇 경로 제어 방법.
  18. 제12항에 있어서,
    전반 잠금 조작에 응하여, 상기 작업 구역 내 모든 로봇이 이동을 중지하도록 제어하는 단계를 더 포함하는
    것을 특징으로 하는 로봇 경로 제어 방법.
  19. 적어도 하나의 프로세서, 및 적어도 하나의 프로그램이 저장되어 있도록 구성된 메모리를 포함하되,
    상기 적어도 하나의 프로그램이 상기 적어도 하나의 프로세서에 의해 실행되면, 상기 적어도 하나의 프로세서에 의해 청구항 제1항, 제2항, 제7항 내지 제14항, 및 제16항 내지 제18항 중 어느 한 항에 따른 방법을 구현되도록 하는
    것을 특징으로 하는 서버.
  20. 컴퓨터 프로그램이 저장되어 있되, 상기 컴퓨터 프로그램은 프로세서에 의해 실행되면, 청구항 제1항, 제2항, 제7항 내지 제14항, 및 제16항 내지 제18항 중 어느 한 항에 따른 방법이 구현되도록 하는
    것을 특징으로 하는 컴퓨터 판독 가능 매체.
  21. 삭제
KR1020217002072A 2018-06-21 2019-06-19 로봇 스케줄링, 로봇 경로 제어 방법, 서버 및 저장 매체 KR102542218B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
CN201810643118.4 2018-06-21
CN201810643118.4A CN108958241B (zh) 2018-06-21 2018-06-21 机器人路径的控制方法、装置、服务器和存储介质
CN201810708903.3A CN108960506B (zh) 2018-07-02 2018-07-02 一种机器人调度方法、装置、服务器和存储介质
CN201810708903.3 2018-07-02
CN201810785131.3 2018-07-17
CN201810785131.3A CN108646762B (zh) 2018-07-17 2018-07-17 机器人的消防控制方法、装置、服务器和存储介质
PCT/CN2019/091920 WO2019242652A1 (zh) 2018-06-21 2019-06-19 机器人调度、机器人路径的控制方法、服务器和存储介质

Publications (2)

Publication Number Publication Date
KR20210024576A KR20210024576A (ko) 2021-03-05
KR102542218B1 true KR102542218B1 (ko) 2023-06-13

Family

ID=68982718

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217002072A KR102542218B1 (ko) 2018-06-21 2019-06-19 로봇 스케줄링, 로봇 경로 제어 방법, 서버 및 저장 매체

Country Status (8)

Country Link
US (1) US11969896B2 (ko)
EP (1) EP3812865A4 (ko)
JP (3) JP7005794B2 (ko)
KR (1) KR102542218B1 (ko)
AU (1) AU2019290096B2 (ko)
CA (1) CA3104505A1 (ko)
MX (1) MX2020014269A (ko)
WO (1) WO2019242652A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX2020014269A (es) * 2018-06-21 2021-03-25 Beijing Geekplus Tech Co Ltd Metodo de planificacion de robot y control de trayectoria de robot, servidor y medio de almacenamiento.
CN110929911A (zh) * 2018-09-20 2020-03-27 北京京东尚科信息技术有限公司 无人设备路径规划方法和装置
CN111176296B (zh) * 2020-01-20 2022-06-03 重庆邮电大学 一种基于条形码码盘的移动机器人编队的控制方法
CN113627703A (zh) * 2020-05-08 2021-11-09 北京京东乾石科技有限公司 移动装置的调度方法和设备、计算机系统和存储介质
CN111596661B (zh) * 2020-05-26 2023-09-08 深圳优地科技有限公司 一种消毒控制方法、装置、电子设备及系统
CN112214018A (zh) * 2020-09-10 2021-01-12 深圳优地科技有限公司 机器人路径规划方法及装置
CN113065820A (zh) * 2021-03-25 2021-07-02 北京京东乾石科技有限公司 信息生成方法、装置、电子设备和计算机可读介质
CN113172625A (zh) * 2021-04-29 2021-07-27 塔米智能科技(北京)有限公司 一种机器人调度方法、装置、设备及存储介质
CN113031629B (zh) * 2021-05-27 2022-11-04 德阳恒博秸油科技有限公司 一种餐饮行业的智能传送终端及其工作方法
CN113627775B (zh) * 2021-08-04 2024-01-19 昆山塔米机器人有限公司 机器人的调度方法、装置、设备和存储介质
CN113835431B (zh) * 2021-09-23 2024-03-19 江苏智库智能科技有限公司 一种用于多台四向穿梭同区域作业的调度方法和系统
JP7499226B2 (ja) 2021-12-14 2024-06-13 清水建設株式会社 制御装置
CN114770494A (zh) * 2022-03-01 2022-07-22 深圳市普渡科技有限公司 机器人调度方法、计算机设备及存储介质
CN115343990A (zh) * 2022-08-11 2022-11-15 一汽解放汽车有限公司 机器人切换系统控制方法、装置、计算机设备及存储介质
CN115271556B (zh) * 2022-09-27 2022-12-30 江西萤火虫微电子科技有限公司 机器人任务调度方法、装置、可读存储介质及电子设备
CN115351803B (zh) * 2022-10-20 2023-04-21 湖北信通通信有限公司 仓储物流机器人的路径规划方法及装置
KR102566417B1 (ko) * 2023-01-30 2023-08-11 주식회사 마키나락스 작업 수행 로봇의 작업 경로의 길이를 계산하는 방법
CN117874739B (zh) * 2024-03-13 2024-05-07 中国标准化研究院 一种智能制造服务的信息推送方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003044138A (ja) * 2001-07-30 2003-02-14 Murata Mach Ltd 無人搬送車システム
CN104199450A (zh) * 2014-09-17 2014-12-10 上海畔慧信息技术有限公司 群体机器人的控制系统
JP6283753B2 (ja) * 2014-12-26 2018-02-28 株式会社日立製作所 搬送車及び搬送システム

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3544705A1 (de) 1984-12-27 1986-07-17 Mannesmann Demag Corp., Grand Rapids, Mich. Passive programmierbare responder fuer fuehrungssysteme
JPH01253009A (ja) * 1988-04-01 1989-10-09 Fanuc Ltd 走行体の走行制御装置
JPH10161744A (ja) 1996-12-02 1998-06-19 Matsushita Electric Ind Co Ltd 無人搬送車および無人搬送車システム
US5974348A (en) * 1996-12-13 1999-10-26 Rocks; James K. System and method for performing mobile robotic work operations
JPH1185278A (ja) * 1997-09-09 1999-03-30 Murata Mach Ltd 無人搬送車システム
JPH1185281A (ja) 1997-09-09 1999-03-30 Murata Mach Ltd 無人搬送車システム
US7627394B2 (en) 2005-12-20 2009-12-01 Kuka Roboter Gmbh Robot trajectory control including emergency evacuation path system and method
US8649899B2 (en) 2006-06-19 2014-02-11 Amazon Technologies, Inc. System and method for maneuvering a mobile drive unit
US8220710B2 (en) 2006-06-19 2012-07-17 Kiva Systems, Inc. System and method for positioning a mobile drive unit
JP2010176607A (ja) 2009-02-02 2010-08-12 Toyohashi Univ Of Technology 移動体システム及びそのデッドロック回復手法
JP2011128899A (ja) 2009-12-17 2011-06-30 Murata Machinery Ltd 自律移動装置
CN102799177A (zh) * 2011-05-23 2012-11-28 捷达世软件(深圳)有限公司 自动引导小车控制系统及方法
CN102406998A (zh) 2011-07-27 2012-04-11 江苏中瑞电保智能装备有限公司 智能机器人灭火系统及方法
DK2791748T3 (da) * 2012-02-08 2020-11-09 Omron Robotics And Safety Tech Inc Opgavestyringssystem for en flåde af autonome mobile robotter
CN103873539A (zh) 2012-12-18 2014-06-18 天津云源科技有限公司 一种自主式物品云管理系统
GB201409883D0 (en) * 2014-06-03 2014-07-16 Ocado Ltd Methods, systems, and apparatus for controlling movement of transporting devices
JP2016055964A (ja) * 2014-09-08 2016-04-21 株式会社日立製作所 入出荷支援システム、自動倉庫及び入出荷支援方法
CN104317293B (zh) 2014-09-19 2017-04-12 南京邮电大学 一种改进蚁群算法的城市救援智能体动态路径规划方法
KR101660162B1 (ko) * 2015-03-05 2016-10-04 고려대학교 산학협력단 자율 주행 기반 무인 운반차 시스템 및 이의 제어 방법
CN105224996A (zh) 2015-08-31 2016-01-06 湖南汇博电子技术有限公司 人群疏散方法及系统
CA3002911A1 (en) * 2015-10-22 2017-04-27 Grey Orange Pte Ltd Automated fault diagnosis and recovery of machines
EP3401750B1 (en) * 2016-01-04 2023-01-11 Zhejiang Libiao Robots Co., Ltd. Method and device for returning robots from site
CN105446342B (zh) 2016-01-04 2019-02-05 杭州亚美利嘉科技有限公司 用于机器人终端场地回流的方法和装置
CN105459117B (zh) 2016-01-04 2017-05-03 杭州亚美利嘉科技有限公司 控制大量机器人急停的方法及装置
CN105404231B (zh) 2016-01-12 2018-08-14 西北工业大学 一种基于物联网的智能楼宇监控管理系统
CN107025491B (zh) 2016-01-29 2020-12-29 江苏苏宁物流有限公司 一种自动化仓储中agv运输车的调度方法及系统
CN105853085B (zh) 2016-03-25 2018-11-16 向瑜 一种疏散机器人
US9776324B1 (en) 2016-03-25 2017-10-03 Locus Robotics Corporation Robot queueing in order-fulfillment operations
US9513627B1 (en) * 2016-04-25 2016-12-06 inVia Robotics, LLC Autonomous coordination of resources amongst robots
CN105858045B (zh) 2016-06-03 2019-01-29 北京极智嘉科技有限公司 货物自动拣选系统和货物自动拣选方法
CN106228302A (zh) 2016-07-21 2016-12-14 上海仙知机器人科技有限公司 一种用于在目标区域内进行任务调度的方法与设备
CN106355345A (zh) 2016-09-08 2017-01-25 京东方科技集团股份有限公司 自动售货机器人智能调度系统及方法
US10168709B2 (en) 2016-09-14 2019-01-01 Irobot Corporation Systems and methods for configurable operation of a robot based on area classification
CN106647734B (zh) 2016-10-12 2020-11-24 北京京东乾石科技有限公司 自动导引车、路径规划方法与装置
CN106514661A (zh) 2016-10-28 2017-03-22 天津城建大学 地下火灾巡检机器人系统
CN106444588B (zh) 2016-11-30 2019-04-26 国家电网公司 基于视频监控联动系统的阀厅机器人巡检方法
EP4029372A1 (en) * 2016-12-15 2022-07-20 Positec Power Tools (Suzhou) Co., Ltd. Self-moving device return method, self-moving device, storage medium, and server
CN107092255A (zh) 2017-05-19 2017-08-25 安徽工程大学 一种基于改进遗传算法的多移动机器人路径规划方法
CN107036618A (zh) * 2017-05-24 2017-08-11 合肥工业大学(马鞍山)高新技术研究院 一种基于最短路径深度优化算法的agv路径规划方法
CN107145153A (zh) 2017-07-03 2017-09-08 北京海风智能科技有限责任公司 一种基于ros的服务机器人及其室内导航方法
CN107515606A (zh) 2017-07-20 2017-12-26 北京格灵深瞳信息技术有限公司 机器人实现方法、控制方法及机器人、电子设备
CN107899957B (zh) 2017-09-30 2024-05-17 北京极智嘉科技股份有限公司 自动物流分拣系统和自动物流分拣方法
MX2020014269A (es) 2018-06-21 2021-03-25 Beijing Geekplus Tech Co Ltd Metodo de planificacion de robot y control de trayectoria de robot, servidor y medio de almacenamiento.
CN108958241B (zh) * 2018-06-21 2020-09-04 北京极智嘉科技有限公司 机器人路径的控制方法、装置、服务器和存储介质
CN108960506B (zh) * 2018-07-02 2020-06-05 北京极智嘉科技有限公司 一种机器人调度方法、装置、服务器和存储介质
CN108646762B (zh) * 2018-07-17 2020-01-14 北京极智嘉科技有限公司 机器人的消防控制方法、装置、服务器和存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003044138A (ja) * 2001-07-30 2003-02-14 Murata Mach Ltd 無人搬送車システム
CN104199450A (zh) * 2014-09-17 2014-12-10 上海畔慧信息技术有限公司 群体机器人的控制系统
JP6283753B2 (ja) * 2014-12-26 2018-02-28 株式会社日立製作所 搬送車及び搬送システム

Also Published As

Publication number Publication date
JP2021522618A (ja) 2021-08-30
KR20210024576A (ko) 2021-03-05
CA3104505A1 (en) 2019-12-26
MX2020014269A (es) 2021-03-25
WO2019242652A1 (zh) 2019-12-26
JP2022037222A (ja) 2022-03-08
JP7005794B2 (ja) 2022-01-24
EP3812865A1 (en) 2021-04-28
AU2019290096B2 (en) 2022-12-01
US11969896B2 (en) 2024-04-30
JP2022037223A (ja) 2022-03-08
AU2019290096A1 (en) 2021-01-14
EP3812865A4 (en) 2022-07-13
US20210252705A1 (en) 2021-08-19

Similar Documents

Publication Publication Date Title
KR102542218B1 (ko) 로봇 스케줄링, 로봇 경로 제어 방법, 서버 및 저장 매체
US11052539B2 (en) Method, server and storage medium for robot routing
US11709502B2 (en) Roadmap annotation for deadlock-free multi-agent navigation
CN108960506B (zh) 一种机器人调度方法、装置、服务器和存储介质
US11066282B2 (en) System and method for maneuvering a mobile drive unit
KR101695557B1 (ko) 자율 주행 기반 무인 운반차 시스템 및 이의 제어 방법
CN108958241B (zh) 机器人路径的控制方法、装置、服务器和存储介质
KR20190008709A (ko) 자율주행 로봇 장치 및 자율 주행 방법
EP3958085B1 (en) Navigation route reservation for warehouse robot
KR101660162B1 (ko) 자율 주행 기반 무인 운반차 시스템 및 이의 제어 방법
CN108646762B (zh) 机器人的消防控制方法、装置、服务器和存储介质
JP2021071891A (ja) 走行制御装置、走行制御方法、及びコンピュータプログラム
US11468770B2 (en) Travel control apparatus, travel control method, and computer program
US20210208592A1 (en) System for evacuating one or more mobile robots
CN115525032A (zh) 一种基于多种类机器人智能调度处理控制系统
JP2024045465A (ja) 走行制御装置、走行制御方法及びコンピュータプログラム
WO2023174096A1 (zh) 自主移动机器人的调度方法、系统、电子设备和存储介质
JP7237799B2 (ja) 走行制御装置及び運行システム
KR102327293B1 (ko) 자율주행 무인운반차 제어 시스템 및 방법
CN114282749A (zh) 机器人调度方法、装置、系统、电子设备和存储介质
JP7334839B1 (ja) 割当制御装置、割当方法、割当制御プログラム、および記録媒体
JP5141974B2 (ja) 台車のモニタリングシステムとモニタリング方法
WO2022195949A1 (ja) 管理装置及び荷役車両
US20230391555A1 (en) Transport system, transport method, and recording medium recording transport program
WO2023136047A1 (ja) 情報処理装置、情報処理方法およびプログラム

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right