|
|
# Пакет для ROS2-драйвера робота
|
|
|
|
|
|
Реализация драйвера для запуска на реальном роботе. Наследует интерфейс robot_controller, общий у реального и модельного робота.
|
|
|
|
|
|
## Установка
|
|
|
|
|
|
0. Установить ROS2 Jazzy, создать рабочее окружение
|
|
|
|
|
|
1. Установить дополнительные зависимости
|
|
|
TODO: pyserial
|
|
|
TODO: find more elegant and safe method
|
|
|
```sh
|
|
|
sudo pip3 install RPi.GPIO --break-system-packages
|
|
|
sudo apt-install ros-jazzy-camera-ros
|
|
|
```
|
|
|
|
|
|
|
|
|
2. Копировать требуемые репозитории в `sirius/src`
|
|
|
```sh
|
|
|
git clone https://git.robofob.ru/sirius/wave_rover_controller --recurse-submodules
|
|
|
git clone https://git.robofob.ru/sirius/unity_robot_controller --recurse-submodules
|
|
|
```
|
|
|
3. Собрать окружение
|
|
|
```sh
|
|
|
cd ~/sirius_ws
|
|
|
colcon build --symlink-install
|
|
|
source install/setup.bash
|
|
|
```
|
|
|
|
|
|
4. Копировать правила разрешений на чтение и запись в порт
|
|
|
```sh
|
|
|
sudo cp 99-waverover.rules /etc/udev/rules.d/99-waverover.rules
|
|
|
sudo cp 99-custom-gpio.rules /etc/udev/rules.d/99-custom-gpio.rules
|
|
|
```
|
|
|
Перезапустить компьютер или перезапустить правила
|
|
|
```sh
|
|
|
sudo udevadm control --reload-rules
|
|
|
sudo udevadm trigger
|
|
|
```
|
|
|
|
|
|
## Подключение по wifi
|
|
|
1. Подключиться к сети Gestures (роботы должны делать это сами)
|
|
|
2. Подключиться к роботу
|
|
|
```sh
|
|
|
ssh ubuntu@192.168.1.101 # рабочий (без белой полосы)
|
|
|
ssh ubuntu@192.168.1.102 # нерабочий (с белой полосой)
|
|
|
```
|
|
|
3. Запустить упрвление на роботе
|
|
|
```sh
|
|
|
ros2 launch wave_rover_controller wave_rover.launch.py
|
|
|
```
|
|
|
4. Запустить управление на компьютере
|
|
|
```sh
|
|
|
ros2 launch wave_rover_controller base_gesture_control.launch.py
|
|
|
```
|
|
|
|
|
|
## Запуск docker-образа на Raspberry Pi:
|
|
|
|
|
|
1) установить docker;
|
|
|
|
|
|
2) загрузить образ:
|
|
|
docker pull ros:jazzy-ros-core
|
|
|
|
|
|
3) запустить образ:
|
|
|
docker run -it --rm ros:jazzy-ros-core
|
|
|
|
|
|
## Управление вентилятором
|
|
|
|
|
|
Класс управления вентилятором находится в файле wave_rover_controller/fan_gpio. При создании надо указать номер контакта на разъёме Raspberry Pi (от 1 до 40), через который будет выполняться управления. Методы enable и disable включают и выключают транзисторный ключ вентилятора, метод finish желательно вызвать по окончании работы. Пример запуска есть в конце этого же файла.
|