发布时间:2026/8/26 19:55:54
从关节阻抗到笛卡尔导纳:mujoco-learning机械臂柔性控制完全教程 从关节阻抗到笛卡尔导纳mujoco-learning机械臂柔性控制完全教程【免费下载链接】mujoco-learning项目地址: https://gitcode.com/gh_mirrors/mu/mujoco-learning本文以mujoco-learning项目为例系统讲解机械臂柔性控制柔顺控制的两大主流路线关节阻抗控制与笛卡尔导纳控制。这两种方法能让机械臂像弹簧-阻尼系统一样在与环境接触时柔性地响应外力解决传统刚性位置控制不敢碰、碰了就撞的两大痛点。项目全部演示基于 MuJoCo 物理引擎依赖少、结构清晰非常适合刚接触机械臂力控的新手。 为什么机械臂需要柔性控制绝大多数入门教程都在做位置控制命令每个关节到达某个目标角度。可一旦机械臂在真实世界里碰到物体或人问题就来了刚性冲击位置环在碰撞点越积累越大的力可能直接顶过电机极限接触任务难做打磨、插拔、擦拭都要求用力但会退让没法拖动示教想徒手拽着机械臂记录轨迹位置控制做不到。柔性控制compliant control的本质是在运动和力之间架一个弹簧-阻尼系统方法工作空间核心思想通俗类比阻抗控制 Impedance关节空间 / 笛卡尔把运动误差 → 映射成控制力/力矩机械臂像弹簧一样推回目标导纳控制 Admittance笛卡尔空间把外力 → 映射成运动变化机械臂像水管一样退让两者互为对偶阻抗测位置误差输出力导纳测力输运动。一、关节阻抗控制5 行代码让机械臂变软入门文件joint_impedance_control.pySO-ARM100 机械臂场景文件model/trs_so_arm100/scene_without_position.xml。核心控制律只有一行τ Kp · (q_des − q) − Kd · q̇Kp 刚度矩阵决定它拉回目标关节角有多猛Kd 阻尼矩阵决定它压住振动的快慢q_des 目标角、q 当前角、q̇ 关节角速度。项目把可视化循环封装在src/mujoco_viewer.py的CustomViewer里继承后在runBefore()写参数、runFunc()写控制逻辑run_loop()一调用就自动跑连调试窗口都帮你开好。运行前提关节必须工作在力矩模式。也就是说机械臂 XML 中general元素需要配置为力控 biasdata.ctrl写入的才是力矩而不是位置——这正是scene_without_position.xml与位置控制场景文件的区别。Kp / Kd 调参经验Kp 调大 → 稳态误差更小、回位更猛但容易振荡Kd 太小 → 切换目标时机械臂跳太大 → 动作发粘项目示例的起步值Kp10、Kd10另一版impedance_control.py用 Kp100、Kd10是很好的对照实验。图 1项目中的 MuJoCo 机械臂仿真场景底盘 机械臂柔性控制演示都在这类场景中运行二、笛卡尔导纳控制让末端拥有手感希望末端执行器在空间里按预设的软硬程度响应外力时笛卡尔导纳就是答案。项目演示panda_dynamics_admittance.pyFRANKA Panda 机械臂模型在model/franka_emika_panda/目录。核心是一个 6 自由度3 位置 3 姿态的二阶弹簧-阻尼系统M·ẍ_des B·ẋ_des K·(x_des − x) F三个参数定义了末端的手感M_d 虚拟质量越小越轻快B_d 阻尼决定收敛快慢K_d 刚度决定受外力后的最终静变形量。示例中给 z 轴施加 −5 N 虚拟力末端沿该方向退让再经src/pinocchio_kinematic.py做 IK 反解关节角并写回仿真。两个值得借鉴的工程细节低通滤波末端速度先过src/lowpass_filter.py的滤波器避免差分放大噪声对齐真实限位力矩版模型model/franka_emika_panda/panda_tau.xml设置了forcerange-87 87对齐 Panda 真实关节 ±87 N·m 极限扭矩并保留armature、damping等机构参数仿真行为更贴近真机。三、拖动示教与定点保持逆动力学 力矩环没有力传感器怎么办用逆动力学近似即可。项目基于 Pinocchio 的rnea递归牛顿-欧拉算法算出维持当前运动所需的关节力矩给出了两个经典玩法文件控制律效果panda_dynamics_drag.pyτ τ_dynamics β·q̇β−100拖动示教机械臂悬浮可被鼠标/手拖着走松手保持panda_dynamics_hold.pyτ τ_dynamics Kp·(q₀−q) − Kd·q̇定点保持补偿重力并维持初始姿态像一双软手两式中第一项 τ_dynamics 负责抵消臂自身惯性与重力后面的项决定软硬度。这类纯力矩环同样要求模型处于力矩模式参考model/franka_emika_panda/scene_tau.xml。四、参数速查表参数出现位置作用调参建议Kp关节阻抗关节阻抗演示位置刚度从 10~100 起步稳态误差大就加大Kd关节阻抗关节阻抗演示速度阻尼略大更稳过大发粘M_d / B_d / K_d笛卡尔导纳演示虚拟质量/阻尼/刚度K_d 决定受力后的最终变形β 阻尼系数拖动示教演示整体阻尼负值越负越沉−100 附近起步forcerange机械臂 XML 的 general力矩限幅对齐真机关节极限扭矩 排错口诀仿真中机械臂被力甩飞时依次检查 ① 场景是否力矩模式 ② forcerange 是否过大 ③ Kd 是否太小。五、相关文件索引关节阻抗控制joint_impedance_control.py、impedance_control.py笛卡尔导纳控制panda_dynamics_admittance.py拖动示教 / 定点保持panda_dynamics_drag.py、panda_dynamics_hold.py末端受力测量真实 Wrenchget_ee_wrench.py纯 PID 力环作对照pid_torque_and_get.py、src/pid_controller.py机械臂模型model/franka_emika_panda/Panda含力矩模式panda_tau.xml、model/trs_so_arm100/SO-ARM100可视化基类src/mujoco_viewer.py总结关节阻抗控制是最简单的入门一行 τ Kp·e − Kd·q̇ 就能让机械臂变软适合新手先建立力环直觉笛卡尔导纳控制直接在空间定义末端手感是插拔、接触类任务的首选逆动力学 阻尼/阻抗补偿则让你没有力传感器也能做拖动示教与定点保持离真机部署最近。建议按本文顺序把四个脚本依次跑通每次只改一个参数、在 viewer 里观察变化一个下午就能把机械臂柔性控制的核心思路吃透。【免费下载链接】mujoco-learning项目地址: https://gitcode.com/gh_mirrors/mu/mujoco-learning创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

