assigned the portions
This commit is contained in:
72
documentation/Common/conclusion.tex
Normal file
72
documentation/Common/conclusion.tex
Normal 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.
|
||||
46
documentation/Common/introduction.tex
Normal file
46
documentation/Common/introduction.tex
Normal 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.
|
||||
33
documentation/Common/solintro.tex
Normal file
33
documentation/Common/solintro.tex
Normal 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.
|
||||
Reference in New Issue
Block a user