文章目录
- 前言
- 一、non_uniform_bspline.h
- 二、功能函数整理
- 三、 功能函数具体解析
-
- NonUniformBspline::NonUniformBspline(const Eigen::MatrixXd& points, const int& order, const double& interval)
- NonUniformBspline::~NonUniformBspline()
- NonUniformBspline::setUniformBspline(const Eigen::MatrixXd& points, const int& order, const double& interval)
- NonUniformBspline::setKnot(const Eigen::VectorXd& knot)
- NonUniformBspline::getKnot()
- NonUniformBspline::getTimeSpan(double& um, double& um_p)
- NonUniformBspline::getControlPoint()
- NonUniformBspline::getHeadTailPts()
- NonUniformBspline::evaluateDeBoor(const double& u)
- NonUniformBspline::evaluateDeBoorT(const double& t)
- NonUniformBspline::getDerivativeControlPoints()
- NonUniformBspline::getDerivative()
- NonUniformBspline::getInterval()
- NonUniformBspline::setPhysicalLimits(const double& vel, const double& acc)
- NonUniformBspline::checkFeasibility(bool show)
- NonUniformBspline::checkRatio()
- NonUniformBspline::reallocateTime(bool show)`
- 四、总结
前言
在这系列文章中,我们将对TABV导航框架的代码进行详细解析。该框架是一种地空双模式车辆的自主自适应导航(Terrestrial-Aerial Bimodal Vehicles,TABV)框架。通过结合空中车辆的高机动性和地面车辆的长续航能力,该框架实现了车辆的完全自主性。通过深入分析代码,我们将深入了解该框架的工作原理和关键算法,以及如何实现车辆的导航功能。这将有助于我们更好地理解和应用TABV导航框架,为地空双模式车辆的开发和研究提供有力支持。
源码请参考https://github.com/ZJU-FAST-Lab/Terrestrial-Aerial-Navigation。
所有的规划算法以及其他关键模块的实现都在 TIE_navigation 文件夹中:
- plan_env:在线建图算法。它接收深度图像(或点云)和相机位姿(里程计)作为输入,通过射线投射更新概率体素地图,并构建规划系统的欧氏距离场(ESDF)。
- path_searching:前端路径搜索算法。目前包括一个遵循四旋翼动力学的动力学路径搜索算法。它还包含一个基于采样的拓扑路径搜索算法,用于生成捕捉3D环境结构的多个拓扑上有区别的路径。
- bspline:基于B样条轨迹的实现。
- bspline_opt:使用B样条轨迹的梯度优化算法。
本文是【运动规划算法项目实战】系列的第一篇,聚焦于TABV导航框架中非均匀B样条曲线(NonUniformBspline)的代码解析。介绍了B样条曲线的构造、主要成员变量、关键方法,如计算曲线位置、导数、参数化和检查可行性。通过对源码的深入分析,读者可以理解B样条在地空双模式车辆自主导航中的应用。
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



