Pasturesim

This project was part of my fourth year dissertation in Computer Science. The goal was to create a pasture simulator designed to help farmers learn better pasture management strategies through exploration. The following list contains the main final project files.


Abstract

With today's large demand for meat, farmers are being increasingly pressured to provide higher yields. This can often lead to over stocking of fields and over use of industrial supplements. Mismanagement of pastures can cause overgrazing and pollution, damaging the forage resources. Many farmers need to be better educated in management of pastures, not only to protect their farms and lively hood, but to maximise yield by improvement of management strategies. With the combination of modern pasture modelling techniques and the power of today's computers it is now possible to simulate this complex grazing system to predict the effect of pasture management decisions. The new challenge is to bring these extremely complex simulation systems down to a practical level. They must be realistic enough to provide accurate information while presenting these sophisticated processes to the farmer in a clear and understandable manner.


Progress

  • 15-03-05: Created a PhD research proposal for further advancement of the project.
  • 10-03-05: Final project presentation. Slides available here.
  • 09-03-05: The program is now complete and has been packaged up into a jar file for convenience. I ironed out a couple animal behaviour bugs and added a graphing utility.
  • 04-03-05: Finally completed the 22000 word dissertation write up. The system is basically complete but there are a couple bugs still to be ironed out.
  • 13-12-04: Finished a 7000 word interim report after my 4th all nighter this week :-(
  • 06-12-04: Completed the first prototype of the system. Currently it only simulates sheep. They consume grass and roam in a random fashion.
  • 02-12-04: Made some very good progress on the system (after 20 hours straight of hard graft). Firstly I improved the main simulation loop to improve its timing, allowing parallel simulations to run in synchronisation. Next I moved onto the animation of livestock. This involves three parts .
    1. 1. Keep animals within field bounds
    2. 2. Prevent the them from invading personal space
    3. 3. Get them to actually roam (This is central to the project).
    During the implementation of preventing animal collision I ran into a few problems and interesting challenges. Click the links for further details. Line count = 4999
  • 30-11-04: Implemented zoom, Livestock creation/removal and created the main simulation loop. Line count = 4090
  • 27-11-04: Created this project page
  • 23-11-04: Completed the gui, an intelligent field creation system, simultaneous simulation windows, saving and loading of simulation data. Line count = 3044
  • 21-11-04: Cleaned up and re-designed the program code.
  • 19-11-04: Started implementation of the new simulation application.
  • 17-11-04: Had a meeting with Adrian Gonzalez (PhD in Agriculture) to discuss various technical aspects of pasture visualisation/simulation.
  • 22-10-04: After a meeting with my new project supervisor I decided to give my project a new direction. Here are my new goals.
  • 13-10-04: Conducted the first presentation of the project.
  • 14-10-04: Started implementation of a 3D pasture visualisation tool.
  • 27-09-04: Created the first set of project goals


Initial Project Proposal


Visualisation tool for Pasture Management

There is a current research project to build a system to train hill farmers in Peru how to manage their pasture land, where and when to allow their herds access to pastures. The component in this proposal is to provide the visual output. There are a number of inputs to the tool: terrain model; pasture model; textures from photographs and time-of-year indicators; etc. The idea is to represent the pastures well enough to convince a farmer that it represents his pastures at different dates and gives him a good indication of the quality of the pasture. How that is done will be advised by research carried out by a postgraduate student currently in Peru and due back with specifications this summer. There are tools available but they are pricey and don't quite suit the application here. There are two possible approaches envisaged in this proposal. One would be to build the tool with VTK (used by Visualisation course) which has a large bundle of tools to build the required system. The other approach would be to use the freeware Terragen which is similar to 3D Nature. Either way some programming of low level primitives will be required as this is largely an implementation project. This project is especially suitable for someone who is intending to take both the Computer Graphics and Visualisation courses in final year.


Screen Shots

Main View
Main View
Water Proximity
Water Proximity
Leaf Area Index
Leaf Area Index
Animal Hunger
Animal Hunger
Environment Settings
Environment Settings
Graphs
Graphs


Program Code

The program has been deployed as a java archive ('jar' file). It contains all the source and class files. Ensure you have the Java JRE installed. Then run the program by typing:

java -jar PastureSim.jar

The latest archive can be found here. (10874 lines)


Documents