  Traditional software development in robotics is about programming
functionality in the CPU of a given robot with a pre-defined architecture and
constraints. With adaptive computing, instead, building a robotic behavior is
about programming an architecture. By leveraging adaptive computing,
roboticists can adapt one or more of the properties of its computing systems
(e.g. its determinism, power consumption, security posture, or throughput) at
run time. Roboticists are not, however, hardware engineers, and embedded
expertise is scarce among them. This white paper adopts a ROS 2
roboticist-centric view for adaptive computing and proposes an architecture to
include FPGAs as a first-class participant of the ROS 2 ecosystem. The
architecture proposed is platform- and technology-agnostic, and is easily
portable. The core components of the architecture are disclosed under an Apache
2.0 license, paving the way for roboticists to leverage adaptive computing and
create software-defined hardware.
