Blickfeld is pleased to announce that our software library, known as the Blickfeld Scanner Library (BSL), is now available as an open-source project. Timor Knudsen, the Lead of Embedded Software, explains what the Blickfeld Scanner Library is used for, who will benefit from it, and why it is being made available as an open-source project.
What is the Blickfeld Scanner Library, and what is its purpose?
The Blickfeld Scanner Library (BSL) connects to a Blickfeld Cube or Cube Range over the network and provides the point cloud data using an API. This simplifies the integration of the Blickfeld Cube into existing environments. In addition, the settings are easily configurable, and the point cloud recordings can be retrieved remotely via the API.
The BSL also plays a central role in the visualization of the point cloud in real-time. The individual points are first streamed via the BSL until the application (e.g., the viewer in our WebGUI) takes over and visualizes the data. Another application is the integration with ROS, where the ROS driver uses the BSL to provide the point cloud data.
Blickfeld uses the Google Protocol Buffers format for data exchange. Due to the platform-independent definition, Cubes can be integrated into practically any system. Currently, native implementations of the BSL exist in C++, Python, and Typescript.
Is there a plan to support additional programming languages?
Currently, there are no plans to support additional languages, but the implementation is straightforward and can be done by users of the BSL themselves. If we see the need, we will integrate additional languages.
What about support for mobile devices?
This is an interesting thought. We haven’t had this requirement up till now – but in principle, nothing stands in the way of integration into smartphones.
Who is the BSL intended for?
The BSL is meant for every Blickfeld Cube user who found the current integrations and applications insufficient. We assume that practically every Cube user has unique requirements for integrating into their systems and will therefore appreciate the BSL.
What previous knowledge should users have?
The resource is designed by developers for developers. Users should have previous knowledge in Python or C++ – a prerequisite that is relatively standard for most users responsible for such integration. Of course, there is an accompanying documentation and customer support from Blickfeld. So, in case any questions should arise, we are here to help!
How can you get started with the BSL?
The BSL is extensively documented and comes with a whole package of examples in the supported languages. With Python, you can get to the data with just a few lines of code, and a simple application can be implemented in no time.
What is the development history of the BSL?
The BSL development started with our first working LiDAR sensor in 2017, making it one of the oldest software projects we have here at Blickfeld. Since then, we have continuously developed the resource and have now reached a point where we can offer it as an open-source library.
How did you decide to provide the BSL as an open-source program?
The plan to provide the BSL as an open-source library existed from the very beginning. Our customers often want to integrate the Cube into their existing system landscape. This is only possible with a programming interface and a defined interface to the device. Our goal is also to make it as easy as possible for them to access the BSL and access the updates. There are no barriers to its usage, and whoever needs the BSL can download it without an NDA or any registration.
Another reason to make the BSL open-for-all is that everyone at Blickfeld are big supporters of open-source projects. As a start-up, we ourselves profit greatly from existing open-source projects, and we appreciate the significance of open-source programs for the programmer community.
Under which license is the BSL made available?
We want our customers to be completely free to use and modify the BSL, so we decided to use the very open BSD 3-clause license. This means that essentially nothing stands in the way of commercial use, and users are free to adapt the code as per their needs.
We also appreciate contributions and ideas from users and are very open to code changes. If there are any interesting features or modifications from the community, we will gladly include them in the official release.
You can access the Blickfeld Scanner Library here.