{"id":8621,"date":"2023-11-20T15:32:24","date_gmt":"2023-11-20T14:32:24","guid":{"rendered":"https:\/\/dronesonen.usn.no\/?p=8621"},"modified":"2023-11-20T15:48:48","modified_gmt":"2023-11-20T14:48:48","slug":"turret-syndrome-final-week","status":"publish","type":"post","link":"https:\/\/dronesonen.usn.no\/?p=8621","title":{"rendered":"Turret Syndrome &#8211; Final Week"},"content":{"rendered":"\n<h2 class=\"has-text-align-center wp-block-heading\">Final videos<\/h2>\n\n\n\n<p>As we approach the final week, most parts of the system are finished. Like the previous weeks, this week has focused on testing and benchmarking the system.<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video controls src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2023\/11\/IMG_0077.mov\"><\/video><figcaption class=\"wp-element-caption\">Manual mode<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-video\"><video controls src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2023\/11\/IMG_0079.mov\"><\/video><figcaption class=\"wp-element-caption\">Autonomous aiming<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-video\"><video controls src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2023\/11\/IMG_0081.mov\"><\/video><figcaption class=\"wp-element-caption\">Firing<\/figcaption><\/figure>\n\n\n\n<p>We&#8217;ve done some safety tests with different backdrops and found foam packing insulator to be a good fit. The foam is light enough to allow some penetration of the projectile &#8211; so that it doesn&#8217;t break &#8211; but firm enough to stop the projectile with one segment.<\/p>\n\n\n\n<h2 class=\"has-text-align-center wp-block-heading\">Hannes Weigel<\/h2>\n\n\n\n<h4 class=\"has-text-align-center wp-block-heading\">Raspberry Pi Touchscreen Box<\/h4>\n\n\n\n<p>We use a touchscreen as part of our interface to the Raspberry Pi 4, we needed a more suitable enclosure since the display ribbon cable is quite fragile.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"490\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2023\/11\/image-96-1024x490.png\" alt=\"\" class=\"wp-image-8630\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2023\/11\/image-96-1024x490.png 1024w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2023\/11\/image-96-300x143.png 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2023\/11\/image-96-768x367.png 768w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2023\/11\/image-96-1536x734.png 1536w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2023\/11\/image-96.png 1966w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>This is plate that mounts onto the backside of the touchscreen giving it some shielding for the internal components.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"511\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2023\/11\/image-95-1024x511.png\" alt=\"\" class=\"wp-image-8629\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2023\/11\/image-95-1024x511.png 1024w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2023\/11\/image-95-300x150.png 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2023\/11\/image-95-768x383.png 768w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2023\/11\/image-95-1536x766.png 1536w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2023\/11\/image-95-2048x1021.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>To make the entire package more transportable, an enclosure for the actual Raspberry Pi is screwed on the backside of aforementioned plate. <\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2023\/11\/image-97-763x1024.png\" alt=\"\" class=\"wp-image-8631\" width=\"385\" height=\"516\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2023\/11\/image-97-763x1024.png 763w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2023\/11\/image-97-223x300.png 223w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2023\/11\/image-97-768x1031.png 768w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2023\/11\/image-97-1144x1536.png 1144w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2023\/11\/image-97.png 1388w\" sizes=\"auto, (max-width: 385px) 100vw, 385px\" \/><\/figure>\n\n\n\n<h2 class=\"has-text-align-center wp-block-heading\">Christopher Daffinrud<\/h2>\n\n\n\n<p>In this final week of our system before posting this last blog post, our focus was around testing and finalizing the Turret System. The videos are posted at the top of this blog post. I also made some adjustments to better accommodate the end product:<\/p>\n\n\n\n<p><strong>Resize GUI for Pi Display:<\/strong><\/p>\n\n\n\n<p>One adjustment needed was to resize the Tkinter GUI to properly fit the Raspberry Pi Display. Since the GUI doesn\u2019t automatically adjust widgets and the camera feed for smaller screens, I needed to make adjustments and manually resize different elements in the GUI class to properly fit the Raspberry Pi Display.<\/p>\n\n\n\n<p><strong>12V to 5V troubleshooting:<\/strong><\/p>\n\n\n\n<p>I collaborated with Mats and Harald as well this week, addressing issues related to our 12V to 5V converter.&nbsp;<\/p>\n\n\n\n<p><strong>Iterating on our Class Diagram:<\/strong><\/p>\n\n\n\n<p>In response to changes introduced during the implementation of motor control on the Arduino Nano, I revised our class diagram. The updated diagram reflects alterations in member variables and the connection between the PiControll class and communication with the Nano.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-us.googleusercontent.com\/EfRhPt-6LBQjzwJENjme0b3RI_Zrsc5afrU2VObnKvdEPzpgCkObaj_NvYD9hIsCuys1DXd8nXxBZA9l3Ip14LVPmwRwJ6EJ0RbLLZvY2LLizMRlHucrWSN3Iv34C8-wCI54DhUHb3AOFbFvr3RB2c0\" alt=\"\" \/><figcaption class=\"wp-element-caption\">Class Diagram for our Turret System software<\/figcaption><\/figure>\n\n\n\n<p><strong>Documentation for Doxygen:<\/strong><\/p>\n\n\n\n<p>Ole and I utilize Doxygen for documenting our classes and functions. I spent some time this week to ensure proper documentation, especially in classes I have done most work: PiController, Camera and GUI.<\/p>\n\n\n\n<p>Here is a link for a PDF with our software documentation:<\/p>\n\n\n\n<div data-wp-interactive=\"core\/file\" class=\"wp-block-file\"><object data-wp-bind--hidden=\"!state.hasPdfPreview\" hidden class=\"wp-block-file__embed\" data=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2023\/11\/turretsystemsoftware.pdf\" type=\"application\/pdf\" style=\"width:100%;height:600px\" aria-label=\"Embed of turretsystemsoftware.\"><\/object><a id=\"wp-block-file--media-fb32980a-1f05-472f-87cd-4baa7c288d80\" href=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2023\/11\/turretsystemsoftware.pdf\">turretsystemsoftware<\/a><a href=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2023\/11\/turretsystemsoftware.pdf\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-fb32980a-1f05-472f-87cd-4baa7c288d80\">Download<\/a><\/div>\n\n\n\n<h2 class=\"has-text-align-center wp-block-heading\">Mats Bergum<\/h2>\n\n\n\n<p>Unfortunately, the Raspberry Pi would not boot correctly. Thus, some time was used to find the problem. First, we thought that the problem was in the regulator I manufacturer. However, I later found out that, for some reason, the Raspberry Pi would not boot using the power pins. So, by routing the power through a USB C, it finally started properly.<\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh7-us.googleusercontent.com\/aDYMzApvyC_K6scn7rx5CuALHoDPsm8ST3D5rBmXf_P5DDuzYESxgCyXL-oSPMWXfuJbIuTrb6L8X9jP2LCSxLS_BDgNyDsUcJW8aOp9ViNXNJSpeApcNNjS0S_qNSXfTjKpcFC-sul4pjBxRIzLUxg\" width=\"575\" height=\"766\"><\/p>\n\n\n\n<figure class=\"wp-block-video\"><video controls src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2023\/11\/403373714_7030833673603910_3991238243534703649_n.mp4\"><\/video><\/figure>\n\n\n\n<p>After resolving that issue, I could finally power the complete system from battery power. It seemed to work. However, when trying to use the motors, it was apparent that the battery we had acquired could not meet the power demand. With the tight schedule, getting a battery with the necessary capacity will not be possible.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2023\/11\/image-124-768x1024.png\" alt=\"\" class=\"wp-image-8708\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2023\/11\/image-124-768x1024.png 768w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2023\/11\/image-124-225x300.png 225w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2023\/11\/image-124-1152x1536.png 1152w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2023\/11\/image-124-1536x2048.png 1536w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/figure>\n\n\n\n<h2 class=\"has-text-align-center wp-block-heading\">Harald Berzinis<\/h2>\n\n\n\n<p>What a week! Started this week with tidying up the trigger mechanism wiring, and rewiring to match the new pins. We found out that we could not use a single nano for controlling both the trigger mechanism and the motor controllers, this is due to the library for motor control and servo started to interfere with each other. The solution for this was to use two nanos dedicated for each task.&nbsp;<\/p>\n\n\n\n<h4 class=\"has-text-align-center wp-block-heading\">Initial CAD design &#8211; Camera Mount<\/h4>\n\n\n\n<p>I have designed a new camera mount with modularity for adjustments in mind. I have reused the old iteration of the main rail, so the new design builds on top of the old one. I will be using M3 bolts and nuts to secure and fit the camera. I have made insertions in the model to insert the head and nut as showcased in the pictures below. This is in order to remove unwanted movement and to make sure that the bolt is properly fastened. In addition, the camera module can also be rotated and adjusted in every direction. It also has the possibility to slide on the x-axis with the designed rail, to center the gun to the camera frame. Furthermore, I have made the cable management for the camera more sturdy so it does not break. This was a problem with the last iteration.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-us.googleusercontent.com\/jX8UnMQWBRst6MaVnJjMhYIs18hd0qj99y3M2YT_dwtaP_u5te8y_lGftqVqfF0dv8-z2JaTeZO2Qv0GhzUzSqUg6RcFebh0zMn-1VVPFh4YhAXLh4886FA6zH6Te4Mj_KZMs5GxiOvp9uQ49pn7nds\" alt=\"\" \/><figcaption class=\"wp-element-caption\">Showcasing the entire design<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-us.googleusercontent.com\/NANj4BwClOoHWs_IubRMcJAkKSn9QC3p9N5nX_C5wXJkwG4qfdgEefziJ13XtBrdoa3rCbLokcUfGX0kGECj0f-k6UZY8poK_Ps7ZGFVMW54dzkIt6ixzYf1RxU2dJNF2I1b3VfIZ4rPmOPdjfgZvNE\" alt=\"\" \/><\/figure>\n\n\n\n<h4 class=\"has-text-align-center wp-block-heading\">3D-printing process<\/h4>\n\n\n\n<p>For the camera I chose to print this at 20% infill and 0.15mm layer height with PLA.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-us.googleusercontent.com\/DKIUOVbCEAn-osnXlKcz4-ROX-Yth22RQd_f79trMRY3d6bVvNMy02Kvcbtq-MbuTbulPyjXDiDjJlwgEzrs3jI2o2x5C1AnTFpyI6wdNfjQQJPp47kY-hERlFFLSLCckBuFUO_f3SVKOxsqroFFcGk\" alt=\"\" \/><figcaption class=\"wp-element-caption\">Here you can see the nuts and bolts insertions into the print.<\/figcaption><\/figure>\n\n\n\n<p>The cable holder was printed with 20% infill and 0.1mm layer height. The sliding functionality worked as intended, which I was quite happy with.<\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" width=\"624\" height=\"468\" src=\"https:\/\/lh7-us.googleusercontent.com\/dzMNZMt4ak7l8r-N9JgxxutPY3Z24zy1UA0PWTWAAA3EYnRWeh3hX-Fw2OL7tGYarttSBBWRvvUylNNSqXNw9v1Smj5KY3ZqhVZxHH_iPCXewZ4XdqzHJtN0J8ab0zLlxRIoNnjCGfrZ2VyeEdO5bsU\"><\/p>\n\n\n\n<p>I also needed to print some new spare parts for the trigger mechanism. This is because while I was testing, I managed to break the main bolt when using the mechanism fully. The force produced by the rubber bands is quite a lot, and strains the plastic due to impact.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-us.googleusercontent.com\/z00MX6-hYVraQRFt6j0nTBm6yffykgRIm0WmvWKKoitcM24ONm0jlnfdo4ambqM31qyFUcTnyd9uybAO_6NET85M-IufAU9nloQFlfKHASCIaeHzKwJfg7mloLSFSEGnuLYBrUENRHrcR0QpO4QD1vo\" alt=\"\" \/><figcaption class=\"wp-element-caption\">Spare parts printed<\/figcaption><\/figure>\n\n\n\n<h4 class=\"has-text-align-center wp-block-heading\">Further testing<\/h4>\n\n\n\n<p>Here is the camera mount fully assembled on the turret.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-us.googleusercontent.com\/9AwbagkirlJYqd3BCB5_5r1EGbe2abqgWKClCDjfTOkFX-Zkp0LcYOo7zF7DonXyMMtB-FdrX6_Ue3G1tUKjc19mwM24k-Qk4Lda9EzCIv_1_3uifFs_4nV4dHTm1NkaBOJl3oxNOk0XCf1ugmqqC8k\" alt=\"\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-us.googleusercontent.com\/GypalxipME0EY4Ot9J-eeiUAneFPXH0K-IQbj41gtiD0F5P11-0QkejvuNE2hMOXraeuaJbypm7YCFOIEiVHcdep92et73HREI7aNNednB_Cs9fh8bmregYGbtAn0M3zemstzn4ny2EwH-M9htJ90q8\" alt=\"\" \/><\/figure>\n\n\n\n<p>I also printed seven of the cable holders to be placed around the turret\u2019s base. I used my day on Monday to secure most of the cables so they are not loose. I have also mounted the brackets that mats made for the battery.<\/p>\n\n\n\n<p><img decoding=\"async\" src=\"https:\/\/lh7-us.googleusercontent.com\/p4gJouALA43MSIG9wekMLJ0yIUf85wAUMv0KJplJt8YeltZ-8AltwphDDpikPkXbulkj-EGBEo3bWjk_BZbrUaprMUD-fc1k6Kb7h0Mp60-xv_tHhDs9fi43vQGy3O6Va5Xh3ScDJhTzMYXh4vBFtwI\"><\/p>\n\n\n\n<p class=\"has-text-align-center\">Here is the cable holder in work<\/p>\n\n\n\n<p>Used the rest of Monday to test the entire system&#8217;s functionality with the whole group.<\/p>\n\n\n\n<h4 class=\"has-text-align-center wp-block-heading\">Next week<\/h4>\n\n\n\n<p>My plans for next week is to prepare further for the presentation.<\/p>\n\n\n\n<h2 class=\"has-text-align-center wp-block-heading\">Ole Eirik S.Seljordslia<\/h2>\n\n\n\n<p>This last week has been used on testing the system as a whole. On monday, we set up the system in Dronesona and ran some tests. We used manual control to aim initially, when we shot; we could see how much our projectile was off. Our projectile was off because our camera is mounted above the barrel of the gun. We anticipated this and had a solution ready by offsetting the camera. We offsetted the camera by moving the center point in the camera feed. This made our projectile hit exactly where we aimed.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video controls src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2023\/11\/IMG_0075.mov\"><\/video><figcaption class=\"wp-element-caption\">Slow motion firing<\/figcaption><\/figure>\n\n\n\n<p>The rest of the week was used on interfacing the trigger mechanism from the motor driver mcu as well as documenting our code contributions. The motor driver mcu sends a high voltage to the trigger mcu, the trigger mcu then responds with a high voltage on another pin that the motor driver mcu reads to confirm that the trigger mechanism has fired.&nbsp;Our latest reference documentation can be found in Christopher&#8217;s section.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Final videos As we approach the final week, most parts of the system are finished. Like the previous weeks, this week has focused on testing and benchmarking the system. We&#8217;ve done some safety tests with different backdrops and found foam packing insulator to be a good fit. The foam is light enough to allow some [&hellip;]<\/p>\n","protected":false},"author":100,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-8621","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts\/8621","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\/100"}],"replies":[{"embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8621"}],"version-history":[{"count":13,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts\/8621\/revisions"}],"predecessor-version":[{"id":8773,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts\/8621\/revisions\/8773"}],"wp:attachment":[{"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8621"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8621"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8621"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}