Test run with a three-axis accelerometer
Hello!
The question of the physical development of their own children is always relevant. The youngest son was three years old, and in addition to walks, I wanted to look for sports lessons for him. Since he is interested in various types of transport, the choice naturally fell on the runbike. After watching the incendiary videos, how older children stunt on the footbelt, I decided to investigate the issue in a bit more detail. Armed with IMU from Amperki on 10 degrees of freedom, Raspberry Zero W with a power supply and 40 lines of Python code, I went to a running school. What came of it - look under the cut)
Runbikes are not as common as children's bikes or scooters, but they have several advantages over other modes of transport. The child can sit on the saddle, as if on a bicycle and pushing with both legs alternately. This gives a more even load on both legs and back. Unlike the scooter, where only one jog leg works. An added bonus is that the child learns to balance. That is, a further transfer to a two-wheeled bicycle is supposed to occur without any complications.
Basically the design of the runbikes are quite simple. This is a metal frame (aluminum or steel), a steering wheel, a saddle and two wheels (which are more expensive to pump on models or made of foamed rubber). There are a couple of models with rear wheel suspension.
The damping of the rear wheel seemed to me a particularly important detail. The child will inevitably jump on the grabber from the curbs and ride on uneven roads (we live in Russia). Therefore, the presence of a damper should in theory reduce the load on the back. In the future, as the young rider's professionalism grows, the damper will also allow you to do jumps and other similar stunts .
Rummaging on the Internet, I discovered that no one had previously quantified the loads that fall on the frame of the runbike when jumping from various obstacles. Interest in this issue and a small amount of free time led to the fact that I collected from scrap materials an uncomplicated stand for measurements.
Accelerations will be measured by a three-axis accelerometer from the IMU sensorproduction Amperki. Using the accelerometer of cell phones to measure accelerations will not work due to the low measurement limit (+ -2G). The range of measurements on each of the axes of the Amperka module is + -8G, hopefully, that's enough.
The IMU sensor was attached to the frame with the help of a Topeak holder (I had to temporarily remove it from my bicycle), a piece of plexiglass and several layers of electrical tape. The Raspberry Pi Zero W singleplatnik was used to poll the sensor. A small Python script interrogated the accelerometer with a period of about 10 ms:
Power Raspberry was filmed with Power Bank from the same Amperki , and I did a remote launch from a cell phone with a terminal installed on it. I hid a single-board with a power supply unit in a cell phone case, and the IMU sensor itself was attached to the seatpost of the investigated runbikes as follows:
We took measurements together with Yevgeny Ivanov from the BegovelMsk school in Moscow . The racetrack for the test was kindly provided by two runbikes ( Puky LR Ride and Early Rider Trail Runner 14 ). These two models are common in running schools, the first - mainly for tricks, the second - for running races. Tires on both models were inflated to about 3.5 atm.
The test was that the rider Artem jumped from a small springboard on the test rung:
As a result, for each jump on the Raspberry SD card, the survey file of all three axes of the accelerometer was deposited every 10 ms. From each file you can derive such a graph, along the vertical axis the accelerations in G are plotted: The
graphs for similar jumps turned out to be quite similar, but the acceleration curves for the two studied models of runners differ very much. To simplify the picture, the following graph shows only the vertical components of the accelerations (for our experiment, this is the Y axis divided by the cosine of the angle of deviation from the vertical). The graph also indicates the time of arrival on the springboard (determined by video races) and the time of touching the floor after the jump (this is the maximum signal in amplitude).
As you can see, the frame of the runbike (and with it the child) when jumping from the springboard is experiencing a short-term shock load up to 10G! Suddenly. I thought the load was much lower. It can be concluded that it is not worth falling from the curbs while sitting with the 5th point on the saddle of the running leg. Otherwise, the spine and internal organs of the child will have a blow. It would be optimal to transfer this load to the legs. Therefore, a special step is available for the Puky LR Ride model , on which the child, when performing tricks, becomes legs.
What other conclusions can be drawn from these curves? About the following:
These unexpectedly interesting results were obtained from one simple experience. Finally, I would like to once again express my gratitude to the traveling school, rider Artyom and coach Yevgeny Ivanov .
Thank you for reading to the end and see you soon!
The question of the physical development of their own children is always relevant. The youngest son was three years old, and in addition to walks, I wanted to look for sports lessons for him. Since he is interested in various types of transport, the choice naturally fell on the runbike. After watching the incendiary videos, how older children stunt on the footbelt, I decided to investigate the issue in a bit more detail. Armed with IMU from Amperki on 10 degrees of freedom, Raspberry Zero W with a power supply and 40 lines of Python code, I went to a running school. What came of it - look under the cut)
Runbikes are not as common as children's bikes or scooters, but they have several advantages over other modes of transport. The child can sit on the saddle, as if on a bicycle and pushing with both legs alternately. This gives a more even load on both legs and back. Unlike the scooter, where only one jog leg works. An added bonus is that the child learns to balance. That is, a further transfer to a two-wheeled bicycle is supposed to occur without any complications.
Basically the design of the runbikes are quite simple. This is a metal frame (aluminum or steel), a steering wheel, a saddle and two wheels (which are more expensive to pump on models or made of foamed rubber). There are a couple of models with rear wheel suspension.
The damping of the rear wheel seemed to me a particularly important detail. The child will inevitably jump on the grabber from the curbs and ride on uneven roads (we live in Russia). Therefore, the presence of a damper should in theory reduce the load on the back. In the future, as the young rider's professionalism grows, the damper will also allow you to do jumps and other similar stunts .
Rummaging on the Internet, I discovered that no one had previously quantified the loads that fall on the frame of the runbike when jumping from various obstacles. Interest in this issue and a small amount of free time led to the fact that I collected from scrap materials an uncomplicated stand for measurements.
Accelerations will be measured by a three-axis accelerometer from the IMU sensorproduction Amperki. Using the accelerometer of cell phones to measure accelerations will not work due to the low measurement limit (+ -2G). The range of measurements on each of the axes of the Amperka module is + -8G, hopefully, that's enough.
The IMU sensor was attached to the frame with the help of a Topeak holder (I had to temporarily remove it from my bicycle), a piece of plexiglass and several layers of electrical tape. The Raspberry Pi Zero W singleplatnik was used to poll the sensor. A small Python script interrogated the accelerometer with a period of about 10 ms:
imu.py
import time
from pytroykaimu import TroykaIMU
imu = TroykaIMU()
imu.accelerometer.set_range('8G')
file_name = ''
print('Введите имя файла (без расширения)')
file_name = str(input ())
file_name = file_name + '.csv'
print('Запись пошла, прерывание Ctrl+C')
t0 = time.time()
imu_array = []
whileTrue:
try:
ax, ay, az = imu.accelerometer.read_gxyz()
gx, gy, gz = imu.gyroscope.read_radians_per_second_xyz()
imu_array += [time.time(), ax, ay, az, gx, gy, gz]
time.sleep(0.006)
except KeyboardInterrupt:
t1 = time.time()
lines = int(len(imu_array)/7)
print(" - Всего строк -", lines, '- записываем файл', file_name)
imu_file = open(file_name, 'w')
imu_file.write('time,ax,ay,az,gx,gy,gz' + '\n')
for i in range(lines):
imu_file.write(str(imu_array[7*i]) + ',' + str(imu_array[7*i+1]) + ',' +
str(imu_array[7*i+2]) + ',' + str(imu_array[7*i+3]) + ',' +
str(imu_array[7*i+4]) + ',' + str(imu_array[7*i+5]) + ',' +
str(imu_array[7*i+6]) + '\n')
imu_file.close()
print ('Запись завершена, время записи -', t1 - t0, 'сек')
break
Power Raspberry was filmed with Power Bank from the same Amperki , and I did a remote launch from a cell phone with a terminal installed on it. I hid a single-board with a power supply unit in a cell phone case, and the IMU sensor itself was attached to the seatpost of the investigated runbikes as follows:
We took measurements together with Yevgeny Ivanov from the BegovelMsk school in Moscow . The racetrack for the test was kindly provided by two runbikes ( Puky LR Ride and Early Rider Trail Runner 14 ). These two models are common in running schools, the first - mainly for tricks, the second - for running races. Tires on both models were inflated to about 3.5 atm.
The test was that the rider Artem jumped from a small springboard on the test rung:
As a result, for each jump on the Raspberry SD card, the survey file of all three axes of the accelerometer was deposited every 10 ms. From each file you can derive such a graph, along the vertical axis the accelerations in G are plotted: The
graphs for similar jumps turned out to be quite similar, but the acceleration curves for the two studied models of runners differ very much. To simplify the picture, the following graph shows only the vertical components of the accelerations (for our experiment, this is the Y axis divided by the cosine of the angle of deviation from the vertical). The graph also indicates the time of arrival on the springboard (determined by video races) and the time of touching the floor after the jump (this is the maximum signal in amplitude).
As you can see, the frame of the runbike (and with it the child) when jumping from the springboard is experiencing a short-term shock load up to 10G! Suddenly. I thought the load was much lower. It can be concluded that it is not worth falling from the curbs while sitting with the 5th point on the saddle of the running leg. Otherwise, the spine and internal organs of the child will have a blow. It would be optimal to transfer this load to the legs. Therefore, a special step is available for the Puky LR Ride model , on which the child, when performing tricks, becomes legs.
What other conclusions can be drawn from these curves? About the following:
- The damper on the LR Ride reduces the shock load on the frame of the runbike by about 30% (most likely even more, since the accelerometer on the hard frame of the Trail Runner 14 went into saturation). Also, the nature of the load increase varies, it becomes smoother than that of the model without a damper.
- The damper helps to increase the distance of the jump, since the child can use it as a kind of spring in front of the springboard (note the orange curve before the springboard ride).
- The damper dampens residual vibrations of the frame, it can be replaced that after the jump at LR Ride they are much smaller than those of Trail Runner 14, both in time and in amplitude. This increases the running speed and the comfort of the rider.
These unexpectedly interesting results were obtained from one simple experience. Finally, I would like to once again express my gratitude to the traveling school, rider Artyom and coach Yevgeny Ivanov .
Thank you for reading to the end and see you soon!