【路径规划】2DOF 机械臂路径规划(Matlab实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

 2DOF 机械臂在工业自动化、科研实验等领域有广泛应用。高效的路径规划可以确保机械臂准确、快速地完成特定任务,提高生产效率和操作精度。路径规划目标为机械臂找到一条从起始位置到目标位置的最优或可行路径,同时要考虑避免与障碍物发生碰撞、满足运动学和动力学约束等。 关节空间规划:直接在机械臂的关节角度空间中进行规划。常见方法有插值法,如线性插值、三次样条插值等,通过确定关节角度随时间的变化来生成路径。应用场景可应用于简单的物料搬运、装配作业、实验室操作等场景,能够提高生产的自动化程度和操作的准确性。 随着技术的不断进步,未来 2DOF 机械臂路径规划将更加智能化,结合人工智能算法和传感器技术,实现更高效、灵活和自适应的路径规划。

📚2 运行结果

主函数部分代码:

clc;
clear all;
close all;

%% creating circular obstacles and plotting in theta space

% circ1e 1
[c1, c2,c1_b,c2_b]=circle(-1.625,-0.3,0.25);
PLOT_theta(c1,c2,30,-110,180,0);
PLOT_theta(c1_b,c2_b,30,-110,180,0);
PLOT_theta(c1+360,c2,30,-110,180,0);
PLOT_theta(c1_b+360,c2_b,30,-110,180,0);

%circle 2
[c3, c4,c3_b,c4_b]=circle(0.75,0,0.125);
PLOT_theta(c3,c4,30,-110,180,0);
PLOT_theta(c3_b,c4_b,30,-110,180,0);
PLOT_theta(c3+360,c4,30,-110,180,0);
PLOT_theta(c3_b+360,c4_b,30,-110,180,0);

%circle 3
[c5, c6,c5_b,c6_b]=circle(1.125,0,0.125);
PLOT_theta(c5,c6,30,-110,180,0);
PLOT_theta(c5_b,c6_b,30,-110,180,0);
PLOT_theta(c5,c6,30,-110,180,0);
PLOT_theta(c5_b,c6_b,30,-110,180,0);

square(-1.25,0.625,0.4);


%% trajectory in theta space

figure(2)
axis([-270 270 -135 135])
hold on
x=[30  65  230];
y=[ -110  -121  -123 ];
hold on
x1=[180  200  230];
y1=[ 0  -55  -123 ];
cs=spline(x,  y );
cs1=spline (x1,y1);
xx= linspace(30,230,101);
xx1= linspace (180,230,101);
plot(x,y,'o',xx,ppval(cs,xx),'-');
hold on
plot(x1,y1,'o',xx1,ppval(cs1,xx1),'-');


%% trajectory in cartesian space

robot();

%% getting the characterstics equation describing the position velocity and accleration of each joint 

theta1_i=30;
theta1_f= 180;
vel1_i=0;
vel1_f=0;
acc1_f=0;
acc1_i=0;
t_i=0;
t_f=4;
time= t_i:t_f;

theta2_i=-110;
theta2_f=0;
vel2_i=0;
vel2_f=0;
acc2_f=0;
acc2_i=0;



k1=[theta1_i theta1_f vel1_i vel1_f acc1_i acc1_f]';
mat=[1 t_i t_i^2 t_i^3 t_i^4 t_i^5 ;...
    1 t_f t_f^2 t_f^3 t_f^4 t_f^5 ;...
    0 1 2*t_i 3*t_i^2 4*t_i^3 5*t_i^4;...
    0 1 2*t_f 3*t_f^2 4*t_f^3 5*t_f^4;...
    0 0 2 6*t_i 12*t_i^2 20*t_i^3;...
    0 0 2 6*t_f 12*t_f^2 20*t_f^3];
coff1=(mat)\k1;

k2=[theta2_i theta2_f vel2_i vel2_f acc2_i acc2_f]';
mat=[1 t_i t_i^2 t_i^3 t_i^4 t_i^5 ;...
    1 t_f t_f^2 t_f^3 t_f^4 t_f^5 ;...
    0 1 2*t_i 3*t_i^2 4*t_i^3 5*t_i^4;...
    0 1 2*t_f 3*t_f^2 4*t_f^3 5*t_f^4;...
    0 0 2 6*t_i 12*t_i^2 20*t_i^3;...
    0 0 2 6*t_f 12*t_f^2 20*t_f^3];
coff2=(mat)\k2;

r=fliplr(coff1');
coff1=r';
q=fliplr(coff2');
coff2=q';

% position, velocity and accleration equations
syms t;
theta1=poly2sym(coff1,t);
theta2=poly2sym(coff2,t);
vel1=diff(theta1);
vel2=diff(theta2);
acc1=diff(vel1);
acc2=diff(vel2);

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]葛超,张鑫源,王红,等.改进Informed-RRT*算法的移动机器人路径规划[J/OL].电光与控制:1-11[2024-09-26].http://kns.cnki.net/kcms/detail/41.1227.TN.20240925.1741.002.html.

[2]王一诺,郑焕祺,张根成,等.基于ICOA算法的三维无人机路径规划[J/OL].软件导刊:1-9[2024-09-26].http://kns.cnki.net/kcms/detail/42.1671.TP.20240924.1314.040.html.

🌈4 Matlab代码实现

图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值