ROS入门学习笔记(二)

机器人操作系统入门》——柴长坤:第二课 工程结构

2.1 Catkin工作空间与编译系统

ROS工程结构(文件系统级):

层次1:
catkin工作空间=catkin+工作空间
catkin:ROS定制的编以构建系统,对CMake的扩展,用来编译ROS程序
catkin工作空间:一个文件夹,用来组织和管理功能包的文件夹,以catkin工具编译

指令:catkin_make
建立工作空间:

$mkdir -p -/catkin_ws/src
$cd ~/catkin_ws/
$catkin_make

编译:

$cd ~/catkin_ws/  #回到工作空间
$catkin_make
$source ~/catkin_ws/devel/setup.bash  #编译完成后的workspace刷新到环境中去

层次2:
src文件夹:里面有各种功能包(package)

2.2 Package的组成

层次3:
package:ROS软件的基本组织形式,是catkin编译的基本单元,一个package可以包含多个可执行文件(节点)
package最精简结构:CMakeLists.txt, package.xml

层次4:
CMakeLists.txt:规定catkin编译的规则,例如:源文件、依赖项、目标文件
(如果编译出现问题多半和CMakeLists.txt文件或者依赖包有关)
package.xml:定义package的属性,例如:包名、版本号、作者、依赖等
scripts文件夹:*.py、*.sh
include文件夹:*.h
src文件夹:*.cpp、*.py(可被其他包import的python文件)
srv文件夹:*.srv
msg文件夹:*.msg
action文件夹:*.action
launch文件夹:launch文件(launch)
config文件夹:配置文件(yaml)
launch文件:一次性运行多个可执行文件

常用指令:
1.rospack
查找某个pkg的地址

$rospack find [package_name]

列出本地所有pkg

$rospack list

2.roscd
跳转到某个pkg路径下

$roscd [package_name]

3.rosls
列举某个pkg下的文件信息

$rosls [package_name]

4.rosed
编辑pkg中的文件

$rosed [package_name] [file_name]

5.catkin_create_pkg
创建一个pkg

$catkin_create_pkg <pkg_name> [deps]

6.rosdep
安装某个pkg所需的依赖

$rosdep install [pkg_name]

2.3 演示操作(跳过)

2.4 Metapackage

Metapackage:虚包无内容,依赖许多其他软件包

机器人操作系统入门 课程讲义 ROS 柴长坤 中国大学MOOC 目錄 前言 第一章 ROS简介 机器人时代的到来 ROS发展历程 什么是ROS 安装ROS 安装ROS-Academy-for-Beginners教学包 进制与源码包 安装RoboWare Studio 单元测试一 第ROS文件系统 Catkin编译系统 Catkin工作空间 Package软件包 CMakeLists.txt package.xml Metapacakge软件元包 其他常见文件类型 单元测试 第三章 ROS通信架构(一) Node & Master Launch文件 Topic Msg 常见msg类型 单元测试三 第四章 ROS通信架构() Service Srv Parameter server Action 常见srv类型 常见action类型 单元测试四 第五章 常用工具 Gazebo RViz Rqt Rosbag Rosbridge moveit! 单元测试五 第六章 roscpp Client Library与roscpp 节点初始、关闭与NodeHandle Topic in roscpp Service in roscpp Param in roscpp 时钟 日志与异常 第七章 rospy Rospy与主要接口 Topic in rospy Service in rospy Param与Time 第八章 TF与URDF 认识TF TF消息 tf in c++ tf in python 统一机器人描述格式 附录:TF数学基础 三维空间刚体运动---旋转矩阵 三维空间刚体运动---欧拉角 三维空间刚体运动---四元数 第九章 SLAM 地图 Gmapping Karto Hector 第十章 Navigation Navigation Stack move_base costmap Map_server & Amcl 附录:Navigation工具包说明 amcl local_base_planner carrot_planner clear_costmap_recovery costmap_2d dwa_local_planner fake_localization global_planner map_server move_base_msg move_base move_slow_and_clear navfn nav_core robot_pose_ekf rotate_recovery
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值