【信息科学与工程学】【制造工程】第十八篇 工业机器人(包含人型/猴型/狗型/其他形状)算法列表(包含从芯片到结构到力学到整体控制到思考/推理/决策/运筹/视觉/听觉/其他)01
机器人算法
|
编号 |
领域 |
模型/算法方向 |
类别 |
模型/算法配方 |
算法/模型/函数/引擎方法名称 |
算法/模型/函数/引擎方法的逐步思考推理过程及每一个步骤的数学方程式 |
精度/密度/误差/强度 |
底层规律/理论定理 |
算法/模型应用场景 |
变量/常量/张量/标量/向量参数列表及说明 |
状态机 |
数学特征 |
语言特征 |
时序和交互流程的所有细节/分步骤时序情况及数学方程式 |
顺序/乱序/差序列/倒序/并行序列/分布式序列/随机序列/其他 |
复杂度 |
机器人的各类芯片执行的各类指令和指令代码情况和各类硬件芯片执行调度情况 |
关联知识 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Robot-0001 |
整机 |
定位与建图 |
状态估计 |
传感器数据(激光雷达、里程计、IMU)的贝叶斯滤波框架 |
扩展卡尔曼滤波-SLAM (EKF-SLAM) |
1. 初始化: 设定机器人初始位姿状态向量 x0=[x,y,θ]T和协方差矩阵 P0。地图特征初始化为空集。 |
定位误差(RMSE):厘米级至分米级;建图一致性误差。 |
贝叶斯定理, 卡尔曼滤波理论, 非线性系统线性化理论。 |
室内服务机器人定位, 自动驾驶车辆在结构化环境中的定位与地图创建。 |
xt:系统状态向量(机器人位姿+所有地标坐标); ut:控制输入向量(速度, 角速度); zt:观测向量(距离, 角度); Pt:状态协方差矩阵; Qt,Rt:噪声协方差; Ft,Ht:雅可比矩阵。 |
状态: {初始化, 运动预测, 数据关联, 观测更新, 新特征初始化}。 |
概率与统计特征, 不确定性, 微分(雅可比矩阵), 线性代数(矩阵运算), 优化(最小化新息协方差)。 |
形式化语言(状态空间表示), 概率表述((p(x_t |
z{1:t}, u{1:t}) ))。 |
时序流程: 1. 获取控制指令 ut。 2. 执行预测步骤(方程式见上)。 3. 获取传感器观测 zt。 4. 将观测与地图特征进行数据关联。 5. 对关联成功的特征执行更新步骤。 6. 对未关联的观测, 若满足条件则初始化为新特征。 循环执行1-6。 |
顺序/周期序列(控制频率)与事件驱动序列(观测到达)混合。 |
时间复杂度: O(n2)(n为地图特征数量), 因需更新全协方差矩阵。 |
CPU: 执行矩阵运算(乘法、求逆)、状态预测/更新函数。指令:浮点运算指令(FADD, FMUL), 矩阵运算库调用(如BLAS)。 |
|
Robot-0002 |
整机 |
运动规划 |
路径搜索 |
在构型空间(C-Space)中搜索从起点到终点的无碰撞路径。 |
A* 搜索算法 |
1. 初始化: 将起点节点加入开放列表(OPEN), 其代价 f(start)=g(start)+h(start)=0+h(start)。 |
路径最优性(在启发函数可采纳时保证全局最优); 成功率。 |
图搜索理论, 最优性原则。 |
移动机器人全局路径规划, 机械臂在离散化构型空间中的路径规划。 |
g(n):从起点到节点 n的实际代价; h(n):从节点 n到目标的估计代价(启发函数); f(n):总估计代价; OPEN/CLOSED列表:优先队列和集合。 |
状态: {初始化, 选择节点, 目标检测, 节点扩展, 代价评估, 路径回溯}。 |
图论, 搜索, 优化(寻找最小代价路径), 组合特征(离散空间)。 |
过程性语言描述, 基于“节点”、“代价”、“列表”的操作。 |
1. 将起点加入OPEN。 2. 循环直到OPEN为空或找到目标: a. 排序OPEN列表, 取f最小节点n。 b. 检查n==goal? c. 扩展n的邻居。 d. 对每个邻居计算g_temp, f。 e. 更新OPEN/CLOSED。 3. 若找到目标, 从目标节点反向追溯父节点至起点。 |
顺序序列(主循环), 内部邻居评估可并行化。 |
时间复杂度: O(bd)(b为分支因子, d为深度)。空间复杂度: O(bd)(存储所有生成的节点)。 |
CPU: 执行堆操作(插入、提取最小元素), 邻居生成计算, 碰撞检测函数调用。指令:比较与跳转, 内存访问, 函数调用。缓存性能对优先队列操作关键。 |
图论, 数据结构(优先队列, 哈希表), 几何碰撞检测。 |
|
Robot-0003 |
整机 |
运动控制 |
轨迹跟踪控制 |
基于误差动力学的反馈线性化控制律设计 |
计算转矩控制/反馈线性化 |
1. 建模: 获得机器人动力学方程: M(q)q¨+C(q,q˙)q˙+G(q)=τ。其中 q为关节角, M为惯性矩阵, C为科里奥利和离心力矩阵, G为重力项, τ为关节力矩。 |
跟踪误差(稳态误差, RMSE), 控制力矩平滑性。 |
牛顿-欧拉方程, 李雅普诺夫稳定性理论, 反馈线性化。 |
工业机械臂高精度轨迹跟踪, 仿人机器人关节控制。 |
q,q˙,q¨:关节位置、速度、加速度(向量); qd,q˙d,q¨d:期望轨迹(向量); e,e˙:跟踪误差(向量); Kp,Kv:比例、微分增益矩阵; M,C,G:动力学模型矩阵/向量; τ:控制输出力矩(向量)。 |
状态: {获取状态, 计算误差, 计算期望加速度, 计算前馈力矩, 计算反馈力矩, 求和输出}。 |
微分方程, 动力学, 线性代数(矩阵运算), 稳定性, 误差分析。 |
动力学方程表述, 控制律表述。 |
控制循环(1kHz典型): 1. 读取关节编码器得到 q,q˙(由专用芯片处理)。 2. 从轨迹生成器获取当前时刻的 qd,q˙d,q¨d。 3. 计算误差 e,e˙。 4. 计算 q¨des=q¨d+Kve˙+Kpe。 5. 基于当前 q,q˙和 q¨des, 计算 τ=M(q)q¨des+C(q,q˙)q˙+G(q)。 6. 将 τ发送至电机驱动器(电流环)。 |
严格的周期性顺序序列。 |
单步计算复杂度取决于动力学模型 M,C,G的计算复杂度, 通常为 O(n2)到 O(n3)(n为关节数)。实时性要求高。 |
CPU/专用控制芯片: 执行浮点密集矩阵运算。指令:FMUL, FADD, 矩阵-向量乘, 三角函数(用于动力学计算)。 |
多体系统动力学, 经典控制理论, 机器人学。 |
|
Robot-0004 |
视觉 |
三维视觉 |
点云处理 |
迭代地对两组点云进行最近点匹配和刚体变换估计 |
迭代最近点算法 |
1. 输入: 源点云 P={pi}, 目标点云 Q={qi}, 初始变换估计 T0(常为单位阵)。 |
T^k p_i - q |
^2 )。 b. 去除离群点对(如使用距离阈值)。 c. 求解变换: 计算最优刚体变换(旋转 R, 平移 t), 最小化误差: ((R^{k+1}, t^{k+1}) = \arg\min_{R, t} \sum_i |
R (T^k p_i) + t - q_i |
^2 )。 此步骤有闭合解(SVD等方法)。 d. 应用变换: 更新 Tk+1=[Rk+1tk+1;01]∗Tk。 e. 检查收敛: 若变换参数变化小于阈值 ϵ或误差减少量很小, 则停止。 |
配准误差(点对平均距离), 旋转/平移误差(与真值比较)。 |
最小二乘优化, 奇异值分解, 刚体运动学。 |
机器人扫描匹配定位, 三维物体识别与位姿估计, 多视角点云拼接。 |
P,Q:点云数据集(Nx3矩阵); Tk:第k次迭代的变换矩阵(4x4); R,t:旋转矩阵(3x3)和平移向量(3x1); ϵ:收敛阈值。 |
||||
|
Robot-0005 |
整机 |
任务与运动规划 |
分层规划 |
在符号任务层和连续运动层之间进行迭代和转换。 |
逻辑几何规划(一种TAMP方法) |
1. 任务规划: 在符号层, 使用PDDL等语言定义动作、前提、效果。 使用规划器(如FF, FastDownward)搜索一个动作序列(计划) π=(a1,a2,...,an), 使得从初始状态能到达目标状态。 |
任务完成率, 规划时间, 计划长度(最优性)。 |
自动推理, 逻辑演算, 运动学约束满足, 搜索。 |
家庭服务机器人完成“泡咖啡”等多步骤任务, 工业机器人装配。 |
符号状态:谓词逻辑集合(如 On(A, Table)); 动作模式:带参数和条件/效果的符号操作; 连续状态:机器人/物体位姿, 关节角; 运动约束:碰撞、抓取稳定性等。 |
高层状态机: {任务规划, 动作展开, 运动可行性检查, 约束回传, 执行}。 |
逻辑(命题, 一阶逻辑), 搜索(在离散空间和连续空间), 几何约束求解, 分层抽象。 |
符号化高层描述(PDDL), 连续空间参数化描述。 |
1. 输入符号化目标(如 |
顺序/迭代序列。任务规划顺序, 运动规划可并行检查多个动作。 |
组合爆炸(任务层), 运动规划复杂度(连续空间)。 总体是指数级或更差。 |
CPU (任务规划): 执行符号推理、搜索算法, 操作图数据结构。指令:逻辑条件判断, 图搜索操作。 |
人工智能规划, 自动推理, 运动规划, 知识表示。 |
|
Robot-0006 |
控制 |
柔顺控制 |
力/位混合控制 |
在任务空间定义允许运动和力控制的自由度方向。 |
基于选择矩阵的力/位混合控制 |
1. 任务空间定义: 定义任务坐标系, 及其子空间。 例如, 在曲面打磨任务中, 沿曲面法向控制力, 沿切向控制位置。 |
力跟踪误差(N), 位置跟踪误差(m), 接触稳定性。 |
机器人动力学, 阻抗控制/导纳控制原理, 正交投影。 |
机器人装配(轴孔插入), 曲面打磨/抛光, 与人物理交互。 |
x,x˙,x¨:任务空间位姿、速度、加速度; F:任务空间末端力/力矩; S,Sf:选择矩阵; Kpp,Kvp,Kpf,Kvf:控制增益; M:任务空间惯性矩阵; J:雅可比矩阵。 |
状态: {读取状态(位姿, 力), 计算位姿误差, 计算力误差, 根据选择矩阵混合控制量, 解算关节力矩}。 |
线性代数(矩阵运算, 投影), 微分(雅可比), 积分(力控积分项), 动力学, 解耦控制。 |
基于空间分解的控制律描述。 |
控制循环(~1kHz): 1. 读取关节编码器得到 q,q˙, 经正运动学计算 x,x˙。 2. 读取六维力传感器得到 F。 3. 计算位置控制部分: apos=x¨d+Kvp(x˙d−x˙)+Kpp(xd−x)。 4. 计算力控制部分: aforce=x¨d+M−1(Kvf(Fd−F)+Kpf∫(Fd−F)dt)。 5. 混合: x¨cmd=S⋅apos+Sf⋅aforce。 6. 计算 q˙cmd=J+x¨cmd+(I−J+J)q˙0(或通过逆动力学直接计算 τ)。 7. 输出 τ。 |
严格的周期性顺序序列。 |
取决于任务空间维度, 涉及矩阵求逆(M−1, J+), 复杂度通常为 O(n3)。 |
CPU/专用控制芯片: 执行正/逆运动学、雅可比计算、矩阵运算、积分运算。指令:浮点矩阵运算, 数值积分。 |
操作空间控制, 传感器融合, 经典/现代控制理论。 |
|
Robot-0007 |
决策 |
行为决策 |
马尔可夫决策过程 |
在部分可观测环境中, 基于历史观测和动作序列来估计状态, 并选择最大化累计奖励的动作。 |
QMDP(POMDP的简化近似) |
1. 问题形式化: 将机器人决策问题建模为POMDP, 包含状态 s∈S, 动作 a∈A, 观测 o∈O, 转移函数 (T(s, a, s') = P(s' |
s,a) ), 观测函数 (Z(s, a, o) = P(o |
s',a) ), 奖励函数 R(s,a)。 |
期望累计奖励, 任务成功率。 |
贝尔曼最优性方程, 概率推理(贝叶斯更新), 马尔可夫性。 |
在不确定环境下的机器人导航决策(如办公室寻人), 交互任务决策。 |
S,A,O:离散的状态、动作、观测空间; b:信念状态向量(维度 |
S |
); QMDP:完全可观测MDP的Q值表( |
S |
x |
A |
); γ:折扣因子; T,Z,R:模型函数/表格。 |
|
Robot-0008 |
控制 |
自适应控制 |
参数估计与控制 |
实时估计系统未知或时变参数, 并调整控制器参数以保证性能。 |
模型参考自适应控制 |
1. 参考模型: 定义一个稳定的、性能理想的参考系统 x˙m=Amxm+Bmr, 其中 r是参考输入, xm是参考状态。 |
跟踪误差收敛性, 参数估计误差有界性。 |
李雅普诺夫稳定性理论, 系统辨识, 模型匹配。 |
负载变化的机械臂控制, 航空/航天器在不确定环境下的控制。 |
xm,xp:参考模型和被控对象状态向量; Am,Bm,Ap,Bp:系统矩阵; Kx,Kr:可调控制器增益矩阵; e:跟踪误差向量; P,Γx,Γr:正定对称矩阵(自适应增益); r:参考输入。 |
状态: {计算跟踪误差, 根据自适应律更新控制器参数, 计算控制量, 输出控制量}。 |
微分方程(误差动力学), 积分(参数自适应更新), 线性代数, 稳定性分析(Lyapunov函数)。 |
控制理论与微分方程描述。 |
控制循环: 1. 读取当前被控对象状态 xp。 2. 计算参考模型输出 xm(可通过数值积分或解析解)。 3. 计算跟踪误差 e=xp−xm。 4. 积分更新控制器参数: Kx(t)=Kx(t−Δt)+K˙xΔt, 其中 K˙x由自适应律给出(如 K˙xT=−ΓxxpeTPB形式)。 同理更新 Kr。 5. 计算控制输入: u=Kxxp+Krr。 6. 输出 u。 等待下一个控制周期。 |
严格的周期性顺序序列。 |
在线计算复杂度取决于状态维度和参数数量, 涉及矩阵乘法和积分, 通常为 O(n3)。 |
CPU/FPGA: 执行矩阵运算, 数值积分, Lyapunov方程相关计算。指令:密集浮点运算。对实时性要求高, 但频率可能低于底层伺服环。 |
非线性系统理论, 自适应控制理论, 稳定性分析。 |
|
Robot-0009 |
视觉 |
二维视觉 |
目标检测 |
基于区域的卷积神经网络进行目标定位与分类 |
Faster R-CNN |
1. 特征提取: 输入图像通过骨干网络(如ResNet)提取特征图。 |
平均精度(mAP), 检测速度(FPS)。 |
卷积神经网络, 区域提议, 边框回归, 多任务损失。 |
机器人场景理解, 目标抓取识别, 自动驾驶中的车辆/行人检测。 |
输入图像 I(H x W x 3); 特征图 F; anchors:预设的宽高比和尺度的基准框; 提议区域:修正后的anchors; RoI特征:固定大小的特征向量; 类别概率 p=(p0,p1,...,pC); 边界框偏移 t=(tx,ty,tw,th)。 |
状态: {前向传播, 区域提议, RoI对齐, 分类与回归, 后处理(NMS)}。 |
计算与算法特征(前向传播, 卷积, 全连接), 优化(边框回归损失, 分类交叉熵损失), 统计(Softmax概率)。 |
深度学习模型架构描述, 基于张量操作。 |
1. 图像预处理(缩放, 归一化)。 2. 通过CNN骨干网络前向传播, 得到特征图F。 3. RPN在F上滑动:对每个位置, 计算k个anchors的“物体/背景”二分类得分和坐标偏移。 4. 根据得分和偏移生成修正后的提议区域。 5. 对提议区域应用NMS, 保留Top-N个。 6. 对每个保留的提议, 在特征图F上通过RoIAlign提取固定大小特征。 7. 将特征通过全连接层, 得到类别概率和精细化的边界框偏移。 8. 根据类别概率和细化偏移生成最终检测框。 9. 对各类别检测结果进行NMS, 输出。 |
顺序序列(前向传播), 部分步骤可并行(RPN的anchors处理, RoI特征提取)。 |
时间复杂度: 骨干网络前向传播主导, 如ResNet-50约为 O(HWC)。 RPN和RoI部分复杂度与提议数量有关。 |
GPU (训练和推理): 并行执行卷积、矩阵乘法、RoIAlign等操作。指令:CUDA核函数, 张量核心运算。 |
计算机视觉, 深度学习, 卷积神经网络, 目标检测。 |
|
Robot-0010 |
决策 |
多智能体协同 |
分布式优化 |
多个机器人通过局部通信, 协同优化一个全局目标函数。 |
分布式次梯度算法 |
1. 问题形式化: 有N个智能体。 全局目标: minxf(x)=∑i=1Nfi(x), 其中 fi(x)是第i个智能体的局部代价函数, 且只与局部信息相关。 约束:所有智能体最终达成一致, 即 x1=x2=...=xN。 |
一致性误差( (\max_{i,j} |
x_i - x_j |
)), 目标函数值与最优值的差距。 |
凸优化, 次梯度方法, 图论(一致性协议), 分布式计算。 |
多机器人包围控制, 协同搜索, 分布式负载分配, 传感器网络估计。 |
xi:智能体i的局部决策变量(向量); fi:局部代价函数; gi: fi的次梯度; W=[wij]:混合权重矩阵(双随机); Ni:邻居集合; αk:步长序列(如 1/k); 通信图 G=(V,E)。 |
状态: {收集邻居信息, 计算共识项, 计算局部次梯度, 更新本地变量, 广播本地变量}。 |
图论(网络拓扑), 优化(次梯度下降), 线性代数(矩阵权重混合), 收敛性(序列极限)。 |
分布式迭代更新规则描述。 |
同步迭代(假设时钟同步): 1. 初始化: 每个智能体i随机初始化 xi(0)。 2. 对于迭代次数k=0,1,2,...: a. 每个智能体i将其当前状态 xi(k)发送给其所有邻居 j∈Ni。 b. 每个智能体i从所有邻居 j∈Ni接收 xj(k)。 c. 计算加权平均: xˉi(k)=∑j∈Niwijxj(k)。 d. 计算局部次梯度: gi(k)∈∂fi(xi(k))。 e. 更新局部状态: xi(k+1)=xˉi(k)−αkgi(k)。 3. 直到满足停止条件(如 ( |
||
|
Robot-0011 |
结构/器械 |
步态生成 |
足式运动规划 |
基于简化的动力学模型在线生成脚部落足点和身体轨迹。 |
模型预测控制-步行 |
1. 模型简化: 使用线性倒立摆模型或零力矩点动力学。 例如, LIP模型: x¨CoM=ω2(xCoM−xFoot), 其中 xCoM是质心水平位置, xFoot是支撑脚位置, ω=g/h, h为恒定质心高度。 |
速度跟踪误差, 步态稳定性(ZMP/CoP误差), 能量消耗。 |
模型预测控制, 线性倒立摆动力学, 凸优化(二次规划)。 |
双足/四足机器人动态行走, 跑步。 |
xCoM,vCoM,x¨CoM:质心位置、速度、加速度(2D或3D); xFoot:落足点位置; ω:LIP自然频率; 离散系统矩阵 A,B; 权重矩阵 Q,R; 预测时域N; 约束条件(步长上下界, 安全区域多边形)。 |
状态: {状态估计, 构建优化问题, 求解QP, 应用控制量, 摆动腿轨迹生成}。 |
动力学(微分方程), 优化(二次规划), 离散化, 预测, 滚动时域。 |
优化问题形式化描述, 基于动力学约束。 |
控制循环(~100-500Hz): 1. 状态估计:通过IMU和运动学得到当前CoM状态 x0。 2. 参考生成:根据高层指令(如期望速度 vdes)生成未来N步的参考状态序列 xkref。 3. 构建QP: 目标函数: J=∑k=1N(xk−xkref)TQ(xk−xkref)+ukTRuk。 满足动力学约束: xk+1=Axk+Buk,k=0,...,N−1。 和步长约束: umin≤uk≤umax, 以及可通行区域约束(线性不等式)。 4. 求解QP: 使用在线QP求解器(如OSQP, qpOASES)求解最优控制序列 u0∗,u1∗,...,uN−1∗。 5. 应用: 将 u0∗(即下一个落足点)用于规划摆动腿的足端轨迹(如三次样条)。 6. 在下一个控制周期, 用新的测量状态重新从步骤1开始。 |
严格的周期性顺序序列。 |
取决于预测时域N和状态/输入维度。 求解QP的复杂度通常为 O(N3)或利用稀疏性为 O(N)。 实时性要求高。 |
CPU (实时控制): 执行状态估计、参考生成、构建QP矩阵(利用稀疏结构)、调用QP求解库。指令:浮点运算, 线性代数库调用。 |
模型预测控制, 最优控制, 足式机器人动力学, 凸优化。 |
|
Robot-0012 |
听觉 |
语音交互 |
语音识别 |
将输入的音频信号转换为对应的文本序列。 |
端到端语音识别(基于Transformer) |
1. 特征提取: 对原始音频信号(波形)进行预处理, 提取对数梅尔频谱图特征。 步骤: 预加重、分帧、加窗、短时傅里叶变换、梅尔滤波器组、取对数。 得到特征序列 X=(x1,...,xT)。 |
y_{<i}, H) )。 |
X) )。 |
词错误率(WER), 实时率(RTF)。 |
序列到序列学习, 注意力机制, 声学模型, 语言模型。 |
服务机器人语音指令识别, 人机对话系统。 |
输入音频波形 s(t); 对数梅尔频谱特征 X(TxF维, F为特征数); 编码器输出 H(TxD维, D为模型维度); 解码器隐藏状态; 字符/子词词汇表 V; 输出文本序列 Y。 |
状态: {特征提取, 编码器前向传播, 解码初始化, 自回归解码, 序列结束判断}。 |
序列建模, 注意力(自注意力, 交叉注意力), 概率(Softmax), 优化(交叉熵损失), 傅里叶变换(特征提取)。 |
序列到序列的变换, 基于概率的生成。 |
1. 前处理: 音频归一化, 分帧(25ms帧长, 10ms帧移), 加汉明窗, 计算FFT得到幅度谱, 通过梅尔滤波器组, 取log, 得到帧级别的梅尔频谱特征。 2. 编码: 对特征序列添加位置编码, 输入多层Transformer/Conformer编码器。 每层包含多头自注意力、前馈网络、层归一化、残差连接。 输出声学特征序列H。 3. 解码: a. 初始化: 解码器输入为起始符<bos>, 利用H计算初始隐藏状态。 b. 循环: i. 解码器基于当前输入(已生成序列)和H(通过交叉注意力)计算下一个字符的概率分布 (P(y_i |
y_{<i}, H) )。 ii. 通过集束搜索, 保留Top-k个候选序列。 iii. 将预测的字符(集束搜索中选的)作为下一步的输入。 c. 终止: 当所有候选序列都生成了结束符<eos>或达到最大长度时, 选择得分最高的候选序列作为最终输出文本。 |
顺序序列(编码是并行的, 解码是自回归顺序的)。 |
|
Robot-0013 |
思考/推理 |
常识推理 |
知识图谱查询与推理 |
基于结构化知识库, 对自然语言查询进行语义解析和逻辑推理。 |
基于知识图谱的语义解析 |
1. 知识图谱: 以三元组形式存储事实: (头实体, 关系, 尾实体)。 例如 (Boston, locatedIn, USA)。 |
问答准确率, 查询解析准确率。 |
知识表示(图结构), 语义解析, 一阶逻辑推理, 信息检索。 |
机器人知识问答, 基于常识的任务规划辅助。 |
自然语言问题 Q; 知识图谱 KG={(h,r,t)}; 逻辑形式 L; 查询 Query; 答案实体/列表 A。 |
状态: {自然语言理解, 语义解析, 查询生成, 图查询执行, 答案生成}。 |
逻辑(谓词逻辑, 查询), 图论(图遍历, 子图匹配), 组合(从部分构建查询)。 |
自然语言到形式化语言(逻辑形式/查询语言)的转换。 |
1. 问题分析: 对问题“波士顿位于哪个国家?”进行分词、词性标注、依存句法分析。 2. 实体识别与链接: 识别“波士顿”为实体, 并在KG中链接到实体 |
顺序序列(管道式)。 |
语义解析复杂度取决于模型(神经网络或规则)。 查询执行复杂度取决于查询图大小和图数据库索引, 最坏情况为子图同构(NP难), 但简单查询可快速响应。 |
CPU: 执行自然语言处理模型(如BERT用于实体链接和关系分类)的前向推理。指令:神经网络推理指令。 |
自然语言处理, 知识图谱, 语义网, 数据库。 |
|
Robot-0014 |
器件/芯片 |
低功耗唤醒 |
语音活动检测 |
在芯片上持续监听, 检测是否有语音出现, 以唤醒主处理器。 |
基于能量和过零率的双门限端点检测 |
1. 分帧: 对连续音频流以固定帧长(如20ms)和帧移(如10ms)进行分帧。 |
sgn[x_n(m)] - sgn[x_n(m-1)] |
), 其中sgn是符号函数。 |
检测率, 虚警率, 响应延迟。 |
数字信号处理, 语音信号特性(浊音能量高, 清音过零率高)。 |
智能音箱/机器人的“语音唤醒”前端, 低功耗监听模式。 |
音频采样序列 x(n); 帧长 L; 帧移 R; 窗函数 w(m); 能量门限 Thigh,E,Tlow,E; 过零率门限 Thigh,Z,Tlow,Z; 能量序列 En; 过零率序列 Zn。 |
状态: {静默, 可能开始, 语音中, 可能结束}。 |
信号处理(能量, 过零率), 阈值比较, 状态机, 序列分析。 |
基于信号特征和阈值的规则描述。 |
1. 初始化: 设置参数: 帧长(如256点@16kHz), 帧移(128点), 能量高低门限(通过背景噪声估计自适应或固定), 过零率高低门限。 2. 循环处理每一帧: a. 获取一帧音频数据 xn。 b. 加窗(如汉明窗)。 c. 计算短时能量 En。 d. 计算短时平均过零率 Zn。 e. 根据当前状态和特征值进行状态转移判断(见状态机描述)。 3. 当从“语音中”状态转移到“静默”状态时, 触发“语音段结束”事件, 输出该段语音的起止点索引, 并可能唤醒主处理器进行进一步ASR处理。 |
顺序流处理序列。 |
每帧计算复杂度: 能量计算 O(L), 过零率计算 O(L)。 总体线性复杂度 O(N), N为采样点数。 极低功耗。 |
|
Robot-0015 |
控制 |
运动规划 |
实时避障 |
在动态环境中, 根据当前传感器信息实时计算安全的控制指令。 |
动态窗口法 |
1. 速度空间采样: 在机器人的可行速度空间 (v,ω)(线速度和角速度)中, 依据机器人的动力学约束(最大速度、加速度)进行离散采样, 生成一系列速度对 (vi,ωi)。 |
无碰撞, 平滑性, 目标到达成功率。 |
速度空间搜索, 基于采样的运动规划, 局部最优控制。 |
移动机器人在动态或未知环境中的实时避障导航。 |
v,ω: 线速度和角速度; vmax,vmin,ωmax,ωmin: 最大最小速度; v˙max,ω˙max: 最大加速度/减速度; 动态窗口: 考虑当前速度和加速度约束下, 下一时刻可达的速度范围; 模拟时间 Δt; 评价函数权重 α,β,γ; 障碍物位置信息(从传感器获得)。 |
状态: {获取状态与目标, 速度空间采样, 轨迹模拟, 轨迹评分, 选择最优速度}。 |
采样, 优化(在多目标评价函数下搜索), 几何(轨迹模拟), 运动学。 |
基于搜索和评价的启发式方法描述。 |
控制循环(~10Hz): 1. 输入: 当前机器人位姿 (x,y,θ), 局部目标点 (xg,yg), 局部障碍物地图(如从激光雷达得到)。 2. 计算动态窗口: a. 速度范围: (V_s = {(v, \omega) |
v \in [v{min}, v{max}], \omega \in [\omega{min}, \omega{max}] })。 b. 考虑加速度约束: (V_d = {(v, \omega) |
v \in [v_c - \dot{v}{max} \Delta t, v_c + \dot{v}{max} \Delta t], \omega \in [\omega_c - \dot{\omega}{max} \Delta t, \omega_c + \dot{\omega}{max} \Delta t] })。 c. 可行速度空间: Vr=Vs∩Vd。 3. 在 Vr内均匀采样得到速度对集合 {(vi,ωi)}。 4. 对每个 (vi,ωi), 模拟轨迹: 假设在 Δt内以 (vi,ωi)匀速运动。 轨迹为圆弧, 位置: x(t)=xc+ωivi(sin(θc+ωit)−sinθc), y(t)=yc−ωivi(cos(θc+ωit)−cosθc)(当 ω=0)。 5. 对每条轨迹评分: a. 障碍物距离得分: 计算轨迹上每个点与最近障碍物的距离, 取最小值 dmin。 若 dmin小于安全距离, 得分 = -∞。 否则, 得分与 dmin成正比。 b. 朝向得分: 计算轨迹末端方向与目标点方向的夹角差 Δθ, 得分与 cos(Δθ)成正比。 c. 速度得分: 与 vi成正比。 6. 总得分加权和。 7. 选择最高得分的 (v∗,ω∗)输出。 |
顺序序列(采样循环), 轨迹模拟和评分可并行化。 |
时间复杂度: O(N⋅M), N为速度采样数(约几百), M为每条轨迹模拟的步数(约几十)。 实时可行。 |
|
Robot-0016 |
视觉 |
三维视觉 |
深度估计 |
从单目或双目图像中恢复场景的深度信息。 |
双目立体匹配 |
1. 图像校正: 对左右目图像进行立体校正, 使得对应点位于同一水平线上(极线对齐)。 |
I_L(x+i, y+j) - I_R(x+i-d, y+j) |
); 或归一化互相关(NCC)。 |
深度误差(RMSE), 视差图坏点率。 |
对极几何, 三角测量, 图像匹配。 |
机器人避障, 三维重建, 视觉SLAM。 |
左图 IL, 右图 IR; 校正后的图像对; 视差搜索范围 [dmin,dmax]; 代价立方体 C; 聚合窗口 W; 焦距 f; 基线 B; 输出深度图 Z。 |
状态: {图像获取与校正, 代价计算, 代价聚合, 胜者全取, 后处理, 深度转换}。 |
几何(对极几何, 三角测量), 图像处理(卷积, 聚合), 优化(代价最小化), 离散搜索。 |
基于几何约束和图像相似性度量的过程描述。 |
1. 输入与校正: 输入时间同步的双目图像。 通过已知的双目相机标定参数(相机内参、外参)进行立体校正, 使得左右图像的极线水平对齐。 2. **构建代价立方体: |
|
编号 |
领域 |
模型/算法方向 |
类别 |
模型/算法配方 |
算法/模型/函数/引擎方法名称 |
算法/模型/函数/引擎方法的逐步思考推理过程及每一个步骤的数学方程式 |
精度/密度/误差/强度 |
底层规律/理论定理 |
算法/模型应用场景 |
变量/常量/张量/标量/向量参数列表及说明 |
状态机 |
数学特征 |
语言特征 |
时序和交互流程的所有细节/分步骤时序情况及数学方程式 |
顺序/乱序/差序列/倒序/并行序列/分布式序列/随机序列/其他 |
复杂度 |
机器人的各类芯片执行的各类指令和指令代码情况和各类硬件芯片执行调度情况 |
关联知识 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Robot-0016 |
视觉 |
三维视觉 |
深度估计 |
从单目或双目图像中恢复场景的深度信息。 |
双目立体匹配 |
1. 图像校正: 对左右目图像进行立体校正, 使得对应点位于同一水平线上(极线对齐)。 |
I_L(x+i, y+j) - I_R(x+i-d, y+j) |
); 或归一化互相关(NCC)。 |
深度误差(RMSE), 视差图坏点率。 |
对极几何, 三角测量, 图像匹配。 |
机器人避障, 三维重建, 视觉SLAM。 |
左图 IL, 右图 IR; 校正后的图像对; 视差搜索范围 [dmin,dmax]; 代价立方体 C; 聚合窗口 W; 焦距 f; 基线 B; 输出深度图 Z。 |
状态: {图像获取与校正, 代价计算, 代价聚合, 胜者全取, 后处理, 深度转换}。 |
几何(对极几何, 三角测量), 图像处理(卷积, 聚合), 优化(代价最小化), 离散搜索。 |
基于几何约束和图像相似性度量的过程描述。 |
1. 输入与校正: 输入时间同步的双目图像。 通过已知的双目相机标定参数(相机内参、外参)进行立体校正, 使得左右图像的极线水平对齐。 2. 构建代价立方体: 对左图每个像素 (x,y), 对每个候选视差 d∈[dmin,dmax], 在右图 (x−d,y)处计算匹配代价 C(x,y,d)(如SAD)。 3. 代价聚合: 对代价立方体进行引导滤波或跨尺度代价聚合, 得到平滑的 Cˉ(x,y,d)。 4. 胜者全取: 对每个 (x,y), 计算 d∗(x,y)=argmindCˉ(x,y,d), 得到初始整像素视差图。 5. 后处理: a. 左右一致性检查: 计算右图视差图 dR, 若 ( |
d^(x,y) - d_R(x-d^, y) |
> \delta ), 则标记为无效点。 b. 亚像素细化: 在 d∗附近进行二次曲线拟合, 得到亚像素精度视差 dsub。 c. 空洞填充。 6. 深度计算: 对每个有效视差 d, 计算深度 Z=fB/d。 |
|
Robot-0017 |
控制 |
运动控制 |
关节空间控制 |
对每个关节独立设计控制器, 忽略关节间的动力学耦合。 |
独立关节PID控制 |
1. 误差计算: 对第i个关节, 计算位置误差 ei(t)=qd,i(t)−qi(t)。 |
稳态误差, 超调量, 调节时间, 抗干扰性。 |
经典控制理论(频域分析), PID控制原理, 单输入单输出系统。 |
对动力学耦合不强的机器人(如SCARA, 低负载下的机械臂), 舵机控制。 |
qd,q: 期望关节位置和实际关节位置(标量或向量, 但独立控制); e: 跟踪误差; Kp,Ki,Kd: PID增益(标量或对角矩阵); τ: 输出控制量(力矩或电流); 积分项 I=∫edt; 微分项 D=e˙。 |
状态: {读取反馈, 计算误差, 计算P项, 计算I项(积分), 计算D项(微分), 求和输出, 更新积分器}。 |
微分方程, 积分, 误差反馈, 稳定性(通过增益调谐保证)。 |
基于误差反馈的控制律描述。 |
控制循环(~1kHz): 1. 读取关节编码器值 q。 2. 从轨迹生成器获取当前时刻期望位置 qd。 3. 计算误差 e=qd−q。 4. 计算比例项输出: P=Kp⋅e。 5. 更新积分项: I=I+Ki⋅e⋅Ts, 其中 Ts为控制周期。 6. 计算微分项: D=Kd⋅(e−eprev)/Ts。 7. 计算总控制输出: τ=P+I+D。 8. 对 τ进行限幅(如 τmax)。 9. 若输出饱和, 可执行抗积分饱和逻辑(如 clamping)。 10. 将 τ转换为电流指令发送给电机驱动器。 11. 更新 eprev=e, 等待下一控制周期。 |
严格的周期性顺序序列, 各关节控制循环独立, 可并行执行。 |
单关节单步计算复杂度 O(1)。 N个关节总复杂度 O(N)。 非常高效。 |
专用伺服驱动器/MCU: 每个关节的PID控制通常在独立的伺服驱动器或MCU中完成。指令: 读取编码器(SPI/SSI), 浮点乘加(计算PID), 输出PWM或模拟量。 调度: 高优先级定时器中断触发控制循环。 主CPU可能只发送位置指令。 |
经典控制理论, 电机伺服控制, 嵌入式系统。 |
|
Robot-0018 |
决策 |
模仿学习 |
行为克隆 |
从专家演示数据中学习状态到动作的映射策略。 |
行为克隆(监督学习) |
1. 数据收集: 记录专家演示数据集 D={(τi)}, 每条轨迹 τi=(s1,a1,s2,a2,...,sT), 包含状态 st和专家动作 at。 |
s) )。 训练目标是最小化负对数似然损失: (L(\theta) = -\mathbb{E}{(s,a) \sim D} [\log \pi\theta(a |
s)] )。 对于确定性策略, 可使用均方误差: (L(\theta) = \mathbb{E}_{(s,a) \sim D} [ |
a - \pi_\theta(s) |
^2] )。 |
策略与专家策略的相似度(动作MSE), 任务成功率。 |
监督学习, 经验风险最小化, 模式识别。 |
从人类遥操作学习机器人技能(如抓取, 装配), 自动驾驶行为学习。 |
专家演示数据集 D; 状态 s(如传感器读数, 图像); 专家动作 a; 策略神经网络参数 θ; 损失函数 L; 优化器(如Adam)。 |
状态: {数据收集, 模型训练, 策略执行}。 |
统计(经验分布), 优化(梯度下降最小化损失), 函数逼近(神经网络)。 |
||
|
Robot-0019 |
结构/器械 |
抓取规划 |
姿态生成 |
基于物体和目标抓取类型, 生成候选的机械手抓取位姿。 |
基于采样的抓取姿态生成 |
1. 物体表示: 获取目标物体的三维模型(点云或网格)。 |
抓取成功率, 力闭合/形闭合指标, 规划时间。 |
刚体运动学, 接触力学, 几何推理, 采样理论。 |
机械臂随机抓取(bin picking), 服务机器人抓取家居物品。 |
物体点云/网格模型; 抓取位姿 T=(R,t); 夹持器开合宽度; 抓取质量分数 Q; 采样数量 N; 力闭合检验阈值。 |
状态: {获取物体模型, 采样候选位姿, 快速碰撞检查, 抓取质量评估, 排序与选择}。 |
几何(表面采样, 法线计算, 旋转变换), 概率(随机采样), 排序, 优化(寻找高质量抓取)。 |
基于几何约束和质量度量的生成-测试流程描述。 |
1. 预处理: 输入物体点云, 计算每个点的法线。 2. 采样抓取点: 在点云中随机(或均匀)采样一个点 p作为预抓取点。 3. 采样接近方向: 以点 p的法线 n作为一个主要的接近方向候选。 为避免单一方向, 在法线周围的一个圆锥内随机扰动, 得到新的接近方向 a。 4. 采样滚转角: 绕接近方向 a随机旋转一个角度 ϕ, 从而完全确定夹持器的坐标系(通常Z轴与 a对齐)。 5. 设置预抓取距离: 将夹持器坐标系从点 p沿 −a方向平移一个预抓取距离 dpregrasp, 得到最终的抓取位姿 T。 6. 碰撞检测: 将夹持器模型放置到位姿 T, 并闭合到预定宽度, 检测夹持器与物体自身及环境的碰撞。 若碰撞, 丢弃此候选。 7. 质量评估: 对无碰撞的候选, 计算其力闭合度量(例如, 通过计算抓取矩阵 G并检查其是否行满秩, 或计算最小抵抗扰动力的大小)。 得到分数 Q。 8. 循环: 重复步骤2-7, 直到生成足够数量的候选(如1000个)或超时。 9. 排序输出: 将所有候选按质量分数 Q降序排列, 输出前K个。 |
顺序/并行序列。 采样循环是顺序的, 但每个候选的碰撞检测和质量评估可完全并行。 |
时间复杂度: 采样N个候选, 每个候选评估复杂度取决于碰撞检测(与模型复杂度相关)和质量度量计算。 总体为 O(N⋅M), M为单次评估成本。 可并行化降低延迟。 |
CPU/GPU: 采样和流程控制在CPU。 碰撞检测(使用包围盒层次树)和质量评估计算密集, 适合在GPU上并行化处理成千上万个候选抓取。 CPU指令: 随机数生成, 几何变换。 GPU指令: 并行线程, 每个线程处理一个候选抓取的检测和评估。 |
计算几何, 接触力学, 随机采样, 机器人抓取理论。 |
|
Robot-0020 |
决策/运筹 |
任务调度 |
资源分配 |
在有限资源和时间约束下, 为一系列任务分配机器人/资源并排序。 |
混合整数线性规划 |
1. 问题建模: 定义任务集合 J={1,...,n}, 机器人/资源集合 R={1,...,m}。 定义决策变量: 二元分配变量 xij∈{0,1}表示任务j是否分配给机器人i; 连续时间变量 sj,cj表示任务j的开始和完成时间。 |
最优性间隙, 求解时间, 调度长度(Makespan)。 |
运筹学, (混合)整数规划, 调度理论。 |
多机器人协同作业调度(如仓储订单履行, 多AGV路径规划), 生产排程。 |
任务集合 J, 机器人集合 R; 处理时间 pij; 决策变量: xij(二元), sj,cj,Cmax(连续); 大常数 M; 优先序集合 P。 |
状态: {问题建模, 构建MILP模型, 调用求解器, 解析结果, 分发调度方案}。 |
优化(整数规划), 组合(分配和排序), 逻辑约束(通过二元变量和大M法线性化)。 |
形式化的优化问题描述(目标函数, 决策变量, 约束条件)。 |
1. 输入: 任务列表(每个任务属性, 如位置、类型、耗时估计), 机器人列表, 可能存在的任务优先关系图。 2. 模型构建: a. 定义决策变量(如上)。 b. 设置目标函数, 如 minCmax。 c. 添加约束: 分配约束、资源不冲突约束(对同一机器人的任意两个任务j,k, 有 sk≥cj或 sj≥ck, 通过大M法线性化)、优先约束、处理时间约束。 3. 求解: 将构建的MILP模型(目标函数和约束方程组)输入求解器。 求解器执行预处理、线性规划松弛、分支(对整数变量)、割平面、启发式搜索等步骤, 寻找最优解。 4. 输出解析: 从求解器输出中读取 xij,sj,cj的值。 5. 调度分发: 为每个机器人i生成其任务序列: 根据 xij=1确定分配给它的任务, 并根据 sj排序, 形成“在时间 sj执行任务j”的指令序列, 发送给相应机器人。 |
离线顺序求解(模型构建->求解->分发)。 求解过程内部是复杂的搜索序列(分支定界)。 |
最坏情况下是指数级复杂度(NP难)。 实际求解时间取决于问题规模(任务和机器人数量)和约束紧致度, 可能从毫秒到小时不等。 |
CPU (主控机): 执行模型构建(生成系数矩阵), 调用MILP求解器库。 求解器内部进行大量浮点线性规划求解和整数分支操作。指令: 浮点运算, 内存访问, 条件分支。 通常非实时, 在任务开始前或动态重规划时运行。 |
运筹学, 整数规划, 调度算法, 组合优化。 |
|
编号 |
领域 |
模型/算法方向 |
类别 |
模型/算法配方 |
算法/模型/函数/引擎方法名称 |
算法/模型/函数/引擎方法的逐步思考推理过程及每一个步骤的数学方程式 |
精度/密度/误差/强度 |
底层规律/理论定理 |
算法/模型应用场景 |
变量/常量/张量/标量/向量参数列表及说明 |
状态机 |
数学特征 |
语言特征 |
时序和交互流程的所有细节/分步骤时序情况及数学方程式 |
顺序/乱序/差序列/倒序/并行序列/分布式序列/随机序列/其他 |
复杂度 |
机器人的各类芯片执行的各类指令和指令代码情况和各类硬件芯片执行调度情况 |
关联知识 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Robot-0021 |
视觉 |
特征提取 |
局部特征描述 |
检测并描述图像中具有尺度、旋转不变性的关键点。 |
尺度不变特征变换 |
1. 尺度空间极值检测: 构建图像的高斯金字塔和差分高斯金字塔。 高斯模糊: L(x,y,σ)=G(x,y,σ)∗I(x,y), 其中 G是高斯核。 差分高斯: D(x,y,σ)=L(x,y,kσ)−L(x,y,σ)。 在 D(x,y,σ)的三维空间(x, y, σ)中, 将每个点与其同尺度的8邻域和上下相邻尺度的9x2个点比较, 寻找局部极值点作为候选关键点。 |
D(\hat{\mathbf{x}}) |
)小于阈值则剔除。 利用Hessian矩阵主曲率比值剔除边缘点。 |
特征点重复率, 匹配正确率。 |
尺度空间理论, 高斯差分逼近拉普拉斯算子, 图像局部梯度统计。 |
视觉SLAM中的回环检测, 物体识别与图像匹配。 |
输入图像 I(x,y); 高斯尺度空间 L(x,y,σ); 差分高斯空间 D(x,y,σ); 关键点位置 (x,y,σ,θ); 128维描述子向量 f; 对比度阈值; 边缘阈值。 |
状态: {构建尺度空间, 检测极值点, 精炼关键点, 分配方向, 生成描述子}。 |
尺度空间(连续尺度分析), 极值检测, 梯度统计(直方图), 线性代数(Hessian矩阵分析), 归一化。 |
基于多尺度分析和梯度统计的局部特征描述。 |
1. 尺度空间构建: 对原始图像进行不同σ的高斯模糊, 并下采样构建金字塔(Octave)。 计算相邻高斯图像的差得到DOG金字塔。 2. 极值检测: 遍历每个Octave中的每个DOG图像(中间层), 将每个像素与其26邻域(同层8个+上层9个+下层9个)比较, 记录极值点位置和尺度。 3. 关键点精炼: 对每个候选点, 迭代计算偏移量 x^直至收敛或超出范围。 计算 D(x^), 若小于对比度阈值则丢弃。 计算Hessian矩阵 H=[DxxDxy;DxyDyy], 若其迹和行列式的比值 Det(H)Tr(H)2>r(r+1)2(r通常为10), 则作为边缘点丢弃。 4. 方向分配: 在关键点所在尺度的高斯图像 L上, 取一定半径的圆形区域, 计算区域内所有像素的梯度幅值和方向。 用高斯加权函数生成36柱的方向直方图, 平滑后取峰值为主方向, 辅方向为大于主峰80%的峰。 5. 描述子生成: 以关键点为中心, 将坐标轴旋转为主方向。 取16x16的邻域, 划分为4x4的子区域。 对每个子区域(4x4像素), 计算其内像素的梯度方向(相对于关键点主方向旋转后的方向), 加到8个方向的直方图中, 并用高斯窗函数加权。 将16个区域的8维直方图连接成128维向量, 并进行归一化、阈值截断(对抗光照变化)、再归一化, 得到最终描述子。 |
顺序/并行序列。 尺度空间构建和极值检测步骤有很强的数据局部性, 可并行处理不同尺度和区域。 描述子计算可对每个关键点并行。 |
时间复杂度: 构建尺度空间和DOG为 O(N⋅S)(N为像素数, S为尺度数)。 极值检测为 O(N⋅S)。 描述子生成为 O(K⋅16⋅16)(K为关键点数)。 整体计算密集。 |
|
Robot-0022 |
控制 |
柔顺控制 |
阻抗控制 |
将机器人末端等效为一个质量-弹簧-阻尼系统, 通过调节其动力学参数来实现对外力的柔顺响应。 |
阻抗控制(基于位置的阻抗控制) |
1. 目标阻抗模型: 定义机器人末端在任务空间的目标阻抗行为: Md(x¨−x¨d)+Bd(x˙−x˙d)+Kd(x−xd)=Fext。 其中 xd,x˙d,x¨d是期望位姿/速度/加速度, x,x˙,x¨是实际值, Fext是测量的外部力。 Md,Bd,Kd是期望的惯性、阻尼和刚度矩阵。 |
阻抗模型跟踪误差(实际力与模型预测力的偏差), 位置跟踪带宽。 |
二阶线性系统动力学, 导纳控制(位置型阻抗控制本质是导纳控制), 力与位置混合控制。 |
机器人与人协作(拖动示教, 协作搬运), 精密装配, 轮廓跟踪。 |
期望位姿 xd,x˙d,x¨d; 实际位姿 x,x˙; 外部力 Fext; 目标阻抗参数 Md,Bd,Kd; 参考轨迹 xr,x˙r,x¨r; 内环控制器的控制输出 τ。 |
状态: {读取状态与外力, 计算阻抗模型输出(参考加速度), 生成参考轨迹, 内环位置控制跟踪}。 |
微分方程(二阶系统), 线性代数(矩阵求逆, 如果不是对角阵), 积分, 动力学。 |
基于目标动力学模型(阻抗)的控制框架描述。 |
控制循环(~1kHz): 1. 读取关节编码器, 经正运动学计算得到末端实际位姿 x和速度 x˙。 2. 读取六维力传感器, 经过坐标变换得到在任务空间末端受到的外部力 Fext。 3. 根据当前误差和期望阻抗模型计算参考加速度: x¨r=x¨d+Md−1[Fext−Bd(x˙−x˙d)−Kd(x−xd)]。 4. 生成参考轨迹: 通常通过数值积分生成参考速度和位置。 例如: \dot{x}_r = \dot{x}_r_{prev} + \ddot{x}_r \cdot T_s , x_r = x_r_{prev} + \dot{x}_r \cdot T_s 。 更精确的做法是求解一个轨迹优化问题。 5. 内环控制: 将 xr,x˙r,x¨r作为计算转矩控制(Robot-0003)的输入, 计算关节力矩 τ。 6. 输出 τ给驱动器。 7. 更新上一时刻的参考状态: x_r_{prev} = x_r, \dot{x}_r_{prev} = \dot{x}_r 。 |
严格的周期性顺序序列。 |
单步计算复杂度取决于任务空间维度和内环控制器的复杂度。 阻抗模型计算为 O(n3)(若 Md非对角需求逆)。 内环计算转矩控制也为 O(n3)。 总体计算量较大。 |
CPU/专用控制芯片: 执行正运动学、力传感器坐标变换、矩阵运算(求逆, 乘加)、数值积分、内环控制律计算。 指令: 浮点矩阵运算, 积分运算。 需要实时处理力反馈和位置反馈。 |
操作空间控制, 力控制, 机器人动力学。 |
|
Robot-0023 |
决策 |
规划与搜索 |
蒙特卡洛树搜索 |
通过随机模拟来评估动作价值, 并逐步将搜索集中在更有希望的动作上。 |
蒙特卡洛树搜索(用于确定性环境) |
1. 选择: 从根节点(当前状态)开始, 递归地应用子节点选择策略(如UCT)下降到叶节点。 UCT分数: UCT=NiQi+cNilnNp, 其中 Qi是节点i的累计价值, Ni是访问次数, Np是父节点访问次数, c是探索常数。 选择最大化UCT分数的子节点, 直到遇到一个未完全展开的节点(即还有未尝试过的动作)。 |
胜率/期望奖励, 搜索效率(每步时间内的模拟次数)。 |
多臂赌博机(UCT公式), 蒙特卡洛方法, 树搜索。 |
机器人游戏决策(如围棋), 复杂规划问题(如拼图, 部分观测下的决策)。 |
状态 s; 动作 a; 节点包含: N(s)访问次数, Q(s,a)动作价值, P(s,a)先验概率(如有); 模拟奖励 R; 探索常数 c; 默认策略(随机、简单启发式)。 |
状态: {选择, 扩展, 模拟, 回溯}。 |
概率(蒙特卡洛模拟), 统计(UCB公式平衡探索与利用), 树结构搜索, 回溯更新。 |
基于树遍历和随机模拟的迭代搜索过程描述。 |
单个迭代: 1. 选择: 设当前节点 v为根节点。 While v不是叶节点(即所有动作都已展开): a. 根据UCT公式选择子节点: a∗=argmaxa(N(v,a)Q(v,a)+cN(v,a)lnN(v))。 b. 将 v更新为与动作 a∗对应的子节点。 2. 扩展: 如果 v对应的状态 s非终止, 且其未尝试的动作集 Aun非空, 则: a. 从 Aun中选择一个动作 a′(随机或按先验概率)。 b. 执行 a′得到新状态 s′。 c. 创建新节点 v′对应 s′, 并添加为 v的子节点。 d. 将 v′设为当前节点。 3. 模拟: 从当前节点 v′(或 v, 如果未扩展)的状态开始, 使用默认策略(如均匀随机选择动作)进行模拟, 直到达到终止条件(如游戏结束, 达到最大深度D)。 记录模拟获得的奖励 R。 4. 回溯: 从当前节点开始, 沿着选择路径回溯到根节点。 对于路径上的每个节点 v和选择的动作 a, 更新: N(v)=N(v)+1, N(v,a)=N(v,a)+1, Q(v,a)=Q(v,a)+R。 |
迭代序列。 每次迭代是顺序的选择-扩展-模拟-回溯。 大量迭代之间相互独立, 可并行化(如根并行, 叶并行)。 |
时间复杂度: 每次迭代的复杂度取决于选择路径长度(树深度D)和模拟长度(L)。 总复杂度为 O(I⋅(D+L)), I为迭代次数。 空间复杂度为存储的节点数量。 |
CPU/GPU: 选择与回溯步骤涉及树遍历和更新, 在CPU上高效。 模拟步骤计算简单但次数巨大, 适合在CPU多核或GPU上大规模并行。 指令: 浮点运算(计算UCT), 随机数生成, 哈希表查找(存储节点), 内存访问。 |
强化学习, 博弈论, 启发式搜索, 蒙特卡洛方法。 |
|
Robot-0024 |
通信 |
多机器人协同 |
时钟同步 |
使分布式系统中的各机器人节点保持时间一致。 |
精确时间协议(简化版/基于偏移测量与补偿) |
1. 同步消息交换: 主节点(Master)在时间 t1发送同步消息(Sync)。 从节点(Slave)在本地时间 T2收到该消息。 主节点随后在时间 t3发送跟随消息(Follow_Up), 其中包含 t1的精确时间戳。 从节点在时间 T4发送延迟请求消息(Delay_Req)。 主节点在时间 t5收到该消息, 并在时间 t6发送延迟响应消息(Delay_Resp), 其中包含 t5的时间戳。 |
同步精度(微秒级到纳秒级), 长期稳定性。 |
网络测量, 时钟模型( Cslave(t)=a⋅Cmaster(t)+b), 最小二乘估计。 |
多机器人协同运动(如编队), 分布式传感器数据融合, 需要严格时间戳的工业自动化。 |
主节点时间戳 t1,t3,t5,t6; 从节点本地时间戳 T2,T4; 时钟偏移 θ; 网络延迟 d; 校正量 θ^; 时钟频率漂移 a。 |
状态: {同步消息交换, 时间戳记录, 偏移与延迟计算, 时钟调整}。 |
代数运算(解方程求偏移和延迟), 时间序列, 测量与估计, 补偿。 |
基于消息交换和时间戳的协议描述。 |
一轮同步过程: 1. 主节点准备发送Sync消息。 在消息实际离开网络接口的精确时刻(硬件时间戳点), 记录时间 t1。 2. 从节点在本地时钟 T2时刻收到Sync消息(在MAC层打时间戳)。 3. 主节点随后发送Follow_Up消息, 其中包含 t1值。 4. 从节点在本地时间 T4发送Delay_Req消息。 5. 主节点在 t5时刻收到Delay_Req消息, 并随后发送Delay_Resp消息, 其中包含 t5值。 6. 从节点收到Delay_Resp, 提取 t5。 7. 计算: 偏移 θ^=2(T2−t1)−(t5−T4), 延迟 d^=2(T2−t1)+(t5−T4)。 8. 校正从节点时钟: 新的本地时间 = 旧的本地时间 - θ^。 更高级的实现会使用多个测量值来估计和补偿时钟频率漂移 a。 |
顺序/事件驱动序列。 Sync/Follow_Up和Delay_Req/Resp交换是顺序的, 但可以周期性地重复进行。 |
单轮计算复杂度 O(1)。 需要高精度时间戳支持(硬件支持最佳)。 |
网络接口芯片(NIC): 关键是需要支持硬件时间戳, 在报文发送/接收的物理层精确打戳。 CPU/专用时钟芯片: 读取硬件时间戳, 执行偏移计算, 调整软件时间或通过PLL控制硬件时钟。 指令: 读取硬件寄存器(时间戳), 浮点减法和除法(计算偏移)。 调度: 由网络报文到达和定时器事件驱动。 |
网络协议, 时钟同步理论, 分布式系统。 |
|
Robot-0025 |
材料/结构 |
状态估计 |
应变感知 |
通过测量材料应变来估计外部力或结构变形。 |
基于应变片和惠斯通电桥的力/力矩感知 |
1. 应变传感: 将应变片粘贴在弹性体(如机器人手指、连杆)表面。 当弹性体受力变形时, 应变片随之伸缩, 其电阻值发生改变: ΔR=R0⋅GF⋅ϵ, 其中 R0是初始电阻, GF是应变片灵敏系数, ϵ是应变。 |
力感知分辨率(N), 精度(%FS), 串扰(%)。 |
胡克定律(小变形下应力应变线性), 压阻效应, 电路理论(惠斯通电桥), 线性回归。 |
机器人六维力/力矩传感器, 夹持器握力传感器, 关节扭矩传感器。 |
应变 ϵ; 应变片电阻变化 ΔR; 灵敏系数 GF; 电桥输入电压 Vin; 输出电压 Vout; ADC读数向量 U; 力/力矩向量 F=[Fx,Fy,Fz,Mx,My,Mz]T; 标定矩阵 C。 |
状态: {应变发生, 电阻变化, 电桥失衡输出电压, 信号调理, ADC采样, 标定矩阵乘法}。 |
线性关系(应变-电阻, 电桥输出-应变, 标定矩阵), 代数(矩阵乘法), 最小二乘拟合(标定过程)。 |
基于物理效应(压阻)和线性变换的传感链描述。 |
1. 物理过程: 外力/力矩作用在传感器弹性体上, 引起局部应变。 2. 电学转换: 应变片电阻变化导致惠斯通电桥失衡, 产生差分电压 Vout。 通常采用全桥提高灵敏度和温度补偿。 3. 信号调理: Vout经仪表放大器放大, 然后通过低通滤波器去除高频噪声。 4. 数字化: 调理后的模拟电压被高速ADC采样, 得到数字值 Ui(i对应第i个电桥通道, 通常需要多个通道测量多维力)。 5. 数字处理: 对 Ui进行数字滤波(如移动平均)。 6. 力解算: 将多个通道的读数组成列向量 U=[U1,U2,...,Un]T。 通过预先标定好的线性(或非线性)映射模型计算力/力矩。 对于线性模型: F6x1=C6xn⋅Unx1。 7. 输出: 输出六维力/力矩向量 F。 |
顺序流处理序列。 物理过程是并行的, 但信号调理、采样、解算在电子系统中是顺序流水线。 |
解算步骤复杂度为矩阵乘法 O(6⋅n), 非常低。 主要瓶颈和精度取决于模拟电路和ADC性能。 |
模拟前端(AFE)芯片/ADC: 包含仪表放大器、滤波器、ADC。 执行模拟信号放大、滤波和数字化。 指令(内部): 采样保持, 逐次逼近或Sigma-Delta转换。 |
传感器技术, 材料力学, 模拟电路, 信号处理。 |
|
Robot-0026 |
芯片/集成电路 |
数字逻辑 |
运动控制脉冲生成 |
根据位置指令, 生成控制步进电机或伺服电机的脉冲序列。 |
数字差分分析器(用于步进电机脉冲插补) |
1. 轨迹参数化: 给定目标位置 Ptarget和最大速度 Vmax、加速度 A。 规划梯形速度曲线(或S曲线): 加速段、匀速段、减速段。 |
脉冲频率精度, 位置精度(无丢步前提下), 速度平滑性。 |
数字积分, 运动学(梯形速度规划), 脉冲频率调制。 |
3D打印机、CNC、扫描仪等设备的步进电机控制, 低成本伺服电机位置控制。 |
目标位置 Ptarget(脉冲数); 当前位置 Pcurrent; 当前速度 V(每插补周期累加值); 加速度 A; 插补时钟周期 Tc; DDA累加器 ACC(通常为N位寄存器, 如32位); 脉冲输出 PULSE; 方向输出 DIR。 |
状态: {空闲, 加速, 匀速, 减速, 停止}。 |
离散积分(累加器), 运动规划(梯形速度曲线), 有限状态机。 |
基于累加器溢出的脉冲生成机制描述。 |
在每个插补时钟周期 Tc(如 10us)内执行: 1. 位置管理: 计算剩余距离 ΔP=Ptarget−Pcurrent。 2. 速度规划: 根据当前状态(加速/匀速/减速)和剩余距离, 更新当前速度V。 例如, 在加速段: V=V+A⋅Tc, 但不超过 Vmax。 在减速段: 计算理论减速速度曲线, 确保在剩余距离内减速到0。 3. DDA累加: ACC=ACC+V。 4. 脉冲生成: 检查ACC的最高位(或一个特定高位)是否溢出。 如果溢出: a. 产生一个PULSE脉冲(输出一个高电平或边沿)。 b. 根据DIR信号方向, 更新当前位置: Pcurrent=Pcurrent±1。 c. ACC清除溢出位(或减去一个固定值, 如2^N)。 5. 状态转移判断: 根据新的 Pcurrent和 ΔP判断是否应切换到减速或停止状态。 循环执行直到到达目标。 |
严格的周期性顺序序列。 每个 Tc周期执行一次。 |
单周期计算复杂度 O(1)。 非常高效, 可用低成本MCU或FPGA实现。 |
MCU定时器/FPGA: MCU中通常由一个高优先级定时器中断服务例程实现。指令: 读取/写入累加器寄存器, 加法, 比较, 位操作(检查溢出), GPIO置位/清零(产生脉冲)。 在FPGA中, 可以用一个状态机和累加器硬件实现, 运行在很高的时钟频率下。 |
电机控制, 数字电路, 运动规划, 嵌入式系统。 |
|
Robot-0027 |
思考/推理 |
概率推理 |
状态滤波 |
在非线性、非高斯系统中进行递归贝叶斯状态估计。 |
无迹卡尔曼滤波 |
1. 选择Sigma点: 对于n维状态向量 xk−1和协方差 Pk−1, 计算2n+1个Sigma点 Xi及其权重 Wi: X0=x^k−1, Xi=x^k−1+((n+λ)Pk−1)i,i=1,...,n, Xi=x^k−1−((n+λ)Pk−1)i−n,i=n+1,...,2n。 权重: W0(m)=λ/(n+λ),W0(c)=W0(m)+(1−α2+β),Wi(m)=Wi(c)=1/(2(n+λ)),i=1,...,2n。 参数 λ=α2(n+κ)−n。 |
k-1}^* = f(\mathcal{X}{i, k-1}, u{k-1}) )。 b. 计算预测状态和协方差: (\hat{\mathbf{x}}_{k |
k-1} = \sum{i=0}^{2n} W_i^{(m)} \mathcal{X}{i,k |
k-1}^* ), (P_{k |
k-1} = \sum{i=0}^{2n} W_i^{(c)} (\mathcal{X}{i,k |
k-1}^* - \hat{\mathbf{x}}_{k |
k-1})(\mathcal{X}_{i,k |
k-1}^* - \hat{\mathbf{x}}_{k |
k-1})^T + Q )。 |
k-1} = h(\mathcal{X}_{i,k |
k-1}) )。 b. 计算预测观测、协方差和互协方差: (\hat{\mathbf{z}}_{k |
k-1} = \sum{i=0}^{2n} W_i^{(m)} \mathcal{Z}{i,k |
k-1} ), (P{z} = \sum{i=0}^{2n} W_i^{(c)} (\mathcal{Z}_{i,k |
|
Robot-0028 |
决策/运筹 |
路径规划 |
连续曲线优化 |
在已有点序列的基础上, 优化出一条平滑、动态可行的路径。 |
最小抖动轨迹生成(Minimum Snap) |
1. 问题形式化: 给定N个路径点 p0,p1,...,pN及其期望到达时间 t0,t1,...,tN。 轨迹被分为N段, 第i段轨迹是时间 t∈[ti−1,ti]上的多项式 pi(t)=∑j=0nci,jtj, 通常取n=5(最小Jerk)或n=7(最小Snap)。 |
轨迹平滑度(Snap积分值), 动态可行性(速度/加速度是否超出限制)。 |
变分法, 二次规划, 多项式样条。 |
无人机/多旋翼飞行器的轨迹规划, 机械臂平滑运动规划。 |
路径点位置 pi(三维); 时间点 ti; 多项式阶数 n(如7); 多项式系数矩阵 C(N x (n+1) x 3); 导数连续性阶数 k(如4, 即位置、速度、加速度、加加速度连续); 约束矩阵 Aeq,Aieq; 约束向量 beq,bieq。 |
状态: {输入路径点与时间, 构建QP问题, 求解QP, 提取系数, 轨迹评估}。 |
优化(二次规划), 多项式代数, 线性等式约束, 变分(最小化泛函)。 |
基于多项式函数空间和优化目标的数学规划问题描述。 |
1. 输入: 路径点序列 p0,...,pN和对应的时刻 t0,...,tN。 2. 参数化: 选择多项式阶数n=7(最小化Snap)。 轨迹有N段, 每段是一个7次多项式, 有8个系数。 3. 构建优化问题: 目标函数: J=∑i=1N∫ti−1ti(pi(4)(t))2dt=∑i=1NciTQici, 其中 Qi是Hessian矩阵, 元素由积分 ∫ta+bdt决定。 约束: a. 起点/终点约束: 对 p1(t0)和 pN(tN)的导数(位置、速度、加速度等)设定值。 b. 连续性约束: pi(d)(ti)=pi+1(d)(ti), 对于d=0,1,2,3。 c. 中间点位置约束: pi(ti)=pi。 所有这些约束都是关于系数 ci的线性等式约束。 4. 求解: 将目标函数和约束写成标准QP形式: min21cTHc, s.t. Aeqc=beq。 由于其特殊结构, 可通过求解KKT系统得到解析解。 常用方法: 利用“映射矩阵”将系数映射到端点各阶导数, 在该导数空间求解, 再映射回系数空间。 5. 输出: 得到每一段轨迹的多项式系数向量 ci。 在任何时刻t, 可通过求值得到位置、速度、加速度。 |
离线顺序求解。 构建问题和求解是顺序的。 求解本身涉及线性系统求解。 |
时间复杂度: 构建矩阵为 O(N⋅n2)。 求解线性系统(利用带状稀疏结构)复杂度为 O(N)。 高效。 |
CPU: 执行矩阵构建(填充 Qi矩阵元素), 稀疏线性系统求解(如使用LU分解, 但针对此特殊结构有更高效的求解器)。指令: 浮点运算, 稀疏矩阵求解库调用。 通常在规划线程中运行, 非实时控制环。 |
最优控制, 样条曲线, 凸优化。 |
|
Robot-0029 |
视觉 |
三维重建 |
表面重建 |
从无序的三维点云中重建出网格模型。 |
泊松表面重建 |
1. 构建指示函数: 定义在三维空间中的一个标量函数 χ(p), 其在物体内部值为1, 外部为0。 物体的表面是该函数的跳跃处(等值面 χ=0.5)。 |
重建表面与真实表面的Hausdorff距离, 网格水密性, 对噪声的鲁棒性。 |
向量场理论(梯度, 散度), 泊松方程, 等值面提取。 |
从激光扫描点云重建物体模型, 环境三维建模。 |
输入点云 P={pi}及其法向 {ni}; 指示函数 χ; 向量场 V; 八叉树深度 D; 拉普拉斯矩阵 L; 未知数向量 x; 右侧向量 v; 等值面阈值 τ。 |
状态: {构建空间划分(八叉树), 计算向量场, 构建线性系统, 求解线性系统, 提取等值面}。 |
向量微积分(梯度, 散度), 偏微分方程(泊松方程), 离散化(有限元/有限体积思想), 线性代数(稀疏系统求解), 等值面提取。 |
基于泊松方程和等值面的隐式表面重建方法描述。 |
1. 输入与预处理: 输入点云, 并估计每个点的法向(一致向外)。 2. 八叉树构建: 根据点云密度自适应构建一个深度为D的八叉树。 3. 设置函数空间: 在八叉树节点上定义基函数(通常是与节点关联的平滑函数)。 4. 计算向量场: 对每个采样点 pi, 将其法向 ni平滑地散布到其附近的八叉树节点上, 累加到节点对应的向量场系数中。 5. 构建线性系统: a. 离散拉普拉斯算子L: 基于八叉树邻接关系构建。 b. 右侧散度项v: 对每个节点, 计算其接收到的向量场的散度近似。 得到线性系统 Lx=v。 6. 求解线性系统: 由于L是对称正定稀疏矩阵, 使用共轭梯度法迭代求解指示函数在节点上的值 x。 7. 提取网格: 对八叉树中的每个单元格, 根据其8个顶点的 x值, 利用移动立方体查找表生成该单元格内的三角面片。 将所有面片组合, 形成水密的三角网格。 8. 可选后处理: 网格简化, 平滑。 |
顺序/迭代序列。 八叉树构建、系统构建、求解、提取等步骤顺序执行, 其中系统求解是迭代的。 |
时间复杂度: 与点数量和八叉树节点数量相关。 构建向量场和线性系统为 O(NlogN), 求解共轭梯度为 O(m⋅nn)(m迭代次数, n_n节点数)。 内存消耗大。 |
CPU: 执行八叉树操作, 稀疏矩阵组装, 迭代线性求解(共轭梯度)。指令: 指针操作(树遍历), 稀疏矩阵-向量乘, 浮点运算。 内存访问模式不规则。 GPU加速可能用于法向估计和向量场计算。 |
计算几何, 计算机图形学, 数值分析, 偏微分方程数值解。 |
|
Robot-0030 |
控制/决策 |
强化学习 |
策略优化 |
通过与环境交互, 直接优化参数化的策略函数。 |
近端策略优化 |
1. 收集经验: 使用当前策略 πθold与环境交互, 收集一组轨迹(状态、动作、奖励)数据。 |
s_t)}{\pi{\theta{old}}(a_t |
s_t)} )。 目标函数为: LCLIP(θ)=E^t[min(rt(θ)A^t,clip(rt(θ),1−ϵ,1+ϵ)A^t)], 其中 ϵ是超参数(如0.2)。 |
学习曲线(累计奖励随训练轮次增长), 最终策略性能。 |
策略梯度定理, 重要性采样, 信赖域优化(通过裁剪近似)。 |
机器人 locomotion (行走、奔跑), 复杂操作技能(如拧瓶盖)的端到端学习。 |
策略网络参数 θ; 价值网络参数 ϕ; 优势估计 A^t; 概率比 rt(θ); 裁剪范围 ϵ; 折扣因子 γ; GAE参数 λ; 经验缓冲区数据。 |
状态: {交互收集数据, 计算优势, 策略优化(多轮梯度步), 策略更新}。 |
优化(梯度上升), 概率(重要性采样比率), 统计(优势估计), 裁剪(约束更新幅度)。 |
基于策略梯度、重要性采样和裁剪的优化算法描述。 |
训练循环: 1. 初始化: 随机初始化策略网络 πθ和价值网络 Vϕ。 2. 迭代: for iteration = 1, 2, ...: a. 数据收集: 用当前策略 πθold在环境中运行T个时间步, 收集状态、动作、奖励序列, 并计算每个状态的回报。 b. 优势计算: 使用收集的数据, 通过时间差分误差计算GAE优势估计 A^t。 这需要价值网络 Vϕ的预测。 c. 优化阶段: for epoch = 1, ..., K: i. 从收集的数据中随机采样一个mini-batch。 ii. 计算概率比 (r_t(\theta) = \pi_\theta(a_t |
s_t) / \pi{\theta{old}}(a_t |
s_t) )。 iii. 计算裁剪目标函数值: LCLIP=E^[min(rt(θ)A^t,clip(rt(θ),1−ϵ,1+ϵ)A^t)]。 iv. 计算价值函数损失: LVF=E^[(Vϕ(st)−Rt)2]。 v. 计算总损失: L=LCLIP−c1LVF+c2S[πθ](st), 其中S是熵奖励项。 vi. 对 θ,ϕ执行梯度上升/下降更新参数。 d. 策略更新: 设置 θold←θ。 |
|
编号 |
领域 |
模型/算法方向 |
类别 |
模型/算法配方 |
算法/模型/函数/引擎方法名称 |
算法/模型/函数/引擎方法的逐步思考推理过程及每一个步骤的数学方程式 |
精度/密度/误差/强度 |
底层规律/理论定理 |
算法/模型应用场景 |
变量/常量/张量/标量/向量参数列表及说明 |
状态机 |
数学特征 |
语言特征 |
时序和交互流程的所有细节/分步骤时序情况及数学方程式 |
顺序/乱序/差序列/倒序/并行序列/分布式序列/随机序列/其他 |
复杂度 |
机器人的各类芯片执行的各类指令和指令代码情况和各类硬件芯片执行调度情况 |
关联知识 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Robot-0031 |
控制 |
柔顺控制 |
导纳控制 |
根据测量的外力, 调整机器人的期望位置, 使机器人表现出期望的动力学特性。 |
导纳控制(基于位置的导纳控制) |
1. 导纳模型: 定义期望的导纳行为(外力到位置修正的传递函数), 通常为二阶系统: Md(x¨c−x¨d)+Bd(x˙c−x˙d)+Kd(xc−xd)=Fext。 其中 xd是原始期望位置, xc是修正后的指令位置, Fext是外力。 |
导纳模型跟踪误差(实际位置与导纳模型输出位置的偏差), 力的灵敏度。 |
阻抗/导纳对偶性, 二阶系统动力学, 力-位置混合控制框架。 |
机器人与人物理协作(如拖动示教), 轮廓跟踪(用恒力按压曲面), 康复机器人。 |
原始指令 xd,x˙d,x¨d; 修正指令 xc,x˙c,x¨c; 外部力 Fext; 导纳参数 Md,Bd,Kd; 内环位置控制器输出 τ; 控制周期 Ts。 |
状态: {读取外力与指令, 导纳模型计算, 数值积分更新指令, 内环位置控制}。 |
微分方程(二阶系统), 数值积分, 动力学, 控制框图(内外环)。 |
基于“力-位置”变换(导纳)和位置跟踪的双环控制结构描述。 |
控制循环(~1kHz): 1. 读取六维力传感器值 Fext。 2. 获取当前期望的原始轨迹点 xd,x˙d,x¨d。 3. 导纳环计算: a. 计算导纳模型输出加速度: x¨c=x¨d+Md−1[Fext−Bd(x˙c−x˙d)−Kd(xc−xd)]。 (注意: 此式中的 x˙c,xc为上周期积分结果)。 b. 数值积分: x˙c=x˙c+x¨c⋅Ts, xc=xc+x˙c⋅Ts。 4. 内环控制: 将 xc,x˙c,x¨c作为内环计算转矩控制(Robot-0003)的输入, 计算关节力矩 τ。 5. 输出 τ。 6. 等待下一控制周期, 用新积分得到的 xc,x˙c作为下一周期的输入。 |
严格的周期性顺序序列。 外环(导纳)和内环(位置)在同一周期内顺序计算。 |
单步计算复杂度: 导纳模型计算为 O(n3)(若 Md非对角需求逆), 加上内环控制计算 O(n3)。 总体计算量较大。 |
CPU/专用控制芯片: 执行力传感器数据读取、矩阵运算(求逆, 乘加)、数值积分、内环控制律计算。 指令: 浮点矩阵运算, 积分运算。 需要实时处理力反馈和高频位置控制。 |
操作空间控制, 力控制, 机器人动力学, 阻抗控制(对偶)。 |
|
Robot-0032 |
决策/状态估计 |
概率推理 |
非参数滤波 |
使用一组随机样本(粒子)来表示状态的后验概率分布。 |
粒子滤波(序列重要性采样与重采样) |
1. 初始化: 从先验分布 p(x0)中采样 N 个粒子 {x0i}i=1N, 并为每个粒子赋予初始权重 w0i=1/N。 |
x_{k-1}^i, z_k) = p(x_k |
x{k-1}^i) )。 |
x_k^i) p(x_k^i |
x_{k-1}^i)}{q(x_k^i |
x_{k-1}^i, z_k)} )。 若取 (q = p(x_k |
x{k-1}^i) ), 则简化为 (w_k^i = w{k-1}^i \cdot p(z_k |
x_k^i) )。 然后归一化权重: w~ki=wki/∑j=1Nwkj。 |
状态估计误差(RMSE), 滤波一致性。 |
贝叶斯定理, 蒙特卡洛方法, 重要性采样, 序贯估计。 |
机器人定位(非高斯噪声, 多模态分布, 如绑架问题), 视觉目标跟踪, 同步定位与地图构建(FastSLAM)。 |
粒子集合 {xki,wki}i=1N; 状态转移概率 (p(x_k |
x_{k-1}) ); 观测似然 (p(z_k |
|
Robot-0033 |
整机 |
运动规划 |
采样规划 |
通过在构型空间中随机采样来快速探索空间, 并渐进优化路径。 |
快速探索随机树星(RRT*) |
1. 初始化: 树 T 仅包含起始节点 xinit。 |
路径代价收敛到最优值的速度, 最终路径长度。 |
随机几何图, 渐进最优性, 动态规划原理(Bellman最优性)。 |
高维运动规划(机械臂, 无人机), 动态环境重规划(通过不断运行RRT*)。 |
树结构 T; 起始点 xinit; 目标区域 Xgoal; 采样点 xrand; 最近邻 xnearest; 新节点 xnew; 步长 η; 重布线半径 r; 路径代价函数 c(⋅); 距离度量 d(⋅,⋅)。 |
状态: {初始化, 采样, 最近邻, 扩展与碰撞检测, 邻域查询, 重选父节点, 重布线, 目标检查}。 |
随机采样, 图论(树生长), 几何(距离度量, 碰撞检测), 优化(渐进最优), 邻域搜索。 |
基于随机采样、树扩展和局部优化的渐进搜索过程描述。 |
1. 初始化: T.init(xinit)。 2. for i = 1 to N: a. xrand=SampleFree()。 b. xnearest=Nearest(T,xrand)。 c. xnew=Steer(xnearest,xrand,η)(沿方向前进 η 距离)。 d. if CollisionFree(xnearest,xnew): i. Xnear=Near(T,xnew,r)。 ii. xmin=xnearest, cmin=c(xnearest)+d(xnearest,xnew)。 iii. for each xnear∈Xnear: 1. if CollisionFree(xnear,xnew)and c(xnear)+d(xnear,xnew)<cmin: xmin=xnear, cmin=c(xnear)+d(xnear,xnew)。 iv. 将 xnew加入 T, 父节点设为 xmin, 代价 c(xnew)=cmin。 v. for each xnear∈Xnear: 1. if CollisionFree(xnew,xnear)and c(xnew)+d(xnew,xnear)<c(xnear): 将 xnear的父节点改为 xnew, 并更新 xnear及其后代的代价。 e. if xnew∈Xgoal: 可能找到一条路径, 可提前终止或继续优化。 3. 返回树 T, 从目标节点回溯到起点得到路径。 |
顺序/迭代序列。 每次迭代内部步骤顺序执行。 邻域内节点的父节点检查和重布线可部分并行。 |
时间复杂度: 每次迭代的最近邻搜索和邻域搜索是主要开销。 使用 kd-tree 可达 O(logN)。 总体为 O(NlogN), N 为迭代次数/节点数。 渐进最优但收敛速度可能较慢。 |
CPU: 执行随机采样, kd-tree 的最近邻和邻域搜索, 几何碰撞检测。 指令: 浮点运算, 距离计算, 树结构操作, 内存访问。 碰撞检测是性能瓶颈, 常使用空间划分数据结构加速。 |
采样规划, 计算几何, 图搜索, 路径规划。 |
|
Robot-0034 |
决策/模仿学习 |
对抗模仿学习 |
从专家演示中学习策略, 使鉴别器无法区分策略生成的状态-动作对与专家数据。 |
生成对抗模仿学习 |
1. 初始化: 随机初始化策略 πθ(生成器)和鉴别器 Dϕ。 |
策略与专家策略的相似度(通过鉴别器得分或任务成功率衡量)。 |
生成对抗网络框架, 逆强化学习(不显式学习奖励函数), 分布匹配。 |
从人类演示中学习复杂的、多模态的机器人技能, 如灵巧操作、步态。 |
策略网络参数 θ; 鉴别器网络参数 ϕ; 专家数据分布 πE; 策略数据分布 πθ; 鉴别器输出 D(s,a)∈(0,1); 对抗损失 LD,Lπ; 熵正则化系数 λ。 |
状态: {策略交互收集数据, 训练鉴别器, 训练策略, 评估}。 |
对抗优化(极小极大博弈), 分布匹配, 概率(二分类交叉熵), 强化学习(策略梯度)。 |
基于生成器(策略)和鉴别器对抗训练的模仿学习框架描述。 |
1. 输入: 专家示范数据集 DE={(si,ai)}。 2. 初始化: 随机初始化策略网络 πθ和鉴别器网络 Dϕ。 3. 重复直到收敛: a. 策略数据收集: 运行当前策略 πθ与环境交互, 收集一组轨迹, 得到状态-动作对数据集 Dπ。 b. 训练鉴别器(内循环K步): for k in 1...K: i. 从 DE采样一个batch的专家数据 (sE,aE)。 ii. 从 Dπ采样一个batch的策略数据 (sπ,aπ)。 iii. 计算鉴别器损失: LD=−B1∑[logD(sE,aE)+log(1−D(sπ,aπ))]。 iv. 对 ϕ执行梯度下降更新: ϕ←ϕ−αD∇ϕLD。 c. 训练策略(内循环M步): for m in 1...M: i. 从 Dπ采样一个batch的策略数据(或重新交互收集)。 ii. 计算策略损失: (L\pi = -\frac{1}{B}\sum \log D(s\pi, a\pi) - \lambda \mathcal{H}(\pi\theta(\cdot |
s)) )。 (第一项鼓励“欺骗”鉴别器, 第二项是熵正则)。 iii. 对 θ执行梯度上升更新: θ←θ+απ∇θLπ。 4. 输出训练好的策略 πθ。 |
顺序/迭代序列。 外部是数据收集与对抗训练的交替循环。 内部是鉴别器和策略的多次梯度更新。 |
训练复杂度很高。 每次迭代需交互收集数据( O(T)), 鉴别器训练( O(K⋅B)), 策略训练( O(M⋅B))。 总体计算密集, 且训练不稳定。 |
GPU (训练): 策略网络和鉴别器网络的前向/反向传播。 策略交互环境可能在CPU模拟。 指令: 大规模并行矩阵运算, 自动微分, 二分类交叉熵计算。 数据在GPU内存和仿真环境(CPU)间交换。 |
生成对抗网络, 逆强化学习, 深度强化学习, 模仿学习。 |
|
Robot-0035 |
芯片/集成电路 |
数值计算 |
定点数运算 |
使用整数表示和运算来近似实数运算, 以在无FPU的硬件上高效执行。 |
定点数算术(Q格式) |
1. 数字表示: 一个定点数用 N 位整数表示, 其中隐含地假设小数点左边有 I 位(整数部分), 右边有 F 位(小数部分), F = N - I。 数值 x与实际表示的整数 X的关系为: x=X⋅2−F。 缩放因子 S=2F。 |
量化误差, 动态范围, 运算速度。 |
二进制补码表示, 整数运算, 缩放线性变换。 |
嵌入式微控制器(MCU)中的数字信号处理(如滤波器, PID控制器), FPGA中的数字逻辑实现。 |
定点数整数表示 X; 总位宽 N; 小数位宽 F; 缩放因子 S=2F; 实际值 x=X/S; 中间乘积 P2N; 舍入偏移量 R=2F−1。 |
状态: {操作数对齐(如有必要), 整数算术运算, 移位调整, 溢出/饱和处理, 舍入}。 |
离散数学(整数运算), 缩放(移位), 误差分析(量化误差, 舍入误差), 溢出处理(饱和或回绕)。 |
基于整数运算和隐式缩放因子的数值计算规则描述。 |
以 Q1.15 格式(1位符号, 15位小数, 共16位)乘法为例, 结果也保持 Q1.15: 1. 输入: 两个 Q1.15 数 A,B, 实际值 a=A/215, b=B/215。 2. 整数乘法: 计算 32 位乘积 P32=A∗B(在 32 位寄存器中)。 3. 调整小数点位: 乘积 P32的小数点实际在 30 位后(因为 15+15)。 要得到 Q1.15 结果, 需要将小数点移到 15 位后。 即需要右移 15 位。 4. 舍入: 为了减少截断误差, 采用就近舍入。 在右移前, 加上舍入偏移量 214(即 0.5 的 Q1.15 表示)。 5. 取高位字: 右移 15 位后, 取结果的高 16 位(如果使用 32 位寄存器, 右移 15 位后自然得到 16 位有效结果)。 6. 溢出处理: 检查结果是否超出 Q1.15 范围(-1 <= r < 1)。 如果溢出, 则饱和到最大值(0x7FFF)或最小值(0x8000)。 7. 输出: 得到 16 位结果 C, 其实际值 c≈a∗b。 加法示例(同为 Q1.15): 1. 直接整数相加: C=A+B。 2. 检查溢出: 如果结果超出了 16 位有符号整数范围(-32768 到 32767), 则饱和处理。 3. 输出 C。 |
顺序运算序列。 每个运算的步骤顺序执行。 多个定点运算可组成一个算法(如滤波器), 按顺序或并行(硬件中)执行。 |
单次运算复杂度: 加/减法 O(1); 乘法 O(1)但涉及更多位操作和移位; 除法 O(1)但更慢。 远快于浮点模拟。 |
MCU (无FPU): 执行整数加、减、乘、移位、比较指令。 例如, 在ARM Cortex-M中: |
数字电路, 计算机算术, 嵌入式系统, 信号处理。 |
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)