“Run OSGi on your robot and teach it new tricks

The OSGi Alliance announced today “Run OSGi on your robot and teach it new tricks” has won the early bird talk selection for OSGi Community Event 2017, Oct. 24-26 in Ludwigsburg, Germany. The featured talk was submitted by Dr. Tim Verbelen, senior researcher at imec, a leading research and innovation hub in nano-electronics and digital technologies, and Invited Contributor to the OSGi Alliance.

The event’s final Call for Papers closes July 17. Submit a talk proposal today. The OSGi Community Event is co-located with EclipseCon Europe 2017 and shares a proposal submission and registration system.

The OSGi Alliance asked Verbelen about his featured talk and his experience with OSGi technology.

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.

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.