{"id":11037,"date":"2025-09-30T21:00:25","date_gmt":"2025-09-30T20:00:25","guid":{"rendered":"https:\/\/dronesonen.usn.no\/?p=11037"},"modified":"2025-09-30T21:03:31","modified_gmt":"2025-09-30T20:03:31","slug":"hydrawlics-week-6","status":"publish","type":"post","link":"https:\/\/dronesonen.usn.no\/?p=11037","title":{"rendered":"Hydrawlics &#8211; Week 6"},"content":{"rendered":"\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\n<p>Hello and welcome back!\ud83d\udc4b<br><br>We\u2019ve just wrapped up another week of Sprint 2. Here\u2019s a look at what each of our team members has been working on last week:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/Hydrawlics_Logo.png\" alt=\"\" class=\"wp-image-11068\" style=\"width:499px;height:auto\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/Hydrawlics_Logo.png 1024w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/Hydrawlics_Logo-300x300.png 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/Hydrawlics_Logo-150x150.png 150w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/Hydrawlics_Logo-768x768.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n\n<!--more-->\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Fredrik:<\/h2>\n\n\n\n<p>Last week I started designing a hydraulic cylinder, in order to establish a proof of concept for our hydraulic system. This week I mainly focused on tweaking the design such that it can be produced, and actually building the prototype. These design changes included facilitating o-ring attachments, and reducing the amount of sealed interfaces. The final 3d-model of the cylinder is shown in the picture below.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"454\" data-id=\"11088\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildeTilF1-1024x454.png\" alt=\"\" class=\"wp-image-11088\" style=\"width:259px;height:auto\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildeTilF1-1024x454.png 1024w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildeTilF1-300x133.png 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildeTilF1-768x341.png 768w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildeTilF1.png 1120w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"370\" data-id=\"11089\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildeTilF2-1024x370.png\" alt=\"\" class=\"wp-image-11089\" style=\"width:329px;height:auto\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildeTilF2-1024x370.png 1024w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildeTilF2-300x108.png 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildeTilF2-768x278.png 768w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildeTilF2.png 1167w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/figure>\n\n\n\n<p>I bought a PVC pipe with a diameter of 20mm to use as the base of the cylinder. With the help of Erling, I cut the pieces into the right length, and drilled holes for the ports. For the 3d-printed parts I decided to use PETG, seeing as it is durable and has less moisture absorption than PLA. I needed some adhesive that worked on both PETG and PVC. After some research, I figured my best option was two-component epoxy glue. This is because it will provide a good bond between the two materials, it provides some gap-filling (the two parts don&#8217;t need to be totally flush), and it is easily available to me. This is the first time I have used o-rings for my projects, so it was definitely a learn by failing type of experience. I needed to keep in mind how the o-rings would behave during assembly, while making sure it would still keep a tight seal. This ended up being a highly iterative process, learning something with every iteration.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"413\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildeTilF3-1024x413.png\" alt=\"\" class=\"wp-image-11091\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildeTilF3-1024x413.png 1024w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildeTilF3-300x121.png 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildeTilF3-768x310.png 768w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildeTilF3-1536x620.png 1536w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildeTilF3.png 1788w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>When it was all printed, prepared, and put together, it seemed to work. I have yet to test it fully, but the chambers appear to be sealed, and the structure held together. The cylinder itself has a length of 80mm, and the piston inside the cylinder has a delta reach of 58mm.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"356\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildeTilF4-1024x356.png\" alt=\"\" class=\"wp-image-11092\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildeTilF4-1024x356.png 1024w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildeTilF4-300x104.png 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildeTilF4-768x267.png 768w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildeTilF4.png 1287w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The piston inside the cylinder requires much force to be moved, likely due to the tight fit with the o-rings. To push the piston, roughly 3kg of force is required. The calculations shown in the picture below shows that 1.3 bar is required to push the piston. The pump we have acquired can push up to 9 bar, so this should not be an issue. Next week we will put together the proof of concept for the hydraulic system, hopefully testing if the cylinder works as intended.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"751\" height=\"428\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildetilF5.png\" alt=\"\" class=\"wp-image-11093\" style=\"width:535px;height:auto\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildetilF5.png 751w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildetilF5-300x171.png 300w\" sizes=\"auto, (max-width: 751px) 100vw, 751px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Lisa:<\/h2>\n\n\n\n<p>Last week I continued working on the proof of concept from the week before. For now, the conclusion is to keep both the Raspberry Pi and Arduino in the system. This creates a clear separation of tasks: the Pi handles planning and interfaces, while the Arduino focuses on real-time motor control. We also had a productive meeting with Steven, where we got some sensors to test out!<br><br><strong>Sensor<\/strong><\/p>\n\n\n\n<p>After a meeting with Steven, I got a couple of distance sensors to test. I wanted to see how well they could perform in our setup, so I wired them up on a breadboard and connected a LCD screen to easily visualize the measurements. Setting everything up went fairly smoothly, though the LCD gave me a bit of trouble at first since no text would show up. After some fiddling I realized the backlight was simply too bright, and once I dimmed it down the readings appeared as expected.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>TF Luna (LiDAR):<\/strong> Worked fine overall, but the minimum range was about <em>300 mm<\/em>. That\u2019s not ideal for our needs, since we sometimes need to measure closer distances.<br><\/li>\n\n\n\n<li><strong>HC-SR04 (Ultrasonic):<\/strong> This one could measure much closer and seemed more suitable. The readings did fluctuate slightly, with about \u00b11 mm difference, but overall it felt much more promising.<br><\/li>\n<\/ul>\n\n\n\n<p>I filmed both tests, so check out the videos to see how the sensors behaved in practice;<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video controls src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/IMG_3388.mp4\"><\/video><figcaption class=\"wp-element-caption\"><strong>TF Luna (LiDAR)<\/strong><\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-video\"><video controls src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/IMG_3389.mp4\"><\/video><figcaption class=\"wp-element-caption\"><strong>HC-SR04 (Ultrasonic)<\/strong><\/figcaption><\/figure>\n\n\n\n<p>There\u2019s still one more method I want to try out. That will be my focus next week, along with continuing to evaluate the RPi and Arduino split.<br><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Syver:<\/h2>\n\n\n\n<p>I have done a lot less than I planned this week, due to sickness.<\/p>\n\n\n\n<p>I did get to research the implementation of a captive portal with nodogsplash early this week, but was not able to implement it. The nodogsplash looks like a fitting tool, I only wish it was more actively developed. The development on their git shows old dates, with dated build instructions and suite, so I got stuck debugging build configurations. I think I am close to finding a solution, though.<\/p>\n\n\n\n<p>I was also able to participate in the discussions around selecting sensor type to provide position feedback to the Arduino, and some other group discussions around design decisions.<\/p>\n\n\n\n<p>During the last weeks I was able to complete the tasks scheduled for the two-week sprint ending today, however most were done in the first week, and not this one one. I could definitely have assigned myself a few more tasks had I not been sick. Once I\u2019ve recovered, I\u2019ll take on what I planned to do this week and the coming one, focusing on nodogsplash, GUI user identification and more GUI elements.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Emory:<\/h2>\n\n\n\n<p>This week, I started by checking what needed to be fixed for the coordinates to be correctly placed and drawn. First thing is that all the coordinates are being connected into one continuous polyline, which explains why the drawing looks like this.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"543\" height=\"441\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildeTilE1.png\" alt=\"\" class=\"wp-image-11083\" style=\"width:314px;height:auto\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildeTilE1.png 543w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildeTilE1-300x244.png 300w\" sizes=\"auto, (max-width: 543px) 100vw, 543px\" \/><\/figure>\n\n\n\n<p>So, I had to start by ensuring the coordinates were grouped into different polylines, allowing the drawing to be fully displayed. So I made it so that each polygon would get its own ID, so that the coordinates could be put into the drawing. I also saw that while working, I had doubled the code for no reason, so I removed the second part that did the same thing. After this, I got a lot more coordinates from the drawing, which seemed more correct. Here\u2019s a small selection of what I got.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"556\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildeTilE2-1024x556.png\" alt=\"\" class=\"wp-image-11084\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildeTilE2-1024x556.png 1024w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildeTilE2-300x163.png 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildeTilE2-768x417.png 768w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildeTilE2.png 1311w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Then I made a code just to put the coordinates into to see if they come out correctly, and this is what I got.<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"865\" height=\"682\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildetilE3.png\" alt=\"\" class=\"wp-image-11085\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildetilE3.png 865w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildetilE3-300x237.png 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildetilE3-768x606.png 768w\" sizes=\"auto, (max-width: 865px) 100vw, 865px\" \/><\/figure>\n\n\n\n<p><br><br>Which was closer but still a bit off on what I wanted. Then realised I had a different accuracy than the code for the polygons*,* which is 0,0005 and here it\u2019s 0,01.<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"712\" height=\"747\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildetilE4.png\" alt=\"\" class=\"wp-image-11086\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildetilE4.png 712w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildetilE4-286x300.png 286w\" sizes=\"auto, (max-width: 712px) 100vw, 712px\" \/><\/figure>\n\n\n\n<p>By changing this, I got the result I was looking for. I also flipped the x, y to y, x for the image not to appear upside down.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"832\" height=\"673\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildeTilE5.png\" alt=\"\" class=\"wp-image-11087\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildeTilE5.png 832w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildeTilE5-300x243.png 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/BildeTilE5-768x621.png 768w\" sizes=\"auto, (max-width: 832px) 100vw, 832px\" \/><\/figure>\n\n\n\n<p>Now this is a good start for the coordinates that the robot can use to draw from. A possible future improvement of this would be to make it simpler so that the robot doesn\u2019t have to draw more than necessary for the image to be recognisable.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Erling:<\/h2>\n\n\n\n<p>This week i have been feeling under the weather, therefore my progress on the project has been a bit lacking.<\/p>\n\n\n\n<p>I have modeled and 3Dprinted a version of a 4\/3 hydraulic valve for our proof of concept for the system.<\/p>\n\n\n\n<p>A 4\/3 valve in hydraulics is a direction control valve that has four ports and three stable states. These come in several variants, the one we need is either a 4\/3 pressure center or a 4\/3 bypass center. Both will work in our application.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"925\" height=\"248\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/4_3-valves.png\" alt=\"\" class=\"wp-image-11062\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/4_3-valves.png 925w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/4_3-valves-300x80.png 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/4_3-valves-768x206.png 768w\" sizes=\"auto, (max-width: 925px) 100vw, 925px\" \/><\/figure>\n\n\n\n<p>The solution with 4\/3 valves was chosen on background of the simulations from the last week as it is the best way for us to control a hydraulic cylinder. This judgement is based on both complexity and on cost. We would like to purchase on borrow these valves as they are very important to our system and need to function without leakage. After hearing with the school, we havent found a source of parts, and decided that in order for our system to work the way we intend and not be too costly, we have to make all the hydraulic equipment by ourselves.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"315\" height=\"420\" data-id=\"11063\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/4_3-fwd.png\" alt=\"\" class=\"wp-image-11063\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/4_3-fwd.png 315w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/4_3-fwd-225x300.png 225w\" sizes=\"auto, (max-width: 315px) 100vw, 315px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"310\" height=\"374\" data-id=\"11065\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/4_3-mid.png\" alt=\"\" class=\"wp-image-11065\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/4_3-mid.png 310w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/4_3-mid-249x300.png 249w\" sizes=\"auto, (max-width: 310px) 100vw, 310px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"165\" height=\"220\" data-id=\"11064\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/09\/4_3-reverse.png\" alt=\"\" class=\"wp-image-11064\" \/><\/figure>\n<\/figure>\n\n\n\n<p>Left to right: forward position, Neutral(pressure) position, Reverse position.<\/p>\n\n\n\n<p>For sealing elements, we are using O-rings from a kit from Biltema that was purchased privately for another project. This is the most accessible way for us to have static and dynamic seals that hold our intended pressures. We also have access to flat rubber mat that might be suitable for an axial seal if we need to have that type in future components.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" \/>\n\n\n\n<p class=\"has-text-align-center\">That\u2019s all for now, see you next week!<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hello and welcome back!\ud83d\udc4b We\u2019ve just wrapped up another week of Sprint 2. Here\u2019s a look at what each of our team members has been working on last week:<\/p>\n","protected":false},"author":116,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-11037","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts\/11037","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/users\/116"}],"replies":[{"embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=11037"}],"version-history":[{"count":10,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts\/11037\/revisions"}],"predecessor-version":[{"id":11097,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts\/11037\/revisions\/11097"}],"wp:attachment":[{"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=11037"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11037"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11037"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}