<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:media="http://search.yahoo.com/mrss/"
	
	>

<channel>
	<title>tulyhazbar</title>
	<link>https://tulyhazbar.com</link>
	<description>tulyhazbar</description>
	<pubDate>Sun, 15 Sep 2019 19:02:24 +0000</pubDate>
	<generator>https://tulyhazbar.com</generator>
	<language>en</language>
	
		
	<item>
		<title>Workspace For Human-Robot Collaboration</title>
				
		<link>https://tulyhazbar.com/Workspace-For-Human-Robot-Collaboration</link>

		<pubDate>Sun, 08 Sep 2019 21:23:41 +0000</pubDate>

		<dc:creator>tulyhazbar</dc:creator>

		<guid isPermaLink="true">https://tulyhazbar.com/Workspace-For-Human-Robot-Collaboration</guid>

		<description>



 Workspace For&#38;nbsp;Human-Robot Collaboration
I created a prototype work cell for a human and a robot to collaborate on performing table-top object manipulation tasks.&#38;nbsp;






The human-robot team is moving the workpieces from one side of the table to the other while maintaining the same configuration. 


Along with the physical work cell, I created a virtual representation of the setup that can run offline or online. The offline virtual representation allows me to perform pre-interaction analysis for testing and validating the algorithms I am developing. The online virtual representation lets me view what the robot is seeing, thinking, and doing. At this stage, I am utilizing the online virtual representation for debugging. I am exploring other potential use cases that can enhance the human-robot collaboration inspired by the concept of the Digital Twin. 



How I built it
&#38;nbsp;Software: 
 Robot Operating System (ROS).Virtual Robot Experimentation Platform (V-REP). Sensors: 
RGB-D Kinect sensor.Optitrack Motion Capture system.Robot: Sawyer by Rethink Robotics.


How it works&#38;nbsp;

&#60;img width="1493" height="2500" width_o="1493" height_o="2500" data-src="https://freight.cargo.site/t/original/i/caa4c5668cba034084a3560530ae52295665c240fcdc62e40fed0e6ade140ca7/How-I-built-it-no-knowledge.png" data-mid="51529666" border="0" data-scale="100" src="https://freight.cargo.site/w/1000/i/caa4c5668cba034084a3560530ae52295665c240fcdc62e40fed0e6ade140ca7/How-I-built-it-no-knowledge.png" /&#62;</description>
		
	</item>
		
		
	<item>
		<title>Robots as Teammates </title>
				
		<link>https://tulyhazbar.com/Robots-as-Teammates</link>

		<pubDate>Tue, 20 Aug 2019 22:40:16 +0000</pubDate>

		<dc:creator>tulyhazbar</dc:creator>

		<guid isPermaLink="true">https://tulyhazbar.com/Robots-as-Teammates</guid>

		<description>



Task Planning and Execution for Human-Robot Team Performing a Shared Task in a Shared Workspace &#38;nbsp;

 My research goal is to make a robot able to collaborate with a human in performing a shared task. For this goal, a robot needs to think and act while accounting for interaction and coordination with the human rather than think and act in isolation. 

A true collaborative robot is expected to: 
Insure human safety.Be aware of human actions.Have decision-making ability on what it should do (selects its action) without having the human to command it to act.Be able to do this in real-time as the human will keep changing the environment.













The human and the robot are given a table top manipulation task where they have to put a set of workpieces in a given configuration. Given a set of actions to be performed (to pick, to manipulate, to place) and the set workpieces on which the actions are performed on, the robot should select a workpiece and perform the action autonomously but being aware of the human actions and the changes in the workspace.
How I built it&#38;nbsp;

	As a first step towards this research, I create a workspace for the human-robot team to collaborate. This includes the physical set up to help the robot perceive the human, the workpieces, and the environment. More information regarding the workspace can be found in Workspace for Human-Robot Collaboration.
 
	&#60;img width="1552" height="953" width_o="1552" height_o="953" data-src="https://freight.cargo.site/t/original/i/bead8d14f7308c4a59a0f7cc5c615a88e913b30ae97728f8edc8582508150620/setup.png" data-mid="51719610" border="0" data-scale="95" src="https://freight.cargo.site/w/1000/i/bead8d14f7308c4a59a0f7cc5c615a88e913b30ae97728f8edc8582508150620/setup.png" /&#62;

Robot Knowledge:&#38;nbsp;

