ROS (Операционная система робота) — это метаоперационная система с открытым исходным кодом, подходящая для роботов. Он предоставляет услуги, которые должна иметь операционная система, включая аппаратную абстракцию, низкоуровневое управление устройствами, реализацию общих функций, передачу сообщений между процессами и управление пакетами. Он также предоставляет инструменты и библиотечные функции, необходимые для получения, компиляции, написания и запуска кода на компьютерах.
Благодаря быстрому развитию промышленного интеллекта интеллектуальное роботизированное оборудование стало лидером в системах промышленной автоматизации. Ядро интеллектуального роботизированного оборудования, система ROS, является лидером в области роботов и в основном используется в области управления роботами. такие как контроллеры промышленных роботов AGV, интеллектуальный контроллер роботизированной руки, система навигации робота и т. д.
(1) Предоставить богатую библиотеку алгоритмов роботов.
Различные элементы управления и коммуникации роботов неотделимы от поддержки библиотек алгоритмов. Система ROS предоставляет богатую и мощную библиотеку алгоритмов роботов, таких как преобразование координат, управление движением и т. д. Разработчики роботов могут просто и быстро вызывать соответствующие библиотеки алгоритмов в зависимости от потребностей разработки, чтобы повысить эффективность разработки и ускорить процесс разработки.
(2) Открытый исходный код и бесплатная оптимизированная архитектура.
Система ROS — это бесплатная и оптимизированная операционная система для роботов с открытым исходным кодом. ROS спроектирован максимально упрощенным, чтобы код, написанный для ROS, можно было использовать с другими программными платформами для робототехники, такими как ROS, интегрированная с OpenRAVE, Orocos и Player. Именно из-за этой характеристики во всем мире множество людей исследуют и разрабатывают системы АФК, создавая ситуацию, когда «распускаются сотни цветов, а семьи ссорятся», что делает АФК все более мощными. «Открытая, бесплатная и оптимизированная архитектура» также означает, что затраты на разработку продукта могут быть значительно снижены, циклы разработки продукта могут быть сокращены, а эффективность разработки продукта может быть повышена.
(3) Поддержка управления и связи в реальном времени, безопасность и надежность данных.
Сегодняшняя система ROS поддерживает управление и связь в реальном времени, а данные безопасны и надежны. «Реальное время» и «безопасность» являются обычными задачами в современной индустрии промышленной автоматизации, особенно при разработке AGV, если управление и связь главного контроллера AGV робота, радара, камеры, GPS и других компонентов могут осуществляться в реальном времени и безопасно. , Невыполнение этого требования приведет к серьезным последствиям, таким как утечка основных данных, отклонение управления маршрутом и сбои в системе связи. Благодаря своим преимуществам система ROS стала мощным инструментом для разработки AGV, широко используется при разработке различных роботов и постепенно стала основной.
Chuanglong Technology SOM-TL3568 — это четырехъядерная бытовая промышленная базовая плата ARM Cortex-A55, разработанная на базе процессора Rockchip RK3568J/RK3568B2, с основной частотой до 2,0 ГГц. Все компоненты, такие как процессор основной платы, ПЗУ, ОЗУ, блок питания, кварцевый генератор и разъемы, используют отечественные решения промышленного уровня со 100% степенью локализации, и предоставляется отчет о сертификации степени локализации.
Файл образа запуска системы ROS update.img, предоставляемый платформой RK3568J нашей компании, находится в каталоге информации о продукте «4-Software Information\Demo\platform-demos\ros2_foxy\bin». См. раздел «Производство стартовой карты системы Linux». Сначала документ «System Solidification», используйте файл образа update.img для создания загрузочной карты SD (т. е. загрузочной карты системы ROS) с помощью «Rockchip Create Upgrade Disk Tool», а затем вставьте загрузочную карту SD в оценочную плату Micro. Слот для SD-карты. Систему также можно закрепить на eMMC с помощью карты обновления SD или метода закрепления через USB.
Демонстрация коммуникации на основе языка Python
Функция Case: на основе языка Python запустите узел ROS для публикации и подписки на сообщения, а также реализуйте связь в реальном времени между узлом сообщений о подписке и узлом сообщений публикации.
Включите оценочную плату и выполните следующую команду, чтобы настроить среду тестирования оценочной платы.
Target#export COLCON_CURRENT_PREFIX=/opt/ros
Target# source /opt/ros/local_setup.sh
Выполните следующую команду, чтобы запустить узел ROS для подписки на сообщения.
Target# ros2 run demo_nodes_py listener &
Выполните следующую команду, чтобы запустить узел ROS для публикации сообщений и реализовать связь между подписывающимся узлом сообщений и узлом публикующих сообщений. В это время терминал отладки последовательного порта оценочной платы распечатает информацию о связи между двумя узлами, как показано на рисунке ниже. Нажмите «Ctrl+C», чтобы выйти из тестовой программы, то есть позволить узлу, опубликовавшему сообщение, выйти.
Target# ros2 run demo_nodes_py talker
Выполните следующую команду, чтобы просмотреть и завершить работу всех узлов ROS в соответствии с номером системного процесса. Пожалуйста, обратитесь к фактической ситуации для номера процесса.
Target# ps -a
Target# kill 1256
Target# kill 1257
Демонстрация связи на основе языка C++
Функция Case: на основе языка C++ запускайте узлы ROS для публикации и подписки сообщений, а также реализуйте связь в реальном времени между подписывающимися узлами сообщений и узлами публикующих сообщений.
Включите оценочную плату и выполните следующую команду, чтобы настроить среду тестирования оценочной платы.
Target#export COLCON_CURRENT_PREFIX=/opt/ros
Target# source /opt/ros/local_setup.sh
Выполните следующую команду, чтобы запустить узел ROS для подписки на сообщения.
Target# ros2 run demo_nodes_cpp listener &
Выполните следующую команду, чтобы запустить узел ROS для публикации сообщений и реализовать связь между подписывающимся узлом сообщений и узлом публикующих сообщений. В это время терминал отладки последовательного порта оценочной платы распечатает информацию о связи между двумя узлами, как показано на рисунке ниже. Нажмите «Ctrl+C», чтобы выйти из тестовой программы, то есть позволить узлу, опубликовавшему сообщение, выйти.
Target# ros2 run demo_nodes_cpp talker
Выполните следующую команду, чтобы завершить работу всех узлов ROS в соответствии с номером системного процесса. Пожалуйста, обратитесь к фактической ситуации для номера процесса.
Target# ps -a
Target# kill 1332
Target# kill 1333