Konformal geometrik cebir ile robotlarda ters kinematik problem çözümü
Solution of inverse kinematics problem in robotics using conformal geometric algebra
Yazar: CEREN AKCAN
Danışman: PROF. DR. HAKAN TEMELTAŞ
İstanbul Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Mekatronik Mühendisliği Ana Bilim Dalı / Mekatronik Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2014
Konu: Mekatronik Mühendisliği = Mechatronics Engineering

Özet:
Robotik çalışmalarında ters kinematik çözümleri için kullanılan yöntemler ve bu yöntemlerin geliştirilmesi geniş bir çalışma alanı oluşturmaktadır. Robotlar yaygın olarak fabrikalarda, tıpta, insanlar için zararlı olan işlemlerin gerçekleştirilmesinde kullanılmaktadır. Robotların bu geniş çalışma alanında ters kinematik probleminin çözümü ve bu çözümlerin hassasiyeti büyük önem taşımaktadır. Robotik çalışmalarda kullanılan ters kinematik yöntemleri ve çözümleri ağır matematik işlemleri içermekte ve detaylı bir görsel sonuç sunamamaktadır. Bilgisayar grafiklerinin gelişmesi ile robotikte ters kinematik problem çözümlerinin görsel olarak bulunması fikri gelişmiştir. Bu amaç doğrultusunda öncelikle bilgisayar üzerine uygulanabilecek görsel bir matematiksel dil kullanılmalıdır. 
Matematikte geometrik bir cebir geliştirme çalışmaları milattan önce üçüncü yüzyıla kadar dayanmaktadır. Öklid' in "Elementler" adlı çalışması geometrik alanda bilinen ilk çalışmadır. 19. yüzyılda Hermann Grassmann dış cebir fikrini tanıtmıştır. Aynı yüzyılın sonlarına doğru dış cebir ile kuaternion cebri birleştirilerek Clifford cebri tanıtılmıştır. 20. yüzyılda ise bu tezde tanıtılan geometrik cebir ve konformal geometrik cebir tarafından tanıtılmıştır. 21. yüzyılın başında bilgisayarların gelişmesi ile geometrik cebir bilgisayar grafikleri alanına dahil olmuştur ve bugüne kadar geometrik cebri bilgisayar programları ile kullanmak ve uygulama geliştirmek için kütüphaneler ve programlar geliştirilmiş ve geliştirilmeye devam edilmektedir. Bu tezde Dr. Christian Perwass tarafından geliştirilen CluViz adında bir program kullanılmıştır. CluViz programı hem geometrik cebir hem de konformal geometrik cebir için görsel ve matematiksel sonuçlar elde edebilmektedir.
Geometrik cebir, obje ve operatörleri tanımlamak için vektörler ve matrislerden daha fazla matematiksel işleme izin veren bir matematiksel dildir. Geometrik cebir; lineer cebir, vektör cebri, kuaternionlar, karmaşık sayılar gibi matematiksel dilleri birleştirerek kullanma imkanı sunmaktadır. Bu kadar fazla cebri ve matematiksel dili içermesine rağmen görsel olduğu için basit ve kolay anlaşılmaktadır. Geometrik cebirde içerdiği bir çok matematik dilinden dolayı yeni matematiksel işlemler tanıtılmıştır. Bunlar iç, dış ve geometrik çarpım isimleri verilen işlemlerdir. İç çarpım, vektörlere uygulanan nokta çarpım işlemi ile aynıdır. Dış çarpım, bu cebir için tanımlanmış bir işlemdir ve çarpılan iki objenin arasındaki alanı kapsamaktadır. Geometrik çarpım  ise iç ve dış çarpımın kombinasyonudur. Bu işlemler, cebirde doğrudan objelere uygulanabilmektedir. Geometrik cebirde bir objenin geometrik çarpıma göre tersi alınabilmektedir yani bölme işlemi yapılabilmektedir. Bölme işlemi de, geometrik cebirde dualite tanımını meyadana getirmektedir. Geometrik objelerin dualitesi, objenin üç boyutlu birim dereceye (e1^e2^e3) bölünmesi ile bulunabilmektedir. Bu işlemler, objelere sandviç operatörü uygulanması ile cebirde meydana getirilen yeni özelliklerde bulunmaktadır. Sandviç operatörü bir objenin bir obje ya da operatör ile önce soldan çarpılması daha sonra ise ikinci obje ya da operatörün tersi ile sağdan çarpılması anlamına gelmektedir. Sandviç operatörü kuaternionlar cebrindeki vektörler arası dönme için kullanılmaktadır, bu cebire de kuaternion cebrinden gelmiştir. Bu cebirdeki yeni özellikler, objelerin iz düşümü, rejeksiyonu, yansıması ve en önemlisi ise dönme özelliğidir. Kuaternion cebrinde dönme özelliği sadece vektörler üzerine uygulanabilirken, geometrik cebirde tüm objelere uygulabilmektedir. Geometrik cebirde düzlem elemanı olarak kullanılan (e1^e2) ile kuaterinion cebrinde sanal uzayı tanımlayan i, j, k elemanları özellik olarak birbirine benzemektedirler. Bu benzerlik kullanılarak geometrik cebirde üç boyutlu dönme tanımlanmıştır. Geometrik cebirde dönme işlemi için, dönmenin eksenini ve dönme miktarını barındıran dönme operatörü tanımlanmıştır. Dönme işlemi, döndürülecek obje ve dönme operatörü ile sandviç işlemi yapılarak meydana gelmektedir.
Konformal geometrik cebir, geometrik cebrin üç boyuttan beş boyuta genişletilmiş halidir. Konformal geometrik cebirde üç boyutlu uzaya ilave olarak uzayda orijin konumunu ve sonsuzu ifade eden iki temel vektör daha eklenmiştir.  Konformal geometrik cebirde doğrular, düzlemler, çemberler ve küreler, bu iki temel vektör sayesinde vektör olarak tanımlanabilmektedir. Tüm geometrik objeleri aynı denklem ile ifade edebilmekten dolayı konformal geometrik cebirde objeler arası işlem yapma, objeler arası farklılıkları ve benzerlikleri bulma kabiliyeti gelişmiştir. Objeler arası mesafeler geometrik cebirde geliştirilen iç çarpım işlemi ile bulunabilmektedir. Ayrıca objelerin kesişim bölgeleri dış çarpım işlemi ile bulunabilmektedir. Konformal geometrik cebirde dualite işlemi, objelerin tanımlanabileceği farklı bir denklem meydana getirmektedir. Bir küre, merkezinin bulunduğu konumu ve yarıçap bilgisini içeren denklem ile ifade edilebileceği gibi aynı zamanda dört noktanın kesişimi veren denklem ile de ifade edilebilmektedir. Konformal geometrik cebirde objelerin herhangi bir vektör etrafında dönme işlemleri ya da herhangi bir vektör boyunca öteleme işlemleri yapılabilmektedir. Ayrıca dönme operatörü ve öteleme operatörlerinin geometrik çarpımları ile objelere tek bir işlemle hem dönme hem öteleme işlemi yani motor işlemi kolaylıkla uygulanabilmektedir. 
Bu tezde konformal geometrik cebir ile robotlardaki ters kinematik probleminin çözülmesi konu alınmıştır. Ters kinematik çözüm için jacobi ters kinematik, geometrik ters kinematik gibi çözümler literatürde bulunmaktadır. Ayrıca literatürde robotlarda ters kinematik problemi çözüm üzerine konformal geometrik cebir ile de çözümler bulunmaktadır. Bu çözümlerin bir kısmı daha hızlı çözüme ulaşmak amacıyla yeni algoritmalar ile test edilmiştir. Tezde uygulama için sanayide yaygın kullanılan bir robot seçilmiş ve bu robot CluViz programı sayesinde görsel olarak bilgisayar programına aktarılmıştır. Seçilen robotun beş adet dönel eklemi bulunmaktadır. Robotlarda ters kinematik probleminin tanımı bir robotun istenilen konuma, istenilen bir yönelimle gitmesinin çözümü ya da çözümlerdir. Bu problem tanımıyla tezde kullanılan robota, robotun mekanik özelliklerine ve çalışma uzayına göre bir istenilen son konum ve yönelim verilmiştir. Bu istekler doğrultusunda uzayda robotun eklemlerinin bulunması gereken konum ya da konum olasılıkları hesaplanmıştır. Hesaplanma sırasında robotun eklemleri üzerinde geometrik objeler oluşturularak, istenilen noktadan robotun tabanına doğru objeler arası işlemler ile robotun eklemlerinin konumları bulunmuştur. Eklem konumları bulunduktan sonra eklemlerin üzerlerine robot kolları boyunca yeni objeler meydana getirilerek iç çarpım işlemi yardımıyla objeler arası açılar yani robotun eklem açıları bulunmuştur. Konformal uzayda hem robotun hem de çalışma uzayının görüntülenebilmesi ile robotun ters kinematik çözüm olasılıkları görsel matematiksel olarak sonuca kavuşturulmuştur.

