www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 工業(yè)控制 > 工業(yè)控制
[導讀]機器人操作系統(tǒng) ( ROS ) 是一種機器人中間件,包含一組軟件庫和強大的開發(fā)工具,從驅(qū)動程序到最先進的算法,可用于開發(fā)機器人系統(tǒng)或應用程序。Analog Devices Inc. (ADI) 的 Trinamic 電機控制器支持一種新型智能執(zhí)行器,隨著 ROS 變得越來越流行,尤其是在機器人領(lǐng)域,開發(fā)了額外的模塊支持(如 ROS 驅(qū)動程序),以擴展制造和工業(yè)自動化應用的可用性。

機器人操作系統(tǒng) ( ROS ) 是一種機器人中間件,包含一組軟件庫和強大的開發(fā)工具,從驅(qū)動程序到最先進的算法,可用于開發(fā)機器人系統(tǒng)或應用程序。Analog Devices Inc. (ADI) 的 Trinamic 電機控制器支持一種新型智能執(zhí)行器,隨著 ROS 變得越來越流行,尤其是在機器人領(lǐng)域,開發(fā)了額外的模塊支持(如 ROS 驅(qū)動程序),以擴展制造和工業(yè)自動化應用的可用性。

ADI 的 TMC ROS1 驅(qū)動程序提供的功能類似于該公司的 Trinamic 電機控制語言集成開發(fā)環(huán)境 ( TMCL-IDE ),但有一個關(guān)鍵區(qū)別:它允許支持 ROS 的系統(tǒng)內(nèi)的節(jié)點使用 TMC,而無需安裝額外的驅(qū)動程序。此外,adi_tmcl 集成了自己的 TMCL 協(xié)議解釋器,使其能夠解釋符合 TMCL 標準的用戶請求命令。最后一層 tmcl_ros_node 與 ROS 系統(tǒng)建立直接接口,提供發(fā)布者、訂閱者和服務等功能。這些功能中的每一個都可以使用一組參數(shù)進行定制,這將在以下章節(jié)中詳細討論。

支持多種TMC板

TMC ROS 驅(qū)動程序或 adi_tmcl 旨在支持所有遵守 TMCL 協(xié)議的商用 TMC。截至本文發(fā)表時,它目前支持 CAN 接口(特別是 SocketCAN)。但是,目前正在進行開發(fā),以便很快支持其他接口。這些 TMC 包括 ADI Trinamic PANdrive 智能電機和模塊,可進一步分為步進電機和無刷直流 ( BLDC ) 電機。使用 ROS 參數(shù)使 adi_tmcl 能夠無縫支持不同的 TMC 板。這樣就可以配置 tmcl_ros_node,而無需重建整個包。

在 adi_tmcl/config 目錄中,每個 ADI Trinamic 電機控制器模塊 (TMCM) 都與兩個 YAML 文件相關(guān)聯(lián)。這些文件以人類可讀的數(shù)據(jù)序列化語言編寫,包含 ROS 參數(shù),應在執(zhí)行期間加載:

adi_tmcl/config/自動生成/TMCM-XXXX.yaml

此 YAML 文件是自動生成的,包含特定于模塊的參數(shù),不建議修改,因為它可能會導致節(jié)點執(zhí)行不同。

adi_tmcl/配置/TMCM-XXXX_Ext.yaml

該 YAML 文件包含用戶可以修改以便與開發(fā)板通信的所有參數(shù)(例如,接口名稱)、啟用電機控制和更改 ROS 主題名稱。

舉例來說,如果您想使用TMCM-1636(圖 3),只需啟動圖 1 所示的代碼,其中 adi_tmcl/launch/tmcm_1636.launch 加載專用于 TMCM-1636 的 YAML 文件。

圖 1:啟動 TMCM-1636

圖 2:使用 TMCM-1636 運行 TMC ROS 驅(qū)動程序的代碼片段

圖 3:TMCM-1636 硬件連接圖(頂部);實際設置參考圖(底部)

要使用TMCM-1260(圖 6),請啟動圖 4 所示的代碼,其中 adi_tmcl/launch/tmcm_1260.launch 加載專用于 TMCM-1260 的 YAML 文件。

圖 4:使用 TMCM-1260 啟動 TMC ROS 驅(qū)動程序的命令

圖 5:使用 TMCM-1260 運行 TMC ROS 驅(qū)動程序的代碼片段

圖 6:TMCM-1260 硬件連接圖(頂部);實際設置參考圖(底部)

啟動目錄包括所有受支持的 TMC 板,可以在此處查看。

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

在通過 ROS 使用 TMC 板之前,需要使用電機校準板。所有校準都應使用 TMCL-IDE 進行,并應存儲在 E 2 PROM 中(否則,電機可能無法正確控制)。

· 對于 BLDC 電機模塊(例如 TMCM-1636):

· 有關(guān)如何通過 TMCL-IDE 的向?qū)С毓δ苓M行電機校準的演示/教程,請查看本教程。

· 有關(guān)如何通過 TMCL-IDE 中的 PI 調(diào)整功能進行比例積分 (PI) 調(diào)整的演示/教程,請查看本教程。

· 對于步進電機模塊(例如 TMCM-1260):

· 有關(guān)如何通過 TMCL-IDE 的向?qū)С毓δ苓M行校準的演示/教程,請查看本教程。

校準和調(diào)整后,請確保將所有參數(shù)存儲在電路板的 E 2 PROM 中。這可以通過存儲參數(shù)、STAP 命令和/或創(chuàng)建和上傳 TMCL 程序并啟用自動啟動模式來完成。有些電路板僅支持其中幾個選項。

在配置/調(diào)整 TMC 和電機后,TMC ROS 驅(qū)動程序的設計得到簡化,以便基于使用 TMCL-IDE 的一次性配置來控制電機。

移動/停止電機

TMC ROS 驅(qū)動程序通過發(fā)布以下任一主題來移動/停止電機:

· /cmd_vel (geometry_msgs/Twist) 設置電機的速度。

· /cmd_abspos (std_msgs/Int32) 設置電機的絕對位置。

· /cmd_relpos (std_msgs/Int32) 設置電機的相對位置。

· /cmd_trq (std_msgs/Int32) 設置電機的扭矩。

注意:多軸 TMC 設置中,不同電機有單獨的主題。

用戶可以連接他們的 ROS 系統(tǒng)以發(fā)布到這些特定主題,從而使他們能夠控制電機的運動。主題的選擇取決于應用程序、TMC 設置和所用電機的類型。例如,對于輪式機器人,用戶可能選擇設置速度,而對于夾持器,設置位置會更合適。

作為一個說明性示例,請考慮腳本 adi_tmcl/scripts/fake_cmd_vel.sh。這個簡單的腳本可以控制電機順時針和逆時針旋轉(zhuǎn),并逐步增加速度。要執(zhí)行此操作,請按照圖 7 中所示的命令進行操作。

圖 7:測試 TMC ROS 驅(qū)動程序速度控制的命令

筆記:

· 2 號航站樓和 3 號航站樓并排放置時視野最佳。

· 完成后,您可以在終端 1 中按 Ctrl+C 執(zhí)行命令,然后在終端 2 中按 Ctrl+C 執(zhí)行命令。

· 3號航站樓的指令自動停止。

為了驗證電機是否移動,圖 8 顯示了從 TMC(/tmc_info_0)讀回的實際速度圖。

圖 8:使用 RQT 繪制的電機實際速度(以米/秒為單位)

檢索 TMC/電機信息

系統(tǒng)可以通過訂閱以下主題從 TMC ROS 驅(qū)動程序檢索信息:

· /tmc_info (adi_tmcl/TmcInfo) 提供電壓、TMC 狀態(tài)、實際速度、實際位置和實際扭矩信息。

注意:多軸 TMC 設置中,不同電機有單獨的主題。

用戶可以鏈接他們的 ROS 系統(tǒng)來訂閱這些指定主題。這樣他們就可以監(jiān)控參數(shù)值并根據(jù)參數(shù)值采取行動。例如,在特定于應用程序的場景中,人們可以選擇在檢測到 TMC 狀態(tài)錯誤時停止系統(tǒng),或者在電機到達特定位置后執(zhí)行預編程操作。

例如,adi_tmcl/scripts/fake_cmd_pos.sh 是一個簡單的腳本,它將使電機順時針旋轉(zhuǎn),然后逆時針旋轉(zhuǎn),位置逐漸增加。執(zhí)行圖 9 中所示的命令。

圖 9:測試 TMC ROS 驅(qū)動程序位置控制的命令

為了驗證電機是否移動,圖 10 顯示了從 TMC(/tmc_info_0)讀回的實際位置圖表。

圖 10:使用 RQT 繪制的電機實際位置(以度為單位)

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

系統(tǒng)可以通過執(zhí)行以下功能來訪問和調(diào)整TMC參數(shù):

· tmcl_custom_cmd (adi_tmcl/TmcCustomCmd) 獲取/設置 TMC 軸參數(shù) (AP) 和全局參數(shù) (GP) 的值。

用戶可以選擇將此服務集成到他們的 ROS 系統(tǒng)中以滿足特定的應用需求。此功能使用戶能夠直接從 ROS 驅(qū)動程序配置 TMC 板。例如,用戶可以選擇設置最大電流的軸參數(shù),從而調(diào)整允許的絕對電流水平。但是,用戶必須徹底了解他們通過此功能修改的參數(shù),因為不正確的設置可能會導致 TMC ROS 驅(qū)動程序故障。因此,強烈建議通過 TMCL-IDE 執(zhí)行任何配置。圖 11 提供了調(diào)用此服務的示例,展示了指令類型為 208 的 DrvStatusFlags 的獲取軸參數(shù)操作。

圖11:通過RQT觸發(fā)tmcl_custom_cmd服務

訪問所有 AP 值

系統(tǒng)可以通過以下方式訪問 TMC AP 的值:

· tmcl_gap (adi_tmcl/TmcGapGgpAll) 獲取指定電機/軸的所有 TMC AP 的值。

用戶可以將他們的 ROS 系統(tǒng)與此功能集成,以滿足其特定應用的需求。例如,此服務可以捕獲 TMC 板的當前設置和狀態(tài),包括編碼器步驟、PI 調(diào)諧、換向模式等 AP。

圖 12 顯示了部分輸出示例。通過分析此結(jié)果,用戶可以確認一次性配置是否正確保存在板的 E2PROM中。

圖 13 顯示了執(zhí)行該服務后獲得的部分輸出。該結(jié)果可讓用戶確認一次性配置是否已準確存儲在電路板的 E2PROM中。

圖12:通過RQT觸發(fā)tmcl_gap_all服務

訪問所有 GP 值

系統(tǒng)可以通過以下方式訪問 TMC GP 的值:

· tmcl_ggp (adi_tmcl/TmcGapGgpAll) 獲取所有 TMC GP 的值。

此功能可以檢索 TMC 板的當前配置和狀態(tài)??梢栽L問的一些 GP 包括 CAN 比特率、串行波特率和自動啟動模式。

圖13:通過RQT觸發(fā)tmcl_ggp_all

多個 TMC 板設置

對于可能需要多個 TMC 板的大型系統(tǒng)(例如機械臂),TMC ROS 驅(qū)動程序允許多個設備設置。

多個 CAN 通道中的多個 TMC 板

如圖 14 所示,當用戶每個 TMC 板都有一個 CAN-USB 時, 會添加命名空間來區(qū)分每個節(jié)點的實例。在此特定用例中,需要相應更新comm_interface_name參數(shù)以確保與板正確通信。

圖14:多個 CAN 通道中的多個 TMC 板的示例圖

圖 15:使用多個 CAN 通道運行多個 TMC ROS 驅(qū)動程序的代碼片段

圖 15 中的代碼是用于設置此用例的示例啟動文件。在此示例中,可以通過發(fā)布到/tmcm1/cmd_abspos來控制電機 A ,通過發(fā)布到/tmcm2/cmd_abspos來控制電機 B,通過發(fā)布到/tmcm3/cmd_abspos來控制電機C。

單個 CAN 通道中有多個 TMC 板

TMC ROS 驅(qū)動程序支持的另一種設置是單個 CAN 通道中的多個 TMC 板,如圖 16 所示。與描述的對多個 TMC 板的支持非常相似,引入了命名空間來區(qū)分每個節(jié)點實例。保持所有板的comm_interface_name一致。調(diào)整comm_tx_id和comm_rx_id以確保與每個板準確通信。

圖 17 顯示了用于設置此用例的示例啟動文件。在此示例中,可以通過發(fā)布到/tmcm1/cmd_abspos來控制電機 A ,通過發(fā)布到/tmcm2/cmd_abspos來控制電機 B,通過發(fā)布到 /tmcm3/ cmd_abspos來控制電機C。

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

借助 ROS 提供的消息傳遞系統(tǒng),大型系統(tǒng)可以輕松交換節(jié)點(例如驅(qū)動程序和算法)。TMC ROS 驅(qū)動程序的開發(fā)將這一優(yōu)勢擴展到 TMC 板,從而可以無縫集成到 ROS 系統(tǒng)/應用程序中。

圖 16:單個 CAN 通道中多個 TMC 板的示例圖

圖 17:使用單個 CAN 通道運行多個 TMC ROS 驅(qū)動程序的代碼片段

集成至 AGV/AMR

圖 18 說明了navigation_node如何通過發(fā)送 geometry_msg/Twist 格式的 / cmd_vel來控制移動機器人。然后, motor_controller將通過geometry_msg/Twist 格式的/wheel_velocity發(fā)送反饋,以便navigation_node可以相應地重新校準。

圖 18:AGV/AMR 的簡化架構(gòu)

通過了解navigation_node發(fā)布和訂閱的位置,tmcl_ros_node可以輕松更改motor_controller(圖 19)。與 TMC 信息檢索功能類似,adi_tmcl 發(fā)布有關(guān)車輪速度的實時信息,wheel_velocity_node將車輪速度信息從 adi_tmcl/TmcInfo 轉(zhuǎn)換為 geometry_msg/Twist。由于新架構(gòu)及其集成的 TMC 板符合正確的數(shù)據(jù)格式,因此移動機器人有望以相同的方式工作。

圖 19:帶有 TMC ROS 驅(qū)動程序的 AGV/AMR 的簡化架構(gòu)

集成到機械臂中

為了將 TMC 板集成到帶有機械臂的拾放應用中,圖 20 說明了如何需要多個電機來控制機械臂。與上一個用例類似,用戶需要確保 pick_and_place_node 將訂閱/發(fā)布預期的數(shù)據(jù)格式。

圖 20:帶有通用電機控制器的機械臂(頂部);帶有 TMC 板的機械臂(底部)

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