Robotik Kodlama Nedir? Robotik Kodlama Öğrenme Rehberi

Robotik Kodlama Nedir? Robotik Kodlama Öğrenme Rehberi

Robotik kodlama olarak adlandırılan işlemler bütünü, robot adı verilen elektromekanik sistemlerin bilgisayarlar ile haberleşmesini sağlayan ve buradan aldığı komutları hayata geçiren yazılımlar olarak tanımlanabilir. Başka bir açıklamaya göre robotik kodlama; bir robotun yapması için programlanacak görevlerin tespit edilmesi, söz konusu görevlerin gerçekleştirilmesini sağlayacak kodun tasarlanması, robota iletilmesi ve sonuç olarak çıktının elde edilip sonucun değerlendirilmesini sağlayacak kodun robota gönderilmesi sürecidir. Bu tarifin içerdiği gibi robotik kodlama süreci yazılan kodun sonucunun test edilerek beklenen ile uyumunun değerlendirilmesini de içerir. Verilen görevlerin istenilen şekilde ve tam olarak yapılıp yapılmadığı söz konusu değerlendirmeye dahildir.

Robotik kodlama testleri boyunca hareketler gözlenir ve yazılan kod ile hareketin uyumu denetlenir. Bir tür deneme yanılma yöntemi olarak ilerleyen adımlar boyunca çeşitli düzenlemeler yapılarak, verilen komut ile elde edilen çıktının tam uyumlu olması sağlanır. Robotik kodlama süreci işin doğası gereği analitik düşünme, sonuç odaklı adımlar atabilme ve eleştirel bakış açısı yeteneklerinin gelişmesini sağlar. Bu alanda çalışanlar kod yazımı sırasında robota hangi hareketi, hangi koşullar altında ve nasıl yapması gerektiğini sayısal mantık çerçevesinde iletir. Yazılan kodun çalıştırılmasından sonra çıktı olarak kabul edilen robotun tüm hareketleri gözlenir, beklenen sonuç elde edilemediğinde tasarlanan kodun taranarak aksayan yerin bulunması gerekir. Bütün bu süreç robotik kodlama alanında çalışan kişilerin sorgulama ve sonuç alma becerilerini geliştiren bir işleve sahiptir.

Robotik Kodlama Eğitimi Neleri İçerir?

Robotik kodlama eğitimi, bilgisayarlar ile robotların haberleşmesi olarak özetlenebilecek sistemin kullandığı temel dillerin öğrenilmesini içerir. Bu eğitimleri alan kişiler yazdıkları kodlar ile bir robotun hareket etmesini ve istenen işleri yapmasını sağlayabilir. Robotik kodlama ile geliştirilen teknolojik altyapı sayesinde endüstriyel alanda iş verimliliği oldukça ileri seviyelere taşınabilmektedir. İnsan gücü yerine robotların kullanılmasını sağlaması bakımından robotik kodlama eğitimleri son derece önemlidir. Özellikle insan için tehlikeli olarak nitelenen pek çok iş, günümüzde robotik teknolojiler tarafından üstlenilmiş durumdadır. Yakın gelecekte bu alanın daha da genişlemesi ve çok daha yaygın bir şekilde robotların kullanılması kimse için sürpriz olmayacaktır.

Robotik kodlama, çeşitli yazılımlar ile birlikte temel düzeyde elektronik ve mekanik bilgisine sahip olmayı gerektirir. Sadece kod bilgisi ile bir sistemin hayata geçirilmesi mümkün olmaz. Bu doğrultuda robotik kodlama eğitiminde giriş seviyesinde elektronik ve mekanik bilgisi, robotların çalışma prensipleri, temel programlama aşamaları ve robotların hareketlerini kontrol etmek için kullanılan basit kodlamalar öğretilir. Eğitim sürecinde en çok kullanılan ve yaygın şekilde öğretilen programlama dilleri ise Python, C++ ve Java olarak sıralanabilir.

Kodlama eğitimleri ile hedeflenen kodlama bilgisinin öğrenilmesinin yanında farklı becerilerin kazanılması da mümkün olur. Eğitim programının bir parçası olan dersler sayesinde öğrenciler pratik beceri edinme, problem çözme, algoritmalar oluşturabilme ve bunları çözümleme kabiliyetleri edinir, var olanlarını geliştirir. Ayrıca bilgisayar ile yapılan işlemler sırasında oldukça iyi düzeyde bilgisayar bilgisi de doğal yoldan edinilmiş olur.

Temel Düzey Robotik Kodlama Aşamaları

Özellikle 7 yaş ve üzerindeki çocukların alacağı kodlama eğitimi zihinsel gelişimleri bakımından son derece değerlidir. Öğrenme yetenekleri ve temel beceri düzeylerinde sağlanan artış dikkate değer olmaktadır. Bu sebeple robotik kodlama eğitimleri pratik beceriler edinmeye yönelik olarak kurgulanır. Bu amaçla kullanılan Code.org, Code Monkey ve Scratch gibi programlar çocukların görsel figürleri zihinsel olarak yerleştirmesini sağlarken aynı zamanda yaratıcılık becerilerini de geliştirir.

