FarmBot is Working!

The Library’s agriculture robot FarmBot is now working. It has been growing a few carrots and just sowed some more seeds this spring!

FarmBot in YouTube

We launched a new YouTube playlist to show you how the FarmBot works. For example, we have videos on how the different components work together, how the FarmBot takes photos, how it waters plants, and how it sows seeds etc..

Bring FarmBot to Life

In a previous blog, A Robot Born of Community Spirit, I introduced the background of the FarmBot project. It is the first robot that we built from scratch and a testament to our community's talent, creativity and spirit.

Since then, I have been setting up the system environment for FarmBot and running tests.

Install the Software

The SD card was flashed and mounted onto the Raspeberry Pi on the FarmBot. After testing, it turns out that the FarmBot OS, as well as the Firmware, need an upgrade right away.

Configure the Network

First the FarmBot was temporarily configured to a MiFi for testing purposes. Later on we moved it over to the new network implemented by the City IT.

Configure the Simulator Map

The Simulator Map shows where the tools are, where the FarmBot is, and all the area that we can plan for plants. The home position for the FarmBot is also configured.

Test the Motors

All the motors are tested with manual controls and automatic commands.

Test and Fix the Tools

This turns out to be the most time consuming process.

The tools include the seeder, the water nozzle, the weeder, the soil sensor and the seed tray/bin. All the tools are sit on the tool bay at one end of the planter.

Except the last one, the tools need to be able to mounted onto the FarmBot without a problem. That means many times the tolerance of error is at a level of millimeters. Everything needs to get measured and calibrated carefully,  so the FarmBot can land at the right spot to connect with a tool, and then pull it out of the tool bay. Once a task (like watering the plants) is finished, the FarmBot also needs to slide the tool carefully back into the tool bay.

The tool that cost most of the time to troubleshoot is the seeder. The seeder has to make some delicate moves in order to pick up a seed from the seed tray/bin.

During the testing, it was discovered the vacuum pump was incorrectly installed, so the hollow needle of the seeder was blowing seeds away in the seed tray instead of sucking up a seed. Once that was fixed, the seeder’s behavior was carefully adjusted so the FarmBot can pick up a seed at the very bottom of a seed tray or of the seed bin without damaging or bending the needle.

Calibrate the Camera

FarmBot has a small camera, so it can take pictures of the different part of the planter and monitor how things are going.

By calibrating the camera, it allows images to be displayed in the simulator map with the correct location, size, and rotation. Calibration also allows FarmBot to detect where the soil is, as well as other objects in the planter.

The Reality of Robots

This hands-on project improved our understanding of robots and how one works.

FarmBot is not fully automated. For example, when sowing seeds, we have to put the seeds in the seed tray/bin first and we have to allocate a spot where the seed is to be sowed. Then we can script for the FarmBot to do the rest of the job.

Whether it is an high-accuracy industrial robot or a consumer one, they require human maintenance once in a while -- just like pianos need tuning.

FarmBot is now scheduled to water the plants and take pictures everyday -- it will move around the planter and give each plant precisely 5 seconds of water. Occasionally, FarmBot loses the accuracy level, and drops the water nozzle when trying to return it to the tool bay. That's when the robot needs to be taken care of by us humans.

We welcome your respectful and on-topic comments and questions in this limited public forum. To find out more, please see Appropriate Use When Posting Content. Community-contributed content represents the views of the user, not those of Palo Alto City Library