Skip to content

Commit

Permalink
Revision after review comments
Browse files Browse the repository at this point in the history
- use of improved conference latex template
- improved figure placement, particularly, some figures are now
  closer to the place at which they are referenced.

Related to #126
  • Loading branch information
bernhard-thiele committed Mar 15, 2017
1 parent 1bd3081 commit 6f756a5
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 39 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -313,7 +313,8 @@ \subsection{Interfaces}

Figure~\ref{fig:JoystickBlocks} shows how game controllers can be accessed by
simply dragging \& dropping a \modelica{JoystickInput} block into the diagram
view of a Modelica tool. While Figure~\ref{fig:MDDJoystick} uses the block found
view of a Modelica tool.
While Figure~\ref{fig:MDDJoystick} uses the block found
in the \modelica{Blocks} package,
Figure~\ref{fig:MDDJoystickClocked} uses the corresponding clocked variant from
\modelica{ClockedBlocks}. The additional blocks \modelica{periodicClock} and
Expand All @@ -324,7 +325,7 @@ \subsection{Interfaces}
associated clock ticks (\textit{i.e.}, every $0.1\,\mathrm{s}$ in the presented
example).

\begin{figure}[tb]
\begin{figure}[htb]
\centering
\begin{subfigure}[b]{0.45\columnwidth}
\centering
Expand All @@ -345,6 +346,7 @@ \subsection{Interfaces}
\label{fig:JoystickBlocks}
\end{figure}

\noindent
The example models can be simulated, but real-time synchronization is
required to slow the simulation speed down, in order to synchronize the
real-time inputs with the simulation progress.
Expand All @@ -361,6 +363,11 @@ \subsection{Features}
and associated features which will be briefly presented in this section.

\subsubsection{Input Devices}

Standard input devices such as keyboard and game controllers are ubiquitously
available on the market, enabling the user to quickly build up interactive simulations.
MDD provides blocks for using the generic keyboard and game controller interface
of Windows or Linux (see Figure~\ref{fig:OverviewInputDevices}).
\begin{figure}[h]
\centering
\includegraphics[width=0.7\columnwidth]{figures/OverviewInputDevices}
Expand All @@ -369,10 +376,7 @@ \subsubsection{Input Devices}
\end{figure}

\noindent
Standard input devices such as keyboard and game controllers are ubiquitously
available on the market, enabling the user to quickly build up interactive simulations.
MDD provides blocks for using the generic keyboard and game controller interface
of Windows or Linux (see Figure~\ref{fig:OverviewInputDevices}). Also more
Also more
specialized hardware like the 3Dconnexion SpaceMouse is supported for both platforms.
Often, these blocks will be used for interactive desktop simulations, but they
can also become part of more involved (cost-efficient) HITL simulation
Expand All @@ -387,16 +391,17 @@ \subsubsection{Communication}

\paragraph{Supported Devices}

Figure~\ref{fig:OverviewCommunicationDevices} gives an overview over the
supported devices.
\begin{figure}[htb]
\centering
\includegraphics[width=0.9\columnwidth]{figures/OverviewCommunicationDevices}
\caption{Supported communication devices from the \modelica{Blocks} package.}
\label{fig:OverviewCommunicationDevices}
\end{figure}


Figure~\ref{fig:OverviewCommunicationDevices} gives an overview over the
supported devices. Cross-platform support for UDP and shared memory was already
\noindent
Cross-platform support for UDP and shared memory was already
available in the first released version of MDD. Support for serial port communication is
available since MDD v1.3 (Linux) and v1.4.0 (Windows). A client block for TCP/IP
socket communication was added in v1.4.0 (Windows) and v1.5.0 (Linux).
Expand Down Expand Up @@ -506,16 +511,6 @@ \subsubsection{Hardware I/O}
Figure~\ref{fig:MDDPackageBrowseScreenshot}) is intended for data acquisition
hardware like digital-analog converter (DAC), analog-digital converter (ADC) and
other interface hardware.

\begin{figure}[h]
\centering
\includegraphics[width=0.9\columnwidth]{figures/MDDComedi}
\caption{Accessing data acquisition hardware via the Linux
control and measurement device interface ``Comedi''.}
\label{fig:MDDComedi}
\end{figure}

\noindent
As of MDD v1.5.0 it contains only one sub-package which
provides support for the Linux control and measurement device interface
``Comedi''. The Comedi project develops open-source drivers, tools, and
Expand All @@ -533,7 +528,15 @@ \subsubsection{Hardware I/O}
objects in records is not standard compliant to Modelica v3.3 revision 1
\citep{ModelicaAssociation2014} which is further discussed in
Section~\ref{sec:External Objects in Records}.
\begin{figure}[h]
\centering
\includegraphics[width=0.9\columnwidth]{figures/MDDComedi}
\caption{Accessing data acquisition hardware via the Linux
control and measurement device interface ``Comedi''.}
\label{fig:MDDComedi}
\end{figure}