The human is far superior to its robot counterpart in terms of forming connections and contextualizing the data it gathers through the human senses. It is essential to compensate for the unbalance of capabilities as a first step towards studying and improving any aspect of any HRC scenario. The robot needs to have an understanding of the changes in the environment. The type of data it gathers through perception is not enough to support the process of decision making. It needs some higher-level understanding of the environment. This layer is created and shared with other modules through ROS services and ROS topics. 

 
&#60;img width="1303" height="475" width_o="1303" height_o="475" data-src="https://freight.cargo.site/t/original/i/3488221faadbc438ddb9b626f6f13f7f1500b53a4f69164b5e66a5a9ac873af0/start_making_sense.png" data-mid="51800164" border="0"  src="https://freight.cargo.site/w/1000/i/3488221faadbc438ddb9b626f6f13f7f1500b53a4f69164b5e66a5a9ac873af0/start_making_sense.png" /&#62;
Task progress: how many workpieces need to be manipulated to achieve the final task goal.Human goal: predicting the workpiece the human wants to manipulate based on the human hand trajectory.Workpieces status: a workpiece can be in one of these four different statuses: being manipulate by the human, or by the robot, in its final placement location or needs to be manipulated.Human-robot collision: event where the minimum distance between human and robot is below a predefined threshold. Robot goal: the workpiece the robot should manipulate based on its current location in the workspace with respect to the workpieces that need to be manipulated. This will change after the robot evaluates all the current state of the environment. 
Robot Reasoning For Action Selection and Execution 
Based on the nature of table-top object manipulation tasks, I divided the robot's ability to reason and select its actions in two levels: the robot reason about which object it should manipulate, and the robot's reasoning about human safety when executing a sequence of object manipulation actions. The robot needs to select and execute -on the fly- an action from a set of possible actions taking into consideration the human activity in the workspace. Selecting a workpiece for the robot to manipulate&#38;nbsp;The human and the robot share the same set of workpieces to manipulate. An algorithm is developed as a conflict resolution mechanism to avoid the scenario where both teammates try to manipulate the same workpiece.&#38;nbsp;

Safe action execution&#38;nbsp;After selecting a workpiece to manipulate, the robot starts executing a sequence of actions needed to place the workpiece in the location defined by the task’s end goal. During execution, the robot should still be aware of the human actions and position within the workspace to adapt to changes that require the robot to change its action on the fly. The distinction between task planning and execution at this level is blurred since planning, and execution occurs intermixed. The robot should be able to prioritize some actions over some others. A lower priority task should be preempted if a higher priority task needs to be performed. For example, an action towards preventing collision with a human should be at higher priority compared to performing an action towards the completion of the task. The robot behavior should support concurrency, where multiple tasks can run in parallel. While Finite State Machine makes a good approach in programming reactive systems, It is difficult to represent complex systems with classical FSM models. This is due to the flatness of the state model and its lack of support for concurrency. In my system, I used a python library called SMACH to build and execute hierarchical concurrent state machines. 
&#60;img width="1554" height="944" width_o="1554" height_o="944" data-src="https://freight.cargo.site/t/original/i/759fe0c7eb8e805de690c09c7804dd448341aa1cdce978b070c0deb0ff895773/CHFSM_1.png" data-mid="50239532" border="0" data-scale="100" src="https://freight.cargo.site/w/1000/i/759fe0c7eb8e805de690c09c7804dd448341aa1cdce978b070c0deb0ff895773/CHFSM_1.png" /&#62;User Studies&#38;nbsp; I am currently conducting more user studies to validate the developed system. I am evaluating collaboration through both objective and subjective metrics. The following explains the objective metrics of interest:
Robot Idle Time: Percentage of time out of the total task time, during which the robot has been not active. The robot can be idle due to predefined rules to prevent the human-robot collision.Human Idle Time: Percentage of time out of the total task time, during which the human has been not active.Number of Collisions between the human and robot : (Note: Collision is defined as the event where the minimum distance between human and robot is below a predefined threshold.)Functional Delay: Percentage of time out of the total task time, between the end of one agent’s action and the beginning of the other agent’s action.Concurrent activity: Percentage of time out of the total task time, during which both agents have been active at the same time.Concurrent activity in the same workspace area: Percentage of time out of the total task time, during which both agents have been active at the same time within the same workspace area.The number of actions performed by each agent: In our HRC scenario, we count the number of workpieces manipulated by each agent.Time to complete the task: i.e. the time taken to place the 9 workpieces in their target locations.
To measure the participant perceived sense of robot collaboration, the participant is asked to answer a seven-point Likert scale survey.&#38;nbsp;</description>
		
	</item>
		
		
	<item>
		<title>Robot Imitates Human Motion</title>
				
		<link>https://tulyhazbar.com/Robot-Imitates-Human-Motion</link>

		<pubDate>Tue, 20 Aug 2019 22:40:17 +0000</pubDate>

		<dc:creator>tulyhazbar</dc:creator>

		<guid isPermaLink="true">https://tulyhazbar.com/Robot-Imitates-Human-Motion</guid>

		<description>





