report:dvp

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
report:dvp [2026/05/16 22:06] – [7.5 Prototype] team5report:dvp [2026/05/28 10:05] (current) – [7.4 Design] team5
Line 87: Line 87:
  
 
The web interface, accessible via QR code, is designed in a minimalist style. After scanning the QR code, users are redirected to the web application's landing page. The CONNECT logo takes center stage here, accompanied by two clickable buttons that lead to the subsequent sections. Within the app, users can choose between composing a message for others or viewing messages written by the community. Our primary focus was to keep the application as simple as possible; we wanted to ensure that both young and old users can navigate it effortlessly. By eliminating the need for logins or complex navigation, we’ve made the experience accessible and time-efficient for everyone. 
The web interface, accessible via QR code, is designed in a minimalist style. After scanning the QR code, users are redirected to the web application's landing page. The CONNECT logo takes center stage here, accompanied by two clickable buttons that lead to the subsequent sections. Within the app, users can choose between composing a message for others or viewing messages written by the community. Our primary focus was to keep the application as simple as possible; we wanted to ensure that both young and old users can navigate it effortlessly. By eliminating the need for logins or complex navigation, we’ve made the experience accessible and time-efficient for everyone.
 +
 == 7.4.1 Structure == == 7.4.1 Structure ==
 +
 Figures {{ref>fig:initial_drawing}}, {{ref>fig:final_drawings}}, and {{ref>fig:final_final_drawings}} present the evolution of the structural design across successive iterations. Each version reflects an increase in geometric precision, component integration, and manufacturability, progressing from early conceptual layouts to a fully defined enclosure suitable for system integration. Figures {{ref>fig:initial_drawing}}, {{ref>fig:final_drawings}}, and {{ref>fig:final_final_drawings}} present the evolution of the structural design across successive iterations. Each version reflects an increase in geometric precision, component integration, and manufacturability, progressing from early conceptual layouts to a fully defined enclosure suitable for system integration.
  
Line 112: Line 114:
  
 The transition from preliminary sketches to detailed structural drawings (see Figure {{ref>fig:final_final_drawings}}) marked a key milestone in the project. At this stage, the spatial constraints of all subsystems were clearly defined, including the placement of electronic components, routing of wiring, and mounting strategy. This enabled the development of a specialized Bill of Materials (BoM), as presented in Table {{ref>components_ideal}}, where component selection was directly informed by mechanical, environmental, and regulatory requirements. The transition from preliminary sketches to detailed structural drawings (see Figure {{ref>fig:final_final_drawings}}) marked a key milestone in the project. At this stage, the spatial constraints of all subsystems were clearly defined, including the placement of electronic components, routing of wiring, and mounting strategy. This enabled the development of a specialized Bill of Materials (BoM), as presented in Table {{ref>components_ideal}}, where component selection was directly informed by mechanical, environmental, and regulatory requirements.
 +
 +<WRAP centeralign>
 +<figure fig:3d_model_idealVersion>
 +{{ :report:3dmodel_metrocarriage.jpeg?direct&800 | Final drawing}}
 +<caption>3D spatial visualization of the fully integrated Connect system within the standard Porto Metro carriage architecture</caption>
 +</figure>
 +</WRAP>
 +
 +To complement the mechanical drawings, the contextual 3D model (see Figure {{ref>fig:3d_model_idealVersion}}) illustrates how the physical framework populates the public space. This visualization confirms that the physical hardware respects the clearance boundaries required for passengers in a moving train, validating the scaling from a standalone enclosure to a macro-level vehicle installation.
  
 Three primary constraints shaped the structural design: enclosure material selection and regulatory compliance, integration of communication hardware within a constrained geometry, and accommodation of power distribution components. Three primary constraints shaped the structural design: enclosure material selection and regulatory compliance, integration of communication hardware within a constrained geometry, and accommodation of power distribution components.
Line 153: Line 164:
 </WRAP> </WRAP>
 </table> </table>
