�gӭ���R�ЈD�W(w��ng) Ո(q��ng) | ע��(c��)
> >>
��ROS1��ROS2�o�˙C(j��)���̌�(sh��)��(zh��n)ָ��

���] ��ROS1��ROS2�o�˙C(j��)���̌�(sh��)��(zh��n)ָ��

�����磺���W(xu��)���I(y��)����������r(sh��)�g��2023-05-01
�_���� 16�_ 퓔�(sh��)�� 570
�� �D �r(ji��):¥138.6(7.0��) ���r(ji��)  ¥198.0 ��䛺�ɿ�����(hu��)�T�r(ji��)
����ُ��܇ �ղ�
�_������ ȫ��(ch��ng)���]
?�½������س���
������Ǖ�����>

��ROS1��ROS2�o�˙C(j��)���̌�(sh��)��(zh��n)ָ�� ���(qu��n)��Ϣ

��ROS1��ROS2�o�˙C(j��)���̌�(sh��)��(zh��n)ָ�� ������ɫ

1.��(n��i)���v���ROS1�^�ɵ�ROS2���ٵ��o�˙C(j��)���̑�(y��ng)�ã��ӌ��f�M(j��n)���Ļ��A(ch��)����(sh��)��(zh��n)2.��Փ֪�R(sh��)�o�Գ��������x��߅�W(xu��)߅���������ֿ�3.�D�IJ�ï�����w��V�����ɝM��C(j��)�������o�˙C(j��)�аl(f��)���g(sh��)�ˆT����(g��)�Ӵε���x��Ҫ

��ROS1��ROS2�o�˙C(j��)���̌�(sh��)��(zh��n)ָ�� ��(n��i)�ݺ�(ji��n)��

����ȫ���B��ROS�C(j��)���˲���ϵ�y(t��ng)�����ڟo�˙C(j��)�����еđ�(y��ng)������(n��i)�ݺ��w���ܙC(j��)���˺͟o�˙C(j��)�ȏ����T����ͨ����ļ��g(sh��)�_�l(f��)֪�R(sh��)Ҫ�c(di��n)��������ROS���A(ch��)֪�R(sh��)��������ROS1�^�ɵ�ROS2�ٵ����ߵ���ֲ�c�D(zhu��n)�Q���ɜ\��������(j��)�M(j��n)�A���ԟo�˙C(j��)�ľ��̑�(y��ng)�Þ�ƽ�_(t��i)����Ŀǰ���еęC(j��)����SLAM��λ�㷨����ȌW(xu��)��(x��)�R(sh��)�e�㷨�������\(y��n)��(d��ng)���ƌW(xu��)�Ŀ����㷨�Լ�ȫ�ּӾֲ���܉�EҎ(gu��)���㷨�����c(di��n)���y�c(di��n)���M(j��n)����Ԕ��(x��)�U����ȫ���Z��ͨ���׶����o�Գ�������עጣ���ͨ�^�������ʽ��׌�x���܉��p�ɵ،W(xu��)��(x��)ROS���o�˙C(j��)���̡� �����ɹ����ܙC(j��)���˼��o�˙C(j��)�����P(gu��n)�ИI(y��)���g(sh��)��������x����,Ҳ��ROS�ۺ��ߵČ�(sh��)��(zh��n)������߀�������У���P(gu��n)���I(y��)�����ą�������

��ROS1��ROS2�o�˙C(j��)���̌�(sh��)��(zh��n)ָ�� Ŀ�

