This application claims the benefit under 35 USC § 119 (a) of Korean Patent Application No. 10-2023-0114098 filed on Aug. 30, 2023, and Korean Patent Application No. 10-2024-0106238 filed on Aug. 8, 2024, in the Korean Intellectual Property Office, the entire disclosures of which are incorporated herein by reference for all purposes.
The following description relates to a method of coordinating priorities of a plurality of autonomous driving robots and a device performing the same.
An autonomous delivery robot service may refer to a service in which a delivery robot delivers goods by interworking with urban infrastructures and other entities.
The autonomous delivery robot service may require an interworking protocol between entities (e.g., a delivery robot, a service provider, a user, and an infrastructure).
The above description is information the inventor(s) acquired during the course of conceiving the present disclosure, or already possessed at the time, and is not necessarily art publicly known before the present application was filed.
An aspect may provide an interworking method for an autonomous delivery robot-based delivery service.
However, technical challenges or objects are not limited to those described above, and other technical challenges or objects may exist.
According to an example embodiment, there is provided an operating method of a first delivery robot service provider managing a first delivery robot, the operating method including: in response to the first delivery robot encountering a second delivery robot at an infrastructure used jointly, obtaining an identifier of the second delivery robot; obtaining information of a second delivery robot service provider managing the second delivery robot based on the identifier of the second delivery robot; and negotiating a priority for using the infrastructure between the first delivery robot and the second delivery robot based on the information of the second delivery robot service provider.
The operating method may further include controlling movement of the first delivery robot according to the negotiated priority.
The negotiating of the priority may include exchanging a first consensus policy of the first delivery robot for a second consensus policy of the second delivery robot.
The exchanging may include determining whether the first consensus policy and the second consensus policy are a cooperation policy.
The priority may be determined based on a first value function corresponding to the first delivery robot and a second value function corresponding to the second delivery robot.
The first value function may be determined based on a service providing time of the first delivery robot, and the second value function may be determined based on a service providing time of the second delivery robot.
The priority may be determined based on a first value of the first delivery robot from the first value function and a second value of the second delivery robot from the second value function.
The first value may be determined based on a user's satisfaction level associated with the service providing time of the first delivery robot and on the first value function, and the second value may be determined based on a user's satisfaction level associated with the service providing time of the second delivery robot and on the second value function.
The priority may be determined such that a sum of the first value and the second value is maximized.
According to an example embodiment, there is provided a first delivery robot service providing device managing a first delivery robot, the first delivery robot service providing device including: a processor; and a memory storing instructions. When executed by the processor, the instructions cause the first delivery robot to perform a plurality of operations.
The plurality of operations may include: in response to the first delivery robot encountering a second delivery robot at an infrastructure used jointly, obtaining an identifier of the second delivery robot; obtaining information of a second delivery robot service provider managing the second delivery robot, based on the identifier of the second delivery robot; and negotiating a priority for using the infrastructure between the first delivery robot and the second delivery robot, based on the information of the second delivery robot service provider.
The plurality of operations may further include controlling movement of the first delivery robot according to the negotiated priority.
The negotiating of the priority may include exchanging a first consensus policy of the first delivery robot for a second consensus policy of the second delivery robot.
The exchanging may include determining whether the first consensus policy and the second consensus policy are a cooperation policy.
The priority may be determined based on a first value function corresponding to the first delivery robot and a second value function corresponding to the second delivery robot.
The first value function may be determined based on a service providing time of the first delivery robot, and the second value function may be determined based on a service providing time of the second delivery robot.
The priority may be determined based on a first value of the first delivery robot from the first value function and a second value of the second delivery robot from the second value function.
The first value may be determined based on a user's satisfaction level associated with the service providing time of the first delivery robot and on the first value function, and the second value may be determined based on a user's satisfaction level associated with the service providing time of the second delivery robot and on the second value function.
The priority may be determined such that a sum of the first value and the second value is maximized.
The following structural or functional descriptions of example embodiments are merely intended for the purpose of describing the example embodiments, and the example embodiments may be implemented in various forms. The example embodiments are not meant to be limited, but it is intended that various modifications, equivalents, and alternatives are also covered within the scope of the claims.
Although terms of “first” or “second” are used to explain various components, the components are not limited to the terms. These terms should be used only to distinguish one component from another component. For example, a “first” component may be referred to as a “second” component, or similarly, and the “second” component may be referred to as the “first” component within the scope of the right according to the concept of the present disclosure.
It will be understood that when a component is referred to as being “connected to” another component, the component can be directly connected or coupled to the other component, or intervening components may be present.
As used herein, “A or B,” “at least one of A and B,” “at least one of A or B,” “A, B or C,” “at least one of A, B and C,” and “A, B, or C,” each of which may include any one of the items listed together in the corresponding one of the phrases, or all possible combinations thereof. The terminology used herein is for describing various examples only and is not to be used to limit the disclosure. The articles “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. As used herein, the term “and/or” includes any one and any combination of any two or more of the associated listed items. As non-limiting examples, terms “comprise” or “comprises,” “include” or “includes,” and “have” or “has” specify the presence of stated features, numbers, operations, members, elements, and/or combinations thereof, but do not preclude the presence or addition of one or more other features, numbers, operations, members, elements, and/or combinations thereof.
Unless otherwise defined, all terms used herein including technical or scientific terms have the same meanings as those generally understood consistent with and after an understanding of the present disclosure. Terms, such as those defined in commonly used dictionaries, should be construed to have meanings matching with contextual meanings in the relevant art and the present disclosure, and are not to be construed as an ideal or excessively formal meaning unless otherwise defined herein.
As used in connection with various example embodiments of the disclosure, the term “module” may include a unit implemented in hardware, software, or firmware, and may interchangeably be used with other terms, for example, “logic,” “logic block,” “part,” or “circuitry.” A module may be a single integral component, or a minimum unit or part thereof, adapted to perform one or more functions. For example, according to an example embodiment, the module may be implemented in the form of an application-specific integrated circuit (ASIC).
As used herein, the term “unit” (or “-er/or”) refers to software or hardware components such as a field-programmable gate array (FPGA) or an ASIC, and the unit may perform some functions. However, the unit is not limited to software or hardware. The unit may be configured to be on an addressable storage medium or may be configured to operate one or more processors. For example, the unit may include components, such as, software components, object-oriented software components, class components, and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases (DBs), data structures, tables, arrays, and variables. The functionality provided within components and units may be combined into fewer components and units or further separated into additional components and units. Further, the components and units may be implemented to operate one or more central processing units (CPUs) in a device or security multimedia card. Furthermore, the unit or -er/or may include one or more processors.
Hereinafter, example embodiments will be described in detail with reference to the accompanying drawings. When describing the example embodiments with reference to the accompanying drawings, like reference numerals refer to like components and a repeated description related thereto is omitted.
The following embodiments will be described using a delivery robot for ease of description but may also apply to any delivery robot capable of autonomous driving and/or remote control, and thus the embodiments are not limited to the delivery robot.
Referring to
The delivery robot 11 may deliver goods based on a delivery request from a user. The delivery robot 11 may include an autonomous driving-based robot. The delivery robot 11 may directly interwork with the user device 13, the delivery robot service provider 17, and the urban infrastructure 19. The delivery robot 11 may indirectly interwork with the external entity 15 through the delivery robot service provider 17.
The delivery robot 11 may share information (e.g., identifiers, capabilities, etc.) about the delivery robot 11 with the delivery robot service provider 17.
The delivery robot 11 may share delivery status information (e.g., a current location of the delivery robot 11, a goods loading status, a type of goods, a condition of goods, etc.) with the delivery robot service provider 17.
The delivery robot 11 may identify one or more user devices associated with goods to be delivered. For example, the delivery robot 11 may identify a user device associated with loading the goods and a user device associated with unloading the goods (e.g., a user device of a recipient).
In a case where the goods are loaded or unloaded by an entity (e.g., a human or another robot) other than the delivery robot 11, the delivery robot 11 may notify the delivery robot service provider 17 that it is waiting to load or unload the goods after arriving at a loading location (or a “pick-up location” herein) or an unloading location (or a “drop-off location” or a “delivery location” herein).
The delivery robot 11 may receive, from the entity (e.g., a human or another robot) responsible for loading or unloading the goods, information indicating that the loading or unloading is completed. After receiving the information, the delivery robot 11 may notify the delivery robot service provider 17 that the loading or unloading is completed.
In a case where the goods are loaded or unloaded by the delivery robot 11, the delivery robot 11 may, after completing loading or unloading the goods, notify the delivery robot service provider 17 that the loading or unloading is completed.
After arriving at the urban infrastructure 19, the delivery robot 11 may notify the delivery robot service provider 17 that it is waiting to access the urban infrastructure 19.
The delivery robot 11 may request the delivery robot service provider 17 to transmit additional information required for autonomous driving or to access the urban infrastructure 19.
The delivery robot 11 may remain temporally synchronized with the delivery robot service provider 17.
In a case where the delivery robot 11 encounters an event (e.g., a breakdown of the delivery robot 11) that may impede delivery, the delivery robot 11 may notify the delivery robot service provider 17 of information related to the event. The delivery robot 11 may take necessary action to resolve the event.
The delivery robot 11 may directly interwork with the user device 13, the urban infrastructure 19, and other delivery robots (e.g., another delivery robot 21 in
The delivery robot 11 may notify the delivery robot service provider 17 of a result of the direct interworking.
The delivery robot 11 may interwork with the other delivery robot 21 through the delivery robot service provider 17.
The delivery robot 11 may receive a request from the delivery robot service provider 17 to handle a certain task preferentially. The delivery robot 11 may handle the requested task preferentially. The delivery robot 11 may transmit a result of handling the requested task to the delivery robot service provider 17.
The user device 13 may include one or more devices. For example, the user device 13 may include one or more of a device of a delivery requester, a device associated with loading goods, and a device associated with unloading goods. The devices described herein may include an electronic device operated by a user, such as, for example, a mobile device and a computing device, and/or an unattended electronic device configured to store and/or manage goods. The user device 13 may directly interwork with the delivery robot service provider 17 and the delivery robot 11.
The user device 13 may provide functionality (e.g., a user interface (UI)) to receive a delivery request from the user and provide delivery status information to the user.
The user device 13 may transmit delivery information input from the user to the delivery robot service provider 17.
The user device 13 may collect location information of the user device 13.
In response to receiving information that needs to be confirmed or processed by the user, the user device 13 may notify the user of this using various means (e.g., sound, vibration, light, etc.).
The user device 13 may directly interwork with the delivery robot 11 located near the user device 13. For example, when the delivery robot 11 is located within a preset distance from the user device 13, the user device 13 may directly interwork with the delivery robot 11.
When a request for loading or unloading goods is received from the delivery robot service provider 17, the user device 13 may notify the user (e.g., a person responsible for the loading, or a recipient).
The user device 13 may notify the delivery robot service provider 17 that loading or unloading the goods is completed.
The external entity 15 may include, for example, a device (e.g., a server) of a public institution (e.g., an urban control center, a disaster management agency, and an emergency rescue agency) and a device (e.g., a server) of another delivery robot service provider. The external entity 15 may directly interwork with the delivery robot service provider 17.
The delivery robot service provider 17 may include a device such as a server. The delivery robot service provider 17 may manage the delivery robot 11. The delivery robot service provider 17 may directly interwork with the delivery robot 11, the user device 13, the external entity 15, and the urban infrastructure 19.
The delivery robot service provider 17 may hold and/or manage information (e.g., an identifier, capabilities, etc.) about the delivery robot 11.
The delivery robot service provider 17 may collect and manage information (e.g., locations, identifiers, capabilities, etc.) about the urban infrastructure 19.
In response to receiving a delivery request from the user device 13, the delivery robot service provider 17 may determine whether there is an available delivery robot (e.g., the delivery robot 11). Based on the available delivery robot, the delivery robot service provider 17 may transmit information (e.g., approving the delivery request or rejecting the delivery request) to the user device 13.
The delivery robot service provider 17 may identify one or more user devices associated with the received delivery request. For example, the delivery robot service provider 17 may identify a user device of a delivery requester, a user device associated with loading goods, and a user device associated with unloading the goods (e.g., a user device of a recipient).
The delivery robot service provider 17 may generate delivery information for the delivery request. The delivery information may include at least one of the following: a pick-up location, a delivery location (or a drop-off location), a delivery time, information (e.g., location, identifier, etc.) about an infrastructure that needs to be interworked with a delivery robot, a delivery route, a type of goods, a weight of the goods, a size of the goods, and a delivery condition (e.g., appropriate temperature).
The delivery robot service provider 17 may assign a delivery robot (e.g., the delivery robot 11) for the delivery request, simultaneously with or separately from generating the delivery request.
The delivery robot service provider 17 may collect information such as a current location, a movement direction, a status (e.g., breakdown, battery status, etc.), a goods loading status, and a goods condition (e.g., temperature) of the delivery robot 11.
The delivery robot service provider 17 may transmit such delivery status information generated by the delivery robot 11 to the user device 13.
After the delivery robot 11 arrives at a pick-up location or a delivery location (or a drop-off location), the delivery robot service provider 17 may notify the user device 13 that the delivery robot 11 is waiting to load or unload goods.
After the delivery robot 11 arrives at the urban infrastructure 19, the delivery robot service provider 17 may notify the urban infrastructure 19 that the delivery robot 11 is waiting to interwork with the urban infrastructure 19.
The delivery robot service provider 17 may notify the delivery robot 11 of a response (e.g., a result of requesting interworking) to a request for interworking received from the urban infrastructure 19.
The delivery robot service provider 17 may collect additional information, in addition to the delivery information, from the urban infrastructure 19 and/or the external entity 15. The delivery robot service provider 17 may provide the collected additional information to the delivery robot 11.
The delivery robot service provider 17 may receive, from the user device 13, information indicating that loading or unloading goods is completed. The delivery robot service provider 17 may transmit the received information to the delivery robot 11.
The delivery robot service provider 17 may receive, from the delivery robot 11, information indicating that loading or unloading goods is completed. The delivery robot service provider 17 may transmit the received information to the user device 13.
The delivery robot service provider 17 may determine whether the delivery robot 11 is able to continue to deliver goods, based on the delivery status information generated by the delivery robot 11.
The delivery robot service provider 17 may receive a result of the direct interworking from the delivery robot 11. In response to receiving the result, the delivery robot service provider 17 may update the delivery information.
The delivery robot service provider 17 may receive a request from the external entity 15. For example, the external entity 15 may request the delivery robot service provider 17 to transmit visual information about a space around the delivery robot 11. The delivery robot service provider 17 may evaluate (or determine) the request (e.g., the contents of the request) from the external entity 15. The delivery robot service provider 17 may classify the request from the external entity 15 as an urgent request/non-urgent request. The delivery robot service provider 17 may notify the delivery robot 11 of the request from the external entity 15. For example, when the request from the external entity 15 needs to be handled preferentially, the delivery robot service provider 17 may transmit, to the delivery robot 11, priority information of the request along with the request from the external entity 15.
The delivery robot service provider 17 may process the request from the external entity 15 and notify the external entity 15 of a processing result obtained by processing the request.
In a case where a plurality of delivery robots is waiting to interwork with the same urban infrastructure, the delivery robot service provider 17 may determine a priority among the plurality of delivery robots. The priority described herein may refer to an order in which the plurality of delivery robots is to use the urban infrastructure. To determine the priority, the delivery robot service provider 17 may use delivery status information (e.g., a type of good, a condition of the good, etc.) of each of the plurality of delivery robots.
The delivery robot service provider 17 may receive, from the delivery robot 11, a result of interworking (e.g., direct interworking) between the delivery robot 11 and another delivery robot (e.g., the other delivery robot 21). The delivery robot service provider 17 may determine, from the received result, that the other delivery robot 21 is managed by another delivery service provider (e.g., another delivery robot service provider 35 in
The delivery robot service provider 17 may convert a specific coordinate system (e.g., a cartesian coordinate system) to another coordinate system (e.g., a spherical coordinate system). The delivery robot service provider 17 may use any suitable coordinate system to identify a current location of the delivery robot 11. The delivery robot service provider 17 may use any suitable coordinate system to assist the delivery robot 11 in its operations (e.g., loading and unloading goods or access to the urban infrastructure 19). The delivery robot service provider 17 may use any suitable coordinate system to exchange information with the other delivery robot service provider 35.
The urban infrastructure 19 may include facilities (e.g., elevators, gates, communal entrances, electric charging stations, etc.) the delivery robot 11 needs to use, access, and/or pass through to deliver goods. The urban infrastructure 19 described herein may refer to a device (e.g., a server) that manages the urban infrastructure 19. The urban infrastructure 19 may directly interwork with the delivery robot 11 and the delivery robot service provider 17.
The urban infrastructure 19 may share information about the urban infrastructure 19 (e.g., identifiers, capabilities, locations, etc.) with the delivery robot service provider 17.
The urban infrastructure 19 may notify the delivery robot service provider 17 of whether the delivery robot 11 is approved to access the urban infrastructure 19.
The urban infrastructure 19 may request the delivery robot service provider 17 to transmit information about goods loaded on the delivery robot 11.
The urban infrastructure 19 may directly interwork with the delivery robot service provider 17. The urban infrastructure 19 may interwork with the delivery robot service provider 17 through other systems (e.g., a building management system, an external infrastructure management service system, etc.).
The urban infrastructure 19 may directly interwork with the delivery robot 11 located near the urban infrastructure 19.
In response to the request from the delivery robot service provider 17, the urban infrastructure 19 may provide the information about the urban infrastructure 19 (e.g., service status, availability, breakdown, inspection, etc.) to the delivery robot service provider 17. The delivery robot service system 10 may have a data security means (e.g., communication encryption) for interworking.
The delivery robot service system 10 may have a means to prevent the forgery of data for interworking.
The delivery robot service system 10 may have a means to prevent leakage of user personal information and user location information.
Referring to
The delivery robot service provider 17 may confirm the delivery request and assign a delivery robot (e.g., the delivery robot 11 in
The delivery robot 11 may perform autonomous driving to travel to a pick-up location of goods. The delivery robot 11 may interwork with the user device 13 to load the goods.
The delivery robot 11 may perform autonomous driving to travel to a destination (e.g., a delivery location) with the goods loaded thereon.
The delivery robot 11 may interwork with an urban infrastructure (e.g., the urban infrastructure 19 in
After arriving at the destination, the delivery robot 11 may unload the goods. The delivery robot 11 may interwork with the user device 13 to unload the goods.
Referring to
In operation 405, the user device 13 (e.g., a device of a delivery requester) may transmit a delivery request to the delivery robot service provider 17. The delivery robot service provider 17 may receive the delivery request and determine whether there is an available delivery robot. When there is an available delivery robot (e.g., the delivery robot 11), the delivery robot service provider 17 may transmit a delivery request approval to the user device 13.
In operation 410, the delivery robot service provider 17 may generate delivery information for the approved delivery request. The delivery information may include at least one of the following: a pick-up location, a delivery location, a delivery time, information (e.g., locations, identifiers, etc.) about an infrastructure that needs to be interworked with a delivery robot, a delivery route, a type of good, a weight of the good, a size of the good, and a delivery condition (e.g., appropriate temperature).
In operation 415, the delivery robot service provider 17 may assign the delivery robot 11 that is to perform the approved delivery request.
In operation 420, the delivery robot 11 may perform autonomous driving to travel to a pick-up location of goods.
In operation 425-1, after arriving at the pick-up location, the delivery robot 11 may notify the delivery robot service provider 17 that the delivery robot 11 is waiting to load the goods.
In operation 425-2, the delivery robot service provider 17 may notify the user device 13 (e.g., a robot, a device of a person managing the loading, etc.) that the delivery robot 11 is waiting to load the goods.
In operation 430, the delivery robot 11 may load the goods.
In operation 435-1, the delivery robot 11 may notify the delivery robot service provider 17 that loading the goods is completed.
In operation 435-2, the delivery robot service provider 17 may notify the user device 13 that loading the goods is completed.
In operation 440, the delivery robot 11 may perform autonomous driving to travel to a delivery location (e.g., a destination).
In operation 445, when the delivery robot 11 arrives at the urban infrastructure 19 located on a delivery route, the delivery robot 11 may notify the delivery robot service provider 17 that the delivery robot 11 is waiting to access the urban infrastructure 19.
In operation 450, the delivery robot service provider 17 may transmit an access approval request to the urban infrastructure 19.
In operation 455, the urban infrastructure 19 may determine whether to approve the access.
In operation 460, the urban infrastructure 19 may notify the delivery robot service provider 17 that the access is approved.
In operation 465, the delivery robot service provider 17 may notify the delivery robot 11 that the access is approved.
In operation 470, the delivery robot 11 may access the urban infrastructure 19. For example, the delivery robot 11 may enter an elevator or pass through a communal entrance.
In operation 475, the delivery robot 11 may perform autonomous driving to travel to the delivery location (e.g., the destination).
In operation 480-1, upon arriving at the delivery location, the delivery robot 11 may notify the delivery robot service provider 17 that the delivery robot 11 is waiting to unload the goods.
In operation 480-2, the delivery robot service provider 17 may notify the user device 13 (e.g., a robot, a device of a recipient, etc.) that the delivery robot 11 is waiting to unload the goods.
In operation 485, the delivery robot 11 may unload the goods.
In operation 490-1, the delivery robot 11 may notify the delivery robot service provider 17 that unloading the goods is completed.
In operation 490-2, the delivery robot service provider 17 may notify the user device 13 that unloading the goods is completed.
Referring to
The delivery service provider 23 may provide a service for delivering goods (or simply a goods delivery service). The delivery service provider 23 may manage requests (or goods delivery requests) for delivering goods to users who request the goods delivery service such that the user may use the service. To manage the goods delivery requests, the delivery service provider 23 may generate delivery information and transmit delivery completion information. The delivery service provider 23 may be implemented as a server (e.g., a server device).
The delivery service provider 23 may receive a delivery request (e.g., a delivery request from a user) from the requesting user device 13-1. The delivery service provider 23 may generate delivery information for the delivery request and transmit it to the delivery robot service provider 17. The delivery information may include at least one of the following: a pick-up location, a delivery location, a delivery time, information about one or more infrastructures (e.g., the urban infrastructure 19) that need to be interworked with a delivery robot (e.g., the delivery robot 11), a delivery route, a type of good, a weight of the good, a size of the good, and a delivery condition (e.g., appropriate temperature). The one or more infrastructures may be located along the delivery route.
The delivery robot service provider 17 may operate and manage the delivery robot 11, and may generate and manage route information for the delivery robot 11 to perform goods delivery and charging. The delivery robot service provider 17 may include a route information management system 17-1 configured to manage the route information and a delivery robot management system 17-3 configured to manage the delivery robot 11. The delivery robot management system 17-3 may assign the delivery robots 11 that is to deliver goods based on the delivery information. The delivery robot management system 17-3 may notify the user device (e.g., the transmitting user device 13-3 or the receiving user device 13-5) that the delivery robot 11 is waiting to load/unload the goods, and may notify the delivery robot 11 that loading/unloading the goods is completed. The route information management system 17-1 may generate the route information for delivering the goods based on the delivery information. The route information management system 17-1 may generate the route information using robot map information obtained from the robot map service provider 27 and the delivery information.
The robot map service provider 27 may generate and provide the robot map information (e.g., including a map and spatial object information) for the delivery robot 11.
The delivery robot 11 may perform autonomous driving to travel to a pick-up location/delivery location (e.g., a destination) of the goods based on the route information. The delivery robot 11 may be a device associated with loading the goods and/or a device associated with unloading the goods.
The requesting user device 13-1 may be a device of a delivery requester. The requesting user device 13-1 may transmit a delivery request to the delivery service provider 23 to request delivering goods based on an input from a user (e.g., the delivery requester).
The transmitting user device 13-3 may be a device associated with loading goods. The transmitting user device 13-3 may receive, from the delivery robot service provider 17, information (e.g., loading request information) indicating that the delivery robot 11 is waiting to load the goods. An object (e.g., a human, another robot, etc.) located at a pick-up location (or a loading location) may load the goods onto the delivery robot 11. After the object located at the pick-up location loads the goods onto the delivery robot 11, the transmitting user device 13-3 may transmit, to the delivery robot service provider 17, information (e.g., loading completion information) indicating that loading the goods is completed.
The receiving user device 13-5 may be a device associated with unloading goods. The receiving user device 13-5 may receive, from the delivery robot service provider 17, information (e.g., unloading request information) indicating that the delivery robot 11 is waiting to unload the goods. An object (e.g., a human, another robot, etc.) located at a delivery location (or an unloading location) may unload the goods from the delivery robot 11. After the object located at the delivery location unloads the goods from the delivery robot 11, the receiving user device 13-5 may transmit, to the delivery robot service provider 17, information (e.g., unloading completion information) indicating that unloading the goods is completed.
The requesting user device 13-1, the transmitting user device 13-3, and the receiving user device 13-5 may be different devices or two or more of them may be the same device. For example, the requesting user device 13-1, the transmitting user device 13-3, and the receiving user device 13-5 may be respective devices of different users. For another example, the requesting user device 13-1 and the transmitting user device 13-3 may be the same device of the same user, while the receiving user device 13-5 may be a device of another user. For another example, the requesting user device 13-1 and the receiving user device 13-5 may be the same terminal of the same user, while the transmitting user device 13-3 may be a device of another user.
The operations of the delivery robot 11, the user device (e.g., 13-1, 13-3, and 13-5), and/or the delivery robot service provider 17 described above may be substantially the same as what has been described above with reference to
Referring to
In operation 605, the requesting user device 13-1 may request the delivery service provider 23 to deliver goods. The requesting user device 13-1 may generate delivery request information to request the delivery of the goods and may transmit the delivery request information to the delivery service provider 23. The delivery request information may include the number N of times of loading (e.g., N is a natural number greater than 1) and/or the number M of times of unloading (e.g., M is a natural number greater than 1). In this case, N may denote the number of pick-up locations (or loading locations), and M may denote the number of delivery locations (or unloading or drop-off locations).
In operation 610, the delivery service provider 23 may generate delivery information based on the delivery request information and transmit the delivery information to the delivery robot management system 17-3 included in the delivery robot service provider 17. The delivery information may include at least one of the following: the N pick-up locations, the M delivery locations, a delivery time, information about one or more infrastructures (e.g., the urban infrastructure 19) that need to be interworked with a delivery robot (e.g., the delivery robot 11), a delivery route, a type of good, a weight of the good, a size of the good, and a delivery condition (e.g., appropriate temperature). The one or more infrastructures may be located along the delivery route.
In operation 615, the delivery robot management system 17-3 may identify and/or assign the delivery robot 11 (e.g., a delivery robot available to deliver goods) that is to perform the delivery request based on the delivery information, extract (or derive) pick-up/delivery locations (e.g., loading/unloading location information) from the delivery information, and request the route information management system 17-1 included in the delivery robot service provider 17 for route information including the pick-up/delivery locations. The delivery robot management system 17-3 may transmit the delivery information to the route information management system 17-1 while requesting the route information.
In operation 620, the route information management system 17-1 may obtain robot map information from the robot map service provider 27. The robot map information may include latest robot map information stored (or archived) in a robot map database (DB) (not shown) included in the robot map service provider 27. The route information management system 17-1 may request the robot map service provider 27 for the robot map information, and the robot map service provider 27 may transmit the robot map information (e.g., the latest robot map information) to the route information management system 17-1 in response to the request from the route information management system 17-1. The route information management system 17-1 may also obtain (e.g., receive) the robot map information from the robot map service provider 27 in advance. The route information management system 17-1 may receive continuously updated robot map information from the robot map service provider 27.
In operation 625, the route information management system 17-1 may generate route information for an optimal route between a pick-up location and a delivery location based on the pick-up/delivery locations included in the delivery information and the robot map information, and may transmit the route information to the delivery robot management system 17-3. In a case where the delivery information includes the N pick-up locations and the M delivery locations, the route information management system 17-1 may determine a different order of loading and unloading based on the route information.
In operation 630, the delivery robot management system 17-3 may transmit the route information to the delivery robot 11 that is to deliver the goods.
In operation 635, the delivery robot 11 may generate delivery status information (e.g., a current location of the delivery robot 11, status information of the delivery robot 11, a goods loading status, a type of the goods, and a condition of the goods), and transmit the delivery status information to the delivery robot management system 17-3. For example, the delivery robot 11 may travel to the pick-up location based on the route information. The delivery robot 11 may generate the delivery status information while traveling to the pick-up location and transmit the delivery status information to the delivery robot management system 17-3. The delivery status information may be first delivery status information, in operation 635.
In operation 640, the delivery robot management system 17-3 may check whether the delivery robot 11 arrives at the pick-up location based on the delivery status information. When the delivery robot 11 arrives at the pick-up location, the delivery robot management system 17-3 may transmit loading request information to the transmitting user device 13-3. The transmitting user device 13-3 may recognize that the delivery robot 11 is waiting to load the goods based on the loading request information.
In operation 645, an object (e.g., a human, another robot, etc.) located at the pick-up location may check the loading request information through the transmitting user device 13-3 and may load the goods onto the delivery robot 11 based on the loading request information. In this case, the delivery robot 11 may also load the goods. After the object located at the pick-up location loads the goods onto the delivery robot 11, the transmitting user device 13-3 and/or the delivery robot 11 may transmit, to the delivery robot management system 17-3, loading completion information indicating that loading the goods is completed.
In operation 650, the delivery robot management system 17-3 may transmit the loading completion information to the delivery robot 11. In this case, when the delivery robot 11 transmits the loading completion information to the delivery robot management system 17-3, the delivery robot management system 17-3 may transmit the loading completion information to the transmitting user device 13-3 to notify the transmitting user device 13-3 of the completion of loading the goods.
In operation 655, after receiving the loading completion information, the delivery robot 11 may perform autonomous driving to travel to the delivery location based on the route information. While traveling to the delivery location, the delivery robot 11 may generate delivery status information (e.g., a current location of the delivery robot 11, status information of the delivery robot 11, a goods loading status, a type of goods, a condition of the goods, etc.), and transmit the delivery status information to the delivery robot management system 17-3. The delivery status information may be second delivery status information, in operation 655.
In operation 660, the delivery robot management system 17-3 may determine whether the delivery robot 11 arrives at the delivery location based on the delivery status information. When the delivery robot 11 arrives at the delivery location, the delivery robot management system 17-3 may transmit unloading request information to the receiving user device 13-5. The receiving user device 13-5 may recognize from the unloading request information that the delivery robot 11 is waiting to unload the goods.
In operation 665, an object (e.g., a human, another robot, etc.) located at the delivery location may check the unloading request information through the receiving user device 13-5, and unload the goods from the delivery robot 11 based on the unloading request information. In this case, the delivery robot 11 may also unload the goods. After the object located at the delivery location unloads the goods from the delivery robot 11, the receiving user device 13-5 and/or the delivery robot 11 may transmit, to the delivery robot management system 17-3, unloading completion information indicating that unloading the goods is completed.
In operation 670, the delivery robot management system 17-3 may transmit the unloading completion information to the delivery robot 11. In this case, when the delivery robot 11 transmits the unloading completion information to the delivery robot management system 17-3, the delivery robot management system 17-3 may transmit the unloading completion information to the receiving user device 13-5 to notify the receiving user device 13-5 of the completion of unloading the goods.
In operation 680, the delivery robot management system 17-3 may generate delivery completion information based on the unloading completion information, and may transmit the delivery completion information to the delivery service provider 23.
In operation 690, the delivery service provider 23 may transmit the delivery completion information to the requesting user device 13-1.
For example, in a case where the delivery request information includes N pick-up locations, operations 635 through 650 may be performed N times. At each of the N pick-up locations, goods may be loaded onto the delivery robot 11.
For another example, in a case where the delivery request information includes M delivery locations, operations 655 through 670 may be performed M times. At each of the M delivery locations, goods may be unloaded from the delivery robot 11.
For still another example, in a case where the delivery request information includes N number of times of loading and M number of times of unloading, the delivery robot 11 may perform the delivery in sequential order of loading and unloading based on the route information. For example, in a case where a user orders coffee, bottled water, and digestive medicine from 1) a cafe, 2) a convenience store, and 3) a drug store, respectively, and requests that the coffee be delivered to 4) a workplace, and the remaining ones including the bottled water and the digestive medicine be delivered to 5) a home, the delivery robot service provider 17 may generate (or calculate) route information, such as, for example, loading 1 (e.g., coffee @ cafe)→loading 2 (e.g., bottled water @ convenience store)→unloading 1 (e.g., coffee @ workplace)→loading 3 (e.g., digestive medicine @ drug store)>unloading 2 (e.g., bottled water and digestive medicine @ home). The delivery robot 11 may perform three times of loading and two times of unloading based on the route information. As described above, in a case where the delivery request information includes N times of loading and M times of unloading, the order of loading and unloading may vary depending on route information.
Referring to
The delivery robot service provider 17A may receive delivery information transmitted from a delivery service provider (e.g., the delivery service provider 23 in
The delivery robot service provider 17A may generate the delivery information in response to the delivery request (e.g., the delivery request from the user). The delivery information may be delivery route information. The delivery information may include at least one of the following: a pick-up location, a delivery location, a delivery time, information (e.g., location, identifier, communication method, and/or elevator function information) about at least one infrastructure (e.g., the infrastructure 19 in
The delivery robot service provider 17A may operate and manage the delivery robot 11A, and may generate and manage route information for delivering the goods and charging the delivery robot 11A. The delivery robot service provider 17A may include a delivery robot management system 17A-3 that manages the delivery robot 11A.
The delivery robot 11A may be a delivery robot managed by the delivery robot service provider 17A. The delivery robot 11A may deliver the goods based on the delivery information transmitted from the delivery robot service provider 17A.
The delivery robot service provider 17B may receive delivery information transmitted from the delivery service provider (e.g., the delivery service provider 23 in
The delivery robot service provider 17B may generate the delivery information in response to the delivery request (e.g., the delivery request from the user). The delivery information may include at least one of the following: a pick-up location, a delivery location, a delivery time, information (e.g., location, identifier, communication method, and/or elevator function information) about at least one infrastructure (e.g., the infrastructure 19 in
The delivery robot service provider 17B may operate and manage the delivery robot 11B, and may generate and manage route information for delivering the goods and charging the delivery robot 11B. The delivery robot service provider 17B may include a delivery robot management system 17B-3 that manages the delivery robot 11B.
The delivery robot 11B may be a delivery robot managed by the delivery robot service provider 17B. The delivery robot 11B may deliver the goods based on the delivery information transmitted from the delivery robot service provider 17B.
The delivery robot 11A and the delivery robot 11B may meet at a shared infrastructure (e.g., a space or facility such as an elevator, a communal entrance, etc.), on their respective delivery routes. For the delivery robot 11A and the delivery robot 11B to use the shared infrastructure, coordinating a priority for using the infrastructure may be required.
To coordinate the priority for using the infrastructure, the delivery robot identification service provider 29 may enable an information exchange between delivery robot service providers requiring the coordination. For the information exchange between delivery robot service providers, the delivery robot identification service provider 29 may match and register identifiers of delivery robots managed by the respective delivery robot service providers with information of corresponding delivery robot service providers. For example, the delivery robot identification service provider 29 may match and register an identifier of the delivery robot 11A with information of the delivery robot service provider 17A, and may match and register an identifier of the delivery robot 11B with information of the delivery robot service provider 17B.
The delivery robot identification service provider 29 may enable an exchange of information between the delivery robot service provider 17A and the delivery robot service provider 17B. The delivery robot service provider 17A and the delivery robot service provider 17B may negotiate the priority for using the infrastructure based on the exchanged information.
Referring to
The delivery robot 11A may detect the delivery robot 11B that shares a space with the delivery robot 11A. In a case where the delivery robot 11A and the delivery robot 11B share a space, a congestion or a collision may occur due to independent behaviors of the delivery robot 11A and the delivery robot 11B. For example, in a case where both the delivery robot 11A and the delivery robot 11B competitively attempt to obtain a space (e.g., the moving space 810 and the stationary space 830), a collision may occur between the delivery robot 11A and the delivery robot 11B. For another example, in a case where both the delivery robot 11A and the delivery robot 11B are waiting to yield a space (e.g., the moving space 810 and the stationary space 830) to the other delivery robot, providing a service may be delayed, and a congestion may thereby occur. When such a congestion or collision occurs between a plurality of delivery robots operated by the same service provider, traffic management may be performed by the service provider. The traffic management may be performed based on a consensus on priority related to an order of movement (or herein a movement order) among the plurality of delivery robots. In this case, a traffic management method may be required to prevent a congestion or collision among a plurality of delivery robots operated by different service providers.
Referring to
The delivery robot 11A and the delivery robot 11B may meet at a shared infrastructure (e.g., a space or facility such as an elevator, a communal entrance, etc.) on their respective delivery routes. For the delivery robot 11A and the delivery robot 11B to use the shared infrastructure, coordinating a priority for using the infrastructure may be required.
In operation 910, the delivery robot 11A and the delivery robot 11B may exchange identifiers (or identifier information). The delivery robot 11A may transmit an identifier of the delivery robot 11A to the delivery robot 11B, and the delivery robot 11B may transmit an identifier of the delivery robot 11B to the delivery robot 11A.
In operation 920, the delivery robot 11A may transmit the identifier of the delivery robot 11B to the delivery robot management system 17A-3 of the delivery robot service provider 17A. When transmitting the identifier of the delivery robot 11B, the delivery robot 11A may generate delivery status information (e.g., a current location of the delivery robot 11A, status information of the delivery robot 11A, a goods loading status, a type of goods, and a condition of the goods), and transmit the delivery status information to the delivery robot management system 17A-3 along with the identifier of the delivery robot 11B.
In operation 930, the delivery robot 11B may transmit the identifier of the delivery robot 11A to the delivery robot management system 17B-3 of the delivery robot service provider 17B. When transmitting the identifier of the delivery robot 11A, the delivery robot 11B may generate delivery status information (e.g., a current location of the delivery robot 11B, status information of the delivery robot 11B, a goods loading status, a type of goods, and a condition of the goods), and transmit the delivery status information to the delivery robot management system 17B-3 along with the identifier of the delivery robot 11A.
In operation 940, the delivery robot management system 17A-3 may transmit the identifier of the delivery robot 11B to the delivery robot identifier management system 29-1 of the delivery robot identification service provider 29.
In operation 945, in response to the identifier of the delivery robot 11B received from the delivery robot management system 17A-3, the delivery robot identifier management system 29-1 may transmit, to the delivery robot management system 17A-3, information (e.g., information for communicating with (or accessing) the delivery robot service provider 17B) of the delivery robot service provider 17B managing the delivery robot 11B.
In operation 950, the delivery robot management system 17B-3 may transmit the identifier of the delivery robot 11A to the delivery robot identifier management system 29-1 of the delivery robot identification service provider 29.
In operation 955, in response to the identifier of the delivery robot 11A received from the delivery robot management system 17B-3, the delivery robot identifier management system 29-1 may transmit, to the delivery robot management system 17B-3, information (e.g., information for communicating with (or accessing) the delivery robot service provider 17A) of the delivery robot service provider 17A managing the delivery robot 11A.
In operation 960, the delivery robot management system 17A-3 and the delivery robot management system 17B-3 may exchange the delivery status information and/or delivery information of their delivery robots. The delivery robot management system 17A-3 may transmit the delivery status information and/or delivery information associated with the delivery robot 11A to the delivery robot management system 17B-3 with which a priority is required to be negotiated. The delivery robot management system 17B-3 may transmit the delivery status information and/or delivery information associated with the delivery robot 11B to the delivery robot management system 17A-3 with which a priority is required to be negotiated.
In operation 970, the delivery robot management system 17A-3 and the delivery robot management system 17B-3 may negotiate a priority for movement based on the exchanged delivery status information and/or delivery information.
In operation 980, the delivery robot management system 17A-3 may transmit priority information determined by such a priority negotiation to the delivery robot 11A. The delivery robot 11A may then move according to the priority information.
In operation 990, the delivery robot management system 17B-3 may transmit the priority information determined by the priority negotiation to the delivery robot 11B. The delivery robot 11B may then move according to the priority information.
For example, in a case where a delivery robot management system already knows an identifier of a delivery robot and thus knows information about another delivery robot management system with which a negotiation is to be performed, operations 940 to 955 may be omitted.
Referring to
In operation 1001, the delivery robot 11A may detect a space sharing situation in which the delivery robot 11A shares a space with the delivery robot 11B. The delivery robot 11A may calculate a congestion level based on at least one of an area of the space, a type of the space, a size of the delivery robot 11A, or a size of the delivery robot 11B. In response to the congestion level satisfying a threshold value, the delivery robot 11A may determine that the delivery robot 11A is sharing the space with the delivery robot 11B. The space sharing situation may include a potential congestion situation and a potential collision situation that may occur as a plurality of delivery robots shares the same space (e.g., the moving space 810 in
In operation 1002, the delivery robot 11A may share an identifier with the delivery robot 11B. The delivery robot 11A may obtain information about a corresponding delivery robot by exchanging an identifier with the delivery robot. The delivery robot 11A may directly interwork with the delivery robot 11B. The delivery robot 11A may share the identifier with the delivery robot 11B by directly interworking with the delivery robot 11B.
In operation 1003, the delivery robot 11A may transmit a status of the delivery robot 11A to the delivery robot service provider 17A. The delivery robot 11A may notify the delivery robot service provider 17A that the space sharing situation with the delivery robot 11B has occurred, along with the identifier for the delivery robot 11B.
In operation 1004, the delivery robot service provider 17A may recognize the space sharing situation and derive a value function. The delivery robot service provider 17A may recognize the space sharing situation based on the status of the delivery robot 11A received from the delivery robot 11A. The delivery robot service provider 17A may derive a first value function corresponding to the delivery robot 11A. The first value function may be determined based on a service providing time of the delivery robot 11A. A value function is described in more detail below with reference to
In operation 1005, the delivery robot service provider 17A may determine a consensus policy corresponding to the delivery robot 11A. The delivery robot service provider 17A may determine a first consensus policy corresponding to the delivery robot 11A. The consensus policy may include a policy regarding a consensus decision (e.g., a priority consensus decision regarding a movement order) with another delivery robot in a space sharing situation with the other delivery robot. The consensus policy (e.g., the first consensus policy and a second consensus policy) may include a cooperation policy and a competition policy. The cooperation policy may be a policy by which a consensus about a priority for a movement order is made between a delivery robot (e.g., the delivery robot 11A) and another delivery robot (e.g., the delivery robot 11B) sharing a space with the delivery robot. The competition policy may be a policy by which a consensus about a priority for a movement order is not made between a delivery robot (e.g., the delivery robot 11A) and another delivery robot (e.g., the delivery robot 11B) sharing a space with the delivery robot. It is to be noted that the cooperation policy and the competition policy are provided only as examples of the consensus policy, and the types of consensus policy are not limited thereto. The delivery robot service provider 17A may determine the first consensus policy of the delivery robot 11A based on the first value function corresponding to the delivery robot 11A. For example, the delivery robot service provider 17A may determine the first consensus policy of the delivery robot 11A to be the cooperation policy or the competition policy, based on the first value function. The delivery robot service provider 17A may determine the first consensus policy to be the cooperation policy or the competition policy based on information (e.g., a type of service and the service providing time) about a service to be provided by the delivery robot 11A.
In operation 1006, the delivery robot service provider 17A may exchange the consensus policy with the delivery robot service provider 17B. The delivery robot service provider 17A may exchange the first consensus policy of the delivery robot 11A for the second consensus policy of the delivery robot 11B.
In operation 1007, the delivery robot service provider 17A may recognize consensus policies of all delivery robots. For example, the delivery robot service provider 17A may recognize the first consensus policy of the delivery robot 11A and the second consensus policy of the delivery robot 11B received from the delivery robot service provider 17B.
In operation 1008, the delivery robot service provider 17A may determine whether the first consensus policy and the second consensus policy are the cooperation policy. When the first consensus policy and the second consensus policy are determined as the cooperation policy, the delivery robot service provider 17A may determine a moving method of the delivery robot 11A to be a first moving method and perform operation 1011. The first moving method may be based on the priority related to the movement order between the delivery robot 11A and the delivery robot 11B. When the first consensus policy and the second consensus policy are not determined as the cooperation policy (e.g., when at least one of the first consensus policy and the second consensus policy is the competition policy), the delivery robot service provider 17A may determine the moving method of the delivery robot 11A to be a second moving method. The second moving method may be a moving method in which the delivery robot 11A and the delivery robot 11B do not consent to the movement order and each independently determines its behavior. When the moving method of the delivery robot 11A is determined to be the second moving method, the delivery robot service provider 17A may transmit, to the delivery robot 11A, movement information (e.g., delivery information) that the delivery robot service provider 17A generates independently without considering the delivery robot 11B.
In operation 1009, the delivery robot 11A may determine whether the space sharing situation has been detected. The delivery robot 11A may behave based on the movement information generated by the delivery robot service provider 17A and may determine again whether the space sharing situation has occurred. When detecting that a space sharing situation has occurred, the delivery robot 11A may perform operations again, starting with operation 1001. When the delivery robot 11A does not detect the space sharing situation, the delivery robot 11A may transmit the status of the delivery robot 11A to the delivery robot service provider 17A (i.e., perform operation 1010) and terminate the operations.
In operation 1011, the delivery robot service provider 17A and the delivery robot service provider 17B may share the service providing time information and the value function. The delivery robot service provider 17A may exchange, with the delivery robot service provider 17B, the service providing time information of the delivery robot 11A for service providing time information of the delivery robot 11B. The delivery robot service provider 17A may exchange, with the delivery robot service provider 17B, the first value function corresponding to the delivery robot 11A for a second value function corresponding to the delivery robot 11B. The second value function may correspond to the delivery robot 11B and may be derived by the delivery robot service provider 17B.
In operation 1012, the delivery robot service provider 17A may derive the priority related to the movement order between the delivery robot 11A and the delivery robot 11B. This operation of deriving the priority, performed by the delivery robot service provider 17A, is described in more detail below with reference to
In operation 1013, the delivery robot service provider 17A may confirm the priority in a relationship with the delivery robot service provider 17B. The delivery robot service provider 17A may confirm the derived priority of the delivery robot 11A and the derived priority of the delivery robot 11B. Each service provider may confirm priorities of all delivery robots and determine a priority of a corresponding delivery robot operated by each service provider.
In operation 1014, the delivery robot service provider 17A may transmit the priority to the delivery robot 11A. The delivery robot service provider 17A may transmit the priority to the delivery robot 11A to control the movement of the delivery robot 11A according to the first moving method.
In operation 1015, the delivery robot 11A may recognize the priority received from the delivery robot service provider 17A and behave according to the priority. The delivery robot 11A may control its movement based on the priority received from the delivery robot service provider 17A. In this case, the movement of the delivery robot 11A may be controlled according to the first moving method based on the priority related to the movement order between the delivery robot 11A and the delivery robot 11B.
In operation 1016, the delivery robot 11A may transmit a status of the delivery robot 11A to the delivery robot service provider 17A. As the delivery robot 11A has moved according to the first moving method, the space sharing situation may be resolved. The delivery robot 11A may notify the delivery robot service provider 17A that the delivery robot 11A has resolved the space sharing situation.
In operation 1017, the delivery robot service provider 17A may confirm that the situation (e.g., the space sharing situation) has been resolved and terminate the operations.
Referring to
The value function may include a first value function and a second value function. The first value function and the second value function may be value functions corresponding to a first delivery robot (e.g., the delivery robot 11A in
A value (e.g., a first value) of the delivery robot i (e.g., the delivery robot 11A) may be determined based on a user's satisfaction level associated with a service providing time of the delivery robot i and on a value function (e.g., the first value function) corresponding to the delivery robot i. A service providing time (e.g., a service providing time 1120) may refer to a time duration that may include a time duration during which the delivery robot i (e.g., the delivery robot 11A) is expected to provide a service (e.g., delivering goods and cleaning). The service providing time may be a specific time duration (e.g., n minutes) within which a service according to a request of a user needs to start or finish. The service providing time 1120 may vary for each delivery robot. For example, the service providing time 1120 may vary depending on a status of each delivery robot and a type of service provided by each delivery robot. The service providing time 1120 may vary depending on a content (e.g., a type of service and a type of goods) of a service provision request from a user device. For example, in a case where the delivery robot i is a delivery robot (e.g., the delivery robot 11), the service providing time 1120 may include a time to load and/or unload goods of a user requesting delivery. For another example, in a case where the delivery robot i is a cleaning robot that provides a cleaning service, the service providing time 1120 may include an available cleaning time.
According to an embodiment, a service providing time may include a time duration during which the user's satisfaction level with the service provided by the delivery robot i is highest. The value (e.g., the first value) of the delivery robot i may be highest at the service providing time (e.g., the service providing time 1120). For example, the value v_i_(t) 1130 of the delivery robot i may be the highest during the service providing time 1120, which may be from a time t_{w,0} to a time t_{w,f}. Since the service providing time 1120 is the time during which the delivery robot i is expected to provide a service, the user's satisfaction level may be highest during the service providing time 1120. The value v_i_(t) 1130 of the delivery robot i may vary depending on the user's satisfaction level. For example, when the delivery robot i provides the service too early (e.g., when providing the service in a time duration from a time t_{s,0} to the time t_{w,0}) or too late (e.g., when providing the service after the time t_{w,f}), the value v_i_(t) 1130 of the delivery robot i may decrease as the satisfaction level of a user receiving the service may decrease.
Referring to
In operation 1210, the delivery robot service provider 17A may compute a combination S of delivery robots (e.g., the delivery robot 11B) that share a space with the delivery robot i (e.g., the delivery robot 11A). The combination S of delivery robots may include a combination of one or more delivery robots (e.g., the delivery robot 11B) that share a space (e.g., the moving space 810 in
In operation 1230, the delivery robot service provider 17A may calculate a marginal contribution of the delivery robot i (e.g., the delivery robot 11A) to the combination S. The marginal contribution of the delivery robot i to the combination S may refer to a difference between a value corresponding to a case where the delivery robot i is in the combination S and a value corresponding to a case where the delivery robot i is not in the combination S. For example, the marginal contribution may include a Shapley value. The delivery robot service provider 17A may calculate the marginal contribution based on a value function corresponding to each delivery robot. The delivery robot service provider 17A may calculate the marginal contribution of the delivery robot i based on a value of each delivery robot according to the value function. The delivery robot service provider 17A may calculate the marginal contribution of the delivery robot i to the combination S based on Equation 1 below.
In Equation 1, φi(v) denotes the marginal contribution of the delivery robot i, N denotes the set of the plurality of delivery robots, v(S) denotes a value generated by a coalition of the delivery robots included in the combination S, and v(SU {i})−v(S) denotes a value representing a contribution of the delivery robot i to the combination S.
In operation 1250, the delivery robot service provider 17A may derive an average marginal contribution of the delivery robot i to the combination S. For example, for the combination S including one or more delivery robots sharing a space with the delivery robot i, the delivery robot service provider 17A may calculate a marginal contribution of the delivery robot i to each combination and derive an average of calculated marginal contributions. The delivery robot service provider 17A may derive a priority based on the average marginal contribution of the delivery robot i. For example, a delivery robot with a higher marginal contribution may be determined to have a higher priority.
In operation 1270, the delivery robot service provider 17A may derive a priority related to a movement order between a plurality of delivery robots. For example, the delivery robot service provider 17A may determine a priority related to a movement order between the delivery robot 11A and the delivery robot 11B based on a first value function corresponding to the delivery robot 11A and a second value function corresponding to the delivery robot 11B. The delivery robot service provider 17A may determine the priority based on a first value of the delivery robot 11A from the first value function and a second value of the delivery robot 11B from the second value function. The priority may be determined such that a sum of the first value and the second value is maximized.
Referring to
The memory 1340 may store instructions (or programs) executable by the processor 1320. The instructions may include, for example, instructions for executing operations of the processor 1320 and/or instructions for executing operations of each component of the processor 1320.
The memory 1340 may include one or more computer-readable storage media. The memory 1340 may include non-volatile storage devices, such as, for example, a magnetic hard disc, an optical disc, a floppy disc, a flash memory, an erasable programmable read-only memory (EPROM), and an electrically erasable programmable read-only memory (EEPROM).
The memory 1340 may be non-transitory media. The term “non-transitory” may indicate that a storage medium is not implemented by a carrier or propagated signal. However, the term “non-transitory” should not be construed that the memory 1340 is immovable.
The processor 1320 may process data stored in the memory 1340. The processor 1320 may execute computer-readable code (e.g., software) stored in the memory 1340 and instructions caused by the processor 1320.
The processor 1320 may be a hardware-implemented data processing device having a physically structured circuit for executing desired operations. The desired operations may include, for example, code or instructions included in a program.
The hardware-implemented data processing device may include, for example, a microprocessor, a central processing unit (CPU), a processor core, a multi-core processor, a multiprocessor, an application-specific integrated circuit (ASIC), or a field-programmable gate array (FPGA).
The processor 1320 may cause the delivery robot 1300 to perform one or more operations by executing code, instructions, and/or applications stored in the memory 1340. The operations performed by the delivery robot 1300 may be substantially the same as the ones performed by the delivery robot 11 described above with reference to
The communication module 1360 may establish a communication channel (e.g., a wireless communication channel) for communications. The communication module 1360 may support performing communications over the established communication channel. The communication module 1360 may include one or more communication processors supporting direct (e.g., wired) or wireless communication. The communication module 1360 may include a wireless communication module (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module (e.g., a local area network (LAN) communication module or a power line communication module).
Referring to
The memory 1440 may store instructions (or programs) executable by the processor 1420. The instructions may include, for example, instructions for executing operations of the processor 1420 and/or instructions for executing operations of each component of the processor 1420.
The memory 1440 may include one or more computer-readable storage media. The memory 1440 may include non-volatile storage devices, such as, for example, a magnetic hard disc, an optical disc, a floppy disc, a flash memory, an EPROM, and an EEPROM.
The memory 1440 may be non-transitory media. The term “non-transitory” may indicate that a storage medium is not implemented by a carrier or propagated signal. However, the term “non-transitory” should not be construed that the memory 1440 is immovable.
The processor 1420 may process data stored in the memory 1440. The processor 1420 may execute computer-readable code (e.g., software) stored in the memory 1440 and instructions caused by the processor 1420.
The processor 1420 may be a hardware-implemented data processing device having a physically structured circuit for executing desired operations. The desired operations may include, for example, code or instructions included in a program.
The hardware-implemented data processing device may include, for example, a microprocessor, a CPU, a processor core, a multi-core processor, a multiprocessor, an ASIC, or an FPGA.
The processor 1420 may cause the delivery robot service provider 1400 to perform one or more operations by executing code, instructions, and/or applications stored in the memory 1440. The operations performed by the delivery robot service provider 1400 may be substantially the same as the ones performed by the delivery robot service provider 17 described above with reference to
The communication module 1460 may establish a communication channel (e.g., a wireless communication channel) for communications. The communication module 1460 may support performing communications over the established communication channel. The communication module 1460 may include one or more communication processors supporting direct (e.g., wired) or wireless communications. The communication module 1460 may include a wireless communication module (e.g., a cellular communication module, a short-range wireless communication module, or a GNSS communication module) or a wired communication module (e.g., a LAN communication module or a power line communication module).
The example embodiments described herein may be implemented using hardware components, software components and/or combinations thereof. A processing device may be implemented using one or more general-purpose or special purpose computers, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable logic unit (PLU), a microprocessor, or any other device capable of responding to and executing instructions in a defined manner. The processing device may run an operating system (OS) and one or more software applications that run on the OS. The processing device also may access, store, manipulate, process, and create data in response to execution of the software. For simplicity, the description of a processing device is used as singular; however, one skilled in the art will be appreciated that a processing device may include multiple processing elements and multiple types of processing elements. For example, a processing device may include multiple processors or a processor and a controller. In addition, different processing configurations are possible, such as, parallel processors.
The software may include a computer program, a piece of code, an instruction, or some combination thereof, to independently or collectively instruct or configure the processing device to operate as desired. Software and/or data may be embodied permanently or temporarily in any type of machine, component, physical or virtual equipment, computer storage medium or device, or in a propagated signal wave capable of providing instructions or data to or being interpreted by the processing device. The software also may be distributed over network-coupled computer systems so that the software is stored and executed in a distributed fashion. The software and data may be stored by one or more non-transitory computer-readable recording mediums.
The methods according to the above-described examples may be recorded in non-transitory computer-readable media including program instructions to implement various operations of the above-described examples. The media may also include, alone or in combination with the program instructions, data files, data structures, and the like. The program instructions recorded on the media may be specially designed and constructed for the purposes of examples, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of non-transitory computer-readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROM discs, DVDs, and/or Blue-ray discs; magneto-optical media such as optical discs; and hardware devices that are specially configured to store and perform program instructions, such as ROM, RAM, flash memory (e.g., USB flash drives, memory cards, memory sticks, etc.), and the like. Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher-level code that may be executed by the computer using an interpreter.
The above-described hardware devices may be configured to act as one or more software modules in order to perform the operations of the above-described examples, or vice versa.
While this disclosure includes specific examples, it will be apparent after an understanding of the disclosure of this application that various changes in form and details may be made in these examples without departing from the spirit and scope of the claims and their equivalents. The examples described herein are to be considered in a descriptive sense only, and not for purposes of limitation. Descriptions of features or aspects in each example are to be considered as being applicable to similar features or aspects in other examples. Suitable results may be achieved if the described techniques are performed in a different order, and/or if components in a described system, architecture, device, or circuit are combined in a different manner, and/or replaced or supplemented by other components or their equivalents.
Although the present disclosure has been illustrated and described with reference to various embodiments, it is to be understood by those skilled in the art that the various embodiments are intended to be provided as examples and not limiting the disclosure. It is to be understood by those skilled in the art that various changes in form and detail, including the appended claims and equivalents thereof, may be made without departing from the true spirit and full scope of this disclosure. It is also to be understood by those skilled in the art that any of the embodiments described herein may be used in conjunction with other embodiments described herein.
Therefore, in addition to the above disclosure, the scope of the disclosure may also be defined by the claims and their equivalents, and all variations within the scope of the claims and their equivalents are to be construed as being included in the disclosure.
Number | Date | Country | Kind |
---|---|---|---|
10-2023-0114098 | Aug 2023 | KR | national |
10-2024-0106238 | Aug 2024 | KR | national |