导读
想深入了解ZMC600E运动控制器的速度规划吗?T型线性加减速简洁高效,S型过渡自然减震,避免冲击。通过合理的规划选择,可有效提升设备精度、效率与性能。深入探索其核心,为工业自动化设备的控制赋能。
ZMC600E是广州致远电子股份有限公司开发的最新一代高性能智能总线型控制器,是面向工厂智能化时代的机器人控制器。ZMC600E采用多核异构应用处理器为核心,其内核包括2个64位的ArmCortex-A53核,主频1.0GHz;4个Cortex-R5F内核,主频800MHz。同时板载1GB DDR4、4GB eMMC以及32KB FRAM。
ZMC600E EtherCAT主站控制器为了满足不同的自动化应用需求,在硬件接口上面,精心设计了1路EtherCAT主站接口,ms 周期任务抖动±5μs 以内;3 路以太网接口,其中1路是千兆网口;2路RS485;2路CAN;32个用户I/O,其中16路DI,16路DO,输入支持最多2路正交编码或两路脉冲计数;1个USB3.0接口;支持TF卡;系统电源采用高稳定隔离电源,支持掉电检测;提供多种程序加密手段,保护用户应用软件知识产权。
ZMC600E 示意图及接口图如下所示:
图1 产品示意图
图2 ZMC600E接口图
ZMC600E EtherCAT主站控制器为设备制造商提供多轴数、多IO点数控制的新一代可靠智能的运动控制解决方案,提供T型、S型速度规划算法,可以广泛应用于注塑行业、冲压行业、车床行业、搬运码垛、关节机器人、喷涂、玻璃机、压铸机、包装设备、3C设备、锂电池设备、纺织、流水线工作站、非标自动化装备、特种机床等高端设备应用。
速度规划的概念
速度规划这里特指,在已知运动的起点和终点和完整路径的情况下,基于给定的时间约束, 最大速度约束和最大加速度减速度约束的条件,设计运动的速度随时间的曲线。速度规划是运动控制领域中的一个关键环节,其核心目的是为机械设备或机器人在运动路径上设计合适的速度曲线,以确保整个运动过程的平滑性、效率、安全性和舒适性。合理的速度规划能够有效提升设备的运行效率、精度和稳定性,同时减少能耗和机械磨损。因此,在自动化系统中,速度规划是提高性能和可靠性的核心技术之一。常用的速度规划主要为T型和S型速度规划算法。
T型规划
T型规划,也称为梯形速度规划,是工业界最广泛采用的形式,它是一种时间最优的简单速度规划方法。它通常包括三个阶段:加速、匀速和减速。在加速阶段,速度从零逐渐增加到设定的最大速度;在匀速阶段,速度保持恒定;在减速阶段,速度逐渐减小到零。
T型速度规划图示如下:
图3 T型速度规划曲线
T型速度规划问题可以定义为:已知路程S,初始速度V0,结束速度Vn,限制条件最大速度Vmax,最大加速度Accmax,最大减速度Decmax。被控对象从A点运动到B点,要求生成的速度轨迹在这些条件下时间最优。
从图3可以明显看出,T 型规划的加速度表现出不连续性。具体而言,在加速阶段与匀速阶段以及减速阶段与匀速阶段的衔接处,存在着较为显著的突变情况。这种突变会对执行器产生冲击,影响舒适性。T 型规划适用于机械加工快速定位及对响应速度要求高、舒适性要求低的工业自动化领域。
S型规划
S型规划,也称为S曲线速度规划,是一种平滑的速度规划方法。S型规划通常包括7个阶段:加加速、匀加速、减加速、匀速、加减速、匀减速、减减速。这种规划方法可以减少机器的振动和噪音,提高运动的平滑性。
S型速度规划图示如下:
图4 S型速度规划曲线
S型速度规划问题可以定义为:已知路程S,初始速度V0、结束速度Vn、以及限制条件最大速度Vmax,最大加速度Accmax,最大减速度Decmax、最大加加速度Jerkmax。被控对象从起点A移动到终点B,要求生成的速度轨迹在满足上述约束条件下时间最优。
与T 型速度规划不同,S 型速度规划在加速和减速阶段不仅考虑加速度的限制,还引入了加加速度(jerk)的限制。这使得速度曲线在加速和减速时呈现平滑的 S 型曲线,避免突然的加速度变化,从而减少冲击,提高运动的平稳性。因此,S 型速度规划通常用于对平滑度要求较高的运动控制场景,如机器人、数控机床等应用中。
速度规划API
ZMC600E 运动控制器提供了T型和S型运动控制 API 接口,方便用户进行速度规划的设置和调整。
创建T型速度规划
创建S型速度规划
删除速度规划的句柄
配置速度规划限制参数
设置速度规划
获取执行速度规划的所需的总时间
获取某个时间点的规划信息
示例
从A点到B点路程共50m,从起点开始运动,起始和结束速度为0,最大速度5m/s,最大加速度2m/s2,最大减速度2m/s2,分别使用T型和S型速度规划,使用S型时最大加加速度4m/s3。
代码如下:
#include #include #include #include "velocity.h"
int main(int argc, char *argv[]){ if (argc != 2) { printf( "Usage: ./velocity_test 0/1\n"); return -1; } velocity_handle handle = NULL; if(strcmp(argv[1], "0") == 0) { handle = velocity_new_t(); velocity_set_config(handle, 5, 2, 2, 0); } else if(strcmp(argv[1], "1") == 0) { handle = velocity_new_s(); velocity_set_config(handle, 5, 2, 2, 4); } else { printf( "Usage: ./velocity_test 0/1\n"); return -1; } velocity_set_plan(handle, 50, 0, 0);
double time = velocity_get_plan_time(handle);
for(double t = 0; t < time; t+=0.001) { double pos = 0, vel = 0, acc = 0; velocity_get_plan_slice(handle, t, &pos, &vel, &acc); printf("pos:%f, vel:%f, acc:%f\n", pos, vel, acc); }
velocity_delete(handle);
return 0;}
执行结果如图下图所示。
图5 T型速度规划示例
图6 S型速度规划示例
ZMC600E 运动控制器提供T型和S型速度规划算法可以满足不同应用场景下的速度控制需求。深入掌握速度规划技术,将有助于提高设备的控制精度和效率,为工业生产带来更大的价值。
-
运动控制器
+关注
关注
2文章
404浏览量
24741 -
总线
+关注
关注
10文章
2887浏览量
88123 -
工业自动化
+关注
关注
17文章
2403浏览量
67257
发布评论请先 登录
相关推荐
评论