This package provides the monitor functionalities used in the robot_ws
framework to monitor task progress and assign rewards.
In the actual framework the Go implementation was replaced by the Python-based one.
To launch this node it is necessary to install Go language.
Manual launch:
go run cmd/monitor/monitor_app.go
.
Build:
go build -o bin/monitor_app cmd/monitor/monitor_app.go
.
The app accepts the port on what ROS_MASTER_URI is located.
robot/state
control/State, this srv definition is located within the control packagesafety/relative_deviation
std_msgs/Float32safety/angular
std_msgs/Float32odometry
nav_msgs/Odometry
analytics/rollout
std_msgs/String This publishes encoded RolloutAnalytics Go struct to the topic
which is read by the server where rollout relative data is stored in a database.
The next rollout properties of the RolloutState are needed:- ExpSeries - series of experiments, it relates to the database,
- Experiment - current experiment name,
- Seq - episode in the current experiment,
- Sensors - used sensors,
- Arm - indicates whether the is arm used,
- Angular - indicates whether the is angular velocity is controlled,
- Progress - episode progress,
- Reward - episode reward,
- AngularM - perceived mean episode angular velocity,
- Deviation - perceived mean episode deviation,
- Accidents - indicates if something critical happened like tipping over,
- TimeSteps - number of time steps spent in the episode.
- NewRollout.srv
string experiment int32 seq int32 time_step_limit string sensors bool arm bool angular bool use_penalty_angular bool use_penalty_deviation --- bool received
- StepReturn.srv
--- float32 reward bool done
rollout/new
monitor/NewRollout
Initialization of new rollout.rollout/start
std_srv/Trigger
The node is triggered from the outside since the rollout is started.rollout/step_return
monitor/StepReturn
On every step, we return basic information about the last time step.
goal_info
simulation/GoalInfostair_info
simulation/StairInfo