ros功能包和节点以及常用命令

1.ros功能包

综合功能包:只有一个文件的(package.xml)的特定包,用于引用其他功能类似的功能包。
rospack 获取一个功能包的信息
roscd 切换ros目录
rosls 列出一个给你报目录下的目录与文件清单

rospack help
rospack find 功能包 显示功能包目录所在路径
rospack list 列出电脑ros功能包的名称和路径

2.ros节点

ros提供节点之间的通信,采用分布式结构,一个节点单一控制系统某一功能。
节点是执行某些动作的进程,本身实际上是一个软件模块。
节点能够发布并被订阅。
节点能够独立运行代码完成任务,通过发送和接收消息来完成节点之间的通信。
有些节点给其他节点提供信息,叫发布信息节点。这些信息叫主题(topic)。来自主题的信息被一些节点使用,这是订阅发布主题的过程。

3.ros节点管理器

节点间的通信通过ros节点管理器(ROS Master)建立的。
Master为节点提供命名和注册服务。能够跟踪主题的发布来源和订阅者。
Master使得独立的ros节点能够定位其他的节点位置,进行连接使用TCP/IP或TCPROS协议。实现定位就建立起点对点通信通道。
Master任务之一为,在新的节点运行并进入到系统时能够保持对节点的跟踪。提供连接的动态分配功能。

4.roscore

roscore是节点和程序的集合,ros启动后,执行下面节点和服务:

  • ROS Master;
  • ROS参数服务器;
  • rosout日志节点;

Master由URI定义,确定了Master的定位信息。
参数服务器是运行时中节点用以存储和检索参数的共享词典。参数服务器运行于Master中,参数全局可见。

5.ros常用命令。

roscore 启动master并使得节点能够建立通信
rosnode 节点
rostopic 主题
rosrun 在功能包里找到并启动所需要的节点
rosmsg 显示相关消息的信息
rosservice 显示节点的运行时间,并且在请求/应答模式下在节点间传递数据。
rosparam 获取或者设置节点参数值

用法

rosnode list 列出运行节点
rostopic list 列出与运行中的节点相关的主题
rostopic type 查看主题的消息类型,结果打印消息类型。消息类型命名格式:/,注意下划线后的首字母大写
rosrun
rosmsg show 显示指定消息类型的消息格式
rosmsg list 节点发布消息后,查看消息类型
rosmsg packages 列出包含信息的功能包
rosmsg package 列出指定功能包包含的信息
rostopic echo 查看主题的消息的内容

主题 主题类型 消息格式 消息内容
rostopic list rostopic type rosmsg show rostopic echo
/turtle1/color_sensor turtlesim/Color uint8 r;uint8 g;uint8 b; r: 69; g:86: b:255

疑问:?主题类型=消息类型?
rosparam list 列出节点的参数列表
rosparam get / 获得整个参数服务器上所有参数的数值
==rosservice call ==通过远程控制端口改变参数

详细档案

rosnode

rosnode is a command-line tool for printing information about ROS Nodes.

Commands:
	rosnode ping	test connectivity to node
	rosnode list	list active nodes
	rosnode info	print information about node
	rosnode machine	list nodes running on a particular machine or list machines
	rosnode kill	kill a running node
	rosnode cleanup	purge registration information of unreachable nodes

Type rosnode <command> -h for more detailed usage, e.g. 'rosnode ping -h'

Options:
  -h, --help  show this help message and exit
  -u          list XML-RPC URIs
  -a, --all   list all information

rostopic

rostopic is a command-line tool for printing information about ROS Topics.

Commands:
	rostopic bw	display bandwidth used by topic
	rostopic delay	display delay of topic from timestamp in header
	rostopic echo	print messages to screen
	rostopic find	find topics by type
	rostopic hz	display publishing rate of topic    
	rostopic info	print information about active topic
	rostopic list	list active topics
	rostopic pub	publish data to topic
	rostopic type	print topic or field type

Type rostopic  -h for more detailed usage, e.g. 'rostopic echo -h'

rosmsg

rosmsg is a command-line tool for displaying information about ROS Message types.

Commands:
	rosmsg show	Show message description
	rosmsg info	Alias for rosmsg show
	rosmsg list	List all messages
	rosmsg md5	Display message md5sum
	rosmsg package	List messages in a package
	rosmsg packages	List packages that contain messages

Type rosmsg  -h for more detailed usage

rosparam

rosparam is a command-line tool for getting, setting, and deleting parameters from the ROS Parameter Server.

Commands:
	rosparam set	set parameter
	rosparam get	get parameter
	rosparam load	load parameters from file
	rosparam dump	dump parameters to file
	rosparam delete	delete parameter
	rosparam list	list parameter names 

$ rosparam list
/rosdistro
/roslaunch/uris/host_llama__43439
/rosversion
/run_id
#这四个参数是调用ROS master的roscore命令创建的。
实例

启动turtlesim后,更改背景色为红色

$ rosparam set /bcakground_g 0
$ rosparam set /bcakground_b 0
$ rosparam set /bcakground_r 250
$ rosservice call /clear

你可能感兴趣的:(ROS)