rosパラメータサーバ

6222 ワード

http://wiki.ros.org/roscpp/Overview/Parameter%20Server
ros::NodeHandle:get Param()は、ハンドルの名前空間マッピングパラメータによって(試行に成功しませんでした)
ros::Nodehandle nh;
std:sting global_name,relative_name,default_param;
if(nh.get Param(「/global_name」、global_name))
{
  ...
)
if(nh.get Param(「relativemune」,relativegame)
{

)
//Default value version    デフォルトのパラメータの形式がありますか?上のマップだけはデフォルトのパラメータが割り当てられていませんか?(試してみました。有効です)
nh.param<:string>("default_param", default_param, "default_value");
ros:param:get()はハンドルを通してノードの名前空間を通して直接パラメータをマッピングしない:
std:sting global_name,relative_name,default_param;
if(ros:param:get(「/global muname」、global_name))
{
  ...
)
if(ros:param:get(「relativemuname」、relativegame)
{

)
//Default value version
ros::param::param<:string>("default_param", default_param, "default_value");
パラメータの設定も同様の2つの方法です。
             ハンドルの名前空間によるパラメータのマッピング  
ros::Nodehandle nh;
nh.set Param("/global uparam",5);
nh.set Param(「relativegauparam」、「mystring」);
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 nh ; if ( nh . hasParam ( " my_param " )) { ...

}

if ( ros :: param :: has ( " my_param " )) {

...

}

: , ros

ros::NodeHandle nh("~"); std::string param;
nh.getParam("private_name", param);
ハンドルインターフェースを しない 、インターフェースを する じ を してプライベートパラメータにアクセスします。
std:string param;
ros::param::get("~private_name", param)