System and method for controlling the operation of toys

A system and method for controlling toy vehicles has a plurality of pads coupled to a central station. Switches in the pads may be closed to select toy vehicles and the operation of motors for moving the vehicles forwardly, rearwardly, to the left and to the right and moving upwardly and downwardly a receptacle or bin for holding transportable elements (e.g. marbles). The pads may be set in a mode to allow sharing of a vehicle by more than one pad. The pads are connected by wires to the central station, and may be interrogated selectively, sequentially or simultaneously by the central station. The central station forms packets of signals representative of the switch closures of the interrogated pads, and transmits the packets over a modulated carrier frequency to receivers in the vehicles. Each of the packets includes a binary signal addressing the vehicle selected by the pad whose switch closures are represented by the packet of data. The central station prioritizes the transmission of the packets to improve vehicle control. An accessory, or a second central station, may be coupled to a smart port of the first central station. When the pads are interrogated by the central station, the signals from the pads may be routed to the accessory or second central station for processing, then sent back to the first central station for transmission to the vehicles. The pads include a flashback feature that automatically selects a previously selected vehicle. The motors of the vehicles may be energized using pulse width modulation to control the speed of the motor. Signals received by the vehicle are asserted to the motors in the first part of a duty cycle. The vehicles monitor all packets, and decode packets addressed to the vehicle to execute the commands represented by signals contained within the packet. When a packet is determined to be invalid, the vehicle ignores the packet.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates generally to a system for pleasurable use by people of all ages with youthful minds in operating remotely controlled vehicles simultaneously in a somewhat confined area. More specifically, this invention relates to remotely controlled vehicles such as toy dump trucks that can be operated to mimic the operation of similar full-size vehicles having accessories for scooping up material, transferring the material to a hopper, and then automatically activating the hopper to dump the material. In addition, the system also includes a trailer hitch that can be remotely engaged or disengaged by controlling the position of the scooper.

2. Description of the Related Art

Various types of play systems exist, and have existed for some time, in which vehicles are moved on a remotely controlled basis. Examples of a vehicle in such a system are an automobile, airplane, truck or construction vehicle. In most such systems, however, the functions and activities that the vehicle is capable of are limited to moving along a floor or along the ground or in the air.

Other types of play systems involve the use of blocks for building structures. These blocks often include structure for providing an interlocking relation-ship between abutting blocks. In this way, elaborate structures can be created by users with creative minds. Such structures are generally built by hand.

Tests have indicated that there is a desirability, and even a need, for play systems in which vehicles are remotely operated to perform functions other than to move aimlessly along a floor or along the ground For example, tests have indicated there is a desirability, and even a need, for a play system in which the remotely controlled vehicles can transport elements such as blocks to construct creative structures. There is also a desirability, and even a need for play systems in which a plurality of vehicles can be remotely controlled by switches in hand-held pads to compete against one another in performing a first task or to cooperate in performing a second task such as building a miniature community through the transport of miniature blocks or other suitably sized material.

Co-pending application Ser. No. 08/580,753 filed by John J. Crane on Dec. 29, 1995, for a “Remote Control System for Operating Toys” and assigned of record to the assignee of record of this application discloses and claims a play system for use by people of all ages with youthful minds. It provides for a simultaneous control by each player of an individual one of a plurality of remotely controlled vehicles. This control is provided by the operation by each such player of switches in a hand-held unit or pad, the operation of each switch in such hand-held unit or pad providing a control of a different function in the individual one of the remotely controlled vehicles. Each of the remotely controlled vehicles in the system disclosed an claimed in application 08/580,753 can be operated in a competitive relationship with others of the remotely controlled vehicles or in a co-operative relationship with others of the remotely controlled vehicles. The vehicles can be constructed to pick up and transport elements such as blocks or marbles and to deposit such elements at displaced positions.

When manually closed in one embodiment of the system disclosed and claimed in application Ser. No. 08/580,753, switches in pads control the selection of toy vehicles and the operation of motors for moving the vehicles forwardly, rearwardly, to the left and to the right and moving upwardly and downwardly (and rightwardly and leftwardly) a receptacle for holding transportable elements (e.g. marbles) or blocks.

When sequentially and cyclically interrogated by a central station, each pad in the system disclosed and claimed in application Ser. No. 08/580,753 sends through wires to the central station signals indicating the switch closures in such pad. Such station produces first binary signals addressing the vehicle selected by such pad and second binary signals identifying the control operations in such vehicle. Thereafter the switches identifying in such pad the control operations in such selected vehicle can be closed without closing the switches identifying such vehicle.

The first and second signals for each vehicle in the system disclosed and claimed in application Ser. No. 08/580,753 are transmitted by wireless by the central station to all of the vehicles at a common carrier frequency modulated by the first and second binary signals. The vehicle identified by the transmitted address demodulates the modulating signal and operates its motors in accordance with such demodulation. When the station fails to receive signals from a pad for a particular period of time, the vehicle selected by such pad becomes available for selection by another pad and such pad can select that vehicle or another vehicle.

A cable may couple two (2) central stations (one as a master and the other as a slave) in the system disclosed and claimed in application Ser. No. 08/580,753 so as to increase the number of pads controlling the vehicles. Stationary accessories (e.g. elevator) connected by wires to the central station become operative when selected by the pads.

Co-pending application Ser. No. 08/763,678, filed by William M. Barton, Jr., Peter C. DeAngelis and Paul Eichen on Dec. 11, 1996 for a “System For And Method Of Selectively Providing The Operation Of Toy Vehicles” and assigned of record to the assignee of record of this application discloses and claims a system wherein a key in a vehicle socket closes contacts to reset a vehicle microcontroller to a neutral state. Ribs disposed in a particular pattern in the key operate switches in a particular pattern in the vehicle to provide an address for the vehicle with the vehicle inactive but powered. When the vehicle receives such individual address from an individual one of the pads in a plurality within a first particular time period thereafter, the vehicle is operated by commands from such pad. Such individual pad operates such vehicle as long as such vehicle receives commands from such individual pad within the first particular period after the previous command from such individual pad. During this period, the vehicle has a first illumination to indicate that it is being operated.

When the individual pad of the system disclosed and claimed in application Ser. No. 08/763,678 fails to provide commands to such vehicle within such first particular time period, the vehicle becomes inactive but powered and provides a second illumination. While inactive but powered, the vehicle can be addressed and subsequently commanded by any pad including the individual pad, which thereafter commands the vehicle. The vehicle becomes de-activated and not illuminated if (a) the vehicle is not selected by any of the pads during a second particular time period after becoming inactivated but powered or, alternatively, (b) all of the vehicles become inactivated but powered and none is selected during the second particular period. The vehicle becomes deactivated and not illuminated. The key can thereafter be actuated to operate the vehicle to the inactive but powered state.

Co-pending application Ser. No. 08/696,263, filed by Peter C. DeAngelis on Aug. 13, 1996 for a “System And Method Of Controlling The Operation Of Toys” and assigned of record to the assignee of record of this application discloses and claims a system wherein individual ones of pads remotely control the operation of selective ones of vehicles. In each pad, (a) at least a first control provides for the selection of one of the vehicles, (b) second controls provide for the movement of the selected vehicle and (c) third controls provide for the operation of working members (e.g. pivotable bins) in the selected vehicle. Each pad provides a carrier signal, preferably common with the carrier signals from the other pads. Each pad modulates the carrier signal in accordance with the operation of the pad controls. The first control in each pad provides an address distinctive to the selected one of the vehicles and modulates the carrier signal in accordance with such address.

Each pad of the system disclosed and claimed in application 08/696,263 sends the modulated carrier signals to the vehicles in a pseudo random pattern, different for each pad, with respect to time. Each vehicle demodulates the carrier signals to recover the address distinctive to such vehicle. Each vehicle then provides a movement of such vehicle and an operation of the working members in such vehicle in accordance with the modulations provided in the carrier signal by the operation of the second and third controls in the pads selecting such vehicle. Each vehicle is controlled by an individual one of the pads for the time period that such pad sends control signals to such vehicle within a particular period of time from the last transmission of such control signals to such vehicle. Thereafter such vehicle can be selected by such pad or by another pad.

What has been needed, and heretofore unavailable, is a play system including vehicles that are capable of being remotely operated to accomplish tasks such as lifting, scooping, dumping, leveling and hauling suitably sized materials such as marbles or small blocks, thus providing a person having a youthful mind with opportunities for realistic play and enjoyment.

SUMMARY OF THE INVENTION

Briefly and in general terms, the present invention provides a new and improved play system for use by people of all ages with youthful minds. It provides for simultaneous control by each player of an individual one of a plurality of remotely controlled vehicles. This control is provided by the operation by each such player of switches in a hand-held unit or pad, the operation of each switch in such hand-held unit providing a control of a different function in the individual one of the remotely controlled vehicles. Each of the remotely controlled vehicles in the system of this invention can be operated in a competitive relationship with others of the remotely controlled vehicles or in a co-operative relationship with others of the remotely controlled vehicles. The vehicles can be constructed to pick up and transport elements such as blocks or marbles and to deposit such elements at displaced positions.

More specifically, when manually closed in one embodiment of the invention, switches in pads control the selection of toy vehicles and the operation of motors for moving the vehicles forwardly, rearwardly, to the left and to the right, and moving upwardly and downwardly a receptacle or bin for holding transportable elements (e.g. marbles).

The pads may be interrogated by a central station in either a sequential or parallel manner, the pads sending signals representative of switch closures in the pad to the central station over wires. The central station receives the signals from the pad, and forms packets of data to be transmitted over radio frequencies to receivers in the toy vehicles. The central station forms the packet to have a first binary signal addressing the vehicle selected by such pad and a second binary signal identifying the control operation in such vehicle.

The packets of data formed by the central station are transmitted by wireless to all of the vehicles at a common carrier frequency modulated by the first and second binary signals. The vehicle identified by the transmitted address demodulates the modulating signals and operates its motors in accordance with such demodulation. When the station fails to receive signals from a pad for a particular period of time, the vehicle selected by such pad becomes available for selection by another pad and such pad can select that vehicle or another vehicle.

The pads also include a switch to set the pad into a mode wherein a second pad may also select and control the vehicle selected by the first pad. Another novel aspect of the present invention is the inclusion of a flashback capability that may also be sensitive to the setting of the mode of a pad. When a pad has been de-selected because the central station has failed to receive commands from the pad for a particular period of time, pushing any button on the de-selected pad will cause the central station to attempt to select the last vehicle controlled by the pad. If this attempt fails because the vehicle is already selected by another pad, and that pad's mode is not set to allowing sharing of control of the vehicle, the central station attempts to select the second to last vehicle controlled by the de-selected pad. If this second attempt fails, the central station may automatically to attempt to select each of the toy vehicles in sequence until one such vehicle has been selected. When the mode switch of the pad of a vehicle that is already selected is set in the control sharing mode, the vehicle may be automatically selected by the de-selected pad.

When a vehicle has received no packets of data addressed to it for a particular time, the vehicle may enter a powered, but inactive state. The receiver of the vehicle may remain in the powered, but inactive state until it receives at least two identical commands addressed to the particular vehicle.

A novel aspect of the present invention is the wiring and programmable logic device used to couple the pad to the central station. All of the signals transmitted by the pads and central station between the pads and central station are transmitted over only three wires. The particular arrangement of wires allows all of the pads connected to the central station to be interrogated either simultaneously or sequentially, and for signals to be sent to the pads by the central station selectively. The programmable logic in the pads includes shift registers for shifting the status of switch closures to the central station over the three wires, and also for shifting signals received from the central station to a bank of light emitting diodes to update the status of the light emitting diodes.

