Vfhp rviz plugin

De Cerlab Wiki
Saltar a: navegación, buscar

Este paquete incluye un plugin de rviz para el nodo vfhp_local_planner, que permite visualizar los histogramas polares. Además, incluye un nodo que permite enviar directamente comandos al planeador con solo hacer click en un punto del mapa desde rviz.

Visualización de VFH+ en rviz

Panel histograma polar rviz

Para compilar el plugin es necesario tener Qt5 y la librería Qt Charts. Se recomienda instalar los siguientes paquetes (verificar antes que la versión de Qt que instala qtcreator es la 5):


sudo apt install qtcreator libqt5charts5-dev


Luego de compilar el paquete y refrescar el ambiente, debería agregarse de manera automática al menú Panels->Add New Panel la opción vfhp_rviz_plugin/Histogram. El panel se ve como se muestra en la figura de la derecha. Se incluyen los valores de umbral verde el inferior y naranja el superior.

En el input "Topic" se debe indicar el topic donde el nodo vfhp_local_planner publica la información del histograma, por default /vfhp/polar_hist.


Además del histograma, es muy útil agregar visualización para el obstacle grid y el active window. Estos usan mensajes estandarizados de ROS, por lo que tienen soporte nativo sin necesidad de instalar el plugin. Para ello se debe agregar una visualización tipo Map. En la parte inferior izquierda, hacer click en Add -> By topic, si el robot está corriendo en la lista deberían estar los topics /vfhp/active_window y /vfhp/obstacle_grid con el tipo correcto.

Finalmente, si la visulación de los grids está activa, al correr el nodo point_follower.py, la herramienta Publish Point permite enviar comandos al planeador directamente desde la visualización de rviz.


El plugin fue desarrollado con base en este tutorial.

Nodes

point_follower.py

Este nodo permite indicar al planneador vfhp_local_planner una meta desde rviz con la herramienta Publish Point.

Subscribed Topics

clicked_point (geometry_msgs/PointStampted)

Punto seleccionado en rviz.

Services Called

set_goal (vfhp_local_planner/SetGoal)

Meta del planeador