本文概述
- 什么是直线追随者
- 直线跟随器机器人的要求
- 所需硬件
- 所需软件
- 框图
- 算法
- 电路图
直线跟随器机器人的要求 感应一条线并操纵机器人使其保持在路径上, 同时通过使用反馈机制不断纠正错误的动作, 从而形成了一种简单有效的闭环系统。作为程序员, 我们有机会学习?机器人如何跟随这条线, 因此赋予了机器人类似人类对刺激做出反应的特性。
考虑直线跟随器机器人的实际应用是:
- 工业机器人在车间移动的引导系统
- 在有嵌入磁铁的路上运行的自动化的汽车。
- 12V, 1A DC适配器1件
- 模拟红外传感器3件
- AVR微控制器板1件
- 直流电动机驱动器1件
- AVR USB Programmer-1件
- 1对1连接器-15件
- 10至10 FRC母连接器2件
- 机器人1件
- BASCOM-AVR集成开发环境(IDE)
- AVRDUDE-GUI
- WinAVR-2010
- USBasp驱动程序
文章图片
算法 R =读为0的最右传感器, L =读为0的最左传感器。如果右(或Left)上没有传感器为0, 则L(或R)等于0。
如果所有传感器的读数均为1, 则转到步骤3,
其他,
如果L < R向右移动
如果L> R向左移动
如果L = R前进
如果最后一次在左边看到线, 则逆时针移动;如果最后一次在右边看到线, 则逆时针移动。重复步骤3, 直到找到行。
电路图 考虑基于eagle软件的线路随动机器人的原理图电路为:-
文章图片
源代码:
$regfile = "m16def.dat".
$crystal = 1000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Rs = Portb.2 , E = Portb.3 , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc
Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
Start Timer1
Dim Lb As Integer , Lw As Integer , Lm As Integer , L As Integer
Dim Rb As Integer , Rw As Integer , Rm As Integer , R As Integer
Cls
Lcd "sense black"
Wait 5
Lb = Getadc(1)
Rb = Getadc(0)
Lowerline
Lcd Lb ;
"_" ;
Rb
Wait 1
Cls
Lcd "sense white"
Wait 5
Lw = Getadc(1)
Rw = Getadc(0)
Lowerline
Lcd Lw ;
"_" ;
Rw
Wait 1
Cls
Lm = Lw + Lb
Lm = Lm / 2
Rm = Rw + Rb
Rm = Rm / 2
Do
Cls
L = Getadc(1)
R = Getadc(0)
If L <
Lm And R <
Rm Then
Lcd "fwd"
Pwm1a = 100
Portd.6 = 0
Pwm1b = 100
Portd.3 = 0
Elseif L >
Lm And R <
Rm Then
Lcd "left"
Pwm1a = 100
Portd.6 = 0
Pwm1b = 0
Portd.3 = 0
Elseif L <
Lm And R >
Rm Then
Lcd "right"
Pwm1a = 0
Portd.6 = 0
Pwm1b = 100
Portd.3 = 0
Elseif L >
Lm And R >
Rm Then
Lcd "stop"
Pwm1a = 0
Portd.6 = 0
Pwm1b = 0
Portd.3 = 0
End If
LoopEnd
【直线跟随机器人设计实例】考虑使用BASCOM-AVR集成开发环境(IDE)在Line Follower机器人中使用的源代码的屏幕截图为:
文章图片
文章图片
推荐阅读
- Eagle避障机器人设计实例
- 基于DTMF的移动控制机器人设计实例
- 机器人的组成介绍
- 人工智能研究领域介绍
- 机器人和人工智能概念介绍
- 'Specifying a namespace in include() without providing an app_name '
- App 上架遇到的坑
- AppBoxFuture: 集成第三方Sql数据库
- How to handle Appsettings for .net core 3.1 self contained single file publish