那曲檬骨新材料有限公司

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

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

3天內不再提示

【新手掃盲】手把手教你創建自己的ROS2應用(一)

地瓜機器人 ? 2022-11-10 15:52 ? 次閱讀

系列文章背景介紹

X3派的官方文檔雖然非常的詳細,但是基本都是以簡單的單一示例進行相關的介紹和說明,不是特別的系統,當我們了解文檔的內容、嘗試了示例的運行后仍然需要系統化的去掌握相關的知識,特別是新手小白用戶,會非常迷茫且無從下手。

該系列文章的相關知識來源于官方文檔,以從零開始的視角將文檔中所有的示例整合到自己的ROS應用包中變得更加系統化,也方便后續配合自己的業務進行優化和迭代。

一、開發環境的搭建

請根據自己的情況完成X3派系統的安裝、網絡的配置以及TROS的部署,相關資料可以查閱官方文檔,相信大家也都比較熟悉了。

1、以【root】身份SSH登錄到X3派

登錄密碼為:root,IP地址替換為自己的實際IP地址。

ssh root@192.168.31.192

2、在X3派中執行下面的命令腳本進行系統的更新以及ROS2編譯環境依賴安裝

apt -y update && apt -y full-upgrade && apt-get install -y python3-catkin-pkg && pip install empy && pip install -U colcon-common-extensions

二、創建ROS2工作空間

知識點:在ROS中,一個工作空間可以包含很多的功能包。

1、通過下面的命令腳本創建工作空間,比如我希望把工作空間放到/opt/workspace/geek_tros路徑

mkdir -p /opt/workspace/geek_tros

2、進入到剛剛創建好的工作空間中

cd /opt/workspace/geek_tros

3、加載啟動ROS2環境

知識點:該命令的目的是將ROS2環境加入到bash中,可以理解為配置ROS2環境變量的過程,這樣我們才能在后面正常使用ros2的相關命令。值得注意的是這個方式只在當前登錄的命令行終端生效,當我們每次退出登錄或者關閉命令行終端再次進入時都需要重新執行這條命令腳本。

source /opt/tros/setup.bash

三、創建一個ROS2功能包

1、通過下面命令創建名為example_package的功能包,通過這個功能包實現簡單的人體檢測功能

知識點:ros2 pkg create是創建功能包的命令,example_package為功能包的名稱(可以自己取名),命令中的--build-type參數為功能包的編譯方式,--dependencies參數為功能包關聯的相關依賴庫,其中rclcpp和sensor_msgs均為ROS2官方提供庫,dnn_node為地平線的AI推理庫。

ros2 pkg create example_package --build-type ament_cmake --dependencies rclcpp sensor_msgs dnn_node

2、通過下面的命令腳本創建功能包的程序文件:example.cpp,也可以自己取名

touch /opt/workspace/geek_tros/example_package/src/example.cpp

四、開發工具

接下來就是代碼的編寫工作了,這里使用CLion作為我們的后續的開發工具,我們將借助CLion的遠程開發方式進行功能包的程序開發。

1、下載并安裝Clion

下載地址:https://www.jetbrains.com/clion/

2、再本地電腦中找一個位置用于存放功能包的源碼,例如我的是【D:\GeekROS\geek_tros\】,使用Clion打開這個目錄

pYYBAGNsmk2AZGmfAADwBcWZnQk384.png

3、點擊Clion的【File】->【Settings】

poYBAGNsmk2AGrf4AAEIIz5SH2M612.png

4、在彈出的窗口中依次選擇【Toolchains】->【+】->【Remote Host】

poYBAGNsmk6AcerZAAGm8iaEsI0186.png

5、選擇【Remote Host】后的界面如下,其中【Name】自己取一個,然后點擊【齒輪】按鈕

pYYBAGNsmk6AS4XWAAHBlNK34JY564.png

6、再彈出的窗口中選擇【+】,根據圖示填寫X3派的遠程主機連接相關配置信息,點擊【OK】

pYYBAGNsmk6AZYAuAAFh53b_evQ815.png

7、配置成功后會看到如下圖所示的信息,點擊【OK】

pYYBAGNsmk-ANjmOAAGdrd1kFpo537.png

8、根據下圖所示,打開遠程主機的文件游覽器

poYBAGNsmk-AXPTAAAFIe_qTvD0432.png

9、在彈出的界面中,通過下拉菜單選擇剛剛配置的遠程主機

poYBAGNsmk-AaQmmAAENNXvvtAI063.png

