roboforum.ru

Технический форум по робототехнике.

ROS, Raspberri Pi, RPLidar, Pixhawk и все-все-все

Re: ROS, Raspberri Pi, RPLidar, Pixhawk и все-все-все

Vooon » 30 ноя 2016, 15:32

Случаем не от Erle Robotics?

Добавлено спустя 4 минуты 21 секунду:
Мне приехал X-UAV Talon, так что весной надеюсь буду летать снова.
Сколько же в нем места! Скай нервно курит в сторонке.

Жаль только проект OpenLRS заглох, можно было приделать восходящий поток телеметрии параллельно с SBUS'ом.

Re: ROS, Raspberri Pi, RPLidar, Pixhawk и все-все-все

=DeaD= » 30 ноя 2016, 15:58

Vooon писал(а):Случаем не от Erle Robotics?

Не знаю, спрошу при случае. "Главный мозг" предыдущей команды мягко говоря не всегда доступен для контакта.

Вот чудеса, почистил пакеты ros-indigo-mavros, ros-indigo-libmavconn, ros-indigo-mavros-msgs, теперь:
1. Пропало предупреждение "No MAVLINK_DIALECT" из mavconn/mavlink_dialect.h
2. Пропала ошибка #include <Eigen/Eigen> из mavros/mavros_plugin.h
3. Появилась ошибка с #include <mavros/utils.h> в нашем файле poly_node.cpp

Еще вопрос - надо ли так же почистить "sudo apt-get remove ros-indigo-mavlink" ? Я почистил, надеюсь не зря :)

Vooon писал(а):Мне приехал X-UAV Talon, так что весной надеюсь буду летать снова.
Сколько же в нем места! Скай нервно курит в сторонке.

Масштабно!

Re: ROS, Raspberri Pi, RPLidar, Pixhawk и все-все-все

Vooon » 30 ноя 2016, 16:12

А в CMakeLists.txt прописан mavros в зависимостях (find_package catkin...)?

Добавлено спустя 1 минуту 23 секунды:
Удалять. Со старым может и не собраться или глючить. Пути к /opt/ros идут раньше ws.

Re: ROS, Raspberri Pi, RPLidar, Pixhawk и все-все-все

=DeaD= » 30 ноя 2016, 16:25

Да, смотрю уже туда, не прописано конечно. Но не могу понять, mavros_msgs там тоже не прописан, но на #include <mavros_msgs/Mavlink.h> оно не падает.

Сейчас пропишу туда все пакеты. mavros, mavlink, mavros_msgs, libmavconn

Добавлено спустя 9 минут 53 секунды:
Так, прописал, запустил сборку и тут посыпалось :)

mavlink_msg_set_position_target_local_ned_t - не определен тип
mavlink_msg_set_position_target_local_ned_decode - не определена функция
mavlink_message_t - не определен тип

какой-то файлик видимо или не собрался, или не подключился... изучаю.

Re: ROS, Raspberri Pi, RPLidar, Pixhawk и все-все-все

Vooon » 30 ноя 2016, 16:46

Это посыпалось откуда? Из poly_ros? Так понятно, 0.18 не использует сишную библиотеку.
Но я не понимаю зачем вообще лезть в мавлинк, если есть плагин setpoint_raw?

Добавлено спустя 1 минуту 25 секунд:
Вот если разграничить мавлинк и рос, то понадобится только пакет mavros_msgs.

Re: ROS, Raspberri Pi, RPLidar, Pixhawk и все-все-все

=DeaD= » 30 ноя 2016, 16:48

Вот сейчас вообще не понял :)

Есть возможность без переделки poly_ros как-то собраться (хоть на старой версии мавлинка?), или лучше переписать код с использованием setpoint_raw?

Сейчас посмотрю код изнутри, я туда "под капот" даже не смотрел еще толком. Всё внешние проблемы сыпались.

Re: ROS, Raspberri Pi, RPLidar, Pixhawk и все-все-все

Vooon » 30 ноя 2016, 16:57

