Autonomously Guided Intelligent Lawn-mowing Equipment

Weekly Updates

SEMESTER TWO

Week 13

We gave our presentation today, which can be found in the deliverables section. The presentation went great except for one problem. The videos. We were prepared for everything, we checked to make sure the file paths were the same, we make sure PowerPoint recognized the videos, and on top of it all we had the videos on the side in case the was a problem with PowerPoint. However, the department issued laptop's video card was not capable of two video outputs (laptop screen and projector) and it refused to switch to external output only...sad day.

However, overall the presentation went very well and we received numerous compliments. Thanks! 

Week 12

This was a slow day. We have a working system, so we were scared to alter the code too much. Most of the fine tuning we did, either had no effect or a negative effect.  We took some videos of the robot inside, which demonstrated the wall following and obstacle avoidance, as well as outside, which demonstrated the accuracy of the compass in an outdoor environment.

Week 11

Success!!! We have a working robot. The wall following code was rewritten. Instead of altering the angle of change verse distance, we utilize a changing error value. This generates a smoother transition between the different code sections for movement.

We added a 5th ultrasonic sensor in the very front-middle of the bot. The reason for this was to be aware of object in our path while turning the other forward facing sensors slightly to the side. We needed to move the sensors the to the side so we had another variable in our intelligence algorithm. By having sensors dedicated to the front right and front left, we can better handle object that we are approaching from an angle

Week 10

This week we tested the input signal to the Digital-to-Analog Converter (DAC) from the RF receivers and took some test area measurements. We then wrote and tested the wall following code that will mow the entire border of the mowing area before cutting the center of the lawn. We tested the obstacle avoidance and compass functionality in the test area. We added some fine tuning to the code. The next few steps will require a lot of fine tuning and behavior development to the robot. The noise issues on the ultrasonic sensors has been addressed, filters were added to the trigger outputs on the microcontroller that reduce the high frequency noise we were picking up on the wires.  Obstacle avoidance code has been developed and we are in the process of fine tuning it.

Week 9

We added error detection and correction code for the ultrasonic sensors and compass. This code disregards bad readings from the ultrasonic sensors and produces a less sporadic value. We separated the motor's power connection from the rest of the circuit, thus reducing the amount of noise the motor adds to the circuit. There is still a lot of noise in the circuits that are causing the ultrasonic sensors to misfire. This problem will be addressed through more filtering techniques.

Week 7/8

The past two weeks consisted of a lot of debugging and troubleshooting. We came into lab a lot during non-lab days and the past two weeks were a blur. Therefore, we decided to combine the update for the past two weeks. The way we were trying to access the information being produced from the digital compass was inconsistent. Instead, we wrote a software counter to read the compass PWM instead of using gated timer mode or AND gates.  We tested our robot's ability to follow a compass heading.  The compass tracking code worked for following the heading, but the interference caused by the indoor environment caused the robot to swerve as the compass reading changed due to surrounding metal objects.  Outdoor testing will be needed to make sure our code will allow it to follow a strait path in a standard outdoor area.

Week 6

This week we mounted the band pass filters, ultrasonic sensors, and motor drive circuitry on the chassis. We took some data points for the digital compass indoors and outdoors as well as continuing to troubleshoot the digital compass reading code. We initially had some trouble accessing the D/A on the Emac but the issue has been resolved at the time of this posting. 

Week 5

This week we wrote a lot of the Artificial Intelligence code. The code we have is the encompassing shell that contains the overall logic of the system. Testing and fine tuning will be necessary to complete this code. We set up the ultrasonic sensors as a system on the chassis and got the motors running using PWM generators.

Week 4

This week we built both band pass filters and tried testing them in the test area while running off the chassis' batteries. The signal was extremely distorted but there was not enough time to troubleshoot the problem. We finished the PWM generator and tested it with only a few minor problems that were easily resolved. We added one H-bridge circuit for each of the two motors to the system. We wrote some C code which included some general purpose delay functions and some component drivers for the ultrasonic sensors and motors. We were also troubleshooting the C code which was written to read the supplied information from the digital compass.

Week 3

This week we found out that the equipment was calibrated incorrectly and the original band pass filter design was, in fact, correct. We came up with a design for PWM generation using the DAC on the Emac board. We set up timer 2 on the Emac board using gated timer mode to read the sensors and started system troubleshooting.

Week 2

We put in an order for the parts that we needed. We determined all of our inputs and outputs for the various sensors. We also started writing test code for the system. We had a lot of trouble designing the band pass filter this week and we were not able to create a solution.

Week 1

This week we evaluated what we needed to order. We realized that the band pass filter that was designed last semester was for a plus/minus power supply and would not run off a battery. We need to design and build a new filter. We cleaned up some old code in order to use it in this project. The old code will mainly be used as a shell for the new code.

SEMESTER ONE 

Week 6

We presented our project proposal presentation, went to Old Chicago for lunch.

Week 5

Tested ultrasonic sensor, motor control calculations, decided on microcontroller, went to Uno's for lunch.

Week 4

Finished the website. All that is needed now is updates as they come. We went to Logan's Roadhouse with Dr. Schipper for lunch.

Week 3

We are looking into the chassis for the mower. We have decided to use the Silicon Lab boards for our microprocessor. We started working on software. We Increased the frequency of our dog fence signal to allow for better signal transmission in air. Updated the website. We went to Ming's Buffet for lunch.

Week 2

This week we built a model for our bandpass circuit and tested it. We finished the Gantt Chart and Pert chart foundations to work from. We starting developing the algorithms for the mower. We went to Old Chicago for lunch.

Week 1

This week we worked on our Gantt Chart and Pert Chart. We designed a receiving bandpass circuit in OrCad started working on this website. We went to Lorena's Mexican Grill for lunch.