Enclustra FPGA Solutions | Creating 3D City Maps at 300 km/h | Creating 3D City Maps at 300 km/h

Creating 3D City Maps at 300 km/h



Leica Geosystems, part of Hexagon, is a leading provider of survey and measurement solutions. One of its flagship products is the Leica CityMapper-2: an airborne oblique imaging and LiDAR solution to generate high-precision 3D maps of cities. To speed-up the development of this highly complex system, which combines optics, mechatronics, high-speed electronics and software, Leica Geosystems selected Enclustra to provide crucial components.

Leica Geosystems started four years ago to design-in Enclustra System on Modules (SoM) as well as using the Enclustra FPAG Manager PCIe IP communication solution. Thanks to this approach, the engineers could focus on the critical project-specific details. By concentrating on its core competencies, Leica Geosystems was able to get the Leica CityMapper-2 to market faster and double its performance compared to its predecessor.

The Leica CityMapper-2 is one of the latest solutions that Leica Geosystems has developed using Enclustra Mercury+ XU8 modules and the FPGA Manager PCIe IP solution. The Leica CityMapper-2 is specifically designed for airborne 3D urban mapping, creating 3D digital twins of cities with images and LiDAR data taken from an aircraft.

To capture the images, the Leica CityMapper-2 uses the newly developed Leica MFC150 optical system. The sensor is equipped with two nadir (RGB/NIR (near-infrared)) 150 MP (Megapixel) cameras, four oblique 150 MP (RGB) cameras and a 2 MHz pulse rate LiDAR (Light Detection And Ranging). All the camera modules are assembled in the 58 kg pod and connected via PCIe to the host PC running Windows 10. With an operator console the recording can be monitored and controlled.

Every camera module of the Leica MFC150 contains an image sensor that is connected to a Mercury+ XU8 FPGA SOM from Enclustra. The shutters of all sensors are precisely synchronized, and the images are pre-processed and stored in the SDRAM on the Mercury+ XU8. Afterwards the host PC transfers all images with the Enclustra FPGA Manager PCIe IP Solution to four SSDs, which are plugged into the host PC with an average data rate of almost 2 GBytes/s. At the end of the mission, the SSDs can simply be unplugged from the Leica CityMapper-2 and plugged into the desktop PC to process the data and generate the 3D maps.

Customer Challenge

Leica CityMapper MFC150 System Diagram.

The project goal for the Leica CityMapper-2 was simple but ambitious: double the performance compared to the Leica CityMapper, meaning double the resolution and double the frame rate of the cameras. Six 150 MP cameras and a LiDAR needed to be synchronized with the lowest possible jitter while taking an image every 0.9 seconds. The image data is stored to four SSDs on the host PC running Windows 10 – notably a non-real-time operating system. Processing the data stream of almost 2 GBytes/s without any frame drops is a very ambitious task.

Because there wasn’t an out-of-the-box solution available that met all the requirements, Leica Geosystems evaluated several options. Two things were clear from the beginning: first that only an FPGA-based solution could achieve the high bandwidth, low latency and high integration needed and second that an FPGA System-on-Module should be integrated. Instead of developing a highly complex new FPGA board, Leica Geosystems decided to use an off-the-shelf module and invest the precious engineering resources in its core competencies: building high-performance and high-precision opto-mechatronic systems.

After carefully comparing various FPGA modules from different providers, Leica Geosystems decided to select a solution from Enclustra: the freshly released Mercury+ XU8 System-on-Module, which is based on AMD Zynq™ UltraScale+™ MPSoC-series devices. With fast DDR4 ECC SDRAM, eMMC flash, quad SPI flash, dual Gigabit Ethernet PHY and dual USB 3.0, it forms a complete and powerful embedded processing system. A comprehensive ecosystem, including the Linux Board Support Package (BSP), detailed documentation and reference designs make it easy to get started. As a pioneer in the urban mapping field, Leica Geosystems always looks for the newest available technology so that it is prepared for the future.

The Solution

Functional Block Diagram of the CityMapper in the Enclustra Mercury+ XU8 System-on-Module.

The six cameras inside the Leica CityMapper-2 pod take photos at the exact same moment. The image data is then transferred via a SLVS-EC (Scalable Low-Voltage Signaling with Embedded Clock) high speed interface to the Enclustra SOM and temporarily stored in the SDRAM. The host PC then initiates the DMA engine of the Enclustra FPGA Manager PCIe IP Solution, which transfers all the data through PCIe to the host PC without any further action from the host CPU, thus minimizing the CPU load.

Also integrated into the Enclustra Mercury+ XU8 SOM is a preview function. On a display the pilot or operator can check the image quality during the flight while the application is on mission and make sure the image data is collected correctly .

The integrated ARM CPUs (PS: processing system) of the SOM are used to configure all the functional blocks through the AXI bus, communicate with the host controller, calculate settings, and decide when to take what kind of images. The images are first processed by the Image Correction block and then stored by the Data Mover in the external SDDR memory. The preview block processes the images to preview them on the external display. Finally, all the data gets transferred via PCIe to the host controller using Enclustra’s FPGA Manager PCIe IP communication Solution. The final processing of the data and the generation of the 3D maps is done offline after the mission.

The Enclustra FPGA Manager communication solution from Enclustra’s IP product portfolio is another off-the-shelf building block that helped reduce development effort and reduce time-to-market at the same time. It implements the entire communication between a host PC and an FPGA. The solution includes a host software library (DLL) and an IP core for the FPGA. The user application communicates with the FPGA via a simple API with read/write commands that hide the complexity of the underlying protocol. Both streaming and memory mapped accesses are supported.

The IP solution can be used on custom FPGA designs as well as with Enclustra modules. Getting both, the module and the IP Core from a one-stop-solution provider like Enclustra leads to significant advantages for fast and efficient service and support. In addition to reduced time-to-market and total cost of ownership using a proven solution also lowers development risks at the same time.

The Result

The Leica CityMapper-2 is the most advanced airborne solution for urban mapping available today. Compared to past projects, using an FPGA module solution from Enclustra provided better cost-control over designing in-house. The team didn’t need to produce prototypes, do re-designs, write documentation or risk mistakes without the guarantee of a polished end result. Besides the engineering costs, the development team was also positively surprised by the competitive price of the module. Thanks to the high and growing production volume of the standard modules and Enclustra’s long-term experience in optimizing the production, the module costs almost the same as the price of the FPGA chip for small demand. «Enclustra provided a plug-in solution that we knew would work,» says Daniel Wintsch, team leader electronic development at Leica Geosystems. «Using the FPGA SOM solution, reduced the pressure on our team and allowed us to focus on our core competencies, which makes Enclustra a long-standing trusted supplier.»

As a long-term customer, Leica Geosystems has been using the FPGA SOM solutions from Enclustra over the past few years across its portfolio. Leica Geosystems will keep on evaluating new FPGA technologies and SOM solutions from Enclustra for future projects and development.


AMD Zynq™ UltraScale+™ MPSoC | DDR4 SDRAM |PCIe | FPGA Manager IP Solution