This is an old revision of the document!

System architecture

KnowRob communicates with the browser-based visualizations via ROS topics (e.g. for the visualization_marker messages) and the json_prolog ROS service. The rosbridge node forwards messages from the ROS environment via a WebSocket to the user's browser and thus translates between the “ROS world” and the “Web world”.

Although the visualization appears to be a standard web page, it's important to keep in mind that it is indeed more similar to a web-based rviz. This means that there is only a single ROS graph and a single KnowRob instance in the background that is shared among all website visitors. If this creates a problem for your use case, you may consider setting up the KnowRob/Docker modules described here that allow the creation of one KnowRob instance per website user.