Конфигурационные файлы системы

Работа с конфигурационными файлами

Конфигурационные файлы сервисов находятся в директории проекта eurus_edu. Для их просмотра и редактирования можно использовать стандартные команды терминала Linux

Корневая директория проекта

Все сервисы проекта расположены в каталоге:

~/ros2_ws/src/eurus_edu

Для перехода в директорию проекта выполните команду:

cd ~/ros2_ws/src/eurus_edu

Основные команды терминала

cd - перемещение между директориями

Синтаксис: cd <путь_к_директории>

ls - вывести список файлов в текущей директории

Синтаксис: ls

nano - открыть файл по пути

Синтаксис: nano <путь_к_файлу>

Пример изменения конфигурационного файла

1. Перейдите в директорию проекта:

`cd ~/ros2_ws/src/eurus_edu`

Или глобальным путём: `cd /home/pi/ros2_ws/src/eurus_edu`

2. Перейдите в директорию нужного сервиса:

`cd edu_api_server`

3. Откройте файл конфигурации:

`nano eurus.ini`

4. Внесите необходимые изменения

5. Сохраните файл (Ctrl + O)

6. Закройте редактор (Ctrl + X)

edu_web_server

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

Секция [web_server]

Параметры запуска веб-интерфейса.

Параметры:

  • host - IP-адрес, на котором будет доступен веб-интерфейс. Значение 0.0.0.0 разрешает подключения со всех сетевых интерфейсов.

  • port - Порт веб-сервера

Пример:

[web_server]
host = 0.0.0.0
port = 5000

Секция [systemd]

Настройки поиска пользовательских сервисов systemd.

Параметры:

  • services_path - Путь к директории с файлами сервисов systemd

Пример:

[systemd]
services_path = /home/orangepi/ros2_ws/src/eurus_edu/services

Секция [video_topics]

ROS-топики, используемые для передачи видеопотоков.

Параметры:

  • aruco - Отладочное изображение ArUco-навигации

  • forward_camera - Поток с передней камеры

  • downward_camera - Поток с нижней камеры

Пример:

[video_topics]
aruco = /edu/aruco_debug
forward_camera = /edu/forward_camera
downward_camera = /edu/downward_camera

Секция [applications]

Позволяет добавить пользовательские приложения в панель веб-интерфейса

Формат записи:

имя_приложения = /полный/путь/до/скрипта.py

Пример:

[applications]
example_app = /home/user/example_app.py
test_script = /home/user/test.py

edu_neuro_detection

Сервис обнаружения объектов с использованием нейросетевой модели

Секция [neuro]

Параметры модели компьютерного зрения

Параметры:

  • model_path - Путь к директории с нейросетевой моделью.

  • conf_threshold - Минимальный порог уверенности для обнаружения объекта

  • camera_topic - Топик с видеопотоком для обработки

Пример:

[neuro]
model_path = ...
conf_threshold = 0.6
camera_topic = /edu/forward_camera

edu_led_controller

Сервис управления светодиодной лентой

Секция [led]

Параметры:

Настройки подключения светодиодной ленты

  • amount - Количество светодиодов

  • channel - Используемый канал управления

  • port - Номер порта подключения

  • speed - Скорость передачи данных

Пример:

[led]
amount = 50
channel = 4
port = 1
speed = 3200000

edu_lasertag_controller

Сервис управления лазертаг-модулем

Секция [laser_gun]

Лазерная пушка

Параметры:

  • shot_pin - Пин лазерной пушки

  • shots_per_command - Количество выстрелов за одну команду (увеличивает продолжительность выстрела)

Пример:

[laser_gun]
shot_pin = 138
shots_per_command = 5

Секция [hit_controller]

Параметры регистрации попаданий

Параметры:

  • hit_pin - Пин детектора попадания по дрону

  • hit_color - Цвет индикации попадания в формате RGB

  • led_brightness - Яркость светодиодов при попадании

  • hit_blinking_speed - Скорость мигания

  • nled - Количество используемых светодиодов

Пример:

[hit_controller]
hit_pin = 139
hit_color = 255 255 255
led_brightness = 0.3
hit_blinking_speed = 0.3
nled = 45

edu_camera_stream

Сервис публикации видеопотоков

Передняя камера

Секция [forward_camera]

