EP1581317A2 - Toy system - Google Patents
Toy systemInfo
- Publication number
- EP1581317A2 EP1581317A2 EP03780355A EP03780355A EP1581317A2 EP 1581317 A2 EP1581317 A2 EP 1581317A2 EP 03780355 A EP03780355 A EP 03780355A EP 03780355 A EP03780355 A EP 03780355A EP 1581317 A2 EP1581317 A2 EP 1581317A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- track
- operable
- data
- toy
- interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000004891 communication Methods 0.000 claims description 45
- 238000004088 simulation Methods 0.000 claims description 28
- 238000000034 method Methods 0.000 claims description 26
- 230000008878 coupling Effects 0.000 claims description 21
- 238000010168 coupling process Methods 0.000 claims description 21
- 238000005859 coupling reaction Methods 0.000 claims description 21
- 238000004458 analytical method Methods 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 10
- 230000003993 interaction Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 description 27
- 238000010586 diagram Methods 0.000 description 23
- 230000005540 biological transmission Effects 0.000 description 12
- 230000008859 change Effects 0.000 description 8
- 239000003990 capacitor Substances 0.000 description 6
- 238000005259 measurement Methods 0.000 description 6
- 239000004020 conductor Substances 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 238000010200 validation analysis Methods 0.000 description 5
- 238000009877 rendering Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000012886 linear function Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 102100034560 Cytosol aminopeptidase Human genes 0.000 description 2
- 101000924389 Homo sapiens Cytosol aminopeptidase Proteins 0.000 description 2
- 102100021674 Protein scribble homolog Human genes 0.000 description 2
- 101100434856 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) APE1 gene Proteins 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 101150081985 scrib gene Proteins 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 101100352355 Arabidopsis thaliana PKSA gene Proteins 0.000 description 1
- 101100029899 Arabidopsis thaliana PKSB gene Proteins 0.000 description 1
- 241000270272 Coluber Species 0.000 description 1
- 102100023981 Lamina-associated polypeptide 2, isoform alpha Human genes 0.000 description 1
- 101710097668 Leucine aminopeptidase 2 Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013502 data validation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 101710082686 probable leucine aminopeptidase 2 Proteins 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63H—TOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
- A63H18/00—Highways or trackways for toys; Propulsion by special interaction between vehicle and track
- A63H18/08—Highways or trackways for toys; Propulsion by special interaction between vehicle and track with mechanical means for guiding or steering
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63H—TOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
- A63H18/00—Highways or trackways for toys; Propulsion by special interaction between vehicle and track
- A63H18/02—Construction or arrangement of the trackway
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63H—TOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
- A63H18/00—Highways or trackways for toys; Propulsion by special interaction between vehicle and track
- A63H18/16—Control of vehicle drives by interaction between vehicle and track; Control of track elements by vehicles
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63H—TOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
- A63H30/00—Remote-control arrangements specially adapted for toys, e.g. for toy vehicles
- A63H30/02—Electrical arrangements
- A63H30/04—Electrical arrangements using wireless transmission
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/40—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
- A63F2300/407—Data transfer via internet
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/69—Involving elements of the real world in the game world, e.g. measurement in live races, real video
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/80—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
- A63F2300/8017—Driving on land or water; Flying
Definitions
- the present invention relates to various improvements in toy systems such as slot car toys and model railways .
- FIG. 1 is a schematic overview of the new slot car racing system described herein;
- Figure 2a is a view from the front of a main unit and a base unit forming part of the slot car racing system shown in Figure 1;
- Figure 2b is a side view of the main unit and the base unit shown in Figure 2a, illustrating the way in which the main unit is removably connectable to the base unit;
- Figure 3a is a schematic block diagram illustrating the main components of the main unit shown in Figure 2 ;
- Figure 3b is a block diagram illustrating the software modules forming part of the main unit shown in Figure 3a;
- Figure 4a is a circuit diagram illustrating the main components of a hand controller forming part of the system shown in Figure 1 and the way in which it is connected to the main unit shown in Figure 3a;
- Figure 4b is a plot illustrating the way in which the signal from a hand controller varies with throttle position and with the status of two buttons on the hand controller;
- Figure 5 is a plot illustrating the way in which a hand controller control module determines a desired mark to space ratio (MSR) for a determined hand controller throttle position;
- MSR desired mark to space ratio
- Figure 6 is a timing diagram illustrating the form of a pulse width modulation signal generated in dependence upon the MSR value determined for a current hand controller throttle position
- Figure 7 is a circuit diagram illustrating the main components of a bridge driver used to apply current to a slot of the slot car racing system shown in Figure 1 which allows for the driving of the cars in different directions;
- Figure 8a is a schematic block diagram illustrating the operation of a telemetry control module shown in Figure 3b in recording race telemetry data for a current slot car race in progress;
- Figure 8b illustrates the operation of the telemetry control unit shown in Figure 3b in the generation of driving signals for driving a slot car from stored telemetry data;
- Figure 9 is a block diagram illustrating the main components of a slave unit which can interface with the main unit shown in Figure 3a;
- Figure 10 schematically illustrates the connections of a base unit inter ace forming part of the main unit shown in Figure 3a for connecting the main unit to the base unit;
- Figure 11a schematically illustrates the form of a common connector track segment that is used for connecting multiple lanes to the base unit shown in Figure 2b;
- Figure lib schematically illustrates the way in which the common connector track shown in Figure 11a is used to connect multiple lanes in parallel to the base unit;
- Figure 12 is a timing diagram illustrating the time slots allocated to the main unit, the slave units and the auxiliary unit in accessing a common data bus;
- Figure 13 is a schematic block diagram illustrating the main functional components of a personal computer forming part of the system shown in Figure 1;
- Figure 14 is a block diagram illustrating the main components of an interface and pre-processor unit forming part of the personal computer shown in Figure 13 ;
- Figure 15 is a block diagram illustrating the main components of a position processor forming part of the interface and pre-processor unit shown in Figure 14;
- Figure 16 is a schematic diagram illustrating the way in which a current signal varies with time and position of a car over a current break on the track;
- Figure 17 is a plot of a derived function relating a measured back EMF of the motor of a slot car to the velocity of the slot car;
- Figure 18 is a block diagram illustrating the main functional components of application logic forming part of the personal computer shown in Figure 13 ;
- Figure 19 is a block diagram illustrating the main functional components of a user interface shown in Figure 13.
- FIG. 1 is a schematic diagram illustrating a new slot car racing system.
- the system includes a main unit 1 which controls the driving of motorised slot cars 3-1 and 3-2 around a slot car track 5, in dependence upon user control signals input via hand held controllers 7-1 and 7-2 respectively.
- the user controls the position of a throttle 9-1, 9-2 on the hand controller 7 which is detected by the main unit 1 and used to control the electrical current applied to a respective slot 11-1 and 11-2 on the track 5, to thereby control the speed of the corresponding slot car 3-1 and 3-2 racing around the track 5.
- Figure 1 also illustrates that the main unit 1 receives power from an AC power converter 13.
- the main unit 1 is arranged to record various telemetry data for either or both of the slot cars 3 as they race around the track 5, so that the main unit 1 can replay part or all of a race by using the stored telemetry data to drive the corresponding slot car(s) 3 around the track 5 without input from the user.
- the main unit 1 can also be connected to a personal computer 15 via which the user can set various race options for the main unit 1 which are then downloaded to the main unit to control the race. Additionally, the telemetry data recorded by the main unit 1 can be passed to the PC 15 either for analysis purposes after the race by the users, or for generating a virtual (graphical) simulation of the race on the display of the PC 15.
- the PC 15 can also connect to other user's main units 17 via the Internet 19.
- the telemetry data recorded by the main unit 1 can be transmitted over the Internet 19 to a remote main unit 17 , which can then use this telemetry data to automatically drive a remote slot car 20 around the remote track 21.
- the telemetry data generated by the main unit 1 may be transmitted at the end of a race as a single data file or it may be streamed as a continuous data stream to the remote unit 17 and used to generate an appropriate real time simulation or to drive the remote slot car 20 around the remote track 21 in real time.
- the PC 15 can then either use the received telemetry data to display a virtual simulation of the remote slot cars 20 racing around the remote track 21 or pass the data to the main unit 1 to actively drive either or both of the slot cars 3-1 and 3-2 around the track 5.
- the users can control a virtual race on the PC 15 using the hand controllers 7 to control the speed of virtual slot cars in the virtual race.
- the main unit 1 does not use the hand controller signals to control the electrical current applied to the track 5. Instead, it simply streams the hand controller signals directly to the PC 15 which uses the signals to update the position of the corresponding cars in the virtual race. Indeed, in this operating mode, the main unit 1 does not need to be connected to the track 5.
- FIG. 2a A front view of the main unit 1 is shown in Figure 2a.
- the main unit includes an LCD display 51 for displaying settings and other information to the user and five buttons - a back button 53-1; a forward button 53-2; a play/edit button 53-3; a start button 53-4 and a set/stop button 53-5. As will be described in more detail below, these buttons are provided to allow the user to control the mode of operation of the main unit 1.
- the main unit 1 is coupled to the track 5 via a base unit.
- Figure 2b is a side view showing the way in which the main unit 1 connects to the base unit 65 which is directly connected to the track 5.
- the main unit 1 and the base unit 65 are arranged so that the main unit 1 can be easily lifted off the base unit 65 and transported to, for example, another room where the personal computer 15 is located.
- An appropriate electrical connector (not shown) is provided on the main unit 1 and the base unit 65 for providing the appropriate electrical connections from the main unit 1 through to the track 5 via the base unit 65.
- Figure 3a is a functional block diagram illustrating the principal components of the main unit 1 used in this embodiment.
- the main unit 1 includes a microprocessor 101 whose operation is controlled by software stored in non-volatile memory 103.
- the main unit 1 also includes two hand controller interfaces 105-1 and 105-2 to which the respective hand controllers 7-1 and 7-2 connect.
- the main unit 1 also includes two slot drive circuits 107-1 and 107-2 which are controlled by the microprocessor 101 to apply the appropriate electrical current to the respective slots 11-1 and 11-2 on the track 5.
- the drive circuits 107 output their drive signals to a base unit interface 109 which connects the main unit 1 to the base unit 65 shown in Figure 2b.
- the slot drive circuits 107 also monitor the electrical current applied to the track 5 and the back EMF generated by the motors in the slot cars 3 and pass this data back to the microprocessor 101 as telemetry data during a race.
- Figure 3a also shows the user input buttons 53 and the LCD display 51.
- the microprocessor 101 is connected to the display 51 via a databus 111 and a display driver 113.
- the microprocessor 101 also uses the data bus 111 to access the memory 103, a PC interface 115, an accessory unit interface 117 and three slave unit interfaces 119-1, 119-2 and 119-3.
- the PC interface 115 (such as a USB interface) provides the interface for connecting the main unit 1 to the personal computer 15.
- the accessory unit interface 117 allows an accessory module (not shown) to be connected to the main unit 1.
- an accessory module may be provided for controlling a gantry of lights provided at the start/finish line on the track 5 which can be controlled by the microprocessor 101 in accordance with a current racing mode that has been set or in accordance with a current race in progress.
- the slave unit interfaces 119 are provided to allow upto three slave units to be connected to the main unit 1, with each slave unit being able to control an additional two slots. In this way, the track layout can be expanded to have up to eight slots being controlled at any one time, thereby allowing up to eight slot cars 3 to be raced at any one time.
- the slave units communicate with the microprocessor 101 via the slave unit interfaces 119 and the databus 111 and also transmit their slot drive signals to the base unit 65 via the base unit interface 109.
- the main unit 1 includes a loudspeaker 121 which is controlled by the microprocessor 101 via a loudspeaker driver 123.
- a loudspeaker 121 which is controlled by the microprocessor 101 via a loudspeaker driver 123. This allows the microprocessor 101 to be able to output sounds to the user before, during and after a race.
- the microprocessor 101 may output a beep sound via the loudspeaker 121 in order to signify to the users the start and/or the end of the race.
- FIG. 3b is a block diagram illustrating the main software modules used, in this embodiment, to control the microprocessor 101.
- the software modules include:
- a user interface control module 131 which controls the interaction with the user via the display 51, the user buttons 53 and the loudspeaker 121;
- a telemetry control module 133 which operates to control the recording of the telemetry data and the subsequent use of the stored telemetry data to control the automatic driving of a slot car around the track 5;
- a function control module 135 which controls the functional mode of operation of the main unit 1 for different race scenarios ;
- a slave monitor module 137 which is operable to monitor any slave units connected to the main unit 1 via the slave unit interfaces 119;
- a slot drive control module 139 which is operable to generate the appropriate drive control signals that are output and applied to the slot drive circuits 107;
- two hand controller (H/C) control modules 141-1 and 141-2 which operate to receive the respective signals from the hand controller interfaces 105 and from them to determine the present hand controller throttle 9 position and hence the appropriate control signals to be passed to the slot drive control module 139; and
- a communications control module 143 which is used to control communications between the microprocessor 101 and the memory 103, the slave units, the accessory unit and the personal computer 15.
- the main unit has two modes of operation: stand-alone and PC-connected.
- stand-alone mode is when the main unit 1 is not connected to the personal computer 15 during racing and in this mode internet racing is not supported (unless an appropriate communications accessory is provided and connected to the accessory interface 117) .
- PC-connected mode full internet and virtual simulation modes are supported and the PC 15 can control the operating mode of the main unit 1.
- the main unit 1 enters the stand-alone mode when it is not connected to the personal computer 15. If the main unit 1 has not been programmed by the personal computer 15 or the user, then factory settings are used.
- the main unit 1 When the main unit 1 is connected to the base unit 65, it enters a pre-race state and an appropriate race screen is displayed to the user on the display 51.
- the user can either access a setup screen by pressing the edit button 53-3 or they can start a race by pressing the start button 53-4. Pressing the edit button 53-3 once on the pre-race screen enters the edit mode.
- the left and right keys 53-1 and 53-2 can then be used to select a race attribute or a slot attribute that is to be changed. Pressing edit for a second time, allows the particular attribute to be changed, again using the left and right keys 53-1 and 53-2 to select the available values .
- the values can then be saved by pressing the set/stop key 53-5.
- the main unit 1 When the user presses the start button 53-5 in the pre- race state, the main unit 1 will enter a race state in which the main unit 1 will count down the start of the race and output an appropriate signal (e.g. via the loudspeaker 121) to indicate the start of the race to the user(s) .
- the display 51 will display the current racing mode and other relevant race data and the main unit 1 will operate in accordance with the currently programmed racing mode.
- the main unit 1 At the end of the race, the main unit 1 will enter a finish state in which it will output a signal to the users (e.g. via the loudspeaker 121) indicating the end of the race.
- the main unit 1 will also display the positions and names of the users to identify the winner.
- the main unit 1 remains in this state until the user presses the set/stop button 53-5 at which point the main unit returns to the pre-race mode.
- the race can be stopped by pressing the set/stop button 53-5 and the whole main unit 1 can be reset to the factory settings by pressing the left and right buttons 53-1 and 53-2 and the start button 53-4 together.
- the main unit 1 enters this mode as soon as it is connected to the personal computer 15.
- the display 51 indicates that it is connected and communicating with the personal computer 15.
- the operation of the main unit 1 is controlled by the PC 15.
- the user can start and stop a race either by pressing an appropriate key on their PC 15 or the appropriate button ' 53* on the main unit 1.
- the main unit 1 will stream the appropriate hand controller data and any telemetry data generated from the track 5.
- the main unit 1 will again output a signal to the user indicating the end of the race and the positions of the users in the race will be output to and displayed by the PC 15.
- the user can then return the PC and the main unit 1 to the pre-race state by pressing an appropriate key on the PC 15.
- the race can be stopped at any time by pressing the set/stop button 53-5 which will be signalled to the personal computer 15.
- the system can be reset by pressing the left and right buttons 53-1 and 53-2 together with the start button 53-4. Racing Modes
- the main unit can be programmed into one of a number of different racing modes. A brief description of these different racing modes is given below.
- the LCD 51 displays the number of laps left in the race and as each user passes the start line, the position of the user in the race. The user can define the number of laps to be completed using the buttons 53 or, if connected, via the PC 15.
- Endurance - in which users race slot cars 3 around the track 5 for a fixed user-defined period of time. The winner is the user who completes most laps or the same number of laps in the fastest time.
- the display 51 displays the time left in the race and flashes the number of laps completed by each user when they pass the start line.
- Pursuit in which the users slot cars 3 start together and race on the track 5 until one car catches up and laps the other.
- the display 51 displays the name of the user catching up and the time gap between the race leader and the or each other user.
- Arcade - in this mode users complete a user- defined fixed number of laps within a given "checkpoint" time period. The users then carry on to complete the same number of laps in a reduced time period. The race continues in this manner until the last user fails to make the required number of laps in the checkpoint period.
- This arcade mode is a continuous race and not a series of races . Hence, if a user completes a stage with e.g. two seconds spare, then they have two seconds extra time available for the next stage. In this mode, the display 51 displays the time left and the number of laps left to reach the next checkpoint.
- the current racing mode and its attributes can be defined by the user either via the PC 15 or using the buttons 53 on the main unit 1.
- FIG 4a is a circuit diagram illustrating the main components of each of the hand controllers 7 shown in Figure 1 and showing the corresponding hand controller interface 105 in the main unit 1.
- the hand controller interface 105 includes a resistor (R x ) 149 which is connected at one end to a supply voltage at 5 volts and at the other end to a terminal 151 which is connected into an analogue to digital converter (not shown) in the microprocessor 101 and to a first terminal 153 of the hand controller 7.
- the first terminal 153 in the hand controller 7 is connected to a variable resistor (R 2 ) 155 whose value is controlled by the user controlled throttle 9.
- variable resistor 155 is connected in series with two further resistors (R 3 ) 157 and (R 4 ) 159, with the other end of resistor R 4 159 being connected to a second terminal 161 of the hand controller 7.
- the second terminal 161 of the hand controller 7 is connected, in use, to ground in the hand controller interface 105.
- the hand controller 7 is therefore connected to the main unit 1 by only two wires and the set of resistors R x to R 4 are connected in a potentiometer arrangement so that the voltage V HC appearing between terminals 151 and ground within the hand controller interface 105 varies with the value of the variable resistor 155, which in turn varies with the position of the user controlled throttle 9.
- the hand controller 7 also includes two user controlled switches 163 and 165 which, when pressed by the user, add resistors R 3 and R 4 respectively to the potentiometer. This change of resistance of the circuitry in the hand controller 7 results in a step change in the voltage V H/C input to the microprocessor 101.
- Figure 4b is a plot illustrating the way in which the voltage V H/C input to the microprocessor 101 varies with varying throttle position between a minimum throttle position ( ⁇ min ) and a maximum throttle position ( ⁇ max ) , when the buttons 163 and 165 are and are not pressed.
- the hand controller 7 is designed to output four distinct voltage ranges, depending on the position of the throttle (defined by the value of the variable resistor R 2 ) and the status of switches 163 and 165.
- switches 163 and 165 are normally closed unless the switch is actuated by the user. Therefore, in this embodiment, when neither switch 163 and 165 is actuated, the input voltage (V H/C ) will vary with throttle position in accordance with the characteristic labelled U_ defined by.
- resistor R 3 will be switched in series with resistor R 2 and the input voltage
- V H Request1,rC. (R l + R_ + R 3 )
- resistor R 4 will be switched in series with resistor R 2 and the input voltage (V H/C ) will vary with the throttle position ( ⁇ ) in accordance with the plot labelled M 3 defined by:
- resistors R 3 and R 4 will be switched in series with resistor R 2 and the input voltage (V H/C ) will vary with the throttle position ( ⁇ ) in accordance with the plot labelled M 4 defined by:
- resistor R_ is 18K ⁇
- resistor R 2 can vary between 0 and 5K ⁇ ; the value of
- resistor R 3 is 8.2K ⁇ ; and the value of resistor R 4 is
- each H/C control module 141 receives the input voltage V HC from the corresponding hand controller 7. In particular, it receives a digitised value (representing the present value of the voltage V H/C ) generated by the analogue to digital converter which outputs a new digitised value every 4 milliseconds. The H/C control module 141 then uses the present input voltage value N H/C to determine the present position ( ⁇ ) of the corresponding throttle 9 and to determine the current status of the control buttons 163 and 165.
- the determined position of the throttle 9 is used to control the amplitude of a DC current that is applied to the corresponding slot 11 of the track 5.
- a uni-polar pulse-width modulated (PWM) signal is applied to the appropriate slot 11 on the track 5 and the determined position of the throttle 9 is used to vary the mark-to-space ratio (MSR) , and hence the DC component, of the PWM drive signal.
- the H/C control module 141 uses the determined position of the throttle 9 to vary the mark-to-space ratio of the drive signal in accordance with a pre-stored and user definable function (f( ⁇ )).
- f( ⁇ ) pre-stored and user definable function
- a linear function is used and is shown in Figure 5b. As shown, the present position ( ⁇ H/C (i)) of the throttle 9 is linearly mapped through the function (f ( ⁇ ) ) to the appropriate value of the mark-to-space ratio (i.e. MSR(i)) .
- the microprocessor 101 uses the determined status of the control buttons 163 and 165 to control additional functionality of the race. In particular, if the H/C control module 141 detects that the button 163 is being pressed, then the microprocessor 101 uses this detection to control a "pitstop" function during the race. Similarly, if the H/C control module 141 detects that the push button 165 is being pressed, then the microprocessor 101 uses this to control the braking of the slot car 3 on the track 5. Finally, if the H/C control module 141 detects that both push buttons 163 and 165 are being pressed, then the microprocessor uses this to control an extended pitstop function.
- each of the H/C control modules 141 outputs a present mark to space ratio value (MSR) , a brake control signal (BRK) and a pitstop control signal (PIT) .
- MSR present mark to space ratio value
- BRK brake control signal
- PIT pitstop control signal
- the MSR value (MSR) and the brake control signal (BRK) determined by the H/C control module 141 are output to the slot drive control module 139 shown in Figure 3b and the pit stop control signal (PIT) is output to the function control module 135, which in this embodiment is arranged to control the monitoring of pit stops that the user must make during a race.
- the MSR value, the brake control signal and the pit stop control signal are also output to the telemetry control module 133 which stores the data together with a time stamp in the memory 103 as part of the telemetry data for the race.
- the MSR, brake and pit stop control signals generated by the H/C control module 141 are not passed to the slot drive control module 139 but instead are streamed to the PC 15 to control the virtual race.
- the slot drive control module 139 can receive MSR values and brake control signals either from the H/C control modules 141 or from the telemetry control module 133 or from the communications control module 143.
- the source from which the slot drive control module 139 will use this data is programmed in advance in dependence upon the race mode settings defined by the function control module 135, which in turn are set by the user via the PC 15 or the user input buttons 53.
- the function of the slot drive control module 139 is to convert the received MSR value into a pulse-width modulated control signal (PWM) which is passed (together with the brake control signal (BRK) ) to the appropriate slot drive circuit 107 for controlling the electrical current applied to the corresponding slot 11 on the track 5.
- PWM pulse-width modulated control signal
- BSK brake control signal
- Figure 6 illustrates the form of the PWM control signal generated by the slot drive control module 139, with the pulse-width Wl and the space-width W2 being defined by the present value of MSR(i) .
- the frequency of the PWM signal is fixed at 20kHz and the mark-to-space ratio can vary between 2% (when the slot car 3 is not to be driven along the slot 11) and 80% (when the slot car is to be driven at full speed along the slot 11) .
- a minimum MSR of 2% is used to allow slot car headlights to be powered from the track even when the user is not driving the slot car 3 along the slot 11.
- the slot drive control module 139 can also receive control instructions from the function control module 135 which override the control of the PWM signal by the user's hand controller 7. For example, in one racing mode, each of the users may have to take a certain number of pit stops. As discussed above, the user identifies to the main unit 1 when a pit stop is being taken by stopping the slot car 3 and pressing the appropriate push-button(s) 163, 165. If the function control module 135 detects that the user has not taken the appropriate pit stops, then it can penalise the user by slowing the user's slot car 3 by overriding the MSR value input to the slot drive control module 139. In these circumstances, the slot drive control module 139 will generate the PWM control signal using the MSR value generated by the function control module 135.
- Slot Drive Circuit Figure 7 is a circuit diagram illustrating the main components of one of the slot drive circuits 107 used in this embodiment.
- the slot drive circuit 107 has the following three inputs which it receives from the microprocessor 101.
- a direction control signal (DIR_C) which can be set by the user, and is used to define the direction in which the slot cars 3 will be driven around the track 5.
- DIR_C direction control signal
- the main unit 1 can be adapted to the different standards employed in different countries.
- slot car racing systems are arranged to drive the slot cars 3 anticlockwise around the track 5, whereas in the UK and in Europe, the slot cars 3 are driven clockwise around the track 5.
- a braking control signal (BRK) which is used to control the braking of the slot car 3 on the track 5 in response to the user pressing the brake control button 165 on the hand controller 7.
- the slot car speed control signal (PWM) which is used to control the speed of the slot car 3 on the track 5.
- a similar slot drive circuit 107 is provided for controlling the other slot car 3 racing on the track 5.
- the slot drive circuit 107 includes a bipolar bridge 201 formed by the four MOSFETS M_ to M 4 which connect to the slot 11 that it drives at the terminals labelled s+ and s-.
- the slot drive circuit 107 also includes a braking control circuit 203 which receives the BRK control signal and the PWM control signal from the microprocessor 101 and which operates to supply the PWM control signal either to MOSFET U_ or to MOSFET M 2 of the bridge circuit 201.
- the braking control circuit 203 includes resistors R_ to R 4 , transistors T-. and T 2 and two NOR gates 205 and 207.
- the PWM control signal is applied to the base of transistor T 2 whose collector is at five volts and whose emitter is at zero volts.
- the collector of transistor T 2 will therefore correspond to the inverse of the PWM control signal .
- the collector of transistor T 2 is applied to one input of NOR gate 207 and the other input is the BRK control signal.
- the BRK control signal is applied to the base of transistor T 17 whose collector is also raised to the five volt supply terminal and whose emitter is at zero volts.
- the collector of transistor T_ will therefore be the inverse of the BRK control signal.
- the inputs to the other NOR gate 205 will therefore be the inverse of the BRK signal and the inverse of the PWM signal.
- the potential applied to slot terminal s+ depends on the logic level of the direction control signal (DIR_C) .
- DIR_C direction control signal
- the DIR_C control signal is at logic high . and therefore transistor T 4 will be switched on which in turn switches off the n-channel MOSFET M 4 by bringing its gate electrode to ground.
- the gate of the p-channel MOSFET M 3 will also be brought to ground (due to the switching on of transistor T 4 ) which turns on MOSFET M 3 causing a potential of twelve volts to be applied to slot terminal s+. Therefore, when the PWM signal is at a logic high (i.e. is at five volts) a potential difference of twelve volts is applied to the corresponding slot 11 on the track 5 for driving the corresponding slot car 3 around the track 5.
- the slot drive circuit 107 is arranged to sense or measure this back EMF using the potential divider formed by resistors R 10 and R 11 . This is achieved by closing the switch 205 when the PWM signal is at logic low, so that the back EMF on the track charges up the capacitor C_ . As shown in Figure 7, the position of the switch 205 is controlled by the inverse of the PWM signal. Therefore, when the PWM signal goes high, the switch 205 will open and the microprocessor 101 can then digitise the voltage (EMF) stored on capacitor C_ . In this embodiment, the microprocessor digitises the back EMF voltage on each slot once every 4 milliseconds. This back EMF signal that is measured forms part of the "telemetry data" recorded by the microprocessor 101 during the race and its use will be described later.
- EMF voltage
- the microprocessor 101 also records the electrical current that is applied to each of the slots 11 by the drive circuit 107. To detect this, a non-inverting amplifier 208 is provided which generates a voltage that is proportional to the electrical current that is applied to the slot 11. As shown in Figure 7, this voltage charges up the capacitor C 2 when the switch 209 is closed. As shown, the position of the switch 209 is controlled by the PWM signal so that the switch 209 is closed when the PWM signal is at a logic high and open when it is at a logic low. In this embodiment, the microprocessor 101 digitises the voltage (I) stored on capacitor C 2 once every millisecond. Again, this electrical current data is stored as part of the telemetry data for the race. The current is measured more frequently to make sure that the current break detection (to be described later) is accurate.
- the operation of the slot drive circuit 107 when the cars are being driven anticlockwise is similar to the operation of the drive circuit 107 when the cars are being driven clockwise, except that when the user is not braking, the direction control signal (DIR_C) will be at logic low and the brake control signal (BRK) will be at logic high.
- DIR_C direction control signal
- BRK brake control signal
- transistor T 4 will be switched off and twelve volts will be applied to the gates of MOSFETs M 3 and M 4 .
- MOSFET M 3 will therefore be switched off and MOSFET M 4 will be switched on. Consequently, the s+ terminal of the bridge circuit 201 will be connected to ground through resistor R 7 .
- MOSFET M 2 On the other side of the bridge circuit 201, MOSFET M 2 will be switched off when the user is not braking because the brake control signal (BRK) will be at logic high, which forces the output of the NOR gate 207 low.
- the speed control signal (PWM) is therefore applied through NOR gate 205 to the base of transistor T 3 .
- MOSFET M_ will therefore be switched on when the PWM signal is at a logic high and will be switched off when the PWM signal is at a logic low. Consequently, when the PWM control signal is at a logic high, the s- terminal of the bridge circuit 201 will be connected to twelve volts, resulting in a potential difference of twelve volts being applied to the slot 11 on the track 5. Since the polarity of the potential difference applied to the slot 11 is opposite to that applied when racing clockwise, the slot cars 3 are driven in the opposite direction (i.e. anticlockwise) around the track 5.
- MOSFET M_ When the PWM control signal is at logic low, MOSFET M_ will be switched off and the s- terminal will be connected to ground through the potential divider formed by resistors R 10 and R__ .
- the back EMF generated by the motor in the slot car 3 will therefore appear across terminals s- and s+ as before, which is measured using the potential divider formed by resistors R 10 and R__ and the charging capacitor Cl.
- the PWM control signal is at logic high, the current applied to the slot 11 is measured using the non-inverting amplifier 208 and the charging capacitor C 2 .
- the hand controllers 7 include a braking button 165 which the user can press to cause the car to brake.
- a braking button 165 which the user can press to cause the car to brake.
- a new braking technique is used when the user presses the braking button 165, in which a reverse current is applied to the slot 11 in order to slow down the slot car 3 more quickly. This is achieved using the brake control signal (BRK) and the direction control signal (DIR_C) discussed above .
- BRK brake control signal
- DIR_C direction control signal
- the microprocessor 101 inverts the brake control signal (BRK) and the direction control signal (DIR_C) . If the racing direction is clockwise, then the brake control signal will be inverted to a logic high and the direction control signal will be inverted to a logic low, whereas if the racing direction is anti-clockwise, then the brake control signal (BRK) will be inverted to a logic low and the direction control signal (DIR_C) will be inverted to a logic high. As a result, when the user presses the brake button 165, the polarity of the voltage applied to the slot 11 is inverted, thereby causing the slot car 3 to slow down more quickly.
- the microprocessor 101 uses the monitored back EMF of the slot car (which is proportional to the speed of the slot car) to determine when the slot car 3 comes to rest. Once the slot car has come to rest, the microprocessor 101 disables the application of the PWM signal to the drive circuit 107 until the user releases the brake button 165 on the hand controller 7. At this point, the brake control signal and the direction control signal are reset to their original logic levels .
- the slot car 3 can be made to come to rest more quickly than with using the conventional braking techniques discussed above.
- the telemetry control module 133 records telemetry data for the slot cars 3 as they are raced around the track 5.
- the amount of telemetry data that is recorded and stored within the main unit 1 is user-defined and in any event is limited by the size of the memory 103.
- the main unit 1 is programmed so that it records the telemetry data from both slot cars 3 during the whole of a race. At the beginning of the next race, the memory 103 is cleared and the telemetry data for the next race is recorded.
- the main unit 1 can be programmed (by the user) so that the telemetry data for the best lap is stored and only overwritten if the user beats the current best lap time.
- an opto- electric detector (not shown) is provided at the start line having a light source and a light detector positioned on either side of the slot 11 so that as the slot car 3 passes by the start line, the guide blade on the slot car 3 (which is received in the slot 11) breaks the light beam, thereby allowing the microprocessor 101 to detect when the slot car 3 passes the start line.
- the microprocessor 101 uses an internal timer to record the time that each slot car takes to complete one lap.
- the drive current for powering the opto-electric detector is provided by the corresponding slot drive circuit 107.
- Figure 8a illustrates in more detail the main components of the telemetry control module 133 used in this embodiment when recording telemetry data during a race.
- the telemetry control module 133 includes two telemetry data gathering units 251-1 and 251-2 which operate to gather the telemetry data from the respective slots 11-1 and 11-2.
- the telemetry data includes: the present value of the brake control signal (BRK) ; the latest measure (I) of the electrical current applied to the slot, measured when the PWM signal is at a logic high; the back EMF voltage (EMF) of the slot car motor, measured when the PWM signal is at a logic low; the latest value of the mark-to-space ratio
- each of the telemetry data gathering units 251 time-stamps the present values of the telemetry data using a time-stamp generated by a timer 253 and stores the time-stamped telemetry data in the memory 103.
- Each of the telemetry data gathering units 251 also receives, at the beginning of the race, race settings data from the function control module 135, which it also stores in the memory 103 together with the telemetry data for the race.
- the telemetry data may be uploaded to the personal computer 15 and then analysed by the user in order to try to find patterns for how they approach each part of the track 5, in order that they can try to improve their racing technique.
- the telemetry data from a number of races may be stored within the PC 15 so that the user can also analyse the telemetry data from previous races to determine if they are improving etc .
- the recorded telemetry data may be used to automatically drive the slot cars 3 on the track 5 in order to create, in effect, a replay of the race.
- Figure 8b illustrates the main components of the telemetry control module 133 used to control this playback of the telemetry data.
- the telemetry control module 133 includes two automatic drive controllers 255-1 and 255-2, each of which operates, when triggered by the timer 253, to retrieve the next telemetry data (defined by the telemetry data time-stamp) for the appropriate slot 11 from memory 103 , and to generate from them the appropriate MSR and brake control signals for output to the slot drive circuit 107.
- the automatic drive controllers 255 also retrieve the race settings for the corresponding telemetry data which they output to the function control module 135 for controlling the replay of the race.
- the only telemetry data that the automatic drive controllers 255 need in this embodiment in order to replay the race is the MSR and the BRK control signals that were generated by the H/C control module 141 during the race.
- each of the automatic drive controllers 255 also receive feedback signals (in the form of the real time track telemetry data for the replaying race) which it compares with the stored track telemetry data and based on any error, changes the MSR control signal.
- the automatic drive controllers 255 employ conventional feedback controller techniques to achieve this control and therefore, these will not be described further here.
- the ability to automatically drive the slot cars 3 around the track 5 in accordance with stored telemetry data greatly enhances the functionality of the slot car racing system.
- users can replay a race (or part of a race) in order to replay the event on the track.
- the user can race another slot car 3 in the other slot 11. For example, if the telemetry data is recorded for the best lap time, then the user can race against a slot car 3 driven by the best lap time telemetry data, in order to try to better their (or someone else's) best lap time.
- the user can, therefore, play with the slot car racing system on their own and still enjoy a two slot car race - by controlling one slot car 3 with the stored telemetry data and by controlling the other slot car 3 with the hand controller 7 in the usual way.
- at least two players are required in order to have a race.
- the telemetry control module 133 can also receive telemetry data from a remote unit 17.
- This remote telemetry data may be received as a file or it may be received as streamed telemetry data for the real time driving of a slot car 3 on the track 5.
- the remote telemetry data is used in a race to control a slot car 3, it is first calibrated to the local track 5 and the local slot car 3.
- the telemetry control module 133 must adjust the telemetry data to compensate for this.
- the received telemetry data is initially used to make the local slot car 3 complete several laps on the local track 5.
- the lap times obtained from these calibration laps are then used to identify the way in which the telemetry data should be changed so that the local slot car 3 is driven around the track 5 with the same lap times as on the remote track 21. This process is iterated until an appropriate model or function is found that relates the received telemetry data to the telemetry data that should be used to control the local slot car 3 on the local track 5.
- the subsequently received telemetry data can then be converted by the appropriate slot automatic drive controller 255 into the appropriate driving signals for driving the local slot car 3 around the track 5.
- the above calibration routine allows the telemetry control module 133 in the main unit 1 to be able to adapt the telemetry data received from the remote unit 17 for the local slot car 3 and track 5. Therefore, it is also possible for the local user to race against a remote user on their track 5.
- the main unit 1 can receive hand control signals from two hand controllers 7 and can drive slot cars 3 around two slots 11 on the track 5.
- the main unit 1 is designed to be expandable to accept up to three "slave" units, each of which can control an additional two slots 11. Therefore, with three slave units connected to the main unit 1, up to eight slot cars 3 can be simultaneously raced on eight separate slots 11 on the track 5.
- Figure 9 is a block diagram illustrating the main components of a first one of the slave units 299. This slave unit is connected to the first of the slave unit interfaces 119-1 of the main unit and as such is arranged to control slot cars 3 on slot numbers three and four of the track 5.
- the slave unit 299 includes a slave unit microprocessor 301 whose operation is controlled by software stored in the non-volatile memory 303.
- the slave unit 299 also includes two hand controller interfaces 305-1 and 305-2 into which respective hand controllers 7 connect.
- the slave unit 299 also includes two slot drive circuits 307-1 and 307-2 which are controlled by the microprocessor 301 to apply the appropriate electrical current to the third and fourth slots on the track 5 via the main unit 1.
- the drive circuits 307 output their drive signals to a main unit interface 309.
- the main unit interface 309 is arranged to interface with the slave unit interface 119 shown in Figure 3a, so that the signals from the slot drive circuits 307 are passed directly to the appropriate terminals of the base unit interface 109 for connecting to the third and fourth slots 11 on the track 5.
- the main unit interface 309 is also operable to receive the lap counter signals (LAP3 and LAP4) for the third and fourth slots back from the base unit interface 109 via the slave unit interface 119 which it passes to the slave unit microprocessor 301.
- the slave unit 299 also includes a data bus 311 which the slave unit microprocessor 301 uses to access the memory 303.
- the data bus 311 is also connected to the data bus 111 in the main unit 1 so that the slave unit microprocessor 301 can communicate with the main unit microprocessor 101 and the PC 15 via the main unit interface 309 and the slave unit interface 119.
- the main unit microprocessor 101 in order to control the timing of communications transmitted by the slave unit microprocessor 301, the main unit microprocessor 101 also passes three synchronisation signals to the slave unit microprocessor 301 via the slave unit interface 119 and the main unit interface 309.
- One of the synchronisation signals (CLK) is used internally within the data bus 311 while the other two (jointly labelled SYNC) are used to synchronise data transmission times on the data bus.
- the main unit interface 309 also receives a slot ID (ID) from the slave unit interface 119 which it passes to the slave unit microprocessor 301. This slot ID is used by the microprocessor 301 to identify messages on the data bus 311 that are addressed to that slave unit 299 and to identify it as the source of messages transmitted back to the main unit microprocessor 101 or to the PC 15.
- the slave unit 299 also uses one of the SYNC signals received from the main unit 1 to synchronise the lap counter timers and the timers used to time-stamp the received telemetry data during a race.
- the lap times and the time-stamped telemetry data generated by each of the slave units 299 will therefore be accurately time- synchronised with those of the main unit 1. This accurate time synchronisation is important to be able to provide a realistic simulation of the race and to be able to identify the winner of the race when more than two slot cars 3 are being raced.
- main unit interface 309 also receives a zero volt level and a five volt level generated by a power circuit (not shown) in the main unit 1. These voltage levels are used by the slave unit microprocessor 301 to define the logic low and logic high levels used when transmitting data on the data bus 311. Since all of the slave units 299 will receive the same voltage levels, this ensures that the same voltage levels are used for the data communications.
- the slave unit 299 will also receive power from an AC to DC converter (not shown) which provides the power for the slave unit 299 and the twelve volt power rail required by the slot drive circuits 307.
- this local power source does not provide the logic level voltages used by the slave unit 299 for data communications on the data bus 311, which, as discussed above, are provided by the main unit 1.
- each of the slave units 299 is identical to the one shown in Figure 9. Further, as will be apparent from the above description, the slave units 299 are also almost identical to the main unit 1 except that they do not have the display 51, the PC interface 115 or the user input buttons 53. As for the control software used by the slave units 299, this is again similar to the software used by the main unit 1 except the slave units do not require a user interface control module 131 or a slave monitor module 137. In this embodiment, since the slave units 299 do not have user interfaces, the main unit microprocessor 101 is arranged to transmit configuration data for the currently defined racing mode to each of the slave units 299 via the data bus 111, 311. This configuration data is used by the function control module in the slave unit 299 to control the race on the third and fourth slots 11 as before.
- the main unit 1 also has an accessory unit interface 117 for allowing an accessory device to be connected to the main unit .
- accessories can be used.
- a gantry of lights may be provided at the start/finish line which can be connected to the main unit 1 via the accessory unit interface 117.
- a communications accessory may be connected to the accessory unit interface 117 which allows the main unit 1 to directly connect to a data network (such as a LAN or the internet) without having to connect via the PC 15.
- a communications accessory module allows users that do not have personal computers to be able to connect to a data network and therefore be able to transmit telemetry data to and receive telemetry data from remote users.
- the accessory units will include a microprocessor and a bus and will communicate with the microprocessor 101 in the main unit 1 via the data bus 111.
- the accessory unit will also receive a slot ID and clock and SYNC signals to control the communications .
- the base unit interface 109 receives drive signals from the slot drive circuits 107 in the main unit 1 and the slot drive circuits 307 in each of the slave units 299.
- Figure 10 schematically illustrates the principal connections of the base unit interface 109 forming part of the main unit shown in Figure 3a.
- the terminals 321 on the left hand side are input terminals for signals to be applied to the track 5 and the terminals 323 on the right hand side are output terminals for the signals received back from the track 5.
- the LAPl and LAP2 counter signals are passed to the main unit microprocessor 101; the LAP3 and LAP4 counter signals are passed to the slave unit 299 attached to the first slave unit interface 119-1; the LAP5 and LAP6 counter signals are passed to the slave unit 299 attached to the second slave unit interface 119-2; and the LAP7 and LAP8 counter signals are passed to the third slave unit 299 attached to the third slave unit interface 119- 3.
- the microprocessors 101, 301 use these LAP counter signals to identify when the respective slot cars 3 complete a lap, which they use to control the operating mode of the main/slave units during the race.
- the track 5 can be arranged to include up to eight slots driven by the base unit 65.
- the base unit 65 With a conventional slot car racing system, only two slots are provided on the track 5.
- a new connector track segment has been designed that allows the base unit 65 to connect in a daisy-chain fashion to four two-lane tracks 5.
- FIG 11a schematically illustrates the form of one of the four connector track segments 351-i that is used, in this embodiment, to connect the four two-slot tracks 5 to the base unit 65.
- each of the four connector track segments 351 are identical to facilitate the connection of the connector track segments 351 to the track 5 and the base unit 65.
- each of the connector track segments 351-i includes first and second connectors 353-i a and 353-i b , which are provided on opposite sides of the connector track segment 351-i.
- the first connector 353-i a includes eight sets of terminals labelled al to a8 and the second connector 353-i b includes eight sets of terminals labelled bl to b8.
- Each of the sets of terminals include terminals for the drive signals for a slot, terminals for the drive signals for the lap counter associated with this slot and a terminal and for the lap counter signal for this slot.
- sets of terminals al and a2 are connected underneath the surface of the track 351, to slots 11-i-l and ll-i-2 respectively.
- the sets of terminals a3 to a8 of the first connector 353-i a are connected underneath the surface of the track 351, to the sets of terminals bl to b6 of the second connector 353-i b .
- the sets of terminals b7 and b8 are left unconnected.
- the two connectors 353-i a and 353-i b are complementary so that the first connector 353-i a of one connector track segment 351-i can connect to the second connector 353-j b of another connector track segment 351-j or to a similar connector of the base unit 65.
- Figure lib illustrates the way in which the four connector track segments 351-1 to 351-4 are connected together and connected to a connector 355 of the base unit 65.
- the base unit connector 355 also includes eight sets of terminals labelled SI to S8 which connect to the appropriate input terminals 321 and output terminals 323 of the base unit interface 109.
- the sets of terminals SI to S8 are for connecting to the respective sets of terminals al to a8 of the first connector track segment 351-1.
- the connections represented by the dashed lines 357 shown in Figure 11a
- sets of terminals S7 and S8 of the base unit 65 are connected to slots 11-4-1 and 11-4-2 respectively.
- the main unit microprocessor 101 can transmit data to and receive data from each of the slave units 299 and the auxiliary unit over the data bus 111, 311.
- the master unit 1, the slave units 299 and any accessory unit can also communicate with an attached PC 15 via the data bus 111 and the PC interface 115.
- the data communications between the main unit microprocessor 101, the slave unit microprocessors 301 and any accessory microprocessor will be referred to as internal communications, whereas communications with the PC 15 will be referred to as external communications.
- the data bus 111, 311 effectively has two separate data buses, one for internal communications and the other for external communications with the PC 15. Further, in this embodiment both internal and external communications by any of the microprocessors is controlled by the main unit microprocessor 101 using the above mentioned synchronisation signals (SYNC) .
- SYNC synchronisation signals
- each microprocessor is provided with a fixed time slot to transmit data either internally to the main unit microprocessor 101 or externally to the PC 15.
- each microprocessor is allocated a 100 ms time slot which repeats every 500 ms.
- the arrangement of the time slots used in this embodiment is shown in Figure 12.
- a first time slot (labelled M) is provided for the main unit microprocessor 101 to transmit data on the data bus 111.
- a separate time slot (labelled S_ to S 3 ) is then provided for each of the three possible slave unit microprocessors 301.
- a time slot (labelled A) is provided for the accessory microprocessor to transmit data on the data bus 111.
- the sequence of time slots then repeats.
- the timing of the time slots is controlled by one of the SYNC control signals mentioned above and the data is synchronised within the time slot by the other SYNC control signal provided by the main unit microprocessor 101.
- the slot ID is used to define which time slot has been allocated for it to communicate on the data bus 111. In this way, each of the microprocessors can transmit data on the common data bus 111, 311 without interference.
- the main unit 1 includes a PC interface 115 for connecting the main unit 1 to a personal computer 15.
- a PC interface 115 for connecting the main unit 1 to a personal computer 15.
- This allows hand controller and/or telemetry data gathered by the main unit 1 (and any of the slave units 299) to be passed to the personal computer 15 and used to create a virtual simulation of a real race or to control a virtual race on the display of the personal computer 15.
- the personal computer 15 includes internet access, the connection to the personal computer 15 also allows the telemetry data to be transmitted to a remote user, either for remote simulation or for automatically controlling the driving of slot cars 20 on a remote track 21.
- FIG. 13 schematically illustrates the main components of the personal computer 15 used in this embodiment.
- the personal computer 15 includes an interface and pre-processing module 401 for connecting to the PC interface 115 of the main unit 1.
- the interface and preprocessing module 401 also processes the received telemetry data to determine the position of the slot car 3 on the track 5 using the telemetry data and dead reckoning techniques.
- the interface and pre-processing module 401 passes the determined position data and any hand controller/telemetry data to application logic 403 which can:
- the application logic 403 is therefore connected to a user interface 405 which generates and displays the virtual simulation/race or which displays the race analysis data to the user; and to an internet interface 407 which makes the connection to the remote user over the internet 19.
- Interface and Pre-processor Figure 14 is a block diagram illustrating the main components of the interface and pre-processor module 401 shown in Figure 13.
- the interface and preprocessor module 401 includes a communications control module 415 for controlling communications with the main unit 1; an application logic interface 417 for providing the interface with the application logic 403; a position processor 419; and a main unit co-processor 421.
- the position processor 419 receives the telemetry data from the communications control module 415 and uses it together with pre-stored data that it has on the layout of the track 5 to calculate the current position of the or each slot car 3.
- the position processor 419 then passes this position information to the application logic interface 417 for onward transmission to the application logic 403.
- the position processor 419 also passes the determined position information to the main unit coprocessor 421.
- the main unit co-processor 421 is provided in order to take advantage of the processing power of the personal computer 15 and to remove some of the processing burden on the microprocessors used in the main unit 1 and the slave units 299. Again, this allows reduced specification microprocessors to be used in the main unit 1 and the slave units 299, thereby reducing the cost of these units .
- main unit co-processor 421 can perform various different functions, with the results being transmitted back to the main unit 1 or the slave unit 299 as appropriate.
- the users can press buttons on their hand controllers 7 to emulate pit stops that are required under the rules of the race.
- the co-processor 421 may be arranged to monitor for these pit stops and, if they are not taken, to output control signals back to the main unit 1 and/or slave units 299 in order to limit the speed or to stop the slot car 3 that has not taken the necessary pit stops.
- the co-processor 421 can be configured by the user so that one or more of the slots 11 has a speed limit.
- the co-processor 421 monitors the telemetry data for the selected slot and transmits speed control signals back to the appropriate microprocessor 101, 301 when the user reaches the maximum speed, to ensure that the speed of the slot car 3 is not increased further. This is useful for younger children and novices who are unable to control the speed of the slot cars 3 on the track 5 to prevent the slot cars 3 leaving the track 5. As a result, the new slot car racing system is more appealing to users of all ages and experience.
- Position Processor Figure 15 is a block diagram illustrating the main components of the position processor 419 shown in Figure 14. These components are for calculating the position of one slot car from the corresponding telemetry data. Similar components will be provided for calculating the position of the other slot cars from the respective telemetry data. Alternatively, the modules shown in Figure 15 may process the telemetry data for all slot cars in a time division multiplex manner.
- the position processor 419 receives the latest telemetry data for a slot 11 from the communications control module 415.
- This data includes the latest current value (I) indicative of the electrical current applied to the slot 11, the latest back EMF measured on the slot 11, the latest lap counter signal (LAP) and the latest mark-to-space ratio (MSR) value.
- the position processor 419 uses dead reckoning techniques to determine the position of the slot car 3 on the track 5. It does this by integrating a measure of the velocity of the slot car which is determined from the back EMF telemetry data.
- the electrical current telemetry data also provides a measure of speed. This is because, a number of current breaks are provided on one or both of the rails of each slot 11.
- a number of current breaks are provided on one or both of the rails of each slot 11.
- Figure 16 illustrates the two rails 11-a and 11-b of a slot 11 and on rail 11-a two non-conductive strips 451-1 and 451-2 whose lengths and separation are known.
- Figure 16 also illustrates the form of the measured current (I) that is applied to the slot 11 as the slot car 3 passes over the current breaks formed by the non-conductive strips 451-1 and 451-2. As shown in Figure 16, the measured current drops to zero when the slot car 3 passes over each strip 451.
- the position processor 119 can determine an accurate estimate of the velocity of the slot car 3.
- the non-conductive strips 451 are placed on the slot 11 in pairs, with the spacing between each strip 451 in the pair being unique.
- the position processor 419 can not only determine an accurate measurement of the velocity of the slot car 3 but it can also determine the position of the slot car 3 on the track 5.
- the electrical current telemetry data (I) is input to a current break determining module 501 which monitors the profile of the electrical current signal (I) to detect when the slot car 3 passes over a current break 451.
- the current break determining module 501 detects the profile shown in Figure 16, it measures the values of tl and t3 which it passes to a velocity determining module 503.
- the velocity determining module 503 outputs the determined speed to a current break position determining module 505 which also receives the value of time t 2 , which is also measured by the current break determining module 501.
- the current break position determining module 505 then uses the current speed and the time period t 2 to determine the spacing between the two non-conductive strips 451-1 and 451-2. This distance identifies the current break (and its location) that the slot car 3 has just passed (which is defined in the track data 507) .
- the position information determined from the electrical current (I) cannot be used to provide a continuous measure of the position of the slot car 3 around the entire track 5.
- the back EMF telemetry data is used to provide a continuous estimate of the velocity of the slot car 3 which is then integrated using dead reckoning techniques, to provide a continuous estimate of the position of the slot car 3. This is achieved using the velocity estimating module 511 and the dead reckoning position determining module 513.
- the velocity estimating module 511 estimates the velocity using a stored function (g(EMF)) which is determined for each slot car 3 in advance from the telemetry data obtained during one or more calibration laps .
- this function is found by determining the function which minimises the error between the accurate position information determined from the lap counter signal (LAP) and from the current break position determining module 505 and the dead reckoned position estimates derived using the function and the back EMF measurements .
- an adaptation module 512 is provided for adapting the function (g(EMF)) during this calibration routine and for performing later adaptations as the slot car 3 and/or the track 5 becomes older and its characteristics change.
- the stored function (g(EMF)) used in this embodiment is illustrated in Figure 17 which shows that the velocity is related to the natural logarithm of the measured back EMF telemetry data.
- the velocity estimated from the back EMF telemetry data is passed to the dead reckoning position determining module 513 which integrates the velocity with respect to time to determine the distance travelled since the last measurement. This distance is then combined with the previous position in accordance with the track layout as defined by the track data 507 to determine the actual position of the slot car 3 on the track 5.
- This position information is then passed to the position correcting module 509 which makes any appropriate position correction based on the last accurate position information received via the lap counter signal (LAP) or from the current break position determining module 505.
- the corrected position information (posn) is then output to the application logic interface 417 and/or to the co-processor 421.
- the track data 507 must accurately identify the physical layout of the track 5.
- the mark-to-space ratio telemetry data generated from the user's hand controller signals is compared with mark-to-space ratio profile data that is expected for the current track layout. For example, if the user has defined a complex track layout with many bends, then the PC 15 can predict how the MSR telemetry data will vary as the user slows down for corners and speeds up out of the corners. However, if the user is trying to cheat by building a track of the same length as the complicated design but as a simple oval, then the MSR telemetry data is unlikely to vary as it should.
- the telemetry data validation module 515 therefore compares the received MSR telemetry data with expected MSR profile data 517 to determine whether or not the user is cheating and to output an appropriate validation signal.
- This validation signal is also passed to the application logic interface 417 and to the co-processor 421.
- this validation is not essential, as a practical feature, it provides some validation especially to remote users who cannot physically check the layout of the track 5 from which the telemetry data has been obtained.
- the purpose of the application logic is to provide analysis tools for allowing users to analyse stored telemetry data from previous races and to provide a virtual simulation of a real race or to control a virtual race on the display screen of the personal computer 15.
- the application logic also allows the user to set up the various race parameters that can be set up using the input buttons 53 on the main unit 1.
- the application logic controls the transmission and reception of position, hand controller and/or telemetry data to/from a remote terminal via the internet 19.
- Figure 18 is a schematic block diagram illustrating the main components of the application logic 403 shown in Figure 13.
- the application logic 403 includes an application logic control module 601 which receives the hand controller signals or the telemetry and position data from the interface and pre-processor module 401.
- the position data for slot cars 3 on the track 5 is passed by the application logic control module 601 to a race simulation module 603 which uses the current position data to retrieve the appropriate track layout data and scenery data for these positions from the track layout and scenery data store 605.
- This track layout data and scenery data are then passed together with the position data to the user interface 405 which, as will be described below, uses the data to generate an appropriate virtual simulation of the race.
- the application logic control module 601 also passes the telemetry data and the position data for each slot car to a race file generator 606 which opens a race file and stores the data in the race file within the race file data store 607.
- the race file is stored as a continuous time based sequence of telemetry data and corresponding position data together with data that identifies the racing mode, the slot 11 and the slot car 3 that are used.
- the data files that are stored in the race file data store 607 can then be retrieved by the user via the user interface 405 and used to generate a virtual simulation of the race using the race simulation module 603.
- the race file may also be passed back to the main unit 1 to control the driving of one of the slot cars 3 on the track 5.
- the race file data may be passed to a race analysis module 609 which can perform various different processings on the data (in accordance with user interaction via the user interface 405) in order to analyse the slot car's (and hence the user's) performance during the race. For example, if the race data is for a multi-lap race, then race analysis module 609 can calculate the average lap time, the best lap time, the best time through a particular portion of the track etc. The user can also compare their race statistics with the race statistics for other users on the local track 5 or for users on remote tracks 21.
- the application logic control module 601 When operating in the virtual race mode, the application logic control module 601 will receive the hand controller signals generated by the main unit 1 and the slave units 299. In this mode, the application logic control module 601 also outputs the hand controller signals to the race simulation module 603. In this case, however, the race simulation module 603 operates more like a conventional racing computer game in that it uses a predetermined model (not shown) which relates the hand controller signals to a change in position of a virtual car on a virtual track. The race simulation module 603 then outputs the appropriate position data together with the track layout data and scenery data from the data store 605 to the user interface 405 which uses the data to generate the next image of the virtual race. As discussed above, the application logic 403 controls the transmission and reception of telemetry data over the internet via the internet interface 407.
- the telemetry data, the hand controller data and/or the position data can be streamed to a remote user substantially in real time using an internet streaming module 611.
- the received telemetry, hand controller and/or position data received by the application logic control module 601 is immediately passed to the internet streaming module 611 with the appropriate internet address for the remote terminal .
- the internet streaming module 611 uses the received data to generate a corresponding stream of data packets which it outputs to the internet interface 407 for onward transmission to the remote terminal .
- the application logic control module can retrieve one or more of the race files stored in the race file data store 607 and forward this to the remote terminal using an internet ile transfer module 613.
- a separate streaming module 611 and file transfer module 613 are required since different transmission protocols are used depending on if the data is being streamed (for real time use at the receiving terminal) or if a file transfer is being made (in which case real time transmission is not essential) .
- the application logic control module 601 either: (i) passes the received data to the race file generator 606 for storage in the race file data store 607; (ii) passes the received position data to the race simulation module 603 to create an appropriate virtual simulation of the remote race; (iii) passes the received hand controller signals to the race simulation module 603 for controlling a virtual race (so that local users can have a virtual race with remote users) ; (iv) passes the received telemetry data to the interface and pre-processor module 401 so that it can calculate and return the corresponding position data for use in generating a virtual simulation by the race simulation module 603; or (v) passes the received position and/or telemetry data back to the interface and pre-processor module 401 for onward transmission to the main unit 1 for use
- the application logic 403 also includes a race setup graphical user interface (GUI) module 615 which allows the user to set up the various race modes that are available using the personal computer 15 instead of the user interface on the main unit 1 formed by the input buttons 53 and the LCD display 51.
- the race setup GUI module 615 also allows the user to define the current layout of the track 5 and the type of scenery to be used in the simulation (e.g. city, alpine, winter etc) . This track layout and scenery data is then passed back to the application logic control module 601 which stores the data in the track layout and scenery data store 605.
- the race setup GUI module 615 also allows the user to set the hand controller function
- race setup GUI module 615 can be used to vary the gradient of the plot or to define other non-linear functions such as exponential or piece-wise linear functions, as appropriate. In this way, the user can experiment with different hand controller characteristics and then compare the telemetry results using the race analysis module 609 to determine the best hand controller function for them. Any race configuration data generated by the user using the race setup GUI module 615 is then passed back to the application logic control module 601 for onward transmission back to the main unit 1 via the interface and pre-processor module 401.
- this virtual simulation/race is generated by a rendering engine 631 which, in this embodiment, is a standard rendering engine commonly used in 3-D computer games.
- the rendering engine 631 uses the positional information and the track layout and scenery data received from the race simulation module 603 and generates an appropriate current screen image which it outputs to the frame buffer 633 for display on the display 635.
- the image data stored in the frame buffer 633 is then recalculated/updated by the rendering engine 631 using the next received position and track layout and scenery data received from the race simulation module 603 etc., to create a moving image 3D simulation of the actual slot cars 3 racing on the track 5 or to create a moving image 3D virtual race.
- the frame buffer 633 can also receive images generated by the race analysis module 609 and the race setup GUI module 615. These images are also displayed on the display 635 and any user input generated in response is detected by a user input device 637 (e.g. keyboard or mouse) which is then passed back to the application logic 403.
- a user input device 637 e.g. keyboard or mouse
- the main unit and the slave units monitored the electrical current applied to the slots and the back EMF signals generated by the slot car motors .
- These signals were used to sense the speed of the slot car on the track and to detect the position of the slot car on the track. The inventors have found that these signals allow for the accurate calculation of the instantaneous position of the slot car on the track, which therefore allows accurate simulation on the personal computer.
- other techniques can be used to track the position of the slot cars on the track.
- an embedded position sensor may be provided in the track, which the slot car interacts with, to generate signals that continuously vary with the position and/or speed of the slot car on the track.
- the signals from this position sensor can then be detected by the main unit and/or the slave unit and then passed to the personal computer to control the simulation as before.
- W095/31696 describes a suitable position sensor that could be used in such an embodiment.
- an array of discrete position sensors may be provided along the track layout which detect when the slot car pass the corresponding position on the track. The position information from this array of point position detectors can then be fed back to the main unit for onward transmission to the PC as before.
- Various other alternatives will be apparent to those skilled in the art.
- the main unit and the slave units measured the back EMF signals generated by the slot car motors when no current was applied to the track.
- the main unit and the slave units can determine a measure of the slot car motor back EMF from the current that is supplied to the track.
- the main unit and the slave units can determine what the back EMF is from the current drawn by the slot car. As those skilled in the art will appreciate, in such an embodiment, it is not necessary to pulse the drive signal.
- the main unit interfaced with a personal computer which allowed a virtual simulation or a virtual race to be displayed to the user on the screen of the personal computer.
- a personal computer which allowed a virtual simulation or a virtual race to be displayed to the user on the screen of the personal computer.
- the main unit it is possible to connect the main unit to other computer devices such as a games console or the like. In this case, the games console would create the appropriate signals for output on an attached display or television screen.
- the user could transmit or receive telemetry data to/from a remote user so that they can race against the remote user.
- each of the users could transmit timing information (e.g. lap times or the times at which they pass the current breaks on the track) to a central server.
- the central server can then compare the lap times and/or the times taken to reach the current breaks to identify the positions of the slot cars in the race and timing information that identifies the gap between the different users' slot cars in the race.
- the central server can then transmit this information back to each user's personal computer and/or main unit.
- the user may be provided with feedback about the position of the other user's car either as a visual output on the display of the personal computer or as an audible output to advise him who is winning the race.
- users can upload telemetry data for a lap or race to the server, so that other users can download it to try to better the results. This leads to a situation where it is possible to organise a race with many thousands or millions of users participating.
- each of the users has the same track layout, they can each race a slot car on their track and generate telemetry data or at least lap time data which can then be transmitted to the central server.
- the central server can then identify the user with the best lap time as the winner of the race.
- the central server can stream the telemetry data for the best user(s) to each user's personal computer which can use the data to generate a virtual simulation to show where the best racers are in the race compared to the local user.
- the central server can also provide telemetry data files for the users to download for later use in controlling the virtual simulation or for use in driving a slot car on the user's track.
- the main unit and the slave units controlled the speed of the slot car on the track by applying a pulse width modulated current signal to the slot on the track.
- a pulse width modulated current signal to the slot on the track.
- a hand controller was described which connected to the main unit using only two wires and which allowed the encoding of a throttle position as well as other control inputs. This was achieved by using a variable resistor and a couple of user actuable switches which changed the resistance of the electrical elements in the hand controller.
- the user switches and throttle may be used to vary the resistance and/or the reactance (capacitance and/or inductance) of elements in the hand controller. In such an embodiment, as the user varied the throttle position, the impedance of the circuit elements in the hand controller would continuously vary with the throttle position.
- the hand controller control module can therefore detect the present throttle position and the status of the switches by monitoring variations in the impedance of the circuit elements in the hand controller.
- the main unit included three slave unit interfaces to which up to three slave units could be connected.
- the main unit may be arranged to connect to any number of slave units .
- the main unit and each of the slave units were operable to control only two slots on the track. As those skilled in the art will appreciate, this is not essential.
- the main unit may be arranged to control any number of slots.
- the arrangement discussed above in the main embodiment was used since existing slot car racing systems employ tracks having only two slots .
- the above arrangement was chosen so that the new main unit can be used to control old slot cars on existing two-slot tracks .
- the main unit connected to the track via a separate base unit. As those skilled in the art will appreciate, this is not essential. However, it is preferred since it facilitates the connection of the main unit to the PC, especially when the PC is in another room to the track. However, in an alternative embodiment, the main unit may connect directly to the track.
- a new connector track segment was described which allowed a number of two-lane tracks to be connected in a daisy chain configuration to a common base unit.
- the above connector track segment is not essential. Separate flying lead type connectors may be provided from the base unit to each of the track segments. However, the use of the connector track segments is preferred since it facilitates the connection of the different two-lane tracks to the common base unit.
- the connector track segment was designed to be identical for each two- lane track. As those skilled in the art will appreciate, this is not essential. Different connector track segments may be provided for each of the different two lane tracks . However, a common connector track segment is preferred since again it facilitates the connection of the different two-slot tracks together to the common base unit.
- a new method of braking slot cars was described. As those skilled in the art will appreciate, it is not essential to employ this new type of braking. Further, the inventors have also developed another new type of braking which is based on the conventional braking technique which short circuits the slot and hence the motor in the slot car. This alternative braking is achieved by pulsing the short circuiting of the slot. In particular, by short circuiting the slot for a first period of time (e.g. a few milliseconds) and then open circuiting the slot (again for a few milliseconds) so that the back EMF of the slot car motor can be measured and then short circuiting the slot again for another short period of time and then open circuiting and measuring the back EMF etc.
- a first period of time e.g. a few milliseconds
- open circuiting the slot again for a few milliseconds
- the measurement of the back EMF signal can then be used to determine when the slot car has come to rest and, therefore, when the shorting can be stopped. Additionally, the latest back EMF measurement can be used to control the length of the next time period that the track will be short circuited. In this way, it is possible to control the rate at which the slot car brakes, thereby giving a more natural and progressive braking operation. In a further alternative embodiment, both of the new braking techniques can be used, depending on whether or not the user has simply released the throttle or has pressed the braking button on the hand controller.
- the hand controller was arranged so that the value of the hand controller voltage was unique for any throttle position regardless of the status of the user control buttons . As those skilled in the art will appreciate, this is not essential. However, if there is not a one-to-one correspondence between the input voltage and the throttle position and button status, then the H/C control module will have to track changes of the input voltage to detect sudden changes in the input voltage indicating button presses. By ensuring that the change in voltage is different for each combination of button presses, the H/C control module can still determine the throttle position and the status of each control button.
- the hand controller signals were used to vary the pulse width of a pulse width modulated drive signal.
- other types of driving signals may be used.
- the hand controller signal may be used to control the amplitude of the pulses in addition to or instead of varying the pulse width.
- the main unit recorded various telemetry data for the slot cars racing around the track.
- the particular telemetry data that is recorded can vary from system to system. For example, only the current applied and/or the back EMF measurements may be recorded. Alternatively still, only the hand controller signals or the MSR signal derived from the hand controller signals may be stored as the telemetry data.
- the system is able to more accurately determine the position of the slot cars on the track and hence can more accurately generate a virtual simulation of the race.
- the main units can more accurately drive the slot cars automatically around the track in accordance with a previous user controlled race.
- a new slot car racing system was described.
- the system was adapted to be able to work with existing track and slot cars.
- the separate components of the system such as the main unit and base unit and the hand controllers may be made and sold separately from the slave units, the track and the slot cars.
- the main unit is a microprocessor-based unit which is controlled by software stored in an internal memory.
- the main unit may instead be formed from separate dedicated hardware circuits which perform the functions discussed above.
- software is preferred, since the software modules can be upgraded to improve the performance and to add functionality to the main unit.
- the software for controlling the main unit may be obtained by downloading it from a remote server or may be provided on a computer readable medium such as a computer disc or a CDROM.
- the control software used for controlling the personal computer 15 may be downloaded as a signal from a remote server or provided on a computer readable medium such as a floppy disc, CDROM or the like.
- a toy system comprising: a first system, comprising: an interface for receiving user input; first controlling means for controlling movement of a first vehicle along a first track, in dependence upon user input received by the interface; means for communicating with a second system over a network; and means for transmitting movement data relating to the movement of the first vehicle along the first track; and said second system comprising: means for communicating with said first system over the network; means for receiving the movement data transmitted by said first system; and second controlling means for controlling the movement of a second vehicle along a second track in dependence upon said received movement data.
- a system according to clause Al wherein said first vehicle is a toy vehicle and said first controlling means is arranged to control the movement of the toy vehicle along the first track.
- said second controlling means is operable to control a graphical simulation of the second vehicle on a graphical simulation of the second track.
- said transmitting means is operable to transmit a stream of movement data representing the real-time movement of the first vehicle along the first track.
- a toy system comprising: a toy vehicle; a track along which the toy vehicle can move; a user device for receiving a user input and for generating a corresponding user control signal; and a controller unit comprising: a first interface for coupling with the user device and for receiving the user control signal; a second interface for coupling to the track; and a drive circuit generator operable to generate a pulsed drive signal in dependence upon the user control signal received by said irst interface and operable to apply said pulsed drive signal to said track via said second interface to control the movement of the toy vehicle along the track; and wherein said control unit further comprises a sensor couplable to said second interface for sensing a back EMF generated on said track by said toy vehicle between pulses of said drive signal.
- a toy system comprising: a toy vehicle,- a track on which the toy vehicle can move; a user device for receiving user input and for generating a corresponding user control signal; and a control unit comprising: a first interface for coupling with the user device and for receiving the user control signal; a second interface for coupling to the track; and a drive circuit generator operable to generate a drive signal in dependence upon the user control signal received by said first interface and operable to apply said drive signal to said track via said second interface to control the movement of the toy vehicle along the track; a current sensor operable to sense the current drawn by the slot car and operable to output a current sensor signal; and a processor operable to process said current sensor signal to determine a measure of the back EMF generated on said track by said toy vehicle.
- a slot car racing controller for controlling a drive signal applied to the track of a slot car racing system, the controller comprising: a first interface for receiving a drive control signal; a second interface for coupling with the track of the slot car racing system; and a drive circuit operable to generate and to apply a drive signal to said track via said second interface in dependence upon the drive control signal received by said first interface; wherein said drive signal generator is operable to generate a pulse width modulated drive signal in dependence upon the received drive control signal.
- said drive signal generator is operable to generate a unipolar pulse width modulated drive signal in dependence upon the drive control signal received by said first interface.
- said second interface is operable for coupling to the track via an intermediate connector.
- a hand controller for use by a user to control the movement . of a toy vehicle along a track, the hand controller comprising: first and second terminals for connection to a hand controller control module; a plurality of circuit elements connected between said first and second terminals; a first user actuator responsive to manipulation by the user to continuously vary a parameter of one or more of said circuit elements connected between said first and second terminals; and a second user actuator responsive to manipulation by the user to generate a step change in a parameter value of one or more of said circuit elements .
- a hand controller according to clause Dl wherein said first user actuator is operable to continuously vary the impedance of one or more of said circuit elements.
- a hand controller according to any of clauses Dl to D3, wherein said first user actuator is operable to continuously vary the parameter of said one or more circuit elements in dependence upon the pressure applied to the first user actuator by the user.
- a hand controller according to any of clauses Dl to D5, comprising a plurality of said second user actuators, each operable to generate a step change in a parameter value of one or more of said circuit elements .
- a hand controller control module for interfacing with a hand controller according to any of clauses Dl to D6, the control module comprising: first and second terminals for respectively coupling with the first and second terminals of the hand controller; and means for monitoring the temporal variation of one or more parameter values of said circuit elements in said hand controller to determine a present state of said first and second user actuators of said hand controller.
- a control module according to clause D7, wherein said monitoring means is operable to monitor the temporal variation of the impedance of the circuit elements connected between the first and second terminals of said hand controller.
- a control module according to clause D7 or D8, wherein said monitoring means is operable to compare present values of said one or more parameters with one or more previous values of said one or more parameters to determine the states of said first and second user actuators.
- a slot car connector track segment for use in connecting a plurality of slot car tracks in common with a slot car base unit which provides the drive signals for each slot on each track
- the connector track segment comprising: first and second slots extending between first and second edges of the track segment; first and second connectors provided on third and fourth edges of the connector track segment, the first connector being operable for connection to said base unit and the second connector being operable for connection to a connector of another connector track segment; a first pair of conductors connected between, said first slot and a first set of terminals of said first connector, for providing driving signals to said first slot; a second pair of conductors connected between said second slot and a second set of terminals of said first connector, for providing driving signals to said second slot; and at least one pair of conductors connected between a third set of terminals of said first connector and a corresponding set of terminals of said second connector.
- a connector track segment according to clause El wherein said first and second connectors are complementary such that the second connector of one connector track segment can connect to the first connector of another connector track segment.
- E3. A connector track segment according to clause E2, comprising M slots, wherein the first connector comprises N sets of terminals, where N is greater than M and wherein said second connector comprises at least N - M sets of terminals, with each set of terminals in the second connector being connected by conductors to a respective set of terminals of the first connector.
- a slot car racing system comprising: a plurality of multi-slot tracks; a main controller operable for outputting drive control signals for driving slot cars on the slots; one or more slave units each operable to generate the drive control signals for one or more of said slots and operable to output the drive control signals to said main controller; and wherein said main unit is operable to receive the drive signals from said slave controller and to output the received drive signals to the appropriate slot or slots on the track.
- a slot car racing system according to clause FI, wherein the main controller and each slave controller is operable to generate and to output drive control signals for two slots.
- a slot car racing system according to clause FI or F2, wherein said main unit includes a first interface for interfacing with the slave controller and a second interface for interfacing with the track, and wherein a direct connection is provided between the first and second interfaces to allow the drive signals generated by the slave controller to be passed direct to the track.
- a slot car racing system according to clause F3, wherein said main controller and said slave controllers include microprocessors and wherein the microprocessor of the main controller is operable to communicate race setup data to the slave controller for controlling the operation of the slave controller.
- a slot car racing system according to clause F4, wherein said microprocessor is operable to output a timing control signal to said slave controller to synchronise the timing operation of the slave controller with the main controller.
- a slot car racing controller for controlling a drive current applied to a track of a slot car racing system, the controller comprising: a first interface for interfacing a drive control signal; a second interface for coupling with the track of the slot car racing system; a drive circuit operable to generate and to apply a drive signal to said track; a third interface for coupling the controller to an external device; and a mode selector operable to set the controller in a first mode of operation in which the drive control signal received at said first interface is passed to said drive circuit to control the drive signal applied to said track or a second mode of operation in which the drive control signal received at said first interface is output to said third interface for output to said external device.
- a controller according to clause Gl or G2 wherein in said first operating mode, said drive circuit is operable to generate a pulse width modulated signal for output to the track via said second interface.
- a controller for controlling a slot car on a slot car track, the controller comprising: a first interface for receiving a drive control signal from a user device; a second interface for coupling with the track of the slot car racing system; a drive circuit operable to generate and to apply a unipolar driving signal to said track via said second interface in dependence upon the drive control signal received by said first interface; and a drive signal polarity converter, responsive to a user input and operable to invert the polarity of the drive signal applied to the track.
- a controller according to clause HI wherein said polarity converter is operable to invert the polarity of said drive signal in order to control the direction in which the slot cars are driven on the track.
- a controller according to clause HI wherein said polarity converter circuit is operable to invert the polarity of said drive circuit to control the braking of a slot car on the track.
- a slot car racing controller for controller a drive signal applied to the track of a slot car racing system, the controller comprising: a first interface for receiving a drive control signal from a user device; a second interface for coupling with the track of the slot car racing system; a drive circuit operable to generate and to apply a drive signal to the track via said second interface in dependence upon the drive control signal received by said first interface; a short circuit controller for short circuiting a slot on the track; a speed detector operable to determine a measure of the speed of a slot car on the track; and a braking controller operable to control the short circuit controller in dependence upon the measure of speed determined by said speed detector.
- said short circuit controller is operable to repeatedly open circuit and close circuit said slot and when said braking controller is operable to control the duration of the short circuit controller short circuits said slot.
- a controller according to clause 12, wherein said speed detector is operable to determine the speed measure of the slot car during the periods when said short circuit controller open circuits said slot.
- a controller according to clause 13 wherein said speed detector is operable to detect a back EMF signal generated on the slot by the slot car during the periods in which the short circuit controller open circuits the slot, as said speed measure
- a controller for controlling a drive signal applied to a track along which a toy vehicle can move comprising: a first interface for receiving a drive control signal from a user; a second interface for coupling with the track; a drive circuit operable to generate and to apply a drive signal to said track via said second interface; a third interface operable to receive communications data from an external communication device, which communications data includes telemetry data; a mode selector operable to select a first mode of operation of the controller in which the drive control signal received at said first interface is used to control the drive signal applied to the track by said drive circuit and a second operating mode in which the telemetry data received at said third interface from said external device is used to control the drive signal applied to the track by said drive circuit.
- a controller according to clause Jl comprising means for determining telemetry data for the toy vehicle driven on the track by the drive signal and comprising a telemetry controller operable to compare the telemetry data for the toy vehicle on the track with the received telemetry data and operable to control the drive circuit in dependence upon a comparison result.
- said telemetry data includes data defining the time taken for the toy vehicle to move over a predetermined portion of the track and wherein said telemetry data controller is operable to vary the drive signal to cause the toy vehicle to move over the predetermined portion of the track in said period of time.
- a toy system comprising: a toy vehicle; a track along which a toy vehicle can move; a controller unit having a plurality of modes of operation and comprising: a first interface for coupling with an external processor; a second interface for coupling with the track; a drive circuit operable to generate and to apply a drive signal to said track via said second interface; a communications circuit operable to communicate with said external microprocessor and operable to receive communication control signals from said external processor and a mode selector operable to select an operating mode of said controller in dependence upon the communications received from said external processor.
- a controller for controlling a drive signal applied to a track to control the movement of a toy vehicle on the track comprising: a first interface for receiving a drive control signal from a user; a second interface for coupling with the track of a slot car racing system; a drive circuit operable to generate and to apply a drive signal to said track via said second interface; a third interface for interfacing with an external processor; a speed controller operable to output the drive control signals received at said first interface to said external processor via said third interface and operable to receive speed control signals from said external processor via said third interface and operable to limit a drive signal applied to the track by said drive circuit in dependence upon the speed limit signals received from said external processor.
- a slot car racing system comprising: a track on which a plurality of slot cars can be raced; a main controller operable to control a first subset of said plurality of slots; a slave controller operable to control a second subset of said plurality of slots; wherein said main controller is connected to said slave controller via a data bus and wherein said main controller outputs control signals to said slave controller to control data communications on the data bus.
- main controller includes a communications interface for communicating with an external device and wherein said slave controller is operable to communicate with said external device via said bus and said communication interface in said main unit.
- a toy system comprising: a toy vehicle; a track along which the toy vehicle can move; a user device for receiving a user input and for generating a corresponding user control signal; a controller operable to generate a drive signal for controlling the movement of the toy vehicle on the track in accordance with a user control signal received from said user device and a communications module operable to transmit data representative of at least one of the user control signal and the drive signal applied to the track to a remote device.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mechanical Engineering (AREA)
- Toys (AREA)
Abstract
A slot car racing system is described which allows users to be able to play against other users over the internet. The system records telemetry data of the slot cars (20) as they move over the track (21) and this data can be passed to the remote user for controlling the operation of a remote slot car. Various other novel aspects of the slot car racing system are also described.
Description
TOY SYSTEM The present invention relates to various improvements in toy systems such as slot car toys and model railways .
Slot car racing has been a popular hobby for many decades. Part of the appeal is in producing sophisticated race tracks and then racing others on the track. The applicant has designed a new slot car racing system with the aim of updating and improving the existing systems that are available. A detailed description of the new slot car racing system will be given below in the specific description of the embodiments . This new system incorporates many different inventions, some of which are specific to slot car racing systems and others of which have more general applicability to toy systems in general.
Exemplary embodiments of the invention will now be described with reference to the following drawings in which:
Figure 1 is a schematic overview of the new slot car racing system described herein;
Figure 2a is a view from the front of a main unit and a
base unit forming part of the slot car racing system shown in Figure 1;
Figure 2b is a side view of the main unit and the base unit shown in Figure 2a, illustrating the way in which the main unit is removably connectable to the base unit;
Figure 3a is a schematic block diagram illustrating the main components of the main unit shown in Figure 2 ;
Figure 3b is a block diagram illustrating the software modules forming part of the main unit shown in Figure 3a;
Figure 4a is a circuit diagram illustrating the main components of a hand controller forming part of the system shown in Figure 1 and the way in which it is connected to the main unit shown in Figure 3a;
Figure 4b is a plot illustrating the way in which the signal from a hand controller varies with throttle position and with the status of two buttons on the hand controller;
Figure 5 is a plot illustrating the way in which a hand controller control module determines a desired mark to space ratio (MSR) for a determined hand controller
throttle position;
Figure 6 is a timing diagram illustrating the form of a pulse width modulation signal generated in dependence upon the MSR value determined for a current hand controller throttle position;
Figure 7 is a circuit diagram illustrating the main components of a bridge driver used to apply current to a slot of the slot car racing system shown in Figure 1 which allows for the driving of the cars in different directions;
Figure 8a is a schematic block diagram illustrating the operation of a telemetry control module shown in Figure 3b in recording race telemetry data for a current slot car race in progress;
Figure 8b illustrates the operation of the telemetry control unit shown in Figure 3b in the generation of driving signals for driving a slot car from stored telemetry data;
Figure 9 is a block diagram illustrating the main components of a slave unit which can interface with the
main unit shown in Figure 3a;
Figure 10 schematically illustrates the connections of a base unit inter ace forming part of the main unit shown in Figure 3a for connecting the main unit to the base unit;
Figure 11a schematically illustrates the form of a common connector track segment that is used for connecting multiple lanes to the base unit shown in Figure 2b;
Figure lib schematically illustrates the way in which the common connector track shown in Figure 11a is used to connect multiple lanes in parallel to the base unit;
Figure 12 is a timing diagram illustrating the time slots allocated to the main unit, the slave units and the auxiliary unit in accessing a common data bus;
Figure 13 is a schematic block diagram illustrating the main functional components of a personal computer forming part of the system shown in Figure 1;
Figure 14 is a block diagram illustrating the main components of an interface and pre-processor unit forming
part of the personal computer shown in Figure 13 ;
Figure 15 is a block diagram illustrating the main components of a position processor forming part of the interface and pre-processor unit shown in Figure 14;
Figure 16 is a schematic diagram illustrating the way in which a current signal varies with time and position of a car over a current break on the track;
Figure 17 is a plot of a derived function relating a measured back EMF of the motor of a slot car to the velocity of the slot car;
Figure 18 is a block diagram illustrating the main functional components of application logic forming part of the personal computer shown in Figure 13 ; and
Figure 19 is a block diagram illustrating the main functional components of a user interface shown in Figure 13.
Overview
Figure 1 is a schematic diagram illustrating a new slot car racing system. The system includes a main unit 1
which controls the driving of motorised slot cars 3-1 and 3-2 around a slot car track 5, in dependence upon user control signals input via hand held controllers 7-1 and 7-2 respectively. In particular, the user controls the position of a throttle 9-1, 9-2 on the hand controller 7 which is detected by the main unit 1 and used to control the electrical current applied to a respective slot 11-1 and 11-2 on the track 5, to thereby control the speed of the corresponding slot car 3-1 and 3-2 racing around the track 5. Figure 1 also illustrates that the main unit 1 receives power from an AC power converter 13.
In this embodiment, the main unit 1 is arranged to record various telemetry data for either or both of the slot cars 3 as they race around the track 5, so that the main unit 1 can replay part or all of a race by using the stored telemetry data to drive the corresponding slot car(s) 3 around the track 5 without input from the user.
The way in which this is achieved will be described in more detail later.
In this embodiment, the main unit 1 can also be connected to a personal computer 15 via which the user can set various race options for the main unit 1 which are then downloaded to the main unit to control the race.
Additionally, the telemetry data recorded by the main unit 1 can be passed to the PC 15 either for analysis purposes after the race by the users, or for generating a virtual (graphical) simulation of the race on the display of the PC 15.
As shown in Figure 1, the PC 15 can also connect to other user's main units 17 via the Internet 19. In this way, the telemetry data recorded by the main unit 1 can be transmitted over the Internet 19 to a remote main unit 17 , which can then use this telemetry data to automatically drive a remote slot car 20 around the remote track 21. The telemetry data generated by the main unit 1 may be transmitted at the end of a race as a single data file or it may be streamed as a continuous data stream to the remote unit 17 and used to generate an appropriate real time simulation or to drive the remote slot car 20 around the remote track 21 in real time. Similarly, telemetry data recorded by the remote main unit 17. from one or more of the slot cars 20 being driven around the remote track 21 can also be transmitted over the Internet 19 and received by the PC 15. The PC 15 can then either use the received telemetry data to display a virtual simulation of the remote slot cars 20 racing around the remote track 21 or pass the data to the main
unit 1 to actively drive either or both of the slot cars 3-1 and 3-2 around the track 5.
Additionally, in this embodiment, the users can control a virtual race on the PC 15 using the hand controllers 7 to control the speed of virtual slot cars in the virtual race. In this virtual race, the main unit 1 does not use the hand controller signals to control the electrical current applied to the track 5. Instead, it simply streams the hand controller signals directly to the PC 15 which uses the signals to update the position of the corresponding cars in the virtual race. Indeed, in this operating mode, the main unit 1 does not need to be connected to the track 5.
A brief description has been given above of the operation of the xxevf slot car racing system of this embodiment. A more detailed description will now be given of the main components of the system together with a more detailed description of the above described functionality.
Main unit
A front view of the main unit 1 is shown in Figure 2a. As shown, the main unit includes an LCD display 51 for displaying settings and other information to the user and
five buttons - a back button 53-1; a forward button 53-2; a play/edit button 53-3; a start button 53-4 and a set/stop button 53-5. As will be described in more detail below, these buttons are provided to allow the user to control the mode of operation of the main unit 1.
In this embodiment, the main unit 1 is coupled to the track 5 via a base unit. Figure 2b is a side view showing the way in which the main unit 1 connects to the base unit 65 which is directly connected to the track 5. As shown, the main unit 1 and the base unit 65 are arranged so that the main unit 1 can be easily lifted off the base unit 65 and transported to, for example, another room where the personal computer 15 is located. An appropriate electrical connector (not shown) is provided on the main unit 1 and the base unit 65 for providing the appropriate electrical connections from the main unit 1 through to the track 5 via the base unit 65.
Figure 3a is a functional block diagram illustrating the principal components of the main unit 1 used in this embodiment. As shown, the main unit 1 includes a microprocessor 101 whose operation is controlled by software stored in non-volatile memory 103. The main
unit 1 also includes two hand controller interfaces 105-1 and 105-2 to which the respective hand controllers 7-1 and 7-2 connect. The main unit 1 also includes two slot drive circuits 107-1 and 107-2 which are controlled by the microprocessor 101 to apply the appropriate electrical current to the respective slots 11-1 and 11-2 on the track 5. As shown, the drive circuits 107 output their drive signals to a base unit interface 109 which connects the main unit 1 to the base unit 65 shown in Figure 2b. The slot drive circuits 107 also monitor the electrical current applied to the track 5 and the back EMF generated by the motors in the slot cars 3 and pass this data back to the microprocessor 101 as telemetry data during a race.
Figure 3a also shows the user input buttons 53 and the LCD display 51. The microprocessor 101 is connected to the display 51 via a databus 111 and a display driver 113. The microprocessor 101 also uses the data bus 111 to access the memory 103, a PC interface 115, an accessory unit interface 117 and three slave unit interfaces 119-1, 119-2 and 119-3. The PC interface 115 (such as a USB interface) provides the interface for connecting the main unit 1 to the personal computer 15. The accessory unit interface 117 allows an accessory
module (not shown) to be connected to the main unit 1. For example, an accessory module may be provided for controlling a gantry of lights provided at the start/finish line on the track 5 which can be controlled by the microprocessor 101 in accordance with a current racing mode that has been set or in accordance with a current race in progress.
The slave unit interfaces 119 are provided to allow upto three slave units to be connected to the main unit 1, with each slave unit being able to control an additional two slots. In this way, the track layout can be expanded to have up to eight slots being controlled at any one time, thereby allowing up to eight slot cars 3 to be raced at any one time. As will be described in more detail below, the slave units communicate with the microprocessor 101 via the slave unit interfaces 119 and the databus 111 and also transmit their slot drive signals to the base unit 65 via the base unit interface 109.
Finally, as shown in Figure 3a, the main unit 1 includes a loudspeaker 121 which is controlled by the microprocessor 101 via a loudspeaker driver 123. This allows the microprocessor 101 to be able to output sounds
to the user before, during and after a race. For example, the microprocessor 101 may output a beep sound via the loudspeaker 121 in order to signify to the users the start and/or the end of the race.
As discussed above, the microprocessor 101 operates to control the operation of the main unit in accordance with software initially stored in the memory 103 and downloaded and run in the microprocessor 101. Figure 3b is a block diagram illustrating the main software modules used, in this embodiment, to control the microprocessor 101. As shown, the software modules include:
1) a user interface control module 131 which controls the interaction with the user via the display 51, the user buttons 53 and the loudspeaker 121;
2) a telemetry control module 133 which operates to control the recording of the telemetry data and the subsequent use of the stored telemetry data to control the automatic driving of a slot car around the track 5;
3) a function control module 135 which controls the functional mode of operation of the main unit 1 for different race scenarios ; 4) a slave monitor module 137 which is operable to
monitor any slave units connected to the main unit 1 via the slave unit interfaces 119;
5) a slot drive control module 139 which is operable to generate the appropriate drive control signals that are output and applied to the slot drive circuits 107;
6) two hand controller (H/C) control modules 141-1 and 141-2 which operate to receive the respective signals from the hand controller interfaces 105 and from them to determine the present hand controller throttle 9 position and hence the appropriate control signals to be passed to the slot drive control module 139; and
7) a communications control module 143 which is used to control communications between the microprocessor 101 and the memory 103, the slave units, the accessory unit and the personal computer 15.
In this embodiment, the main unit has two modes of operation: stand-alone and PC-connected. The stand-alone mode is when the main unit 1 is not connected to the personal computer 15 during racing and in this mode internet racing is not supported (unless an appropriate communications accessory is provided and connected to the accessory interface 117) . In PC-connected mode, full
internet and virtual simulation modes are supported and the PC 15 can control the operating mode of the main unit 1.
Stand-Alone Mode
The main unit 1 enters the stand-alone mode when it is not connected to the personal computer 15. If the main unit 1 has not been programmed by the personal computer 15 or the user, then factory settings are used. When the main unit 1 is connected to the base unit 65, it enters a pre-race state and an appropriate race screen is displayed to the user on the display 51. In this pre- race state, the user can either access a setup screen by pressing the edit button 53-3 or they can start a race by pressing the start button 53-4. Pressing the edit button 53-3 once on the pre-race screen enters the edit mode. The left and right keys 53-1 and 53-2 can then be used to select a race attribute or a slot attribute that is to be changed. Pressing edit for a second time, allows the particular attribute to be changed, again using the left and right keys 53-1 and 53-2 to select the available values . The values can then be saved by pressing the set/stop key 53-5.
When the user presses the start button 53-5 in the pre-
race state, the main unit 1 will enter a race state in which the main unit 1 will count down the start of the race and output an appropriate signal (e.g. via the loudspeaker 121) to indicate the start of the race to the user(s) . During the race, the display 51 will display the current racing mode and other relevant race data and the main unit 1 will operate in accordance with the currently programmed racing mode.
At the end of the race, the main unit 1 will enter a finish state in which it will output a signal to the users (e.g. via the loudspeaker 121) indicating the end of the race. The main unit 1 will also display the positions and names of the users to identify the winner. The main unit 1 remains in this state until the user presses the set/stop button 53-5 at which point the main unit returns to the pre-race mode.
Additionally, at any time during a race, the race can be stopped by pressing the set/stop button 53-5 and the whole main unit 1 can be reset to the factory settings by pressing the left and right buttons 53-1 and 53-2 and the start button 53-4 together.
PC-Connected Mode
The main unit 1 enters this mode as soon as it is connected to the personal computer 15. In this mode, the display 51 indicates that it is connected and communicating with the personal computer 15. In this embodiment, when in the PC-connected mode, the operation of the main unit 1 is controlled by the PC 15. Additionally, in this mode, the user can start and stop a race either by pressing an appropriate key on their PC 15 or the appropriate button'53* on the main unit 1. During a race, the main unit 1 will stream the appropriate hand controller data and any telemetry data generated from the track 5. At the end of the race, the main unit 1 will again output a signal to the user indicating the end of the race and the positions of the users in the race will be output to and displayed by the PC 15. The user can then return the PC and the main unit 1 to the pre-race state by pressing an appropriate key on the PC 15.
Again, in this PC-connected mode, the race can be stopped at any time by pressing the set/stop button 53-5 which will be signalled to the personal computer 15.
Similarly, the system can be reset by pressing the left and right buttons 53-1 and 53-2 together with the start button 53-4.
Racing Modes
As discussed above, in this embodiment, the main unit can be programmed into one of a number of different racing modes. A brief description of these different racing modes is given below.
1) Grand Prix - in which a plurality of users race slot cars 3 around the track 5 until they complete a fixed number of laps. In this mode, the LCD 51 displays the number of laps left in the race and as each user passes the start line, the position of the user in the race. The user can define the number of laps to be completed using the buttons 53 or, if connected, via the PC 15. 2) Endurance - in which users race slot cars 3 around the track 5 for a fixed user-defined period of time. The winner is the user who completes most laps or the same number of laps in the fastest time. In this mode, the display 51 displays the time left in the race and flashes the number of laps completed by each user when they pass the start line.
3) Rally - in which users take turns to race a slot car 3 to complete a user-defined fixed number of laps .. The winner is the user who completes the
fixed number of laps in the fastest time. In this mode, the display 51 displays the number of laps left together with the time since the user started the race. 4) Rally-stage - this is "raced on an open-ended circuit, in which each user races a slot car 3 from one point on the track 5 to another point and tries to do so in the fastest time. As with the rally racing mode, the users take turns to race the slot cars 3 between the two points. The results are based on the time taken by each of the users and there are, of course, no laps to record. In this mode, the display 51 displays the name of the current user together with the elapsed time since the user started.
5) Drag - in which the users race slot cars 3 from a fixed point on the track 5 and the first over the finish line wins. This race is typically carried out over a long straight track. In this mode, the display 51 will display a count-up clock indicating the overall time that has elapsed since the start of the race (which is stopped as soon as the user's slot car 3 crosses the finish line) .
6) Pursuit - in which the users slot cars 3 start together and race on the track 5 until one car
catches up and laps the other. In this mode, the display 51 displays the name of the user catching up and the time gap between the race leader and the or each other user. 7) Arcade - in this mode, users complete a user- defined fixed number of laps within a given "checkpoint" time period. The users then carry on to complete the same number of laps in a reduced time period. The race continues in this manner until the last user fails to make the required number of laps in the checkpoint period. This arcade mode is a continuous race and not a series of races . Hence, if a user completes a stage with e.g. two seconds spare, then they have two seconds extra time available for the next stage. In this mode, the display 51 displays the time left and the number of laps left to reach the next checkpoint.
8) Advanced Qualify - in which users record their fastest time to complete a lap. In this mode, the display 51 will display the current user's best lap time and the last lap time.
9) Virtual Race - in which the hand controller signals are not used to control current applied to the track 5 but instead are passed to the PC 15 for controlling a virtual race on the local PC 15
and/or on a remote terminal connected to the internet 19 or some other data network.
As discussed above, the current racing mode and its attributes can be defined by the user either via the PC 15 or using the buttons 53 on the main unit 1.
Hand Controller
Figure 4a is a circuit diagram illustrating the main components of each of the hand controllers 7 shown in Figure 1 and showing the corresponding hand controller interface 105 in the main unit 1. As shown, the hand controller interface 105 includes a resistor (Rx) 149 which is connected at one end to a supply voltage at 5 volts and at the other end to a terminal 151 which is connected into an analogue to digital converter (not shown) in the microprocessor 101 and to a first terminal 153 of the hand controller 7. As shown, the first terminal 153 in the hand controller 7 is connected to a variable resistor (R2) 155 whose value is controlled by the user controlled throttle 9. The other end of the variable resistor 155 is connected in series with two further resistors (R3) 157 and (R4) 159, with the other end of resistor R4 159 being connected to a second terminal 161 of the hand controller 7. As shown, the
second terminal 161 of the hand controller 7 is connected, in use, to ground in the hand controller interface 105. The hand controller 7 is therefore connected to the main unit 1 by only two wires and the set of resistors Rx to R4 are connected in a potentiometer arrangement so that the voltage VHC appearing between terminals 151 and ground within the hand controller interface 105 varies with the value of the variable resistor 155, which in turn varies with the position of the user controlled throttle 9.
Additionally, as shown in Figure 4a, the hand controller 7 also includes two user controlled switches 163 and 165 which, when pressed by the user, add resistors R3 and R4 respectively to the potentiometer. This change of resistance of the circuitry in the hand controller 7 results in a step change in the voltage VH/C input to the microprocessor 101.
Figure 4b is a plot illustrating the way in which the voltage VH/C input to the microprocessor 101 varies with varying throttle position between a minimum throttle position (θmin) and a maximum throttle position (θmax) , when the buttons 163 and 165 are and are not pressed. As shown, in this embodiment, the hand controller 7 is
designed to output four distinct voltage ranges, depending on the position of the throttle (defined by the value of the variable resistor R2) and the status of switches 163 and 165. In this embodiment, switches 163 and 165 are normally closed unless the switch is actuated by the user. Therefore, in this embodiment, when neither switch 163 and 165 is actuated, the input voltage (VH/C) will vary with throttle position in accordance with the characteristic labelled U_ defined by.
5^ V, FT/C JZ_ + κ_.
If the user actuates switch 163, then resistor R3 will be switched in series with resistor R2 and the input voltage
(NH/C) will vary with the throttle position (θ) in accordance with the plot labelled M2 defined by:
5(R_ + R3)
V H„1,rC. = (Rl + R_ + R3)
If the user actuates switch 165 and not 163, then resistor R4 will be switched in series with resistor R2 and the input voltage (VH/C) will vary with the throttle position (θ) in accordance with the plot labelled M3
defined by:
S(R_ + R4)
V H mIrC —
(R1 + R_ + R,)
If the user actuates both switches 163 and 165, then resistors R3 and R4 will be switched in series with resistor R2 and the input voltage (VH/C) will vary with the throttle position (θ) in accordance with the plot labelled M4 defined by:
5(R2 + R3 + R4)
' H/C
(R1 + R2 + R3 + R4;
In this embodiment, the value of resistor R_ is 18KΩ;
resistor R2 can vary between 0 and 5KΩ; the value of
resistor R3 is 8.2KΩ; and the value of resistor R4 is
18KΩ. These values of resistances have been chosen to ensure that there is a unique input voltage VH/C for any combination of throttle position and switch positions .
H/C Control Module
In this embodiment, each H/C control module 141 receives the input voltage VHC from the corresponding hand
controller 7. In particular, it receives a digitised value (representing the present value of the voltage VH/C) generated by the analogue to digital converter which outputs a new digitised value every 4 milliseconds. The H/C control module 141 then uses the present input voltage value NH/C to determine the present position (θ) of the corresponding throttle 9 and to determine the current status of the control buttons 163 and 165.
In a conventional slot car racing system, the determined position of the throttle 9 is used to control the amplitude of a DC current that is applied to the corresponding slot 11 of the track 5. In this embodiment, a uni-polar pulse-width modulated (PWM) signal is applied to the appropriate slot 11 on the track 5 and the determined position of the throttle 9 is used to vary the mark-to-space ratio (MSR) , and hence the DC component, of the PWM drive signal. In this embodiment, therefore, the H/C control module 141 uses the determined position of the throttle 9 to vary the mark-to-space ratio of the drive signal in accordance with a pre-stored and user definable function (f(θ)). In this embodiment, a linear function is used and is shown in Figure 5b. As shown, the present position (ΘH/C(i)) of the throttle 9
is linearly mapped through the function (f (θ) ) to the appropriate value of the mark-to-space ratio (i.e. MSR(i)) .
In this embodiment, the microprocessor 101 uses the determined status of the control buttons 163 and 165 to control additional functionality of the race. In particular, if the H/C control module 141 detects that the button 163 is being pressed, then the microprocessor 101 uses this detection to control a "pitstop" function during the race. Similarly, if the H/C control module 141 detects that the push button 165 is being pressed, then the microprocessor 101 uses this to control the braking of the slot car 3 on the track 5. Finally, if the H/C control module 141 detects that both push buttons 163 and 165 are being pressed, then the microprocessor uses this to control an extended pitstop function.
Therefore, in this embodiment, each of the H/C control modules 141 outputs a present mark to space ratio value (MSR) , a brake control signal (BRK) and a pitstop control signal (PIT) .
When racing slot cars 3 on the track 5, the MSR value (MSR) and the brake control signal (BRK) determined by
the H/C control module 141 are output to the slot drive control module 139 shown in Figure 3b and the pit stop control signal (PIT) is output to the function control module 135, which in this embodiment is arranged to control the monitoring of pit stops that the user must make during a race. In this embodiment, the MSR value, the brake control signal and the pit stop control signal are also output to the telemetry control module 133 which stores the data together with a time stamp in the memory 103 as part of the telemetry data for the race. However, when the signals from the hand controllers are being used to control a virtual race on the PC 15, the MSR, brake and pit stop control signals generated by the H/C control module 141 are not passed to the slot drive control module 139 but instead are streamed to the PC 15 to control the virtual race.
Slot Drive Control Module
As discussed above, users can directly control the speed at which the slot cars 3 race around the track 5 using the hand controllers 7. Alternatively, telemetry data generated during a race can be recorded and then played back to control the automatic driving of the slot cars 3 around the track 5. Similarly, telemetry data can be received from a remote location via the associated PC 15.
Therefore, in this embodiment, the slot drive control module 139 can receive MSR values and brake control signals either from the H/C control modules 141 or from the telemetry control module 133 or from the communications control module 143. The source from which the slot drive control module 139 will use this data is programmed in advance in dependence upon the race mode settings defined by the function control module 135, which in turn are set by the user via the PC 15 or the user input buttons 53.
Regardless of the source of the MSR and brake control values, the function of the slot drive control module 139 is to convert the received MSR value into a pulse-width modulated control signal (PWM) which is passed (together with the brake control signal (BRK) ) to the appropriate slot drive circuit 107 for controlling the electrical current applied to the corresponding slot 11 on the track 5. Figure 6 illustrates the form of the PWM control signal generated by the slot drive control module 139, with the pulse-width Wl and the space-width W2 being defined by the present value of MSR(i) . In this embodiment, the frequency of the PWM signal is fixed at 20kHz and the mark-to-space ratio can vary between 2% (when the slot car 3 is not to be driven along the slot
11) and 80% (when the slot car is to be driven at full speed along the slot 11) . A minimum MSR of 2% is used to allow slot car headlights to be powered from the track even when the user is not driving the slot car 3 along the slot 11.
The slot drive control module 139 can also receive control instructions from the function control module 135 which override the control of the PWM signal by the user's hand controller 7. For example, in one racing mode, each of the users may have to take a certain number of pit stops. As discussed above, the user identifies to the main unit 1 when a pit stop is being taken by stopping the slot car 3 and pressing the appropriate push-button(s) 163, 165. If the function control module 135 detects that the user has not taken the appropriate pit stops, then it can penalise the user by slowing the user's slot car 3 by overriding the MSR value input to the slot drive control module 139. In these circumstances, the slot drive control module 139 will generate the PWM control signal using the MSR value generated by the function control module 135.
Slot Drive Circuit Figure 7 is a circuit diagram illustrating the main
components of one of the slot drive circuits 107 used in this embodiment. The slot drive circuit 107 has the following three inputs which it receives from the microprocessor 101.
(1) A direction control signal (DIR_C) which can be set by the user, and is used to define the direction in which the slot cars 3 will be driven around the track 5. In this way, the main unit 1 can be adapted to the different standards employed in different countries. In particular, in the US, slot car racing systems are arranged to drive the slot cars 3 anticlockwise around the track 5, whereas in the UK and in Europe, the slot cars 3 are driven clockwise around the track 5.
(2) A braking control signal (BRK) which is used to control the braking of the slot car 3 on the track 5 in response to the user pressing the brake control button 165 on the hand controller 7. (3) The slot car speed control signal (PWM) which is used to control the speed of the slot car 3 on the track 5.
As those skilled in the art will appreciate, a similar slot drive circuit 107 is provided for controlling the
other slot car 3 racing on the track 5.
As shown in Figure 7, the slot drive circuit 107 includes a bipolar bridge 201 formed by the four MOSFETS M_ to M4 which connect to the slot 11 that it drives at the terminals labelled s+ and s-. The slot drive circuit 107 also includes a braking control circuit 203 which receives the BRK control signal and the PWM control signal from the microprocessor 101 and which operates to supply the PWM control signal either to MOSFET U_ or to MOSFET M2 of the bridge circuit 201. As shown, the braking control circuit 203 includes resistors R_ to R4, transistors T-. and T2 and two NOR gates 205 and 207. The PWM control signal is applied to the base of transistor T2 whose collector is at five volts and whose emitter is at zero volts. The collector of transistor T2 will therefore correspond to the inverse of the PWM control signal . As shown, the collector of transistor T2 is applied to one input of NOR gate 207 and the other input is the BRK control signal. Similarly, the BRK control signal is applied to the base of transistor T17 whose collector is also raised to the five volt supply terminal and whose emitter is at zero volts. The collector of transistor T_ will therefore be the inverse of the BRK control signal. As shown in Figure 7, the inputs to the
other NOR gate 205 will therefore be the inverse of the BRK signal and the inverse of the PWM signal.
Clockwise Racing - Normal Operation In this embodiment, when racing in a clockwise direction during normal operation (i.e. when the user is not braking) , the direction control signal (DIR_C) is set at a logic high and the brake control signal is set at logic low. Therefore, when not breaking, the PWM control signal input to the braking control circuit 203 will be output by NOR gate 207 and applied to the base of the n- channel MOSFET M2. Consequently, when the PWM control signal is at a logic high, MOSFET M2 will be turned on and terminal s- will be connected to ground through resistor R7.
The potential applied to slot terminal s+ depends on the logic level of the direction control signal (DIR_C) . When the user is not braking, the DIR_C control signal is at logic high . and therefore transistor T4 will be switched on which in turn switches off the n-channel MOSFET M4 by bringing its gate electrode to ground. Similarly, the gate of the p-channel MOSFET M3 will also be brought to ground (due to the switching on of transistor T4) which turns on MOSFET M3 causing a
potential of twelve volts to be applied to slot terminal s+. Therefore, when the PWM signal is at a logic high (i.e. is at five volts) a potential difference of twelve volts is applied to the corresponding slot 11 on the track 5 for driving the corresponding slot car 3 around the track 5.
When the PWM signal is at a logic low, the s+ terminal will still be connected to twelve volts as transistor T4 will still be switched on by the DIR_C control signal. However, MOSFET M2 will now be switched off resulting in terminal s- no longer being connected directly to ground through resistor R7. Instead, it is now connected to ground via the potential divider formed by resistors R10 and R1X. During the time that the PWM signal is at logic low, the DC motor (not shown) within the slot car 3 will generate a back EMF across the terminals s- and s+ until the PWM signal returns to a logic high. In this embodiment, the slot drive circuit 107 is arranged to sense or measure this back EMF using the potential divider formed by resistors R10 and R11. This is achieved by closing the switch 205 when the PWM signal is at logic low, so that the back EMF on the track charges up the capacitor C_ . As shown in Figure 7, the position of the switch 205 is controlled by the inverse of the PWM
signal. Therefore, when the PWM signal goes high, the switch 205 will open and the microprocessor 101 can then digitise the voltage (EMF) stored on capacitor C_ . In this embodiment, the microprocessor digitises the back EMF voltage on each slot once every 4 milliseconds. This back EMF signal that is measured forms part of the "telemetry data" recorded by the microprocessor 101 during the race and its use will be described later.
In this embodiment, the microprocessor 101 also records the electrical current that is applied to each of the slots 11 by the drive circuit 107. To detect this, a non-inverting amplifier 208 is provided which generates a voltage that is proportional to the electrical current that is applied to the slot 11. As shown in Figure 7, this voltage charges up the capacitor C2 when the switch 209 is closed. As shown, the position of the switch 209 is controlled by the PWM signal so that the switch 209 is closed when the PWM signal is at a logic high and open when it is at a logic low. In this embodiment, the microprocessor 101 digitises the voltage (I) stored on capacitor C2 once every millisecond. Again, this electrical current data is stored as part of the telemetry data for the race. The current is measured more frequently to make sure that the current break
detection (to be described later) is accurate.
Anticlockwise Racing - Normal Operation The operation of the slot drive circuit 107 when the cars are being driven anticlockwise is similar to the operation of the drive circuit 107 when the cars are being driven clockwise, except that when the user is not braking, the direction control signal (DIR_C) will be at logic low and the brake control signal (BRK) will be at logic high. As a result, transistor T4 will be switched off and twelve volts will be applied to the gates of MOSFETs M3 and M4. MOSFET M3 will therefore be switched off and MOSFET M4 will be switched on. Consequently, the s+ terminal of the bridge circuit 201 will be connected to ground through resistor R7.
On the other side of the bridge circuit 201, MOSFET M2 will be switched off when the user is not braking because the brake control signal (BRK) will be at logic high, which forces the output of the NOR gate 207 low. The speed control signal (PWM) is therefore applied through NOR gate 205 to the base of transistor T3. MOSFET M_ will therefore be switched on when the PWM signal is at a logic high and will be switched off when the PWM signal is at a logic low. Consequently, when the PWM control
signal is at a logic high, the s- terminal of the bridge circuit 201 will be connected to twelve volts, resulting in a potential difference of twelve volts being applied to the slot 11 on the track 5. Since the polarity of the potential difference applied to the slot 11 is opposite to that applied when racing clockwise, the slot cars 3 are driven in the opposite direction (i.e. anticlockwise) around the track 5.
When the PWM control signal is at logic low, MOSFET M_ will be switched off and the s- terminal will be connected to ground through the potential divider formed by resistors R10 and R__ . The back EMF generated by the motor in the slot car 3 will therefore appear across terminals s- and s+ as before, which is measured using the potential divider formed by resistors R10 and R__ and the charging capacitor Cl. Additionally, as in the clockwise case, when the PWM control signal is at logic high, the current applied to the slot 11 is measured using the non-inverting amplifier 208 and the charging capacitor C2.
Braking
As discussed above, in this embodiment, the hand controllers 7 include a braking button 165 which the user
can press to cause the car to brake. There are two conventional techniques to achieve this braking. One is to remove the power applied to the slot 11 and the other is to short circuit the slot 11 to thereby short circuit the motor in the slot car 3. In this embodiment, a new braking technique is used when the user presses the braking button 165, in which a reverse current is applied to the slot 11 in order to slow down the slot car 3 more quickly. This is achieved using the brake control signal (BRK) and the direction control signal (DIR_C) discussed above .
In particular, in this embodiment, when the user presses the brake button 165 on the hand controller 7, the microprocessor 101 inverts the brake control signal (BRK) and the direction control signal (DIR_C) . If the racing direction is clockwise, then the brake control signal will be inverted to a logic high and the direction control signal will be inverted to a logic low, whereas if the racing direction is anti-clockwise, then the brake control signal (BRK) will be inverted to a logic low and the direction control signal (DIR_C) will be inverted to a logic high. As a result, when the user presses the brake button 165, the polarity of the voltage applied to the slot 11 is inverted, thereby causing the slot car 3
to slow down more quickly. In order to ensure that the slot car 3 is not stopped and then driven in the reverse direction around the track 5, the microprocessor 101 uses the monitored back EMF of the slot car (which is proportional to the speed of the slot car) to determine when the slot car 3 comes to rest. Once the slot car has come to rest, the microprocessor 101 disables the application of the PWM signal to the drive circuit 107 until the user releases the brake button 165 on the hand controller 7. At this point, the brake control signal and the direction control signal are reset to their original logic levels .
The inventors have found that by applying such an inverse current to the slot 11 during braking, the slot car 3 can be made to come to rest more quickly than with using the conventional braking techniques discussed above.
Telemetry Control Module As discussed above, in this embodiment, the telemetry control module 133 records telemetry data for the slot cars 3 as they are raced around the track 5. The amount of telemetry data that is recorded and stored within the main unit 1 is user-defined and in any event is limited by the size of the memory 103. In this embodiment, the
main unit 1 is programmed so that it records the telemetry data from both slot cars 3 during the whole of a race. At the beginning of the next race, the memory 103 is cleared and the telemetry data for the next race is recorded. Alternatively, the main unit 1 can be programmed (by the user) so that the telemetry data for the best lap is stored and only overwritten if the user beats the current best lap time. In order to detect when each slot car 3 passes the start/finish line, an opto- electric detector (not shown) is provided at the start line having a light source and a light detector positioned on either side of the slot 11 so that as the slot car 3 passes by the start line, the guide blade on the slot car 3 (which is received in the slot 11) breaks the light beam, thereby allowing the microprocessor 101 to detect when the slot car 3 passes the start line. The microprocessor 101 then uses an internal timer to record the time that each slot car takes to complete one lap. In this embodiment, the drive current for powering the opto-electric detector is provided by the corresponding slot drive circuit 107.
Figure 8a illustrates in more detail the main components of the telemetry control module 133 used in this embodiment when recording telemetry data during a race.
As shown, the telemetry control module 133 includes two telemetry data gathering units 251-1 and 251-2 which operate to gather the telemetry data from the respective slots 11-1 and 11-2. As shown, in this embodiment, the telemetry data includes: the present value of the brake control signal (BRK) ; the latest measure (I) of the electrical current applied to the slot, measured when the PWM signal is at a logic high; the back EMF voltage (EMF) of the slot car motor, measured when the PWM signal is at a logic low; the latest value of the mark-to-space ratio
(MSR) control signal; and the latest value of the lap detector signal (LAP) . In this embodiment, each of the telemetry data gathering units 251 time-stamps the present values of the telemetry data using a time-stamp generated by a timer 253 and stores the time-stamped telemetry data in the memory 103. Each of the telemetry data gathering units 251 also receives, at the beginning of the race, race settings data from the function control module 135, which it also stores in the memory 103 together with the telemetry data for the race.
As discussed above, there are various uses for the telemetry data. For example, the telemetry data may be uploaded to the personal computer 15 and then analysed by the user in order to try to find patterns for how they
approach each part of the track 5, in order that they can try to improve their racing technique. In this case, the telemetry data from a number of races may be stored within the PC 15 so that the user can also analyse the telemetry data from previous races to determine if they are improving etc .
Alternatively, the recorded telemetry data may be used to automatically drive the slot cars 3 on the track 5 in order to create, in effect, a replay of the race. Figure 8b illustrates the main components of the telemetry control module 133 used to control this playback of the telemetry data. As shown, the telemetry control module 133 includes two automatic drive controllers 255-1 and 255-2, each of which operates, when triggered by the timer 253, to retrieve the next telemetry data (defined by the telemetry data time-stamp) for the appropriate slot 11 from memory 103 , and to generate from them the appropriate MSR and brake control signals for output to the slot drive circuit 107. At the beginning of the replay, the automatic drive controllers 255 also retrieve the race settings for the corresponding telemetry data which they output to the function control module 135 for controlling the replay of the race.
In theory, the only telemetry data that the automatic drive controllers 255 need in this embodiment in order to replay the race is the MSR and the BRK control signals that were generated by the H/C control module 141 during the race. However, in this embodiment, each of the automatic drive controllers 255 also receive feedback signals (in the form of the real time track telemetry data for the replaying race) which it compares with the stored track telemetry data and based on any error, changes the MSR control signal. In this embodiment, the automatic drive controllers 255 employ conventional feedback controller techniques to achieve this control and therefore, these will not be described further here.
As those skilled in the art will appreciate, the ability to automatically drive the slot cars 3 around the track 5 in accordance with stored telemetry data greatly enhances the functionality of the slot car racing system. In particular, users can replay a race (or part of a race) in order to replay the event on the track. Additionally, by using the stored telemetry data from only one of the slots, the user can race another slot car 3 in the other slot 11. For example, if the telemetry data is recorded for the best lap time, then the user can race against a slot car 3 driven by the best lap time telemetry data, in
order to try to better their (or someone else's) best lap time. The user can, therefore, play with the slot car racing system on their own and still enjoy a two slot car race - by controlling one slot car 3 with the stored telemetry data and by controlling the other slot car 3 with the hand controller 7 in the usual way. In contrast, with conventional slot car racing systems, at least two players are required in order to have a race.
As discussed above, the telemetry control module 133 can also receive telemetry data from a remote unit 17. This remote telemetry data may be received as a file or it may be received as streamed telemetry data for the real time driving of a slot car 3 on the track 5. In this embodiment, before the remote telemetry data is used in a race to control a slot car 3, it is first calibrated to the local track 5 and the local slot car 3. In particular, since the remote slot car 20 and track 21 will have different characteristics to those of the local slot car 3 and track 5, the telemetry control module 133 must adjust the telemetry data to compensate for this. For example, if the remote slot car 20 and track 21 are relatively new compared with the local slot car 3 and track 5, then the received telemetry data will not be able to drive the local slot car 3 around the local track
5 at the same speed and performance. Therefore, in this embodiment, the received telemetry data is initially used to make the local slot car 3 complete several laps on the local track 5. The lap times obtained from these calibration laps are then used to identify the way in which the telemetry data should be changed so that the local slot car 3 is driven around the track 5 with the same lap times as on the remote track 21. This process is iterated until an appropriate model or function is found that relates the received telemetry data to the telemetry data that should be used to control the local slot car 3 on the local track 5.
After this calibration stage has been completed, the subsequently received telemetry data can then be converted by the appropriate slot automatic drive controller 255 into the appropriate driving signals for driving the local slot car 3 around the track 5.
Provided the layout of the remote track 21 corresponds to the layout of the local track 5, the above calibration routine allows the telemetry control module 133 in the main unit 1 to be able to adapt the telemetry data received from the remote unit 17 for the local slot car 3 and track 5. Therefore, it is also possible for the local user to race against a remote user on their track
5.
Slave Units
As discussed above, the main unit 1 can receive hand control signals from two hand controllers 7 and can drive slot cars 3 around two slots 11 on the track 5. In this embodiment, the main unit 1 is designed to be expandable to accept up to three "slave" units, each of which can control an additional two slots 11. Therefore, with three slave units connected to the main unit 1, up to eight slot cars 3 can be simultaneously raced on eight separate slots 11 on the track 5. Figure 9 is a block diagram illustrating the main components of a first one of the slave units 299. This slave unit is connected to the first of the slave unit interfaces 119-1 of the main unit and as such is arranged to control slot cars 3 on slot numbers three and four of the track 5.
As shown in Figure 9, the slave unit 299 includes a slave unit microprocessor 301 whose operation is controlled by software stored in the non-volatile memory 303. The slave unit 299 also includes two hand controller interfaces 305-1 and 305-2 into which respective hand controllers 7 connect. The slave unit 299 also includes two slot drive circuits 307-1 and 307-2 which are
controlled by the microprocessor 301 to apply the appropriate electrical current to the third and fourth slots on the track 5 via the main unit 1. As shown, the drive circuits 307 output their drive signals to a main unit interface 309. The main unit interface 309 is arranged to interface with the slave unit interface 119 shown in Figure 3a, so that the signals from the slot drive circuits 307 are passed directly to the appropriate terminals of the base unit interface 109 for connecting to the third and fourth slots 11 on the track 5. The main unit interface 309 is also operable to receive the lap counter signals (LAP3 and LAP4) for the third and fourth slots back from the base unit interface 109 via the slave unit interface 119 which it passes to the slave unit microprocessor 301.
The slave unit 299 also includes a data bus 311 which the slave unit microprocessor 301 uses to access the memory 303. The data bus 311 is also connected to the data bus 111 in the main unit 1 so that the slave unit microprocessor 301 can communicate with the main unit microprocessor 101 and the PC 15 via the main unit interface 309 and the slave unit interface 119. As will be described in more detail below, in order to control the timing of communications transmitted by the slave
unit microprocessor 301, the main unit microprocessor 101 also passes three synchronisation signals to the slave unit microprocessor 301 via the slave unit interface 119 and the main unit interface 309. One of the synchronisation signals (CLK) is used internally within the data bus 311 while the other two (jointly labelled SYNC) are used to synchronise data transmission times on the data bus. The main unit interface 309 also receives a slot ID (ID) from the slave unit interface 119 which it passes to the slave unit microprocessor 301. This slot ID is used by the microprocessor 301 to identify messages on the data bus 311 that are addressed to that slave unit 299 and to identify it as the source of messages transmitted back to the main unit microprocessor 101 or to the PC 15.
The slave unit 299 also uses one of the SYNC signals received from the main unit 1 to synchronise the lap counter timers and the timers used to time-stamp the received telemetry data during a race. The lap times and the time-stamped telemetry data generated by each of the slave units 299 will therefore be accurately time- synchronised with those of the main unit 1. This accurate time synchronisation is important to be able to provide a realistic simulation of the race and to be able
to identify the winner of the race when more than two slot cars 3 are being raced.
Finally, the main unit interface 309 also receives a zero volt level and a five volt level generated by a power circuit (not shown) in the main unit 1. These voltage levels are used by the slave unit microprocessor 301 to define the logic low and logic high levels used when transmitting data on the data bus 311. Since all of the slave units 299 will receive the same voltage levels, this ensures that the same voltage levels are used for the data communications.
Although not shown in Figure 9, the slave unit 299 will also receive power from an AC to DC converter (not shown) which provides the power for the slave unit 299 and the twelve volt power rail required by the slot drive circuits 307. However, this local power source does not provide the logic level voltages used by the slave unit 299 for data communications on the data bus 311, which, as discussed above, are provided by the main unit 1.
In this embodiment, each of the slave units 299 is identical to the one shown in Figure 9. Further, as will be apparent from the above description, the slave units
299 are also almost identical to the main unit 1 except that they do not have the display 51, the PC interface 115 or the user input buttons 53. As for the control software used by the slave units 299, this is again similar to the software used by the main unit 1 except the slave units do not require a user interface control module 131 or a slave monitor module 137. In this embodiment, since the slave units 299 do not have user interfaces, the main unit microprocessor 101 is arranged to transmit configuration data for the currently defined racing mode to each of the slave units 299 via the data bus 111, 311. This configuration data is used by the function control module in the slave unit 299 to control the race on the third and fourth slots 11 as before.
Accessory Unit
As discussed above, the main unit 1 also has an accessory unit interface 117 for allowing an accessory device to be connected to the main unit . Various different types of accessories can be used. For example, a gantry of lights may be provided at the start/finish line which can be connected to the main unit 1 via the accessory unit interface 117. Instead of such a gantry, a communications accessory may be connected to the accessory unit interface 117 which allows the main unit 1
to directly connect to a data network (such as a LAN or the internet) without having to connect via the PC 15. Such a communications accessory module allows users that do not have personal computers to be able to connect to a data network and therefore be able to transmit telemetry data to and receive telemetry data from remote users. Like the slave units 299, the accessory units will include a microprocessor and a bus and will communicate with the microprocessor 101 in the main unit 1 via the data bus 111. The accessory unit will also receive a slot ID and clock and SYNC signals to control the communications .
Base Unit Interface As discussed above, the base unit interface 109 receives drive signals from the slot drive circuits 107 in the main unit 1 and the slot drive circuits 307 in each of the slave units 299. Figure 10 schematically illustrates the principal connections of the base unit interface 109 forming part of the main unit shown in Figure 3a. The terminals 321 on the left hand side are input terminals for signals to be applied to the track 5 and the terminals 323 on the right hand side are output terminals for the signals received back from the track 5. As shown, in this embodiment the base unit interface 109
includes input terminals 321 for the slot drive signals si± (i = 1 to 8) for each of the possible eight slots 11 and for the lap counter drive signals (LAP12_DRV, LAP34_DRV, LAP56_DRN -and LAP78_DRV) ; and output terminals 323 for the LAP counter signal for each slot 11.
The LAPl and LAP2 counter signals are passed to the main unit microprocessor 101; the LAP3 and LAP4 counter signals are passed to the slave unit 299 attached to the first slave unit interface 119-1; the LAP5 and LAP6 counter signals are passed to the slave unit 299 attached to the second slave unit interface 119-2; and the LAP7 and LAP8 counter signals are passed to the third slave unit 299 attached to the third slave unit interface 119- 3. As discussed above, the microprocessors 101, 301 use these LAP counter signals to identify when the respective slot cars 3 complete a lap, which they use to control the operating mode of the main/slave units during the race.
Connector Track
As discussed above, in this embodiment, the track 5 can be arranged to include up to eight slots driven by the base unit 65. With a conventional slot car racing system, only two slots are provided on the track 5. In order to make this new slot car racing system compatible
with existing track, a new connector track segment has been designed that allows the base unit 65 to connect in a daisy-chain fashion to four two-lane tracks 5.
Figure 11a schematically illustrates the form of one of the four connector track segments 351-i that is used, in this embodiment, to connect the four two-slot tracks 5 to the base unit 65. In this embodiment, each of the four connector track segments 351 are identical to facilitate the connection of the connector track segments 351 to the track 5 and the base unit 65. As shown in Figure 11a, each of the connector track segments 351-i includes first and second connectors 353-ia and 353-ib, which are provided on opposite sides of the connector track segment 351-i. The first connector 353-ia includes eight sets of terminals labelled al to a8 and the second connector 353-ib includes eight sets of terminals labelled bl to b8. Each of the sets of terminals include terminals for the drive signals for a slot, terminals for the drive signals for the lap counter associated with this slot and a terminal and for the lap counter signal for this slot.
As represented by the dashed lines 357-ix and 357-i2, sets of terminals al and a2 are connected underneath the surface of the track 351, to slots 11-i-l and ll-i-2
respectively. Similarly, as represented by dashed arrows 357-i3 to 357-ia, the sets of terminals a3 to a8 of the first connector 353-ia are connected underneath the surface of the track 351, to the sets of terminals bl to b6 of the second connector 353-ib. The sets of terminals b7 and b8 are left unconnected.
In this embodiment, the two connectors 353-ia and 353-ib are complementary so that the first connector 353-ia of one connector track segment 351-i can connect to the second connector 353-jb of another connector track segment 351-j or to a similar connector of the base unit 65. Figure lib illustrates the way in which the four connector track segments 351-1 to 351-4 are connected together and connected to a connector 355 of the base unit 65. As shown in Figure lib, the base unit connector 355 also includes eight sets of terminals labelled SI to S8 which connect to the appropriate input terminals 321 and output terminals 323 of the base unit interface 109. As shown in Figure lib, the sets of terminals SI to S8 are for connecting to the respective sets of terminals al to a8 of the first connector track segment 351-1. As a result of the connections (represented by the dashed lines 357 shown in Figure 11a) between the sets of terminals in the first connector 353-i, and those in the
second connector 353-ib of each of the connector track segments 351:
1) sets of terminals SI and S2 of the base unit 65 are connected to slots 11-1-1 and 11-1-2 respectively;
2) sets of terminals S3 and S4 of the base unit 65 are connected to slots 11-2-1 and 11-2-2 respectively;
3) sets of terminals S5 and S6 of the base unit 65 are connected to slots 11-3-1 and 11-3-2 respectively; and
4) sets of terminals S7 and S8 of the base unit 65 are connected to slots 11-4-1 and 11-4-2 respectively.
Therefore, as those skilled in the art will appreciate, by using the common connector track segment 351, it is possible to daisy-chain the four two-slot tracks 351 to a common base unit 65. This is in contrast to existing slot car racing systems in which separate base units are required for each two-slot track.
Data Communications
As discussed above, the main unit microprocessor 101 can transmit data to and receive data from each of the slave units 299 and the auxiliary unit over the data bus 111, 311. The master unit 1, the slave units 299 and any
accessory unit can also communicate with an attached PC 15 via the data bus 111 and the PC interface 115. In the following description, the data communications between the main unit microprocessor 101, the slave unit microprocessors 301 and any accessory microprocessor will be referred to as internal communications, whereas communications with the PC 15 will be referred to as external communications. In this embodiment, the data bus 111, 311 effectively has two separate data buses, one for internal communications and the other for external communications with the PC 15. Further, in this embodiment both internal and external communications by any of the microprocessors is controlled by the main unit microprocessor 101 using the above mentioned synchronisation signals (SYNC) .
In this embodiment, there are five situations that involve internal communications on the data bus 111, 113:
1) communications from the main unit microprocessor
101 to one or more of the slave/accessory unit microprocessors 301;
2) communications from each slave unit microprocessor
301 or the accessory microprocessor back to the main unit microprocessor 101;
3) communications from the main unit microprocessor 101 to the main unit memory 103;
4) communications from the main unit microprocessor 101 to control the liquid crystal display 51; and 5) communications from each slave unit microprocessor 301 or the accessory unit microprocessor to the associated slave/accessory memory 303.
In this embodiment, access to the data bus 111, 311 is controlled by time divisional multiplexing techniques in which each microprocessor is provided with a fixed time slot to transmit data either internally to the main unit microprocessor 101 or externally to the PC 15. In this embodiment, each microprocessor is allocated a 100 ms time slot which repeats every 500 ms. The arrangement of the time slots used in this embodiment is shown in Figure 12. As shown, a first time slot (labelled M) is provided for the main unit microprocessor 101 to transmit data on the data bus 111. A separate time slot (labelled S_ to S3) is then provided for each of the three possible slave unit microprocessors 301. Finally, a time slot (labelled A) is provided for the accessory microprocessor to transmit data on the data bus 111. As shown in Figure 12, the sequence of time slots then repeats. The timing of the time slots is controlled by one of the SYNC
control signals mentioned above and the data is synchronised within the time slot by the other SYNC control signal provided by the main unit microprocessor 101. During the initial setup stage, when a slave unit 299 (or an accessory unit) is connected to the main unit 1, the slot ID is used to define which time slot has been allocated for it to communicate on the data bus 111. In this way, each of the microprocessors can transmit data on the common data bus 111, 311 without interference.
As those skilled in the art will appreciate, during a normal rest mode, the data that needs to be transmitted between the microprocessors is fairly limited. However, if telemetry data is being recorded by each microprocessor and being streamed to the PC (for onward transmission to a remote user) , then a significant amount of data will need to be transmitted over the common data bus 111 to the PC 15. With the predetermined fixed slots discussed above, this can be achieved with minimal complexity to the microprocessors. In particular, since each microprocessor has a dedicated time slot in which it can transmit data onto the common data bus 111, and this time slot is controlled by the main unit microprocessor 101, there is no need to provide sophisticated bus controller hardware in each of the slave units or in the
accessory unit. As those skilled in the art will appreciate, this allows the slave units 299 and the accessory units to be made using relatively inexpensive microprocessors .
Personal Computer
As discussed above, the main unit 1 includes a PC interface 115 for connecting the main unit 1 to a personal computer 15. This allows hand controller and/or telemetry data gathered by the main unit 1 (and any of the slave units 299) to be passed to the personal computer 15 and used to create a virtual simulation of a real race or to control a virtual race on the display of the personal computer 15. Further, since the personal computer 15 includes internet access, the connection to the personal computer 15 also allows the telemetry data to be transmitted to a remote user, either for remote simulation or for automatically controlling the driving of slot cars 20 on a remote track 21. Similarly, telemetry data transmitted from a remote location can be received by the personal computer 15 and used either to generate a local virtual simulation on the display of the personal computer 15 or to drive the appropriate slot cars 3 around the local track 5.
Figure 13 schematically illustrates the main components of the personal computer 15 used in this embodiment. As shown, the personal computer 15 includes an interface and pre-processing module 401 for connecting to the PC interface 115 of the main unit 1. The interface and preprocessing module 401 also processes the received telemetry data to determine the position of the slot car 3 on the track 5 using the telemetry data and dead reckoning techniques. The interface and pre-processing module 401 passes the determined position data and any hand controller/telemetry data to application logic 403 which can:
1) use the position data to drive a virtual simulation of the real race;
2) store the position and the telemetry data in a race data file for subsequent analysis by the user;
3) output the position and/or the telemetry data for transmission to a remote user; or 4) use the hand controller data to control a virtual race.
As shown in Figure 13, the application logic 403 is therefore connected to a user interface 405 which generates and displays the virtual simulation/race or
which displays the race analysis data to the user; and to an internet interface 407 which makes the connection to the remote user over the internet 19.
A more detailed description of the interface and preprocessor module 401, the application logic 403 and the user interface 405 will now be given.
Interface and Pre-processor Figure 14 is a block diagram illustrating the main components of the interface and pre-processor module 401 shown in Figure 13. As shown, the interface and preprocessor module 401 includes a communications control module 415 for controlling communications with the main unit 1; an application logic interface 417 for providing the interface with the application logic 403; a position processor 419; and a main unit co-processor 421. The position processor 419 receives the telemetry data from the communications control module 415 and uses it together with pre-stored data that it has on the layout of the track 5 to calculate the current position of the or each slot car 3. The position processor 419 then passes this position information to the application logic interface 417 for onward transmission to the application logic 403. The position processor 419 also passes the
determined position information to the main unit coprocessor 421.
Co-processor In this embodiment, the main unit co-processor 421 is provided in order to take advantage of the processing power of the personal computer 15 and to remove some of the processing burden on the microprocessors used in the main unit 1 and the slave units 299. Again, this allows reduced specification microprocessors to be used in the main unit 1 and the slave units 299, thereby reducing the cost of these units .
Various different functions can be performed by the main unit co-processor 421, with the results being transmitted back to the main unit 1 or the slave unit 299 as appropriate. For example, as discussed above, the users can press buttons on their hand controllers 7 to emulate pit stops that are required under the rules of the race. The co-processor 421 may be arranged to monitor for these pit stops and, if they are not taken, to output control signals back to the main unit 1 and/or slave units 299 in order to limit the speed or to stop the slot car 3 that has not taken the necessary pit stops. Similarly, the co-processor 421 can be configured by the user so that
one or more of the slots 11 has a speed limit. In this case, the co-processor 421 monitors the telemetry data for the selected slot and transmits speed control signals back to the appropriate microprocessor 101, 301 when the user reaches the maximum speed, to ensure that the speed of the slot car 3 is not increased further. This is useful for younger children and novices who are unable to control the speed of the slot cars 3 on the track 5 to prevent the slot cars 3 leaving the track 5. As a result, the new slot car racing system is more appealing to users of all ages and experience.
As those skilled in the art will appreciate, the above examples of operations by the co-processor 421 are given by way of example only. Various other uses of the coprocessor 421 will be apparent to those skilled in the art.
Position Processor Figure 15 is a block diagram illustrating the main components of the position processor 419 shown in Figure 14. These components are for calculating the position of one slot car from the corresponding telemetry data. Similar components will be provided for calculating the position of the other slot cars from the respective
telemetry data. Alternatively, the modules shown in Figure 15 may process the telemetry data for all slot cars in a time division multiplex manner.
As shown in Figure 15, the position processor 419 receives the latest telemetry data for a slot 11 from the communications control module 415. This data includes the latest current value (I) indicative of the electrical current applied to the slot 11, the latest back EMF measured on the slot 11, the latest lap counter signal (LAP) and the latest mark-to-space ratio (MSR) value. In this embodiment, the position processor 419 uses dead reckoning techniques to determine the position of the slot car 3 on the track 5. It does this by integrating a measure of the velocity of the slot car which is determined from the back EMF telemetry data.
In addition, the electrical current telemetry data also provides a measure of speed. This is because, a number of current breaks are provided on one or both of the rails of each slot 11. One of these current breaks is illustrated in Figure 16. In particular, Figure 16 illustrates the two rails 11-a and 11-b of a slot 11 and on rail 11-a two non-conductive strips 451-1 and 451-2 whose lengths and separation are known. Figure 16 also
illustrates the form of the measured current (I) that is applied to the slot 11 as the slot car 3 passes over the current breaks formed by the non-conductive strips 451-1 and 451-2. As shown in Figure 16, the measured current drops to zero when the slot car 3 passes over each strip 451. As the lengths of the strips 451 are known and the times taken (tx,t3) for the slot car to pass over the strips can be determined from the measured current signal (I) , the position processor 119 can determine an accurate estimate of the velocity of the slot car 3. In this embodiment, the non-conductive strips 451 are placed on the slot 11 in pairs, with the spacing between each strip 451 in the pair being unique. As a result, when the slot car 3 passes over a pair of non-conductive strips 451, the position processor 419 can not only determine an accurate measurement of the velocity of the slot car 3 but it can also determine the position of the slot car 3 on the track 5. As will be described in more detail below, since the current breaks are only positioned at limited places around the track 5, the accurate position information that is determined from them (and from the lap counter signal) is only used to correct a dead reckoning position estimate determined from the back EMF signal .
Returning to Figure 15, a more detailed description of the main components the position processor 419 will now be described. As shown in Figure 15, the electrical current telemetry data (I) is input to a current break determining module 501 which monitors the profile of the electrical current signal (I) to detect when the slot car 3 passes over a current break 451. When the current break determining module 501 detects the profile shown in Figure 16, it measures the values of tl and t3 which it passes to a velocity determining module 503. The velocity determining module 503 then uses the known lengths of the non-conductive strips 451 and the times t_ and t3 to determine the speed of the slot car 3 (speed = distance x time) . The velocity determining module 503 outputs the determined speed to a current break position determining module 505 which also receives the value of time t2, which is also measured by the current break determining module 501. The current break position determining module 505 then uses the current speed and the time period t2 to determine the spacing between the two non-conductive strips 451-1 and 451-2. This distance identifies the current break (and its location) that the slot car 3 has just passed (which is defined in the track data 507) .
As there are a limited number of current breaks positioned around the track 5, the position information determined from the electrical current (I) cannot be used to provide a continuous measure of the position of the slot car 3 around the entire track 5. Instead, as discussed above, the back EMF telemetry data is used to provide a continuous estimate of the velocity of the slot car 3 which is then integrated using dead reckoning techniques, to provide a continuous estimate of the position of the slot car 3. This is achieved using the velocity estimating module 511 and the dead reckoning position determining module 513. In this embodiment, the velocity estimating module 511 estimates the velocity using a stored function (g(EMF)) which is determined for each slot car 3 in advance from the telemetry data obtained during one or more calibration laps . In particular, this function is found by determining the function which minimises the error between the accurate position information determined from the lap counter signal (LAP) and from the current break position determining module 505 and the dead reckoned position estimates derived using the function and the back EMF measurements . As shown in Figure 15 , an adaptation module 512 is provided for adapting the function (g(EMF)) during this calibration routine and for performing later
adaptations as the slot car 3 and/or the track 5 becomes older and its characteristics change. The stored function (g(EMF)) used in this embodiment is illustrated in Figure 17 which shows that the velocity is related to the natural logarithm of the measured back EMF telemetry data.
During normal operation, the velocity estimated from the back EMF telemetry data is passed to the dead reckoning position determining module 513 which integrates the velocity with respect to time to determine the distance travelled since the last measurement. This distance is then combined with the previous position in accordance with the track layout as defined by the track data 507 to determine the actual position of the slot car 3 on the track 5. This position information is then passed to the position correcting module 509 which makes any appropriate position correction based on the last accurate position information received via the lap counter signal (LAP) or from the current break position determining module 505. The corrected position information (posn) is then output to the application logic interface 417 and/or to the co-processor 421.
Track Validation
As those skilled in the art will appreciate, in order for the system to work correctly, the track data 507 must accurately identify the physical layout of the track 5. In order to identify potential errors and to avoid cheating by users, the mark-to-space ratio telemetry data generated from the user's hand controller signals, is compared with mark-to-space ratio profile data that is expected for the current track layout. For example, if the user has defined a complex track layout with many bends, then the PC 15 can predict how the MSR telemetry data will vary as the user slows down for corners and speeds up out of the corners. However, if the user is trying to cheat by building a track of the same length as the complicated design but as a simple oval, then the MSR telemetry data is unlikely to vary as it should. The telemetry data validation module 515 therefore compares the received MSR telemetry data with expected MSR profile data 517 to determine whether or not the user is cheating and to output an appropriate validation signal. This validation signal is also passed to the application logic interface 417 and to the co-processor 421. As those skilled in the art will appreciate, although this validation is not essential, as a practical feature, it provides some validation especially to remote users who cannot physically check the layout of the track 5 from
which the telemetry data has been obtained.
Application Logic
As discussed above, the purpose of the application logic is to provide analysis tools for allowing users to analyse stored telemetry data from previous races and to provide a virtual simulation of a real race or to control a virtual race on the display screen of the personal computer 15. The application logic also allows the user to set up the various race parameters that can be set up using the input buttons 53 on the main unit 1. Finally, the application logic controls the transmission and reception of position, hand controller and/or telemetry data to/from a remote terminal via the internet 19.
Figure 18 is a schematic block diagram illustrating the main components of the application logic 403 shown in Figure 13. As shown, the application logic 403 includes an application logic control module 601 which receives the hand controller signals or the telemetry and position data from the interface and pre-processor module 401. The position data for slot cars 3 on the track 5 is passed by the application logic control module 601 to a race simulation module 603 which uses the current position data to retrieve the appropriate track layout
data and scenery data for these positions from the track layout and scenery data store 605. This track layout data and scenery data are then passed together with the position data to the user interface 405 which, as will be described below, uses the data to generate an appropriate virtual simulation of the race.
In this embodiment, during a race, the application logic control module 601 also passes the telemetry data and the position data for each slot car to a race file generator 606 which opens a race file and stores the data in the race file within the race file data store 607. In this embodiment, the race file is stored as a continuous time based sequence of telemetry data and corresponding position data together with data that identifies the racing mode, the slot 11 and the slot car 3 that are used. The data files that are stored in the race file data store 607 can then be retrieved by the user via the user interface 405 and used to generate a virtual simulation of the race using the race simulation module 603. The race file may also be passed back to the main unit 1 to control the driving of one of the slot cars 3 on the track 5. Alternatively, the race file data may be passed to a race analysis module 609 which can perform various different processings on the data (in accordance
with user interaction via the user interface 405) in order to analyse the slot car's (and hence the user's) performance during the race. For example, if the race data is for a multi-lap race, then race analysis module 609 can calculate the average lap time, the best lap time, the best time through a particular portion of the track etc. The user can also compare their race statistics with the race statistics for other users on the local track 5 or for users on remote tracks 21.
When operating in the virtual race mode, the application logic control module 601 will receive the hand controller signals generated by the main unit 1 and the slave units 299. In this mode, the application logic control module 601 also outputs the hand controller signals to the race simulation module 603. In this case, however, the race simulation module 603 operates more like a conventional racing computer game in that it uses a predetermined model (not shown) which relates the hand controller signals to a change in position of a virtual car on a virtual track. The race simulation module 603 then outputs the appropriate position data together with the track layout data and scenery data from the data store 605 to the user interface 405 which uses the data to generate the next image of the virtual race.
As discussed above, the application logic 403 controls the transmission and reception of telemetry data over the internet via the internet interface 407. In this embodiment, the telemetry data, the hand controller data and/or the position data can be streamed to a remote user substantially in real time using an internet streaming module 611. In this case, the received telemetry, hand controller and/or position data received by the application logic control module 601 is immediately passed to the internet streaming module 611 with the appropriate internet address for the remote terminal . The internet streaming module 611 then uses the received data to generate a corresponding stream of data packets which it outputs to the internet interface 407 for onward transmission to the remote terminal . Alternatively, the application logic control module can retrieve one or more of the race files stored in the race file data store 607 and forward this to the remote terminal using an internet ile transfer module 613. As those skilled in the art will appreciate, a separate streaming module 611 and file transfer module 613 are required since different transmission protocols are used depending on if the data is being streamed (for real time use at the receiving terminal) or if a file transfer is being made (in which
case real time transmission is not essential) .
Similarly, if the internet streaming module 611 or the internet file transfer module 613 receive telemetry, hand controller and/or position data from a remote terminal, this data is passed to the application logic control module 601. In response, depending on the current race mode of the main unit 1, the application logic control module 601 either: (i) passes the received data to the race file generator 606 for storage in the race file data store 607; (ii) passes the received position data to the race simulation module 603 to create an appropriate virtual simulation of the remote race; (iii) passes the received hand controller signals to the race simulation module 603 for controlling a virtual race (so that local users can have a virtual race with remote users) ; (iv) passes the received telemetry data to the interface and pre-processor module 401 so that it can calculate and return the corresponding position data for use in generating a virtual simulation by the race simulation module 603; or (v) passes the received position and/or telemetry data back to the interface and pre-processor module 401 for onward transmission to the main unit 1 for use in driving one or more of the slot cars 3 on the track 5.
Finally, as shown in Figure 18, the application logic 403 also includes a race setup graphical user interface (GUI) module 615 which allows the user to set up the various race modes that are available using the personal computer 15 instead of the user interface on the main unit 1 formed by the input buttons 53 and the LCD display 51. The race setup GUI module 615 also allows the user to define the current layout of the track 5 and the type of scenery to be used in the simulation (e.g. city, alpine, winter etc) . This track layout and scenery data is then passed back to the application logic control module 601 which stores the data in the track layout and scenery data store 605. The race setup GUI module 615 also allows the user to set the hand controller function
(f(θ)) used to relate the determined hand controller throttle position to the mark-to-space ratio value. In the example shown in Figure 5b, this function is a linear plot. The race setup GUI module 615 can be used to vary the gradient of the plot or to define other non-linear functions such as exponential or piece-wise linear functions, as appropriate. In this way, the user can experiment with different hand controller characteristics and then compare the telemetry results using the race analysis module 609 to determine the best hand controller
function for them. Any race configuration data generated by the user using the race setup GUI module 615 is then passed back to the application logic control module 601 for onward transmission back to the main unit 1 via the interface and pre-processor module 401.
User interface
As discussed above, the position data and the track data output by the race simulation module 603 are passed to the user interface 405 for generating the appropriate virtual simulation of the real race or the appropriate virtual race. As shown in Figure 19, in this embodiment, this virtual simulation/race is generated by a rendering engine 631 which, in this embodiment, is a standard rendering engine commonly used in 3-D computer games. The rendering engine 631 uses the positional information and the track layout and scenery data received from the race simulation module 603 and generates an appropriate current screen image which it outputs to the frame buffer 633 for display on the display 635. The image data stored in the frame buffer 633 is then recalculated/updated by the rendering engine 631 using the next received position and track layout and scenery data received from the race simulation module 603 etc., to create a moving image 3D simulation of the actual slot
cars 3 racing on the track 5 or to create a moving image 3D virtual race.
As shown in Figure 19, the frame buffer 633 can also receive images generated by the race analysis module 609 and the race setup GUI module 615. These images are also displayed on the display 635 and any user input generated in response is detected by a user input device 637 (e.g. keyboard or mouse) which is then passed back to the application logic 403.
Modifications and Alternative Embodiments
A new slot car racing system has been described above. As those skilled in the art will appreciate, various modifications can be made to the above slot car racing system whilst achieving many of the advantages associated with it. Some of these modifications and alternatives will now be described.
In the above embodiment, the main unit and the slave units monitored the electrical current applied to the slots and the back EMF signals generated by the slot car motors . These signals were used to sense the speed of the slot car on the track and to detect the position of the slot car on the track. The inventors have found that
these signals allow for the accurate calculation of the instantaneous position of the slot car on the track, which therefore allows accurate simulation on the personal computer. However, other techniques can be used to track the position of the slot cars on the track. For example, an embedded position sensor may be provided in the track, which the slot car interacts with, to generate signals that continuously vary with the position and/or speed of the slot car on the track. The signals from this position sensor can then be detected by the main unit and/or the slave unit and then passed to the personal computer to control the simulation as before. W095/31696 describes a suitable position sensor that could be used in such an embodiment. As a further alternative, an array of discrete position sensors may be provided along the track layout which detect when the slot car pass the corresponding position on the track. The position information from this array of point position detectors can then be fed back to the main unit for onward transmission to the PC as before. Various other alternatives will be apparent to those skilled in the art.
In the above embodiment, the main unit and the slave units measured the back EMF signals generated by the slot
car motors when no current was applied to the track. In an alternative embodiment, the main unit and the slave units can determine a measure of the slot car motor back EMF from the current that is supplied to the track. In particular, if a model is stored to represent the inductance and capacitance of the track and the slot car motors, the main unit and the slave units can determine what the back EMF is from the current drawn by the slot car. As those skilled in the art will appreciate, in such an embodiment, it is not necessary to pulse the drive signal.
In the above embodiment, a slot car racing system was described which tracked the position of the slot cars around the track which it used to generate a virtual simulation of the race. As those skilled in the art will appreciate, this technique can also be used in other toy systems, such as on model railway systems and other car racing systems such as remote controlled cars etc.
In the above embodiment, the main unit interfaced with a personal computer which allowed a virtual simulation or a virtual race to be displayed to the user on the screen of the personal computer. As those skilled in the art will appreciate, it is possible to connect the main unit to
other computer devices such as a games console or the like. In this case, the games console would create the appropriate signals for output on an attached display or television screen.
In the above embodiments, the user could transmit or receive telemetry data to/from a remote user so that they can race against the remote user. In view of the relatively large amount of telemetry data that has to be transmitted in order to control a slot car on the track, in an alternative simpler embodiment, each of the users could transmit timing information (e.g. lap times or the times at which they pass the current breaks on the track) to a central server. The central server can then compare the lap times and/or the times taken to reach the current breaks to identify the positions of the slot cars in the race and timing information that identifies the gap between the different users' slot cars in the race. The central server can then transmit this information back to each user's personal computer and/or main unit. In this case, the user may be provided with feedback about the position of the other user's car either as a visual output on the display of the personal computer or as an audible output to advise him who is winning the race.
Additionally, in an embodiment where such a central server is provided, users can upload telemetry data for a lap or race to the server, so that other users can download it to try to better the results. This leads to a situation where it is possible to organise a race with many thousands or millions of users participating. In particular, provided each of the users has the same track layout, they can each race a slot car on their track and generate telemetry data or at least lap time data which can then be transmitted to the central server. The central server can then identify the user with the best lap time as the winner of the race. Alternatively, the central server can stream the telemetry data for the best user(s) to each user's personal computer which can use the data to generate a virtual simulation to show where the best racers are in the race compared to the local user. Instead of streaming the data from the central server, the central server can also provide telemetry data files for the users to download for later use in controlling the virtual simulation or for use in driving a slot car on the user's track.
In the above embodiment, the main unit and the slave units controlled the speed of the slot car on the track by applying a pulse width modulated current signal to the
slot on the track. The advantage of this is that there are periods within the driving signal when no current is applied to the track during which the back EMF of the slot car motor can be determined. However, if other techniques are used for tracking the slot car on the track, then such a pulsed current driving signal is not essential. Instead, a conventional DC control current may be applied in such alternative embodiments.
In the above embodiment, a hand controller was described which connected to the main unit using only two wires and which allowed the encoding of a throttle position as well as other control inputs. This was achieved by using a variable resistor and a couple of user actuable switches which changed the resistance of the electrical elements in the hand controller. As those skilled in the art will appreciate, other arrangements are possible which can achieve the same result. For example, instead of varying the resistance of the electrical elements in the hand controller, the user switches and throttle may be used to vary the resistance and/or the reactance (capacitance and/or inductance) of elements in the hand controller. In such an embodiment, as the user varied the throttle position, the impedance of the circuit elements in the hand controller would continuously vary with the throttle
position. Similarly, when the user presses one of the control buttons on the hand controller, this will result in a step change in the impedance of the circuit elements in the hand controller. The hand controller control module can therefore detect the present throttle position and the status of the switches by monitoring variations in the impedance of the circuit elements in the hand controller.
In the above embodiment, the main unit included three slave unit interfaces to which up to three slave units could be connected. As those skilled in the art will appreciate, the main unit may be arranged to connect to any number of slave units . Similarly, in the above embodiment, the main unit and each of the slave units were operable to control only two slots on the track. As those skilled in the art will appreciate, this is not essential. The main unit may be arranged to control any number of slots. The arrangement discussed above in the main embodiment was used since existing slot car racing systems employ tracks having only two slots . The above arrangement was chosen so that the new main unit can be used to control old slot cars on existing two-slot tracks .
In the above embodiment, the main unit connected to the track via a separate base unit. As those skilled in the art will appreciate, this is not essential. However, it is preferred since it facilitates the connection of the main unit to the PC, especially when the PC is in another room to the track. However, in an alternative embodiment, the main unit may connect directly to the track.
In the above embodiment, a new connector track segment was described which allowed a number of two-lane tracks to be connected in a daisy chain configuration to a common base unit. As those skilled in the art will appreciate, the above connector track segment is not essential. Separate flying lead type connectors may be provided from the base unit to each of the track segments. However, the use of the connector track segments is preferred since it facilitates the connection of the different two-lane tracks to the common base unit. Further, in the embodiment described above, the connector track segment was designed to be identical for each two- lane track. As those skilled in the art will appreciate, this is not essential. Different connector track segments may be provided for each of the different two lane tracks . However, a common connector track segment is preferred since again it facilitates the connection of
the different two-slot tracks together to the common base unit.
In the above embodiment, a new method of braking slot cars was described. As those skilled in the art will appreciate, it is not essential to employ this new type of braking. Further, the inventors have also developed another new type of braking which is based on the conventional braking technique which short circuits the slot and hence the motor in the slot car. This alternative braking is achieved by pulsing the short circuiting of the slot. In particular, by short circuiting the slot for a first period of time (e.g. a few milliseconds) and then open circuiting the slot (again for a few milliseconds) so that the back EMF of the slot car motor can be measured and then short circuiting the slot again for another short period of time and then open circuiting and measuring the back EMF etc. The measurement of the back EMF signal can then be used to determine when the slot car has come to rest and, therefore, when the shorting can be stopped. Additionally, the latest back EMF measurement can be used to control the length of the next time period that the track will be short circuited. In this way, it is possible to control the rate at which the slot car
brakes, thereby giving a more natural and progressive braking operation. In a further alternative embodiment, both of the new braking techniques can be used, depending on whether or not the user has simply released the throttle or has pressed the braking button on the hand controller.
In the above embodiment, the hand controller was arranged so that the value of the hand controller voltage was unique for any throttle position regardless of the status of the user control buttons . As those skilled in the art will appreciate, this is not essential. However, if there is not a one-to-one correspondence between the input voltage and the throttle position and button status, then the H/C control module will have to track changes of the input voltage to detect sudden changes in the input voltage indicating button presses. By ensuring that the change in voltage is different for each combination of button presses, the H/C control module can still determine the throttle position and the status of each control button.
In the above embodiment, the hand controller signals were used to vary the pulse width of a pulse width modulated drive signal. As those skilled in the art will
appreciate, other types of driving signals may be used. For example, the hand controller signal may be used to control the amplitude of the pulses in addition to or instead of varying the pulse width.
In the above embodiment, the main unit recorded various telemetry data for the slot cars racing around the track. As those skilled in the art will appreciate, the particular telemetry data that is recorded can vary from system to system. For example, only the current applied and/or the back EMF measurements may be recorded. Alternatively still, only the hand controller signals or the MSR signal derived from the hand controller signals may be stored as the telemetry data. However, by recording all of the telemetry data discussed above, the system is able to more accurately determine the position of the slot cars on the track and hence can more accurately generate a virtual simulation of the race. Similarly, with all of the telemetry data discussed above, the main units can more accurately drive the slot cars automatically around the track in accordance with a previous user controlled race.
In the main embodiment described above, a new slot car racing system was described. The system was adapted to be
able to work with existing track and slot cars. The separate components of the system, such as the main unit and base unit and the hand controllers may be made and sold separately from the slave units, the track and the slot cars.
In the above embodiment, the main unit is a microprocessor-based unit which is controlled by software stored in an internal memory. As those skilled in the art will appreciate, the main unit may instead be formed from separate dedicated hardware circuits which perform the functions discussed above. However, software is preferred, since the software modules can be upgraded to improve the performance and to add functionality to the main unit. The software for controlling the main unit may be obtained by downloading it from a remote server or may be provided on a computer readable medium such as a computer disc or a CDROM. Similarly, the control software used for controlling the personal computer 15 may be downloaded as a signal from a remote server or provided on a computer readable medium such as a floppy disc, CDROM or the like.
A slot car racing system has been described above employing a number of different inventions. Some of
these inventions are defined in the appended claims whilst others are defined below in the following numbered clauses :
Al. A toy system, comprising: a first system, comprising: an interface for receiving user input; first controlling means for controlling movement of a first vehicle along a first track, in dependence upon user input received by the interface; means for communicating with a second system over a network; and means for transmitting movement data relating to the movement of the first vehicle along the first track; and said second system comprising: means for communicating with said first system over the network; means for receiving the movement data transmitted by said first system; and second controlling means for controlling the movement of a second vehicle along a second track in dependence upon said received movement data.
A2. A system according to clause Al, wherein said first
vehicle is a toy vehicle and said first controlling means is arranged to control the movement of the toy vehicle along the first track.
A3. A system according to clause A2, wherein: said second controlling means is operable to control a graphical simulation of the second vehicle on a graphical simulation of the second track.
A4. A system according to any preceding clause, wherein said transmitting means is operable to transmit a stream of movement data representing the real-time movement of the first vehicle along the first track.
A5. A system according to any preceding clause, wherein said movement data relates to the position of the vehicle along the track.
Bl. A toy system comprising: a toy vehicle; a track along which the toy vehicle can move; a user device for receiving a user input and for generating a corresponding user control signal; and a controller unit comprising: a first interface for coupling with the user device
and for receiving the user control signal; a second interface for coupling to the track; and a drive circuit generator operable to generate a pulsed drive signal in dependence upon the user control signal received by said irst interface and operable to apply said pulsed drive signal to said track via said second interface to control the movement of the toy vehicle along the track; and wherein said control unit further comprises a sensor couplable to said second interface for sensing a back EMF generated on said track by said toy vehicle between pulses of said drive signal.
B2. A toy system according to clause Bl, wherein said drive circuit is operable to vary the pulse width of the pulsed drive signal to control the speed of the toy vehicle on the track.
B3. A toy system according to clause Bl or B2, wherein said drive circuit is operable to vary the amplitude of the pulsed drive signal to control the speed of the toy vehicle on the track.
B4. A toy system according to any of clauses Bl to B3, wherein said second interface is operable to couple to
the track via an intermediate connector.
B5. A controller unit for use in the toy system of any of clauses Bl to B4, the controller unit comprising: a first interface for coupling with the user device and for receiving the user control signal; a second interface for coupling to the track; and a drive circuit generator operable to generate a pulsed drive signal in dependence upon the user control signal received by said first interface and operable to apply said pulsed drive signal to said track via said second interface to control the movement of the toy vehicle along the track; and wherein said control unit further comprises a sensor couplable to the second interface for sensing a back EMF generated on the track by said toy vehicle between pulses of said drive signal.
B6. A toy system comprising: a toy vehicle,- a track on which the toy vehicle can move; a user device for receiving user input and for generating a corresponding user control signal; and a control unit comprising: a first interface for coupling with the user device
and for receiving the user control signal; a second interface for coupling to the track; and a drive circuit generator operable to generate a drive signal in dependence upon the user control signal received by said first interface and operable to apply said drive signal to said track via said second interface to control the movement of the toy vehicle along the track; a current sensor operable to sense the current drawn by the slot car and operable to output a current sensor signal; and a processor operable to process said current sensor signal to determine a measure of the back EMF generated on said track by said toy vehicle.
B7. A toy system according to clause B6, further comprising means for determining a present speed of the toy vehicle using a present measure of the back EMF.
Cl. A slot car racing controller for controlling a drive signal applied to the track of a slot car racing system, the controller comprising: a first interface for receiving a drive control signal; a second interface for coupling with the track of
the slot car racing system; and a drive circuit operable to generate and to apply a drive signal to said track via said second interface in dependence upon the drive control signal received by said first interface; wherein said drive signal generator is operable to generate a pulse width modulated drive signal in dependence upon the received drive control signal.
C2. A controller according to clause Cl, wherein said drive signal generator is operable to generate a unipolar pulse width modulated drive signal in dependence upon the drive control signal received by said first interface.
C3. A controller according to clause Cl or C2, wherein said drive signal generator is operable to vary the mark- to-space ratio of the pulse width modulated drive signal in dependence upon the drive control signal received by said first interface.
C4. A controller according to any of clauses Cl to C3, wherein said drive signal generator is operable to vary the amplitude of the pulses in the pulse width modulated drive signal in dependence upon the drive control signal received by the first interface.
C5. A controller according to any of clauses Cl to C4, wherein said second interface is operable for coupling to the track via an intermediate connector.
Dl. A hand controller for use by a user to control the movement . of a toy vehicle along a track, the hand controller comprising: first and second terminals for connection to a hand controller control module; a plurality of circuit elements connected between said first and second terminals; a first user actuator responsive to manipulation by the user to continuously vary a parameter of one or more of said circuit elements connected between said first and second terminals; and a second user actuator responsive to manipulation by the user to generate a step change in a parameter value of one or more of said circuit elements .
D2. A hand controller according to clause Dl, wherein said first user actuator is operable to continuously vary the impedance of one or more of said circuit elements.
D3. A hand controller according to clause D2, wherein
one or more of said circuit elements comprises a variable resistor and wherein said first user actuator is operable to vary the resistance of said variable resistor in dependence upon the manipulation of the first user actuator by the user.
D . A hand controller according to any of clauses Dl to D3, wherein said first user actuator is operable to continuously vary the parameter of said one or more circuit elements in dependence upon the pressure applied to the first user actuator by the user.
D5. A hand controller according to any of clauses Dl to D4, wherein said second user actuator comprises a push button which is operable to open or close a switch within the hand controller.
D6. A hand controller according to any of clauses Dl to D5, comprising a plurality of said second user actuators, each operable to generate a step change in a parameter value of one or more of said circuit elements .
D7. A hand controller control module for interfacing with a hand controller according to any of clauses Dl to D6, the control module comprising:
first and second terminals for respectively coupling with the first and second terminals of the hand controller; and means for monitoring the temporal variation of one or more parameter values of said circuit elements in said hand controller to determine a present state of said first and second user actuators of said hand controller.
D8. A control module according to clause D7, wherein said monitoring means is operable to monitor the temporal variation of the impedance of the circuit elements connected between the first and second terminals of said hand controller.
D9. A control module according to clause D7 or D8, wherein said monitoring means is operable to compare present values of said one or more parameters with one or more previous values of said one or more parameters to determine the states of said first and second user actuators.
El. A slot car connector track segment for use in connecting a plurality of slot car tracks in common with a slot car base unit which provides the drive signals for each slot on each track, the connector track segment
comprising: first and second slots extending between first and second edges of the track segment; first and second connectors provided on third and fourth edges of the connector track segment, the first connector being operable for connection to said base unit and the second connector being operable for connection to a connector of another connector track segment; a first pair of conductors connected between, said first slot and a first set of terminals of said first connector, for providing driving signals to said first slot; a second pair of conductors connected between said second slot and a second set of terminals of said first connector, for providing driving signals to said second slot; and at least one pair of conductors connected between a third set of terminals of said first connector and a corresponding set of terminals of said second connector.
E2. A connector track segment according to clause El, wherein said first and second connectors are complementary such that the second connector of one connector track segment can connect to the first connector of another connector track segment.
E3. A connector track segment according to clause E2, comprising M slots, wherein the first connector comprises N sets of terminals, where N is greater than M and wherein said second connector comprises at least N - M sets of terminals, with each set of terminals in the second connector being connected by conductors to a respective set of terminals of the first connector.
E4. A connector track segment according to clause E3, wherein the sets of terminals are in a predetermined order in each connector such that the (M+i)th set of terminals is connected to the set of terminals of the second connector which is positioned in the second connector at the same position as the i"1 set of terminals in the first connector.
E5. A connector track segment according to clause E4, wherein the (M+i)th set of terminals of the first connector are connected to the i"1 set of terminals of the second conductor.
FI. A slot car racing system comprising: a plurality of multi-slot tracks; a main controller operable for outputting drive
control signals for driving slot cars on the slots; one or more slave units each operable to generate the drive control signals for one or more of said slots and operable to output the drive control signals to said main controller; and wherein said main unit is operable to receive the drive signals from said slave controller and to output the received drive signals to the appropriate slot or slots on the track.
F2. A slot car racing system according to clause FI, wherein the main controller and each slave controller is operable to generate and to output drive control signals for two slots.
F3. A slot car racing system according to clause FI or F2, wherein said main unit includes a first interface for interfacing with the slave controller and a second interface for interfacing with the track, and wherein a direct connection is provided between the first and second interfaces to allow the drive signals generated by the slave controller to be passed direct to the track.
F4. A slot car racing system according to clause F3, wherein said main controller and said slave controllers
include microprocessors and wherein the microprocessor of the main controller is operable to communicate race setup data to the slave controller for controlling the operation of the slave controller.
F5. A slot car racing system according to clause F4, wherein said microprocessor is operable to output a timing control signal to said slave controller to synchronise the timing operation of the slave controller with the main controller.
F6. A slot car racing system according to clause F5, wherein said main controller and said slave controller are operable to monitor lap times for slot cars controlled by the respective controller, which lap times are synchronised using said timing data.
Gl. A slot car racing controller for controlling a drive current applied to a track of a slot car racing system, the controller comprising: a first interface for interfacing a drive control signal; a second interface for coupling with the track of the slot car racing system; a drive circuit operable to generate and to apply a
drive signal to said track; a third interface for coupling the controller to an external device; and a mode selector operable to set the controller in a first mode of operation in which the drive control signal received at said first interface is passed to said drive circuit to control the drive signal applied to said track or a second mode of operation in which the drive control signal received at said first interface is output to said third interface for output to said external device.
G2. A controller according to clause Gl, wherein said first interface is operable for receiving hand controller signals from an external hand controller device.
G3. A controller according to clause Gl or G2 , wherein in said first operating mode, said drive circuit is operable to generate a pulse width modulated signal for output to the track via said second interface.
G4. A controller according to clause G3 , wherein in said first operating mode, said drive circuit is operable to vary the pulse width or pulse amplitude of the pulse width modulated signal in dependence upon the drive control signal received at said first interface.
HI . A slot car racing controller for controlling a slot car on a slot car track, the controller comprising: a first interface for receiving a drive control signal from a user device; a second interface for coupling with the track of the slot car racing system; a drive circuit operable to generate and to apply a unipolar driving signal to said track via said second interface in dependence upon the drive control signal received by said first interface; and a drive signal polarity converter, responsive to a user input and operable to invert the polarity of the drive signal applied to the track.
H2. A controller according to clause HI, wherein said polarity converter is operable to invert the polarity of said drive signal in order to control the direction in which the slot cars are driven on the track.
H3. A controller according to clause HI, wherein said polarity converter circuit is operable to invert the polarity of said drive circuit to control the braking of a slot car on the track.
H4. A controller according to clause H3, comprising a speed detector operable to detect the reduction in speed on the slot car during braking and operable to inhibit the application of a drive current to the track when the slot car has stopped.
II. A slot car racing controller for controller a drive signal applied to the track of a slot car racing system, the controller comprising: a first interface for receiving a drive control signal from a user device; a second interface for coupling with the track of the slot car racing system; a drive circuit operable to generate and to apply a drive signal to the track via said second interface in dependence upon the drive control signal received by said first interface; a short circuit controller for short circuiting a slot on the track; a speed detector operable to determine a measure of the speed of a slot car on the track; and a braking controller operable to control the short circuit controller in dependence upon the measure of speed determined by said speed detector.
Ϊ.2. A controller according to clause II, wherein said short circuit controller is operable to repeatedly open circuit and close circuit said slot and when said braking controller is operable to control the duration of the short circuit controller short circuits said slot.
13. A controller according to clause 12, wherein said speed detector is operable to determine the speed measure of the slot car during the periods when said short circuit controller open circuits said slot.
14. A controller according to clause 13 , wherein said speed detector is operable to detect a back EMF signal generated on the slot by the slot car during the periods in which the short circuit controller open circuits the slot, as said speed measure
Jl. A controller for controlling a drive signal applied to a track along which a toy vehicle can move, the controller comprising: a first interface for receiving a drive control signal from a user; a second interface for coupling with the track; a drive circuit operable to generate and to apply a drive signal to said track via said second interface;
a third interface operable to receive communications data from an external communication device, which communications data includes telemetry data; a mode selector operable to select a first mode of operation of the controller in which the drive control signal received at said first interface is used to control the drive signal applied to the track by said drive circuit and a second operating mode in which the telemetry data received at said third interface from said external device is used to control the drive signal applied to the track by said drive circuit.
J2. A controller according to clause Jl, comprising means for determining telemetry data for the toy vehicle driven on the track by the drive signal and comprising a telemetry controller operable to compare the telemetry data for the toy vehicle on the track with the received telemetry data and operable to control the drive circuit in dependence upon a comparison result.
J3. A controller according to clause J2, wherein said telemetry data includes data defining the time taken for the toy vehicle to move over a predetermined portion of the track and wherein said telemetry data controller is operable to vary the drive signal to cause the toy
vehicle to move over the predetermined portion of the track in said period of time.
J4. A controller according to any of clauses Jl to J3, further comprising a second drive circuit operable to drive a second toy vehicle on the track in accordance with the drive control signal received at said first interface.
KI . A toy system comprising: a toy vehicle; a track along which a toy vehicle can move; a controller unit having a plurality of modes of operation and comprising: a first interface for coupling with an external processor; a second interface for coupling with the track; a drive circuit operable to generate and to apply a drive signal to said track via said second interface; a communications circuit operable to communicate with said external microprocessor and operable to receive communication control signals from said external processor and a mode selector operable to select an operating mode of said controller in dependence upon the communications received from said external processor.
K2. A controller for controlling a drive signal applied to a track to control the movement of a toy vehicle on the track, the controller comprising: a first interface for receiving a drive control signal from a user; a second interface for coupling with the track of a slot car racing system; a drive circuit operable to generate and to apply a drive signal to said track via said second interface; a third interface for interfacing with an external processor; a speed controller operable to output the drive control signals received at said first interface to said external processor via said third interface and operable to receive speed control signals from said external processor via said third interface and operable to limit a drive signal applied to the track by said drive circuit in dependence upon the speed limit signals received from said external processor.
LI. A slot car racing system comprising: a track on which a plurality of slot cars can be raced; a main controller operable to control a first subset
of said plurality of slots; a slave controller operable to control a second subset of said plurality of slots; wherein said main controller is connected to said slave controller via a data bus and wherein said main controller outputs control signals to said slave controller to control data communications on the data bus.
L2. A system according to clause LI, wherein said main controller is operable to communicate configuration data to said slave controller to control the operation of the slave controller.
L3. A system according to clause LI or L2, wherein said main controller provides a synchronisation signal to said slave controller for controlling the timing of data communications between said main controller and said slave controller.
L4. A system according to any of clauses LI to L3 , wherein said main controller includes a communications interface for communicating with an external device and wherein said slave controller is operable to communicate with said external device via said bus and said
communication interface in said main unit.
L5. A system according to clause L4, wherein said main unit is operable to provide a predetermined time slot for said slave controller during which said slave controller can transmit data on said data bus.
Ml. A toy system comprising: a toy vehicle; a track along which the toy vehicle can move; a user device for receiving a user input and for generating a corresponding user control signal; a controller operable to generate a drive signal for controlling the movement of the toy vehicle on the track in accordance with a user control signal received from said user device and a communications module operable to transmit data representative of at least one of the user control signal and the drive signal applied to the track to a remote device.
Claims
1. A toy system comprising: a toy vehicle; a track along which the toy vehicle can move; a user device for manipulation by a user to control the movement of the toy vehicle along the track; the toy vehicle and the track being operable, in use, to interact and to generate signals that vary with the movement of the toy along the track; and a track unit comprising: a sensor operable to sense the signals generated by the interaction between the toy vehicle and the track; a processor operable to process the sensed signals and to generate therefrom movement data representative of the movement of the toy vehicle along different portions of the track; and an interface for outputting the movement data generated by the processor.
2. A toy system according to claim 1, further comprising a simulation device, wherein said interface of said track unit is operable to interface with said simulation device, and wherein said simulation device is operable to generate a virtual simulation of the movement of the toy vehicle along the track using the movement data generated by said processor.
3. A toy system according to claim 2 , wherein said simulation device is operable to calculate a current position of the toy vehicle on the track from a previous position, from the received movement data and from timing information defining the time taken to travel from the previous position to the current position.
4. A toy system according to claim 3, wherein said simulation device is operable to use the determined current position of the toy vehicle on the track and pre- stored track scenery data, to generate an image of the toy vehicle at the current position on the track for output as part of said virtual simulation.
5. A toy system according to claim 4, wherein said simulation device is operable to repeatedly recalculate new current positions for the toy vehicle along the track and to generate a new image for each new position to generate a moving image simulation of the movement of the toy vehicle along the track.
6. A toy system according to any preceding claim, further comprising an analysis unit, wherein said interface of said track unit is for coupling with said analysis unit, and wherein said analysis unit is operable for analysing the movement data output by said processor, to generate analysis data representing the performance of the toy vehicle on the track.
7. A toy system according to claim 6, wherein said toy vehicle is operable to move along the same portion of the track a plurality of times, wherein said analysis unit is operable to store analysis data for each time the toy vehicle moves along that portion of the track and wherein said analysis unit is operable to compare the analysis data for each time the toy vehicle moves along the same portion of the track and to output the comparison results to the user.
8. A toy system according to any preceding claim, further comprising a racing unit, wherein said interface of said track unit is operable for coupling with said racing unit, wherein said racing unit is operable to receive movement data for a plurality of toy vehicles travelling along one or more tracks and is operable to use the movement data for the respective toy vehicles to identify which of the toy vehicles is leading the or each other toy vehicle.
9. A toy system according to claim 8, wherein said racing unit is operable to compare the way in which the movement data for each toy vehicle changes with the movement of the vehicle along the corresponding track with predetermined profile data to verify that each track has a corresponding track layout.
10. A toy system according to any preceding claim, wherein said interface is a first interface and wherein said track unit further comprises: a second interface for interfacing with said user device and for receiving user control signals therefrom; a track drive signal generator operable to generate a track drive signal in dependence upon the user control signals received by said second interface; and a third interface for coupling to the track and for outputting said track drive signal generated by said track drive signal generator to the track, to control the movement of the toy vehicle along the track.
11. A toy system according to claim 10, wherein said processor is operable to generate track drive data representative of the drive signals applied to the track and wherein said first interface is operable for outputting said movement data and said track drive data.
12. A toy system according to claim 10 or 11, wherein said track drive signal generator is operable to generate a drive current and is operable to apply said drive current to said track via said third interface, and wherein said toy vehicle is operable to interact with said drive current to control the movement of the toy vehicle along the track.
13. A toy system according to claim 12, wherein said toy vehicle includes a motor which is operable to drive the toy vehicle along the track, and wherein said motor is operable to be powered by the drive current applied to the track.
14. A toy system according to any of claims 10 to 13, wherein said track drive signal generator is operable to generate and to apply pulses of said drive signal to said track.
15. A toy system according to claim 13 or 14, wherein said sensor is operable to sense a back EMF signal generated by said motor, and wherein said processor is operable to generate said movement data from said sensed back EMF signal.
16. A toy system according to claim 15, wherein said track unit is operable to repeatedly generate telemetry data for the toy vehicle as it moves along the track, which telemetry data includes one or more of data representative of the user control signals received at said second interface; data representative of the drive signal applied to the track; and data representative of the back EMF generated on the track by the toy vehicle.
17. A toy system according to claim 16, wherein said track unit comprises a memory for storing said telemetry data.
18. A toy system according to claim 17 , wherein said track unit further comprises a telemetry control module operable to read said telemetry data from said memory and operable to control said track drive signal generator to automatically drive a toy vehicle along the track in dependence upon the stored telemetry data.
19. A toy system according to claim 18, wherein said telemetry data control module is operable to receive telemetry data from a remote device via a communications interface and is operable to control the track drive signal generator in dependence upon the received telemetry data, in order to automatically control the movement of the toy vehicle along the track in dependence upon the received telemetry data.
20. A toy system according to claim 19, comprising first and second toy vehicles, wherein said track drive signal generator is operable to generate and to apply first and second track drive signals to said track for respectively driving the first and second toy vehicles along the trac .
21. A toy system according to claim 20, wherein said track drive signal generator is operable to generate said first drive signal in dependence upon user control signals received at said second interface and is operable to generate the second drive signal in dependence upon telemetry data received from said telemetry data control module.
22. A toy system according to any of claims 19 to 21, wherein said telemetry data control module is operable to receive a stream of said telemetry data for controlling, in substantially real time, the driving of said toy vehicle along the track.
23. A toy system according to claim 14 to 22, wherein said track drive signal generator is operable to vary the width of the signal pulses applied to the track, to control the speed of the toy vehicle on the track.
24. A toy system according to any of claims 14 to 23 , wherein said track drive signal generator is operable to vary the amplitude of signal pulses applied to the track, to control the speed of the toy vehicle on the track.
25. A toy system according to any preceding claim, wherein said processor is operable to process the sensed signals to generate speed data representative of the speed of the toy vehicle along said different portions of the track.
26. A toy system according to any of claims 1 to 24, wherein said processor is operable to process the sensed signals to generate position data identifying different positions on the track and timing information identifying the timing at which the toy vehicle is at each of said different positions.
27. A toy system according to any preceding claim, wherein said processor comprises an analogue to digital converter for converting the sensed signals into the movement data.
28. A toy system according to any preceding claim, wherein said sensor comprises at least one of an electromagnetic sensor for sensing electromagnetic signals or an acoustic sensor for sensing acoustic signals.
29. A toy system according to any preceding claim, wherein said track unit further comprises a microprocessor operable to receive the movement data from said processor and operable to output the movement data to said interface.
30. A toy system according to any preceding claim, wherein said interface is for interfacing with a personal computer and/or a data network.
31. A toy system according to any preceding claim, wherein said toy vehicle comprises a slot car and wherein said track is a slot car track.
32. A toy system comprising: a toy vehicle; a track along which the toy vehicle can move; a user device for manipulation by a user to control the movement of the toy vehicle along the track; and a sensor operable to sense the movement of the toy vehicle along different portions of the track.
33. An apparatus comprising first and second toy systems according to any of claims 1 to 31 and a communication link for connecting the interface of the first toy system with the interface of the second toy system.
34. A track unit for use in the system according to any of claims 1 to 31, the track unit comprising: a sensor operable to sense the signals generated by the interaction between the toy vehicle and the track; a processor operable to process the sensed signals and to generate therefrom movement data representative of the movement of the toy vehicle along different portions of the track; and an interface for outputting the movement data generated by the processor.
35. A track unit according to claim 34, comprising a communications module for generating communications data using the movement data generated by the processor and wherein said interface is for interfacing the track unit to a remote computer device over a communication link.
36. A track unit according to claim 34 or 35, wherein said interface is a first interface and further comprising: a second interface for interfacing with said user device and for receiving user control signals therefrom; a track drive signal generator operable to generate a drive signal in dependence upon the user control signals received by said second interface; and a third interface for coupling to the track and for outputting the track drive signal generated by said track drive signal generator to the track, to control the movement of the toy vehicle along the track.
37. A track unit according to claim 36, wherein said processor is operable to generate track drive data representative of the drive signals applied to the track and wherein said first interface is operable for outputting said movement data and said track drive data.
38. A track unit according to claim 36 or 37, wherein said track drive signal generator is operable to generate a drive current and is operable to apply said drive current to said track via said third interface for driving the toy vehicle along the track.
39. A track unit according to any of claims 36 to 38, wherein said track drive signal generator is operable to generate and to apply pulses of said drive signal to said track via said third interface.
40. A track unit according to claim 38 or 39, wherein said sensor is operable to sense a back EMF signal generated by said toy vehicle, and wherein said processor is operable to generate said movement data from said sensed back EMF signal .
41. A track unit according to claim 40, operable to repeatedly generate telemetry data for the toy vehicle as it moves along the track, which telemetry data includes one or more of: data representative of the user control signals received at said second interface; data representative of the drive signal applied to track; and data representative of the back EMF sensed by said sensor.
42. A track unit according to claim 41, further comprising a memory for storing said telemetry data. -
43. A track unit according to claim 42, further comprising a telemetry control module operable to read said telemetry data from said memory and operable to control said track drive signal generator to automatically drive a toy vehicle along the track in dependence upon the stored telemetry data.
44. A track unit according to claim 43, wherein said telemetry control module is operable to receive telemetry data from a remote device via a communications interface and is operable to control the track drive signal generator in dependence upon the received telemetry data, in order to automatically control the movement of the toy vehicle along the track in dependence upon the received telemetry data.
45. A track unit according to claim 44, wherein said track drive signal generator is operable to generate and to apply first and second track drive signals to said track for respectively driving first and second toy vehicles along the track.
46. A track unit according to claim 45, wherein said track drive signal generator is operable to generate said first drive signal in dependence upon user control signals received at said second interface and is operable to generate the second drive signal in dependence upon telemetry data received from said telemetry control module.
47. A track unit according to any of claims 43 to 46, wherein said telemetry control module is operable to receive a stream of said telemetry data for controlling, in substantially real time, the driving of said toy vehicle along the track.
48. A track unit according to any of claims 39 to 47, wherein said track drive signal generator is operable to vary the width of the signal pulses applied to the track, in order to control the speed of the toy vehicle on the track.
49. A track unit according to any of claims 39 to 48, wherein said track drive signal generator is operable to vary the amplitude of the signal pulses applied to the track, to control the speed of the toy vehicle on the track.
50. A track unit according to any of claims 34 to 49, wherein said processor is operable to process the sensed signals to generate speed data representative of the speed of the toy vehicle along said di ferent portions of the track.
51. A track unit according to any of claims 34 to 49, wherein said processor is operable to process the sensed signals to generate position data identifying different positions on he track and timing information identifying the timing at which the toy vehicle is at each of said different positions.
52. A track unit according to any of claims 34 to 51, wherein said processor is an analogue-to-digital converter for converting the sensed signals into the movement data.
53. A track unit according to any of claims 34 to 52, wherein said sensor comprises at least one of an electromagnetic sensor for sensing electromagnetic signals or an acoustic sensor for sensing acoustic signals.
54. A track unit according to any of claims 34 to 53, further comprising a microprocessor operable to receive the movement data from said processor and operable to
5 output the movement data to said interface.
55. A track unit according to any of claims 34 to 54, wherein said interface, is operable for interfacing with a personal computer and/or a data network. 0
56. A method of generating and outputting movement data representing the movement of a toy vehicle on a track, the method comprising the steps of: racing a toy vehicle on a track; 5 sensing the movement of the toy vehicle along different portions of the track; and outputting movement data in dependence upon the sensed movement.
0 57. Computer readable medium storing computer executable instructions for controlling a programmable computer device to become configured as the track unit of any of claims 34 to 55.
-5 58. A computer implementable instructions product comprising computer implementable instructions for causing a programmable computer device to become configured as the track unit of any of claims 34 to 55.
59. A toy system substantially as described herein above with reference to or as shown in the accompanying drawings .
60. A main unit substantially as described herein above with reference to or as shown in the accompanying drawings .
61. A hand controller substantially as described herein above with reference to or as shown in the accompanying drawings.
62. A connector track segment substantially as described herein above with reference to or as shown in Figure 11.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0228569A GB0228569D0 (en) | 2002-12-06 | 2002-12-06 | Control system for geographically disperse tracks |
GB0228569 | 2002-12-06 | ||
GB0229265A GB0229265D0 (en) | 2002-12-16 | 2002-12-16 | Internet slot racing |
GB0229265 | 2002-12-16 | ||
PCT/GB2003/005335 WO2004052484A2 (en) | 2002-12-06 | 2003-12-08 | Toy system |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1581317A2 true EP1581317A2 (en) | 2005-10-05 |
Family
ID=32510398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP03780355A Withdrawn EP1581317A2 (en) | 2002-12-06 | 2003-12-08 | Toy system |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP1581317A2 (en) |
AU (1) | AU2003288436A1 (en) |
GB (1) | GB2412883B (en) |
WO (1) | WO2004052484A2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9004977B2 (en) | 2010-05-05 | 2015-04-14 | Traxxas Lp | Auxiliary user interface for a transmit controller |
DE112012004559T5 (en) * | 2011-10-31 | 2014-11-27 | Traxxas Lp | By means of a multifunction electronic device released transmission control device |
US9062820B2 (en) | 2011-10-31 | 2015-06-23 | Traxxas Lp | Holder mechanism for a multi-function electronic device |
US9333437B2 (en) | 2011-10-31 | 2016-05-10 | Traxxas Lp | Modular transmit controller |
US9808730B2 (en) | 2011-10-31 | 2017-11-07 | Traxxas Lp | Multi-function electronic device-enabled transmit controller |
US20220395761A1 (en) * | 2021-06-15 | 2022-12-15 | Traxxas, L.P. | Drag racing stability management for a model vehicle |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2612415A1 (en) * | 1987-03-16 | 1988-09-23 | Thimon Jean | Computer-controlled race circuit for miniature cars |
US5420903A (en) * | 1993-06-21 | 1995-05-30 | Cybortech, Inc. | Microwave object counter and method |
CA2196048A1 (en) * | 1994-07-28 | 1996-02-08 | Pinhas Gilboa | Computerized game board |
DE19647883C1 (en) * | 1996-11-21 | 1997-12-11 | Farrenkopf Andreas Dipl Ing Fh | Model road racing and winner determination method |
JP2001058084A (en) * | 1999-08-23 | 2001-03-06 | Sega Toys:Kk | Race game machine |
JP2002000938A (en) * | 2000-06-20 | 2002-01-08 | Tomy Co Ltd | Game system information rewrite device and storage medium |
US7050889B2 (en) * | 2002-04-22 | 2006-05-23 | Racing Visions Investments Inc. | Method and system for a computer controlled racing network |
GB0212573D0 (en) * | 2002-05-31 | 2002-07-10 | Carterbench Product Dev Ltd | Improved game and article for use with the game |
-
2003
- 2003-12-08 WO PCT/GB2003/005335 patent/WO2004052484A2/en not_active Application Discontinuation
- 2003-12-08 AU AU2003288436A patent/AU2003288436A1/en not_active Abandoned
- 2003-12-08 EP EP03780355A patent/EP1581317A2/en not_active Withdrawn
- 2003-12-08 GB GB0513769A patent/GB2412883B/en not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
See references of WO2004052484A3 * |
Also Published As
Publication number | Publication date |
---|---|
GB0513769D0 (en) | 2005-08-10 |
AU2003288436A1 (en) | 2004-06-30 |
AU2003288436A8 (en) | 2004-06-30 |
WO2004052484A2 (en) | 2004-06-24 |
WO2004052484A3 (en) | 2004-08-19 |
GB2412883A (en) | 2005-10-12 |
GB2412883B (en) | 2006-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101090755B (en) | Simulated experience apparatus | |
US4247107A (en) | Electronically controlled roadrace system with sound generator | |
US20050215327A1 (en) | Computer controlled car racing game | |
TW200527259A (en) | Input system and method | |
EP1581317A2 (en) | Toy system | |
CN206965132U (en) | A kind of control system of toy rail racing car | |
US4291877A (en) | Toy vehicle engine sound device | |
CN106730614A (en) | Exercycle and its exercise apparatus | |
WO2018120282A1 (en) | Intelligent rail code-scanning racing toy vehicle and control method therefor | |
KR20090080574A (en) | Interactive dental hygiene instructional apparatus and method | |
WO2004052485A2 (en) | Toy system | |
JP4712205B2 (en) | Performance command game device, game machine control method, information storage medium, and program | |
JP2007215750A (en) | Railroad operation simulation game system, and game machine and server device used in the system | |
US9770663B2 (en) | Computerized car racing game system | |
JP3272943B2 (en) | Game system | |
US20070293324A1 (en) | Slot track management system | |
JPS5985648A (en) | Apparatus for measuring hearing reaction time | |
JP3609043B2 (en) | Race execution system for line-guided racing game machine | |
JPH0434871Y2 (en) | ||
JP4918010B2 (en) | GAME DEVICE, GAME DEVICE CONTROL METHOD, AND PROGRAM | |
JP4046958B2 (en) | Game control method for race game machine | |
JPH07110301B2 (en) | Circuit game equipment | |
WO2024119410A1 (en) | Remote control (rc) vehicle, control method, system and apparatus for rc vehicle, and device | |
JP2000042245A5 (en) | ||
GB2398515A (en) | Processor Controlled Toy Car |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20050705 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PT RO SE SI SK TR |
|
AX | Request for extension of the european patent |
Extension state: AL LT LV MK |
|
DAX | Request for extension of the european patent (deleted) | ||
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20100701 |