Apparatus and method for supporting robots in response to emergency events

Through the Mission Management System (MMS) with an open system architecture, robots can flexibly select and plan routes in emergency situations, solving the scalability and adaptability problems of existing autonomous systems and achieving rapid response and multi-platform support.

CN114063635BActive Publication Date: 2026-01-13AURORA FLIGHT SCIENCES CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110878676.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-01-13
Filing Date
2021-07-30
Publication Date
2026-01-13
Estimated Expiration
2041-07-30

Smart Images

  • Figure CN114063635B_ABST
    Figure CN114063635B_ABST
Patent Text Reader

Abstract

An apparatus and method for supporting a robot in response to an emergency event is provided. The method includes detecting an emergency event during travel of the robot on a route to a destination. In response, the method includes determining a location of the robot and accessing information about alternative destinations associated with the route. The method includes selecting an alternative destination from the alternative destinations based on travel time from the location of the robot to the alternative destination and the information. And the method includes outputting an indication of the alternative destination for at least one of guidance, navigation, and control of the robot to the alternative destination.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates generally to robotics, and more particularly to one or more autonomous robots, such as autonomous or semi-autonomous vehicles, in the design, construction, operation, and use. Background Technology

[0002] Many modern robots and other machines are designed to operate with enhanced autonomy and less reliance on well-trained operators for safe operation. Some of these modern robots are manned, while others are unmanned. Specifically, various unmanned vehicles include unmanned ground vehicles (UGVs), unmanned aerial vehicles (UAVs), unmanned surface vehicles (USVs), unmanned underwater vehicles (UUVs), unmanned spacecraft, and so on. The use of unmanned vehicles has grown in recent years, and these vehicles are widely used in a variety of applications, both military and civilian.

[0003] A key focus in robotics is the improvement of autonomy, which typically encompasses several examples of robot manipulation. These examples include the automated control of a given robot to support remote human control. Another example is optimizing systems (and associated methods) to determine how tasks should be sequenced and / or assigned for a given robot or ensemble of robots. Yet another example of robot manipulation is automated, real-time, or near-real-time data processing and the development of technologies to support automated route planning, mission execution, and other activities.

[0004] Despite progress, existing autonomous systems are often configured to solve only one example of these activities, thus focusing their underlying autonomous algorithms and software architecture design on a narrow mission set. This limits the scalability of existing autonomous systems, as they are not well-equipped to support the addition of new modules. Furthermore, existing autonomous systems may or may not be constructed to quickly adapt to new platforms through parameterization.

[0005] Therefore, it is desirable to have a system and method that takes into account at least some of the problems discussed above, as well as other possible problems. Summary of the Invention

[0006] The example implementations of this disclosure relate to selecting alternative destinations for a robot in response to an emergency event, and in some examples where the robot is an aerial robot, the alternative destination may be an alternative landing area. According to the example implementations, the emergency event can be detected during the robot's journey to the destination, and this route may be a pre-planned route for the robot. This route may be associated with alternative destinations. Alternative destinations can also be selected based on access to and use of information about these alternative destinations based on the travel time from the robot's location to the alternative destination.

[0007] Therefore, this disclosure includes, but is not limited to, the following example implementations.

[0008] Some example implementations provide a method for supporting a robot in response to an emergency event, the method comprising: detecting the emergency event while the robot is traveling on a route to a destination; and in response, determining the robot's position; accessing information about alternative destinations associated with the route; selecting an alternative destination from the alternative destinations based on the travel time from the robot's position to the alternative destination and the information; and outputting an indication of the alternative destination for at least one of guiding, navigating, and controlling the robot.

[0009] In some example implementations of the method, or any combination of any of the previous example implementations, the travel time is determined based on at least one of the following: the robot's pose; the distance from the robot's position to the optional destination; the robot's speed; the robot's height; the robot's state; the robot's condition; the state of the route to the optional destination; and the state of the optional destination.

[0010] In some example implementations of the method, or any combination of any of the previous example implementations, the route is divided into route segments, and determining the robot's position includes: determining the route segment to which the robot is located.

[0011] In some example implementations of the method in any of the previous example implementations or any combination of the previous example implementations, the information about the optional destinations includes a lookup table of route segments, each route segment being associated with one or more emergency routes to one or more optional destinations, and selecting an optional destination includes: selecting an emergency route to an optional destination associated with a route segment in the lookup table.

[0012] In some example implementations of any of the previous example implementations or any combination of the previous example implementations, the indication of the optional destination output includes: an indication of an emergency route to the optional destination.

[0013] In some example implementations of the method, or any combination of any of the previous example implementations, the route is a pre-planned route of the robot divided into route segments by travel time, distance, or percentage of route completion, and each route segment in at least some of the route segments in the lookup table is associated with a pre-planned contingency route to one of the optional destinations.

[0014] In some example implementations of the method, or any combination of any of the previous example implementations, in the lookup table, the route segment is associated with multiple emergency routes to a corresponding optional destination among the optional destinations, and selecting an optional destination includes: selecting one of the multiple emergency routes to a corresponding optional destination as an optional destination among the multiple emergency routes to an optional destination.

[0015] In some example implementations of the method, or any combination of any of the previous example implementations, sorting multiple emergency routes according to a cost metric and selecting one of the multiple emergency routes includes: when an emergency event is detected, selecting the sorted emergency route from the multiple emergency routes to the corresponding optional destination among the optional destinations that can be used to land the robot.

[0016] In some example implementations of the method, or any combination of any of the previous example implementations, multiple emergency routes are ordered according to a cost metric that is a function of at least one of travel time, distance, terrain along multiple emergency routes, robot type, robot state, robot condition, and robot environmental state.

[0017] In some example implementations of the method, or any combination of any of the previous example implementations, the spatial volume is defined as extending along the route and divided into volume segments, and determining the robot's location includes: determining the volume segment to which the robot is located, wherein information about optional destinations includes a lookup table of volume segments, each volume segment being associated with one or more emergency routes to one or more optional destinations, and selecting an optional destination includes: selecting an emergency route to an optional destination associated with a volume segment in the lookup table; and wherein outputting an indication of an optional destination includes: outputting an indication of an emergency route to an optional destination.

[0018] In some example implementations of any of the previous example implementations or any combination of the previous example implementations, determining the robot's position includes: determining the robot's position in three dimensions.

[0019] In some example implementations of any of the previous example implementations or any combination of previous example implementations, the optional destination spans a geographic region, the optional destination seeds the Voronoite ssellation of the geographic region into cells, and determining the robot's location includes: determining the cell of the Voronoite ssellation where the robot is located, and wherein information about the optional destination includes information describing the Voronoite ssellation, and selecting the optional destination includes: selecting the optional destination for seeding the cell where the robot is located.

