follower_uav.py API 参考¶
跟随者 ROS 集成:订阅领航信息并计算编队控制量。
- 源码路径:
multi_demo/scripts/follower_uav.py - 本页函数/方法数:8
- 行号对应本文档生成时采用的源码版本;源码调整后应重新生成本页。
阅读方式
本页用于快速检索签名与调用关系。核心控制和算法推导请先阅读“开发指南”中的对应章节。
FollowUAV.__init__¶
__init__(self, start_pos, offset)
- 源码位置:第 22 行
- 类别:初始化
- 作用:初始化
FollowUAV的参数、状态缓存以及所需的通信或算法对象。 - 主要调用:
__init__,np.zeros,rospy.Subscriber,super,time.time - 写入状态:
self.leader_p,self.leader_p_sub,self.leader_p_sub_time,self.leader_roll,self.leader_roll_sub,self.leader_v,self.leader_v_sub,self.pose,self.vel
FollowUAV.LeaderPCB¶
LeaderPCB(self, msg)
- 源码位置:第 38 行
- 类别:ROS 回调
- 作用:源码内部辅助函数;结合签名、状态写入和主要调用可定位其在调用链中的职责。
- 主要调用:
np.array,time.time - 写入状态:
self.leader_p,self.leader_p_sub_time
FollowUAV.LeaderVCB¶
LeaderVCB(self, msg)
- 源码位置:第 42 行
- 类别:ROS 回调
- 作用:源码内部辅助函数;结合签名、状态写入和主要调用可定位其在调用链中的职责。
- 主要调用:
np.array - 写入状态:
self.leader_v
FollowUAV.LeaderRollCB¶
LeaderRollCB(self, msg)
- 源码位置:第 45 行
- 类别:ROS 回调
- 作用:源码内部辅助函数;结合签名、状态写入和主要调用可定位其在调用链中的职责。
- 主要调用:无显式函数调用
- 写入状态:
self.leader_roll
FollowUAV.Acal¶
Acal(self)
- 源码位置:第 48 行
- 类别:内部计算/辅助
- 作用:根据当前状态与期望状态计算二维加速度控制量,并执行加速度/速度边界处理。
- 主要调用:
Acal,np.array,np.tan,super - 写入状态:不直接写入对象属性
FollowUAV.OriCal¶
OriCal(self)
- 源码位置:第 54 行
- 类别:内部计算/辅助
- 作用:调用加速度控制器并转换为偏航、滚转和轴向加速度指令。
- 主要调用:
np.arctan2,np.array,np.linalg.norm,self.Acal,self.AngleCal - 写入状态:不直接写入对象属性
FollowUAV.PitchCal¶
PitchCal(self, d_h)
- 源码位置:第 63 行
- 类别:内部计算/辅助
- 作用:根据期望高度变化率与水平速度计算俯仰角。
- 主要调用:
np.arctan2,np.linalg.norm - 写入状态:不直接写入对象属性
FollowUAV.StatusUpdate¶
StatusUpdate(self, self_p, self_v)
- 源码位置:第 68 行
- 类别:内部计算/辅助
- 作用:更新控制器内部状态;离线基类还会按双积分模型推进状态。
- 主要调用:
np.array,np.copy - 写入状态:
self.pose,self.status,self.vel