��1�¡�ROS——���ܙC(j��)�����_�� 001
1.1��ROS��(ji��)�c(di��n)��node�� 001
1.1.1����(ji��)�c(di��n) 001
1.1.2����(ji��)�c(di��n)������ 001
1.1.3���c��(ji��)�c(di��n)���P(gu��n)��ָ�� 002
1.2��ROS����ָ���cʹ�� 007
1.2.1���cmsg���P(gu��n)������ 007
1.2.2���ctopic���P(gu��n)������ 009
1.2.3���cservice���P(gu��n)������ 015
1.2.4����Ϣӛ��c�ط����� 017
1.2.5�������\������ 018
1.3���������g�c���ܰ��Ą�(chu��ng)�� 019
1.3.1�� �������g�͹��ܰ��ĽM�� 020
1.3.2�� �������g�Ą�(chu��ng)�� 021
1.3.3�� ���g�������g 021
1.3.4�� �O(sh��)�íh(hu��n)��׃�� 023
1.3.5�� �z��h(hu��n)��׃�� 023
1.3.6�� ���ܰ��Ą�(chu��ng)�� 023
1.3.7�� package.xml�ļ���(n��i)�� 025
1.3.8��CMakeLists.txt�ļ����� 026
1.4����ҕ������(sh��)ָ�Parameter����ʹ�� 029
1.4.1��Parameter Server��ʹ�� 029
1.4.2��ͨ�^���̌�(sh��)�F(xi��n)����(sh��)���o�B(t��i)�{(di��o)��(ji��) 033
1.4.3����(sh��)�F(xi��n)����(sh��)�Ą�(d��ng)�B(t��i)�{(di��o)��(ji��) 041
1.5�� Visual Studio Code�h(hu��n)����c���� 045
1.5.1�� �h(hu��n)��� 045
1.5.2�� Visual Studio Code ���� 049
1.6�� Docker-ROS���b 050
1.6.1�� �˽�Docker 050
1.6.2�� Docker���b 051
1.6.3����Docker��(n��i)���bROS 054
1.6.4����Docker��(n��i)���bvncserver 055
1.6.5���y(c��)ԇDocker��ROS����GUI���� 055
1.7�� ROS�VSC�{(di��o)ԇ�h(hu��n)�� 058
1.7.1�� ���b��� 058
1.7.2�� ��VScode������ROS�h(hu��n)�� 058
1.7.3�� ��VScode��debug���a 059

��2�¡�ROS���̼���������_�l(f��) 065
2.1�� �l(f��)���ߣ�Publisher)�ľ����c��(sh��)�F(xi��n) 065
2.1.1��learning_topic���ܰ��Ą�(chu��ng)�� 065
2.1.2��ROS����Ό�(sh��)�F(xi��n)һ��(g��)Publisher 066
2.1.3����C ��(sh��)�F(xi��n)Publisher�����a�v�� 066
2.1.4����Python��(sh��)�F(xi��n)Publisher�����a�v�� 069
2.2��ӆ��ߣ�Subscriber���ľ����c��(sh��)�F(xi��n) 071
2.2.1��ROS����Ό�(sh��)�F(xi��n)һ��(g��)Subscriber 072
2.2.2����C ��(sh��)�F(xi��n)Subscriber�����a�v�� 072
2.2.3����Python��(sh��)�F(xi��n)Subscriber�����a�v�� 074
2.3���Զ��xԒ�}��Topic����(sh��)�F(xi��n) 076
2.3.1���Զ��x��Ϣ��͵Ą�(chu��ng)�� 076
2.3.2�����̌�(sh��)�F(xi��n)Ԓ�}��C �� 079
2.3.3�����̌�(sh��)�F(xi��n)Ԓ�}��Python�� 082
2.4���͑��ˣ�Client���ľ����c��(sh��)�F(xi��n) 084
2.4.1��learning_service���ܰ��Ą�(chu��ng)�� 085
2.4.2��srv�ļ������� 085
2.4.3��ROS����Ό�(sh��)�F(xi��n)һ��(g��)Client 086
2.4.4����C ��(sh��)�F(xi��n)Client�����a�v�� 086
2.4.5����C ��(sh��)�F(xi��n)Python�����a�v�� 088
2.5������(w��)�ˣ�Server���ľ����c��(sh��)�F(xi��n) 091
2.5.1��Trigger���ļ� 091
2.5.2��ROS����Ό�(sh��)�F(xi��n)һ��(g��)Server 092
2.5.3����C ��(sh��)�F(xi��n)Server�����a�v�� 092
2.5.4����Python��(sh��)�F(xi��n)Server�����a�v�� 095
2.6���Զ��x����(w��)��Service����(sh��)�F(xi��n) 098
2.6.1���Զ��x����(w��)��͵Ą�(chu��ng)�� 098
2.6.2�����̌�(sh��)�F(xi��n)����(w��)��C �� 100
2.6.3�����̌�(sh��)�F(xi��n)����(w��)��Python�� 104
2.7���О飨Action�������c��(sh��)�F(xi��n) 108
2.7.1��Action�����C(j��)�� 108
2.7.2��learning_action���ܰ��Ą�(chu��ng)�� 112
2.7.3�����̌�(sh��)�F(xi��n)��(d��ng)����C �� 113
2.7.4�����̌�(sh��)�F(xi��n)��(d��ng)����Python�� 121
2.8���๝(ji��)�c(di��n)����(d��ng)�_����launch���ļ��ľ����c��(sh��)�F(xi��n) 123
2.8.1��launch�ļ� 123
2.8.2��launch�ļ��Ļ����ɷ� 123
2.8.3��launch�ļ����� 126
2.9��ROS�O(sh��)��plugin��� 128
2.9.1��ʲô��plugin 128
2.9.2��pluginlib�Ĺ���ԭ�� 128
2.9.3����(sh��)�F(xi��n)plugin�IJ��E 128
2.9.4��plugin��(sh��)�F(xi��n) 129
2.9.5����ROS��ʹ�Ä�(chu��ng)����plugin 132
2.10������RVIZ�Ķ����_�l(f��)——plugin 134
2.10.1��plugin�Ą�(chu��ng)�� 134
2.10.2���a(b��)�侎�gҎ(gu��)�t 140
2.10.3����(sh��)�F(xi��n)�Y(ji��)�� 141
2.11��ROS����Ϣͬ���c����Ϣ���{(di��o) 142
2.11.1��ʲô�Ƕ���Ϣͬ���c����Ϣ���{(di��o) 142
2.11.2����(sh��)�F(xi��n)���E 142
2.11.3�����ܰ��Ą�(chu��ng)�� 143
2.11.4��ȫ��׃����ʽ ��TimeSynchronizer 143
2.11.5��ɆT����ʽ��message_filters::Synchronizer 144

��3�¡�ROS��ҕ�����ܰ��c��չ 148
3.1����־ݔ������(rqt_console) 148
3.1.1��rqt_console 148
3.1.2����־�ĵȼ�(j��) 150
3.1.3��rqt_logger_level 151
3.2����(sh��)��(j��)�L�D���ߣ�rqt_plot�� 152
3.3��Ӌ(j��)��D��ҕ�����ߣ�rqt_graph) 155
3.4���D����Ⱦ���ߣ�rqt_image_view�� 157
3.5��PlotJuggler 157
3.5.1��PlotJuggler��(ji��n)�� 157
3.5.2��ROSϵ�y(t��ng)�а��bPlotJuggler 158
3.5.3�����R(sh��)PlotJuggler 158
3.6�����S��ҕ�����ߣ�rviz�� 162
3.6.1��Displays��(c��)߅�� 163
3.6.2��Views��(c��)߅�� 164
3.6.3�����ߙ� 165
3.7�����S��������ƽ�_(t��i)��Gazebo) 165
3.7.1��ҕ�D���� 165
3.7.2��ģ���б� 166
3.7.3��ģ�͌��ԅ^(q��) 167
3.7.4���Ϲ��ߙ� 167
3.7.5���¹��ߙ� 168
3.8��ROS�˙C(j��)����ܛ����B 168
3.8.1��ROS�cQT�Ľ��� 169
3.8.2��ROS�cWeb�Ľ���——rosbridge 170
3.8.3��ROS�cJava�Ľ���——rosjava 171
3.9��ROS���x�����^�V�c�ü� 172
3.9.1������(j��)topic�^�V 172
3.9.2������(j��)�r(sh��)�g�^�V 172
3.9.3��ͬ�r(sh��)�^�Vtopic�c�r(sh��)�g 173
3.9.4��ͨ�^rosbag���ros������ 173
3.10����ҊGUI���ٲ�ԃ 174
3.10.1��rqt_tf_tree 174
3.10.2��rqt_bag 174
3.10.3��rqt_topic 175
3.10.4��rqt_reconfigure 175
3.10.5��rqt_publisher 176
3.10.6��rqt_top 176
3.10.7��rqt_runtime_monitor 177

