Робо-голова
  • Общая информация
  • Технические характеристики
  • Комплект поставки
  • Полезные ссылки
  • Быстрый старт
  • Настройка и обслуживание
    • Подключение к Робоголове по сети
      • Настройка подключения к Сети
      • Подключение по 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
  1. Настройка и обслуживание

Интеграция с МОРСом - УСТАРЕЛО

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

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

Если вам необходимо взаимодействие с шагающим роботом МОРС, то проделайте следующие шаги:

  1. Укажите Робо-Голове WiFi-сеть МОРСа

Для этого измените файл /etc/netplan/20-network-wifi.yaml, открыв редактор:

sudo nano /etc/netplan/20-network-wifi.yaml

В поле wlan1 замените mors000 на morsXXX, где XXX - это номер вашего МОРСа. Например, если номер МОРСа 002, то должно получиться следующее:

network:
    version: 2
    wifis:
        renderer: networkd
        wlan0:
            dhcp4: true
            optional: true
            access-points:
                TurtleBro:
                    password: turtlew001
                TurtleBro5G:
                    password: turtlew001
        wlan1:
            dhcp4: true
            optional: true
            access-points:
                mors002:                    # <--- changed
                    password: brobrobro

Сохраните внесенные изменения нажатием последовательности клавиш Ctrl+X и затем Y. Примените внесенные изменения:

sudo netplan --debug try
# голова переподключится на новую сеть или настройки отменятся через 120с
# успейте подключиться к новой сети и к голове и выполнить команды ниже

sudo netplan --debug generate
sudo netplan --debug apply

После этого включите МОРСа (если он еще не был включен), дождитесь его загрузки. На Робо-голове убедитесь, что произошло подключение к wifi-сети morsXXX (например, командой ifconfig).

Узнайте ip-адрес Робо-Головы внутри wifi-сети МОРСа (IP-адрес по умолчанию: 10.42.0.1).

  1. Отредактируйте окружение терминала, откройте файл .bashrc: sudo nano ~/.bashrc

В самом конце файла найдите следующие строки:

Закомментируйте строки, относящиеся к локальной работе и раскомментируйте строки для работы с МОРСом. В поле ROS_HOSTNAME укажите ip-адрес головы внутри сети МОРСа (как правило, это 10.42.0.XXX - последние три цифры могут варьироваться, узнать его можно той же командой ifconfig) Должно получиться примерно следующее:

  1. После завершения редактирования файла ~/.bashrc сохраните его и примените изменения командой в CLI: source ~/.bashrc

  2. Откройте файл скрипта для автозапуска: sudo nano ~/start.sh В самом начале будут строки аналогичные ~/.bashrc. Отредактируйте их точно так же как ~/.bashrc. В конце файла в команде roslaunch измените аргумент useMors:=0 на useMors:=1

  3. Перезапустите сервис для применения настроек: sudo systemctl restart robohead.service

Во время перезапуска сервиса на экране головы будет отображаться стартовая анимация. Дождитесь, когда появится лицо.

  1. Теперь вы работаете в одной ROS-сети с МОРСом и головой. Для проверки можете просмотреть список запущенных ROS-узлов: rosnode list - должен вывестись список узлов МОРСа и головы.

  2. Открываются дополнительные команды "Слушай, МОРС! Вставай!" и "Слушай, МОРС! Отключись!". По этим командам МОРС "просыпается" (включаются двигатели - выполняется action1 на МОРСе) и "засыпает" (ложится, отключаются двигатели - выполняется action2 на МОРСе).

При работе с МОРСом голова обязательно должна быть подключена к wifi-сети МОРСа (название, как правило, morsXXX, где XXX - трехзначный номер).

В ROS_MASTER_URI должен быть прописан ip-адрес шлюза (как правило, 10.42.0.1 - адрес МОРСа внутри его же локальной сети)

В ROS_HOSTNAME должен быть прописан ip-адрес головы внутри локальной сети МОРСа. Узнать ip-адрес можно командой в CLI: ifconfig или iwconfig

При возникновении проблем со звуком (голова отзывается на команды, но звука нет), перезагрузите робоголову командой CLI sudo reboot

Last updated 6 months ago

Если всё прошло успешно, то вы можете механически прикрепить голову к роботу. Подробнее об этом в . Осуществляйте установку только при выключенном питании как головы, так и робота МОРС.

Содержимое ~/.bashrc для локальной работы
Содержимое ~/.bashrc для работы с МОРСом
инструкции к МОРСу