ROS注意事项

1 ROS中CMakeLists.txt中的project(name)和add_executable(name-exe)这两个名字应该是不同的。

2 ROS中的subscriber需要ros::spin();

3 包含消息类型

#include <package_name/type_name.h>

如 #include <geometry_msgs/Twist.h>

包含这个东西,会定义一个类:

geometry_msgs::Twist 

4 区分节点名称,可执行文件名称和包名称

ns是命名空间名称,可以随意指定,name是基本名称,不能包含/

5 全局名称,相对名称和私有名称,对节点和话题是不同的。

改变ros::init中的东西,是改变节点的名称,而且是基本名称,通过__ns来改变默认的命名空间

nodehandle中的名称,是话题的名称,可以为相对,绝对,私有等名称。不仅如此,还有从subscriber中的topic_name中修改,可谓组合多样。

私有名称就是在话题名称前面加了一个节点名称

remap的时候是把绝对名称remap了,而相对名称不一定行

6 ros::spin()是把权限给ros,让它处理回调函数!

原文地址:https://www.cnblogs.com/qixianyu/p/8280902.html