Skip to content
This repository has been archived by the owner on Apr 18, 2024. It is now read-only.

McCoy-Flateline/ENGR101-AVC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 

Repository files navigation

ENGR101_2020 AVC Project (Team 4)

Team Members & Contact Info:

Roles:

  • Deepkrsna Arora & Selby Dasent: Programming the image processor
  • Elliot Rose & Ella Tait: Programming the robot's movement

Project Description:

The purpose of this project is to write software which guides a robot through a maze. The robot is equipped with a video camera and two wheels. The camera image is an input for the program. The program controls the speeds of left and right motors.

Communication tool:

  • Facebook Messenger

GitHub:

Project Plan:

Start Date: Tuesday 26/05/2020
Due Date: Tuesday 02/06/2020
Objective: Start Project
Conflicts: N/A
Tasks:

  • Selby – Setup GitHub Repository
  • Deepkrsna – Setup Facebook group chat
  • Selby & Deepkrsna – Complete plan for ImageProcessor class
  • Ella & Elliot – Complete plan for RobotMovement class
  • All – Merge both plans to form the AVC project plan
  • All – Test all installations/help install SFML on all team member’s computers
  • Selby – Create Trello board and invite everyone

Start Date: 01/06/2020
Due Date: 07/06/2020
Objective: Image Processor Core
Conflicts: COMP102 Assignment, CYBR171 Assignment, ENGR121 Assignment
Tasks:

  • Deepkrsna – Create a development branch for Image Processor Core
  • Deepkrsna – Implement line recognition
  • Deepkrsna – Implement obstacle recognition
  • Deepkrsna – Submit code for testing
  • Selby – Test code and provide feedback
  • Deepkrsna – Improve based on the feedback (if any)
  • Deepkrsna – Commit to branch
  • Deepkrsna– Create pull request

Start Date: 02/06/2020
Due Date: 07/06/2020
Objective: Movement Class Core
Conflicts: N/A
Tasks:

  • Ella - Create a development branch for Movement Core
  • Elliott - Assign variables and fields for basic movement
  • Elliott & Ella - Calculate the speeds of the left and right motors
  • Elliott & Ella - Submit code for testing
  • Elliott & Ella - Test code and provide feedback
  • Elliott & Ella - Improve based on the feedback (if any)
  • Elliott - Commit to branch
  • Elliott - Create pull request

Start Date: 02/06/2020
Due Date: 13/06/2020
Objective: Image Processor Completion
Conflicts: N/A
Tasks:

  • Selby - Create a development branch for Image Processor Completion
  • Selby - Implement line recognition
  • Selby - Implement obstacle recognition
  • Selby - Implement intersection recognition
  • Selby - Submit code for testing
  • Deepkrsna – Test code and provide feedback
  • Selby - Improve based on the feedback (if any)
  • Selby - Commit to branch

Start Date: 02/06/2020
Due Date: 13/06/2020
Objective: Movement Class Completion
Conflicts: N/A
Tasks:

  • Elliott - Create a development branch for Movement Completion
  • Elliott & Ella - Use intersection recognition to make a decision about which path to follow (turning left when possible)
  • Ella - Determine movement when faced with obstacle
  • Elliott - Submit code for testing
  • Elliott - Test code and provide feedback
  • Elliott & Ella - Improve based on the feedback (if any)
  • Ella - Commit to branch
  • Ella - Create pull request

Start Date: 07/06/2020
Due Date: 15/06/2020
Objective: Image Processor Challenge
Conflicts: CYBR171 Assignment, COMP102 Assignment, ENGR121 Assignment, ENGR121 Lab 3
Tasks:

  • Deepkrsna – Create a development branch for Image Processor Challenge
  • Deepkrsna – Implement maze navigation
  • Deepkrsna – Implement obstacle recognition
  • Selby – Test code and provide feedback
  • Deepkrsna – Improve based on the feedback (if any)
  • Deepkrsna – Commit to branch
  • Deepkrsna – Create pull request

Start Date: 02/06/2020
Due Date: 19/06/2020
Objective: Movement Class Challenge
Conflicts: N/A
Tasks:

  • Elliott - Create a development branch for Movement Challenge
  • Elliott & Ella - create system for navigating through maze without a guide
  • Ella - Submit code for testing
  • Ella - Test code and provide feedback
  • Elliott & Ella - Improve based on the feedback (if any)
  • Elliott - Commit to branch
  • Elliott - Create pull request

Installation Instructions

Note: The following instructions are only for a Linux based operating system.

Install SFML

  1. Go to https://www.sfml-dev.org/download/sfml/2.5.1/
  2. Install the SFML version for Linux (GCC -64-bit)
  3. Extract the downloaded folder into your “Downloads” folder
  4. Rename the folder to “SFML”

Install Geany

  1. Open the terminal by pressing Ctrl + Alt + T
  2. Enter the following command in the terminal: sudo apt-get install geany
  3. When or if prompted, enter your password to grant permission to start the download
  4. When or if prompted, enter “Y” to confirm the installation
  5. Once installed, try running Geany by either entering “geany” in the terminal or searching for it in the start menu

Install Project

  1. Click on the “Clone or download” button in the repository
  2. Click the “Download ZIP” button on the popup that appears
  3. Extract the downloaded folder and open it
  4. Navigate into the “AVC_server” folder
  5. Open the file named “makefile” in a text editor
  6. On the first line, “SFML = /home/INSERT_USERNAME_HERE/Downloads/SFML/SFML-2.5.1”, replace “INSERT_USERNAME_HERE” with your computer’s username, save it, and close the file.
  7. Open the file named server3.cpp in Geany
  8. Use the “Make” option from the Geany menu (Build > Make) or press Shift + F9
    • If you get a missing operator error, make sure that there is a tab (not whitespaces) on the lines before “g++” in the makefile (line 6 & 8)
    • Else, if everything goes well, you should see “Compilation finished successfully.”
  9. Run the server3 program by pressing the “Execute” option from the Geany menu (Build > Execute) or press F5
  10. Navigate into the “AVC_robot” folder
  11. Open the file named “makefile” in a text editor
  12. On the first line, “SFML = /home/INSERT_USERNAME_HERE/Downloads/SFML/SFML-2.5.1”, replace “INSERT_USERNAME_HERE” with your computer’s username, save it, and close the file.
  13. Open the file named robot.cpp in Geany
  14. Use the “Make” option from the Geany menu (Build > Make) or press Shift + F9 -If you get a missing operator error, make sure that there is a tab (not whitespaces) on the lines before “g++” in the makefile (line 6 & 8)
    • Else, if everything goes well, you should see “Compilation finished successfully.”
  15. Run the server3 program by pressing the “Execute” option from the Geany menu (Build > Execute) or press F5
  16. A terminal should open asking you for the maze being used. Enter “Core”, “Completion” or “Challenge” depending on the maze being used
    • If a terminal does not open, try pressing Alt + Tab until you find the terminal
  17. Switch to the Global View by pressing Alt + Tab to view to simulation
  18. To stop/close the program, press Alt + Tab to switch to each terminal open and press Ctrl + C

Note: Once the program has been executed once, you do not need to Make the files again. Simply executing the server3 and robot files in that respective order will start the simulation. Also, you can change the maze being used by editing the first line of the file named config.txt in the AVC_server folder, replacing filename, for example “core.txt” with “completion.txt”, and saving it before execution.

About

Vic Uni, ENGR101, group project 3

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published