ROSbot XL is a 4x4 drive autonomous mobile robot platform equipped with LIDAR, RGB-D camera, IMU, encoders, etc. Powered by ROS.
ROSbot is an affordable robot platform for rapid development of autonomous robots. It can be a base for custom service robots, inspection robots and robots working in swarms.
- Aluminium chassis
- 4 x DC motors + quadrature encoders
- Built-in USB hub
- 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 perimeter LEDs, speaker
- Ethernet based communication between SBC and STM32F4 based digital controller
- Variety of compatible SBC (Raspberry Pi, NVIDIA Jetson)
- Universal mounting plate (for LIDARs, robot arms etc.)
|Dimensions without camera and LiDAR||330 x 280 x 135,5 mm / 12,6 x 11 x 5,3in [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-19V) 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.|
Rear panel description
|Antenna connector||1||Wi-Fi antenna RP-SMA socket. Required for Wi-Fi connectivity.|
|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
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.
Micro-ROS based firmware for the digital board (STM32F4 microcntroller)
ROSbot XL digital board firmware sources are not released yet. Instruction how to flash the firmware is available here: https://github.com/husarion/rosbot_xl_ros#flashing-the-firmware-on-stm32
Block diagram of the digitial board firmware:
|publisher||Odometry based on motors encoders|
|publisher subscriber||ROSbot position based on sensor fusion|
|subscriber||Odometry based on wheel encoders|
|subscriber||Allow to set custom state of position|
|1||Toggling||Error of RTOS'a or microROS|
|2||ON||Firmware finished booting|
|3||ON||Batery level is low|
|4||Toggling||Battery is charging|
|4||ON||Battery is fully charged|
|Power button||ON||Power is ON|
|Power button||Toggling||System is shuting down|
|Pixel panel||Programable||In default shows looped animation|
Operating System image reinstallation
Open top cover of ROSbot XL and Extract SD card from ROSbot XL.
Download image for Raspberry Pi from here.
Extract downloaded image. For example on Linux run:
tar -xvf rpi-ubuntu-20.04-20220329200210.img.tar.gz
Flash the extracted image onto SD card (For this process we recommend using Etcher but any image writing tool will be good):
- If you want to replace the included card, remember that you need to use at least 32 GB capacity and 10 speed class micro SD card.
- Download Etcher and install it.
- Connect an SD card reader with the SD card inside.
- Open Etcher and select from your hard drive
.imgfile that you extracted.
- Select the SD card you wish to write your image to.
- Review your selections and click the Flash! button to begin writing data to the SD card.
Insert SD card back to ROSbot XL and close the top cover.
- 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"
Connecting ROSbot XL to your Wi-Fi network:
/etc/netplan/01-network-manager-all.yamlfile, and place your Wi-Fi SSID and password here, eg.:
wlan1: # external USB Wi-Fi card (with antenna)
save the file, exit to the terminal and execut:
sudo netplan apply
after a while, your ROSbot XL should be connected to your Wi-Fi network.
[Optionally] Connecting your ROSbot your Husarnet VPN network:
- Login at https://app.husarnet.com
- Create a new network and enter it
- Click the [add element] button and copy your Husarnet Join code (it looks like
- In the ROSbot XL terminal execute:
sudo systemctl start husarnet
sudo husarnet join PLACE_YOUR_JOINCODE_HERE my-rosbot-xl
- After a few seconds your robot will be over the Internet available from the level of other computers in the same Husarnet network. Instructions how to install Husarnet and connect your devices over the Internet can be found in the official manual
- When your laptop and your ROSbot XL are in the same Husarnet network, you can access your robot as simple as that:
The official GitHub repository with ROSbot XL packages contains a
demo/ folder where you can find Docker Compose YAML files allowing you to test autonomous drive on ROSbot XL, and control it from RViz: https://github.com/husarion/rosbot_xl_ros#demo