我是靠谱客的博主 贪玩大炮,这篇文章主要介绍深度强化学习+室内导航(最新、最全),现在分享给大家,希望可以做个参考。

配置环境

anaconda(python2.7 版本)
链接: link.
上面这个网址下载太慢可以用下面这个
链接: link.

1、Anaconda2 安装

ROS 1中使用的是 python2.7,所以在地址:https://www.anaconda.com/download/#linux 中下载 python2.7版本的Anaconda2 ,安装过程如下:

复制代码
1
2
3
4
chmod +x Anaconda2-5.2.0-Linux-x86_64.sh bash Anaconda2-5.2.0-Linux-x86_64.sh

安装完成后,执行下面指令, 如果可以看到 Python 2.7.xx :: Anaconda, Inc…,说明安装成功。

复制代码
1
2
3
4
source ~/.bashrc python -V

接下来配置环境变量 PYTHONPATH,编辑 ~/.bashrc ,修改或者添加内容如下:

复制代码
1
2
3
4
#export PYTHONPATH="/usr/lib/python2.7/dist-packages:$PYTHONPATH" export PYTHONPATH="/home/wsc/anaconda2/lib/python2.7/dist-packages:$PYTHONPATH"

2、 ROS 依赖包安装

为了使ROS 与 Anaconda 一起工作,必须安装在Anaconda中安装ROS 依赖包:

复制代码
1
2
pip install -U rosinstall msgpack empy defusedxml netifaces

这里报错,出现了argparse丢包,
执行

复制代码
1
2
3
// 原包不知道为啥没有这个东西了,加一个就好了 pip install argparse

再执行一次就成功了

终于终于终于来到TensorFlow啦!!!!!!!!!!

3、Tensorflow、Keras等安装

本文中用到的机器学习算法是DQN(Deep Q-Learning),基于Tensorflow与Keras开发,为了避免包冲突,在Anaconda中构建虚拟环境(取名为tensorflow):

复制代码
1
2
3
conda update -n base conda conda create -n tensorflow pip python=2.7
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
// conda环境使用基本命令 conda update -n base conda #update最新版本的conda conda create -n xxxx python=3.5 #创建python3.5的xxxx虚拟环境 conda activate xxxx #开启xxxx环境 conda deactivate #关闭环境 conda env list #显示所有的虚拟环境 conda info --envs #显示所有的虚拟环境 # To activate this environment, use: # > source activate tensorflow # # To deactivate an active environment, use: # > source deactivate

在虚拟环境(envs)中安装Tensorflow、Keras以及ROS依赖包:

复制代码
1
2
3
4
5
6
7
8
9
10
source activate tensorflow pip install -U rosinstall msgpack empy defusedxml netifaces pip install --ignore-installed --upgrade https://download.tensorflow.google.cn/linux/gpu/tensorflow_gpu-1.8.0-cp27-none-linux_x86_64.whl pip install keras source deactivate

我这里安装的是gpu版本的tensorflow,前提是有gpu显卡并安装配置好了相关驱动, 如果要安装cpu版本的tensorflow,指令中地址应为:https://download.tensorflow.google.cn/linux/cpu/tensorflow-1.8.0-cp27-none-linux_x86_64.whl

4、下载并编译源码

本文先使用github中开源的机器学习的源码进行学习,下载编译过程如下:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
cd ~/catkin_ws/src/ git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone https://github.com/ROBOTIS-GIT/turtlebot3.git git clone https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git git clone https://github.com/Gvence/turtlebot3_machine_learning.git cd ~/catkin_ws && catkin_make

编译成功以后执行下面的脚本,也可以将其添加到~/.bashrc中:(这里我没有添加成功,是手动添加的直接gedit过去)

复制代码
1
2
source /home/wsc/catkin_ws/devel/setup.bash

5、设置参数并运行范例

设置参数:

打开源码文件 turtlebot3/turtlebot3_description/urdf/turtlebot3_burger.gazebo.xacro,修改一下两处:

<xacro:arg name=“laser_visual” default=“false”/> # 如果想看到激光扫描线,设置成 true

复制代码
1
2
3
4
5
6
7
8
9
<scan> <horizontal> <samples>360</samples> # 修改成24 <resolution>1</resolution> <min_angle>0.0</min_angle> <max_angle>6.28319</max_angle> </horizontal> </scan>

1.打开一个终端,启动turtlebot3 gazebo环境等节点:
(这里报错找不到launch文件,就需要手动添加路径到.bashrc里面)

复制代码
1
2
3
4
5
6
//出现Invalid <arg> tag: environment variable 'TURTLEBOT3_MODEL' is not set. // export TURTLEBOT3_MODEL=burger roslaunch turtlebot3_gazebo turtlebot3_stage_1.launch

打开gazebo的时候会发现一直处于这种状态,这是因为model库加载不正确导致的。
在这里插入图片描述

解决方法: 通过直接下载所有模型到用户的根目录下的.gazebo/models/下

复制代码
1
2
3
4
5
6
7
cd ~/.gazebo/ mkdir -p models cd ~/.gazebo/models/ wget http://file.ncnynl.com/ros/gazebo_models.txt wget -i gazebo_models.txt ls model.tar.g* | xargs -n1 tar xzvf

2.打开另外一个终端,启动DQN算法等节点:
(这里有几个函数找不到,原因是tensorflow2里面的一些函数只能在tensorflow1.x中使用)

复制代码
1
2
3
4
5
6
source activate tensorflow roslaunch turtlebot3_dqn turtlebot3_dqn_stage_1.launch (//如果报错找不到函数的话将原代码中的 )

2.0出现module ‘tensorflow’ has no attribute ‘get_default_graph’报错的原因是tensorflow版本为2.x。
最开始调用tensorflow1.x的库
将一开头的代码import tensorflow as tf 换成 import

复制代码
1
2
tensorflow.compat.v1 as tf

2.1
在这里插入图片描述
3.打开第三个终端,启动数据图形显示节点:

复制代码
1
2
3
4
pip install pyqtgraph roslaunch turtlebot3_dqn result_graph.launch

注:源码范例中提供了turtlebot3_stage_1~turtlebot3_stage_4共4个环境,分别是无障碍、静态障碍、动态障碍、混合障碍环境。

最后

以上就是贪玩大炮最近收集整理的关于深度强化学习+室内导航(最新、最全)的全部内容,更多相关深度强化学习+室内导航(最新、最全)内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(87)

评论列表共有 0 条评论

立即
投稿
返回
顶部