There has long existed a need to train and test drivers on simulators to avoid the danger and expense of training and testing drivers in real cars. With the rising cost of fuel, and the inexperience of young drivers and the flagging abilities of older drivers and incompetence of some experienced drivers, testing and training in real cars poses real hazards for DMV and driving school employees.
There are disclosed herein multiple embodiments of processes and apparatus for driver assessment and training. The processes and apparatus disclosed herein are useful for training civilian drivers, military drivers of driverless vehicles, drone pilots, etc. The concepts disclosed herein are also useful for construction autopilots for driverless cars. Whenever the term “driver” is used, it is to be understood as also meaning pilot flying an unmanned aerial vehicle or a military driver driving an unmanned combat or logistics vehicle.
One embodiment of a driver assessment and training system measures for the driver under test or assessment driver position on the road, the driver's speed, his or her throttle position and steering input against normative values for each of these parameters at each of a plurality of times in reaction to events that occur during an assessment drive on a simulator through an assessment course. In one species of this embodiment, the normative values are developed by computing the inputs of a plurality of “trial drivers” who have driven the same assessment course on a simulator and whose inputs for each point in time were recorded and stored on a server.
Major components of the Driver Guidance System are shown in
The steps to start operation of the Driver Guidance System are diagrammed in
A dialog box of the Driver Guidance System Simulation Terminal Operator Panel 400 is used to control the operation of the Driver Guidance System. The Operator Panel 400 contains various context active buttons and information windows. Depending on the state of the DGS, various buttons are active or inactive. Buttons 410, 420, 440, 462, 464, 466, and 490 are activated by a left-click while mouse-over. Radio buttons 450 and 460 are activated in the same manner, as is selection box 480. Information windows 430 and 470 display information to help the DGS Operator.
A dialog box of the Driver Guidance System Data Center Scenario Selection is shown in
A preferred embodiment of hardware components/items of the Image Mitigation System of the present invention is illustrated by components in
An image projector 712 is held by a ceiling mount or other structure to project an image on a screen that is outlined by a right screen edge 720, a right top screen edge 722, a right bottom screen edge 724, and a center/right screen edge 718. The projector 712 is connected to an AC power source (120 VAC) and a video cable from the DVI-D GEFORCE GTX 670 graphics card of computer 710. The projector 712 is an InFocus IN 716, or a IN 2106 or similar DLP projector from www.infocus.com InFocus, 13190 SW 68th Parkway Suite 200, Portland, Oreg. 97223. A View Sonic HD 7820 projector and other similar projectors will also function satisfactorily. A similar projector 714 is supported by a similar ceiling mount or frame (not shown) and is directed to project an image on the left screen bounded by a left screen edge 734, a left bottom screen edge 736, a left top screen edge 732 and center/left screen edge 730. Projector 714 is connected to an AC power source and a video cable from the DVI-I output of the graphics card of the computer 710. A third similar projector (not shown to minimize confusion of the perspective view) is supported in a similar fashion to the other projectors and directed to project an image on the center screen bounded by a center top screen edge 728, a center bottom screen edge 726, the center/right screen edge 718, and the center/left screen edge 730. The third projector is connected to an AC power source and the HDMI output of the graphics card of the computer 710. An operator station 716 is used by the observer/operator 700 to provide input to a software application running in computer 710. The operator station 716 of the preferred embodiment can range from a Logitec G27 Wheel A head orientation sensor 740 is mounted to a pair of headphones 742 and is shown elevated above the head of observer/operator 700. The head orientation sensor 740 connects to computer 710 to provide the angular orientation and may also provide the position of the operator 700. The sensor 740 a Sparkfun Electronics 9 Degrees of Freedom Inertial Measurement Unit SEN-10736, at www.sparkfun.com SparkFun Electronics, 6175 Longbow Drive, Suite 200, Boulder, Colo. 80301, can be replaced or augmented (added to) by a variety of equipment including but not limited to: 1) a UM6-LT Orientation Sensor from www.pololu.com Pololu Corporation, 920 Pilot Rd., Las Vegas, Nev. 89119 2) a Polhemus Patriot Digital Tracker from www.polhemus.com Polhemus, 40 Hercules Drive, PO Box 560, Colchester, Vt. 05446, and/or 3) a reflector tripod for a TrackIR 5 head tracking equipment available from www.naturalpoint.com/trackir NaturalPoint Inc., P.O. Box 2317, Corvallis, Oreg. 97339. An operator sensor 744 is mounted above the center top screen edge 728. Operator Sensor 744 is or is similar to a Microsoft Kinect Sensor and is oriented to regard the observer/operator 700 and capture head position and orientation with its Infrared and RGB cameras.
The purpose of determining these averages and Standard Deviations is to assess Drivers Under Test against them for scoring. The process of storing these Means and Standard Deviations at each sample point that is also created for the purpose is called creation of an NPD file in the discussion below.
The preferred embodiment uses a plurality of these Normative Drivers. However, there is the possibility that all or the majority of the Normative Drivers may interpret a sign wrong such as Yield at a separate right turn lane of a stop light controlled intersection or miss a sign altogether such as No Right On Red. In such a case, the average or Mean of the Parameters and Standard Deviations would be wrong at certain points on the course. So an alternative embodiment is to have a single skilled Normative Driver such as a DMV instructor or a Highway Patrol officer drive the course and use his or her Parameters at each sample point to establish the norms against which the Drivers Under Test are scored. Similarly, it may serve purpose to have the plurality of drivers be a group of poor drivers and test a DUT that is a good driver to highlight driving techniques that separate the good driving DUT from the poor drivers.
I/O 1514 can access Normative Drives on the local machine of from the DGS Data Center. Thus, the Process 1512 collects normative drives from I/O 1514 and communicates normative drive information to a Process 1516 Get Next Reference Normal. A Reference Drive is input at an I/O 1520 Reference Drive and communicated to a Process 1522 Create Reference Normals. I/O 1520 has similar access to stored drives as I/O 1514. Reference Normals are communicated from the Process 1522 to temporary storage at an Internal Storage 1518 Reference Normals. Reference Normals and associated Normative Drive information is processed at the Process 1516 and communicated to a Process 1524 Find Intersection of Drive with Reference Normal. The Process 1524 communicates data to both Process 1526 and Internal Storage 1546. A series of Tests 1540, 1542, and 1544 control the looping through the variable extraction Processes 1524 and 1526 to extract all of the variables at all of the Reference Normals of all of the Normative Drives. Then Process 1548 calculates the normal value and standard deviation of each variable at each normal. The data is stored as a file at File 1550 and the NPD creation process is complete at Terminator 1552.
The process begins with the manual operation (1912) Select and Load VDIE File. VDIE File (1914) data is sent to the internal storage location Local VDIE Profile (1916). The manual operation of Select Event (1918) enables the manual operation of Set Parameters and Actions (1920); which enables the manual operation of Apply Changes (1922); which in turn enables the manual operation of Test Changes (1924). If manual operation Apply Changes (1922) is applied, the data flows to Local VDIE Profile (1916). The decision Save? (1926) will enable the process Write Local Profile (1932) to a file VDIE File (1934) if Yes, or to the decision Another Event? (1928). If Another Event (1928) is yes, control flows to Select Event (1918), else if no, the process is halted at Stop (1930).
Detailed Operation Driver Guidance System—DGS Data Center—DGS Registration—Simulation Terminal Start—Scenario, Study, Driver Selection—DGS Roles—DGS System Functioning while Running a Scenario
The Driver Guidance System,
Simulation Terminals present the illusion of driving a motor vehicle. Simulation Terminals (Terminals) such as 110, 120, and 130 provide a simulated vehicle operating station to capture the control manipulation of the vehicle operator (driver) and present spatial images of the environment the vehicle is transiting. The Terminals also execute Scenarios and capture the resulting drive performance data generated as the driver responds to events, i.e., the execution of Scenarios. The Terminals (110, 120, 130, and similar) capture both the actions of the driver and the resulting actions of the simulation that include the Scenario caused actions. All of this data relating to the driver and the simulation is currently captured 60 times per second. The data is transmitted through any data path, but typically the internet 140 to a server 150 for storage and analysis. The Driver Guidance System identifies and connects with various types of Simulation Terminals. The type of Terminal affects the ability of a driver to navigate Scenarios. The larger Surround Simulation Terminal 110 maintains an automobile-like, temperature-controlled environment composed of a dashboard, automobile seat, force feedback steering wheel, accelerator, pressure-sensitive brake and clutch with automatic or manual shifter. A 200 degree cylindrical display wraps around the driver for spatially accurate viewing. Angular distortion error is less than 1.5 degrees. The image displayed rate of 120 Hz is preferred to minimize image edge blurring during horizontal or vertical pan that is caused image edge stutter of common projection systems. Viewsonic 7820HD or InFocus IN116 have been found to operate satisfactorily. For a few operations of the Terminal that do not include pan or fast motion, 60 Hz will allow the Viewsonic 7820HD to operate in full native mode (1920 by 1080) and provide approximately one pixel per arc minute of image or near eye-limiting image display. Basic Simulation Terminal 120 operates on a graphics capable laptop computer with commercially available steering and pedal controls such as the Logitec G27. Current day laptops from HP, Dell with nVidia graphics systems will operate and run the Driver Guidance System at reasonable frame rates. Laptops outfitted as “gaming machines” are particularly suited for the Driver Guidance System. The Mobile Simulation Terminal 130 uses the components and systems of 110 in portable room such as common enclosed box trailers of approximately 16 feet long by 8 feet wide. There are many sources for suitable “cargo” or “toy box” trailers. Wireless connections are used to communicate with other Driver Guidance System components. Other forms of Simulation Terminals that utilize head mounted displays (not shown in
Data Center 150, typically a server securely receives, stores, analyzes, and retrieves or serves the data captured from the client systems 110, 120 and 130 as Drivers Under Test drive (or fly) the Assessment Course and react to events by the executing Scenarios. Access to the Data Center is via user/password protection. Registration with the Driver Guidance System at the Data Center is required for full benefit of the system capabilities. Sensitive data is protected under Privacy and Security Policies designed to comply with HIPAA and other confidentiality requirements. A tiered user structure supports driving studies and treatment plans that are monitored by professionals. Scenarios are the impulse or challenge that drivers are measured against. A Scenario is a driving session that is composed of Events that are short segments of driving sessions that contain various driving Elements. The Scenarios are real-time scripts that are served by the Data Center to the Terminals before each driving session of a Terminal. During the execution of a Scenario, hundreds of variables are collected in real-time for real-time assessment and/or training and they are also securely stored at the Data Center for later analysis. Scenarios are provided to assess and train particular concentrated areas of driving abilities. Using driving-relevant stimuli from the Simulation Terminal's simulation of a vehicle and 3D world environment, real-time driving responses from the driver are captured. Evaluation of abilities in the following categories: Operational Driving (Vision, Motor, Cognitive through Executive Functioning) and Tactical Driving are provided. Some Strategic driving capabilities of drivers can be derived from the Scenarios. For example, consistently driving at half the posted speed limit is a strategic decision that can be evaluated. Each category contains numerous Scenarios that will be detailed later. Scenarios are significantly automated. An audio avatar instructs the driver and asks for direction input (response from the driver) via the Terminal's controls.
The DGS Interface 160 graphical user provides a variety of functionality purposed for different users: Driver, Researcher, and DGS Operator. For the Driver, it enables analysis on personal drive data. For the DGS Operator, the Web Browser enables the execution of Scenarios and the management of Drivers and Studies. For the Researcher, it provides a variety of functions including analysis, reports and the ability to manage Studies, Groups, and team members. Researchers and Drivers can also replay and view captured drive performance using a DVR-like player that plays the entire drive and highlights critical events and dissects details in slow or stop motion. The Data Center 150 also enables researchers to compute and display analyzed data in a variety of formats for web viewing or file download. Researchers can base their analysis on baseline or from normalized data from a variety of sources.
A preferred embodiment of hardware components of the Data Center of the present invention is illustrated by components in Fig XXX. The figure represents a Server xx0, an Internet Router xx1, a software Firewall xx2, a DSL Modem xx3 and a representation of the Internet xx4. The Server xx0 is connected to Internet xx4 via the Server xx0 on-board Ethernet adapter to the Internet Router xx1. The Internet Router xx1 is connected to the DSL Modem xx3 and to the Internet xx4.
The Server xx0 of the preferred embodiment consists of a Linux operating system using Linux kernel version 3.2.0-48 Single Multiprocessor from Ubuntu, a motherboard Asus P5N-D from www.asus.com Asus Computer International, 800 Corporate Way, Fremont Calif. 94539, a Phoenix Technologies version ASUS P5N-D ACPI BIOS Revision 0601, an Intel Core2 Quad CPU Q9550 processor running at 2.83 GHz, 4 gigabytes of 800 MHz DDR2 main memory and 1 Tera-bytes of RAID 1 hard drives.
The Server xx0 runs several applications that facilitate data connections to all Driver Guidance System (DGS) Simulation Terminals located externally on the Internet, and also serves as a Web Server.
The Server xx0 operating as a Web Server runs several layers of applications to present various web site pages to registered users. The base web server application is Apache version 2.2.22 built with no threading but with various forking from the Apache HTTP Server Project www.apache.org. Both PHP version 5.3.10-1ubuntu3.7 from www.php.net, and Drupal version 7.19 from www.drupal.org are called by the Apache server when needed at various times depending on the request by users. All Internet connections to the web server are routed through a Secure Sockets Layer (SSL) that is validated by an SSL Certificate operated by Go Daddy.com at: www.godaddy.com.
A preferred embodiment of hardware components of the connection between the DGS Data Center Server and DGS Simulation Terminals is illustrated by components in Fig YYY. The Data Connection between the Server yy0 and any DGS Simulation Terminal yy1 uses a Public-key cryptography system. Data connections to DGS Terminals use the Secure Shell (SSH) Secure Copy protocol (SCP) to securely copy data to and from DGS Simulation Terminals. Each DGS Terminal contains one private key yy2 and the Server xx0 maintains all DGS Terminal public keys yy3. When needed, the DGS Terminal yy1 will contact the Server yy0 to receive or send secure data. Data sent from the Server yy0 to the DGS Simulation Terminal yy1 are scenarios and utility data. Data sent from the DGS Simulation Terminal yy1 to the Server yy0 is utility data and captured drive data.
An application, called DataConvert, runs on the Server xx0 as a service to convert the captured drive data that has been sent from the DGS Terminal yy1 to the Server yy0 and stores the data in a MySQL database system. Each institution that connects their DGS Terminal(s) to the Data Center has their own database. DataConvert interprets the drive data that had been captured to store in the institution's database. The database structure of each institution is identical, only the data is different. There are two major uses of the database tables: 1) to store captured drive data and 2) to maintain associated data about the drives such as Studies, Scenario names and approved accesses for users.
Each institution's database consists of 14 tables as follows:
Custom PHP modules are used to provide a variety of services for registered users such as maintaining driver profiles, administering scenarios and analyzing captured drive data. Custom PHP modules use Drupal, a Content Management System, to provide functionality to the user. Six types of users roles have specific access to the website usage and access to data. The users and their descriptions are:
The application of the DGS is based upon Roles. Roles include permissions that enable data security and privacy as well as functionality. Each Role and associated functions are described below.
The DGS Operator typically administers Scenarios to Drivers. Administering a DGS Session involves 1) starting the hardware and software and then 2) initiating a DGS Session. The DGS Operator controls the Driver's testing on the Simulation Terminal by the use of the DGS Operator Panel shown in
The DGS Operator selects a Scenario, a Study and a Driver and optionally a Group to test a Driver.
The Investigator Role allows access to the Investigator's drive data for each driver. Specifically, the Investigator can view All Drives of all Drivers in all studies, 2) manage the study names, and view the Operational Report and Tactical Reports of a driver per study.
When selected, the All Drives web page will be presented to the Investigator. Each row identifies one Scenario drive.
Each column contains particular information or action per scenario. Those are:
Username: the username/login name of the Driver
Group: If a “Group” was selected during administering the drive, it will be shown.
The Investigator may also manage Studies, Groups, Drivers, Scenarios.
The Investigator may also display current drive outcome variables of a selected Driver within a selected Study for the latest Operational Scenario of a selected Driver. This analysis shows the
The Investigator can obtain the same analysis data in Microsoft Excel format, suitable for downloading.
The Driver Role may view analysis of personal drives. Each Scenario can be selected to display an analysis of the particular scenario. The functionality is similar to the All Drives functionality for the Investigator, but limited to the Driver's data only.
Generally speaking, a DGS Operator will administer a variety of scenarios to a driver or drivers. The data is captured by the DGS Terminal and securely sent to the Data Center. Investigators and Clinicians or the drivers themselves can later perform a variety of analysis functions on the data to view the data through various “lens” provided by the website.
An individual wishing to operate many of the more useful and unique features of the Driver Guidance System must first register. Anonymous operation of the DGS provides only partial functionality.
The Driver Guidance System assesses and trains driving ability by recording and analyzing how a driver performs during various driving Scenarios. Scenarios are programmed computer instructions that target and assess particular characteristics of driving abilities. They operate within the DGS-ST application on a Simulation Terminal. Scenarios, along with the driving-relevant stimuli from the Simulation Terminal, assess and train Drivers in concentrated areas of driving in the following categories: Vision, Motor, Cognitive including Executive Functioning and Tactical Driving.
When a driving session is started on the DGS, a Simulation Terminal connects to the Data Center and the user can identify a registered Driver, Scenario, Study or Syllabus, plus a few other characteristics.
A Research Assistant or Operator (DGS OPERATOR) administers a Scenario from the Control Monitor on the Simulation Terminal using two applications:
Then upon downloading from the Data Center to the Simulation Terminal an Info File containing the information, the Scenario is ready to run. The process starts when a user or DGS Operator runs the DGS application at 310 in
Activating button 410 on the Operator Panel requests connection to the DGS Interface as shown in
The first step therein is to select the Study or Syllabus at drop-down box 510. Any Grouping of the drive is selected at 520. A registered Driver is selected at 530. A Scenario is chosen at 540 and a decision to use the drive data in a normative collection is determined by check box 550. Data about the selections are packaged into an Info File 350 that is communicated back to the Simulation Terminal when the Download button 560 is operated per 360.
The DGS application running on the Simulation Terminal will The Operator Panel shown in
If a Scenario contains a practice session, either the full Scenario with practice session or just the Scenario can be selected with radio buttons 450 and 460 in step 380.
During the execution of a Scenario, the DGS OPERATOR may select “Abort” 466 from the Operator Panel to abort the Scenario for a variety of reasons. The DGS OPERATOR will be shown a “Scenario Abort” dialog box to select the reason for the abort. Performance Drive data is uploaded to the Data Center whether the Scenario was aborted or completed.
With reference to
In a typical five to fifteen minute Scenario, there could be five to fifty reset points that could be used. Upon restart this allows the driver to resume normal speed before the activities and challenges of the Scenarios resume. Initial Conditions Process 632 communicates with a Vehicle Dynamics Model (VDM) 634. The Vehicle Dynamics Model is a free body modeling process which calculates the position, velocities and accelerations and orientation of the vehicle in relation to inputs such as the throttle, steering, braking inputs and the terrain across which the vehicle is moving along with the weight of the vehicle and other factors such as the coefficient of friction of the tires on the surface upon which the are rolling and the tire patch, i.e., how much tire is actually in contact with the road, and other specific characteristics of the tire model. Such characteristics include braking traction force, friction circles, lateral force, i.e. how many pounds of lateral force the tire can produce to resist a skid given the slip angle and the cornering stiffness and the breakaway point, how many Gs the tire can withstand on the skid pad before slipping, etc. Such Vehicle Dynamic Models are known, and at least one embodiment thereof was used in the Hard Drivin' arcade video game marketed by Atari Games in 1988, which is hereby incorporated by reference. Vehicle Dynamics Models are also in wide use in Flight Simulators and are well known. Pioneering work on Vehicle Dynamics Models was done by William Milliken in the 1950s and is publicly available. One publication that describes some of this work on race cars was “Race Car Vehicle Dynamics” by William and Doug Milliken, published in 1995, which is hereby incorporated by reference. This is the seminal work in this area.
The VDM 634 receives vehicle control input from the driver from a manual input process 640. As a driver operates the controls, they are read by process 640 and communicated to the VDM 634 in a continuous repeating cycle as time progresses. The faster this cycle, the better for the fidelity of the simulation. Five hundred times a second, 2 ms (two millisecond) delta time between iterations is used but a 1 ms or one thousand times a second would improve operation. As the VDM 634 repeatedly receives control input from process 640, the position and orientation of the driver's vehicle change over time. The amount of change is subject to the driver's steering, throttle, brake, and other control manipulation as they affect the calculations over time within the VDM 634. The driver vehicle position and orientation, is communicated to an Image Generator 636. Data from the Road Database 620 (connection not shown) and other databases (not shown) containing the position and orientation of objects in the simulated environment and the structure and external visual texture of the objects is used to generate an image of the environment from the position and orientation of the driver's vehicle by Image Generator 636. That image is communicated to a Display 638. Image displays like Display 638 of dynamic simulated environments that subtend significant visual angles are known to cause motion sickness like symptoms in observers of the images. This causes observers to be unable to accept the use of technology that is dependent on such displays. The percentage of the population that is adversely affected by a particular display can be 50% or higher. Image Generator 636 can accommodate a larger group of observers, meaning drivers of the DGS, by mitigating the ability of the display to cause the adverse reactions. Image mitigation techniques are explained later in this disclosure. As stated above about the initialization process applying to all moveable or variable objects, the VDM 634 or other time based modeling iterates and updates the position of any associated objects at the same time the driver's vehicle is updated. Faster image display rates improve the realism of the simulated environment. The more dynamic a Scenario, the more important a faster image update rate becomes. Depending on the ability of hardware used to operate the DGS, a update rates from 60 Hz to 120 Hz are used. VDM 634 also communicates position and orientation of the driver vehicle and other moving objects back to the Script Sequencer 630. The information is used by the Sequencer 630 to interactively step through the script. As the driver progresses along the road the Sequencer 630 will trigger or initiate elements of interaction such as but not limited to voice instructions to the driver, traffic car interaction, pedestrian interaction, and other elements of the Scenario script. Many of these interacting objects will have an initial position, orientation, and velocity that Process 632 will pass to the VDM 634 for modeling over time. Then VDM 634 will communicate new information to Sequencer 630 to repeat the script sequencing process. Additionally, the Script Sequencer 630 tests for conditions that merit resetting the execution of a script to one of the reset points. If the driver does not follow the instructions of the Scenario script and leaves the path they are reset back to a point that will allow successful completion. All of the moving objects are initialized to that point and the Scenario script execution continues. As the Scenario is progressing, the VDM 634 is driving through the road course per instructions, position and orientation data of all moving objects is captured in a data storage Drive Data 650. This data is used real-time by other processes for assessment and training interaction with the driver and it is also stored. Drive Data 650 is communicated via Connector to processes labeled NVC, Rules, VDIE, FIG. 17,21,22 that are explained later. Additionally, Drive Data 650 is captured in a RCR Data Capture File 654. The captured drive data File 654 is communicated to the DGS Data Center for analysis and use.
Operation of the simulator sickness Mitigation methods and apparatus are explained with reference to a group of figures labeled
Hardware components of an immersive virtual reality operator/observer station for simulation systems that benefit from Mitigation technology are shown in
To help the understanding of the Mitigation objects and their purpose, the hypothesis for reducing simulation sickness is explained. Starting from the fact that few if any individuals could be named that developed discomfort while watching “normal” television. That is, the television could be displaying a first person view of action packed racing, the point is very few if anybody complains of viewing difficulties. I also noticed that when the same content, that did not cause trouble on a television, was viewed in a movie theater, many people elected to sit away from the screen. It seemed that many of the same group that moved to the back of the theater seating were also in the group of lesser fans of IMAX movies. Thus, the initial hypothesis was that if the visual stimulation of the simulated environment could be reduced to the level accepted by the back of the room theater goers while still delivering the necessary information of the simulation then the vast majority of the population could accept such simulator based assessment and training. The first method for reduction of the stimulation that comes to mind is reducing the FOV of the simulated image. This method is even advocated by some researchers in the field of simulation sickness. Handbook of Driving Simulation for Engineering, Medicine, and Psychology) But reducing the field-of-view (FOV) to that of normal television viewing (15 degrees subtended or less) is not usually helpful when building high fidelity immersive driving or flight game, assessment, or training systems. Looking deeper into how the television, movies, and IMAX images were and were not accepted provides further insight. Generally, the area observed by our left eye is 120 degree horizontal by 80 degrees vertical with the center of focus 30 degrees to the left of the right edge. Our right eye observes a similar area on the right side. Thus we observe 180 degree of horizontal image with at least one of our eyes while both eyes overlap the center 60 degrees (+/−30 degrees) forward of our face. Our high-resolution central or foveal vision of each eye also overlaps in the center of the 60 degree overlap for a few (+/−2) degrees. This is a much smaller area than even television viewing indicating that the vast majority of the population can accept simulation images that fully stimulate the area of central vision. It also indicates that partial peripheral stimulation is also accepted. Believing that a very large majority of the population could accept simulation images with a relatively small area of “full” peripheral stimulation, I surmised that a larger area of peripheral vision would also be accepted if the level of stimulation could be reduced. Taking from my personal experience with headaches and associated light sensitivity I noticed that both cupping my hands around my eyes to limit the amount of light to that of a small area and also wearing sunglasses to limit the overall light provided relief. In the case of this invention the goal in not to limit the number of photons entering the eye but to limit the relative percentage of photons forming the moving image that induces simulation sickness. The hypothesis was thus extended to developing methods to mitigate or de-saturate peripheral stimulation while delivering the simulation information and content. The term “de-saturate” is used to indicate that a portion of the photons, up to 100%, of the combined image is composed of photons that do not induce simulation sickness. The goal was to find methods to reduce the overall peripheral stimulation of the simulation image while maintaining the simulation related image information. It was hoped that by the time the peripheral image was de-saturated and fully extended to the 180 degrees perceived, that the elements of the simulation image still functioned to provide information necessary for the majority of the simulation operation. Stated in terms of square degrees of area, the challenge was to reduce the saturation of the peripheral stimulation such that the ability to accept approximately 500 to 1000 sq. degrees—saturated—could be stretched to accept approximately 14,000 sq. degrees—de-saturated. To that end, a main element of the Mitigation is a screen 780 of
In addition to utility with purely simulated environments, the mitigation technology is useful to alleviate related discomforts experienced by operators of remote vehicles. The wide-field images from remotely operated vehicles cause a similar discomfort that can be debilitating. When an image is captured from the perspective of a remote vehicle driving a road, it manifests on an operator display(s) as shown by the components of the image in
A method for generating the virtual image with simulation sickness mitigation depicted in
The specific methods used to create images of three-dimensional 3D) environments depend on the specific graphic engine used. Open Scene Graph, Direct X, and Unity are a few examples of graphics engines or image generators (IG's) as they are often called. The DGS Simulation Terminal application currently uses Direct X for image generation. This description is written at the level above the specific IG details and the practitioner building the IG will need to apply the standard methods of their specific IG to add the SMO to their system.
Creation and display of the SMO in the 3D environment begins at a Terminator 810 Start. When the DGS Simulation Terminal application starts a scenario, the virtual world image generation starts at Terminator 810. Scenarios or driving sessions in the DGS start at different “physical” locations in the virtual driving environment. We have named our environment “SmallTown” and depending on the purpose of the scenario's assessment or training the starting position varies. Thus, an initial position and orientation in the SmallTown virtual driving environment will be delivered by the scenario. A Process 820 Determine Position & Orientation of Viewpoints captures the scenario initial conditions and starts the process of generating the virtual images of the SmallTown roads and other structures. The DGS Simulation Terminal application operates on a series of platforms as noted in
A Connector 850 Current Position and Orientation of Sickness Mitigation Object from
The original SMO was a semi-transparent half cylinder with a central hole that allowed the center of the SmallTown image to be unaffected by the object. The preferred embodiment uses a parametrically generated SMO that allows the edges of the center hole to be softened and feathered over a range of degrees before reaching the full obscuration of the SMO screen. After the SmallTown image of World Objects has been constructed with the SMO alpha blended to the frame buffer, Process 888 passes to Process 860 for the addition of the Motion Objects that will not be screened by the SMO as noted above. The alpha blending process mixes the color of a pixel from the SMO object and the SmallTown image and effectively reduces the motion saturation of the dynamic 3D image. The screening affects depicted in
Panoramic video streams from remote vehicles displayed on surround screens are also highly effective at inducing simulation sickness. Operators can benefit from the SMO applied to the screens. In this case the output of Process 836 would switch from the virtual world to the remote video world. The SMO is either fixed direction or tracks the operator's head and is dynamic in screen density dependant on the vehicle motion as in the virtual world use. Security video motion isolation technology isolates components of the video stream highlight by displaying on top of or in cutouts of the screen.
As the DGS Simulation Terminal's graphics application starts up, a Terminator 910 Start is run during initiation. An I/O 920 SMO Overlay Initial Definition reads the initial control and definition information regarding the application and conditions for use of the mitigation parameters including the SMO initial conditions from a File 930 Overlay Initial Conditions. I/O 920 passes the information to a Process 940 SMO Overlay Dynamic Definition. Process 940 assembles a control instruction consisting of the initial conditions of the SMO and other mitigation control information such as whether the SMO is guided by a tracking device such as the devices shown in
In the preferred embodiment, a Microsoft Kinect 744 is connected to a Process 1050 Microsoft Kinect & similar devices that uses Microsoft API's to track the head of the driver/operator. Similarly, an AHRS 740 is connected to a Process 1010 Attitude Heading Reference System to track the head of the driver. Other tracking devices connect to associated processes and communicate the head position and/or orientation of the driver to a Process 1000 SMO Position & Orientation Calculation Calibration & Stream. The other tracking processes are a Process 1020 Polhemus Patriot, a Process 1030 Track IR, and a Process 1040 Observer/Operator selection. The purpose of all of the Processes 1010, 1020, 1030, 1040, and, 1050 is to interface with their appropriate input systems and communicate head position that is then estimated to be the direction of regard of the driver/etc. and communicate with Process 1000. Process 1000 integrates the information of multiple inputs to improve resolution and reduce dropouts (due to light levels for example) and extend ranges of the sensors. Process 1000 then communicates the best estimate of the direction of regard and/or position of regard to the image generation process through a Connector 1060 SMO Position & Orientation to
A Process 1100 Simulation Dynamics Command reads input from manually operated controls and from programmatically derived controls instructions for the control of the SMO overlay. For some systems the amount of screening necessary to reduce simulation sickness varies at different times. For example, in a driving simulation when the driver is stopped at a traffic light or sign the image is relatively stationary and the image is less provocative of simulation sickness. This is also a time when wide angle viewing of the roadway is important; when deciding when to make a turn especially a left turn into cross-traffic from a stop sign. For these reasons the DGS increases the transparency of the SMO to 100% transparent over a short period of time (approximately 0.5 sec.) when the vehicle stops. This allows the driver unmitigated view of the complete surround image and as a result approximately 200 degrees of a fully saturated image of the roadway can be viewed by all drivers while operating the simulation regardless of their susceptibility to simulation sickness. As soon as the vehicle starts moving again, the SMO transparency is reduced over a short period of time to normal operating levels. A process 1110 Vehicle Dynamics Parameters is responsible for passing these SMO transparency commands to a Process 1100 Simulation Dynamics Command. The size of the SMO could also have been modified but that adds a level of movement or visual flow that is contrary to reducing simulation sickness and the preferred embodiment uses only transparency changes. A Process 1130 Scenario Mitigation Parameters allows Scenarios to control any or all of the SMO construction or position and orientation parameters. In Operational Scenarios discussed below, a peripheral vision test needs a wide field of view presented to the driver to properly test their peripheral vision. During the important moments of the test for example, the Peripheral Vision Operational Scenario can increase the transparency of the SMO or open up the Central Boundary 786 etc. to best administer the test. Process 1130 communicates these changes to the SMO through Process 1100. A Process 1120 Run-time dialog system operator control and a Process 1140 Observer/Operator communicate SMO control from
SMO Dialog 1200 controls “static” parameters of the object. Mitigation Switch 1210 turns the SMO on and off. A Use Adaptation Scale 1222 switch activates or deactivates the Adaptation Scale 1240 slider
Top of the cloud gray as opposed to the bottom of the cloud gray
For many training and some assessment applications of the DGS the exact same presentation of the virtual world from user to user is not required. In this case, an educated user or driver or the test giver could reduce the mitigation relative to the ability of the DGS user to tolerate dynamic surround virtual images. A Mitigation Control 1300 allows the DGS user to set the amount of reduction of motion saturation that the DGS surround image delivers to the person's visual system on a scale linked to real world experiences. The idea is to allow the user to operate the DGS at a point that is comfortable to them. If a person has no problem with simulation sickness or motion sickness symptoms in the front row of an action movie (with their eyes wide open) then, they likely need little occlusion by the SMO for comfort. They could expect to operate the DGS with a Rotating Selector 1310 of the Mitigation Control pointed to the Movies Front 1305 position. On the other hand, if a person has difficulty with action movies in theaters unless sitting in the back, their dial position will be closer to position of the Selector 1310 shown in
The operation of the Mitigation Control 1300 is fundamentally the same for head mounted displays but with modified central and transition FOV angles because of the increased ability of these display systems to induce simulation sickness.
The make up of a Scenario is shown by 1400 Scenario Composition in
The DGS uses a series of Operational and Tactical Scenarios to assess and train driving.
Vision, Motor, Cognitive and Executive Functioning Scenarios are known as “Operational Scenarios” These assess certain abilities of the driver: Vision Scenarios test the physical visual system; Motor Scenarios test physical motor abilities such as arm and hand, and foot and leg coordination; Cognitive Scenarios test cognition abilities such as attention and decision making; and Executive Functioning Scenarios test executive functions such as working memory, problem solving, task switching and mental flexibility.
Operational Scenarios are based on “trials”—individual tests within the scenario. Each trial is repeated to determine the driver's best score. Once the best score is determined, the Scenario ends.
Each Scenario has specific instructions that are given by an automated audio avatar and by the Research Assistant. Details follow for each Scenario.
The goal of the test is to determine the Driver's visual acuity by testing with an electronic sign that will present a group of three letters at smaller and smaller sizes. If the Driver can read 2 of the 3 letters correctly in their appropriate order, another pairing will be presented at a smaller size. If the Driver cannot read 2 of the 3 letters a different pairing will be tried at this size. If they fail once more, the last image size they could read successfully is logged as their visual acuity.
The goal of the Contrast Sensitivity test is to determine the Driver's contrast sensitivity by testing with an electronic sign that will present a group of three letters that will become progressively brighter shades of gray on a white background. If the Driver can read 2 of the 3 letters correctly in their appropriate order, another pairing will be presented at the next level of difficulty. If the Driver cannot read 2 of the 3 letters a different pairing will be presented. If they fail once more, the last image contrast value they could read successfully is logged as their contrast sensitivity
The goal of the test is to assess the Driver's dynamic vision by testing with an electronic sign that will present a group of three scrolling letters at a progressively faster rate. If the Driver can read 2 of the 3 letters correctly in their appropriate order, another pairing will be presented at the next level of difficulty. If the Driver cannot read 2 of the 3 letters, a different pairing will be tried at the same speed. If they fail once more, the last scrolling speed they could read successfully is logged as their dynamic vision value.
The goal of the test is to assess the Driver's visual information processing speed by testing with an electronic sign that will flash two letters for progressively shorter durations of time. Signs are spaced along the Operational Test road every 300 ft so that the Driver arrives at a sign every 6 seconds traveling 35 MPH. If a Driver can read the letters correctly another set of letters will be presented at the next level of difficulty. If the Driver cannot read the letters a different letter set will be displayed on the next sign for the same duration. If they fail once more, the last duration they could read successfully is logged as their visual information processing speed
The goal of the test is to determine the Driver's peripheral vision by directing the Driver's visual attention forward with one task and determining when they perceive another car in their peripheral vision. The operator will click a button on the DGS Operator Panel, or press a cursor key, to log the Driver's response. This must occur within three seconds of the brakes first being illuminated or the car penetrating to the furthest determined distance for it to be logged as a “hit”. If the Driver does not indicate that they saw at least 2 of the 3 cars per side and degree of penetration, they do not pass for that trial. A score for this test will show the furthest a Driver can see on either side, and their total combined field of view. There will be a total of 27 trials. The Driver will tap the brake when they see the brake lights ahead.
The goal of the test is to measure the ability of the Driver to brake in response to brake lights. This will be measured at speeds of up to 35 mph and coming to a stop. For a Driver to be successful they will have to be able to apply adequate leg pressure and make coordinated movements between the two foot pedals.
The goal of the test is to measure the ability of the Driver to avoid objects in the road, potholes in this case. Potholes will be placed at certain places on the road. During the test, the Driver must align his car behind the lead car with the aid of a red vertical alignment bar The Driver must avoid the pothole and then realign his car behind the lead car. The car will be traveling at a controlled speed so these potholes are reached at a set cadence. If the Driver does not steer to avoid a pothole they will feel some motion in the steering and hear a pothole sound effect.
This test is roughly modeled after the Useful Field of view test for assessing divided attention. The Driver will need to attend to a signal ahead of them, while monitoring for the presence of secondary signals in their peripheral field of view. This will be measured at a speed of 35 mph. This presentation will occur at shorter and shorter intervals similar to the Visual Information Processing Speed Test.
This test is in all ways similar to test 1, with the addition of “distracter” signs.
Follow the instructions for the ‘Divided Attention’ scenario above. The voice instructions are slightly modified to account for the additional ‘distracter signs’. During actual trials, only one car will appear as in the above scenario, but signs will display in the empty car positions (positions A thru G).
The Driver will be exposed to three different types of cars, all of which look exactly the same. Cars on the left side will be stopped in the median and cars on the right side will be stopped up on the curb.
The goal of the test is to measure the ability of the Driver's dual processing ability. They will be instructed to depress the brake in response to a lead car's brake lights and steer away from behind both gray and black potholes. The Driver will have control of steering and will be guided by an alignment bar.
The goal of the test is to measure the ability of the Driver to avoid objects in the road, black potholes in this case. Black and gray potholes will be placed at certain places on the Operational Test Road. The car will be traveling at a controlled speed so these potholes are reached at a set cadence. If the Driver does not steer to avoid a black pothole they will feel some motion in the steering and hear a pothole sound effect.
The Driver will follow a car which drives over potholes and its brake lights will periodically illuminate for either a long or a short period. Gray potholes are filled and are safe to drive over. However, the Driver must steer around from the black potholes. Whenever the lead car's brake lights illuminate they must remove their foot from the accelerator. However, unlike previous test, the Driver should only press the brake pedal if the lead car's brake lights stay on for a long time and the lead car starts to slow down.
The goal of the test is to measure the ability of the Driver's memory when recalling road signs. They will be instructed to maintain the accelerator to avoid tones, depress the brake in response to a lead car's long brake lights and steer away from behind black potholes. The Driver is also instructed to not avoid filled (gray) potholes and not depress the brake on short brake lights. The Driver will have control of Steering and will be guided by an alignment bar. At the end of each trial the Driver must recall the signs in order by moving the steering wheel to the sign and depressing the accelerator.
Scenario: A series of trials to assess the capabilities of a Driver in certain characteristics of driving a motor vehicle. Also known as a “Test”.
Trial: Operational Scenarios are composed of a series of Trials. Depending on the scenario, each trial is usually more difficult than the last.
Static Acuity: The goal of the test is to determine the Driver's visual acuity by testing with an electronic sign that will present a group of three letters at smaller and smaller sizes. If the Driver can read 2 of the 3 letters correctly in their appropriate order, another pairing will be presented at a smaller size. If the Driver cannot read 2 of the 3 letters a different pairing will be tried at this size. If they fail once more, the last image size they could read successfully is logged as their visual acuity. This test is modeled after the Snellen eye-chart.
Contrast Sensitivity: The goal of the Contrast Sensitivity test is to determine the Driver's contrast sensitivity by testing with an electronic sign that will present a group of three letters that will become progressively brighter shades of gray on a white background. If the Driver can read 2 of the 3 letters correctly in their appropriate order, another pairing will be presented at the next level of difficulty. If the Driver cannot read 2 of the 3 letters a different pairing will be presented. If they fail once more, the last image contrast value they could read successfully is logged as their contrast sensitivity. Modeled after the Pelli-Robson test, where the contrast is decreased by a factor of 0.707 for successive trials
Dynamic Vision: The goal of the test is to assess the Driver's dynamic vision by testing with an electronic sign that will present a group of three scrolling letters at a progressively faster rate. If the Driver can read 2 of the 3 letters correctly in their appropriate order, another pairing will be presented at the next level of difficulty. If the Driver cannot read 2 of the 3 letters, a different pairing will be tried at the same speed. If they fail once more, the last scrolling speed they could read successfully is logged as their dynamic vision value.
Information Processing Speed: The goal of the test is to assess the Driver's visual information processing speed by testing with an electronic sign that will flash two letters for progressively shorter durations of time. Signs are spaced along the Operational Test road every 300 ft so that the Driver arrives at a sign every 6 seconds traveling 35 MPH. If a Driver can read the letters correctly another set of letters will be presented at the next level of difficulty. If the Driver cannot read the letters a different letter set will be displayed on the next sign for the same duration. If they fail once more, the last duration they could read successfully is logged as their visual information processing speed. This test is modeled after the UFOV Central Information Processing Speed Test.
Peripheral: The goal of the test is to determine the Driver's peripheral vision by directing the Driver's visual attention forward with one task and determining when they perceive another car in their peripheral vision. If the Driver does not indicate that they saw at least 2 of the 3 cars per side and degree of penetration, they do not pass for that trial. A score for this test will show the furthest a Driver can see on either side, and their total combined field of view. There will be a total of 27 trials. The Driver must tap the brake when they see the brake lights ahead to keep them looking forward.
Foot/Leg: The goal of the test is to measure the ability of the Driver to brake in response to brake lights. This will be measured at speeds of up to 35 mph and coming to a stop. For a Driver to be successful they will have to be able to apply adequate leg pressure and make coordinated movements between the two foot pedals. No steering inputs will be used in this scenario. The Driver's car will travel straight down the middle lane.
Hand/Arm: The goal of the test is to measure the ability of the Driver to avoid all objects in the road, potholes in this case. They will be both filled (gray) and open (black) potholes. Potholes will be placed at certain places on the road. During the test, the Driver must align his car behind the lead car with the aid of a vertical alignment bar The Driver must avoid the pothole and then realign his car behind the lead car. The car will be traveling at a controlled speed so these potholes are reached at a set cadence. If the Driver does not steer to avoid a pothole they will feel some motion in the steering and hear a pothole sound effect.
Divided Attention: This test is roughly modeled after the Useful Field of view test for assessing divided attention. The Driver will need to attend to a signal ahead of them, while monitoring for the presence of secondary signals in their peripheral field of view. This will be measured at a speed of 35 mph. This presentation will occur at shorter and shorter intervals similar to the Visual Information Processing Speed Test. The final score is the shortest interval of displaying the signals where the driver was correct for two times in a row.
Divided/Selective Attention: This test is in all ways similar to Divided Attention, with the addition of “distracter” signs. The distracter signs are meant to distract the Driver from viewing the secondary signals in their peripheral field of view by filling the Driver's field of view with clutter.
Hazard Detection: The Driver will be exposed to three different types of cars: Hazardous, Non-Hazardous and Stationary. All cars look exactly the same. Cars on the left side will be stopped in the median and cars on the right side will be stopped up on the curb. Some cars will move out and be far enough away that there will be no possible collision with the Driver's car. Some cars will move slightly and then stop. Some cars will move in front of the Driver's car and the Driver must avoid collision.
Dual Processing: The goal of the test is to measure the ability of the Driver's dual processing ability. They will be instructed to depress the brake in response to a lead car's brake lights and steer away from behind both gray and black potholes. Driver will have control of Steering and must align the alignment bar on the lead car's license plate. This confirms that the driver will stay directly behind the lead car.
Response Inhibition: The Driver will follow a car which drives over potholes and its brake lights will periodically illuminate for either a long or a short period. Gray potholes are filled and are safe to drive over. However, the Driver must steer around from the black potholes. Whenever the lead car's brake lights illuminate they must remove their foot from the accelerator. However, unlike previous test, the Driver should only press the brake pedal if the lead car's brake lights stay on for a long time and the lead car starts to slow down that would result in a collision.
Working Memory: The goal of the test is to measure the ability of the Driver's memory when recalling road signs. They will be instructed to maintain the accelerator to avoid tones, depress the brake in response to a lead car's long brake lights and steer away from behind black potholes. The Driver is also instructed to not avoid filled (gray) potholes and not depress the brake on short brake lights. The Driver will have control of Steering and will be guided by an alignment bar. At the end of each trial the Driver must recall the signs in order by moving the steering wheel to the sign and depressing the accelerator to select the appropriate sign.
plus:
Tactical Scenarios are tests that are much like a DMV road test, but with obstacles and driving requirements that cannot often be accomplished on public streets with a real automobile. Tactical Scenarios assess how well the driver is aware of surroundings, the skills of merging into traffic, how well they follow rules of the road and road laws. The scenario also captures how they operate the vehicle such as: braking and steering skills, if they follow too closely to the car in front, how they stay centered in their own lane, how they pass a vehicle, etc.
While the driver is being assessed with a Tactical Scenario, the driver's current drive is compared to a Composite Normative Drive in real-time as the driver is driving the test. A Composite Normative Drive is the amalgamation of all Normative Drives of this Tactical derived from multiple normative drives.
Each Scenario is scripted to allow the driver to practice a trial so that they can both get a feel for the Scenario and repeat the Scenario instructions if unclear about the procedure. There is no limit to the number of times the driver can review the verbal instructions.
This Scenario is a version of a Tactical Scenario and provides an effective method for drivers with high performing Autism Spectrum Disorder (ASD) to perform a drive on the Tactical Test A Scenario. When they have failed to perform a Scenario requirement, the driver may start the event again. A failure of a Scenario requirement is either incurring a driving violation or a deviation from the Composite Normative Drive (using NPD or .npd data files) within the defined Event area.
Since high performing ASD patient's tend to have problems understanding language in context, a non-threatening voice instruction summarizing the failure and a reassuring suggestion of way(s) to accomplish the event successfully accompanies the scenario repeat.
The Driver's specific driving performance will be compared with previous performances of either a single Normative drive or a Composite Normative Drive. The comparison of the Driver's driving performance with the CND drive will be shown visually upon playback of the event or events when the Driver goes out-of-bounds during the execution of the Scenario.
The following are the Outcome Variables that are collected and analyzed for all Tactical Scenarios.
Example of a driving assessment report.
Normal Performance Calculation—Variance from Normal—Virtual Driving Instructor Examiner
In the preferred embodiment, Normative Path Data (NPD) is used by the Driver Guidance System (DGS) for several purposes, including measuring the performance of a driver during their actual simulation drive and again after their simulation drive for additional analysis. With reference to
The process of creating the NPD file begins by reading Parameter recorded for a first Normative Driver (or Normative Pilot) to be normalized in the process of
Energy-maneuverability theory is a model of aircraft performance. It was developed by Col. John Boyd, and is useful in describing an aircraft's performance as the total of kinetic and potential energies or aircraft specific energy. It relates the thrust, weight, drag, wing area, and other flight characteristics of an aircraft into a quantitative model. This allows combat capabilities of various aircraft or prospective design trade-offs to be predicted and compared.
Specific Excess Energy (PsubS) is:
PsubS=V[(T−D)/W]
Boyd, a U.S. jet fighter pilot in the Korean War, began developing the theory in the early 1960s. He teamed with mathematician Thomas Christie at Eglin Air Force Base to use the base's high-speed computer to compare the performance envelopes of U.S. and Soviet aircraft from the Korean and Vietnam Wars. They completed a three-volume report titled Energy-Maneuverability on their studies in 1966 which is hereby incorporated by reference. It is publicly available at http://www.archives.gov/declassification/iscap/pdf/2011-052-doc1.pdf. Energy Maneuverability came to be accepted within the U.S. Air Force and brought about improvements in the requirements for the F-15 Eagle and later the F-16 Fighting Falcon fighters.
The Parameters that are important in winning dogfights of various types can be derived from Appendix D, the Aerial Attack Study, authored by Col. John Boyd, Revised 11 Aug. 1964. This study gives different types of maneuvers and counter-maneuvers to use in fighter to fighter combat in various situations such as defensive turns, scissors maneuvers, high-speed and low-speed yo yo's, barrel roll attacks, overhead attacks, vertical rolling scissors, high G barrel roll attacks and nose quarter attacks.
A Process 1512 Get Next Normative Drive sequentially retrieves drives from an I/O 1514 Normative Drives. I/O 1514 can be a local database or storage on the cloud. I/O 1514 connects to a managed list of normative drives such as is shown in
In addition to the path information (position on the “Fondas” of
Examples of things or events that should be observed by a fighter pilot flying a UAV when dogfighting either a manned or unmanned fighter in a two-circle dogfight may, in some embodiments, include: 1) whether the other pilot is using his thrust vectoring or looks like he is turning harder than is possible using airfoil surfaces alone for his type of plane; 2) whether vapor is condensing on the top of his opponent's wings indicating a hard turn dissipating his kinetic energy rapidly; 3) airspeed readouts for his opponent indicating rapid deceleration (indicating rapid dissipation of kinetic energy) as indicated on the Pilot Under Test's Infrared Search and Track System or side-looking or rear-looking or front-looking radars; 4) his opponents rate of turn indicating the rate of kinetic energy dissipation as shown on the Pilot Under Test's Infrared Search and Track System or side-looking or rear-looking or front-looking radars; 5) potential energy situation as indicated by relative altitude of his opponent versus the altitude of the plane or drone being flown by the Pilot Under Test; 6) the Pilot Under Test's own altitude and airspeed; 7) range to his opponent; 8) whether his opponent is in a range envelope of weapons still available; 9) whether his remaining weapons such as air-to-air missiles can be fired off-boresight or whether the nose of the Pilot Under Test's plane or drone needs to be within a certain angle of pointing at his opponent; 10) whether the Pilot Under Test's fire control radar or Infrared Search and Track System has a lock on his opponent; 11) whether there are any friendly aircraft within the range and azimuth envelope of the weapon selected for release; 12) whether a positive identification of the opponent in accordance with the Rules of Engagement has been made; 13) if the opponent is in the “cone of control” of the pilot under test, whether the opponent is close enough that a high G barrel roll by the Pilot Under Test will cause an overshoot by the opponent and put the Pilot Under Test in the cone of control of the opponent; 14) all other factors deemed important in a dogfight that will dictate the correct defensive or offensive maneuver to make to win or just survive the dogfight. Such other factors are identified in “Fighter Combat: Tactics and Maneuvering” by former Navy Top Gun Pilot Robert L. Shaw and “Fighter Pilot Tactics” by Mike Spick, both of which are hereby incorporated by reference.
All these factors control the selection of the correct maneuver to make by the Pilot Under Test. For example, in a two-circle fight between a Chinese Su-30MK2 Flanker with thrust vectoring and a U.S. F-35, if the Flanker pilot chooses to use his thrust vectoring to turn harder than the F-35 to get in the cone of control of the F-35 and gain the advantage, the Flanker pilot will squander a great deal of his kinetic energy. In that situation, the correct maneuver by the F-35 pilot is probably to go ballistic and fly straight up as soon as he observes vapor on the top of his opponent's wings and rapid deceleration of the Flanker as indicated on the F-35 360 degree Infrared Search and Track System. The Flanker pilot, having squandered much of his kinetic energy will not be able to keep up with the F-35 in the climb and some separation will be achieved. This separation may be enough to take the F-35 out of the weapons envelope of the Flanker, and the F-35 may then take an off-boresight AMRAAM missile or Sidewinder shot or do a rudder reversal and shoot the Flanker in the face during his climb with an air-to-air missile of cannon fire.
Application of the concepts disclosed in this patent application for assessment and training of drivers to a pilot training and assessment scenario can be done. In one embodiment, the assessment and training system would recall and display all the factors the Pilot Under Test should be observing about his own plane's energy and position state and the position and energy state of his opponent and the changes in each which are occurring at each of a set of points in time in the scenario. How a Good Fighter Pilot would react to all these factors in terms of control inputs to his plane are recorded for each point in time in the scenario. These control inputs of a Good Fighter Pilot are recorded for each point in time and serve as the reference against which the actual control inputs of the Pilot Under Test are compared at each point in time. A Pilot Under Test who recognizes the situation faster and reacts faster in his control inputs to the plane than the Good Fighter Pilot gets high scores. A Pilot Under Test who misses factors he should be observing, or who reacts slower than the Good Fighter Pilot gets lower scores. A Pilot Under Test who makes the wrong maneuver for the situation as opposed to the maneuver the Good Fighter Pilot makes in the same situation, gets scored even worse. There are many perhaps hundreds or thousands of different situations in dogfighting which can occur and which can be programmed into different scenarios of the assessment and training system and to which a Pilot Under Test can be subjected. The assessment and training system will also store the control inputs of a Good Fighter Pilot at each point in time in response to each situation to serve as a reference point against which the Pilot Under Test's control inputs are measured. In some situations, there may be more than one correct maneuver to make or the correct maneuver to make depends upon the plane or UAV being flown by the opponent and the plane or UAV being flown by the Pilot Under Test. In fact, the type of plane or drone being flown by the opponent versus the type of plane or drone being flown by the Pilot Under Test is one of the factors that the Pilot Under Test must take into account. This is because each different plane has different thrust-to-weight ratio and wing loading factors which affect turning and acceleration and climb performance. In addition, some planes have thrust vectoring and some do not, and that affects how fast a plane can turn. Also, the range of the weapons and radar or IRST systems of different planes or drones are different. Also, the number and type of weapons are different for different planes or drones. All these things are factors to be taken into account by the Pilot Under Test.
One function of the display is to allow the omission of Normative Drives that fall out of the acceptable tolerance. Removing outliers is a common function of statistical analysis and the ability to find problems with data is an important function. Normative Drive Path 1632 may be one such “outlier” drive that a researcher of other professional would want to remove from a normative pool so as to not skew the normative value for position at that particular time in response to whatever even is active in the situation represented by
The position and other variables of the driver's vehicle in the Normative Drives data files are not continuous functions but are discrete data points extracted about every sixtieth 1/60 of a second from the DGS when the data was collected. Other shorter or longer intervals can be used in other embodiments. Shorter intervals would typically be used for high speed simulations such as aircraft flying. For the purposes of the NPD files, the data values of the NPD files are converted from a time based storage to position based. In other words, each set of values for the parameters being recorded at each point in time is converted to a set of the same values linked to whatever position on the assessment course corresponds to that time. Stations (typically simulators, computers or laptops “driven” by trial drivers) progressing along a Reference Drive 1520 are used to make this conversion. The “Reference Drive” is a specially recorded path driven along a predetermined route or studied fixed course. A Reference Drive can also be a Reference Flight. A portion of a Reference Drive path is shown by Reference Path Arrows 1656 and 1658. The arrows indicate the path extends the entire length of the Reference Drive that is usually the same as the Normative Drives. The stations along the Reference Drive path are chosen normal to the path at the intersection point of the station. One such station a Reference Normal line is shown by the line between Reference Normal Arrows 1650 and 1652. The Reference Normals can be spaced at various intervals, approximately one and a half meters is used in the current embodiment. The Reference Normals represent a plurality of sample points. The sample points can be determined by any other method also such as establishing a time interval between recordings of Parameters which can be any time interval that gives sufficient sample points to properly evaluate the performance of a Driver Under Test or a Pilot Under Test.
A Process 1522 Create Reference Normals creates the Reference Normals and stores them in Internal Storage 1518 Reference Normals.
A Process 1516 Get Next Reference Normal starts with the first 1518 Reference Normal located at the beginning of the Reference Drive and then steps to the next one as creation of the NPD file progresses. A Test 1542 Last Reference? returns to Process 1516 until the last Reference Normal of the Normative Drive being processed is encountered. Each time the Process 1516 operates, it passes the Reference Normal and the Normative Drive data being processed to a Process 1524 Find Intersection of Drive with Reference Normal. As an example, the point of intersection of Normative Drive Path 1630 with the Reference Normal between arrows 1650 and 1652 is determined by Process 1524. The coordinates along the Normative Drive of the intersection point are passed into the NPD variable Internal Storage 1546 NPD Variables Data. Process 1524 also passes the point of intersection along the Normative Drive to a Process 1526 Determine Value of Next NPD Variable at Intersection. Process 1526 then extracts the next NPD variable at the intersection calculated in Process 1524 and passes the variable to Internal Storage 1546. If the last NPD variable has not been extracted, a Test or Decision 1540 loops back to Process 1526 to collect and store the next NPD variable. When Test 1540 determines all NPD Variables have been collected, a Test 1542 Last Reference Normal? determines if another Reference Normal on the Reference Drive is available to intersect with the Normative Drive and if so loops back to Process 1516. Otherwise, a Test 1544 tests if the last Normative Drive has been processed. If not, the next normative drive is similarly processed starting at Process 1512. For example, after processing Path 1630, Normative Drive Path 1632 may be the next to be processed. When the processing advances to finding the intersection of Path 1632 with the Reference Normal between Arrows 1650 and 1652, the intersection of the path and normal will be calculated and stored. Now the points of intersection with the normal and the value of all the NPD variables at that point have been determined and stored for two of the Normative Drives 1630 and 1632.
When Test 1544 determines the last Normative Drive has been processed, calculation of the normative path, normative speed, and other normative variables begins. That is, after all of the intersection points and other NPD variables for all of the Reference Normals for all of the Normative Drives in the Normative Drive List have been collected and stored in Storage 1546, a Process 1548 Calculate Mean and Standard Deviation for each NPD Variable at each Reference Normal operates. In one embodiment, the Mean is simply an average for each Parameter of the values of that particular parameters recorded for each of the Normative Drivers at each sample point. In other words, for each Parameter, at each sample point or Reference Normal, there will be an average or Mean of that Parameter recorded for each of the Normative Drivers at that sample point or Reference Normal. The Mean is calculated for each Parameter at each sample point or Reference Normal.
When there is only one Normative Driver such as the flight training embodiment wherein a single Good Pilot serves as the Normative Driver, there is no need to calculate the Mean or average. All that is necessary is to record each of the Parameters for the pilots control inputs and how the plane is responding at each of the sample points.
Examples of some of the Parameters are given in
Whenever a Mean or average is calculated, a Standard Deviation can also be calculated. Process 1548 calculates those Standard Deviations for each Parameter at each sample point or Reference Normal.
A “Reference Normal” is a reference line perpendicular to a path along the course at each meter and a half. In other words, the Reference Normals are spaced 1.5 meters apart along the Reference Drive path driven through the evaluation course. Each of the Reference Normals crosses the Reference Drive path at some point which is deemed the origin or zero. Each of the Normative Drivers will cross that Reference Normal at some point relative to zero or the origin. In other words, at each Reference Normal, each of the Normative Drivers will cross the Reference Normal and define an intersection which has some distance from the origin. For example, assume Normative Drive 1 crosses Reference Normal 1 at +1 relative to the origin and Normative Driver 2 crosses Reference Normal 1 at −3 relative to the origin. These positions or intersections represent data points. All of these data points define a “mean” in the mathematical sense. This means, the positions of the intersection are added up and divided by the number of intersections, i.e., the number of Normative Drivers. That will be the mean path origin for all of the Normative Drivers for Reference Normal 1. In one embodiment, that process is repeated for each of the Reference Normal to find the mean position parameter at each Reference Normal. That mean at each Reference Normal for position will be the base of the standard with the scaling controlled by the distance from that base divided by the size of the Standard Deviation by which the position of the intersection of the path driven by the driver under evaluation or training will be judged. This process is repeated at each Reference Normal for each parameters such as speed, throttle position, steering input, and brake.
There are dependent and independent variables. The independent variables are used at inputs to the Vehicle Dynamics Model which calculates what the vehicle is doing in response to these inputs such as sliding, accelerating, braking, turnine, etc. The Vehicle Dynamics Model generates the dependent variables which are position, orientation and velocities meaning both and direction of movement. The calculations of this Vehicle Dynamics Model implement a free body model. Therefore the Vehicle Dynamics Model calculates a velocity vector for the vehicle. This velocity vector includes a component along the axis aligned with the direction of the wheel and it includes an orthogonal component which, when combined with the component along the direction of the wheel, makes up the calculated velocity vector.
In the preferred embodiment, the Driver Under Test is evaluated based not only upon what his car did, such as slide into another object, but also when he made inputs relative to the mean response to avoid a collision. More specifically, assume that an event on the test course is a motorcycle incursion from a cross street into the lane in which the Normative Drivers and the Driver Under Test is driving. The Normative Drivers will each have some reaction on the steering, brake or throttle or all or some of the above in response to this event. These data points for the Normative Drivers define “mean” standards for throttle response, steering response and brake responses. It is these “mean” standards which define times in the event scenario against which the reactions of the Driver Under Test can be compared to determine the level of his situational awareness and reaction times. In the preferred embodiment, the Driver Under Test is scored not only on what his vehicle did in response to his inputs, but also what his relative reactions times were compared to these “means” standards for reaction times on steering, brake and throttle. All these concepts can be extended to different applications such as training fighter pilots to fly UAV fighters or drone attack pilots flying drones such as the Predator, Predator C, Reaper, etc. and military drivers of unmanned combat and logical ground vehicles.
This same process can be repeated for whatever application the system is being used such as airspeed, attitude
For example, the mean path position along the normal shown between Arrows 1650 and 1652 can be determined by Process 1548 by summing the length of the offset, offset deltas, for each intersection point relative to the Reference Path intersection (or some other reference point along the normal) and dividing by the number of offset deltas summed. The result is the point on the normal of the mean path intersection. By connecting the mean path point similarly found of all Reference Normals the mean path driven by the drivers of the Normative Drives for the entire length of the scenario is determined.
Additionally, the standard deviation of variance from the mean path point can be calculated. The standard deviation to the left and standard deviation to the right of the mean path point are calculated separately. In
This section of road demonstrates a splaying out or widening of the standard deviation ribbon that was caused by an interaction with a motorcycle and the drivers of the Normative Drives. The intersection entry path of the motorcycle is shown as Vector 1670 Cross-Traffic Motorcycle Path. When drivers slowed approaching the intersection the motorcycle cleared their lane of travel and they were able to maintain a path near the Reference Path without risk of collision. Drivers traveling faster needed to swing to the right to clear the motorcycle. Process 1548 stores the normalized data along with all the Normative Drives to a file. A File 1550 Normative Path Data File Contains list of Reference Normal with NPD Variables Data at Each Normal (.npd)
A Normal Variance Continuum (NVC) is a discrete function in distance (at the granularity of the Reference Normals) representing the difference between the driver's variable and that normalized variable in units of one standard deviation of that normalized variable at that Reference Normal. These NVCs are affectionately called Fonda Curves or Fondas, and examples of them for the position, speed, throttle and steering variables are shown in
An NVC for a variable during a person's drive in the DGS can be calculated real-time or subsequent to a drive. The values of a variable's variance are calculated at the positions of the Reference Normals that were generated in the NPD creation process. Thus, before the NVC of any variable can be calculated, normative information along the path for that variable must exist; an NPD file for the path needs to exist. If a driver drove the exact path as the NPD file mean path, the path or position NVC would be zero for the entire length of the path driven. If the driver drove one standard deviation to the right of the NPD mean path, the NVC would be one (1.0) for the entire length of the path. In
Calculation of the NVC variables can be initiated from the DGS for post drive analysis or for real-time performance assessment and begins at Terminator 1710 Start in
A Test 1722 Last NPD Variable? then determines if the last variable at the Reference Normal has been processed. If variables remain to be processed Test 1722 returns to Process 1718 to get the next variable for processing. If the last variable has been processed, Test 1722 passes to a Test 1724 Last Reference Normal? If Reference Normals remain to be processed in a post analysis file Test 1744 returns to Process 1714 to get the next Reference Normal and continue processing. If the NVC is running real-time, Test 1744 will check for end of scenario to exit the NVC Calculation or wait until the next Reference Normal is available before returning to Process 1714 and continuing the process. As all of the variables at all of the Reference Normals are sent to Process 1720 their variance from the NPD normal is recorded in 1744 NVC Data. That data is stored in File 1750 NVC Data File (.nvc) and can also be displayed. A Display 1752 Plot variance on Normal Variance Continuum Graph (NVC graph, i.e., a Fonda graph) similar to the image of
The user opens the VDIE dialog box at a Terminator 1910 Start in Start. At this point, he or she can either accept the default VDIE file, or select another file with Manual Input 1912 Select and Load VDIE File by selecting Read File button 2010. The data from a File 1914 VDIE File is then loaded into a Temporary Storage 1916 Local VDIE Profile. This local profile is used for the current Scenario running in the Simulator Terminal.
Next, the user via Manual Input 1918 Selects an Event by selecting the Event dropdown box 2014. For this event, a number of triggers are displayed (2020 through 2058). Each trigger has various parameters that can be set by the user through a Manual Input 1920 Set Parameters And Actions. These parameters control when triggers occur. For example, the Speed Posted High trigger 2024 has parameters MPH Above 2070 and Time 2072. This trigger (as shown in
Once the parameters are set, the user can enable actions that will be performed when the trigger occurs. These may include playing a voice instruction, or resetting to the beginning of the current Event. For example, in the Speed Posted High trigger as shown in
At this point, the user can decide to apply his changes with the apply button via Manual Input 1922 Apply Changes by selecting Apply button 2080. This copies the modified parameters to the 1916 Local VDIE Profile for testing.
The user can then try the Event, and determine if the trigger performs as expected at a Manual Input 1924 Test Changes. The user can then decide to save his changes at a Test 1926 Save? Test 1926 monitors a button Save 2016. The file can be saved to the original VDIE file, or to another file name by optionally entering a filename at text box 2018. If the user decides to save, the local copy of the VDIE profile is saved in Process 1932 Write Local Profile to a File 1934 VDIE File.
If the user wishes to modify the triggers for another event, he or she can select Another Event to edit at Test 1928 Another Event? and repeat the save functions above or stop execution of the dialog via Terminator 1930 Stop by closing the dialog.
Features and operation of the VDIE Dialog to create VDIE Profiles are further explained on the following pages of user manual directions.
The Virtual Driving Instructor & Examiner monitors the DUT's performance as he drives a tactical scenario. The DUT's performance can be compared to normative-data for other drives doing the same scenario, or to standard limits on his speed, proximity to other vehicles, lane position, etc.
Evaluation of the DUT relative to a particular road condition or normative data is called a ‘Trigger”. The VDI/E dialog contains user adjustable parameters which control when a Trigger occurs, and what happens when a Trigger occurs. A tactical scenario is composed of a series of adjacent events. Triggers are set and adjusted on a per-event basis. The sum of all the Triggers for all the events in a scenario is called a ‘profile’. Profiles are stored as files, which can be retrieved when a scenario starts by the user.
When a Trigger occurs, one or more actions are executed by the VDE/E. There are currently two types of actions: a voice instruction, and a reset. Voice instructions inform the DUT about a problem with his driving. Voice instructions are specific to a Trigger, and can't be modified using the VDI/E dialog interface. Resets move the DUT back in the scenario so he can practice driving the same section of road again. For any Trigger, the user can disable the voice and reset actions. Typically, the reset action is disabled to allow the DUT to continue driving, while still playing a voice instruction. If both the voice and reset actions are disabled, nothing happens when the Trigger occurs. It is recommended that if the voice action is disabled, that the reset action is also disabled.
Another feature of the VDI/E dialog interface is that many Triggers can be adjusted. Speed Triggers typically contain two parameters which control when the Trigger occurs. For the Speed-Posted-High Trigger, the VDI/E dialog contains a user-editable field containing the MPH above the posted speed which will cause the Trigger to occur. Another user-editable field contains the number of seconds the DUT must drive above the posted speed in order for the Trigger to occur. These two values are stored for each event in the VDI/E profile.
The parameters and actions for Triggers can be edited by the user using the VDI/E Dialog Interface. The VDI/E Dialog appears when the scenario starts. Generally, Trigger parameters and actions shouldn't be changed (edited by the user) while a DUT is actually performing a scenario.
When the scenario begins, the first event number (Event 12) in the scenario is shown in the ‘Event List’ at the upper left corner of the VDI/E Dialog. The DUT vehicle will be stationary at the start of the scenario. Before the driver (DUT or user) starts driving, the user can edit the parameters and actions for all the Triggers for Event 12. To save the changes to the Event 12 Triggers, press the [Apply] button at the bottom right corner of the dialog. Another event number can be selected from the Event List, and the Triggers for that event can be edited and applied.
When done editing the Triggers, press the [Save File] button to save the changes to a file. No changes can be saved to the default VDE profile (VDEProfile), so a new VDE file must be created to save any changes made to the default profile.
As the driver (DUT or user) performs a scenario, the Event number displayed in the Event List will change. It is not recommended that Triggers be edited while the driver is actually driving the scenario. Instead, press the [Reset} button. The scenario will be reset to before the beginning of the current Event, and the DUT vehicle will be stationary. Before the driver starts driving, the Triggers for any Event can be edited by selecting the Event from the Event List, editing the Triggers for that Event, and pressing the [APPLY] button. All changes made can then be saved to a profile file by pressing the [Save File] button.
Whenever Trigger parameters or actions are changed, the changes should be saved to a file if they will be needed in the future. Using only the [Apply] button, but not the [Save File] button, will result in the changes being lost when the scenario ends.
The methods used to create and use VDI/E profiles are still under development. The current methods are subject to change as the VDI/E changes.
DGS currently ships with several predefined profiles. For DGS version 0.90, these files are in the C:\DGS\DGS-ST—000—90\Working\NormPath directory. See the next section for a list of profiles that are available for DGS 0.90.
When a scenario is downloaded, and after the [Begin] button is pressed in the Operator Panel, the DGS will always read the default profile (VDEProfile.xml). The VDI/E dialog will appear, and will show “VDEProfile (default)” in the upper right of the dialog. Before pressing the [Test] or [Practice] buttons, the user can read another VDE profile by pressing the [Read File] button. Another dialog will appear which show any other profile files available. The user can select any other profiles which have been shipped with that version of the DGS, or any profiles created by the user. If another profile is selected, the VDI/E Dialog will show the name of that profile in the upper right of the dialog.
Once the user presses the [Test] button in the Operator-Panel, the [Read File] button is disabled in the VDI/E dialog, but it will still be possible to edit the Triggers.
The Rules of the Road system evaluates whether the driver is following a set of “rules of the road”. There are a number of modules, each of which is responsible for a particular rule of the road. Each module looks at the driver's position and speed on the road, the position of other cars, and a database of road lane, speed limit, traffic sign, and traffic signal information. The module then decides if the driver is following the particular rule of the road that it is designed to check. If the module detects a violation, it records the time and position of that violation, and the severity of the violation. This information can be used to determine if a driver has passed a “virtual road test”, compare their driving to other drivers, or give the driver instruction on his mistakes. One example of a Rules of the Road (The StopSignViolation module) is described below, but there are many such modules, one for each “rule of the road” to be checked.
The associated
If the driver is in a stop zone now, we check a variable to determine if the driver was in a stop zone the last time the module was called (2114). If the driver was not in a stop zone last time, we set a minimum speed variable to the driver's current speed (2116), and set the variable to signal that we were in a stop zone last time (2118). We return from the module without recording a violation.
If the driver was in a stop zone last time, we check to see if the driver's current speed is less than the minimum speed variable (2120). If so, we place the driver's current speed into the minimum speed variable (2118). In either of these cases we return without recording a violation.
If we are not in a stop zone, but were in a stop zone last time (2122), we record that we are not now in a stop zone (2124). We then check the minimum speed variable to see if it is below a threshold (2130). This threshold can be zero to check for a complete stop, or set to a few miles per hour to allow for rolling stops. If the speed was less than or equal to the threshold, we return without recording a violation (2132).
If we have just left the stop zone, and the minimum speed in the stop zone was greater than the threshold, the driver failed to stop at the stop sign, and we record a violation (2134).
Consistent, repeatable, objective, discriminating, and insightful driver evaluation is a significant challenge for driving simulators and even for human reviewers. Likewise, the ability to instruct in a consistent, non-threatening, effective interacting manor is a significant challenge for driving simulators and even for human trainers. With the use of NPD files to provide normative standards with which to build variance records via the NVC process along with the ability to test basic rules-of-the-road compliance and a detailed context or Event based performance template/standard in the form of functional trigger points, it is possible to build the desired virtual examiner or trainer.
As s Scenario is being processed by Predefined Process 2210 Run Scenario in
If the trigger is satisfied, the action associated with that trigger is performed. The actions are located in the profiles 2213, 2214, and 2215. Examples of actions are to give a voice instruction to the driver, and/or to reset the event in the scenario. If the action is to Reset the Event at Test 2218 Event Reset? further processing of triggers is stopped and a Process 22316 Reset to Event Start as Specified in Scenario is performed.
After each trigger is examined, we determine if all triggers have been processed at Test 2220 All Triggers Processed? If there are more triggers to be tested, the next trigger is examined. If all triggers have been processed, control is returned to running the scenario at Run Scenario 2210.
A series of VDIE profiles may be used to more accurately assess the ability of a driver. While retraining an individual after a brain insult that affected their driving, it is useful to start with very basic operations and to allow wider than normal tolerance of performance. As the driver's ability increases, the tolerance of performance can be tightened. By monitoring the driver's performance relative to the triggers for variables through a portion of the Events, one of a series of profiles is matched to the driver's ability. It is believed that a VDIE profile that is too easy or too hard for the driver's abilities reduces training effectiveness. By comparing the driver's performance to a series of profiles such as VDIE Profiles 2213, 2214, and 2215 while they drive the initial Events or portion of a training Scenario, starting from the easiest profile, the balance of the Scenario is run with the first profile with significant triggers that have been activated. It may be necessary on some types of Scenarios to run the complete Scenario as a test (without actions activated) to gauge the performance ability on the diverse aspects of driving required by the Scenario.
A summary of interaction (interdependence and interoperation) between NPD data, NVC calculations, Rules-of-the-Road, and VDIE profiles is facilitated by a composite screen grabs in
The display of the thresholds that have been exceeded and the area of the amount of the driver's variable above the threshold multiplied by the distance (number of Reference Normals crossed) while exceeding the threshold is also displayed on the NVC charts. This area represents a “variance area” and is summed for each variable for each Event of the full Scenario. As a result, the amount of noncompliance or failure of the driver relative to the triggers in the VDIE profile can be quantified for each Event and Scenario. The driver is incentivized to minimize noncompliance in both the amount of deviation and duration of the deviation to improve their report. Test givers also have a more detailed metric to compare driver performance. Note, the noncompliance areas (variance areas) are not shown in the figure.
The drives that are used to calculate the NPD data are shown as Drives in NPD Calculation 2320. Text 1 2340 explains,
“The “Data” button in the VDIE dialog shows the “Normative Data” dialog. This dialog contains the standard NVC graphs. On the left side is the list of drives which were used to create the NPD data. The user can select one or more drives, and the selected drive(s) will be shown as a red colored line in the DGS world.”
Thus, as the drives are selected in the list 2320, the path of that drive is shown in the virtual world as a red line. Among other utility, this helps identify drives that deviated significantly from other drives Specific drives can be removed from the NPD calculation by selecting the drive and clicking the “Disable” button. Text 2 2350 explains,
“By selecting one of more drives, and pressing the “Disable” button, it is possible to remove drives from the NPD data set. This is shown in the drive list by (XX) before the drive file name. The default NPD file shipped with DGS has one drive removed (number 42). This functionality allows a DGS user to change the NPD data.”
To facilitate the inspection of the “path” of all of the drives, a “flyover tool” supports the inspection of the course with perspective and plan views that can be quickly guided along the road course. As outlying data is observed, by viewing the path lines relative to the roadway similar to
Another tool for confirming the drives used to form the NPD data numerically compares each drive to the remaining drives. Each of the drives is scored relative to the remaining set of drives across a spread of variance thresholds and hold-off times. Each drive is rated against an NPD file formed by the balance of the drive set members. For example, in a set of ten normative drives numbered one through ten, the variables of Drive #1 are scored against an NPD file constructed from Drives #2 through #10. Then Drive #2 is scored against an NPD file constructed from Drive #1 and Drives #3 through #10 and so on until Drive #10 is scored against an NPD file constructed from Drives #1 through #9.
For the purpose of comparing candidate drives for the normative drive set, a series of scores are calculated. For each of the variables, the variance area is accumulated as detailed a few paragraphs above. If feet or meters are desired rather than Reference Normals, the distance between normals needs to also be multiplied into the variance area.
Next, threshold values such as 0, 1, 2, 3, 4, and similar are used for the first pass of the score calculation. If the threshold values are plotted on the abscissa or x-axis with the respective variable variance area on the ordinate or y-axis the resulting area under the line formed by the points will be inversely proportional to the driver's path, or speed, etc. relative to the NPD data. The area represents divergence from the normal drive. That is, the smaller the divergence area, the closer the driver drove relative to the average drive of the NPD file. The size of this divergence area is used to rank how “normally” one of the candidate normative drivers drives relative to the rest of the set of drivers. The drivers can be ranked from lowest divergence to highest and elimination of outliers is thus guided by this objective performance measure. Subsequently, subject drivers being assessed or trained can be measured with the same objective measures. The line described by the variance areas of the thresholds represents the variance gradation and will slope down to the right with a negative slope. The difference in the slope of the line between drivers will also indicate more or less divergence with respect to the normal drive. A higher variance gradation (steeper slope) indicates less divergence.
Then the above calculation is repeated but with hold-off times added. That is, the calculation with a hold-off of zero seconds was collected as just explained and now the hold-off time of 1.0 seconds is calculated. Additional hold-off times of 2, 3, 4, and 5 seconds are also calculated. For example, the continuum of the Position NVC Function 1810 represents the NVC (normal variance continuum) during the Events of an entire Scenario. The variance area above zero SD and below the continuum represents the variance to the right of the normal path of the NPD. The variance area below zero SD and above the continuum represents the variance to the left of the normal path. The sum of the right variance areas will represent the total right of path variance. The sum of the left variance areas will represent the total left of path variance. Both values will represent their respective zero second hold-off values for the position variable. Next a one second hold-off is imposed and the resulting areas above and below are again summed. As a result, all of the variance areas that stated and stopped before one second elapsed are removed from the summation. Then the calculation is performed again for each of the additional hold-off times at each of the threshold values. The affect of increasing the hold-off time is to remove the variance areas with durations shorter than the hold-off time from the summation. By displaying the variance gradation thus obtained for the respective hold-off periods, in a waterfall diagram or surface diagram the time-based consistency of the variance is displayed. The more consistent a drive the smoother the variance of variables like position and speed. The smoother the variance of a variable, the more apt it is to be counted in longer hold-off period calculations. This is because the variable didn't dip below the threshold and reset the hold-off timer. Comparing and ranking the consistency of drives can also guide outlier decisions and rate or assess and train drivers in a general sense.
Objective performance analysis techniques that provide measurement during the exercise of freeform activities while driving and flying will be explained using
For example, using these analysis techniques, relative to norms the path of a driver during the execution of a left-hand turn can be objectively scored. With the techniques many similar freeform driving and flying actions can be objectively scored. A core component of data used by the techniques is the previously described Normal Variance Continuums NVC's or fonda's that are developed by comparing a DUT's methods relative to the methods of a Composite Reference Drive of an NPD file.
For clarity of discussion that follows, the Composite Reference Drive is calculated during the NPD Creation processes of
The analysis process to be described is composed of the steps of:
The combination of analysis techniques is designed to reduce large amounts of data documenting the path and speed etc. over a desired length of study (section of road) to a lesser more clarifying or typifying set of numbers or parameters that define the DUT's drive relate to a Reference Drive.
Not depicted in
In the current embodiment, Variance Areas are calculated using an equivalent measure, the square root of the variance or Standard Deviation. Alternately, the distribution's mathematical variance could be used to the same effect.
Variance Areas at Standard Deviation (SD) threshold values such as 0, +/−1, +/−2, +/−3, +/−4, and similar are calculated. With regard to area calculations above threshold values, in the Signature graph, the areas shown to the left and right of zero SD are the areas above the particular SD. For example, the area between two RN's each of value 2.0 is 2.0 units. The full 2.0 units are included in the area count at zero SD on the abscissa but only the 1.0 unit of area above 1.0 SD would be counted at the 1.0 SD abscissa mark. Reporting the tally to just the area above or super to a threshold helps identify error excursions. The area super to 1.0 SD in the displayed Signature of
The Variance Area values at respective thresholds are plotted above the abscissa or x-axis 2416 at the level of the respective variable on the ordinate or y-axis 2418. Linear lines joining adjacent points then form a line graph of the variance area verses SD threshold. The area 2430 below zero SD results from the bounds of such a line as 2420, the vertical at zero SD 2412, and the abscissa or horizontal axis 2416. Similarly, the area 2432 above zero SD results from the bounds by the line 2422, the vertical at zero SD 2412, and the abscissa or horizontal axis 2416. The combination of areas 2430 and 2432 will be inversely proportional to the driver's path, or speed, etc. relative to the NPD data. The greater the area the more the drive diverged from the Reference Drive. The smaller the divergence area, the closer the driver drove relative to that variable of the Reference Drive of the NPD file. The size of this divergence area is used to rank how “similarly” one of the candidate normative drivers drove relative to the rest of the normative set of drivers used to generate the Reference Drive in the NPD. The drivers can be ranked from lowest divergence to highest and the important process of eliminating outliers is thus guided by this objective performance measure. Subsequently, subject drivers (DUT's) being assessed or trained can be measured with the same objective measures.
Further, in
The slope of line 2422 describing the variance areas at the positive SD threshold values represents the variance gradation and will fall down to the right with a negative slope. The steeper the slope, the tighter or closer the variance at each of the RN's to one another. A steeper slope indicates the driver drove a more parallel path or a closer speed to that of the Reference Drive.
If the Driver Under Test (DUT) had driven at the same speed as the calculated mean speed when crossing each Reference Normal of Event 19, the areas 2430 & 2432 would be zero. The likelihood of a DUT matching the speed of the Reference Drive of an NPD File along a length of road is very low. But the closer that speed match, the smaller the area under the curves 2420 and 2422 of
In the present embodiment, the variance can also be quantified, displayed, and numerically represented by determining the number of Reference Normals that exceed given SD threshold values. The amount of SD variance at the particular Reference Normals is not captured but the fact that a certain number or percentage of all RN's exceeded a particular threshold variance value is quantified. This method is not shown in the FIGURES.
Another useful technique of quantifying performance measurement is study of the distribution or the variance of a variable along the desired length of study. That is, an analysis of the variance of the variance along a portion of the drive. Again, the variance discussed is represented by the NVC chart shown in the lower portion of
Distribution curve 2552 represents the variance of the DUT's speed variables variance along the desired length of study or Event 19 in this case as taken from the NVC data. Curve 2552 identifies that the DUT drove Event 19 with a mean speed of about 0.4 SD's faster than the Reference Drive. Also per graphical estimation of curve 2552 the Standard Deviation (one sigma deviation) of the DUT's speed variance is approximately 0.6 SD's relative to the distribution 2550.
As stated above, sub-Event or Element analysis can be applied to Road Sections shorter than Events. Elements of Events can be analyzed. For example, an Element containing just the intersection of a left-hand turn could be studied to assess the path taken by a DUT through the turn. The Element of making a left-hand turn contains just the divergences associated with the variables during the turn. For example, if
In a similarly fashion, an important purpose of Event 19 in the Tactical Scenario is to test the DUT's performance as a parked car abruptly pulls into the travel lane. If the analyzed range of the Road Section is reduced to the section from just before the parked car pulled into traffic to some similar distance past where the car was originally parked, a Signature focused on the incursion Element would be produced.
But by the Fonda graph it can be seen that this DUT slowed significantly more than the reference drive during this Element. Interpretation of the positive or negative nature of that slowing will have a significant subjective component but objective comparison to a common reference will serve as a foundation for the judgment.
A third distribution 2554 shown in
From the single viewpoint of assessing collision avoidance with respect to the lane incursion car, the greater the separation between the DUT and the threat the better. From the more comprehensive viewpoint of mitigating the risk of collision in front and in back, this DUT's actions were not ideal. She has increased the potential for a rear end collision. The Reference Drive variable means (averages) through the RN's of the incursion Element represent the composite methods used by experienced drivers or “flow of traffic” knowledge used to avoid all threats. Large negative (or positive) speed divergence from that body of experience may indicate inexperience or less than advantageous technique.
The point being that if the drivers that were used to generate the Reference Drive were experienced safe drivers and they were presented with the same challenge as the DUT, divergence of the DUT's techniques as evidenced by the NVC from the Reference Drive needs to be considered carefully. Meaning that the divergence is not what experienced safe drivers do under the same circumstances. Many components of driving can be tested with these techniques. Among many examples, a DUT's tendencies for hesitation or stopping on freeway on ramps could be analyzed with these techniques.
Experienced drivers often use a combination of speed and position control (steerage) for collision or threat avoidance.
The speed NVC or Fonda 2612 graph depicts the speed of the DUT relative to the speed of the Normative Drive. The graph does not depict the absolute speed of the DUT. The Progress Cursor 2610 identifies the progress through Event 19. A Marker 2620 shown as a small white square is to the right (ahead on the road) of the Progress Cursor 2610 In this particular instance, the Marker 2620 is slightly more than two Standard Deviations slower than the mean speed of the Normative Drive. The low speed in the case was zero mph or stopped. More important in the study of the performance of this Event than the speed at any particular moment is the change in speed relative to how the Normative Drive speed is changing. The vast majority if not all of the Normative Drivers were reducing their speed at the point of the Progress Cursor 2610. As a result, if the DUT is going to maintain the fonda at the same level above zero SD as seen to the left of the Progress Cursor 2610, she is going to have to be reducing speed. In order to produce a negative slop as the DUT in this instance has done, she has to be slowing faster than the Normative Drive is slowing. Because of the accelerated speed reduction, the DUT will develop a greater safety distance to the incursion car. The wisdom and necessity of this deceleration at a higher rate than the Reference Drive was discussed above.
Additionally time-based performance analysis techniques can be guided using activities identified in the NVC study. Neuro-psychological reaction times similar to the reactions times captured in the Operational Tests can be determined using tell-tell actions at RN's to guide search of the time-based information in the .rcr raw data files of the drive. It is known that to the left of Progress Cursor 2610 the vehicle 2630 started to present as an incursion. The time interval between RN's at the speeds (or any other reasonable speed) of Event 19 is relatively long, about 120 milliseconds. Data is captured in the raw files on the order of ten times faster and the increased resolution is useful. The time between the moment incursion started to present and the DUT's reaction as evidenced by lifting the throttle or steering to avoid the threat is the acquisition reaction time. The time that was used to sample data in the raw file for each Reference Normal is recorded with the RN.
The information that is extracted includes both the independent input of the drivers to the steering, throttle, brake, turn signal, etc. and the dependent results of their vehicle's speed, position, orientation, etc. thus including the driver's commands and the results of those commands. To capture the data, frequent assessment points or alternately stated “sample points” are chosen along the route where the variables representing actions of and the results of the actions of the drivers are analyzed and logged. The arithmetic Means and the Standard Deviations of the variables define how the selected drivers collectively navigate the various road segments in the studied fixed course. Then new sample points could be established with the averages or Means and Standard Deviations of the variables for similar or identical road segments can be applied to describe how the selected drivers would drive a different route on similar road sections. In this way, measurement relative to the sampled drivers on paths off the studied fixed course can be accomplished. It is those extracted and reapplied Means and Standard Deviations of a plurality of variables at each of a plurality of sample points along each road segment in the new path which the Driver Under Test drove which are the data stored in the HOPE NPD file. The HOPE NPD file can then be used to measure drivers for assessment and training who have chosen to drive off the studied fixed course where no studied select group of drivers have driven before.
Depending on the goals, different types of drivers may be chosen for the select group used for the HOPE Parameter extraction. Usually, experienced, safe drivers from the general population would be chosen for the select group of drivers. Sometimes drivers with specific abilities may be chosen and sometimes poor of some description may be chosen. For example, it may be useful to use a group of drivers that have lost their licenses do to speeding. There are a wide variety of drivers that could be selected to fit the desired group to compare a DUT's abilities against. Regardless of the type of group, we refer to a driver from the group as a reference driver or as a Normative Driver that when studied, form the Composite Reference Drive or Reference Drive of the NPD file.
Without the HOPE techniques, for analysis based on a Reference Drive to work many experienced and vetted reference drivers (Normative Drivers) need to have driven the study course to characterize the Reference Drive of the npd file. Before new HOPE techniques herein described, when a new assessment course is needed, the whole process must be repeated to generate a Reference Drive for the new course. A group of reference drivers again need to drive the new course and their performance needs to be checked for outliers before the Composite Reference Drive (CRD or RD) and NPD file is made per the process described in
Extracting Humanistic Operating Procedures and Envelops (HOPE) Characteristics begins with capturing the characteristics of the desired type of drivers. This is the same process to capture data used to create the NPD or Normative Path Data file on a studied fixed course for analysis. In
The process of making the actual NPD file for the drives of the Normative Drivers on the studied fixed course is represented by Process 2714. The process summarized in 2714 is detailed in
That NPD file for the studied fixed course can be used to train or assess drivers who drive that same studied fixed course in the virtual world on a simulator. That process of testing or assessing the DUT who drives the studied fixed course is detailed in
With manual input from step Manual Input 2720 and display of the NPD data in the virtual or real environment, extraction of HOPE Parameters at Process 2722 isolates specific road segments from the studied fixed course and isolates the way the reference drivers (Normative Drivers) drove the particular type of road section. Process 2722 is explained in greater detail in
Analysis or measurement of a DUT's drive compared to a Reference Drive can be accomplished for both studied fixed courses and synthesized courses.
The NVC or Fonda Curves generated at Predefined Process 2816 are then made available or represented to the desired Predefined Analysis techniques such as those defined by
A line that represents the Mean Composite Reference Drive Path 2930 of a section of a studied fixed course is shown traveling north on 8th Street 2906, turning right or east on Beltway 2902 until changing lanes to the left turn lane and turning left onto and traveling north on Broadway 2904.
A second line that represents the Mean Composite Reference Path 2932 of a section of a HOPE synthesized Reference Drive that is not on a studied fixed course is shown traveling on a reverse road course to that of the first path, Path 2930.
Sections of the roads are marked as “Entry Termination,” “Stady-State.” and “Exit Termination” to identify portion of the road where the CRD will behave differently. For example, the drivers forming the CRD when turning left or right at an intersection may position their vehicles in the lane differently than if they were traveling straight through the intersection.
In the preferred embodiment, an origin in Cartesian coordinates of the virtual world is used, and the positions of all components of each road segment are determined relative to this origin. In one embodiment, those Means for each Parameter at each sample point or Reference Normal and their Standard Deviations are then stored in a HOPE NPD file with labels as to identify which type of road segment they pertain and which sample point or Reference Normal in that road segment to which they pertain. This process is repeated for every type of road segment in the studied fixed course. Step 2406 represents this embodiment as well as other embodiments including the preferred embodiment, next described.
NPD data from a studied fixed course with road sections of interest is loaded into Data 3110 and communicated to Process 3114. In addition to NPD data the raw .rcr files for the individual drives that make up the Reference Drive need to be loaded to support some of the higher level functions of the HOPE Parameter extraction process. The function of Process 3114 is to generate a display similar to
In an alternative embodiment, each different type of road such as a straight two-lane road has a separate road segment in the HOPE Database 3150 for each different total width and for each different lane width if there are differences.
In another alternative embodiment, each different type of road such as a straight two-lane road has only one road segment type in the HOPE Database 3150 but has characteristic variables such as total width, lane width, position of the centerline if it is not centered, and whether it is in an urban or countryside environment.
In another alternative embodiment, a nominal Reference Normal is created for purposes of synthesis to the HOPE NPD. That nominal Reference Normal is created for each type of road segment. That nominal Reference Normal is created by looking at the Mean and Standard Deviation at each Reference Normal in the road segment in the studied fixed course NPD and then averaging the Means and Standard Deviations of all these Reference Normals in the studied fixed course NPD to arrive at the Reference Normal. That process is repeated for each different Parameter. These nominal Reference Normals are then replicated throughout the length of the similar road section being driven by the DUT “off the reservation”, i.e. in the virtual world and off the studied fixed course.
In another alternative embodiment, the process described above to create the nominal Reference Normal for each Parameter looks only at the Reference Normals in the middle of the road segment such as the Steady-State sections of the road on the studied fixed course and ignores the values of the Parameters at the Reference Normals in the sections of the road segment near its ends in the Entry and Exit Terminations. This refinement is done because the values of the Parameters in the Reference Normals near the ends of the road segment are going to be different from the values at the Reference Normals in the middle of the road segment because the Normative Drivers will be preparing to make a transition to a different road segment such as making a left hand turn and slowing down or braking and beginning to turn the steering wheel. These Parameters at the Reference Normals near the ends or terminations of the road segment on the fixed course are eliminated as “outliers” that will skew the averages.
Referring to
Note, it is possible to produce a HOPE NPD to analyze a DUT performance that follows the same route as the studied fixed course. In fact, this procedure is used to confirm the operation of the HOPE NPD process. Also, the DUT can choose to drive anywhere in the world for which road section detail and the visual graphics can be obtained that describe how the driving surface is shaped and how the world looks. There are open source and private organizations that supply graphic information system GIS information for the purpose like Google etc. The flowchart of
The general process to make HOPE NPD files is to: 1) determine what type of road section the DUT path is on and then, 2) to lookup the HOPE Parameters for that type of road section in the HOPE Database, and 3) apply those parameters to the construction of the sample points or Reference Normals one after another to build or synthesize the HOPE NPD.
Building or synthesizing a HOPE NPD requires a parametric path through a road system that will serve as the centerline of the travel lane from which HOPE Parameters can be based. It is important to match the centerline of the travel lane from the HOPE Database road section to the synthesized road centerline because that is the reference for the Mean and thus the SD at each RN. Process 3210 and the Decision Processes 3220, 3222, 3224 along with the driven path of the DUT from Data 3214 and parametric path data in the road definition from either the simulated world at Data 3216 or the real world at Data 3218 are looped through and thus incrementally traveled along the DUT path to a point that a road section from the HOPE Database can be fit to the parametric road definitions. This can be done by traveling the entire length of the DUT path and then patching road sections from the HOPE Database to fit the parametric centerline of the road system the DUT was found to have driven on or certain points in the travel of the DUT path clearly demark points at which the prior path is able to be fit with road sections from the HOPE Database. One such demarcation point is a road change at an intersection. When the parametric centerline and HOPE Database road section type is determined, Reference Normals or other sample point system can be successively generated along the parametric centerline. Process 3232 sequentially defines RN's and loads them with the appropriate Mean and SD's for the road section from the definition of that road section in the HOPE Database. At the intersection of roadways such as the intersection of Beltway 2902 and Broadway 2904 in
As stated this process could be used to build NPD files for real world road systems. The process would work both for use in a driving simulator with a virtual display of the real world or in a real vehicle driving the real world with GPS and/or inertial and/or optical road navigation and definition equipment. With a real world HOPE NPD generation system, NVC or Fonda analys could assess and train drivers in their cars, on roads in their vicinity.
By running the Vehicle Dynamics Model VDM with the same control inputs forward in time it is possible to “predict” the future path of the vehicle. Displaying a few seconds of that path on the screen of the simulator in advance of the vehicle imparts insight into the available vehicle handling. One very noticeable result is the amount of time it takes for the vehicle to alter its path. There is a significant amount of travel along the roadway before the vehicle appears to be responsive.
Many accidents would be avoided and many would result is less devastation if the driver understood and used the ability of the vehicle more fully to avoid or minimize the impact. The Prediction Arrows help explain the ability of the driver and vehicle.
Using the same techniques in the real world as in the virtual world the dashboard mounted HUD in many newer cars or as form navdy.com (as shown on their website) would show a “tinted red zone” between the nose of the car and the “stop line” with a Prediction Arrow line depicting the current path the vehicle will follow with the current conditions such as steering and speed.
The VDM would need to be calibrated for most accurate prediction of the stop line. Acceleration or deceleration tests would characterize the stopping ability of the current tire/road/car conditions. For example, after making sure nobody is on your tail, slam on the brakes for two seconds while the g forces register and then use that for the stop distance calculation. Something similar could be done in an empty parking lot for the turning ability calibration. That way turn (side) limits could be added on the sides of the Prediction Arrows.
There is also a need to calibrate the position of the projected distance lines to some actual distance in front of the car. Because the image is typically virtual and approximately six feet beyond the HUD or windshield, movement of the driver in the seat will not be as bad as if the image was on the HUD. One way to calibrate would be to display a grid of Reference Normals in front of the vehicle but sliding under as the car moved forward in lock with the speed of the car. Then when a Reference Normal lined up with some point longitudinally along the road it would stay lined up as the car drove past the point. If the longitudinal point on the road moved under the car faster than the reference normal, the projected image would need to be lowered until the Reference Normals traveled at the same speed as the external geometry.
The Prediction Arrows help everyone learning to drive, or drive defensively, and everyone interested in top performance.
APPENDIX D: the Aerial Attack Study, authored by Col. John Boyd, Revised 11 Aug. 1964
This application claims priority to the provisional application Ser. No. 61/891,372 filed 15 Oct. 2013.
This invention was made in part with Government support under W31P4Q-09-C-0414 awarded by DARPA. The Government has certain rights in the invention.
Number | Date | Country | |
---|---|---|---|
Parent | 61891372 | Oct 2013 | US |
Child | 14513432 | US |