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

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

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

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

支持多種TMC板

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

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

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

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

adi_tmcl/配置/TMCM-XXXX_Ext.yaml

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

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

圖 1:啟動 TMCM-1636

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

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

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

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

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

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

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

使用 TMCL-IDE 對 TMC 模塊進(jìn)行一次性配置

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

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

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

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

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

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

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

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

移動/停止電機(jī)

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

· /cmd_vel (geometry_msgs/Twist) 設(shè)置電機(jī)的速度。

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

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

· /cmd_trq (std_msgs/Int32) 設(shè)置電機(jī)的扭矩。

注意:多軸 TMC 設(shè)置中,不同電機(jī)有單獨(dú)的主題。

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

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

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

筆記:

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

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

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

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

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

檢索 TMC/電機(jī)信息

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

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

注意:多軸 TMC 設(shè)置中,不同電機(jī)有單獨(dú)的主題。

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

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

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

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

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

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

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

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

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

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

訪問所有 AP 值

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

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

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

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

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

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

訪問所有 GP 值

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

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

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

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

多個 TMC 板設(shè)置

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

多個 CAN 通道中的多個 TMC 板

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

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

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

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

單個 CAN 通道中有多個 TMC 板

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

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

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

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

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

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

集成至 AGV/AMR

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

圖 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ù)格式,因此移動機(jī)器人有望以相同的方式工作。

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

集成到機(jī)械臂中

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

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

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

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