ROS小問題總結

2021-08-17 02:25:14 字數 2641 閱讀 2817

傳統上作業系統核心和系統服務api都是 c 語言介面的,但是其內部設計理念上又是oo的,所以有物件概念卻沒有對應的語言語法支援。控制代碼的作用就是在 c 語言環境下代替 c++ 的物件指標來用的。建立控制代碼就是構造,銷毀控制代碼就是析構,用控制代碼呼叫函式相當於傳入this指標。

nodehandle節點類

ros::nodehandle nh;
命名空間

命名空間

查閱ros命名空間文件

nodehandle可以指定命名空間給構造器:

ros::nodehandle nh(「my_namespace」);

這使得任何相對名稱可用,nodehandle相對於/my_namespace而不是 。

也可以指定父nodehandle和命名空間:

ros::nodehandle nh1(「ns1」);

ros::nodehandle nh2(nh1, 「ns2」);

這個放nh2 進入/ns1/ns2 命名空間.

全域性名稱

你可以指定全域性名,如:

ros::nodehandle nh("/my_global_namespace");

這通常不鼓勵,因為它阻止了節點被推為命名空間(如roslaunch)。然而,有時在**中使用全域性名稱可能是有用的。

私有名稱

直接使用私有名稱比使用帶有私有名稱的nodehandle方法會更令人混淆。

相反,你必須在乙個私有空間建立乙個新的nodehandle:

ros::nodehandle nh("~my_private_namespace");

ros::subscriber sub = nh.subscribe(「my_private_topic」, …);

上面的例子會訂閱/my_private_namespace/my_private_topic

ros:

:init

(argc, argv,

"hec395");

ros:

:nodehandle nh;

ros:

:publisher imu_pub = nh.advertise

:imu>

("imu_data",50

);ros:

:nodehandle nh

("myname"

);

ros:

:nodehandle nh

("~myname"

);

ros:

:nodehandle nh

("~");

----

----

----

----

----

- 原文:https:

launch中有三個重要的引數,`name`,`pkg`,`type`

分別代表著:

名稱

作用name

節點名,launch可以覆蓋ros::init()

pkg包名,cmakelist中的專案名稱

type

可執行檔名稱 ,add_executable(可執行檔名稱,原始檔)

ps:add_executable($_node src/node/stereo_camera_node.cpp)

啟動roslaunch時,出現

『ascii』 codec can』t decode byte 0xcb in position 29:ordinal not in range(128)

解決方式:

工作空間的目錄含有中文,切換到英文目錄即可

cmake --version   //檢查cmake
如果沒有報錯,說明cmake 安裝公升級的時候更改了安裝路徑,基本在/usr/share,或者在。/usr/local/share中,如果

鏈結出現問題,可以重新安裝cmake。

首先解除安裝cmake

然後安裝build-essential

sudo apt-get install build-essential重新安裝cmake 3.5.1

wget      //連線網路

tar xf cmake-3.5.1.tar.gz

cd cmake-3.5.1

./configure --prefix=/usr // 配置選擇安裝路徑

make

sudo make install

cmake --version

然後可以解決問題

在launch檔案中可以新增語句aunch-prefix="gnome-terminal -e"

小問題總結

最近這幾天,在練習html和css式樣的時候,犯了許多的小錯誤,在此總結一下。首先,是符號的問題,使用css定義式樣的時候,首先第一行 charset utf 8 後面的 及其容易忘記新增,由此造成的後果就是,寫的所有的式樣都不起作用,儘管寫的式樣是對的。其次,寫乙個網頁的 的時候,一定要先把網頁布...

小問題總結

1.executenonquery 查詢不用這個,這個是插入 修改 刪除使用的。查詢返回記錄條數永遠都是 1,插入 修改 刪除則是對應影響的記錄行。2.獲取型別中的私有成員 propertyinfo pinfo typeof sqlconnection getproperty innerconnec...

ROS系統安裝遇到的小問題

最近在嘗試做ros機械人的開發,在虛擬機器中安裝的過程裡面,遇見了幾個比較常見的問題。這裡做一下筆記,並和大家分享一下。linux ubuntu 18.04 lts ros melodic在 sudo rosdep init 時會出現好幾個情況。最常見的就是出現 website may be dow...