Activities

No upcoming events

Intelligent Systems Lab Project: InfoPlant

Participants

Supervisors

Motivation

Application Scenario

A typical scenario in which this project could be used would be the modern home or workspace. Instead of displaying all (eco-related) data on a computer screen, we envision a biological plant which is able to display information on one of its many actuators. For example, the plant could shine in a specific colour when there are new messages for the user or the system could react to too much power being used with refusing to give water to the plant, making it look thirsty.

All this happens in an ambient setting, moving otherwise displayed data away from the screen to the environment and thereby relieving the user of unnecessary distractions and obstrusions in his or her workflow or home experience. The plant could be placed in any office, home office or even a living room.

Objectives

The project goal was to use an actual, biological, living plant equipped with technological actuators as an ambient interface to display data and create eco-feedback for the user (e.g. how her power usage relates to that of previous months or a fixed upper limit).

Description / Results

The set of features realised in this project encompasses a number of elements, described in more detail below. The sensors and actuators of these features were originally controlled via BRIX2 microcontrollers (developed by Sebastian Zehe @ CITEC) in the first semester, but were moved to an Arduino Uno in the second term, which was in turn controlled and coordinated by a Raspberry Pi that is connected to the internet.

Results of the second term (summer term 2015)

Maybe the biggest change in the second term was the switch from the BRIX platform to the Arduino. Originally, we planned to use an Arduino Leonardo, as that is the platform BRIX are based on but then ran into delivery problems and ultimately went with an Arduino Uno. The code itself, however, transferred over mostly without problems; the move from multiple BRIX to one master sketch only involved minor refactoring and some tailoring of memory heavy code sections.

Another major undertaking of the second semester was re-writing the python interface for the raspberry pi. It is now thread-safe, can communicate over RSB - as is necessary for integration into the intelligent apartment and working space at CITEC - and supports user-written apps.
Each app is automatically given a priority rating (compareable to the nice-level in UNIX systems) such that - for example -, while an app may choose to deny the plant a surplus of water to make it look thirsty, a system app (written by the developers) can monitor the humidity and prevent the plant from ultimately dying. We also implemented apps to interact with online services like twitter and gmail, notifying the user to new messages.

For a demonstration and live-fire test, we worked together with team BRAWO (BRain At WOrk) to visualise a user's brain state with the plant. The data from BRAWO's headset was broken down, normalised and sent to the plant via RSB. We then read out the data in a python app written for this purpose and lit up the LEDs accordingly. Of course this was only a proof of concept and many more degrees of freedom of the plant could be used to display more complex input data.

Other than this, all aspects of the project were made more robust and/or reliable. We also went back and improved on the code quality and documentation on many aspects so future work by other groups on the same topic can be done using our code with ease.

The following video demonstrates the current development state of the plant system and all its features:

Discussion and Conclusion

Although ultimatively successful, along the way, the project faced some setbacks. Originally, more features were planned (for example, the plant was to be placed on a rotating plate, or be equipped with small, portable speakers to allow for even more ways to convey input data).

Some problems we faced were unreliable hardware and unanticipated software complexity (requiring multiple rewrites to meet memory limitations) as well as some of the hardware components developing a rather excessive amount of sound, interfering with the goal of unobtrusiveness.

Furthermore, sensor data was in part significantly less accurate than hoped (e.g. humidity, touch), asking for the development of more robust signal processing / classification. Also, watering the plant turned out to be difficult to control due to an unexpectedly large latency between pump actuation and humidity sensing.

Outlook

The project itself is finished. However we still see possible areas for further refinements / continuation, that future groups could possibly work on: