在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

實現機器人操作系統(tǒng)——ADI Trinamic電機控制器ROS1驅動程序簡介

eeDesigner ? 來源:eeDesign ? 作者:eeDesign ? 2024-04-24 15:43 ? 次閱讀

摘要

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

什么是ROS?

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

該技術的工作原理是什么?

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

ROS1和ROS2系統(tǒng)必須相互隔離,但通過ROS橋,這兩個系統(tǒng)之間 可進行通信和交換數據。有關更多信息,請訪問ros2/ros1_bridge 頁面。

因素 ROS1 ROS2
通信協(xié)議 XMLRPC + TCPROS DDS
構建 ROS 主控制器 + 分布式 完全分布式
構建系統(tǒng) Catkin (基于cmake) colcon/ament (基于cmake)
構建輸出 ros_ws/devel ros_ws/install
參數 全局參數服務器
動態(tài)重新配置
每節(jié)點參數
發(fā)布 XML Python (+XML、YAML 替代語言)
命令 roslaunch、rosrun、rostopic等 ros2 launch、 ros2 run、 ros2 topic等
平臺 主要是ubuntu Linux、MacOS、 Windows

ROS支持的平臺

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

如需獲取完整列表,請查看這些鏈接,以了解ROS1支持的平臺 和 ROS2支持的平臺。

ROS基本概念

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

wKgZomYouAyAfkQtAABv5Cu4bTs574.svg

圖1. ROS基本數據流。

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

功能包

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

節(jié)點

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

主題

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

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

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

wKgaomYouA6AbcqUAACRm9qyDJk262.svg

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

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

消息

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

以下是適用于ROS消息格式的示例傳感器:

飛行時間(ToF)攝像頭:sensor_msgs/Image、sensor_msgs/PointCloud

慣性測量單元(IMU)傳感器:sensor_msgs/Imu

電機控制:geometry_msgs/Twist

車輪編碼器:geometry_msgs/TwistStamped、geometry_msgs/TwistWithCovarianceStampe


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

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

服務

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

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

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

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

wKgaomYouBGAMND0AADLM9Qi0Yw791.svg

圖3. 使用服務示例

client_node發(fā)送請求,將命令速度設置為2.5 mbps。server_node收到請求后,立即發(fā)送"success"響應。

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

ADI是ROS-Industrial聯盟的正式成員,ROS-Industrial是一個開源項目,旨在將ROS軟件的高級功能擴展到與工業(yè)相關的硬件與應用。5 作為該技術社區(qū)的一份子,ADI最初的目標是面向工業(yè)領域開發(fā)專用模塊。

ADI針對不同的專用模塊開發(fā)了ROS驅動程序。為了展示所開發(fā)的驅動程序并利用ROS的功能,ADI公司開發(fā)了ADI自主移動機器人(ADAM)作為內部自主移動平臺(參見圖4)。

wKgaomYouBOAKOPZAABWyEJmNJk709.jpg

圖4. ADAM。

ADAM:ADI自主移動機器人

ADAM由ROS提供支持,并搭載ROS支持的不同器件。該平臺展示了ADI公司的ROS驅動程序如何集成到移動機器人應用中,特別是自主導航應用。

圖5所示為具有不同模塊的ADAM的簡化硬件圖。該ADAM主要連接以下器件:

ADIS16470或 IMU傳感器采用精密陀螺儀、加速度計、磁力計和壓力傳感器的多軸組合,這些器件主要用作檢測反饋,用 于改善位置/方向估算。

ADBMS6948是一款多單元電池監(jiān)控器,可測量多達16個串聯連接的電芯,在整個溫度范圍內具有較高的測量精度。

EVAL-ADTF3175D-NXZ 或 CMOS ToF提供出色的高分辨率,與深度計算和處理、激光驅動器電源管理以及具有參考固件/軟件的開發(fā)工具相輔相成,可帶來更多優(yōu)勢。

ADI Trinamic電機控制器是用于嵌入式運動控制的完整板級解決方案,融合ADI Trinamic運動控制專業(yè)知識,以及ADI的模擬工藝技術和電源設計技能。1


wKgaomYouBiALHjcAAbWokD3AdA652.svg

Figure 5. A high level hardware diagram of the ADAM.

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

wKgZomYouByAY-znAAP0AKMv5is027.svg

圖6. ADAM導航堆棧的簡化ROS架構。

ADI Trinamic電機控制器ROS驅動程序

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

名為TMCL-IDE的IDE可幫助用戶開發(fā)應用并對這些模塊輕松重新編程。該IDE使用TMCL實現獨立操作,或使用標準化 CANopen? 協(xié)議,允許用戶設置參數、實時對數據進行可視化處理,并開發(fā)/調試獨立應用。

由于TMC使新型智能執(zhí)行器成為可能,并且隨著ROS日益普及,尤其是在機器人領域,我們針對這些模塊開發(fā)了額外支持,如ROS驅動程序,從而進一步擴展制造業(yè)和工業(yè)自動化的用例。具 體來說,預計這些ROS驅動程序將能夠:

