【玩转KittenBot】搭建pid巡线小车-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 15057|回复: 6

【玩转KittenBot】搭建pid巡线小车

[复制链接]
发表于 2017-8-24 14:41 | 显示全部楼层 |阅读模式
本帖最后由 Rosy~ 于 2017-8-24 14:51 编辑

现在大多数机器人大赛都会有巡线比赛,有的人也萌生了动手制作巡线小车的念头。KittenBot作为用户学习编程和机器人的启蒙,怎么能缺少巡线功能呢。这个教程将会讲解怎么使KittenBot实现巡线功能,或许能学会pid算法哦!(高能预警:KittenBot基础套件不含巡线模块,此教程具有一定的操作难度。) 1502109278302-upload-5cccda48-5b47-479e-a2af-c3e387fabd35.png


准备工作
五路巡线模块 x1
1502109295217-upload-1ec9507b-813b-40e8-af12-c3e422dbedc7.png
kittenbot小车 x1
USB线 x1
1.5V电池 x6
1502109321685-upload-6047f879-652c-4a69-ad43-98ccc589d9dd.png
在接下来的安装步骤是以安装好的KittenBot小车的基础上说明。
如果还没安装好小车,请按说明书安装完毕再观看下面教程。

第一步
用巡线模块配套的M4螺丝螺母将巡线模块安装在小车前方的底盘下,如下图所示。
1502109375168-upload-01c3c3b9-62ec-455e-9b87-a7b2efa6b014.png
1502109406778-upload-c975b2c5-d452-46b3-81ec-6f17297e8ff8.png
第二步
接下来就是连线,先让大家知道每个接口对照的红外传感器。
1502109437454-upload-f0bf0aa8-3c5e-41c6-bc1f-6f65296596d7.png
用7根杜邦线按顺序依次是
T5连接A4(SDA=A4)
T4连接A3
T3连接A2
T2连接A1
T1连接A0
5V连接红色VCC
G连接黑色GND


1502109598757-upload-0eedd9d4-15ca-49e4-98d0-356ca30a532a.png
第三步
接着我们用扎带将电池座固定在小车的前端

1502109704754-upload-2e9924c9-e871-4d5a-99dc-a9510c931815.png
第四步
下载我们提供的巡线程序

1502110022290-upload-cd1f5a33-7ac5-4c7c-8547-faed2407c762 (1).png
第五步
用USB连接KittenBot到电脑,使用Arduino IDE打开linefollow.ino文件。
类似使用Kittenblock一样,先连接COM口,然后下载程序

d51e8d4eb5411273.gif
下载好程序后,让KittenBot试着去巡线吧,从黑线跑出来了?
1502110213621-upload-688021d7-40eb-413d-8514-98390f76b1d7.png
咳~ 这是因为五路巡线模块对黑线的感应强度在不同环境会有差异或者小车TT马达参数有差异。所以喵星人提供的程序还需要用户自己微调。
调试一
检测五路巡线模块对黑线的灵敏度。
在下载回来的文件夹,打开LineFollowSensorTest文件,使用Arduino IDE打开LineFollowSensorTest.ino并下载程序。
然后用五路巡线模块逐个扫描黑线,观测串口监视器返回的值。
8a554a857db5013c.gif
调节linefollow.ino程序里的adcal数组里的值。

例如说,我的五路巡线模块在黑线时读出来的值分别是300,400,450,550,300.
就将adcal数组里的值改为
调试二
小车能够正常检测黑线之后,到了本次教程最难的一步。调整pid算法的参数。

本喵对pid的理解也有一定的局限性,我也是经过一定时间的参数调节才成功的。这是我的一些总结
①小车在直线左右抖动频繁,减少Kp的值或减少Kd值
②小车在弯道的时候转不过去,增大Kp的值或增大Ki值
③小车经过弯道回直线时冲出黑线,增大Kd的值或减少Ki值
以上的总结不一定适用,要让小车以高速且顺滑的跑起来,这还得靠大家有一定的数学知识和耐性,在理解pid原理的同时优化pid的参数。

发表于 2017-8-24 15:01 | 显示全部楼层
沙发,有奖吗
发表于 2017-8-24 15:08 | 显示全部楼层
有难度,不是我这种新手能做的
发表于 2017-8-29 12:30 | 显示全部楼层
汇研 发表于 2017-8-24 15:08
有难度,不是我这种新手能做的

新手的话,推荐玩这个:http://www.arduino.cn/thread-48077-1-1.html 上手快很简单~
发表于 2017-8-30 15:27 | 显示全部楼层
KittenBot 发表于 2017-8-29 12:30
新手的话,推荐玩这个:http://www.arduino.cn/thread-48077-1-1.html 上手快很简单~

谢版主推荐!
发表于 2018-4-3 09:26 来自手机 | 显示全部楼层
问一下零件在哪买啊
发表于 2019-3-14 23:08 | 显示全部楼层
github上面找不到呀
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-9-20 16:54 , Processed in 0.107874 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表