Robot Imitates Human Motion





Reprogramming robots to perform a task consume time and reduce the productivity of the industry process, especially in industries that undergo many changes in their operations. An old solution to this problem was to let human operator control the robot using devices like keyboard and joysticks. This solution becomes more cumbersome on the human operator as the task increases in complexity. An alternative way is to let robots learn a task demonstrated by a human expert. This way of implicit programming of robots is called Learning From Demonstration (LfD). As a first step to achieve this larger goal, the robot should be able to track and mimic the human motion.





	I proposed and implemented a methodology to map a human arm motion to a robot arm motion. I showcased the project at Imagine RIT 2018: Creativity and Innovation Festival, visited by more than 35,000 visitors.
	 







 

 


















How I built it
Skeletal Tracking/Skeletal Data 
	In this project Kinect V1 is used for skeletal tracking. Kinect is a low cost motion sensing camera created by Microsoft. Kinect has an RGB camera, 3D depth sensor on the front. The skeletal tracking algorithm detects the joints of the human using the RGB camera and the 3D depth sensor. It represents the joints as a point (x,y,z) in a 3D space. The skeletal data acquired from Kinect is 20 joint-points of the human being tracked. The graphic shows the skeletal joints the kinect returns.The goal of this project is to mimic the upper body movement of the human. Therefore, the focus will be on 8 joint points out of the 20 acquired from Kinect. The joint points of interest are the following: shoulder, elbow, wrist and hip for both the left and right sides.
	
&#60;img width="426" height="615" width_o="426" height_o="615" data-src="https://freight.cargo.site/t/original/i/4107bd84b9d98813cb22f6a8d1c1ff0888aaa60b758ef99d06a5cf68952c6fb7/skeletalData.png" data-mid="49906482" border="0" data-scale="100" src="https://freight.cargo.site/w/426/i/4107bd84b9d98813cb22f6a8d1c1ff0888aaa60b758ef99d06a5cf68952c6fb7/skeletalData.png" /&#62;
Baxter Research Robot / Arm joint Control 
Baxter robot is used in this project. Baxter is an anthopomorphic robot sporting two seven degree-of-freedom arms. &#38;nbsp;Baxter provides a stand-alone Robot Operating System (ROS) ROS Master to which any development workstation can connect and control Baxter via the various ROS APIs. To control Baxter arms one of the following control modes can be used: Joint Position Control, Joint Velocity Control and Joint Torque Control. Joint Position Control mode is used in the project. In this mode, the desired joint angles values are specified. Typically it consists of the following seven values:



	Elbow Roll: E0Shoulder Yaw: S0Wrist Roll: W0second Wrist Roll: W2
&#60;img width="378" height="454" width_o="378" height_o="454" data-src="https://freight.cargo.site/t/original/i/82d8d6146a23c671ba60a7c14a4e48339442457183a6b8834cdf201582c68529/twist_joints.png" data-mid="49911063" border="0" data-scale="75" src="https://freight.cargo.site/w/378/i/82d8d6146a23c671ba60a7c14a4e48339442457183a6b8834cdf201582c68529/twist_joints.png" /&#62;


	Shoulder Pitch: S1Elbow Pitch:E1Wrist Pitch: W1
&#60;img width="522" height="345" width_o="522" height_o="345" data-src="https://freight.cargo.site/t/original/i/238486237242b719f45fc4000b0a6f81bdf8220b2a1e7ace89a24f6f7a61e1d8/bend_jointds.png" data-mid="49911062" border="0"  src="https://freight.cargo.site/w/522/i/238486237242b719f45fc4000b0a6f81bdf8220b2a1e7ace89a24f6f7a61e1d8/bend_jointds.png" /&#62;

MATLABI used MATLAB to aquired Kinect data, process and to control the motion of Baxter’s arms. I used MATLAB Image Acquisition Toolbox support package for Kinect to enable acquiring kinect image sensor data directly into MATLAB.Using MATLAB’s Robotics System Toolbox, a workstation was created to control and communicate with Baxter.&#60;img width="622" height="450" width_o="622" height_o="450" data-src="https://freight.cargo.site/t/original/i/e0693784eee302d0df4ab70702c9ebfef9756c5ac6c7c672cb73f95f7128a10b/SystemConfig.png" data-mid="49895165" border="0" data-scale="100" src="https://freight.cargo.site/w/622/i/e0693784eee302d0df4ab70702c9ebfef9756c5ac6c7c672cb73f95f7128a10b/SystemConfig.png" /&#62;  Robotics System Toolbox provides an interface between MATLAB and ROS that enables the communication with a ROS network. A ROS node was created in MATLAB to communicate with ROS Master, Running on Baxter, to enable creating, sending ROS messages, publishing, and subscribing directly from MATLAB.How it worksThe system consists of three main parts: human joint positions tracking (skeletal tracking); calculating the human joint angles and mapping them to the robot arm; and controlling the robot arms. Based on the analysis made on human arm, 4 joint angles were decided to be sufficientin describing human arm movements. The following are the four angles calculated using Kinect skeletal data: Shoulder Pitch, Shoulder Yaw, Shoulder Roll and Elbow Pitch for both left and right arms. 

&#60;img width="2493" height="1620" src="https://freight.cargo.site/w/2493/q/67/i/6d060e7176b6ebf475b4a6276a0628a64c0288c229e12713dee7027998aa5ca9/Program-Flow-.png" style="width: 587px; height: 381.444px;"&#62;The angles were found based on geometric relations between the acquired joint points from Kinect. I found the coordinates of the vectors that connects two sequential points aquired by kinect and then found the lengths of these vectors :&#38;nbsp; &#60;img width="407" height="80" src="https://freight.cargo.site/w/407/q/94/i/f326896eadb97ad19912791e9cc6f2ee590bd2f7a035c9f0be21694e710802bc/length_of_vector.png" style="width: 407px; height: 80px;"&#62;since the dot product expresses the angular relationship between two vectors, the angle can be found by :&#38;nbsp;



&#60;img width="611" height="99" width_o="611" height_o="99" data-src="https://freight.cargo.site/t/original/i/affc9be767d9ca238a9edcc1309ff525686b7a646b114709d68974928f7b857f/Untitled-drawing-2.png" data-mid="51812530" border="0"  src="https://freight.cargo.site/w/611/i/affc9be767d9ca238a9edcc1309ff525686b7a646b114709d68974928f7b857f/Untitled-drawing-2.png" /&#62;To map the found angles to the corresponding angles of the robot, I perforemed an analysis that highlight the differences between each joint angle of the human arm and its corresponding Baxter arm joint. Based on Baxter hardware specifications of the joints provided by Rethink Robotics some adjustments of the found anglres had to be made so the robot arm motion matches the human motion as much as possible. The shoulder joint of the human arm is a spherical joint. It allows rotation about the x (Roll), y (Yaw) and z (pitch) axes. Since Baxter only have either bend or twist joints, the shoulder joint of the human arm will be represented by three different joints in Baxter arm: Shoulder Yaw (S0), Shouler pitch (S1) and Shoulder Roll (E0). The elbow joint of the human is representted by the Elbow Pitch joint (E1) of baxter. 
</description>
		
	</item>
		
		
	<item>
		<title>Advanced Manufacturing Using Cobots</title>
				
		<link>https://tulyhazbar.com/Advanced-Manufacturing-Using-Cobots</link>

		<pubDate>Sat, 07 Sep 2019 01:51:47 +0000</pubDate>

		<dc:creator>tulyhazbar</dc:creator>

		<guid isPermaLink="true">https://tulyhazbar.com/Advanced-Manufacturing-Using-Cobots</guid>

		<description>



Advanced Manufacturing Using Collaborative Robots







My team and I researched the possibility of using a UR10 robot to perform a secondary operation with an injection-molding machine to increase the efficiency and output of the process.The robot performs two secondary tasks: loading the bore and bolt inserts onto the injection mold plate and unloading the plastic molded part onto a conveyor for cooling and setting.

In order to ensure robust picking and placing operation an end effector was designed. The design takes into consideration the following: minimizing robot movement, the available space of movement for placing and picking the parts and&#38;nbsp; optimizing the cycle time.&#38;nbsp;
I was responsable for&#38;nbsp;creating a digital twin for the injection molding process combined with a UR10 robot (Universal Robots). I performed cycle time analysis for different end effector designs.&#38;nbsp;Optimized the cycle time through the robot motion planning.


How we built itI used the Virtual Robot Experimentation Platform (V-REP) to create and run the simulation and analysis. I created a replica of the plastic injection molding process components in the virtual environment with the use of the CAD models provided by the company and accurate measurements taken through a site visit. While my team brainstorm prototypes for the end effector, I update the simulation and run cycle time analysis to compare different end effector prototypes. 


	
    
	










These two videos show different end effector prototypes. Instead of manipulating one object at a time, these two end effector prototypes manipulate multiple objects as a single batch, which affect the cycle time of the process. 


</description>
		
	</item>
		
		
	<item>
		<title>This UI Blows</title>
				
		<link>https://tulyhazbar.com/This-UI-Blows</link>

		<pubDate>Tue, 20 Aug 2019 22:40:17 +0000</pubDate>

		<dc:creator>tulyhazbar</dc:creator>

		<guid isPermaLink="true">https://tulyhazbar.com/This-UI-Blows</guid>

		<description>



Towards a Large-Scale Dynamic Air-Jet-Based Haptic DisplayFuture Everyday Technology Lab, RIT, NYCollaborators: Sangram Pawar, Tanmay Songade and Eve Hoggan.  Supervised by: Prof. Daniel Ashbrook&#38;nbsp;

Motivation&#38;nbsp;
Our vision is a display that can be used to display information in multiple modalities; for example a static map might be augmented with air jets to dynamically indicate population growth over time. Such a display should be large enough to support multiple simultaneous users, have a high-enough resolution to form continuous shapes and lines, and be able to be mixed with other modalities such as projected imagery.

&#60;img width="1274" height="673" width_o="1274" height_o="673" data-src="https://freight.cargo.site/t/original/i/65b4563634226f757fd6dfc7cf7da3f7931c9456fe4b41e3370cf7e1d88c1335/hardware.jpg" data-mid="49052487" border="0" data-scale="88" src="https://freight.cargo.site/w/1000/i/65b4563634226f757fd6dfc7cf7da3f7931c9456fe4b41e3370cf7e1d88c1335/hardware.jpg" /&#62;


How we built it&#38;nbsp;
 A group of HCI students and I collaborated to run studies on human perceptual capabilities when interacting with air jets. Through these studies we were able to determine the two-point discrimination threshold for jet proximity and the just noticeable difference threshold for groups of jets. At the same time we were creating/iterating the prototype based on the of outcomes of the studies. Our results offer design guidelines for future air-jet-based haptic displays. In this research I contributed by constructing a working prototype of the air jet display with an array of 32 computer-controlled air valves. Then, I designed and conducted experiments to evaluate and study the user ability to understand graphics displayed with and without pulsation of air jets using the final prototype of the display that I constructed. I designed procedure for users studies, wrote the questionnaire, and interviewed the 20 participants about their experiences.&#38;nbsp;


How it works&#38;nbsp;


I&#38;nbsp; built the display using an array of 32 computer-controlled air valves. Each valve protrudes through a sheet of acrylic secured in the box. As the valves are approximately 10x12 mm in profile—far larger than our optimal 4.3 mm spacing—I run a 6 cm tube from each valve to a second acrylic sheet with laser-cut holes spaced 4.3 mm apart. &#60;img width="1086" height="724" width_o="1086" height_o="724" data-src="https://freight.cargo.site/t/original/i/dff5f504c81b198ef5ccd443510fe4b5904ed3ca062f75b307460209db07989d/graphbox_side_3.jpg" data-mid="49052484" border="0" data-scale="100" src="https://freight.cargo.site/w/1000/i/dff5f504c81b198ef5ccd443510fe4b5904ed3ca062f75b307460209db07989d/graphbox_side_3.jpg" /&#62;The tubes have an inner diameter of 0.51 mm and an outer diameter of 1.52 mm, and fit securely within the opening of the valves. The valves are controlled via shift registers connected to an Arduino, in turn connected to a computer.


Prototype Evaluation

&#60;img width="5184" height="3456" width_o="5184" height_o="3456" data-src="https://freight.cargo.site/t/original/i/524eea5f5309db01526b63cb8d825fd4502a5f1d33816347baa1176764bdcbf2/IMG_9317.JPG" data-mid="50239694" border="0" data-scale="73" src="https://freight.cargo.site/w/1000/i/524eea5f5309db01526b63cb8d825fd4502a5f1d33816347baa1176764bdcbf2/IMG_9317.JPG" /&#62;

Although consisting of only 32 vales, our prototype enablesus to validate our study findings with an application test, as well as to add dynamics to the display. Our evaluation is intended as a proof-of-concept of our system, to illustrate that in operation it can be used to display simple graphics, and to determine whether its ability to dynamically vary its output can lead to improved user perception.&#38;nbsp;






</description>
		
	</item>
		
		
	<item>
		<title>Emerging Technologies For The Store of The Future</title>
				
		<link>https://tulyhazbar.com/Emerging-Technologies-For-The-Store-of-The-Future</link>

		<pubDate>Sat, 07 Sep 2019 16:36:51 +0000</pubDate>

		<dc:creator>tulyhazbar</dc:creator>

		<guid isPermaLink="true">https://tulyhazbar.com/Emerging-Technologies-For-The-Store-of-The-Future</guid>

		<description>



Scan it &#38;amp; Go&#38;nbsp;



My team and I developed an automated checkout system. The system comprising a customer device and a point of sale device installed in-store point of sale locations. I took part in every stage of the system lifecycle, from ideation, design, and engineering, through deployment.I am filed as an inventor on the patent.

&#60;img width="577" height="560" width_o="577" height_o="560" data-src="https://freight.cargo.site/t/original/i/d12bb7405ebec375f91b229ae833476cc8bc6cdc2969bd57355dd022721593e6/Screenshot_2019-09-11_12-13-33.png" data-mid="50393828" border="0" data-scale="100" src="https://freight.cargo.site/w/577/i/d12bb7405ebec375f91b229ae833476cc8bc6cdc2969bd57355dd022721593e6/Screenshot_2019-09-11_12-13-33.png" /&#62;
&#38;nbsp;A block diagram of the interactions between the customer device and the point of sale device.

&#60;img width="764" height="531" width_o="764" height_o="531" data-src="https://freight.cargo.site/t/original/i/659d75410fdd2abe57c6ff911289163c2ebd76e425d6d4c8c3d5cca75bba974a/b.png" data-mid="50393826" border="0"  src="https://freight.cargo.site/w/764/i/659d75410fdd2abe57c6ff911289163c2ebd76e425d6d4c8c3d5cca75bba974a/b.png" /&#62;

The hardware used in the system. &#38;nbsp;</description>
		
	</item>
		
		
	<item>
		<title>This Is My Jam</title>
				
		<link>https://tulyhazbar.com/This-Is-My-Jam</link>

		<pubDate>Sun, 15 Sep 2019 19:02:24 +0000</pubDate>

		<dc:creator>tulyhazbar</dc:creator>

		<guid isPermaLink="true">https://tulyhazbar.com/This-Is-My-Jam</guid>

		<description>

Electroencephalography and Musical Preference Correlation


 A research project I conducted in Spring 2016 as part of the BioRobotics/Cybernetics course. Motivation&#38;nbsp;
As someone who is always searching for a new favorite song, I was interested in discovering ways that will help others like me find songs which match their music preferences without an exhausting hunt. I found in this project the opportunity to explore a question I had: if music influences our brain activity, is there a difference in our brain activity when listening to music we like and music we dislike? 

How I built itI collected, preprocessed, and extracted features from raw EEG data to explore if there is a difference in our brain activity when listening to music we like and music we dislike. I used Support Vector Machine algorithm to solve my classification problem which provided a classification accuracy of 87% for one participant (me :D).&#38;nbsp;
















</description>
		
	</item>
		
		
	<item>
		<title>Drawing Machine</title>
				
		<link>https://tulyhazbar.com/Drawing-Machine</link>

		<pubDate>Tue, 20 Aug 2019 22:45:13 +0000</pubDate>

		<dc:creator>tulyhazbar</dc:creator>

		<guid isPermaLink="true">https://tulyhazbar.com/Drawing-Machine</guid>

		<description>


Drawing Machine

I created a large scale polargraph plotter for use on a dry erase surface. It would be able to draw a variety of two dimensional drawings on a vertical surface. By following a series of use input commands, or commands pre-defined by a script, th robot would move a marker to various points on the dr erase surface. Also, it has the capability to lift the marker off of the surface in order to create drawings in different areas of the workspace independently. 




How I built it
The robot was designed around the use of two 26Ncm, 20 steps per rotation stepper motors, which were placed in the tw top corners of the workspace. The motors were chosen for their high static torque, which is needed to maintain position whe the carriage is free hanging, as well as the low cost and size. The motors were mounted using two 3D printed mounts which fit onto the rail which is attached to the top of the&#38;nbsp; dry erase boards. These motors turn two 3D printed spools whic each hold a length of line, at the end of which is connected the marker carriage. The line is run through two small magnetic loops which are attached to the dry erase board, keeping the line and therefore the marker carriage close to the board to ensur consistent and even drawing quality. The marker carriage is made using a laser cutter, and holds both the marker, and a small 5V servo motor used to remove the marker from the drawing surface. The servo actuate a small arm, which is used to push the carriage, and the marker, away from the board. This allows the carriage to be moved without drawing a line across the surface.

The workspace of the robot is 1m2, though it is easil expandable due to the modular nature of the machine, meaning that it can be used on a wide range of dry erase drawing surfaces.To control the motors I used Arduino Uno paired with a Adafruit Motor Shield v2. This motor shield controls two stepper motors which control the position of the marker, and one servo motor, which handles removing the marke from the drawing surface. It runs a gcod interpreter, which creates a simple to understand interface for the user, and for external programs, to run the plotter.The Arduino Uno was coded using the native Arduin development environment. The Adafruit Motor Shield v2 was used in conjunction with the Arduino in order to provid control signals to the 12V stepper motors, as well as the 5V servo motor. A gcode interpreter was implemented to accept user
and program input over a serial interface to the Arduino. By
using this well-established interface, the robot is able to interface with a variety of programs which can convert images to gcode. The interprete can accept position commands both in real time, and as a batch program.














</description>
		
	</item>
		
		
	<item>
		<title>Ambient Display </title>
				
		<link>https://tulyhazbar.com/Ambient-Display</link>

		<pubDate>Sun, 08 Sep 2019 03:55:08 +0000</pubDate>

		<dc:creator>tulyhazbar</dc:creator>

		<guid isPermaLink="true">https://tulyhazbar.com/Ambient-Display</guid>

		<description>



Ambient Display
Prototyping Wearable and Internet of Things Devices course project, Fall 2016
Collaborator: Zhiyuan Li

We created an ambient display that informs the user on how much time he/she spent on social media on this day by changing the shape of a display made out of fabric. 
What is an ambient dispaly?&#38;nbsp;
“It is an aesthetically pleasing display of
information which sit on the periphery of a user’s attention. It generally support monitoring of noncritical information.”




How we built it
	The display includes: 
Laser cut fabric frames
3D printing componentsServo motors&#38;nbsp;Particle photon device

&#60;img width="640" height="480" width_o="640" height_o="480" data-src="https://freight.cargo.site/t/original/i/751ce29c6da4162ac7ea23ac77b7c361a45f4ca3d652420a2ffd856990596068/IMG_1708.JPG" data-mid="50102845" border="0" data-scale="98" src="https://freight.cargo.site/w/640/i/751ce29c6da4162ac7ea23ac77b7c361a45f4ca3d652420a2ffd856990596068/IMG_1708.JPG" /&#62; We did experiments on the extension level of different types of fabric and the estimation of needed servo's torque. 
&#60;img width="609" height="456" width_o="609" height_o="456" data-src="https://freight.cargo.site/t/original/i/4fb99fc35f2eb1dfbcf044a5635ae90e2d6051e7c027ae99b82656c9b1a4bc54/IMG_1711.jpg" data-mid="51314270" border="0" data-scale="100" src="https://freight.cargo.site/w/609/i/4fb99fc35f2eb1dfbcf044a5635ae90e2d6051e7c027ae99b82656c9b1a4bc54/IMG_1711.jpg" /&#62;The fabric is stretched on a laser-cut acrylic frame. We 3d printed hooks to hang the display on a pegboard. 
&#38;nbsp;
	
	
&#60;img width="480" height="640" width_o="480" height_o="640" data-src="https://freight.cargo.site/t/original/i/df3e56591be0bb2a0d9df380efaec306c1884fbf6f20f13ad8ae6fe37fa39970/IMG_1698.JPG" data-mid="50102847" border="0" data-scale="91" src="https://freight.cargo.site/w/480/i/df3e56591be0bb2a0d9df380efaec306c1884fbf6f20f13ad8ae6fe37fa39970/IMG_1698.JPG" /&#62;We designed and 3D printed this servo linear actuator base that holds the three servos together: one motor for linear motion and two for rotational motion. &#38;nbsp;The particle photon device is used to get data and control the servos.

&#60;img width="1163" height="996" width_o="1163" height_o="996" data-src="https://freight.cargo.site/t/original/i/73892527c8a2bb6c49cd30c4073770789f79e4faf7b2a49bf6c53e170bb344ad/two_discs.png" data-mid="51313634" border="0" data-scale="100" src="https://freight.cargo.site/w/1000/i/73892527c8a2bb6c49cd30c4073770789f79e4faf7b2a49bf6c53e170bb344ad/two_discs.png" /&#62;Two discs of variant sizes were stitched into the center of the fabric.



How it works

The user inputs the maximum time he/she want to spend on social media for the day. Through&#38;nbsp; "TimeDoctor" , an application for productivity, the time spent of twitter and facebook will be tracked. We will get the data using&#38;nbsp; TimeDoctor API and display the data through changing the fabric shape.

