KR20210023892A - 정보 처리 장치, 이동 장치, 정보 처리 시스템, 및 방법, 그리고 프로그램 - Google Patents

정보 처리 장치, 이동 장치, 정보 처리 시스템, 및 방법, 그리고 프로그램 Download PDF

Info

Publication number
KR20210023892A
KR20210023892A KR1020207037311A KR20207037311A KR20210023892A KR 20210023892 A KR20210023892 A KR 20210023892A KR 1020207037311 A KR1020207037311 A KR 1020207037311A KR 20207037311 A KR20207037311 A KR 20207037311A KR 20210023892 A KR20210023892 A KR 20210023892A
Authority
KR
South Korea
Prior art keywords
task
task sequence
sequence
mobile device
processing
Prior art date
Application number
KR1020207037311A
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 소니 주식회사
Publication of KR20210023892A publication Critical patent/KR20210023892A/ko

Links

Images

Classifications

    • G06Q50/40
    • 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/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • 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"
    • 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
    • G06Q10/06316Sequencing of tasks or work
    • 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/0633Workflow analysis
    • 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/0637Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
    • 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/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • 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/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • G06Q10/0835Relationships between shipper or supplier and carriers
    • G06Q10/08355Routing methods

Abstract

본 발명은 노드의 노드 식별자와 처리 종류를 기록한 태스크 시퀀스를 생성하고, 또한 추가 태스크의 발생에 따라서 동적으로 태스크 시퀀스를 갱신하여 이동 장치에 실행시킴으로써, 낭비가 없는 태스크 시퀀스의 생성과 태스크 처리를 가능하게 한다. 등록 노드 간의 이동 처리와 등록 노드에서의 처리에 대해서, 노드 식별자와 처리 종류를 포함하는 태스크를 시계열로 배열한 태스크 시퀀스를 생성하고, 또한, 각 이동 장치 대응의 이동 장치 대응 태스크 시퀀스를 생성한다. 새로운 추가 태스크 시퀀스가 발생한 경우, 거기에 포함되는 태스크를 기존의 이동 장치 대응 태스크 시퀀스에 삽입하는 이동 장치 대응 태스크 시퀀스 갱신 처리를 실행한다.

Description

