{"id":3615,"date":"2019-11-03T23:17:36","date_gmt":"2019-11-03T22:17:36","guid":{"rendered":"http:\/\/dronesonen.usn.no\/?p=3615"},"modified":"2019-12-05T08:22:15","modified_gmt":"2019-12-05T07:22:15","slug":"haptix-week-43-and-44","status":"publish","type":"post","link":"https:\/\/dronesonen.usn.no\/?p=3615","title":{"rendered":"Haptix week 43 and 44"},"content":{"rendered":"\n<p><strong>P<\/strong><strong>e<\/strong><strong>tter<\/strong>&nbsp;<\/p>\n\n\n\n<p>Created&nbsp;some&nbsp;custom&nbsp;cube&nbsp;designs and&nbsp;discussed&nbsp;implementation&nbsp;of&nbsp;how&nbsp;our&nbsp;Rubix&nbsp;cube&nbsp;reacts&nbsp;to&nbsp;virtual&nbsp;touch.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"753\" height=\"401\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2019\/11\/image-4.jpeg\" alt=\"\" class=\"wp-image-3616\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2019\/11\/image-4.jpeg 753w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2019\/11\/image-4-300x160.jpeg 300w\" sizes=\"auto, (max-width: 753px) 100vw, 753px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"697\" height=\"314\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2019\/11\/image-5.jpeg\" alt=\"\" class=\"wp-image-3617\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2019\/11\/image-5.jpeg 697w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2019\/11\/image-5-300x135.jpeg 300w\" sizes=\"auto, (max-width: 697px) 100vw, 697px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"726\" height=\"372\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2019\/11\/image-6.jpeg\" alt=\"\" class=\"wp-image-3618\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2019\/11\/image-6.jpeg 726w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2019\/11\/image-6-300x154.jpeg 300w\" sizes=\"auto, (max-width: 726px) 100vw, 726px\" \/><\/figure>\n\n\n\n<p><strong>Daniel<\/strong>&nbsp;<\/p>\n\n\n\n<p>I&nbsp;had&nbsp;to&nbsp;rework&nbsp;most&nbsp;of&nbsp;what&nbsp;I&nbsp;did&nbsp;for&nbsp;the&nbsp;previous&nbsp;weeks.&nbsp;Rather&nbsp;than&nbsp;using&nbsp;Leap&nbsp;Motion\u2019s&nbsp;properties&nbsp;and&nbsp;methods,&nbsp;I&nbsp;created&nbsp;my&nbsp;own&nbsp;fingertips&nbsp;using&nbsp;a&nbsp;custom&nbsp;script and&nbsp;sphere&nbsp;3D&nbsp;objects.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"686\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2019\/11\/image-1-1024x686.png\" alt=\"\" class=\"wp-image-3620\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2019\/11\/image-1.png 1024w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2019\/11\/image-1-300x201.png 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2019\/11\/image-1-768x515.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The image&nbsp;above&nbsp;illustrates&nbsp;the&nbsp;current&nbsp;state&nbsp;of&nbsp;the&nbsp;Unity&nbsp;application.&nbsp;When&nbsp;there\u2019s&nbsp;an&nbsp;impact&nbsp;on&nbsp;any&nbsp;of&nbsp;the&nbsp;fingertips, a&nbsp;function&nbsp;in a script&nbsp;called&nbsp;Arduino.cs&nbsp;will&nbsp;be&nbsp;called.&nbsp;&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"646\" height=\"735\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2019\/11\/image.png\" alt=\"\" class=\"wp-image-3619\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2019\/11\/image.png 646w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2019\/11\/image-264x300.png 264w\" sizes=\"auto, (max-width: 646px) 100vw, 646px\" \/><\/figure>\n\n\n\n<p>Which&nbsp;will&nbsp;then&nbsp;send a signal to&nbsp;the&nbsp;actual&nbsp;Arduino.&nbsp;Where&nbsp;the&nbsp;Arduino&nbsp;will&nbsp;use&nbsp;serial.read() to&nbsp;get&nbsp;the&nbsp;signal.&nbsp;That&nbsp;way&nbsp;it&nbsp;can&nbsp;handle&nbsp;the&nbsp;slaves and&nbsp;vibrating&nbsp;motors.&nbsp;<\/p>\n\n\n\n<p>A\u00a0little\u00a0side note,\u00a0the\u00a0fingertip\u00a0script\u00a0seen\u00a0here\u00a0aren&#8217;t\u00a0necessarily\u00a0fully\u00a0complete. I am\u00a0currently\u00a0working\u00a0on\u00a0bi-directional\u00a0communication\u00a0between\u00a0the\u00a0Arduino\u00a0and\u00a0Unity\u00a0application.\u00a0\u00a0<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"507\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2019\/11\/image-2-1024x507.png\" alt=\"\" class=\"wp-image-3621\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2019\/11\/image-2.png 1024w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2019\/11\/image-2-300x149.png 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2019\/11\/image-2-768x380.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The image&nbsp;above&nbsp;illustrates&nbsp;the&nbsp;full&nbsp;hierarchy&nbsp;of&nbsp;a hand, in&nbsp;this&nbsp;case&nbsp;the&nbsp;left&nbsp;hand.&nbsp;Once&nbsp;any&nbsp;or more&nbsp;of&nbsp;the&nbsp;turquoise&nbsp;touches&nbsp;something, a&nbsp;vibrating&nbsp;motor for&nbsp;the&nbsp;respective&nbsp;hand and finger&nbsp;should&nbsp;start. The green&nbsp;cube&nbsp;seen&nbsp;in&nbsp;the&nbsp;image is just a placeholder for&nbsp;the&nbsp;interaction&nbsp;Petter is&nbsp;working&nbsp;on.&nbsp;<\/p>\n\n\n\n<p><strong>William<\/strong>&nbsp;<\/p>\n\n\n\n<p>I am&nbsp;now&nbsp;done&nbsp;with&nbsp;the&nbsp;User Interface for&nbsp;our&nbsp;application&nbsp;(there&nbsp;will&nbsp;be&nbsp;small&nbsp;changes\/adjustments). The UI is&nbsp;of&nbsp;course&nbsp;made&nbsp;in&nbsp;Unity, and I have&nbsp;added&nbsp;some&nbsp;implementations&nbsp;and&nbsp;functionalities&nbsp;using&nbsp;C# as&nbsp;you&nbsp;can&nbsp;see&nbsp;in&nbsp;the&nbsp;GIF.&nbsp;&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"654\" height=\"345\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2019\/11\/image-3.png\" alt=\"\" class=\"wp-image-3622\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2019\/11\/image-3.png 654w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2019\/11\/image-3-300x158.png 300w\" sizes=\"auto, (max-width: 654px) 100vw, 654px\" \/><\/figure>\n\n\n\n<p>\u00a0<\/p>\n\n\n\n<p>Short link:&nbsp;<a href=\"https:\/\/gph.is\/g\/Z5nYrxO\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/gph.is\/g\/Z5nYrxO<\/a>&nbsp;<\/p>\n\n\n\n<p>Link:&nbsp;<a href=\"https:\/\/media.giphy.com\/media\/f4aAw5Mrg42apNSL8N\/giphy.gif\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/media.giphy.com\/media\/f4aAw5Mrg42apNSL8N\/giphy.gif<\/a>&nbsp;<\/p>\n\n\n\n<p>HTML5 video:&nbsp;<a href=\"https:\/\/giphy.com\/gifs\/f4aAw5Mrg42apNSL8N\/html5\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/giphy.com\/gifs\/f4aAw5Mrg42apNSL8N\/html5<\/a>&nbsp;<\/p>\n\n\n\n<p><strong>Herman<\/strong>&nbsp;<\/p>\n\n\n\n<p>The&nbsp;two&nbsp;last has&nbsp;been&nbsp;more&nbsp;focused&nbsp;on&nbsp;other&nbsp;classes&nbsp;and I&nbsp;therefore&nbsp;haven\u2019t&nbsp;done as&nbsp;much&nbsp;as I&nbsp;probably&nbsp;should. I have still&nbsp;managed&nbsp;to start&nbsp;further&nbsp;code&nbsp;communication&nbsp;in&nbsp;the&nbsp;gloves,&nbsp;where&nbsp;I have&nbsp;spoken&nbsp;with&nbsp;Daniel&nbsp;about&nbsp;how&nbsp;he&nbsp;wants&nbsp;the&nbsp;information&nbsp;in and&nbsp;out&nbsp;of&nbsp;unity. This, for my part,&nbsp;was&nbsp;a simple&nbsp;Serial.read&nbsp;and&nbsp;Serial.print,&nbsp;but&nbsp;we&nbsp;still&nbsp;need&nbsp;to have a&nbsp;united&nbsp;understanding&nbsp;of&nbsp;how&nbsp;they&nbsp;will&nbsp;communicate. In&nbsp;this&nbsp;case&nbsp;each&nbsp;finger,&nbsp;on&nbsp;one&nbsp;hand, is&nbsp;assigned&nbsp;a&nbsp;value&nbsp;between&nbsp;1-5&nbsp;where&nbsp;each&nbsp;hand is&nbsp;represented&nbsp;as&nbsp;either&nbsp;a negative or a positive&nbsp;value.&nbsp;After&nbsp;this&nbsp;is up to&nbsp;me&nbsp;to make sure&nbsp;that&nbsp;the&nbsp;right&nbsp;information&nbsp;reaches&nbsp;the&nbsp;right unit. This as simple as&nbsp;saying&nbsp;every&nbsp;value&nbsp;between&nbsp;5 and 1 is unit 1 and -5 and -1 is unit 2, and&nbsp;then&nbsp;build&nbsp;it from&nbsp;there.&nbsp;<\/p>\n\n\n\n<p>There&nbsp;is&nbsp;also&nbsp;been&nbsp;made&nbsp;a rough layout&nbsp;of&nbsp;the&nbsp;sensor&nbsp;reading&nbsp;code&nbsp;so&nbsp;that&nbsp;when&nbsp;in&nbsp;week&nbsp;45 I&nbsp;can&nbsp;easily&nbsp;continue&nbsp;the&nbsp;work&nbsp;with&nbsp;putting&nbsp;meat&nbsp;on&nbsp;the&nbsp;bone. As&nbsp;well&nbsp;as&nbsp;this&nbsp;I have&nbsp;soldered&nbsp;the&nbsp;IMU and done a rough test to&nbsp;see&nbsp;if&nbsp;it&nbsp;works&nbsp;and start to&nbsp;figure&nbsp;out&nbsp;which&nbsp;values&nbsp;from&nbsp;the&nbsp;IMU&nbsp;that&nbsp;are&nbsp;needed&nbsp;for&nbsp;this&nbsp;project.&nbsp;&nbsp;<\/p>\n\n\n\n<p>When&nbsp;all&nbsp;this&nbsp;are&nbsp;done,&nbsp;we&nbsp;are&nbsp;going&nbsp;to start&nbsp;testing and&nbsp;error&nbsp;detecting&nbsp;the&nbsp;system.&nbsp;<\/p>\n\n\n\n<p><strong>Tom Erik<\/strong>&nbsp;<\/p>\n\n\n\n<p>The&nbsp;flex&nbsp;sensor signals,&nbsp;require&nbsp;an&nbsp;amplification, to&nbsp;increase&nbsp;the&nbsp;span&nbsp;of&nbsp;sensory&nbsp;points. The&nbsp;micro&nbsp;controllers&nbsp;allows&nbsp;for 8bit&nbsp;sensitivity,&nbsp;currently&nbsp;only&nbsp;about&nbsp;350&nbsp;are&nbsp;being&nbsp;utilized.&nbsp;We&nbsp;consider&nbsp;using&nbsp;an&nbsp;operational&nbsp;amplifier&nbsp;for&nbsp;the&nbsp;amplification.&nbsp;Thought&nbsp;setting it up&nbsp;would&nbsp;be&nbsp;smooth&nbsp;sailing, turns&nbsp;out&nbsp;it&nbsp;wasn\u2019t&nbsp;has spent&nbsp;some&nbsp;time&nbsp;figuring&nbsp;the&nbsp;circuitry&nbsp;out.&nbsp;&nbsp;<\/p>\n\n\n\n<p>Some&nbsp;other&nbsp;sensory&nbsp;testing has&nbsp;also&nbsp;been&nbsp;done.&nbsp;&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Petter&nbsp; Created&nbsp;some&nbsp;custom&nbsp;cube&nbsp;designs and&nbsp;discussed&nbsp;implementation&nbsp;of&nbsp;how&nbsp;our&nbsp;Rubix&nbsp;cube&nbsp;reacts&nbsp;to&nbsp;virtual&nbsp;touch.&nbsp; Daniel&nbsp; I&nbsp;had&nbsp;to&nbsp;rework&nbsp;most&nbsp;of&nbsp;what&nbsp;I&nbsp;did&nbsp;for&nbsp;the&nbsp;previous&nbsp;weeks.&nbsp;Rather&nbsp;than&nbsp;using&nbsp;Leap&nbsp;Motion\u2019s&nbsp;properties&nbsp;and&nbsp;methods,&nbsp;I&nbsp;created&nbsp;my&nbsp;own&nbsp;fingertips&nbsp;using&nbsp;a&nbsp;custom&nbsp;script and&nbsp;sphere&nbsp;3D&nbsp;objects.&nbsp; The image&nbsp;above&nbsp;illustrates&nbsp;the&nbsp;current&nbsp;state&nbsp;of&nbsp;the&nbsp;Unity&nbsp;application.&nbsp;When&nbsp;there\u2019s&nbsp;an&nbsp;impact&nbsp;on&nbsp;any&nbsp;of&nbsp;the&nbsp;fingertips, a&nbsp;function&nbsp;in a script&nbsp;called&nbsp;Arduino.cs&nbsp;will&nbsp;be&nbsp;called.&nbsp;&nbsp; Which&nbsp;will&nbsp;then&nbsp;send a signal to&nbsp;the&nbsp;actual&nbsp;Arduino.&nbsp;Where&nbsp;the&nbsp;Arduino&nbsp;will&nbsp;use&nbsp;serial.read() to&nbsp;get&nbsp;the&nbsp;signal.&nbsp;That&nbsp;way&nbsp;it&nbsp;can&nbsp;handle&nbsp;the&nbsp;slaves and&nbsp;vibrating&nbsp;motors.&nbsp; A\u00a0little\u00a0side note,\u00a0the\u00a0fingertip\u00a0script\u00a0seen\u00a0here\u00a0aren&#8217;t\u00a0necessarily\u00a0fully\u00a0complete. I am\u00a0currently\u00a0working\u00a0on\u00a0bi-directional\u00a0communication\u00a0between\u00a0the\u00a0Arduino\u00a0and\u00a0Unity\u00a0application.\u00a0\u00a0 The image&nbsp;above&nbsp;illustrates&nbsp;the&nbsp;full&nbsp;hierarchy&nbsp;of&nbsp;a hand, in&nbsp;this&nbsp;case&nbsp;the&nbsp;left&nbsp;hand.&nbsp;Once&nbsp;any&nbsp;or more&nbsp;of&nbsp;the&nbsp;turquoise&nbsp;touches&nbsp;something, a&nbsp;vibrating&nbsp;motor for&nbsp;the&nbsp;respective&nbsp;hand and finger&nbsp;should&nbsp;start. The green&nbsp;cube&nbsp;seen&nbsp;in&nbsp;the&nbsp;image is just a placeholder for&nbsp;the&nbsp;interaction&nbsp;Petter is&nbsp;working&nbsp;on.&nbsp; William&nbsp; I am&nbsp;now&nbsp;done&nbsp;with&nbsp;the&nbsp;User Interface for&nbsp;our&nbsp;application&nbsp;(there&nbsp;will&nbsp;be&nbsp;small&nbsp;changes\/adjustments). The UI is&nbsp;of&nbsp;course&nbsp;made&nbsp;in&nbsp;Unity, and I have&nbsp;added&nbsp;some&nbsp;implementations&nbsp;and&nbsp;functionalities&nbsp;using&nbsp;C# as&nbsp;you&nbsp;can&nbsp;see&nbsp;in&nbsp;the&nbsp;GIF.&nbsp;&nbsp; \u00a0 Short link:&nbsp;https:\/\/gph.is\/g\/Z5nYrxO&nbsp; Link:&nbsp;https:\/\/media.giphy.com\/media\/f4aAw5Mrg42apNSL8N\/giphy.gif&nbsp; HTML5 [&hellip;]<\/p>\n","protected":false},"author":72,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[59,1],"tags":[],"class_list":["post-3615","post","type-post","status-publish","format-standard","hentry","category-haptix","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts\/3615","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\/72"}],"replies":[{"embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3615"}],"version-history":[{"count":2,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts\/3615\/revisions"}],"predecessor-version":[{"id":3624,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts\/3615\/revisions\/3624"}],"wp:attachment":[{"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3615"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3615"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3615"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}