bitrl & cuberl Documentation
Simulation engine for reinforcement learning agents
Loading...
Searching...
No Matches
webots_base_env.h
Go to the documentation of this file.
1#ifndef WEBOTS_BASE_ENV_H
2#define WEBOTS_BASE_ENV_H
3
4#include "rlenvs/bitrl_config.h"
5
6#ifdef BITRL_WEBOTS
7
8#include "rlenvs/envs/env_base.h"
9#include "rlenvs/envs/time_step.h"
10#include "rlenvs/rlenvs_types_v2.h"
11
12#include <any>
13#include <memory>
14#include <string>
15#include <unordered_map>
16
17namespace rlenvscpp
18{
19namespace envs
20{
21namespace webots_envs
22{
23
31template <typename TimeStepType, typename SpaceType>
32class WebotsEnvBase : public EnvBase<TimeStepType, SpaceType>
33{
34
35 public:
43 static constexpr uint_t DEFAULT_SIM_TIME_STEP = 32;
44
48 typedef EnvBase<TimeStepType, SpaceType> base_type;
49
54 typedef typename base_type::time_step_type time_step_type;
55
59 typedef typename base_type::state_space_type state_space_type;
60
64 typedef typename base_type::action_space_type action_space_type;
65
69 typedef typename base_type::action_type action_type;
70
74 typedef typename base_type::state_type state_type;
75
79 virtual void pause_simulation() = 0;
80
81 protected:
85 WebotsEnvBase(const uint_t cidx, const std::string &name = rlenvscpp::consts::INVALID_STR);
86};
87
88template <typename TimeStepType, typename SpaceType>
89WebotsEnvBase<TimeStepType, SpaceType>::WebotsEnvBase(const uint_t cidx, const std::string &name)
90 : EnvBase<TimeStepType, SpaceType>(cidx, name)
91{
92}
93
94} // namespace webots_envs
95} // namespace envs
96} // namespace rlenvscpp
97
98#endif
99#endif
std::size_t uint_t
uint_t
Definition bitrl_types.h:43
std::pair< uint_t, uint_t > state_type
Definition example_15.cpp:28
Definition quadcopter_sim_env.cpp:16