Робо-голова
  • Общая информация
  • Технические характеристики
  • Комплект поставки
  • Полезные ссылки
  • Быстрый старт
  • Настройка и обслуживание
    • Подключение к Робоголове по сети
      • Настройка подключения к Сети
      • Подключение по SSH к Робоголове
      • Подключение по SFTP
      • Подключение через VSCode
    • Смена данных устройства
    • Выключение головы
    • Возврат к заводским настройкам
    • Ubuntu-сервис
    • Подключение аккумулятора
    • Зарядка батареи
    • Подключение сервоприводов к плате расширения
  • Интеграция с роботом TurtleBro
  • Устройство головы
    • Аппаратная конфигурация
    • Программное обеспечение
    • ROS-пакеты
      • robohead_controller
      • display_driver
      • neck_driver
      • ears_driver
      • speakers_driver
      • respeaker_driver
      • voice_recognizer_pocketsphinx
        • ROS-нода ~kws_recognizer
        • ROS-нода ~cmds_recognizer
        • Настройка собственных команд и ключевых слов для распознавания
      • sensor_driver
      • usb_cam
  • Кейсы взаимодействия
    • 1. Смена ресурс-пака стандартных действий
    • 2. Внесение изменений в стандартные действия
    • 3. Написание своего действия для robohead_controller
    • 4. Создание своих сценариев взаимодействия без использования robohead_controller
    • 5. Создание ROS-пакета со своим сценарием взаимодействия и его автозагрузка
Powered by GitBook
On this page

Интеграция с роботом TurtleBro

PreviousПодключение сервоприводов к плате расширенияNextАппаратная конфигурация

Last updated 2 days ago

Стартовые параметры окружения терминала и ROS

В стандартном режиме Робо-Голова запускается как самостоятельное устройство, все ROS сущности запускаются на локальном компьютере устройства (на Raspberry Pi). В этот момент с Робо-Головой уже можно работать.

Если вам необходимо взаимодействие с образовательным роботом TurtleBro, то проделайте следующие шаги:

1

Подключите оба устройства к одной Wi-Fi сети

Чтобы настроить взаимодействие между устройствами они должны находиться в единой Wi-Fi сети, как и компьютер с которого будет производиться работа с этими устройствами

2

Узнайте IP-адрес робота TurtleBro и Робо-Головы Bbrain

Воспользуйтесь разделом Как определить IP-адрес или воспользуйтесь этим разделом инструкции к роботу TurtleBro:

Для дальнейшей инструкции примем, что

IP-адрес робота TurtleBro: 172.20.10.9

IP-адрес Робо-Головы Bbrain: 172.20.10.10

3

Подключитесь к Робо-Голове по SSH

ssh pi@<ip-адрес робоголовы>

Пароль по умолчанию: brobro
4

Остановите ubuntu-сервис robohead.service

sudo systemctl stop robohead.service
5

Отредактируйте файл .bashrc. Для этого необходимо:

5.1. Откройте файл с помощью текстового редактора с правами суперпользователя:

sudo nano ~/.bashrc

5.2. Перейдите в самый конец файла:

# for work with another robot

# ip of another robot:
#export ROS_MASTER_URI=http://192.168.1.73:11311

# ip of robohead:
#export ROS_HOSTNAME=192.168.1.53

# for local work (without a robot)
export ROS_MASTER_URI=http://127.0.0.1:11311
export ROS_HOSTNAME=127.0.0.1

5.3. Закомментируйте строчки с export, связанные с локальной работой робоголовы:

# for local work (without a robot)
#export ROS_MASTER_URI=http://127.0.0.1:11311
#export ROS_HOSTNAME=127.0.0.1

5.4. Раскомментируйте строчки с export, связанные с работой с другим устройством. Выставить корректные IP-адреса робота TurtleBro и роботизированной головы:

# for work with another robot

# ip of another robot:
export ROS_MASTER_URI=http://172.20.10.9:11311

# ip of robohead:
export ROS_HOSTNAME=172.20.10.10

5.5. Сохраните файл и выйдите из текстового редактора:

CTRL+S
CTRL+X
6

Отредактируйте файл start.sh. Выполнить все те же самые действия как и с .bashrc

sudo nano ~/start.sh
#!/bin/bash

source /opt/ros/noetic/setup.bash
source /home/pi/robohead_ws/devel/setup.bash

export PYTHONPATH=$PYTHONPATH:$ROS_ROOT/core/roslib/src
export PYTHONPATH=$PYTHONPATH:/usr/bin/python3
export PYTHONPATH=$PYTHONPATH:/home/pi/.local/lib/python3.8/site-packages

# for work with another robot

# ip of another robot:
export ROS_MASTER_URI=http://172.20.10.9:11311

# ip of robohead:
export ROS_HOSTNAME=172.20.10.10

# for local work (without a robot)
#export ROS_MASTER_URI=http://127.0.0.1:11311
#export ROS_HOSTNAME=127.0.0.1

roslaunch robohead_controller robohead_controller_py.launch
7

Синхронизируйте данные на Робо-Голове и перезагрузите её:

sudo sync

sudo reboot

Обратите внимание, что с этого момента, Робоголова будет полностью загружаться только в случае, если робот TurtleBro работает и находится в той же Wi-Fi сети, что и роботизированная голова

Если все прошло успешно, то для взаимодействия устройств можете использовать пакет turtlebro_voice_nav:

Как определить IP-адрес робота
https://github.com/NikolayIvanovWS/turtlebro_voice_nav