Robotik Kodlama (Programlama) Nedir ve Hangi Programlarda Kullanılır?

Robotik Kodlama (Programlama) Nedir ve Hangi Programlarda Kullanılır?
Robotik programlamanın ne olduğunu anlayabilmek için öncelikle robotik kelimesinin ne anlama geldiğini iyi bilmek gerekmektedir. Bunun yanında tabi ki yapılan robotik işlemlere göre en iyi programın hangisi olduğuna kara verilmesi gerekecektir.
5b93f2f30334e.jpg



Robotik Nedir?


Robotik, robotların tasarımını, üretimini ve işleyişini içeren disiplinler arası bir mühendislik dalıdır. Bu alan elektronik, bilgisayar bilimi, yapay zekâ, mekatronik, nanoteknoloji ve biyo-mühendislik bilimlerini kapsamaktadır.



Robotik bilimindeki bu teknolojiler, insanları ikame edebilen ve insan eylemlerini çoğaltabilecek makineleri geliştirmek için kullanılır. Robotlarherhangi bir durumda ve herhangi bir amaç için kullanılabilir (endüstriyel robotlar gibi), ancak günümüzde çoğu tehlikeli bölgelerde ( bomba tespit ve de aktivasyon dâhil ), üretim süreçlerinde veya insanların hayatta kalamayacağı yerlerde kullanılmaktadır. Robotlar herhangi bir formda olabilir, ancak bazıları görünüşte insanlara benzemek için yapılmaya çalışılmaktadır. Bu tür robotlar yürüme, kaldırma, konuşma, bilme ve temelde insanın yapabileceği her şeyi yapmaya çalışır. Bugünün robotlarının birçoğu doğadan esinlenerek, biyo-ilham robotlarının alanına katkıda bulunmaktadır.



Robotik Kodlama Nedir?


Robotik için en iyi programlama dili nedir diye bir soru sorulsa, bunun cevabı asla basit bir cevap olmayacaktır. Çünkü bir elektronik mühendisi, endüstriyel bir robot teknisyeninden farklı bir cevap verecektir. Yine bir bilgisayar programcısı bilişsel robotistlerden farklı bir cevap verecektir. Hiç kimse en iyi programlama dilinin ne olduğu konusunda hemfikir olmaz ve olamayacaktır. İlk öğrenilecek dil için verilebilecek cevap ne tür bir uygulama geliştirmek istendiğine ve hangi sistemin kullanılacağına bağlı olarak değişecektir.



Dünyada 1500'ün üzerinde programlama dili bulunmaktadır ki, bu robotik üzerine çalışan bir kişi için öğrenilmesi gereken çok fazla bir sayıdır. Her dilin robotik için farklı avantajları vardır.



Robotik Kodlamada Kullanılan En Popüler Yazılım Dilleri


l C ve C++: Robotikte 1 numaralı programlama dili olarak C ve C++ gösterilmektedir. Genel kanaat, C ve C ++ 'ın yeni robotistler için iyi bir başlangıç noktası olduğudur. Çünkü pek çok donanım kitaplığı bu dilleri kullanmaktadır. Bu diller düşük seviye donanım ile etkileşime, gerçek zamanlı performansa izin verir ve çok işlevsel programlama dilleridir. C ++ temelde C'nin bir uzantısıdır. C / C ++ ile yazılmış bir donanım kütüphanesi bulunduğunda hemen kolaylıkla tanınabilmektedir. Diğer programlama dillerinde uzun satırlarla yazılabilen kodlar, C kullanıldığında daha az satırla aynı işlevleri tanımlamayı mümkün kılmaktadır.



l Pyhton: Son yıllarda özellikle robotlarda Python yoğun bir kullanım alanı bulmuştur. Bunun nedenlerinden biri muhtemelen Python'un ROS'ta (robot işletim sistemi) bulunan iki ana programlama dilinden biri olmasıdır. Java gibi, yorumlayıcı bir dildir. Java'nın aksine, dilin ana odak noktası kullanım kolaylığıdır. Python, değişken tiplerin tanımlanması ve dökümü gibi, programlamada zaman alan birçok olağan şeyi dağıtır. Ayrıca, bunun için çok sayıda ücretsiz kütüphaneye sahiptir. Yani bazı temel işlevler yerine getirilmesi gerektiğinde “tekerleği yeniden icat etmek” zorunda kalınmaz. C / C ++ kodlu basit bağlantılara izin verdiğinden, bu performans kaybından kaçınmak için Pyhton’a ağır gelen bölümlerin bu dillere uygulanabileceği anlamına gelir. Bu uygulamada kolaylık ve dile avantaj sağlayan bir durumdur.



l Java: Bazı bilgisayar bilimi eğitmenleri Java'yı ilk programlama dili olarak öğrencilere öğretmektedir. Java, programcıdan temeldeki bellek işlevini "gizler", bu da programlamayı C'den daha kolay hale getirir, fakat bu aynı zamanda kodla aslında ne yapıldığına dair daha az bilgiye sahip olunduğu anlamına gelir. Eğer bir bilgisayar bilimi arka planından (ve özellikle de araştırmada birçok insan) robotiğe gelinirse, muhtemelen Java zaten öğrenilmiş olacaktır. C ve MATLAB gibi, Java da yorumlayıcı bir dildir, yani makine koduna göre derlenmez. Tersine, Java Sanal Makinesi talimatları çalışma zamanında yorumlar. Java'yı kullanmayla ilgili teori, Java Sanal Makinesi sayesinde aynı kodu birçok farklı makinede kullana bilinmesidir. Uygulamada, bu her zaman işe yaramaz ve bazen kodun yavaş çalışmasına neden olabilir.



