{"id":4278,"date":"2020-10-06T11:40:21","date_gmt":"2020-10-06T10:40:21","guid":{"rendered":"http:\/\/dronesonen.usn.no\/?p=4278"},"modified":"2020-10-06T11:40:21","modified_gmt":"2020-10-06T10:40:21","slug":"fourth-sprint-puck-buddies","status":"publish","type":"post","link":"https:\/\/dronesonen.usn.no\/?p=4278","title":{"rendered":"Fourth sprint &#8211; Puck Buddies"},"content":{"rendered":"\n<p>This blog is delayed by over a week due to unfortunate circumstances. Anders, our blog responsible suddenly went ill last week and was admitted to the hospital. Everyone from the group whishes you a speedy recovery Anders! <\/p>\n\n\n\n<p class=\"has-large-font-size\"><strong>Gaute<\/strong><\/p>\n\n\n\n<p>Hopefully this week I made the last draft of the glidering and the positioning blocks to the prototype. Ended up making some slots to the positioning blocks to place some bearings to reduce friction between the blocks and glidering.  Made the topframe to which the camera is supposed to be mounted, and also a carrying handle. Might eventually fit som plexiglass walls to the topframe for protection.  <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"573\" height=\"673\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/10\/image-5.png\" alt=\"\" class=\"wp-image-4280\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/10\/image-5.png 573w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/10\/image-5-255x300.png 255w\" sizes=\"auto, (max-width: 573px) 100vw, 573px\" \/><\/figure><\/div>\n\n\n\n<p>Downloaded the step motor from grabcad; <br> <a href=\"https:\/\/grabcad.com\/library\/rohs-step-motor-28byj-48-1\">https:\/\/grabcad.com\/library\/rohs-step-motor-28byj-48-1<\/a> <\/p>\n\n\n\n<p class=\"has-large-font-size\"><strong>Halvard<\/strong><\/p>\n\n\n\n<p>This week I have been\nfocusing on making parts and setting up for material testing as well as looking\nat the intended operating environment of our system.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Material testing <\/h2>\n\n\n\n<p>I have started to print some of the test rods that I have modelled and sliced. In this test it is important to look at the way the layers are built up. If they are printed horizontal, vertical or in an angle. This is important because almost all plastic (FDM) printed parts will have anisotropic properties. This means that it has physical properties which has different values when measured in different directions. This is done to make sure that we have a budget for the forces that will be produced and to know where we can use the differently produced parts.  <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"350\" height=\"324\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/10\/image-6.png\" alt=\"\" class=\"wp-image-4281\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/10\/image-6.png 350w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/10\/image-6-300x278.png 300w\" sizes=\"auto, (max-width: 350px) 100vw, 350px\" \/><figcaption>Parts printed in different orientations<\/figcaption><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"254\" height=\"263\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/10\/image-7.png\" alt=\"\" class=\"wp-image-4282\" \/><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Considerations of the environment our\nsystem will operate in<\/h2>\n\n\n\n<p>Our system will operate in an ice hall which means that it will be exposed to water in the form of ice. We also must take into consideration that the machine will be brought in and out of the ice hall. This means that it will develop dew all over the machine. As a way to manage this we will have to use a coating on the electronics, we propose to use silicon conformal coating since this will give us protection from the environments as well as some protection from the vibrations during use.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"407\" height=\"543\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/10\/image-8.png\" alt=\"\" class=\"wp-image-4283\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/10\/image-8.png 407w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/10\/image-8-225x300.png 225w\" sizes=\"auto, (max-width: 407px) 100vw, 407px\" \/><figcaption>Silicon conformal coating<\/figcaption><\/figure><\/div>\n\n\n\n<p class=\"has-large-font-size\"><strong>Nicholas<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Software<\/h3>\n\n\n\n<p>I haven\u2019t had too much\ntime this week to focus on the project, so I only made small additions to the\nsoftware. <\/p>\n\n\n\n<p>First off, I added the\nability to send multiple values to the Arduino in a single message where each parameter\nis separated by a \u2018,\u2019 and each message is ended with \u2018;\u2019.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"377\" height=\"501\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/10\/image-10.png\" alt=\"\" class=\"wp-image-4285\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/10\/image-10.png 377w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/10\/image-10-226x300.png 226w\" sizes=\"auto, (max-width: 377px) 100vw, 377px\" \/><figcaption>  Code block that converts incoming string to separate values <\/figcaption><\/figure><\/div>\n\n\n\n<p>The code shown in the picture above converts an incoming string to an byte array that is then converted to strings and then to int\u2019s. The nice thing here is that the switch statement can easily be expanded to accommodate more parameters sent across the serial line. The downside to this solution is that it requires the sender to send in the correct format\/order or else problems will arise. Also, currently the code is embedded straight into the main loop for automatic mode. It should be however be turned into it\u2019s own dedicated function so that it could more easily be reused other places in the program if necessary. Most notably in the manual mode part of the program. I also fixed a minor issue where the firing mechanism wouldn\u2019t work as it did not take into account the extra steps that are added due to int &#8211;&gt; float loss. <\/p>\n\n\n\n<p><strong>What\u2019s next<\/strong><\/p>\n\n\n\n<p>There is still work to\nbe done on the Arduino code, especially regarding the stepper and the extra\nsteps. I think we have to redo it so the additional steps are only counted\nbased on the delta of the current position and the new target position rather\nthan being based on the stepper having reached the previous position.<\/p>\n\n\n\n<p>I have also started to look into TensorFlow so that we might be able to write the image tracking part and make it run on a Raspberry Pi with acceptable performance. Right now we are using YoloV3 running on my laptop, which is fine, but we want the machine to be portable so we need to able to scale the image tracking part down to run on a smaller embedded system. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Electrical<\/h3>\n\n\n\n<p>I also managed to finish the test box, or the software devkit as we like to call it. However, upon testing the finished product I noticed that some minor issues. The main problem was that the button was not working and after doing some troubleshooting I found the issue to be the button itself. The button would simply not complete the circuit when pressed. It might never have been working as it is some cheap part from China or it may have been damaged during soldering. Either way it will have to be changed out. The devkit is also missing a limit switch to zero the stepper motor. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"605\" height=\"454\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/10\/image-11.png\" alt=\"\" class=\"wp-image-4286\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/10\/image-11.png 605w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/10\/image-11-300x225.png 300w\" sizes=\"auto, (max-width: 605px) 100vw, 605px\" \/><figcaption>Outside the box<\/figcaption><\/figure><\/div>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"605\" height=\"454\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/10\/image-12.png\" alt=\"\" class=\"wp-image-4287\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/10\/image-12.png 605w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/10\/image-12-300x225.png 300w\" sizes=\"auto, (max-width: 605px) 100vw, 605px\" \/><figcaption>Inside the box<\/figcaption><\/figure>\n\n\n\n<p>The most important part left now regarding the electrical work is to create the necessary schematics as we already have all the required parts for our model. <\/p>\n\n\n\n<p class=\"has-large-font-size\">Anders<\/p>\n\n\n\n<p>This week my focus has\nbeen directed toward crating and finalizing our GUI (Graphic User Interface)\nfor windows. We will be using a Windows Form App deployed on the computer\ncontrolling the preliminary test setup to control the Arduino microcontroller\nat runtime. This is done by using the Serial Communication Port the\nmicrocontroller is connected to send a value triggering a response in the\nArduino code.<\/p>\n\n\n\n<p>What will be included\nin the GUI are:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Connection panel for selecting Port where the Arduino board is connected from a drop-down menu.<ul><li>This will also include a drop-down menu for selecting the different Baude rates the microcontroller deploys, even though we could have hardcoded it to the Baude rate used in the Arduino code.<\/li><\/ul><\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"605\" height=\"490\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/10\/image-13.png\" alt=\"\" class=\"wp-image-4289\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/10\/image-13.png 605w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/10\/image-13-300x243.png 300w\" sizes=\"auto, (max-width: 605px) 100vw, 605px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>A main panel for choosing between automatic and manual running mode.<ul><li>Two simple buttons which sends a value through the serial channel to activate either manual mode or automatic control.<\/li><\/ul><\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"605\" height=\"435\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/10\/image-14.png\" alt=\"\" class=\"wp-image-4290\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/10\/image-14.png 605w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/10\/image-14-300x216.png 300w\" sizes=\"auto, (max-width: 605px) 100vw, 605px\" \/><\/figure><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li>A\nmanual-control panel for controlling separate functions.<ul><li>Slider for\nsetting direction of the stepper, with a send button for sending the direction\nto the micro controller.<\/li><\/ul><ul><li>Button for\ntoggling the ESC (Electronic Speed Controller) on or off, this will send a\nsignal to a relay which in turn starts the spinning of the launch mechanism.<\/li><\/ul><ul><li>Button for\nactivating the firing mechanism, this will activate the hardware used to push\nthe Puck into the spinning wheels<\/li><\/ul><ul><li>Button for\ntoggling the battery supplying the ESC, this will also be done with a relay.<\/li><\/ul><\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>All the above is also communicated to the\nmicrocontroller by sending a value to the microcontroller.<\/strong><\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"605\" height=\"418\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/10\/image-15.png\" alt=\"\" class=\"wp-image-4291\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/10\/image-15.png 605w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/10\/image-15-300x207.png 300w\" sizes=\"auto, (max-width: 605px) 100vw, 605px\" \/><\/figure><\/div>\n\n\n\n<p>PS: My contribution to\nthis blog post was created late Sunday afternoon of week 40 as I had a small\ninjury while playing hockey and was hospitalized due to some unforeseen\ncomplications relating to said injury. I therefor rewrote my part at the\nhospital and created the drawings of the GUI as seen above to illustrate how\nthe program at my stationary computer at home looks.<\/p>\n\n\n\n<p>There will come actual\nscreenshots of the program in question in week 41 when I am allowed to return\nhome.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This blog is delayed by over a week due to unfortunate circumstances. Anders, our blog responsible suddenly went ill last week and was admitted to the hospital. Everyone from the group whishes you a speedy recovery Anders! Gaute Hopefully this week I made the last draft of the glidering and the positioning blocks to the [&hellip;]<\/p>\n","protected":false},"author":77,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-4278","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts\/4278","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\/77"}],"replies":[{"embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4278"}],"version-history":[{"count":2,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts\/4278\/revisions"}],"predecessor-version":[{"id":4292,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts\/4278\/revisions\/4292"}],"wp:attachment":[{"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4278"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4278"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4278"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}