机械臂速成小指南(十七):直线规划
​‍需要机械臂相关资源的同学可以在我的CSDN主页中找到哦指南目录机械臂速成小指南零点五机械臂相关资源机械臂速成小指南零指南主要内容及分析方法机械臂速成小指南一机械臂发展概况机械臂速成小指南二机械臂的应用机械臂速成小指南三机械臂的机械结构机械臂速成小指南四机械臂关键部件之减速机机械臂速成小指南五末端执行器机械臂速成小指南六步进电机驱动器机械臂速成小指南七机械臂位姿的描述方法机械臂速成小指南八运动学建模标准DH法机械臂速成小指南九正运动学分析机械臂速成小指南十可达工作空间机械臂速成小指南十一坐标系的标准命名机械臂速成小指南十二逆运动学分析机械臂速成小指南十三轨迹规划概述机械臂速成小指南十四多项式插值轨迹规划机械臂速成小指南十五线性规划机械臂速成小指南十六带抛物线过渡的线性规划机械臂速成小指南十七带抛物线过渡的线性规划机械臂速成小指南十九机械臂的电路板抓取实验机械臂速成小指南二十机械臂的位姿重复性实验机械臂速成小指南二十一几何雅可比矩阵机械臂速成小指南二十二机械臂逆运动学的数值解方法机械臂速成小指南二十三Paul方法求解机械臂运动学逆解含matlab代码以下为正文在前面的章节中我们介绍了三种常见的关节空间轨迹规划方法多项式插值轨迹规划、线性规划以及带抛物线过渡的轨迹规划。下面我们将开始介绍笛卡尔空间轨迹规划方法本篇文章主要介绍直线规划。一、理论分析1.什么是笛卡尔空间轨迹规划三维空间过定点O作三条互相垂直的数轴它们都以O为原点且一般具有相同的长度单位。这三条轴分别叫做x轴(横轴、y轴(纵轴)、z轴(竖轴)统称坐标轴。通常把x轴和y轴配置在水平面上而z轴则是铅垂线它们的正方向要符合右手规则即以右手握住z轴当右手的四指从正向x轴以π/2角度转向正向y轴时大拇指的指向就是z轴的正向这样的三条坐标轴就组成了一个空间直角坐标系点O叫做坐标原点。这样就构成了一个笛卡尔坐标。当我们使用关节空间轨迹规划时末端执行器在空间中一定会经过我们设定好的轨迹点但在两个轨迹点之间的轨迹形状我们无法确定。在加工工件、规避障碍等工作场景下我们必须明确机械臂在起始点与目标点之间的轨迹形状这时我们必须从笛卡尔空间入手确定末端执行器在笛卡尔空间中的轨迹函数即笛卡尔空间轨迹规划。每个路径点通常由工具坐标系相对于工作台坐标系的期望位姿来确定。使用笛卡尔空间轨迹规划时形成轨迹的样条函数是描述笛卡尔变量的随时间变化的函数。这些路径可直接根据我们指定的路径点进行规划这些路径点是由{T}相对于{S}来描述的无需事先进行逆运动学求解。值得注意的是笛卡尔空间轨迹规划计算量很大因为在运行时必须以实时更新路径的速度求出运动学逆解——即在笛卡尔空间生成路径后最后一步要通过求解逆运动学来得到对应的关节变量。2.直线规划在机械臂作业过程中我们常希望末端执行器在空间中距离较远的两点间作直线运动而对应的轨迹规划方法称为直线规划。首先考虑对位置的插补。当起始点与目标点的坐标已知时我们可以确定由起始点指向目标点的向量其模值等于两点在笛卡尔空间中的距离。根据精度要求以及规划效率的要求确定从直线轨迹上取得n个轨迹点由起始点指向第i个路径点的向量表示为则可得到末端执行器位于第i个轨迹点时的坐标为下一步我们需要考虑对姿态的插补。我们首先将起始姿态到目标姿态的变化看作是由工具坐标系绕一个固定轴旋转得到的。设起始姿态对应旋转矩阵为R0目标姿态对应旋转矩阵为Rf则该固定轴可表示为而机械臂末端执行器绕其所旋转角度为二、程序仿真使用MATLAB对直线规划进行仿真路径点个数为50且选取与前几篇文章中一致的起始点与终止点。机械臂轨迹规划之笛卡尔空间直线规划matlab仿真程序第一步定义六自由度机械臂的DH参数%定义关节角度限制 lim1_min-170*radian1;lim1_max170*radian1;%关节1(-170170)lim2_min-132*radian1;lim2_max0*radian1;%关节2(-1320)lim3_min1*radian1;lim3_max141*radian1;%关节3(1141)lim4_min-165*radian1;lim4_max165*radian1;%关节4(-165165)lim5_min-105*radian1;lim5_max105*radian1;%关节5(-105105)lim6_min-155*radian1;lim6_max155*radian1;%关节6(-155155)%定义关节旋转范围 lim1lim1_max-lim1_min;lim2lim2_max-lim2_min;lim3lim3_max-lim3_min;lim4lim4_max-lim4_min;lim5lim5_max-lim5_min;lim6lim6_max-lim6_min;%D-H参数表 theta10;d1169.77;a164.2;alpha1-pi/2;offset10;theta20;d20;a2305;alpha20;offset20;theta30;d30;a30;alpha3pi/2;offset3pi/2;theta40;d4-222.63;a40;alpha4-pi/2;offset40;theta50;d50;a50;alpha5pi/2;offset50;theta60;d6-36.25;a60;alpha60;offset6-pi;第二步机械臂运动学建模L(1)Link([theta1,d1,a1,alpha1],standard);L(2)Link([theta2,d2,a2,alpha2],standard);L(3)Link([theta3,d3,a3,alpha3],standard);L(4)Link([theta4,d4,a4,alpha4],standard);L(5)Link([theta5,d5,a5,alpha5],standard);L(6)Link([theta6,d6,a6,alpha6],standard);%关节偏置L(3).offset-pi/2;L(6).offsetpi;%定义关节范围L(1).qlim[lim1_min,lim1_max];L(2).qlim[lim2_min,lim2_max];L(3).qlim[lim3_min,lim3_max];L(4).qlim[lim4_min,lim4_max];L(5).qlim[lim5_min,lim5_max];L(6).qlim[lim6_min,lim6_max];robot2SerialLink(L,name,AR3);第三步定义轨迹的起始点、终止点及步数T1transl(-100,-100,300);%起始点齐次变换矩阵 T2transl(200,-200,400);%终止点齐次变换矩阵 init_angrobot2.ikine(T1);%运动学逆解 targ_angrobot2.ikine(T2);%运动学逆解 step50;%步数第四步直线规划Tcctraj(T1,T2,step);%直线规划得到每一步的T阵 qrobot2.ikine(Tc);%运动学逆解figure(f)plot3(squeeze(Tc(1,4,:)),squeeze(Tc(2,4,:)),squeeze(Tc(3,4,:)));%输出末端轨迹title(直线轨迹);Trobot2.fkine(q);%运动学正解 robot2.plot(q);%动画演示效果如下所示三、编程实现核心思路就是找到由起始点指向目标点的向量并在其上求取轨迹点的坐标进而通过逆运动学求解得到对应的关节变量。下方为需要用到的两个简单的核心函数defCalcLinDist(X2,Y2,Z2):#计算目标点到当前点的线段长度globalXcurPosglobalYcurPosglobalZcurPosglobalLineDist X1XcurPos Y1YcurPos Z1ZcurPos LineDist(((X2-X1)**2)((Y2-Y1)**2)((Z2-Z1)**2))**.5return(LineDist)defCalcLinVect(X2,Y2,Z2):#计算由当前点指向目标点的向量globalXcurPos#当前的globalYcurPos#当前的globalZcurPos#当前的globalXvglobalYvglobalZv X1XcurPos Y1YcurPos Z1ZcurPos XvX2-X1 YvY2-Y1 ZvZ2-Z1return(Xv,Yv,Zv)需要仿真代码的同学可以在我的CSDN主页中找到哦

相关新闻

百度TTS语音合成实战指南:从API集成到高级调优

百度TTS语音合成实战指南:从API集成到高级调优

1. 项目概述:从零到一,掌握百度TTS语音合成如果你正在开发一个需要“说话”的应用,无论是智能客服、有声读物、还是辅助阅读工具,语音合成(TTS)技术都是绕不开的一环。市面上方案很多,但百度智能…

2026/8/25 7:51:30 阅读更多 →
百度TTS语音合成实战:从API调用到工程化集成的完整指南

百度TTS语音合成实战:从API调用到工程化集成的完整指南

1. 项目概述:从文本到声音的桥梁搭建最近在折腾一个需要语音播报功能的小项目,从简单的设备状态提示到有声内容生成,都绕不开一个核心组件:TTS(Text-to-Speech,文本转语音)。市面上方案很多&…

2026/8/25 7:51:30 阅读更多 →
语义分割边缘优化实战:从损失函数到后处理的完整解决方案

语义分割边缘优化实战:从损失函数到后处理的完整解决方案

1. 项目概述:为什么“边缘”是语义分割的阿克琉斯之踵?做计算机视觉,特别是语义分割的朋友,肯定都遇到过这个让人头疼的问题:模型预测出来的物体边缘,总是毛毛糙糙、参差不齐,像被狗啃过一样。明…

2026/8/25 7:51:30 阅读更多 →

最新新闻

爬虫如何绕过TLS/JA3/HTTP2指纹检测:curl_cffi实战指南

爬虫如何绕过TLS/JA3/HTTP2指纹检测:curl_cffi实战指南

1. 项目概述:当爬虫遇上“指纹”墙 最近在折腾一个数据采集项目时,我遇到了一个典型的现代反爬虫壁垒:请求被精准识别并拦截。服务器不再仅仅检查你的User-Agent或者IP频率,它开始像侦探一样,检查你握手时留下的“指纹…

2026/8/26 9:59:48 阅读更多 →
基于OpenClaw与Ralph Loop的MCP Server自动化开发实践

基于OpenClaw与Ralph Loop的MCP Server自动化开发实践

1. 项目缘起:当“自动化开发”遇上“MCP Server”最近在折腾一个挺有意思的东西,想和大家分享一下。起因是我们团队内部有几个高频使用的内部工具和API,每次开发新功能或者排查问题,都得去翻一堆文档,或者写一些重复的…

2026/8/26 9:59:48 阅读更多 →
LoRA微调技术详解:低秩自适应原理、实战与避坑指南

LoRA微调技术详解:低秩自适应原理、实战与避坑指南

1. 项目概述:为什么我们需要LoRA? 如果你最近在折腾大模型,无论是想让它帮你写代码、画图,还是回答专业问题,大概率都听过一个词:微调。简单说,微调就是给一个已经“学富五车”的通用大模型“开…

2026/8/26 9:59:48 阅读更多 →
嵌入式计算新趋势:从MCU到异构SoC与边缘AI

嵌入式计算新趋势:从MCU到异构SoC与边缘AI

1. 从“控制盒子”到“边缘大脑”:嵌入式计算的能力边界正在重写 两三年前参加项目交流时,还经常听到一种判断:嵌入式计算嘛,就是单片机加传感器,把逻辑写稳、把功耗压住,剩下的交给云端。这话放在十年前完…

2026/8/26 9:59:48 阅读更多 →
动态表单系统设计:从元数据驱动到生产实践全解析

动态表单系统设计:从元数据驱动到生产实践全解析

1. 项目概述:为什么动态表单是绕不开的“硬骨头”做过后端开发或者复杂业务系统前端的朋友,对“动态表单”这个词一定不陌生。它不像一个具体的功能按钮,点一下就有反应,而更像一个隐藏在系统深处的“基础设施”。业务方今天说要加…

2026/8/26 9:59:48 阅读更多 →
大模型Agent可观测性实践:从黑盒炼丹到白盒炼钢

大模型Agent可观测性实践:从黑盒炼丹到白盒炼钢

1. 从“炼丹”到“炼钢”:为什么大模型Agent需要可观测性最近跟几个做AI应用落地的朋友聊天,大家聊起大模型Agent,都感觉像在“炼丹”。模型选型、Prompt调优、工具调用,每个环节都充满了不确定性。好不容易在测试环境跑通了&…

2026/8/26 9:58:43 阅读更多 →

日新闻

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

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

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

2026/8/26 0:00:40 阅读更多 →
《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)

《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)

《Microsoft Sql server 2008 Internals》索引目录: 《Microsoft Sql server 2008 Internals》读书笔记--目录索引 在上篇文章中,主要介绍了创建数据库的基本语法和FileGroup的初步知识。需要注意的是: 关于FileGroup 如果你的系统是用Raid设备直接存…

2026/8/26 1:18:18 阅读更多 →
政务AI智能体怎么建?三种模式、三步路径与四个误区

政务AI智能体怎么建?三种模式、三步路径与四个误区

政务AI智能体已经从概念试点阶段,转入了政务服务的常态化落地应用;在实际使用过程中,它能自主理解办事需求、辅助完成填报申报、开展材料预审,并联动多个系统协同作业,真正嵌入到政务办理的全流程当中。但在落地推进过…

2026/8/26 1:18:18 阅读更多 →

周新闻

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

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

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

2026/8/25 3:38:12 阅读更多 →
SIP通话转接原理与REFER方法实战解析

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

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

2026/8/25 3:38:18 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

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

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

2026/8/25 3:38:23 阅读更多 →

月新闻

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

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

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

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

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

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

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

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

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

2026/8/26 1:24:05 阅读更多 →