Redundant Robots - Prof. Dr. E. Şahin Çonkur

Transkript

Redundant Robots - Prof. Dr. E. Şahin Çonkur
11. ULUSAL MAKİNA TEORİSİ SEMPOZYUMU
Gazi Üniversitesi, Mühendislik-Mimarlık Fakültesi, 4-6 Eylül 2003
GEREĞİNDEN ÇOK SERBESTLİK DERECELİ ROBOT KOLLARININ YÖRÜNGE
PLANLAMASI İÇİN GELİŞTİRİLMİŞ BİR YAZILIM
Erdinç Şahin ÇONKUR
Pamukkale Üniversitesi, Mühendislik Fakültesi, Makine Mühendisliği Bölümü, Çamlık 20017, DENİZLİ,
[email protected]
ÖZET
Gereğinden çok serbestlik dereceli robot kolları (redundant manipulators) değişkenlerine sonsuz sayıda çözüm
üretebilen robot kolları olarak tanımlanır. Bu tip robot kollarının kinematik kontrolü için gerekli hareket
planlama algoritmaları yoğun bir araştırma konusudur. Amaç robotun bir hedef noktaya ulaşması olarak
verildiğinde, uzuvlar için uygun yörüngeleri hesaplamak yörünge planlaması (path planning) olarak
isimlendirilir. Bu bildiride, potansiyel alan metodunu kullanarak yörünge planlaması yapan C++’da Windows
ortamı için geliştirilmiş bir yazılım tanıtılacaktır. Bu yazılımın en önemli özellikleri, engellerin ve robotların
ekrana çizilmesi, potansiyel alanın iki ve üç boyutlu görüntülerinin elde edilmesi ve robotların hedefe varmasının
gözlemlenmesidir.
Anahtar Kelimeler: Gereğinden çok serbestlik dereceli robot kolları, yörünge planlaması, potansiyel alan
metodu
A PIECE OF SOFTWARE DEVELOPED FOR PATH PLANNING OF REDUNDANT ROBOTS
ABSTRACT
Redundant manipulators are defined as having an infinite number of solutions to their joint variables. Motion
planning algorithms for the kinematic control of this kind of robotic arms are the subject of extensive research.
When the task is given as a point that the robot is to reach, computing a feasible joint path sequence is called
path planning. In this presentation, a piece of software developed in C++ for Windows platforms is introduced,
which performs the path planning of redundant robots using the potential field method. The most important
features of the software are to draw obstacles and robots on the screen, to obtain two and three dimensional
images of the potential field and to observe robots reaching the goal.
Keywords: Redundant robots, path planning, potential field method
(redundancy resolution) denir. Amaç bir hedef
noktaya ulaşmak olarak verildiğinde, uzuvlar için
uygun yörüngeleri hesaplamak yörünge planlaması
(path planning) olarak isimlendirilir [2].
1. GİRİŞ
Standart sanayi robotlarının en fazla sahip
olabileceği serbestlik derecesi altıdır. Sınırlı sayıdaki
serbestlik derecesinin sebep olduğu çok sayıda
problem vardır. Bunlardan biri, robotun çalışma
alanının bir kısmının tekillikler yüzünden
kullanılamamasıdır. Bir diğeri ise ters kinematiği
için sınırlı sayıda çözüm olmasından dolayı, robotun
her zaman çalışma alanında engellerden kaçınacak
şekilde kendini ayarlayamamasıdır. Gereğinden çok
serbestlik dereceli robot kolları ise engellerden
kaçınacak tarzda kollarını istediği gibi ayarlayabilir.
Böylece her türlü karışık ortama uyum
sağlayabilmesi ve girilmesi zor bölgelere rahatlıkla
girmesi mümkündür [1].
Potansiyel alan metodu yörünge planlaması için
kullanılan önemli metotlardan biridir [3]. Bu
metottaki temel prensip çalışma alanının suni
potansiyel
kuvvetler
etkisinde
olduğunun
düşünülmesidir. Bu alandaki engeller itme etkisi
verirken, hedef noktası çekme etkisi oluşturur.
Çalışma alanında herhangi bir engelden dolayı
oluşan herhangi bir noktadaki kuvvet, bu iki etkinin
toplamı olarak bulunur. Daha sonra bu kuvvet robot
kontrolü için kullanılır. Buradaki en önemli problem
potansiyel alan metodunun yerel minimumlara sahip
olmasıdır. Yani robot hedefe varmadan, hedefe
varmış gibi bu yerel minimumlardan birinde takılıp
kalır. Bu soruna bulunan çözümlerden biri, belki de
en etkilisi, yerel minimumu olmayan potansiyel
alanlar oluşturmaktır [4].
Gereğinden çok serbestlik dereceli robot kolları için
gerekli kinematik hareket planlama algoritmaları iki
ana bölümde incelenir. Robot işlem elemanın uç
noktasının hareket edeceği yörünge çalışma alanında
verilmişse, buna uyan eklem değişkenlerinin
hesabına gereğinden çok eklemli çözümleme
1
Çonkur
robot boyunun hedefe ulaşamayacak kadar kısa
olduğu anlamına gelir.
Bu bildiride, yörünge planlaması için C++’da
Windows ortamı için geliştirilmiş bir yazılım
tanıtılacaktır. Yazılımda, yörünge planlaması
metodu olarak potansiyel alan metodu kullanılmıştır.
Kullanımı çok kolay olan bu yazılımda, engeller ve
robotlar ekrana çizilir ve robotun hedefe varması
gözlemlenir. Ayrıca potansiyel alanın iki ve üç
boyutlu görüntüleri bir fare tıklamasıyla elde
edilebilir.
Potansiyel Alan Değerleri
Kontrol Noktası
1
Uzuv
2
2. TEORİ
Dirichlet sınır şartları artında Laplace denklemiyle
tanımlanan bir skaler potansiyel alan aşağıdaki
denklemle verilir [5].
∇2Φ = 0
A
Şekil 1. Robotun bir uzvu üzerindeki kontrol noktası
Bir nokta robot için herhangi bir alan çizgisi,
herhangi bir noktadan engellere çarpmadan hedef
noktasına varmayı garantiler. Rijit uzuvlardan
oluşan seri robot kolları için ise bu garanti yoktur.
Özellikle keskin manevra gerektiren hallerde robot
uzuvları engellerle çarpışabilir. Bu çarpışmanın
engellenmesi önemli bir araştırma konusudur.
(1)
Bu denklem kapalı ve sürekli bir Ω bölgesinde
geçerlidir. Ω bölgesinin sınırları olan δΩ, engellerin
tamamından ve hedef noktasından oluşur. Çalışma
alanı üzerine iki boyutta eşit olarak dağıtılmış kapalı
ve birleşik bir ızgara yerleştirilir. (1) denklemi bu
ızgarada aşağıdaki kısmi diferansiyel denklem ile
temsil edilebilir.
Φ (i, j) =
1
4
( Φ ( i + 1, j ) + Φ ( i −1, j ) +
Φ ( i , j + 1 ) + Φ ( i , j −1 ) )
3. YÖRÜNGE PLANLAMA YAZILIMI
Önceden de bahsedildiği gibi bu yazılımın amacı
gereğinden çok serbestlik dereceli robot kollarını
yörünge
planlamasını
Windows
ortamında
yapmaktır. Çok az bir tecrübe ile kullanılabilen bu
yazılım ile, engeller ve robot ekrana kolaylıkla
çizilebilir ve hemen çalıştırılabilir.
(2)
Burada i, ızgarada x doğrultusundaki, j, ızgarada y
doğrultusundaki pozisyonu göstermektedir.
Programda bulunan bütün komutlar menülere
yerleştirilmiştir. Bu menülerin tanıtımı bir sonraki
bölümde yapılacaktır.
Hedef noktasına bilgisayarın alabileceği en küçük
değer, engel sınırlarına da sıfır değeri verilerek
tekrarlı işlemle ızgara üzerindeki her noktanın değeri
hesaplanır. Böylece alan içinde bütün ızgara
noktalarındaki alan değerleri elde edilir. Izgara
noktaları arasında kalan herhangi bir noktadaki alan
değeri lineer interpolasyon ile bulunur. Oluşturulan
potansiyel alan kullanılarak robotun hareket
planlaması aşağıdaki gibi yapılır.
4. MENÜLERİN TANITIMI
Bu menülerden File ve Edit menüleri Save ve Print
gibi standart komutları içerir. Robot ve engeller daha
sonraki kullanımlar için kaydedilebilir, çalışma
alanının yazıcıdan çıktısı alınabilir.
Settings menüsünde Şekil 2’de görüldüğü gibi
çalışma düzeni, robot, hedef ve alan ile ilgili ayarlar
yer alır. İstenildiğinde bu ayarlar değiştirilerek farklı
çalışma şartları oluşturmak mümkündür.
Robot uzuvları üzerinde kontrol noktaları tespit
edilir. Bir uzuvdaki kontrol noktalarının iki
tarafındaki alan değerlerinin farkı, o uzvun hangi
yönde döneceğini belirler [4]. Örneğin Şekil 1’de bir
robot kolunun üzerinde tek bir kontrol noktası olan
ilk uzvu görülmektedir. Bu kontrol noktasının iki
tarafındaki 1 ve 2 nolu noktalardaki alan
değerlerinin farkının negatif olduğunu kabul edelim.
Bu durumda bu uzuv A noktası etrafında saat
yönünde dönecektir. Robot, bu fark işaret
değiştirinceye kadar, sabit bir açı değeriyle hareket
ettirilir. İşaret değiştirmek demek o uzvun yerleştiği,
yani engeller arasında hedefe yöneldiği anlamına
gelir. Daha sonra bir sonraki uzuv yukarıdaki gibi
hareket ettirilir. Tabii, bir sonraki uzuv her hareket
ettiğinde, ilk uzuv da hareket edeceğinden onu tekrar
yerleşik hale getirmek gerekir. Bu şekilde bütün
uzuvlar her bir hareket sonrasında kontrol edilir.
Hedefe varıldığında robot durur. Robotun bütün
uzuvları hedefe ulaşmadan yerleşik hale gelirse, bu,
Şekil 2. Settings Menüsü
2
Gereğinden Çok Serbestlik Dereceli Robot Kollarının Yörünge Planlaması İçin Geliştirilmiş Bir Yazılım
Draw menüsünde, kullanıcı tarafından ekrana
çizilebilen geometrik şekil seçenekleri vardır
(Şekil 3). Basit geometrik şekillerle ifade edilebilen
engeller, bu menüde yer alan Line, Rect, Round
Rectangle ve Ellipse komutlarıyla çizilir. Daha
karışık sınırları olan engeller için ise Polygon
seçeneği kullanılabilir. Bu menünün en alt sırasında,
robotu ekranda çizmeye yarayan Arm Robot komutu
vardır.
Şekil 4. Simulate Menüsü
View menüsünde bulunan en önemli komutlar,
ekrandaki alanın büyük veya küçük olarak
görüntülenmesini sağlayan Shrink View komutu ve
ızgara çizgilerinin çizilip çizememesini belirleyen
Grid Lines komutudur (Şekil 5).
Şekil 3. Draw Menüsü
Şekillerde gösterilmeyen Object menüsünde iki
komut vardır. Bu komutlarla, engellerin sınır çizgi
ve dolgu renkleri ayrı ayrı belirlenebilir.
Ekrana engeller ve robot çizildikten sonra sıra
robotun çalıştırılması ile ilgili komutları içeren
Simulate menüsüne gelir (Şekil 4). Önce Find
Obstacles ile ekrana çizilen geometrik şekiller alan
hesaplanmasında kullanılmak üzere engel haline
çevrilir. Iterate komutu ile potansiyel alan
hesaplanır. Draw field ile potansiyel alan ekrana
çizilir. Eğer alan hızlı fakat daha az hassas olarak
çizilmek istenirse Draw Fast kullanılır. Plot 3D
komutuyla potansiyel alanın üç boyutlu görüntüsü
elde edilir. Field Ready komutu yukarıda bahsedilen
Find Obstacles ve Iterate komutlarını arka arkaya
çalıştırmaya yarar.
Şekil 5. View Menüsü
Menülerde çok kullanılan komutlar Şekil 6’de
görülen araç çubuklarına yerleştirilmiştir. Herhangi
bir ikonun üzerine fareyle gelindiğinde, ikonun
çalıştıracağı komutun menülerde olan ismi ortaya
çıkar. Böylece hangi ikonun ne işe yaradığı kolayca
anlaşılır.
Start komutu robotun hareketini başlatır. Bu
komutta, art arda olan işlemler bir zamanlayıcı
kullanılarak yapılır. Zamanlayıcının değeri 1 ms gibi
çok küçük bir değere ayarlansa bile robot hareketi
çok yavaş kalmaktadır. Bunun bir sebebi
bilgisayarın bu kadar kısa bir zaman aralığını
sağlayacak donanıma sahip olmamasıdır. Bu
problem, hareketle ilgili işlemler için zamanlayıcı
yerine bir for döngüsü kullanarak çözülebilir. Start
Fast komutu işte bu işi yapar, yani daha hızlı robot
hareketleri üretir.
Draw Araç Çubuğu
Restart komutu, robotun ilk durumuna getirilmesini
sağlayarak, hedefe ulaşma işleminin tekrar tekrar
yapılabilmesine olanak verir. Son olarak, Path
komutu ise kollu robotun temelinden hedef
noktasına mobil robotlar için yol bulmak ve bu yolu
ekrana çizmek için kullanılır.
Simulate Araç Çubuğu
Settings Araç Çubuğu
Şekil 6. Araç Çubukları
3
Çonkur
Şekil 7b, robotlar Start Fast komutuyla harekete
başladıktan bir süre sonraki bir anda çalışma alanını,
Şekil 7c ise çalışma alanındaki son durumu
göstermektedir. Şekillerden de görüldüğü gibi, sol
taraftaki iki robot engellere hedefe ulaşmıştır. Sağ
üst köşedeki robot ise en uzun halini aldığı halde
boyu yetmediği için hedefe varamamıştır.
5. ÖRNEK
Şekil 7a’da görülen çalışma alanı içine Draw araç
çubuğunu kullanarak değişik geometrik şekillere
sahip engeller çizilmiştir. Çalışma alanının değişik
yerlerinde görülen üç adet robot Arm Robot komutu
kullanılarak çizilmiştir. Sol alt köşedeki küçük daire
ise hedef noktasını göstermektedir.
Şekil 7a. Çalışma alanı, hedef, engeller ve robotlar
Şekil 7b. Robotlar hareket ettikten sonraki bir an
4
Gereğinden Çok Serbestlik Dereceli Robot Kollarının Yörünge Planlaması İçin Geliştirilmiş Bir Yazılım
Şekil 7c. Robotlar son konumları
yükselti eğrilerine benzer. Bir farkla ki, burada
hedef noktası en düşük değere sahiptir. Hedef
noktasının etrafındaki ilk halka bir üst değer
grubunu, sonraki halka bu halkadan sonraki bir üst
değer grubunu gösterir. Bu şekilde birkaç kademe
gidilir.
Draw field komutunu kullanarak, bu örnek için
oluşturulan potansiyel alanın hedef etrafındaki
kısmını çizmek mümkündür (Şekil 8). Bu şekilde,
belli aralıklardaki potansiyel alan değerleri, belli
renklerle gösterilir. Potansiyel alanı gösteren
eğriler, haritalarda yükseklikleri gösteren eş-
Şekil 8. Hedef etrafında oluşturulan potansiyel alan
potansiyel alan değerleri kullanarak o şekilde
oluşturulmaktadır ki, hedef dışındaki herhangi bir
noktadan örneğin bir futbol topu serbest bırakılsa,
bu top yuvarlanarak daima hedef noktasının içine
düşer.
Fakat Şekil 8’deki iki boyutlu görüntüyü zihinde
canlandırmaya gerek yoktur. Çünkü, Şekil 9’da
görülen Plot 3D komutu ile, aynı alanın üç boyutlu
görüntüsü elde edilebilir. Bu görüntü,
5
Çonkur
Şekil 9. Potansiyel alanın 3 boyutlu görüntüsü
Robot harekete başlamadan hemen önce, iterasyon
için harcanan zaman, çalışma alanının hemen
sağındaki boş bölgede gösterilir. Buradaki örnekte
iterasyon zamanı 1 s’den az olduğu için 00 sec ile
gösterilmiştir (Şekil 10).
7. KAYNAKLAR
1. Zghal, H., Dubey R. V. ve Euler J. A.,
“Collision avoidance of a multiple degree of
redundancy manipulators operating through a
window”, Journal of Dynamic Systems,
Measurement and Control, Sayı:114, 1992, pp.
717-721.
Bilgi ekranında ayrıca robotların hedefe ulaşıp
ulaşmadığı ve ulaşanların ne kadar zaman harcadığı
Şekil 10’da görüldüğü gibi iterasyon zamanının
hemen altında sırayla raporlanır.
2. Seereera, S. ve Wen J. T., “A global approach
to path planning for redundant manipulators”,
IEEE Transactions on Robotics and
Automation, Cilt: 11, Sayı: 1, 1995, pp. 152159.
3. Khatib, O., “Real-time obstacle avoidance for
manipulators and mobile robots”. The
International Journal of Robotics Research,
Cilt: 5, Sayı: 1, 1986, pp. 90-98.
4. Graham A. ve Buckingham R., “Real time
collision avoidance of manipulators with
multiple redundancy”, Mechatronics, Cilt: 3,
Sayı: 1, 1993, pp. 89-106.
Şekil 10. İterasyon ve robotların durumlarıyla ilgili bilgi
ekranı
5. Connolly C. I., Grupen R. A., “The
applications of harmonic functions to
robotics”, Journal of Robotic Systems, Cilt: 10,
Sayı: 7, 1993, pp. 931-946.
6. SONUÇ
Bu bildiride, potansiyel alan metodu kullanarak
gereğinden çok serbestlik dereceli robot kolları için
yörünge planlaması yapan C++’da Windows ortamı
için geliştirilmiş bir yazılım tanıtılmıştır. Verilen
örnekte de görüldüğü gibi, kullanımı oldukça kolay
olan bu yazılım ile çok kısa bir zaman içinde
istenilen bir yörünge planlaması senaryosu
uygulamaya konulabilir. Engelleri ve robotları
ekrana çizmek ve robotları çalıştırmak birkaç fare
hareketiyle yapılabilmekte, potansiyel alanın iki ve
üç boyutlu görüntüleri gibi bir çok ek bilgi de yine
kolaylıkla elde edilebilmektedir.
6

Benzer belgeler