��4�¡�ROS2——���ܙC(j��)���������c(di��n) 178
4.1��ROS2�������� 178
4.1.1��ROS1�cROS2��������IJ�ͬ 178
4.1.2��ROS1�cROS2ͨ�řC(j��)�ƵIJ�ͬ 179
4.1.3��ROS1�cROS2���ܰ����������g���h(hu��n)���IJ�ͬ 180
4.2��ROS2֮DDS 180
4.2.1��ʲô��DDS 181
4.2.2��DDS���C(j��)ͨ�� 181
4.2.3�����g��RMW 182
4.2.4��DDS�{(di��o)��(y��u) 183
4.3��Docker—ROS2���b 184
4.3.1�����b 184
4.3.2�����b�y(c��)ԇ 185
4.3.3�����g���\(y��n)��ʾ������ 186
4.3.4��ROS2 docker ���b 187
4.4��ROS2�VSC�{(di��o)ԇ�h(hu��n)�� 191
4.4.1�����g�O(sh��)�� 191
4.4.2��Debug�O(sh��)�� 192
4.4.3���_��Debug 194
4.5��ROS2�������g��B 195
4.5.1���������g�M�� 195
4.5.2����(chu��ng)��һ��(g��)��(ji��n)�εĹ��ܰ� 196
4.5.3�����g���ܰ� 197
4.6��ROS2��POP��OOP 198
4.6.1��POP��OOP��ʲô 198
4.6.2��POP�cOOP��(du��)�� 199
4.6.3���Y(ji��) 199
4.7���l(f��)���ߣ�Publisher���ľ����c��(sh��)�F(xi��n) 200
4.7.1��ROS2�l(f��)���߹��ܴ_�� 200
4.7.2���������a��C ��(sh��)�F(xi��n)�� 201
4.7.3���������a��Python��(sh��)�F(xi��n)�� 203
4.7.4�����g���a 204
4.7.5���\(y��n)��a 204
4.8��ӆ��ߣ�Subscriber���ľ����c��(sh��)�F(xi��n) 205
4.8.1��ROS2ӆ��߹��ܴ_�� 205
4.8.2���������a��C ��(sh��)�F(xi��n)�� 205
4.8.3���������a��Python��(sh��)�F(xi��n)�� 207
4.8.4�����g���a 208
4.8.5���\(y��n)��a 208
4.9���͑���Client���ľ����c��(sh��)�F(xi��n) 209
4.9.1��ROS2����(w��)�ĺ�(ji��n)���{(di��o)�� 209
4.9.2��ROS2�͑����ܴ_�� 210
4.9.3���������a��C ��(sh��)�F(xi��n)�� 210
4.9.4���������a��Python��(sh��)�F(xi��n)�� 212
4.9.5���\(y��n)��a 213
4.10������(w��)��Service���ľ����c��(sh��)�F(xi��n) 214
4.10.1��ROS2����(w��)�΄�(w��)�_�� 214
4.10.2���������a��C ��(sh��)�F(xi��n)�� 214
4.10.3���������a��Python��(sh��)�F(xi��n)�� 216
4.10.4���\(y��n)��a 217
4.11���Զ��xmsg�Լ�srv 218
4.11.1���Զ��xmsg�Լ�srv�����x 218
4.11.2����(chu��ng)���Լ���msg��srv�ļ� 218
4.11.3�����������ܰ������� 219
4.12��ROS2����(sh��)��Parameter�� 220
4.12.1������(sh��)��ʲô 220
4.12.2���΄�(w��)�_�� 220
4.12.3�����򾎌���C �� 220
4.12.4�����򾎌���Python�� 221
4.12.5�����g���\(y��n)��a 222
4.13��ROS2���һ�I����(d��ng)����(g��)�_�� 223
4.13.1��ROS2��launchϵ�y(t��ng) 223
4.13.2�����Լ��Ĺ��ܰ�������launch�ļ���C �� 225
4.13.3�����Լ��Ĺ��ܰ�������launch�ļ���Python�� 226
4.13.4�����g���\(y��n)�� 227
4.14��Action��server & client���ľ����c��(sh��)�F(xi��n) 227
4.14.1���΄�(w��)�_�� 228
4.14.2������(j��)�΄�(w��)��(chu��ng)����(du��)��(y��ng)��Action 228
4.14.3�����򾎌�(C ) 229
4.14.4�����򾎌�(Python) 233
4.14.5�������(zh��)�� 235
4.15��ROS2�ӹ�(ji��)�c(di��n)�Լ��ྀ�� 236
4.15.1��ROS1—Node �� Nodelets 236
4.15.2��ROS2—�y(t��ng)һAPI 237
4.15.3��component���w�(y��n) 237
4.15.4���Զ��xcomponent 239
4.15.5��ROS2�еĶྀ��—callbackgroup 241
4.15.6���ྀ�̵Ĵ������� 242
4.15.7���Զ��x�ྀ�̳��� 243
4.16��ROS2���������� 243
4.16.1�����ܰ� 243
4.16.2����(ji��)�c(di��n) 244
4.16.3��ROS2Ԓ�} 245
4.16.4������(sh��)��param������ 247
4.16.5��action���� 248
4.16.6��interface���� 248
4.16.7��doctor���� 250
4.16.8��ROS2��ҕ��GUI�c���湤�� 251

��5�¡���ROS1��ֲ��ROS2 255
5.1��ROS1��ֲ��ROS2��Ҋ�Ć��} 255
5.1.1��CMakeList���� 255
5.1.2��launch�ļ� 256
5.1.3��parameter 257
5.1.4�����a��ֲ���� 258
5.2��ROS1�cROS2���Ļ����D(zhu��n)�Q��ʹ�� 261
5.2.1��ʹ��ROS2���С������ 261
5.2.2��ROS2�D(zhu��n)ROS1��bag��1 263
5.2.3��ROS2�D(zhu��n)ROS1��bag��2 264
5.2.4��ROS1�D(zhu��n)ROS2��bag�� 264
5.2.5���Զ��x���msg��bag���D(zhu��n)�Q 264

��6�¡��o�˙C(j��)���C(j��)��λ 268
6.1����λ�㷨���� 268
6.1.1��������λ�㷨 268
6.1.2���҃�(n��i)��λ�㷨——RFID��λ 268
6.1.3���҃�(n��i)��λ�㷨——WIFI��λ 269
6.1.4���҃�(n��i)��λ�㷨——UWB��λ 269
6.1.5�����ⶨλ�㷨——GPS/RTK��վ��λ 270
6.1.6��ͨ�ö�λ�㷨——���ⶨλ 270
6.1.7��ͨ�ö�λ�㷨——ҕ�X��λ 272
6.1.8����λ�㷨�����Լ�Ҏ(gu��)�����y�׳̶ȱ��^ 273
6.2��VINS�ļ������——VINS FUSION 274
6.2.1��VSLAM��ʲô 274
6.2.2��ҕ�XSLAM���g(sh��)�l(f��)չ 274
6.2.3��VINS-FUSION���b 279
6.3���Ć�ĿVIO��ʼ���_ʼ 280
6.3.1�����w�ܘ�(g��u) 280
6.3.2��ǰ�˳������� 282
6.3.3�������c(di��n)��ۙ 284
6.3.4��IMU�A(y��)�e�� 290
6.3.5����ֵ�V�� 293
6.4��߅�����c��(y��u)�� 298
6.4.1���P(gu��n)�I���z�y(c��) 298
6.4.2����(bi��o)���Ⅲ����(bi��o)ϵ�D(zhu��n)�� 298
6.4.3���z���^ IMU��ʼ�� 300
6.4.4��BA��(y��u)��-IMU 303
6.4.5��BA��(y��u)��-�D�� 306
6.4.6�������栖�a(b��)��߅���� 309
6.4.7������� 313
6.5����Ĺ���——�حh(hu��n)�z�y(c��) 314
6.5.1���حh(hu��n)�z�y(c��)-��ں���(sh��) 314
6.5.2���حh(hu��n)�z�y(c��)-�P(gu��n)�I���@ȡ 316
6.5.3����˃�(y��u)��-�D��(y��u)�� 317
6.5.4��ȫ���ں� 319
6.5.5���Y(ji��) 321

��7�¡��o�˙C(j��)���S�������_(d��)��λ 322
7.1��Cartographer 322
7.1.1��Cartographer�cCartographer_ros 322
7.1.2��2D SLAM�l(f��)չ 322
7.1.3��Cartographer���b 324
7.2��cartographer_ros��(sh��)��(j��)���� 326
7.2.1��cartographer_rosĿ䛽Y(ji��)��(g��u) 326
7.2.2��cartographer_ros 327
7.2.3��cartographer_node 328
7.2.4��lua�ļ�Ԕ�� 330
7.2.5��Cartographer��(g��u)�캯��(sh��)��Ϣ̎�� 332
7.2.6��܉�E��ۙ�͂�������(sh��)��(j��)�@ȡ 334
7.3��ǰ���朽ӵĘ��� 335
7.3.1���؈D��(g��u)���Ę���—��ҕ�� 335
7.3.2���؈D��(g��u)���Ę���—����܉�E 335
7.3.3���؈D��(g��u)���Ę���—��������(sh��) 337
7.3.4����������(g��u)���Ę���—���_(d��)��(sh��)��(j��) 337
7.3.5����������(g��u)���Ę���—��������(sh��) 339
7.4���؈D��(g��u)���� 340
7.4.1��Cartographer�еĵ؈D����(sh��)�@ȡ 340
7.4.2���؈D�ӿڌ�(sh��)�F(xi��n) 342
7.4.3��map_builder��������(sh��) 345
7.4.4��朽�ǰ���c��˵Ę��� 345
7.4.5�����ӂ�������˃�(y��u)���ӿ� 347
7.5��Local SLAM-�ӈD��ƥ�� 349
7.5.1��Local SLAM���_�� 349
7.5.2���ӈD�ľS�o(h��) 351
7.5.3��ռ�ÖŸ�؈D 353
7.5.4�����ұ��cռ�ÖŸ���� 355
7.5.5�����ĺ���(sh��)—AddRangeData 358
7.5.6����(sh��)�r(sh��)���P(gu��n)�Է����Ē���ƥ���� 363
7.5.7��Ceres����ƥ�� 364
7.6��Global SLAMȫ�ֵ؈D��ƥ�� 365
7.6.1��Global SLAM���_�� 365
7.6.2��λ�ˈD��(chu��ng)���c���� 367
7.6.3�����̳ع����µĺ�˃�(y��u)�� 372
7.6.4���s����(g��u)���� 375
7.6.5����֧�����]�h(hu��n)�z�y(c��) 378
7.6.6����˃�(y��u)�� 383
7.6.7���Y(ji��) 389

��8�¡��o�˙C(j��)���S�������_(d��)��λ 390
8.1��LOAM���I(y��)�����-SC-LeGO-LOAM 390
8.1.1������SLAM�cҕ�XSLAM��(y��u)�ӌ�(du��)�� 390
8.1.2��3D SLAM�l(f��)չ 390
8.1.3��SC-LeGO-LOAM���b 393
8.2���c(di��n)�Ɣ�(sh��)��(j��)ݔ���c�����c(di��n)�ָ� 394
8.2.1����ʲô�x��SC-LeGO-LOAM 394
8.2.2��launch �ļ� 394
8.2.3���c(di��n)��ݔ���A(y��)̎���Լ������c(di��n)�ָ�c(di��n)�Ʒָ� 395
8.3������������ȡ�c�P(gu��n)“(li��n) 402
8.3.1����ں���(sh��) 402
8.3.2��������ȡ—��׃?n��i)��?404
8.3.3��������ȡ—Ӌ(j��)��ƽ�� 406
8.3.4��������ȡ—ȥ�����ɿ��c(di��n) 407
8.3.5��������ȡ—���c(di��n)��ȡ 408
8.3.6����(sh��)��(j��)�P(gu��n)“(li��n)—���³�ʼ��λ�� 410
8.3.7����(sh��)��(j��)�P(gu��n)“(li��n)—����׃�Q��� 410
8.3.8����(sh��)��(j��)�P(gu��n)“(li��n)—����������ȡ 411
8.3.9����(sh��)��(j��)�P(gu��n)“(li��n)—������(y��u)�� 414
8.3.10����(sh��)��(j��)�P(gu��n)“(li��n)—������Ӌ(j��)׃����� 416
8.4���حh(hu��n)�z�y(c��)—ScanContext 417
8.4.1���حh(hu��n)�z�y(c��)�c����(bi��o)�D(zhu��n)�Q 417
8.4.2���c(di��n)���A(y��)̎�� 418
8.4.3�����c�؈D�ă�(y��u)�� 419
8.4.4���P(gu��n)�I���Լ�ScanContext��ȡ 420
8.4.5����حh(hu��n)�c��(y��u)�� 422
8.4.6���ں����Ӌ(j��) 425
8.4.7���Y(ji��) 427