控制電機的速度、位置或扭矩

監(jiān)控電機控制器和電機信息


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

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

軟件架構

圖7所示為adi_tmcl的簡化軟件架構。

wKgZomYouB6Ae8zNAAXkKXwWEMM140.svg

圖7. adi_tmcl的簡化軟件架構。

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

特性

adi_tmcl提供一系列特性,包括:

支持不同的TMC板

使用TMCL-IDE對TMC模塊進行一次性配置

移動/停止電機

能夠獲取TMC/電機信息

執(zhí)行自定義TMC命令

能夠獲取所有軸參數值

能夠獲取所有全局參數值

支持多個TMC板設置

輕松集成到ROS系統(tǒng)/應用中


敬請關注下月《模擬對話》中的文章"掌控搭載ROS1驅動程序的Trinamic電機控制器",文中將詳細探討這些特性,并舉例說明如何使用這些特性。

結論

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

在本文中,我們展示了ROS如何擴展器件,帶來以下優(yōu)勢:

提供附加價值,比如擴展工業(yè)應用;

通過ROS通信框架,與第三方產品可輕松實現互操作;

提供更廣泛的選項,方便客戶在其系統(tǒng)中選用ADI產品;

快速評估新技術并立即開始使用。欲了解更多信息,請訪問ADI工業(yè)機器人頁面。


有關更多信息,請訪問ADI的工業(yè)機器人 頁面。

探索永不停息

敬請關注有關ADI Trinamic電機控制器ROS1驅動程序的文章,深入了解相關信息

敬請關注未來發(fā)表的有關用于ADI Trinamic電機控制器的ROS2的文章

下載ADI Trinamic電機控制器ROS1和ROS2 驅動程序

購買ADI Trinamic電機 和 電機控制器 評估版


參考電路

1 "用于電機和運動控制的ADI Trinamic硬件。" ADI公司

2 "ros2/ros2_documentation。" GitHub, Inc.

3"了解ROS節(jié)點。" ROS.org.

4"服務。" ROS.org.

5"ROS-Industrial。" ROS.org.

"適合運動控制應用的工業(yè)通信協(xié)議和接口。" ADI公司

作者

wKgaomYouCCAFsr_AAAahT5m9Ic131.jpg

Krizelle Apostol

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

wKgaomYouCSAJ1f9AAAbHXuXn_c900.jpg

Jamila Macagba

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

wKgaomYouCaAAhS6AAAauAee8EY785.jpg

Maggie Maralit

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

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • ADI
    ADI
    +關注

    關注

    146

    文章

    45821

    瀏覽量

    249961
  • 機器人
    +關注

    關注

    211

    文章

    28418

    瀏覽量

    207083
  • 電機控制
    +關注

    關注

    3534

    文章

    1879

    瀏覽量

    268800
  • 操作系統(tǒng)

    關注

    37

    文章

    6822

    瀏覽量

    123331
  • 電機控制器
    +關注

    關注

    20

    文章

    525

    瀏覽量

    32063
