  We propose an energy-efficient controller to minimize the energy consumption
of a mobile robot by dynamically manipulating the mechanical and computational
actuators of the robot. The mobile robot performs real-time vision-based
applications based on an event-based camera. The actuators of the controller
are CPU voltage/frequency for the computation part and motor voltage for the
mechanical part. We show that independently considering speed control of the
robot and voltage/frequency control of the CPU does not necessarily result in
an energy-efficient solution. In fact, to obtain the highest efficiency, the
computation and mechanical parts should be controlled together in synergy. We
propose a fast hill-climbing optimization algorithm to allow the controller to
find the best CPU/motor configuration at run-time and whenever the mobile robot
is facing a new environment during its travel. Experimental results on a robot
with Brushless DC Motors, Jetson TX2 board as the computing unit, and a
DAVIS-346 event-based camera show that the proposed control algorithm can save
battery energy by an average of 50.5%, 41%, and 30%, in low-complexity,
medium-complexity, and high-complexity environments, over baselines.
