Safe Path Planning Method for Mechatronic Systems
20230027577 · 2023-01-26
Inventors
Cpc classification
B60W2554/40
PERFORMING OPERATIONS; TRANSPORTING
B60W30/095
PERFORMING OPERATIONS; TRANSPORTING
B60W60/0027
PERFORMING OPERATIONS; TRANSPORTING
G05D1/0214
PHYSICS
International classification
Abstract
A method for controlling mechatronic systems is described herein. In accordance with one embodiment the method includes planning a nominal path for a mechatronic system using an automatic path planner, receiving information concerning one or more objects detected in the surrounding environment of the mechatronic system and calculating one or more occupancy sets corresponding to the one or more detected objects, and detecting whether the nominal path violates at least one of the one or more Occupancy Sets. In one embodiment, the occupancy sets may represent theoretic system states of the mechatronic system which are potentially occupied by the stationary and dynamic objects at a specific time. Furthermore, a corresponding control system is described.
Claims
1-20. (canceled)
21. A method, comprising: planning a nominal path for a mechatronic system using an automatic path planner; receiving information concerning one or more objects detected in a surrounding environment of the mechatronic system and calculating one or more occupancy sets corresponding to the one or more detected objects; and detecting whether the nominal path violates at least one of the one or more occupancy sets.
22. The method of claim 21, wherein the one or more occupancy sets represents theoretic system states of the mechatronic system which are potentially occupied by stationary and dynamic objects.
23. The method of claim 21, further comprising: receiving a current state of the mechatronic system and calculating a reachable set corresponding to the mechatronic system; and detecting whether the nominal path is not a subset of the reachable set corresponding to the mechatronic system.
24. The method of claim 23, further comprising: signaling an error in response to detecting that the nominal path is not a subset of the reachable set corresponding to the mechatronic system.
25. The method of claim 23, wherein the reachable set represents theoretic system states of the mechatronic system, which the mechatronic system is able to reach due to system dynamics of the mechatronic system.
26. The method of claim 21, further comprising: signaling an error in response to detecting that the nominal path violates at least one of the one or more occupancy sets.
27. The method of claim 21, wherein the one or more occupancy sets is determined based on detected states of the detected one or more objects and one or more rules associated with the detected one or more objects.
28. The method of claim 27, wherein the information concerning the detected one or more objects includes data concerning the state of the one or more objects and an object label designating a type of the object, and wherein the detected one or more objects are associated with the one or more rules based on the object label.
29. The method of claim 27, further comprising: updating a rule set including the one or more rules.
30. The method of claim 21, wherein the information concerning the detected one or more objects includes data concerning the state of the one or more objects and an object label designating a type of the object.
31. The method of claim 21, wherein the information concerning the detected one or more objects includes data concerning the state of the one or more objects, uncertainties associated with the states, and an object label designating a type of the one or more objects.
32. The method of claim 31, wherein detecting whether the nominal path violates at least one of the one or more occupancy sets comprises calculating a probability value indicative of the probability with which the nominal path violates at least one of the one or more occupancy sets.
33. The method of claim 21, wherein the nominal path is composed of one or more planned states of the mechatronic system associated with one or more corresponding time instants, and wherein the one or more occupancy sets and one or more reachable sets are determined for each of the corresponding time instants.
34. A method, comprising: in a first channel: planning a first nominal path for a mechatronic system using a first automatic path planner; receiving first information concerning one or more first objects detected in a surrounding environment of the mechatronic system and calculating one or more first occupancy sets corresponding to the one or more first detected objects; and detecting whether the first nominal path violates at least one of the one or more first occupancy sets; in a second channel: planning a second nominal path for the mechatronic system using a second automatic path planner; receiving second information concerning one or more second objects detected in the surrounding environment of the mechatronic system and calculating one or more second occupancy sets corresponding to the one or more second detected objects; and detecting whether the second nominal path violates at least one of the one or more second occupancy sets; selecting either the first nominal path or the second nominal path based on which one of the first nominal path and the second nominal path does not violate the respective one or more occupancy sets.
35. The method of claim 34, wherein the first nominal path, which has a higher priority, is selected when both the first nominal path and the second nominal path do not violate the respective one or more occupancy sets.
36. The method of claim 34, wherein in the first channel, the detecting whether the first nominal path violates at least one of the one or more first occupancy sets comprises calculating a probability value indicative of the probability with which the first nominal path violates at least one of the one or more first occupancy sets.
37. The method of claim 34, further comprising: selecting an emergency maneuver when both the first nominal path and the second nominal path violate the respective one or more occupancy sets.
38. The method of claim 34, wherein in the first channel and the second channel, the respective one or more occupancy sets are determined based on detected states of the respective detected one or more objects and one or more rules associated with the respective detected one or more objects, wherein the rules are different for the first channel and the second channel.
39. The method of claim 38, further comprising: updating a rule set including the one or more rules.
40. The method of claim 34, wherein in the second channel, the second nominal path is planned such that the mechatronic system is driven into a safe state.
41. A system, comprising: an automatic path planner configured to plan a nominal path for a mechatronic system; and a monitor unit configured to receive information concerning one or more objects detected in a surrounding environment of the mechatronic system and to calculate one or more occupancy sets corresponding to the one or more detected objects, wherein the system is configured to detect whether the nominal path violates at least one of the one or more occupancy sets.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0006] The embodiments described herein can be better understood better with reference to the following drawings and descriptions. The components in the figures are not necessarily to scale; instead, emphasis is placed upon illustrating the principles of the invention. Moreover, in the figures, like reference numerals designate corresponding parts. In the drawings:
[0007]
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
DETAILED DESCRIPTION
[0017] Striving for a mechatronic system that can reliably find a safe and cost-efficient path in a complex environment like ground or air traffic with human drivers/pilots has been pursued for years. There are a variety of different proposals how to comply with such requirements. In the following a few approaches will be discussed.
[0018] A safety framework to verify the safety of each planned trajectory on-the-fly has been proposed by Althoff et al., who use formal methods to handle uncertain measurements and future behaviors of traffic participants and disturbances acting on an mechatronic system (i.e. the currently considered dynamic object).
[0019] The mentioned safety framework is (functionally) arranged parallel to the motion planner, or nominal path planner, and is supposed to verify the nominal path and provide a fail-safe trajectory in case the verification fails.
[0020] The system receives one or more trajectories from the nominal path planner and selects the trajectory which has been verified best using a cost function. The verification is based on the calculation of reachable sets of states for the mechatronic system and occupancy sets for stationary and dynamic objects at a certain point in time for a certain time period.
[0021] The physically reachable states of the mechatronic system are called “reachable set”. The reachable set represent—for a specific sample time—those system states of the mechatronic system that are physically viable. The calculation is based on the last measured state of the mechatronic system and the mathematical model of the mechatronic system.
[0022] The occupancy sets represent the theoretic states of the mechatronic system that are—for a specific sample time—potentially occupied by the stationary and dynamic object and thus not available for the mechatronic system. Here, “occupied” does not necessary that the objects physically occupy the states. The objects may also occupy the states in the Occupancy Set due to specified rules (e.g. safety clearance as defined in traffic rules, etc.). For stationary objects this can contain the last measurement from the sensor, additional information such as geometric information and occupied positions associated traffic rules, e. g. traffic signs, road lanes, . . . , map and/or data base information about the stationary objects, e. g. object dimensions and positions. For dynamic objects this can contain the reachable set of the dynamic object based on the last measurement from the sensor, its predicted trajectory, additional information such as the mathematical model of the dynamic object received from a database, dimensions of the dynamic object, traffic rules associated with, e.g., road lanes and road signs, a set of possibly occupied positions. The “occupancy set”, is calculated for each object and can consider possible disturbances of the measurements.
[0023] Lastly the reachable sets and the occupancy sets are checked for intersections with the planned trajectory. When the trajectory is a subset of (or intersects with) the reachable set and does not violate (or not intersect with) the occupancy sets, the trajectory is successfully verified.
[0024] In order to reduce the computation, the safety framework calculates only the first part of the nominal path in detail. The remaining second part of the (longer) nominal path is calculated with less assumptions and much simpler models. To increase the safety, fail-safe trajectories may regularly be calculated along the (shorter) first part of the trajectory. First the branch location of a fail-safe trajectory is defined by use of binary search and, second, the optimal shape of the fail-safe trajectory is calculated by convex trajectory optimization. Finally, the Occupancy Set and the intersections check are performed for the short trajectory and its fail-safe trajectory branches. In case of a failure, the last viable fail-safe trajectory branch will be executed.
[0025] In the publication US 2018/0373251 A1 (2018) a fault tolerant system setup for a trajectory planner has been proposed. This setup relies heavily on redundant layout utilizing the non-homogenous redundancy principle as suggested by ISO 26262-9 (5.4). The system comprises at least three subsystems: two redundant subsystems labelled as COM, “commander”, MON, “monitor”, and one DECIDE, “decision subsystem”. COM and MON use different methods to determine a safe trajectory. COM generates a trajectory based on sensor data, while MON generates a “safe envelope” based on the same sensor data, or alternatively, other (independent) sensor data in order to utilize the independence principle as suggested by ISO 26262-9 (5.4). The DECIDE subsystem decides whether the trajectory generated by the COM subsystem is safe by verifying whether this trajectory is within the “safe envelope” of the MON subsystem. The verification is performed in a “trajectory verification stage”. In the case of negative verification an emergency stop will be initiated by the DECIDE subsystem. This system architecture is very similar to the architecture 1oo2D suggested by EN 61508-6(B.3).
[0026] Different variations of this system architecture where the “trajectory verification stage” is moved from the DECIDE subsystem to the MON subsystem have been proposed. This has been done in order to move the complexity away from the DECIDE subsystem, which is assigned an ASIL-D level (Automotive System Integrity Level D), thus utilizing the lower complexity principle as suggested by ISO 26262-9 (5.4). There is also a proposed variant with a fourth subsystem designated as FB, “fall back”, subsystem. This subsystem is parallel to the COM and MON subsystems and generates emergency trajectories which are used in case the COM generated trajectory is not verified. The FB subsystem utilizes the safety mechanisms principle as suggested by ISO 26262-4 (6.4.2).
[0027] For a safe information distribution and transfer between the subsystems, a mechanism referred to as PROT has been suggested. PROT implements well-known concepts like cryptographically signed or checksum verified information transfer, thus complying with error detection principle as suggested by ISO 26262-6 (9.4.2) or data communication according EN 62508-2 (7.4.11).
[0028] In order to reduce the probability of false negatives due to divergent sensor data received by COM and MON subsystems, three stages MRG,“information merging stage”, AGR1, “information agreement stage 1”, and AGR2, “information agreement stage 2” are introduced into the COM and MON subsystems. These stages are responsible for the merging of the preprocessed and fused sensor data in order to guarantee similar sensor inputs in both subsystems. In order to achieve the merging, two operations can be used, namely the “set-theoretic superset operation” that creates a combined area and the “set-theoretic cut-set operation” that creates an overlapping area of the sensor derived real-time images.
[0029] In the publication U.S. Pat. No. 9,645,577 B1 (2017) a method to facilitate vehicle driving and vehicle self-driving has been proposed. Thereby they differentiate between the following applications: autonomous driving, and evaluation of human driver performance by monitoring it with data recording and feedback.
[0030] The underlying method for all these applications involves the generation of a finite set of vehicle candidate trajectories and the subsequent selection of a putative optimal trajectory from among these candidate trajectories.
[0031] The generation of the candidate trajectories is based on the information about the world state (state of the vehicle) and the state of the environment (states of dynamic and static objects). The basic idea is, inter alia, to generate a finite set of candidate trajectories which sufficiently covers all possible trajectories.
[0032] The subsequent selection of a putative optimal trajectory from the finite set of vehicle candidate trajectories is based on a determination of a minimum cost path. The costs are associated with violations of rules of operation, sequences of transitions between successive states of the trajectory, path geometry, logics, efforts and dynamic efforts. The costs are represented as an array containing several numerical entries, each entry is correspondent to a rule priority level (value proportional to rule violation) or to a function of the vehicle's trajectory (fuel consumption, travel time, path length . . . ), whereby the prioritized and weighted rules are expressed in a formal language such as Linear Temporal Logic (LTL), Computation Tree Logic (CTL), or p-calculus. One concept of how rules available in the form of a textual description can be converted into a digital equivalent is explained, for example, in the publication WO 2017/202906 A1, which is herein incorporated by reference in its entirety.
[0033] In order to keep up with the dynamic environment and the changing vehicle position, the vehicle states, the finite set of vehicle candidate trajectories and the cost assessments are iteratively updated. The intervals between the time instances can range from 0.2 to 2 seconds.
[0034] In case of autonomous driving, the feedback control policy is based on the selected putative optimal trajectory and determines commands to control the vehicle accordingly. In the case of evaluation of human driver performance, the actual trajectory of the vehicle is monitored for a given time period and then compared with the putative optimal trajectory. Thereby one or more performance metrics can be evaluated, and the results may be shown on an in-vehicle display or recorded for further evaluation and documentation.
[0035] With the embodiments described below, fail operational control of a mechatronic system may be realized to conform to safety critical standards.
[0036] To achieve conformance to safety critical standards with highest criticality (e. g. ASIL-C/D automotive, SIL-3/4-machinery, DAL-A/B—aeronautic, or similar) a so-called 2002D architecture approach can be used.
[0037]
[0038]
[0039]
[0040] The calculations of all subsystems can either be done in two operational modes, which are a control mode and a predictive mode. The control mode uses the last measurement and the following sample time Ts. The predictive mode is also based on the last measurement and calculations done according to a time vector t.
[0041]
[0042] The purpose of RS_CALC_x (see
[0043] The purpose of STAT_OBJ_x (see
[0044] The purpose of DYN_OBJ_x (see
[0045] The purpose of PROPERTY_x (cf.
[0046] P1: The mechatronic system should not cross a straight line
[0047] P2: The mechatronic system should not go faster than a specific velocity v_tresh.
Following a conversion of the properties according some predefined formal language into a digital version results to:
[0048] P1: Normal_distance(mechatronic_system,straight_line)>0
[0049] P2: v_mechatronic_system<v_tresh
The property rules which should be applied in PROPERTY_x will be configured through CONFIGURE_x. This can be done either by loading a configuration file containing the property rules or by any other means e. g. database or internet. [0050] The conversion of the written properties into its digital form can be done manually, semi-automatic or automatic. Suitable approaches therefore are as such known and not discussed herein in greater detail. The set of functions used in the digital version of the properties is herein referred to as “dictionary”. If a function is not part of an already existing dictionary, then they must be implemented manually or using model-based design tools. It may be advisable to use names for the functions which describe their purpose. Variables defined in the properties and in the interface of the functions must be associated to the inputs of PROPERTY_x. This can be done with a connection matrix which is configured at the startup of PROPERTY_x as depicted in
[0051] The purpose of RULE_x is to evaluate all properties Prop_x received by PROPERTY_x according some predefined rules (see
[0052] Objects are the interface of the Copilot to the customer application. A typical object measurement can consist of an object label, object detection probability, object model, the measurement and the measurement uncertainties. The object label describes the name of the object, e. g. yield sign, bicycle, etc. The object detection probability describes the probability that the detected object is actually the object with the given object label. The object model describes the dynamic model of an object, in this case a dynamic object. The measurement describes the state measurement of the object (position, velocity, etc.). The object uncertainty describes the uncertainty of the state measurement. All objects containing the same object model are mapped to their representation in DYN_OBJ_x. All objects containing no dynamic model, but the same measurements are mapped to the equivalent object representation in STAT_OBJ_x.
[0053] The probabilistic verification method is typically used in CHANNEL_A to verify the nominal path planner. The verification of CHANNEL_B is typically done using the classical logic with 0 and 1.
[0054] In a known implementation of the SWITCH (cf.
[0055] A user interface (UI) for the configuration of control and non-control systems may be implemented in order give the user the possibility to review the current system configuration, parameters and features. If necessary, the user will be able to modify certain configuration files, rule sets as well as parameters and features.
[0056] As described in the lines above, the system can be reconfigured during startup by just changing the rule set.
[0057] In the case of an emergency it should be possible to prove which rules are violated. All data which have a direct link to some rules are saved for a predefined period of time (e. g. 10 s). An offline program is used to visualize and track the data. In the case a rule is violated a notification in the offline program should appear.
[0058] Embodiments and concepts described herein are summarized below. It is understood that the following is not an exhaustive enumeration of technical features but rather an exemplary summary of important aspects.
[0059] One embodiment relates to a method for controlling mechatronic systems (e.g. a vehicle, an autonomous car, an aircraft or the like) is described herein. The method includes planning a nominal path for the mechatronic system using an automatic path planner (cf.
[0060] The occupancy sets may represent theoretic system states of the mechatronic system (e.g. positions of a vehicle) which are potentially occupied by the stationary and dynamic objects at a specific time. The occupancy sets may be regarded as a set of “forbidden” states of the mechatronic system. The planned nominal path violates an occupancy set, if it intersects with the occupancy set (i.e. if a state of the planned path is also included in an occupancy set).
[0061] In one embodiment, the method may additionally include receiving a current state of the mechatronic system (cf.
[0062] The occupancy set is determined based on the detected states of the detected object(s) and one or more rules associated with the detected object(s). The rules may be linked to the detected objects via the mentioned object label/name. It is thus possible to use different rules for different objects (e.g. for a pedestrian or a stop sign). When a state being determined as being included in an occupancy set does not necessarily mean that the state is physically occupied by the object. A state may also be considered as “occupied” (or considered as “forbidden” for the mechatronic system) due to rule related to a detected object. For example, when the detected object is a stop sign or a traffic light showing red, then the whole space beyond the stop sign/traffic light may be considered as occupied and included in the respective occupancy set for the stop sign/traffic light.
[0063] Detecting whether a planned nominal path violates an occupancy set is not necessarily a yes/no (true/false) decision. Alternatively, a probabilistic approach may be used. In this case detecting whether the nominal path violates an occupancy set may include calculating a probability value indicative of the probability with which the nominal path violates the respective occupancy sets or one of the relevant occupancy sets.
[0064] The method summarized above may be performed in parallel in two different channels (see
[0065] Although the invention has been illustrated and described with respect to one or more implementations, alterations and/or modifications may be made to the illustrated examples without departing from the spirit and scope of the appended claims. In particular with regard to the various functions performed by the above described components or structures (units, assemblies, devices, circuits, systems, etc.), the terms (including a reference to a “means”) used to describe such components are intended to correspond—unless otherwise indicated—to any component or structure which performs the specified function of the described component (e.g., that is functionally equivalent), even though not structurally equivalent to the disclosed structure which performs the function in the herein illustrated exemplary implementations of the invention.