Ahmad1's blog

By Ahmad1, 7 years ago, In English

Hello everyone,

I have been a permanent participant in competitive programming for many years now. I have been participating in ACM-ICPC for 3 years now, and managed to qualify for the world finals 2017.

Now that I have graduated from the department of Computer and Automation Engineering in Damascus University, I want to share with you my graduation project: badminton playing robot. In this project I used many algorithms that I learned from competitive programming (such as BFS, LIS and of course a lot of geometry).

We used LIS to filter noise data of shuttle detection and BFS,DFS to implement Indoor Location System for robot tracking and queries like sum of sub-rectangle in an array, and we didn't use any libraries for image processing.

I’m so glad that I managed to use the techniques I learned from competitive programming in my project. I'm also delighted that I was able to prove wrong those who say that competitive programming isn’t applicable in practical life, since I wouldn’t have been able to do all of this without my experience in ACM and competitive programming.

Badminton playing robot: Flying object detection, tracking and interception in real time project video on youtube

I hope you check and enjoy this demo me and my graduation project team made on the basic ideas in our robot. Please feel free to write comments. I will be more than happy to answer any of your questions as well.

This project was ceated by Me Ahmad1, Majd Wardeh MajdWardeh and Omar Aljubbah Omarjh.

UPD: My new robot for WRO competition: WRO

  • Vote: I like it
  • +388
  • Vote: I do not like it

»
7 years ago, # |
  Vote: I like it +21 Vote: I do not like it

Auto comment: topic has been updated by Ahmad1 (previous revision, new revision, compare).

»
7 years ago, # |
  Vote: I like it +24 Vote: I do not like it

Completely awesome project and a must to motivate people to enter the world of competitive programming. Congratulations to you and your whole team for it.

By the way can you share other details related to this project too, like the budget of your total project and what all other technologies you have used specifically related to machine learning or image processing?

  • »
    »
    7 years ago, # ^ |
      Vote: I like it +17 Vote: I do not like it

    Thanks,

    We used Tetrix building kit to build the robot, Microsoft Kinect V2 (100$), Motors and Atemega 128 processor to control the robot.

    Image processing algorithms is motion detection, Mask detection to detect the robot in Color stream (there is two masks fixed on each side of the robot), robot tracking algorithm in Depth stream like the algorithm used by Microsoft kinect for human body tracking, and Least square estimator to estimate trajectory.

    We are working on a detailed report in English, I will share it soon.

»
7 years ago, # |
  Vote: I like it +32 Vote: I do not like it

That's great! Do the projects of other students have similar difficulty? In my university (and most probably in country too) it's usually enough to write just another solver of linear equation systems using MPI, like I did.

  • »
    »
    7 years ago, # ^ |
    Rev. 2   Vote: I like it 0 Vote: I do not like it

    Thank you. No, our project is the biggest project of this year, Of course there is some good and hard projects but on the other hand there is some repeated and easy projects.

»
7 years ago, # |
  Vote: I like it +211 Vote: I do not like it

Build a second one and let them play.

»
7 years ago, # |
  Vote: I like it +10 Vote: I do not like it

Very nice project! I am planning to do a chess playing robot for my senior project, but I'm not sure which library to use for image processing. Which one do you recommend? How long did it take to finish the project?

  • »
    »
    7 years ago, # ^ |
      Vote: I like it +5 Vote: I do not like it

    Thanks, I didn't use any library but you can use OpenCV for your application.

    Chessboard state is known according to previous moves so you don't need to recognize Pieces, all you need is to detect a moved Piece by subtracting two consecutive frames and there is some chess engines for playing strategy.

    • »
      »
      »
      7 years ago, # ^ |
        Vote: I like it +5 Vote: I do not like it

      Thanks for the advice.

    • »
      »
      »
      7 years ago, # ^ |
        Vote: I like it +5 Vote: I do not like it

      How do you handle promotion in this case? Do you keep the captured pieces in fixed locations or it needs manual intervention?

      • »
        »
        »
        »
        7 years ago, # ^ |
        Rev. 2   Vote: I like it +5 Vote: I do not like it

        I didn't think about this case, if he wants to use simple image processing may be he can consider the promotion is always to Queen or he will have to recognize the promoted piece by computer vision algorithms.

        This Chess Robot is made by a student from my university in 2015, he used the same algorithm I mentioned above without taking promotion to pieces other than Queen into account.

»
7 years ago, # |
  Vote: I like it -21 Vote: I do not like it

66666

»
7 years ago, # |
Rev. 2   Vote: I like it +77 Vote: I do not like it

As Ahmad1 MajdWardeh and Omarjh are my friends and I saw some of difficulties that they encountered, like they needed a high-fps camera for real-time image processing and for better results and they cannot afford that, so they used a lower-fps camera and did almost the same results as expected, the university didn't help a lot, they afforded almost everything, very short working time because of the university exams, ACM preparations, and above all that, when you want to get some part for the robot, you'll not find it in Syria, so you have to wait about a month to get it requesting it from other countries, with a very-high price!

I think those guys did something great.. Hope to see them making something bigger and greater because they can do it :D

»
7 years ago, # |
  Vote: I like it +8 Vote: I do not like it

»
7 years ago, # |
  Vote: I like it +13 Vote: I do not like it

Really Cool Project!!!

»
7 years ago, # |
  Vote: I like it +14 Vote: I do not like it

Nice work indeed !!

I'm so proud to be your teammate in ACM for the second year now. I hope we do our best in the upcoming ACPC and ICPC contests, and be able to succeed as much as you did in your graduation project.

»
6 years ago, # |
  Vote: I like it +3 Vote: I do not like it

This is sooo cool!!