{"id":3001,"date":"2019-09-04T13:41:08","date_gmt":"2019-09-04T12:41:08","guid":{"rendered":"http:\/\/dronesonen.hibu.no\/?p=3001"},"modified":"2019-09-05T09:45:35","modified_gmt":"2019-09-05T08:45:35","slug":"group-02-project-report-week-2-29-09-2019","status":"publish","type":"post","link":"https:\/\/dronesonen.usn.no\/?p=3001","title":{"rendered":"Group 02 &#8211; Project Report &#8211; Week 2 (29.09.2019)"},"content":{"rendered":"\n<p>We started week two with a meeting with all the group members&nbsp;where we&nbsp;got each&nbsp;other up to speed on what work we did individually since we last met. This consisted of mostly organizational work&nbsp;and simplified sketches and ideas of how we pictured the system to function.&nbsp;&nbsp;<\/p>\n\n\n\n<p>In order to get a better idea of what sort of concrete objectives each discipline in our group would need to tackle,&nbsp;we&nbsp;used the system requirements we agreed on in week 1 to&nbsp;define&nbsp;a few preliminary&nbsp;assignments:&nbsp;<\/p>\n\n\n\n<p><strong>Electr<\/strong><strong>ical department<\/strong><strong>:<\/strong>&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Verifying motor speed&nbsp; <\/li><li>Make plan of how to power the system (schematic)&nbsp;<\/li><li>Circuit for raspberry &amp;&nbsp;arduino&nbsp;(movement)&nbsp;<\/li><li>List of stuff that needs electricity&nbsp;<\/li><\/ul>\n\n\n\n<p><strong>Computer department:<\/strong>&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li> Camera tracking of disc (python library:&nbsp;opencv)&nbsp; <\/li><li>Algorithms (how fast to respond, angle)&nbsp;<\/li><li>Program the raspberry (strategy, control, direction, how many steps, velocity, etc.)&nbsp;<\/li><li>User interface (touch screen? Simple counter?)&nbsp;<\/li><li>Timer&nbsp;<\/li><\/ul>\n\n\n\n<p><strong>Mechanical department:<\/strong>&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Design \/ sketch of the hockey board&nbsp;<\/li><li>Design &amp; print of pulley for the motor&nbsp;<\/li><li>Air pressure (fans to keep disc afloat)&nbsp;<\/li><li>Sketch of disc retrieval system&nbsp;<\/li><\/ul>\n\n\n\n<p><strong>General \/ administrative:<\/strong>&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Blog (documentation)&nbsp;<\/li><li>Assign tasks to boards&nbsp;<\/li><\/ul>\n\n\n\n<p>Since our meeting on Thursday (29.09.2019), each of the disciplines have begun working on one or more of these&nbsp;assignments; what follows below is an overview of what each discipline has accomplished&nbsp;in the days following said meeting.&nbsp;<\/p>\n\n\n\n<p><strong>Mechanical&nbsp;department&nbsp;<\/strong><\/p>\n\n\n\n<p>For this week the main assignment for the mechanical engineer student has been to identify the&nbsp;different mechanical parts&nbsp;that\u2019s included&nbsp;overall&nbsp;in the&nbsp;automatic air hockey system,&nbsp;and&nbsp;then&nbsp;create a quick sketch of the&nbsp;air hockey table.&nbsp;The following image shows&nbsp;some of the&nbsp;parts for the&nbsp;board of the&nbsp;air hockey table&nbsp;and their&nbsp;relevant&nbsp;information:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"206\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2019\/09\/image-1.png\" alt=\"\" class=\"wp-image-3005\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2019\/09\/image-1.png 602w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2019\/09\/image-1-300x103.png 300w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><figcaption>Table of some system parts and relevant information<\/figcaption><\/figure>\n\n\n\n<p>Dimensions and pricing will be prioritized at a later stage of the&nbsp;project and&nbsp;has therefore not yet been addressed in the above table.&nbsp;The same&nbsp;has&nbsp;been&nbsp;done for:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Puck ejection system&nbsp;<\/li><li>Airflow system&nbsp;<\/li><li>Stick system&nbsp; <\/li><\/ul>\n\n\n\n<p>The model sketch of the air hockey board is very simple&nbsp;at the&nbsp;moment,&nbsp;and&nbsp;is&nbsp;primarily&nbsp;just for the team to visualize the size and available area for the different components that is necessary for the whole system. It was also modelled to see where the support structures could be placed so that they wouldn\u2019t block the air holes. The following figure show some overview pictures of the model sketch (earlier model):<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/i.gyazo.com\/86e450a4538dc92d552935b9168f7f12.png\" alt=\"\" \/><\/figure>\n\n\n\n<p><strong>Electrical department&nbsp;<\/strong><\/p>\n\n\n\n<p>Our electrical&nbsp;students\u2019&nbsp;main assignment was to figure out which motor was necessary to&nbsp;sufficiently drive&nbsp;the computer opponent\u2019s stick&nbsp;with enough speed and precision to competently battle a human player.&nbsp;In order to find the most suitable&nbsp;motors&nbsp;for our&nbsp;system\u2019s purpose&nbsp;we have looked&nbsp;at what&nbsp;types&nbsp;of electric motors that exists&nbsp;in the market. We found two types&nbsp;potentially&nbsp;capable of satisfying our needs:&nbsp;the <strong>DC motors<\/strong> and the <strong>stepper motors<\/strong>.&nbsp;<\/p>\n\n\n\n<p>A <strong>DC Motor<\/strong> produces torque by the mechanical switching of the current.&nbsp; As shown on the image below, there is a permanent magnetic field produced by magnets in the stator. The current flow in the rotor winding produces a Lorentz force on the winding, represented by the green arrows. The motor ring is split in half, where each half is opposite poles, which creates a current flow that is reversed every half turn (180 degrees).&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/7\/73\/Ejs_Open_Source_Direct_Current_Electrical_Motor_Model_Java_Applet_%28_DC_Motor_%29_80_degree_split_ring.gif\" alt=\"\" \/><figcaption>DC motor<\/figcaption><\/figure><\/div>\n\n\n\n<p>A <strong>stepper motor<\/strong> is an electromechanical device that converts a series of electrical impulses into discrete angular displacements, which means that it&nbsp;is capable of rotating&nbsp;a number of degrees (steps) to control. The stepper motor behaves in the same way as a digital-analog converter (D \/ A) and can be governed by analytical impulses of digital systems. This&nbsp;motor&nbsp;has the advantages of having accuracy and repeatability in terms of positioning.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.ato.com\/Content\/Images\/uploaded\/stepper-motor-working-principle.jpg\" alt=\"\" \/><figcaption>Stepper motor<\/figcaption><\/figure>\n\n\n\n<p>The stepper motors available on campus are bipolar, and therefore, to control them, the current in the winding must be reversed in order to reverse a magnetic pole. Consequently, the driving circuit is more complicated than the unipolar ones, typically with an H-bridge arrangement (however there are several off-the-shelf driver chips available to make this a simple affair).&nbsp;<\/p>\n\n\n\n<p>Considering the motor availability at campus, as well as taking into consideration&nbsp;factors such as the size of the board, friction of the pulleys, and the potential velocity and attack angles of the disc, we have decided to proceed with two <strong>stepper motors<\/strong>.&nbsp;Specifically,&nbsp;the ones available&nbsp;at campus&nbsp;are the&nbsp;Nema&nbsp;17\/23 bipolar motors,&nbsp;with a single winding per phase.&nbsp;Further testing will be necessary to determine if these truly fill&nbsp;the criteria set by our requirements.&nbsp;<\/p>\n\n\n\n<p><strong>Computer department&nbsp;<\/strong><\/p>\n\n\n\n<p>Our computer engineering students have made good progress with the raspberry pi. As explained in our previous blog post, we intend to use a raspberry pi and a camera module to facilitate the object tracking, which will allow us to track the disc on the board, and thereby allow the computer opponent to make the right decisions based on information such as angle, velocity, and so on. <\/p>\n\n\n\n<p>We learned that to make this possible, one option was to use \u201cOpenCV\u201d; a library of programming functions to allow for real-time computer vision, and as a bonus, one of our group members were already familiar with this library. Furthermore, we also learned that this library was commonly used with python. Consequently, we have spent&nbsp;the majority of&nbsp;our time learning how to implement these on the raspberry pi, and have recently successfully done so, after some initial complications.&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2019\/09\/image-1-1024x677.jpeg\" alt=\"\" class=\"wp-image-3011\" width=\"440\" height=\"291\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2019\/09\/image-1.jpeg 1024w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2019\/09\/image-1-300x198.jpeg 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2019\/09\/image-1-768x508.jpeg 768w\" sizes=\"auto, (max-width: 440px) 100vw, 440px\" \/><figcaption>Raspberry pi with camera module<\/figcaption><\/figure><\/div>\n\n\n\n<p>The biggest of these complications was the fact that the OpenCV library was not easily installed. To make it work,&nbsp;a number of&nbsp;dependencies had to be installed first, and even then, OpenCV had to be downloaded uncompiled, for then to be compiled by us (which takes a few hours). This crashed a couple of times, but after adjusting the number of cores the compiler&nbsp;was allowed to&nbsp;make use of, as well as increasing the swap size, it finally installed correctly.&nbsp;<\/p>\n\n\n\n<p>That being said, the raspberry pi is not yet capable of object tracking; we have merely made the prerequisite software function, but we still need to decide on an algorithm (OpenCV has a few to choose from, depending on what you need), and subsequently program said algorithm in python.&nbsp;<\/p>\n\n\n\n<p><strong>Project Management&nbsp;<\/strong><\/p>\n\n\n\n<p>Project management has been considered further, and we now have a rough outline for&nbsp;the majority of&nbsp;the project, all the way up until November. The outline consists of 6 sprints, each lasting two weeks, where the closer sprints have more detailed tasks, and the sprints further away have more estimations \/ ideas for where we\u2019d like to be at that point in time.&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/i.gyazo.com\/83a0d447a6ca864deee713dee33d5ed8.png\" alt=\"\" \/><figcaption>Trello boards, showing each sprint<\/figcaption><\/figure><\/div>\n\n\n\n<p>In our meeting on Thursday (29.09.2019) we made sure everyone was on the same page in terms of how and when to make use of Trello, to ensure the project progresses in a neat, orderly manner&nbsp;for each&nbsp;discipline. We made a test board where each group member can freely experiment to get used to the tool without fear of accidentally editing something they shouldn&#8217;t have.<\/p>\n\n\n\n<p><strong>Image<\/strong> <strong>Sources<\/strong><\/p>\n\n\n\n<p><em>DC motor gif:  <\/em><a href=\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/7\/73\/Ejs_Open_Source_Direct_Current_Electrical_Motor_Model_Java_Applet_%28_DC_Motor_%29_80_degree_split_ring.gif\">https:\/\/upload.wikimedia.org\/wikipedia\/commons\/7\/73\/Ejs_Open_Source_Direct_Current_Electrical_Motor_Model_Java_Applet_%28_DC_Motor_%29_80_degree_split_ring.gif <\/a><\/p>\n\n\n\n<p><em>Stepper motor image: <\/em><a href=\"https:\/\/www.ato.com\/Content\/Images\/uploaded\/stepper-motor-working-principle.jpg\">https:\/\/www.ato.com\/Content\/Images\/uploaded\/stepper-motor-working-principle.jpg<\/a><\/p>\n\n\n\n<p><em>Raspberry pi image:<\/em><br> <a href=\"https:\/\/neverbenever.files.wordpress.com\/2015\/05\/pi_withpicam.jpg?w=300&amp;h=225\">https:\/\/neverbenever.files.wordpress.com\/2015\/05\/pi_withpicam.jpg?w=300&amp;h=225<\/a> <\/p>\n","protected":false},"excerpt":{"rendered":"<p>We started week two with a meeting with all the group members&nbsp;where we&nbsp;got each&nbsp;other up to speed on what work we did individually since we last met. This consisted of mostly organizational work&nbsp;and simplified sketches and ideas of how we pictured the system to function.&nbsp;&nbsp; In order to get a better idea of what sort [&hellip;]<\/p>\n","protected":false},"author":65,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[51,52],"tags":[],"class_list":["post-3001","post","type-post","status-publish","format-standard","hentry","category-smart-systems-2019","category-the-unbeatable-air-hockey-team"],"_links":{"self":[{"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts\/3001","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\/65"}],"replies":[{"embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3001"}],"version-history":[{"count":5,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts\/3001\/revisions"}],"predecessor-version":[{"id":3029,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts\/3001\/revisions\/3029"}],"wp:attachment":[{"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3001"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3001"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3001"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}