# RaspberryCar
An intelligent car based on Raspberry-Pi-3.
(中文介绍请往后翻)
## Platform
Raspberry-Pi-3
L298N
Camera (CSI)
Ultrasonic ranging sensor
Infrared obstacle avoidance sensor
Car (4 motors)
## Environment
### On Raspiberry Pi:
python 3
RPi.GPIO
opencv
picamera
tensorflow
TensorFlow Object Detection API
### On PC:
python 3
opencv
## Run
### Obstacle avoidance
Based on ultrasonic sensor and infrared sensors.
Enter the following commands in Pi Terminal:
```
cd PythonCode
python3 main_obstacle_avoidance.py
```
Has been tested.
### Video recording & Video transmittion from Pi to PC
Enter the following commands in Pi Terminal:
```
cd PythonCode
python3 camera.py
```
Besides, if you want to watch the video from PC, then enter the following commands in PC Terminal:
```
cd PythonCode
python3 pc_receiver.py
```
Has been tested.
### Lane tracking
The car will drive along the lanes based on camera.
Enter the following commands in Pi Terminal:
```
cd PythonCode
python3 main_lane_tracking.py
```
Besides, if you want to watch the video with the detected lanes from PC, then enter the following commands in PC Terminal:
```
cd PythonCode
python3 pc_receiver.py
```
### Tennis Tracking
The car will first detect the tennis based on its camera, then it will move to track the tennis.
Enter the following commands in Pi Terminal:
```
cd PythonCode
python3 main_tennis_tracking.py
```
Besides, if you want to watch the video with the detected result from PC, then enter the following commands in PC Terminal:
```
cd PythonCode
python3 pc_receiver.py
```
### Object Detection
Based on TensorFLow Object Detection API, using the 'ssdlite_mobilenet_v2_coco_2018_05_09' pre-trained model.
Enter the following commands in Pi Terminal:
```
cd PythonCode
python3 main_object_detection.py
```
(NOTICE: TensorFlow Object Detection API and the ssdlite model are not contained in the repo. See here to install them [EdjeElectronics/Tutorial to set up TensorFlow Object Detection API on the Raspberry Pi](https://github.com/EdjeElectronics/TensorFlow-Object-Detection-on-the-Raspberry-Pi#tutorial-to-set-up-tensorflow-object-detection-api-on-the-raspberry-pi))
***
## 简介
本项目是学校项目设计课程内的项目,要求是使用一个基于树莓派的小车来实现一些简单的功能。
本项目适合初次接触树莓派,希望利用树莓派及小车配件实现一些简单功能的同学们。
目前我们实现的功能有:
* 自动避障:基于超声波和红外,使小车在运行过程中不会撞上障碍物;
* 实时图像传输:将树莓派摄像头拍摄到的视频流传到PC端,并在PC端查看;
* 视觉车道循迹:基于视觉,使小车沿车道线行驶;
* 目标检测:识别并定位摄像头图像中的各类常见物体;
* 网球追踪:基于视觉,使小车追踪一个移动的网球,并与网球保持一定距离。
学校提供的小车的商家是[慧净电子](http://www.hlmcu.com/),商家提供了一些使用教程,适合初学,基于C语言,实现了一些简单的红外避障、红外寻迹、超声波避障和摄像头调用。
本项目选用Python作为编程语言,有几点原因:Python相比较C语言更简明;我们对Python的掌握情况更好一些(C语言没学好啊);方便之后使用tensorflow做一些深度学习的功能。但同时带来的缺点就是运行速度会差一点。
下面我们会对小车配置、功能实现和使用方法进行详细的介绍。本文结构如下:
* 配置要求
* 项目架构
* 准备工作
* 硬件调试
* 功能实现(原理介绍)
* 功能实现(使用教程)
若想成功实现本项目的功能,请:
* 首先确保完成**准备工作**
* 之后进行**硬件调试**
* 之后在阅读过**功能实现-原理介绍**的基础上
* 根据**功能实现-使用教程**来运行相应程序、实现功能
## 配置要求
* 树莓派3
* 驱动板(L298N)
* CSI摄像头
* 超声波测距传感器
* 红外避障传感器
* 小车车体 + 4个电机
* 电脑 (Ubuntu18.04)
## 项目架构
我们的源代码全部放在PythonCode文件夹内。
我们对每个传感器定义了一个类,放在相应的py文件里,由此可以很清晰方便地对每个传感器进行单独的调试。
名称以main开头的文件是实现相应功能的主程序,在主程序里定义了一个Car类,该类继承了所有传感器的类。
## 准备工作
### 重装树莓派的系统
商家给树莓派预装了系统,应该是商家自己改过的,也是几年前的了。强烈建议自己将树莓派的系统进行重装(重装后opencv和tensorflow的安装都会简单很多),推荐安装树莓派的官方系统[Raspbian](https://www.raspberrypi.org/downloads/raspbian/)。安装方法百度一下,教程很多,也很简单。
关于树莓派教程,推荐[树莓派实验室|开箱上手必读](http://shumeipai.nxez.com/hot-explorer#beginner),里面的教程基本准确好用。
### 使用SSH登录,操作树莓派
对树莓派进行操作的方法有很多:
* [连接鼠标键盘](http://shumeipai.nxez.com/2013/09/07/how-to-install-and-activate-raspberry-pi.html)
* [使用远程桌面](http://shumeipai.nxez.com/2018/08/31/raspberry-pi-vnc-viewer-configuration-tutorial.html)
* [使用PuTTY登录到树莓派](http://shumeipai.nxez.com/2013/09/07/using-putty-to-log-in-to-the-raspberry-pie.html)
我们基本上是使用SSH登录到树莓派进行操作的,也就是使用putty登录。这需要树莓派和PC在同一个局域网下,我们选择让树莓派创建一个WiFi热点,然后让PC连接这个WiFi热点。方法:[创建WiFi热点并开机自启动](https://github.com/Mingrui-Yu/Tutorials/blob/master/Rapberry_Pi/%E5%88%9B%E5%BB%BAwifi%E7%83%AD%E7%82%B9%26%E5%BC%80%E5%90%AFSSH%26putty%E8%BF%9E%E6%8E%A5.md#pi3-%E5%88%9B%E5%BB%BAwifi%E7%83%AD%E7%82%B9--%E5%BC%80%E5%90%AFssh--putty%E8%BF%9E%E6%8E%A5),其中使用了github上一个开源的库create_ap。同时,还要设置热点开机自动启动。另外注意要设置[开启树莓派的SSH服务](https://github.com/Mingrui-Yu/Tutorials/blob/master/Rapberry_Pi/%E5%88%9B%E5%BB%BAwifi%E7%83%AD%E7%82%B9%26%E5%BC%80%E5%90%AFSSH%26putty%E8%BF%9E%E6%8E%A5.md#%E5%BC%80%E5%90%AFssh%E6%9C%8D%E5%8A%A1),否则putty连接会显示失败。
### 更换下载源
使用官方的源因为众所周知的原因会非常慢且不稳定,所以要换成国内的源。
* [更换apt源](https://github.com/Mingrui-Yu/Tutorials/blob/master/Rapberry_Pi/%E6%9B%B4%E6%8D%A2%E4%B8%8B%E8%BD%BD%E6%BA%90.md#%E5%88%87%E6%8D%A2%E5%88%B0%E5%9B%BD%E5%86%85%E7%9A%84apt-get%E4%B8%8B%E8%BD%BD%E6%BA%90)
* [更换pip源](https://github.com/Mingrui-Yu/Tutorials/blob/master/Rapberry_Pi/%E6%9B%B4%E6%8D%A2%E4%B8%8B%E8%BD%BD%E6%BA%90.md#%E5%88%87%E6%8D%A2%E5%88%B0%E5%9B%BD%E5%86%85%E7%9A%84pippip3%E4%B8%8B%E8%BD%BD%E6%BA%90)
### OpenCV安装
使用最新版树莓派系统,可以直接用pip3安装OpenCV。
教程:[python3 + opencv](https://github.com/Mingrui-Yu/Tutorials/blob/master/Rapberry_Pi/%E7%9B%B8%E6%9C%BA%26opencv_python.md#python3--opencv)
## 硬件调试
首先需要确定树莓派、驱动板、传感器之间的连线是正确的。
### 电机
[直流电机相关知识](https://github.com/Mingrui-Yu/Tutorials/blob/master/Rapberry_Pi/%E7%9B%B4%E6%B5%81%E7%94%B5%E6%9C%BA%E7%9B%B8%E5%85%B3.md#%E7%9B%B4%E6%B5%81%E7%94%B5%E6%9C%BA%E7%9B%B8%E5%85%B3%E7%9F%A5%E8%AF%86)
* 工作原理
* H桥
* PWM
电机相关代码在move.py内。需要注意GPIO端口号的设置,python用的是BCM编码。
![树莓派GPIO编号](https://i.loli.net/2019/10/31/bya1AnwmYDMBKLH.png)
在move.py中,定义了前进、后退、左转、右转、停车功能。转弯是通过左右轮差速实现的。
### 超声波测距传感器
[超声波测距传感器有关知识](https://github.com/Mingrui-Yu/Tutorials/blob/master/Rapberry_Pi/%E8%B6%85%
没有合适的资源?快使用搜索试试~ 我知道了~
基于树莓派实现的智能小车:自动避障,实时图像传输,目标检测,网球追踪+源代码+文档说明
共99个文件
jpg:35个
xml:34个
py:18个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 191 浏览量
2023-11-19
02:28:45
上传
评论 2
收藏 5.68MB ZIP 举报
温馨提示
-------- <项目介绍> 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 -------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
资源推荐
资源详情
资源评论
收起资源包目录
RaspberryCar-master.zip (99个子文件)
RaspberryCar-master
_config.yml 25B
photo_tennis
tennis_28.jpg 34KB
tennis_22.jpg 32KB
tennis_30.jpg 34KB
tennis_14.jpg 32KB
tennis_18.jpg 53KB
tennis_8.jpg 47KB
tennis_2.jpg 39KB
tennis_10.jpg 49KB
tennis_15.jpg 36KB
tennis_24.jpg 15KB
tennis_4.jpg 32KB
tennis_3.jpg 40KB
tennis_29.jpg 34KB
tennis_5.jpg 27KB
tennis_20.jpg 33KB
tennis_32.jpg 14KB
tennis_33.jpg 15KB
tennis_19.jpg 52KB
tennis_6.jpg 27KB
tennis_7.jpg 46KB
tennis_0.jpg 16KB
tennis_1.jpg 39KB
tennis_17.jpg 46KB
tennis_23.jpg 31KB
tennis_11.jpg 33KB
tennis_13.jpg 41KB
tennis_27.jpg 34KB
tennis_31.jpg 14KB
xml_file
000031.xml 525B
xml_data.py 2KB
000024.xml 524B
000020.xml 525B
000023.xml 525B
000026.xml 525B
000011.xml 525B
000022.xml 525B
000017.xml 525B
000033.xml 525B
000030.xml 525B
000034.xml 525B
000010.xml 525B
000014.xml 525B
000028.xml 525B
readme.md 95B
000009.xml 525B
000006.xml 524B
000012.xml 525B
000002.xml 525B
000019.xml 525B
000018.xml 524B
000005.xml 525B
000016.xml 525B
000013.xml 525B
000007.xml 525B
000004.xml 525B
000003.xml 525B
000032.xml 525B
000001.xml 525B
000021.xml 525B
000029.xml 525B
000027.xml 525B
000015.xml 525B
000008.xml 525B
000025.xml 525B
tennis_9.jpg 46KB
tennis_25.jpg 15KB
tennis_16.jpg 47KB
tennis_21.jpg 33KB
tennis_26.jpg 15KB
tennis_12.jpg 45KB
.gitattributes 66B
doc
lane_detect.jpg 37KB
lane_tracking2.gif 1.05MB
lane_tracking.gif 1.12MB
object_detection.gif 1.85MB
obstacle_avoidance.gif 951KB
LICENSE 1KB
docs
_config.yml 25B
index.md 2KB
PythonCode
track.py 3KB
camera.py 2KB
move.py 3KB
main_lane_tracking.py 7KB
main_obstacle_avoidance.py 2KB
main_tennis_tracking.py 4KB
pc_receiver.py 1KB
main_PID_test.py 2KB
main_trace_test.py 1KB
detect_new.py 3KB
PID_controller.py 806B
ultrasound.py 2KB
infrared.py 1KB
main_object_detection.py 5KB
.gitignore 25B
README.md 20KB
old_version_backup
camera_old.py 2KB
main_line_track.py 6KB
detect.py 3KB
共 99 条
- 1
资源评论
- weixin_581833252024-04-15资源值得借鉴的内容很多,那就浅学一下吧,值得下载!
机智的程序员zero
- 粉丝: 2459
- 资源: 4741
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 19 工资发放明细表-可视化图表.xlsx
- 27 员工工资表(图表分析).xlsx
- 23 财务报告工资数据图表模板.xlsx
- 22 财务报告工资数据图表模板.xlsx
- 24 工资表-年度薪资可视化图表.xlsx
- 26 财务分析部门工资支出图表.xlsx
- Python爬虫技术详解:从基础到实战.zip
- 25 工资费用支出表-可视化图表.xlsx
- 30公司各部门工资支出数据图表1.xlsx
- 29 员工月度工资支出数据图表.xlsx
- 28 工资表(自动计算,图表显示).xlsx
- 31 财务分析工资年度开支图表.xlsx
- 33 年度工资预算表(可视化看板).xlsx
- 32 公司年度工资成本数据图表.xlsx
- 34 年度工资汇总-数据可视化看板.xlsx
- 36 财务报表新年度部门工资预算表.xlsx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功