Loading repository data…
Loading repository data…
underthehooditsme / repository
This repository contains the codes and all necessary files to make a robot that is wirelessly controlled by Iris movement
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
I have created a robot that can be wirelessly controlled simply through eye movement. This robot serves as a prototype for a wheelchair that can be made for paralysis patients. All that is required is a small camera to be attached near the eye. Paralysis patients are capable only of eye movement. Hence they can move their wheelchair through eye movement only. My robot demonstrates a small scale prototype of this wheelchair. I am also adding an obstacle avoidance feature for emergency braking, in case an obstacle arrives.
Currently, the robot is capable of detecting only left, right and forward commands by the eye. I have created my own algorithm for left right and centre detection of the Iris and it is a rather weak algorithm at the current stage. I am working on further refining it to make the algorithm stronger. OpneCV in python has been used for digital image processing to detect Iris commands. The code uploaded currently enables the robot to function in the following ways:
As you have noticed, the code that I have currently uploaded is in a very rough and preliminary stage. I am currently working on a code that will have considerable improvements:
Hardware plays an essential role in the project. First of all, gather the components:
I wont't go much into hardware assembly of the robot. You need to make a normal 2 wheel driven robot using the Raspberry Pi. The internet is flooded with numerous tutorials for this purpose. Diving into the software, you need to perform the following steps:
If you are familiar with basic image processing on OpenCV, you will easily be able to understand the algorithm that I have created by extrapolating from the EyeClient.py code itself. I have used a 'haarcascade' of an eye, thereby identifying the eye in the live video window being recorded, and done processing on that part of the image (applying my algorithm only to the right eye). Live video feed of the Iris was taken as input, and the entire frame was converted to grayscale. Then I performed binary thresholding so that the Iris turns completely black and the surrounding area is completely white. Now I fixed 3 points on the frame- left, centre and right. If the person is looking left, then the left point is identified as black. The same thing happens for the case of left and right. This code shall be written in the client side (Data sender). This data(direction) shall be sent wirelessly to the Raspberry pi. As you can see, a bit of socket programming has also been used in this project. The upcomming versions of the codes shall import various other python libraries such as dlib etc. which you will need to download before running the code. But for now, these simple procedures shall work.
Stay tuned for the improved, upcomming version of code. Meanwhile, try running these on an actual robot. Play around and have some fun with code! Any positive contributions to the codes/ suggestions for the project would be much appreciated. Cheers!