Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 23 Следующий »

Общая информация:

получить информацию о топике
rostopic info /<topic name>
получить данные с топика
rostopic echo /<topic name>
опубликовать данные в топик
rostopic pub /<topic name> ...

Датчики прикосновений sens

Топик выводит информацию а срабатывании емкостного датчика в голове и ладонях робота. Через топик можно сымитировать прикосновение к роботу.

Данные с топика:

rostopic echo /sens
#полученные данные
left_hand: False #емкостной датчик в левой ладони
right_hand: False #емкостной датчик в правой ладони
head_left: False #емкостной датчик в левом ухе
head_right: False #емкостной датчик в правом ухе
head_center: False #емкостной датчик в центре головы

При срабатывании right_hand, left_hand в ладонях, робот начнет сгибать пальцы правой или левой руки соответственно

При срабатывании head_left, head_right, head_center в голове, уши робота загорятся желтым цветом

Публикация данных в топик:

rostopic pub /sens promobot_msgs/TouchSens "{left_hand: false, right_hand: false, head_left: false, head_right: false, head_center: false}" -1
#передача любому ключу значение true сымитирует прикосновение к датчику

Распознавание речи asr

Топик выводит информацию о готовности робота распознавать, процесс распознавания и что распознал робот. Через топик можно отправить реплику роботу на распознавание.

Данные с топика:

rostopic echo /asr
#полученные данные
data: True #если робот сейчас не произносит текст и готов слушать собеседника
---
data: False #если робот сейчас произносит текст и не может услышать собеседника
---

rostopic echo /asr/result
#полученные данные
header: 
  seq: 127 #кол-во итераций распознавания с момента запуска
  stamp: #время публикации
    secs: 1617172367
    nsecs: 814594122
  frame_id: "asr" #индентификатор asr 
source: 0 #источник звука
uuid: "7d607d83-a98d-42cf-8e83-f0bcce857c91" #уникальный идентификатор
text: "hello" #распознанный текст
final: 1 #статус распознавания (1 - завершен, 0 - в процессе)
conf: 0.899999976158 #данные с google, коэфициент уверенности в распознавании
---

Публикация данных в топик:

rostopic pub /asr std_msgs/Bool "data: true" -1 #включить распознавание речи

rostopic pub /asr std_msgs/Bool "data: false" -1 #выключить распознавание речи

rostopic pub /asr/result promobot_msgs/ASRResult "header:
  seq: 0
  stamp: {secs: 0, nsecs: 0}
  frame_id: ''
source: 0
uuid: 'cb2726de-91f2-11eb-a8b3-0242ac130003' #можно сгенерировать на https://www.uuidgenerator.net/version1 
text: 'test' #что отправляем на распознавание
final: 1  #сообщаем сервису, что реплика завершена 
conf: 1.0" #указываем коэфициент

Произношение текста tts

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

Данные с топика:

rostopic echo /tts/process
#полученные данные
status: True #реплика сейчас произносится
uuid: "{460467e7-bdee-4b28-804b-fe35dbf296a1}" #уникальный идентификатор реплики
---
status: False #произношение реплики завершено
uuid: "{460467e7-bdee-4b28-804b-fe35dbf296a1}" #уникальный идентификатор реплики
---

rostopic echo /tts/start 
#полученные данные
text: "My name is Promobot" #текст, который робот произносит
terminate: True #может ли реплика быть прервана
uuid: "{9597cd61-8eb5-4dfc-a5c9-994492f5355a}" #уникальный идентификатор реплики
ignore_saving: False #данная логика используется в микрофонном массиве

Публикация данных в топик:

rostopic pub /tts/cancel std_msgs/Empty "{}" -1 #отменяет произношение реплики

rostopic pub /tts/start promobot_msgs/TTSCommand "text: 'test phrase' #отправка реплики на произношение
terminate: false
uuid: ''
ignore_saving: false" 

Уровень громкости volume

Топик выводит информацию об уровне громкости динамиков. Через топик можно выставить значение уровня громкости.

Данные с топика:

rostopic echo /volume
#полученные данные
data: 81 #уровень громкости
---

Изменение громкости:

pactl set-sink-volume $PROMOBOT_SINK_DEFAULT 30%  #установить уровень громкости в 30%

Чувствительность микрофона mic

Топик выводит информацию о чувствительности микрофона. Через топик можно выставить значение чувствительности микрофона.

