🖥️ Операционные системы для роботов
Зачем роботу операционная система?
Современный робот — это компьютер на колёсах (или ногах, или пропеллерах). Ему нужно:
| Задача | Решение ОС |
|---|---|
| Читать датчики одновременно | Многозадачность |
| Реагировать мгновенно | Прерывания, приоритеты |
| Общаться по сети | Сетевой стек |
| Запускать AI-модели | Драйверы GPU/NPU |
Классификация ОС для робототехники
┌─────────────────────────────────────────────────────────────────┐
│ ОС для роботов │
├─────────────────────┬───────────────────┬───────────────────────┤
│ Микроконтроллеры │ Одноплатники │ Промышленные │
│ (STM32, ESP32) │ (RPi, Jetson) │ (PLC, серверы) │
├─────────────────────┼───────────────────┼───────────────────────┤
│ • FreeRTOS │ • Linux │ • QNX │
│ • Zephyr │ • Ubuntu │ • VxWorks │
│ • Arduino (bare) │ • ROS 2 │ • INTEGRITY │
└─────────────────────┴───────────────────┴───────────────────────┘
RTOS vs Linux
| Критерий | RTOS (FreeRTOS) | Linux |
|---|---|---|
| Детерминизм | ✅ Гарантированный | ⚠️ Мягкий RT |
| Ресурсы | 10 KB RAM | 512 MB+ RAM |
| Сетевой стек | Минимальный | Полный |
| Камеры, ML | ❌ | ✅ |
| Время загрузки | Мгновенно | 10-60 сек |
Вывод: Используй RTOS для низкоуровнего управления, Linux — для высокоуровневых задач.
Типичная архитектура
┌─────────────────────────────────────────────────┐
│ Jetson / Raspberry Pi │
│ ┌───────────────────────────────────────────┐ │
│ │ ROS 2 / Linux │ │
│ │ • Навигация, SLAM │ │
│ │ • Компьютерное зрение │ │
│ │ • Планирование │ │
│ └─────────────────────┬─────────────────────┘ │
│ │ UART/USB/CAN │
│ ┌─────────────────────┴─────────────────────┐ │
│ │ STM32 + FreeRTOS │ │
│ │ • Управление моторами │ │
│ │ • Чтение энкодеров (1000 Hz) │ │
│ │ • PID-регуляторы │ │
│ └───────────────────────────────────────────┘ │
└─────────────────────────────────────────────────┘
Подразделы
- 🛠️ Среды разработки (PlatformIO/ESP-IDF) — выбор IDE и фреймворка
Связанные материалы
- 📚 ROS 2 — Урок 3.4 — Презентация по ROS 2
- 📚 Микроконтроллеры — Платы для роботов
- 📚 Linux — Основы Linux
