Skip to content

Commit

Permalink
Merge pull request #41 from CLSFramework/develop_issues
Browse files Browse the repository at this point in the history
Develop issues
  • Loading branch information
naderzare authored Dec 9, 2024
2 parents e701105 + f86f39c commit 0b2564a
Show file tree
Hide file tree
Showing 7 changed files with 37 additions and 6 deletions.
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

0 comments on commit 0b2564a

Please sign in to comment.