Общая информация:
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 #уровень громкости
---
|
Публикация данных в топик:
rostopic pub /volume std_msgs/UInt16 "data: 30" -1 #установить уровень громкости 30 |
Чувствительность микрофона mic:
Топик выводит информацию о чувствительности микрофона.
Данные с топика:
rostopic echo /mic
#полученные данные
data: 81 #уровень чувствительности микрофона
---
|
Публикация данных в топик:
rostopic pub /volume std_msgs/UInt16 "data: 30" -1 #установить уровень чувствительности микрофона 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 - статусы (хз)
---
|
Публикация данных в топик:
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) (используется в навигации) |