python集成carsim进行强化学习

之前用python+simulink+carsim完成了单智能体强化学习任务的验证,但总觉得matlab太吃电脑cpu了,且不说启动matlab就需要占用很大一部分内存,simulink的数据交互也非常浪费时间,不如直接从python调用carsim的求解器做训练。

这里用到了carsim中的python SDK,也就是一个叫vs_solver.py的py文件,关于这个文件已经有人详细写了用法自动驾驶仿真:python和carsim联合仿真案例-CSDN博客

相当于是用python封了一遍c的函数,

网上关于python和carsim的案例太少了,只在github中找到了一个案例GitHub - MizuhoAOKI/pycarsimlib: An easy-to-use carsim wrapper library to call carsim solver from python scripts.

这个拿到之后可以简单的验证python和carsim的通路,也可以进一步优化,比如案例中需要手动输入carsim的输入输出,

但是实际上可以直接延用之前simulink联仿留下的.sim文件,指明一下dll求解器就可以

改成自己的输入输出后,测试一下python-carsim通路正常与否,然后就可以加入强化学习算法了。还有要注意的是这个案例GitHub - MizuhoAOKI/pycarsimlib: An easy-to-use carsim wrapper library to call carsim solver from python scripts.

作者封装的函数不是全部的,如果有需要可以自己再封装几个,比如reset函数,初始化函数,因为强化学习是需要反复启动任务,所以必须要有reset函数,注意每次重启求解器的时候一定要先关闭求解器,即调用self.solver_api.terminate_run(self.t_current)。目前训练的速度对于单智能体来说还是挺快的,比用simulink要快好几倍甚至十倍。

本文做一个引子,如果有感兴趣的同学可以一起讨论下一步的优化方法和具体实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值