SubsystemNameNetIDSection

Software
Soham Manjrekarsohammm2ECE 110
Aryan Damanianishks2ECE 120
Hongbo Zhenghongboz2ECE 120

Project Proposal - Autonomous Code

  1. Introduction

    1. Statement of Purpose

      1. Write code for a Raspberry Pi that will enable a robot to move via teleoperated and autonomous control. Our goal as a group is to complement the robot designed to carry a load internally to it's designated drop point. This project will be useful because we believe if we can write code that can be applied to a robot in general we can make our code open source for people who want to accomplish similar projects in the future and collaborate to improve our code. Furthermore, automation is a vastly increasing industry and this project is just another step towards that future.


    1. Background Research

      1. Software

        1. Python, shouldn’t need third party, comes onboard a Ras Pi

      2. Ardupilot 

        1. ArduPilot is an open source, unmanned vehicle Autopilot Software Suite, capable of controlling autonomous vehicles

      3. OpenCV

        1. Use OpenCV for computer vision using feed from camera to guide around obstacles

      4. We looked at other autonomous or semi autonomous robots that people did as projects and wanted to make an easier software solution that is widely applicable


  1. Design Details

    1. Block Diagram / Flow Chart

    1. System Overview

Raspberry Pi: Will use the Raspberry Pi to compile our code and test to see if our code recognizes what the camera sees

Camera: We are working on autonomous control so we need a camera to give our code the input it needs so that we can tell a vehicle how to react.

  1. BOM

    1. Raspberry Pi 3b+ ($35)

      1. With OS, or give us an SD card as well 

    2. Pi Camera Module v2(25$)

      1. Better quality video and less CPU load than webcam because it uses gpu. 

  2. Possible Challenges.

  • Coding, we have to learn coding on Raspberry Pi from scratch. We may have to browse a lot of online resources to write commands for the car to move.

  • Debugging, this is our first time working in python and many of us haven't used a Raspberry Pi before so if we face any issues with our code it’ll be somewhat of a nightmare :). 

  • Testing, since most of us are off campus, it is difficult for us to test if our python code is working properly for the car motors (Is the car moving as we expected).

  1. References

  1. Babich, N., 2020. What Is Computer Vision & How Does It Work? An Introduction | Adobe XD Ideas. [online] Ideas. Available at: <https://xd.adobe.com/ideas/principles/emerging-technology/what-is-computer-vision-how-does-it-work/#:~:text=The%20concept%20of%20computer%20vision%20is%20based%20on%20teaching%20computers,results%20through%20special%20software%20algorithms.> [Accessed 16 September 2020].

  2. Monk, Simon. "Computer Vision With The Raspberry Pi". O’Reilly Media, 2020, https://www.oreilly.com/content/raspberry-pi-cookbook-computer-vision/.

  3. Landoni, Boris. "Computer Vision With Raspberry Pi And The Camera Pi Module - Open Electronics". Open Electronics, 2020, https://www.open-electronics.org/computer-vision-with-raspberry-pi-and-the-camera-pi-module/.

  4. Wade, Bob. “How Do RC Cars Work? Science Behind Remote Controlled Vehicles”. RCReboot, 2020, https://rcreboot.com/how-rc-cars-work/