MOOC ROS笔记 1

工程结构(文件系统级)

在这里插入图片描述

catkin:ROS定制的编译构建系统 对CMake的扩展(用来编译ros程序的)
catkin工作空间:组织和管理功能包的文件夹,以catkin工具编译
catkin_make 创建工作空间 编译
在这里插入图片描述
src: package源代码

build: cmake和catkin缓存和中间文件

devel: 目标文件

catkin的编译对象就是package
编译的时候会递归的查找每一个package
在这里插入图片描述

package组成

ROS软件的基本组织形式 一个package包含多个执行文件。
怎样才能被称为package? 下面就是package中必备的一些文件
在这里插入图片描述

CmakeLists.txt: : 规定catkin编译的规则(编译出问题一般查找这个文件)
在这里插入图片描述

package.xml:
定义package的属性 ,例如:包名 版本号 作者 依赖等
一般就改红线的两项
在这里插入图片描述
package中的代码:
ROS里的可执行程序一般来自脚本(shell python)C++(头文件,源文件)

在这里插入图片描述
package中也可以有自定义通信格式 分别在对应的文件夹下

msg 消息
srv 服务
action 动作
在这里插入图片描述
也可以有launch文件:一次性执行多个可执行文件 lauch文件放在package下launch文件夹中 参数(.yaml)放在config文件夹下

package常用指令

查找某个pkg的地址  
rospack find package_name


列出本地所有package
rospack list


跳转到某个pkg路径下
roscd package_name


列举某个pkg下的文件:
rosls package_name

编辑pkg中的文件
rosed package_name_file_name (要装下vim)

创建一个pkg
catkin_creat_pkg<pkg_name>[dep] 包名加依赖


安装某个pkg所需的依赖
rosdep install [pkg_name]

使用 rosdep install --from-paths src --ignore-src --rosdistro=kinetic -y 安装依赖包(package中build 和depend知道需要什么依赖)

出现错误:
ERROR: the following packages/stacks could not have their rosdep keys resolved to system dependencies:
slam_sim_demo: No definition of [hector_mapping] for OS [debian]
navigation_sim_demo: No definition of [dwa_local_planner] for OS [debian]
robot_sim_demo: No definition of [yocs_cmd_vel_mux] for OS [debian]

解决方法:
更改命令为:
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y --os=ubuntu:xenial

创建包编译完成后
要source ~/catkin_ws/devel/setup.bash
echo “source ~/catkin_ws/devel/setup.bash” >> ~/.bashrc 把 source ~/catkin_ws/devel/setup.bash 永久加进bashrc文件中

rospack list | grep catkin_ws

Metapacakge

自身没有什么内容,但是依赖了很多其他的软件包(stack)

例如navigation包 虚包 cMakelist中 只有声明cattkin_Metapacakge 但是点开package.xml 有很多rundepend

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目錄 前言 第一章 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 11.5.4 1.5.5 1.5.6 1.5.7 1.6 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.7 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 1.7.7 1.8 1.8.1 1.8.2 1.8.3 1.8.4 1.9 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.6.1 1.9.6.2 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数学基础 三维空间刚体运动---旋转矩阵 三维空间刚体运动---欧拉角 21.9.6.3 1.10 1.10.1 1.10.2 1.10.3 1.10.4 1.11 1.11.1 1.11.2 1.11.3 1.11.4 1.12 1.12.1 1.12.2 1.12.3 1.12.4 1.12.5 1.12.6 1.12.7 1.12.8 1.12.9 1.12.10 1.12.11 1.12.12 1.12.13 1.12.14 1.12.15 1.12.16 三维空间刚体运动---四元数 第九章 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 3中国大学MOOC---《机器人操作系统入门》 课 程讲义
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值