-(//iv//) 3D model with load and stress analysis; + 
-(//v//) colour palette.+ **Structural Stress and Robustness Analysis** 
 + 
 +To guarantee the physical integrity of the distributed hardware infrastructure and validate compliance with strict public transit conditions, Finite Element Analysis (FEA) linear static simulations were conducted within SimScale. The analysis targeted the specific configurations of the ideal deployment, evaluating the mechanical behavior of both the ceiling-mounted Main Box and the vertical pole-mounted Secondary Node under operational stress and anti-vandalism scenarios (such as passenger impacts or sudden handrail load shifts). Both enclosures were modeled using the properties of the specialized Nanovia PA Rail (Polyamide) compound specified in Table {{ref>components_ideal}}. 
 + 
 +For the ceiling-mounted Main Box, mechanical fixtures (Fixed Support) were applied directly to the internal cylindrical surfaces of the mounting bolt holes, replicating a rigid steel-fastened connection to the carriage ceiling framework. A distributed static structural load of 100 N was applied perpendicular to the lower face of the enclosure, simulating the mechanical force transmitted through the central support pole when handled by passengers.  
 + 
 +As displayed in the optimized Von Mises stress plots for the Main Box (see Figure {{ref>fig:fea_main_interior}} and Figure {{ref>fig:fea_main_exterior}}), the visualization scale was tightly bounded to a maximum of 2.0 MPa ($2.0 \times 10^6\text{ Pa}$) to map the precise path of stress propagation across the enclosure's geometry. The structural tension smoothly gradients from the safe, low-stress outer walls (blue zones) and securely concentrates around the anchoring junctions and sharp internal mounting features (green to red zones). Even with the absolute peak localized stress reaching 3.99 MPa ($3.993 \times 10^6\text{ Pa}$) at the sharpest geometric interfaces, the entire infrastructure operates significantly below the yield strength threshold of industrial Polyamide (which typically spans between 50 MPa and 70 MPa), yielding an exceptional safety factor greater than 12.0. 
 + 
 +<WRAP centeralign> 
 +<figure fig:fea_main_interior> 
 +{{ :report:main_box_front.png?direct&800 | FEA Main Box Internal Stress Map}} 
 +<caption>Top View of Von Mises stress distribution on the main ceiling-mounted PA Rail housing under a 100 N distributed load</caption> 
 +</figure> 
 +</WRAP> 
 + 
 +<WRAP centeralign> 
 +<figure fig:fea_main_exterior> 
 +{{ :report:main_box_down.png?direct&800 | FEA Main Box External Stress Map}} 
 +<caption>Bottom view of the main housing Von Mises stress distribution around the central pole interface junction</caption> 
 +</figure> 
 +</WRAP> 
 + 
 +Simultaneously, the pole-mounted Secondary Node enclosure was subjected to an identical validation process to evaluate its resistance to direct side impacts and handling stress. Fixed support constraints were allocated to its interior hardware mounting bosses, while a 100 N impact-equivalent load was distributed across its interactive face shell.  
 + 
 +As shown in Figure {{ref>fig:fea_secondary_exterior}} and Figure {{ref>fig:fea_secondary_interior}}, the stress distribution follows a highly stable path. Due to the smoothed filleted edges of the enclosure, stress accumulation is minimized, with minor localized concentrations rising around the rectangular cutouts and transitional fillets, reaching a maximum value of approximately 1.60 MPa ($1.6 \times 10^6\text{ Pa}$). This configuration leaves the internal electronic component mounts completely isolated from external physical strain. Operating with an implied safety factor exceeding 30.0 against the material's elastic limit, the secondary enclosure demonstrates outstanding structural resilience. 
 + 
 +<WRAP centeralign> 
 +<figure fig:fea_secondary_exterior> 
 +{{ :report:pole_box_down.png?direct&800 | FEA Secondary Node Exterior Stress Map}} 
 +<caption>Bottom View with Von Mises stress distribution on the pole-mounted secondary node showing stress paths around geometric features</caption> 
 +</figure> 
 +</WRAP> 
 + 
 +<WRAP centeralign> 
 +<figure fig:fea_secondary_interior> 
 +{{ :report:pole_box_front.png?direct&800 | FEA Secondary Node Interior Stress Map}} 
 +<caption>Top view of the secondary node simulation highlighting the stress isolation achieved inside the electronic casing compartment</caption> 
 +</figure> 
 +</WRAP> 
 + 
 +The combined mathematical results from these FEA studies definitively validate the housing architectures against intense public interaction, deliberate vandalism, and the continuous mechanical vibrations typical of the Porto Metro transport ecosystem, proving that no further geometric optimisations are required before prototyping phases.
  
  
Line 215: Line 266:
 <WRAP centeralign> <WRAP centeralign>
 <figure fig:sensor_schematic> <figure fig:sensor_schematic>
-{{ :report:EPS-velostat-schematicV3.svg?direct&600 |}}+{{ :report:eps-velostat-schematicv3.svg?direct&600 |}}
 <caption>Sensor Node Schematic Diagram</caption> <caption>Sensor Node Schematic Diagram</caption>
 </figure> </figure>
 </WRAP> </WRAP>
  
-The node includes an ESP32-C3 Microcontroller (Wemos C3 Mini) and an MCP2551 CAN Transceiver. A 10kΩ potentiometer is included to allow manual calibration of the sensor's sensitivity range. To ensure network versatility, the PCB includes a selectable jumper for the 120 Ω termination resistor. This allows the same PCB design to be used at any position in the bus, enabling termination only on the physical end-nodes of the network to prevent signal reflections. As shown in Figure {{ref>fig:velostatpcb_v2}}, the PCB is designed to be embedded directly into a box that would be attached to the handrail structure for minimal visual impact and high mechanical robustness.+The node includes an ESP32-C3 Microcontroller (Wemos C3 Mini) and an MCP2551 CAN Transceiver. A 10kΩ potentiometer is included to allow manual calibration of the sensor's sensitivity range. To ensure network versatility, the PCB includes a selectable jumper for the 120 Ω termination resistor. This allows the same PCB design to be used at any position in the bus, enabling termination only on the physical end-nodes of the network to prevent signal reflections. As shown in Figure {{ref>fig:velostatpcb_v3}}, the PCB is designed to be embedded directly into a box that would be attached to the handrail structure for minimal visual impact and high mechanical robustness.
  
 <WRAP centeralign> <WRAP centeralign>
-<figure fig:velostatpcb_v2+<figure fig:velostatpcb_v3
-{{ :report:velostatpcb_v2.png?direct&400 |}}+{{ :report:velostatpcb_v3.png?direct&400 |}}
 <caption>Sensor Node PCB Layout</caption> <caption>Sensor Node PCB Layout</caption>
 </figure> </figure>
Line 237: Line 288:
 <WRAP centeralign> <WRAP centeralign>
 <figure fig:central_schematic> <figure fig:central_schematic>
-{{ :report:eps-leds-schematicv3.svg?direct&600 |}}+{{ :report:eps-velostat-schematicv3.svg?direct&600 |}}
 <caption>Central Node Schematic Diagram</caption> <caption>Central Node Schematic Diagram</caption>
 </figure> </figure>
 </WRAP> </WRAP>
  
-As shown in Figure {{ref>fig:ledpcb_v2}}, this PCB consolidates communication and actuation. It features a dedicated WS2812B LED Control port with a 330Ω resistor (R1) in series to protect the data line and ensure signal integrity.+As shown in Figure {{ref>fig:ledpcb_v3}}, this PCB consolidates communication and actuation. It features a dedicated WS2812B LED Control port with a 330Ω resistor (R1) in series to protect the data line and ensure signal integrity.
  
 <WRAP centeralign> <WRAP centeralign>
-<figure fig:ledpcb_v2+<figure fig:ledpcb_v3
-{{ :report:ledpcb_v2.png?direct&400 |}}+{{ :report:ledpcb_v3.png?direct&400 |}}
 <caption>Central Node PCB Layout</caption> <caption>Central Node PCB Layout</caption>
 </figure> </figure>
Line 338: Line 389:
   * This allows the boxes to click together like Lego bricks, locking firmly in place when stacked.   * This allows the boxes to click together like Lego bricks, locking firmly in place when stacked.
  
-**Tolerance-Based Closure:** To secure the lid without any additional materials, we utilise precise manufacturing tolerances. Because cork is naturally slightly compressible, the 1 cm inner portion of the lid is designed to fit snugly inside the box. The material compresses slightly when pushed closed, holding the lid firmly in place via natural friction. This eliminates the need for tape, glue, or metal fasteners, ensuring the packaging remains 100% monomaterial and truly sustainable.+**Tolerance-Based Closure:** To secure the lid without any additional materials, we utilise precise manufacturing tolerances. Because cork is naturally slightly compressible, the 1 cm inner portion of the lid is designed to fit snugly inside the box. The material compresses slightly when pushed closed, holding the lid firmly in place via natural friction. This eliminates the need for tape, glue, or metal fasteners, ensuring the packaging remains 100 % monomaterial and truly sustainable.
  
 **Structural Reinforcement: The 'Cross-Support' System** To ensure a seamless transition from transport packaging to durable public furniture, the internal structure is specifically reinforced. While cork is naturally robust, the intensive demands of a busy metro environment require additional load-bearing capacity for long-term use. **Structural Reinforcement: The 'Cross-Support' System** To ensure a seamless transition from transport packaging to durable public furniture, the internal structure is specifically reinforced. While cork is naturally robust, the intensive demands of a busy metro environment require additional load-bearing capacity for long-term use.
Line 347: Line 398:
   * **Load Integrity:** This internal bracing ensures the units can easily support the weight of an adult, preventing any deformation or structural fatigue during its second life in the 'Social Hub'.   * **Load Integrity:** This internal bracing ensures the units can easily support the weight of an adult, preventing any deformation or structural fatigue during its second life in the 'Social Hub'.
  
-{{ :report:packaging_solution_box.jpg?direct&400 |}} {{ :report:render_1.png?direct&400 |}}+Figure {{ref>fig:packaging_box_structural}} presents a structural drawings of our packaging. 
 + 
 +<WRAP centeralign> 
 +<figure fig:packaging_box_structural> 
 + {{ :report:render_1.png?direct&400 |}} 
 +<caption>Packaging drafts</caption> 
 +</figure> 
 +</WRAP> 
 + 
 +Figure {{ref>fig:packaging_box}} presents a 3D model of our packaging. 
 + 
 +<WRAP centeralign> 
 +<figure fig:packaging_box> 
 +{{ :report:packaging_solution_box.jpg?direct&400 |}} 
 +<caption>Packaging box</caption> 
 +</figure> 
 +</WRAP>
  
 **2. Secondary Function: The 'Social Hub'** **2. Secondary Function: The 'Social Hub'**
Line 360: Line 427:
   * **Scattered Islands:** In busier areas, the stools can be split into smaller, intimate arrangements of three or four seats.   * **Scattered Islands:** In busier areas, the stools can be split into smaller, intimate arrangements of three or four seats.
  
 +Figure {{ref>fig:packaging_solution}} is a poster which present our packaging solution in detail.
  
-**Temporary:** +<WRAP centeralign> 
-Contents of a following pdf describes our packaging solution {{ :report:packaging_1_.pdf | Packaging solution}} +<figure fig:packaging_solution>
 {{ :report:group_05_packaging.png?direct |}} {{ :report:group_05_packaging.png?direct |}}
 +<caption>Packaging solution</caption>
 +</figure>
 +</WRAP>
 ==== 7.5 Prototype ==== ==== 7.5 Prototype ====
  
-Refer main changes in relation to the designed solution.+The prototype constitutes a deliberate functional reduction of the full designed solution. Rather than replicating the complete metro-carriage installation, it validates the core interaction loop — pressure sensing, CAN bus communication, and LED feedback — on a single handrail segment with two nodes. Total prototype cost is 97.92 €, within the 100 € budget constraint. 
 + 
 +== 7.5.1 Structure == 
 + 
 +The designed solution specifies eleven ESP32-C3 nodes distributed across a full carriage, housed in PA Rail enclosures rated for EN 45545-2 fire compliance. This is reduced in the prototype to two nodes covering one handrail segment. The two-node configuration is sufficient to verify bidirectional CAN bus communication and the shared LED response behaviour without requiring the full network topology. 
 + 
 +The PA Rail enclosures are replaced entirely. Sourcing a fire-rated enclosure from a non-Portuguese supplier (Nanovia, FR) was impractical within the budget at 69.30 € per unit. The prototype housing is instead 3D-printed in PLA using university facilities. PLA is biodegradable and structurally adequate for a lab context, but is not fire-rated and would not meet EN 45545-2 requirements in a deployed installation. The enclosure geometry follows the structural draft. 
 + 
 +The sensor array is scaled proportionally. The designed solution uses fifteen Velostat sheets and fifteen copper tape rolls, one per handrail grip position. The prototype uses two Velostat sheets and a single copper tape roll, covering both nodes. The LED strip is reduced from three 2-metre addressable strips to one 1-metre WS2813 strip with a diffuser profile, sufficient to demonstrate the full colour-gradient feedback mechanic. 
 + 
 +The dual power rail (12 V and 5 V) with six step-down converters is replaced by a single 5 V / 4 A bench supply, eliminating the 12 V distribution chain. This is compatible with the WS2813 strip, which is rated for 5 V operation, and with the ESP32-C3 and MCP2551 supply requirements. 
 + 
 +The table below summarises the structural differences: 
 +<table> 
 +<caption>Comparison of components for ideal version and the prototype</caption> 
 +<WRAP center box round 600px> 
 +^ Parameter              ^ Designed Solution         ^ Prototype                        ^ 
 +| Nodes                  | 11                        | 2                                | 
 +| Handrail segments      | Full carriage             | Single segment                   | 
 +| Enclosure              | PA Rail (EN 45545-2)      | 3D-printed PLA                   | 
 +| Velostat sensors       | 15                        | 2                                | 
 +| LED strip length       | 3 × 2 m                   | 1 × 1 m                          | 
 +| Power architecture     | Dual rail (12 V + 5 V)    | Single 5 V / 4 A supply          | 
 +| CAN transceivers       | 10                        | 2                                | 
 +| Total cost             | 767.01 €                  | 97.92 €                          | 
 +</WRAP> 
 +</table> 
 +The following images show the design for the planned physical prototype.
  
-== 7.5.1 Structure === 
-Detail and explain any changes made in relation to the designed solution, including structural downscaling, different materials, parts, etc. 
  
 == 7.5.2 Hardware == == 7.5.2 Hardware ==
-Detail and explain any change made in relation to the designed solution. + 
-In case there are changes regarding the hardware, present the detailed schematics of the prototype.+The core hardware architecture is unchanged: each node consists of an ESP32-C3 (XIAO form factor) with an MCP2551 CAN transceiver. The interrupt-driven sensing and CAN frame transmission firmware runs identically on both prototype nodes and would scale to the full eleven-node network without modification. 
 + 
 +The following hardware changes apply to the prototype specifically: 
 + 
 +LED strip: The designed solution references a 5 V addressable RGB strip sourced from Amazon (€30.49 per unit). The prototype uses the Seeed WS2813 1 m strip (11.27 €), which uses the same WS2813 protocol and is therefore firmware-compatible. A sliding opaque diffuser profile is added to soften the LED output, which was absent from the designed solution BOM
 + 
 +Power supply: The ideal BOM includes dedicated Mean Well-class step-down converters for 12 V and 5 V rails, sized for worst-case current draw across all nodes. The prototype uses a single 5 V / 4 A wall adapter (11.75 €) connected via a barrel jack screw terminal adapter. This supply is adequate for two nodes and one LED strip but would not scale to the full installation. 
 + 
 +Potentiometer: A 10 kΩ linear potentiometer (0.49 €) is added to the prototype to allow manual simulation of varying pressure on the sensor input during development and demonstration, independent of physical contact on the Velostat. 
 + 
 +CAN bus wiring: The prototype makes explicit a 2 × 1.0 mm twisted-pair speaker cable (2.20 €) as the CAN bus physical medium. This is not listed as a separate line item in the ideal BOM, where structured cabling would be integrated into the enclosure installation. 
 + 
 +The schematic below shows the complete prototype circuit for one node. Both nodes are electrically identical; the second node connects to the same CAN bus and 5 V power rail. 
 + 
 +ADD PICS FOR PROTOTYPE
  
 == 7.5.3 Software == == 7.5.3 Software ==
Line 429: Line 538:
 <caption>Request performance overview</caption> <caption>Request performance overview</caption>
 <WRAP center round box 600px> <WRAP center round box 600px>
-^ Request ^ Size (kB) ^ Latency (ms) ^ URL ^ +^ Request ^  Size (kB)   Latency (ms)  ^ URL ^ 
-| Read | 3.65 | 165 | https://metro-voices.vercel.app/read | +| Read |  3.65   165  | https://metro-voices.vercel.app/read | 
-| Send | 3.61 | 367 | https://metro-voices.vercel.app/send |+| Send |  3.61   367  | https://metro-voices.vercel.app/send |
 </WRAP> </WRAP>
 </table> </table>
Line 440: Line 549:
 <caption>Load testing results</caption> <caption>Load testing results</caption>
 <WRAP center round box 600px> <WRAP center round box 600px>
-^ Number of requests ^ Error rate (%) ^ μ ± σ (ms) ^ +^ Number of requests ^ Error rate (%)   μ ± σ (ms) ^ 
-| 1 | 0 | 367 ± 0 | +| 1 | 0 |  367 ± 0 | 
-| 10 | 0 | 81.5 ± 53.62 | +| 10 | 0 |  81.5 ± 53.62 | 
-| 100 | 0 | 124.97 ± 87.26 | +| 100 | 0 |  124.97 ± 87.26 | 
-| 1000 | 0 | 195.77 ± 102.69 |+| 1000 | 0 |  195.77 ± 102.69 |
 </WRAP> </WRAP>
 </table> </table>
Line 454: Line 563:
 <caption>SUS evaluation results (n = 11)</caption> <caption>SUS evaluation results (n = 11)</caption>
 <WRAP center round box 600px> <WRAP center round box 600px>
-^ Metric ^ Value ^ +^ Metric ^  Value ^ 
-| Mean SUS score | 86.59 | +| Mean SUS score |  86.59 | 
-| Standard deviation | 14.93 | +| Standard deviation |  14.93 | 
-| Min / Max | 42.5 / 100.0 | +| Min / Max |  42.5 /  100.0 | 
-| Responses above 68 | 10 / 11 |+| Responses above 68 |  10 /  11 |
 </WRAP> </WRAP>
 </table> </table>
Line 467: Line 576:
 <caption>Per-question response means (1–5 scale)</caption> <caption>Per-question response means (1–5 scale)</caption>
 <WRAP center round box 600px> <WRAP center round box 600px>
-^ Question ^ Item ^ Polarity ^ μ ^ σ ^+^ Question ^ Item ^ Polarity ^  μ   σ  ^
 | Q1 | I think that I would like to use this system frequently | Positive | 4.36 | 0.92 | | Q1 | I think that I would like to use this system frequently | Positive | 4.36 | 0.92 |
 | Q2 | I found the system unnecessarily complex | Negative | 1.45 | 0.52 | | Q2 | I found the system unnecessarily complex | Negative | 1.45 | 0.52 |
Line 480: Line 589:
 </WRAP> </WRAP>
 </table> </table>
 +
 +**Unit testing**\\
 +The API route handler for /api/messages was tested using Jest. The test suite covers both the GET and POST endpoints, with five test cases: returning a random message when data exists, returning null when no messages are stored, returning HTTP 500 on a Supabase error, returning the AI filter response on a successful POST, and returning HTTP 500 when the fetch call throws an error. All five tests passed in 0.277 seconds, as shown in Figure 33, which confirms that the route logic handles both normal use and error conditions as expected.
 +
 +
 +<WRAP centeralign>
 +<figure fig:jest-test>
 +{{ :report:jest-test.png?800 | Figure 33: test results in terminal}}
 +<caption>Test results in terminal</caption>
 +</figure>
 +</WRAP>
 ==== 7.7 Summary ==== ==== 7.7 Summary ====
  
  • report/dvp.1778965595.txt.gz
  • Last modified: 2026/05/16 22:06
  • by team5