UR5机械臂PID轨迹跟踪控制控制,六自由度机械臂simscape物理仿真,需要可以提供DH参...

UR5机械臂PID轨迹跟踪控制控制,六自由度机械臂simscape物理仿真,需要可以提供DH参数表,坐标系表示,三维模型,可以导出角度,角速度,角加速度以及力矩,误差曲线图

机械臂轨迹跟踪这事儿听起来高大上,其实核心就两件事——建模准不准和控制算法硬不硬。今天咱们拿UR5开刀,手把手在Simscape里搭个能看见关节力矩变化的物理仿真,顺便验证下老生常谈的PID到底能不能打。

先上硬货,UR5的DH参数得扒清楚。别被那些花里胡哨的坐标系吓到,直接上MATLAB数组更实在:

dh = [0 pi/2 0.089159; 0.425 0 0; 0.392 0 0; 0 pi/2 0.10915; 0 -pi/2 0.09465; 0 0 0.0823]; % 单位:米/弧度

注意第三列其实是连杆偏距,第一行那个0.089米对应UR5基座到第二个关节的竖直距离。有兄弟问为啥要转来转去的坐标系?说白了就是让每个关节的运动学计算能套用统一公式,省得每次重新推导。

Simscape建模时有个坑——默认的刚体惯性参数可能和真实UR5对不上。咱们直接在Solid块右键导入STEP模型,这时候会弹出一个让人头大的惯性矩阵。别慌,记住这个口诀:质量误差不超过10%,转动惯量主要看对角线元素,实在搞不定就偷个懒用默认值先跑起来。

UR5机械臂PID轨迹跟踪控制控制,六自由度机械臂simscape物理仿真,需要可以提供DH参数表,坐标系表示,三维模型,可以导出角度,角速度,角加速度以及力矩,误差曲线图

轨迹跟踪的核心在于PID三个参数的配合。给各位看看我调试时用的Simulink PID模块参数:

Kp = diag([800 600 500 400 300 200]); % 六个关节比例系数 Ki = diag([5 4 3 2 1 0.5]); % 别笑,最后一个关节确实需要弱积分 Kd = diag([50 40 30 20 10 5]); % 阻尼系数看实际振动情况

这里有个骚操作——把积分项限幅设置成扭矩最大值的20%,防止出现关节抱死的情况。比如UR5的肘关节最大扭矩约150N·m,那积分上限就设在30N·m左右。

仿真跑起来后重点看这几个信号:

  1. 关节角度误差(Desired - Actual)
  2. 电机输出扭矩曲线
  3. 末端执行器位姿偏差

用这个脚本导出数据并画图:

simout = sim('ur5_pid_tracking'); error = get(simout.logsout,'joint_error').Values; plot(error.Time, error.Data(:,1), 'LineWidth',2); hold on % 其他关节类似... xlabel('时间(s)');ylabel('角度误差(rad)');

典型情况下会看到前0.5秒有个剧烈震荡,这时候别急着调参数,先检查接触力设置——是不是机械臂突然加载导致动力学突变?把接触刚度从1e6降到1e4 N/m试试,仿真会更稳定。

遇到轨迹拐点处误差飙升怎么办?临时加大微分项不是长久之计。更聪明的做法是给期望轨迹加个低通滤波,相当于给目标轨迹"打码",让机械臂有个缓冲时间。代码实现就两行:

t = 0:0.001:10; qd_smooth = lowpass(qd_raw, 5, 1000); % 截止频率5Hz

最后说个血泪教训:仿真能跑≠真机可用。务必检查电机模型里的扭矩饱和模块是否启用,现实的伺服电机可不会任你1000N·m的指令随便发。把扭矩限制设到UR5规格的120%,这样得到的误差曲线才靠谱。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1160104.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1]模型简介:COMSOL Multiphysics生成粗糙裂隙与分形系数应用 ‘[2]案例内...

[1]模型简介:COMSOL Multiphysics生成粗糙裂隙,可考虑分形系数。 [2]案例内容:数值模型,matlab数据。 [3]模型特色:额外点云法生成粗糙裂隙视频代码。裂隙的粗糙度直接影响着地下流体运移规律,这种天然的不…

基于SpringBoot的高校实习管理系统毕设源码

博主介绍:✌ 专注于Java,python,✌关注✌私信我✌具体的问题,我会尽力帮助你。一、研究目的本研究旨在设计并实现一个基于SpringBoot的高校实习管理系统,以提升高校实习管理的效率和准确性。具体研究目的如下: 首先,通…

Claude Code 最佳实践的 8 条黄金法则

为什么同样是调用 Claude,有的人能写出工业级代码,而有的人只是在不断堆积“技术债”? 今天分享一位拥有 7 年 Amazon、Disney 大厂经验、现任创业公司 CTO 分享的实战指南。他把 Claude Code 当作每日主力工具,并总结出了一套高阶…

【滤波跟踪】基于EkF和无迹卡尔曼滤波(UKF)的目标跟踪Matlab代码,核心是利用笛卡尔坐标系下的状态转移模型处理位置、速度等状态估计

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和数学建模资料 &#x1f34…

Pixel Streaming 实战配置

目录 Pixel Streaming 配置分辨率 Pixel Streaming 配置分辨率 (1) 命令行参数) 启动 UE5 的 Pixel Streaming 服务器时,可以在命令行里加: PixelStreamingURLhttp://127.0.0.1:8888 ResX1920 ResY1080 或者在 Windows 打包的 .exe 后面:…

SpringBoot的高校宣讲会管理系统

