Showing posts with label Artificial Intelligent. Show all posts
Showing posts with label Artificial Intelligent. Show all posts

Monday, July 12, 2021

Artificial Intelligent robot raspberry pi and Arduino-Part1

Artificial Intelligent robot raspberry pi and Arduino-Part1

In this project we are building AI robot based on the raspberry pi 3 B and two Arduino Mega microcontrollers and one PC (laptop) ,many other electronic component used i.e. raspberry camera model, Ultra Sonic HC-SR04 Sensor, IR sensor, L298 Dual Motor Driver, DC motors with built in encoders ,servo motor...etc.






I2C protocol and I2C bus used to connect the raspberry pi 3 B and two Arduino Mega microcontrollers, raspberry pi 3 B and one of the Arduino Mega acting as master and the 2nd Arduino Mega acting as slave and getting the control signals from the masters on I2C bus.

From the Artificial Intelligent side we have used computer vision (face detection and face recognition) and voice recognition also we have used Artificial Intelligent chat bot. From the development / programing side we have used python, Arduino C languages and MIT app inventor to develop the applications used in this project.



Following is the list of applications developed and main features:

PC (laptop) Server

Python Application

  • Network Socket (two way)
  • Video Processing
  • Face Detection
  • Face Recognition
  • ML Model Training

Raspberry pi 3 B


Python Application 1:

  • Video broadcasting
  • Network Socket (two way)
  • Face Detection/ Recognition logic
  • Acting as master on I2C Bus.
  • Send the status to 2nd Arduino to
  • Define the motion logic.

Python Application 2:

  • AI Chat Bot
  • ML Model Training 

Python Application 3:

  • Simple Web App used in Integration between Mobile App & raspberry pi  Application 1 & 2.

 

Arduino Mega1 Arduino Program

  • Acting as master on I2C Bus.
  • Use the  three Ultra sonic to find the obstacles in front
  • Use the and Ultra sonic mounted on Servo to find best Direction to move after detection front obstacles.
  • Send the status to 2nd Arduino which will use the status to Define the motion logic.

Arduino Mega2 Arduino Program

  • Acting as Slave on I2C Bus.
  • Use the 4 IR sensors to find front
  • Or back obstacles.
  • Receive status from raspberry pi  and the 1st Arduino
  • Define the motion logic based on the received status, this include reduced the speed , turn left / right or move back , move forward

Mobile

MIT Mobile App:

  • Simple Web App
  • Integration with raspberry pi
  • User Interaction using Voice Recognition
  • User /robot Interaction