Please use this identifier to cite or link to this item: https://hdl.handle.net/10316/83031
Title: Using an FPGA Mini-Cluster to Implement Bayesian Application-Specific Integrated Circuits for Robotic Applications
Other Titles: Utilizar um Mini-Grupo de FPGAs para Implementar Circuitos Integrados de Aplicação Especifica Bayesianos em Aplicações Robóticas
Authors: Gomes, Miguel Mira Duarte 
Orientador: Ferreira, João Filipe de Castro Cardoso
Lobo, Jorge Nuno de Almeida e Sousa Almada
Keywords: Inferência Bayesiana; Perceção; Grupo de FPGAs; ROS; PCIe; Bayesian inference; Perception; FPGA Cluster; ROS; PCIe
Issue Date: 27-Sep-2017
metadata.degois.publication.title: Using an FPGA Mini-Cluster to Implement Bayesian Application-Specific Integrated Circuits for Robotic Applications
metadata.degois.publication.location: DEEC
Abstract: Os sistemas de perceção artificial precisam de conseguir lidar com a incerteza. Uma solução robusta para esse problema consiste em usar métodos probabilísticos. No entanto, estes facilmente sobrecarregam arquiteturas padrão, baseadas em Unidades Centrais de Processamento (CPUs) ou Unidades de Processamento Gráfico (GPUs), o que leva a cálculos mais lentos. Por outro lado, o trabalho apresentado nesta dissertação usa máquinas desenvolvidas em redor de hardware não convencional baseado em sinais estocásticos, permitindo o uso de portas lógicas simples para realizar computações e lidar com inferência Bayesiana de forma eficiente.Estas máquinas foram desenvolvidas durante o projecto Europeu "Bottom-up Approaches to Machines dedicated to Bayesian Inference" (BAMBI), no âmbito do programa Future and Emerging Technologies (FET). Como a sua arquitectura não é genérica, o que significa que não seriam apropriadas para implementar em Circuitos Integrados de Aplicação Especifica (ASICs), uma toolchain foi desenvolvida para permitir a implementação destas máquinas em Field-Programmable Gate Arrays (FPGAs).Ao usar FPGAs não há soluções prontas a usar para estabelecer uma ligação a um robo. Para fazer isto as FPGAs necessitam de estar ligadas a um computador capaz de usar o Robot Operating System (ROS) para comunicar com robos/sensores/actuadores/simuladores compatíveis com ROS. O ROS é amplamente utilizado para o desenvolvimento de sistemas robóticos e ao usá-lo é-nos possível desenhar uma interface facilmente integrada em muitos projectos robóticos.Também foi desenvolvida uma ligação PCI-Express (PCIe) para que o computador e as FPGAs alcancem transferências de dados de alta-velocidade. O objetivo final é fornecer uma abstração de todas as camadas de comunicação da interface de forma a que o utilizador apenas tenha que lidar com tópicos de ROS para implementar modelos probabilísticos num mini-grupo de FPGAs.No Capítulo 4 apresenta-se um estudo de caso que ilustra as propriedades do sistema, bem como situações em que o mesmo possa ser aplicado com sucesso.
Artificial perception systems need to be able to deal with uncertainty. A well tried solution for that problem is the use of probabilistic approaches, however these can easily overload standard architectures based on Central Processing Units (CPUs) and Graphics Processing Units (GPUs), which leads to slow computations. As opposed to this, the work presented in this dissertation uses machines developed around unconventional hardware based on stochastic signals, allowing the use of simple logic gates to perform computations and efficiently solve Bayesian inference.These machines were developed during the European project "Bottom-up Approaches to Machines dedicated to Bayesian Inference" (BAMBI) from the Future and Emerging Technologies (FET) program. Since their architecture is not generic, meaning they would not be appropriate to implement with Application Specific Integrated Circuits (ASICs), a toolchain was developed that allows the spooling of these machines into Field-Programmable Gate Arrays (FPGAs).By using FPGAs there are no off-the-shelf solutions to connect to a robot. To do this, the FPGAs were connected to a computer that is then able to use the Robot Operating System (ROS) to communicate with ROS-compliant robots/sensors/actuators/simulators. ROS is widely used for the development of robotic systems, and by using it we are able to design an interface that is easily integrated into many robotic projects.In order for the host computer and the FPGAs to achieve high-speed data transfers, a PCI-Express (PCIe) connection was developed. The final objective is to provide an abstraction from all the communication layers of the interface so the user only needs to handle ROS topics to implement probabilistic models in the FPGA mini-cluster.In Chapter 4 a case study is presented that successfully demonstrates the properties of the system.
Description: Dissertação de Mestrado Integrado em Engenharia Electrotécnica e de Computadores apresentada à Faculdade de Ciências e Tecnologia
URI: https://hdl.handle.net/10316/83031
Rights: openAccess
Appears in Collections:UC - Dissertações de Mestrado

Files in This Item:
File Description SizeFormat
thesis.pdf2.86 MBAdobe PDFView/Open
Show full item record

Page view(s) 50

500
checked on Nov 6, 2024

Download(s) 50

688
checked on Nov 6, 2024

Google ScholarTM

Check


This item is licensed under a Creative Commons License Creative Commons