[0020] In some example implementations of the method, or any combination of any of the previous example implementations, the optional destinations correspond to nodes in a k-dimensional tree, in which the optional destinations are organized by position, and wherein information about the optional destinations includes information describing the k-dimensional tree, and selecting an optional destination includes performing a nearest neighbor search of the k-dimensional tree to find the optional destination that is closest to the robot's position.

[0021] In some example implementations of the method, or any combination of any of the previous example implementations, the method further includes causing the robot to travel to an optional destination.

[0022] In some example implementations of the method, or any combination of any of the previous example implementations, the method further includes: causing the robot to return to the route while traveling to an optional destination.

[0023] Some example implementations provide a device for supporting a robot in response to an emergency, the device comprising: a memory storing computer-readable program code; and processing circuitry configured to access the memory and execute the computer-readable program code such that the device performs at least the method according to any of the previous example implementations or any combination of the previous example implementations.

[0024] Some example implementations provide a computer-readable storage medium for supporting robots in response to emergency events. This computer-readable storage medium is non-transitory and stores computer-readable program code that, in response to the execution of processing circuitry, causes the device to perform at least the method according to any of the previous example implementations or any combination of the previous example implementations.

[0025] These and other features, examples, and advantages of this disclosure will be apparent from reading the following detailed description and the accompanying drawings, which are briefly described below. This disclosure includes any combination of two, three, four, or more features or elements set forth in this disclosure, whether or not such features or elements are expressly combined in the specific example implementations described herein or otherwise set forth. In any example and example implementation of this disclosure, this disclosure is intended to be read holistically such that any individual feature or element of this disclosure should be considered composable unless the context of this disclosure expressly indicates otherwise.

[0026] Therefore, it should be understood that the content of this invention is provided merely for the purpose of outlining some exemplary implementations to provide a basic understanding of some examples of this disclosure. Consequently, it should be understood that the above-described exemplary implementations are merely examples and should not be construed as limiting the scope or spirit of this disclosure in any way. Other exemplary implementations, examples, and advantages will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, which illustrate by way of example the principles of some of the described exemplary implementations. Attached Figure Description

[0027] Having thus described in such a general manner an exemplary implementation of this disclosure, reference will now be made to the accompanying drawings, which need not be drawn to scale, and in which:

[0028] Figure 1 An example implementation of this disclosure is shown, representing one type of robot, namely an unmanned aerial vehicle;

[0029] Figure 2 The system is shown based on some example implementations;

[0030] Figure 3 The Mission Management System (MMS) is further illustrated with some example implementations;

[0031] Figure 4 The illustration shows a scenario in which a robot performs a mission according to some example implementations, in which the robot travels along a route to a destination;

[0032] Figure 5 This is an illustration of services that can be implemented by MMS to support robots (especially aerial robots) in response to emergency events, based on some example implementations;

[0033] Figure 6 The diagram illustrates route discretization based on some example implementations, in which the route is divided into route segments;

[0034] Figure 7 The Volonoi distribution of geographic regions, including optional destinations associated with routes, is shown according to some example implementations;

[0035] Figure 8 The diagram illustrates a k-tree nearest neighbor based on some example implementations, in which alternative destinations associated with a route correspond to nodes in a k-tree, where alternative destinations are organized by location.

[0036] Figure 9A and Figure 9B This is a flowchart illustrating the steps in a method for responding to emergency events and supporting robots, based on an example implementation; and

[0037] Figure 10 The device is shown according to some example implementations. Detailed Implementation

[0038] Some implementations of this disclosure will now be described more fully below with reference to the accompanying drawings, which illustrate some, but not all, of the implementations of this disclosure. In fact, various implementations of this disclosure may be embodied in many different forms and should not be construed as limited to the implementations set forth herein; rather, these exemplary implementations are set forth in order to make this disclosure thorough and complete and to fully convey the scope of this disclosure to those skilled in the art. For example, references to first, second, etc., unless otherwise specified or clear from the context, should not be construed as implying a particular order. A feature that can be described as above another feature (unless otherwise stated or clear from the context) may alternatively be below, and vice versa; and similarly, a feature described as to the left of another feature may alternatively be to the right of, and vice versa. As used herein, unless otherwise specified or clear from the context, an "OR" of the operand set is an "inclusive OR" and is therefore true only if one or more operands are true, rather than an "exclusive OR" that is false when all operands are true. Therefore, for example, "[A] or [B]" is true if [A] is true, or if [B] is true, or if both [A] and [B] are true. Furthermore, unless otherwise specified or clearly stated from the context to be for the singular form, the articles "a" and "an" mean "one or more." Throughout the text, the same reference numerals refer to the same elements. Furthermore, it should be understood that, unless otherwise specified, the terms "data," "content," "digital content," "information," and similar terms are sometimes used interchangeably.

[0039] The exemplary implementations disclosed herein relate generally to robotics, and more particularly to one or more aspects of the design, construction, operation, and use of robots. As used herein, a robot is a machine designed and configured to perform maneuvers in its environment. Robots can be manned or unmanned. Robots can be fully human-controlled, or they can be semi-autonomous or autonomous, performing at least some maneuvers independently of or with minimal human intervention. In some examples, robots can operate with varying amounts of human control in various modes.

[0040] Robots designed and configured to fly are sometimes called aerial robots. Robots designed and configured to operate with at least a degree of autonomy are sometimes called autonomous robots, or, in the case of autonomous robots also designed and configured to fly, autonomous aerial robots. Examples of suitable robots include aerial robots, humanoid robots (androids), automata, autonomous vehicles, explosive ordnance handling robots, hexapods, industrial robots, insect robots, microrobots, nanorobots, military robots, mobile robots, rovers, service robots, surgical robots, walking robots, etc. Other examples include various unmanned vehicles, including unmanned ground vehicles (UGVs), unmanned aerial vehicles (UAVs), unmanned surface vehicles (USVs), unmanned underwater vehicles (UUVs), unmanned spacecraft, etc. These can include autonomous cars, airplanes, trains, industrial vehicles, fulfillment center robots, supply chain robots, robotic vehicles, mine sweepers, etc.

[0041] Figure 1 A type of robot, namely UAV 100, that can benefit from an example implementation of this disclosure is shown. As shown, the UAV typically includes a fuselage 102, wings 104 extending from opposite sides of the UAV along the middle of the fuselage, and a tail or tail assembly 106 at the rear of the fuselage. The tail assembly includes a vertical stabilizer 108 and two horizontal stabilizers 110 extending from opposite sides of the UAV. Rotors 112 and 114 are mounted to the ends of the wings and tail assembly, respectively, for lifting and propelling the UAV during flight.

