网站服务器空间租用,吉林做网站找谁,长沙专业网站设计公司,营销型机械网站学习大纲#xff1a; 1. 编写发布服务器节点
在 ROS 中#xff0c;节点是连接到 ROS 网络的可执行文件。我创建了一个名为 talker 的发布者节点#xff0c;它会向一个主题 chatter 不断发送消息。
首先#xff0c;进入你的工作包 beginner_tutorials#xff08;假设你已…学习大纲 1. 编写发布服务器节点
在 ROS 中节点是连接到 ROS 网络的可执行文件。我创建了一个名为 talker 的发布者节点它会向一个主题 chatter 不断发送消息。
首先进入你的工作包 beginner_tutorials假设你已经完成了 rosbuild 包的创建
cd ~/catkin_ws/src/beginner_tutorials
在 src 目录下创建文件 talker.cpptouch src/talker.cpp 编辑 talker.cpp 文件并粘贴以下代码 代码解释
#include引入 ROS 的头文件和 std_msgs 的字符串消息类。
ros::init()初始化 ROS 节点并将节点命名为 talker。
ros::NodeHandle创建节点句柄控制节点的初始化和关闭。
advertise()声明这个节点将向主题 chatter 发布消息并设置队列大小为 1000。
ros::Rate设置发布频率为 10Hz。
ros::spinOnce()检查是否有回调需要处理。
日志输出ROS_INFO() 打印消息到控制台。
2. 编写订阅服务器节点
接下来我编写了一个订阅者节点 listener它会接收来自 chatter 主题的消息并显示出来。
代码
在 src 目录下创建文件 listener.cpp
touch src/listener.cpp 编辑 listener.cpp 文件并粘贴以下代码 代码解释
回调函数每当收到消息时chatterCallback() 函数会被调用并显示消息内容。
subscribe()订阅 chatter 主题并将收到的消息传递给回调函数。
ros::spin()进入回调循环等待消息到达。
3. 构建您的节点
在 ROS 中我们使用 CMake 来构建项目。在这里我们需要确保我们的 CMake 文件配置正确。
CMake 配置 打开 beginner_tutorials 包的 CMakeLists.txt 文件
nano ~/catkin_ws/src/beginner_tutorials/CMakeLists.txt
在文件末尾添加以下内容 构建步骤
首先进入你的工作区目录cd ~/catkin_ws
使用 catkin_make 命令构建节点catkin_make 构建完成后使用以下命令运行 talker 和 listener 节点。
4. 运行并测试节点
运行发布者节点
在一个终端中启动 roscore /opt/ros/noetic/bin/roscore 在另一个终端中运行发布者节点
source ~/catkin_ws/devel/setup.bash
rosrun beginner_tutorials talker
运行订阅者节点
打开第三个终端并运行订阅者节点
source ~/catkin_ws/devel/setup.bash
rosrun beginner_tutorials listener
会看到类似如下的输出