Welcome to RoboGardener.
Your new, autonomous, robotic, pinecone-collecting gardening assistant.
Collecting pinecones in a garden is tedious and tiring. RoboGardener solves this by automating pinecone collection so that you spend less time working in your garden and more time enjoying your garden.
RoboGardener collects pinecones using a combination of the latest in computer vision technology and robotic hardware. A YOLOv5 machine learning model trained to detect pinecones is used during robot navigation to ensure maxiumum efficiency during pinecone collection.
No more playing the role of tech support for your less technologically proficient family relatives: our sleek UI is a breeze to use and makes robot control easy. Advanced features like scheduling capabilites are also available for an even more automated experience.
[Closed captioning for accessibility] At RoboGardener, we have developed the world’s first autonomous, computer-vision based gardening assistant – that’s going to help you and all your family never pick up pinecones and other garden debris ever again.
Who does this product help? RoboGardener has the potential to help thousands of gardeners across the world deal with the problem of pinecones littering their greenspaces. Whether it is estates with large public gardens to be roamed and cleaned up, or whether it is your grandparents who have to pick up pinecones out of their garden and risk repetitive strain injury every time as they do so, RoboGardener allows people to interface with a simple and accessible app to schedule an autonomous robot to take care of picking up all of those annoying pinecones.
And that’s just the beginning, our platform, product and technology has the capability to be expanded to a full gardening caretaker – sweeping up all sorts of debris and automating all of the menial work everyone hates. Join us now and welcome to the future of gardening with RoboGardener.
Take a look at our final product demo, including Webots simulation footage and an explanation of our technology:
This gallery showcases the robot CAD model and garden model in the simulator, as well as simulation pictures of characteristic functions of RoboGardener in the simulation. Characteristic functions includes 'Charge at Base Station', 'Move Towards Pine Cone and Collect' as well as 'Dump Pine Cones'. Scroll the images below and click on them to see more details.
We aimed to make RoboGardener reliable and adaptable to different types of garden envrionments. Three factors were crucial to achieve this goal in the hardware: the design of the robot body, the design of the collection mechanism, and the electronic parts
The body consists of 6 off road wheels and a waterproof plastic storage to operate in rough environment. The storage uses 2 actuators to dispose collected pine cones in a mechanism similar to a dump truck.
Our spike-based rubberised passive collection mechanism is mounted on the back of the robot. The wheels collect pine cones where RoboGardener goes without using any additional power. This mechanism will be noiseless and will minimize the risk of the robot harming any garden life by reducing contacting surface with the ground. It can also pick up multiple pine cones at a time.
Raspberry Pi 4B 4GB RAM with 1300Mbps dual band wifi adaptor will let RoboGardener have seamless machine-learning based pinecone detection and long range connection between users and RoboGardener.
Pinecone detection using our trained YOLOv5 machine learning model is one of the main features of RoboGardener; thus a high-quality, low-power camera for our project was critical. Sony IMX219 8-megapixel sensor and the Exmor R back-illuminated sensor architecture can satisfy the needs with high-definition 1080p video, all stored and processed onboard to protect your privacy.
The base station with Raspberry Pi Zero and pinecone weight sensor will generate a wireless connection among RoboGardener, users, and the base station to provide useful information to users such as battery status and amount of pinecones at the base station. RoboGardener will come back to the base station when its battery goes low automatically.
RoboGardener has a wide range of unique features that set it apart from any other product in the gardening industry.
Easily schedule cleaning runs using the user interface. Your RoboGardener will automatically carry out a scheduled cleaning run when you are away at work or out of town.
RoboGardener's bespoke user interface web app provides simple and intuitive control. It is compatible with any web-browser enabled device.
You will never have to worry about remembering to charge your RoboGardener. It automatically mounts itself onto a built-in charging port on the base station.
RoboGardener will find its way around your garden using smart custom-designed algorithms. It can return back to the base station automatically.
The base station connects to your home WiFi network to allow status updates and total control of the robot from the comfort of your home.
RoboGardener's user interface will provide you with live updates about the battery level of the robot and information about what it is currently doing.
We respect your privacy. The state-of-the-art computer vision system is run entirely offline. We guarantee that the camera feed never leaves the robot itself.
We believe in including everyone. Our user interface is verified to meet the highest accessibility standards to ensure everyone is included.
We use fully recyclable packaging to deliver your RoboGardener. We also designed the robot with repairability in mind, reducing e-waste.
We created a user guide to help customers get an overview of their RoboGardener system and to set it up.
Overall price was estimated as we assumed to produce more than 100 units. Research has been done into publicly available robotic components, by comparing prices across popular electronics and robotics retailers. Links to retailers provided on product names.
Name | Description | Price (£) |
---|---|---|
Raspberry Pi 4B | 4GB model. Main CPU. | 51.01 |
Raspberry Pi Zero | With WiFi module. For the base station. | 14 |
Arduino | Mega2560. Motor control. | 29.75 |
Camera module | Object detection. | 20.10 |
Wheels | 6 off-road wheels. 200mm diameter. | 75.36 |
Motor DC gearbox | 6 for wheels. 2 for actuators. 24V 800rpm | 45.68 |
Power bank | For the robot. 12V 22000mAh. | 29.01 |
Robot body | Container to store pine cones. | 8.99 |
Electronics case | ip68 plastic | 5.92 |
Actuators | To dispose collectied pine cones. 12V 300N. 300mm stroke. | 31.74 |
Magnetic charger | To charge RoboGardener at the base station | 1.46 |
Base station materials | PVC plastic | 5.17 |
Boundary Wire | 100 meters long copper conductor. | 21.99 |
NE555 | Boundary wire signal generator. | 0.24 |
LM324 | Boundary wire signal sensor. | 0.19 |
Weight sensor | To measure how much the base station is filled up with pine cones. | 1.2 |
WiFi adapter | For the robot to communicate with the base station and users | 3.3 |
Miscellaneous | 2.1 mm barrel jack, breadboard, resistors, power supply, etc. | 15 |
361.12 |
An accessible and easy to use user interface was a crucial component of making a successful design. Our system can be controlled through a responsive web application. This way, users can access the application from any device - a smartphone, tablet or desktop computer.
The interface can also be used with assistive technologies, such as screen readers, and doesn't require a mouse to navigate. This is especially important for customers with vision defects or Parkinson’s disease.
The Status page is the first thing users see after logging in. This is the main control centre.
The green Clean now button tells the robot to start cleaning the garden.
Live information will be updated, e.g. status of the robot or battery level.
If a cleaning run is in progress, users will see two control options.
The yellow Pause button will tell the robot to stop moving.
Click on the red Stop button and the robot will to return back to base station.
The Schedule page is easily navigated to by pressing the button on the left side of the display.
The Edit schedule form allows the user to select days and times for the robot to run.
The Cancel button makes it really clear that it will cancel a scheduled run as it is bright red.
Both over the course of development and after creating our initial prototype, we conducted in-depth testing to quantify the performance, capabilities, and reliability of RoboGardener.
We consider the most important metric to the end consumer of RoboGardener being the number of pinecones it is capable of collecting per minute. This metric was chosen as it represents a good summary of how all of RoboGardener's individual components cooperate together to achieve a single end goal: collecting as many pinecones as quickly as possible.
We conducted testing to measure the average pinecones collected per minute (PPM) at varying garden pinecone densities. In the Webots simulator, we ran RoboGardener on a variety of gardens with various levels of pinecone densities: the results are shown in the graph above. We can see that performance scales roughly linearly with the density of pinecones. At these rates, in a typical garden of 100m^2 with 400 pinecones, RoboGardener will complete in just over 11 minutes. Initial pinecone clustering and distribution can certainly make a difference, this is an area that we really would have liked to have explored in further testing had we more time.
The key component in achieving these PPM figures is the CV aspect of RoboGardener. In earlier iterations of RoboGardener, the navigation was based on a pure random walk algorithm found in robots such as entry level vacuum cleaners (e.g. Roomba). An issue we encountered was that since RoboGardener would travel in straight lines until it hit an object, at which it randomly picked a new direction to travel in, it would frequently miss pinecones that were right to the sides of the path it was travelling on, particularly in environments with low pinecone densities. The addition of CV allows RoboGardener to essentially enlarge it's field of vision and specifically hunt out pinecones that it can detect using its camera.
We also performed testing to see the effect of adjusting our YOLOv5 computer vision (CV) accuracy within Webots, and seeing what effect it had on robot performance. The idea behind this test was to try and find the range of acceptable CV accuracies where the robot would still perform in a satisfactory manner.
The CV accuracy was manually adjusted in Webots at varying levels: an accuracy of 100% means that the robot has a perfect recall rate of 100%. The average number of pinecones collected per minute (PPM) was measured at these varying accuracy levels, in two garden environments of different pinecone densities. The results are shown in the graph above; degradation of PPM compared to perfect CV accuracy is displayed on the vertical axis. The measure of degradation compared to perfect CV, instead of the raw PPM values, was used to normalize the data (it is difficult to see the difference between the two density gardens when comparing raw PPM values).
Robot performance barely suffers in the high density environment: this is because with a high pinecone density, even with poor CV accuracy, it is likely that the robot will bump into a pinecone purely by chance anyway. This is not the case with the low density environment: with few pinecones, the reliance on CV is much stronger, so the performance of the robot correspondingly suffers much greater with poor CV accuracy. However, we only expect poor CV performance in the absolute worst conditions (e.g. when a majority of the camera is obscured), so are happy that in most cases the PPM degradation hit will only be relatively minor.
We also performed real world testing of our trained YOLOv5 computer vision algorithm. This is the machine learning model that we hand trained on over 100 images of pinecones, and filmed videos around the Meadows to test with! To see how robust our vision system was, team members simulated dirt on the camera lens as may happen during normal operation of the RoboGardener, and were delighted to see that pinecones were still accurately detected to an impressive, albeit lower, degree. This shows the resilience of our machine learning against dirt and demonstrates our work as a viable real product:
In addition, since the performance of the CV is largely based on the internal pinecone ML model, the performance of the CV can continually be improved via software updates even after the user has purchased their RoboGardener. By adjusting simulator settings to reflect real world conditions, we are more confident in the transfer of RoboGardener from Webots to the real world.
We believe there is a strong market need for RoboGardener.
In recent years, there has been a huge resurgence in robotic lawn mowers across the world. The global robotic lawn mower market is expected to grow from $530 million in 2018 to over $1.2 billion in 2025. But despite this resurgence, our research suggests that not many robotic solutions are present for gardening problems other than mowing.
One gardening problem that comes to mind is the removal of debris and something that is more than likely to be a part of that debris are pinecones. Removing these requires bending down for long periods of time, picking them up one by one and a lot of the time, they are present in very large numbers. This can prove to be a monotonous, repetitive task that not only takes up a large amount of time but can also increase the risk of Repetitive Strain Injury (RSI) which is a condition caused by constant repeated motion. This is of particular concern amongst the elderly who are more likely to garden in higher numbers.
And this is where RoboGardener comes in. Our product traverses your garden, gathering any pinecones it encounters, allowing you to circumvent these long, menial tasks and focus on the aspects of gardening that you enjoy without having to worry about the cleanliness of your lawn.
In this section, please take a look at the lifecycle of our SDP project throughout our previous 3 deliverable demos (in reverse chronological order, with the most recent first):
As discussed in length in our demo videos, we have spent a large amount of time working with the technician team in Appleton Tower to 3D print and design a passive collection mechanism that can pick-up pinecones without any extra power or motorisation. Our mechanism is mounted to the back of the product and gets jammed into the teeth of the pinecones using its flexible rubber 3D-printed spikes
At RoboGardener, we pride ourselves on our greatly diverse and international team. A team made up of 6 nationalities and working collaboratively across 5 time zones (from Canada to Japan), our work and therefore people's responsibilities were grouped in Project Management, CAD design, computer vision, collection mechanism design, simulation, control programming and UI development. Let's learn about what each person was responsible for in the project.
How efficient organization gave rise to efficient workmanship.
Due to the time-constrained 10-week window we were allotted in the SDP course, we had be to prompt with not only the completion of tasks but also their distribution amongst the team members. For this purpose, we utilized Trello which is list-based, work-management tool where we could track all the tasks that needed to be completed in time for the next demo and the team members assigned to each task. Each task was assigned to group members based on the required skills. Once a task was completed, it was marked as such.
At the start of the course, we set up a repository on GitHub where all updates to the simulation world, controller or any other part of this project were pushed. A separate branch was created for each aspect of the robot design, for example path planning, UI design, computer vision setup etc. All commits to these branches were code-reviewed before they were pushed into the main branch.
Our group's Github page can be accessed here.
There were two meetings that were held every week on Microsoft Teams that all members of the team would attend. The first of these meetings were the weekly updates where each member of the team would discuss the progress they had made on their assigned tasks and brainstorm new ideas. These proved to extremely useful since they allowed us to tackle potential problems early on rather than a few days before a deadline.
The second meeting was with our group mentor where we could ask them any course-related question and clear up any misunderstandings or confusions. Our mentor would also provide us with useful advice with respect to our project.
At the start of the course, each group member was added to a Facebook Messenger group where any and every query or idea related to the project could be posted. Since we were such an internationally spread-out group, it was almost certain someone would be awake to respond at any time of day.
How we believe that the project could be further developed in the future, for example by another group of students. Perhaps some of these could have been achieved if we the ability to work in-person or more team members.
RoboGardener is great at traversing gardens to collect fallen pinecones. We could rapidly develop solutions to expand RoboGardener's capabilities to other gardening chores. This may include:
RoboGardener is currently a fairly small machine, making it the perfect size to fit in most gardens without colliding into objects. We could provide a larger version with a larger body, battery and collection area that would suit larger areas of land, which could include commercial land.