ROS系列:一、第一个ROS程序

ROS系列:一、第一个ROS程序

背景

简单的学习记录,主要是罗列一下自己使用过程中遇见的问题。

具体流程详见以下链接:
https://blog.csdn.net/hltt3838/article/details/107632397

1、创建工作区

在这里插入图片描述

2、创建功能包

需要查看自己ubuntu版本,在运行语句时加入"–rosdistro kinetic"
在这里插入图片描述
在这里插入图片描述
成功后会生成了两个配置文件,分别是:
package.xml:
CMakeLists.txt:CMake的脚本文件。这个文件包含了一系列的编译指令,包括生成可执行文件,需要哪些源文件,以及哪里可以找到所需头文件和链接库
在这里插入图片描述
进入功能包,并创建src
在这里插入图片描述
编写hello.cpp文件(vi hello.cpp 或者 vim hello.cpp 或者 gedit hello.cpp)
在这里插入图片描述
修改CMakeLists.txt文件
修改前:
修改前
修改后:添加依赖库,这里添加名为roscpp的依赖库,它提供了ROS的C++客户端
修改后
添加声明语句。声明可执行文件的文件名,以及所需的源列表。如果有多个源文件,把他们列在此处,并用空格将其分开。这里要注意hello.cpp的文件地址应该是src/hello.cpp
在这里插入图片描述

添加语句。告诉CMake当链接此可执行文件时需要链接哪些库
在这里插入图片描述

修改package.xml文件
增加两句话即可
在这里插入图片描述

3、编译工作区

出现了曾经遇到的问题,提示catkin_make未安装。按照指令安装也不能解决。
解决方法:在catkin_make之前先在终端中输入:
source /opt/ros/kinetic/setup.bash
在这里插入图片描述

4、其他编译出现的错误

ERROR:没有ros/ros.h文件
在这里插入图片描述
解决方法:
加入以下红框部分
在这里插入图片描述
发现,CMakeLists.txt文件应该是包含了许多的“开关”,我们需要在里面加入相应的依赖包,并且打开相应的开关,才能保证程序各模块间衔接好。

疑问,每次用到ros时都需要在终端source /opt/ros/kinetic/setup.bash,怀疑是安装时哪里出现了问题?
解决方案:
打开一个终端输入:gedit ~/.bashrc
在bashrc文件末尾添加:source ~/catkin_ws/devel/setup.bash
在这里插入图片描述

5、设置环境变量及运行

设置环境变量:source devel/setup.bash
在此终端运行时会出现错误,需要开启另一个终端输入roscore,然后回到此终端中运行。需要注意的是,输入roscore时需要再次source一下。
在这里插入图片描述
在这里插入图片描述
至此,终于输出了 Hello ROS!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值