10、選擇后你會看到X3派遠程主機上的文件資源

pYYBAGNsmk-AQCV8AAEjoQAwdBU308.png

11、點擊Clion的【File】->【Settings】,在彈出的窗口按照下圖所示選擇X3派中的ROS2工作空間

poYBAGNsmk-Adfh9AAGKizJZpSA033.pngpoYBAGNsmlCAfao1AAGt-bmP22A150.png

12、到這里我就完成了遠程開發的相關配置,在項目名上右鍵可以看到相關的操作菜單,每次修改完代碼,我們進行本地程序和X3派遠程程序的上傳和下載操作

pYYBAGNsmk-AJbkqAAGgTgt5QS4325.png

13、按照上圖的三步操作可以將X3派的程序下載到本地電腦進行代碼編寫

pYYBAGNsmlCAcCXdAAGrcDdHfSo597.png

14、你也可以使用CLion中的命令行工具直連X3派進行命令行的調試

pYYBAGNsmlCAEwh0AAGsJWOAgy8809.png

五、本章節概述

通過本章節的閱讀,你將掌握TROS的部署、開發環境的搭建、工作空間及功能包的創建、開發工具及遠程開發方式配置。
下一節我們將進行example_package功能包的開發,實現完整的人體檢測應用。

原作者:MakerYang

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

    關注

    5092

    文章

    19177

    瀏覽量

    307655
  • AIoT
    +關注

    關注

    8

    文章

    1418

    瀏覽量

    30951
