Finished approach and align
This commit is contained in:
49
documentation/align.tex
Normal file
49
documentation/align.tex
Normal file
@@ -0,0 +1,49 @@
|
||||
\section{Goal Alignment}
|
||||
|
||||
After the approach, described in the section \ref{p sec approach}, is finished,
|
||||
the robot is facing the ball, and the ball is at a short distance. In the stage
|
||||
of goal alignment, the task is to ensure that from the robot's point of view
|
||||
the ball lies between the goalposts. This means, that when the robot is
|
||||
centered at the ball, the goalposts should lie on either side of the center of
|
||||
the camera image. So the robot will first detect the goal and determine if that
|
||||
is the case. If that is not the case, the robot will go around the ball in a
|
||||
circle in the appropriate direction, until the ball is indeed between the
|
||||
goalposts.
|
||||
|
||||
The walk in circle was implemented in the following way: the robot will step
|
||||
several steps sideways, then will turn to ball, as described in the section
|
||||
\ref{j sec turn to ball}, and finally will adjust the distance to the ball by
|
||||
stepping forwards or backwards, so that the ball is neither too close nor too
|
||||
far. The distance to the ball, similarly to the stage of the direct approach,
|
||||
is not measured explicitly, but is approximated through the position of the
|
||||
ball image in the camera frame. After performing these steps, the check is
|
||||
performed, if the goal alignment is completed. Otherwise, the steps will be
|
||||
repeated until alignment is achieved.
|
||||
|
||||
\begin{figure}[ht]
|
||||
\includegraphics[width=\textwidth]{\fig goal-alignment}
|
||||
\caption{Successful goal alignment}
|
||||
\label{p figure goal-alignment}
|
||||
\end{figure}
|
||||
|
||||
\section{Ball alignment}
|
||||
|
||||
Now that the ball and the goal are aligned, the robot has to move to the ball
|
||||
into a position, from which the kick can be performed. Depending on the
|
||||
situation, it may be feasible to select the foot, with which the kick should be
|
||||
performed, but due to time constraints we programmed the robot to kick with the
|
||||
left foot only. So, the task now is to place the ball in front of the left
|
||||
foot. We realized, that when the ball is in the correct position, then its
|
||||
image in the lower camera should be within a certain region. We experimentally
|
||||
determined the extents of this region. The algorithm therefore is for the robot
|
||||
to gradually adjust its position in small steps, until the ball image reaches
|
||||
the target, after which the robot will proceed with the kick. Our tests have
|
||||
shown, that this approach while being relatively simple, works sufficiently
|
||||
robust, which means that we didn't have the situations, when the robot missed
|
||||
the ball after alignment or even hit the ball with an edge of the foot.
|
||||
|
||||
\begin{figure}[ht]
|
||||
\includegraphics[width=\textwidth]{\fig ball-align}
|
||||
\caption{Ball alignment}
|
||||
\label{p figure ball-alignment}
|
||||
\end{figure}
|
||||
45
documentation/approach.tex
Normal file
45
documentation/approach.tex
Normal file
@@ -0,0 +1,45 @@
|
||||
\section{Ball approach}
|
||||
|
||||
\subsection{Approach from the Side}
|
||||
|
||||
The first possibility is that in the approach planing stage, described in the
|
||||
section \ref{j sec approach planing}, the decision was taken to approach the
|
||||
ball from the side. In this case the robot will walk the calculated distance in
|
||||
the calculated direction. Normally, after the movement the robot should lose
|
||||
the sight of the ball. However, the approximate angle, where the ball should be
|
||||
relative to the robot after the movement, is known. Therefore, the robot will
|
||||
rotate by that angle and will then try to detect the ball and turn to it, using
|
||||
the \textbf{Turn to Ball} algorithm, described in the section \ref {j sec turn
|
||||
to ball}. Once this was done, the approach planning stage is repeated.
|
||||
Normally, the distance to the ball should now be small, and the ball and the
|
||||
goal should lie in the same direction, which means that only short direct
|
||||
approach at this point will be necessary. That might not always be the case, so
|
||||
in rare situations another step of the approach from the side might be
|
||||
necessary.
|
||||
|
||||
\begin{figure}[ht]
|
||||
\includegraphics[width=\textwidth]{\fig after-sideways}
|
||||
\caption{After approach from the side}
|
||||
\label{p figure after-sideways}
|
||||
\end{figure}
|
||||
|
||||
\subsection{Direct Approach}
|
||||
|
||||
It is also possible that the decision will be taken to approach the ball
|
||||
directly, either from the start or after the robot already has approached the
|
||||
ball from the side. In this stage the robot will walk towards the ball trying
|
||||
to stay centered at it. To do so, it will be constantly checked that the ball
|
||||
stays within some tolerance angle from the center of the camera frame. If the
|
||||
ball moves from the center further than by some tolerance angle, then the robot
|
||||
will stop moving, will adjust the movement direction and then will go further.
|
||||
The robot will continue moving until the ball is close enough to start the goal
|
||||
alignment. Do determine if that is the case, we don't use trigonometry, but
|
||||
simply define a threshold, which the image of the ball in the robot's lower
|
||||
camera should reach. Once this happened, the approach stage is over and the
|
||||
robot will start aligning itself to the goal.
|
||||
|
||||
\begin{figure}[ht]
|
||||
\includegraphics[width=\textwidth]{\fig direct-approach}
|
||||
\caption{Approach termination condition}
|
||||
\label{p figure direct-approach}
|
||||
\end{figure}
|
||||
BIN
documentation/figures/after-sideways.png
Normal file
BIN
documentation/figures/after-sideways.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.8 MiB |
BIN
documentation/figures/ball-align.png
Normal file
BIN
documentation/figures/ball-align.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.0 MiB |
BIN
documentation/figures/direct-approach.png
Normal file
BIN
documentation/figures/direct-approach.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 MiB |
BIN
documentation/figures/goal-alignment.png
Normal file
BIN
documentation/figures/goal-alignment.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.9 MiB |
@@ -41,6 +41,8 @@
|
||||
\input{perception} % Ball goal and field
|
||||
% \input{Yuankai}
|
||||
\input{jonas} % Distance, approach planing
|
||||
\input{approach} % Ball approach
|
||||
\input{align} % Goal alignment
|
||||
\input{overview} % The complete strategy
|
||||
\input{conclusion} % Results and future work
|
||||
|
||||
|
||||
Reference in New Issue
Block a user