找回密码
 会员注册
查看: 30|回复: 0

UR六自由度机械臂运动学正解、逆解及轨迹规划附带python和C源码+webots仿真

[复制链接]

5

主题

0

回帖

16

积分

新手上路

积分
16
发表于 2024-9-10 12:15:48 | 显示全部楼层 |阅读模式
UR六自由度机械臂运动学正解、逆解及轨迹规划附带python和C源码+webots仿真(一)准型DH参数建立坐标系(二)运动学分析1.运动学正解分析2.运动学逆解分析(三)轨迹规划(四)源码  前段时间做了两种类型的六轴机械臂,分别是UR型和PUMA型六轴机械臂。实践过程中,在运动学分析和轨迹规划中遇到了很多的坑。比如,运动学正、逆解的起始位姿和自己想要的不一样;逆解的时候遇到奇异解或者解不出来的解应该怎么避免等等;本文会对以上情况做一个总结。  后续我还会写关于如何以STM32F407为核心板,通过运动学正、逆解和轨迹规划来控制UR型和PUMA型六轴机械臂完成作业任务。有舵机版本和步进电机版本。  本文是以标准型DH法建立坐标系,若想了解改进型DH法建立坐标系,可以看我另一篇文章:六轴机械臂运动学正、逆解及轨迹规划带源码(一)准型DH参数建立坐标系图1机械臂起始位置图图2机械臂正视图标准型DH建立坐标系方法:z轴:与旋转轴共线。x轴:Xi轴同时垂直于Zi轴和Zi-1轴。(x0可以任意选方向)y轴:使用右手定则确定。(大拇指指向x轴、中指指向z轴,食指的指向为y轴方向)标准型DH参数确定方法:标准型DH参数表:注:该表是以图2确定的DH参数。θ\thetaθ列代表着,第二关节、第四关节顺时针旋转90°(以图1视角往里看顺时针旋转90°),可以转换成图1所示姿态。重点(建议先看后面的运动学正解和逆解,然后在返回来看):求解运动学正解时,当给的各个关节角度分别为(0°,0°,0°,0°,0°,0°)时,求出的位姿对应的是图1的位姿。也就是说,通过标准DH参数法建立的坐标系,用运动学正解求解出的起始位姿为图1的位姿。如果想要转换成图2的位姿,则需要给各个关节角度分别为(0,-90,0,-90,0,0)。运动学逆解求出的角度值,也是基于图1起始位姿的角度值。比如,当你输入位姿-270.0,-100.59,84.0,1.5707963,-0.0,0.0)时,运动学逆解求出的角度值为:(0°,0°,0°,0°,0°,0°);当你输入位姿0.0,-100.59,504.0,-1.5707963,-0.0,3.1415927)时,运动学逆解求出的角度值为:(0°,-90°,0°,-90°,0°,0°);总结:当你在实际项目中时,肯定使用的是图2所示的起始位姿。那么需要转换一下起始位姿。当求解运动学正解时,输入格式(th1,th2-90°,th3,th4-90°,th5,th6);th1到th6为我们想要机械臂以图2的起始位姿旋转的角度值。当求解运动学逆解时,输入格式不变(x,y,z,gama,beta,alpha),输出时需要在求得的第二角度和第四角度上分别加上90°。那么最终得到的角度值是以图2为起始位姿的角度值。(二)运动学分析1.运动学正解分析2.运动学逆解分析如果在遇到运动学逆解求不出来的情况下,①遇到了奇异解,解不出来;②超出了机械臂的工作空间,解不出来;解决办法:第一步:首先需要在运动学逆解函数Inverse_Kinematics(X,Y,Z,gama,beta,alpha)中,写判断语句。如果输入的位姿能够顺利的解出,那么函数返回八组(有可能不是八组,根据情况而定)角度值;如果输入的位姿无解,那么返回0;第二部:可以通过加或者减位姿的值来避开运动学逆解无法求出的情况,比如:       当(x,y,z,gama,beta,alpha)=(x0,y0,z0,gama0,beta0,alpha0)时出现逆解无法求解的情况。那么,我们只需要写一个判断语句,判断逆解函数Inverse_Kinematics(X,Y,Z,gama,beta,alpha)的返回值是否等于0,若等于0,那么代表此次传入的位姿,运动学逆解解不出来。这个时候可以给X、Y、Z三者中的任意一个参数加0,01。可以这样做:(x0+0.01,y0,z0,gama0,beta0,alpha0)、(x0,y0+0.01,z0,gama0,beta0,alpha0)、(x0,y0,z0+0.01,gama0,beta0,alpha0)。虽然在数值上不同了,但是在现实生活中,0.01毫米的偏差肉眼根本看不出来。可以满足工业精度要求。(三)轨迹规划(四)源码源码及仿真下载
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-5 09:42 , Processed in 0.513917 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表