In another aspect of the invention, the central station includes a smart port. In this arrangement, all of the signals from the pads may be routed through the smart port to an accessory connected to the smart port by a cable. In one embodiment, this accessory may be another central station, such that the second central station is a slave to the first central station to increase the number of pads controlling the vehicles. In another embodiment, this accessory may operate upon the signals received through the smart port before returning the altered signals to the central station to be transmitted to the vehicles. In this manner, the actions of one or more, and also all, of the switches of the pads may be reprogrammed to cause the vehicle or other toy selected by the pad to carry out actions different from the actions normally controlled by the pads. This allows for future upgrading of the toy vehicles or the use of other radio controlled toys, including changing the game environment to include other types of competitive or co-operative play, such as a hockey game without replacing the central station.

In another aspect of the invention, when one of the switches controlling the motion of one or more of the motors of a selected vehicle is actuated for a particular time, the motor will be controlled at a first speed upon actuation of the switch, and then at a second speed if the actuation exceeds the particular time. Actuating the switch even longer may energize the motor to run at a third speed. If another of the motors of the vehicle are energized by actuating a switch on the pad, the other motor will start up at the same speed as the motor that is already energized.

In another aspect of the present invention, the motors of the vehicle may be driven by pulse wave modulated signals for a particular duty cycle. When such a motor is first energized, the pulse width modulation signal is asserted during a first portion of the duty cycle. This ensures that switch actuations on the pad to control the motion of the vehicle selected by the pad will be effectuated as rapidly as possible, thus enhancing the ability of a user to control the vehicle in tight positions.

In still another aspect of the present invention, the central station prioritizes the transmission of packets to the vehicles to reduce lag time between switch actuation and vehicle motion. In this aspect, the central station continuously and sequentially transmits packets to all of the vehicles, including packets having no signals. This stream of packets is interpreted by the receivers of the vehicle as representing a powered on state for the central station, even if no signals to control any of the motors of any of the vehicles is included in the packets. When a switch is actuated on a pad, the central station forms a packet of data to be transmitted to the vehicle representative of the state of the switch closures of such pad. This packet is inserted into the stream of continuously transmitted packets at the earliest possible time, even if the packet is inserted out of sequential order.

These and other features and advantages of the invention will become apparent from the following detailed description when taken in conjunction with the accompanying exemplary drawings.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

The drawings will now be described in more detail, wherein like referenced numerals refer to like or corresponding elements among the several drawings. Moreover, reference may be made to United States patent applications Ser. No. 08/580,753, Ser. No. 08/763,678 and Ser. No. 08/696,263, which are hereby incorporated in their entirety.

Referring now toFIG. 1, one embodiment of a system10is generally depicted for controlling the selection and operation of a plurality of toy vehicles. Illustrative examples of toy vehicles constitute a dump truck generally indicated at12, a fork lift generally indicated at14, a skip loader generally indicated at16and another form of skip loader generally indicated at17. The toy vehicles such as the dump truck12, the fork lift14and the skip loaders16and17are simplified versions of commercial units performing function similar to those performed by the toy vehicles12,14,16and17. For example, the dump truck12may include a working or transport member such as a pivotable bin or container18; the fork lift14may include a working or transport member such as a pivotable platform or grasping arm20; the skip loader16may include a working or transport member such as a pivotable bin or container22disposed at the front end of the skip loader; and the skip loader17may include a working or transport member such as a pivotable bin or container23disposed at the rear end of the skip loader. The working or transport members such as the pivotable bin or container18, the pivotable platform20and the pivotable bins or containers22and23are constructed to carry storable and/or transportable elements such as blocks24or marbles26shown schematically inFIG. 1.

It will be understood that the toy vehicles12,14,16and17are for illustration purposes only, and a variety of alternative forms are possible. Such alternative forms may be, for example only, and not limited to, various combinations of features. For example, a transport member such as the pivotable bin or container22, here shown as a scoop27, such as is disposed at the front end of the skip loader16may alternatively be disposed at the front end of a dump truck25such that the transport member or scoop27may pick up and/or transport storable and/or transportable elements and/or drop the storable and/or transportable elements into the pivotable bin or container29of the dump truck25.

Each of the toy vehicles12,14,16,17and25may also have a trailer hitch19mounted on the front or rear of the vehicle for hooking a hitch member of another vehicle, such as a trailer (not shown) to the hitch19of the vehicles12,14,16,17and25. The trailer hitch19may be remotely controlled in similar fashion to the working or transport member of the toy vehicle. Alternatively, the trailer hitch may be mechanically interconnected with the working or transport member such that remote control of the working or transport member also controls the trailer hitch19.

Each of the dump trucks12and25, the fork lift14and the skip loaders16and17may include a plurality of motors. For example, the dump truck12may include a pair of reversible motors28and30(FIG. 4) operable to move the dump truck forwardly, rearwardly, to the right and to the left. The motor28controls the movement of the front and rear left wheels and the motor30controls the movement of the front and rear right wheels.

When the motors28and30are simultaneously operated in one direction, the dump truck12moves forwardly. The vehicle12moves rearwardly when the motors28and30are moved in the opposite direction. The vehicle12turns toward the right when the motor30is operated without simultaneous operation of the motor28. The vehicle12turns toward the right when the motor28is operated without a simultaneous operation of the motor30.

The vehicle12spins to the right when the motor30operates to move the vehicle forwardly at the same time that the motor28operates to move the vehicle rearwardly. The vehicle12spins to the left when the motors28,30are operated in directions opposite to the operations of the motors in spinning the vehicle to the right.

Another reversible motor32in the dump truck12operates in one direction to pivot the bin18upwardly and in the other direction to pivot the bin downwardly. Alternatively, in the embodiment of the dump truck having a scoop27disposed at the front of the dump truck25, the reversible motor32operates to lift the scoop27upwardly and then rearwardly to lift, transport, and then spill the contents of the scoop27into the pivotable bin or container29of the dump truck25. Continued rotation of the motor32may also operate to then pivot the bin29upwardly to spill the contents of the bin29out of the rear of the bin29. In yet another embodiment, continued rotation of the motor32may cause the trailer hitch19to open. When the motor32is operated in the other direction, the trailer hitch19closes, the bin29pivots downwardly, and the scoop27pivots forwardly and downwardly. An additional motor33may operate in one direction to turn the bin29to the left and in the other direction to turn the bin29to the right.

The construction of the motors28,3032and33and the disposition of the motors in the dump trucks12and25to operate the dump trucks are considered to be well known in the art. The fork lift14and the skip loaders16and17may include motors corresponding to those described above for the dump trucks12and25.

The system10may also include stationary plants or accessories. For example, the system10may include a pumping station generally indicated at34(FIG. 1) for pumping elements such as the marbles26through a conduit36. The system may also include a conveyor generally indicated at38for moving the elements such as the marbles26upwardly on a ramp40. When the marbles26reach the top of the ramp40, the elements such as the marbles26may fall into the bin18in the dump truck12or into the bin22in the skip loader16. For the purposes of this application, the construction of the pumping station34and the conveyor38may be considered to be within the purview of a person of ordinary skill in the art.

The system10may also include a plurality of hand-held pads generally indicated at42a,42b,42cand42d(FIG. 1). Each of the pads42a,42b,42cand42dmay have substantially identical construction. Each of the pads may include a plurality of actuatable buttons. For example, each of the pads may include a 4-way button44in the shape of a cross. Each of the different segments in the button44is connected to an individual one of a plurality of switches46,48,50and52inFIG. 2.

When the button44is depressed at the segment at the top of the button, the switch46is closed to obtain the operation of motor28and30(FIG. 4) in moving the selected one of the vehicle12forwardly. Similarly, when the segment at the bottom of the button44is depressed, the switch48is closed to obtain the operation of motors28and30(FIG. 4) in moving the vehicle12rearwardly. The selective depression of the right and left segments of the button44cause the motors28and30to operate in tuning the selected vehicle toward the right and the left.

It will be appreciated that pairs of segments of the button44may be simultaneously depressed. For example, the top and left portions of the button44may be simultaneously depressed to obtain a simultaneous movement of the vehicle12forwardly and to the left. However, a simultaneous actuation of the top and bottom segments of the button44will not have any effect since they represent contradictory commands This is also true of a simultaneous depression of the left and right segments of the button44.

Each of the pads42a,42b,42cand42dmay include a button56(FIG. 1) which is connected to a switch57(FIG. 2). Successive depressions of the button56on one of the pads within a particular period of time cause different ones of the stationary accessories or plants such as the pumping station34and the conveyor38to be energized. For example, a first depression of the button56in one of the pads42a,42b,42cand42dmay cause the pumping station34to be energized and a second depression of the button56within the particular period of time in such pad may cause the conveyor38to be energized. When other stationary accessories are include in the system10, each may be individually energized by depressing the button56a selective number of times within the particular period of time. When the button56is depressed twice within the particular period of time, the energizing of the pumping station34is released and the conveyor38is energy. This energizing of a selective one of the stationary accessories occurs at the end of the particular period of time.

A button58is provided in each of the pads42a,42b,42cand42dto select one of the vehicles12,14,16and17. The individual one of the vehicles12,14,16and17selected at any instant by each of the pads42a,42b,42cand42dis dependent upon the number of times that the button is depressed in that pad within a particular period of time. For example, one depression of the button58may cause the dump truck12to be selected and two sequential selections of the button58within the particular period of time may cause the fork lift14to be selected.

Every time that the button58is actuated or depressed within the particular period of time, a switch59(inFIG. 2) is closed. The particular period of time for depressing the button58may have the same duration as, or a different time than, the particular period of time for depressing the button56. An adder is included in the pad42to count the number of depressions of the button58within the particular period of time. This count is converted into a plurality of binary signals indicating the count. The count is provided at the end of the particular period of time. Each individual count provides for a selection of a different one of the vehicles12,14,16,17and25. The count representative of the selection of one of the vehicles12,14,16,17and25may be maintained in a memory, which may be located either in the pads42a,42b,42cand42d,or in the central station64.

Buttons60aand60bare also included on each of the pads42a,42b,42cand42d.When depressed, the buttons60aand60brespectively close switches62aand62binFIG. 2. The closure of the switch62ais instrumental in producing an operation of the motor32in a direction to lift the bin18in the dump truck12when the dump truck has been selected by the proper number of depressions of the button58. In like manner, when the dump truck has been selected by the proper number of depressions of the switch58, the closure of the switch62bcauses the selective one of the bin18in the dump truck12, the platform20in the fork lift14and the bin22in the skip loader16and the bin23in the skip loader17to move downwardly as a result of the operation of the motor32in the reverse direction. Similarly, where the dump25includes a scoop27, actuation of switch62aoperates motor32in a direction to lift the scoop27upwardly and then rearwardly, and, where the scoop27and the bin29are interconnected, cases the bin29to pivot upwardly. In like manner, actuation of the switch62bcauses the bin29to move downwardly, and the scoop27to move forwardly and downwardly as a result of the operation of the motor32in the reverse direction.

It will be appreciated that other controls may be included in each of the pads42a,42b,42cand42d.For example, buttons61aand61bmay be included in each of the pads42a,42b,42cand42dto pivot the bin18to the right or left when the vehicle12has been selected. Such movements facilitate the ability of the bin18to scoop elements such as blocks24and marbles26upwardly from the floor or ground or from any other position and to subsequently deposit such elements on the floor or ground or any other position. It will be appreciated that different combinations of buttons may be actuated simultaneously to produce different combinations of motions. For example, a bin in a selected one of the vehicles may be moved at the same time that the selected one of the vehicles is moved.

