assigned the portions

This commit is contained in:
2018-08-09 13:41:08 +02:00
parent b783abe389
commit 6212380893
19 changed files with 78 additions and 202 deletions

View File

@@ -0,0 +1,72 @@
\chapter{Conclusion}
\section{Results}
In this section we will summarize our most important achievements during the
work on the project. First, we managed to implement robust detection
algorithms, on which we could rely when we worked on higher-lever behaviors.
During our tests, there were almost no false detections, i.e.\ foreign objects
were not detected as a ball or a goal. Sometimes the ball and the goal were
missed, even if they were in the field of view, which happened due to imprecise
color calibration under changing lighting conditions. The goal detection was
one of the most difficult project milestones, so we are particularly satisfied
with the resulting performance. It is worth mentioning, that with the current
algorithm, for successful detection it is not even necessary to have the whole
goal in the camera image.
Another important achievement is the overall system robustness. In our tests
the robot could successfully reach the ball, do the necessary alignments and
kick the ball. When the robot decided that it should kick the ball, in the
majority of cases the kick was successful and the ball reached the target. We
performed these tests from many starting positions and assuming a variety of
different relative positions of the ball and the goal.
Furthermore, we managed not only to make the whole approach robust, but also
worked on making the procedure fast, and the approach planning was a crucial
element of this. In the project's early stages, the robot couldn't approach the
ball from the side, depending on the goal position, and instead always walked
towards the ball directly and aligned to the goal afterwards. The tests have
shown, that in such configuration the goal alignment was actually the longest
phase and could take over a minute. Then we introduced the approach planning,
and as a result the goal alignment stage could in many scenarios be completely
eliminated, which was greatly beneficial for the execution times. Finally,
thanks to the strong kick, the goal can be scored from a large range of
distances, which means that in some situations is not necessary to bring the
ball closer to the goal, which can also save time.
\section{Future Work}
With our objective for this semester completed, there still remains a vast room
for improvement. Some of the most interesting topics for future work will now
presented.
The first important topic is \textit{self-localization}. Currently our robot is
completely unaware of its position on the field, but if such information could
be obtained, then it could be leveraged to make path planning more effective
and precise.
Another important capability, that our robot lacks for now, is \textit{obstacle
awareness}, which would be unacceptable in a real RoboCup soccer game. Making
the robot aware of the obstacles on the field would require the obstacle
detection to be implemented, as well as some changes to the path planning
algorithms to be made, which makes this task an interesting project on its own.
A further capability that could be useful for the striker is the ability to
perform \textit{different kicks} depending on the situation. For example, if
the robot could perform a sideways kick, then the goal alignment would in many
situations be unnecessary, which would reduce the time needed to score a goal.
In this semester we concentrated on a ``free-kick'' situation, so our robot can
perform its tasks in the absence of other players when the ball is not moving.
Another constraint that we imposed on our problem is that the ball is
relatively close to the goal, and that the ball is closer to the goal than the
robot, so that the robot doesn't have to move away from the goal first. To be
useful in a real game the striker should be able to handle more complex
situations. For example, \textit{dribbling} skill could help the robot to avoid
the opponents and to bring the ball into a convenient striking position.
Finally, we realized that the built-in moving functions in NAOqi SDK produce
fairly slow movements, and also don't allow to change the direction of movement
fluently, which results in pauses when the robot needs to move in another
direction. This realization brings us to thought, that the custom-implemented
movement might result in much faster and smoother behavior.

View File

@@ -0,0 +1,46 @@
\chapter{Introduction}
RoboCup \cite{robocup} is an international competition in the field of
robotics, the ultimate goal of which is to win a game of soccer against a human
team by the middle of the 21st century. The motivation behind this objective is
the following: It is impossible to achieve such an ambitious goal with the
current state of technology, which means that the RoboCup competitions will
drive scientific and technological advancement in such areas as computer
vision, mechatronics and multi-agent cooperation in complex dynamic
environments. The RoboCup teams compete in five different leagues: Humanoid,
Standard Platform, Medium Size, Small Size and Simulation. Our work in this
semester was based on the rules of the \textit{Standard Platform League}. In
this league all teams use the same robot \textit{Nao}, which is being produced
by SoftBank Robotics. We will describe the capabilities of this robot in
more detail in the next chapter.
A couple of words need to be said about the state-of-the-art. One of the most
notable teams in the Standard Platform League is \textit{B-Human}
\cite{bhuman}. This team represents the University of Bremen and in the last
nine years they won the international RoboCup competition six times and twice
were the runner-up. The source code of the framework that B-Human use for
programming their robots is available on GitHub, together with an extensive
documentation, which makes the B-Human framework a frequent starting point for
RoboCup beginners.
\section{Our Objective and Motivation}
\label{sec problem statement}
In this report we are going to introduce the robotics project, which our team
worked on during the Summer Semester 2018. The main objective of our work was
to explore a possible strategy for fast goal scoring. There are three main
aspects of our motivation behind this objective. The first one is the fact,
that goal scoring is crucial for winning soccer games, therefore fast and
effective goal scoring will bring the team closer to victory. Secondly, in
order to score a goal, many problems and tasks need to be solved, which we will
describe in close detail in the following chapters. The work on these tasks
would allow us to acquire new competences, which we could then use to
complement the RoboCup team of the TUM. Finally, this objective encompasses
many disciplines, such as object detection, mechatronics or path planning,
which means that working on it might give us a chance to contribute to the
research in these areas.
Having said that, we hope that our project will be a positive contribution to
the work being done at the Institute for Cognitive Systems and that this
report will help future students to get familiar with our results and continue
our work.

View File

@@ -0,0 +1,33 @@
\chapter{Our Solution}
To achieve our objective, we identified ten big milestones that needed to be
completed, which are:
\begin{enumerate}
\item Ball detection
\item Goal detection
\item Field detection
\item Turning to ball
\item Distance measurement
\item Approach planning
\item Ball approach
\item Goal alignment
\item Ball alignment
\item Kick.
\end{enumerate}
In this chapter we will give our solutions to the problems posed by each of the
milestones, and at the end the resulting goal scoring strategy will be
presented. We will now start with the lower level detection milestones and
will gradually introduce higher level behaviors.