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}
|
||||
|
||||
\def\changemargin#1#2{\list{}{\rightmargin#2\leftmargin#1}\item[]}
|
||||
\let\endchangemargin=\endlist
|
||||
|
||||
\usepackage{todonotes}
|
||||
\usepackage{caption}
|
||||
\usepackage{pgfgantt}
|
||||
@@ -6,10 +10,25 @@
|
||||
\begin{document}
|
||||
|
||||
\title{Fenceless Grazing Requirements}
|
||||
\author{Danila Fedorin \and Matthew Sessions \and Ryan Alder}
|
||||
|
||||
\author{Danila Fedorin, \and Matthew Sessions, \and Ryan Alder}
|
||||
\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
|
||||
% 1. Introduction
|
||||
% 1.1 System purpose
|
||||
@@ -41,14 +60,16 @@
|
||||
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
|
||||
a remote digital system.
|
||||
\todo{This probably needs to be expanded on}
|
||||
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.
|
||||
|
||||
\subsection{System scope}
|
||||
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}.
|
||||
\todo{More rows + header}
|
||||
\begin{figure}[h]
|
||||
\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}
|
||||
\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
|
||||
time and effort, which could be more effectively spent elsewhere. The GFC system intends
|
||||
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
|
||||
animal equipped with said collar. Furthermore, the collar is to be
|
||||
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,
|
||||
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.
|
||||
|
||||
\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}
|
||||
?? \todo{Finish this}
|
||||
\section{References}
|
||||
\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.
|
||||
\section{System requirements}
|
||||
\subsection{Functional requirements}
|
||||
\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
|
||||
to the animal.
|
||||
|
||||
\todo{investigate legal guidelines?}
|
||||
|
||||
\subsubsection{Control Application}
|
||||
The project must contain a functional mobile application for
|
||||
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.
|
||||
|
||||
\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}
|
||||
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.
|
||||
|
||||
\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}
|
||||
\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 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}
|
||||
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}
|
||||
\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{System security}
|
||||
\subsection{Information management}
|
||||
\subsection{Policies and regulations}
|
||||
\subsection{System life cycle sustainment}
|
||||
\subsection{Packaging, handling, shipping and transportation}
|
||||
\section{Verification}
|
||||
\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.
|
||||
|
||||
\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}
|
||||
\begin{changemargin}{-2cm}{0cm}
|
||||
\begin{ganttchart}[
|
||||
x unit=.55mm,
|
||||
x unit=.65mm,
|
||||
time slot format=isodate
|
||||
]{2019-10-01}{2020-06-30}
|
||||
\gantttitlecalendar{year, month=name} \\
|
||||
|
||||
\ganttgroup{Collar}{2019-10-01}{2020-03-01} \\
|
||||
\ganttgroup{Collar}{2019-10-01}{2020-05-15} \\
|
||||
\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{Test}{2020-02-01}{2020-03-01} \\
|
||||
\ganttgroup{Server}{2019-10-01}{2020-05-01} \\
|
||||
\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} \\
|
||||
\ganttbar{Design}{2019-10-20}{2020-01-01} \\
|
||||
\ganttbar{Implement}{2020-01-01}{2020-04-01} \\
|
||||
\ganttbar{Test}{2020-04-01}{2020-05-01} \\
|
||||
\ganttgroup{Application}{2019-10-01}{2020-05-01} \\
|
||||
\ganttbar{Develop/Test}{2020-01-01}{2020-05-15} \\
|
||||
\ganttgroup{Application}{2019-10-01}{2020-05-15} \\
|
||||
\ganttbar{Design}{2019-10-20}{2020-01-01} \\
|
||||
\ganttbar{Implement}{2020-01-01}{2020-04-01} \\
|
||||
\ganttbar{Test}{2020-04-01}{2020-05-01} \\
|
||||
\ganttgroup{Project}{2019-10-01}{2020-06-30} \\
|
||||
\ganttbar{Finalize}{2020-05-01}{2020-06-15}
|
||||
\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}
|
||||
\ganttlink{elem1}{elem2}
|
||||
\ganttlink{elem2}{elem3}
|
||||
\ganttlink{elem3}{elem4}
|
||||
\ganttlink{elem6}{elem7}
|
||||
\ganttlink{elem7}{elem8}
|
||||
\ganttlink{elem10}{elem11}
|
||||
\ganttlink{elem4}{elem5}
|
||||
\ganttlink{elem5}{elem6}
|
||||
\ganttlink{elem8}{elem9}
|
||||
\ganttlink{elem11}{elem12}
|
||||
\end{ganttchart}
|
||||
\end{changemargin}
|
||||
\end{document}
|
||||
|
||||
Reference in New Issue
Block a user