Switch65is provided in the pads42a,42b,42cand42dto select the mode of control sharing among the pads42a,42b,42cand42d.As will be described more fully below, when switch65is positioned in a first position to set, for example, pad42ain a first mode, the toy vehicle that is selected and energized by the pad42amay be controlled only by actuating the buttons on the pad42a.No other pad, such as pads42b,42cor42dmay control the operation of the vehicle selected by pad42a.If, however, the operator of pad42asets pad42ain a second mode by switching switch65to a second position, the toy vehicle, for example dump truck12controlled by pad42amay also be controlled by any or all of pads42b,42cor42d.In this manner, the operator using pad42amay grant the operators of any or all of pads42b,42cor42bthe ability to control the toy vehicle selected by42a.The operator of pad42a,however, may not control any toy vehicle selected by any other of pads42b,42cor42dunless such other one, or all, of those pads is also set in the second mode by positioning the switch65of a particular pad in the second position.

Buttons47and49are also included on each of the pads42a,42b,42cand42d.When depressed, the button47closes switch53and button49closes switch51. The functions of switches51and53will be described more fully below.

A central station generally indicated at64in theFIG. 1processes the signals from the individual ones of the pads42a,42b,42cand42dand sends the processed signals to the vehicles12,14,16,17and25when the button58on an individual one of the pads has been depressed to indicate that the information from the individual ones of the pads is to be sent to the vehicles. The transmission may be on a wireless basis from an antenna68(FIG. 1) in the central station to antennas69on the vehicles.

The transmission may be in packets of signals. This transmission causes the selected ones of the vehicles12,14,16,17and25to perform individual ones of the functions directed by the depression of the different buttons on the individual ones of the pads. When the commands from the individual ones of the pads42a,42b,42cand42dare to pass to the stationary accessories34and38as a result of the depression of the buttons56on the individual ones of the pads, the central station processes the commands and sends signals through cables70to the selected ones of the stationary accessories.

FIG. 2shows the construction of the pad42ain additional detail. It will be appreciated that each of the pads42b,42cand42dmay be constructed in a substantially identical manner to that shown inFIG. 2. As shown inFIG. 2, the pad42aincludes the switches46,48,50and52and the switches51,53,57,59,62a,62b,63a,63band65. Buses74are shown as directing indications from the switches46,48,50,51,52,53,57,59,62a,62b,63a,63band65to a microcontroller generally indicated at76inFIG. 2. Buses78are shown for directing signals from the microcontroller76to the switches.

The microcontroller76is shown as including a read only memory (ROM)80and a random access memory (RAM)82. Such a microcontroller may be considered to be standard in the computing industry. However, the programming in the microcontroller and the information stored in the read only memory80and the random access memory82are individual to his invention.

The read only memory80stores permanent information and the random access memory stores volatile (or impermanent) information. For example, the read only memory80may store the sequence in which the different switches in the pad42aprovide indications of whether or not they have been closed. The random access memory82may receive this sequence from the read only memory80and may store indications of whether or not the switches in the particular sequence have been closed for each individual one of the pads42a,42b,42cand42d.

The pads42a,42b,42cand42dare respectively connected to the central station64by cables66a,66b,66cand66d(FIG. 1). These cables have, for example, five conductors or lines encased within an exterior protective sheath. It will be apparent that the structure of cables66a,66b,66cand66d,and the functions of that structure, are identical for each of the cables66a,66b,66cand66d.Thus, only the cable66a,and its operation in conjunction with pad42aand the central station64, will be described.

The central station provides a clock signal, SCLK to the pad42aover line86of cable66a.A second line, line84, in cable66a,carries interrogation signals from the central station64to the pad42a.The pad42atransmits signals over line88(SDATA) of cable66ato the central station64in response to a combination of the interrogation signal transmitted by the central station64to the pad42aover line84and the clock signal transmitted to the pad42aby the central station64over line86. Thus, only three lines in each one of cables66a,66b,66cand66care used for interrogation of the pad42aand communication of data by the pad42ato the central station64. A more detailed description of the interrogation and data transmission process will be provided below.

A fourth line in cable66aprovides electrical power to the pad42afrom the central station64. A fifth line in cable66aserves as a common ground connection between the pad42aand the central station64.

The pad42ainFIG. 2receives the interrogating signals from the central station64through line84. These interrogating signals are not synchronized by clock signals on line86. Each of the interrogating signals intended for the pad42amay be identified by an address individual to such pad. When the pad42areceives such interrogating signals, it sends to the central station64through line88a sequence of signals indicating the status of the successive ones of the switches4648,50and52and the switches51,53,57,5962a,62b,63a,63band65. These signals are synchronized by the clock signals on the line86. It will be appreciated that the status of each of the switches57and59probably is the first to be provided in the sequence since these signals indicate the selection of the stationary accessories34and38and the selection of the vehicles12,14,16,17and25.

The pads42a,42b,42cand42dinclude an array of a plurality of light emitting diodes (LED) generally indicated at93. These light emitting diodes93provide a visual indication of which one of the vehicles12,14,16,17and25has been selected by the operator of a particular pad. The pads42a,42b,42cand42dmay be connected to the central station64by plugging the end of the respective one of cables66a,66b,66cand66dinto one of the ports on the central station64provided for that purpose. When the power is provided to the central station64and the system10is turned on, the start up state of the system10is such that none of the vehicles12,14,16,17and25is selected by any of the pads42a,42b,42cand42d.Accordingly, the array of light emitting diodes93on each of the pads42a,42b,42cand42dmay provide an indication on each pad that no vehicle has been selected by the operator of that pad. Such an indication may be, for example, providing a signal to the first individual light emitting diode93in the array for a predetermined period of time to light the light emitting diode93, removing the signal, causing the lighted light emitting diode to be extinguished, and then providing the signal to the next individual light emitting diode93in the array. This process is continued, lighting each of the individual light emitting diodes93in turn until all of the light emitting diodes have been illuminated or until button58has been depressed, actuating switch59to select one of the vehicles12,14,16,17and25. If all of the light emitting diodes93in the array have been illuminated, and the button58has not been depressed by the operator, the first light emitting diode93in the array will again be illuminated, followed by the second light emitting diode, and so on as described above.

It may also happen that the system10is in use by one or more operators at the time an additional operator desires to also use, the system, but not all of the pads42a,42b,42cand42dare connected to the central station64. Thus, one of the pads42a,42b,42cand42dmay need to be second to the central station while the system10is in use to accommodate the additional operator. One advantage of the present invention is that an additional one or more of the pads42a,42b,42cand42dmay be connected to the central station64while the system10is in use without powering down the system10. The central station64is capable of detecting the additional one or more of the pads42a,42b,42cand42dwhen it is connected to the central station64, initialize the newly connected one or more of the pads42a,42b,42cand42d,and cause the light emitting diodes93of the newly connected pad to indicate that none of the vehicles12,14,16,17and25have been selected by the newly connected pad.

Alternatively, an operator may disconnect one of the pads42a,42b,42cand42dfrom the central station64while the system10is in use and others of the pads42a,42b,42cand42dare being used. When the pad is disconnected, the central station64automatically detects that the pad is disconnected and transmits a signal to the vehicle selected by the disconnected pad causing the vehicle to indicate that it is now available for selection by another one of the pads42a,42b,42cand42dthat remain connected to the central station64. When a vehicle is being controlled by more than one pad, such as when one of the pads controlling the vehicle is in the second mode as described previously, disconnection of one of the pads will not affect the control of the vehicle by the remaining, connected pad.

As previously indicated, the pad42aselects one of the vehicles12,14,16,17and25in accordance with the number of closings of the switch59. As the user of the pad42aprovides successive actuations or depressions of the button58, signals are introduced to a shift register90through a line92to indicate which one of the vehicles12,14,16,17and25would be selected if there were no further depressions of the button. Each one of the depressions of the button58causes the indication to be shifted to the right in the shift register90. Such an indication is provided on an individual one of the plurality of light emitting diodes (LED)93. The shifting of the indication in the shift register90may be synchronized with a clock signal on a line95. Thus, the illuminated one of the light emitting diodes93at each instant indicates at that instant the individual one of the vehicles12,14,16,17and25that the pad42ahas selected at such instant

The central station64is shown in additional detail inFIG. 3. It includes a microcontroller generally indicated at94having a read only memory (ROM)96and a random access memory (RAM)98. As with the memories in the microcontroller76in the pad42a,the read only memory96stores permanent information and the random access memory98stores volatile (or impermanent) information. For example, the read only memory96sequentially selects successive ones of the pads42a,42b,42cand42dto be interrogated on a cyclic basis. The read only memory96also stores a plurality of addresses each individual to a different one of the vehicles12,14,16,17and25.

Since the read only memory96knows which one of the pads42a,42b,42cand42dis being interrogated at each instant, it knows the individual one of the pads responding at that instant to such interrogation. The read only memory96can provide this information to the microcontroller94when the microcontroller provides for the transmittal of information to the vehicles12,14,16,17and25. Alternatively, the microcontroller76in the pad42acan provide an address indicating the pad42awhen the microcontroller sends the binary signals relating to the status of the switches46,48,50and52and the switches51,53,57,59,62a,62b,63a,63band65to the central station64.

As an example of the information stored in the random access memory98inFIG. 3, the memory stores information relating to each pairing between an individual one of the pads42a,42b,42cand42dand a selective one of the vehicles12,14,16,17and25inFIG. 1and between each individual one of such pads and a selective one of the stationary accessories34and38. The random access memory98also stores the status of the operation of the switches46,48,50and52for each pad and the operation of the switches51,53,57,59,62a,62b,63a,63band65for each pad.

When the central station64receives from the pad42athe signals indicating the closure (or the lack of closure) of the switches46,48,50and52and the switches51,53,57,59,62a,62b,63a,63band65, the central station retrieves from the read only memory96the address of the individual one of the vehicles indicated by the closures of the switch59in the pad. The central station may also retrieve the address of the pad42afrom the read only memory96.

The central station64then formulates in binary form a composite address identifying the pad42aand the selected one of the vehicles12,14,16,17and25and stores this composite address in the random access memory98. The central station64then provides a packet or sequence of signals in binary form including the composite address and including the status of the opening and closing of each of the switches in the pad42aThis packet or sequence indicates in binary form the status of the closure of each of the switches46,48,50and52and the switches51,53,57,59,62a,62b,63a,63band65.

Each packet of information including the composite addresses and the switch closure information for the pad42ais introduced through a line102(FIG. 3) to a radio frequency transmitter104in the central station64. The radio frequency transmitter104is enabled by a signal passing through a line106from the microcontroller94.

When the radio frequency transmitter104receives the enabling signal on the line106and the address and data signals on the line102, the antenna68(also shown inFIG. 1) transmits signals to all of the vehicles12,14,16,17and25. The signals are transmitted to the vehicles12,14,16,17and25at the same frequency. In a preferred embodiment, the microcontroller94provides enabling signals to the radio frequency transmitter104causing the radio frequency transmitter104to transit a continuous stream of packets200through the antenna68at all times that the central station64is powered up, including when none of the pads42a,42b,42cand42dhas selected any of the vehicles12,14,16,17and25. However, the individual one of the vehicles12,14,16,17and25will only respond to packets of signals from the central station64having the address associated with that vehicle.