\noindent
Writing or reading raw integer values to DAC or from ADC channels is provided by
blocks \modelica{DataWrite} or \modelica{DataRead}, respectively. These blocks have
each a variant which works with physical values, instead of the raw integer
Expand Down Expand Up @@ -851,18 +854,18 @@ \subsection{Arduino}
The Arduino\footnote{Arduino, \url{https://arduino.cc}} is an open-source electronics platform which features easy configurations to read the sensors, process the data and send it to other devices via a serial connection.
Therefore, the Arduino can be utilized to provide sensor data in a real-time Modelica model by means of the MDD serial port implementation, as depicted in Figure~\ref{fig:arduino}.
With the help of potentiometers or other deflection sensors, customized control devices can be built.

As an exemplary application, self-built pedals for a driving simulator can be equipped with a sensor in order to measure the displacement. The pedal itself is a steel sheet, mounted on a revolute joint and a shock spring.
The measured deflection is transferred via a serial connection to a \modelica{Blocks.Communication.SerialPortReceive} in order to drive a virtual vehicle.
Therefore, expensive or unavailable input devices can be substituted by custom constructions.
\begin{figure}[h]
\centering
\includegraphics[width=0.9\columnwidth]{figures/arduino}
\caption{Setup to read potentiometer deflection during real-time simulation with MDD serial port model\protect\footnotemark.}
\label{fig:arduino}
\end{figure}
\footnotetext{Autodesk screen shots reprinted courtesy of Autodesk, Inc.}

\noindent
As an exemplary application, self-built pedals for a driving simulator can be equipped with a sensor in order to measure the displacement. The pedal itself is a steel sheet, mounted on a revolute joint and a shock spring.
The measured deflection is transferred via a serial connection to a \modelica{Blocks.Communication.SerialPortReceive} in order to drive a virtual vehicle.
Therefore, expensive or unavailable input devices can be substituted by custom constructions.
By using a Bluetooth module with Serial Port Profile (SPP) a wireless connection between Arduino is handled in the same way as a serial port over USB connection.
No further modifications are necessary to implement a wireless control device.

Expand Down Expand Up @@ -952,6 +955,8 @@ \subsection{Embedded Control}
\caption{The single board heater system running a real-time control algorithm using firmware based on MDD code. There is a programmer attached to the board to upload new firmwares, but the code runs without any computer connected to the SBHS.}
\label{fig:sbhs}
\end{figure}

\noindent
The SBHS consists of a heater assembly, fan, temperature sensor, AVR ATmega16 microcontroller and associated circuitry.
It was developed by IIT Bombay and is used for teaching and learning control systems \cite{Arora2010}.
The MDD SBHS example uses pulse width modulation (PWM) blocks to control the
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,12 +53,9 @@
framexleftmargin=5pt,
xleftmargin=5pt,
xrightmargin=5pt,
showstringspaces=false,
showstringspaces=false
}
\lstset{breaklines=true,label=}
% \lstset{basicstyle=\ttfamily}
\newcommand{\code}[1]{\texttt{\hyphenchar%
\font45%
\sloppy%
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
% Layout: Bernhard Thiele, Linköping University, Sweden, 2015
% Author: Andreas Klöckner, DLR Oberpfaffenhofen, Germany, 2015
%
\ProvidesClass{modelica}[2015/05/20 v2.0 Modelica 2015 conference template]
\ProvidesClass{modelica}[2016/12/13 v2.1 Modelica conference template]

% Declare an abstract option
\newif\ifmodelica@abstract
Expand All @@ -32,20 +32,20 @@

% Set up basic geometry according to abstract option
\ifmodelica@abstract
\LoadClass[11pt,a4paper,onecolumn]{article}
\RequirePackage{geometry} %% please don't change geometry settings!
\geometry{left=35mm, right=35mm, top=15mm, bottom=20mm, noheadfoot}
\LoadClass[11pt,a4paper,onecolumn]{article}
\RequirePackage{geometry} %% please don't change geometry settings!
\geometry{left=35mm, right=35mm, top=15mm, bottom=20mm, noheadfoot}
\else
\LoadClass[11pt,a4paper,twocolumn]{article}
\RequirePackage{geometry} %% please don't change geometry settings!
\geometry{left=18mm, right=18mm, top=25mm, bottom=25mm, noheadfoot}
\LoadClass[11pt,a4paper,twocolumn]{article}
\RequirePackage{geometry} %% please don't change geometry settings!
\geometry{left=18mm, right=18mm, top=25mm, bottom=25mm, noheadfoot}
\fi

% Load packages as done in the example
\RequirePackage{graphicx} %% use graphics
\RequirePackage[T1]{fontenc} %% get hyphenation and accented letters right
\RequirePackage{mathptmx} %% use fitting times fonts also in formulas
\RequirePackage{amsmath} %% get support for pretty maths formulars
\RequirePackage{amsmath} %% get support for pretty math formulas
\RequirePackage{courier} %% For proper courier fonts in texttt
% do not change these lines:
\pagestyle{empty} %% no page numbers!
Expand Down Expand Up @@ -82,8 +82,8 @@
\let\modelica@maketitle\maketitle
\renewcommand{\maketitle}{\modelica@maketitle\thispagestyle{empty}\@afterindentfalse\@afterheading}

% Make headings nice and compact
\RequirePackage[compact]{titlesec}
% Make headings nice and compact and make sure to use a new version
\RequirePackage[compact]{titlesec}[2016/03/21]
\RequirePackage{doi} %% Create cor­rect hy­per­links for DOI num­bers

% Process backend
Expand Down Expand Up @@ -118,6 +118,6 @@
\RequirePackage{color}
\RequirePackage{listings}
\input{resources/listings-modelica.cfg}
\lstset{language = Modelica,
basicstyle=\fontsize{9pt}{10.5pt}\selectfont,
\lstset{language = modelica,
basicstyle=\fontsize{9pt}{10.5pt}\ttfamily,
backgroundcolor = \color{white}}

0 comments on commit 6f756a5

Please sign in to comment.