WO2022161045A1 - 预计到达时间计算方法以及使用该方法的***和移动机器 - Google Patents

预计到达时间计算方法以及使用该方法的***和移动机器 Download PDF

Info

Publication number
WO2022161045A1
WO2022161045A1 PCT/CN2021/140646 CN2021140646W WO2022161045A1 WO 2022161045 A1 WO2022161045 A1 WO 2022161045A1 CN 2021140646 W CN2021140646 W CN 2021140646W WO 2022161045 A1 WO2022161045 A1 WO 2022161045A1
Authority
WO
WIPO (PCT)
Prior art keywords
mobile machine
pose
eta
poses
arrival
Prior art date
Application number
PCT/CN2021/140646
Other languages
English (en)
French (fr)
Inventor
彭康豪
郭德骏
谭欢
沈扬
Original Assignee
深圳市优必选科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 深圳市优必选科技股份有限公司 filed Critical 深圳市优必选科技股份有限公司
Priority to CN202180016484.7A priority Critical patent/CN115244483A/zh
Publication of WO2022161045A1 publication Critical patent/WO2022161045A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • G01C21/206Instruments for performing navigational calculations specially adapted for indoor navigation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/005Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/383Indoor data

Definitions

  • the present application relates to the calculation of estimated time of arrival (ETA for short), and in particular, to a method for calculating estimated time of arrival and a system and mobile machine using the method.
  • ETA estimated time of arrival
  • AI artificial intelligence
  • mobile machines such as mobile robots or vehicles are gradually being endowed with the ability to navigate autonomously to perform tasks such as movement, transportation, etc. automatically.
  • unmanned vehicles such as: service robots, drones
  • These unmanned vehicles require accurate ETA to better schedule tasks or save users from waiting.
  • One of the existing ETA calculation methods is analysis-based, which calculates a map pixel by pixel based on the dynamic constraints of the moving machine (eg: speed limit, acceleration limit). It is computationally expensive because each path planning iteration takes about 500 milliseconds of computation time without considering the impact of global path replanning.
  • Another existing approach to ETA computation is based on machine learning, which uses datasets with thousands of path data records to train a model for a mobile machine and cannot adapt to other A mobile machine for which a similar amount of path data needs to be additionally recorded in order to retrain the model for that mobile machine.
  • the present application provides an estimated time of arrival calculation method, a system and a mobile machine using the method, to calculate the ETA of the mobile machine to a destination, and solve the problems existing in the aforementioned ETA calculation methods in the prior art.
  • the embodiment of the present application provides an estimated time of arrival calculation method for calculating the estimated time of arrival of a mobile machine to a destination, including:
  • the local path includes a plurality of poses of the mobile machine
  • the dynamic estimated time of arrival for the pair of consecutive poses is calculated by performing the pose-to-pose ETA calculation for each pair of consecutive poses in the local path, and the dynamic estimated time of arrival for all pairs of consecutive poses calculated Total estimated time of arrival;
  • the pose is performed by performing the pose for each successive pair of poses from one of the poses of the global path of the mobile machine closest to the last pose in the local path to the last pose in the global path pose ETA calculation to calculate a baseline ETA for the pair of consecutive poses, and sum the calculated baseline ETAs for all pairs of successive poses;
  • the total ETA to the destination is obtained based on the dynamic ETA and the baseline ETA.
  • Embodiments of the present application also provide an estimated time of arrival calculation system, including:
  • the mobile machine includes:
  • one or more memories storing one or more computer programs for execution by the one or more processors, wherein the one or more computer programs include a plurality of instructions for:
  • the local path includes a plurality of poses of the mobile machine
  • the pose is performed by performing the pose for each successive pair of poses from one of the poses of the global path of the mobile machine closest to the last pose in the local path to the last pose in the global path pose ETA calculation to calculate a baseline ETA for the pair of consecutive poses, and sum the calculated baseline ETAs for all pairs of successive poses;
  • the total ETA to the destination is obtained based on the dynamic ETA and the baseline ETA.
  • Embodiments of the present application also provide a mobile machine, including:
  • one or more memories storing one or more computer programs for execution by the one or more processors, wherein the one or more computer programs include a plurality of instructions for:
  • the local path includes a plurality of poses of the mobile machine
  • the pose is performed by performing the pose for each successive pair of poses from one of the poses of the global path of the mobile machine closest to the last pose in the local path to the last pose in the global path pose ETA calculation to calculate a baseline ETA for the pair of consecutive poses, and sum the calculated baseline ETAs for all pairs of successive poses;
  • a total ETA to the destination is obtained based on the aggregated dynamic ETA and the aggregated baseline ETA. .
  • the estimated time of arrival calculation method provided by the present application and the system and mobile machine using the method are based on the motion dynamics constraints of the mobile machine and the remaining navigation path to realize the calculation of ETA, thereby solving the existing problems
  • the technology has a large amount of computation, does not consider the impact of re-planning of the global path, and cannot adapt to different mobile machines with different hardware/software configurations.
  • FIG. 1 is a schematic diagram of navigating a mobile machine in some embodiments of the present application.
  • FIG. 2 is a schematic block diagram of a navigation system in some embodiments of the present application.
  • FIG. 3 is a schematic block diagram illustrating a mobile machine in the navigation system of FIG. 2
  • FIG. 4A is a schematic block diagram of an example of an ETA calculation for the mobile machine in FIG. 3 .
  • FIG. 4B is a schematic diagram of an example of path planning for the mobile machine in FIG. 3 .
  • FIG. 4D is a schematic block diagram of an example of a pose-to-pose ETA calculation in the example of the ETA calculation of FIG. 4A .
  • FIG. 4E is a schematic diagram of poses in a path close to a destination in the example of path planning of FIG. 4B .
  • FIG. 5 is a schematic block diagram of another example of ETA calculation for the mobile machine of FIG. 3 .
  • FIG. 6 is a schematic diagram of performing the ETA calculation of FIG. 5 in Scenario I.
  • FIG. 7 is a schematic diagram of performing the ETA calculation of FIG. 5 in Scenario II.
  • first”, “second” and “third” in this application are only for the purpose of description, 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 technical feature therein.
  • “plurality” means at least two, such as two, three, etc., unless expressly defined otherwise.
  • ETA Estimated Time of Arrival
  • mobile machine refers to a machine that has the ability to move in its environment
  • Sensor refers to devices, modules, machines or subsystems such as ambient light sensors and image sensors, the purpose of which is to detect events or changes in its environment and to transmit information to other Electronic equipment (eg processors).
  • noise refers to the process of monitoring and controlling the movement of a mobile machine from one place to another.
  • collision avoidance refers to preventing or reducing the severity of a collision.
  • FIG. 1 is a schematic diagram of navigating a mobile machine 100 in some embodiments of the present application.
  • a mobile machine 100 eg, a service robot
  • navigates its environment eg, an office
  • hazardous situations such as collisions and unsafe conditions (eg, falls, extreme temperatures, radiation, and exposure).
  • the mobile machine 100 navigates from an origin (eg, where the mobile machine 100 was originally located) to a destination (eg, as indicated by the user or the navigation/operating system of the mobile machine 100 ), while avoiding walls and obstacles (eg: furniture, people, pets and litter) to prevent the above-mentioned hazardous situations.
  • an origin eg, where the mobile machine 100 was originally located
  • a destination eg, as indicated by the user or the navigation/operating system of the mobile machine 100
  • walls and obstacles eg: furniture, people, pets and litter
  • 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 a starting point to a destination needs to be planned.
  • the arrival of the mobile machine 100 to the destination may be calculated based on information related to the navigation of the mobile machine 100, such as a constructed map, the location of the mobile machine 100, and/or the planned path. elsewhere in the path between the ETAs.
  • the calculated ETA of the mobile machine 100 may then be provided to its navigation/operating system or its user (via the control device 200 etc.) as a parameter for determining a navigation strategy (eg, determination of the shortest path) for determining multiple Conditions for task distribution among mobile machines or reference arrival times for mobile machines 100 .
  • navigation and/or ETA calculations of mobile machine 100 may be performed by mobile machine 100 itself (eg, a control interface on mobile machine 100 ) or by control device 200 (eg, a remote control of mobile machine 100 ) by, for example, providing A request for navigation and/or ETA of the mobile machine 100 is initiated.
  • FIG. 2 is a schematic block diagram of the 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 through 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 both. Any combination of one or more such networks.
  • the calculated ETA of the mobile machine 100 at the destination may be transmitted by the network interface 1311 to the control device 200 (and the server 300 ) over the network N in response to the ETA of the mobile machine 100 to the destination, such as received from the control device 200 or the server 300 .
  • the request is either transmitted to the server 300 and then forwarded by the server 300 to the control device 200 .
  • the navigation system 10 may only include the mobile machine 100 and the control device 200 (ie, do not include the server 300 ), and the calculated ETA of the mobile machine 100 may be available through the network interface 1311 through the network N (eg, Wi-Fi network) , Bluetooth network or mobile network) directly to the control device 200 .
  • 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 through 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, the device 100 may have more or less components (eg: units, subunits and modules) than those shown above or below, and two or more may be combined components, possibly with different component configurations or arrangements.
  • Processing unit 110 executes various instructions (sets) stored in storage unit 120, which may be in the form of software programs to perform various functions of mobile machine 100 and process related data, which may include one or more processors (Example: Central Processing Unit).
  • the storage unit 120 may include one or more memories (eg, 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 (eg, : Solid State Drive (SSD) or Hard Disk).
  • the control unit 130 may include various controllers (eg, a camera controller, a display controller, and a physical button controller) and a peripheral interface for coupling the input and output peripherals of the mobile machine 100 to the processing unit 110 and the storage unit 120, Examples are external ports (eg, USB), wireless communication circuits (eg, RF communication circuits), audio circuits (eg, speaker circuits), and sensors (eg, inertial measurement units (IMUs)).
  • IMUs inertial measurement units
  • the storage unit 120 may include a navigation module 121 for implementing functions related to navigation (and ETA calculation) of the mobile machine 100 (eg, map building, path planning, and ETA calculation), which may be stored in an or in a plurality of memories (and one or more non-transitory computer-readable storage media).
  • mobile machine 100 may be a vehicle, such as a car, drone, or watercraft.
  • the control device 200 may be, for example, a remote control, a smart phone, a tablet computer, a notebook computer, a desktop computer or other electronic device, which may include a processing unit 210, a storage unit 220 and a storage unit 220 that communicate through one or more communication buses or signal lines L. control unit 230.
  • the control apparatus 200 is only an example of the control apparatus of the mobile apparatus 100.
  • the control apparatus 200 may have more or fewer components (eg, units, subunits, and modules) than shown above or below, may combine two or more components, or may have a different configuration or arrangement of components.
  • Processing unit 210 executes various instructions (sets) stored in storage unit 220, which may be in the form of software programs to perform various functions and process related data for control device 200, which may include one or more processors (eg CPU).
  • the storage unit 220 may include one or more memories (eg, 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 (eg, : Solid State Drive (SSD) or Hard Disk).
  • the control unit 230 may include various controllers (eg, a camera controller, a display controller, and a physical button controller) and a peripheral interface for coupling the input and output peripherals of the control device 200 to the processing unit 210 and the storage unit 220, Examples are external ports (eg, USB), wireless communication circuits (eg, RF communication circuits), audio circuits (eg, speaker circuits), and sensors (inertial measurement units (IMUs)).
  • controllers eg, a camera controller, a display controller, and a physical button controller
  • peripheral interface for coupling the input and output peripherals of the control device 200 to the processing unit 210 and the storage unit 220. Examples are external ports (eg, USB), wireless communication circuits (eg, RF communication circuits), audio circuits (eg, speaker circuits), and sensors (inertial measurement units (IMUs)).
  • IMUs inertial measurement units
  • storage unit 220 may include mobile machine applications 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 (the operating system of the apparatus 200 ), which has a map editor 2211 and related functions (eg, settings) for implementing the mobile machine 100 and control) instruction Im .
  • the map editor 2211 may have instructions for editing the map for the mobile machine 100, such as removing noise or obstacles in the constructed map (received from the mobile machine 100), and adding navigation nodes/paths, Instructions for virtual walls.
  • the map editor 2211 may be a separate module from other modules of the mobile machine application 221 .
  • 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 through 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 (eg, a Wi-Fi network or a mobile network).
  • a network N eg, a Wi-Fi network or a mobile network.
  • the server 300 is only an example of the server of the mobile machine 100 and the control device 200, and the server 300 may have more or less components (eg: units, sub-units and modules) than the above or the following, and may be combined into two or more components, or may have different component configurations or arrangements.
  • Processing unit 310 executes various instructions (sets) stored in storage unit 320, which may be in the form of software programs to perform various functions and process related data for server 300, which may include one or more processors (such as CPU).
  • Storage unit 320 may include one or more memories (eg, 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 (eg, : Solid State Drive ((SSD) or hard disk).
  • the control unit 330 may include various controllers (eg: display controller and physical button controller) and input and output peripherals for coupling the server 300 to the processing unit 310 and the storage unit Peripheral device interfaces such as external ports (eg, USB), wireless communication circuits (eg, RF communication circuits), and audio circuits (eg, speaker circuits) of 320.
  • Peripheral device interfaces such as external ports (eg, USB), wireless communication circuits (eg, RF communication circuits), and audio circuits (eg, speaker circuits) of 320.
  • storage unit 320 may include service applications 321, which may 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 the (operating system of the server 300) that has 100 and the control device 200 implement instructions Is for related services (eg: map manager for mobile machine 100, digital distribution platform for control device 200, navigation task manager for mobile machine 100 and control device 200 ).
  • Is for related services eg: map manager for mobile machine 100, digital distribution platform for control device 200, navigation task manager for mobile machine 100 and control device 200 .
  • the path planner 1212 may include a global path planner Rg (not shown) for planning a global path Pg (see FIGS. 1 and 4B ) for the mobile machine 100 .
  • the global path planner R g may be a path planner based on the Dijkstra algorithm
  • the local path planner R 1 may be a path planner based on the TEB algorithm
  • the ETA calculation sub-module 1213 may have a path planner for implementing the ETA calculation of the mobile machine 100 .
  • the software module of Ie is instructed to calculate the ETA of the mobile machine 100 to the destination.
  • 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 (eg, high-speed random access memory (RAM) and non-transitory memory) for storing instructions In, map builder 1211 , path planner 1212, and ETA computation modules (eg, ETA computation sub-module 1213); and one or more processors (eg, MPU or MCU) for executing stored instructions In, Ib , Ip , and Ie to enable navigation of the mobile machine 100 .
  • memories eg, high-speed random access memory (RAM) and non-transitory memory
  • ETA computation modules eg, ETA computation sub-module 1213
  • processors eg, MPU or MCU
  • the mobile machine 100 also includes a communication subunit 131 and an actuation subunit 132 .
  • the communication sub-unit 131 and the actuating sub-unit 132 communicate with the control unit 130 through one or more communication buses or signal lines, and the one or more communication buses or signal lines can be connected with the above-mentioned one or more communication buses or signal lines.
  • L is the same, or at least partially different.
  • the communication subunit 131 is coupled to the communication interface (eg, the network interface 1311 ) of the mobile machine 100 for the mobile machine 100 to communicate with the control device 200 (and the server 300 ) through the network N and the I/O interface 1312 (eg, physical buttons).
  • the processing unit 110 obtains the current pose s 0 of the mobile machine 100 (block 410 ).
  • the current pose s 0 is collected by the sensor sub-unit 133 of the processing unit 110 (the IMU U).
  • FIG. 4B is a schematic diagram of an example of path planning for mobile machine 100 in FIG. 3 .
  • the processing unit 110 further obtains the global path Pg (see FIG. 1 ) from the current pose s 0 of the mobile machine 10 to the destination (block 420 ).
  • the global path Pg includes a plurality of poses of the mobile machine 100, each pose including a position (eg, coordinates in a coordinate system) and an attitude (eg, Euler angles in a coordinate system) of the mobile machine 100 .
  • the global path Pg can be planned by the global path planner Rg based on the map constructed by the map builder 1211 by, for example, simultaneous localization and mapping (SLAM).
  • SLAM simultaneous localization and mapping
  • the pose of the mobile machine 100 may be calculated based on the position in order to obtain the global path planner R g pose, including position and attitude.
  • the processing unit 110 further obtains the planned local path P 1 (see FIGS. 4B and 4C ) based on the global path P g and the current pose s 0 of the mobile machine 100 (block 430 ).
  • the local path P 1 may be further planned based on other data collected by the sensor subunit 133 of the mobile machine 100 .
  • an image can be collected by the camera C of the sensor sub-unit 133, and the collected image can be analyzed to identify obstacles, so that the local path P 1 can be planned with reference to the identified obstacles, and according to the planned obstacles Partial path P1 to move mobile machine 100 , thereby avoiding obstacles.
  • FIG. 4C is a schematic diagram of the partial path P 1 in the example of the path planning of FIG. 4B .
  • the local path P 1 includes a plurality of poses s of the mobile machine 100 , each pose s including a position (eg, coordinates in a coordinate system) and an attitude (eg, Euler angles in the coordinate system) of the mobile machine 100 .
  • the motor M of the mobile machine 100 can be actuated according to the pose s in the local path P 1 , so that the mobile machine 100 moves according to the local path P 1 , thereby realizing the navigation of the mobile machine 100 .
  • the local path P 1 may be generated by the local path planner R 1 based on the global path P g while taking into account the identified obstacles (eg, avoiding the identified obstacles) to plan the local path P 1 .
  • the local path P 1 (see FIG. 4B ) is highly coincident with the corresponding global path P g (for example, only the local path P 1 related to the obstacle is not coincident);
  • the linear and angular velocities and linear and angular accelerations of the mobile machine 100 are at their maximum values at all times;
  • the acceleration constraints of the mobile machine 100 ie, the maximum linear acceleration and maximum angular acceleration
  • the acceleration constraints of the mobile machine 100 can be ignored since they only affect a limited portion of the path.
  • pose pose ETA the time spent between two consecutive poses s (i.e. pose pose ETA) will be less limited by the maximum linear and angular velocities.
  • the processing unit 110 also calculates the dynamic ETA eta d of each pair of consecutive poses s by performing the pose-to-pose ETA calculation on the pair of consecutive poses s in the local path P 1 , and converts all the calculated pairs of consecutive poses
  • the dynamic ETA eta d of pose s is summed (block 440).
  • the pose pose ETA dt is the time it takes for the mobile machine 100 to navigate from the previous pose si to the current pose si+1 (see FIG. 4C ).
  • each pair of consecutive poses s includes a previous pose si and a current pose si+1 with a short distance (eg, distance ⁇ 10 cm) in between.
  • FIG. 4D is a schematic block diagram of an example of a pose-to-pose ETA calculation in the example of the ETA calculation of FIG. 4A .
  • the processing unit 110 computes the pair of consecutive poses The orientation difference d ⁇ of the pose (box C1).
  • the yaw angle between the current pose s i+1 and the previous pose s i can be used as the orientation ⁇ of the current pose s i+ 1
  • the orientation difference d ⁇ between poses s i can be calculated by the following equation:
  • pose[i+1].yaw is the yaw angle of the current pose s i+1
  • pose[i].yaw is the yaw angle of the previous pose s i .
  • the yaw angle of pose s i+3 is 0, the yaw angle of pose s i+4 is ⁇ i+4
  • the yaw angle of pose s i+5 is ⁇ i+5
  • the orientation difference d ⁇ i+3 between poses s i+3 and s i+4 will be ⁇ i+4
  • the orientation difference d ⁇ i between poses s i+4 and s i+5 +4 would be ⁇ i+5 - ⁇ i + 4 (see Figure 4C).
  • the processing unit 110 further calculates the turning radius r of the pair of consecutive poses according to the orientation difference d ⁇ of the pair of consecutive poses (block C2).
  • the turning radius r of the pair of consecutive poses can be calculated by the following equation:
  • the processing unit 110 further calculates ( pose pose pose) ETA dt (box C3)
  • the linear and angular velocities of the mobile machine 100 should not exceed their maximum values. Therefore, the speed limitations of the processing unit 110 (ie, the maximum linear velocity v max and the maximum angular velocity ⁇ max ) must be considered, and the ETA dt must be calculated from the speed limitations 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:
  • the ETA dt may be calculated further based on the acceleration constraints of the mobile machine 100 (i.e., the maximum linear acceleration and the maximum angular acceleration) in addition to the speed limit, thereby further improving the accuracy of calculating the 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:
  • v′ is the linear velocity of the mobile machine 100 at the last pose s i
  • ⁇ ′ is the angular velocity of the pose of the mobile machine 100 before the last pose s i-1
  • a max is the maximum value of the mobile machine 100 Linear acceleration
  • ⁇ max is the maximum angular acceleration of the mobile machine 100
  • the processing unit 110 may calculate the ETA dt for the pair of consecutive poses by the following equation (block C3):
  • dt max(rd ⁇ /v max , d ⁇ / ⁇ max , (-v′+sqrt(v′v′+2 a max rd ⁇ ))/a max , (- ⁇ ′+sqrt( ⁇ ′ ⁇ ′+2 ⁇ max d ⁇ ))/ ⁇ max );
  • FIG. 4E is a schematic diagram of poses in a path close to a destination in the example of path planning of FIG. 4B .
  • the processing unit 110 further generates the last pose from the global path P g of the mobile machine 100 from the pose s gc of the last pose s 11 closest to the local path P 1 to the last pose in the global path P g Perform pose pose ETA calculation for each pair of consecutive poses of pose s q1 to calculate the baseline ETA eta b of the pair of consecutive poses, and add the calculated baseline ETA eta b of all pairs of consecutive poses. total (block 450).
  • the maximum linear velocity v max and the maximum angular velocity ⁇ max of the mobile machine 100 decrease.
  • R eg 40 cm
  • FIG. 5 is a schematic block diagram of another example of ETA calculation for the mobile machine 100 of FIG. 3 .
  • the processing unit 110 further obtains the current pose s 0 of the mobile machine 100 (block 510/410), obtaining the global path P g (block 520/420), obtaining the local path P 1 (block 530/430), the processing unit 110 further obtains the current pose s 0 of the mobile machine 100 (block 510/410), obtaining the global path P g (block 520/420), obtaining the local path P 1 (block 530/430), the processing unit 110 further
  • the ETA calculation methods in FIGS. 4A and 5 may be re-executed in response to the satisfaction of predetermined conditions until the mobile machine 100 reaches the destination in order to update the calculated ETA during navigation of the mobile machine 100 .
  • the processing unit 110 may also return to the step of obtaining the current pose s 0 of the mobile machine 100 (block 410/block 510 ) in response to the satisfaction of the predetermined condition until the mobile machine 100 reaches the destination.
  • the predetermined conditions may include:
  • a new partial path P 1 has been planned
  • the global path Pg has been replanned (eg when obstacles are detected).
  • FIG. 6 is a schematic diagram of performing the ETA calculation of FIG. 5 in Scenario I.
  • the calculated ETA is represented by a coordinate system with the actual time spent on movement of the mobile machine 100 as the x-axis and the calculated ETA at each time instance as the y-axis.
  • the calculated dynamic ETA eta d , the baseline ETA eta b and the approaching target ETA eta n are superimposed on each other.
  • scenario 1 of the ETA calculation of the mobile machine 100 the mobile machine 100 is navigated to move along a straight path from an origin to a destination.
  • the sum of the total ETA eta t and the actual time spent should be a constant, i.e. line 1 representing the sum should be a horizontal straight line on the coordinate system. In this case, since line 1 appears to be a small slope with slight undulations, the ETA calculation for straight-line path navigation can be considered close to the ideal ETA calculation.
  • T the total time taken by the mobile machine 100 to travel from the origin to the destination
  • t k the arrival time from the current posture s 0 of the mobile machine 100 to the destination
  • t k the time from the origin to the current posture s 0 of the mobile machine 100
  • T the time spent is ⁇ k .
  • T is an unobservable constant until the end of the journey
  • the performance of the ETA calculation method i.e. the maximum absolute error in accuracy
  • the constant positive slope on line 1 indicates that the moving speed of the mobile machine 100 is lower than its maximum linear speed
  • the dynamic ETA eta d The initial burst in ( ⁇ 0.5 seconds) is due to the acceleration constraints of the mobile machine 100; thirdly, when reaching the destination (between 13-15 seconds), the burst of total ETA eta t is due to the local path not at the destination ends within the range R of , and redundant ETAs are computed.
  • the maximum absolute error of the calculated ETA eta t is less than 10 seconds (reaching a second-level estimation accuracy of 10 seconds or less), the total ETA eta t smoothly as the mobile machine 100 gradually reaches the destination Convergence to 0, which satisfies the requirement of good ETA calculation.
  • the ETA calculation methods in Figures 4A and 5 are implemented based on the motion dynamics constraints of the mobile machine and its remaining navigation paths, and have the following advantages compared with the existing ETA calculation methods.
  • Nonvolatile memory may include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, solid state drives (SSD), and the like.
  • Volatile memory may include random access memory (RAM), external cache memory, and the like.
  • the processing unit 110 may include a central processing unit (central processing unit, CPU for short), or other general-purpose processors, digital signal processors (digital signal processors, DSP for short), application specific integrated circuits (application specific integrated circuits) circuit, ASIC for short), field-programmable gate array (FPGA) or other programmable logic devices, discrete gates, transistor logic devices and discrete hardware components.
  • a general-purpose processor may be a microprocessor or any conventional processor.
  • the storage unit 120 (and the above-mentioned memory) may include an internal storage unit such as a hard disk and an internal memory.
  • the storage unit 120 may further include an external storage device such as a plug-in hard disk, a smart media card (SMC for short), a secure digital (SD) card for short, and a flash memory card.
  • SMC smart media card
  • SD secure digital

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Navigation (AREA)

Abstract

一种用于移动机器(100)的预计到达时间(ETA)计算方法以及使用该方法的***和移动机器(100),应用于ETA计算技术领域。通过以下步骤来计算移动机器(100)到目的地的ETA:获取该移动机器(100)的当前位姿(S 0);获取从该移动机器(100)的该当前位姿(S 0)到该目的地的全局路径(P g);获取局部路径(P 1);计算该局部路径(P 1)中的每对连续的位姿的动态ETA(eta d)、并将计算出的该动态ETA(eta d)作加总;计算从该全局路径(P g)的位姿中最接近该局部路径(P 1)中的最后一个位姿(S 11)的一个到该全局路径(P g)中的最后一个位姿(S q1)的每对连续的位姿的基线ETA(eta b)、并将计算出的该基线ETA(eta b)作加总;以及基于该动态ETA(eta d)和该基线ETA(eta b)来获取到该目的地的总ETA(eta)。

Description

预计到达时间计算方法以及使用该方法的***和移动机器 技术领域
本申请涉及预计到达时间(estimated time of arrival,简称ETA)计算,尤其涉及一种预计到达时间计算方法以及使用该方法的***和移动机器。
背景技术
随着人工智能(AI)技术的成熟,移动机器人或车辆等移动机器逐渐被赋予自动导航的能力,以自动执行移动、运输等任务。此外,随着这两年疫情的肆虐,许多无人车辆(例如:服务机器人、无人机)参与到客服、快递等许多任务中,以便免于受到封城的影响、并符合公共卫生需求。这些无人车辆需要准确的ETA,从而以更好的方式安排任务或让用户免于等待。
现有的一种ETA计算方法是基于分析的,它基于移动机器的动力学约束(例如:速度限制、加速度限制)逐像素地计算出地图。其计算量大,因为每次路径规划迭代需要500毫秒左右的计算时间,而却没有考虑全局路径的重新规划的影响。现有另一种的ETA计算方法是基于机器学习的,它使用具有数千条路径数据记录的数据集为一个移动机器训练模型,而且不能适应具有不同硬件/软件配置(例如速度限制)的其他移动机器,因为需要额外为其记录相似数量的路径数据、以便为该移动机器重新训练模型。
发明内容
本申请提供一种预计到达时间计算方法以及使用该方法的***和移动机器,用以计算移动机器到目的地的ETA,解决前述的现有技术中的ETA计算方法所存在的问题。
本申请的实施例提供了一种预计到达时间计算方法,用于计算移动机器到目的地的预计到达时间,包括:
获取该移动机器的当前位姿;
获取从该移动机器的该当前位姿到该目的地的全局路径;
获取基于该全局路径和该移动机器的该当前位姿而规划的局部路径,其中该局部路径包括该移动机器的多个位姿;
通过对该局部路径中的每对连续的位姿执行位姿到位姿预计到达时间计算来计算该对连续的位姿的动态预计到达时间,并将计算出的所有对连续的位姿的该动态预计到达时间作加总;
通过对从该移动机器的该全局路径的多个位姿中最接近该局部路径中的最后一个位姿的一个到该全局路径中的最后一个位姿的每对连续的位姿执行该位姿到位姿预计到达时间计算来计算该对连续的位姿的基线预计到达时间,并将计算出的所有对连续的位姿的该基线预计到达时间作加总;以及
基于该动态预计到达时间和该基线预计到达时间来获取到该目的地的总预计到达时间。
本申请的实施例还提供了一种预计到达时间计算***,包括:
一个移动机器,计算该移动机器到目的地的预计到达时间;以及
一个设备,接收计算出的该移动机器到达该目的地的该预计到达时间;
其中,该移动机器包括:
一或多个处理器;以及
一或多个存储器,存储有一或多个计算机程序,该一或多个计算机程序由该一或多个处理器执行,其中该一或多个计算机程序包括多个指令用于:
获取该移动机器的当前位姿;
获取从该移动机器的该当前位姿到该目的地的全局路径;
获取基于该全局路径和该移动机器的该当前位姿而规划的局部路径,其中 该局部路径包括该移动机器的多个位姿;
通过对从该移动机器的该全局路径的多个位姿中最接近该局部路径中的最后一个位姿的一个到该全局路径中的最后一个位姿的每对连续的位姿执行该位姿到位姿预计到达时间计算来计算该对连续的位姿的基线预计到达时间,并将计算出的所有对连续的位姿的该基线预计到达时间作加总;以及
基于该动态预计到达时间和该基线预计到达时间来获取到该目的地的总预计到达时间。
本申请的实施例还提供了一种移动机器,包括:
一或多个传感器;
一或多个处理器;以及
一或多个存储器,存储有一或多个计算机程序,该一或多个计算机程序由该一或多个处理器执行,其中该一或多个计算机程序包括多个指令用于:
通过该一或多个传感器获取该移动机器的当前位姿;
获取从该移动机器的该当前位姿到该目的地的全局路径;
获取基于该全局路径和该移动机器的该当前位姿而规划的局部路径,其中该局部路径包括该移动机器的多个位姿;
通过对从该移动机器的该全局路径的多个位姿中最接近该局部路径中的最后一个位姿的一个到该全局路径中的最后一个位姿的每对连续的位姿执行该位姿到位姿预计到达时间计算来计算该对连续的位姿的基线预计到达时间,并将计算出的所有对连续的位姿的该基线预计到达时间作加总;以及
基于所加总的该动态预计到达时间和所加总的该基线预计到达时间来获取到该目的地的总预计到达时间。。
从上述本申请的实施例可知,本申请提供的预计到达时间计算方法以及使用该方法的***和移动机器是基于移动机器的运动动力学约束和剩余导航路径来实现ETA的计算,从而解决现有技术中计算量大、没有考虑全局路径的重新 规划的影响、不能适应具有不同硬件/软件配置的不同移动机器等问题。
附图说明
为了更清楚地说明本申请的实施例中的技术方案,下面对实施例中或现有技术的描述中所使用的附图进行简要的介绍。在以下的附图中,相似的标号指代的是在这些图中的对应构件。应当理解的是,以下描述中的附图仅为本申请的例子。对于本领域的技术人员来说,在没有创造性劳动的情况下,可以基于这些附图来获得其他的附图。
图1是本申请的一些实施例中对移动机器进行导航的示意图。
图2是本申请的一些实施例中的导航***的示意框图。
图3是说明图2的导航***中的移动机器的示意框图
图4A是图3中的移动机器的ETA计算的例子的示意框图。
图4B是用于图3中的移动机器的路径规划的例子的示意图。
图4C是图4B的路径规划的例子中的局部路径的示意图。
图4D是图4A的ETA计算的例子中的位姿到位姿ETA计算的例子的示意框图。
图4E是图4B的路径规划的例子中靠近目的地的路径中的位姿的示意图。
图5是图3的移动机器的ETA计算的另一个例子的示意框图。
图6是在场景I中进行图5的ETA计算的示意图。
图7在是场景II中进行图5的ETA计算的示意图。
具体实施方式
为使本申请的目的、特征和优点更加明显易懂,下面将结合附图对本申请的实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本申请的一部分实施例,而非全部的实施例。基于本申请中的实施例,本领域 普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都在本申请所保护的范围内。
应当理解的是,当在本申请的说明书和所附的权利要求中使用时,术语“包括”、“包含”、“具有”及其变体表示所述特征、整体、步骤、操作、元素和/或组件的存在,但不排除可以存在或添加一或多个其他特征、整体、步骤、操作、元素、组件和/或其集合。
还应当理解的是,在本申请的说明书中所使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请的范围。如同在本申请的说明书和所附的权利要求中所使用的那样,除非上下文清楚地指明了其他情况,否则单数形式的“一”、“一个”以及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附的权利要求中所使用的术语“和/或”是指相关列出的项中的一或多个的任何组合以及所有可能组合,并且包括这些组合。
本申请中的术语“第一”、“第二”、“第三”仅仅是出于描述的目的,而不能理解为指示或暗示了相对重要性、或是暗示了所指的技术特征的数量。由此,由“第一”、“第二”、“第三”所限定的特征可以显式或隐式地包括其中的至少一个技术特征。在本申请的描述中,“多个”的含义是至少两个,例如两个、三个等,除非另有明确的定义。
在本申请的说明书中叙述的“一个实施例”或“一些实施例”等意味着在本申请的一或多个实施例中可以包括与该实施例的描述内容相关的特定特征、结构或特点。由此,在说明书的不同地方出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是意味着所描述的实施例应该被所有其他实施例所引用,而是被“一或多个但不是所有其他实施例所引用”,除非另有特别强调。
本申请涉及了用于移动机器的ETA计算。这里所使用的术语“预计到达 时间”(ETA)是指船舶、车辆、飞机、货物、紧急服务或人员预计到达目的地的时间,术语“移动机器”是指具有在其所在环境中移动的能力的车辆或移动机器人等类型的机器,术语“传感器”是指例如环境光传感器和图像传感器的设备、模块、机器或子***,其目的是检测其环境中的事件或变化、并将信息发送到其他电子设备(例如处理器)。术语“导航”是指监视和控制移动机器从一个地方到另一个地方的运动的过程。术语“碰撞避免”是指防止碰撞或降低其严重性。
图1是本申请的一些实施例中对移动机器100进行导航的示意图。移动机器100(例如:服务机器人)在其环境(例如办公室)中进行导航,同时防止诸如碰撞和不安全状态(例如:坠落、极端温度、辐射和暴露)的危险情况。在室内导航中,移动机器100从起点(例如移动机器100最初所在的位置)导航到目的地(例如由用户或移动机器100的导航/操作***所指示的导航目标位置),而可以避开墙壁和障碍物(例如:家具、人、宠物和垃圾)以防止上述的危险情况。在一些实施例中,为了实现移动机器100的导航,需要构建环境的地图,需要确定移动机器100在环境中的位置,并且需要规划移动机器100从起点移动到目的地的路径。
在一些实施例中,可以基于与移动机器100的导航相关的信息,例如构建的地图、移动机器100的位置和/或计划的路径,来计算移动机器100到达目的地(以及起点和目的地之间的路径中的其他地方)的ETA。而后,所计算出的移动机器100的ETA可以(通过控制设备200等)提供给其导航/操作***或其用户,以作为确定导航策略的参数(例如:最短路径的确定),用于确定多个移动机器之间的任务分布的条件或移动机器100的参考到达时间。
在一些实施例中,移动机器100的导航和/或ETA计算可以由移动机器100本身(例如,移动机器100上的控制接口)或控制设备200(例如移动机器100的遥控器)通过比如提供对移动机器100的导航和/或ETA的请求来启动。
图2是本申请的一些实施例中的导航***10的示意框图。导航***10可以包括通过网络N进行通信的移动机器100、控制装置200和服务器300。网络N可以包括例如因特网、内联网、外联网、局域网网络(LAN)、广域网(WAN)、有线网络、无线网络(例如Wi-Fi网络、蓝牙网络和移动网络)或其他合适的网络,或两个或更多个此类网络的任意组合。计算出的移动机器100的ETA到达目的可以由网络接口1311通过网络N传输到控制装置200(和服务器300)以响应于比如从控制装置200或服务器300接收的移动机器100到目的地的ETA的请求,或者传输到服务器300、然后由服务器300转发到控制装置200。在其他实施例中,导航***10可仅包括移动机器100和控制装置200(即不包括服务器300),而计算出的移动机器100的ETA可由网络接口1311通过网络N(例如:Wi-Fi网络、蓝牙网络或移动网络)直接传输到控制装置200。
移动机器100可以是移动机器人,例如轮式机器人或类人机器人,其可以包括通过一或多个通信总线或信号线L进行通信的处理单元110、存储单元120和控制单元130。需要说明的是,移动机器100只是移动机器的一个例子,设备100可以具有比上面或下面所示更多或更少的组件(例如:单元、子单元和模块),可以组合两个或更多个组件,可能具有不同的组件配置或布置。处理单元110执行存储在存储单元120中的各种(各组)指令,这些指令可以是软件程序的形式来执行移动机器100的各种功能并处理相关数据,其可以包括一或多个处理器(例如:中央处理器)。存储单元120可以包括一或多个存储器(例如:高速随机存取存储器(RAM)和非暂时性存储器)、一或多个存储器控制器以及一或多个非暂时性计算机可读存储介质(例如:固态硬盘(SSD)或硬盘)。控制单元130可以包括各种控制器(例如:相机控制器、显示控制器和物理按钮控制器)和用于耦合移动机器100的输入输出***设备到处理单元110和存储单元120的***设备接口,例如外部端口(如USB)、无线通信电路(如 RF通信电路)、音频电路(如扬声器电路)和传感器(如惯性测量单元(IMU))。在一些实施例中,存储单元120可以包括用于实现与移动机器100的导航(和ETA计算)相关的功能(例如:地图构建、路径规划和ETA计算)的导航模块121,可以存储在一或多个存储器(以及一或多个非暂时性计算机可读存储介质)中。在其他实施例中,移动机器100可以是交通工具,例如汽车、无人机或船只。
控制设备200例如可以是遥控器、智能手机、平板电脑、笔记本电脑、台式电脑或其他电子设备,其可以包括通过一或多条通信总线或信号线L进行通信的处理单元210、存储单元220和控制单元230。需要说明的是,控制装置200只是移动机器100的控制装置的一个例子。控制装置200可以具有比以上或以下所示更多或更少的部件(例如:单元、子单元和模块),可以组合两个或更多个组件,或者可以具有不同的组件配置或布置。
处理单元210执行存储在存储单元220中的各种(各组)指令,这些指令可以是软件程序的形式来为控制设备200执行各种功能并处理相关数据,其可以包括一或多个处理器(例如CPU)。存储单元220可以包括一或多个存储器(例如:高速随机存取存储器(RAM)和非暂时性存储器)、一或多个存储器控制器以及一或多个非暂时性计算机可读存储介质(例如:固态硬盘(SSD)或硬盘)。控制单元230可以包括各种控制器(例如:相机控制器、显示控制器和物理按钮控制器)和用于耦合控制设备200的输入输出***设备到处理单元210和存储单元220的***设备接口,例如外部端口(如USB)、无线通信电路(如RF通信电路)、音频电路(如扬声器电路)和传感器(惯性测量单元(IMU))。
在一些实施例中,存储单元220可以包括移动机器应用程序221,其可以存储在一或多个存储器(以及一或多个非暂时性计算机可读存储介质)中。移动机器应用程序221可以是用于控制装置200(的操作***)的移动应用程序 (APP)(或计算机程序),其具有地图编辑器2211和用于实现移动机器100的相关功能(例如,设置和控制)的指令I m。地图编辑器2211可以具有用于为移动机器100编辑地图的指令,例如去除(从移动机器100接收的)所构建的地图中的噪点或障碍物,以及对所构建的地图添加导航节点/路径、虚拟墙的指令。地图编辑器2211可以是与移动机器应用221的其他模块分离的模块。
服务器300可以是例如一或多个服务器计算机,其可以包括通过一或多个通信总线或信号线L进行通信的处理单元310、存储单元320和控制单元330。服务器300可以是基站的一部分,其经由网络N(例如:Wi-Fi网络或移动网络)与移动机器100和控制设备200通信。需要说明的是,服务器300只是移动机器100和控制装置200的服务器的一个例子,服务器300可以具有比上述或以下述更多或更少的组件(例如:单元、子单元和模块),可以组合成两个或更多个组件,或者可以具有不同的组件配置或排列。
处理单元310执行存储在存储单元320中的各种(各组)指令,这些指令可以是软件程序的形式来为服务器300执行各种功能并处理相关数据,其可以包括一或多个处理器(例如CPU)。存储单元320可以包括一或多个存储器(例如:高速随机存取存储器(RAM)和非暂时性存储器)、一或多个存储器控制器以及一或多个非暂时性计算机可读存储介质(例如:固态硬盘((SSD)或硬盘)。控制单元330可以包括各种控制器(例如:显示控制器和物理按钮控制器)和用于耦合服务器300的输入输出***设备到处理单元310和存储单元320的***设备接口,例如外部端口(如USB)、无线通信电路(如RF通信电路)和音频电路(如扬声器电路)。在一些实施例中,存储单元320可以包括服务应用程序321,其可以存储在一或多个存储器(以及一或多个非暂时性计算机可读存储介质)中。服务应用程序321可以是用于服务器300(的操作***)的计算机程序,其具有用于为移动机器100和控制设备200实现相关服务(例如:移动机器100的地图管理器、控制设备200的数字分发平台、移动 机器100和控制设备200的导航任务管理器)的指令I s
图3是说明图2的导航***10中的移动机器100的示意框图。移动机器100的存储单元120中的导航模块121可以是(移动机器100的操作***的)软件模块,其具有指令I n(例如:用来驱动移动机器100的电机M以移动移动机器100的指令),地图构建器1211、路径规划器1212和ETA计算子模块1213。地图构建器1211可以是具有用于为移动机器100构建地图的指令I b的软件模块,路径规划器1212可以是具有用于为移动机器100规划路径的指令I p的软件模块。在一些实施例中,路径规划器1212可以包括用于为移动机器100规划全局路径P g(见图1和图4B)的全局路径规划器R g(图未示)。全局路径规划器R g可以是基于Dijkstra算法的路径规划器,局部路径规划器R 1可以是基于TEB算法的路径规划器,ETA计算子模块1213可以是具有用于实现移动机器100的ETA计算的指令I e的软件模块,以便计算移动机器100到达目的地的ETA。地图构建器1211、路径规划器1212和ETA计算子模块1213可以是与用于实现移动机器100的导航的指令I n分离的子模块或是导航模块121的其他子模块,或是指令I n的一部分。ETA计算子模块1213还可以具有与移动机器100的ETA计算相关的数据(例如:输入/输出数据和临时数据),这些数据可以存储在一或多个存储器中、并由处理单元110访问。
在一些实施例中,指令I n可以包括用于实现移动机器100的碰撞避免的指令(例如:障碍物检测和路径重新规划)。此外,全局路径规划器R g可以重新规划全局路径P g(即规划新的全局路径P g)来绕行,以响应原始全局路径被阻挡(例如被意外障碍物阻挡)或不足以避免碰撞(例如在被采用时无法避开所检测到的障碍物)。在其他实施例中,导航模块121可以是通过一或多条通信总线或信号线L与处理单元110、存储单元120和控制单元130通信的导航单元,还可以包括一或多个存储器(例如高速随机存取存储器(RAM)和非暂时性存储器),用于存储指令I n、地图构建器1211、路径规划器1212和ETA计算模块 (如ETA计算子模块1213);以及一或多个处理器(例如MPU或MCU),用于执行所存储的指令I n、I b、I p和I e、以实现移动机器100的导航。
移动机器100还可以包括传感器子单元133,其可以包括一组传感器和相关控制器,例如IMU U(或加速度计和陀螺仪),用于检测其所在的环境、以实现其导航。传感器子单元133通过一或多条通信总线或信号线与控制单元130进行通信,该一或多条通信总线或信号线可以与上述的一或多条通信总线或信号线L相同、或至少部分不同。在其他实施例中,在导航模块121是上述的导航单元的情况下,传感器子单元133可以通过一或多条通信总线或信号线与导航单元通信进行,该一或多条通信总线或信号线可以与上述的一或多条通信总线或信号线L相同、或至少部分不同。另外,传感器子单元133可以只是抽象组件,用于表示移动机器100的组件之间的逻辑关系。
移动机器100还包括通信子单元131和致动子单元132。通信子单元131和致动子单元132通过一或多条通信总线或信号线与控制单元130进行通信,该一或多条通信总线或信号线可以与上述的一或多条通信总线或信号线L相同、或至少部分不同。通讯子单元131耦接移动机器100的通讯接口(例如网络接口1311),以供移动机器100通过网络N和I/O接口1312(例如物理按钮)与控制设备200(和服务器300)进行通信。致动子单元132耦合到用于实现移动机器100的运动的组件/设备,以驱动移动机器100的车轮和/或关节的电机M。通信子单元131可以包括用于移动机器100的上述通信接口的控制器,致动子单元132可以包括用于实现移动机器100运动的上述组件/设备的控制器。在其他实施例中,通信子单元131和/或致动子单元132可以仅是抽象组件,用于表示移动机器100的组件之间的逻辑关系。
在一些实施例中,地图构建器1211、路径规划器1212、传感器子单元133和电机M(以及耦合到电机M的移动机器100的轮子和/或关节)共同组成一个(导航)***,其实现了地图构建、(全局和局部)路径规划和电机驱动, 以便实现移动机器100的导航。
在一些实施例中,图2和图3中所示的各种组件可以以硬件、软件或硬件和软件的组合来实现。处理单元110、存储单元120、控制单元130、导航模块121、处理单元210、存储单元220、控制单元230、处理单元310、存储单元320、控制单元330,以及其他单元/子单元/模块中的两个或更多个可以在单个芯片或电路上实现。
用动态ETA和基线ETA计算ETA
图4A是图3中的移动机器100的ETA计算的例子的示意框图。在一些实施例中,以例如将对应于该ETA计算方法的指令(组)I e存储为存储单元120中的ETA计算子模块1213并通过处理单元110执行所存储的指令I e的方式在移动机器100中实现移动机器100的ETA计算方法、以提供移动机器100到达目的地的预计到达时间。ETA计算方法的执行可以响应于来自例如移动机器100本身(的导航/操作***)、控制设备200或服务器300的对移动机器100到目的地的ETA的请求。而后可以以特定间隔(例如1秒)重新执行ETA计算方法、直到移动机器100到达目的地。
根据该ETA计算方法,处理单元110获取移动机器100的当前位姿s 0(框410)。在一些实施例中,当前位姿s 0是通过处理单元110的传感器子单元133(的IMU U)收集的。
图4B是用于图3中的移动机器100的路径规划的例子的示意图。处理单元110进一步获取从移动机器10的当前位姿s 0到目的地的全局路径P g(参见图1)(块420)。在一些实施例中,全局路径P g包括移动机器100的多个位姿,每个位姿包括移动机器100的位置(例如坐标系中的坐标)和姿态(例如坐标系中的欧拉角)。此外,全局路径P g可以由全局路径规划器R g通过例如同时定位和映射(SLAM)的方式基于地图构建器1211所构建的地图加以规划。在其他实施例中,在例如全局路径规划器R g所规划的全局路径仅包括移动机器 100的位置的情况下,可以基于位置来计算移动机器100的位姿,以便获取全局路径规划器R g的位姿,包括位置和姿态。
处理单元110进一步获取基于全局路径P g和移动机器100的当前位姿s 0而规划的局部路径P 1(参见图4B和图4C)(框430)。可以进一步基于通过移动机器100的传感器子单元133所收集的其他数据来规划局部路径P 1。例如,可以通过传感器子单元133的相机C来采集图像,并对所采集的图像进行分析、以识别障碍物,从而可以参考所识别出的障碍物来规划局部路径P 1,并根据所规划的局部路径P 1来移动移动机器100、借以避开障碍物。图4C是图4B的路径规划的例子中的局部路径P 1的示意图。局部路径P 1包括移动机器100的多个位姿s,每个位姿s包括移动机器100的位置(例如坐标系中的坐标)和姿态(例如坐标系中的欧拉角)。移动机器100的电机M可以根据局部路径P 1中的位姿s而被致动,使得移动机器100根据局部路径P 1移动,从而实现移动机器100的导航。在一些实施例中,可以通过局部路径规划器R 1基于全局路径P g生成局部路径P 1,同时考虑识别到的障碍物(例如避开识别到的障碍物)来规划局部路径P 1
在一些实施例中,例如基于TEB的路径规划器被用来作为局部路径规划器R 1的情况下,当假设:
全局路径P g(见图1)上没有障碍物;
局部路径P 1(见图4B)与对应的全局路径P g高度重合(例如只有与障碍物相关的局部路径P 1不重合);
移动机器100的线和角速度以及线和角加速度在任何时刻都处于最大值;以及
可选地,移动机器100的加速度约束(即最大线加速度和最大角加速度)可以忽略,因为它们只会影响路径的有限部分。
结果是,在两个连续的位姿s之间所花费的时间(即位姿到位姿ETA)将 受到最大线和角速度的较低限制。
处理单元110还通过对局部路径P 1中的每对连续的位姿s执行位姿到位姿ETA计算来计算该对连续的位姿s的动态ETA eta d,并将计算出的所有对连续的位姿s的动态ETA eta d作加总(框440)。位姿到位姿ETA dt是移动机器100从上个位姿s i导航到当前位姿s i+1(见图4C)所花费的时间。在一些实施例中,每对连续位姿s包括其间具有短距离(例如距离<10厘米)的上个位姿s i和当前位姿s i+1
图4D是图4A的ETA计算的例子中的位姿到位姿ETA计算的例子的示意框图。在一些实施例中,在对全局路径P g中的每对连续的位姿或局部路径P 1中的连续的位姿s执行的位姿到位姿ETA计算中,处理单元110计算该对连续位姿的方位差dθ(框C1)。在一些实施例中,当前位姿s i+1和上个位姿s i之间的偏航角可以作为当前位姿s i+1的方位θ,且当前位姿s i+1和上个位姿s i之间的方向差dθ可以通过以下等式来计算:
dθ=pose[i+1].yaw-pose[i].yaw;
其中,pose[i+1].yaw是当前位姿s i+1的偏航角,pose[i].yaw是上个位姿s i的偏航角。例如在位姿s i+3的偏航角为0、位姿s i+4的偏航角为β i+4、位姿s i+5的偏航角为β i+5的情况下,位姿s i+3和位姿s i+4之间的方向差dθ i+3将是β i+4,而位姿s i+4和位姿s i+5之间的方向差dθ i+4将是β i+5i+ 4(见图4C)。
处理单元110进一步根据该对连续的位姿的方位差dθ来计算该对连续的位姿的转弯半径r(框C2)。在一些实施例中,该对连续的位姿的转弯半径r可以通过以下等式来计算:
r=ed/(2sin(dθ/2));
其中,ed是上个位姿s i和当前位姿s i+1之间的欧几里得距离,sin()是正弦函数。由于dθ=0时会出现数值误差,在可以容忍的小误差下,如果|dθ|<ε(例如ε=0.0001),可以重新分配dθ=ε和r=ed/ε。
处理单元110进一步根据方位差dθ、该对连续的位姿的转弯半径r,对移动机器100的最大线速度v max和对移动机器100的最大角速度ω max来计算该对连续的位姿的(位姿到位姿)ETA dt(框C3)
根据运动动力学约束,移动机器100的线速度和角速度不应该超过它们的最大值。因此,必须考虑处理单元110的速度限制(即最大线速度v max和最大角速度ω max),而且必须根据移动机器100的速度限制来计算ETA dt。假设v是移动机器100的(当前)线速度,而ω是移动机器100的(当前)角速度,那么:
v=rdθ/dt<v max;以及
ω=dθ/dt<ω max
也就是说,移动机器100的线速度v受限于最大线速度v max,而移动机器100的角速度ω受限于最大角速度ω max。因此,在一些实施例中,处理单元110可通过以下等式来计算该对连续的位姿的ETA dt(框C3):
dt=max(rdθ/v max,dθ/ω max);
其中,max()是用于在两个数之间寻找最大值的函数。在其他实施例中,除了速度限制之外,可以进一步基于移动机器100的加速度约束(即最大线加速度和最大角加速度)计算ETA dt,从而进一步提高计算ETA dt的准确性。假设a是移动机器100的(当前)线加速度,α是移动机器100的(当前)角加速度,则:
a=(v-v′)/dt<a max;以及
α=(ω-ω′)/dt<α max
其中,v′是移动机器100在上个位姿s i时的线速度,ω′是移动机器100在上个位姿s i-1之前的位姿的角速度,a max是移动机器100的最大线加速度,α max是移动机器100的最大角加速度,那么如果移动机器100处于路径的第一位姿,则v′=v且w′=ω;否则,v′=rdθ/dt且w′=dθ/dt。
也就是说,移动机器100的线加速度a受最大线加速度a max的限制,移动机器100的角加速度α受最大角加速度α max的限制。因此,处理单元110可以通过以下等式来计算该对连续的位姿的ETA dt(框C3):
dt=max(rdθ/v max,dθ/ω max,(-v′+sqrt(v′v′+2 a max rdθ))/a max,(-ω′+sqrt(ω′ω′+2 α max dθ))/α max);
其中,sqrt()是计算一个数的平方根的函数。在一些实施例中,在例如使用基于TEB的路径规划器作为局部路径规划器R l的情况下,通过简单地将局部路径P 1中所有连续的位姿的所有ETA dt加在一起来对所有连的续位姿s的动态ETA etad作加总(框440)。
图4E是图4B的路径规划的例子中靠近目的地的路径中的位姿的示意图。根据该ETA计算方法,处理单元110进一步根通过对从移动机器100的全局路径P g中最接近局部路径P 1的最后一个位姿s 11的位姿s gc到全局路径P g中的最后一个位姿s q1的每对连续的位姿执行位姿到位姿ETA计算来计算该对连续的位姿的基线ETA eta b,并将计算出的所有对连续的位姿的基线ETA eta b作加总(框450)。
处理单元110基于(所加总的)动态ETA eta d和(所加总的)基线ETA eta b来获取到目的地的总ETA eta t(块460)。在一些实施例中,处理单元110可通过以下等式计算总ETA eta t
eta t=eta d+eta b
用动态ETA、基线ETA和接近目标ETA计算ETA
由于移动机器100的导航通常会在移动机器100即将到达目的地时有些微改变,为了让移动机器100移动得更慢且更精确,当移动机器100从目的地移动到特定范围R(例如40厘米)内时,移动机器100的最大线速度v max和最大角速度ω max会变小。在这种情况下,除了如图4A的例子中考虑了整个局部路径P 1和全局路径P g、以基于动态ETA eta d和基线ETA eta b来计算总ETA eta t, 还可以考虑在范围R内的全局路径P g的一部分、以进一步基于接近目标ETA eta n来计算总ETA eta t。图5是图3的移动机器100的ETA计算的另一个例子的示意框图。除了获取移动机器100的当前位姿s 0(框510/410),获取全局路径P g(框520/420),获取局部路径P 1(框530/430),处理单元110进一步
通过对目的地的范围R内的全局路径P g中的每对连续的位姿进行位姿到位姿ETA计算来计算该对连续的位姿的接近目标ETA eta n,并将计算出的所有对连续的位姿的接近目标ETA eta n作加总(框570)。相应地,处理单元110通过对局部路径R 1中不在范围R之内的每对连续的位姿s执行位姿到位姿ETA计算来获取动态ETA(框540),且处理单元110通过对目的地的范围R内的从全局路径P g中最接近局部路径P 1的最后一个位姿s 11的位姿s gc到全局路径P g中的第一个位姿s gn的每对连续的位姿执行位姿到位姿ETA计算来获取基线ETA(框550),而后处理单元110基于动态ETA eta d、基线ETA eta b和接近目标ETA eta n,来获取到目的地的总ETA eta t。在一些实施例中,处理单元110可以通过以下等式来计算总ETA eta t
eta t=eta d+eta b+eta n
此外,在局部路径P1的规划时已经考虑了障碍物的情况下,可以增加一个来自例如传感器子单元133所收集的有噪声的传感器数据的小额外噪声到所计算的总ETA eta t中、使得局部路径P 1的长度可以以相对高的速率(例如10赫兹)变化,因此需要对所计算的总ETA eta t进行平滑化。在一些实施例中,处理单元110可以通过卡尔曼滤波来进一步平滑化总ETA eta t(块580),例如,线性卡尔曼滤波器可用作低通滤波器来平滑化总ETA eta t
图4A和图5中的ETA计算方法可以响应于预定条件的满足而重新执行、直到移动机器100到达目的地,以便在移动机器100的导航期间更新所计算的ETA。在一些实施例中,处理单元110还可以响应于预定条件的满足而返回获取移动机器100的当前位姿s 0(框410/框510)的步骤、直到移动机器100到 达目的地为止。该预定条件可包括:
用于定期更新所计算的ETA的指定时间间隔(例如1秒)的超时;
已经规划了新的局部路径P 1
已经规划了新的全局路径P g(例如当正在执行的任务发生变化时);和/或
全局路径P g已经重新规划(例如当检测到障碍物时)。
在每次重新执行ETA计算方法时,将获取移动机器100的新的当前位姿s 0(框510)、将获取从移动机器10的新当前位姿s 0到目的地的新全局路径P g(框520)、将获取基于新全局路径P g和移动机器100的新当前位姿s 0而规划的新局部路径P 1(框530),而且将根据新的全局路径P g和新的局部路径P 1来计算新的动态ETA eta d、新的基线ETA eta b、新的接近目标ETA eta n和新的总ETA eta t(框540,框550、框570和框560)。由于ETA计算方法将以特定时间间隔和/或响应于新局部路径P 1/全局路径P g的规划而重新执行,所以时间增量可以在特定间隔内和/或当新的局部路径P 1/全局路径P g被规划时被动态捕获。
图6是在场景I中进行图5的ETA计算的示意图。所计算的ETA由以移动机器100的移动的实际时间花费为x轴、在每个时间实例所计算的ETA为y轴的坐标系来表示。在坐标系中,所计算的动态ETA eta d、基线ETA eta b和接近目标ETA eta n被相互叠加。在移动机器100的ETA计算的场景I中,移动机器100被导航、以沿着直线路径从起点到目的地移动。对于理想的ETA计算来说,总ETA eta t和实际花费的时间的和应该是一个常数,即代表总和的线1应该是坐标系上的一条水平直线。在这种情况下,由于线1看起来是一个略有起伏的小斜坡,直线路径导航的ETA计算可以被视为接近于理想的ETA计算。
将移动机器100从起点行进到目的地的总花费时间表示为T,从移动机器100的当前姿态s 0到目的地的到达时间表示为t k,从起点到移动机器100的当 前姿态s 0的花费时间为τ k。虽然T在旅程结束前是不可观测的常数,但是τ k是可观测到的,而且满足方程式T=t k+τk。请注意,Δt k=τ kk-1也是可观测的。在移动机器100到达目的地之后,假设获取了N个样本
Figure PCTCN2021140646-appb-000001
其中k=1,...,N,且
Figure PCTCN2021140646-appb-000002
是给定值,此时T=τ N是可观测到的。那么,ETA计算方法的性能(即精度的最大绝对误差)将为
Figure PCTCN2021140646-appb-000003
因此,在16秒的导航中,存在±2.5秒的绝对误差。应当注意的是,首先,直线1上的恒定正斜率(constant positive slope)在(2-12秒之间)表明了移动机器100的移动速度低于其最大线速度;第二,动态ETA eta d中的初始爆发(<0.5秒时)是由于移动机100的加速度约束;第三,到达目的地时(13-15秒之间),总ETA eta t的爆发是由于到局部路径未在目的地的范围R内结束、而冗余的ETA被计算了。
图7在是场景II中进行图5的ETA计算的示意图。在移动机器100的ETA计算的场景II中,移动机100被导航而从起点沿着左上角的第一路径P 1移动到目的地,然后在响应于被障碍物阻挡而通过重新规划新路径(即第二路径P 2)来绕道之后、沿着右上角的第二路径P 2移动。所计算的ETA由下半部分的坐标系显示。在60秒的导航中,重新规划路径的绝对误差为±2.4秒,原路径的绝对误差为+25秒。需要说明的是,当移动机100被阻挡时(在4-14秒之间),由于到达目的地的剩余路径不变,所计算的ETA保持不变,移动机100需要8秒(在4-14秒内))来重新规划路径。在场景I和场景II中,所计算的ETA eta t的最大绝对误差小于10秒(达到小于等于10秒的秒级估计精度),总ETA eta t随着移动机器100逐渐到达目的地而平滑地收敛到0,满足了好的ETA计算的要求。
图4A和图5中的ETA计算方法是基于移动机器的运动动力学约束及其剩余导航路径实现的,与现有的ETA计算方法相比具有以下优势。首先,因为所计算的(总)ETA的绝对误差在二级估计准确度之内,它们具有更好的准确度。其次,因为通过动态捕获时间增量来考虑重新规划全局路径的影响,它们 具有健壮性。第三,它们适用于不同的硬件原型和软件导航***,因为只要给定移动机器的运动动力学约束等关键参数,它们就可以被执行。第四,因为它们是基于分析的、因此是轻量级的(在ARM v8.2 CPU上的处理时间约为6毫秒),所以也以可扩展到3D(例如空中或水下)导航。
本领域技术人员可以理解,上述实施例中的全部或部分方法(例如图2的碰撞避免)可以通过一个或多个计算机程序来实现指示相关硬件。此外,一个或多个程序可以存储在非易失性计算机可读存储介质中。当执行一个或多个程序时,执行上述实施例中的相应方法的全部或部分。对存储(storage)、存储器、数据库或其他介质的任何引用均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存、固态驱动器(SSD)等。易失性存储器可以包括随机存取存储器(RAM)、外部高速缓冲存储器等。
处理单元110(和上述处理器)可以包括中央处理单元(central processing unit,简称CPU),或者是其他通用处理器、数字信号处理器(digital signal processor,简称DSP)、专用集成电路(application specific integrated circuit,简称ASIC)、现场可编程门阵列(field-programmable gate array,简称FPGA)或者其他可编程逻辑器件、分立门、晶体管逻辑器件和分立硬件组件。通用处理器可以是微处理器,也可以是任何常规的处理器。存储单元120(和上述存储器)可以包括诸如硬盘和内部存储器的内部存储单元。存储单元120还可以包括例如***式硬盘、智能媒体卡(smart media card,简称SMC)、安全数字(secure digital,简称SD)卡和闪存卡的外部存储设备。
实施例中所描述的示例性单元/模块和方法/步骤可以通过软件、硬件或者软件和硬件的结合来实现。这些功能究竟是通过软件还是硬件来实现,取决于技术方案的具体应用和设计约束。上述ETA计算方法和移动机器可以通过其他方 式实现。例如,单元/模块的划分仅仅是一种逻辑上的功能划分,在实际实现中还可以采用其他划分方式,即多个单元/模块可以组合或集成到另一个***中,或者某些特征可以被忽略或不执行。另外,上述的相互耦合/连接可以是直接耦合/连接或通信连接,也可以是通过一些接口/设备的间接耦合/连接或通信连接,还可以是电性、机械或其他的形式。
上述实施例仅用于说明本申请的技术方案,而非用于限制本申请的技术方案。虽然本申请已经结合上述实施例进行了详细说明,但是上述各个实施例中的技术方案仍然可以进行修改,或者对其中部分技术特征可以进行等同替换,使得这些修改或替换并不使得相应技术方案的本质脱离本申请的各个实施例的技术方案的精神和范围,而均应包含在本申请的保护范围内。

Claims (20)

  1. 一种预计到达时间计算方法,用于计算移动机器到目的地的预计到达时间,包括:
    获取该移动机器的当前位姿;
    获取从该移动机器的该当前位姿到该目的地的全局路径;
    获取基于该全局路径和该移动机器的该当前位姿而规划的局部路径,其中该局部路径包括该移动机器的多个位姿;
    通过对该局部路径中的每对连续的位姿执行位姿到位姿预计到达时间计算来计算该对连续的位姿的动态预计到达时间,并将计算出的所有对连续的位姿的该动态预计到达时间作加总;
    通过对从该移动机器的该全局路径的多个位姿中最接近该局部路径中的最后一个位姿的一个到该全局路径中的最后一个位姿的每对连续的位姿执行该位姿到位姿预计到达时间计算来计算该对连续的位姿的基线预计到达时间,并将计算出的所有对连续的位姿的该基线预计到达时间作加总;以及
    基于所加总的该动态预计到达时间和所加总的该基线预计到达时间来获取到该目的地的总预计到达时间。
  2. 根据权利要求1所述的方法,还包括:
    通过对该目的地的一个范围内的该全局路径中的每对连续的位姿进行该位姿到位姿预计到达时间计算来计算该对连续的位姿的接近目标预计到达时间,并将计算出的所有对连续的位姿的该接近目标预计到达时间作加总;
    其中,在计算该动态预计到达时间的步骤中,该动态预计到达时间是通过对该范围外的该局部路径中的每一对连续的位姿进行该位姿到位姿预计到达时间计算得到的;
    其中,在计算该基线预计到达时间的步骤中,该基线预计到达时间是通过对该目的地的该范围内、从该全局路径中最接近该局部路径中的该最后一个位 姿到该全局路径中的该第一个位姿中的每一对连续的位姿进行该位姿到位姿预计到达时间计算得到的;以及
    其中,到该目的地的该总预计到达时间是基于该动态预计到达时间、该基线预计到达时间和该接近目标预计到达时间得到的。
  3. 根据权利要求1所述的方法,其中所述位姿到位姿预计到达时间计算包括:
    计算每对连续的位姿的方位差;
    根据每对连续的位姿的该方位差计算该对连续的位姿的转弯半径;以及
    基于该方位差、每对连续的位姿的该转弯半径、该移动机器的最大线速度和该移动机器的该最大角速度计算该对连续的位姿的预计到达时间。
  4. 根据权利要求3所述的方法,其中所述基于该方位差、每对连续的位姿的该转弯半径、该移动机器的最大线速度和该移动机器的该最大角速度计算该对连续的位姿的该预计到达时间的步骤包括:
    通过以下等式计算每对连续的位姿的该预计到达时间dt:
    dt=max(rdθ/v max,dθ/ω max);
    其中,r是该转弯半径,dθ是该方位差,v max是该移动机器的该最大线速度,ω max是该移动机器的该最大角速度。
  5. 根据权利要求4所述的方法,其中通过该等式计算每对连续的位姿的该预计到达时间dt包括:
    通过以下等式计算每对连续的位姿的该预计到达时间dt:
    dt=max(rdθ/v max,dθ/ω max,(-v′+sqrt(v′v′+2 a maxrdθ))/a max,(-w′+sqrt(w′w′+2 α maxdθ))/α max);
    其中,v′=rdθ/d,w′=dθ/dt,a max是该移动机器的该最大线加速度,α max为是该移动机器的该最大角加速度。
  6. 根据权利要求1所述的方法,还包括:
    通过卡尔曼滤波平滑化该总预计到达时间。
  7. 根据权利要求1所述的方法,其中响应于该全局路径被堵塞,该全局路径被重新规划。
  8. 根据权利要求1所述的方法,其中在所述荻取到该目的地的该总预计到达时间之后,还包括:
    响应于预定条件满足,返回所述获取该移动机器的该当前位姿,直到该移动机器到达该目的地。
  9. 一种预计到达时间计算***,包括:
    一个移动机器,计算该移动机器到目的地的预计到达时间;以及
    一个设备,接收计算出的该移动机器到达该目的地的该预计到达时间;
    其中,该移动机器包括:
    一或多个处理器;以及
    一或多个存储器,存储有一或多个计算机程序,该一或多个计算机程序由该一或多个处理器执行,其中该一或多个计算机程序包括多个指令用于:
    获取该移动机器的当前位姿;
    获取从该移动机器的该当前位姿到该目的地的全局路径;
    获取基于该全局路径和该移动机器的该当前位姿而规划的局部路径,其中该局部路径包括该移动机器的多个位姿;
    通过对从该移动机器的该全局路径的多个位姿中最接近该局部路径中的最后一个位姿的一个到该全局路径中的最后一个位姿的每对连续的位姿执行该位姿到位姿预计到达时间计算来计算该对连续的位姿的基线预计到达时间,并将计算出的所有对连续的位姿的该基线预计到达时间作加总;以及
    基于所加总的该动态预计到达时间和所加总的该基线预计到达时间来获取到该目的地的总预计到达时间。
  10. 根据权利要求9所述的***,其中,所述一或多个计算机程序还包括 以下指令:
    通过对该目的地的一个范围内的该全局路径中的每对连续的位姿进行该位姿到位姿预计到达时间计算来计算该对连续的位姿的接近目标预计到达时间,并将计算出的所有对连续的位姿的该接近目标预计到达时间作加总;
    其中,在计算该动态预计到达时间的步骤中,该动态预计到达时间是通过对该范围外的该局部路径中的每一对连续的位姿进行该位姿到位姿预计到达时间计算得到的;
    其中,在计算该基线预计到达时间的步骤中,该基线预计到达时间是通过对该目的地的该范围内、从该全局路径中最接近该局部路径中的该最后一个位姿到该全局路径中的该第一个位姿中的每一对连续的位姿进行该位姿到位姿预计到达时间计算得到的;以及
    其中,到该目的地的该总预计到达时间是基于该动态预计到达时间、该基线预计到达时间和该接近目标预计到达时间得到的。
  11. 根据权利要求9所述的***,其中所述位姿到位姿预计到达时间计算包括:
    计算每对连续的位姿的方位差;
    根据每对连续的位姿的该方位差计算该对连续的位姿的转弯半径;以及
    基于该方位差、每对连续的位姿的该转弯半径、该移动机器的最大线速度和该移动机器的该最大角速度计算该对连续的位姿的预计到达时间。
  12. 根据权利要求11所述的***,其中所述基于该方位差、每对连续的位姿的该转弯半径、该移动机器的最大线速度和该移动机器的该最大角速度计算该对连续的位姿的该预计到达时间的步骤包括:
    通过以下等式计算每对连续的位姿的该预计到达时间dt:
    dt=max(rdθ/v max,dθ/ω max);
    其中,r是该转弯半径,dθ是该方位差,v max是该移动机器的该最大线速 度,ω max是该移动机器的该最大角速度。
  13. 根据权利要求12所述的***,其中通过该等式计算每对连续的位姿的该预计到达时间dt包括:
    通过以下等式计算每对连续的位姿的该预计到达时间dt:
    通过以下等式计算每对连续的位姿的该预计到达时间dt:
    dt=max(rdθ/v max,dθ/ω max,(-v′+sqrt(v′v′+2 a maxrdθ))/a max,(-w′+sqrt(w′w′+2 α maxdθ))/α max);
    其中,v′=rdθ/d,w′=dθ/dt,a max是该移动机器的该最大线加速度,α max为是该移动机器的该最大角加速度。
  14. 根据权利要求9所述的***,其中,所述一或多个计算机程序还包括以下指令:
    通过卡尔曼滤波平滑化该总预计到达时间。
  15. 一种移动机器,包括:
    一或多个传感器;
    一或多个处理器;以及
    一或多个存储器,存储有一或多个计算机程序,该一或多个计算机程序由该一或多个处理器执行,其中该一或多个计算机程序包括多个指令用于:
    通过该一或多个传感器获取该移动机器的当前位姿;
    获取从该移动机器的该当前位姿到该目的地的全局路径;
    获取基于该全局路径和该移动机器的该当前位姿而规划的局部路径,其中该局部路径包括该移动机器的多个位姿;
    通过对从该移动机器的该全局路径的多个位姿中最接近该局部路径中的最后一个位姿的一个到该全局路径中的最后一个位姿的每对连续的位姿执行该位姿到位姿预计到达时间计算来计算该对连续的位姿的基线预计到达时间,并将计算出的所有对连续的位姿的该基线预计到达时间作加总;以及
    基于所加总的该动态预计到达时间和所加总的该基线预计到达时间来获取到该目的地的总预计到达时间。
  16. 根据权利要求15所述的移动机器,其中,所述一或多个计算机程序还包括以下指令:
    通过对该目的地的一个范围内的该全局路径中的每对连续的位姿进行该位姿到位姿预计到达时间计算来计算该对连续的位姿的接近目标预计到达时间,并将计算出的所有对连续的位姿的该接近目标预计到达时间作加总;
    其中,在计算该动态预计到达时间的步骤中,该动态预计到达时间是通过对该范围外的该局部路径中的每一对连续的位姿进行该位姿到位姿预计到达时间计算得到的;
    其中,在计算该基线预计到达时间的步骤中,该基线预计到达时间是通过对该目的地的该范围内、从该全局路径中最接近该局部路径中的该最后一个位姿到该全局路径中的该第一个位姿中的每一对连续的位姿进行该位姿到位姿预计到达时间计算得到的;以及
    其中,到该目的地的该总预计到达时间是基于该动态预计到达时间、该基线预计到达时间和该接近目标预计到达时间得到的。
  17. 根据权利要求15所述的移动机器,其中所述位姿到位姿预计到达时间计算包括:
    计算每对连续的位姿的方位差;
    根据每对连续的位姿的该方位差计算该对连续的位姿的转弯半径;以及
    基于该方位差、每对连续的位姿的该转弯半径、该移动机器的最大线速度和该移动机器的该最大角速度计算该对连续的位姿的预计到达时间。
  18. 根据权利要求17所述的移动机器,其中所述基于该方位差、每对连续的位姿的该转弯半径、该移动机器的最大线速度和该移动机器的该最大角速度计算该对连续的位姿的该预计到达时间的步骤包括:
    通过以下等式计算每对连续的位姿的该预计到达时间dt:
    dt=max(rdθ/v max,dθ/ω max);
    其中,r是该转弯半径,dθ是该方位差,v max是该移动机器的该最大线速度,ω max是该移动机器的该最大角速度。
  19. 根据权利要求18所述的移动机器,其中通过该等式计算每对连续的位姿的该预计到达时间dt包括:
    通过以下等式计算每对连续的位姿的该预计到达时间dt:
    dt=max(rdθ/v max,dθ/ω max,(-v′+sqrt(v′v′+2 a maxrdθ))/a max,(-w′+sqrt(w′w′+2 α maxdθ))/α max);
    其中,v′=rdθ/d,w′=dθ/dt,a max是该移动机器的该最大线加速度,α max为是该移动机器的该最大角加速度。
  20. 根据权利要求15所述的移动机器,其中,所述一或多个计算机程序还包括以下指令:
    通过卡尔曼滤波平滑化该总预计到达时间。
PCT/CN2021/140646 2021-01-26 2021-12-23 预计到达时间计算方法以及使用该方法的***和移动机器 WO2022161045A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202180016484.7A CN115244483A (zh) 2021-01-26 2021-12-23 预计到达时间计算方法以及使用该方法的***和移动机器

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/158,032 US11933615B2 (en) 2021-01-26 2021-01-26 Estimated time of arrival calculating method and system and mobile machine using the same
US17/158,032 2021-01-26

Publications (1)

Publication Number Publication Date
WO2022161045A1 true WO2022161045A1 (zh) 2022-08-04

Family

ID=82495408

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/140646 WO2022161045A1 (zh) 2021-01-26 2021-12-23 预计到达时间计算方法以及使用该方法的***和移动机器

Country Status (3)

Country Link
US (1) US11933615B2 (zh)
CN (1) CN115244483A (zh)
WO (1) WO2022161045A1 (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120155775A1 (en) * 2010-12-21 2012-06-21 Samsung Electronics Co., Ltd. Walking robot and simultaneous localization and mapping method thereof
US20130345966A1 (en) * 2006-06-30 2013-12-26 Microsoft Corporation Computation of travel routes, durations, and plans over multiple contexts
CN108673496A (zh) * 2018-05-02 2018-10-19 苏州智伟达机器人科技有限公司 一种基于纯追踪模型的工业机器人路径跟踪方法
CN109753072A (zh) * 2019-01-23 2019-05-14 西安工业大学 一种移动机器人混合路径规划方法
CN110163405A (zh) * 2018-07-23 2019-08-23 腾讯大地通途(北京)科技有限公司 通行时间确定方法、装置、终端及存储介质
CN110260875A (zh) * 2019-06-20 2019-09-20 广州蓝胖子机器人有限公司 一种全局规划路径的方法、全局规划器以及存储介质
CN110942211A (zh) * 2019-12-12 2020-03-31 武汉中海庭数据技术有限公司 一种基于深度神经网络的预估达到时间预测方法及装置
CN112052993A (zh) * 2020-08-27 2020-12-08 上海应用技术大学 一种基于改进teb算法的agv局部路径规划方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7512487B1 (en) * 2006-11-02 2009-03-31 Google Inc. Adaptive and personalized navigation system
US9709990B2 (en) * 2012-12-21 2017-07-18 Toyota Jidosha Kabushiki Kaisha Autonomous navigation through obstacles
US9360333B2 (en) * 2014-08-04 2016-06-07 Here Global B.V. Method and apparatus calculating estimated time of arrival from multiple devices and services
US9754490B2 (en) * 2015-11-04 2017-09-05 Zoox, Inc. Software application to request and control an autonomous vehicle service
CN107305742A (zh) * 2016-04-18 2017-10-31 滴滴(中国)科技有限公司 用于确定预计到达时间的方法和设备
US11555706B1 (en) * 2017-09-27 2023-01-17 Apple Inc. Processing graph representations of tactical maps using neural networks
WO2021022487A1 (en) * 2019-08-06 2021-02-11 Beijing Didi Infinity Technology And Development Co., Ltd. Systems and methods for determining an estimated time of arrival
WO2022126354A1 (en) * 2020-12-15 2022-06-23 Beijing Didi Infinity Technology And Development Co., Ltd. Systems and methods for obtaining estimated time of arrival in online to offline services
US11865724B2 (en) * 2021-04-26 2024-01-09 Ubkang (Qingdao) Technology Co., Ltd. Movement control method, mobile machine and non-transitory computer readable storage medium

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130345966A1 (en) * 2006-06-30 2013-12-26 Microsoft Corporation Computation of travel routes, durations, and plans over multiple contexts
US20120155775A1 (en) * 2010-12-21 2012-06-21 Samsung Electronics Co., Ltd. Walking robot and simultaneous localization and mapping method thereof
CN108673496A (zh) * 2018-05-02 2018-10-19 苏州智伟达机器人科技有限公司 一种基于纯追踪模型的工业机器人路径跟踪方法
CN110163405A (zh) * 2018-07-23 2019-08-23 腾讯大地通途(北京)科技有限公司 通行时间确定方法、装置、终端及存储介质
CN109753072A (zh) * 2019-01-23 2019-05-14 西安工业大学 一种移动机器人混合路径规划方法
CN110260875A (zh) * 2019-06-20 2019-09-20 广州蓝胖子机器人有限公司 一种全局规划路径的方法、全局规划器以及存储介质
CN110942211A (zh) * 2019-12-12 2020-03-31 武汉中海庭数据技术有限公司 一种基于深度神经网络的预估达到时间预测方法及装置
CN112052993A (zh) * 2020-08-27 2020-12-08 上海应用技术大学 一种基于改进teb算法的agv局部路径规划方法

Also Published As

Publication number Publication date
CN115244483A (zh) 2022-10-25
US20220236071A1 (en) 2022-07-28
US11933615B2 (en) 2024-03-19

Similar Documents

Publication Publication Date Title
US11592845B2 (en) Image space motion planning of an autonomous vehicle
CN109211251B (zh) 一种基于激光和二维码融合的即时定位与地图构建方法
CN111656296B (zh) 用于机器人自主运动规划和导航的***和方法
JP6897668B2 (ja) 情報処理方法および情報処理装置
Murali et al. Perception-aware trajectory generation for aggressive quadrotor flight using differential flatness
CN109885080B (zh) 自主控制***及自主控制方法
Achtelik et al. Autonomous navigation and exploration of a quadrotor helicopter in GPS-denied indoor environments
Engel et al. Accurate figure flying with a quadrocopter using onboard visual and inertial sensing
Leishman et al. Relative navigation approach for vision-based aerial GPS-denied navigation
CN109196432A (zh) 用于自动驾驶车辆的速度控制参数估计方法
JP2019505423A (ja) 比例、積分及び微分(pid)コントローラを用いた自律走行車のステアリング制御方法及びシステム
CN108684203A (zh) 使用基于学习的模型预测控制来确定自动驾驶车辆的道路摩擦的方法和***
JPWO2016013095A1 (ja) 自律移動装置
WO2022161045A1 (zh) 预计到达时间计算方法以及使用该方法的***和移动机器
WO2022227632A1 (zh) 基于图像的轨迹规划方法和运动控制方法以及使用该些方法的移动机器
US20230244244A1 (en) Information processing apparatus, information processing method, and program
Chen et al. Improved dynamic window approach for dynamic obstacle avoidance of quadruped robots
JP5686048B2 (ja) 位置姿勢出力装置、位置姿勢出力プログラム及び位置姿勢出力方法
Chiang et al. Multisensor-based outdoor tour guide robot NTU-I
WO2020021954A1 (ja) 情報処理装置、情報処理方法、およびプログラム
US20230392930A1 (en) Methods and techniques for predicting and constraining kinematic trajectories
US12001216B2 (en) Carpet detection method, movement control method, and mobile machine using the same
Lo et al. Lidar-Inertial Based Localization and Collision Avoidance in Unmanned Vehicles via Control Barrier Functions
CN117516535A (zh) 一种基于关键帧地图的三维激光雷达定位方法
Marlow Local terrain mapping for obstacle avoidance using monocular vision

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21922635

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 17/11/2023)