[{"data":1,"prerenderedAt":1855},["ShallowReactive",2],{"wiki-page-\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0300-gong-zuo-kong-jian-yu-gong-neng-bao":3,"wiki-doc-items-\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0300-gong-zuo-kong-jian-yu-gong-neng-bao":1547,"language-switcher-data-\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0300-gong-zuo-kong-jian-yu-gong-neng-bao":1839,"wiki-i18n-paths-\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0300-gong-zuo-kong-jian-yu-gong-neng-bao":1854},{"id":4,"title":5,"body":6,"canonicalPath":1528,"chapterDepth":1529,"chapterOrder":1530,"date":1531,"description":19,"docI18nKey":1532,"docKey":1533,"docRoot":1534,"docTitle":1535,"extension":1536,"i18nKey":1537,"isBlogPost":1538,"isWikiDoc":210,"isWikiIndex":1538,"layout":1539,"legacyPath":1539,"locale":1540,"localeSlug":1541,"meta":1542,"navigation":210,"path":1528,"seo":1543,"sourcePath":1544,"sourceStem":1537,"stem":1545,"wikiDepth":86,"__hash__":1546},"content\u002F_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0300-工作空间与功能包.md","工作空間與功能包",{"type":7,"value":8,"toc":1517},"minimark",[9,13,21,24,27,30,33,36,39,42,47,52,55,60,65,70,73,147,149,154,157,162,167,170,175,180,185,190,428,433,438,441,444,449,454,456,461,466,469,472,477,480,482,487,492,495,500,508,511,514,517,660,665,668,671,676,679,684,687,692,697,702,705,708,711,714,717,722,727,732,737,742,747,752,757,762,765,768,773,778,781,786,791,796,799,804,823,831,850,855,872,877,899,904,909,930,935,938,943,948,951,956,961,964,969,974,977,982,987,992,997,1002,1005,1010,1015,1018,1021,1026,1031,1036,1041,1044,1049,1052,1057,1062,1067,1075,1080,1083,1088,1093,1096,1101,1104,1107,1112,1117,1122,1127,1130,1135,1140,1145,1150,1155,1160,1165,1170,1173,1177,1180,1187,1190,1196,1199,1205,1208,1214,1219,1224,1229,1234,1239,1244,1249,1254,1259,1264,1268,1271,1274,1280,1285,1287,1295,1298,1301,1307,1312,1314,1320,1323,1326,1332,1339,1344,1346,1352,1355,1361,1366,1368,1374,1377,1380,1386,1391,1393,1399,1402,1405,1411,1416,1418,1424,1427,1430,1436,1441,1443,1449,1452,1455,1461,1466,1468,1474,1477,1480,1486,1491,1493,1499,1502,1508,1513],[10,11,12],"h3",{"id":12},"工作空間簡介",[14,15,16],"p",{},[17,18],"img",{"alt":19,"src":20},"","https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage222.webp",[14,22,23],{},"工作空間裏有4個子空間",[14,25,26],{},"未來編寫的代碼和腳本都需要人為的放入src空間裏，",[14,28,29],{},"編譯所形成的中間文件會存放到build空間裏，",[14,31,32],{},"可執行文件會存放到install空間裏，",[14,34,35],{},"編譯過程以及運行之後各種警告，錯誤信息等會存放到log空間裏。",[37,38],"hr",{},[14,40,41],{},"用pip工具可以很方便的安裝各種python的包",[14,43,44],{},[17,45],{"alt":19,"src":46},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage223.webp",[14,48,49],{},[17,50],{"alt":19,"src":51},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage224.webp",[14,53,54],{},"國內開發者@魚香ROS 開發的一個專門處理ROS2依賴的工具",[14,56,57],{},[17,58],{"alt":19,"src":59},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage225.webp",[14,61,62],{},[17,63],{"alt":19,"src":64},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage226.webp",[14,66,67],{},[17,68],{"alt":19,"src":69},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage227.webp",[14,71,72],{},"實際上就是掃描了各個功能包裏的package.xml裏的depend，然後查找本機是否含有該依賴，再決定是否安裝。",[74,75,79],"pre",{"className":76,"code":77,"language":78,"meta":19,"style":19},"language-bash shiki shiki-themes github-light github-dark","sudo rosdepc init\nrosdepc update\ncd ..\nrosdepc install -i --from-path src --rosdistro humble -y  #在src文件里看功能包所需依赖并查找安装\n","bash",[80,81,82,98,107,117],"code",{"__ignoreMap":19},[83,84,87,91,95],"span",{"class":85,"line":86},"line",1,[83,88,90],{"class":89},"sScJk","sudo",[83,92,94],{"class":93},"sZZnC"," rosdepc",[83,96,97],{"class":93}," init\n",[83,99,101,104],{"class":85,"line":100},2,[83,102,103],{"class":89},"rosdepc",[83,105,106],{"class":93}," update\n",[83,108,110,114],{"class":85,"line":109},3,[83,111,113],{"class":112},"sj4cs","cd",[83,115,116],{"class":93}," ..\n",[83,118,120,122,125,128,131,134,137,140,143],{"class":85,"line":119},4,[83,121,103],{"class":89},[83,123,124],{"class":93}," install",[83,126,127],{"class":112}," -i",[83,129,130],{"class":112}," --from-path",[83,132,133],{"class":93}," src",[83,135,136],{"class":112}," --rosdistro",[83,138,139],{"class":93}," humble",[83,141,142],{"class":112}," -y",[83,144,146],{"class":145},"sJ8bj","  #在src文件里看功能包所需依赖并查找安装\n",[37,148],{},[14,150,151],{},[17,152],{"alt":19,"src":153},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage228.webp",[14,155,156],{},"後面還需要創建好幾個目錄，這些目錄大多都是和接口文件相關的。",[14,158,159],{},[17,160],{"alt":19,"src":161},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage229.webp",[14,163,164],{},[17,165],{"alt":19,"src":166},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage230.webp",[10,168,169],{"id":169},"源文件編譯",[14,171,172],{},[17,173],{"alt":19,"src":174},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage231.webp",[14,176,177],{},[17,178],{"alt":19,"src":179},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage232.webp",[14,181,182],{},[17,183],{"alt":19,"src":184},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage233.webp",[14,186,187],{},[17,188],{"alt":19,"src":189},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage234.webp",[74,191,195],{"className":192,"code":193,"language":194,"meta":19,"style":19},"language-cpp shiki shiki-themes github-light github-dark","#include \"rclcpp\u002Frclcpp.hpp\"\n\nclass MyNode: public rclcpp::Node\n{\n  public:\n    MyNode():Node(\"node_name\")\n    {\n      RCLCPP_INFO(this->get_logger(),\"hello world!\");\n    }\n};\n\nint main(int argc,char *argv[])\n{\n  rclcpp::init(argc,argv);\n  auto node = std::make_shared\u003CMyNode>();\n  rclcpp::shutdown();\n  return 0;\n}\n","cpp",[80,196,197,206,212,236,241,247,268,274,300,306,312,317,349,354,368,397,410,422],{"__ignoreMap":19},[83,198,199,203],{"class":85,"line":86},[83,200,202],{"class":201},"szBVR","#include",[83,204,205],{"class":93}," \"rclcpp\u002Frclcpp.hpp\"\n",[83,207,208],{"class":85,"line":100},[83,209,211],{"emptyLinePlaceholder":210},true,"\n",[83,213,214,217,220,224,227,230,233],{"class":85,"line":109},[83,215,216],{"class":201},"class",[83,218,219],{"class":89}," MyNode",[83,221,223],{"class":222},"sVt8B",": ",[83,225,226],{"class":201},"public",[83,228,229],{"class":89}," rclcpp",[83,231,232],{"class":222},"::",[83,234,235],{"class":89},"Node\n",[83,237,238],{"class":85,"line":119},[83,239,240],{"class":222},"{\n",[83,242,244],{"class":85,"line":243},5,[83,245,246],{"class":201},"  public:\n",[83,248,250,253,256,259,262,265],{"class":85,"line":249},6,[83,251,252],{"class":89},"    MyNode",[83,254,255],{"class":222},"():",[83,257,258],{"class":89},"Node",[83,260,261],{"class":222},"(",[83,263,264],{"class":93},"\"node_name\"",[83,266,267],{"class":222},")\n",[83,269,271],{"class":85,"line":270},7,[83,272,273],{"class":222},"    {\n",[83,275,277,280,282,285,288,291,294,297],{"class":85,"line":276},8,[83,278,279],{"class":89},"      RCLCPP_INFO",[83,281,261],{"class":222},[83,283,284],{"class":112},"this",[83,286,287],{"class":222},"->",[83,289,290],{"class":89},"get_logger",[83,292,293],{"class":222},"(),",[83,295,296],{"class":93},"\"hello world!\"",[83,298,299],{"class":222},");\n",[83,301,303],{"class":85,"line":302},9,[83,304,305],{"class":222},"    }\n",[83,307,309],{"class":85,"line":308},10,[83,310,311],{"class":222},"};\n",[83,313,315],{"class":85,"line":314},11,[83,316,211],{"emptyLinePlaceholder":210},[83,318,320,323,326,328,330,334,337,340,343,346],{"class":85,"line":319},12,[83,321,322],{"class":201},"int",[83,324,325],{"class":89}," main",[83,327,261],{"class":222},[83,329,322],{"class":201},[83,331,333],{"class":332},"s4XuR"," argc",[83,335,336],{"class":222},",",[83,338,339],{"class":201},"char",[83,341,342],{"class":201}," *",[83,344,345],{"class":332},"argv",[83,347,348],{"class":222},"[])\n",[83,350,352],{"class":85,"line":351},13,[83,353,240],{"class":222},[83,355,357,360,362,365],{"class":85,"line":356},14,[83,358,359],{"class":89},"  rclcpp",[83,361,232],{"class":222},[83,363,364],{"class":89},"init",[83,366,367],{"class":222},"(argc,argv);\n",[83,369,371,374,377,380,383,385,388,391,394],{"class":85,"line":370},15,[83,372,373],{"class":201},"  auto",[83,375,376],{"class":222}," node ",[83,378,379],{"class":201},"=",[83,381,382],{"class":89}," std",[83,384,232],{"class":222},[83,386,387],{"class":89},"make_shared",[83,389,390],{"class":222},"\u003C",[83,392,393],{"class":89},"MyNode",[83,395,396],{"class":222},">();\n",[83,398,400,402,404,407],{"class":85,"line":399},16,[83,401,359],{"class":89},[83,403,232],{"class":222},[83,405,406],{"class":89},"shutdown",[83,408,409],{"class":222},"();\n",[83,411,413,416,419],{"class":85,"line":412},17,[83,414,415],{"class":201},"  return",[83,417,418],{"class":112}," 0",[83,420,421],{"class":222},";\n",[83,423,425],{"class":85,"line":424},18,[83,426,427],{"class":222},"}\n",[14,429,430],{},[17,431],{"alt":19,"src":432},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage235.webp",[14,434,435],{},[17,436],{"alt":19,"src":437},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage236.webp",[14,439,440],{},"實例化只能一個進程組織一個節點，",[14,442,443],{},"而繼承可以組織多個節點。",[14,445,446],{},[17,447],{"alt":19,"src":448},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage237.webp",[14,450,451],{},[17,452],{"alt":19,"src":453},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage238.webp",[37,455],{},[14,457,458],{},[17,459],{"alt":19,"src":460},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage239.webp",[14,462,463],{},[17,464],{"alt":19,"src":465},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage240.webp",[14,467,468],{},"初始化和資源釋放的作用是什麼？",[14,470,471],{},"可以往context對象裏放數據，也可以取數據，類似於FreeRTOS裏的消息隊列，但也不完全類似，它可以存儲之前的數據。",[14,473,474],{},[17,475],{"alt":19,"src":476},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage241.webp",[14,478,479],{},"初始化不是僅僅只創建context對象，這是它的其中一個功能，它還有其他比較重要的功能。",[37,481],{},[14,483,484],{},[17,485],{"alt":19,"src":486},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage242.webp",[14,488,489],{},[17,490],{"alt":19,"src":491},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage243.webp",[14,493,494],{},"先初始化父類構造，並傳入一個節點名稱。",[14,496,497],{},[17,498],{"alt":19,"src":499},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage244.webp",[14,501,502,503],{},"智能指針忘記的可以看",[504,505,507],"a",{"href":506},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue","Vinci機器人隊C\u002FC++資料",[14,509,510],{},"智能指針是一種自動管理內存的指針，它會在不需要對象時自動釋放內存。使用智能指針可以避免內存泄漏和空懸指針等問題。",[14,512,513],{},"最安全的分配和使用動態內存的方法是調用一個名為 make_shared 的標準庫函數。 此函數在動態內存中分配一個對象並初始化它，返回指向此對象的 shared_ptr。與智能指針一樣，make_shared 也定義在頭文件 memory 中。",[14,515,516],{},"當要用 make_shared 時，必須指定想要創建的對象的類型。定義方式與模板類相同， 在函數名之後跟一個尖括號，在其中給出類型：",[74,518,520],{"className":192,"code":519,"language":194,"meta":19,"style":19},"\u002F\u002F 指向一个值为42的int的shared_ptr\nshared_ptr\u003Cint> p3 = make_shared\u003Cint>(42);\n\n\u002F\u002F p4 指向一个值为\"9999999999\"的string\nshared_ptr\u003Cstring> p4 = make_shared\u003Cstring>(10,'9');\n\n\u002F\u002F p5指向一个未初始化的int\nshared_ptr\u003Cint> p5 = make_shared\u003Cint>();\n\u002F\u002F当然，我们通常用 auto 定义一个对象来保存 make_shared 的结果，这种方式较为简单：\n\n\u002F\u002F p6指向一个动态分配的空vector\u003Cstring>\nauto p6 = make_shared\u003Cvector>();\n",[80,521,522,527,555,559,564,599,603,608,627,632,636,641],{"__ignoreMap":19},[83,523,524],{"class":85,"line":86},[83,525,526],{"class":145},"\u002F\u002F 指向一个值为42的int的shared_ptr\n",[83,528,529,532,535,538,540,543,545,547,550,553],{"class":85,"line":100},[83,530,531],{"class":222},"shared_ptr",[83,533,534],{"class":201},"\u003Cint>",[83,536,537],{"class":222}," p3 ",[83,539,379],{"class":201},[83,541,542],{"class":89}," make_shared",[83,544,390],{"class":222},[83,546,322],{"class":201},[83,548,549],{"class":222},">(",[83,551,552],{"class":112},"42",[83,554,299],{"class":222},[83,556,557],{"class":85,"line":109},[83,558,211],{"emptyLinePlaceholder":210},[83,560,561],{"class":85,"line":119},[83,562,563],{"class":145},"\u002F\u002F p4 指向一个值为\"9999999999\"的string\n",[83,565,566,568,570,573,576,579,581,583,585,587,589,592,594,597],{"class":85,"line":243},[83,567,531],{"class":222},[83,569,390],{"class":201},[83,571,572],{"class":222},"string",[83,574,575],{"class":201},">",[83,577,578],{"class":222}," p4 ",[83,580,379],{"class":201},[83,582,542],{"class":89},[83,584,390],{"class":222},[83,586,572],{"class":89},[83,588,549],{"class":222},[83,590,591],{"class":112},"10",[83,593,336],{"class":222},[83,595,596],{"class":93},"'9'",[83,598,299],{"class":222},[83,600,601],{"class":85,"line":249},[83,602,211],{"emptyLinePlaceholder":210},[83,604,605],{"class":85,"line":270},[83,606,607],{"class":145},"\u002F\u002F p5指向一个未初始化的int\n",[83,609,610,612,614,617,619,621,623,625],{"class":85,"line":276},[83,611,531],{"class":222},[83,613,534],{"class":201},[83,615,616],{"class":222}," p5 ",[83,618,379],{"class":201},[83,620,542],{"class":89},[83,622,390],{"class":222},[83,624,322],{"class":201},[83,626,396],{"class":222},[83,628,629],{"class":85,"line":302},[83,630,631],{"class":145},"\u002F\u002F当然，我们通常用 auto 定义一个对象来保存 make_shared 的结果，这种方式较为简单：\n",[83,633,634],{"class":85,"line":308},[83,635,211],{"emptyLinePlaceholder":210},[83,637,638],{"class":85,"line":314},[83,639,640],{"class":145},"\u002F\u002F p6指向一个动态分配的空vector\u003Cstring>\n",[83,642,643,646,649,651,653,655,658],{"class":85,"line":319},[83,644,645],{"class":201},"auto",[83,647,648],{"class":222}," p6 ",[83,650,379],{"class":201},[83,652,542],{"class":89},[83,654,390],{"class":222},[83,656,657],{"class":89},"vector",[83,659,396],{"class":222},[14,661,662],{},[17,663],{"alt":19,"src":664},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage245.webp",[14,666,667],{},"用make_shared可以分配堆區內存。",[10,669,670],{"id":670},"配置文件",[14,672,673],{},[17,674],{"alt":19,"src":675},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage246.webp",[14,677,678],{},"C++",[14,680,681],{},[17,682],{"alt":19,"src":683},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage247.webp",[14,685,686],{},"Python",[14,688,689],{},[17,690],{"alt":19,"src":691},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage248.webp",[14,693,694],{},[17,695],{"alt":19,"src":696},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage249.webp",[14,698,699],{},[17,700],{"alt":19,"src":701},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage250.webp",[14,703,704],{},"name是功能包名稱",[14,706,707],{},"version是包的版本",[14,709,710],{},"description是描述包的信息，也就是包是幹嘛的",[14,712,713],{},"email是維護者的郵箱地址",[14,715,716],{},"license是我們的功能包使用的軟件協議",[14,718,719],{},[17,720],{"alt":19,"src":721},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage251.webp",[14,723,724],{},[17,725],{"alt":19,"src":726},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage252.webp",[14,728,729],{},[17,730],{"alt":19,"src":731},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage253.webp",[14,733,734],{},[17,735],{"alt":19,"src":736},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage254.webp",[14,738,739],{},[17,740],{"alt":19,"src":741},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage255.webp",[14,743,744],{},[17,745],{"alt":19,"src":746},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage256.webp",[14,748,749],{},[17,750],{"alt":19,"src":751},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage257.webp",[14,753,754],{},[17,755],{"alt":19,"src":756},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage258.webp",[14,758,759],{},[17,760],{"alt":19,"src":761},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage259.webp",[14,763,764],{},"不建議直接重命名功能包的名字，當修改了文件夾名稱，則裏面很多文件裏的配置內容也需要被修改。建議重新建。",[10,766,767],{"id":767},"常用操作命令",[14,769,770],{},[17,771],{"alt":19,"src":772},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage260.webp",[14,774,775],{},[17,776],{"alt":19,"src":777},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage261.webp",[14,779,780],{},"ament_cmake是cmake的增強版",[14,782,783],{},[17,784],{"alt":19,"src":785},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage262.webp",[14,787,788],{},[17,789],{"alt":19,"src":790},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage263.webp",[14,792,793],{},[17,794],{"alt":19,"src":795},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage264.webp",[14,797,798],{},"-h 是查看幫助信息",[14,800,801],{},[17,802],{"alt":19,"src":803},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage265.webp",[74,805,807],{"className":76,"code":806,"language":78,"meta":19,"style":19},"ros2 pkg executables #输出当前系统可执行的功能包和节点\n",[80,808,809],{"__ignoreMap":19},[83,810,811,814,817,820],{"class":85,"line":86},[83,812,813],{"class":89},"ros2",[83,815,816],{"class":93}," pkg",[83,818,819],{"class":93}," executables",[83,821,822],{"class":145}," #输出当前系统可执行的功能包和节点\n",[14,824,825,828],{},[17,826],{"alt":19,"src":827},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage266.webp",[17,829],{"alt":19,"src":830},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage267.webp",[74,832,834],{"className":76,"code":833,"language":78,"meta":19,"style":19},"ros2 pkg executables 功能包名         #是输出当前包下可执行的功能包和节点\n",[80,835,836],{"__ignoreMap":19},[83,837,838,840,842,844,847],{"class":85,"line":86},[83,839,813],{"class":89},[83,841,816],{"class":93},[83,843,819],{"class":93},[83,845,846],{"class":93}," 功能包名",[83,848,849],{"class":145},"         #是输出当前包下可执行的功能包和节点\n",[14,851,852],{},[17,853],{"alt":19,"src":854},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage268.webp",[74,856,858],{"className":76,"code":857,"language":78,"meta":19,"style":19},"ros2 pkg list #是输出当前系统可执行的功能包\n",[80,859,860],{"__ignoreMap":19},[83,861,862,864,866,869],{"class":85,"line":86},[83,863,813],{"class":89},[83,865,816],{"class":93},[83,867,868],{"class":93}," list",[83,870,871],{"class":145}," #是输出当前系统可执行的功能包\n",[14,873,874],{},[17,875],{"alt":19,"src":876},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage269.webp",[74,878,880],{"className":76,"code":879,"language":78,"meta":19,"style":19},"ros2 pkg prefix + 功能包名   #是输出该功能包的路径(重要，后面经常要用)\n",[80,881,882],{"__ignoreMap":19},[83,883,884,886,888,891,894,896],{"class":85,"line":86},[83,885,813],{"class":89},[83,887,816],{"class":93},[83,889,890],{"class":93}," prefix",[83,892,893],{"class":93}," +",[83,895,846],{"class":93},[83,897,898],{"class":145},"   #是输出该功能包的路径(重要，后面经常要用)\n",[14,900,901],{},[17,902],{"alt":19,"src":903},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage270.webp",[14,905,906],{},[17,907],{"alt":19,"src":908},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage271.webp",[74,910,912],{"className":76,"code":911,"language":78,"meta":19,"style":19},"ros2 pkg xml + 功能包名   #是输出该功能包里的packages.xml的内容\n",[80,913,914],{"__ignoreMap":19},[83,915,916,918,920,923,925,927],{"class":85,"line":86},[83,917,813],{"class":89},[83,919,816],{"class":93},[83,921,922],{"class":93}," xml",[83,924,893],{"class":93},[83,926,846],{"class":93},[83,928,929],{"class":145},"   #是输出该功能包里的packages.xml的内容\n",[14,931,932],{},[17,933],{"alt":19,"src":934},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage272.webp",[10,936,937],{"id":937},"核心模塊_通信相關",[14,939,940],{},[17,941],{"alt":19,"src":942},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage273.webp",[14,944,945],{},[17,946],{"alt":19,"src":947},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage274.webp",[14,949,950],{},"通信模塊被封裝進了功能包",[14,952,953],{},[17,954],{"alt":19,"src":955},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage275.webp",[14,957,958],{},[17,959],{"alt":19,"src":960},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage276.webp",[14,962,963],{},"比如（例子）",[14,965,966],{},[17,967],{"alt":19,"src":968},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage277.webp",[14,970,971],{},[17,972],{"alt":19,"src":973},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage278.webp",[14,975,976],{},"會搜到巨多的內容，可以用grep進一步搜索",[14,978,979],{},[17,980],{"alt":19,"src":981},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage279.webp",[14,983,984],{},[17,985],{"alt":19,"src":986},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage280.webp",[14,988,989],{},[17,990],{"alt":19,"src":991},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage281.webp",[14,993,994],{},[17,995],{"alt":19,"src":996},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage282.webp",[14,998,999],{},[17,1000],{"alt":19,"src":1001},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage283.webp",[14,1003,1004],{},"下載分支用 -b",[14,1006,1007],{},[17,1008],{"alt":19,"src":1009},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage284.webp",[14,1011,1012],{},[17,1013],{"alt":19,"src":1014},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage285.webp",[14,1016,1017],{},"有個警告，因為有兩個功能包都叫humble了",[14,1019,1020],{},"如果允許覆蓋需要加參數 --allow-overriding",[14,1022,1023],{},[17,1024],{"alt":19,"src":1025},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage286.webp",[14,1027,1028],{},[17,1029],{"alt":19,"src":1030},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage287.webp",[14,1032,1033],{},[17,1034],{"alt":19,"src":1035},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage288.webp",[14,1037,1038],{},[17,1039],{"alt":19,"src":1040},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage289.webp",[14,1042,1043],{},"也就是helloworld那樣的",[14,1045,1046],{},[17,1047],{"alt":19,"src":1048},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage290.webp",[10,1050,1051],{"id":1051},"核心模塊_工具相關",[14,1053,1054],{},[17,1055],{"alt":19,"src":1056},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage291.webp",[14,1058,1059],{},[17,1060],{"alt":19,"src":1061},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage292.webp",[14,1063,1064],{},[17,1065],{"alt":19,"src":1066},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage293.webp",[14,1068,1069,1072],{},[17,1070],{"alt":19,"src":1071},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage294.webp",[17,1073],{"alt":19,"src":1074},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage295.webp",[14,1076,1077],{},[17,1078],{"alt":19,"src":1079},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage296.webp",[14,1081,1082],{},"命令行在某些地方比圖形化工具比較好用，在遠程登錄時只能用命令行",[14,1084,1085],{},[17,1086],{"alt":19,"src":1087},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage297.webp",[14,1089,1090],{},[17,1091],{"alt":19,"src":1092},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage298.webp",[14,1094,1095],{},"Lanuch文件現在在ROS2裏是一個Python文件了。",[14,1097,1098],{},[17,1099],{"alt":19,"src":1100},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage299.webp",[14,1102,1103],{},"Camera是攝像頭位置，Base_Link是車體的位置，Laser是激光雷達的位置。",[14,1105,1106],{},"雷達檢測的距離信息，會轉化成車體的位置信息。",[14,1108,1109],{},[17,1110],{"alt":19,"src":1111},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage300.webp",[14,1113,1114],{},[17,1115],{"alt":19,"src":1116},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage301.webp",[14,1118,1119],{},[17,1120],{"alt":19,"src":1121},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage302.webp",[14,1123,1124],{},[17,1125],{"alt":19,"src":1126},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage303.webp",[10,1128,1129],{"id":1129},"功能包",[14,1131,1132],{},[17,1133],{"alt":19,"src":1134},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage304.webp",[14,1136,1137],{},[17,1138],{"alt":19,"src":1139},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage305.webp",[14,1141,1142],{},[17,1143],{"alt":19,"src":1144},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage306.webp",[14,1146,1147],{},[17,1148],{"alt":19,"src":1149},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage307.webp",[14,1151,1152],{},[17,1153],{"alt":19,"src":1154},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage308.webp",[14,1156,1157],{},[17,1158],{"alt":19,"src":1159},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage309.webp",[14,1161,1162],{},[17,1163],{"alt":19,"src":1164},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage310.webp",[14,1166,1167],{},[17,1168],{"alt":19,"src":1169},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage311.webp",[14,1171,1172],{},"python是解析型語言，不用編譯，但是需要setup.py文件，setup.py主要功能是把可執行文件移動到install的。",[10,1174,1176],{"id":1175},"ros2技術支持","ROS2技術支持",[14,1178,1179],{},"ROS2_Wiki官網:",[14,1181,1182],{},[504,1183,1184],{"href":1184,"rel":1185},"http:\u002F\u002Fwiki.ros.org\u002F",[1186],"nofollow",[14,1188,1189],{},"ROS2_Wiki中文官網(ROS2維基百科現已支持簡體中文):",[14,1191,1192],{},[504,1193,1194],{"href":1194,"rel":1195},"http:\u002F\u002Fwiki.ros.org\u002Fcn",[1186],[14,1197,1198],{},"ROS2簡體中文社區：",[14,1200,1201],{},[504,1202,1203],{"href":1203,"rel":1204},"http:\u002F\u002Fwiki.ros.org\u002Fcn\u002Fcommunity",[1186],[14,1206,1207],{},"ROS2插件索引網址:",[14,1209,1210],{},[504,1211,1212],{"href":1212,"rel":1213},"https:\u002F\u002Findex.ros.org\u002Fpackages\u002F",[1186],[14,1215,1216],{},[17,1217],{"alt":19,"src":1218},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage312.webp",[14,1220,1221],{},[17,1222],{"alt":19,"src":1223},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage313.webp",[14,1225,1226],{},[17,1227],{"alt":19,"src":1228},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage314.webp",[14,1230,1231],{},[17,1232],{"alt":19,"src":1233},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage315.webp",[14,1235,1236],{},[17,1237],{"alt":19,"src":1238},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage316.webp",[14,1240,1241],{},[17,1242],{"alt":19,"src":1243},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage317.webp",[14,1245,1246],{},[17,1247],{"alt":19,"src":1248},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage318.webp",[14,1250,1251],{},[17,1252],{"alt":19,"src":1253},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage319.webp",[14,1255,1256],{},[17,1257],{"alt":19,"src":1258},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage320.webp",[14,1260,1261],{},[17,1262],{"alt":19,"src":1263},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage321.webp",[10,1265,1267],{"id":1266},"ros2應用方向","ROS2應用方向",[14,1269,1270],{},"許多ROS團隊伴隨ROS成長到今日，其規模已經發展到足以被認為是獨立組織的程度了。在導航、機械臂、無人駕駛、無人機等諸多領域大放異彩，下面列出了其中的一些團隊項目，這些項目對我們以後的進階發展，也提供了指導。",[14,1272,1273],{},"ROS2社區：",[14,1275,1276],{},[504,1277,1278],{"href":1278,"rel":1279},"https:\u002F\u002Fwww.ros.org\u002Fblog\u002Fcommunity\u002F",[1186],[14,1281,1282],{},[17,1283],{"alt":19,"src":1284},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage322.webp",[37,1286],{},[1288,1289,1291],"h4",{"id":1290},"nav2",[1292,1293,1294],"strong",{},"NAV2",[14,1296,1297],{},"Nav2項目繼承自ROS Navigation Stack。該項目旨在可以讓移動機器人從A點安全的移動到B點。它也可以應用於涉及機器人導航的其他應用，例如跟隨動態點。Nav2將用於實現路徑規劃、運動控制、動態避障和恢復行為等一系列功能。",[14,1299,1300],{},"NAV2官網：",[14,1302,1303],{},[504,1304,1305],{"href":1305,"rel":1306},"https:\u002F\u002Fnavigation.ros.org\u002F",[1186],[14,1308,1309],{},[17,1310],{"alt":19,"src":1311},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage323.webp",[37,1313],{},[1288,1315,1317],{"id":1316},"opencv",[1292,1318,1319],{},"OpenCV",[14,1321,1322],{},"OpenCV（Open Source Computer Vision Library）是一個開源的計算機視覺和機器學習軟件庫。OpenCV旨在為計算機視覺應用程序提供通用基礎架構，並加速機器感知在商業產品中的使用。OpenCV允許企業輕鬆地使用和修改代碼。",[14,1324,1325],{},"OpenCV官網：",[14,1327,1328],{},[504,1329,1330],{"href":1330,"rel":1331},"https:\u002F\u002Fopencv.org\u002F",[1186],[14,1333,1334,1335],{},"教程：",[504,1336,1338],{"href":1337},"\u002Fwiki\u002F2026-04-13-opencv-jiao-cheng","OpenCV教程",[14,1340,1341],{},[17,1342],{"alt":19,"src":1343},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage324.webp",[37,1345],{},[1288,1347,1349],{"id":1348},"moveit",[1292,1350,1351],{},"MoveIt",[14,1353,1354],{},"MoveIt是一組ROS軟件包， 主要包含運動規劃、碰撞檢測、運動學、3D感知、操作控制等功能。它可以用於構建機械臂的高級行為。MoveIt現在可以用於市面上的大多數機械臂，並被許多大公司使用。",[14,1356,1357],{},[504,1358,1359],{"href":1359,"rel":1360},"https:\u002F\u002Fmoveit.ros.org\u002F",[1186],[14,1362,1363],{},[17,1364],{"alt":19,"src":1365},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage325.webp",[37,1367],{},[1288,1369,1371],{"id":1370},"the-autoware-foundation",[1292,1372,1373],{},"The Autoware Foundation",[14,1375,1376],{},"Autoware Foundation是ROS下屬的非營利組織，支持實現自動駕駛的開源項目。Autoware基金會在企業發展和學術研究之間創造協同效應，為每個人提供自動駕駛技術。",[14,1378,1379],{},"TAF官網:",[14,1381,1382],{},[504,1383,1384],{"href":1384,"rel":1385},"https:\u002F\u002Fwww.autoware.org\u002F",[1186],[14,1387,1388],{},[17,1389],{"alt":19,"src":1390},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage326.webp",[37,1392],{},[1288,1394,1396],{"id":1395},"f1-tenth",[1292,1397,1398],{},"F1 Tenth",[14,1400,1401],{},"F1 Tenth是將模型車改為無人車的競速賽事，是一個由研究人員、工程師和自主系統愛好者組成的國際社區。它最初於 2016 年在賓夕法尼亞大學成立，但後來擴展到全球許多其他機構。",[14,1403,1404],{},"F1 Tenth官網:",[14,1406,1407],{},[504,1408,1409],{"href":1409,"rel":1410},"https:\u002F\u002Ff1tenth.org\u002F",[1186],[14,1412,1413],{},[17,1414],{"alt":19,"src":1415},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage327.webp",[37,1417],{},[1288,1419,1421],{"id":1420},"microros",[1292,1422,1423],{},"microROS",[14,1425,1426],{},"在基於ROS的機器人應用中，micro-ROS正在彌合性能有限的微控制器和一般處理器之間的差距。micro-ROS在各種嵌入式硬件上運行，使ROS能直接應用於機器人硬件。",[14,1428,1429],{},"MicroROS官網:",[14,1431,1432],{},[504,1433,1434],{"href":1434,"rel":1435},"https:\u002F\u002Fmicro.ros.org\u002F",[1186],[14,1437,1438],{},[17,1439],{"alt":19,"src":1440},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage328.webp",[37,1442],{},[1288,1444,1446],{"id":1445},"open-robotics",[1292,1447,1448],{},"Open Robotics",[14,1450,1451],{},"Open Robotics與全球ROS社區合作，為機器人創建開放的軟件和硬件平台，包括 ROS1、ROS2、Gazebo模擬器和Ignition模擬器。Open Robotics使用這些平台解決一些重要問題，並通過為各種客户組織提供軟件和硬件開發服務來幫助其他人做同樣的事情。",[14,1453,1454],{},"Open Robotics官網:",[14,1456,1457],{},[504,1458,1459],{"href":1459,"rel":1460},"https:\u002F\u002Fwww.openrobotics.org\u002F",[1186],[14,1462,1463],{},[17,1464],{"alt":19,"src":1465},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage329.webp",[37,1467],{},[1288,1469,1471],{"id":1470},"px4",[1292,1472,1473],{},"PX4",[14,1475,1476],{},"PX4是一款用於無人機和其他無人駕駛車輛的開源飛行控制軟件。該項目為無人機開發人員提供了一套靈活的工具，用於共享技術併為無人機應用程序創建量身定製解決方案。",[14,1478,1479],{},"PX4官網:",[14,1481,1482],{},[504,1483,1484],{"href":1484,"rel":1485},"https:\u002F\u002Fpx4.io\u002F",[1186],[14,1487,1488],{},[17,1489],{"alt":19,"src":1490},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage330.webp",[37,1492],{},[1288,1494,1496],{"id":1495},"ros-industrial",[1292,1497,1498],{},"ROS-Industrial",[14,1500,1501],{},"ROS-Industrial是一個開源項目，將 ROS 軟件的高級功能擴展到工業相關硬件和應用程序。",[14,1503,1504],{},[504,1505,1506],{"href":1506,"rel":1507},"https:\u002F\u002Frosindustrial.org\u002F",[1186],[14,1509,1510],{},[17,1511],{"alt":19,"src":1512},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage331.webp",[1514,1515,1516],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}",{"title":19,"searchDepth":100,"depth":100,"links":1518},[1519,1520,1521,1522,1523,1524,1525,1526,1527],{"id":12,"depth":109,"text":12},{"id":169,"depth":109,"text":169},{"id":670,"depth":109,"text":670},{"id":767,"depth":109,"text":767},{"id":937,"depth":109,"text":937},{"id":1051,"depth":109,"text":1051},{"id":1129,"depth":109,"text":1129},{"id":1175,"depth":109,"text":1176},{"id":1266,"depth":109,"text":1267},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0300-gong-zuo-kong-jian-yu-gong-neng-bao",0,"0300","2023-12-30","wiki\u002F2023-12-30-ros2-tutorial","zh-hk:2023-12-30-ros2-tutorial","\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial","Ros2 Tutorial","md","wiki\u002F2023-12-30-ros2-tutorial\u002F0300-工作空间与功能包",false,null,"zh-HK","zh-hk",{},{"title":5,"description":19},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0300-gong-zuo-kong-jian-yu-gong-neng-bao","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0300-工作空间与功能包","dsHiokAhwXHZa4QtrswRWvGlG_RreArrrwttMSTmzvU",[1548,1553,1558,1559,1564,1569,1574,1579,1584,1589,1594,1599,1604,1609,1614,1619,1624,1629,1634,1639,1644,1649,1654,1659,1664,1669,1673,1678,1682,1687,1692,1697,1702,1707,1712,1717,1722,1727,1732,1737,1742,1747,1752,1757,1762,1767,1772,1777,1782,1787,1792,1797,1802,1807,1812,1817,1822,1827,1832,1836],{"path":1549,"stem":1550,"title":1551,"date":1531,"chapterOrder":1552,"chapterDepth":1529,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0100-ros2-jie-shao","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0100-ROS2介绍","ROS2介紹","0100",{"path":1554,"stem":1555,"title":1556,"date":1531,"chapterOrder":1557,"chapterDepth":1529,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0200-ru-men-cao-zuo","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0200-入门操作","入門操作","0200",{"path":1528,"stem":1545,"title":5,"date":1531,"chapterOrder":1530,"chapterDepth":1529,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},{"path":1560,"stem":1561,"title":1562,"date":1531,"chapterOrder":1563,"chapterDepth":1529,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0400-si-da-tong-xin","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0400-四大通信","四大通信","0400",{"path":1565,"stem":1566,"title":1567,"date":1531,"chapterOrder":1568,"chapterDepth":1529,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0500-ros2-qi-ta-tong-xin-ji-zhi","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0500-ROS2其他通信机制","ROS2其他通信機制","0500",{"path":1570,"stem":1571,"title":1572,"date":1531,"chapterOrder":1573,"chapterDepth":1529,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0600-launch","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0600-Launch","Launch","0600",{"path":1575,"stem":1576,"title":1577,"date":1531,"chapterOrder":1578,"chapterDepth":1529,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0700-hui-su-rosbag2","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0700-回溯rosbag2","回溯rosbag2","0700",{"path":1580,"stem":1581,"title":1582,"date":1531,"chapterOrder":1583,"chapterDepth":1529,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0800-zuo-biao-bian-huan-tf","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0800-坐标变换TF","座標變換TF","0800",{"path":1585,"stem":1586,"title":1587,"date":1531,"chapterOrder":1588,"chapterDepth":1529,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0900-ke-shi-hua-ping-tai-rviz2-yu-urdf-jian-mo-yu-yan","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0900-可视化平台RVIZ2与URDF建模语言","可視化平台RVIZ2與URDF建模語言","0900",{"path":1590,"stem":1591,"title":1592,"date":1531,"chapterOrder":1593,"chapterDepth":1529,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1000-stage-ros2-fang-zhen-ping-tai","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1000-Stage_Ros2仿真平台","Stage_Ros2仿真平台","1000",{"path":1595,"stem":1596,"title":1597,"date":1531,"chapterOrder":1598,"chapterDepth":86,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0100-gazeboclassic","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0100-GazeboClassic","Gezebo Classic","1100-0100",{"path":1600,"stem":1601,"title":1602,"date":1531,"chapterOrder":1603,"chapterDepth":86,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-ignitiongazebo","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-IgnitionGazebo","Ignition Gazebo（Gazebo Fortress）","1100-0200",{"path":1605,"stem":1606,"title":1607,"date":1531,"chapterOrder":1608,"chapterDepth":86,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0300-gazebosim","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0300-GazeboSim","Gz Sim（Gazebo Harmonic）","1100-0300",{"path":1610,"stem":1611,"title":1612,"date":1531,"chapterOrder":1613,"chapterDepth":86,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0400-igngz2gzsim","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0400-Igngz2gzsim","將Ign Gazebo遷移至Gz Sim","1100-0400",{"path":1615,"stem":1616,"title":1617,"date":1531,"chapterOrder":1618,"chapterDepth":1529,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-gezebo-fang-zhen-ping-tai","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-Gezebo仿真平台","Gezebo仿真平台","1100",{"path":1620,"stem":1621,"title":1622,"date":1531,"chapterOrder":1623,"chapterDepth":86,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0100-humble-ban-ben","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0100-Humble版本","Humble導航仿真","1200-0100",{"path":1625,"stem":1626,"title":1627,"date":1531,"chapterOrder":1628,"chapterDepth":86,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0200-jazzy-ban-ben","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0200-Jazzy版本","Jazzy導航仿真","1200-0200",{"path":1630,"stem":1631,"title":1632,"date":1531,"chapterOrder":1633,"chapterDepth":86,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0300-humble2jazzy","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0300-Humble2Jazzy","Humble與Jazzy導航的差異","1200-0300",{"path":1635,"stem":1636,"title":1637,"date":1531,"chapterOrder":1638,"chapterDepth":1529,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-ji-qi-ren-dao-hang-navigation2-fang-zhen-pian","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-机器人导航Navigation2(仿真篇)","機器人導航Navigation2(仿真篇)","1200",{"path":1640,"stem":1641,"title":1642,"date":1531,"chapterOrder":1643,"chapterDepth":100,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-0100-boost-aiso","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-0100-Boost.Aiso","Boost.Asio庫","1300-0100-0100",{"path":1645,"stem":1646,"title":1647,"date":1531,"chapterOrder":1648,"chapterDepth":100,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-0200-ros2-serial-driver","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-0200-ros2_serial_driver","ROS2 Serial Driver庫","1300-0100-0200",{"path":1650,"stem":1651,"title":1652,"date":1531,"chapterOrder":1653,"chapterDepth":86,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-chuan-kou-tong-xin","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-串口通信","UART串口通信","1300-0100",{"path":1655,"stem":1656,"title":1657,"date":1531,"chapterOrder":1658,"chapterDepth":100,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0100-socketcan","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0100-socketcan","SocketCAN","1300-0200-0100",{"path":1660,"stem":1661,"title":1662,"date":1531,"chapterOrder":1663,"chapterDepth":100,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0200-ros2-socketcan","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0200-ros2_socketcan","ROS2_SocketCAN","1300-0200-0200",{"path":1665,"stem":1666,"title":1667,"date":1531,"chapterOrder":1668,"chapterDepth":86,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-can-tong-xin","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-CAN通信","CAN通信","1300-0200",{"path":1670,"stem":1671,"title":1642,"date":1531,"chapterOrder":1672,"chapterDepth":100,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-0100-boost-aiso","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-0100-Boost.Aiso","1300-0300-0100",{"path":1674,"stem":1675,"title":1676,"date":1531,"chapterOrder":1677,"chapterDepth":86,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-tcp-tong-xin","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-TCP通信","TCP通信","1300-0300",{"path":1679,"stem":1680,"title":1642,"date":1531,"chapterOrder":1681,"chapterDepth":100,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-0100-boost-aiso","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-0100-Boost.Aiso","1300-0400-0100",{"path":1683,"stem":1684,"title":1685,"date":1531,"chapterOrder":1686,"chapterDepth":86,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-udp-tong-xin","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-UDP通信","UDP通信","1300-0400",{"path":1688,"stem":1689,"title":1690,"date":1531,"chapterOrder":1691,"chapterDepth":1529,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-linux-ying-jian-tong-xin","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-Linux硬件通信","Linux硬件通信","1300",{"path":1693,"stem":1694,"title":1695,"date":1531,"chapterOrder":1696,"chapterDepth":86,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0100-ji-qi-ren-zu-cheng","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0100-机器人组成","機器人組成","1400-0100",{"path":1698,"stem":1699,"title":1700,"date":1531,"chapterOrder":1701,"chapterDepth":100,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-0100-yuan-cheng-kai-fa-ssh","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-0100-远程开发SSH","遠程開發SSH","1400-0200-0100",{"path":1703,"stem":1704,"title":1705,"date":1531,"chapterOrder":1706,"chapterDepth":100,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-0200-yuan-cheng-fang-wen-zhuo-mian","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-0200-远程访问桌面","遠程訪問桌面","1400-0200-0200",{"path":1708,"stem":1709,"title":1710,"date":1531,"chapterOrder":1711,"chapterDepth":86,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-gong-kong-ji-zhi-yuan-cheng-kai-fa-huan-jing","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-工控机之远程开发环境","工控機之遠程開發環境","1400-0200",{"path":1713,"stem":1714,"title":1715,"date":1531,"chapterOrder":1716,"chapterDepth":86,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0300-gong-kong-ji-zhi-wai-jie-usb-she-bei","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0300-工控机之外接USB设备","工控機之外接USB設備","1400-0300",{"path":1718,"stem":1719,"title":1720,"date":1531,"chapterOrder":1721,"chapterDepth":86,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0400-fen-bu-shi-da-jian","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0400-分布式搭建","分佈式搭建","1400-0400",{"path":1723,"stem":1724,"title":1725,"date":1531,"chapterOrder":1726,"chapterDepth":86,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0500-you-hua-ri-zhi","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0500-优化日志","優化日誌","1400-0500",{"path":1728,"stem":1729,"title":1730,"date":1531,"chapterOrder":1731,"chapterDepth":100,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0100-li-cheng-ji-odom","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0100-里程计Odom","里程計Odom","1400-0600-0100",{"path":1733,"stem":1734,"title":1735,"date":1531,"chapterOrder":1736,"chapterDepth":100,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0200-guan-xing-ji-imu","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0200-惯性计IMU","慣性計IMU","1400-0600-0200",{"path":1738,"stem":1739,"title":1740,"date":1531,"chapterOrder":1741,"chapterDepth":100,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0300-ji-guang-lei-da-lidar","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0300-激光雷达LiDAR","激光雷達LiDAR","1400-0600-0300",{"path":1743,"stem":1744,"title":1745,"date":1531,"chapterOrder":1746,"chapterDepth":100,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0400-xiang-ji-camera","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0400-相机Camera","相機Camera","1400-0600-0400",{"path":1748,"stem":1749,"title":1750,"date":1531,"chapterOrder":1751,"chapterDepth":100,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0500-quan-qiu-ding-wei-gnss","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0500-全球定位GNSS","全球定位GNSS","1400-0600-0500",{"path":1753,"stem":1754,"title":1755,"date":1531,"chapterOrder":1756,"chapterDepth":100,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0600-shou-bing-joy","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0600-手柄joy","手柄JOY","1400-0600-0600",{"path":1758,"stem":1759,"title":1760,"date":1531,"chapterOrder":1761,"chapterDepth":100,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0700-jian-pan-kong-zhi-jie-dian","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0700-键盘控制节点","鍵盤控制節點","1400-0600-0700",{"path":1763,"stem":1764,"title":1765,"date":1531,"chapterOrder":1766,"chapterDepth":86,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-ying-jian-ping-tai","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-硬件平台","硬件平台","1400-0600",{"path":1768,"stem":1769,"title":1770,"date":1531,"chapterOrder":1771,"chapterDepth":86,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0700-zuo-biao-xi-yu-hua-ti-guan-xi","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0700-坐标系与话题关系","座標系與話題關係","1400-0700",{"path":1773,"stem":1774,"title":1775,"date":1531,"chapterOrder":1776,"chapterDepth":109,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0100-lun-shi-li-cheng-ji-biao-ding","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0100-轮式里程计标定","輪式里程計標定","1400-0800-0100-0100",{"path":1778,"stem":1779,"title":1780,"date":1531,"chapterOrder":1781,"chapterDepth":109,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0200-lun-shi-li-cheng-ji-yu-imu-rong-he","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0200-轮式里程计与IMU融合","輪式里程計與IMU融合","1400-0800-0100-0200",{"path":1783,"stem":1784,"title":1785,"date":1531,"chapterOrder":1786,"chapterDepth":100,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-lun-shi-li-cheng-ji-biao-ding-yu-rong-he","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-轮式里程计标定与融合","輪式里程計標定與融合","1400-0800-0100",{"path":1788,"stem":1789,"title":1790,"date":1531,"chapterOrder":1791,"chapterDepth":100,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0200-ji-guang-lei-da-gong-ju","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0200-激光雷达工具","激光雷達工具","1400-0800-0200",{"path":1793,"stem":1794,"title":1795,"date":1531,"chapterOrder":1796,"chapterDepth":100,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0300-xiang-ji-shi-yong-jin-jie","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0300-相机使用进阶","相機使用進階","1400-0800-0300",{"path":1798,"stem":1799,"title":1800,"date":1531,"chapterOrder":1801,"chapterDepth":86,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-ying-jian-ping-tai-jin-jie","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-硬件平台进阶","硬件平台進階","1400-0800",{"path":1803,"stem":1804,"title":1805,"date":1531,"chapterOrder":1806,"chapterDepth":1529,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-ji-qi-ren-ying-jian","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-机器人硬件","機器人硬件","1400",{"path":1808,"stem":1809,"title":1810,"date":1531,"chapterOrder":1811,"chapterDepth":1529,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1500-ros2-control","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1500-ROS2_Control","ROS2_Control","1500",{"path":1813,"stem":1814,"title":1815,"date":1531,"chapterOrder":1816,"chapterDepth":1529,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1600-moveit2-gong-ye-ji-qi-ren-ji-xie-bi","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1600-Moveit2工业机器人机械臂","Moveit2工業機器人機械臂","1600",{"path":1818,"stem":1819,"title":1820,"date":1531,"chapterOrder":1821,"chapterDepth":1529,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1700-ji-qi-ren-dao-hang-navigation2-shi-ti-pian","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1700-机器人导航Navigation2(实体篇)","機器人導航Navigation2(實體篇)","1700",{"path":1823,"stem":1824,"title":1825,"date":1531,"chapterOrder":1826,"chapterDepth":1529,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1800-microros","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1800-MicroROS","MicroROS","1800",{"path":1828,"stem":1829,"title":1830,"date":1531,"chapterOrder":1831,"chapterDepth":1529,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1900-webots-fang-zhen-ping-tai","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1900-Webots仿真平台","Webots仿真平台","1900",{"path":1833,"stem":1834,"title":1319,"date":1531,"chapterOrder":1835,"chapterDepth":1529,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":1538},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F2000-opencv","_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F2000-OpenCV","2000",{"path":1534,"stem":1837,"title":1838,"date":1531,"chapterOrder":1539,"chapterDepth":1529,"docKey":1533,"docRoot":1534,"docTitle":1535,"isWikiDoc":210,"isWikiIndex":210},"_i18n\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002Findex","ROS2機器人操作系統教程",{"variants":1840},[1841,1844,1847,1848,1851],{"path":1842,"localeSlug":1843,"i18nKey":1537},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0300-gong-zuo-kong-jian-yu-gong-neng-bao","en-us",{"path":1845,"localeSlug":1846,"i18nKey":1537},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0300-gong-zuo-kong-jian-yu-gong-neng-bao","zh-hant",{"path":1528,"localeSlug":1541,"i18nKey":1537},{"path":1849,"localeSlug":1850,"i18nKey":1537},"\u002Fzh-tw\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0300-gong-zuo-kong-jian-yu-gong-neng-bao","zh-tw",{"path":1852,"localeSlug":1853,"i18nKey":1537},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0300-gong-zuo-kong-jian-yu-gong-neng-bao","zh-cn",[1842,1544,1845,1544,1528,1544,1849,1544,1852,1544],1784646822928]