2019; DIC Terrace Farming Challenge (8th Inter IIT Tech Meet)
- Guining Pertin
- Dec 31, 2019
- 4 min read
Updated: Oct 7
Introduction
This was my second Inter IIT experience at IIT Roorkee in 2019 during my junior year.
This was another project I worked on concurrently with Zenith during the same time. This dealt with an autonomous agricultural robot specifically for terrace farming in remote locations for Design Innovation Center (DIC).
The project was handled mainly by Robotics Club, IITG, where the major work was done by the sophomore students while we seniors focused mainly on managing, mentoring and theorizing ways to solve the problem. We ended up winning SILVER in the competition.
Problem Statement
We were tasked to develop a lightweight robot from scratch that perform plowing, seeding, watering and harvesting for terrace farming; with the added ability to climb up and down the steps and navigate autonomously through the field.

The field was specifically a narrow terrace < 2m wide that prevents use of large machinery or animal power and has steep slopes as shown in the figure. The brown zones represent the pathway and the red zone represents the start location (and end location). The height and width of each step are 40cm and 100cm respectively.
This also meant our robot had to be smaller than 1m in width while being able to climb up 40cm.
Our Solution
I mainly worked on the electronic components, the brain of the navigation system and the control algorithm for the same.
Hardware:

The development of the entire chassis and the mechanical components, the entire credit goes to the other team especially the sophomore students. I was only involved in it during the initial ideation
Electronics:

So here's the part I actually worked on. The top image shows the block diagram for our robot navigation and task controller units. The receiver unit is an NodeMCU ESP8266 module that hosts a manual user controller and task allocation HTTP server, that the owner can connect to through the Wi-Fi hotspot. This module uses serial communication to transmit control signals to the Navigation Controller Unit and the Task Controller Unit, which are separate Arduino MEGA and MICRO microcontrollers.

The fabrication was not the best I know but we ended up using this for simplicity. Arduino Mega could easily handle the control of 3 different sets of DC motors and the Ultrasonic sensor array with its mega set of gpio pins and higher current output. It also ran the FSM-Dual-PID system for autonomous navigation.
We used a skid-steer drive mechanism for the main navigation part of the robot. Another pair of motors were activated only to assist during the climbing phase. We also had a stepper motor, a servo, some dc motors and a pump to be controlled for individual tasks like harvesting, watering etc. All of these were handled by Arduino Micro with its limited set of pins. Syncing of these two units was done by the ESP8266 module.
Control:
While this was mainly implemented by another member of the team, I worked on the ideation and improvement of the autonomous navigation system.

We have a Dual PID system, one each for the Keep Distance and the Follow Wall states, while the hierarchical system revolves around an FSM system, inspired from “Behaviour Based Robotics”, brought to light by R.C. Arkin’s book by the same name.

Here, I give away the different variables used –
d_req → distance to be maintained from side wall
X → robot’s current distance from wall
Wall_offset → minimum error
dist(usf) → distance values from front sensor(s)
dist(usl) → distance values from left sensor(s)
dist(usr) → distance values from right sensor(s)
turn_offset → minimum distance for turning
The Turn state runs only when the robot reaches the end of the step and needs to turn around by 180 degrees, but in a U-turn fashion rather than a complete rotation wrt the center. This latter rotation was impossible because our robot turned out to be longer than 1m in length while the stage was at max 1m in width. This system was completely implemented on Arduino Mega. Also, a sliding mode controller was worked upon for smoother transitions between the states and also prevent something called “Zeno effect” which is basically super, ultra fast transitions between the states due to possible noise and PID errors. But this was removed from the final system, so I am refraining from the explanation.
Signal Conditioning:
Although we did minimal signal conditioning, and no sensor fusion, I still wanted to mention that we did some form of averaging and thresholding of sensor values (we had at least two ultrasonic sensors on the sagittal parts, basically left and right sides) to remove high bias from the final readings; and it did work well for our work. A large sensor array would easily mean experimentation and testing under my hands.
To Conclude
This post more or less explains the inner workings and the ideas behind our solution for the Inter IIT Tech Meet 2019’s DIC Terrace Farming Challenge.
And yeah, this project did take us to win silver for the event.

From left to right –
Guining Pertin
Mohnish Kumar
Akhil Soni
Abdul Ahad
Vineeth Singla
Maitri Khanna
Tushar Gautam
Suman Kumari Sinha
Himanshu Singh
Shubham Gandhi



Comments