Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
Seminar-HFO
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Shashank Suhas
Seminar-HFO
Commits
358653d5
Commit
358653d5
authored
9 years ago
by
Matthew Hausknecht
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Updated sample player to fix recording.
parent
7cd8aea9
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
20 additions
and
45 deletions
+20
-45
src/sample_player.cpp
src/sample_player.cpp
+20
-41
src/sample_player.h
src/sample_player.h
+0
-4
No files found.
src/sample_player.cpp
View file @
358653d5
...
@@ -225,34 +225,6 @@ SamplePlayer::initImpl( CmdLineParser & cmd_parser )
...
@@ -225,34 +225,6 @@ SamplePlayer::initImpl( CmdLineParser & cmd_parser )
return
true
;
return
true
;
}
}
/*! Listen from a message from the trainer that reveals the
configuration of the HFO domain. Use this to populate our HFO_Config
struct.
*/
bool
SamplePlayer
::
getHFOConfig
()
{
const
AudioSensor
&
audio_sensor
=
audioSensor
();
if
(
audio_sensor
.
trainerMessageTime
().
cycle
()
>
lastTrainerMessageTime
)
{
const
std
::
string
&
message
=
audio_sensor
.
trainerMessage
();
if
(
hfo
::
ParseConfig
(
message
,
hfo_config
))
{
lastTrainerMessageTime
=
audio_sensor
.
trainerMessageTime
().
cycle
();
if
(
config
().
teamName
().
compare
(
hfo_config
.
offense_team_name
)
==
0
)
{
playing_offense
=
true
;
}
else
if
(
config
().
teamName
().
compare
(
hfo_config
.
defense_team_name
)
==
0
)
{
playing_offense
=
false
;
}
if
(
playing_offense
)
{
num_teammates
=
std
::
max
(
0
,
hfo_config
.
num_offense
-
1
);
num_opponents
=
hfo_config
.
num_defense
;
}
else
{
num_teammates
=
std
::
max
(
0
,
hfo_config
.
num_defense
-
1
);
num_opponents
=
hfo_config
.
num_offense
;
}
return
true
;
}
}
return
false
;
}
/*-------------------------------------------------------------------*/
/*-------------------------------------------------------------------*/
/*!
/*!
main decision
main decision
...
@@ -263,21 +235,28 @@ SamplePlayer::actionImpl()
...
@@ -263,21 +235,28 @@ SamplePlayer::actionImpl()
{
{
#ifdef ELOG
#ifdef ELOG
if
(
config
().
record
())
{
if
(
config
().
record
())
{
if
(
feature_extractor
==
NULL
)
{
if
(
audioSensor
().
trainerMessageTime
().
cycle
()
>
lastTrainerMessageTime
)
{
if
(
getHFOConfig
())
{
const
std
::
string
&
message
=
audioSensor
().
trainerMessage
();
feature_extractor
=
Agent
::
getFeatureExtractor
(
if
(
feature_extractor
==
NULL
)
{
hfo
::
LOW_LEVEL_FEATURE_SET
,
num_teammates
,
num_opponents
,
playing_offense
)
;
hfo
::
Config
hfo_config
;
}
if
(
hfo
::
ParseConfig
(
message
,
hfo_config
))
{
}
else
{
bool
playing_offense
=
world
().
ourSide
()
==
rcsc
::
LEFT
;
if
(
audioSensor
().
trainerMessageTime
().
cycle
()
>
lastTrainerMessageTime
)
{
int
num_teammates
=
playing_offense
?
const
std
::
string
&
message
=
audioSensor
().
trainerMessage
()
;
hfo_config
.
num_offense
-
1
:
hfo_config
.
num_defense
-
1
;
hfo
::
status_t
game_status
;
int
num_opponents
=
playing_offense
?
if
(
hfo
::
ParseGameStatus
(
message
,
game_status
))
{
hfo_config
.
num_defense
:
hfo_config
.
num_offense
;
elog
.
addText
(
Logger
::
WORLD
,
"GameStatus %d"
,
game_status
);
feature_extractor
=
new
LowLevelFeatureExtractor
(
elog
.
flush
(
);
num_teammates
,
num_opponents
,
playing_offense
);
}
}
lastTrainerMessageTime
=
audioSensor
().
trainerMessageTime
().
cycle
();
}
}
hfo
::
status_t
game_status
;
if
(
hfo
::
ParseGameStatus
(
message
,
game_status
))
{
elog
.
addText
(
Logger
::
WORLD
,
"GameStatus %d"
,
game_status
);
elog
.
flush
();
}
lastTrainerMessageTime
=
audioSensor
().
trainerMessageTime
().
cycle
();
}
if
(
feature_extractor
!=
NULL
)
{
feature_extractor
->
ExtractFeatures
(
this
->
world
());
feature_extractor
->
ExtractFeatures
(
this
->
world
());
feature_extractor
->
LogFeatures
();
feature_extractor
->
LogFeatures
();
}
}
...
...
This diff is collapsed.
Click to expand it.
src/sample_player.h
View file @
358653d5
...
@@ -99,10 +99,6 @@ public:
...
@@ -99,10 +99,6 @@ public:
FieldEvaluator
::
ConstPtr
getFieldEvaluator
()
const
;
FieldEvaluator
::
ConstPtr
getFieldEvaluator
()
const
;
protected:
protected:
// Listens for a HFO Config message
bool
getHFOConfig
();
hfo
::
Config
hfo_config
;
FeatureExtractor
*
feature_extractor
;
FeatureExtractor
*
feature_extractor
;
long
lastTrainerMessageTime
;
long
lastTrainerMessageTime
;
int
num_teammates
,
num_opponents
;
int
num_teammates
,
num_opponents
;
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment