Robotikte Gömülü Sistemler: Mimarisi, Donanım Bileşenleri ve Gerçek Zamanlı Yazılımlar
Bir robotun fiziksel dünyayı algılamasını, karar vermesini ve anında tepki üretmesini sağlayan görünmez güç gömülü sistemlerdir. Donanım ve yazılımın milisaniyelik uyumuyla çalışan bu sistemleri yakından inceleyelim.
Gömülü sistemler (Embedded Systems), belirli bir görevi yerine getirmek üzere donanım ve yazılımın özel olarak optimize edilip tek bir çatı altında birleştirilmesiyle oluşur. Masaüstü veya dizüstü bilgisayarlar gibi genel amaçlı işlemler yürütmek yerine; robotik kollardan endüstriyel otonom araçlara (AGV) kadar her robotik platformun kalbinde yer alırlar.
1 Robotik Sistemlerde Gömülü Mimari
Bir robota hareket kabiliyeti kazandırırken genel amaçlı bir işletim sistemi (örneğin standart bir Windows veya Linux dağıtımı) kullanmak zamanlama açısından kritik hatalara yol açabilir. Robotikte gecikme, kaza demektir. Gömülü sistemler bu noktada üç kritik avantaja sahiptir:
- Determinastik (Öngörülebilir) Çalışma: Sistemin bir girdiye vereceği yanıt süresi önceden bellidir ve milisaniyeler hatta mikro saniyeler seviyesinde sabittir.
- Düşük Güç Tüketimi: Batarya ile çalışan mobil robotlar için enerji verimliliği hayati önem taşır. Gömülü işlemciler minimum enerji harcayacak şekilde tasarlanır.
- Boyut ve Donanım Optimizasyonu: Gereksiz hiçbir çevre birimi barındırmayan mikrodenetleyici kartları, kısıtlı alanlara kolayca entegre edilir.
2 Temel Donanım Yapı Taşları
Gömülü bir robotik mimari, dış dünyadan veri toplayan sensörler, veriyi işleyen birimler ve eyleme dönüştüren sürücülerden oluşur.
A. İşlemciler ve Mikrodenetleyiciler
Robotun karmaşıklık düzeyine göre seçilen işlem birimleri değişkenlik gösterir:
- Mikrodenetleyiciler (MCU): Arduino (ATmega328P), STM32 (ARM Cortex-M serisi) veya ESP32 gibi birimler CPU, RAM, Flash bellek ve I/O pinlerini tek çipte toplar. Motor kontrolü ve sensör okuma için idealdir.
- Tek Kart Bilgisayarlar (SBC): Raspberry Pi veya NVIDIA Jetson serisi gibi sistemler, yüksek seviyeli görüntü işleme (OpenCV) ve yapay zeka algoritmalarını çalıştırmak için kullanılır.
Robotikte İki Katmanlı İşlemci Mimarisi
Endüstriyel ve gelişmiş mobil robotlarda sıklıkla hibrit bir mimari kullanılır. Üst katmanda bir SBC (örneğin Raspberry Pi) haritalama (SLAM) ve rotayı planlarken; alt katmanda bir STM32 mikrodenetleyici doğrudan motor sürücüleri ve tekerlek enkoderlerini milisaniyelik hassasiyetle denetler.
3 Gerçek Zamanlı İşletim Sistemleri (RTOS)
Basit robotik projelerde kodlar tek bir loop() döngüsü içinde çalışırken, karmaşık robotik sistemlerde birden fazla işin eş zamanlı yürümesi gerekir. Örneğin; engel algılama sensörünün okunması, motor PID kontrolü ve batarya voltaj takibi aynı anda yapılmalıdır. Burada devreye FreeRTOS gibi Gerçek Zamanlı İşletim Sistemleri girer.
#include <FreeRTOS.h>
#include <task.h>
void Task_MotorControl(void *pvParameters) {
for(;;) {
update_pid_loop();
vTaskDelay(pdMS_TO_TICKS(10)); // 10ms hassas kontrol
}
}
void Task_SafetyCheck(void *pvParameters) {
for(;;) {
if (read_ultrasonic_distance() < 15) {
emergency_stop(); // Yüksek öncelikli müdahale
}
vTaskDelay(pdMS_TO_TICKS(5));
}
}
4 Gömülü Sistemlerde Yeni Trendler: Edge AI
Günümüzde gömülü sistemler yalnızca veriyi işleyip motor döndürmekle kalmıyor; çip üzerinde yapay zeka (TinyML / Edge AI) çalıştırma kabiliyetine kavuşuyor. Yapay zeka modelleri sıkıştırılarak mikrodenetleyicilere yüklenebiliyor, böylece robotlar internet veya bulut bağlantısına ihtiyaç duymadan nesne tanıma ve sesli komut algılama işlemlerini yerel olarak gerçekleştirebiliyor.
Gömülü Sistem Projelerinizi Hayata Geçirin
STM32, ESP32 ve C++ ile robotik kodlama dünyasına adım atmak ve projelerinizi geliştirmek için rehberlerimizi inceleyin.
Projeleri KeşfetSıkça Sorulan Sorular
Robotikte genel amaçlı bir bilgisayar yerine neden gömülü sistem tercih edilir?
Gömülü sistemler; belirli bir göreve odaklanmış, düşük güç tüketen, daha az yer kaplayan, maliyet etkin ve en önemlisi gecikmesiz (gerçek zamanlı) tepki verebilen donanım ve yazılım mimarilerine sahiptir.
Gömülü sistemler için hangi programlama dilleri kullanılır?
Donanım kaynaklarına doğrudan erişim, yüksek çalışma hızı ve bellek verimliliği sundukları için ağırlıklı olarak C ve C++ dilleri tercih edilir. Üst seviye otonom süreçler için Python ve ROS entegrasyonu da kullanılır.
RTOS (Gerçek Zamanlı İşletim Sistemi) robotikte neden gereklidir?
RTOS, birden fazla kritik görevin (sensör okuma, motor kontrolü, güvenlik sistemleri) belirli bir zaman sınırı içinde ve gecikme olmaksızın öncelik sırasına göre yürütülmesini garanti eder.

