Abstract:
Systems and methods are provided for controlling one or more actuators to perform a mission while complying with predetermined regulations. A system for controlling one or more actuators includes a first processor for transmitting a command to operate at least one of the actuators, a second processor having an input coupled to the first processor, and a third processor having an input coupled to the output of the second processor and an output configured to couple to the actuators. The second processor is configured to transmit a first signal based on the command, and the first signal indicates a compliant command. The third processor is configured to transmit a second signal based on the first signal, and the second signal indicates a safe command. Software partitions executing on a single processor may be substituted for the hardware processors.

Description:
FIELD OF THE INVENTION  
       [0001]     The present invention generally relates to control systems, and more particularly relates to methods and systems implementing mission functions in compliance with predetermined regulations and standards.  
       BACKGROUND OF THE INVENTION  
       [0002]     Autonomous systems (e.g., systems having some degree of self-operation) are particularly convenient for simplifying or minimizing labor intensive operations. High reliability systems, such as robotic systems, typically require a significant amount of human interaction for proper operation, and reducing the human interaction in such systems is desirable to conserve labor resources or more efficiently use labor resources, for example. To decrease the number of human operators associated with the robotic system, a certain amount of autonomy may be granted to the system for self-operation. However, autonomous systems generally implement non-deterministic processes which inherently have some unpredictability. By increasing autonomy, an absolute determination of what the system may do next becomes increasingly difficult if not impossible.  
         [0003]     Some control systems are used in programs or vehicles regulated by one or more entities, for example aircraft regulated by the Federal Aviation Administration (FAA). In these control systems, the benefit of decreased labor is attractive, but these entities may be unwilling to sacrifice determinism in the control systems in exchange for the benefit of decreased labor. By retaining a deterministic system, human control or override may be asserted in the event of an improper operation of the control system. Examples of proposed applications of autonomous systems include, but are not necessarily limited to, unmanned aircraft, space exploration including autonomous assembly in space, unmanned rovers, and autonomous rendezvous and docking of a vehicle, and the like. In the future, these autonomous systems may undergo certification by the National Aeronautics and Space Administration (NASA), one or more military branches, the FAA, and other government entities. Non-deterministic systems or systems operating non-deterministic algorithms in human environments (e.g., in the presence of one or more humans) currently lack certification by such entities.  
         [0004]     Accordingly, it is desirable to provide a method for controlling an autonomous system that complies with regulations typically associated with deterministic systems. Furthermore, other desirable features and characteristics of the present invention will become apparent from the subsequent detailed description of the invention and the appended claims, taken in conjunction with the accompanying drawings and this background of the invention.  
       BRIEF SUMMARY OF THE INVENTION  
       [0005]     Systems and methods are provided for controlling one or more actuators to perform a mission in compliance with at least one regulation and at least one standard. In an exemplary embodiment, a system for controlling one or more actuators is provided comprising a first processor configured to transmit a command to operate at least one of the one or more actuators, a second processor having an input coupled to the first processor and having an output, and a third processor having an input coupled to the output of the second processor and having an output configured to couple to the one or more actuators. The second processor is configured to transmit a first signal based on the command, and the first signal indicates a compliant command. The third processor is configured to transmit a second signal based on the first signal, and the second signal indicates a safe command.  
         [0006]     In another exemplary embodiment, a controller for operating one or more actuators is provided comprising a router configured to selectively direct one or more signals among a plurality of processing partitions, a first processing partition of the plurality of processing partitions configured to communicate with the router and further configured to produce a first signal indicating a command, a second processing partition of the plurality of processing partitions configured to communicate with the router and further configured to produce a second signal when the first signal satisfies a set of regulations, a third processing partition of the plurality of processing partitions configured to communicate with the router and further configured to transmit a third signal when the second signal satisfies a set of standards, and a fourth processing partition of the plurality of processing partitions having an input configured to communicate with the router and an output coupled to the one or more actuators. The fourth processing partition is configured to transmit the command upon receipt of the third signal.  
         [0007]     In another exemplary embodiment, a method for controlling one or more actuators to perform a mission is provided comprising the steps of producing a first signal indicating a command while performing at least a portion of the mission, producing a second signal indicating a compliant command based on the first signal when the command complies with at least one predetermined regulation, and transmitting the first signal to the one or more actuators when the second signal satisfies at least one predetermined standard indicating a safe command. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0008]     The present invention will hereinafter be described in conjunction with the following drawing figures, wherein like numerals denote like elements, and  
         [0009]      FIG. 1  is a block diagram of a control system in accordance with an exemplary embodiment of the present invention;  
         [0010]      FIG. 2  is a block diagram of a control system in accordance with another exemplary embodiment of the present invention;  
         [0011]      FIG. 3  is a block diagram of time and space processing partitions of the processor shown in  FIG. 2 ; and  
         [0012]      FIG. 4  is a flow diagram of a method for controlling one or more actuators in accordance with an exemplary embodiment of the present invention. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0013]     The following detailed description of the invention is merely exemplary in nature and is not intended to limit the invention or the application and uses of the invention. Furthermore, there is no intention to be bound by any theory presented in the preceding background of the invention or the following detailed description of the invention.  
         [0014]     In a more basic embodiment, the present invention is a control system architecture where lower-level protection algorithms command priority over higher-level commands. In an exemplary embodiment, a control system comprises a first layer for individually running mission and non-critical programs and producing commands during execution of these programs, a second layer for validating the commands generated from the first layer to meet any applicable regulations, and a third layer for validating regulation-compliant commands to human-rated standards. The mission layer includes non-deterministic algorithms. Any command that does not comply with the applicable regulations is subsumed or suppressed. Additionally, any regulation-compliant commands that do not meet the human-rated standards are subsumed or suppressed.  
         [0015]     Referring now to the drawings,  FIG. 1  is a block diagram of a control system  10  in accordance with an exemplary embodiment of the present invention. The control system  10  comprises a first processor  12 , or mission processor, configured to execute one or more mission algorithms and produce a command based on a particular mission algorithm, a second processor  14  having an input coupled to the first processor  12  and configured to execute one or more algorithms based on at least one predetermined regulation (e.g., FAA regulation, military specification, and the like), a third processor  16  having an input coupled to an output of the second processor  14  and configured to execute one or more algorithms based on at least one predetermined standard (e.g., human-rated standards, safety standards, and the like), and one or more actuators  18  coupled to an output of the third processor  16  to receive a command from the third processor  16 . In this exemplary embodiment, the three (3) layers of the control system  10  architecture are separated out into the first, second, and third processors,  12 ,  14 , and  16 , respectively. The third processor  16  transmits the command to the actuator  18  when the command complies with the predetermined regulations and satisfies the predetermined standards as determined by the second and third processors  14  and  16 , respectively. Although the control system  10  is described as controlling specific actuators  18 , the control system  10  may be applied to any apparatus or system configured to perform a desired action or task. Additionally, the mission algorithms may range in complexity, such as a single action, a series of tasks, or the accomplishment of a mission goal through multiple actions and/or tasks.  
         [0016]     Each of the processors  12 ,  14 ,  16  may additionally be coupled to one or more sensors or input devices  21 ,  22 , and  23 . Each of the sensors  21 ,  22 ,  23  provides an input signal that is received by each processor  12 ,  14 ,  16  and may be used during the execution of the respective algorithm. For example, the first processor  12  may be coupled to the sensors  21 ,  22 , and  23  and process at least one of the input signals from the sensors  21 ,  22 , and  23  during the execution of a mission algorithm, the second processor  14  may be coupled to the sensors  21 ,  22 , and  23  and process at least one of the input signals from the sensors  21 ,  22 , and  23  during the execution of an algorithm based on the regulations, and the third processor  16  may be coupled to the sensors  21 ,  22 , and  23  and process at least one of the input signals from the sensors  21 ,  22 , and  23  during execution of an algorithm based on the standards. Although three (3) sensors are described to indicate a level of redundancy, the number and type of sensors  21 ,  22 ,  23  may vary for each of the processors  12 ,  14 , and  16  and may vary for the particular mission. For example, the first processor  12  may use data from one or more of the sensors  21 ,  22 ,  23  to create a command, while the second and third processors  14  and  16  may use the same or different sensors to perform their respective functions.  
         [0017]     Based on the mission or task of the actuator, the first processor  12  originates commands that implement such mission or task. The first processor  12  includes different mission algorithms, selects the corresponding mission algorithm based on the input signals (e.g., from the sensors  21 ,  22 , and  23 ), and produces a first signal indicating the command based on the type of actuator  18  to be controlled by the control system  10  during execution of the mission algorithm. The mission algorithm may result from a variety of sources including, but not necessarily limited to, real-time commands from human operators, planned and scheduled mission tasks, real-time response to environmental conditions while achieving mission goals, and the like. The second processor  14  processes the first signal supplied from the first processor  12  via the algorithms based on the predetermined regulations to determine if the command complies with applicable regulations. Typically, the actuator  18  operates within a space that is governed by the predetermined regulations. For example, an aircraft is governed by FAA regulations. The applicable regulations considered during the execution of the algorithms by the second processor  14  vary based on the type of actuator  18  and may include predefined governmental or industry regulations and other additional regulations (e.g., customer specified requirements or performance requirements). For example, a command to fly a border surveillance aircraft autonomously may be regulated to maintain a minimum altitude and respect international borders. In this example, one or more of the sensors  21 ,  22 , and  23  detect various flight information such as altitude, global position, and the like.  
         [0018]     When the second processor  14  determines that the command, as indicated by the first signal from the first processor  12 , complies with the regulations (e.g., indicating a compliant command), the second processor  14  transmits a second signal to the third processor  16 . The third processor  16  processes the second signal via the algorithms based on the predetermined standards to determine if the command satisfies such standards. In an exemplary embodiment, the predetermined standards are selected based on preventing contact of the actuator  18  with predefined elements of the space occupied by the actuator  18  (e.g., humans, human-occupied structures, and the like) and thus improve safety. For example, the third processor  16  controls all motion of the actuator  18  to prevent contact or undesired contact of the actuator  18  with a predefined element (e.g., a human). In this example, the sensors  21 ,  22 , and  23  sense the proximity of predefined element to the actuator  18  and may measure the forces involved when the actuator  18  contacts the predefined element. The third processor  16  is additionally configured to determine the path of any motion of the actuator  18  and predict the potential contact of the actuator  18  with the human. The algorithms executed by the third processor  16  include logic rules to preclude the device from exerting forces than exceed predetermined levels (e.g., to prevent injury) or altogether avoid contact. When the third processor  16  determines that the command satisfies the predetermined standards, the third processor  16  transmits the command, produced during execution of the mission algorithm, to the actuator  18 .  
         [0019]     In this exemplary embodiment, the processors  12 ,  14 ,  16  are cascaded with the commands produced by the mission algorithms running in the first processor  12  and flowing to the second processor  14  running the compliance algorithms. Any commands that meet the applicable compliance criteria flow to the third processor  16  running the safety algorithms. In this exemplary embodiment, the third processor  16  has access to the actuator  18  and transmits commands thereto when the commands meet both the predetermined regulations and the predetermined standards.  
         [0020]      FIG. 2  is a block diagram of a control system  30  in accordance with another exemplary embodiment of the present invention, and  FIG. 3  is a block diagram of time and space processing partitions of the processor shown in  FIG. 2 . The control system  30  comprises a processor  32 , one or more actuators  34  coupled to an output of the processor  32 , and one or more sensors  36 ,  38 , and  40  coupled to an input of the processor  32 . In this exemplary embodiment, the three (3) layers of the control system architecture are implemented within a single processor  32 . The three (3) layers may also be implemented with duplicate processors having redundant processing. Using a combination of hardware, software, and operational tools of the processor  32 , the processor  32  provides a single high-throughput computational platform that may be partitioned into multiple virtual computers. For example, partitioning occurs in four (4) domains of the processor  32 : memory space, computation time, input/output (I/O) access, and backplane access. Each virtual computer provides a dedicated resource, referred to as a partition, to the associated software application.  
         [0021]     In this exemplary embodiment, the processor  32  comprises an operating system and middleware  52 , one or more partitions  54 ,  56  (e.g., mission partition  1 , . . . , mission partition n) communicating with the operating system  52  and configured to operate mission algorithms, a partition  58  communicating with the operating system  52  and configured to operate algorithms based on the predetermined regulations (e.g., compliance partition), a partition  60  configured to operate algorithms based on the predetermined standards (e.g., safety partition), and a partition  62  communicating with the operating system and having an input coupled to the sensors  36 ,  38 ,  40  and an output coupled to the actuator(s)  34 . The processor  32  may additionally include other partitions  64  that process a variety of tasks. For example, an additional partition may be included between the mission partitions  54 ,  56  and the compliance partition  58  for user commands. In this example, an emergency stop capability may be added using an additional partition.  
         [0022]     Movement of data from the sensors  36 ,  38 , and  40  to the processor  32  and from the processor  32  to the actuator  34  is controlled by the operating system  52 . Additionally, data movement between the partitions  54 ,  56 ,  58 ,  60 , and  62  is also controlled by a routing function of the operating system  52  (e.g., a routing function hosted in the middleware). Commands produced from the mission algorithms that comply with the predetermined regulations and the predetermined standards (e.g., commands that comply with regulation and safety requirements) are relayed to the actuator  34  (e.g., via the partition  62 ).  
         [0023]     By partitioning the processor  32  and controlling the movement of data with the operating system  52 , contamination of another partition&#39;s code, I/O, or data storage areas is minimized. Additionally, each partition  54 ,  56 ,  58 ,  60 , and  62  is prevented from consuming shared processor resources to the exclusion of any other partition and consuming I/O resources to the exclusion of any other partition. Furthermore, the probability of a hardware or software failure unique to a particular partition that adversely affects any other partition is minimized or altogether prevented by the partitioning and controlled movement of data with the operating system  52 . Using a single processor  32  reduces the number of computation elements and minimizes or eliminates duplicate sensor/access paths, such as the sensor paths and the actuator paths shown in  FIG. 1 .  
         [0024]      FIG. 4  is a flow diagram of a method  100  for controlling one or more actuators in accordance with an exemplary embodiment of the present invention. A first signal is produced while performing at least a portion of a mission at step  105 . The first signal represents a command. A mission algorithm may be selected based on at least one sensor input to perform the mission. A second signal based on the first signal is produced when the command complies with at least one predetermined regulation at step  110 . The second signal represents a compliant command. A compliance algorithm may be run or operated to compare the first signal with the predetermined regulation. The command is transmitted to the actuators when the second signal satisfies at least one predetermined standard indicating a safe command at step  115 . A safety algorithm may be run or operated to compare the second signal with the predetermined standard.  
         [0025]     While at least one exemplary embodiment has been presented in the foregoing detailed description of the invention, it should be appreciated that a vast number of variations exist. It should also be appreciated that the exemplary embodiment or exemplary embodiments are only examples, and are not intended to limit the scope, applicability, or configuration of the invention in any way. Rather, the foregoing detailed description will provide those skilled in the art with a convenient road map for implementing an exemplary embodiment of the invention. It being understood that various changes may be made in the function and arrangement of elements described in an exemplary embodiment without departing from the scope of the invention as set forth in the appended claims.