��9�¡��o�˙C(j��)�R(sh��)�e���� 428
9.1���R(sh��)�e�㷨�C�� 428
9.1.1����ȌW(xu��)��(x��)��� 428
9.1.2����ȌW(xu��)��(x��)���E 429
9.1.3���D���� 430
9.1.4��Ŀ��(bi��o)�R(sh��)�e—���A�� 433
9.1.5��Ŀ��(bi��o)�R(sh��)�e—һ�A�� 437
9.2���o�˙C(j��)AprilTag�R(sh��)�e 439
9.2.1��AprilTag����ԭ�� 439
9.2.2��AprilTag������� 440
9.2.3��AprilTag�R(sh��)�e���E 440
9.2.4��AprilTag���a��a 442
9.2.5��AprilTag���a�Y(ji��)��(g��u) 443
9.2.6��Apriltag_ros�h(hu��n)��� 443
9.2.7��Apriltag_ros���(sh��)�� 445
9.3���o�˙C(j��)�����R(sh��)�e 446
9.3.1��HOG���� 446
9.3.2��SVM�㷨 449
9.3.3������OpenCV�����R(sh��)�e���� 451
9.3.4��OpenCV�R(sh��)�e���a��(sh��)�� 452
9.3.5����ȌW(xu��)��(x��)�h(hu��n)��� 454
9.3.6��YOLOv3�y(c��)ԇ 456
9.3.7��YOLOv3 ros���a���� 458
9.4���o�˙C(j��)���˹����c(di��n)�R(sh��)�e 460
9.4.1�������c(di��n)��B 460
9.4.2��Kinect�P(gu��n)�I�c(di��n)�z�y(c��) 461
9.4.3���P(gu��n)�I�c(di��n)�z�y(c��)�㷨 463
9.4.4��OpenPose ԭ����B 465
9.4.5��Openpose_ros�y(c��)ԇ 467
9.4.6�����aע� 470

