By Claudio Bui and Yves Wurmitzer
Innovating, developing and bringing a new automated liquid handling product to market quickly, before requirements and needs change, is no easy feat. A software development kit (SDK) supporting your platform and components enables your developers to spend less time worrying about how to control robotic components and more time creating optimal interactions between the end-user and their application. Let’s look in more detail at what a robotics SDK is, what features it should have, and what benefits the right SDK can bring to your development timeline.
Never underestimate the importance of a software development kit (SDK) when selecting your robotics platform.
What to choose: SDK or API…or both?
The difference between a simple application programming interface (API) and a software development kit (SDK) is a common source of confusion for newcomers to robotics software development. Simply put, a robotics API is primarily a set of documented functions for interfacing or interacting with robotics applications, core control systems and various hardware devices. APIs enable programming flexibility, but they don’t provide support or guidance during the software development process.
An SDK, on the other hand, is a set of tools intended for a specific purpose; it is a kit to facilitate the creation of solutions for specific devices and development environments. An SDK may be wrapped around one or more APIs, but often contains other tools needed to create and test code quickly and easily. In short, an SDK includes or facilitates access to tools that are fundamental for modern software development. In many cases, an SDK will also provide code snippets or implementation examples.
SDKs make programming and integration easy
Hardware is nothing without robust and powerful software. Unfortunately, not all software works with all hardware. So it’s crucial to consider compatibility between hardware and software development tools early in the design process. A quality SDK will empower you to develop and program your instrument quickly and easily.
Well-established SDKs support the creation of applications with examples and pre-developed tools helping to solve challenging problems more quickly and easily—minimizing the need to get into the nuts and bolts of coding, and thereby saving valuable development time.
An SDK typically standardizes the communication with modules through the use of high-level commands, making it easier for you to create complex robotics tasks such as synchronization of movements of different modules, path finding, and collision avoidance.
SDKs help speed up time to market
To stay competitive and flexible, you need to be able to react quickly to changing markets, and software development can become a major bottleneck. If you were to build your software solely on APIs, you would need to create your own development infrastructure and surrounding tools as well as redevelop many aspects of basic functionality. An SDK relieves developers of the time and effort it would take to develop and test those components themselves. It also helps “de-risk” the process, because you can reuse components that have already been developed and proven to work in other applications.
SDKs may contain a variety of other time saving tools. For example, some packages come with a 3D simulator, which enables digitalization of your application environment within a virtual setting, allowing you to start developing software before the first hardware components are available. A worktable editor is another useful SDK tool to speed up and facilitate the set-up and design of the workdeck layout of your automated liquid handling instrument.
SDKs offer superior reliability and cost-saving potential
Software development kits are more reliable and save costs compared to working with APIs, because you can leverage the work that has already been done and tested by other developers. For example, Tecan MAPlinx™ SDK includes the same software components and tools that have been used by Tecan for internal development; as such, it has benefited from the expertise and continuous improvements of Tecan’s experienced developers.
What to look for in an SDK?
A good software development kit should help you shorten time-to-market and reduce development risk. In addition, with the higher level functionalities available in an SDK you should be able to manage code more easily, which can make life cycle management more cost-efficient.
A key requirement for any SDK is flexibility. The ability to easily and reliably adapt your robotics platform to accommodate various applications, components and other robotic devices is particularly important when developing software for a dynamic product portfolio, especially if that portfolio includes products intended for highly regulated environments like clinical labs.
Questions to ask when evaluating SDKs for your robotics solutions
1. Does the SDK provide the right balance of flexibility and existing functionality needed to save you development and testing effort?
2. Is it built in a modular way that allows you to readily extend or adapt to changing requirements?
3. Is it built on a modern technology platform to reduce and facilitate maintenance and life cycle management (e.g. obsolescence of components)?
4. Is the development kit also used by the company that created it, and is the support of those experts available if needed?
5. Does the SDK support a programming language that is commonly used in the industry (e.g. C#)?
6. Can you test the SDK prior to purchasing?
7. Does the SDK offer a comprehensive package of tools for prototyping, development, testing, and support (e.g. 3D Simulator, example application, worktable editor, etc.)?
MAPlinx, Tecan’s next generation OEM software platform, is an SDK that meets these criteria and accelerates application software development for OEM components and platforms – including Cavro Magni Flex. With its design based on fully pre-tested modular building blocks, MAPlinx has been specifically developed to meet the high demands placed on development of robotic platforms in fast-paced diagnostic and analytical industries.
Want to learn more?
Contact us for information about a free demo version of the Tecan MAPlinx SDK.
About the author
Claudio Bui is the Head of Product Concepts for the Partnering Business in the Components Marketing Team. The primary function of his team is to work closely with customers to develop new concepts and proposals based on a thorough analysis of their specific requirements. Claudio started at Tecan in 1990 in R&D developing Components and has been involved in the development of a number of small laboratory instruments. In 2005, he joined the Marketing team.