强化學習仿真實車部署
前言
这里讲一下如何部署
有两种方式部署:
第一种实车远程控制:即通过roscore中的IP设置实现远程控制;具体可以参考turtlebot3的PC连接turtlebot3并控制的教程;我使用的是这种方法;
第二种直接在小车是运行模型:没有测试过,如果你的模型小,应该是可以部署到小车上直接跑的,我感觉我的那个模型是很小的可以在树莓派和nano上跑。
环境部署:
安装pytorch就可以:参考官网安装,根据自身硬件需求来安装。
文件:以PPO为例
主程序:actual_tranining.py
环境配置:env.py
模型:agent.py
模型:
配置教程
agent.py的修改
注意:训练模型和在实车上跑的模型应该要一样,不然会报错
agent.py的55行修改路径加载模型:
env.py的修改:
这两话题名字的修改,一般不用修改,开启机器人底盘后,查看机器人的话题有哪些:
rostopic list
这个是目标点—不用修改—这个是用来接受目标点的。就像训练给目标点
这里有个bug,就是在实车上处理激光雷达的数据,激光雷达返回的数据处理我没有优化;总之在这里就是要取你训练时候激光雷达数据的线速:
如果你的是24线,就在 len(scan.ranges)取24个数据。
开启运行:
启动小车底盘:
启动激光雷达:
启动主程序:python3 actual_training.py
发布位置:
rostopic pub /move_base_simple/goal geometry_msgs/PoseStamped \
'{header: {frame_id: "map"},pose: {position:{x: 1.0,y: 0,z: 0},orientation: {x: 0,y: 0,z: 0,w: 1}}}'
只修改x和y的数值