Vizanti ROS 2 Release

Hey everyone, I’d like to get everyone up to speed what’s been going on since the initial release of Vizanti (Announcing Vizanti, a web visualizer & mission planner for ROS).


I really have to thank @Alastair_Bradford for helping out with the bulk of the backend porting for ROS 2, so we now have a preliminary release ready for wider testing on the ros2 branch (Noetic and Humble are currently being maintained in parallel):

Here’s a little Nav2 demo, using NavigateThroughPoses through one of the nodes in the vizanti_demos package:


General interface improvements

There’s been a long list of fixes regarding rendering and stability. Firefox and Safari which should now run and display Vizanti fine on both desktop and mobile. Also a fair amount of smaller reliability adjustments, e.g. only loading display assets once on first load and caching them in case the connection drops, auto reconnecting, etc. There are still a handful of known bugs but it should be a lot more stable now.

There are some new visualizers:

image Compressed Image

image Point Cloud 2

image| Costmap (technically just a display option on the regular OccupancyGrid widget)

MarkerArray rendering has better parity with rviz (though some of the more esoteric types remain unsupported):

Topic status handling for easier debugging, as per the rviz paradigm:




It currently seems that the ROS 2 branch is not as performant as ROS 1, which I suspect is mainly because CBOR compression isn’t yet supported on ROS 2 rosbridge, which results in larger packets and more TCP congestion. Loading params for reconfigure also takes a lot longer since bash param dumping takes a while, and rosapi calls might sometimes glitch out (i.e. getting topic lists).

Call for contributors

For anyone that feels like giving us a hand with the project, I’ve written a more extensive doc that should come in handy in figuring out what’s what :smiley:

The roadmap ahead has quite a few items on it like speeding up streaming of throughput-heavy topics (e.g. images, point clouds) using webrtc with aiortc, adding missing widgets, unit tests, etc.

But mainly it could use a lot more testing and more eyes on the codebase to figure out what could be improved.