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.
|
||||
Reference in New Issue
Block a user