This shows you the differences between two versions of the page.
courses:ros:lab3 [2016/09/15 13:50] anton.filatov |
courses:ros:lab3 [2022/12/10 09:08] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== Задание ==== | ||
- | |||
- | Смодулировать на rviz работу радиолокатора: на вход программе подаётся в любом виде окружающая местность, необходимо отражать её в rviz "по кругу", как в радиолокаторе | ||
- | |||
- | ==== Указание ==== | ||
- | В rviz можно писать различные типы сообщений, которые уже описаны за нас (не надо каждый раз строить велосипед из маркеров-точек). Полный список и описание поддерживаемых сообщений можно найти [[http://wiki.ros.org/rviz/DisplayTypes| на вики]]. | ||
- | Так, например, карту можно отображать при помощи сообщения nav_msgs/OccupancyGrid. | ||
- | Из чего состоит сообщение можно узнать при помощи команды | ||
- | |||
- | rosmsg show nav_msgs/OccupancyGrid | ||
- | | ||
- | int8[] data - это std::vector<int8> занятости ячеек. Если карта размером 10х100, то в этом векторе должно быть 1000 значений. Значения должны быть либо в диапазоне от 0(ячейка свободна) до 100(ячейка занята), либо -1, если ячейка не является информативной частью карты. | ||
- | |||
- | запущенную ноду rviz необходимо подписать на топик, куда передаётся заполненное сообщение | ||
- | При посылке очередного сообщения карта перерисовывается заново, то есть правильным будет создать изменяющийся во времени объект "карта" и через какие-то интервалы времени отсылать его в rviz | ||
- | {{:start:ros:rviz_map.png|}} | ||