Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft Feature/metrics #106

Open
wants to merge 97 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
97 commits
Select commit Hold shift + click to select a range
5d8072c
show current play in interface
JJGlezTorres Nov 22, 2023
7646f0c
Broken performance
JJGlezTorres Nov 29, 2023
65a7cf9
Ratio added
JJGlezTorres Nov 29, 2023
4010d7f
Attack / defense ratio added to interface
JJGlezTorres Nov 29, 2023
e491f64
changes to compute average team velocity
JJGlezTorres Dec 5, 2023
e478921
Average velocity computation added
JJGlezTorres Dec 6, 2023
1905a2a
Wait match start before computing added
JJGlezTorres Dec 6, 2023
8045c78
Graph added, still need to be updated with time
JJGlezTorres Dec 13, 2023
eaf0f37
normal chart
JJGlezTorres Jan 10, 2024
bb26a2d
Interface showing heatmap data
JJGlezTorres Jan 22, 2024
fc7aa77
Server implemented
JJGlezTorres Feb 9, 2024
0fa6cb1
Data-to-send added
JJGlezTorres Feb 12, 2024
abfd0d2
Report generation working
JJGlezTorres Feb 28, 2024
219000d
Report more beautiful
JJGlezTorres Feb 29, 2024
b7cbebb
Before-start wrong data put to None
JJGlezTorres Mar 6, 2024
e17ab30
Aux files
JJGlezTorres Mar 6, 2024
523f4a4
Merge branch 'main' into feature/metrics
JJGlezTorres Mar 6, 2024
a926639
Check if pass is tried functionality added
JJGlezTorres Mar 15, 2024
a8dd380
Pass not successful when not offensive AND ROLE OF RECEIVER CHANGED
JJGlezTorres Apr 8, 2024
932db57
Remove unused old path planning stuff
JornJorn Apr 14, 2024
e493f36
Remove unused path planning stuff
JornJorn Apr 14, 2024
3ccc0c3
Add function to get the expected time it takes for the ball to reach …
JornJorn Apr 15, 2024
56f2d55
First working implementation of TIGERS ETDP 2023 overshoot computatio…
JornJorn Apr 15, 2024
25ae240
Make overshoot more readiable
JornJorn Apr 15, 2024
254b6ab
Linter
JornJorn Apr 15, 2024
ee9f94f
Change intermediate points to be randomize instead of predetermined i…
JornJorn Apr 16, 2024
af8e0cf
Keep wallers in the wall instead of moving out of the way during atta…
JornJorn Apr 17, 2024
8a09fae
Give wallers higher prio
JornJorn Apr 17, 2024
2db6b63
Update path planning, collision detection/avoidance still needs some …
JornJorn Apr 18, 2024
d259058
Start of redo collision avoidance in path planning. The old WorldObje…
JornJorn Apr 18, 2024
fd210f1
Add stop and prepare forced start plays for clarity
Apr 22, 2024
ef85857
Add moving obstacle avoidance (partially)
JornJorn Apr 22, 2024
49310d5
Remove shouldRecalculatePath
JornJorn Apr 22, 2024
4d4b241
Always redo path planning (this gives some issues with path tracking)
JornJorn Apr 22, 2024
a4c5027
Always recalculate path planning
JornJorn Apr 23, 2024
bcdd2a3
Clean up (control) constants partially
JornJorn Apr 23, 2024
1ac0e1e
Clean up StpInfo
JornJorn Apr 23, 2024
f24822d
Rotate fix by driving forward
JornJorn Apr 23, 2024
152e9df
cppcheck suggestions
JornJorn Apr 24, 2024
768722e
Fix out of memory in for loop (off by 1 error)
JornJorn Apr 24, 2024
5db962b
Some improvements for mutex and formater
JornJorn Apr 24, 2024
1ec2b70
Add robotHubModeMutex to prevent data race
JornJorn Apr 24, 2024
38660c9
Add more mutex to prevent data race
JornJorn Apr 24, 2024
9450bde
Add even more mutex to prevent data race
JornJorn Apr 24, 2024
4eb2969
Add robotFeedbackPublisherMutex
JornJorn Apr 25, 2024
db7b076
Remove accidental deadlock when playing 1v1
JornJorn Apr 25, 2024
70f0909
Fix lagging when Ref proto message contains lots of junk
JornJorn Apr 25, 2024
23a0400
Improve avoidance
JornJorn Apr 29, 2024
cb6a1f4
Make ball placement normal game state for higher max vel
JornJorn Apr 30, 2024
c95edea
Get TimeLeft from autoref to go to normal play when the opponent take…
Apr 30, 2024
7af8511
Fix margin during orbit, so that kick off is not a double touch
Apr 30, 2024
5620120
Fix drawing
Apr 30, 2024
cdf2c75
Add InstantKick skill for proper free kicks and kick offs
Apr 30, 2024
0f59794
Fix 'Robot kicks when in stop state and ball is placed close to him b…
JornJorn Apr 30, 2024
23025d7
Merge branch 'update/path-planning' of github.com:RoboTeamTwente/robo…
May 1, 2024
5d157f6
Hopefully fix laggy behaviour + revert free kick us end play behaviour
JornJorn May 1, 2024
b89d8bf
Fix avoid ball for our robots during ball placement us
May 2, 2024
f2dda11
Fix drawing
May 2, 2024
26a11a5
Passes from free kick fixed
JJGlezTorres May 3, 2024
fc5057b
Shubert open useful hotfixes
May 7, 2024
28d784d
Shubert open useful hotfixes
May 7, 2024
3b9f68f
Shubert open useful hotfixes
May 7, 2024
ef9d0f3
Fix interception computations to take into account their robots poten…
May 7, 2024
bcd424e
Don't intercept with keeper
JornJorn May 7, 2024
1822464
Formatter
May 7, 2024
ff6603c
Merge branch 'update/path-planning' of github.com:RoboTeamTwente/robo…
May 7, 2024
645b810
Use WeWillHaveBall instead of TheyDoNotHaveBall
May 7, 2024
c691265
Fix isInterceptable boolean in interceptioncomputations to be more ac…
May 7, 2024
1c98024
STP code clean up
JornJorn May 7, 2024
2039464
Fix error margins
JornJorn May 8, 2024
f10182b
Improve get ball
JornJorn May 8, 2024
f675cc9
Fix Defender to close to kickpoint foul
May 8, 2024
2b80f60
Making Jorn happy
May 8, 2024
cd2fc29
Readd ball placement ball avoiders
JornJorn May 8, 2024
6709e2f
Set tag for tracy and web socket. This has two advantages
JornJorn May 9, 2024
b38285a
Improve rotation/orbit with ball. Still needs irl testing with control
JornJorn May 9, 2024
2124a7b
Refix ball placement them path planning by changing target position t…
JornJorn May 13, 2024
aaa82c1
Fix Ball placement them and Prepare forced start confusion. Sync role…
May 13, 2024
4a0455e
Fix FreeKickUsPass not stopping
May 13, 2024
6c62012
Remove ball speed from shouldEndPlay functions, to switch between pla…
May 13, 2024
468e55c
Change interface colors a bit, add goal drawings again
JornJorn May 14, 2024
c4cbc37
Add random modifier to shooting at goal for more goalshots and unpred…
May 14, 2024
d356aef
Merge branch 'update/path-planning' of github.com:RoboTeamTwente/robo…
May 14, 2024
408d53b
Fix small mistook about path planning goal avoidance
JornJorn May 14, 2024
0f69736
Allow path planning through defense area of theirs
JornJorn May 14, 2024
c8c6191
1.0 passing accuracy (first complete working version)
JJGlezTorres May 14, 2024
6349791
Changes to the interface
JornJorn May 15, 2024
07fc2c3
Fix overshoot computations implementation. There was a small mistake,…
JornJorn May 15, 2024
ea79fae
Readded some old shortcuts because some others don't work on a laptop…
JornJorn May 15, 2024
d827386
Formatter
JornJorn May 15, 2024
d428271
Fix overshoot computations implementation. There was a small mistake,…
JornJorn May 15, 2024
85557c8
Add goal post avoidance ignore to keeper ball blocker for overshoot c…
JornJorn May 16, 2024
eadbf98
Update interface packages
JornJorn May 16, 2024
b0b384a
Merge branch 'main' of github.com:RoboTeamTwente/roboteam into featur…
JJGlezTorres May 16, 2024
1b7eb5a
Merge branch 'update/path-planning' of github.com:RoboTeamTwente/robo…
JJGlezTorres May 16, 2024
070c005
Towards good passing accuracy
JJGlezTorres May 16, 2024
d9086fc
Information about passes added to the report
JJGlezTorres Jun 17, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion cmake_modules/GetIXWebSocket.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ include(FetchContent)

