- Deepkrsna Arora (aroradeep-DK) ~ aroradeep@myvuw.ac.nz
- Selby Dasent (McCoy-Flateline) ~ dasentselb@myvuw.ac.nz
- Elliot Rose (jesusonweels) ~ roseelli@myvuw.ac.nz
- Ella Tait (ellatait07) ~ taitella@myvuw.ac.nz
- Deepkrsna Arora & Selby Dasent: Programming the image processor
- Elliot Rose & Ella Tait: Programming the robot's movement
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.
- Facebook Messenger
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
Note: The following instructions are only for a Linux based operating system.
- Go to https://www.sfml-dev.org/download/sfml/2.5.1/
- Install the SFML version for Linux (GCC -64-bit)
- Extract the downloaded folder into your “Downloads” folder
- Rename the folder to “SFML”
- Open the terminal by pressing Ctrl + Alt + T
- Enter the following command in the terminal: sudo apt-get install geany
- When or if prompted, enter your password to grant permission to start the download
- When or if prompted, enter “Y” to confirm the installation
- Once installed, try running Geany by either entering “geany” in the terminal or searching for it in the start menu
- Click on the “Clone or download” button in the repository
- Click the “Download ZIP” button on the popup that appears
- Extract the downloaded folder and open it
- Navigate into the “AVC_server” folder
- Open the file named “makefile” in a text editor
- 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.
- Open the file named server3.cpp in Geany
- 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.”
- Run the server3 program by pressing the “Execute” option from the Geany menu (Build > Execute) or press F5
- Navigate into the “AVC_robot” folder
- Open the file named “makefile” in a text editor
- 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.
- Open the file named robot.cpp in Geany
- 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.”
- Run the server3 program by pressing the “Execute” option from the Geany menu (Build > Execute) or press F5
- 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
- Switch to the Global View by pressing Alt + Tab to view to simulation
- 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.