diff options
author | Jonas Smedegaard <dr@jones.dk> | 2025-04-18 00:23:52 +0200 |
---|---|---|
committer | Jonas Smedegaard <dr@jones.dk> | 2025-04-18 00:49:12 +0200 |
commit | 031240f883a2822dee70760dc3f76e643978256b (patch) | |
tree | 4d1b0de2cfbeacd9cb425ac3665b7fffd6a7dbc2 | |
parent | 7004616627f21d637793abf9719ce88ee69512cd (diff) |
update report content
-rw-r--r-- | ref.bib | 34 | ||||
-rw-r--r-- | report.qmd | 301 |
2 files changed, 282 insertions, 53 deletions
@@ -1,3 +1,11 @@ +@InBook{Wensveen2014, + author = {Stephan Wensveen and Ben Matthews}, + title = {Prototypes and prototyping in design research}, + doi = {10.4324/9781315758466-25}, + pages = {262--276}, + crossref = {Rodgers2014}, +} + @Article{FerreiraRodriguez2023, author = {Noé Ferreira-Rodríguez and Sebastian Beggel and Juergen P. Geist and Vanessa Modesto and Martin Österling and Nicoletta Riccardi and Ronaldo Sousa and Maria Urbańska}, date = {2023-11}, @@ -44,7 +52,7 @@ } @Article{Robson2009, - author = {Anthony Robson and Gethin R. Thomas and Carlos Garcia {de Leaniz} and Rory Wilson}, + author = {Anthony A. Robson and Gethin R. Thomas and Carlos Garcia {de Leaniz} and Rory P. Wilson}, date = {2009-06}, journaltitle = {Aquatic Biology}, title = {Valve gape and exhalant pumping in bivalves}, @@ -72,7 +80,7 @@ } @Article{Robson2006, - author = {Anthony Robson and Rory Wilson and Carlos Garcia {de Leaniz}}, + author = {Anthony A. Robson and Rory P. Wilson and Carlos Garcia {de Leaniz}}, date = {2006-12}, journaltitle = {Marine Biology}, title = {Mussels flexing their muscles}, @@ -100,6 +108,28 @@ publisher = {Oxford University Press (OUP)}, } +@Book{Rodgers2014, + date = {2014-10}, + title = {The Routledge Companion to Design Research}, + doi = {10.4324/9781315758466}, + editor = {Paul Anthony Rodgers and Joyce Yee}, + isbn = {9781315758466}, + publisher = {Routledge}, + booktitle = {The Routledge Companion to Design Research}, + file = {:Rodgers2014 - The Routledge Companion to Design Research.pdf:PDF}, +} + +@Book{Rodgers2023, + date = {2023-06}, + title = {The Routledge Companion to Design Research}, + doi = {10.4324/9781003182443}, + editor = {Paul Anthony Rodgers and Joyce Yee}, + isbn = {9781003182443}, + publisher = {Routledge}, + booktitle = {The Routledge Companion to Design Research}, + file = {:Rodgers2023 - The Routledge Companion to Design Research.pdf:PDF}, +} + @Comment{jabref-meta: databaseType:biblatex;} @Comment{jabref-meta: fileDirectory-jonas-bastian:/home/jonas/Projects/RUC/LIB/mussel;} @@ -22,32 +22,159 @@ breaks: false --- -# Abstract +# Abstract - Menna -*TODO* +This project explores the development of a prototype voting system +inspired by the natural behavior of freshwater mussels +detected and examined by biomonitoring. +We have defined the prototype as a "research archetype 3", +meaning that the driving force for this project +is illustration and demostration purposes. + +*TODO: come back and write about each step, +OUR THREE REQUIRED COMPONENTS,and a conclusion* + +## Copyright and licensing -*NOTE TO EDITORS: -TODO notes like this are annotations targeted authors and editors; -they are **not** intended for inclusion in the final delivery.* +To encourage collaboration and stimulate a circular gift economy +as introduced by @Mikkelsen2000, +this project is copyleft licensed: +Code parts are licensed +under the GNU Public Licence version 3 or newer, +and non-code parts are licensed +under the Creative Commons crediting share-alike 4.0. -# Introduction +# Introduction - amal -A system in Poland to monitor water treatment plants -uses mussels as bioindicators +In Poland, several waterworks use biomonitoring systems +that rely on freshwater mussels to detect water contamination +by measuring and analysing the mussels' gaping behavior [@FerreiraRodriguez2023]. -The system, SYMBIO, -measures once per second the opening level of 8 freshwater mussels -by way of a magnet glued to each mussel +Our project aims to simulate a similar system. +We will be using Arduino-based hardware and software to do so, +and have additionally made a P5 program to simulate night and day, +which influences the pseudomussels' behaviour (reaction). +We have defined a research question to work around: + +*TODO: in above paragraph, locate page(s) for reference* + +**How do we simulate and visualise an existing biomonitoring technology +to its core purpose** + +*TODO: in above paragraph, "to" feels wrong -- +perhaps the intended meanning was "for"? + +Our simulation is inspired by SYMBIO -- +a biomonitoring system -- +developed by the company PROTE +[@Prote2024]. +The SYMBIO system measures the opening angle of the mussel +once per second, +by using magnets attached to their shells. +Superficially, if the mussels gape is closed, it is a bad sign, +and if it's open, they are happy +and there is no sign of water contamination. +There is a wire from each mussel/magnet that connects to a computer. +The computer then processes the data in following phases: +collect, align, qualify (and analyse) the gaping data, +and then -- +in our understanding of the process -- +treats the now normalized data as votes [@Prote2024]. -If either half of the mussels close rapidly -or one of them remains closed for longer time, -an alarm is triggered and further laboratory tests are done +The threshold we are inspired by for these votes +will be defined in a a later paragraph. +To be more in depth about the mussels behavior, +the gapes are not as simple +as just opening/closing their gap to signal happy/unhappy, +but is more of a behavioural spectrum. +Therefore, if either half of the mussel closes rapidly, +or if a mussel remains closed for a long time, +it indicates contaminated water. +An alarm will then be triggered +and further laboratory tests are done [@Nazaruk2016]. -This project will implement mechanisms like the polish system. +*TODO: in above paragraph, locate page(s) for 2nd and 3rd references* + +To meet this question, +we will be using touch and light sensors +to represent our virtual models on Arduino -- +also referred to as pseudomussels -- +and they should mimic somewhere close to real mussel responses +such as normal behavior or stressed behavior. + +Although our coding logic is inspired +by an existing study and implemenation, +we wish to delineate ourselves from the real-world criterias +that concerns this technology and actual authentic mussel behaviour. + +# Project Planning and theoretical framework - amal og menna + +## Use of course curriculum + +The beggining of our work process +consisted of researching bioindication as a concept +and the associated technology. +Then we tried to define the purpose of our prototype. +Were we interested in the UI/UX design? +or perhaps we wanted to prototype a fitting reaction +that leads to a dramatic output? Should the prototype be useful or +spark reflection? is it merely a state of the art prototype? +Concurrently, we learned about the roles +artefacts can play in the research process, +and used that framework to help define the aim of our project. + + +The following framework, as introduced in @Wensveen2014, +explains how prototypes can serve different purposes +depending on the type of knowledge a project aims to produce. +A *role* consists of characteristics, that helps guide the design process +and scope of the prototype. +There are four roles to choose from, +and we chose to work from the perspective of role number three, +which views the prototype as a research archetype +and tool for critical reflection, +in both a physical and abstract sense +[@Wensveen2014]. + +Next we each did early prototyping and pseudocoding +for about three weeks. +We worked on the sensors and on the voting-logic +and the possible communication-methods between them. +We decided to use API and bluetooth +to connect the sensor-data to the voting program, +that should then create an output. +A further explanation of this process, +will be displayed in the paragraph @sec-user-guide. +We have used the course curriculum +to understand what API is and does, +and the following explanation is an interpretated summary +of where we tried to come up with ways to + +*FIXME: above paragraph is unfinished* + +we did not use the API methods that were on the curriculum, +as we chose a more fluid approach. + +We have three components that has to mentioned shortly +for further understanding: +a + +*FIXME: above paragraph is unfinished* ## Detecting stressful mussel behavior +We wish to expound *some* of the ways that freshwater mussels behave +and how the detection works, +in real-life implementation. +The threshold and logic for our voting-sensor and for our , +is based upon the following + +*FIXME: above paragraph is missing a word after "for our"* + +*TODO: perhaps write every threshold -- inspired or not -- in here. +even why we chose to make the mussels smarter/simpler/cooler/whatever.* + The use of a mussel as biodetector requires distinction between slow-paced valve gaping change (normal), paused valve gaping at the closed position (resting or starved) @@ -70,82 +197,153 @@ and a stressed pace faster than the visualized resolution of about 1 second [@FerreiraRodriguez2023 fig. 2]. -One concrete approach used in @Robson2009 and Robson2010 +One concrete approach used in @Robson2009 and @Robson2010 is to collect data at a sample rate of 0.5 seconds, i.e. 2 hZ, and convert that into gape angle per second (CHIGA) to then monitor gape movement instead of gape position. -## Copyright and licensing +# User Guide (product use) - Tanishka {#sec-user-guide} -To encourage collaboration and stimulate a circular gift economy -as introduced by @Mikkelsen2000, -this project is copyleft licensed: -Code parts are licensed -under the GNU Public Licence version 3 or newer, -and non-code parts are licensed -under the Creative Commons crediting share-alike 4.0. +*TODO* -# Project Planning +# Analysis and Design (physical components) - Menna -*TODO* +The physical setup of our prototype consists +of a simple Arduino-based circuit. +The following components were used: -# Analysis and Design +ESP 32: Runs the core program that simulates mussel behavior, +reads sensor data and outputs voting signals. +The logical parts of the ESP32 used in our setup +include Bluetooth, a touch sensor input, LEDC (LED control) +and a logging system for tracking behavior and communication. -*TODO* +Breadboard: Used to easily connect all components. -# Description of the Program +Jumper Wires: Connect the ESP32 +to the sensors, LED and power/ground rails on the breadboard. +One wire is repurposed as a touch sensor, +detecting when it is touched +and triggering a behavioral change in the simulated mussel. -The system consists of two parts, -the sensor system on each mussel -and the vote handling system... +LED pins: Light up to indicate +if the water quality is good or not. -*TODO* +Light Sensor: Detects environmental input +and triggers a behavioral change in the simulated mussel. -```{.plantuml} -!include Mussel/components.puml -``` +P5: Used to indicate -*TODO* +*FIXME: above paragraph is unfinished* -## Library function `begin()` +# Coding approach - Tanishka -```{.plantuml} -!include Mussel/Mussel_begin.puml -``` +In this paragraph we want to highligt t + +*FIXME: above paragraph is unfinished* + +The goal of the system is to replicate +the behavioral response of mussels under stress, +and translate that into a form of output. +Real-world use of mussels as biosensors relies +on monitoring their behavior to detect environmental stress. +In our project, we simulate this behavior using programmable hardware. -## Library function `read()` +The system is composed of two major components, +the sensor ... the mussels behavior and the vote handling system that collects readings from all mussel instances, evaluates their state and triggers output. + +*TODO: not sure this text passage belongs here, +as it's the program that is interesting in this section* + +*TODO: here we need to introduce the source we know this from, +and to give a little insight +in why there's different roles to choose from* + +*TODO* ```{.plantuml} -!include Mussel/Mussel_read.puml +!include Mussel/components.puml ``` -# User Guide +*TODO: if the plantUML is here, +we should have a text section that explains it also, +and show snippets of our most important/difficult code for each-ish file.* + +The p5.js code shows a button +where, when you press it, it changes from day to night. +This change helps the mussel to know *how to think?* +The p5.js code is connected to the sensor system. +Here it reads the data from the the p5.js and normalizes it. + +*FIXME: above paragraph need revisiting: +It seems wrong that the sun affects mussels' ability to think, +and the P5.js code does not normalize anything -- +probably an interesting and valid point was intended, +but it is unclear with current phrasing what that is. -Concrete use of the library in a sketch involves... *TODO* ## Sensor system ```{.plantuml} -!include Mussel/examples/read_to_EddystoneTLM/read_to_EddystoneTLM.puml +!include sensor/sensor.puml ``` ## Voting system +The voting system is the client that scans after network +to find "is there any beacons here?". +The sensor system is our beacon and it works like a lighthouse. +It sends signals out to say "im here, i exist". +Then Boom! a bluetooth connection is made. + ```{.plantuml} -!include Mussel/examples/voting_from_EddystoneTLM/voting_from_EddystoneTLM.puml +!include vote/vote.puml ``` + *TODO* -# Testing +# Testing - tanishka *TODO* -# Discussion +# Discussion and reflections- jonas -*TODO* +*TODO: discussion about our project +e.g. what could have been included, what we couldn't make +SUGGESTION: reflection/discussion about, +whether used the guide from role 3 archetype +(see course curriculum), +and if it was helpful/right/wrong* -# Conclusion +We have chosen not to use AI in our project. +This is mainly for imitation of the current technology +and for scope purposes. +Although, we have reflected upon how AI could be useful +in an expansion of our prototype +or hypothetically in an existing system. +For an instance, in the future -- +when scientists have analysed and interpreted enough data to feed to a MLM -- +ai could be used for detecting subtle behavioral changes, +that humans would otherwise miss, +or spot patterns that further indicates pollution +or predicts contamination or enviromental stress. + +It could also be put into perspective of surrounding cases, +and through datacentric AI, +it could be visualised like a weatherforecast on a dashboard. +It could be based on patterns +like "When x conditions rise, contamination tends to follow." + +*TODO: in above paragraph, "cases" intents to refer to ANT* + +This hypothesis would come at the cost of a lot of x, +which would be a research question in itself. + +*TODO: in above paragraph, "x" should say something +about consuming a lot of space and resources* + +# Conclusion - menna *TODO* @@ -175,3 +373,4 @@ Concrete use of the library in a sketch involves... ```{.c include="Mussel/examples/seconds/seconds.ino" code-line-numbers="true"} ``` + |