Article distribution method and device of delivery robot, server and storage medium

By obtaining the current location and order information of the delivery robot, determining the list of targets to be selected and calculating the cost, generating the optimal path, the problem of inconvenient delivery of objects in modern office buildings is solved, efficient path planning and real-time delivery information management are realized, and user experience is improved.

CN119740945APending Publication Date: 2025-04-01TSINGHUA UNIVERSITY
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202411655322.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-19
Publication Date
2025-04-01

AI Technical Summary

Technical Problem

It is inconvenient to deliver items in modern office buildings, and the existing technology cannot effectively solve the problem of path planning for simultaneous delivery of multiple items, and users cannot grasp the delivery information of items in real time.

Method used

By obtaining the current location of the delivery robot and the quantity of orders that can be delivered at the same time, the delivery time, starting point and end point of the items to be delivered, the list of to-select targets is determined, the cost of the to-select targets is calculated, and the optimal path is generated, so that the delivery robot can efficiently pick up or deliver the parts.

Benefits of technology

It solves the problem of inconvenient delivery of items in modern office buildings, improves user experience, and realizes efficient path planning and real-time delivery information management for simultaneous delivery of multiple items.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119740945A_ABST
    Figure CN119740945A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of intelligent robots, in particular to an article distribution method and device of a delivery robot, a server and a storage medium. Comprising the steps that the current position of a current delivery robot, the number of orders capable of being delivered at the same time, the required delivery time of all to-be-delivered articles, the starting point of each to-be-delivered article and the terminal point of each to-be-delivered article are acquired; if the number of the orders capable of being delivered at the same time is multiple, a to-be-selected target list is determined according to the terminal point of the current delivery article of the current delivery robot and / or the starting point of the to-be-delivered article corresponding to the earliest required delivery time in all the to-be-delivered articles; and calculating the cost of each to-be-selected target in the to-be-selected target list, and generating a first path according to the current position of the current delivery robot and the target corresponding to the minimum cost in the to-be-selected target list, so that the current delivery robot performs pickup or delivery based on the first path. Therefore, the problem that object distribution in a modern office building is inconvenient is solved, and the user experience is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of intelligent robots, and in particular to an article delivery method, device, server and storage medium of a delivery robot. Background Art

[0002] As the current pace of life continues to accelerate, take-out and delivery of objects between rooms (such as documents, equipment, etc.) have become a job.

[0003] Among the related technologies, more and more food delivery robots, hotel delivery robots, and restaurant delivery robots are being put into use. The robots transport dishes from the food pickup port to the input set location, and then return to the food pickup port to wait for the next instruction. In actual office building scenarios, robots need to undertake the task of delivering items between users, as well as the task of delivering food to rooms, and there are often situations where multiple items need to be transported at the same time.

[0004] However, the robot can only be controlled manually by management personnel, and usually only one destination can be set and one item can be delivered at a time. There is no user operation method, and users cannot obtain real-time delivery information of the items. There is also a lack of path planning technology for the robot to transport multiple items at the same time, which needs to be solved urgently. Summary of the invention

[0005] The present application provides an item delivery method, device, server and storage medium of a delivery robot to solve the problem of inconvenience in item delivery in modern office buildings and improve user experience.

[0006] The first embodiment of the present application provides an item delivery method of a delivery robot, comprising the following steps:

[0007] Get the current location of the current delivery robot, the number of orders that can be delivered at the same time, the required delivery time of all items to be delivered, the starting point of each item to be delivered, and the destination of each item to be delivered;

[0008] If there are multiple orders that can be delivered at the same time, a list of targets to be selected is determined according to the destination of the current delivery item of the current delivery robot and / or the starting point of the item to be delivered corresponding to the earliest required delivery time among all the items to be delivered;

[0009] The cost of each target in the target list is calculated, and a first path is generated according to the current position of the current delivery robot and the target corresponding to the minimum cost in the target list, so that the current delivery robot picks up or delivers based on the first path.

[0010] Optionally, calculating the cost of each target to be selected in the target to be selected list includes:

[0011] Based on a preset cost calculation formula, the cost of each target in the target list is calculated, wherein the preset cost calculation formula is:

[0012] cost=distance*distanceWeight+interval*intervalWeight+StartWeight;

[0013] Among them, cost is the cost of the target to be selected, distance is the distance between the target to be selected and the current position of the current delivery robot, distanceWeight is the weight coefficient of distance, interval is the time difference between the order release time and the current time, intervalWeight is the weight coefficient of interval, and StartWeight is the additional cost.

[0014] Optionally, determining the target list to be selected according to the destination of the current delivery item of the current delivery robot and / or the starting point of the to-be-delivered item corresponding to the earliest required delivery time among all the to-be-delivered items includes:

[0015] Determine whether the current delivery robot has the current delivery item;

[0016] If the current delivery robot has the current delivery item, the destination of the current delivery item is added to the target list; otherwise, the starting point of the delivery item corresponding to the earliest required delivery time among all the delivery items is added to the target list.

[0017] Optionally, performing path planning according to the current position of the current delivery robot and the target corresponding to the minimum cost in the target list to be selected, and controlling the current delivery robot to pick up or deliver items according to the route planning includes:

[0018] Based on the preset floor map, judging whether the current delivery robot meets the preset elevator riding conditions according to the current position of the current delivery robot and the target corresponding to the minimum cost in the target list;

