Semi-autonomous Agricultural Robot

Semi-autonomous Agricultural Robot

 Farming is crucial for life-sustaining and green life expansion. In agricultural fields, heavy machinery tools are used for plowing and performing agricultural tasks. However, this leads to high fuel expenses and multiple carbonic compound emissions. Supervised farming employs a number of employees to perform farming tasks and machinery controls. In this paper, a semi-autonomous robot is designed to endure the tasks set for employees and reduce carbon pollution. The robot is intended to navigate within the plots without supervision while performing seed sowing and fertilizing simultaneously.  


1.011                  Types of crop agricultural robot system

Recently, there are several types of agricultural robots with a set of definition and classification methods. The wide range of researches carried out and technological studies targeting its specific tasks in farming, livestock and aquaculture. Particularly, in crop farming agricultural robot execute task by monitoring, crop managing, and controlling the environment [9]. Furthermore, in crop farming, robots generate more precise and critical duty such as planting, fertilizing, spraying, and harvesting and so forth.  As depict in table 1 types of agricultural robots for monitoring crop farming.

2.0               Introduction

In recent years, the field of agriculture has undergone significant advancements and transformations due to technological innovations. One particularly promising innovation that has gained attention is the emergence of semi-autonomous agricultural robots. These robots combine cutting-edge robotics, artificial intelligence, and sensing technologies to revolutionize farming practices, offering the potential for enhanced efficiency, sustainability and productivity [1]. However, traditional farming methods have heavily depended on manual labor and conventional machinery, leading to constraints in productivity and challenges in meeting the rising global food requirements. Thus creating innovative machinery like robots can maximize crop yields while mitigating environmental impacts [2].

Similarly, agribots, which are advance robotic systems designed for agricultural applications, are semi-autonomous. These agribots are capable of performing a wide range of agricultural tasks with minimal human intervention. These intelligent robots have the capacity to navigate fields independently, identify and handle crops, monitor plant health, precisely apply fertilizers and pesticides, and carry out other essential agricultural operations [3].

In addition, semi-autonomous agricultural robots utilize a wide array of components and technologies to ensure effective execution of their tasks. As one of the components used in this project was the Arduino mega, serving as a microcontroller board, plays a vital role in overseeing and coordinating a wide array of functions and operations in these robots. With its rich set of capabilities, including a multitude of digital and analog input/output pins, ample memory, and powerful processing capabilities [4]. The Arduino Mega is an excellent choice for controlling and integrating various sensors, actuators, and modules. By employing the Arduino Mega as the central control unit, the semi-autonomous agricultural robots can effectively manage data, make intelligent decisions and perform tasks with remarkable precision and efficiency.

Moreover, apart from Arduino Mega, Pololu Motor Driver was also used. These drivers are electronic designed specifically to oversee and control the movement and functionality of motors in robotics. These drivers come equipped with features like bidirectional control, speed regulation, and current limitation, making them excellently suited for managing and operating motors utilized in agricultural robots [5]. Ultrasonic sensor assumes a crucial role in the development of agricultural robots. These sensors employ ultrasonic sound waves to detect objects, measure distances, and provide vital data for tasks lie navigation and obstacle avoidance. Although, all these components are all vital to the development of the semi-autonomous agricultural robot, there are other small components as well that plays a part in carrying out tasks, which will be thoroughly discussed in this paper.

2.01              Agricultural Robot Applications

2.011                  1.3.1 Seed Sowing

The operations and methods for seed sowings requires mechanical and electrical applications which is the core of any robotic applications. Building a robot to perform a specific task in seed sowing mechanism requires an electrical setup which composed of Arduino Mega controller, servo motor, and the dc motors for robot movements, whereby the mechanical application includes Rack and Pinion Mechanism and wheel mechanism purposely for dropping seeds [6]

3.0               Design Overview and Modelling


Figure 1: System layout

The above figure expressed how the system controls are laid out. The figure gives a complete overview of the system applications and how the components are interfaced. It reflects the Master controller and the Slave controller interfaces. 


Figure 2: code execution flow

The figure above laid out the code execution flow of each task in the written script. It shows how the Slave controller comprehends with the Master controller to execute the desired task.  The two controllers were set-up separately where the Master controller continuously read from the ultrasonic sensor to update its navigation course. However, while navigating, interrupt signals of specific tasks are sent to the Slave controller to execute. The parallel execution of these tasks are timed by a single timer (Timer1) from the Master controller. This allows the synchronous execution between two controllers.

3.01              System Schematic


Figure 3: Semi-autonomous Robot full schematic

Figure 1 above reflects the complete schematic used to drive the semi-autonomous robot. The schematic expressed two form of communication established by the Master to the Slave controller and both controllers to the Qik2svs12 Pololu driver. The figure relays the communication configuration made using external interrupts. 

3.02  PCB Designing

The PCB should ensure secure connections and stable transmissions between the Master controller, Slave controller and the two Pololu motor drivers.