Данные с топика:

rostopic echo /mic
#полученные данные
data: 81 #уровень чувствительности микрофона
---

Изменение чувствительности микрофона:

pactl set-source-volume $PROMOBOT_SOURCE_DEFAULT 30%  #установить уровень чувствительности микрофона в 30%

Режим езды drive

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

Данные с топика:

rostopic echo /drive/mode
#полученные данные
data: 0 #режим джойстика 
---
data: 1 #режим авто
---

rostopic echo /drive/radius
#полученные данные
data: 5 #радиус в метрах
---

rostopic echo /drive/pause
#полученные данные
data: False #робот собирается поехать / едет
---
data: True #робот на паузе
---

rostopic echo /drive/station
#полученные данные
data: True #робот едет на зарядную станцию
---
data: False #робот не пытается ехать на зарядную станцию
---

rostopic echo /drive/status
#полученные данные
data: X
---
X - статусы: 
0 - ожидание
1 - начало движения
2 - конец движения
3 - отмена
4 - препятствие
5 - робот не может повернуться
6 - робот вне радиусе движения
7 - модуль завершил свою работу по таймауту
8 - модуль завершил свою работу с ошибкой
9 - модуль успешно завершил свою работу

Публикация данных в топик:

rostopic pub /drive/mode std_msgs/UInt16 "data: 0" -1 #активировать режим джойстик


rostopic pub /drive/mode std_msgs/UInt16 "data: 1" -1 #активировать режим авто


rostopic pub /drive/mode/switch std_msgs/Empty "{}" -1 #переключить режим


rostopic pub /drive/radius std_msgs/UInt8 "data: X" -1 #задать радиус (в метрах)


rostopic pub /drive/station std_msgs/Bool "data: true" -1 #включить алгоритм поиска зарядной станции


rostopic pub /drive/station std_msgs/Bool "data: false" -1 #отключить алгоритм поиска зарядной станции


rostopic pub /drive/pause std_msgs/Bool "data: false" -1 #снять робота с паузы


rostopic pub /drive/pause std_msgs/Bool "data: true" -1 #поставить робота на паузу


rostopic pub /drive/point std_msgs/UInt16 "data: X" -1 #отправить робота на точку X (int) (используется в навигации)

Статус зарядки charge

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

Данные с топика:

rostopic echo /charge/cur
#полученные данные
data: x #ток заряда (float)
---

rostopic echo /charge/state
#полученные данные
data: True #робот заряжается
---
data: False #робот не на зарядке
---

rostopic echo /charge/type
#полученные данные
data: 0 #не заряжается
---
data: 1 #заряжается по кабелю
---
data: 2 #заряжается через контакты зарядной станции
---

Публикация данных в топик:

rostopic pub /charge/runApplication std_msgs/Empty "{}" -1 #запустить приложение отправки на зарядную станцию

Просмотр версии прошивки с плат управления узлами робота: 

Параметр выводит информацию о версии прошивок:

  • всех плат управления двигателями
  • платы питания
  • платы лица
  • платы ушей робота

