本文主要是介绍openmv巡线小车,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
openmv巡线小车的功能:巡线,路口识别,90度大转弯,串口通信,数字识别,条形码二维码识别等
巡线如何实现:
路口识别如何实现:
串口通信
openmv数字识别方案:
往年电赛:
机器学习之线性回归(Linear Regression)算法_线性回归算法_落难Coder的博客-CSDN博客https://blog.csdn.net/u014297502/article/details/125098004?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168549920916800227447460%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=168549920916800227447460&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-125098004-null-null.142%5Ev88%5Econtrol_2,239%5Ev2%5Einsert_chatgpt&utm_term=%E7%BA%BF%E6%80%A7%E5%9B%9E%E5%BD%92%E7%AE%97%E6%B3%95&spm=1018.2226.3001.4187
2021-07-29 Openmv与stm32 的串口通信(HAL库)_openmv与stm32串口通信_️零柒️的博客-CSDN博客https://blog.csdn.net/qq_52111026/article/details/119209709?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168562337316800184162663%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=168562337316800184162663&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_click~default-6-119209709-null-null.142%5Ev88%5Econtrol_2,239%5Ev2%5Einsert_chatgpt&utm_term=openmv%E4%B8%8Estm32%E9%80%9A%E4%BF%A1&spm=1018.2226.3001.4187
获取对象信息 - 廖雪峰的官方网站 (liaoxuefeng.com)https://www.liaoxuefeng.com/wiki/1016959663602400/1017499532944768
视觉识别数字、十字路口和T字路口,巡线于一体的基于openmv的解决方案(2021年电赛f题)_openmv 巡线_Meat_buns_dogs的博客-CSDN博客https://blog.csdn.net/Meat_buns_dogs/article/details/126145510?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168610047016800182785741%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=168610047016800182785741&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_click~default-5-126145510-null-null.142%5Ev88%5Econtrol_2,239%5Ev2%5Einsert_chatgpt&utm_term=openmv%E5%B7%A1%E7%BA%BF&spm=1018.2226.3001.4187
实现巡线,可以使用哪些传感器?传感器的使用方案?
openmv巡线小车的功能:巡线,路口识别,90度大转弯,串口通信,数字识别,条形码二维码识别等
巡线如何实现:
- 线性回归:将视野中在设定的颜色阈值内的色块做一个回归函数,得到一个拟合直线。如果拟合直线效果(直线的模)>8,将拟合直线的斜率和截距做一个PID运算之后,作为差速值给电机的基本转速。 问题:受光线效果影响较大,颜色阈值选取,拟合直线不稳定,左右跳动。 为了让这些问题最小化,必须注意许多细节处理。光线保证,视野保证,颜色阈值选取,二值化处理。
- (2条消息) OpenMV 线性回归巡线之一:赛道提取_openmv车道线检测_handsomeswp的博客-CSDN博客https://blog.csdn.net/handsomeswp/article/details/109111576?ops_request_misc=&request_id=&biz_id=102&utm_term=openmv%20%E5%B7%A1%E7%BA%BF&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-2-109111576.nonecase&spm=1018.2226.3001.4187
- 将整幅画面分为三个平行的感兴趣区,在三个感兴趣区分别寻找最大色块,获得三个坐标,然后用权重计算平均质点坐标,再用质点坐标计算得到巡线时的偏转角度。get_statistics
循迹识别小车:(四)OpenMV4部分_openmv循迹_南沐ヾ的博客-CSDN博客https://blog.csdn.net/weixin_48267104/article/details/112986168?ops_request_misc=&request_id=&biz_id=102&utm_term=openmv%20%E5%B7%A1%E7%BA%BF&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-4-112986168.nonecase&spm=1018.2226.3001.4187
3.选出5个roi区域,然后进行二值化或者阈值设定,当在各个区域识别到特定颜色的时候返回1,类似于红外模块,红外模块在遇到黑线和白线的时候也会返回不同的值。
(2条消息) 2021电赛F题之openmv巡线(附代码)_ZhangBlossom的博客-CSDN博客https://blog.csdn.net/Zhangsama1/article/details/121151751?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168895130216800182160886%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=168895130216800182160886&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~baidu_landing_v2~default-5-121151751-null-null.142%5Ev88%5Econtrol_2,239%5Ev2%5Einsert_chatgpt&utm_term=openmv%20%E5%B7%A1%E7%BA%BF&spm=1018.2226.3001.4187
路口识别如何实现:
- 判断左方和右方区域是否有路线来识别路口。
ROI = [(10,0,40,50),(110,0,50,50)]#x分别为10和110,Y为0blobs1 = img.find_blobs(RED_THRESHOLD,roi = ROI[0],area_threshold=150,merge=True)#先找左上角红线if blobs1:blobs2 = img.find_blobs(RED_THRESHOLD,roi = ROI[1],area_threshold=150,merge=True)if blobs2:print("+")sending_data(10,10)#表示识别到十字
2.模板匹配。设置左右两侧的roi,识别两侧的数字。看需要的数字在左边还是右边。
串口通信
openmv发送两个字节大小的数据时,低8位在前,高8位在后。如果在openmv的数据是负数,STM32接收到之后会读取为正数(uint),所以在使用数据之前,需要判断最高位是1还是0。
openmv数字识别方案:
- 模板匹配,将灰度图二值化,使用图片处理软件处理一下,可以提高识别的准确率。为了提高准确率,还可以进行多次匹配。
ZhangBlossom/2021电赛F题openmv通过模板匹配的数字识别 - 码云 - 开源中国 (gitee.com)https://gitee.com/myoshino/num_recognition
往年电赛:
电赛OpenMV巡线巡迹_*Sun_Rising*的博客-CSDN博客https://blog.csdn.net/weixin_53434575/article/details/130542864?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168895130216800182160886%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=168895130216800182160886&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~baidu_landing_v2~default-6-130542864-null-null.142%5Ev88%5Econtrol_2,239%5Ev2%5Einsert_chatgpt&utm_term=openmv%20%E5%B7%A1%E7%BA%BF&spm=1018.2226.3001.4187
2021电赛F题智能送药小车方案分析(openMV数字识别,红线循迹,STM32HAL库freeRTOS,串级PID快速学习,小车自动返回)_也无风雨也无晴W的博客-CSDN博客https://blog.csdn.net/cubejava/article/details/121274043?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168904088716800185839438%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=168904088716800185839438&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-8-121274043-null-null.142^v88^control_2,239^v2^insert_chatgpt&utm_term=openmv%20%E5%B7%A1%E7%BA%BF%E5%B0%8F%E8%BD%A6%20%E4%BB%A3%E7%A0%81%20%E5%B7%A5%E7%A8%8B&spm=1018.2226.3001.4187
总结了一下CSDN上的多篇文章以及openmv官网的资料,自己做了一个巡线的小车。主要记录一下自己使用的PID的rho_pid的p参数取的是0.6,小车的基本速度取55。55这个速度在启动时可能会有点艰难。下面是个人账号的视频。
巡线小车_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV18P411y7Xf/?vd_source=8ea4713eb134e2cbfd2860e217cf1a31
这篇关于openmv巡线小车的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!