ROS相关

 ROS基础

 https://blog.youkuaiyun.com/shuaiwangcsdn/article/details/74548378

 

 

Publisher Subscribe

消息队列的浅谈:

https://blog.youkuaiyun.com/handsome_for_kill/article/details/81984428

 

 

Callbacks

A "callback" is any function that is called by another function which takes the first function as a parameter.

在c++中用函数指针来实现。

void Callback(char* s) 
{
   std::cout<<s<<std::endl;
}

void fun(void (*Callback)(char*),char* s)
{
    Callback(s);
}
 
int main(int argc,char* argv[])
{
    fun(Callback,"Hello World");
    return 0;
} 
 

ROS中的回调函数:

在订阅话题的时候使用的。所以在使用时,我们需要声明订阅话题的名称,然后选择话题,最后调用Callback函数。

ImageConvertor ic;
ros::Subscriber camera_info_sub_ = nh.subscribe( "/camera/info" , 1, &ImageConvertor::cameraInfoCallback, &ic);

回调函数中传入多个参数的解决方法以及第四个参数的使用: 

https://www.cnblogs.com/feixiao5566/p/4791990.html 

 

 

.launch文件

用于同时启动多个节点

根元素

<launch>
......
</launch>

<node>

    <node pkg="package-name"type="executable-name" name="node-name" />

pkg:节点所在的功能包名称,

type:节点的可执行文件名称,这两个属性等同于在终端中使用rosrun命令执行节点时的输入参数。

name:节点运行的名称,将覆盖节点中init()赋予节点的名称。

这是三个常用参数,此外还有:

output = "screen":将节点的标准输出打印到终端屏幕,默认输出为日志文档;

respawn = "true":复位属性,该节点停止时,会自动重启,默认为false;

required = "true":必要节点,当该节点终止时,launch文件中的其他节点也被终止;

ns = "namespace":命名空间,为节点内的相对名称添加命名空间前缀;

args = "arguments":节点需要的输入参数。

group标签定义命名空间

<group ns="namespace">
      <node pkg="pkg" name="name" type="type"/>
</group>

嵌套复用

<include file="$(dirname)/other.launch" />

相关网址: 

http://www.guyuehome.com/2195

https://blog.youkuaiyun.com/qq_33444963/article/details/77893881

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值