ROS学习记录(二)——创建功能包

ROS学习记录(一)——基本概念
ROS学习记录(二)——创建功能包
ROS学习记录(三)——Publisher和Subscriber编程实现
ROS学习记录(四)——话题消息的定义与使用
ROS学习记录(五)——Client和Server编程实现

workspace

catkin编译系统下的文件结构在这里插入图片描述

src:代码空间

存放源码

build:编译空间

存放编译工程中的中间文件

devel:开发空间

存放开发工程中的可执行文件和库

install:安装空间

存放开发完成后最终编译得到的可执行文件

创建workspace

catkin_init_workspace

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace  #产生一个用于初始化的cmake文件
cd ..
catkin_make   #会产生src、devel、build文件夹
catkin_make install   #会产生install文件夹
source devel/setup.bash   #设置环境变量,因为为了让你的系统可以找到你的工作空间里的代码。
echo $ROS_PACKAGE_PATH  #检查环境变量

创建功能包

在创建代码的时候需要我们创建功能包,因为功能包是ROS里放置源码的最小单元
catkin_create_pkg <package_name> [depend1] [depend2] [depend3]

创建功能包时,一定要进入src目录里

cd ~/catkin_ws/src
# 创建功能包的时候,一定要进入src文件夹里!!!
catkin_create_pkg tesk_pkg roscpp rospy std_msgs  #表示创建依赖C++、python、std标准类型的功能包
# 执行完后会生成src/test_pkg/inclde、src/test_pkg/src、CMakelist.txt、package.xml文件
# src/test_pkg/inclde存放c/c++头文件,src/test_pkg/src存放c/c++或python源代码
cd ..
catkin_make   #编译功能包
source ~/catkin_ws/devel/setup.bash  #只有更新了环境变量,系统才能找到工作空间和功能包,才能用rosrun命令调用

同一个工作空间下,功能包不能重名。不同功能空间下,运行存在同名功能包
package.xml文件包含了如:功能包名、版本号、功能包描述、功能包编译时的依赖库信息
CMakelist.txt文件包含了具体编译时的信息,如add_executable()、target_link_library()
当向功能包里放入了程序脚本,此时必须需要手动修改CMakelist.txt文件,加入add_executable()target_link_library()函数,才能编译程序。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值