一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

地瓜機(jī)器人 ? 2022-11-10 15:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

系列文章背景介紹

X3派的官方文檔雖然非常的詳細(xì),但是基本都是以簡(jiǎn)單的單一示例進(jìn)行相關(guān)的介紹和說(shuō)明,不是特別的系統(tǒng),當(dāng)我們了解文檔的內(nèi)容、嘗試了示例的運(yùn)行后仍然需要系統(tǒng)化的去掌握相關(guān)的知識(shí),特別是新手小白用戶(hù),會(huì)非常迷茫且無(wú)從下手。

該系列文章的相關(guān)知識(shí)來(lái)源于官方文檔,以從零開(kāi)始的視角將文檔中所有的示例整合到自己的ROS應(yīng)用包中變得更加系統(tǒng)化,也方便后續(xù)配合自己的業(yè)務(wù)進(jìn)行優(yōu)化和迭代。

一、開(kāi)發(fā)環(huán)境的搭建

請(qǐng)根據(jù)自己的情況完成X3派系統(tǒng)的安裝、網(wǎng)絡(luò)的配置以及TROS的部署,相關(guān)資料可以查閱官方文檔,相信大家也都比較熟悉了。

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

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

ssh root@192.168.31.192

2、在X3派中執(zhí)行下面的命令腳本進(jìn)行系統(tǒng)的更新以及ROS2編譯環(huán)境依賴(lài)安裝

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

二、創(chuàng)建ROS2工作空間

知識(shí)點(diǎn):在ROS中,一個(gè)工作空間可以包含很多的功能包。

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

mkdir -p /opt/workspace/geek_tros

2、進(jìn)入到剛剛創(chuàng)建好的工作空間中

cd /opt/workspace/geek_tros

3、加載啟動(dòng)ROS2環(huán)境

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

source /opt/tros/setup.bash

三、創(chuàng)建一個(gè)ROS2功能包

1、通過(guò)下面命令創(chuàng)建名為example_package的功能包,通過(guò)這個(gè)功能包實(shí)現(xiàn)簡(jiǎn)單的人體檢測(cè)功能

知識(shí)點(diǎn):ros2 pkg create是創(chuàng)建功能包的命令,example_package為功能包的名稱(chēng)(可以自己取名),命令中的--build-type參數(shù)為功能包的編譯方式,--dependencies參數(shù)為功能包關(guān)聯(lián)的相關(guān)依賴(lài)庫(kù),其中rclcpp和sensor_msgs均為ROS2官方提供庫(kù),dnn_node為地平線(xiàn)的AI推理庫(kù)。

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

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

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

四、開(kāi)發(fā)工具

接下來(lái)就是代碼的編寫(xiě)工作了,這里使用CLion作為我們的后續(xù)的開(kāi)發(fā)工具,我們將借助CLion的遠(yuǎn)程開(kāi)發(fā)方式進(jìn)行功能包的程序開(kāi)發(fā)。

1、下載并安裝Clion

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

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

pYYBAGNsmk2AZGmfAADwBcWZnQk384.png

3、點(diǎn)擊Clion的【File】->【Settings】

poYBAGNsmk2AGrf4AAEIIz5SH2M612.png

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

poYBAGNsmk6AcerZAAGm8iaEsI0186.png

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

pYYBAGNsmk6AS4XWAAHBlNK34JY564.png

6、再?gòu)棾龅拇翱谥羞x擇【+】,根據(jù)圖示填寫(xiě)X3派的遠(yuǎn)程主機(jī)連接相關(guān)配置信息,點(diǎn)擊【OK】

pYYBAGNsmk6AZYAuAAFh53b_evQ815.png

7、配置成功后會(huì)看到如下圖所示的信息,點(diǎn)擊【OK】

pYYBAGNsmk-ANjmOAAGdrd1kFpo537.png

8、根據(jù)下圖所示,打開(kāi)遠(yuǎn)程主機(jī)的文件游覽器

