COVID Hacks #1 - RoboDoctor

The goal in mind:

Ensuring the safety of the medical personnel such as doctors and nurses attending to corona affected patients and reducing their workload.

Background:

Given the alarming rate at which our frontline warriors - our medical staff - are succumbing to the deadly Coronavirus during care, it is critical that we ensure their safety. The scarcity of medical equipment and personnel are putting a lot of strain on medical personnel. Moreover, there are indisciplined patients and the virus's extremely contagious existence. Most hospitals are understaffed, making it impossible to care for a large number of patients at once. This is where my proposed method comes into play. Centered on the Arduino MKR1010 Wifi and Arduino IoT Cloud, I want to make a ground wheeled bot to attend to and track patients.

General Idea:

Doctors and nurses put themselves in great danger to attend to corona patients for even minor tasks like giving them medication or monitoring their temperature. To avoid this, I propose a ground robot capable of locomotion inside a hospital setting, assisting patients and meeting basic needs, as well as setting off an alarm in the event of an emergency. Each bed will be allocated a unique identification number. The doctors or nurses will send the bot instructions wirelessly over Wi-Fi (if the hospital has a connection) from the comfort of their homes, using an app that links to a web application based on Arduino IoT Cloud.

Using a script for Arduino IoT Events, the app will provide instructions for monitoring the body temperature, administering medications, and providing other necessities. The bot's central controller will be an Arduino MKR1010 Wifi, which would power the four-wheeled vehicle.

A calling button on the bedside allows the patient to summon the bot at any time. When the bot receives a signal to attend to a patient, it goes to that bed and, using the magnet attached to it, wakes up the IR LED on the bedside, which sends a coded message corresponding to that bed. If the codes match, the bot will move on to the next step.

This configuration was chosen specifically to ensure data protection, which is a significant concern these days. Furthermore, the wakeup mechanism ensures that the MKR module, capable of drawing less power when in sleep mode, does not over drain the battery. On the bedside, a panel of buttons would be given, from which the patient could request essential items such as water or summon medical assistance. If the doctor asks to see the patient, the bot can also provide audio and video footage from the MKR board and related peripherals. The patient will be given instructions through the Display shield on the monitor. The temperature data logged will be used to monitor the ward's windows and air conditioning.

Besides, the sensor data from ventilators or other monitoring devices may be used by the module placed on the patient's bed to activate warning messages for the doctors and assistance in an emergency. Suppose the attending doctor is not present on-site in a crisis. In that case, he will perform specific simple tasks using the external plug-and-play modules that can be placed on the bot, such as administering fluids or adjusting the settings of life-support modules like ventilators before qualified staff arrives.

The app would keep track of all willing, involved, and qualified doctors on the site and send out a warning if the doctor caring for that patient was unavailable (something like Ola and Uber). Enrollment will be voluntary and based on competence. This will help doctors in hospitals with a high patient volume minimise their workload while also allowing doctors in less affected areas to chip in and help out.

Through the software that integrates with AWS IoT Core, the doctor can keep track of all of the patient's symptoms, including ECG and other vital sensor data, which may aid in providing life-saving orders to hospital staff remotely. Every patient's data will be stored in the cloud, where it could be exchanged with medical and academic circles globally for drug discovery and the adoption of better medical practices.

The doctor will have power over the camera module in the app, which could track disobedient patients without putting themselves in danger. The platform can also be used to help patients with a variety of other issues.

Mechanical Design of the Bot:

A four-wheeled differential drive would power the bot. The camera module would be mounted on the arm, and the back would be used to install several modules for various types of medical work.

The modules will be plug-and-play and operated remotely by the doctors. ABS plastic will be the material. The majority of the chassis would be constructed from cutouts of standardised plastic sheets and boxes, saving time and money in the production process.

Overall Benefits and Unique Selling Points:

  • Efficient implementation of social distancing for medical personnel
  • Entities connected through IoT (bots, beds, equipment and application)
  • Remote access by staff to the patient and medical instruments
  • Low-cost design
  • Easy to prototype and implement, especially in remote environments
  • Constant monitoring of the patient with updates about patient condition
  • A unified platform for doctors to share the workload
  • Protects the medical staff from physical harm and indiscipline from a patient
  • Data storing and logging on the cloud for future analysis
  • Power-efficient, portable and scalable

Architecture

The figure below highlights the modules that have been included in the design.

robo_upar.png

The figure below depicts the distribution of power and data lines in the robot and also outlines the signal flow.

sigflo.png

The below mentioned are the various inputs and outputs of the robot essentially the MKR board.

bot_int.png

The figure below explicitly shows which data is monitored, how it is sent, where it is sent.


The IoT Connect

ardu_cloud.png

dr robo.png

Now, let's dive into each subsystem.

Locomotion Mechanism

The locomotion module was perhaps the most difficult element to create. The first thing I did was get some aluminium C channels and split them into 1m strips, which I then joined together in a square pattern. I used hot glue to secure the ends before bolting them together. Then I bolted L-shaped steel channels to the square frame and mounted the high-torque Johnson motors (60rpm). I connected 2A motor drivers and corresponding circuitry to the motors.  The control lines were routed to a 20X30 zero board controller board that I designed for the MKR.

motor_control_board.png

Control Board

I used a FLysky RF transceiver for wireless control and connected an 8000mAh LiPo battery pack to the power lines. This guide will show you how to configure the Flysky transceiver kit:

I slowly raised the throttle and saw that the bot moved but, due to the high torque motor the C-channel collapsed.

https://hackster.imgix.net/uploads/attachments/1180941/4642421598343739664.jpg?auto=compress%2Cformat&w=740&h=555&fit=max

The bot base

https://hackster.imgix.net/uploads/attachments/1180942/7610171598343739730.jpg?auto=compress%2Cformat&w=740&h=555&fit=max

Mechanism Placement

I added another 4 motors for changing the direction.

pic doc.jpg

After we concluded that the movement was sufficient, we added the LIDAR and line sensor arrays. This was a difficult challenge since fine-tuning control parameters was not simple. It took three days for me to get it to function properly. The final video is as follows:

Final video: https://drive.google.com/file/d/17Cbb-IQMIuLTcGxveTo5NY_0y1xGPGul/view 

To understand the autonomous traversal algorithm, I have removed the tray on which essentials are held and the robotic arm that delivers medicines.

I began working on the communication code after the locomotion mechanism was over.

For this we just needed to tweak the example Wifi server application on the Arduino MKR1010 and configure the ESP-12F boards to be the Wifi clients. Many tutorials are already available on Youtube and Hackster.io for this task.


Cleaning Mechanism

I mounted a servo head on top of a sprayer bottle handle that pushed down and sprayed sanitiser onto the floor and the sides of the robot. I purchased this sprayer bottle on Amazon (100 sprays per 50 ml) and filled 1L of water in it before installing a TowerPro 9g servo motor on top with mounting screws (M3 size). The servo was operated by the board's main microcontroller, the MKR.

https://www.amazon.in/DEVICE-Handheld-Protection-Sprayer-Pressure-Gardening/dp/B08G1WKMJK/ref=sr_1_12?dchild=1&keywords=sprayer&qid=1598343405&s=garden&sr=1-12

https://hackster.imgix.net/uploads/attachments/1180943/431411598343498037.jpg?auto=compress%2Cformat&w=740&h=555&fit=max


The Disinfection Mechanism

Ultraviolet light destroys the genetic material in pathogens that is DNA in bacteria and fungi, and RNA in viruses thus preventing them from reproducing.

image.png

Why UV-C is destructive

https://hackster.imgix.net/uploads/attachments/1180944/9373301598344037872.jpg?auto=compress%2Cformat&w=740&h=555&fit=max

The lamp used

I used a 11W lamp for the disinfector. It was fixed vertically on the central vertical axis of the bot and mounted from the base on an MG995 servo motor.It was mounted from the base on an MG995 servo motor and fixed vertically on the bot's central vertical axis. For improved reflection, I also added an aluminium sheet in the shape of a quadrant behind the bulb.

https://hackster.imgix.net/uploads/attachments/1180945/2925551598344382262.jpg?auto=compress%2Cformat&w=740&h=555&fit=max

DC to AC convertor

It was difficult to get this thing to work because it needed a lot of power and had to be powered by an AC supply. Building my own inverter was my first idea, but I discovered that making a sine wave inverter would take a long time. So , I ordered a simple AC to DC converter, which will provide enough power for my UV C Lamp.

Calculations for the UV lamp rating requirement

While selecting a UVC lamp one has to be really careful as just selecting any random UVC lamp would not suffice, adhering to the medical guidelines was also important.


Final Circuit

dr robo.png

Final circuit

Bill of Materials

This project was the most economically taxing project for me. I ended up spending 300$ the detailed breakup of which is given below:

https://docs.google.com/spreadsheets/d/1xxzlfJThkISSSLX-Ai6zzygMf7h-JJnN6emyjOt12Qk/edit#gid=0

https://hackster.imgix.net/uploads/attachments/1180946/7218491598345772163.png?auto=compress%2Cformat&w=740&h=555&fit=max

https://hackster.imgix.net/uploads/attachments/1180947/1926051598345800861.png?auto=compress%2Cformat&w=740&h=555&fit=max

I received some funding from the Tata Main hospital I was working with and this project is being used for something valuable.

https://hackster.imgix.net/uploads/attachments/1180948/9332661598358031145.jpg?auto=compress%2Cformat&w=740&h=555&fit=max

Future Work

  1. Getting the bot certified for use in healthcare facilities.
  2. I cannot rely on Arduino Cloud so the aim is to shift to a more configurable web service. An Android app was expected to be developed, but the hardware testing took so long that I was unable to complete it.

Conclusion

The cost of installing the system in a hospital with 40 beds is much lower than any of the cheapest ventilators!!!

Given the number of doctors we will be able to save as a result of this technology, I think it should at least be given a try. The cost is minimal, and the time required to build it is short.

Do watch out!! Till then - bye and thanks for reading.

References

https://forum.fritzing.org/

https://wiki.dfrobot.com/HUSKYLENS_V1.0_SKU_SEN0305_SEN0336#target_0

http://www.tatamainhospital.com/

https://create.arduino.cc/iot/

https://create.arduino.cc/projecthub/marcopass

This blog has been submitted by KRSSG, IIT Kharagpur under the Robocraze Club Outreach Program.

Credits: Moinak Ghosh, Tanaya Ramane, Ayan Kumar

Leave a comment

Please note, comments must be approved before they are published