Robotyzacja.com

..robotyka wokół naszych myśli

  • Zwiększ rozmiar czcionki
  • Domyślny  rozmiar czcionki
  • Zmniejsz rozmiar czcionki
Automatyka i Robotyka Robotyka Teoria robotyki Operator obrotu dowolna oś i kąt obrotu dookoła niej

Operator obrotu dowolna oś i kąt obrotu dookoła niej

Email Drukuj
Ocena użytkowników: / 0
SłabyŚwietny 

Niech dana będzie oś o kosinusach kierunkowych :
    l = lXi + lYj + lZk
Wyprowadzenie przez wykorzystanie operatorów obrotów względem osi X, Y, Z

Załóżmy, że

Image
Image

Rot(l,θ) = PRot(x,θ)P-1 =

Image
Image
Image

Gdzie odpowiednio :

a11 = nX2 + oX( oXcosθ - aXsinθ ) + aX( oXsinθ + aXcosθ )

a12 = nXnY + oX( oYcosθ - aYsinθ ) + aX( oYsinθ + aYcosθ )

a13 = nXnZ + oX( oZcosθ - aZsinθ ) + aX( oZsinθ + aZcosθ )

a21 = nXnY + oY( oXcosθ - aXsinθ ) + aY( oXsinθ + aXcosθ )

a22 = nY2 + oY( oYcosθ - aYsinθ ) + aY( oYsinθ + aYcosθ )

a23 = nYnZ + oY( oZcosθ - aZsinθ ) + aY( oZsinθ + aZcosθ )

a31 = nXnZ + oZ( oXcosθ - aXsinθ ) + aZ( oXsinθ + aXcosθ )

a32 = nYnZ + oZ( oYcosθ - aYsinθ ) + aZ( oYsinθ + aYcosθ )

a33 = nZ2 + oZ( oYcosθ - aYsinθ ) + aZ( oYsinθ + aYcosθ )
 

Upraszczam elementy diagonalne

a11 = nX2 + oX2cosθ + aX2cosθ + aXoXsinθ - aXoXsinθ = nX2 + oX2cosθ + nX2cosθ + aX2cosθ - nX2cosθ =

     =  nX2( 1- cosθ ) + cosθ

a22 = nY2( 1- cosθ ) + cosθ

a33 = nZ2( 1- cosθ ) + cosθ

Przekształcenie elementów pozadiagonalnych :

a21 = nXnY + oY( oXcosθ - aXsinθ ) + aY( oXsinθ + aXcosθ ) =

Image
 = nXnY + oXoYcosθ - aXoYsinθ + aYoXsinθ + aXaYcosθ =
        

        nXnY + oXoYcosθ + aXaYcosθ + sinθ( aYoX - aXoY ) =

        nXnY + oXoYcosθ + aXaYcosθ + nZsinθ +  nXnYcosθ - nXnYcosθ =

        nXnY + cosθ( nXnY + oXoY + aXaY ) + nZsinθ - nXnYcosθ =

        nXnY + nZsinθ - nXnYcosθ =

        nXnY( 1 - cosθ ) + nZsinθ

a31 = nXnZ ( 1- cosθ ) - nYsinθ

a12 = nXnY ( 1- cosθ ) - nZsinθ

a32 = nYnZ ( 1- cosθ ) + nXsinθ

a13 = nXnZ ( 1- cosθ ) + nYsinθ

a23 = nYnZ ( 1- cosθ ) - nXsinθ

Przyjęliśmy nałożenie osi x na oś l , wobec tego zamieniam kosinusy kierunkowe na :

a11 = lXlX( 1 – cosθ ) + cosθ

a12 = lXlY( 1 – cosθ ) – lZsinθ

a13 = lXlZ( 1 – cosθ ) + lYsinθ

a21 = lYlX( 1 – cosθ ) + lZsinθ

a22 = lYlY( 1 – cosθ ) + cosθ

a23 = lYlZ( 1 – cosθ ) – lXsinθ

a31 = lZlX( 1 – cosθ ) – lYsinθ

a32 = lZlY( 1 – cosθ ) + lXsinθ

a33 = lZlZ( 1 – cosθ ) + cosθ

Wprowadzając oznaczenia

lX = l1

lY = l2

lZ = l3

Image
Mając obrany układ współrzędnych o konkretnej orientacji można określić kąt obrotu i oś, które to nałożyłyby układ bazowy na dany układ – przy założeniu, że kąt  θ = (0 ÷ 180)0.
Niech dane będzie P
Image= Rot(l,
θ)= Image

nX + oY + aZ + 1 = a11 + a22 + a33 = 1 – cosθ + 3cosθ + 1 = 2 + 2cosθ

½( nX + oY + aZ - 1 ) = cosθ

Image

Przyrównuję elementy z głównej przekątnej

nX = a11

oY =a22

aZ = a33

nX = lXlX( 1 – cosθ ) + cosθ

oY = lYlY( 1 – cosθ ) + cosθ

aZ = lZlZ( 1 – cosθ ) + cosθ

Z czego można wyznaczyć kosinusy kierunkowe prostej l

 

Różnica elementów pozadiagonalnych :

oZ – aY = a32 – a23 = 2lXsinθ

aX – nZ = a13 – a31 = 2lYsinθ

nY – oX = a21 – a12 = 2lZsinθ

Z czego ostatecznie

 

Jako wiążącą dla dalszych obliczeń wybieramy co do wartości bezwzględnej największą z powyższych, następnie należy ją podstawić do dwóch z poniższych równań ( suma elementów pozadiagonalnych ) i obliczyć pozostałe dwie ( wygodne ze względu na ominięcie błędu popełnianego przy pierwiastkowaniu – niedokładność wyniku ) :

oZ + aY = 2lYlZ( 1 -  cosθ )

aX + nZ = 2lXlZ( 1 -  cosθ )

nY + oX = 2lYlX( 1 -  cosθ )

 

 
Naszą witrynę przegląda teraz 5 gości 

Szukaj artykułu

Partnerzy


Tematy pokrewne