İki ayaklı yürüyen robot için kontrol sistemi geliştirilmesi
Control system development for bipedal walking robot
Yazar: NUMAN MERT TAN
Danışman: YRD. DOÇ. DR. ZEKİ YAĞIZ BAYRAKTAROĞLU
İstanbul Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Mekatronik Mühendisliği Ana Bilim Dalı / Mekatronik Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2012
Konu: Mekatronik Mühendisliği = Mechatronics Engineering
Dizin: Robot denetim = Robot control ; Robotik = Robotics

Özet:
İki Ayaklı Yürüme Hareketi Modellemesi, Kontrolü ve Prototip İmalatı başlıklı TÜBİTAK projesinde, bu çalışmanın öncülü olarak, robotun bilgisayar ortamında benzetimi yapıldıktan sonra, katı modeli oluşturulmuş, mekanik yapı tasarlanıp uzuvlar ve aktarma organları gibi elemanlar seçilmiş ve elektronik donanımın entegrasyonu ve programlanmasıyla prototip çalışması hayata geçirilmiştir.Bu çalışma kapsamında robotun kontrol sisteminde geliştirmeler ve deneyler yapılmıştır. Bunlardan birincisi, iletişim protokolü CANopen üzerinde yapılan değişikliklerdir. Prototip geliştirme çalışmaları sırasında, CANopen protokolünün bir aracı olan SDO iletişimi kullanılmıştır. Deneysel çalışmalarda, uygulanan bu iletişim yöntemiyle, robotun referans hareket hızları ile uyumlu örnekleme periyodları elde edilememiştir. Dolayısıyla SDO iletişimi ile sağlanan kapalı çevrim kontrol sistemi, istenen hızlar için gerçek zamanlı hareket kontrolüne olanak vermemektedir. Bu nedenle, SDO yerine daha hızlı ve daha esnek veri alışverişine olanak sağlayan PDO iletişimine geçiş yapılmıştır.Yapılan ikinci çalışma, eklem yörüngelerinin üretilmesiyle ilgilidir. Daha önce yapılan çalışmalarda, robotun hareketlerinin referans yörüngelerini oluşturmak amacıyla bir MATLAB programı yazılmış ve yörüngeler bir dosyaya kaydedilerek gömülü bilgisayara iletilmiştir. Bu tez kapsamında eklem referans yörüngeleri, C dilinde yazılan ters kinematik algoritmasıyla gömülü bilgisayar üzerinden doğrudan üretilebilir hale getirilmiştir.Bir diğer çalışma, robota daha önce entegre edilmiş ancak kullanılmamış kuvvet/moment sensörlerinin devreye alınmasıdır. 3 eksende kuvvet ve moment ölçümü yapabilen kuvvet/moment sensörlerinin arayüzleri ve gömülü bilgisayar arasındaki iletişimi sağlamak için de CAN bus protokolü kullanılmıştır. Sensörlerin kontrol sistemine entegrasyonu için C dilinde yazılan kodlar Ekler bölümünde sunulmuştur. Kuvvet/moment sensörlerinin kullanılması özellikle kapalı çevrim dinamik yürüme kontrolü için sıfır moment noktası (ZMP)'nın hesaplanması ve kontrolü açısından oldukça önemlidir.Yapılan deneylerde, eklem momentleri iki farklı yöntemle elde edilmiştir. Bileklerdeki sensörlerden alınan ayak/yer temas kuvvet ve momentleri, robotun Jakobiyen matrisi aracılığıyla eklem momentlerine çevrilmiştir. Eklem momentleri ayrıca ölçülen motor akımları üzerinden de hesaplanmıştır. Her iki yöntemle elde edilen eklem momentleri karşılaştırmalı olarak verilmiştir.

