999国内精品永久免费视频,色偷偷9999www,亚洲国产成人爱av在线播放,6080亚洲人久久精品,欧美超高清xxxhd

首頁(yè) 新聞 工控搜 論壇 廠商論壇 產(chǎn)品 方案 廠商 人才 文摘 下載 展覽
中華工控網(wǎng)首頁(yè)
  P L C | 變頻器與傳動(dòng) | 傳感器 | 現(xiàn)場(chǎng)檢測(cè)儀表 | 工控軟件 | 人機(jī)界面 | 運(yùn)動(dòng)控制
  D C S | 工業(yè)以太網(wǎng) | 現(xiàn)場(chǎng)總線 | 顯示調(diào)節(jié)儀表 | 數(shù)據(jù)采集 | 數(shù)傳測(cè)控 | 工業(yè)安全
  電 源 | 嵌入式系統(tǒng) | PC based | 機(jī)柜箱體殼體 | 低壓電器 | 機(jī)器視覺
EtherCAT運(yùn)動(dòng)控制器在ROS上的應(yīng)用(上)
深圳市正運(yùn)動(dòng)技術(shù)有限公司
收藏本文     查看收藏

本文以正運(yùn)動(dòng)技術(shù)EtherCAT運(yùn)動(dòng)控制器ZMC432和ZMC408CE為例,介紹正運(yùn)動(dòng)技術(shù)運(yùn)動(dòng)控制器在ROS上的應(yīng)用開發(fā)。

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

ZMC432功能簡(jiǎn)介

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

ZMC432運(yùn)動(dòng)控制器.png

ZMC432最多可支持32軸運(yùn)動(dòng)控制,支持直線插補(bǔ)、任意圓弧插補(bǔ)、空間圓弧、螺旋插補(bǔ)、電子凸輪、電子齒輪、同步跟隨等功能。

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

ZMC432通過(guò)EtherCAT和CAN總線進(jìn)行硬件資源擴(kuò)展,可擴(kuò)展至4096路輸入和4096路輸出。

ZMC432運(yùn)動(dòng)控制器架構(gòu)圖.png

ZMC408CE功能簡(jiǎn)介

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

ZMC408CE運(yùn)動(dòng)控制器.png

ZMC408CE支持8軸運(yùn)動(dòng)控制,最多可擴(kuò)展至32軸,支持直線插補(bǔ)、任意圓弧插補(bǔ)、空間圓弧、螺旋插補(bǔ)、電子凸輪、電子齒輪、同步跟隨等功能。

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

ZMC408CE支持8個(gè)通道的硬件比較輸出、硬件定時(shí)器、運(yùn)動(dòng)中精準(zhǔn)輸出,還支持8通道PWM輸出,對(duì)應(yīng)的輸出口為OUT0-7,支持8個(gè)通道同時(shí)觸發(fā)硬件比較輸出。

ZMC408CE可靈活進(jìn)行硬件資源擴(kuò)展,通過(guò)CAN或EtherCAT總線可擴(kuò)展至4096個(gè)輸入和4096個(gè)輸出。

ZMC408CE運(yùn)動(dòng)控制器架構(gòu)圖.png

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

多種上位機(jī)開發(fā)方式.png

01  ROS應(yīng)用背景

ROS(robot operating system)是用于機(jī)器人的一種開源后操作系統(tǒng)(次級(jí)操作系統(tǒng))。首要設(shè)計(jì)目標(biāo)是在機(jī)器人研發(fā)領(lǐng)域提高代碼復(fù)用率。

ROS是一種分布式處理框架(又名Nodes)。這使可執(zhí)行文件能被單獨(dú)設(shè)計(jì),并且在運(yùn)行時(shí)松散耦合。這些過(guò)程可以封裝到數(shù)據(jù)包(Packages)和堆棧(Stacks)中,以便于共享和分發(fā)。

ROS還支持代碼庫(kù)的聯(lián)合系統(tǒng)。使得協(xié)作亦能被分發(fā)。這種從文件系統(tǒng)級(jí)別到社區(qū)一級(jí)的設(shè)計(jì)讓獨(dú)立地決定發(fā)展和實(shí)施工作成為可能。上述所有功能都能由ROS的基礎(chǔ)工具實(shí)現(xiàn)。

簡(jiǎn)單來(lái)說(shuō),ROS作為一個(gè)靈活的操作系統(tǒng),系統(tǒng)上的節(jié)點(diǎn)具有很大的隨意性,它們可以位于不同的計(jì)算機(jī)上,甚至可以位于不同的網(wǎng)絡(luò)上。我們可以使用一個(gè)Arduino作為一個(gè)節(jié)點(diǎn)發(fā)布信息,使用一臺(tái)筆記本電腦作為一個(gè)節(jié)點(diǎn)訂閱上述信息以及使用一臺(tái)手機(jī)作為一個(gè)節(jié)點(diǎn)驅(qū)動(dòng)電機(jī)等。

上述靈活性使得ROS可以適應(yīng)很多不同場(chǎng)合的應(yīng)用。

ROS應(yīng)用場(chǎng)景.png

ROS的主要特點(diǎn)可以歸納為以下幾條

1.分布式點(diǎn)對(duì)點(diǎn)設(shè)計(jì)

ROS的點(diǎn)對(duì)點(diǎn)設(shè)計(jì)以及服務(wù)和節(jié)點(diǎn)管理器等機(jī)制可以分散由計(jì)算機(jī)視覺和語(yǔ)音識(shí)別等功能帶來(lái)的實(shí)時(shí)計(jì)算壓力,能夠適應(yīng)多機(jī)器人遇到的挑戰(zhàn)。

分布式點(diǎn)對(duì)點(diǎn)設(shè)計(jì).png

2.多語(yǔ)言支持

ROS支持許多種不同的語(yǔ)言,例如C++、Python、Octave和LISP,也包含其他語(yǔ)言的多種接口實(shí)現(xiàn)。

多語(yǔ)言支持.png

3.精簡(jiǎn)與集成

ROS建立的系統(tǒng)具有模塊化的特點(diǎn),各模塊中的代碼可以單獨(dú)編譯,而且編譯使用的CMake工具使它很容易的就實(shí)現(xiàn)精簡(jiǎn)的理念。

ROS基本將復(fù)雜的代碼封裝在庫(kù)里,只是創(chuàng)建了一些小的應(yīng)用程序?yàn)镽OS顯示庫(kù)的功能,就允許了對(duì)簡(jiǎn)單的代碼超越原型進(jìn)行移植和重新使用。

4.工具包豐富

為了管理復(fù)雜的ROS軟件框架,我們利用了大量的小工具去編譯和運(yùn)行多種多樣的ROS組建,從而設(shè)計(jì)成了內(nèi)核,而不是構(gòu)建一個(gè)龐大的開發(fā)和運(yùn)行環(huán)境。

工具包豐富.png

5.免費(fèi)并且開源

ROS所有的源代碼都是公開發(fā)布的。

ROS在行業(yè)中的一些應(yīng)用

近年來(lái),國(guó)內(nèi)外機(jī)器人企業(yè)、無(wú)人駕駛企業(yè),無(wú)人機(jī)企業(yè)(大疆無(wú)人機(jī))都紛紛加入ROS陣營(yíng)。且在各大招聘中,不管是騰訊、小馬智行、阿里巴巴的菜鳥網(wǎng)絡(luò)、百度Apollo等,招聘無(wú)人駕駛規(guī)劃算法工程師、自主導(dǎo)航工程師、機(jī)器人感知算法工程師、系統(tǒng)平臺(tái)研發(fā)架構(gòu)師等崗位時(shí),均要求“熟悉ROS”或者“具備ROS開發(fā)經(jīng)驗(yàn)者優(yōu)先”。

從這些我們可以看出來(lái)ROS系統(tǒng)的發(fā)展趨勢(shì),正在機(jī)器人行業(yè)一步一步的主導(dǎo)中國(guó)市場(chǎng)。 以下是一些ROS典型應(yīng)用場(chǎng)景:

