Установка ПО
Установка ОС, библиотек и стороннего ПО
Установите Ubuntu 20.04. Обратите внимание, что при установке ОС на виртуальную машину, работа среды симуляции будет затруднительна. Установить Ubuntu 20.04 можно по ссылке.После установки НЕ соглашайтесь на обновление до Ubuntu 22 или более новых версий.
Для удобства работы с ПО робота мы рекомендуем установить следующие приложения:
Terminator - альтернатива стандартному терминалу. Установка.
Microsoft VSCode - бесплатная среда разработки, имеющая множество расширений. Советуем сразу установить расширения Python, CMake, ROS. Инструкция по установке, инструкция по работе с расширениями.
Sublime Text - удобный текстовый редактор. Установка.
Вы также можете установить эти приложения через магазин приложений Ubuntu Software.
Установите ROS Noetic. Инструкция по установке доступна здесь. Устанавливайте версию Desktop-Full.
Установите pip:
sudo apt install python3-pip
Установите следующие библиотеки:
pip install numpy==1.24.4
pip install control==0.9.4
pip install pyrr==0.10.3
pip install pybullet==3.2.5
pip install pyserial==3.5
pip install pyqtgraph==0.13.3
pip install gymnasium
pip install pcl==0.0.0.post1
pip install pyquaternion==0.9.9
pip install evdev
pip install pyudev
sudo apt install ros-noetic-joy
Установите библиотеку протокола обмена данными между приложения LCM. Для установки LCM выполните следующий команды. Более подробная информация о протоколе и его установке в документации.
sudo apt install build-essential
pip install Sphinx==7.1.2
pip install myst-parser==2.0.0
pip install sphinx-rtd-theme==1.3.0
pip install lcm==1.4.4
curl -L -O https://github.com/lcm-proj/lcm/archive/refs/tags/v1.5.0.zip
unzip v1.5.0.zip
cd lcm-1.5.0
mkdir build
cd build
cmake ..
make
sudo make install
Если вы планируете использовать Dualshock 4, то вам потребуется установить соответствующий драйвер. Подробности по установке см. ниже в разделе Подключение Dualshock 4.
Настройка ROS
Добавьте информацию о ROS в файл .bashrc. Для этого выполните команды:
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
Создайте рабочее пространство для ROS
mkdir -p ~/mors_ws/src
cd ~/mors_ws/
catkin_make
Добавьте в bashrc информацию о новом рабочем пространстве (как в п.1)
echo "source ~/mors_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
Установка ПО робота
Перейдите в mors_ws/src и скачайте файлы из репозиториев:
cd ~/mors_ws/src
git clone https://github.com/voltdog/mors_base
git clone https://github.com/voltdog/mors_pc
git clone https://github.com/loco-3d/whole_body_state_msgs.git
Соберите проект
cd ~/mors_ws/
catkin_make
Если по какой-то причине появляются ошибки при сборке определенного пакета, то сначала соберите именно этот пакет командой:
catkin_make --only-pkg-with-deps <имя пакета>
При корректной сборке, снова выполните команду catkin_make
Убедитесь, что робот выключен. Также для работы симулятора, необходимо, чтобы в файле .bashrc не было информации об удаленном подключении к ROS-мастеру. Откройте файл .bashrc командой
nano ~/.bashrc
и проверьте наличие строк:
export ROS_MASTER_URI=http://10.42.0.1:11311/
export ROS_HOSTNAME=<IP-адрес компьютера>
Если их нет, то всё в порядке. Если строчки есть, то просто закомментируйте их.
Запустите симулятор со всеми необходимыми управляющими модулями.
roslaunch mors bringup_sim.launch robogui:=true
Откроются окно симулятора и окно графического интерфейса для отправки команд. Инструкция по работе с графическим интерфейсом доступна по ссылке.
Если вы работаете в виртуальной машине, то симуляция не сможет запуститься корректно!
Проблемы при запуске
Ошибка cannot ping [/move_base]
В cmd_commutator main.py идет пинг ноды move_base. Чтобы ошибка не раздражала, нужно перейти в функцию rosnode_ping (строка 100, кликнуть мышкой через ctrl) и в файле /opt/ros/noetic/lib/python3/dist-packages/rosnode/__init__.py закомментировать строку code
print("cannot ping [%s]: unknown node"%node_name, file=sys.stderr)
Подключение Dualshock 4
Дополнительную информацию по подключению джойстика можно найти по ссылке (пп. 1,2,4).
Убедитесь, что на вашем компьютере работает bluetooth-адаптер.
Откройте окно Bluetooth Settings и включите ваш bluetooth-адаптер.
Установите приложение для тестирования геймпадов:
sudo apt-get install jstest-gtk
Подключите джойстик к компьютеру. Для этого откройте настройки bluetooth. Затем одновременно на джойстике нажмите кнопки SHARE и PS. Индикатор на джойстике должен начать прерывисто моргать. После этого в списке Devices появится устройство Wireless Controller. Кликните по нему мышкой, чтобы установить соединение.
Протестируйте работу джойстика:
jstest-gtk
Проверьте работоспособность всех элементов джойстика.
Установите драйвер Dualshock 4:
pip install ds4drv==0.5.1
Проверьте корректность работы драйвера. Введите команду
sudo ds4drv
В случае успешного подключения к джойстику программа выдаст следующее сообщение:
[info][controller 1] Created devices /dev/input/<js_x> (joystick) /dev/input/event256 (evdev)
[info][bluetooth] Scanning for devices
, где вместо <js_x>
будет указан номер вашего джойстика в системе.
Если у вас не оригинальный джойстик, то могут возникнуть проблемы с работой в ROS. Чтобы убрать проблему, вам нужно в файле
/usr/local/lib/python3.8/dist-packages/ds4drv/backends/hidraw.py
закомментировать строчку в следующей части кода:
class HidrawBluetoothDS4Device(HidrawDS4Device):
__type__ = "bluetooth"
report_size = 78
valid_report_id = 0x11
def set_operational(self):
# self.read_feature_report(0x02, 37)
pass
Last updated