Compare commits
33 Commits
Author | SHA1 | Date | |
---|---|---|---|
44538f3af6 | |||
65e919ae70 | |||
2977e413d7 | |||
70b7550747 | |||
![]() |
4484fc0303 | ||
![]() |
9fe5342173 | ||
![]() |
559d6b92d1 | ||
![]() |
212a94323f | ||
![]() |
59d7e220ff | ||
![]() |
432defcf5e | ||
![]() |
d8348e4242 | ||
![]() |
48ddccb40c | ||
![]() |
4c2f351506 | ||
![]() |
1c8a16aedf | ||
![]() |
85a14b6bc0 | ||
![]() |
70401a3750 | ||
![]() |
b80f99ab2e | ||
![]() |
46d214a642 | ||
![]() |
8d56a258bd | ||
![]() |
b68687f0bd | ||
![]() |
6d3f2a6942 | ||
![]() |
ec4d31598b | ||
![]() |
7f08b6d38e | ||
![]() |
e75fdbd184 | ||
![]() |
12c8c0025a | ||
![]() |
ba6c375d5e | ||
![]() |
e43ed59e11 | ||
![]() |
a8134cd706 | ||
![]() |
268ca91418 | ||
![]() |
ca17d78e53 | ||
![]() |
2024db9ae1 | ||
![]() |
431547a70d | ||
![]() |
efec146578 |
30
.drone.yml
@ -1,30 +0,0 @@
|
|||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: docker
|
|
||||||
name: default
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: buildlatex
|
|
||||||
image: nareshkumarrao/texliveonfly
|
|
||||||
commands:
|
|
||||||
- tlmgr update --self --all
|
|
||||||
- texliveonfly Main.tex
|
|
||||||
- biber main
|
|
||||||
- texliveonfly Main.tex
|
|
||||||
- biber main
|
|
||||||
- texliveonfly Main.tex
|
|
||||||
- name: gitea_release
|
|
||||||
image: plugins/gitea-release
|
|
||||||
settings:
|
|
||||||
base_url: https://git.nareshkumarrao.com
|
|
||||||
api_key:
|
|
||||||
from_secret: gitea_token
|
|
||||||
files: Main.pdf
|
|
||||||
when:
|
|
||||||
event: tag
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
event:
|
|
||||||
- push
|
|
||||||
- tag
|
|
||||||
|
|
26
.gitea/workflows/build.yaml
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
name: Build and Release
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- 'v*'
|
||||||
|
schedule:
|
||||||
|
- cron: '@monthly'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: alpine:latest
|
||||||
|
options: --user root
|
||||||
|
steps:
|
||||||
|
- run: apk add --no-cache nodejs nix
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- run: nix-channel --add https://nixos.org/channels/nixos-24.11 nixpkgs && nix-channel --update
|
||||||
|
- run: nix-shell -p biber tectonic --run "tectonic Main.tex"
|
||||||
|
|
||||||
|
- name: Create Release
|
||||||
|
uses: https://github.com/softprops/action-gh-release@v2
|
||||||
|
with:
|
||||||
|
files: Main.pdf
|
@ -1,8 +0,0 @@
|
|||||||
build-job:
|
|
||||||
image: texlive/texlive:latest
|
|
||||||
stage: build
|
|
||||||
script:
|
|
||||||
- make
|
|
||||||
tags:
|
|
||||||
- docker
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
|||||||
--output html
|
--output html
|
||||||
--dict dico.txt
|
--dict dict.txt
|
||||||
--check en Main.tex
|
--check en Main.tex
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
\vspace*{1cm}
|
\vspace*{1cm}
|
||||||
\begin{Huge}
|
\begin{Huge}
|
||||||
\textbf{Measuring Bulk Material Flow using Commercially-Available LIDAR Sensors}\par
|
\textbf{Measuring Bulk Material Flow using Commercially-Available LIDAR Sensors}\par
|
||||||
\textbf{---Final Draft---}\par
|
% \textbf{---Final Draft---}\par
|
||||||
\end{Huge}
|
\end{Huge}
|
||||||
\vfill
|
\vfill
|
||||||
\large
|
\large
|
||||||
|
@ -6,7 +6,7 @@ This chapter lays out an overview of this project and thesis. The reasoning and
|
|||||||
|
|
||||||
\subsection{Transportation of Bulk Material}
|
\subsection{Transportation of Bulk Material}
|
||||||
|
|
||||||
It is necessary in several industries, including those of mining and manufacturing, to transport bulk material from one location to another. In mining, it may be sand or gravel. In manufacturing, it may be powdered chemicals\cite{protogerakisInterview2022}.
|
It is necessary in several industries \cite{protogerakisInterview2022}, including those of mining and manufacturing, to transport bulk material from one location to another. In mining, it may be sand or gravel. In manufacturing, it may be powdered chemicals.
|
||||||
|
|
||||||
The transportation of this bulk material typically involves the use of a conveyor belt. These conveyors are specifically designed for the efficient transport of bulk material.
|
The transportation of this bulk material typically involves the use of a conveyor belt. These conveyors are specifically designed for the efficient transport of bulk material.
|
||||||
|
|
||||||
@ -18,6 +18,14 @@ This transportation of bulk material flow introduces the need to accurately meas
|
|||||||
|
|
||||||
The conventional method of measuring bulk material flow in use in the industry today is the electronic belt scale---as shown in \autoref{fig:beltscale}. These scales use load cells to translate compression and tension into electrical signals. These signals representing weight may then be converted into measurements of volume.
|
The conventional method of measuring bulk material flow in use in the industry today is the electronic belt scale---as shown in \autoref{fig:beltscale}. These scales use load cells to translate compression and tension into electrical signals. These signals representing weight may then be converted into measurements of volume.
|
||||||
|
|
||||||
|
These electronic belt scales are robust and proven in the field. However, there are also downsides with this approach.
|
||||||
|
|
||||||
|
\begin{enumerate}
|
||||||
|
\item High unit costs as well as higher retrofitting costs
|
||||||
|
\item Humidity and moisture content of the material may introduce significant errors which may not be easily compensated
|
||||||
|
\item Vibration from transport and loading introduces noise into the measurements \cite{tomobe2006}
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
\begin{figure}[h]
|
\begin{figure}[h]
|
||||||
\centering
|
\centering
|
||||||
\includegraphics[width=0.75\textwidth]{photographs/beltscale}
|
\includegraphics[width=0.75\textwidth]{photographs/beltscale}
|
||||||
@ -25,14 +33,6 @@ The conventional method of measuring bulk material flow in use in the industry t
|
|||||||
\label{fig:beltscale}
|
\label{fig:beltscale}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
These electronic belt scales are robust and proven in the field. However, there are also downsides with this approach.
|
|
||||||
|
|
||||||
\begin{enumerate}
|
|
||||||
\item High unit costs as well as higher retrofitting costs
|
|
||||||
\item Humidity and moisture content of the material may introduce significant errors which may not be easily compensated
|
|
||||||
\item Vibration from transport and loading introduces noise into the measurements\cite{tomobe2006}
|
|
||||||
\end{enumerate}
|
|
||||||
|
|
||||||
\section{Aims of this Work}\label{sec:aims}
|
\section{Aims of this Work}\label{sec:aims}
|
||||||
|
|
||||||
%\subsection{Research Question}
|
%\subsection{Research Question}
|
||||||
@ -44,7 +44,7 @@ The central \textbf{research question} that is investigated in this work is:
|
|||||||
|
|
||||||
As given by the research question above, one of the central parameters is the question of cost. Since the cost of industrial equipment can be far greater than the cost of commercially available products, studying alternatives becomes attractive.
|
As given by the research question above, one of the central parameters is the question of cost. Since the cost of industrial equipment can be far greater than the cost of commercially available products, studying alternatives becomes attractive.
|
||||||
|
|
||||||
As an example, the cost price of the Intel RealSense L515 used in this project was \euro{380}\footnote{Due to Intel announcing that they are discontinuing their LIDAR sensor series, the price of this particular product has risen up to \euro{570} as of January 2022.}, whereas the SICK LM400 used by Fojtik\cite{fojtik2014} can cost upwards of \euro{4000}\footnote{This price is an aggregate estimate based on multiple online merchants as of January 2022}.
|
As an example, the cost price of the Intel RealSense L515 used in this project was \euro{380}\footnote{Due to Intel announcing that they are discontinuing their LIDAR sensor series, the price of this particular product has risen up to \euro{570} as of January 2022.}, whereas the SICK LM400 used by Fojtik \cite{fojtik2014} can cost upwards of \euro{4000}\footnote{This price is an aggregate estimate based on multiple online merchants as of January 2022}.
|
||||||
|
|
||||||
\subsection{Use of the LIDAR Sensor}
|
\subsection{Use of the LIDAR Sensor}
|
||||||
|
|
||||||
@ -57,8 +57,8 @@ As will be discussed in the following section on design, the LIDAR sensor was se
|
|||||||
Besides fulfilling the research question, the design solution should meet the following criteria as well.
|
Besides fulfilling the research question, the design solution should meet the following criteria as well.
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item \textbf{Industrial Robustness} - The final product should be able to withstand the harsh environments that it would likely be installed in, i.e. in a gravel quarry. This means the product must be adequately housed and protected from the environment, against vibrations and shocks.
|
\item \textbf{Industrial Robustness} - The final product should be able to withstand the harsh environments that it would likely be installed in, i.e.\ in a gravel quarry. This means the product must be adequately housed and protected from the environment, against vibrations and shocks.
|
||||||
\item \textbf{Industrial Connectivity} - The product should be able to interface with existing industrial networks, i.e. using Industrial Ethernet.
|
\item \textbf{Industrial Connectivity} - The product should be able to interface with existing industrial networks, i.e.\ using Industrial Ethernet.
|
||||||
\item \textbf{Real-Time Ability} - The product should ideally deliver values in Real-Time through the required interface. This means not only a high enough data resolution but also high determinism.
|
\item \textbf{Real-Time Ability} - The product should ideally deliver values in Real-Time through the required interface. This means not only a high enough data resolution but also high determinism.
|
||||||
\item \textbf{Remote Control} - The product should be able to be configured and diagnosed remotely, in order to prioritize simplicity of installation and maintenance.
|
\item \textbf{Remote Control} - The product should be able to be configured and diagnosed remotely, in order to prioritize simplicity of installation and maintenance.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
@ -1,16 +1,22 @@
|
|||||||
\chapter{State of the Art}
|
\chapter{State of the Art}
|
||||||
|
|
||||||
The interest in the implementation of optical methods for the purposes of measuring bulk material is not novel. The reasoning is clear: conventional methods are intrusive and costly. A non-contact, non-intrusive approach makes any sort of optical solution to the measurement problem very desirable.
|
The conventional methods of measuring the mass or volume flow of bulk materials \cite{protogerakisInterview2022} are using so-called \textit{belt scales} or \textit{belt weighers}. These typically either employ the gravimetric method or nuclear method in order to determine the mass or volume flow of bulk materials.
|
||||||
|
|
||||||
As early as 1997, Green et al.\ were already experimenting with non-contact methods to calculate mass flow rates. In that time, they resorted to using electrodynamic sensors. These electrodynamic sensors were used to estimate both velocity and concentration, which in turn were used to derive mass flow rates. They also used a cross-correlation method to determine material velocity. Although a far cry from the resolution afforded by contemporary sensors, Green et al.\ and their electrodynamic sensors demonstrated the potential of non-contact sensing for bulk materials.\cite{green1997}
|
As already detailed in \autoref{chap:intro}, gravimetric belt scales use load cells to transform the compression due to the weight of the belt, into electrical signals.
|
||||||
|
|
||||||
In 2014, Fojtik released his paper on using laser scanning to measure the volume of bulk material on a conveyor belt. Fojtik focused on the measurement of wood chips, which required special consideration to the volume fluctuations due to humidity.\cite{fojtik2014}
|
Nuclear belt scales \cite{elias1980} function principally by measuring gamma ray attenuation through the bulk material. While these type of scales have their advantages over the gravimetric conventional method, such as ease-of-installation and calibration, there are also other severe disadvantages. Most importantly, the handling of radioactive products must be carried out by certified personnel. Secondly, the chemical composition of the bulk material must also be homogeneous.
|
||||||
|
|
||||||
Independently, Zeng et al.\ too released their paper on the use of laser scanning for measuring the volume flow of bulk material.\cite{zeng2015} The focus of their paper was using these technologies to increase energy efficiency. In that paper, they claim that non-contact methods of measuring the volume flow of bulk materials increased energy efficiency by up to \SI{30}{\percent} and reduced maintenance costs by up to \SI{20}{\percent}.
|
The interest in the implementation of \textbf{optical methods} for the purposes of measuring bulk material is not novel. The reasoning is clear: conventional methods are intrusive and costly. A non-contact, non-intrusive approach makes any sort of optical solution to the measurement problem very desirable.
|
||||||
|
|
||||||
|
As early as 1997, Green et al.\ \cite{green1997} were already experimenting with non-contact methods to calculate mass flow rates. In that time, they resorted to using electrodynamic sensors. These electrodynamic sensors were used to estimate both velocity and concentration, which in turn were used to derive mass flow rates. They also used a cross-correlation method to determine material velocity. Although a far cry from the resolution afforded by contemporary sensors, Green et al.\ and their electrodynamic sensors demonstrated the potential of non-contact sensing for bulk materials.
|
||||||
|
|
||||||
|
In 2014, Fojtik \cite{fojtik2014} released his paper on using laser scanning to measure the volume of bulk material on a conveyor belt. Fojtik focused on the measurement of wood chips, which required special consideration to the volume fluctuations due to humidity.
|
||||||
|
|
||||||
|
Independently, Zeng et al.\ \cite{zeng2015} too released their paper on the use of laser scanning for measuring the volume flow of bulk material. The focus of their paper was using these technologies to increase energy efficiency. In that paper, they claim that non-contact methods of measuring the volume flow of bulk materials increased energy efficiency by up to \SI{30}{\percent} and reduced maintenance costs by up to \SI{20}{\percent}.
|
||||||
|
|
||||||
Although they differed slightly in their precise approaches, both Fojtik and Zeng et al.\ used the same fundamental principle to determine volume flow, namely the derivation of the cross-sectional area of material based on the difference between an empty and laden belt. Both of them also are similar in their use of SICK LMS industrial laser scanners.
|
Although they differed slightly in their precise approaches, both Fojtik and Zeng et al.\ used the same fundamental principle to determine volume flow, namely the derivation of the cross-sectional area of material based on the difference between an empty and laden belt. Both of them also are similar in their use of SICK LMS industrial laser scanners.
|
||||||
|
|
||||||
Both Min et al.\ in 2020\cite{min2020}, and Qiao et al.\ in 2021\cite{qiao2022} too have published their analyses and results on solving this problem. They both take novel approaches, however, using not only laser scanning but a hybrid solution involving regular optical imaging to supplement the analysis of the material surface. They both also attempt to implement more advanced mathematical models, using 3D reconstruction and neural networks.
|
Both Min et al.\ in 2020 \cite{min2020}, and Qiao et al.\ in 2021 \cite{qiao2022} too have published their analyses and results on solving this problem. They both take novel approaches, however, using not only laser scanning but a hybrid solution involving regular optical imaging to supplement the analysis of the material surface. They both also attempt to implement more advanced mathematical models, using 3D reconstruction and neural networks.
|
||||||
|
|
||||||
As shown by the papers above, this work is not novel in its use of optical methods to solve the problem of measuring bulk material volume flow. This project does set itself apart, however, by
|
As shown by the papers above, this work is not novel in its use of optical methods to solve the problem of measuring bulk material volume flow. This project does set itself apart, however, by
|
||||||
\begin{enumerate*}[label=\alph*)]
|
\begin{enumerate*}[label=\alph*)]
|
||||||
|
@ -12,7 +12,7 @@ The analysis of volume flow can be broken down into two fundamental operations t
|
|||||||
|
|
||||||
The methodology used in order to analyze the cross-sectional area of the material flow is \textbf{geometric analysis}. Simply put, the geometry of a laden belt is compared with that of an empty belt. The resulting difference in area is that of the material itself.
|
The methodology used in order to analyze the cross-sectional area of the material flow is \textbf{geometric analysis}. Simply put, the geometry of a laden belt is compared with that of an empty belt. The resulting difference in area is that of the material itself.
|
||||||
|
|
||||||
In order to accomplish this analysis, a horizontal slice of the sensor data is used---see \autoref{fig:conveyor_top}. The slice represents the depth data of a single dimension, in this case, the crosswise dimension of the belt.
|
As shown in \autoref{fig:conveyor_top}, the LIDAR sensor returns a 2-dimensional image with the value of each pixel representing depth data. This 2-dimensional image can then be separated into slices. A slice represents the depth data of a single dimension, in this case, the crosswise dimension of the belt.
|
||||||
|
|
||||||
\begin{figure}[h]
|
\begin{figure}[h]
|
||||||
\centering
|
\centering
|
||||||
@ -39,14 +39,18 @@ After calibration, the current slice curve $g(x)$ can be used to obtain the Cros
|
|||||||
\subsubsection{Further Considerations}
|
\subsubsection{Further Considerations}
|
||||||
The accuracy of the computed cross-sectional area depends primarily on the accuracy of the depth data as well the frame rate of the sensor.
|
The accuracy of the computed cross-sectional area depends primarily on the accuracy of the depth data as well the frame rate of the sensor.
|
||||||
|
|
||||||
|
\begin{minipage}{\textwidth}
|
||||||
However, further operations may be implemented in order to increase accuracy, such as:
|
However, further operations may be implemented in order to increase accuracy, such as:
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Computing the cross-sectional area from multiple slices of each frame and averaging these
|
\item Computing the cross-sectional area from multiple slices of each frame and averaging these
|
||||||
\item Computing the average cross-sectional area between frames, in order to create a smoother---and possibly more accurate---estimation of the volume flow
|
\item Computing the average cross-sectional area between frames, in order to create a smoother---and possibly more accurate---estimation of the volume flow
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
\end{minipage}
|
||||||
|
|
||||||
It is important to note though, that the implementation of further operations may exhaust the processing capabilities of the platform. Therefore, a crucial balance must be struck between performance and accuracy.
|
It is important to note though, that the implementation of further operations may exhaust the processing capabilities of the platform. Therefore, a crucial balance must be struck between performance and accuracy.
|
||||||
|
|
||||||
|
Furthermore, this method of estimating the cross-sectional area does not take into account the warping of the belt when it is laden with material. This algorithm operates under the assumption that the error introduced by warping is negligible. This error can further be reduced by placing the sensor strategically over sections of the belt which are supported by struts. The ability to re-calibrate the belt curve $f(x)$ regularly will also help reducing this error.
|
||||||
|
|
||||||
\subsection{Belt Velocity}
|
\subsection{Belt Velocity}
|
||||||
Conventional belt scales use some form of a rotary encoder in order to measure the belt velocity. This is---however accurate---only an approximation of the velocity of the material flow itself, since material velocity may deviate from belt velocity depending on environmental or material conditions.
|
Conventional belt scales use some form of a rotary encoder in order to measure the belt velocity. This is---however accurate---only an approximation of the velocity of the material flow itself, since material velocity may deviate from belt velocity depending on environmental or material conditions.
|
||||||
|
|
||||||
@ -138,10 +142,10 @@ Setting up the development environment for this project was a non-trivial task,
|
|||||||
The Raspberry Pi 4 Model B used in this project was delivered with a Quad Core Cortex-A72 64-bit SOC. However, a 32-bit kernel OS was used in this project, due to the netHAT drivers being delivered as 32-bit compiled binaries.
|
The Raspberry Pi 4 Model B used in this project was delivered with a Quad Core Cortex-A72 64-bit SOC. However, a 32-bit kernel OS was used in this project, due to the netHAT drivers being delivered as 32-bit compiled binaries.
|
||||||
|
|
||||||
\subsubsection{Intel RealSense SDK}
|
\subsubsection{Intel RealSense SDK}
|
||||||
The Intel RealSense SDK, or librealsense, is a cross-platform library provided by Intel for use with their RealSense devices. Pre-compiled binaries for 32-bit ARM were not provided, and therefore must be compiled\cite{realsense_git}.
|
The Intel RealSense SDK, or librealsense, is a cross-platform library provided by Intel for use with their RealSense devices. Pre-compiled binaries for 32-bit ARM were not provided, and therefore must be compiled \cite{realsense_git}.
|
||||||
|
|
||||||
\subsubsection{ZeroMQ}
|
\subsubsection{ZeroMQ}
|
||||||
ZeroMQ is a lightweight asynchronous messaging library that extends the traditional socket interfaces\cite{zeromq_git}. In this project, ZeroMQ was used in order to:
|
ZeroMQ is a lightweight asynchronous messaging library that extends the traditional socket interfaces \cite{zeromq_git}. In this project, ZeroMQ was used in order to:
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Broadcast raw sensor data to remote controllers using a publish/subscribe model
|
\item Broadcast raw sensor data to remote controllers using a publish/subscribe model
|
||||||
\item Exchange configuration parameters between the remote controller and the local processor using a request/reply model
|
\item Exchange configuration parameters between the remote controller and the local processor using a request/reply model
|
||||||
@ -159,12 +163,12 @@ ZeroMQ was chosen to provide the aforementioned functionalities for the followin
|
|||||||
\subsubsection{Real-Time Kernel Patch}
|
\subsubsection{Real-Time Kernel Patch}
|
||||||
Traditionally, the Linux kernel only allows one process to preempt another process in specific circumstances. This means, that even a high-priority thread may not preempt kernel code until the kernel explicitly yields control.
|
Traditionally, the Linux kernel only allows one process to preempt another process in specific circumstances. This means, that even a high-priority thread may not preempt kernel code until the kernel explicitly yields control.
|
||||||
|
|
||||||
This is particularly disadvantageous for any operations requiring real-time performance. In order to circumvent this, the \verb|CONFIG_PREEMPT_RT| Kernel Patch is used in order to allow kernel code to be preempted\cite{rtwiki}.
|
This is particularly disadvantageous for any operations requiring real-time performance. In order to circumvent this, the \verb|CONFIG_PREEMPT_RT| Kernel Patch is used in order to allow kernel code to be preempted \cite{rtwiki}.
|
||||||
|
|
||||||
In the case of this project, this means that the local processor can process and deliver data in a more deterministic fashion.
|
In the case of this project, this means that the local processor can process and deliver data in a more deterministic fashion.
|
||||||
|
|
||||||
\subsubsection{GUI with Qt}
|
\subsubsection{GUI with Qt}
|
||||||
The Qt GUI framework was used in order to create a GUI for the remote controller. This allowed for the sensor data to be more easily calibrated and aligned, as well as providing a consistent interface for end-user configuration. Qt was chosen for its ease of use, as well as its ability to be compiled cross-platform\cite{qtWebsite}.
|
The Qt GUI framework \cite{qtWebsite} was used in order to create a GUI for the remote controller. This allowed for the sensor data to be more easily calibrated and aligned, as well as providing a consistent interface for end-user configuration. Qt was chosen for its ease of use, as well as its ability to be compiled cross-platform.
|
||||||
|
|
||||||
\subsection{Development of Main Functionality}
|
\subsection{Development of Main Functionality}
|
||||||
At this stage of the design process, the functionality that is fundamental to the principle operation described earlier was developed. These functions include:
|
At this stage of the design process, the functionality that is fundamental to the principle operation described earlier was developed. These functions include:
|
||||||
@ -208,7 +212,7 @@ The cost for each of these components are listed at the end of this section in \
|
|||||||
|
|
||||||
The Raspberry Pi was chosen as the computation platform primarily for its widespread use in IoT and IIoT, low cost and commercial availability. It also supports the Linux kernel and operating system which greatly eases the software development and deployment process.
|
The Raspberry Pi was chosen as the computation platform primarily for its widespread use in IoT and IIoT, low cost and commercial availability. It also supports the Linux kernel and operating system which greatly eases the software development and deployment process.
|
||||||
|
|
||||||
As shown in \autoref{tab:rpi}, the Quad-Core ARM processor as well as 2GB memory capacity provide ample performance for the intended computation. The wireless networking capability of the Raspberry Pi makes it an ideal candidate for an IoT product.
|
As shown in \autoref{tab:rpi}, the Quad-Core ARM processor as well as 2 GB memory capacity provide ample performance for the intended computation. The wireless networking capability of the Raspberry Pi makes it an ideal candidate for an IoT product.
|
||||||
|
|
||||||
\begin{table}[H]
|
\begin{table}[H]
|
||||||
\centering
|
\centering
|
||||||
@ -231,7 +235,7 @@ Storage & Micro-SD card slot \\
|
|||||||
Operational Temperature & \SI{0}{\celsius} to \SI{50}{\celsius} \\
|
Operational Temperature & \SI{0}{\celsius} to \SI{50}{\celsius} \\
|
||||||
\hline
|
\hline
|
||||||
\end{tabularx}
|
\end{tabularx}
|
||||||
\caption{The relevant technical specifications of the Raspberry Pi 4 Model B used in this project\cite{rpiSpecs}.}
|
\caption{The relevant technical specifications of the Raspberry Pi 4 Model B used in this project \cite{rpiSpecs}.}
|
||||||
\label{tab:rpi}
|
\label{tab:rpi}
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
@ -270,7 +274,7 @@ The Intel Realsense L515 was also chosen primarily for its low cost. However, th
|
|||||||
\multicolumn{1}{|c|}{} & \multicolumn{2}{c|}{2x M3 Mounting Point}\\
|
\multicolumn{1}{|c|}{} & \multicolumn{2}{c|}{2x M3 Mounting Point}\\
|
||||||
\hline
|
\hline
|
||||||
\end{tabularx}
|
\end{tabularx}
|
||||||
\caption{The relevant technical specifications of the Intel RealSense L515 used in this project\cite{realsenseDatasheet}.}
|
\caption{The relevant technical specifications of the Intel RealSense L515 used in this project \cite{realsenseDatasheet}.}
|
||||||
\label{table:l515}
|
\label{table:l515}
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
@ -290,7 +294,7 @@ Memory & 4MB Quad SPI Flash \\ \hline
|
|||||||
Interface & SPI up to 125MHz \\ \hline
|
Interface & SPI up to 125MHz \\ \hline
|
||||||
Network & 2x Ethernet 100 BASE-TX \\ \hline
|
Network & 2x Ethernet 100 BASE-TX \\ \hline
|
||||||
\end{tabularx}
|
\end{tabularx}
|
||||||
\caption{The relevant technical specifications of the Hilscher netHat\cite{nethatHilscher}.}
|
\caption{The relevant technical specifications of the Hilscher netHat \cite{nethatHilscher}.}
|
||||||
\label{table:nethat}
|
\label{table:nethat}
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
@ -332,7 +336,7 @@ While \autoref{fig:processoverview} gives a brief overview of the interrelations
|
|||||||
|
|
||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
|
|
||||||
\begin{figure}[h]
|
\begin{figure}[H]
|
||||||
\centering
|
\centering
|
||||||
\includegraphics[width=0.8\textwidth]{./design/ProcessOverview}
|
\includegraphics[width=0.8\textwidth]{./design/ProcessOverview}
|
||||||
\caption{Overview of the communication and processing process between the remote controller and the local processor.}
|
\caption{Overview of the communication and processing process between the remote controller and the local processor.}
|
||||||
@ -357,9 +361,9 @@ The software architecture developed in this project---see \autoref{fig:SoftwareA
|
|||||||
\subsection{Development Language Choice}
|
\subsection{Development Language Choice}
|
||||||
The software is written in \cpp\ for compatibility and performance reasons. All the device drivers provide libraries in either \clang\ or \cpp, while some drivers such as the library for the netHAT---called CIFX---are only provided in \clang.
|
The software is written in \cpp\ for compatibility and performance reasons. All the device drivers provide libraries in either \clang\ or \cpp, while some drivers such as the library for the netHAT---called CIFX---are only provided in \clang.
|
||||||
|
|
||||||
The topic of performance between languages and systems is one of heated debate, however \cpp\ was chosen for this project due to the ability to program comfortably in a higher-level language, while having the ability to \textit{\enquote{drop down}} into \clang. The \clang\ Programming Language is often the benchmark for higher-level programming languages when programming for Real-Time Systems due to its predictability and the ability to run operations with few layers of abstraction on memory directly\cite{pizlo2010}.
|
The topic of performance between languages and systems is one of heated debate, however \cpp\ was chosen for this project due to the ability to program comfortably in a higher-level language, while having the ability to \textit{\enquote{drop down}} into \clang. The \clang\ Programming Language is often the benchmark for higher-level programming languages when programming for Real-Time Systems due to its predictability and the ability to run operations with few layers of abstraction on memory directly \cite{pizlo2010}.
|
||||||
|
|
||||||
Furthermore, since the scale of the processing unit of the program is relatively small, the benefits that come from using a higher-level programming language---such as increased productivity, organization, and re-usability\cite{pizlo2010}---are not strictly necessary.
|
Furthermore, since the scale of the processing unit of the program is relatively small, the benefits that come from using a higher-level programming language---such as increased productivity, organization, and re-usability \cite{pizlo2010}---are not strictly necessary.
|
||||||
|
|
||||||
As shown in \autoref{fig:processinglib}, the main functionality of the processing unit includes:
|
As shown in \autoref{fig:processinglib}, the main functionality of the processing unit includes:
|
||||||
|
|
||||||
|
@ -79,7 +79,7 @@ Object Cross-Sectional Area & Uncertainty \\ \hline
|
|||||||
\SI{20}{\milli\meter\squared} & \SI{10}{\percent} \\
|
\SI{20}{\milli\meter\squared} & \SI{10}{\percent} \\
|
||||||
\SI{120}{\milli\meter\squared} & \SI{4}{\percent} \\ \hline
|
\SI{120}{\milli\meter\squared} & \SI{4}{\percent} \\ \hline
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\caption{Uncertainty of Cross-Sectional Area measurement for different sized objects}\label{table:cross_uncertainty}
|
\caption{Uncertainty of Cross-Sectional Area measurement for different sized objects.}\label{table:cross_uncertainty}
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
As shown in \autoref{table:cross_uncertainty}, measurements of the miniature cars---with cross-sectional areas of \SI{20}{\milli\meter\squared}---had a relatively high uncertainty of around \SI{10}{\percent}. The uncertainty was reduced to \SI{4}{\percent} when using a cardboard box of a larger size. This however, is to be expected according to the specified uncertainty of the LIDAR sensor at \SI{1}{\meter}.
|
As shown in \autoref{table:cross_uncertainty}, measurements of the miniature cars---with cross-sectional areas of \SI{20}{\milli\meter\squared}---had a relatively high uncertainty of around \SI{10}{\percent}. The uncertainty was reduced to \SI{4}{\percent} when using a cardboard box of a larger size. This however, is to be expected according to the specified uncertainty of the LIDAR sensor at \SI{1}{\meter}.
|
||||||
|
@ -7,9 +7,11 @@ A breakdown of the various factors that determine the suitability of the impleme
|
|||||||
|
|
||||||
\item[Sensor Suitability] \hfill \\ The wavelength of the infrared laser used in this project of \SI{860}{\nano\meter} was shown to be unsuitable for use with the conveyor belt during the on-site testing. This is most likely due to the absorption spectrum of the belt material that had very low reflectivity at this infrared wavelength. The similarly black colored belt used in laboratory testing however was visible to the LIDAR sensor. A further study of belt materials commonly deployed in the field is necessary.
|
\item[Sensor Suitability] \hfill \\ The wavelength of the infrared laser used in this project of \SI{860}{\nano\meter} was shown to be unsuitable for use with the conveyor belt during the on-site testing. This is most likely due to the absorption spectrum of the belt material that had very low reflectivity at this infrared wavelength. The similarly black colored belt used in laboratory testing however was visible to the LIDAR sensor. A further study of belt materials commonly deployed in the field is necessary.
|
||||||
|
|
||||||
|
The Intel RealSense L515 Sensor was designed for indoor use and therefore has no vibration certification or waterproofing certification. Either a housing must be designed to adequately protect sensor, or another sensor with appropriate ratings must be used instead.
|
||||||
|
|
||||||
\item[Temperature Suitability] \hfill \\ On the higher end of the temperature range, the LIDAR sensor used in this project is the limiting factor. The maximum temperature of \SI{30}{\celsius} is easily exceeded in particularly hot weather or even in direct sunlight. Design of the housing must account for adequate cooling, as well as reflectivity, should the system be deployed in view of direct sunlight.
|
\item[Temperature Suitability] \hfill \\ On the higher end of the temperature range, the LIDAR sensor used in this project is the limiting factor. The maximum temperature of \SI{30}{\celsius} is easily exceeded in particularly hot weather or even in direct sunlight. Design of the housing must account for adequate cooling, as well as reflectivity, should the system be deployed in view of direct sunlight.
|
||||||
|
|
||||||
\item[Hardware Suitability] \hfill \\ The Raspberry Pi provided sufficient processing power in order to develop, test and deploy the prototype software. The flexibility of the Linux platform also grants sufficient flexibility in order to easily add further functionality---i.e. a web server or other interface---or modify existing functionality.
|
\item[Hardware Suitability] \hfill \\ The Raspberry Pi provided sufficient processing power in order to develop, test and deploy the prototype software. The flexibility of the Linux platform also grants sufficient flexibility in order to easily add further functionality---i.e.\ a web server or other interface---or modify existing functionality.
|
||||||
|
|
||||||
The netHAT was also shown to be performant and stable during testing. Combined with the Raspberry Pi, it provides a low cost platform to bring IoT to Industrial Networking.
|
The netHAT was also shown to be performant and stable during testing. Combined with the Raspberry Pi, it provides a low cost platform to bring IoT to Industrial Networking.
|
||||||
|
|
||||||
@ -19,7 +21,9 @@ The netHAT was also shown to be performant and stable during testing. Combined w
|
|||||||
|
|
||||||
\item[Cost Suitability] \hfill \\ At a development cost of just under \euro{600}---even at a profit margin of \SI{500}{\percent}---the system is still able to remain competitive with conventional systems in use in the industry today\footnote{See \autoref{table:cost}}.
|
\item[Cost Suitability] \hfill \\ At a development cost of just under \euro{600}---even at a profit margin of \SI{500}{\percent}---the system is still able to remain competitive with conventional systems in use in the industry today\footnote{See \autoref{table:cost}}.
|
||||||
|
|
||||||
\item[Housing Suitability] \hfill \\ The housing designed for the field-testing stage of this project is only suitable as a prototype. A more robust housing must be developed out of more durable materials, and account for weather and vibration.
|
\item[Housing Suitability] \hfill \\ The housing designed for the field-testing stage of this project is only suitable as a prototype. A more robust housing must be developed out of more durable materials, and account for weather and vibration.
|
||||||
|
|
||||||
|
|
||||||
\end{description}
|
\end{description}
|
||||||
|
|
||||||
\section{Project Status and Feasibility}
|
\section{Project Status and Feasibility}
|
||||||
@ -36,6 +40,6 @@ One or two more iterations of development are required in order to fully realize
|
|||||||
|
|
||||||
The issues at this stage are only that of signal acquisition and signal pre-processing. The field-testing has shown that the expectation of the signal was slightly different from reality due to the optical properties of the conveyor belt. New methods and operations need to be developed to circumvent these issues.
|
The issues at this stage are only that of signal acquisition and signal pre-processing. The field-testing has shown that the expectation of the signal was slightly different from reality due to the optical properties of the conveyor belt. New methods and operations need to be developed to circumvent these issues.
|
||||||
|
|
||||||
Once these signal issues have been overcome, all that remains is testing the system for accuracy, stability and robustness. Future work must deal with the questions of environment-proofing and housing.
|
Once these signal issues have been overcome, all that remains is testing the system for accuracy, stability and robustness. For example, stability of the measurements may be impacted by vibration. Therefore, suitable software additions must be made to filter out such vibrations, should they introduce significant error. Future work must deal with these questions of environment-proofing and housing.
|
||||||
|
|
||||||
In order to study the commercial viability of this product to its end, future work must also investigate the potential sourcing and supply chains of the hardware used. As mentioned earlier in this work, the RealSense L515 has been discontinued, and other suitable hardware must be sourced and integrated.
|
In order to study the commercial viability of this product to its end, future work must also investigate the potential sourcing and supply chains of the hardware used. As mentioned earlier in this work, the RealSense L515 has been discontinued, and other suitable hardware must be sourced and integrated.
|
||||||
|
3
dict.txt
@ -7,4 +7,5 @@ FlowPi
|
|||||||
CIFX
|
CIFX
|
||||||
PhoenixContact
|
PhoenixContact
|
||||||
PLCNext
|
PLCNext
|
||||||
|
Nareshkumar
|
||||||
|
Rao
|
||||||
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 47 KiB |
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 75 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 35 KiB |
@ -1,4 +1,20 @@
|
|||||||
|
|
||||||
|
@article{elias1980,
|
||||||
|
title = {Accuracy and Performance Analysis of a Nuclear Belt Weigher},
|
||||||
|
author = {Elias, E. and Pieters, W. and Yom-tov, Z.},
|
||||||
|
date = {1980-12-01},
|
||||||
|
journaltitle = {Nuclear Instruments and Methods},
|
||||||
|
shortjournal = {Nuclear Instruments and Methods},
|
||||||
|
volume = {178},
|
||||||
|
number = {1},
|
||||||
|
pages = {109--115},
|
||||||
|
issn = {0029-554X},
|
||||||
|
doi = {10.1016/0029-554X(80)90863-0},
|
||||||
|
abstract = {Nuclear belt weighers have a broad range of applications in the solid particle industry. This work analyzes the accuracy and sensitivity of nuclear weighers for a wide range of operational conditions and design parameters. The problem of the effect of material profile and bulk density variations on the scale performance is quantitatively addressed. A new methodology is developed to calculate the minimum detectable load accounting for both accuracy and sensitivity. Accuracies of less than 1\% can be achieved in some ideal situations by proper design of the source length and geometrical configuration.},
|
||||||
|
langid = {english},
|
||||||
|
file = {/home/naresh/Zotero/storage/5MYVCG6T/Elias et al. - 1980 - Accuracy and performance analysis of a nuclear bel.pdf;/home/naresh/Zotero/storage/9HHFBGPZ/0029554X80908630.html}
|
||||||
|
}
|
||||||
|
|
||||||
@inproceedings{fojtik2014,
|
@inproceedings{fojtik2014,
|
||||||
title = {Measurement of the Volume of Material on the {{Conveyor Belt}} Measuring of the Volume of Wood Chips during Transport on the {{Conveyor Belt}} Using a Laser Scanning},
|
title = {Measurement of the Volume of Material on the {{Conveyor Belt}} Measuring of the Volume of Wood Chips during Transport on the {{Conveyor Belt}} Using a Laser Scanning},
|
||||||
booktitle = {Proceedings of the 2014 15th {{International Carpathian Control Conference}} ({{ICCC}})},
|
booktitle = {Proceedings of the 2014 15th {{International Carpathian Control Conference}} ({{ICCC}})},
|
||||||
|