日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ROS知识【11-1】:建立用户自己的工作空间、功能包

發布時間:2025/3/21 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ROS知识【11-1】:建立用户自己的工作空间、功能包 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、關于功能包 的操作指令

????????圍繞功能包的操作指令,這些指令存在的必要性,就是直接對某個包進行操作,尤其是如果有上百個功能包,直接從linux進行操作是低效的:

二、烏龜案例分析

當ros安裝好后,用下列指令測試:

roscore # 打開主進程 rosrun turtlesim turtlesim_node # 運行turtlesim 包中的turtlesim_node節點臺 rosrun turtlesim turtle_teleop_key # 運行turtlesim 包中的turtle_teleop_key節點,

顯然是在功能包turtlesim下有兩個節點turtlesim_node和 turtle_teleop_key節點。

三、圍繞turtlesim包的操作

3.1 roscd指令進入turtlesim元功能包

執行命令:

roscd turtlesim #進入烏龜功能包 rosls #查看包內文件結構 rosnode list #查看包內的節點細節

注意:/opt/ros/melodic/share下面的應用包,都是元應用包;其中也有turtlesim,但此包不是用戶開發的包,因此只能看,不能修改。

???

四、用戶自己開發的開端

????????以上小烏龜的控制蘊含了ROS的基本原理,但它是前面的人開發出來發布出來的,如今擺在面前的問題是,我們自己如何能開發一個類似的程序?那么,就從這里開始吧。

????????建立工作空間,其意義在于,每一個工作空間,可以包含多個功能包;換個角度,每一個功能包只能依附在某個工作空間內部。即便我們需要修改別人的ros代碼,也需要生成一個工作空間,再把需要修改的代碼導入該空間,然后修改、編譯、發布。

4.1 建立工作空間

mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src catkin_init_workspace

可以看出,上文中建立一個工作空間catkin_ws, 而且通過catkin_init_workspace使得該空間與

/opt/ros/melodic/share/catkin/cmake/toplevels.cmake 相連接;使得本地編譯擴大為全局編譯。 ??

4.2 編譯

編譯整個工作空間。

cd ~/catkin_ws catkin_make

編譯后,工作空間多了兩個目錄:build和devel;多出來的空間有:

  • src:代碼空間(Source Space)

  • build:編譯空間(Build Space)

  • devel:開發空間(Development Space)

  • install:安裝空間(Install Space)

4.3 設置環境變量:

source ./devel/setup.bash

查看執行后效果:echo $ROS_PACKAGE_PATH

?

4.4 創建功能包

cd ~/catkin_ws/src catkin_create_pkg learning_communication std_msgs rospy roscpp

以上代碼在工作空間catkin_ws上定義一個功能包;

注意:功能包不可嵌套,只能平行放置;也就是如果繼續追加功能包,就重復上面操作。

?4.5 編譯并設置環境

cd ~/catkin_ws catkin_make source ./devel/setup.bash

以上就是創建功能包的全部過程。

五、將工作空間改造成Eclipse工程

5.1 首先將ros的教程代碼安裝進本地電腦

sudo apt-get install ros- melodic-ros-tutorials

查看安裝地點:

rospack find roscpp-tutorials

顯示:

/opt/ros/melodic/share/roscpp_tutorials

5.2 改變方式,rosc_tutorials將源碼導入本地catkin_ws中

因為導入的是功能包,和上文建的learning_communication處于平行的路徑上,所以:

cd ~/catkin_ws/src

?執行:

git clone https://github.com/ros/ros_tutorials.git

將github上的ros_tutorials.git源碼下載解壓到本地,catkin_ws/src下面。

5.3 將本地catkin_ws中內容轉成Eclipe工程

編譯本地

cd ~/catkin_ws catkin_make source ./devel/setup.bash

?創建eclipse工程

cd ~/catkin_ws catkin_make --force-cmake -G"Eclipse CDT4 - Unix Makefiles"

設置終端環境變量到Eclipse

awk -f $(rospack find mk)/eclipse.awk build/.project > build/.project_with_env && mv build/.project_with_env build/.project

注意:如果上部執行不成功,查看

???? echo $ROS_PACKAGE_PATH ? ? ??

用該命令查看是否設置正確。或執行【 source ./devel/setup.bash 】

如果需要調試程序,還需要執行下面命令來設置代碼編譯成debug版本:

cmake ./src -DCMAKE_BUILD_TYPE=Debug

?項目的文件在目錄 ~/catkin_ws/build,至此Eclipse工程文件創建完成。

?至此,從Eclipse環境導入現有工程,將catkin_ws導入即可用。注意:小烏龜的案例就在catkin_ws內部,導入Eclipse可以編輯查看修改。

總結

以上是生活随笔為你收集整理的ROS知识【11-1】:建立用户自己的工作空间、功能包的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。