The theme is set in a simulated environment where indoor vertical farming is explored. The arena is an abstraction of a farm where different types of berries are cultivated in vertically stacked trays in different rooms. A robot navigates through these rooms and galleries of the farm and harvest berries based on factors such as: size, ripeness and quantity required.
Simulation link: https://youtu.be/cwYZ_VC0zDY
We solved some basic and intermediate level Python problems in Codechef and we installed Anaconda/ Miniconda in our systems for implementation of further tasks.
We learnt opencv through implemnting color detection, centroid detection and contour plotting.
Implemented the concepts learnt in opencv for berry detection( considering depth buffer) and identified it's position in the coppeliasim scene.
Designed the robotic arm CAD model in Fusion 360 and imported it to coppeliasim scene as .stl file. The arm was further scaled, enabling the motor and setting force and torque values. It was ensured that the arm did not have any vibrations or other undesired movements in the scene.
We implemented a path planning algorithm for the vehicle to move in an arena consisting of QR codes. QR detection was done and based on its coordinate values the vehicle was moved.
Inverse Kinematics was implemented in our robotic arm and lua script(non-threaded) was used. We also placed our arm on the vehicle and moved in the scene and plucking a depositing of berries was first tested in this task.
The task included four rooms within which berry plants stacked on the vertical racks. The navigation algorithm along with obstacle avoidance strategies and required combinations of berries were collected and deposited in the appropriate collection box.
In the final task the exeutable file was provided which specifies varying combinations of requirements(berries) and the robotic arm should function as per the requirements and satisfy the constraints.
Robotic Simulation, Image Processing, 3D Designing, Algorithm Building, Robot Navigation and localization, Python programming and Lua programming