无人驾驶原理与实践》一2.3catkin创建系统

网友投稿 541 2022-05-30

2.3catkin创建系统

catkin是ROS的编译与构建系统,用来生成可执行文件、库和接口。首先进入工作区:

cd ~/catkin_ws

创建一个ROS包,其中depend是依赖库的名字:

catkin_create_pkg package_name depend1 depend2 depend3

每当创建完一个新包,编译之后都需要使用如下source命令更新环境:

source devel/setupbash

2.4ROS中的项目组织结构

ROS软件使用包(package)进行组织,通常包含以下内容:

◆    /src:源代码。

◆    /msg:定义各种message文件。

◆    /srv:定义各种service文件。

◆    /launch:包含用于启动节点的launch文件。

◆    /config:包含配置文件,加载一些动态配置参数等。

◆    /test: ROS测试文件。

◆    /include/_package_name_: C++头文件。

◆    /doc:包含文档文件。

◆    packagexml: 编译、运行、版权等信息。

◆    CMakeListstxt: CMakefile构建文件。

1 packagexml

ros_practice

001

The ros_practice package

Adam

MIT

catkin

roscpp

sensor_msgs

roscpp

sensor_msgs

roscpp

sensor_msgs

在这个例子中,我们使用了roscpp的客户端库,同时使用了一个sensor_msgs消息。

2 CMakeListstxt

CMakeListstxt文件是CMake构建系统的输入,在这里我们不会详细讨论CMake的写法(因为它本身可以很复杂),只需大致熟悉一下常用的CMake语法:

《 无人驾驶原理与实践》一2.3catkin创建系统

 ◆    cmake_minimum_required:需要的CMake最低版本。

 ◆    project():包的名称。

 ◆    find_package():查找构建时需要的其他CMake/catkin包。

 ◆    add_message_files()/ add_service_files()/add_action_files():生成Message/Service/Action。

 ◆    generate_messages():调用消息生成。

 ◆    catkin_package():指定包的构建信息。

 ◆    add_library()/add_executable()/target_link_libraries():添加用于构建的库、可执行代码和目标链接库。

 ◆    install():安装规则。

自动驾驶

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:关于深信服SSL VPN漏洞安全预警
下一篇:《AI安全之对抗样本入门》—2.5 TensorFlow
相关文章