rosparam get /main_controller/firmwares
#полученные данные
['Servo 31: 56', 'Servo 32: 56', 'Servo 33: 56', 'Servo 34: 56', 'Servo 35: 56', 'Servo
    36: 13', 'Servo 21: 56', 'Servo 22: 56', 'Servo 23: 56', 'Servo 24: 56', 'Servo
    25: 56', 'Servo 26: 13', 'Servo 11: 56', 'Servo 12: 56', 'Servo 13: 56', 'Servo
    41: 56', 'Servo 42: 56', 'Power_board: 229', 'Ear_left: 7', 'Ear_right: 7', 'Face_board:
    10001']
'Servo XX: XX' - версия прошивки плат управления двигателем робота
'Power_board: XXX' - версия прошивки платы питания робота
'Ear_left: X' - версия прошивки платы уха робота
'Face_board: XXXXX' - версия прошивки лица робота

Статусы калибровки: 

Топик выводит информацию о текущем статусе калибровки.

Данные с топика:

rostopic echo /promobot_servos/calibration_step
#полученные данные
data: X
---
X - статусы: 
0 - сброс текущей позиции в 0
1 - активация питания мотора на сервоприводах
2 - старт движения всех узлов до срабатывания датчика холла (ограничителя движения)
3 - возвращение сервоприводов в калибровочное значение
4 - сброс текущей позиции в 0
5 - отключение датчиков холла
6 - активация питания мотора на сервоприводах

Данные с колес  wheel:

Топик выводит информацию о данных с колес робота.

Данные с топика:

rostopic echo /wheel/left/sensors/core  #левое колесо
rostopic echo /wheel/right/sensors/core  #правое колесо
#полученные данные
header:
  seq: 40816  #кол-во итераций опроса с момента запуска
  stamp:  #текущее время
    secs: 1619435012
    nsecs: 708189702
  frame_id: ''  #идентификатор топика (отсутствует)
state: 
  voltage_input: 28.1  #напряжение на входе
  temperature_pcb: 0.0  #температура платы управления колесом
  current_motor: 0.0  #ток на моторе
  current_input: 0.0  #ток на плате управления колесом
  speed: 0.0  #скорость
  duty_cycle: 0.0  #параметр платы управления колесом
  charge_drawn: 10.0  #параметр платы управления колесом
  charge_regen: 0.0  #параметр платы управления колесом
  energy_drawn: 299.0  #параметр платы управления колесом
  energy_regen: 0.0  #параметр платы управления колесом
  displacement: 1814.0  #смещение относительно место включения робота
  distance_traveled: 4745.0  #пройденное расстояние
  fault_code: 0  #код ошибки
---


Данные с серв  promobot_servos:

Топик выводит информацию об активных сервоприводах.

Данные с топика:

rostopic echo /promobot_servos/core
#полученные данные (пример для одного из узлов, в states публикуются все актвиные сервоприводы)
states: 
  - 
    id: X  #id сервы
    name: "X_joint"  #название джойнта
    command: X  #команда управления сервоприводом
    torque: False  #статус питания мотора сервопривода
    setPoint: -41  #заданная позиция
    fault_code: 0  #номер ошибки
    fault_code_str: "[]"  #описание ошибки
    encoderValue: 4293  #текущее положение энкодера
    position: -40  #фактическая позиция
    velocity: 0  #скорость
    motorCurrent: 2  #ток
    sensors:  #данные с датчика холла
      leftSensor: False
      rightSensor: False
  - 

Датчики расстояния  ranges:

Топик выводит информацию о расстояние между юбкой робота и препятствием.

Данные с топика:

rostopic echo /rangesUS
rostopic echo /rangesTOF
#полученные данные датчиков 1 - 16
---
s_1: 255
s_2: 255
s_3: 255
s_4: 255
s_5: 255
s_6: 255
s_7: 255
s_8: 255
s_9: 255
s_10: 255
s_11: 255
s_12: 255
s_13: 255
s_14: 255
s_15: 255
s_16: 255
s_66: 0 #датчик v3 (не актуален)

Публикация эмоций animation:

Публикация данных в топик:

rostopic pub /animation/file std_msgs/String "data: 'X'" # X - название gif файлов. Доступные gif файлы находятся в /opt/promobot/share/promobot_face_manager/images

Проверка красной кнопки:

Красная кнопка находится в положении отключения серв и колес при выполнении двух условий:

rostopic echo /main_board/voltages
#полученные данные
values: 
  - 
    name: "PC_win"
    value: 15.7399997711
  - 
    name: "PC_linux"
    value: 15.7259998322
  - 
    name: "router"
    value: 28.202999115
  - 
    name: "printer_photo"
    value: 24.1870002747
  - 
    name: "display"
    value: 11.9259996414
  - 
    name: "printer_cheque"
    value: 24.1149997711
  - 
    name: "servos"
    value: 0.0 #значение напряжение равно нулю
---

rostopic echo /wheel/left/sensors/core #в топики колес ничего не публикуется

Статусы принтеров:

Топик выводит информацию о статусах и ошибках принтера

rostopic echo /printer_thermal/status
#полученные данные
data: X
---
X - статусы: 
0 - Ожидание печати
1 - Находится в процессе печати
2 - Ошибка принтера
3 - Принтер не подключен

rostopic echo /printer_thermal/error
#полученные данные
code: X
description: "X"
---
X - код ошибки + описание:
NOT_ERROR = 0,
NO_PAPER = 1,
LOW_PAPER = 2,
PAPER_JAM = 3,
HEAD_OVERHEATED = 4,
POWER_SUPPLY = 5,
CUTTER_ERROR = 6,
RAM_ERROR = 7,
NOT_CONNECTED = 100

  • Нет меток