ROS学习笔记4:创建工作空间和功能包
一、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:创建工作空间和功能包相关推荐
- ROS学习笔记_创建工作空间(一)
创建工作空间 mkdir -p ~/catkin_ws_2/src -p参数是将路径上的父子目录同时创建. $ cd ~/catkin_ws_2/ $ catkin_make 在工作空间的根目录下运行 ...
- ROS(1)创建工作空间和功能包过程
1.创建工作空间 (1)创建 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src catkin_init_workspace (2)编译 cd ~/catkin_w ...
- 【RK3399Pro学习笔记】四、ROS 创建工作空间与功能包
目录 创建工作空间 编译工作空间 功能包 创建功能包 编译功能包 设置环境变量 检查环境变量 平台:华硕 Thinker Edge R 瑞芯微 RK3399Pro 固件版本:Tinker_Edge_R ...
- ROS Noetic入门笔记(二)ROS Noetic创建工作空间和功能包
ROS Noetic入门笔记(一)在ubuntu20.04中安装ROS Noetic并简单测试 ROS Noetic入门笔记(二)ROS Noetic创建工作空间和功能包 ROS Noetic入门笔记 ...
- 《动手学ROS2》3.5.1创建工作空间和功能包
本系列教程作者:小鱼 公众号:鱼香ROS QQ交流群:139707339 教学视频地址:小鱼的B站 完整文档地址:鱼香ROS官网 版权声明:如非允许禁止转载与商业用途. 3.4.1 创建工作空间和功能 ...
- ROS: catkin和rosmake创建和编译功能包、执行节点
ROS: catkin和rosmake创建和编译功能包 1.编译功能包 在工作空间的根目录下执行编译才行,比如我工作空间根目录是/home/kandi/catkin_ws 2.编译生成目标文件 这里以 ...
- ROS系统 创建工作空间与功能包
ROS 学习目标: 学习内容: 使用环境 操作步骤: 基本命令 二.使用步骤 创建工作空间 编译工作空间 创建功能包 使用C++执行程序 编写源文件 编辑功能包下的 Cmakelist.txt文件 修 ...
- ROS机器人操作系统——创建工作空间与功能包(四)
ROS机器人操作系统 文章目录 ROS机器人操作系统 前言 一.工作空间 1.创建工作空间 2.编译工作空间 3.设置环境变量 4.检查环境变量 二.功能包 1.创建功能包 2.编译功能包 总结 前言 ...
- ROS学习笔记(一):创建工作空间和功能包
所有的ROS程序,包括我们自己开发的程序,都被组织成功能包,而ROS的功能包被存放在称之为工作空间的目录下.因此,在我们写程序之前,第一步是创建一个工作空间以容纳我们的功能包.其实ROS工作空间就是l ...
最新文章
- 第七课.Logistic回归算法
- Chrome 74 Beta 发布,Windows 10 支持暗色主题
- [NOIP 2011普及组 No.4] 表达式的值
- 欧锦赛球星谱:帕克领豪阵 诺天王对决加索尔
- stm32中断优先级快速入门
- php webservice 上传,PHP实现WebService服务
- data.name.toLowerCase() is not a function问题
- 分布式系统关注点(21)——构建「易测试」系统的“六脉神剑”
- 在html中单选选择器,已选中单选按钮标签的CSS选择器
- 跨越原理优缺点_请教:单管跨越式和双管式的优缺点
- Python 第一章 基础知识
- document.body、document.documentElement和window获取视窗大小的区别
- 2021广东工业大学837信号与系统真题自编答案
- 苹果手机对html的要求,《原神》ios要什么配置 ios端配置要求一览
- tp link虚拟服务器设置,TP-Link路由器如何设置UPNP开启【设置步骤】
- 简洁桌面(使用Windows自带的桌面整理功能)
- 自学习策略和Levy飞行的正弦余弦优化算法-附代码
- 没有音响,把手机当作电脑音响的操作。
- Python爬虫——Scrapy 的基本使用
- 贪吃蛇游戏 C语言程序设计
热门文章
- 主板螺丝是机箱配还是主板配_机箱用什么螺丝 主板固定螺丝是哪种
- 网络信息安全攻防学习平台 上传,解密通关writeup
- 高薪程序员面试题精讲系列77之如何防止前端页面重复提交请求?
- 【JavaScript进阶之旅 函数式编程篇 第三十四章】函数组合、结合律、pointfree、使用案例
- java使用sigar获取服务器的信息
- ExceptionHandlerExceptionResolver : Resolved [java.lang.NullPointerException]
- App测试经验分享之登录注册
- W-数据表名区分大小写问题解决
- C语言数字图像处理进阶---15 油画滤镜
- 浏览器html5临时文件,电脑中清理浏览器临时文件夹的方法