位置: IT常识 - 正文

六自由度机器人(机械臂)运动学建模及运动规划系列(四)——轨迹规划(六自由度机器人简图)

编辑:rootadmin
六自由度机器人(机械臂)运动学建模及运动规划系列(四)——轨迹规划 本篇目录一、轨迹规划概述二、关节空间规划1. 点对点规划2. 多节点规划示例程序三、笛卡尔空间规划1. 速度规划2. 位置规划3. 姿态插补4. 基于几何解法的一种简化位置规划方法5.两种规划的Matlab程序四、小结一、轨迹规划概述

推荐整理分享六自由度机器人(机械臂)运动学建模及运动规划系列(四)——轨迹规划(六自由度机器人简图),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:六自由度机器人实验报告,六自由度机器人在各个工业场合的应用,六自由度机器人设计过程-范例,六自由度机器人设计过程-范例,六自由度机器人dh参数,六自由度机器人结构简图,六自由度机器人工作原理,六自由度机器人结构简图,内容如对您有帮助,希望把文章链接给更多的朋友!

对机器人进行轨迹规划的主要任务是,根据机器人的工作环境和工作任务要求,求得一系列机器人末端位姿变换的时间序列,使得机器人末端可以正确地从初始姿态沿着期望的轨迹运动到终止位姿,完成工作任务,。对于六自由度的机器人来说,轨迹规划要解决的关键问题是将末端位姿的变换转变为六个关节变量的变换,这也是其与移动机器人轨迹规划的不同之处。 进行轨迹规划的方法有两种:一种是在关节空间进行规划,另一种是在笛卡尔空间,即直角坐标空间进行规划。 (1)关节空间规划是通过确定各个关节转角变化序列,从而规划机械臂末端的空间运动轨迹。其优点是只用对六个关节变量分别进行规划,计算简单,但不能精确地控制机械臂末端的位姿变化。 (2)笛卡尔空间规划就是对机械臂末端的位姿变化直接进行规划,在得到机械臂末端在某一时刻的位姿后,利用逆运动学方程直接求出此刻各个关节转角变量的值。其优点是机械臂末端的轨迹易于观察,可以更精确控制地控制末端轨迹,同时避免末端执行器与空间障碍物发生碰撞。但缺点是需要进行大量的逆运动学计算,并且需要选取大量的中间插值点以得到精确的末端轨迹,控制过程复杂。

二、关节空间规划

机器人关节空间规划一般分为点对点规划和多节点规划。

1. 点对点规划

当给定起始点和终止点的约束条件,需要求出连接两点的轨迹时,这样的问题称为点对点轨迹规划。常用的点对点轨迹规划方法有三次多项式规划,五次多项式规划等。这里采用五次多项式进行规划,其一般形式为: 六个未知数需要给定六个约束条件,分别为起点和终点的角位移,角速度和角加速度。约束条件的方程为: 求解方程组,得到六个未知数,其中T=(te-ts)。 将参数代入到五次多项式中,得到所求轨迹。

2. 多节点规划

当给定除起点和终点外,若干个中间点的约束条件,需要求出经过所有点的轨迹时,这样的问题称为多节点轨迹规划。进行多节点规划时,可以将多节点分段,每段有两个节点,对每段分别进行点对点规划。即多节点规划可以看作多段点对点规划的组合。 为了保证机器人平稳运行,在多节点规划时,一种有效的方法是使中间连接点处的角位移,角速度和角加速度相同。在这种情况下依然可以采用五次多项式规划。只需要给出每个节点处的角位移,角速度和角加速度条件,按照上一节中的方法,求出每段轨迹的六个参数,代入轨迹方程中,即可得到所求轨迹。

示例程序

这里对六个关节角进行多节点规划,一共给定四个节点的角度,角速度和角加速度条件,其中一段的规划程序如下:

for i=1:3 %每一段规划的时间 T=t_array(i+1)-t_array(i); a10=q1_array(i); a11=v_array(i); a21=a_array(i)/2; a31=(20*q1_array(i+1)-20*q1_array(i)-(8*v_array(i+1)+12*v_array(i))*T-(3*a_array(i)-a_array(i+1))*T2)/(2*T3); a41=(30*q1_array(i)-30*q1_array(i+1)+(14*v_array(i+1)+16*v_array(i))*T+(3*a_array(i)-2*a_array(i+1))*T2)/(2*T4); a51=(12*q1_array(i+1)-12*q1_array(i)-(6*v_array(i+1)+6*v_array(i))*T-(a_array(i)-a_array(i+1))*T2)/(2*T5);%计算五次多项式系数 ti=t_array(i):0.01:t_array(i+1); qi=a10+a11*(ti-t_array(i))+a21*(ti-t_array(i)).2+a31*(ti-t_array(i)).3+a41*(ti-t_array(i)).4+a51*(ti-t_array(i)).5; vi=a11+2*a21*(ti-t_array(i))+3*a31*(ti-t_array(i)).2+4*a41*(ti-t_array(i)).3+5*a51*(ti-t_array(i)).4; ai=2*a21+6*a31*(ti-t_array(i))+12*a41*(ti-t_array(i)).2+20*a51*(ti-t_array(i)).3; t=[t,ti(2:end)];q=[q,qi(2:end)];v1=[v1,vi(2:end)];a1=[a1,ai(2:end)];end六自由度机器人(机械臂)运动学建模及运动规划系列(四)——轨迹规划(六自由度机器人简图)

