# 6.2 Конфигурационный файл анализатора

Для мониторинга устройства с помощью диагностического агрегатора нам нужна запись в конфигурационном файле анализатора, как и показанная ниже, которая часто используется с сервоприводами Dynamixel:

```
pub_rate: 1.0
analyzers:
joints:
type: GenericAnalyzer
path: 'Joints'
timeout: 5.0
contains: '_joint'
```

Пока нужно определить пользовательские анализаторы для различных устройств, нам нужно будет использовать только общий тип **GenericAnalyzer**. Вы можете узнать больше о параметрах конфигурации анализатора в учебнике [Generic Analyzer Tutorial](http://wiki.ros.org/diagnostics/Tutorials/Using%20the%20GenericAnalyzer) на сайте Ros Wiki. На данный момент будет достаточно параметров, показанных выше. Давайте разберем его по строчкам:

В 1 строке  указывается скорость, с которой агрегатор должен публиковать диагностическую информацию. Скорость в 1,0 Гц, вероятно, достаточно быстра для большинства устройств, таких как сервоприводы, батареи, приводные двигатели и т.д.

Во 2 строке указывается, что все наши параметры будут попадать под пространство имен \~analyzers, что требуется при использовании **GenericAnalyzer** с диагностическим агрегатором. Нам не нужно будет обращаться непосредственно к этому пространству имен, но эта строка должна появиться в нашем конфигурационном файле.

Строка 3 указывает, что мы будем использовать пространство имен **joints** под пространством имен \~analyzers для хранения агрегированной диагностики для серво-суставов.

Строка 4 указывает, что мы будем использовать тип плагина **GenericAnalyzer** для анализа этих устройств.

В строке 5 параметр path определяет строку, которая будет использоваться для классификации этих устройств при просмотре в графическом интерфейсе **rqt\_robot\_monitor**. В этом случае мы хотим, чтобы все наши сервоприводы были перечислены в категории **"Joints"**(суставы).

Строка 6 определяет тайм-аут для получения обновления от устройства. Если в течение этого периода времени от устройства не будет получено никаких данных, то устройство будет помечено как "Stale" в **rqt\_robot\_monitor**.

Наконец, строка 7 действительно является ключом ко всему файлу. Здесь мы указываем строку, которая должна появиться где-то в сообщении диагностического массива, чтобы определить тип устройства, которое мы хотим контролировать. Как мы увидим в следующем разделе, Имена всех наших совместных контроллеров содержат строку **"\_joint"**, а именно head\_pain\_joint и head\_tilt\_joint. Таким образом, использование строки **"\_joint"** для параметра contains должно работать в этом случае. Как показано в онлайн-учебнике  [Generic Analyzer Tutorial](http://wiki.ros.org/diagnostics/Tutorials/Using%20the%20GenericAnalyzer) , можно также использовать параметр startswith вместо contains. В этом случае мы могли бы использовать слово "Joint", поскольку поле name в диагностических сообщениях для сервоприводов все начинается с "Joint".

В следующем разделе мы рассмотрим, как можно настроить несколько анализаторов в одном файле конфигурации.\ <br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://m1801899.gitbook.io/translate-book/6.2-konfiguracionnyi-fail-analizatora.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
