Skip to main content

ROSbot XL - quick start

ROSbot XL is an indoor mobile robot platform built for research, education, and application development. It has more payload capacity, a higher max speed, and better carrying ability than ROSbot 3, making it a solid base for a custom application. You can integrate different sensors and other equipment to tailor the platform to your project, or choose from pre-configured packages for specific applications such as indoor navigation and mobile manipulation.

The robot supports several computing platforms, including Raspberry Pi, NUC (Intel or ASUS), and NVIDIA Jetson Orin Nano, communicating over Ethernet with its built-in microcontroller running micro-ROS. Open-source ROS 2 drivers come preinstalled, so you can operate the robot right out of the box through a web interface or a gamepad.


This guide takes you from box to driving around in about 15-20 minutes:

  1. Unbox & power up: battery, antenna, and any sensors you want to mount.
  2. Access the robot: HDMI, Ethernet, or Wi-Fi, whichever's easiest for you.
  3. Get it on your Wi-Fi: a one-time wizard.
  4. Drive it: from your phone, a gamepad, or the terminal.
Helpful links
OS version

This guide describes Husarion OS, the image shipped on ROSbot XL units (Raspberry Pi, Intel or ASUS NUC, or NVIDIA Jetson Orin Nano). ROSbot XL and ROSbot 3 now run from the same unified image and driver snap (rosbot); the robot variant and configuration package (basic, telepresence, autonomy, manipulation, manipulation-pro) are picked once, during production. It reflects image 2026.09.30; check what you're running from the banner shown right after you log in (the Version: line), or run:

echo $IMAGE_NAME

Most of this guide applies regardless of version; a few steps that changed recently are marked ⚠️ since 2026.09.30. To pick up the latest image, see OS reinstallation.

Preparation​

Unboxing​

note

Recently, we replaced the carton box with a more durable plastic case.

What's in the box:

  • ROSbot XL
  • a gamepad
  • a set of regular (pneumatic) wheels
ROSbot XL plastic case 1ROSbot XL plastic case 1

And under the robot:

  • a Wi-Fi 2.4GHz / 5GHz antenna(s)
  • a USB-C charger with an AC cable
  • an Ethernet cable
  • two Allen keys: 2.5mm and 4mm
  • a camera stand for mounting external cameras on the ROSbot.
ROSbot XL plastic case 2ROSbot XL plastic case 2

Use a camera stand and Allen keys to assemble the LiDAR and camera, if you have them:

rosbot_xl

Connect Battery​

caution

The robot is shipped with the battery disconnected.

You need to connect the battery before the first use:

  • Use a 2.5mm Allen key to unscrew the battery cover located at the bottom of the ROSbot XL.
  • Once opened, you will see a 4-pin white connector (plug) and a socket. Insert the plug into the socket.
  • Install the battery cover back to its place.

The robot is now ready for the next steps.

Mount External Components​

If you want to mount an external camera, LIDAR, or any other equipment on your ROSbot, first you need to run the cable through the robot's cover. The video below demonstrates how to do that.


Then, attach the equipment to the cover and plug it into the appropriate connector inside the robot.

Additional instructions on how to mount the manipulator can be found at the links below:

Access the Robot​

For first-time setup, we recommend the HDMI tab: plug in a display, mouse, and keyboard. Once ROSbot is on your LAN, Ethernet/Wi-Fi (LAN) is the easiest way back in. Whichever way you connect, the login is husarion / husarion.

ROSbot is basically a computer running Ubuntu, so let's open it like a standard PC.

  1. Plug in a display with HDMI, mouse and keyboard into the USB port on the rear panel of the ROSbot.
  2. Turn on the robot and wait until it boots.

Wi-Fi Setup​

It's worth connecting ROSbot to Wi-Fi at this point. Once it's online, you can leave the cable behind, and the rest of this guide (Cockpit, driving over the network, autonomous navigation) just works.

Right after logging in, you'll see a prompt asking to connect to Wi-Fi. Follow it:

  1. Confirm you want to connect (choose Yes).
  2. Wait a few seconds while it scans for nearby networks.
  3. Pick your network from the list and enter the password if asked.
  4. Once connected, the wizard shows the robot's IP address:

ROSbot 3 terminal

Operating the Robot​

Start Driver​

By default the robot driver is automatically launched during system boot. However, you can manually enable/disable the rosbot daemon.