角度规划结果如图所示 完整的示例代码如下所示: 四节点五次多项式规划完成代码。

三、笛卡尔空间规划

在进行机器人笛卡尔空间轨迹规划时,一般的方法为: (1)根据机械臂末端起点和终点的轨迹,确定一条从起点到终点的路径。 (2)确定插补点的个数,进而确定路径上的若干中间点。 (3)由一系列的机械臂末端坐标进行逆运动学计算,求解出六个关节转角的变化情况。 这种方法称为数值解法。 主要涉及到三个方面的规划:

1. 速度规划

由力学原理可知,机器人在运动过程中如果出现加速度突变的情况,会产生机械冲击,导致机器人关节磨损。因此在进行轨迹规划时,首先需要对各关节进行速度规划,保证运行过程中加速度连续变化。 S曲线是适用于此种情况的速度曲线,整段曲线由抛物线和直线段组成,对应的加速度曲线连续。S曲线一般有三段,五段和七段S曲线三种,七段S曲线包括七个阶段,其在满足加速度连续的基础上,还有两端加速度恒定的过程,运动更加平稳。七段S曲线的计算方法采用分类讨论法,示意曲线为: 除了S曲线外,也可以使用多项式曲线等等。

2. 位置规划

位置规划指对机械臂末端的轨迹进行规划,一般采用直线插补和圆弧插补以及这两种的组合进行规划。 (1)直线插补 目的是使机械臂末端的轨迹为一段直线,具体步骤非常简单:只需将起点与终点直线连接,然后根据所需的精度确定插补点的个数,最后确定每一个插补点的坐标即可。 (2)圆弧插补 由于空间中的圆弧轨迹插补比较复杂,因此可以采用这样的步骤: 1)首先根据起点终点与圆心确定一个新的平面; 2)接着以建立的平面为基准,建立一个新的坐标系; 3)确定新坐标系与末端坐标系之间的转换关系; 4)在新坐标系里完成平面圆弧插补,确定每个插补点的坐标; 5)根据坐标转化关系,得到末端坐标下的三维插补点坐标。 直线插补和圆弧插补的运动示意图如下:

3. 姿态插补

在机器人运行过程中,有些场景的末端姿态不发生变化,如打磨等,但在执行较复杂的工作时,末端姿态在运动过程中也会变化,如复杂的焊接过程等等。姿态规划的任务时,根据机械臂末端起始点和终止点的姿态,规划出合理的姿态变化过程,以满足特定的约束条件(如避障,工作任务约束等)。 规划时,一种方法是采用四元数进行规划,具体方法我当时没有具体研究,有需要的小伙伴可以自行探索。

4. 基于几何解法的一种简化位置规划方法

前文介绍的位置插补规划方法原理简单,但缺点是需要进行大量的逆运动学计算。这里根据机器人运动过程的特殊性,提出了一种几何求解法,对问题求解进行了简化。 (1)首先讨论平面内的竖直运动过程: 由正运动学分析可知,关节转角θ1只与机械臂末端的横纵坐标有关,因此在竖直运动过程中θ1保持不变。另外,在运动过程中,末端的姿态保持不变,由机器人关节的结构可知,关节转角θ4与θ6为定值。经过以上分析,竖直方向的运动只需研究剩下的三个关节转角的变化,这三个转角的相对关系如上图所示。 图中定义了两个角度α1,α2及一个长度l,当起始点和终止点给定时,l为定值。他们与关节转角θ2,θ3,θ5的关系如下式所示: 得到以上关系后,进行规划时,只需对起点和终点的末端坐标进行两次逆运动学计算,得到其中一个关节角的起点和终点坐标,接着对其进行插补,得到中间插补点的角度,最后根据关节角之间的关系,得到其他关节角的一系列角度。 最后得到的杆件仿真图如下: (2)平面内的水平直线运动 图中定义了一个高度差∆h,当轨迹起始点和终止点给定,式中∆h为定值。同样的,运动过程中,关节角的关系为: 通过计算得到的杆件仿真图如下: 将这两种运动与关节1的运动组合,就可以形成不同的末端轨迹,以实现简单运动情况下的位置规划。 具体的代码如下所示: 基于简化几何解法的位置规划,包括水平直线运动和竖直直线运动

