-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathintroduction.tex
28 lines (17 loc) · 3.76 KB
/
introduction.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
\section{Introduction}
\label{sec:Introduction}
% What is the problem?
RobonAUT is an annual contest of the Department of Automation and Applied Informatics of the Budapest University of Technology and Economics. Each year many teams design and build autonomous model cars to compete on an obstacle course, and rival each other on a race track. The robots must be completely autonomous, lacking any remote control, and any sort of external intervention during the race is punished. The team whose car scores the highest wins the contest \cite{rules}.
% Motivation, why is it interesting and important?
Even with such simple robots, there are enormous amounts of work, including the design of the system hardware carrying the sensor array, the software capable of recognizing and handling obstacles, a client software to ensure a safe testing environment and an efficient control system to keep the the car stable while sweeping through the racetrack \cite{robonauttdk}. As the fame of the competition grows, the expectations towards the cars heighten and teams become more ferocious to win. This all causes the pressure on the students to enlarge, while they have to hold their own in other challenges throughout the semester.
% Problem statement, why is it hard? (E.g., why do naive approaches fail?)?
Usually a low-level approach to the problem is the best for small projects like this. Although good ideas people have used successfully in the past must not be forgotten, innovation is crucial. Therefore we decided to look beyond the common methods of software development, in order to find a solution that allows us to concentrate on more important aspects, instead of getting lost in the source code. However, utilizing complex technologies and integrating various pieces of design software is not an easy task. It might present more problems than solutions, because the available time for the development is limited.
% Why hasn't it been solved before? (Or, what's wrong with previous proposed solutions? How does mine differ?)
Although these tools can greatly enhance the productivity of the developers, Model-Based Design is still scarcely used in the industry. In addition to its initial setup complexity, the high price of the design software discourage its use even further. Against all these odds its popularity is increasing, but it was never considered a way to deal with small projects before.
% What are the key components of my approach and results? Also include any specific limitations.
We wanted to demonstrate that a scaled-down approach is possible using this method. The functional software and the operating system responsible for the core services can be integrated manually, and most of the advantages can be retained while keeping the technology simple. We used \textsf{MATLAB-Simulink} to create a \emph{Rapid Prototyping} environment, in which using a simulated model of the system the software development process could be started weeks before an actual hardware prototype was manufactured. Using automated code-generation for the target hardware, the core functions can be augmented with features designed and verified in a visual model-based environment, to overcome the challenges the contest presents. The development cycle becomes shorter, and the code generation software guarantees the functionally correct source code.
\paragraph{Outline}
\begin{itemize}
\item The paper will demonstrate how the focus of the software development has shifted from actual coding to a more visual and mathematical representation, and how to harness its features to quickly develop a reliable system.
\item It will be described how to integrate the \textsf{MATLAB} source with the Core system, and deploy it on the target hardware, the \textsf{STM32F4-Discovery} developer board.
\end{itemize}