📖
Arduino + ROS
  • О методичке
  • 1 Введение в ROS
    • Проблемы современной робототехники
    • История ROS
    • Что такое ROS, основные задачи
    • Устройство мобильного робота
    • Почему Linux для роботов?
    • Подготовка рабочего места
  • 2 Linux. Основы командной строки.
    • Команды терминала Linux
    • Протокол SSH
    • Пользователи и их права
  • 3 Основы ROS
    • Введение
    • Базовые понятия ROS
    • Сообщения
    • Topic
    • Service
    • Action
    • Стандарты ROS
    • Установка и запуск ROS
    • Практика с Turtlesim
  • 4 Работа с Arduino
    • Arduino и ROS
    • Создание издателя
    • Создание подписчика
Powered by GitBook
On this page
  • Координаты XYZ
  • Оси вращения
  • Стандарты кодирования
  1. 3 Основы ROS

Стандарты ROS

PreviousActionNextУстановка и запуск ROS

Last updated 3 years ago

Единицы измерений

Данные используемые в ROS, должны соответствовать единицам СИ - стандарту, наиболее широко используемому в мире.

Это указано в рекомендации REP-01031 . Например, используются длина в метрах, масса в килограммах, время в секундах, ток в амперах, угол в радианах, частота в герцах, сила в ньютонах, мощность в ваттах, напряжение в вольтах и температура в градусах Цельсия.

Все остальные блоки состоят из комбинации вышеупомянутых блоков. Например, скорость перемещения измеряется в метрах / сек, а скорость вращения измеряется в радиан / сек.

Рекомендуется соблюдать соответствие единицам СИ, поскольку это позволит другим пользователям переиспользовать ваш пакет без необходимости дополнительной конвертации.

Координаты XYZ

Оси x, y и z в ROS используют правило правой руки (правило буравчика), как показано на рисунке.

Направление вперед - это положительное направление оси X, которое изображено ​​красным. Направление налево представляет собой положительное направление оси Y, которое изображено зеленым. Наконец, направление вверх - это положительное направление оси Z, а ось обозначена ​​синим. Цветовое кодирование легко запомнить по аббревиатуре RGB (стандарт представления цвета red-green-blue), которое соответсвует осям XYZ.

Чтобы запомнить направления, вы можете расположить большой, указательный и средний палец в форме трех осей как показано на рисунке.

Оси вращения

Следуя правилу буравчика, направление, которое ваша правая рука закручивает - это положительное направление вращения. Например, если робот вращается с 12 до 9 часов, то используя радианы для обозначения угла поворота, мы получаем, что робот вращается на +1.5708 радиан по оси Z.

Стандарты кодирования

ROS рекомендует разработчикам следовать единому стандарту оформления кода (именования и форматирования). Единый формат кодирования уменьшает количество дополнительной работы, которую разработчики часто должны делать при работе с исходным кодом. В частности, это улучшает понимание кода для других участников и облегчает проверку кода.

Правила по соблюдению стандарта не является обязательными, но многие пользователи ROS соглашаются и придерживаются этих правил.

Перечислим принципы именования объектов

Объект
Правило
Пример

Пакет (Package)

under_scored

rst_ros_package

Topic, Service

under_scored

raw_image

File

under_scored

turtlebot3_fake.cpp

Variable

under_scored

string table_name;

Type

CamelCased

typedef int32_t PropertiesNumber;

Class

CamelCased

class UrlTable

Structure

CamelCased

struct UrlTableProperties

Function

camelCased

addTableEntry();

Method

camelCased

void setNumEntries(int32_t num_entries)

Constant

ALL_CAPITALS

const uint8_t DAYS_IN_A_WEEK = 7;

Macro

ALL_CAPITALS

#define PI_ROUNDED 3.0

http://www.ros.org/reps/rep-0103.html