国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

實(shí)現(xiàn)機(jī)器人操作系統(tǒng)——ADI Trinamic電機(jī)控制器ROS1驅(qū)動(dòng)程序簡(jiǎn)介

發(fā)布時(shí)間:2024-4-17 17:43    發(fā)布者:eechina
作者:Krizelle Paulene Apostol,軟件系統(tǒng)工程師;
Jamila Macagba,軟高級(jí)件系統(tǒng)工程師;
Maggie Maralit,軟件系統(tǒng)涉及工程經(jīng)理
ADI公司

摘要

機(jī)器人操作系統(tǒng)(ROS)驅(qū)動(dòng)程序基于ADI產(chǎn)品而開發(fā),因此可直接在ROS生態(tài)系統(tǒng)中使用這些產(chǎn)品。本文將概述如何在應(yīng)用、產(chǎn)品和系統(tǒng)(例如,自主導(dǎo)航、安全氣泡地圖和數(shù)據(jù)收集機(jī)器人)中使用和集成這些驅(qū)動(dòng)程序;以及這樣將如何有助于迅速評(píng)估新技術(shù),并避免出現(xiàn)與第三方產(chǎn)品的互操作性問題。在本文探討的所有產(chǎn)品中,將重點(diǎn)關(guān)注最近發(fā)布的用于ADI Trinamic™電機(jī)控制器的ROS驅(qū)動(dòng)程序,該驅(qū)動(dòng)程序是用于嵌入式運(yùn)動(dòng)控制的完整板級(jí)模塊,融合ADI Trinamic運(yùn)動(dòng)控制專業(yè)知識(shí),以及ADI的模擬工藝技術(shù)和電源設(shè)計(jì)技能。1

什么是ROS?

ROS是機(jī)器人中間件,包含一組軟件庫和強(qiáng)大的開發(fā)工具(從驅(qū)動(dòng)程序到先進(jìn)算法),可作為機(jī)器人系統(tǒng)或應(yīng)用的開發(fā)基礎(chǔ)。ROS涉及多領(lǐng)域(例如,消費(fèi)電子、工業(yè)、汽車等),支持多個(gè)平臺(tái)(Linux、Windows、MacOS和一些嵌入式平臺(tái)),而且100%開源,并提供商業(yè)選項(xiàng)。得益于來自全球技術(shù)社區(qū)的專用資源,ROS可獲得豐富的支持,從而幫助用戶簡(jiǎn)化其設(shè)計(jì)和應(yīng)用。

該技術(shù)的工作原理是什么?

ROS始于2007年,已成為自動(dòng)駕駛汽車、工業(yè)機(jī)器人、飛行器等領(lǐng)域備受歡迎的機(jī)器人開發(fā)原型制作平臺(tái)。經(jīng)過不斷發(fā)展,該技術(shù)現(xiàn)在有兩個(gè)版本:ROS1和ROS2。

ROS1和ROS2系統(tǒng)必須相互隔離,但通過ROS橋,這兩個(gè)系統(tǒng)之間可進(jìn)行通信和交換數(shù)據(jù)。有關(guān)更多信息,請(qǐng)?jiān)L問ros2/ros1_bridge頁面。

表1.ROS1和ROS2的主要區(qū)別2
因素ROS1ROS2
通信協(xié)議XMLRPC + TCPROSDDS
架構(gòu)ROS主控制器 + 分布式完全分布式
構(gòu)建系統(tǒng)Catkin(基于cmake)colcon/ament(基于cmake)
構(gòu)建輸出ros_ws/develros_ws/install
參數(shù)全局參數(shù)服務(wù)器動(dòng)態(tài)重新配置每節(jié)點(diǎn)參數(shù)
發(fā)布XMLPython(+XML、YAML替代語言)
命令roslaunch、rosrun、rostopic等ros2 launch、ros2 run、ros2  topic等
平臺(tái)主要是ubuntuLinux、MacOS、Windows

ROS支持的平臺(tái)

ROS Noetic是ROS1的最終版本,將于2025年5月終止支持,而ROS2自2020年6月推出以來,不斷滾動(dòng)更新發(fā)行版。

如需獲取完整列表,請(qǐng)查看這些鏈接,以了解ROS1支持的平臺(tái)和ROS2支持的平臺(tái)。

ROS基本概念

圖1顯示了ROS的一些基本概念,包括功能包、節(jié)點(diǎn)、主題、服務(wù)和消息。


圖1.ROS基本數(shù)據(jù)流。

注:對(duì)ROS1和ROS2而言,下文討論的ROS基本概念相似。

功能包