Referring now toFIG. 5, a typical packet or sequence200is described. As will described more fully below, the packet200is a sequence of signals in binary form that are transmitted by the central station64using radio frequencies to receivers included in each of the vehicles12,14,16,17and25. Each packet200of signals transmitted by the central station64includes a pair of start bits or signals202,204. These start bits202,204are a signal that the following16bits of information contain commands in binary form representative of the status of the closure of each of the switches46,48,50and52and the switches51,53,59,62a,62b,63a,and63b.Each packet200is thus defined by the start bits202,204, and includes all of the bits beginning with the first start bit202and terminating with the sixteenth and last data bit. The packet thus contains a total of eighteen bits. The packets are transmitted continuously by the radio frequency transmitter104while the central station is tuned on. The first start bit202is transmitted immediately after the transmission of the sixteenth data bit. There is no time interval between the end of one packet and the beginning of the next packet transmitted.

One possible sequencing of the binary signals comprising the packet200is depicted inFIG. 5. The first four bits of binary information following the start bits202and204, bits206,208,210and212, form a composite address identifying the selected one of the vehicles12,14,16,17and25. The four bits of binary information may be either a binary1or a binary0. Thus, in the embodiment of the invention using four bits206,208,210and212to compose unique vehicle addresses, sixteen unique combinations of binary information that may be used to identify as many as sixteen individual vehicles are possible.

Following the identification bits206,208,210and212are 11 bits of binary information that reflect the status of switch closures on the pad42aFor example, when switch46is closed by an operator depressing button44to control the selected one of the vehicles12,14,16,17and25to move forward, bit214will be a binary1. If the operator has released button44, or depressed button44in such a manner that switch46is no longer closed, bit214will be a binary0. Similarly, actuating button44to close switch48results in bit216to be a binary1; actuating switch50causes bit218to be a binary1; actuating switch52causes bit220to be a binary1. Actuating button60ato lift a bin, for example bin18, closes switch62aand causes the value of bit222to be a binary1. Similarly, actuating button60bto lower bin18closes switch62band causes the value of bit224to be a binary1. Actuating button61ato pivot bin8to the right, or close the grip of the fork lift14closes switch63aand causes the value of bit226to be a binary1. Actuating button61bto pivot bin18to the left, or to open the grip of the fork lift14closes switch63band causes the value of bit228to be a binary1.

One unique capability of the system of the present invention is the incorporation of a shift button49. When the “shift” button49is depressed, actuating switch51, in conjunction with the simultaneous depression of one of buttons60a,60b,61aand61b,the microcontroller94may interpret the simultaneous depressions of shift button49and one of the other buttons as a shifted command, and cause the value of bit230to be a binary1. Similarly, simultaneous depression of button47, closing switch53, and any one of buttons60a,60b,61aand61bwill be interpreted by the microcontroller94of the central station64as a second shifted command. The microcontroller will then set the value of bit232to a binary1.

The final bit of the packet200is bit236. Unlike the other data bits in the packet200, bit236is reserved for use by an accessory connected to the smart port115. This bit may be set by the microcontroller in an accessory connected to the smart port115to control the microcontroller94of the central station64to cause an action to take place, such as energizing a sound board to simulate, for example, the firing of a gun or the sounding of a train whistle or a truck horn. As will be more fully described below, various accessories or another central station64bmay be connected to the central station64through the smart port or adaptor115. These accessories or additional central station may alter the processing of the signals received from the pad42aby the microcontroller94of the central station64, such that the binary values of the bits of the packet200may be representative of commands to carry out different functions for the buttons of the pad42athan have been described previously.

In its simplest embodiment, the packet200comprises a pair of start bits202,204followed by sixteen data bits, each data bit having a value of binary0, that are repeatedly transmitted by the radio frequency transmitter at a predetermined frequency or rate. The interval of time between successive pairs of start bits202,204also determines the duration of the sixteen data bits within the packet Thus, the bit duration of each of the sixteen data bits following the start bits202,204is a value equal to the interval of time between pairs of start bits202,204in the stream of packets200divided by sixteen, the number of data bits in each packet200.

Because the output of the radio frequency transmitter104is RF energy, it is necessary to encode the packet of energy comprising an individual packet200accordingly to represent the binary values of each of the individual ones of the bits comprising the packet200. In one encoding scheme, a binary0may be represented by a transition from low to high at a particular time within the bit duration. This is illustrated at401inFIG. 6. A binary1may be represented by causing the transition from high to low to take place at a different time within the bit duration. This is illustrated at403inFIG. 6. Similarly, the start bits202,204may a transition from high to low that occurs at a specific time within the bit duration that is different from any other bit that may be transmitted by the radio frequency transmitter104of the central station64. Thus, the tier104may form packets200by simply transmitting a repetitive series of high to low transitions, substituting a pair of start bits202,204for the high to low transitions at a frequency equal to the packet duration.

The microcontroller94stores in the random access memory98the individual ones of the vehicles such as the vehicles12,14,16,17and25being energized at each instant by the individual ones of the pads42a,42b,42cand42d.Because of this, the central station64is able to prevent the interrogated one of the pads42a,42b,42cand42dfrom selecting one of the energized vehicles when the pad42that had previously selected the energized vehicle has been placed in the first mode by the operator by placing switch65in the first position. Thus, for example, if the vehicle14is being energized by one of the pads42a,42b,42cand42dat a particular instant, a first depression of the button58in the pad being interrogated at that instant will cause the vehicle12to be initially selected and a second depression of the button by such pad will cause the vehicle14to be skipped and the vehicle16to be selected. It however, the operator of the pad42energizing a particular vehicle at a particular instant has been placed in the second mode by placing the switch65in the second position, a first depression of the button58in another pad being interrogated at that instant will cause the vehicle12to be initially selected, and the second depression of the button by such pad will not skip vehicle14, but will allow the pad to control vehicle14in concert with the pad that first energized vehicle14.

Furthermore, in the example above where the pad42ahas previously selected the vehicle14, the microcontroller94in the central station64will cause the vehicle14to be released when the pad42aselects any of the vehicles12,16,17and25. Thus, while a single vehicle may be controlled by more than one of pads42a,42b,42cand42dat a particular instant, each one of pads42a,42b,42cand42dmay only control one of the vehicles12,14,16,17and25at a single instant. When the vehicle14becomes released, it becomes available immediately thereafter to be selected by any one of the pads42a,42b,42cand42d.The release of the vehicle14by the pad42aand the coupling between the pad42aand a selected one of the vehicles12,14,16,17and25are recorded in the random access memory98in the microcontroller94.

It is advantageous to optimize the packets transmitted by the central station64so that each transmitted packet contains sufficient information to provide control of the vehicles and accessories in a pleasing manner, but not so much information that troublesome lag times adversely affecting the smooth control of the vehicles are introduced. To prevent such troublesome lag times, the central station64uses a variety of methods to prioritize interrogation of the pads42a,42b,42cand42d,data processing and transmission of the data in packets to the vehicles12,14,1617and25.

In one approach, the microcontroller94provides packets of data for transmission to each vehicle in operation in a sequential, round-robin, fashion. In this approach, four packets of commands, each packet being associated with the binary address of each of the vehicles being controlled by individual pads42a,42b,42cand42d,are transmitted one after another until all four packets are transmitted. Thus the packet of commands addressed to a vehicle controlled by pad42amay be transmitted first, followed by a packet of commands intended for the vehicle controlled by pad42b,followed by a packet of commands intended for the vehicle controlled by pad42cand followed by a packet of commands intended for the vehicle controlled by pad42d.The sequence of packets would then be repeated. It is evident that this is just one possible sequencing of packets that may be transmitted; other sequences of packet transmission are possible, depending on the program commands stored in the read only memory96of the microcontroller94.

This round-robin transmission method may require, for example, 48 milliseconds to transmit for all four packets. In the case where eight vehicles are being controlled, a transmission cycle would require, for example, 96 milliseconds, or almost 1/10th of a second for all eight packets of command data to be transmitted. Even if the vehicles are traveling at the minimum speed the motors are capable of, the first vehicle may travel perhaps several inches between transmission of packets of commands by the central station64.

Another embodiment of the invention transits packets of data only for vehicles that have been selected by users by pressing button58the required number of times within the predetermined time. In this manner, only data for vehicles actually under control of a user is transmitted.

In a preferred embodiment, the random access memory98maintains a record of the state of each of the pads42a,42b,42cand42dand the time since the state of the pads changed. One skilled in the art will understand that the actuation of any of the buttons44,47,4956,5860a,60b,61a,61bor65of the pad42aresults in a change in the state of the pad42a.If none of the buttons of the pad42ais actuated by the operator during the time between interrogations of the pad42aby the central processor64, then the state of the pad42awill not have changed.

Since the state of each of the pads42a,42b,42cand42dis maintained in the random access memory98of the central station64, the microcontroller94may further process the signals received from each of the pads42a,42b,42cand42dto determine if the state of the pad has changed even if an operator has actuated one of the buttons on the pad. For example, if an operator presses button44to command the vehicle energized by that pad to move forward, additional actuations of the button44without actuating any other of the buttons of the pad will not result in a change in the state of the pad, and a packet of commands need not be transmitted by the microcontroller94.

As described previously, the microcontroller94of the central station64may transmit a continuous stream of packets of commands in a sequential, round-robin, fashion to the vehicles controlled by the pads42a,42b,42cand42d.The microcontroller continues to transmit this sequential stream of packets even when none of the buttons on pads42a,42b,42cand42dhas been actuated.

When, however, the microcontroller94of the central station64determines that the state of one of the pads42a,42b,42cand42dhas changed, it responds by forming a packet of commands representative of the state of the pad and inserting the newly formed packet of commands into the stream of packets being continuously transmitted, even if the newly formed packet is inserted at a position in the sequence of packets different from the position a packet associated with that particular pad would normally have in the round-robin sequence of packets. If buttons on two or more of the pads42a,42b,42cand42dare actuated simultaneously, the microcontroller94may form packets of commands representative of the state of those pads and insert the packets in the stream of packets. In this case, the microcontroller94may insert the newly formed packets in the order in which they would have been sent in the round-robin sequence, except that the string of newly formed packets may be inserted in the continuous round-robin sequence out of order. For example, buttons on pads42aand42cmay be actuated simultaneously and the microcontroller may form a string of packets representative of the state of the pads42aand42csuch that the packet associated with pad42ais transmitted before the packet associated with pad42c.The microcontroller94may then insert this string of packets in the stream of packets at the next available instance, for example, after a packet associated with pad42cbut which is not representative of the change of state of pad42chas been transmitted. In this manner, the microcontroller94employs an intelligent funneling of the data provided by each of the pads42a,42b,42cand42dduring the interrogation process to form packets of commands to be transmitted to each of the vehicles energized by the pads42a,42b,42cand42d.

The vehicles12,14,16and17are battery powered. As a result, the energy in the batteries in the vehicles12,14,16and17tends to become depleted as the batteries provide the energy for operating the vehicles. The batteries in the vehicles12and14are respectively indicated at108and110inFIG. 3. The batteries108and110are chargeable by the central station64because the central station may receive AC power from a wall socket. The batteries are charged only for a particular period of time. This particular period of time is preset in the read only memory96. When each battery is being charged for the particular period of theme, a light109in a circuit with the battery becomes illuminated. The charging current to each of the batteries108and110may be limited by a resistor111. The light109becomes extinguished when the battery has been charged.

