Skocz do zawartości

Platforma Stewarta - model 3d w Matlabie.


Jatren

Pomocna odpowiedź

Witam, ostatnio zabrałem się za zaniechany niegdyś projekt platformy Stewarta.

Chciałem kiedyś zamodelować ją sobie w Matlabie by zrobić aplikację animującą ruch po zadanych współrzędnych przemieszczeń i rotacji górnej platformy (na podstawie kinematyki odwrotnej).

Na początku jednak chciałem, by program działał tak, że po wpisaniu współrzędnych robot pokazywał od razu swoje końcowe położenie.

Program wykonałem ale nie do końca mnie satysfakcjonuje.

Otóż wykonałem model platformy na podstawie funkcji patch i wygląda to jako dwa płaskie sześciokąty, które są od siebie oddalone o określoną odległość:

Po wpisaniu danych górna platforma przemieszcza się względem dolnej:

Wszystko działa ok, ale chciałbym połączyć te platformy ramionami, przynajmniej w formie linii, które wraz z wprowadzonymi danymi zmieniałyby swoją pozycję.

Mój algorytm w skrypcie wygląda następująco:

%===============Definicja BRYŁ:

load wsp

%platforma dolna

sciana0=[1 2 3 4 5 6];

%platforma gorna

sciana1=[1 2 3 4 5 6];

x=0;y=0;z=324.5;fi1=0;fi2=0;fi3=0;%dane stanu początkowego

%==============rysowanie brył:

figure(1);

axis([-500, 500, -500, 500, -500, 500]);hold on

platforma0=patch('Vertices',wsp0,'Faces',sciana0,'FaceColor','y');grid on

platforma1=patch('Vertices',wsp1,'Faces',sciana1,'FaceColor','m');grid on

%=============ustawienie platform wg układu globalnego:

wymplat1=size(wsp1);

pplat1=(FuA0(x,y,z,fi1,fi2,fi3)*[get(platforma1,'Vertices'),ones(wymplat1(1,1),1)]')';

set(platforma1,'Vertices',pplat1(:,1:3));

Następnie podaje się współrzędne przemieszczenia platformy, obliczane są po kolei nowe położenia ramion i ich długości i na końcu znowu rysowanie platform i ich ustawienie na nowej pozycji.

Mam pytanie, czy ktoś wie jak można połączyć funkcję patch z jakąś inną funkcją rysującą linie w 3d tak, by te linie także mogły zmieniać swoje położenie?

Pozdrawiam.

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.