技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > EtherCAT運動控制器在ROS上的應(yīng)用(下)

EtherCAT運動控制器在ROS上的應(yīng)用(下)

時間:2024-03-12 10:23:39來源:深圳市正運動技術(shù)有限公司

導(dǎo)語:?本篇文章我們主要介紹正運動技術(shù)動態(tài)鏈接庫環(huán)境配置以及EtherCAT運動控制器在ROS下的單軸運動。

  本篇文章我們主要介紹正運動技術(shù)動態(tài)鏈接庫環(huán)境配置以及EtherCAT運動控制器在ROS下的單軸運動。

  在正式學(xué)習(xí)之前,我們先了解一下正運動技術(shù)的EtherCAT運動控制器ZMC432和ZMC408CE。這兩款產(chǎn)品分別是32軸,8軸EtherCAT運動控制器。

  ZMC432功能簡介

  ZMC432是正運動推出的一款多軸高性能EtherCAT總線運動控制器,具有EtherCAT、EtherNET、RS232、CAN和U盤等通訊接口,ZMC系列運動控制器可應(yīng)用于各種需要脫機或聯(lián)機運行的場合。

運動控制

  ZMC432最多可支持32軸運動控制,支持直線插補、任意圓弧插補、空間圓弧、螺旋插補、電子凸輪、電子齒輪、同步跟隨等功能。

  ZMC432支持32軸脈沖輸入與編碼器反饋,通用IO包含24路輸入口和12個輸出口;2路AD,2路DA;其中特定輸出口支持高速PWM控制。

  ZMC432通過EtherCAT和CAN總線進行硬件資源擴展,可擴展至4096路輸入和4096路輸出。

運動控制

  ZMC408CE功能簡介

  ZMC408CE是正運動推出的一款多軸高性能EtherCAT總線運動控制器,具有EtherCAT、EtherNET、RS232、CAN和U盤等通訊接口,ZMC系列運動控制器可應(yīng)用于各種需要脫機或聯(lián)機運行的場合。

運動控制

  ZMC408CE支持8軸運動控制,最多可擴展至32軸,支持直線插補、任意圓弧插補、空間圓弧、螺旋插補、電子凸輪、電子齒輪、同步跟隨等功能。

  ZMC408CE支持8軸運動控制,可采用脈沖軸(帶編碼器反饋)或EtherCAT總線軸,通用IO包含24路輸入口和16路輸出口,部分IO為高速IO,模擬量AD/DA各兩路,EtherCAT最快125us的刷新周期。

  ZMC408CE支持8個通道的硬件比較輸出、硬件定時器、運動中精準輸出,還支持8通道PWM輸出,對應(yīng)的輸出口為OUT0-7,支持8個通道同時觸發(fā)硬件比較輸出。

  ZMC408CE可靈活進行硬件資源擴展,通過CAN或EtherCAT總線可擴展至4096個輸入和4096個輸出。

運動控制

  →ZMC432,ZMC408CE均使用同一套API函數(shù),均支持C、C++、C#、LabVIEW、Python、Delphi等開發(fā)語言,支持VC6.0、VB6.0、Qt、.Net等平臺,支持Windows、Linux、WinCE、iMac等操作系統(tǒng)。

運動控制

  上節(jié)課程中,我們介紹了ROS應(yīng)用背景和Ubuntu18.04安裝ROS Melodic詳細過程,并且通過ROS編程案例“消息發(fā)布和訂閱”來詳細說明正運動技術(shù)EtherCAT運動控制器ROS的應(yīng)用開發(fā)。詳情點擊→EtherCAT運動控制器在ROS上的應(yīng)用(上)。

  01、配置正運動技術(shù)動態(tài)鏈接庫環(huán)境

  1.添加動態(tài)鏈接庫

  在程序包目錄zmotion(catkin_ws/src/zmotion/)下新建文件夾lib,存放動態(tài)鏈接庫libzmotion.so。

運動控制

