rosparam简单使用
在ROS中,经常看到nh.param paramtype ("\yaml name", param object, default value)的表达形式,表示将参数通过yaml形式传入。
#include <ros/ros.h>
#include <string>
void timer_callback(const ros::TimerEvent& Event)
{
ROS_WARN("This is the one second time event");
}
int main(int argc, char** argv)
{
ros::Timer publish_timer;
ros::init(argc,argv,"ros_test");
ros::NodeHandle nh("~");
publish_timer = nh.createTimer(ros::Duration(1.0),timer_callback);
std::string s;
nh.param<std::string>("/melodic",s,"hello");
ros::Rate rate(10);
while(ros::ok())
{
ROS_INFO("The string is %s",s.c_str());
rate.sleep();
ros::spinOnce();
}
return 1;
}
参数的加载也可以采用launch文件的形式
<launch>
<node name="test_123" pkg="test" type="test_node" output="screen" />
<param name="melodic" value="this is the test"/>
</launch>