A developer of a LIDAR-based technology turned to Altoros to build a system that manages the testing of proprietary solutions—with a strong focus on maintainability.
Brief results of the collaboration:
- The customer built a system that manages the life cycle of LIDAR devices performance testing. With a proof of concept built in just 9 weeks, the company validated the solution’s integrability into the existing ecosystem and prevented vendor lock-in.
- With the modular architecture that promotes ease of maintenance, the manufacturer can support 30 testing scenarios and increase their number on demand. The delivered app also has a monitoring module with an error detection mechanism. All this helps to improve the LIDAR technology before embedding it in self-driving vehicles.
- Thanks to the chosen architectural approach and consultancy around building such solutions, the provider can move onto further development of its proprietary test controlling system.
Based in Australia, the customer produces scanning devices driven by its proprietary version of the light detection and ranging (LIDAR) technology. Serving the automotive and mining industries, the company raised $63.9 million as funding in 2021.
The customer utilized LabVIEW to manage testing of its scanning devices, processing the results in a cloud. 30 testing scenarios imitated various weather conditions (rain, sandstorm, etc.), obstacles on the way, off-road driving, etc. To further evolve its technology, the producer needed to continuously expand the number of scenarios. Maintaining LabVIEW was no longer an option due to the shortage of relevant expertise on the market and increasing concerns around vendor lock-in.
Having already utilized Microsoft Azure, the company wanted to build its own test controlling system on WPF, validating the integrability of the tool into the existing ecosystem. Comprising experts mostly in embedded engineering, the manufacturer sought talent in .NET development at Altoros to deliver a proof of concept (PoC) under tight deadlines.
Under the project, the team at Altoros had to address the following issues:
- The company aimed to expand the number of testing scenarios on demand. So, maintainability, high availability, and scalability were of the utmost importance.
- The LIDAR-based devices would be installed primarily in vehicles, including self-driving cars, to measure distance to objects. In this regard, minimizing errors during testing was crucial.
- LIDAR devices track metrics such an object detection range, resolution, field of view, etc., in disparate electronic formats. To store/transmit them efficiently, unification was important.
Stage 1. .NET engineers at Altoros started with a thorough analysis of non-/functional requirements to decide on the best-fit architectural approach. In close cooperation with the customer’s in-house team, the developers then outlined the features to include in the PoC and created an implementation roadmap.
Stage 2. The team at Altoros opted for the modular architecture, as it allowed to ensure high availability, scalability, and ease of maintenance. This approach contributed to the manufacturer’s ability to expand the number of testing on demand.
Stage 3. Then, the engineers built 4 modules comprising the test controlling system. The launcher managed the life cycle of testing scenarios (e.g., start/stop). As the customer planned to actively develop the system, experts at Altoros also made it possible to initiate automated system updates via the launcher. The monitoring module tracked the status of tests, detected errors, performed system health checks, etc. The logging module was responsible for recording events performed by other components. The reporting module based on AngleSharp allowed to generate a visual page with test results aggregated. The developers also built a REST API to send data from the test controlling solution into an existing cloud-based system for further analysis.
Stage 4. The team at Altoros applied the object model, enabling the system to utilize JSON as a default data format for all the metrics tracked.
Stage 5. With asynchronous programming, the engineers boosted performance and enhanced responsiveness of the app. A 64-bit architecture helped to aggregate up to 16 PB of data from devices without hitting memory limits.
Stage 6. Finally, the experts built a continuous integration/delivery pipeline based on Azure DevOps to streamline operations and facilitate feature delivery.
on developing a PoC
Partnering with Altoros, the customer delivered a system that manages the life cycle of LIDAR devices performance testing. By building the proof of concept in just 2 months, the manufacturer validated the idea to have a proprietary alternative over a vendor’s solution, preventing possible lock-in.
Thanks to a modular architecture, the company enjoys high availability, ease of maintenance, and integrability of the solution into an existing ecosystem. The producer is able to expand the number of testing scenarios on demand (in addition to existing 30). With the error detection mechanism in place, the manufacturer can further improve its LIDAR technology, making it even safer to use in autonomous vehicles.
Frameworks and tools
Windows Presentation Foundation, Autofac, AngleSharp, Reactive Extensions, Serilog, Windows Communication Foundation, FluentValidation, Azure DevOps