first draft
2
.gitignore
vendored
@ -262,3 +262,5 @@ TSWLatexianTemp*
|
||||
|
||||
# standalone packages
|
||||
*.sta
|
||||
|
||||
report.html
|
||||
|
3
.textidote
Normal file
@ -0,0 +1,3 @@
|
||||
--output html
|
||||
--dict dico.txt
|
||||
--check en Main.tex
|
@ -3,6 +3,7 @@
|
||||
\vspace*{1cm}
|
||||
\begin{Huge}
|
||||
\textbf{Measuring Bulk Material Flow using Commercially-Available LIDAR Sensors}\par
|
||||
\textbf{---First Draft---}\par
|
||||
\end{Huge}
|
||||
\vfill
|
||||
\large
|
||||
|
@ -1,107 +1,102 @@
|
||||
\chapter{Introduction}
|
||||
\chapter{Introduction}\label{chap:intro}
|
||||
|
||||
\section{Motivation}
|
||||
|
||||
\subsection{Transportation of Bulk Material}
|
||||
|
||||
It is necessary in several industries, including those of mining and manufacturing, to transport bulk material from one on-site location to another. In mining, it may be sand or gravel. In manufacturing, it may be powdered chemicals.
|
||||
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}.
|
||||
|
||||
The transportation of this bulk material typically involves the use of a belt conveyor. These belt conveyors are designed especially with the purpose of containing bulk material, as well as applying the necessary forces to transport them.
|
||||
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.
|
||||
|
||||
\subsection{Measuring Bulk Material Flow}
|
||||
|
||||
\begin{wrapfigure}[10]{R}{0.4\textwidth}
|
||||
\begin{wrapfigure}[12]{R}{0.5\textwidth}
|
||||
\centering
|
||||
\includegraphics[width=0.4\textwidth]{beltscale}
|
||||
\caption{A conventional electronic belt scale. Source: \url{https://www.mts-waagen.de/}}
|
||||
\includegraphics[width=0.45\textwidth]{photographs/beltscale}
|
||||
\caption{A conventional electronic belt scale.}
|
||||
\end{wrapfigure}
|
||||
|
||||
This transportation of bulk material flow introduces challenges into the processing engineering and automation ability of the facility. This work deals with the specific challenge of measuring bulk material flow on a conveyor.
|
||||
|
||||
Possessing this information is important for the proper control and regulation of the conveyor system, as well as for safety functions. Knowing when a belt is overloaded, running empty, or broken may prevent damage to people and machinery.
|
||||
This transportation of bulk material flow introduces the need to accurately measure the rate at which the material is flowing. This is essential for various tasks such as keeping track of inventory or for control systems. Knowing when a belt is overloaded, running empty or broken is also an important safety concern. This work deals with the specific challenge of measuring bulk material flow on a conveyor.
|
||||
|
||||
\subsection{Conventional Belt Scales}
|
||||
|
||||
The conventional method of measuring bulk material flow in use in the industry today the electronic belt scale. These scales use load cells to translate compression and tension into electrical signals. These signals representing weight may be 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. 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.
|
||||
|
||||
Firstly, the retrofitting of these belt scales are difficult and costly. \todo{add more info}
|
||||
|
||||
Secondly, the cost of the units themselves are high, not including the necessary maintenance and servicing these units require. \todo{add cost examples}
|
||||
|
||||
Other specialized methods for measuring material flow, such as using a radiation based sensor, are not considered here, as they require highly-skilled personnel to design, develop, deploy and maintain.
|
||||
\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}
|
||||
|
||||
\subsection{Research Question}
|
||||
The central research question that is investigated in this work is the following:
|
||||
%\subsection{Research Question}
|
||||
The central \textbf{research question} that is investigated in this work is:
|
||||
|
||||
\textit{How can a cheaper and easier to install measurement system for bulk material flow on a conveyor belt be designed?}
|
||||
|
||||
\subsection{Use of Commercially-Available Products}
|
||||
\subsection{Use of Commercially-Available Products}\label{sec:useOfCommerciallyAvailableProducts}
|
||||
|
||||
As given by the research question above, one of the central requirements of the research question is a question of cost.
|
||||
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 many multiples of the cost of commercially available products, studying alternatives becomes attractive.
|
||||
|
||||
In order to reduce the costs of development, as well as to keep unit cost price low, this work strives to use commercially available products wherever suitable.
|
||||
As an example, the cost price of the Intel RealSense L515 used in this project was €380\footnote{Due to Intel announcing that they are discontinuing their LIDAR sensor series, the price of this particular product has risen up to €570 as of January 2022.}, whereas the SICK LM400 used by Fojtik\cite{fojtik2014} can cost upwards of €4000\footnote{This price is an aggregate estimate based on multiple online merchants as of January 2022}.
|
||||
|
||||
\subsection{Use of the LIDAR Sensor}
|
||||
|
||||
The usage of the LIDAR sensor was implemented in order to fulfill the second requirement of the research question, namely that the solution must be easier to install, than other conventional solutions.
|
||||
The usage of the LIDAR sensor was implemented in order to fulfill the second requirement of the research question, namely that the solution must be easier to install than other conventional solutions.
|
||||
|
||||
As is discussed in the following section on design, the LIDAR sensor was selected primarily because it is a contact-less sensor. This means that installation can be carried out with little to no adjustments to the existing conveyor belt system. The LIDAR sensor must simply be suitably positioned in order to gather and deliver data.
|
||||
As is discussed in the following section on design, the LIDAR sensor was selected primarily because it is a contactless sensor. This means that installation can be carried out with little to no adjustments to the existing conveyor belt system. The LIDAR sensor must simply be suitably positioned in order to gather and deliver data.
|
||||
|
||||
\subsection{Requirements \& Restrictions}
|
||||
|
||||
Besides fulfilling the research question, the design solution should ideally fulfill the following restrictions and requirements as well.
|
||||
Besides fulfilling the research question, the design solution should fulfill the following restrictions and requirements as well.
|
||||
|
||||
\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 pit. 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{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 a high determinism.
|
||||
\end{itemize}
|
||||
|
||||
Although not strictly necessary, a significant benefit would be:
|
||||
\begin{itemize}
|
||||
\item \textbf{Remote Control} - The product should be able to be configure and diagnosed remotely, in order to prioritize simplicity of installation and maintenance.
|
||||
\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.
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Conception of the Design}
|
||||
|
||||
Analysis of the research question as well as the other requirements have led us to use the following components to build the final product.
|
||||
Analysis of the research question as well as the other requirements have led to the use of the following components to build the final product.
|
||||
\begin{itemize}
|
||||
\item \textbf{Raspberry Pi 4B} - Provides a low-cost platform with a Linux kernel and OS for processing data
|
||||
\item \textbf{Raspberry Pi 4 Model B} - Provides a low-cost platform with a Linux kernel and OS for processing data
|
||||
\item \textbf{netHAT} - A HAT format extension module for the Raspberry Pi that provides Industrial Ethernet capabilities
|
||||
\item \textbf{Intel RealSense L515 LIDAR Sensor} - Commercially available LIDAR sensor unit, compatible with the Pi
|
||||
\end{itemize}
|
||||
|
||||
More details on each of these components are provided in \autoref{sec:componenets}.
|
||||
|
||||
\section{Approach}
|
||||
The following lays out an overview of the steps taken in order to realize the final product of this project. For more details on the specifics of the steps, please see \autoref{chap:design}.
|
||||
The following is a layout of the steps taken in order to realize the final product of this project. For more details on the specifics of the steps, see \autoref{chap:design}.
|
||||
|
||||
\subsection{Interfacing with the LIDAR sensor}
|
||||
The initial step of this project was naturally to establish an interface with the sensor itself. This includes:
|
||||
\begin{itemize}
|
||||
\item Preparing the development environment
|
||||
\item Building the necessary libraries and drivers
|
||||
\item Writing basic test software to manipulate sensor data
|
||||
\item Developing a basic test software to manipulate sensor data
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Proof-of-Concept Software}
|
||||
After being able to successfully interface with the sensor, a proof-of-concept software was designed and written. Later, a GUI interface was also added the software to improve ease-of-use. The software was designed to be able to do the following things:
|
||||
After being able to successfully interface with the sensor, a proof-of-concept software was designed and developed. Later, a GUI interface was also added to the software to improve ease-of-use. The software was designed to be able to do the following things:
|
||||
\begin{itemize}
|
||||
\item Remotely acquire the raw sensor data over the network
|
||||
\item Display the raw sensor data in a meaningful way
|
||||
\item Display, calibrate and use the sensor data as a line scanner, with \textbf{instantaneous cross-sectional area} as an output
|
||||
\item Display, calibrate and use the sensor data as a line scanner, with the \textbf{cross-sectional area} as an output
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Laboratory Prototype}
|
||||
Once the proof-of-concept software was stable, the setup was moved into a laboratory environment in order to further develop the main functionalities of the prototype. Among the functionalities that were developed:
|
||||
\begin{itemize}
|
||||
\item Remotely acquire the raw sensor data over the network
|
||||
\item Image preparation (offset, rotation, skew)
|
||||
\item Cross-Correlation methods to determine band speed
|
||||
\item Cross-correlation methods to determine belt velocity
|
||||
\item Profinet interface to deliver processed data
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Field Testing and Refinement}
|
||||
Eventually a staged was reached where development on the prototype in a small-scale laboratory setting was no longer adequate. Development and testing was then continued on-site at a gravel pit in order to validate laboratory results and further refine the software.
|
||||
Eventually, a stage was reached where development on the prototype in a small-scale laboratory setting was no longer adequate. Development and testing were then continued on-site at a gravel quarry in order to validate laboratory results and further refine the software.
|
@ -1 +1,19 @@
|
||||
\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. Being 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.\ were already experimenting with non-contact methods to calculate mass flow rates. In that time, they resorted to using electrodynamic sensors. 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}.
|
||||
|
||||
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}.
|
||||
|
||||
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.
|
||||
|
||||
Although they differed slightly in their precise approaches, both Fojtik and Zeng et al.\ used the same fundamental principle to determining 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.
|
||||
|
||||
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*)]
|
||||
\item focusing on the use of commercially-available hardware
|
||||
\item being an all-in-one solution and not requiring any additional sensory information, such as belt velocity
|
||||
\end{enumerate*}.
|
@ -1,5 +1,119 @@
|
||||
\chapter{Design and Implementation}\label{chap:design}
|
||||
This chapter outlines and further describes in details the design decisions behind the end-product of this project, as well as the specifics on the implementation of the project.
|
||||
This chapter outlines and further describes in detail the design decisions behind the end-product of this project, as well as the specifics on the implementation of the project.
|
||||
|
||||
\section{Principles of Operation}
|
||||
The analysis of volume flow can be broken down into two fundamental operations that must be carried out:
|
||||
\begin{itemize}
|
||||
\item A calculation of the \textbf{cross-sectional area} of a slice (or slices) of material
|
||||
\item A calculation of the \textbf{velocity} of the material flow
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Cross-Sectional Area}
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=0.6\textwidth]{design/cross_analysis_new}
|
||||
\caption{Cross-section of material flow on a conveyor belt.}
|
||||
\label{fig:cross_analysis}
|
||||
\end{figure}
|
||||
|
||||
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. The slice represents the depth data of a single dimension, in this case, the crosswise dimension of the belt.
|
||||
|
||||
During calibration, the empty belt is used to fit the polynomial belt curve $f(x)$. The fitting of this nth-degree polynomial is done with the least-squares method.
|
||||
|
||||
\begin{equation}
|
||||
A_C = \int^{x_b}_{x_a}\left[ g(x) - f(x) \right] dx \label{eq:cross_area}
|
||||
\end{equation}
|
||||
|
||||
|
||||
After calibration, the current slice curve $g(x)$ can be used to obtain the Cross-Sectional Area as shown in \autoref{eq:cross_area}.
|
||||
|
||||
\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.
|
||||
|
||||
However, further operations may be implemented in order to increase accuracy, such as:
|
||||
\begin{itemize}
|
||||
\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
|
||||
\end{itemize}
|
||||
|
||||
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.
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=0.75\textwidth]{design/conveyor_top}
|
||||
\caption{Graphical depiction of the LIDAR sensor image. The slice is a one-dimensional extract of the sensor image crosswise over the belt.}
|
||||
\end{figure}
|
||||
|
||||
\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.
|
||||
|
||||
For the purposes of this project, the term \textit{belt velocity} will be used loosely to describe an indeterminate aggregate of belt, volume and surface velocities. This is because the techniques used in order to determine the velocity---as shown below---are not designed to isolate a single velocity type.
|
||||
|
||||
The fundamental operation being used in the following methods in order to determine the belt velocity is \textbf{cross-correlation}. In essence, a signal is compared to an older version of itself in order to determine a displacement---or in signal terms, a \textit{delay}.
|
||||
|
||||
In the case of this project, given the known interval between two consecutive signals---i.e.\ the frame rate---it is possible to express this delay in the form of a physical displacement, in meters.
|
||||
|
||||
The different analytic methods used in this project differ only by which data is selected to represent the signal during cross-correlation. The algorithm of calculating the cross-correlation itself remains the same.
|
||||
|
||||
\begin{equation}
|
||||
r(d) = \sum_{i=1}^{n} A_i \cdot B_{i+d} \label{eq:cross_corr}
|
||||
\end{equation}
|
||||
|
||||
Equation \ref{eq:cross_corr} shows how the cross-correlation $r$ between two signals $A$ and $B$ of lengths $n$ may be calculated by multiplying each element $i$ together. This is done for each possible delay $d$ value. The maximum value of the correlation $r$ corresponds to the most likely value of $d$.
|
||||
|
||||
\subsubsection{Chosen Method - Statistical Method}
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=0.8\textwidth]{design/conveyor_xcorr}
|
||||
\caption{Representation of the area of interest and vertical strips used for the cross-correlation operations.}
|
||||
\label{fig:conveyor_xcorr}
|
||||
\end{figure}
|
||||
|
||||
This method was developed as an aggregate of the previously attempted methods, improving on and solving issues earlier iterations had. It is therefore simply the most successful iteration.
|
||||
|
||||
The statistical method carries out the following operations:
|
||||
\begin{enumerate}
|
||||
\item A user-provided area of interest is cropped out of the entire sensor frame. This is done to isolate only the most relevant and data-dense regions, as well as to eliminate error from static elements as much as possible.
|
||||
\item This subset of the frame is then divided into one-dimensional vertical strips
|
||||
\item For each of the strips, the cross-correlation displacement is calculated.
|
||||
\item With the of displacement values for each strip, statistical outlier values are removed and a mean displacement is calculated
|
||||
\item This mean displacement in pixels, together with camera frame geometry, is used to calculate the physical displacement in meters.
|
||||
\end{enumerate}
|
||||
|
||||
The use of this statistical approach using multiple vertical strips---see \autoref{fig:conveyor_xcorr}---is very similar to directly using 2-dimensional correlation, however it attempts to solve a significant problem with the 2-dimensional cross-correlation method.
|
||||
|
||||
Since a 2-dimension cross-correlation would simultaneously consider the entire area of interest, any static elements in the frame would highly influence the results of the correlation, causing it to always be close to zero. This introduces a high error and variability in the result.
|
||||
|
||||
This statistical approach allows us to discard outlier values---such as values close to zero---and retain only those slices which do not contain any static elements.
|
||||
|
||||
\subsubsection{Alternative Methods}
|
||||
|
||||
Before arriving at the statistical method described above, multiple iterations of possible methods were tested. In this subsection, two of the most significant alternative methods are described.
|
||||
|
||||
Firstly, as already mentioned above, the \textbf{2-dimensional cross-correlation}. This method produces robust values and is less computationally complex than the statistical approach, however it is significantly more sensitive to static elements. This introduces many challenges since static elements may not be entirely avoided, either on the belt, or on the sensor itself.
|
||||
|
||||
The other alternative method called the \textbf{topographical method} is much less computationally expensive, since it only runs one cycle of the cross-correlation algorithm per frame.
|
||||
|
||||
The topographical approach works in the following manner. The values within each \textbf{crosswise} slice are summed. This reduces the 2-dimensional sensor data into a 1-dimensional representation which is called the \textit{topography}. This topography can be used as the signal for cross-correlation.
|
||||
|
||||
Although this method was robust to signal noise, the uncertainty of the values was due to information being lost in the summation process.
|
||||
|
||||
|
||||
\subsection{Volume Flow}
|
||||
|
||||
Once the cross-sectional area and velocity of the material have been determined, the only operation that remains is to derive from them the volume flow.
|
||||
|
||||
The volume of material that has passed the sensor per frame $V_F$, can be calculated simply as described in Equation \ref{eq:volume_flow}. $A_{C}$ is the cross-sectional area measured in a particular frame, $v_m$ is the velocity of the material flow and $f$ is simply the framerate of the sensor.
|
||||
|
||||
\begin{equation}
|
||||
V_F = A_{C} \cdot v_m \cdot \frac{1}{f} \label{eq:volume_flow}
|
||||
% V_F &= \left( \frac{A_{C,F} + A_{C,F-1}}{2}\right) \cdot v_m \cdot
|
||||
% \frac{1}{f} \label{eq:volavg}
|
||||
\end{equation}
|
||||
|
||||
|
||||
\section{Phases of Development}
|
||||
The following phases of development are not grouped chronologically over the span of the project schedule, rather into conceptual groups.
|
||||
@ -7,45 +121,44 @@ The following phases of development are not grouped chronologically over the spa
|
||||
\subsection{Preparing Development and Build Environment}
|
||||
Setting up the development environment for this project was a non-trivial task, due to a lack of pre-compiled binaries for the intended architecture, the ARM chipset of the Raspberry Pi.
|
||||
|
||||
The Raspberry Pi 4B 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 only 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}
|
||||
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}
|
||||
ZeroMQ is a lightweight asynchronous messaging library which extends the traditional socket interfaces\cite{zeromq_git}. In this project, ZeroMQ is 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}
|
||||
\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
|
||||
\end{itemize}
|
||||
|
||||
In this project, TCP sockets are used for communications.
|
||||
In this project, TCP sockets were used for communications.
|
||||
|
||||
ZeroMQ was chosen to provide the aforementioned functionalities for the following reasons:
|
||||
\begin{itemize}
|
||||
\item Simple to implement
|
||||
\item Data can be transferred as binary data, instead of requiring it to be serialized
|
||||
\item Data can be transferred as binary data, instead of requiring serialization
|
||||
\item Availability on numerous platforms, as well as pre-compiled binaries
|
||||
\end{itemize}
|
||||
|
||||
\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}.
|
||||
|
||||
In the case of this project, this means that the local processor can process and deliver data in a more deterministic fashion\todo{maybe insert some test data here}.
|
||||
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}
|
||||
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 ability to be compiled cross-platform\cite{qtWebsite}.
|
||||
|
||||
\subsection{Main Functionality}
|
||||
This subsection elaborates the fundamental building blocks of the program that are required.
|
||||
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}.
|
||||
|
||||
\subsection{Development of Main Functionality}
|
||||
At this stage of the design process, the functionality that is fundamental to the principle operation described earlier are developed. These functions include:
|
||||
\begin{itemize}
|
||||
\item Transmission of Raw Sensor Data
|
||||
\item Calibration of Sensor Data
|
||||
\item Configuration for Processing
|
||||
\item Transmission of Configuration Parameters
|
||||
\item Transmission of raw sensor data
|
||||
\item Calibration of sensor data
|
||||
\item Configuration for processing
|
||||
\item Transmission of configuration parameters
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Testing and Validation}
|
||||
@ -59,9 +172,9 @@ The iterative cycles can be broken down into:
|
||||
\item Representing the data visually
|
||||
\item Basic manipulation of the sensor data
|
||||
\end{enumerate}
|
||||
\item \textbf{Laboratory Testing:} In the lab, the main features and functionalities of the program could be developed and tested in more controlled, smaller scale. Among the main functionalities:
|
||||
\item \textbf{Laboratory Testing:} In the lab, the main features and functionalities of the program could be developed and tested on a more controlled, smaller scale. Among the main functionalities:
|
||||
\begin{enumerate}
|
||||
\item Development of the processing algorithms, ie. for cross-correlation, determining cross-sectional area
|
||||
\item Development of the processing algorithms, i.e.\ for cross-correlation, determining the cross-sectional area
|
||||
\item Processing of output data
|
||||
\item Establishing and transmitting output data over Profinet
|
||||
\item Tuning performance
|
||||
@ -69,7 +182,93 @@ The iterative cycles can be broken down into:
|
||||
\item \textbf{Field Testing:} At a certain point, development in the laboratory setting could no longer proceed without taking into consideration the environmental and full-scale factors of deployment in the field. Thus, the final iteration of development must be carried out on-site.
|
||||
\end{enumerate}
|
||||
|
||||
See \autoref{chap:validation} for elaboration and details of each of the testing cycles.
|
||||
See \autoref{chap:validation} for elaboration and results of each of the testing cycles.
|
||||
|
||||
\section{Components}\label{sec:componenets}
|
||||
|
||||
\textbf{Raspberry Pi 4 Model B}\nopagebreak
|
||||
\begin{table}[H]
|
||||
\centering
|
||||
\begin{tabularx}{0.75\textwidth}{| c | >{\centering\arraybackslash}X |}
|
||||
\hline
|
||||
Processor & Quad Core Cortex-A72 (ARM v8) 64-Bit \\
|
||||
\hline
|
||||
Memory & 2GB \\
|
||||
\hline
|
||||
\multirow{3}*{Networking} & 2GHz and 5GHz 802.11ac Wireless \\
|
||||
& Bluetooth 5.0 \\
|
||||
& Gigabit Ethernet \\
|
||||
\hline
|
||||
\multirow{3}*{Connectivity} & 2x USB 3.0 \\
|
||||
& 2x USB 2.0 \\
|
||||
& 40 pin GPIO header \\
|
||||
\hline
|
||||
Storage & Micro-SD card slot \\
|
||||
\hline
|
||||
Operational Temperature & \SI{0}{\celsius} to \SI{50}{\celsius} \\
|
||||
\hline
|
||||
\end{tabularx}
|
||||
\caption{The relevant technical specifications of the Raspberry Pi 4 Model B used in this project\cite{rpiSpecs}.}
|
||||
\end{table}
|
||||
|
||||
|
||||
\textbf{Intel RealSense L515}\nopagebreak
|
||||
\begin{table}[H]
|
||||
\centering
|
||||
\begin{tabularx}{0.75\textwidth}{ >{\centering\arraybackslash}X | >{\centering\arraybackslash}X | >{\centering\arraybackslash}X |}
|
||||
\cline{2-3}
|
||||
& Depth & Color\\
|
||||
\hline
|
||||
\multicolumn{1}{|c|}{Resolution} & Up to 1024x768 & Up to 1920x1080\\
|
||||
\hline
|
||||
\multicolumn{1}{|c|}{Field-of-View} & \ang{70}x\ang{55} & \ang{69}x\ang{42} \\
|
||||
\hline
|
||||
\multicolumn{1}{|c|}{Frame Rate} & \multicolumn{2}{c|}{30 Frames per Second}\\
|
||||
\hline
|
||||
\multicolumn{1}{|c|}{ \multirow{2}*{Depth Range} } & \multicolumn{2}{c|}{Up to \SI{3.9}{\meter} at 15\% Reflectivity} \\
|
||||
\multicolumn{1}{|c|}{} & \multicolumn{2}{c|}{Up to \SI{9}{\meter} at 95\% Reflectivity}\\
|
||||
\hline
|
||||
\multicolumn{1}{|c|}{ \multirow{2}*{Depth Accuracy} } & \multicolumn{2}{c|}{\SI{5}{\milli\meter} at \SI{1}{\meter}}\\
|
||||
\multicolumn{1}{|c|}{} & \multicolumn{2}{c|}{\SI{14}{\milli\meter} at \SI{9}{\meter}}\\
|
||||
\hline
|
||||
\multicolumn{1}{|c|}{Laser Wavelength} & \multicolumn{2}{c|}{\SI{860}{\nano\meter} Infrared}\\
|
||||
\hline
|
||||
\multicolumn{1}{|c|}{Power Consumption} & \multicolumn{2}{c|}{Up to \SI{3.3}{\watt}}\\
|
||||
\hline
|
||||
\multicolumn{1}{|c|}{Operational Temperature} & \multicolumn{2}{c|}{\SI{0}{\celsius} to \SI{30}{\celsius}}\\
|
||||
\hline
|
||||
\multicolumn{1}{|c|}{\multirow{2}*{Mounting Options}} & \multicolumn{2}{c|}{ISO1222 Tripod Mounting Point}\\
|
||||
\multicolumn{1}{|c|}{} & \multicolumn{2}{c|}{2x M3 Mounting Point}\\
|
||||
\hline
|
||||
\end{tabularx}
|
||||
\caption{The relevant technical specifications of the Intel RealSense L515 used in this project\cite{realsenseDatasheet}.}
|
||||
\end{table}
|
||||
|
||||
\textbf{netHAT}\nopagebreak
|
||||
\begin{table}[H]
|
||||
\centering
|
||||
\begin{tabularx}{0.75\textwidth}{ | c | >{\centering\arraybackslash}X | } \hline
|
||||
Processor & Hilscher netX 52 \\ \hline
|
||||
Memory & 4MB Quad SPI Flash \\ \hline
|
||||
Interface & SPI up to 125MHz \\ \hline
|
||||
Network & 2x Ethernet 100 BASE-TX \\ \hline
|
||||
\end{tabularx}
|
||||
\caption{The relevant technical specifications of the Hilscher netHat\cite{nethatHilscher}.}
|
||||
\end{table}
|
||||
|
||||
\subsection{Cost Breakdown}
|
||||
\begin{table}[H]
|
||||
\centering
|
||||
\begin{tabular}{| c | c |}
|
||||
\hline
|
||||
Intel RealSense L515 & €380\tablefootnote{The cost has since increased to €570 as of January 2022.}\\ \hline
|
||||
Raspberry Pi Model 4 B & €84 \\ \hline
|
||||
netHAT & €69 \\ \hline
|
||||
\textbf{Total} & \textbf{€553\tablefootnote{Due to a malfunctioning unit, a new sensor was purchased, bringing the total cost of development to around €1120.}} \\ \hline
|
||||
\end{tabular}
|
||||
\caption{Breakdown of the costs used in the development of this project.}
|
||||
\label{table:cost}
|
||||
\end{table}
|
||||
|
||||
\section{Process Overview}
|
||||
\begin{figure}[h]
|
||||
@ -81,21 +280,21 @@ See \autoref{chap:validation} for elaboration and details of each of the testing
|
||||
|
||||
With the objective of creating a marketable commercial product in mind, the process flow was designed for ease-of-use and ease-of-configuration for the end-user. This is the justification for implementing a remote controller that allows the setup to be remotely configured once installed.
|
||||
|
||||
While \autoref{fig:processoverview} gives a brief overview of the inter-relationship of the remote and local sides in the complete process, it is here further elaborated:
|
||||
While \autoref{fig:processoverview} gives a brief overview of the interrelationship of the remote and local sides in the complete process, it is here further elaborated:
|
||||
\begin{enumerate}
|
||||
|
||||
\item \textbf{Transmission of Raw Data:} Upon first startup, the local processing software immediately begins to broadcast the raw sensor data. This data can then be subscribed to by a remote controller.
|
||||
\item \textbf{Transmission of Raw Data:} Upon the first startup, the local processing software immediately begins to broadcast the raw sensor data. This data can then be subscribed to by a remote controller.
|
||||
|
||||
\item \textbf{Remote Configuration:} Once the remote devices has subscribed to the raw data broadcast, it will be previewed on the FlowRemote GUI interface. See \autoref{fig:flowremote} for an overview of the FlowRemote interface.
|
||||
\item \textbf{Remote Configuration:} Once the remote devices have subscribed to the raw data broadcast, it will be previewed on the FlowRemote GUI interface. See \autoref{fig:flowremote} for an overview of the FlowRemote interface.
|
||||
\begin{enumerate}
|
||||
\item \textbf{Image Pre-Processing:} The engineer then pre-processes the image --- rotating, skewing and cropping --- the conveyor belt in the sensor image is vertically aligned and the perspective has been corrected.
|
||||
\item \textbf{Calibration and Fitting:} Now the engineer may select a single layer or slice of the sensor image which will be used to fit for the conveyor belt curve. The fitting parameters are selected, and the calibration is saved.
|
||||
\item \textbf{Belt Parameters:} In order to correctly determine the band velocity and volume flow --- see \autoref{sec:dataproc} --- the conveyor belt parameters such as visible length and width need to be provided.
|
||||
\item \textbf{Image Pre-Processing:} The engineer then pre-processes the image---rotating, skewing and cropping---until the conveyor belt appears vertically aligned and the perspective has been corrected.
|
||||
\item \textbf{Calibration and Fitting:} Now the engineer may select a single layer or slice of the sensor image which will be used to fit for the conveyor belt curve. The fitting parameters are selected, and the calibration is saved. This corresponds to the curve $f(x)$.
|
||||
\item \textbf{Belt Parameters:} In order to correctly determine the belt velocity and volume flow, the conveyor belt parameters such as visible length and width need to be provided.
|
||||
\end{enumerate}
|
||||
|
||||
\item \textbf{Transmission of Configuration Parameters:} The parameters that were configured in the previous step are then transmitted back to the local processor, FlowPi, and local processing mode is then engaged.
|
||||
|
||||
\item \textbf{Local Processing:} In local processing mode, raw data is no longer transmitted for performance purposes. The sensor data is directly processed on the Raspberry Pi, and the outputs are delivered over Profinet to the Profinet Controller.
|
||||
\item \textbf{Local Processing:} In local processing mode, raw data is no longer transmitted for performance purposes. The sensor data is directly processed on the Raspberry Pi, and the outputs are delivered over Profinet to the PLC.
|
||||
|
||||
\end{enumerate}
|
||||
|
||||
@ -106,35 +305,35 @@ While \autoref{fig:processoverview} gives a brief overview of the inter-relation
|
||||
\caption{Overview of the interactions between the various software components and their communication.}
|
||||
\end{figure}
|
||||
|
||||
What is being referred to \textit{the program} for the entirety of this document actually refers a two-part software suite consisting of:
|
||||
The software developed in this project consists of two separate but tightly interconnected parts, namely:
|
||||
\begin{itemize}
|
||||
\item \textbf{FlowPi:} The local processing software that runs on the Raspberry Pi, and
|
||||
\item \textbf{FlowRemote: } The remote control software that is meant to run on an external PC for configuration purposes
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Development Language Choice}
|
||||
The program 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 CIFX library for the netHAT 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 CIFX library for the netHAT are only provided in \clang.
|
||||
|
||||
The topic of performance between languages and systems are a topic of much heated debate, however \cpp\ was chosen for this project do 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 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 much-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.
|
||||
|
||||
\begin{figure}[H]
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=0.8\textwidth]{./design/ProcessingLibrary}
|
||||
\caption{Representation of the how the processing unit is called by different components of the program.}
|
||||
\label{fig:processinglib}
|
||||
\end{figure}
|
||||
|
||||
As shown in \autoref{fig:processinglib}, the main functionality of the processing unit which includes:
|
||||
As shown in \autoref{fig:processinglib}, the main functionality of the processing unit includes:
|
||||
|
||||
\begin{itemize}
|
||||
\item Image Pre-Processing i.e. rotation, skew, cropping
|
||||
\item Image Pre-Processing i.e.\ rotation, skew, cropping
|
||||
\item Curve-Fitting
|
||||
\item Cross-Correlation
|
||||
\end{itemize}
|
||||
|
||||
are implemented in \clang\ as much as possible. This is then encapsulated by a \cpp\ wrapper. This provides ease-of-use on the remote side, where processing is not real-time critical, while still allowing the local side to directly call the \clang\ processing functions.
|
||||
These are implemented in \clang\ as much as possible. This is then encapsulated by a \cpp\ wrapper. This provides ease-of-use on the remote side, where processing is not real-time critical, while still allowing the local side to directly call the \clang\ processing functions.
|
||||
|
||||
\subsection{FlowRemote -- Remote Control GUI}
|
||||
|
||||
@ -145,16 +344,32 @@ are implemented in \clang\ as much as possible. This is then encapsulated by a \
|
||||
\label{fig:flowremote}
|
||||
\end{figure}
|
||||
|
||||
The FlowRemote part of the program is designed in order to allow easier configuration and calibration of the setup, as while as providing enabling the engineer to do so remotely. The idea being that --- once the Raspberry Pi and LIDAR sensor have been installed over a conveyor system and a network connection --- the engineer no longer requires a direct connection to the Raspberry Pi in order to configure and calibrate the system.
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=\textwidth]{./flowremote}
|
||||
\caption{Design of the FlowRemote GUI.}
|
||||
\label{fig:flowremotegui}
|
||||
\end{figure}
|
||||
|
||||
FlowRemote is designed in order to allow easier configuration and calibration of the setup, as well as enabling the engineer to do so remotely. The idea being that---once the Raspberry Pi and LIDAR sensor have been installed over a conveyor system and a network connection---the engineer no longer requires a direct physical connection to the Raspberry Pi in order to configure and calibrate the system.
|
||||
|
||||
As described in \autoref{fig:flowremote}, FlowRemote allows the engineer to remotely preview the raw sensor data, run pre-processing on it, configure the processing parameters and deliver those back to the local processor running on the Raspberry Pi.
|
||||
|
||||
|
||||
\section{Data Processing and Outputs}\label{sec:dataproc}
|
||||
rotation algorithm, skew algorithm, curve fitting library, cross-correlation algorithm...
|
||||
|
||||
transmission to Profinet, output formats (float)
|
||||
%\section{Data Processing and Outputs}\label{sec:dataproc}
|
||||
%rotation algorithm, skew algorithm, curve fitting library, cross-correlation algorithm...
|
||||
%
|
||||
%transmission to Profinet, output formats (float)\todo{complete section}
|
||||
|
||||
|
||||
\section{Housing}
|
||||
Prototype housing, ideal housing.
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=\textwidth]{housing}
|
||||
\caption{Isometric view of the underside (left) and topside (right) of the prototype housing.}
|
||||
\end{figure}
|
||||
For the purposes of field-testing the project, a rudimentary housing was designed in CAD and 3D printed. The housing provided a small amount of protection from the environment for the otherwise bare Raspberry Pi.
|
||||
|
||||
The housing was constructed around the standard Raspberry Pi 4 Model B with the netHAT modules attached, allowing for the extra ports to be accessible through the housing as well.
|
||||
|
||||
This housing is naturally unsuitable for production use, as it lacks adequate weather and shock-proofing.
|
@ -1 +1,140 @@
|
||||
\chapter{Validation}\label{chap:validation}
|
||||
\section{Sandbox Stage}
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=0.75\textwidth]{prototype/mug}
|
||||
\caption{Visual representation of the sensor data plotted as a color-graph.}
|
||||
\end{figure}
|
||||
The fundamental objective of the sandbox stage of development was to investigate the suitability of the Intel RealSense L515 LIDAR sensor.
|
||||
|
||||
In this stage, the testing was mainly to determine
|
||||
\begin{enumerate}
|
||||
\item if a connection to the sensor can be established
|
||||
\item if the data received can be visually represented and manipulated
|
||||
\item if the accuracy of the data was within a tolerable range
|
||||
\end{enumerate}
|
||||
|
||||
In order to accomplish this, a precursor to the FlowDAR software was developed that was connected to the sensor directly over USB. The aim of the software was to process the raw sensor data in order to determine the cross-sectional area of an object upon a flat plane. In this case, a small cardboard box was placed against a wall.
|
||||
|
||||
As represented in \autoref{fig:prototype_program}, the software firstly calibrates itself to the flat plane---the wall---using linear regression to generate a straight-line. Then upon placing the object on the plane, using the techniques discussed in \autoref{chap:design}, the cross-sectional area of the object could be measured.
|
||||
|
||||
An object with the cross-sectional area of \SI{3150}{\milli\meter\squared} was used in this validation. The software measured \SI{3288}{\milli\meter\squared}, yielding an error of \SI{4}{\percent}.
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
|
||||
\begin{subfigure}[t]{0.45\textwidth}
|
||||
\includegraphics[width=\textwidth]{prototype/fullrange.png}
|
||||
\caption{Full scanning range of the LIDAR sensor, recording the geometry of
|
||||
a wall and bookshelf.}
|
||||
\label{fig:fullrange}
|
||||
\end{subfigure}
|
||||
\hfill
|
||||
\begin{subfigure}[t]{0.45\textwidth}
|
||||
\includegraphics[width=\textwidth]{prototype/wallpreview}
|
||||
\caption{A zoomed in selection of just the straight section of wall.}
|
||||
\label{fig:wallpreview}
|
||||
\end{subfigure}
|
||||
|
||||
\medskip
|
||||
|
||||
\begin{subfigure}[t]{0.45\textwidth}
|
||||
\includegraphics[width=\textwidth]{prototype/linearregress}
|
||||
\caption{The selection is then used to run a regression algorithm, to
|
||||
produce a straight line that should represent the wall's surface.}
|
||||
\label{fig:linearregress}
|
||||
\end{subfigure}
|
||||
\hfill
|
||||
\begin{subfigure}[t]{0.45\textwidth}
|
||||
\includegraphics[width=\textwidth]{prototype/calib}
|
||||
\caption{Calibrating the sensor using an object of known length.}
|
||||
\label{fig:calib}
|
||||
\end{subfigure}
|
||||
\medskip
|
||||
\caption{Operation of the prototype software.}
|
||||
\label{fig:prototype_program}
|
||||
\end{figure}
|
||||
|
||||
\section{Laboratory Stage}
|
||||
The development of the fundamental features of this project was done in an iterative process of rapid prototyping and testing. In order to accomplish this, a controlled environment that can be easily accessed and modified must be established. This setup was realized in the Telelaboratory\footnote{Laborator for the development of remote systems at the Faculty of Electrical Engineering, University of Applied Sciences Düsseldorf}.
|
||||
|
||||
The setup consisted of miniature looped conveyor belt system. The looped nature of this conveyor system was advantageous, as it could be loaded with material that would continuously circulate. This allowed development to be carry on uninterrupted and even remotely if necessary. The objects used to simulate material on the belt were miniature cars that were chosen simply for their availability and simple geometry.
|
||||
|
||||
The LIDAR sensor was mounted using its ISO 1222 tripod mounting point on a regular camera tripod and positioned over the conveyor belt. The Raspberry Pi was connected to the laboratory network which allowed for configuration and testing to be done over the network. Using a VPN tunnel, further configuration and testing could also be done remotely from outside the laboratory network.
|
||||
|
||||
\subsection{Cross-Sectional Area}
|
||||
The development and testing of operations to measure Cross-Sectional Area were straightforward as described in \autoref{chap:design}.
|
||||
|
||||
\begin{table}[h]
|
||||
\centering
|
||||
\begin{tabular}{| c | c |}
|
||||
\hline
|
||||
Object Cross-Sectional Area & Uncertainty \\ \hline
|
||||
\SI{20}{\milli\meter\squared} & \SI{10}{\percent} \\
|
||||
\SI{120}{\milli\meter\squared} & \SI{4}{\percent} \\ \hline
|
||||
\end{tabular}
|
||||
\caption{Uncertainty of Cross-Sectional Area measurement for different sized objects}\label{table:cross_uncertainty}
|
||||
\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}.
|
||||
|
||||
\subsection{Belt Velocity}
|
||||
In order to determine the accuracy and reliability of the cross-correlation algorithms, they were compared to the known velocity of the belt. This was determined simply by recording the time taken for an object to travel a known length of the belt and was determined to be \SI{11}{\centi\meter\per\second}.
|
||||
|
||||
While the algorithm did return a value of \SI[separate-uncertainty = true]{11(1)}{\centi\meter\per\second} while the object was in the center of the area-of-interest, the error varied up \SI{100}{\percent} while the object was near the edges of the area-of-interest. This rendered the results of the tests inconclusive. One reason could be due to the small size of the objects---height up to \SI{5}{\milli\meter}---causing strong deviations near the edges, where the sensor uncertainty is usually at its highest.
|
||||
|
||||
Since this error may be caused simply by the small-scale laboratory conditions, the algorithm was brought forward to be tested in field-conditions with little change.
|
||||
|
||||
\subsection{PLC Test}
|
||||
Once the development of the Profinet interface was complete, a simple test project involving a PLC was designed in order to test the interface's functionality. The existing setup was connected via the netHAT's Ethernet interface to a PhoenixContact PLCNext controller. The PLCNext controller was wired to an I/O kit that provided various actuators and LED outputs for prototyping purposes.
|
||||
|
||||
The values sent to the controller by the FlowPi over the Profinet interface were the following:
|
||||
\begin{itemize}
|
||||
\item Cross-Sectional Area
|
||||
\item Band Velocity
|
||||
\item Volume Flow
|
||||
\end{itemize}
|
||||
|
||||
A simple PLC program was written to activate an output---in this case, turning on an LED---whenever the Cross-Sectional Area was over a certain threshold value.
|
||||
|
||||
The FlowPi software as well as the Profinet interface were shown to be functioning as the LEDs lit up in a robust manner whenever a miniature car passed under the scanning area of the LIDAR sensor. A rigorous measurement of the latency was not carried out, however the latency was deemed to be under a second.
|
||||
|
||||
\subsection{Linux RT-Patch}
|
||||
In order to test the effect of the Linux RT-Patch, a simple test comparing the jitter values of Profinet-IO communications was conducted.
|
||||
|
||||
The system was connected over Profinet to a Virtual PLC running on Codesys, and the maximum jitter values as reported by Codesys were recorded. During the \SI{30}{\second} duration of the test, the cross-section area was processed and delivered.
|
||||
|
||||
The results show that the RT-Patched kernel had a maximum jitter of \SI{2166}{\micro\second}, which was \SI{26}{\percent} lower than the normal kernel. This lower jitter may be indicative of higher-determinism of the system.
|
||||
|
||||
\section{Field-Testing Stage}
|
||||
The field-testing stage was carried out at the Siep Gravel Quarry\footnote{Siep Kieswerk GmbH \& Co. KG in Jülich. See \nameref{chap:ack}.}. There, a bucket loader was being used to excavate gravel into a hopper. The hopper first filtered out larger rocks and boulders through a set of evenly spaced rods. Acting as a buffer, the hopper would continuously load a conveyor belt with gravel.
|
||||
|
||||
The quarry currently uses a conventional belt scale system that was placed under the conveyor belt. This simultaneously measured both belt velocity and the material mass flow---in tonnes per hour---delivering the values to a PLC in a nearby control box.
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=0.75\textwidth]{photographs/overview}
|
||||
\caption{Siep Kieswerk GmbH \& Co. KG in Jülich where the field testing was carried out.}
|
||||
\end{figure}
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=0.75\textwidth]{photographs/beltview}
|
||||
\caption{The view of the conveyor belt and material as seen by the sensor.}
|
||||
\end{figure}
|
||||
|
||||
\subsection{Setup and Testing}
|
||||
The LIDAR sensor was attached to a walkway that went over the conveyor belt. The sensor must be placed at a minimum distance of \SI{0.5}{\meter} from the belt, in addition to clearance accounting for the height of the gravel on the belt as well. In this case, the sensor was placed at a height of \SI{1}{\meter} from the belt. The housed Raspberry Pi and various connections were also attached to the walkway.
|
||||
|
||||
A standard home-grade wireless access point was used to provide a local network, through which the configuration of the system could take place.
|
||||
|
||||
Once all the devices were connected and turned on, the pre-configured Raspberry Pi connected itself to the wireless access point that was reachable by the engineering laptop. A connection between the FlowRemote configuration software and the FlowPi processing software could be established and configuration could begin.
|
||||
|
||||
Configuration took place in the regular manner that was refined during the laboratory testing.
|
||||
|
||||
\subsection{Issues}
|
||||
Upon the establishment of the connection and the preview of the sensor's data, it was immediately apparent that parts of the sensor image that contained the distance of the conveyor belt was zero. Gravel and other objects placed on the belt had regular and non-zero depth values. This meant that the conveyor belt not being ``seen'' by the sensor. In other words, the reflectivity of the conveyor belt near the wavelength of the sensor---\SI{860}{\nano\meter}---was too low to consistently and accurately calculate depth.
|
||||
|
||||
\subsection{Solutions}
|
||||
This issue meant that the fundamental principles in which the operation of the measurement software depended on, was unusable. A new approach must be investigated by finding a method to obtain the geometry of the conveyor belt, and using a modified algorithm to calculate its volume without continuous access to the conveyor belt's geometry. In essence, the gravel will appear to be ``floating'' in the sensor image. Such an algorithm may use more precise measurements of the conveyor belt during the configuration and calibration phase, in order to make estimates of the conveyor belt geometry during live processing.
|
||||
|
||||
Ultimately however, the implementation of a solution to this issue requires another iteration of development that is not within the scope of this project.
|
@ -1,9 +1,41 @@
|
||||
\chapter{Conclusion and Outlook}\label{chap:sum}
|
||||
|
||||
\section{Final State of the Project}
|
||||
The state of this project upon completion can be analyzed by recalling the research question and requirements set out in \autoref{chap:intro}. The research question being: \textit{How can a cheaper and easier to install measurement system for bulk material flow on a conveyor belt be designed?}
|
||||
|
||||
\section{Remaining Work}
|
||||
A breakdown of the various factors that determine the suitability of the implementation presented in this project:
|
||||
\begin{description}
|
||||
|
||||
\section{Challenges and Obstacles}
|
||||
\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 flow 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.
|
||||
|
||||
\section{Feasibility as Commercial Product}
|
||||
\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.
|
||||
|
||||
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.
|
||||
|
||||
\item[Process Suitability] \hfill \\ The process flow which was developed with ease-of-use in mind was shown to be beneficial during both laboratory and field-testing. Once the sensor and Pi units were set up on the belt, the engineer could continue working on the configuration of the system remotely---or even externally through the use of a VPN.
|
||||
|
||||
\item[Software Suitability] \hfill \\ The software architecture as laid-out in \autoref{chap:design} was shown to fulfill the requirements of the process. The individual software elements and libraries such as ZeroMQ and Qt were shown to be robust enough to carry out the configuration process. The software was shown to successfully combine the separate process elements into a single workflow which simplified the configuration process.
|
||||
|
||||
\item[Cost Suitability] \hfill \\ At a development cost of just under €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.
|
||||
\end{description}
|
||||
|
||||
\section{Project Status and Feasibility}
|
||||
Although a commercially viable product was not realized during the duration of this project, great strides were nevertheless made towards this goal.
|
||||
|
||||
This work has shown that commercially available products do have the necessary performance to carry out the operations required to deliver the intended results.
|
||||
|
||||
It has also shown, that the software development methods used, methods that are more common in commercial software development rather than industrial development, are highly flexible and powerful. This was naturally enabled by the availability of the Linux kernel on smaller and more performant platforms. This work shows the strong potential of merging the industrial world with that of more conventional software development, also known Industrial IoT.
|
||||
|
||||
Discounting the setbacks faced during field-testing due to sensor and material issues, laboratory testing has shown that a fully-functioning result of this project is in theory, feasible.
|
||||
|
||||
\section{Work Remaining}
|
||||
One or two more iterations of development are required in order to fully realize this project. The fundamental operations have already been developed and tested, namely the analysis of the cross-sectional area and belt velocity.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
@ -1,11 +0,0 @@
|
||||
\chapter{Acknowledgments}
|
||||
|
||||
I would like to give special thanks to Prof. Dr.-Ing. Michael Protogerakis for his attentive supervision of my Master Project and this thesis.
|
||||
|
||||
Mr. N. Stuhrmann and Mr. M. Meilchen too have my gratitude for their tireless assistance in the laboratory.
|
||||
|
||||
Thank you to Prof. Dr.-Ing. Ralf Beck for offering to be the second examiner of this thesis.
|
||||
|
||||
Mr. M. Viehöfer from Siep Kieswerk GmbH \& Co. KG has my deepest appreciation for their generous support, allowing me to test my prototypes on their site.
|
||||
|
||||
Finally I would like to thank XX\todo{fill in proofreader} for their proofreading of this work, and my partner I. Gvazdaityte whose everlasting support made this work possible.
|
10
Abstract.tex
@ -1,10 +0,0 @@
|
||||
\cleardoublepage
|
||||
\addcontentsline{toc}{chapter}{Abstract}
|
||||
\vspace*{50pt}
|
||||
\begin{Huge}
|
||||
\textbf{Abstract}
|
||||
\end{Huge}
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Diam phasellus vestibulum lorem sed risus ultricies tristique nulla. Sagittis eu volutpat odio facilisis mauris sit amet massa. Duis ultricies lacus sed turpis tincidunt id aliquet. Diam vulputate ut pharetra sit amet aliquam id. Sapien eget mi proin sed. Amet nisl purus in mollis nunc sed id semper. Sapien et ligula ullamcorper malesuada. Cras tincidunt lobortis feugiat vivamus at. Cras tincidunt lobortis feugiat vivamus at augue eget. Nibh nisl condimentum id venenatis a condimentum. Consequat semper viverra nam libero justo. Turpis egestas pretium aenean pharetra magna ac. Pellentesque massa placerat duis ultricies lacus sed turpis tincidunt id. Nibh ipsum consequat nisl vel pretium lectus quam. Fusce id velit ut tortor pretium viverra suspendisse potenti nullam.
|
||||
|
||||
Mauris augue neque gravida in fermentum et sollicitudin ac orci. Maecenas accumsan lacus vel facilisis volutpat est velit. Nunc sed velit dignissim sodales ut. At erat pellentesque adipiscing commodo elit at imperdiet. Sollicitudin ac orci phasellus egestas tellus. Tellus cras adipiscing enim eu turpis egestas. Pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum odio. Vitae purus faucibus ornare suspendisse sed nisi. Viverra adipiscing at in tellus integer feugiat scelerisque varius. Ut etiam sit amet nisl purus in mollis nunc sed. Vitae auctor eu augue ut. Enim nunc faucibus a pellentesque sit amet porttitor. Sit amet consectetur adipiscing elit ut. Egestas quis ipsum suspendisse ultrices gravida. Volutpat blandit aliquam etiam erat velit scelerisque in dictum. Lacus vel facilisis volutpat est velit egestas dui id. Porta nibh venenatis cras sed felis eget velit.
|
2
I-Abstract/Abstract.tex
Normal file
@ -0,0 +1,2 @@
|
||||
\chapter{Abstract}
|
||||
The availability of powerful commercial hardware in recent years has enabled not only the potential to reduce costs, but also allow the integration of conventional software development methods of Industrial IoT. In order to test the viability of these products and methods, this project concerns itself with developing a cheaper and easier-to-install alternative to the conventional belt scales used for measuring the volume of bulk material on industrial conveyor belts. Previous research has shown that optical and laser-based methods for measuring bulk material are indeed possible, however only through to use of research-grade or industrial equipment. This work demonstrates---through the development of a prototype with the accompanying software---that a system using the Intel RealSense L515 and a Raspberry Pi has the required performance to run the required analysis, and deliver those results over Industrial Ethernet to conventional industrial PLCs. Although a fully-functional product was not able to be realized due to the unsuitable optical properties of the tested conveyor belt, the system is capable enough to deliver results in a laboratory setting. More work is required to further fine-tune the signal pre-processing issues in the field.
|
@ -1,10 +0,0 @@
|
||||
\chapter{Abkürzungsverzeichnis}
|
||||
\begin{tabular}{l c l}
|
||||
\acrom{KLM}{\textit{\textbf{K}err-\textbf{L}ens \textbf{M}ode Locking}}{Kerr-Linsen-Modenkopplung}
|
||||
\acrom{CW}{\textit{\textbf{C}ontinuous \textbf{W}ave}}{kontinuierlicher Betrieb}
|
||||
\acrom{KL}{\textit{\textbf{K}err \textbf{L}ens}}{Kerr-Linse}
|
||||
\acrom{ML}{\textit{\textbf{M}ode \textbf{L}ocked}}{modengekoppelt}
|
||||
\acrom{CAV000}{\textit{Con\textbf{cav}e}}{konkaver Spiegel mit einem Radius $R = 000 \text{mm}$}
|
||||
\acrom{VEX000}{\textit{Con\textbf{vex}}}{konvexer Spiegel mit einem Radius $R = 000 \text{mm}$}
|
||||
\acrom{TFP}{\textit{\textbf{T}hin \textbf{F}ilm \textbf{P}olarizer}}{Dünnschichtpolarisatoren}
|
||||
\end{tabular}
|
19
II-Thanks/Thanks.tex
Normal file
@ -0,0 +1,19 @@
|
||||
\chapter{Acknowledgments}\label{chap:ack}
|
||||
|
||||
I would like to give special thanks to Prof. Dr.-Ing. Michael Protogerakis for his attentive supervision of my Master Project and this thesis.
|
||||
|
||||
N. Stuhrmann and M. Meilchen too have my gratitude for their tireless assistance in the laboratory.
|
||||
|
||||
Thank you to Prof. Dr.-Ing. Ralf Beck for offering to be the second examiner of this thesis.
|
||||
|
||||
M. Viehöfer from Siep Kieswerk GmbH \& Co. KG has my deepest appreciation for their generous support, allowing me to test my prototypes on their site.
|
||||
|
||||
Finally, I would like to thank S. Nagappan and D. Rashid for their proofreading of this work, and my partner I. Gvazdaityte whose everlasting support made this work possible.
|
||||
|
||||
\vfill
|
||||
|
||||
\begin{small}
|
||||
Document produced with \LaTeX\\
|
||||
12pt Computer Modern\\
|
||||
Last updated: \today
|
||||
\end{small}
|
@ -1,5 +1,5 @@
|
||||
\chapter{Declaration of Academic Integrity --- Eidesstattliche Erklärung}
|
||||
I have written this thesis independently and I have not used any other sources or aids other than the ones stated.
|
||||
I have written this thesis independently, and I have not used any other sources or aids other than the ones stated.
|
||||
|
||||
Düsseldorf, February 2022
|
||||
|
33
Main.tex
@ -1,12 +1,10 @@
|
||||
\documentclass[12pt,twoside,openright]{scrbook}
|
||||
|
||||
\usepackage[utf8]{inputenc}
|
||||
%\usepackage{pdfpages}
|
||||
\usepackage{amsfonts}
|
||||
\usepackage{amssymb}
|
||||
|
||||
%\usepackage{natbib}
|
||||
\usepackage{biblatex}
|
||||
\usepackage[defernumbers=true]{biblatex}
|
||||
\addbibresource{literatur.bib}
|
||||
|
||||
\usepackage{subcaption}
|
||||
@ -16,7 +14,7 @@
|
||||
\usepackage{siunitx}
|
||||
\sisetup{locale = DE}
|
||||
|
||||
\usepackage{enumitem}
|
||||
\usepackage[inline]{enumitem}
|
||||
\setlist{itemsep=3pt}
|
||||
|
||||
\usepackage[font={small,it}]{caption}
|
||||
@ -37,13 +35,18 @@
|
||||
|
||||
\usepackage{wrapfig}
|
||||
|
||||
%\usepackage[nottoc,numbib]{tocbibind}
|
||||
\usepackage{multirow}
|
||||
\usepackage{tabularx}
|
||||
\usepackage{tablefootnote}
|
||||
|
||||
\usepackage{siunitx}
|
||||
|
||||
%\usepackage{palatino}
|
||||
|
||||
\usepackage{geometry}
|
||||
\geometry{
|
||||
a4paper,
|
||||
total={170mm,257mm},
|
||||
inner=35mm,
|
||||
inner=30mm,
|
||||
top=15mm,
|
||||
bottom=25mm,
|
||||
outer=25mm
|
||||
@ -75,6 +78,8 @@ pdfauthor={Nareshkumar Rao},
|
||||
pdfkeywords={LIDAR, conveyor belt}
|
||||
}
|
||||
|
||||
\raggedbottom
|
||||
|
||||
\begin{document}
|
||||
\pagestyle{plain}
|
||||
\emergencystretch 1.5em
|
||||
@ -85,11 +90,10 @@ pdfkeywords={LIDAR, conveyor belt}
|
||||
|
||||
\include{./0-Cover/Cover}
|
||||
|
||||
\include{Abstract}
|
||||
\include{./6-Thanks/Thanks}
|
||||
|
||||
\include{./I-Eides/Eides}
|
||||
%\include{./II-Abkuerzungen/Abkuerzungen}
|
||||
\include{./I-Abstract/Abstract}
|
||||
\include{./II-Thanks/Thanks}
|
||||
\include{./III-Eides/Eides}
|
||||
%\include{./II-Glossary/Glossary}
|
||||
|
||||
\setcounter{secnumdepth}{2}
|
||||
\setcounter{tocdepth}{1}
|
||||
@ -109,7 +113,10 @@ pdfkeywords={LIDAR, conveyor belt}
|
||||
|
||||
%\bibliographystyle{plain}
|
||||
%\bibliography{literatur}
|
||||
\printbibliography
|
||||
\printbibheading[heading=bibintoc]
|
||||
\printbibliography[notkeyword=online,title=Academic References,heading=subbibintoc]
|
||||
\printbibliography[keyword=online,title=Online References,heading=subbibintoc]
|
||||
|
||||
%\listoftodos
|
||||
|
||||
\end{document}
|
||||
|
10
dict.txt
Normal file
@ -0,0 +1,10 @@
|
||||
RealSense
|
||||
ZeroMQ
|
||||
netHAT
|
||||
Profinet
|
||||
FlowRemote
|
||||
FlowPi
|
||||
CIFX
|
||||
PhoenixContact
|
||||
PLCNext
|
||||
|
BIN
graphics/design/conveyor_top.png
Normal file
After Width: | Height: | Size: 55 KiB |
183
graphics/design/conveyor_top.svg
Normal file
@ -0,0 +1,183 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Generator: Adobe Illustrator 26.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
|
||||
<svg
|
||||
version="1.1"
|
||||
id="Layer_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
viewBox="0 0 742.2066 748.90112"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="conveyor_top.svg"
|
||||
width="742.2066"
|
||||
height="748.90112"
|
||||
inkscape:version="1.1.1 (1:1.1+202109281949+c3084ef5ed)"
|
||||
inkscape:export-filename="/home/naresh/Documents/College/Thesis/Masterarbeit/graphics/design/conveyor_top.png"
|
||||
inkscape:export-xdpi="190"
|
||||
inkscape:export-ydpi="190"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs57"><marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Mend"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
inkscape:isstock="true"><path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path8475" /></marker><marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Lend"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
inkscape:isstock="true"><path
|
||||
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path8469" /></marker><marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Mend-3"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
inkscape:isstock="true"><path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path8475-6" /></marker></defs><sodipodi:namedview
|
||||
id="namedview55"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.65625"
|
||||
inkscape:cx="211.04762"
|
||||
inkscape:cy="415.2381"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="956"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<style
|
||||
type="text/css"
|
||||
id="style2">
|
||||
.st0{fill:#E1E1E1;}
|
||||
.st1{fill:none;stroke:#8E8E8E;stroke-miterlimit:10;}
|
||||
.st2{fill:none;}
|
||||
.st3{fill:none;stroke:#000000;stroke-width:3;stroke-miterlimit:10;}
|
||||
.st4{fill:none;stroke:#000000;stroke-width:3;stroke-miterlimit:10;stroke-dasharray:11.766,11.766;}
|
||||
.st5{fill:none;stroke:#000000;stroke-miterlimit:10;}
|
||||
.st6{fill:#E1E1E1;stroke:#000000;stroke-miterlimit:10;}
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Layer 2"
|
||||
transform="translate(-116.01962,-144.63736)"
|
||||
sodipodi:insensitive="true"><rect
|
||||
style="fill:#ffffff;stroke-width:3.49444;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
id="rect33205"
|
||||
width="742.2066"
|
||||
height="748.90112"
|
||||
x="116.01962"
|
||||
y="144.63736" /></g><g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
inkscape:label="Layer 1"
|
||||
transform="translate(-116.01962,-144.63736)"><polygon
|
||||
class="st0"
|
||||
points="624.62,716.44 605.46,843 378.22,843 400.2,705.76 354.24,566.2 399.43,383.18 347.01,220.47 601.5,220.47 629.99,394.62 593.22,575.74 "
|
||||
id="polygon4"
|
||||
style="fill:#e1e1e1"
|
||||
transform="matrix(1,0,0,1.0039677,0,-1.4347766)" /><path
|
||||
class="st2"
|
||||
d="M 771,844 H 206 V 219 c 54.37,0 108.74,0 163.1,0 133.97,0 267.93,0 401.9,0 0,208.33 0,416.67 0,625 z"
|
||||
id="path8"
|
||||
style="fill:none" /><line
|
||||
class="st3"
|
||||
x1="298.75"
|
||||
y1="219"
|
||||
x2="298.75"
|
||||
y2="844"
|
||||
id="line10"
|
||||
style="fill:none;stroke:#000000;stroke-width:3.77953;stroke-miterlimit:10;stroke-dasharray:none" /><line
|
||||
class="st3"
|
||||
x1="682.10999"
|
||||
y1="219.91"
|
||||
x2="682.10999"
|
||||
y2="844.90997"
|
||||
id="line12"
|
||||
style="fill:none;stroke:#000000;stroke-width:3.77953;stroke-miterlimit:10;stroke-dasharray:none" /><path
|
||||
style="fill:none;stroke:#000000;stroke-width:3.77953;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:22.6772, 3.77953;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 240.24265,532.40999 H 740.61733"
|
||||
id="path1005" /><text
|
||||
xml:space="preserve"
|
||||
style="font-size:26.6667px;line-height:1.25;font-family:Fut;-inkscape-font-specification:Fut;stroke-width:0.781658"
|
||||
x="449.03024"
|
||||
y="800.29651"
|
||||
id="text4133"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4131"
|
||||
x="449.03024"
|
||||
y="800.29651"
|
||||
style="font-size:26.6667px;stroke-width:0.781658">gravel</tspan></text><text
|
||||
xml:space="preserve"
|
||||
style="font-size:26.6667px;line-height:1.25;font-family:Fut;-inkscape-font-specification:Fut"
|
||||
x="749.66528"
|
||||
y="542.35138"
|
||||
id="text6247"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6245"
|
||||
x="749.66528"
|
||||
y="542.35138">slice</tspan></text><path
|
||||
style="fill:none;stroke:#000000;stroke-width:3.77953;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Mend-3)"
|
||||
d="M 201.86139,326.1958 V 736.8042"
|
||||
id="path8366" /><text
|
||||
xml:space="preserve"
|
||||
style="font-size:26.6667px;line-height:1.25;font-family:Fut;-inkscape-font-specification:Fut"
|
||||
x="-653.14728"
|
||||
y="180.79147"
|
||||
id="text9888"
|
||||
transform="rotate(-90)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan9886"
|
||||
x="-653.14728"
|
||||
y="180.79147">direction of travel</tspan></text><text
|
||||
xml:space="preserve"
|
||||
style="font-size:26.6667px;line-height:1.25;font-family:Fut;-inkscape-font-specification:Fut"
|
||||
x="394.14648"
|
||||
y="200.00699"
|
||||
id="text26176"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan26174"
|
||||
x="394.14648"
|
||||
y="200.00699"
|
||||
style="font-size:26.6667px">conveyor belt</tspan></text></g></svg>
|
After Width: | Height: | Size: 6.1 KiB |
BIN
graphics/design/conveyor_xcorr.png
Normal file
After Width: | Height: | Size: 83 KiB |
225
graphics/design/conveyor_xcorr.svg
Normal file
@ -0,0 +1,225 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Generator: Adobe Illustrator 26.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
|
||||
<svg
|
||||
version="1.1"
|
||||
id="Layer_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
viewBox="0 0 861.8521 748.90112"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="conveyor_xcorr.svg"
|
||||
width="861.85211"
|
||||
height="748.90112"
|
||||
inkscape:version="1.1.1 (1:1.1+202109281949+c3084ef5ed)"
|
||||
inkscape:export-filename="/home/naresh/Documents/College/Thesis/Masterarbeit/graphics/design/conveyor_xcorr.png"
|
||||
inkscape:export-xdpi="190"
|
||||
inkscape:export-ydpi="190"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs57"><marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Mend"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
inkscape:isstock="true"><path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path8475" /></marker><marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Lend"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
inkscape:isstock="true"><path
|
||||
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path8469" /></marker><marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Mend-3"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
inkscape:isstock="true"><path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path8475-6" /></marker><marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Mend-3-5"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
inkscape:isstock="true"><path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path8475-6-3" /></marker></defs><sodipodi:namedview
|
||||
id="namedview55"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.65625"
|
||||
inkscape:cx="706.28571"
|
||||
inkscape:cy="302.47619"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="956"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer2" />
|
||||
<style
|
||||
type="text/css"
|
||||
id="style2">
|
||||
.st0{fill:#E1E1E1;}
|
||||
.st1{fill:none;stroke:#8E8E8E;stroke-miterlimit:10;}
|
||||
.st2{fill:none;}
|
||||
.st3{fill:none;stroke:#000000;stroke-width:3;stroke-miterlimit:10;}
|
||||
.st4{fill:none;stroke:#000000;stroke-width:3;stroke-miterlimit:10;stroke-dasharray:11.766,11.766;}
|
||||
.st5{fill:none;stroke:#000000;stroke-miterlimit:10;}
|
||||
.st6{fill:#E1E1E1;stroke:#000000;stroke-miterlimit:10;}
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Layer 2"
|
||||
transform="translate(-116.01962,-144.63736)"
|
||||
style="display:inline"><rect
|
||||
style="fill:#ffffff;stroke-width:3.76557;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
id="rect33205"
|
||||
width="861.85211"
|
||||
height="748.90112"
|
||||
x="116.01962"
|
||||
y="144.63736" /></g><g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
inkscape:label="Layer 1"
|
||||
transform="translate(-116.01962,-144.63736)"
|
||||
sodipodi:insensitive="true"><polygon
|
||||
class="st0"
|
||||
points="624.62,716.44 605.46,843 378.22,843 400.2,705.76 354.24,566.2 399.43,383.18 347.01,220.47 601.5,220.47 629.99,394.62 593.22,575.74 "
|
||||
id="polygon4"
|
||||
style="fill:#e1e1e1"
|
||||
transform="matrix(1,0,0,1.0039677,0,-1.4347766)" /><path
|
||||
class="st2"
|
||||
d="M 771,844 H 206 V 219 c 54.37,0 108.74,0 163.1,0 133.97,0 267.93,0 401.9,0 0,208.33 0,416.67 0,625 z"
|
||||
id="path8"
|
||||
style="fill:none" /><line
|
||||
class="st3"
|
||||
x1="298.75"
|
||||
y1="219"
|
||||
x2="298.75"
|
||||
y2="844"
|
||||
id="line10"
|
||||
style="fill:none;stroke:#000000;stroke-width:3.77953;stroke-miterlimit:10;stroke-dasharray:none" /><line
|
||||
class="st3"
|
||||
x1="682.10999"
|
||||
y1="219.91"
|
||||
x2="682.10999"
|
||||
y2="844.90997"
|
||||
id="line12"
|
||||
style="fill:none;stroke:#000000;stroke-width:3.77953;stroke-miterlimit:10;stroke-dasharray:none" /><text
|
||||
xml:space="preserve"
|
||||
style="font-size:26.6667px;line-height:1.25;font-family:Fut;-inkscape-font-specification:Fut;stroke-width:0.781658"
|
||||
x="449.03021"
|
||||
y="870.59503"
|
||||
id="text4133"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4131"
|
||||
x="449.03021"
|
||||
y="870.59503"
|
||||
style="font-size:26.6667px;stroke-width:0.781658">gravel</tspan></text><path
|
||||
style="fill:none;stroke:#000000;stroke-width:3.77953;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Mend-3)"
|
||||
d="M 201.86139,326.1958 V 736.8042"
|
||||
id="path8366" /><text
|
||||
xml:space="preserve"
|
||||
style="font-size:26.6667px;line-height:1.25;font-family:Fut;-inkscape-font-specification:Fut"
|
||||
x="-653.14728"
|
||||
y="180.79147"
|
||||
id="text9888"
|
||||
transform="rotate(-90)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan9886"
|
||||
x="-653.14728"
|
||||
y="180.79147">direction of travel</tspan></text><text
|
||||
xml:space="preserve"
|
||||
style="font-size:26.6667px;line-height:1.25;font-family:Fut;-inkscape-font-specification:Fut"
|
||||
x="398.61346"
|
||||
y="200.00699"
|
||||
id="text26176"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan26174"
|
||||
x="398.61346"
|
||||
y="200.00699"
|
||||
style="font-size:26.6667px">conveyor belt</tspan></text><rect
|
||||
style="fill:#000000;fill-opacity:0.115125;stroke:#000000;stroke-width:5.66929;stroke-miterlimit:4;stroke-dasharray:34.0157, 34.0157;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect1174"
|
||||
width="158.6759"
|
||||
height="608.72565"
|
||||
x="416.29861"
|
||||
y="228.56915" /><path
|
||||
style="fill:none;stroke:#000000;stroke-width:3.77953;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Mend-3)"
|
||||
d="M 728.80467,494.44842 H 590.73354"
|
||||
id="path1958"
|
||||
sodipodi:nodetypes="cc" /><path
|
||||
style="fill:none;stroke:#000000;stroke-width:3.77953;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Mend-3-5)"
|
||||
d="M 728.80467,605.65009 H 509.77076"
|
||||
id="path1958-5" /><text
|
||||
xml:space="preserve"
|
||||
style="font-size:26.6667px;line-height:1.25;font-family:Fut;-inkscape-font-specification:Fut"
|
||||
x="733.09143"
|
||||
y="504.1077"
|
||||
id="text3120"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3118"
|
||||
x="733.09143"
|
||||
y="504.1077"
|
||||
style="font-size:26.6667px">area of interest</tspan></text><path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.88976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:5.66929, 5.66929;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 459.98682,838.32549 V 227.55484"
|
||||
id="path8139" /><path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.88976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:5.66929, 5.66929;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 499.98682,838.32549 V 227.55484"
|
||||
id="path8139-6" /><path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.88976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:5.66929, 5.66929;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 539.98682,838.32549 V 227.55484"
|
||||
id="path8139-6-7" /><text
|
||||
xml:space="preserve"
|
||||
style="font-size:26.6667px;line-height:1.25;font-family:Fut;-inkscape-font-specification:Fut"
|
||||
x="733.89874"
|
||||
y="614.26465"
|
||||
id="text10739"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan10737"
|
||||
x="733.89874"
|
||||
y="614.26465"
|
||||
style="font-size:26.6667px">vertical strips</tspan></text></g></svg>
|
After Width: | Height: | Size: 8.2 KiB |
BIN
graphics/design/cross_analysis_new.png
Normal file
After Width: | Height: | Size: 86 KiB |
406
graphics/design/cross_analysis_new.svg
Normal file
After Width: | Height: | Size: 144 KiB |
BIN
graphics/flowremote.png
Normal file
After Width: | Height: | Size: 227 KiB |
BIN
graphics/housing.png
Normal file
After Width: | Height: | Size: 76 KiB |
2313
graphics/housing.svg
Normal file
After Width: | Height: | Size: 131 KiB |
BIN
graphics/photographs/beltscale.jpg
Normal file
After Width: | Height: | Size: 476 KiB |
BIN
graphics/photographs/beltview.jpg
Normal file
After Width: | Height: | Size: 581 KiB |
BIN
graphics/photographs/originals/IMG_20220128_111558.jpg
Normal file
After Width: | Height: | Size: 2.6 MiB |
BIN
graphics/photographs/originals/IMG_20220128_111601.jpg
Normal file
After Width: | Height: | Size: 2.7 MiB |
BIN
graphics/photographs/originals/IMG_20220128_111635.jpg
Normal file
After Width: | Height: | Size: 3.9 MiB |
BIN
graphics/photographs/originals/IMG_20220128_111638.jpg
Normal file
After Width: | Height: | Size: 3.9 MiB |
BIN
graphics/photographs/originals/IMG_20220128_111855.jpg
Normal file
After Width: | Height: | Size: 1.8 MiB |
BIN
graphics/photographs/overview.jpg
Normal file
After Width: | Height: | Size: 448 KiB |
BIN
graphics/prototype/calib.png
Executable file
After Width: | Height: | Size: 24 KiB |
BIN
graphics/prototype/crosssec.png
Executable file
After Width: | Height: | Size: 21 KiB |
BIN
graphics/prototype/fullrange.png
Executable file
After Width: | Height: | Size: 52 KiB |
698
graphics/prototype/fullrange.svg
Executable file
@ -0,0 +1,698 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="162.56001mm"
|
||||
height="121.92mm"
|
||||
viewBox="0 0 162.56001 121.92"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
|
||||
sodipodi:docname="fullrange.svg"
|
||||
inkscape:export-filename="\\192.168.56.101\sambashare\Work\AutoProjekt\PyProjekt\docs\graphics\prototype\fullrange.png"
|
||||
inkscape:export-xdpi="96"
|
||||
inkscape:export-ydpi="96">
|
||||
<defs
|
||||
id="defs2">
|
||||
<marker
|
||||
style="overflow:visible;"
|
||||
id="marker1134"
|
||||
refX="0.0"
|
||||
refY="0.0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(0.4) rotate(180) translate(10,0)"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
id="path1132" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible;"
|
||||
id="Arrow1Mend"
|
||||
refX="0.0"
|
||||
refY="0.0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(0.4) rotate(180) translate(10,0)"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
id="path859" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker1134-0"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path1132-8" />
|
||||
</marker>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1.4"
|
||||
inkscape:cx="300.93009"
|
||||
inkscape:cy="224.26162"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:current-layer="layer2"
|
||||
inkscape:document-rotation="0"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1017"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata5">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-10.190218,-33.534046)"
|
||||
sodipodi:insensitive="true">
|
||||
<image
|
||||
width="162.56001"
|
||||
height="121.92"
|
||||
preserveAspectRatio="none"
|
||||
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90
|
||||
bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAA9h
|
||||
AAAPYQGoP6dpAAB5rUlEQVR4nO3deVgVVeMH8O+9wGVfZAdFUFxAAVFQxL3EKI3UyNefVi6pZaGp
|
||||
WCaFe4ltRoupb4uWaZG5VRouKOSCSyiugIAohiwiAgKy3vP7w5fJKxcFEy94v5/nuc/DnTkzc2bu
|
||||
9uXMmTMyIYQAEREREWkNuaYrQEREREQPFwMgERERkZZhACQiIiLSMgyARERERFqGAZCIiIhIyzAA
|
||||
EhEREWkZBkAiIiIiLcMASERERKRlGACJiIiItAwDIBEREZGWYQAkIiIi0jIMgERERERahgGQiIiI
|
||||
SMswABIRERFpGQZAIiIiIi3DAEhERESkZRgAiYiIiLQMAyARERGRlmEAJCIiItIyDIBEREREWoYB
|
||||
kIiIiEjLMAASERERaRkGQCIiIiItwwBIREREpGUYAImIiIi0DAMgERERkZZhACQiIiLSMgyARERE
|
||||
RFqGAZCIiIhIyzAAEhEREWkZBkAiIiIiLcMASERERKRlGACJiIiItAwDIBEREZGWYQAkoibl4uKC
|
||||
CRMmaLoaDVZSUoLJkyfD3t4eMpkMM2fOrLdsdXU15syZAycnJ8jlcowYMaJR21q4cCFkMpnKtJZ2
|
||||
vIioZdLVdAWI6MFZu3YtJk6cKD3X19dH27Zt8cQTT2DevHmws7PTYO1ahqVLl2Lt2rWYN28eXF1d
|
||||
4e7uXm/Zb7/9Fh9++CFmzpyJHj16oG3btg+xpkRE948BkOgRtHjxYrRr1w7l5eU4cOAAVq5ciR07
|
||||
duDMmTMwMjJ6qHVJSUmBXN5yTjbs3bsXvXv3xoIFCxpUtnXr1vjkk08eQs2IiB4cBkCiR9BTTz0F
|
||||
X19fAMDkyZNhZWWF5cuXY9u2bRgzZozaZUpLS2FsbPzA66Kvr//A19mU8vLy0KVLlwaXtbCwaNoK
|
||||
NVB1dTWUSiUUCoWmq0JELUDL+beciO7b448/DgDIyMgAAEyYMAEmJiZIT0/H0KFDYWpqiueffx4A
|
||||
oFQqERkZia5du8LAwAB2dnZ45ZVXcP36dWl9Tz/9NNq3b692W/7+/lL4BNT3aSssLMTMmTPh5OQE
|
||||
fX19dOjQAe+//z6USqVUpkePHnj22WdVlvP09IRMJsOpU6ekaVFRUZDJZEhKSrrrMcjLy8OkSZNg
|
||||
Z2cHAwMDdOvWDd999500PzY2FjKZDBkZGdi+fTtkMhlkMhkuXrxYZ10XL16ETCbDvn37cPbsWals
|
||||
bGystJ7Y2Fi1y6xdu/au9WyI2nV99NFHiIyMhKurK/T19XHu3DlUVlZi/vz58PHxgbm5OYyNjdG/
|
||||
f3/s27ev3nX897//ldbRs2dPHDt2rM42N27ciC5dusDAwAAeHh7YsmULJkyYABcXF5VyDXn/EJHm
|
||||
sQWQSAukp6cDAKysrKRp1dXVCAwMRL9+/fDRRx9Jp4ZfeeUVqS/h66+/joyMDHzxxRc4ceIEDh48
|
||||
CD09PYwePRrjxo3DsWPH0LNnT2mdly5dwuHDh/Hhhx/WW5eysjIMHDgQWVlZeOWVV9C2bVscOnQI
|
||||
YWFhyM7ORmRkJACgf//++PHHH6XlCgoKcPbsWcjlcuzfvx9eXl4AgP3798PGxuauffVu3ryJQYMG
|
||||
IS0tDdOmTUO7du2wceNGTJgwAYWFhZgxYwbc3d2xbt06zJo1C23atMHs2bMBADY2NnXWZ2Njg3Xr
|
||||
1uG9995DSUkJIiIiAADu7u73DKIP0po1a1BeXo6XX34Z+vr6sLS0RHFxMb7++muMGTMGU6ZMwY0b
|
||||
N/DNN98gMDAQR48ehbe3t8o6NmzYgBs3buCVV16BTCbDBx98gGeffRYXLlyAnp4eAGD79u0YPXo0
|
||||
PD09ERERgevXr2PSpElo3bp1nTo15P1DRM2AIKJHxpo1awQAsWfPHnH16lVx+fJl8dNPPwkrKyth
|
||||
aGgo/v77byGEEOPHjxcAxNy5c1WW379/vwAg1q9frzI9OjpaZXpRUZHQ19cXs2fPVin3wQcfCJlM
|
||||
Ji5duiRNc3Z2FuPHj5eeL1myRBgbG4vz58+rLDt37lyho6MjMjMzhRBCbNy4UQAQ586dE0II8euv
|
||||
vwp9fX3xzDPPiNGjR0vLeXl5iZEjR971uERGRgoA4ocffpCmVVZWCn9/f2FiYiKKi4tV6jts2LC7
|
||||
rq/WwIEDRdeuXVWm7du3TwAQ+/btU5mekZEhAIg1a9ZI0xYsWCDu/Bq+83ipU7suMzMzkZeXpzKv
|
||||
urpaVFRUqEy7fv26sLOzEy+99FKddVhZWYmCggJp+rZt2wQA8dtvv0nTPD09RZs2bcSNGzekabGx
|
||||
sQKAcHZ2lqY19P1DRJrHU8BEj6CAgADY2NjAyckJ//d//wcTExNs2bKlTovNq6++qvJ848aNMDc3
|
||||
x5AhQ5Cfny89fHx8YGJiIp1GNDMzw1NPPYWff/4ZQghp+aioKPTu3fuuV8Nu3LgR/fv3R6tWrVS2
|
||||
ERAQgJqaGvz5558AbrUAApCe79+/Hz179sSQIUOwf/9+ALdOJZ85c0YqW58dO3bA3t5epf+jnp4e
|
||||
Xn/9dZSUlCAuLu6uyzdXwcHBdVoodXR0pH6ASqUSBQUFqK6uhq+vL44fP15nHaNHj0arVq2k57XH
|
||||
8sKFCwCAK1eu4PTp0xg3bhxMTEykcgMHDoSnp6fKuhr6/iEizeMpYKJH0IoVK9CpUyfo6urCzs4O
|
||||
nTt3rnMlrq6uLtq0aaMyLTU1FUVFRbC1tVW73ry8POnv0aNHY+vWrYiPj0efPn2Qnp6OhIQE6RRu
|
||||
fVJTU3Hq1Cm1p1Zv34adnR06duyI/fv345VXXsH+/fvx2GOPYcCAAZg+fTouXLiApKQkKJXKewbA
|
||||
S5cuoWPHjnWOQe1p40uXLt11+eaqXbt2aqd/9913+Pjjj5GcnIyqqqq7lr8zrNeGwdo+e7XHpkOH
|
||||
DnWW7dChg0qobMz7h4g0iwGQ6BHUq1cvlQsx1NHX168TiJRKJWxtbbF+/Xq1y9we2oKCgmBkZISf
|
||||
f/4Zffr0wc8//wy5XI5Ro0bddbtKpRJDhgzBnDlz1M7v1KmT9He/fv0QExODmzdvIiEhAfPnz4eH
|
||||
hwcsLCywf/9+JCUlwcTEBN27d7/rNh+mOwd2rlVTU/PAt2VoaFhn2g8//IAJEyZgxIgRePPNN2Fr
|
||||
awsdHR1ERERIfUFvp6Ojo3bdt7fsNlRj3j9EpFkMgEQkcXV1xZ49e9C3b1+14eJ2xsbGePrpp7Fx
|
||||
40YsX74cUVFR6N+/PxwdHe+5jZKSEgQEBNyzPv3798eaNWvw008/oaamBn369IFcLke/fv2kANin
|
||||
T596Q0wtZ2dnnDp1CkqlUiX0JicnS/MflNoWtMLCQpXpD6uV8ZdffkH79u2xefNmlTDakHEN1ak9
|
||||
NmlpaXXm3TmtMe8fItIs9gEkIsl//vMf1NTUYMmSJXXmVVdX1wk1o0ePxpUrV/D111/j5MmTGD16
|
||||
dIO2ER8fj507d9aZV1hYiOrqaul57and999/H15eXjA3N5emx8TE4K+//rrn6V8AGDp0KHJychAV
|
||||
FaWyP59//jlMTEwwcODAe66joZydnaGjoyP1Xaz15ZdfPrBt3E1tGL69Be/IkSOIj4+/r/U5OjrC
|
||||
w8MD33//PUpKSqTpcXFxOH36tErZxr5/iEhz2AJIRJKBAwfilVdeQUREBBITE/HEE09AT08Pqamp
|
||||
2LhxIz799FM899xzUvnaMQTfeOMN6OjoIDg4+J7bePPNN/Hrr7/i6aefxoQJE+Dj44PS0lKcPn0a
|
||||
v/zyCy5evAhra2sAt/qY2dvbIyUlBdOnT5fWMWDAALz11lsA0KAA+PLLL2P16tWYMGECEhIS4OLi
|
||||
gl9++QUHDx5EZGQkTE1NG3uo6mVubo5Ro0bh888/h0wmg6urK37//feH1v/t6aefxubNmzFy5EgM
|
||||
GzYMGRkZWLVqFbp06aIS4Bpj6dKlGD58OPr27YuJEyfi+vXr+OKLL+Dh4aGyzsa+f4hIcxgAiUjF
|
||||
qlWr4OPjg9WrV+Ptt9+Grq4uXFxc8MILL6Bv374qZQ0MDPDMM89g/fr1CAgIqLfz/+2MjIwQFxeH
|
||||
pUuXYuPGjfj+++9hZmaGTp06YdGiRVIrX63+/ftj48aN6NevnzTNx8cHRkZGqK6uhp+f3z23aWho
|
||||
iNjYWMydOxffffcdiouL0blzZ6xZs6bOINUPwueff46qqiqsWrUK+vr6+M9//oMPP/wQHh4eD3xb
|
||||
d5owYQJycnKwevVq7Ny5E126dMEPP/yAjRs31hmcuqGCgoLw448/YuHChZg7dy46duyItWvX4rvv
|
||||
vsPZs2dVyjbm/UNEmiMT99PTl4iItJ63tzdsbGywe/duTVeFiBqJfQCJiOiuqqqqVPpmArdunXfy
|
||||
5EkMGjRIM5Uion+FLYBERHRXFy9eREBAAF544QU4OjoiOTkZq1atgrm5Oc6cOaNyi0EiahnYB5CI
|
||||
iO6qVatW8PHxwddff42rV6/C2NgYw4YNw7Jlyxj+iFoojZ8C/vPPPxEUFARHR0fIZDJs3br1nsvE
|
||||
xsaiR48e0NfXR4cOHbB27do6ZVasWAEXFxcYGBjAz88PR48eVZlfXl6OkJAQWFlZwcTEBMHBwcjN
|
||||
zX1Ae0VE9OgwNzdHVFQU/v77b1RUVKCgoAAbN26Eq6urpqtGRPdJ4wGwtLQU3bp1w4oVKxpUPiMj
|
||||
A8OGDcNjjz2GxMREzJw5E5MnT1YZUywqKgqhoaFYsGABjh8/jm7duiEwMFBlGIZZs2bht99+w8aN
|
||||
GxEXF4crV67g2WeffeD7R0RERNTcNKs+gDKZDFu2bMGIESPqLfPWW29h+/btOHPmjDTt//7v/1BY
|
||||
WIjo6GgAgJ+fH3r27IkvvvgCwK3bEzk5OWH69OmYO3cuioqKYGNjgw0bNkhjUiUnJ8Pd3R3x8fHo
|
||||
3bt30+0kERERkYZpvAWwseLj4+vcQiowMFAa5b6yshIJCQkqZeRyOQICAqQyCQkJqKqqUinj5uaG
|
||||
tm3b3vdo+UREREQtRYu7CCQnJwd2dnYq0+zs7FBcXIybN2/i+vXrqKmpUVum9r6fOTk5UCgUsLCw
|
||||
qFMmJyen3m1XVFSgoqJCeq5UKlFQUAArK6t6bwBPREREzYsQAjdu3ICjo6PK/cG1SYsLgJoUERGB
|
||||
RYsWaboaRERE9ABcvnwZbdq00XQ1NKLFBUB7e/s6V+vm5ubCzMwMhoaG0NHRgY6Ojtoy9vb20joq
|
||||
KytRWFio0gp4exl1wsLCEBoaKj0vKipC27ZtcfnyZZiZmT2AvSMiIqKmVlxcDCcnpwd6H/CWpsUF
|
||||
QH9/f+zYsUNl2u7du+Hv7w8AUCgU8PHxQUxMjHQxiVKpRExMDKZNmwbg1n1E9fT0EBMTI928PiUl
|
||||
BZmZmdJ61NHX14e+vn6d6WZmZgyARERELYw2d9/SeAAsKSlBWlqa9DwjIwOJiYmwtLRE27ZtERYW
|
||||
hqysLHz//fcAgKlTp+KLL77AnDlz8NJLL2Hv3r34+eefsX37dmkdoaGhGD9+PHx9fdGrVy9ERkai
|
||||
tLQUEydOBHBrTKtJkyYhNDQUlpaWMDMzw/Tp0+Hv788rgImIiOiRp/EA+Ndff+Gxxx6TnteeYh0/
|
||||
fjzWrl2L7OxsZGZmSvPbtWuH7du3Y9asWfj000/Rpk0bfP311wgMDJTKjB49GlevXsX8+fORk5MD
|
||||
b29vREdHq1wY8sknn0AulyM4OBgVFRUIDAzEl19++RD2mIiIiEizmtU4gC1NcXExzM3NUVRUxFPA
|
||||
RERELQR/v1vgOIBERERE9O8wABIRERFpGQZAIiIiIi3DAEhERESkZRgAiYiIiLQMAyARERGRlmEA
|
||||
JCIiItIyDIBEREREWoYBkIiIiEjLMAASERERaRkGQCIiIiItwwBIREREpGUYAImIiIi0DAMgERER
|
||||
kZZhACQiIiLSMgyARERERFqGAZCIiIhIyzAAEhEREWkZBkAiIiIiLcMASERERKRlGACJiIiItAwD
|
||||
IBEREZGWYQAkIiIi0jIMgERERERahgGQiIiISMswABIRERFpGQZAIiIiIi3DAEhERESkZRgAiYiI
|
||||
iLQMAyARERGRlmEAJCIiItIyDIBEREREWoYBkIiIiEjLMAASERERaRkGQCIiIiIt02wC4IoVK+Di
|
||||
4gIDAwP4+fnh6NGj9ZatqqrC4sWL4erqCgMDA3Tr1g3R0dEqZVxcXCCTyeo8QkJCpDKDBg2qM3/q
|
||||
1KlNto9EREREzUGzCIBRUVEIDQ3FggULcPz4cXTr1g2BgYHIy8tTWz48PByrV6/G559/jnPnzmHq
|
||||
1KkYOXIkTpw4IZU5duwYsrOzpcfu3bsBAKNGjVJZ15QpU1TKffDBB023o0RERETNgEwIITRdCT8/
|
||||
P/Ts2RNffPEFAECpVMLJyQnTp0/H3Llz65R3dHTEO++8o9KaFxwcDENDQ/zwww9qtzFz5kz8/vvv
|
||||
SE1NhUwmA3CrBdDb2xuRkZH3Ve/i4mKYm5ujqKgIZmZm97UOIiIierj4+90MWgArKyuRkJCAgIAA
|
||||
aZpcLkdAQADi4+PVLlNRUQEDAwOVaYaGhjhw4EC92/jhhx/w0ksvSeGv1vr162FtbQ0PDw+EhYWh
|
||||
rKzsX+4RERERUfOmq+kK5Ofno6amBnZ2dirT7ezskJycrHaZwMBALF++HAMGDICrqytiYmKwefNm
|
||||
1NTUqC2/detWFBYWYsKECSrTx44dC2dnZzg6OuLUqVN46623kJKSgs2bN6tdT0VFBSoqKqTnxcXF
|
||||
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
|
||||
KMaPHw9fX1/06tULkZGRKC0tla4KHjduHFq3bo2IiAgAQFBQEJYvX47u3btLp4DnzZuHoKAgKQgC
|
||||
t4LkmjVrMH78eOjqqu5qeno6NmzYgKFDh8LKygqnTp3CrFmzMGDAAHh5eT28nSciogfqjmv9iEiN
|
||||
ZhEAR48ejatXr2L+/PnIycmBt7c3oqOjpQtDMjMzVVr8wsPDIZPJEB4ejqysLNjY2CAoKAjvvfee
|
||||
ynr37NmDzMxMvPTSS3W2qVAosGfPHilsOjk5ITg4GOHh4U27s0REREQaJhN3njOlBisuLoa5uTmK
|
||||
iop4OpiIqJk4e6UIwz47ADszfRx5O+DeC5DW4e93M+gDSEREREQPFwMgERERkZZhACQiIiLSMgyA
|
||||
RERERFqGAZCIiB5JvMSRqH4MgERERERahgGQiIgeKTJwJGiie2EAJCIiItIyDIBEREREWoYBkIiI
|
||||
iEjLMAASERERaRkGQCIiIiItwwBIREREpGUYAImI6JHEcaCJ6scASERERKRlGACJiOiRIuM40ET3
|
||||
xABIREREpGUYAImIiIi0DAMgERERkZZhACQiIiLSMgyARERERFqGAZCIiIhIyzAAEhHRI0lwJGii
|
||||
ejEAEhEREWkZBkAiInqkcCBoontjACQiIiLSMgyARERERFqGAZCIiIhIyzAAEhEREWkZBkAiIiIi
|
||||
LcMASERERKRlGACJiOgRxZGgierDAEhERESkZRgAiYjokSIDR4ImuhcGQCIiIiIt02wC4IoVK+Di
|
||||
4gIDAwP4+fnh6NGjdy0fGRmJzp07w9DQEE5OTpg1axbKy8ul+QsXLoRMJlN5uLm5qayjvLwcISEh
|
||||
sLKygomJCYKDg5Gbm9sk+0dERETUXDSLABgVFYXQ0FAsWLAAx48fR7du3RAYGIi8vDy15Tds2IC5
|
||||
c+diwYIFSEpKwjfffIOoqCi8/fbbKuW6du2K7Oxs6XHgwAGV+bNmzcJvv/2GjRs3Ii4uDleuXMGz
|
||||
zz7bZPtJRERE1BzoaroCALB8+XJMmTIFEydOBACsWrUK27dvx7fffou5c+fWKX/o0CH07dsXY8eO
|
||||
BQC4uLhgzJgxOHLkiEo5XV1d2Nvbq91mUVERvvnmG2zYsAGPP/44AGDNmjVwd3fH4cOH0bt37we5
|
||||
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
|
||||
QmCC
|
||||
"
|
||||
id="image843"
|
||||
x="10.190218"
|
||||
y="33.534046" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Layer 2">
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.05833333;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#Arrow1Mend)"
|
||||
d="M 36.096725,73.894343 54.995534,36.285715"
|
||||
id="path848" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:6.90635px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.172659"
|
||||
x="27.568451"
|
||||
y="80.550125"
|
||||
id="text1128"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1126"
|
||||
x="27.568451"
|
||||
y="80.550125"
|
||||
style="stroke-width:0.172659">Wall</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:6.90634px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.172659"
|
||||
x="71.942307"
|
||||
y="89.127876"
|
||||
id="text1128-6"><tspan
|
||||
sodipodi:role="line"
|
||||
x="71.942307"
|
||||
y="89.127876"
|
||||
style="stroke-width:0.172659"
|
||||
id="tspan1172">Bookshelf</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.05833;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1134-0)"
|
||||
d="m 92.0372,82.965772 8.69345,-22.489583"
|
||||
id="path1130"
|
||||
sodipodi:nodetypes="cc" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 46 KiB |
BIN
graphics/prototype/linearregress.png
Executable file
After Width: | Height: | Size: 23 KiB |
BIN
graphics/prototype/mug.png
Normal file
After Width: | Height: | Size: 55 KiB |
BIN
graphics/prototype/wallpreview.png
Executable file
After Width: | Height: | Size: 25 KiB |
133
literatur.bib
@ -1,17 +1,59 @@
|
||||
|
||||
@article{minDesignExperimentDynamic2020,
|
||||
@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},
|
||||
booktitle = {Proceedings of the 2014 15th {{International Carpathian Control Conference}} ({{ICCC}})},
|
||||
author = {Fojtík, David},
|
||||
date = {2014-05},
|
||||
pages = {121--124},
|
||||
doi = {10.1109/CarpathianCC.2014.6843581},
|
||||
abstract = {This article describe a mathematical background of calculating volume of Wood Chips that is measured by a laser scanning method during transport on Conveyor Belt. This method is realized in company Biocel Paskov a. s.},
|
||||
file = {/home/naresh/Zotero/storage/KAN8TYN3/Fojtík - 2014 - Measurement of the volume of material on the Conve.pdf;/home/naresh/Zotero/storage/D4YWDFB5/6843581.html}
|
||||
}
|
||||
|
||||
@article{green1997,
|
||||
title = {Velocity and Mass Flow Rate Profiles of Dry Powders in a Gravity Drop Conveyor Using an Electrodynamic Tomography System},
|
||||
author = {Green, R. G. and Rahmat, M. F. and Dutton, K. and Evans, K. and Goude, A. and Henry, M.},
|
||||
date = {1997-04},
|
||||
journaltitle = {Measurement Science and Technology},
|
||||
shortjournal = {Meas. Sci. Technol.},
|
||||
volume = {8},
|
||||
number = {4},
|
||||
pages = {429--436},
|
||||
publisher = {{IOP Publishing}},
|
||||
issn = {0957-0233},
|
||||
doi = {10.1088/0957-0233/8/4/010},
|
||||
abstract = {This paper describes measurements made on a gravity drop conveyor using two arrays of axially spaced electrodynamic sensors to measure axial velocities close to the wall of the conveyor and velocity profiles both of flowing sand and of plastic beads. The level of correlation obtained using pixels is investigated. The velocity profile is combined with a tomographic concentration profile to estimate the mass flow profile, which is summed over the measurement cross section to estimate the mass flow rate. A calibration of the tomographically determined mass flow rate versus the actual mass flow rate is presented.},
|
||||
langid = {english},
|
||||
file = {/home/naresh/Zotero/storage/YXA77VII/Green et al. - 1997 - Velocity and mass flow rate profiles of dry powder.pdf}
|
||||
}
|
||||
|
||||
@article{min2020,
|
||||
title = {Design and {{Experiment}} of {{Dynamic Measurement Method}} for {{Bulk Material}} of {{Large Volume Belt Conveyor Based}} on {{Laser Triangulation Method}}},
|
||||
author = {Min, Fusong and Lou, Andong and Wei, Qun},
|
||||
date = {2020-01-17},
|
||||
date = {2020-01},
|
||||
journaltitle = {IOP Conference Series: Materials Science and Engineering},
|
||||
shortjournal = {IOP Conf. Ser.: Mater. Sci. Eng.},
|
||||
volume = {735},
|
||||
number = {1},
|
||||
pages = {012029},
|
||||
publisher = {{IOP Publishing}},
|
||||
issn = {1757-899X},
|
||||
doi = {10.1088/1757-899X/735/1/012029},
|
||||
url = {https://iopscience.iop.org/article/10.1088/1757-899X/735/1/012029},
|
||||
urldate = {2021-11-05},
|
||||
file = {/home/naresh/Zotero/storage/L4QCBM6Z/Min et al. - 2020 - Design and Experiment of Dynamic Measurement Metho.pdf}
|
||||
abstract = {In order to improve the measurement accuracy and efficiency of bulk material transported by large-capacity belt conveyor, an online dynamic non-contact metering system based on laser triangulation is designed on the belt conveyor platform. The system includes: laser Scanners, industrial camera, signal processing software, mechanical assemblies. High-precision basic measurement data is an important guarantee for the accuracy of bulk flow measurement. The laser scanner is used as a line source, and the scanning frequency is set to 300HZ, which is installed on the belt conveyor. Industrial camera accepts images produced by a line source projected onto the bulk surface. The signal processing software system analyzes the images, and uses the triangulation method directly calculate the three-dimensional contour information and volume flow of the bulk material. The flow filtering algorithm filters the instantaneous flow, smoothing the fluctuation of the flow data to reflect the real changes of the dry and wet degree of the bulk material on the belt, the degrees of surface cracking and shapes. Establish a mathematical model based on neural network and apply the belt shaking elimination algorithm to correct the previously calculated flow data to reduce the measurement error. In order to restore the actual belt conveyor bulk transportation conditions, a test belt with length 20m and speed 2m/s was produced according to the actual size. The physical simulation test of bulk material for potassium salt was carried out, the results show that the on-line measurement method based on laser triangular method has high efficiency and stable operation, and eliminates the influence of bulk density. The measurement error is ≤3.},
|
||||
langid = {english},
|
||||
file = {/home/naresh/Zotero/storage/T7EPJ6J5/Min et al. - 2020 - Design and Experiment of Dynamic Measurement Metho.pdf}
|
||||
}
|
||||
|
||||
@online{nethatHilscher,
|
||||
title = {{{netHAT}}},
|
||||
date = {2017-08-16T10:08:41+01:00},
|
||||
url = {https://www.hilscher.com},
|
||||
urldate = {2022-01-20},
|
||||
abstract = {The netHAT module upgrades a Raspberry Pi® to a Real-Time Ethernet capable slave device allowing the exchange of cyclic process data between a Pi application and a Real-Time Ethernet network.},
|
||||
langid = {english},
|
||||
organization = {{Hilscher Gesellschaft für Systemautomation mbH}},
|
||||
keywords = {online},
|
||||
file = {/home/naresh/Zotero/storage/ZCRJXLMW/nethat.html}
|
||||
}
|
||||
|
||||
@inproceedings{pizlo2010,
|
||||
@ -26,16 +68,39 @@
|
||||
doi = {10.1145/1755913.1755922},
|
||||
abstract = {While managed languages such as C\# and Java have become quite popular in enterprise computing, they are still considered unsuitable for hard real-time systems. In particular, the presence of garbage collection has been a sore point for their acceptance for low-level system programming tasks. Real-time extensions to these languages have the dubious distinction of, at the same time, eschewing the benefits of high-level programming and failing to offer competitive performance. The goal of our research is to explore the limitations of high-level managed languages for real-time systems programming. To this end we target a real-world embedded platform, the LEON3 architecture running the RTEMS real-time operating system, and demonstrate the feasibility of writing garbage collected code in critical parts of embedded systems. We show that Java with a concurrent, real-time garbage collector, can have throughput close to that of C programs and comes within 10\% in the worst observed case on realistic benchmark. We provide a detailed breakdown of the costs of Java features and their execution times and compare to real-time and throughput-optimized commercial Java virtual machines.},
|
||||
isbn = {978-1-60558-577-2},
|
||||
keywords = {java virtual machine,memory management,real-time systems},
|
||||
file = {/home/naresh/Zotero/storage/JQHSRQ3V/Pizlo et al. - 2010 - High-level programming of embedded hard real-time .pdf}
|
||||
}
|
||||
|
||||
@misc{protogerakisInterview2022,
|
||||
title = {A Discussion on the Opportunities and Implementation of {{LIDAR-based}} Volumetric Analysis for Industrial Applications},
|
||||
year = {Wintersemester 2021/22},
|
||||
editora = {Protogerakis, Michael},
|
||||
editoratype = {collaborator},
|
||||
annotation = {Interviewees: \_:n41}
|
||||
}
|
||||
|
||||
@article{qiao2022,
|
||||
title = {Dual-Field Measurement System for Real-Time Material Flow on Conveyor Belt},
|
||||
author = {Qiao, Wei and Lan, Yuan and Dong, Huijie and Xiong, Xiaoyan and Qiao, Tiezhu},
|
||||
date = {2022-03-01},
|
||||
journaltitle = {Flow Measurement and Instrumentation},
|
||||
shortjournal = {Flow Measurement and Instrumentation},
|
||||
volume = {83},
|
||||
pages = {102082},
|
||||
issn = {0955-5986},
|
||||
doi = {10.1016/j.flowmeasinst.2021.102082},
|
||||
abstract = {In this paper, an innovative dual-field measurement system is proposed for measuring the real-time material flow on the conveyor belt. The system consists of two light sources to illuminate the upper and the lower surface of the conveyor belt, respectively, and two binocular cameras to capture the dual-field contour images. The contour curves are extracted from the images by the contour acquisition algorithm and fitted with linear interpolation functions for the calculation of instantaneous cross-sectional area of material flow. Then the real-time volume of material flow is obtained according to the belt speed. Compared with conventional visual methods, the proposed method is no need to preliminarily acquire the data of the empty belt as well as hardly affected by belt deformation. Some measured objects are prepared for both sectional area and volume measurement. The results show that the accuracy of the proposed system can achieve up to 96.3\% and 96.05\% for the volume measurement of regular materials and coals, respectively, which is superior to the conventional visual method. The proposed measurement method has strong robustness and low construction cost, which is expected to generalize and apply in the bulk material transport field.},
|
||||
langid = {english},
|
||||
file = {/home/naresh/Zotero/storage/CF3FGGIS/Qiao et al. - 2022 - Dual-field measurement system for real-time materi.pdf;/home/naresh/Zotero/storage/HBY4G8LX/S0955598621001837.html}
|
||||
}
|
||||
|
||||
@online{qtWebsite,
|
||||
title = {Qt | {{Cross-platform}} Software Development for Embedded \& Desktop},
|
||||
url = {https://www.qt.io},
|
||||
urldate = {2022-01-14},
|
||||
abstract = {Qt is the faster, smarter way to create innovative devices, modern UIs \& applications for multiple screens. Cross-platform software development at its best.},
|
||||
langid = {english},
|
||||
keywords = {online},
|
||||
file = {/home/naresh/Zotero/storage/XXBWBBYM/www.qt.io.html}
|
||||
}
|
||||
|
||||
@ -48,16 +113,68 @@
|
||||
urldate = {2022-01-06},
|
||||
abstract = {Intel® RealSense™ SDK},
|
||||
organization = {{Intel® RealSense™}},
|
||||
keywords = {camera-api,computer-vision,developer-kits,hardware,library,librealsense,sdk}
|
||||
keywords = {online}
|
||||
}
|
||||
|
||||
@misc{realsenseDatasheet,
|
||||
title = {Intel {{RealSense LiDAR Camera L515 Datasheet}}},
|
||||
date = {2021-01},
|
||||
keywords = {online}
|
||||
}
|
||||
|
||||
@online{rpiSpecs,
|
||||
title = {Raspberry {{Pi}} 4 {{Model B}} Specifications},
|
||||
author = {Ltd, Raspberry Pi},
|
||||
url = {https://www.raspberrypi.com/products/raspberry-pi-4-model-b/},
|
||||
urldate = {2022-01-19},
|
||||
abstract = {Your tiny, dual-display, desktop~computer …and robot brains, smart home hub, media centre, networked AI core, factory controller, and much more.},
|
||||
langid = {british},
|
||||
organization = {{Raspberry Pi}},
|
||||
keywords = {online},
|
||||
file = {/home/naresh/Zotero/storage/5MZGKNTH/specifications.html}
|
||||
}
|
||||
|
||||
@online{rtwiki,
|
||||
title = {Real-{{Time Linux Wiki}}},
|
||||
url = {https://rt.wiki.kernel.org/index.php/Main_Page},
|
||||
urldate = {2022-01-06},
|
||||
keywords = {online},
|
||||
file = {/home/naresh/Zotero/storage/QVWI8QGE/Main_Page.html}
|
||||
}
|
||||
|
||||
@article{tomobe2006,
|
||||
title = {Continuous {{Mass Measurement}} on {{Conveyor Belt}}},
|
||||
author = {Tomobe, Yuki and Tasaki, Ryosuke and Yamazaki, Takanori and Ohnishi, Hideo and Kobayashi, Masaaki and Kurosu, Shigeru},
|
||||
date = {2006-01-01},
|
||||
journaltitle = {IEEJ Transactions on Electronics, Information and Systems},
|
||||
volume = {126},
|
||||
pages = {264--269},
|
||||
issn = {0385-4221},
|
||||
doi = {10.1541/ieejeiss.126.264},
|
||||
abstract = {The continuous mass measurement of packages on a conveyor belt will become greatly important. In the mass measurement, the sequence of products is generally random. An interesting possibility of raising throughput of the conveyor line without increasing the conveyor belt speed is offered by the use of two or three conveyor belt scales (called a multi-stage conveyor belt scale). The multi-stage conveyor belt scale can be created which will adjust the conveyor belt length to the product length. The conveyor belt scale usually has maximum capacities of less than 80kg and 140cm, and achieves measuring rates of more than 150 packages per minute and more. The output signals from the conveyor belt scale are always contaminated with noises due to vibrations of the conveyor and the product to be measured in motion. In this paper an employed digital filter is of Finite Impulse Response (FIR) type designed under the consideration on the dynamics of the conveyor system. The experimental results on the conveyor belt scale suggest that the filtering algorithms are effective enough to practical applications to some extent.},
|
||||
keywords = {digital filter,mass measurement,multi-stage conveyor belt scale},
|
||||
annotation = {ADS Bibcode: 2006ITEIS.126..264T},
|
||||
file = {/home/naresh/Zotero/storage/P628FS3A/Tomobe et al. - 2006 - Continuous Mass Measurement on Conveyor Belt.pdf}
|
||||
}
|
||||
|
||||
@article{zeng2015,
|
||||
title = {Measurement of Bulk Material Flow Based on Laser Scanning Technology for the Energy Efficiency Improvement of Belt Conveyors},
|
||||
author = {Zeng, Fei and Wu, Qing and Chu, Xiuming and Yue, Zhangsi},
|
||||
date = {2015-11-01},
|
||||
journaltitle = {Measurement},
|
||||
shortjournal = {Measurement},
|
||||
volume = {75},
|
||||
pages = {230--243},
|
||||
issn = {0263-2241},
|
||||
doi = {10.1016/j.measurement.2015.05.041},
|
||||
url = {https://www.sciencedirect.com/science/article/pii/S0263224115003061},
|
||||
urldate = {2022-01-27},
|
||||
abstract = {Bulk material flow is the key variable of speed control technology and is responsible for the improving energy efficiency in belt conveyors. This paper presents the design and verification of a mathematical model intended for the measurement of bulk material flow on belt conveyor using laser scanning technology. This problem is solved using the method of non-contact measurement, which can acquire the surface profile of bulk materials moving on a belt conveyor in real-time using a laser scanner and a belt speed monitor. A contour extraction solution is proposed in accordance with the space’s morphological characteristics and the material flow outline in one frame. By integrating the element areas of the bulk material cross section, a mathematical model to calculate the flow rate of bulk materials on moving belt is established. The main advantage of these models is that the measure accuracy is less affected that previous model by the uneven distribution and intermittence of bulk materials. The concept of the experimental rig at Wuhan University of Technology of China is designed so that it represents a 3.5m long belt conveyor system on which bulk material flow detecting experiments can be conducted. When the belt operates at speed of 0.5m/s, 1.0m/s and 1.5m/s, the repeatability, the correlation and the variation coefficient of the measurement value are more than 98\%. The experimental results prove the excellent characteristics of the new device for real practice because the characteristics correspond to real operational conditions. The obtained results are useful for analysing belt mechanical properties under real operational conditions and for optimising operating procedures of belt conveyor systems.},
|
||||
langid = {english},
|
||||
keywords = {Belt conveyor,Bulk material flow,Energy efficiency improvement,Laser scanning,Non-contact measurement},
|
||||
file = {/home/naresh/Zotero/storage/8I8VNNBU/Zeng et al. - 2015 - Measurement of bulk material flow based on laser s.pdf}
|
||||
}
|
||||
|
||||
@software{zeromq_git,
|
||||
title = {{{ZeroMQ}}},
|
||||
shorttitle = {Zeromq},
|
||||
@ -67,7 +184,7 @@
|
||||
urldate = {2022-01-06},
|
||||
abstract = {ZeroMQ core engine in C++, implements ZMTP/3.1},
|
||||
organization = {{The ZeroMQ project}},
|
||||
keywords = {concurrency,libzmq,messaging,network,networking,pubsub,pushpull,stream,zeromq,zmq,zmtp}
|
||||
keywords = {online}
|
||||
}
|
||||
|
||||
|
||||
|