This document summarizes the design and development of a four-wheel educational robot that can be remotely controlled by a tablet or cellphone. It describes the design process, which involved 70% hardware and 30% software development. The hardware design included selecting components, electrical connections and circuitry, and mechanical fabrication. The software design involved initializing the Raspberry Pi, developing a GUI for control and streaming camera footage, and implementing OpenCV for gesture recognition. Further improvements are proposed, such as adding a PCB, 3D printed body, voice recognition, and facial expression recognition.
9. Part 2: Software Design
Section 1: Raspberry Pi Initialization and Server Programming
15 Steps to Initialize Raspberry Pi B+
10. Part 2: Software Design
Section 1: Raspberry Pi Initialization and Server Programming
11. Part 2: Software Design
Section 1: Raspberry Pi Initialization and Server Programming
Server receive signal with ‘n’
attached string
Subprograms
12. Part 2: Software Design
Section 2:GUI Design and Functions Programming
NetIO Application and
Online UI Designer
13. Part 2: Software Design
Section 2:GUI Design and Functions Programming
• Send/Receive data over TCP
sockets
• Communication through local
network
• Multiple receivers and senders
• Online GUI Designer
• Configuration cloud storage and
simple synchronization
• Cross Platforms:
Android/iOS/Mac OS Dashboard
Widget
14. Part 2: Software Design
Section 2:GUI Design and Functions Programming
Control Panel: control movements and emotions
• Forward.py
• Backward.py
• TurnLeft.py
• TurnRight.py
• Stop.py
• Nod.py
• ShakeHead.py
• Happy.py
• Angry.py
15. Part 2: Software Design
Section 2:GUI Design and Functions Programming
Camera Panel: for real-time camera pictures streaming to tablet
• CameraOn.sh
• CameraOff.sh
16. Part 2: Software Design
Section 2:GUI Design and Functions Programming
Interactive Panel: music and story random play and gesture selection functions
• Story.py
• Music.py
• Stopsound.py
• GestureSelect.py
17. Part 2: Software Design
Section 2:GUI Design and Functions Programming
18. Part 2: Software Design
Section 3:OpenCV Implementation on Robot
• Extract ROI(Region of
Interest) from input frame
• Find contour, draw convex
hull
• Find convexity defects
19. Part 2: Software Design
Section 3:OpenCV Implementation on Robot
Input & Output Picture after Finding Contour
20. Part 2: Software Design
Section 3:OpenCV Implementation on Robot
Algorithm to calculate the convexity of defects
21. Further Improvements
• PCB Prototype Circuit Board
• 3D Printing Outer Body
• Reduce Using of Skeleton & Mount Components
Directly onto Body
• NetIO Color Picker & OSX Dashboard Widget
(Github)
• Design Own Android App and iOS App
• Add Voice Recognition Module
• Improve the Algorithm of Gesture Recognition
• Implement Interactive Games
• Facial Expression Recognition (AAM & ASM)
• Object Following and Obstacles Avoiding
NetIO color picker Point-To-Opposite