StudentShare
Contact Us
Sign In / Sign Up for FREE
Search
Go to advanced search...
Free

The Use of Robotics - Lab Report Example

Cite this document
Summary
This work called "The Use of Robotics" focuses on the operation of the robot named Semi-Automatic Droid (S.A.D). It is referred to as semi-automatic as it has been programmed for both manual and automatic operation. The author outlines that the robot was successfully connected to the sensors and actuators, with the Arduino board being used for control…
Download full paper File format: .doc, available for editing
GRAB THE BEST PAPER93.7% of users find it useful

Extract of sample "The Use of Robotics"

NAME: xxx INSTITUTION: xxx UNIT CODE: xxx UNIT NAME: xxx TITLE: SEMI- AUTOMATIC DROID LECTURE: xxx ©2016 Table of Contents Abstract 3 Material [SEI14] 3 Method 6 Mode 1 – Manual Control Operation 6 1.Master 6 2.Slaver 7 Mode 2 – Automatic Control Operation 9 Sensors 9 Components 9 Advantages [Par14] 9 Disadvantages 9 Code for Master Bluetooth 11 Code for Slave Bluetooth 14 Results 19 Discussion 20 Stage 1: Assembly and First Program 20 Stage 2: Initial ideas, Infrared vision, Bluetooth communication 20 Stage 3: Implementation Phase 1 and Initial Sketch of Product 20 Stage 4: Implementation Phase 2 20 Stage 5: Completion of First Version and Initial Testing 20 Stage 6: Final Implementation and Final Testing 20 Stage 7: Presentation and Demonstration 20 References 21 Abstract The use of robotics has increased exponentially in the recent past, with their uses ranging from domestic chores, such as vacuuming, to industrial and even military uses, such as drones. They provide added functionality in terms of accuracy, precision and efficiency that cannot be achieved using human labour. They also have the advantage of allowing operators to control them remotely, which eradicates the risks associated with the various activities it is required to carry out [Noc07]. This laboratory report focusses on the operation of the robot named Semi- Automatic Droid (S.A.D). It is referred to as semi- automatic as it has been programmed for both manual and automatic operation. Manual operation is achieved through Bluetooth technology. The droid is fitted with infra-red sensors at the front to detect the positions of obstacles to prevent collisions. The droid is proposed for use in surveillance, or exploratory services, especially in locations not accessible by a person. Material [SEI14] 1. Bluetooth (Master and Slaver) 2. Infrared receivers 3. Buttons 4. Wires 5. Shield- bot 6. Breadboard 7. Arduino breadboard 8. Ohm resistors – 2 No. 9. Ohm resistors – 2 No. 10. Infrared LED shield assemblies Figure 1: Button connection to the breadboard Figure 2: Connection of the Infrared sensors Figure 3: Diagrammatic connection of Infrared sensors Method The operation of the droid can be achieved by either manual or automatic modes Mode 1 – Manual Control Operation This makes use of Bluetooth technology to connect the Master and Slave components of the droid, facilitating the communication of instructions. 1. Master This refers to the control board that the operator uses to control the droid. a. Direction control buttons The buttons for directional control of the droid are; Left – Pin 2 Right – Pin 4 Forward – Pin 7 Backward – Pin 8 b. Red LED light This light will be used to determine if the directional control buttons are operating properly. The bulb is designed to light up when either of the buttons is pushed. The light will also be used to identify the mode of operation the droid is currently in (constantly on for automatic control and off for manual control). This light will be connected to Pin 6 c. Mode switch button This button will be used to switch the droid from manual to automatic operation. Pressing this button deactivates the actions of the directional control buttons, as well as lighting the LED light to show the mode of operation has been switched 2. Slaver This refers to the robot car being controlled by the control board a. Servo Two servos are installed on either side of the droid to control and coordinate the movement of the wheels. The speed and direction of the wheels is controlled by instructions from the servo, which are served as code. b. Video device A mobile smartphone (iPhone 6) has been installed in the middle of the robot to serve as a camera. Another mobile smartphone (iPhone 5s) is provided to the operator to control the droid. The application FACETIME was used to link the two smartphones to provide the operator with a visual feed of the environment the droid is going through. Further improvements suggested to be installed in the droid are;- A smaller and lighter camera The smartphone currently being used as a camera is bulky and heavy. The use of a smaller camera will reduce the weight and the dimensions of the robot car. However, the camera should have the capability of connectivity Multi- speed control system and Accelerometer This will provide increased flexibility of the robot car in terms of speed. It will make use of accelerator and brake pedals. The accelerometer will be used to detect the velocity of the robot car and relay it on a computer screen that the operator can look at. Installation of a buzzer The buzzer sends out an audible signal when it encounters an obstacle, alerting the operator to its presence Mode 2 – Automatic Control Operation In this mode of operation, the motion of the robot car is controlled by sensors mounted on an extra control board at the front of the car. Sensors 1. Object detector This sensor will be used to identify any obstacles lying in the path of the robot car. It will help determine the best route to follow to prevent any collisions that may be detrimental to the robot car. Components Infrared receivers Infrared LED lights Infrared LED shield assemblies (this part has been prepared as a single component) Resistors () Advantages [Par14] a. Larger detection range (horizontally) The object detector sends a signal to the robot car while the object is still a way off, unlike other sensors, such as the whisker sensor. This allows the robot car enough time and leeway to avoid collision with the obstacle b. Larger detection range (vertically) The object detector sensor can detect obstacles lower than the position of the sensor on the robot car c. Requires less space It does not increase the width of the robot car, as it is small and installed inside the car. However, the length of the car is increased slightly (40 mm) due to the installation of the extra control board housing the sensor. d. Less chance to be disturbed Since the sensor is installed inside the robot car, it is less likely to be disturbed by the environment, compared to whiskers which are in constant contact with obstacles Disadvantages a. Easily broken The sensor is fragile and is easily broken if the robot car collides with an obstacle b. Failure The sensor is controlled electronically, meaning it is subject to various factors that could cause it not to function properly Further improvements suggested for the robot car under automatic operation are;- Provision of a clear shield at the front of the robot car to protect the sensors in the case of impact Installation of other object sensors at the rear end of the robot car to prevent collisions during reverse operations Installation of a buzzer, which sends out an audible signal when it encounters an obstacle Code The code which controls the functioning S.A.D is as shown below;- Code for Master Bluetooth #include // Software Serial Port char sentM; #define RxD 7 #define TxD 6 #define DEBUG_ENABLED 1 String slaveAddr = "0,6A,8E,16,C4,1B"; SoftwareSerial blueToothSerial(RxD,TxD); void setup() { pinMode(2, INPUT); pinMode(4, INPUT); pinMode(7, INPUT); pinMode(8, INPUT); pinMode(9, INPUT); Serial.begin(9600); pinMode(RxD, INPUT); pinMode(TxD, OUTPUT); setupBlueToothConnection(); delay(1000); Serial.flush(); blueToothSerial.flush(); } void loop() { char recvChar; while(1) { if(blueToothSerial.available()) { recvChar = blueToothSerial.read(); Serial.print("Master Received: "); Serial.print(recvChar); Serial.print("\n"); } int buttonA = digitalRead(9); int buttonL = digitalRead(2); int buttonF = digitalRead(8); int buttonB = digitalRead(7); int buttonR = digitalRead(4); if(buttonL==1 && buttonF==1 && buttonB==1 && buttonR==1 && buttonA ==1){ sentM='N'; } else if (buttonL==0 && buttonF==1 && buttonB==1 && buttonR==1 && buttonA ==1 ){ sentM='l'; } else if (buttonL==1 && buttonF==1 && buttonB==1 && buttonR==0 && buttonA ==1){ sentM='r'; } else if (buttonL==1 && buttonF==0 && buttonB==1 && buttonR==1 && buttonA ==1){ sentM='f'; } else if (buttonL==1 && buttonF==1 && buttonB==0 && buttonR==1 && buttonA ==1){ sentM='b'; } else if (buttonL==1 && buttonF==1 && buttonB==1 && buttonR==1 && buttonA ==0){ sentM='$'; } Serial.print("Master Sent: "); Serial.print(sentM); Serial.print("\n"); blueToothSerial.print(sentM); } } void setupBlueToothConnection() { blueToothSerial.begin(38400); blueToothSerial.print("\r\n+STWMOD=1\r\n"); blueToothSerial.print("\r\n+STNA=Master20\r\n"); blueToothSerial.print("\r\n+STAUTO=0\r\n"); delay(2000); blueToothSerial.flush(); delay(2000); Serial.print("Connecting to slave: "); Serial.println(slaveAddr); blueToothSerial.print("\r\n+CONN=" + slaveAddr + "\r\n"); delay(5000); } Code for Slave Bluetooth #include #include Servo servoLeft; Servo servoRight; int ledpinLeft = 13; int ledpinRight = 12; #define RxD 7 #define TxD 6 #define DEBUG_ENABLED 1 SoftwareSerial blueToothSerial(RxD,TxD); void setup() { tone(4, 1000, 2000); delay(500); Serial.begin(9600); pinMode(ledpinLeft,OUTPUT); pinMode(ledpinRight,OUTPUT); pinMode(RxD, INPUT); pinMode(TxD, OUTPUT); setupBlueToothConnection(); delay(1000); Serial.flush(); blueToothSerial.flush(); } void loop() { char recvChar; while(1){ if(blueToothSerial.available()) { recvChar = blueToothSerial.read(); Serial.print(recvChar); Serial.print("\n"); servoLeft.attach(ledpinLeft); servoRight.attach(ledpinRight); if (recvChar=='N'){ servoLeft.detach(); servoRight.detach(); } else if (recvChar=='f'){ servoLeft.writeMicroseconds(1700); servoRight.writeMicroseconds(1300); } else if (recvChar=='b'){ servoLeft.writeMicroseconds(1300); servoRight.writeMicroseconds(1700); } else if (recvChar=='r'){ servoLeft.writeMicroseconds(1700); servoRight.writeMicroseconds(1500); } else if (recvChar=='l'){ servoLeft.writeMicroseconds(1500); servoRight.writeMicroseconds(1300); } else if(recvChar =='$'){ servoLeft.attach(13); // Attach left signal to pin 13 servoRight.attach(12); // Attach right signal to pin 12 servoLeft.writeMicroseconds(1700); servoRight.writeMicroseconds(1300); int irLeft = irDetect(9, 10, 38000); // Check for object int irRight = ilDetect(2, 3, 38000); // Check for object if(irLeft == 0) { servoLeft.attach(13); // Attach left signal to pin 13 servoRight.attach(12); // Attach right signal to pin 12 servoLeft.writeMicroseconds(1300); // Left wheel counterclockwise servoRight.writeMicroseconds(1300); // Right wheel clockwise delay(1000); // ...for 3 seconds servoLeft.detach(); // Stop sending servo signals servoRight.detach(); } if(irRight == 0) { servoLeft.attach(13); // Attach left signal to pin 13 servoRight.attach(12); // Attach right signal to pin 12 servoLeft.writeMicroseconds(1700); // Left wheel counterclockwise servoRight.writeMicroseconds(1700); // Right wheel clockwise delay(1000); // ...for 3 seconds servoLeft.detach(); // Stop sending servo signals servoRight.detach(); } } } } } void setupBlueToothConnection() { blueToothSerial.begin(38400); blueToothSerial.print("\r\n+STWMOD=0\r\n"); blueToothSerial.print("\r\n+STNA=Slave20\r\n"); blueToothSerial.print("\r\n+STOAUT=1\r\n"); blueToothSerial.print("\r\n+STAUTO=0\r\n"); delay(2000); blueToothSerial.print("\r\n+INQ=1\r\n"); delay(2000); } int irDetect(int irLedPin, int irReceiverPin, long frequency) { tone(irLedPin, frequency, 8); // IRLED 38 kHz for at least 1 ms delay(1); // Wait 1 ms int ir = digitalRead(irReceiverPin); // IR receiver -> ir variable delay(1); // Down time before recheck return ir; // Return 1 no detect, 0 detect } int ilDetect(int irLedPin, int irReceiverPin, long frequency) { tone(irLedPin, frequency, 9); // IRLED 38 kHz for at least 1 ms delay(1); // Wait 1 ms int ir = digitalRead(irReceiverPin); // IR receiver -> ir variable delay(1); // Down time before recheck return ir; // Return 1 no detect, 0 detect } Results The robot was successfully connected to the sensors and actuators, with the Arduino board being used for control. Two subsystems were designed in this exercise and installed in;- 1. A stand- alone Arduino UNO board 2. A bot robot All the requirements for the exercise were met as the robot and the Arduino control board were enhanced to be able to control several sensors and actuators. All the components installed in the robot were attached to meet the required specifications. It was observed that there was exchange of information through the Bluetooth shields between the Arduino control board and the robot. Figure 4: The Arduino control panel The final prototype developed was as shown below;- Figure 5: Final Prototype Discussion The final prototype developed was done in seven essential stages;- Stage 1: Assembly and First Program It was decided to come up a remote controlled toy, which eventually developed to the S.A.D. continued consultation with our tutors resulted in enhancements in the final prototype developed, as well as suggestions for further improvements that could be implemented in the robot car. Stage 2: Initial ideas, Infrared vision, Bluetooth communication The operation of the IR sensors was cumbersome in the beginning as they exhibit very high sensitivity to movement. This was rectified by installing the sensors at the right angle to achieve optimum values. Stage 3: Implementation Phase 1 and Initial Sketch of Product Bluetooth connectivity was problematic at first, giving output that was not desired. Simple operations were correctly relayed, but the results on more complex operations was less than pleasing. We were not able to rectify these issues at this stage of implementation, but they were addressed further down the production cycle Stage 4: Implementation Phase 2 There was limited development during this stage of implementation. This was because the team was primarily concerned with rectifying the issues of Bluetooth connectivity not addressed in Stage 3. Stage 5: Completion of First Version and Initial Testing The operation of the IRs sensors was implemented in this stage, to allow remote control of the robot car using a control panel. Upon completion of implementing the IR sensors, the team implemented the Bluetooth connectivity in a bid to rectify the issues causing the relaying of false information. However, this objective was not achieved Stage 6: Final Implementation and Final Testing The robot car did not move as intended due to multiple errors in the code running it. Once these errors were rectified, the bot functioned properly. The team then conducted various tests to ensure the robot car behaved as intended throughout Stage 7: Presentation and Demonstration A PowerPoint presentation was prepared to be displayed in conjunction with the demonstration of the final prototype. All things considered, the team was pleased with the final product developed. References Noc07: , (Nocks, 2007), SEI14: , (SEIT, 2014), Par14: , (Parralax, 2014), Read More
Cite this document
  • APA
  • MLA
  • CHICAGO
(The Use of Robotics Lab Report Example | Topics and Well Written Essays - 2000 words, n.d.)
The Use of Robotics Lab Report Example | Topics and Well Written Essays - 2000 words. https://studentshare.org/engineering-and-construction/2055549-report
(The Use of Robotics Lab Report Example | Topics and Well Written Essays - 2000 Words)
The Use of Robotics Lab Report Example | Topics and Well Written Essays - 2000 Words. https://studentshare.org/engineering-and-construction/2055549-report.
“The Use of Robotics Lab Report Example | Topics and Well Written Essays - 2000 Words”. https://studentshare.org/engineering-and-construction/2055549-report.
  • Cited: 0 times
sponsored ads
We use cookies to create the best experience for you. Keep on browsing if you are OK with that, or find out how to manage cookies.
Contact Us