Pavouk Hiwonder

Nedaří se vám s projektem a nenašli jste vhodné místo, kde se zeptat? Napište sem.
Pravidla fóra
Tohle subfórum je určeno pro konzultaci ucelených nápadů, popřípadě řešení komplexnějších projektů, které opravdu není možné rozdělit na menší části.
Většinu problémů jde rozdělit na menší a ptát se na ně v konkrétních subfórech.
Odpovědět
Uživatelský avatar
kiRRow
Příspěvky: 1266
Registrován: 07 kvě 2019, 07:03
Bydliště: Opava

Re: Pavouk Hiwonder

Příspěvek od kiRRow » 22 lis 2024, 16:35

Jako to přepočítávání na stupně náklonu je pro člověka ... programu bohatě stačí hodnoty 0-255 ... prostě zjisti jakou hodnotu získáváš při 15° náklonu a to pavoučkovi bude bohatě stačit. Ušetříš tím spoustu strojového času.

luger
Příspěvky: 217
Registrován: 30 dub 2023, 11:06

Re: Pavouk Hiwonder

Příspěvek od luger » 22 lis 2024, 17:05

A taky to tak dělám :D , ale chci to pochopit proč to jednou počítá stupně a jednou je rozsah 0-255. Když budu potřebovat výstup ve stupních tak jsem nahraný. Myslím že se hádají knihovny. Pokusím se matematicky převádět ty hodnoty 0-255 na srozumitelné hodnoty.

Uživatelský avatar
gilhad
Příspěvky: 832
Registrován: 07 bře 2018, 11:22

Re: Pavouk Hiwonder

Příspěvek od gilhad » 23 lis 2024, 00:01

;) To že se nějaké dvě knihovny jmenujou stejně a poskytují stejně pojmenované funkce, ještě neznamená, že obsahují stejný kód a že ty funkce budou vracet stejné výsledky (pokud je to jiné číslo verze, nemusí to sedět, nemluvě o tom, pokud je to ze dvou různých zdrojů).
A navíc i pokud obsahují stejný kód, tak je stejně můžou ovlivnit i ostatní knihovny okolo.
A i kdyby ne, tak nastavení kompilace do toho taky má co mluvit.

Takže tady se s tím dá dost experimentovat a podívat se, co se vlastně překládá v tom pavoučkovi a co se překládá v tom jen tak.

A nebo to prostě vzít jako podivnost, kterou nechceš řešit a napsat si konverzi z 0..255 na stupně, kterou budeš používat všude a jednou podmínkou v překladu si vybereš, jestli to přepočítává (v pavoučkovi), nebo jen vrcí argument (v jen tak programu).

Uživatelský avatar
kiRRow
Příspěvky: 1266
Registrován: 07 kvě 2019, 07:03
Bydliště: Opava

Re: Pavouk Hiwonder

Příspěvek od kiRRow » 23 lis 2024, 09:12

Ačkoliv se zdá nelogické a nemožné mít v programu deklarované dvě funkce se stejným jménem, je to zcela reálné. Nadává se tomu přetěžování funkcí a umí to člověku docela i zamotat hlavu.

luger
Příspěvky: 217
Registrován: 30 dub 2023, 11:06

Re: Pavouk Hiwonder

Příspěvek od luger » 23 lis 2024, 10:08

Asi máš pravdu. Vyzkoušel jsem různé knihovny "MPU6050" a pokaždé to dělá něco jiného. Na zbláznění.
Obecně tyto knihovny používají stejné funkce:

accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);

accelgyro.getAcceleration(&ax, &ay, &az);

Nějak jsem nerozpoznal rozdíl ve výpisu naměřených dat. Chci zatím používat jen X a Y ale mám dojem že mi tam dělá pěkný bordel ta osa Z. Hlavně při pohybu pavoučka - jakoby při velkém zrychlení pohybu vyhodnotil překročení i v osách X nebo Y (o těch cca 20°)a zastaví se. Ale to mi docela nabourává plynulý pohyb.
A co je nejhorší že to musím testovat systémem plazením se za pavoučkem a sledovat displej co vypisuje, ale stejně je to tak rychle že to ani nevidím.
A pořád nevím na co je ta knihovna "Math".

Uživatelský avatar
Caster
Příspěvky: 434
Registrován: 11 zář 2019, 09:02

