Appearance
算法模块
平滑移动函数
平滑移动函数
lua
local delta = Smooth_function(rel_x)
-- 参数1:目标相对距离
-- 返回值:本次移动的增量IncrementalPID
创建新的PID控制器实例
lua
local pid = IncrementalPID()设置PID控制器的参数
lua
pid:IncrementalPID_Updata(Kp, Ki, Kd)
-- 参数1:number 比例系数
-- 参数2:number 积分系数
-- 参数3:number 微分系数归零PID内部状态
lua
pid:IncrementalPID_Reset()执行PID计算
lua
local output = pid:IncrementalPID_Count(error)
-- 参数1:number 当前误差
-- 返回值:number 控制器输出PID limit
创建新的PID控制器实例
lua
local pid = PID_limit(kp, ki, kd, limit)
-- 参数1:number 比例系数
-- 参数2:number 积分系数
-- 参数3:number 微分系数
-- 参数4:number 输出限制
-- 返回值:userdata (PID控制器对象)设置PID参数
lua
pid:PID_limit_Updata(Kp, Ki, Kd)
-- 参数1:number 比例系数
-- 参数2:number 积分系数
-- 参数3:number 微分系数归零PID内部状态
lua
pid:PID_limit_Reset()执行PID计算
lua
local output = pid:PID_limit_Count(error)
-- 参数1:number 当前误差
-- 返回值:number 控制器输出FeedForwardIncrementalPID
创建新的PID控制器实例
lua
local pid = FeedForwardIncrementalPID(kp, ki, kd, reaction_time, feedforward_gain)
-- 参数1:number 比例系数
-- 参数2:number 积分系数
-- 参数3:number 微分系数
-- 参数4:number 反应时间
-- 参数5:number 前馈增益
-- 返回值:userdata (PID控制器对象)设置PID参数
lua
pid:FeedForwardIncrementalPID_Updata(Kp, Ki, Kd)
-- 参数1:number 比例系数
-- 参数2:number 积分系数
-- 参数3:number 微分系数归零PID内部状态
lua
pid:FeedForwardIncrementalPID_Reset()执行PID计算
lua
local output = pid:FeedForwardIncrementalPID_Count(error)
-- 参数1:number 当前误差
-- 返回值:number 控制器输出ADRC
创建新的ADRC控制器实例
lua
local adrc = ADRC_X(w0, b0, w_n, sigma, time_delta)
-- w0: number (自然频率)
-- b0: number (阻尼系数)
-- w_n: number (自然频率)
-- sigma: number (阻尼比)
-- time_delta: number (时间步长)
-- 返回值: userdata (ADRC控制器对象)
-- 默认参数推荐0.001, 2, 1, 0.01, 0.001设置ADRC控制器参数
lua
adrc:ADRC_X_Updata(w0, b0, w_n, sigma, time_delta)
-- w0: number (自然频率)
-- b0: number (阻尼系数)
-- w_n: number (自然频率)
-- sigma: number (阻尼比)
-- time_delta: number (时间步长)归零ADRC内部状态
lua
adrc:ADRC_X_Reset()执行ADRC计算
lua
local output = adrc:ADRC_X_Count(y, yref)
-- y: number (当前测量值)
-- yref: number (目标值)
-- 返回值:number (控制器输出)
-- 注意: 输出为负值,即负反馈动态补偿
坐标补偿阈值判断标准
lua
setAvgDetectTime(avgDetectTimeAAA)
-- avgDetectTimeAAA: number (单帧采集+推理延迟)
-- 返回值:number (控制器输出)
-- 注意: 输出为负值,即负反馈计算补偿后的坐标值
lua
updatePred(FinalX, dynamicPrediction, predictThreshold)
-- FinalX: number (当前坐标位置)
-- dynamicPrediction: number (当前补偿值)
-- predictThreshold: number (当前进行阈值)
-- 返回值:number (控制器输出)
-- 注意: 返回的值不包括原先坐标,需要累加初始化B版轨迹模型
初始化B版轨迹模型
lua
local am = TrajectoryPredictor_B(path,size,mod)功能:初始化预测轨迹模型
参数:
path:模型名称size:模型尺寸mod:0=抖动 1=无抖动
返回值:布尔值,表示初始化是否成功
示例:
lua
local am = TrajectoryPredictor_B("npdata640.hmm",640,0)
if not am then
print("TrajectoryPredictor_B 失败,模型路径不合法或文件不存在")
return
end预测轨迹
预测轨迹
lua
local dx_step, dy_step = am:Predict(dx_t, dy_t,step)功能:预测轨迹
参数:
dx_t:相对目标x坐标dy_t:相对目标y坐标step:步数
返回值:返回坐标XY