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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:ROS学习过程中的错误记录2 - 编写简单的消息发布器和订阅器(C++)
下一篇:Linux常用命令 - N年前的学习笔记

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年05月02日 03时35分43秒