A web UI for Husarion robots
The husarion-webui snap includes web user interfaces for Panther, ROSbot XL and ROSbot 2 running in Foxglove.
Parameters
The snap provides the following configurable parameters (param name
: default value
):
The ros
contains the following keys:
ros.domain-id
: 0
- Sets the ROS_DOMAIN_ID
environment variable for the ROS driver.
ros.localhost-only
: 0
- Sets the ROS_LOCALHOST_ONLY
environment variable for the ROS driver.
ros.transport
: udp
- Configures DDS transport. Options are udp
, shm
, builtin
(or rmw_fastrtps_cpp
), rmw_cyclonedds_cpp
. Corresponding DDS XML files can be found in the /var/snap/husarion-webui/common
directory (custom FastDDS setups can also be created here).
ros.namespace
: (unset)
- Namespace for all topics and transforms.
The webui
contains the following keys:
webui.layout
: default
- Specifies the layout for the Web UI. Available *.json
layout files can be found in the /var/snap/husarion-webui/common
directory (custom layouts can also be created here).
webui.port
: 8080
- Specifies the port for the built-in web server hosting the Web UI.
To set parameters, use the snap set command, e.g.,
snap set husarion-webui webui.layout=panther
Available Apps (Main)
husarion-webui.start
- Start the daemon running the web UI server.
husarion-webui.stop
- Stop the daemon running the web UI server.
Working with ROS Parameters
For multiple snaps running ROS 2 or host-snap-Docker communication, useful files and scripts are available in /var/snap/husarion-webui/common/
.
Example usage:
# Set parameters in the husarion-webui snap
sudo snap set husarion-webui ros.transport=udp ros.domain-id=123 ros.namespace=abc
# Mirror the setup for other ROS 2 snaps
sudo snap set husarion-depthai $(cat /var/snap/husarion-webui/common/ros_snap_args)
sudo snap set husarion-rplidar $(cat /var/snap/husarion-webui/common/ros_snap_args)
# Set up the current shell with the same configurations
source /var/snap/husarion-webui/common/ros.env
# Install configurations with
/var/snap/husarion-webui/common/manage_ros_env.sh
source ~/.bashrc
ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args --remap __ns:=/${ROS_NAMESPACE}