ROS基础

参考资料  http://wiki.ros.org/cn

一、ROS安装

参考资料  http://wiki.ros.org/ROS/Installation

ros程序设计源代码 https://github.com/AaronMR

二、catkin工作空间构成

0、创建 程序包

https://blog.csdn.net/myhalan/article/details/52784672

catkin_create_pkg beginner_tutorials std_msgs rospy roscpp

1、工作空间目录结构

workspace_folder/        -- WORKSPACE
  src/                   -- SOURCE SPACE
    CMakeLists.txt       -- 'Toplevel' CMake file, provided by catkin
    package_1/
      CMakeLists.txt     -- CMakeLists.txt file for package_1
      package.xml        -- Package manifest for package_1
    ...
    package_n/
      CMakeLists.txt     -- CMakeLists.txt file for package_n
      package.xml        -- Package manifest for package_n

2、package.xml

2-1、概述:系统程序包的依赖项在package.xml中声明。创建程序包时最好添加依赖项,避免手动添加。

2-2、格式:                                               

新格式的标签

<buildtool_depend>

<build_depend>    <build_export_depend>    <exec_depend>    这三组对于依赖项必须要有

 <test_depend>

<doc_depend>

3、CMakeLists.txt

3-1、概述:CMakeLists.txt是用于构建软件包的CMake构建系统的输入。用于catkin项目的CMakeLists.txt文件,其中包含一些其他约束。

3-2、文件结构

  • 必需的CMake版本(cmake_minimum_required)

  • 包名(project())

  • 查找build所需的其他CMake / Catkin包(find_package())

  • 启用Python模块支持(catkin_python_setup())

  • 消息/服务/动作生成器(add_message_files(),add_service_files(),add_action_files())

  • 调用消息/服务/动作生成(generate_messages())

  • 指定程序包build信息导出(catkin_package())

  • build需要的库/可执行文件(add_library()/ add_executable()/ target_link_libraries())

  • 测试(catkin_add_gtest())

  • 安装规则(install())

3-3、find_package()

  • 我们需要使用CMake find_package函数指定需要找到哪些其他CMake包来构建我们的项目。
  • 如果CMake通过find_package找到一个则会创建几个CMake环境变量,这些变量提供有关找到的包的信息。可以在CMake脚本中使用这些环境变量。环境变量描述了包导出头文件的位置,源文件所在的位置,包所依赖的库以及这些库的路径。
  • catkin至少有一个依赖:    find_package(catkin REQUIRED);                                                                                                     如果项目依赖其他程序包,这些包会自动变成catkin的组件:find_package(catkin REQUIRED COMPONENTS roscpp);  如果只写成 find_package(catkin roscpp),意味着不会将roscpp的路径、库等添加到catkin_变量中                                       find_package中的 COMPOENENTS应该只包含build所依赖的包,不该添加运行时依赖项。

3-4、catkin_package()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值