[0042] Figure 2A system 200 according to some example implementations of this disclosure is illustrated. The system may include any one of several different subsystems (each a separate system) for performing one or more functions or operations. As shown, in some examples, the system includes a control station 202 and one or more robots 204 (e.g., one or more UAVs 100). The control station provides facilities for communicating with or controlling one or more robots, such as via a wired or wireless data link, either directly or across one or more networks 206. In some examples, the control station may be a ground station and does not control the robots in all cases. At this point, the control station may be configured to monitor the robots. The control station may initiate missions, but it may not control the robots to perform maneuvers. Then, sometimes, the control station may enable or provide software functionality to a distributed network / server.

[0043] Robot 204 includes a Robot Management System (RMS) 208 and a Mission Management System (MMS) 210. The RMS is a robot-specific subsystem configured to manage the robot's subsystems and other components. These subsystems and other components include, for example, motion control, landing gear, onboard environmental systems, electrical, pneumatic and hydraulic systems, communication systems, navigation systems, and other subsystems and components for controlling the robot's operation and maneuvers. The RMS is configured to receive maneuvering commands such as waypoint and / or turning commands and to control the robot to follow these maneuvering commands. In the context of vehicles, the RMS is sometimes referred to as a Vehicle Management System (VMS).

[0044] MMS210 is a subsystem configured to manage the mission of robot 204. A mission is a deployment of a robot (one or more robots) to achieve one or more mission objectives. A mission can be broken down into maneuvers of the robot with optional sensors and / or effectors scheduled, and the MMS can perform tasks to manage the robot to perform maneuvers with specific parameters and capabilities. MMS210 includes subsystems for processing sensor data into situational awareness, planning tasks for robot 204 (or multiple robots), coordinating with the team to assign tasks, and executing the assigned tasks. The MMS is also configured to interface with RMS208 and, in some examples, with control station 202. Although the MMS is shown on robot 204, the MMS may alternatively be located at the control station; or, in some examples, the MMS may be distributed between the robot and the control station.

[0045] In some examples, the MMS210 provides a complete end-to-end autonomous architecture with open system architecture standards and is parameterized to allow for rapid expansion and reapplication to a wide range of robots. The flexibility of the MMS allows operators to code it once and apply it everywhere. Therefore, the MMS can be applied to virtually any robot that applies or benefits from autonomy. The MMS can include adaptive autonomous architectures suitable for a wide variety of robots, including those identified above. Thus, the benefits of the MMS lie not only in its specific content but also in the architecture, the specific details of its subroutines, and the interfaces between these subroutines and other systems / devices that support the rapid scalability and adaptability of the MMS to various domains.

[0046] Figure 3 More specifically, an MMS 210 according to some example implementations of this disclosure is shown. The MMS may include any one of several different subsystems (each a separate system) for performing one or more functions or operations. As shown, in some examples, the MMS includes an interface subsystem 302, a situational awareness subsystem 304, a mission planning subsystem 306, a mission coordination subsystem 308, and a mission execution subsystem 310. As suggested above, in some examples, the subsystems of the MMS may be on the robot 204, at the control station 202, or distributed between the robot and the control station. In the example where the MMS is distributed between the robot and the control station, the subsystems may be configured to communicate directly with each other via a communication bus 312 or across network 206.

[0047] The subsystem enables the MMS210 of robot 204 to interface with system 200, perform situational awareness, plan missions comprising multiple tasks, coordinate multiple tasks, and thereby coordinate and execute missions with other robots 204. For example, the MMS can use the interface subsystem 302 to interface with various sensors on the robot, RMS208, control station 202, and / or other robots. The MMS can use the situational awareness subsystem 304 to acquire sensor data and maintain awareness of the state of the environment in which the robot is operating. The MMS can use the mission planning subsystem 306 to plan missions comprising multiple tasks or associated with multiple tasks, and these missions can incorporate rules of engagement, tactics, and other constraints on operation. The MMS can also use the mission planning subsystem to dynamically replan missions, wherein missions are changed in real time or near real time during mission execution. The MMS can use the mission coordination subsystem 308 to coordinate multiple tasks of a mission with other robots and users, wherein the agreed tasks can then be executed by the MMS using the mission execution subsystem 310.

[0048] According to some example implementations of this disclosure, the MMS210 is also configured to implement one or more software functions (sometimes referred to as services) during a mission to support robot 204 (especially an aerial robot) in response to contingency events. During a mission, the robot may take a path, and this path may be described by a series of waypoints that define the route the robot will travel. The robot travels at a rate (speed and direction of movement), and the series of waypoints and the rate relative to the time-defined route define the robot's trajectory (sometimes referred to as the robot's trajectory). Figure 4 A scenario 400 is shown where a robot performs a mission according to some example implementations, in which the robot travels on route 402 to destination 404.

[0049] Figure 5 This is a diagram illustrating, based on some example implementations, a service 500 implemented by MMS 210 for supporting robots 204 (especially aerial robots) in response to emergency events. As shown, this service may include a manager service 502, an emergency monitoring service 504, and a destination selection service 506. In some examples, the manager service, the emergency monitoring service, and the destination selection service may be implemented by the mission execution subsystem 310 of the MMS.

[0050] According to some example implementations, the Manager 502 service is configured to manage the execution of a mission comprising multiple tasks, including the robot's travel along route 402 to destination 404. The Emergency Monitoring 504 service is configured to monitor for emergency events during the mission. The Emergency Monitoring service is configured to detect emergency events and report them to the Manager service. In response, the Manager service is configured to invoke the Destination Selection 506 service to provide an indication of an optional destination 408. The Manager service is configured to use the indication of the optional destination in at least one of the guidance, navigation, and control of the robot 204 to the optional destination; and in some examples, the Manager service is configured to cause the robot to travel to the optional destination. The destination and optional destination can be represented in a variety of different ways. In some examples where the robot is an aerial robot, the destination and optional destination can be represented as an area where the aerial robot can land, i.e., a landing area.

[0051] As also shown in the figures, in the various examples, the destination selection 506 service includes one or more sub-services (each sub-service is a separate service) such as the selection 508 service, which is configured to select an optional destination 408 from the optional destinations associated with route 402. Specifically, the selection service is configured to determine the robot's location 406 and access information 510 about the optional destinations associated with the route. The selection service is configured to select an optional destination from the optional destinations based on the travel time from the robot 204's location to the optional destination.

[0052] In various examples, travel time is represented as or otherwise determined based on input data. Examples of suitable input data include the pose of robot 204, the distance from robot position 406 to optional destination 408, robot speed, robot height, robot state, robot condition, the state of the route to the optional destination, or the state of the optional destination. In some examples, at least some of the input data may be provided by or determined from data provided by various sensors on the robot, RMS 208, and / or control station 202, which may interface with MMS 210 using interface subsystem 302.

[0053] The Select 508 service can select optional destination 408 from the optional destinations associated with route 402 in any of a variety of different ways. For example, according to a brute-force method, the Select service can determine a route from location 406 to the corresponding optional destination among the optional destinations, estimate the travel time of the route, and select a route based on the estimated travel time. In some of these examples, one of the selected routes is the one with the minimum travel time.

