Cbot - Plant Maintenance Robot 1 Preliminary Development Projects Updated 8/1/15 Key Search Words: ROBOT, ROBOTICS, ROBOTIC VISION, ARTIFICIAL INTELLIGENCE, AI Night - Day - Night Detection to trigger watering task

To do a daily task such as sweep the floor, or water the plants you can do it one of two ways. First, one can simply put a digital clock circuit in the robot and have it water the plants at a specific time, such as noon. Another way which makes for a far more sophisticated and interactive robot is to look for the sunrise daylight, do the task, then look for night. Then the search repeats. Because this robot is a thousand times smarter than any robot Ive done before it due to the advanced C language Im using to program it, I went with the photocell brightness approach.

How it works.

The robots photocell is a photo diode mounted on the top of the robot, and produces a voltage of 0 to 5v into the analog input on the PIC. Data ranges from 0 for night to 1024 for maximum sunlight. At sunrise, the dark downstairs room is roughly around 30 and this is the first threshold. When sunup is detected, we wait 10 minutes and test again, three times. This ensures we are really seeing sunrise and not the overhead light fixture being turned on for a few minutes.

Once confirmed, the watering task is done. Once finished, and re connected to the docking station, the robot shuts down and waits 14 hours to begin to look for night time. This prevents the robot from watering the plants over and over on a partly cloudy day when the sun is going in and out of clouds, especially at sunrise. You will see examples of this effect in the graphs below.

Once it sees darkness around 10pm this time of year, a 2h delay is used to keep the robot from starting up again from over head lights being turned on. Finally, it starts the process of looking for daytime all over again.

I cant stress how much more sophisticated this algorithm is than what we used in the floor sweeping robot a few years ago! That robot would wake us up at 4:30 in the morning and start its noisy vac motors for half an hour. Some days it would sweep the floors ten times because of clouds. Well, at least the floor was clean.

Left: You can see for a 24 hour period the action that must take place to ensure we only water the plants ONCE a day.
Left: Set up next to the 8 foot Arcadia door to measure the day/night brightness. The computer is running Hyper Terminal to capture the data - every minute for 24 hours, over a thousand data points.
Left: Data capture in progress....
Left: First run missed the sunrise and starts around 10am and goes to 8pm. This is an example of a totally clear sky and is very smooth and uniform. Noon is at the graphs peak. Night is the low readings on the right side.
Left: Cloudy day, 9am to 8pm. Look at how the brightness of the daylight varies! This is why it is so important to use the 14 hour delay after the task is done.
Left: 24 hours total on a day with a HUGE storm that rolled in at NOON which is the middle. So you see night, morning clouds, dark mid day from storm, then clouds, then night. The robot must be able to deal with this type of brightness data!

Interested in learning more on the development of this robot? Here are previous uploads - LATEST AT THE BOTTOM:

Previous Articles
1. Plant watering sensors
2. Cbot basic concepts and project definition
3.  Docking sensor, battery charging and FSM explained
4.  Development of the water tank, pump and feed mechanism
5.  Development of the reservoir refill system
6.  Incorporating the Triple axis magnetometer for compass navigation
7. Installing the final components - Bumper Switch Array
8.  Night - Day - Night Detection to trigger watering task