【发布时间】:2020-10-29 17:57:36
【问题描述】:
使用 Python3.6、Ubuntu 18.04、Gym 0.15.4、RoS melodic、Tensorflow 1.14 和 rl_coach 1.01:
我已经构建了一个使用 360 元素数组作为观察空间的自定义 Gym 环境。
high = np.array([4.5] * 360) #360 degree scan to a max of 4.5 meters
low = np.array([0.0] * 360)
self.observation_space = spaces.Box(low, high, dtype=np.float32)
但是,这还不足以通过 ClippedPPO 算法进行正确训练,我想在我的状态中添加其他功能,包括:
在世界上的位置(x,y 坐标)
世界中的方向(四元数:x,y,z,w)
线性轨迹(x,y,z 坐标)
角轨迹(x,y,z 坐标)。
我把上面的四个特征放到了各自的np.arrays中,并试图将它们全部作为状态对象传回去,但显然与观察空间不匹配。 space.Box 让我很困惑。我假设我不能将所有这些功能转储到单个 np 数组中,因为上限和下限会不同,但是,我无法确定如何创建具有多个“功能”的 space.Box 对象。
TIA
【问题讨论】:
标签: python python-3.x ros reinforcement-learning openai-gym