Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
17 changes: 17 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,22 @@
# ChangeLog

## [1.1.2] - 2024-12-08

### Added
- ServerParams.pitch_margin
- Player.inertia_final_point, PenaltyKickState.cycle, self.get_safety_dash_power.

### Fixed
-

### Changed
-

### Developers
- [SoroushMazloum](https://github.com/SoroushMazloum)

=======

## [1.1.1] - 2024-12-01

### Added
Expand Down
4 changes: 4 additions & 0 deletions idl/grpc/service.proto
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,7 @@ message PenaltyKickState {
int32 our_score = 5;
int32 their_score = 6;
bool is_kick_taker = 7;
int32 cycle = 8;
}

/**
Expand Down Expand Up @@ -172,6 +173,7 @@ message Player {
int32 ball_reach_steps = 28; // How many cycles the player needs to reach the ball.
bool is_tackling = 29; // Whether the player is tackling or not.
int32 type_id = 30; // The type identifier of the player.
RpcVector2D inertia_final_point = 31;
}

/**
Expand Down Expand Up @@ -220,6 +222,7 @@ message Self {
CardType card = 39; // The card type of the agent. It can be NO_CARD, YELLOW, or RED.
int32 catch_time = 40; // The time when the last catch command is performed.
float effort = 41; // The effort of the agent. TODO more info
float get_safety_dash_power = 42;
}

/**
Expand Down Expand Up @@ -1668,6 +1671,7 @@ message ServerParam {
float goal_area_length = 224;
float center_circle_r = 225;
float goal_post_radius = 226;
float pitch_margin = 227;
}

message PlayerParam {
Expand Down
12 changes: 8 additions & 4 deletions idl/thrift/soccer_service.thrift
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,8 @@ struct PenaltyKickState {
4: i32 their_taker_counter,
5: i32 our_score,
6: i32 their_score,
7: bool is_kick_taker
7: bool is_kick_taker,
8: i32 cycle
}

struct Player {
Expand Down Expand Up @@ -145,7 +146,8 @@ struct Player {
27: double angle_from_ball,
28: i32 ball_reach_steps,
29: bool is_tackling,
30: i32 type_id
30: i32 type_id,
31: RpcVector2D inertia_final_point
}

struct Self {
Expand Down Expand Up @@ -189,7 +191,8 @@ struct Self {
38: double stamina_capacity,
39: CardType card,
40: i32 catch_time,
41: double effort
41: double effort,
42: double get_safety_dash_power
}

enum InterceptActionType {
Expand Down Expand Up @@ -1215,7 +1218,8 @@ struct ServerParam {
223: double goal_area_width,
224: double goal_area_length,
225: double center_circle_r,
226: double goal_post_radius
226: double goal_post_radius,
227: double pitch_margin
}

struct PlayerParam {
Expand Down
1 change: 1 addition & 0 deletions src/grpc-client/grpc_client.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -281,6 +281,7 @@ void GrpcClient::sendServerParam() const
serverParam.set_goal_area_length(SP.goalAreaLength());
serverParam.set_center_circle_r(SP.centerCircleR());
serverParam.set_goal_post_radius(SP.goalPostRadius());
serverParam.set_pitch_margin(SP.pitchMargin());
ClientContext context;
protos::Empty empty;
protos::RegisterResponse* response = new protos::RegisterResponse(*M_register_response);
Expand Down
4 changes: 3 additions & 1 deletion src/grpc-client/state_generator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,7 @@ protos::Self *StateGenerator::convertSelf(const rcsc::SelfObject &self, const rc
res->set_card(convertCardType(self.card()));
res->set_catch_time(self.catchTime().cycle());
res->set_effort(static_cast<float>(self.effort()));
res->set_get_safety_dash_power(static_cast<float>(self.getSafetyDashPower(rcsc::ServerParam::i().maxDashPower())));
return res;
}

Expand Down Expand Up @@ -246,7 +247,7 @@ protos::PenaltyKickState *StateGenerator::convertPenaltyKickState(const rcsc::Wo
res->set_our_score(state->ourScore());
res->set_their_score(state->theirScore());
res->set_is_kick_taker(state->isKickTaker(wm.ourSide(), wm.self().unum()));

res->set_cycle(state->time().cycle());
return res;
}

Expand Down Expand Up @@ -288,6 +289,7 @@ void StateGenerator::updatePlayerObject(protos::Player *p, const rcsc::PlayerObj
p->set_ball_reach_steps(player->ballReachStep());
p->set_is_tackling(player->isTackling());
p->set_type_id(player->playerTypePtr()->id());
p->set_allocated_inertia_final_point(convertVector2D(player->inertiaFinalPoint()));
}

/**
Expand Down
1 change: 1 addition & 0 deletions src/thrift-client/thrift_client.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,7 @@ void ThriftAgent::sendServerParam() const
serverParam.goal_area_length = SP.goalAreaLength();
serverParam.center_circle_r = SP.centerCircleR();
serverParam.goal_post_radius = SP.goalPostRadius();
serverParam.pitch_margin = SP.pitchMargin();
try{
soccer::Empty empty;
serverParam.register_response = M_register_response;
Expand Down
4 changes: 3 additions & 1 deletion src/thrift-client/thrift_state_generator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,7 @@ soccer::Self ThriftStateGenerator::convertSelf(const rcsc::SelfObject &self, con
res.card = convertCardType(self.card());
res.catch_time = self.catchTime().cycle();
res.effort = static_cast<float>(self.effort());
res.get_safety_dash_power = static_cast<float>(self.getSafetyDashPower(rcsc::ServerParam::i().maxDashPower()));
return res;
}

Expand Down Expand Up @@ -255,7 +256,7 @@ soccer::PenaltyKickState ThriftStateGenerator::convertPenaltyKickState(const rcs
res.our_score = state->ourScore();
res.their_score = state->theirScore();
res.is_kick_taker = state->isKickTaker(wm.ourSide(), wm.self().unum());

res.cycle = state->time().cycle();
return res;
}

Expand Down Expand Up @@ -304,6 +305,7 @@ void ThriftStateGenerator::updatePlayerObject(soccer::Player & p, const rcsc::Pl
{
p.type_id = player->playerTypePtr()->id();
}
p.inertia_final_point = convertVector2D(player->inertiaFinalPoint());
}

/**
Expand Down