FetchContent_Declare(IXWebSocket
GIT_REPOSITORY https://github.com/machinezone/IXWebSocket.git
GIT_TAG master
GIT_TAG v11.4.5
GIT_SHALLOW TRUE
)

FetchContent_MakeAvailable(IXWebSocket)
2 changes: 1 addition & 1 deletion cmake_modules/GetTracy.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ include(FetchContent)
FetchContent_Declare (
tracy
GIT_REPOSITORY https://github.com/wolfpld/tracy.git
GIT_TAG master
GIT_TAG v0.10
GIT_SHALLOW TRUE
GIT_PROGRESS TRUE
)
Expand Down
5 changes: 4 additions & 1 deletion docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,9 @@ RUN apk add --no-cache \
qt5-qtbase-dev qt5-qtcharts-dev qt5-qtdeclarative-dev qt5-qtsvg-dev \
sudo nodejs npm
RUN npm install -g yarn
RUN npm install chart.js
RUN npm install vue-socket.io socket.io socket.io-client
RUN npm install axios

COPY --from=development --chown=root:root /usr/local/lib/libprotobuf.so.31 /usr/local/lib/libprotobuf.so.31
COPY --from=development --chown=root:root /usr/local/bin/protoc /usr/local/bin/protoc
Expand All @@ -85,4 +88,4 @@ ENV LD_LIBRARY_PATH=$HOME/lib/

