Introduction
Statement of Purpose
Create a robot that is able to move autonomously from one point to another using computer vision/wireless teleoperated control. Our goal as a group is to have the robot be able to carry a load internally to it's designated drop point. We think this project will be useful because it will eliminate time wasted doing basic errands. In addition, it is useful right now in a global pandemic social distancing is important. Robots that can bring us essentials like food, groceries, tools. We can help alleviate some of the necessary social interaction in a time when it's better off for us to stay safe at home.
Background Research
Starship Technologies developed and operates the last mile delivery robots.
The electric-powered robots ride on sidewalks at a pedestrian speed, with a max speed of 3.7 mph, can be remote-controlled if autonomous operation fails, and will only be used for relatively short-range local delivery. The robot weighs 55 pounds unloaded, and can hold up to 20 pounds of deliveries. We want to make a similar robot but likely make it lighter to make it faster.
Computer Vision
Computer vision tries to imitate the function of a human’s brain where it can process and recognize different visuals. “Training” the computer involves a lot of data, and the computer attempts to identify patterns in the items. We hope to use cameras to send information to the computer vision software to pinpoint people, rocks, or other obstacles, and then tell the car to turn or stop as needed. This will involve lots of time training the computer to understand the different objects.
Software
Python IDE, shouldn’t need third party
Design Details
Block Diagram / Flow Chart
System Overview
Raspberry Pi: Will use the programming features on the pi to tell the robot to move. The Pi is where the software and the hardware interact.
Pi camera: Gives the robot the ability to gather sensory information and allows it to have autonomous capabilities.
Battery Bank (for motors)-Provides energy to the motors and allows robot to move without being plugged into an external power source
Motor controller: Turns the digital input given to the Pi into electrical output to the motors.
Motors and wheels- The motors receive instructions from the motor control and allow the wheels to move and therefore the robot, as a whole, can move
Accelerometer: Tells us the proper acceleration of our system which can tell us the robots exact position.
5V battery bank (for pi) - is the battery for the raspberry pi.
Wifi Adapter-Allows us to remotely connect to the raspberry pi to push code to the robot, or take teleoperated control of it (if we need to), as well as tell the raspberry pi to end the code and shut off.
BOM
Raspberry Pi 4b ($35)
With OS, or give us an SD card as well
Camera ($20)
Encoded Motors (4) ($12)
Motor Controller (L298N) ($6.69)
Raspberry Pi WiFi Wireless Adapter ($9.95)
Accelerometer (Adafruit: $7.95)
LCD Screen
Battery pack one for pi( 3A, 5V) → (Graciously supplied by Marco or the school or for money approx. 25$)
Chassis: Plywood (self made most likely $5)
Just a box for now
LED’s:
Possible Challenges
Not all of us are in person, so completing the physical design could become a challenge, especially if a lot of tweaking and adjusting later becomes required.
Potentially using computer vision to make the robot autonomous could pose a challenge as well, as creating a working pathfinder with a limited amount of time and only a certain amount of camera angles will be difficult.
Part limitations, having to adapt and change our initial design won't be the hardest challenge but it will definitely take time away from us.
Cable Management, especially in a custom chassis
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 :).
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].
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].
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].
Starship Technology "Inside The Mind Of An Autonomous Delivery Robot | Digital Trends". Digital Trends, 2020,
Monk, Simon. "Computer Vision With The Raspberry Pi". O’Reilly Media, 2020, https://www.oreilly.com/content/raspberry-pi-cookbook-computer-vision/.
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/.
Subsystem | Name | NetID | Section |
---|---|---|---|
Hardware | Katherine Carder | kath | ECE 110 |
Mihir V | mihirv2 | ECE 120 | |
Anish Sabnis | anishks | ECE 120 |
Subsystem | Name | NetID | Section |
---|---|---|---|
Software | Soham Manjrekar | sohammm2 | ECE 110 |
Aryan Damani | anishks2 | ECE 120 | |
Marco Zheng | hongboz2 | ECE 120 |