2. 优化问题构建
加粗代表变量
2.1 nrmp
定义变量variable_definition
- d 安全距离 尺寸为1×T
- s 状态 尺寸为3×(T+1),代表t0−T
- u 控制输入 尺寸为3×T,代表t1−T
定义参数parameter_definition
- s 预测状态 尺寸为3×(T+1)
- q∘s♢ 权重乘以参考状态 尺寸为3×(T+1)
- p∘u♢ 权重乘以参考控制输入 尺寸为3×(T+1)
- A 运动学方程中的状态转移矩阵 尺寸为T×(3×3)
- B 运动学方程中的输入移矩阵 尺寸为T×(3×2)
- C 运动学方程中的扰动向量 尺寸为T×(3×1)
- λ⊤ 尺寸为T×(M×2),M代表最大点云数量
- λ⊤p+μ⊤h 尺寸为T×(M×1)
- q 状态的权重系数 尺寸为1或3×1,取决于给参数输入的格式
- p 控制输入的权重系数 尺寸为1
- η 安全距离正则化的权重系数 尺寸为1
- dmax 安全距离的上限 尺寸为1
- dmin 安全距离的下限 尺寸为1
构建约束
- st+1=Atst+Btut+Ct,∀t
- s0=s0
- amin≤ut+1−ut≤amax
- umin≤ut≤umax
- dmin≤dt≤dmax
代价函数为
cost:h=t∑t+H∥q∘sh−(q∘s♢)h∥22+h=t∑t+H∥p∘uh−(p∘u♢)h∥22+2bk∥sh−shref∥22−ηh=t∑t+Hdh+2ρt=0∑N∥min(It,m,0)∥22where It,m=λti⊤st−(λ⊤p+μ⊤h)ti−dt
可以不考虑E函数,因为在DUNE部分求解出的结果应该是满足约束的,同时每次迭代时轨迹变化不大,那么E函数便可以视为零
为参数赋值generate_parameter_value(赋值的是tensor)
- s 将上次求出的最优控制值输入到运动学模型中得到预测状态
- q∘s♢ 权重系数乘以参考路径上的状态
- p∘u♢ 权重乘以参考控制输入
- A 将运动学方程线性化处理,用预测状态作为矩阵参数
- B 将运动学方程线性化处理,用预测状态作为矩阵参数
- C 将运动学方程线性化处理,用预测状态作为矩阵参数
- λ⊤
DUNE求解出的参数值
- λ⊤p+μ⊤h
DUNE求解出的参数值与点云和物体自身参数相乘
- q 构造函数输入或者通过update函数更新
- p 构造函数输入或者通过update函数更新
- η 构造函数输入或者通过update函数更新
- dmax 构造函数输入或者通过update函数更新
- dmin 构造函数输入或者通过update函数更新