C++版ROSノードのmain関数で、起動ファイルを通じてboolパラメータを設定します。
チャットGPT
main
C++ バージョンの ROS ノードの関数で起動ファイルを通じてパラメータを設定するにはbool
、roslaunch
パラメータ サーバーを使用して実現できます。サンプルコードは次のとおりです。
#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 依存関係が適切にインストールおよび構成されていることを確認してください。