Raspberry Pi Overview

The Raspberry Pi (RPi) subsystem is responsible for inter-communication among Algorithms, Android and Adruino subsystems. It processes and relays messages, including commands and readings from and to different subsystems. In addition, it also performs processing, recognizing and locating images in the maze as the robot traverses through the maze.

Inter-communication between subsystems

Communications with different subsystems are established using different protocols, namely, wireless Internet Protocol (IP) with Algorithms Subsystem, ACM (serial) Protocol with Arduino, and RFCOMM Bluetooth wireless with Android Subsystem.

Parameters defined for communication protocols include WiFi IP address and port number for PC server, N7 Mac Address and UUID for Bluetooth Server and Baud rate and SER_PORT0 and SER_PORT1 for Arduino connection.

  • WIFI_IP = “192.168.16.16”
  • WIFI_PORT = 9123
  • BAUD = 115200
  • SER_PORT0 = “/dev/ttyACM0”
  • SER_PORT1 = “/dev/ttyACM1”
  • N7_MAC = “68:B3:5E:58:97:4F”
  • UUID= “00001101-0000-1000-8000-00805F9B34FB”
Image Recognition

For this subsystem, our team decided to perform the image recognition on a PC instead of on the RPi. The purpose of this subsystem is to:

  1. Receive images taken by the camera onboard the RPi
  2. Detect the target images by plotting a bounding rectangle around it
  3. Recognise the signs detected by assigning its corresponding image number
  4. Send those image numbers to the Algorithm subsystem, which processes them. The Algorithm subsystem then finally sends the image number together with their corresponding coordinates to the Android subsystem which displays them.
  5. Display the raw images with the bounding rectangle at the end