ROS工作空间_功能包讲解

以某品牌资料进行讲解
一. 工作空间
1.1 工作空间的概念
workspace:存放工程文件的文件夹
build编译过程中产生的中间文件
src代码文件
devel:编译生成的目标文件
1.2 创建工作空间
mkdir -p ~/wheeltec/src创建文件夹
cd ~/wheeltec/src进入文件夹
catkin_init_workspcae初始化工作空间
1.3 编译工作空间
cd …返回上一层路径
catkin_make编译工作空间
1.4 设置环境变量
source devel/setup.bash 添加环境变量
cd ~
nano .bashrc
souce ..../devel/setup.bash
source .bashrc
echo $ROS_PACKAGE_PATH 查看ros的环境变量
编译单独功能包:catkin_make -DCATKIN_WHITELIST_PACKAGES=“package_name(此处替换自己包名)”
自定义编译线程:catkin_make -j -l
二、功能包
2.1 功能包的概念
package;存放用户功能代码的文件夹
2.2 功能包的内容
include : .h文件
src: .cpp文件
launch : launch 文件
urdf: .urdf文件
config : 参数文件,yaml,srv,msg,action
scripts : 可执行脚本文件(Python )
CMakeLists .txt: 定义编译的规则
package .xml: 定义package 的属性
2.3 创建功能包
catkin_create_pkg <package_name> [depend1] [depend2] [depend3]
示例:catkin_create_pkg new_package std_msgs rospy roscpp
三. CMakeLists.txt
3.1 CMakeLists.txt文件的作用:定义编译规则的文件
3.2 最常用的cmakelists宏:
cmake_minimum_required() CMake版本
project() 项目名称
find_package 添加依赖
catkin_package() 编译生成信息导出
add_executable() 生成课执行文件
target_link_libraries() 可执行文件链接到库
3.3 其他的cmakelists宏:
add_message_files() 添加话题消息类型文件
add_service_files() 添加服务消息类型文件
add_action_files() 添加行为消息类型文件
generate_messages() 生成消息文件
include_directories() 添加头文件路径
add_dependencies()依赖项
add_library()生成自定义库
install() 安装规则
四. package.xml
4.1 package.xml文件的作用: 功能包的描述信息
4.2必要的padkage .xml标签:
根标签< /package>
<name>
包名
<version>版本号
<description>描述
<Smaintainer>维护者
<slicense>开源许可
4.3可选的package .xml标签:
指定依赖项为编译、导出、运行需要的依赖
< depend>
编译依赖项
< build depend>
< build export depend>导出依赖项
< exec depend>运行依赖(旧版本是)
< test depend>测试用例依赖项
< buildtool depend>编译构建工具
< doc depend>文档依赖项

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值