Figure 4: Designed double layered PCB

The above figure laid out the PCB design of the built schematic shown in figure 2. The configuration was not suitable for a single layer PCB therefore assigned for a doubled layer PCB.  The PCB shows the footprints where the component will be mounted and shouldered.


Figure 5: mechanical structure modelling

The mechanical structure was designed to suit the tasks needed for the robot to execute. The lower structure was designed with steel iron to give the robot a reasonable weight. The control box houses the control boards which was structured with aluminum frames not to exceed the robot net load. 

4.0               Controls and Mathematical formulations

4.01              Interrupt Communications

The interrupt communication was established between the Master controller and the Slave controller. The interrupt communication was a one-way communication, where each main task was broken down into its minimum executable tasks. This subdivided the planting mechanism process into three (3) subdivided tasks and the seed dropper with another three subdivided tasks.

Table 1: Interrupts to dedicated task

Main Task

id

Sub-divided Tasks

 

Planting Mechanism

1.

Drop Fork

2.

Brake Fork

3.

Lift Fork

 

Seed Dropper Mechanism

1.

Shift Left

2.

Brake Servo

3.

Shift Right

As shown in table 1 above, an interrupt was designated to each sub-divided tasks. This makes up a total of six interrupts, while Arduino Mega has six external interrupts by default.

Table 2: designated interrupts

id

Master Controller

Slave Controller

1

Digital I/O 10

Interrupt pin 2

2

Digital I/O 11

Interrupt pin 3

3

Digital I/O 12

Interrupt pin 20

4

Digital I/O 9

Interrupt pin 19

5

Digital I/O 8

Interrupt pin 18

6

Digital I/O 5

Interrupt pin 21

The above table lists the selected interrupts and where it is attached to from the Master controller. As realized by the table, the Master controller, possess no interrupt pin for this communication, however, trigging interrupts for the Slave controller.

4.02 Serial Communication

Serial communication was established between the Qik2svs12 Pololu driver and the Master controller. The serial communication pin Rx and Tx were adopted to handle communication between the controllers and the Qik2svs12 Pololu driver. Serial pin Tx of the Master controller was connected to serial pin Rx of the Qik2svs12 Pololu driver to secure transmission from Master to Qik2svs12 Pololu driver. Serial pin Tx of the Qik2svs12 Pololu driver was also jumped to the serial pin Rx of the Master controller to allow inspection of the motor from the Master controller side.

Table 3: Arduino Mega 2560 to Qik2svs12 Pololu dual driver pin to pin connections

id

Arduino Mega 2560

Qik2svs12 Pololu

1

Common GND

Common GND

2

5V Vin

5V Output

3

Serial Communication Pin Rx – 18

Serial Communication Pin Tx

4

Serial Communication Pin Tx – 19

Serial Communication Pin Rx

The following interface were made between the Arduino Mega 2560 and the Qir2svs12 Pololu dual motor driver. This connection is to establish serial communication; a few conditions are considered. It assumes that the jumper is placed at a chosen baud rate and not the Demo mode pins. It also assumes that the Serial baud rate of the of the Arduino Mega is set to the jumped baud rate of the Pololu driver.

5.0               Results

5.01 Precision & Accuracy

Figure 6: system navigation accuracy

The robot was built with a single ultrasonic sensor for navigation purposes. As seen in the plot above, the sensor’s range is constrained from 3cm to 50cm where out of this range, the ultrasonic sensor starts to lose its accuracy. This graph reflects the operating range of the ultrasonic sensor where the best operating range was chosen. With this fact, the ultrasonic sensor was mounted at 17cm away from its operating point. The sensor starts to read from the at 17cm by subtracting the reading distance with 17cm. This initialize the sensor at 0cm at the initial point of its working range.

Figure 7: system error plot

The system error plot was made to create a visual on the ranges and the error it poses. As seen in the above figure, from 0 to 3cm, the sensor was inconclusive with imprecise responses. The error bounces around 0 to 0.5cm until it reaches 50cm range. At 50cm range, the error starts to increase and continuously does as distance is increased. 

5.01 Spacing

In this context, the spacing is defined by the robot consistency and synchronous of movement. If too delay is encounter, the desired spacing will either be exceeded or not satisfied.


Figure 8: figure expressing the actual space and the space ran by robot

The figure above was obtained from a test made for the robot to run at specified spacing. The robot was made to run at an interval of 34s and 2s cm. The interval defines the actual minimum spacing of corn seeds. If a closer look is made on the plot, errors could be identified at some intervals.


Figure 9: plot of system spacing error

Figure 9 above plots the spacing error which is the difference of the actual spacing the robot should run and the measured spacing it actually ran. It can be observed that the error does not increase continually, it fluctuates but remains at certain range. The maximum error collected in this sample was 2.1cm while the minimum error was 0.2cm.

5.01 Accuracy





Comments

Popular posts from this blog

Pothole Detection using Computer Vision (AI Tool)

IoT Tide Gauge System