[0054] According to another method, Figure 6 The diagram illustrates a route discretization 600 according to some examples, in which route 402 is divided into route segments 610. In some examples of these examples, a selection 508 service configured to determine the location 406 of robot 204 includes a selection service configured to determine the route segment 612 to which the robot is located. In some examples of these examples, information 510 regarding alternative destinations includes a lookup table 512 of route segments, each route segment associated with one or more contingency routes 614 to one or more alternative destinations. In some examples, the lookup table 512 may be represented as a tree structure such as a k-dimensional tree, an AABB (axis-aligned bounding box) tree, etc., that enables efficient lookup table queries.

[0055] In some examples, the Select 508 service is configured to select an emergency route 616 to an optional destination 408 associated with route segment 612 in the lookup table, and output an indication of the emergency route to the optional destination.

[0056] In some other examples, route 402 is a pre-planned route of robot 204 divided into route segments 610 based on travel time, distance, or percentage of route completion, and each of at least some of the route segments in lookup table 512 is associated with a pre-planned contingency route 614 to one of the optional destinations 408. Alternatively or additionally, in the lookup table, route segment 612 may be associated with multiple contingency routes to corresponding optional destinations. Examples of entries for the three segments in the lookup table may include the following:

[0057] Route segment Emergency routes Route Segment 1 Route 1 Route Section 2 Route 2 Route Section 3 Route 3, Route 4

[0058] In some of these examples, the Select 508 service is configured to select one of a number of emergency routes to the corresponding optional destination among the optional destinations.

[0059] In further examples, multiple emergency routes 614 (e.g., routes 3, routes 4) are sorted according to a cost metric. Examples of suitable cost metrics include cost metrics that are functions of at least one of travel time, distance, terrain along the multiple emergency routes, robot type 204, robot state, robot condition, and robot environmental state. In some of these examples, the selection 508 service is configured to, when an emergency event is detected, select the order of emergency routes (e.g., the highest-ranked emergency route) among the multiple emergency routes to the corresponding optional destination 408 in the optional destinations that can be used to land the robot.

[0060] In various examples, the selection service 508 can determine the position 406 of robot 204 in two dimensions (2D) or three dimensions (3D). For example, in the 3D case, route discretization 600 can be a top view of route 402, where spatial volume 618 is defined as extending along the route and divided into route segments 610 as volume segments. In some examples of these examples, the selection service 508 configured to determine the position 406 of robot 204 includes a selection service configured to determine the route segment 612 as the volume segment where the robot is located. Also in some examples of these examples, similarly to the previous ones, the information 510 about the optional destinations 408 includes a lookup table 512 of volume segments, each volume segment being associated with one or more contingency routes 614 to one or more optional destinations. Also similarly to the previous ones, the selection service can be configured to select a contingency route 616 to an optional destination associated with a volume segment in the lookup table and output an indication of the contingency route to the optional destination.

[0061] Figure 7 A Voronoi distribution 700, including an optional destination 408, is illustrated according to some example implementations. As shown, in some examples, the optional destinations span the geographic region, and the Voronoi distribution of the geographic region is seeded into cells 706. In some of these examples, a selection 508 service configured to determine the location 406 of robot 204 includes a selection service configured to determine the cells of the Voronoi distribution where the robot is located. Also in some of these examples, information 510 about the optional destinations includes information 514 describing the Voronoi distribution, and the selection service is configured to select the optional destinations for the cells where the robot is located.

[0062] Figure 8 The diagram illustrates a k-tree nearest neighbor 800 according to some examples, in which optional destinations 408 correspond to nodes 802 of a k-tree 804, where optional destinations are organized by location. In some of these examples, information 510 about the optional destinations includes information 516 describing the k-tree. Also in some of these examples, a selection service 508 configured to select optional destinations includes a selection service configured to perform a k-tree nearest neighbor search to find the optional destination at location 406 closest to robot 204.

[0063] Refer again Figure 5The destination selection service 506 of MMS210 can provide an indication of an optional destination 408 to the manager service 502 in response to an emergency event detected by the emergency monitoring service 504. The manager service can use the indication of the optional destination in at least one of the guidance, navigation, and control of the robot 204 to the optional destination. In some examples, the manager service is configured to cause the robot to travel to the optional destination. In some further examples, the manager service is configured to cause the robot to return to route 402 while traveling to the optional destination. This can include an MMS configured to send one or more maneuvering commands to RMS208 to control the robot to follow the maneuvering commands and thus travel to the destination and, in some examples, return to the route.

[0064] Figure 9A and Figure 9B This is a flowchart illustrating the various steps in a method 900 for supporting an aerial robot 204 in response to an emergency, according to an example implementation of this disclosure. (See flowchart for example.) Figure 9A As shown in box 902, the method includes detecting an emergency event while the robot is traveling on route 402 to destination 404. As shown in boxes 904 and 906, in response, the method includes determining the robot's position 406 and accessing information 510 about an alternative destination 408 associated with the route.

[0065] As shown in box 908, method 900 includes: selecting an optional destination 408 from optional destinations based on travel time from the position of robot 204 to the optional destination information 510. In various examples, travel time is determined based on input data such as the pose of robot 204, the distance from the robot's position 406 to the optional destination 408, the robot's speed, the robot's height, the robot's state, the robot's condition, the state of the route to the optional destination, and the state of the optional destination. As shown in box 910, the method also includes outputting an optional destination indication for at least one of guiding, navigating, and controlling the robot to the optional destination.

[0066] In some examples, route 402 is divided into route segments 610, and determining the position 406 of robot 204 at box 904 includes determining the route segment 612 to which the robot is located. In some of these examples, information 510 regarding optional destinations 408 includes a lookup table 512 of route segments, each route segment being associated with one or more contingency routes 614 to one or more optional destinations. Then, selecting an optional destination at box 908 includes selecting a contingency route 616 to an optional destination associated with a route segment in the lookup table, and outputting an indication of an optional destination at box 910 includes outputting an indication of the contingency route to the optional destination.

[0067] In some further examples, route 402 is a pre-planned route for robot 204 divided into route segments 610 based on travel time, distance, or percentage of route completion, and each of at least some of the route segments in lookup table 512 is associated with a pre-planned contingency route 614 to one of the optional destinations 408. Alternatively or optionally, in some further examples, route segment 612 is associated with multiple contingency routes to a corresponding optional destination in the lookup table. In some of these examples, selecting an optional destination at box 908 includes selecting one of multiple contingency routes to a corresponding optional destination among the optional destinations.

[0068] In some further examples, multiple emergency routes 614 are sorted according to a cost metric. Examples of suitable cost metrics include cost metrics that are functions of at least one of travel time, distance, terrain along the multiple emergency routes, robot type 204, robot state, robot condition, and robot environmental state. In some of these examples, selecting one emergency route from the multiple emergency routes at box 908 includes: when the emergency event is detected, selecting the sorted emergency route from the multiple emergency routes to the corresponding optional destination in optional destination 408 that can be used to land the robot.