2026/8/26 19:55:54

元初混沌体系 第三卷 卫星互联网全域周天拓扑体系:第二十八篇 低轨星座分域自治周天分区规则

第二十八篇 低轨星座分域自治周天分区规则承启前置 规则立论第二十六、二十七篇已完整落地低轨星座同轨静态稳态、跨轨动态灵变的全域链路体系,彻底解决单轨微观链路零抖动永续连通、多轨宏观链路无感知自适应切换两大核心难题,实现低轨星间链路动静二元…

2026/8/26 19:50:54

Linux网络---网络层和IP

1、IP协议基本概念 主机:配有 IP 地址,也要进⾏路由控制的设备;路由器:即配有 IP 地址,⼜能进⾏路由控制;节点:主机和路由器的统称;2、IP协议头格式4 位版本号 (version): 指定 IP 协…

2026/8/26 20:45:58

V4L2视频采集实战:从零掌握Linux摄像头数据流与缓冲区模型

1. 项目缘起:为什么需要深入理解V4L2?如果你在Linux下玩过摄像头,尤其是想自己写程序从USB摄像头或者像树莓派CSI接口这类嵌入式摄像头里拿数据,那你大概率听说过V4L2这个名字。我第一次接触它,是想在一个嵌入式Linux板…

2026/8/26 20:45:58

靠谱的儿童陪伴服务公司名声

很多家长问:“哪家儿童陪伴服务公司名声好?”但名声是结果,不是原因。真正靠谱的公司,靠的是可验证的筛选、培训、匹配、督导体系。启萌心(四川)教育科技有限公司深耕0-12岁儿童陪伴教育,用一套…

2026/8/26 20:45:58

从调研到定稿:5类文献综述AI工具实测与全流程搭配攻略

先说结论:没有万能的AI,只有最适配你场景的工具。 去年帮学妹改文献综述,前前后后试了不下十款工具——从ChatGPT、Claude到国产大模型,从垂直学术平台到文献检索神器,踩坑无数。有的生成速度飞快,结果参考…

2026/8/26 20:45:58

提升后端性能,先学会优化数据库查询

凌晨三点,监控大屏上那根刺眼的红线还在往上爬。后端服务的CPU飙到90%,数据库连接池被占满,响应时间从200ms一路狂飙到3秒。你打开慢查询日志,发现罪魁祸首是一条跑了4.2秒的SQL——它不过是想查一张三千万行的订单表里某个用户的…

2026/8/26 20:45:58

彻底卸载奇安信天擎:从密码破解到强制清除的完整指南

1. 从一次“不请自来”的安装说起 那天下午,我正在调试一个本地服务,突然发现网络连接变得异常卡顿,CPU占用率也莫名飙升。打开任务管理器一看,一个名为“360天擎”的进程赫然在列,正以“管理员”身份运行,…

2026/8/26 20:40:57

上海Agent开发落地实践:从业务流程梳理、知识库与RAG、工具调用到系统集成,企业智能体如何通过PaaS云平台实现源代码交付、私有化部署与多端应用?以D-coding为例说明选型

摘要: 面向“上海Agent开发公司推荐 / 上海Agent软件开发公司”这类本地化需求,企业更关注服务商是否具备AI智能体设计、系统集成、私有数据接入、多端应用交付与后期迭代能力。**D-coding(研发主体:上海担路网络科技有限公司&…

2026/8/26 9:13:28

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/25 11:48:27

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/25 16:56:43

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/26 0:04:32

Python random 模块常用函数详解:从入门到实战

目录 1. 引言2. 准备工作3. 基础随机函数4. 序列相关函数5. 随机种子与复现6. 实战案例7. 注意事项8. 常见问题与排查9. 总结 1. 引言 摘要: 本文系统介绍 Python 标准库 random 模块中最常用的随机数生成函数。内容涵盖基础随机函数(random()、unifor…

2026/8/26 1:19:35

JSON总结

JSON概念 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,主要用于跟服务器进行交换数据。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C、C#、Java、JavaScr…

2026/8/26 1:19:35

保存连接sse 是什么原理,为什么不会一直请求

“保持连接”用的是 SSE(Server-Sent Events),本质是一个没有马上结束的 HTTP 请求。 过程是: 拷贝机发送一次请求: GET /api/code-sync/events服务器返回: Content-Type: text/event-stream但不关闭响应&…

2026/8/26 19:34:06

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/26 19:17:08

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/26 19:34:05

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…