Estimated arrival time calculation method, system and mobile machine using the method
By obtaining the global path of the current position and destination of the mobile machine, planning the local path and calculating the dynamic and baseline estimated arrival time, the problem of large calculation volume and inability to adapt to different hardware/software configurations in the prior art is solved, and more efficient and accurate ETA calculations are achieved.
Patent Information
- Application Number
- CN202180016484.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-01-26
- Filing Date
- 2021-12-23
- Publication Date
- 2025-02-28
- Estimated Expiration
- 2041-12-23
AI Technical Summary
In the prior art, the ETA calculation method is computationally expensive, fails to effectively consider the impact of re-planning of global paths, and cannot adapt to mobile machines with different hardware/software configurations.
By obtaining the global path of the mobile machine's current position and destination, planning the local path, and calculating the dynamic and baseline estimated arrival time, comprehensively obtaining the total estimated arrival time.
Improves the accuracy and efficiency of ETA computing, is suitable for mobile machines with different hardware/software configurations, and takes into account the re-planning impact of global paths.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical Field
[0001] The present application relates to estimated time of arrival (ETA) calculation, and in particular to an estimated time of arrival calculation method and a system and a mobile machine using the method. Background Art
[0002] As artificial intelligence (AI) technology matures, mobile machines such as mobile robots or vehicles are gradually given the ability to navigate automatically to automatically perform tasks such as movement and transportation. Many unmanned vehicles (such as service robots and drones) are involved in many tasks such as customer service and express delivery. These unmanned vehicles require accurate ETAs to better arrange tasks or save users from waiting.
[0003] One existing ETA calculation method is based on analysis, which calculates the map pixel by pixel based on the dynamic constraints of the mobile machine (e.g., speed limit, acceleration limit). It is computationally intensive because each path planning iteration requires about 500 milliseconds of calculation time, and does not consider the impact of global path replanning. Another existing ETA calculation method is based on machine learning, which uses a dataset with thousands of path data records to train a model for a mobile machine, and cannot adapt to other mobile machines with different hardware / software configurations (e.g., speed limits) because a similar amount of path data needs to be recorded for it in order to retrain the model for the mobile machine. Summary of the invention
[0004] The present application provides an estimated time of arrival calculation method and a system and a mobile machine using the method, which are used to calculate the ETA of the mobile machine to the destination, and solve the problems existing in the ETA calculation method in the aforementioned prior art.
[0005] An embodiment of the present application provides an estimated arrival time calculation method for calculating the estimated arrival time of a mobile machine to a destination, comprising:
[0006] Get the current position of the mobile machine;
[0007] Obtaining a global path from the current position of the mobile machine to the destination;
[0008] Acquire a local path planned based on the global path and the current position of the mobile machine, wherein the local path includes multiple positions of the mobile machine;
[0009] Calculate a dynamic estimated time of arrival for each pair of consecutive poses in the local path by performing a pose-to-pose estimated time of arrival calculation for the pair of consecutive poses, and sum the calculated dynamic estimated times of arrival for all pairs of consecutive poses;
[0010] Calculating a baseline ETA for each pair of consecutive poses from one of the plurality of poses in the global path of the mobile machine closest to a last pose in the local path to a last pose in the global path by performing the pose-to-pose ETA calculation for the pair, and summing the calculated baseline ETAs for all pairs of consecutive poses; and
[0011] A total estimated arrival time at the destination is obtained based on the dynamic estimated arrival time and the baseline estimated arrival time.
[0012] The embodiment of the present application also provides an estimated arrival time calculation system, including:
[0013] a mobile machine, calculating an estimated arrival time of the mobile machine at a destination; and
[0014] a device for receiving the calculated estimated arrival time of the mobile machine at the destination;
[0015] The mobile machine comprises:
[0016] one or more processors; and
[0017] One or more memories storing one or more computer programs, the one or more computer programs being executed by the one or more processors, wherein the one or more computer programs include a plurality of instructions for:
[0018] Get the current position of the mobile machine;
[0019] Obtaining a global path from the current position of the mobile machine to the destination;
[0020] Acquire a local path planned based on the global path and the current position of the mobile machine, wherein the local path includes multiple positions of the mobile machine;
[0021] Calculating a baseline ETA for each pair of consecutive poses from one of the plurality of poses in the global path of the mobile machine closest to a last pose in the local path to a last pose in the global path by performing the pose-to-pose ETA calculation for the pair, and summing the calculated baseline ETAs for all pairs of consecutive poses; and
[0022] A total estimated arrival time at the destination is obtained based on the dynamic estimated arrival time and the baseline estimated arrival time.
[0023] An embodiment of the present application further provides a mobile machine, comprising:
[0024] one or more sensors;
[0025] one or more processors; and
[0026] One or more memories storing one or more computer programs, the one or more computer programs being executed by the one or more processors, wherein the one or more computer programs include a plurality of instructions for:
[0027] Acquire the current position of the mobile machine through the one or more sensors;
[0028] Obtaining a global path from the current position of the mobile machine to the destination;
[0029] Acquire a local path planned based on the global path and the current position of the mobile machine, wherein the local path includes multiple positions of the mobile machine;
[0030] Calculating a baseline ETA for each pair of consecutive poses from one of the plurality of poses in the global path of the mobile machine closest to a last pose in the local path to a last pose in the global path by performing the pose-to-pose ETA calculation for the pair, and summing the calculated baseline ETAs for all pairs of consecutive poses; and
[0031] The total estimated arrival time at the destination is obtained based on the summed dynamic estimated arrival time and the summed baseline estimated arrival time.
[0032] It can be seen from the above-mentioned embodiments of the present application that the estimated arrival time calculation method provided by the present application and the system and mobile machine using the method realize the calculation of ETA based on the motion dynamics constraints of the mobile machine and the remaining navigation path, thereby solving the problems in the prior art such as large amount of calculation, failure to consider the impact of global path replanning, and inability to adapt to different mobile machines with different hardware / software configurations. BRIEF DESCRIPTION OF THE DRAWINGS
[0033] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following is a brief introduction to the drawings used in the embodiments or in the description of the prior art. In the following drawings, similar reference numerals refer to corresponding components in these drawings. It should be understood that the drawings in the following description are only examples of the present application. For those skilled in the art, other drawings can be obtained based on these drawings without creative work.
[0034] Figure 1 is a schematic diagram of navigating a mobile machine in some embodiments of the present application.
[0035] Figure 2is a schematic block diagram of a navigation system in some embodiments of the present application.
[0036] Figure 3 Yes Description Figure 2 Schematic block diagram of a mobile machine in a navigation system
[0037] Figure 4A yes Figure 3 Schematic block diagram of an example of ETA calculation for a mobile machine.
[0038] Figure 4B is used for Figure 3 Schematic diagram of an example of path planning for a mobile machine in FIG.
[0039] Figure 4C yes Figure 4B Schematic diagram of the local path in the path planning example.
[0040] Figure 4D yes Figure 4A Schematic diagram of the pose-to-pose example of ETA calculation.
[0041] Figure 4E yes Figure 4B Schematic diagram of the poses on the path close to the destination in the path planning example.
[0042] Figure 5 yes Figure 3 A schematic block diagram of another example of ETA calculation for a mobile machine.
[0043] Figure 6 It is carried out in scene I Figure 5 Schematic diagram of the ETA calculation.
[0044] Figure 7 In the scene II Figure 5 Schematic diagram of the ETA calculation. DETAILED DESCRIPTION
[0045] In order to make the purpose, features and advantages of the present application more obvious and understandable, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present application.
[0046] It should be understood that when used in the specification of the present application and the appended claims, the terms "comprises", "including", "having" and their variations indicate the presence of the described features, wholes, steps, operations, elements and / or components, but do not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components and / or collections thereof.
[0047] It should also be understood that the terms used in the specification of the present application are only for the purpose of describing specific embodiments, rather than limiting the scope of the present application. As used in the specification of the present application and the appended claims, unless the context clearly indicates otherwise, the singular forms "a", "an" and "the" are intended to include plural forms.
[0048] It should be further understood that the term “and / or” used in the specification and appended claims refers to any combination and all possible combinations of one or more of the associated listed items, and includes these combinations.
[0049] The terms "first", "second", and "third" in this application are only for descriptive purposes and should not be understood as indicating or implying relative importance or implying the number of technical features referred to. Thus, the features defined by "first", "second", and "third" may explicitly or implicitly include at least one of the technical features. In the description of this application, the meaning of "plurality" is at least two, such as two, three, etc., unless otherwise clearly defined.
[0050] The phrases "one embodiment" or "some embodiments" etc. described in the specification of the present application mean that one or more embodiments of the present application may include specific features, structures or characteristics related to the description of the embodiment. Therefore, the phrases "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. appearing in different places in the specification do not mean that the described embodiment should be referenced by all other embodiments, but rather "referenced by one or more but not all other embodiments", unless otherwise specifically emphasized.
[0051] The present application relates to ETA calculations for mobile machines. The term "estimated time of arrival" (ETA) as used herein refers to the time when a ship, vehicle, aircraft, cargo, emergency services or personnel is expected to arrive at a destination, the term "mobile machine" refers to a machine such as a vehicle or mobile robot that has the ability to move in its environment, and the term "sensor" refers to a device, module, machine or subsystem such as an ambient light sensor and an image sensor, whose purpose is to detect events or changes in its environment and send information to other electronic devices (such as a processor). The term "navigation" refers to the process of monitoring and controlling the movement of a mobile machine from one place to another. The term "collision avoidance" refers to preventing a collision or reducing its severity.
[0052] Figure 1 is a schematic diagram of navigating the mobile machine 100 in some embodiments of the present application. The mobile machine 100 (e.g., a service robot) navigates in its environment (e.g., an office) while preventing dangerous situations such as collisions and unsafe conditions (e.g., falls, extreme temperatures, radiation, and exposure). In indoor navigation, the mobile machine 100 navigates from a starting point (e.g., the location where the mobile machine 100 was initially located) to a destination (e.g., a navigation target location indicated by a user or a navigation / operating system of the mobile machine 100), while avoiding walls and obstacles (e.g., furniture, people, pets, and garbage) to prevent the above-mentioned dangerous situations. In some embodiments, in order to achieve navigation of the mobile machine 100, a map of the environment needs to be constructed, the location of the mobile machine 100 in the environment needs to be determined, and a path for the mobile machine 100 to move from the starting point to the destination needs to be planned.
[0053] In some embodiments, the ETA of the mobile machine 100 arriving at the destination (and other places on the path between the starting point and the destination) can be calculated based on information related to the navigation of the mobile machine 100, such as the constructed map, the location of the mobile machine 100, and / or the planned path. Then, the calculated ETA of the mobile machine 100 can be provided to its navigation / operating system or its user (through the control device 200, etc.) to serve as a parameter for determining a navigation strategy (e.g., determination of the shortest path), for determining conditions for task distribution among multiple mobile machines or a reference arrival time of the mobile machine 100.
[0054] In some embodiments, navigation and / or ETA calculation of the mobile machine 100 can be initiated by the mobile machine 100 itself (e.g., a control interface on the mobile machine 100) or the control device 200 (e.g., a remote control of the mobile machine 100) by, for example, providing a request for navigation and / or ETA of the mobile machine 100.
[0055] Figure 21 is a schematic block diagram of a navigation system 10 in some embodiments of the present application. The navigation system 10 may include a mobile machine 100, a control device 200, and a server 300 that communicate via a network N. The network N may include, for example, the Internet, an intranet, an extranet, a local area network (LAN), a wide area network (WAN), a wired network, a wireless network (such as a Wi-Fi network, a Bluetooth network, and a mobile network), or other suitable networks, or any combination of two or more such networks. The calculated ETA of the mobile machine 100 to reach the destination may be transmitted by the network interface 1311 to the control device 200 (and the server 300) via the network N in response to a request for the ETA of the mobile machine 100 to the destination received from the control device 200 or the server 300, or transmitted to the server 300 and then forwarded by the server 300 to the control device 200. In other embodiments, the navigation system 10 may only include the mobile machine 100 and the control device 200 (i.e., not including the server 300), and the calculated ETA of the mobile machine 100 may be directly transmitted to the control device 200 by the network interface 1311 through the network N (e.g., a Wi-Fi network, a Bluetooth network, or a mobile network).
[0056] The mobile machine 100 may be a mobile robot, such as a wheeled robot or a humanoid robot, which may include a processing unit 110, a storage unit 120, and a control unit 130 that communicate via one or more communication buses or signal lines L. It should be noted that the mobile machine 100 is only an example of a mobile machine, and the device 100 may have more or fewer components (e.g., units, subunits, and modules) than those shown above or below, may combine two or more components, and may have different component configurations or arrangements. The processing unit 110 executes various (groups of) instructions stored in the storage unit 120, which may be in the form of software programs to perform various functions of the mobile machine 100 and process related data, which may include one or more processors (e.g., central processing unit). The storage unit 120 may include one or more memories (e.g., high-speed random access memory (RAM) and non-transitory memory), one or more memory controllers, and one or more non-transitory computer-readable storage media (e.g., solid state drive (SSD) or hard disk). The control unit 130 may include various controllers (e.g., camera controller, display controller, and physical button controller) and peripheral device interfaces for coupling input and output peripheral devices of the mobile machine 100 to the processing unit 110 and the storage unit 120, such as external ports (e.g., USB), wireless communication circuits (e.g., RF communication circuits), audio circuits (e.g., speaker circuits), and sensors (e.g., inertial measurement units (IMUs)). In some embodiments, the storage unit 120 may include a navigation module 121 for implementing functions related to navigation (and ETA calculation) of the mobile machine 100 (e.g., map building, path planning, and ETA calculation), which may be stored in one or more memories (and one or more non-transitory computer-readable storage media). In other embodiments, the mobile machine 100 may be a vehicle, such as a car, a drone, or a boat.
[0057] The control device 200 may be, for example, a remote controller, a smart phone, a tablet computer, a laptop computer, a desktop computer, or other electronic devices, which may include a processing unit 210, a storage unit 220, and a control unit 230 that communicate via one or more communication buses or signal lines L. It should be noted that the control device 200 is only an example of a control device for the mobile machine 100. The control device 200 may have more or fewer components (e.g., units, subunits, and modules) than those shown above or below, may combine two or more components, or may have different component configurations or arrangements.
[0058] The processing unit 210 executes various (groups of) instructions stored in the storage unit 220, which may be in the form of software programs to perform various functions and process related data for the control device 200, which may include one or more processors (e.g., CPUs). The storage unit 220 may include one or more memories (e.g., high-speed random access memory (RAM) and non-transitory memory), one or more memory controllers, and one or more non-transitory computer-readable storage media (e.g., solid-state drives (SSDs) or hard disks). The control unit 230 may include various controllers (e.g., camera controllers, display controllers, and physical button controllers) and peripheral device interfaces for coupling input and output peripheral devices of the control device 200 to the processing unit 210 and the storage unit 220, such as external ports (e.g., USB), wireless communication circuits (e.g., RF communication circuits), audio circuits (e.g., speaker circuits), and sensors (inertial measurement units (IMUs)).
[0059] In some embodiments, the storage unit 220 may include a mobile machine application 221, which may be stored in one or more memories (and one or more non-transitory computer-readable storage media). The mobile machine application 221 may be a mobile application (APP) (or computer program) for controlling (operating system of) the device 200, which has a map editor 2211 and instructions for implementing relevant functions (e.g., settings and controls) of the mobile machine 100. m The map editor 2211 may have instructions for editing a map for the mobile machine 100, such as removing noise or obstacles in a constructed map (received from the mobile machine 100), and adding navigation nodes / paths, virtual walls to the constructed map. The map editor 2211 may be a module separate from other modules of the mobile machine application 221.
[0060] The server 300 may be, for example, one or more server computers, which may include a processing unit 310, a storage unit 320, and a control unit 330 that communicate via one or more communication buses or signal lines L. The server 300 may be part of a base station that communicates with the mobile machine 100 and the control device 200 via a network N (e.g., a Wi-Fi network or a mobile network). It should be noted that the server 300 is only an example of a server for the mobile machine 100 and the control device 200, and the server 300 may have more or fewer components (e.g., units, sub-units, and modules) than those described above or below, may be combined into two or more components, or may have different component configurations or arrangements.
[0061] The processing unit 310 executes various (groups of) instructions stored in the storage unit 320, which may be in the form of software programs to perform various functions for the server 300 and process related data, and may include one or more processors (such as CPUs). The storage unit 320 may include one or more memories (e.g., high-speed random access memory (RAM) and non-transitory memory), one or more memory controllers, and one or more non-transitory computer-readable storage media (e.g., solid-state drive (SSD) or hard disk). The control unit 330 may include various controllers (e.g., display controller and physical button controller) and peripheral device interfaces for coupling input and output peripheral devices of the server 300 to the processing unit 310 and the storage unit 320, such as external ports (e.g., USB), wireless communication circuits (e.g., RF communication circuits), and audio circuits (e.g., speaker circuits). In some embodiments, the storage unit 320 may include a service application 321, which may be stored in one or more memories (and one or more non-transitory computer-readable storage media). The service application 321 may be a computer program for (an operating system of) the server 300, which has instructions for implementing related services (e.g., a map manager of the mobile machine 100, a digital distribution platform of the control device 200, a navigation task manager of the mobile machine 100 and the control device 200) for the mobile machine 100 and the control device 200. s .
[0062] Figure 3 Yes Description Figure 2 FIG. 1 is a schematic block diagram of a mobile machine 100 in a navigation system 10 of FIG. 1. A navigation module 121 in a storage unit 120 of the mobile machine 100 may be a software module (of an operating system of the mobile machine 100) having an instruction I n (e.g., instructions for driving the motor M of the mobile machine 100 to move the mobile machine 100), a map builder 1211, a path planner 1212, and an ETA calculation submodule 1213. The map builder 1211 may be an instruction module having instructions for building a map for the mobile machine 100. b The path planner 1212 may be a software module having instructions for planning a path for the mobile machine 100. p In some embodiments, the path planner 1212 may include a software module for planning a global path P for the mobile machine 100. g (See Figure 1 and Figure 4B )’s global path planner R g (Not shown in the figure). Global path planner R g It can be a path planner based on Dijkstra algorithm, a local path planner R lThe path planner may be based on the TEB algorithm, and the ETA calculation submodule 1213 may be a submodule having instructions for implementing the ETA calculation of the mobile machine 100. e The map builder 1211, the path planner 1212, and the ETA calculation submodule 1213 may be software modules for implementing navigation of the mobile machine 100. n The separated submodules are other submodules of the navigation module 121, or the instruction module 121. n The ETA calculation submodule 1213 may also have data related to the ETA calculation of the mobile machine 100 (eg, input / output data and temporary data), which may be stored in one or more memories and accessed by the processing unit 110 .
[0063] In some embodiments, instruction I n Instructions for implementing collision avoidance (e.g., obstacle detection and path replanning) for the mobile machine 100 may be included. g The global path P can be replanned g (i.e. planning a new global path P g ) to detour in response to the original global path being blocked (e.g., blocked by an unexpected obstacle) or insufficient to avoid a collision (e.g., unable to avoid a detected obstacle when adopted). In other embodiments, the navigation module 121 may be a navigation unit that communicates with the processing unit 110, the storage unit 120, and the control unit 130 through one or more communication buses or signal lines L, and may also include one or more memories (e.g., high-speed random access memory (RAM) and non-temporary memory) for storing instructions I n , a map builder 1211, a path planner 1212 and an ETA calculation module (such as an ETA calculation submodule 1213); and one or more processors (such as an MPU or an MCU) for executing the stored instructions I n ,I b ,I p and I e , to achieve navigation of the mobile machine 100.
[0064] The mobile machine 100 may also include a sensor subunit 133, which may include a group of sensors and related controllers, such as an IMU U (or an accelerometer and a gyroscope), for detecting the environment in which it is located to achieve its navigation. The sensor subunit 133 communicates with the control unit 130 through one or more communication buses or signal lines, and the one or more communication buses or signal lines may be the same as, or at least partially different from, the one or more communication buses or signal lines L mentioned above. In other embodiments, when the navigation module 121 is the above-mentioned navigation unit, the sensor subunit 133 may communicate with the navigation unit through one or more communication buses or signal lines, and the one or more communication buses or signal lines may be the same as, or at least partially different from, the one or more communication buses or signal lines L mentioned above. In addition, the sensor subunit 133 may be just an abstract component used to represent the logical relationship between the components of the mobile machine 100.
[0065] The mobile machine 100 further includes a communication subunit 131 and an actuation subunit 132. The communication subunit 131 and the actuation subunit 132 communicate with the control unit 130 via one or more communication buses or signal lines, which may be the same as or at least partially different from the one or more communication buses or signal lines L described above. The communication subunit 131 is coupled to a communication interface (e.g., a network interface 1311) of the mobile machine 100 so that the mobile machine 100 can communicate with the control device 200 (and the server 300) via a network N and an I / O interface 1312 (e.g., a physical button). The actuation subunit 132 is coupled to a component / device for implementing the movement of the mobile machine 100 to drive the motor M of the wheels and / or joints of the mobile machine 100. The communication subunit 131 may include a controller for the above-mentioned communication interface of the mobile machine 100, and the actuation subunit 132 may include a controller for the above-mentioned component / device for implementing the movement of the mobile machine 100. In other embodiments, the communication subunit 131 and / or the actuation subunit 132 may be merely abstract components used to represent the logical relationship between components of the mobile machine 100 .
[0066] In some embodiments, the map builder 1211, the path planner 1212, the sensor subunit 133 and the motor M (and the wheels and / or joints of the mobile machine 100 coupled to the motor M) together constitute a (navigation) system that implements map building, (global and local) path planning and motor drive to achieve navigation of the mobile machine 100.
[0067] In some embodiments, Figure 2 and Figure 3The various components shown in the figure may be implemented in hardware, software, or a combination of hardware and software. The processing unit 110, the storage unit 120, the control unit 130, the navigation module 121, the processing unit 210, the storage unit 220, the control unit 230, the processing unit 310, the storage unit 320, the control unit 330, and two or more of the other units / subunits / modules may be implemented on a single chip or circuit.
[0068] Calculating ETA using dynamic ETA and baseline ETA
[0069] Figure 4A yes Figure 3 1 is a schematic block diagram of an example of ETA calculation of a mobile machine 100 in FIG. In some embodiments, for example, the instruction (group) corresponding to the ETA calculation method is sent to the mobile machine 100. e The ETA calculation submodule 1213 is stored in the storage unit 120 and the stored instruction I is executed by the processing unit 110. e The ETA calculation method of the mobile machine 100 is implemented in the mobile machine 100 in a manner to provide an estimated arrival time of the mobile machine 100 at the destination. The execution of the ETA calculation method may be in response to a request for the ETA of the mobile machine 100 to the destination from, for example, the mobile machine 100 itself (the navigation / operating system), the control device 200, or the server 300. The ETA calculation method may then be re-executed at specific intervals (e.g., 1 second) until the mobile machine 100 arrives at the destination.
[0070] According to the ETA calculation method, the processing unit 110 obtains the current posture s0 of the mobile machine 100 (block 410). In some embodiments, the current posture s0 is collected by the sensor subunit 133 (IMU U) of the processing unit 110.
[0071] Figure 4B is used for Figure 3 The processing unit 110 further obtains a global path P from the current position s0 of the mobile machine 10 to the destination. g (See Figure 1 )(Block 420). In some embodiments, the global path P g The global path P includes multiple poses of the mobile machine 100, each pose including a position (eg, coordinates in a coordinate system) and a posture (eg, Euler angles in the coordinate system) of the mobile machine 100. g It can be implemented by the global path planner R g The route is planned based on the map constructed by the map builder 1211 by, for example, simultaneous localization and mapping (SLAM). In other embodiments, in, for example, the global path planner R gWhen the planned global path only includes the position of the mobile machine 100, the pose of the mobile machine 100 may be calculated based on the position so as to obtain the global path planner R g The posture includes position and posture.
[0072] The processing unit 110 further obtains the g and the local path P1 planned based on the current position s0 of the mobile machine 100 (see Figure 4B and Figure 4C )(Block 430). The local path P1 may be further planned based on other data collected by the sensor subunit 133 of the mobile machine 100. For example, the camera C of the sensor subunit 133 may be used to collect images, and the collected images may be analyzed to identify obstacles, so that the local path P1 may be planned with reference to the identified obstacles. l , and according to the planned local path P l To move the mobile machine 100 to avoid obstacles. Figure 4C yes Figure 4B Schematic diagram of a local path P1 in an example of path planning. The local path P1 includes multiple poses s of the mobile machine 100, each pose s including a position (e.g., coordinates in a coordinate system) and a posture (e.g., Euler angles in a coordinate system) of the mobile machine 100. The motor M of the mobile machine 100 can move according to the local path P l The pose s in the mobile machine 100 is actuated so that the mobile machine 100 moves according to the local path P l In some embodiments, the local path planner R l Based on the global path P g A local path P1 is generated, and the local path P1 is planned by taking into account the identified obstacles (eg, avoiding the identified obstacles).
[0073] In some embodiments, for example, a TEB-based path planner is used as the local path planner R l In the case of, when assuming:
[0074] Global Path P g (See Figure 1 ) is free of obstructions;
[0075] Local path P l (See Figure 4B ) and the corresponding global path P g Highly overlapped (e.g. only the local path P associated with the obstacle) l do not overlap);
[0076] The linear and angular velocities and the linear and angular accelerations of the mobile machine 100 are at maximum values at any time; and
[0077] Alternatively, the acceleration constraints of the mobile machine 100 (ie, maximum linear acceleration and maximum angular acceleration) may be ignored since they will only affect a limited portion of the path.
[0078] As a result, the time spent between two consecutive poses s (i.e., the pose-to-pose ETA) will be limited lower by the maximum linear and angular velocities.
[0079] The processing unit 110 also performs the following steps on the local path P: l For each pair of consecutive poses s in , perform pose-to-pose ETA calculation to calculate the dynamic ETA eta of the pair of consecutive poses s. d , and the calculated dynamic ETAeta of all pairs of continuous poses s d The pose s is summed (block 440). The pose ETA dt is the position of the mobile machine 100 from the last pose s i Navigate to the current pose s i+1 (See Figure 4C ) In some embodiments, each pair of consecutive poses s includes a previous pose s with a short distance (e.g., distance < 10 cm) between them. i and the current pose s i+1 .
[0080] Figure 4D yes Figure 4A Schematic diagram of an example of pose ETA calculation in an example of pose ETA calculation. In some embodiments, when calculating the global path P g For each pair of consecutive poses or local paths P in l In the pose to pose ETA calculation performed for the continuous poses s in , the processing unit 110 calculates the orientation difference dθ of the pair of continuous poses (block C1). In some embodiments, the current pose s i+1 and the previous pose s i The yaw angle between can be used as the current pose s i+1 The orientation θ, and the current posture s i+1 and the previous pose s i The direction difference dθ between them can be calculated by the following equation:
[0081] dθ=pose[i+1].yaw-pose[i].yaw;
[0082] Among them, pose[i+1].yaw is the current pose s i+1 The yaw angle of pose[i].yaw is the previous pose s i For example, in the pose si+3 The yaw angle is 0 and the posture is s i+4 The yaw angle is β i+4 , pose s i+5 The yaw angle is β i+5 In the case of i+3 and pose s i+4 The direction difference dθ i+3 Will be β i+4 , and the posture s i+4 and pose s i+5 The direction difference dθ i+4 Will be β i+5 -β i+4 (See Figure 4C ).
[0083] The processing unit 110 further calculates the turning radius r of the pair of continuous postures according to the orientation difference dθ of the pair of continuous postures (block C2). In some embodiments, the turning radius r of the pair of continuous postures can be calculated by the following equation:
[0084] r = ed / (2 sin (dθ / 2));
[0085] Among them, ed is the previous pose s i and the current pose s i+1 The Euclidean distance between them, sin() is the sine function. Since there will be numerical errors when dθ=0, under the condition of small tolerable errors, if |dθ|<ε (for example, ε=0.0001), dθ=ε and r=ed / ε can be reallocated.
[0086] The processing unit 110 further calculates the maximum linear velocity v of the mobile device 100 according to the azimuth difference dθ and the turning radius r of the pair of continuous postures. max and the maximum angular velocity ω of the mobile device 100 max To calculate the (pose to pose) ETA dt of the pair of consecutive poses (box C3)
[0087] According to the kinematic constraints, the linear velocity and angular velocity of the mobile machine 100 should not exceed their maximum values. Therefore, the speed limit of the processing unit 110 (i.e., the maximum linear velocity v max and the maximum angular velocity ω max ), and the ETA dt must be calculated according to the speed limit of the mobile machine 100. Assuming v is the (current) linear velocity of the mobile machine 100 and ω is the (current) angular velocity of the mobile machine 100, then:
[0088] v=rdθ / dt <v max ;as well as
[0089] ω=dθ / dt<ωmax
[0090] That is, the linear velocity v of the mobile machine 100 is limited by the maximum linear velocity v max , and the angular velocity ω of the mobile machine 100 is limited by the maximum angular velocity ω max Therefore, in some embodiments, the processing unit 110 may calculate the ETA dt of the pair of consecutive poses by the following equation (block C3):
[0091] dt=max(rdθ / v max ,dθ / ω max );
[0092] Wherein, max() is a function for finding the maximum value between two numbers. In other embodiments, in addition to the speed limit, the ETA dt can be further calculated based on the acceleration constraints (i.e., the maximum linear acceleration and the maximum angular acceleration) of the mobile machine 100, thereby further improving the accuracy of the calculated ETA dt. Assuming that a is the (current) linear acceleration of the mobile machine 100, and α is the (current) angular acceleration of the mobile machine 100, then:
[0093] a=(v-v') / dt max ;as well as
[0094] α=(ω-ω') / dt<α max ;
[0095] Where v' is the position of the mobile machine 100 in the previous position s i , ω' is the linear velocity of the mobile machine 100 at the last position s i-1 The angular velocity of the previous pose, a max is the maximum linear acceleration of the mobile device 100, α max is the maximum angular acceleration of the mobile machine 100 , then if the mobile machine 100 is in the first pose of the path, v′=v and w′=ω; otherwise, v′=rdθ / dt and w′=dθ / dt.
[0096] That is, the linear acceleration a of the mobile device 100 is subject to the maximum linear acceleration a max The angular acceleration α of the mobile machine 100 is limited by the maximum angular acceleration α max Therefore, the processing unit 110 can calculate the ETA dt of the pair of consecutive poses by the following equation (block C3):
[0097] dt=max(rdθ / v max ,dθ / ω max ,(-v'+sqrt(v'v'+2a max rdθ)) / a max ,(-ω'+
[0098] sqrt(ω'ω'+2α max dθ)) / α max );
[0099] Wherein, sqrt() is a function for calculating the square root of a number. In some embodiments, when, for example, a TEB-based path planner is used as a local path planner R l In the case of l The dynamic ETA etad of all consecutive poses s is summed by adding together all ETA dt of all consecutive poses s (block 440).
[0100] Figure 4E yes Figure 4B Schematic diagram of the poses in the path close to the destination in the example of path planning. According to the ETA calculation method, the processing unit 110 further calculates the global path P from the mobile machine 100 g The closest local path P l The last pose s ll The position of gc To the global path P g The last pose s in ql Perform pose-to-pose ETA calculation for each pair of consecutive poses to calculate the baseline ETA eta for the pair of consecutive poses b , and the calculated baseline ETA eta of all pairs of continuous poses b A sum is made (block 450).
[0101] The processing unit 110 calculates the dynamic ETA based on the (summed) d and (summed) baseline ETA eta b To get the total ETA to the destination eta t (Block 460). In some embodiments, processing unit 110 may calculate the total ETAeta by the following equation: t :
[0102] eta t =eta d +eta b .
[0103] Calculate ETA using dynamic ETA, baseline ETA, and approach target ETA
[0104] Since the navigation of the mobile machine 100 usually changes slightly when the mobile machine 100 is about to reach the destination, in order to make the mobile machine 100 move slower and more accurately, when the mobile machine 100 moves within a specific range R (e.g., 40 cm) from the destination, the maximum linear velocity v of the mobile machine 100 is set to max and the maximum angular velocity ω max will become smaller. In this case, except for Figure 4A The example considers the entire local path P l and the global path P g , based on dynamic ETA eta d and baseline ETAeta b To calculate the total ETA eta t , we can also consider the global path P within the range R g part of the ETA eta n To calculate the total ETA eta t . Figure 5 yes Figure 3 100 . In addition to obtaining the current position s0 of the mobile machine 100 (block 510 / 410), obtaining the global path P g (Block 520 / 420), obtain the local path P1 (Block 530 / 430), the processing unit 110 further
[0105] Through the global path P within the range R to the destination g Each pair of continuous poses in the pose-to-pose ETA calculation is performed to calculate the approach target ETA eta of the pair of continuous poses. n , and the calculated ETA eta of all pairs of continuous poses close to the target n Accordingly, the processing unit 110 performs the summation of the local path R l The dynamic ETA is obtained by performing pose-to-pose ETA calculation for each pair of consecutive poses s that are not within the range R (block 540), and the processing unit 110 obtains the dynamic ETA by calculating the pose-to-pose ETA for each pair of consecutive poses s that are not within the range R of the destination from the global path P g The closest local path P l The last pose s ll The position of gc To the global path P g The first pose s in gn Each pair of consecutive poses performs pose-to-pose ETA calculation to obtain a baseline ETA (block 550), and the post-processing unit 110 calculates the baseline ETA based on the dynamic ETA eta d , baseline ETA eta b and approach target ETA etan , to get the total ETA eta to the destination t In some embodiments, the processing unit 110 may calculate the total ETA eta by the following equation: t :
[0106] eta t =eta d +eta b +eta n .
[0107] Furthermore, in case obstacles have been taken into account when planning the local path P1, a small additional noise from, for example, noisy sensor data collected by the sensor subunit 133 may be added to the calculated total ETA eta t In this case, the length of the local path P1 can be changed at a relatively high rate (e.g., 10 Hz), so the calculated total ETA eta t In some embodiments, the processing unit 110 may further smooth the total ETA eta by using a Kalman filter. t (Block 580), for example, a linear Kalman filter may be used as a low pass filter to smooth the total ETA eta t .
[0108] Figure 4A and Figure 5 The ETA calculation method in the embodiment may be re-executed in response to the satisfaction of a predetermined condition until the mobile machine 100 reaches the destination, so as to update the calculated ETA during the navigation of the mobile machine 100. In some embodiments, the processing unit 110 may also return to the step of obtaining the current position s0 of the mobile machine 100 (block 410 / block 510) in response to the satisfaction of a predetermined condition until the mobile machine 100 reaches the destination. The predetermined condition may include:
[0109] A timeout of a specified time interval (e.g., 1 second) for periodically updating the calculated ETA;
[0110] A new local path P has been planned l ;
[0111] A new global path P has been planned g (e.g. when the task being performed changes); and / or
[0112] Global Path P g Already replanned (e.g. when an obstacle is detected).
[0113] Each time the ETA calculation method is re-executed, a new current position s0 of the mobile machine 100 is obtained (block 510), a new global path P from the new current position s0 of the mobile machine 100 to the destination is obtained. g (Block 520), obtain the new global path P g and the new local path P1 planned based on the new current position s0 of the mobile machine 100 (block 530), and the new global path P g and the new local path P l To calculate the new dynamic ETA eta d 、New baseline ETA eta b 、New approach target ETA eta n and the new total ETA eta t (Block 540, Block 550, Block 570 and Block 560). Since the ETA calculation method will be at a specific time interval and / or in response to a new local path P l / Global Path P g The planning is re-executed, so the time increment can be within a specific interval and / or when the new local path P l / Global Path P g Being captured dynamically as it is planned.
[0114] Figure 6 It is carried out in scene I Figure 5 Schematic diagram of ETA calculation. The calculated ETA is represented by a coordinate system with the actual time spent on the movement of the mobile machine 100 as the x-axis and the ETA calculated at each time instance as the y-axis. In the coordinate system, the calculated dynamic ETA eta d , baseline ETA eta b and approach target ETA eta n are superimposed on each other. In scenario I of ETA calculation of the mobile machine 100, the mobile machine 100 is navigated to move along a straight line path from a starting point to a destination. For an ideal ETA calculation, the total ETA eta t The sum of the time actually spent and the time taken should be a constant, that is, the line l representing the sum should be a horizontal straight line on the coordinate system. In this case, since the line l looks like a slightly undulating small slope, the ETA calculation of the straight path navigation can be regarded as close to the ideal ETA calculation.
[0115] The total time taken for the mobile device 100 to travel from the starting point to the destination is represented as T, and the arrival time from the current posture s0 of the mobile device 100 to the destination is represented as t k , the time taken from the starting point to the current posture s0 of the mobile device 100 is τ kAlthough T is an unobservable constant before the end of the journey, τ k is observable and satisfies the equation T = t k +τk. Note that Δt k =τ k -τ k-1 After the mobile machine 100 arrives at the destination, it is assumed that N samples are obtained. where k = 1,...,N, and is a given value, then T=τ N is observable. Then, the performance of the ETA calculation method (i.e., the maximum absolute error in accuracy) will be Therefore, in the 16 seconds of navigation, there is an absolute error of ±2.5 seconds. It should be noted that, first, the constant positive slope on the line l (between 2-12 seconds) indicates that the moving speed of the mobile machine 100 is lower than its maximum linear speed; second, the dynamic ETAeta d The initial burst (<0.5 seconds) is due to the acceleration constraint of the mobile machine 100; third, when arriving at the destination (between 13 and 15 seconds), the total ETA eta t The burst is due to the fact that the local path to the destination does not end within range R, and redundant ETAs are calculated.
[0116] Figure 7 In the scene II Figure 5 Schematic diagram of ETA calculation. In scenario II of ETA calculation of the mobile machine 100, the mobile machine 100 is navigated to move from the starting point along the first path P1 in the upper left corner to the destination, and then moves along the second path P2 in the upper right corner after taking a detour by replanning a new path (i.e., the second path P2) in response to being blocked by an obstacle. The calculated ETA is shown by the coordinate system in the lower half. In the 60 seconds of navigation, the absolute error of the replanned path is ±2.4 seconds, and the absolute error of the original path is +25 seconds. It should be noted that when the mobile machine 100 is blocked (between 4-14 seconds), since the remaining path to the destination remains unchanged, the calculated ETA remains unchanged, and the mobile machine 100 requires 8 seconds (within 4-14 seconds) to replan the path. In scenarios I and II, the calculated ETA eta t The maximum absolute error is less than 10 seconds (reaching a second-level estimation accuracy of less than or equal to 10 seconds), and the total ETA eta t As the mobile device 100 gradually reaches the destination, it smoothly converges to 0, satisfying the requirement for good ETA calculation.
[0117] Figure 4A and Figure 5The ETA calculation methods in the paper are implemented based on the kinematic constraints of the mobile machine and its remaining navigation path, and have the following advantages over existing ETA calculation methods. First, they have better accuracy because the absolute error of the calculated (total) ETA is within the secondary estimation accuracy. Second, they are robust because the impact of replanning the global path is considered by dynamically capturing the time increment. Third, they are applicable to different hardware prototypes and software navigation systems because they can be executed as long as key parameters such as the kinematic constraints of the mobile machine are given. Fourth, because they are analytically based and therefore lightweight (processing time is about 6 milliseconds on an ARM v8.2 CPU), they are also scalable to 3D (e.g., aerial or underwater) navigation.
[0118] Those skilled in the art will appreciate that all or part of the methods in the above embodiments (eg Figure 2 Collision avoidance) can be implemented by one or more computer programs to indicate related hardware. In addition, one or more programs can be stored in a non-volatile computer-readable storage medium. When one or more programs are executed, all or part of the corresponding methods in the above embodiments are executed. Any reference to storage, memory, database or other media may include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, solid-state drive (SSD), etc. Volatile memory may include random access memory (RAM), external cache memory, etc.
[0119] The processing unit 110 (and the above-mentioned processor) may include a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), or other programmable logic devices, discrete gates, transistor logic devices, and discrete hardware components. The general-purpose processor may be a microprocessor or any conventional processor. The storage unit 120 (and the above-mentioned memory) may include internal storage units such as hard disks and internal memories. The storage unit 120 may also include external storage devices such as plug-in hard disks, smart media cards (SMC), secure digital (SD) cards, and flash memory cards.
[0120] The exemplary units / modules and methods / steps described in the embodiments may be implemented by software, hardware, or a combination of software and hardware. Whether these functions are implemented by software or hardware depends on the specific application and design constraints of the technical solution. The above-mentioned ETA calculation method and mobile machine may be implemented in other ways. For example, the division of units / modules is only a logical functional division, and other division methods may be used in actual implementation, that is, multiple units / modules may be combined or integrated into another system, or certain features may be ignored or not executed. In addition, the above-mentioned mutual coupling / connection may be a direct coupling / connection or a communication connection, or an indirect coupling / connection or a communication connection through some interfaces / devices, or an electrical, mechanical or other form.
[0121] The above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit the technical solutions of the present application. Although the present application has been described in detail in conjunction with the above embodiments, the technical solutions in the above embodiments can still be modified, or some of the technical features can be replaced by equivalents, so that these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the various embodiments of the present application, but should be included in the protection scope of the present application.
Claims
1. A method for calculating an estimated arrival time, for calculating an estimated arrival time of a mobile machine at a destination, comprising: Get the current position of the mobile machine; Obtaining a global path from the current position of the mobile machine to the destination; Acquire a local path planned based on the global path and the current position of the mobile machine, wherein the local path includes multiple positions of the mobile machine; Calculate a dynamic estimated time of arrival for each pair of consecutive poses in the local path by performing a pose-to-pose estimated time of arrival calculation for the pair of consecutive poses, and sum the calculated dynamic estimated times of arrival for all pairs of consecutive poses; Calculating a baseline estimated time of arrival for each pair of consecutive poses from one of the plurality of poses in the global path of the mobile machine that is closest to a last pose in the local path to a last pose in the global path by performing the pose-to-pose estimated time of arrival calculation for the pair of consecutive poses, and summing the calculated baseline estimated times of arrival for all pairs of consecutive poses; as well as A total estimated arrival time at the destination is obtained based on the summed dynamic estimated arrival time and the summed baseline estimated arrival time.
2. The method according to claim 1, further comprising: Calculate the estimated time of arrival of the pair of consecutive postures by calculating the estimated time of arrival of the posture to the posture for each pair of consecutive postures in the global path within a range of the destination, and sum up the estimated time of arrival of the pair of consecutive postures calculated; Wherein, in the step of calculating the dynamic estimated arrival time, the dynamic estimated arrival time is obtained by calculating the estimated arrival time of the posture to posture for each pair of continuous postures in the local path outside the range; Wherein, in the step of calculating the baseline estimated arrival time, the baseline estimated arrival time is obtained by calculating the pose-to-pose estimated arrival time for each pair of consecutive poses within the range of the destination, from the last pose in the global path closest to the local path to the first pose in the global path; and The total estimated arrival time to the destination is obtained based on the dynamic estimated arrival time, the baseline estimated arrival time and the near-target estimated arrival time.
3. The method according to claim 1, wherein the pose-to-pose estimated time of arrival calculation comprises: Calculate the orientation difference of each pair of consecutive poses; Calculating the turning radius of each pair of continuous postures according to the orientation difference of the pair of continuous postures; as well as An estimated arrival time for a pair of consecutive postures is calculated based on the heading difference, the turning radius of each pair of consecutive postures, the maximum linear velocity of the mobile machine, and the maximum angular velocity of the mobile machine.
4. The method according to claim 3, wherein the step of calculating the estimated arrival time of the pair of consecutive postures based on the azimuth difference, the turning radius of each pair of consecutive postures, the maximum linear speed of the mobile machine and the maximum angular speed of the mobile machine comprises: The estimated arrival time dt for each pair of consecutive poses is calculated by the following equation: dt=max(rdθ / v max ,dθ / ω max ); Among them, r is the turning radius, dθ is the azimuth difference, and v max is the maximum linear velocity of the mobile machine, ω max is the maximum angular velocity of the mobile machine.
5. The method of claim 4, wherein calculating the estimated arrival time dt for each pair of consecutive poses by the equation comprises: The estimated arrival time dt for each pair of consecutive poses is calculated by the following equation: dt=max(rdθ / v max ,dθ / ω max ,(-v'+sqrt(v'v'+2a max rdθ)) / a max ,(-w'+ sqrt(w'w'+2a max dθ)) / a max ); Where, v'=rdθ / d, w'=dθ / dt, a max is the maximum linear acceleration of the mobile machine, α max is the maximum angular acceleration of the mobile machine.
6. The method according to claim 1, further comprising: The total estimated time of arrival is smoothed by a Kalman filter. The method of claim 1 , wherein in response to the global path being blocked, the global path is replanned.
8. The method according to claim 1, wherein after acquiring the total estimated arrival time of the destination, the method further comprises: In response to the predetermined condition being met, returning to the step of obtaining the current position of the mobile machine until the mobile machine reaches the destination.
9. An estimated arrival time calculation system, comprising: a mobile machine, calculating an estimated arrival time of the mobile machine at a destination; as well as a device for receiving the calculated estimated arrival time of the mobile machine at the destination; The mobile machine comprises: one or more processors; and One or more memories storing one or more computer programs, the one or more computer programs being executed by the one or more processors, wherein the one or more computer programs include a plurality of instructions for: Get the current position of the mobile machine; Obtaining a global path from the current position of the mobile machine to the destination; Acquire a local path planned based on the global path and the current position of the mobile machine, wherein the local path includes multiple positions of the mobile machine; Calculate a dynamic estimated time of arrival for each pair of consecutive poses in the local path by performing a pose-to-pose estimated time of arrival calculation for the pair of consecutive poses, and sum the calculated dynamic estimated times of arrival for all pairs of consecutive poses; Calculating a baseline ETA for each pair of consecutive poses from one of the plurality of poses in the global path of the mobile machine closest to a last pose in the local path to a last pose in the global path by performing the pose-to-pose ETA calculation for the pair, and summing the calculated baseline ETAs for all pairs of consecutive poses; and A total estimated arrival time at the destination is obtained based on the summed dynamic estimated arrival time and the summed baseline estimated arrival time.
10. The system according to claim 9, wherein: The one or more computer programs also include the following instructions: Calculate the estimated time of arrival of the pair of consecutive postures by calculating the estimated time of arrival of the posture to the posture for each pair of consecutive postures in the global path within a range of the destination, and sum up the estimated time of arrival of the pair of consecutive postures calculated; Wherein, in the step of calculating the dynamic estimated arrival time, the dynamic estimated arrival time is obtained by calculating the estimated arrival time of the posture to posture for each pair of continuous postures in the local path outside the range; Wherein, in the step of calculating the baseline estimated arrival time, the baseline estimated arrival time is obtained by calculating the pose-to-pose estimated arrival time for each pair of consecutive poses within the range of the destination, from the last pose in the global path closest to the local path to the first pose in the global path; and The total estimated arrival time to the destination is obtained based on the dynamic estimated arrival time, the baseline estimated arrival time and the near-target estimated arrival time.
11. The system according to claim 9, wherein the pose-to-pose estimated time of arrival calculation comprises: Calculate the orientation difference of each pair of consecutive poses; Calculating the turning radius of each pair of continuous postures according to the orientation difference of the pair of continuous postures; as well as An estimated arrival time for a pair of consecutive postures is calculated based on the heading difference, the turning radius of each pair of consecutive postures, the maximum linear velocity of the mobile machine, and the maximum angular velocity of the mobile machine.
12. The system of claim 11, wherein the step of calculating the estimated arrival time of the pair of consecutive postures based on the bearing difference, the turning radius of each pair of consecutive postures, the maximum linear speed of the mobile machine, and the maximum angular speed of the mobile machine comprises: The estimated arrival time dt for each pair of consecutive poses is calculated by the following equation: dt=max(rdθ / v max ,dθ / ω max ); Among them, r is the turning radius, dθ is the azimuth difference, and v max is the maximum linear velocity of the mobile machine, ω max is the maximum angular velocity of the mobile machine.
13. The system of claim 12, wherein calculating the estimated time of arrival dt for each pair of consecutive poses by the equation comprises: The estimated arrival time dt for each pair of consecutive poses is calculated by the following equation: dt=max(rdθ / v max ,dθ / ω max ,(-v'+sqrt(v'v'+2a max rdθ)) / a max ,(-w'+ sqrt(w'w'+2a max dθ)) / a max ); Where, v'=rdθ / d, w'=dθ / dt, a max is the maximum linear acceleration of the mobile machine, α max is the maximum angular acceleration of the mobile machine.
14. The system according to claim 9, wherein: The one or more computer programs also include the following instructions: The total estimated time of arrival is smoothed by a Kalman filter.
15. A mobile machine comprising: one or more sensors; one or more processors; as well as One or more memories storing one or more computer programs, the one or more computer programs being executed by the one or more processors, wherein the one or more computer programs include a plurality of instructions for: Acquire the current position of the mobile machine through the one or more sensors; Obtaining a global path from the current position of the mobile machine to a destination; Acquire a local path planned based on the global path and the current position of the mobile machine, wherein the local path includes multiple positions of the mobile machine; Calculate a dynamic estimated time of arrival for each pair of consecutive poses in the local path by performing a pose-to-pose estimated time of arrival calculation for the pair of consecutive poses, and sum the calculated dynamic estimated times of arrival for all pairs of consecutive poses; Calculating a baseline estimated time of arrival for each pair of consecutive poses from one of the plurality of poses in the global path of the mobile machine that is closest to a last pose in the local path to a last pose in the global path by performing the pose-to-pose estimated time of arrival calculation for the pair of consecutive poses, and summing the calculated baseline estimated times of arrival for all pairs of consecutive poses; as well as A total estimated arrival time at the destination is obtained based on the summed dynamic estimated arrival time and the summed baseline estimated arrival time.
16. The mobile machine according to claim 15, wherein: The one or more computer programs also include the following instructions: Calculate the estimated time of arrival of the pair of consecutive postures by calculating the estimated time of arrival of the posture to the posture for each pair of consecutive postures in the global path within a range of the destination, and sum up the estimated time of arrival of the pair of consecutive postures calculated; Wherein, in the step of calculating the dynamic estimated arrival time, the dynamic estimated arrival time is obtained by calculating the estimated arrival time of the posture to posture for each pair of continuous postures in the local path outside the range; Wherein, in the step of calculating the baseline estimated arrival time, the baseline estimated arrival time is obtained by calculating the pose-to-pose estimated arrival time for each pair of consecutive poses within the range of the destination, from the last pose in the global path closest to the local path to the first pose in the global path; and The total estimated arrival time to the destination is obtained based on the dynamic estimated arrival time, the baseline estimated arrival time and the near-target estimated arrival time.
17. The mobile machine of claim 15, wherein the pose-to-pose estimated time of arrival calculation comprises: Calculate the orientation difference of each pair of consecutive poses; Calculating the turning radius of each pair of continuous postures according to the orientation difference of the pair of continuous postures; as well as An estimated arrival time for a pair of consecutive postures is calculated based on the heading difference, the turning radius of each pair of consecutive postures, the maximum linear velocity of the mobile machine, and the maximum angular velocity of the mobile machine.
18. The mobile machine according to claim 17, wherein the step of calculating the estimated arrival time of the pair of consecutive postures based on the azimuth difference, the turning radius of each pair of consecutive postures, the maximum linear speed of the mobile machine and the maximum angular speed of the mobile machine comprises: The estimated arrival time dt for each pair of consecutive poses is calculated by the following equation: dt=max(rdθ / v max ,dθ / ω max ); Among them, r is the turning radius, dθ is the azimuth difference, and v max is the maximum linear velocity of the mobile machine, ω max is the maximum angular velocity of the mobile machine.
19. The mobile machine of claim 18, wherein calculating the estimated time of arrival dt for each pair of consecutive poses by the equation comprises: The estimated arrival time dt for each pair of consecutive poses is calculated by the following equation: dt=max(rdθ / v max ,dθ / ω max ,(-v'+sqrt(v'v'+2a max rdθ)) / a max ,(-w'+ sqrt(w'w'+2a max dθ)) / a max ); Where, v'=rdθ / d, w'=dθ / dt, a max is the maximum linear acceleration of the mobile machine, α max is the maximum angular acceleration of the mobile machine.
20. The mobile machine of claim 15, wherein: The one or more computer programs also include the following instructions: The total estimated time of arrival is smoothed by a Kalman filter.
Citation Information
Patent Citations
Hybrid path planning method for mobile robot
CN109753072A
Estimated arrival time prediction method and device based on deep neural network
CN110942211A