当前位置:   article > 正文

ROS笔记—NodeHandle的使用_ros::nodehandle

ros::nodehandle

发布话题

advertise (const std::string &topic, uint32_t queue_size, bool latch=false)

uint32_t queue_size

1. 设置为0
A value of 0 here means an infinite queue, which can be dangerous. queue_size大小会影响内存的使用。
2. 设置为1,2,3
适用于10Hz的更新情况
设置为1,意味着系统总是使用最新发布的数据,only care about the latest measurement.
3. 设置大于10
系统更需要按顺序执行,例如digital_IO信号。

latch是可选的,他是布尔值,如果设置为true,会保存发布方的最后一条消息,并且新的订阅的对象连接到发布方时,发布方会将这条消息发送个订阅者。如果设置为false最后一条消息就不保存了。

订阅话题

subscribe (const std::string &topic, uint32_t queue_size, void(T::*fp)(M), T *obj, const TransportHints &transport_hints=TransportHints())

客户端调节服务节点

      serviceClient (const std::string &service_name, bool persistent=false, const M_string &header_values=M_string())

发布话题/发布服务

advertiseService (const std::string &service, bool(T::*srv_func)(MReq &, MRes &), T *obj)

创建定时器

createTimer (Rate r, Handler h, Obj o, bool oneshot=false, bool autostart=true) const

从参数服务中获得某个参数bool

getParam (const std::string &key, std::string &s) const

设置参数void

setParam (const std::string &key, const char *s) const

ros::NodeHandle node_handle_;

laser_scan_subscriber_ = node_handle_.subscribe("laser_scan", 1, &LaserScan::ScanCallback, this);

void Foo::callback(const std_msgs::Empty::ConstPtr& message)
{
}
Foo foo_object;
ros::Subscriber sub = handle.subscribe("my_topic", 1, &Foo::callback, &foo_object);

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/49868
推荐阅读
相关标签
  

闽ICP备14008679号