İnsan Destekli İnsansı Robot Ressam

thumbnail.default.alt
Tarih
2012-06-26
Yazarlar
Gürpınar, Cemal
Süreli Yayın başlığı
Süreli Yayın ISSN
Cilt Başlığı
Yayınevi
Fen Bilimleri Enstitüsü
Institute of Science and Technology
Özet
Günümüzde, insansı robotlar üzerindeki araştırmalar en heyecan verici ve sıcak konulardan biridir. İnsansı robotlar üzerinde insanlarla bir arada ve işbirliği içinde çalışabilen ve insanların yapamadığı görevleri yapabilen hareketli robot yaratma gibi birçok araştırma yapılmıştır. Bir diğer ilgi çekici araştırma alanı ise sanat icra edebilen robotlar yaratmaktır. Bu araştırmada, NAO H25 insan destekli insansı robot ressam anlatılmaktadır. Bu çalışmanın amacı, bir insan tarafından resim yapılırken yerine getirilen işlemlerin tamamının, görü sistemi olan insansı bir robot tarafından bir insan yardımıyla gerçekleştirebilmesidir. Bir ressam robot yaratmak konusunda, bazı önemli sorunlar için çözümler üretilmiştir. Görü ile ilgili çözülmesi gereken önemli sorunlar, robot tarafından resmi yapılacak nesnelerin bulunduğu ortamın görüntüsünün elde edilmesi, iki boyutlu nesne bölütlemesinin yapılması, nesnelerin yeraldığı ortam görüntüsünde nesneler ile arka planın birbirinden ayrılması, nesnelerin sahip olduğu renk sayısının robot tarafından kullanılabilecek en uygun renk sayısına indirgenmesi, renklerin robot tarafından algılanabilmesi, fırça darbelerinin yönünün belirlenmesi ve kullanılacak doğru rengin robot tarafından tespit edilebilmesidir. NAO insansı robotu ile ilgili çözülmesi gereken önemli sorunlar, insansı robotun resmin çizileceği yatay resim masası önünde ayakta durması, boya fırçasını kavraması, boya fırçasını başlangıç noktasında aşağı doğru indirmesi, fırça ile bir çizgi çizilmesi ve bitiş noktasında yukarı doğru kaldırmasıdır. Resim yapma işlemi üç bölüme ayrılmıştır: 1) Resmi yapılacak nesnelerin bulunduğu ortamın resminin robot tarafından elde edilmesi, 2) Resmi yapılacak nesneler ile arka planın birbirinden ayrılması, 3) Asistanı ile etkileşime geçerek robot tarafından nesnelerin resminin yapılması (örneğin robot yardımcısına “Bana mavi boyayı verebilir misin?” diyerek etkileşimde bulunabilir.) NAO H25 insansı robotun başının üzerinde bir tanesi alın, diğeri ise ağız hizasında olmak üzere iki tane dijital kamerası vardır. Robot, nesnelerin bulunduğu ortamın resmini alın hizasındaki kamerası aracılığıyla elde eder. Bu işlem neticesinde birinci bölüm tamamlanmış olur. Ortam görüntüsü elde edildikten sonra nesne ile arka planın birbirinden ayrılması maksadıyla nesneye ait görüntü elemanları ile arka plana ait görüntü elemanlarının bölütlenmesi gerekmektedir. Bu amaçla çizge tabanlı nesne bölütleme algoritması kullanılmaktadır. Bu algoritma neticesinde nesnelerin sahip olduğu renkler belirlenmiş olur ve bu renkler robot tarafından algılanır. Robotun, resmini yapacağı nesneler çok farklı renklere sahip olabilirler. Buna karşın robotun elinde var olan renk sayısı ise sınırlıdır. Bu nedenle robotun uygun renk bölütlerini belirleyebilmesi için nesnenin renk dağılımını analiz etmesi gerekmektedir. Bu konu renk azaltma ile ilgilidir. Bu çalışmada renk azaltma işlemi için K-means bölütleme algoritması kullanılmıştır. Nesne ile arka planın birbirinden ayrılması, renklerin algılanması ve renk azaltma işlemlerinin tamamlanmasından sonra, robotun fırça darbelerini tuval üzerine nasıl uygulayacağına karar vermesi gerekmektedir. Bu maksatla fırça darbelerinin yönü belirlenmelidir. Fırça darbelerinin yönünün belirlenmesi için ortam resmindeki görüntü elemanlarının yön bilgileri kullanılmıştır. Fırçanın yönünün belirlenmesinden sonra NAO her bir renk bölütünde boyayabileceği uygun bir alan bulmaya çalışır. Böyle bir alan bulduğunda, yardımcısını çağırır ve kendisinden boyama yapacağı rengi vermesini ister. Yardımcı renk kâsesini NAO’ya verir. NAO, boya kâsesini kontrol eder ve doğru boya olup olmadığını tespit eder. Eğer doğru boya ise yardımcısına teşekkür eder, doğru boya değilse o zaman yardımcısından doğru boyayı kendisine vermesini ister. NAO doğru boyayı elde ettiğinde resim yapmaya başlar. Öncelikle kolunu başlangıç noktasına götürür ve boya fırçasını aşağı indirir. Daha sonra kolunu bitiş noktasına götürür ve fırçayı kaldırır. NAO bulduğu ilk uygun alanı boyadıktan sonra bir başka uygun alan arar. İlk seviyedeki bütün renkler boyandıktan sonra, bir sonraki seviyeyi daha ince fırça ile boyamaya başlar. Resim yapma işleminde kullanılan seviye sayısı, boyama için kullanılan fırça sayısı ile ilgilidir. Kullanılacak fırça sayısı yapılacak olan resmin tamamlanacağı seviye sayısını belirler. Bu sistemde boyama yaparken fırçayı dengeli bir yönde hareket ettirmek önemlidir. Aksi taktirde fırça, robotun elinden kayabilir veya çizgiler yanlış bir şekilde çizilebilir. Boya fırçası, robota yakın olan taraftan uzak olan tarafa doğru hareket ederse kavrama dengeli bir hale gelir. Bununla birlikte, boya fırçası soldan sağa doğru ve uzak taraftan yakın tarafa doğru hareket ederse o zaman kavrama dengesiz bir hale gelir. Webots, hareketli robotların modellenebilmesi, programlanabilmesi ve benzetiminin yapılabilmesi için kullanılan bir geliştirme ortamıdır. Resim yapma işlemi, Webots benzetim programında NAO H25 insansı robotu kullanılarak yaratılan jenerik bir ortamda gerçekleştirildi. Bu ortama bir adet sandalye, sandalyenin üzerine bir adet küçük teneke kutu, sandalyenin önüne ise bir tanesi küçük bir tanesi büyük olmak üzere iki adet farklı renkte top yerleştirildi. Insansı robot bu nesnelerin resimlerini jenerik ortamdaki tuval üzerine yaptı. Benzetim ortamında robot kolunu ve ellerini oynatırken, aynı zamanda resim de yavaş yavaş renklerle doldu ve resim ortaya çıktı. Gerçek ortamda gerçekleştirilen çalışmalarda yatay bir masa, masa üzerine yerleştirilmiş tuval olarak kullanılan bir kağıt, resmini yapacağımız bir saksı ve guaj boya kullanılmıştır. NAO, kollarını x-y düzlemi üzerinde bir çizici gibi kullanarak ve üst gövdesini koluyla birlikte hareket ettirerek masa üzerindeki farklı noktalara erişebilmektedir. Sistem gerçek robot üzerine taşındıktan sonra, özellikle de NAO’nun eklemli kollarını sabit bir yüzey üzerinde resim yapması için hareket ettirmesi gereksiniminden kaynaklanan bazı teknik zorluklar ortaya çıkmıştır. Çünkü NAO’nun eklemli kollarının hareket kısıtlaması vardır. Sabit yüzey üzerinde istediğibir noktaya istediği bir şekilde hareket edememektedir. Uzak noktalara erişebilmesi için kollarıyla birlikte üst gövdesini de hareket ettirmesi gerekmektedir. Üst gövdesini hareket ettirirken aynı zamanda ayakta olması nedeniyle kendi dengesini de sağlaması gerekmektedir. NAO’nun kolları ile ilgili kısıtlamalarının yanında elleri ile ilgili de bazı kısıtlamaları vardır. NAO’nun her bir elinde üç parmağı vardır. Parmaklarından hiçbirisini tek başına hareket ettirememekte, sadece parmaklarını açıp kapayabilmektedir. Bununla birlikte parmaklarının üzerinde herhangi bir güç veya dokunma sensörü bulunmamaktadır. Bu kısıtlamadan dolayı insansı robot, fırçayı kendi imkânları ile insana benzer bir şekilde hissederek kavrayamamaktadır. Elini açtığı anda fırça elinin içine sabitlenmekte ve daha sonra elini kapatmak suretiyle fırçayı kavramaktadır.
Currently, research on humanoid robots is one of the most exciting and hot topics. Many researches have been studied on humanoid robots like creating a mobile robot that is able to coexist and collaborate with humans and to perform tasks that humans cannot. Another attractive research area is creating artist robots that are able to perform arts. In this research, NAO H25 human assisted humanoid robot painter is described. The aim of this study to reproduce the whole painting process by a humanoid robot with a vision system with the assistance of a human. To create a robot painter, solutions for some key problems are generated. The key problems regarding vision are obtaining the image of the environment in which the objects that the robot paints, 2D object segmentation, extracting the objects from environment, color perception, reducing the number of color to the optimum set of colors that can be used by the robot and determining orientation for brush strokes. The key problems regarding NAO humanoid robot are standing in front of the painting table, grasping the paintbrush, moving down the paintbrush to the start point, drawing a line and moving up the paintbrush from end point. Painting process are divided into three phases: obtaining the image of the environment that the objects are in, extracting the objects to paint and painting by a robot to be in interaction with its assistant (i.e. Robot says to human: “Could you give me the blue color?” ). NAO H25 humanoid robot has two CMOS-Complementary Metal Oxide Semiconductor digital cameras on its head. It acquires the image of the environment via its camera. After taking the image of the environment, the foreground and background pixels should be segmented to extract objects from the environment. Graph-based object segmentation is used for this purpose. Once this algorithm applied to the image, all colors are determined and can be percept by the robot. The robot must analyze color distribution of the object to determine the appropriate color segments for the optimum set of colors that can be used by the robot. This issue is related with the color reduction. K-means clustering method is used for color reduction. When the color reduction is finished, the orientation used to guide brush strokes should be computed in order to imitate human painting style. The gradient information is used to calculate orientation. After computing orientation, NAO tries to find an appropriate area in each color segment derived from the second phase (extracting objects from the environment). If the robot finds such an area, it calls its assistant and asks for the color that it will paint. Its assistant gives the color case to it. NAO controls the color and if it is true, it thanks to child. If the color is incorrect, the robot asks for the right color. When the robot gets the right color, it starts drawing. NAO moves its arm to the start position and pushes the paintbrush down. Then it moves its arm to the end position and pulls the brush up. In this system, it is important to paint in a stable direction. The grasping becomes unstable when a brush moves from near side to far side. However, it is stable when a brush moves from left to right and from far side to near side. For the next time, the robot looks for a new area to paint. All of the color in one level is painted; the next level starts with a thinner brush. The number of level is related with the brush number used for painting. Webots is a development environment used to model, program and simulate mobile robots. This painting art is simulated in a generic environment in Webots with NAO. A chair, a can on the chair and two balls of different sizes in front of the chair are located. The humanoid robot paints these objects on a canvas. In the simulator, the robot moves its arm and its hand, and the simulated picture is filled with colors, as the robot’s hand is moved. In real environment, a table, a cardboard used as a canvas placed on a table, a pot the robot paints and gouache paints are used. Currently, the robot paints on a table top, using its arm like a plotter on an x-y plane and moves its upper torso with the arm to reach different locations on the table. Once the system is moved on the real robot, there are some technical challenges, primarily due to the requirement that the NAO uses its articulated arms to paint on a fixed surface (canvas). It has some limitations on its articulated arms. NAO H25 humanoid robot does not have any force and tactile sensors on its fingers. Because of this constraint, the paintbrush is fixed in the robot’s hand to manipulate it while painting.
Açıklama
Tez (Yüksek Lisans) -- İstanbul Teknik Üniversitesi, Fen Bilimleri Enstitüsü, 2012
Thesis (M.Sc.) -- İstanbul Technical University, Institute of Science and Technology, 2012
Anahtar kelimeler
insansı robot ressam, çizge tabanlı bölütleme, çevrit eşleştirme, renk algılama, renk indigeme, K-Means gruplandırma algoritması, gradyan, oryantasyon, humanoid robot painter, graph-based segmentation, contour matching, color perception, color reduction, K-Means algorithm, gradient, orientation
Alıntı