The central station64of the present invention, as mentioned previously, includes a microcontroller94, random access memory98and read only memory96. The central station64also includes a smart port115that is connected to the microcontroller94by lines505,510,520,530and540. The signals transmitted and received by the microcontroller94over the SDATA0, SDATA1, SDATA2and the SDATA3lines to the pads42a,42b,42cand42dmay be provided to an accessory connected to the smart port115over a cable114. Using this configuration, all of the signals from the pads42a,42b,42cand42dmay be rerouted through the smart port115before being processed by the microcontroller94. One principal advantage of this configuration of the central station64is that various accessories, including additional central stations, may be connected to the smart port115and alter signals received from the pads42a,42b,42cand42dand process the signals in a different manner than they would normally be processed by the microcontroller94. Accessories that may be attached to the smart port115may include additional microcontrollers94athat may, for example, have information stored in a separate read only memory and random access memory that allow the second processor to remap the functions of the buttons44,47,49,56,58,60a,60b,61a,61band65on the pads42a,42b,42cand42d.For example, a signal from pad42arepresentative of the closure of switch46could be routed through the smart port115and over the cable114to be processed by the accessory microcontroller94a.All signals rerouted to accessories connected to the smart port115are returned after processing by the accessory over the cable114to the microcontroller94. The microcontroller94then forms a packet200comprising data bits commanding the appropriate receiver to take action. For example, a signal from a pad may be interpreted by microcontroller94aas a command to a toy hockey player to raise its arm, rather than the usual meaning for the command, such as to command a toy vehicle to move forward. The microcontroller94awould then provide a signal over cable114to the microcontroller94. In this manner, each of the keys of the pads42a,42b,42cand42dmay be reprogrammed to have different functions. This approach is particularly advantageous in that it allows for increased flexibility and future expansion of the capabilities of the central station. Thus, the central station could control a wide variety of games and activities without the need for costly changes in hardware or reprogramming the information stored in the read only memory96.

A particularly illustrative example of the advantages of the smart port115is where an additional central station64is connected to the first central station64. Each central station64may have the capabilities of servicing only a limited number of pads. For example, each central station64may have the capabilities of servicing only the four (4) pads42a,42b,42cand42d.It may sometimes happen that the users of the system may wish to be able to service more than four (4) pads. Under such circumstances, the microcontroller94in the central station64and a microcontroller, generally indicated at94a,in the second central station corresponding to the central station64may be connected by cable114to the smart port115.

One end of the cable114may be constructed so as to connect to a ground117in the smart port115. This ground operates upon the central station to which it is connected so that such central station is a slave to, or subservient to, the other central station. For example, the ground117in the smart port115may be connected to the microcomputer94aso that the central station including the microcontroller94ais a slave to the central station64. When this occurs, the microcontroller94in the central station64serves as the master for processing the information relating to the four (4) pads and the four (4) vehicles in its system and the four (4) pads and the four (4) vehicles in the other system. The expanded system including the microcontrollers94and94amay be adapted so that the address and data signals generated in the microcontroller94amay be transmitted by the antenna68in the central station64when the central station64serves as the master station. The operation of the central station64amay be clocked by the signals extending through a line118from the central station64to the adaptor115and through a corresponding line from the other central station to the adaptor.

Referring now toFIG. 10, the interface of the smart port115will be described in more detail. As described above, an accessory generally indicated at numeral500may be connected to the smart port115of the central station64. The accessory500may include a microcontroller502. The microcontroller502of the accessory500may also include a random access memory544and a read only memory546. As with the memories in the microcontroller94in the central station64, the random access memory544stores volatile or impermanent information and the read only memory96stores permanent information.

As shown inFIG. 3, the microcontroller94of the central station is connected to the smart port115using five signal lines, lines SK line505, SO line510, SI line520, ACCIO line530and ACCIO2line540and a ground line117. The ground line117provides a common electrical reference for the microcontroller94of the central station64and the microcontroller502of the accessory500. These lines are similarly shown inFIG. 10, but the lines are shown directly connected to the accessory500, with the smart port115indicated in dashed form. It will be apparent that the smart port115may be only a connector mounted on the central station64allowing the connection of the cable114(FIG. 3). The cable114has one end connected to the accessory500, either directly or through an appropriate connector, and the other end terminating in a connector compatible with a corresponding connector forming the smart port115of the central station64.

In a preferred embodiment, each of the microcontrollers94and502includes a serial interface comprising inputs and outputs for connecting the lines505,510,520,530and540and various logical elements, such as shift register97in the microcontroller94of the central station64and shift register542in the microcontroller542of the accessory500. These serial interfaces enable the transfer of data between the microcontroller94of the central station64and the microcontroller502of the accessory500. As used in the present invention, the serial interface of the microcontroller94of the central station64is configured as a master and provides a shift clock signal over the SK line505to the SK input of the microcontroller502in the accessory500. Thus, the transfer of data over the serial interface to the microcontroller502is controlled by the microcontroller94of the central station.

In the present invention, as depicted inFIG. 10, the SO output of the smart port115is connected to the SI input of the microcontroller502by line520. Similarly, the SO output from the microcontroller502of the accessory500is connected to the SI input of the microcontroller94of the central station64by line510. In this manner, data may be shifted out of the shift register97of the microcontroller94of the central station64over the SO line520into the SI input of the microcontroller502into the shift register542of the accessory500. Similarly, since the data transfer over the serial interface is bidirectional, as will be more fully described below, data may be shifted out of the shift register542of the microcontroller502over the SI line510into the SI input of the microcontroller94and into the shift register97of the central station64. Two additional lines, ACCIO line530and ACCIO2line540carry handshaking signals output by the microcontrollers502and94respectively, the ACCIO2line540carrying signals from the microcontroller94to the microcontroller502, and the ACCIO line530carrying signals from the microcontroller502to the microcontroller94.

Referring now toFIGS. 10 and 11, a typical timing sequence of data flow across the serial interface of the smart port115will be described. The microcontroller94in the central station64continuously provides the smart port115with signals representing the current state of the central station64. Such signals may be, for example, signals indicating the status of switch closures in the pads42a,42b,42c,and42d,signals representative of the values of various timing function carried out by the microcontroller94of the central station64, such as signals indicating how much time remains before a vehicle will be provided with a signal to enter the powered, but inactive state because there has been no thumb pad activity, or signals indicating that a vehicle will be released from particular one of the pads42a,42b,42cand42dbecause no switch on the particular pad has been activated for a prolonged period of time.

The microcontroller94monitors the state of the signal on line ACCIO530. When the signal on line530is high, which may be the normal state of the signal on the line530, the central station64assumes that either no accessory is connected to the smart port115, or that the accessory500is a “dumb” accessory which is incapable of modifying the signals provided by the microcontroller64through the smart port115. Examples of such “dumb” accessories may include devices that react to the signals provided by the central station, but do not process the signals, such as a sound device that produces a sound in response to a signal from the central station. When a “dumb” accessory, or no accessory at all, is connected to the smart port115, the microcontroller94of the central station continues to process data, for example, data received from the pads42a,42b,42cand42d,in a normal mode, acting upon the data stored in the random access memory98and causing signals to be sent to the receivers of the various vehicles through the radio frequency transmitter104(FIG. 3).

The accessory may also be a so called “smart” accessory possessing the ability to process and modify the signals received from the smart port115, and then return the modified signals to the microcontroller94of the central station64through the smart port115. When a “smart” accessory is connected to the smart port115, the microcontroller94of the central station enters a second operating mode. In this operating mode, the microcontroller is configured to receive modified data from the microcontroller502of the accessory500and store that modified data in its random access memory98. Depending on the programmable capabilities of the microcontroller502of the accessory500, all, or a selected portion, of the data stored in the random access memory98of the microcontroller94may be modified by the microcontroller502of the accessory500. Additionally, when a “smart” accessory is connected to the smart port115, the microcontroller94of the central station may not process any of the signals received from the pads42a,42b,42cand42d,but instead provide the signals unchanged to the at port115for transmission to the microcontroller502of the accessory500.

The microcontroller94of the central station64detects when a smart accessory500is attached to the smart port115because the signal on line ACCIO530will be periodically driven low by the microcontroller502of the accessory500, indicating that the accessory is ready to receive data from the microcontroller94of the central station64. Once the signal on line520goes low, the microcontroller94will begin sending data to the microcontroller502through the smart port115over the SO line520when the microcontroller determines it has data to send to the accessory. It will be apparent that since the microcontroller94of the central station64is the master, as described above, it is the microcontroller94that controls the flow of data over the serial interface to the accessory500. The microcontroller502of the accessory500may only be enabled to indicate that it is ready to receive data from the microcontroller94by driving the line ACCIO line low. Thus, if the microcontroller94has no data to send to the microcontroller502because, for example, no buttons on the pads42a,42b,42cand42dhave been pushed, the microcontroller502simply waits for data to be sent.

As indicated by the timing diagram line550ofFIG. 11, the transition of the signal level on ACCIO line530from high to low causes the shift register97of the microcontroller94of the central station64to begin shifting data bits (assuming there is data to send) out of the shift register97onto the SO line520. Because the SO line520is connected to the shift input of the shift register542of the microcontroller502of the accessory500, each bit shifted from the microcontroller94is shifted into the shift register542of the microcontroller502. Because the shift registers97and542are serial input/output registers, shifting a bit of data out of the shift register97into the shift register542over the SO line520causes a bit to be shifted out of the shift register542of the microcontroller502onto line530and into the shift input of the shift register97of the microcontroller94of the central station64.

The microcontroller94generates a shift clock signal, indicated as line552inFIG. 11. Bits are shifted out of, and thus into, the shift registers97and542in response to the transition of the shift clock signal from high to low on the SK line505. The microcontroller94may be programmed to maintain a count of the number of shift clock signals provided since the first shift clock signal. When the count equals, for example, eight, indicating that eight shift clock signals have been provided to shift a total of eight bits out of the shift registers97and542, the microcontroller94may pulse the signal on the ACCIO2line540low for a brief period of time, indicating to the microcontroller502of the accessory500that the microcontroller94has completed sending eight bits of data over the SO line520. When the signal on line ACCIO2goes low, the microcontroller502resets the signal on the ACCIO line540to high, indicating to the microcontroller94of the central station that the microcontroller502is processing the data sent to it over the SO line520by the microcontroller94and is not ready at that instant to receive any additional data.

When the microcontroller502is again ready to receive data from the microcontroller94, such as, for example, when microcontroller502has completed processing the data received from the microcontroller94during the previous shift cycle, the microcontroller502drives the signal on line ACCIO530low, indicating its state of readiness to the microcontroller94of the central station64. At this time, if the microcontroller94of the central station has data to send to the microcontroller502of the accessory500, the shift cycle is repeated. One advantage of this interface is that data flows to and from the microcontroller94of the central station64and to and from the microcontroller502of the accessory500simultaneously. This feature is particularly important since the routing of the signals from the central station64to the accessory500, and subsequent processing of those signals by the microcontroller502and retransmission back to the central station64requires additional time, and thus may impart unacceptable delay in the response of the vehicles12,14,16,17and25to actuations of buttons on the pads42a,42b,42cand42d.

The vehicle12is shown in additional detail inFIG. 4. Substantially identical arrangements may be provided for the vehicles14,16,17and25. The vehicle12includes the antenna69for receiving from the central station64signals with the address of the vehicle and also includes a receiver121for processing the received signals. The vehicle12also includes the motors28,30,32and33. Each of the motors28,30,32, and33receives signals from an individual one of the transistor drivers120connected to a microcontroller generally indicated at122.

The microcontroller122includes a read only memory (ROM)124and a random access memory (RAM)126. As with the memories in the pad42aand the central station64, the read only memory124may store permanent information and the random access memory126may store volatile (or impermanent) information. For example, the read only memory124may store information indicating the sequence of the successive bits of information in each packet for controlling the operation of the motors28,30,32and33in the vehicle12. The random access memory126stores information indicating whether there is a binary1or a binary0at each successive bit in the packet.

