  Shake tables serve as a critical tool for simulating earthquake events and
testing the response of structures to seismic forces. However, existing shake
tables are either expensive or proprietary. This paper presents the design and
implementation of a low-cost, open-source shake table named \textit{Shakebot}
for earthquake engineering research and education, built using Robot Operating
System (ROS) and principles of robotics. The Shakebot adapts affordable and
high-accuracy components from 3D printers, particularly a closed-loop stepper
motor for actuation and a toothed belt for transmission. The stepper motor
enables the bed to reach a maximum horizontal acceleration of 11.8 $m/s^2$ (1.2
$\mathbf{g}$), and velocity of 0.5 $m/s$, with a 2 $kg$ specimen. The Shakebot
is equipped with an accelerometer and a high frame-rate camera for bed motion
estimation. The low cost and easy use make the Shakebot accessible to a wide
range of users, including students, educators, and researchers in
resource-constrained settings.
  The Shakebot, along with its digital twin--a virtual shake robot--has
showcased significant potential in advancing ground motion research.
Specifically, this study examines the dynamics of precariously balanced rocks.
The Shakebot provides an approach to validate the simulation through physical
experiments. The ROS-based perception and motion software facilitates the code
transition from our virtual shake robot to the physical Shakebot. The reuse of
the control programs ensures that the implemented ground motions are consistent
for both the simulation and physical experiments, which is critical to validate
our simulation experiments.