1.機(jī)器人控制器中的大佬人物 - KEBA,他們的控制器已經(jīng)支持ROS。

KEBA機(jī)器人.png

2.美國(guó)NASA基于ROS開發(fā)的Robonaut 2已經(jīng)在國(guó)際空間站里干活了。

Robonaut 2機(jī)器人.png

3.百度apollo無(wú)人車的底層是基于ROS開發(fā)的,差點(diǎn)改成了ROS 2,可以在github上找到(apollo-platform)。

百度apollo無(wú)人車.png

4.ROS-I最近正準(zhǔn)備和微軟、寶馬合作,開發(fā)一套自動(dòng)化解決方案(參考:A ROS-Industrial Collaboration with Microsoft and BMW)。

ROS-I.png

5.許多工業(yè)機(jī)械臂已經(jīng)開始使用ROS系統(tǒng),其中2017年底R(shí)OS-I官方發(fā)布的五周年視頻不乏四大家族中的機(jī)器人。下圖的庫(kù)卡youbot機(jī)器人就是采用ROS系統(tǒng)開發(fā)。

庫(kù)卡youbot機(jī)器人.png

02  軟件安裝過(guò)程

此部分主要講Ubuntu18.04安裝ROS Melodic詳細(xì)過(guò)程(本文以Ubuntu18.04為例,其他同理,并不影響運(yùn)動(dòng)控制器的運(yùn)用)。

1.設(shè)置sources.list
01.png

2.設(shè)置key(公鑰已更新)
02.png

1.png
3.更新package(時(shí)間有點(diǎn)長(zhǎng),耐心等待)
03.png

此時(shí)可能會(huì)遇到以下問(wèn)題:

2.png

解決辦法如下,在終端輸入:

$sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key F42ED6FBAB17C654
$ sudo apt-get update

3.png

當(dāng)出現(xiàn)Reading package lists… Done說(shuō)明更新完成。

4.安裝ROS melodic完整版
04.png

5.初始化rosdep
05.png

效果示意圖:

4.png

5.png

輸入指令sudo rosdep init若遇到以下問(wèn)題:

(1)sudo : rosdep : command not found問(wèn)題

在終端輸入:sudo apt install rospack-tools

(2)ERROR : cannot download default sources list from: https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list Website may be down.

①在終端輸入:sudo gedit / etc / hosts,打開hosts文件,內(nèi)容如下;

6.png

②將:199.232.28.133 raw.githubusercontent.com添加在文件中,添加后的文件如下;

7.png

③然后保存文件后退出;

8.png

④在終端執(zhí)行:sudo rosdep init,問(wèn)題解決。

6.測(cè)試ROS是否安裝成功
06.png

成功打開如下圖所示:

9.png

03  ROS編程案例

這部分主要講“消息發(fā)布”和“訂閱”兩個(gè)ROS編程案例。

1.創(chuàng)建一個(gè)ROS工作空間。
111.png

2.創(chuàng)建ROS程序包( zmotion為程序包名,也可以定義為其他 )。
222.png

3.在創(chuàng)建完程序包后,每次運(yùn)行需要source ~ / catkin_ws / devel / setup.bash,否則無(wú)法找到文件。

解決每次都要source方法:
333.png

4.新建節(jié)點(diǎn)文件。

在zmotion包目錄中創(chuàng)建一個(gè)src目錄:
444.png

5.撰寫發(fā)布節(jié)點(diǎn)(talker.cpp)。

實(shí)現(xiàn)功能:

(1)初始化ROS系統(tǒng);

(2)在chatter topic上發(fā)布std_msgs/Float64消息;

(3)以每秒10次頻率發(fā)布消息。

