Creating a robot that can detect poles on a table and map them out. Afterwards, it creates a convex hull with the poles it detected, calculates the area of the convex hull and transmits an image of the final map back to the computer.
This project was created for the class INF1900 at Polytechnique Montreal.
This is an example of a result that'd be transmitted from the robot to the computer.
The following programs are required to use this project:
Plug-in your ATMega324PA using a USB cable, then follow these steps.
- Clone the project
git clone https://github.com/gabcomby/MapperBot.git
cd MapperBot
- Build the library
cd lib
make clean && make
cd ..
- Install the program onto the microcontroller
cd app
make clean && make install
cd ..
- Once the robot has finished its run, plug it back in and run the following commands to get the SVG & the CRC32 hash:
serieViaUSB -l
- After the program was installed on it, unplug the robot from the computer.
- Turn on the power for the microcontroller & the H-Bridge
- Place the robot on the table
- Enter detection mode by pushing the "Interrupt" button
- After each pole detection, please re-press the "Interrupt" button
- Once all desired poles have been detected, press the "Reset" button
- Plug the robot back into the computer, and run step 4 of the "Installation" chapter
- Press the white button located on the breadboard
This project is shared publicly on GitHub for educational purposes only. The code and accompanying resources are provided under the MIT License, which allows for the use, modification, and distribution of this software, subject to the conditions specified in the license.
However, using this project, in part or in full, to complete a school assignment, coursework, or any other academic task WITHOUT proper attribution or consent is STRICTLY PROHIBITED. By using this project, you agree to respect the principles of academic integrity and avoid any form of plagiarism.
If you are a student and wish to use or reference this project in your academic work, please ensure that you properly cite the source, giving credit to the original author. Consult your institution's guidelines on citation and attribution to ensure compliance with academic integrity policies.
Failure to comply with this notice and the principles of academic integrity may result in disciplinary action from your educational institution, up to and including expulsion.
If you have any questions or concerns regarding the use of this project, please contact the original author.