The vehicle12includes a plurality of switches128,130and132. These switches are generally pre-set at the factory to indicate a particular Arabian number such as the number “5”. However, the number can be modified by the user to indicate a different number if two central stations are connected together as discussed above and if both stations have vehicles identified by the numeral “5”. The number can be modified by the user by changing the pattern of closure of the switches128,130, and132. The pattern of closure of the switches128,130and132controls the selection of an individual one of the vehicles such as the vehicles12,14,16,17and25.

The pattern of closure of the switches128,130, and132in one of the vehicles can be changed when there is only a single central station. For example, the pattern of closure of the switches128,130and132can be changed when there is only a single central station with a vehicle identified by the numeral “5” and when another user brings to the central station, from such other user's system, another vehicle identified by the numeral “5”.

The vehicle12also includes a light such as a light emitting diode134. This diode is illuminated when the vehicle12is selected by one of the pads42a,42b,42cand42d.In this way, the other users can see that the vehicle12has been selected by one of the pads42a,42b,42cand42din case one of the users (other than the one who selected the vehicle12) wishes to select such vehicle. It will be appreciated that each of the vehicles12,14,16,17and25may be generally different from the others so each vehicle may be able to perform functions different from the other vehicles. This is another way for each user to identify the individual one of the vehicles that the user has selected.

When the RF receiver121receives a stream of packets200that have been transmitted by the radio frequency transmitter104, the microcontroller124must decode the received packets to determine the values of each of the bits included in the packet200. The microcontroller122begins the decoding process by determining the duration between pairs of start bits202,204that have been received. If the duration between pairs of start bits202,204is not within a range of values stored in the read only memory124, or if the microcontroller122detects only one start bit204, the microcontroller122may determine that the packet200has been corrupted or is otherwise undecodable. The microcontroller continues to analyze the pairs of start bits202,204until the duration between successive pairs of the start bits202,204is within the range of values stored in the read only memory124.

The microcontroller determines a bit duration for each of the bits contained within the packet200by dividing the interval of time measured between two successive pairs of start bits by six, the number of data bits in a valid packet200. In this manner, the microcontroller122determines the bit duration during processing, allowing for variation in bit duration that may be caused by variations in the transmitted stream of packets, and allowing the microcontroller122to synchronize the analysis of the values of the bits contained within the packet200. One advantage of determining the bit duration on the fly in this manner by analyzing the duration between pairs of start bits202,204is that the microcontroller may recover from a loss of synchronization caused by corrupted packets200having fewer or more than sixteen bits within one packet cycle. This rapid recovery of synchronization is advantageous in that it promotes efficient use of the radio frequency bandwidth by not requiring an excessive number of packet cycles for recovery, thus preventing annoying lags in the response of the vehicle to switch closures on the pads42a,42b,42cand42d.

The capability of the microcontroller122to adapt to variations in the timing of the bits in the packets200provides the potential for future upgrades in the rate of transmission of the signals from the central station64while maintaining the usefulness of the microcontroller122in the vehicles. For example, future developments in the central station64may include increasing the transmission rate of the packets200, resulting in decreased packet and bit durations. The microcontroller122in the vehicles12,14,16,17and25may adapt to the decreased packet and bit durations because the microcontroller122synchronizes and decodes the packets200on the fly, thus ensuring that older vehicles continue to work with the upgraded central station64.

When the received packet200has been decoded by the microcontroller122, the microcontroller122enables a signal to the motors28,30,32and33according to the values of the bits in the packet200. The microcontroller may continue to enable the signal until the signal has been enabled for a period of time equal to a value stored in the read only memory124. For example, each motor enabling signal provided by the microcontroller122may be continued for 0.25 seconds, unless the microcontroller receives a command from a later received packet200to discontinue the motor enabling signal. One advantage of such a continuation of the enabling signal is that it promotes smooth movement of the vehicle where radio frequency noise in the operating environment results in the reception of spurious or corrupted packets200by the RF receiver69. Reception of such spurious or corrupted packets200without the continuation of the enabling signal may result in undesired discontinuous or jerky motion of the vehicle, or a degradation of the fine control of the vehicle necessary to allow the vehicle to maneuver in close quarters. Additionally, the continuation of the enabling signal allows the microcontroller122to overcome periods of lower than normal operating voltage caused when one of the motors28,30,32and33start up and the battery charge is low. The motors28,30,32and33require, for example, 80 milliamperes of current to operate when they are operating at full speed. These same motors, however, may require as much as 200 milliamperes to start up when they have not been operating. Thus current requirement may cause as much as a 0.5 volt voltage drop in the operating voltage of the vehicle for a period of up to 0.1 seconds. When the battery charge is low, which may occur after prolonged use of the vehicle or when the vehicle has been idle, but the battery has not been recharged for an extended period of time, this voltage drop may be sufficient to cause the operating voltage available to power the vehicle to fall below the minimum voltage required to power the RF receiver thus momentarily preventing the reception and decoding of packets200of data. Continuing the enabling signal provided to the motors28,30,32and33by the microcontroller122overcomes this problem by allowing the vehicle to continue to operate until the operating voltage increases as the motor comes up to speed and the RF receiver121recovers.

As previously indicated, the user of one of the pads such as the pad42aselects the vehicle12by successively depressing the button58a particular number of times within a particular time period. This causes the central station64to produce an address identifying the vehicle12. When this occurs, the central station64stores information in its random access memory98that the pad42ahas selected the vehicle12. Because of this, the user of the pad42adoes not thereafter have to depress the button58during the time that the pad42ais directing commands through the station64to the vehicle12. As long as the buttons on the pad42aare depressed within a particular period of time to command the vehicle12to perform individual functions, the microcontroller94in the central station64will direct the address of the vehicle12to be retrieved from the read only memory96and to be included in the packet of the signals transmitted by the central station to the vehicle12.

The read only memory96in the microcontroller94at the central station64stores information indicating a particular period of time in which the vehicle12has to be addressed by the pad42ain order for the selective coupling between the pad and the vehicle to be maintained. The random access memory98in the microcontroller94stores the period of time from the last time that the pad42ahas issued a command through the central station64to the vehicle12. When the period of time in the random access memory98equals the period of time in the read only memory96, the microcontroller94will no longer direct commands from the pad42ato the vehicle12unless the user of the pad42aagain depresses the button58the correct number of times within the particular period of time to select the vehicle12.

The vehicle12also stores in the read only memory124indications of the particular period of time in which the vehicle12has to be addressed by the pad42ain order for the selective coupling between the vehicle and the pad to be maintained. This period of time is the same as the period of time specified in the previous paragraph. The random access memory126in the microcontroller122stores the period of time from the last time that the pad42ahas issued a command to the vehicle12.

As previously indicated, the button58in the pad42adoes not have to be actuated or depressed to issue the command after the pad42ahas initially issued the command by the appropriate number of depressions of the button. When the period of time stored in the random access memory126of the microcontroller122in the vehicle equals the period of time in the read only memory124, the microcontroller122issues a command to extinguish the light emitting diode134. This indicates to the different users of the system, including the user previously controlling the operation of the vehicle12that the vehicle is available to be selected by one of the users including the user previously directing the operation of the vehicle.

When one of the vehicles such as the vehicle12is being moved in the forward direction, the random access memory126records the period of time during which such forward movement of the vehicle12is continuously occurring. This period of time is continuously compared in the microcontroller122with a fixed period of time recorded in the read only memory124. When the period of time recorded in the random access memory126becomes equal to the fixed period of time recorded in the read only memory124, the microcontroller122provides a signal for increasing the speed of the movement of the vehicle12in the forward direction. If the vehicle continues to be commanded to be moved forward, the period of time since the speed was increased may again be recorded in the random access memory126and is again continuously compared in the microcontroller122with a fixed period of time recorded in the read only memory124. When the period of time recorded in the random access memory126becomes equal to the fixed period of time recorded in the read only memory124, the microcontroller122provides a signal to further increase the speed of the movement of the vehicle12. The microcontroller may continue the cycle of monitoring the time of movement and providing signals to increase the speed of movement of the vehicle up to a predetermined number of cycles, the number of which may be stored in the read only memory124. Similar arrangements are provided for each of the vehicles14,16and17. This increased speed may illustratively be twice, three times or more than that of the original speed.

As described above, each of the vehicles12,14,16,17and25has a plurality of motors28,30,32and33. When one of these motors is energized by the microcontroller122as described in the previous paragraph, the microcontroller122records a value representative of the speed of the motor in the random access memory126. If the microcontroller122receives a packet200of data from the central station64commanding the energization of a second or third one of the motors28,30,32and33, the microcontroller122provides a signal to the transistor driver120associated with that second or third one of the motors28,30,32and33to start and run that motor at the speed recorded in the random access memory126representative of the current operating speed of the first of the motors28,30,32and33to be energized. If both motors continue to be energized for a period of time exceeding the period of time stored in the read only memory124as described previously, the transistor drivers120associated with all of the motors energized at that instant receive signals from the microcontroller122to increase the speed of the motors to the next level.

The microcontroller122continuously monitors the RF receiver121for RF packets200transmitted by the central station64. While the central station is turned on, the RF transmitter104continuously transmits packets200of information regarding the status of the switch closures of the pads42a,42b,42cand42d,as well as any special commands that are required. The RF receiver of each of the vehicles12,14,16,17and25is responsive to the presence of RF packets200that carry the unique combination of identifier bits206,208,210and212assigned to a particular vehicle as described above. If the RF receiver69of a particular one of the vehicles does not receive a command for a predetermined period of time, the value of which is stored in the read only memory124, the microcontroller124infers that the vehicle is not being used by an operator, and places the vehicle in a powered, but inactive state.

When a vehicle is in the powered, but inactive state and the microcontroller122determines that a packet200addressed to the particular vehicle has been received, it stores the values of bits of the packet200in the random access memory126, and continues to monitor the output of the RF receiver121. If the microcontroller122detects another packet200addressed to it, it compares the newly received packet200with the stored packet. If the received and stored packets are identical, and the received packet has been detected within a predetermined period of time stored within the read only memory124, the microcontroller122recognizes that its vehicle has been selected by the operator of one of the pads42a,42b,42cand42d.The microcontroller122then enters a “powered and selected” state and causes the light emitting diode134to change from a blinking light to a constant light. The requirement that the microcontroller122detect two identical packets200addressed to it is advantageous in eliminating spurious “glitching” of the RF system of the vehicle. This is necessary because of the amount of RF “noise” present under even routine operating conditions, which can adversely impact the precise control of the vehicles necessary.

As will be discussed in more detail below, the microcontroller122also continuously monitors the received packets to determine if the packets are valid. For example, the microcontroller122may determine whether the packets comprise the correct number of non-conflicting data bits, with each bit having an allowed value. Once the microcontroller122has entered the powered and selected state, each valid packet of information received by RF receiver121and addressed to the vehicle is considered by the microcontroller122to be a valid command, and is acted on accordingly by the microcontroller122to control the motors28,30,32and33of the vehicle.

The identities of the last two vehicles selected by a pad are stored in a flashback queue stored in the random access memory82(FIG. 2). If the pad is automatically deselected as described above because no buttons on the pad have been pushed during the predetermined interval stored in the read only memory80, the first actuation of any button on the deselected pad causes the central station64to attempt to automatically log onto the last vehicle selected by that pad. When the selected vehicle is already selected by another one of the pads42a,42b,42cand42d,the automatic log onto the vehicle will succeed only if switch65on the pad currently controlling the vehicle has been set in the second position to enable the second mode allowing control of the vehicle to be shared by other pads.