Re: Pavouk Hiwonder

Příspěvek od Caster » 23 lis 2024, 10:31

luger píše:
23 lis 2024, 10:08
Chci zatím používat jen X a Y ale mám dojem že mi tam dělá pěkný bordel ta osa Z. Hlavně při pohybu pavoučka - jakoby při velkém zrychlení pohybu vyhodnotil překročení i v osách X nebo Y (o těch cca 20°)a zastaví se. Ale to mi docela nabourává plynulý pohyb.
Hodnoty, které se vypisují na displej si ukládej do paměti a pak si je vypiš např. přes sériovou linku (s doplňkem Excelu to lze načítat rovnou do tabulky).

Pohyb lze stabilizovat použitím Kalmanova filtru, který se obecně používá k predikci pohybu, za situace, kdy dochází k dočasnému výpadku dat nebo např. nelze dočasně sledovat pohyb objektu, který je na chvíli zakryt jiným objektem v popředí.

luger
Příspěvky: 217
Registrován: 30 dub 2023, 11:06

Re: Pavouk Hiwonder

Příspěvek od luger » 23 lis 2024, 11:12

Díky Caster,
prozatím se to snažím vyřešit jednodušší metodou a to tak že po velmi krátký čas sesbírám např. 5 hodnot a udělám průměr. Až pak vyhodnotím náklon. Výsledky jsou o něco lepší ale ještě to není ono. Sem tam ještě vyhodnocuje velký náklon a stopne se.
Výpis hodnot mám i na Serial monitor (všechno ok) - ale jen když ho držím v ruce tak to funguje (připojení jen přes usb, takže nejedou serva), když běhá po zemi (bez usb) tak už ne !
Něco bližšího o tom kalmanově filtru by nebylo ?

Uživatelský avatar
gilhad
Příspěvky: 832
Registrován: 07 bře 2018, 11:22

Re: Pavouk Hiwonder

Příspěvek od gilhad » 23 lis 2024, 11:40

Já bych si udělal ukládání na SD kartu s časem, na pavouka bych dal provizorní LEDku, která by na začátku výrazně zablikala a pak blikla třeba co 5 sekund (a zapsala se do logů) a natáčel bych pavouka na kameru se zapnutým vypisováním času do obrazu.
Pak bych mohl přesně porovnat logy s pohybem na kameře. Pokud by kamera ještě navíc čitelně zachycovala ten LCD display, tak by se to dalo ještě víc vylepšit.
Nebo na mobil, nebo tak něco, stejně jako když jsi ho dával na youtube

Jo a ta Math tam klidně mohla zůstat po nějakém ladění, kdy byla potřeba a pak ji nikdo nevyhodil, i když už potřeba nebyla. Takové věci se taky stávají. Ale pokud se program vejde do paměti, tak je to celkem jedno, prostě se při uploadu nahrává o sekundu déle. (A ještě bych se podíval, jestli se z ní neberou nějaké konstanty jako pi a podobně.

Uživatelský avatar
Caster
Příspěvky: 434
Registrován: 11 zář 2019, 09:02

Re: Pavouk Hiwonder

Příspěvek od Caster » 23 lis 2024, 11:48

luger píše:
23 lis 2024, 11:12
Něco bližšího o tom kalmanově filtru by nebylo ?
Podívej se na příklad kódu KalmanFilter_MPU6050.ino

Mpu6050 kalman library problem

Tohle jsem před pár lety zkoušel v OpenCV
simple-opencv-kalman-tracker
Podívej se na youtube video.

Kalman filtering demo

Tady se podívej na obrázek, jak ten Kalman funguje
Kalman Filter Implementation (Tracking mouse position)

Použití Kalmanova filtru pro vektorové řízení tahu rakety (na to se chystám):
TVC Rocket Flight software coding. MPU6050 kalman filter code

luger
Příspěvky: 217
Registrován: 30 dub 2023, 11:06

Re: Pavouk Hiwonder

Příspěvek od luger » 23 lis 2024, 13:22

- takže k čemu slouží knihovna "Math" se nedozvím :lol:
Gilhad - to už je jak sci-fi - kamery, sd paměť, logy, apod.... a přitom taková blbost :D jednoduchý gyroskop a tolik problémů.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host