Параметры:

  • enable - Включает или отключает использование камеры

  • device - Адрес расположения камеры

  • fps - Частота кадров видеопотока

  • width - Ширина изображения в пикселях

  • height - Высота изображения в пикселях

Пример:

[forward_camera]
enable = true
device = /dev/imx335-camera
fps = 30
width = 640
height = 480

Секция [forward_camera_server]

Параметры сервера видеопотока

[forward_camera_server]
host = 0.0.0.0
port = 8001

Нижняя камера

Секция [downward_camera]

[downward_camera]
enable = true
device = /dev/hbvcam-camera
fps = 30
width = 640
height = 480

Секция [downward_camera_server]

[downward_camera_server]
host = 0.0.0.0
port = 8002

edu_aruco_navigation

Сервис навигации по ArUco-маркерам

Секция [aruco]

Параметры:

  • dictionary - Текущий словарь аруко маркеров

  • map_path - Глобальный путь к карте маркеров

Поддерживаемые словари:

  • 4x4_50

  • 4x4_100

  • 4x4_250

  • 4x4_1000

  • 5x5_50

  • 5x5_100

  • 5x5_250

  • 5x5_1000

Пример:

[aruco]
dictionary = 4X4_1000
map_path = /home/orangepi/ros2_ws/src/eurus_edu/edu_aruco_navigation/maps/map.csv

Секция [settings]

Параметры:

  • aruco_debug - Включает вывод отладочной информации

  • camera_topic - Топик камеры, используемой для навигации

  • camera_config_path - Путь к конфигурации камеры

  • camera_direction - Направление камеры. Значение 0 соответствует камере, направленной вниз

Пример:

[settings]
aruco_debug = true
camera_topic = /edu/downward_camera
camera_config_path = /home/orangepi/ros2_ws/src/eurus_edu/camera_calib/calibration_data.json
camera_direction = 0

edu_api_server

Сервис обмена данными по TCP

Секция [server]

Параметры:

  • host - IP-адрес API-сервера

  • port - Порт API-сервера

  • buffer_size - Размер буфера api сервера

Пример:

[server]
host = 0.0.0.0
port = 65432
buffer_size = 1024

Секция [logging]

Раздел логирования

Параметры:

  • level - Уровень логирования

  • file - Название файла с логом

Пример:

[logging]
level = DEBUG
file = server.log

Световая индикация ошибок

Общая ошибка

[general_error]
effect = blink
nLED = 50
brightness = 0.5
r = 255
g = 0
b = 0
speed = 0.25

Используется для индикации критических ошибок системы

Ошибка подключения

[connection_error]
effect = blink
nLED = 50
brightness = 0.75
r = 255
g = 0
b = 0
speed = 0.25

Используется при потере соединения с внешними устройствами или сервисами

edu_commander

Сервис обработки команд, отправляемых на дрон

Секция [velocity]

Параметры:

  • aruco_borders_correlation_speed - Максимальная скорость возврата внутрь границ карты ArUco

  • aruco_borders_kp - Коэффициент увеличения скорости возврата в допустимую область

  • aruco_border_indent - Внутренний отступ от границ карты в метрах

Пример:

[velocity]
aruco_borders_correlation_speed = 0.4
aruco_borders_kp = 1.5
aruco_border_indent = 0.0

Секция [local_position]

Параметры:

  • point_reached_diff - Допустимая погрешность достижения целевой точки в метрах

Пример:

[local_position]
point_reached_diff = 0.2

Секция [restrictions]

Параметры:

  • max_yaw_rate - Максимальная скорость вращения по yaw в градусах в секунду

  • max_travel_distance_per_command - Максимальное расстояние, которое дрон может пройти за одну команду перемещения (в метрах). Если его задать меньше или равным 0, то ограничение убирается

[restrictions]
max_yaw_rate = 50
max_travel_distance_per_command = 8

Ограничение максимальной дистанции

Рассмотрим практический пример.

Если текущая позиция дрона (0, 0), а значение max_travel_distance_per_command = 8, то:

move_to_local_point(4, 4)

рассчитывает расстояние √(4² + 4²) = 5.66м, Команда будет выполнена

Команда move_to_local_point(7, 7)

рассчитывает расстояние √(7² + 7²) = 9.9м

Поскольку расстояние превышает установленное ограничение, команда завершится ошибкой: Превышена максимальная дистанция перемещения за команду

results matching ""

    No results matching ""