When the first automatic log on attempt is unsuccessful because the last vehicle controlled by the pad is already selected by another pad that is not set in the second mode, the central station attempts to log on to the second to last vehicle controlled by the pad. This second automatic log on attempt is also sensitive to the state of the mode setting of another pad already controlling the vehicle. If this second automatic log on attempt is unsuccessful, then the central station attempts to log on to each of the vehicles12,14,16,17and25in turn, beginning with the vehicle identified by the Arabian number “1” until a log on attempt is successful.

In order to optimize the transmission of packets, and also to conserve battery energy in vehicles that are in the powered, but inactive state, the microcontroller94of the central station may only execute the automatic log on attempt when a command signal is provided by the pad42a,42b,42cand42d.In other words, the automatic log on may only be attempted when one of the buttons44,47,49,56,58,60a,60b,61aand61bare actuated to command the movement of a vehicle. Actuation of button65, however, since button65does not control any of the motors28,30,32and33of the vehicles, may not initiate the automatic log on attempt.

An additional feature of the system of the present invention that utilizes the flashback queue may be activated when an operator presses button47on a pad42a,42b,42cand42d.Actuation of button47closes switch53and causes the pad to deselect the vehicle currently controlled by the pad, and attempt to log on to the last vehicle controlled by the pad before the current vehicle was selected by pressing button58the required number of times. This feature may also be sensitive to the state of the mode select switch65on a pad controlling the vehicle on which the automatic log on is attempted. If the vehicle is currently controlled by another of the pads42a,42b,42cand42d,then the automatic log on attempt after pressing button47will be successful only if the switch65on the other pad is set to enable the second, shared control, mode. As before, if the automatic log on attempt caused by pressing button47is unsuccessful, then an attempt will be made to log on to the second to last vehicle controlled by the pad. One difference between the automatic log on attempts made when the pad has been deselected and the attempts enabled by pressing button47is that the latter may make no further attempts to log on to any other vehicles if the second automatic log on attempt is unsuccessful.

One advantage of the arrangement of bits in the packet200is that the bits214,216,218and220are representative of switch actuations of the pads42a,42b,42cand42dthat may be mutually exclusive. The bits214,216,218and220may be given values by the microcontroller94of the central station64that would normally be interpreted by the microcontroller122of the vehicles12,14,16,17and25as illegal commands. For example, the case where the value of bits214and216are both binary1, representing switch actuations on one of the pads42a,42b,42cand42dto command a vehicle to simultaneously move in a forward and a backward direction would be interpreted by the microcontroller122as an illegal command, and would be ignored by the microcontroller122. This may occur, for example, where the vehicle identified by bits206,208,210and212is being controlled by two or more pads, as described previously. In such a case, the operator of one of the pads may push button44, for example, to actuate switch46to command the vehicle to move forward (FIG. 2). At the same instant, the operator of the other pad controlling the vehicle may push button44to actuate switch48to command the vehicle to move backwards. The microcontroller94would form a packet200in response to these commands directed to the selected vehicle having a value of binary1in each of the bits214and216. As stated, the microcontroller122of the vehicle would interpret such a packet200as an illegal packet, and would not provide signals to the transistor drivers120of the motors28,30,32and33(FIG. 4) in accordance with the values of the bits214and216of the packet200. In one embodiment of the invention, such illegal commands could instead be used to signal the microcontroller122that the bits following the illegal command bits contain instructions to carry out a special command.

A particular sequence of otherwise illegal combinations of values of the bits214,216,218and220associated with a special command may be stored in the read only memory124. It will be understood that more than one illegal sequence of bits214,216,218and220is possible; thus the read only memory126may contain as many sequences representing special commands as there are illegal sequences of bits214,216,218and220. When the RF receiver121receives a transmitted packet200, the sequence of bits comprising the packet200is stored in the random access memory126. The microcontroller122compares the sequence of bits214,216,218and220stored in the random access memory to the sequences stored in the read only memory126, and if there is a match, the microcontroller122executes the special command associated with the sequence of bits214,216,218and220. Such special commands may include, by way of illustration and not limitation, commands to power down the vehicle, reset the microcontroller122or to immediately cause the microcontroller122to enter the “powered, but inactive” state.

If the microcontroller122determines that none of the sequences of bits214,216,218and220stored in the read only memory124matches the sequence of bits stored in the random access memory126, the microcontroller determines that the sequence of bits214,216,218and220stored in the random access memory126is an illegal sequence of bits not associated with any special command. The microcontroller122may then ignore the entire packet200or the microcontroller122may interpret and execute commands associated only with bits whose values represent legal commands.

Accessories connected to the smart port115of the central station64may also provide signals to the microcontroller94of the central station64to be transmitted to the vehicles12,14,16,17and25. While bit236of the packet200is normally used by the microcontroller in an accessory to instruct the microcontroller94of the central station64to perform some activity, such as sounding a horn, bit236may also be used to indicate that the values of the bits in the packet200should be interpreted as special commands, rather than their usual meanings. For example, where the accessory connected to the smart port115instructs the microcontroller94of the central station64to transmit a special command, the microcontroller of the accessory may set the value of bit236to a binary1. When the packet containing this bit is received by the desired vehicle, the packet200of bits is stored in the random access memory126and the value of bit236instructs the microcontroller122of the vehicle to compare the values of the data bits214,216,218,220,222,224,226228,230,232and234to sequences of bits stored in the read only memory124associated with special commands generated by the accessory connected to the smart port115of the central station64. The microcontroller122then executes the special commands to control the motors28,30,32and34, or other auxiliary equipment or devices that may be in use that is associated with the vehicle or device identified by the bits206,208,210and212of the packet200.

Since the vehicle12is battery powered, various systems and processes are incorporated within the programming of the microcontroller122and the read only memory124to optimize the power utilization of the vehicle. For example, when the microcontroller122has not detected any packets addressed to the vehicle for the predetermined period of time stored in the read only memory124, the microcontroller automatically places the vehicle in the powered, but inactive state.

As described above, the central station64transmits a continuous stream of packets200when the central station is powered. If the central station is turned off, the microcontroller94of the central station64may, as it powers down the central station64, send a special command to the vehicles to enter a powered down state. Alternatively, the microcontroller122in the vehicle may cause the vehicle to automatically enter the powered down state if no RF packets200transmitted by the central station64are received for a predetermined period of time stored within the read only memory124. As mentioned previously, the normal operating environment may contain a high level of random RF “noise” that may be detected by the microcontroller122. Accordingly, the microcontroller may be programmed with the capability of filtering the signals received by the RF receiver121to eliminate spurious packets. The microcontroller122may determine that RF packets are being transmitted by the central station64only if a percentage of the packets received during a predetermined time are determined to be valid packets200. For example, fifty percent of the packets received during one second may be determined by the microcontroller122to be valid or the microcontroller will begin powering down the vehicle. Such a determination by the microcontroller122may, for example, include determining whether the received packet200contains the correct number of data bits.

If the microcontroller122determines that the vehicle should be powered down, it may provide a visual signal to the operators of the system by causing the light emitting diode134to blink at a rate obviously different from the blink rate identifying the powered, but inactive state. For example, the light emitting diode may blink at twice the rate for one minute. At the end of the predetermined time, if the microcontroller122has still not detected any valid RF packets, the microcontroller causes the vehicle to be completely powered down, and removes the power from the light emitting diode134, causing it to go dark.

Further energy optimization may be achieved by utilizing pulse width modulation techniques to energize the motors28,30,32and33. For example, the speed of the motors28,30,32and33may be controlled at three different levels by applying power to the motor for one third of a power cycle to achieve a first speed, for two thirds of power cycle to achieve a second speed, and continuously throughout the power cycle to achieve a third, maximum speed. Thus, a power cycle may typically have three time slices.

The microcontroller122may select which of the three time slices to apply power to the selected one of the motors28,30,32and33to achieve the desired speed. For example, the first speed may be achieved by applying power to the selected motor during any one of the three time slices, and the second speed may be achieved by applying power during any two of the three time slices, while the third speed is achieved by applying power during all three of the time slices.

In a preferred embodiment, the microcontroller122applies power to the selected one of the motors28,30,32and33in the first time slice available after the packet200of data containing the command to energize the motor is received and decoded. Selecting the first available time slice in this manner to provide power to the selected motor provides improved response of the vehicle to switch actuations on the pads42a,42b,42cand42dto enhance control and maneuverability of the vehicles12,14,16,17and25by the operator.

Referring now toFIG. 7, the interface between the microcontroller94of the central station64and the pads42a,42b,42cand42dis shown in more detail. As described previously, all of the data and control signals passing between the microcontroller94of the central station64and the pads42a,42b,42cand42dis conveyed over three lines.

In a preferred embodiment, the microcontroller94has nine input/output (I/O) lines84,86a,86b,86c,86d,88a,88b,88cand88ddevoted to determining the status of the switch closures of the switches in switch matrix43of the pads42a,42b,42cand42dand for modifying the status of the light emitting diodes93of the pads (FIG. 2). Line SEL%84is a common line connected to a corresponding input/output port on each of the pads42a,42b,42cand42d.There are four SCLK I/O lines86a86b,86cand86dconnected to corresponding I/O ports on the pads42a,42b,42cand42d.Specifically, SCLK line86ais connected to I/O port SCLK0on pad42a,SCLK line86bis connected to I/O port SCLK1on pad42b,SCLK line86cis connected to I/O port SCLK2on pad42cand SCLK line86dis connected to I/O port SCLK3on pad42d.Similarly, SDATA line88ais connected to I/O port SDATA0on pad42a,SDATA line88bis connected to I/O port SDATA1on pad42b,SDATA line88cis connected to I/O port SDATA2on pad42cand SDATA line88dis connected to I/O port SDATA3.

This architecture allows the microcontroller94to read the status of the switch closures of switch matrix43from all four pads42a,42b,42cand42dsimultaneously in parallel fashion, or alternatively, to read the status of an individual one of the pads42a,42b,42cand42d.As will be described in more detail with reference toFIGS. 8 and 9, the microcontroller94may read the status of the pads42a,42b,42cand42dby sending appropriate signals over the SEL% line84and the SCLK lines86a,86b,86cand86d.When the microcontroller92sends the appropriate signal over SEL% line84, and sends the identical appropriate signal over the SCLK lines86a,86b,86cand86d,the status of the switch closures of each of the pads42a,42b,42cand42dis read simultaneously by the microcontroller94over the SDATA lines88a,88b,88cand88d.Alternatively, the microcontroller94may provide the appropriate signal over a selected one or ones of the SCLK lines86a,86b,86cand86d.Thus, the microcontroller94reads the status of the switch closures only of the pads42a,42b,42cand42dreceiving the signal over the selected one or ones of the SCLK lines86a,86b,86cand86d.In like manner, the microcontroller may provide the appropriate signals over the SEL% line84and the SCLK lines86a,86b,86cand86dto enable the pads42a,42b,42cand42dto receive signals to update the status of the light emitting diodes93(FIG. 2) over the SDATA lines88a,88b,88cand88deither simultaneously or selectively.

