ROS (Robots Operating System) — это операционная система для роботов, которая изначально была разработана как программная платформа в Стэнфордском университете. В настоящее время ROS используется для управления как промышленными роботами, так и развлекательными.
Обычно робот состоит из множества компонентов и датчиков. Чтобы избежать сбоя всей системы из-за отказа одного датчика, используется распределённая архитектура с узлами. Обмен данными между датчиками и управление командами осуществляется через связь между различными узлами. Протокол связи, который будет использоваться в этом документе, называется rosserial.
Rosserial позволяет удобно подключать собственный MCU к ROS через проводное соединение USART или беспроводное TCP. После подключения можно публиковать данные датчиков в узлах ROS или подписываться на данные датчиков от узлов ROS. Например, после подключения к ROS можно управлять автомобилем с камерой с помощью компьютера:
В настоящее время доступны два способа связи:
Если вы используете TCP, вам необходимо убедиться, что у rt-thread есть сетевое устройство и получить IP-адрес. Например:
Сначала вам понадобится мощный процессор для запуска главного узла ROS, например, ПК или ARM. Процесс установки можно найти на официальном сайте ROS (http://wiki.ros.org/ROS/Installation). В настоящее время Debian является лучшей поддерживаемой операционной системой.
Ниже приведён пример установки ROS Melodic на Ubuntu:
Зависимости:
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
Установка:
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
sudo apt update
sudo apt install ros-melodic-desktop-full
Инициализация:
sudo rosdep init
rosdep update
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
Запустите главный узел:
roscore
При использовании последовательного порта:
rosrun rosserial_python serial_node.py /dev/ttyUSB0
При использовании TCP:
rosrun rosserial_python serial_node.py tcp
Например, «hello world»:
rostopic echo /chatter
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )