Bestbot Voice and Remotecontrolled Robotic Arm

Bestbot Voice and Remotecontrolled Robotic Arm

BESTBOT – VOICE AND REMOTECONTROLLED ROBOTIC ARM

Course Name: SPECICAL TOPICS IN ECE: MEDICAL ROBOTICS

Course Code: ECE 7995

Instructor:

Dr. Abhilash Pandya

Assistant Professor

Department of Electrical and Computer Engineering

Submitted by

Abhijit Kumar Nag Premkumar Sivakumar

Access ID: ea1477 Access ID: dx8289

Radha Krishna Thuniki Shankar Manickam

Acccess ID: dy7748 Access ID: dz1525

Table of Contents

S.No / Content / Page No
1 / Abstract / 3
2 / Introduction / 3
3 / Method / 4
4 / Problems and Solution / 11
5 / Future Work / 12
6 / Conclusion / 12

Abstract

Continuous monitoring and help is needed for the patients like paraplegics whose movement is challenged. They find difficulty in getting the things they need like medicine or water. They should be monitored all the time for their needs. This project is development of a robotic arm which can be controlled by the patient by using voice commands. This robotics arm can also be controlled remotely using the internet. Registered nurses are projected to generate about 587,000 new jobs over the 2006-16 period, one of the largest numbers among all occupations [1]. This can help nurses to continuously monitor the patient and help them from any part of the world.

1. Introduction:

1.1)Background

Remote monitoring slave robots like RP7 [Fig 1] are available in the market to help doctors operate from remote places [2]. These robots are costly and can be afforded only by doctors. Our aim is to develop a cheaper version of this robot with limited capability for the nurses to help them remotely monitor the patient. It also has a feature by which the patient can control the robot by themselves using voice command.

1.2)Project Aims

Three aims of the project are (1) Development of Voice based control for the robotic arm, (2) Development remotely controlled robot using secure internet connection and (3) Automatically repeating the frequently done tasks. The idea was to develop such a system with low cost and considerable efficiency.

Fig1: Remote Presence-7, existing remote presence robot. Contains many features but costly.

2)Method

2.1) Components

The main components in the project are (1) Edge robotics arm kit which has five degrees of freedom and is remotely operated using the remote controller (2) VR Stamp module for voice recognition (3) PIC microcontroller for controlling the robot motion and (4) Client and Server computers for remote monitoring.

Fig 2 (A) Edge robotics arm kit with 5 degrees of freedom with remote control (B) VR Stamp module for voice recognition (C) PIC Microcontroller for controlling the robot.

2.2) Voice based robotic control.

Voice based robotic control is making the robot arm do specific movement based on the voice command issued by the user. For example user can issue a voice command for medicine or towel etc. On receiving the command the arm picks object which is placed in fixed position and places it close to the patient. The position in which the object is placed is pre-determined and set in a fixed location. The working of this module is shown in Figure 3.

Fig 3: Voice command given by the user is recognized using the VR module, depending upon the command the corresponding output is given to PIC microcontroller. PIC micro-controller will produce corresponding robotic movement in the robotic arm based upon the input.

The VR Stamp module is programmed for fixed set of keywords that will be used by patient like medicine, towel and water etc. The VR Stamp is trained in Text to speech format so that the speech recognition is independent of the tone of the user. Depending on the voice command output is given in specific pin. This output is fed into the PIC microcontroller. Depending upon the input the robot arm is manipulated by sending suitable time based signal to different DC motors in the arm. In case of the arm with servo motor it is controlled using the PWM signals from PIC Microcontroller.

2.2) Remote Robot Control

This feature allows the robotic arm to be controlled from a remote position using the TCP/IP connection. The remote robotics control is explained in the figure 4.

Fig 4: Ten different outputs are given out by the remote controller and it is fed into the PIC microcontroller. Depending on the input suitable character is send to the server using TCP/IP connection. The data received by the server is sent to the PIC microcontroller using serial communication. Depending on the input character the robotic arm is driven by the Driver circuit.

The remote controller has ten output using 5 bi-directional switches. These ten outputs are connected to the PIC microcontroller at input ports. Depending upon the input at the PIC input ports suitable character is sent to the client computer using the serial communication. For example character A is sent when the first button in the remote is moved in forward direction and B when it is moved in reverse direction. The character received by the client is sent to the server using TCP/IP connection. The client sends the received character to the PIC microcontroller using serial communication. Depending on the input a particular motor in the robotic arm is moved using the driver circuit. Given below is the working of individual components.

2.2.1) Remote control

Given below is (figure 5) where the circuit diagram for the remote control. It contains ten switches each giving an output of 5V when pressed.

Figure 5: Remote control with 10 outputs for 5 bi-directional switches. The 10 outputs from the remote control is attached directly to the 10 input ports in the PIC microcontroller.

2.2.2)PIC Microcontroller

The above 10 outputs from the remote control is passed directly to the PIC microcontroller. Depending upon which pin is on a character is sent to the Client computer using serial communication. For the output1 from the remote control character A is passed and for the output2 character B is passed.

2.2.3) Client Computer

The client computer is connected to the PIC microcontroller. The matlab program running in the client computer reads the serial input from the PIC microcontroller. This program is connected to the server at using the TCP/IP connection at the port number 8889. So when a character is read from the microcontroller it is sent to the server using TCP/IP connection that is already established. The client also calls the JM studio client with the IP address and port number of the JM studio server at the server computer. By calling this the client can get the video of the robot arm in the server side.

2.2.4) Server Computer:

Server computer runs a java program to read the input from the client. It is also connected another PIC microcontroller using the serial communication. So the character that is received from the TCP/IP is passed on to the PIC. Server also runs the JM studio server application. The web-camera in the server side computer captures the video of the robotic arm and streams that to the client when requested.

2.2.5) PIC Microcontroller (Server side)

PIC microcontroller receives the input in the serial mode and depending on the input, a particular output port is set to 0. The outputs from the microcontroller are connected to a driver circuit which controls the robotic arm.

2.2.6) Driver Circuit

Driver circuit is used to run the motors in the robotic arm depending upon the input received from the PIC microcontroller. The circuit for the driver consists of 5SN754410NE chips. The schematic diagram of SN754410NE chip is given below in Fig 7.

driver jpg

Fig6. Schematic of an H-bridge and picture of dual H-bridge driver1 jpg

Fig 7. Schematic of the SN754410NE.

The output from the PIC microcontroller is not sufficient to drive the DC motors of the robot arms. The motor at the joints need a current source of 250mA. PIC is not capable of delivering such a huge current. H-Bridge circuits are used to drive motors in both directions. H-Bridge can be made using a combination of npn and pnp transistors. But making driver circuits with transistors will make the circuit bulky and prone to have more current loss. Any fault in the transistor will take a long time to fix. Taking these into considerations after a practical experimentation an H-Bridge IC was considered for driving the motors. SN75441ONE is a low power driver IC with a driving current of 1A which is more ideal for our requirement. Using driver IC with high power will also lead to more loss for this type of low power operation. SN75441ONE is also CMOS compatible which means this IC can be used with our PIC controller. It has its own thermal shutdown unit built in to prevent if anything goes wrong on the robotic arm leading to a short circuit. Also protection for back EMF which is the very important when driving loads with inductors such as motor or solenoid. It has ESD (Electro Static) protection. Replacing and damaged IC is very simple, just by removing them off the socket and replacing with a new one which will merely take a few seconds.

Stacked SN745510NE chips with heatsink

Fig 8. Stacked SN745510NE chips with heat sink for driving more than the rated current of one IC.

By using two SN75441ONE driver IC in the given above configuration (Fig 8), we can drive 2Amperes of motor current in both the direction. This is ideal when driving a huge load of using our arm. The heat sink will help in dissipating the heat generated by the IC when driving more current. This method of driving more current than the rated limit is called stacking. Stacking can be done without removing/replacing any components. This is a small upgrade which can be done when the robotic arm works with heavy loads.

2.2.7) Robotic Arm

The robotic arm is controlled by the output form 5 SN754410NE chips. The output from this chip decides the direction in which the arm will rotate. One set of outputs from the chip makes the robot arm motor to rotate in clockwise direction and another will make it move in the anti-clockwise direction.

3)Kinematic Macros

Some of the robotic movements are often repeated. The user at the client side needs to operate the same set of motions again and again. To avoid this, the data sent to the server is stored in a text file. The macro is identified by the name of the text file. So when the client wants same robot motion again, the name of the macro file alone will be sent. Data in the file will be read and the robot arm will be motioned appropriately. Kinematic macros concept is explained pictorially below.

Figure 8: The data received from the client when received from the server is stored in a temporary text file. When the client wants to have same robotic motion again he sends the name of the text file. The data is read from the text file and is robotic arm motions are repeated

For using the robotic arm in the kinematic macros mode user should connect using a different port number (9000). For executing the stored macro the client connects using port number 8000 and sends the macro file name alone and it is executed.

4) Conclusion & Future Work:

This project when fine tuned and improvised can be used as a real-time application for aiding the nurses to operate from remote location. It also helps the patients who cannot move from the bed to get the things from the bed using the voice command. In voice based robotics motion the things to be supplied to the patients are kept in the fixed location and the arm is trained to move in that particular location. Future work would be automatically identifying the object using SIFT based object recognition algorithm (shown in Fig 9). When an object is identified the end-effecter of the robot arm is calculated using inverse kinematics and the corresponding object can be fetched correctly.

Fig 9: SIFT base comparison of Tylenol bottle in different lighting conditions and orientation. There are 4 matching SIFT key-points in the two images. So these two images are of same object.

References

[1] Lowe, D. G. "Distinctive Image Features from Scale-Invariant Keypoints."

[2] Rovetta, A. S., R. Xia Wen Togno, A. "Remote control in telerobotic surgery."

[3] "

[4] "

1