#include "ros/ros.h"
#include "std_msgs/Float64.h"
#include int main(int argc, char **argv)
{
  //初始化ROS,名稱重映射(唯一),必須為base name,不含/
  ros::init(argc, argv, "talker"); 
  //為進(jìn)程的節(jié)點(diǎn)創(chuàng)建一個(gè)句柄,第一個(gè)創(chuàng)建的NodeHandle初始化節(jié)點(diǎn)
  ros::NodeHandle n;
  //告訴主機(jī)要在chatter topic上發(fā)布一個(gè)std_msgs消息
  //主機(jī)會(huì)訂閱所有chatter topic節(jié)點(diǎn),參數(shù)表示發(fā)布隊(duì)列的大。ㄏ冗M(jìn)先出)
  ros::Publisher chatter_pub = n.advertise("chatter", 1000);
  ros::Rate loop_rate(10);  //自循環(huán)頻率
  int count = 0;
  while (ros::ok())
  {
    std_msgs::Float64 msg;
    msg.data = count*1.0;
    //輸出,用來(lái)替代prinf/cout
    ROS_INFO("Position is: %f", msg.data); 
chatter_pub.publish(msg);
    ros::spinOnce();
    //休眠,來(lái)使發(fā)布頻率為10Hz
    loop_rate.sleep();
    ++count;
  }
  return 0;
}

6.撰寫訂閱節(jié)點(diǎn)(listener.cpp)。

實(shí)現(xiàn)功能:

(1)初始化ROS系統(tǒng);

(2)訂閱chatter topic消息;

(3)進(jìn)入自循環(huán),等待消息到達(dá);

(4)消息到達(dá),調(diào)用chatterCallback()函數(shù)。
666.png

7.修改CMakeLists.txt。

(1)打開程序包zmotion(catkin_ws / src / zmotion)路徑,找到CMakeLists.txt文件。

10.png

(2) 最低版本修改為2.8.3。
72.png

(3) 找到find_package,添加依賴包message_generation。
73.png

(4)確保generate_message被調(diào)用。
74.png

(5)確保在運(yùn)行時(shí)依賴中也添加了該消息的依賴。
75.png

(6)修改build下的設(shè)置

11.png

①將include_directories中include解注釋。

12.png
761.png

②在指定位置添加下列代碼下面的代碼 可以任意添加在build中,我為了美觀所以添加在相應(yīng)位置的,只要在build中添加都生效。
762.png

13.png

(7)最后,列出完整的CMakeLists.txt。

cmake_minimum_required(VERSION 2.8.3)
project(zmotion)
find_package(catkin REQUIRED COMPONENTS
  roscpp
  std_msgs
  message_generation
)
## Generate added messages and services with any dependencies listed here
generate_messages(
   DEPENDENCIES
   std_msgs
)
###################################
## catkin specific configuration ##
###################################
catkin_package(
# INCLUDE_DIRS include
# LIBRARIES zmotion
# CATKIN_DEPENDS roscpp std_msgs
# DEPENDS system_lib
CATKIN_DEPENDS message_runtime
)
###########
## Build ##
###########
## Specify additional locations of header files
## Your package locations should be listed before other locations
include_directories(
  include
  ${catkin_INCLUDE_DIRS}
)
## Declare a C++ executable
## With catkin_make all packages are built within a single CMake context
## The recommended prefix ensures that target names across packages don't collide
add_executable(talker src/talker.cpp)
add_executable(listener src/listener.cpp)
## Rename C++ executable without prefix
add_dependencies(talker $zmotion_generate_messages_cpp)
## Specify libraries to link a library or executable target against
target_link_libraries(talker
   ${catkin_LIBRARIES}
)
target_link_libraries(listener
   ${catkin_LIBRARIES}
)

8.修改package.xml文件。
68.png

14.png

9.編譯。
09.png

10.運(yùn)行程序。

(1)打開一個(gè)新終端,啟動(dòng)ROS系統(tǒng);
00.png

(2)打開一個(gè)新終端,運(yùn)行發(fā)布節(jié)點(diǎn);
001.png

(3)打開一個(gè)新終端,運(yùn)行訂閱節(jié)點(diǎn);
002.png

(4)結(jié)果。

運(yùn)行發(fā)布節(jié)點(diǎn)程序的結(jié)果:
003.png

運(yùn)行訂閱節(jié)點(diǎn)程序的結(jié)果:
004.png

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

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

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

