个性化阅读
专注于IT技术分析

直线跟随机器人设计实例

本文概述


什么是直线追随者

直线跟随器机器人是可以遵循路径的自主机器。该路径在黑色表面上看起来像是白​​线(反之亦然), 也可以作为磁场不可见。


直线跟随器机器人的要求

感应一条线并操纵机器人使其保持在路径上, 同时通过使用反馈机制不断纠正错误的动作, 从而形成了一种简单有效的闭环系统。作为程序员, 我们有机会学习?机器人如何跟随这条线, 因此赋予了机器人类似人类对刺激做出反应的特性。

考虑直线跟随器机器人的实际应用是:

  • 工业机器人在车间移动的引导系统
  • 在有嵌入磁铁的路上运行的自动化的汽车。

所需硬件

  • 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驱动程序

框图

线跟随机器人1

算法

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
  Loop

End

考虑使用BASCOM-AVR集成开发环境(IDE)在Line Follower机器人中使用的源代码的屏幕截图为:

线跟随机器人3
线跟随机器人4
赞(1)
未经允许不得转载:srcmini » 直线跟随机器人设计实例

评论 抢沙发

评论前必须登录!