|
Description  |
|
|
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to motorized wheelchairs and, more particularly, to
wheelchair mounted control apparatus for enabling disabled persons to
control the operation of a motorized wheelchairs by means of voice
commands.
2. Description of the Prior Art
Particularly for persons paralyzed from the neck down the problem of
operating or controlling a motorized wheelchair has been formidable.
Conventional powered wheelchair control systems employ a "joy stick" or
other control means which must be operated by the hands of the invalid.
Various methods have been proposed for allowing a quadriplegic to control a
motorized wheelchair. For example, systems have been proposed which allow
the quadriplegic to control a wheelchair by means of head or eye
movements. Eye movement systems suffer the disadvantage of being sensitive
to the intensity of ambient light. Head movement systems, on the other
hand, require somewhat unnatural movements of the head in order to control
the chair. These movements may be psychologically undesirable for an
invalid who desires to appear as "natural" as possible to the outside
world. Both of the above systems provide only limited control capability.
For example, neither system provides the capability to make small
adjustments in the direction of travel of the chair which are necessary to
correct the "drift" which occurs when the chair travels over irregular
terrain.
Breath-controlled wheelchair systems are also known in the art. In these
systems the invalid controls the chair by sucking or blowing into one or
more tubes. The degree of control which can be provided is limited by the
number of tubes used. Thus, a high degree of control would require a large
number of tubes, and such a system would be too complex for effective
operation by the invalid.
A voice controlled wheelchair described by Clark, et al (Arch. Phys. Med.
Rehabil., Vol. 58, pp. 169-75, 1977) includes provisions for slowly
accelerating the chair to the left or to the right while the chair is
traveling in a forward direction. No provision is made, however, for
causing small positioning movements of the chair while it is at rest or
traveling in a reverse direction. This limits the ability of the operator
to make small positioning movements of the chair in restricted areas.
It is an object of the present invention therefore to provide a powered
wheelchair control apparatus which allows a quadiplegic to exercise a high
degree of control over the wheelchair.
It is a further object of the present invention that the invalid is not
required to make any unnatural movements of the body in order to control
the wheelchair.
It is yet a further object of the invention to provide apparatus for
enabling the wheelchair operator to make changes in the speed or direction
of travel of the wheelchair while the chair is or is not in motion.
It is a still further object of the invention to provide apparatus for
accomplishing such changes in the speed or direction of travel of the
chair in small incremental steps.
It is a still further object of the invention to provide apparatus to
prevent the performance of those changes in the direction of travel of the
wheelchair which could prove hazardous to the operator.
GENERAL DESCRIPTION
In accordance with a preferred but nonetheless illustrative embodiment of
the invention a wheelchair-mounted control apparatus is provided which
includes a voice processor which has the capability of converting a
preselected set of words spoken by the wheelchair's operator into a
corresponding set of computer recognizable signals. Such processors are
commerically available and their details are not part of the present
invention. In the present embodiment this set of words comprises the
commands necessary to control the wheelchair's motion. The apparatus also
includes a microcomputer programmed to respond to the appropriate signals
which it receives from the voice processor, to selectively activate a set
of control lines which, in turn, cause a wheelchair controller to control
the wheelchair in the manner specified by the commands spoken by the
operator.
The apparatus provides means for recognizing whether a given command or
sequence of commands is "primary" or "secondary". A primary command or
command sequence is used to initially cause the desired wheelchair motion.
A secondary command or command sequence may be used to produce a temporary
correction or adjustment to the motion initiated by the previous primary
command or command sequence.
Six primary commands are preferably used, namely FORWARD, REVERSE, LEFT,
RIGHT, FASTER and SLOWER; these commands being defined as function
commands. In the present embodiment the recognition of any of these
function commands causes the appropriate indicator (such as a light) on a
display panel to be actuated. No action takes place until the operator
verifies that the desired command has been recognized by an additional
command, such as "GO" or "JOG". The GO and JOG commands are defined as
activation commands. Thus, wheelchair motion may only be initiated as a
result of a command sequence comprising a function command and activation
command.
Issuance of the GO command causes the wheelchair to be propelled in the
manner specified by the previous function command until the operator gives
a further command, as by saying either "STOP" or "BRAKE", which are
commands which are always executed immediately. Issuance of the JOG
command causes the wheelchair to be propelled in the manner specified by
the previous function command for only a preset short time duration. In
the present embodiment this JOG duration time is controlled by a JOG
duration switch which is a thumbwheel switch having ten positions.
Position "0" of the switch corresponds to a JOG duration of 200
milliseconds; the JOG duration increases as the thumbwheel switch is set
to further positions until it reaches a maximum duration of 2 seconds when
set to switch position "9".
It will be noted that alternative embodiments are possible employing a
plurality of JOG commands such as a JOG 1 command, a JOG 2 command and a
JOG 3 command. In such an embodiment each JOG command would correspond to
a unique multiplier, e.g., "1" for a JOG 1 command, "2.infin. for JOG 2
command and "4" for a JOG 3 command. The JOG duration would then be equal
to the duration selected by the JOG duration switch times the multiplier
corresponding to the particular command issued. In the example given
above, for instance, if the JOG duration switch were set to position "0"
the JOG duration obtained by the issuance of the JOG 1, JOG 2 and JOG 3
commands would be 200 miliseconds, 400 milliseconds and 800 milliseconds
respectively.
The operator may issue the JOG command a multiple number of times without
having to repeat the desired function command each time. He may also
follow a sequence of JOG commands by a GO command. The primary function
command may be cleared at any time by issuing either a BRAKE command or a
STOP command.
By issuing a secondary command sequence the operator may change the speed
or direction of travel of the wheelchair without first stopping the chair
each time he wishes to make such a change. The secondary function, which
is the wheelchair operation initiated by a secondary command sequence acts
to modify (FASTER or SLOWER) or override (LEFT or RIGHT) the active
primary function or wheelchair operation initiated by the previous primary
command sequence. Upon recognition of a secondary command while the
wheelchair is being driven in accordance with a previous active primary
command sequence, the apparatus causes the appropriate function indicator
on the display panel to be actuated to verify that the correct word has
been recognized. A subsequent GO command activates the secondary function
and causes the previous primary function to become "pending". The
apparatus causes the wheelchair to be propelled in accordance with the
secondary function until the operator issues a CANCEL command. At this
time the primary function again becomes active. The operator may then
activate another secondary function if he so desires.
As in the case of primary commands, all wheelchair operations can be
stopped at any time by use of the STOP command or BRAKE command. The STOP
and BRAKE commands return the apparatus to an idle state in which it is
ready to accept the next primary command or command sequence. The BRAKE
command will also cause the apparatus to apply the wheelchair brakes if
the wheelchair is so equipped.
A secondary function may also be activated by the use of the JOG command.
In this case the apparatus will cause the wheelchair to be propelled in
accordance with the secondary function for the JOG duration period. The
primary function resumes automatically at the end of the JOG duration.
This feature of the invention enables the operator to make minor course
corrections while en route. For example, the chair may be caused to JOG
LEFT or JOG RIGHT while it is moving in the forward direction. These
course corrections may be necessary, for example, when the chair is
travelling over irregular terrain.
It is another feature of the apparatus of the present invention that
activation of secondary functions which could prove hazardous to the user
is prevented. For example, a secondary function of LEFT is not permitted
if the primary function is RIGHT. Likewise, a secondary REVERSE cannot
follow a primary FORWARD.
An ERASE command may be issued following a function command which has not
yet been issued. It acts to return the apparatus to the state it was in
prior to the issuance of the function command. The ERASE command is useful
in situations wherein the operator changes his mind as to the function to
be performed before he issues the function command of a command sequence.
The foregoing brief description, as well as further objects, features and
advantages of the present invention will be more fully understood by
reference to the following detailed description of the presently preferred
(but nonetheless illustrative) embodiment in accordance with the present
invention when taken in conjuction with the accompanying drawings wherein:
FIG. 1 is a pictorial representation of a powered wheelchair equipped with
the apparatus of the present invention;
FIG. 2 is an overall block diagram of an apparatus in accordance with the
present invention;
FIG. 3 is a pictorial diagram of the display panel of the apparatus;
FIG. 4 is a more detailed block diagram of a portion of the apparatus;
FIGS. 5A, 5B and 5C comprise a simplified flow chart of a programming means
in accordance with the present invention;
FIG. 6 is a state diagram illustrating the valid sequences of wheelchair
commands which may be issued by the wheelchair's operator;
FIG. 7 is a circuit diagram of a wheelchair controller in accordance with
the present invention.
DESCRIPTION OF THE PREFERRED EMBODIMENT
Referring to FIG. 1, there is shown a pictorial diagram of a powered
wheelchair equipped with an apparatus in accordance with the invention.
The wheelchair is equipped with a microphone 14 adapted so that it may be
positioned sufficiently close to the patient's mouth so tht extraneous
noise does not interfere with the wheelchair commands spoken by the
patient. Display panel 17 provides the patient with a visual indication of
the status of the operations being performed by the apparatus.
It is a feature of the invention that the speed at which the wheelchair
will travel may be pre-set by voice command before any actual motion of
the wheelchair takes place. Speed indicator 13 gives a visual indication
to the patient of this pre-set speed setting. In the present embodiment,
the speed indicator is comprised of eight light-emitting diode (LED)
circuits, the highest speed being indicated when all eight LEDs are lit,
and the lowest speed being indicated by the absence of illumination of any
LEDs. It will be appreciated, however, that other speed indicators such as
a standard electrical meter may be used.
The wheelchair is also provided with an emergency stop switch 11, of an
alternating action type, adapted to be positioned sufficiently close to
the patient's head so that a small movement of his head will cause the
switch to be activated and thereby deactivate the wheelchair's controls
and bring the wheelchair to an immediate stop. The controls remain
deactivated until a second actuation of emergency switch 11.
The chair is also provided with breath control tubes 12 which are adapted
to be used in connection with a "puff and sip" wheelchair control system
such as the one described in the paper of Youdin, et al, Proceedings of
the Fourth Annual Conference on Systems and Devices for the Disabled,
June, 1977, pp. 147-50. The present embodiment of the voice-controlled
wheelchair control apparatus is adapted to override the voice-activated
controls with controls activated by the puff and sip tubes. This facility
would be used in the event of a malfunction in the voice operated
controls.
Referring to FIG. 2 there is shown a simplified block diagram of a control
apparatus in accordance with the invention. The apparatus includes voice
processor 1, which in the present illustrative embodiment is a
commerically available unit such as the one manufactured by Threshold
Technology Inc. Voice processor 1 includes microphone 14 which is
connected to feature extractor 2. Feature extractor 2 breaks down spoken
words picked up by microphone 14 into a number of distinct audio features
and converts the resulting characteristics of the words into a set of
computer-recognizable electrical signals 3 which are fed to microcomputer
4. Microcomputer 4, includes microprocessor 5 which may also be
commercially available. Microprocessor 5 contains a program for
correlating the characteristics of the input words with the
characteristics of a preselected vocabulary of words which are selected to
be the desired valid wheelchair commands. Microprocessor 5 in combination
with other appropriate programming means, in known manner is arranged to
act through system bus 10 and interface 6 to activate the appropriate ones
of indicator drive lines 11 to cause the appropriate indicators of display
panel 7 to be lit, and to activate the appropriate ones of control lines 8
to cause controller 9 to propel the wheelchair in the manner specified by
the input command.
FIG. 3 is a more detailed pictorial representation of display panel 7.
Indicators 20, 21, 22 and 23 are used in the operation of defining the
vocabulary of words that will be recognized as valid wheelchair commands.
This operation is not a part of the subject matter of the present
invention. Likewise, indicators 39, 43, 44, 42, 41 and 40 are used in the
operation of a voice-controlled tape recorder or a voice-controlled
environmental control unit which are not a part of the subject matter of
the present invention.
Reject indicator 24 is lit when a word spoken by the operator is not
recognized as a valid command by voice processor 1 and microprocessor 5,
or when an otherwise valid command is issued in an incorrect sequence,
taking into account the previous sequence of commands. It is a feature of
the invention that the operator is prevented from inadvertently issuing
certain sequences of commands which could result in potentially harmful
operation of the wheelchair. An example of such a sequence would be a
FORWARD command sequence followed by a REVERSE command without an
intervening command to stop the wheelchair. An understanding of the
allowable sequences of command may be gained by reference to FIG. 6, which
is discussed later in the specification.
When the apparatus is activated to accept commands for the operation of the
wheelchair, wheelchair mode indicator 25 is lit. A command of LEFT, RIGHT,
FASTER, SLOWER, FORWARD or REVERSE, causes the appropriate one of
indicators 27, 28, 29, 30, 31 or 32 to light. A subsequent GO command
causes GO indicator 45 and ACTIVE indicator 26 to light. During the period
of time that ACTIVE indicator 26 remains lit the wheelchair drive motors
are activated to propel the wheelchair in the manner indicated by the
appropriate indicator light, e.g., when "FORWARD" indicator 31 is lit the
wheelchair drive motors are activated to propel the chair in a forward
direction.
If the primary function is activated with a JOG command, rather than a GO
command, JOG indicator 46 and ACTIVE indicator 26 are lit for the jog
duration time. The wheelchair motors, in this case, are activated to
propel the wheelchair in the manner specified by the primary function
command, but only for the jog duration.
If, instead of issuing either a GO command or a JOG command, the operator
issues a CANCEL command, the appropriate one of indicators 26, 27, 28, 29,
30, 31, or 32 is turned off, and the apparatus is conditioned to accept a
new command.
As previously mentioned, a feature of the present invention is the ability
of the apparatus to accept secondary commands which have the effect of
overriding or modifying the actions initiated by primary commands. The
secondary commands available to the operator are LEFT, RIGHT, FASTER and
SLOWER. To prepare for a secondary operation the operator issues the
appropriate function command while primary active indicator 26 is lit
indicating that the apparatus is executing a primary function. If the
command is a valid one, the appropriate one of indicators 37, 38, 35, 34,
or 33 will be lit. A subsequent GO command will cause primary active
indicator 26 to be turned off, secondary active indicator 36 to be lit,
and the function specified by the secondary function command to be
executed by the wheelchair controller 9. The wheelchair controller 9
continues to execute the secondary operation until the issuance of a
CANCEL command. Upon the recognition of a CANCEL command, cancel indicator
48 is lit, secondary active indicator 36 is turned off, and primary active
indicator 26 is turned on. Wheelchair controller 9 returns to the
execution of the operation specified by the original primary command.
A STOP command may be issued at any time. It causes stop indicator 49 to be
lit, and all other indicators to be turned off. The wheelchair drive
motors are deactivated and all other controls are initialized so that a
new primary command may be accepted.
The operations caused by a BRAKE command are similar to those responsive to
a STOP command except that BRAKE indicator 33 is also caused to be lit,
and if the wheelchair is equipped with brakes, they are activated.
An ERASE command may be issued immediately following a function command
which has not yet been activated. It causes the indicator which was caused
to be lit by the function command to be turned off and the control system
to return to the state it was in before the issuance of the function
command.
FIG. 6 is a state diagram illustrating all valid sequences of wheelchair
commands. The ovals of FIG. 6 indicate stable states of the control
apparatus. The apparatus continues to perform the functions specified
within the ovals until a subsequent command causes one of the paths out of
the ovals to be taken. The rectangles of FIG. 6 indicate unstable states
of the apparatus. The apparatus remains in the states defined by the
rectangles only until the specified function(s) are performed. Upon
completion of performance the appropriate oval defining a stable state is
entered via the paths shown.
FIG. 6 may be best understood by way of example. IDLE mode is indicated by
oval 300 and corresponds to the state of the apparatus in which the
wheelchair is at rest and the apparatus is ready to accept a first
command. Starting in IDLE mode it will be seen that any wheelchair command
may be issued. The commands STOP or BRAKE are indicated by line 301. The
commands FORWARD or REVERSE are indicated by line 302. The commands LEFT
or RIGHT are indicated by line 303. Finally, the commands FASTER or SLOWER
are indicated by line 304. Assuming that either a FORWARD or a REVERSE
command is issued, oval 305 is reached, wherein the appropriate primary
command indicator of display panel 7 is lit. Three paths may be taken out
of circle 305. If the next command is ERASE, STOP, or BRAKE, the apparatus
returns to IDLE mode oval 300 via line 306. If the next command is GO,
rectangle 308 is entered via line 309, and the appropriate ones of control
lines 8 to the wheelchair controller are activated to cause the wheelchair
to be propelled in the appropriate forward or reverse direction. After
activating these control lines, oval 311 is entered via line 310.
Referring again to circle 305, if the next command is JOG, rectangle 312
is entered via line 313. As indicated by rectangle 312, the JOG command
causes the appropriate ones of control lines 8 to the wheelchair
controller to be activated for the jog duration. When the control lines 8
are deactivated, oval 305 is reentered via line 314. Since there are no
lines out of oval 305 indicating a LEFT or RIGHT command, these commands
are invalid if issued while the apparatus is in the state indicated by
oval 305. Similarly, the only commands which may be validly issued when
the apparatus is in any of the states indicated by the ovals of FIG. 6,
are indicated by the lines leaving those ovals labeled with the
appropriate valid commands.
Referring to FIG. 4, there is shown in further detail the circuitry
included in interface 6 of FIG. 2. Interface 6 includes an output buffer
101 which receives data from microprocessor 5 via system bus 10. Output
buffer 101 is connected to a 16 position register 103 which is labeled
OUTREG. The output of each one of positions 8 through 15 of OUTREG 103 is
connected to one of power drivers 117 for producing an electrical signal
on the appropriate one of control lines 8 capable of driving the solenoids
of the relay logic of wheelchair controller 9 of FIG. 2. The data in
positions 8 through 15 of OUTREG 103 is bit significant: that is, a
logical "1" in any one of the positions activates a corresponding one
control lines 8 to the wheelchair controller as shown in FIG. 2. Thus, a
logical "1" in OUTREG position 8 activates BRAKE control line 118; a
logical "1" in position 9 activates STOP control line 119; a logical "1"
in position 10 activates SLOWER control line 120; a logical "1" in
position 11 activates FASTER control line 121; a logical "1" in position
12 activates RIGHT control line 122; a logical "1" in position 13
activates LEFT control line 123; a logical "1" in position 14 activates
REVERSE control line 124; and a logical "1" in position 15 activates line
125.
Control logic unit 105 contains electronic control logic for controlling
the flow of data through interface 6. Control logic unit 105 communicates
with microprocessor 5 through system bus 10. It controls the flow of data
into and out of the OUTREG 103 by means of a plurality of electrical
control lines 110, and it controls the flow of data into and out of INREG
104 by means of a plurality of electrical control lines 111; INREG 104
being another 16 position register. One of lines 110 is new data ready
line 106 which indicates that there is new data in OUTREG 103. In the
present embodiment the lighting of the indicators of display panel 7 is
controlled in the following manner. Encoded data signifying the indicators
to be lit is set into output buffer 101 by microprocessor 5, and then is
set into positions 0 through 7 of OUTREG 103 under the control of control
logic unit 105. The data is decoded by decoder 112 to actuate the
appropriate data input lines of gates 113. When new data ready line 106 is
activated by control logic unit 105, gates 113 are activated to set the
data into the appropriate positions of registers 114. If the encoded data
is that of a STOP or BRAKE command, reset line 126 is activated by
decoders 112 and registers 114 are reset so that all of the indicators of
display panel 7 will be turned off except for wheelchair mode indicator 25
and either STOP indicator 49 or the BRAKE indicator 33 of FIG. 3. The
outputs of registers 114 are amplified by indicator drivers 115 to provide
the required driving voltage to the above selected indicators over
indicator drive lines 11.
Each one of the outputs of OUTREG 103 is connected to a corresponding one
of power drivers 117, which drive control lines 8 with sufficient power to
activate the solenoids of wheelchair controller 9. FIG. 4 illustrates the
relation between the particular control lines 118 through 125 and the
corresponding bit positions of OUTREG 103. The sequence in which
microprocessor 5 causes bits 8 through 15 to be set will be discussed in
the portion of this specification relating to the program included in
microprocessor 5.
Interface 6 also includes JOG duration switch 116 which, in the present
embodiment, is a ten position thumbwheel switch. JOG duration switch 116
includes four switch contacts 116a which are selected for closing
according to the position of the thumbwheel. The selective closing of
switch contacts 116 causes a code representing the jog duration constant
(N) to be set into positions 4 through 7 of INREG 104. The JOG duration
constant ranges from the member 1 for thumbwheel position 0 to the number
10 for thumbwheel position 9. Under the control of control logic unit 105,
the data in INREG 104 may be set into an input buffer 102 from which it is
eventually presented to microprocessor 5 via system bus 10. The method by
which microprocessor 5 uses the JOG duration constant to control the JOG
duration time will be discussed in the specification relating to the
program included in microprocessor 5.
FIGS. 5, 5A and 5B comprise a simplified flow diagram of the program
included in microprocessor 5 which controls the lighting of the indicators
on display panel 7, and the sequence of activation of control lines 118
through 125 of FIG. 4.
Starting at entry block 201, wheelchair mode block 202 is entered. For the
purpose of this description, wheelchair mode is the only valid mode;
however, it will be appreciated that other modes 202a, b, etc. such as
envioronmental control unit mode or tape recorder mode may be available in
other embodiments, which still remain within the spirit and scope of the
invention.
In block 203 the program receives the command which has been spoken by the
wheelchair's operator and converted to a digital format by voice processor
1 of FIG. 2. Diamond 204 is a decision element wherein a decision is made
as to whether the command as issued was valid. This decision is a two-step
process. First, the command as issued must be one of a previously
determined set of valid commands for the wheelchair mode of operation. In
the present embodiment this step is performed by a commercially available
program operating in combination with microprocessor 5 of FIG. 2. Second,
the command must have been issued in a valid sequence. The state diagram
of FIG. 6 may be used to determine the currently allowable commands, given
the previous sequence of commands. This state diagram may be converted to
program for operation in combination with microprocessor 5 of FIG. 2 to
perform the above-mentioned second step by any one of a number of methods
known in the art. For example, a table may be constructed in the memory of
microprocessor 5 which lists the valid command possible given each
possible previous command sequence. The program would keep a command
history for use in indexing the table each time a new command was issued
to determine the validity of the new command.
Returning to diamond 204 of FIG. 5 if the command issued was invalid, block
205 is entered. The command is ignored and a a binary code corresponding
to reject indicator 24 of display panel 7 is set into positions 0 through
7 of OUTREG 103. Upon the activation of new data ready line 106 reject
indicator 24 is lit as previously discussed. The program then returns to
wheelchair mode block 202 and awaits the next command.
If the decision made in diamond 204 is that the command is valid, diamond
207 is entered. If the command in question is a function command, the
"yes" branch out of diamond 207 is taken and diamond 208 is entered. If at
the time the command in question is recognized a previously issued primary
command is active, that is to say, the primary active indicator 26 of
display panel 7 is on and the wheelchair controller is in the process of
executing the primary function, the "yes" branch out of diamond 208 is
taken and a program indication is set specifying that a secondary command
is pending. If, however, a primary command is not currently active, the
"no" branch out of diamond 208 is taken and a different program indication
is set specifying that a primary command is pending. In either case, block
211 is entered and the appropriate command code is set into positions 0
through 7 of OUTREG 103 for lighting the appropriate indicator of display
panel 7 after the activation of new data ready line 106 as shown in block
206. This command code is modified depending on whether the pending
command is a primary or a secondary one, so that the command will be
displayed by lighting the appropriate indicator in either the primary
command column or the secondary command column of the display panel. When
the display of the command has been accomplished the program returns to
wheelchair mode block 202 to await reception of the next command.
Returning to diamond 207, if the command in question is not a function
command (e.g., it is an activation command), the "no" branch out of block
207 is taken and diamond 212 is entered. If the command is a STOP or a
BRAKE the "yes" branch out of diamond 212 is taken and diamond 213 is
entered. For the sake of simplicity, block 213 indicates that two actions
take place simultaneously although in actual practice these actions would
be performed sequentially. The first action is to set the command code for
the STOP or BRAKE into positions 0 through 7 of OUTREG 103 for lighting
the appropriate indicator of display panel 7 by the method specified in
blocks 211 and 206. The second action is to enter diamond 214 where a
decision is made as to whether a FORWARD command is presently active. If a
FORWARD command is active, positions 12 and 15 of OUTREG 103 are set to
logical "ones". As illustrated in FIG. 4, the setting of logical "ones"
into these positions activates RIGHT control line 122 and FORWARD control
line 125 to the wheelchair controller. If a FORWARD command is not
currently active, the "no" branch out of diamond 214 is taken, and diamond
216 is entered. If a REVERSE command is currently active, the "yes" branch
of diamond 216 is taken and block 217 is entered wherein logical "ones"
are set into positions 13 and 14 of OUTREG 103. As illustrated by FIG. 4,
the setting of "ones" into these bit positions activates LEFT control line
123 and REVERSE control line 124 to the wheelchair controller. If a
REVERSE command is not currently active, the "no" branch of diamond 216 is
taken and diamond 218 is entered. If the command in question is a STOP,
the "yes" branch of diamond 218 is taken and position 9 of OUTREG 103 is
set to a logical "one" as specified by block 219. In all of the three
aforementioned cases the next block to be entered is block 221 in which
any active indicator of display panel 7 which is currently lit is turned
off. After a wait of approximately 250 milliseconds, as indicated by
diamond 222, all of positions 8 through 15 of OUTREG 103 are reset to
logical "zeros" as indicated by block 223. The program then returns to
wheelchair mode block 202 to await the next command.
Returning to diamond 218, if the command in question was not a STOP it must
have been a BRAKE and block 220 is entered wherein logical "ones" are set
into positions 8 and 9 of OUTREG 103. As illustrated by FIG. 4, the
setting of logical "ones" into these positions activates BRAKE control
line 118 and STOP control line 119 to the wheelchair controller. The
program then proceeds to block 224 where all currently lit active
indicators of display panel 7 are turned off. After a wait of
approximately 250 milliseconds as indicated by diamond 225, positions 8
through 15 of OUTREG 103 are reset to logical "zeros" except for position
8 which is set to a logical "one", thus leaving BRAKE control line 118 of
FIG. 4 in an activated state. The program then returns to wheelchair mode
block 202 to await the next command.
Returning to diamond 212, if the command in question was not a STOP or a
BRAKE, the "no" branch is taken out of block 212. At this time one of
three program paths may be taken depending on the previously set program
indications of the pending or active status of the preceding function
command. If a previous primary function command is pending and a secondary
function command is not pending, block 227 is entered and the program
proceeds to diamond 230. If the current command is an ERASE, the "yes"
branch of diamond 230 is taken and block 231 is entered wherein the
primary pending program indication is reset. If the current command is not
an ERASE the "no" branch of diamond 230 is taken and block 232 is entered
wherein the primary active indicator 26 of the display panel 7 is lit. The
program then proceeds to diamond 238. If the preceding function command
was a FORWARD or a REVERSE the "yes" branch of diamond 238 is taken and
block 239 is entered. In block 239 the appropriate positions of OUTREG 103
are set to logical "ones", i.e., positions 12 and 15 are set to logical
"ones" for a FORWARD command or bits 13 and 14 are set to logical "ones"
for a REVERSE command. The setting of these OUTREG positions to "ones"
causes the appropriate one of control lines 118 through 125 of FIG. 4 to
be activated as previously discussed. After a wait of approximately 250
milliseconds, as indicated by diamond 240, positions 8 through 15 of
OUTREG 103 are all reset to logical "zeros" as indicated by block 241, and
diamond 242 is entered. If the current activation command is a JOG the
"yes" branch of diamond 242 is taken and block 243 is entered. In block
243 the program reads the coded JOG duration constant (N) which had
previously been set into positions 4 through 7 of the INREG 104 by JOG
duration switch 116 of FIG. 4. The program then waits for time of
approximately 200 milliseconds times the value of N, as indicated by
diamond 244, before entering block 245. In block 245 the appropriate
positions of OUTREG 103 are again set to logical "ones". These positions
remain set to logical "ones" for a time of approximately 200 milliseconds,
as indicated by diamond 246, before being again reset to logical "zeros"
as indicated by block 247. At the time that OUTREG 103 is reset the
primary active indicator 26 is also reset, and the primary pending program
indication is set. Thus, if the next command is a JOG or a GO the
appropriate FORWARD or REVERSE function will again be activated. From
block 247 the program proceeds to block 257 to await the issuance of the
next command.
Returning to diamond 242, if the current is a GO rather than a JOG, the
"no" branch of | | |