执行具体任务的独立文件
不同节点可以使用不同的编程语言
节点在系统中的名称唯一
完成节点的命名、注册
辅助节点之间的查找、连接、通信
储存参数,供节点调用
节点可通过网络访问Master的参数服务器
适合存储静态、配置类的参数
异步通信机制,单向传输
由发布者Publisher发布给订阅者Subscriber
同一话题的发布者与订阅者不唯一
话题所传输的数据
具有类型和数据结构
由无关编程语言的.msg文件定义
同步通信机制,双向传输
客户端/服务器模型 请求与应答 request&response
由无关编程语言的.srv文件定义请求与应答的数据结构
ROS中的基本单元 包含源码、配置文件、数据定义等
功能包清单Package Manifest 包含功能包的相关信息,包括对其他功能包的依赖信息等
元功能包 Meta Packages
整不明白 详见ROS机器人开发实践P52
整不明白 详见ROS机器人开发实践P54
rosnode is a command-line tool for printing information about ROS Nodes.
rosnode
可获取有关rosnode的相关指令
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
rosnode info /turtlesim
rostopic is a command-line tool for printing information about ROS Topics.
rostopic
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
rostopic pub -r 频率 话题名 话题数据类型 具体数据
rostopic pub -r 10 /turtle1/cmd_vel geometry_msgs/Twist "linear:
x: 0.0
y: 1.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0"
rosmsg
rosservice
工具 rqt_graph
工具rosbag
rosbag record -a -O rosbag_rocrd_test
-v可以分为被pub和被sub查看所有的Topic
rostopic list -v
rossrv
rossrv is a command-line tool for displaying information about ROS Service types.
Commands:
rossrv show Show service description
rossrv info Alias for rossrv show
rossrv list List all services
rossrv md5 Display service md5sum
rossrv package List services in a package
rossrv packages List packages that contain services
以srv中的std_srvs/Trigger类型为例
rossrv show std_srvs/Trigger
结果:
---
bool success
string message
—之上的为request要求的格式
下面的为feedback要求的格式
rosservice
Commands:
rosservice args print service arguments
rosservice call 提供所需参数并请求某服务 call the service with the provided args
rosservice find find services by service type
rosservice info print information about service
rosservice list list active services
rosservice type print service type
rosservice uri print service ROSRPC uri
将海龟背景色的GREEN值修改为144
并请求服务,重新加载背景图
rosparam set /turtlesim/background_g 144
rosservice call /clear "{}"
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
将海龟背景色的GREEN值修改为144
并重新加载背景图
rosparam set /turtlesim/background_g 144
rosservice call /clear "{}"
访问ROS的当前版本类型参数
rosparam get /rosdistro
rosparam get /rosversion
结果:
'noetic ’
'1.15.14 ’
以yaml格式(一种参数保存格式)保存参数
保存位置为当前终端窗口运行的位置
rosparam dump param_test.yaml
从当前终端运行位置的目录下调用参数文件
rosparam load param_test.yaml
rosparam delete /turtlesim/background_g
roslaunch packageName launchFileName
启动launch文件