ROS ノード関数の C++ バージョンでは、起動ファイルを通じて bool パラメータを設定します

C++版ROSノードのmain関数で、起動ファイルを通じてboolパラメータを設定します。

チャットGPT

mainC++ バージョンの ROS ノードの関数で起動ファイルを通じてパラメータを設定するにはboolroslaunchパラメータ サーバーを使用して実現できます。サンプルコードは次のとおりです。

#include <ros/ros.h>

int main(int argc, char** argv)
{
    
    
  // 初始化ROS节点
  ros::init(argc, argv, "your_node_name");

  // 创建一个节点句柄
  ros::NodeHandle nh("~");  // 使用私有命名空间

  // 从launch文件中读取bool型参数,参数名为"your_param_name",默认值为false
  bool your_param;
  nh.param("your_param_name", your_param, false);

  // 使用读取到的参数进行相应的逻辑处理
  if (your_param)
  {
    
    
    ROS_INFO("Your parameter is true");
    // 执行相关操作
  }
  else
  {
    
    
    ROS_INFO("Your parameter is false");
    // 执行其他操作
  }

  // 进入循环等待
  ros::spin();

  return 0;
}

上記の例では、このnh.param()関数を使用して、指定されたパラメーターをパラメーター サーバーから読み取り、変数your_param_nameに格納します。your_paramこのパラメータが起動ファイルで設定されていない場合は、デフォルト値が使用されますfalseその後、読み取ったパラメータに従って、対応する論理処理を実行できます。

起動ファイルでは、<param>タグを使用してこのパラメータを設定できます。

<node pkg="your_package" type="your_node_executable" name="your_node_name" output="screen">
  <param name="your_param_name" value="true"/>  <!-- 或者 value="false" -->
</node>

your_packageパッケージ名、your_node_executable実行可能ファイル名、your_node_nameノード名、your_param_nameパラメータ名に置き換えて、必要に応じてパラメータの値を設定してください。

上記のコードと起動ファイルの設定により、C++ バージョンの ROS ノードの起動ファイルを通じて型パラメータを設定しbool、これらのパラメータを使用してノードで対応する操作を実行できます。ノードの実行時に起動ファイルが正しく指定されていること、および関連する ROS 依存関係が適切にインストールおよび構成されていることを確認してください。

おすすめ

転載: blog.csdn.net/NICAI001/article/details/131521073
おすすめ