Перейти к верхней панели

Прием и обработка данных от модуля GNSS( GPS ) в Linux и ROS. Daemon GPSD.

Одним из компонентов локализации робота на открытом простанстве, являются системы глобального позиционирования. Данная инструкция посвящена одному из способов получение данных о текущих координатах WGS-84 робототехнического средства для использования совместно с ROS.

Версия ROS:

rosversion -d

kinetic

Linux Daemon GPSD:

sudo apt-get install gpsd

Вспомогательные удобные утилиты для отображения и передачи данных от GPS модуля:

sudo apt-get install gpsd-clients

Если подключение осуществляется с использованием USB-RS232 преобразователя, то проверяем его наличие:

lsusb
ls /dev | grep ttyUSB

При непосредственном присоединение к вычислителю по последовательному порту, ищем устройство среди:

ls /dev | grep ttyS

Обычно, одним из стандартов передачи данных от устройств GPS является символьная строка, согласно стандарту NMEA.
Просмотреть прямой вывод с устройства (9600 — скорость обмена):

gpscat -s 9600 /dev/ttyUSB0

Форматный вывод с распарсиванием строки:

gpsmon /dev/ttyUSB0

Запускаем GPSD daemon транслировать данные на localhost:2727:

gpsd -S 2727 /dev/ttyUSB0 9600

Проверяем приход данных на локальный порт:

gpsmon localhost:2727

Для работы с ROS устанавливаем package gps-umd:

sudo apt-get install ros-kinetic-gps-umd

Запускаем roscore:

roscore

Запускаем gpsd-client:

rosrun gpsd_client gpsd_client _host:=localhost _port:=2727

Смотрим результат:

rostopic echo /fix

RAW материал статьи:

Вливайтесь в общение

1 комментарий

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.