You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
2.2 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Пакет для 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
```
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
```
## Запуск 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 желательно вызвать по окончании работы. Пример запуска есть в конце этого же файла.