当前位置: 首页 > news >正文

深度强化学习在ros+gazebo来实现导航的流程

一、环境配置

ubutnu20.04配置深度学习环境-CSDN博客

注意是首先创立了一个虚拟环境drl,然后用安装了torch,torchaudio,torchvision,以及安装opencv库、cv2库、tensorboardx库,安装的命令在上面的博客中。安装后可以在终端输入python3后运行下面的指令检测一下是否安装完整。

python3 >>> >>> import torch >>> >>> print(torch.__version__) 2.5.1 >>> >>> print(torch.cuda.current_device()) 0 >>> >>> print(torch.cuda.device_count()) 1 >>> >>> print(torch.cuda.get_device_name(0)) NVIDIA >>> >>> print(torch.cuda.is_available()) True >>> >>> print(torch.version.cuda) 11.8 >>> >>> print(torch.backends.cudnn.enabled) True >>> >>> print(torch.backends.cudnn.version()) 90100 >>>

二、具体复现过程

ROS+Gazebo强化学习从虚拟训练到实车部署全流程分析_机械臂强化学习gazebo复现-CSDN博客

首先是创建conda的虚拟环境,创建环境名为td3,专门用于深度强化学习在ros下关于无人车的应用,应用的算法为td3.

首先是创建虚拟环境,其次是在对应的虚拟环境中安装torch

按照opcd的方式来创建虚拟环境。requirements.txt在桌面主文件下面。

其次安装tensorflow 和 tensorboard.

根据这个博客进行复现,在编译过程中会有两个包没装,分别是empy和catkin_pkg,分别执行下面两行语句

pip install catkin_pkg
conda install -c conda-forge empy

装完以后,创建的虚拟环境为td3,按照对应的csdn进行相应的世界launch的配置,以及对应机器人的launch文件的开启。

cd DRL-robot-navigation-main/catkin_ws/ catkin_make source devel/setup.sh roslaunch multi_robot_scenario TD3_world.launch

这个可以不用在conda的虚拟环境中开启。

cd DRL-robot-navigation-main/catkin_ws/ source devel/setup.sh roslaunch multi_robot_scenario pioneer3dx.gazebo.launch

这个也不用在。开启后可以看到下面的世界和对应的无人车


打开对应的rviz,

cd ~/Desktop/DRL-robot-navigation-main/catkin_ws/ source devel/setup.sh cd src/multi_robot_scenario/launch rviz -d pioneer3dx.rviz

并且因为在前面将小车的名称均从r1改为了p3dx,所以在rviz中的话题要选择对应的话题。

在训练中训练的程序需要进行对应的开启,激活对应的虚拟环境。

cd ~/DRL/TD3

conda activate td3

python3 train_velodyne_td3.py

即可进行对应的训练

同时内部的Q值以及损失函数可以通过前面安装的tensorboard进行在网页端的可视化处理与显示

conda activate td3 cd ~/Desktop/DRL-robot-navigation-main/TD3 tensorboard --logdir runs

http://www.jsqmd.com/news/1068329/

相关文章:

  • Winterfell与后端集成指南:表单数据处理与提交最佳实践
  • CS2303 (原CS356) - 操作系统课程设计
  • Medium Editor Markdown深度解析:从安装到高级配置的完整教程
  • 3分钟掌握:B站会员购抢票工具实战应用指南
  • Whisper Mic模型选择指南:tiny到large-v3,哪款最适合你的需求?
  • Snap深度解析:理解SwiftUI可吸附抽屉的核心架构与实现原理
  • Czkawka开源贡献完全指南:如何参与这个强大的文件管理工具开发
  • TextureLab入门教程:10分钟创建你的第一个程序化材质
  • MAAC未来发展方向:多智能体强化学习的前沿趋势与挑战
  • 如何解析RoseTTAFold-All-Atom输出结果:从PDB文件到结构质量评估的完整指南
  • 如何快速上手synp:5分钟完成锁文件格式转换
  • MAAC扩展应用:如何将注意力机制应用到自定义多智能体任务
  • DriveAGI性能优化技巧:大规模驾驶视频处理的7个最佳实践
  • 如何快速掌握yuzu模拟器:5个实战技巧详解
  • busybox-w32终极指南:Windows平台上的瑞士军刀工具集
  • aqtoolkit扩展类使用技巧:NSData+Base64让数据编解码更高效
  • PowerCLI-Example-Scripts最佳实践:社区脚本的质量控制与维护
  • ayu colors:终极颜色主题调色板 - 如何提升你的开发体验
  • CDAP云部署实战:在AWS、GCP和Azure上运行大数据应用
  • 5分钟终极指南:如何在Notepad++中实现专业级Markdown语法高亮
  • 微信小程序开发实战:掘金非官方小程序架构设计与实现原理
  • Medium Editor Markdown快速入门:5分钟实现富文本到Markdown的实时转换
  • Silex-Skeleton核心功能解析:从Service Provider到Twig模板引擎的终极指南
  • rich-click 与 Flask、Celery、Dagster 集成实战:提升开发体验
  • 高效C++数据可视化实战:Matplot++高级应用完全指南
  • 5分钟快速上手Vue-Audio-Visual:从零开始构建音频可视化应用
  • Dungeon Generator高级技巧:自定义地牢规则与参数优化
  • 如何防御MCP提示词注入攻击:7层防护策略与实战技巧
  • 游戏开发教学革命:Unfinished-asteroids如何模拟真实工作环境加速学习
  • 如何用ComfyUI-LTXVideo实现电影级视频帧插值:5个高效工作流配置秘诀