【ROS21讲】:第二部分 核心概念(6-8讲)

文章目录

  • 第6讲:ROS是什么?
    • 1、ROS=通信机制+开发工具+应用功能+生态系统
    • 2、通信机制
    • 3、开发工具
    • 4、应用功能
    • 5、生态系统
  • 第7讲:ROS中的核心概念?
    • 1、节点与节点管理器
    • 2、通信机制
    • 3、参数
    • 4、文件系统
  • 第8讲:ROS命令行的工具使用?
    • 1、节点运行
    • 2、绘制节点通信图
    • 3、常见的命令行功能
    • 4、利用命令行发布话题与服务请求

第6讲:ROS是什么?

1、ROS=通信机制+开发工具+应用功能+生态系统

【ROS21讲】:第二部分 核心概念(6-8讲)_第1张图片

2、通信机制

ROS中具有松耦合分布式通信机制
【ROS21讲】:第二部分 核心概念(6-8讲)_第2张图片

3、开发工具

【ROS21讲】:第二部分 核心概念(6-8讲)_第3张图片

4、应用功能

【ROS21讲】:第二部分 核心概念(6-8讲)_第4张图片

5、生态系统

【ROS21讲】:第二部分 核心概念(6-8讲)_第5张图片

第7讲:ROS中的核心概念?

1、节点与节点管理器

【ROS21讲】:第二部分 核心概念(6-8讲)_第6张图片

2、通信机制

ROS中具有两种通信机制,分别为:话题通信和服务通信
【ROS21讲】:第二部分 核心概念(6-8讲)_第7张图片【ROS21讲】:第二部分 核心概念(6-8讲)_第8张图片
【ROS21讲】:第二部分 核心概念(6-8讲)_第9张图片

3、参数

【ROS21讲】:第二部分 核心概念(6-8讲)_第10张图片

4、文件系统

【ROS21讲】:第二部分 核心概念(6-8讲)_第11张图片

第8讲:ROS命令行的工具使用?

运行小海龟程序的样例:

roscore
rosrun turtlesim turtlesim_node 
rosrun turtlesim turtle_teleop_key

1、节点运行

rosrun【功能包】【节点名】
rosrun [功能包] 双TAB有提示

【ROS21讲】:第二部分 核心概念(6-8讲)_第12张图片

2、绘制节点通信图

rqt_grapy

【ROS21讲】:第二部分 核心概念(6-8讲)_第13张图片

3、常见的命令行功能

命令:rostopic rosservice rosnode rosparam rosmsg rossrv
格式:命令 【动作】【对象】
TIPS:命令+enter===>可以提示所有
TIPS:命令 【动作】+两个TAB======
rosnode list
rosnode info /teleop_turtle
rostopic
rostopic list
rosmsg show geometry_msgs/Twist
rosservice list
rosservice info /spawn

1)、rostopic echo [topic]
显示某话题的数据

$ rostopic echo /turtle1/cmd_vel

2)、rostopic type
显示某话题的消息类型

$ rostopic type /turtle1/cmd_vel
geometry_msgs/Twist

3)、rosmsg show
查看消息类型的详细信息

$ rosmsg show geometry_msgs/Twist

geometry_msgs/Vector3 linear
  float64 x
  float64 y
  float64 z
geometry_msgs/Vector3 angular
  float64 x
  float64 y
  float64 z

4)、rostopic hz [topic]
rostopic hz报告数据发布的速率。

$ rostopic hz /turtle1/pose
subscribed to [/turtle1/pose]
average rate: 59.354
        min: 0.005s max: 0.027s std dev: 0.00284s window: 58
average rate: 59.459
        min: 0.005s max: 0.027s std dev: 0.00271s window: 118
average rate: 59.539
        min: 0.004s max: 0.030s std dev: 0.00339s window: 177
average rate: 59.492
        min: 0.004s max: 0.030s std dev: 0.00380s window: 237
average rate: 59.463
        min: 0.004s max: 0.030s std dev: 0.00380s window: 290

5)、rqt_plot
动态绘制话题的数据

$ rosrun rqt_plot rqt_plot

这会弹出一个新窗口,可以在左上角的文本框里面添加任何想要绘制的话题。在里面输入/turtle1/pose/x后,之前不能按下的加号按钮将会变亮。按一下该按钮,并对/turtle1/pose/y重复相同的过程。现在你会在图中看到turtle的x-y位置。
【ROS21讲】:第二部分 核心概念(6-8讲)_第14张图片6)查找ros功能包的路径rospack find

$ rospack find turtlesim
/opt/ros/noetic/share/turtlesim

4、利用命令行发布话题与服务请求

发布话题消息
rostopic  pub -r 10 /turtle1/cmd_vel geometry_msgs/Twist "linear:    
  x: 1.0
  y: 0.0
  z: 0.0
angular:
  x: 0.0
  y: 0.0
  z: 0.0" 
发布服务请求
rosservice call /spawn "x: 10.0
y: 10.0
theta: 0.0
name: ''" 
name: "turtle2"

你可能感兴趣的:(ROS,ROS)