Turtlebot3 机器学习(二)

 

设置参数篇

DQN Agent 的目标是让 TurtleBot3 达到避开障碍物的目标。当 TurtleBot3 接近目标时,它会获得正奖励,而当它更远时,它会获得负奖励。当 TurtleBot3 撞上障碍物或经过一段时间后,这一集就结束了。在这一集中,TurtleBot3 在达到目标时会获得很大的正奖励,而 TurtleBot3 在撞到障碍物时会获得很大的负奖励。

 

设置状态

状态是对环境的观察,描述当前的情况。在这里,state_size是 26,有 24 个 LDS 值、到球门的距离和到球门的角度。

Turtlebot3 的 LDS 默认设置为 360。您可以在 中修改 LDS 的样本turtlebot3/turtlebot3_description/urdf/turtlebot3_burger.gazebo.xacro

 

<xacro:arg name="laser_visual" default="false"/>   # Visualization of LDS. If you want to see LDS, set to `true`

  

<scan>
  <horizontal>
    <samples>360</samples>            # The number of sample. Modify it to 24
    <resolution>1</resolution>
    <min_angle>0.0</min_angle>
    <max_angle>6.28319</max_angle>
  </horizontal>
</scan>

  

设置动作


行动是代理在每个状态下可以做的事情。在这里,turtlebot3 的线速度始终为 0.15 m/s。角速度由动作决定。

行动 角速度
0 -1.5
1 -0.75
2 0
3 0.75
4 1.5

 

设置Reward

当turtlebot3 在某个状态下采取行动时,它会收到Reward。Reward设计对于学习非常重要。Reward可以是正面的或负面的。当turtlebot3 达到目标时,它会获得很大的正Reward。当turtlebot3 与障碍物发生碰撞时,它会获得很大的负Reward。如果您想应用您的Reward设计,请修改setReward./turtlebot3_machine_learning/turtlebot3_dqn/src/turtlebot3_dqn/environment_stage_#.py

 

设置超参数

本教程是使用 DQN 学习的。DQN 是一种强化学习方法,通过逼近动作值函数(Q-value)来选择深度神经网络。代理在 处具有跟随超参数/turtlebot3_machine_learning/turtlebot3_dqn/nodes/turtlebot3_dqn_stage_#

 
posted @ 2022-01-20 09:48  kay880  阅读(243)  评论(0编辑  收藏  举报