{"id":4891,"date":"2020-12-10T17:35:35","date_gmt":"2020-12-10T16:35:35","guid":{"rendered":"http:\/\/dronesonen.usn.no\/?p=4891"},"modified":"2020-12-10T17:35:35","modified_gmt":"2020-12-10T16:35:35","slug":"holobot-week-50-part3","status":"publish","type":"post","link":"https:\/\/dronesonen.usn.no\/?p=4891","title":{"rendered":"Holobot week 50 (part3)"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Mads<\/h2>\n\n\n\n<p> This is going to be a summary of the semester, the challenges, victories and quite a lot of failures. The idea of the Holobot was formed the second week into the semester. Group members had a big wish to use the HoloLens, but it needed to be incorporated into something mechanical. Thus the idea of controlling a modular robot with the HoloLens was born. The idea was to use the HoloLens to have extended control and to manipulate the vision of the user with the robot.  So mechanically I was to make a robot, with an unknown area of operation. I decided to design and make tracks, as it was a new challenge I had yet to try. As shown in previous posts there has been a few different designs. I did want to make a track system with suspension, but in the end it was proven to less functional than straight tracks. The current system is still modular, so an upgrade with suspension could easily be mounted.  Another big issue has been, space. The little robot has very little space as we wanted to keep it rather small. There is a lot of components that needs to be within the robot, so I had to be creative with the design to not make is a big box. The Holobot utilizes space quite well, which has helped with the assembly later on. The Holobot uses mostly 3D printing PLA, since I recently bought my own 3D printer. It also uses plywood, and it was intended to use cast aluminum. Though this was in the end redeemed unnecessary. Later on it did cast a piece used for weight in the Holobox. <\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"587\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/12\/2020-12-10-4-1024x587.png\" alt=\"\" class=\"wp-image-4894\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/12\/2020-12-10-4-1024x587.png 1024w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/12\/2020-12-10-4-300x172.png 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/12\/2020-12-10-4-768x440.png 768w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/12\/2020-12-10-4.png 1382w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>Holobot moving it&#8217;s box.<\/figcaption><\/figure>\n\n\n\n<p>The Holobox is a box which is fitted with a QR-code. The idea is that when wearing the HoloLens, the user will see a different item on the box due to the code.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"744\" height=\"800\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/12\/20201209_004219440_iOS-3.jpg\" alt=\"\" class=\"wp-image-4896\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/12\/20201209_004219440_iOS-3.jpg 744w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/12\/20201209_004219440_iOS-3-279x300.jpg 279w\" sizes=\"auto, (max-width: 744px) 100vw, 744px\" \/><figcaption>The (nearly) complete physical robot. Neck was printing.<br><\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/12\/3D-parts-768x1024.jpg\" alt=\"\" class=\"wp-image-4898\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/12\/3D-parts-768x1024.jpg 768w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/12\/3D-parts-225x300.jpg 225w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><figcaption>All the &#8220;failed&#8221; parts. Note the bottom left parts are currently in the valid design.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/12\/Casting-768x1024.jpg\" alt=\"\" class=\"wp-image-4914\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/12\/Casting-768x1024.jpg 768w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/12\/Casting-225x300.jpg 225w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><figcaption>Casting the HoloBox-extra-weight<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"766\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/12\/2020-12-10-6-1024x766.png\" alt=\"\" class=\"wp-image-4901\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/12\/2020-12-10-6-1024x766.png 1024w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/12\/2020-12-10-6-300x224.png 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/12\/2020-12-10-6-768x574.png 768w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/12\/2020-12-10-6.png 1106w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>Exploded view. <\/figcaption><\/figure>\n\n\n\n<p>So to conclude. As seen in the pictures I have tried a lot of experiments this semester, and I have learned quite a bit. The final design as you can see in the exploded view ended up using a lot of bearings and spacers. This reduces friction and ensures the tracks run smooth, which we will demonstrate on Monday. I have tested the interface between mechanical components and ensured it all works properly, however the group has had struggles with assembling the electronics and testing it with the correct code. I hope to at least get to demonstrate the mechanical features. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kjartans fantastiske blogg<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\">Aruco QR reader<\/h4>\n\n\n\n<p>An idea to\nbe used on the HoloLens was QR reading on boxes and things around the room to\ndistinguish the various items. By searching around, I quickly saw people had\nproblems using standard QR reading, it was just too small and hard to read for\nsomething like the HoloLens that would be maybe a few meters away. A fix for\nthat was Aruco library, I downloaded from a github I found and started testing\nit. I was able to make QR codes and add an object to a QR image. The problem\nwas when I uploaded to test on the HoloLens the whole system lagged out and\nshowed a developer error message, but it was not centred on the screen, so I\nwas not able to read it. Because of time I moved on to another thing to add to\nthe project itself.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"402\" height=\"226\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/12\/image-38.png\" alt=\"\" class=\"wp-image-4903\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/12\/image-38.png 402w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/12\/image-38-300x169.png 300w\" sizes=\"auto, (max-width: 402px) 100vw, 402px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"227\" height=\"170\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/12\/image-39.png\" alt=\"\" class=\"wp-image-4904\" \/><figcaption> <a href=\"https:\/\/github.com\/NormandErwan\/ArucoUnity\">https:\/\/github.com\/NormandErwan\/ArucoUnity<\/a> <\/figcaption><\/figure>\n\n\n\n<p>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nUnity\nproject files for this provided in readme file on our project github\n\n\n\n<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">BT Controller<\/h4>\n\n\n\n<p>Because of the limitations on IR, we wanted to add a Bluetooth controller to the Holobot, to more smoothy control its movements. First, we looked into adding a BT module to pair to a PlayStation 4 controller, but without the right profile it wouldn\u2019t connect. The most common way to solve this was adding a USB-shield and use a USB BT-dongle. But as we had neither and no time to buy, we thought about the idea to just make a controller ourselves, we found 2 BT modules for Arduino and 2 joysticks and started to connect it all.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"253\" height=\"190\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/12\/image-40.png\" alt=\"\" class=\"wp-image-4905\" \/><figcaption><br><br><\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"254\" height=\"191\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/12\/image-41.png\" alt=\"\" class=\"wp-image-4906\" \/><\/figure>\n\n\n\n<p>We were\nable to program the BT modules to be master and slave and connect them. but\nsomewhere when sending the joystick movement information, it would fail. We got\none Arduino to send code to the other to turn on and off its LED light, but\nanything more than that would not work for us in time. Arduino code for this on\nthe github provided for our project.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Stian, Holobot conclusion<\/h2>\n\n\n\n<p>We made a\nfinalized code to work with the HoloBot, that takes IR signals from a receiver\nand preforms 6 commands. Forward, Backward, Right, Left, Lift up and Lift down\nthese worked with 2, 8, 6, 4, Vol + and Vol -. The directional buttons used the\nmotor library to move the motor for x number of seconds before releasing them\nagain. Turning left and right was done by giving the motors different\ndirections to go. Lift up and lift down was done with servos and we used a\nlibrary that gives a variable speed so the object it is lifting does not go\nflying. We got the IR to work with the servos, but the motors did not work with\nit. We figured out to late what it was which is that the IR library uses the\nsame clocks as the motor library this makes them not compatible. We did manage\nto fix it in the end, but it was to late for us to get the robot running at\nthat point. Everything that we tried is in the github repository <a href=\"https:\/\/github.com\/StianFHatlestad\/HolobotBackToBasic\">https:\/\/github.com\/StianFHatlestad\/HolobotBackToBasic<\/a> . <\/p>\n\n\n\n<p>The HoloBot have eyes with a LCD display, we connected the LCD with a I2c connection and used wire and liquidCrystal_I2C libraries. We made our eyes with the custom chars witch the library supports up to 8. We then made custom eyes for the robot instead of using normal symbols for the job. Finally we added some life to the robot by making it blink it\u2019s eyes using the millis function. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Jens<\/h2>\n\n\n\n<p>Putting everything together<\/p>\n\n\n\n<p>After having checked the wiring plan for motors, charging, battery series switch (which functions as the on\/off switch for the whole thing at the same time as the series connection has to be broken in order to charge the two battery packs) and verified that voltage and current ratings were within limits, i met the rest of the group at the university. We first tested the DC motors and servos using the UNO and the shield, and they worked fine. Then we started to put everything together. We knew it would be a tight fit. I had supplied ample length for most of the wires that were soldered on to the various components, so that they could be cut down to a more suitable length after placing battery packs and UNO+shield where it seemed most practical. We had to solder headers on top of the shield to access various logic pins. Checked for continuities and there were none other that those intended. After much trial and error where we could not get the LCD display or IR sensor to work, we found out that the 5V output from the shield only read 1.2V. This is way less than their minimum voltage requirements. I checked my wiring for faults and possible shorts, but couldn\u2019t find anything. I continuity-checked the shield for possible shorts, but found nothing. I checked if there was any unwanted connections between the shield\u2019s bottom side and the UNO, but no. The fault might lie in the board itself or in the Motor Driver ICs that are mounted on it. I might add that when i came home that night i also checked the UNO with 7.5V on the Vin pin (Vin was at about 8.3V when we tested at the university), and the 5V supply pin from the UNO read exactly 5 volts no matter what GND pin i used as reference.The next day i plugged in the UNO again, ran a test code for motors and they functioned perfectly. The 5V pin also read 5.04 volts, so i have no clue what happened the day before.Checked over all voltages and connections and didn\u2019t find anything faulty. Tested servos response to input from the IR, and got them to work with a test script, but not with the full code. We spent many hours debugging and testing, but could not get it to run.  Wiring and coding schematics as follows: <\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"605\" height=\"341\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/12\/image-42.png\" alt=\"\" class=\"wp-image-4907\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/12\/image-42.png 605w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/12\/image-42-300x169.png 300w\" sizes=\"auto, (max-width: 605px) 100vw, 605px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"605\" height=\"397\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/12\/image-43.png\" alt=\"\" class=\"wp-image-4908\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/12\/image-43.png 605w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/12\/image-43-300x197.png 300w\" sizes=\"auto, (max-width: 605px) 100vw, 605px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"605\" height=\"806\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/12\/image-44.png\" alt=\"\" class=\"wp-image-4909\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/12\/image-44.png 605w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2020\/12\/image-44-225x300.png 225w\" sizes=\"auto, (max-width: 605px) 100vw, 605px\" \/><\/figure>\n\n\n\n<p>About the charging circuit: I used double 18650 batteries in series to drive the motor shield with 7.4-8.4V external power, but only had LiPo charging chips for 3.7-4.2V. The circuit break is used in order to charge the batteries. About the 5V and GND rails: As we tried different forms of communication, we needed more connections to 5V and GND. About the Excel list of pins: This is for the computer guys to use when coding for the Arduino UNO.<\/p>\n\n\n\n<p><strong>In retrospect<\/strong><\/p>\n\n\n\n<p>When I was researching induction charging, i should have tried a solution earlier than i did. The coils I made probably had too few windings, and i wasn\u2019t able to measure their impedance (i don\u2019t have an adjustable pulse generator at home, and the multimeter i borrowed did not work). About the rest of the circuitry: I am quite content with having gone for using a motor shield, as breadboarding would have been too spacious. I suspect my shield was faulty, though, because the motor driver ICs seemed to generate some heat even when the motors weren\u2019t connected or being operated. I managed to supply sufficient power in volts and aH to the whole robot. Might have tried to fit everything a couple of weeks earlier than I did, but I had to use time on other things.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mads This is going to be a summary of the semester, the challenges, victories and quite a lot of failures. The idea of the Holobot was formed the second week into the semester. Group members had a big wish to use the HoloLens, but it needed to be incorporated into something mechanical. Thus the idea [&hellip;]<\/p>\n","protected":false},"author":79,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-4891","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts\/4891","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\/79"}],"replies":[{"embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4891"}],"version-history":[{"count":6,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts\/4891\/revisions"}],"predecessor-version":[{"id":4915,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts\/4891\/revisions\/4915"}],"wp:attachment":[{"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4891"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4891"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4891"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}