[{"data":1,"prerenderedAt":4480},["ShallowReactive",2],{"wiki-page-\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0600-launch":3,"wiki-doc-items-\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0600-launch":4171,"language-switcher-data-\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0600-launch":4464,"wiki-i18n-paths-\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0600-launch":4479},{"id":4,"title":5,"body":6,"canonicalPath":4152,"chapterDepth":4153,"chapterOrder":4154,"date":4155,"description":20,"docI18nKey":4156,"docKey":4157,"docRoot":4158,"docTitle":4159,"extension":4160,"i18nKey":4161,"isBlogPost":4162,"isWikiDoc":161,"isWikiIndex":4162,"layout":4163,"legacyPath":4163,"locale":4164,"localeSlug":4165,"meta":4166,"navigation":161,"path":4152,"seo":4167,"sourcePath":4168,"sourceStem":4161,"stem":4169,"wikiDepth":87,"__hash__":4170},"content\u002F_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0600-Launch.md","Launch",{"type":7,"value":8,"toc":4137},"minimark",[9,14,22,25,28,33,38,43,46,51,56,61,66,71,74,115,120,362,366,371,376,381,386,391,396,401,406,408,413,416,421,426,431,434,439,444,621,626,631,636,641,731,736,741,823,828,833,836,841,846,850,855,860,865,870,873,878,885,890,895,900,903,908,911,916,921,924,929,932,937,942,945,950,974,979,984,987,992,997,1002,1007,1010,1015,1020,1023,1028,1033,1036,1041,1046,1049,1054,1059,1064,1412,1417,1422,1425,1430,1433,1436,1771,1776,1779,1783,1788,1793,1798,1803,1806,1811,1814,1819,1822,1827,1832,2103,2108,2111,2113,2118,2123,2128,2131,2410,2415,2419,2424,2429,2434,2439,2444,2449,2454,2459,2462,2467,2470,2473,2478,2483,2488,2826,2830,2835,2838,2843,2848,2853,2856,2859,2862,2867,2870,2875,2880,2883,2888,2893,2898,2903,2908,2911,2916,2921,2926,3222,3226,3231,3236,3241,3246,3251,3256,3261,3622,3626,3631,3636,3639,3644,3646,3651,3656,3661,3664,3669,3674,3679,3684,3687,3692,3695,3698,3703,3708,3713,3718,4099,4104,4110,4113,4117,4121,4125,4129,4133],[10,11,13],"h3",{"id":12},"overview","Overview",[15,16,17],"p",{},[18,19],"img",{"alt":20,"src":21},"","https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1097.webp",[15,23,24],{},"The purpose of rosbag2 is to serialize and store data; it is a database.",[26,27],"hr",{},[15,29,30],{},[18,31],{"alt":20,"src":32},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1098.webp",[15,34,35],{},[18,36],{"alt":20,"src":37},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1099.webp",[15,39,40],{},[18,41],{"alt":20,"src":42},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1100.webp",[15,44,45],{},"ros2 launch package_name launch_file_name",[15,47,48],{},[18,49],{"alt":20,"src":50},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1101.webp",[15,52,53],{},[18,54],{"alt":20,"src":55},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1102.webp",[15,57,58],{},[18,59],{"alt":20,"src":60},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1103.webp",[15,62,63],{},[18,64],{"alt":20,"src":65},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1104.webp",[15,67,68],{},[18,69],{"alt":20,"src":70},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1105.webp",[15,72,73],{},"ros2 pkg create cpp01_launch --build-type ament_cmake --dependencies rclcpp",[75,76,80],"pre",{"className":77,"code":78,"language":79,"meta":20,"style":20},"language-bash shiki shiki-themes github-light github-dark","ros2 pkg create cpp01_launch --build-type ament_cmake --dependencies rclcpp\n","bash",[81,82,83],"code",{"__ignoreMap":20},[84,85,88,92,96,99,102,106,109,112],"span",{"class":86,"line":87},"line",1,[84,89,91],{"class":90},"sScJk","ros2",[84,93,95],{"class":94},"sZZnC"," pkg",[84,97,98],{"class":94}," create",[84,100,101],{"class":94}," cpp01_launch",[84,103,105],{"class":104},"sj4cs"," --build-type",[84,107,108],{"class":94}," ament_cmake",[84,110,111],{"class":104}," --dependencies",[84,113,114],{"class":94}," rclcpp\n",[15,116,117],{},[18,118],{"alt":20,"src":119},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1106.webp",[75,121,125],{"className":122,"code":123,"language":124,"meta":20,"style":20},"language-python shiki shiki-themes github-light github-dark","from launch import LaunchDescription\nfrom launch_ros.actions import Node\n\n封装终端指令相关类\nfrom launch.actions import ExecuteProcess\nfrom launch.substitutions import FindExecutable\n参数声明与获取\nfrom launch.actions import DeclareLaunchArgument\nfrom launch.substitutions import LaunchConfiguration\n文件包含相关\nfrom launch.actions import IncludeLaunchDescription\nfrom launch.launch_description_sources import PythonLaunchDescriptionSource\n分组相关\nfrom launch_ros.actions import PushRosNamespace\nfrom launch.actions import GroupAction\n事件相关\nfrom launch.event_handlers import OnProcessStart,OnProcessExit\nfrom launch.actions import ExecuteProcess,RegisterEventHandler,LogInfo\n获取功能包下share目录或路径\nfrom ament_index_python.packages import get_package_share_directory\n\ndef generate_launch_description():\n    return LaunchDescription([])\n","python",[81,126,127,143,156,163,169,182,195,201,213,225,231,243,256,262,274,286,292,305,317,323,336,341,353],{"__ignoreMap":20},[84,128,129,133,137,140],{"class":86,"line":87},[84,130,132],{"class":131},"szBVR","from",[84,134,136],{"class":135},"sVt8B"," launch ",[84,138,139],{"class":131},"import",[84,141,142],{"class":135}," LaunchDescription\n",[84,144,146,148,151,153],{"class":86,"line":145},2,[84,147,132],{"class":131},[84,149,150],{"class":135}," launch_ros.actions ",[84,152,139],{"class":131},[84,154,155],{"class":135}," Node\n",[84,157,159],{"class":86,"line":158},3,[84,160,162],{"emptyLinePlaceholder":161},true,"\n",[84,164,166],{"class":86,"line":165},4,[84,167,168],{"class":135},"封装终端指令相关类\n",[84,170,172,174,177,179],{"class":86,"line":171},5,[84,173,132],{"class":131},[84,175,176],{"class":135}," launch.actions ",[84,178,139],{"class":131},[84,180,181],{"class":135}," ExecuteProcess\n",[84,183,185,187,190,192],{"class":86,"line":184},6,[84,186,132],{"class":131},[84,188,189],{"class":135}," launch.substitutions ",[84,191,139],{"class":131},[84,193,194],{"class":135}," FindExecutable\n",[84,196,198],{"class":86,"line":197},7,[84,199,200],{"class":135},"参数声明与获取\n",[84,202,204,206,208,210],{"class":86,"line":203},8,[84,205,132],{"class":131},[84,207,176],{"class":135},[84,209,139],{"class":131},[84,211,212],{"class":135}," DeclareLaunchArgument\n",[84,214,216,218,220,222],{"class":86,"line":215},9,[84,217,132],{"class":131},[84,219,189],{"class":135},[84,221,139],{"class":131},[84,223,224],{"class":135}," LaunchConfiguration\n",[84,226,228],{"class":86,"line":227},10,[84,229,230],{"class":135},"文件包含相关\n",[84,232,234,236,238,240],{"class":86,"line":233},11,[84,235,132],{"class":131},[84,237,176],{"class":135},[84,239,139],{"class":131},[84,241,242],{"class":135}," IncludeLaunchDescription\n",[84,244,246,248,251,253],{"class":86,"line":245},12,[84,247,132],{"class":131},[84,249,250],{"class":135}," launch.launch_description_sources ",[84,252,139],{"class":131},[84,254,255],{"class":135}," PythonLaunchDescriptionSource\n",[84,257,259],{"class":86,"line":258},13,[84,260,261],{"class":135},"分组相关\n",[84,263,265,267,269,271],{"class":86,"line":264},14,[84,266,132],{"class":131},[84,268,150],{"class":135},[84,270,139],{"class":131},[84,272,273],{"class":135}," PushRosNamespace\n",[84,275,277,279,281,283],{"class":86,"line":276},15,[84,278,132],{"class":131},[84,280,176],{"class":135},[84,282,139],{"class":131},[84,284,285],{"class":135}," GroupAction\n",[84,287,289],{"class":86,"line":288},16,[84,290,291],{"class":135},"事件相关\n",[84,293,295,297,300,302],{"class":86,"line":294},17,[84,296,132],{"class":131},[84,298,299],{"class":135}," launch.event_handlers ",[84,301,139],{"class":131},[84,303,304],{"class":135}," OnProcessStart,OnProcessExit\n",[84,306,308,310,312,314],{"class":86,"line":307},18,[84,309,132],{"class":131},[84,311,176],{"class":135},[84,313,139],{"class":131},[84,315,316],{"class":135}," ExecuteProcess,RegisterEventHandler,LogInfo\n",[84,318,320],{"class":86,"line":319},19,[84,321,322],{"class":135},"获取功能包下share目录或路径\n",[84,324,326,328,331,333],{"class":86,"line":325},20,[84,327,132],{"class":131},[84,329,330],{"class":135}," ament_index_python.packages ",[84,332,139],{"class":131},[84,334,335],{"class":135}," get_package_share_directory\n",[84,337,339],{"class":86,"line":338},21,[84,340,162],{"emptyLinePlaceholder":161},[84,342,344,347,350],{"class":86,"line":343},22,[84,345,346],{"class":131},"def",[84,348,349],{"class":90}," generate_launch_description",[84,351,352],{"class":135},"():\n",[84,354,356,359],{"class":86,"line":355},23,[84,357,358],{"class":131},"    return",[84,360,361],{"class":135}," LaunchDescription([])\n",[10,363,365],{"id":364},"basic-launch-usage-process-c","Basic Launch Usage Process (C++)",[15,367,368],{},[18,369],{"alt":20,"src":370},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1107.webp",[15,372,373],{},[18,374],{"alt":20,"src":375},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1108.webp",[15,377,378],{},[18,379],{"alt":20,"src":380},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1109.webp",[15,382,383],{},[18,384],{"alt":20,"src":385},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1110.webp",[15,387,388],{},[18,389],{"alt":20,"src":390},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1111.webp",[15,392,393],{},[18,394],{"alt":20,"src":395},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1112.webp",[15,397,398],{},[18,399],{"alt":20,"src":400},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1113.webp",[15,402,403],{},[18,404],{"alt":20,"src":405},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1114.webp",[26,407],{},[15,409,410],{},[18,411],{"alt":20,"src":412},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1115.webp",[15,414,415],{},"After configuring this, no matter how many launch files are in my launch directory, I only need to configure it once.",[15,417,418],{},[18,419],{"alt":20,"src":420},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1116.webp",[15,422,423],{},[18,424],{"alt":20,"src":425},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1117.webp",[15,427,428],{},[18,429],{"alt":20,"src":430},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1118.webp",[15,432,433],{},"This shows that our CMake configuration is correct.",[15,435,436],{},[18,437],{"alt":20,"src":438},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1119.webp",[15,440,441],{},[18,442],{"alt":20,"src":443},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1120.webp",[75,445,447],{"className":122,"code":446,"language":124,"meta":20,"style":20},"from launch import LaunchDescription\nfrom launch_ros.actions import Node\n封装终端指令相关类\nfrom launch.actions import ExecuteProcess\nfrom launch.substitutions import FindExecutable\n参数声明与获取\nfrom launch.actions import DeclareLaunchArgument\nfrom launch.substitutions import LaunchConfiguration\n文件包含相关\nfrom launch.actions import IncludeLaunchDescription\nfrom launch.launch_description_sources import PythonLaunchDescriptionSource\n分组相关\nfrom launch_ros.actions import PushRosNamespace\nfrom launch.actions import GroupAction\n事件相关\nfrom launch.event_handlers import OnProcessStart,OnProcessExit\nfrom launch.actions import ExecuteProcess,RegisterEventHandler,LogInfo\n获取功能包下share目录或路径\nfrom ament_index_python.packages import get_package_share_directory\n\ndef generate_launch_description():\n    return LaunchDescription([])\n",[81,448,449,459,469,473,483,493,497,507,517,521,531,541,545,555,565,569,579,589,593,603,607,615],{"__ignoreMap":20},[84,450,451,453,455,457],{"class":86,"line":87},[84,452,132],{"class":131},[84,454,136],{"class":135},[84,456,139],{"class":131},[84,458,142],{"class":135},[84,460,461,463,465,467],{"class":86,"line":145},[84,462,132],{"class":131},[84,464,150],{"class":135},[84,466,139],{"class":131},[84,468,155],{"class":135},[84,470,471],{"class":86,"line":158},[84,472,168],{"class":135},[84,474,475,477,479,481],{"class":86,"line":165},[84,476,132],{"class":131},[84,478,176],{"class":135},[84,480,139],{"class":131},[84,482,181],{"class":135},[84,484,485,487,489,491],{"class":86,"line":171},[84,486,132],{"class":131},[84,488,189],{"class":135},[84,490,139],{"class":131},[84,492,194],{"class":135},[84,494,495],{"class":86,"line":184},[84,496,200],{"class":135},[84,498,499,501,503,505],{"class":86,"line":197},[84,500,132],{"class":131},[84,502,176],{"class":135},[84,504,139],{"class":131},[84,506,212],{"class":135},[84,508,509,511,513,515],{"class":86,"line":203},[84,510,132],{"class":131},[84,512,189],{"class":135},[84,514,139],{"class":131},[84,516,224],{"class":135},[84,518,519],{"class":86,"line":215},[84,520,230],{"class":135},[84,522,523,525,527,529],{"class":86,"line":227},[84,524,132],{"class":131},[84,526,176],{"class":135},[84,528,139],{"class":131},[84,530,242],{"class":135},[84,532,533,535,537,539],{"class":86,"line":233},[84,534,132],{"class":131},[84,536,250],{"class":135},[84,538,139],{"class":131},[84,540,255],{"class":135},[84,542,543],{"class":86,"line":245},[84,544,261],{"class":135},[84,546,547,549,551,553],{"class":86,"line":258},[84,548,132],{"class":131},[84,550,150],{"class":135},[84,552,139],{"class":131},[84,554,273],{"class":135},[84,556,557,559,561,563],{"class":86,"line":264},[84,558,132],{"class":131},[84,560,176],{"class":135},[84,562,139],{"class":131},[84,564,285],{"class":135},[84,566,567],{"class":86,"line":276},[84,568,291],{"class":135},[84,570,571,573,575,577],{"class":86,"line":288},[84,572,132],{"class":131},[84,574,299],{"class":135},[84,576,139],{"class":131},[84,578,304],{"class":135},[84,580,581,583,585,587],{"class":86,"line":294},[84,582,132],{"class":131},[84,584,176],{"class":135},[84,586,139],{"class":131},[84,588,316],{"class":135},[84,590,591],{"class":86,"line":307},[84,592,322],{"class":135},[84,594,595,597,599,601],{"class":86,"line":319},[84,596,132],{"class":131},[84,598,330],{"class":135},[84,600,139],{"class":131},[84,602,335],{"class":135},[84,604,605],{"class":86,"line":325},[84,606,162],{"emptyLinePlaceholder":161},[84,608,609,611,613],{"class":86,"line":338},[84,610,346],{"class":131},[84,612,349],{"class":90},[84,614,352],{"class":135},[84,616,617,619],{"class":86,"line":343},[84,618,358],{"class":131},[84,620,361],{"class":135},[15,622,623],{},[18,624],{"alt":20,"src":625},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1121.webp",[15,627,628],{},[18,629],{"alt":20,"src":630},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1122.webp",[15,632,633],{},[18,634],{"alt":20,"src":635},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1123.webp",[15,637,638],{},[18,639],{"alt":20,"src":640},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1124.webp",[75,642,646],{"className":643,"code":644,"language":645,"meta":20,"style":20},"language-xml shiki shiki-themes github-light github-dark","\u003Claunch>\n    \u003Cnode pkg = \"turtlesim\" exec = \"turtlesim_node\" name = \"t1\" \u002F>\n    \u003Cnode pkg = \"turtlesim\" exec = \"turtlesim_node\" name = \"t2\" \u002F>\n\u003C\u002Flaunch>\n","xml",[81,647,648,660,695,722],{"__ignoreMap":20},[84,649,650,653,657],{"class":86,"line":87},[84,651,652],{"class":135},"\u003C",[84,654,656],{"class":655},"s9eBZ","launch",[84,658,659],{"class":135},">\n",[84,661,662,665,668,670,673,676,679,681,684,687,689,692],{"class":86,"line":145},[84,663,664],{"class":135},"    \u003C",[84,666,667],{"class":655},"node",[84,669,95],{"class":90},[84,671,672],{"class":135}," = ",[84,674,675],{"class":94},"\"turtlesim\"",[84,677,678],{"class":90}," exec",[84,680,672],{"class":135},[84,682,683],{"class":94},"\"turtlesim_node\"",[84,685,686],{"class":90}," name",[84,688,672],{"class":135},[84,690,691],{"class":94},"\"t1\"",[84,693,694],{"class":135}," \u002F>\n",[84,696,697,699,701,703,705,707,709,711,713,715,717,720],{"class":86,"line":158},[84,698,664],{"class":135},[84,700,667],{"class":655},[84,702,95],{"class":90},[84,704,672],{"class":135},[84,706,675],{"class":94},[84,708,678],{"class":90},[84,710,672],{"class":135},[84,712,683],{"class":94},[84,714,686],{"class":90},[84,716,672],{"class":135},[84,718,719],{"class":94},"\"t2\"",[84,721,694],{"class":135},[84,723,724,727,729],{"class":86,"line":165},[84,725,726],{"class":135},"\u003C\u002F",[84,728,656],{"class":655},[84,730,659],{"class":135},[15,732,733],{},[18,734],{"alt":20,"src":735},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1125.webp",[15,737,738],{},[18,739],{"alt":20,"src":740},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1126.webp",[75,742,746],{"className":743,"code":744,"language":745,"meta":20,"style":20},"language-yaml shiki shiki-themes github-light github-dark","launch:\nnode:\n  pkg: \"turtlesim\"\n  exec: \"turtlesim_node\"\n  name: \"t1\"\nnode:\n  pkg: \"turtlesim\"\n  exec: \"turtlesim_node\"\n  name: \"t2\"\n","yaml",[81,747,748,755,761,772,782,792,798,806,814],{"__ignoreMap":20},[84,749,750,752],{"class":86,"line":87},[84,751,656],{"class":655},[84,753,754],{"class":135},":\n",[84,756,757,759],{"class":86,"line":145},[84,758,667],{"class":655},[84,760,754],{"class":135},[84,762,763,766,769],{"class":86,"line":158},[84,764,765],{"class":655},"  pkg",[84,767,768],{"class":135},": ",[84,770,771],{"class":94},"\"turtlesim\"\n",[84,773,774,777,779],{"class":86,"line":165},[84,775,776],{"class":655},"  exec",[84,778,768],{"class":135},[84,780,781],{"class":94},"\"turtlesim_node\"\n",[84,783,784,787,789],{"class":86,"line":171},[84,785,786],{"class":655},"  name",[84,788,768],{"class":135},[84,790,791],{"class":94},"\"t1\"\n",[84,793,794,796],{"class":86,"line":184},[84,795,667],{"class":655},[84,797,754],{"class":135},[84,799,800,802,804],{"class":86,"line":197},[84,801,765],{"class":655},[84,803,768],{"class":135},[84,805,771],{"class":94},[84,807,808,810,812],{"class":86,"line":203},[84,809,776],{"class":655},[84,811,768],{"class":135},[84,813,781],{"class":94},[84,815,816,818,820],{"class":86,"line":215},[84,817,786],{"class":655},[84,819,768],{"class":135},[84,821,822],{"class":94},"\"t2\"\n",[15,824,825],{},[18,826],{"alt":20,"src":827},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1127.webp",[15,829,830],{},[18,831],{"alt":20,"src":832},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1128.webp",[15,834,835],{},"It's best to add a dependency.",[15,837,838],{},[18,839],{"alt":20,"src":840},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1129.webp",[15,842,843],{},[18,844],{"alt":20,"src":845},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1130.webp",[10,847,849],{"id":848},"launch_python_node","Launch_Python_Node",[15,851,852],{},[18,853],{"alt":20,"src":854},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1131.webp",[15,856,857],{},[18,858],{"alt":20,"src":859},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1132.webp",[15,861,862],{},[18,863],{"alt":20,"src":864},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1133.webp",[15,866,867],{},[18,868],{"alt":20,"src":869},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1134.webp",[15,871,872],{},"This is the label exec_name",[15,874,875],{},[18,876],{"alt":20,"src":877},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1135.webp",[15,879,880,881,884],{},"The difference in passing these two parameters lies in the ",[81,882,883],{},"--ros-args"," distinction.",[15,886,887],{},[18,888],{"alt":20,"src":889},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1136.webp",[15,891,892],{},[18,893],{"alt":20,"src":894},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1137.webp",[15,896,897],{},[18,898],{"alt":20,"src":899},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1138.webp",[15,901,902],{},"It's simpler to write it in the launch file.",[15,904,905],{},[18,906],{"alt":20,"src":907},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1139.webp",[15,909,910],{},"This is equivalent.",[15,912,913],{},[18,914],{"alt":20,"src":915},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1140.webp",[15,917,918],{},[18,919],{"alt":20,"src":920},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1141.webp",[15,922,923],{},"The content inside {} is in YAML format.",[15,925,926],{},[18,927],{"alt":20,"src":928},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1142.webp",[15,930,931],{},"There is another more common method: read the YAML file first, store all the data in the YAML, and then read it directly when needed.",[15,933,934],{},[18,935],{"alt":20,"src":936},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1143.webp",[15,938,939],{},[18,940],{"alt":20,"src":941},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1144.webp",[15,943,944],{},"Place the yaml file in the config folder.",[15,946,947],{},[18,948],{"alt":20,"src":949},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1145.webp",[75,951,953],{"className":77,"code":952,"language":79,"meta":20,"style":20},"ros2 param dump haha --output-dir src\u002Fcpp01_launch\u002Fconfig\u002F\n",[81,954,955],{"__ignoreMap":20},[84,956,957,959,962,965,968,971],{"class":86,"line":87},[84,958,91],{"class":90},[84,960,961],{"class":94}," param",[84,963,964],{"class":94}," dump",[84,966,967],{"class":94}," haha",[84,969,970],{"class":104}," --output-dir",[84,972,973],{"class":94}," src\u002Fcpp01_launch\u002Fconfig\u002F\n",[15,975,976],{},[18,977],{"alt":20,"src":978},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1146.webp",[15,980,981],{},[18,982],{"alt":20,"src":983},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1147.webp",[15,985,986],{},"You also need to configure CMakeLists.",[15,988,989],{},[18,990],{"alt":20,"src":991},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1148.webp",[15,993,994],{},[18,995],{"alt":20,"src":996},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1149.webp",[15,998,999],{},[18,1000],{"alt":20,"src":1001},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1150.webp",[15,1003,1004],{},[18,1005],{"alt":20,"src":1006},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1151.webp",[15,1008,1009],{},"We should read the one in the install directory.",[15,1011,1012],{},[18,1013],{"alt":20,"src":1014},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1152.webp",[15,1016,1017],{},[18,1018],{"alt":20,"src":1019},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1153.webp",[15,1021,1022],{},"Directly copy the path.",[15,1024,1025],{},[18,1026],{"alt":20,"src":1027},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1154.webp",[15,1029,1030],{},[18,1031],{"alt":20,"src":1032},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1155.webp",[15,1034,1035],{},"The code can be further optimized.",[15,1037,1038],{},[18,1039],{"alt":20,"src":1040},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1156.webp",[15,1042,1043],{},[18,1044],{"alt":20,"src":1045},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1157.webp",[15,1047,1048],{},"This is used to get the share directory path of a specific package.",[15,1050,1051],{},[18,1052],{"alt":20,"src":1053},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1158.webp",[15,1055,1056],{},[18,1057],{"alt":20,"src":1058},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1159.webp",[15,1060,1061],{},[18,1062],{"alt":20,"src":1063},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1160.webp",[75,1065,1067],{"className":122,"code":1066,"language":124,"meta":20,"style":20},"from launch import LaunchDescription\nfrom launch_ros.actions import Node\n\n封装终端指令相关类\nfrom launch.actions import ExecuteProcess\nfrom launch.substitutions import FindExecutable\n参数声明与获取\nfrom launch.actions import DeclareLaunchArgument\nfrom launch.substitutions import LaunchConfiguration\n文件包含相关\nfrom launch.actions import IncludeLaunchDescription\nfrom launch.launch_description_sources import PythonLaunchDescriptionSource\n分组相关\nfrom launch_ros.actions import PushRosNamespace\nfrom launch.actions import GroupAction\n事件相关\nfrom launch.event_handlers import OnProcessStart,OnProcessExit\nfrom launch.actions import ExecuteProcess,RegisterEventHandler,LogInfo\n获取功能包下share目录或路径\nfrom ament_index_python.packages import get_package_share_directory\n\nimport os\n\ndef generate_launch_description():\n\n    # turtle1 = Node(\n\n    #     package=\"turtlesim\",\n\n    #     executable=\"turtlesim_node\",\n\n    #     exec_name=\"my_label\",\n\n    #     ros_arguments=[\"--remap\",\"__ns:=\u002Ft2\"]\n\n    #     )\n    turtle2 = Node(\n        package=\"turtlesim\",\n        executable=\"turtlesim_node\",\n        name=\"haha\",\n        parameters=[os.path.join(get_package_share_directory(\"cpp01_launch\"),\"config\",\"haha.yaml\")]\n        )\n    return LaunchDescription([turtle2])\n",[81,1068,1069,1079,1089,1093,1097,1107,1117,1121,1131,1141,1145,1155,1165,1169,1179,1189,1193,1203,1213,1217,1227,1231,1238,1242,1251,1256,1263,1268,1274,1279,1285,1290,1296,1301,1307,1312,1318,1330,1344,1356,1369,1398,1404],{"__ignoreMap":20},[84,1070,1071,1073,1075,1077],{"class":86,"line":87},[84,1072,132],{"class":131},[84,1074,136],{"class":135},[84,1076,139],{"class":131},[84,1078,142],{"class":135},[84,1080,1081,1083,1085,1087],{"class":86,"line":145},[84,1082,132],{"class":131},[84,1084,150],{"class":135},[84,1086,139],{"class":131},[84,1088,155],{"class":135},[84,1090,1091],{"class":86,"line":158},[84,1092,162],{"emptyLinePlaceholder":161},[84,1094,1095],{"class":86,"line":165},[84,1096,168],{"class":135},[84,1098,1099,1101,1103,1105],{"class":86,"line":171},[84,1100,132],{"class":131},[84,1102,176],{"class":135},[84,1104,139],{"class":131},[84,1106,181],{"class":135},[84,1108,1109,1111,1113,1115],{"class":86,"line":184},[84,1110,132],{"class":131},[84,1112,189],{"class":135},[84,1114,139],{"class":131},[84,1116,194],{"class":135},[84,1118,1119],{"class":86,"line":197},[84,1120,200],{"class":135},[84,1122,1123,1125,1127,1129],{"class":86,"line":203},[84,1124,132],{"class":131},[84,1126,176],{"class":135},[84,1128,139],{"class":131},[84,1130,212],{"class":135},[84,1132,1133,1135,1137,1139],{"class":86,"line":215},[84,1134,132],{"class":131},[84,1136,189],{"class":135},[84,1138,139],{"class":131},[84,1140,224],{"class":135},[84,1142,1143],{"class":86,"line":227},[84,1144,230],{"class":135},[84,1146,1147,1149,1151,1153],{"class":86,"line":233},[84,1148,132],{"class":131},[84,1150,176],{"class":135},[84,1152,139],{"class":131},[84,1154,242],{"class":135},[84,1156,1157,1159,1161,1163],{"class":86,"line":245},[84,1158,132],{"class":131},[84,1160,250],{"class":135},[84,1162,139],{"class":131},[84,1164,255],{"class":135},[84,1166,1167],{"class":86,"line":258},[84,1168,261],{"class":135},[84,1170,1171,1173,1175,1177],{"class":86,"line":264},[84,1172,132],{"class":131},[84,1174,150],{"class":135},[84,1176,139],{"class":131},[84,1178,273],{"class":135},[84,1180,1181,1183,1185,1187],{"class":86,"line":276},[84,1182,132],{"class":131},[84,1184,176],{"class":135},[84,1186,139],{"class":131},[84,1188,285],{"class":135},[84,1190,1191],{"class":86,"line":288},[84,1192,291],{"class":135},[84,1194,1195,1197,1199,1201],{"class":86,"line":294},[84,1196,132],{"class":131},[84,1198,299],{"class":135},[84,1200,139],{"class":131},[84,1202,304],{"class":135},[84,1204,1205,1207,1209,1211],{"class":86,"line":307},[84,1206,132],{"class":131},[84,1208,176],{"class":135},[84,1210,139],{"class":131},[84,1212,316],{"class":135},[84,1214,1215],{"class":86,"line":319},[84,1216,322],{"class":135},[84,1218,1219,1221,1223,1225],{"class":86,"line":325},[84,1220,132],{"class":131},[84,1222,330],{"class":135},[84,1224,139],{"class":131},[84,1226,335],{"class":135},[84,1228,1229],{"class":86,"line":338},[84,1230,162],{"emptyLinePlaceholder":161},[84,1232,1233,1235],{"class":86,"line":343},[84,1234,139],{"class":131},[84,1236,1237],{"class":135}," os\n",[84,1239,1240],{"class":86,"line":355},[84,1241,162],{"emptyLinePlaceholder":161},[84,1243,1245,1247,1249],{"class":86,"line":1244},24,[84,1246,346],{"class":131},[84,1248,349],{"class":90},[84,1250,352],{"class":135},[84,1252,1254],{"class":86,"line":1253},25,[84,1255,162],{"emptyLinePlaceholder":161},[84,1257,1259],{"class":86,"line":1258},26,[84,1260,1262],{"class":1261},"sJ8bj","    # turtle1 = Node(\n",[84,1264,1266],{"class":86,"line":1265},27,[84,1267,162],{"emptyLinePlaceholder":161},[84,1269,1271],{"class":86,"line":1270},28,[84,1272,1273],{"class":1261},"    #     package=\"turtlesim\",\n",[84,1275,1277],{"class":86,"line":1276},29,[84,1278,162],{"emptyLinePlaceholder":161},[84,1280,1282],{"class":86,"line":1281},30,[84,1283,1284],{"class":1261},"    #     executable=\"turtlesim_node\",\n",[84,1286,1288],{"class":86,"line":1287},31,[84,1289,162],{"emptyLinePlaceholder":161},[84,1291,1293],{"class":86,"line":1292},32,[84,1294,1295],{"class":1261},"    #     exec_name=\"my_label\",\n",[84,1297,1299],{"class":86,"line":1298},33,[84,1300,162],{"emptyLinePlaceholder":161},[84,1302,1304],{"class":86,"line":1303},34,[84,1305,1306],{"class":1261},"    #     ros_arguments=[\"--remap\",\"__ns:=\u002Ft2\"]\n",[84,1308,1310],{"class":86,"line":1309},35,[84,1311,162],{"emptyLinePlaceholder":161},[84,1313,1315],{"class":86,"line":1314},36,[84,1316,1317],{"class":1261},"    #     )\n",[84,1319,1321,1324,1327],{"class":86,"line":1320},37,[84,1322,1323],{"class":135},"    turtle2 ",[84,1325,1326],{"class":131},"=",[84,1328,1329],{"class":135}," Node(\n",[84,1331,1333,1337,1339,1341],{"class":86,"line":1332},38,[84,1334,1336],{"class":1335},"s4XuR","        package",[84,1338,1326],{"class":131},[84,1340,675],{"class":94},[84,1342,1343],{"class":135},",\n",[84,1345,1347,1350,1352,1354],{"class":86,"line":1346},39,[84,1348,1349],{"class":1335},"        executable",[84,1351,1326],{"class":131},[84,1353,683],{"class":94},[84,1355,1343],{"class":135},[84,1357,1359,1362,1364,1367],{"class":86,"line":1358},40,[84,1360,1361],{"class":1335},"        name",[84,1363,1326],{"class":131},[84,1365,1366],{"class":94},"\"haha\"",[84,1368,1343],{"class":135},[84,1370,1372,1375,1377,1380,1383,1386,1389,1392,1395],{"class":86,"line":1371},41,[84,1373,1374],{"class":1335},"        parameters",[84,1376,1326],{"class":131},[84,1378,1379],{"class":135},"[os.path.join(get_package_share_directory(",[84,1381,1382],{"class":94},"\"cpp01_launch\"",[84,1384,1385],{"class":135},"),",[84,1387,1388],{"class":94},"\"config\"",[84,1390,1391],{"class":135},",",[84,1393,1394],{"class":94},"\"haha.yaml\"",[84,1396,1397],{"class":135},")]\n",[84,1399,1401],{"class":86,"line":1400},42,[84,1402,1403],{"class":135},"        )\n",[84,1405,1407,1409],{"class":86,"line":1406},43,[84,1408,358],{"class":131},[84,1410,1411],{"class":135}," LaunchDescription([turtle2])\n",[15,1413,1414],{},[18,1415],{"alt":20,"src":1416},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1161.webp",[15,1418,1419],{},[18,1420],{"alt":20,"src":1421},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1162.webp",[15,1423,1424],{},"It is recommended to use the third method: dynamically obtaining the path.",[15,1426,1427],{},[18,1428],{"alt":20,"src":1429},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1163.webp",[15,1431,1432],{},"\"respawn\" means automatic restart. After running a node with this setting, if you close the Little Turtle window with your mouse, the node will automatically restart and open a new Little Turtle window.",[15,1434,1435],{},"Press Ctrl+C to terminate.",[75,1437,1439],{"className":122,"code":1438,"language":124,"meta":20,"style":20},"from launch import LaunchDescription\nfrom launch_ros.actions import Node\n\n封装终端指令相关类\nfrom launch.actions import ExecuteProcess\nfrom launch.substitutions import FindExecutable\n参数声明与获取\nfrom launch.actions import DeclareLaunchArgument\nfrom launch.substitutions import LaunchConfiguration\n文件包含相关\nfrom launch.actions import IncludeLaunchDescription\nfrom launch.launch_description_sources import PythonLaunchDescriptionSource\n分组相关\nfrom launch_ros.actions import PushRosNamespace\nfrom launch.actions import GroupAction\n事件相关\nfrom launch.event_handlers import OnProcessStart,OnProcessExit\nfrom launch.actions import ExecuteProcess,RegisterEventHandler,LogInfo\n获取功能包下share目录或路径\nfrom ament_index_python.packages import get_package_share_directory\n\nimport os\n\ndef generate_launch_description():\n\n    # turtle1 = Node(\n\n    #     package=\"turtlesim\",\n\n    #     executable=\"turtlesim_node\",\n\n    #     exec_name=\"my_label\",\n\n    #     ros_arguments=[\"--remap\",\"__ns:=\u002Ft2\"]\n\n    #     )\n    turtle2 = Node(\n        package=\"turtlesim\",\n        executable=\"turtlesim_node\",\n        name=\"haha\",\n\n        # parameters=[{\"background_r\": 255,\"background_g\": 0,\"background_b\": 0}],\n\n        # parameters=[\"\u002Fhome\u002Ftungchiahui\u002Fmysource\u002Fros2src\u002F4.ws02_tools\u002Finstall\u002Fcpp01_launch\u002Fshare\u002Fcpp01_launch\u002Fconfig\u002Fhaha.yaml\"],\n        parameters=[os.path.join(get_package_share_directory(\"cpp01_launch\"),\"config\",\"haha.yaml\")],\n        respawn=True\n        )\n    return LaunchDescription([turtle2])\n",[81,1440,1441,1451,1461,1465,1469,1479,1489,1493,1503,1513,1517,1527,1537,1541,1551,1561,1565,1575,1585,1589,1599,1603,1609,1613,1621,1625,1629,1633,1637,1641,1645,1649,1653,1657,1661,1665,1669,1677,1687,1697,1707,1711,1716,1720,1726,1748,1759,1764],{"__ignoreMap":20},[84,1442,1443,1445,1447,1449],{"class":86,"line":87},[84,1444,132],{"class":131},[84,1446,136],{"class":135},[84,1448,139],{"class":131},[84,1450,142],{"class":135},[84,1452,1453,1455,1457,1459],{"class":86,"line":145},[84,1454,132],{"class":131},[84,1456,150],{"class":135},[84,1458,139],{"class":131},[84,1460,155],{"class":135},[84,1462,1463],{"class":86,"line":158},[84,1464,162],{"emptyLinePlaceholder":161},[84,1466,1467],{"class":86,"line":165},[84,1468,168],{"class":135},[84,1470,1471,1473,1475,1477],{"class":86,"line":171},[84,1472,132],{"class":131},[84,1474,176],{"class":135},[84,1476,139],{"class":131},[84,1478,181],{"class":135},[84,1480,1481,1483,1485,1487],{"class":86,"line":184},[84,1482,132],{"class":131},[84,1484,189],{"class":135},[84,1486,139],{"class":131},[84,1488,194],{"class":135},[84,1490,1491],{"class":86,"line":197},[84,1492,200],{"class":135},[84,1494,1495,1497,1499,1501],{"class":86,"line":203},[84,1496,132],{"class":131},[84,1498,176],{"class":135},[84,1500,139],{"class":131},[84,1502,212],{"class":135},[84,1504,1505,1507,1509,1511],{"class":86,"line":215},[84,1506,132],{"class":131},[84,1508,189],{"class":135},[84,1510,139],{"class":131},[84,1512,224],{"class":135},[84,1514,1515],{"class":86,"line":227},[84,1516,230],{"class":135},[84,1518,1519,1521,1523,1525],{"class":86,"line":233},[84,1520,132],{"class":131},[84,1522,176],{"class":135},[84,1524,139],{"class":131},[84,1526,242],{"class":135},[84,1528,1529,1531,1533,1535],{"class":86,"line":245},[84,1530,132],{"class":131},[84,1532,250],{"class":135},[84,1534,139],{"class":131},[84,1536,255],{"class":135},[84,1538,1539],{"class":86,"line":258},[84,1540,261],{"class":135},[84,1542,1543,1545,1547,1549],{"class":86,"line":264},[84,1544,132],{"class":131},[84,1546,150],{"class":135},[84,1548,139],{"class":131},[84,1550,273],{"class":135},[84,1552,1553,1555,1557,1559],{"class":86,"line":276},[84,1554,132],{"class":131},[84,1556,176],{"class":135},[84,1558,139],{"class":131},[84,1560,285],{"class":135},[84,1562,1563],{"class":86,"line":288},[84,1564,291],{"class":135},[84,1566,1567,1569,1571,1573],{"class":86,"line":294},[84,1568,132],{"class":131},[84,1570,299],{"class":135},[84,1572,139],{"class":131},[84,1574,304],{"class":135},[84,1576,1577,1579,1581,1583],{"class":86,"line":307},[84,1578,132],{"class":131},[84,1580,176],{"class":135},[84,1582,139],{"class":131},[84,1584,316],{"class":135},[84,1586,1587],{"class":86,"line":319},[84,1588,322],{"class":135},[84,1590,1591,1593,1595,1597],{"class":86,"line":325},[84,1592,132],{"class":131},[84,1594,330],{"class":135},[84,1596,139],{"class":131},[84,1598,335],{"class":135},[84,1600,1601],{"class":86,"line":338},[84,1602,162],{"emptyLinePlaceholder":161},[84,1604,1605,1607],{"class":86,"line":343},[84,1606,139],{"class":131},[84,1608,1237],{"class":135},[84,1610,1611],{"class":86,"line":355},[84,1612,162],{"emptyLinePlaceholder":161},[84,1614,1615,1617,1619],{"class":86,"line":1244},[84,1616,346],{"class":131},[84,1618,349],{"class":90},[84,1620,352],{"class":135},[84,1622,1623],{"class":86,"line":1253},[84,1624,162],{"emptyLinePlaceholder":161},[84,1626,1627],{"class":86,"line":1258},[84,1628,1262],{"class":1261},[84,1630,1631],{"class":86,"line":1265},[84,1632,162],{"emptyLinePlaceholder":161},[84,1634,1635],{"class":86,"line":1270},[84,1636,1273],{"class":1261},[84,1638,1639],{"class":86,"line":1276},[84,1640,162],{"emptyLinePlaceholder":161},[84,1642,1643],{"class":86,"line":1281},[84,1644,1284],{"class":1261},[84,1646,1647],{"class":86,"line":1287},[84,1648,162],{"emptyLinePlaceholder":161},[84,1650,1651],{"class":86,"line":1292},[84,1652,1295],{"class":1261},[84,1654,1655],{"class":86,"line":1298},[84,1656,162],{"emptyLinePlaceholder":161},[84,1658,1659],{"class":86,"line":1303},[84,1660,1306],{"class":1261},[84,1662,1663],{"class":86,"line":1309},[84,1664,162],{"emptyLinePlaceholder":161},[84,1666,1667],{"class":86,"line":1314},[84,1668,1317],{"class":1261},[84,1670,1671,1673,1675],{"class":86,"line":1320},[84,1672,1323],{"class":135},[84,1674,1326],{"class":131},[84,1676,1329],{"class":135},[84,1678,1679,1681,1683,1685],{"class":86,"line":1332},[84,1680,1336],{"class":1335},[84,1682,1326],{"class":131},[84,1684,675],{"class":94},[84,1686,1343],{"class":135},[84,1688,1689,1691,1693,1695],{"class":86,"line":1346},[84,1690,1349],{"class":1335},[84,1692,1326],{"class":131},[84,1694,683],{"class":94},[84,1696,1343],{"class":135},[84,1698,1699,1701,1703,1705],{"class":86,"line":1358},[84,1700,1361],{"class":1335},[84,1702,1326],{"class":131},[84,1704,1366],{"class":94},[84,1706,1343],{"class":135},[84,1708,1709],{"class":86,"line":1371},[84,1710,162],{"emptyLinePlaceholder":161},[84,1712,1713],{"class":86,"line":1400},[84,1714,1715],{"class":1261},"        # parameters=[{\"background_r\": 255,\"background_g\": 0,\"background_b\": 0}],\n",[84,1717,1718],{"class":86,"line":1406},[84,1719,162],{"emptyLinePlaceholder":161},[84,1721,1723],{"class":86,"line":1722},44,[84,1724,1725],{"class":1261},"        # parameters=[\"\u002Fhome\u002Ftungchiahui\u002Fmysource\u002Fros2src\u002F4.ws02_tools\u002Finstall\u002Fcpp01_launch\u002Fshare\u002Fcpp01_launch\u002Fconfig\u002Fhaha.yaml\"],\n",[84,1727,1729,1731,1733,1735,1737,1739,1741,1743,1745],{"class":86,"line":1728},45,[84,1730,1374],{"class":1335},[84,1732,1326],{"class":131},[84,1734,1379],{"class":135},[84,1736,1382],{"class":94},[84,1738,1385],{"class":135},[84,1740,1388],{"class":94},[84,1742,1391],{"class":135},[84,1744,1394],{"class":94},[84,1746,1747],{"class":135},")],\n",[84,1749,1751,1754,1756],{"class":86,"line":1750},46,[84,1752,1753],{"class":1335},"        respawn",[84,1755,1326],{"class":131},[84,1757,1758],{"class":104},"True\n",[84,1760,1762],{"class":86,"line":1761},47,[84,1763,1403],{"class":135},[84,1765,1767,1769],{"class":86,"line":1766},48,[84,1768,358],{"class":131},[84,1770,1411],{"class":135},[15,1772,1773],{},[18,1774],{"alt":20,"src":1775},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1164.webp",[15,1777,1778],{},"The first is the original topic name, the second is the new topic name.",[10,1780,1782],{"id":1781},"launch_python_execute_command","Launch_Python_Execute_Command",[15,1784,1785],{},[18,1786],{"alt":20,"src":1787},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1165.webp",[15,1789,1790],{},[18,1791],{"alt":20,"src":1792},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1166.webp",[15,1794,1795],{},[18,1796],{"alt":20,"src":1797},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1167.webp",[15,1799,1800],{},[18,1801],{"alt":20,"src":1802},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1168.webp",[15,1804,1805],{},"This is a list containing our instructions.",[15,1807,1808],{},[18,1809],{"alt":20,"src":1810},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1169.webp",[15,1812,1813],{},"This outputs logs to both the terminal and the log file; if omitted, logs will only be written to the file.",[15,1815,1816],{},[18,1817],{"alt":20,"src":1818},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1170.webp",[15,1820,1821],{},"This treats the command as a terminal instruction to execute.",[15,1823,1824],{},[18,1825],{"alt":20,"src":1826},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1171.webp",[15,1828,1829],{},[18,1830],{"alt":20,"src":1831},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1172.webp",[75,1833,1835],{"className":122,"code":1834,"language":124,"meta":20,"style":20},"from launch import LaunchDescription\nfrom launch_ros.actions import Node\n\n封装终端指令相关类\nfrom launch.actions import ExecuteProcess\nfrom launch.substitutions import FindExecutable\n参数声明与获取\nfrom launch.actions import DeclareLaunchArgument\nfrom launch.substitutions import LaunchConfiguration\n文件包含相关\nfrom launch.actions import IncludeLaunchDescription\nfrom launch.launch_description_sources import PythonLaunchDescriptionSource\n分组相关\nfrom launch_ros.actions import PushRosNamespace\nfrom launch.actions import GroupAction\n事件相关\nfrom launch.event_handlers import OnProcessStart,OnProcessExit\nfrom launch.actions import ExecuteProcess,RegisterEventHandler,LogInfo\n获取功能包下share目录或路径\nfrom ament_index_python.packages import get_package_share_directory\n\ndef generate_launch_description():\n    turtle = Node(\n        package=\"turtlesim\",\n        executable=\"turtlesim_node\"\n    )\n    cmd = ExecuteProcess(\n        cmd = [\"ros2 topic echo \u002Fturtle1\u002Fpose\"],\n        output = \"both\",\n        shell = True\n    )\n\n    return LaunchDescription([turtle,cmd])\n",[81,1836,1837,1847,1857,1861,1865,1875,1885,1889,1899,1909,1913,1923,1933,1937,1947,1957,1961,1971,1981,1985,1995,1999,2007,2016,2026,2034,2039,2049,2066,2078,2088,2092,2096],{"__ignoreMap":20},[84,1838,1839,1841,1843,1845],{"class":86,"line":87},[84,1840,132],{"class":131},[84,1842,136],{"class":135},[84,1844,139],{"class":131},[84,1846,142],{"class":135},[84,1848,1849,1851,1853,1855],{"class":86,"line":145},[84,1850,132],{"class":131},[84,1852,150],{"class":135},[84,1854,139],{"class":131},[84,1856,155],{"class":135},[84,1858,1859],{"class":86,"line":158},[84,1860,162],{"emptyLinePlaceholder":161},[84,1862,1863],{"class":86,"line":165},[84,1864,168],{"class":135},[84,1866,1867,1869,1871,1873],{"class":86,"line":171},[84,1868,132],{"class":131},[84,1870,176],{"class":135},[84,1872,139],{"class":131},[84,1874,181],{"class":135},[84,1876,1877,1879,1881,1883],{"class":86,"line":184},[84,1878,132],{"class":131},[84,1880,189],{"class":135},[84,1882,139],{"class":131},[84,1884,194],{"class":135},[84,1886,1887],{"class":86,"line":197},[84,1888,200],{"class":135},[84,1890,1891,1893,1895,1897],{"class":86,"line":203},[84,1892,132],{"class":131},[84,1894,176],{"class":135},[84,1896,139],{"class":131},[84,1898,212],{"class":135},[84,1900,1901,1903,1905,1907],{"class":86,"line":215},[84,1902,132],{"class":131},[84,1904,189],{"class":135},[84,1906,139],{"class":131},[84,1908,224],{"class":135},[84,1910,1911],{"class":86,"line":227},[84,1912,230],{"class":135},[84,1914,1915,1917,1919,1921],{"class":86,"line":233},[84,1916,132],{"class":131},[84,1918,176],{"class":135},[84,1920,139],{"class":131},[84,1922,242],{"class":135},[84,1924,1925,1927,1929,1931],{"class":86,"line":245},[84,1926,132],{"class":131},[84,1928,250],{"class":135},[84,1930,139],{"class":131},[84,1932,255],{"class":135},[84,1934,1935],{"class":86,"line":258},[84,1936,261],{"class":135},[84,1938,1939,1941,1943,1945],{"class":86,"line":264},[84,1940,132],{"class":131},[84,1942,150],{"class":135},[84,1944,139],{"class":131},[84,1946,273],{"class":135},[84,1948,1949,1951,1953,1955],{"class":86,"line":276},[84,1950,132],{"class":131},[84,1952,176],{"class":135},[84,1954,139],{"class":131},[84,1956,285],{"class":135},[84,1958,1959],{"class":86,"line":288},[84,1960,291],{"class":135},[84,1962,1963,1965,1967,1969],{"class":86,"line":294},[84,1964,132],{"class":131},[84,1966,299],{"class":135},[84,1968,139],{"class":131},[84,1970,304],{"class":135},[84,1972,1973,1975,1977,1979],{"class":86,"line":307},[84,1974,132],{"class":131},[84,1976,176],{"class":135},[84,1978,139],{"class":131},[84,1980,316],{"class":135},[84,1982,1983],{"class":86,"line":319},[84,1984,322],{"class":135},[84,1986,1987,1989,1991,1993],{"class":86,"line":325},[84,1988,132],{"class":131},[84,1990,330],{"class":135},[84,1992,139],{"class":131},[84,1994,335],{"class":135},[84,1996,1997],{"class":86,"line":338},[84,1998,162],{"emptyLinePlaceholder":161},[84,2000,2001,2003,2005],{"class":86,"line":343},[84,2002,346],{"class":131},[84,2004,349],{"class":90},[84,2006,352],{"class":135},[84,2008,2009,2012,2014],{"class":86,"line":355},[84,2010,2011],{"class":135},"    turtle ",[84,2013,1326],{"class":131},[84,2015,1329],{"class":135},[84,2017,2018,2020,2022,2024],{"class":86,"line":1244},[84,2019,1336],{"class":1335},[84,2021,1326],{"class":131},[84,2023,675],{"class":94},[84,2025,1343],{"class":135},[84,2027,2028,2030,2032],{"class":86,"line":1253},[84,2029,1349],{"class":1335},[84,2031,1326],{"class":131},[84,2033,781],{"class":94},[84,2035,2036],{"class":86,"line":1258},[84,2037,2038],{"class":135},"    )\n",[84,2040,2041,2044,2046],{"class":86,"line":1265},[84,2042,2043],{"class":135},"    cmd ",[84,2045,1326],{"class":131},[84,2047,2048],{"class":135}," ExecuteProcess(\n",[84,2050,2051,2054,2057,2060,2063],{"class":86,"line":1270},[84,2052,2053],{"class":1335},"        cmd",[84,2055,2056],{"class":131}," =",[84,2058,2059],{"class":135}," [",[84,2061,2062],{"class":94},"\"ros2 topic echo \u002Fturtle1\u002Fpose\"",[84,2064,2065],{"class":135},"],\n",[84,2067,2068,2071,2073,2076],{"class":86,"line":1276},[84,2069,2070],{"class":1335},"        output",[84,2072,2056],{"class":131},[84,2074,2075],{"class":94}," \"both\"",[84,2077,1343],{"class":135},[84,2079,2080,2083,2085],{"class":86,"line":1281},[84,2081,2082],{"class":1335},"        shell",[84,2084,2056],{"class":131},[84,2086,2087],{"class":104}," True\n",[84,2089,2090],{"class":86,"line":1287},[84,2091,2038],{"class":135},[84,2093,2094],{"class":86,"line":1292},[84,2095,162],{"emptyLinePlaceholder":161},[84,2097,2098,2100],{"class":86,"line":1298},[84,2099,358],{"class":131},[84,2101,2102],{"class":135}," LaunchDescription([turtle,cmd])\n",[15,2104,2105],{},[18,2106],{"alt":20,"src":2107},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1173.webp",[15,2109,2110],{},"If the instruction is too long, it can be split into multiple strings for execution.",[26,2112],{},[15,2114,2115],{},[18,2116],{"alt":20,"src":2117},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1174.webp",[15,2119,2120],{},[18,2121],{"alt":20,"src":2122},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1175.webp",[15,2124,2125],{},[18,2126],{"alt":20,"src":2127},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1176.webp",[15,2129,2130],{},"This also works.",[75,2132,2134],{"className":122,"code":2133,"language":124,"meta":20,"style":20},"from launch import LaunchDescription\nfrom launch_ros.actions import Node\n\n封装终端指令相关类\nfrom launch.actions import ExecuteProcess\nfrom launch.substitutions import FindExecutable\n参数声明与获取\nfrom launch.actions import DeclareLaunchArgument\nfrom launch.substitutions import LaunchConfiguration\n文件包含相关\nfrom launch.actions import IncludeLaunchDescription\nfrom launch.launch_description_sources import PythonLaunchDescriptionSource\n分组相关\nfrom launch_ros.actions import PushRosNamespace\nfrom launch.actions import GroupAction\n事件相关\nfrom launch.event_handlers import OnProcessStart,OnProcessExit\nfrom launch.actions import ExecuteProcess,RegisterEventHandler,LogInfo\n获取功能包下share目录或路径\nfrom ament_index_python.packages import get_package_share_directory\n\ndef generate_launch_description():\n    turtle = Node(\n        package=\"turtlesim\",\n        executable=\"turtlesim_node\"\n    )\n    cmd = ExecuteProcess(\n        cmd = [FindExecutable(name=\"ros2\"),\"topic\",\"echo\",\"\u002Fturtle1\u002Fpose\"],\n        output = \"both\",\n        shell = True\n    )\n\n    return LaunchDescription([turtle,cmd])\n",[81,2135,2136,2146,2156,2160,2164,2174,2184,2188,2198,2208,2212,2222,2232,2236,2246,2256,2260,2270,2280,2284,2294,2298,2306,2314,2324,2332,2336,2344,2378,2388,2396,2400,2404],{"__ignoreMap":20},[84,2137,2138,2140,2142,2144],{"class":86,"line":87},[84,2139,132],{"class":131},[84,2141,136],{"class":135},[84,2143,139],{"class":131},[84,2145,142],{"class":135},[84,2147,2148,2150,2152,2154],{"class":86,"line":145},[84,2149,132],{"class":131},[84,2151,150],{"class":135},[84,2153,139],{"class":131},[84,2155,155],{"class":135},[84,2157,2158],{"class":86,"line":158},[84,2159,162],{"emptyLinePlaceholder":161},[84,2161,2162],{"class":86,"line":165},[84,2163,168],{"class":135},[84,2165,2166,2168,2170,2172],{"class":86,"line":171},[84,2167,132],{"class":131},[84,2169,176],{"class":135},[84,2171,139],{"class":131},[84,2173,181],{"class":135},[84,2175,2176,2178,2180,2182],{"class":86,"line":184},[84,2177,132],{"class":131},[84,2179,189],{"class":135},[84,2181,139],{"class":131},[84,2183,194],{"class":135},[84,2185,2186],{"class":86,"line":197},[84,2187,200],{"class":135},[84,2189,2190,2192,2194,2196],{"class":86,"line":203},[84,2191,132],{"class":131},[84,2193,176],{"class":135},[84,2195,139],{"class":131},[84,2197,212],{"class":135},[84,2199,2200,2202,2204,2206],{"class":86,"line":215},[84,2201,132],{"class":131},[84,2203,189],{"class":135},[84,2205,139],{"class":131},[84,2207,224],{"class":135},[84,2209,2210],{"class":86,"line":227},[84,2211,230],{"class":135},[84,2213,2214,2216,2218,2220],{"class":86,"line":233},[84,2215,132],{"class":131},[84,2217,176],{"class":135},[84,2219,139],{"class":131},[84,2221,242],{"class":135},[84,2223,2224,2226,2228,2230],{"class":86,"line":245},[84,2225,132],{"class":131},[84,2227,250],{"class":135},[84,2229,139],{"class":131},[84,2231,255],{"class":135},[84,2233,2234],{"class":86,"line":258},[84,2235,261],{"class":135},[84,2237,2238,2240,2242,2244],{"class":86,"line":264},[84,2239,132],{"class":131},[84,2241,150],{"class":135},[84,2243,139],{"class":131},[84,2245,273],{"class":135},[84,2247,2248,2250,2252,2254],{"class":86,"line":276},[84,2249,132],{"class":131},[84,2251,176],{"class":135},[84,2253,139],{"class":131},[84,2255,285],{"class":135},[84,2257,2258],{"class":86,"line":288},[84,2259,291],{"class":135},[84,2261,2262,2264,2266,2268],{"class":86,"line":294},[84,2263,132],{"class":131},[84,2265,299],{"class":135},[84,2267,139],{"class":131},[84,2269,304],{"class":135},[84,2271,2272,2274,2276,2278],{"class":86,"line":307},[84,2273,132],{"class":131},[84,2275,176],{"class":135},[84,2277,139],{"class":131},[84,2279,316],{"class":135},[84,2281,2282],{"class":86,"line":319},[84,2283,322],{"class":135},[84,2285,2286,2288,2290,2292],{"class":86,"line":325},[84,2287,132],{"class":131},[84,2289,330],{"class":135},[84,2291,139],{"class":131},[84,2293,335],{"class":135},[84,2295,2296],{"class":86,"line":338},[84,2297,162],{"emptyLinePlaceholder":161},[84,2299,2300,2302,2304],{"class":86,"line":343},[84,2301,346],{"class":131},[84,2303,349],{"class":90},[84,2305,352],{"class":135},[84,2307,2308,2310,2312],{"class":86,"line":355},[84,2309,2011],{"class":135},[84,2311,1326],{"class":131},[84,2313,1329],{"class":135},[84,2315,2316,2318,2320,2322],{"class":86,"line":1244},[84,2317,1336],{"class":1335},[84,2319,1326],{"class":131},[84,2321,675],{"class":94},[84,2323,1343],{"class":135},[84,2325,2326,2328,2330],{"class":86,"line":1253},[84,2327,1349],{"class":1335},[84,2329,1326],{"class":131},[84,2331,781],{"class":94},[84,2333,2334],{"class":86,"line":1258},[84,2335,2038],{"class":135},[84,2337,2338,2340,2342],{"class":86,"line":1265},[84,2339,2043],{"class":135},[84,2341,1326],{"class":131},[84,2343,2048],{"class":135},[84,2345,2346,2348,2350,2353,2356,2358,2361,2363,2366,2368,2371,2373,2376],{"class":86,"line":1270},[84,2347,2053],{"class":1335},[84,2349,2056],{"class":131},[84,2351,2352],{"class":135}," [FindExecutable(",[84,2354,2355],{"class":1335},"name",[84,2357,1326],{"class":131},[84,2359,2360],{"class":94},"\"ros2\"",[84,2362,1385],{"class":135},[84,2364,2365],{"class":94},"\"topic\"",[84,2367,1391],{"class":135},[84,2369,2370],{"class":94},"\"echo\"",[84,2372,1391],{"class":135},[84,2374,2375],{"class":94},"\"\u002Fturtle1\u002Fpose\"",[84,2377,2065],{"class":135},[84,2379,2380,2382,2384,2386],{"class":86,"line":1276},[84,2381,2070],{"class":1335},[84,2383,2056],{"class":131},[84,2385,2075],{"class":94},[84,2387,1343],{"class":135},[84,2389,2390,2392,2394],{"class":86,"line":1281},[84,2391,2082],{"class":1335},[84,2393,2056],{"class":131},[84,2395,2087],{"class":104},[84,2397,2398],{"class":86,"line":1287},[84,2399,2038],{"class":135},[84,2401,2402],{"class":86,"line":1292},[84,2403,162],{"emptyLinePlaceholder":161},[84,2405,2406,2408],{"class":86,"line":1298},[84,2407,358],{"class":131},[84,2409,2102],{"class":135},[15,2411,2412],{},[18,2413],{"alt":20,"src":2414},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1177.webp",[10,2416,2418],{"id":2417},"launch_python_parameter_configuration","Launch_Python_Parameter_Configuration",[15,2420,2421],{},[18,2422],{"alt":20,"src":2423},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1178.webp",[15,2425,2426],{},[18,2427],{"alt":20,"src":2428},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1179.webp",[15,2430,2431],{},[18,2432],{"alt":20,"src":2433},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1180.webp",[15,2435,2436],{},[18,2437],{"alt":20,"src":2438},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1181.webp",[15,2440,2441],{},[18,2442],{"alt":20,"src":2443},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1182.webp",[15,2445,2446],{},[18,2447],{"alt":20,"src":2448},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1183.webp",[15,2450,2451],{},[18,2452],{"alt":20,"src":2453},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1184.webp",[15,2455,2456],{},[18,2457],{"alt":20,"src":2458},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1185.webp",[15,2460,2461],{},"If no value is passed, the turtle's red color is full, resulting in a pink background.",[15,2463,2464],{},[18,2465],{"alt":20,"src":2466},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1186.webp",[15,2468,2469],{},"Values can also be passed, such as setting backg_r:=0.",[15,2471,2472],{},"This makes the background color shift more towards blue-green.",[15,2474,2475],{},[18,2476],{"alt":20,"src":2477},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1187.webp",[15,2479,2480],{},[18,2481],{"alt":20,"src":2482},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1188.webp",[15,2484,2485],{},[18,2486],{"alt":20,"src":2487},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1189.webp",[75,2489,2491],{"className":122,"code":2490,"language":124,"meta":20,"style":20},"from launch import LaunchDescription\nfrom launch_ros.actions import Node\n\n封装终端指令相关类\nfrom launch.actions import ExecuteProcess\nfrom launch.substitutions import FindExecutable\n参数声明与获取\nfrom launch.actions import DeclareLaunchArgument\nfrom launch.substitutions import LaunchConfiguration\n文件包含相关\nfrom launch.actions import IncludeLaunchDescription\nfrom launch.launch_description_sources import PythonLaunchDescriptionSource\n分组相关\nfrom launch_ros.actions import PushRosNamespace\nfrom launch.actions import GroupAction\n事件相关\nfrom launch.event_handlers import OnProcessStart,OnProcessExit\nfrom launch.actions import ExecuteProcess,RegisterEventHandler,LogInfo\n获取功能包下share目录或路径\nfrom ament_index_python.packages import get_package_share_directory\n\ndef generate_launch_description():\n\n    bg_r = DeclareLaunchArgument(name=\"backg_r\",default_value=\"255\")\n    bg_g = DeclareLaunchArgument(name=\"backg_g\",default_value=\"255\")\n    bg_b = DeclareLaunchArgument(name=\"backg_b\",default_value=\"255\")\n    turtle = Node(\n        package=\"turtlesim\",\n        executable=\"turtlesim_node\",\n        parameters=[{\"background_r\" : LaunchConfiguration(\"backg_r\"),\"background_g\" : LaunchConfiguration(\"backg_g\"),\"background_b\" : LaunchConfiguration(\"backg_b\")}]\n    )\n    return LaunchDescription([bg_r,bg_g,bg_b,turtle])\n",[81,2492,2493,2503,2513,2517,2521,2531,2541,2545,2555,2565,2569,2579,2589,2593,2603,2613,2617,2627,2637,2641,2651,2655,2663,2667,2697,2723,2749,2757,2767,2777,2815,2819],{"__ignoreMap":20},[84,2494,2495,2497,2499,2501],{"class":86,"line":87},[84,2496,132],{"class":131},[84,2498,136],{"class":135},[84,2500,139],{"class":131},[84,2502,142],{"class":135},[84,2504,2505,2507,2509,2511],{"class":86,"line":145},[84,2506,132],{"class":131},[84,2508,150],{"class":135},[84,2510,139],{"class":131},[84,2512,155],{"class":135},[84,2514,2515],{"class":86,"line":158},[84,2516,162],{"emptyLinePlaceholder":161},[84,2518,2519],{"class":86,"line":165},[84,2520,168],{"class":135},[84,2522,2523,2525,2527,2529],{"class":86,"line":171},[84,2524,132],{"class":131},[84,2526,176],{"class":135},[84,2528,139],{"class":131},[84,2530,181],{"class":135},[84,2532,2533,2535,2537,2539],{"class":86,"line":184},[84,2534,132],{"class":131},[84,2536,189],{"class":135},[84,2538,139],{"class":131},[84,2540,194],{"class":135},[84,2542,2543],{"class":86,"line":197},[84,2544,200],{"class":135},[84,2546,2547,2549,2551,2553],{"class":86,"line":203},[84,2548,132],{"class":131},[84,2550,176],{"class":135},[84,2552,139],{"class":131},[84,2554,212],{"class":135},[84,2556,2557,2559,2561,2563],{"class":86,"line":215},[84,2558,132],{"class":131},[84,2560,189],{"class":135},[84,2562,139],{"class":131},[84,2564,224],{"class":135},[84,2566,2567],{"class":86,"line":227},[84,2568,230],{"class":135},[84,2570,2571,2573,2575,2577],{"class":86,"line":233},[84,2572,132],{"class":131},[84,2574,176],{"class":135},[84,2576,139],{"class":131},[84,2578,242],{"class":135},[84,2580,2581,2583,2585,2587],{"class":86,"line":245},[84,2582,132],{"class":131},[84,2584,250],{"class":135},[84,2586,139],{"class":131},[84,2588,255],{"class":135},[84,2590,2591],{"class":86,"line":258},[84,2592,261],{"class":135},[84,2594,2595,2597,2599,2601],{"class":86,"line":264},[84,2596,132],{"class":131},[84,2598,150],{"class":135},[84,2600,139],{"class":131},[84,2602,273],{"class":135},[84,2604,2605,2607,2609,2611],{"class":86,"line":276},[84,2606,132],{"class":131},[84,2608,176],{"class":135},[84,2610,139],{"class":131},[84,2612,285],{"class":135},[84,2614,2615],{"class":86,"line":288},[84,2616,291],{"class":135},[84,2618,2619,2621,2623,2625],{"class":86,"line":294},[84,2620,132],{"class":131},[84,2622,299],{"class":135},[84,2624,139],{"class":131},[84,2626,304],{"class":135},[84,2628,2629,2631,2633,2635],{"class":86,"line":307},[84,2630,132],{"class":131},[84,2632,176],{"class":135},[84,2634,139],{"class":131},[84,2636,316],{"class":135},[84,2638,2639],{"class":86,"line":319},[84,2640,322],{"class":135},[84,2642,2643,2645,2647,2649],{"class":86,"line":325},[84,2644,132],{"class":131},[84,2646,330],{"class":135},[84,2648,139],{"class":131},[84,2650,335],{"class":135},[84,2652,2653],{"class":86,"line":338},[84,2654,162],{"emptyLinePlaceholder":161},[84,2656,2657,2659,2661],{"class":86,"line":343},[84,2658,346],{"class":131},[84,2660,349],{"class":90},[84,2662,352],{"class":135},[84,2664,2665],{"class":86,"line":355},[84,2666,162],{"emptyLinePlaceholder":161},[84,2668,2669,2672,2674,2677,2679,2681,2684,2686,2689,2691,2694],{"class":86,"line":1244},[84,2670,2671],{"class":135},"    bg_r ",[84,2673,1326],{"class":131},[84,2675,2676],{"class":135}," DeclareLaunchArgument(",[84,2678,2355],{"class":1335},[84,2680,1326],{"class":131},[84,2682,2683],{"class":94},"\"backg_r\"",[84,2685,1391],{"class":135},[84,2687,2688],{"class":1335},"default_value",[84,2690,1326],{"class":131},[84,2692,2693],{"class":94},"\"255\"",[84,2695,2696],{"class":135},")\n",[84,2698,2699,2702,2704,2706,2708,2710,2713,2715,2717,2719,2721],{"class":86,"line":1253},[84,2700,2701],{"class":135},"    bg_g ",[84,2703,1326],{"class":131},[84,2705,2676],{"class":135},[84,2707,2355],{"class":1335},[84,2709,1326],{"class":131},[84,2711,2712],{"class":94},"\"backg_g\"",[84,2714,1391],{"class":135},[84,2716,2688],{"class":1335},[84,2718,1326],{"class":131},[84,2720,2693],{"class":94},[84,2722,2696],{"class":135},[84,2724,2725,2728,2730,2732,2734,2736,2739,2741,2743,2745,2747],{"class":86,"line":1258},[84,2726,2727],{"class":135},"    bg_b ",[84,2729,1326],{"class":131},[84,2731,2676],{"class":135},[84,2733,2355],{"class":1335},[84,2735,1326],{"class":131},[84,2737,2738],{"class":94},"\"backg_b\"",[84,2740,1391],{"class":135},[84,2742,2688],{"class":1335},[84,2744,1326],{"class":131},[84,2746,2693],{"class":94},[84,2748,2696],{"class":135},[84,2750,2751,2753,2755],{"class":86,"line":1265},[84,2752,2011],{"class":135},[84,2754,1326],{"class":131},[84,2756,1329],{"class":135},[84,2758,2759,2761,2763,2765],{"class":86,"line":1270},[84,2760,1336],{"class":1335},[84,2762,1326],{"class":131},[84,2764,675],{"class":94},[84,2766,1343],{"class":135},[84,2768,2769,2771,2773,2775],{"class":86,"line":1276},[84,2770,1349],{"class":1335},[84,2772,1326],{"class":131},[84,2774,683],{"class":94},[84,2776,1343],{"class":135},[84,2778,2779,2781,2783,2786,2789,2792,2794,2796,2799,2801,2803,2805,2808,2810,2812],{"class":86,"line":1281},[84,2780,1374],{"class":1335},[84,2782,1326],{"class":131},[84,2784,2785],{"class":135},"[{",[84,2787,2788],{"class":94},"\"background_r\"",[84,2790,2791],{"class":135}," : LaunchConfiguration(",[84,2793,2683],{"class":94},[84,2795,1385],{"class":135},[84,2797,2798],{"class":94},"\"background_g\"",[84,2800,2791],{"class":135},[84,2802,2712],{"class":94},[84,2804,1385],{"class":135},[84,2806,2807],{"class":94},"\"background_b\"",[84,2809,2791],{"class":135},[84,2811,2738],{"class":94},[84,2813,2814],{"class":135},")}]\n",[84,2816,2817],{"class":86,"line":1287},[84,2818,2038],{"class":135},[84,2820,2821,2823],{"class":86,"line":1292},[84,2822,358],{"class":131},[84,2824,2825],{"class":135}," LaunchDescription([bg_r,bg_g,bg_b,turtle])\n",[10,2827,2829],{"id":2828},"launch_python_file_inclusion","Launch_Python_file_inclusion",[15,2831,2832],{},[18,2833],{"alt":20,"src":2834},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1190.webp",[15,2836,2837],{},"Suppose I want to write a launch file related to robot startup. In this launch file, I may need to start the LiDAR, start the IMU, start the chassis, and so on. We need to include all these launch files into the robot startup launch file.",[15,2839,2840],{},[18,2841],{"alt":20,"src":2842},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1191.webp",[15,2844,2845],{},[18,2846],{"alt":20,"src":2847},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1192.webp",[15,2849,2850],{},[18,2851],{"alt":20,"src":2852},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1193.webp",[15,2854,2855],{},"This value is an object encapsulated from the included launch file.",[15,2857,2858],{},"The class corresponding to this object is PythonLaunchDescriptionSource.",[15,2860,2861],{},"You also need to set a parameter inside the class.",[15,2863,2864],{},[18,2865],{"alt":20,"src":2866},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1194.webp",[15,2868,2869],{},"This parameter is launch_file_path, which represents the file path.",[15,2871,2872],{},[18,2873],{"alt":20,"src":2874},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1195.webp",[15,2876,2877],{},[18,2878],{"alt":20,"src":2879},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1196.webp",[15,2881,2882],{},"It is recommended to use this to obtain the path.",[15,2884,2885],{},[18,2886],{"alt":20,"src":2887},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1197.webp",[15,2889,2890],{},[18,2891],{"alt":20,"src":2892},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1198.webp",[15,2894,2895],{},[18,2896],{"alt":20,"src":2897},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1199.webp",[15,2899,2900],{},[18,2901],{"alt":20,"src":2902},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1200.webp",[15,2904,2905],{},[18,2906],{"alt":20,"src":2907},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1201.webp",[15,2909,2910],{},"You can also pass parameters to it.",[15,2912,2913],{},[18,2914],{"alt":20,"src":2915},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1202.webp",[15,2917,2918],{},[18,2919],{"alt":20,"src":2920},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1203.webp",[15,2922,2923],{},[18,2924],{"alt":20,"src":2925},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1204.webp",[75,2927,2929],{"className":122,"code":2928,"language":124,"meta":20,"style":20},"from launch import LaunchDescription\nfrom launch_ros.actions import Node\n\n封装终端指令相关类\nfrom launch.actions import ExecuteProcess\nfrom launch.substitutions import FindExecutable\n参数声明与获取\nfrom launch.actions import DeclareLaunchArgument\nfrom launch.substitutions import LaunchConfiguration\n文件包含相关\nfrom launch.actions import IncludeLaunchDescription\nfrom launch.launch_description_sources import PythonLaunchDescriptionSource\n分组相关\nfrom launch_ros.actions import PushRosNamespace\nfrom launch.actions import GroupAction\n事件相关\nfrom launch.event_handlers import OnProcessStart,OnProcessExit\nfrom launch.actions import ExecuteProcess,RegisterEventHandler,LogInfo\n获取功能包下share目录或路径\nfrom ament_index_python.packages import get_package_share_directory\n\nimport os\n\ndef generate_launch_description():\n    include = IncludeLaunchDescription(\n        launch_description_source=PythonLaunchDescriptionSource(\n            launch_file_path=os.path.join(\n                get_package_share_directory(\"cpp01_launch\"),\n                \"launch\u002Fpy\",\n                \"py04_args_launch.py\"\n            )\n        ),\n        launch_arguments=[(\"backg_r\",\"80\"),(\"backg_g\",\"10\"),(\"backg_b\",\"200\")]\n    )\n    return LaunchDescription([include])\n",[81,2930,2931,2941,2951,2955,2959,2969,2979,2983,2993,3003,3007,3017,3027,3031,3041,3051,3055,3065,3075,3079,3089,3093,3099,3103,3111,3121,3131,3141,3151,3158,3163,3168,3173,3211,3215],{"__ignoreMap":20},[84,2932,2933,2935,2937,2939],{"class":86,"line":87},[84,2934,132],{"class":131},[84,2936,136],{"class":135},[84,2938,139],{"class":131},[84,2940,142],{"class":135},[84,2942,2943,2945,2947,2949],{"class":86,"line":145},[84,2944,132],{"class":131},[84,2946,150],{"class":135},[84,2948,139],{"class":131},[84,2950,155],{"class":135},[84,2952,2953],{"class":86,"line":158},[84,2954,162],{"emptyLinePlaceholder":161},[84,2956,2957],{"class":86,"line":165},[84,2958,168],{"class":135},[84,2960,2961,2963,2965,2967],{"class":86,"line":171},[84,2962,132],{"class":131},[84,2964,176],{"class":135},[84,2966,139],{"class":131},[84,2968,181],{"class":135},[84,2970,2971,2973,2975,2977],{"class":86,"line":184},[84,2972,132],{"class":131},[84,2974,189],{"class":135},[84,2976,139],{"class":131},[84,2978,194],{"class":135},[84,2980,2981],{"class":86,"line":197},[84,2982,200],{"class":135},[84,2984,2985,2987,2989,2991],{"class":86,"line":203},[84,2986,132],{"class":131},[84,2988,176],{"class":135},[84,2990,139],{"class":131},[84,2992,212],{"class":135},[84,2994,2995,2997,2999,3001],{"class":86,"line":215},[84,2996,132],{"class":131},[84,2998,189],{"class":135},[84,3000,139],{"class":131},[84,3002,224],{"class":135},[84,3004,3005],{"class":86,"line":227},[84,3006,230],{"class":135},[84,3008,3009,3011,3013,3015],{"class":86,"line":233},[84,3010,132],{"class":131},[84,3012,176],{"class":135},[84,3014,139],{"class":131},[84,3016,242],{"class":135},[84,3018,3019,3021,3023,3025],{"class":86,"line":245},[84,3020,132],{"class":131},[84,3022,250],{"class":135},[84,3024,139],{"class":131},[84,3026,255],{"class":135},[84,3028,3029],{"class":86,"line":258},[84,3030,261],{"class":135},[84,3032,3033,3035,3037,3039],{"class":86,"line":264},[84,3034,132],{"class":131},[84,3036,150],{"class":135},[84,3038,139],{"class":131},[84,3040,273],{"class":135},[84,3042,3043,3045,3047,3049],{"class":86,"line":276},[84,3044,132],{"class":131},[84,3046,176],{"class":135},[84,3048,139],{"class":131},[84,3050,285],{"class":135},[84,3052,3053],{"class":86,"line":288},[84,3054,291],{"class":135},[84,3056,3057,3059,3061,3063],{"class":86,"line":294},[84,3058,132],{"class":131},[84,3060,299],{"class":135},[84,3062,139],{"class":131},[84,3064,304],{"class":135},[84,3066,3067,3069,3071,3073],{"class":86,"line":307},[84,3068,132],{"class":131},[84,3070,176],{"class":135},[84,3072,139],{"class":131},[84,3074,316],{"class":135},[84,3076,3077],{"class":86,"line":319},[84,3078,322],{"class":135},[84,3080,3081,3083,3085,3087],{"class":86,"line":325},[84,3082,132],{"class":131},[84,3084,330],{"class":135},[84,3086,139],{"class":131},[84,3088,335],{"class":135},[84,3090,3091],{"class":86,"line":338},[84,3092,162],{"emptyLinePlaceholder":161},[84,3094,3095,3097],{"class":86,"line":343},[84,3096,139],{"class":131},[84,3098,1237],{"class":135},[84,3100,3101],{"class":86,"line":355},[84,3102,162],{"emptyLinePlaceholder":161},[84,3104,3105,3107,3109],{"class":86,"line":1244},[84,3106,346],{"class":131},[84,3108,349],{"class":90},[84,3110,352],{"class":135},[84,3112,3113,3116,3118],{"class":86,"line":1253},[84,3114,3115],{"class":135},"    include ",[84,3117,1326],{"class":131},[84,3119,3120],{"class":135}," IncludeLaunchDescription(\n",[84,3122,3123,3126,3128],{"class":86,"line":1258},[84,3124,3125],{"class":1335},"        launch_description_source",[84,3127,1326],{"class":131},[84,3129,3130],{"class":135},"PythonLaunchDescriptionSource(\n",[84,3132,3133,3136,3138],{"class":86,"line":1265},[84,3134,3135],{"class":1335},"            launch_file_path",[84,3137,1326],{"class":131},[84,3139,3140],{"class":135},"os.path.join(\n",[84,3142,3143,3146,3148],{"class":86,"line":1270},[84,3144,3145],{"class":135},"                get_package_share_directory(",[84,3147,1382],{"class":94},[84,3149,3150],{"class":135},"),\n",[84,3152,3153,3156],{"class":86,"line":1276},[84,3154,3155],{"class":94},"                \"launch\u002Fpy\"",[84,3157,1343],{"class":135},[84,3159,3160],{"class":86,"line":1281},[84,3161,3162],{"class":94},"                \"py04_args_launch.py\"\n",[84,3164,3165],{"class":86,"line":1287},[84,3166,3167],{"class":135},"            )\n",[84,3169,3170],{"class":86,"line":1292},[84,3171,3172],{"class":135},"        ),\n",[84,3174,3175,3178,3180,3183,3185,3187,3190,3193,3195,3197,3200,3202,3204,3206,3209],{"class":86,"line":1298},[84,3176,3177],{"class":1335},"        launch_arguments",[84,3179,1326],{"class":131},[84,3181,3182],{"class":135},"[(",[84,3184,2683],{"class":94},[84,3186,1391],{"class":135},[84,3188,3189],{"class":94},"\"80\"",[84,3191,3192],{"class":135},"),(",[84,3194,2712],{"class":94},[84,3196,1391],{"class":135},[84,3198,3199],{"class":94},"\"10\"",[84,3201,3192],{"class":135},[84,3203,2738],{"class":94},[84,3205,1391],{"class":135},[84,3207,3208],{"class":94},"\"200\"",[84,3210,1397],{"class":135},[84,3212,3213],{"class":86,"line":1303},[84,3214,2038],{"class":135},[84,3216,3217,3219],{"class":86,"line":1309},[84,3218,358],{"class":131},[84,3220,3221],{"class":135}," LaunchDescription([include])\n",[10,3223,3225],{"id":3224},"launch_python_group_settings","Launch_Python_Group_Settings",[15,3227,3228],{},[18,3229],{"alt":20,"src":3230},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1205.webp",[15,3232,3233],{},[18,3234],{"alt":20,"src":3235},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1206.webp",[15,3237,3238],{},[18,3239],{"alt":20,"src":3240},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1207.webp",[15,3242,3243],{},[18,3244],{"alt":20,"src":3245},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1208.webp",[15,3247,3248],{},[18,3249],{"alt":20,"src":3250},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1209.webp",[15,3252,3253],{},[18,3254],{"alt":20,"src":3255},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1210.webp",[15,3257,3258],{},[18,3259],{"alt":20,"src":3260},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1211.webp",[75,3262,3264],{"className":122,"code":3263,"language":124,"meta":20,"style":20},"from launch import LaunchDescription\nfrom launch_ros.actions import Node\n\n封装终端指令相关类\nfrom launch.actions import ExecuteProcess\nfrom launch.substitutions import FindExecutable\n参数声明与获取\nfrom launch.actions import DeclareLaunchArgument\nfrom launch.substitutions import LaunchConfiguration\n文件包含相关\nfrom launch.actions import IncludeLaunchDescription\nfrom launch.launch_description_sources import PythonLaunchDescriptionSource\n分组相关\nfrom launch_ros.actions import PushRosNamespace\nfrom launch.actions import GroupAction\n事件相关\nfrom launch.event_handlers import OnProcessStart,OnProcessExit\nfrom launch.actions import ExecuteProcess,RegisterEventHandler,LogInfo\n获取功能包下share目录或路径\nfrom ament_index_python.packages import get_package_share_directory\n\ndef generate_launch_description():\n    turtle1 = Node(\n    package=\"turtlesim\",\n    executable=\"turtlesim_node\",\n    name=\"t1\"\n    )\n    turtle2 = Node(\n    package=\"turtlesim\",\n    executable=\"turtlesim_node\",\n    name=\"t2\"\n    )\n    turtle3 = Node(\n    package=\"turtlesim\",\n    executable=\"turtlesim_node\",\n    name=\"t3\"\n    )\n\n    group1 = GroupAction(actions=[PushRosNamespace(\"g1\"),turtle1,turtle2])\n    group2 = GroupAction(actions=[PushRosNamespace(\"g2\"),turtle3])\n\n    return LaunchDescription([group1,group2])\n",[81,3265,3266,3276,3286,3290,3294,3304,3314,3318,3328,3338,3342,3352,3362,3366,3376,3386,3390,3400,3410,3414,3424,3428,3436,3445,3456,3467,3476,3480,3488,3498,3508,3516,3520,3529,3539,3549,3558,3562,3566,3590,3611,3615],{"__ignoreMap":20},[84,3267,3268,3270,3272,3274],{"class":86,"line":87},[84,3269,132],{"class":131},[84,3271,136],{"class":135},[84,3273,139],{"class":131},[84,3275,142],{"class":135},[84,3277,3278,3280,3282,3284],{"class":86,"line":145},[84,3279,132],{"class":131},[84,3281,150],{"class":135},[84,3283,139],{"class":131},[84,3285,155],{"class":135},[84,3287,3288],{"class":86,"line":158},[84,3289,162],{"emptyLinePlaceholder":161},[84,3291,3292],{"class":86,"line":165},[84,3293,168],{"class":135},[84,3295,3296,3298,3300,3302],{"class":86,"line":171},[84,3297,132],{"class":131},[84,3299,176],{"class":135},[84,3301,139],{"class":131},[84,3303,181],{"class":135},[84,3305,3306,3308,3310,3312],{"class":86,"line":184},[84,3307,132],{"class":131},[84,3309,189],{"class":135},[84,3311,139],{"class":131},[84,3313,194],{"class":135},[84,3315,3316],{"class":86,"line":197},[84,3317,200],{"class":135},[84,3319,3320,3322,3324,3326],{"class":86,"line":203},[84,3321,132],{"class":131},[84,3323,176],{"class":135},[84,3325,139],{"class":131},[84,3327,212],{"class":135},[84,3329,3330,3332,3334,3336],{"class":86,"line":215},[84,3331,132],{"class":131},[84,3333,189],{"class":135},[84,3335,139],{"class":131},[84,3337,224],{"class":135},[84,3339,3340],{"class":86,"line":227},[84,3341,230],{"class":135},[84,3343,3344,3346,3348,3350],{"class":86,"line":233},[84,3345,132],{"class":131},[84,3347,176],{"class":135},[84,3349,139],{"class":131},[84,3351,242],{"class":135},[84,3353,3354,3356,3358,3360],{"class":86,"line":245},[84,3355,132],{"class":131},[84,3357,250],{"class":135},[84,3359,139],{"class":131},[84,3361,255],{"class":135},[84,3363,3364],{"class":86,"line":258},[84,3365,261],{"class":135},[84,3367,3368,3370,3372,3374],{"class":86,"line":264},[84,3369,132],{"class":131},[84,3371,150],{"class":135},[84,3373,139],{"class":131},[84,3375,273],{"class":135},[84,3377,3378,3380,3382,3384],{"class":86,"line":276},[84,3379,132],{"class":131},[84,3381,176],{"class":135},[84,3383,139],{"class":131},[84,3385,285],{"class":135},[84,3387,3388],{"class":86,"line":288},[84,3389,291],{"class":135},[84,3391,3392,3394,3396,3398],{"class":86,"line":294},[84,3393,132],{"class":131},[84,3395,299],{"class":135},[84,3397,139],{"class":131},[84,3399,304],{"class":135},[84,3401,3402,3404,3406,3408],{"class":86,"line":307},[84,3403,132],{"class":131},[84,3405,176],{"class":135},[84,3407,139],{"class":131},[84,3409,316],{"class":135},[84,3411,3412],{"class":86,"line":319},[84,3413,322],{"class":135},[84,3415,3416,3418,3420,3422],{"class":86,"line":325},[84,3417,132],{"class":131},[84,3419,330],{"class":135},[84,3421,139],{"class":131},[84,3423,335],{"class":135},[84,3425,3426],{"class":86,"line":338},[84,3427,162],{"emptyLinePlaceholder":161},[84,3429,3430,3432,3434],{"class":86,"line":343},[84,3431,346],{"class":131},[84,3433,349],{"class":90},[84,3435,352],{"class":135},[84,3437,3438,3441,3443],{"class":86,"line":355},[84,3439,3440],{"class":135},"    turtle1 ",[84,3442,1326],{"class":131},[84,3444,1329],{"class":135},[84,3446,3447,3450,3452,3454],{"class":86,"line":1244},[84,3448,3449],{"class":1335},"    package",[84,3451,1326],{"class":131},[84,3453,675],{"class":94},[84,3455,1343],{"class":135},[84,3457,3458,3461,3463,3465],{"class":86,"line":1253},[84,3459,3460],{"class":1335},"    executable",[84,3462,1326],{"class":131},[84,3464,683],{"class":94},[84,3466,1343],{"class":135},[84,3468,3469,3472,3474],{"class":86,"line":1258},[84,3470,3471],{"class":1335},"    name",[84,3473,1326],{"class":131},[84,3475,791],{"class":94},[84,3477,3478],{"class":86,"line":1265},[84,3479,2038],{"class":135},[84,3481,3482,3484,3486],{"class":86,"line":1270},[84,3483,1323],{"class":135},[84,3485,1326],{"class":131},[84,3487,1329],{"class":135},[84,3489,3490,3492,3494,3496],{"class":86,"line":1276},[84,3491,3449],{"class":1335},[84,3493,1326],{"class":131},[84,3495,675],{"class":94},[84,3497,1343],{"class":135},[84,3499,3500,3502,3504,3506],{"class":86,"line":1281},[84,3501,3460],{"class":1335},[84,3503,1326],{"class":131},[84,3505,683],{"class":94},[84,3507,1343],{"class":135},[84,3509,3510,3512,3514],{"class":86,"line":1287},[84,3511,3471],{"class":1335},[84,3513,1326],{"class":131},[84,3515,822],{"class":94},[84,3517,3518],{"class":86,"line":1292},[84,3519,2038],{"class":135},[84,3521,3522,3525,3527],{"class":86,"line":1298},[84,3523,3524],{"class":135},"    turtle3 ",[84,3526,1326],{"class":131},[84,3528,1329],{"class":135},[84,3530,3531,3533,3535,3537],{"class":86,"line":1303},[84,3532,3449],{"class":1335},[84,3534,1326],{"class":131},[84,3536,675],{"class":94},[84,3538,1343],{"class":135},[84,3540,3541,3543,3545,3547],{"class":86,"line":1309},[84,3542,3460],{"class":1335},[84,3544,1326],{"class":131},[84,3546,683],{"class":94},[84,3548,1343],{"class":135},[84,3550,3551,3553,3555],{"class":86,"line":1314},[84,3552,3471],{"class":1335},[84,3554,1326],{"class":131},[84,3556,3557],{"class":94},"\"t3\"\n",[84,3559,3560],{"class":86,"line":1320},[84,3561,2038],{"class":135},[84,3563,3564],{"class":86,"line":1332},[84,3565,162],{"emptyLinePlaceholder":161},[84,3567,3568,3571,3573,3576,3579,3581,3584,3587],{"class":86,"line":1346},[84,3569,3570],{"class":135},"    group1 ",[84,3572,1326],{"class":131},[84,3574,3575],{"class":135}," GroupAction(",[84,3577,3578],{"class":1335},"actions",[84,3580,1326],{"class":131},[84,3582,3583],{"class":135},"[PushRosNamespace(",[84,3585,3586],{"class":94},"\"g1\"",[84,3588,3589],{"class":135},"),turtle1,turtle2])\n",[84,3591,3592,3595,3597,3599,3601,3603,3605,3608],{"class":86,"line":1358},[84,3593,3594],{"class":135},"    group2 ",[84,3596,1326],{"class":131},[84,3598,3575],{"class":135},[84,3600,3578],{"class":1335},[84,3602,1326],{"class":131},[84,3604,3583],{"class":135},[84,3606,3607],{"class":94},"\"g2\"",[84,3609,3610],{"class":135},"),turtle3])\n",[84,3612,3613],{"class":86,"line":1371},[84,3614,162],{"emptyLinePlaceholder":161},[84,3616,3617,3619],{"class":86,"line":1400},[84,3618,358],{"class":131},[84,3620,3621],{"class":135}," LaunchDescription([group1,group2])\n",[10,3623,3625],{"id":3624},"event-setup-for-launch_python","Event setup for Launch_Python",[15,3627,3628],{},[18,3629],{"alt":20,"src":3630},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1212.webp",[15,3632,3633],{},[18,3634],{"alt":20,"src":3635},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1213.webp",[15,3637,3638],{},"The first is mainly used to register events, the second is to start events, and the third is for node exit.",[15,3640,3641],{},[18,3642],{"alt":20,"src":3643},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1214.webp",[26,3645],{},[15,3647,3648],{},[18,3649],{"alt":20,"src":3650},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1215.webp",[15,3652,3653],{},[18,3654],{"alt":20,"src":3655},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1216.webp",[15,3657,3658],{},[18,3659],{"alt":20,"src":3660},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1217.webp",[15,3662,3663],{},"This is the command to spawn a new turtle in the terminal.",[15,3665,3666],{},[18,3667],{"alt":20,"src":3668},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1218.webp",[15,3670,3671],{},[18,3672],{"alt":20,"src":3673},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1219.webp",[15,3675,3676],{},[18,3677],{"alt":20,"src":3678},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1220.webp",[15,3680,3681],{},[18,3682],{"alt":20,"src":3683},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1221.webp",[15,3685,3686],{},"The first parameter is used to register for which event.",[15,3688,3689],{},[18,3690],{"alt":20,"src":3691},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1222.webp",[15,3693,3694],{},"target_action is the event source, and you need to register events for which node.",[15,3696,3697],{},"On_start waits for an event to be triggered—what operations do you want to perform?",[15,3699,3700],{},[18,3701],{"alt":20,"src":3702},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1223.webp",[15,3704,3705],{},[18,3706],{"alt":20,"src":3707},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1224.webp",[15,3709,3710],{},[18,3711],{"alt":20,"src":3712},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1225.webp",[15,3714,3715],{},[18,3716],{"alt":20,"src":3717},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1226.webp",[75,3719,3721],{"className":122,"code":3720,"language":124,"meta":20,"style":20},"from launch import LaunchDescription\nfrom launch_ros.actions import Node\n\n封装终端指令相关类\nfrom launch.actions import ExecuteProcess\nfrom launch.substitutions import FindExecutable\n参数声明与获取\nfrom launch.actions import DeclareLaunchArgument\nfrom launch.substitutions import LaunchConfiguration\n文件包含相关\nfrom launch.actions import IncludeLaunchDescription\nfrom launch.launch_description_sources import PythonLaunchDescriptionSource\n分组相关\nfrom launch_ros.actions import PushRosNamespace\nfrom launch.actions import GroupAction\n事件相关\nfrom launch.event_handlers import OnProcessStart,OnProcessExit\nfrom launch.actions import ExecuteProcess,RegisterEventHandler,LogInfo\n获取功能包下share目录或路径\nfrom ament_index_python.packages import get_package_share_directory\n\ndef generate_launch_description():\n    turtle = Node(\n    package=\"turtlesim\",\n    executable=\"turtlesim_node\",\n    )\n    spawn = ExecuteProcess(\n        cmd=[\"ros2 service call \u002Fspawn turtlesim\u002Fsrv\u002FSpawn \\\"{'x': 8.0,'y': 3.0}\\\"\"],\n        output=\"both\",\n        shell=True\n    )\n\n    event_start = RegisterEventHandler(\n        event_handler=OnProcessStart(\n            target_action=turtle,\n            on_start=spawn\n        )\n    )\n\n    event_exit = RegisterEventHandler(\n        event_handler=OnProcessExit(\n            target_action=turtle,\n            on_exit=[LogInfo(msg=\"turtlesim_node:退出！\")]\n        )\n    )\n    return LaunchDescription([turtle,event_start,event_exit])\n",[81,3722,3723,3733,3743,3747,3751,3761,3771,3775,3785,3795,3799,3809,3819,3823,3833,3843,3847,3857,3867,3871,3881,3885,3893,3901,3911,3921,3925,3934,3959,3970,3978,3982,3986,3996,4006,4016,4026,4030,4034,4038,4047,4056,4064,4084,4088,4092],{"__ignoreMap":20},[84,3724,3725,3727,3729,3731],{"class":86,"line":87},[84,3726,132],{"class":131},[84,3728,136],{"class":135},[84,3730,139],{"class":131},[84,3732,142],{"class":135},[84,3734,3735,3737,3739,3741],{"class":86,"line":145},[84,3736,132],{"class":131},[84,3738,150],{"class":135},[84,3740,139],{"class":131},[84,3742,155],{"class":135},[84,3744,3745],{"class":86,"line":158},[84,3746,162],{"emptyLinePlaceholder":161},[84,3748,3749],{"class":86,"line":165},[84,3750,168],{"class":135},[84,3752,3753,3755,3757,3759],{"class":86,"line":171},[84,3754,132],{"class":131},[84,3756,176],{"class":135},[84,3758,139],{"class":131},[84,3760,181],{"class":135},[84,3762,3763,3765,3767,3769],{"class":86,"line":184},[84,3764,132],{"class":131},[84,3766,189],{"class":135},[84,3768,139],{"class":131},[84,3770,194],{"class":135},[84,3772,3773],{"class":86,"line":197},[84,3774,200],{"class":135},[84,3776,3777,3779,3781,3783],{"class":86,"line":203},[84,3778,132],{"class":131},[84,3780,176],{"class":135},[84,3782,139],{"class":131},[84,3784,212],{"class":135},[84,3786,3787,3789,3791,3793],{"class":86,"line":215},[84,3788,132],{"class":131},[84,3790,189],{"class":135},[84,3792,139],{"class":131},[84,3794,224],{"class":135},[84,3796,3797],{"class":86,"line":227},[84,3798,230],{"class":135},[84,3800,3801,3803,3805,3807],{"class":86,"line":233},[84,3802,132],{"class":131},[84,3804,176],{"class":135},[84,3806,139],{"class":131},[84,3808,242],{"class":135},[84,3810,3811,3813,3815,3817],{"class":86,"line":245},[84,3812,132],{"class":131},[84,3814,250],{"class":135},[84,3816,139],{"class":131},[84,3818,255],{"class":135},[84,3820,3821],{"class":86,"line":258},[84,3822,261],{"class":135},[84,3824,3825,3827,3829,3831],{"class":86,"line":264},[84,3826,132],{"class":131},[84,3828,150],{"class":135},[84,3830,139],{"class":131},[84,3832,273],{"class":135},[84,3834,3835,3837,3839,3841],{"class":86,"line":276},[84,3836,132],{"class":131},[84,3838,176],{"class":135},[84,3840,139],{"class":131},[84,3842,285],{"class":135},[84,3844,3845],{"class":86,"line":288},[84,3846,291],{"class":135},[84,3848,3849,3851,3853,3855],{"class":86,"line":294},[84,3850,132],{"class":131},[84,3852,299],{"class":135},[84,3854,139],{"class":131},[84,3856,304],{"class":135},[84,3858,3859,3861,3863,3865],{"class":86,"line":307},[84,3860,132],{"class":131},[84,3862,176],{"class":135},[84,3864,139],{"class":131},[84,3866,316],{"class":135},[84,3868,3869],{"class":86,"line":319},[84,3870,322],{"class":135},[84,3872,3873,3875,3877,3879],{"class":86,"line":325},[84,3874,132],{"class":131},[84,3876,330],{"class":135},[84,3878,139],{"class":131},[84,3880,335],{"class":135},[84,3882,3883],{"class":86,"line":338},[84,3884,162],{"emptyLinePlaceholder":161},[84,3886,3887,3889,3891],{"class":86,"line":343},[84,3888,346],{"class":131},[84,3890,349],{"class":90},[84,3892,352],{"class":135},[84,3894,3895,3897,3899],{"class":86,"line":355},[84,3896,2011],{"class":135},[84,3898,1326],{"class":131},[84,3900,1329],{"class":135},[84,3902,3903,3905,3907,3909],{"class":86,"line":1244},[84,3904,3449],{"class":1335},[84,3906,1326],{"class":131},[84,3908,675],{"class":94},[84,3910,1343],{"class":135},[84,3912,3913,3915,3917,3919],{"class":86,"line":1253},[84,3914,3460],{"class":1335},[84,3916,1326],{"class":131},[84,3918,683],{"class":94},[84,3920,1343],{"class":135},[84,3922,3923],{"class":86,"line":1258},[84,3924,2038],{"class":135},[84,3926,3927,3930,3932],{"class":86,"line":1265},[84,3928,3929],{"class":135},"    spawn ",[84,3931,1326],{"class":131},[84,3933,2048],{"class":135},[84,3935,3936,3938,3940,3943,3946,3949,3952,3954,3957],{"class":86,"line":1270},[84,3937,2053],{"class":1335},[84,3939,1326],{"class":131},[84,3941,3942],{"class":135},"[",[84,3944,3945],{"class":94},"\"ros2 service call \u002Fspawn turtlesim\u002Fsrv\u002FSpawn ",[84,3947,3948],{"class":104},"\\\"",[84,3950,3951],{"class":94},"{'x': 8.0,'y': 3.0}",[84,3953,3948],{"class":104},[84,3955,3956],{"class":94},"\"",[84,3958,2065],{"class":135},[84,3960,3961,3963,3965,3968],{"class":86,"line":1276},[84,3962,2070],{"class":1335},[84,3964,1326],{"class":131},[84,3966,3967],{"class":94},"\"both\"",[84,3969,1343],{"class":135},[84,3971,3972,3974,3976],{"class":86,"line":1281},[84,3973,2082],{"class":1335},[84,3975,1326],{"class":131},[84,3977,1758],{"class":104},[84,3979,3980],{"class":86,"line":1287},[84,3981,2038],{"class":135},[84,3983,3984],{"class":86,"line":1292},[84,3985,162],{"emptyLinePlaceholder":161},[84,3987,3988,3991,3993],{"class":86,"line":1298},[84,3989,3990],{"class":135},"    event_start ",[84,3992,1326],{"class":131},[84,3994,3995],{"class":135}," RegisterEventHandler(\n",[84,3997,3998,4001,4003],{"class":86,"line":1303},[84,3999,4000],{"class":1335},"        event_handler",[84,4002,1326],{"class":131},[84,4004,4005],{"class":135},"OnProcessStart(\n",[84,4007,4008,4011,4013],{"class":86,"line":1309},[84,4009,4010],{"class":1335},"            target_action",[84,4012,1326],{"class":131},[84,4014,4015],{"class":135},"turtle,\n",[84,4017,4018,4021,4023],{"class":86,"line":1314},[84,4019,4020],{"class":1335},"            on_start",[84,4022,1326],{"class":131},[84,4024,4025],{"class":135},"spawn\n",[84,4027,4028],{"class":86,"line":1320},[84,4029,1403],{"class":135},[84,4031,4032],{"class":86,"line":1332},[84,4033,2038],{"class":135},[84,4035,4036],{"class":86,"line":1346},[84,4037,162],{"emptyLinePlaceholder":161},[84,4039,4040,4043,4045],{"class":86,"line":1358},[84,4041,4042],{"class":135},"    event_exit ",[84,4044,1326],{"class":131},[84,4046,3995],{"class":135},[84,4048,4049,4051,4053],{"class":86,"line":1371},[84,4050,4000],{"class":1335},[84,4052,1326],{"class":131},[84,4054,4055],{"class":135},"OnProcessExit(\n",[84,4057,4058,4060,4062],{"class":86,"line":1400},[84,4059,4010],{"class":1335},[84,4061,1326],{"class":131},[84,4063,4015],{"class":135},[84,4065,4066,4069,4071,4074,4077,4079,4082],{"class":86,"line":1406},[84,4067,4068],{"class":1335},"            on_exit",[84,4070,1326],{"class":131},[84,4072,4073],{"class":135},"[LogInfo(",[84,4075,4076],{"class":1335},"msg",[84,4078,1326],{"class":131},[84,4080,4081],{"class":94},"\"turtlesim_node:退出！\"",[84,4083,1397],{"class":135},[84,4085,4086],{"class":86,"line":1722},[84,4087,1403],{"class":135},[84,4089,4090],{"class":86,"line":1728},[84,4091,2038],{"class":135},[84,4093,4094,4096],{"class":86,"line":1750},[84,4095,358],{"class":131},[84,4097,4098],{"class":135}," LaunchDescription([turtle,event_start,event_exit])\n",[15,4100,4101],{},[18,4102],{"alt":20,"src":4103},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1227.webp",[15,4105,4106,4109],{},[81,4107,4108],{},"on_exit"," can either create an object directly or be placed in a list.",[15,4111,4112],{},"You can just learn the Python version of Launch. It's fine to have a general understanding of the XML and YAML versions of Launch — just write the Python version yourself. When you need to use Launch files from someone else's open-source package, even if they're in XML or YAML format, it generally won't affect normal usage.",[10,4114,4116],{"id":4115},"launch_xml_yaml_node","Launch_XML_YAML_Node",[10,4118,4120],{"id":4119},"launch_xml_yaml_execute_commands","Launch_XML_YAML_execute_commands",[10,4122,4124],{"id":4123},"launch_xml_yaml_parameter_settings","Launch_XML_YAML_Parameter_Settings",[10,4126,4128],{"id":4127},"launch_xml_yaml_group_settings","Launch_XML_YAML_Group_Settings",[10,4130,4132],{"id":4131},"launch-xml-and-yaml-file-includes","Launch XML and YAML file includes",[4134,4135,4136],"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 .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 .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}",{"title":20,"searchDepth":145,"depth":145,"links":4138},[4139,4140,4141,4142,4143,4144,4145,4146,4147,4148,4149,4150,4151],{"id":12,"depth":158,"text":13},{"id":364,"depth":158,"text":365},{"id":848,"depth":158,"text":849},{"id":1781,"depth":158,"text":1782},{"id":2417,"depth":158,"text":2418},{"id":2828,"depth":158,"text":2829},{"id":3224,"depth":158,"text":3225},{"id":3624,"depth":158,"text":3625},{"id":4115,"depth":158,"text":4116},{"id":4119,"depth":158,"text":4120},{"id":4123,"depth":158,"text":4124},{"id":4127,"depth":158,"text":4128},{"id":4131,"depth":158,"text":4132},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0600-launch",0,"0600","2023-12-30","wiki\u002F2023-12-30-ros2-tutorial","en-us:2023-12-30-ros2-tutorial","\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial","Ros2 Tutorial","md","wiki\u002F2023-12-30-ros2-tutorial\u002F0600-Launch",false,null,"en-US","en-us",{},{"title":5,"description":20},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0600-launch","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0600-Launch","v7hD1x32A2s0zpCoH_NZ4rJC6aKZTD1JPhcPZ164ip0",[4172,4177,4182,4187,4192,4197,4198,4203,4208,4213,4218,4223,4228,4233,4238,4243,4248,4253,4258,4263,4268,4273,4278,4283,4288,4293,4297,4302,4306,4311,4316,4321,4326,4331,4336,4341,4346,4351,4356,4361,4366,4371,4376,4381,4386,4391,4396,4401,4406,4411,4416,4421,4426,4431,4436,4441,4446,4451,4456,4461],{"path":4173,"stem":4174,"title":4175,"date":4155,"chapterOrder":4176,"chapterDepth":4153,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0100-ros2-jie-shao","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0100-ROS2介绍","Introduction to ROS2","0100",{"path":4178,"stem":4179,"title":4180,"date":4155,"chapterOrder":4181,"chapterDepth":4153,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0200-ru-men-cao-zuo","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0200-入门操作","Getting Started","0200",{"path":4183,"stem":4184,"title":4185,"date":4155,"chapterOrder":4186,"chapterDepth":4153,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0300-gong-zuo-kong-jian-yu-gong-neng-bao","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0300-工作空间与功能包","Workspace and Function Packages","0300",{"path":4188,"stem":4189,"title":4190,"date":4155,"chapterOrder":4191,"chapterDepth":4153,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0400-si-da-tong-xin","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0400-四大通信","Four Major Communications","0400",{"path":4193,"stem":4194,"title":4195,"date":4155,"chapterOrder":4196,"chapterDepth":4153,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0500-ros2-qi-ta-tong-xin-ji-zhi","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0500-ROS2其他通信机制","ROS2 Other Communication Mechanisms","0500",{"path":4152,"stem":4169,"title":5,"date":4155,"chapterOrder":4154,"chapterDepth":4153,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},{"path":4199,"stem":4200,"title":4201,"date":4155,"chapterOrder":4202,"chapterDepth":4153,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0700-hui-su-rosbag2","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0700-回溯rosbag2","Replaying rosbag2","0700",{"path":4204,"stem":4205,"title":4206,"date":4155,"chapterOrder":4207,"chapterDepth":4153,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0800-zuo-biao-bian-huan-tf","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0800-坐标变换TF","Coordinate Transformation TF","0800",{"path":4209,"stem":4210,"title":4211,"date":4155,"chapterOrder":4212,"chapterDepth":4153,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0900-ke-shi-hua-ping-tai-rviz2-yu-urdf-jian-mo-yu-yan","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0900-可视化平台RVIZ2与URDF建模语言","Visualization Platform RVIZ2 and URDF Modeling Language","0900",{"path":4214,"stem":4215,"title":4216,"date":4155,"chapterOrder":4217,"chapterDepth":4153,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1000-stage-ros2-fang-zhen-ping-tai","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1000-Stage_Ros2仿真平台","Stage_Ros2 Simulation Platform","1000",{"path":4219,"stem":4220,"title":4221,"date":4155,"chapterOrder":4222,"chapterDepth":87,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0100-gazeboclassic","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0100-GazeboClassic","Gezebo Classic","1100-0100",{"path":4224,"stem":4225,"title":4226,"date":4155,"chapterOrder":4227,"chapterDepth":87,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-ignitiongazebo","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-IgnitionGazebo","Ignition Gazebo（Gazebo Fortress）","1100-0200",{"path":4229,"stem":4230,"title":4231,"date":4155,"chapterOrder":4232,"chapterDepth":87,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0300-gazebosim","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0300-GazeboSim","Gz Sim（Gazebo Harmonic）","1100-0300",{"path":4234,"stem":4235,"title":4236,"date":4155,"chapterOrder":4237,"chapterDepth":87,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0400-igngz2gzsim","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0400-Igngz2gzsim","Migrate Ign Gazebo to Gz Sim","1100-0400",{"path":4239,"stem":4240,"title":4241,"date":4155,"chapterOrder":4242,"chapterDepth":4153,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-gezebo-fang-zhen-ping-tai","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-Gezebo仿真平台","Gazebo simulation platform","1100",{"path":4244,"stem":4245,"title":4246,"date":4155,"chapterOrder":4247,"chapterDepth":87,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0100-humble-ban-ben","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0100-Humble版本","Humble Navigation Simulation","1200-0100",{"path":4249,"stem":4250,"title":4251,"date":4155,"chapterOrder":4252,"chapterDepth":87,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0200-jazzy-ban-ben","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0200-Jazzy版本","Jazzy Navigation Simulation","1200-0200",{"path":4254,"stem":4255,"title":4256,"date":4155,"chapterOrder":4257,"chapterDepth":87,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0300-humble2jazzy","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0300-Humble2Jazzy","Differences in Navigation between Humble and Jazzy","1200-0300",{"path":4259,"stem":4260,"title":4261,"date":4155,"chapterOrder":4262,"chapterDepth":4153,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-ji-qi-ren-dao-hang-navigation2-fang-zhen-pian","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-机器人导航Navigation2(仿真篇)","Robot Navigation with Navigation2 (Simulation)","1200",{"path":4264,"stem":4265,"title":4266,"date":4155,"chapterOrder":4267,"chapterDepth":145,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-0100-boost-aiso","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-0100-Boost.Aiso","Boost.Asio库","1300-0100-0100",{"path":4269,"stem":4270,"title":4271,"date":4155,"chapterOrder":4272,"chapterDepth":145,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-0200-ros2-serial-driver","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-0200-ros2_serial_driver","ROS2 Serial Driver Library","1300-0100-0200",{"path":4274,"stem":4275,"title":4276,"date":4155,"chapterOrder":4277,"chapterDepth":87,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-chuan-kou-tong-xin","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-串口通信","UART serial communication","1300-0100",{"path":4279,"stem":4280,"title":4281,"date":4155,"chapterOrder":4282,"chapterDepth":145,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0100-socketcan","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0100-socketcan","SocketCAN","1300-0200-0100",{"path":4284,"stem":4285,"title":4286,"date":4155,"chapterOrder":4287,"chapterDepth":145,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0200-ros2-socketcan","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0200-ros2_socketcan","ROS2_SocketCAN","1300-0200-0200",{"path":4289,"stem":4290,"title":4291,"date":4155,"chapterOrder":4292,"chapterDepth":87,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-can-tong-xin","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-CAN通信","CAN communication","1300-0200",{"path":4294,"stem":4295,"title":4266,"date":4155,"chapterOrder":4296,"chapterDepth":145,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-0100-boost-aiso","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-0100-Boost.Aiso","1300-0300-0100",{"path":4298,"stem":4299,"title":4300,"date":4155,"chapterOrder":4301,"chapterDepth":87,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-tcp-tong-xin","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-TCP通信","TCP communication","1300-0300",{"path":4303,"stem":4304,"title":4266,"date":4155,"chapterOrder":4305,"chapterDepth":145,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-0100-boost-aiso","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-0100-Boost.Aiso","1300-0400-0100",{"path":4307,"stem":4308,"title":4309,"date":4155,"chapterOrder":4310,"chapterDepth":87,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-udp-tong-xin","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-UDP通信","UDP communication","1300-0400",{"path":4312,"stem":4313,"title":4314,"date":4155,"chapterOrder":4315,"chapterDepth":4153,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-linux-ying-jian-tong-xin","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-Linux硬件通信","Linux hardware communication","1300",{"path":4317,"stem":4318,"title":4319,"date":4155,"chapterOrder":4320,"chapterDepth":87,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0100-ji-qi-ren-zu-cheng","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0100-机器人组成","Robot Composition","1400-0100",{"path":4322,"stem":4323,"title":4324,"date":4155,"chapterOrder":4325,"chapterDepth":145,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-0100-yuan-cheng-kai-fa-ssh","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-0100-远程开发SSH","Remote Development SSH","1400-0200-0100",{"path":4327,"stem":4328,"title":4329,"date":4155,"chapterOrder":4330,"chapterDepth":145,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-0200-yuan-cheng-fang-wen-zhuo-mian","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-0200-远程访问桌面","Remote Desktop Access","1400-0200-0200",{"path":4332,"stem":4333,"title":4334,"date":4155,"chapterOrder":4335,"chapterDepth":87,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-gong-kong-ji-zhi-yuan-cheng-kai-fa-huan-jing","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-工控机之远程开发环境","Remote Development Environment for Industrial PC","1400-0200",{"path":4337,"stem":4338,"title":4339,"date":4155,"chapterOrder":4340,"chapterDepth":87,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0300-gong-kong-ji-zhi-wai-jie-usb-she-bei","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0300-工控机之外接USB设备","External USB Devices for the Industrial PC","1400-0300",{"path":4342,"stem":4343,"title":4344,"date":4155,"chapterOrder":4345,"chapterDepth":87,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0400-fen-bu-shi-da-jian","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0400-分布式搭建","Distributed setup","1400-0400",{"path":4347,"stem":4348,"title":4349,"date":4155,"chapterOrder":4350,"chapterDepth":87,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0500-you-hua-ri-zhi","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0500-优化日志","Optimize logs","1400-0500",{"path":4352,"stem":4353,"title":4354,"date":4155,"chapterOrder":4355,"chapterDepth":145,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0100-li-cheng-ji-odom","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0100-里程计Odom","odometry","1400-0600-0100",{"path":4357,"stem":4358,"title":4359,"date":4155,"chapterOrder":4360,"chapterDepth":145,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0200-guan-xing-ji-imu","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0200-惯性计IMU","Inertial Measurement Unit (IMU)","1400-0600-0200",{"path":4362,"stem":4363,"title":4364,"date":4155,"chapterOrder":4365,"chapterDepth":145,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0300-ji-guang-lei-da-lidar","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0300-激光雷达LiDAR","LiDAR","1400-0600-0300",{"path":4367,"stem":4368,"title":4369,"date":4155,"chapterOrder":4370,"chapterDepth":145,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0400-xiang-ji-camera","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0400-相机Camera","Camera","1400-0600-0400",{"path":4372,"stem":4373,"title":4374,"date":4155,"chapterOrder":4375,"chapterDepth":145,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0500-quan-qiu-ding-wei-gnss","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0500-全球定位GNSS","Global Navigation Satellite System (GNSS)","1400-0600-0500",{"path":4377,"stem":4378,"title":4379,"date":4155,"chapterOrder":4380,"chapterDepth":145,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0600-shou-bing-joy","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0600-手柄joy","The query \"手柄JOY\" is a bit ambiguous. To help you better, could you please provide more details? For example:","1400-0600-0600",{"path":4382,"stem":4383,"title":4384,"date":4155,"chapterOrder":4385,"chapterDepth":145,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0700-jian-pan-kong-zhi-jie-dian","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0700-键盘控制节点","Keyboard control node","1400-0600-0700",{"path":4387,"stem":4388,"title":4389,"date":4155,"chapterOrder":4390,"chapterDepth":87,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-ying-jian-ping-tai","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-硬件平台","Hardware platform","1400-0600",{"path":4392,"stem":4393,"title":4394,"date":4155,"chapterOrder":4395,"chapterDepth":87,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0700-zuo-biao-xi-yu-hua-ti-guan-xi","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0700-坐标系与话题关系","Coordinate System and Topic Relationship","1400-0700",{"path":4397,"stem":4398,"title":4399,"date":4155,"chapterOrder":4400,"chapterDepth":158,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0100-lun-shi-li-cheng-ji-biao-ding","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0100-轮式里程计标定","Wheel odometry calibration","1400-0800-0100-0100",{"path":4402,"stem":4403,"title":4404,"date":4155,"chapterOrder":4405,"chapterDepth":158,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0200-lun-shi-li-cheng-ji-yu-imu-rong-he","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0200-轮式里程计与IMU融合","Fusion of Wheel Odometry and IMU","1400-0800-0100-0200",{"path":4407,"stem":4408,"title":4409,"date":4155,"chapterOrder":4410,"chapterDepth":145,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-lun-shi-li-cheng-ji-biao-ding-yu-rong-he","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-轮式里程计标定与融合","Wheel odometry calibration and fusion","1400-0800-0100",{"path":4412,"stem":4413,"title":4414,"date":4155,"chapterOrder":4415,"chapterDepth":145,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0200-ji-guang-lei-da-gong-ju","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0200-激光雷达工具","Lidar Tool","1400-0800-0200",{"path":4417,"stem":4418,"title":4419,"date":4155,"chapterOrder":4420,"chapterDepth":145,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0300-xiang-ji-shi-yong-jin-jie","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0300-相机使用进阶","Advanced Camera Usage","1400-0800-0300",{"path":4422,"stem":4423,"title":4424,"date":4155,"chapterOrder":4425,"chapterDepth":87,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-ying-jian-ping-tai-jin-jie","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-硬件平台进阶","Advanced Hardware Platform","1400-0800",{"path":4427,"stem":4428,"title":4429,"date":4155,"chapterOrder":4430,"chapterDepth":4153,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-ji-qi-ren-ying-jian","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-机器人硬件","Robot hardware","1400",{"path":4432,"stem":4433,"title":4434,"date":4155,"chapterOrder":4435,"chapterDepth":4153,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1500-ros2-control","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1500-ROS2_Control","ROS2_Control","1500",{"path":4437,"stem":4438,"title":4439,"date":4155,"chapterOrder":4440,"chapterDepth":4153,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1600-moveit2-gong-ye-ji-qi-ren-ji-xie-bi","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1600-Moveit2工业机器人机械臂","MoveIt2 industrial robot arm","1600",{"path":4442,"stem":4443,"title":4444,"date":4155,"chapterOrder":4445,"chapterDepth":4153,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1700-ji-qi-ren-dao-hang-navigation2-shi-ti-pian","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1700-机器人导航Navigation2(实体篇)","Robot Navigation with Navigation2 (Physical Robot)","1700",{"path":4447,"stem":4448,"title":4449,"date":4155,"chapterOrder":4450,"chapterDepth":4153,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1800-microros","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1800-MicroROS","MicroROS","1800",{"path":4452,"stem":4453,"title":4454,"date":4155,"chapterOrder":4455,"chapterDepth":4153,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1900-webots-fang-zhen-ping-tai","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1900-Webots仿真平台","Webots simulation platform","1900",{"path":4457,"stem":4458,"title":4459,"date":4155,"chapterOrder":4460,"chapterDepth":4153,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":4162},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F2000-opencv","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F2000-OpenCV","OpenCV","2000",{"path":4158,"stem":4462,"title":4463,"date":4155,"chapterOrder":4163,"chapterDepth":4153,"docKey":4157,"docRoot":4158,"docTitle":4159,"isWikiDoc":161,"isWikiIndex":161},"_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002Findex","ROS2 Robot Operating System Tutorial",{"variants":4465},[4466,4467,4470,4473,4476],{"path":4152,"localeSlug":4165,"i18nKey":4161},{"path":4468,"localeSlug":4469,"i18nKey":4161},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0600-launch","zh-hant",{"path":4471,"localeSlug":4472,"i18nKey":4161},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0600-launch","zh-hk",{"path":4474,"localeSlug":4475,"i18nKey":4161},"\u002Fzh-tw\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0600-launch","zh-tw",{"path":4477,"localeSlug":4478,"i18nKey":4161},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0600-launch","zh-cn",[4152,4168,4468,4168,4471,4168,4474,4168,4477,4168],1784646852612]