Skip to content

Repository for code written as part of my Bachelor Thesis.

Notifications You must be signed in to change notification settings

abdullahgulraiz/SyncroRun

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Purpose Maintenance

SyncroRun

The repository serves to host the code written as part of my bachelor thesis at Department of Mechatronics Engineering, National University of Sciences and Technology, Pakistan. The project developed was a prototype of the US-patent US 8926475B2.

Introduction

People using a treadmill find it impractical to view their personal mobile/tablet/e-reader whilst running. The project aimed at developing an eight-bar parallel robotic manipulator that could synchronize the motion of a mobile/tablet/e-reader device mounted on the manipulator with the motion of the face of a person running on a treadmill. The concept revolves around use of a controller to synchronize phase and frequency of a manipulator that traced a fixed figure-8 trajectory with the phase and frequency of user's face (captured through stationary monocular camera), by emulating a sagittal symmetric trajectory of user's face in the coronal plane. The contraption is mounted onto or beside treadmill, and is positioned in front of user at comfortable viewing distance. The system was tested by multiple persons running with different speeds, and successful synchronization was observed to be achieved. It was demonstrated that accuracy of synchronization and time required to synchronize both depended on the speed of treadmill runner, with stable and faster synchronizations being achieved at lower to moderate speeds.

Concept Animation

Demonstration Videos

Technical Aspects

The custom robotic manipulator was driven by an Arduino microcontroller interfaced with a Qt-based GUI application through serial communication. The Arduino microcontroller overlooked robot motor speed control based on robot sensor values and data from the GUI application. The GUI application was run on a separate computer (or Raspberry Pi), and used the OpenCV library to process frames from a stationary camera and make computations regarding user's face motion.

To initiate process, the user would step on treadmill and look into the camera before starting to run. As soon as the GUI code detected user's face, it would analyze the face trajectory of user whilst running, and serially transmit relevant data to the Arduino microcontroller. The microcontroller would then use this feedback together with robot sensor values to synchronize the position of mounted mobile device with position of face of user.

Requirements

The following software and hardware requirements were met when the project was undertaken.

GUI Application

  • Software: GCC, Qt 5, OpenCV 3
  • Hardware: Ubuntu 16.04 (x64), Intel Core i7, 8GB RAM

Arduino Code

Hardware and Dataset

The research was conducted in collaboration with National Taiwan University of Science and Technology, Taiwan, with Dr. Chyi-Yeu Lin as the project lead, and is still being carried forward. Therefore, some files like datasets and robot designs can not made public yet. However, please drop me an email if you are interested in any aspect of the project, particularly related to hardware CAD files or datasets generated from experimentation.

About

Repository for code written as part of my Bachelor Thesis.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages