R&D of FPGA componentization technology for low power robots (SCOPE, SOUMU)

ROSxFPGA=OpenReroc Project

Japanese/ English

Purpose and outline

 In order to realize Robots for daily life supports, various and complicated processing is need to be integrated.

For example, to grasp surrounding circumstances and  supply services to improve QoL (Qualigy of Life) of the person entitled, (1) cameras and various sensor input, (2) image recognition processing (ex: labeling processing, SIFT or SURF etc.) (3) learning and recognition processing based on large-scale DB (4) activity planning based on large-scale DB (5) actuator operation, and so on, have to be integrated.

Especially in processing of (2)-(4), computational complexity and reference data size are huge, so that it is necessary to apply computing resources such as remote clouds or DB. However, transfer of whole images puts pressures on communication band and causes delay. Therefore, data transfer reduction processing needs to be done locally by the robot itself. At the same time, power consumption shall be minimized as much as possible.  

 Generally speaking, software processing by microprocessor requires higher clock frequncy, in order to improve process performance, which causes higher power consumption. On the other hand, parallelization by multi-core/many-core can improve performance by parallel processing of software. Also, there are many researches on GPGPU, in which GPU for image display processor is used for general purpose computation, and reports of performance improvement by parallelization in many applications.  Compared with software processing, FPGA (Field Programmable Gate Array), which is much improved these past few years and becomes more massive, faster and lower in price, allows developers to program digital processing circuit freely. It leads to optimal hardware parallel processing for any application with low power consumption (ca. a few watt) and low clock cycles (ca. 100MHz). Compared with multi-core, many core or GPGPU, FPGA gives us possibility to build systems with higher energy efficiency.  

Figure 1: proposed robot system development for daily life supports by ROS-Compliant FPGA components 

 FPGA, on the other hand, requires more time than multi-core, many core and GPGPU, for application development. Because in order to apply FPGA, knowledge of hardware design is necessary, and precise writing of parallel processing in clock frequency units / bit units using HDL (Hardware Description Language) is also necessary, FPGA is low in design productivity and difficult  to be introduced in robot system development.  In recent years, technology of HLS (High Level Synthesis) has been developed and HDL writing volume can be reduced, however, knowledge of hardware design is necessary anyway, therefore FPGA is still hard to be used for general software engineers.

 Our purpose of this research is that any robot system developer can easily introduce FPGA into robot systems. To make it possible, we process high efficiency hardware into components by mounting FPGA in conformity to ROS (Robot Operating System) which recently becomes the mainstream as a platform of robot development. To be specific, FPGA engineers prepare components with input/output protocol for FPGA in conformity to ROS, then provide them to robot developer, so that FPGA with low power consumption/high performance can be used by ROS software seamlessly.

 In phase I of this research and development, we develop a demonstration system for basic design and basic performance, in order to handle hardware image recognition process circuits on low power consuming FPGA as ROS components. To be specific, we mount image recognition process circuits being specializing in application on FPGA, then have them process with ROS components cooperatively. So, our demonstration system shall be 10 time less in power consumption compared with software.

 Furthermore in phase II, we aim to design demonstration system for daily life supporting robot and develop robots in cooperation with robot researchers, brain-type computer researchers and so on. To be specific, we connect process by robot itself and cloud's big data process, then integrate learning recognition, motion planning based on large scale DB, and actuator drives based on the motion planning all together, in order to realize a system, which can demonstrate our proposed concept.