正運(yùn)動(dòng)技術(shù)專注于運(yùn)動(dòng)控制技術(shù)研究和通用運(yùn)動(dòng)控制軟硬件產(chǎn)品的研發(fā),是國(guó)家級(jí)高新技術(shù)企業(yè)。正運(yùn)動(dòng)技術(shù)匯集了來(lái)自華為、中興等公司的優(yōu)秀人才,在堅(jiān)持自主創(chuàng)新的同時(shí),積極聯(lián)合各大高校協(xié)同運(yùn)動(dòng)控制基礎(chǔ)技術(shù)的研究,是國(guó)內(nèi)工控領(lǐng)域發(fā)展最快的企業(yè)之一,也是國(guó)內(nèi)少有、完整掌握運(yùn)動(dòng)控制核心技術(shù)和實(shí)時(shí)工控軟件平臺(tái)技術(shù)的企業(yè)。主要業(yè)務(wù)有:運(yùn)動(dòng)控制卡_運(yùn)動(dòng)控制器_EtherCAT運(yùn)動(dòng)控制卡_EtherCAT控制器_運(yùn)動(dòng)控制系統(tǒng)_視覺控制器__運(yùn)動(dòng)控制PLC_運(yùn)動(dòng)控制_機(jī)器人控制器_視覺定位_XPCIe/XPCI系列運(yùn)動(dòng)控制卡等等。

二維碼-02.jpg


 

狀 態(tài): 離線

公司簡(jiǎn)介
產(chǎn)品目錄

公司名稱: 深圳市正運(yùn)動(dòng)技術(shù)有限公司
聯(lián) 系 人: 戴德弟
電  話: 0755-32976042
傳  真: 0755-2606 6955
地  址: 深圳市寶安區(qū)西鄉(xiāng)洲石路陽(yáng)光工業(yè)園A1棟5樓
郵  編: 518100
主  頁(yè):
 
該廠商相關(guān)技術(shù)文摘:
強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核MotionRT750(一):驅(qū)動(dòng)安裝、內(nèi)核配置與使用
AI視覺外觀檢測(cè)在全自動(dòng)測(cè)包機(jī)中的應(yīng)用
C#上位機(jī)與運(yùn)動(dòng)控制卡網(wǎng)絡(luò)通訊的周期上報(bào)
DELTA機(jī)械手多物料視覺分揀的應(yīng)用
正運(yùn)動(dòng)×Eplan再啟新篇 | 24款新品模型上線,打造電氣設(shè)計(jì)全鏈路閉環(huán)
激光振鏡運(yùn)動(dòng)控制器在玻璃激光鉆孔上的應(yīng)用
EtherCAT運(yùn)動(dòng)控制卡應(yīng)用開發(fā)教程之Java
賦能柔性制造:MotionRT750實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核,提效不止10%!
AI視覺外觀檢測(cè)技術(shù)在NR功率電感質(zhì)量控制中的方案應(yīng)用
PCIe EtherCAT實(shí)時(shí)運(yùn)動(dòng)控制卡PCIE464同步跟隨/皮帶跟隨加工應(yīng)用
機(jī)器視覺運(yùn)動(dòng)控制一體機(jī)在背靠背點(diǎn)膠焊錫機(jī)上的應(yīng)用
PCIe EtherCAT實(shí)時(shí)運(yùn)動(dòng)控制卡PCIE464點(diǎn)膠工藝中的同步/提前/延時(shí)開關(guān)膠
更多文摘...
立即發(fā)送詢問(wèn)信息在線聯(lián)系該技術(shù)文摘廠商:
用戶名: 密碼: 免費(fèi)注冊(cè)為中華工控網(wǎng)會(huì)員
請(qǐng)留下您的有效聯(lián)系方式,以方便我們及時(shí)與您聯(lián)絡(luò)

關(guān)于我們 | 聯(lián)系我們 | 廣告服務(wù) | 本站動(dòng)態(tài) | 友情鏈接 | 法律聲明 | 不良信息舉報(bào)
工控網(wǎng)客服熱線:0755-86369299
版權(quán)所有 中華工控網(wǎng) Copyright©2022 Gkong.com, All Rights Reserved