ROSbot XL is a 4x4 drive autonomous mobile robot platform equipped with LIDAR, RGB-D camera, IMU, encoders, etc. Powered by ROS / ROS2.
ROSbot is an affordable robot platform for rapid development of autonomous robots. It can be a base for industrial robots, custom service robots, inspection robots and robots working in swarms.
- Aluminium chassis
- 4 x DC motors + quadrature encoders
- Built-in USB hub (2 external and 2 internal ports available)
- Built-in Li-Ion 3S battery (11.1V 7800mAh 86Wh)
- Power board with advanced energy management (USB-C Power Delivery compatible, protection circuits, contactless charging option)
- Selectable power for SBC supply (5V, 12V, 19V)
- Programmable RGB perimeter LEDs, speaker
- Ethernet based communication between SBC and STM32F4 based digital controller
- Variety of compatible SBC (Raspberry Pi, NVIDIA Jetson, Intel NUC i3)
- Universal mounting plate (for LIDARs, robot arms etc.)
|Dimensions without camera and LiDAR||332 x 284 x 131 mm / 13.1 x 11.2 x 5.2in [L x W x H]|
|Chassis material||Powder-coated aluminum plate, 1.5mm thick, top plate 3mm|
|Maximum translational velocity||0.8 m/s|
|Maximum rotational velocity||180 deg/s (3.14 rad/s)|
|Maximum load capacity||Up to 10kg / 352oz*|
|Battery life||2h - 6h|
*Applicable with mecanum wheels
|Digital Board||1||Real-time controller based on STM32F407 microcontroller.|
|Power Board||1||USB-C Power Delivery input (12-20V) which supports simultaneous power delivery and battery charging.|
|DC motor||4||37mm DC motor with 50:1 gearbox and 64CPR encoder.|
|IMU sensor||1||Intelligent 9-axis absolute orientation sensor BNO055, more details|
|LIDAR||1||RPLIDAR S1, 360 degree and up to 40m range, more details|
|RGBD camera||1||Orbbec Astra with RGB image size 640x480 and depth image size 640x480.|
|Li-Ion Batteries||1||11.1V 7800mAh 86Wh|
|Antenna||1||Connected directly to Wi-Fi module.|
|Speaker||1||Driven from Digital Board or from SBC (selectable source).|
A graphic representation of ROSbot XL components and connections between them. The detailed version: [PDF] ROSbot XL block diagram.
Rear panel description
|Antenna connector||1 (2)||Wi-Fi antenna RP-SMA socket. Required for Wi-Fi connectivity. For some SBCs, 2 antennas are used.|
|USB||2||USB 2.0 host ports from SBC.|
|HDMI||1||HDMI output from SBC.|
|Power button||1||Turns ROSbot ON or OFF. Hold for 1.5 seconds to turn robot on, 0.5 seconds to turn off.|
|LEDs||4||LED1(green), LED2(red), LED3(green), LED4(red)|
|DB Reset||1||Button used for reset digital board.|
|PB Reset||1||Hidden button used for reset power board.|
|User button||1||Programmable button.|
|USB type C power input||1||USB-C Power Delivery input (12-19V) which supports simultaneous power delivery and battery charging.|
To facilitate the work with the project based on ROSbot XL platform, we have prepared CAD models for download in two extension formats:
Power supply & charging
An internal battery is disconnected during transport. Before the first use, please unscrew the battery cover on the robot bottom side, connect the battery cable and close the cover.
ROSbot XL can be powered from internal Li-Ion battery or external power adapter. The adapter must be compatible with Power Delivery and the supported voltage is 12, 15 or 19V. We strongly recommend to use the power adapter delivered with the robot.
There are 4 possible modes of operation:
- a) Active, battery only.
- b) Active, battery + power adapter. In this mode the robot can be used and charged simultaneously. The battery is used only when the robot current consumption exceeds the power adapter maximum current.
- c) Inactive (powered off), battery only. Robot in this state does not draw current from battery and can remain in this state for weeks. The battery state should be checked every 6-8 weeks and recharged if the battery level is below 25%. For a prolonged storage, the best battery level is 40-50%.
- d) Inactive, battery + power adapter. In this state the battery charges with the maximum speed. Robot can be switched on at any time, with transition to mode "b)".
The battery charging process should take about 5-6 hours in d) mode (from 0% to 100%).
ROS / ROS 2 packages and Docker containers
All software on ROSbot XL are based on docker containers. List of avaliable containers you can find here.
rosbot_xl_bringup to start all base functionalities for ROSbot XL. It consists of following parts:
laser_filters, it subscribes to
/scantopic and removes all points that are within robots footprint (defined by config
rosbot_xl_bringuppackage). Filtered laserscan is then published on
robot_localization, it is used to fuse wheel odometry and IMU data. Parameters are defined in
rosbot_xl_bringup/config. It subscribes to
/imu_broadcaster/imupublished by ros2 controllers and publishes fused odometry on
rosbot_xl_hardware, it loads robot model defined in
rosbot_xl_descriptionas well as ros2 control rosbot_hardware_interfaces. It also starts controllers:
rosbot_xl_base_controller- depending on the value of
mecanumargument it can be
|LED1||green||ON||Firmware finished booting|
|LED2||red||Toggling||Error of RTOS'a or microROS|
|Low bat||red||ON||Batery level is low|
|Charging||green||Toggling||Battery is charging|
|Charging||green||ON||Battery is fully charged|
|Power button||white||ON||Power is ON|
|Power button||white||Toggling||System is shuting down|
|Pixel panels||RGB||Programmable||In default shows looped animation|
Operating System image reinstallation
In some cases you will need to restore ROSbot system to its default settings:
- in case of accidential damage of the system,
- to update the OS (it can be udpated remotely, but flashing the microSD card can be easier sometimes),
- to clear all user changes and restore factory settings.
This process will differ depending on ROSbot version that you have. Find the full instruction here
1. After unpacking
Please make sure that you have connected the antenna and the battery (more info about the battery).
2. Connecting to ROSbot over Etherent
- Turn on your ROSbot XL (press the power button for about 2 seconds)
- Connect your laptop with Ethernet cable with ROSbot XL directrly.
- Set a static IP address on your laptop on the Ethernet network card to
- SSH to your ROSbot XL:
# password: "husarion"
3. Connecting ROSbot XL to your Wi-Fi network:
Find available Wi-Fi networks with this Linux command:
nmcli dev wifi
ROSbot XL is using netplan instead of graphical Wi-Fi manager. It allows you to have all physical network interfaces configured from a single text file.
To connect your ROSbot to a Wi-Fi network, edit
/etc/netplan/01-network-manager-all.yaml file, e.g. with
sudo nano /etc/netplan/01-network-manager-all.yaml
And modify lines 22-23 by replacing
"PLACE_YOUR_WIFI_SSID_HERE" with your SSID (Wi-Fi network name) and
"PLACE_YOUR_WIFI_PASSWORD_HERE" with your Wi-Fi password:
# standard Wi-Fi config (client)
# access point Wi-Fi config
# dhcp4: no
# dhcp6: no
# - 192.168.100.1/24
# band: 5GHz
# mode: "ap"
# password: "husarion"
then save the file (with ctrl+o if using nano), apply the new network setup:
sudo netplan apply
You can check to which Wi-Fi network your ROSbot is connected by using this command:
to find your IP address (for
wlan0 network interface). Save it for later.
- [Optionally] Connecting your ROSbot your Husarnet VPN network. The full guide is avialable here
Running ROS natively is fine for relatively small projects. For more complex ones, the full dockerized setup is a better approach.
Find available projects below:
|rosbot-xl-gamepad||Control the robot manually using a Logitech F710 gamepad|
|rosbot-xl-mapping||Create a map (using slam_toolbox) of the unknow environment with ROSbot controlled in LAN or over the Internet|
|rosbot-navigation||Autonomous navigation (using navigation2) on a given map.|
Docs and links
All helpful documents and links in one place: