位置: 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自动化测试集成实战(持续集成的步骤)

  • 掌上智微头条号(掌上空调)(微头条自媒体平台登录)

    掌上智微头条号(掌上空调)(微头条自媒体平台登录)

  • 闲鱼买家收货后玩消失(闲鱼买家收货后钱打到哪里)

    闲鱼买家收货后玩消失(闲鱼买家收货后钱打到哪里)

  • 微信文件发出去别人收不到怎么办(微信文件发出去收不到)

    微信文件发出去别人收不到怎么办(微信文件发出去收不到)

  • iphone深夜模式在哪(iphone深色模式在哪)

    iphone深夜模式在哪(iphone深色模式在哪)

  • cpu224型plc本机i/o点数为(cpu 214型plc本机)

    cpu224型plc本机i/o点数为(cpu 214型plc本机)

  • iphone充电自动开机(iphone充电自动开机是怎么回事)

    iphone充电自动开机(iphone充电自动开机是怎么回事)

  • 抖音发朋友圈怎么不清晰(抖音发朋友圈怎么发完整版)

    抖音发朋友圈怎么不清晰(抖音发朋友圈怎么发完整版)

  • 抖音的发现在哪里(抖音的发现在哪里找?)

    抖音的发现在哪里(抖音的发现在哪里找?)

  • 承载lte需要打开吗(承载系统lte打开费流量吗)

    承载lte需要打开吗(承载系统lte打开费流量吗)

  • 怎样避免微信分身封号(怎样避免微信分身登录)

    怎样避免微信分身封号(怎样避免微信分身登录)

  • 11pro可以用普通充电器吗(11pro可以用普通充电线吗)

    11pro可以用普通充电器吗(11pro可以用普通充电线吗)

  • word上角标怎么弄(word上角标怎么去掉)

    word上角标怎么弄(word上角标怎么去掉)

  • 快手怎么设置置顶(快手怎么设置置顶作品视频)

    快手怎么设置置顶(快手怎么设置置顶作品视频)

  • 探探好友没了怎么恢复(探探好友没了怎么找到他)

    探探好友没了怎么恢复(探探好友没了怎么找到他)

  • 苹果xmax电池容量(iphone x x max电池容量)

    苹果xmax电池容量(iphone x x max电池容量)

  • 实时位置共享怎么造假(实时位置共享怎么改变自己的位置)

    实时位置共享怎么造假(实时位置共享怎么改变自己的位置)

  • 金立手机媒体声音关了怎样打开(金立手机媒体声音设置)

    金立手机媒体声音关了怎样打开(金立手机媒体声音设置)

  • 手机限流了怎么办(手机限流了怎么弄)

    手机限流了怎么办(手机限流了怎么弄)

  • 表格工具栏怎么显示(表格工具栏怎么放大)

    表格工具栏怎么显示(表格工具栏怎么放大)

  • airpods怎么呼叫siri(airpods怎么呼叫安卓语音助手)

    airpods怎么呼叫siri(airpods怎么呼叫安卓语音助手)

  • vivos1升降摄像头容易坏吗(vivos1升降摄像头拆卸分解图)

    vivos1升降摄像头容易坏吗(vivos1升降摄像头拆卸分解图)

  • oppok3充电速度(oppok3充电速度多少w)

    oppok3充电速度(oppok3充电速度多少w)

  • 部分MacBook Pro老用户更新macOS Big Sur出现故障(macbookpro常见问题)

    部分MacBook Pro老用户更新macOS Big Sur出现故障(macbookpro常见问题)

  • 微前端(无界)(什么是微前端)

    微前端(无界)(什么是微前端)

  • python中socket建立客户连接(python socketio)

    python中socket建立客户连接(python socketio)

  • 税控盘是什么东西多少钱
  • 外资研发中心认定标准
  • 会计运费怎么算的
  • 资产负债表季报本月数怎么填
  • 入资款印花税怎么计算
  • 开票就必须要交个税吗
  • 公司承担社保能放到生产成本里吗
  • 企业预缴的增值税收入算不算企业的销售收入
  • 残保金申报表中的上年工资总额指所属期的上一年吗
  • 发票查询校验码看不清怎么办
  • 企业自建房屋卖给职工怎么做账务处理
  • 工业企业生产费用要素一般有哪些
  • 外出采购材料分录
  • 所得税退税未办理可以注销吗?
  • 以物易物方式销售货物例题
  • 企业税收扣除标准
  • 房地产广告公司月费一般多少
  • 招标文件费开票品目
  • 资产减值损失是什么类科目
  • 税控盘技术维护费怎么抵扣
  • 前期认证相符且不符合
  • 环保税与排污费的关系
  • 电子产品怎么计税
  • 事业单位接受捐赠的货币资金在财务会计中确认捐赠收入
  • 小规模纳税人收到专票后如何处理
  • 即征即退和先征后退适用范围
  • 冲抵备用金
  • 没收的定金 会计分录
  • php上传进度条
  • php ftp函数
  • 存货 计价
  • 商业银行提取的贷款损失准备金
  • 收回已核销的坏账分录
  • php的fopen
  • 免税需要什么条件
  • 多模手机
  • opencv图像处理入门与实践pdf
  • php eval绕过
  • 企业购进固定资产,在安装完工交付使用时
  • 预付和挂账怎么做分录
  • java线程的四种基本状态
  • mysql索引是否生效
  • 优先股股息必须支付吗
  • mongodb如何查询数据
  • 外贸企业主要做什么
  • 金蝶财务软件库存商品数量金额再那查看
  • 开票机号可以随便填吗
  • 一般劳务报酬个人所得税退税吗
  • 开收据是财务还是出纳
  • 进项税大于销项税怎么做分录
  • 税务登记证证书编号是什么
  • 退款产生的手续费怎么算
  • 其他债权投资有没有减值准备
  • 本月增加的固定资产本月可以进行部门转移
  • 银行入息是入几个月的
  • 金蝶美金账户怎么删除
  • 为什么看科目四看不进去呀
  • 科目怎么写?
  • mysql字符集设置命令
  • win8怎么让我的电脑显示在桌面上
  • 跨网段加入域配置
  • win8系统没有声音
  • winxp和win7双系统安装
  • FNPLicensingService.exe是什么意思
  • win7为什么不能设置滑动关机
  • centos6.5怎么安装
  • win8安装盘
  • 戴尔笔记本自带win7系统盘重装系统
  • win8.0下载
  • win7系统删除ie浏览器
  • opengl入门视频教程
  • android 基础
  • 批处理自动登录有密码的程序
  • 天气球球下载
  • js对象用法
  • jqueryshow和hide封装
  • 党建引领结对共建生态
  • 个人所得税税前扣除是什么意思
  • 记账凭证编制的依据可以用
  • 重庆国家税务局官方网站
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设