學習6 編譯ROS程式包,和學習ROS節點

2021-08-02 07:29:31 字數 2053 閱讀 9885

設定好所有依賴項後,就可以編譯這個程式包了。

1 編譯ros程式包

1.1 catkin_make

在catkin工作空間裡,直接執行catkin_make就可以編譯了。(官方教程說,相當於依次執行了cmake和make)

$ catkin_make [make_targets] [-dcmake_variables=...]

比如在之前新建的catkin_ws目錄裡執行,會編譯src資料夾下所有的catkin工程。

$ catkin_make install
就可以生成很多東西了。(build devel install資料夾。)

如果**不在src目錄裡,則會有點麻煩,比如在mysrc目錄裡,則用下面**

$ catkin_make --source my_src

$ catkin_make install --source my_src

2 ros節點

2.1 安裝小烏龜模擬器

因為我們一開始是完整安裝的。。所以應該不需要額外安裝了。下面**是直接安裝的**

sudo apt-get install ros-indigo-ros-tutorials

2.2  lunix chown命令

命令格式 : chown [選項]... [所有者][:[組]] 檔案...

必要引數

-c 顯示更改的部分的資訊

-f 忽略錯誤資訊

-h 修復符號鏈結

-r 處理指定目錄以及其子目錄下的所有檔案

-v 顯示詳細的處理資訊

-deference 作用於符號鏈結的指向,而不是鏈結檔案本身

可選引數

--reference=《目錄或檔案》 把指定的目錄/檔案作為參考,把操作的檔案/目錄設定成參考檔案/目錄相同擁有者和群組

--from=《當前使用者:當前群組》 只有當前使用者和群組跟指定的使用者和群組相同時才進行改變

--help 顯示幫助資訊

--version 顯示版本資訊

2.3 修改~/.ros

資料夾使用者歸屬**為

$ sudo chown -r ~/.ros

也就是把根目錄下的ros資料夾修改許可權為當前使用者(預設是只有root)

2.4 執行roscore**

$ roscore

這行**,就啟動了roscore,這個不能關,要開啟其他的終端再用。 

2.5 用rosnode

ctrl+alt+t 開啟新終端,下面的**會顯示正在執行的節點。

rosnode list
正常情況下,應該顯示/rosout節點。

試著輸入下面的命令

$ rosnode info /rosout
這會輸出/rosout節點的一些資訊,

2.6 rosrun執行節點

rosrun可以執行一些已經存在的節點,包名+節點名。

$ rosrun [package_name] [node_name]
我們知道我們之前學過了,我們可以做一些包,乙個包裡有src,裡面可能有若干個東西。應該就是乙個包裡有很多節點把。

$ rosrun turtlesim turtlesim_node
執行了turtlesim包裡的turtlesim_node節點。

這個時候應該看到乙個小烏龜。

再去執行2.5的命令,這次會多個/turtlesim節點。

有個好玩的命令rosnode ping來看ping。

比如rosnode ping turtlesim

可以看到延遲。(疑問:從**去ping這個節點?用ubuntu來ping?還是節點去ping?)

ctrl+c, linux下萬能關閉終端程式的方法。

ROS學習筆記(三) 編譯ROS程式包

contents 編譯程式包 使用 catkin make 開始編譯你的程式包 一旦安裝了所需的系統依賴項,我們就可以開始編譯剛才建立的程式包了。注意 如果你是通過apt或者其它軟體包管理工具來安裝ros的,那麼系統已經預設安裝好所有依賴項。記得事先source你的環境配置 setup 檔案,在ub...

Ros學習 建立程式包

乙個程式包要想稱為catkin程式包必須符合以下要求 程式包必須包含乙個catkin 版本的cmakelists.txt檔案,而catkin metapackages中必須包含乙個對cmakelist.txt檔案的引用。每個目錄下只能有乙個程式包。source opt ros indigo setu...

ROS入門 1 7 編譯ROS程式包

一旦安裝了所需的系統依賴項,我們就可以開始編譯剛才建立的程式包了。注意 如果你是通過apt或者其它軟體包管理工具來安裝ros的,那麼系統已經預設安裝好所有依賴項。記得事先source你的環境配置 setup 檔案,在ubuntu中的操作指令如下 source opt ros groovy setup...