Building autonomous machines has
come a long way in the past decade
thanks to smaller form factors and
improved power-to-performance ratios,
making them more easily accessible.
With simple Linux scripting skills, one
can build most any design by utilizing
an open source software stack called
Robot Operating System (ROS).
In this article, we’ll look at an
example robot application which uses
a Roomba as a platform and a single-board computer (SBC) as a controller.
Specifically, we’ll be using Technologic
Systems’ TS-7970, but you can apply
the principles in this project to many
The Problem and Solution
Historically, robots have needed a substantial amount
of power and a team of engineers to overcome long and
arduous software development. Previous applications with
the ROS software have relied on the energy-hungry i386
architecture, which can quickly drain a battery. With the TS-
7970 using less than three watts in typical conditions and 15
m W in sleep mode, you’ll have plenty of energy headroom
to power, monitor, and control motors and sensors.
The embedded design of the TS-7970 allows it to
endure high vibrations, debris, and temperatures from - 40°C
to 85°C. Additionally, most — if not all — the communication
ports and protocols you would need to build a simple
robotic system are included onboard, like DIO, UARTs, CAN,
Wi-Fi, Bluetooth, XBee, and more. Finally, the footprint of
the TS-7970 is small enough to fit in nearly any enclosed
ROS is a popular robotics library available for Linux.
This open source framework is a simple yet in-depth way
to interact with all your sensors and motors. In industrial,
commercial, and personal endeavors, ROS makes for
an easy-to-manage and highly efficient toolset for your
Using ROS and
50 SERVO 09/10.2018