博舍

简单的巡线机器小车 巡线机器人编程原理图

简单的巡线机器小车

巡线是机器人的基本技术,也是大家学习机器人时最先要做的。能够巡线的自动装置具有机器人的全部特点:使用传感器收集周围环境的信息,并据此调整机器人的运动状态。想象这样一个场景:在沙漠中的一辆小车,离开沙漠唯一的办法就是沿着黑色的柏油马路一直往前形式。

设计思想

道路是蜿蜒曲折的,既不能实现设定好路线,又无法预测,小车只能是“看一步走一步”。道路有多曲折,小车的轨迹就有多复杂。尽管小车路线复杂,但其动作只有简单的两种:

前进(当小车在柏油路上时);随机转向(当小车在沙土中时,试图回到柏油路上)。当然,随机转向存在诸多不确定性,可能会彻底偏离路线。另一种方式是让巡线机器人沿着线的边缘走,因为如果沿着黑线本身走,当机器人偏离黑线,传感器“看到沙漠”时,我们不知道机器人到底在线的哪一边,是在线的右边还是左边?如果沿着线的边缘走,当光电传感器“看到白色”,我们知道机器人在线边缘(线)的左边,当光电传感器“看到黑色”,我们知道机器人在线边缘的右边(在线上)。因为机器人跟随的是线条的左边,因此这种方式被称为“左手法则”。当然左手法则依赖于,开始小车的状态必须线条在小车的左边。

算法描述

小车复杂的轨迹,就是这两种动作拼接而成的。而什么时候执行这两种动作,也是非常显而易见的。将小车每一次的循环串联起来,构成了小车完整的前进路线。所以小车的行为就可以描述为:

看一步:检测当前位置:(0)沙土上,(1)马路上。走一步:(0)时执行(A)前进,(1)时执行(B)随机转向or左手法则。循环:重复执行“看一步走一步”的过程。

具体实现

准备材料

乐高主控×1,颜色传感器×1,电机×2,乐高积木若干。

步骤

1.打开乐高可视化编程软件(PAD或者PC版本)

2.使用可视化编程,将代码逻辑实现成如下所示。

抽象理论

巡线机器小车程序虽然简单,但背后用到了深刻的思想,深入挖掘程序里面的数学思想,有助于我们更好自己DIY优化自己的巡线机器人。

从计算机程序的角度上讲,我们在这个程序中用到了3中逻辑:1)顺序,2)分支,3)循环。理论表明这三种逻辑是完备的。这意味着所有可以用计算机实现的逻辑都可以只用这3个逻辑实现。换句话说,以后我们见到的所有程序都可以用这3个逻辑来实现。顺序很简单,就是计算机按顺序一条条执行指令。所谓分支,在这个例子中,就是“走一步”是执行(A)前进还是(B)随机转向的二选一。循环即重复执行“看一步走一步”的过程。另外,还用到了分治的思想。即把一个大问题分解成无数小问题来解决。小车的轨迹很复杂,但通过分解成无数个“看一步走一步”动作就迎刃而解了。“看一步走一步”就是把小车复杂轨迹这个大问题分解成的小问题。分治有两个基本条件:1)问题可以被分解成子问题;2)子问题重叠。条件1)是显而易见的,条件2)意味着所分解的子问题要有相同的结构。计算机擅长的就是执行重复的动作。这个例子中,子问题不但有相同的结构,甚至完全一样。从数学模型上看,可以把寻线机器小车系统看作一个函数。函数本质上是一个映射:给定任意符合条件(定义域内)的输入,有且只有一个输出。把这个小车系统看作一个函数f,输入(0)时,输出(A)前进,输入(1)时输出(B)随机转向。f(0)=Af(1)=B更多思考

这种巡线方式能够完成巡线任务,但效果并不是很好。在比较直的线上完成巡线任务,在编程中设置动作细小的转弯方式,整体巡线效果看起来还算不错;但是如果线上有较大的弯度,你又采用明显的转向动作让机器人完成巡线,机器人就会来回摆动,横向穿过线条。机器人只“知道”两件事情:转左和转右。用这种方法巡线,通常机器人的速度不会很快。如何使巡线更有效率(又快又准确)呢?

在不增加传感器的情况下,采用PID来控制小车是个不错的选择。我们将在下一篇文章专门讲解PID巡线小车。

机器人编程按时巡线

本发明涉及智能机器人玩具领域,特别是可以稳定、精确、快速巡线的一种智能巡线机器人以及一种智能巡线机器人控制方法。

背景技术:

寻迹机器人是按照一定的路线到达指定位置,完成一定的动作后再走到下一目标位置,通常是采用不同颜色或者其他信号标记来引导进行移动的机器人,它是一个运用传感器、信号处理、电机驱动及自动控制等技术来实现路面探测、障碍检测、信息反馈和自动行驶的技术综合体。循迹机器人在军事、民用和科学研究等方面已获得了广泛的应用。例如自动化生产线的物料陪送机器人,医院的机器人护士,商场的导游机器人等,传统巡迹机器人的不足之处:一是受环境光的影响造成误判;二是光的反射容易造成相邻的红外接收管误判;三采用红外开关量(黑色1白色0),需要列出所有可能才能实现巡迹。

技术实现要素:

针对上述背景技术指出的问题,本发明所要解决的技术问题是提供一种智能巡线机器人的技术方案,采用红外逐路发射、接收采集模拟量并且滤光,有效克服强光和光反射干扰,采用加权扫描探寻黑线信息并辅以PID算法反馈控制机器人运动。

为了达到上述目的,本发明提供如下技术方案:

一种智能巡线机器人,包括:置于外壳内部的电机驱动模块、电源模块、行走装置、输入模块、红外传感器模块,所述电源模块、输入模块、电机驱动模块、红外传感器模块分别与中央控制处理模块连接,电机分别与行走装置和电机驱动模块连接。

上述技术方案中,红外传感器模块为四路,红外传感器模块位于智能巡线机器人底部用于读取黑线信息,透红外滤光片设置在红外传感器模块前端,用于滤除部分光照干扰。

上述技术方案中,电机为直流减速电机,行走装置为万向轮和车轮,车轮和直流减速电机连接,行走装置控制这控制机器人前进、后退、转向。

一种智能巡线机器人控制方法,包括如下步骤:

步骤一、校准红外传感器,让机器人扫过黑线与白线保持最大数据X_max和最小数据X_min,将传感器的读数从0—4095映射到X_min—X_max得到的结果Xi(i=0,1,2,3);

步骤二、红外传感器模块读取巡回路线黑线位置,克服接收相邻路线反射光干扰,采用加权扫描探寻巡线算法如下:

4个传感器依次加权Ai(i=0,1,2,3);Ai=1000*i;

设定智能巡线机

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