How gyro steering wheel controls measured




And not only to the steering wheel was attached gyroscope! The second was on foot, and the third dragged rubber rings to the cover of the ashtray. All these tricks - to learn, not "lag" if the steering wheel and not "tupit" whether the gas pedal.

Although the wheel is mechanically connected to the wheels, and the gas pedal - with the throttle, the car responds to the driver's commands immediately. Especially if the automatic gearbox and electronics "tupit." Delay significantly complicate management, may lead to undesirable vibrations. It is therefore important to know what the rate of reaction of the car on the driver's commands.

The first method of finding the delay - use the data from the port of OBD (On-Board Diagnostics). This port is connected to the diagnostic bus (CAN bus) of the vehicle. It is used when a read error codes of the engine and transmission. It also contains information about the current engine speed, fuel consumption, coal gas pedal, throttle, etc.
To connect to the bus, I bought a car a typical Chinese «obd reader" for a thousand rubles.

This device can be connected to any modern car. However, cheap reader gives more information than on the instruments of the car. Ie For our purposes, it is useless. On the whole, with the diagnostic port and the bus has a number of problems:
  • proprietary protocols and data standards in bus
  • An unknown accuracy / inaccuracy of the data ​​li>
  • unpredictable delay
  • I do not understand this li >
  • It was therefore decided to gather their own measuring devices from scrap gyroscopes and Arduin.

    Measurement Technique h4>
    The first gyroscope was "firmly" attached to the handlebar masking tape. He defined the steering angle. The second gyro drawn to the leg of the driver scrunchy. He passed the brake pedal / gas. Last unit was secured in the cabin. He had besides the gyro akkselerometr and collect data from other sensors. The data is then sent to the laptop through the virtual COM port via usb.





    As its captain obviously for measuring delays necessary to synchronize the time on all sensors. Now synchronization relizovana "vlob": receiving sensor subtracts from the time of arrival of the signal (defined by interruption of the wireless module) magic constants - the time needed to send and receive data.



    To determine this magic constant zhetsko pressed sensors to each other and rotate. The delay between the readings just gives that same "magic constant".

    About sensors h4>
    Collected two modules based on Arduino Uno:

    • Additional scheme (Shield) for prototyping, planted on top of the Arduino;
    • gyroscope based MPU-6050, soldered in Shield;
    • radio module nrf24l01 +, soldered in Shield.
      • double-sided board by laser of the iron technology;
      • board matching logic levels 5v & lt; - & gt; 3.3v;
      • gyroscope based MPU-6050 interface I2C ;
      • Radio nrf24l01 +.

        Measurements h4>
        I do not have a car, so we tested on the Mitsubishi Lancer my friend Constantine.



         

        All tests were carried out on a dead end road section for general use, so speed is not great.
        Kostya was driving at a speed of 30 km / h are actively turning the steering wheel and modulating the gas pedal. Training vehicles are near shied sideways, watching our actions not adequate USED Lancer.

        I was sitting with a laptop on the passenger seat and drove obtain data from sensors.
        The following chart reflects the typical indications of the gyroscope, pull the leg:



        The vibrations from the engine, the driver's hands, road - all lead to noise. Especially obviously they appear in the graphs of acceleration of the car body.



        To combat the high frequency noise of the data pre-processed low-pass filter (function filtfilt Matlab). The filter was chosen so as not to introduce additional delay in the signal.

        I note that the gyros determine the speed of rotation of the gas pedal and steering wheel, and we need a corner. For this testimony from sensors on the steering wheel and foot were integrated. Then used to compute the delay cross-correlation (function finddelay Matlab).

        The graph below shows the rotation angle of the pedal (foot), the acceleration of the vehicle along the respective axis and acceleration of the vehicle adjusted for the calculated delay:



        Kostya pressed and released the gas pedal and the car reacted only after 124 milliseconds. Speed ​​- about 30km / h Speed ​​- 3000 r / min.
        At a speed of 30km / h delay to the steering of the machine according to the results of individual tests ranged from 90 - 95 MS.



        Plans h4>

        • Measure the delay on other cars;
        • Measure the time from when you press the gas pedal (or release the clutch) to 100km / h (or 402m).
        • To measure the reaction force on the steering wheel in a turn (feedback);
        • Measure the pulse driver before / during / after the passage of a line.

          Source: habrahabr.ru/post/218029/

Tags

See also

New and interesting