��10�¡��o�˙C(j��)�\(y��n)��(d��ng)���� 473
10.1���V���㷨 473
10.1.1������(d��ng)��ֵ�V���� 473
10.1.2���޷��V���� 474
10.1.3����λֵ�V���� 475
10.1.4����λֵƽ���V���� 476
10.1.5��һ�A����V���� 477
10.2���������V����KF�� 478
10.2.1����(ch��ng)���e�� 478
10.2.2�����ԕr(sh��)��׃ϵ�y(t��ng) 479
10.2.3����˹�ֲ� 479
10.2.4���������V�� 480
10.2.5���������V���ķ��b 481
10.2.6���������V����(sh��)�H��(y��ng)�� 484
10.3����չ�������V����EKF�� 486
10.3.1����(ch��ng)���e�� 486
10.3.2��EKF��չ�������V�� 486
10.3.3����չ�������V����(sh��)�� 487
10.4���o�E�������V����UKF�� 491
10.4.1������ 491
10.4.2��UKF֮Sigma�c(di��n) 491
10.4.3��UKF �o�E�������V�� 494
10.4.4���o�E�������V����(sh��)�� 494
10.5�����ӞV����PF�� 497
10.5.1���O(sh��)Ӌ(j��)���ӞV���Ą�(d��ng)�C(j��) 497
10.5.2��ؐ�~˹�V�� 498
10.5.3�����ؿ���ɘ� 499
10.5.4�����ӞV�� 499
10.5.5�����ӞV��ʾ�� 501