l C# /.Net: C #, Microsoft tarafından sağlanan özel bir programlama dilidir. C # / NET içeriklerini büyük ölçüde, birincil dili olarak kullanan Microsoft Robotics Developer Studio'ya eklenmiştir. Bu sistem kullanılacaksa, muhtemelen C # kullanılması gerekecektir. Bununla birlikte, ilk olarak C / C ++ öğrenme, kodlama becerilerinizin uzun vadeli gelişimi için iyi bir seçenek olabilir.



l Matlab: MATLAB ve Octave gibi açık kaynak kodları, verileri analiz etmek ve kontrol sistemleri geliştirmek için bazı robot mühendislerle çok popülerdir. MATLAB’da çok popüler bir Robotik Toolbox bulunmaktadır. Sadece robotik sistemleri tek başına MATLAB kullanarak geliştirmiş olan robotikçiler bulunmaktadır. Verileri analiz etmek, gelişmiş grafikler üretmek veya kontrol sistemleri uygulamak isteyenler, MATLAB'ı öğrenmeleri gerekecektir.



l Donanım Tanımlama Dilleri (HDL): Donanım Açıklama Diller, temel olarak elektronik parçaların tanımlanması için bir programlama yoludur. Bu diller, bazı robotistlere oldukça aşinadır, çünkü Alan Programlanabilir Kapı Dizileri ( FPGA ) programlamak için kullanılırlar. FPGA'lar, bir silikon yonga üretmek zorunda kalmadan elektronik donanım geliştirilmesine izin verir, bu da onları bazı geliştirmeler için daha hızlı ve daha kolay bir seçenek haline getirir. Elektronik prototipini yapılmazsa, HDL'leri asla kullanılamaz. Öyle olsa bile, diğer programlama dillerinden oldukça farklı oldukları için var olduklarını bilmek önemlidir. Bir şey için, tüm işlemler, işlemci tabanlı dillerle sıralı olarak değil, paralel olarak gerçekleştirilir.



l Endüstriyel Robot Dilleri: Hemen hemen her robot üreticisi, endüstriyel robot teknolojisindeki sorunlardan biri olan kendi özel robot programlama dilini geliştirmiştir. Pascal'ı öğrenerek bunlardan birçoğunu tanımlanabilmektedir. Bununla birlikte, yeni bir robot kullanmaya başladığınızda her zaman yeni bir dil öğrenmek zorunda kalınacaktır. ABB, RAPID programlama diline sahiptir. Kuka'nın KRL'si vardır (Kuka Robot Dili) . Comau kullanımı için PDL2 gerekir, INFORM ve Kawasaki Yaskawa kullanmaktadır. Bunun yanında Fanuc robotları Karel kullanmakta, Stäubli robotları VAL3 kullanmakta ve Universal Robots URScript kullanmaktadır. Son yıllarda, ROS Endüstriyel gibi programlama seçenekleri programcılar için daha standartlaştırılmış seçenekler sunmaya başlamıştır.



l Lips: LISP, dünyanın en eski ikinci programlama dilidir ( FORTRAN’dan daha eskidir). Bu listede diğer programlama dillerinin çoğu kadar yaygın olarak kullanılmamaktadır; Bununla birlikte, Yapay zekâ programlamasında hala çok önemlidir. ROS kullanmak için bilmeniz gerekmese de, ROS'un parçaları LISP'de yazılmıştır.



l Basic / Pascal: BASIC ve Pascal, ilk temel programlama dillerinden ikisidir. Başlangıç için basit öğrenimi olduğundan kolay diller olmakla beraber son dönemlerde her iki dil de “günlük kullanım” için modası geçmiş bulunmaktadır. Ancak, çok düşük seviyede kodlama yapılacaksa veya diğer endüstriyel robot dillerini tanımak isteniyorsa bunları öğrenmek faydalı olabilir.



l Assembly: Assembly, "birler ve sıfırlar" seviyesinde programlamaya izin verir. Bu, en düşük seviyede (az ya da çok) programlama yapmaktır. Yakın geçmişte, çoğu düşük seviye elektronik, Assembly’de programlamayı gerektirmektedir. Arduino ve diğer mikro denetleyiciler, artık C / C ++ kullanarak bu seviyede kolayca programlama yapılabilmektedir, bu da Assembly’in büyük olasılıkla robotistlerin çoğu için daha az gerekli hale geleceği anlamına gelmektedir.
 

Ekli dosyalar

  • 5b938ecce65d5.jpg
    5b938ecce65d5.jpg
    87.3 KB · Görüntüleme: 391

kisiselblog

Bağımlı
Katılım
24 Tem 2018
Mesajlar
31
Tepki
0
Evet hocam bunun açıklaması ile ilgili bir video çekmeyi düşünüyorum.Uygulamalı olmasa da anlatım şeklinde olucak.
 
Üst Alt