ROS学习笔记3-基础课程之文件系统向导
- 准备工作
需要使用如下命令安装ros的教程:$ sudo apt-get install ros-<distro>-ros-tutorials
其中,distro为所用ros的发行版本,该教程使用kinetic。
$ sudo apt-get install ros-kinetic-ros-tutorials
- ROS文件系统概览
- Packages:ROS文件系统由许多Package组成,每个package可能包含库(Libraries),可执行程序,脚本或者其它人工编写的材料。
- Manifests (package.xml):包描述文件。
- 文献系统工具命令
- rospackrospack用以获得包(Package)的相关信息,在该教程中仅给出rospack find的使用,该命令返回一个包的路径
用法:$ rospack find [package_name]
例如:
$ rospack find roscpp
返回为:
YOUR_INSTALL_PATH/share/roscpp
在笔者的机子上返回为:
/opt/ros/kinetic/share/roscpp
- roscd
roscd是rosbash的一部分,用以改变目录,或进入某个目录,与cd命令类似。
例如:$ roscd roscpp
表示当前目录变为roscpp目录。
使用pwd命令显示当前目录,则为:
/opt/ros/kinetic/share/roscpp
注意,ros工具命令只能识别出在环境变量ROS_PACKAGE_PATH中列出的包,你可以通过改变环境变量将额外的包加入到ROS_PACKAGE_PATH 路径中。
可以使用如下命令查看该环境变量中包含哪些路径:
$ echo $ROS_PACKAGE_PATH
在本机中返回如下:
/home/yangbo/mybot_ws/src:/home/yangbo/project_ws/src:/home/yangbo/catkin_ws/src:/home/yangbo/hector_quadrotor_tutorial/src:/opt/ros/kinetic/share:/home/yangbo/px4/Firmware:/home/yangbo/px4/Firmware/Tools/sitl_gazebo
每个用冒号分开。
- roscd log
该命令进入ros的日志文件目录,若没有日志文件目录,则会给出错误提示。 - rosls
rosls 也是 rosbash的一部分,用于列出一个package下的所有文件和目录。
例如使用如下命令查看roscpp_tutorials中的所有文件和目录:$ rosls roscpp_tutorials
返回为:
cmake launch package.xml srv
TAB自动完成
ros命令行工具支持TAB自动完成,例如你记不住每个包的全称,但是知道开头,可以用TAB自动补全。$ roscd roscpp_tut<<< now push the TAB key >>>
例如输入roscd roscpp_tut然后按TAB键,则会自动完成roscpp_tut开头的包。
roscd roscpp_tutorials/
如果有多个包名和开头的一致,则会自动完成和开头最接近的一个,再按一下TAB则会列出所有与开头匹配的选项,例如:
roscd tur
按了TAB则自动补全为:
roscd turtle
再按一下TAB则列出所有以tur开头的包:
turtle_actionlib/ turtlebot_navigation/ turtlesim/
turtlebot_bringup/ turtlebot_simulator/ turtle_tf/
turtlebot_capabilities/ turtlebot_stage/ turtle_tf2/
turtlebot_description/ turtlebot_stdr/
turtlebot_gazebo/ turtlebot_teleop/
- rospackrospack用以获得包(Package)的相关信息,在该教程中仅给出rospack find的使用,该命令返回一个包的路径
ROS学习笔记3-基础课程之文件系统向导的更多相关文章
- ROS学习笔记七:在ROS中使用USB摄像头
下面是一些USB摄像头的驱动(大多数摄像头都支持uvc标准): 1 使用软件库里的uvc-camera功能包 1.1 检查摄像头 lsusb ----------------------------- ...
- ROS学习笔记八:基于Qt搭建ROS开发环境
1 前言 本文介绍一种Qt下进行ROS开发的完美方案,使用的是ros-industrial的Levi-Armstrong在2015年12月开发的一个Qt插件ros_qtc_plugin,这个插件使得Q ...
- ROS学习笔记1-引言
该学习笔记参考ROS官方wiki的内容,见:http://wiki.ros.org/ROS/Introduction 什么是ROSROS的全称是Robot Operating System,即机器人操 ...
- ROS学习笔记
创建ros工作环境: mkdir -p ~/catkin_ws/src //建立项目目录,同时生成src文件夹 cd ~/catkin_ws/ //进入项目目录 catkin_make //编译项目, ...
- ROS学习笔记2-基本概念
本笔记来源于:http://wiki.ros.org/ROS/Concepts ROS文件系统级别文件系统级别主要包含了你能在ROS的磁盘上遇到的资源,包括: 包(Packages):包是ROS中资源 ...
- Linux系统安全学习笔记(1)-- 文件系统类型
今天看了一个关于Linux系统安全的视频教程,这个教程有很多的知识点,我会分几篇博文将我的笔记分享出来. 首先是关于Linux文件系统类型的一些知识,Linux有四种常见的文件系统类型(网上大多数是3 ...
- I.MX6Q(TQIMX6Q/TQE9)学习笔记——内核启动与文件系统挂载
经过前面的移植,u-boot已经有能力启动内核了,本文主要来看下如何通过之前移植的u-boot来启动内核.如果按照前面的文章完成了LTIB 的编译,那么,Linux的内核应该就会出现rpm/BUILD ...
- ROS学习笔记十二:使用gazebo在ROS中仿真
想要在ROS系统中对我们的机器人进行仿真,需要使用gazebo. gazebo是一种适用于复杂室内多机器人和室外环境的仿真环境.它能够在三维环境中对多个机器人.传感器及物体进行仿真,产生实际传感器反馈 ...
- ROS学习笔记十:URDF详解
Unified Robot Description Format,简称为URDF(标准化机器人描述格式),是一种用于描述机器人及其部分结构.关节.自由度等的XML格式文件. 一.URDF语法规范 参见 ...
随机推荐
- PSP第二次总结
项目计划总结: 姓名:李志强 日期:2017/12/06 听课 编程 阅读课本 准备考试 日总计 周日11.26 周一 100 100 周二 ...
- 「JSOI2011」棒棒糖
「JSOI2011」棒棒糖 传送门 双倍经验 考虑主席树做法. 对于当前的主席树节点,如果 \(\le mid\) 的个数足够就往左边走,否则就尝试往右边走,都不行就返回 \(0\). 参考代码: # ...
- java8新特性1:lambda表达式和函数式接口
1.lambda的介绍: 1.1.为什么java语言需要引入lambda表达式? java语言诞生于1995年,历史时间已经相对较长了.在其后的各种新型编程语言中,都有着lambda表达式的内容,并且 ...
- HTTP协议中常用相应的状态码总结
HTTP协议与我们的生活息息相关,尤其对于我们后端开发人员,工作之余我整理了一些HTTP协议响应的一些常见的状态码,希望能帮助大家 HTTP状态码列表 消息(1字头)服务器收到请求,需要请求者继续执行 ...
- Java基础 -4.2
Switch分支语句 switch是一个开关语句,它主要是根据内容来进行判断的,需要注意的是switch中可以判断的只能够是数据(int.char.枚举.String)而不能够使用逻辑判断 publi ...
- Rcnn/Faster Rcnn/Faster Rcnn的理解
基于候选区域的目标检测器 1. 滑动窗口检测器 根据滑动窗口从图像中剪切图像块-->将剪切的图像块warp成固定大小-->cnn网络提取特征-->SVM和regressor进行分类 ...
- 获取Webshell方法总结
一.CMS获取Webshell方法 搜索CMS网站程序名称 eg:phpcms拿webshell.wordpress后台拿webshell 二.非CMS获取Webshell方法 2.1数据库备份获取W ...
- VS2013 ERROR MSB8020
error MSB8020: The build tools for Visual Studio 2013 (Platform Toolset = 'v120') cannot be found. T ...
- jmeter学习笔记一foreach控制器
ForEach控制器 输入变量前缀:上一步所提取的变量名的前缀,例如appid_1, 则appid就是前缀 start index for loop:循环的起始位置,默认为空也可 end index ...
- 利用Python进行数据分析笔记-时间序列(时区、周期、频率)
此文对Python中时期.时间戳.时区处理等阐述十分清楚,特别值得推荐学习. 原文链接:https://blog.csdn.net/wuzlun/article/details/80287517