U.S. patent application number 13/776596 was filed with the patent office on 2013-08-29 for portable low cost computer assisted surgical trainer and assessment system.
This patent application is currently assigned to Arizona Board of Regents, on behalf of The University of Arizona. The applicant listed for this patent is Arizona Board of Regents, on behalf of The University of Arizona. Invention is credited to Allan J. HAMILTON, Liana NAPALKOVA, Mario RIOJAS, Jerzy W. ROZENBLIT.
Application Number | 20130224709 13/776596 |
Document ID | / |
Family ID | 49003257 |
Filed Date | 2013-08-29 |
United States Patent
Application |
20130224709 |
Kind Code |
A1 |
RIOJAS; Mario ; et
al. |
August 29, 2013 |
Portable Low Cost Computer Assisted Surgical Trainer and Assessment
System
Abstract
A system is provided for evaluating MIS procedures. The system
includes a sensor configured to receive task-performance data,
block components, and actuating components. The sensor, block
components, and actuating components are configured to simulate a
training task. The system also includes a processor. The processor
is configured to determine, based on the received task-performance
data, a trial task-performance metric corresponding to a trial
performance of the training task. The processor is also configured
to select a reference task-performance metric from a plurality of
reference task-performance metrics. Each reference task-performance
metric in the plurality corresponds to a respective reference
performance of the training task. The processor is additionally
configured to determine, based on a comparison of the trial
task-performance metric to the reference task-performance metric, a
task-performance classification level. The processor is further
configured to cause a graphical display to provide an indication of
the task-performance classification level.
Inventors: |
RIOJAS; Mario; (Tucson,
AZ) ; ROZENBLIT; Jerzy W.; (Tucson, AZ) ;
NAPALKOVA; Liana; (Riga, LV) ; HAMILTON; Allan
J.; (Tucson, AZ) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Arizona Board of Regents, on behalf of The University of
Arizona; |
|
|
US |
|
|
Assignee: |
Arizona Board of Regents, on behalf
of The University of Arizona
Tuscon
AZ
|
Family ID: |
49003257 |
Appl. No.: |
13/776596 |
Filed: |
February 25, 2013 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61634209 |
Feb 24, 2012 |
|
|
|
Current U.S.
Class: |
434/262 |
Current CPC
Class: |
G09B 23/28 20130101 |
Class at
Publication: |
434/262 |
International
Class: |
G09B 23/28 20060101
G09B023/28 |
Claims
1. A method comprising: receiving task-performance data from at
least one sensor of a training system, wherein the training system
further comprises at least one block component and at least one
actuating component, and wherein the at least one sensor, the at
least one block component, and the at least one actuating component
are configured to simulate a training task; determining, based on
the received task-performance data, at least one trial
task-performance metric corresponding to a trial performance of the
training task; selecting at least one reference task-performance
metric from a plurality of reference task-performance metrics,
wherein each reference task-performance metric in the plurality
corresponds to a respective reference performance of the training
task; determining, based on a comparison of the at least one trial
task-performance metric to the at least one reference
task-performance metric, a task-performance classification level;
and causing a graphical display to provide an indication of the
task-performance classification level.
2. The method of claim 1, further comprising: determining, based on
the received task-performance data, instructions indicative of an
example performance of the training task; and causing the graphical
display to provide an indication of the instructions indicative of
the example performance of the training task.
3. The method of claim 2, wherein causing the graphical display to
provide the indication of the instructions indicative of the
example performance of the training task comprises causing the
graphical display to provide a visual representation of the example
performance of the training task, and wherein the example
performance of the training task is based on an example path
associated with the training task.
4. The method of claim 1, wherein the task-performance data
comprises movement data associated with one or more of the at least
one sensor, the at least one block component, or the at least one
actuating component.
5. The method of claim 4, wherein the task-performance data further
comprises video data indicative of the trial performance of the
training task.
6. The method of claim 5, wherein receiving the task-performance
data from the at least one sensor of the training system comprises
receiving the task-performance data from the at least one sensor of
the training system during the trial performance of the training
task, the method further comprising causing the graphical display
to display the video data.
7. The method of claims 1, wherein the at least one trial
task-performance metric comprises one or more of a trial time
period, a trial movement length, a trial movement direction, a
trial peak speed width, or a trial continuity of movement, and
wherein the at least one reference task-performance metric
comprises one or more of a reference time period, a reference
movement length, a reference movement direction, a reference peak
speed width, or a reference continuity of movement.
8. The method of claim 1, wherein the training task comprises a
task indicative of a surgical task.
9. The method of claim 1, wherein the at least one sensor comprises
a touch sensor, an accelerometer, a light sensor, an infrared
sensor, an ultrasonic sensor, a compass sensor, a radio-frequency
sensor, or a motion tracking sensor, wherein the at least one block
component comprises a connector, a brick, a rod, or a gear, and
wherein the at least one actuator comprises a stepper motor or a
servomotor.
10. A system comprising: at least one sensor configured to receive
task-performance data; at least one block component; at least one
actuating component, wherein the at least one sensor, the at least
one block component, and the at least one actuating component are
configured to simulate a training task; and a processor configured
to: determine, based on the received task-performance data, at
least one trial task-performance metric corresponding to a trial
performance of the training task; select at least one reference
task-performance metric from a plurality of reference
task-performance metrics, wherein each reference task-performance
metric in the plurality corresponds to a respective reference
performance of the training task; determine, based on a comparison
of the at least one trial task-performance metric to the at least
one reference task-performance metric, a task-performance
classification level; and cause a graphical display to provide an
indication of the task-performance classification level.
11. The system of claim 10, wherein the processor is further
configured to: determine, based on the received task-performance
data, instructions indicative of an example performance of the
training task; and cause the graphical display to provide an
indication of the instructions indicative of the example
performance of the training task.
12. The system of claims 11, wherein the processor is further
configured to cause the graphical display to provide a visual
representation of the example performance of the trial training
task, and wherein the example performance of the training task is
based on an example path associated with the training task.
13. The system of claim 10, wherein the task-performance data
comprises movement data associated with one or more of the at least
one sensor, the at least one block component, or the at least one
actuating component.
14. The system of claim 13, wherein the task-performance data
further comprises video data indicative of the trial performance of
the training task.
15. The system of claim 14, wherein the processor is further
configured to: receive the task-performance data from the at least
one sensor of the training system during the trial performance of
the training task; and cause the graphical display to display the
video data.
16. The system of claim 10, wherein the at least one trial
task-performance metric comprises one or more of a trial time
period, a trial movement length, a trial movement direction, a
trial peak speed width, or a trial continuity of movement, and
wherein the at least one reference task-performance metric
comprises one or more of a reference time period, a reference
movement length, a reference movement direction, a reference peak
speed width, or a reference continuity of movement.
17. The system of claim 10, wherein the training task comprises a
task indicative of a surgical task.
18. The system of claim 10, wherein the at least one sensor
comprises a touch sensor, an accelerometer, a light sensor, an
infrared sensor, an ultrasonic sensor, a compass sensor, a
radio-frequency sensor, or a motion tracking sensor, wherein the at
least one block component comprises a connector, a brick, a rod, or
a gear, and wherein the at least one actuator comprises a stepper
motor or a servomotor.
19. A physical computer-readable medium having stored thereon
program instructions executable by a processor to cause the
processor to perform functions comprising: receiving
task-performance data from at least one sensor of a training
system, wherein the training system further comprises at least one
block component and at least one actuating component, and wherein
the at least one sensor, the at least one block component, and the
at least one actuating component are configured to simulate a
training task; determining, based on the received task-performance
data, at least one trial task-performance metric corresponding to a
trial performance of the training task; selecting at least one
reference task-performance metric from a plurality of reference
task-performance metrics, wherein each reference task-performance
metric in the plurality corresponds to a respective reference
performance of the training task; determining, based on a
comparison of the at least one trial task-performance metric to the
at least one reference task-performance metric, a task-performance
classification level; and causing a graphical display to provide an
indication of the task-performance classification level.
20. The physical computer-readable medium of claim 19, further
comprising program instructions executable by the processor to
perform functions comprising: determining, based on the received
performance data, instructions indicative of an example performance
of the training task; and causing the graphical display to provide
an indication of the instructions indicative of the example
performance of the training task.
21. The physical computer-readable medium of claim 20, further
comprising program instructions executable by the processor to
perform functions comprising causing the graphical display to
provide a visual representation of the example performance of the
training task, wherein the example performance of the training task
is based on an example path associated with the training task.
22. The physical computer-readable medium of claim 19, wherein the
task-performance data comprises movement data associated with one
or more of the at least one sensor, the at least one block
component, or the at least one actuating component.
23. The physical computer-readable medium of claim 22, wherein the
task-performance data further comprises video data indicative of
the trial performance of the training task.
24. The physical computer-readable medium of claim 23, further
comprising program instructions executable by the processor to
perform functions comprising: receiving the task-performance data
from the at least one sensor of the training system during the
trial performance of the training task; and causing the display
device to display the video data.
25. The physical computer-readable medium of claim 19, wherein the
at least one trial task-performance metric comprises one or more of
a trial time period, a trial movement length, a trial movement
direction, a trial peak speed width, or a trial continuity of
movement, and wherein the at least one reference task-performance
metric comprises one or more of a reference time period, a
reference movement length, a reference movement direction, a
reference peak speed width, or a reference continuity of
movement.
26. The physical computer-readable medium of claim 19, wherein the
training task comprises a task indicative of a surgical task.
27. The physical computer-readable medium of claim 19, wherein the
at least one sensor comprises a touch sensor, an accelerometer, a
light sensor, an infrared sensor, an ultrasonic sensor, a compass
sensor, a radio-frequency sensor, or a motion tracking sensor,
wherein the at least one block component comprises a connector, a
brick, a rod, or a gear, and wherein the at least one actuator
comprises a stepper motor or a servomotor.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present non-provisional utility application claims
priority under 35 U.S.C. .sctn.119(e) to co-pending provisional
application number U.S. 61/634,209 filed on Feb. 24, 2012, the
entire contents of which are herein incorporated by reference.
BACKGROUND
[0002] Minimally invasive surgery (MIS or laparoscopic surgery) is
a modern surgical technique that may require small incisions or
sometimes may be performed with no incisions at all. MIS may be
performed with an endoscope and/or several other long, thin
surgical instruments. Accordingly, some drawbacks that may be
associated with large incisions--for example, operative blood loss
and post-operative pain--may be limited and recovery time may be
shorter compared to traditional open surgery. Despite these
advantages, MIS may be more challenging than conventional surgery
because of various limitations associated with performing MIS
techniques. For example, laparoscopic surgeons may be required to
successfully perform surgery procedures despite potentially having
restricted vision, hand-eye coordination problems, limited working
space, and lack of tactile sensation, among other impediments.
Accordingly, MIS may be a more difficult skill for medical students
and residents to master.
[0003] Simulations with computerized surgical training systems may
offer an opportunity to teach and practice surgical skills, such as
MIS, outside the operating room before using such skills when
performing surgeries on living patients. Known as "transfer of
learning," (the application of skills and knowledge gained in one
context being applied in another context), technical skills
acquired, for example, on low-fidelity simulators may be
transferred to improve performance on higher fidelity models such
as live animals, cadavers and, eventually live human patients.
[0004] Transfer of learning may be applied in surgical procedures
by abstracting the essential construct of the surgical procedure
(i.e., task) in developed models that may allow trainees to perform
the abstract tasks. When the right abstract tasks are selected for
training, the trainee may learn to ignore the physical limitations
of the training platform, thereby learning techniques that may be
used while performing surgical procedures.
SUMMARY
[0005] This disclosure generally involves methods and systems for
evaluating the performance of surgical techniques, such as MIS
techniques.
[0006] In a first embodiment, a method is provided. The method
includes receiving task-performance data from at least one sensor
of a training system. The training system further includes at least
one block component and at least one actuating component. The at
least one sensor, the at least one block component, and the at
least one actuating component are configured to simulate a training
task. The method also includes determining, based on the received
task-performance data, at least one trial task-performance metric
corresponding to a trial performance of the training task. The
method additionally includes selecting at least one reference
task-performance metric from a plurality of reference
task-performance metrics. Each reference task-performance metric in
the plurality corresponds to a respective reference performance of
the training task. The method further includes determining, based
on a comparison of the at least one trial task-performance metric
to the at least one reference task-performance metric, a
task-performance classification level. The method yet even further
includes causing a graphical display to provide an indication of
the task-performance classification level.
[0007] In a second embodiment, a system is provided. The system
includes at least one sensor configured to receive task-performance
data, at least one block component, and at least one actuating
component. The at least one sensor, the at least one block
component, and the at least one actuating component are configured
to simulate a training task. The system also includes a processor.
The processor is configured to determine, based on the received
task-performance data, at least one trial task-performance metric
corresponding to a trial performance of the training task. The
processor is also configured to select at least one reference
task-performance metric from a plurality of reference
task-performance metrics. Each reference task-performance metric in
the plurality corresponds to a respective reference performance of
the training task. The processor is additionally configured to
determine, based on a comparison of the at least one trial
task-performance metric to the at least one reference
task-performance metric, a task-performance classification level.
The processor is further configured to cause a graphical display to
provide an indication of the task-performance classification
level.
[0008] In a third embodiment, a physical computer-readable medium
having stored thereon program instructions executable by a
processor to cause the processor to perform functions is provided.
The functions include receiving task-performance data from at least
one sensor of a training system. The training system further
includes at least one block component and at least one actuating
component. The at least one sensor, the at least one block
component, and the at least one actuating component are configured
to simulate a training task. The functions also include
determining, based on the received task-performance data, at least
one trial task-performance metric corresponding to a trial
performance of the training task. The functions additionally
include selecting at least one reference task-performance metric
from a plurality of reference task-performance metrics. Each
reference task-performance metric in the plurality corresponds to a
respective reference performance of the training task. The
functions further include determining, based on a comparison of the
at least one trial task-performance metric to the at least one
reference task-performance metric, a task-performance
classification level. The functions yet even further include
causing a graphical display to provide an indication of the
task-performance classification level.
[0009] The foregoing summary is illustrative only and should not be
taken in any way to be limiting. In addition to the illustrative
aspects, embodiments, and features described above, further
aspects, embodiments, and features will become apparent by
reference to the figures and the following detailed
description.
BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The following drawings in conjunction with the detailed
description may be used to understand how the various embodiments
of the present invention provide the stated and further
advantages.
[0011] FIG. 1A illustrates a block diagram of an example network
environment in which the methods and systems described herein may
be implemented, according to an example embodiment.
[0012] FIG. 1B illustrates a schematic of an example computer
assisted surgical trainer and assessment system (CAST) that may be
used in the network environment of FIG. 1A, according to an example
embodiment.
[0013] FIG. 1C illustrates the CAST system of FIG. 1B in practice,
according to an example embodiment.
[0014] FIG. 2A illustrates a simplified embodiment of an example
web server that may be used in the environment of FIG. 1A and with
the CAST system of FIG. 1B, according to an example embodiment.
[0015] FIG. 2B illustrates a simplified embodiment of an example
client device that may be used in the environment of FIG. 1A and
with the CAST system of FIG. 1B, according to an example
embodiment.
[0016] FIG. 3A illustrates a flow chart for evaluating surgical
procedures, according to an example embodiment.
[0017] FIG. 3B illustrates another flow chart for evaluating
surgical procedures, according to an example embodiment.
[0018] FIGS. 4A-4B illustrate example surgical tasks, according to
example embodiments.
[0019] FIG. 5 illustrates an example computer program product,
according to an example embodiment.
DETAILED DESCRIPTION
[0020] Example methods and systems are described herein. Any
example embodiment or feature described herein is not necessarily
to be construed as preferred or advantageous over other embodiments
or features. The example embodiments described herein are not meant
to be limiting. It will be readily understood that certain aspects
of the disclosed systems and methods can be arranged and combined
in a wide variety of different configurations, all of which are
contemplated herein.
[0021] Furthermore, the particular arrangements shown in the
Figures should not be viewed as limiting. It should be understood
that other embodiments may include more or less of each element
shown in a given Figure. Further, some of the illustrated elements
may be combined or omitted. Yet further, an example embodiment may
include elements that are not illustrated in the Figures.
[0022] Special training processes may be used to help address the
above-noted difficulties associated with performing surgical
techniques, such as MIS techniques. In typical approaches to
training, when students are evaluated on their minimally invasive
surgical skills, a trainer serves as both an observer and an
evaluator while the student (or trainee) performs a surgical
exercise or technique. Known as the apprenticeship model, this
approach utilizes metrics, such as low, medium, high or other
comparable terms, along with mental rules or guidelines (e.g.,
recorded by the trainer or expert surgeon) to compare the values of
the metrics with expert criteria. Based on the comparison,
qualitative judgment may then be made by the trainer.
[0023] However, due to the subjective nature of the apprenticeship
model along with the lack of expert surgeons' awareness of how the
judgment process takes place, imprecise rules may result for the
evaluation of surgical skills, such as MIS skills. Moreover,
assessment by observation generally may not meet the validity and
reliability criteria necessary for an objective evaluation, and the
apprenticeship model is becoming ever more difficult to sustain
because traditional surgical education methods are not suitable for
MIS training
[0024] Currently, methods that may serve to objectively evaluate
surgical skills range from checklists and global scores to complex
virtual reality based systems. For example, objective structure
assessment of technical skills (OSATS) is a methodology consisting
of six stations where residents and trainees perform procedures
such as placing sutures in a pad of synthetic skin, joining two cut
ends of bowel, and inserting an intercostal catheter. The
procedures are performed on live animals or bench models in fixed
time periods. Staff surgeons observe the performance of the
trainees and evaluate them using a checklist and a global scoring
sheet.
[0025] In another example, minimally Invasive Surgical
Trainer-Virtual Reality (MIST-VR) is a popular, low-fidelity,
virtual reality system that attempts to replicate the skills of
laparoscopic operating, but not replicate the appearance (the
virtual environment consists of a wire cage in which various
geometric objects may be manipulated with two tools, each having 5
degrees of freedom). MIST may distinguish between novice, junior,
and experienced surgeons using scores derived from weighted
averages of performance metrics such as: time to task completion,
errors and economy of movement.
[0026] In another example, Computer Enhanced Laparoscopic Training
System (CELTS) is a system that may be capable of tracking the
motion of two laparoscopic instruments while a trainee performs a
variety of surgical training tasks. CELTS includes a box-type video
trainer platform that uses conventional laparoscopic imaging
equipment coupled with real laparoscopic instruments that are
placed through a Virtual Laparoscopic Interface. Using kinematics
analysis theory, CELTS generates five quantitative metrics to
measure the trainee: time to complete the task, depth perception,
path length of the instruments, motion smoothness, and response
orientation. Using standard scores statistics, the performances of
trainees are compared to the performances of expert surgeons.
[0027] Several other simulation systems exist as well including
Blue-Dragon System, LapSim trainer, ProMIS System, and Immersion
Simulators, to name a few.
[0028] Despite the variety of surgical trainers already in
existence, many of them are confined to low-cost non-computerized
trainers with limited assessment support or to high-cost virtual
trainers that are inaccessible to typical medical students.
Moreover, many of the surgical trainers noted above rely on
judgment criteria generated at an early stage of a design phase of
the system, and may present no way to offset the subjectivity
inherited from relying solely on the performance data of the
selection subjects used during the design phase of the system.
Further, the judgment criteria are meant to remain intact over
time, making it difficult for a trainee who has reached the expert
level to keep improving. Additionally, the above noted surgical
systems may not provide residents or surgeons a way to practice
laparoscopic surgery and receive objective feedback on their
performance outside of a dry lab or when unsupervised by a
coach.
[0029] Herein, a computerized system for the assessment and
training of MIS skills is provided that may overcome some or all of
the above noted drawbacks. The system includes a set of physical
building units, sensors and actuators that may embody a variety of
training tasks. The sensors may gather task-performance data (data
related to the performance of a training task) in real-time, and
the task-performance data may be processed to classify a level of
expertise shown by a given trainee of the system. Based on a unique
set of performance metrics, the system may compare quantitative and
qualitative performance results of the trainee against the
performance results of other that have previously performed the
training task. The computer system may also provide visual guidance
to the trainee on how to perform an example task.
B. Example Systems
[0030] FIG. 1A illustrates a block diagram of one example network
environment in which the methods and systems disclosed herein may
be implemented. The illustrated environment includes a web server
102, client devices 108a, 108b, and 108c . . . , 108(N) each
configured to communicate with web server 102 over the Network 106,
and a data storage 110.
[0031] Note that many variations of example network environment 100
are possible. For example, although FIG. 1A explicitly shows only
one web server 102, network environment 100 could include multiples
web servers. As another example, one or more of the functional
components could be omitted altogether. Thus, various components of
network environment 100 can work alone or in combination to carry
out the functions of the present methods, including those functions
described below with respect to FIGS. 3A and 3B. Which components
are involved may depend on the particular network environment
used.
[0032] Web server 102 may be any computing device capable of
carrying out the methods and functions described herein, and will
be discussed in more detail with respect to FIG. 2A. Web server 102
may include one or more web-based applications 104a-c that may be
configured to perform the methods disclosed herein. For example,
the web-based applications 104a-c may be configured to perform a
portion of, or all of the methods discussed in reference to FIGS.
3A-3B. The web applications may be implemented using numerous web
application frameworks including, for example, PHP, JavaServer,
ASP.NET, or Cold Fusion to name a few. Many other web application
frameworks exist and may be used to implement the web application.
Web server 102 may also include other components that are discussed
in more detail later in this disclosure, such as a processor, one
or more memory components, or one or more network interfaces, for
example.
[0033] The client devices 108a, 108b, and 108c may also be used to
help carry out the methods described herein. The client devices may
be any suitable computing device, such as a tablet computer, laptop
computer, desktop computer, network terminal, mobile computing
device (e.g., smart phone), etc., and will be discussed in more
detail with respect to FIG. 2B. In other illustrative embodiments,
the client devices may take the form of a portable media device,
personal digital assistant, notebook computer, or any other mobile
device capable of accessing web server 102 over the Network 106.
Network 106 may take the form of any known network such as a LAN,
WAN, or the Internet.
[0034] Data storage 110 may include one or more computer-readable
storage media that can be read or accessed by at least one of the
client devices 108a, 108b, and 108c or web server 102, for example.
The one or more computer-readable storage media may include
volatile and/or non-volatile storage components, such as optical,
magnetic, organic or other memory or disc storage. In some
embodiments, the data storage 110 may be implemented using a single
physical device (e.g., one optical, magnetic, organic or other
memory or disc storage unit), while in other embodiments, the data
storage 110 may be implemented using two or more physical
devices.
[0035] Data storage 110 may contain data as well as stored program
logic, executable by a processor, and capable of manipulating the
data. By way of example, the data in data storage 110 may contain
one or more stored datasets that include trainee information,
information about prior classifications of a given trainee,
task-performance data, task-performance metrics, and video data
associated with tasks that may have been previously performed by
the trainee. In some examples, data storage 110 may also contain
data representing example task paths associated with various
training tasks. Additionally, data storage 110 may also contain
stored program logic that is executable by a processor of web
server 102 (shown in FIG. 2) to carry out the various webserver
functions described herein.
[0036] FIG. 1B is a schematic illustrating an example surgical
trainer and assessment system (CAST) system that may be used in the
network environment of FIG. 1A. The CAST system 120 may include
both hardware and software components. The software components may
include both backend and frontend aspects. The front-end aspects
may include, for example, applications that are utilized to perform
the various methods and functions described herein such as
rendering comparisons or assessments regarding a performance of a
trainee, and may be configured to run on a tablet device 122. The
tablet device 122 may be the same or similar to client devices
108a-c described in FIG. 1A. The back-end software aspects may be
configured to run in a microcontroller 128 associated with network
environment 100. Microcontroller 128 may also serve as a control
unit for sensors and actuators that may be installed in surgical
instruments 122 that may be used to perform tasks. The configurable
tasks 126 may be constructed utilizing, for example, building units
included in the CAST-PV MIS fix box trainer and instruments 124
(discussed in more detail later in this disclosure) provided with
the CAST-PV system 120.
[0037] The computer assisted surgical trainer portable version
(CAST-PV) Web server 130 may be a webserver used to carry out some
or all of the functions described herein. CAST-PV Web server 130
may be the same or similar to web server 200 shown in FIG. 2.
CAST-PV Web server 130 may be configured to run a web application,
similar to web-based applications 104a-c discussed in reference to
FIG. 1A, that is configured to host a community of knowledge for
MIS skills, and both trainers and trainees can upload and download
different documentation and media, such as schematics to build
training tasks, simulators, and videos.
[0038] In fact the CAST-PV web server 130 may be configured to
continually record or receive new trainee data. The continuous
recording of performance data of a trainee and membership function
regeneration after deployment may allow the CAST-PV web server to
maintain a community that is adaptable to its trainees' pace of
improvement or to new, higher skilled users. CAST-PV Web server 130
may also be configured to run a web-application that performs
assessments of given trainees as they perform training tasks. The
data associated with CAST-PV Web server may, for example, be stored
in data storage the same as or similar to data storage 110 of
network environment 100, for example.
[0039] FIG. 1C illustrates aspects the CAST system 120 in practice.
In FIG. 1C, CAST system 120 may be built of Lego.RTM. Mindstorms
and a tablet running an application that serves as the platform for
running the applications that provide training for laparoscopic
surgery. However, FIG. 1C is an example configuration only, and is
not intended to be limiting. CAST system 120 may be built of things
other than Legos.RTM. so long as the building components are
capable of carrying out the tasks described herein. In FIG. 1C,
CAST system 120 is shown from two different perspectives, 122 and
124.
[0040] Note that, in some implementations, users may not observe
see the Lego.RTM. Mindstorm components directly: they must rely on,
for example a webcam 138 of the tablet device. This challenges, for
example, hand-eye coordination task and may provide fidelity to the
task since users must perform on a 2D representation of a 3D
space.
[0041] FIG. 2A is a simplified block diagram depicting an example
web server 200 that may be configured to operate in accordance with
various embodiments. For example, web server 200 may be used as
CAST-PV Web server 130 in network environment 100. Web server 200
may be similar or identical to web server 102 discussed in
reference to FIG. 1A. Web Server 200 may be a tablet computer,
personal computer, laptop computer, or some other type of device
that communicates with other communication devices via
point-to-point links or via a network, such as Network 106 shown in
FIG. 1A. In a basic configuration, web server 200 may include one
or more processors 202, data storage 204, and a wireless
communication interface 206. A memory bus 208 can be used for
communicating among the processor 202, data storage 204, and the
wireless communication interface 206.
[0042] Processor 202 may include one or more CPUs, such as one or
more general purpose processors and/or one or more dedicated
processors (e.g., application specific integrated circuits (ASICs)
or digital signal processors (DSPs), etc.). Data storage 204, in
turn, may comprise volatile and/or non-volatile memory and can be
integrated in whole or in part with processor 202. Data storage 204
may hold program instructions executable by processor 202, and data
that is manipulated by these instructions, to carry out various
logic functions described herein. Alternatively, the logic
functions can be defined by hardware, firmware, and/or any
combination of hardware, firmware, and software.
[0043] Wireless-communication interface 206 may take the form of a
wireless connection, perhaps operating according to IEEE 802.11 or
any other protocol or protocols used to communicate with other
communication devices or a network. Other forms of physical layer
connections and other types of standard or proprietary
communication protocols may be used over wireless communication
interface 206. Furthermore, wireless communication interface 206
may comprise multiple physical or logical network interfaces, each
capable of operating according to the same or different protocols.
In some embodiments, the web server may additionally or
alternatively include a wired-communication interface (not
shown).
[0044] In addition to the components and functions discussed above,
web server 200 may support additional components and functions,
including components and functions used to perform any of the
methods described herein.
[0045] FIG. 2B is a simplified block diagram depicting an example
client device 220 that may be configured to operate in accordance
with various embodiments. Client device 220 may be similar or
identical to client devices 108a-c discussed in reference to FIG. 1
and may be used as tablet device 122 of CAST system 120, for
example.
[0046] The client device 220 may include a user interface module
222, a wireless-communication interface 226, one or more processors
224, and data storage 228, all of which may be linked together via
a system bus, network, or other connection mechanism 230. The user
interface module 222 may be operable to send data to and/or receive
data from external user input/output devices. For example, the user
interface module 222 may be configured to send/receive data to/from
user input devices such as a keyboard, a keypad, a touch screen, a
computer mouse, a track ball, a joystick, and/or other similar
devices, now known or later developed. The user interface module
222 may also be configured to provide output to user display
devices, such as one or more cathode ray tubes (CRT), liquid
crystal displays (LCD), light emitting diodes (LEDs), displays
using digital light processing (DLP) technology, printers, light
bulbs, and/or other similar devices, now known or later developed.
The user interface module 222 may also be configured to generate
audible output(s), such as a speaker, speaker jack, audio output
port, audio output device, earphones, and/or other similar devices,
now known or later developed. The wireless-communications interface
module 222 may be configurable to communicate via a network, such
as the Network 106 shown in FIG. 1A.
[0047] Wireless-communication interface 226 may take the form of a
wireless connection, perhaps operating according to IEEE 802.11 or
any other protocol or protocols used to communicate with other
communication devices or a network. Other forms of physical layer
connections and other types of standard or proprietary
communication protocols may be used over wireless communication
interface 226. Furthermore, wireless communication interface 226
may comprise multiple physical or logical network interfaces, each
capable of operating according to the same or different protocols.
In some embodiments, the client device 220 may additionally or
alternatively include a wired-communication interface (not
shown).
[0048] The data storage 228 may include computer-readable program
instructions and perhaps additional data. In some embodiments, the
storage 204 may additionally include storage required to perform at
least part of the herein-described techniques and/or at least part
of the functionality of the herein-described devices and
networks.
[0049] The one or more processors 224 may include one or more
general purpose processors (e.g., microprocessors manufactured by
Intel or Advanced Micro Devices) and/or one or more special purpose
processors (e.g., digital signal processors, application specific
integrated circuits, etc.). The one or more processors 224 may be
configured to execute computer-readable program instructions that
are contained in the data storage 228 and/or other instructions as
described herein. The data storage 228 may include one or more
computer-readable storage media that can be read or accessed by at
least one of the processors 224. The one or more computer-readable
storage media may include volatile and/or non-volatile storage
components, such as optical, magnetic, organic or other memory or
disc storage, which can be integrated in whole or in part with at
least one of the processors 224. In some embodiments, the data
storage 228 may be implemented using a single physical device
(e.g., one optical, magnetic, organic or other memory or disc
storage unit), while in other embodiments, the data storage 228 may
be implemented using two or more physical devices.
C. Example Methods
[0050] FIG. 3A illustrates a method 300 that may be carried out
using the CAST system 120 in network environment 100, described
above with regard to FIGS. 1A-1C, for example. Method 300 may
effectively train a user to perform MIS techniques, according to an
example embodiment. Method 300 may include one or more operations,
functions, or actions as illustrated by one or more of blocks
302-310. Although the blocks are illustrated in a sequential order,
these blocks may also be performed in parallel, and/or in a
different order than those described herein. Also, the various
blocks may be combined into fewer blocks, divided into additional
blocks, and/or removed based upon the desired implementation.
[0051] In addition, for the method 300 and other processes and
methods disclosed herein, the flowchart shows functionality and
operation of one possible implementation of present embodiments. In
this regard, each block may represent a module, a segment, or a
portion of program code, which includes one or more instructions
executable by a processor or computing device for implementing
specific logical functions or steps in the process. The program
code may be stored on any type of computer readable medium or
memory, for example, such as a storage device including a disk or
hard drive. The computer readable medium may include non-transitory
computer readable medium, for example, such as computer-readable
media that stores data for short periods of time like register
memory, processor cache and Random Access Memory (RAM). The
computer readable medium may also include non-transitory media,
such as secondary or persistent long term storage, like read only
memory (ROM), optical or magnetic disks, compact-disc read only
memory (CD-ROM), for example. The computer readable media may also
be any other volatile or non-volatile storage systems. The computer
readable medium may be considered a computer readable storage
medium, for example, or a tangible storage device, such as the one
described in reference to FIG. 5.
[0052] First, at block 302, the method includes receive
task-performance data from at least one sensor of a training
system. The training system may be the same or similar to the
training system discussed above with regard to FIGS. 1B and 1C, for
example. Along with the at least one sensor, the training system
may include at least one block component and at least one actuator.
The sensors may include touch sensors, accelerometers, light
sensors, infrared sensors, ultrasonic sensors, compass sensors,
radio frequency sensors, and motion tracking sensors and the
actuators may include such stepper motors and servomotors. Among
other examples, such sensors and actuators may be installed in
surgical instruments required to perform tasks, and the
configurable tasks may be constructed utilizing the block
components. The block components may comprise a connector, a brick,
a rod, or a gear that help provide structure to the training task.
In one example, Lego.RTM. Mindstroms may be used to provide
structure to the training task, however any such construction
blocks, toys, gears, or rods may be used.
[0053] Taken together, the sensor, block component, and actuator
may be used to represent training task that may be performed by a
trainee of the system. For example, the sensor, block component,
and actuator may be configured in a manner that requires a user to
perform certain hand-eye coordination tasks or certain hand
movements while holding or using a surgical instrument. More
specifically, trainees and trainers may use the sensor, actuators,
and block components to build a diversity of tasks, which aim to
improve MIS skills such as hand-eye coordination, ambidexterity,
space perception, instrument handling, precision of motion, and
economy of movements. The actuators may provide the dynamic
elements of a training task comprising moving targets and obstacles
in the path of a trainee to accomplish a subtask. The sensors may
be configured to gather data regarding movement of the trainee
while performing a task.
[0054] In one example, the sensors may be connected by means of a
Lego.RTM. Mindstorm Brick 134 as shown in FIG. 1C. In this example,
trainees may use surgical instruments to navigate from each
checkpoint 132, clicking the respective sensor labelled 1, 2, and
3. Throughout the performance of the task, a position of the
sensors may change, for example, to 90.degree., 45.degree. and
90.degree., respectively by rotating the servo motors 134.
[0055] FIGS. 4A and 4B illustrate example surgical tasks that may,
for example, be constructed using the sensors, actuators, and
blocks.
[0056] In FIGS. 4A and 4B, "Original task" represents a particular
MIS technique that may be constructed as a training task in CAST
system 120 using Lego.RTM. bricks. For example, as shown in FIGS.
4A and 4B, example tasks may include pegboard patterns, placement
of ligating loop, suturing and knot tying, and/or pattern cutting.
Note, FIGS. 4A and 4B are meant to be examples only, and many
different tasks may be constructed using the components of CAST
system 120.
[0057] The task-performance data may include data that is obtained
during the performance of the task, and may include movement data
associated with the sensors, actuators, and block components that
define the training task. In some examples, the task-performance
data may include video data of the performance of the training
task. In other examples, the task-performance data may include
measurement information that, for example, defines translation,
rotation, or speed measurements associated with the performance of
the training task. Such information may be obtained, for example,
using the sensors of the CAST system 120. Other data may be
included in the task-performance data as well. In other words, the
task-movement data may include any data relevant to measuring the
performance of a task and may take any format capable of organizing
and storing relevant task-performance data, may encompass various
types of data, may be of various file formats, and may be stored to
various mediums, whether those types of data, file formats, and
mediums are known or have yet to be developed. In some examples,
the CAST system may utilize a tablet that has an embedded camera,
which allows trainees to view their movements while performing a
task (see FIG. 1C).
[0058] Once the task-performance data has been received, at block
304, the method includes determine, based on the task-performance
data, at least one trial task-performance metric. The
task-performance metric may be any metric that facilitates the
assessment of performed tasks (e.g., laparoscopic surgical tasks).
The task-performance metric may be determined, for example, by
interviewing MIS experts, or based on previously determined metrics
used to measure and assess MIS surgical tasks. The metrics may be
provided to CAST Web server 130 and stored in a database, for
example. The task-performance metric may include a time period, a
movement length, a movement direction, a peak speed width, or a
continuity of movement, among other examples. The time period
task-performance metric may define the total time taken to perform
a given task; the movement length task-performance metric may
define the total movement length used to perform the task; and the
movement direction task-performance metric may quantify the extent
that an instrument used to perform the task deviates in moving
from, for example, target A to target B in the task, among other
examples.
[0059] The peak speed task-performance metric may define the
movement speed described by a laparoscopic instrument that when
being moved between two targets, for example by an experienced
surgeon, goes rapidly from rest to a maximum speed value, maintains
that maximum (or a close enough) value until the instrument is near
to the target, and then returns to rest at the target. Peak speed
width may be calculated by dividing a peak amplitude of a speed
wave (that defines the movement) by two and calculating the ratio
of the resulting areas. The peak speed width metric value depends
on the horizontal symmetry of the wave; waves closer to a
trapezoidal shape reflect better movement control over the
instrument than jitter shapes.
[0060] The continuity of movement task-performance metric may
define a measurement of how continuous movement is. The continuity
of movement task-performance metric may be calculated by
eliminating, recursively, graph troughs that define a speed, to
obtain a modified graph, and then calculating the ratio of both
areas under the curves original speed graph.
[0061] Note, the above noted metrics are examples only and other
metrics may be used to assess a performance of the training
task.
[0062] Once the task-performance metric has been determined, the
method proceeds to block 306. At block 306, method 300 includes
select at least one reference task-performance metric from a
plurality of reference-task metrics. The reference-task performance
metric may be the same or similar to the trial task-performance
metric discussed with regard to block 304. The reference-task
performance metric may be a metric that was obtained by a different
trainee during an earlier performance of the training task. The
different trainee may, for example, be a part of the MIS community,
and may have previously uploaded task-performance metrics to the
CAST-PV Web server 130, for example.
[0063] In other examples, the reference task-performance metric may
be a metric associated with a different trainee who happens to be
performing the same training task at the same time as the trainee
of step 302. In further examples, the task performance metric may
be provided by expert surgeons who desire to provide example
techniques associated with the training task. Based on the metrics
provided, to CAST-PV Web server 130, for example, an appropriate
metric may be selected. The metric may be selected for example,
based on a focus of the training task. If, for example, a given
trainee is focusing on continuity of movement, various continuity
of movement task-performance metrics (and their respective values)
may be selected for comparison. In other examples, if a given
trainee desires a more holistic assessment, various different
task-performance metrics may be selected.
[0064] Next, at block 308, method 300 includes determine, based on
a comparison of the trial task-performance metric to the reference
task-performance metric, a task-performance classification level.
The task-performance classification level may be a level that
defines the proficiency of a user performing the training task. The
classification levels may, for example, be determined by experts in
the field of laparoscopic surgery. Example classifications may
include novice, beginner, proficient, and expert. Other
classifications may be used as well.
[0065] To make the comparison of the trial-task performance metric
and the reference task-performance metric, fuzzy logic may be used.
Fuzzy logic is a form of many-valued logic or probabilistic logic
that deals with reasoning that is approximate rather than fixed and
exact. Fuzzy logic uses fuzzy logic variables that may have a truth
value that ranges in degree between 0 and 1, and fuzzy logic has
been extended to handle the concept of partial truth, where the
truth value may range between completely true and completely false.
Furthermore, when linguistic variables are used, these degrees may
be managed by specific functions.
[0066] For example, a range of values corresponding to a valid
performance metric may be sorted from less desirable value to most
desirable value and divided into four crisp intervals: Negative,
Weak Positive, Moderate Positive, and Strong Positive. If
proficiency levels such as Novice, Beginner, Proficient, and Expert
are matched with the intervals that characterize them, Negative,
Weak Positive, Moderate Positive and Strong Positive, respectively,
then values may exist where it is not possible to accurately define
whether they are characteristic of one proficiency level or
another. Accordingly, because there is a lack of personal and
interpersonal agreement between expert surgeons on defining
proficiency levels in laparoscopy surgery, fuzzy logic may be used
to reconcile the differences.
[0067] For example, fuzzy sets may be used to categorize those
values that fall within the boundary areas between two neighboring
intervals characteristic of different classification levels. In
other words, trainees may exist with performances containing
metrics' values (e.g., the movement speed task-performance metric)
characteristic of two neighboring classification or proficiency
levels at a certain degree, e.g., a membership degree of 0.5 to the
Beginner proficiency level and a membership degree of 0.5 to the
Proficient proficiency level. Such analysis (comparison) may be
made, for example using CAST-PV Web server 130, and may be stored
in a database similar to or the same as data storage 110.
[0068] In the CAST system, fuzzy membership functions may be
derived through the location of transitional points between
proficiency levels (received from the CAST system web-based
community) defined as percentages. The locations of the
transitional points change according to the number of samples used
for the generation of membership functions. The greater the number
and diversity of the samples, the more accurate the system may be.
To offset the subjectivity inherited from relying solely on the
data of the subjects used during the design phase of the system,
the samples of new subjects that exceed a limit of a metric range
(i.e., its maximum or minimum value registered in the system)
should be considered for its integration with the system knowledge
base, and therefore, for the recalculation of new transitional
points.
[0069] Once the classification level has been determined, at block
310, the method includes causing a graphical display to provide an
indication of the task-performance classification level. The
graphical display may, for example, be a graphical display of the
client device described with reference to FIG. 2B. The indication
of the task-performance classification level may be qualitative and
quantitative performance data indicative of a performance of the
training task. The quantitative and qualitative performance data
may be determined from the task-performance metrics and based on
the comparison made at block 308.
[0070] FIG. 3B illustrates another example embodiment of additional
or alternative steps of method 300 shown in FIG. 3A. In FIG. 3B,
method 300 additionally includes steps 322-324. Initially, at block
322, method 300 includes determine based on the received
task-performance data, instructions indicative of an example
performance of the training task. In some cases, the instructions
indicative of an example performance of the training task may
include instructions for performing the task using what is
determined to be a minimum movement length while performing the
task, or instructions for performing the task in an efficient
manner, or instructions for performing the task while avoiding
particular areas in the three-dimensional surgical space. For
example, referring back to FIG. 4B, the example performance may
include an example of how to perform the suture and knot tying task
using a minimum movement length.
[0071] In another example, an optimal motion planning method called
optMIS may be used to determine the instructions indicative of an
example. The instructions may be provided, for example, in the form
of shortest, collision-free trajectories for instrument movements
used to perform the suture and knot tying task. The motion planning
method may consist of two sequential stages, such as a shortest
path planning stage and time-optimal trajectory planning stage. At
the first stage, the workspace may be represented as a mesh of
tetrahedrons based on the proposed Delaunay tetrahedralization
algorithm, and the shortest curves may be constructed through the
data points of a mesh. The obtained curves may then be used to
interpolate the positions of instruments within the range of
targets. At the second stage of the method, an elitist genetic
algorithm may be applied to find the periods of time when the data
points of the shortest curves should be reached in order to avoid
collisions between instruments. The optimal path concept will now
be discussed in more detail below.
[0072] The Delaunay tetrahedralization algorithm is used to split
obstacles into tetrahedrons and to derive the free space so that
all tetrahedrons located in this free space comprise the search
space of the optimal motion planning method. Dijkstra's algorithm
defines tetrahedrons that correspond to promising areas in the
space. An enumerative combinatorics technique exhaustively explores
the selected areas of interest to provide more accurate solution to
the problem. Cubic spline methodology helps in constructing
realistic smooth paths to prevent zig-zag movements of the
instruments. The explorational power of population based
heuristics, such as elitist genetic algorithm, is used to quickly
find the near-optimal average speed for instrument movements in
order to prevent collisions between them.
[0073] As noted above, the optMIS method consists of the following
sequential stages: [0074] 1. Shortest path planning: for each
laparoscopic instrument find a set of configurations S.sub.i
.di-elect cons.C.sub.free corresponding to a shortest path. [0075]
2. Time-optimal trajectory planning: assign time period t to each
configuration S.sub.i .di-elect cons.C.sub.free in order to avoid
collisions between the instruments.
Shortest Path Planning
[0076] The first step toward defining the shortest path S.sub.i is
to represent the workspace as a mesh of tetrahedrons. For this, we
may apply the Delaunay tetrahedralization algorithm to each convex
obstacle B.sub.j. The union of DT.sub.obst simplicial complexes
that decompose the concave hull of the obstacle points is obtained
as follows:
DT obst = j = 1 J DT j ##EQU00001##
where DT.sub.j is a simplicial complex that represents the j-th
obstacle. Then, a simplicial complex DT.sub.free that corresponds
to the free space C.sub.free is defined by decomposing the
workspace W into a mesh of tetrahedrons DT and subtracting
DT.sub.obst from it:
DT.sub.free=DT-DT.sub.obst
[0077] The vertices of tetrahedrons DT are generated randomly using
a uniform distribution. In contrast to the methods of alpha shapes,
which require defining global or local threshold alpha, this
approach provides more flexibility in modeling complex obstacle
spaces and is independent of additional parameters. Once the
workspace has been decomposed, Dijkstra's algorithm is applied to
find the shortest continuous channel of
tetrahedronsQ={q.sub.i.sup.1, . . . , q.sub.i.sup.N} .di-elect
cons.DT.sub.free, where N is a number of tetrahedrons. The length
of the channel L(Q) is calculated as the sum of distances between
centroids of the tetrahedrons. A set of configurations
S.sub.i={s.sub.i.sup.1, . . . , s.sub.i.sup.N} .di-elect
cons.Qcorresponding to the shortest path is built to satisfy the
following constraints .OMEGA. for i= 1,I and n= 1,N:
.OMEGA. : { r i ( s i n ) B = .0. a i n .di-elect cons. [ a i min ,
a i max ] B i n .di-elect cons. [ B i min , B i max ] .gamma. i n
.di-elect cons. [ .gamma. i min , .gamma. i max ] ##EQU00002##
[0078] The first constraint eliminates collisions with obstacles
when the instrument r.sub.i is at s.sub.i.sup.n, with the provision
that the instrument be geometrically represented as a cylinder with
a radius .rho..sub.i. The second, third, and fourth constraints are
used to check whether pitch and yaw angles as well as the insertion
depth stay within the range between the lower and upper bounds. As
a result, our Dijkstra's algorithm always provides the shortest
feasible channel without the need to solve more time-consuming
k-shortest paths problem.
[0079] The next step is to construct the shortest curve through the
data points corresponding to S.sub.i={s|s .di-elect cons..OMEGA.}.
An enumerative combinatorics technique is used to evaluate all
combinations of the data points and find the one that gives the
minimal length of the curve. We use the cubic spline methodology to
fit third-order polynomials between the data points providing that
the curve obtained is continuous and smooth, i.e.:
F.sub.i(x)={f.sub.i.sup.1(x), . . . , f.sub.i.sup.(N-1)(x)}
f.sub.i.sup.n(x)=a.sub.i.sup.n(x-x.sub.i.sup.n).sup.3+b.sub.i.sup.n(x-x.-
sub.i.sup.n).sup.2+c.sub.i.sup.n(x-x.sub.i.sup.n)+d.sub.i.sup.n
x.sub.n.ltoreq.x.ltoreq.x.sub.n+1
where Fi(x) is a piecewise function, f.sub.i.sup.n(x) is a cubic
polynomial; x .di-elect cons. R.sup.3 is a position in 3D Cartesian
space a, b, c and d are coefficients; N' is the number of data
points that satisfy the constraints .OMEGA. and N'.ltoreq.N.
[0080] The obtained curves are then used to interpolate the
positions of laparoscopic instruments within the range of
targets.
Time-Optimal Trajectory Planning
[0081] In this stage, a time law is specified on shortest paths
Fi(x) in order to avoid collisions between instruments. The stage
consists of the following two steps:
[0082] 1. Define the configurations at which laparoscopic
instruments intersect;
[0083] 2. Assign a time value to each intersection configuration in
order to prevent collisions between the instruments.
[0084] In order to detect the intersection points of the
instruments, we represent the configuration spaces Ci in terms of
spheres with radii equal to .gamma..sub.i.sup.max. The collision
area is composed of spherical caps that are found analytically by
combining the equations of spheres. Bounding points are defined for
the intervals of shortest paths that belong to the collision area.
These points are then assigned to the intersection
configurations:
S.sub.i.sup.int={s.sub.i.sup.1, . . . , s.sub.i.sup.L} .di-elect
cons.S.sub.i
where L is a number of intersections.
[0085] Once the first step is completed, an elitist genetic
algorithm (GA) is applied to find the periods of time t when the
configurations s.sub.i .di-elect cons. S.sub.i.sup.int should be
reached. Formally the algorithm can be described as follows.
[0086] Let P.sup..tau.={p.sup.1, . . . , p.sub.z} be a population
at generation that consists of Z chromosomes. Each chromosome in P
is represented by a binary string such as:
p.sup.z=(p.sub.m-1.sup.zp.sub.m-2.sup.z . . .
p.sub.1.sup.zp.sub.0.sup.z) .di-elect cons. {0,1}.sup.m
where z is the index of a string; m is a length of a string;
p.sub.m.sup.z is a gene at locus m. Binary strings p.sub.m.sup.z
are used to encode time values t .di-elect cons. [0,T] for
s.sub.i.sup.1(t) .di-elect cons. S.sub.i.sup.int,l= 1,l, and 1,l.
The fitness function Fit.sup.z operates to minimize a weighted sum
of the following components: [0087] (a) Fit.sub.1.sup.z 1: The time
delay between placing multiple laparoscopic instruments at each
intersection point. [0088] (b) F.sub.2.sup.z 2: The rate by which
the magnitude of velocity is changed along the paths. [0089] (c)
Fit.sub.3.sup.z 3: The total time T during which all goal positions
are accessed.
[0090] The penalty function is applied to infeasible chromosomes in
order to decrease their survival probability. A chromosome p.sup.z
is considered to be infeasible if the time delay Fit.sub.1.sup.z is
lower than a predefined lower bound Fit.sub.1.sup.min.
[0091] The performance of the elitist GA algorithm is controlled by
the genetic operator G that implements iterative transitions
between populations according to:
p.sup.(.tau.+1).about.G(P.sup..tau.)
where .about. is an equivalence relation. This operator is composed
of four sub-operators, namely the stochastic universal sampling
(A.sub.s), the uniform crossover (A.sub.c), the mutation (A.sub.m)
and the reproduction (A.sub.r) so that:
G=A.sub.s.degree.A.sub.c.degree.A.sub.m.degree.A.sub.r
[0092] External archiving is introduced as the elitist mechanism to
avoid the loss of the best solution during the evolution process.
The external archive is updated by a new best solution Fit.sup.z if
its fitness value is lower than the value of current best solution
Fit.sup.min. The elitist GA is automatically terminated once the
number d* of generations with a constant best solution is equal to
the predefined value d* within some threshold.
[0093] The GA outputs time values that we further use to estimate
the instruments' average speed at particular segments of the
shortest paths.
[0094] Note, although the term optimal path is used to describe,
for example, the form of shortest, collision-free trajectories, it
is not meant to be limiting and should not be taken to exclude any
particular path that may be determined as an example path using the
methods described herein.
[0095] Once the instructions indicative of an example of the
training task have been determined, method 300 includes, at block
324, cause the graphical display to provide an indication of the
instructions indicative of the example performance of the training
task. In one example, the instructions for performing the optimal
path (as noted above) may be displayed. Other instructions may be
included as well. Using the instructions for performing the optimal
path, the trainee may learn to perform the task in an optimal way,
thereby improving his/her technique.
[0096] In some embodiments, the disclosed methods may be
implemented as computer program instructions encoded on physical
computer-readable storage media in a machine-readable format, or on
other non-transitory media or articles of manufacture. FIG. 5 is a
schematic illustrating a conceptual partial view of an example
computer program product that includes a computer program for
executing a computer process on a computing device, arranged
according to at least some embodiments presented herein.
[0097] In one embodiment, the example computer program product 500
is provided using a signal bearing medium 501. The signal bearing
medium 501 may include one or more programming instructions 502
that, when executed by one or more processors may provide
functionality or portions of the functionality described above with
respect to FIGS. 1-3. In some examples, the signal bearing medium
501 may encompass a computer-readable medium 503, such as, but not
limited to, a hard disk drive, a Compact Disc (CD), a Digital Video
Disk (DVD), a digital tape, memory, etc. In some implementations,
the signal bearing medium 501 may encompass a computer recordable
medium 505, such as, but not limited to, memory, read/write (R/W)
CDs, R/W DVDs, etc. In some implementations, the signal bearing
medium 501 may encompass a communications medium 505, such as, but
not limited to, a digital and/or an analog communication medium
(e.g., a fiber optic cable, a waveguide, a wired communications
link, a wireless communication link, etc.). Thus, for example, the
signal bearing medium 501 may be conveyed by a wireless form of the
communications medium 505 (e.g., a wireless communications medium
conforming with the IEEE 802.11 standard or other transmission
protocol).
[0098] The one or more programming instructions 502 may be, for
example, computer executable and/or logic implemented instructions.
In some examples, a computing device such as the client device 220
of FIG. 2B may be configured to provide various operations,
functions, or actions in response to the programming instructions
502 conveyed to the client device 220 by one or more of the
computer readable medium 503, the computer recordable medium 504,
and/or the communications medium 505.
[0099] While various aspects and embodiments have been disclosed
herein, other aspects and embodiments will be apparent to those
skilled in the art. The various aspects and embodiments disclosed
herein are for purposes of illustration and are not intended to be
limiting, with the true scope being indicated by the following
claims, along with the full scope of equivalents to which such
claims are entitled. It is also to be understood that the
terminology used herein is for the purpose of describing particular
embodiments only, and is not intended to be limiting.
* * * * *