博主介绍:✌ 专注于Java,python,✌关注✌私信我✌具体的问题,我会尽力帮助你。一、研究目的本研究旨在设计并实现一个基于SpringBoot的高校宣讲会管理系统,以提升高校宣讲会的组织效率和管理水平。具体研究目的如下: 首先&#xf…

Pixel Streaming 实战配置

目录 Pixel Streaming 配置分辨率 Pixel Streaming 配置分辨率 (1) 命令行参数) 启动 UE5 的 Pixel Streaming 服务器时,可以在命令行里加: PixelStreamingURLhttp://127.0.0.1:8888 ResX1920 ResY1080 或者在 Windows 打包的 .exe 后面:…

Flow-Planner代码阅读(2):数据加载

一、数据加载 dataset 代码在flow_planner/data/dataset/nuplan.py中,类名NuPlanDataset(),通过__getitem__()函数随机获取某一帧数据。def __getitem__(self, idx) -> NuPlanDataSample:data np.load(os.path.join(self.data_dir, self.data_list[i…

四策略融合改进SSA优化BP神经网络分类预测(MISSA-BP) 改进点文献 目前相关分类文章...

四策略融合改进SSA优化BP神经网络分类预测(MISSA-BP) 改进点文献 目前相关分类文章数量中外都不是很多 改进创新足,抓紧入手抓紧发个人感觉英文开源中文核心都不是问题 改进点:中文注释清晰 融合spm映射、自适应-正余弦算法、levy机制、步长因子动态调整…

数据服务开源-SqlRest 1.6 idea中启动 (pg版)

核心参考mysql版部署:SqlRest数据服务项目基于Idea开发环境搭建https://blog.csdn.net/wen811651208/article/details/156546012 主要的修改点在于 环境变量中的数据库类型 和 连接参数。由于 SqlRest 是一个通用的数据服务中间件,切换数据库通常只需要修改对应的连…

ACO-KELM回归预测MATLAB代码:基于电厂运行数据的优化与实现

ACO蚁群算法优化KELM核极限学习机(ACO-KELM)回归预测MATLAB代码 代码注释清楚。 main为主程序,可以读取EXCEL数据。 很方便,容易上手。 (电厂运行数据为例)老铁们今天带大家玩点硬核的——用蚂蚁找食物的…

2026年,我们如何用AI提前看见未来?脉脉「脉向AI」带来新思考

💡 核心观点:在AI时代,真正的安全感不来自固守已有技能,而来自持续预判未来的能力。先一步看见未来的人,将掌握职业发展的主动权。 目录 🌊 引言:站在AI浪潮的临界点上 📊 一组扎心…

通信原理篇---多径效应

我们用“回声听不清说话”这个生活场景,来彻底讲懂多径效应。核心比喻:在山谷里喊话想象一下,你站在一个 有很多高大建筑物的山谷(或一个大厅) 里,对着远处的朋友喊一句话:“我们几点吃饭&#…

探索三相PWM整流器的双闭环控制实现

三相PWM整流器,采用双闭环控制,用C语言实现PI控制,SVPWM等模块。在电力电子领域,三相PWM整流器因其能够实现能量双向流动、单位功率因数运行等优点,应用愈发广泛。今天咱们就聊聊基于双闭环控制,并用C语言实…

基于三菱PLC和组态王恒温控制系统的设计:加热炉温度控制的梯形图程序、接线图原理图、IO分配及...

基于三菱PLC和组态王恒温控制系统的设计加热炉温度控制 带解释的梯形图程序,接线图原理图图纸,io分配,组态画面三伏天里给车间加热炉做恒温控制,那酸爽就跟抱着暖气片吃火锅似的。今天咱们来聊聊基于三菱FX3U PLC和组态王的温度控…

电能质量扰动识别,通过S变换对电能质量扰动(谐波,闪变,暂升等单一扰动和复合扰动)进行变换得到时频图

电能质量扰动识别,通过S变换对电能质量扰动(谐波,闪变,暂升等单一扰动和复合扰动)进行变换得到时频图,并对其进行特征提取,通过决策树对所提取的特征识别分类,达到对电能质量扰动的识…

基于MATLAB/Simulink的移相变压器仿真模型探索:Phase_Shift_T

Phase_Shift_T:基于MATLAB/Simulink的移相变压器仿真模型,可实现-25、-15……25的移相。 变压器副边实现36脉波不控整流,变压器网侧电压、阈侧电压以及移相角度可直接设置。 仿真条件:MATLAB/Simulink R2015b最近在研究电力系统相…

光伏并网发电系统MATLAB/Simulink仿真设计。 该仿真包括电池,BOOST升压电路...

光伏并网发电系统MATLAB/Simulink仿真设计。 该仿真包括电池,BOOST升压电路,单相全桥逆变电路,电压电流双闭环控制部分;应用MPPT技术,提高光伏发电的利用效率。 采用PI调节方式进行闭环控制,采用定步长扰动…

通信原理篇---频率选择性衰落:最大时延差,相关带宽

核心比喻:用“阅兵方阵”过“混乱之门” 想象一个阅兵方阵,它非常整齐: 士兵们肩并肩排成一条横排(这代表信号的一个频率分量)。 方阵以整齐的步伐向前迈进(这代表信号在传输)。 现在&#…

不平衡电压下的DSOGI - PLL锁相环C语言实现及STM32F407验证

锁相环纯代码(C语言),不平衡电压下的锁相环,采用双二阶广义积分器(DSOGI-PLL),整个系统由simulink中的s-function模块进行编写,采用C语言进行编写,包括整个系统离散化&am…