ROS系统常用命令
发布日期:2021-07-01 04:03:52
浏览次数:3
分类:技术文章
本文共 3546 字,大约阅读时间需要 11 分钟。
文章目录
一.ROS文件系统
$ export | grep ROS # 确保已经正确配置了脚本环境 $ echo $ROS_PACKAGE_PATH # 查看ros环境变量是否包含工作空间目录 $ rospack find [包名称] # 返回软件包的路径信息 $ roscd [本地包名称[/子目录]] # 直接切换工作目录到某个软件包或软件包集当中 $ pwd # 输出当前工作目录 $ roscd long # 切换到ROS保存日志文件的目录下 $ rosls [本地包名称[/子目录]] # 罗列目录,允许直接按软件包的名称而不是绝对路径执行命令
二.创建ROS程序包\编译ROS程序包
$ mkdir [工作空间名称] && cd [工作空间名称] && mkdir src #创建工作空间 $ catkin_make $ echo "source ~/ork_ws/devel/setup.bash" >> ~/.bashrc $ source ~/.bashrc $ catkin_create_pkg[depend1] [depend2] [depend3] # 创建一个名为package_name,且依赖于depend1-3的软件包 # package.xml为说明标签文件 $ rospack depends1 [软件包名] # 查看一级依赖 $ rospack depends [软件包名] # 查看所有依赖包
三.ROS节点
$ rosnode list # 列出当前活跃的节点 $ rosnode info [节点名] # 返回一个特定节点的信息 $ rosrun [package_name] [node_name] # 运行一个包内的节点 $ rosnode ping [节点名] # 测试节点连接情况
四.ROS话题
$ sudo apt-get install ros--rqt $ sudo apt-get install ros- -rqt-common-plugins # 安装rqt_graph,显示当前系统运行情况的动态图形 $ rosrun rqt_graph rqt_graph # 运行rqt_graph $ rqt_graph $ rostopic -h # 使用帮助选项查看rostopic子命令 $ rostopic echo [topic] # 显示在某个话题上发布的数据 $ rostopic list # 列出所有当前订阅和发布的话题 $ rostopic list -h # $ rostopic list -v # 显示出有关所发布和订阅的话题及其类型的详细信息 $ rostopic type [topic] # 查看所发布话题的消息类型 $ rostopic pub [topic] [msg_type] [args]# 把数据发布到当前某个正在广播的话题上 $ rostopic pub -r # 发布一个稳定的命令流 $ rostopic hz [topic] # 用来查看数据发布的频率 $ rostopic type [topic] | rosmsg show # 查看某个话题的更深层次的信息 $ rosrun rqt_plot rqt_plot # 实时显示一个发布到某个话题上的数据变化图形
命令成分 | 作用 |
---|---|
rostopic pub | 发布消息到话题的指令 |
-1 | 只发送一次 |
-r | 表示重复发送命令 |
/turtle1/cmd_vel | 发送给哪个话题 |
geometry_msgs/Twist | 发送消息类型 |
- - | 表示后面出现的 ’ - ’ 不表示命令 |
‘[2,0,0]’ ‘[0,0,1.8]’ | 发送消息内容,格式可以查询http://wiki.ros.org/ROS/YAMLCommandLine |
例:rostopic pub /turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, -1.8]'
五.ROS服务和参数
$ rosservice list # 输出可用服务的信息 $ rosservice call [service] [args] # 调用带参数的服务 $ rosservice type [service] # 输出服务类型 # empty,服务类型为空,表明在调用这个服务时不需要从参数 $ rosservice find # 依据类型寻找服务 $ rosservice uri # 输出服务的ROSRPC uri $ rosparam set [param_name] # 设置参数 $ rosparam get [param_name] # 获取参数 $ rosparam get / # 显示参数服务器上的所有内容 $ rosparam load [file_name] # 从文件读取参数 $ rosparam dump [file_name] # 向文件中写入参数 $ rosparam delete # 删除参数 $ rosparam list # 列出参数名
六.使用rqt_console和runlaunch
$ rosrun rqt_console rqt_console # ROS日志框架的一部分,用来显示节点的输出信息 $ rosrun rqt_logger_level rqt_logger_level # 允许我们修改节点运行时输出信息的日志等级(logger levels)(包括DEBUG,WARN,INFO,ERROR) 日志等级优先级:Fatal > Error > Warn > Info > Debug $ roslaunch [package] [filename.launch] # 用来启动定义在launch文件中的多个节点 $ touch [filename.launch] # 创建.launch文件
七.使用rosed编辑ROS中的文件
$ rosed [package_name] [filename] #rosed是rosbash(/rosbash)的一部分,利用它可通过包名来获取到待编辑文件
八.ROS消息(msg)和ROS服务(srv)
$ cd ~/catkin_ws/src/beginner_tutorials $ mkdir msg $ echo "int64 num" > msg/Num.msg $ rosmsg show [message type] #检查ROS是否能够识别消息 $ roscd [package] $ mkdir srv $ roscp [package_name] [file_to_copy_path] [copy_path] #实现将文件从一个package复制到另外一个package的功能 $ rossrv show#检查ROS是否能够识该服务 $ ros命令 -h
九.消息发布器和订阅器
$ roscore # 启动ros发布器 $ source ./devel/setup.sh $ rosrun [pakage] [发布器节点] # 启动发布器 $ rosrun [pakage] [发布器节点.py] $ rosrun [pakage] [订阅器节点] # 启动订阅器节点 $ rosrun [pakage] [订阅器节点.py] $ rostopic list -v #查看当前系统中发布的所有话题 $ rosbag record -a #录制所有节点发布的所有信息 $ rosbag info# 查看bag文件中的内容 $ rosbag play # 回放录制的bag数据 $ rosbag play -r 2 # 通过设定一个参数来改变消息的发布速率,此处为两倍 $ rosbag record -O # 录制指定的话题1和话题2 $ roscd # 进入当前工作空间 $ roswtf # 没有启动roscore时,roswtf做的是安装检查;
转载地址:https://miracle.blog.csdn.net/article/details/89815491 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2024年05月02日 03时35分43秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
IOS开发--微信支付
2019-05-03
iOS 微信支付 实用教程
2019-05-03
UIViewController的基本概念与生命周期
2019-05-03
最新方法制作自己的cocoapods开源框架的详细步骤
2019-05-03
Getting start with OCMock in you unit test
2019-05-03
李洪强和你一起学习前端之(6)css行高,盒模型,外边距
2019-05-03
iOS-ARC-环境下如何查看引用计数的变化
2019-05-03
李洪强和你一起学习前端之(1)Html基础
2019-05-03
李洪强iOS经典面试题142-第三方框架及其管理
2019-05-03
李洪强经典面试题38
2019-05-03
我们必须自学
2019-05-03
iOS应用内付费(IAP)开发步骤列表
2019-05-03
iOS-TextField知多少
2019-05-03
用javascript协助导入图片
2019-05-03
iOS移动开发周报-第18期
2019-05-03
iOS移动开发周报-第17期
2019-05-03
iOS移动开发周报-第23期
2019-05-03
iOS移动开发周报-第22期
2019-05-03
适合码农工作时玩的游戏:Scrum
2019-05-03
iOS移动开发周报-第24期
2019-05-03