Skip to content

Commit e8e1e3e

Browse files
authored
Merge pull request #2 from Cyrus2D/develop_nader_denoise_for_test
Develop nader denoise for test
2 parents 420a4ab + 8bc5540 commit e8e1e3e

File tree

11 files changed

+95
-20
lines changed

11 files changed

+95
-20
lines changed

rcsc/player/abstract_player_object.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ class AbstractPlayerObject {
5656

5757
//! type of pointer container
5858
typedef std::vector< const AbstractPlayerObject * > Cont;
59+
Vector2D M_pos; //!< global coordinate
60+
Vector2D M_base_pos; //!< global coordinate
5961

6062
protected:
6163

@@ -69,7 +71,7 @@ class AbstractPlayerObject {
6971
const PlayerType * M_player_type; //!< player type reference
7072
Card M_card; //!< card information
7173

72-
Vector2D M_pos; //!< global coordinate
74+
7375
int M_pos_count; //!< main accuracy counter
7476

7577
Vector2D M_seen_pos; //!< last seen global coordinate

rcsc/player/ball_object.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,9 @@ BallObject::BallObject()
7979
M_lost_count( 0 ),
8080
M_ghost_count( 0 ),
8181
M_dist_from_self( 1000.0 ),
82-
M_angle_from_self( 0.0 )
82+
M_angle_from_self( 0.0 ),
83+
M_seen_dist(1000.),
84+
M_seen_angle(-360.)
8385
{
8486

8587
}

rcsc/player/ball_object.h

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,10 @@ class SelfObject;
5959
-> updateSelfRelated()
6060
*/
6161
class BallObject {
62+
public:
63+
Vector2D M_pos; //!< estimated global position
64+
Vector2D M_base_pos;
65+
6266
private:
6367
//! validation count threshold value for M_pos
6468
static int S_pos_count_thr;
@@ -67,7 +71,6 @@ class BallObject {
6771
//! validation count threshold value for M_vel
6872
static int S_vel_count_thr;
6973

70-
Vector2D M_pos; //!< estimated global position
7174
Vector2D M_pos_error; //!< estimated error of global position
7275
int M_pos_count; //!< cycle count since the last observation
7376

@@ -99,6 +102,9 @@ class BallObject {
99102
double M_dist_from_self; //!< estimated distance from self
100103
AngleDeg M_angle_from_self; //!< estimated global angle from self
101104

105+
double M_seen_dist;
106+
double M_seen_angle;
107+
102108

103109
std::list< Vector2D > M_pos_history;
104110

@@ -474,6 +480,21 @@ class BallObject {
474480
vel(),
475481
ServerParam::i().ballDecay() );
476482
}
483+
484+
double seen_dist() const
485+
{
486+
return M_seen_dist;
487+
}
488+
489+
double seen_angle() const
490+
{
491+
return M_seen_angle;
492+
}
493+
494+
void set_seen_info(const double& seen_dist, const double& seen_angle){
495+
M_seen_dist = seen_dist;
496+
M_seen_angle = seen_angle;
497+
}
477498

478499
};
479500

rcsc/player/localization.h

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,9 @@ class Localization {
7070

7171
double dist_error_; //!< seen distance error
7272

73+
double seen_dist;
74+
double seen_angle;
75+
7376
/*!
7477
\brief init member variables by error value
7578
*/
@@ -87,7 +90,9 @@ class Localization {
8790
pointto_( false ),
8891
kicking_( false ),
8992
tackle_( false ),
90-
dist_error_( 0.0 )
93+
dist_error_( 0.0 ),
94+
seen_dist(1000),
95+
seen_angle(-360)
9196
{ }
9297

9398
/*!

rcsc/player/localization_default.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1475,6 +1475,9 @@ LocalizationDefault::localizePlayer( const VisualSensor::PlayerT & from,
14751475
to->rpos_.x = average_dist * AngleDeg::cos_deg( average_dir );
14761476
to->rpos_.y = average_dist * AngleDeg::sin_deg( average_dir );
14771477

1478+
to->seen_dist = from.dist_;
1479+
to->seen_angle = self_face + from.dir_;
1480+
14781481
// set distance error
14791482
to->dist_error_ = dist_error;
14801483

rcsc/player/player_agent.cpp

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2444,6 +2444,9 @@ PlayerAgent::Impl::analyzeWarning( const char * msg )
24442444
/*!
24452445
24462446
*/
2447+
2448+
void PlayerAgent::update_player_by_denoiser(){}
2449+
24472450
void
24482451
PlayerAgent::action()
24492452
{
@@ -2484,14 +2487,20 @@ PlayerAgent::action()
24842487
// ------------------------------------------------------------------------
24852488
// last update
24862489
// update positining matrix, offside line, defense line, etc.
2487-
M_worldmodel.updateJustBeforeDecision( effector(),
2488-
M_impl->current_time_ );
24892490
if ( config().debugFullstate()
24902491
&& M_fullstate_worldmodel.isValid() )
24912492
{
2492-
M_fullstate_worldmodel.updateJustBeforeDecision( effector(),
2493-
M_impl->current_time_ );
2493+
M_fullstate_worldmodel.updateJustBeforeDecision1( effector(),
2494+
M_impl->current_time_ );
2495+
M_fullstate_worldmodel.updateJustBeforeDecision2( effector(),
2496+
M_impl->current_time_ );
24942497
}
2498+
M_worldmodel.updateJustBeforeDecision1( effector(),
2499+
M_impl->current_time_ );
2500+
update_player_by_denoiser();
2501+
M_worldmodel.updateJustBeforeDecision2( effector(),
2502+
M_impl->current_time_ );
2503+
24952504

24962505
// reset last action effect
24972506
M_effector.reset();

rcsc/player/player_agent.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,10 @@ class PlayerAgent
142142
return M_worldmodel;
143143
}
144144

145+
WorldModel & world_not_const()
146+
{
147+
return M_worldmodel;
148+
}
145149
/*!
146150
\brief get fullstate worldmodel
147151
\return const reference to fullstate world model instance
@@ -367,6 +371,7 @@ class PlayerAgent
367371
*/
368372
void action();
369373

374+
virtual void update_player_by_denoiser();
370375
protected:
371376

372377
/*!

rcsc/player/player_object.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,9 @@ int PlayerObject::S_player_count = 0;
6060
PlayerObject::PlayerObject()
6161
: AbstractPlayerObject( ++S_player_count ),
6262
M_ghost_count( 0 ),
63-
M_tackle_count( 1000 )
63+
M_tackle_count( 1000 ),
64+
M_seen_dist(1000),
65+
M_seen_angle(-360)
6466
{
6567

6668
}
@@ -76,6 +78,8 @@ PlayerObject::PlayerObject( const SideID side,
7678
M_tackle_count( 1000 )
7779
{
7880
M_dist_from_self = p.rpos_.r();
81+
M_seen_dist = p.seen_dist;
82+
M_seen_angle = p.seen_angle;
7983

8084
if ( p.hasVel() )
8185
{
@@ -220,6 +224,9 @@ PlayerObject::updateBySee( const SideID side,
220224
M_side = side;
221225
M_ghost_count = 0;
222226

227+
M_seen_dist = p.seen_dist;
228+
M_seen_angle = p.seen_angle;
229+
223230
// unum is updated only when unum is seen.
224231
if ( p.unum_ != Unum_Unknown )
225232
{

rcsc/player/player_object.h

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ class PlayerObject
5858
typedef std::list< PlayerObject > List;
5959

6060
//! type of the player object pointer container
61-
typedef std::vector< const PlayerObject * > Cont;
61+
typedef std::vector< PlayerObject * > Cont;
6262

6363

6464
private:
@@ -77,6 +77,9 @@ class PlayerObject
7777

7878
std::list< Vector2D > M_pos_history;
7979

80+
double M_seen_dist;
81+
double M_seen_angle;
82+
8083
public:
8184

8285
/*!
@@ -306,6 +309,15 @@ class PlayerObject
306309
*/
307310
void forget();
308311

312+
double seen_dist() const
313+
{
314+
return M_seen_dist;
315+
}
316+
317+
double seen_angle() const
318+
{
319+
return M_seen_angle;
320+
}
309321
};
310322

311323
}

rcsc/player/world_model.cpp

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2144,8 +2144,8 @@ WorldModel::updatePlayerStaminaByHear()
21442144
21452145
*/
21462146
void
2147-
WorldModel::updateJustBeforeDecision( const ActionEffector & act,
2148-
const GameTime & current )
2147+
WorldModel::updateJustBeforeDecision1( const ActionEffector & act,
2148+
const GameTime & current )
21492149
{
21502150
if ( time() != current )
21512151
{
@@ -2188,6 +2188,12 @@ WorldModel::updateJustBeforeDecision( const ActionEffector & act,
21882188
}
21892189
#endif
21902190

2191+
}
2192+
2193+
void
2194+
WorldModel::updateJustBeforeDecision2( const ActionEffector & act,
2195+
const GameTime & current )
2196+
{
21912197
updateOurOffenseLine();
21922198
updateOurDefenseLine();
21932199
updateTheirOffenseLine();
@@ -2208,7 +2214,6 @@ WorldModel::updateJustBeforeDecision( const ActionEffector & act,
22082214
M_intercept_table->teammateReachCycle(),
22092215
M_intercept_table->opponentReachCycle() );
22102216
}
2211-
22122217
/*-------------------------------------------------------------------*/
22132218
/*!
22142219
@@ -2432,6 +2437,8 @@ WorldModel::localizeBall( const VisualSensor & see,
24322437
return;
24332438
}
24342439

2440+
M_ball.set_seen_info(see.balls().front().dist_, self().face().degree() + see.balls().front().dir_);
2441+
24352442
if ( ! rpos.isValid() )
24362443
{
24372444
#ifdef DEBUG_PRINT_BALL_UPDATE

0 commit comments

Comments
 (0)