(7)巡线模块讲解

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

模块讲解——环境采集
①该模块功用于采集地面灰度的阀值,如果机器人只是在某 一种类型的场地上运行,只需要选择对应的一个类型即可,如果
机器人会在两种场地上运行您需要两个场地都选择。
②在程序中,环境采集模块前面必须有一个初始化模块。 注意:环境采集模块之前也必须要有初始化模块,否则将不能 采集到正确的阀值。采集到的环境值会依次存储在EEPROM10-23中, 其中EEPROM10-16中存储的是白底黑线场地上的阀值,EEPROM17-23 中存储的是黑底白线场地上的阀值。如果在程序中需要使用EEPROM, 请不要使用EEPROM10-23;您也可以通过直接修改到EEPROM10-23来 修改阀值,而不用环境采集模块。
向速度值小的一侧转向。该模块完成1次转向的结束标志是
部分灰度传感器依次扫过某一线条。当转弯时小车前排灰度 传感器已经感应到黑线,则转弯模块将会误执行。
过线条数:转弯转过的线条数。如在一个十字路口上实
现180度转弯需要转过2条线。 结束位置:决定机器人理论上应该停在“中间”、中 间“偏左”还是中间“偏右”灰度上。
VJC4.2 巡线模块库讲解
• 巡线原理
目 录
• 模块讲解 • 编程注意事项
巡线原理
边缘两个灰度传感器用于寻找路口
巡线原理
中间的灰度传感器用于判断小 车是否处于正中位置
巡线原理
其余灰度用于矫正小车位置
巡线原理
当小车出现如图所示车头向右偏移,左侧 的矫正灰度感应到黑线,电机会产生向左转的差 速,直到中间灰度感应到黑线。反之则相反。
模块讲解——启动马达
该模块主要用于电机控制,分为按时间控制和按传感器 触发控制。如果是按时间控制,该模块结束时机器人停止动 作,如果是按传感器触发控制,则可以选择该模块结束后机
器人是否停止动作。传感器触发条件同样是结束该模块传感
器返回值需要满足的条件。
wenku.baidu.com
模块讲解——按钮
在程序运行时,运行到该模块会暂停,当您按下“ENTER”键后会继续执行后面的程序。
机器人巡线环境、灰度传感器阀值的取值系数等。 ①闭环电机:如果你使用的是速度闭环的电机需要勾选该项; 如果是普通电机请勿勾选该项,否则您的电机转动时可能会一直 保持最高速度。 ②(马达)通道:分为2个,对应机器人的左右电机分别接 在哪个DC口上。 ③功率:电机的实际输出速度是程序中的速度值乘以该功 率值。如果某一电机正转时机器人是后退的,可以把功率设置 为负数,这样以后再设置电机速度时就不用考虑转向问题了。
循环次数:定义经过几个路口。每次按路口巡线都
是以经过一个路口为一次完整的循环,循环次数就是经过多少个路口。
冲过路口时间:冲过路口后继续前进的时间。 结束后是否停车:执行完该模块后机器人是否停止。
模块讲解——按时巡线
当机器人目标点没有路口或者参考点时,可以使用时 间控制前进距离。 但需要注意的是前进距离由机器人速度和时间决定,
模块讲解——路口巡线
路口类型:单个模块中需要经过的路口是在左侧还 是在右侧。
巡线速度:当正中间的灰度压线时,两个马达中速度较快的一个
速度值。
左轮差速:当正中间的灰度压线时,左轮速度低于“巡线速度” 的差值,用于走弧线。 右轮差速:当正中间的灰度压线时,右轮速度低于“巡线速度”
的差值,用于走弧线。
左轮实际速度=巡线速度—左转差速 右轮实际速度=巡线速度—右转差速
模块讲解——初始化
⑧阀值偏移:我们取阀值(临界值)时一般都是 “(小值+大值)*0.5”,在一些特殊情况下您可能需要让这个阀值
偏向小值,这时只需要把这个“0.5”改小即可。需要注意的是这个
值不能太小,如“(2+8)*0.5”算得阀值为“5”,如果您把“0.5” 调整到“0.1”时,他就没有意义了,因为此时的阀值比最小值还要小。 注意:初始化模块是机器人的配置文件,无论是巡线程序还是采集传 感器阀值,第一步都要有这个初始化模块。 初始化模块是把必要机器人配置信息保存在了程序的全局变 量中。 ⑧
“AI(7)<500”。 传感器端口号:负责触发结束该模块的传感器对应
的I/O口号。
比较符:比较运算符,取决于传感器返回值的变化 趋势。 参考值:触发结束该模块的传感器对应的阀值。
模块讲解——转弯
机器人的运动状态是由两个马达控制的,转弯是通过 两个马达的速度差实现的(差动驱动)。如果把速度看做 一个纯粹的数值(反向速度视作负数),那么机器人将会
而影响速度的因素包含程序中的参数、电压、地面阻力等,
有些是不可控的,所以做不到精确控制。
模块讲解——高级巡线
该巡线模块的结束标志是某一传感器的返回值达到 设定要求,如在某一I/O口(I/O7)上接1个红外传感器, 在没有测到目标物体时返回值是3000,当返回值小于500
时则测到了目标物体,那么他的停止条件就是
例如误转弯产生的误差。
请在此处输入文本-无标题使用

模块讲解——初始化
④地面灰度数量:如果您的机器人是使用7个灰度传感器巡线的, 请选择“7灰度配置”;如果您的机器人是使用5个灰度传感器巡线的,
请选择“5灰度配置”;
⑤ (灰度)通道:定义机器人的灰度传感器分别是接在哪个 I/O口上。 ⑥场地类型:如果场地上的线条是黑色的(场地白色)请选择 “黑线”;如果场地上的线条是白色的(场地黑色)请选择“白 线”。这里的黑色和白色是针对灰度传感器说的,比如玻璃是无色的,⑥ 而灰度传感器会认为它是黑色。 ⑦是否打开DO:该功能决定是否将所有DO口都打开,如果选择 “是”,在程序运行到该模块时,所有灰度传感器都会上电。 ⑦ ④ ⑤
巡线原理
如果发生线路超出矫正小车的感应范围,则 小车无法再巡线。 并且程序模块中设定的矫正差速是一定的, 如果小车偏转角度过大,则程序无法完成小车方 向的矫正。
模块讲解——初始化
巡线模块库需在菜单栏中的“视图”调用出来。 初始化模块是巡线机器人的配置模块,它定义了机器人上 ② ①
电机的接口配置和输出功率及转向、灰度传感器的接口配置、
关于控制器和VJC4.2里面其他程序模块的详细介绍可以在帮助主题里查看(如下图)。
编程注意事项
在调试程序的过程中,经常容易遇到一段程序的完成成功率很低的情况,这是由于整段程序种有一些 模块在运行时与我们预想的产生偏差,导致了整段程序成功率低。前期,我们在调试程序时最好做到一个 模块一个模块地往上加。在了解每个模块的原理和运行效果之后,我们可以更好地控制程序的成功率。就
相关文档
最新文档