Bilişsel Robotlar İçin Eylem Yürütme Hatalarının Tanısı

thumbnail.default.alt
Tarih
2014-07-04
Yazarlar
Altan, Doğan
Süreli Yayın başlığı
Süreli Yayın ISSN
Cilt Başlığı
Yayınevi
Fen Bilimleri Enstitüsü
Instıtute of Science and Technology
Özet
Yapay Zeka konusundaki gelişmeler ile birlikte günümüzdeki robot sistemleri daha akıllı hale gelmiştir. Robot teknolojilerindeki son gelişmeler ile de, robotların gerçek dünya uygulamalarında kullanımları yaygınlaşmıştır. Günümüzde artık birçok probleme robotlar aracılığı ile çeşitli çözümler getirilmektedir. Bilişsel bir robot, planlama, yürütme, yürütme gözlemleme ve hata tanısı görevlerini yerine getirebilmelidir. Planlama, bir başlangıç durumundan istenen herhangi bir hedef durumuna robotu ulaştıracak planın üretilmesidir. Yürütme, planlayıcı tarafından üretilen sembolik plandaki eylemlerin yürütülmesi iken yürütme gözlemleme, planda yer alan herhangi bir eylemin yürütülmesi sırasında ortaya çıkabilecek beklenmedik hata durumlarının sezilmesi işidir. Hata tanısı ise, yürütme anında oluşabilecek hata durumlarının nedenlerine açıklama getirme işine karşılık gelir. Gerçek dünyanın dinamik ve kısmi gözlemlenebilir yapısı nedeniyle, robotik uygulamalarında yürütme hatalarının oluşması söz konusu olabilir. Bu hata durumları, robot tarafından sezilmeli ve bu durumların nedenlerini belirlemek için bir çıkarsama yordamı yürütülmelidir. Bu hataların sezilebilmesi için yürütme, hem eylem hem de plan seviyesinde gözlemlenmelidir. Gürbüz eylem yürütme için her ne kadar hata sezme önemli bir problem olsa da, oluşan hatanın nedeni de (hata tanısı) belirlenebilmelidir. Hata tanısı yapılabilmesi için de bir çıkarım mekanizmasının yürütülmesi gerekmektedir. Bu çalışmada, olasılıksal bir hata tanı yöntemi önerilmektedir. Çalışma kapsamında, donanım/duyarga kısıtları, kısıtlı bilgi veya çevresel dış etkenler nedeniyle oluşabilecek eylem yürütme hataları ele alınmaktadır. Yürütme gözlemleme ve hata durumları hakkında çıkarım yapma bir veya daha fazla duyargadan (görüntü, kuvvet, dokunma veya basınç) gelen bilgiyi yorumlamak ile mümkün olabilmektedir. Bu nedenle, robotun hata sezme için ortamı yorumlaması ve bir çıkarsama yordamı yürütmesi gerekir. Benzer bir yordam, robotun hata tanısı yapabilmesi için de gereklidir. Doğru bir hata tanısı yapabilmek için, robotun ortamda oluşabilecek hata modelleri hakkında bilgi sahibi olması gerekmektedir. Bazı durumlarda, hatanın nedeni o anda yürütülmekte olan eylem ile doğrudan ilintili olmayabilir. Hatanın nedeni, robot tarafından daha önce yürütülmüş olan bir eylemin istenmeyen bir sonucuna veya çevresel bir etkene ilişkin olabilir. Örneğin küp dünyası domeninde, alt blok düzgün bir şekilde yerleştirilmemiş ise, hali hazırda dizilmiş olan kulenin üzerine yeni bir blok konması işlemi sırasında bütün yapı yıkılabilir. Bu tür hata durumlarının tanısını koyabilmek için zamansal çıkarım yapılması gerekir. Dahası, bir hatanın birden fazla nedeni olabilir.  Bu gibi durumlarda hatanın nedenini belirleyebilmek için olasılıksal ve zamansal bir modele ihtiyaç duyulmaktadır.  Bu çalışmada, hata durumlarının nedenlerini belirleyebilmek için Hiyerarşik Saklı Markov Modellerine (HSMM) dayalı bir hata tanı yöntemi önerilmektedir. Önerilen yöntem, paralel olarak işlenen ve farklı tipte hata durumlarını temsil eden HSMM'lerini içermektedir. Herbir hata tipi, ayrı bir SMM (Saklı Markov Modeli) ile hiyerarşik bir yapıda modellenmiştir. HSMM'lere dayalı olan model, durumların zamansal boyutta analizinin yapılmasına olanak vermekte ve beklenen durumlardan bir sapma gerçekleştiğinde zamansal hata bilgisinin durumlar arasında yayılmasını sağlamaktadır. Birden çok hipoteze göre hata durumunun olasılıksal olarak tanısını yapabilmek için farklı durumların aynı anda takip edilmesi gerekir. Bu çalışmanın ana katkısı, her bir hata tipinin eylem-hata tipi ilişkilerini de kullanarak ayrı bir hiyerarşik SMM olarak temsil edilmesidir. Bu temsil, bir nesne veya çevresel olay üzerine kalıcı olan hata durumları da dahil olmak üzere birçok hata durumunun tanısını mümkün kılmaktadır. Bu çalışmada incelenen eylem yürütme hataları şunlardır: Bütün nesneler için Görüntü işleme, Konumlama, Donanım kısıtları (eyleyici/efektör) ve bütün nesneler için Dış olay hatalarıdır. Görüntü(nesne) hata modeli, görüntü işleme algoritmasının belirli bir nesneyi doğru olarak tanıyamadığı durumu temsil eder. Donanım kısıtları (eyleyici/efektör) hata tipi, robotun fiziksel kapasitesi dışındaki durumları temsil eder. Dış olay(nesne) hata tipi ise robotun kontrolü dışında, dış dünyada oluşan değişiklikler nedeniyle oluşan hataları temsil eder. Konumlama hata tipi robotun ortamda konumunu belirleyemediği durumları temsil eder.  Önerilen sistem, planlayıcı tarafından üretilen ve eylem dizisi içeren sembolik planı ve ayrı ayrı paralel olarak temsil edilen hata tipi modellerini girdi olarak kabul etmektedir. Sistemin çıktısı ise, hata durumunun nedeninden sorumlu olan olası hata modelleri listesidir. Robot planında yer alan bir eylem üç durumda olabilir: başarı, hata ve yürütmede. Başarı durumu robotun bir eylemi beklenen sonuçları ile sonlandırdığını, hata durumu eylemin beklenmedik etkilerle sonlandığını ve yürütmede ise robotun eylemi yürütmeyi henüz bitirmediğini temsil eder. Her eylemin yürütülmesi sırasında, Hiyerarşik SMM'lerin alt katmanında o eyleme karşı düşen modeller daha önce tanımlanmış olan eylem-hata tipi ilişkileri göz önüne alınarak güncellenir. Eğer hata tipi modeli ve eylem ilgili ise model güncellenir, değil ise o eylem süresince ilgili hata modeli pasif kalır. Yürütme aşamasında robotun duyargaları aracılığı ile alınan gözlemler, duyargaların istatistiksel analizine bağlı olan bir olasılık dağılımına karşılık düşürülür ve bu değere göre yeni durum oluşturulur. İlgili eylemin yürütülmesi sona erince, alt katman modelinde Viterbi algoritması yürütülür ve alt katmandaki durumlardan hata nedeni olma olasılığı en yüksek olan durumun değeri üst katmana aktarılır. Üst katmandaki model, yürütülen eylem ile ilgili ise güncellenir. Aksi takdirde model pasif olarak işaretlenir ve ilgili modelin şimdiki zaman düğümü yaratılmadan bir önceki durumun zaman vektörü genişletilir. Bu durum, robot planındaki bütün eylemleri başarılı bir şekilde yürütünceye veya hata durumu ile karşılaşıncaya kadar devam eder. Hataların, gözlemlemeye dayalı bir yöntem ile sezildiği varsayılmaktadır. Hata durumu oluştuğunda, üst katman modellerinde Viterbi Algoritması yürütülerek hataya neden olabilecek modeller belirlenir. Bunun için, modellerdeki durumlar incelenir ve hata ile işaretlenmiş durumlar saptanarak olasılıklarına bakılır. Bu olasılıklardan belli bir eşik değerinin üzerinde olan modeller aday listesine eklenir. Çalışma sonunda bu liste olası hata nedenleri olarak döndürülür. Yöntemin başarım analizi Pioneer 3-AT gezgin robotu ile farklı tipte hatalar içeren senaryolar üzerinde yapılmıştır. Elde edilen sonuçlar, geliştirilen yöntemin hataların birden fazla nedene bağlı olduğu durumlarda da olasılıksal olarak belirlenebileceğini göstermektedir. Ayrıca, hata tipleri ve eylemler arasındaki ilişkilerin kullanılması da durum uzayını daraltarak, yöntemin bellek gereksinimini azaltmaktadır.
Robots execute actions in the physical world in order to reach their goals. They may face several failures during the execution of actions in their plans due to dynamic and partially observable structure of the physical world. For example, an object may not be grasped successfully by the robot due to a wrong grasp position. Another failure may occur when vision algorithm of the robot fails to recognise an object. Furthermore, the vision algorithm may falsely classify an object. Yet in another case, state of an object may be changed by another agent. These failures should be detected by the robot, and a reasoning procedure should take place to diagnose the causes of the failures. During the execution, deciding on an abnormal situation about the execution is called Failure Detection. In order to detect a failure, a monitoring procedure must be applied in both plan and action level. Finding the root cause of a failure situation is called Failure Isolation. Although failure detection is an important issue for robotics, failure isolation is also needed for robust execution. To do so, the robot should apply an isolation procedure. A robot should interpret one or more sensors (touch, pressure, vision etc.) in order to monitor the execution and infer about failure cases. Therefore, the robot should interpret the scene and extract related information about the current situation. In order to accurately isolate a failure, the robot should have the models of the possible failures that can occur in the environment during the execution. The cause of the failure may not be related to the action in execution at an instant time step. It may be depending on a previously executed action’s undesired effects or an external event. For example, in the blocks world domain, if a base block is not properly constructed, a stack action may destroy the unbalanced tower. Analysis of these kind of failures should be done from a temporal dimension. Furthermore, there may be more than one cause of a failure. In such cases, a temporal and probabilistic model is required in order to isolate these type of failures. A Hierarchical Hidden Markov Model (HHMM)-based failure isolation method is presented in this thesis in order to explain the failure cases with relevant facts after they are detected. Failure models are represented as distinct HHMMs. During the execution of the actions in the plan, these models are updated while the scene is interpreted. Relations between the actions and the failure models are used to eliminate unnecessary model updates during the execution. In case of a failure, Viterbi algorithm is invoked to find the most likely explanation of the failure. Considering the calculated probabilities, the candidate models responsible for the failure are found. Several failure cases on a real robot are investigated in order to analyse the performance of the proposed method. The results show that using a probabilistic method allows to diagnose failures when there are more than one cause of a failure. Using the relations between the actions and the failure types decreases memory requirement of the proposed method by eliminating unnecessary model updates during the plan execution. The main contribution lies in representing each failure type hierarchically in parallel and using the action-failure type relations.
Açıklama
Tez (Yüksek Lisans) -- İstanbul Teknik Üniversitesi, Fen Bilimleri Enstitüsü, 2014
Thesis (M.Sc.) -- İstanbul Technical University, Instıtute of Science and Technology, 2014
Anahtar kelimeler
Olasılıksal Hata Tanısı, Bilişsel Robotlar, Hiyerarşik Saklı Markov Modelleri, Modele Dayalı Tanı, Probabilistic Failure Isolation, Cognitive Robots, Hierarchical Hidden Markov Models, Model-based diagnosis
Alıntı