The rosbot snap includes all the essential software required to operate the ROSbot, including the controller, robot state publisher, and more.
Installation
To install this snap on the Single Board Computer (SBC) within the ROSbot run the following command:
snap install rosbot
sudo /var/snap/rosbot/common/post_install.sh
sudo rosbot.flash
To list ROS 2 topics, run the command ros2 topic list
.
You can also connect a Logitech F710 (in x
mode) USB dongle to the ROSbot's USB port to control the robot. Remember to press the LB button on the gamepad. The joy service, which handles gamepad input, runs in the background.
Parameters
The snap provides the following configurable parameters (param name
: default value
):
driver
: {...}
ros
: {...}
The ros
contains the following keys:
ros.ros-domain-id
: 0
- Sets the ROS_DOMAIN_ID
environment variable for the ROS driver.ros.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/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.serial-port
: auto
- Serial port for firmware (e.g., /dev/ttyUSB0
), or set it to auto
.To set parameters, use the snap set command, e.g.,
snap set rosbot driver.mecanum=True
Available Apps (Main)
rosbot.flash
- Flash firmware for the STM32F4 microcontroller.rosbot.start
- Start the daemon running the ROSbot ROS 2 driver.rosbot.stop
- Stop the daemon running the ROSbot ROS 2 driver.rosbot.teleop
- Run the teleop_twist_keyboard
node to control the robot from a terminal.Auxiliary Apps
rosbot.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.print-serial-number
- Print the CPU ID and serial number of ROSbot.rosbot.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/common/
.
Example usage:
# Set parameters in the rosbot snap
sudo snap set rosbot 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/common/ros_snap_args)
sudo snap set husarion-rplidar $(cat /var/snap/rosbot/common/ros_snap_args)
# Set up the current shell with the same configurations
source /var/snap/rosbot/common/ros.env
# Install configurations
/var/snap/rosbot/common/manage_ros_env.sh
source ~/.bashrc
ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args --remap __ns:=/${ROS_NAMESPACE}
Thank you for your report. Information you provided will help us investigate further.
There was an error while sending your report. Please try again later.
You are about to open
Do you wish to proceed?
Snaps are applications packaged with all their dependencies to run on all popular Linux distributions from a single build. They update automatically and roll back gracefully.
Snaps are discoverable and installable from the Snap Store, an app store with an audience of millions.
On Arch Linux, snap can be installed from the Arch User Repository (AUR). The manual build process is the Arch-supported install method for AUR packages, and you’ll need the prerequisites installed before you can install any AUR package. You can then install snap with the following:
git clone https://aur.archlinux.org/snapd.git
cd snapd
makepkg -si
Once installed, the systemd unit that manages the main snap communication socket needs to be enabled:
sudo systemctl enable --now snapd.socket
If AppArmor is enabled in your system, enable the service which loads AppArmor profiles for snaps:
sudo systemctl enable --now snapd.apparmor.service
To enable classic snap support, enter the following to create a symbolic link between /var/lib/snapd/snap
and /snap
:
sudo ln -s /var/lib/snapd/snap /snap
Either log out and back in again, or restart your system, to ensure snap’s paths are updated correctly.
To install rosbot, simply use the following command:
sudo snap install rosbot
Browse and find snaps from the convenience of your desktop using the snap store snap.
Interested to find out more about snaps? Want to publish your own application? Visit snapcraft.io now.