当前位置:主页 > 查看内容

购物机器人的导航线识别以及基本运动分析(模式A情况下)

发布时间:2021-06-08 00:00| 位朋友查看

简介:写在前面 列出一些我之前写的底盘调试的博客在看这篇文章之前最好看一下便于理解 购物机器人的路径感知以及姿态调整方案 STM32CubeMX配置STM32F103C8T6芯片调试串口光电传感器 在之前的文章里我已经讲过了光电传感器回传的数据格式以及基本的购物机器人的姿……

写在前面

列出一些我之前写的底盘调试的博客,在看这篇文章之前最好看一下,便于理解

在之前的文章里,我已经讲过了光电传感器回传的数据格式以及基本的购物机器人的姿态调整方案,那么在这篇文章里我将分享购物机器人是如何识别导航线以及完成基本的运动动作(前进,后退,左转,右转),我在这里再放一下光电传感器的摆放位置吧
车子的俯瞰图
在这里插入图片描述

赛场导航图

思路讲解

流程图

模式A和B

因为购物机器人的运动需求,我们将其运动状态分为了模式A和模式B,模式A就是购物机器人行进时其中线是和导航线重合的,示意图如下:

而模式B前进时,购物机器人前进时其中线和导航线是有一定偏差距离的,示意图如下:

那么为什么要有这2种模式的区别呢?这是因为在遍历仓库的时候,如果都是沿中线去拿货物的话,仓库里有些地方购物机器人前端的拨片就拨不到了,因此就设计出了模式B,这样相当于购物机器人的横向可拨范围变大了许多。

自然语言

首先我们需要获取到S1和S2总共8颗循迹灯的状态,并以该循迹灯作为我们购物机器人的运动依据,在模式A下面,我们只用到了uart6Rx[0]和uart7Rx[1]这2个数组元素的数据,为什么?这就跟我们模式A的运行模式有关了,因为模式A的运行模式时购物机器人中线与导航线重合,因此只需要用到前后的光电传感器的中间部分就可以了。
有了循迹灯的状态之后就需要做逻辑判断了,在循迹时,购物机器人会接收到树莓派通过串口发送过来的指令,指令里会包含模式,行进方式(前进,后退,左转,右转),以及前进格数,因此在做运动时需要对前进方式进行判断,我将运动方式进行了分类,前进后退一类,左转右转为一类,不同的类别有不同的识别方式以及速度控制,在模式A的情况下走完一格就相当于时完成了任务,就会停车等待树莓派命令,没有树莓派的命令底盘时不会动的,保持停止状态。

程序分析

首先是寻迹了,因为模式A的时候车子的中心线和导航线是重合的,因此

程序修改:
转圈停止的时候应该是前方光电踩线而不是中间2个扫到,而且这时候这2个情况可以说是等价的
uint8-t和int相互赋值的时候会出问题


疯狂明示,这次一定

在这里插入图片描述

;原文链接:https://blog.csdn.net/weixin_43454320/article/details/115560438
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文


随机推荐