The Must-read Guide to Using the New LeddarSDK for your Mobility Application
Blog post by Julien Stanguennec, Product Engineer.
Updated May 29, 2020
LeddarTech’s LiDAR technology provides Tier-1 suppliers and selected Tier-2s the key components and tools to develop and produce differentiated SSL solutions tailored to the specific Advanced Drivers Assistance Systems, Autonomous Driving, and mobility application requirements of OEMs.
Throughout the entire development process, customers have access to engineering and training services, ongoing support, and a comprehensive team of Leddar EcosystemTM partners, who serve as integral elements of our product offering.
As part of our service support engagement, we always aim to provide the right resources and guidance on how to successfully integrate and deploy LeddarTech’s suite of LiDAR modules in our customers’ mobility applications.
This blog post focuses on the essential elements required to integrate LeddarTech’s LiDAR sensors for mobility applications successfully and on schedule using the recently built LeddarSDK.
Ways to Integrate LeddarTech’s LiDAR Sensors
It is important to start by noting that we offer customers two main avenues to integrating LeddarTech’s LiDAR sensors in their applications:
- Developers can build their complete application from the ground up, based on the low-level communication protocol definition. You can download your sensor’s User Guide to learn more about how to proceed with this option.
- We offer the LeddarSDK for customers who wish to accelerate their software integration and reduce the lead time associated with entirely building their application from the ground up. We have built a new LeddarSDK to provide a more flexible, more usable SDK than ever before.
As outlined above, we will further explore the way in which customers can integrate LeddarTech sensors using the LeddarSDK application.
What is the LeddarSDK
LeddarSDK is a software development kit allowing LeddarTech customers to easily integrate LeddarTech’s LiDAR sensors by providing third-party libraries for low-level communication, code example, and documentation. The LeddarSDK also provides a standardized API that enables developers to start building their application quickly and easily. Below are some of the key advantages and specifications of the new LeddarSDK:
- Open-source and Cross-platform (limited use of pre-compiled code – only from libraries);
- Constitutes a unique software package for main LeddarTech mobility sensors and all communication protocol;
- To account for most developers needs, a python layer and a ROS node are offered over a C++
- The tested Hardware platform are PC based x86 (IA-32), x64 (AMD64/EM64T) and ARM-based platform Raspberry Pi;
- The tested Operating Systems are Linux (Ubuntu) and Windows (7, 8,10);
- LeddarSDK is designed for PC-based architecture to be interfaced with the Leddar Pixell, M16 family (M16-LED, M16-LSR, IS16), Vu8, and LeddarOne LiDAR sensors with all communication protocols available (Ethernet, USB, Modbus (RS232, RS485 & USB VCP), CAN BUS, SPI);
- For the low-level communication protocols, alternate hardware and library are used to interface with the PC’s USB port.
Note: no support of SPI connection on ARM-based platforms such as Raspberry Pi.
LEDDAR SDK ARCHITECTURE
About the Hardware Interface
Below are the key considerations regarding the Hardware Interface:
- FTDI cable to convert RS232, RS485 and SPI to USB (See accessories at leddartech.com).
- For CAN BUS communication, Komodo CAN interface to USB (https://www.totalphase.com/products/komodo-cansolo/).
About the Third-Party Library
Below are the key considerations regarding the third-party library:
- Libusb for USB communication (.c and .h for windows, and standard library for Linux)
- Libmodbus for Modbus communication (.c and .h)
- Komodo for CAN BUS communication (compiled .so and .dll)
- FTDI for RS232 and RS485 for FTDI cable PHY (compiled .so and .dll)
- MPSSE for SPI FTDI cable PHY (compiled .so and .dll)
- RapidJSON for data recording
The LeddarSDK takes care of low-level communication and provides an standard abstraction layer for the different LeddarTech sensors to easily:
- Connect to a sensor
- Read detections
- Configure the sensor
- Record data
In addition, to provide developers with a complete picture, we also offer LeddarConfigurator software for windows that provides a graphical user interface (GUI) to allow customers to quickly connect to a sensor, configure it, display live data, and record measurements. This software is typically used for quick technology assessment and troubleshooting, while the SDK can be used to build the application.
How to Access the LeddarSDK
We are happy to announce that the LeddarSDK is now delivered on GitHub, for wider collaboration with the developer community. Customers can access the LeddarSDK in the following way:
Code Distribution: github.com/leddartech/LeddarSDK
User Documentation: sdk.leddartech.com