slideshow



Sheersha Yathra : Wheelchair for a Quadriplegic

The Problem

      The thirty-year long civil war in our Sri Lanka left many young and able-bodied men and women with life-long disabilities. The soldiers who fought for the defense of our motherland and civilians caught in the crossfire have suffered grievous injuries that led them to be wheelchair-bound for mobility. However, for some of the most severely injured war heroes, even a wheelchair cannot provide mobility.

On a visit to the longterm-care facility in which disabled officers reside, we could see the particular army officer who has lost all moving functionality below his neck and is only able to move his head. Being a person who always needs an assistant, his only request was to be able to move his wheelchair unassisted by another.  In today’s world where people have many complex necessities, his innocent request made us clear the necessity of a solution for the matter. 

      Then by preliminary investigations it was found that there are already wheelchairs which can fulfill the necessities of people with the disabilities as this particular officer. But it is not atan affordable price in many cases. 

      Even though we bear eye witnesses only for this person, he is not the only one with this problem. There are many army soldiers and officers in the same condition in Sri Lanka.  

      Moreover considering about the whole world it has been estimated that there are more than 50,000 individuals who don’t have use of their arms and legs (quadriplegics).  Majority of them are war heroes of developing countries as Sri Lanka and they also suffer from the same problem that is even though there are wheel chairs which have been developed aiming this population, most of these people cannot reap the benefits of it, as the prevailing solutions are not affordable. 

Our Solution

      Basically our Solution is to make a device which can be easily interfaced to any kind of electric wheelchair. So the user can easily convert his/her wheelchair to a wheelchair controlled by head movements and voice commands. Meanwhile our device should be a low cost, durable device.


How We Achieved

      The overall logic behind this project can be illustrated as follows.

The implementation is done through basically 4 steps.

Step 1 - Identifying the circuits embedded in the wheelchair
  • The wheelchair selected was LYEB103.
  • Dissembled the control unit in the wheelchair.
  • We identified that a removal of one component will even lead the wheelchair to be locked, to the safety of the user.
  • Then we identified the inputs and outputs of the joystick by the means of an oscilloscope.
  • We supplied the analog voltages using two variable resistors and deceived the circuit,
  • As the prior step was successful we supplied digital values using digital to analog converters.
Step 2 - Identifying the head movements
  • ZCT245AN-TTL 2-axis tilt sensor was used, which is connected to the head of the user.
  • This can measure the angles with reference to the x axis as well as the y axis of the horizontal plane.
  • Through a serial interface the angle measured by the tilt sensor is caught by an Arduino Uno board which contains the driving program of the wheelchair. 
Step 3 - Identifying the voice commands
  • Easy VR, voice recognition shield was mounted on the Arduino Uno board.
  • It can be configured to recognize 20 voice commands.
  • It generates and sends a signal to the Arduino Uno board according to the command received.
  • The commands used are “Power On”, “Power Off”, “Start”, “Stop”, “Speed Up”, “Speed Down” and “Calibrate”.
Step 4 - Controlling the movements of the wheelchair
  • According to the head movements
    • According to the input signal (which was generated by tilt sensor), Arduino Uno board generates the relevant digital signal.
    • Those signals are converted to signals which are analogous to the output signals of the joy stick and given to the relevant ports of the control circuit.
  • According to the voice commands
    • The original control circuit uses inputs from switches to control power and speed.
    • According to the input signal (which was generated by Easy VR), Arduino Uno board generates the relevant signal.
    • The circuit is developed so that the tasks done by switches take place according to the generated signals.
      
What We Achieved 

      After interfacing a electric wheel chair with our device  the wheelchair can completely controlled by using head movements and voice commands. So basically we can divide the functionality of the wheelchair in to two. They are,
  1. Functionalities controlled by the Voice
  2. Functionalities controlled by the Head Movements 
Functionalities controlled by the Voice
      In this System the User has basically seven word commands. We can adjust them as user want when initializing the voice controlling system. The basic word commands are,
  • Turn On           : To switch-on the wheelchair
  • Turn Off           : To switch-off the wheelchair
  • Start                 : To start control of the wheelchair according to head movements
  • Stop                 : To Stop control of the wheelchair according to the head movements
  • Speed Up        : To increase the maximum speed of the wheelchair movement
  • Speed Down   : To decrease the maximum speed of the wheelchair movement
  • Calibrate         : To calibrate and initialize the head movement detection system 
      We can add more voice commands according to the request of the user. Here using the  Stop command user can immediately stop the movement of the wheelchair in case of emergency.

