一、linux命令行使用基础:

1.cd命令(change directory):

(1)语法:

cd [dirName](dirName:要切换到的目录)cd ..(返回上一级)

(2)功能:用于切换当前工作目录

2.pwd命令(printing working directory):

(1)语法:

pwd

(2)功能:用于显示当前工作目录

3.mkdir命令(make directory):

(1)语法:

mkdir [-p] dirName

(-p是为了确保目录名称存在,不存在的就建一个)

(2)功能:创建目录

4.ls命令(list files):

(1)语法:

ls [-alrtAFR] [name..]

(2)功能:用于显示指定工作目录下的内容

5.touch命令(touch file):

(1)语法:

touch file

(2)功能:创建一个名为“file”的新的空白文件,相当于记事本

6.rm命令(remove):

(1)语法:

rm [options] name

(-r 将目录及以下的档案逐一删除/递归删除)

(2)功能:用于删除一个文件或者目录

7.mv命令(move file):

(1)语法:

mv [options] source dest
mv [options] source...directory

(2)功能:用来为文件或目录改名,或将文件或目录移入其它位置

8.cp命令(copy file):

(1)语法:

cp [options] source dest
cp [options] source...directory

(2)功能:用于复制文件或目录

9.sudo命令:

功能:提升当前用户权限

二、ROS常用命令行工具:

1.roscore命令:

功能:运行主节点,主节点管理节点之间的消息通信中的连接信息

2.rosrun命令:

(1)语法:

rosrun [功能包名称] [节点名称]

(2)功能:执行指定的功能包中的一个节点的命令

3.rqt_graph命令:

功能:查看节点关系图

4.rosnode命令:

(1)安装rosnode

(2)rosnode命令列表(常用):

1)rosnode list:列出正在运行的所有节点

2)rosnode info [节点名称]:检查指定节点的信息

5.rostopic命令:

(1)rostopic命令列表(常用):

1)rostopic list: 列出活动话题

2)rostopic info [话题名称]:显示指定话题的消息

3)rostopic pub [话题名称] [消息类型] [参数]:使用指定的话题名称发布消息

(2)示例:通过命令行发布话题让小海龟跑起来

1)打开第一个终端,启动ROS Master:

2)打开第二个终端,启动海龟仿真器:

3)输入以下指令显示系统全部话题列表:

rostopic list

4)输入以下指令,通过指令给相应话题发布数据让小海龟运动:

rostopic pub /turtle1/cmd_vel geometry_msgs/Twist "linear:x: 1.0y: 0.0z: 0.0
angular:x: 0.0y: 0.0z: 0.0" 

5)效果如下,小海龟移动了一小段距离:

6)我们的指令是让海龟沿着x方向以1m/s的速度运动,但小海龟只移动了一小段距离便停下了,这是因为话题只发布了一次,要想让海龟一直移动,需要加一条循环指令:

rostopic pub  -r 10 /turtle1/cmd_vel geometry_msgs/Twist "linear:x: 1.0y: 0.0z: 0.0
angular:x: 0.0y: 0.0z: 1.0" 

让这个指令每秒发送10次,便可得到以下结果:

这样小海龟便会按指定的线速度和角速度作圆周运动。

6.rosmsg命令:

(1)语法:

rosmsg show [消息名称]

(2)功能:查看所发布话题消息的具体结构

7.rosservice命令:

(1)常用命令:

1)rosservice list:显示活动的服务信息

2)rosservice info [服务名称]:显示指定服务的信息

3)rosservice call [服务名称] [参数]:用输入的参数服务请求

(2)示例:通过命令行请求服务让两只小乌龟同时存在

链接:ROS基础(一)——命令行代码(以小乌龟程序为例)_北理光头强的博客-CSDN博客_ros小乌龟指令集合

8.rosbag命令:

(1)常用指令:

rosbag record [选项] [话题名称]:记录制定话题的消息

rosbag play [bag文件名]:回放制定的bag文件

(2)操作方法:

1)rosbag record -a -O cmd_record

2)记录一段bag后,关闭小海龟,重新启动小海龟仿真器节点

3)rosbag play cmd_record.bag

'-a':保存所有数据

'-O':保存为一个压缩包在当前路径

三、创建工作空间:

(1)创建工作空间的步骤:

1)在主空间创建一个文件夹catkin_ws:

mkdir catkin_ws

2)进入文件夹catkin_ws:

cd catkin_ws

3)创建src文件夹(名称不可以改):

mkdir src

4)进入src文件夹:

cd src

5)初始化为ROS工作空间:

catkin_init_workspace

6)返回上一级目录:

cd ..

7)编译工作空间:

catkin_make

8)生成install安装空间:

catkin_make install

(2)生成的工作空间目录如下:

四、创建功能包:

(1)在src文件夹中创建功能包:

catkin_create_pkg <package_name> [depend1] [depend2] [depend3]

(2)编译功能包:

catkin_make

(3)设置环境变量:

source devel/setup.bash

可在主目录下的隐藏文件.bashrc(ctrl+H可显示)中添加设置环境变量语句

source [工作空间所在路径]/devel/setup.bash

设置后不再需要设置环境变量语句

ROS学习笔记4:创建工作空间和功能包相关推荐

  1. ROS学习笔记_创建工作空间(一)

    创建工作空间 mkdir -p ~/catkin_ws_2/src -p参数是将路径上的父子目录同时创建. $ cd ~/catkin_ws_2/ $ catkin_make 在工作空间的根目录下运行 ...

  2. ROS(1)创建工作空间和功能包过程

    1.创建工作空间 (1)创建 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src catkin_init_workspace (2)编译 cd ~/catkin_w ...

  3. 【RK3399Pro学习笔记】四、ROS 创建工作空间与功能包

    目录 创建工作空间 编译工作空间 功能包 创建功能包 编译功能包 设置环境变量 检查环境变量 平台:华硕 Thinker Edge R 瑞芯微 RK3399Pro 固件版本:Tinker_Edge_R ...

  4. ROS Noetic入门笔记(二)ROS Noetic创建工作空间和功能包

    ROS Noetic入门笔记(一)在ubuntu20.04中安装ROS Noetic并简单测试 ROS Noetic入门笔记(二)ROS Noetic创建工作空间和功能包 ROS Noetic入门笔记 ...

  5. 《动手学ROS2》3.5.1创建工作空间和功能包

    本系列教程作者:小鱼 公众号:鱼香ROS QQ交流群:139707339 教学视频地址:小鱼的B站 完整文档地址:鱼香ROS官网 版权声明:如非允许禁止转载与商业用途. 3.4.1 创建工作空间和功能 ...

  6. ROS: catkin和rosmake创建和编译功能包、执行节点

    ROS: catkin和rosmake创建和编译功能包 1.编译功能包 在工作空间的根目录下执行编译才行,比如我工作空间根目录是/home/kandi/catkin_ws 2.编译生成目标文件 这里以 ...

  7. ROS系统 创建工作空间与功能包

    ROS 学习目标: 学习内容: 使用环境 操作步骤: 基本命令 二.使用步骤 创建工作空间 编译工作空间 创建功能包 使用C++执行程序 编写源文件 编辑功能包下的 Cmakelist.txt文件 修 ...

  8. ROS机器人操作系统——创建工作空间与功能包(四)

    ROS机器人操作系统 文章目录 ROS机器人操作系统 前言 一.工作空间 1.创建工作空间 2.编译工作空间 3.设置环境变量 4.检查环境变量 二.功能包 1.创建功能包 2.编译功能包 总结 前言 ...

  9. ROS学习笔记(一):创建工作空间和功能包

    所有的ROS程序,包括我们自己开发的程序,都被组织成功能包,而ROS的功能包被存放在称之为工作空间的目录下.因此,在我们写程序之前,第一步是创建一个工作空间以容纳我们的功能包.其实ROS工作空间就是l ...

最新文章

  1. 第七课.Logistic回归算法
  2. Chrome 74 Beta 发布,Windows 10 支持暗色主题
  3. [NOIP 2011普及组 No.4] 表达式的值
  4. 欧锦赛球星谱:帕克领豪阵 诺天王对决加索尔
  5. stm32中断优先级快速入门
  6. php webservice 上传,PHP实现WebService服务
  7. data.name.toLowerCase() is not a function问题
  8. 分布式系统关注点(21)——构建「易测试」系统的“六脉神剑”
  9. 在html中单选选择器,已选中单选按钮标签的CSS选择器
  10. 跨越原理优缺点_请教:单管跨越式和双管式的优缺点
  11. Python 第一章 基础知识
  12. document.body、document.documentElement和window获取视窗大小的区别
  13. 2021广东工业大学837信号与系统真题自编答案
  14. 苹果手机对html的要求,《原神》ios要什么配置 ios端配置要求一览
  15. tp link虚拟服务器设置,TP-Link路由器如何设置UPNP开启【设置步骤】
  16. 简洁桌面(使用Windows自带的桌面整理功能)
  17. 自学习策略和Levy飞行的正弦余弦优化算法-附代码
  18. 没有音响,把手机当作电脑音响的操作。
  19. Python爬虫——Scrapy 的基本使用
  20. 贪吃蛇游戏 C语言程序设计

热门文章

  1. 主板螺丝是机箱配还是主板配_机箱用什么螺丝 主板固定螺丝是哪种
  2. 网络信息安全攻防学习平台 上传,解密通关writeup
  3. 高薪程序员面试题精讲系列77之如何防止前端页面重复提交请求?
  4. 【JavaScript进阶之旅 函数式编程篇 第三十四章】函数组合、结合律、pointfree、使用案例
  5. java使用sigar获取服务器的信息
  6. ExceptionHandlerExceptionResolver : Resolved [java.lang.NullPointerException]
  7. App测试经验分享之登录注册
  8. W-数据表名区分大小写问题解决
  9. C语言数字图像处理进阶---15 油画滤镜
  10. 浏览器html5临时文件,电脑中清理浏览器临时文件夹的方法