aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2025-04-18 00:23:52 +0200
committerJonas Smedegaard <dr@jones.dk>2025-04-18 00:49:12 +0200
commit031240f883a2822dee70760dc3f76e643978256b (patch)
tree4d1b0de2cfbeacd9cb425ac3665b7fffd6a7dbc2
parent7004616627f21d637793abf9719ce88ee69512cd (diff)
update report content
-rw-r--r--ref.bib34
-rw-r--r--report.qmd301
2 files changed, 282 insertions, 53 deletions
diff --git a/ref.bib b/ref.bib
index a951cf8..dcb6944 100644
--- a/ref.bib
+++ b/ref.bib
@@ -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;}
diff --git a/report.qmd b/report.qmd
index 05c7b60..9f3088b 100644
--- a/report.qmd
+++ b/report.qmd
@@ -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"}
```
+