# Copy just build binaries (roboteam software) from volume to container home
# Note: cannot COPY from outside context, build from parent folder
COPY --chown=$USER:$USER ../build/release/ $HOME/
COPY --chown=$USER:$USER ../build/release/ $HOME/
3 changes: 0 additions & 3 deletions docs/World.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,9 +109,6 @@ if (currentWorld.has_value()) {
the internal world accordingly. Takes ownership of the original data.
Ownership will be explained in a lecture about move semantics.

`updatePositionControl` -> Updates the internal `positionControl` using the new robot positions
in the current world data representation.

`getWorld` -> Gets an optional pointer to `currentWorld`.

`getField` -> Returns `this->currentField`
Expand Down
17 changes: 0 additions & 17 deletions roboteam_ai/include/roboteam_ai/control/ControlUtils.h
Original file line number Diff line number Diff line change
Expand Up @@ -41,23 +41,6 @@ class ControlUtils {
*/
static Vector2 velocityLimiter(const Vector2 &vel, double maxVel = Constants::MAX_VEL(), double minVel = 0.0, bool listenToReferee = true);

/**
* @brief Limits the acceleration
* @param targetVel velocity the robot should be at
* @param prevVel velocity of the robot in the previous tick
* @param targetAngle the angle the robot should be at
* @param sidewaysAcceleration maximum sideways acceleration
* @param forwardsAcceleration maximum forward acceleration
* @param sidewaysDeceleration maximum sideways deceleration
* @param forwardsDeceleration maximum forward deceleration
* @return limited acceleration
*/
static Vector2 accelerationLimiter(const Vector2 &targetVel, const Vector2 &prevVel, const Angle &targetAngle,
double sidewaysAcceleration = Constants::MAX_ACC_LOWER() / Constants::STP_TICK_RATE(),
double forwardsAcceleration = Constants::MAX_ACC_UPPER() / Constants::STP_TICK_RATE(),
double sidewaysDeceleration = Constants::MAX_DEC_LOWER() / Constants::STP_TICK_RATE(),
double forwardsDeceleration = Constants::MAX_DEC_UPPER() / Constants::STP_TICK_RATE());

/**
* @brief calculates whether the object velocity will collide with a point
* @param objectPosition position of the object
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#include <array>
#include <vector>

namespace rtt::BB {
namespace rtt::ai::control {
/**
* @brief Represents a segment of a one-dimensional bang-bang trajectory.
*/
Expand Down Expand Up @@ -105,7 +105,7 @@ class BBTrajectory1D {
* @brief Puts all BBT parts in a vector
* @return All BBT parts as a vector
*/
std::vector<BB::BBTrajectoryPart> getParts();
std::vector<rtt::ai::control::BBTrajectoryPart> getParts();

/**
* @brief Constructor for the BBTrajectory1D class
Expand Down Expand Up @@ -168,6 +168,6 @@ class BBTrajectory1D {
double finalPos; /**< Target position to go to */
double maxVel; /**< Maximum allowed velocity */
};
} // namespace rtt::BB
} // namespace rtt::ai::control

#endif // RTT_BBTRAJECTORY1D_H
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

#include "BBTrajectory1D.h"

namespace rtt::BB {
namespace rtt::ai::control {

/**
* @author Rolf
Expand Down Expand Up @@ -73,7 +73,7 @@ class BBTrajectory2D {
/**
* @brief Returns all the trajectory parts in both dimensions to use in the Trajectory2D class
*/
[[nodiscard]] std::pair<std::vector<BB::BBTrajectoryPart>, std::vector<BB::BBTrajectoryPart>> getParts();
[[nodiscard]] std::pair<std::vector<rtt::ai::control::BBTrajectoryPart>, std::vector<rtt::ai::control::BBTrajectoryPart>> getParts();

private:
/**
Expand All @@ -93,5 +93,5 @@ class BBTrajectory2D {
BBTrajectory1D x; /**< 1D x component of the 2D BBT */
BBTrajectory1D y; /**< 1D y component of the 2D BBT */
};
} // namespace rtt::BB
} // namespace rtt::ai::control
#endif // RTT_BBTRAJECTORY2D_H
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class Trajectory1D {
* @param newParts Trajectory which needs to be stored
* @param addFromTime Time the trajectory was created
*/
void addTrajectory(const std::vector<BB::BBTrajectoryPart> &newParts, double addFromTime);
void addTrajectory(const std::vector<rtt::ai::control::BBTrajectoryPart> &newParts, double addFromTime);

/**
* @brief Gets the position at time t
Expand Down Expand Up @@ -44,9 +44,9 @@ class Trajectory1D {
*/
[[nodiscard]] double getTotalTime() const;

std::vector<BB::BBTrajectoryPart> parts; /**< Vector containing all parts of the trajectory */
double finalPos; /**< Target position to go to */
double maxVel; /**< Maximum allowed velocity */
std::vector<rtt::ai::control::BBTrajectoryPart> parts; /**< Vector containing all parts of the trajectory */
double finalPos; /**< Target position to go to */
double maxVel; /**< Maximum allowed velocity */
};

} // namespace rtt
Expand Down

This file was deleted.

Loading
Loading