Heterogeneous Extensible Robot Open Platform
The HERO platform (the Heterogeneous Extensible Robot Open Platform) is a low-power, high-performance, mini-sized heterogeneous system platform solution for intelligent robots (including service robots, medical robots, self-driving cars, etc.). In this platform, the CPU acts as a control center, paired with FPGAs to provide efficient performance. The complete HERO hardware system features an Intel® CoreTM processor with an Intel Arria 10 GX Series 1150 FPGA as a heterogeneous accelerator.
The traditional FPGA programming has proved problematic to most software engineers, yet the HERO platform provides a solution for everyone. In addition to the traditional professional programming model, the HERO platform’s customized BSP (Board Support Package) also supports OpenCL-based flow development, providing a friendly programming interface for a wide range of algorithms and software programming for software engineers. For a customized system to support OpenCL flow, it requires FPGA hardware to provide complete data and control paths other than compatible software from the host. The OpenCL kernel can then be loaded dynamically in real time and run on the FPGA platform. To support OpenCL Flow, the full FPGA board support package has been ported to the HERO platform and is available as an integral part of the HERO SDK. The FPGA logic part of the existing HERO SDK BSP mainly includes a high-speed communication interface PCIe IP core, a memory DMA controller, an off-chip high-speed memory DDR4 interface, and a communication interface with the FPGA internal module. If users want to increase the speed of communications between the FPGA and the external interface, the HERO platform also has a corresponding BSP reference design that guides customers to implement a variety of flexible external interfaces for better and faster communication.
The HERO platform has broad application prospects. Take the service robot as an example, its main role is to help people complete tasks and actions. To achieve this goal, R&D engineers need to implement a variety of complex applications on the robot, including vision, positioning, motion, and grabbing. FPGAs can be of great value in these critical applications, making the processing of complex algorithms efficient and real-time, giving users a good experience.