Skip to content

Simulink interface #8

@BystrickyK

Description

@BystrickyK

Ve složce interface dělám simulink řešení toho rozhraní - v podstatě jsem vzal nějaké vnitřnosti těch simulink modelů od Quanseru a upravil je. Myslím, že rozhraní by fungovat mělo, bohužel to nemám jak otestovat. Simulink model má problém s EKF, odchází tam xhat do nekonečna. Pokud se do NLMPC hodí stav přímo ze simulace, tak to funguje. Je trochu otravné, že nemůžu použít ten objekt EKF, který jsem si vytvořil už v Matlabu - NLMPC to třeba umí (nebo přesněji to vyžaduje).
EDIT: U EKF je problém s measurement funkcí, není mi úplně jasné, jak dát tomu bloku najevo, že měřím stavové proměnné x1 a x3.
EDIT2: Už jsem to vyřešil, zadávání těch measurement funkcí je poměrně neintuitivní

Rozhraní je v tom oranžovém zakomentovaném modelu, až někde na druhé vrstvě subsystému - Quanser to tak měl. Jsou tam i nějaké kontroly proti nárazu - nastavení napětí na nulu, pokud je vozík daleko od středu. Ta Quanserovská je úplně v tom nejnižším subsystému, udělal jsem i jednu kontrolu v subsystému nad tím. Jinak to vypadá, že v x souřadnici je prostor tak v rozsahu -0.3m až 0.3m; můj NLMPC se roztahoval víc - přidal jsem tedy váhu na x souřadnici a už to docela zvládá. Explicitně MPCčku omezení x bohužel dát nemůžeme, strašně to zvyšuje výpočetní časy.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions