Skip to main content

ROSbot 3 (and previous 2x versions )

Overviewโ€‹

ROSbot is a ROS powered 4x4 drive autonomous mobile robot platform equipped with LIDAR, RGB-D camera, IMU, encoders, distance sensors.

Available in the following versions: 3 / 3 PRO (current version), 2R / 2 PRO (discontinued) and 2 (deprecated).

ROSbot 3 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. All versions integrate:

  • 4-wheels mobile platform containing DC motors with encoders and an aluminum frame
  • IMU: BNO055 (accelerometer + gyro)
  • rear panel providing interfaces for additional modules

ROSbot versionsโ€‹

ROSbot is available in three options which, next to features mentioned before, also include:

  • Raspberry Pi 5 (ARM64 architecture) quad-core ARM-8 Cortex A76 @ 2.4GHz, 8GB RAM and 64 GB MicroSD flash memory.
  • 3D camera: Luxonis OAK-D Lite / Pro
  • LIDAR: RPLIDAR C1 / S2

Quick Access
๐Ÿ›๏ธ Buy now

Gazebo Simulation Modelโ€‹

You can also test the performance of ROSbot using our simulation model in Gazebo environment. It is available here, at our GitHub page.

ROSbot gazebo

You can find free ROS tutorials dedicated for ROSbot under this link. They will guide you through different aspects of programming autonomous vehicles in ROS

Hardware guideโ€‹

Specificationโ€‹

ROSbot 3 dimensionsROSbot 3 dimensions
AttributeDescription
Dimensions with camera and LiDAR200 x 233 x 197 mm / 7.9 x 9.2 x 7.7 in [L x W x H]
Dimensions without camera200 x 233 x 141 mm / 7.9 x 9.2 x 5.6 in [L x W x H]
Dimensions without camera and LiDAR200 x 233 x 103 mm / 7.9 x 9.2 x 4.0 in [L x W x H]
Weight2,84 kg / 100 oz (with camera and LiDAR), 2,45 kg / 86 oz (without camera and LiDAR)
Standard wheel diameter / Clearance / Wheelbase84 mm / 23 mm / 106 mm
Mecanum wheel diameter / Clearance / Wheelbase97 mm / 30 mm / 106 mm
Chassis materialPowder-coated aluminum plate, 1.5 mm thick
Maximum translational velocity1.0 m/s
Maximum rotational velocity420 deg/s (7.33 rad/s)
Maximum load capacityUp to 5 kg / 176 oz *not in continuous work
Battery life1.5h - 5h

Componentsโ€‹

Scheme 2RScheme 2R

Components descriptionโ€‹

ComponentQuantityDescription
Infrared distance sensor4VL53L0X Time-of-Flight distance sensor with up to 200 cm range, more details
Built-in Microcontroller1STM32F407.
DC motor4Xinhe Motor XH-25D, Motor used: RF-370, 6VDC nominal, 6200rpm. Maximum mechanical power: 4W, no load speed at the output shaft: 180 rpm, stall torque at the output shaft: 2.9 kg*cm, stall current: 2.0A, gear ratio: ~34 (exact ratio is 30613/900)
Encoder4Magnetic, 48cpr, 12 poles
Batteries3Li-Ion 18650 protected, rechargeable batteries, 3500mAh capacity, 3.7V nominal voltage. Note: Device may be shipped interchangeably with similar batteries.
ComponentQuantityDescription
SBC1Raspberry Pi 5 (ARM64 architecture) quad-core ARM-8 Cortex A76 @ 2.4GHz, 8GB RAM and 64 GB MicroSD flash memory. The SBC runs on Ubuntu-based OS, customized to use ROS.
3D camera1Luxonis OAK-D Lite (in ROSbot 3) / OAK-D Pro (in ROSbot 3 PRO)
LIDAR1RPLIDAR C1 (in ROSbot 3) / S2 (in ROSbot 3 PRO), 360 degree, more details
IMU sensor1Intelligent 9-axis absolute orientation sensor BNO055, more details
Antenna1Dual-band, connected to the Wi-Fi USB adapter.

Block diagramโ€‹

Graphic representation of ROSbot 3 components and connections between them.

Block diagramBlock diagram

Rear panel descriptionโ€‹

Rear panel description

ComponentQuantityDescription
Antenna connector1Wi-Fi antenna RP-SMA socket - required for Wi-Fi connectivity
USB2USB 2.0 host ports from SBC
HDMI1HDMI output from SBC
Power switch1Turns ROSbot completely ON or OFF
LEDs6LR1(blue), LR2(yellow), L1(red), L2(green), L3(green), PWR(red). See LED statuses below.
Reset button1Button used for reset CORE2
hBtn2hBtn1, hBtn2 - programmable buttons
Outputs for servo6Servo output with PWM, more details here
USB serial1USB serial port used for debugging the firmware on CORE2-ROS controller
Charging connector16-pin connector for charging internal Li-Ion batteries
DC power input1DC for working with external 12V power supply - use the power supply included with charger or any 12V, min. 5A power supply with 5.5/2.5mm plug (center-positive)
Time-of-Flight distance sensor2VL53L0X Time-of-Flight distance sensor with up to 200 cm range, more details here
hExt112xGPIO, 7x ADC, SPI, I2C, UART, more details here
hSens14 xGPIO, ADC, UART, more details here

LED statusesโ€‹

LEDRoleBehavior
๐Ÿ”ต LR1RPi statusOn โ€” problem with the RPi (robot's computer), hRP pin 3
๐ŸŸก LR2MCU statusOn โ€” MCU in bootloader (BOOT0), or STM32 not running correctly
๐Ÿ”ด L1Firmware indicatorOff โ€” everything OK
Solid on โ€” no communication with firmware / ROS driver not running
Blinking โ€” low battery (overrides the above)
๐ŸŸข L2UserProgrammable from ROS 2 (/leds topic)
๐ŸŸข L3UserProgrammable from ROS 2 (/leds topic)

L1 is a status indicator driven by the firmware. L2 and L3 are user-programmable through the /leds topic (std_msgs/msg/UInt8), where each bit controls one LED: bit 0 (value 1) โ†’ L2, bit 1 (value 2) โ†’ L3.

# Turn L2 on
ros2 topic pub /leds std_msgs/msg/UInt8 "data: 1"

# Turn L2 and L3 on
ros2 topic pub /leds std_msgs/msg/UInt8 "data: 3"

Power supplyโ€‹

ROSbot is powered from an internal, rechargeable Li-Ion battery pack that contains 3 Li-Ion cells, connected in series. This type of connection is called โ€œ3Sโ€. The schematic below explains how the cells are wired together and with the charging connector (on ROSbot side).

Batt connectionBatt connection

The BAT+ and BAT- are the power connections and the โ€œbal Bxxโ€ wires are used to monitor the voltage on each cell. It is strongly recommended to keep equal voltages on each cell during the charging process. The charger included with ROSbot can charge batteries in the described way and, thanks to that, the long life of the battery set is possible.

The nominal voltage of each cell is 3.7V but the useful range is 3.2V to 4.2V.

Important - discharge indicator If only the right firmware is preloaded to the internal controller (CORE2), the LED1 is programmed to indicate the power status:

  • the LED1 is on when the robot is turned on
  • the LED1 is blinking when battery is low โ€“ please charge immediately!

Please make sure that the user firmware always contains the function that monitors the supply voltage level. Deep discharging of batteries may decrease their lifecycle. Discharging to the voltage lower than 3.0V/cell can also trigger the over discharge protection. If the voltage is too low, turn ROSbot off and charge batteries as soon as possible.

Charging ROSbotโ€‹

Charger+cables+PSUCharger+cables+PSU

The ROSbot kit contains the Redox Beta charger. It is an universal charger, suitable for charging NiCd, NiMH, Li-Po, Li-Fe, Li-Ion and Pb (AGM, VRLA) batteries. ROSbot shall be charged using an included charger and cable.

Charger kit includes:

  • Redox Beta charger
  • AC/DC power adapter 100...240V to 12V 5A with 5.5/2.5mm plug on the 12V side
  • a cable to connect charger with ROSbot charging port

Quick charging guide:

  1. Connect the power adapter to the charger and the output cable between charger and ROSbot (2 connectors on charger side, 1 black connector to ROSbot charging port).
  2. Use red and blue buttons to select โ€œLiPo BATTโ€ mode and press [Start].
  3. Use arrows to select โ€œLiPo CHARGEโ€ mode.
  4. Press [Start] - the current value should start blinking. Use arrows to set the current to 1.5A.
  5. Press [Start] again - the voltage value should start blinking. Select โ€œ11.1V(3S)โ€ using arrows. The picture below shows the desired result.
  6. Press and hold [Start] for 2 seconds. The charger should now ask for confirmation. Press [Start] again. The charging process should begin now.
  7. When the charging will be finished (after about 3 hours), the charger will generate a loud โ€œbeepโ€ sound and will finish charging at the same time.

Charge config

If you need more information about charging, please read the Charging manual for ROSbot in PDF format.

Notes

  • You can change charging current to maximum 3A. Please note that a regular charging with the maximum current can shorten the battery life.
  • If you are going to use ROSbot stationary for a long time, you can use ROSbot with charger or power supply connected all the time. Please see the Charging manual for ROSbot for details.
  • In case you need to replace batteries, use only 18650 Li-Ion batteries, with the capacity in a range of 1800...3500mAh and with a protection circuit! Using unprotected batteries may result in serious injuries or fire.
  • Unplug charging connectors carefully. You shall not unplug the charger connectors holding the wires. The balancer connection on ROSbot side has a latching tab (see photo below) that must be pressed before unplugging. On the charger side there is no latching tab but you should also unplug this connector holding the white plug.
Charger connectorCharger connector

Softwareโ€‹

Software for ROSbot can be divided into 2 parts:

  • A low-level firmware that works on the real-time controller (CORE2). It can be developed using Visual Studio Code IDE.
  • OS based on Ubuntu, which runs on the SBC (Raspberry Pi 4, UP Board, or Asus Tinker Board) and contains all components needed to start working with ROS or ROS 2 immediately. The microSD card or MMC memory with OS is included with each ROSbot. The OS has been modified to make the file system insensitive to sudden power cuts.

ROSbot 3 runs Husarion OS (Ubuntu 24.04 with ROS 2 Jazzy). The ROS 2 driver and the sensor drivers come as snaps, and the Husarion Cockpit web interface runs as a Docker Compose bundle. Older ROSbots use Docker containers.

The guides for the software running on ROSbot are in the Software section of the sidebar:

ROS / ROS 2 Tutorialsโ€‹

ROS (Robot Operating System) offers libraries and tools to help software developers create robotic applications. It provides hardware abstraction, device drivers, libraries, visualizers, message-passing, package management, and more. It's very powerful and functional tool dedicated to design robots. We created the set of ROS Tutorials dedicated for this platform to make it easier to familiarize yourself with these frameworks.

All helpful documents and links in one place: