Course Overview
This course will introduce candidates to Human Machine Interaction (HMI) and focus on designing interaction technologies for different environments from physical world to virtual world. It will walk through different modalities of interacting with machines(HMI) / computers(HCI) from history to state-of-the-art. It will emphasise on the methods of designing and evaluating different user interfaces (UI) to enhance user experience (UX). The candidates will get exposed to existing state-of-the-art technologies like eye-gaze tracking, hand-movement tracking, full-body motion tracking and have a hands-on experience working with these systems to build and develop new technologies for present and future. They will also get exposed to different programming languages like Visual C#, Python and multiple hardware platforms like Arduino, Raspberry Pi, NodeMCU / Seeduino (IoT module). This course will also help them in extending their careers in HCI for automotive, aviation, music, robotics (HRI), Severe Speech and Motor Impairment (SSMI) community.
Venue: 601H-O, 5th floor, Diamond Jubilee Building, Department of Design
Time: Monday, Thursday 2PM-3.30PM
Course Objectives:
Introduce candidates to HMI and its applications
Train them in software programming for GUI development
Get hands-on in building hardware prototypes and integrate with GUI
Train them in conducting user studies and carry out research
Learn the concepts by doing projects
Candidates will have access to HIVE (Harmony, Interaction, Versatile Exploration Lab), the first HMI lab at IIT Kanpur, for doing the projects and hands on training. No prerequisites required for this course. Prior knowledge/experience in Arduino and python programming may be helpful but not mandatory. This is an interdisciplinary course that trains students in designing and developing interaction technologies in physical as well as virtual world. It gives a foundation of programming the front-end as well as back-end of a GUI and integrate with the hardware system developed using Arduino or Raspberry pi. This course is structured in such a way that the candidates will learn the concepts by practice (design projects).
Topics covered:
Introduction to Human Machine Interaction (HMI)
Machines, senses, and perception
Waves of HCI
Human Centred Design
Affordances, conceptual model, and signifiers
Fitts Law
Interaction Modalities
GUIs, Gaze, and Gesture-based Interaction
Hand Interactions
Pointing and Icons
Haptic and sensing devices
Data Visualisation / Sonification / Physicalisation
Voice Interaction / Smart Assistants
Multimodal Interaction
HMI Applications
Wearables and Materials
Accessibility and Inclusive Design
Human AI Collaboration
Human-Robot Interaction
Human Music Interaction
Immersive & Ubiquitous Interaction
Metaverse Interaction (AR / VR / MR / XR)
Interaction Technologies Design - Software
Design Thinking
Practice on Python Programming
Develop Graphical user Interface (GUI) in Python and Visual Studio (C#)
Communicate between python and C# using socket programming
Wireless Communication (IoT Modules)
Multithreading for GUI
Interaction Technologies Design - Hardware
Introduction to Arduino, Sensors and Actuators
Integrate sensors and actuators signals with the developed GUI
Deploy the entire system on Raspberry Pi or any single board computer (SBC)
Hands on training with Hand tracker, eye-gaze tracker, full body motion tracker
HMI Research
Quantitative Research
Qualitative Research
Problem Definition
Experiment Design
User Study
Data collection
Data analysis
Inferencing
HMI Design Project
Pick up a problem statement
Identify pain points of human users
Design a product which could provide the best experience with your proposed interface
Project review meetings
Additional Exercises based on project requirement
Based on students’ interest and project requirements, they will be guided in learning and practicing the following in their projects.
Applied Digital Signal Processing
Computer / Machine Vision
Applied Machine Learning
Applied Deep Learning
Lecture Notes