rosbot-xl

rosbot-xl

Husarion Publisher Verified account Verified account

Contact us about Snaps and IoT ›

Install humble/stable of rosbot-xl

Ubuntu 16.04 or later?

Make sure snap support is enabled in your Desktop store.


Install using the command line

sudo snap install rosbot-xl

Don't have snapd? Get set up for snaps.

Channel Version Published

A driver for ROSbot XL mobile robot

The rosbot-xl snap includes all the essential software required to operate the ROSbot XL, including the controller, robot state publisher, and more.

Installation

To install this snap on the Single Board Computer (SBC) within the ROSbot XL chassis, follow these steps:

  1. Connect the SBC to the Digital Board inside ROSbot XL using an Ethernet cable.

  2. Configure the Ethernet Interface with the static IP address 192.168.77.2 (port 8888 on this IP is used by the firmware).

  3. Run the following command to install the snap:

    snap install rosbot-xl

Parameters

The snap provides the following configurable parameters (param name: default value):

  • configuration: basic - presets for ROSbot XL
  • driver: {...}
  • ros: {...}
  • webui: {...}

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/rosbot-xl/common directory (custom FastDDS setups can also be created here).
  • ros.namespace: (unset) - Namespace for all topics and transforms.

The driver contains the following keys:

  • driver.mecanum: True - Enables the mecanum drive controller; otherwise, uses the differential drive controller.
  • driver.include-camera-mount: True - Includes the camera mount in the robot URDF.
  • driver.camera-model: None - Adds the camera model to the robot URDF.
  • driver.lidar-model: None - Adds the LIDAR model to the robot URDF.
  • driver.db-serial-port: auto - Serial port for firmware (e.g., /dev/ttyUSB0), or set it to auto.
  • driver.manipulator-serial-port: auto - Serial port for OpenManipulator-X (e.g., /dev/ttyUSB0), or set it to auto.

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/rosbot-xl/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 rosbot-xl driver.mecanum=True

Available Apps (Main)

  • rosbot-xl.flash - Flash firmware for the STM32F4 microcontroller.
  • rosbot-xl.start - Start the daemon running the ROSbot XL ROS 2 driver.
  • rosbot-xl.stop - Stop the daemon running the ROSbot XL ROS 2 driver.
  • rosbot-xl.start-web-ui - Start the daemon running the Web UI (available at http://<ROBOT_IP>:8080/ui by default).
  • rosbot-xl.stop-web-ui - Stop the daemon running the Web UI.
  • rosbot-xl.teleop - Run the teleop_twist_keyboard node to control the robot from a terminal.

Auxiliary Apps

  • rosbot-xl.config-ftdi - Set up the CBUS pins in the FTDI chip (used with RST and BOOT0 pins in STM32); needs to be done only once.
  • rosbot-xl.print-serial-number - Print the CPU ID and serial number of ROSbot XL.
  • rosbot-xl.reset-stm32 - Reset the STM32F4 microcontroller.

Working with ROS Parameters

For multiple snaps running ROS 2 or host-snap-Docker communication, useful files and scripts are available in /var/snap/rosbot-xl/common/.

Example usage:

# Set parameters in the rosbot-xl snap
sudo snap set rosbot-xl 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/rosbot-xl/common/ros_snap_args)
sudo snap set husarion-rplidar $(cat /var/snap/rosbot-xl/common/ros_snap_args)

# Set up the current shell with the same configurations
source /var/snap/rosbot-xl/common/ros.env

# Install configurations with
/var/snap/rosbot-xl/common/manage_ros_env.sh
source ~/.bashrc

ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args --remap __ns:=/${ROS_NAMESPACE}

Details for rosbot-xl

License
  • unset

Last updated
  • 16 September 2024 - humble/stable
  • 17 September 2024 - humble/candidate

Websites

Contact

Source code

Report a bug

Report a Snap Store violation

Share this snap

Generate an embeddable card to be shared on external websites.


Install rosbot-xl on your Linux distribution

Choose your Linux distribution to get detailed installation instructions. If yours is not shown, get more details on the installing snapd documentation.


Where people are using rosbot-xl

Users by distribution (log)

Ubuntu 22.04
Ubuntu 24.04