One advantage to using a common SEL% line connecting all of the pads42a,42b,42cand42dis that it eliminates three input/output lines, allowing the use of a less expensive microcontroller94. A further advantage is that the pads42a,42b,42cand42dare not connected in series. Thus, selected ones of the pads42a,42b,42cand42dmay be either connected or disconnected from the central station without affecting the operation of microcontroller94or the central station64. As mentioned previously, the microcontroller94is capable of detecting whether a pad is connected to the central station64, and immediately recognize when a pad is connected or disconnected. In the event a pad is disconnected, the microcontroller94may discontinue sending signals over the SCLK lines86a,86b,86cand86dand the SDATA lines88a,88b,86cand88dassociated with the disconnected pad to read the status of the pad or to update the status of the light emitting diodes93of the pad. When a pad is connected to a central station64that is already in use, the microcontroller94may immediately begin providing signals over the SCLK lines86a,86b,86cand86dand the SDATA lines88a,88b,88cand88dassociated with the newly connected pad to read the status of the switch closures of the pad and to update the status of the light emitting diodes93of the pad.

Referring now toFIGS. 8 and 9, the operation of the logic used in each of the pads42a,42b,42cand42dto provide the status of the switch closures of the switch matrix43to the central station64will be described. In a preferred embodiment of the invention, the pads42a,42b,42cand42dinclude a programmable logic device, generally indicated at290, having the components illustrated in the block diagram depicted inFIG. 8. While a programmable logic device290is depicted, it will be understood by those skilled in the art that the same functions may be carried out by a microcontroller76as shown inFIG. 4.

As described previously, the switch matrix43comprises a plurality of switches, such as switches46,48,50,52,62a,62b,63a,63b,51,53,57,59and65. As depicted inFIG. 8, the switch matrix43may also contain additional switches that may be used to provide additional functions. Each of the switches in the switch matrix43is coupled to an input line of an input shift register300. An input buffer302is disposed between each switch of the switch matrix43and the corresponding input line of the input shift register300.

The input shift register300may be a parallel input/serial output shift register. In the embodiment of the invention depicted inFIG. 8, the input shift register300has sixteen input lines labeled IN0to IN15. The state of each of the input lines IN0-IN15determines the value of a single bit of the input shift register300. For example, closure of switch59results in the output of the input buffer302connected to switch59having a voltage increase that causes a binary1to be stored in the bit connected to input line IN0when the shift register300is triggered to load. Similarly, when switch59is open, the output of the input buffer302connected to input line IN0is low, resulting in a binary0being stored in the bit connected to input line IN0when the input shift register300is triggered to load. Since each switch of the switch matrix43is connected to a corresponding one of the input lines IN0-IN15of the input shift register300, the state of each of the switches of the switch matrix43may be captured simultaneously, or on a parallel basis, with the state of the other switches, by the input shift register300.

The SDATA line88may be driven by either the microcontroller94in the central station64or the programmable logic device290of the pad42a,42b,42cand42d.When the SEL%84line is driven by the microcontroller94of the central station64, it is driven with a signal that may be an alternating signal. This alternating signal is input into a Schmidt trigger304which results in a signal on line308having high and low states, as depicted inFIG. 9. Similarly, the SCLK signal on line86is input into a Schmidt trigger306resulting in a signal on line310having alternating high and low states. While Schmidt triggers304,306are described, any input buffer may be used. The SDATA line88is enabled to be driven by the pad whenever the SEL% signal on line308is high (the read state); thus, the microcontroller94stops sending data signals over line SDATA88before providing a signal over line SEL%84to set line SEL%308high.

The sequence of operations comprising the determination of the status of the switch closures of the switch matrix43will now be described with reference to the block diagram of the programmable logic device depicted inFIG. 8and the timing diagram generally indicated at400inFIG. 9. As depicted on timing diagram line402ofFIG. 9, the signal on line SEL%308is driven high while the signal on SCLK line310is low (timing diagram line406,FIG. 9). The transition from low to high on line308is input into a clock-in line of a flip flop312that is responsive to line310being driven high to drive the prime signal on line314high. This transition is depicted at420inFIG. 9. The high prime signal on line314is input to flip flop316which also receives a clock-in signal from SCLK line310. When the SCLK signal on line310is driven high (FIG. 9, timing diagram line406), the flip flop316causes the signal on the loadreg line318to go high (FIG. 9, transition424), asserting the loadreg signal to the shift register300. The signal on the loadreg line318is also input into the CLR input line of the flip flop312. The high level of the signal on the loadreg line318resets flip flop312, causing the signal on the prime line314to go low (FIG. 9, transition426).

The combination of a low signal on the prime line314and the next transition of the SCLK signal on line310from low to high causes the flip flop316to reset the signal on the loadreg line318to low (FIG. 9, transition430). The assertion of SCLK while loadreg is high causes the input shift register to capture the signals on the input lines IN0-IN15representative of the state of the switch closures of the switch matrix43in a parallel fashion. Each subsequent transition of the signal on the SCLK line310from low to high (FIG. 9, timing diagram line406) while the signal on the loadreg line318is low (FIG. 9, timing diagram line408) drives the shift register300to serially shift the one of the bits of data stored in the shift register300out of the shift register300through an output line322and an output enableable driver326onto the SDATA line88. As can be seen inFIG. 8, the SEL% line308is also connected to the enabler input324of the output enable driver326. When the signal on the SEL% line308is high the output enable driver326allows the signal on line324to pass through the output enableable driver326onto SDATA line88, which is being monitored by the microcontroller94of the central station64. The data signal on line88also passes through a Schmidt trigger input buffer344onto line330which is connected to the in line332of the shift register90. In this arrangement, the signal that is present on the SDATA line88, whether driven by the pad42aor the central station64, is present on line330and at the in line332of the shift register90.

When the microcontroller94of the central station64has completed the interrogation cycle to read the status of the switch closures of the pads42a,42b,42cand42d,the microcontroller94sends a signal on line SEL%84to set the signal on line308low (FIG. 9, timing diagram line454). Setting the signal on line308low turns off the output enable driver326, halting the flow of data onto the SDATA line88from line322. SDATA line88may now be driven by microcontroller94of the central station to send signals to the pad to update the status of the light emitting diodes93on the pad (FIG. 2).

The operation of the programmed logic device290to update the status of the light emitting diodes93(FIG. 2) of the pads will now be described with reference toFIG. 8and the timing diagram generally indicated at450inFIG. 9. As shown inFIG. 8, the SCLK signal on line310is used to drive the input and CLR lines of the flip flop328. The SEL% signal on line308is used to drive the output of an invertor340to provide a clock signal to the clock-in port of the flip flop328. In this manner, when the SEL% signal on line308is high, the signal on line350will be low, and when the SEL% signal on line308is low, the signal on line350will be high.

The SEL% and SCLK signals on lines350and310are used to drive the output of an and gate342to provide a signal on line352to the clock-in port336of the shift register90. In this arrangement, the signal on line352is high when the SCLK signal on line310is high and the inverted SEL% signal on line350is high. In this way, the signal on line352is high only when the microcontroller94in the central station64is not interrogating the pad to capture data from the input shift register300.

When the SCLK signal on line310is driven high when the signal on line350is high (SEL% line84being low), the flip flop328drives the signal on the outres line338high (FIG. 9, transition472). When the signal on line310transitions from high to low, the signal on the outres line338is driven low and is asserted to the reset line334of the shift register90(FIG. 9, transition476). Since the signal on line350is high as a result of the inversion of the low signal on line308by invertor340, each subsequent transition of the SCLK signal on line310from low to high satisfies the condition of the and gate342and is asserted to the clock-in line336of the shift register90. Each subsequent clock signal on line352while the signal on outres line338is low shifts the value of the SDATA signal on line330at in line332of the shift register90to be shifted into the output line out0of the shift register90. Each successive clocking of the shift register90by a transition of the signal on line352from low to high shifts the data in each of the registers of the shift register90to the next higher output line. For example, the next clock signal on line352will shift the value on the out0line to the out1line and so forth. The output of the output lines of the shift register90are then utilized by the output drivers354to light the selected LED of the LED bank93(FIG. 9, timing diagram lines452,458).

It will be understood that the flow of data on line88is sequenced with the signals provided on the SEL% line84and the SCLK line86. For example, when a vehicle identified by the Arabian numeral “4” has been selected by the operator of pad42a,the microcontroller94will drive the signal on the SEL% line84low while the signal on the SCLK line86is high, causing the flip flop338to drive the signal on the outres line338. Setting outres line338asserts a reset signal to the reset line334of the shift register90, and also disables the flow of data from the pad to the central station64.

When the signal on the SCLK line next transitions from high to low (FIG. 9, transition476), the signal on the outres line is driven low, enabling the shift register90to accept data on line330from the microcontroller94of the central station64. The microcontroller94sets the signal line SEL%84low. The next time the SCLK signal on line86is driven high by the microcontroller94, shift register90will shift the value of the SDATA line330(which is high) to the out0register of the shift register90(FIG. 9, timing diagram lines452,458). The microcontroller94then drives the signal on the SDATA line88low, which drives the signal at the in line of the shift register90low. The microcontroller94then drives the signal on the SCLK line86from low to high and back to low four times, each time causing the signal on line352to transition from low to high and back to low, which results in the shift register90shifting the value of the out0line to the out1line, then to the out2line and lastly to the out3line, which results in the fourth LED in the LED bank to be lit, indicating that the user of the pad42ahas selected the vehicle identified with the Arabian “4”. Because the signal on the SDATA line has been driven low, there is no data present at the in port332of the shift register90to shift into the output register out0as the data in the output register out0is shifted in the out1register. Thus, each of the registers out0, out1and out2are set to binary0, and the LED's associated with those registers are not lit.

The system and method described above have certain important advantages. They provide for the operation of a plurality of vehicles by a plurality of users, either on a competitive or a co-operative basis. Furthermore, the vehicles can be operated on a flexible basis in that a vehicle can be initially selected for operation by one user and can then be selected for operation by another user after the one user has failed to operate the vehicle for a particular period of time. The vehicles being operated at each instant are also visible by the illumination of the lights134on the vehicle. The apparatus and method of this invention are also advantageous in that the vehicles are operated by the central station64on a wireless basis without any physical or cable connection between the central station and the vehicles.

Furthermore, the central station64is able to communicate with the vehicles in the plurality through a single carrier frequency. The system and method of this invention are also advantageous in that the vehicles can selectively perform a number of different functions including movements forwardly and rearwardly and to the left and the right and including movements of a container or bin or platform on the vehicle upwardly and downwardly or to the left or the right. Different movements can also be provided simultaneously on a coordinated basis.

There are also other significant advantages in the system and method of this invention. Two or more systems can be combined to increase the number of pads42controlling the operation of the vehicles12,14,16and17. In effect, this increases the number of users capable of operating the system. This combination of systems can be provided so that one of the systems is a master and the other is a slave. This prevents any confusion from occurring in the operation of the system. The system is also able to recharge the batteries in the vehicles so that use of the vehicles can be resumed after the batteries have been charged.

The system and method of this invention are also advantageous in the provision of the pads and the provision of the button and switches in the pads. As will be appreciated, the pads are able to select vehicles and/or stationary accessories through operation of a minimal number of buttons and to provide for the operation of a considerable number of different functions in the vehicles with a minimal number of buttons. In cooperating with the central station, the pads are able to communicate the selection of vehicles to the central station without indicating to the station, other than on a time shared basis, the identities of the vehicles being selected. After selecting a vehicle, each pad does not thereafter have to indicate the identity of the vehicle as long as the pad operates the vehicle through the central station within a particular period of time from the last operation of the vehicle by the pad through the central station.

While several forms of the invention have been illustrated and described, it will also be apparent that various modifications can be made without departing from the spirit and scope of the invention. Accordingly, it is not intended that the invention be limited, except by the appended claims.