VinBOT: Design and Build of an Agricultural Robot

Oliver Heycoop
DigIO Australia
Published in
7 min readAug 13, 2018

This is the fourth post relating to our IoT vineyard, this time with a little twist. The first three posts related to detecting soil moisture through static sensors, however recently we have been working on capturing data over the whole vineyard.

Robots in agriculture is an emerging technology worldwide, using automation to take the burden off farmers, whilst simultaneously capturing data to aid decision making around the farm. This is partly in response to an aging and declining agricultural workforce which is evident throughout Australia. These robots are large scale, aimed at tackling tasks such as weed detection, spraying and crop harvesting. This means that even as farms experience a shortage in labour supply, they can still keep up with the rising demand for produce.

University of Sydney’s Weed Detecting Robot (Source)

The benefits of automation are also seen in the quality of the tasks completed. Not only is a weed spraying robot faster than its human counterpart but also uses less pesticide in the process, due to the ability to target the plant directly.

There are very similar benefits when utilising robots in a vineyard. Being able to have a device that can inspect every vine up close, record information about that vine, and make a decision on what course of action to take will aid in the management of vineyards. Powdery Mildew (disease of the leaves) detection, approximating end of season yields and weed detection are all possible benefits a robot can provide.

Here at DigIO, we wanted a small scale solution to ensure low cost and a much simpler implementation compared to what is currently on the market. This means the average farmer can start benefiting from this exciting technology in the short term.

Vineyard Dripper (Source)

For our VinBOT project, the problem we set out to solve this time was: “how do we know if our drippers are working”. Drippers are what sit above each vine to drip feed water with one dripper per vine meaning even a small-scale vineyard can have 1000’s of drippers

Given vineyard rows can span multiple kilometres in totality, being able to find out which drippers are faulty without having to manually verify can save a significant amount of time and ensure consistency of irrigation.

This goal can be achieved by creating a vehicle that could move through rows of vines, using machine vision to detect if a dripper is present and whether there is water coming out of it. This brings together DigIO’s IoT capabilities, Eliiza’s machine learning and artificial intelligence capabilities, and a brand-new challenge of building a physical moving product!

Thus, the idea for vinBOT was born.

Hardware Required

For the first iteration, an off-the-shelf chassis and motor package was utilized to get the robot up and running quickly. Given the need to perform over rough terrain, the Dagu Wild Thumper was chosen. The looks certainly live up to its name! High torque motors and four-wheel drive are necessities for performance in an agricultural environment, and at only 290x300x130mm, it was a compact but rugged option.

Control of the robot was initially done via a Bluetooth phone app talking to an Arduino and Bluetooth Module, with a planned future implementation being autonomous control using machine vision.

A Sparkfun GPS sensor shield with datalogging capabilities was also built, to record the path taken by vinBOT and the location of any faulty drippers.

Bluetooth Module Connected to Arduino (Left) and Sparkfun GPS Sensor Shield (Right)

Build

As with any electronics project there were several roadblocks along the way, and a lot of (im)patience waiting for packages to arrive! I certainly got a few looks from the rest of the office as my desk was quickly taken over by wires, boards and batteries.

Communication between the Arduino and the motor controller was done using serial code. This allowed the speed to be varied in 127 increments, to a maximum speed of approximately 3kph — more than fast enough for a vineyard.

The GPS unit utilised Arduiniana’s popular tinyGPS++ library as a base to capture and timestamp latitude and longitude coordinates.

The motor controller was a source of frustration and head scratching for a couple of weeks. It is important to source a controller that will comfortably exceed the motor stall current (in case of any voltage spikes) and provide built in protection. A dual motor controller from Pololu was selected to allow independent control between the left and right-hand side of the vehicle.

One underpowered, and one fried motor controller later (rookie mistake…) and the Arduino was finally ‘talking’ to the motor controller, and the motors. The motors gave a squeal, begging for more current.

With a few false starts, and an upgraded 2200mAh lithium polymer (Li-Po) battery, vinBOT was finally being taken on a test drive around the office:

Mounts to secure the boards and batteries to the chassis were designed and 3D printed in house out of Polylactic Acid (PLA). This would stop the hardware from coming loose from the chassis over the rough vineyard surface. It also doubled as protection from any dirt that might be sprayed up from underneath and meant there was no metal-on-metal contact.

The most challenging aspect of the build compared to a conventional robot kit project was specifying parts compatible with the high torque motors and utilizing the increased functionality that came with these products.

vinBOT’s Internals

Initial Testing

Initial testing was carried out around the office, and the GPS sensor even came on a few lunch breaks with me to test out its logging and mapping functionalities walking around Melbourne’s CBD. It is important to test each function of the robot independently, as inevitably mistakes will be made. It is a lot easier to debug the software and fix any hardware issues when they can be isolated. With these fixed, it is then crucial to test (even if not in the intended environment) the product as a whole. This meant that when it came time to test in the vineyard, I was confident enough that we would gather the data we wanted.

vinBOT Built and Ready for Testing

Testing was carried out in a small vineyard in the Macedon Ranges, which was a fantastic excuse for an afternoon out of the office! After a controlled run up and down a row of vines, vinBOT was successfully able to capture video footage of the drippers, as well as record its GPS location.

The terrain proved to be the biggest hurdle and was a lot rougher than we assumed. Thankfully vinBOT was able to navigate the branches and damp ground to record some useful footage.

vinBOT Vineyard Testing Onboard Footage

Next Steps

The footage used will now be handed over to the machine learning team at Eliiza, where work will begin on training vinBOT to recognize a dripper and differentiate between a working and faulty dripper.

In future outings we will start capturing video footage of the growing grapes. Using similar learning algorithms, the Eliiza team will teach vinBOT to detect each bunch of grapes and make an accurate estimation of yield. This is a fantastic opportunity that will allow grapegrowers to start planning their yield estimates.

Conclusion

VinBOT proved that it was capable of working over the rough terrain of a vineyard and capture the required footage. With the development of autonomous maneuverability and real time detection algorithms, it will become a very powerful tool to both winemakers and farmers in the future.

It was a fantastic experience to go through the development and build procedure of a product that showcases emerging technology. It was exciting to see how a low cost, simple solution could provide not only the winemaking, but agricultural industry as a whole with a distinct competitive advantage and a genuine helping hand. On a personal note, it was fun to be playing with electronics again, and I was certainly the envy of many in the office!

--

--