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

ros入门:使用c++打印hello world

上一节中,我们说明了如何在ubuntu20.04中安装ros

ubuntu20.04安装ros与rosdep-CSDN博客

本节我们说明如何使用c++编写我们的第一个ros程序

创建工作空间

mkdir -p demo01/src

然后进入创建的工作目录demo01下,执行

catkin_make

执行成功之后会在我们demo01目录下生成以下子目录 

创建ros包并添加依赖

进入src目录,执行

catkin_create_pkg hello roscpp rospy std__msgs

其中catkin_create_pkg 命令后的hello为ros工程包(是一个目录)的名称,自定义即可,我们这里命名为hello,后边跟的三个参数依赖是固定的

代码文件编写

进入demo01/src/hello/src目录下

cd demo01/src/hello/src

创建代码文件

vim hello.cc

 内容如下

#include"ros/ros.h"int main(int argc,char* argv[]){ros::init(argc,argv,"hello_node");ROS_INFO("hello world ros");return 0;
}

然后保存退出

代码编译

回到上一层目录下,打开CMakeLi

add_executable(${PROJECT_NAME}_node src/hello.cc)

ts.txt文件

vim CMakeLists.txt

找到以下红框中的内容,去掉注释,并修改add_executable部分为

 有关更多cmake知识可参考

CMake入门教程_cmake静态test.c编译-CSDN博客

cmake命令使用-CSDN博客

保存退出

然后回到demo1根目录下执行

catkin_make

 编译成功后显示

 执行

首先让配置文件生效

source ./devel/setup.sh

要执行代码,需要启动ros,如下,打开一个新的终端,启动ros

roscore

然后回到原来的终端执行

rosrun hello hello_node


http://www.mrgr.cn/news/64256.html

相关文章:

  • 使用Nginx作为反向代理和负载均衡器
  • Global Season of AI - 渐入佳境的生成式 AI
  • Row GCD
  • 深入探讨SEO分析技巧助力网站流量提升
  • 在Java中 try catch 会影响性能吗?
  • Spring Bean 的 Scope 作用域
  • try…catch…finally语句里return语句的执行顺序是怎样的?
  • 【北京迅为】《STM32MP157开发板嵌入式开发指南》-第七十章 Buildroot制作根文件系统
  • 约瑟夫环问题——4个解法总结(C语言)
  • HTMLCSS:旋转的动态卡片
  • LInux系统编程(二)操作系统和进程
  • 锁策略, cas 和 synchronized 优化过程
  • Python爬虫详解:原理、常用库与实战案例
  • 【刷题13】链表专题
  • 使用WebAssembly优化Web应用性能
  • nodejs入门教程20:nodejs文件系统
  • uniapp-vue3比对筛选
  • 软件测试基础三(前端知识)
  • Elastix-基于ITK的医学图像配准库
  • Java中对象的转移(1)——序列化与反序列化
  • 初探Flink的序列化
  • 手撕快排的三种方法:让面试官对你刮目相看
  • 到底要不要用SAP Screen Personas
  • Unity中的屏幕坐标系
  • Matlab车牌识别课程设计报告模板(附源代码)
  • 【OJ题解】C++实现反转字符串中的每个单词