[0019] If the current delivery robot meets the preset elevator taking conditions, the target floor and target room are determined based on the target corresponding to the minimum cost in the list of selectable targets, and the target floor and target room are sent to the current delivery robot, so that the current delivery robot moves to the elevator entrance based on the target floor and the target room according to the preset floor map, and when reaching the elevator exit on the same floor as the target floor, picks up or delivers items based on the target room.

[0020] Optionally, before sending the target floor and the target room to the current delivery robot, the method further includes:

[0021] Receiving map data of each floor of the current delivery robot;

[0022] The floor map is constructed according to the map data of each floor using a preset SLAM mapping algorithm, wherein the floor map includes the coordinates of each room and the elevator entrance.

[0023] Optionally, after obtaining the current position of the current delivery robot and the number of orders that can be delivered at the same time, the following is also included:

[0024] If the number of orders that can be delivered simultaneously is one, a second path is generated according to the current position of the current delivery robot and the starting point of the item to be delivered corresponding to the earliest required delivery time among all the items to be delivered, so that the current delivery robot picks up or delivers items based on the second path.

[0025] A second aspect of the present application provides an article delivery device of a delivery robot, comprising:

[0026] The acquisition module is used to obtain the current position of the current delivery robot and the number of orders that can be delivered at the same time, the required delivery time of all items to be delivered, the starting point of each item to be delivered, and the end point of each item to be delivered;

[0027] A determination module, configured to determine a list of targets to be selected based on the destination of the current delivery item of the current delivery robot and / or the starting point of the to-be-delivered item corresponding to the earliest required delivery time among all the to-be-delivered items, if there are multiple orders that can be delivered at the same time;

[0028] A calculation module is used to calculate the cost of each target in the target list, and generate a first path according to the current position of the current delivery robot and the target corresponding to the minimum cost in the target list, so that the current delivery robot picks up or delivers based on the first path.

[0029] Optionally, the calculation module is specifically used to:

[0030] Based on a preset cost calculation formula, the cost of each target in the target list is calculated, wherein the preset cost calculation formula is:

[0031] cost=distance*distanceWeight+interval*intervalWeight+StartWeight;

[0032] Among them, cost is the cost of the target to be selected, distance is the distance between the target to be selected and the current position of the current delivery robot, distanceWeight is the weight coefficient of distance, interval is the time difference between the order release time and the current time, intervalWeight is the weight coefficient of interval, and StartWeight is the additional cost.

[0033] Optionally, the determining module is specifically configured to:

[0034] Determine whether the current delivery robot has the current delivery item;

[0035] If the current delivery robot has the current delivery item, the destination of the current delivery item is added to the target list; otherwise, the starting point of the delivery item corresponding to the earliest required delivery time among all the delivery items is added to the target list.

[0036] Optionally, the calculation module is specifically used to:

[0037] Based on the preset floor map, judging whether the current delivery robot meets the preset elevator riding conditions according to the current position of the current delivery robot and the target corresponding to the minimum cost in the target list;

[0038] If the current delivery robot meets the preset elevator taking conditions, the target floor and target room are determined based on the target corresponding to the minimum cost in the list of selectable targets, and the target floor and target room are sent to the current delivery robot, so that the current delivery robot moves to the elevator entrance based on the target floor and the target room according to the preset floor map, and when reaching the elevator exit on the same floor as the target floor, picks up or delivers items based on the target room.

[0039] Optionally, the computing module is further used for:

[0040] Receiving map data of each floor of the current delivery robot;

[0041] The floor map is constructed according to the map data of each floor using a preset SLAM mapping algorithm, wherein the floor map includes the coordinates of each room and the elevator entrance.

[0042] Optionally, the acquisition module is further used to:

[0043] If the number of orders that can be delivered simultaneously is one, a second path is generated according to the current position of the current delivery robot and the starting point of the item to be delivered corresponding to the earliest required delivery time among all the items to be delivered, so that the current delivery robot picks up or delivers items based on the second path.

[0044] The third aspect of the present application provides a server, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are configured to execute the item delivery method of the delivery robot as described in the above embodiment.

[0045] The fourth aspect of the present application provides a computer-readable storage medium having a computer program stored thereon, which is executed by a processor to implement the item delivery method of the delivery robot as described in the above embodiment.

[0046] Therefore, firstly, the current position of the current delivery robot and the number of orders that can be delivered at the same time, the required delivery time of all items to be delivered, the starting point of each item to be delivered and the end point of each item to be delivered are obtained. If there are multiple orders that can be delivered at the same time, the list of targets to be selected is determined according to the end point of the current delivery item of the current delivery robot and / or the starting point of the item to be delivered corresponding to the earliest required delivery time among all items to be delivered, the cost of each target to be selected in the list of targets to be selected is calculated, and the first path is generated according to the current position of the current delivery robot and the target corresponding to the minimum cost in the list of targets to be selected, so that the current delivery robot picks up or delivers items based on the first path. In this way, the inconvenience of object delivery in modern office buildings and other problems are solved, and the user experience is improved.

[0047] Additional aspects and advantages of the present application will be given in part in the description below, and in part will become apparent from the description below, or will be learned through the practice of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0048] The above and / or additional aspects and advantages of the present application will become apparent and easily understood from the following description of the embodiments in conjunction with the accompanying drawings, in which:

[0049] Figure 1 A flowchart of an item delivery method of a delivery robot provided according to an embodiment of the present application;

[0050] Figure 2 A schematic diagram of the structure of a delivery robot control system in a delivery robot article delivery method according to an embodiment of the present application;

[0051] Figure 3A flow chart of a delivery robot path planning strategy for an item delivery method using a delivery robot according to an embodiment of the present application;

