Version1.2.4-20260904
Revision437
LicenseApache-2.0
Confinementstrict
Basecore22

A driver for ROSbot mobile robot


Description

The rosbot snap ships everything needed to run the ROSbot — controller, robot state publisher and more — based on the [rosbotros](https://github.com/husarion/rosbotros) ROS 2 driver. Models: ROSbot XL, 3 / 3 PRO, 2R / 2 PRO.

Installation

Install on the ROSbot's SBC:

sudo snap install rosbot


Usage

After installation, add interfaces, set the robot model and start the driver:

sudo /var/snap/rosbot/common/postinstall.sh
sudo snap set rosbot driver.model=rosbot-xl   # or 'rosbot' for non-XL models
sudo rosbot.start


The robot is now operational. Drive it with sudo rosbot.teleop, or plug in a Logitech F710 dongle (X mode, hold LB). Both publish to manual/cmd
vel, which outranks navigation.

Apps

  • rosbot.start / rosbot.stop - Start/stop the driver daemon.
  • rosbot.navigation-start / rosbot.navigation-stop - Start/stop autonomous navigation (Nav2 + SLAM). Startup checks name whatever is missing instead of leaving Nav2 idle. Needs sudo snap install husarion-rplidar.
  • rosbot.navigation-goal <x> <y> [yaw] - Drive to a pose in the map frame (metres, yaw in radians) and wait for the outcome.
  • rosbot.teleop - Drive from a terminal (teleoptwistkeyboard); overrides navigation while you hold a key.
  • rosbot.flash - Flash the STM32F4 firmware.
  • rosbot.arm-activate / rosbot.arm-deactivate - Toggle the arm (if fitted).

Parameters

Set with snap set rosbot <key>=<value>, inspect with snap get rosbot. Full reference in the README.

The driver namespace:

  • driver.model: "" - rosbot or rosbot-xl. Required before the driver starts.
  • driver.configuration: basic - Selects the URDF and starts the manipulator. rosbot-xl also accepts telepresence, autonomy, manipulation, manipulation-pro.
  • driver.mecanum: True/False (tracks driver.model) - mecanum vs differential drive controller.
  • driver.serial-port: auto - Serial port for firmware (e.g., /dev/ttyUSB0).
  • driver.backend: mavlink - Robot-link backend: mavlink (any RMW, Zenoh default) or microros (FastDDS-only).
  • driver.current-animation: ready - ROSbot XL LED animation; none publishes nothing. Built-ins: ready, navigation, turnoff, rainbow. Own <name>.png + <name>.yaml go in configdir/rosbotutils/animations.
  • driver.servo-enabled: True - Start moveitservo with the manipulator. False skips it to save CPU when only MoveIt planning / rosbot.arm-activate is needed, not jog control.

The navigation namespace (Nav2, used by rosbot.navigation-start):

  • navigation.controller: mppi - dwb, mppi or rpp.
  • navigation.slam: True - Build a map while driving. False loads navigation.map instead.
  • navigation.map: /var/snap/rosbot/common/maps/map.yaml - Map loaded when navigation.slam=False.
  • navigation.map-save-path: /var/snap/rosbot/common/maps/map - SLAM autosave target, without extension. Survives refreshes.

An RViz layout is copied to /var/snap/rosbot/common/rviz/nav2.rviz; copy it to a laptop and run rviz2 -d nav2.rviz.

The ros namespace:

  • ros.namespace: "" - Namespace for all topics and transforms.
  • ros.domain-id: 0 - Sets ROSDOMAINID.
  • ros.localhost-only: 0 - Sets ROSLOCALHOSTONLY.
  • ros.transport: udp - RMW/transport profile: zenoh/<profile>, rmwzenohcpp, udp, shm, udp-lo, rmwfastrtpscpp, rmwcycloneddscpp. Files in /var/snap/rosbot/common/rmw/.

Advanced configuration: per-node parameters and sensor positions live in /var/snap/rosbot/current/config_dir/ (overwritten on snap updates).

Chaining: embeds husarion-agent as chain owner — the ROS network and custom RMW profiles set here (or in the cockpit Manage tab) propagate to chained snaps. See README.

Update History

1.2.4-20260901 (432)1.2.4-20260904 (437)
4 Sept 2026, 19:30 UTC
1.2.3-20260901 (430)1.2.4-20260901 (432)
1 Sept 2026, 18:45 UTC
1.2.3-20260827 (424)1.2.3-20260901 (430)
1 Sept 2026, 16:00 UTC
1.1.1-160825f (400)1.2.3-20260827 (424)
28 Aug 2026, 12:15 UTC
0.16.1 (226)1.1.1-160825f (400)
24 Jul 2026, 10:30 UTC
0.15.1 (224)0.16.1 (226)
17 Jun 2026, 18:00 UTC
0.15.1 (224)
1 Apr 2026, 21:28 UTC

Published17 Jan 2024, 21:28 UTC

Last updated4 Sept 2026, 18:09 UTC

First seen1 Apr 2026, 21:28 UTC