導讀
想深入了解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瀏覽量
24744 -
總線
+關注
關注
10文章
2888瀏覽量
88128 -
工業自動化
+關注
關注
17文章
2405瀏覽量
67260
發布評論請先 登錄
相關推薦
評論