{"id":175,"date":"2013-12-05T20:30:45","date_gmt":"2013-12-05T20:30:45","guid":{"rendered":"http:\/\/dronesonen.hibu.no\/?p=175"},"modified":"2013-12-05T20:56:24","modified_gmt":"2013-12-05T20:56:24","slug":"175","status":"publish","type":"post","link":"https:\/\/dronesonen.usn.no\/?p=175","title":{"rendered":"Siste update Moon Buggy"},"content":{"rendered":"<p><strong>Hei bloggen!<\/strong><br \/>\nDet er siste dag f\u00f8r innlevering \/ framf\u00f8ring og dokumentasjon er n\u00f8dvendig. Vi bestemte oss derfor for \u00e5 lage en post der vi tar for oss veien fra id\u00e9 til et produkt.<\/p>\n<p>Det hele startet med en id\u00e9 om \u00e5 lage en bil som skal styres med en analog joystick, og et kamera som gj\u00f8r det mulig \u00e5 styre bilen uten visuell kontakt. Det skal ogs\u00e5 implementeres sikkerhetsfunksjoner som gj\u00f8r at systemet skal kunne overskrive den manuelle styringen hvis det er potensielle kollisjons muligheter.<\/p>\n<p>I dag er det siste dag med prosjektet og produktet er s\u00e5 ferdig som det kan f\u00e5 blitt.<br \/>\n<a href=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2013\/12\/1424526_10153556459135694_1214329893_n1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-184\" alt=\"1424526_10153556459135694_1214329893_n\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2013\/12\/1424526_10153556459135694_1214329893_n1-300x225.jpg\" width=\"300\" height=\"225\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2013\/12\/1424526_10153556459135694_1214329893_n1-300x225.jpg 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2013\/12\/1424526_10153556459135694_1214329893_n1.jpg 960w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><b>Utstyr:<br \/>\n<\/b>&#8211; Analog joystick<br \/>\n&#8211; Arduino nano<br \/>\n&#8211; 2x Raspberry pi<br \/>\n&#8211; Tr\u00e5dl\u00f8s router<br \/>\n&#8211; Arduino mega<br \/>\n&#8211; Raspberry pi kamera<br \/>\n&#8211; 2x wifi dongles<br \/>\n&#8211; \u201c12v batteri\u201d (8x 1,5v batterier i serie kobling)<br \/>\n&#8211; 9v batteri<br \/>\n&#8211; 5v batteri<br \/>\n&#8211; Mosfet<br \/>\n&#8211; Lys sensor<br \/>\n&#8211; IR sensor<br \/>\n&#8211; Bilen med 2x motorer og motor driver<br \/>\n&#8211; div kabler<br \/>\n&#8211; LCD skjerm<\/p>\n<p><b>PROBLEMER:<br \/>\n<\/b>Det f\u00f8rste problemet vi m\u00f8tte var i2c overf\u00f8ringen fra Arduino 1 til Raspberry pi 1. Problemet var at vi m\u00e5tte sende over to bytes per overf\u00f8ring, men i2c st\u00f8tter bare en byte. Neste problem var den tr\u00e5dl\u00f8se kommunikasjonen mellom Raspberry pi&#8217;sa. Vi bestemte for \u00e5 overf\u00f8re verdiene over socket, men problemet utartet seg n\u00e5r vi sendte to verdier. N\u00e5r vi pr\u00f8vde \u00e5 lagre disse to verdiene p\u00e5 Raspberry pi 2 kunne det oppst\u00e5 et problem med at verdiene ble byttet om.<br \/>\nVi har ogs\u00e5 hatt problemer med video streaming. Problemet er at video overf\u00f8ringen tar for lang tid og dette gj\u00f8r at det nesten er umulig \u00e5 styre bilen uten visuell kontakt. Delayet ligger p\u00e5 rundt 3 sekunder, som kan minne om at man styrer en bil som kj\u00f8rer p\u00e5 m\u00e5nen, derav navnet Moon Buggy.<br \/>\nVi har hatt mangel p\u00e5 str\u00f8m til bilen og ikke f\u00e5tt batteriet som vi skulle bruke pga d\u00e5rlig leveringstid fra DX.com. Derfor m\u00e5 vi bruke et eget batteri til Raspberry pi 2 som vi m\u00e5 b\u00e6re ved siden av bilen fordi batteriet er for tungt.<\/p>\n<p><a href=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2013\/12\/1463168_10153556459430694_201778852_n.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-185\" alt=\"1463168_10153556459430694_201778852_n\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2013\/12\/1463168_10153556459430694_201778852_n-300x225.jpg\" width=\"300\" height=\"225\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2013\/12\/1463168_10153556459430694_201778852_n-300x225.jpg 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2013\/12\/1463168_10153556459430694_201778852_n.jpg 960w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p dir=\"ltr\"><strong>Signaloverf\u00f8ring:<br \/>\n<\/strong><strong style=\"line-height: 1.5\"><\/strong><strong style=\"line-height: 1.5\"><a href=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2013\/12\/Overf\u00f8ring-moon-buggy1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-194\" alt=\"Overf\u00f8ring moon buggy\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2013\/12\/Overf\u00f8ring-moon-buggy1.png\" width=\"2140\" height=\"1052\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2013\/12\/Overf\u00f8ring-moon-buggy1.png 2140w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2013\/12\/Overf\u00f8ring-moon-buggy1-300x147.png 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2013\/12\/Overf\u00f8ring-moon-buggy1-1024x503.png 1024w\" sizes=\"auto, (max-width: 2140px) 100vw, 2140px\" \/><\/a><br \/>\n<\/strong>For \u00e5 styre bilen bruker vi en joystick som \u00a0gir to verdier. Disse verdiene beskriver joystickens posisjon i x og y retning. Den gir en verdi fra 0 ~ 1024 hvor hvile posisjonen gir en verdi p\u00e5 ca 500. Siden vi bruker i2c busen og denne kun kan sende en og en byte, valgte vi \u00e5 dele begge verdiene p\u00e5 4 for \u00e5 f\u00e5 verdien til max 255. Verdiene sender vi videre i et char array med seks plasser.<\/p>\n<p dir=\"ltr\">For \u00e5 sende verdiene videre mot bilen valgte vi \u00e5 bruke et lok<span style=\"line-height: 1.5\">alt tr\u00e5dl\u00f8st nett som er satt opp av en standard router.\u00a0<\/span><span style=\"line-height: 1.5\">For \u00e5 kunne koble Raspberry Pi&#8217;sa sammen brukte vi to wifi dongles og en UDP-socket for \u00e5 kommunisere. For \u00e5 sende verdiene videre tok vi alle verdiene fra arrayet og satt de i en string \u00a0noe som python krevde.<\/span><a style=\"line-height: 1.5;color: #ea9629;text-decoration: underline\" href=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2013\/12\/1471379_10153556458705694_1808596675_n.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-188\" alt=\"1471379_10153556458705694_1808596675_n\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2013\/12\/1471379_10153556458705694_1808596675_n-225x300.jpg\" width=\"225\" height=\"300\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2013\/12\/1471379_10153556458705694_1808596675_n-225x300.jpg 225w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2013\/12\/1471379_10153556458705694_1808596675_n.jpg 720w\" sizes=\"auto, (max-width: 225px) 100vw, 225px\" \/><\/a><\/p>\n<p>Verdiene er n\u00e5 p\u00e5 den raspberry pi 2 og skal over til arduino 2. Her gjorde vi om stringen til et byte array og satte inn de konverterte tallene. Dette arrayet overf\u00f8rte vi via i2c igjen.<\/p>\n<p>Verdiene er n\u00e5 mottatt p\u00e5 arduino 2 som skal bruke verdiene til \u00e5 styre bilen. Siden verdiene er halvparten av maksimums verdien i joystickens hvileposisjon brukte vi en mapping funksjon til \u00e5 sette nye variable som tar utgangspunkt i hvileposisjonen. Dermed blir hvileposisjonen 0 og alle sidene f\u00e5r en egen verdi som g\u00e5r mot 255 hvis joysticken peker mot denne posisjonen. \u00a0Disse verdiene blir brukt til \u00e5 bestemme spenningen p\u00e5 motorene.<\/p>\n<p><b>Potensielle utvidelser:<br \/>\n<\/b>&#8211; Flere og sikrere sikkerhetsfunksjoner(flere sensorer til \u00e5 sikre bilen bedre fra \u00e5 kollidere, og bedre implementasjon av sikkerhetsfunksjonene)<br \/>\n&#8211; Bedre video overf\u00f8ring<\/p>\n<p><b>Slutt tanker:<br \/>\n<\/b>Prosjektet har v\u00e6rt veldig hektisk. Det har tatt tid fra planen var lagt til alle komponenter ble mottatt. Hadde vi hatt mer tid s\u00e5 kunne vi klart \u00e5 finpusse mer p\u00e5 produktet. Prosjektet har v\u00e6rt spennende \u00e5 jobbe med, men det har v\u00e6rt utfordrende \u00e5 bare v\u00e6rt datastudenter p\u00e5 grunn av lite elektro erfaring. Det har v\u00e6rt mye nytt \u00e5 sette seg inn i, noe som har gjort at alt har tatt ekstra tid.<a href=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2013\/12\/1424526_10153556459135694_1214329893_n1.zip\"><br \/>\n<\/a><\/p>\n<p><a href=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2013\/12\/1462948_10153556427975694_48244525_n.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-186\" alt=\"1462948_10153556427975694_48244525_n\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2013\/12\/1462948_10153556427975694_48244525_n-300x225.jpg\" width=\"300\" height=\"225\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2013\/12\/1462948_10153556427975694_48244525_n-300x225.jpg 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2013\/12\/1462948_10153556427975694_48244525_n.jpg 960w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><strong>Kode:<br \/>\n<a href=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2013\/12\/Kode.zip\">Kode<\/a><br \/>\n<\/strong><\/p>\n<p><strong>Gruppemedlemmer:\u00a0<\/strong>St\u00e5le Rudin, Henrik Berge S\u00f8rum og Martin Stenbro<\/p>\n<p><strong>GOD JUL! \ud83d\ude00<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hei bloggen! Det er siste dag f\u00f8r innlevering \/ framf\u00f8ring og dokumentasjon er n\u00f8dvendig. Vi bestemte oss derfor for \u00e5 lage en post der vi tar for oss veien fra id\u00e9 til et produkt. Det hele startet med en id\u00e9 om \u00e5 lage en bil som skal styres med en analog joystick, og et kamera [&hellip;]<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-175","post","type-post","status-publish","format-standard","hentry","category-smart-systems-joystick-bil2013"],"_links":{"self":[{"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts\/175","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\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=175"}],"version-history":[{"count":8,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts\/175\/revisions"}],"predecessor-version":[{"id":198,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts\/175\/revisions\/198"}],"wp:attachment":[{"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=175"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=175"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=175"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}