Abstract:
Methods used to solve inverse kinematics problems and development of these methods constitute a research workspace in robotics area. Robots are used extensively in factories, medical applications and processes which can be hazardous for people health and life. Hence solution of inverse kinematics and precision of this solution is very important in the view of reliability. Also new designed robots such as modular or parallel robots, have been widespreaded in endustrial area because of their design and flexibility. With all these developments, inverse kinematics solutions is common and important study subject in robotics litterateur. Inverse kinematic methods used in robotic area include heavy methematical processes and can not present visual solution in detail. Along with evaluation of computer graphics, an idea about obtaining inverse kinematics solution visually had arised. In the direction of this idea, a mathematical language which can be implement over computer has been a necessity.
Geometrical algebra has been reaserching as from B.C. third century. The study called "Elements" is the first known study about geometry in the history. In 19th century, the idea of exterior algebra has been introduced by Hermann Grassmann. Towards the end of nineteeth century, Clifford algebra combined the external algebra and quaternion was introduced by William Kingdon Clifford. Geometric algebra and conformal geometric algebra which are presented in this thesis, introduced in the 20th century by David Hestenes.
Geometric algebra and conformal geometric algebra get involved in computer graphics area in the conference of computer graphics in 2001. Along with evaluation of the computer technology in the beginning of the 21th century, geometric algebra and conformal geometric algebra started to use more frequently and until today many programs and libraries have been developed and still are developing by researchers. The library called "Clifford" is developed for program called Maple. This library can be used for geometric algebra and conformal geometric algebra. Unfortunately, this library has not visual solution for both algebras. The library called "Gable" is developed for program called "Matlab". This library has visual solution. On the other hand, this library has not supported for conformal geometric algebra yet. In this study, a program called as CluViz developed by Dr. Christian Perwass has been used. CluViz can obtain both mathematical and visual solutions for geometric algebra and conformal geometric algebra. At the same time, the conformal and geometric spaces used in visual solutions have been introduced, can be served visually to the user.
Geometric algebra is a mathematical language offering more mathematical procesess with respect to vectors and matrices to define objects and operators. Geometric algebra consist linear algebra, vector algebra, quaternions and complex numbers. Altough consisting of many mathematical languages, geometric algebra is an easyly understandable language because of being visually. Geometric algebra consists of "blades" which are the basic elements of this algebra. Blades have dimensions such as one-blade, two-blade and etcetera. One-blades are three base vectors. And two-blades are spanned by two base vectors.  Renewed operations has been introduced in geometric algebra owing to consist many mathematical language. These operations are inner, outer and geometric operations. The inner product is the same with dot product operator for vector algebra. The outer product is an operator relatively new described for this algebra. The outer product's solution embraced the area between two objects which are applied by outer operator. The goemetric product is a combination of inner and outer products. These mathematical operations can be applied to objects directly. In geometric algebra, inner products makes objects lower degrees with respect to their dimensions. Also the inner product consists the knowledge of degree between two objects. Hence, it can be used as criteria for perpendicularity and it can be used to find degree between objects numerically. The outer product can be used as criteria for parallelism. The geometric product can be applied for all objects. Also in geometric algebra, the reverse of an objects can be found with respect to geometric product. This ability shows that divide operation between objects can be applied in geometric algebra. The divide operation causes a new description of an operation in geometric algebra which is "duality" operation. The dualty of an object can be found by dividing the object by three degrees unit blade(e1^e2^e3). Duality operator's meaning as visually is the objects which is describing the first object. For example the duality operator for a plane gives a line as a solution, in this case the line is perpendicular to the plane. Implementation new opearations together with sandwich operation to objects added new attributes to geometric algebra. Sandwich operator means that multiplying an object with an object or operator from left side, then multiplying with inverse of second object or operator from right side. The sandwich operator used for rotations between vectors in quaterinons, in this algebra the sandwich operator comes from quaterinons. The new attributes in this algebra are projection, rejection, reflection and the most important one is rotation operation. The projection, reflection, rejection and rotation attributes can be applied to the objects or between objects with single operation in this algebra. Attribute of the rotation of geometric algebra comes from quaternion algebra. In quaternions the rotation can be applied on only vectors. The (e1^e2) used as plane element in geometric algebra is likely to i,j,k defining imaginary space in quternion. The square of plane elements in geometric algebra and the square of imaginary elements in quaternions are same, both results of them are minus one. Using this likelihood, 3-dimensional rotation has been defined in geometric algebra. In geometric algebra, a new operator is introduced for rotation process. This operator consists of rotation axis and degree of the rotation. The rotation process can be applied with sandwich operator between object which will be rotated and the rotation operator. In this algebra, the intersection area between objects can be found with applying the duality operator to the inner products of the objects.
Conformal geometric algebra is an expanded geometric algebra from three dimensions to five dimensions. There are two additional base vectors in conformal geometric algebra. One of these base vectors is created to describe origin point in conformal space. The other base vector is created to describe infinity. With these two base vectors; lines, planes, spheres, points and circles can be described with one single equation or intersect of objects in conformal geometric algebra. Along with describing objects via same equation, the finding intersecting of objects and distances between objects be simple calculations in conformal geometric algebra. Finding distances between objects can be realized with inner product in one step and finding intersections of objects can be carried out with outer product in one step. The duality operator in conformal geometric algebra, bring about a new equaiton group to describe objects. A sphere can be introduced with an equation which consists the location of the sphere and the radios of the sphere. Also the sphere can be introduced by outer products of four conformal points on that sphere. Along with these two different definition of objects bring to existence two different definition of conformal space. These definitions are "the inner product of null space" and "the outer product of the null space". In CluViz programme, the user can use both of them voth mathematically and visually. For the transion between definitions or defining the object with the other definition, the user can use duality operator. In conformal geometric algebra, objects can be rotated about an arbitrary line or can be transformed through an arbitrary line. Besides with geometric product of rotation operator R and transformation operator T, an object can be rotated and translated with just one operation. With help of CluViz program, objects can be created in conformal space and whole conformal geometric operations can be implemented on whole object or one of its part.
In this thesis, the aim is finding solutions for inverse kinematics problems in robotics. There are some solutions in literature for inverse kinematics problem, such as inverse Jacobian kinematics and geometric inverse kinematics. Also there are some solutions for inverse kinematics with conformal geometric algebra. Some of these solutions are advanced for faster solution and they are tested by computer algorithms. In this study a robot used in industry is picked and robots specifications are embedded in CluViz program visually. The robot has five rotational joints. The definition of inverse kinematics problem is solution or solutions of robots joints' angles with specific desired point and orientation. With definition of inverse kinematics problem, in this study a desired point and orientation are given to program as inputs according to robot's mechanical constraints and work space. According to these inputs, the position of robot's joints or possible positions of robot's joints are calculated. During the calculations, some geometric objects are created on position of robot's joints. From desired point to the base of robot, the positions of robot's joints are calculated with operations of between objects. Some new geometric objects are created on robot's joints to calculate angles between objects or angles of joints. In conformal geometric algebra the solutions can be discovered visually and mathematically.