[0052] Figure 4 A schematic diagram of an article delivery device of a delivery robot provided according to an embodiment of the present application;

[0053] Figure 5 A schematic diagram of the structure of a server provided according to an embodiment of the present application. DETAILED DESCRIPTION

[0054] Embodiments of the present application are described in detail below, and examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are intended to be used to explain the present application, and should not be construed as limiting the present application.

[0055] The following describes the method, device, server and storage medium for delivering items by a delivery robot according to an embodiment of the present application with reference to the accompanying drawings. In view of the problem of inconvenient delivery of items in modern office buildings mentioned in the above background technology, the present application provides a method for delivering items by a delivery robot, in which the current position of the current delivery robot and the number of orders that can be delivered at the same time, the required delivery time of all items to be delivered, the starting point of each item to be delivered and the end point of each item to be delivered are obtained; if there are multiple orders that can be delivered at the same time, a list of targets to be selected is determined according to the end point of the current delivery item of the current delivery robot and / or the starting point of the item to be delivered corresponding to the earliest required delivery time among all items to be delivered; the cost of each target to be selected in the list of targets to be selected is calculated, and a first path is generated according to the current position of the current delivery robot and the target corresponding to the minimum cost in the list of targets to be selected, so that the current delivery robot picks up or delivers items based on the first path. In this way, the problem of inconvenient delivery of items in modern office buildings is solved, and the user experience is improved.

[0056] Specifically, Figure 1 A schematic flow chart of an item delivery method using a delivery robot provided in an embodiment of the present application.

[0057] like Figure 1 As shown, the article delivery method of the delivery robot includes the following steps:

[0058] In step S101, the current position of the current delivery robot, the number of orders that can be delivered simultaneously, the required delivery time of all items to be delivered, the starting point of each item to be delivered, and the end point of each item to be delivered are obtained.

[0059] Specifically, after the current delivery robot is started, it uses the built-in laser radar and SLAM (Simultaneous Localization and Mapping) algorithm to obtain and update its position in the floor map in real time and determine its initial position. During the movement, the laser radar continuously scans the environment and updates the robot's position information. The current delivery robot is equipped with multiple storage compartments, each of which can store an item to be delivered. The main control board (Jetson Nano) of the current delivery robot records the current status of each storage compartment (idle or occupied). When the current delivery robot is started, the main control board initializes the storage compartment status. After each pickup or delivery operation is completed, the main control board updates the storage compartment status information to ensure accurate recording of the current number of available storage compartments. When a user places an order through the App client, the Web server receives the order information, parses and records the required delivery time of each item. The current delivery robot main control board obtains this information from the server for subsequent path planning and task scheduling; when the user places an order on the App client, he selects the starting point (pickup location) and end point (delivery location) of each item to be delivered. After the Web server receives the order information, it parses and records the starting point and end point of each item. The current delivery robot main control board obtains this information from the server for path planning and task execution.

[0060] It should be noted that the App client is an application that can be installed on the user's mobile phone. It is used to provide an operable interface for users and administrators. Users can register and log in, place orders, open and close cabinet doors, query the current running status of the delivery robot, and other convenient operations within the application; the Web server is a server with a fixed public IP address provided by the cloud service provider, so that users and the current delivery robot can access the system as long as they are connected to the Internet. The user APP communicates with the server through HTTPS network requests, and the current delivery robot communicates with the server through a WebSocket connection; Jetson Nano is a small single-board computer launched by NVIDIA. It is also a high-performance, low-power, easy-to-use AI computing platform. The motherboard is used as the main control board of the current delivery robot, running the ROS control program to complete path planning, visual recognition, communication and other functions.

[0061] In step S102, if there are multiple orders that can be delivered simultaneously, a list of targets to be selected is determined according to the destination of the current delivery item of the current delivery robot and / or the starting point of the items to be delivered corresponding to the earliest required delivery time among all the items to be delivered.

[0062] Among them, the target list is a location list of the targets in the delivery robot system used to store and process the delivery tasks to be executed. This list is dynamically generated based on the current delivery needs and the current status of the delivery robot, and is used to guide the robot's path planning and task execution.

[0063] Specifically, by giving priority to orders with the earliest required delivery time, the current delivery robot can complete the delivery of these orders as early as possible, reduce customer waiting time, and improve customer satisfaction; based on the destination and starting point information, the current delivery robot can plan a more reasonable delivery route, reduce unnecessary round trips and repetitive work, thereby improving overall delivery efficiency; when customer needs change, the current delivery robot can quickly adjust the list of candidates based on the latest information to ensure the flexibility and accuracy of delivery; the embodiment of the present application flexibly constructs a reasonable list of candidates based on the current status of the current delivery robot and the needs of all items to be delivered. This list will serve as the basis for subsequent route planning and order delivery.

[0064] Optionally, in some embodiments, a list of targets to be selected is determined based on the destination of the current delivery item of the current delivery robot and / or the starting point of the item to be delivered corresponding to the earliest required delivery time among all the items to be delivered, including: determining whether the current delivery robot has a current delivery item; if the current delivery robot has a current delivery item, adding the current delivery item to the list of targets to be selected, otherwise, adding the starting point of the item to be delivered corresponding to the earliest required delivery time among all the items to be delivered to the list of targets to be selected.

