ROS教程1--创建节点
2017-05-26 16:16
399 查看
编写cpp文件
//
编译节点
添加如下内容至文件末尾
运行
注意事项
在新的命令行下可能会出现无法找到新建的包的情况,需要更新一下
在 ~/dev/catkin_ws/src 目录下,输入命令
或许也需要重新编译一下,输入命令如下
//example1_a.cpp #include "ros/ros.h" #include "std_msgs/String.h" #include <sstream> int main(int argc, char **argv) { ros::init(argc, argv, "example1_a"); ros::NodeHandle n; ros::Publisher pub = n.advertise<std_msgs::String>("message", 1000); ros::Rate loop_rate(10); while (ros::ok()) { std_msgs::String msg; std::stringstream ss; ss << " I am the example1_a node "; msg.data = ss.str(); //ROS_INFO("%s", msg.data.c_str()); pub.publish(msg); ros::spinOnce(); loop_rate.sleep(); } return 0; }
//
//example1_b.cpp #include "ros/ros.h" #include "std_msgs/String.h" void messageCallback(const std_msgs::String::ConstPtr& msg) { ROS_INFO("I heard: [%s]", msg->data.c_str()); } int main(int argc, char **argv) { ros::init(argc, argv, "example1_b"); ros::NodeHandle n; ros::Subscriber sub = n.subscribe("message", 1000, messageCallback); ros::spin(); return 0; }
编译节点
rosed chapter2_tutorials CMakeLists.txt
添加如下内容至文件末尾
include_directories( include ${catkin_INCLUDE_DIRS} ) add_executable(chap2_example1_a src/example1_a.cpp) add_executable(chap2_example1_b src/example1_b.cpp) add_dependencies(chap2_example1_a chapter2_tutorials_generate_messages_cpp) add_dependencies(chap2_example1_b chapter2_tutorials_generate_messages_cpp) target_link_libraries(chap2_example1_a ${catkin_LIBRARIES}) target_link_libraries(chap2_example1_b ${catkin_LIBRARIES})
运行
roscore //在三个新终端中运行 rosrun chapter2_tutorials chap2_example1_a rosrun chapter2_tutorials chap2_example1_b
注意事项
在新的命令行下可能会出现无法找到新建的包的情况,需要更新一下
在 ~/dev/catkin_ws/src 目录下,输入命令
source devel/setup.bash
或许也需要重新编译一下,输入命令如下
catkin_make //在 ~/dev/catkin_ws/ 目录下 //或者 catkin_make chapter2_tutorials
相关文章推荐
- ROS教程1--创建节点
- ROS 教程之 navigation :在 catkin 环境下创建costmap layer plugin
- 机器人操作系统(ROS)教程20:使用rosserial创建一个publisher
- ROS入门之创建节点
- FlowChart.NET使用教程:创建自定义节点类型(一)
- 创建一个ROS节点
- 机器人操作系统(ROS)教程21:用rosserial创建一个subscriber
- ROS学习(基于Ubuntu 15.04 和ROS Jade)第三章 ROS核心教程 之 5 理解ROS节点
- ROS笔记——创建简单的主题发布节点和主题订阅节点
- ROS 教程之 navigation :在 catkin 环境下创建costmap layer plugin
- ROS教程(十九):手动创建ROS package
- ros_fuerte创建工作空间、创建ROS功能包、编译ROS功能包、创建节点(cpp)、编译节点、使用launch文件、创建srv和msg文件、使用新建的srv和msg文件
- ROS学习(基于Ubuntu 15.04 和ROS Jade)第三章 ROS核心教程 之 3 创建一个ROS包
- ROS教程(五):理解 ROS节点
- ROS下工作空间、功能包的建立,以及创建节点,实现节点之间的通信!
- 创建二叉树 二叉树如何删除节点操作教程
- ROS笔记——创建简单的主题发布节点和主题订阅节点
- ROS教程(十):创建ROS消息和ROS服务
- FlowChart.NET使用教程:创建自定义节点类型(二)
- jQuery EasyUI使用教程之创建具有复选框节点的树