機器人必然會有傳感器、調試工具如果用圖形化則比指令行更容易使用,本節主要圍繞可視化,撥開枯燥的數字迷霧,并将其形象的展示出來。
- rqt
- rviz2

文檔中的内容,都有對應源碼,參考如下檔案夾:
本節使用案例三維點雲,擴充案例為攝像頭資料。輸入如下指令:
- source install/setup.bash
- ros2 run examples_rclpy_pointcloud_publisher pointcloud_publisher
- rviz2
- rqt
- ros2 topic echo /test_cloud
以其中兩組完整資料展示:
非常枯燥并且不知道是啥???
header:
stamp:
sec: 1634160052
nanosec: 358446349
frame_id: map
height: 1
width: 10000
fields:
- name: x
offset: 0
datatype: 7
count: 1
- name: y
offset: 4
datatype: 7
count: 1
- name: z
offset: 8
datatype: 7
count: 1
- name: intensity
offset: 12
datatype: 7
count: 1
is_bigendian: false
point_step: 16
row_step: 160000
data:
- 0
- 0
- 0
- 192
- 0
- 0
- 0
- 192
- 20
- 103
- 146
- 190
- 20
- 103
- 146
- 190
- 10
- 212
- 250
- 191
- 0
- 0
- 0
- 192
- 153
- 174
- 135
- 190
- 153
- 174
- 135
- 190
- 21
- 168
- 245
- 191
- 0
- 0
- 0
- 192
- 220
- 38
- 120
- 190
- 220
- 38
- 120
- 190
- 31
- 124
- 240
- 191
- 0
- 0
- 0
- 192
- 234
- 81
- 95
- 190
- 234
- 81
- 95
- 190
- 41
- 80
- 235
- 191
- 0
- 0
- 0
- 192
- 220
- 7
- 69
- 190
- 220
- 7
- 69
- 190
- 52
- 36
- 230
- 191
- 0
- 0
- 0
- 192
- 157
- 116
- 41
- 190
- 157
- 116
- 41
- 190
- 62
- 248
- 224
- 191
- 0
- 0
- 0
- 192
- 64
- 198
- 12
- 190
- 64
- 198
- 12
- 190
- 72
- 204
- 219
- 191
- 0
- 0
- 0
- 192
- 95
- 89
- 222
- 189
- 95
- 89
- 222
- 189
- '...'
is_dense: false
---
header:
stamp:
sec: 1634160052
nanosec: 418641040
frame_id: map
height: 1
width: 10000
fields:
- name: x
offset: 0
datatype: 7
count: 1
- name: y
offset: 4
datatype: 7
count: 1
- name: z
offset: 8
datatype: 7
count: 1
- name: intensity
offset: 12
datatype: 7
count: 1
is_bigendian: false
point_step: 16
row_step: 160000
data:
- 0
- 0
- 0
- 192
- 0
- 0
- 0
- 192
- 232
- 86
- 158
- 190
- 232
- 86
- 158
- 190
- 10
- 212
- 250
- 191
- 0
- 0
- 0
- 192
- 149
- 207
- 148
- 190
- 149
- 207
- 148
- 190
- 21
- 168
- 245
- 191
- 0
- 0
- 0
- 192
- 162
- 79
- 138
- 190
- 162
- 79
- 138
- 190
- 31
- 124
- 240
- 191
- 0
- 0
- 0
- 192
- 51
- 209
- 125
- 190
- 51
- 209
- 125
- 190
- 41
- 80
- 235
- 191
- 0
- 0
- 0
- 192
- 17
- 91
- 101
- 190
- 17
- 91
- 101
- 190
- 52
- 36
- 230
- 191
- 0
- 0
- 0
- 192
- 188
- 101
- 75
- 190
- 188
- 101
- 75
- 190
- 62
- 248
- 224
- 191
- 0
- 0
- 0
- 192
- 147
- 28
- 48
- 190
- 147
- 28
- 48
- 190
- 72
- 204
- 219
- 191
- 0
- 0
- 0
- 192
- 45
- 173
- 19
- 190
- 45
- 173
- 19
- 190
- '...'
is_dense: false
---
複制
rviz2可視化效果如下:
關于此部分全部内容參考:
點雲釋出(pointcloud_publisher)之ROS2案例
資料之美由此可見。
節點圖:
turtlesim畫曲線:
- ros2 run turtlesim turtlesim_node
釋出速度:
對比速度和位姿資料差異性。
釋出頻率:
zhangrelay@cslg:~/code/ros2_ws$ ros2 topic echo /turtle1/cmd_vel
linear:
x: 0.6
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.3
---
linear:
x: 0.6
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.3
---
zhangrelay@cslg:~/code/ros2_ws$ ros2 topic echo /turtle1/pose
x: 3.555169105529785
y: 7.3056793212890625
theta: -1.4535272121429443
linear_velocity: 0.6000000238418579
angular_velocity: 0.30000001192092896
---
x: 3.55633807182312
y: 7.2961506843566895
theta: -1.4487272500991821
linear_velocity: 0.6000000238418579
angular_velocity: 0.30000001192092896
---
複制
更多二維曲線繪制,參考:
plotjuggler⬅ROS1/ROS2畫軌迹神器➡rqt_plot+rqt_multiplot之超級加強版
請閱讀并盡量完成鏡像中如下部分:
ROS2基礎部分到此結束。