从关节阻抗到笛卡尔导纳: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),仅供参考

相关新闻

Cartographist技术栈解剖:Electron + React + immer如何搭建实验性Web浏览器

Cartographist技术栈解剖:Electron + React + immer如何搭建实验性Web浏览器

Cartographist技术栈解剖:Electron React immer如何搭建实验性Web浏览器 【免费下载链接】cartographist experimental web browser optimized for rabbit-holing 项目地址: https://gitcode.com/gh_mirrors/ca/cartographist Cartographist 是一款用 Elec…

2026/8/26 19:54:41 阅读更多 →
COMSOL2-几何建模和CAD导入

COMSOL2-几何建模和CAD导入

几何内核 几何内核在数学上比较复杂,如果几何是在COMSOL里面,那么可以直接使用,如果不是,用CAD内核导入。单击模型开发器里面的几何,几何表示几何对象和实体,就是点构成边,边构成面,…

2026/8/26 19:54:41 阅读更多 →
深入理解C++ 智能指针std::unique_ptr<二>自定义删除器

深入理解C++ 智能指针std::unique_ptr<二>自定义删除器

自定义删除器 (Custom Deleter)&#xff1a;unique_ptr 允许通过模板参数指定删除器。由于其类型包含删除器&#xff0c;因此可以在编译期绑定&#xff0c;无额外运行时开销。#include <iostream>#include <memory> // unique_ptr// 一个简单的测试类class Test {p…

2026/8/26 19:54:41 阅读更多 →

最新新闻

图神经网络对抗性攻击实战:Python实现特征与结构攻击

图神经网络对抗性攻击实战:Python实现特征与结构攻击

简介&#xff1a;图神经网络&#xff08;GNN&#xff09;在社交网络、分子结构、推荐系统等非欧几里得数据上表现出色&#xff0c;但其安全性面临严峻挑战。与图像对抗攻击不同&#xff0c;图数据的离散结构使得攻击更隐蔽——攻击者可通过篡改节点特征或增删边来欺骗模型。本文…

2026/8/27 22:12:46 阅读更多 →
2026零基础AI学习就业平台测评指南|新手择校参考攻略

2026零基础AI学习就业平台测评指南|新手择校参考攻略

人工智能技术持续落地&#xff0c;AI岗位需求不断扩容&#xff0c;行业就业门槛逐步放宽&#xff0c;非科班、零基础人群也可通过系统学习和项目实训掌握实操技能&#xff0c;切入AI就业赛道。当下AI教育平台数量繁多&#xff0c;各平台课程体系、教学模式、实训资源差异明显&a…

2026/8/27 22:12:46 阅读更多 →
蓝桥杯单片机编程:从审题到调试的完整实战思路

蓝桥杯单片机编程:从审题到调试的完整实战思路

1. 赛场代码思路的核心价值 在蓝桥杯电子类单片机组的赛场上&#xff0c;拿到题目后&#xff0c;很多选手的第一反应是立刻动手写代码。但根据我多年的参赛和指导经验&#xff0c;真正拉开差距的往往不是敲代码的速度&#xff0c;而是动笔之前的“思路”。这里的“思路”不是指…

2026/8/27 22:12:46 阅读更多 →
【单片机毕设案例分享】基于 STM32 的多按键人机交互智能水杯控制系统研究 基于 STM32 单片机的无线传感饮水健康监测装置设计(011805)

【单片机毕设案例分享】基于 STM32 的多按键人机交互智能水杯控制系统研究 基于 STM32 单片机的无线传感饮水健康监测装置设计(011805)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于单片机&#xff0c;STM32单片机&#xff0c;51单片机&#xff0c;J…

2026/8/27 22:12:46 阅读更多 →
【单片机毕设案例分享】基于 STM32 的物联网前端环境感知与执行控制系统设计 基于 STM32 的小型智慧种植环境监测与声光报警装置设计(011705)

【单片机毕设案例分享】基于 STM32 的物联网前端环境感知与执行控制系统设计 基于 STM32 的小型智慧种植环境监测与声光报警装置设计(011705)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于单片机&#xff0c;STM32单片机&#xff0c;51单片机&#xff0c;J…

2026/8/27 22:12:46 阅读更多 →
小车表面缺陷检测数据集:3135张图8类缺陷,VOC与YOLO双格式解析

小车表面缺陷检测数据集:3135张图8类缺陷,VOC与YOLO双格式解析

简介&#xff1a;在工业视觉与智能制造领域&#xff0c;表面缺陷检测是目标检测技术的重要落地场景之一。传统人工目检效率低、标准不一&#xff0c;而深度学习目标检测方法通过标注数据驱动模型自主学习裂纹、划痕、凹痕等缺陷特征&#xff0c;可实现稳定可复现的自动化质检。…

2026/8/27 22:11:45 阅读更多 →

日新闻

Go语言构建企业级AI服务网关:统一管理英伟达等AI接口调用

Go语言构建企业级AI服务网关:统一管理英伟达等AI接口调用

1. 项目概述&#xff1a;从零构建一个企业级的AI服务网关 最近在帮一个做内容审核的团队做技术架构升级&#xff0c;他们原来的业务里&#xff0c;每天有几十万张图片和短视频需要过审&#xff0c;最初是接了几个开源的AI模型自己部署&#xff0c;但效果和性能一直不太稳定。后…

2026/8/27 0:00:51 阅读更多 →
网盘直链下载助手5分钟解析八大网盘真实地址

网盘直链下载助手5分钟解析八大网盘真实地址

网盘直链下载助手5分钟解析八大网盘真实地址 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘 / 迅雷云盘 / 夸…

2026/8/27 1:06:27 阅读更多 →
从零点亮 ESP32:Arduino ESP32 开发环境搭建与首次烧录完整指南

从零点亮 ESP32:Arduino ESP32 开发环境搭建与首次烧录完整指南

从零点亮 ESP32&#xff1a;Arduino ESP32 开发环境搭建与首次烧录完整指南 【免费下载链接】arduino-esp32 Arduino core for the ESP32 family of SoCs 项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32 Arduino ESP32 是乐鑫官方的 ESP32 系列 Ardui…

2026/8/27 1:06:27 阅读更多 →

周新闻

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

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

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

2026/8/26 14:45:33 阅读更多 →
SIP通话转接原理与REFER方法实战解析

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

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

2026/8/26 17:46:43 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

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

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

2026/8/26 14:46:37 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速&#xff1a;macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/27 17:46:39 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南&#xff1a;3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗&#xff1f;ncmdump解密工具帮你轻松解决这个困…

2026/8/26 17:46:39 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片&#xff1a;为英语学习 App 打造桌面级学习助手适用平台&#xff1a;HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0&#xff08;API 26 Beta&#xff09;新增了 AgentCard 智能体卡片能力&#xff0c;这是继 HMAF&#xff08;鸿蒙智能体框架&#x…

2026/8/27 20:00:17 阅读更多 →