husarion@rosbotxl:/home/husarion$
sudo rosbot.start
# sudo rosbot.stop # to disable
Change configuration

Since the robot is sold in several configurations, the driver.configuration parameter selects which one is active. Available options are: basic, telepresence, autonomy, manipulation, manipulation-pro. Changing the configuration affects the robot's URDF and activates the manipulator driver.

Your robot's configuration was already picked during the factory setup wizard (husarion-config). To change it later, re-run the wizard rather than setting the snap parameter directly:

husarion@rosbotxl:/home/husarion$
sudo husarion-config

Robot Control​

The robot is controlled by sending a cmd_vel topic with information about the desired speed. This can be done in many ways, including:

The web-based user interface is Husarion Cockpit, ready to use out-of-the-box. Open the following URL in your web browser:

http://<ROSBOT_IP> or http://rosbot-<SERIAL_NUMBER>.local

HTTP or HTTPS?

Start with http://. It opens straight away, with no browser warnings.

The same Cockpit also works over https:// (for example https://rosbot-<SERIAL_NUMBER>.local). Over https, your computer's graphics hardware can decode the camera video, so the robot sends a much lighter video stream and uses less of your Wi-Fi. The downside is that the robot signs its own security certificate, so your browser shows a security warning that you have to accept to continue. The warning comes back from time to time, usually after a few hours.

Which one to use:

  • http: everyday use, the quickest way in.
  • https: when the camera picture is choppy or the Wi-Fi is weak or busy, or when Cockpit shows a link to https instead of the camera picture (some camera modes only work over https).

If logging in over https suddenly stops working, switch back to the http address.

Log in with the default credentials husarion / husarion.

Cockpit: Operate view

Have the manipulation package?

See ROSbot XL with OpenMANIPULATOR-X for all controlling capabilities.

Robot Management​

Husarion Cockpit's Manage tab is the primary way to change the robot's ROS 2 configuration (domain ID, namespace, RMW implementation, DDS/Zenoh profiles) from the same address as above.

Cockpit: Configuration view

ROS 2 Interface​

The ROS 2 driver is already launched on the system. You can find the available ROS 2 topics with:

husarion@rosbotxl:/home/husarion$
ros2 topic list

ROS2 topic list

Topic namespace

By default, all topics live under a per-unit namespace /rosbot_<SERIAL_NUMBER>/... rather than flat at the root; this keeps multiple robots on the same network from colliding. Change it from Robot Management above.

For more info about topics, check the ROS 2 API. Want to modify the driver itself? The source is on GitHub: rosbot_ros.

Helpful Resources​

ROS 2 Tutorials​

warning

Our ROS 2 tutorials were initially created for ROSbot 2 that had Orbbec Astra camera instead of Luxonis OAK-D like in ROSbot 3. ROS 2 camera topics will have different names

ROS 2 (Robot Operating System 2) provides libraries and tools to help software developers create robotic applications. We've put together a series of ROS 2 Tutorials dedicated for this platform that serve as a practical introduction to ROS 2. You can run them on any of our ROSbots, either on a physical robot or in the simulation environment. These step-by-step guides are tailored to accommodate both beginners embarking on their ROS 2 journey and experienced users looking to deepen their understanding of robot navigation.

Snap Cheatsheet​

ROSbot operates on Ubuntu 24.04 with ROS 2 Jazzy preinstalled. Three snaps come preinstalled: rosbot (the driver), husarion-depthai (camera), and husarion-rplidar (LiDAR); browse them on the Snapcraft Store. Husarion Cockpit is not a snap: it's a Docker Compose bundle at /opt/husarion-rosbot/, managed with docker compose rather than snap.

Not every sensor snap runs by default

Whether husarion-rplidar or husarion-depthai actually starts at boot depends on your configuration package: autonomy and the manipulation packages enable the LiDAR, basic doesn't. Check what's currently running with snap services.

Stopping a sensor's snap frees up the CPU and USB bandwidth it was using, which helps if you don't need that sensor right now:

husarion@rosbotxl:/home/husarion$
sudo husarion-depthai.stop
sudo husarion-rplidar.stop
# ...and to bring them back:
sudo husarion-depthai.start
sudo husarion-rplidar.start

The driver itself works the same way (sudo rosbot.start / sudo rosbot.stop, see Start Driver above).