[0069] In some examples, determining the position 406 of robot 204 at box 904 includes: determining the position of the robot in three dimensions.

[0070] In some examples, the space volume 618 is defined as extending along route 402 and divided into route segments 610 as volume segments. In some of these examples, determining the position 406 of robot 204 at box 904 includes determining the route segment 612 as the volume segment to which the robot is positioned. Also in some of these examples, information 510 regarding optional destinations 408 includes a lookup table 512 of volume segments, each volume segment being associated with one or more contingency routes 614 to one or more optional destinations. Selecting an optional destination at box 908 includes selecting a contingency route 616 to an optional destination associated with a volume segment in the lookup table, and outputting an indication of an optional destination at box 910 includes outputting an indication of a contingency route to an optional destination.

[0071] In some examples, the optional destination 408 spans geographic region 702, and the Voronoi distribution 704 of the geographic region is seeded into cell 706. In some of these examples, determining the location 406 of robot 204 at box 904 includes determining the cell of the Voronoi distribution to which the robot is positioned. Also in some of these examples, the information 510 about the optional destination includes information 514 describing the Voronoi distribution, and selecting the optional destination at box 908 includes selecting the optional destination for seeding the cell to which the robot is positioned.

[0072] In some examples, optional destination 408 corresponds to node 802 of k-tree 804, in which optional destinations are organized by location. In some of these examples, information 510 about optional destinations includes information 516 describing the k-tree. Also in some of these examples, selecting an optional destination at box 908 includes performing a nearest neighbor search of the k-tree to find the optional destination at location 406 closest to robot 204.

[0073] In some examples, as shown in box 912, the method 900 further includes causing robot 204 to travel to optional destination 408. Similarly, in some further examples, as shown in box 914, the method includes causing robot 204 to return to route 402 while traveling to optional destination 408.

[0074] According to the exemplary implementations of this disclosure, the MMS 210 and its subsystems, including the interface subsystem 302, situational awareness subsystem 304, mission planning subsystem 306, mission coordination subsystem 308, and mission execution subsystem 310, can be implemented by various means. The means for implementing the MMS and its subsystems may include hardware, either alone or directed by one or more computer programs from a computer-readable storage medium. In some examples, one or more devices may be configured to be used as or otherwise implement the MMS and its subsystems shown and described herein. In examples involving more than one device, the respective devices may be connected to or otherwise communicate with each other in a variety of different ways, such as directly or indirectly via wired or wireless networks.

[0075] Figure 10 A device 1000 according to some example implementations of the present disclosure is shown. Generally, a device of an exemplary implementation of the present disclosure may include, incorporate, or be embodied in one or more fixed or portable electronic devices. For example, the device may include one or more components of each of a plurality of components, such as processing circuitry 1002 (e.g., a processor unit) connected to memory 1004 (e.g., a storage device).

[0076] The processing circuitry 1002 may consist of one or more processors alone or in combination with one or more memories. For example, processing circuitry is typically any computer hardware capable of processing information such as data, computer programs, and / or other suitable electronic information. Processing circuitry consists of a collection of electronic circuits, some of which may be packaged as integrated circuits or multiple interconnected integrated circuits (integrated circuits are sometimes more commonly referred to as "chips"). Processing circuitry may be configured to execute computer programs that may be stored on the processing circuitry or otherwise stored in memory 1004 (of the processing circuitry or another device).

[0077] Depending on the specific implementation, the processing circuit 1002 may be multiple processors, a multi-core processor, or some other type of processor. Furthermore, the processing circuit may be implemented using multiple heterogeneous processor systems, where the main processor and one or more auxiliary processors reside on a single chip. As another illustrative example, the processing circuit may be a symmetric multiprocessor system comprising multiple processors of the same type. In yet another example, the processing circuit may be embodied as or otherwise include one or more ASICs, FPGAs, etc. Therefore, although the processing circuit may be able to execute a computer program to perform one or more functions, the processing circuits of various examples may be able to perform one or more functions without the assistance of a computer program. In any instance, the processing circuit may be suitably programmed to perform functions or operations according to the exemplary implementations of this disclosure.

[0078] For example, memory 1004 is typically any computer hardware capable of storing information such as data, computer programs (e.g., computer-readable program code 1006), and / or other suitable information on a temporary and / or permanent basis. Memory may include volatile and / or non-volatile memory and may be fixed or removable. Examples of suitable memory include random access memory (RAM), read-only memory (ROM), hard disk drive, flash memory, thumb drive, removable computer floppy disk, optical disk, magnetic tape, or some combination thereof. Optical disk may include compact disc-read-only memory (CD-ROM), compact disc-read / write (CD-R / W), DVD, etc. In various instances, memory may be referred to as a computer-readable storage medium. A computer-readable storage medium is a non-transitory device capable of storing information and is distinguished from a computer-readable transmission medium, such as an electronic transient signal capable of transferring information from one location to another. The computer-readable medium described herein may generally refer to a computer-readable storage medium or a computer-readable transmission medium.

[0079] In addition to the memory 1004, the processing circuitry 1002 may also be connected to one or more interfaces for displaying, sending, and / or receiving information. The interfaces may include a communication interface 1008 (e.g., a communication unit) and / or one or more user interfaces. The communication interface may be configured to, for example, send information to other devices, networks, etc., and / or receive information from other devices, networks, etc. The communication interface may be configured to send and / or receive information via physical (wired) and / or wireless communication links. Examples of suitable communication interfaces include a network interface controller (NIC), a wireless NIC (WNIC), etc.

[0080] The user interface may include a display 1010 and / or one or more user input interfaces 1012 (e.g., input / output units). The display may be configured to present information to a user or otherwise display information; suitable examples of the display include liquid crystal displays (LCDs), light-emitting diode displays (LEDs), plasma display panels (PDPs), etc. The user input interface may be wired or wireless and may be configured to receive information from the user into the device, such as for processing, storage, and / or display. Suitable examples of the user input interface include microphones, image or video capture devices, keyboards or keypads, joysticks, touch-sensitive surfaces (separate from or integrated into a touchscreen), biometric sensors, etc. The user interface may further include one or more interfaces for communicating with peripheral devices such as printers, scanners, etc.

[0081] As described above, program code instructions can be stored in memory and executed by processing circuitry programmed thereon to implement the functions of the systems, subsystems, tools, and their corresponding elements described herein. It should be understood that any suitable program code instructions can be loaded from a computer-readable storage medium onto a computer or other programmable device to produce a particular machine, such that particular machine becomes a means for implementing the functions specified herein. These program code instructions can also be stored in a computer-readable storage medium that can instruct a computer, processing circuitry, or other programmable device to operate in a particular manner to produce a particular machine or a particular article of manufacture. Instructions stored in a computer-readable storage medium can produce an article of manufacture, wherein the article of manufacture becomes a means for implementing the functions described herein. Program code instructions can be retrieved from a computer-readable storage medium and loaded into a computer, processing circuitry, or other programmable device to configure the computer, processing circuitry, or other programmable device to perform operations on or performed by the computer, processing circuitry, or other programmable device.