Çocuklar için robotik kodlama aşamaları genellikle oyun oynar gibi keyifli bir ortam içerisinde gerçekleşir. Yürütülen öğrenim aşamaları boyunca çocuklar öncelikle kodlama mantığının temel çalışma prensiplerine hâkim olur. Bunun yanı sıra çocuklar bir yandan da bilişim dünyasına ilk adımlarını atmış olur. Yukarıdaki ana fikir üzerinden yürüyen temel düzeydeki kodlama aşamalarını basitçe ifade etmek gerekirse aşağıdakine benzer bir sıralama görülebilir:

  • Heceleme ve döngülere giriş
  • Basit, orta düzey ve zor döngüler
  • Basit uygulamalar
  • Karmaşık uygulamalar
  • Hata ayıklama kavramı ve ilk ayıklama işlemleri
  • Koşullandırıcılar
  • Temel hareketler, açılı hareketler ve döngüler
  • Basit fonksiyonların tanımlanması
  • Karmaşık fonksiyonlara giriş
  • İç içe fonksiyonlar ve While döngüleri oluşturma
  • Algoritma kavramına giriş
  • Algoritma ile oluşturulmuş örüntüleri çözme adımları

Algoritma Nedir?

Algoritma, bir problemin çözülmesi veya belirli bir amaca ulaşılması için gereken ve her bir aşaması adım adım takip edilecek bir yolun tasarlanması olarak tarif edilebilir. Daha kısa bir tanım yapmak gerekirse algoritma, bir işi yaparken geçilecek her bir adımın ayrı ayrı tanımlanmasıdır. Varılan noktada ortaya çıkan seçenekler ve bu seçenekler sonunda karşılaşılması muhtemel durumlar önceden tanımlanır. Günlük hayatta da pek çok alanda kullanılan algoritmanın sabit bir programlama dili olmadığı, programlama dillerine yön gösteren bir işaret sistemi olduğu söylenebilir.

Algoritmayı her dilde yazmak ve ifade etmek mümkündür. Masanın üzerinde duran şişeden yine masanın üzerindeki bardağa su doldurmanız istendiğinde bunun için yapılacak her işlem bir algoritma adımı olarak tanımlanabilir. Böyle bir algoritmayı şu şekilde ifade edebilirsiniz:

  • Şişeyi al
  • İçindeki suyu bardağa dök
  • Bardak dolduğunda taşmadan şişeyi masaya bırak

Her gün defalarca yaptığınız ve son derece basit olan işlerin de kendi içerisinde bir algoritmik düzeni olduğunu düşünürseniz bilgisayara komut verecek sistemi oluşturmanın mantığını çok daha kolay anlayabilirsiniz. Robotik kodlama aslında basitçe bir algoritmanın bir programlama dilinde (C++, Python, Java gibi) ifade edilmesidir. Yani, algoritma mantığının insanlar ve makineler tarafından okunabilen ve anlaşılabilen gerçek koda dönüştürülmesi işlemidir. Robotik deneyim elde edilebilmesi ve öğrencilere algoritma mantığının yerleştirilmesi için robottan beklenen çıktının tam olarak elde edilmesine kadar deneme yanılma sürecini yaşamaları istenir. Bu sayede hatalarını ve bu hataların sonuçlarını görme fırsatı elde eder.

Robotik Kodlamanın Temel Bileşenleri

Robotik kodlamanın birkaç temel bileşeni vardır.

  • Robot gövde bileşenleri: Gövde tasarımı robottan beklenen fonksiyonların gerçekleşebilmesi bakımından önemlidir. Hareket sisteminin tasarımı robotun işlevlerini belirler. Bir örnek vermek gerekirse, robotun çevirme hareketine sahip olması, dönme eylemini yapmasını sağladığı gibi aynı zamanda robotun ileri, geri, sağa ve sola hareket etmesini de sağlar. Robot tasarımında söz konusu hareketlerin yapılabilmesini manipülatör adı verilen bileşen temin eder.
  • Kontrol kartı: Genellikle robotun beyni olarak tanımlanır. Temel unsurların başında gelir. Kontrolör olarak tanımlanması da mümkündür. Sistemin belirli fonksiyonlarına erişebilmek için oluşturulmuş ana hafıza, ana ünite, güç kaynağı ve arayüzden oluşan mikro bilgisayarlar olarak da ifade edilebilir. Denetleyici işlevi sayesinde manipülatörün yapması ihtimal dahilinde olan her hareketi hesaplar ve bilgi işleme birimine aktarır. Ayrıca robot için kodlanan tüm yazılımların depolanmasını sağlar.
  • Motor: Robota yaptırılmak istenen işe ait hareketleri sağlayan ve genellikle elektrik ile çalışan motorlardır. Sistemin toplam verimliliği üzerinde büyük etkileri vardır. Motora hareket veren cihazlar ise aktüatörlerdir. Temelde bu işlev elektrik enerjisinin kinetik enerjiye dönüşümü ile sağlanır. DC tipindeki motorlar robotik yapılarda sıklıkla kullanılır.
  • Sensörler: Işık, ses, hareket gibi pek çok değişkeni ayırt edebilecek sensörler ile donatılan robotlar kendilerinden bekleneni vermek üzere bu elemanları kullanır. Sensörler robotların dış ortam ile iletişim kurmasının ve verileri algılamasının ana unsurudur. Ortama ait koşullar, robotun karşılaşabileceği engeller, mesafe farklılıkları ve ortamda meydana gelmesi muhtemel değişiklikler sensörler tarafından algılanır ve sisteme iletilir. Sensörlerden alınan bilgiler, sistem tarafından işlenerek aktüatörlere iletilir. Bir robotik yazılıma ait merkezi işlem sisteminin dış ortama ait değişkenleri algılamasına örnek olarak çeşitli ultrasonik sensörler ile lazer ve kızılötesi ışık sensörlerini vermek mümkündür.
  • Piller: Robotik tasarımların birçoğunda motor tarafından üretilecek kinetik enerjinin kaynağı pil olmaktadır. Güç kaynağı olarak işlev gören pil, batarya gibi yapılar robotların temel enerji kaynağıdır. Enerjinin olmadığı durumda hareket fonksiyonundan söz edilemez.
  • Motor Sürücüleri: Motorun hareketine dair tüm komutlar sürücü tarafından taşınır.
  • Kablosuz Haberleşme Modülleri: Bilgisayar üzerinde bulunan yazılım komutlarını robota iletmek üzere kullanılan kablosuz iletişim sistemleridir.