poYBAGNsmk-AXPTAAAFIe_qTvD0432.png

9、在彈出的界面中,通過(guò)下拉菜單選擇剛剛配置的遠(yuǎn)程主機(jī)

poYBAGNsmk-AaQmmAAENNXvvtAI063.png

10、選擇后你會(huì)看到X3派遠(yuǎn)程主機(jī)上的文件資源

pYYBAGNsmk-AQCV8AAEjoQAwdBU308.png

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

poYBAGNsmk-Adfh9AAGKizJZpSA033.pngpoYBAGNsmlCAfao1AAGt-bmP22A150.png

12、到這里我就完成了遠(yuǎn)程開(kāi)發(fā)的相關(guān)配置,在項(xiàng)目名上右鍵可以看到相關(guān)的操作菜單,每次修改完代碼,我們進(jìn)行本地程序和X3派遠(yuǎn)程程序的上傳和下載操作

pYYBAGNsmk-AJbkqAAGgTgt5QS4325.png

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

pYYBAGNsmlCAcCXdAAGrcDdHfSo597.png

14、你也可以使用CLion中的命令行工具直連X3派進(jìn)行命令行的調(diào)試

pYYBAGNsmlCAEwh0AAGsJWOAgy8809.png

五、本章節(jié)概述

通過(guò)本章節(jié)的閱讀,你將掌握TROS的部署、開(kāi)發(fā)環(huán)境的搭建、工作空間及功能包的創(chuàng)建、開(kāi)發(fā)工具及遠(yuǎn)程開(kāi)發(fā)方式配置。
下一節(jié)我們將進(jìn)行example_package功能包的開(kāi)發(fā),實(shí)現(xiàn)完整的人體檢測(cè)應(yīng)用。

