Introduction: Guiding Robot With Voice Recognition Feature

About: I'm a B.E.Mechatronics Engineering Student. I love to make things with microcontroller development boards and single board computers.

Guiding Robot is a mobile robot which we made to guide the visitors to various departments in our college campus. We made it to speak a few predefined statements and to move forward and backward according to the input voice. In our college we have the Mechatronics department and the IT department opposite to each other.When the robot is placed in front of the Mechatronics department, it moves forward to reach the Mechatronics department and it moves backward to reach the IT department according to the input voice, as simple as that.

Step 1: Components Requied

  • 1 x Raspberry Pi 3
  • 1 x Arduino nano
  • 4 x 12V motors with clamps
  • 4 x wheels
  • 1 x motor driver
  • 1 x 12V battery
  • 1 x 5V power bank
  • 1 x wooden base
  • 1 x USB speaker
  • 1 x microphone
  • 1 x robot body and head
  • some nuts, bolts and wires
  • Internet connection

Step 2: Base of the Robot

  1. Take a rectangular board (l,b,h as required).
  2. Drill holes according to the motor clamp holes.
  3. Fix the motor and the clamp to the base with nuts and bolts.
  4. Drill holes as shown in the image to fix the body of the robot.
  5. Drill another hole to bring the wires from the motor to the top of the base.

Step 3: Body

  1. We used two chemical box as the body and a chick box as head.
  2. Drill appropriate holes on the boxes and fix it one on the other.
  3. Place the body on the base with the head on the top.

Step 4: Setting Up Raspberry Pi

OS used : Rasbian Jessie

Install the following libraries with their dependencies:

  1. Text to speech library : eSpeak (reference)
  2. Speech recognition : SpeechRecognition 3.8.1 (reference)
  3. Arduino IDE(reference)

Step 5: Connections

  1. Connect the two right motor wires to output port-1 and the other two motor wires to the out put port-2 of the motor driver.
  2. Connect arduino nano pins 2,3,4 and 5 to the motor driver pins 1,2,3 and 4.
  3. Connect the arduino nano to RPi via USB cable. We used arduino nano as a slave and RPi as a master.At some cases RPi was not able to control the motor driver,so we used arduino nano to control the motor driver.
  4. Connect USB Speaker and Microphone(we used inbuilt mic of a webcam) to RPi via USB ports and fix them to the head of the robot.

Step 6: Downloads

  1. Download the attached file and extract it.
  2. Power the RPi and copy the extracted files to RPi desktop.
  3. upload the arduino code to the arduino nano from RPi.
  4. Right click on the speaker icon on the desktop and select the output audio device as USB audio device.
  5. The "1.txt" file consists of the voice input statements and the corresponding audio output statements are given in th file "2.txt".
  6. Add the desired input statements to the file "1.txt" and the output statement to the corresponding line of the file "2.txt".

Step 7: Testing of the Robot

  1. Power the motor driver with a 12 V battery.
  2. Run the code "GuideRobot.py"
  3. When you speak the 1st statement in the file "1.txt", the robot replies by converting the 1st statement of the file "2.txt" to speech and so on.
  4. Say "Guide me to Mechatronics department", it will move forward and say "Guide me to IT department", it will move backward. These statements can be edited as required.