Pioneer 3-DX Programlama Gereçleri

Herkese tekrar merhabalar.

Daha önceden Pioneer 3-Dx hakkında karaladıklarımla ilgili 1-2 yapıcı mail alınca devamını getirmeye karar verdim. Ben de konuya yeni olduğum için elimden geldiğince öğrendiklerimi burada paylaşmaya çalışacağım. Devam edilen yazıların bir seri gibi gitmesi itina göstermeye çalışacağım. Vakit kaybetmeden bugünkü konuya dönelim.

Robot platformu için gerekli programlar neler, İstemci - Sunucu modeli nedir gibi sorulara cevap niteliğinde bir yazı olacak bu, haydi başlayalım...

Sunucu - İstemci Modeli:

Pioneer P3-DX, sunucu - istemci modeline göre çalışmakta. Bu modeldeki detaylı işlemlerin büyük bir çoğunluğu ise robot'un kendi microcontrollerinda gerçekleşmekte olduğu için, programcılara büyük bir kolaylık sağlamakta. Robot'un microcontroller'inda yüklü bulunan embedded(gömülü) işletim sistemi(Arcos, Aros, P20s gibi) bu işin yapılmasındaki kilit mekanizmadır. Kullanıcı programı bağımsız bi Pc'deki çalışmalı ve robotun üstündeki microcontroller ile sürekli bağlantılı olmaladır. Bu ilgisayar, ister bir pc olabilir demin bahsettiğim gibi ya da robotun üstünden direk seri portuna bağlanmış bir laptop da olabilir.

Aşağıdaki resimde olabilecek durumları görebilirsiniz.



Robot Kontrol Programları:

Pioneer 3 robotlarını programlamak için, günümüzde kullanılan 2 adet kontrol programı vardır.

- Aria Api
- Player Server

Ben Aria'dan bahsedeceğim ve ileride de programlarımızı bunun üzerinden yazacağız.

Aria Api:



Aria, Pioneer yapımcıları tarafında dizayn edilmiş, nesne tabanlı olarak geliştirilmiş açık bir C++ kütüphanesidir ve Pioneer yapımı bütün robotların kontrolü için zahmetsizce kullanılmaktadır. Ayrıca, programcı kendi yazmış olduğu sınıfları Aria'dan miras alarak da kullanabilmeke, kütüphanenin open sourceluğuna kendinden de birşeyler katabilmektedir :) En güzel özelliği ise herhangi bir platforma bağımlı olmamasıdır. Aria tabanlı programlar, robotun microcontrollerının RS-232 seri prot girişinden haberleşerek çalışabilir.

Aşağıdaki resimde Onboard bir makinadan robotun kontrolü gösterilmekte.



Bir başka yol ise şöyledir. Kullanıcı program, sunucudan robot'un üstünde çalışmakta olan bilgisayardan bir servis ister. Bunu da bir eklenti kütüphanesinin yardımıyla, ki adı ArNetworking, ile yapar, ama ben bu yazımda ArNetworking'den söz etmeyeceğim.

Aşağıdaki resim ise, bu yaklaşımı özetlemekte.



Ayrıca, kullanacağımız 2 adet program daha bulunmakta. Adları MobileSim ve Mapper3. Kabaca MobileSim, yazdığımız programları robota yüklemeden önce denememizi sağlayan bir simülasyon programı. Mapper3 ise, robotun bulunacağı alanın visual haritasını yapabileceğimiz bir çizim programıdır. Mapper3'de çizmiş olduğumuz haritaları, MobileSim'e yükleyip çalıştırmaktayız.

Bunun yanında, kullanılacak 2 adet program daha bulunmakta, fakat şu an Simülasyon üzerinde olduğumuz için onlara giriş yapmak pek mantıklı olmaz. Adları SonARNL ve MobileEyes. Daha çok Robot'un sonar sisteminin kontrolü ile ilgili programlar...

Aslında çok fazla şey var kafamda konuyla ilgili yazmak istediğim, ancak yazarken konu bütünlüğünden hafif hafif kopuyorum, bu yüzden konuyla ilgili özellikle ingilizce makaleleri bulup okumanın faydası olduğunu düşünüyorum ve ısrarla tavsiye ediyorum :)

Bir sonraki yazıda MobileSim ve Mapper3'e giriş ve birkaç program görseli paylaşmayı
düşünüyorum.

Saygılar, sevgiler...

Yorumlar

Bu blogdaki popüler yayınlar

Socket Kavramı

Dönem Sonu ve Bitirme Projesi

Aselsan ve MetuTech Gezisi