[0082] The retrieval, loading, and execution of program code instructions can be performed sequentially, such that one instruction is retrieved, loaded, and executed at a time. In some example implementations, retrieval, loading, and / or execution can be performed in parallel, such that multiple instructions are retrieved, loaded, and / or executed together. Executing program code instructions can produce computer-implemented processes, such that the instructions, executed by a computer, processing circuitry, or other programmable device, provide operations for implementing the functions described herein.

[0083] A combination of operations supporting the execution of a specified function by processing circuitry executing instructions or storing instructions in a computer-readable storage medium. In this way, device 1000 may include processing circuitry 1002 and a computer-readable storage medium or memory 1004 coupled to the processing circuitry, wherein the processing circuitry is configured to execute computer-readable program code 1006 stored in the memory. It should also be understood that one or more functions, and combinations thereof, can be implemented by a computer system and / or processing circuitry based on dedicated hardware, or by a combination of dedicated hardware and program code instructions, to perform the specified function.

[0084] Benefiting from the teachings presented in the foregoing description and associated drawings, those skilled in the art to which this disclosure pertains will recognize numerous modifications and other implementations of this disclosure set forth herein. Therefore, it should be understood that this disclosure is not limited to the specific implementations disclosed and that modifications and other implementations are intended to be included within the scope of the appended claims. Furthermore, although the foregoing description and associated drawings describe exemplary implementations in the context of certain example combinations of elements and / or functions, it should be understood that different combinations of elements and / or functions may be provided by alternative implementations without departing from the scope of the appended claims. In this regard, combinations of elements and / or functions different from those explicitly described above are also contemplated, for example, as may be set forth in some of the appended claims. Although specific terminology is used herein, it is used only in a general and descriptive sense and not for limiting purposes.

[0085] This disclosure includes the subject matter described in the following items:

[0086] Item 1. A device (1000) for supporting a robot (204) in response to an emergency event, the device comprising:

[0087] The memory (1004) is configured to store computer-readable program code (1006); and

[0088] Processing circuitry (1002) is configured to access memory and execute computer-readable program code such that the device at least:

[0089] An emergency is detected (902) while the robot is traveling on its route (402) to the destination (404); and in response to this,

[0090] Determine the position of the robot (406) (904);

[0091] Access (906) information (510) about the alternative destinations (408) associated with the route;

[0092] Based on the travel time and information from the robot's location to the optional destination, select (908) optional destinations; and

[0093] Output (910) an indication of an optional destination for at least one of the robot’s guidance, navigation and control to the optional destination.

[0094] Item 2. The device (1000) according to Item 1, wherein the travel time is determined based on at least one of the following:

[0095] The posture of the robot (204);

[0096] The distance from the robot's location (406) to the optional destination (408);

[0097] The robot's speed;

[0098] The robot's height;

[0099] The robot's state;

[0100] The robot's condition;

[0101] The status of routes to alternative destinations; and

[0102] Status of optional destinations.

[0103] Item 3. The device (1000) according to item 1 or item 2, wherein the route (402) is divided into route segments (610), and the device determines (904) the position (406) of the robot (204) including the device determining the route segment (612) where the robot is located.

[0104] Item 4. The device (1000) according to Item 3, wherein the information regarding the optional destination (408) includes a lookup table (512) of route segments, each route segment being associated with one or more emergency routes (614) to one or more optional destinations, and enabling the device to select (908) an optional destination including enabling the device to select an emergency route (616) to an optional destination associated with a route segment in the lookup table.

[0105] Item 5. The device (1000) according to item 4, wherein the instruction to make the device output (910) an optional destination includes an instruction to make the device output an emergency route to the optional destination.

[0106] Item 6. The device (1000) according to Item 4, wherein the route (402) is a pre-planned route of the robot (204) divided into route segments (610) according to travel time, distance or route completion percentage, and each of the route segments in at least some of the route segments in the lookup table (512) is associated with a pre-planned contingency route (614) to one of the optional destinations (408).

[0107] Item 7. The device (1000) according to item 4, wherein, in the lookup table (512), the route segment (612) is associated with a plurality of emergency routes (614) to a corresponding optional destination in the optional destination (408), and the device selects (908) an optional destination including an emergency route among a plurality of emergency routes to a corresponding optional destination as an optional destination.

[0108] Item 8. The device (1000) according to Item 7, wherein multiple emergency routes (614) are sorted according to a cost metric, and the device selects (908) one of the multiple emergency routes, including, when an emergency event is detected, the sorted emergency routes among the multiple emergency routes that can be used to land the robot (204) to the corresponding optional destination among the optional destinations (408).

[0109] Item 9. According to the device (1000) of Item 8, wherein the multiple emergency routes (612) are sorted according to a cost metric which is a function of at least one of travel time, distance, terrain along multiple emergency routes, type of robot (204), state of robot, condition of robot and environmental state of robot.

[0110] Item 10. A device (1000) according to any of the above items, wherein the spatial volume (618) is defined as extending along the route (402) and divided into volume segments (610), and determining (904) the position (406) of the robot (204) by the device includes determining the volume segment (612) in which the robot is located.

[0111] The information (510) regarding the optional destinations (408) includes a lookup table (512) of volume segments, each volume segment being associated with one or more emergency routes (614) to one or more optional destinations, and enabling the device to select (908) an optional destination includes enabling the device to select an emergency route (616) to the optional destination associated with the volume segment in the lookup table; and

[0112] The instruction to output (910) an optional destination includes an instruction to output an emergency route to the optional destination.

[0113] Item 11. A device (1000) according to any of the above items, wherein an optional destination (408) spans a geographic region (702), the optional destination seeds the Voronoi distribution (704) of the geographic region into cells (706), and causes the device to determine (904) the location (406) of the robot (204) including the cells of the Voronoi distribution in which the robot is located, and

[0114] The information (510) regarding the optional destinations includes information (514) describing the distribution of Voronoi and enabling the device to select (908) the optional destination of the cell where the seeding robot is located.

[0115] Item 12. A device (1000) according to any of the above items, wherein the optional destination (408) corresponds to a node (802) of a k-dimensional tree (804), in which the optional destinations are organized by position, and

[0116] The information (510) regarding the optional destinations includes information describing the k-dimensional tree (516), and enables the device to select (908) the optional destinations, which include enabling the device to perform a nearest neighbor search of the k-dimensional tree to find the location (406) closest to the robot (204).