Ну и правильный подход, это написать плагин и положить его отдельно. Чем напрямую писать в топик мавлинка.
Перечисли какие сообщения используются?

Я уже вижу SET_POSITION_TARGET_LOCAL_NED
зачем декод? Его обратно не шлют.

Добавлено спустя 4 минуты 44 секунды:
Можно добавить

Код: Выделить всёРазвернуть
#include <mavlink/v2.0/ardupilotmega/mavlink.h>


Но лучше избавиться от прямой отсылки сообщений. Зачем тогда мост с возможностью расширения?

Добавлено спустя 2 минуты 28 секунд:
А вообще скинь на почту пакет (лучше конечно бы git, но что поделать?). Попробую исправить.

Re: ROS, Raspberri Pi, RPLidar, Pixhawk и все-все-все

=DeaD= » 30 ноя 2016, 19:46

Vooon писал(а):Ну и правильный подход, это написать плагин и положить его отдельно. Чем напрямую писать в топик мавлинка.

Я не волшебник, я пока только учусь, и эти слова еще не очень понятны :) пример написания плагина где-то есть?

Vooon писал(а):Перечисли какие сообщения используются?
Я уже вижу SET_POSITION_TARGET_LOCAL_NED
зачем декод? Его обратно не шлют.

Не знаю. Похоже декод mavlink_set_position_target_local_ned_t используется чисто для отладки.
Подслушать сообщение и сохранить из него какие-то параметры через ROS_INFO.
Судя по всему к функционалу это не относится вообще и можно убрать.

Vooon писал(а):Можно добавить
Код: Выделить всёРазвернуть
#include <mavlink/v2.0/ardupilotmega/mavlink.h>

Но лучше избавиться от прямой отсылки сообщений. Зачем тогда мост с возможностью расширения?

Подключил, 15 минут идёт сборка, жду.

Vooon писал(а):А вообще скинь на почту пакет (лучше конечно бы git, но что поделать?). Попробую исправить.

Сейчас как соберется - вышлю.

Добавлено спустя 16 минут 52 секунды:
Отпало, несколько экранов ошибок, добавляю еще
#include <mavlink/v2.0/mavlink_types.h>

Добавлено спустя 38 минут 38 секунд:
Ошибок меньше не стало, видимо сделал что-то не так, смотрю.

Выслал пакет на почту.

Добавлено спустя 1 час 32 минуты 1 секунду:
Закоментил пока отладочную функцию to_px_cb и регистрацию её в subscriber, остались вопросы с:
mavlink_message_t - не определен тип
mavlink_msg_local_position_ned_pack - не определена функция
mavlink_msg_attitude_ned_pack - не определена функция

Re: ROS, Raspberri Pi, RPLidar, Pixhawk и все-все-все

Vooon » 30 ноя 2016, 20:49

Я тебе послал собирающуюся версию.

MAVLink там вообще можно выкинуть. Это отсылка данных на GCS.
И зачем делать так, если можно смотреть тотики в rqt?

Управление мне тоже не нравится, стоит проверить код ардуровера на поддержку guided setpoint режима.
То что у PX4 называется OFFBOARD, а у апма работает в GUIDED.

Re: ROS, Raspberri Pi, RPLidar, Pixhawk и все-все-все

=DeaD= » 26 дек 2016, 16:13

Итак, первые результаты имеются (уже неделю как, но демонстрацию сегодня проводили), робот реанимирован.

Огромное спасибо Vooon за помощь!

Сейчас робот управляется с центрального сервера по протоколу MAVLink.

Более-менее успешно передвигается под тестовому полю 3х3 клетки общим размером 180х180см.

В дальнейших планах:

1. Сборка второго наземного робота и проверка на совместную работу 2 лидаров, будут ли мешать друг другу (по предварительной информации мешать будут не значительно, буквально несколько точек могут оказаться с неправильными координатами).

2. Приведение в порядок того, что сейчас имеется.

3. Установка камеры над полем и визуальных маяков на робота, с целью сбора и сопоставления реальных и вычисленных координат робота.


Rambler\'s Top100 Mail.ru counter