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 - 写入状态:不直接写入对象属性