Interview with Tim Verbelen by the OSGi Alliance Team
Tim Verbelen's talk, Run OSGi on your robot and teach it new tricks, is this year's early bird pick for the OSGi track. He was interviewed by the OSGi team to learn more about his talk and his robot.
Alliance: Your “Run OSGi on your robot and teach it new tricks” abstract describes an OSGi service for controlling a robot. What is the purpose of the OSGi service?Verbelen: We have been using OSGi in our research lab for quite some time, so the most convenient way to integrate things for research/demos is to write an OSGi service for it. Currently, we are looking into how to process sensory information (e.g. LIDAR, camera, etc.) and translate this into robot control (e.g. to execute a certain task). The goal is to use self-learning techniques that allow the robot to be trained to do the task, instead of hard-coding it. The talk will cover the two subjects, first how we integrate the robot into our OSGi framework and next how we can "teach" it.
Alliance: Please describe your experience with OSGi.
Verbelen: Since I started my PhD in 2009, I've been using OSGi, mainly for developing distributed systems. During my PhD I met Jan Rellermeyer and I started contributing to his Concierge project, a slim OSGi framework implementation. In late 2014, I had the opportunity to become an Invited Contributor of the OSGi Alliance. Since then I try to participate in the expert groups, and I was mainly involved in the upcoming R7 Clusterinfo spec and the OSGi demo at the two past OSGi community events.
Alliance: You mention your work with OSGi Alliance expert groups and pending R7 specification, expected later this year. Can you describe how specification features, Promises and PushStreams, affect your development?
Verbelen: When programming a robot you basically have two options: you issue a command to the robot and then block until the command is executed, or you immediately return after issuing the command and let it up to the caller to find out when the command is done. Promises allow you to have the best of both worlds. You immediately give a Promise after issuing the command, which gets resolved when the command is executed. This results in a very nice asynchronous programming model to control the robot. I haven't yet used PushStreams myself, but from what I have already seen, this seems a very powerful concept to, for example, publish sensor information, for which I currently still use an Observable pattern.
Alliance: The OSGi Community Event program, including your talk, is open to both Community Event and EclipseCon Europe attendees. What is your connection to Eclipse?
Verbelen: Since 2013, I have been a committer of the Eclipse Foundation, contributing to the Concierge project, which is a very slim implementation of the core OSGi framework spec. Hence, this is also the OSGi framework I use most often, and with its low footprint it's the perfect framework to run on resource-constrained platforms such as a robot.
About Tim Verbelen
Verbelen received his Ph.D. degree with his dissertation "Adaptive Offloading and Configuration of Resource Intensive Mobile Applications” in 2013. In October 2014, he joined iMinds IoT lab working on distributed intelligence for supporting the next generation IoT applications. As of October 2016, he works as senior researcher at imec on deep learning in distributed and resource-constrained environments.