logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Montaż rejestratora kształtu trawnika w ruchomej kosiarka - pomiar kąta względem ziemi

Marek_Gorecki 16 Cze 2023 10:06 1041 34
  • #1 20619132
    Marek_Gorecki
    Poziom 16  
    Witam,

    Mam starą kosiarkę elektryczną i chciałbym w niej zamontować rejestrator kształtu trawnika.
    To raczej zabawka edukacyjna.
    Zrobiłem na akcelerometrze i niby działa.
    Ale działa dobrze tylko na postoju.
    Jeśli kosiarka ruszy to występują piki.
    Czy jest jakas mozliwośći aby zmierzyć kąt względem ziemi na poruszającym się obiekcie?

    Z góry dziekuje i pozdrawiam
  • #3 20619295
    miszcz310
    Poziom 24  
    Nie mogę znaleźć filmiku, ale ogólnie to co chcesz zrobić, to jest stabilizacja położenia drona (łódeczki, samolotu, kosiarki zdalnej, etc). Nie wiem jak masz to zrobione teraz, ale to się robi przy pomocy akcelerometru i magnetometru plus "magiczne filtry".
    Tutaj masz kanał do człowieka który sobie robił różne tego typu rzeczy:
    https://www.youtube.com/@rctestflight/videos
    Z tego co pamiętam to on używał (kiedyś jak oglądałem) tego:
    https://ardupilot.org/ardupilot/
    Tutaj powinno być jak to jest zaimplementowane.
  • #4 20619670
    JacekCz
    Poziom 42  
    Przyśpieszenie (w ruchu) jest fizycznie tożsame z przyciaganiem grawitacyjnym, i nie jest do udrożnienia przez goły (nie posiadający kontekstu) przyrząd pomairowy

    @miszcz310
    Tu obok jest skrytykowany doszczętnie "filmik" jakiego jutobowego mitomana -elektronika.

    @tmf
    Po Tobie spodziewałem się lepszej rady.

    Dodano po 4 [minuty]:

    Marek_Gorecki napisał:
    Czy jest jakas mozliwośći aby zmierzyć kąt względem ziemi na poruszającym się obiekcie?


    Tak, każdy militarny samolot, atomowy okret podwodny to ma.
    Co tam będziemy o kilku dolarach rozmawiać, dżentelmenów to nie obchodzi technologia żyroskopowa
  • #5 20619748
    Marek_Gorecki
    Poziom 16  
    Niby jest akcelerometr, niby on działa.
    Ale podczas ruchu pokazuj błędnie.
    Czy nie ma innej opcji?
    Ja nie mówie o technologii militarnej oczywiscie.
    Może są jakieś scalone czujniki kąta?
    Przecież to typowe zastosowanie.
  • #6 20619772
    JacekCz
    Poziom 42  
    Marek_Gorecki napisał:
    Niby jest akcelerometr, niby on działa.
    Ale podczas ruchu pokazuj błędnie.


    Nie pokazuje błędnie, ale DOKŁADNIE pokazuje, tyle że coś innego niz ty chcesz.
    Tak, akcelerometr, jak mówił kapral, jak sama nazwa wskazuje, służy do ...

    Dodano po 58 [sekundy]:

    Marek_Gorecki napisał:
    Może są jakieś scalone czujniki kąta?


    A jakiego kąta ?
  • #8 20619796
    JacekCz
    Poziom 42  
    Marek_Gorecki napisał:
    Chodzi mi o pomiar kąta pochylenia.
    Czyli inaczej mówiąc, jak zrobić poziomnicę ale która działa na poruszającym sie obiekcie.


    Zauważyłeś jak się zachowuje woda w szklance w ruszającym / hamujacym pociągu ?
    Zdefiniowałeś sobie - ciekawe ćwiczenie myślowe - poziom ? Pomedytuj, zależnie o podstaw wyjściowych, można dojść do ciekawych odmiennych wyników. W szczególności "poziom" nie jest żadną kategorią zasadniczą ("aksjomatem") w fizyce.

    Zminiaturyzowany żyroskop, ciekawe samo w sobie, a może nawet żyroskop bez części obrotowych ... jednak dieta wysokoryżowa rozwija
  • #9 20620103
    Marek_Gorecki
    Poziom 16  
    Ja rozumiem co to znaczy przyspieszenie, czy bezwładność.
    Znam zasady dynamiki i rozumiem dlaczego akcelerometr nie nadaje sie do tego celu.
    Wiem też jak działa żyroskop taki tradycyjny, czyli z wirującymi dyskami.
    Ale pytanie jak działa żyroskop w układzie scalonym ( zapewne nie ma części obrotowych) i czy on nada sie do takiego zadania.
    Temat jest raczej zabawą, syn poznaje elektronikę i wspólnie taki temat sobie wymysleliśmy.
    Może ktoś bawił się żyroskopem, może wie jak ten żyroskop półprzewodnikowy działa w rzeczywistosci?
  • Pomocny post
    #10 20620155
    Ture11
    Poziom 39  
    Marek_Gorecki napisał:
    Może ktoś bawił się żyroskopem, może wie jak ten żyroskop półprzewodnikowy działa w rzeczywistosci?


    W wielkim skrócie:

    - akcelerometr (np. LIS35DE) pokazuje zmierzone wartości przyśpieszeń w osiach, a to, że przy okazji pokazuje przyśpieszenie ziemskie, to jakby efekt uboczny. Akcelerometr na płasko wskaże np. X=0.0, Y=0.0, Z=1.0, a przy obróceniu o 90 stopni wskaże np. X=1.0, Y=0.0, Z=0.5. Wynik ten będzie taki sam przez cały czas pomiaru. Te wartości grawitacji mierzone są jakby przypadkiem, bo oddziałują na akcelerometr, ale głównym celem akcelerometru jest pomiar przyśpieszenia równolegle do danej osi.

    - żyroskop (np. L3GD20) pokazuje wartości w jednostce np. stopnie/radiany na sekundę. W spoczynku, wartość z żyroskopu to jest zero. Jeśli obrócisz go o 90 stopni w ciągu 1 sekundy, wartość pojedynczego pomiaru będzie 90. Wraz z zatrzymaniem obrotu, wartość mierzona wróci do zera.

    - jest jeszcze magnetometr (np. LIS3MDL), czyli w zasadzie kompas. Tu nie podpowiem, jak działa; jednostką wyjściową jest Gauss.


    Na rynku dostępne są układy scalone, które pełnią jedną lub kilka z wymienionych roli. Role te nazywa się stopniami swobody, bodajże (DoF - Degrees of Freedom).

    Możesz kupić np. moduł 3DoF - będzie to np. akcelerometr 3-osiowy, możesz też kupić moduł 6DoF - akcelerometr 3-osiowy + żyroskop 3-osiowy. Moduł 9DoF? - 3 osie akcelerometru + 3 osie żyroskopu + 3 osie magnetometru.

    Jest jeszcze 12DoF - o ile się nie mylę, to jest taki 9 DoF z dodatkowym pomiarem ciśnienia atmosferycznego (z którego da się przecież wyliczyć wysokość nad ziemią).

    Co Ciebie powinno interesować? - nie jestem specjalistą, ale moduły 6DoF (akcelerometr+żyroskop) powinny być wystarczające do realizacji IMU - Inertial Measurment Unit (można użyć modułu 9DoF, wtedy dokładność powinna być większa, bodaj). Co to dokładnie jest IMU, nie opowiem, ale danymi wyjściowymi z przygotowanego IMU nie będą już dane typu ACC( X,Y,Z) + GYR(X,Y,Z) + MAG(X,Y,Z), tylko będą to trzy wartości: PITCH, ROLL, YAW. Z tego, co wiem, nic więcej Ci nie potrzeba.
  • #11 20620223
    TvWidget
    Poziom 38  
    Marek_Gorecki napisał:
    Znam zasady dynamiki i rozumiem dlaczego akcelerometr nie nadaje sie do tego celu.

    Jeśli znasz zasady dynamiki to je wykorzystaj. Zwróć uwagę, że przyspieszenie ziemskie jest stałe a te związane z ruchem w przypadku kosiarki oscylują wokół wartości zero. Jeśli uśrednisz wyniki pomiaru z akcelerometru za odpowiednio długi czas to pozbędziesz się składowej zmiennej.
  • #12 20620262
    JacekCz
    Poziom 42  
    Jeszcze jedno.

    Filozofia pomiaru. GDYBY te pomiary było doskonale dokladne, to super. Ale nie są.
    O ile np kompas w danej chwili pokazuje kierunek ze swoją nie genialną dokładnością (dobry taktyczny przyjmijmy 2 stopnie) , to nie zalezy co robił w ostatnim czasie,

    Z wieloma pomiarami jest odmiennie, polega na całkowaniu. Po 10 zatrzymaniach, spowolnieniach i ruszeniach , plus zakręty i pochyły poprzeczne całka z realnych pomiarów wskazuje np -30 stopni. Zdrowy rozsądek mówi, że teren płaski, przyrząd że poważne pochylenie.
    To jest trudne a akcelerometrem za 1M $ o rozmiarach lodówki, z takim za 3 dolary (patrząc w sufit) nie widzę szans. Ileż bitów dokładnych on może dawać? 6? 8? 10 ? Trzeba by robić liczne przerwy (postój) na skorygowanie.
  • Pomocny post
    #13 20620485
    miszcz310
    Poziom 24  
    JacekCz napisał:
    @miszcz310
    Tu obok jest skrytykowany doszczętnie "filmik" jakiego jutobowego mitomana -elektronika.

    Jakbyś mógł to jeszcze raz napisać po polsku to może bym zrozumiał o co Ci chodzi.

    Ludzie co Wy tutaj wpisujecie. Zobaczcie sobie tego ardu pilota. Robicie z tego jakieś zagadnienie porównywalne z postawieniem człowieka na księżycu, a autor chce sobie zrobić mapkę trawnika!
    Tak jak napisalem i ktoś już tutaj wspomniał. Są systemy gdzie wykorzystuje się akcelerometr i magnetometr i stosując odpowiednie filtrowanie można uzyskać bardzo fajne wyniki. Nie jest to może trywialne ale na pewno w zasięgu ręki.

    Btw. Masz może możliwość nagrania danych z akcelerometru i wrzucenia tutaj? Może np. jakiś ruch w linii prostej? Domyślam się, że kosiarka też trochę trzęsie co raczej tylko zwiększa szumy, ale może coś wykombinujemy.


    Edit. https://youtu.be/3-IBOJ5FQvI Chciałbyś coś takiego zrobić? Tylko pomiar na zewnątrz?
  • #14 20620747
    Marek_Gorecki
    Poziom 16  
    Próbowalem uśredniać wyniki. Niby coś tam wychodzi ale to nie jest powtarzalne.
    RObie ten sam przejazd na górkę ale wynik jest inny jeśli po drodze najedzie na jakas przeszkodę, zwolni potem nagle przyspieszy .
    Wszystkie zmiany predkosci totalnie zmieniają wykres.
    Przy pomocy akcelerometru to sie raczej nie uda bo nawet jak uśrednię pomiar to jak maszyna rusza to do liczenia średniej wezmę też to przyspieszenie startowe które całkowicie zmieni kształt zmierzony. Potem jak zacznie sie zatrzymywać to znów pojawi się bład od zatrzymania.
    Zatem owszem coś tam widać na wykresie ale generalnie szału nie ma.
    Próbowałem też jak działa pomiar kąta w telefonie.
    Otóż tam także aplikacja poziomnicy reaguje na przyspieszenia, zatem temat jest dużo trudniejszy niż myślalem.
    Miałem nadzieje że wystarczy GPS i akcelerometr i pieknie wszystko wyjdzie, a tu jednak diabeł tkwi w szczegółach.
  • #15 20620764
    TvWidget
    Poziom 38  
    Z jaką częstotliwością wykonujesz pomiary i za jaki okres uśredniasz wyniki ?
  • #16 20620781
    miszcz310
    Poziom 24  
    Nie wiem jak dokładnie i co chcesz mierzyć, ale jest też opcja triangulacji. Wtedy robisz dwa nadajniki i jeden odbiornik mierzy siłę sygnałów z obydwu i na tej podstawie masz polozeni na płaszczyźnie. Jak ma być w 3 wymiarach to 3 nadajniki. Nie jest to łatwe pewnie ale być może wifi może się do tego nadawać. Pytanie jakiej wielkości trawnik masz i jaka dokładność chcesz finalnie otrzymać.
  • #17 20620818
    JacekCz
    Poziom 42  
    Marek_Gorecki napisał:
    Próbowałem uśredniać wyniki. Niby coś tam wychodzi, ale to nie jest powtarzalne.


    Ja ci obiecałem pot, krew i łzy.
    To jest numerycznie bardzo skomplikowane, zwłaszcza na amatorskich czujnikach o ŻADNEJ dokładności (a jakiej, co za model?), nijakiej częstotliwości pomiarów itd...

    miszcz310 napisał:
    Ludzie, co Wy tutaj wpisujecie? Zobaczcie sobie tego ardu pilota. Robicie z tego jakieś zagadnienie porównywalne z postawieniem człowieka na księżycu, a autor chce sobie zrobić mapkę trawnika!
    Tak jak napisałem i ktoś już tutaj wspomniał. Są systemy, gdzie wykorzystuje się akcelerometr i magnetometr i stosując odpowiednie filtrowanie można uzyskać bardzo fajne wyniki. Nie jest to może trywialne, ale na pewno w zasięgu ręki.


    miszcz310 obiecał sukces, powołując się na filmik, więc niech zrobi, co mówi.
  • #18 20620836
    TvWidget
    Poziom 38  
    JacekCz napisał:
    z biedą pochylenie 15st stwierdza

    Nawet tani masowo produkowany akcelerometr w stabilnych warunkach pozwoli na określnie kąta względem płaszczyzny ziemi z dokładności lepszą niż 0.1°.

    Dodano po 12 [minuty]:

    Używać określania płaszczyzna ziemi mam na myśli płaszczyznę styczną do globu ziemskiego. Inaczej mówiąc płaszczyznę prostopadłą do tego co potocznie nazywa się pionem.
  • #19 20620862
    sweter_007
    Poziom 14  
    Marek_Gorecki napisał:
    Witam,
    Zrobiłem na akcelerometrze i niby działa.
    Ale działa dobrze tylko na postoju.
    Z góry dziekuje i pozdrawiam

    Witam. Podaję rozwiązanie :
    *1 Zatrzymujemy pojazd.
    *2 Uśredniamy odczyty z akcelerometru aż błąd spadnie poniżej zadanego epsilon.
    *3 Przeliczamy odczyt z akcelerometru na kąt oraz przebytą odległość od ostatniego postoju i zapisujemy.
    *4 Ruszamy pojazdem zadany dystans.
    *5 GOTO *1
  • #20 20620865
    TvWidget
    Poziom 38  
    Najpierw trzeba ustalić co dokładnie w tym wypadku znaczy pojęcie "kształt trawnika".
  • Pomocny post
    #21 20620868
    tomaszdko
    Poziom 12  
    Pierwszy lepszy MPU6050 , MPU 9250 , BNO055 .
    1. Odczytujesz dane akcelerometru dodajesz filtr dolnoprzepustowy .
    2. Odczytujesz dane żyroskopu
    3. Dane żyro i akcelerometru robisz fuzję przez filtr komplementarny

    Tu już masz pomiar kątów do 80 stopni (no raczej kosiarką nie będziesz kosił na 90 stopni :D ) . By kosić obracając w 360 stopni :) to musisz znać głębszą matmę i mieć dziwną kosiarkę .

    4 . Oś Z robisz scalając żyro + kompas i masz właściwie wszystko co ci trzeba
    Kiedyś to napisałem w bascom i fajnie to chodziło (problem miałem jedynie z osią Z ale poszło)

    Tu masz link do gościa (kopalnia wiedzy emerytowanego inżyniera) co opisuje od A do Z jak to się robi włącznie sterowanie proporcjonalne i PID sprzężone z sterowaniem żyro/akcelerometr i do tego wizualizacja 3D . Wybierz tylko te co Cię interesują i miłej zabawy .




    Wszystkie odcinki z playlisty "9-Axis IMU LESSON" . Nawet jak znasz słabo angielski to i tak zrozumiesz .
  • #22 20621181
    miszcz310
    Poziom 24  
    JacekCz napisał:
    Miszcz310 obiecał sukces, powołując się na filmik, więc niech zrobi, co mówi.


    Hahaha. Jakiś słaby troll. Powiem tylko, że nie będziesz mi mówił, co mam robić. Nic nie obiecałem, a nawet gdybym coś obiecał, to nie tobie, więc nie wciskaj się między wódkę a zakąskę. Jeśli mi się zachce, to zrobię, ale na pewno nie dlatego, że sobie Jacula z elki coś napisał. (⁠.⁠ ⁠❛⁠ ⁠ᴗ⁠ ⁠❛⁠.⁠)
  • #23 20621536
    tmf
    VIP Zasłużony dla elektroda
    JacekCz napisał:
    o jest numerycznie bardzo skomplikowane, zwłaszcza na amatorskich czujnikach o ŻADNEJ dokładności (a jakiej, co za model?), nijakiej częstotliwości pomiarów itd...

    Te czujniki o żadnej dokładności potrafią stabilizować pozycję np. drona z dokładnością do centymetrów. Jasne, że nie jest to proste do oprogramowania, ale są gotowce, które można wykorzystać.
    Nie wiem co masz do mojej propozycji użycia kompasu - jest to właśnie urządzenie, które podaje ci kąt pomiędzy osią NS Ziemską i urządzeniem. Oczywiste jest, że warto to opakować innymi czujnikami, np. z akcelerometru dodać info o przebytej drodze, które można korygować wskazaniem GPS z ew. korektą (DGPS) itd.
  • #24 20621783
    JacekCz
    Poziom 42  
    tmf napisał:
    JacekCz napisał:
    o jest numerycznie bardzo skomplikowane, zwłaszcza na amatorskich czujnikach o ŻADNEJ dokładności (a jakiej, co za model?), nijakiej częstotliwości pomiarów itd...

    Te czujniki o żadnej dokładności potrafią stabilizować pozycję np. drona z dokładnością do centymetrów. Jasne, że nie jest to proste do oprogramowania, ale są gotowce, które można wykorzystać.
    Nie wiem co masz do mojej propozycji użycia kompasu - jest to właśnie urządzenie, które podaje ci kąt pomiędzy osią NS Ziemską i urządzeniem.



    Stabilizować, tak, akcelerometr jest do tego.

    Do kompasu się odnoszę jako pozytywny przykład (w wymiarze jakosciowym aka "moralnym") *) , głownie dla podkreślenia że jest tu pomiar pierwotny - dla odróżnienia od pomiarów z pierwszą / drugą pochodną / całką.
    *) Z drobną "gwiazdką" gdy mówimy o urządzeniu stalowym, albo posiadającym kilka kg noża ze stali wysokowęglowej.


    tmf napisał:

    Oczywiste jest, że warto to opakować innymi czujnikami, np. z akcelerometru dodać info o przebytej drodze, które można korygować wskazaniem GPS z ew. korektą (DGPS) itd.


    Czyli jednak mała gwiazdka u dołu.

    Zliczanie drogi z akcelerometru ... ho ho ho ... całka drugiego rzędu. Kto ma podkład, od razu rozumie problemy, kto nie mia, nie zrozumie.

    Atomowy okręt podwodny ma akcelerometr jak lodówka / samochód, tzw "wchodzenie do służby" trwa rok, co wśród wielu oznacza skalowanie przyrządów, a i tak wymaga korygowania wg danych astronomicznych podczas rejsu w służbie.

    Dodano po 54 [sekundy]:

    JacekCz napisał:
    Zliczanie drogi z akcelerometru ... ho ho ho ... całka drugiego rzędu. Kto ma podkład, od razu rozumie problemy, kto nie ma, nie zrozumie.


    W języku amerykańskich filmów - efekt motyla.
  • #25 20622066
    Marek_Gorecki
    Poziom 16  
    tomaszdko napisał:
    Pierwszy lepszy MPU6050 , MPU 9250 , BNO055 .
    1. Odczytujesz dane akcelerometru dodajesz filtr dolnoprzepustowy .
    2. Odczytujesz dane żyroskopu
    3. Dane żyro i akcelerometru robisz fuzję przez filtr komplementarny

    Tu już masz pomiar kątów do 80 stopni (no raczej kosiarką nie będziesz kosił na 90 stopni :D ) . By kosić obracając w 360 stopni :) to musisz znać głębszą matmę i mieć dziwną kosiarkę .

    4 . Oś Z robisz scalając żyro + kompas i masz właściwie wszystko co ci trzeba
    Kiedyś to napisałem w bascom i fajnie to chodziło (problem miałem jedynie z osią Z ale poszło)

    Tu masz link do gościa (kopalnia wiedzy emerytowanego inżyniera) co opisuje od A do Z jak to się robi włącznie sterowanie proporcjonalne i PID sprzężone z sterowaniem żyro/akcelerometr i do tego wizualizacja 3D . Wybierz tylko te co Cię interesują i miłej zabawy .




    Wszystkie odcinki z playlisty "9-Axis IMU LESSON" . Nawet jak znasz słabo angielski to i tak zrozumiesz .



    I udało Ci się zrobić pomiar kąta względem ziemi niezależnie od tego czy jedziesz, hamujesz, przyspieszasz itp pojazdem na którym czujnik jest zamontowany?
    Powoli wydaje mi się to niemożliwe.
  • #26 20622188
    TvWidget
    Poziom 38  
    Marek_Gorecki napisał:
    Powoli wydaje mi się to niemożliwe.

    Może opisz co zrobiłeś. Bez tego jest mało prawdopodobne aby ktoś tu wskazał co jest przyczyną niepowodzenia.
  • #27 20622234
    Marek_Gorecki
    Poziom 16  
    Użyłem akcelerometru po prostu.
    Podaje on stabilny wynik z rodzielczoscią 0.1%.
    Wszystko jest pięknie na postoju.
    Jeśli kosiarka rusza to pojawiają się dziwne wartości.
    Próbowałem je uśrednić programowo, sprzętowo ale nic to nie pomagało .
    Liczyłem też mediane i nic.
    Ale tak na chłopski rozum, jeśli kosiarka nagle rusza, to pojawia się przyspieszenie, które wpływa na wynik i kazde uśrednienie ten bład uwzględni.
    Jeden z kolegów podpowiadał mi aby zatrzymać ją i zmierzyć.
    Niby tak, ale ile można tych zatrzymań robić?
  • #28 20622243
    TvWidget
    Poziom 38  
    Marek_Gorecki napisał:
    Użyłem akcelerometru po prostu.

    Akcelerometr mierzy przyspieszenie w trzech osiach.
    Jak często wykonujesz pomiary ?
    Co dokładnie robisz pomiarami dotyczącymi poszczególnych osi ?
    Za jaki okres i w jaki sposób uśredniasz pomiary ?
  • #29 20622294
    tomaszdko
    Poziom 12  
    Pamiętam że mi to fajnie pracowało (chodząc po domu i podwórku) , trzymało kąty stabilnie . Poszukam kodów na starym laptopie bo akurat mam 3 dni wolne .

    Najlepiej napisz jaki akcelerometr używasz ,mcu , podaj kod z opisem (ja piszę w bascom więc odczyt C lub asm będzie mi stwarzał problemy ale tragedii nie będzie) .
  • #30 20622531
    Marek_Gorecki
    Poziom 16  
    Ilość pomiarów nie gra już roli.
    Próbowałem przez 500ms mierzyć je co 20 us nawet.
    Potem liczyłem średnią a i tak wychodziło różnie.
    Oczywiście to działa, wyniki statyczne są bardzo dobre, ale ta składowa od ruszania się, od bujania sie na boki, od zatrzymywania będzie zawsze w akcelerometrze i to jest najgorsze.
    Tak jak koledzy wcześniej wspomnieli, na samym akcelerometrze nie da sie tego zrobić.
    Moje pytanie jest takie, czy da sie to w ogóle zrobić w warunkach amatorskich.

Podsumowanie tematu

Użytkownik poszukuje sposobu na pomiar kąta nachylenia w ruchomej kosiarki elektrycznej, w której zamontował akcelerometr. Problemy z dokładnością pomiarów wynikają z wpływu przyspieszeń podczas ruchu kosiarki, co prowadzi do błędnych odczytów. W dyskusji zaproponowano użycie żyroskopu oraz filtrów do fuzji danych z akcelerometru i żyroskopu, co może poprawić dokładność pomiarów. Wskazano również na możliwość użycia układów scalonych, takich jak MPU6050, MPU9250, BNO055, które mogą pomóc w stabilizacji pomiarów. Użytkownik rozważa także zastosowanie GPS do korekcji wyników.
Podsumowanie wygenerowane przez model językowy.
REKLAMA