I would like to measure the step length during the walk and I am searching some ideas to solve this problem.

I am not really an expert on sensors so I am trying to collect some information in order to understand how to build a system for this purpose. Normally I use arduino with accelerometers and pressure sensors embedded into shoes.

I was thinking that maybe a possible solution consists in finding the distance between the two feet at every moment, and reading the distance values when each foot hits the ground (such event can be detected by using pressure sensors).

I don't know if some sensors able to track small distances exist. In case can you please give me a link where I can have some information?

Do you have any suggestion or hints to solve this problem?

  • \$\begingroup\$ Android phone have this app, you can google it to know their algorithm, it uses gps. \$\endgroup\$ – Abdul Rehman Mar 20 '13 at 1:14
  • \$\begingroup\$ I think it is too inaccurate for my purposes since it is based on GPS. I need to track the step lenght at each step and not just an average after some walked meters. \$\endgroup\$ – L_T Mar 20 '13 at 12:44

It's actually a fairly difficult problem, depending on your constraints and requirements. Determining local positioning is prone to high levels of interference and accumulation of error.

GPS will be way too inaccurate unless you setup a super expensive differential GPS system, which sounds like it would be too much for you.

You could use accelerometers/gyroscopes as you mentioned, but there is a reasonable amount of error depending on your funds and how much error you can tolerate.

I'm not exactly sure what the application of this project is, but a low cost solution could be to just mount some ultrasonic distance sensors to the shoes? Or you could use cameras and colored shoes to track the movement? Just some thoughts.

Personally I'd just tie a rope to the shoes and then I'd know how long every step would be :)

  • \$\begingroup\$ Hello! Thanks a lot for your answer. You mentioned to use ultrasonic distance sensors and to attach them to the shoes. Can you please provide a link to such sensors? I am able to find ultrasonic sensors for long distances...and to measure distance between the sensor and an obstacle. Instead I need to measure the distance between two sensors. Do you have experience with them? Are they suitable in your opinion to achieve my goal? I plan to use those sensors in real-time applications, so latency is very important in my case, along with small amount of errors in the measurements. \$\endgroup\$ – L_T Mar 20 '13 at 10:14
  • 1
    \$\begingroup\$ Doesn't have to be a rope. It could be a stretch sensor -- adafruit.com/products/519 \$\endgroup\$ – Scott Seidman Mar 20 '13 at 14:52
  • \$\begingroup\$ @Luca Check out these sensors here. Just make sure to check the minimum distance is less than your step. \$\endgroup\$ – 7200rpm Mar 21 '13 at 3:27

You could do this using an IMU. (3 axis accelerometers, and rate gyroscopes). By integrating twice the accelerations returned by the accelerometers and taking into account the orientations using the rate gyros. you can know the position of your IMU sensor

BUT, theses system drift! You have to add some knowledge to the system to cancel or account for the drifts.

For example, you could detect when the foot hit the ground. At this point, you know that it's speed relative to the ground is 0 and that the foot is flat on the ground. Thus you can reset the drifting computed speed vector and angles. In fact, you perform the inertial measurement only during a short time, when the foot is on the air.

It sounds feasible, but it also sounds that there will be a lot of real world issues to account for. For instance :

  1. How to detect for sure that the foot is on the ground?
  2. Where to put the IMU system on the shoes?
  3. ...
  • \$\begingroup\$ Hi!Many many thanks for your answer. I would embed the pressure sensors in the sole like explained in this paper: cim.mcgill.ca/~haptic/pub/LT-ET-AL-MMSP-10.pdf , and thanks to the algorithms there reported I can understand when the foot is on the ground and when it is on the air. Then I would attach the IMU to each shoe, in the back, near the heel. Do you have any IMU sensor to suggest? Any other advise? I will use an Arduino Board to digitalize the sensors analogue values. Thanks in advance \$\endgroup\$ – L_T Mar 20 '13 at 11:25
  • \$\begingroup\$ I think this is actually the best/easiest method. The drift won't be that bad over the course of a single step. \$\endgroup\$ – Rocketmagnet Mar 20 '13 at 12:24
  • \$\begingroup\$ yes I am also arriving to the same conclusion. However I wonder if there are also other sensors, maybe based on infrared or on magnetism... Anyways, can you reccommend some IMU sensors I could buy online? I am asking for suggestions according to the experience of who is more expert than me in this field. Thanks in advance \$\endgroup\$ – L_T Mar 20 '13 at 12:43

Using Doppler shift and sound-waves might work. Transmitter in one shoe, receiver in the other.

The Doppler shift will be zero at some point (when both feet are stationary at the end of the stride?). The D-shift will be at a max as the legs cross.

Knowing time and the integral of D-shift should dictate distance. Maybe?

Or just rope the shoes together like 7200rpm said!!

  • \$\begingroup\$ Hi, thanks a lot. Do you think this approach is enough precise? Do you have some sensors to suggest me to achieve this? Any link to products website is very appreciated. \$\endgroup\$ – L_T Mar 20 '13 at 13:05
  • \$\begingroup\$ @Luca - it's just an idea or brainstorm thing. Ultrasound might be the best to go for because, as mentioned earlier, cars are now fitting them for collision control and you might be able to kidnap some of this tech for your application. You get a very resonant peak with ultrasound transducers and the benefit is unwanted noise elimination. \$\endgroup\$ – Andy aka Mar 20 '13 at 13:20

Not the answer you're looking for? Browse other questions tagged or ask your own question.