Пакет gs_module¶
Описание¶
- Пакет gs_module предоставляет классы для управления внешними модулями такими как:
Светодиоды на базовой плате Пионер
LED модуль Пионер
Модуль магнитного захвата Пионер Макс
Предупреждение
Все классы, кроме CargoController, могут быть использованы только при запущеной ноде ros_plaz_node.py из пакета gs_core
Состав пакета¶
Классы¶
BoardLedController
ModuleLedController
CargoController
Описание классов¶
BoardLedController¶
Класс для управления светодиодами на базовой плате Пионера.
Важно
Данный класс является оберткой для сервисов ROS.
Создание объекта класса¶
- class BoardLedController¶
- boardLed = BoardLedController()
- Аргументы:
нет
- Результат:
объект класса BoardLedController
Cоздаёт объект класса BoardLedController.
Описание методов¶
- classmethod changeColor(i, r, g, b)¶
- Аргументы:
i - номер светодиода на базовой плате, принимает значение от 0 до 3; r, g, b — каналы по управлению красным, зелёным и синим свечением светодиода, принимает значения от 0.0 до 255.0 - интенсивность соответствующего канала.
- Результат:
нет
Метод управления одним светодиодом на базовой плате Пионера.
- classmethod changeAllColor(r, g, b)¶
- Аргументы:
r, g, b — каналы по управлению красным, зелёным и синим свечением светодиода, принимает значения от 0.0 до 255.0 - интенсивность соответствующего канала.
- Результат:
нет
Метод управления всеми светодиодами на базовой плате Пионера.
Используемые сервисы ROS¶
geoscan/alive (gs_interfaces/Live)
geoscan/led/board/set (gs_interfaces/Led)
ModuleLedController¶
Класс для управления светодидами на LED модуле.
Важно
Данный класс является оберткой для сервисов ROS.
Создание объекта класса¶
- class ModuleLedController¶
- moduleLed = ModuleLedController()
- Аргументы:
нет
- Результат:
объект класса ModuleLedController
Cоздаёт объект класса ModuleLedController.
Доступные поля класса¶
__leds - list: std_msgs.msg.ColorRGBA
__alive - rospy.ServiceProxy: gs_interfaces.srv.Live
__led_service - rospy.ServiceProxy: gs_interfaces.srv.Led
Описание методов¶
- classmethod changeColor(i, r, g, b)¶
- Аргументы:
i - номер светодиода на LED модуле, принимает значение от 0 до 24; r, g, b — каналы по управлению красным, зелёным и синим свечением светодиода, принимает значения от 0.0 до 255.0 - интенсивность соответствующего канала.
- Результат:
нет
Метод управления одним светодиодом на LED модуле.
- classmethod changeAllColor(r, g, b)¶
- Аргументы:
r, g, b — каналы по управлению красным, зелёным и синим свечением светодиодов, принимает значения от 0.0 до 255.0 - интенсивность соответствующего канала.
- Результат:
нет
Метод управления всеми светодиодами на LED модуле.
Используемые сервисы ROS¶
geoscan/alive (gs_interfaces/Live)
geoscan/led/module/set (gs_interfaces/Led)
Класс CargoController¶
Класс для управления модулем магнитного захвата Пионер Макс.
Предупреждение
Магнитный захват использует GPIO17 и GPIO18
Создание объекта класса¶
- class CargoController¶
- cargo = CargoController()
- Аргументы:
нет
- Результат:
объект класса CargoController
Cоздаёт объект класса CargoController.
Описание методов¶
- classmethod on()¶
- Аргументы:
нет
- Результат:
нет
Включает магнит на модуле.
- classmethod off()¶
- Аргументы:
нет
- Результат:
нет
Выключает магнит на модуле.
- classmethod changeColor(r=0, g=0, b=0, n=0)¶
- Аргументы:
n - номер светодиода на модуле захвата, принимает значение от 0 до 24; r, g, b — каналы по управлению красным, зелёным и синим свечением светодиода, принимает значения от 0.0 до 255.0 - интенсивность соответствующего канала.
- Результат:
нет
Метод управления одним светодиодом на модуле захвата.
- classmethod changeAllColor(r=0, g=0, b=0)¶
- Аргументы:
r, g, b — каналы по управлению красным, зелёным и синим свечением светодиодов, принимает значения от 0.0 до 255.0 - интенсивность соответствующего канала.
- Результат:
нет
Метод управления всеми светодиодами на модуле захвата.
Необходимые пакеты¶
Python:
RPi.GPIO
json
socket
ROS:
gs_core
gs_interfaces
std_msgs
Примечание¶
Все классы, кроме CargoController, могут быть использованы только при запущеной ноде ros_plaz_node.py из пакета gs_core