Все новички, загоняя себя на определенную робототехническую платформу, под влиянием, как им кажется, распространенных "авторитетных мнений", ограничивают свои профи перспективы в аппаратную архитектуру под той или иной OS, не понимая что рост своего профессионального уровня во многом будет зависеть от инструментария и аппаратной архитектуры, для которой предназначен этот инструментарий, что однозначно скажется на конечном результате по срокам и стоимости и прочих неопределенностях на начальных этапах своих проектов.
Вот основные постулаты которых имеет смысл придерживаться в начале своего пути к робототехнике:
— робософт работает в виде в промежуточного слоя между обычной ОС и программами/скриптами управления роботом;
— робософт имеет модульную структуру, которая работает поверх базовой прослойки (фреймворка);
— робософт имеет распределённую клиент-серверную структуру;
“стандартный” робософт – это:
* фреймворк, обеспечивающий типовые операции, слой абстракции от оборудования, межпотоковое взаимодействие и т.д.
* дополнительные модули, реализующие различные робототехнические алгоритмы (компьютерное зрение, SLAM, машинное обучение, кинематика)
* симулятор (симулятор является важной частью программного обеспечения для разработки роботов — он позволит отлаживать алгоритмы в виртуальной среде, без покупки дорогостоящего оборудования.)
* оболочка для визуального программирования и управления роботом (наглядное и доступное объектно-ориентированное программирование, представление состояния робота в виде иерархического конечного автомата, состоящего из управляемого набора финальных статических машин и т.п.)
Я предвижу здесь вероятность рассуждений относительно платформы ROS, которая активно популяризируется большинством российских вузов, а так же курсов с армией хобийных сообществ студенческих команд и т.д. и т.п .
Для ясности - На вопрос: «Чем ROS отличается от других X платформ, нет однозначного ответа, есть аксиома - если вы решите использовать X, вы всё же сможете использовать многие из библиотек, распространяемых вместе с ROS. При этом Важно понимать - ROS работает только на Unix-платформах и в основном носит экспериментальный характер.
Тема имеет ветвления в зависимости от того какой робототехникой вы хотите заниматься.
К примеру
индустриальные манипуляторы, логистические системы, биороботы, агротехнические системы и т.д. и т.п.