【ROS入门篇·一】ROS文件系统 & catkin编译系统

快速链接:【ROS入门篇】ROS学习简介

一、ROS工作空间创建 & 编译

1) 创建工作空间

mkdir -p catkin_ws/src
cd catkin_ws/src

2)创建功能包

catkin_create_pkg my_pkg_name* roscpp rospy... (other dependencies pkg names)

3) 编译(也可以使用catkin_make编译工具)

cd ~/catkin_ws
catkin build
source devel/setup.bash

ROS编译系统演化:

rosbuild -> catkin_make -> catkin_make_isolated -> catkin build (catkin tools中的一个) -> ament (ROS2)

二、ROS文件结构

1. 工作空间内文件结构

  • src/: ROS软件包(源代码包)
  • build/: catkin (CMake) 的缓存信息和中间文件
  • devel/: 生成的目标文件(包括头文件,动态链接库,静态链接库,可执行文件等), 环境变量

2. package内的文件结构

├── CMakeLists.txt         #package的编译规则(必须)

├── package.xml            #package的描述信息(必须)

├── src/                  #源代码文件

├── include/        #C++头文件

├── scripts/         #可执行脚本,例如Shell脚本,Python脚本

├── msg/             #自定义消息 (.msg)

├── srv/                #自定义服务 (.srv)

├── models/      #3D模型文件 (.sda, .stl, .sar)

├── urdf/             #urdf文件 (.urdf, .xacro)

├── param/        #yaml文件, 用于加载参数信息 (.yaml)

├── launch/       #launch文件

├── rviz/             #rviz配置文件

三、catkin编译系统

1. catkin 编译系统简介

catkin编译系统特点:

  1.  catkin编译系统基于CMake编译系统构建,是CMake编译系统上层封装;
  2.  一个package内一定包含 package.xml & CMakeLists.txt两个文件.

 catkin编译系统工作原理:

  1.  在工作空间 catkin_ws/src/ 下递归的查找其中每一个ROS的package;
  2. catkin(CMake)编译系统依据CMakeLists.txt文件, 生成makefiles(放在catkin_ws/build/);
  3.  make刚刚生成的makefiles,编译链接生成可执行文件(放在catkin_ws/devel).

注意:

$ catkin_make [args]

        -h, --help           帮助信息

        --use-ninja       用ninja取代make

        ……

2. 源码编译 VS 二进制包

NEXT:【ROS入门篇·二】CMakeLists.txt & package.xml

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值