【摘要】:如果只按6.3.1 节的程序,机器人有可能过不了直角,通过锐角的可能性更低。图6-3-3含直角和锐角的黑色轨迹作为编程开发人员,结合机器人调试的现场情况改进程序是很有必要的。通过测试可以发现,在直角位置、锐角位置,机器人会停止。
6.3.1 节已经介绍了基础的自动巡线,然而在一些机器人比赛中,自动巡线的难度会增加,其特点是黑线的轨迹会出现直角乃至锐角,如图6-3-3 所示。如果只按6.3.1 节的程序,机器人有可能过不了直角,通过锐角的可能性更低。因此,要使机器人能正常通过直角与锐角,需要对6.3.1 节的程序进行改进。
图6-3-3 含直角和锐角的黑色轨迹
作为编程开发人员,结合机器人调试的现场情况改进程序是很有必要的。开发者可以自行利用黑胶布贴直角、锐角的轨迹,然后基于6.3.1节的程序观察情况。通过测试可以发现,在直角位置、锐角位置,机器人会停止。回看程序,停止的原因是传感器探测情况为双白(左白右白),因此,可以考虑在该情况进行程序改进,就是遇到双白时,不是停止,而是有其他动作。
把这个动作命名为“扫描式前进”,其含义就是检测情况为双白时,先右转接近160°,然后一直左转回来直到遇到黑线,如此就能重回黑色轨迹。这里面有一个很重要的细节就是,右转、左转是如何实现的?以右转为例,左轮前进右轮不动可以右转,左轮前进右轮后退也可以右转,左轮不动右轮后退也可以右转,这三者是转的特征各不相同。(www.daowen.com)
程序代码如下:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
有关Arduino机器人制作、编程与创新应用的文章