ROS-3.ros创建工作空间和工作包

工作空间

工作空间(workspace)是存放工程开发相关文件的目录,目录里面包括

  • src :代码空间,ROS的catkin软件包(源代码包)
  • build:编译空间,catkin(CMake)的缓存信息和中间文件
  • devel:开发空间,生成的目标文件(包括头文件,动态链接库,静态链接库,可执行文件等)、
    环境变量
  • install:安装空间
    目录结构如下,并非每一个都是必须的,根据业务需求添加

ROS-3.ros创建工作空间和工作包_第1张图片
最顶层的工作空间(可以任意命名)和src (必须为src)文件夹是需要自己创建

  • build 和devel 文件夹由catkin_make 命令自动创建;
  • install 文件夹由catkin_make install 命令自动创建,几乎不怎么使用,一般不创建
    注意:使用catkin_make编译之前一定要回到最顶层的工作空间,同一个工作空间下,不允许存在同名功能包,不同工作空间下,允许存在同名功能包

1.创建工程

1.1 创建工作空间

# 创建工作空间目录
mkdir -p catkin_ws/src
cd catkin_ws/src
# 初始化空间
catkin_init_workspace

1.2 编译

cd catkin_ws
catkin_make

自动生成build devel

1.3 安装

catkin_make install

自动生成 install

1.4 更新工作空间环境变量

source devel/setup.bash

2.创建功能包

2.1 创建功能包模块

cd catkin_ws/src
catkin_create_pkg test_pkg std_msgs rospy roscpp

catkin_create_pkg 是创建功能包命令
test_pkg 功能包名称
std_msgs rospy roscpp 功能包依赖
功能包目录结构

|-- CMakeLists.txt  # (必须)当前package的编译规则。通常需要为c++代码添加编译时的依赖,执行等操作。
|—— package.xml     # (必须)package的描述信息。通常添加一些ros库的支持。
|—— include文件夹    # 存放c++ 头文件的
|—— config文件夹     # 存放参数配置文件
|—— launch文件夹     # 存放launch文件(.launch或.xml)
|—— meshes文件夹     # 存放机器人或仿真场景的3D模型(.sda, .stl, .dae等) ;
|—— urdf文件夹       # 存放机器人的模型描述(.urdf或.xacro) ;
|—— rviz文件夹       # rviz文件
|—— src文件夹        # c++源代码
|—— scripts文件夹    # 可执行脚本;例如shell脚本(.sh)、Python脚本(.py) ;
|—— srv文件夹        # 自定义service
|—— msg文件夹        # 自定义topic
|—— action文件夹     # 自定义action

2.2 编译功能包

cd catkin_ws
catkin_make

2.3 更新环境变量

source devel/setup.sh

2.4 查看环境变量

echo $ROS_PACKAGE_PATH

你可能感兴趣的:(ROS,ros)