ROS功能包是ROS程序或節(jié)點(diǎn)的主要組織系統(tǒng)。這是ROS中最核心的構(gòu)建/發(fā)布項(xiàng)。創(chuàng)建ROS功能包時(shí),請(qǐng)務(wù)必設(shè)置專用的ROS工作空間。該工作空間被稱為catkin工作空間,其中catkin是ROS的官方構(gòu)建系統(tǒng)。

節(jié)點(diǎn)

ROS節(jié)點(diǎn)是在ROS中創(chuàng)建的可執(zhí)行程序。它們是執(zhí)行特定任務(wù)的進(jìn)程。ROS節(jié)點(diǎn)可使用ROS客戶端庫(如Python客戶端庫rospy和C++客戶端庫roscpp)相互通信。節(jié)點(diǎn)可以訂閱和/或發(fā)布主題,也可以提供或使用服務(wù)。3

主題

ROS主題是ROS節(jié)點(diǎn)生成(或者發(fā)布,用ROS的術(shù)語來說)的數(shù)據(jù)通道。

在ROS中,發(fā)布者節(jié)點(diǎn)是主題的廣播者,而訂閱者節(jié)點(diǎn)是主題的收聽者。

在圖2中,generic_motor_control的節(jié)點(diǎn)是廣播者。/cmd_vel是velocity_publisher發(fā)布的主題。這表示,velocity_publisher提供基于電機(jī)控制(或命令速度)的速度信息。

而ros_application的節(jié)點(diǎn)是收聽者,velocity_subscriber訂閱主題/cmd_vel。這表示,velocity_subscriber訪問或使用velocity_publisher提供的速度信息。


圖2.發(fā)布者-訂閱者。

消息

主題是數(shù)據(jù)通道,而消息是數(shù)據(jù),采用與ROS兼容、適用于不同傳感器的格式。

以下是適用于ROS消息格式的示例傳感器:
►        飛行時(shí)間(ToF)攝像頭:sensor_msgs/Image、sensor_msgs/PointCloud
►        慣性測(cè)量單元(IMU)傳感器:sensor_msgs/Imu
►        電機(jī)控制:geometry_msgs/Twist
►        車輪編碼器:geometry_msgs/TwistStamped、geometry_msgs/ TwistWithCovarianceStamped

ROS主題通過發(fā)送消息(主題發(fā)布者)或接收消息(主題訂閱者)進(jìn)行通信,并且必須采用匹配的數(shù)據(jù)類型。

例如,在圖2中,來自velocity_publisher節(jié)點(diǎn)的速度信息(命令速度)希望被velocity_subscriber節(jié)點(diǎn)訪問/使用。如果主題發(fā)布者velocity_publisher使用數(shù)據(jù)類型geometry_msgs/Twist,則主題訂閱者velocity_subscriber也應(yīng)使用相同的數(shù)據(jù)類型。

服務(wù)

發(fā)布者-訂閱者通信模式是開放式模式,不適用于分布式系統(tǒng)中通常需要的回復(fù)交互。4

服務(wù)支持節(jié)點(diǎn)通過發(fā)送請(qǐng)求和接收響應(yīng)進(jìn)行通信。發(fā)布者-訂閱者通信模式使用.srv文件,在這些文件中,指定了請(qǐng)求和響應(yīng)的消息類型等服務(wù)描述。

服務(wù)是雙向同步通信模式,其中包含客戶端和服務(wù)器。服務(wù)器節(jié)點(diǎn)提供服務(wù),而客戶端節(jié)點(diǎn)發(fā)送請(qǐng)求并等待服務(wù)器節(jié)點(diǎn)做出響應(yīng)。

例如,在圖3中,server_node提供服務(wù)SetVelocity.srv以更改命令速度vel。該服務(wù)接受float32格式的速度值,并以字符串格式返回狀態(tài);如果設(shè)置了請(qǐng)求的速度,則為“success”;否則,為“FAIL”。


圖3.使用服務(wù)示例。

client_node發(fā)送請(qǐng)求,將命令速度設(shè)置為2.5 mbps。server_node收到請(qǐng)求后,立即發(fā)送“success”響應(yīng)。

將ADI解決方案集成到ROS生態(tài)系統(tǒng)中

ADI是ROS-Industrial聯(lián)盟的正式成員,ROS-Industrial是一個(gè)開源項(xiàng)目,旨在將ROS軟件的高級(jí)功能擴(kuò)展到與工業(yè)相關(guān)的硬件與應(yīng)用。5作為該技術(shù)社區(qū)的一份子,ADI最初的目標(biāo)是面向工業(yè)領(lǐng)域開發(fā)專用模塊。