Functionalities controlled by the Head Movements
      Head movement basically controls the movement of the wheelchair. Here we have introduced for directions that can be controlled by the head. Those basic movements are,
  • Go Forward     :  User has to look up direction
  • Go Backward  : User has to look down direction
  • Turn Left          :  User has to look left
  • Turn Right       : User has to look right 
      Here the important is we can adjust the amount of least head movement to make the wheelchair move corresponding to the each user when we interfacing the device for the first time. The speed of the movement is directly proportional to the angle of the head movement.

Calibrating
      It is obvious that there might be disable persons that the free position of his /her neck is different from a normal person. So when turning the wheelchair to left and right the user may find difficulties. To overcome these problems we have introduced the calibration of the head movement  before we start controlling the wheelchair. By this calibration anyone can make their relaxed head position as the stable position of the head movement. Not only that
but by calibrating, the user can change the balance of the turning to left and truing to right control functions.


Emotional Control
      When designing this product we have also considered about emotional side of the user. This product is for the disabled person. By this product we will give legs to the disabled person. Sometimes some disabled persons might get frustrated about their life and may try to attempt suicide. In designing this product we have given our first priority to the safety. We have attached the sensors to the wheelchair so that if the user tries to move the wheelchair in to staircases or dangerous slopes  it will be detected.  If the wheelchair detects a dangerous slope or a staircase very near to the wheelchair it will make noise and stops. In the danger zones the wheelchair will not respond to the user commands. So a helper needs to come and move the wheelchair away from the particular area.  
 
 A working prototype of this wheelchair can be watched in the following video.


Advantages of Our Device
  • Low cost
    The main advantage of this device is, it can be priced at a low price compared to the existing market price. As above mentioned the crucial problem we have  identified is,  that the people from developing countries are not able to afford to the existing products. 
  • Can be easily interfaced
    The device can be easily interfaced to any motorized wheelchair. In some cases it may need small configurations. But even people who are not from technical backgrounds can easily tackle it.
  • Safety
    Even some wheelchairs which are manually controlled are not safe enough, there are possibilities where those can go to slopes, staircases etc. As mentioned above these can be detected through this device, which will increase the level of safety.
  • Flexibility
    The device can be tailor made to the user , by customizing the voice command according to the user requirements.

Our Team



Patient Management System : for Base Hospital, Homagama

Overview of the Problem
   Each one of us worries and takes care of our health throughout our lifetime. When we talk about Health Care we cannot forget about Hospitals. Hospital is a place that handles many different services like dealing with disease controlling, emergency ward handling for immediate treatments, maintaining units and wards for intensive care, long term care, child birth and for surgery facilities. And it also deals with clinics, laboratory tests, issuing drugs and so forth. So it is easily understandable, that a hospital is a complex system that handles various kinds of duties performed by different job roles.

   In Sri Lanka, although we see all the above jobs and duties are controlled in an organized manner in Private sector, with the use of computer systems along with other facilities, most of the government hospitals still survive on paper based information systems. This inefficiency has become the main reason for delayed hospital services for the patients. 

   The workers waste valuable time for jobs like preparing numbers to be issued to patients, preparing papers for the doctors to write prescriptions and for many other tasks that are actually not meant for them. Also nurses have to maintain records of clinical patients and they have to search those past records out of thousands of records when a patient arrives to take medication. As a result, the valuable time of both parties gets wasted. 

   Laboratory reports are also issued as handwritten chits where the basic structure of the report is rubber stamped. At OPD, as no records of patients are properly collected, there is nothing more frustrating and overwhelming to the patient than repeating same medications given by different doctors for the same disease in several visits. The hospital itself is suffering because of the lack of facilities in several ways, spending more time to recognize different hand writings, finding more space to store paper based records, maintaining and protecting paper based information, finding papers to prepare chits for prescriptions to be written, preparing reports in details for auditing, etc.

The Aim

   Our basic attempt is to build a simple system to minimize waits of patients, when there is a substantial increase in the numbers of patients. We need the outcome as a simple but an effective system, because the people that will be using this system are not equipped with a high standard of computer literacy.

How we Proceed

   A team of us recognized the above drawbacks after visiting the Base Hospital in Homagama along with the guidance and the supervision of our contact personnel, Dr. Haresh Senarathna. As the whole hospital possesses only about three computers, we could not start with an overall management system for the hospital. Besides, there was no pre-established network infrastructure between those computers. Until the bottlenecks like hardware facilities are cleared, we started with the laboratory services.

   Most of the reports generated at the laboratory are issued as rubber stamped reports, by filling values obtained during the tests. And about two types of detailed reports are computer generated using Microsoft office Word documents. As it takes a lot of time to prepare such a report, there are deferments. 

   To ensure the accuracy, efficiency and to ease off the process we started to build a system for the laboratory services. At the first visit to the hospital we figured out the overall functionality of the hospital and gathered some requirements for the laboratory system. Within a week we came up with a prototype and revisited the hospital to analyse further requirement specification. The doctors who are supposed to use the software were satisfied with the piece of prototype and we were able to gather more functional as well as non-functional requirements to ease out the procedure that they are involved with. 

   We hope that the system that is developing at the moment and the activities that we will proceed in the near future, will significantly help the officers to ease their duties as well the system will be able to cope the delays of the current scenario.

This project is in progress...

Our Team







Sinhala Screen Reader

Overview
         It has been identified as a very tedious job for visually impaired people to work on a computer.  Nevertheless there are various sophisticated systems developed to address this issue. Screen reader is one of most popular, effective and reliable software  which had been developed to cope with this matter. With the help of these screen reader software, blind people can operate a computer in a passable way.
 

        Screen reader is a software application which identifies and interprets what is being displayed on a computer screen.  Not only that, it also present what is on the screen to the user, using a text-to-speech converter also known as a synthesizer. This is an assistive tool which can be useful to blind, visually impaired, illiterate or learning disabled people. There are many screen readers available such as JAWS by Freedom Scientific, Window-eyes from GW Micro, Dolphin Supernova by Dolphin and Microsoft narrator. There is also open source software like NVDA. These screen readers usually operate alongside with synthesizers such as Espeak and Eloquence.
          There screen readers are customized to function with many popular languages but when it comes to less popular languages we can identify a deprivation.  For open source screen readers languages can be added manually by the users.  It is a privilege given to users of less popular languages to develop systems for their own languages and use them in their computer based activities. We have identified that Sinhalese is such a less popular language which has not been implemented in these screen readers. It would be immensely convenient for the intensive computer users who are also visually impaired in our country if such system is developed.

Project Goal
       This project has been initiated with 'Ranawiru Sevana' rehabilitation facility at Ragama. Project goal is to develop Sinhala screen reader software to help the retired blind soldiers to access documents & web sources and to ease their day-to-day computer related work. NVDA screen reader and eSpeak synthesizer are used to develop this system.

Our Solution
We have used available software components (component re-uses method) and integrated them appropriately to develop the final solution.
Though we use NVDA, Entire language definitions and pronunciation details are included in eSpeak synthesizer. eSpeak accepts only Unicode characters. Hence Sinhalese Unicode character set is used in this system.

About Sinhalese Unicode character set
       The Unicode encoding of Sinhala, as defined in, follows the model of other Indic languages.It contains codes for vowels, consonants and vowel modifiers. Encoding is based not on symbols or glyphs, but on linguistic units. For example, although the kombuva is written before a consonant, it is encoded following the consonant. However, this results in a complex mapping from the keyboard input to the Unicode representation and from Unicode to the screen display.

             The Unicode block for Sinhala simply lists the encoded symbols, and gives no guidance on implementation. While listing the symbols may be sufficient for encodings in which each symbol is assigned a code, it is not possible to implement Sinhala in Unicode without additional information.

About NVDA
         Non-Visual Desktop Access (NVDA) is a free and open source screen reader for the Microsoft Windows operating system. It is a system for blind or visually impaired to access computers running windows. This system includes more than 35 languages. Even though Sinhala is not in the standard package it is easily integrated. NVDA is developed by NV access, with community support. NVDA is a python based software program. This allows rapid development and code injection to C++ for performance issues. The program follows Object Orientation which allows high degree of scalability. Besides general Windows functionality, NVDA works with WordPad, Notepad and Internet Explorer. It supports the basic functions of Outlook Express, Microsoft Word 2000/XP/2003 and Microsoft Excel 2000/XP/2003

Major features of NVDA include:
  • Support for popular applications including web browsers, email clients, internet chat programs and office suites
  • Built in speech synthesizer supporting over 43 languages
  • Reporting of textual formatting where available such as font name and size, style and spelling errors
  • Automatic announcement of text under the mouse and optional audible indication of the mouse position
  • Support for many refresh-able braille displays
  • Ability to run entirely from a USB stick or other portable media without the need for installation
  • Easy to use talking installer
  • Translated into many languages
  • Support for modern Windows Operating Systems including both 32 and 64 bit variants
  • Ability to run on Windows logon and other secure screens
  • Support for common accessibility interfaces such as Microsoft Active Accessibility, Java Access Bridge, IAccessible2 and UI Automation
  • Support for Windows Command Prompt and console applications
For more information visit:  http://www.nvda-project.org/

Implementation with eSpeak Synthesizer
Following language definition files were created in eSpeak in order to add our language to the synthesizer
  1. espeak-data/voices/Si - This indicates the language name
  2. dictsource/Si_rules -  This contains pronunciations for numbers, letter and symbol names, and words with exceptional pronunciations.
  3. dictsource/fr_rules - This contains the spelling-to-phoneme translation rules.
Further information on how to add and improve languages can be found here:

After editing these files, the espeak-data folder in the NVDA folder had been replaced by the espeak-data in the espeak folder. 
An installation file has been created integrating all those setup files and edited file using iexpress in windows.


Further project plans
  • Add Sinhalese language to an open source mobile screen reader.

Team Members
  • Maheshakya Wijewardena
  • Thilina Rathnayake
  • Thimal Kempitiya
  • Hasitha Dhananjaya
  • Amila Perera
  • Jayaruwan Mannapperuma
  • Isuru Wijesinghe
  • Chamika Kasun
  • Dananji Liyanage
  • Yahani Hewagama

Reinstating the Computer Network of the Castle Street Hospital

Background
  
        Being the largest women hospital in the country and a tertiary care center, Castle Street Hospital for Women is a very information sensitive institution in Sri Lankan health sector. It directly contributes to most sensitive health indicators of the country.
In its day to day activities hospital handles various kinds of health data and information such as,
  • Individual patient data
  • Aggregated patient data
  • Data related to drug stores and laboratory
  • Human Resource data
  • Financial data
  • Logistic data
      But currently most of these data are handled manually which in turn consumes a lot of time and even the data that is collected may be of poor quality and lack completeness. Therefore a proposal has been brought forward to streamline the health information flow and to introduce ICT to improve the quality of service in the hospital. For that purpose the hospital needs to have a computer network (LAN) which connects together all the units such as wards, laboratories, stores, administration offices etc. What they expected from us was to take necessary steps to establish such a network.

Our Evaluation

   We first visited the Castle Street Hospital to evaluate their current situation regarding the computer network. After having a discussion with Dr. Praveen De Silva (Medical Officer/ Health Informatics), we learned that they already have a local area network which had been established 7-8 years ago as a result of a government project, but has't been used for a long time. Then we decided to check that network to see whether it can be reinstated instead of establishing a new network from scratch, which would save us both time and money.
     First we checked the network cables and found most of them working properly. But most of the other components such as network switches were not in working conditions. Even the server was inactive and also outdated. Then we had a meeting with Dr. Praveen De Silva and made him aware of our findings. In the discussion we understood that repairing the whole network costs large amount of money. Therefore we decided to establish a basic network including the most important sections of the hospital. The main reason for the decision was that the hospital has already bought Stock Management software and it needed a network connecting those places to work properly.

How we did it

     We decided to establish a primary network connecting the Director’s office, the Accounting Division, the Store room and the Record room. When we checked the network cables of the existing network, we found that the connections to the record room and the store room (located in a separate building) were not working. Since they had been laid underground across a road, we were not in a position to repair. But there was another set of cables which were laid recently to give the internet connection to those places. Since there was no other option, we established a temporary local area network through those cables with the use of two switches and a router and also gave the internet connection through the same network.

Our Team
  • Sachith Withana
  • Sudheera Palihakkara
  • Vidudaya Neranjan Bandara
  • Udith Gunaratna
  • Dinu Mahakumarage
  • Hashini Senaratne
  • Maduranga Siriwardena
  • Pubudu Gunatilaka
  • Damith Senanayake
  • Thilina Premasiri
  • Tharindu Ranasinghe