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
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
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
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
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
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
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.
Comments
Post a Comment