原作者:MakerYang

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5152

    文章

    19675

    瀏覽量

    317592
  • AIoT
    +關(guān)注

    關(guān)注

    8

    文章

    1511

    瀏覽量

    32450
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    RT-Thread Nano硬核移植指南:手把手實(shí)現(xiàn)VGLite圖形驅(qū)動(dòng)適配 | 技術(shù)集結(jié)

    VGLite是NXP提供的輕量級(jí)2D圖形API,本文將手把手帶你實(shí)現(xiàn)VGLite圖形驅(qū)動(dòng)適配RT-Thread。文章分為上、下兩篇,將手把手教您移植。上篇對(duì)RT-ThreadNano內(nèi)核與Finsh組件進(jìn)行移植,下篇?jiǎng)t教您改寫(xiě)S
    的頭像 發(fā)表于 07-17 14:40 ?621次閱讀
    RT-Thread Nano硬核移植指南:<b class='flag-5'>手把手</b>實(shí)現(xiàn)VGLite圖形驅(qū)動(dòng)適配 | 技術(shù)集結(jié)

    手把手教你如何調(diào)優(yōu)Linux網(wǎng)絡(luò)參數(shù)

    在高并發(fā)網(wǎng)絡(luò)服務(wù)場(chǎng)景中,Linux內(nèi)核的默認(rèn)網(wǎng)絡(luò)參數(shù)往往無(wú)法滿(mǎn)足需求,導(dǎo)致性能瓶頸、連接超時(shí)甚至服務(wù)崩潰。本文基于真實(shí)案例分析,從參數(shù)解讀、問(wèn)題診斷到優(yōu)化實(shí)踐,手把手教你如何調(diào)優(yōu)Linux網(wǎng)絡(luò)參數(shù),支撐百萬(wàn)級(jí)并發(fā)連接。
    的頭像 發(fā)表于 05-29 09:21 ?208次閱讀

    ros2教程

    電子發(fā)燒友網(wǎng)站提供《ros2教程.pdf》資料免費(fèi)下載
    發(fā)表于 05-23 09:12 ?1次下載

    正點(diǎn)原子Linux系列全新視頻教程來(lái)啦!手把手教你MP257開(kāi)發(fā)板,讓您輕松入門(mén)!

    正點(diǎn)原子Linux系列全新視頻教程來(lái)啦!手把手教你MP257開(kāi)發(fā)板,讓您輕松入門(mén)! 、視頻觀(guān)看 正點(diǎn)原子手把手教你學(xué)STM32MP257
    發(fā)表于 05-16 10:42

    GPU顯卡維修避坑指南:手把手教你識(shí)別行業(yè)套路!

    的今天,高端顯卡維修已成“暴利暗流”。虛高報(bào)價(jià)、偷換配件、技術(shù)陷阱……用戶(hù)稍有不慎,輕則損失數(shù)萬(wàn),重則設(shè)備報(bào)廢。今天小助手將揭露行業(yè)亂象,手把手教你識(shí)別套路,并推薦
    的頭像 發(fā)表于 04-02 20:31 ?965次閱讀
    GPU顯卡維修避坑指南:<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>識(shí)別行業(yè)套路!

    《零基礎(chǔ)開(kāi)發(fā)AI Agent——手把手教你用扣子做智能體》

    《零基礎(chǔ)開(kāi)發(fā)AI Agent——手把手教你用扣子做智能體》是本為普通人量身打造的AI開(kāi)發(fā)指南。它不僅深入淺出地講解了Agent的概念和發(fā)展,還通過(guò)詳細(xì)的工具介紹和實(shí)戰(zhàn)案例,幫助讀者快速掌握
    發(fā)表于 03-18 12:03

    手把手教你做星閃無(wú)人機(jī)—KaihongOS星閃無(wú)人機(jī)開(kāi)發(fā)實(shí)戰(zhàn)》系列課程課件匯總

    為助力開(kāi)發(fā)者迅速掌握『KaihongOS輕量系統(tǒng)開(kāi)發(fā)技術(shù)』與『星閃無(wú)線(xiàn)通信技術(shù)』,實(shí)現(xiàn)快速上手與深度體驗(yàn),“開(kāi)鴻Developer社區(qū)”攜手“電子發(fā)燒友”再次聯(lián)合推出《手把手教你做星閃無(wú)人機(jī)
    發(fā)表于 03-18 10:33

    手把手教你做PC-KaihongOS筆記本電腦開(kāi)發(fā)實(shí)戰(zhàn)》課件匯總

    ”攜手“電子發(fā)燒友”聯(lián)合推出了 《KaihongOS手把手系列直播課程》,該系列課程以實(shí)際產(chǎn)品為案例,詳細(xì)講解每個(gè)產(chǎn)品的開(kāi)發(fā)全流程。 此次首發(fā)內(nèi)容是《手把手教你做PC-KaihongOS筆記本電腦開(kāi)發(fā)
    發(fā)表于 03-18 10:25

    【第四章 定時(shí)任務(wù)】手把手教你玩轉(zhuǎn)新版正點(diǎn)原子云

    【第四章 定時(shí)任務(wù)】手把手教你玩轉(zhuǎn)新版正點(diǎn)原子云 承接上篇,除了報(bào)警聯(lián)動(dòng)這個(gè)功能,原子云還有個(gè)特色功能也是各開(kāi)發(fā)者喜歡用的,定時(shí)任務(wù)功能。 【正點(diǎn)原子】云平臺(tái):原子云(點(diǎn)擊登錄原子云) 前言
    發(fā)表于 03-13 10:19

    【第章 透?jìng)鞑呗浴?b class='flag-5'>手把手教你玩轉(zhuǎn)新版正點(diǎn)原子云

    【第章 透?jìng)鞑呗浴?b class='flag-5'>手把手教你玩轉(zhuǎn)新版正點(diǎn)原子云 1. 本次實(shí)驗(yàn)使用正點(diǎn)原子D40 Mini 4G Cat1 DTU數(shù)傳模塊 1.1 D40數(shù)傳模塊資料 具體使用和資料下載可到:D40 Mini
    發(fā)表于 03-05 16:52

    開(kāi)發(fā)者集結(jié)!《手把手教你做星閃無(wú)人機(jī)》第二課開(kāi)講啦!

    開(kāi)發(fā)者集結(jié)!《手把手教你做星閃無(wú)人機(jī)》第二課開(kāi)講啦!
    的頭像 發(fā)表于 02-17 19:40 ?372次閱讀
    開(kāi)發(fā)者集結(jié)!《<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>做星閃無(wú)人機(jī)》第二課開(kāi)講啦!

    手把手教你做星閃無(wú)人機(jī)》即將開(kāi)播,鎖定15日晚七點(diǎn)!

    ”再次聯(lián)合推出《手把手教你做星閃無(wú)人機(jī)—KaihongOS星閃無(wú)人機(jī)開(kāi)發(fā)實(shí)戰(zhàn)》系列課程,該課程與《手把手教你做PC—KaihongOS筆記本電腦開(kāi)發(fā)實(shí)戰(zhàn)》同步并行,
    的頭像 發(fā)表于 01-13 19:42 ?523次閱讀
    《<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>做星閃無(wú)人機(jī)》即將開(kāi)播,鎖定15日晚七點(diǎn)!

    手把手教你做PC》課程即將啟動(dòng)!深開(kāi)鴻引領(lǐng)探索KaihongOS筆記本電腦開(kāi)發(fā)實(shí)戰(zhàn)

    ”攜手“電子發(fā)燒友”聯(lián)合推出了《KaihongOS手把手系列直播課程》,該系列課程以實(shí)際產(chǎn)品為案例,詳細(xì)講解每個(gè)產(chǎn)品的開(kāi)發(fā)全流程。此次首發(fā)內(nèi)容是《手把手教你做PC-
    的頭像 發(fā)表于 01-06 20:46 ?580次閱讀
    《<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>做PC》課程即將啟動(dòng)!深開(kāi)鴻引領(lǐng)探索KaihongOS筆記本電腦開(kāi)發(fā)實(shí)戰(zhàn)

    Air780E模組LuatOS開(kāi)發(fā)實(shí)戰(zhàn) —— 手把手教你搞定數(shù)據(jù)打包解包

    本文要說(shuō)的是低功耗4G模組Air780E的LuatOS開(kāi)發(fā)實(shí)戰(zhàn),我將手把手教你搞定數(shù)據(jù)打包解包。
    的頭像 發(fā)表于 12-03 11:17 ?634次閱讀
    Air780E模組LuatOS開(kāi)發(fā)實(shí)戰(zhàn) —— <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>搞定數(shù)據(jù)打包解包

    手把手教你通過(guò)宏集物聯(lián)網(wǎng)工控屏&amp;網(wǎng)關(guān)進(jìn)行協(xié)議轉(zhuǎn)換,將底層PLC/傳感器的數(shù)據(jù)轉(zhuǎn)換為T(mén)CP協(xié)議并傳輸?shù)接脩?hù)

    手把手教你通過(guò)宏集物聯(lián)網(wǎng)工控屏&網(wǎng)關(guān)進(jìn)行協(xié)議轉(zhuǎn)換,將底層PLC/傳感器的數(shù)據(jù)轉(zhuǎn)換為T(mén)CP協(xié)議并傳輸?shù)接脩?hù)終端
    的頭像 發(fā)表于 08-15 13:29 ?1112次閱讀
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>通過(guò)宏集物聯(lián)網(wǎng)工控屏&amp;網(wǎng)關(guān)進(jìn)行協(xié)議轉(zhuǎn)換,將底層PLC/傳感器的數(shù)據(jù)轉(zhuǎn)換為T(mén)CP協(xié)議并傳輸?shù)接脩?hù)