정보 처리 장치, 이동 장치, 정보 처리 시스템, 및 방법, 그리고 프로그램
본 개시는, 정보 처리 장치, 이동 장치, 정보 처리 시스템, 및 방법, 그리고 프로그램에 관한 것이다. 더욱 상세하게는, 짐의 배송 행하는 차량이나 택시, 혹은 배송 로봇 등, 이동을 수반하는 여러 가지 처리, 예를 들어 짐의 집하나 배송, 사람의 승차나 하차 등의 처리를 효율적으로 행하는 것을 실현하는 정보 처리 장치, 이동 장치, 정보 처리 시스템, 및 방법, 그리고 프로그램에 관한 것이다.
짐이나 사람을 운반하는 차량이나 택시, 혹은, 공장이나 오피스 등에서 자동 주행하는 배송 로봇 등은, 여러 위치로 이동하고 이동처에서 짐이나 사람, 기타의 물품의 승하차를 행한다. 이러한 처리를 행하는 경우, 이동 경로의 설정이나, 이동과 기타의 처리, 예를 들어 짐이나 사람의 승하차 등의 처리의 시퀀스를 어떻게 설정할지에 따라 효율이 크게 달라지게 된다.
예를 들어, 경로 탐색을 수반하는 처리의 최적화 시스템으로서, 차량 등의 이동 장치의 이동 범위에 복수의 거점(노드)과 각 노드를 접속하는 경로(아크)를 설정하고, 짐의 승하차 등의 처리를 행하는 노드 간을 연결하는 최단 경로를 산출하는 시스템이 있다.
예를 들어 특허문헌 1(일본 특허 공개 제2008-230816호 공보)에는, 출발 지점 노드와 도착 지점 노드와 노드 간의 거리, 각 노드 간의 이동 시간 등을 저장한 데이터베이스를 사용하여 최적의 처리 시퀀스를 결정하는 구성을 개시하고 있다.
그러나, 예를 들어, 짐의 배송을 행하는 차량이, 어떤 하나의 처리 시퀀스에 따른 처리, 예를 들어 짐 배송 처리를 실행 중에 새로운 짐의 배송 리퀘스트가 발생하는 경우가 있다. 이러한 경우, 실행 중인 처리 시퀀스를 완료한 후, 새로운 짐의 배송을 개시하면, 처리 효율이 현저하게 저하되는 경우가 있다.
일본 특허 공개 제2008-230816호 공보
본 개시는, 예를 들어 상기 문제점을 감안하여 이루어진 것이며, 짐 배송차 등의 차량이 미리 결정된 처리 시퀀스에 따른 처리를 실행 중에 새로운 처리가 발생한 경우에도, 실행 중인 시퀀스에 새로운 처리를 편입시킨 최적의 처리 시퀀스를, 수시, 생성하여 실행 가능하게 한 정보 처리 장치, 이동 장치, 정보 처리 시스템, 및 방법, 그리고 프로그램을 제공하는 것을 목적으로 한다.
본 개시의 제1 측면은,
이동 장치의 이동 경로 상에 설정된 등록 노드 간의 이동 처리와, 등록 노드에서의 처리에 대해서, 노드 식별자와 처리 종류를 포함하는 데이터인 태스크로서 기술하고, 각 태스크를 시계열로 배열한 태스크 시퀀스를 생성하고, 또한,
생성한 태스크 시퀀스에 기초하여, 각 이동 장치 대응의 태스크 시퀀스인 이동 장치 대응 태스크 시퀀스를 생성하는 태스크 관리부를 갖고,
상기 태스크 관리부는,
처리 실행 요구인 리퀘스트에 기초하여 생성한 새로운 추가 태스크 시퀀스에 포함되는 태스크를, 이동 장치에 있어서 실행 중인 이동 장치 대응 태스크 시퀀스에 삽입하는 이동 장치 대응 태스크 시퀀스 갱신 처리를 실행하는 정보 처리 장치에 있다.
또한, 본 개시의 제2 측면은,
이동 장치 대응의 태스크 시퀀스인 이동 장치 대응 태스크 시퀀스에 따른 처리를 실행하는 이동 장치이며,
상기 이동 장치 대응 태스크 시퀀스는, 상기 이동 장치, 또는 외부 서버에 있어서 생성된 시퀀스이며, 상기 이동 장치의 이동 경로 상에 설정된 등록 노드 간의 이동 처리와, 등록 노드에서의 처리에 대해서, 노드 식별자와 처리 종류를 포함하는 태스크를 시계열로 배열한 태스크 시퀀스이며,
상기 이동 장치는,
새로운 추가 태스크 시퀀스가 발생한 경우, 해당 추가 태스크 시퀀스에 포함되는 태스크를 상기 이동 장치 대응 태스크 시퀀스에 삽입한 갱신 이동 장치 대응 태스크 시퀀스를 실행하는 이동 장치에 있다.
또한, 본 개시의 제3 측면은,
처리 실행 요구인 리퀘스트를 송신하는 단말기와, 상기 단말기로부터 리퀘스트를 수신하는 태스크 관리 서버와, 처리를 실행하는 이동 장치를 갖는 정보 처리 시스템이며,
상기 태스크 관리 서버는,
상기 리퀘스트에 따라, 상기 이동 장치의 이동 경로 상에 설정된 등록 노드 간의 이동 처리와, 등록 노드에서의 처리에 대해서, 노드 식별자와 처리 종류를 포함하는 데이터인 태스크로서 기술하고, 각 태스크를 시계열로 배열한 각 이동 장치 대응의 태스크 시퀀스인 이동 장치 대응 태스크 시퀀스를 생성함과 함께,
처리 실행 요구인 리퀘스트에 기초하여 생성한 새로운 추가 태스크 시퀀스에 포함되는 태스크를 이동 장치에 있어서 실행 중인 이동 장치 대응 태스크 시퀀스에 삽입하여 갱신 이동 장치 대응 태스크 시퀀스를 생성하고,
상기 이동 장치는,
상기 추가 태스크 시퀀스에 포함되는 태스크를 갖는 갱신 이동 장치 대응 태스크 시퀀스에 따라서 처리를 실행하는 정보 처리 시스템에 있다.
또한, 본 개시의 제4 측면은,
정보 처리 장치에 있어서 실행하는 정보 처리 방법이며,
태스크 관리부가,
이동 장치의 이동 경로 상에 설정된 등록 노드 간의 이동 처리와, 등록 노드에서의 처리에 대해서, 노드 식별자와 처리 종류를 포함하는 데이터인 태스크로서 기술하고, 각 태스크를 시계열로 배열한 태스크 시퀀스를 생성하는 태스크 시퀀스 생성 스텝과,
생성한 태스크 시퀀스에 기초하여, 각 이동 장치 대응의 태스크 시퀀스인 이동 장치 대응 태스크 시퀀스를 생성하는 이동 장치 대응 태스크 시퀀스 생성 스텝을 실행하고,
상기 이동 장치 대응 태스크 시퀀스 생성 스텝에 있어서,
처리 실행 요구인 리퀘스트에 기초하여 생성한 새로운 추가 태스크 시퀀스에 포함되는 태스크를, 이동 장치에 있어서 실행 중인 이동 장치 대응 태스크 시퀀스에 삽입하는 이동 장치 대응 태스크 시퀀스 갱신 처리를 실행하는 정보 처리 방법에 있다.
또한, 본 개시의 제5 측면은,
정보 처리 장치에 있어서 정보 처리를 실행시키는 프로그램이며,
태스크 관리부에,
이동 장치의 이동 경로 상에 설정된 등록 노드 간의 이동 처리와, 등록 노드에서의 처리에 대해서, 노드 식별자와 처리 종류를 포함하는 데이터인 태스크로서 기술하고, 각 태스크를 시계열로 배열한 태스크 시퀀스를 생성시키는 태스크 시퀀스 생성 스텝과,
생성한 태스크 시퀀스에 기초하여, 각 이동 장치 대응의 태스크 시퀀스인 이동 장치 대응 태스크 시퀀스를 생성시키는 이동 장치 대응 태스크 시퀀스 생성 스텝을 실행시키고,
상기 이동 장치 대응 태스크 시퀀스 생성 스텝에 있어서,
처리 실행 요구인 리퀘스트에 기초하여 생성한 새로운 추가 태스크 시퀀스에 포함되는 태스크를, 이동 장치에 있어서 실행 중인 이동 장치 대응 태스크 시퀀스에 삽입하는 이동 장치 대응 태스크 시퀀스 갱신 처리를 실행시키는 프로그램에 있다.
또한, 본 개시의 프로그램은, 예를 들어, 여러 가지 프로그램·코드를 실행 가능한 정보 처리 장치나 컴퓨터·시스템에 대하여 컴퓨터 가독의 형식으로 제공하는 기억 매체, 통신 매체에 의해 제공 가능한 프로그램이다. 이러한 프로그램을 컴퓨터 가독의 형식으로 제공함으로써, 정보 처리 장치나 컴퓨터·시스템 상에서 프로그램에 따른 처리가 실현된다.
본 개시의 또 다른 목적, 특징이나 이점은, 후술하는 본 개시의 실시예나 첨부하는 도면에 기초하는 보다 상세한 설명에 의해 밝혀질 것이다. 또한, 본 명세서에 있어서 시스템이란, 복수의 장치의 논리적 집합 구성이며, 각 구성의 장치가 동일 하우징 내에 있는 것에 한정하지는 않는다.
본 개시의 일 실시예의 구성에 의하면, 노드의 노드 식별자와 처리 종류를 기록한 태스크 시퀀스를 생성하고, 또한 추가 태스크의 발생에 따라서 동적으로 태스크 시퀀스를 갱신하여 이동 장치에 실행시킴으로써, 낭비가 없는 태스크 시퀀스의 생성과 태스크 처리를 가능하게 하는 구성이 실현된다.
구체적으로는, 예를 들어, 등록 노드 간의 이동 처리와 등록 노드에서의 처리에 대해서, 노드 식별자와 처리 종류를 포함하는 태스크를 시계열로 배열한 태스크 시퀀스를 생성하고, 또한, 각 이동 장치 대응의 이동 장치 대응 태스크 시퀀스를 생성한다. 새로운 추가 태스크 시퀀스가 발생한 경우, 거기에 포함되는 태스크를 기존의 이동 장치 대응 태스크 시퀀스에 삽입하는 이동 장치 대응 태스크 시퀀스 갱신 처리를 실행한다.
본 구성에 의해, 노드의 노드 식별자와 처리 종류를 기록한 태스크 시퀀스를 생성하고, 또한 추가 태스크의 발생에 따라서 동적으로 태스크 시퀀스를 갱신하여 이동 장치에 실행시킴으로써, 낭비가 없는 태스크 시퀀스의 생성과 태스크 처리를 가능하게 하는 구성이 실현된다.
또한, 본 명세서에 기재된 효과는 어디까지나 예시이지 한정되는 것은 아니며, 또한 부가적인 효과가 있어도 된다.
도 1은 노드와 노드 간 경로를 사용한 최적 시퀀스의 산출 처리 구성에 대하여 설명하는 도면이다.
도 2는 노드와 노드 간 경로를 사용한 최적 시퀀스의 산출 처리 구성에 대하여 설명하는 도면이다.
도 3은 노드와 노드 간 경로를 사용한 최적 시퀀스의 산출 처리 구성에 대하여 설명하는 도면이다.
도 4는 노드와 노드 간 경로를 사용한 최적 시퀀스의 산출 처리 구성에 대하여 설명하는 도면이다.
도 5는 본 개시의 정보 처리 시스템의 일 구성예를 도시하는 도면이다.
도 6은 최적 태스크 시퀀스의 산출을 행하는 태스크 관리 서버의 구성예에 대하여 설명하는 도면이다.
도 7은 태스크 관리 서버가 유저 단말기 등의 리퀘스트 송신 장치로부터 태스크 리퀘스트를 수신했을 때의 처리 시퀀스를 설명하는 흐름도를 도시하는 도면이다.
도 8은 태스크 관리부가 생성하는 태스크 시퀀스의 구체예에 대하여 설명하는 도면이다.
도 9는 태스크 관리부가 생성하는 차량 대응 태스크 시퀀스의 구체예에 대하여 설명하는 도면이다.
도 10은 도 7에 도시하는 흐름도의 스텝 S103의 처리의 상세 시퀀스에 대하여 설명하는 도면이다.
도 11은 차량 대응 태스크 시퀀스를 실행하는 차량으로부터의 태스크 완료 통지를 수신했을 때의 태스크 관리 서버의 처리 시퀀스를 설명하는 흐름도를 도시하는 도면이다.
도 12는 태스크 관리 서버의 표시부의 표시예에 대하여 설명하는 도면이다.
도 13은 짐 배송 차량을 이용한 짐 배송예에 있어서의 리퀘스트 및 태스크 시퀀스에 대해서 설명하는 도면이다.
도 14는 택시를 이용한 예에 있어서의 리퀘스트 및 태스크 시퀀스에 대해서 설명하는 도면이다.
도 15는 택시를 이용한 예에 있어서의 차량 대응 태스크 시퀀스에 대해서 설명하는 도면이다.
도 16은 오피스 등의 플로어 내를 순회하는 상품 판매 로봇의 예에 있어서의 리퀘스트 및 태스크 시퀀스에 대해서 설명하는 도면이다.
도 17은 오피스 등의 플로어 내를 순회하는 상품 판매 로봇의 예에 있어서의 차량 대응 태스크 시퀀스에 대해서 설명하는 도면이다.
도 18은 차량에서 실행 중인 차량 대응 태스크 시퀀스에 신규 리퀘스트에 기초하는 신규 태스크 시퀀스를 추가하여 차량 대응 태스크 시퀀스를 갱신하는 처리의 구체예에 대하여 설명하는 도면이다.
도 19는 (1) 기존 차량 대응 태스크 시퀀스에, (2) 추가 태스크 시퀀스를 추가하는 처리 수순에 대하여 설명하는 도면이다.
도 20은 (1) 기존 차량 대응 태스크 시퀀스에, (2) 추가 태스크 시퀀스를 추가하는 처리 수순에 대하여 설명하는 도면이다.
도 21은 (1) 기존 차량 대응 태스크 시퀀스에, (2) 추가 태스크 시퀀스를 추가하는 처리 수순에 대하여 설명하는 도면이다.
도 22는 (1) 기존 차량 대응 태스크 시퀀스에, (2) 추가 태스크 시퀀스를 추가하는 처리 수순에 대하여 설명하는 도면이다.
도 23은 기존의 차량 대응 태스크 시퀀스에 새로운 리퀘스트에 기초하는 추가 태스크 시퀀스를 삽입하는 처리 수순에 대하여 설명하는 흐름도를 도시하는 도면이다.
도 24는 태스크의 우선도를 고려하여 차량 대응 태스크 시퀀스를 갱신하는 처리의 구체예에 대하여 설명하는 도면이다.
도 25는 태스크 우선도를 고려하여 (1) 기존 차량 대응 태스크 시퀀스에, (2) 추가 태스크 시퀀스를 추가하는 처리 수순에 대하여 설명하는 도면이다.
도 26은 태스크 우선도를 고려하여 (1) 기존 차량 대응 태스크 시퀀스에, (2) 추가 태스크 시퀀스를 추가하는 처리 수순에 대하여 설명하는 도면이다.
도 27은 태스크 우선도를 고려하여 (1) 기존 차량 대응 태스크 시퀀스에, (2) 추가 태스크 시퀀스를 추가하는 처리 수순에 대하여 설명하는 도면이다.
도 28은 태스크 우선도를 고려하여 (1) 기존 차량 대응 태스크 시퀀스에, (2) 추가 태스크 시퀀스를 추가하는 처리 수순에 대하여 설명하는 도면이다.
도 29는 태스크의 우선도를 고려하여, 기존의 차량 대응 태스크 시퀀스에 새로운 리퀘스트에 기초하는 추가 태스크 시퀀스를 삽입하는 처리 수순에 대하여 설명하는 흐름도를 도시하는 도면이다.
도 30은 태스크 관리 서버의 태스크 관리부가 실행하는 비용 매칭 처리의 구체적 시퀀스에 대하여 설명하는 도면이다.
도 31은 비용 매칭 처리의 구체예에 대하여 설명하는 도면이다.
도 32는 비용 매칭 처리의 구체예에 대하여 설명하는 도면이다.
도 33은 비용 매칭 처리의 구체예에 대하여 설명하는 도면이다.
도 34는 비용 매칭 처리의 구체예에 대하여 설명하는 도면이다.
도 35는 비용 매칭 처리의 구체예에 대하여 설명하는 도면이다.
도 36은 비용 매칭 처리의 구체예에 대하여 설명하는 도면이다.
도 37은 정보 처리 장치의 하드웨어 구성예에 대하여 설명하는 도면이다.
이하, 도면을 참조하면서 본 개시의 정보 처리 장치, 이동 장치, 정보 처리 시스템, 및 방법, 그리고 프로그램의 상세에 대하여 설명한다. 또한, 설명은 이하의 항목에 따라서 행한다.
1. 노드와 노드 간 경로를 사용한 최적 시퀀스의 산출과 문제점에 대해서
2. 본 개시의 정보 처리 시스템과 정보 처리 장치의 구성예에 대해서
3. 태스크 관리 서버의 실행하는 태스크 관리 처리에 대해서
4. 리퀘스트에 기초하는 태스크 시퀀스, 및 차량 대응 태스크 시퀀스의 구체예에 대해서
5. 차량에서 실행 중인 차량 대응 태스크 시퀀스에 신규 리퀘스트에 기초하는 신규 태스크 시퀀스를 추가하여 차량 대응 태스크 시퀀스를 갱신하는 처리의 구체예에 대해서
6. 태스크의 우선도를 고려한 차량 대응 태스크 시퀀스의 갱신 처리의 구체예에 대해서
7. 어느 차량 대응 태스크 시퀀스에 신규 태스크 시퀀스를 추가 삽입할지를 결정하기 위한 비용 매칭 처리의 상세에 대해서
8. 정보 처리 장치의 구성예에 대해서
9. 본 개시의 구성의 마무리
[1. 노드와 노드 간 경로를 사용한 최적 시퀀스의 산출과 문제점에 대해서]
먼저, 도 1 이하를 참조하여, 노드와 노드 간 경로를 사용한 최적 시퀀스의 산출과 문제점에 대하여 설명한다.
앞서 설명한 바와 같이 경로 탐색을 수반하는 처리의 최적화 시스템으로서, 차량 등의 이동 장치의 이동 범위에 복수의 거점(노드)과 각 노드를 접속하는 경로(아크)를 설정한 데이터를 데이터베이스 등의 기억부에 저장하고, 이 데이터(등록 데이터)를 사용하여, 예를 들어 사람이나 짐의 승하차 등의 처리를 행하는 노드를 연결하는 최단 경로를 산출하는 시스템이 알려져 있다.
그러나, 예를 들어, 짐의 배송을 행하는 차량이, 어떤 하나의 처리 시퀀스에 따른 처리, 예를 들어 짐 배송 처리를 실행 중에 새로운 짐의 배송 리퀘스트가 발생하는 경우가 있다. 이러한 경우, 실행 중인 처리 시퀀스를 완료한 후, 새로운 짐의 배송을 개시하면, 처리 효율이 현저하게 저하되는 경우가 있다.
구체예에 대하여 도 1 이하를 참조하여 설명한다. 도 1에는, 미리 데이터베이스(DB)에 등록된 복수의 노드 P1, P2, … P9와, 이들 각 노드 간을 접속하는 경로(아크)를 나타내고 있다. 노드 P1 내지 P9는 위치 정보가 DB에 등록되어 있는 기존의 등록 노드이다.
짐을 배송하는 배송 차량(10)이, 노드 P1에 있어서 짐 a를 차량에 싣고, 짐 배송처인 노드 P9의 목적지 A(11)로 운반하는 태스크가 발생한 경우, 예를 들어 태스크 관리 처리를 실행하는 태스크 관리 서버는, 노드 P1로부터 노드 P9까지의 최단 루트를 계산하고, 짐의 승하차 처리와 이동 처리 등의 복수의 태스크를 포함하는 태스크 시퀀스를 설정한다. 배송 차량(10)은, 이 태스크 시퀀스를 실행한다.
태스크 관리 서버는, 가장 단시간에 처리가 완료되는 태스크 시퀀스를 산출한다. 예를 들어, 도 2에 도시한 바와 같이, 노드 P1에서 짐 a를 싣고, 노드 P4, P7, P8, P9로 이동하고, 노드 P9의 목적지 A(11)에서 짐을 내린다고 하는 태스크 시퀀스이다.
그러나, 배송 차량(10)이 이 태스크 시퀀스를 실행 중에, 새로운 짐의 배송 리퀘스트가 발생하는 경우가 있다. 이러한 경우, 실행 중인 처리 시퀀스를 완료한 후, 새로운 짐의 배송을 개시하면, 처리 효율이 현저하게 저하되는 경우가 있다.
구체예를 도 3에 도시한다.
도 3은, 배송 차량(10)이 짐 a를 노드 P1에서 싣고, 이미 노드 P4로 이동한 상태이다. 이 상태에서, 새로운 짐의 배송 리퀘스트가 발생한다. 노드 P3에서 짐 b를 싣고, 노드 P6의 목적지 B(12)로 보낸다는 리퀘스트이다.
여기서, 배송 차량(10)이, 이미 설정 완료된 태스크 시퀀스, 즉, 도 2를 참조하여 설명한 루트에 따라서 노드 P4, P7, P8, P9로 이동하고, 노드 P9의 목적지 A(11)에서 짐 a를 내린다는 태스크 시퀀스를 종료시킨 후, 노드 P9로부터 노드 P6, P3으로 이동하고, 노드 P3에서 짐 b를 싣고, 노드 P6으로 이동하여 노드 P6의 목적지 B(12)에서 짐 b를 내린다는 처리를 행하면, 전체의 처리 효율이 크게 저하되어버린다.
본 개시의 처리에서는, 이러한 경우, 배송 차량(10)이 실행 중인 태스크 시퀀스에, 추가 태스크 시퀀스를 삽입하는 태스크 시퀀스 갱신 처리를 실행하고, 갱신 후의 태스크 시퀀스를 배송 차량(10)에 실행시킨다.
구체적으로는, 예를 들어 도 4에 도시하는 새로운 갱신 태스크 시퀀스를 생성하여 배송 차량(10)에 실행시킨다.
도 4에 도시하는 태스크 시퀀스는, 노드 P4에 있는 배송 차량(10)이 노드 P5, P2, P3으로 이동하고, 노드 P3에서 짐 b를 싣고, 노드 P6으로 이동하고, 노드 P6의 목적지 B(12)에서 짐 b를 내리고, 또한, 노드 9로 이동하여 노드 P9의 목적지 A(11)에서 짐 a를 내린다는 시퀀스이다.
본 개시의 처리에서는, 이와 같이 차량이 소정의 태스크 시퀀스를 실행 중일지라도, 수시로 새로운 리퀘스트에 따른 신규 태스크가 발생한 경우, 그 신규 태스크를 실행 중인 태스크 시퀀스에 끼워 넣은 새로운 갱신 태스크 시퀀스를 생성하여 차량에 실행시킨다. 이러한 처리를 행함으로써 낭비가 없는 처리를 행하는 것이 가능하게 된다.
[2. 본 개시의 정보 처리 시스템과 정보 처리 장치의 구성예에 대해서]
이어서, 본 개시의 정보 처리 시스템과 정보 처리 장치의 구성예에 대하여 설명한다.
도 5는, 본 개시의 정보 처리 시스템의 일 구성예를 도시하는 도면이다.
정보 처리 시스템은, 최적 태스크 시퀀스의 산출 처리 등을 실행하는 태스크 관리 서버(101)와, 여러 가지 태스크의 리퀘스트, 예를 들어 택시의 이용 등을 행하는 유저의 유저 단말기(102), 또한 실제로 태스크를 실행, 예를 들어 유저를 태우고 이동하는 택시 등의 차량(103)이 네트워크(105)에 의해 접속된 구성을 갖는다.
또한, 이하에 있어서 설명하는 실시예에서는, 이동 장치로서의 차량(103)을 주로 택시, 혹은 짐 배송 차량으로 한 예에 대하여 설명하지만, 본 개시의 이동 장치는, 이들 택시나 짐 배송차에 한하지 않고, 예를 들어 공장이나 오피스에서 이동하는 자주식 로봇, 운전자가 있는 로봇 등, 여러 가지 이동 수단이 포함된다.
또한, 도 5에는, 태스크의 리퀘스트를 입력하고, 태스크 관리 서버(101)에 송신하는 장치의 일례로서 스마트폰에 의해 구성되는 유저 단말기(102)를 나타내고 있지만, 태스크 리퀘스트의 송신 장치는, 태스크 리퀘스트의 입력 처리나 송신이 가능한 단말기이면 되고, 개인용 컴퓨터나 태블릿, 또한, 공장이나 오피스에 비치된 관리 시스템 등의 정보 처리 장치여도 된다.
또한, 이하에 있어서 설명하는 예에서는, 태스크 관리 서버(101)가 태스크 시퀀스의 최적화 처리, 즉 최적 태스크 시퀀스를 결정하는 처리를 행하는 것으로서 설명하지만, 이동 장치인 차량(103)이 이 최적 태스크 시퀀스의 산출을 행하는 구성으로 해도 된다.
이어서, 도 6을 참조하여, 최적 태스크 시퀀스의 산출을 행하는 정보 처리 장치, 즉 본 실시예에서는 태스크 관리 서버(101)의 구성예에 대하여 설명한다.
도 6에 도시하는 바와 같이, 태스크 관리 서버(101)는 리퀘스트 처리부(121), 태스크 관리부(122), 차량 관리부(123), 통신부(124), 리퀘스트 DB(데이터베이스)(131), 태스크 DB(132), 차량 DB(133), 지도 DB(134)를 갖는다.
태스크 관리 서버(101)는 유저 단말기로부터 여러 가지 태스크 리퀘스트를, 통신부(124)를 통하여 수신한다.
리퀘스트 처리부(121)는 유저 단말기로부터 수신한 태스크 리퀘스트의 리퀘스트 내용을 리퀘스트 송신 단말기의 단말기 ID나 리퀘스트 수신 시간 등의 리퀘스트 속성 정보와 함께 리퀘스트 DB(131)에 등록한다. 또한, 유저 단말기로부터는, 리퀘스트의 구체적 내용, 예를 들어, 「현재 위치로부터의 택시 승차」 등의 태스크 리퀘스트에 맞춰서 유저 단말기의 위치 정보나 시간 정보가 송신된다. 이들 처리는, 유저 단말기에서 실행 중인 애플리케이션이 실행한다. 즉 애플리케이션은, 태스크 내용이나 시간 정보, 위치 정보 등을 페이로드로서 저장한 패킷을 생성하여 태스크 관리 서버(101)에 송신한다.
태스크 관리 서버(101)의 태스크 관리부(122)는 리퀘스트 DB(131)에 저장된 리퀘스트에 기초하여, 그 리퀘스트를 실행하기 위한 태스크 시퀀스를 생성한다.
여기서 생성하는 최종적인 태스크 시퀀스는, 어느 차량이 어떤 순번으로 처리를 실행할지를 규정한 차량 단위의 태스크 시퀀스, 즉 차량 대응 태스크 시퀀스이다. 이 태스크 시퀀스의 생성 처리의 구체예에 대해서는, 후단에서 상세하게 설명한다.
또한, 이하에서는 차량을 이용한 실시예에 대하여 설명하기 위해서, 「차량 대응 태스크 시퀀스」로서 설명하지만, 본 개시의 처리는, 차량 이외의 로봇 등, 여러 가지 이동 장치에 적용 가능하며, 이동 장치 단위의 태스크 시퀀스를 「이동 장치 대응 태스크 시퀀스」라고 칭한다.
태스크 관리부(122)가 생성한 태스크 시퀀스는 태스크 DB(132)에 저장된다.
차량 관리부(123)는 태스크의 실행 주체가 되는 차량을 관리한다. 예를 들어 각 차량의 위치 외에, 각 차량에서 실행 중인 태스크 상황 등을 각 차량으로부터 통신부(124)를 통하여 수신하고, 이들 정보를 차량 DB(133)에 저장한다. 또한 이들 정보는, 태스크 관리부(122)에도 제공되고, 태스크 관리부(122)는 이들 정보에 기초하여, 각 차량에 대한 태스크 할당 등의 처리를 행한다.
지도 DB(134)에는, 위치 정보가 대응지어진 지도 데이터 외에, 추가로, 앞서 도 1 내지 도 4를 참조하여 설명한 노드, 경로(아크) 등의 등록 정보가 저장되어 있다.
태스크 관리부(132)는 이 지도 DB(134)에 저장된 노드 정보, 또한 필요에 따라 추가한 노드를 이용하여 최적 태스크 시퀀스를 생성한다.
태스크 관리부(132)가 생성한 최적 태스크 시퀀스는, 이 태스크 시퀀스를 실행하는 차량에 통지되고, 차량은 그 태스크 시퀀스에 따른 처리를 실행한다. 또한, 전술한 바와 같이 태스크 시퀀스에는, 노드 간의 이동(move) 처리 외에, 사람이나 짐의 탑재 처리나 승차 처리(load), 짐의 내리기 처리나 사람의 하차 처리(unload), 또한 대기(wait) 등의 각 처리도 규정된다. 구체적인 태스크 시퀀스에 대해서는 후단에서 상세하게 설명한다.
차량은 태스크의 실행 상황, 완료 정보, 위치 정보 등을 태스크 관리 서버(101)에 송신한다.
태스크 관리부(122)는 이들 차량으로부터의 수신 정보에 따라, 태스크의 진행 상황, 완료 상황을 파악하고, 완료한 태스크나 태스크 시퀀스를 태스크 DB(132)로부터 삭제한다.
[3. 태스크 관리 서버가 실행하는 태스크 관리 처리에 대해서]
이어서, 도 7 이하를 참조하여 태스크 관리 서버(101)가 실행하는 태스크 관리 처리에 대하여 설명한다.
도 7에 도시하는 흐름도는, 태스크 관리 서버(101)가 유저 단말기 등의 리퀘스트 송신 장치로부터 태스크 리퀘스트를 수신했을 때의 처리 시퀀스를 설명하는 흐름도이다.
또한, 이하에 있어서 설명하는 흐름도에 따른 처리는, 예를 들어 태스크 관리 서버(101) 등의 정보 처리 장치의 기억부에 저장된 프로그램에 따라서, 프로그램 실행 기능을 갖는 CPU 등을 갖는 제어부(데이터 처리부)의 제어 하에서 실행된다.
이하, 도 7에 도시하는 플로우의 각 스텝의 처리에 대하여 설명한다.
(스텝 S101)
먼저, 태스크 관리 서버(101)는 스텝 S101에 있어서, 태스크 리퀘스트를 수신한다. 유저 단말기 등의 리퀘스트 송신 장치로부터 통신부(124)를 통하여 태스크 리퀘스트를 수신한다.
태스크 리퀘스트는, 리퀘스트 관리부(121)에 입력되어, 태스크 리퀘스트의 리퀘스트 내용을 리퀘스트 송신 단말기의 단말기 ID나 리퀘스트 수신 시간 등의 리퀘스트 속성 정보와 함께 리퀘스트 DB(131)에 등록된다.
(스텝 S102)
이어서, 스텝 S102에 있어서, 리퀘스트에 기초하는 신규 태스크 시퀀스를 생성한다.
이 처리는, 태스크 관리부(122)가 실행한다.
태스크 관리부(122)는 스텝 S102에 있어서, 스텝 S101에서 수신한 태스크 리퀘스트를, 예를 들어 최소 단위의 태스크 시퀀스로 분할하여 1개 이상의 태스크 시퀀스를 생성한다.
도 8을 참조하여 태스크 관리부(122)가 생성하는 태스크 시퀀스의 구체예에 대하여 설명한다.
도 8의 상단의 표에는, 이하의 3개의 데이터를 나타내고 있다.
(1) 리퀘스트
(2) 태스크 시퀀스
(3) 차량 대응 태스크 시퀀스
(1) 리퀘스트는, 유저 단말기 등의 리퀘스트 송신 단말기로부터 수신한 리퀘스트이다. 여기에서는, 이하의 리퀘스트를 예로서 나타내고 있다.
리퀘스트= 「P1로부터 짐 a, b, c를, 각각, a를 P2, b를 P3, c를 P4로 보낸다」
또한, 실제로는, 예를 들어 유저 단말기로부터 수신하는 리퀘스트에는, P1 내지 P4 등의 노드 식별자는 포함되어 있지 않고, 이 노드 식별자는, 수신 리퀘스트 등으로부터 얻어지는 위치 정보에 기초하여, 리퀘스트 처리부(121), 또는 태스크 관리부(122)가 지도 DB(134)로부터 취득한 노드 식별자이다.
태스크 관리부(122)는 먼저 이 리퀘스트에 따라, 도 7에 도시하는 플로우의 스텝 S102에 있어서 태스크 시퀀스를 생성한다. 스텝 S102에서는, 리퀘스트를 실행하기 위한 1개 이상의 태스크 시퀀스, 예를 들어 1개 이상의 최소 단위의 태스크 시퀀스를 생성한다.
태스크 관리부(122)는
리퀘스트= 「P1로부터 짐 a, b, c를, 각각, a를 P2, b를 P3, c를 P4로 보낸다」
이 리퀘스트를 실행하기 위한 1개 이상의 최소 단위의 태스크 시퀀스로서, 도 8의 (2)에 나타내는 이하의 3개의 태스크 시퀀스를 생성한다.
태스크 시퀀스 1=load(P1, a), move(P2), unload(P2, a)
태스크 시퀀스 2=load(P1, b), move(P2), move(P3), unload(P3, b)
태스크 시퀀스 3=load(P1, c), move(P4), unload(P4, c)
각 태스크 시퀀스는, load(P1, a)나 move(P2) 등의 태스크 요소의 열로서 구성된다.
load(P1, a)는 노드 P1에서 짐 a를 싣는(load)하는 처리를 나타내는 태스크 요소이다.
move(P2)는 현 노드로부터 노드 P2로 이동(move)하는 처리를 나타내는 태스크 요소이다.
unload(P2, a)는 노드 P2에서 짐 a를 내리는(unload)하는 처리를 나타내는 태스크 요소이다.
태스크 요소는, [처리 종류(노드 식별자, 처리 대상)] 이들 구성을 포함하는 데이터이다. 처리 종류에는, 앞서 설명한 바와 같이, 이동(move), 사람이나 짐의 승하차(load), (unload), 또한 대기(wait) 등의 처리 종류가 설정된다.
노드 식별자는, P1, P2 등의 노드의 식별자이다. 이들 노드 식별자에 대응하는 위치 정보는 지도 DB(134)에 기록되어 있다. 미리 지도 DB(134)에 등록되어 있지 않은 추가 노드에 대해서도 축차, 지도 DB(134)에 등록하는 처리가 가능하다.
도 8의 하부의 도면은, 도 8의 상단의 표의 (2) 태스크 시퀀스에 나타내는 3개의 태스크 시퀀스의 구체적인 처리예를 도시한 도면이다.
이 도면으로부터 이해되는 바와 같이, 태스크 시퀀스 1=load(P1, a), move(P2), unload(P2, a)는 노드 P1에서 짐 a를 싣고(load), 노드 P2로 이동(move)하고, 노드 P2에서 짐 a를 내리는(unload) 시퀀스이다.
태스크 시퀀스 2=load(P1, b), move(P2), move(P3), unload(P3, b)는 노드 P1에서 짐 b를 싣고(load), 노드 P2로 이동(move)하고, 또한 노드 P3으로 이동(move)하고, 노드 P3에서 짐 b를 내리는(unload) 시퀀스이다.
태스크 시퀀스 3=load(P1, c), move(P4), unload(P4, c)는 노드 P1에서 짐 c를 싣고(load), 노드 P4로 이동(move)하고, 노드 P4에서 짐 c를 내리는(unload) 시퀀스이다.
도 7에 도시하는 플로우의 스텝 S102에서는, 이와 같이, 태스크 관리부(122)가 수신 리퀘스트에 따라, 리퀘스트를 실행하기 위한 1개 이상의 최소 단위의 태스크 시퀀스를 생성한다.
(스텝 S103)
이어서, 태스크 관리부(122)는 스텝 S103에 있어서, 스텝 S102에서 리퀘스트에 따라서 생성한 신규 태스크 시퀀스를, 차량 대응 시퀀스로 변환한다.
이것은, 스텝 S102에서 생성한 신규 태스크 시퀀스를, 실제로 실행할 차량 단위의 태스크 시퀀스, 즉 차량 대응 태스크 시퀀스로 변환하는 처리이다.
또한, 이미 차량이 다른 차량 대응 태스크 시퀀스를 실행 중인 경우도 있고, 이러한 경우에는, 그 실행 중인 차량 대응 시퀀스에, 신규 태스크 시퀀스에 기초하는 신규 차량 대응 시퀀스를 추가하여, 기존의 차량 대응 시퀀스를 갱신하는 처리를 행하게 된다.
이 차량 대응 태스크 시퀀스의 생성이나 갱신 처리 시에는, 각 차량의 현재 위치나, 각 차량에 있어서 실행 중인 태스크 등을 고려하여, 가장 저비용으로 신규 태스크 시퀀스를 실행 가능한 차량을 선택하여 실행한다. 혹은 태스크의 우선도를 고려하여 실행한다.
이 비용에 기초하는 차량 대응 태스크 시퀀스의 구체적인 처리, 즉 비용 매칭 처리나 우선도에 기초하는 시퀀스 생성 처리에 대해서는 후단에서 상세하게 설명한다.
태스크 관리부(122)가 스텝 S103에 있어서 생성하는 차량 대응 태스크 시퀀스의 구체예에 대해서, 도 9를 참조하여 설명한다.
도 9의 상단의 표는, 도 8에 도시하는 것과 마찬가지로, 이하의 3개의 데이터를 나타내고 있다.
(1) 리퀘스트
(2) 태스크 시퀀스
(3) 차량 대응 태스크 시퀀스
도 9의 하부의 도면은, (3) 차량 대응 태스크 시퀀스에 나타내는 2개의 차량 대응 태스크 시퀀스, 즉 차량 1, 차량 2의 차량 대응 태스크 시퀀스의 상세를 도시한 도면이다.
도 9의 상단의 표에 나타내는 (1) 리퀘스트는, 도 8을 참조하여 설명한 리퀘스트와 동일하고, 유저 단말기 등의 리퀘스트 송신 단말기로부터 수신한 리퀘스트이다. 여기에서는, 이하의 리퀘스트를 예로서 나타내고 있다.
리퀘스트= 「P1로부터 짐 a, b, c를, 각각, a를 P2, b를 P3, c를 P4로 보낸다」
도 9의 상단의 표에 나타내는 (2) 태스크 시퀀스는, 앞서 도 8을 참조하여 설명한 태스크 시퀀스이며, (1) 리퀘스트에 기초하여 생성된 이하의 3개의 태스크 시퀀스이다.
태스크 시퀀스 1=load(P1, a), move(P2), unload(P2, a)
태스크 시퀀스 2=load(P1, b), move(P2), move(P3), unload(P3, b)
태스크 시퀀스 3=load(P1, c), move(P4), unload(P4, c)
도 7에 도시하는 플로우의 스텝 S103에서는, 이 3개의 태스크 시퀀스를 예를 들어 최소 비용으로 실행할 수 있는 차량에 할당하여, 그 차량이 실행해야 할 태스크열을 나타내는 차량 대응 태스크 시퀀스를 생성한다.
이 결과가, 도 9의 (3) 차량 대응 태스크 시퀀스에 나타내는 2개의 차량 대응 시퀀스이다. 즉 이하의 2개의 차량 대응 태스크 시퀀스이다.
차량 1 대응 태스크 시퀀스=move(P1), load(P1, a), load(P1, b), move(P2), unload(P2, a), move(P3), unload(P3, b)
차량 2 대응 태스크 시퀀스=load(P1, c), move(P4), unload(P4, c)
도 9의 하부의 도면은, 이들 차량 대응 태스크 시퀀스의 구체적인 처리예를 도시한 도면이다.
이 도면으로부터 이해되는 바와 같이, 차량 1 대응 태스크 시퀀스=move(P1), load(P1, a), load(P1, b), move(P2), unload(P2, a), move(P3), unload(P3, b)는 차량 1이, 먼저, 노드 P1로 이동(move)하고, 노드 P1에서 짐 a와 b를 싣고(load), 노드 P2로 이동(move)하고, 노드 P2에서 짐 a를 내리고(unload), 또한 노드 P3으로 이동(move)하고, 노드 P3에서 짐 b를 내리는(unload) 시퀀스이다.
또한 차량 A는, 태스크 의뢰 시에 노드 P1에 없기 때문에, 태스크 시퀀스의 최초의 태스크 요소가 노드 P1로의 이동[move(P1)]으로 설정되어 있다.
차량 2 대응 태스크 시퀀스=load(P1, c), move(P4), unload(P4, c)는 노드 P1에서 짐 c를 싣고(load), 노드 P4로 이동(move)하고, 노드 P4에서 짐 c를 내리는(unload) 시퀀스이다.
도 7에 도시하는 플로우의 스텝 S103에서는, 이와 같이, 태스크 관리부(122)가 스텝 S102에서 생성한 태스크 시퀀스를, 차량 단위의 태스크 시퀀스, 즉 차량 대응 태스크 시퀀스로 변환한다.
이 변환 처리 시에는, 가장 효율적인 처리가 가능하게 되는 차량의 선택과 처리 시퀀스의 설정이 실행된다. 구체적으로는 비용이나 태스크 우선도를 고려한 시퀀스 생성 처리를 행한다. 이 비용에 기초하는 차량 대응 태스크 시퀀스의 구체적인 처리, 즉 비용 매칭 처리나 우선도에 기초하는 시퀀스 생성 처리에 대해서는 후단에서 상세하게 설명한다.
이어서, 도 10에 도시하는 플로우를 참조하여, 앞서 도 7에 도시하는 흐름도를 참조하여 설명한 스텝 S103의 처리의 상세 시퀀스에 대하여 설명한다.
앞서 도 7을 참조하여 설명한 바와 같이, 태스크 관리부(122)는 스텝 S103에 있어서, 스텝 S102에서 리퀘스트에 따라서 생성한 신규 태스크 시퀀스를, 차량 대응 시퀀스로 변환한다.
이것은, 스텝 S102에서 생성한 신규 태스크 시퀀스를, 실제로 실행할 차량 단위의 태스크 시퀀스, 즉 차량 대응 태스크 시퀀스로 변환하는 처리이다. 도 10에 도시하는 플로우는, 이 스텝 S103의 상세 시퀀스에 상당한다. 도 10에 도시하는 플로우의 각 스텝의 처리에 대하여 설명한다.
(스텝 S121)
먼저, 태스크 관리부(122)는 스텝 S121에 있어서, 각 차량에 설정 완료된 복수의 기존의 차량 대응 태스크 시퀀스를 취득한다.
각 차량에 설정 완료된 기존의 차량 대응 태스크 시퀀스는, 태스크 DB(132)에 저장되어 있고, 태스크 관리부(122)는 태스크 DB(132)로부터 각 차량에 설정 완료된 복수의 기존의 차량 대응 태스크 시퀀스를 취득한다.
(스텝 S122)
이어서, 태스크 관리부(122)는 스텝 S122에 있어서, 취득한 복수의 기존 차량 대응 태스크 시퀀스 각각에 신규 태스크 시퀀스를 삽입한 경우의 비용을 산출한다.
(스텝 S123)
이어서, 태스크 관리부(122)는 스텝 S123에 있어서, 최소 비용이 되는 하나의 기존 차량 대응 태스크 시퀀스에 신규 태스크 시퀀스를 삽입하여, 기존 차량 대응 태스크 시퀀스를 갱신한다.
또한, 경우에 따라서는, 기존의 차량 대응 태스크 시퀀스에 대한 신규 태스크 시퀀스의 삽입을 행하지 않고, 신규 태스크 시퀀스에 기초하는 신규 차량 대응 태스크 시퀀스를 생성하는 경우도 있다.
어떤 차량 대응 태스크 시퀀스를 생성할지에 대해서는, 비용, 혹은 태스크의 우선도에 따라서 결정한다.
이 비용에 기초하는 차량 대응 태스크 시퀀스의 구체적인 처리, 즉 비용 매칭 처리나 우선도에 기초하는 시퀀스 생성 처리에 대해서는 후단에서 상세하게 설명한다.
도 11은, 차량 대응 태스크 시퀀스를 실행하는 차량으로부터의 태스크 완료 통지를 수신했을 때의 태스크 관리 서버(101)의 처리 시퀀스를 설명하는 흐름도이다.
플로우에 나타내는 각 스텝의 처리에 대해서, 순차, 설명한다.
(스텝 S151)
먼저, 태스크 관리 서버(101)는 스텝 S151에 있어서, 차량 대응 태스크 시퀀스를 실행하는 차량으로부터의 태스크 완료 통지를 수신한다.
(스텝 S152)
이어서, 태스크 관리 서버(101)의 태스크 관리부(122)는 스텝 S152에 있어서, 완료 보고가 있었던 태스크를 태스크 DB(132)에 등록된 차량 대응 태스크 시퀀스로부터 삭제한다.
(스텝 S153)
이어서, 태스크 관리 서버(101)의 태스크 관리부(122)는 스텝 S153에 있어서, 새로운 차량 대응 태스크 시퀀스의 발생에 기초하여 새로운 차량 대응 태스크 시퀀스의 실행을 차량에 통지한다.
이러한 처리에 의해 태스크 관리 서버(101)와 태스크 실행 주체인 차량 간의 통신이 행하여져, 리퀘스트에 따른 태스크가 순차 실행된다.
또한, 태스크 관리 서버(101)는 오퍼레이터에 의한 조작이 가능한 입력부나, 태스크 상황을 확인 가능한 표시부 등의 출력부를 구비하고 있다.
태스크 관리 서버(101)의 표시부의 표시예를 도 12에 도시한다.
도 12에 도시하는 예는, 태스크 관리 서버(101)의 표시부에 표시되는 표시 데이터의 일례이다.
태스크 관리 서버(101)의 표시부에는, 각 차량의 현재의 정보가 실시간으로 표시된다. 표시부에는, 각 차량의 움직임이 애니메이션으로 표시되고, 현재 실행 중인 태스크가 표시된다. 또한, 차량을 지정하면(커서를 맞추면), 차량이 현재 실행 중인 태스크 시퀀스를 확인할 수 있다.
[4. 리퀘스트에 기초하는 태스크 시퀀스, 및 차량 대응 태스크 시퀀스의 구체예에 대해서]
이어서, 태스크 관리 서버(101)가 리퀘스트에 기초하여 생성하는 태스크 시퀀스, 및 차량 대응 태스크 시퀀스의 구체예에 대하여 설명한다.
도 13 이하를 참조하여 이하의 3개의 구체예에 대해서 순차 설명한다.
(케이스 1) 짐 배송 차량을 이용한 짐 배송의 예
리퀘스트=짐의 배송(집하 위치 집중(load 집중), 배송처 산재(unload 산재), 순회 없음)
(케이스 2) 택시를 이용한 예
리퀘스트=순회와 배차(승차 위치 산재(load 산재), 하차 위치 산재(unload 산재), 순회, 호출 있음)
(케이스 3) 오피스 등의 플로어 내를 순회하는 상품 판매 로봇의 예
리퀘스트=순회와 배차(순회를 실행하고, 호출에 대응(load, unload 없음))
먼저, 도 13을 참조하여,
(케이스 1) 짐 배송 차량을 이용한 짐 배송의 예에 대하여 설명한다.
리퀘스트는 짐의 배송이다.
집하 위치가 집중(load 집중)되고, 배송처가 산재(unload 산재)되어 있는 예이며, 차량은, 각 노드를 순회하는 처리는 행하고 있지 않은 경우의 처리예이다.
도 13에는, 이하의 3개의 데이터를 나타내고 있다.
(1) 리퀘스트
(2) 태스크 시퀀스
(3) 차량 대응 태스크 시퀀스
(1) 리퀘스트는, 예를 들어 유저 단말기 등의 리퀘스트 송신 단말기로부터 수신한 리퀘스트이다. 여기에서는, 리퀘스트는 이하의 리퀘스트이다.
리퀘스트= 「P1로부터 짐 a, b, c를, 각각, a를 P2, b를 P3, c를 P4로 보낸다」
또한, 전술한 바와 같이, 실제로는, 예를 들어 유저 단말기로부터 수신하는 리퀘스트에는, P1 내지 P4 등의 노드 식별자는 포함되어 있지 않다. 노드 식별자는, 수신 리퀘스트 등으로부터 얻어지는 위치 정보에 기초하여, 리퀘스트 처리부(121), 또는 태스크 관리부(122)가 지도 DB(134)로부터 취득한 노드 식별자이다.
태스크 관리 서버(101)의 태스크 관리부(122)는 이 리퀘스트에 따라, 리퀘스트를 실행하기 위한 1개 이상의 최소 단위의 태스크 시퀀스를 생성한다.
도 13의 (2)에 나타내는 이하의 3개의 태스크 시퀀스를 생성한다.
태스크 시퀀스 1=load(P1, a), move(P2), unload(P2, a)
태스크 시퀀스 2=load(P1, b), move(P2), move(P3), unload(P3, b)
태스크 시퀀스 3=load(P1, c), move(P4), unload(P4, c)
태스크 시퀀스 1=load(P1, a), move(P2), unload(P2, a)는 노드 P1에서 짐 a를 싣고(load), 노드 P2로 이동(move)하고, 노드 P2에서 짐 a를 내리는(unload) 시퀀스이다.
태스크 시퀀스 2=load(P1, b), move(P2), move(P3), unload(P3, b)는 노드 P1에서 짐 b를 싣고(load), 노드 P2로 이동(move)하고, 또한 노드 P3으로 이동(move)하고, 노드 P3에서 짐 b를 내리는(unload) 시퀀스이다.
태스크 시퀀스 3=load(P1, c), move(P4), unload(P4, c)는 노드 P1에서 짐 c를 싣고(load), 노드 P4로 이동(move)하고, 노드 P4에서 짐 c를 내리는(unload) 시퀀스이다.
또한, 태스크 관리 서버(101)의 태스크 관리부(122)는 이 3개의 태스크 시퀀스를 최소 비용으로 실행할 수 있는 차량에 할당하여, 그 차량이 실행해야 할 태스크열을 나타내는 차량 대응 태스크 시퀀스를 생성한다.
이 결과가, 도 13의 (3) 차량 대응 태스크 시퀀스에 나타내는 이하의 2개의 차량 대응 태스크 시퀀스이다.
차량 1 대응 태스크 시퀀스=move(P1), load(P1, a), load(P1, b), move(P2), unload(P2, a), move(P3), unload(P3, b)
차량 2 대응 태스크 시퀀스=load(P1, c), move(P4), unload(P4, c)
차량 1 대응 태스크 시퀀스=move(P1), load(P1, a), load(P1, b), move(P2), unload(P2, a), move(P3), unload(P3, b)는 차량 1이, 먼저, 노드 P1로 이동(move)하고, 노드 P1에서 짐 a와 b를 싣고(load), 노드 P2로 이동(move)하고, 노드 P2에서 짐 a를 내리고(unload), 또한 노드 P3으로 이동(move)하고, 노드 P3에서 짐 b를 내리는(unload) 시퀀스이다.
또한 차량 A는, 태스크 의뢰 시에 노드 P1에 없기 때문에, 태스크 시퀀스의 최초의 태스크 요소가 노드 P1로의 이동[move(P1)]으로 설정되어 있다.
차량 2 대응 태스크 시퀀스=load(P1, c), move(P4), unload(P4, c)는 노드 P1에서 짐 c를 싣고(load), 노드 P4로 이동(move)하고, 노드 P4에서 짐 c를 내리는(unload) 시퀀스이다.
태스크 관리 서버(101)는 이와 같이, 리퀘스트에 기초하여 태스크 시퀀스를 생성하고, 또한 생성한 태스크 시퀀스에 기초하여, 각 차량에 실행시킬 태스크 시퀀스인 차량 대응 태스크 시퀀스를 생성한다.
이어서, 도 14를 참조하여,
(케이스 2) 택시를 이용한 예에 대하여 설명한다.
리퀘스트는 순회와 배차이다.
승차 위치가 산재(load 산재)하고, 하차 위치도 산재(unload 산재)하고, 순회가 있고, 호출도 있는 경우의 처리예이다.
도 14에는, 도 13과 마찬가지로, 이하의 3개의 데이터를 나타내고 있다.
(1) 리퀘스트
(2) 태스크 시퀀스
(3) 차량 대응 태스크 시퀀스
(1) 리퀘스트는, 여기에서는, 미리 결정된 「순회」와, 예를 들어 유저 단말기 등의 리퀘스트 송신 단말기로부터 수신한 리퀘스트로서의 「배차」이다. 여기에서는, 「배차」 리퀘스트는 이하의 리퀘스트이다.
리퀘스트= 「P1로부터 a를 승차시키고, P2에서 하차시킨다」
또한, 전술한 바와 같이, 실제로는, 예를 들어 유저 단말기로부터 수신하는 리퀘스트에는, P1 등의 노드 식별자는 포함되어 있지 않다. 노드 식별자는, 수신 리퀘스트 등으로부터 얻어지는 위치 정보에 기초하여, 리퀘스트 처리부(121), 또는 태스크 관리부(122)가 지도 DB(134)로부터 취득한 노드 식별자이다.
태스크 관리 서버(101)의 태스크 관리부(122)는 이 리퀘스트에 따라, 리퀘스트를 실행하기 위한 1개 이상의 최소 단위의 태스크 시퀀스를 생성한다.
도 14의 (2)에 나타내는 이하의 2개의 태스크 시퀀스를 생성한다.
태스크 시퀀스 1(순회 대응)=move(P1), move(P2), ··move(P20), move(P1)
태스크 시퀀스 2(배차 대응)=load(P1, a), move(P2), unload(P2, a)
태스크 시퀀스 1(순회 대응)=move(P1), move(P2), ··move(P20), move(P1)는 노드 P1부터 노드 P20까지를 순번으로 이동하는 순회를 행하는 태스크 시퀀스이다.
태스크 시퀀스 2(배차 대응)=load(P1, a), move(P2), unload(P2, a)는 노드 P1에서 손님 a를 승차시키고(load), 노드 P2로 이동(move)하고, 노드 P2에서 손님 a를 하차시키는(unload) 시퀀스이다.
또한, 태스크 관리 서버(101)의 태스크 관리부(122)는 이 2개의 태스크 시퀀스를 최소 비용으로 실행할 수 있는 차량에 할당하여, 그 차량이 실행해야 할 태스크열을 나타내는 차량 대응 태스크 시퀀스를 생성한다.
이 결과가, 도 14의 (3) 차량 대응 태스크 시퀀스에 나타내는 이하의 2개의 차량 대응 태스크 시퀀스이다.
차량 1 대응 태스크 시퀀스=move(P1), load(P1, a), move(P2), unload(P2, a), move(P3), move(P4), …
차량 2 대응 태스크 시퀀스=move(P11), move(P12), …
도 15를 참조하여, 이 2개의 차량 대응 태스크 시퀀스에 대하여 설명한다. 도 15의 하부에 도시하는 바와 같이, 차량 1, 차량 2가 양쪽 모두 순회 중이었지만, 배차 태스크(태스크 시퀀스 2)가 발생했기 때문에, 이, 배차 태스크(태스크 시퀀스 2)를 어느 차량의 차량 대응 태스크 시퀀스에 삽입할 필요가 있게 된다.
차량 1은, 현재 P6에 있고, 순회 태스크에 따라서 P7로 이동을 개시하기 전의 상태이다. 한편, 차량 2는 P11에 있고, 순회 태스크에 따라서 P12로 이동을 개시하기 전의 상태이다.
차량 1의 현재 위치(P6)가, P1에서 손님 a를 태우기 위해서는 거리가 가까워, 배차 태스크의 실행에 요하는 비용이 낮기 때문에, 차량 1 대응 태스크 시퀀스에, 배차 대응의 태스크 시퀀스를 삽입한다.
이 결과, 도 15의 상단의 표에 나타내는 차량 1 대응 태스크 시퀀스=move(P1), load(P1, a), move(P2), unload(P2, a), move(P3), move(P4), …이 생성된다.
도 15 하단에 도시하는 바와 같이, 차량 1은, 순회 태스크의 다음 태스크 요소 move(P7)을 중지하고, 배차의 태스크 시퀀스, 즉, 태스크 시퀀스=move(P1), load(P1, a), move(P2), unload(P2, a)를 실행한다. 그 후에는 P2로부터 순회 태스크로 되돌아 가서, P3으로의 이동을 개시한다.
한편, 배차 태스크를 실행하지 않는 차량 2는, 순회 태스크를 계속하여 실행한다.
이렇게 본 처리예는, 차량 1이,
차량 1 대응 태스크 시퀀스=move(P1), load(P1, a), move(P2), unload(P2, a), move(P3), move(P4), …은, 차량 1이 순회 중이었는데, 여기에,
태스크 시퀀스 2(배차 대응)=load(P1, a), move(P2), unload(P2, a)
를 삽입하여, 차량 대응 태스크 시퀀스를 갱신하여 생성한 새로운 차량 대응 태스크 시퀀스를 차량 1이 실행하는 것이다.
이 시퀀스는, 차량 1이 순회 도중에 노드 P1로 이동(move) 후, 노드 P1에서 손님 a를 승차시키고(load), 노드 P2로 이동(move)하고, 노드 P2에서 손님 a를 하차시키고(unload), 그 후에는 순회 처리로 복귀하는 시퀀스이다.
태스크 관리 서버(101)는 이와 같이, 리퀘스트에 기초하여 태스크 시퀀스를 생성하고, 또한 생성한 태스크 시퀀스에 기초하여, 각 차량에 실행시킬 태스크 시퀀스인 차량 대응 태스크 시퀀스를 생성한다.
이어서, 도 16을 참조하여,
(케이스 3) 오피스 등의 플로어 내를 순회하는 상품 판매 로봇의 예에 대하여 설명한다.
리퀘스트는, 순회와 배차이며, 통상 시에는 순회를 실행하고, 축차, 발생하는 호출에 대응하여 호출 지점을 향하는 처리예이다.
도 16의 상단은, 호출 발생 전의 통상 순회 처리 실행 중인 데이터, 하단은, 호출 발생 후의 데이터이며, 각각, 이하의 3개의 데이터를 나타내고 있다.
(1) 리퀘스트
(2) 태스크 시퀀스
(3) 차량 대응 태스크 시퀀스
도 16의 상단의 표에 나타내는 호출 발생 전의 통상 순회 처리 실행 중인 (1) 리퀘스트는, 「모든 지점의 평등하게 순회」이며, 태스크 관리 서버(101)의 태스크 관리부(122)는 이 리퀘스트에 따라, 도 16의 상단의 표의 (2)에 나타내는 이하의 태스크 시퀀스를 생성한다.
태스크 시퀀스 1(순회 대응)=move(P1), move(P2), ··move(P20), move(P1)
태스크 시퀀스 1(순회 대응)=move(P1), move(P2), ··move(P20), move(P1)는 노드 P1로부터 노드 P20까지를 순번으로 이동하는 순회를 행하는 태스크 시퀀스이다.
또한, 태스크 관리 서버(101)의 태스크 관리부(122)는 이 태스크 시퀀스를 차량에 할당하여, 그 차량이 실행해야 할 태스크열을 나타내는 차량 대응 태스크 시퀀스를 생성한다.
이 결과가, 도 16의 상단의 표의 (3) 차량 대응 태스크 시퀀스에 나타내는 이하의 차량 대응 태스크 시퀀스이다.
차량 1 대응 태스크 시퀀스=move(P2), move(P3), move(P4), …
차량 1이 이 차량 1 대응 태스크 시퀀스를 실행 중에, 태스크 관리 서버는 이하의 리퀘스트를 수신한다.
리퀘스트=지점 P13으로부터의 호출
태스크 관리 서버(101)의 태스크 관리부(122)는 이 리퀘스트에 따라, 도 16의 하단의 표의 (2)에 나타내는 이하의 태스크 시퀀스를 생성한다.
태스크 시퀀스 2(호출 대응)=move(P13)
또한, 태스크 관리 서버(101)의 태스크 관리부(122)는 이 태스크 시퀀스 2을 차량에 할당하여, 그 차량이 실행해야 할 태스크열을 나타내는 차량 대응 태스크 시퀀스를 생성한다.
이 결과가, 도 16의 하단의 표의 (3) 차량 대응 태스크 시퀀스에 나타내는 이하의 차량 대응 태스크 시퀀스이다.
차량 1 대응 태스크 시퀀스=move(Px), move(Py), …, move(P13), …
Px, Py, 순회 실행 중인 차량 1의 현재지에 기초하여 결정되는 위치이며, 차량 1의 현재지부터 P13까지의 최단 루트의 이동 경로에 기초하여 결정된다.
도 17을 참조하여, 이 차량 대응 태스크 시퀀스에 대하여 설명한다. 도 17의 하부에 도시하는 바와 같이, 차량 12가 순회 중이며, 현재지가 P1이며, P2 내지 P3 내지 P4의 순으로 순회 예정이었던 것으로 한다.
이 시점의 차량 대응 태스크 시퀀스는, 도 17의 상단(3a)에 나타내는 바와 같이,
차량 1 대응 태스크 시퀀스=move(P2), move(P3), move(P4), …
이 차량 1 대응 태스크 시퀀스이다.
차량 1이 이 차량 1 대응 태스크 시퀀스를 실행 중에, 태스크 관리 서버는 이하의 리퀘스트를 수신한다.
리퀘스트=지점 P13으로부터의 호출
태스크 관리 서버(101)의 태스크 관리부(122)는 이 리퀘스트에 따라, 상기 차량 1 대응 태스크 시퀀스에, 상기 호출 처리의 태스크를 실행하기 위한 태스크 시퀀스를 삽입하여 갱신된 차량 1 대응 태스크 시퀀스를 생성한다.
이 결과가, 도 17 상단의 (3b) 차량 대응 태스크 시퀀스에 나타내는 이하의 차량 대응 태스크 시퀀스이다.
차량 1 대응 태스크 시퀀스=move(P2), move(P7), move(P8), move(P13), move(P14), …
이 차량 대응 태스크 시퀀스 중의 move(P2), move(P7), move(P8), move(P13)는 순회 실행 중인 차량 1의 현재지 P1부터 P13까지의 최단 루트의 경로 이동을 행하기 위한 요소이다.
이와 같이, 태스크 관리 서버(101)는 새로운 리퀘스트에 따라, 바로 태스크 시퀀스를 생성하고, 또한 생성한 태스크 시퀀스에 기초하여, 각 차량에 실행시킬 태스크 시퀀스인 차량 대응 태스크 시퀀스를 생성한다.
[5. 차량에서 실행 중인 차량 대응 태스크 시퀀스에 신규 리퀘스트에 기초하는 신규 태스크 시퀀스를 추가하여 차량 대응 태스크 시퀀스를 갱신하는 처리의 구체예에 대해서]
이어서, 도 18 이하를 참조하여, 차량에서 실행 중인 차량 대응 태스크 시퀀스에 신규 리퀘스트에 기초하는 신규 태스크 시퀀스를 추가하여 차량 대응 태스크 시퀀스를 갱신하는 처리의 구체예에 대하여 설명한다.
도 18에는, 이하의 각 데이터를 나타내고 있다.
(1) 기존 차량 대응 태스크 시퀀스
(2) 추가 태스크 시퀀스
(1) 기존 차량 대응 태스크 시퀀스는, 차량 1이 현재 실행 중인 차량 대응 필 시퀀스이다.
(2) 추가 태스크 시퀀스는, 새로운 리퀘스트에 기초하여 생성된 태스크 시퀀스이며, 태스크 관리 서버(101)의 태스크 관리부(122)는, 이 (2) 추가 태스크 시퀀스를 (1) 기존 차량 대응 태스크 시퀀스에 삽입하는 처리를 행한다.
도 18 이하를 참조하여, 기존 차량 대응 태스크 시퀀스에 추가 태스크 시퀀스를 추가하는 처리, 즉 차량 대응 태스크 시퀀스의 갱신 처리 수순에 대하여 설명한다. 또한, 갱신 과정에 있어서, 기존 차량 대응 태스크 시퀀스와, 추가 태스크 시퀀스의 태스크 요소는 순차 변경된다. 여기에서는, 각 시퀀스의 갱신 과정의 데이터도 포함하고, 도면에 도시하는 바와 같이,
(1) 기존 차량 대응 태스크 시퀀스=태스크 시퀀스 A
(2) 추가 태스크 시퀀스=태스크 시퀀스 B
상기 설정으로서 설명한다.
각 태스크 시퀀스는, 도 18에 도시하는 바와 같이 이하의 시퀀스이다.
(1) 기존 차량 대응 태스크 시퀀스=load(P1, 짐 1), move(P6), move(P7), move(P8), move(P13), unload(P13, 짐 1)
(2) 추가 태스크 시퀀스=load(P1, 짐 2), move(P2). move(P3). move(P4), move(P9), move(P10), unload(P10, 짐 2)
(1) 기존 차량 대응 태스크 시퀀스는, P1에서 짐 1을 싣고(load), P6, P7, P8, P13으로 이동하고, P13에서 짐 1을 내리는(unload)하는 태스크 시퀀스이다.
(2) 추가 태스크 시퀀스는, P1에서 짐 2를 싣고(load), P2, P3, P4, P9, P10로 이동하고, P10에서 짐 2를 내리는(unload)하는 태스크 시퀀스이다.
이 (1) 기존 차량 대응 태스크 시퀀스에, (2) 추가 태스크 시퀀스를 추가하는 처리 수순에 대해서, 도 19 이하를 참조하여 설명한다.
먼저, 도 19의 스텝 S201에 도시하는 바와 같이, 추가 태스크 시퀀스로부터, move 태스크 요소(이동 태스크 요소)를 삭제한다. 이 처리에 의해, (2) 추가 태스크 시퀀스는, 이하와 같이 변경된다.
(2) 추가 태스크 시퀀스=load(P1, 짐 2), unload(P10, 짐 2)
이어서, 도 20의 스텝 S202에 도시하는 바와 같이, 추가 태스크 시퀀스의 선두 요소로부터 순서대로, 요소의 위치(Pn)와 일치하는 위치를 갖는 요소를, 기존 차량 태스크 시퀀스의 선두 요소로부터 순서대로 검색하고, 위치가 일치하는 요소 뒤에 추가 태스크 시퀀스의 요소를 삽입한다.
또한, 삽입한 태스크 요소는, (2) 추가 태스크 시퀀스로부터 삭제한다.
먼저, 추가 태스크 시퀀스의 선두 요소 load(P1, 짐 2)의 위치(P1)와 일치하는 위치를 갖는 기존 차량 태스크 시퀀스의 요소는, 기존 차량 태스크 시퀀스의 선두 요소 load(P1, 짐 1)이다.
따라서, 추가 태스크 시퀀스의 선두 요소 load(P1, 짐 2)를 기존 차량 태스크 시퀀스의 선두 요소 load(P1, 짐 1)의 뒤에 삽입한다.
이 처리의 결과, 도 20의 하단의 표에 나타내는 바와 같이, (1) 기존 차량 대응 태스크 시퀀스와, (2) 추가 태스크 시퀀스는, 이하와 같이 변경된다.
(1) 기존 차량 대응 태스크 시퀀스=load(P1, 짐 1), load(P1, 짐 2), move(P6), move(P7), move(P8), move(P13), unload(P13, 짐 1)
(2) 추가 태스크 시퀀스=unload(P10, 짐 2)
또한, 이 스텝 S202의 처리는, 추가 태스크 시퀀스에 포함되는 태스크 요소의 모두에 대해서, 순차 실행한다. 이 처리에 있어서, 추가 태스크 시퀀스에 포함되는 요소가 없어진 경우에는 처리를 종료한다. 태스크 요소가 남아 있는 경우에는, 도 21에 도시하는 스텝 S203의 처리를 실행한다.
추가 태스크 시퀀스에 태스크 요소가 남아 있는 경우, 이어서, 도 21의 스텝 S203에 나타내는 처리를 행한다. 즉, 추가 태스크 시퀀스의 요소의 위치(Pn)와 일치하는 위치를 갖는 요소가 기존 차량 태스크 시퀀스 중에 없는 경우, 기존 차량 태스크 시퀀스의 최종 요소 뒤에, 필요 경로를 추가하여, 추가 태스크 시퀀스의 요소를 삽입한다.
추가 태스크 시퀀스의 선두 요소 unload(P10, 짐 2)의 위치(P10)와 일치하는 위치를 갖는 기존 차량 태스크 시퀀스의 요소는 없다. 따라서, 이 추가 태스크 시퀀스의 선두 요소 unload(P10, 짐 2)를 기존 차량 태스크 시퀀스의 최종 요소 뒤에, 필요 경로를 추가하여 마지막에 이 태스크 요소를 삽입한다.
이 처리의 결과, 도 21의 하단의 표에 나타내는 바와 같이, (1) 기존 차량 대응 태스크 시퀀스와, (2) 추가 태스크 시퀀스는, 이하와 같이 변경된다.
(1) 기존 차량 대응 태스크 시퀀스(갱신 완료)=load(P1, 짐 1), load(P1, 짐 2), move(P6), move(P7), move(P8), move(P13), unload(P13, 짐 1), move(P14), move(P15), move(P10), unload(P10, 짐 2)
(2) 추가 태스크 시퀀스=없음
또한, 상기 갱신 완료 후의 양쪽 대응 태스크 시퀀스 중,
태스크 요소=unload(P13, 짐 1)
이 후의 태스크 요소=move(P14), move(P15), move(P10), unload(P10, 짐 2)
이들이 추가된 요소이며, 이 요소 중, move(P14), move(P15), move(P10), 이들이 필요 경로로서 추가된 요소이며, unload(P10, 짐 2)가 원래의 추가 태스크 시퀀스 중에 남아 있었던 요소이다.
이 결과로서, 도 22에 도시하는 바와 같이 최종적인 갱신된 차량 대응 태스크 시퀀스가 완성된다. 이 갱신된 차량 대응 태스크 시퀀스는, 도 22의 하단 맵에 도시하는 바와 같이, P1에서 짐 1, 2를 싣고 P6, P7, P8, P13으로 이동하고, P13에서 짐 1, 2를 내리고(unload), 또한 P14, P15, P10으로 이동하고, P10에서 짐 2를 내린다고(unload) 하는 태스크 시퀀스가 된다.
이 갱신 태스크 시퀀스는, 원래의 기존의 차량 대응 태스크 시퀀스와 신규 추가 태스크 시퀀스를 아울러 실행하는 것이 가능한 태스크 시퀀스이다.
도 18 내지 도 22를 참조하여 설명한 처리, 즉 기존의 차량 대응 태스크 시퀀스에 새로운 리퀘스트에 기초하는 추가 태스크 시퀀스를 삽입하는 처리 수순에 대해서, 도 23에 도시하는 흐름도를 참조하여 설명한다.
도 23에 도시하는 흐름도는, 태스크 관리 서버(101)의 태스크 관리부(122)에 있어서 실행된다.
또한, 도 23에 도시하는 플로우에 있어서,
A=기존 차량 대응 태스크 시퀀스,
B=추가 태스크 시퀀스
이며, A=기존 차량 대응 태스크 시퀀스의 태스크 요소를 선두로부터 a1, a2, a3, … an, B=추가 태스크 시퀀스의 태스크 요소를 선두로부터 b1, b2, b3, … bm으로 한다.
이하, 플로우의 각 스텝의 처리에 대하여 설명한다.
(스텝 S301)
먼저, 스텝 S301에 있어서, 추가 태스크 시퀀스 B의 태스크 요소로부터 move 태스크 요소(이동 태스크 요소)를 모두 삭제한다.
이 삭제 후의 태스크 시퀀스 B의 태스크 요소를 b1, b2, … bl로 한다.
이 처리는, 앞서 도 19를 참조하여 설명한 처리에 상당한다.
(스텝 S302 내지 S303)
이어서, 스텝 S302에 있어서,
i=1, j=1,
스텝 S303에 있어서,
t=ai로 한다. 즉, t를 A=기존 차량 대응 태스크 시퀀스의 선두에서부터 순서대로 선택하는 태스크 요소로 한다.
이들 처리는, 파라미터의 초기 설정이다.
(스텝 S304)
이어서, 스텝 S304에 있어서,
기존 차량 대응 태스크 시퀀스 A의 선두에서부터 순서대로 선택한 태스크 요소 t(=ai)의 위치(locate)와, move 태스크 요소(이동 태스크 요소)를 삭제한 태스크 시퀀스 B의 태스크 요소(bj)의 위치(locate)가 일치하는지 여부를 판정한다.
일치하는 경우에는, 스텝 S305로 진행한다.
일치하지 않는 경우에는, 스텝 S311로 진행한다.
(스텝 S305)
스텝 S304에 있어서, 기존 차량 대응 태스크 시퀀스 A의 선두에서부터 순서대로 선택한 태스크 요소 t(=ai)의 위치(locate)와, move 태스크 요소(이동 태스크 요소)를 삭제한 태스크 시퀀스 B의 태스크 요소(bj)의 위치(locate)가 일치한다고 판정한 경우, 스텝 S305의 처리를 실행한다.
스텝 S305에서는, 기존 차량 대응 태스크 시퀀스 A의 태스크 요소 t(=ai)의 직후에, 태스크 시퀀스 B의 태스크 요소(bj)를 삽입한다.
이 처리는, 앞서 도 20을 참조하여 설명한 처리에 상당한다.
(스텝 S306 내지 S307)
이어서, 스텝 S306에 있어서,
t=bj,
스텝 S307에 있어서,
j=j+1로 한다.
즉, move 태스크 요소 삭제 후의 추가 태스크 시퀀스 B로부터 선택하는 요소를 다음의 요소로 하는 파라미터 갱신을 행한다.
(스텝 S308)
이어서, 스텝 S308에서,
j>l
상기 판정식에 따른 판정 처리를 행한다. 이것은, move 태스크 요소 삭제 후의 추가 태스크 시퀀스 B에 미처리 요소가 남아 있는지 여부의 판정 처리이다.
상기 판정식이 성립하지 않는 경우에는, 미처리 태스크 요소가 남아 있다고 판정하고, 스텝 S304로 되돌아간다. 상기 판정식이 성립한 경우에는, 미처리 태스크 요소가 남아 있지 않다고 판정하고, 처리를 종료한다.
(스텝 S311)
한편, 스텝 S304에 있어서, 기존 차량 대응 태스크 시퀀스 A의 선두에서부터 순서대로 선택한 태스크 요소 t(=ai)의 위치(locate)와, move 태스크 요소(이동 태스크 요소)를 삭제한 태스크 시퀀스 B의 태스크 요소(bj)의 위치(locate)가 일치하지 않는다고 판정한 경우, 스텝 S311의 처리를 실행한다.
스텝 S311에서는, 기존 차량 대응 태스크 시퀀스 A의 태스크 요소 t(=ai)를 다음 요소로 하는 파라미터 i의 갱신 처리, 즉,
i=i+1
로 하는 처리를 실행한다.
(스텝 S312)
이어서, 스텝 S312에서,
i=n
상기 판정식에 따른 판정 처리를 행한다. 이것은, 기존 차량 대응 태스크 시퀀스 A에 후속 태스크 요소가 남아 있는지 여부의 판정 처리이다.
상기 판정식이 성립하지 않는 경우에는, 후속 태스크 요소가 남아 있다고 판정하고, 스텝 S303으로 되돌아간다. 상기 판정식이 성립한 경우에는, 후속 태스크 요소가 남아 있지 않다고 판정하고, 스텝 S313으로 진행한다.
(스텝 S313)
스텝 S312의 판정식이 성립하고, 기존 차량 대응 태스크 시퀀스 A에 후속 태스크 요소가 남아 있지 않다고 판정한 경우, 스텝 S313의 처리를 실행한다.
스텝 S313에서는, 기존 차량 대응 태스크 시퀀스 A의 말미의 태스크 요소에 이어서, 태스크 시퀀스 A의 말미의 태스크 요소의 위치(locate)로부터, 태스크 시퀀스 B의 태스크 요소(bj)의 위치(locate)까지의 move 태스크 요소(이동 태스크 요소)(=m1, m2, … mk)를 추가하고, 그 마지막에 태스크 시퀀스 B의 태스크 요소(bj)를 추가한다.
이 처리는, 앞서 도 21을 참조하여 설명한 처리에 상당한다.
(스텝 S314)
이어서, 스텝 S314에 있어서,
j=j+1로 한다.
즉, move 태스크 요소 삭제 후의 추가 태스크 시퀀스 B로부터 선택하는 요소를 다음 요소로 하는 파라미터 갱신을 행한다.
(스텝 S315)
이어서, 스텝 S315에서,
j>l
상기 판정식에 따른 판정 처리를 행한다. 이것은, move 태스크 요소 삭제 후의 추가 태스크 시퀀스 B에 미처리 요소가 남아 있는지 여부의 판정 처리이다.
상기 판정식이 성립하지 않는 경우에는, 미처리 태스크 요소가 남아 있다고 판정하고, 스텝 S304로 되돌아간다. 상기 판정식이 성립한 경우에는, 미처리 태스크 요소가 남아 있지 않다고 판정하고, 처리를 종료한다.
이 플로우에 따른 처리를 실행함으로써, 기존의 차량 대응 태스크 시퀀스에 새로운 추가 태스크 시퀀스를 추가하여 하나의 갱신된 차량 대응 태스크 시퀀스를 생성하는 것이 가능하게 된다.
[6. 태스크의 우선도를 고려한 차량 대응 태스크 시퀀스의 갱신 처리의 구체예에 대해서]
이어서, 도 24 이하를 참조하여, 차량에서 실행 중인 차량 대응 태스크 시퀀스에 신규 리퀘스트에 기초하는 신규 태스크 시퀀스를 추가하여 차량 대응 태스크 시퀀스를 갱신하는 경우에, 태스크의 우선도를 고려하여 차량 대응 태스크 시퀀스를 갱신하는 처리의 구체예에 대하여 설명한다.
도 24에는, 이하의 각 데이터를 나타내고 있다.
(1) 기존 차량 대응 태스크 시퀀스
(2) 추가 태스크 시퀀스
(1) 기존 차량 대응 태스크 시퀀스는, 차량 1이 현재 실행 중인 차량 대응 필 시퀀스이다.
(2) 추가 태스크 시퀀스는, 새로운 리퀘스트에 기초하여 생성된 태스크 시퀀스이며, 태스크 관리 서버(101)의 태스크 관리부(122)는 이 (2) 추가 태스크 시퀀스를 (1) 기존 차량 대응 태스크 시퀀스에 삽입하는 처리를 행한다.
도 24에 도시하는
(1) 기존 차량 대응 태스크 시퀀스=태스크 시퀀스 A
(2) 추가 태스크 시퀀스=태스크 시퀀스 B
이들 2개의 태스크 시퀀스의 태스크 요소의 배열은, 앞서 도 18을 참조하여 설명한 것과 마찬가지의 것이다. 단, 본 실시예에서는, 짐의 승하차 태스크 요소(load, unload)에 우선도 정보(pri)가 설정되어 있다.
본 실시예에서 나타내는 기존 차량 대응 태스크 시퀀스=태스크 시퀀스 A에는, 태스크 요소로서,
load(P1, 짐 1, pri=1)
unload(P13, 짐 1, pri=1)
이들 태스크 요소는, 짐 1을 P1에서 싣는 처리와 P13에서 내리는 처리를 의미하고, 또한, 이들 태스크의 우선도(priority)가 1임을 나타내고 있다.
한편, 추가 태스크 시퀀스=태스크 시퀀스 B에는, 태스크 요소로서,
load(P1, 짐 2, pri=10)
unload(P10, 짐 2, pri=10)
이들 태스크 요소는, 짐 2을 P1에서 싣는 처리와 P10에서 내리는 처리를 의미하고, 또한, 이들 태스크의 우선도(priority)가 10임을 나타내고 있다.
우선도(pri)는 큰 값일수록 고우선도임을 의미한다. 즉, 본 예에서는, 추가 태스크인 짐 2의 승하차 쪽이, 우선도가 높은 설정이다.
각 태스크 시퀀스는, 도 24에 도시하는 바와 같이 이하의 시퀀스이다.
(1) 기존 차량 대응 태스크 시퀀스=load(P1, 짐 1, pri=1), move(P6), move(P7), move(P8), move(P13), unload(P13, 짐 1, pri=1)
(2) 추가 태스크 시퀀스=load(P1, 짐 2, pri=10), move(P2). move(P3). move(P4), move(P9), move(P10), unload(P10, 짐 2, pri=10)
(1) 기존 차량 대응 태스크 시퀀스는, P1에서 짐 1을 싣고(load), P6, P7, P8, P13으로 이동하고, P13에서 짐 1을 내리는(unload)하는 태스크 시퀀스이다.
(2) 추가 태스크 시퀀스는, P1에서 짐 2를 싣고(load), P2, P3, P4, P9, P10으로 이동하고, P10에서 짐 2를 내리는(unload)하는 태스크 시퀀스이다.
단, 추가 태스크 시퀀스의 짐 2의 승하차가, 기존 차량 대응 태스크 시퀀스의 짐 1의 승하차보다 고우선도이다.
우선도를 고려하여 (1) 기존 차량 대응 태스크 시퀀스에, (2) 추가 태스크 시퀀스를 추가하는 처리 수순에 대해서, 도 25 이하를 참조하여 설명한다.
먼저, 도 25의 스텝 S401에 도시하는 바와 같이, 추가 태스크 시퀀스로부터, move 태스크 요소(이동 태스크 요소)를 삭제한다. 이 처리에 의해, (2) 추가 태스크 시퀀스는, 이하와 같이 변경된다.
(2) 추가 태스크 시퀀스=load(P1, 짐 2, pri=10), unload(P10, 짐 2, pri=10)
이어서, 도 26의 스텝 S402에 도시하는 바와 같이, 추가 태스크 시퀀스의 선두 요소로부터 순서대로, 그 요소의 우선도(pri) 미만의 우선도를 갖는 요소를, 기존 차량 태스크 시퀀스의 선두 요소로부터 순서대로 검색하고, 검출된 요소 앞에 추가 태스크의 요소를 삽입한다. 또한 필요한 경로도 삽입한다.
또한, 삽입한 태스크 요소는, (2) 추가 태스크 시퀀스로부터 삭제한다.
먼저, 추가 태스크 시퀀스의 선두 요소 load(P1, 짐 2, pri=10)의 우선도(pri) 미만의 우선도를 갖는 기존 차량 태스크 시퀀스의 요소는, 기존 차량 태스크 시퀀스의 선두 요소 load(P1, 짐 1, pri=1)이다.
따라서, 추가 태스크 시퀀스의 선두 요소 load(P1, 짐 2, pri=10)을 기존 차량 태스크 시퀀스의 선두 요소 load(P1, 짐 1, pri=10)의 앞에 삽입한다. 또한 필요한 경로도 삽입한다.
이 처리의 결과, 도 26의 하단의 표에 나타내는 바와 같이, (1) 기존 차량 대응 태스크 시퀀스와, (2) 추가 태스크 시퀀스는, 이하와 같이 변경된다.
(1) 기존 차량 대응 태스크 시퀀스=load(P1, 짐 2, pri=10), move(P2). move(P3). move(P4), move(P9), move(P10), unload(P10, 짐 2, pri=10), load(P1, 짐 1, pri=1), move(P6), move(P7), move(P8), move(P13), unload(P13, 짐 1, pri=1)
(2) 추가 태스크 시퀀스=unload(P10, 짐 2, pri=10)
이어서, 도 27의 스텝 S403에 나타내는 처리를 행한다. 즉, 갱신 중인 차량 대응 태스크 시퀀스의 요소와, 삽입한 추가 태스크 시퀀스의 요소의 인접 요소 간의 경로 요소를 추가 삽입한다.
이 처리의 결과, 도 27의 하단의 표에 나타내는 바와 같이, (1) 기존 차량 대응 태스크 시퀀스와, (2) 추가 태스크 시퀀스는, 이하와 같이 변경된다.
(1) 기존 차량 대응 태스크 시퀀스(갱신 완료)=load(P1, 짐 2, pri=10), move(P2). move(P3). move(P4), move(P9), move(P10), unload(P10, 짐 2, pri=10), move(P5). move(P4). move(P3), move(P2), move(P1), load(P1, 짐 1, pri=1), move(P6), move(P7), move(P8), move(P13), unload(P13, 짐 1, pri=1)
(2) 추가 태스크 시퀀스=없음
또한, 스텝 S402 내지 S403의 처리는, 추가 태스크 시퀀스에 포함되는 태스크 요소 모두에 대해서, 순차 실행한다.
또한, 상기 갱신 완료 후의 양쪽 대응 태스크 시퀀스 중,
태스크 요소=load(P1, 짐 2, pri=10), move(P2). move(P3). move(P4), move(P9), move(P10), unload(P10, 짐 2, pri=10),
이들 태스크 요소가, 스텝 S402에 있어서, 고우선도 태스크를 포함하는 추가 태스크 시퀀스에 의해 추가된 태스크이다. 또한, 그 후의,
태스크 요소=move(P5). move(P4). move(P3), move(P2), move(P1),
이들 태스크 요소가, 스텝 S403에 있어서 추가 삽입된 경로 요소이다. 즉, 갱신 중인 차량 대응 태스크 시퀀스의 요소와, 삽입한 추가 태스크 시퀀스의 요소의 인접 요소 간의 경로 요소이다.
이 결과로서, 도 28에 도시하는 바와 같이 최종적인 갱신된 차량 대응 태스크 시퀀스가 완성된다. 이 갱신된 차량 대응 태스크 시퀀스는, 도 28의 하단 맵에 도시하는 바와 같이, P1에서 짐 2를 싣고 P2, P3, P4, P9, P10으로 이동하고, P10에서 짐 2을 내리고(unload), 또한 P5, P4, P3, P2, P1로 이동하고, P1에서 짐 1을 싣고 P6, P7, P8, P13으로 이동하고, P13에서 짐 1을 내리는(unload) 것과 같은 태스크 시퀀스가 된다.
이 갱신 태스크 시퀀스는, 원래의 기존의 차량 대응 태스크 시퀀스와 신규 추가 태스크 시퀀스를 아울러 실행하는 것이 가능한 태스크 시퀀스이다.
도 24 내지 도 28을 참조하여 설명한 처리, 즉 태스크의 우선도를 고려하여, 기존의 차량 대응 태스크 시퀀스에 새로운 리퀘스트에 기초하는 추가 태스크 시퀀스를 삽입하는 처리 수순에 대해서, 도 29에 도시하는 흐름도를 참조하여 설명한다.
도 29에 도시하는 흐름도는, 태스크 관리 서버(101)의 태스크 관리부(122)에 있어서 실행된다.
또한, 도 29에 도시하는 플로우에 있어서,
A=기존 차량 대응 태스크 시퀀스,
B=추가 태스크 시퀀스
이며, A=기존 차량 대응 태스크 시퀀스의 태스크 요소를 선두로부터 a1, a2, a3, … an, B=추가 태스크 시퀀스의 태스크 요소를 선두로부터 b1, b2, b3, … bm으로 한다.
이하, 플로우의 각 스텝의 처리에 대하여 설명한다.
(스텝 S501)
먼저, 스텝 S501에 있어서, 추가 태스크 시퀀스 B의 태스크 요소로부터 move 태스크 요소(이동 태스크 요소)를 모두 삭제한다.
이 삭제 후의 태스크 시퀀스 B의 태스크 요소를 b1, b2, … bl로 한다.
이 처리는, 앞서 도 25를 참조하여 설명한 처리에 상당한다.
(스텝 S502 내지 S503)
이어서, 스텝 S502에 있어서,
i=0, j=0,
스텝 S503에 있어서,
t=ai로 한다. 즉, t를 A=기존 차량 대응 태스크 시퀀스의 선두에서부터 순서대로 선택하는 태스크 요소로 한다.
이들 처리는, 파라미터의 초기 설정이다.
(스텝 S504)
이어서, 스텝 S504에 있어서,
기존 차량 대응 태스크 시퀀스 A의 선두에서부터 순서대로 선택한 태스크 요소 t의 다음(=ai의 다음)의 우선도(pri)보다, move 태스크 요소(이동 태스크 요소)를 삭제한 태스크 시퀀스 B의 태스크 요소(bj)의 우선도(pri)가 높은지 여부를 판정한다.
높은 경우에는, 스텝 S511로 진행한다.
높지 않은 경우에는, 스텝 S505로 진행한다.
(스텝 S505)
스텝 S504에 있어서, 기존 차량 대응 태스크 시퀀스 A의 선두에서부터 순서대로 선택한 태스크 요소 t의 다음(=ai의 다음)의 우선도(pri)보다, move 태스크 요소(이동 태스크 요소)를 삭제한 태스크 시퀀스 B의 태스크 요소(bj)의 우선도(pri)가 높지 않다고 판정한 경우에는, 스텝 S505로 진행한다.
스텝 S505에서는, 기존 차량 대응 태스크 시퀀스 A의 선두에서부터 순서대로 선택한 태스크 요소 t(=ai)의 위치(locate)와, move 태스크 요소(이동 태스크 요소)를 삭제한 태스크 시퀀스 B의 태스크 요소(bj)의 위치(locate)가 일치하는지 여부를 판정한다.
일치하는 경우에는, 스텝 S506으로 진행한다.
일치하지 않는 경우에는, 스텝 S521로 진행한다.
(스텝 S506)
스텝 S505에 있어서, 기존 차량 대응 태스크 시퀀스 A의 선두에서부터 순서대로 선택한 태스크 요소 t(=ai)의 위치(locate)와, move 태스크 요소(이동 태스크 요소)를 삭제한 태스크 시퀀스 B의 태스크 요소(bj)의 위치(locate)가 일치한다고 판정한 경우, 스텝 S506의 처리를 실행한다.
스텝 S506에서는, 기존 차량 대응 태스크 시퀀스 A의 태스크 요소 t(=ai)의 직후에, 태스크 시퀀스 B의 태스크 요소(bj)를 삽입한다.
(스텝 S507 내지 S508)
이어서, 스텝 S507에 있어서,
t=bj,
스텝 S508에 있어서,
j=j+1로 한다.
즉, move 태스크 요소 삭제 후의 추가 태스크 시퀀스 B로부터 선택하는 요소를 다음 요소로 하는 파라미터 갱신을 행한다.
(스텝 S509)
이어서, 스텝 S509에서,
j>l
상기 판정식에 따른 판정 처리를 행한다. 이것은, move 태스크 요소 삭제 후의 추가 태스크 시퀀스 B에 미처리 요소가 남아 있는지 여부의 판정 처리이다.
상기 판정식이 성립하지 않는 경우에는, 미처리 태스크 요소가 남아 있다고 판정하고, 스텝 S504로 되돌아간다. 상기 판정식이 성립한 경우에는, 미처리 태스크 요소가 남아 있지 않다고 판정하고, 처리를 종료한다.
(스텝 S511)
한편, 스텝 S504에 있어서, 기존 차량 대응 태스크 시퀀스 A의 선두에서부터 순서대로 선택한 태스크 요소 t의 다음(=ai의 다음)의 우선도(pri)보다, move 태스크 요소(이동 태스크 요소)를 삭제한 태스크 시퀀스 B의 태스크 요소(bj)의 우선도(pri)가 높다고 판정한 경우에는, 스텝 S511로 진행한다.
스텝 S511에서는, 기존 차량 대응 태스크 시퀀스 A의 태스크 요소 t(=ai)의 위치(locate)로부터, move 태스크 요소(이동 태스크 요소)를 삭제한 태스크 시퀀스 B의 태스크 요소(bj)의 위치(locate)까지의 move 태스크 요소(이동 태스크 요소)(=m1, m2, … mk)를 기존 차량 대응 태스크 시퀀스 A의 태스크 요소 t(=ai)의 직후에 추가하고, 그 마지막에 태스크 시퀀스 B의 태스크 요소(bj)를 추가한다.
이 처리는, 앞서 도 26을 참조하여 설명한 처리이다.
(스텝 S512 내지 S513)
이어서, 스텝 S512에 있어서,
t=bj,
스텝 S513에 있어서,
j=j+1로 한다.
즉, move 태스크 요소 삭제 후의 추가 태스크 시퀀스 B로부터 선택하는 요소를 다음 요소로 하는 파라미터 갱신을 행한다.
(스텝 S514)
이어서, 스텝 S514에서,
j>l
상기 판정식에 따른 판정 처리를 행한다. 이것은, move 태스크 요소 삭제 후의 추가 태스크 시퀀스 B에 미처리 요소가 남아 있는지 여부의 판정 처리이다.
상기 판정식이 성립하지 않는 경우에는, 미처리 태스크 요소가 남아 있다고 판정하고, 스텝 S504로 되돌아간다. 상기 판정식이 성립한 경우에는, 미처리 태스크 요소가 남아 있지 않다고 판정하고, 스텝 S515로 진행한다.
(스텝 S515)
스텝 S515에서는, 기존 차량 대응 태스크 시퀀스 A에 추가한 태스크 요소 t(=bj)의 위치(locate)로부터, 그 후의 태스크 요소 ai의 위치(locate)까지의 move 태스크 요소(이동 태스크 요소)열을 추가하여 처리를 종료한다.
이 처리는, 앞서 도 27을 참조하여 설명한 처리이다.
(스텝 S521)
한편, 스텝 S505에 있어서, 기존 차량 대응 태스크 시퀀스 A의 선두에서부터 순서대로 선택한 태스크 요소 t(=ai)의 위치(locate)와, move 태스크 요소(이동 태스크 요소)를 삭제한 태스크 시퀀스 B의 태스크 요소(bj)의 위치(locate)가 일치하지 않는다고 판정한 경우, 스텝 S521의 처리를 실행한다.
스텝 S521에서는, 기존 차량 대응 태스크 시퀀스 A의 태스크 요소 t(=ai)를 다음 요소로 하는 파라미터 i의 갱신 처리, 즉,
i=i+1
로 하는 처리를 실행한다.
(스텝 S522)
이어서, 스텝 S522에서,
i=n
상기 판정식에 따른 판정 처리를 행한다. 이것은, 기존 차량 대응 태스크 시퀀스 A에 후속 태스크 요소가 남아 있는지 여부의 판정 처리이다.
상기 판정식이 성립하지 않는 경우에는, 후속 태스크 요소가 남아 있다고 판정하고, 스텝 S505로 되돌아간다. 상기 판정식이 성립한 경우에는, 후속 태스크 요소가 남아 있지 않다고 판정하고, 스텝 S523으로 진행한다.
(스텝 S523)
스텝 S522의 판정식이 성립하고, 기존 차량 대응 태스크 시퀀스 A에 후속 태스크 요소가 남아 있지 않다고 판정한 경우, 스텝 S523의 처리를 실행한다.
스텝 S523에서는, 기존 차량 대응 태스크 시퀀스 A의 말미의 태스크 요소에 이어서, 태스크 시퀀스 A의 말미의 태스크 요소의 위치(locate)로부터, 태스크 시퀀스 B의 태스크 요소(bj)의 위치(locate)까지의 move 태스크 요소(이동 태스크 요소)(=m1, m2, … mk)를 추가하고, 그 마지막에 태스크 시퀀스 B의 태스크 요소(bj)를 추가한다.
(스텝 S524)
이어서, 스텝 S524에 있어서,
j=j+1로 한다.
즉, move 태스크 요소 삭제 후의 추가 태스크 시퀀스 B로부터 선택하는 요소를 다음 요소로 하는 파라미터 갱신을 행한다.
(스텝 S525)
이어서, 스텝 S525에서,
j>l
상기 판정식에 따른 판정 처리를 행한다. 이것은, move 태스크 요소 삭제 후의 추가 태스크 시퀀스 B에 미처리 요소가 남아 있는지 여부의 판정 처리이다.
상기 판정식이 성립하지 않는 경우에는, 미처리 태스크 요소가 남아 있다고 판정하고, 스텝 S523으로 되돌아간다. 상기 판정식이 성립한 경우에는, 미처리 태스크 요소가 남아 있지 않다고 판정하고, 처리를 종료한다.
이 플로우에 따른 처리를 실행함으로써, 우선도가 높은 태스크를 선행하여 실행한다고 하는 룰에 따라서, 기존의 차량 대응 태스크 시퀀스에 새로운 추가 태스크 시퀀스를 추가하여 하나의 갱신된 차량 대응 태스크 시퀀스를 생성하는 것이 가능하게 된다.
[7. 어느 차량 대응 태스크 시퀀스에 신규 태스크 시퀀스를 추가 삽입할지를 결정하기 위한 비용 매칭 처리의 상세에 대해서]
이어서, 어느 차량 대응 태스크 시퀀스에 신규 태스크 시퀀스를 추가 삽입할지를 결정하기 위한 비용 매칭 처리의 상세에 대하여 설명한다.
앞서 도 7에 도시하는 플로우를 참조하여 설명한 바와 같이, 태스크 관리 서버(101)의 태스크 관리부(122)는 예를 들어 새로운 리퀘스트가 발생했을 때, 그 리퀘스트에 기초하여, 도 7의 플로우 스텝 S102에 있어서, 최소 단위의 태스크 시퀀스를 생성한 후, 스텝 S103에 있어서, 이 태스크 시퀀스 최소 비용으로 실행할 수 있는 차량에 할당하여, 그 차량이 실행해야 할 태스크열을 나타내는 차량 대응 태스크 시퀀스를 생성한다.
도 7에 도시하는 플로우의 스텝 S103에서는, 이와 같이, 태스크 관리부(122)가 스텝 S102에서 생성한 태스크 시퀀스를, 차량 단위의 태스크 시퀀스, 즉 차량 대응 태스크 시퀀스로 변환한다.
이 변환 처리 시에는, 가장 효율적인 처리가 가능하게 되는 차량의 선택과 처리 시퀀스의 설정이 실행된다. 구체적으로는 비용이나 태스크 우선도를 고려한 시퀀스 생성 처리를 행한다. 이 비용에 기초하는 차량 대응 태스크 시퀀스의 구체적인 처리, 즉 비용 매칭 처리의 구체예에 대하여 설명한다.
도 30을 참조하여, 태스크 관리 서버(101)의 태스크 관리부(122)가 실행하는 비용 매칭 처리의 구체적 시퀀스에 대하여 설명한다.
태스크 관리부(122)는 도 30에 도시하는 스텝 S601 내지 S603의 순으로, 처리를 행하고, 태스크 시퀀스 최소 비용으로 실행할 수 있는 차량의 결정을 행하고, 그 차량이 실행해야 할 차량 대응 태스크 시퀀스를 생성한다.
스텝 S601은, 새로운 리퀘스트에 기초하는 새로운 태스크 시퀀스를 생성했을 때에 제기되는 문제를 나타내고 있다. 즉,
어느 차량 대응 태스크 시퀀스에, 신규 태스크 시퀀스를 추가할 것인가라고 하는 문제이다.
이 문제를 해결하는 구체적 방법이, 스텝 S602에 나타내는 매칭 비용 산출 처리이다.
매칭 비용 산출 처리는, 도 30의 스텝 S602에 나타내는 바와 같이 이하의 수순으로 실행된다.
매칭 비용을 이하의 3개의 비용값의 가중치 부여 선형 결합으로 산출한다.
(1) costadd: 증가 비용=현 차량 대응 태스크 시퀀스에 대한 신규 태스크 시퀀스 삽입에 의한 증분(이동) 시간 비용
(2) costdis: 현 적재물 대응 비용=(현재 안고 있는 태스크의 load, unload 지점의 중심(重心)과, 추가하는 load, unload의 지점의 거리 평균)÷(차량의 평균 속도)
(3) costnow: 현 태스크 대응 비용=현재 안고 있는 태스크 시퀀스가 종료될 때까지의 총 시간 비용
매칭 비용은, 상기 3개의 비용값의 가중치 부여 선형 결합으로 산출한다.
즉, 매칭 비용(cost)을 이하의 (식 1)에 의해 산출한다.
cost=wadd×costadd+wdis×costdis+wnow×costnow
…(식 1)
또한,
wadd는, costadd에 대한 가중치(승산 파라미터),
wdis는, costdis에 대한 가중치(승산 파라미터),
wnow는, costnow에 대한 가중치(승산 파라미터),
이다.
스텝 S602에 있어서 상기 (식 1)에 따라서, 현 시점의 각 차량에 설정 완료된 차량 대응 태스크 시퀀스에 추가 태스크 시퀀스를 추가 삽입한 경우의 매칭 비용(cost), 즉 각 차량 대응의 매칭 비용을 산출한다.
스텝 S103에서는, 매칭 비용이 최소가 되는 차량을 신규 추가 태스크 시퀀스의 추가 대상으로서 선택한다.
태스크 관리 서버(101)의 태스크 관리부(122)는 이러한 비용 매칭 처리에 의해, 새로운 태스크 시퀀스를 할당할 차량이나, 추가 대상을 포함하는 차량 대응 태스크 시퀀스를 결정한다.
도 31 이하를 참조하여, 구체적인 처리예에 대하여 설명한다.
도 31에는, 이하의 각 데이터를 나타내고 있다.
(1) 추가 태스크 시퀀스
(A) A차의 차량 대응 태스크 시퀀스
(B) B차의 차량 대응 태스크 시퀀스
(1) 추가 태스크 시퀀스는 새로운 리퀘스트에 기초하여 발생한 추가 태스크 시퀀스이다. 이 추가 태스크 시퀀스를 A차, 또는 B차에 할당하는 것이 필요하며, 태스크 관리 서버(101)의 태스크 관리부(122)는 도 30을 참조하여 설명한 매칭 비용 산출을 행하여, A차와 B차의 어느 쪽에 추가 태스크 시퀀스를 할당하는 쪽이, 비용이 억제되는지를 판정하고, 보다 비용이 낮은 차량의 차량 대응 태스크 시퀀스에 추가 태스크 시퀀스를 삽입한다.
또한, A차는 현재, 도 31의 (2)에 나타내는 차량 대응 태스크 시퀀스를 실행하고 있고, B차는 도 31의 (3)에 나타내는 차량 대응 태스크 시퀀스를 실행하고 있다.
도 31의 하부에는,
(1) 추가 태스크 시퀀스
(A) A차의 차량 대응 태스크 시퀀스
(B) B차의 차량 대응 태스크 시퀀스
이들 3개의 태스크 시퀀스의 구체적인 처리 시퀀스를 나타내고 있다. 또한, 각 노드에 기재하고 있는 (0, 0)∼(40, 20) 등의 기재는, 지점 P로부터의 x 방향과 y 방향의 거리(km)를 나타내고 있다. 예를 들어 P8에 나타난 (20, 10)은 P8의 위치가 P1로부터 x 방향으로 20km, y 방향으로 10km임을 나타내고 있다.
(1) 추가 태스크 시퀀스=load(P1, 짐 X), move(P2). move(P3). move(P4), move(P9), move(P10), unload(P10, 짐 X)는
P1에서 짐 X를 탑재하고, P2, P3, P4, P9, P10으로 이동하고, P10에서 짐 X를 내리는 태스크 시퀀스이다.
(A) A차의 차량 대응 태스크 시퀀스=move(P3), move(P4), move(P5), unload(P5, 짐 A)는 P3, P4, P5로 이동하고, P5에서 짐 A를 내리는 태스크 시퀀스이다.
(B) B차의 차량 대응 태스크 시퀀스=move(P12), unload(P12, 짐 B), move(P11), load(P11, 짐 C), move(P6), unload(P6, 짐 C)는 P12로 이동하고, P12에서 짐 B를 내리고, P11로 이동하고, P11에서 짐 C를 내리고, P6으로 이동하고, P6에서 짐 C를 내리는 태스크 시퀀스이다.
먼저, A차에 관한 매칭 비용 산출 처리에 대해서, 도 32, 도 33을 참조하여 설명한다.
도 32의 상단의 표에는,
(1) 추가 태스크 시퀀스
(A) A차의 차량 대응 태스크 시퀀스
(a1) A차의 costadd(증가 비용)
이들 데이터를 나타내고 있다.
(1) 추가 태스크 시퀀스는, 도 31을 참조하여 설명한 추가 다카쿠 시퀀스이다. 즉,
(1) 추가 태스크 시퀀스=load(P1, 짐 X), move(P2). move(P3). move(P4), move(P9), move(P10), unload(P10, 짐 X)이며, P1에서 짐 X를 탑재하고, P2, P3, P4, P9, P10으로 이동하고, P10에서 짐 X를 내리는 태스크 시퀀스이다.
(A) A차의 차량 대응 태스크 시퀀스도, 도 31을 참조하여 설명한 A차의 차량 대응 태스크 시퀀스이다. A차는, 도 32 하부에 도시하는 바와 같이 P2의 위치에 있다. 이 시점의 A차의 차량 대응 태스크 시퀀스는 이하와 같다. 즉,
(A) A차의 차량 대응 태스크 시퀀스=move(P3), move(P4), move(P5), unload(P5, 짐 A)는 P3, P4, P5로 이동하고, P5에서 짐 A를 내리는 태스크 시퀀스이다.
(a1) A차의 costadd(증가 비용)는 앞서 도 30을 참조하여 설명한 바와 같이, 증가 비용=현 차량 대응 태스크 시퀀스에 대한 신규 태스크 시퀀스 삽입에 의한 증분(이동) 시간 비용이다.
A차의 현 차량 대응 태스크 시퀀스, 즉, 도 32의 표의 (A)에 나타내는 A차 차량 대응 태스크 시퀀스에, 추가 태스크 시퀀스, 즉 도 32의 표의 (1)에 나타내는 추가 태스크 시퀀스를 추가하면, 도 32의 표의 (a1)에 나타내는 바와 같이, A차의 차량 대응 태스크 시퀀스는 이하와 같이 갱신된다.
(a1) 갱신 후의 A차 차량 대응 태스크 시퀀스=move(P3), move(P4), move(P5), unload(P5, 짐 A), move(P4), move(P3), move(P2), move(P1), load(P1, 짐 X), move(P2). move(P3). move(P4), move(P9), move(P10), unload(P10, 짐 X)
이 시퀀스는, 도 32의 하단 맵에 도시하는 바와 같이, P2로부터 P3, P4, P5로 이동하고, P5에서 짐 A를 내리고, 그 후, P4, P3, P2, P1로 이동하고, P1에서 짐 X를 싣고, 그 후, P2, P3, P4, P9, P10으로 이동하고, P10에서 짐 X를 내리는 태스크 시퀀스이다.
도 32의 표 중의
(A)에 나타내는, A차의 현 차량 대응 태스크 시퀀스와,
(a1)에 나타내는, A차의 갱신 후의 차량 대응 태스크 시퀀스
이들 데이터를 사용하여, A차의 costadd(증가 비용)를 산출한다.
이 처리에 대하여 설명한다.
A차의 속도를 40km로 한다.
(A)에 나타내는 A차 현 차량 대응 태스크 시퀀스로부터, (a1)에 나타내는 A차의 갱신 후의 차량 대응 태스크 시퀀스로 변경함으로써 증가한 태스크는 이하와 같다.
(1) 증가한 이동(move) 태스크=move(P4), move(P3), move(P2), move(P1)과, move(P2). move(P3). move(P4), move(P9), move(P10),
(2) 증가한 짐 승하차(load, unload) 태스크=load(P1, 짐 X), unload(P10, 짐 X)
도 32에 도시하는 2개의 인접 노드 간의 거리는 모두 10km이며, 또한 A차의 속도는 40km이므로, A차에 의한 인접 노드 간의 이동 시간은 10/40=0.25h(hour)가 된다.
상기 「(1) 증가한 이동(move) 태스크」에는 9개의 인접 노드 간 이동이 포함되므로, 총 이동 시간은,
0.25×9=2.25h
이 된다.
또한, 짐의 탑재 처리(load)와 내리는 처리(unload)에 요하는 시간을 각각 0.2h로 한다.
결과로서, 도 32의 (A)에 나타내는 A차의 현 차량 대응 태스크 시퀀스로부터, (a1)에 나타내는 A차의 갱신 후의 차량 대응 태스크 시퀀스로 변경함으로써, 태스크 처리에 필요한 시간의 증가분(=costadd(증가 비용))은 이하의 식에 의해 산출할 수 있다.
A차의 costadd(증가 비용)=이동(move) 태스크 증가 시간+짐 탑재 처리(load) 태스크 증가 시간+짐 내리기 처리(unload) 태스크 증가 시간
=0.25×9+0.2+0.2
=2.65
이어서, A차의 costdis(현 적재물 대응 비용)의 산출 처리에 대하여 설명한다. 앞서 도 30을 참조하여 설명한 바와 같이,
costdis(현 적재물 대응 비용)=(현재 안고 있는 태스크의 load, unload 지점의 중심과, 추가하는 load, unload의 지점의 거리 평균)÷(차량의 평균 속도)
이다.
(현재 안고 있는 태스크의 load, unload 지점의 중심)에 대하여 설명한다.
(A) A차의 차량 대응 태스크 시퀀스=move(P3), move(P4), move(P5), unload(P5, 짐 A)는 P3, P4, P5로 이동하고, P5에서 짐 A를 내리는 태스크 시퀀스, 이 태스크 시퀀스에 있어서, load, unload 태스크는, unload(P5, 짐 A)뿐이다. 따라서,
(현재 안고 있는 태스크의 load, unload 지점의 중심)은 P5의 위치이며, (40, 0)이 된다.
(추가하는 load 지점)은 P1 위치이며(0, 0)
(추가하는 unload 지점)은 P10 위치이며(40, 10)
이 된다.
(현재 안고 있는 태스크의 load, unload 지점의 중심(40, 0)과, 추가하는 load 지점 P1(0, 0)의 거리)는 40km,
(현재 안고 있는 태스크의 load, unload 지점의 중심(40, 0)과, 추가하는 unload 지점 P10(40, 10)의 거리)는 10km,
이 된다. 따라서, A차의 costdis(현 적재물 대응 비용)는 도 33의 (a2)에 나타내는 바와 같이, 이하의 식에 따라서 계산할 수 있다.
A차의 costdis(현 적재물 대응 비용)=(현재 안고 있는 태스크의 load, unload 지점의 중심과, 추가하는 load, unload의 지점의 거리 평균)÷(차량의 평균 속도)
=((40+10)/2)/40=0.625
이어서, A차의 costnow(현 태스크 대응 비용)에 대하여 설명한다.
앞서 도 30을 참조하여 설명한 바와 같이,
costnow(현 태스크 대응 비용)=현재 안고 있는 태스크 시퀀스가 종료될 때까지의 총 시간 비용
이다.
현재 안고 있는 태스크 시퀀스는, 도 32, 도 33에 도시한 (A) A차의 차량 대응 태스크 시퀀스이며,
A차 차량 대응 태스크 시퀀스=move(P3), move(P4), move(P5), unload(P5, 짐 A)이다. 즉, P3, P4, P5로 이동하고, P5에서 짐 A를 내리는 태스크 시퀀스이다.
이 현재 안고 있는 태스크 시퀀스는 이동(move) 태스크가 10km의 인접 노드 간의 이동이 3개, 짐 승하차(load 또는 unload)가 1회이다. 10km의 인접 노드 간의 이동이 3개 실행하기 위한 시간기 주행 속도=40km의 경우,
(3×10)/40=0.75h이다.
또한, 짐 승하차(load 또는 unload) 1회의 소요 시간은 0.2h이다.
따라서, A차가 현재 안고 있는 차량 대응 태스크 시퀀스의 태스크가 종료될 때까지의 총 시간 비용, 즉, costnow(현 태스크 대응 비용)는 도 33의 (a3)에 나타내는 바와 같이, 이하의 식에 의해 산출할 수 있다.
costnow(현 태스크 대응 비용)=(3×10)/40+0.2=0.95
앞서 도 30을 참조하여 설명한 바와 같이, 매칭 비용은, 상기 3개의 비용값의 가중치 부여 선형 결합으로 산출한다.
즉, 매칭 비용(cost)은 이하의 (식 1)에 의해 산출된다.
cost=wadd×costadd+wdis×costdis+wnow×costnow
…(식 1)
또한,
wadd는, costadd에 대한 가중치(승산 파라미터),
wdis는, costdis에 대한 가중치(승산 파라미터),
wnow는, costnow에 대한 가중치(승산 파라미터),
이다.
여기서, 도 33의 (a4)에 나타내는 바와 같이, 각 비용 대응의 가중 계수를 모두 1, 즉,
wadd=wdis=wnow=1
로 한다. 이 설정으로 하면, A차의 매칭 비용(cost)은 이하의 식(에 의해 산출된다.
cost=wadd×costadd+wdis×costdis+wnow×costnow
=1×2.65+1×0.625+1×0.95
=4.225 …(식 A)
도 33의 (A)에 나타내는 현재의 A차의 차량 대응 태스크 시퀀스에, 도 33의 (1)에 나타내는 추가 태스크 시퀀스를 추가한 경우의 A차의 매칭 비용(cost)은 상기 (식 A)에 따라서 산출되는 값, 4.225가 된다.
이어서, B차에 관한 매칭 비용 산출 처리에 대해서, 도 34, 도 35를 참조하여 설명한다.
도 34의 상단의 표에는,
(1) 추가 태스크 시퀀스
(B) B차의 차량 대응 태스크 시퀀스
(b1) B차의 costadd(증가 비용)
이들 데이터를 나타내고 있다.
(1) 추가 태스크 시퀀스는, 도 31을 참조하여 설명한 추가 다카쿠 시퀀스이다. 즉,
(1) 추가 태스크 시퀀스=load(P1, 짐 X), move(P2). move(P3). move(P4), move(P9), move(P10), unload(P10, 짐 X)이며, P1에서 짐 X를 탑재하고, P2, P3, P4, P9, P10으로 이동하고, P10에서 짐 X를 내리는 태스크 시퀀스이다.
(B) B차의 차량 대응 태스크 시퀀스도, 도 31을 참조하여 설명한 B차의 차량 대응 태스크 시퀀스이다. B차는, 도 34 하부에 도시하는 바와 같이 P13의 위치에 있다. 이 시점의 B차의 차량 대응 태스크 시퀀스는 이하와 같다. 즉,
(B) B차의 차량 대응 태스크 시퀀스=move(P12), unload(P12, 짐 B), move(P11), load(P11, 짐 C), move(P6), unload(P6, 짐 C)는 P12로 이동하고, P12에서 짐 B를 내리고, P11로 이동하고, P11에서 짐 C를 내리고, P6으로 이동하고, P6에서 짐 C를 내리는 태스크 시퀀스이다.
(b1) B차의 costadd(증가 비용)는 앞서 도 30을 참조하여 설명한 바와 같이, 증가 비용=현 차량 대응 태스크 시퀀스에 대한 신규 태스크 시퀀스 삽입에 의한 증분(이동) 시간 비용이다.
B차의 현 차량 대응 태스크 시퀀스, 즉, 도 34의 표의 (B)에 나타내는 B차의 차량 대응 태스크 시퀀스에, 추가 태스크 시퀀스, 즉 도 34의 표의 (1)에 나타내는 추가 태스크 시퀀스를 추가하면, 도 34의 표의 (b1)에 나타내는 바와 같이, B차의 차량 대응 태스크 시퀀스는 이하와 같이 갱신된다.
(b1) 갱신 후의 B차의 차량 대응 태스크 시퀀스=move(P12), unload(P12, 짐 B), move(P11), load(P11, 짐 C), move(P6), unload(P6, 짐 C)move(P1), load(P1, 짐 X), move(P2). move(P3). move(P4), move(P9), move(P10), unload(P10, 짐 X)
이 시퀀스는, 도 34의 하단 맵에 도시하는 바와 같이, P13으로부터 P12, P11로 이동하고, P11에서 짐 C를 내리고, 그 후, P6, P1로 이동하고, P1에서 짐 X를 싣고, 그 후, P2, P3, P4, P9, P10으로 이동하고, P10에서 짐 X를 내리는 태스크 시퀀스이다.
도 34의 표 중의
(B)에 나타내는, B차의 현 차량 대응 태스크 시퀀스와,
(b1)에 나타내는, B차의 갱신 후의 차량 대응 태스크 시퀀스
이들 데이터를 사용하여, B차의 costadd(증가 비용)를 산출한다.
이 처리에 대하여 설명한다.
B차의 속도를 40km로 한다.
(B)에 나타내는 B차 현 차량 대응 태스크 시퀀스로부터, (b1)에 나타내는 B차의 갱신 후의 차량 대응 태스크 시퀀스로 변경함으로써 증가한 태스크는 이하와 같다.
(1) 증가한 이동(move) 태스크=move(P1)과, move(P2). move(P3). move(P4), move(P9), move(P10),
(2) 증가한 짐 승하차(load, unload) 태스크=load(P1, 짐 X), unload(P10, 짐 X)
도 34에 도시하는 2개의 인접 노드 간의 거리는 모두 10km이며, 또한 B차의 속도는 40km이므로, B차에 의한 인접 노드 간의 이동 시간은 10/40=0.25h(hour)가 된다.
상기 「(1) 증가한 이동(move) 태스크」에는 6개의 인접 노드 간 이동이 포함되므로, 총 이동 시간은,
0.25×6=1.5h
이 된다.
또한, 짐의 탑재 처리(load)와 내리는 처리(unload)에 요하는 시간을 각각 0.2h로 한다.
결과로서, 도 34의 (B)에 나타내는 B차의 현 차량 대응 태스크 시퀀스로부터, (b1)에 나타내는 B차의 갱신 후의 차량 대응 태스크 시퀀스로 변경함으로써, 태스크 처리에 필요한 시간의 증가분(=costadd(증가 비용))은 이하의 식에 의해 산출할 수 있다.
B차의 costadd(증가 비용)=이동(move) 태스크 증가 시간+짐 탑재 처리(load) 태스크 증가 시간+짐 내리기 처리(unload) 태스크 증가 시간
=0.25×6+0.2+0.2
=1.9
이어서, B차의 costdis(현 적재물 대응 비용)의 산출 처리에 대하여 설명한다. 앞서 도 30을 참조하여 설명한 바와 같이,
costdis(현 적재물 대응 비용)=(현재 안고 있는 태스크의 load, unload 지점의 중심과, 추가하는 load, unload의 지점의 거리 평균)÷(차량의 평균 속도)
이다.
(현재 안고 있는 태스크의 load, unload 지점의 중심)에 대하여 설명한다.
(B) B차의 차량 대응 태스크 시퀀스=move(P12), unload(P12, 짐 B), move(P11), load(P11, 짐 C), move(P6), unload(P6, 짐 C)는 P12로 이동하고, P12에서 짐 B를 내리고, P11로 이동하고, P11에서 짐 C를 내리고, P6으로 이동하고, P6에서 짐 C를 내리는 태스크 시퀀스, 이 태스크 시퀀스에 있어서, load, unload 태스크는, unload(P12, 짐 B), load(P11, 짐 C), unload(P6, 짐 C), 이들 3개의 태스크이다.
따라서, (현재 안고 있는 태스크의 load, unload 지점의 중심)은 도 34의 하부 맵에 도시하는 바와 같이, P12와 P11과, P6의 3점의 중심 위치이며, (3.33, 16.67)이 된다.
(추가하는 load 지점)은 P1 위치이며(0, 0)
(추가하는 unload 지점)은 P10 위치이며(40, 10)
이 된다.
(현재 안고 있는 태스크의 load, unload 지점의 중심(3.33, 16.67)과, 추가하는 load 지점 P1(0, 0)의 거리)는 약 17km,
(현재 안고 있는 태스크의 load, unload 지점의 중심(3.33, 16.67)과, 추가하는 unload 지점 P10(40, 10)의 거리)는 약 37km,
이 된다. 따라서, B차의 costdis(현 적재물 대응 비용)는 도 35의 (b2)에 나타내는 바와 같이, 이하의 식에 따라서 계산할 수 있다.
B차의 costdis(현 적재물 대응 비용)=(현재 안고 있는 태스크의 load, unload 지점의 중심과, 추가하는 load, unload의 지점의 거리 평균)÷(차량의 평균 속도)
=((17+37)/2)/40=27
이어서, B차의 costnow(현 태스크 대응 비용)에 대하여 설명한다.
앞서 도 30을 참조하여 설명한 바와 같이,
costnow(현 태스크 대응 비용)=현재 안고 있는 태스크 시퀀스가 종료될 때까지의 총 시간 비용
이다.
현재 안고 있는 태스크 시퀀스는, 도 34, 도 35에 도시한 (B) B차의 차량 대응 태스크 시퀀스이며,
B차의 차량 대응 태스크 시퀀스=move(P12), unload(P12, 짐 B), move(P11), load(P11, 짐 C), move(P6), unload(P6, 짐 C)는 P12로 이동하고, P12에서 짐 B를 내리고, P11로 이동하고, P11에서 짐 C를 내리고, P6으로 이동하고, P6에서 짐 C를 내리는 태스크 시퀀스이다.
이 현재 안고 있는 태스크 시퀀스는 이동(move) 태스크가 10km의 인접 노드 간의 이동이 3개, 짐 승하차(load 또는 unload)가 3회이다. 10km의 인접 노드 간의 이동이 3개 실행하기 위한 시간기 주행 속도=40km의 경우,
(3×10)/40=0.75h이다.
또한, 짐 승하차(load 또는 unload) 1회의 소요 시간은 0.2h이다.
따라서, B차가 현재 안고 있는 차량 대응 태스크 시퀀스의 태스크가 종료될 때까지의 총 시간 비용, 즉, costnow(현 태스크 대응 비용)는 도 35의 (b3)에 나타내는 바와 같이, 이하의 식에 의해 산출할 수 있다.
costnow(현 태스크 대응 비용)=(3×10)/40+0.2×3=1.35
앞서 도 30을 참조하여 설명한 바와 같이, 매칭 비용은, 상기 3개의 비용값의 가중치 부여 선형 결합으로 산출한다.
즉, 매칭 비용(cost)은 이하의 (식 1)에 의해 산출된다.
cost=wadd×costadd+wdis×costdis+wnow×costnow
…(식 1)
또한,
wadd는, costadd에 대한 가중치(승산 파라미터),
wdis는, costdis에 대한 가중치(승산 파라미터),
wnow는, costnow에 대한 가중치(승산 파라미터),
이다.
여기서, 도 35의 (b4)에 나타내는 바와 같이, 각 비용 대응의 가중 계수를 모두 1, 즉,
wadd=wdis=wnow=1
로 한다. 이 설정으로 하면, B차의 매칭 비용(cost)은 이하의 식(에 의해 산출된다.
cost=wadd×costadd+wdis×costdis+wnow×costnow
=1×1.9+1×0.68+1×1.35
=3.93 …(식 B)
도 35의 (B)에 나타내는 현재의 B차의 차량 대응 태스크 시퀀스에, 도 35의 (1)에 나타내는 추가 태스크 시퀀스를 추가한 경우의 B차의 매칭 비용(cost)은 상기 (식 B)에 따라서 산출되는 값, 3.93이 된다.
먼저, 도 32, 도 33을 참조하여 설명한 매칭 비용(cost)은 앞서 설명한 (식 A)에 따라서 산출되는 값, 4.225이며, B차의 매칭 비용(cost)이 A차의 매칭 비용(cost)보다 작은 값이 된다.
태스크 관리 서버(101)의 타스크 관리부(122)는 이 결과에 기초하여, 매칭 비용이 낮은 B차에, 추가 태스크 시퀀스가 할당하는 처리를 실행한다.
또한, 도 31 내지 도 35를 참조하여 설명한 실시예에서는, 각 비용 대응의 가중 계수를 모두 1, 즉,
wadd=wdis=wnow=1
이러한 설정으로 매칭 비용의 산출 처리를 행하였다.
이들 가중 계수는, 상황에 따라서 여러 가지 설정이 가능하다.
예를 들어 날씨나, 교통 상황 등의 데이터에 기초하는 학습 처리를 행하고, 학습 결과에 기초하여 최적의 파라미터(가중 계수)의 설정을 행하는 것이 바람직하다.
가중 계수의 설정에 의해, A차와 B차의 매칭 비용은 여러 가지 값으로 변화한다. 이 구체예를 도 36에 도시하였다.
도 36에는, 각 비용 대응의 가중 계수의 5종류의 설정예, 즉, 이하의 각 설정예를 나타내고 있다.
(1) wadd=wdis=wnow=1
(2) wadd=2, wdis=wnow=1
(3) wadd=1, wdis=2, wnow=1
(4) wadd=wdis=1, wnow=1
(5) wadd=1, wdis=wnow=2
도 31에 도시하는 추가 태스크 시퀀스를, 도 31에 도시하는 A차, B차에 추가한 경우의 매칭 비용의 산출 시에, 상기 (1) 내지 (5)의 설정을 적용한 경우의 A차, B차의 매칭 비용은 도 36에 도시하는 바와 같이 이하와 같이 된다.
(1) wadd=wdis=wnow=1
A차의 매칭 비용=4.225, B차의 매칭 비용=3.93,
(2) wadd=2, wdis=wnow=1
A차의 매칭 비용=6.875, B차의 매칭 비용=5.83,
(3) wadd=1, wdis=2, wnow=1
A차의 매칭 비용=4.85, B차의 매칭 비용=4.61,
(4) wadd=wdis=1, wnow=1
A차의 매칭 비용=5.175, B차의 매칭 비용=5.28,
(5) wadd=1, wdis=wnow=2
A차의 매칭 비용=5.8, B차의 매칭 비용=5.96,
이와 같이, 파라미터(가중 계수)의 설정에 의해, 각 차 대응의 매칭 비용은 여러 가지 값으로 변화한다.
따라서, 전술한 바와 같이, 예를 들어 날씨나, 교통 상황 등의 데이터에 기초하는 학습 처리를 행하고, 학습 결과에 기초하여 최적의 파라미터(가중 계수)의 설정을 행하는 것이 바람직하다.
또한, 상술한 예에서는, 짐의 탑재 처리(load)와 내리는 처리(unload)에 요하는 비용으로서 산출하고 있는 시간을 일률 0.2h로 하고 있지만, 예를 들어 짐의 무게 등을 반영시킨 시간 비용을 설정하도록 해도 된다.
[8. 정보 처리 장치의 구성예에 대해서]
이어서, 상술한 처리를 실행하는 정보 처리 장치, 즉 예를 들어 태스크 관리 서버(101), 혹은 차량 등의 이동 장치 내에 장착 가능한 정보 처리 장치의 구체적인 하드웨어 구성예에 대해서, 도 37을 참조하여 설명한다.
도 37은 정보 처리 장치의 하드웨어 구성예를 도시하는 도면이다.
CPU(Central Processing Unit)(301)는, ROM(Read Only Memory)(302), 또는 기억부(308)에 기억되어 있는 프로그램에 따라서 각종 처리를 실행하는 데이터 처리부로서 기능한다. 예를 들어, 상술한 실시예에 있어서 설명한 시퀀스에 따른 처리를 실행한다. RAM(Random Access Memory)(303)에는, CPU(301)가 실행하는 프로그램이나 데이터 등이 기억된다. 이들 CPU(301), ROM(302), 및 RAM(303)은, 버스(304)에 의해 서로 접속되어 있다.
CPU(301)는 버스(304)를 통하여 입출력 인터페이스(305)에 접속되고, 입출력 인터페이스(305)에는, 각종 스위치, 키보드, 터치 패널, 마우스, 마이크로폰, 또한, 센서, 카메라, GPS 등의 상황 데이터 취득부 등을 포함하는 입력부(306), 디스플레이, 스피커 등을 포함하는 출력부(307)가 접속되어 있다.
CPU(301)는, 입력부(306)로부터 입력되는 명령이나 상황 데이터 등을 입력하고, 각종 처리를 실행하고, 처리 결과를 예를 들어 출력부(307)로 출력한다.
입출력 인터페이스(305)에 접속되어 있는 기억부(308)는 예를 들어 하드 디스크 등을 포함하고, CPU(301)가 실행하는 프로그램이나 각종 데이터를 기억한다. 통신부(309)는 인터넷이나 로컬 에어리어 네트워크 등의 네트워크를 통한 데이터 통신의 송수신부로서 기능하고, 외부의 장치와 통신한다.
입출력 인터페이스(305)에 접속되어 있는 드라이브(310)는 자기 디스크, 광 디스크, 광자기 디스크, 혹은 메모리 카드 등의 반도체 메모리 등의 리무버블 미디어(311)를 구동하여, 데이터의 기록 혹은 판독을 실행한다.
[9. 본 개시의 구성의 마무리]
이상, 특정 실시예를 참조하면서, 본 개시의 실시예에 대하여 상세하게 풀이했다. 그러나, 본 개시의 요지를 일탈하지 않는 범위에서 당업자가 실시예의 수정이나 대용을 할 수 있는 것은 자명하다. 즉, 예시라고 하는 형태로 본 발명을 개시해 온 것이며, 한정적으로 해석되어서는 안된다. 본 개시의 요지를 판단하기 위해서는, 특허 청구 범위의 란을 참작해야 한다.
또한, 본 명세서에 있어서 개시한 기술은, 이하와 같은 구성을 취할 수 있다.
(1) 이동 장치의 이동 경로 상에 설정된 등록 노드 간의 이동 처리와, 등록 노드에서의 처리에 대해서, 노드 식별자와 처리 종류를 포함하는 데이터인 태스크로서 기술하고, 각 태스크를 시계열로 배열한 태스크 시퀀스를 생성하고, 또한,
생성한 태스크 시퀀스에 기초하여, 각 이동 장치 대응의 태스크 시퀀스인 이동 장치 대응 태스크 시퀀스를 생성하는 태스크 관리부를 갖고,
상기 태스크 관리부는,
처리 실행 요구인 리퀘스트에 기초하여 생성한 새로운 추가 태스크 시퀀스에 포함되는 태스크를, 이동 장치에 있어서 실행 중인 이동 장치 대응 태스크 시퀀스에 삽입하는 이동 장치 대응 태스크 시퀀스 갱신 처리를 실행하는 정보 처리 장치.
(2) 상기 태스크 관리부는,
처리 실행 요구인 리퀘스트에 기초하여, 해당 리퀘스트를 실행하기 위한 1개 이상의 태스크 시퀀스를 생성하고,
생성한 태스크 시퀀스를, 1개 이상의 이동 장치에 할당하여, 이동 장치 대응의 이동 장치 대응 태스크 시퀀스를 생성하는 (1)에 기재된 정보 처리 장치.
(3) 상기 태스크 관리부는,
처리 비용이 최소가 되는 이동 장치 대응 태스크 시퀀스를 생성하는 (1) 또는 (2)에 기재된 정보 처리 장치.
(4) 상기 태스크 관리부는,
이동 처리와, 짐 또는 사람을 태우는 처리와, 짐 또는 사람을 내리는 처리와, 대기 처리를 구별한 태스크를 생성하는 (1)∼(3) 어느 것에 기재된 정보 처리 장치.
(5) 상기 태스크 관리부는,
상기 이동 장치 대응 태스크 시퀀스 갱신 처리에 있어서,
처리 실행 요구인 리퀘스트에 기초하여 생성한 새로운 추가 태스크 시퀀스로부터 이동 처리를 삭제하고, 기타의 처리의 실행 노드 위치와, 이동 장치에 있어서 실행 중인 이동 장치 대응 태스크 시퀀스 중의 각 태스크의 노드 위치를 비교하여, 일치하는 노드 위치를 갖는 태스크의 인접 위치에, 상기 추가 태스크 시퀀스 중의 이동 처리 이외의 태스크를 삽입하는 (1)∼(4) 어느 것에 기재된 정보 처리 장치.
(6) 상기 태스크 관리부는,
상기 이동 장치 대응 태스크 시퀀스 갱신 처리에 있어서,
삽입 태스크의 노드 위치와, 해당 삽입 태스크에 인접하는 태스크의 노드 위치 간을 이동시키기 위한 이동 태스크를 삽입하는 (5)에 기재된 정보 처리 장치.
(7) 상기 태스크 관리부는,
미리 규정된 비용 산출 알고리즘에 따라서, 각 이동 장치 대응의 매칭 비용을 산출하고, 산출한 각 이동 장치 대응의 매칭 비용에 기초하여, 태스크 시퀀스를 할당하는 이동 장치를 결정하는 (1)∼(6) 어느 것에 기재된 정보 처리 장치.
(8) 상기 태스크 관리부는,
(a) 각 이동 장치에 대한 태스크 시퀀스의 추가에 의해 발생하는 처리 시간의 증가 비용인 costadd,
(b) 현 시점의 이동 장치 대응 태스크 중의 적재물 대응 비용인 costdis,
(c) 현 시점의 이동 장치 대응 태스크 시퀀스가 종료될 때까지의 시간에 상당하는 현 태스크 대응 비용 costnow,
상기 (a), (b), (c)의 각 비용에 기초하는 연산 처리에 의해, 상기 매칭 비용을 산출하는 (7)에 기재된 정보 처리 장치.
(9) 상기 태스크 관리부는,
상기 (a), (b), (c)의 각 비용에 미리 규정한 가중 계수를 승산하고, 각 승산 결과를 가산함으로써, 상기 매칭 비용을 산출하는 (8)에 기재된 정보 처리 장치.
(10) 상기 가중 계수는, 미리 실행된 학습 처리에 의해 결정되는 계수인 (9)에 기재된 정보 처리 장치.
(11) 상기 태스크 관리부는,
태스크의 우선도에 기초하여, 태스크 시퀀스를 할당하는 이동 장치를 결정하는 (1)∼(10) 어느 것에 기재된 정보 처리 장치.
(12) 상기 태스크 관리부는,
각 태스크가 우선도 정보를 기록한 태스크를 생성하는 (1)∼(11) 어느 것에 기재된 정보 처리 장치.
(13) 이동 장치 대응의 태스크 시퀀스인 이동 장치 대응 태스크 시퀀스에 따른 처리를 실행하는 이동 장치이며,
상기 이동 장치 대응 태스크 시퀀스는, 상기 이동 장치, 또는 외부 서버에 있어서 생성된 시퀀스이며, 상기 이동 장치의 이동 경로 상에 설정된 등록 노드 간의 이동 처리와, 등록 노드에서의 처리에 대해서, 노드 식별자와 처리 종류를 포함하는 태스크를 시계열로 배열한 태스크 시퀀스이며,
상기 이동 장치는,
새로운 추가 태스크 시퀀스가 발생한 경우, 해당 추가 태스크 시퀀스에 포함되는 태스크를 상기 이동 장치 대응 태스크 시퀀스에 삽입한 갱신 이동 장치 대응 태스크 시퀀스를 실행하는 이동 장치.
(14) 상기 이동 장치 대응 태스크 시퀀스는,
처리 실행 요구인 리퀘스트를 실행하기 위하여 생성된 1개 이상의 태스크 시퀀스에 기초하여, 처리 비용, 또는 태스크 우선도에 따라서 생성된 시퀀스인 (13)에 기재된 이동 장치.
(15) 처리 실행 요구인 리퀘스트를 송신하는 단말기와, 상기 단말기로부터 리퀘스트를 수신하는 태스크 관리 서버와, 처리를 실행하는 이동 장치를 갖는 정보 처리 시스템이며,
상기 태스크 관리 서버는,
상기 리퀘스트에 따라, 상기 이동 장치의 이동 경로 상에 설정된 등록 노드 간의 이동 처리와, 등록 노드에서의 처리에 대해서, 노드 식별자와 처리 종류를 포함하는 데이터인 태스크로서 기술하고, 각 태스크를 시계열로 배열한 각 이동 장치 대응의 태스크 시퀀스인 이동 장치 대응 태스크 시퀀스를 생성함과 함께,
처리 실행 요구인 리퀘스트에 기초하여 생성한 새로운 추가 태스크 시퀀스에 포함되는 태스크를 이동 장치에 있어서 실행 중인 이동 장치 대응 태스크 시퀀스에 삽입하여 갱신 이동 장치 대응 태스크 시퀀스를 생성하고,
상기 이동 장치는,
상기 추가 태스크 시퀀스에 포함되는 태스크를 갖는 갱신 이동 장치 대응 태스크 시퀀스에 따라서 처리를 실행하는 정보 처리 시스템.
(16) 정보 처리 장치에 있어서 실행하는 정보 처리 방법이며,
태스크 관리부가,
이동 장치의 이동 경로 상에 설정된 등록 노드 간의 이동 처리와, 등록 노드에서의 처리에 대해서, 노드 식별자와 처리 종류를 포함하는 데이터인 태스크로서 기술하고, 각 태스크를 시계열로 배열한 태스크 시퀀스를 생성하는 태스크 시퀀스 생성 스텝과,
생성한 태스크 시퀀스에 기초하여, 각 이동 장치 대응의 태스크 시퀀스인 이동 장치 대응 태스크 시퀀스를 생성하는 이동 장치 대응 태스크 시퀀스 생성 스텝을 실행하고,
상기 이동 장치 대응 태스크 시퀀스 생성 스텝에 있어서,
처리 실행 요구인 리퀘스트에 기초하여 생성한 새로운 추가 태스크 시퀀스에 포함되는 태스크를, 이동 장치에 있어서 실행 중인 이동 장치 대응 태스크 시퀀스에 삽입하는 이동 장치 대응 태스크 시퀀스 갱신 처리를 실행하는 정보 처리 방법.
(17) 정보 처리 장치에 있어서 정보 처리를 실행시키는 프로그램이며,
태스크 관리부에,
이동 장치의 이동 경로 상에 설정된 등록 노드 간의 이동 처리와, 등록 노드에서의 처리에 대해서, 노드 식별자와 처리 종류를 포함하는 데이터인 태스크로서 기술하고, 각 태스크를 시계열로 배열한 태스크 시퀀스를 생성시키는 태스크 시퀀스 생성 스텝과,
생성한 태스크 시퀀스에 기초하여, 각 이동 장치 대응의 태스크 시퀀스인 이동 장치 대응 태스크 시퀀스를 생성시키는 이동 장치 대응 태스크 시퀀스 생성 스텝을 실행시키고,
상기 이동 장치 대응 태스크 시퀀스 생성 스텝에 있어서,
처리 실행 요구인 리퀘스트에 기초하여 생성한 새로운 추가 태스크 시퀀스에 포함되는 태스크를, 이동 장치에 있어서 실행 중인 이동 장치 대응 태스크 시퀀스에 삽입하는 이동 장치 대응 태스크 시퀀스 갱신 처리를 실행시키는 프로그램.
또한, 명세서 중에 있어서 설명한 일련의 처리는 하드웨어, 또는 소프트웨어, 혹은 양자의 복합 구성에 의해 실행하는 것이 가능하다. 소프트웨어에 의한 처리를 실행하는 경우에는, 처리 시퀀스를 기록한 프로그램을, 전용의 하드웨어에 내장된 컴퓨터 내의 메모리에 인스톨하여 실행시키거나, 혹은, 각종 처리가 실행 가능한 범용 컴퓨터에 프로그램을 인스톨하여 실행시키는 것이 가능하다. 예를 들어, 프로그램은 기록 매체에 미리 기록해 둘 수 있다. 기록 매체로부터 컴퓨터에 인스톨하는 외에, LAN(Local Area Network), 인터넷과 같은 네트워크를 통하여 프로그램을 수신하고, 내장한 하드 디스크 등의 기록 매체에 인스톨할 수 있다.
또한, 명세서에 기재된 각종 처리는, 기재에 따라서 시계열로 실행될 뿐만 아니라, 처리를 실행하는 장치의 처리 능력 혹은 필요에 따라 병렬적으로 혹은 개별로 실행되어도 된다. 또한, 본 명세서에 있어서 시스템이란, 복수의 장치의 논리적 집합 구성이며, 각 구성의 장치가 동일 하우징 내에 있는 것에 한정하지는 않는다.
이상, 설명한 바와 같이, 본 개시의 일 실시예의 구성에 의하면, 노드의 노드 식별자와 처리 종류를 기록한 태스크 시퀀스를 생성하고, 또한 추가 태스크의 발생에 따라서 동적으로 태스크 시퀀스를 갱신하여 이동 장치에 실행시킴으로써, 낭비가 없는 태스크 시퀀스의 생성과 태스크 처리를 가능하게 하는 구성이 실현된다.
구체적으로는, 예를 들어, 등록 노드 간의 이동 처리와 등록 노드에서의 처리에 대해서, 노드 식별자와 처리 종류를 포함하는 태스크를 시계열로 배열한 태스크 시퀀스를 생성하고, 또한, 각 이동 장치 대응의 이동 장치 대응 태스크 시퀀스를 생성한다. 새로운 추가 태스크 시퀀스가 발생한 경우, 거기에 포함되는 태스크를 기존의 이동 장치 대응 태스크 시퀀스에 삽입하는 이동 장치 대응 태스크 시퀀스 갱신 처리를 실행한다.
본 구성에 의해, 노드의 노드 식별자와 처리 종류를 기록한 태스크 시퀀스를 생성하고, 또한 추가 태스크의 발생에 따라서 동적으로 태스크 시퀀스를 갱신하여 이동 장치에 실행시킴으로써, 낭비가 없는 태스크 시퀀스의 생성과 태스크 처리를 가능하게 하는 구성이 실현된다.
10: 배송 차량
11, 12: 목적지
101: 태스크 관리 서버
102: 유저 단말기
103: 차량
105: 네트워크
121: 리퀘스트 처리부
122: 태스크 관리부
123: 차량 관리부
124: 통신부
131: 리퀘스트 DB(데이터베이스)
132: 태스크 DB(데이터베이스)
133: 차량 DB(데이터베이스)
134: 지도 DB(데이터베이스)
301: CPU
302: ROM
303: RAM
304: 버스
305: 입출력 인터페이스
306: 입력부
307: 출력부
308: 기억부
309: 통신부
310: 드라이브
311: 리무버블 미디어

Claims (17)

  1. 이동 장치의 이동 경로 상에 설정된 등록 노드 간의 이동 처리와, 등록 노드에서의 처리에 대해서, 노드 식별자와 처리 종류를 포함하는 데이터인 태스크로서 기술하고, 각 태스크를 시계열로 배열한 태스크 시퀀스를 생성하고, 또한,
    생성한 태스크 시퀀스에 기초하여, 각 이동 장치 대응의 태스크 시퀀스인 이동 장치 대응 태스크 시퀀스를 생성하는 태스크 관리부를 갖고,
    상기 태스크 관리부는,
    처리 실행 요구인 리퀘스트에 기초하여 생성한 새로운 추가 태스크 시퀀스에 포함되는 태스크를, 이동 장치에 있어서 실행 중인 이동 장치 대응 태스크 시퀀스에 삽입하는 이동 장치 대응 태스크 시퀀스 갱신 처리를 실행하는 정보 처리 장치.
  2. 제1항에 있어서, 상기 태스크 관리부는,
    처리 실행 요구인 리퀘스트에 기초하여, 해당 리퀘스트를 실행하기 위한 1개 이상의 태스크 시퀀스를 생성하고,
    생성한 태스크 시퀀스를, 1개 이상의 이동 장치에 할당하여, 이동 장치 대응의 이동 장치 대응 태스크 시퀀스를 생성하는 정보 처리 장치.
  3. 제1항에 있어서, 상기 태스크 관리부는,
    처리 비용이 최소가 되는 이동 장치 대응 태스크 시퀀스를 생성하는 정보 처리 장치.
  4. 제1항에 있어서, 상기 태스크 관리부는,
    이동 처리와, 짐 또는 사람을 태우는 처리와, 짐 또는 사람을 내리는 처리와, 대기 처리를 구별한 태스크를 생성하는 정보 처리 장치.
  5. 제1항에 있어서, 상기 태스크 관리부는,
    상기 이동 장치 대응 태스크 시퀀스 갱신 처리에 있어서,
    처리 실행 요구인 리퀘스트에 기초하여 생성한 새로운 추가 태스크 시퀀스로부터 이동 처리를 삭제하고, 기타의 처리의 실행 노드 위치와, 이동 장치에 있어서 실행 중인 이동 장치 대응 태스크 시퀀스 중의 각 태스크의 노드 위치를 비교하여, 일치하는 노드 위치를 갖는 태스크의 인접 위치에, 상기 추가 태스크 시퀀스 중의 이동 처리 이외의 태스크를 삽입하는 정보 처리 장치.
  6. 제5항에 있어서, 상기 태스크 관리부는,
    상기 이동 장치 대응 태스크 시퀀스 갱신 처리에 있어서,
    삽입 태스크의 노드 위치와, 해당 삽입 태스크에 인접하는 태스크의 노드 위치 간을 이동시키기 위한 이동 태스크를 삽입하는 정보 처리 장치.
  7. 제1항에 있어서, 상기 태스크 관리부는,
    미리 규정된 비용 산출 알고리즘에 따라서, 각 이동 장치 대응의 매칭 비용을 산출하고, 산출한 각 이동 장치 대응의 매칭 비용에 기초하여, 태스크 시퀀스를 할당하는 이동 장치를 결정하는 정보 처리 장치.
  8. 제7항에 있어서, 상기 태스크 관리부는,
    (a) 각 이동 장치에 대한 태스크 시퀀스의 추가에 의해 발생하는 처리 시간의 증가 비용인 costadd,
    (b) 현 시점의 이동 장치 대응 태스크 중의 적재물 대응 비용인 costdis,
    (c) 현 시점의 이동 장치 대응 태스크 시퀀스가 종료될 때까지의 시간에 상당하는 현 태스크 대응 비용 costnow,
    상기 (a), (b), (c)의 각 비용에 기초하는 연산 처리에 의해, 상기 매칭 비용을 산출하는 정보 처리 장치.
  9. 제8항에 있어서, 상기 태스크 관리부는,
    상기 (a), (b), (c)의 각 비용에 미리 규정한 가중 계수를 승산하고, 각 승산 결과를 가산함으로써, 상기 매칭 비용을 산출하는 정보 처리 장치.
  10. 제9항에 있어서, 상기 가중 계수는, 미리 실행된 학습 처리에 의해 결정되는 계수인 정보 처리 장치.
  11. 제1항에 있어서, 상기 태스크 관리부는,
    태스크의 우선도에 기초하여, 태스크 시퀀스를 할당하는 이동 장치를 결정하는 정보 처리 장치.
  12. 제1항에 있어서, 상기 태스크 관리부는,
    각 태스크에 우선도 정보를 기록한 태스크를 생성하는 정보 처리 장치.
  13. 이동 장치 대응의 태스크 시퀀스인 이동 장치 대응 태스크 시퀀스에 따른 처리를 실행하는 이동 장치이며,
    상기 이동 장치 대응 태스크 시퀀스는, 상기 이동 장치, 또는 외부 서버에 있어서 생성된 시퀀스이며, 상기 이동 장치의 이동 경로 상에 설정된 등록 노드 간의 이동 처리와, 등록 노드에서의 처리에 대해서, 노드 식별자와 처리 종류를 포함하는 태스크를 시계열로 배열한 태스크 시퀀스이며,
    상기 이동 장치는,
    새로운 추가 태스크 시퀀스가 발생한 경우, 해당 추가 태스크 시퀀스에 포함되는 태스크를 상기 이동 장치 대응 태스크 시퀀스에 삽입한 갱신 이동 장치 대응 태스크 시퀀스를 실행하는 이동 장치.
  14. 제13항에 있어서, 상기 이동 장치 대응 태스크 시퀀스는,
    처리 실행 요구인 리퀘스트를 실행하기 위하여 생성된 1개 이상의 태스크 시퀀스에 기초하여, 처리 비용, 또는 태스크 우선도에 따라서 생성된 시퀀스인 이동 장치.
  15. 처리 실행 요구인 리퀘스트를 송신하는 단말기와, 상기 단말기로부터 리퀘스트를 수신하는 태스크 관리 서버와, 처리를 실행하는 이동 장치를 갖는 정보 처리 시스템이며,
    상기 태스크 관리 서버는,
    상기 리퀘스트에 따라, 상기 이동 장치의 이동 경로 상에 설정된 등록 노드 간의 이동 처리와, 등록 노드에서의 처리에 대해서, 노드 식별자와 처리 종류를 포함하는 데이터인 태스크로서 기술하고, 각 태스크를 시계열로 배열한 각 이동 장치 대응의 태스크 시퀀스인 이동 장치 대응 태스크 시퀀스를 생성함과 함께,
    처리 실행 요구인 리퀘스트에 기초하여 생성한 새로운 추가 태스크 시퀀스에 포함되는 태스크를 이동 장치에 있어서 실행 중인 이동 장치 대응 태스크 시퀀스에 삽입하여 갱신 이동 장치 대응 태스크 시퀀스를 생성하고,
    상기 이동 장치는,
    상기 추가 태스크 시퀀스에 포함되는 태스크를 갖는 갱신 이동 장치 대응 태스크 시퀀스에 따라서 처리를 실행하는 정보 처리 시스템.
  16. 정보 처리 장치에 있어서 실행하는 정보 처리 방법이며,
    태스크 관리부가,
    이동 장치의 이동 경로 상에 설정된 등록 노드 간의 이동 처리와, 등록 노드에서의 처리에 대해서, 노드 식별자와 처리 종류를 포함하는 데이터인 태스크로서 기술하고, 각 태스크를 시계열로 배열한 태스크 시퀀스를 생성하는 태스크 시퀀스 생성 스텝과,
    생성한 태스크 시퀀스에 기초하여, 각 이동 장치 대응의 태스크 시퀀스인 이동 장치 대응 태스크 시퀀스를 생성하는 이동 장치 대응 태스크 시퀀스 생성 스텝을 실행하고,
    상기 이동 장치 대응 태스크 시퀀스 생성 스텝에 있어서,
    처리 실행 요구인 리퀘스트에 기초하여 생성한 새로운 추가 태스크 시퀀스에 포함되는 태스크를, 이동 장치에 있어서 실행 중인 이동 장치 대응 태스크 시퀀스에 삽입하는 이동 장치 대응 태스크 시퀀스 갱신 처리를 실행하는 정보 처리 방법.
  17. 정보 처리 장치에 있어서 정보 처리를 실행시키는 프로그램이며,
    태스크 관리부에,
    이동 장치의 이동 경로 상에 설정된 등록 노드 간의 이동 처리와, 등록 노드에서의 처리에 대해서, 노드 식별자와 처리 종류를 포함하는 데이터인 태스크로서 기술하고, 각 태스크를 시계열로 배열한 태스크 시퀀스를 생성시키는 태스크 시퀀스 생성 스텝과,
    생성한 태스크 시퀀스에 기초하여, 각 이동 장치 대응의 태스크 시퀀스인 이동 장치 대응 태스크 시퀀스를 생성시키는 이동 장치 대응 태스크 시퀀스 생성 스텝을 실행시키고,
    상기 이동 장치 대응 태스크 시퀀스 생성 스텝에 있어서,
    처리 실행 요구인 리퀘스트에 기초하여 생성한 새로운 추가 태스크 시퀀스에 포함되는 태스크를, 이동 장치에 있어서 실행 중인 이동 장치 대응 태스크 시퀀스에 삽입하는 이동 장치 대응 태스크 시퀀스 갱신 처리를 실행시키는 프로그램.
KR1020207037311A 2018-06-29 2019-06-10 정보 처리 장치, 이동 장치, 정보 처리 시스템, 및 방법, 그리고 프로그램 KR20210023892A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2018-124323 2018-06-29
JP2018124323 2018-06-29
PCT/JP2019/022880 WO2020003988A1 (ja) 2018-06-29 2019-06-10 情報処理装置、移動装置、情報処理システム、および方法、並びにプログラム

Publications (1)

Publication Number Publication Date
KR20210023892A true KR20210023892A (ko) 2021-03-04

Family

ID=68986502

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207037311A KR20210023892A (ko) 2018-06-29 2019-06-10 정보 처리 장치, 이동 장치, 정보 처리 시스템, 및 방법, 그리고 프로그램

Country Status (6)

Country Link
US (1) US20210166186A1 (ko)
EP (1) EP3816887A4 (ko)
JP (1) JPWO2020003988A1 (ko)
KR (1) KR20210023892A (ko)
CN (1) CN112334925A (ko)
WO (1) WO2020003988A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3816963A4 (en) * 2018-06-29 2021-08-04 Sony Group Corporation INFORMATION PROCESSING DEVICE, MOBILE DEVICE, INFORMATION PROCESSING SYSTEM, PROCESS AND PROGRAM

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008230816A (ja) 2007-03-22 2008-10-02 Hitachi Software Eng Co Ltd 調達物流スケジュール作成システム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000259979A (ja) * 1999-03-04 2000-09-22 Fujitsu Ltd 運行管理システムおよび方法
JP3539384B2 (ja) * 2000-12-18 2004-07-07 住友電気工業株式会社 配車計画立案支援装置および方法、ならびに配車計画立案支援プログラムを記録した記録媒体
JP4333500B2 (ja) * 2004-06-30 2009-09-16 住友電気工業株式会社 車両巡回計画立案装置、車両巡回計画立案方法、車両巡回計画立案方法をコンピュータに実行させるためのプログラムおよびそのプログラムを記録したコンピュータ読取り可能な記録媒体
US8886453B2 (en) * 2008-12-11 2014-11-11 Telogis, Inc. System and method for efficient routing on a network in the presence of multiple-edge restrictions and other constraints
US10783466B2 (en) * 2016-07-07 2020-09-22 Sap Se Integrated system for optimizing vehicle utilization

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008230816A (ja) 2007-03-22 2008-10-02 Hitachi Software Eng Co Ltd 調達物流スケジュール作成システム

Also Published As

Publication number Publication date
CN112334925A (zh) 2021-02-05
EP3816887A4 (en) 2021-06-16
WO2020003988A1 (ja) 2020-01-02
JPWO2020003988A1 (ja) 2021-07-08
EP3816887A1 (en) 2021-05-05
US20210166186A1 (en) 2021-06-03

Similar Documents

Publication Publication Date Title
US10655975B2 (en) System and method for routing optimization
CN107133645B (zh) 预估乘客取消订单行为的方法、设备及存储介质
JP5039950B2 (ja) オブジェクト移動制御システム、オブジェクト移動制御方法、サーバ及びコンピュータプログラム
US20220374018A1 (en) Method and apparatus for controlling automated guided vehicle
US20200279204A1 (en) Method for processing item sorting scheduling request, and related device
CN110989633A (zh) 一种机器人控制方法、装置、计算机设备及存储介质
Reddy et al. Minimizing the total completion time on a multi-machine FMS using flower pollination algorithm
KR20210023892A (ko) 정보 처리 장치, 이동 장치, 정보 처리 시스템, 및 방법, 그리고 프로그램
Oliveira et al. Efficient task allocation in smart warehouses with multi-delivery stations and heterogeneous robots
CN112561371B (zh) 一种调度确定方法、装置、电子设备及存储介质
KR20210021989A (ko) 정보 처리 장치, 이동 장치, 정보 처리 시스템 및 방법, 그리고 프로그램
CN111459100A (zh) 自动导引运输车的调度方法和系统
CN110807612A (zh) 确定剩余产能的方法和装置
KR20230098111A (ko) 폐기물 수거 운송차 배차 방법, 장치 및 시스템
JP7289473B2 (ja) 情報処理装置、プログラムおよびシステム
CN111369189A (zh) 生成拣货任务的方法、装置、存储介质及电子设备
CN110956384A (zh) 配送任务的处理方法、装置、电子设备及可读存储介质
WO2022230644A1 (ja) 管理システム及び管理方法
US20230004926A1 (en) Management System, and Method for Managing Entering and Dispatching of Products
US10337877B1 (en) Communication with mobile devices utilizing light emitting diodes
US20220197304A1 (en) Systems and methods for centralized control of a fleet of robotic devices
KR20150061324A (ko) 차량 쉐어링 시스템에서 유전 알고리즘을 이용한 차량 재배치를 스케쥴링하는 방법 및 장치
WO2022138164A1 (ja) シミュレーション装置
WO2022138168A1 (ja) シミュレーション装置
US20230391555A1 (en) Transport system, transport method, and recording medium recording transport program

Legal Events

Date Code Title Description
A201 Request for examination