Compare commits
7 Commits
450db305c5
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7b90ea81a6 | ||
| e44fbc1b75 | |||
|
|
2cd4d2d2e7 | ||
|
|
482997190f | ||
|
|
3dbec5c451 | ||
| 923cc6a49e | |||
| dca41013a0 |
@@ -1,4 +1,8 @@
|
|||||||
\documentclass[10pt, draftclsnofoot,onecolumn]{IEEEtran}
|
\documentclass[10pt, draftclsnofoot,onecolumn]{IEEEtran}
|
||||||
|
|
||||||
|
\def\changemargin#1#2{\list{}{\rightmargin#2\leftmargin#1}\item[]}
|
||||||
|
\let\endchangemargin=\endlist
|
||||||
|
|
||||||
\usepackage{todonotes}
|
\usepackage{todonotes}
|
||||||
\usepackage{caption}
|
\usepackage{caption}
|
||||||
\usepackage{pgfgantt}
|
\usepackage{pgfgantt}
|
||||||
@@ -6,10 +10,25 @@
|
|||||||
\begin{document}
|
\begin{document}
|
||||||
|
|
||||||
\title{Fenceless Grazing Requirements}
|
\title{Fenceless Grazing Requirements}
|
||||||
\author{Danila Fedorin \and Matthew Sessions \and Ryan Alder}
|
\author{Danila Fedorin, \and Matthew Sessions, \and Ryan Alder}
|
||||||
|
|
||||||
\maketitle
|
\maketitle
|
||||||
|
|
||||||
|
\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
|
||||||
|
\tableofcontents
|
||||||
|
|
||||||
|
\pagebreak
|
||||||
|
|
||||||
% From: ISO/IEC/IEEE 29148:2011, page 44
|
% From: ISO/IEC/IEEE 29148:2011, page 44
|
||||||
% 1. Introduction
|
% 1. Introduction
|
||||||
% 1.1 System purpose
|
% 1.1 System purpose
|
||||||
@@ -41,14 +60,16 @@
|
|||||||
The purpose of the Fenceless Grazing Collar (FGC) system is to reduce the
|
The purpose of the Fenceless Grazing Collar (FGC) system is to reduce the
|
||||||
need for human supervision in farming through the tracking and automated
|
need for human supervision in farming through the tracking and automated
|
||||||
management of individual farm animals, controlled by humans through
|
management of individual farm animals, controlled by humans through
|
||||||
a remote digital system.
|
a remote digital system. The FGC will decrease the time required to move
|
||||||
\todo{This probably needs to be expanded on}
|
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.
|
||||||
|
|
||||||
\subsection{System scope}
|
\subsection{System scope}
|
||||||
A table containing systems which the FGC project is seeking to replace
|
A table containing systems which the FGC project is seeking to replace
|
||||||
or influence, as well as a description of the intended interaction
|
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}.
|
between the FGC project and the system, are shown in Figure \ref{fig:system_scope}.
|
||||||
\todo{More rows + header}
|
|
||||||
\begin{figure}[h]
|
\begin{figure}[h]
|
||||||
\centering
|
\centering
|
||||||
\captionsetup{justification=centering}
|
\captionsetup{justification=centering}
|
||||||
@@ -68,7 +89,7 @@ between the FGC project and the system, are shown in Figure \ref{fig:system_scop
|
|||||||
|
|
||||||
\subsection{System overview}
|
\subsection{System overview}
|
||||||
\subsubsection{System context}
|
\subsubsection{System context}
|
||||||
At present, despite the continued industrialization in numerious other indestries, animal
|
At present, despite the continued industrialization in numerous other industries, animal
|
||||||
farming replies on human labor to manage and herd farm animals. This requires significant
|
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
|
time and effort, which could be more effectively spent elsewhere. The GFC system intends
|
||||||
to automate the various human involvement in animal farming.
|
to automate the various human involvement in animal farming.
|
||||||
@@ -79,7 +100,7 @@ the use of GPS tracking and LoRa long-range communication tehcnology, a collar
|
|||||||
is to provide information regarding the present location of the farm
|
is to provide information regarding the present location of the farm
|
||||||
animal equipped with said collar. Furthermore, the collar is to be
|
animal equipped with said collar. Furthermore, the collar is to be
|
||||||
able to discourage undesired behavior such as leaving a designated area
|
able to discourage undesired behavior such as leaving a designated area
|
||||||
from the animal through the use of loud and unpleasant sounds and electrical chock.
|
from the animal through the use of loud and unpleasant sounds and electrical shock.
|
||||||
|
|
||||||
The collar is also to collect data regarding the behavior of various animals,
|
The collar is also to collect data regarding the behavior of various animals,
|
||||||
for use in making decision regarding the livestock or otherwise.
|
for use in making decision regarding the livestock or otherwise.
|
||||||
@@ -90,10 +111,32 @@ locations for the animals through this software, observe the current locations
|
|||||||
of the animals, and read the data collected by the collars.
|
of the animals, and read the data collected by the collars.
|
||||||
|
|
||||||
\subsubsection{User characteristics}
|
\subsubsection{User characteristics}
|
||||||
?? \todo{Finish this}
|
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).
|
||||||
|
|
||||||
\subsection{Definitions}
|
\subsection{Definitions}
|
||||||
?? \todo{Finish this}
|
\subsubsection{LoRa}
|
||||||
\section{References}
|
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.
|
||||||
\section{System requirements}
|
\section{System requirements}
|
||||||
\subsection{Functional requirements}
|
\subsection{Functional requirements}
|
||||||
\subsubsection{GPS}
|
\subsubsection{GPS}
|
||||||
@@ -123,8 +166,6 @@ and shock must not only be sufficient to infuence the animals,
|
|||||||
but also safe: they should not cause harm or excessive discomfort
|
but also safe: they should not cause harm or excessive discomfort
|
||||||
to the animal.
|
to the animal.
|
||||||
|
|
||||||
\todo{investigate legal guidelines?}
|
|
||||||
|
|
||||||
\subsubsection{Control Application}
|
\subsubsection{Control Application}
|
||||||
The project must contain a functional mobile application for
|
The project must contain a functional mobile application for
|
||||||
the Android platform, capable of interfacing with the collars
|
the Android platform, capable of interfacing with the collars
|
||||||
@@ -133,7 +174,16 @@ to adjust the boundaries of the prescribed region and visualize
|
|||||||
the locations of individual animals on a map.
|
the locations of individual animals on a map.
|
||||||
|
|
||||||
\subsubsection{Data Collection}
|
\subsubsection{Data Collection}
|
||||||
@ryan you know more about this than I care to research. \todo{finish this}
|
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.
|
||||||
|
|
||||||
\subsubsection{Effective Area}
|
\subsubsection{Effective Area}
|
||||||
Because many farms have significant numbers of livestock, and consequently
|
Because many farms have significant numbers of livestock, and consequently
|
||||||
@@ -155,47 +205,134 @@ if necessary, the Android application \emph{should} assume domain specific knowl
|
|||||||
in the area of agriculture, since its intended audience is from this field.
|
in the area of agriculture, since its intended audience is from this field.
|
||||||
|
|
||||||
\subsubsection{Servicability of Collars}
|
\subsubsection{Servicability of Collars}
|
||||||
|
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
|
||||||
|
of such experience is not guaranteed among the expected client base. Other common
|
||||||
|
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.
|
||||||
|
|
||||||
\subsection{Performance requirements}
|
\subsection{Performance requirements}
|
||||||
|
\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}
|
||||||
|
|
||||||
\subsection{System interface}
|
\subsection{System interface}
|
||||||
\subsection{System operations}
|
\subsubsection{LoRa}
|
||||||
|
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.
|
||||||
|
|
||||||
|
%\subsection{System operations}
|
||||||
|
%\todo{this?}
|
||||||
\subsection{System modes and states}
|
\subsection{System modes and states}
|
||||||
|
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.
|
||||||
|
|
||||||
\subsection{Physical characteristics}
|
\subsection{Physical characteristics}
|
||||||
|
\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
|
||||||
|
animals. In the initial prototype, these animals will be cows, and thus, a requirement
|
||||||
|
for the project is that the collar can be put onto, and stay on a farm cow.
|
||||||
|
|
||||||
\subsection{Environmental conditions}
|
\subsection{Environmental conditions}
|
||||||
\subsection{System security}
|
\subsubsection{Water Resistance}
|
||||||
\subsection{Information management}
|
The product will be tested in collaboration with Oregon State University's College of Animal
|
||||||
\subsection{Policies and regulations}
|
Science, and therefore, will be tested in Oregon's climate. Since rain is very common
|
||||||
\subsection{System life cycle sustainment}
|
during the winter months in Western Oregon, the device must be readily able to withstand
|
||||||
\subsection{Packaging, handling, shipping and transportation}
|
such conditions, without sustaining any damage.
|
||||||
\section{Verification}
|
|
||||||
|
\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.
|
||||||
|
|
||||||
|
%\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}
|
||||||
|
|
||||||
\section{Gantt Chart}
|
\section{Gantt Chart}
|
||||||
|
\begin{changemargin}{-2cm}{0cm}
|
||||||
\begin{ganttchart}[
|
\begin{ganttchart}[
|
||||||
x unit=.55mm,
|
x unit=.65mm,
|
||||||
time slot format=isodate
|
time slot format=isodate
|
||||||
]{2019-10-01}{2020-06-30}
|
]{2019-10-01}{2020-06-30}
|
||||||
\gantttitlecalendar{year, month=name} \\
|
\gantttitlecalendar{year, month=name} \\
|
||||||
|
\ganttgroup{Collar}{2019-10-01}{2020-05-15} \\
|
||||||
\ganttgroup{Collar}{2019-10-01}{2020-03-01} \\
|
|
||||||
\ganttbar{Design}{2019-10-20}{2020-01-01} \\
|
\ganttbar{Design}{2019-10-20}{2020-01-01} \\
|
||||||
\ganttmilestone{Purchase Parts}{2020-01-03} \\
|
\ganttmilestone{Purchase Hardware}{2020-01-03} \\
|
||||||
\ganttbar{Assemble}{2020-01-05}{2020-02-01} \\
|
\ganttbar{Assemble}{2020-01-05}{2020-02-01} \\
|
||||||
\ganttbar{Test}{2020-02-01}{2020-03-01} \\
|
\ganttmilestone{Purchase Hardware}{2020-02-01} \\
|
||||||
\ganttgroup{Server}{2019-10-01}{2020-05-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} \\
|
||||||
\ganttbar{Design}{2019-10-20}{2020-01-01} \\
|
\ganttbar{Design}{2019-10-20}{2020-01-01} \\
|
||||||
\ganttbar{Implement}{2020-01-01}{2020-04-01} \\
|
\ganttbar{Develop/Test}{2020-01-01}{2020-05-15} \\
|
||||||
\ganttbar{Test}{2020-04-01}{2020-05-01} \\
|
\ganttgroup{Application}{2019-10-01}{2020-05-15} \\
|
||||||
\ganttgroup{Application}{2019-10-01}{2020-05-01} \\
|
|
||||||
\ganttbar{Design}{2019-10-20}{2020-01-01} \\
|
\ganttbar{Design}{2019-10-20}{2020-01-01} \\
|
||||||
\ganttbar{Implement}{2020-01-01}{2020-04-01} \\
|
\ganttbar{Develop/Test}{2020-01-01}{2020-05-15} \\
|
||||||
\ganttbar{Test}{2020-04-01}{2020-05-01} \\
|
\ganttgroup{Project}{2019-10-01}{2020-06-15} \\
|
||||||
\ganttgroup{Project}{2019-10-01}{2020-06-30} \\
|
\ganttbar{Finalize Project}{2020-05-15}{2020-06-15}
|
||||||
\ganttbar{Finalize}{2020-05-01}{2020-06-15}
|
|
||||||
\ganttlink{elem1}{elem2}
|
\ganttlink{elem1}{elem2}
|
||||||
\ganttlink{elem2}{elem3}
|
\ganttlink{elem2}{elem3}
|
||||||
\ganttlink{elem3}{elem4}
|
\ganttlink{elem3}{elem4}
|
||||||
\ganttlink{elem6}{elem7}
|
\ganttlink{elem4}{elem5}
|
||||||
\ganttlink{elem7}{elem8}
|
\ganttlink{elem5}{elem6}
|
||||||
\ganttlink{elem10}{elem11}
|
\ganttlink{elem8}{elem9}
|
||||||
\ganttlink{elem11}{elem12}
|
\ganttlink{elem11}{elem12}
|
||||||
\end{ganttchart}
|
\end{ganttchart}
|
||||||
|
\end{changemargin}
|
||||||
\end{document}
|
\end{document}
|
||||||
|
|||||||
Reference in New Issue
Block a user