��11�¡��o�˙C(j��)܉�EҎ(gu��)�� 507
11.1��Dijkstra�㷨 507
11.1.1��Ҏ(gu��)������ 507
11.1.2��Dijkstra���̽�B 507
11.1.3��Dijkstraʾ�����a 508
11.2��A*�㷨 512
11.2.1��A*�cDijkstra�㷨 512
11.2.2�����xӋ(j��)�㷽ʽ 512
11.2.3��A*�����f�� 513
11.2.4��A*�㷨ʾ�����a 515
11.3��RRT�㷨 516
11.3.1��RRT�㷨�ij��F(xi��n) 516
11.3.2��RRT�����f�� 516
11.4��RRT*�㷨 520
11.4.1��RRT*�㷨�ij��F(xi��n) 520
11.4.2��RRT*�㷨�������f�� 520
11.5��DWA�㷨 523
11.5.1��DWA 523
11.5.2��DWA�����f�� 524

��12�¡��o�˙C(j��)�K�w�(y��n) 528
12.1���w�ؽ�B 528
12.1.1��ʲô���w�� 528
12.1.2���w������ʲô 528
12.2���o�˙C(j��)Ӳ��—��֪ 529
12.2.1���≺Ӌ(j��) 529
12.2.2������ 529
12.2.3�����_�P�cGPS 529
12.2.4�����x������ 530
12.2.5���pĿ�z���^����t265������ 530
12.2.6��������C(j��)����D435i������ 531
12.2.7��IMU��Inertial Measurement Unit�� 531
12.2.8��MoCap��Motion Capture�� 532
12.2.9��UWB��Ultra Wide Band Positioning�� 532
12.3���o�˙C(j��)Ӳ��—���� 532
12.3.1������{(di��o)������ESC�� 532
12.3.2��늙C(j��) 533
12.4���o�˙C(j��)Ӳ��—ͨ�� 533
12.4.1���o����(sh��)�� 533
12.4.2��FrSky��(sh��)�� 534
12.5������ͨ�� 534
12.6��Prometheus����h(hu��n)��� 535
12.6.1��prometheus_px4���� 535
12.6.2��Prometheus���� 536
12.6.3���y(c��)ԇPrometheus 538
12.7��ͨ�^mavros��(sh��)�F(xi��n)��(du��)������(d��ng)���İl(f��)�� 539
12.7.1���ĽK�˿����w�C(j��)̽ӑmavros�÷� 539
12.7.2����(du��)������(d��ng)���İl(f��)�� 540
12.8��ͨ�^mavros��(sh��)�F(xi��n)��(du��)��(d��ng)ǰλ�ðl(f��)�� 543
12.9�����T�������_����˹�b�ط��� 545
12.9.1��PX4-Gazebo����ԭ�� 545
12.9.2��Prometheus���a��� 547
12.9.3�������е��b����ʹ���f�� 548
12.9.4���o�˙C(j��)���N��r�µIJ����f�� 549
12.9.5��uav_control��(ji��)�c(di��n)��B 550
12.9.6��tutorial_demoģ�K 551
12.9.7�����w���� 551
12.10��YOLO�����_����˹�е�ʹ�� 552
12.10.1������ 552
12.10.2���h(hu��n)�������c���b 553
12.10.3���������߉݋ 554
12.10.4���o�˙C(j��)���� 555
12.11��A*�����_����˹�е�ʹ�� 556
12.11.1��A*�����_����˹�еĈ�(ch��ng)�� 556
12.11.2��A*�����_����˹�еĴ��a���� 558

�����īI(xi��n) 569

չ�_ȫ��
��Ʒ�u(p��ng)Փ(0�l)
���o�u(p��ng)Փ����
�������]
��݋���]
����픲�
�ЈD�W(w��ng)
�ھ��ͷ