[0065] It can be understood that the embodiment of the present application can clarify the current task status of the current delivery robot by judging whether the current delivery robot is already holding the delivery item. If the current delivery robot is currently holding the delivery item, the embodiment of the present application will add it to the list of targets to be selected based on the end point (i.e., the destination) of the item; if the current delivery robot is not currently holding the delivery item, the embodiment of the present application will consider the item with the earliest required delivery time among all the items to be delivered, and add its starting point to the list of targets to be selected; the determination logic of the list of targets to be selected enables the system to flexibly respond to various delivery situations, whether it is processing the delivery tasks that have been taken over or arranging new delivery tasks, all can be carried out in an orderly manner; by comprehensively considering the end point and delivery time of the items, the embodiment of the present application can formulate a more reasonable and efficient delivery plan, thereby improving the robot's delivery capabilities and user satisfaction.

[0066] As an example, assuming that the current delivery robot can deliver two orders at the same time, and the current delivery robot holds one item to be delivered, at this time, the embodiment of the present application can add the end point of the item to be delivered to the target list to be selected. Since the length of the target list to be selected is less than or equal to the number of cabinets, the embodiment of the present application can also add the starting point of the item with the earliest required delivery time to the target list to obtain the target list to be selected;

[0067] As another example, assuming that the current delivery robot can deliver two orders at the same time, and neither of the two cabinets of the current delivery robot holds items to be delivered, at this time, the embodiment of the present application can add the starting point of the item with the earliest required delivery time to the list of targets to be selected. Since the length of the list of targets to be selected is less than or equal to the number of cabinets, the embodiment of the present application can add the end point of the item with the earliest required delivery time and the starting point of the item with the next earliest required delivery time to the list of targets to be selected after the current delivery robot reaches the starting point of the item with the earliest required delivery time.

[0068] In step S103, the cost of each target in the target list is calculated, and a first path is generated according to the current position of the current delivery robot and the target corresponding to the minimum cost in the target list, so that the current delivery robot picks up or delivers based on the first path.

[0069] Among them, the first path is the optimal delivery path generated by comprehensively considering the priorities and distances of multiple target points when processing multiple orders.

[0070] Specifically, a preset cost calculation formula is used to calculate the cost of each target to be selected, and the target with the smallest cost is selected. Based on the current position of the current delivery robot and the selected target, a path planning algorithm (such as the DWA planner in the Navigation function package of ROS) is used to generate a first path. According to the generated first path, the pickup or delivery task is performed; this process ensures that the current delivery robot can efficiently plan the path, give priority to the most urgent orders, and take into account distance and time factors to optimize the overall delivery efficiency; in this way, the current delivery robot can flexibly handle multiple orders and effectively navigate in a complex office building environment.

[0071] Optionally, in some embodiments, calculating the cost of each target in the target list includes: calculating the cost of each target in the target list based on a preset cost calculation formula, wherein the preset cost calculation formula is:

[0072] cost=distance*distanceWeight+interval*intervalWeight+StartWeight;

[0073] Among them, cost is the cost of the target to be selected, distance is the distance between the target to be selected and the current position of the current delivery robot, distanceWeight is the weight coefficient of distance, interval is the time difference between the order release time and the current time, intervalWeight is the weight coefficient of interval, and StartWeight is the additional cost.

[0074] It can be understood that a preset cost calculation formula is used to calculate the cost of each target in the current delivery robot's candidate target list, which comprehensively considers multiple factors such as the distance between the target and the current position of the current delivery robot, the time difference between the order placement time and the current time, and the additional cost, and balances the impact of different factors on path selection by adjusting the weight coefficient. This not only helps to optimize the path selection of the current delivery robot and reduce unnecessary movement and waiting time, but also improves the work efficiency and intelligence level of the current delivery robot. At the same time, the weight coefficient in the cost calculation formula can be adjusted according to actual needs, has high flexibility and configurability, and can adapt to different working environments and task requirements.

[0075] Optionally, in some embodiments, path planning is performed based on the current position of the current delivery robot and the target corresponding to the minimum cost in the list of targets to be selected, and the current delivery robot is controlled to pick up or deliver items based on the route planning, including: based on a preset floor map, judging whether the current delivery robot meets the preset elevator taking conditions based on the current position of the current delivery robot and the target corresponding to the minimum cost in the list of targets to be selected; if the current delivery robot meets the preset elevator taking conditions, determining the target floor and target room based on the target corresponding to the minimum cost in the list of targets to be selected, and sending the target floor and target room to the current delivery robot, so that the current delivery robot moves to the elevator entrance based on the target floor and target room according to the preset floor map, and when reaching the elevator exit on the same floor as the target floor, picks up or delivers items based on the target room.

[0076] It should be noted that the preset elevator-taking condition means that in the current delivery robot system, the current delivery robot needs to determine whether it needs to take the elevator to complete the current task. Usually, these conditions include but are not limited to the target point being located on a different floor. If the floor where the target point is located is different from the floor where the current delivery robot is currently located, it is necessary to take the elevator; elevator availability, ensuring that the elevator is available at the current time, such as not being occupied by other robots or personnel; elevator location, the current delivery robot needs to know the location of the elevator so that it can navigate to the elevator entrance; elevator operation capability, the current delivery robot needs to have the ability to identify elevator buttons and operate the elevator. The preset floor map helps the current delivery robot understand and navigate the structure of the office building, usually including information such as the room layout, corridors, and elevator locations on each floor.

[0077] It is understandable that by comprehensively using the preset floor map, the current position of the current delivery robot and the cost analysis of the selected targets, it can intelligently determine whether the current delivery robot should use the elevator to move between floors, and plan the optimal path for it accordingly; it not only significantly improves the delivery efficiency and accuracy, reduces energy consumption and operating costs, but also enhances user experience and system reliability, while promoting data accumulation and analysis, laying a solid foundation for subsequent process optimization and intelligent upgrades.