ADI針對(duì)不同的專用模塊開發(fā)了ROS驅(qū)動(dòng)程序。為了展示所開發(fā)的驅(qū)動(dòng)程序并利用ROS的功能,ADI公司開發(fā)了ADI自主移動(dòng)機(jī)器人(ADAM)作為內(nèi)部自主移動(dòng)平臺(tái)(參見圖4)。


圖4.ADAM。

ADAM:ADI自主移動(dòng)機(jī)器人

ADAM由ROS提供支持,并搭載ROS支持的不同器件。該平臺(tái)展示了ADI公司的ROS驅(qū)動(dòng)程序如何集成到移動(dòng)機(jī)器人應(yīng)用中,特別是自主導(dǎo)航應(yīng)用。

圖5所示為具有不同模塊的ADAM的簡(jiǎn)化硬件圖。該ADAM主要連接以下器件:
►        ADIS16470或IMU傳感器采用精密陀螺儀加速度計(jì)、磁力計(jì)和壓力傳感器的多軸組合,這些器件主要用作檢測(cè)反饋,用于改善位置/方向估算。
►        ADBMS6948是一款多單元電池監(jiān)控器,可測(cè)量多達(dá)16個(gè)串聯(lián)連接的電芯,在整個(gè)溫度范圍內(nèi)具有較高的測(cè)量精度。
►        EVAL-ADTF3175D-NXZ或CMOS ToF提供出色的高分辨率,與深度計(jì)算和處理、激光驅(qū)動(dòng)器、電源管理以及具有參考固件/軟件的開發(fā)工具相輔相成,可帶來更多優(yōu)勢(shì)。
►        ADI Trinamic電機(jī)控制器是用于嵌入式運(yùn)動(dòng)控制的完整板級(jí)解決方案,融合ADI Trinamic運(yùn)動(dòng)控制專業(yè)知識(shí),以及ADI的模擬工藝技術(shù)和電源設(shè)計(jì)技能。1


圖5.ADAM的簡(jiǎn)化硬件圖。

圖6所示為ADAM的簡(jiǎn)化ROS架構(gòu),該ADAM使用ROS驅(qū)動(dòng)程序和自主導(dǎo)航所需的多個(gè)應(yīng)用/算法節(jié)點(diǎn)。IMU數(shù)據(jù)(/imu/data_raw)和ADI Trinamic電機(jī)控制器反饋(/tmc_info)用作姿態(tài)估算的輸入,從而得到機(jī)器人的里程測(cè)量結(jié)果(/odom)。激光雷達(dá)數(shù)據(jù)(/scan)是用于生成地圖的同步定位與地圖繪制(SLAM)算法的主要輸入;ToF數(shù)據(jù)(/image_raw)還可用作其他SLAM算法的輸入。然后,move_base節(jié)點(diǎn)將等待用戶發(fā)出任何目標(biāo)姿態(tài),并向ADI Trinamic電機(jī)控制器發(fā)送速度命令(/cmd_vel),使機(jī)器人移動(dòng)。


圖6.ADAM導(dǎo)航堆棧的簡(jiǎn)化ROS架構(gòu)。

ADI Trinamic電機(jī)控制器ROS驅(qū)動(dòng)程序

ADI Trinamic電機(jī)控制器(TMC)是用于嵌入式運(yùn)動(dòng)控制的完整板級(jí)解決方案,融合ADI Trinamic運(yùn)動(dòng)控制專業(yè)知識(shí),以及ADI的模擬工藝技術(shù)和電源設(shè)計(jì)技能。1支持單軸/多軸步進(jìn)電機(jī)、無刷直流電機(jī)(BLDC)等各類電機(jī),可用接口包括CAN、EtherCAT®、RS-232、RS-485和USB,支持的協(xié)議涵蓋Trinamic運(yùn)動(dòng)控制語言(TMCL™)、CANopen® over EtherCAT (CoE)、CANopen或Modbus。1

名為TMCL-IDE的IDE可幫助用戶開發(fā)應(yīng)用并對(duì)這些模塊輕松重新編程。該IDE使用TMCL實(shí)現(xiàn)獨(dú)立操作,或使用標(biāo)準(zhǔn)化CANopen®協(xié)議,允許用戶設(shè)置參數(shù)、實(shí)時(shí)對(duì)數(shù)據(jù)進(jìn)行可視化處理,并開發(fā)/調(diào)試獨(dú)立應(yīng)用。

