  This paper introduces SMARTmBOT, an open-source mobile robot platform based
on Robot Operating System 2 (ROS2). The characteristics of the SMARTmBOT,
including low-cost, modular-typed, customizable and expandable design, make it
an easily achievable and effective robot platform to support broad robotics
research and education involving either single-robot or multi-robot systems.
The total cost per robot is approximately $210, and most hardware components
can be fabricated by a generic 3D printer, hence allowing users to build the
robots or replace any broken parts conveniently. The SMARTmBot is also equipped
with a rich range of sensors, making it competent for general task scenarios,
such as point-to-point navigation and obstacle avoidance. We validated the
mobility and function of SMARTmBOT through various robot navigation experiments
and applications with tasks including go-to-goal, pure-pursuit, line following,
and swarming. All source code necessary for reading sensors, streaming from an
embedded camera, and controlling the robot including robot navigation
controllers is available through an online repository that can be found at
https://github.com/SMARTlab-Purdue/SMARTmBOT.