[0078] Thus, the current position of the current delivery robot and the number of orders that can be delivered at the same time, the required delivery time of all items to be delivered, the starting point of each item to be delivered and the end point of each item to be delivered are obtained; if there are multiple orders that can be delivered at the same time, the list of targets to be selected is determined according to the end point of the current delivery item of the current delivery robot and / or the starting point of the item to be delivered corresponding to the earliest required delivery time among all items to be delivered; the cost of each target to be selected in the list of targets to be selected is calculated, and the first path is generated according to the current position of the current delivery robot and the target corresponding to the minimum cost in the list of targets to be selected, so that the current delivery robot picks up or delivers items based on the first path. Thus, the inconvenience of object delivery in modern office buildings and other problems are solved, and the user experience is improved.

[0079] Furthermore, in some embodiments, before sending the target floor and target room to the current delivery robot, it also includes: receiving map data of each floor of the current delivery robot; using a preset SLAM mapping algorithm to construct a floor map according to the map data of each floor, wherein the floor map includes the coordinates of each room and elevator entrance.

[0080] Therefore, by receiving the map data of each floor collected by the current delivery robot and using the preset SLAM mapping algorithm, a floor map containing the precise coordinates of each room and elevator entrance can be efficiently constructed; not only does it significantly improve the navigation accuracy and path planning capabilities of the current delivery robot in complex environments, it also enhances the system's flexible adaptability to changes in floor layouts, optimizes the user experience, and ensures the rapid and accurate completion of delivery tasks.

[0081] Furthermore, in some embodiments, after obtaining the current position of the current delivery robot and the number of orders that can be delivered simultaneously, it also includes: if the number of orders that can be delivered simultaneously is one, generating a second path according to the current position of the current delivery robot and the starting point of the item to be delivered corresponding to the earliest required delivery time among all the items to be delivered, so that the current delivery robot picks up or delivers items based on the second path.

[0082] Among them, the second path is when the current delivery robot only needs to process a single order, without considering other orders, and directly generates a path using the path planning algorithm based on the starting point of the earliest order to be delivered and the current position of the current delivery robot.

[0083] Therefore, in the scenario where the current delivery robot can only handle one order at a time, the system will generate an exclusive second path based on the current position of the current delivery robot and the earliest required delivery time of the items to be delivered, ensuring that the most urgent tasks are given priority, effectively reducing invalid movement and waiting time, thereby improving delivery efficiency and ensuring on-time delivery of items.

[0084] The article delivery method of the delivery robot is described in detail below in conjunction with a specific embodiment of the present application.

[0085] Specifically, Figure 2 As shown, Figure 2 This is a structural schematic diagram of a control system of a delivery robot in an item delivery method of a delivery robot according to an embodiment of the present application. The control system of the delivery robot in the item delivery method of the delivery robot includes an APP on the user's mobile phone, a server running in the cloud, a robot Jetson Nano mainboard (including its laser radar, depth camera, expansion board, etc.) operating in the venue, and an Arduino development board connected to the mainboard for controlling the cabinet door status.

[0086] The subsystems coordinate operations through information transmission, allowing users to complete the delivery of any item without leaving home and obtain delivery information in real time. At the same time, the system management corresponding to the items prevents the occurrence of wrong picking and theft, ensuring safety and reliability.

[0087] This application efficiently and closely combines multiple subsystems such as user APP, Web server, Jetson robot, etc. to build a delivery robot system that can be used in a variety of scenarios, is convenient and easy to use, can transport multiple items at the same time, and can take elevators autonomously. It provides a clear and feasible reference solution for the design of more robot systems with such delivery needs.

[0088] The design of the user APP solves the problem of the lack of user operation methods in the existing design, and the user cannot grasp the delivery information of the object in real time; the design of the Web server makes the robot not limited to running in the local area network; the multi-path planning solution solves the problem of simultaneous delivery of multiple items; the design of the robot identifying the elevator button provides a feasible solution for the scene where it is also inconvenient to transform the interior of the elevator; based on the NVIDIA Jetson Nano platform, efficient multi-target path planning is achieved, and it has the convenience of network operation and the ability to take the elevator autonomously. In addition, a comprehensive communication logic system is built to ensure that users can monitor the order progress and the working status of the robot in real time, so as to provide a more intelligent and transparent service experience; Arduino is an open source electronic prototype platform with flexible and easy-to-use hardware and software. The lightweight Uno development board in its series is selected for the control of the robot cabinet door. This is to separate the control logic, make the structure clearer and easier to maintain.

[0089] When the system is deployed, the current delivery robot must first collect map data of each floor through lidar, use the SLAM mapping algorithm to build a floor map, and calibrate the coordinates of each room and elevator entrance. After the calibration is completed, it will be entered into the server database.