收藏 人收藏

    評論

    相關推薦

    使用myCobot 280機械臂結合ROS2系統搭建機械分揀站

    這篇文章是來自Automatic Addison的開源項目,已獲作者授權轉載自github。本項目的主要內容是使用myCobot 280機械臂結合ROS2系統搭建機械分揀站。
    的頭像 發表于 01-15 09:22 ?141次閱讀
    使用myCobot 280機械臂結合<b class='flag-5'>ROS2</b>系統搭建機械分揀站

    手把手教你做星閃無人機》即將開播,鎖定15日晚七點!

    ”再次聯合推出《手把手教你做星閃無人機—KaihongOS星閃無人機開發實戰》系列課程,該課程與《手把手教你做PC—KaihongOS筆記本電腦開發實戰》同步并行,
    的頭像 發表于 01-13 19:42 ?112次閱讀
    《<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>做星閃無人機》即將開播,鎖定15日晚七點!

    手把手教你做PC》課程即將啟動!深開鴻引領探索KaihongOS筆記本電腦開發實戰

    ”攜手“電子發燒友”聯合推出了《KaihongOS手把手系列直播課程》,該系列課程以實際產品為案例,詳細講解每個產品的開發全流程。此次首發內容是《手把手教你做PC-
    的頭像 發表于 01-06 20:46 ?154次閱讀
    《<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>做PC》課程即將啟動!深開鴻引領探索KaihongOS筆記本電腦開發實戰

    源碼開放 智能監測電源管理教程寶典!

    源碼開放,今天我們學習的是電源管理系統的核心功能模塊,手把手教你如何通過不同的技術手段實現有效的電源管理。
    的頭像 發表于 12-11 09:26 ?341次閱讀
    源碼開放  智能監測電源管理教程寶典!

    Air780E模組LuatOS開發實戰 —— 手把手教你搞定數據打包解包

    本文要說的是低功耗4G模組Air780E的LuatOS開發實戰,我將手把手教你搞定數據打包解包。
    的頭像 發表于 12-03 11:17 ?271次閱讀
    Air780E模組LuatOS開發實戰 —— <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>搞定數據打包解包

    手把手教你如何自制目標檢測框架

    今天,給大家分享篇來自知乎的篇關于目標檢測相關的些內容, 本文基于Pytorch進行編寫。
    的頭像 發表于 11-14 16:39 ?272次閱讀
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>如何自制目標檢測框架

    手把手教你通過宏集物聯網工控屏&amp;網關進行協議轉換,將底層PLC/傳感器的數據轉換為TCP協議并傳輸到用戶

    手把手教你通過宏集物聯網工控屏&網關進行協議轉換,將底層PLC/傳感器的數據轉換為TCP協議并傳輸到用戶終端
    的頭像 發表于 08-15 13:29 ?636次閱讀
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>通過宏集物聯網工控屏&amp;網關進行協議轉換,將底層PLC/傳感器的數據轉換為TCP協議并傳輸到用戶

    手把手教你在orcad中設置CIS元器件數據庫,提高工作效率

    元器件數據庫,就是實現上述查找元件、放置元件時所需要調用的數據庫。本文將手把手教你如何在orcad中配置CIS元器件數據庫。
    的頭像 發表于 06-15 17:27 ?6722次閱讀
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>在orcad中設置CIS元器件數據庫,提高工作效率

    手把手教你排序算法怎么寫

    今天以直接插入排序算法,給大家分享下排序算法的實現思路,主要包含以下部分內容:插入排序介紹插入排序算法實現手把手教你排序算法怎么寫在添加新的記錄時,使用順序查找的方式找到其要插入的位置,然后將
    的頭像 發表于 06-04 08:03 ?773次閱讀
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>排序算法怎么寫

    手把手帶你移植HAL庫函數

    開發者更高效地進行嵌入式開發。手把手帶你移植HAL庫函數HAL庫提供了套抽象接口,使開發者無需直接操作底層硬件寄存器,就能實現對硬件的控制。這種抽象使得代碼能夠更
    的頭像 發表于 05-18 08:04 ?2119次閱讀
    <b class='flag-5'>手把手</b>帶你移植HAL庫函數

    ZMC900E控制器之ROS2環境安裝指南

    ZMC900E是致遠電子研發的最新代高性能EtherCAT控制器,支持ROS2系統,兼備強大功能和實時性,為工業應用帶來新的可能。本文將詳述ROS2特點和安裝,助力用戶在機器人上的二次開發
    的頭像 發表于 04-29 08:24 ?668次閱讀
    ZMC900E控制器之<b class='flag-5'>ROS2</b>環境安裝指南

    手把手教你制作高速吹風機

    前言: 高速吹風 機 量價齊升 市場競爭格局初顯 吹風機是居家生活必備物品,然而傳統型吹風機所帶來的體驗并不佳,高頻使用的女性群體對此更是深有感觸。究其原因主要有:轉速低,通常在每分鐘2萬轉左右
    發表于 03-28 09:22 ?933次閱讀
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>制作高速吹風機

    無刷電機無感FOC控制培訓系列課程

    | 本工作室推出電機控制無感foc電機控制系列培訓課程本課程主要讓想進階的算法工程師,和剛參加工作的工程師或者在校學生能夠進步提高自己的技能,1.從企業用人角度手把手教你做電機控制,
    發表于 03-10 13:52

    系統鏡像Ubuntu_ROS2ROS2是什么意思,帶有ROS2開發環境嗎?

    請問下,百度文庫資料里面,下圖所示的系統鏡像Ubuntu_ROS2ROS2是什么意思,帶有ROS2開發環境嗎?與前面4GB版本的鏡像有什么區別?
    發表于 03-01 23:06

    【先楫HPM5361EVK開發板試用體驗】(原創)6.手把手實戰紅外線傳感器源代碼

    試用體驗】2手把手實戰密鑰管理器 KEYM 【先楫HPM5361EVK開發板試用體驗】3手把手實戰安全數據處理器 SDP 【先楫HPM5361EVK開發板試用體驗】4手把手實戰EXIP
    發表于 02-09 15:08
    百家乐那里玩| 老虎机下载| 噢门百家乐官网玩的技巧| 半圆百家乐官网桌子| 新太阳城工业区| 百家乐官网赌博筹| 明升体育| 百家乐7scs娱乐网| 百家乐官网路单走势图| 大发888下载删除| 网上百家乐官网是不是真的| 威尼斯人娱乐场开户注册| 木棉百家乐官网的玩法技巧和规则| 易胜博娱乐场| 百家乐官网投注网出租| 国际环球娱乐| 百家乐玩法百科| 大发888赌场| 赌博百家乐经验网| 百家乐官网赌场导航| 百家乐长胜攻略| 百合百家乐官网的玩法技巧和规则| 大发888百科| 百家乐网上娱乐场开户注册| 百家乐官网代理打| 赌百家乐官网的方法| 缅甸百家乐赌博有假吗| 可信百家乐官网的玩法技巧和规则 | 澳门百家乐官网的公式| 千亿国际娱乐城| 太阳城小区| 百家乐娱乐网备用网址| 百家乐官网赌博现金网平台排名| 湾仔区| 威尼斯人娱乐平台最新地址| 百家乐平台网| 百家乐娱乐城彩金| 百家乐官网三路法| 在线百家乐官网博彩网| 大发888娱乐场下载ypu rd| 网上百家乐有假的吗|