全覆盖清扫机器人思路
预规划路线思路
- 机器人在遍历整个环境前,应已知环境,即已获取全局地图;目前较常见的为激光slam方案,如科沃斯、小米等成熟产品;地图中障碍分布已知,且可实时可知机器人所在空间位置;
- 然后在全局地图选取需要清扫的范围,清扫范围内,可采用自动全覆盖规划算法;
- 已知定位和路线,仅需路径跟踪算法,从而实现覆盖清扫;
方案一(可快速demo)
已知:
- 机器人的定位信息
- 地图信息无
流程:
- 手动遥控记录外边界功能;
- 手动遥控记录内部障碍功能;
- 根据记录的数据创建栅格地图;
- 在栅格地图内部实现全局自动规划算法,内部存在A星算法;
- 跟随路径进行覆盖;
- 中间遇到临时障碍物,采用局部饶行(由于无详细环境信息,应后退,左转,前进,右转,前进循环固定流程前进);
动态规划思路
- 在未知环境中,假设无远距离传感器,从而通过固定”弓“字形遍历,同时进行实时探索环境;
- 由于环境未知,故每次探索大小固定如4*4m矩形框;
- 可采用水平方向遍历,遇到障碍物可采用固定方向贴边绕行,遍历到尽头,遇到的障碍物应实时记录其位置进行标记,实现建图功能;
- 重复实现第3步,从而遍历4*4矩形框环境;
- 重复3 、 4两个步骤,将环境进行遍历;
方案二
已知:
- 机器人的定位信息
- 地图信息无
流程:
- 从充电桩起步,自动跟随边界(固定右边),获取外界边界功能;
- 形成栅格地图,栅格分辨率等于机器人大小;
- 栅格地图以原点进行和最长方向为为X轴,进行旋转与平移;
- 自动计算起点,即左边,下面第一个空白点;
- 开始覆盖,假设X为水平,Y为垂直方向。按顺序遍历判断(X+1,Y+0),(X+1,Y+1),(X+0,Y+1),(X-1,Y+1)。若为障碍则标记为障碍,若为空闲则为下一个点。
- 若四个点均不为空闲,则机器人应后退一格,即(X-1,Y+0)
- 清扫过的点应标记已清扫状态
- 进行循环,如此可遍历整个边界,同时也可创建地图;
- 地图可以保存,第二次无需创建边界和地图转向;