# Autonomous quad player

Goal: To be able to have a quad copter autonomously hit a ball back.

This project consists of two main parts. Part one consists of being able to identify an object in a 3d space. Part two consits of having the quadcopter "know" where the object is and tap it. Part one is achieved by knowing where the object is at all times using two cameras to determine the x y z coordinates of such object. It is also important to know where the quadcopter is in conjuction with the object. This is done by capturing the frames that both cameras give us and extracting the location of each object on each frame.

The frames are captured using two Microsoft Kinects. These images are then converted utilizing Visual Studio C# language. The process is known as object extraction and it involves acquiring a certain amount of information that is then compared to a known value(in this case the color of the objects) and if found, a threshold size is compared and a location is then acquired. Each camera can give us the x and the y of the object. Since we need the z value as well , one camera serves as the x and the y while the other camera's x is the z value of the first camera.

Here is a demostration of the objects(balls) being added to the program and how it finds and gives us the location of the ball in the space provided. Notice that the slide values determine the final view as shown by the video. Also, there is some "tracking" being shown towards the end of the video.

For best results, change it to 480p and make it full screen
{"ft_lang_label":"__label__en","ft_lang_prob":0.9561856,"math_prob":0.93010867,"size":1525,"snap":"2021-04-2021-17","text_gpt3_token_len":331,"char_repetition_ratio":0.14003944,"word_repetition_ratio":0.007067138,"special_character_ratio":0.20983607,"punctuation_ratio":0.064935066,"nsfw_num_words":0,"has_unicode_error":false,"math_prob_llama3":0.95313656,"pos_list":[0,1,2],"im_url_duplicate_count":[null,2,null],"WARC_HEADER":"{\"WARC-Type\":\"response\",\"WARC-Date\":\"2021-04-21T09:16:15Z\",\"WARC-Record-ID\":\"<urn:uuid:a16ad0db-7e26-461e-bd37-2d2cc681f9d3>\",\"Content-Length\":\"5132\",\"Content-Type\":\"application/http; msgtype=response\",\"WARC-Warcinfo-ID\":\"<urn:uuid:ee1e6a2b-3ce2-4e5f-bbf5-791073551fb4>\",\"WARC-Concurrent-To\":\"<urn:uuid:d502e919-d9a6-46d3-acdb-145c7178b67f>\",\"WARC-IP-Address\":\"69.65.10.231\",\"WARC-Target-URI\":\"http://tareksobh.net/risc/Project3/Index.htm\",\"WARC-Payload-Digest\":\"sha1:5IVUQHEVMWJKT5MCWSBGDWGWFUXN4ZFC\",\"WARC-Block-Digest\":\"sha1:W7LIW6RGXJLK3QV47YFYF3EHR5AZHWA3\",\"WARC-Identified-Payload-Type\":\"text/html\",\"warc_filename\":\"/cc_download/warc_2021/CC-MAIN-2021-17/CC-MAIN-2021-17_segments_1618039526421.82_warc_CC-MAIN-20210421065303-20210421095303-00244.warc.gz\"}"}