机器学习是一种数据分析技术,它教计算机识别人类和动物的自然特征——通过经验学习。机器学习分为三类:监督学习、无监督学习、强化学习。此应用程序是使用 DQN(深度 Q 学习)进行强化学习。强化学习与软件代理应该如何在环境中采取行动以最大化累积奖励的一些概念有关。
这显示了在凉亭中使用 TurtleBot3 的强化学习。这种强化学习应用了 DQN(Deep Q-Learning)算法和 LDS。
我们正在准备一个四步强化学习教程。
1.软件设置
要完成本教程,您需要在 Ubuntu 18.04 和 ROS1 Melodic 上安装 Tensorflow、Keras 和 Anaconda。
1.1.python
您可以下载Anaconda 5.2.0 for Python 2.7 版本。
下载Andaconda后,进入下载文件所在目录,输入follow命令。
通过yes
在终端中输入来查看并接受许可条款。
还要将 Anaconda2 安装位置添加到 .basrhc 文件中的 PATH。
bash Anaconda2-5.2.0-Linux-x86_64.sh
安装 Anaconda 后,
source ~/.bashrc
python -V
如果 Anaconda 安装成功,Python 2.7.xx :: Anaconda, Inc.
将在终端中返回。
1.2.ROS依赖包
首先安装所需的软件包。
pip install msgpack argparse
要同时使用 ROS 和 Anaconda,您必须另外安装 ROS 依赖包。
pip install -U rosinstall empy defusedxml netifaces
1.3.TensorFlow
本教程使用 python 2.7(仅限 CPU)
pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.8.0-cp27-none-linux_x86_64.whl
1.4.Keras
Keras是一种高级神经网络 API,用 Python 编写,能够在 TensorFlow 之上运行。
pip install keras==2.1.5
可以忽略与张量板有关的不兼容错误消息,因为它在本示例中未使用,但可以通过如下安装张量板来解决。
pip install tensorboard
1.5.机器学习包
cd ~/catkin_ws/src/ git clone https://github.com/ROBOTIS-GIT/turtlebot3_machine_learning.git #或者 git clone https://gitee.com/kay2020/turtlebot3_machine_learning.git cd ~/catkin_ws && catkin_make
机器学习在 Gazebo 模拟世界上运行。如果您还没有安装 TurtleBot3 模拟包,请使用以下命令安装。
cd ~/catkin_ws/src/ git clone -b melodic-devel https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git cd ~/catkin_ws && catkin_make
完全卸载并重新安装numpy以纠正问题。您可能需要执行几次卸载,直到 numpy 完全卸载。
pip uninstall numpy pip show numpy pip uninstall numpy pip show numpy
此时,numpy应该已经卸载完成了,输入时应该看不到任何numpy信息pip show numpy
。
重新安装numpy。
pip install numpy pyqtgraph