2021-08-23 17:18:36 索炜达电子 661
项目编号:E509
文件大小:388K
源码说明:带中文注释
开发环境:Python
简要概述:
在Raspberry Pi上使用深度卷积神经网络实现的自动驾驶玩具车
玩具车底盘
Arduino
Raspberry Pi model 3B+
树莓派鱼眼摄像头
Raspberry Pi安装tensorflow
(建议使用1.9版本)
Raspberry Pi安装Python版本的opencv2
项目依赖Numpy
,所以保证Raspberry Pi安装好Numpy
可从淘宝购买警示条贴在地板模拟跑道,注意:跑道不易过小,跑道宽度最好2倍于小车宽度。如图:
将socket_ctrl.py上传到Raspberry Pi
为保证正常运行,必须将model.py
一并上传至Raspberry Pi
在socket_ctrl.py同级目录下创建data/img目录
下载apk目录下的手机端控制软件
Raspberry Pi连接同手机局域网下的wifi,查看IP,修改socket_ctrl.py的ip变量,打开手机控制软件填写对应的ip,端口固定为9999,其他随意填写并点击设置参数
按钮
修改socket_ctrl.py的trainMode
变量为True
Raspberry Pi运行nohup python -o socket_ctrl.py &
打开服务
手机端点击连接
按钮,等待连接状态变为绿色,然后点击训练模式
进入控制界面,控制小车在轨道内运行并自动采集数据
查看data/img目录下采集数据的数量,如果达到要求(建议2000+图片)则可停止采集
将采集到的数据下载到本地
运行record.py生成data/record.csv
文件
使用你日常训练数据的方式运行train.py
进行数据训练
训练结束后,将结果上传到Raspberry Pi
修改socket_ctrl.py将trainMode
变量改为False
打开手机端,依次点击连接
、自动驾驶模式
,将小车放到跑道上测试结果
项目默认通过Arduino控制玩具车,但完全可以自定义硬件设置,直接通过Raspberry Pi控制车,可通过修改socket_ctrl.py文件的control
函数自定义你的控制方式。
目录│文件列表:
└ autonomous-toy-car
│ model.py
│ record.py
│ socket_ctrl.py
│ train.py
├ apk
│ └ Car.apk
├ data
│ │ record.csv
│ └ img
│ └ store.image
├ display
│ └ 1.jpeg
└ model
└ store.model