Robotik Kodlama Öğrenmek İçin Uygun Yaş Aralığı Nedir?

Farklı görüşler olmakla birlikte çoğunluğa sahip eğitimciler robotik kodlama eğitimi almak için uygun yaş aralığının 6 ile 10 yaş arası olduğu yönünde fikir beyan etmektedir. Bu tezi öne sürenler robotik kodlamayı anlayabilmek ve tam anlamıyla kavrayabilmek için çocukların öncelikle okuma yazmayı öğrenmesinin gerekli olduğunu savunur. Bu grup okuma yazma becerisi gelişmiş çocukların robotik kodlamayı çok daha kısa sürede ve çok daha başarılı şekilde öğrendiğini ifade etmektedir.

Genel olarak bu tez kabul görmekle birlikte robotik kodlama öğrenme yaşının 5 yaşa kadar düşebildiği öğretim kurumlarına da rastlamak mümkündür. Temel düzey kodlama faaliyetleri için bu durum kabul edilebilir olsa da ileri düzey robotik kodlama eğitimlerinin küçük yaştaki çocuklar için uygun olduğunu söylemek zordur. İleri düzey eğitimler için uygun yaş grubu daha çok lise çağındaki gençlerden oluşurken bu eğitimin birçok lise ve üniversitenin müfredatında yer almaya başladığı görülmektedir.

Robotik Kodlama Çocuklara Ne Kazandırır?

Her çocuğun robotik kodlama öğrenmesi gerekir mi sorusuna evet cevabı vermek pek uygun olmayabilir. Ancak bu konuda ilerlemeler sağlayan çocukların birçok açıdan avantaj elde edebileceği de bir başka gerçek olarak kabul edilebilir. Çocuklara robotik kodlama öğretmekle elde edilecek faydaları şu şekilde özetlemek mümkündür:

  • Robotik kodlama eğitimleri ile çocuklarda analitik düşünme kabiliyeti oluşur.
  • Analitik düşünme becerisine sahip olan çocuklar problemlerin başlangıç aşamalarına daha kolay ulaşırlar ve onları çözecek adımları diğer yaşıtlarına göre daha kolay bulurlar.
  • Bir yönergeyi anlama ve uygulama konusunda önemli avantajlar elde ederler.
  • Olaylar veya durumlar karşısında sebep sonuç ilişkilerini çok daha kolay kurabilecek yeteneklere sahip olurlar.
  • Makinelerin çalışma prensipleri, komut düzenekleri gibi konularda ilave bilgi sahibi olurlar.
  • Bakış açılarına çeşitlilik kazandırır, el, göz ve hareket koordinasyonunda hatırı sayılır gelişmeler elde ederlar.
  • Sosyal ortamlara daha kolay adapte olurlar.
  • Ortak çalışma ve iş birliği yapma becerileri artar.
  • Odaklanma konusuna daha hızlı bir gelişim elde ederler.
  • Birbirinden farklı gruplar içerisinde yer alması muhtemel olan çocuklar burada artı ve eksi yönlerini keşfetme ve çözüm geliştirme imkânı yakalarlar.

Göreceğiniz üzere robotik kodlamanın yararları konusunda oldukça uzun ve cazip bir liste vardır. Eğitime başlama aşamasında bazı alternatif fikirler olmakla birlikte eğitimin gerekliliği konusunda bir fikir ayrılığından söz etmek kolay değildir. Ancak, elbette her çocuğun bir kod yazılımcısı olması beklenemeyeceği gibi bunun mümkün olmayacağını da önceden kabul etmek yerinde olur. Çocukların eğilimleri doğrultusunda bu beceriyi kazandırmaya çalışmak ve olmuyorsa ilgi alanlarına yöneltmek en akılcı davranış modeli olabilir.