[运动规划算法]基于梯度的安全轨迹生成
文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据参考前言基于梯度的在线安全轨迹生成是轨迹优化框架,用于基于分段线段初始路径生成安全,平滑和动态可行的轨迹。规划中的问题是将碰撞成本,平整度和动力学可行性的损失降到最低。一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):impor
前言
grad_traj_optimization是基于梯度的在线安全轨迹生成以及轨迹优化框架。在给定车辆状态估计和环境感知信息后,运动规划模块在自由空间中生成从当前状态到目标状态的平滑且安全的轨迹,同时躲避遇见的障碍物。
一、原理
1.系统组成

系统组成如上图所示。论文中所使用的测试平台是四旋翼飞行器,利用视觉惯导系统(VINS)来估计自身状态,并利用双目相机实时构建稠密地图。相机输出的局部体素地图传给路径规划模块,规划模块从体素地图中查找机器人从当前状态到目标状态的初始安全路径,然后,轨迹优化模块根据光滑度度,安全性和动力学可行性对轨迹进行优化处理。最后利用几何控制器来跟踪生成的轨迹。
2.轨迹生成
利用基于采样的方法(RRT、RRT*等)找到安全、无碰撞的路径,通常路径是不够平滑的,并不适合空中机器人进行跟踪。
可以使用Minimum Snap来生成光滑的轨迹,其中的轨迹是用分段多项式函数来表示,轨迹生成问题可以表述为二次规划(QP)问题。使用闭式求解的方法可以将带约束的QP问题转换化无约束的QP问题,从而绕开了求解带约束的QP问题过程,这种方式提高了数值稳定性和计算效率。
轨迹规划分为基于硬约束和软约束两种方法。基于硬约束的方法是在八叉树地图生成飞行走廊,然后使用二次约束二次规划(QCQP)生成完全约束在走廊内的轨迹。然而基于硬约束的方法是认定所有的安全区域都是等价的,很可能会导致轨迹的某些地方距离障碍物太近,如果控制部分不能完全按照轨迹走,则依然会导致碰撞;另一个潜在问题在于如果大量的使用基于视觉的方法,则会产生较多的噪点,那么就会给规划问题带来麻烦(对噪声敏感)。基于软约束的方法则是利用环境中的梯度信息来增加机器人靠近障碍物的惩罚,将生成的原始轨迹往远离障碍物的方向推。
3.优化策略
轨迹的优化策略分为两步:
- 仅以碰撞代价来优化轨迹,将离障碍物比较近的轨迹点往外推;
- 根据当前轨迹点的位置重新分配时间和重新调整参数来优化轨迹,并通过添加平滑项和动态惩罚项来优化目标。
下图表示的是在稠密中生成的轨迹。颜色值代表着障碍物的距离值,越深代表着对应的碰撞代价越高。橙色区域属于缓冲区,即虽然靠近障碍物但仍然安全的区域,黑色区域则是障碍物。蓝线显示的轨迹是一条无碰撞但难以跟踪的直线轨迹。优化的第一步是将中间轨迹点推离附近的障碍物,如图中的绿线所示,优化的第二步则是重新分配时间和调整参数来优化轨迹,如红线所示。
二、演示


参考
[1] Fei Gao, Yi Lin and Shaojie Shen, Gradient-Based Online Safe Trajectory Generation for Quadrotor Flight in Complex Environments
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)