Jak spočítat počet kroků pomocí akcelerometru

hlasů
3

Chci vědět, jak vypočítat kroky pomocí akcelerometru. Vlastně jsem vypočítat zrychlení a použít tento kód počítat krok

length = sqrt(x * x + y * y + z * z);
if(length>=2){
   stepcount+=1;
}

kde délka vypočítat zrychlení pomocí acceleration.x, acceleration.y, acceleration.z ale můj hlavní problém při spuštění tuto aplikaci STEPCOUNT dává správnou hodnotu kroku, ale postupem času projít jeho hodnota není correct.Plz mi pomoct

Položena 23/01/2010 v 07:09
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
2

Edit : Asi jsem špatně problém. Viz Omnifarious' odpověď, což je více poľadovaného.


Pokud budete mít délku vektoru zrychlení, že se nebude dát celkovou ujetou vzdálenost. To bude trochu složitější, než že:

  • Nastavit vzdálenost (skalární) a rychlost (vektor) na 0 pro začátek.
  • V každém časovém intervalu, přidejte aktuální zrychlení vektor k vektoru rychlosti vypočítat aktualizovanou vektor rychlosti.
  • V každém časovém intervalu, přidejte velikost vektoru rychlosti vzdálenosti akumulovat ujeté vzdálenosti.
  • Pokud se tyto intervaly nejsou jednotky intervaly v tolik času, souřadnicový systém, který používáte, potom měřítko zrychlení a rychlosti vektorů odpovídajícím způsobem. Například, když se zrychlení je vyjádřena v m / s ^ 2 a vaše interval vzorkování je 100 ms, pak se před přidáním do vektoru rychlosti měřítko vektoru zrychlení o 0,1. Stejně tak, když se usazují rychlost do vzdálenosti.

Předpokládejme například, že jste urychlit trochu a pak cestují při ustálené rychlosti, zrychlení vektor bude 0. Vzhledem k tomu, některé rychlost vybudovala, ujetou vzdálenost by měla vytrvale dál zvyšuje.

Pokud chcete sledovat aktuální polohu, pak tvrdí, že jako vektor, a držet přidání aktuální rychlosti vektor k němu v každém časovém intervalu.

To je inerciální navigační aplikace výpočtem a chyby začnou hromadit (ve vektoru rychlosti, a tím i přes vzdálenost) v průběhu času. Budete muset udělat nějaké experimentování vidět, jaké přesnosti můžete doufat, že si.

Odpovězeno 23/01/2010 v 07:18
zdroj uživatelem

hlasů
5

V podstatě používáte náhlé zrychlení nad určitou hodnotu jako znamení, že někdo končící nebo výchozí krok.

Za prvé, musíte se ujistit, že skončí vzorkování akcelerometru často dost nenechte ujít krok. Pak budete muset ujistit, že jste správně hádat o tom, co by měl být váš práh.

To bude vyžadovat hodně pokusů a omylů.

Co bych doporučil je grafů, co je délka v průběhu času a zjistit, jestli můžete přijít s dobrým prahovou hodnotou, která je obvykle správný.

Ale bez ohledu na to, že to nikdy bude přesné. Myslím, že jediný způsob, jak skutečně změřit kroky přesně je s čidlem paty v botě.

Odpovězeno 23/01/2010 v 07:20
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more