收藏 人收藏

    評論

    相關推薦

    ROS機器人開發(fā)更便捷,基于RK3568J+Debian系統(tǒng)發(fā)布!

    的快速發(fā)展,智能機器人設備已成為工業(yè)自動化體系的佼佼者,而智能機器人設備核心—ROS系統(tǒng),是機器人領域的集大成者,主要應用于
    發(fā)表于 07-09 11:38

    ROS RIKIBOT基礎--使用系列 第一章節(jié)】ROS機器人硬件系統(tǒng) 精選資料分享

    控制器ROS控制器采用樹莓派4B或者Jetson Nano,運行運行Ubuntu Mate18.04或Ubuntu18.04系統(tǒng),具體型號有差異。
    發(fā)表于 07-30 06:59

    如何搭建實體機器人ros底盤

    底盤:與ros相關的控制系統(tǒng)部分。底盤上的STM32主控板需要擁有如下處理功能。執(zhí)行機構: 兩個直流電機帶動主動輪。驅動系統(tǒng):電源子
    發(fā)表于 01-20 07:36

    ROS機器人開發(fā)更便捷,基于RK3568J+Debian系統(tǒng)發(fā)布!

    ROS系統(tǒng)是什么 ROS(Robot Operating System)是一個適用于機器人的開源的元操作系統(tǒng)。它提供了
    發(fā)表于 11-30 16:01

    ROS的含義與機器人操作系統(tǒng)ROS的介紹

    Operating System 的縮寫,原本是斯坦福大學的一個機器人項目,后來由 WillowGarage 公司發(fā)展,目前由 OSRF(Open Source Robotics Foundation,Inc)公司維護的開源項目。 1、首先是一個
    發(fā)表于 09-26 14:08 ?12次下載

    機器人操作系統(tǒng)ROS詳細介紹

    ),提供類似于操作系統(tǒng)的服務,包括硬件抽象描述、底層驅動程序管理、共用功能的執(zhí)行、程序間消息傳遞、程序發(fā)行包管理,它也提供一些工具和庫用于獲取、建立、編寫和執(zhí)行多機融合的
    發(fā)表于 11-18 18:09 ?2390次閱讀

    AD5252-微控制器操作系統(tǒng)驅動程序

    AD5252-微控制器操作系統(tǒng)驅動程序
    發(fā)表于 05-13 15:15 ?4次下載
    AD5252-微<b class='flag-5'>控制器</b>無<b class='flag-5'>操作系統(tǒng)</b><b class='flag-5'>驅動程序</b>

    AD7298-微控制器操作系統(tǒng)驅動程序

    AD7298-微控制器操作系統(tǒng)驅動程序
    發(fā)表于 05-22 11:13 ?6次下載
    AD7298-微<b class='flag-5'>控制器</b>無<b class='flag-5'>操作系統(tǒng)</b><b class='flag-5'>驅動程序</b>

    AD5790-微控制器操作系統(tǒng)驅動程序

    AD5790-微控制器操作系統(tǒng)驅動程序
    發(fā)表于 05-22 20:30 ?3次下載
    AD5790-微<b class='flag-5'>控制器</b>無<b class='flag-5'>操作系統(tǒng)</b><b class='flag-5'>驅動程序</b>

    AD7291-微控制器操作系統(tǒng)驅動程序

    AD7291-微控制器操作系統(tǒng)驅動程序
    發(fā)表于 05-22 20:39 ?9次下載
    AD7291-微<b class='flag-5'>控制器</b>無<b class='flag-5'>操作系統(tǒng)</b><b class='flag-5'>驅動程序</b>

    AD5449-微控制器操作系統(tǒng)驅動程序

    AD5449-微控制器操作系統(tǒng)驅動程序
    發(fā)表于 05-23 09:17 ?4次下載
    AD5449-微<b class='flag-5'>控制器</b>無<b class='flag-5'>操作系統(tǒng)</b><b class='flag-5'>驅動程序</b>

    ROS機器人操作系統(tǒng)實現原理(上)

    本文介紹ROS機器人操作系統(tǒng)(Robot Operating System)的實現原理,從最底層分析ROS代碼是如何
    的頭像 發(fā)表于 05-19 17:41 ?994次閱讀
    <b class='flag-5'>ROS</b><b class='flag-5'>機器人</b><b class='flag-5'>操作系統(tǒng)</b>的<b class='flag-5'>實現</b>原理(上)

    ROS機器人操作系統(tǒng)實現原理(下)

    本文介紹ROS機器人操作系統(tǒng)(Robot Operating System)的實現原理,從最底層分析ROS代碼是如何
    的頭像 發(fā)表于 05-19 17:42 ?1170次閱讀

    ROS機器人操作系統(tǒng)

    可能很多初學者聽到機器人操作系統(tǒng),就被“操作系統(tǒng)”幾個字嚇住了。其實簡單點說,**ROS就是一個分布式的通信框架,幫助程序進程之間更方便地通
    的頭像 發(fā)表于 05-19 17:46 ?2196次閱讀
    <b class='flag-5'>ROS</b><b class='flag-5'>機器人</b><b class='flag-5'>操作系統(tǒng)</b>

    移動機器人ROS操作系統(tǒng)原理與應用

    ROS1不同的是,ROS2誕生的目的就是為了讓更多機器人使用,所以在設計上更加符合技術的發(fā)展方向,也運用了很多最近的技術框架。
    發(fā)表于 01-02 12:28 ?587次閱讀
    移動<b class='flag-5'>機器人</b>與<b class='flag-5'>ROS</b><b class='flag-5'>操作系統(tǒng)</b>原理與應用
    主站蜘蛛池模板: 狠狠色综合色综合网络| 一级特黄色片| 热re久久精品国产99热| 99热最新在线| 三级在线网址| 国产乱理论片在线观看理论| 国产大乳喷奶水在线看| 综合激情在线| 操伊人| 韩国男女无遮挡高清性视频| 性日韩精品| 国产又色| 国产午夜精品理论片免费观看| 亚洲精品亚洲人成毛片不卡| 天天插天天透| 国产手机在线| 国产偷啪视频一区| 国产精品久久久久久久成人午夜 | 一级毛片在线| 国产一级做a爱免费视频| 视频免费观看网址| 扒开双腿猛进入jk校视频| 欧美大胆一级视频| 欧美7777kkkk免费看258| 一区二区三区高清在线观看| 精品视频卡1卡2卡3| 国产精品久久久福利| 五月激情六月婷婷| 午夜免费片| 成人毛片一区二区三区| 国产亚洲精品自在久久77| 2021精品国产综合久久| 日韩一级在线观看| 免费午夜视频| 亚洲成人综合网站| 午夜va| 一级全免费视频播放| 国产精品美乳在线观看| 日本不卡视频| aaaa大片| 亚洲美女激情视频|