
Chapter 2. Related Work/Fundamentals 23
mBS Smart Home
11
is a platform-independent, Java-based framework, based on the OSGi
middleware. It is optimized for use in embedded products, such as routers, gateways and
mobile phones, and offers an SDK and other tools for product development. Various au-
tomation systems are supported such as ZWave, ZigBee, UPnP, KNX, X10, and another
set of external hardware, for example Webcams. mBS Smart Home SDK comes with a
set of additional components, which provide services such as SMS and email notification,
multimedia extensions, web server and a web framework for web based interfaces [23].
MiddleWhere [24] is designed for location-aware applications as it provides advanced location
data and facilitates the use of different location sensing techniques. MiddleWhere stores
its data in a spatial database consisting of sensor information and a representation of the
physical space. In order to reduce conflicts and merge different sensor values, it has a
reasoning engine, which uses sensor model and spatial information to determine an object’s
location with a certain probability. The location model is hierarchical and defines three
different kinds of locations: points, lines and polygons. Each entry is represented as GLOBs
(Gaia LOcation Byte-string), which contain coordinates (x, y, z) and a symbolic name. For
example a light can be saved as Building2/1/1913/Light1 or as Building2/1/1913/(1,5,3),
meaning that Light1 is located in room 1913, floor 1 of building 2 at the coordinates (1,5,3).
In this case, the light can be defined by a point. Polygons are used to present rooms and
other complex shapes like chairs, tables and spaces, while lines can represent doors.
MundoCore [22] is a light-weight infrastructure designed for pervasive computing. Due to its
low footprint of approximately 42 kB
12
, it can be used on a wide spectrum of different
devices, ranging from servers to small embedded systems. It is based on a microkernel
design and offers functionality like dynamic reconfiguration and common APIs for several
programming languages (Java, C++, Python, C#). MundoCore uses different communi-
cation abstractions, such as publisher/subscriber, services and XML RPC, which are similar
to the functions offered by ROS. Moreover, it provides automatic peer discovery allowing
nodes to detect each other.
2.4.2. Robot Operating System (ROS)
The Robot Operating System (ROS) is an open source middleware for robotic systems. Its
development started in 2007 under the name switchyard by the Stanford Artificial Intelligence
Laboratory for the STAIR project [25]. In 2008, the project was taken over by Willow Garage. As
a result ROS inherits the drivers, navigation system, and simulators from the Player project, vision
algorithms from OpenCV, planning algorithms from OpenRAVE and different functions from many
others [26].
11
http://www.osgi.org/Spotlight/MBSSmartHome
12
https://wiki.tk.informatik.tu-darmstadt.de/bin/view/Mundo/AboutMundo
Comentarios a estos manuales