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,让它处理回调函数!