由于TMC使新型智能執(zhí)行器成為可能,并且隨著ROS日益普及,尤其是在機(jī)器人領(lǐng)域,我們針對(duì)這些模塊開發(fā)了額外支持,如ROS驅(qū)動(dòng)程序,從而進(jìn)一步擴(kuò)展制造業(yè)和工業(yè)自動(dòng)化的用例。具體來說,預(yù)計(jì)這些ROS驅(qū)動(dòng)程序?qū)⒛軌颍?br /> ►        控制電機(jī)的速度、位置或扭矩
►        監(jiān)控電機(jī)控制器和電機(jī)信息

TMC ROS驅(qū)動(dòng)程序與TMCL-IDE提供的功能相似,但它能夠讓支持ROS的系統(tǒng)節(jié)點(diǎn)輕松使用這些TMC,無需安裝任何其他驅(qū)動(dòng)程序。截至本文發(fā)表之時(shí),該驅(qū)動(dòng)程序僅支持CAN接口(特別是SocketCAN),其他接口正在開發(fā)中,很快也將提供支持。

此處列出了目前支持的ADI Trinamic電機(jī)控制器模塊(TMCM)。

軟件架構(gòu)

圖7所示為adi_tmcl的簡(jiǎn)化軟件架構(gòu)。

如圖7所示,由于adi_tmcl使用大多數(shù)Linux系統(tǒng)默認(rèn)支持的SocketCAN驅(qū)動(dòng)程序,所以不需要任何額外的驅(qū)動(dòng)程序。此外,adi_tmcl具有自己的TMCL協(xié)議解析器,因而能夠理解用戶請(qǐng)求的符合TMCL的發(fā)送/接收命令。作為最后一層,tmcl_ros_node以發(fā)布者、訂閱者和服務(wù)的形式在ROS系統(tǒng)上提供直接接口。每種形式均提供特定的功能,這些功能可使用以下部分詳細(xì)介紹的一組參數(shù)進(jìn)行配置。


圖7.adi_tmcl的簡(jiǎn)化軟件架構(gòu)。

特性

adi_tmcl提供一系列特性,包括:
1.        支持不同的TMC板
2.        使用TMCL-IDE對(duì)TMC模塊進(jìn)行一次性配置
3.        移動(dòng)/停止電機(jī)
4.        能夠獲取TMC/電機(jī)信息
5.        執(zhí)行自定義TMC命令
6.        能夠獲取所有軸參數(shù)值
7.        能夠獲取所有全局參數(shù)值
8.        支持多個(gè)TMC板設(shè)置
9.        輕松集成到ROS系統(tǒng)/應(yīng)用中

敬請(qǐng)關(guān)注下月《模擬對(duì)話》中的文章“掌控搭載ROS1驅(qū)動(dòng)程序的Trinamic電機(jī)控制器”,文中將詳細(xì)探討這些特性,并舉例說明如何使用這些特性。

結(jié)論

利用ADI Trinamic電機(jī)控制器可實(shí)現(xiàn)新型智能執(zhí)行器。隨著ROS日益普及,尤其是在機(jī)器人領(lǐng)域,我們針對(duì)這些模塊開發(fā)了額外支持,如ROS驅(qū)動(dòng)程序,旨在進(jìn)一步擴(kuò)展制造業(yè)和工業(yè)自動(dòng)化用例。

在本文中,我們展示了ROS如何擴(kuò)展器件,帶來以下優(yōu)勢(shì):
►        提供附加價(jià)值,比如擴(kuò)展工業(yè)應(yīng)用;
►        通過ROS通信框架,與第三方產(chǎn)品可輕松實(shí)現(xiàn)互操作;
►        提供更廣泛的選項(xiàng),方便客戶在其系統(tǒng)中選用ADI產(chǎn)品;
►        快速評(píng)估新技術(shù)并立即開始使用。

欲了解更多信息,請(qǐng)?jiān)L問ADI工業(yè)機(jī)器人頁面。

探索永不停息
►        敬請(qǐng)關(guān)注有關(guān)ADI Trinamic電機(jī)控制器ROS1驅(qū)動(dòng)程序的文章,深入了解相關(guān)信息
►        敬請(qǐng)關(guān)注未來發(fā)表的有關(guān)用于ADI Trinamic電機(jī)控制器的ROS2的文章
►        下載ADI Trinamic電機(jī)控制器ROS1和ROS2驅(qū)動(dòng)程序
►        購買ADI Trinamic電機(jī)和電機(jī)控制器評(píng)估板

參考文獻(xiàn)

