Интеграция с МОРСом
Стартовые параметры окружения терминала и ROS
В стандартном режиме голова запускается как самостоятельное устройство, все ROS сущности запускаются на локальном компьютере головы (на Raspberry Pi). В этот момент с головой уже можно работать.
Если вам необходимо взаимодействие с шагающим роботом МОРС, то проделайте следующие шаги:
Укажите Робо-Голове WiFi-сеть МОРСа
Для этого измените файл /etc/netplan/20-network-wifi.yaml
, открыв редактор:
В поле wlan1 замените mors000 на morsXXX, где XXX - это номер вашего МОРСа. Например, если номер МОРСа 002, то должно получиться следующее:
Сохраните внесенные изменения нажатием последовательности клавиш Ctrl+X и затем Y. Примените внесенные изменения:
После этого включите МОРСа (если он еще не был включен), дождитесь его загрузки.
На Робо-голове убедитесь, что произошло подключение к wifi-сети morsXXX (например, командой ifconfig
).
Узнайте ip-адрес Робо-Головы внутри wifi-сети МОРСа (IP-адрес по умолчанию: 10.42.0.1).
Отредактируйте окружение терминала, откройте файл .bashrc:
sudo nano ~/.bashrc
В самом конце файла найдите следующие строки:
Закомментируйте строки, относящиеся к локальной работе и раскомментируйте строки для работы с МОРСом. В поле ROS_HOSTNAME укажите ip-адрес головы внутри сети МОРСа (как правило, это 10.42.0.XXX - последние три цифры могут варьироваться, узнать его можно той же командой ifconfig
) Должно получиться примерно следующее:
После завершения редактирования файла ~/.bashrc сохраните его и примените изменения командой в CLI:
source ~/.bashrc
Откройте файл скрипта для автозапуска:
sudo nano ~/start.sh
В самом начале будут строки аналогичные ~/.bashrc. Отредактируйте их точно так же как ~/.bashrc. В конце файла в команде roslaunch измените аргумент useMors:=0 на useMors:=1Перезапустите сервис для применения настроек:
sudo systemctl restart robohead.service
Во время перезапуска сервиса на экране головы будет отображаться стартовая анимация. Дождитесь, когда появится лицо.
Теперь вы работаете в одной ROS-сети с МОРСом и головой. Для проверки можете просмотреть список запущенных ROS-узлов:
rosnode list
- должен вывестись список узлов МОРСа и головы.Открываются дополнительные команды "Слушай, МОРС! Вставай!" и "Слушай, МОРС! Отключись!". По этим командам МОРС "просыпается" (включаются двигатели - выполняется 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