gvf_poly.py API 参考

多项式参数轨迹的高维 GVF、混合收敛矩阵与圆轨迹兼容实现。

  • 源码路径:single_demo/scripts/gvf_lib/gvf_poly.py
  • 本页函数/方法数:14
  • 行号对应本文档生成时采用的源码版本;源码调整后应重新生成本页。

阅读方式

本页用于快速检索签名与调用关系。核心控制和算法推导请先阅读“开发指南”中的对应章节。

GVF.__init__

__init__(self, path, ori=0, k=1, mc_flag=0)
  • 源码位置:第 18 行
  • 类别:初始化
  • 作用:初始化 GVF 的参数、状态缓存以及所需的通信或算法对象。
  • 主要调用np.eye
  • 写入状态self.dimension, self.k, self.m, self.mc_flag, self.ori, self.path

GVF.GetError

GetError(self, pos, t)
  • 源码位置:第 30 行
  • 类别:算法查询/计算
  • 作用:计算并返回名称所指的轨迹、误差或几何量。具体定义见本页所属模块说明。
  • 主要调用np.sum, self.path.GetPhi
  • 写入状态:不直接写入对象属性

GVF.GetConvergeVec

GetConvergeVec(self, pos, t)
  • 源码位置:第 36 行
  • 类别:算法查询/计算
  • 作用:根据误差梯度(可结合 Hessian 调整)计算指向目标流形的收敛向量。
  • 主要调用np.array, np.eye, np.linalg.eigvals, np.linalg.inv, np.squeeze, self.AdjustFun, self.path.GetEHessian, self.path.GetEJacobian
  • 写入状态:不直接写入对象属性

GVF.GetTransVec

GetTransVec(self, pos, t)
  • 源码位置:第 63 行
  • 类别:算法查询/计算
  • 作用:根据约束函数雅可比的楔积/叉积计算沿目标流形的传输向量。
  • 主要调用np.append, np.linalg.det, np.zeros, range, self.path.GetPhiJacobian
  • 写入状态:不直接写入对象属性

GVF.GetVec

GetVec(self, pos, t)
  • 源码位置:第 82 行
  • 类别:算法查询/计算
  • 作用:组合传输项与收敛项并归一化,输出含路径参数速度的 GVF 向量。
  • 主要调用np.linalg.norm, self.GetConvergeVec, self.GetTransVec
  • 写入状态:不直接写入对象属性

GVF.GetVecField

GetVecField(self, t)
  • 源码位置:第 91 行
  • 类别:算法查询/计算
  • 作用:计算并返回名称所指的轨迹、误差或几何量。具体定义见本页所属模块说明。
  • 主要调用len, np.append, np.linspace, np.meshgrid, np.zeros, range, self.GetVec, self.path.GetDesireP, x.flatten, y.flatten
  • 写入状态:不直接写入对象属性

GVF.HesLenCal

HesLenCal(hes_matrix, eta, method=2)
  • 源码位置:第 114 行
  • 类别:内部计算/辅助
  • 作用:按选择的方法计算 Hessian 修正后的目标谱长度。
  • 主要调用np.linalg.eigvals, np.linalg.norm, np.log
  • 写入状态:不直接写入对象属性

GVF.AdjustFun

AdjustFun(eigvals)
  • 源码位置:第 131 行
  • 类别:内部计算/辅助
  • 作用:根据最小特征值计算使矩阵保持正定裕量所需的对角修正量。
  • 主要调用float, np.min, np.prod
  • 写入状态:不直接写入对象属性

circleGVF.__init__

__init__(self, r, center=[0.0, 0.0, 0.0], ori=0, k=1.0)
  • 源码位置:第 147 行
  • 类别:初始化
  • 作用:初始化 circleGVF 的参数、状态缓存以及所需的通信或算法对象。
  • 主要调用float, np.array, np.squeeze
  • 写入状态self.center, self.k, self.ori, self.r

circleGVF.GetPhi

GetPhi(self, pos)
  • 源码位置:第 153 行
  • 类别:算法查询/计算
  • 作用:计算当前位置相对隐式曲面或参数轨迹的约束误差。
  • 主要调用np.array, np.linalg.norm
  • 写入状态:不直接写入对象属性

circleGVF.GetJacobin

GetJacobin(self, pos)
  • 源码位置:第 160 行
  • 类别:算法查询/计算
  • 作用:计算隐式曲面约束对空间位置的雅可比向量。
  • 主要调用np.array, np.linalg.norm
  • 写入状态:不直接写入对象属性

circleGVF.GetConvergeVec

GetConvergeVec(self, pos)
  • 源码位置:第 168 行
  • 类别:算法查询/计算
  • 作用:根据误差梯度(可结合 Hessian 调整)计算指向目标流形的收敛向量。
  • 主要调用self.GetJacobin, self.GetPhi
  • 写入状态:不直接写入对象属性

circleGVF.GetTransVec

GetTransVec(self, pos)
  • 源码位置:第 175 行
  • 类别:算法查询/计算
  • 作用:根据约束函数雅可比的楔积/叉积计算沿目标流形的传输向量。
  • 主要调用np.cross, self.GetJacobin
  • 写入状态:不直接写入对象属性

circleGVF.GetVec

GetVec(self, pos)
  • 源码位置:第 182 行
  • 类别:算法查询/计算
  • 作用:组合传输项与收敛项并归一化,输出含路径参数速度的 GVF 向量。
  • 主要调用np.linalg.norm, self.GetConvergeVec, self.GetTransVec
  • 写入状态:不直接写入对象属性