Abstract

Reconfigurable computing provides a paradigm to create intelligent systems different from the classic software computing approach. Instead of using a processor with an instruction set, a full stack of middleware, and an application program running on top, the field-programmable gate arrays (FPGAs) integrate a cell set that can be configured in different ways. A few vendors have dominated this market with their proprietary tools, hardware devices, and boards, resulting in fragmented ecosystems with few standards and little interoperation. However, a new and complete toolchain for FPGAs with its associated open tools has recently emerged from the open-source community. Robotics is an expanding application field that may definitely benefit from this revolution, as fast speed and low power consumption are usual requirements. This paper hypothesizes that basic reactive robot behaviors may be easily designed following the reconfigurable computing approach and the state-of-the-art open FPGA toolchain. They provide new abstractions such as circuit blocks and wires for building intelligent robots. Visual programming and block libraries make such development painless and reliable. As experimental validation, two reactive behaviors have been created in a real robot involving common sensors, actuators, and in-between logic. They have been also implemented using classic software programming for comparison purposes. Results are discussed and show that the development of reactive robot behaviors using reconfigurable computing and open tools is feasible, also achieving a high degree of simplicity and reusability, and benefiting from FPGAs’ low power consumption and time-critical responsiveness.

Highlights

  • Robotics is an exciting engineering field with recent massive applications beyond the classic automotive and integrated circuit factories

  • Several middlewares and frameworks have appeared to simplify and speed up the development of robot applications. They favor the portability of these applications between different robots, facilitating code reusability and integration. They provide: (i) a particular software architecture for robot applications, such as an object collection or a set of modules talking through the network or an iterative process calling to functions, or an event loop with callbacks; (ii) a hardware abstraction layer that hides the complexity of accessing heterogeneous hardware under standard interfaces; (iii) many tools, libraries, nodes, or common functionality stacks that can be reused in new developments instead of building each new application from scratch

  • The experimental validation just presented addresses the implementation of two basic reactive behaviors in an autonomous robot using two different perspectives: first, the reconfigurable computing approach, where an field-programmable gate arrays (FPGAs) is configured with a circuit designed using an open toolchain visual editor for FPGAs, and second, the classic and widely used software computing approach, where the sensors are read and actuators are commanded by a Python software program running on a general-purpose microprocessor

Read more

Summary

Introduction

Robotics is an exciting engineering field with recent massive applications beyond the classic automotive and integrated circuit factories. It shows the usefulness of recent open-source tools and FPGA computing when developing robot applications, expanding the scope of open FPGAs beyond digital electronics They provide an easy and reliable way of creating reactive robot behaviors, with some advantages over the classic programming approach. A commercial robot endowed with ultrasound (US) sensors, infrared (IR) sensors, and motors has been employed The intelligence of this robot for two reactive autonomous behaviors (line following and obstacle avoidance) has been developed using the reconfigurable computing approach, where a visual editor tool is used for circuit generation and synthesis into an open FPGA board attached to the robot.

Related Work
Implementation of Intelligent Robot Behaviors
Software Approach
Hardware Approach
Experimental Validation
Robot Body
Reconfigurable Computing Brain
Software Brain
Reactive Robot Behaviors
Obstacle Avoidance Robot Behavior
Findings
Discussion
Conclusions
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call