Wibowo 2016
Wibowo 2016
There is a high risk associated with coconut tree climbers The aforementioned works only focus on a certain part
because accidents can lead to severe physical damage, some mostly on fruits detection neglecting the fact that robot mech-
of which may even be fatal. On the other side there is anism is also important for successful harvesting in challenging
significant increase in price of coconut and coconut products. conditions. Several approaches have addressed only the crop
To tackle all these problems, the process of coconut harvesting segmentation task [6], [11] and not detection. Most of the
automaticallyd reduce the need of human labour and also work that has examined crop detection has predominantly
accident involved in the process. The robotic arm plays a been developed for yield estimation [7], [10] and so accu-
crucial role in making the robotic coconut tree climber a rate detection was not necessary. The limited work that has
successful machine. A robust and proper robotic arm would examined accurate crop detection has done so for crops in
also help in balancing the body of such a robotic climber. controlled glasshouse environments [9]. As such the issue
of crop detection in highly challenging conditions remains
Previous works on robotic crop harvesting, for segmenting unsolved.
and detecting crops, have been explored by several researchers
[2], [6]–[11]. The grape detector of Nuske et al. [7], [8] III. M ETHODOLOGY
was initially proposed and one of the earliest crop detection
systems. A radial symmetry transform was used to detect We design the model using CAD software for easy assem-
grapes in an image and then used this information to perform bly. Hollow aluminium material is mostly used in our design
accurate yield estimation. Human head tracking was proposed because of light weight, availability, low cost, and its strength.
by [12], but the problem is different from coconut detection. The prototype is then made as per CAD design and tested in
445
3. This suspension mechanism is important as to provide better
stability of the viewing camera for later processing of coconut
detection. The spring which is mounted on the rod parallel
to the pipe and slider, operated by pushing the slider to the
inside so as to sufficiently grab the trunk and adjust to varying
tree trunk diameter. The length of the spring for the maximum
pressure is 5 cm, whereas under unpressed conditions is 15
cm, this is because of the limited expansion length of a slider.
Slider maintains the position of the wheels to be remain
perpendicular to the supporting side of the robot body and
also as a way of translational movement mechanism when
the wheel adjust to the tree diameter. Slider is designed with
stainless steel material and has expansion capabilities up to 10
cm so that when all of the sliders fully suppressed, tree trunks
diameter can reach up to 40 cm. Slider is mounted on the side
of the robot body with connections made of aluminum shaped
elbows using bolts. Fig. 4 shows final assembly of the real
Fig. 2. CAD final assembly of coconut harvesting robot. Note that it has robot.
three auto-fastening sliders to adjust with varying tree diameter.
A. Hardware
The proposed coconut harvesting robot comprises of main
body and robotic arm, as shown in Fig. 2. The body shape of
a hexagon made of hollow aluminium material with a width
of 2.5 x 2.5 cm and a length of 38 cm per side. For portability
and ease of use, the robot is equipped with a clip lock on
one side of the robot frame that serves as a manual lock and
can be opened or closed to be inserted onto the tree trunk.
To deal with varying tree trunk diameter, the robot has an
auto-fastening mechanism using three wheels connected with Fig. 4. Final assembly realization of coconut harvesting robot.
springs on all three sides so that the robot can provide better
grip wrapped around a tree trunk. 2) Robot arm: The arm is made of aluminium with a length
1) Robot main body: The wheel dimension is 8.5cm of of 170 cm. The arm can move up and down using DC motor by
diameter, 21cm wide, and made of durable solid sponge. Se- a pulley. The DC motor rotation is converted into linear motion
lection of this sponge as the wheel surface is highly important using a timing-belt. The arm linear movement is designed to
as it has the characteristic to fully attach on the tree surface. be able to reach the coconuts. At the top arm, a specifically
Each wheel is mounted on the robot base frame with 60 degree designed saw and wireless camera are attached. The saw is
orientation facing to the other wheels to form an equilateral designed using brushless DC motors for high speed rotation
triangle when viewed from above. in order to quickly cut the coconut stem. The blade is a sharp
grinding for cutting.
Accelerometer Sensor
Central
Processing
Driver Motor
IP Camera
446
many open libraries such as the well-known image processing the mating pair. Variations of this crossover exist. Scattered
OpenCV library. crossover where a vector the same size of the chromosome is
created containing zeros and ones. The new child obtains the
Wireless connectivity is done using a bluetooth module hc- genes of the first parent whenever there is a one on the vector
05 as the sender (transmitter) and a bluetooth module hc-06 and gets the genes of the second parent whenever there is a
as a receiver (receiver). Data will be read and recognized as a zero on the vector. Two-point-crossover is another one where
character ASCII (American Standard Code for Information In- two positions for crossover is selected.
terchange). Data received by the bluetooth will be re-processed
to be converted into movement of the robot in combination Mutation operator is basically randomly changing the
with data from the balance sensor. value of a gene. For real valued genes, this change could
be done by selecting a number uniformly from the range of
B. Software possible values. One other possible way is to use a distribution
like Gaussian with mean zero and a given variance where the
1) Genetic Algorithm: The Genetic algorithms (GAs) [13] number generated by this distribution is added to the value of
are stochastic global search method that imitates the evolution the gene. It may be adjusted such that the variance decreases as
of natural biological process. GAs operate on a population the algorithm iterates. In our analysis for Gaussian mutation,
of candidate solutions applying the fundamental of natural the variance is chosen to be 1 and shrinks linearly to zero with
genetics and survival of the best, to converge to a better each generation.
approximations of solution. At each generation, a new set
of approximations is created by the process of selecting At the beginning of the computation a number of individ-
individuals according to their level of fitness in the problem uals (the population) are randomly initialized. The objective
domain and breeding them together using operators borrowed function is evaluated for these individuals. The first / initial
from natural genetics. Thus, These iterations leads to the generation is produced. If the optimization criteria does not
evolution of populations of individuals that are better suited to meet the creation of a new generation starts. Individuals
their environment than the individuals that they were created are selected according to their fitness for the production of
from, just as in natural adaptation. Due to the GAs extensive offspring. Parents are recombined to produce offspring. All
emulation of nature, biological terms have been borrowed and offspring will be mutated with a certain probability. The fitness
deserve cursory explanation. Accordingly, they are contrasted of the offspring is then computed. The offspring are inserted
by demonstrating their role both in nature, as well as the into the population to replace the parents, produce a new
algorithm. generation. This cycle is performed until the optimization
criteria are reached.
Each individual is called chromosomes. Each basic unit of
a chromosome is called a gene. A chromosome can be thought 2) Steady State Genetic Algorithm: The steady-state ge-
of as a string or a vector where each of its components is netic algorithm [14] uses overlapping populations. In each
a symbol from a possible set of values. The set of vectors generation, a portion of the population is replaced by the
collectively make up the population. The main idea lying newly generated individuals. At one extreme, only one or
behind the GA is the reproduction of a population. Because two individuals may be replaced each generation (close to
of the reproduction, a new population is formed. Although 100% overlap). At the other extreme, the steady-state algorithm
many variations are possible and available, the main parts becomes a simple genetic algorithm when the entire population
of reproduction, analogous to biological reproduction, are is replaced (0% overlap).
selection, crossover, and mutation. Since the algorithm only replaces a portion of the pop-
Selection is an essential part of the natural evolution ulation of each generation, the best individuals are more
process and hence is an essential part of GA. The most com- likely to be selected and the population quickly converges
monly known selection element is roulette-wheel selection. In to a single individual. As a result, the steady-state algorithm
roulette-wheel method, the candidate individuals are given a often converges prematurely to a suboptimal solution. Once
slice of the wheel proportional to their assigned probabilities again, the crossover and mutation operators are key to the
obtained by scaling. Then the wheel is rotated N times where algorithm performance; a crossover operator that generates
N is the number of individuals or parents needed for repro- children unlike their parents and/or a high mutation rate can
duction. Thus, the best individuals have a higher probability delay the convergence.
of being chosen. However, undesired solutions also have a Fitness function is computed using the information from
small chance of survival. More computation time effective way circle Hough transform [15]. Unlike the linear Hough trans-
to select individuals from the wheel is to create one random form [16], the circle Hough transform relies on circle equa-
number and from that point continue in increments of equal tions. The circle equation is,
size (1/N ). Another alternative for selection is tournament
in which chromosomes are selected randomly and the best is
chosen among the them. This procedure is again repeated N r2 = (x − a)2 + (y − b)2 (1)
times. There can also be variations of this tournament where where a and b represent the center coordinates, and r is the
the best string does not always win but wins with a chance of circle radius. The parametric representation of this circle is,
certain threshold.
Crossover of a single point is one of the most basic one.
The position of the crossover is determined randomly. Then x = a + r ∗ cos(θ)
the determined length of the strings is exchanged between y = b + r ∗ sin(θ) (2)
447
TABLE II. ROBOT WHEEL ROTATION SPEED
In contrast to a linear Hough transform, a circle Hough
transform relies on three parameters, which requires a larger Wheel diameter 80mm
computation time and memory for storage, increasing the com- PWM RPM RPS cm/s
plexity of extracting information from our image. In practice, 128 102 1.7 42.7
we perform Canny edge detector on HSV color domain and 160 130 2.17 54.43
then we code the circle Hough transform by setting the radius 192 159 2.65 66.57
to a predefined value. For each edge pixel, a circle is drawn 224 188 3.13 78.71
with that point as origin and radius r. An array 3-dimensional 255 215 3.58 90.01
with the first two dimensions representing the coordinates of
the circle is used and the last third specifying the radius. The
values in the array are increased every time a circle is drawn meters, so that the robot maximum speed to climb-up above
with the desired radius over every edge pixel. The array, which the palm tree is within 22 seconds, from table II.
count of how many circles pass through coordinates of each
edge pixel, proceeds to a score to find the highest count. The Accelerometer sensor influences the rotation of the wheel
coordinates of the center of the circles in the images are the motor in order to maintain the robot movement to be balanced
coordinates with the highest count. and not skewed. The experimental result is conducted so as
to roughly balance the robot due to high noise which could
be attributed by limited space of sensors placement. Testing
IV. E XPERIMENTS data on accelerometer can be seen in table III. Data sensor
processing was performed using a common low pass filter
Experiments are conducted in coconut plantation Blitar, in order to remove high frequency noise due to undesired
East Java, Indonesia. We select this place as it is nearby Indian vibration.
Ocean and it has highest coconut production in East Java.
Setup of coconut harvesting robot is shown in Fig. 6. TABLE III. ACCELEROMETER (MMA7361) DATA AGAINT ROBOT
POSITION
Position x y z
Normal 450 300 245
Wheel-1 330
Wheel-2 260 238
Wheel-3 270
Wheel-3-1 330 255
Wheel-1-2 230
Wheel-2-3 270
448
Fig. 7. Proposed autonomous coconut harvesting robot in action.
449