Integrated avionics systems replace mechanical and electro-mechanical instrument gauges historically used in aircraft with one or more electronic displays for displaying primary flight information such as attitude, altitude, heading, vertical speed, and so forth, to the pilot. Integrated avionics systems may include one or more primary flight displays (PFD) and one or more multifunction displays (MFD). A representative PFD displays primary flight and selected navigation information that is typically received from one or more sensor systems such as an attitude heading reference system (AHRS), an inertial navigation system (INS), one or more air data computers (ADC) and/or navigation sensors. A representative MFD displays information for navigation and for broad situational awareness such as navigation routes, flight plans, information about aids to navigation (including airports), moving maps, weather information, terrain and obstacle information, traffic information, engine and other aircraft systems information, flight management system (FMS) functionality, and so forth.
A controller for an integrated avionics system and a method of operation of the controller is described herein. The controller includes a keyboard (e.g., a physical keyboard) and a touch screen. Further, the controller provides hybrid functionality, such that a user can enter inputs (e.g., navigational data) into the controller via a keyboard-initiated input sequence, or via a touch screen-initiated input sequence. This hybrid functionality provides a user interface having the speed advantages associated with keyboard input entry and commonality with legacy systems, while also providing the intuitive touch screen interface.
This Summary is provided solely as an introduction to subject matter that is fully described in the Detailed Description and Drawings. The Summary should not be considered to describe essential features nor be used to determine the scope of the Claims. Moreover, it is to be understood that both the foregoing Summary and the following Detailed Description are exemplary and explanatory only and are not necessarily restrictive of the subject matter claimed.
The detailed description is described with reference to the accompanying figures. The use of the same reference numbers in different instances in the description and the figures may indicate similar or identical items.
The drawing figures do not limit the system to the specific implementations disclosed and described herein. The drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating elements of the system.
Some integrated avionics systems implemented on-board an aircraft provide one or more controllers, such as one or more avionics control and display units (CDU), which may provide a user interface (e.g., a touch interface) for allowing a pilot of the aircraft to control the functions of the primary flight displays (PFD) and/or the multifunction displays (MFD) of the avionics system and to enter navigational data into the avionics system.
Some of these currently implemented controllers provide a touch screen user interface which allows a user to touch what the user wants to do or change. For example, if the user wants to enter a new speed target value for the aircraft, the user can provide an input using a touch button labeled “speed target” displayed by the touch screen. The touch screen then prompts the user with a pop-up on-screen keyboard screen or a pop-up on-screen selection menu listing data values to use for the specified data field. Once prompted, the user can type in the new speed target value using the virtual keyboard prompt on the touch screen. The user can then touch an “enter” button displayed by the touch screen, and the system then places the new speed target value into the speed target touch button.
A second category of currently implemented controllers provide a user interface which combines a keyboard (e.g., a physical keyboard) and a display. With the second category of currently implemented controllers, the user provides an input (e.g., data, text, syntax, a new speed target value), which then appears in a virtual scratchpad on the display. The user then provides another input by pressing a line select key (LSK) on the display. The line select keys may have data fields displayed next to them. For example, if the user wants to enter a new speed target value, the user types the new speed target value using the physical keyboard and then presses the line select key next to the data field labeled “speed target”. The line select key input tells the system what the user is trying to do with the data which appears in the keyboard scratchpad or where to try to use the data which appears in the keyboard scratchpad. The controller then processes the inputs, including parsing the data which appears in the keyboard scratchpad to determine if it can do something with it.
The first category of currently implemented controllers has a number of advantages over the second category. For example, they are more intuitive and require less training to use. Further, they do not require memorization of syntax. Further, they only show keys which are needed for a current operation. Further, unlike the second category of currently implemented controllers, which are constrained by the keys on their keyboards, the first category of currently implemented controllers provides greater flexibility and makes it easier to add new features. Still further, the first category of currently implemented controllers avoids errors caused by using improper syntax. However, a number of disadvantages are associated with the first category of currently implemented controllers. For example, they may require more keystrokes from a user than the second category. Further, with the first category of currently implemented controllers, a user is unable to start typing something first, and then decide where to put it.
Given the above differences, it can be cumbersome for pilots trained on one of the above-referenced two categories of currently implemented controllers to transition to using a controller of the other category. The system and method described herein address this difficulty by providing a controller which provides hybrid functionality.
In one or more implementations described herein, the controller provides a user interface which combines a keyboard (e.g., physical keyboard) and a touch screen. This combination allows a user to initiate an input sequence using either the keyboard or the touch screen. For example, if the user wants to enter a new speed target value for the aircraft, the user can initiate an input sequence for doing so by first providing an input via the keyboard. The keyboard-provided input then appears (e.g., as text, syntax, and/or data) in a scratchpad (of either the keyboard or the touch screen). The input provided via the keyboard may include the new speed target value. The user then provides an input to the touch screen by touching a touch button associated with (e.g., labeled) speed target. Providing the input via the touch button rather than using a line select key, allows a user to bypass unnecessary (e.g., non-related) pop-ups. The controller then processes the inputs, including: checking the scratchpad and determining that there is data in the scratchpad, parsing the data in the scratchpad to determine if it can use the data (e.g., to determine if the data is valid for that touch button), and, when it determines that it can use the data (e.g., that the data corresponds to a proper input for changing the speed target value), changing the speed target value to the input value (e.g., entering the data).
Alternatively, if the user wants to enter a new speed target value for the aircraft, the user can initiate an input sequence for doing so by first providing an input via a touch button displayed on the touch screen, the touch button associated with (e.g., labeled) speed target. The controller, when processing the input, determines that there is no data in the scratchpad, then causes the touch screen to display a prompt, such as a context-specific data entry field or window, for allowing the user to enter the new speed target value. The user may then utilize the keyboard for typing the new speed target value into the data entry field or window displayed on the touch screen. The controller then processes the keyboard input, and changes the speed target value to the speed target value input by the user (e.g., the controller enters the data).
The above-referenced hybrid functionality provided by the herein described system (e.g., controller) and method, which is further discussed below, allows users trained on either of the two above-referenced currently implemented categories of controller to efficiently use the herein described controller to provide inputs. It achieves this by providing the speed advantages associated with physical keyboard entry (e.g., scratchpad/line select entry), while also providing the intuitive touch screen interface.
Example Environment
The PFDs 102 may be configured to display primary flight information, such as aircraft attitude, altitude, heading, vertical speed, and so forth. In implementations, the PFDs 102 may display primary flight information via a graphical representation of basic flight instruments such as an attitude indicator, an airspeed indicator, an altimeter, a heading indicator, a course deviation indicator, and so forth. The PFDs 102 may also display other information providing situational awareness to the pilot such as terrain information and ground proximity warning information.
As shown in
One or more avionics units 110 (e.g., a single integrated avionics unit (IAU) is illustrated) may aggregate the primary flight information from the AHRSs 106 and ADCs 108 and provide the information to the PFDs 102 via an avionics data bus 112. The avionics unit 110 may also function as a combined communications and navigation radio. For example, as shown in
The processor 210 provides processing functionality for the avionics unit 110 and may include any number of processors, micro-controllers, or other processing systems and resident or external memory for storing data and other information accessed or generated by the avionics unit 110. The processor 210 may execute one or more software programs which implement techniques described herein. The processor 210 is not limited by the materials from which it is formed or the processing mechanisms employed therein, and as such, may be implemented via semiconductor(s) and/or transistors (e.g., electronic integrated circuits (ICs)), and so forth.
The memory 212 is an example of computer-readable media that provides storage functionality to store various data associated with the operation of the avionics unit 110, such as the software programs and code segments mentioned above, or other data to instruct the processor 210 and other elements of the avionics unit 110 to perform the functionality described herein. Although a single memory 212 is shown, a wide variety of types and combinations of memory may be employed. The memory 212 may be integral with the processor 210, stand-alone memory, or a combination of both. The memory 212 may include, for example, removable and non-removable memory elements such as Random Access Memory (RAM), Read-Only Memory (ROM), Flash (e.g., Secure Digital (SD) Card, mini-SD card, micro-SD Card), magnetic, optical, Universal Serial Bus (USB) memory devices, and so forth.
The avionics data bus interface 208 furnishes functionality to enable the avionics unit 110 to communicate with one or more avionics data buses such as the avionics data bus 112. In various implementations, the avionics data bus interface 208 may include a variety of components, such as processors, memory, encoders, decoders, and so forth, and any associated software employed by these components (e.g., drivers, configuration software, etc.).
As shown in
The MFD 104 displays information describing operation of the aircraft, such as navigation routes, moving maps, engine gauges, weather radar, terrain awareness and warning systems (TAWS) warnings, traffic collision avoidance system (TCAS) warnings, airport information, and so forth, that are received from a variety of aircraft systems via the avionics data bus 112.
In implementations, the integrated avionics system 100 employs redundant sources of primary flight information to assure the availability of the information to the pilot, and to allow for cross-checking of the sources of the information. For example, the integrated avionics system 100 illustrated in
In implementations, primary flight information provided by either the first AHRS 106(1) and ADC 108(1) or the second AHRS 106(2) and ADC 108(2) may be displayed on either PFD 102(1) or 102(2), or on the MFD 104 upon determining that the primary flight information received from either AHRS 106 and ADC 108 is in error or unavailable. One or both of the PFDs 102 may also be configured to display information shown on the MFD 104 (e.g., engine gauges and navigational information), such as in the event of a failure of the MFD 104.
The integrated avionics system 100 may employ cross-checking of the primary flight information (e.g., attitude information, altitude information, etc.) to determine if the primary flight information to be furnished to either of the PFDs 102 is incorrect. In implementations, cross-checking may be accomplished through software-based automatic continual comparison of the primary flight information provided by the AHRS 106 and ADC 108. In this manner, a “miss-compare” condition can be explicitly and proactively annunciated to warn the pilot when attitude information displayed by either PFD 102 sufficiently disagrees.
The first PFD 102(1), the second PFD 102(2), and/or the MFD 104 may receive additional data aggregated by the avionics unit 110 from one or more of a plurality of systems communicatively coupled with the avionics unit 110. For example, the avionics unit 110 may be communicatively coupled with and may aggregate data received from one or more of: an Automatic Dependent Surveillance-Broadcast (ADS-B) system 114, Traffic Collision Avoidance System (TCAS) 116, and a Traffic Information Services-Broadcast (TIS-B) system 118.
One or more of the displays PFD 102(1), PFD 102(2), MFD 104 of the avionics system 100 may be one of: an LCD (Liquid Crystal Diode) display, a TFT (Thin Film Transistor) LCD display, an LEP (Light Emitting Polymer or PLED (Polymer Light Emitting Diode) display, a cathode ray tube (CRT) display and so forth, capable of displaying text and graphical information. Further, one or more of the displays PFD 102(1), PFD 102(2), MFD 104 may be backlit via a backlight such that it may be viewed in the dark or other low-light environments.
The integrated avionics system 100 may include one or more controllers 120 which communicate with the avionics data bus 112. The controller 120 may provide a user interface (e.g., a touch interface) for the pilot for controlling the functions of one or more of the displays PFD 102(1), PFD 102(2), MFD 104 and for entering navigational data into the system 100. The avionics unit 110 may be configured for aggregating data and/or operating in an operating mode selected from a plurality of user-selectable operating modes based upon inputs provided via the controller 120.
In embodiments, the controller(s) 120 may be positioned within the instrument panel so that they may be readily viewed and/or accessed by the pilot flying the aircraft. The controller 120 furnishes a general purpose pilot interface to control the aircraft's avionics. For example, the controller 120 allows the pilot to control various systems of the aircraft, such as the autopilot system, navigation systems, communication systems, engines, and so forth, via the avionics data bus 112. In implementations, the controller(s) 120 may also be used for control of the integrated avionics system 100 including operation of the PFD 102 and MFD 104. In implementations, as shown in
The processor 306 provides processing functionality for the controller 120 and may include any number of processors, micro-controllers, or other processing systems and resident or external memory for storing data and other information accessed or generated by the controller 120. The processor 306 may execute one or more software programs which implement techniques described herein. The processor 306 is not limited by the materials from which it is formed or the processing mechanisms employed therein, and as such, may be implemented via semiconductor(s) and/or transistors (e.g., electronic integrated circuits (ICs)), and so forth.
The memory 308 is an example of computer-readable media that provides storage functionality to store various data associated with the operation of the controller 120, such as the software programs and code segments mentioned above, or other data to instruct the processor 306 and other elements of the controller 120 to perform the functionality described herein. Although a single memory 308 is shown, a wide variety of types and combinations of memory may be employed. The memory 308 may be integral with the processor 306, stand-alone memory, or a combination of both. The memory 308 may include, for example, removable and non-removable memory elements such as RAM, ROM, Flash (e.g., SD Card, mini-SD card, micro-SD Card), magnetic, optical, USB memory devices, and so forth.
The avionics data bus interface 310 furnishes functionality to enable the controller 120 to communicate with one or more avionics data buses such as the avionics data bus 112. In various implementations, the avionics data bus interface 310 may include a variety of components, such as processors, memory, encoders, decoders, and so forth, and any associated software employed by these components (e.g., drivers, configuration software, etc.).
The display unit 302 displays information to the pilot of the aircraft. In implementations, the display unit 302 may comprise an LCD (Liquid Crystal Diode) display, a TFT (Thin Film Transistor) LCD display, an LEP (Light Emitting Polymer or PLED (Polymer Light Emitting Diode) display, a cathode ray tube (CRT) display, and so forth, capable of displaying text and graphical information. The display unit 302 may be backlit via a backlight such that it may be viewed in the dark or other low-light environments.
The display unit 302 may include a touch interface, such as a touch screen 304, that can detect a touch input within a specified area of the display unit 302 for entry of information and commands. In implementations, the touch screen 304 may employ one or more of a variety of technologies for detecting touch inputs. For example, the touch screen 304 may employ infrared optical imaging technologies, resistive technologies, capacitive technologies, surface acoustic wave technologies, and so forth. In implementations, the physical keyboard 312, which is electrically connected to the display unit 302, is used, in addition to the touch screen 304, for entry of data and commands. In further implementations, buttons, knobs and so forth, may be used, in addition to the touch screen 304 and keyboard 312, for entry of data and commands.
In the implementation illustrated in
As shown in
In the example implementation shown in
In the implementation of the controller 120 shown in
The scratchpad 516 displays and/or stores input text or input syntax associated with the alphanumeric keys 412 and/or function keys 414 that have been activated (e.g., pressed) to provide inputs, via the keyboard 312, to the controller 120. Further, in the implementation shown in
In the implementation of the controller 120 shown in
For example, if the user wants to enter a new speed target value for the aircraft, the user can initiate a keyboard input sequence for doing so by first providing an input via the keyboard 312, which then appears (e.g., as text, syntax, and/or data) in the scratchpad (of either the keyboard or the touch screen). The input provided via the keyboard 312 may include the new speed target value. The user can then provide an input via one of the indicia 408 (e.g., touch buttons) displayed by the GUI 406, the touch buttons corresponding to the input provided via the keyboard 312 and corresponding to the input text displayed in the scratchpad 416 of the keyboard 312. For example, the user may touch a touch button 408 labeled “speed target”. Providing the input via the touch button 408 rather than using a line select key (LSK), allows a user to bypass unnecessary/non-related pop-ups. Other example inputs include, but are not limited to, altitude, latitude/longitude, radial/distance, airways, procedures (arrivals, departures, approaches, and the like. The controller 120 then processes both the input provided via the keyboard 312 and the input provided via the touch button(s) 408 of the touch screen 304, including: checking the scratchpad (416, 516), determining that there is data (e.g., text) in the scratchpad, and parsing the text (e.g., data) displayed and/or stored in the scratchpad (416, 516) to determine if it can use the data (e.g., to determine if the data is valid for that touch button), and, when it determines that it can use the data (e.g., when it determines that the data corresponds to a proper input for changing the speed target value), changing (e.g., updating) the speed target value to the input value provided by the user (e.g., entering the data). The controller 120 parses scratchpad data in a similar manner as if the inputs were provided via LSKs.
Alternatively, if the user wants to enter a new speed target value for the aircraft, the user can perform a touch screen-initiated input sequence in which he initiates an input sequence for entering the new value by first providing an input via a touch button 408 displayed on the touch screen 304, the touch button 408 being associated with (e.g., labeled) speed target. The controller 120, processing the touch button-provided input, determines that there is no data in the scratchpad (416, 516), then causes the touch screen 304 to display a prompt, such as a context-specific data entry field or window, for allowing the user to enter the new speed target value. The user may then utilize the keyboard 312 for typing the new speed target value directly into the data entry field or the user may utilize a keyboard (input) window displayed on the touch screen 304. The controller 120 then processes the keyboard input, and changes (e.g., updates) the speed target value to the speed target value input by the user (e.g., the controller enters the data).
The above-referenced hybrid functionality provided by the herein described system allows users trained on different categories of currently-implemented controllers to efficiently use the herein described system to provide inputs. It achieves this by providing the speed advantages associated with physical keyboard entry, while also providing the intuitive touch screen interface. Of course, the speed target value example described above is for exemplary purposes and embodiments of the present invention may be utilized to input data and provide functionality associated with any features of the avionics system.
For instance, in the implementations of the controller 120 described herein, other navigational data, such as radio tuning data, may be provided (e.g., input) to the controller 120, as shown in
In embodiments in which a sequence of inputs is initiated via the touch screen 304, such as the example of
In embodiments, controls (e.g., dual concentric knobs) 404 of the controller 120 may be used to change the standby frequency of a COM that has knob focus. For example, the knobs 404 may be pressed and/or held by a user to change focus, flip-flop, or the like. In further embodiments, the controller 120 may be configured for displaying an audio/radios touch button 408 via the touch screen 304 which displays a list of radios, including Nays, High Frequencies (HFs), and/or the like. In embodiments, the audio/radios touch button may be controlled in a similar manner as the standby or active frequency button described above.
In the implementations of the controller 120 described herein, other navigational data, such as waypoint data, may be provided (e.g., input) to the controller 120, as shown in
In the implementations of the controller 120 described herein, other waypoint data, such as runway extension waypoints, may be provided (e.g., input) to the controller 120, as shown in
In the implementations of the controller 120 described herein, other waypoint data, such as along track offset waypoints, may be provided (e.g., input) to the controller 120, as shown in
In embodiments, the controller 120 is configured for supporting various syntax formats for entry into the scratchpad 416. In embodiments, for runway extension waypoints, a user may enter “APT.RUNWY/BRG/DIST” (e.g., Airport.Runway/Bearing/Distance), and may select a runway endpoint in the flight plan. In embodiments, for Vertical Navigation (VNAV) constraints, a user may enter “A” or “B” following an altitude for an above or below constraint. Further, no suffix is required for an AT constraint. Still further, a user may select an altitude touch button next to a desired waypoint. In embodiments, for VNAV offset, a user may enter “WPT/BRG/DIS” (e.g., Waypoint/Bearing/Distance) or just “WPT//DIS” (if bearing is not known), and may select a waypoint in the flight plan to create an along track offset waypoint. In embodiments, for airways, a user may enter “AirwayName.ExitWPT” if the starting point (VOR, INT) is already in the flight plan, and may select the starting point of the airway in the flight plan to load the selected airway. Further, a user may enter “StartWPT.AirwayName.ExitWPT” if the starting point is not in the flight plan, and may select an add waypoint button to add at the end or the waypoint to insert it in front of.
Generally, any of the functions described herein can be implemented using software, firmware, hardware (e.g., fixed logic circuitry), manual processing, or a combination of these implementations. The terms “module” and “functionality” as used herein generally represent software, firmware, hardware, or a combination thereof. The communication between modules in the integrated avionics system 100 of
Example Procedures
The following discussion describes procedures for data handling via the implementations of the controller 120 described herein. Aspects of the procedures may be implemented in hardware, firmware, or software, or a combination thereof. The procedures are shown as a set of blocks that specify operations performed by one or more devices and are not necessarily limited to the orders shown for performing the operations by the respective blocks. In portions of the following discussion, reference will be made to the integrated avionics system 100 of
In embodiments, the procedure 1000 further includes a step of storing the first input (Block 1004). For example, the first input can be stored in a portion of memory 308 of the controller 120 associated with a scratchpad 416 of the controller 120 and displayed via a text display area associated with the scratchpad 416. The text display area associated with the scratchpad (416 or 516) can be located on the physical keyboard 312 (as shown in
In embodiments, the procedure 1000 further includes a step of receiving a second input, the second input received via a touch button displayed by a touch screen of the controller (Block 1006). For example, the second input may be provided by touching a touch button 408 displayed by the touch screen 304. Further, the touch button 408 corresponds to the first input.
In embodiments, the procedure 1000 further includes a step of processing the received first input and the received second input (Block 1008). In embodiments, processing of the received first and second inputs by the controller 120 includes: parsing the stored first input to determine if the first input is compatible with the second input (Block 1010). For example, the controller 120 determines that text (e.g., the first input) is displayed in the scratchpad (416, 516), and it determines if the text (e.g., first input) displayed in the scratchpad (416, 516) is valid for the touch button 408 used to provide the second input (e.g., determines if the first input is compatible with the second input).
In embodiments, the procedure 1000 further includes a step of, when the first input is determined as being compatible with the second input, causing data associated with the first input to be displayed via the touch button (Block 1012). For example, when the controller 120 determines that the first input (e.g., displayed via the scratchpad (416, 516)) is valid for the touch button 408 used to provide the second input, the data (e.g., new value) associated with first input is entered and displayed in the touch button 408.
In embodiments, the procedure 1000 further includes a step of receiving a third input, the third input received via the touch button displayed by the touch screen of the controller (Block 1014).
In embodiments, the procedure 1000 further includes a step of processing the third input and, based upon the processing of the third input, causing a data entry area to be entered and displayed via the touch screen. (Block 1016). For example, during processing of the third input, the controller 120 determines that no data is in the scratchpad (416, 516) and causes a data entry area (e.g., pop-up screen, data entry field, a context-specific data entry window) associated with the third input to be displayed. In embodiments, the data entry area corresponds with (e.g., is included in) the touch button via which the third input was received.
In embodiments, the procedure 1000 further includes a step of receiving a fourth input, the fourth input being received via the physical (e.g., tangible) keyboard of the controller (Block 1018) or the touch screen. For example, after the data entry area (e.g., context-specific data window) associated with the third input is displayed, the fourth input (e.g., data, a new value) is provided via the physical keyboard 312 for entering data (e.g., text) into the data entry area of the touch button 408.
In embodiments, the procedure 1000 further includes a step of processing the fourth input and based upon said processing of the fourth input, causing data associated with the fourth input to be displayed via the touch button (Block 1020). For example, the data associated with the fourth input is displayed in the data entry area of the touch button.
Although the integrated avionics system 100 has been described with reference to example implementations illustrated in the attached drawing figures, it is noted that equivalents may be employed and substitutions made herein without departing from the scope of the invention as recited in the claims. Further, the integrated avionics system 100 and its components as illustrated and described herein are merely examples of a system and components that may be used to implement the present invention and may be replaced with other devices and components without departing from the scope of the present invention.
This application claims priority to U.S. Provisional Application No. 61/783,876 filed on Mar. 14, 2013, entitled: “Hybrid Aviation User Interface”, which is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61783876 | Mar 2013 | US |