[0117] Item 13. The device (1000) according to any of the above items, wherein the processing circuit (1002) is configured to execute computer-readable program code (1006) so that the device further causes (912) the robot (204) to travel to an optional destination.

[0118] Item 14. The device (1000) according to Item 13, wherein the processing circuit (1002) is configured to execute computer-readable program code (1006) so that the device further causes (914) the robot (204) to return to the route (402) while the robot is traveling to an optional destination (408).

[0119] Item 15. A method (900) for a support robot (204) in response to an emergency event, the method comprising:

[0120] An emergency is detected (902) while the robot is traveling on its route (402) to the destination (404); and in response to this,

[0121] Determine the position of the robot (406) (904);

[0122] Access (906) information (510) about the alternative destinations (408) associated with the route;

[0123] Based on the travel time and information from the robot's location to the optional destination, select (908) optional destinations; and

[0124] Output (910) an indication of an optional destination for at least one of the robot’s guidance, navigation and control to the optional destination.

[0125] Item 16. According to the method (900) of Item 15, wherein the travel time is determined based on at least one of the following:

[0126] The posture of the robot (204);

[0127] The distance from the robot's location (406) to the optional destination (408);

[0128] The robot's speed;

[0129] The robot's height;

[0130] The robot's state;

[0131] The robot's condition;

[0132] The status of routes to alternative destinations; and

[0133] Status of optional destinations.

[0134] Item 17. The method (900) according to Item 15 or Item 16, wherein the route (402) is divided into route segments (610), and determining (904) the position (406) of the robot (204) includes: determining the route segment (612) to which the robot is located.

[0135] Item 18. According to the method (900) of Item 17, wherein the information (510) regarding the optional destinations (408) includes a lookup table (512) of route segments, each route segment being associated with one or more emergency routes (614) to one or more optional destinations, and selecting (908) an optional destination includes: selecting an emergency route (616) to an optional destination associated with a route segment in the lookup table.

[0136] Item 19. According to the method (900) of Item 18, wherein the output (910) of the indication of the optional destination includes: the output of the indication of the emergency route to the optional destination.

[0137] Item 20. According to the method (900) of Item 18, wherein the route (402) is a pre-planned route of the robot (204) divided into route segments (610) according to travel time, distance or route completion percentage, and each route segment in at least some of the route segments in the lookup table (512) is associated with a pre-planned contingency route (614) to one of the optional destinations (408).

[0138] Item 21. According to the method (900) of Item 18, wherein in the lookup table (512), the route segment (612) is associated with a plurality of emergency routes (614) to a corresponding optional destination in the optional destination (408), and selecting (908) the optional destination includes: selecting one of the plurality of emergency routes to a corresponding optional destination as an optional destination among the multiple emergency routes to the optional destination.

[0139] Item 22. According to the method (900) of Item 21, wherein sorting a plurality of emergency routes (614) according to a cost metric and selecting (908) one of the plurality of emergency routes includes: when an emergency event is detected, selecting the sorted emergency route from the plurality of emergency routes to the corresponding optional destination in the optional destinations (408) that can be used to land the robot (204).

[0140] Item 23. According to the method (900) of Item 22, wherein the multiple emergency routes (614) are sorted according to a cost metric which is a function of at least one of travel time, distance, terrain along multiple emergency routes, type of robot (204), state of robot, condition of robot and environmental state of robot.

[0141] Item 24. The method (900) according to any one of items 15 to 23, wherein the spatial volume (618) is defined as extending along the route (402) and divided into volume segments (610), and determining (904) the position (406) of the robot (204) includes: determining the volume segment (612) to which the robot is located,

[0142] The information (510) regarding the optional destinations (408) includes a lookup table (512) of volume segments, each volume segment being associated with one or more emergency routes (614) to one or more optional destinations, and selecting (908) an optional destination includes: selecting an emergency route (616) to an optional destination associated with a volume segment in the lookup table; and

[0143] Among them, the output (910) of the optional destination indication includes: the output of the emergency route to the optional destination.

[0144] Item 25. The method (900) according to any one of items 15 to 24, wherein the optional destination (408) spans a geographic region (702), the optional destination seeds the Voronoi distribution (704) of the geographic region into cells (706), and determining (904) the location (406) of the robot (204) includes: determining the cell of the Voronoi distribution to which the robot is located, and

[0145] The information (510) regarding optional destinations includes information (514) describing the distribution of Voronoi, and the selection (908) of optional destinations includes: selecting the optional destination of the cell where the seeding robot is located.

[0146] Item 26. The method (900) according to any one of items 15 to 25, wherein the optional destinations (408) correspond to the nodes (802) of the k-dimensional tree (804), in which the optional destinations are organized by position, and

[0147] The information (510) regarding the optional destinations includes information describing the k-dimensional tree (516), and the selection (908) of the optional destinations includes: performing a nearest neighbor search of the k-dimensional tree to find the optional destination of the location (406) closest to the robot (204).

[0148] Item 27. The method (900) according to any one of items 15 to 26 further includes: causing (912) the robot (204) to travel to an optional destination (408).

[0149] Item 28. The method (900) according to Item 27 further includes: causing (914) the robot (204) to return to the route (402) while the robot is traveling to the optional destination (408).

Claims

1. An apparatus for supporting robots in response to emergency events, the apparatus comprising: Memory, configured to store computer-readable program code; as well as Processing circuitry is configured to access the memory and execute the computer-readable program code such that the device at least: The emergency event is detected while the robot is traveling along its route before it reaches the landing area of ​​its initial destination; and In response to detecting the emergency event before reaching the landing area of ​​the initial destination, the device: Determine the position of the robot; Access information about alternative destinations associated with the route, the route including one or more emergency routes to the alternative destinations, wherein the alternative destinations are located in locations different from the initial destination; Based on the travel time from the robot's location to the optional destination and the information about the optional destinations associated with the route, an optional destination is selected from the optional destinations; Select the highest-ranked emergency route from the emergency routes associated with the chosen optional destination; and Output an indication of the selected optional destination for at least one of the robot's guidance, navigation, and control to the optional destination.

2. The apparatus of claim 1, wherein, The travel time is determined based on at least one of the following: The robot's posture; The distance from the robot's location to the optional destination; The robot's speed; The height of the robot; The state of the robot; The robot's condition; The status of the route to the optional destination; and The status of the optional destination.

3. The apparatus of claim 1, wherein, The route is divided into route segments, and enabling the device to determine the robot's location includes enabling the device to determine the route segment in which the robot is located.

4. The apparatus of claim 3, wherein, The information regarding the optional destinations includes a lookup table of route segments, each route segment being associated with one or more emergency routes to one or more optional destinations, and enabling the device to select the highest-ranked emergency route from the emergency routes includes enabling the device to select an emergency route from the emergency routes to the optional destinations associated with the route segments in the lookup table.

