wiki 鏈結
ros的引數伺服器可以儲存字串,整型,浮點型,布林型,列表,字典,iso8601資料,64基編碼資料.字典資料要有字串鍵.
roscpp的引數api支援所有這些,儘管在使用中常使用strings,integers,floats,booleans.xmlrpc::xmlrpcvalue類實現了其它資料型別
roscpp有兩類引數api,直接版本在ros::param名字空間下,控制代碼版本在ros::nodehandle類下,接下來分別介紹兩種版本:
從引數伺服器內獲取乙個引數值.
a. ros::nodehandle::getparam()方法
通過節點控制代碼取得引數與節點控制代碼的名字空間有關.
ros::nodehandle nh;
std::string global_name, relative_name, default_param;
if (nh.getparam("/global_name", global_name))
if (nh.getparam("relative_name", relative_name))
// default value version
nh.param("default_param", default_param, "default_value");
b.ros::param::get()方法
直接版本獲取引數與節點的名字空間有關.
std::string global_name, relative_name, default_param;
if (ros::param::get("/global_name", global_name))
if (ros::param::get("relative_name", relative_name))
// default value version
ros::param::param("default_param", default_param, "default_value");
控制代碼方式
ros::nodehandle nh;
nh.setparam("/global_param", 5);
nh.setparam("relative_param", "my_string");
nh.setparam("bool_param", false);
直接方式
ros::param::set("/global_param", 5);
ros::param::set("relative_param", "my_string");
ros::param::set("bool_param", false);
控制代碼方式: ros::nodehandle::hasparam()
直接方式: ros::param::has()
控制代碼方式: ros::nodehandle::deleteparam()
直接方式: ros::param::del()
ros::nodehandle::searchparam("bar",key)
ros::param::serch("bar",key)
ROS學習之 cpp引數伺服器
wiki鏈結 wiki.ros.org roscpp overview parameter 20server ros的引數伺服器可以儲存字串,整型,浮點型,布林型,列表,字典,iso8601資料,64基編碼資料.字典資料要有字串鍵.roscpp的引數api支援所有這些,儘管在使用中常使用string...
ROS 引數伺服器
ros中提供了的引數伺服器機制,使用者可以將引數以 yaml 檔案格式儲存在本地,程式執行 執行launch檔案 時動態載入,修改引數並不需要重新編譯。而且,ros中更為人性化的一點就是支援程式執行時動態修改引數,實時的觀測引數對執行結果的影響,極大地方便了引數除錯。ros通過 launch 檔案載...
ROS引數伺服器
ros引數伺服器像是乙個共享記憶體,我們通過節點內的 終端命令,launc 件,任何程序都可以讀取,寫入或者更改引數伺服器上的引數值。例如我們通過執行 以下命令啟動乙個launc 件 roslaunch packgname filenamelaunc 件的內容為 load file find cus...