Abstract:
One of the most important research topics in the field of humanoid and bipedal robotics is the study of human locomotion system and designing mechanisms that are able to fulfill human-like walking by means of generating and controlling task oriented walking trajectories.As a precursor of this study, TUBITAK project titled `Modeling and Control of Biped Walking and Prototype Manufacturing?, computer simulations of 12 dof biped robot was carried out and a solid model was constructed using SolidWorks program. Initial simulation studies were followed by the design of mechanical structure, design and selection of robot links and transmission systems and a prototype was completed with the integration and programming of electronic hardware.In the scope of this study, certain improvements were realized in the control system of the robot and experiments were carried out. One of these works are the changes applied on CAN bus communication protocol. Service Data Objects(SDO) is one of the protocols that can be used under CANopen communication and it allows the user to configure data inside CANopen object dictionary. During experimental studies such as making the robot follow discretized horizontal and vertical trajectories, it was observed that with the aforementioned communication method, sampling periods in compliance with the robot?s reference joint velocities could not be obtained. In this case, closed loop control system established with SDO protocol cannot afford real time walking control. Therefore, SDO protocol was replaced with PDO protocol that allows for faster and more flexible data exchange.PDO(Process Data Object) is a high priority CANopen protocol within data bus that is used for fast data transmission for real time applications. PDOs use producer/consumer model and are unconfirmed messages with high priority and no protocol overhead and thanks to this, process data can be transmitted from one node to any number of nodes swiftly.While SDO enables data exchange between only one node and server simultaneously during communication, if configured, PDO allows one driver to initiate data transfer between limitless number of drivers. There are four Write(Receive)-PDOs and four Read(Transmit)-PDOs configurable inside drivers that are abbreviated as RxPDO and TxPDO respectively.CANopen has 3 distinct message triggering modes. These are event or timer driven, remote transmission request and synchronous transmission(cyclic,acyclic). CANopen offers 2 different PDO transmission modes namely synchronous and asynchronous modes. Synchronous PDOs are transmitted within synchronization window after the synchronization object. On the other hand, asynchronous PDOs can be transmitted anytime during communication according to their priority as well as within synchronous window. Priority of synchronized PDOs are higher than those of asynchronized PDOs. In current experimental system configuration, both synchronized and asynchronized PDOs are available. Asynchronous PDO transmission mode possesses Remote Transmissino Request (RTR) defined in the motor driversIn `Motion Planning? chapter, Jacobian matrix which is required to calculate torque values to be used with measurements obtained with force/torque sensors integrated on ankle joints, was found using the forward kinematics equations.Jacobian matrix can be obtained with the geometric model available. Using the geometric model, with the assumption of a 6 degrees of freedom manipulator arm, Jacobian can be calculated by taking partial derivatives of geometric model functions. It can also be derived decomposing the coefficients of joint velocities in terms of robot?s end effector velocity in Cartesian plane.Within the context of this thesis, Jacobian was found with the method of recursive linear and angular velocity formulations. Jacobian?s first three rows and six columns represent transition caused by linear velocities, and last three rows and six columns represent rotation caused by angular velocities.The second major work was regarding the generation of joint trajectories. In the previous studies, reference joint trajectories for any movement were generated with a MATLAB program and resulting trajectory arrays were saved on a file and then passed to embedded computer while in this study, joint reference trajectories were generated with an inverse kinematics algorithm written in C language and applied to robot directly from the embedded computer.Inverse kinematics solution of the bipedal robot is the calculation of joint angles during motion, with the available knowledge of torso and feet distances.In trajectory planning section, generation of desired trajectories with the help of inverse kinematics and point to point polynomial fitting, was summarized and application to robot was presented schematically.After determining of desired torso and feet distances, joint trajectories can be generated by entering motion parameters such as step height, step length and step period into the functions of inverse kinematics program written in C language. Trajectories are created in transversal, longitudinal and vertical axes with regards to third and fifth order polynomials. In addition to sample joint trajectories for stepping of left foot, revelant velocity and acceleration profiles were also included in the related section. Longitudinal motion takes place in X axis while transversal motion is carried out in Y axis and vertical motion in Z axis according to pre-determined reference frames.The order of robot?s motion is as follows: Firstly, transfer of torso takes place transversally in Y axis, in the opposite direction of the stepping foot, followed by the first step. Then, torso moves forward to the foot in the front with the transfer of the foot in back latest.In order to maintain stability during motion, projection of robot?s center of mass has to fall inside the support polygon formed between the feet. Thus, displacement of torso takes place in double support phase where both feet contact with the ground whereas displacement of the feet takes place in single support phase where only one of the feet is in contact with the ground. Therefore, torso moves in opposite direction of the first stepping foot, to secure the location of projection of center of mass inside the support polygon formed by only one foot.Moreover, force/torque sensors previously mounted on the ankle joints were put into service. Force/torque sensors can measure forces and torques in 3 axis and communication between sensor interface and embedded computer was established by also using CAN bus protocol. Programming the protocol to utilize sensor measurement was explained in the related part of the thesis and codes written in C language for the integration of the sensors into the control system were presented in the attachment. Putting force/torque sensors into service is important in the way that they are key components on a biped walking mechanism while realizing closed loop dynamic walking control to locate and control the zero moment point.In the conducted experiments, two distinct methods of determining the joint torques were presented. One of the methods is the usage of motor currents and transmission system equations. Second method is the utilization of foot/ground reaction forces and torques obtained from the sensors integrated on ankle joints and Jacobian matrix. Comparison of joint torques obtained with both methods were given graphically.Torque behaviours of hip joints follow each other with small differences due to simpler mechanica structure of mentioned joints.In the knee joints, torque curves are less similar than hip joint torque curves. Main reason for this is that the mechanical transmission for knees are more complex than hip mechanical structure and transmission kinematics rely on nonlinear equations.Ankle transmission structure comprises universal joints, ball screw mechanism and spherical joints and is more complex than both the hip and knee joint structures. As a result, in order to express the calculations of ankle joint torques by the method of actuator currents, more complicated and nonlinear expressions were built. Also, the elastic behavior of spherical joints is not compatible with the assumption of rigid joint mechanism which plays an important role for torque behavior difference of aforementioned methods. Other neglected factors are friction and mechanical imperfectness.