移动机器人农田机器人全覆盖路径规划

鉴于目前网上对于全覆盖路径规划方面的资料比较少,本次博客内容主要分享下拖拉机在农田里面作业的路径规划,以及轨迹优化。(提供有偿开发)

目录

1. 什么是全覆盖路径规划

2. 实用案例

3. 农田作业机器人

如何获取地图

如何规划出全覆盖的路径

如何确保规划出来的路径是符合车辆动力学要求的



1. 什么是全覆盖路径规划

  1. 遍历工作区域内的所有面积
  2. 移动过程中要避开障碍物
  3. 保证覆盖率,避免重复路径

2. 实用案例

  1. 扫地机器人,割草机器人,排雷机器人,农田作业等。

3. 农田作业机器人

如何获取地图

        农田作业机器人和室内作业机器人的区别是,农田作业的面积是很大的,并且周边没有围墙,树木之类的,因此无法像扫地机器人那样通过SLAM建立农田的地图,农田的优势就是,环境比较单一,障碍物比较少或者无障碍物,这对于规划来说也是比较友善的,因此为了获取农田的地块,一般是采用GPS打点的形式,也就是拿着RTK模块,去农田边上走一圈,就可以获取得到农田在地球表面的坐标了。

如何规划出全覆盖的路径

        规划全覆盖路径,和一般的路径规划是不一样的,全覆盖规划不是点到点的规划,所以一般的图搜索算法例如A star, RRT等,都是用不上的。 

        在探讨如何规划全覆盖的作业路径之前,首先了解下,农业机器人在农田内是如何工作的,以及其工作的内容有哪些。举个例子,比如,深松,靶地,起垄,旋耕等,这些都是农机比较常见的作业,他们都有一些共同的特点,主要的路径都是直线+掉头+直线+掉头的形式。所以对于这种形式的全覆盖规划,使用高中学的几何知识就可以完成了,首先选择一个方向,然后找一条与该方向平行的直线,从地图的一边尽头往另一边平移,直线与边界的交点就是直线路线的两个端点,专业一点的话,这种直线段被称为垄,如下图1所示,直线段都称为垄, 掉头的地方,直接将直线段的端点相连接即可。这是简单的的全覆盖规划方法了,还有一些比较复杂的地图,比如图2,图3。

        从一下图中可以看到,掉头区域出现很多尖角,对于阿克曼形式的移动机器人来说,这是比较致命的,农业拖拉机多数也是阿克曼形式的底盘,转弯是有最大转弯角度约束的,这种尖角形式的轨迹是不适合拖拉机正常跟随的,因此还需要对下面的path作进一步的轨迹优化,是的path每一个点的曲率都满足车辆动力学要求。

图1

图2

图3(地图内有三个障碍物,分别是圆形和矩形障碍物)

如何确保规划出来的路径是符合车辆动力学要求的

对于使用差速轮作为底盘的移动机器人,规划出直线段轨迹后,还需要进一步平滑,平滑轨迹的方式可以采用b样条曲线,因为这种差速轮形式的机器人,在跟踪轨迹的时候是不会受到曲线的曲率影响的,因为当线速度无穷小的时候,差速轮的转弯能力无穷大,也就是原地转弯,但是如果采用B样条进行拟合直线的话,有可能会出现平滑后的轨迹是穿过障碍物的情况,这种情况的话,可能就要使用一些优化算法了,比如参考高飞老师的开源项目,ego planner,简介可以看下下面的知乎大佬写的内容。大体上可以知道是干嘛的。这个算法没有加入曲率的约束,所以对于车辆来说是不行的,应该车辆有方向盘打角约束。对于车辆的轨迹优化,我参考的是混合A*的算法,掉头区域可以用混合A*搜索出一条轨迹,最后再加一个平滑, 结果图4, 图5,后续有人感兴趣的话,在更新实现部分内容。https://zhuanlan.zhihu.com/p/513312955icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/513312955 

 图4   

 

 图5


鸽了好久没更新了

前面说到如何获取地图,一般商用阶段都是手持RTK模块,或者无人机啥的绕着田边打点,但是这是有硬件加持的情况,对于普通人来说如何获取真实的地块信息呢,可以去google earth, 在google earth不仅可以看到你的家, 还可以把你家门前的地块经纬度给获取到(不准就是了,不过不影响算法测试), 打开google earth,new project, new features, features可以选择 draw line, 这个时候就可以把农田边界以及障碍物给勾勒出来,如下图6, 勾勒之后,保存并输出成kml文件即可, 地块的经纬度海拔信息就存放在kml文件中,读取这个kml文件可以用python来读方便简单。 具体的步骤如下

  1. 在google earth选中一块地
  2. 输出地图经纬度信息
  3. 用python解析kml文件并把经纬度转换成局部笛卡尔坐标系
  4. 规划算法读取解析的地图位置并开始规划
  5. 把规划算法的结果转换成经纬度坐标系
  6. 按照kml的文件格式把规划数据写进.kml文件
  7. 在google earth上加载规划的数据

图6   

 

 

待更!!!

REFERENCE       

Path Planning for Autonomous Vehicles in Unknown Semi-structured Environments

评论 35
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值