ROS系统常用命令

一.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 <package_name> [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-<distro>-rqt
	$ sudo apt-get install ros-<distro>-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 <service type>  #检查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 <your bagfile>	# 查看bag文件中的内容
	$ rosbag play <your bagfile>	# 回放录制的bag数据
	$ rosbag play -r 2 <bagfile>	# 通过设定一个参数来改变消息的发布速率,此处为两倍	
	$ rosbag record -O <your bagfile> <topic1> <topic2> # 录制指定的话题1和话题2
	$ roscd		# 进入当前工作空间
	$ roswtf 	# 没有启动roscore时,roswtf做的是安装检查;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值