5. The apparatus of claim 4, wherein, The instruction to output the optional destination by the device includes the instruction to output the emergency route to the optional destination by the device.

6. The apparatus of claim 4, wherein, The route is a pre-planned route of the robot divided into route segments according to travel time, distance, or route completion percentage, and each of at least some of the route segments in the lookup table is associated with a pre-planned contingency route to one of the optional destinations.

7. The apparatus of claim 4, wherein, In the lookup table, the route segment is associated with multiple emergency routes to a corresponding optional destination among the optional destinations, and enabling the device to select the optional destination includes enabling the device to select one of the multiple emergency routes that are one of the optional destinations among the corresponding optional destinations of the optional destination.

8. The apparatus of claim 7, wherein, The plurality of emergency routes are sorted according to a cost metric, and the device selects one of the plurality of emergency routes, including, when the emergency event is detected, the sorted emergency routes among the plurality of emergency routes that can be used to land the robot to the corresponding optional destination among the optional destinations.

9. The device according to claim 8, wherein, The multiple emergency routes are sorted according to the cost metric, which is a function of at least one of travel time, distance, terrain along the multiple emergency routes, robot type, robot state, robot condition, and robot environmental state.

10. The device according to claim 1, wherein, The spatial volume is defined as extending along the route and divided into volume segments, and enabling the device to determine the robot's position includes enabling the device to determine the volume segment in which the robot is positioned. The information regarding the optional destinations includes a lookup table of volume segments, each volume segment being associated with one or more emergency routes to one or more optional destinations, and enabling the device to select the highest-ranked emergency route from the emergency routes includes enabling the device to select an emergency route from the emergency routes to the optional destinations associated with the volume segments in the lookup table; and The instruction to output the optional destination includes the instruction to output the emergency route to the optional destination.

11. The device according to claim 1, wherein, The optional destination spans a geographic region, seeding the Voronoi distribution of that geographic region into cells, and enabling the device to determine the robot's location includes enabling the device to determine the cell of the Voronoi distribution where the robot is located. The information regarding the optional destination includes information describing the Voronoi distribution and enables the device to select the optional destination for seeding the cell where the robot is located.

12. The device according to claim 1, wherein, The optional destinations correspond to nodes in a k-dimensional tree, and are organized by position within the k-dimensional tree. The information regarding the optional destination includes information describing the k-dimensional tree, and enabling the device to select the optional destination includes enabling the device to perform a nearest neighbor search of the k-dimensional tree to find the optional destination that is closest to the location of the robot.

13. The device according to claim 1, wherein, The processing circuitry is configured to execute the computer-readable program code to enable the device to further advance the robot to the optional destination.

14. The device according to claim 13, wherein, The processing circuitry is configured to execute the computer-readable program code to enable the device to further enable the robot to return to the route when the robot travels to the optional destination.

15. A method for supporting a robot in response to an emergency, the method comprising: The emergency event is detected while the robot is traveling along its route before it reaches the landing area of ​​its initial destination. and In response to detecting the emergency event before reaching the landing area of ​​the initial destination, the device: Determine the position of the robot; Access information about alternative destinations associated with the route, the route including one or more emergency routes to the alternative destinations, wherein the alternative destinations are located in locations different from the initial destination; Based on the travel time from the robot's location to the optional destination and the information about the optional destinations associated with the route, an optional destination is selected from the optional destinations; Select the highest-ranked emergency route from the emergency routes associated with the chosen optional destination; and Output an indication of the selected optional destination for at least one of the robot's guidance, navigation, and control to the optional destination.

16. The method according to claim 15, wherein, The travel time is determined based on at least one of the following: The robot's posture; The distance from the robot's location to the optional destination; The robot's speed; The height of the robot; The state of the robot; The robot's condition; The status of the route to the optional destination; and The status of the optional destination.

17. The method according to claim 15, wherein, The route is divided into route segments, and determining the robot's position includes determining the route segment to which the robot is located.

18. The method according to claim 17, wherein, The information regarding the optional destinations includes a lookup table of route segments, each route segment being associated with one or more emergency routes to one or more optional destinations, and selecting the highest-ranked emergency route from the emergency routes includes selecting an emergency route from the emergency routes to the optional destinations associated with the route segments in the lookup table.

19. The method according to claim 18, wherein, The instruction to output the optional destination includes: an instruction to output the emergency route to the optional destination.

20. The method according to claim 18, wherein, The route is a pre-planned route of the robot divided into route segments according to travel time, distance, or route completion percentage, and each of at least some of the route segments in the lookup table is associated with a pre-planned contingency route to one of the optional destinations.

21. The method according to claim 18, wherein, In the lookup table, the route segment is associated with multiple emergency routes to a corresponding optional destination among the optional destinations, and selecting the optional destination includes selecting one of the multiple emergency routes to the corresponding optional destination as an optional destination of the optional destination.

22. The method according to claim 21, wherein, Sort the plurality of emergency routes according to a cost metric, and select one of the plurality of emergency routes, including: when the emergency event is detected, selecting the sorted emergency route from the plurality of emergency routes to the corresponding optional destination that can be used to land the robot.

23. The method according to claim 22, wherein, The multiple emergency routes are sorted according to the cost metric, which is a function of at least one of travel time, distance, terrain along the multiple emergency routes, robot type, robot state, robot condition, and robot environmental state.

24. The method according to claim 15, wherein, The spatial volume is defined as extending along the route and divided into volume segments, and determining the robot's position includes: determining the volume segment in which the robot is located. The information regarding the optional destinations includes a lookup table of volume segments, each volume segment being associated with one or more emergency routes to one or more optional destinations, and selecting the highest-ranked emergency route from the emergency routes includes: selecting an emergency route from the emergency routes to the optional destinations associated with the volume segments in the lookup table; and The instruction to output the optional destination includes: an instruction to output the emergency route to the optional destination.

25. The method according to claim 15, wherein, The optional destination spans a geographical region, seeding the Voronoi distribution of the geographical region into cells, and determining the robot's location includes: determining the cell of the Voronoi distribution to which the robot is located, and The information regarding the optional destination includes information describing the Voronoi distribution, and selecting the optional destination includes selecting the optional destination of the cell where the robot is located.

26. The method according to claim 15, wherein, The optional destinations correspond to nodes in a k-dimensional tree, and are organized by position within the k-dimensional tree. The information regarding the optional destination includes information describing the k-dimensional tree, and selecting the optional destination includes performing a nearest neighbor search of the k-dimensional tree to find the optional destination that is closest to the robot's location.

27. The method of claim 15, further comprising: The robot is then directed to the selected destination.

28. The method of claim 27, further comprising: The robot is made to return to the route when it reaches the optional destination.

Citation Information

Patent Citations

  • Least time alternate destination planner

    EP0743580A1

  • Methods and systems for presenting en route diversion destinations

    EP3293718A2