1“用于電機(jī)和運(yùn)動(dòng)控制的ADI Trinamic硬件。”ADI公司
2“ros2/ros2_documentation。” GitHub, Inc.
3“了解ROS節(jié)點(diǎn)。” ROS.org.
4“服務(wù)。”ROS.org.
5“ROS-Industrial。”ROS.org.
“適合運(yùn)動(dòng)控制應(yīng)用的工業(yè)通信協(xié)議和接口。”ADI公司

關(guān)于作者

Krizelle Paulene Apostol是一名軟件系統(tǒng)工程師,她所在的ADI公司菲律賓開發(fā)中心與智能運(yùn)動(dòng)和機(jī)器人部門展開合作。她于2019年12月加入ADI公司,工作地點(diǎn)位于菲律賓甲米地。她畢業(yè)于菲律賓信心學(xué)院,獲計(jì)算機(jī)工程學(xué)士學(xué)位。她曾參與眾多項(xiàng)目,專注于ROS、Gazebo仿真、固件開發(fā)、通信協(xié)議和算法開發(fā)等領(lǐng)域。

Jamila“Jam”Aria Macagba是一名高級(jí)軟件系統(tǒng)工程師,她所在的ADI公司菲律賓開發(fā)中心與智能運(yùn)動(dòng)和機(jī)器人部門展開合作。她于2018年7月加入ADI公司,工作地點(diǎn)位于菲律賓甲米地。她畢業(yè)于菲律賓大學(xué)洛斯巴洛斯分校,獲電氣工程學(xué)士學(xué)位。她主要負(fù)責(zé)ROS系統(tǒng)中的ROS驅(qū)動(dòng)程序開發(fā)與集成工作。

Maggie是一名軟件系統(tǒng)設(shè)計(jì)工程經(jīng)理,她所在的ADI公司菲律賓開發(fā)中心與工業(yè)運(yùn)動(dòng)和機(jī)器人部門展開合作。她于2019年4月加入ADI公司,工作地點(diǎn)位于菲律賓甲米地。她畢業(yè)于菲律賓大學(xué)洛斯巴洛斯分校(位于菲律賓拉古納),獲計(jì)算機(jī)科學(xué)學(xué)士學(xué)位。她目前在菲律賓工廠率領(lǐng)工程師小組,為工業(yè)機(jī)器人項(xiàng)目提供支持。從2009年至2010年,Maggie在惠普擔(dān)任應(yīng)用專家;從2010年至2013年,在Canon Information Technologies Phils., Inc.擔(dān)任高級(jí)軟件工程師;從2013年至2015年,在Ionics EMS, Inc.擔(dān)任固件開發(fā)工程師;從2015年至2019年,在新加坡大陸汽車公司擔(dān)任高級(jí)嵌入式軟件工程師。

本文地址:http://m.qingdxww.cn/thread-855433-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專區(qū)
  • 利用SAM E54 Xplained Pro評(píng)估工具包演示CAN轉(zhuǎn)USB橋接器以及基于CAN的主機(jī)和自舉程序應(yīng)用程序
  • 使用SAM-IoT Wx v2開發(fā)板演示AWS IoT Core應(yīng)用程序
  • 使用Harmony3加速TCP/IP應(yīng)用的開發(fā)培訓(xùn)教程
  • 集成高級(jí)模擬外設(shè)的PIC18F-Q71家族介紹培訓(xùn)教程
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品久久99 | 色一情一伦一区二区三 | 日日日夜夜操 | 亚洲一区免费在线观看 | 久久久久久尹人网香蕉 | 青草视频在线观看免费资源 | 经典三级一区在线播放 | 麻豆高清区在线 | 国内精品七七久久影院 | 国产精品国产三级国产普通话对白 | 四虎影院久久久 | 色优影院 | 91精品综合久久久久久五月天 | 亚洲第一黄色网 | 国产三级小视频 | 久久精品国产精品亚洲毛片 | 好好的曰www视频在线观看 | 一级特黄特色的免费大片视频 | 国产无遮挡男女羞羞影院在线播放 | 亚洲一区二区三区日本久久九 | 国产精品九九九久久九九 | 国产91po在线观看免费观看 | 欧美一级特黄视频 | 亚洲欧美日韩中文字幕在线一区 | 巨人万梓良国语免费观看 | a级黑粗大硬长爽 | 久草网视频在线观看 | 免费看黄的网页 | 亚洲影视久久 | 色蜜蜜精品视频在线视频 | 日本人亚洲人jizz | 色噜噜久久| 国内精品久久久久激情影院 | 免费一级a毛片夜夜看 | 亚洲天堂激情 | 欧美国产日本精品一区二区三区 | 国产精品一区在线播放 | 亚洲网站色 | 久草导航| 亚洲最大福利网 | 99视频有精品视频免费观看 |