当前位置: 首页 > article >正文

四次多项式轨迹规划在工业机器人中的使用andT型和多项式的区别

在一般的工业机器人中,对于速度规划所使用的是四次多项式的轨迹规划,这是为什么呢?

我们知道在一般的轨迹规划中有3-4-5次多项式,B样条,T型,7段式S型等等。

        这篇文章说说为什么在工业机器人中使用最多的是四次多项式,而并非3次和5次。在本质上来说3次多项式的设定的参数比较少,不能够保证加速度是一个平滑的曲线,这导致机器的电机会有激励,导致电机的损坏,而5次多项式,参数控制是比较多的,加加速度也可保证平滑,但是相对于机器来说保证加速度平滑即可,在性能上差不多,同时五次多项式计算相对来说较为复杂,阻碍周期的运行速率,同时五次多项式的使用对硬件的性能也是有要求的,提供足够的平滑度、精确的运动控制,同时在计算复杂度和机械负载上具有较好的平衡。

在工业机器人中,四次多项式的轨迹规划比五次多项式使用更广泛,主要基于以下几个原因:

1. 机械性能的考虑

  • 四次多项式的平滑性足够 :四次多项式已经能够满足大多数工业机器人的轨迹规划需求,它可以提供平滑的位移、速度和加速度曲线。由于加速度是连续的,机器人在执行运动时不会产生突变的冲击或震动,有利于提高机械系统的寿命和稳定性。
  • 五次多项式的复杂性增加:虽然五次多项式能够进一步提高轨迹的平滑度,使得加速度的变化率(即加加速度jerk)也是连续的,但这对大多数应用来说并非必要。五次多项式的轨迹可能会导致更复杂的控制算法以及机械负荷增大,从而增加系统的难度和不确定性。

2. 控制系统的复杂性

  • 计算复杂度较低:四次多项式的计算量和实现相对较简单,控制器可以更快速地计算出位置、速度和加速度的值,减少了控制系统的计算负担。在实时控制中,这一点非常关键。
  • 实时性要求较高 :在工业机器人中,控制系统需要以非常高的频率来计算并更新运动参数。四次多项式提供了足够的轨迹控制能力,同时简化了计算,提高了系统的响应速度。

3. 机器人运行稳定性

  • 四次多项式的加速度连续,冲击较小:机器人运动过程中,加速度的连续性是一个重要指标。四次多项式可以确保加速度的变化是平滑的,不会产生较大的冲击力,避免损坏机械结构或过早磨损机械部件。五次多项式虽然进一步优化了加加速度的连续性,但在很多实际应用中,这种高阶的优化不一定能带来显著的性能提升,反而增加了控制的复杂度。

4. 常见应用中的需求

  • 大多数任务不需要五次多项式的复杂性:在很多工业机器人应用中,如搬运、焊接和装配等任务中,四次多项式轨迹已经足以提供平滑、精确和高效的运动。五次多项式的轨迹虽然理论上可以进一步优化,但对大多数常见任务来说,其复杂性并不带来显著的性能提升。

5. 硬件约束

  • 五次多项式对硬件要求更高:由于五次多项式涉及加加速度的控制,机械硬件需要能够精确地响应更复杂的运动轨迹。这要求伺服电机和控制器具有更高的响应性和控制精度,从而增加了硬件成本和开发难度。

四次和五次多项式图像区别: 

% 定义系数
a = 1; b = 1; c = 1; d = 1; e = 1; f = 1;

% 定义x值
x = linspace(-10, 10, 400);

% 定义符号变量
syms x_sym;

% 定义五次多项式
P5_sym = a*x_sym^5 + b*x_sym^4 + c*x_sym^3 + d*x_sym^2 + e*x_sym + f;

% 定义四次多项式
P4_sym = b*x_sym^4 + c*x_sym^3 + d*x_sym^2 + e*x_sym + f;

% 将符号表达式转换为函数句柄
P5 = matlabFunction(P5_sym);
P4 = matlabFunction(P4_sym);

% 计算多项式的值
y_P5 = P5(x);
y_P4 = P4(x);

% 使用符号微分计算速度
v_P5_sym = matlabFunction(diff(P5_sym, x_sym));
v_P4_sym = matlabFunction(diff(P4_sym, x_sym));
v_P5_values = v_P5_sym(x);
v_P4_values = v_P4_sym(x);

% 使用符号微分计算加速度
a_P5_sym = matlabFunction(diff(v_P5_sym, x_sym));
a_P4_sym = matlabFunction(diff(v_P4_sym, x_sym));
a_P5_values = a_P5_sym(x);
a_P4_values = a_P4_sym(x);

% 绘制四次多项式的图像
figure;
title('四次多项式');

% 位置图像
subplot(3, 1, 1);
plot(x, y_P4, 'b', 'DisplayName', 'P4(x)');
title('位置');
xlabel('x');
ylabel('y');
legend;

% 速度图像
subplot(3, 1, 2);
plot(x, v_P4_values, 'b', 'DisplayName', 'v_P4(x)');
title('速度');
xlabel('x');
ylabel('v');
legend;

% 加速度图像
subplot(3, 1, 3);
plot(x, a_P4_values, 'b', 'DisplayName', 'a_P4(x)');
title('加速度');
xlabel('x');
ylabel('a');
legend;

% 绘制五次多项式的图像
figure;
title('五次多项式');

% 位置图像
subplot(3, 1, 1);
plot(x, y_P5, 'b', 'DisplayName', 'P5(x)');
title('位置');
xlabel('x');
ylabel('y');
legend;

% 速度图像
subplot(3, 1, 2);
plot(x, v_P5_values, 'b', 'DisplayName', 'v_P5(x)');
title('速度');
xlabel('x');
ylabel('v');
legend;

% 加速度图像
subplot(3, 1, 3);
plot(x, a_P5_values, 'b', 'DisplayName', 'a_P5(x)');
title('加速度');
xlabel('x');
ylabel('a');
legend;

  1. 四次多项式由于阶数较低,其图像的形状相对简单,适合大多数基本的轨迹规划需求。
  2. 五次多项式可以形成更复杂的曲线形状,适合需要更精细控制的轨迹规划。
  3. 五次多项式可能用于更复杂的场景,如需要更平滑的加速度变化或在轨迹规划中需要考虑更多的边界条件。
  4. 四次多项式通常用于简单的轨迹规划,如在工业机器人中从一点移动到另一点。

 额外一点:


在之前使用的点动和直线运行中采用了不同的速度规划。

在点动过程中使用的T型,7段式S型规划等等,这个T型规划的好处是在与时间最优,同时还是非常简单,同时T型的规划是响应非常之快的。

在直线运动过程中采用的是五次多项式,因为是直线插补,是一个精细控制的轨迹规划。

 

为什么在点动中使用T型,而在直线运行中使用多项式

  • 点动(Jogging)中的T型曲线

    • 在点动操作中,机器人或设备通常需要快速响应和灵活操作,而不需要复杂的轨迹规划。T型曲线由于其计算简单、反应快,适合短距离的点动操作,满足快速启动和停止的需求。
    • 点动过程中机械的速度通常较低,因此虽然T型曲线有一定的冲击,但不会对机械产生显著的负面影响。
  • 直线运行中的多项式曲线

    • 在长距离或高精度的直线运行中,设备需要保持平稳的速度变化并减少机械冲击。多项式曲线(如S型或3-4-5次多项式)可以提供加速度和加加速度的平滑过渡,使设备在整个运动过程中更稳定。
    • 对于需要高速运行或需要频繁启动、停止的任务,多项式曲线能够有效减少对机械的损耗,提升运动的平滑性和精度。

总结:

T型曲线适合短距离、快速响应的操作,如点动,因为它简单快速,但会带来一定的机械冲击。

S型曲线3-4-5次多项式则在长距离、高速和复杂路径中更为合适,因为它们能够减少冲击、振动,并提供平滑的运动,延长机械寿命。


http://www.kler.cn/news/337343.html

相关文章:

  • 数学与生活
  • 优化理论及应用精解【26】
  • ip2region 获取用户的 IP 和 IP的归属地
  • C++ 搜索二叉树
  • github项目学习——ruoyi-vue-pro
  • UE5 武器IK瞄准系统
  • Python机器学习入门:概念介绍
  • 《自然语言处理NLP》—— 词嵌入(Embedding)及 Word2Vec 词嵌入方法
  • FPGA时序分析和约束学习笔记(1、FPGA基本原理)
  • 如何使用selenium结合最新版chrome爬虫
  • 对比 pandas 与 SQL
  • 0x11 科迈 RAS系统 Cookie验证越权漏洞
  • R中线性回归及其权重和截距的计算
  • Shiro认证(Authentication)
  • 录制真人出镜视频一个简单方法
  • Python和C++混淆矩阵地理学医学物理学视觉语言模型和算法模型评估工具
  • JAVA学习-练习试用Java实现“矩形区域不超过 K 的最大数值和 Ⅲ”
  • 什么是网络安全
  • CSS 鼠标悬停时让父元素和子元素以不同的方式进行变换
  • 达梦8-数据守护集群主备故障实验和脑裂处理