[0090] When a new user wants to join the system, he first needs to install the APP. The APP can be used when connected to the Internet and access the public IP without connecting to a specific local area network. After installation, the user can register, and the registration information will be sent to the server. The server will enter the information into the database and return the registration success information. After that, the administrator can assign a designated room number to the user (in order to prevent users from forging their own room numbers and obtaining other people's items, the room number must be assigned by the administrator), and the new user will successfully join the system.

[0091] When a user wants to place an order, he must first log in to the APP. The server will return a token with user identity information. Subsequent requests can identify the user's identity through this token. The user can place an order by selecting the room number of the starting point and the end point on the APP. After the order information is sent to the server, the server will enter the information into the database and start a new target point planning. After the planning is completed, the server will send the target location information to the current delivery robot. After receiving the target, the current delivery robot will move towards the target through local route planning. After arriving at the designated location, it will send arrival information to the server. The server will then update the current delivery robot status to wait for interaction, and push notifications to the user who placed the order to remind the delivery / pickup. The user can check the delivery status of the order and the running status of the current delivery robot at any time. When the order arrives, the user can click on the APP to open the door. This information is transmitted to the current delivery robot after passing the server's identity authentication. The mainboard program will then send a message to the Arduino to control the cabinet door to open. The user closes the cabinet door after placing / pickup. After Arduino detects that the cabinet door is closed, it will notify the mainboard to the server. The server updates the current delivery robot and order status, replans the target and sends it to the current delivery robot to go to the next location.

[0092] Furthermore, if Figure 3 As shown, the delivery robot path planning strategy flow chart of the delivery robot article delivery method includes the following steps:

[0093] The current delivery robot can run multiple orders at the same time, so it needs to be matched with a suitable target planning scheme. The way this system plans the target for the current delivery robot is as follows: maintain a list of candidate targets, which is initially empty. If an item has been placed in a cabinet, the end point of the order is added to the list; if an item has not been placed in a cabinet, the starting point of the order with the earliest order time for the specified cabinet door is added to the list; in this way, a list of candidate targets with a list length less than or equal to the number of cabinets can be obtained. For the comparison between two candidate targets, it is assumed that the distance between the target and the current position of the current delivery robot is distance (for two points across floors, the distance should be added with the equivalent distance of taking the elevator, depending on the actual situation), the time difference between the delivery time of the order and the current time is interval (the smaller the time difference, the higher the priority should be, and the intervalWeight in the following formula should be a negative number). If the target is the starting point, an additional cost StartWeight is added (the consideration here is that when the weight of the starting point and the end point is the same, the order corresponding to the end point is given priority). The estimated cost of the target can be obtained as follows:

[0094] cost=distance*distanceWeight+interval*intervalWeight+StartWeight

[0095] Among them, Weight represents the weight coefficient set for the corresponding parameter, which is obtained based on actual test results. In summary, the cost comprehensively considers the distance to the target, the time difference between different orders, and the trade-off between the starting and ending points. After obtaining the cost of all targets in the target list, the target with the smallest cost is selected as the next target sent to the robot.

[0096] After the current delivery robot determines the target, the actual route planning between the two points is completed using the ROS Navigation function package. Combined with global_planner and local_planner, using the DWA planner, better overall planning and local obstacle avoidance effects can be achieved.

[0097] Since it is inconvenient to modify the elevator, this system uses a mechanical method to press the elevator button. The specific implementation method is as follows: when the current delivery robot needs to take the elevator, it first moves to the calibrated elevator entrance, detects the elevator button position through the target detection algorithm running on the mainboard (this system uses Yolo's pre-trained model and uses actual images for fine-tuning), and then controls the top sliding bar to press the button. After pressing the button, the robot returns to the specified position and uses the laser radar ranging to detect whether the elevator door is open. After moving into the elevator, the current delivery robot turns around to locate the floor button (digital recognition is directly used here). After pressing the button of the floor to go to, the current delivery robot moves to the specified position and observes the elevator floor indicated in the specified area of ​​the view. When it detects that the floor has been reached and the elevator door is open, it moves out of the elevator, and then performs two-point route planning on the same floor.

[0098] In order to handle possible abnormal situations, this system has designed a relatively complete error handling mechanism. The administrator can log in to the administrator account through the APP at any time, directly control the motion of the current delivery robot, and query the status of all orders and handle timed or erroneous orders accordingly. The current delivery robot will periodically request a network connection with the server. Even if the elevator cannot connect to the Internet, the current delivery robot can still operate normally.

[0099] According to the object delivery method of the delivery robot proposed in the embodiment of the present application, the current position of the current delivery robot and the number of orders that can be delivered at the same time, the required delivery time of all items to be delivered, the starting point of each item to be delivered and the end point of each item to be delivered are obtained; if there are multiple orders that can be delivered at the same time, the list of targets to be selected is determined according to the end point of the current delivery item of the current delivery robot and / or the starting point of the item to be delivered corresponding to the earliest required delivery time among all items to be delivered; the cost of each target to be selected in the list of targets to be selected is calculated, and a first path is generated according to the current position of the current delivery robot and the target corresponding to the minimum cost in the list of targets to be selected, so that the current delivery robot picks up or delivers items based on the first path. In this way, the inconvenience of object delivery in modern office buildings and other problems are solved, and the user experience is improved.

[0100] Next, the article delivery device of the delivery robot proposed in the embodiment of the present application is described with reference to the accompanying drawings.

[0101] Figure 4 It is a block diagram of an article delivery device of a delivery robot according to an embodiment of the present application.

[0102] like Figure 4 As shown, the article delivery device 10 of the delivery robot includes: an acquisition module 100 , a determination module 200 and a calculation module 300 .

[0103] The acquisition module 100 is used to obtain the current position of the current delivery robot and the number of orders that can be delivered at the same time, the required delivery time of all items to be delivered, the starting point of each item to be delivered, and the end point of each item to be delivered;

[0104] The determination module 200 is used to determine the target list to be selected according to the destination of the current delivery item of the current delivery robot and / or the starting point of the to-be-delivered item corresponding to the earliest required delivery time among all the to-be-delivered items if there are multiple orders that can be delivered at the same time;

[0105] The calculation module 300 is used to calculate the cost of each target in the target list, and generate a first path according to the current position of the current delivery robot and the target corresponding to the minimum cost in the target list, so that the current delivery robot picks up or delivers based on the first path.

[0106] Optionally, the calculation module 300 is specifically used to calculate the cost of each target in the target list based on a preset cost calculation formula, wherein the preset cost calculation formula is:

[0107] cost=distance*distanceWeight+interval*intervalWeight+StartWeight;

[0108] Among them, cost is the cost of the target to be selected, distance is the distance between the target to be selected and the current position of the current delivery robot, distanceWeight is the weight coefficient of distance, interval is the time difference between the order release time and the current time, intervalWeight is the weight coefficient of interval, and StartWeight is the additional cost.

[0109] Optionally, the determination module 200 is specifically used to: determine whether the current delivery robot has a current delivery item; if the current delivery robot has a current delivery item, add the destination of the current delivery item to the list of targets to be selected; otherwise, add the starting point of the delivery item corresponding to the earliest required delivery time among all the delivery items to be delivered to the list of targets to be selected.

[0110] Optionally, the calculation module 300 is specifically used to: based on a preset floor map, determine whether the current delivery robot meets the preset elevator taking conditions according to the current position of the current delivery robot and the target corresponding to the minimum cost in the target list to be selected; if the current delivery robot meets the preset elevator taking conditions, determine the target floor and target room based on the target corresponding to the minimum cost in the target list to be selected, and send the target floor and target room to the current delivery robot, so that the current delivery robot moves to the elevator entrance based on the target floor and target room according to the preset floor map, and when reaching the elevator exit on the same floor as the target floor, picks up or delivers items based on the target room.

[0111] Optionally, the computing module 300 is further used to: receive the map data of each floor of the current delivery robot; and construct a floor map according to the map data of each floor using a preset SLAM mapping algorithm, wherein the floor map includes the coordinates of each room and elevator entrance.

[0112] Optionally, the acquisition module 100 is also used to: if the number of orders that can be delivered at the same time is one, generate a second path according to the current position of the current delivery robot and the starting point of the item to be delivered corresponding to the earliest required delivery time among all the items to be delivered, so that the current delivery robot picks up or delivers items based on the second path.

[0113] It should be noted that the above explanations of the embodiment of the article delivery method of the delivery robot are also applicable to the article delivery device of the delivery robot of this embodiment, and will not be repeated here.

[0114] According to the object delivery device of the delivery robot proposed in the embodiment of the present application, the current position of the current delivery robot and the number of orders that can be delivered at the same time, the required delivery time of all items to be delivered, the starting point of each item to be delivered and the end point of each item to be delivered are obtained; if there are multiple orders that can be delivered at the same time, the list of targets to be selected is determined according to the end point of the current delivery item of the current delivery robot and / or the starting point of the item to be delivered corresponding to the earliest required delivery time among all items to be delivered; the cost of each target to be selected in the list of targets to be selected is calculated, and a first path is generated according to the current position of the current delivery robot and the target corresponding to the minimum cost in the list of targets to be selected, so that the current delivery robot picks up or delivers items based on the first path. In this way, the inconvenience of object delivery in modern office buildings and other problems are solved, and the user experience is improved.

[0115] Figure 5 A schematic diagram of the structure of a server provided in an embodiment of the present application. The server may include:

[0116] A memory 501 , a processor 502 , and a computer program stored in the memory 501 and executable on the processor 502 .

[0117] When the processor 502 executes the program, the article delivery method of the delivery robot provided in the above embodiment is implemented.

[0118] Furthermore, the server also includes:

[0119] The communication interface 503 is used for communication between the memory 501 and the processor 502 .

[0120] The memory 501 is used to store computer programs that can be executed on the processor 502 .

[0121] The memory 501 may include a high-speed RAM memory, and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.

[0122] If the memory 501, the processor 502 and the communication interface 503 are implemented independently, the communication interface 503, the memory 501 and the processor 502 can be connected to each other through a bus and communicate with each other. The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 5Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.

[0123] Optionally, in a specific implementation, if the memory 501, the processor 502 and the communication interface 503 are integrated on a chip, the memory 501, the processor 502 and the communication interface 503 can communicate with each other through an internal interface.

[0124] The processor 502 may be a central processing unit (CPU), or an application specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application.

[0125] An embodiment of the present application also provides a computer-readable storage medium having a computer program stored thereon, wherein the program, when executed by a processor, implements the above-mentioned method for delivering items by a delivery robot.

[0126] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" etc. means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present application. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or N embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine the different embodiments or examples described in this specification and the features of the different embodiments or examples, without contradiction.

[0127] In addition, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Therefore, a feature defined as "first" or "second" may explicitly or implicitly include at least one of the features. In the description of this application, "N" means at least two, such as two, three, etc., unless otherwise clearly and specifically defined.

[0128] Any process or method description in a flowchart or otherwise described herein may be understood to represent a module, fragment or portion of code comprising one or more executable instructions for implementing the steps of a custom logical function or process, and the scope of the preferred embodiments of the present application includes alternative implementations in which functions may not be performed in the order shown or discussed, including performing functions in a substantially simultaneous manner or in reverse order depending on the functions involved, which should be understood by technicians in the technical field to which the embodiments of the present application belong.

[0129] It should be understood that the various parts of the present application can be implemented by hardware, software, firmware or a combination thereof. In the above-mentioned embodiment, the N steps or methods can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented by hardware, as in another embodiment, it can be implemented by any one of the following technologies known in the art or their combination: a discrete logic circuit having a logic gate circuit for implementing a logic function for a data signal, a dedicated integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.

[0130] A person skilled in the art may understand that all or part of the steps in the above-mentioned embodiment method may be completed by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, which, when executed, includes one or a combination of the steps of the method embodiment.

Claims

1. A method for delivering items using a delivery robot, characterized in that: The following steps are involved: Get the current location of the current delivery robot, the number of orders that can be delivered at the same time, the required delivery time of all items to be delivered, the starting point of each item to be delivered, and the destination of each item to be delivered; If there are multiple orders that can be delivered at the same time, a list of targets to be selected is determined according to the destination of the current delivery item of the current delivery robot and / or the starting point of the item to be delivered corresponding to the earliest required delivery time among all the items to be delivered; The cost of each target in the target list is calculated, and a first path is generated according to the current position of the current delivery robot and the target corresponding to the minimum cost in the target list, so that the current delivery robot picks up or delivers based on the first path.

2. The method according to claim 1, characterized in that: The calculating the cost of each target to be selected in the target to be selected list includes: Based on a preset cost calculation formula, the cost of each target in the target list is calculated, wherein the preset cost calculation formula is: cost=distance*distanceWeight+interval*intervalWeight+StartWeight; Among them, cost is the cost of the target to be selected, distance is the distance between the target to be selected and the current position of the current delivery robot, distanceWeight is the weight coefficient of distance, interval is the time difference between the order release time and the current time, intervalWeight is the weight coefficient of interval, and StartWeight is the additional cost.

3. The method according to claim 1, characterized in that The determining of the target list to be selected according to the destination of the current delivery item of the current delivery robot and / or the starting point of the to-be-delivered item corresponding to the earliest required delivery time among all the to-be-delivered items includes: Determine whether the current delivery robot has the current delivery item; If the current delivery robot has the current delivery item, the destination of the current delivery item is added to the target list; otherwise, the starting point of the delivery item corresponding to the earliest required delivery time among all the delivery items is added to the target list.

4. The method according to claim 1, characterized in that: The method of performing path planning according to the current position of the current delivery robot and the target corresponding to the minimum cost in the target list to be selected, and controlling the current delivery robot to pick up or deliver items according to the route planning, includes: Based on the preset floor map, judging whether the current delivery robot meets the preset elevator riding conditions according to the current position of the current delivery robot and the target corresponding to the minimum cost in the target list; If the current delivery robot meets the preset elevator taking conditions, the target floor and target room are determined based on the target corresponding to the minimum cost in the list of selectable targets, and the target floor and target room are sent to the current delivery robot, so that the current delivery robot moves to the elevator entrance based on the target floor and the target room according to the preset floor map, and when reaching the elevator exit on the same floor as the target floor, picks up or delivers items based on the target room.

5. The method according to claim 4, characterized in that Before sending the target floor and the target room to the current delivery robot, the method further includes: Receiving map data of each floor of the current delivery robot; The floor map is constructed according to the map data of each floor using a preset SLAM mapping algorithm, wherein the floor map includes the coordinates of each room and the elevator entrance.

6. The method according to claim 1, characterized in that After obtaining the current location of the current delivery robot and the number of orders that can be delivered at the same time, it also includes: If the number of orders that can be delivered simultaneously is one, a second path is generated according to the current position of the current delivery robot and the starting point of the item to be delivered corresponding to the earliest required delivery time among all the items to be delivered, so that the current delivery robot picks up or delivers items based on the second path.

7. An article delivery device of a delivery robot, characterized in that: The following steps are involved: The acquisition module is used to obtain the current position of the current delivery robot and the number of orders that can be delivered at the same time, the required delivery time of all items to be delivered, the starting point of each item to be delivered, and the end point of each item to be delivered; A determination module, configured to determine a list of targets to be selected based on the destination of the current delivery item of the current delivery robot and / or the starting point of the to-be-delivered item corresponding to the earliest required delivery time among all the to-be-delivered items, if there are multiple orders that can be delivered at the same time; A calculation module is used to calculate the cost of each target in the target list, and generate a first path according to the current position of the current delivery robot and the target corresponding to the minimum cost in the target list, so that the current delivery robot picks up or delivers based on the first path.

8. The device according to claim 7, characterized in that The computing module is specifically used for: Based on a preset cost calculation formula, the cost of each target in the target list is calculated, wherein the preset cost calculation formula is: cost=distance*distanceWeight+interval*intervalWeight+StartWeight; Among them, cost is the cost of the target to be selected, distance is the distance between the target to be selected and the current position of the current delivery robot, distanceWeight is the weight coefficient of distance, interval is the time difference between the order release time and the current time, intervalWeight is the weight coefficient of interval, and StartWeight is the additional cost.

9. A server, characterized in that: include: A memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the article delivery method of the delivery robot according to any one of claims 1 to 6.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: The program is executed by a processor to implement the article delivery method of the delivery robot as described in any one of claims 1-6.

Citation Information

Patent Citations

  • Inpatient department medicine dispensing method and system and storage medium

    CN111145860A

  • Indoor distribution robot path planning method and system and indoor distribution robot

    CN112344945A

  • Order delivery method and device based on robot, electronic equipment and storage medium

    CN116384871A

  • Unmanned delivery robot, control method and device and storage medium

    CN118348976A

  • Method and system for real-time pickup and delivery of robot on the basis of stations

    WO2022134497A1