5.两种规划的Matlab程序

Matlab提供了jtraj和ctraj两种函数,分别用于笛卡尔空间以及关节空间的轨迹规划。两者的使用格式分别为: (1)关节空间规划

[q ,qd, qdd]=jtraj(q1,q2,50)

给定q1,q2分别为起始点和终止点的关节角,50为插补点个数。得到的q,qd,qdd,分别为关节角度,角速度以及角加速度系列。 (2)笛卡尔空间规划

Tc=ctraj(p1,p2,step)

给定p1,p2为起始点和终止点的四乘四位姿矩阵,step为插补点个数,得到的Tc为一系列中间姿态矩阵。 这里利用两个函数,进行一个简单的规划示例:

clear;clc;%建立机器人模型L1=Link([0 0.4 0.025 pi/2 0 ]); L2=Link([pi/2 0 0.56 0 0 ]);L3=Link([0 0 0.035 pi/2 0 ]);L4=Link([0 0.515 0 pi/2 0 ]);L5=Link([pi 0 0 pi/2 0 ]);L6=Link([0 0.08 0 0 0 ]);robot=SerialLink([L1 L2 L3 L4 L5 L6],'name','kaw');T1=transl(0.5,0,0);%起始点位姿T2=transl(0,-0.5,0);%终止点位姿q1=robot.ikine(T1);%起始点关节角q2=robot.ikine(T2);%终止点关节角%关节空间顾规划[q ,qd, qdd]=jtraj(q1,q2,50); T=robot.fkine(q);%根据插值,得到末端执行器位姿figure(1)robot.plot(q);%动画演示%笛卡尔空间顾规划Tc=ctraj(T1,T2,20);for i=1:20 qc(i,:)=robot.ikine(Tc(:,:,i));endfigure(2)robot.plot(qc);四、小结

本篇介绍了六轴机器人关节空间以及笛卡尔空间轨迹规划的简单方法,并给出了一种几何解法,以简化规划过程,并提供了简单的Matlab轨迹规划函数介绍。

本文链接地址:https://www.jiuchutong.com/zhishi/295885.html 转载请保留说明!

上一篇:API 低代码开发:接口大师,一套开发、管理和提供接口的产品框架(低代码开发开源)

