当前位置: 首页 > backend >正文

2.0 第一个Node节点

1.新建包和节点

进入工作目录

cd catkin_ws/src

新建包ssr_pkg,最后3个命令是依赖项

catkin_create_pkg ssr_pkg rospy roscpp std_msgs

其实后面3个也都是包Package

使用命令roscd来进入包的地址

然后使用code指令以ccode打开指定文件

 打开vscode,在新建的包下的src文件夹新建文件chao_node.cpp

然后键入以下代码

#include <ros/ros.h>int main(int argc, char const *argv[])
{printf("Hello World!");return 0;
}

 然后找到该包下的Cmakelists.txt

输入以下代码

add_executable(chao_node src/chao_node.cpp)

最后Ctrl+Shift+B进行编译 (或者进入工作目录地址catkin_ws/,执行catkin_make)

2.运行节点

新建两个终端

一个终端启动ros

另一个终端执行:

rosrun ssr_pkg chao_node

完善代码

#include <ros/ros.h>int main(int argc, char *argv[])
{ros::init(argc,argv,"chao_node");printf("苔花如米小,也学牡丹开。\n");while(ros::ok()){printf("别投,我还能秀!^U^\n");}return 0;
}

初始化ros节点

ros::init(argc,argv,"chao_node");

响应外部条件,比如陷入死循环后,Ctrl+c不管用了(ps:Ctrl+Shift+w强制关闭终端)

while(ros::ok())

增加源码编译规则 1.申明2.链接

add_executable(chao_node src/chao_node.cpp)target_link_libraries(chao_node${catkin_LIBRARIES})

http://www.xdnf.cn/news/13886.html

相关文章:

  • 6.12 操作系统面试题 进程管理
  • Vue 3 前端和 Spring Boot 后端生成 Docker 镜像的标准做法
  • Spring Boot 整合 Smart-Doc:零注解生成 API 文档,告别 Swagger
  • 电压互感器类型与消谐器需求的关联
  • LeetCode 137 有限状态自动机解法原理详解
  • 测试:AWS SDK for JavaScript v2 迁移到 v3
  • 帆软报表实现层层下钻继承上上层报表参数
  • ollama+docker+dify配置指南
  • CQL3D输入文件及参数解释
  • linux中执行脚本命令的source和“.”和“./”的区别
  • 校园网数据安全防线
  • sed命令在修改Rocky Linux镜像源配置文件中的作用:
  • AI+预测3D新模型百十个定位预测+胆码预测+去和尾2025年6月12日第106弹
  • 晶圆搬运机器人与RFID半导体读卡器携手赋能半导体制造高效变革
  • 探索铸铁试验平台在制造行业的卓越价值
  • HALCON第一讲->数据结构、语法规则与思路
  • 深度学习网络入侵检测系统警报
  • RX Clock Correction Attributes
  • 使用freemarker模板 生成 word文档
  • PMP证--开篇
  • AI的镜像:人工智能如何重塑人类认知边界
  • 路由交换技术-思科拓扑搭建
  • 深度解析SerpAPI:AI时代的智能搜索引擎集成方案
  • 农田实时监测与管理系统开发
  • byte数组变量转int变量
  • 一[2]、ubuntu18.04环境 yolov8 + realsenseD435i 实时效果测试
  • Docker 网络模式
  • Doris与DS结合实现MySQL侧的Upsert功能
  • SpringCloud + MybatisPlus:多租户模式与实现
  • Catch2 开源库介绍与使用指南