Workflow
四足机器人研习社
icon
搜索文档
四足机器人MPC控制
四足机器人控制技术 - 间歇欠驱系统特性:运动员跳跃过程分为起跳、飞行、落地三阶段,腾空阶段质心轨迹为不可控抛物线,起跳/落地阶段通过肌肉控制足底反力实现质心可控,这种部分自由度间歇性失控的系统称为间歇欠驱系统 [5] - 四足机器人运动类比:对角步态中支撑足连线形成支撑线,绕支撑线旋转方向为欠驱状态,半个步态周期后支撑线切换但欠驱特性持续存在 [7] 控制系统架构 - 分层控制流程:包含上层规划、估计器、规划器、控制器四级结构,其中控制器需同时处理当前周期跟踪与未来多周期轨迹预测 [6] - 核心算法应用: - 卡尔曼滤波用于质心速度估计 - 逆运动学计算摆动腿关节角 - VMC/MPC/WBC方法求解站立腿关节力矩 [6] 动力学建模方法 - 单刚体模型简化:将四足机器人简化为12变量(6自由度位置+速度)的单刚体模型,可降低MPC计算量且保持控制精度,MIT Cheetah 3验证该模型下腿质量仅占10%对精度影响有限 [8][13] - 动力学方程近似:对欧拉角动力学进行线性化处理,忽略旋转体进动/章动效应,将非线性方程简化为适合凸优化的线性时变系统 [15][17] MIT Cheetah 3 MPC实现 - 控制框架: - 摆动腿采用PD+前馈控制,前馈力矩由单腿动力学模型计算得出(公式1-2) - 支撑腿通过MPC优化足端力,经力雅可比矩阵映射至关节空间 [9][12] - 性能表现:采用Convex MPC控制器实现3m/s奔跑速度,预测视界0.3-0.5秒,25-50Hz更新频率,使用qpOASES求解二次规划问题 [9][31] 关键技术细节 - 参考轨迹生成:基于操作指令构建0.3-0.5秒短时参考轨迹,包含速度/位置/偏航角参数,落足点计算考虑质心速度与支撑时间(公式33) [22][23] - 力约束条件:设置z向力上下限(公式22)及摩擦锥约束(公式23-24),采用方形金字塔近似简化计算 [20][21] - 优化问题重构:通过状态浓缩技术减小QP问题规模,消除零变量提升求解效率,Hessian矩阵计算仅依赖腿数与预测长度(公式28-31) [26][29]
一些开源四足控制框架梳理
四足机器人控制框架技术分析 - 小型四足机器人采用舵机驱动和运动学控制即可满足需求,而较大型四足需考虑动力学影响进行力矩层次控制以提升响应速度和稳定性[2] - 四足机器人属于欠驱动约束动力学系统,具有6自由度浮动机身和时变足-地接触约束两大特征,导致逆动力学求解成为欠驱动不适定问题[2][3] - 行业普遍采用点-质量模型(倒立摆模型)简化复杂动力学,线性倒立摆(LIP)模型因解耦特性成为运动规划主流方法[3] - 预测控制优化理论的发展推动行业采用长时间跨度的MPC算法,使运动轨迹能综合考虑未来多步稳定性[3] - 全身控制算法(WBC)通过优先级任务分解和雅可比矩阵零空间特性,实现关节扭矩精确控制[3][14] MIT Cheetah开源方案 - 2019年MIT开源方案提供基于MPC的线性化模型预测控制框架,将四足简化为单刚体多点支撑模型[8] - 采用QP优化求解实现嵌入式处理器实时运算,大幅简化步态状态机设计[8][9] - 2020年增加WBC模块后实现更快速度和更流畅奔跑控制,孵化多家创业公司[9] - 控制框架包含convexMPC、Gait生成、RobotState等模块,支持BalanceStand和Locomotion两种模式[11][12][13] - WBIC将控制任务分为支撑腿轨迹、机身转动、机身平动、摆动腿轨迹四个优先级子任务[14][16] 其他开源控制框架 - rl-mpc-locomotion项目结合MPC与强化学习(PPO),采用分层控制器架构并支持NVIDIA Isaac Gym仿真[15][18][20] - Legged_control框架采用ETH的OCS2工具箱实现非线性MPC+WBC控制,使用卡尔曼滤波进行状态估计[22][24] - Quad-SDK是首个开源全局规划器的ROS框架,实现非线性MPC控制、多周期步态规划和地形融合[25][28][29] - A1-QP-MPC项目优化MIT方案开发便利性,通过Docker容器化实现跨平台部署[31][32] - motion_imitation提供Python版MPC控制器,代码可读性强并支持模仿学习[34][36] 核心技术演进 - 从MIT的线性MPC到Quad-SDK的非线性MPC,模型精度和控制效果显著提升[29] - 规划周期从单步态扩展到多周期,落足点规划能力增强复杂地形适应性[29] - 控制架构从单一MPC发展为MPC+WBC组合,实现更稳定动态运动[9][13] - 仿真工具链从Gazebo扩展到Isaac Gym,加速sim2real技术落地[20][28]
四足机器人站立姿态控制:原理推导与代码实现
四足机器人运动学逆解与站立姿态控制 1 单腿逆解回顾 - 运动学逆解指在给定末端位姿情况下求解对应关节角 四足机器人以髋部坐标系为基准进行单腿规划 末端仅需用坐标点{x,y,z}表示 无需考虑姿态 因此可采用几何法快速求解关节角 [4] 2 站立姿态解算原理 - 站立姿态定义为足端固定时机器人身体的动态姿态 本质是并联机器人逆解问题 需结合结构参数与机体位姿进行解算 [7] - 关键参数包括:足端长度方向距离l=440mm 宽度方向距离w=210mm 髋关节间距b=160mm 通过齐次变换矩阵A整合位姿信息 其中旋转矩阵R由欧拉角(RPY)计算得出 [7][8] - 向量解算核心公式:通过已知结构参数(w,l,b)、机体高度h及旋转矩阵R 推导髋关节坐标系下足端坐标向量A1B1 最终扩展至四条腿的通用解算公式 [13][14][15] 3 代码实现 - **MATLAB实现**:输入机体姿态角(roll,pitch,yaw)和位置坐标 输出四条腿在髋关节坐标系的坐标值 核心通过旋转矩阵与结构参数矩阵运算实现 [18] - **Python实现**:采用numpy库进行矩阵运算 明确结构参数单位(mm) 包含弧度转换、旋转矩阵构建及足端坐标迭代计算流程 [19] 4 参考文献 - 知乎专栏与CSDN博客提供理论基础 涉及单腿逆运动学与姿态控制关联性 [20]
为什么说四足背枪只是个噱头?
关于四足背枪 - 四足背枪技术逐渐受到关注,波士顿动力早期与军方有深厚渊源 [4] - 美国Ghost Robotics研发的SPUR机器狗可携带6.5毫米口径自动步枪,精准射击1200米内目标 [4] - SPUR能在移动中保持射击精度,并具备远程装弹和清理弹膛功能 [4] - 俄罗斯在"军队-2022"论坛展示装有RPG-26火箭筒的战斗机器狗 [6] - 中国红隼公司推出可在室内狭小空间自主战斗的四足机器人 [7] - 解放军训练中出现携带自动步枪进行巷战的机器狗 [9] 四足背枪的技术挑战 - 目前尚无机器狗投入实战,主要受限于技术、抗干扰能力和安全风险 [10] - Unitree机器狗存在433MHz后门漏洞,可被Flipper Zero设备远程关闭 [12] - 机器狗电量有限,在演习中曾出现需士兵扛着完成的情况 [12] - 人工智能技术尚未支持完全自主行动,仍需远程操作 [12] - 马萨诸塞州警用Spot机器狗在行动中被嫌疑人击毁 [12] - 武器后坐力影响机器狗平衡,恢复需时约1分钟 [16] - SPUR存在载荷小、平台稳定性等问题 [16] - 遥控作战兵器面临软件失控和被对手控制的风险 [16] 四足背枪的发展现状 - "无人平台+枪械"架构并非创新,但SPUR使其更小巧灵活 [4] - 俄罗斯和土耳其已有类似战斗机器人和武装无人机 [4] - 各国持续进行机器狗武器化研究,但主要限于运输、扫雷等非作战任务 [10] - 技术难点包括武器系统弹道性能理解和后坐力平衡问题解决 [16]
机器人逆运动学求解与四足机器人单腿逆解
机器人逆运动学求解方法 - 解析法运算速度快(达到us级),但通用性差,可分为代数法与几何法 [4] - Pieper准则指出,若机器人满足三相邻关节轴相交或平行条件,则存在封闭解(解析解) [5][6] - 几何解法要求相邻三轴交于一点,现代机器人多满足此条件以实现高效运算 [8] - 数值法通用性高但求解速度较慢(ms级),适用于无解析解的情况 [9][10] 雅可比矩阵求解技术 - 雅可比逆矩阵法通过微分运动方程实现关节位置迭代,但对奇异点敏感 [11][12][13] - 雅可比转置法避免奇异问题但迭代次数更多,通过梯度下降实现目标最小化 [39][40][43] - 阻尼最小二乘法(DLS)通过引入阻尼常数λ提升稳定性,平衡收敛速度与精度 [48][49] - 选择性阻尼最小二乘法(SDLS)针对不同奇异向量调整阻尼因子,计算成本最高但收敛快 [57] 四足机器人腿部逆解实现 - 建立肩部右手坐标系,定义三个自由度:外展角γ、摆动角α、膝盖角β [60][62] - 通过YZ平面投影计算γ角,利用三角关系γ = γ_yz - γ_h_offset [64][66][69] - 在XZ平面通过辅助线几何关系求解α和β角,完成闭环计算 [70][72][75] - 提供MATLAB和Python代码实现,包含具体参数(肩长h=0.15m,大腿hu=0.35m) [83]
四足机器人应用篇之仿真物理引擎
仿真物理引擎简介 - 物理引擎是仿真软件的核心组件,直接影响仿真精度,没有物理引擎的仿真软件仅能作为三维显示工具[4] - 物理引擎可分为两类:以游戏为中心的实时近似引擎(计算资源少)和用于科学仿真的高精度引擎(如ADAMS、ANSYS)[4] - 在非纯数值仿真中,物理引擎负责解算机器人状态更新、碰撞检测/处理、模型实时渲染等任务[4] - 物理模拟流程包括积分、碰撞检测(粗/精)、约束处理、运动计算等步骤,例如球体自由落体的完整模拟过程[5] 物理引擎中的常见对象 物理世界 - "世界(World)"是物理规则的载体,管理场景中的物体,可定义重力、边界等属性,支持多世界分组以优化性能[8][10] - 多世界可模拟不同环境(地表/水下/太空),分组功能可隔离不必要碰撞检测的对象(如赛车游戏中的观众群组)[8] 物体和关节 - 物体分为刚体、软体、液体、布料、粒子等类型,关节(铰链/弹簧/骨骼/固定)用于约束物体间运动关系[11] - 物体属性分为几何属性(形状,用于碰撞检测)和物理属性(质量/速度/力,用于运动计算),复杂物体可通过简单形状组合构建[12] 运行机制 - 物理引擎采用基于时间的主循环,典型执行速率为60次/秒,需配合连续碰撞检测(CCD)保证大时间步长下的真实性[13][14][15] 主流物理引擎与仿真软件 引擎特性 - **ODE**:开源刚体动力学库,支持高级关节类型和集成碰撞检测,广泛应用于游戏和仿真工具[17] - **Bullet**:跨平台引擎,支持GPU加速(通过OpenGL/DirectCompute),整合至Maya/Blender等3D工具[19] - **Newton Dynamics**:确定性求解器兼顾稳定性与速度,适用于实时物理模拟,跨平台支持包括移动设备[20] - **VORTEX**:工程级动力学仿真软件,支持复杂多体系统动力学和高效碰撞检测,集成OSG视景引擎[22] 仿真软件对比 | 软件 | 物理引擎 | 应用场景 | |---------|------------------------|-----------------------------------| | Gazebo | ODE/Bullet/Simbody/DART | ROS生态首选,建筑建模能力强但学习曲线陡峭[25] | | Webots | 改进版ODE | 界面友好、传感器丰富,适合移动机器人仿真[25][27] | | V-REP | ODE/Bullet/Vortex/Newton| 机械臂抓取仿真优势明显,与Webots界面相似[25] | 细分领域推荐 - 移动机器人:Webots流体环境支持佳(通过Fluid节点)[27] - 机械臂:Gazebo(高精度)、Webots/V-REP(简易抓取)、Simscape Multibody/Adams(厂商设计)[27] - 机器学习整合:PyBullet(开源)、MuJoCo(商用)[27] - 自动驾驶:Gazebo/Webots/CARLA[27]