下一篇:持续集成——web自动化测试集成实战(持续集成的步骤)

  • 消除电商竞争压力,购物中心的四项修炼(电商竞争激烈)

    消除电商竞争压力,购物中心的四项修炼(电商竞争激烈)

  • 原谅我曾经想过你给的我自己歌名(原谅我曾经想过你给的)(原谅我曾经想过你的给的是我的什么意思)

    原谅我曾经想过你给的我自己歌名(原谅我曾经想过你给的)(原谅我曾经想过你的给的是我的什么意思)

  • 群聊窗口显示头衔修改失败(群聊点开头像不显示微信号)

    群聊窗口显示头衔修改失败(群聊点开头像不显示微信号)

  • 剪映怎么搜索模版(剪映怎么搜索模板内容)

    剪映怎么搜索模版(剪映怎么搜索模板内容)

  • 交易猫退款要退多久(交易猫退款退手续费吗)

    交易猫退款要退多久(交易猫退款退手续费吗)

  • bilibili不能投屏(bilibili不能投屏的办法)

    bilibili不能投屏(bilibili不能投屏的办法)

  • 蚂蚁能量296g要走多少步(蚂蚁能量266g)

    蚂蚁能量296g要走多少步(蚂蚁能量266g)

  • 闲鱼是什么平台(闲鱼是什么平台安全吗)

    闲鱼是什么平台(闲鱼是什么平台安全吗)

  • 一个硒鼓能打印多少张a4(打印机硒鼓多少钱一个)

    一个硒鼓能打印多少张a4(打印机硒鼓多少钱一个)

  • 抖音移出粉丝对方还能找到自己吗(抖音移出粉丝对方还能私信吗)

    抖音移出粉丝对方还能找到自己吗(抖音移出粉丝对方还能私信吗)

  • 充电器头突然不能用了(充电器头突然不好使了怎么办)

    充电器头突然不能用了(充电器头突然不好使了怎么办)

  • iphone屏幕突然变成灰色(iphone屏幕突然变暗怎么回事)

    iphone屏幕突然变成灰色(iphone屏幕突然变暗怎么回事)

  • coloros5.2支持机型(coloros5.0支持机型)

    coloros5.2支持机型(coloros5.0支持机型)

  • bilibili缓存的视频在手机哪个文件夹(bilibili缓存的视频怎么转成mp4)

    bilibili缓存的视频在手机哪个文件夹(bilibili缓存的视频怎么转成mp4)

  • e5645相当于什么cpu

    e5645相当于什么cpu

  • java程序员是做什么的(java程序员做的都是mes项目)

    java程序员是做什么的(java程序员做的都是mes项目)

  • 全屏手机有哪几款(全屏幕的手机)

    全屏手机有哪几款(全屏幕的手机)

  • 华为mate20音量小怎么弄(华为mate20音量小解决)

    华为mate20音量小怎么弄(华为mate20音量小解决)

  • 小米手环1怎么重启(小米手环1怎么绑定手机)

    小米手环1怎么重启(小米手环1怎么绑定手机)

  • vma是什么(VMA是什么激素)

    vma是什么(VMA是什么激素)

  • 苹果手机花屏咋整(苹果手机花屏怎么解决方法)

    苹果手机花屏咋整(苹果手机花屏怎么解决方法)

  • i12 tws耳机是什么牌子的(i12耳机是什么意思)

    i12 tws耳机是什么牌子的(i12耳机是什么意思)

  • xsmax是什么屏幕(xsmax换屏幕多少钱)

    xsmax是什么屏幕(xsmax换屏幕多少钱)

  • 安装了搜狗输入法切不出来(安装了搜狗输入法打不出汉字)

    安装了搜狗输入法切不出来(安装了搜狗输入法打不出汉字)

  • 电话停机了怎么办(电话停机了怎么知道号码)

    电话停机了怎么办(电话停机了怎么知道号码)

  • python中对序列的元素进行反转(关于python序列类型)

    python中对序列的元素进行反转(关于python序列类型)

  • 组织员工活动方案
  • 事业单位长期股权投资持有期间被投资单位
  • 成本结算怎么处理?
  • 息税前利润怎么算
  • 一张报关单可以分两次退税吗
  • 税款所属期什么意思
  • 网约车有电子发票吗
  • 租赁费进项税可以抵扣吗
  • 冲红票需要给购方吗
  • 签章是签字还是盖章z还是手印
  • 应税劳务和应税服务不合理列支的有哪些
  • 票据贴现的账务处理案例
  • 教育服务增值税纳税义务发生时间
  • 日用品发票能报销吗
  • 开办生产建设项目
  • 公司如何向税务部门举报
  • 现金交易的发票可以认证
  • 财会【2016】22号文
  • 汇算所得税中“以前年度多缴的所得税额在本年抵减额”怎么填 ?
  • 小规模纳税人核定征收标准
  • 请问什么是全员安全生产责任制
  • 本月没有发生额本月合计
  • 收取现金后的收入怎么算
  • 回盘的模板
  • 股权收益需要缴增值税吗
  • 金三接口调用失败怎么办?
  • 小企业的费用应当在发生时计入当期损益
  • 欧拉操作系统和龙蜥哪个好用
  • 合伙企业需要交哪些税
  • 跨年的费用可以直接入账吗
  • 非常损失计入
  • 研发费用没有发票可以加计扣除吗
  • 房产开发企业涉及税种
  • 房屋装修各项费用比例
  • 固定资产一览表
  • 计算所得税不得扣除的税金
  • sftp命令大全
  • 出口抵减内销产品应纳税额怎么结转
  • mysql 长事务
  • 客服部门发生的费用
  • 工程结算期末有余额吗?
  • 车费增值税税率
  • 工程发票可以开清单吗?
  • js调用自己
  • json转pojo
  • 辅助生产车间照明费用计入什么科目
  • 林木的培育和种植免征企业所得税
  • 税务相关政策的解读
  • mysql改造
  • 厂家给经销商的补贴怎么开票
  • 个人如何开增值税普通电子发票
  • 固定资产多少钱算固定资产
  • 银行代发工资当天改工资卡来得及吗
  • 出口退税的范围是多少
  • 困难补助属于兜底政策吗
  • 开业赠送礼品会计属于什么费用
  • 购买土地会计分录及摊销分录
  • 房地产企业会计核算和税务处理大全
  • sql语句学习
  • 如何设置windows
  • Fedora Core 8中yum设置
  • ubuntu16.04远程连接
  • windows 7光盘
  • Skype.exe - Skype是什么进程 有什么用
  • url是什么文件怎么打开
  • win7总是弹出广告怎么办
  • nodejs 获取文件名
  • eclipce System.loadLibrary报错
  • js怎么理解
  • linux tcp keepalive
  • jquery分页组件
  • linux什么是二进制文件
  • 清理服务器c盘
  • dos 到指定目录
  • node.js app
  • Android Studio cvs 状态颜色
  • 专项附加扣除可以退多少钱
  • 定额发票是什么票据类型
  • 四川国税局局长是谁
  • 军人残疾证家属享受待遇吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设