distributed robotic systems. Having worked previously on the Linux Robotic Framework where I built 'Buzz' pictured to the left, I was fascinated by the use of software in real world machines, much more so than server and desktop applications.I first came across OSGi when searching for a plugin/update management mechanism for an in-house software product I was developing at my day job. It appeared quite daunting at first, as it required a complete overhaul of the software architecture and introduced many new capabilities I had not considered. Thanks to some brilliant work by the developers at Dynamic Java I was able to create a modular, remotely updatable, and very maintainable desktop application without much fuss.
I immediately recognized the potential for OSGi and came up with a lot of scenarios where I'd like to see it used. One of these being a control system/platform for a distributed network of robotic agents. Others have incorporated OSGi into IDEs and application servers and several groups have dedicated themselves to supporting the OSGi movement.
It is difficult to explain the value of OSGi in a single paragraph so I strongly suggest you following the links and try to familiarize yourself with it, rather than taking my shallow
explanation. An OSGi framework provides a dynamic and modular support system for Java. It addresses some of the shortcomings of bundle management within a JVM and greatly increases deployment capabilities. The image to the right has been taken form the OSGi specification version 4.1 and shows the basic architecture of an OSGi runtime. The execution environment will be a JavaSE virtual machine in most cases, but it can also be run on various realtime VMs, JavaME and even Dalvik. The bundles are the actual application packages.My objective this semester is to demonstrate the use of OSGi in a robotic system. I hope to show that the dynamic capabilities of an OSGi based software system will allow for more powerful and creative configurations of individual robotic agents as well as complex systems of cooperating agents. Combing OSGi with other projects such as JXTA and R-OSGi will hopefully demonstrate a very powerful system of collaboration in dynamic systems.
I have started this blog to summarize my research and results in order to receive feedback from people much smarter than myself. I will be the first to admit I am in-experienced in robotics and quite naive with my expectations. Hopefully constructive criticism and feedback will help me reach a more realistic and practical outcome.

0 comments:
Post a Comment