Общая информация:
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 0% #установить уровень чувствительности микрофона в 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: 47802 #?? 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 #в топики колес ничего не публикуется