Based on the time the user spent on social media, the center of the fabric will be pulled inside and the two circles will twist the fabric. Users can get a idea of the time amount they spent on social media by glancing at how deep the fabric center is and how much the fabric is twisted.&#38;nbsp;
















</description>
		
	</item>
		
		
	<item>
		<title>Game</title>
				
		<link>https://tulyhazbar.com/Game</link>

		<pubDate>Sun, 08 Sep 2019 04:28:12 +0000</pubDate>

		<dc:creator>tulyhazbar</dc:creator>

		<guid isPermaLink="true">https://tulyhazbar.com/Game</guid>

		<description>



GamePrototyping Wearable and Internet of Things Devices course project, Fall 2016

&#60;img width="4032" height="3024" width_o="4032" height_o="3024" data-src="https://freight.cargo.site/t/original/i/f15f839ecd0995deda981032bd5c7015c9f636eb610ef94354739768897d6696/46dfb2cc-ab3a-11e6-9bcb-406a71bc91d6.jpg" data-mid="50103187" border="0"  src="https://freight.cargo.site/w/1000/i/f15f839ecd0995deda981032bd5c7015c9f636eb610ef94354739768897d6696/46dfb2cc-ab3a-11e6-9bcb-406a71bc91d6.jpg" /&#62;


How I built it

&#60;img width="3264" height="2448" width_o="3264" height_o="2448" data-src="https://freight.cargo.site/t/original/i/ac99c01e6314f6bbbcf1add53299f838e07cb33a26d61726b91fccc9a0ca5a9f/IMG_6104.jpg" data-mid="50103232" border="0" data-scale="49" src="https://freight.cargo.site/w/1000/i/ac99c01e6314f6bbbcf1add53299f838e07cb33a26d61726b91fccc9a0ca5a9f/IMG_6104.jpg" /&#62;
	&#60;img width="3264" height="2448" width_o="3264" height_o="2448" data-src="https://freight.cargo.site/t/original/i/4a43339574535c353a933fb67e30f49c04843c7b732072a072db144d3e5fb1dc/IMG_6105.jpg" data-mid="50103235" border="0" data-scale="99" src="https://freight.cargo.site/w/1000/i/4a43339574535c353a933fb67e30f49c04843c7b732072a072db144d3e5fb1dc/IMG_6105.jpg" /&#62;
	&#60;img width="3264" height="2448" width_o="3264" height_o="2448" data-src="https://freight.cargo.site/t/original/i/93fb892736b76ab568c29b121784c6d59cfe045c20c5be57e8a4925f793aab6f/IMG_6106.jpg" data-mid="50103233" border="0"  src="https://freight.cargo.site/w/1000/i/93fb892736b76ab568c29b121784c6d59cfe045c20c5be57e8a4925f793aab6f/IMG_6106.jpg" /&#62;

&#60;img width="1563" height="1080" width_o="1563" height_o="1080" data-src="https://freight.cargo.site/t/original/i/2ef10d4f73956b0e487ad6705d0a5089452c694f839e1bb5c99d876668118c1c/all-1.png" data-mid="51321704" border="0"  src="https://freight.cargo.site/w/1000/i/2ef10d4f73956b0e487ad6705d0a5089452c694f839e1bb5c99d876668118c1c/all-1.png" /&#62;&#60;img width="1307" height="824" width_o="1307" height_o="824" data-src="https://freight.cargo.site/t/original/i/7c6910df11b843f33e9bb8295d4dc1985200d78888ca388b47258cd87140ee23/two.png" data-mid="51321667" border="0"  src="https://freight.cargo.site/w/1000/i/7c6910df11b843f33e9bb8295d4dc1985200d78888ca388b47258cd87140ee23/two.png" /&#62;&#60;img width="1441" height="854" width_o="1441" height_o="854" data-src="https://freight.cargo.site/t/original/i/08bb251776584ec5654d1a19fd7f08c324d343c9c8f1523ea8d376ecdaa285ec/four-1.png" data-mid="51321665" border="0"  src="https://freight.cargo.site/w/1000/i/08bb251776584ec5654d1a19fd7f08c324d343c9c8f1523ea8d376ecdaa285ec/four-1.png" /&#62;&#60;img width="1441" height="854" width_o="1441" height_o="854" data-src="https://freight.cargo.site/t/original/i/01303d15918d7073bbd5f061a572e1a7b17c9c02b50f8a393a219e4f158c7ad7/five.png" data-mid="51321664" border="0"  src="https://freight.cargo.site/w/1000/i/01303d15918d7073bbd5f061a572e1a7b17c9c02b50f8a393a219e4f158c7ad7/five.png" /&#62;

























</description>
		
	</item>
		
	</channel>
</rss>