運動控制

  在CMakeLists.txt中添加第三方庫路徑(build下):

  ·

  link_directories( lib ${catkin_LIB_DIRS})

  并在CMakeLists.txt文件中鏈接動態(tài)鏈接庫(調(diào)用鏈接庫時文件名去掉lib和.so):

  ·

  target_link_libraries(talker ${catkin_LIBRARIES} zmotion)

  2.添加庫函數(shù)zmcaux.cpp、zmotion.h、zmcaux.h添加zmcaux.cpp文件到catkin_ws/src/zmotion/src目錄下:

運動控制

  添加頭文件zmotion.h、zmcaux.h到catkin_ws/src/zmotion/include/ zmotion目錄下:

運動控制

  并在CMakeLists.txt中添加這三個庫文件:

  ·

  add_executable(talker src/talker.cppsrc/zmcaux.cppinclude/zmotion/zmotion.hinclude/zmotion/zmcaux.h)

  修改頭文件引用,如下圖所示(要填include文件的相對地址,zmotion為程序包名):

  ·

  #include "zmotion/zmotion.h"#include "zmotion/zmcaux.h"

運動控制

  02、正運動控制器在ROS下的單軸運動

  talker節(jié)點實現(xiàn)軸0的運動,并將其位置實時發(fā)送給listener節(jié)點,修改talker.cpp如下:

  1.添加句柄和頭文件

  ·

  #include "zmotion/zmotion.h"#include "zmotion/zmcaux.h"ZMC_HANDLE g_handle=NULL;

  2.通過EtherNET鏈接運動控制器

  ·

  ZMC_LinuxLibInit();//以太網(wǎng)(Ethernet)鏈接char ipaddr[16] = {"192.168.0.11"};int x =ZAux_OpenEth(ipaddr,&g_handle); //***ZMCROS_INFO("以太網(wǎng)鏈接控制器:%d",x);//返回0則連接成功

  3.實現(xiàn)單軸運動

  ·

  ZAux_Direct_SetSpeed(g_handle, 0, 200); //設(shè)置軸0運動速度為200units/sZAux_Direct_SetAccel(g_handle, 0, 2000); //設(shè)置軸0加速度為2000units/s/sZAux_Direct_SetDecel(g_handle, 0, 2000); //設(shè)置軸0減速度為2000units/s/sZAux_Direct_SetSramp(g_handle, 0, 100); //設(shè)置軸0 S曲線時間100msZAux_Direct_Single_Move(g_handle, 0, 300); //軸0 相對與當(dāng)前位置運動100 units

  4.將實時位置發(fā)送給listener節(jié)點

  ·

  float piValue;while (ros::ok()){ std_msgs::Float64 msg; ZAux_Direct_GetMpos(g_handle, 0, & piValue);//獲取時候 msg.data = piValue; //輸出,用來替代prinf/cout ROS_INFO("Position is: %f", msg.data); chatter_pub.publish(msg); ros::spinOnce(); //休眠,來使發(fā)布頻率為10Hz loop_rate.sleep();}

  5.編譯

  ·

  cd ~/catkin_ws/catkin_make

  6.運行程序

  ·

  //打開一個新終端roscore//打開另一個新終端cd ~/catkin_ws/rosrun zmotion talker//打開另一個新終端cd ~/catkin_ws/rosrun zmotion listener

  運行效果如下,實時輸出位置:

運動控制

  此外,我們在上位機上的示波器上可以看見,軸0做S曲線運動:

運動控制

  本次,正運動技術(shù)EtherCAT運動控制器在ROS上的應(yīng)用(下),就分享到這里。

  更多精彩內(nèi)容請關(guān)注“正運動小助手”公眾號,需要相關(guān)開發(fā)環(huán)境與例程代碼,請咨詢正運動技術(shù)銷售工程師:400-089-8936。

  本文由正運動技術(shù)原創(chuàng),歡迎大家轉(zhuǎn)載,共同學(xué)習(xí),一起提高中國智能制造水平。文章版權(quán)歸正運動技術(shù)所有,如有轉(zhuǎn)載請注明文章來源。

標簽: 運動控制

點贊

分享到:

上一篇:變頻器怎么設(shè)置參數(shù)

下一篇:AI芯片的技術(shù)原理與架構(gòu)

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(m.u63ivq3.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責(zé)任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號