one embodiment of the present invention concerns a control system and method for controlling a plurality of vehicles on a fixed path . one particular embodiment of the system includes a position control and correction module for correcting spacing between vehicles . referring to fig1 and 2 , one vehicle 10 , out of a plurality of vehicles of a ride system , is shown with a body 12 , wheels 14 along with a guest 18 seated therein . the vehicle 10 is disposed on a path such as a track 20 which includes rails 22 that are supported by cross beams 24 . a bus bar or energizing rail 26 provides electrical energy from an electrical generator ( described below ) to the vehicle 10 through means of an electrode 28 . a disc brake 30 is shown mounted to a wheel 14 . a distance / speed sensor 116 may comprise a magnet 120 and a magnetic field or optical sensor 122 , which together function in a known manner to provide electrical pulses to a processor ( not shown ), which correspond to a distance traveled by wheel 14 . a processor , memory , timer , distance and a driving and stopping system ( each to be discussed further with reference to fig3 ) may be located within compartment 119 . referring now to fig3 , one embodiment of a vehicle control system for controlling a plurality of vehicles on a fixed path in accordance with the present invention is illustrated generally at 300 . in this embodiment , the control system 300 comprises a processor 310 , a memory 312 , a timer 314 , a distance / speed sensor 316 and a vehicle driving and stopping system 318 . the processor 310 may be any suitable processor such as a programmable logic controller . the memory 312 may be any suitable type including but not limited to ram , rom , eprom , and flash . the memory 312 may store a program for the processor 310 and store a look up table for a predicted range of locations given a duration that a vehicle is traveling along the track . the memory may also be configured to store wheel diameter measurement , horizontal wheel slip measurements and vehicle spacing measurement , e . g ., how far each vehicle is from a corresponding vehicle at any particular time . the timer 314 provides a timing function that may be used by the processor 310 to time an actual duration that the vehicle is traveling along the track . the distance / speed sensor 316 may comprise a magnet and a magnetic field or optical sensor which together function in a known manner to provide electrical pulses to the processor 310 which correspond to a distance traveled by the wheel . optionally , other sensors such as a multi - turn encoder may be employed . to determine the distance , the pulses may be counted or directly measured by the processor 310 to determine a distance and , therefrom , a location of the vehicle along the track . the vehicle driving and stopping system 318 may be interconnected with a drive motor 334 including a motor controller ( not shown ) and a brake 332 such as the disc brake 30 ( fig1 ). the drive motor 334 may be connected to drive one or more of the wheels 14 ( fig1 ) via velocity commands generated by the processor 310 and sent to the motor controller in a known manner . it will be understood for purposes herein that the greater the magnitude of the velocity command the greater the velocity of the vehicle . the processor 310 is configured , via any suitable means such as software or firmware , to receive an initial signal from a start indicator 324 that the vehicle has started traveling along the track and thereafter , to continuously , or at regular intervals , calculate an actual location for the vehicle along the track . optionally , transponders ( not shown ) may be located along the track and a sensor may be provided for ascertaining an actual location for the vehicle . the calculated actual location may be used by the processor 310 to control , via the vehicle driving and stopping system 318 , the distance between a plurality of vehicles so that vehicles maintain a predetermined spacing from one another . however , position errors may accumulate during operation because of , e . g ., vehicle wheel wear or wheel slippage . for example , as the vehicle increases in age , tires may begin to wear and become smaller , velocity and position errors may accumulate . also , when vehicles start out or round corners wheel slippage may occur causing further velocity and position errors . to reduce these errors , a position control correction module 330 is provided which may be configured to receive velocity commands from the processor 310 , and return a signal to the processor correcting the velocity commands based on velocity and position errors . accordingly , the position control correction module 330 advantageously reduces variation in predetermined distance between vehicles to reduce undesirable vehicle contact . to compensate for wheel wear , the position control correction module 330 working with the processor 310 , may be configured to calculate a distance between fixed points , e . g ., illuminated by transponders , that are located along a path and identified by additional vehicle position sensors and then compare that value with a known number of wheel revolutions sensed , e . g ., by the sensor 116 . current wheel diameter may be calculated and then applied to correct the measured velocity and acceleration . generally , to compensate for wheel slip , e . g ., during acceleration , the position control correction module 330 may compare a velocity command ( v n ), described above , to an actual velocity that the vehicle is traveling along the fixed path . if there is a difference between the velocity of the vehicle expected from the velocity command and the actual velocity of the vehicle , the velocity command may be reduced in magnitude such as to the actual velocity to eliminate the slippage and regain frictional engagement with the fixed path . thereafter , the velocity commands may be slowly ramped up in magnitude , described below , to thereby retain frictional engagement with the fixed path . referring now to the flow diagram of fig4 , further details of a position control correction module 330 for calculating corrected velocity commands , is shown . the position control correction module 330 comprises a primary loop 402 including calculator 404 for calculating a smoothed transition speed ( see below ), a timer 406 , a speed control function 408 , a summation 410 and a summation 412 . secondary loops 414 and 416 are provided for calculating error in velocity and error in position , respectively . more specifically , the secondary loop 414 comprises a calculator for calculating error in velocity ( e v ) via f ( k v )/ t and the secondary loop 416 comprises a calculator for calculating error in position ( e p ) via f ( k p ). reference may be had below for an understanding of the terms f ( k v ) and f ( k p ). the secondary loops 414 and 416 contain gain functions 418 and 420 to calculate and weigh the position and velocity errors for the summation 422 . in operation and during regular intervals , a summation 422 combines calculated velocity and position errors ( e v ), ( e p ) which are , in turn , fed to the summation 410 that subtracts the error values from the velocity at a particular sensed position ( v sp ) to achieve a corrected velocity g ( v ). the corrected velocity g ( v ) and the actual velocity ( not shown ) may be provided at 408 and communicated to the processor 310 ( fig3 ) for use in determining whether slippage of the wheel ( s ) 30 is occurring . if wheel slippage is determined to be occurring by the processor 310 , the processor may reduce the magnitude of the velocity commands to the motor to stop the slippage and then to begin to slowly ramp up the magnitude of the velocity commands to the drive motor as described above . the corrected velocity g ( v ) is thereafter output to the secondary loop 414 to calculate a new error in velocity ( e v ) and combined with the output from the timer 406 for use in the secondary loop 416 to calculate a new error in position ( e p ). it is also communicated to the processor 310 to determine whether velocity needs to be increased to correct an error in position and thus spacing between vehicles . optionally , to smooth and slowly ramp up vehicle transition speeds f ( v sp ) and prevent the error from accumulating in the system , the vehicle velocity commands ( v n ) may be applied to an algorithm such as that provided below . f ( v sp )= σ [ θ − 2π , λ π ( cos ( θ )+ 1 )·[ ½ ·( v nnew − v nold )]] where : the acceleration function f ( a ) of a vehicle may be calculated from the following equation where acceleration is limited by a percentage of the change in velocity to further reduce possible slip during acceleration . f ( a )= a n ·[( v n − v actual )/ v n ]% a function of a gain term ( k ) for ( used in calculating an error in velocity ( e v ) and an error in position ( e p ) see above ) velocity k v and position k p weigh the respective terms so that speed correction is smooth . these may be calculated as follows : if e v & gt ;& gt ; ø , θ = π , f ( a )= f ( a )· k correction referring now to fig5 , a schematic diagram showing a ride control system , usable with one embodiment of the present invention , is shown generally at 50 . as shown , the ride control system 50 comprises a path or track processor 52 which is in circuit with the energizing rail 26 comprising a number of circuit connections ( not numbered ) and a plurality of vehicle 310 ( fig3 ) each being located with a vehicle 10 ( fig1 ). it will be appreciated that in an optional embodiment ( not shown ), the track processor 52 may communicate via wireless communications with each vehicle processor 310 rather than , e . g ., via the energizing rail 26 . the track processor 52 may comprise a programmable logic controller and monitors track functions such as mode of the track machine , stopping and starting functions , and control of all track - switching elements via fail - safe signals . the track processor 52 and each vehicle processor 310 may communicate to ensure the mode of the track machine is safely controlled for the all vehicles mounted to the track . if there is disagreement of the mode of the track or if the vehicle senses itself out of range for position , velocity , or acceleration parameters or other fault conditions , the vehicle will communicate to the track processor and / or other vehicle processors to cause a stop or other reaction for each vehicle 10 . the track processor 52 may also be configured to determine and broadcast an ideal location of each vehicle to each vehicle on the path according to some predetermined plan such as every vehicle is spaced equally along the path . each vehicle , via each processor 310 , may then synchronize or vary its position along the path by increasing velocity or braking , as described above , to correct its spacing from other vehicles . a method of monitoring and controlling location of a plurality of vehicles movable along a path in accordance with another embodiment of the present invention is illustrated generally at 600 in fig6 . the method for controlling a plurality of vehicles on a fixed path comprises mounting a processor to each vehicle as shown at 602 and mounting a vehicle sensor device to each vehicle as shown at 604 . the method further comprises using each processor and each vehicle sensor device to determine an actual location of each vehicle while each vehicle is moving along the path step 606 and , at step 608 , using a position control correction module to compare each vehicle &# 39 ; s actual velocity to each vehicle &# 39 ; s velocity commands to determine if wheel slip is occurring and to decrease the magnitude of vehicle velocity commands where wheel slip occurs . technical effects of the herein described systems and methods include correcting a velocity of a vehicle to account for wheel slip . other technical effects include correcting a vehicle spacing on a track . while the present invention has been described in connection with what are presently considered to be the most practical and preferred embodiments , it is to be understood that the present invention is not limited to these herein disclosed embodiments . rather , the present invention is intended to cover all of the various modifications and equivalent arrangements included within the spirit and scope of the appended claims .
a method for determining slippage of at least one wheel of at least one vehicle having a motor and a processor that communicates velocity commands to the motor for varying a velocity of the vehicle is presented . the method includes determining an actual velocity of the vehicle over regular intervals ; comparing , over regular intervals , the actual velocity of the vehicle to the expected velocity from the magnitude of the velocity commands to determine whether there is slip of the wheel of the vehicle ; and reducing the magnitude of the velocity commands to equal approximately the actual velocity of the vehicle where there is slip of the wheel . a system and circuit carrying out the method are also presented .