2019-10-16 12:24:57 -07:00
|
|
|
\documentclass[10pt, draftclsnofoot,onecolumn]{IEEEtran}
|
2019-10-16 23:08:08 -07:00
|
|
|
|
|
|
|
\def\changemargin#1#2{\list{}{\rightmargin#2\leftmargin#1}\item[]}
|
|
|
|
\let\endchangemargin=\endlist
|
|
|
|
|
2019-10-16 13:11:18 -07:00
|
|
|
\usepackage{todonotes}
|
|
|
|
\usepackage{caption}
|
2019-10-16 15:12:23 -07:00
|
|
|
\usepackage{pgfgantt}
|
2019-10-16 12:24:57 -07:00
|
|
|
\linespread{1}
|
|
|
|
\begin{document}
|
|
|
|
|
2019-10-16 15:12:23 -07:00
|
|
|
\title{Fenceless Grazing Requirements}
|
2019-10-25 21:12:50 -07:00
|
|
|
\author{Danila Fedorin, \and Matthew Sessions, \and Ryan Alder}
|
2019-10-16 12:24:57 -07:00
|
|
|
\maketitle
|
2019-10-25 21:12:50 -07:00
|
|
|
|
|
|
|
\begin{abstract}
|
|
|
|
The Fenceless Grazing Collar System is an application of the LoRa and
|
|
|
|
LoRaWAN internet of things technologies to animal farming. It will be
|
|
|
|
implemented as a collar with which each individual farm animal will be
|
|
|
|
equipped. The fenceless grazing system must be capable of precisely
|
|
|
|
tracking high numbers of farm animals, controlling
|
|
|
|
these animals using sound and electric shocks, and allowing end users
|
|
|
|
(typically farmers) to monitor the animals and adjust their desired
|
|
|
|
location.
|
|
|
|
\end{abstract}
|
|
|
|
|
|
|
|
\pagebreak
|
2019-10-16 19:09:12 -07:00
|
|
|
\tableofcontents
|
2019-10-25 21:12:50 -07:00
|
|
|
|
2019-10-16 19:09:12 -07:00
|
|
|
\pagebreak
|
2019-10-16 12:24:57 -07:00
|
|
|
|
|
|
|
% From: ISO/IEC/IEEE 29148:2011, page 44
|
|
|
|
% 1. Introduction
|
|
|
|
% 1.1 System purpose
|
|
|
|
% 1.2 System scope
|
|
|
|
% 1.3 System overview
|
|
|
|
% 1.3.1 System context
|
|
|
|
% 1.3.2 System functions
|
|
|
|
% 1.3.3 User characteristics
|
|
|
|
% 1.4 Definitions
|
|
|
|
% 2. References
|
|
|
|
% 3. System requirements
|
|
|
|
% 3.1 Functional requirements
|
|
|
|
% 3.2 Usability requirements
|
|
|
|
% 3.3 Performance requirements
|
|
|
|
% 3.4 System interface
|
|
|
|
% 3.5 System operations
|
|
|
|
% 3.6 System modes and states
|
|
|
|
% 3.7 Physical characteristics
|
|
|
|
% 3.8 Environmental conditions
|
|
|
|
% 3.9 System security
|
|
|
|
% 3.10 Information management
|
|
|
|
% 3.11 Policies and regulations
|
|
|
|
% 3.12 System life cycle sustainment
|
|
|
|
% 3.13 Packaging, handling, shipping and transportation
|
|
|
|
% 4. Verification (parallel to subsections in Section 3)
|
|
|
|
|
|
|
|
\section{Introduction}
|
|
|
|
\subsection{System purpose}
|
2019-10-16 13:11:18 -07:00
|
|
|
The purpose of the Fenceless Grazing Collar (FGC) system is to reduce the
|
|
|
|
need for human supervision in farming through the tracking and automated
|
|
|
|
management of individual farm animals, controlled by humans through
|
2019-10-17 11:36:56 -07:00
|
|
|
a remote digital system. The FGC will decrease the time required to move
|
|
|
|
animals to new grazing areas by allowing farmers to manage these animals from
|
|
|
|
the comfort of their home. Interaction with the fenceless system will
|
|
|
|
be done via a smartphone application, and will allow complete control and
|
|
|
|
surveillance of all animals.
|
2019-10-16 13:11:18 -07:00
|
|
|
|
2019-10-16 12:24:57 -07:00
|
|
|
\subsection{System scope}
|
2019-10-16 13:11:18 -07:00
|
|
|
A table containing systems which the FGC project is seeking to replace
|
|
|
|
or influence, as well as a description of the intended interaction
|
|
|
|
between the FGC project and the system, are shown in Figure \ref{fig:system_scope}.
|
2019-10-16 14:07:00 -07:00
|
|
|
\begin{figure}[h]
|
2019-10-16 13:11:18 -07:00
|
|
|
\centering
|
|
|
|
\captionsetup{justification=centering}
|
|
|
|
|
|
|
|
\begin{tabular}{c p{12cm}}
|
|
|
|
Animal herding & The FGC system will be used replace humans and trained animals that currently
|
|
|
|
manage and control farm animals. \\
|
|
|
|
Data collection & Among the goals for the FGC sytem is to collect data from the animals being herded,
|
|
|
|
in order to help farmers make informed decisions. The FGC system can either serve as the first
|
|
|
|
means of data collection, a replacement for an existing data collection mechanism, or as a
|
|
|
|
complement to such a mechanism. \\
|
|
|
|
\end{tabular}
|
|
|
|
|
|
|
|
\caption{Fenceless Grazing System Scope}
|
|
|
|
\label{fig:system_scope}
|
|
|
|
\end{figure}
|
|
|
|
|
2019-10-16 12:24:57 -07:00
|
|
|
\subsection{System overview}
|
|
|
|
\subsubsection{System context}
|
2019-10-25 21:12:50 -07:00
|
|
|
At present, despite the continued industrialization in numerous other industries, animal
|
2019-10-16 13:11:18 -07:00
|
|
|
farming replies on human labor to manage and herd farm animals. This requires significant
|
|
|
|
time and effort, which could be more effectively spent elsewhere. The GFC system intends
|
|
|
|
to automate the various human involvement in animal farming.
|
|
|
|
|
2019-10-16 12:24:57 -07:00
|
|
|
\subsubsection{System functions}
|
2019-10-16 13:11:18 -07:00
|
|
|
Primarily, the FGC system serves as a tracking and management device. Through
|
|
|
|
the use of GPS tracking and LoRa long-range communication tehcnology, a collar
|
|
|
|
is to provide information regarding the present location of the farm
|
|
|
|
animal equipped with said collar. Furthermore, the collar is to be
|
|
|
|
able to discourage undesired behavior such as leaving a designated area
|
2019-10-25 21:12:50 -07:00
|
|
|
from the animal through the use of loud and unpleasant sounds and electrical shock.
|
2019-10-16 13:11:18 -07:00
|
|
|
|
|
|
|
The collar is also to collect data regarding the behavior of various animals,
|
|
|
|
for use in making decision regarding the livestock or otherwise.
|
|
|
|
|
|
|
|
Additionally, a component of the system is a piece of software that allows
|
|
|
|
for the remote management of collars. Users should be able to adjust "allowed"
|
|
|
|
locations for the animals through this software, observe the current locations
|
|
|
|
of the animals, and read the data collected by the collars.
|
|
|
|
|
2019-10-16 12:24:57 -07:00
|
|
|
\subsubsection{User characteristics}
|
2019-10-25 21:12:50 -07:00
|
|
|
The desired user base for the FGC application are farmers who own livestock that
|
|
|
|
require constant grazing. These farmers would tend to have large fields in which
|
|
|
|
their livestock feed. Additionally, they may not be familliar with the advanced
|
|
|
|
usage of electronics (including smartphones or hardware).
|
|
|
|
|
2019-10-16 12:24:57 -07:00
|
|
|
\subsection{Definitions}
|
2019-10-17 11:36:56 -07:00
|
|
|
\subsubsection{LoRa}
|
|
|
|
LoRa (stands for Long Range) is a communication protocol developed by Semtech
|
|
|
|
found on the link layer of the protocol stack. LoRa is a spread spectrum modulation
|
|
|
|
technique derived from chirp spread specetrum (CSS) technology, and excels
|
|
|
|
at long range communication, while keeping battery usage down. LoRa was designed
|
|
|
|
exclusively for Internet of Things (IOT) applications, and is able to operate
|
|
|
|
with a large number of different LoRa end-nodes.
|
|
|
|
\subsubsection{LoRaWAN}
|
|
|
|
LoRaWAN is the communication protocol found on the MAC network layer on the network
|
|
|
|
stack. LoRaWAN, an open source protocol, interacts with LoRa to transfer data up
|
|
|
|
to the application layer. LoRaWAN leverages the unlicensed radio spectrum in the
|
|
|
|
Industrial, Scientific and Medical (ISM) band. The LoRaWAN protocol is managed
|
|
|
|
by the LoRa Alliance instead of Semtech, and serves to connect all of the end-nodes
|
|
|
|
with the gateways and the wider internet.
|
|
|
|
\subsubsection{LoRa Gateway}
|
|
|
|
A LoRa Gateway is simply the machine that runs LoRaWAN to interact with each end-node,
|
|
|
|
and usually directs traffic to another server or the wider internet.
|
|
|
|
\subsubsection{LoRa End-node}
|
|
|
|
The LoRa end-node refers to each node running the LoRa and LoRaWAN protocol. In this
|
|
|
|
project, each collar will be an end-node.
|
2019-10-16 12:24:57 -07:00
|
|
|
\section{System requirements}
|
|
|
|
\subsection{Functional requirements}
|
2019-10-16 13:11:18 -07:00
|
|
|
\subsubsection{GPS}
|
|
|
|
It is imperative that the FGC system precisely tracks the locations of
|
|
|
|
animals that are equipped with a collar. As the name of the system
|
|
|
|
suggests, the system may be deployed in replacement of fenced-off
|
|
|
|
areas. As such, failure to correctly identify the location
|
|
|
|
of an animal may lead to the animal moving outside the desired area.
|
|
|
|
Since many farms border wooded areas, highways or roads, it is then possible
|
|
|
|
that an animal whose location was not properly reported will wonder
|
2019-10-16 14:07:00 -07:00
|
|
|
into traffic or another dangerous location. We specify
|
|
|
|
the maximum uncertainty in the location of an animal to be
|
|
|
|
3 feet.
|
|
|
|
|
|
|
|
In addition to being precise with the GPS coordinates, the system
|
|
|
|
must be tolerant of the aforementioned uncertainty. The analysis
|
|
|
|
of the reported location should prevent the possibility of a collar
|
|
|
|
not producing a negative stimulus due to a fluctuation of measurement.
|
2019-10-16 13:11:18 -07:00
|
|
|
|
|
|
|
\subsubsection{Sound and Electrical Shock}
|
2019-10-16 14:07:00 -07:00
|
|
|
Simply being aware of the animal's location is insufficient
|
|
|
|
to properly control its behavior without human intervention.
|
|
|
|
As such, the collars must be able to create stimuli
|
|
|
|
that farm animals find unpleasant, effectively training
|
|
|
|
them to avoid performing actions that are undesirable. The sound
|
|
|
|
and shock must not only be sufficient to infuence the animals,
|
|
|
|
but also safe: they should not cause harm or excessive discomfort
|
|
|
|
to the animal.
|
|
|
|
|
|
|
|
\subsubsection{Control Application}
|
|
|
|
The project must contain a functional mobile application for
|
|
|
|
the Android platform, capable of interfacing with the collars
|
|
|
|
in the field. This application should, at minimum, be usable
|
|
|
|
to adjust the boundaries of the prescribed region and visualize
|
|
|
|
the locations of individual animals on a map.
|
|
|
|
|
|
|
|
\subsubsection{Data Collection}
|
2019-10-16 23:08:08 -07:00
|
|
|
All of the collars must remain in constant communication with the LoRa
|
|
|
|
gateway, and subsequently the server. There must be an SQL database holding
|
|
|
|
the most up to date information about each animal, including location,
|
|
|
|
name, type, id (primary key), and any other applicable information
|
|
|
|
necessary for operation of the Android application. Data will be collected
|
|
|
|
from each collar at an interval to minimize collision but maximize
|
|
|
|
data throughput, and will be based on the number of LoRa end-nodes
|
|
|
|
(collars) and the number of LoRa gateways. In this application, there is
|
|
|
|
little need to communicate at a rapid rate, and the collars will interact
|
|
|
|
with the gateway most likely at a rate of once every few minutes.
|
2019-10-16 14:07:00 -07:00
|
|
|
|
|
|
|
\subsubsection{Effective Area}
|
|
|
|
Because many farms have significant numbers of livestock, and consequently
|
|
|
|
a large grazing area, it's necessary that the FGC system is functional
|
|
|
|
at large distances. We require that the sysem is functional at distances
|
|
|
|
as large as 5 kilometers, which is half of the maximum range of the
|
|
|
|
LoRa technology. A consequence of this requirement is also that the system
|
|
|
|
is entirely wireless, since it is not feasible to provide cables or wires
|
|
|
|
that span the maximum area of 5 kilometers.
|
2019-10-16 13:11:18 -07:00
|
|
|
|
2019-10-16 12:24:57 -07:00
|
|
|
\subsection{Usability requirements}
|
2019-10-16 14:07:00 -07:00
|
|
|
\subsubsection{Accessibility of Application}
|
|
|
|
Because the FGC system is intended to be used by farmers as a replacement
|
|
|
|
for manual labor, it must be accessible to farmers with knowledge
|
|
|
|
of the domain, but not necessarily of the inner workings of the FGC implementation.
|
|
|
|
Thus, the final Android application must be usable, without significant prior training,
|
|
|
|
by non-technical people from the agricultural industry. On the other hand,
|
|
|
|
if necessary, the Android application \emph{should} assume domain specific knowledge
|
|
|
|
in the area of agriculture, since its intended audience is from this field.
|
|
|
|
|
|
|
|
\subsubsection{Servicability of Collars}
|
2019-10-16 19:09:12 -07:00
|
|
|
Because the collars are intended to be battery-based, they will need to be serviced,
|
|
|
|
with the minimum goal of replacing or recharging the on-board batteries. This
|
|
|
|
must be possible to people with no prior technical experience, as the presence
|
2019-10-25 21:12:50 -07:00
|
|
|
of such experience is not guaranteed among the expected client base. Other common
|
2019-10-16 19:09:12 -07:00
|
|
|
servicing goals, such as cleaning the device, should also be easy to accomplish
|
|
|
|
without an understanding of the architecture or implementation of the FGC system.
|
2019-10-16 14:07:00 -07:00
|
|
|
|
2019-10-16 12:24:57 -07:00
|
|
|
\subsection{Performance requirements}
|
2019-10-16 19:09:12 -07:00
|
|
|
\subsubsection{Battery Efficiency}
|
|
|
|
Since the FGC device is battery powered and will require maintenance upon
|
|
|
|
reaching low battery levels, it's important that the device is able to
|
|
|
|
maintain an operational level of charge for long periods of time. That
|
|
|
|
is, the number and duration of servicing actions should be low, in alignment
|
|
|
|
with the original goal of reducing human labor. At minimum, the device
|
|
|
|
should remain operational for 7 days (1 week).
|
|
|
|
|
|
|
|
\subsubsection{Support for Multiple Collars}
|
|
|
|
As mentioned above, the goal for hte FGC system is to support large herds of animals,
|
|
|
|
which normally require significant portions of time to be dedicated by humans.
|
|
|
|
In order to properly support large herds, it must be possible for the system
|
|
|
|
to support as many as 100 concurrently active collars without issue. This
|
|
|
|
requirement applies to the collars themselves and the Android application:
|
|
|
|
\begin{itemize}
|
|
|
|
\item The collars themselves should not experience difficulties when concentrated
|
|
|
|
in large groups (farm animals instinctively tend towards proximity).
|
|
|
|
\item The Android application, given hardware that is not greatly outdated,
|
|
|
|
should be able to display and manage this number of collars without
|
|
|
|
additional delays.
|
|
|
|
\end{itemize}
|
|
|
|
|
2019-10-16 12:24:57 -07:00
|
|
|
\subsection{System interface}
|
2019-10-16 19:09:12 -07:00
|
|
|
\subsubsection{LoRa}
|
2019-10-16 23:08:08 -07:00
|
|
|
The main communication protocol that will be used for this project
|
|
|
|
is LoRa and LoRaWAN. Each collar will be fitted with a proprietary
|
|
|
|
LoRa chip, and LoRa gateway(s) will be configured based on the desired
|
|
|
|
number of operational collars. LoRaWAN will be configured and implemented
|
|
|
|
for communication with the end nodes and the server.
|
2019-10-16 19:09:12 -07:00
|
|
|
|
2019-10-17 12:04:10 -07:00
|
|
|
%\subsection{System operations}
|
|
|
|
%\todo{this?}
|
2019-10-16 12:24:57 -07:00
|
|
|
\subsection{System modes and states}
|
2019-10-16 19:09:12 -07:00
|
|
|
Besides the "standard" operational mode for the collar, it
|
|
|
|
is useful to envision other modes that help in troubleshooting
|
|
|
|
and setting up the FGC system. We define the following modes:
|
|
|
|
|
|
|
|
\subsubsection{Standard}
|
|
|
|
In this mode, the device uses the defined
|
|
|
|
"out of bounds" area to determine whether or not to emit a negative
|
|
|
|
stimulus. The produced negative stimuli are as defined in the
|
|
|
|
sounds and electrical shock section of the functional requirements.
|
|
|
|
|
|
|
|
\subsubsection{Electric Shock Test}
|
|
|
|
In this mode, the device operates identically to the standard mode
|
|
|
|
described above, with the exception of not generating electrical
|
|
|
|
shocks. Instead, the device should emit a different sound (or
|
|
|
|
a visual signal) to indicate when the shock would have been delivered.
|
|
|
|
This allows for safe testing of the device's behavior around area boundaries.
|
|
|
|
|
2019-10-16 12:24:57 -07:00
|
|
|
\subsection{Physical characteristics}
|
2019-10-16 19:09:12 -07:00
|
|
|
\subsubsection{Weight}
|
|
|
|
It's necessary for the device to be physically bearable by livestock for indefinite
|
|
|
|
periods of time. If the resulting collar is a constant and noticable weight on the
|
|
|
|
farm animal, it would serve as an unnecessary and permanent source of stress. Besides
|
|
|
|
the ethical considerations of subjecting an animal to a constant level of stress through
|
|
|
|
unnecessary physical labor (i.e. carrying a collar that is too heavy), this goes against
|
|
|
|
the purpose of the project, since it will likely reduce the quality of the resulting animal
|
|
|
|
management below the level that can be provided by humans.
|
|
|
|
|
|
|
|
\subsubsection{Form Factor}
|
|
|
|
In order to be able to effectively use the collar, it must fit comfortably on target farm
|
2019-10-25 21:12:50 -07:00
|
|
|
animals. In the initial prototype, these animals will be cows, and thus, a requirement
|
2019-10-16 19:09:12 -07:00
|
|
|
for the project is that the collar can be put onto, and stay on a farm cow.
|
|
|
|
|
2019-10-16 12:24:57 -07:00
|
|
|
\subsection{Environmental conditions}
|
2019-10-16 19:09:12 -07:00
|
|
|
\subsubsection{Water Resistance}
|
|
|
|
The product will be tested in collaboration with Oregon State University's College of Animal
|
|
|
|
Science, and therefore, will be tested in Oregon's climate. Since rain is very common
|
|
|
|
during the winter months in Western Oregon, the device must be readily able to withstand
|
|
|
|
such conditions, without sustaining any damage.
|
|
|
|
|
2019-10-16 23:08:08 -07:00
|
|
|
\subsubsection{Temperature}
|
|
|
|
As this project will be designed and tested in Oregon, the vast differences in temperature
|
|
|
|
throughout the year must be considered. The collars must be able to constantly operate in
|
|
|
|
temperatures below freezing during the winter, and temperatures in excess of 100 degrees
|
|
|
|
fahrenheit during the summer.
|
2019-10-16 19:09:12 -07:00
|
|
|
|
2019-10-17 12:04:10 -07:00
|
|
|
%\subsection{System security}
|
|
|
|
%\todo{Do we need this?}
|
|
|
|
%\subsection{Information management}
|
|
|
|
%\todo{Do we need this?}
|
|
|
|
%\subsection{Policies and regulations}
|
|
|
|
%\todo{Do we need this?}
|
|
|
|
%\subsection{System life cycle sustainment}
|
|
|
|
%\todo{Do we need this?}
|
|
|
|
%\subsection{Packaging, handling, shipping and transportation}
|
|
|
|
%\todo{Do we need this?}
|
|
|
|
%\section{Verification}
|
|
|
|
%\todo{Someone else please}
|
2019-10-16 12:24:57 -07:00
|
|
|
|
2019-10-16 15:12:23 -07:00
|
|
|
\section{Gantt Chart}
|
2019-10-16 23:08:08 -07:00
|
|
|
\begin{changemargin}{-2cm}{0cm}
|
2019-10-16 15:12:23 -07:00
|
|
|
\begin{ganttchart}[
|
2019-10-16 23:08:08 -07:00
|
|
|
x unit=.65mm,
|
2019-10-16 15:12:23 -07:00
|
|
|
time slot format=isodate
|
|
|
|
]{2019-10-01}{2020-06-30}
|
|
|
|
\gantttitlecalendar{year, month=name} \\
|
2020-05-28 19:15:23 -07:00
|
|
|
\ganttgroup{Collar}{2019-10-01}{2020-05-15} \\
|
2019-10-16 15:12:23 -07:00
|
|
|
\ganttbar{Design}{2019-10-20}{2020-01-01} \\
|
2020-05-28 19:15:23 -07:00
|
|
|
\ganttmilestone{Purchase Hardware}{2020-01-03} \\
|
2019-10-16 15:12:23 -07:00
|
|
|
\ganttbar{Assemble}{2020-01-05}{2020-02-01} \\
|
2020-05-28 19:15:23 -07:00
|
|
|
\ganttmilestone{Purchase Hardware}{2020-02-01} \\
|
|
|
|
\ganttbar{Assemble}{2020-02-01}{2020-02-15} \\
|
|
|
|
\ganttbar{Develop/Test}{2020-02-15}{2020-05-15} \\
|
|
|
|
\ganttgroup{Server}{2019-10-01}{2020-05-15} \\
|
2019-10-16 15:12:23 -07:00
|
|
|
\ganttbar{Design}{2019-10-20}{2020-01-01} \\
|
2020-05-28 19:15:23 -07:00
|
|
|
\ganttbar{Develop/Test}{2020-01-01}{2020-05-15} \\
|
|
|
|
\ganttgroup{Application}{2019-10-01}{2020-05-15} \\
|
2019-10-16 15:12:23 -07:00
|
|
|
\ganttbar{Design}{2019-10-20}{2020-01-01} \\
|
2020-05-28 19:15:23 -07:00
|
|
|
\ganttbar{Develop/Test}{2020-01-01}{2020-05-15} \\
|
|
|
|
\ganttgroup{Project}{2019-10-01}{2020-06-15} \\
|
|
|
|
\ganttbar{Finalize Project}{2020-05-15}{2020-06-15}
|
2019-10-16 15:12:23 -07:00
|
|
|
\ganttlink{elem1}{elem2}
|
|
|
|
\ganttlink{elem2}{elem3}
|
|
|
|
\ganttlink{elem3}{elem4}
|
2020-05-28 19:15:23 -07:00
|
|
|
\ganttlink{elem4}{elem5}
|
|
|
|
\ganttlink{elem5}{elem6}
|
|
|
|
\ganttlink{elem8}{elem9}
|
2019-10-16 15:12:23 -07:00
|
|
|
\ganttlink{elem11}{elem12}
|
|
|
|
\end{ganttchart}
|
2019-10-16 23:08:08 -07:00
|
|
|
\end{changemargin}
|
2019-10-16 12:24:57 -07:00
|
|
|
\end{document}
|