“The ideal engineer is a composite … He is not a scientist, he is not a mathematician, he is not a sociologist or a writer; but he may use the knowledge and techniques of any or all of these disciplines in solving engineering problems.”
—Nathan W. Dougherty, American civil engineer
The E-Yantra Robotics Competition is India’s biggest PBL (Project Based Learning) robotics competition - hosted by e-Yantra, IIT Bombay. I took part in the 2021-22 edition of the competition, which was coincidentally the 10th edition. Through this post, I'd like to share my experience and the things I learned in 6 months of the competition.
A Journey Begins
I came to know about the competition in August, 2021 through my friend Hrithik Singla who was the President of Volt, the Electronics Club of School of Engineering, JNU. My initial reaction was to not take part in the contest as I was currently preparing for the Graduate Aptitude Test in Engineering (GATE).
However, the idea of a collaborative contest really appealed to me. This was engineering was all about, utilizing the theoretical knowledge and applying it to solve real world problems. I decided to register and formed a team with Hrithik and two of my juniors, Swastik and Nabanil. Thus, we geared ourselves for the first task.
Progressing Through Tasks
The EYRC competition was very scientifically designed. Each task fed into the next. We started at the very basics and bought everything together at the end of the competition.
Task 0:
Task 0 consisted of downloading and installing the required software to proceed with the theme. The auto grader checked the configuration of the PC after setup. In addition to that we had a small python coding contest. The questions didn't check how good you were with competitive programming, but instead ensured that you had a fair understanding of python and its various features like Lambda functions etc.
Task 1:
The aim of this task was to familiarize us with important concepts of Image Processing, Python Programming, and to provide an introduction to the CoppeliaSim environment which would be used extensively throughout the theme implementation. It was a very engaging task and the feeling of satisfaction after completing it was unprecedented.
Task 2:
The aim of this task was to detect berries and calculate their pose using OpenCV library and to design and simulate a robotic arm in CoppeliaSim. It was one of the harder tasks as the concepts learned in task 1 were directly applied here. There was hardcore design in CAD as well which tested the ingenuity and creativity of the participants.
Task 3:
The objective of this task was to design the navigation algorithm for the mobile robotic vehicle which would be used to carry the robotic arm designed by the team. This was the first time the full Berryminator bot was revealed to the teams. I am happy to say that our team received the first position in this task for completing the objective in the shortest time possible.
Task 4:
The objective of this task was to pluck berries from plants using the robotic arm designed in Task 2 and deposit them in a collection box. It was the first mini run of the theme concept. Each task acted as a building block leading up to this. This task was essential since it was the introduction to Inverse Kinematics (IK) which would be the foundation of the pluck and place algorithm.
Task 5:
The objective of this task was to combine the learning of the previous tasks and implement the BerryMinator Theme as per the given Rulebook.
The major tasks to be completed were:
- Understanding the scene
- Decoding the configuration file
- Delivering all the berries to the appropriate Collection Boxes
It was the first full theme run and a taste of what we could expect in the finals. It took a lot of clever programming and analysis to implement the theme properly. We also designed a storage basket to store the berries during plucking runs. The aesthetics of the arm was improved as well.
Task 6:
The objective of this task was to implement the BerryMinator Theme as per the given Rulebook within 48 hrs. The time constraint as well as the bonus configuration kept us on our toes. It was a thrilling finish to the EYRC competition.
The Result and what I learned:
According to the final leader board, our team ranked 12th out of the hundreds of teams that participated.
I was introduced to and mastered a variety of skills such as:
1. Robotic Simulation in CoppeliaSim
2. Image Processing using OpenCV and Python
3. 3D Designing in Fusion360
4. Building complex algorithms such as Inverse Kinematics
5. Robot Navigation and localization using QR codes and Pyzbar
6. Python programming and Lua programming.
It was certainly a challenge to work on the competition while simultaneously juggling academics and GATE preparation, but ultimately it was very fruitful. I learned a lot about teamwork and collaborative development in the process.
I’d like to thank my friend Hrithik Singla and my other teammates for their incredible support during the competition.
Looking forward to many more such events!
Comments
Post a Comment