教程|如何让一辆自动驾驶小车,学会自己认路标
自动驾驶很火爆,机器学习很火爆,结合这两项技术,让一辆自动驾驶小车学会了路标自动识别,这样一个项目我们自然不应该错过呀!今天柴火菌就给大家分享下自动驾驶&路标识别系统项目。
精彩项目视频,点击前往B站小程序观看
以下是我们柴火认证会员Eric自述的项目教程,大家拿走不谢~
已经学会识别路标的小车,潇洒地做了个左转弯
背景故事
这几天我发现一个有趣的摄像头模块Pixy2。它可以检测不同颜色或带有特定条形码的物体。除了这个模块,我也有一个车载套件。所以我愉快地决定,要用用pixy摄像头和这个小车来搭一个简单的自动驾驶系统,并让小车学会自动识别路标。
软件工具
Arduino IDE
所用硬件清单
Seeed机械小车套件- RC智能汽车底盘套件 x1
Seeeduino V4.2 x1
Seeed Arduino扩展板Base Shield V2 x1
Pixy2 CMUcam5智能视觉传感器 x1
扫码一键买齐所有开源硬件物料
步骤1:准备好小车套件和电机
我用的机械小车套件来自Seeed Studio,小车本身已经集成了伺服电机和直流电机。拿到套件之后,按照安装指南组装好小汽备用。然后连接到电机驱动器和电源,测试电机和车轮是否正常工作。
小车的拼装过程相当于从0到1构建一个简单的后驱车机械,动力,和转向结构,如果要学习汽车相关知识,一定不要错过~
步骤2:测试Pixy2摄像头
将摄像头模块通过USB口与电脑相连,下载PixyMon, 安装并运行. 然后你就可以看到摄像头捕捉到的视频。
步骤3:测试并制作路标
Pixy2可以检测到内置的条形码,所以在不同的路标下方放上不同的条形码,这样就相当于让摄像头可以识别不同的路标了。
带有条形码的路标
左转路标
直行路标
我把所有的条形码都上传googledrive了,你可以在文末点击阅读原文,前往项目页面寻在下载按钮下载。
步骤4:编程
编程控制小车,让小车可以根据识别到的路标进行相应的操作。相关代码见下:
#include <Pixy2.h>
#include <Servo.h>
#include "CytronMotorDriver.h"
// Configure the motor driver.
CytronMD motor(PWM_DIR, 3, 2); // PWM = Pin 3, DIR = Pin 2.
Servo myservo;
// This is the main Pixy object
Pixy2 pixy;
int carSpeed;
void setup()
{
Serial.begin(115200);
myservo.attach(6); // specify the servo pin
pixy.init();
Serial.println(pixy.changeProg("line")); //change pixy to line mode
}
void loop()
{
pixy.line.getAllFeatures(); //get line features
if (pixy.line.barcodes) // detected road sign
{
int code = pixy.line.barcodes[0].m_code;
switch (code)
{
case 0: // stop
carSpeed = 0;
myservo.write(70);
break;
case 1: //u turn
motor.setSpeed(40);
myservo.write(115);
delay(3600);
break;
case 3: //turn left
motor.setSpeed(42);
myservo.write(25);
delay(1800);
break;
case 4:
carSpeed = 32; // go straight
myservo.write(70);
break;
default:
break;
}
}
motor.setSpeed(carSpeed); // keep going straight if no road signs are detected
myservo.write(70);
}
步骤5:用更多路标训练你的小车
小车掉头训练
🤖️🤖️🤖️
文末互动话题
留言区分享
你用Arduino做过最酷的项目
3月31日12:00
点赞最高的一位将送出一个Arduino Uno
👋👋👋
写在最后-文末小广告
Arduino官方认证-Arduino基础认证来中国啦!
作为Arduino官方认证中国区合作伙伴,柴火特现别开放Arduino基础认证考试预报名(考试费用210元人民币)!成功报名后,可在1年内任意时间自主参与考试。前100位报名的伙伴,我们还会额外送出价值50元的柴火硬件军火库无门槛购物抵用券。
还等什么,点击下图了解详情报名吧!
如果你还在担心认证考试的难度,可以看看5位考试通过并拿到证书的小伙伴的访谈实录|Arduino基础认证考试难吗?
基础认证最全信息,点击此处了解。
关于基础认证的常见问题FAQ汇总,点击此处了解。
报名前想要体验下考试难易度?点击以下网址,免费体验5道考试题demo:https://create.arduino.cc/edu/courses/local/quiz/index.php
更多认证详情:https://store.arduino.cc/digital/cert_fundamentals
----END----
Chaihuo x.factory|深圳,河北