This application relates to virtual reality simulations for training users or service personnel on products.
Conventionally, users maintain or repair products by following instructions provided in written guides, videos, or training with physical products in the physical world. Because such formats may be onerous to follow, a user may be unable to maintain or repair the product, or may accomplish the tasks with significant difficulty. As a result, the user may become unsatisfied with the product.
One aspect of the current technique is a method for providing virtual reality simulations for training. The method includes receiving a user selection of a training program for a product. The method includes loading a virtual environment associated with the training program. The method includes retrieving a task of the training program. The method includes identifying an event based on user input to the virtual environment. The method includes comparing the event to an event required to complete the task. The method includes determining whether a user completed the task.
In some embodiments, a score may be determined for the user based on the comparison of the event to the event required to complete the task. The score for the user may be displayed in a user interface to provide feedback regarding a performance of the user. The virtual environment is created based on a data model associated with the product. The event may be identified based on signals received from virtual reality gloves or other user tracking devices. When the user partially completes the task, an informational message may be displayed, along with an instruction on how the user attempt partially completed the task. When the user fails to complete the task, the virtual environment may be reset for the user to re-attempt the task. When the user fails to complete the task, an error message may be displayed, along with an instruction on how the user attempt failed to complete the task. When the user completes the task, a subsequent task from the training program may be retrieved.
Another aspect of the current technique is a system, with a processor, for providing virtual reality simulations for training. The processor may be configured to perform any process in conformance with the aspect of the current techniques described above.
Another aspect of the current technique is a non-transitory computer-readable storage medium with program code stored therein. When executed, the program code may perform any process in conformance with the aspect of the current techniques described above.
Features and advantages of the present technique will become more apparent from the following detailed description of exemplary embodiments thereof taken in conjunction with the accompanying drawings in which:
Described below are techniques for providing virtual reality simulations for training. A user may select a training program for a given product. A virtual environment associated with the training program may be loaded, and a task of the training program retrieved. An event based on user input to the virtual environment may be identified, and compared to an event required to complete the task. Whether a user completed the task may be determined.
Some aspects of product installation, repair, and maintenance can be undertaken by a user, such as part replacement and cable rewiring. However, training users to perform these tasks poses some challenges. Conventional approaches, such as written instructions and videos, may not provide adequate detail and cannot correct a user who is making errors. Moreover, conventional training on products in the physical world may not provide adequate access to resources, such as to service personnel or to the product. For example, these formats do not provide access to service personnel with the right knowledge to assist, as service personnel may be off-site or remote. Furthermore, if the product involves extensive physical equipment, and/or it is in locations with limited access (e.g., laboratories), the users’ lack of familiarity with the product will decrease the likelihood that training via conventional methods will yield successful outcomes.
Trainings using virtual reality can overcome the obstacles posed by the conventional methods. Simulations remove the requirement to physically access a product to gain hands-on understanding of its workings. Further, simulations remove the requirement that the user have physical access to the product, which may in limited supply or otherwise not easily available. Additionally, by simulating the environment in which the user would install, repair, or maintain a product, the user can practice performing the tasks before they are required. Gaining familiarity with products and the steps needed to address their issues increases the user’s confidence in their ability to remedy problems when they arise. In fact, even when a problem surfaces, through the virtual simulations, the user can practice remedying the issue before attempting to work on the product itself. Thus, an information handling system that uses virtual reality to train a user to address issues for a product can increase the likelihood of the user successfully installing, repairing, and maintaining the product, and thus improve the user’s satisfaction with the product. Additionally, the present information handling system can reduce the duration of the user’s service visits to customer sites for repairing physical products, thereby reducing costs for the customer and for the user’s employer.
The techniques described herein provide virtual reality simulations for trainings. In at least some implementations in accordance with the techniques as described herein, one or more of the following advantages can be provided: stronger command of techniques for installing, repairing, and maintaining products; ease of accessibility to training; improved tailoring of training to user; and greater user satisfaction with the product.
For purposes of this disclosure, an information handling system may include any instrumentality or aggregate of instrumentalities operable to compute, calculate, determine, classify, process, transmit, receive, retrieve, originate, switch, store, display, communicate, manifest, detect, record, reproduce, handle, utilize, or analyze any form of information, intelligence, or data for business, scientific, control, or other purposes. For example, an information handling system may be a personal computer (e.g., desktop or laptop), tablet computer, mobile device (e.g., personal digital assistant (PDA) or smart phone), server (e.g., blade server or rack server), a network storage device, or any other suitable device and may vary in size, shape, performance, functionality, and price. The information handling system may include random access memory (RAM), one or more processing resources such as a central processing unit (CPU) or hardware or software control logic, ROM, and/or other types of nonvolatile memory. Additional components of the information handling system may include one or more disk drives, one or more network ports for communicating with external devices as well as various input and output (I/O) devices, such as a keyboard, a mouse, touchscreen and/or a video display. The information handling system may also include one or more buses operable to transmit communications between the various hardware components.
In one embodiment, IHS 100,
The mass storage device 108 can store programs for training users or support personnel. Each program may correspond to a unique product, with modules dedicated to different facets of the product. Each program, when executed, provides a virtual reality environment in which the user may be trained with respect to a particular product. For example, one module can provide a simulation guiding the user through installation of the product. Other modules may be dedicated to common errors of the product. Such modules can provide simulations training the user to repair the product when the applicable error arises. Additional modules may be concerned with maintaining the product. For example, a module may simulate a training on running diagnostics for the product, the results of which may be used to adjust the product so as to optimize its performance. The IHS 100 may display on display 110 a user interface with a menu of the programs on the mass storage device 108, and the user may select a program to run.
Moreover, each program may include a data model that includes information about the input devices required to run the program, the tasks the user must perform to complete the training, instructions and follow-up guidance to users for performing the tasks, and criteria for assessing the sufficiency of user attempts to perform tasks. The data model also includes data for rendering user interfaces related to any of these features for display to the user.
In some embodiments, the IHS 100 is configured to communicate over a computer network with other IHSs 100′ (not shown). The other IHSs 100′ may store updates to training programs. In some embodiments, the other IHSs′ 100 transmit the updates to the IHS 100 whenever the updates become available. In other embodiments, the IHS 100 polls the other IHSs 100′ on a periodic basis for updates, and the IHSs 100′ transfers the program updates available when polled.
The updates may alter the programs to include new tasks or to update existing tasks. For example, when a new version of a product is released, the corresponding training program(s) may be updated to correspond to the current features of the product. In another example, should additional common errors or new best practices for maintenance emerge as the product matures, the training program may be updated to enable a user to repair or maintain the product according to the developments.
Referring now to
For example, the virtual reality workspace system 200 of the illustrated embodiment includes a physical display device 204 that is connected to the computing device 202 by a wired connection 206, although wireless connections between the computing device 202 and the physical display device 204 (or integration of at least some of the computing device functionality discussed below in the physical display device 204) will fall within the scope of the present disclosure as well. In an embodiment, the physical display device 204 may include the display 110 discussed above with reference to
In the illustrated embodiment, a user tracking subsystem 208a and 208b is integrated with the physical display device 204, although a user tracking subsystem that is separate from the physical display device 204 (and separately coupled to the computing device 202 via a wired or wireless connection) will fall within the scope of the present disclosure as well. As such, in some embodiments the user tracking subsystem 208a and 208b may include at least some of the computing device functionality described below for the physical display device 204. The user tracking subsystem 208a and 208b may include a plurality of user tracking devices 208c that may be provided by infrared (IR) sensors, IR sensor arrays (e.g., “IR castors”), three-dimensional cameras (e.g., if the processing system in the computing system has sufficient processing capabilities), and/or a variety of other user tracking devices that would be apparent to one of skill in the art in possession of the present disclosure. While the virtual reality workspace system 200 is illustrated with the user tracking subsystem 208a positioned at the “top” of the physical display device 204 and the user tracking subsystem 208b positioned at the “bottom” of the physical display device 204, user tracking subsystems with different numbers of components in different configurations and/or orientations will fall within the scope of the present disclosure as well.
In the illustrated embodiment, a virtual reality display subsystem 210 is included with the virtual reality workspace system 200, and provides a head-mounted user tracking and display subsystem. For example, the virtual reality display subsystem 210 includes a chassis 210a that is configured to be worn on a user’s head such that a display device 210b is positioned in front of the user’s eyes. In the discussions below, the display device 210b is provided by a transparent Organic Light Emitting Device (OLED) display device, although other display devices that provide the functionality discussed below may fall within the scope of the present disclosure as well. The virtual reality display subsystem 210 may also include a plurality of cameras 210c that are configured to capture images in the field of view of a user wearing the virtual reality display subsystem 210. In the examples discussed below, the virtual reality display subsystem 210 is wirelessly coupled to the computing device 202, although wired connections will fall within the scope of the present disclosure as well. While in the embodiments discussed below, much of the computing device processing for the display of images by the virtual reality display subsystem 210 is performed by the computing device 202 in order to provide a relatively small and lightweight virtual reality display subsystem 210, in other embodiments the virtual reality display subsystem 210 may perform at least some of the computing device functionality discussed below. While not explicitly illustrated, the virtual reality display subsystem 210 may include a variety of other components for use in the user tracking functionality discussed below, including IR markers (e.g., for use by IR sensors or IR sensor arrays in the user tracking subsystem 208a and 208b), accelerometers, gyroscopes, locations sensors, and/or a variety of other tracking components that would be apparent to one of skill in the art in possession of the present disclosure. In experimental embodiments, the virtual reality display subsystem 210 was provided by a META 2® headset provided by META® company of California, United States, although other virtual reality display subsystems will fall within the scope of the present disclosure as well. However, while a specific virtual reality display subsystem has been described, one of skill in the art in possession of the present disclosure will recognize that light field display devices, projection display devices, and/or other virtual reality display subsystems may be substituted for the virtual reality display subsystem 210 while remaining within the scope of the present disclosure.
In the illustrated embodiment, the virtual reality workspace system 200 also includes a totem device 212 and a pen device 214, each of which may be wirelessly connected to the computing device 202 (although wired connections will fall within the scope of the present disclosure as well), or capable of being tracked by the virtual reality display subsystem 210 and/or the user tracking subsystem 208a and 208b. Furthermore, each of the totem device 212 and the pen device 214 may include tracking components such as IR markers (e.g., for use by IR sensors or IR sensor arrays in the user tracking subsystem 208a and 208b), cameras, accelerometers, gyroscopes, locations sensors, and/or a variety of other tracking components that would be apparent to one of skill in the art in possession of the present disclosure. While a specific virtual reality workspace system has been described, one of skill in the art in possession of the present disclosure will recognize that virtual reality workspace systems may include a variety of components in a variety of different configurations in order to provide for conventional virtual reality workspace functionality, as well as the functionality discussed below, while remaining within the scope of the present disclosure.
Referring now to
In the illustrated embodiment, the virtual reality display engine 304 includes a user tracking sub-engine 304a that may be configured to utilize user tracking information to determine the position of the user (e.g., the user’s head, the user’s hands, and/or other portions of the user), a two-dimensional visualization sub-engine 304b that may be configured to generate the two-dimensional elements on the display screen 204a of the physical display device 204, a three-dimensional visualization sub-engine 304c that may be configured to generate the virtual reality elements via the virtual reality display subsystem 210, and a color sub-engine 304d that may be configured to determine color details of the two-dimensional and virtual reality elements generates by the two-dimensional visualization sub-engine 304b and the three-dimensional visualization sub-engine 304c. However, while an example of specific sub-engines and components of the virtual reality display engine 304 have been illustrated and are described in more detail below, one of skill in the art in possession of the present disclosure will recognize that the virtual reality display engine 304 may include more or fewer sub-engines, and those sub-engines may be distributed across multiple different components of the virtual reality workspace system 200 (e.g., the user tracking sub-engine 304a provided in the user tracking subsystem 208a and 208b, two-dimensional visualization sub-engine 304b provided in the physical display device 204, the three-dimensional visualization sub-engine 304c provided in the virtual reality display subsystem 210, etc.) while remaining within the scope of the present disclosure.
The chassis 302 may also house a storage system (not illustrated, but which may include the storage device 108 discussed above with reference to
The virtual environment 605 includes an input module 410. The input module 410 is coupled to various input devices 106 described with respect to
To train the user, the program 505 outputs instructions to guide the user in performing tasks. After each instruction is displayed, the event handler 610 waits for the user to complete the requested action. The input module 610 interprets signals from input devices 106, and when the signals amount to an input event, the input event is sent to the event handler 610 to process. The event handler 610 uses data from the data model 607 to determine if the input event satisfies the instruction presented to the user.
Based on the data model 607 and the input event, the event handler 610 generates a response to the user. The response is sent to the output module 606 of the virtual environment 605, to update the display on the physical display device 204 and/or the virtual reality display subsystem 210. For example, if the input event is unsatisfactory, the virtual environment 605 may reset to the display originally accompanying the instruction. The user may be invited to reattempt the task. In some embodiments, the virtual environment 605 may display an explanation why the user’s input was incorrect and/or inadequate, and provide more detailed guidance on how to complete the task. In another example, if the input event is satisfactory, the event handler 610 deems the user to have been properly trained for the task, and the program 505 advances to the next task in the training. Consequently, the event handler 610 updates the virtual environment 605 to display a new instruction to the user and to present the product in the state requiring a next task to be performed. The processor 102 iterates through the tasks in the program 505 until the user completes all of them.
Using the modules described with respect to
In some embodiments, the training program 505 may score the performance of a user. For example, the number of tasks the user performed successfully may be tallied and compared against the total number of tasks, and the results presented to the user. The training program 505 may display the score so as to provide general feedback regarding the performance of the user. For example, the score may be displayed in real time in the training program 505, such as in a simulated user interface. Alternatively, the score may be displayed in a user interface separate from the training program 505 enabling the user to receive general feedback on the user’s historical performance. The user may be presented with the option to repeat the tasks that were not initially performed successfully. In some embodiments, the training program 505 ends only after the user has successfully completed each task. Moreover, the training program may prepare a certificate stating that the user has completed the training for the product, for the applicable installation, repair, or maintenance tasks.
The user may pick up the SSD drive in the virtual environment 605, and insert the SSD drive into the empty slot in the middle expansion shelf, as shown in
It should again be emphasized that the implementations described above are provided by way of illustration, and should not be construed as limiting the present invention to any specific embodiment or group of embodiments. For example, the invention can be implemented in other types of systems, using different arrangements of processing devices and processing operations. Also, message formats and communication protocols utilized may be varied in alternative embodiments. Moreover, various simplifying assumptions made above in the course of describing the illustrative embodiments should also be viewed as exemplary rather than as requirements or limitations of the invention. Numerous alternative embodiments within the scope of the appended claims will be readily apparent to those skilled in the art.
Furthermore, as will be appreciated by one skilled in the art, the present disclosure may be embodied as a method, system, or computer program product. Accordingly, the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, the present disclosure may take the form of a computer program product on a computer-usable storage medium having computer-usable program code embodied in the medium.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising”, when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
While the invention has been disclosed in connection with preferred embodiments shown and described in detail, their modifications and improvements thereon will become readily apparent to those skilled in the art. Accordingly, the spirit and scope of the present invention should be limited only by the following claims.