[{"data":1,"prerenderedAt":17994},["ShallowReactive",2],{"wiki-page-\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-ignitiongazebo":3,"wiki-doc-items-\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-ignitiongazebo":17684,"language-switcher-data-\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-ignitiongazebo":17978,"wiki-i18n-paths-\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-ignitiongazebo":17993},{"id":4,"title":5,"body":6,"canonicalPath":17666,"chapterDepth":114,"chapterOrder":17667,"date":17668,"description":106,"docI18nKey":17669,"docKey":17670,"docRoot":17671,"docTitle":17672,"extension":17673,"i18nKey":17674,"isBlogPost":17675,"isWikiDoc":117,"isWikiIndex":17675,"layout":17676,"legacyPath":17676,"locale":17677,"localeSlug":17678,"meta":17679,"navigation":117,"path":17666,"seo":17680,"sourcePath":17681,"sourceStem":17674,"stem":17682,"wikiDepth":114,"__hash__":17683},"content\u002F_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-IgnitionGazebo.md","Ignition Gazebo（Gazebo Fortress）",{"type":7,"value":8,"toc":17663},"minimark",[9,14,18,26,31,34,37,40,43,46,61,64,70,73,79,85,92,97,100,196,202,207,210,213,250,253,272,279,284,289,292,297,300,303,308,315,321,326,331,336,341,346,351,356,364,369,455,460,465,470,475,480,485,488,493,507,512,515,518,523,528,532,535,546,549,554,561,606,609,631,637,642,647,654,675,689,694,700,724,727,732,735,738,743,753,778,789,792,799,819,822,825,834,837,843,846,858,861,873,876,888,891,915,922,927,930,1381,1384,1409,1413,1420,1425,1428,1446,1451,1456,1459,1480,1495,1500,1505,1508,1513,1518,1525,1528,1533,1536,1557,1562,1567,1574,2192,2195,2200,2205,2208,2226,2231,2236,2239,2264,2267,2283,2298,2303,2310,2313,2318,2365,2368,2373,2393,2398,2401,2553,2556,2742,2745,2906,2911,2918,2921,2924,2937,2942,2947,6158,6163,6244,6250,9137,9142,9147,9335,9340,9342,9356,9361,9363,9385,9388,9391,9396,9402,9405,9410,9413,9419,9422,9429,9434,9441,9489,9495,9500,9528,9533,9536,9542,12910,12914,12916,12930,12934,12936,12956,12958,12963,12967,12970,12973,12979,12984,12987,12992,12998,13290,13293,13298,13304,13681,13685,13687,13706,13710,13713,13755,13757,13762,13770,13773,13779,13785,13790,13796,13799,13805,13892,13895,13898,14016,14021,14035,14368,14376,14709,14712,15165,15170,15175,15695,15699,15701,15717,15721,15723,15757,15760,15774,15777,15780,15796,15799,15807,15812,15816,15819,15824,15833,15907,15910,15915,15920,15923,16773,16776,16939,16946,16949,16976,16987,16992,16996,17558,17562,17564,17580,17584,17586,17620,17622,17625,17639,17644,17649,17651,17656,17659],[10,11,13],"h3",{"id":12},"ignition-gazebo-gazebo-fortress-based-on-ros2-humble","Ignition Gazebo (Gazebo Fortress, based on ROS2 Humble)",[15,16,17],"p",{},"** It is recommended to use ROS2 Jazzy. This ROS2 Humble Gazebo version feels like a transitional release, and the code may conflict with future versions! **\n(This version of the tutorial is no longer being updated. Future updates will focus on ROS2 Jazzy and later versions, as well as Gazebo Harmonic and subsequent releases.)",[15,19,20,21],{},"详见",[22,23,25],"nuxt-link",{"to":24},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0300-gazebosim#Gz Sim（Gazebo Harmonic 及之后的版本（ROS2 Jazzy及之后的版本））","Gz Sim教程",[27,28,30],"h4",{"id":29},"ign-gazebo-installation-and-running","Ign Gazebo Installation and Running",[15,32,33],{},"Gazebo changes significantly with each version.",[15,35,36],{},"In particular, the older version of Gazebo (black interface) used with ROS1 and the newer version of Gazebo (white interface) used with ROS2.",[15,38,39],{},"ROS2's different versions of Gazebo also vary significantly. For example, there are many notable differences in tags between Humble, Jazzy, and versions after Jazzy.",[15,41,42],{},"This tutorial uses the Humble version (i.e., Ignition Gazebo).",[15,44,45],{},"Of course, to ensure compatibility with future versions of Gazebo, there will also be a tutorial below on how to migrate from Ign Gazebo to Gazebo Sim (the very latest version of Gazebo).",[15,47,48,49,53,54,60],{},"Ignition Gazebo is a brand-new robot simulation tool used in ROS2, ",[50,51,52],"strong",{},"and it is an upgraded version of Gazebo",". In Humble, it is still called Ignition Gazebo (also known as Gazebo Fortress), while in Jazzy it is called Gazebo Harmonic (with the \"Ignition\" name removed) (",[55,56,57],"a",{"href":57,"rel":58},"https:\u002F\u002Fcommunity.gazebosim.org\u002Ft\u002Fa-new-era-for-gazebo\u002F1356",[59],"nofollow","). It offers better performance and usability, and provides a powerful simulation environment through tight integration with ROS2. Ignition Gazebo supports a variety of robot platforms and sensors, and offers flexible configuration options along with an easy-to-use interface. Its physics engine and sensor models help developers with the development, testing, and validation of robotic systems. Whether for research or education, Ignition Gazebo is a powerful tool.",[15,62,63],{},"If you want to migrate from Ignition Gazebo (ROS2 Humble) to Gazebo (ROS2 Jazzy), scroll down — there's a section below on how to migrate.",[15,65,66],{},[55,67,68],{"href":68,"rel":69},"https:\u002F\u002Fdocs.ros.org\u002Fen\u002Fhumble\u002FTutorials\u002FAdvanced\u002FSimulators\u002FGazebo\u002FGazebo.html",[59],[15,71,72],{},"The following website is the official tutorial (ROS2 Humble with Ignition Gazebo Fortress):",[15,74,75],{},[55,76,77],{"href":77,"rel":78},"https:\u002F\u002Fgazebosim.org\u002Fdocs\u002Ffortress\u002Fgetstarted\u002F",[59],[15,80,81],{},[55,82,83],{"href":83,"rel":84},"https:\u002F\u002Fgazebosim.org\u002Fdocs\u002Ffortress\u002Flibrary_reference_nav\u002F",[59],[15,86,87,88],{},"Source code: ",[55,89,90],{"href":90,"rel":91},"https:\u002F\u002Fgithub.com\u002Fgazebosim\u002Fdocs\u002Fblob\u002Fmaster\u002Ffortress\u002Ftutorials",[59],[15,93,94],{},[50,95,96],{},"Installation",[15,98,99],{},"Ignition Gazebo is an independent project that does not depend on ROS2 and can be installed on its own. However, if ROS2 is already installed, the corresponding version of Ignition Gazebo is integrated into the ROS2 repositories, and it can be installed directly using the following command:",[101,102,107],"pre",{"className":103,"code":104,"language":105,"meta":106,"style":106},"language-bash shiki shiki-themes github-light github-dark","\n# 通用命令\nsudo apt install ros-${ROS_DISTRO}-ros-gz\n\n# Humble版本\nsudo apt install ros-humble-ros-gz\n\n# Jazzy版本\nsudo apt install ros-jazzy-ros-gz\n","bash","",[108,109,110,119,126,150,155,161,173,178,184],"code",{"__ignoreMap":106},[111,112,115],"span",{"class":113,"line":114},"line",1,[111,116,118],{"emptyLinePlaceholder":117},true,"\n",[111,120,122],{"class":113,"line":121},2,[111,123,125],{"class":124},"sJ8bj","# 通用命令\n",[111,127,129,133,137,140,143,147],{"class":113,"line":128},3,[111,130,132],{"class":131},"sScJk","sudo",[111,134,136],{"class":135},"sZZnC"," apt",[111,138,139],{"class":135}," install",[111,141,142],{"class":135}," ros-",[111,144,146],{"class":145},"sVt8B","${ROS_DISTRO}",[111,148,149],{"class":135},"-ros-gz\n",[111,151,153],{"class":113,"line":152},4,[111,154,118],{"emptyLinePlaceholder":117},[111,156,158],{"class":113,"line":157},5,[111,159,160],{"class":124},"# Humble版本\n",[111,162,164,166,168,170],{"class":113,"line":163},6,[111,165,132],{"class":131},[111,167,136],{"class":135},[111,169,139],{"class":135},[111,171,172],{"class":135}," ros-humble-ros-gz\n",[111,174,176],{"class":113,"line":175},7,[111,177,118],{"emptyLinePlaceholder":117},[111,179,181],{"class":113,"line":180},8,[111,182,183],{"class":124},"# Jazzy版本\n",[111,185,187,189,191,193],{"class":113,"line":186},9,[111,188,132],{"class":131},[111,190,136],{"class":135},[111,192,139],{"class":135},[111,194,195],{"class":135}," ros-jazzy-ros-gz\n",[15,197,198],{},[199,200],"img",{"alt":106,"src":201},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1705.webp",[15,203,204],{},[50,205,206],{},"Running",[15,208,209],{},"After Ignition Gazebo is installed, it can be launched in two ways.",[15,211,212],{},"Method 1: Start with Ignition Gazebo, using the following command:",[101,214,216],{"className":103,"code":215,"language":105,"meta":106,"style":106},"\n# Humble版本\nign gazebo\n\n# Jazzy版本\ngz sim\n",[108,217,218,222,226,234,238,242],{"__ignoreMap":106},[111,219,220],{"class":113,"line":114},[111,221,118],{"emptyLinePlaceholder":117},[111,223,224],{"class":113,"line":121},[111,225,160],{"class":124},[111,227,228,231],{"class":113,"line":128},[111,229,230],{"class":131},"ign",[111,232,233],{"class":135}," gazebo\n",[111,235,236],{"class":113,"line":152},[111,237,118],{"emptyLinePlaceholder":117},[111,239,240],{"class":113,"line":157},[111,241,183],{"class":124},[111,243,244,247],{"class":113,"line":163},[111,245,246],{"class":131},"gz",[111,248,249],{"class":135}," sim\n",[15,251,252],{},"Method 2: Start using ROS2. The command is as follows:",[101,254,256],{"className":103,"code":255,"language":105,"meta":106,"style":106},"ros2 launch ros_gz_sim gz_sim.launch.py\n",[108,257,258],{"__ignoreMap":106},[111,259,260,263,266,269],{"class":113,"line":114},[111,261,262],{"class":131},"ros2",[111,264,265],{"class":135}," launch",[111,267,268],{"class":135}," ros_gz_sim",[111,270,271],{"class":135}," gz_sim.launch.py\n",[15,273,274,275,278],{},"The execution results of both are the same, as shown in the figure below: In the pop-up window, select the simulation environment and then click the ",[108,276,277],{},"run"," button to run.",[15,280,281],{},[199,282],{"alt":106,"src":283},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1706.webp",[15,285,286],{},[50,287,288],{},"Interface Introduction",[15,290,291],{},"Next, using the Empty simulation environment as an example, let's introduce the interface components of Ignition Gazebo.",[15,293,294],{},[199,295],{"alt":106,"src":296},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1707.webp",[15,298,299],{},"Note: If your Gazebo is not lagging, but Ignition Gazebo is extremely laggy, please confirm that Ignition Gazebo is running with the dedicated graphics card, not the integrated graphics.",[15,301,302],{},"If you don't know how to switch the application graphics card, you can simply disable the integrated graphics and switch from hybrid output to dedicated graphics output.",[15,304,305],{},[50,306,307],{},"Toolbar",[309,310,311],"ul",{},[312,313,314],"li",{},"The toolbar at the top contains two buttons: the file menu button (horizontal stripes) on the left and the plugin button (vertical ellipsis) on the right.",[316,317,318],"ol",{},[312,319,320],{},"File menu button (horizontal lines)",[15,322,323],{},[199,324],{"alt":106,"src":325},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1708.webp",[309,327,328],{},[312,329,330],{},"The File menu button includes settings such as saving the simulation environment to a file, saving and loading interface configurations, and customizing the interface style.",[316,332,333],{"start":121},[312,334,335],{},"The plugin button on the right (vertical ellipsis)",[15,337,338],{},[199,339],{"alt":106,"src":340},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1709.webp",[309,342,343],{},[312,344,345],{},"The plugin button lists all available plugins. Clicking it will bring up the plugin list; scroll down this list to view all plugins. When one is selected, its interface will appear in the right panel.",[15,347,348],{},[50,349,350],{},"3D viewport",[309,352,353],{},[312,354,355],{},"The toolbar in the upper left contains buttons for various geometric shapes (sphere, box, cylinder) and transform controls. Using the shape buttons, you can directly insert box, sphere, or cylinder models into the simulation environment. Simply click the shape you want to insert, then place it into the environment. The shape will automatically snap to the ground plane.",[15,357,358,361],{},[199,359],{"alt":106,"src":360},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1710.webp",[199,362],{"alt":106,"src":363},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1711.webp",[309,365,366],{},[312,367,368],{},"The main view displays the simulation environment. We can navigate the scene using the mouse in different ways, with the relevant operations as follows:",[101,370,372],{"className":103,"code":371,"language":105,"meta":106,"style":106},"左键单击：选择实体\n右键单击：打开带有选项的菜单：\n   Move to：移动到以实体为中心的场景\n   Follow：选择一个实体让视图保持居中，无论是移动还是平移\n   Remove：从模拟中删除实体\n   Copy：复制实体\n   Past: 粘贴实体\n   View：显示实体的重心（Center of Mass）、碰撞边界（Collisions）、惯性（Inertia）、\n         关节（Joints）、坐标系（Frames）、透明度（Transparent）、线框（Wireframe）等属性\n左键单击并拖动：在场景中平移\n右键单击并拖动：放大和缩小\n滚轮向前\u002F向后：放大和缩小\n滚轮单击并拖动：旋转场景\n",[108,373,374,379,384,392,397,402,407,415,426,431,437,443,449],{"__ignoreMap":106},[111,375,376],{"class":113,"line":114},[111,377,378],{"class":131},"左键单击：选择实体\n",[111,380,381],{"class":113,"line":121},[111,382,383],{"class":131},"右键单击：打开带有选项的菜单：\n",[111,385,386,389],{"class":113,"line":128},[111,387,388],{"class":131},"   Move",[111,390,391],{"class":135}," to：移动到以实体为中心的场景\n",[111,393,394],{"class":113,"line":152},[111,395,396],{"class":131},"   Follow：选择一个实体让视图保持居中，无论是移动还是平移\n",[111,398,399],{"class":113,"line":157},[111,400,401],{"class":131},"   Remove：从模拟中删除实体\n",[111,403,404],{"class":113,"line":163},[111,405,406],{"class":131},"   Copy：复制实体\n",[111,408,409,412],{"class":113,"line":175},[111,410,411],{"class":131},"   Past:",[111,413,414],{"class":135}," 粘贴实体\n",[111,416,417,420,423],{"class":113,"line":180},[111,418,419],{"class":131},"   View：显示实体的重心（Center",[111,421,422],{"class":135}," of",[111,424,425],{"class":135}," Mass）、碰撞边界（Collisions）、惯性（Inertia）、\n",[111,427,428],{"class":113,"line":186},[111,429,430],{"class":131},"         关节（Joints）、坐标系（Frames）、透明度（Transparent）、线框（Wireframe）等属性\n",[111,432,434],{"class":113,"line":433},10,[111,435,436],{"class":131},"左键单击并拖动：在场景中平移\n",[111,438,440],{"class":113,"line":439},11,[111,441,442],{"class":131},"右键单击并拖动：放大和缩小\n",[111,444,446],{"class":113,"line":445},12,[111,447,448],{"class":131},"滚轮向前\u002F向后：放大和缩小\n",[111,450,452],{"class":113,"line":451},13,[111,453,454],{"class":131},"滚轮单击并拖动：旋转场景\n",[309,456,457],{},[312,458,459],{},"To move this ball, click the Move mode in the top-left corner, then left-click to select the object.",[15,461,462],{},[199,463],{"alt":106,"src":464},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1712.webp",[15,466,467],{},[199,468],{"alt":106,"src":469},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1713.webp",[309,471,472],{},[312,473,474],{},"At the bottom of the window, from left to right, are the Play button, Step button, and Real-Time Factor (RTF). Clicking the Play button starts the simulation environment; clicking it again pauses the simulation. The Step button sets the discrete unit of simulation time, and you can customize the step size by hovering your mouse over the button. The Real-Time Factor indicates the ratio of the simulation speed to real time.",[15,476,477],{},[199,478],{"alt":106,"src":479},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1714.webp",[15,481,482],{},[50,483,484],{},"Right panel",[15,486,487],{},"The right panel is used to display plugins. The current simulation environment includes two plugins by default: Model and Entity Tree.",[15,489,490],{},[199,491],{"alt":106,"src":492},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1715.webp",[309,494,495,498,501,504],{},[312,496,497],{},"The Entity Tree displays a list of entities in the simulation environment.",[312,499,500],{},"After clicking an entity in the Entity Tree, its related information can be displayed in the Model.",[312,502,503],{},"You can also hold Ctrl and click to select multiple entities.",[312,505,506],{},"You can also right-click any plugin to open its basic settings or disable it.",[15,508,509],{},[199,510],{"alt":106,"src":511},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1716.webp",[15,513,514],{},"Ignition Gazebo comes with many built-in plugins. You can click the button on the right side of the toolbar to add them yourself. For example, you can select the Grid Config plugin to adjust the world grid's properties, including cell size, grid position, cell count, or color.",[15,516,517],{},"As the application deepens, other plugins will be introduced over time.",[15,519,520],{},[199,521],{"alt":106,"src":522},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1717.webp",[15,524,525],{},[199,526],{"alt":106,"src":527},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1718.webp",[27,529,531],{"id":530},"integration-with-ros2","Integration with ROS2",[15,533,534],{},"This section will introduce how to integrate Ignition Gazebo with ROS2 to enable interaction between the two. For example, you can control the robot's movement using a ROS2 keyboard control node and display the robot's odometry (odom) data in rviz2. The general workflow is as follows:",[316,536,537,540,543],{},[312,538,539],{},"Start the Ignition Gazebo simulation environment.",[312,541,542],{},"Establish the connection between ROS2 and Ignition Gazebo via ros_gz_bridge;",[312,544,545],{},"Start the ROS2-related nodes to enable data transmission and reception with Ignition Gazebo.",[15,547,548],{},"All integration implementations between Ignition Gazebo and ROS2 basically follow the above workflow.",[15,550,551],{},[50,552,553],{},"Launch the Simulation Environment",[15,555,556,557,560],{},"When installing Ignition Gazebo, some simulation environments are already built in and can be launched directly. Here, we can use the simulation file named ",[108,558,559],{},"visualize_lidar.sdf",", which includes a differential drive robot and a LiDAR simulation. The launch command is as follows:",[101,562,564],{"className":103,"code":563,"language":105,"meta":106,"style":106},"ign gazebo -v 4 -r visualize_lidar.sdf\n#或者\ngz sim -v 4 -r visualize_lidar.sdf\n",[108,565,566,586,591],{"__ignoreMap":106},[111,567,568,570,573,577,580,583],{"class":113,"line":114},[111,569,230],{"class":131},[111,571,572],{"class":135}," gazebo",[111,574,576],{"class":575},"sj4cs"," -v",[111,578,579],{"class":575}," 4",[111,581,582],{"class":575}," -r",[111,584,585],{"class":135}," visualize_lidar.sdf\n",[111,587,588],{"class":113,"line":121},[111,589,590],{"class":124},"#或者\n",[111,592,593,595,598,600,602,604],{"class":113,"line":128},[111,594,246],{"class":131},[111,596,597],{"class":135}," sim",[111,599,576],{"class":575},[111,601,579],{"class":575},[111,603,582],{"class":575},[111,605,585],{"class":135},[15,607,608],{},"Alternatively, it can also be launched using ROS2 launch, with the following command:",[101,610,612],{"className":103,"code":611,"language":105,"meta":106,"style":106},"ros2 launch ros_gz_sim gz_sim.launch.py gz_args:=\"-v 4 -r visualize_lidar.sdf\" # 启动状态\n",[108,613,614],{"__ignoreMap":106},[111,615,616,618,620,622,625,628],{"class":113,"line":114},[111,617,262],{"class":131},[111,619,265],{"class":135},[111,621,268],{"class":135},[111,623,624],{"class":135}," gz_sim.launch.py",[111,626,627],{"class":135}," gz_args:=\"-v 4 -r visualize_lidar.sdf\"",[111,629,630],{"class":124}," # 启动状态\n",[15,632,633,634,636],{},"Both methods are essentially the same: they start Ignition Gazebo and load the ",[108,635,559],{}," file.",[15,638,639],{},[199,640],{"alt":106,"src":641},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1719.webp",[15,643,644],{},[50,645,646],{},"Establishing a Connection",[15,648,649,650,653],{},"Even though the robot in the simulation environment has been configured with motion control plugins that can subscribe to velocity commands and move via the ",[108,651,652],{},"\u002Fmodel\u002Fvehicle_blue\u002Fcmd_vel"," topic, the message formats in Ignition Gazebo and ROS2 are not consistent. Therefore, it is still necessary to use the ros_gz_bridge bridging package to convert messages between the two. The command is as follows:",[101,655,657],{"className":103,"code":656,"language":105,"meta":106,"style":106},"ros2 run ros_gz_bridge parameter_bridge \u002Fmodel\u002Fvehicle_blue\u002Fcmd_vel@geometry_msgs\u002Fmsg\u002FTwist]gz.msgs.Twist\n",[108,658,659],{"__ignoreMap":106},[111,660,661,663,666,669,672],{"class":113,"line":114},[111,662,262],{"class":131},[111,664,665],{"class":135}," run",[111,667,668],{"class":135}," ros_gz_bridge",[111,670,671],{"class":135}," parameter_bridge",[111,673,674],{"class":135}," \u002Fmodel\u002Fvehicle_blue\u002Fcmd_vel@geometry_msgs\u002Fmsg\u002FTwist]gz.msgs.Twist\n",[15,676,677,678,681,682,684,685,688],{},"This instruction can convert ROS2 messages of type ",[108,679,680],{},"geometry_msgs\u002Fmsg\u002FTwist"," published on the ",[108,683,652],{}," topic into messages of type ",[108,686,687],{},"gz.msgs.Twist"," that can be recognized by Ignition Gazebo.",[15,690,691],{},[50,692,693],{},"Starting a ROS2 Node",[15,695,696,697,699],{},"Start the ROS2 keyboard control node and remap the topic to ",[108,698,652],{},", using the following command:",[101,701,703],{"className":103,"code":702,"language":105,"meta":106,"style":106},"ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args -r \u002Fcmd_vel:=\u002Fmodel\u002Fvehicle_blue\u002Fcmd_vel\n",[108,704,705],{"__ignoreMap":106},[111,706,707,709,711,714,716,719,721],{"class":113,"line":114},[111,708,262],{"class":131},[111,710,665],{"class":135},[111,712,713],{"class":135}," teleop_twist_keyboard",[111,715,713],{"class":135},[111,717,718],{"class":575}," --ros-args",[111,720,582],{"class":575},[111,722,723],{"class":135}," \u002Fcmd_vel:=\u002Fmodel\u002Fvehicle_blue\u002Fcmd_vel\n",[15,725,726],{},"Now you can use the keyboard to control the robot's movement.",[15,728,729],{},[199,730],{"alt":106,"src":731},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1720.webp",[27,733,734],{"id":734},"ros_gz_bridge",[15,736,737],{},"ros_gz_bridge is the bridge connecting ROS2 and Ignition Gazebo. The messages used by ROS2 and Ignition Gazebo are not compatible and must be converted through ros_gz_bridge.",[15,739,740],{},[50,741,742],{},"ros_gz_bridge Usage Syntax",[15,744,745,746,749,750,752],{},"The bridging between ROS2 and Ignition Gazebo is implemented through the ",[108,747,748],{},"parameter_bridge"," node in the ",[108,751,734],{}," package, with the following usage syntax:",[101,754,756],{"className":103,"code":755,"language":105,"meta":106,"style":106},"parameter_bridge [\u003Ctopic@ROS2_type@Gz_type> ..]  [\u003Cservice@ROS2_srv_type[@Gz_req_type@Gz_rep_type]> ..]\n",[108,757,758],{"__ignoreMap":106},[111,759,760,762,765,768,771,775],{"class":113,"line":114},[111,761,748],{"class":131},[111,763,764],{"class":145}," [\u003Ctopic@ROS2_type@Gz_type> ",[111,766,767],{"class":135},"..]",[111,769,770],{"class":145},"  [\u003Cservice@ROS2_srv_type[@Gz_req_type@Gz_rep_type]",[111,772,774],{"class":773},"szBVR",">",[111,776,777],{"class":145}," ..]\n",[15,779,780,781,784,785,788],{},"In the topic, the ",[50,782,783],{},"first @"," symbol serves as the ",[50,786,787],{},"separator"," between the topic name and the message type.",[15,790,791],{},"The first @ symbol is followed by a ROS message type.",[15,793,794,795,798],{},"ROS message types are followed by the @, ",[111,796,797],{},", or"," symbols:",[309,800,801,807,813],{},[312,802,803,806],{},[50,804,805],{},"@"," indicates a bidirectional bridge;",[312,808,809,812],{},[50,810,811],{},"["," indicates the bridge from Ignition Gazebo to ROS;",[312,814,815,818],{},[50,816,817],{},"]"," indicates the bridge from ROS to Ignition Gazebo.",[15,820,821],{},"After the direction symbol is the Gazebo Transport message type.",[15,823,824],{},"(The two @ symbols do not have the same meaning.)",[15,826,827,828,830,831,833],{},"In a Service, the ",[50,829,783],{}," symbol is the ",[50,832,787],{}," between the service name and type.",[15,835,836],{},"The first @ symbol is followed by the ROS service type. Optionally, Gazebo request and response types can be included, separated by @ symbols between them.",[15,838,839,842],{},[50,840,841],{},"Only"," supports exposing Gazebo services as ROS services, meaning the ROS service forwards requests to the Gazebo service and then forwards the response back to the ROS client.",[15,844,845],{},"Bidirectional Bridging Example:",[101,847,849],{"className":103,"code":848,"language":105,"meta":106,"style":106},"parameter_bridge \u002Fchatter@std_msgs\u002FString@gz.msgs.StringMsg\n",[108,850,851],{"__ignoreMap":106},[111,852,853,855],{"class":113,"line":114},[111,854,748],{"class":131},[111,856,857],{"class":135}," \u002Fchatter@std_msgs\u002FString@gz.msgs.StringMsg\n",[15,859,860],{},"Bridge example from Gazebo to ROS:",[101,862,864],{"className":103,"code":863,"language":105,"meta":106,"style":106},"parameter_bridge \u002Fchatter@std_msgs\u002FString[gz.msgs.StringMsg\n",[108,865,866],{"__ignoreMap":106},[111,867,868,870],{"class":113,"line":114},[111,869,748],{"class":131},[111,871,872],{"class":135}," \u002Fchatter@std_msgs\u002FString[gz.msgs.StringMsg\n",[15,874,875],{},"Bridge example from ROS to Gazebo:",[101,877,879],{"className":103,"code":878,"language":105,"meta":106,"style":106},"parameter_bridge \u002Fchatter@std_msgs\u002FString]gz.msgs.StringMsg\n",[108,880,881],{"__ignoreMap":106},[111,882,883,885],{"class":113,"line":114},[111,884,748],{"class":131},[111,886,887],{"class":135}," \u002Fchatter@std_msgs\u002FString]gz.msgs.StringMsg\n",[15,889,890],{},"Service Bridging Example:",[101,892,894],{"className":103,"code":893,"language":105,"meta":106,"style":106},"parameter_bridge \u002Fworld\u002Fdefault\u002Fcontrol@ros_gz_interfaces\u002Fsrv\u002FControlWorld\n或者：\nparameter_bridge \u002Fworld\u002Fdefault\u002Fcontrol@ros_gz_interfaces\u002Fsrv\u002FControlWorld@gz.msgs.WorldControl@gz.msgs.Boolean\n",[108,895,896,903,908],{"__ignoreMap":106},[111,897,898,900],{"class":113,"line":114},[111,899,748],{"class":131},[111,901,902],{"class":135}," \u002Fworld\u002Fdefault\u002Fcontrol@ros_gz_interfaces\u002Fsrv\u002FControlWorld\n",[111,904,905],{"class":113,"line":121},[111,906,907],{"class":131},"或者：\n",[111,909,910,912],{"class":113,"line":128},[111,911,748],{"class":131},[111,913,914],{"class":135}," \u002Fworld\u002Fdefault\u002Fcontrol@ros_gz_interfaces\u002Fsrv\u002FControlWorld@gz.msgs.WorldControl@gz.msgs.Boolean\n",[15,916,917,918,921],{},"You can also run the ",[108,919,920],{},"ros2 run ros_gz_bridge parameter_bridge -h"," command to view the official documentation.",[15,923,924],{},[50,925,926],{},"Message types supported by ros_gz_bridge",[15,928,929],{},"Here is the correspondence table of topic message types in ROS2 and Ignition Gazebo:",[931,932,933,947],"table",{},[934,935,936],"thead",{},[937,938,939,944],"tr",{},[940,941,943],"th",{"align":942},"left","ROS2 message types",[940,945,946],{"align":942},"Gazebo Transport types",[948,949,950,959,967,975,983,990,998,1006,1013,1020,1026,1034,1041,1048,1056,1063,1071,1078,1086,1094,1102,1110,1118,1126,1134,1142,1150,1158,1166,1174,1182,1190,1198,1206,1214,1222,1230,1238,1246,1254,1262,1270,1278,1286,1294,1302,1310,1318,1326,1334,1342,1350,1358,1366,1373],"tbody",{},[937,951,952,956],{},[953,954,955],"td",{"align":942},"builtin_interfaces\u002Fmsg\u002FTime",[953,957,958],{"align":942},"gz.msgs.Time",[937,960,961,964],{},[953,962,963],{"align":942},"geometry_msgs\u002Fmsg\u002FPoint",[953,965,966],{"align":942},"gz.msgs.Vector3d",[937,968,969,972],{},[953,970,971],{"align":942},"geometry_msgs\u002Fmsg\u002FPose",[953,973,974],{"align":942},"gz.msgs.Pose",[937,976,977,980],{},[953,978,979],{"align":942},"geometry_msgs\u002Fmsg\u002FPoseArray",[953,981,982],{"align":942},"gz.msgs.Pose_V",[937,984,985,988],{},[953,986,987],{"align":942},"geometry_msgs\u002Fmsg\u002FPoseStamped",[953,989,974],{"align":942},[937,991,992,995],{},[953,993,994],{"align":942},"geometry_msgs\u002Fmsg\u002FPoseWithCovariance",[953,996,997],{"align":942},"gz.msgs.PoseWithCovariance",[937,999,1000,1003],{},[953,1001,1002],{"align":942},"geometry_msgs\u002Fmsg\u002FQuaternion",[953,1004,1005],{"align":942},"gz.msgs.Quaternion",[937,1007,1008,1011],{},[953,1009,1010],{"align":942},"geometry_msgs\u002Fmsg\u002FTransform",[953,1012,974],{"align":942},[937,1014,1015,1018],{},[953,1016,1017],{"align":942},"geometry_msgs\u002Fmsg\u002FTransformStamped",[953,1019,974],{"align":942},[937,1021,1022,1024],{},[953,1023,680],{"align":942},[953,1025,687],{"align":942},[937,1027,1028,1031],{},[953,1029,1030],{"align":942},"geometry_msgs\u002Fmsg\u002FTwistWithCovariance",[953,1032,1033],{"align":942},"gz.msgs.TwistWithCovariance",[937,1035,1036,1039],{},[953,1037,1038],{"align":942},"geometry_msgs\u002Fmsg\u002FTwistWithCovarianceStamped",[953,1040,1033],{"align":942},[937,1042,1043,1046],{},[953,1044,1045],{"align":942},"geometry_msgs\u002Fmsg\u002FVector3",[953,1047,966],{"align":942},[937,1049,1050,1053],{},[953,1051,1052],{"align":942},"geometry_msgs\u002Fmsg\u002FWrench",[953,1054,1055],{"align":942},"gz.msgs.Wrench",[937,1057,1058,1061],{},[953,1059,1060],{"align":942},"geometry_msgs\u002Fmsg\u002FWrenchStamped",[953,1062,1055],{"align":942},[937,1064,1065,1068],{},[953,1066,1067],{"align":942},"nav_msgs\u002Fmsg\u002FOdometry",[953,1069,1070],{"align":942},"gz.msgs.Odometry",[937,1072,1073,1075],{},[953,1074,1067],{"align":942},[953,1076,1077],{"align":942},"gz.msgs.OdometryWithCovariance",[937,1079,1080,1083],{},[953,1081,1082],{"align":942},"rcl_interfaces\u002Fmsg\u002FParameterValue",[953,1084,1085],{"align":942},"gz.msgs.Any",[937,1087,1088,1091],{},[953,1089,1090],{"align":942},"ros_gz_interfaces\u002Fmsg\u002FAltimeter",[953,1092,1093],{"align":942},"gz.msgs.Altimeter",[937,1095,1096,1099],{},[953,1097,1098],{"align":942},"ros_gz_interfaces\u002Fmsg\u002FContact",[953,1100,1101],{"align":942},"gz.msgs.Contact",[937,1103,1104,1107],{},[953,1105,1106],{"align":942},"ros_gz_interfaces\u002Fmsg\u002FContacts",[953,1108,1109],{"align":942},"gz.msgs.Contacts",[937,1111,1112,1115],{},[953,1113,1114],{"align":942},"ros_gz_interfaces\u002Fmsg\u002FDataframe",[953,1116,1117],{"align":942},"gz.msgs.Dataframe",[937,1119,1120,1123],{},[953,1121,1122],{"align":942},"ros_gz_interfaces\u002Fmsg\u002FEntity",[953,1124,1125],{"align":942},"gz.msgs.Entity",[937,1127,1128,1131],{},[953,1129,1130],{"align":942},"ros_gz_interfaces\u002Fmsg\u002FFloat32Array",[953,1132,1133],{"align":942},"gz.msgs.Float_V",[937,1135,1136,1139],{},[953,1137,1138],{"align":942},"ros_gz_interfaces\u002Fmsg\u002FGuiCamera",[953,1140,1141],{"align":942},"gz.msgs.GUICamera",[937,1143,1144,1147],{},[953,1145,1146],{"align":942},"ros_gz_interfaces\u002Fmsg\u002FJointWrench",[953,1148,1149],{"align":942},"gz.msgs.JointWrench",[937,1151,1152,1155],{},[953,1153,1154],{"align":942},"ros_gz_interfaces\u002Fmsg\u002FLight",[953,1156,1157],{"align":942},"gz.msgs.Light",[937,1159,1160,1163],{},[953,1161,1162],{"align":942},"ros_gz_interfaces\u002Fmsg\u002FSensorNoise",[953,1164,1165],{"align":942},"gz.msgs.SensorNoise",[937,1167,1168,1171],{},[953,1169,1170],{"align":942},"ros_gz_interfaces\u002Fmsg\u002FStringVec",[953,1172,1173],{"align":942},"gz.msgs.StringMsg_V",[937,1175,1176,1179],{},[953,1177,1178],{"align":942},"ros_gz_interfaces\u002Fmsg\u002FTrackVisual",[953,1180,1181],{"align":942},"gz.msgs.TrackVisual",[937,1183,1184,1187],{},[953,1185,1186],{"align":942},"ros_gz_interfaces\u002Fmsg\u002FVideoRecord",[953,1188,1189],{"align":942},"gz.msgs.VideoRecord",[937,1191,1192,1195],{},[953,1193,1194],{"align":942},"ros_gz_interfaces\u002Fmsg\u002FWorldControl",[953,1196,1197],{"align":942},"gz.msgs.WorldControl",[937,1199,1200,1203],{},[953,1201,1202],{"align":942},"rosgraph_msgs\u002Fmsg\u002FClock*",[953,1204,1205],{"align":942},"gz.msgs.Clock*",[937,1207,1208,1211],{},[953,1209,1210],{"align":942},"sensor_msgs\u002Fmsg\u002FBatteryState",[953,1212,1213],{"align":942},"gz.msgs.BatteryState",[937,1215,1216,1219],{},[953,1217,1218],{"align":942},"sensor_msgs\u002Fmsg\u002FCameraInfo",[953,1220,1221],{"align":942},"gz.msgs.CameraInfo",[937,1223,1224,1227],{},[953,1225,1226],{"align":942},"sensor_msgs\u002Fmsg\u002FFluidPressure",[953,1228,1229],{"align":942},"gz.msgs.FluidPressure",[937,1231,1232,1235],{},[953,1233,1234],{"align":942},"sensor_msgs\u002Fmsg\u002FImage",[953,1236,1237],{"align":942},"gz.msgs.Image",[937,1239,1240,1243],{},[953,1241,1242],{"align":942},"sensor_msgs\u002Fmsg\u002FImu",[953,1244,1245],{"align":942},"gz.msgs.IMU",[937,1247,1248,1251],{},[953,1249,1250],{"align":942},"sensor_msgs\u002Fmsg\u002FJointState",[953,1252,1253],{"align":942},"gz.msgs.Model",[937,1255,1256,1259],{},[953,1257,1258],{"align":942},"sensor_msgs\u002Fmsg\u002FJoy",[953,1260,1261],{"align":942},"gz.msgs.Joy",[937,1263,1264,1267],{},[953,1265,1266],{"align":942},"sensor_msgs\u002Fmsg\u002FLaserScan",[953,1268,1269],{"align":942},"gz.msgs.LaserScan",[937,1271,1272,1275],{},[953,1273,1274],{"align":942},"sensor_msgs\u002Fmsg\u002FMagneticField",[953,1276,1277],{"align":942},"gz.msgs.Magnetometer",[937,1279,1280,1283],{},[953,1281,1282],{"align":942},"sensor_msgs\u002Fmsg\u002FNavSatFix",[953,1284,1285],{"align":942},"gz.msgs.NavSat",[937,1287,1288,1291],{},[953,1289,1290],{"align":942},"sensor_msgs\u002Fmsg\u002FPointCloud2",[953,1292,1293],{"align":942},"gz.msgs.PointCloudPacked",[937,1295,1296,1299],{},[953,1297,1298],{"align":942},"std_msgs\u002Fmsg\u002FBool",[953,1300,1301],{"align":942},"gz.msgs.Boolean",[937,1303,1304,1307],{},[953,1305,1306],{"align":942},"std_msgs\u002Fmsg\u002FColorRGBA",[953,1308,1309],{"align":942},"gz.msgs.Color",[937,1311,1312,1315],{},[953,1313,1314],{"align":942},"std_msgs\u002Fmsg\u002FEmpty",[953,1316,1317],{"align":942},"gz.msgs.Empty",[937,1319,1320,1323],{},[953,1321,1322],{"align":942},"std_msgs\u002Fmsg\u002FFloat32",[953,1324,1325],{"align":942},"gz.msgs.Float",[937,1327,1328,1331],{},[953,1329,1330],{"align":942},"std_msgs\u002Fmsg\u002FFloat64",[953,1332,1333],{"align":942},"gz.msgs.Double",[937,1335,1336,1339],{},[953,1337,1338],{"align":942},"std_msgs\u002Fmsg\u002FHeader",[953,1340,1341],{"align":942},"gz.msgs.Header",[937,1343,1344,1347],{},[953,1345,1346],{"align":942},"std_msgs\u002Fmsg\u002FInt32",[953,1348,1349],{"align":942},"gz.msgs.Int32",[937,1351,1352,1355],{},[953,1353,1354],{"align":942},"std_msgs\u002Fmsg\u002FString",[953,1356,1357],{"align":942},"gz.msgs.StringMsg",[937,1359,1360,1363],{},[953,1361,1362],{"align":942},"std_msgs\u002Fmsg\u002FUInt32",[953,1364,1365],{"align":942},"gz.msgs.UInt32",[937,1367,1368,1371],{},[953,1369,1370],{"align":942},"tf2_msgs\u002Fmsg\u002FTFMessage",[953,1372,982],{"align":942},[937,1374,1375,1378],{},[953,1376,1377],{"align":942},"trajectory_msgs\u002Fmsg\u002FJointTrajectory",[953,1379,1380],{"align":942},"gz.msgs.JointTrajectory",[15,1382,1383],{},"And the service message type correspondence table:",[931,1385,1386,1398],{},[934,1387,1388],{},[937,1389,1390,1392,1395],{},[940,1391,943],{"align":942},[940,1393,1394],{"align":942},"Gazebo request",[940,1396,1397],{"align":942},"Gazebo response",[948,1399,1400],{},[937,1401,1402,1405,1407],{},[953,1403,1404],{"align":942},"ros_gz_interfaces\u002Fsrv\u002FControlWorld",[953,1406,1197],{"align":942},[953,1408,1301],{"align":942},[27,1410,1412],{"id":1411},"optimized-integration-with-ros2","Optimized integration with ROS2",[15,1414,1415,1416,1419],{},"In the implementation of ",[50,1417,1418],{},"Ignition Gazebo and ROS2 Integration",", different commands need to be used in the terminal to start different modules. This process is somewhat complex. This section will introduce how to optimize it using launch files.",[15,1421,1422],{},[50,1423,1424],{},"Create a New Package",[15,1426,1427],{},"First, call the following command to create a function package:",[101,1429,1431],{"className":103,"code":1430,"language":105,"meta":106,"style":106},"ros2 pkg create demo_gazebo_sim\n",[108,1432,1433],{"__ignoreMap":106},[111,1434,1435,1437,1440,1443],{"class":113,"line":114},[111,1436,262],{"class":131},[111,1438,1439],{"class":135}," pkg",[111,1441,1442],{"class":135}," create",[111,1444,1445],{"class":135}," demo_gazebo_sim\n",[15,1447,1448],{},[199,1449],{"alt":106,"src":1450},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1721.webp",[15,1452,1453],{},[50,1454,1455],{},"Add Table of Contents",[15,1457,1458],{},"Add the following directories under the newly created package: launch, rviz, world. Then add the following code to CMakeLists.txt:",[101,1460,1464],{"className":1461,"code":1462,"language":1463,"meta":106,"style":106},"language-cmake shiki shiki-themes github-light github-dark","install(DIRECTORY rviz world launch DESTINATION share\u002F${PROJECT_NAME})\n","cmake",[108,1465,1466],{"__ignoreMap":106},[111,1467,1468,1471,1474,1477],{"class":113,"line":114},[111,1469,1470],{"class":773},"install",[111,1472,1473],{"class":145},"(DIRECTORY rviz world launch DESTINATION share\u002F",[111,1475,1476],{"class":773},"${PROJECT_NAME}",[111,1478,1479],{"class":145},")\n",[15,1481,1482,1483,1486,1487,1490,1491,1494],{},"The ",[108,1484,1485],{},"launch"," directory is used to store launch files, the ",[108,1488,1489],{},"rviz"," directory is used to store RViz2 configuration files, and the ",[108,1492,1493],{},"world"," directory is used to store files related to the Ignition Gazebo simulation environment.",[15,1496,1497],{},[199,1498],{"alt":106,"src":1499},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1722.webp",[15,1501,1502],{},[50,1503,1504],{},"Generate rviz2 configuration files in the rviz directory",[15,1506,1507],{},"Launch rviz2, save the default configuration directly to the rviz directory of the current package, and name the saved file sim.rviz.",[15,1509,1510],{},[199,1511],{"alt":106,"src":1512},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1723.webp",[15,1514,1515],{},[50,1516,1517],{},"Copy the world file",[15,1519,1520,1521,1524],{},"Copy the visualize_lidar.sdf file from the worlds directory (",[108,1522,1523],{},"\u002Fusr\u002Fshare\u002Fignition\u002Fignition-gazebo6\u002Fworlds",") in the Ignition installation path to the world directory.",[15,1526,1527],{},"If it is not found under that path, it may be located under the ROS installation path:",[15,1529,1530],{},[108,1531,1532],{},"\u002Fopt\u002Fros\u002Fjazzy\u002Fopt\u002Fgz_sim_vendor\u002Fshare\u002Fgz\u002Fgz-sim8\u002Fworlds\u002F",[15,1534,1535],{},"If you haven't already, manually search for it:",[101,1537,1539],{"className":103,"code":1538,"language":105,"meta":106,"style":106},"sudo find \u002F -name \"visualize_lidar.sdf\"\n",[108,1540,1541],{"__ignoreMap":106},[111,1542,1543,1545,1548,1551,1554],{"class":113,"line":114},[111,1544,132],{"class":131},[111,1546,1547],{"class":135}," find",[111,1549,1550],{"class":135}," \u002F",[111,1552,1553],{"class":575}," -name",[111,1555,1556],{"class":135}," \"visualize_lidar.sdf\"\n",[15,1558,1559],{},[199,1560],{"alt":106,"src":1561},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1724.webp",[15,1563,1564],{},[50,1565,1566],{},"Writing a launch file",[15,1568,1569,1570,1573],{},"Create a new launch file ",[108,1571,1572],{},"gazebo_sim_demo.launch.py"," in the launch directory, and enter the following content:",[101,1575,1579],{"className":1576,"code":1577,"language":1578,"meta":106,"style":106},"language-python shiki shiki-themes github-light github-dark","import os\n\nfrom ament_index_python.packages import get_package_share_directory\n\nfrom launch import LaunchDescription\nfrom launch.actions import DeclareLaunchArgument\nfrom launch.actions import IncludeLaunchDescription\nfrom launch.conditions import IfCondition\nfrom launch.launch_description_sources import PythonLaunchDescriptionSource\nfrom launch.substitutions import LaunchConfiguration\n\nfrom launch_ros.actions import Node\n\ndef generate_launch_description():\n\n    this_pkg = get_package_share_directory('demo_gazebo_sim')\n    pkg_ros_gz_sim = get_package_share_directory('ros_gz_sim')\n    world_file = os.path.join(this_pkg,'world','visualize_lidar.sdf')\n\n    gz_sim = IncludeLaunchDescription(\n        PythonLaunchDescriptionSource(\n            os.path.join(pkg_ros_gz_sim, 'launch', 'gz_sim.launch.py')),\n        launch_arguments={\n            'gz_args': '-r ' + world_file\n        }.items(),\n    )\n\n    # RViz\n    rviz = Node(\n       package='rviz2',\n       executable='rviz2',\n       arguments=['-d', os.path.join(this_pkg, 'rviz', 'sim.rviz')],\n       condition=IfCondition(LaunchConfiguration('rviz'))\n    )\n\n    # Bridge\n    bridge = Node(\n        package='ros_gz_bridge',\n        executable='parameter_bridge',\n        arguments=['\u002Fmodel\u002Fvehicle_blue\u002Fcmd_vel@geometry_msgs\u002Fmsg\u002FTwist@gz.msgs.Twist',\n                   '\u002Fmodel\u002Fvehicle_blue\u002Fodometry@nav_msgs\u002Fmsg\u002FOdometry@gz.msgs.Odometry',\n                   '\u002Fmodel\u002Fvehicle_blue\u002Ftf@tf2_msgs\u002Fmsg\u002FTFMessage[gz.msgs.Pose_V',\n                   ],\n        parameters=[{'qos_overrides.\u002Fmodel\u002Fvehicle_blue.subscriber.reliability': 'reliable'}],\n        remappings=[\n                ('\u002Fmodel\u002Fvehicle_blue\u002Ftf', '\u002Ftf'),\n                ('\u002Fmodel\u002Fvehicle_blue\u002Fcmd_vel','cmd_vel')\n            ],\n        output='screen'\n    )\n\n    return LaunchDescription([\n        gz_sim,\n        DeclareLaunchArgument('rviz', default_value='true',\n                              description='Open RViz.'),\n        bridge,\n        rviz\n    ])\n","python",[108,1580,1581,1589,1593,1606,1610,1622,1634,1645,1657,1669,1681,1685,1697,1701,1713,1718,1735,1750,1772,1777,1788,1794,1812,1824,1842,1848,1854,1859,1865,1876,1890,1902,1929,1945,1950,1955,1961,1971,1984,1997,2012,2020,2028,2034,2056,2067,2084,2099,2105,2116,2121,2126,2135,2141,2161,2174,2180,2186],{"__ignoreMap":106},[111,1582,1583,1586],{"class":113,"line":114},[111,1584,1585],{"class":773},"import",[111,1587,1588],{"class":145}," os\n",[111,1590,1591],{"class":113,"line":121},[111,1592,118],{"emptyLinePlaceholder":117},[111,1594,1595,1598,1601,1603],{"class":113,"line":128},[111,1596,1597],{"class":773},"from",[111,1599,1600],{"class":145}," ament_index_python.packages ",[111,1602,1585],{"class":773},[111,1604,1605],{"class":145}," get_package_share_directory\n",[111,1607,1608],{"class":113,"line":152},[111,1609,118],{"emptyLinePlaceholder":117},[111,1611,1612,1614,1617,1619],{"class":113,"line":157},[111,1613,1597],{"class":773},[111,1615,1616],{"class":145}," launch ",[111,1618,1585],{"class":773},[111,1620,1621],{"class":145}," LaunchDescription\n",[111,1623,1624,1626,1629,1631],{"class":113,"line":163},[111,1625,1597],{"class":773},[111,1627,1628],{"class":145}," launch.actions ",[111,1630,1585],{"class":773},[111,1632,1633],{"class":145}," DeclareLaunchArgument\n",[111,1635,1636,1638,1640,1642],{"class":113,"line":175},[111,1637,1597],{"class":773},[111,1639,1628],{"class":145},[111,1641,1585],{"class":773},[111,1643,1644],{"class":145}," IncludeLaunchDescription\n",[111,1646,1647,1649,1652,1654],{"class":113,"line":180},[111,1648,1597],{"class":773},[111,1650,1651],{"class":145}," launch.conditions ",[111,1653,1585],{"class":773},[111,1655,1656],{"class":145}," IfCondition\n",[111,1658,1659,1661,1664,1666],{"class":113,"line":186},[111,1660,1597],{"class":773},[111,1662,1663],{"class":145}," launch.launch_description_sources ",[111,1665,1585],{"class":773},[111,1667,1668],{"class":145}," PythonLaunchDescriptionSource\n",[111,1670,1671,1673,1676,1678],{"class":113,"line":433},[111,1672,1597],{"class":773},[111,1674,1675],{"class":145}," launch.substitutions ",[111,1677,1585],{"class":773},[111,1679,1680],{"class":145}," LaunchConfiguration\n",[111,1682,1683],{"class":113,"line":439},[111,1684,118],{"emptyLinePlaceholder":117},[111,1686,1687,1689,1692,1694],{"class":113,"line":445},[111,1688,1597],{"class":773},[111,1690,1691],{"class":145}," launch_ros.actions ",[111,1693,1585],{"class":773},[111,1695,1696],{"class":145}," Node\n",[111,1698,1699],{"class":113,"line":451},[111,1700,118],{"emptyLinePlaceholder":117},[111,1702,1704,1707,1710],{"class":113,"line":1703},14,[111,1705,1706],{"class":773},"def",[111,1708,1709],{"class":131}," generate_launch_description",[111,1711,1712],{"class":145},"():\n",[111,1714,1716],{"class":113,"line":1715},15,[111,1717,118],{"emptyLinePlaceholder":117},[111,1719,1721,1724,1727,1730,1733],{"class":113,"line":1720},16,[111,1722,1723],{"class":145},"    this_pkg ",[111,1725,1726],{"class":773},"=",[111,1728,1729],{"class":145}," get_package_share_directory(",[111,1731,1732],{"class":135},"'demo_gazebo_sim'",[111,1734,1479],{"class":145},[111,1736,1738,1741,1743,1745,1748],{"class":113,"line":1737},17,[111,1739,1740],{"class":145},"    pkg_ros_gz_sim ",[111,1742,1726],{"class":773},[111,1744,1729],{"class":145},[111,1746,1747],{"class":135},"'ros_gz_sim'",[111,1749,1479],{"class":145},[111,1751,1753,1756,1758,1761,1764,1767,1770],{"class":113,"line":1752},18,[111,1754,1755],{"class":145},"    world_file ",[111,1757,1726],{"class":773},[111,1759,1760],{"class":145}," os.path.join(this_pkg,",[111,1762,1763],{"class":135},"'world'",[111,1765,1766],{"class":145},",",[111,1768,1769],{"class":135},"'visualize_lidar.sdf'",[111,1771,1479],{"class":145},[111,1773,1775],{"class":113,"line":1774},19,[111,1776,118],{"emptyLinePlaceholder":117},[111,1778,1780,1783,1785],{"class":113,"line":1779},20,[111,1781,1782],{"class":145},"    gz_sim ",[111,1784,1726],{"class":773},[111,1786,1787],{"class":145}," IncludeLaunchDescription(\n",[111,1789,1791],{"class":113,"line":1790},21,[111,1792,1793],{"class":145},"        PythonLaunchDescriptionSource(\n",[111,1795,1797,1800,1803,1806,1809],{"class":113,"line":1796},22,[111,1798,1799],{"class":145},"            os.path.join(pkg_ros_gz_sim, ",[111,1801,1802],{"class":135},"'launch'",[111,1804,1805],{"class":145},", ",[111,1807,1808],{"class":135},"'gz_sim.launch.py'",[111,1810,1811],{"class":145},")),\n",[111,1813,1815,1819,1821],{"class":113,"line":1814},23,[111,1816,1818],{"class":1817},"s4XuR","        launch_arguments",[111,1820,1726],{"class":773},[111,1822,1823],{"class":145},"{\n",[111,1825,1827,1830,1833,1836,1839],{"class":113,"line":1826},24,[111,1828,1829],{"class":135},"            'gz_args'",[111,1831,1832],{"class":145},": ",[111,1834,1835],{"class":135},"'-r '",[111,1837,1838],{"class":773}," +",[111,1840,1841],{"class":145}," world_file\n",[111,1843,1845],{"class":113,"line":1844},25,[111,1846,1847],{"class":145},"        }.items(),\n",[111,1849,1851],{"class":113,"line":1850},26,[111,1852,1853],{"class":145},"    )\n",[111,1855,1857],{"class":113,"line":1856},27,[111,1858,118],{"emptyLinePlaceholder":117},[111,1860,1862],{"class":113,"line":1861},28,[111,1863,1864],{"class":124},"    # RViz\n",[111,1866,1868,1871,1873],{"class":113,"line":1867},29,[111,1869,1870],{"class":145},"    rviz ",[111,1872,1726],{"class":773},[111,1874,1875],{"class":145}," Node(\n",[111,1877,1879,1882,1884,1887],{"class":113,"line":1878},30,[111,1880,1881],{"class":1817},"       package",[111,1883,1726],{"class":773},[111,1885,1886],{"class":135},"'rviz2'",[111,1888,1889],{"class":145},",\n",[111,1891,1893,1896,1898,1900],{"class":113,"line":1892},31,[111,1894,1895],{"class":1817},"       executable",[111,1897,1726],{"class":773},[111,1899,1886],{"class":135},[111,1901,1889],{"class":145},[111,1903,1905,1908,1910,1912,1915,1918,1921,1923,1926],{"class":113,"line":1904},32,[111,1906,1907],{"class":1817},"       arguments",[111,1909,1726],{"class":773},[111,1911,811],{"class":145},[111,1913,1914],{"class":135},"'-d'",[111,1916,1917],{"class":145},", os.path.join(this_pkg, ",[111,1919,1920],{"class":135},"'rviz'",[111,1922,1805],{"class":145},[111,1924,1925],{"class":135},"'sim.rviz'",[111,1927,1928],{"class":145},")],\n",[111,1930,1932,1935,1937,1940,1942],{"class":113,"line":1931},33,[111,1933,1934],{"class":1817},"       condition",[111,1936,1726],{"class":773},[111,1938,1939],{"class":145},"IfCondition(LaunchConfiguration(",[111,1941,1920],{"class":135},[111,1943,1944],{"class":145},"))\n",[111,1946,1948],{"class":113,"line":1947},34,[111,1949,1853],{"class":145},[111,1951,1953],{"class":113,"line":1952},35,[111,1954,118],{"emptyLinePlaceholder":117},[111,1956,1958],{"class":113,"line":1957},36,[111,1959,1960],{"class":124},"    # Bridge\n",[111,1962,1964,1967,1969],{"class":113,"line":1963},37,[111,1965,1966],{"class":145},"    bridge ",[111,1968,1726],{"class":773},[111,1970,1875],{"class":145},[111,1972,1974,1977,1979,1982],{"class":113,"line":1973},38,[111,1975,1976],{"class":1817},"        package",[111,1978,1726],{"class":773},[111,1980,1981],{"class":135},"'ros_gz_bridge'",[111,1983,1889],{"class":145},[111,1985,1987,1990,1992,1995],{"class":113,"line":1986},39,[111,1988,1989],{"class":1817},"        executable",[111,1991,1726],{"class":773},[111,1993,1994],{"class":135},"'parameter_bridge'",[111,1996,1889],{"class":145},[111,1998,2000,2003,2005,2007,2010],{"class":113,"line":1999},40,[111,2001,2002],{"class":1817},"        arguments",[111,2004,1726],{"class":773},[111,2006,811],{"class":145},[111,2008,2009],{"class":135},"'\u002Fmodel\u002Fvehicle_blue\u002Fcmd_vel@geometry_msgs\u002Fmsg\u002FTwist@gz.msgs.Twist'",[111,2011,1889],{"class":145},[111,2013,2015,2018],{"class":113,"line":2014},41,[111,2016,2017],{"class":135},"                   '\u002Fmodel\u002Fvehicle_blue\u002Fodometry@nav_msgs\u002Fmsg\u002FOdometry@gz.msgs.Odometry'",[111,2019,1889],{"class":145},[111,2021,2023,2026],{"class":113,"line":2022},42,[111,2024,2025],{"class":135},"                   '\u002Fmodel\u002Fvehicle_blue\u002Ftf@tf2_msgs\u002Fmsg\u002FTFMessage[gz.msgs.Pose_V'",[111,2027,1889],{"class":145},[111,2029,2031],{"class":113,"line":2030},43,[111,2032,2033],{"class":145},"                   ],\n",[111,2035,2037,2040,2042,2045,2048,2050,2053],{"class":113,"line":2036},44,[111,2038,2039],{"class":1817},"        parameters",[111,2041,1726],{"class":773},[111,2043,2044],{"class":145},"[{",[111,2046,2047],{"class":135},"'qos_overrides.\u002Fmodel\u002Fvehicle_blue.subscriber.reliability'",[111,2049,1832],{"class":145},[111,2051,2052],{"class":135},"'reliable'",[111,2054,2055],{"class":145},"}],\n",[111,2057,2059,2062,2064],{"class":113,"line":2058},45,[111,2060,2061],{"class":1817},"        remappings",[111,2063,1726],{"class":773},[111,2065,2066],{"class":145},"[\n",[111,2068,2070,2073,2076,2078,2081],{"class":113,"line":2069},46,[111,2071,2072],{"class":145},"                (",[111,2074,2075],{"class":135},"'\u002Fmodel\u002Fvehicle_blue\u002Ftf'",[111,2077,1805],{"class":145},[111,2079,2080],{"class":135},"'\u002Ftf'",[111,2082,2083],{"class":145},"),\n",[111,2085,2087,2089,2092,2094,2097],{"class":113,"line":2086},47,[111,2088,2072],{"class":145},[111,2090,2091],{"class":135},"'\u002Fmodel\u002Fvehicle_blue\u002Fcmd_vel'",[111,2093,1766],{"class":145},[111,2095,2096],{"class":135},"'cmd_vel'",[111,2098,1479],{"class":145},[111,2100,2102],{"class":113,"line":2101},48,[111,2103,2104],{"class":145},"            ],\n",[111,2106,2108,2111,2113],{"class":113,"line":2107},49,[111,2109,2110],{"class":1817},"        output",[111,2112,1726],{"class":773},[111,2114,2115],{"class":135},"'screen'\n",[111,2117,2119],{"class":113,"line":2118},50,[111,2120,1853],{"class":145},[111,2122,2124],{"class":113,"line":2123},51,[111,2125,118],{"emptyLinePlaceholder":117},[111,2127,2129,2132],{"class":113,"line":2128},52,[111,2130,2131],{"class":773},"    return",[111,2133,2134],{"class":145}," LaunchDescription([\n",[111,2136,2138],{"class":113,"line":2137},53,[111,2139,2140],{"class":145},"        gz_sim,\n",[111,2142,2144,2147,2149,2151,2154,2156,2159],{"class":113,"line":2143},54,[111,2145,2146],{"class":145},"        DeclareLaunchArgument(",[111,2148,1920],{"class":135},[111,2150,1805],{"class":145},[111,2152,2153],{"class":1817},"default_value",[111,2155,1726],{"class":773},[111,2157,2158],{"class":135},"'true'",[111,2160,1889],{"class":145},[111,2162,2164,2167,2169,2172],{"class":113,"line":2163},55,[111,2165,2166],{"class":1817},"                              description",[111,2168,1726],{"class":773},[111,2170,2171],{"class":135},"'Open RViz.'",[111,2173,2083],{"class":145},[111,2175,2177],{"class":113,"line":2176},56,[111,2178,2179],{"class":145},"        bridge,\n",[111,2181,2183],{"class":113,"line":2182},57,[111,2184,2185],{"class":145},"        rviz\n",[111,2187,2189],{"class":113,"line":2188},58,[111,2190,2191],{"class":145},"    ])\n",[15,2193,2194],{},"In this launch file, the Ignition Gazebo simulation environment is started, a connection between the simulation and ROS2 is established via ros_gz_bridge, and the rviz2 node is launched. When establishing the connection, message conversion for velocity commands, odometry, and coordinate transforms is implemented.",[15,2196,2197],{},[199,2198],{"alt":106,"src":2199},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1725.webp",[15,2201,2202],{},[50,2203,2204],{},"Build",[15,2206,2207],{},"In the terminal, navigate to the current workspace and compile the package:",[101,2209,2211],{"className":103,"code":2210,"language":105,"meta":106,"style":106},"colcon build  --packages-select demo_gazebo_sim\n",[108,2212,2213],{"__ignoreMap":106},[111,2214,2215,2218,2221,2224],{"class":113,"line":114},[111,2216,2217],{"class":131},"colcon",[111,2219,2220],{"class":135}," build",[111,2222,2223],{"class":575},"  --packages-select",[111,2225,1445],{"class":135},[15,2227,2228],{},[199,2229],{"alt":106,"src":2230},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1726.webp",[15,2232,2233],{},[50,2234,2235],{},"Execute",[15,2237,2238],{},"In the terminal, navigate to the current workspace and run the following command to execute the launch file:",[101,2240,2242],{"className":103,"code":2241,"language":105,"meta":106,"style":106},". install\u002Fsetup.bash\nros2 launch demo_gazebo_sim gazebo_sim_demo.launch.py\n",[108,2243,2244,2252],{"__ignoreMap":106},[111,2245,2246,2249],{"class":113,"line":114},[111,2247,2248],{"class":575},".",[111,2250,2251],{"class":135}," install\u002Fsetup.bash\n",[111,2253,2254,2256,2258,2261],{"class":113,"line":121},[111,2255,262],{"class":131},[111,2257,265],{"class":135},[111,2259,2260],{"class":135}," demo_gazebo_sim",[111,2262,2263],{"class":135}," gazebo_sim_demo.launch.py\n",[15,2265,2266],{},"Open a new terminal and start the keyboard control node:",[101,2268,2270],{"className":103,"code":2269,"language":105,"meta":106,"style":106},"ros2 run teleop_twist_keyboard teleop_twist_keyboard\n",[108,2271,2272],{"__ignoreMap":106},[111,2273,2274,2276,2278,2280],{"class":113,"line":114},[111,2275,262],{"class":131},[111,2277,665],{"class":135},[111,2279,713],{"class":135},[111,2281,2282],{"class":135}," teleop_twist_keyboard\n",[15,2284,2285,2286,2289,2290,2293,2294,2297],{},"Reconfigure rviz2, set ",[108,2287,2288],{},"Fixed Frame"," to ",[108,2291,2292],{},"vehicle_blue\u002Fodom",", add the TF plugin, add the Odometry plugin and set the topic to ",[108,2295,2296],{},"\u002Fmodel\u002Fvehicle_blue\u002Fodometry",". When sending velocity commands via keyboard control, the robot in the simulation environment starts moving, and coordinate transforms as well as odometry messages can be displayed in rviz2.",[15,2299,2300],{},[199,2301],{"alt":106,"src":2302},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1727.webp",[27,2304,2306,2307],{"id":2305},"creating-a-simulation-environment-sdf-file","Creating a Simulation Environment ",[50,2308,2309],{},"SDF File",[15,2311,2312],{},"In the previous sections, we used the built-in simulation environment of Ignition Gazebo. Starting from this section, we will introduce how to build your own simulation environment. The example in this section will simulate a rectangular room that is 10 meters long and 5 meters wide. For this example, you can first launch Ignition Gazebo and build the simulation environment by dragging and dropping, then modify the corresponding simulation environment files to adjust the details.",[15,2314,2315],{},[50,2316,2317],{},"Relationship between SDF, URDF, and Xacro:",[309,2319,2320,2355],{},[312,2321,2322,2325],{},[50,2323,2324],{},"Difference between URDF and SDF:",[309,2326,2327,2333,2339,2345],{},[312,2328,2329,2332],{},[50,2330,2331],{},"Complexity:"," SDF supports more powerful features and can describe a complete simulation environment; URDF is better suited for defining robot models.",[312,2334,2335,2338],{},[50,2336,2337],{},"Purpose:"," URDF is the standard for ROS; SDF is the standard for Gazebo.",[312,2340,2341,2344],{},[50,2342,2343],{},"Physics Engine Support:"," URDF supports Gazebo through plugins; SDF natively supports Gazebo.",[312,2346,2347,2350,2351,2354],{},[50,2348,2349],{},"Format Conversion:"," URDF can be converted to SDF (via the tool ",[108,2352,2353],{},"gz sdf -p"," provided by ROS).",[312,2356,2357,2360],{},[50,2358,2359],{},"The Role of Xacro:",[309,2361,2362],{},[312,2363,2364],{},"Xacro is a URDF generation tool that helps users efficiently write URDF files, but it has no direct relationship with SDF.",[2366,2367],"hr",{},[15,2369,2370],{},[50,2371,2372],{},"Practical Advice",[309,2374,2375,2381,2387],{},[312,2376,2377,2380],{},[50,2378,2379],{},"In the Gazebo simulation:"," If you are using ROS 2 and Gazebo, you can directly use SDF files, which offer more powerful functionality.",[312,2382,2383,2386],{},[50,2384,2385],{},"In ROS:"," If primarily used for robot control and planning, URDF or URDF generated by Xacro is recommended.",[312,2388,2389,2392],{},[50,2390,2391],{},"Combining the two:"," Use URDF for control and SDF for simulation. For example, after defining the robot structure with URDF, convert it to SDF using Gazebo plugins.",[15,2394,2395],{},[50,2396,2397],{},"Example Comparison",[15,2399,2400],{},"URDF Example:",[101,2402,2406],{"className":2403,"code":2404,"language":2405,"meta":106,"style":106},"language-xml shiki shiki-themes github-light github-dark","\u003Crobot name=\"example_robot\">\n  \u003Clink name=\"base_link\">\n    \u003Cinertial>\n      \u003Cmass value=\"1.0\" \u002F>\n      \u003Cinertia ixx=\"1.0\" ixy=\"0.0\" ixz=\"0.0\" iyy=\"1.0\" iyz=\"0.0\" izz=\"1.0\" \u002F>\n    \u003C\u002Finertial>\n  \u003C\u002Flink>\n\u003C\u002Frobot>\n\n","xml",[108,2407,2408,2428,2445,2455,2474,2526,2535,2544],{"__ignoreMap":106},[111,2409,2410,2413,2417,2420,2422,2425],{"class":113,"line":114},[111,2411,2412],{"class":145},"\u003C",[111,2414,2416],{"class":2415},"s9eBZ","robot",[111,2418,2419],{"class":131}," name",[111,2421,1726],{"class":145},[111,2423,2424],{"class":135},"\"example_robot\"",[111,2426,2427],{"class":145},">\n",[111,2429,2430,2433,2436,2438,2440,2443],{"class":113,"line":121},[111,2431,2432],{"class":145},"  \u003C",[111,2434,2435],{"class":2415},"link",[111,2437,2419],{"class":131},[111,2439,1726],{"class":145},[111,2441,2442],{"class":135},"\"base_link\"",[111,2444,2427],{"class":145},[111,2446,2447,2450,2453],{"class":113,"line":128},[111,2448,2449],{"class":145},"    \u003C",[111,2451,2452],{"class":2415},"inertial",[111,2454,2427],{"class":145},[111,2456,2457,2460,2463,2466,2468,2471],{"class":113,"line":152},[111,2458,2459],{"class":145},"      \u003C",[111,2461,2462],{"class":2415},"mass",[111,2464,2465],{"class":131}," value",[111,2467,1726],{"class":145},[111,2469,2470],{"class":135},"\"1.0\"",[111,2472,2473],{"class":145}," \u002F>\n",[111,2475,2476,2478,2481,2484,2486,2488,2491,2493,2496,2499,2501,2503,2506,2508,2510,2513,2515,2517,2520,2522,2524],{"class":113,"line":157},[111,2477,2459],{"class":145},[111,2479,2480],{"class":2415},"inertia",[111,2482,2483],{"class":131}," ixx",[111,2485,1726],{"class":145},[111,2487,2470],{"class":135},[111,2489,2490],{"class":131}," ixy",[111,2492,1726],{"class":145},[111,2494,2495],{"class":135},"\"0.0\"",[111,2497,2498],{"class":131}," ixz",[111,2500,1726],{"class":145},[111,2502,2495],{"class":135},[111,2504,2505],{"class":131}," iyy",[111,2507,1726],{"class":145},[111,2509,2470],{"class":135},[111,2511,2512],{"class":131}," iyz",[111,2514,1726],{"class":145},[111,2516,2495],{"class":135},[111,2518,2519],{"class":131}," izz",[111,2521,1726],{"class":145},[111,2523,2470],{"class":135},[111,2525,2473],{"class":145},[111,2527,2528,2531,2533],{"class":113,"line":163},[111,2529,2530],{"class":145},"    \u003C\u002F",[111,2532,2452],{"class":2415},[111,2534,2427],{"class":145},[111,2536,2537,2540,2542],{"class":113,"line":175},[111,2538,2539],{"class":145},"  \u003C\u002F",[111,2541,2435],{"class":2415},[111,2543,2427],{"class":145},[111,2545,2546,2549,2551],{"class":113,"line":180},[111,2547,2548],{"class":145},"\u003C\u002F",[111,2550,2416],{"class":2415},[111,2552,2427],{"class":145},[15,2554,2555],{},"Xacro example (generating URDF):",[101,2557,2559],{"className":2403,"code":2558,"language":2405,"meta":106,"style":106},"\u003Cxacro:robot xmlns:xacro=\"http:\u002F\u002Fwww.ros.org\u002Fwiki\u002Fxacro\" name=\"example_robot\">\n  \u003Cxacro:macro name=\"base_link\" params=\"mass\">\n    \u003Clink name=\"base_link\">\n      \u003Cinertial>\n        \u003Cmass value=\"${mass}\" \u002F>\n        \u003Cinertia ixx=\"1.0\" ixy=\"0.0\" ixz=\"0.0\" iyy=\"1.0\" iyz=\"0.0\" izz=\"1.0\" \u002F>\n      \u003C\u002Finertial>\n    \u003C\u002Flink>\n  \u003C\u002Fxacro:macro>\n\n  \u003Cxacro:base_link mass=\"1.0\" \u002F>\n\u003C\u002Fxacro:robot>\n",[108,2560,2561,2584,2607,2621,2629,2645,2689,2698,2706,2714,2718,2734],{"__ignoreMap":106},[111,2562,2563,2565,2568,2571,2573,2576,2578,2580,2582],{"class":113,"line":114},[111,2564,2412],{"class":145},[111,2566,2567],{"class":2415},"xacro:robot",[111,2569,2570],{"class":131}," xmlns:xacro",[111,2572,1726],{"class":145},[111,2574,2575],{"class":135},"\"http:\u002F\u002Fwww.ros.org\u002Fwiki\u002Fxacro\"",[111,2577,2419],{"class":131},[111,2579,1726],{"class":145},[111,2581,2424],{"class":135},[111,2583,2427],{"class":145},[111,2585,2586,2588,2591,2593,2595,2597,2600,2602,2605],{"class":113,"line":121},[111,2587,2432],{"class":145},[111,2589,2590],{"class":2415},"xacro:macro",[111,2592,2419],{"class":131},[111,2594,1726],{"class":145},[111,2596,2442],{"class":135},[111,2598,2599],{"class":131}," params",[111,2601,1726],{"class":145},[111,2603,2604],{"class":135},"\"mass\"",[111,2606,2427],{"class":145},[111,2608,2609,2611,2613,2615,2617,2619],{"class":113,"line":128},[111,2610,2449],{"class":145},[111,2612,2435],{"class":2415},[111,2614,2419],{"class":131},[111,2616,1726],{"class":145},[111,2618,2442],{"class":135},[111,2620,2427],{"class":145},[111,2622,2623,2625,2627],{"class":113,"line":152},[111,2624,2459],{"class":145},[111,2626,2452],{"class":2415},[111,2628,2427],{"class":145},[111,2630,2631,2634,2636,2638,2640,2643],{"class":113,"line":157},[111,2632,2633],{"class":145},"        \u003C",[111,2635,2462],{"class":2415},[111,2637,2465],{"class":131},[111,2639,1726],{"class":145},[111,2641,2642],{"class":135},"\"${mass}\"",[111,2644,2473],{"class":145},[111,2646,2647,2649,2651,2653,2655,2657,2659,2661,2663,2665,2667,2669,2671,2673,2675,2677,2679,2681,2683,2685,2687],{"class":113,"line":163},[111,2648,2633],{"class":145},[111,2650,2480],{"class":2415},[111,2652,2483],{"class":131},[111,2654,1726],{"class":145},[111,2656,2470],{"class":135},[111,2658,2490],{"class":131},[111,2660,1726],{"class":145},[111,2662,2495],{"class":135},[111,2664,2498],{"class":131},[111,2666,1726],{"class":145},[111,2668,2495],{"class":135},[111,2670,2505],{"class":131},[111,2672,1726],{"class":145},[111,2674,2470],{"class":135},[111,2676,2512],{"class":131},[111,2678,1726],{"class":145},[111,2680,2495],{"class":135},[111,2682,2519],{"class":131},[111,2684,1726],{"class":145},[111,2686,2470],{"class":135},[111,2688,2473],{"class":145},[111,2690,2691,2694,2696],{"class":113,"line":175},[111,2692,2693],{"class":145},"      \u003C\u002F",[111,2695,2452],{"class":2415},[111,2697,2427],{"class":145},[111,2699,2700,2702,2704],{"class":113,"line":180},[111,2701,2530],{"class":145},[111,2703,2435],{"class":2415},[111,2705,2427],{"class":145},[111,2707,2708,2710,2712],{"class":113,"line":186},[111,2709,2539],{"class":145},[111,2711,2590],{"class":2415},[111,2713,2427],{"class":145},[111,2715,2716],{"class":113,"line":433},[111,2717,118],{"emptyLinePlaceholder":117},[111,2719,2720,2722,2725,2728,2730,2732],{"class":113,"line":439},[111,2721,2432],{"class":145},[111,2723,2724],{"class":2415},"xacro:base_link",[111,2726,2727],{"class":131}," mass",[111,2729,1726],{"class":145},[111,2731,2470],{"class":135},[111,2733,2473],{"class":145},[111,2735,2736,2738,2740],{"class":113,"line":445},[111,2737,2548],{"class":145},[111,2739,2567],{"class":2415},[111,2741,2427],{"class":145},[15,2743,2744],{},"SDF example:",[101,2746,2748],{"className":2403,"code":2747,"language":2405,"meta":106,"style":106},"\u003Csdf version=\"1.6\">\n  \u003Cmodel name=\"example_robot\">\n    \u003Clink name=\"base_link\">\n      \u003Cinertial>\n        \u003Cmass>1.0\u003C\u002Fmass>\n        \u003Cinertia>\n          \u003Cixx>1.0\u003C\u002Fixx>\n          \u003Ciyy>1.0\u003C\u002Fiyy>\n          \u003Cizz>1.0\u003C\u002Fizz>\n        \u003C\u002Finertia>\n      \u003C\u002Finertial>\n    \u003C\u002Flink>\n  \u003C\u002Fmodel>\n\u003C\u002Fsdf>\n\n",[108,2749,2750,2767,2782,2796,2804,2817,2825,2839,2852,2865,2874,2882,2890,2898],{"__ignoreMap":106},[111,2751,2752,2754,2757,2760,2762,2765],{"class":113,"line":114},[111,2753,2412],{"class":145},[111,2755,2756],{"class":2415},"sdf",[111,2758,2759],{"class":131}," version",[111,2761,1726],{"class":145},[111,2763,2764],{"class":135},"\"1.6\"",[111,2766,2427],{"class":145},[111,2768,2769,2771,2774,2776,2778,2780],{"class":113,"line":121},[111,2770,2432],{"class":145},[111,2772,2773],{"class":2415},"model",[111,2775,2419],{"class":131},[111,2777,1726],{"class":145},[111,2779,2424],{"class":135},[111,2781,2427],{"class":145},[111,2783,2784,2786,2788,2790,2792,2794],{"class":113,"line":128},[111,2785,2449],{"class":145},[111,2787,2435],{"class":2415},[111,2789,2419],{"class":131},[111,2791,1726],{"class":145},[111,2793,2442],{"class":135},[111,2795,2427],{"class":145},[111,2797,2798,2800,2802],{"class":113,"line":152},[111,2799,2459],{"class":145},[111,2801,2452],{"class":2415},[111,2803,2427],{"class":145},[111,2805,2806,2808,2810,2813,2815],{"class":113,"line":157},[111,2807,2633],{"class":145},[111,2809,2462],{"class":2415},[111,2811,2812],{"class":145},">1.0\u003C\u002F",[111,2814,2462],{"class":2415},[111,2816,2427],{"class":145},[111,2818,2819,2821,2823],{"class":113,"line":163},[111,2820,2633],{"class":145},[111,2822,2480],{"class":2415},[111,2824,2427],{"class":145},[111,2826,2827,2830,2833,2835,2837],{"class":113,"line":175},[111,2828,2829],{"class":145},"          \u003C",[111,2831,2832],{"class":2415},"ixx",[111,2834,2812],{"class":145},[111,2836,2832],{"class":2415},[111,2838,2427],{"class":145},[111,2840,2841,2843,2846,2848,2850],{"class":113,"line":180},[111,2842,2829],{"class":145},[111,2844,2845],{"class":2415},"iyy",[111,2847,2812],{"class":145},[111,2849,2845],{"class":2415},[111,2851,2427],{"class":145},[111,2853,2854,2856,2859,2861,2863],{"class":113,"line":186},[111,2855,2829],{"class":145},[111,2857,2858],{"class":2415},"izz",[111,2860,2812],{"class":145},[111,2862,2858],{"class":2415},[111,2864,2427],{"class":145},[111,2866,2867,2870,2872],{"class":113,"line":433},[111,2868,2869],{"class":145},"        \u003C\u002F",[111,2871,2480],{"class":2415},[111,2873,2427],{"class":145},[111,2875,2876,2878,2880],{"class":113,"line":439},[111,2877,2693],{"class":145},[111,2879,2452],{"class":2415},[111,2881,2427],{"class":145},[111,2883,2884,2886,2888],{"class":113,"line":445},[111,2885,2530],{"class":145},[111,2887,2435],{"class":2415},[111,2889,2427],{"class":145},[111,2891,2892,2894,2896],{"class":113,"line":451},[111,2893,2539],{"class":145},[111,2895,2773],{"class":2415},[111,2897,2427],{"class":145},[111,2899,2900,2902,2904],{"class":113,"line":1703},[111,2901,2548],{"class":145},[111,2903,2756],{"class":2415},[111,2905,2427],{"class":145},[15,2907,2908],{},[50,2909,2910],{},"1. Create an sdf file",[15,2912,2913,2914,2917],{},"First, call the command ",[108,2915,2916],{},"ign gazebo"," to launch Gazebo, select the Empty simulation environment, then add cubes, with each cube corresponding to a wall.",[15,2919,2920],{},"The coordinates corresponding to the up, down, left, and right cubes box, box_1, box_2, and box_3 are (5.0, 0.0, 0.5), (-5.0, 0.0, 0.5), (0.0, 2.5, 0.5), and (0.0, -2.5, 0.5), respectively.",[15,2922,2923],{},"(The coordinates above refer to X, Y, Z coordinates, with no rotation.)",[15,2925,2926,2927,2929,2930,2933,2934,2248],{},"Save the file to the ",[108,2928,1493],{}," directory of the function package. The saved file must have the ",[108,2931,2932],{},".sdf"," extension; here, the file name is ",[108,2935,2936],{},"house.sdf",[15,2938,2939],{},[199,2940],{"alt":106,"src":2941},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1728.webp",[15,2943,2944],{},[199,2945],{"alt":106,"src":2946},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1729.webp",[101,2948,2950],{"className":2403,"code":2949,"language":2405,"meta":106,"style":106},"\u003Csdf version='1.9'>\n  \u003Cworld name='empty'>\n    \u003Cphysics name='1ms' type='ignored'>\n      \u003Cmax_step_size>0.001\u003C\u002Fmax_step_size>\n      \u003Creal_time_factor>1\u003C\u002Freal_time_factor>\n      \u003Creal_time_update_rate>1000\u003C\u002Freal_time_update_rate>\n    \u003C\u002Fphysics>\n    \u003Cplugin name='gz::sim::systems::Physics' filename='ignition-gazebo-physics-system'\u002F>\n    \u003Cplugin name='gz::sim::systems::UserCommands' filename='ignition-gazebo-user-commands-system'\u002F>\n    \u003Cplugin name='gz::sim::systems::SceneBroadcaster' filename='ignition-gazebo-scene-broadcaster-system'\u002F>\n    \u003Cplugin name='gz::sim::systems::Contact' filename='ignition-gazebo-contact-system'\u002F>\n    \u003Cgravity>0 0 -9.8\u003C\u002Fgravity>\n    \u003Cmagnetic_field>6e-06 2.3e-05 -4.2e-05\u003C\u002Fmagnetic_field>\n    \u003Catmosphere type='adiabatic'\u002F>\n    \u003Cscene>\n      \u003Cambient>0.4 0.4 0.4 1\u003C\u002Fambient>\n      \u003Cbackground>0.7 0.7 0.7 1\u003C\u002Fbackground>\n      \u003Cshadows>true\u003C\u002Fshadows>\n    \u003C\u002Fscene>\n    \u003Cmodel name='ground_plane'>\n      \u003Cstatic>true\u003C\u002Fstatic>\n      \u003Clink name='link'>\n        \u003Ccollision name='collision'>\n          \u003Cgeometry>\n            \u003Cplane>\n              \u003Cnormal>0 0 1\u003C\u002Fnormal>\n              \u003Csize>100 100\u003C\u002Fsize>\n            \u003C\u002Fplane>\n          \u003C\u002Fgeometry>\n          \u003Csurface>\n            \u003Cfriction>\n              \u003Code\u002F>\n            \u003C\u002Ffriction>\n            \u003Cbounce\u002F>\n            \u003Ccontact\u002F>\n          \u003C\u002Fsurface>\n        \u003C\u002Fcollision>\n        \u003Cvisual name='visual'>\n          \u003Cgeometry>\n            \u003Cplane>\n              \u003Cnormal>0 0 1\u003C\u002Fnormal>\n              \u003Csize>100 100\u003C\u002Fsize>\n            \u003C\u002Fplane>\n          \u003C\u002Fgeometry>\n          \u003Cmaterial>\n            \u003Cambient>0.8 0.8 0.8 1\u003C\u002Fambient>\n            \u003Cdiffuse>0.8 0.8 0.8 1\u003C\u002Fdiffuse>\n            \u003Cspecular>0.8 0.8 0.8 1\u003C\u002Fspecular>\n          \u003C\u002Fmaterial>\n        \u003C\u002Fvisual>\n        \u003Cpose>0 0 0 0 -0 0\u003C\u002Fpose>\n        \u003Cinertial>\n          \u003Cpose>0 0 0 0 -0 0\u003C\u002Fpose>\n          \u003Cmass>100\u003C\u002Fmass>\n          \u003Cinertia>\n            \u003Cixx>1\u003C\u002Fixx>\n            \u003Cixy>0\u003C\u002Fixy>\n            \u003Cixz>0\u003C\u002Fixz>\n            \u003Ciyy>1\u003C\u002Fiyy>\n            \u003Ciyz>0\u003C\u002Fiyz>\n            \u003Cizz>1\u003C\u002Fizz>\n          \u003C\u002Finertia>\n        \u003C\u002Finertial>\n        \u003Cenable_wind>false\u003C\u002Fenable_wind>\n      \u003C\u002Flink>\n      \u003Cpose>0 0 0 0 -0 0\u003C\u002Fpose>\n      \u003Cself_collide>false\u003C\u002Fself_collide>\n    \u003C\u002Fmodel>\n    \u003Cmodel name='box'>\n      \u003Cpose>5.0 0 0.5 -0 0 0\u003C\u002Fpose>\n      \u003Clink name='box_link'>\n        \u003Cinertial>\n          \u003Cinertia>\n            \u003Cixx>16.666\u003C\u002Fixx>\n            \u003Cixy>0\u003C\u002Fixy>\n            \u003Cixz>0\u003C\u002Fixz>\n            \u003Ciyy>16.666\u003C\u002Fiyy>\n            \u003Ciyz>0\u003C\u002Fiyz>\n            \u003Cizz>16.666\u003C\u002Fizz>\n          \u003C\u002Finertia>\n          \u003Cmass>100\u003C\u002Fmass>\n          \u003Cpose>0 0 0 0 -0 0\u003C\u002Fpose>\n        \u003C\u002Finertial>\n        \u003Ccollision name='box_collision'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>0.1 5 1\u003C\u002Fsize>\n            \u003C\u002Fbox>\n          \u003C\u002Fgeometry>\n          \u003Csurface>\n            \u003Cfriction>\n              \u003Code\u002F>\n            \u003C\u002Ffriction>\n            \u003Cbounce\u002F>\n            \u003Ccontact\u002F>\n          \u003C\u002Fsurface>\n        \u003C\u002Fcollision>\n        \u003Cvisual name='box_visual'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>0.1 5 1\u003C\u002Fsize>\n            \u003C\u002Fbox>\n          \u003C\u002Fgeometry>\n          \u003Cmaterial>\n            \u003Cambient>0.3 0.3 0.3 1\u003C\u002Fambient>\n            \u003Cdiffuse>0.7 0.7 0.7 1\u003C\u002Fdiffuse>\n            \u003Cspecular>1 1 1 1\u003C\u002Fspecular>\n          \u003C\u002Fmaterial>\n        \u003C\u002Fvisual>\n        \u003Cpose>0 0 0 0 -0 0\u003C\u002Fpose>\n        \u003Cenable_wind>false\u003C\u002Fenable_wind>\n      \u003C\u002Flink>\n      \u003Cstatic>false\u003C\u002Fstatic>\n      \u003Cself_collide>false\u003C\u002Fself_collide>\n    \u003C\u002Fmodel>\n    \u003Cmodel name='box_0'>\n      \u003Cpose>-5.0 -0 0.50000 -0 0 0\u003C\u002Fpose>\n      \u003Clink name='box_link'>\n        \u003Cinertial>\n          \u003Cinertia>\n            \u003Cixx>16.666\u003C\u002Fixx>\n            \u003Cixy>0\u003C\u002Fixy>\n            \u003Cixz>0\u003C\u002Fixz>\n            \u003Ciyy>16.666\u003C\u002Fiyy>\n            \u003Ciyz>0\u003C\u002Fiyz>\n            \u003Cizz>16.666\u003C\u002Fizz>\n          \u003C\u002Finertia>\n          \u003Cmass>100\u003C\u002Fmass>\n          \u003Cpose>0 0 0 0 -0 0\u003C\u002Fpose>\n        \u003C\u002Finertial>\n        \u003Ccollision name='box_collision'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>0.1 5 1\u003C\u002Fsize>\n            \u003C\u002Fbox>\n          \u003C\u002Fgeometry>\n          \u003Csurface>\n            \u003Cfriction>\n              \u003Code\u002F>\n            \u003C\u002Ffriction>\n            \u003Cbounce\u002F>\n            \u003Ccontact\u002F>\n          \u003C\u002Fsurface>\n        \u003C\u002Fcollision>\n        \u003Cvisual name='box_visual'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>0.1 5 1\u003C\u002Fsize>\n            \u003C\u002Fbox>\n          \u003C\u002Fgeometry>\n          \u003Cmaterial>\n            \u003Cambient>0.3 0.3 0.3 1\u003C\u002Fambient>\n            \u003Cdiffuse>0.7 0.7 0.7 1\u003C\u002Fdiffuse>\n            \u003Cspecular>1 1 1 1\u003C\u002Fspecular>\n          \u003C\u002Fmaterial>\n        \u003C\u002Fvisual>\n        \u003Cpose>0 0 0 0 -0 0\u003C\u002Fpose>\n        \u003Cenable_wind>false\u003C\u002Fenable_wind>\n      \u003C\u002Flink>\n      \u003Cstatic>false\u003C\u002Fstatic>\n      \u003Cself_collide>false\u003C\u002Fself_collide>\n    \u003C\u002Fmodel>\n    \u003Cmodel name='box_1'>\n      \u003Cpose>-0 -2.5 0.5 -0 -0 -0\u003C\u002Fpose>\n      \u003Clink name='box_link'>\n        \u003Cinertial>\n          \u003Cinertia>\n            \u003Cixx>16.666\u003C\u002Fixx>\n            \u003Cixy>0\u003C\u002Fixy>\n            \u003Cixz>0\u003C\u002Fixz>\n            \u003Ciyy>16.666\u003C\u002Fiyy>\n            \u003Ciyz>0\u003C\u002Fiyz>\n            \u003Cizz>16.666\u003C\u002Fizz>\n          \u003C\u002Finertia>\n          \u003Cmass>100\u003C\u002Fmass>\n          \u003Cpose>0 0 0 0 -0 0\u003C\u002Fpose>\n        \u003C\u002Finertial>\n        \u003Ccollision name='box_collision'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>10 0.1 1\u003C\u002Fsize>\n            \u003C\u002Fbox>\n          \u003C\u002Fgeometry>\n          \u003Csurface>\n            \u003Cfriction>\n              \u003Code\u002F>\n            \u003C\u002Ffriction>\n            \u003Cbounce\u002F>\n            \u003Ccontact\u002F>\n          \u003C\u002Fsurface>\n        \u003C\u002Fcollision>\n        \u003Cvisual name='box_visual'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>10 0.1 1\u003C\u002Fsize>\n            \u003C\u002Fbox>\n          \u003C\u002Fgeometry>\n          \u003Cmaterial>\n            \u003Cambient>0.3 0.3 0.3 1\u003C\u002Fambient>\n            \u003Cdiffuse>0.7 0.7 0.7 1\u003C\u002Fdiffuse>\n            \u003Cspecular>1 1 1 1\u003C\u002Fspecular>\n          \u003C\u002Fmaterial>\n        \u003C\u002Fvisual>\n        \u003Cpose>0 0 0 0 -0 0\u003C\u002Fpose>\n        \u003Cenable_wind>false\u003C\u002Fenable_wind>\n      \u003C\u002Flink>\n      \u003Cstatic>false\u003C\u002Fstatic>\n      \u003Cself_collide>false\u003C\u002Fself_collide>\n    \u003C\u002Fmodel>\n    \u003Cmodel name='box_2'>\n      \u003Cpose>-0 2.5 0.5 0 -0 -0\u003C\u002Fpose>\n      \u003Clink name='box_link'>\n        \u003Cinertial>\n          \u003Cinertia>\n            \u003Cixx>16.666\u003C\u002Fixx>\n            \u003Cixy>0\u003C\u002Fixy>\n            \u003Cixz>0\u003C\u002Fixz>\n            \u003Ciyy>16.666\u003C\u002Fiyy>\n            \u003Ciyz>0\u003C\u002Fiyz>\n            \u003Cizz>16.666\u003C\u002Fizz>\n          \u003C\u002Finertia>\n          \u003Cmass>100\u003C\u002Fmass>\n          \u003Cpose>0 0 0 0 -0 0\u003C\u002Fpose>\n        \u003C\u002Finertial>\n        \u003Ccollision name='box_collision'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>10 0.1 1\u003C\u002Fsize>\n            \u003C\u002Fbox>\n          \u003C\u002Fgeometry>\n          \u003Csurface>\n            \u003Cfriction>\n              \u003Code\u002F>\n            \u003C\u002Ffriction>\n            \u003Cbounce\u002F>\n            \u003Ccontact\u002F>\n          \u003C\u002Fsurface>\n        \u003C\u002Fcollision>\n        \u003Cvisual name='box_visual'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>10 0.1 1\u003C\u002Fsize>\n            \u003C\u002Fbox>\n          \u003C\u002Fgeometry>\n          \u003Cmaterial>\n            \u003Cambient>0.3 0.3 0.3 1\u003C\u002Fambient>\n            \u003Cdiffuse>0.7 0.7 0.7 1\u003C\u002Fdiffuse>\n            \u003Cspecular>1 1 1 1\u003C\u002Fspecular>\n          \u003C\u002Fmaterial>\n        \u003C\u002Fvisual>\n        \u003Cpose>0 0 0 0 -0 0\u003C\u002Fpose>\n        \u003Cenable_wind>false\u003C\u002Fenable_wind>\n      \u003C\u002Flink>\n      \u003Cstatic>false\u003C\u002Fstatic>\n      \u003Cself_collide>false\u003C\u002Fself_collide>\n    \u003C\u002Fmodel>\n    \u003Clight name='sun' type='directional'>\n      \u003Cpose>0 0 10 0 -0 0\u003C\u002Fpose>\n      \u003Ccast_shadows>true\u003C\u002Fcast_shadows>\n      \u003Cintensity>1\u003C\u002Fintensity>\n      \u003Cdirection>-0.5 0.1 -0.9\u003C\u002Fdirection>\n      \u003Cdiffuse>0.8 0.8 0.8 1\u003C\u002Fdiffuse>\n      \u003Cspecular>0.2 0.2 0.2 1\u003C\u002Fspecular>\n      \u003Cattenuation>\n        \u003Crange>1000\u003C\u002Frange>\n        \u003Clinear>0.01\u003C\u002Flinear>\n        \u003Cconstant>0.90000000000000002\u003C\u002Fconstant>\n        \u003Cquadratic>0.001\u003C\u002Fquadratic>\n      \u003C\u002Fattenuation>\n      \u003Cspot>\n        \u003Cinner_angle>0\u003C\u002Finner_angle>\n        \u003Couter_angle>0\u003C\u002Fouter_angle>\n        \u003Cfalloff>0\u003C\u002Ffalloff>\n      \u003C\u002Fspot>\n    \u003C\u002Flight>\n  \u003C\u002Fworld>\n\u003C\u002Fsdf>\n",[108,2951,2952,2967,2982,3006,3020,3034,3048,3056,3081,3103,3125,3147,3161,3175,3191,3200,3214,3228,3242,3250,3265,3278,3293,3309,3318,3328,3343,3357,3366,3375,3384,3393,3402,3410,3419,3428,3436,3444,3460,3468,3476,3488,3500,3508,3516,3525,3538,3551,3564,3572,3580,3594,3602,3614,3627,3635,3647,3661,3674,3687,3701,3714,3723,3732,3747,3756,3769,3783,3792,3808,3822,3838,3847,3856,3870,3883,3896,3909,3922,3935,3944,3957,3970,3979,3995,4004,4014,4028,4037,4046,4055,4064,4073,4082,4091,4100,4109,4118,4134,4143,4152,4165,4174,4183,4192,4206,4219,4233,4242,4251,4264,4277,4286,4299,4312,4321,4337,4351,4366,4375,4384,4397,4410,4423,4436,4449,4462,4471,4484,4497,4506,4521,4530,4539,4552,4561,4570,4579,4588,4597,4606,4615,4624,4633,4642,4657,4666,4675,4688,4697,4706,4715,4728,4741,4754,4763,4772,4785,4798,4807,4820,4833,4842,4858,4872,4887,4896,4905,4918,4931,4944,4957,4970,4983,4992,5005,5018,5027,5042,5051,5060,5074,5083,5092,5101,5110,5119,5128,5137,5146,5155,5164,5179,5188,5197,5210,5219,5228,5237,5250,5263,5276,5285,5294,5307,5320,5329,5342,5355,5364,5380,5394,5409,5418,5427,5440,5453,5466,5479,5492,5505,5514,5527,5540,5549,5564,5573,5582,5595,5604,5613,5622,5631,5640,5649,5658,5667,5676,5685,5700,5709,5718,5731,5740,5749,5758,5771,5784,5797,5806,5815,5828,5841,5850,5863,5876,5885,5909,5923,5937,5951,5966,5979,5993,6003,6017,6032,6047,6061,6070,6080,6094,6108,6122,6131,6140,6149],{"__ignoreMap":106},[111,2953,2954,2956,2958,2960,2962,2965],{"class":113,"line":114},[111,2955,2412],{"class":145},[111,2957,2756],{"class":2415},[111,2959,2759],{"class":131},[111,2961,1726],{"class":145},[111,2963,2964],{"class":135},"'1.9'",[111,2966,2427],{"class":145},[111,2968,2969,2971,2973,2975,2977,2980],{"class":113,"line":121},[111,2970,2432],{"class":145},[111,2972,1493],{"class":2415},[111,2974,2419],{"class":131},[111,2976,1726],{"class":145},[111,2978,2979],{"class":135},"'empty'",[111,2981,2427],{"class":145},[111,2983,2984,2986,2989,2991,2993,2996,2999,3001,3004],{"class":113,"line":128},[111,2985,2449],{"class":145},[111,2987,2988],{"class":2415},"physics",[111,2990,2419],{"class":131},[111,2992,1726],{"class":145},[111,2994,2995],{"class":135},"'1ms'",[111,2997,2998],{"class":131}," type",[111,3000,1726],{"class":145},[111,3002,3003],{"class":135},"'ignored'",[111,3005,2427],{"class":145},[111,3007,3008,3010,3013,3016,3018],{"class":113,"line":152},[111,3009,2459],{"class":145},[111,3011,3012],{"class":2415},"max_step_size",[111,3014,3015],{"class":145},">0.001\u003C\u002F",[111,3017,3012],{"class":2415},[111,3019,2427],{"class":145},[111,3021,3022,3024,3027,3030,3032],{"class":113,"line":157},[111,3023,2459],{"class":145},[111,3025,3026],{"class":2415},"real_time_factor",[111,3028,3029],{"class":145},">1\u003C\u002F",[111,3031,3026],{"class":2415},[111,3033,2427],{"class":145},[111,3035,3036,3038,3041,3044,3046],{"class":113,"line":163},[111,3037,2459],{"class":145},[111,3039,3040],{"class":2415},"real_time_update_rate",[111,3042,3043],{"class":145},">1000\u003C\u002F",[111,3045,3040],{"class":2415},[111,3047,2427],{"class":145},[111,3049,3050,3052,3054],{"class":113,"line":175},[111,3051,2530],{"class":145},[111,3053,2988],{"class":2415},[111,3055,2427],{"class":145},[111,3057,3058,3060,3063,3065,3067,3070,3073,3075,3078],{"class":113,"line":180},[111,3059,2449],{"class":145},[111,3061,3062],{"class":2415},"plugin",[111,3064,2419],{"class":131},[111,3066,1726],{"class":145},[111,3068,3069],{"class":135},"'gz::sim::systems::Physics'",[111,3071,3072],{"class":131}," filename",[111,3074,1726],{"class":145},[111,3076,3077],{"class":135},"'ignition-gazebo-physics-system'",[111,3079,3080],{"class":145},"\u002F>\n",[111,3082,3083,3085,3087,3089,3091,3094,3096,3098,3101],{"class":113,"line":186},[111,3084,2449],{"class":145},[111,3086,3062],{"class":2415},[111,3088,2419],{"class":131},[111,3090,1726],{"class":145},[111,3092,3093],{"class":135},"'gz::sim::systems::UserCommands'",[111,3095,3072],{"class":131},[111,3097,1726],{"class":145},[111,3099,3100],{"class":135},"'ignition-gazebo-user-commands-system'",[111,3102,3080],{"class":145},[111,3104,3105,3107,3109,3111,3113,3116,3118,3120,3123],{"class":113,"line":433},[111,3106,2449],{"class":145},[111,3108,3062],{"class":2415},[111,3110,2419],{"class":131},[111,3112,1726],{"class":145},[111,3114,3115],{"class":135},"'gz::sim::systems::SceneBroadcaster'",[111,3117,3072],{"class":131},[111,3119,1726],{"class":145},[111,3121,3122],{"class":135},"'ignition-gazebo-scene-broadcaster-system'",[111,3124,3080],{"class":145},[111,3126,3127,3129,3131,3133,3135,3138,3140,3142,3145],{"class":113,"line":439},[111,3128,2449],{"class":145},[111,3130,3062],{"class":2415},[111,3132,2419],{"class":131},[111,3134,1726],{"class":145},[111,3136,3137],{"class":135},"'gz::sim::systems::Contact'",[111,3139,3072],{"class":131},[111,3141,1726],{"class":145},[111,3143,3144],{"class":135},"'ignition-gazebo-contact-system'",[111,3146,3080],{"class":145},[111,3148,3149,3151,3154,3157,3159],{"class":113,"line":445},[111,3150,2449],{"class":145},[111,3152,3153],{"class":2415},"gravity",[111,3155,3156],{"class":145},">0 0 -9.8\u003C\u002F",[111,3158,3153],{"class":2415},[111,3160,2427],{"class":145},[111,3162,3163,3165,3168,3171,3173],{"class":113,"line":451},[111,3164,2449],{"class":145},[111,3166,3167],{"class":2415},"magnetic_field",[111,3169,3170],{"class":145},">6e-06 2.3e-05 -4.2e-05\u003C\u002F",[111,3172,3167],{"class":2415},[111,3174,2427],{"class":145},[111,3176,3177,3179,3182,3184,3186,3189],{"class":113,"line":1703},[111,3178,2449],{"class":145},[111,3180,3181],{"class":2415},"atmosphere",[111,3183,2998],{"class":131},[111,3185,1726],{"class":145},[111,3187,3188],{"class":135},"'adiabatic'",[111,3190,3080],{"class":145},[111,3192,3193,3195,3198],{"class":113,"line":1715},[111,3194,2449],{"class":145},[111,3196,3197],{"class":2415},"scene",[111,3199,2427],{"class":145},[111,3201,3202,3204,3207,3210,3212],{"class":113,"line":1720},[111,3203,2459],{"class":145},[111,3205,3206],{"class":2415},"ambient",[111,3208,3209],{"class":145},">0.4 0.4 0.4 1\u003C\u002F",[111,3211,3206],{"class":2415},[111,3213,2427],{"class":145},[111,3215,3216,3218,3221,3224,3226],{"class":113,"line":1737},[111,3217,2459],{"class":145},[111,3219,3220],{"class":2415},"background",[111,3222,3223],{"class":145},">0.7 0.7 0.7 1\u003C\u002F",[111,3225,3220],{"class":2415},[111,3227,2427],{"class":145},[111,3229,3230,3232,3235,3238,3240],{"class":113,"line":1752},[111,3231,2459],{"class":145},[111,3233,3234],{"class":2415},"shadows",[111,3236,3237],{"class":145},">true\u003C\u002F",[111,3239,3234],{"class":2415},[111,3241,2427],{"class":145},[111,3243,3244,3246,3248],{"class":113,"line":1774},[111,3245,2530],{"class":145},[111,3247,3197],{"class":2415},[111,3249,2427],{"class":145},[111,3251,3252,3254,3256,3258,3260,3263],{"class":113,"line":1779},[111,3253,2449],{"class":145},[111,3255,2773],{"class":2415},[111,3257,2419],{"class":131},[111,3259,1726],{"class":145},[111,3261,3262],{"class":135},"'ground_plane'",[111,3264,2427],{"class":145},[111,3266,3267,3269,3272,3274,3276],{"class":113,"line":1790},[111,3268,2459],{"class":145},[111,3270,3271],{"class":2415},"static",[111,3273,3237],{"class":145},[111,3275,3271],{"class":2415},[111,3277,2427],{"class":145},[111,3279,3280,3282,3284,3286,3288,3291],{"class":113,"line":1796},[111,3281,2459],{"class":145},[111,3283,2435],{"class":2415},[111,3285,2419],{"class":131},[111,3287,1726],{"class":145},[111,3289,3290],{"class":135},"'link'",[111,3292,2427],{"class":145},[111,3294,3295,3297,3300,3302,3304,3307],{"class":113,"line":1814},[111,3296,2633],{"class":145},[111,3298,3299],{"class":2415},"collision",[111,3301,2419],{"class":131},[111,3303,1726],{"class":145},[111,3305,3306],{"class":135},"'collision'",[111,3308,2427],{"class":145},[111,3310,3311,3313,3316],{"class":113,"line":1826},[111,3312,2829],{"class":145},[111,3314,3315],{"class":2415},"geometry",[111,3317,2427],{"class":145},[111,3319,3320,3323,3326],{"class":113,"line":1844},[111,3321,3322],{"class":145},"            \u003C",[111,3324,3325],{"class":2415},"plane",[111,3327,2427],{"class":145},[111,3329,3330,3333,3336,3339,3341],{"class":113,"line":1850},[111,3331,3332],{"class":145},"              \u003C",[111,3334,3335],{"class":2415},"normal",[111,3337,3338],{"class":145},">0 0 1\u003C\u002F",[111,3340,3335],{"class":2415},[111,3342,2427],{"class":145},[111,3344,3345,3347,3350,3353,3355],{"class":113,"line":1856},[111,3346,3332],{"class":145},[111,3348,3349],{"class":2415},"size",[111,3351,3352],{"class":145},">100 100\u003C\u002F",[111,3354,3349],{"class":2415},[111,3356,2427],{"class":145},[111,3358,3359,3362,3364],{"class":113,"line":1861},[111,3360,3361],{"class":145},"            \u003C\u002F",[111,3363,3325],{"class":2415},[111,3365,2427],{"class":145},[111,3367,3368,3371,3373],{"class":113,"line":1867},[111,3369,3370],{"class":145},"          \u003C\u002F",[111,3372,3315],{"class":2415},[111,3374,2427],{"class":145},[111,3376,3377,3379,3382],{"class":113,"line":1878},[111,3378,2829],{"class":145},[111,3380,3381],{"class":2415},"surface",[111,3383,2427],{"class":145},[111,3385,3386,3388,3391],{"class":113,"line":1892},[111,3387,3322],{"class":145},[111,3389,3390],{"class":2415},"friction",[111,3392,2427],{"class":145},[111,3394,3395,3397,3400],{"class":113,"line":1904},[111,3396,3332],{"class":145},[111,3398,3399],{"class":2415},"ode",[111,3401,3080],{"class":145},[111,3403,3404,3406,3408],{"class":113,"line":1931},[111,3405,3361],{"class":145},[111,3407,3390],{"class":2415},[111,3409,2427],{"class":145},[111,3411,3412,3414,3417],{"class":113,"line":1947},[111,3413,3322],{"class":145},[111,3415,3416],{"class":2415},"bounce",[111,3418,3080],{"class":145},[111,3420,3421,3423,3426],{"class":113,"line":1952},[111,3422,3322],{"class":145},[111,3424,3425],{"class":2415},"contact",[111,3427,3080],{"class":145},[111,3429,3430,3432,3434],{"class":113,"line":1957},[111,3431,3370],{"class":145},[111,3433,3381],{"class":2415},[111,3435,2427],{"class":145},[111,3437,3438,3440,3442],{"class":113,"line":1963},[111,3439,2869],{"class":145},[111,3441,3299],{"class":2415},[111,3443,2427],{"class":145},[111,3445,3446,3448,3451,3453,3455,3458],{"class":113,"line":1973},[111,3447,2633],{"class":145},[111,3449,3450],{"class":2415},"visual",[111,3452,2419],{"class":131},[111,3454,1726],{"class":145},[111,3456,3457],{"class":135},"'visual'",[111,3459,2427],{"class":145},[111,3461,3462,3464,3466],{"class":113,"line":1986},[111,3463,2829],{"class":145},[111,3465,3315],{"class":2415},[111,3467,2427],{"class":145},[111,3469,3470,3472,3474],{"class":113,"line":1999},[111,3471,3322],{"class":145},[111,3473,3325],{"class":2415},[111,3475,2427],{"class":145},[111,3477,3478,3480,3482,3484,3486],{"class":113,"line":2014},[111,3479,3332],{"class":145},[111,3481,3335],{"class":2415},[111,3483,3338],{"class":145},[111,3485,3335],{"class":2415},[111,3487,2427],{"class":145},[111,3489,3490,3492,3494,3496,3498],{"class":113,"line":2022},[111,3491,3332],{"class":145},[111,3493,3349],{"class":2415},[111,3495,3352],{"class":145},[111,3497,3349],{"class":2415},[111,3499,2427],{"class":145},[111,3501,3502,3504,3506],{"class":113,"line":2030},[111,3503,3361],{"class":145},[111,3505,3325],{"class":2415},[111,3507,2427],{"class":145},[111,3509,3510,3512,3514],{"class":113,"line":2036},[111,3511,3370],{"class":145},[111,3513,3315],{"class":2415},[111,3515,2427],{"class":145},[111,3517,3518,3520,3523],{"class":113,"line":2058},[111,3519,2829],{"class":145},[111,3521,3522],{"class":2415},"material",[111,3524,2427],{"class":145},[111,3526,3527,3529,3531,3534,3536],{"class":113,"line":2069},[111,3528,3322],{"class":145},[111,3530,3206],{"class":2415},[111,3532,3533],{"class":145},">0.8 0.8 0.8 1\u003C\u002F",[111,3535,3206],{"class":2415},[111,3537,2427],{"class":145},[111,3539,3540,3542,3545,3547,3549],{"class":113,"line":2086},[111,3541,3322],{"class":145},[111,3543,3544],{"class":2415},"diffuse",[111,3546,3533],{"class":145},[111,3548,3544],{"class":2415},[111,3550,2427],{"class":145},[111,3552,3553,3555,3558,3560,3562],{"class":113,"line":2101},[111,3554,3322],{"class":145},[111,3556,3557],{"class":2415},"specular",[111,3559,3533],{"class":145},[111,3561,3557],{"class":2415},[111,3563,2427],{"class":145},[111,3565,3566,3568,3570],{"class":113,"line":2107},[111,3567,3370],{"class":145},[111,3569,3522],{"class":2415},[111,3571,2427],{"class":145},[111,3573,3574,3576,3578],{"class":113,"line":2118},[111,3575,2869],{"class":145},[111,3577,3450],{"class":2415},[111,3579,2427],{"class":145},[111,3581,3582,3584,3587,3590,3592],{"class":113,"line":2123},[111,3583,2633],{"class":145},[111,3585,3586],{"class":2415},"pose",[111,3588,3589],{"class":145},">0 0 0 0 -0 0\u003C\u002F",[111,3591,3586],{"class":2415},[111,3593,2427],{"class":145},[111,3595,3596,3598,3600],{"class":113,"line":2128},[111,3597,2633],{"class":145},[111,3599,2452],{"class":2415},[111,3601,2427],{"class":145},[111,3603,3604,3606,3608,3610,3612],{"class":113,"line":2137},[111,3605,2829],{"class":145},[111,3607,3586],{"class":2415},[111,3609,3589],{"class":145},[111,3611,3586],{"class":2415},[111,3613,2427],{"class":145},[111,3615,3616,3618,3620,3623,3625],{"class":113,"line":2143},[111,3617,2829],{"class":145},[111,3619,2462],{"class":2415},[111,3621,3622],{"class":145},">100\u003C\u002F",[111,3624,2462],{"class":2415},[111,3626,2427],{"class":145},[111,3628,3629,3631,3633],{"class":113,"line":2163},[111,3630,2829],{"class":145},[111,3632,2480],{"class":2415},[111,3634,2427],{"class":145},[111,3636,3637,3639,3641,3643,3645],{"class":113,"line":2176},[111,3638,3322],{"class":145},[111,3640,2832],{"class":2415},[111,3642,3029],{"class":145},[111,3644,2832],{"class":2415},[111,3646,2427],{"class":145},[111,3648,3649,3651,3654,3657,3659],{"class":113,"line":2182},[111,3650,3322],{"class":145},[111,3652,3653],{"class":2415},"ixy",[111,3655,3656],{"class":145},">0\u003C\u002F",[111,3658,3653],{"class":2415},[111,3660,2427],{"class":145},[111,3662,3663,3665,3668,3670,3672],{"class":113,"line":2188},[111,3664,3322],{"class":145},[111,3666,3667],{"class":2415},"ixz",[111,3669,3656],{"class":145},[111,3671,3667],{"class":2415},[111,3673,2427],{"class":145},[111,3675,3677,3679,3681,3683,3685],{"class":113,"line":3676},59,[111,3678,3322],{"class":145},[111,3680,2845],{"class":2415},[111,3682,3029],{"class":145},[111,3684,2845],{"class":2415},[111,3686,2427],{"class":145},[111,3688,3690,3692,3695,3697,3699],{"class":113,"line":3689},60,[111,3691,3322],{"class":145},[111,3693,3694],{"class":2415},"iyz",[111,3696,3656],{"class":145},[111,3698,3694],{"class":2415},[111,3700,2427],{"class":145},[111,3702,3704,3706,3708,3710,3712],{"class":113,"line":3703},61,[111,3705,3322],{"class":145},[111,3707,2858],{"class":2415},[111,3709,3029],{"class":145},[111,3711,2858],{"class":2415},[111,3713,2427],{"class":145},[111,3715,3717,3719,3721],{"class":113,"line":3716},62,[111,3718,3370],{"class":145},[111,3720,2480],{"class":2415},[111,3722,2427],{"class":145},[111,3724,3726,3728,3730],{"class":113,"line":3725},63,[111,3727,2869],{"class":145},[111,3729,2452],{"class":2415},[111,3731,2427],{"class":145},[111,3733,3735,3737,3740,3743,3745],{"class":113,"line":3734},64,[111,3736,2633],{"class":145},[111,3738,3739],{"class":2415},"enable_wind",[111,3741,3742],{"class":145},">false\u003C\u002F",[111,3744,3739],{"class":2415},[111,3746,2427],{"class":145},[111,3748,3750,3752,3754],{"class":113,"line":3749},65,[111,3751,2693],{"class":145},[111,3753,2435],{"class":2415},[111,3755,2427],{"class":145},[111,3757,3759,3761,3763,3765,3767],{"class":113,"line":3758},66,[111,3760,2459],{"class":145},[111,3762,3586],{"class":2415},[111,3764,3589],{"class":145},[111,3766,3586],{"class":2415},[111,3768,2427],{"class":145},[111,3770,3772,3774,3777,3779,3781],{"class":113,"line":3771},67,[111,3773,2459],{"class":145},[111,3775,3776],{"class":2415},"self_collide",[111,3778,3742],{"class":145},[111,3780,3776],{"class":2415},[111,3782,2427],{"class":145},[111,3784,3786,3788,3790],{"class":113,"line":3785},68,[111,3787,2530],{"class":145},[111,3789,2773],{"class":2415},[111,3791,2427],{"class":145},[111,3793,3795,3797,3799,3801,3803,3806],{"class":113,"line":3794},69,[111,3796,2449],{"class":145},[111,3798,2773],{"class":2415},[111,3800,2419],{"class":131},[111,3802,1726],{"class":145},[111,3804,3805],{"class":135},"'box'",[111,3807,2427],{"class":145},[111,3809,3811,3813,3815,3818,3820],{"class":113,"line":3810},70,[111,3812,2459],{"class":145},[111,3814,3586],{"class":2415},[111,3816,3817],{"class":145},">5.0 0 0.5 -0 0 0\u003C\u002F",[111,3819,3586],{"class":2415},[111,3821,2427],{"class":145},[111,3823,3825,3827,3829,3831,3833,3836],{"class":113,"line":3824},71,[111,3826,2459],{"class":145},[111,3828,2435],{"class":2415},[111,3830,2419],{"class":131},[111,3832,1726],{"class":145},[111,3834,3835],{"class":135},"'box_link'",[111,3837,2427],{"class":145},[111,3839,3841,3843,3845],{"class":113,"line":3840},72,[111,3842,2633],{"class":145},[111,3844,2452],{"class":2415},[111,3846,2427],{"class":145},[111,3848,3850,3852,3854],{"class":113,"line":3849},73,[111,3851,2829],{"class":145},[111,3853,2480],{"class":2415},[111,3855,2427],{"class":145},[111,3857,3859,3861,3863,3866,3868],{"class":113,"line":3858},74,[111,3860,3322],{"class":145},[111,3862,2832],{"class":2415},[111,3864,3865],{"class":145},">16.666\u003C\u002F",[111,3867,2832],{"class":2415},[111,3869,2427],{"class":145},[111,3871,3873,3875,3877,3879,3881],{"class":113,"line":3872},75,[111,3874,3322],{"class":145},[111,3876,3653],{"class":2415},[111,3878,3656],{"class":145},[111,3880,3653],{"class":2415},[111,3882,2427],{"class":145},[111,3884,3886,3888,3890,3892,3894],{"class":113,"line":3885},76,[111,3887,3322],{"class":145},[111,3889,3667],{"class":2415},[111,3891,3656],{"class":145},[111,3893,3667],{"class":2415},[111,3895,2427],{"class":145},[111,3897,3899,3901,3903,3905,3907],{"class":113,"line":3898},77,[111,3900,3322],{"class":145},[111,3902,2845],{"class":2415},[111,3904,3865],{"class":145},[111,3906,2845],{"class":2415},[111,3908,2427],{"class":145},[111,3910,3912,3914,3916,3918,3920],{"class":113,"line":3911},78,[111,3913,3322],{"class":145},[111,3915,3694],{"class":2415},[111,3917,3656],{"class":145},[111,3919,3694],{"class":2415},[111,3921,2427],{"class":145},[111,3923,3925,3927,3929,3931,3933],{"class":113,"line":3924},79,[111,3926,3322],{"class":145},[111,3928,2858],{"class":2415},[111,3930,3865],{"class":145},[111,3932,2858],{"class":2415},[111,3934,2427],{"class":145},[111,3936,3938,3940,3942],{"class":113,"line":3937},80,[111,3939,3370],{"class":145},[111,3941,2480],{"class":2415},[111,3943,2427],{"class":145},[111,3945,3947,3949,3951,3953,3955],{"class":113,"line":3946},81,[111,3948,2829],{"class":145},[111,3950,2462],{"class":2415},[111,3952,3622],{"class":145},[111,3954,2462],{"class":2415},[111,3956,2427],{"class":145},[111,3958,3960,3962,3964,3966,3968],{"class":113,"line":3959},82,[111,3961,2829],{"class":145},[111,3963,3586],{"class":2415},[111,3965,3589],{"class":145},[111,3967,3586],{"class":2415},[111,3969,2427],{"class":145},[111,3971,3973,3975,3977],{"class":113,"line":3972},83,[111,3974,2869],{"class":145},[111,3976,2452],{"class":2415},[111,3978,2427],{"class":145},[111,3980,3982,3984,3986,3988,3990,3993],{"class":113,"line":3981},84,[111,3983,2633],{"class":145},[111,3985,3299],{"class":2415},[111,3987,2419],{"class":131},[111,3989,1726],{"class":145},[111,3991,3992],{"class":135},"'box_collision'",[111,3994,2427],{"class":145},[111,3996,3998,4000,4002],{"class":113,"line":3997},85,[111,3999,2829],{"class":145},[111,4001,3315],{"class":2415},[111,4003,2427],{"class":145},[111,4005,4007,4009,4012],{"class":113,"line":4006},86,[111,4008,3322],{"class":145},[111,4010,4011],{"class":2415},"box",[111,4013,2427],{"class":145},[111,4015,4017,4019,4021,4024,4026],{"class":113,"line":4016},87,[111,4018,3332],{"class":145},[111,4020,3349],{"class":2415},[111,4022,4023],{"class":145},">0.1 5 1\u003C\u002F",[111,4025,3349],{"class":2415},[111,4027,2427],{"class":145},[111,4029,4031,4033,4035],{"class":113,"line":4030},88,[111,4032,3361],{"class":145},[111,4034,4011],{"class":2415},[111,4036,2427],{"class":145},[111,4038,4040,4042,4044],{"class":113,"line":4039},89,[111,4041,3370],{"class":145},[111,4043,3315],{"class":2415},[111,4045,2427],{"class":145},[111,4047,4049,4051,4053],{"class":113,"line":4048},90,[111,4050,2829],{"class":145},[111,4052,3381],{"class":2415},[111,4054,2427],{"class":145},[111,4056,4058,4060,4062],{"class":113,"line":4057},91,[111,4059,3322],{"class":145},[111,4061,3390],{"class":2415},[111,4063,2427],{"class":145},[111,4065,4067,4069,4071],{"class":113,"line":4066},92,[111,4068,3332],{"class":145},[111,4070,3399],{"class":2415},[111,4072,3080],{"class":145},[111,4074,4076,4078,4080],{"class":113,"line":4075},93,[111,4077,3361],{"class":145},[111,4079,3390],{"class":2415},[111,4081,2427],{"class":145},[111,4083,4085,4087,4089],{"class":113,"line":4084},94,[111,4086,3322],{"class":145},[111,4088,3416],{"class":2415},[111,4090,3080],{"class":145},[111,4092,4094,4096,4098],{"class":113,"line":4093},95,[111,4095,3322],{"class":145},[111,4097,3425],{"class":2415},[111,4099,3080],{"class":145},[111,4101,4103,4105,4107],{"class":113,"line":4102},96,[111,4104,3370],{"class":145},[111,4106,3381],{"class":2415},[111,4108,2427],{"class":145},[111,4110,4112,4114,4116],{"class":113,"line":4111},97,[111,4113,2869],{"class":145},[111,4115,3299],{"class":2415},[111,4117,2427],{"class":145},[111,4119,4121,4123,4125,4127,4129,4132],{"class":113,"line":4120},98,[111,4122,2633],{"class":145},[111,4124,3450],{"class":2415},[111,4126,2419],{"class":131},[111,4128,1726],{"class":145},[111,4130,4131],{"class":135},"'box_visual'",[111,4133,2427],{"class":145},[111,4135,4137,4139,4141],{"class":113,"line":4136},99,[111,4138,2829],{"class":145},[111,4140,3315],{"class":2415},[111,4142,2427],{"class":145},[111,4144,4146,4148,4150],{"class":113,"line":4145},100,[111,4147,3322],{"class":145},[111,4149,4011],{"class":2415},[111,4151,2427],{"class":145},[111,4153,4155,4157,4159,4161,4163],{"class":113,"line":4154},101,[111,4156,3332],{"class":145},[111,4158,3349],{"class":2415},[111,4160,4023],{"class":145},[111,4162,3349],{"class":2415},[111,4164,2427],{"class":145},[111,4166,4168,4170,4172],{"class":113,"line":4167},102,[111,4169,3361],{"class":145},[111,4171,4011],{"class":2415},[111,4173,2427],{"class":145},[111,4175,4177,4179,4181],{"class":113,"line":4176},103,[111,4178,3370],{"class":145},[111,4180,3315],{"class":2415},[111,4182,2427],{"class":145},[111,4184,4186,4188,4190],{"class":113,"line":4185},104,[111,4187,2829],{"class":145},[111,4189,3522],{"class":2415},[111,4191,2427],{"class":145},[111,4193,4195,4197,4199,4202,4204],{"class":113,"line":4194},105,[111,4196,3322],{"class":145},[111,4198,3206],{"class":2415},[111,4200,4201],{"class":145},">0.3 0.3 0.3 1\u003C\u002F",[111,4203,3206],{"class":2415},[111,4205,2427],{"class":145},[111,4207,4209,4211,4213,4215,4217],{"class":113,"line":4208},106,[111,4210,3322],{"class":145},[111,4212,3544],{"class":2415},[111,4214,3223],{"class":145},[111,4216,3544],{"class":2415},[111,4218,2427],{"class":145},[111,4220,4222,4224,4226,4229,4231],{"class":113,"line":4221},107,[111,4223,3322],{"class":145},[111,4225,3557],{"class":2415},[111,4227,4228],{"class":145},">1 1 1 1\u003C\u002F",[111,4230,3557],{"class":2415},[111,4232,2427],{"class":145},[111,4234,4236,4238,4240],{"class":113,"line":4235},108,[111,4237,3370],{"class":145},[111,4239,3522],{"class":2415},[111,4241,2427],{"class":145},[111,4243,4245,4247,4249],{"class":113,"line":4244},109,[111,4246,2869],{"class":145},[111,4248,3450],{"class":2415},[111,4250,2427],{"class":145},[111,4252,4254,4256,4258,4260,4262],{"class":113,"line":4253},110,[111,4255,2633],{"class":145},[111,4257,3586],{"class":2415},[111,4259,3589],{"class":145},[111,4261,3586],{"class":2415},[111,4263,2427],{"class":145},[111,4265,4267,4269,4271,4273,4275],{"class":113,"line":4266},111,[111,4268,2633],{"class":145},[111,4270,3739],{"class":2415},[111,4272,3742],{"class":145},[111,4274,3739],{"class":2415},[111,4276,2427],{"class":145},[111,4278,4280,4282,4284],{"class":113,"line":4279},112,[111,4281,2693],{"class":145},[111,4283,2435],{"class":2415},[111,4285,2427],{"class":145},[111,4287,4289,4291,4293,4295,4297],{"class":113,"line":4288},113,[111,4290,2459],{"class":145},[111,4292,3271],{"class":2415},[111,4294,3742],{"class":145},[111,4296,3271],{"class":2415},[111,4298,2427],{"class":145},[111,4300,4302,4304,4306,4308,4310],{"class":113,"line":4301},114,[111,4303,2459],{"class":145},[111,4305,3776],{"class":2415},[111,4307,3742],{"class":145},[111,4309,3776],{"class":2415},[111,4311,2427],{"class":145},[111,4313,4315,4317,4319],{"class":113,"line":4314},115,[111,4316,2530],{"class":145},[111,4318,2773],{"class":2415},[111,4320,2427],{"class":145},[111,4322,4324,4326,4328,4330,4332,4335],{"class":113,"line":4323},116,[111,4325,2449],{"class":145},[111,4327,2773],{"class":2415},[111,4329,2419],{"class":131},[111,4331,1726],{"class":145},[111,4333,4334],{"class":135},"'box_0'",[111,4336,2427],{"class":145},[111,4338,4340,4342,4344,4347,4349],{"class":113,"line":4339},117,[111,4341,2459],{"class":145},[111,4343,3586],{"class":2415},[111,4345,4346],{"class":145},">-5.0 -0 0.50000 -0 0 0\u003C\u002F",[111,4348,3586],{"class":2415},[111,4350,2427],{"class":145},[111,4352,4354,4356,4358,4360,4362,4364],{"class":113,"line":4353},118,[111,4355,2459],{"class":145},[111,4357,2435],{"class":2415},[111,4359,2419],{"class":131},[111,4361,1726],{"class":145},[111,4363,3835],{"class":135},[111,4365,2427],{"class":145},[111,4367,4369,4371,4373],{"class":113,"line":4368},119,[111,4370,2633],{"class":145},[111,4372,2452],{"class":2415},[111,4374,2427],{"class":145},[111,4376,4378,4380,4382],{"class":113,"line":4377},120,[111,4379,2829],{"class":145},[111,4381,2480],{"class":2415},[111,4383,2427],{"class":145},[111,4385,4387,4389,4391,4393,4395],{"class":113,"line":4386},121,[111,4388,3322],{"class":145},[111,4390,2832],{"class":2415},[111,4392,3865],{"class":145},[111,4394,2832],{"class":2415},[111,4396,2427],{"class":145},[111,4398,4400,4402,4404,4406,4408],{"class":113,"line":4399},122,[111,4401,3322],{"class":145},[111,4403,3653],{"class":2415},[111,4405,3656],{"class":145},[111,4407,3653],{"class":2415},[111,4409,2427],{"class":145},[111,4411,4413,4415,4417,4419,4421],{"class":113,"line":4412},123,[111,4414,3322],{"class":145},[111,4416,3667],{"class":2415},[111,4418,3656],{"class":145},[111,4420,3667],{"class":2415},[111,4422,2427],{"class":145},[111,4424,4426,4428,4430,4432,4434],{"class":113,"line":4425},124,[111,4427,3322],{"class":145},[111,4429,2845],{"class":2415},[111,4431,3865],{"class":145},[111,4433,2845],{"class":2415},[111,4435,2427],{"class":145},[111,4437,4439,4441,4443,4445,4447],{"class":113,"line":4438},125,[111,4440,3322],{"class":145},[111,4442,3694],{"class":2415},[111,4444,3656],{"class":145},[111,4446,3694],{"class":2415},[111,4448,2427],{"class":145},[111,4450,4452,4454,4456,4458,4460],{"class":113,"line":4451},126,[111,4453,3322],{"class":145},[111,4455,2858],{"class":2415},[111,4457,3865],{"class":145},[111,4459,2858],{"class":2415},[111,4461,2427],{"class":145},[111,4463,4465,4467,4469],{"class":113,"line":4464},127,[111,4466,3370],{"class":145},[111,4468,2480],{"class":2415},[111,4470,2427],{"class":145},[111,4472,4474,4476,4478,4480,4482],{"class":113,"line":4473},128,[111,4475,2829],{"class":145},[111,4477,2462],{"class":2415},[111,4479,3622],{"class":145},[111,4481,2462],{"class":2415},[111,4483,2427],{"class":145},[111,4485,4487,4489,4491,4493,4495],{"class":113,"line":4486},129,[111,4488,2829],{"class":145},[111,4490,3586],{"class":2415},[111,4492,3589],{"class":145},[111,4494,3586],{"class":2415},[111,4496,2427],{"class":145},[111,4498,4500,4502,4504],{"class":113,"line":4499},130,[111,4501,2869],{"class":145},[111,4503,2452],{"class":2415},[111,4505,2427],{"class":145},[111,4507,4509,4511,4513,4515,4517,4519],{"class":113,"line":4508},131,[111,4510,2633],{"class":145},[111,4512,3299],{"class":2415},[111,4514,2419],{"class":131},[111,4516,1726],{"class":145},[111,4518,3992],{"class":135},[111,4520,2427],{"class":145},[111,4522,4524,4526,4528],{"class":113,"line":4523},132,[111,4525,2829],{"class":145},[111,4527,3315],{"class":2415},[111,4529,2427],{"class":145},[111,4531,4533,4535,4537],{"class":113,"line":4532},133,[111,4534,3322],{"class":145},[111,4536,4011],{"class":2415},[111,4538,2427],{"class":145},[111,4540,4542,4544,4546,4548,4550],{"class":113,"line":4541},134,[111,4543,3332],{"class":145},[111,4545,3349],{"class":2415},[111,4547,4023],{"class":145},[111,4549,3349],{"class":2415},[111,4551,2427],{"class":145},[111,4553,4555,4557,4559],{"class":113,"line":4554},135,[111,4556,3361],{"class":145},[111,4558,4011],{"class":2415},[111,4560,2427],{"class":145},[111,4562,4564,4566,4568],{"class":113,"line":4563},136,[111,4565,3370],{"class":145},[111,4567,3315],{"class":2415},[111,4569,2427],{"class":145},[111,4571,4573,4575,4577],{"class":113,"line":4572},137,[111,4574,2829],{"class":145},[111,4576,3381],{"class":2415},[111,4578,2427],{"class":145},[111,4580,4582,4584,4586],{"class":113,"line":4581},138,[111,4583,3322],{"class":145},[111,4585,3390],{"class":2415},[111,4587,2427],{"class":145},[111,4589,4591,4593,4595],{"class":113,"line":4590},139,[111,4592,3332],{"class":145},[111,4594,3399],{"class":2415},[111,4596,3080],{"class":145},[111,4598,4600,4602,4604],{"class":113,"line":4599},140,[111,4601,3361],{"class":145},[111,4603,3390],{"class":2415},[111,4605,2427],{"class":145},[111,4607,4609,4611,4613],{"class":113,"line":4608},141,[111,4610,3322],{"class":145},[111,4612,3416],{"class":2415},[111,4614,3080],{"class":145},[111,4616,4618,4620,4622],{"class":113,"line":4617},142,[111,4619,3322],{"class":145},[111,4621,3425],{"class":2415},[111,4623,3080],{"class":145},[111,4625,4627,4629,4631],{"class":113,"line":4626},143,[111,4628,3370],{"class":145},[111,4630,3381],{"class":2415},[111,4632,2427],{"class":145},[111,4634,4636,4638,4640],{"class":113,"line":4635},144,[111,4637,2869],{"class":145},[111,4639,3299],{"class":2415},[111,4641,2427],{"class":145},[111,4643,4645,4647,4649,4651,4653,4655],{"class":113,"line":4644},145,[111,4646,2633],{"class":145},[111,4648,3450],{"class":2415},[111,4650,2419],{"class":131},[111,4652,1726],{"class":145},[111,4654,4131],{"class":135},[111,4656,2427],{"class":145},[111,4658,4660,4662,4664],{"class":113,"line":4659},146,[111,4661,2829],{"class":145},[111,4663,3315],{"class":2415},[111,4665,2427],{"class":145},[111,4667,4669,4671,4673],{"class":113,"line":4668},147,[111,4670,3322],{"class":145},[111,4672,4011],{"class":2415},[111,4674,2427],{"class":145},[111,4676,4678,4680,4682,4684,4686],{"class":113,"line":4677},148,[111,4679,3332],{"class":145},[111,4681,3349],{"class":2415},[111,4683,4023],{"class":145},[111,4685,3349],{"class":2415},[111,4687,2427],{"class":145},[111,4689,4691,4693,4695],{"class":113,"line":4690},149,[111,4692,3361],{"class":145},[111,4694,4011],{"class":2415},[111,4696,2427],{"class":145},[111,4698,4700,4702,4704],{"class":113,"line":4699},150,[111,4701,3370],{"class":145},[111,4703,3315],{"class":2415},[111,4705,2427],{"class":145},[111,4707,4709,4711,4713],{"class":113,"line":4708},151,[111,4710,2829],{"class":145},[111,4712,3522],{"class":2415},[111,4714,2427],{"class":145},[111,4716,4718,4720,4722,4724,4726],{"class":113,"line":4717},152,[111,4719,3322],{"class":145},[111,4721,3206],{"class":2415},[111,4723,4201],{"class":145},[111,4725,3206],{"class":2415},[111,4727,2427],{"class":145},[111,4729,4731,4733,4735,4737,4739],{"class":113,"line":4730},153,[111,4732,3322],{"class":145},[111,4734,3544],{"class":2415},[111,4736,3223],{"class":145},[111,4738,3544],{"class":2415},[111,4740,2427],{"class":145},[111,4742,4744,4746,4748,4750,4752],{"class":113,"line":4743},154,[111,4745,3322],{"class":145},[111,4747,3557],{"class":2415},[111,4749,4228],{"class":145},[111,4751,3557],{"class":2415},[111,4753,2427],{"class":145},[111,4755,4757,4759,4761],{"class":113,"line":4756},155,[111,4758,3370],{"class":145},[111,4760,3522],{"class":2415},[111,4762,2427],{"class":145},[111,4764,4766,4768,4770],{"class":113,"line":4765},156,[111,4767,2869],{"class":145},[111,4769,3450],{"class":2415},[111,4771,2427],{"class":145},[111,4773,4775,4777,4779,4781,4783],{"class":113,"line":4774},157,[111,4776,2633],{"class":145},[111,4778,3586],{"class":2415},[111,4780,3589],{"class":145},[111,4782,3586],{"class":2415},[111,4784,2427],{"class":145},[111,4786,4788,4790,4792,4794,4796],{"class":113,"line":4787},158,[111,4789,2633],{"class":145},[111,4791,3739],{"class":2415},[111,4793,3742],{"class":145},[111,4795,3739],{"class":2415},[111,4797,2427],{"class":145},[111,4799,4801,4803,4805],{"class":113,"line":4800},159,[111,4802,2693],{"class":145},[111,4804,2435],{"class":2415},[111,4806,2427],{"class":145},[111,4808,4810,4812,4814,4816,4818],{"class":113,"line":4809},160,[111,4811,2459],{"class":145},[111,4813,3271],{"class":2415},[111,4815,3742],{"class":145},[111,4817,3271],{"class":2415},[111,4819,2427],{"class":145},[111,4821,4823,4825,4827,4829,4831],{"class":113,"line":4822},161,[111,4824,2459],{"class":145},[111,4826,3776],{"class":2415},[111,4828,3742],{"class":145},[111,4830,3776],{"class":2415},[111,4832,2427],{"class":145},[111,4834,4836,4838,4840],{"class":113,"line":4835},162,[111,4837,2530],{"class":145},[111,4839,2773],{"class":2415},[111,4841,2427],{"class":145},[111,4843,4845,4847,4849,4851,4853,4856],{"class":113,"line":4844},163,[111,4846,2449],{"class":145},[111,4848,2773],{"class":2415},[111,4850,2419],{"class":131},[111,4852,1726],{"class":145},[111,4854,4855],{"class":135},"'box_1'",[111,4857,2427],{"class":145},[111,4859,4861,4863,4865,4868,4870],{"class":113,"line":4860},164,[111,4862,2459],{"class":145},[111,4864,3586],{"class":2415},[111,4866,4867],{"class":145},">-0 -2.5 0.5 -0 -0 -0\u003C\u002F",[111,4869,3586],{"class":2415},[111,4871,2427],{"class":145},[111,4873,4875,4877,4879,4881,4883,4885],{"class":113,"line":4874},165,[111,4876,2459],{"class":145},[111,4878,2435],{"class":2415},[111,4880,2419],{"class":131},[111,4882,1726],{"class":145},[111,4884,3835],{"class":135},[111,4886,2427],{"class":145},[111,4888,4890,4892,4894],{"class":113,"line":4889},166,[111,4891,2633],{"class":145},[111,4893,2452],{"class":2415},[111,4895,2427],{"class":145},[111,4897,4899,4901,4903],{"class":113,"line":4898},167,[111,4900,2829],{"class":145},[111,4902,2480],{"class":2415},[111,4904,2427],{"class":145},[111,4906,4908,4910,4912,4914,4916],{"class":113,"line":4907},168,[111,4909,3322],{"class":145},[111,4911,2832],{"class":2415},[111,4913,3865],{"class":145},[111,4915,2832],{"class":2415},[111,4917,2427],{"class":145},[111,4919,4921,4923,4925,4927,4929],{"class":113,"line":4920},169,[111,4922,3322],{"class":145},[111,4924,3653],{"class":2415},[111,4926,3656],{"class":145},[111,4928,3653],{"class":2415},[111,4930,2427],{"class":145},[111,4932,4934,4936,4938,4940,4942],{"class":113,"line":4933},170,[111,4935,3322],{"class":145},[111,4937,3667],{"class":2415},[111,4939,3656],{"class":145},[111,4941,3667],{"class":2415},[111,4943,2427],{"class":145},[111,4945,4947,4949,4951,4953,4955],{"class":113,"line":4946},171,[111,4948,3322],{"class":145},[111,4950,2845],{"class":2415},[111,4952,3865],{"class":145},[111,4954,2845],{"class":2415},[111,4956,2427],{"class":145},[111,4958,4960,4962,4964,4966,4968],{"class":113,"line":4959},172,[111,4961,3322],{"class":145},[111,4963,3694],{"class":2415},[111,4965,3656],{"class":145},[111,4967,3694],{"class":2415},[111,4969,2427],{"class":145},[111,4971,4973,4975,4977,4979,4981],{"class":113,"line":4972},173,[111,4974,3322],{"class":145},[111,4976,2858],{"class":2415},[111,4978,3865],{"class":145},[111,4980,2858],{"class":2415},[111,4982,2427],{"class":145},[111,4984,4986,4988,4990],{"class":113,"line":4985},174,[111,4987,3370],{"class":145},[111,4989,2480],{"class":2415},[111,4991,2427],{"class":145},[111,4993,4995,4997,4999,5001,5003],{"class":113,"line":4994},175,[111,4996,2829],{"class":145},[111,4998,2462],{"class":2415},[111,5000,3622],{"class":145},[111,5002,2462],{"class":2415},[111,5004,2427],{"class":145},[111,5006,5008,5010,5012,5014,5016],{"class":113,"line":5007},176,[111,5009,2829],{"class":145},[111,5011,3586],{"class":2415},[111,5013,3589],{"class":145},[111,5015,3586],{"class":2415},[111,5017,2427],{"class":145},[111,5019,5021,5023,5025],{"class":113,"line":5020},177,[111,5022,2869],{"class":145},[111,5024,2452],{"class":2415},[111,5026,2427],{"class":145},[111,5028,5030,5032,5034,5036,5038,5040],{"class":113,"line":5029},178,[111,5031,2633],{"class":145},[111,5033,3299],{"class":2415},[111,5035,2419],{"class":131},[111,5037,1726],{"class":145},[111,5039,3992],{"class":135},[111,5041,2427],{"class":145},[111,5043,5045,5047,5049],{"class":113,"line":5044},179,[111,5046,2829],{"class":145},[111,5048,3315],{"class":2415},[111,5050,2427],{"class":145},[111,5052,5054,5056,5058],{"class":113,"line":5053},180,[111,5055,3322],{"class":145},[111,5057,4011],{"class":2415},[111,5059,2427],{"class":145},[111,5061,5063,5065,5067,5070,5072],{"class":113,"line":5062},181,[111,5064,3332],{"class":145},[111,5066,3349],{"class":2415},[111,5068,5069],{"class":145},">10 0.1 1\u003C\u002F",[111,5071,3349],{"class":2415},[111,5073,2427],{"class":145},[111,5075,5077,5079,5081],{"class":113,"line":5076},182,[111,5078,3361],{"class":145},[111,5080,4011],{"class":2415},[111,5082,2427],{"class":145},[111,5084,5086,5088,5090],{"class":113,"line":5085},183,[111,5087,3370],{"class":145},[111,5089,3315],{"class":2415},[111,5091,2427],{"class":145},[111,5093,5095,5097,5099],{"class":113,"line":5094},184,[111,5096,2829],{"class":145},[111,5098,3381],{"class":2415},[111,5100,2427],{"class":145},[111,5102,5104,5106,5108],{"class":113,"line":5103},185,[111,5105,3322],{"class":145},[111,5107,3390],{"class":2415},[111,5109,2427],{"class":145},[111,5111,5113,5115,5117],{"class":113,"line":5112},186,[111,5114,3332],{"class":145},[111,5116,3399],{"class":2415},[111,5118,3080],{"class":145},[111,5120,5122,5124,5126],{"class":113,"line":5121},187,[111,5123,3361],{"class":145},[111,5125,3390],{"class":2415},[111,5127,2427],{"class":145},[111,5129,5131,5133,5135],{"class":113,"line":5130},188,[111,5132,3322],{"class":145},[111,5134,3416],{"class":2415},[111,5136,3080],{"class":145},[111,5138,5140,5142,5144],{"class":113,"line":5139},189,[111,5141,3322],{"class":145},[111,5143,3425],{"class":2415},[111,5145,3080],{"class":145},[111,5147,5149,5151,5153],{"class":113,"line":5148},190,[111,5150,3370],{"class":145},[111,5152,3381],{"class":2415},[111,5154,2427],{"class":145},[111,5156,5158,5160,5162],{"class":113,"line":5157},191,[111,5159,2869],{"class":145},[111,5161,3299],{"class":2415},[111,5163,2427],{"class":145},[111,5165,5167,5169,5171,5173,5175,5177],{"class":113,"line":5166},192,[111,5168,2633],{"class":145},[111,5170,3450],{"class":2415},[111,5172,2419],{"class":131},[111,5174,1726],{"class":145},[111,5176,4131],{"class":135},[111,5178,2427],{"class":145},[111,5180,5182,5184,5186],{"class":113,"line":5181},193,[111,5183,2829],{"class":145},[111,5185,3315],{"class":2415},[111,5187,2427],{"class":145},[111,5189,5191,5193,5195],{"class":113,"line":5190},194,[111,5192,3322],{"class":145},[111,5194,4011],{"class":2415},[111,5196,2427],{"class":145},[111,5198,5200,5202,5204,5206,5208],{"class":113,"line":5199},195,[111,5201,3332],{"class":145},[111,5203,3349],{"class":2415},[111,5205,5069],{"class":145},[111,5207,3349],{"class":2415},[111,5209,2427],{"class":145},[111,5211,5213,5215,5217],{"class":113,"line":5212},196,[111,5214,3361],{"class":145},[111,5216,4011],{"class":2415},[111,5218,2427],{"class":145},[111,5220,5222,5224,5226],{"class":113,"line":5221},197,[111,5223,3370],{"class":145},[111,5225,3315],{"class":2415},[111,5227,2427],{"class":145},[111,5229,5231,5233,5235],{"class":113,"line":5230},198,[111,5232,2829],{"class":145},[111,5234,3522],{"class":2415},[111,5236,2427],{"class":145},[111,5238,5240,5242,5244,5246,5248],{"class":113,"line":5239},199,[111,5241,3322],{"class":145},[111,5243,3206],{"class":2415},[111,5245,4201],{"class":145},[111,5247,3206],{"class":2415},[111,5249,2427],{"class":145},[111,5251,5253,5255,5257,5259,5261],{"class":113,"line":5252},200,[111,5254,3322],{"class":145},[111,5256,3544],{"class":2415},[111,5258,3223],{"class":145},[111,5260,3544],{"class":2415},[111,5262,2427],{"class":145},[111,5264,5266,5268,5270,5272,5274],{"class":113,"line":5265},201,[111,5267,3322],{"class":145},[111,5269,3557],{"class":2415},[111,5271,4228],{"class":145},[111,5273,3557],{"class":2415},[111,5275,2427],{"class":145},[111,5277,5279,5281,5283],{"class":113,"line":5278},202,[111,5280,3370],{"class":145},[111,5282,3522],{"class":2415},[111,5284,2427],{"class":145},[111,5286,5288,5290,5292],{"class":113,"line":5287},203,[111,5289,2869],{"class":145},[111,5291,3450],{"class":2415},[111,5293,2427],{"class":145},[111,5295,5297,5299,5301,5303,5305],{"class":113,"line":5296},204,[111,5298,2633],{"class":145},[111,5300,3586],{"class":2415},[111,5302,3589],{"class":145},[111,5304,3586],{"class":2415},[111,5306,2427],{"class":145},[111,5308,5310,5312,5314,5316,5318],{"class":113,"line":5309},205,[111,5311,2633],{"class":145},[111,5313,3739],{"class":2415},[111,5315,3742],{"class":145},[111,5317,3739],{"class":2415},[111,5319,2427],{"class":145},[111,5321,5323,5325,5327],{"class":113,"line":5322},206,[111,5324,2693],{"class":145},[111,5326,2435],{"class":2415},[111,5328,2427],{"class":145},[111,5330,5332,5334,5336,5338,5340],{"class":113,"line":5331},207,[111,5333,2459],{"class":145},[111,5335,3271],{"class":2415},[111,5337,3742],{"class":145},[111,5339,3271],{"class":2415},[111,5341,2427],{"class":145},[111,5343,5345,5347,5349,5351,5353],{"class":113,"line":5344},208,[111,5346,2459],{"class":145},[111,5348,3776],{"class":2415},[111,5350,3742],{"class":145},[111,5352,3776],{"class":2415},[111,5354,2427],{"class":145},[111,5356,5358,5360,5362],{"class":113,"line":5357},209,[111,5359,2530],{"class":145},[111,5361,2773],{"class":2415},[111,5363,2427],{"class":145},[111,5365,5367,5369,5371,5373,5375,5378],{"class":113,"line":5366},210,[111,5368,2449],{"class":145},[111,5370,2773],{"class":2415},[111,5372,2419],{"class":131},[111,5374,1726],{"class":145},[111,5376,5377],{"class":135},"'box_2'",[111,5379,2427],{"class":145},[111,5381,5383,5385,5387,5390,5392],{"class":113,"line":5382},211,[111,5384,2459],{"class":145},[111,5386,3586],{"class":2415},[111,5388,5389],{"class":145},">-0 2.5 0.5 0 -0 -0\u003C\u002F",[111,5391,3586],{"class":2415},[111,5393,2427],{"class":145},[111,5395,5397,5399,5401,5403,5405,5407],{"class":113,"line":5396},212,[111,5398,2459],{"class":145},[111,5400,2435],{"class":2415},[111,5402,2419],{"class":131},[111,5404,1726],{"class":145},[111,5406,3835],{"class":135},[111,5408,2427],{"class":145},[111,5410,5412,5414,5416],{"class":113,"line":5411},213,[111,5413,2633],{"class":145},[111,5415,2452],{"class":2415},[111,5417,2427],{"class":145},[111,5419,5421,5423,5425],{"class":113,"line":5420},214,[111,5422,2829],{"class":145},[111,5424,2480],{"class":2415},[111,5426,2427],{"class":145},[111,5428,5430,5432,5434,5436,5438],{"class":113,"line":5429},215,[111,5431,3322],{"class":145},[111,5433,2832],{"class":2415},[111,5435,3865],{"class":145},[111,5437,2832],{"class":2415},[111,5439,2427],{"class":145},[111,5441,5443,5445,5447,5449,5451],{"class":113,"line":5442},216,[111,5444,3322],{"class":145},[111,5446,3653],{"class":2415},[111,5448,3656],{"class":145},[111,5450,3653],{"class":2415},[111,5452,2427],{"class":145},[111,5454,5456,5458,5460,5462,5464],{"class":113,"line":5455},217,[111,5457,3322],{"class":145},[111,5459,3667],{"class":2415},[111,5461,3656],{"class":145},[111,5463,3667],{"class":2415},[111,5465,2427],{"class":145},[111,5467,5469,5471,5473,5475,5477],{"class":113,"line":5468},218,[111,5470,3322],{"class":145},[111,5472,2845],{"class":2415},[111,5474,3865],{"class":145},[111,5476,2845],{"class":2415},[111,5478,2427],{"class":145},[111,5480,5482,5484,5486,5488,5490],{"class":113,"line":5481},219,[111,5483,3322],{"class":145},[111,5485,3694],{"class":2415},[111,5487,3656],{"class":145},[111,5489,3694],{"class":2415},[111,5491,2427],{"class":145},[111,5493,5495,5497,5499,5501,5503],{"class":113,"line":5494},220,[111,5496,3322],{"class":145},[111,5498,2858],{"class":2415},[111,5500,3865],{"class":145},[111,5502,2858],{"class":2415},[111,5504,2427],{"class":145},[111,5506,5508,5510,5512],{"class":113,"line":5507},221,[111,5509,3370],{"class":145},[111,5511,2480],{"class":2415},[111,5513,2427],{"class":145},[111,5515,5517,5519,5521,5523,5525],{"class":113,"line":5516},222,[111,5518,2829],{"class":145},[111,5520,2462],{"class":2415},[111,5522,3622],{"class":145},[111,5524,2462],{"class":2415},[111,5526,2427],{"class":145},[111,5528,5530,5532,5534,5536,5538],{"class":113,"line":5529},223,[111,5531,2829],{"class":145},[111,5533,3586],{"class":2415},[111,5535,3589],{"class":145},[111,5537,3586],{"class":2415},[111,5539,2427],{"class":145},[111,5541,5543,5545,5547],{"class":113,"line":5542},224,[111,5544,2869],{"class":145},[111,5546,2452],{"class":2415},[111,5548,2427],{"class":145},[111,5550,5552,5554,5556,5558,5560,5562],{"class":113,"line":5551},225,[111,5553,2633],{"class":145},[111,5555,3299],{"class":2415},[111,5557,2419],{"class":131},[111,5559,1726],{"class":145},[111,5561,3992],{"class":135},[111,5563,2427],{"class":145},[111,5565,5567,5569,5571],{"class":113,"line":5566},226,[111,5568,2829],{"class":145},[111,5570,3315],{"class":2415},[111,5572,2427],{"class":145},[111,5574,5576,5578,5580],{"class":113,"line":5575},227,[111,5577,3322],{"class":145},[111,5579,4011],{"class":2415},[111,5581,2427],{"class":145},[111,5583,5585,5587,5589,5591,5593],{"class":113,"line":5584},228,[111,5586,3332],{"class":145},[111,5588,3349],{"class":2415},[111,5590,5069],{"class":145},[111,5592,3349],{"class":2415},[111,5594,2427],{"class":145},[111,5596,5598,5600,5602],{"class":113,"line":5597},229,[111,5599,3361],{"class":145},[111,5601,4011],{"class":2415},[111,5603,2427],{"class":145},[111,5605,5607,5609,5611],{"class":113,"line":5606},230,[111,5608,3370],{"class":145},[111,5610,3315],{"class":2415},[111,5612,2427],{"class":145},[111,5614,5616,5618,5620],{"class":113,"line":5615},231,[111,5617,2829],{"class":145},[111,5619,3381],{"class":2415},[111,5621,2427],{"class":145},[111,5623,5625,5627,5629],{"class":113,"line":5624},232,[111,5626,3322],{"class":145},[111,5628,3390],{"class":2415},[111,5630,2427],{"class":145},[111,5632,5634,5636,5638],{"class":113,"line":5633},233,[111,5635,3332],{"class":145},[111,5637,3399],{"class":2415},[111,5639,3080],{"class":145},[111,5641,5643,5645,5647],{"class":113,"line":5642},234,[111,5644,3361],{"class":145},[111,5646,3390],{"class":2415},[111,5648,2427],{"class":145},[111,5650,5652,5654,5656],{"class":113,"line":5651},235,[111,5653,3322],{"class":145},[111,5655,3416],{"class":2415},[111,5657,3080],{"class":145},[111,5659,5661,5663,5665],{"class":113,"line":5660},236,[111,5662,3322],{"class":145},[111,5664,3425],{"class":2415},[111,5666,3080],{"class":145},[111,5668,5670,5672,5674],{"class":113,"line":5669},237,[111,5671,3370],{"class":145},[111,5673,3381],{"class":2415},[111,5675,2427],{"class":145},[111,5677,5679,5681,5683],{"class":113,"line":5678},238,[111,5680,2869],{"class":145},[111,5682,3299],{"class":2415},[111,5684,2427],{"class":145},[111,5686,5688,5690,5692,5694,5696,5698],{"class":113,"line":5687},239,[111,5689,2633],{"class":145},[111,5691,3450],{"class":2415},[111,5693,2419],{"class":131},[111,5695,1726],{"class":145},[111,5697,4131],{"class":135},[111,5699,2427],{"class":145},[111,5701,5703,5705,5707],{"class":113,"line":5702},240,[111,5704,2829],{"class":145},[111,5706,3315],{"class":2415},[111,5708,2427],{"class":145},[111,5710,5712,5714,5716],{"class":113,"line":5711},241,[111,5713,3322],{"class":145},[111,5715,4011],{"class":2415},[111,5717,2427],{"class":145},[111,5719,5721,5723,5725,5727,5729],{"class":113,"line":5720},242,[111,5722,3332],{"class":145},[111,5724,3349],{"class":2415},[111,5726,5069],{"class":145},[111,5728,3349],{"class":2415},[111,5730,2427],{"class":145},[111,5732,5734,5736,5738],{"class":113,"line":5733},243,[111,5735,3361],{"class":145},[111,5737,4011],{"class":2415},[111,5739,2427],{"class":145},[111,5741,5743,5745,5747],{"class":113,"line":5742},244,[111,5744,3370],{"class":145},[111,5746,3315],{"class":2415},[111,5748,2427],{"class":145},[111,5750,5752,5754,5756],{"class":113,"line":5751},245,[111,5753,2829],{"class":145},[111,5755,3522],{"class":2415},[111,5757,2427],{"class":145},[111,5759,5761,5763,5765,5767,5769],{"class":113,"line":5760},246,[111,5762,3322],{"class":145},[111,5764,3206],{"class":2415},[111,5766,4201],{"class":145},[111,5768,3206],{"class":2415},[111,5770,2427],{"class":145},[111,5772,5774,5776,5778,5780,5782],{"class":113,"line":5773},247,[111,5775,3322],{"class":145},[111,5777,3544],{"class":2415},[111,5779,3223],{"class":145},[111,5781,3544],{"class":2415},[111,5783,2427],{"class":145},[111,5785,5787,5789,5791,5793,5795],{"class":113,"line":5786},248,[111,5788,3322],{"class":145},[111,5790,3557],{"class":2415},[111,5792,4228],{"class":145},[111,5794,3557],{"class":2415},[111,5796,2427],{"class":145},[111,5798,5800,5802,5804],{"class":113,"line":5799},249,[111,5801,3370],{"class":145},[111,5803,3522],{"class":2415},[111,5805,2427],{"class":145},[111,5807,5809,5811,5813],{"class":113,"line":5808},250,[111,5810,2869],{"class":145},[111,5812,3450],{"class":2415},[111,5814,2427],{"class":145},[111,5816,5818,5820,5822,5824,5826],{"class":113,"line":5817},251,[111,5819,2633],{"class":145},[111,5821,3586],{"class":2415},[111,5823,3589],{"class":145},[111,5825,3586],{"class":2415},[111,5827,2427],{"class":145},[111,5829,5831,5833,5835,5837,5839],{"class":113,"line":5830},252,[111,5832,2633],{"class":145},[111,5834,3739],{"class":2415},[111,5836,3742],{"class":145},[111,5838,3739],{"class":2415},[111,5840,2427],{"class":145},[111,5842,5844,5846,5848],{"class":113,"line":5843},253,[111,5845,2693],{"class":145},[111,5847,2435],{"class":2415},[111,5849,2427],{"class":145},[111,5851,5853,5855,5857,5859,5861],{"class":113,"line":5852},254,[111,5854,2459],{"class":145},[111,5856,3271],{"class":2415},[111,5858,3742],{"class":145},[111,5860,3271],{"class":2415},[111,5862,2427],{"class":145},[111,5864,5866,5868,5870,5872,5874],{"class":113,"line":5865},255,[111,5867,2459],{"class":145},[111,5869,3776],{"class":2415},[111,5871,3742],{"class":145},[111,5873,3776],{"class":2415},[111,5875,2427],{"class":145},[111,5877,5879,5881,5883],{"class":113,"line":5878},256,[111,5880,2530],{"class":145},[111,5882,2773],{"class":2415},[111,5884,2427],{"class":145},[111,5886,5888,5890,5893,5895,5897,5900,5902,5904,5907],{"class":113,"line":5887},257,[111,5889,2449],{"class":145},[111,5891,5892],{"class":2415},"light",[111,5894,2419],{"class":131},[111,5896,1726],{"class":145},[111,5898,5899],{"class":135},"'sun'",[111,5901,2998],{"class":131},[111,5903,1726],{"class":145},[111,5905,5906],{"class":135},"'directional'",[111,5908,2427],{"class":145},[111,5910,5912,5914,5916,5919,5921],{"class":113,"line":5911},258,[111,5913,2459],{"class":145},[111,5915,3586],{"class":2415},[111,5917,5918],{"class":145},">0 0 10 0 -0 0\u003C\u002F",[111,5920,3586],{"class":2415},[111,5922,2427],{"class":145},[111,5924,5926,5928,5931,5933,5935],{"class":113,"line":5925},259,[111,5927,2459],{"class":145},[111,5929,5930],{"class":2415},"cast_shadows",[111,5932,3237],{"class":145},[111,5934,5930],{"class":2415},[111,5936,2427],{"class":145},[111,5938,5940,5942,5945,5947,5949],{"class":113,"line":5939},260,[111,5941,2459],{"class":145},[111,5943,5944],{"class":2415},"intensity",[111,5946,3029],{"class":145},[111,5948,5944],{"class":2415},[111,5950,2427],{"class":145},[111,5952,5954,5956,5959,5962,5964],{"class":113,"line":5953},261,[111,5955,2459],{"class":145},[111,5957,5958],{"class":2415},"direction",[111,5960,5961],{"class":145},">-0.5 0.1 -0.9\u003C\u002F",[111,5963,5958],{"class":2415},[111,5965,2427],{"class":145},[111,5967,5969,5971,5973,5975,5977],{"class":113,"line":5968},262,[111,5970,2459],{"class":145},[111,5972,3544],{"class":2415},[111,5974,3533],{"class":145},[111,5976,3544],{"class":2415},[111,5978,2427],{"class":145},[111,5980,5982,5984,5986,5989,5991],{"class":113,"line":5981},263,[111,5983,2459],{"class":145},[111,5985,3557],{"class":2415},[111,5987,5988],{"class":145},">0.2 0.2 0.2 1\u003C\u002F",[111,5990,3557],{"class":2415},[111,5992,2427],{"class":145},[111,5994,5996,5998,6001],{"class":113,"line":5995},264,[111,5997,2459],{"class":145},[111,5999,6000],{"class":2415},"attenuation",[111,6002,2427],{"class":145},[111,6004,6006,6008,6011,6013,6015],{"class":113,"line":6005},265,[111,6007,2633],{"class":145},[111,6009,6010],{"class":2415},"range",[111,6012,3043],{"class":145},[111,6014,6010],{"class":2415},[111,6016,2427],{"class":145},[111,6018,6020,6022,6025,6028,6030],{"class":113,"line":6019},266,[111,6021,2633],{"class":145},[111,6023,6024],{"class":2415},"linear",[111,6026,6027],{"class":145},">0.01\u003C\u002F",[111,6029,6024],{"class":2415},[111,6031,2427],{"class":145},[111,6033,6035,6037,6040,6043,6045],{"class":113,"line":6034},267,[111,6036,2633],{"class":145},[111,6038,6039],{"class":2415},"constant",[111,6041,6042],{"class":145},">0.90000000000000002\u003C\u002F",[111,6044,6039],{"class":2415},[111,6046,2427],{"class":145},[111,6048,6050,6052,6055,6057,6059],{"class":113,"line":6049},268,[111,6051,2633],{"class":145},[111,6053,6054],{"class":2415},"quadratic",[111,6056,3015],{"class":145},[111,6058,6054],{"class":2415},[111,6060,2427],{"class":145},[111,6062,6064,6066,6068],{"class":113,"line":6063},269,[111,6065,2693],{"class":145},[111,6067,6000],{"class":2415},[111,6069,2427],{"class":145},[111,6071,6073,6075,6078],{"class":113,"line":6072},270,[111,6074,2459],{"class":145},[111,6076,6077],{"class":2415},"spot",[111,6079,2427],{"class":145},[111,6081,6083,6085,6088,6090,6092],{"class":113,"line":6082},271,[111,6084,2633],{"class":145},[111,6086,6087],{"class":2415},"inner_angle",[111,6089,3656],{"class":145},[111,6091,6087],{"class":2415},[111,6093,2427],{"class":145},[111,6095,6097,6099,6102,6104,6106],{"class":113,"line":6096},272,[111,6098,2633],{"class":145},[111,6100,6101],{"class":2415},"outer_angle",[111,6103,3656],{"class":145},[111,6105,6101],{"class":2415},[111,6107,2427],{"class":145},[111,6109,6111,6113,6116,6118,6120],{"class":113,"line":6110},273,[111,6112,2633],{"class":145},[111,6114,6115],{"class":2415},"falloff",[111,6117,3656],{"class":145},[111,6119,6115],{"class":2415},[111,6121,2427],{"class":145},[111,6123,6125,6127,6129],{"class":113,"line":6124},274,[111,6126,2693],{"class":145},[111,6128,6077],{"class":2415},[111,6130,2427],{"class":145},[111,6132,6134,6136,6138],{"class":113,"line":6133},275,[111,6135,2530],{"class":145},[111,6137,5892],{"class":2415},[111,6139,2427],{"class":145},[111,6141,6143,6145,6147],{"class":113,"line":6142},276,[111,6144,2539],{"class":145},[111,6146,1493],{"class":2415},[111,6148,2427],{"class":145},[111,6150,6152,6154,6156],{"class":113,"line":6151},277,[111,6153,2548],{"class":145},[111,6155,2756],{"class":2415},[111,6157,2427],{"class":145},[15,6159,6160],{},[50,6161,6162],{},"2. Modify the sdf file",[15,6164,6165,6166,6169,6170,6173,6174,1805,6176,1805,6179,6182,6183,6186,6187,6190,6191,6193,6194,2289,6196,6199,6200,6190,6202,6193,6204,2289,6206,6209,6210,6214,6215,6214,6217,6214,6220,6214,6223,6214,6226,6214,6229,6214,6232,6214,6235,6214,6238,6214,6240,6243],{},"Modify the SDF file to adjust the cube dimensions and enclose the walls. In the SDF file, the four cubes correspond to four ",[108,6167,6168],{},"\u003Cmodel>"," tags, whose ",[108,6171,6172],{},"name"," attributes are ",[108,6175,4011],{},[108,6177,6178],{},"box_1",[108,6180,6181],{},"box_2",", and ",[108,6184,6185],{},"box_3",". Change the ",[108,6188,6189],{},"\u003Csize>1 1 1\u003C\u002Fsize>"," in ",[108,6192,4011],{}," and ",[108,6195,6178],{},[108,6197,6198],{},"\u003Csize>0.1 5 1\u003C\u002Fsize>",", and change the ",[108,6201,6189],{},[108,6203,6181],{},[108,6205,6185],{},[108,6207,6208],{},"\u003Csize>10 0.1 1\u003C\u002Fsize>"," (",[6211,6212,6213],"em",{},"Note: Each"," ",[108,6216,6168],{},[6211,6218,6219],{},"tag contains two",[108,6221,6222],{},"\u003Csize>",[6211,6224,6225],{},"tags, located under the",[108,6227,6228],{},"\u003Ccollision>",[6211,6230,6231],{},"tag and the",[108,6233,6234],{},"\u003Cvisual>",[6211,6236,6237],{},"tag respectively; both",[108,6239,6222],{},[6211,6241,6242],{},"tag contents need to be modified",").",[15,6245,6246,6247,6249],{},"The modified content of the ",[108,6248,2936],{}," file is as follows:",[101,6251,6253],{"className":2403,"code":6252,"language":2405,"meta":106,"style":106},"\u003Csdf version='1.9'>\n  \u003Cworld name='empty'>\n    \u003Cphysics name='1ms' type='ignored'>\n      \u003Cmax_step_size>0.001\u003C\u002Fmax_step_size>\n      \u003Creal_time_factor>1\u003C\u002Freal_time_factor>\n      \u003Creal_time_update_rate>1000\u003C\u002Freal_time_update_rate>\n    \u003C\u002Fphysics>\n    \u003Cplugin name='ign::gazebo::systems::Physics' filename='ignition-gazebo-physics-system'\u002F>\n    \u003Cplugin name='ign::gazebo::systems::UserCommands' filename='ignition-gazebo-user-commands-system'\u002F>\n    \u003Cplugin name='ign::gazebo::systems::SceneBroadcaster' filename='ignition-gazebo-scene-broadcaster-system'\u002F>\n    \u003Cplugin name='ign::gazebo::systems::Contact' filename='ignition-gazebo-contact-system'\u002F>\n    \u003Cgravity>0 0 -9.8\u003C\u002Fgravity>\n    \u003Cmagnetic_field>6e-06 2.3e-05 -4.2e-05\u003C\u002Fmagnetic_field>\n    \u003Catmosphere type='adiabatic'\u002F>\n    \u003Cscene>\n      \u003Cambient>0.4 0.4 0.4 1\u003C\u002Fambient>\n      \u003Cbackground>0.7 0.7 0.7 1\u003C\u002Fbackground>\n      \u003Cshadows>true\u003C\u002Fshadows>\n    \u003C\u002Fscene>\n    \u003Cmodel name='ground_plane'>\n      \u003Cstatic>true\u003C\u002Fstatic>\n      \u003Clink name='link'>\n        \u003Ccollision name='collision'>\n          \u003Cgeometry>\n            \u003Cplane>\n              \u003Cnormal>0 0 1\u003C\u002Fnormal>\n              \u003Csize>100 100\u003C\u002Fsize>\n            \u003C\u002Fplane>\n          \u003C\u002Fgeometry>\n          \u003Csurface>\n            \u003Cfriction>\n              \u003Code\u002F>\n            \u003C\u002Ffriction>\n            \u003Cbounce\u002F>\n            \u003Ccontact\u002F>\n          \u003C\u002Fsurface>\n        \u003C\u002Fcollision>\n        \u003Cvisual name='visual'>\n          \u003Cgeometry>\n            \u003Cplane>\n              \u003Cnormal>0 0 1\u003C\u002Fnormal>\n              \u003Csize>100 100\u003C\u002Fsize>\n            \u003C\u002Fplane>\n          \u003C\u002Fgeometry>\n          \u003Cmaterial>\n            \u003Cambient>0.8 0.8 0.8 1\u003C\u002Fambient>\n            \u003Cdiffuse>0.8 0.8 0.8 1\u003C\u002Fdiffuse>\n            \u003Cspecular>0.8 0.8 0.8 1\u003C\u002Fspecular>\n          \u003C\u002Fmaterial>\n        \u003C\u002Fvisual>\n        \u003Cpose>0 0 0 0 -0 0\u003C\u002Fpose>\n        \u003Cinertial>\n          \u003Cpose>0 0 0 0 -0 0\u003C\u002Fpose>\n          \u003Cmass>100\u003C\u002Fmass>\n          \u003Cinertia>\n            \u003Cixx>1\u003C\u002Fixx>\n            \u003Cixy>0\u003C\u002Fixy>\n            \u003Cixz>0\u003C\u002Fixz>\n            \u003Ciyy>1\u003C\u002Fiyy>\n            \u003Ciyz>0\u003C\u002Fiyz>\n            \u003Cizz>1\u003C\u002Fizz>\n          \u003C\u002Finertia>\n        \u003C\u002Finertial>\n        \u003Cenable_wind>false\u003C\u002Fenable_wind>\n      \u003C\u002Flink>\n      \u003Cpose>0 0 0 0 -0 0\u003C\u002Fpose>\n      \u003Cself_collide>false\u003C\u002Fself_collide>\n    \u003C\u002Fmodel>\n    \u003Cmodel name='box'>\n      \u003Cpose>5.0 0 0.5 -0 0 0\u003C\u002Fpose>\n      \u003Clink name='box_link'>\n        \u003Cinertial>\n          \u003Cinertia>\n            \u003Cixx>16.666\u003C\u002Fixx>\n            \u003Cixy>0\u003C\u002Fixy>\n            \u003Cixz>0\u003C\u002Fixz>\n            \u003Ciyy>16.666\u003C\u002Fiyy>\n            \u003Ciyz>0\u003C\u002Fiyz>\n            \u003Cizz>16.666\u003C\u002Fizz>\n          \u003C\u002Finertia>\n          \u003Cmass>100\u003C\u002Fmass>\n          \u003Cpose>0 0 0 0 -0 0\u003C\u002Fpose>\n        \u003C\u002Finertial>\n        \u003Ccollision name='box_collision'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>0.1 5 1\u003C\u002Fsize>\n            \u003C\u002Fbox>\n          \u003C\u002Fgeometry>\n          \u003Csurface>\n            \u003Cfriction>\n              \u003Code\u002F>\n            \u003C\u002Ffriction>\n            \u003Cbounce\u002F>\n            \u003Ccontact\u002F>\n          \u003C\u002Fsurface>\n        \u003C\u002Fcollision>\n        \u003Cvisual name='box_visual'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>0.1 5 1\u003C\u002Fsize>\n            \u003C\u002Fbox>\n          \u003C\u002Fgeometry>\n          \u003Cmaterial>\n            \u003Cambient>0.3 0.3 0.3 1\u003C\u002Fambient>\n            \u003Cdiffuse>0.7 0.7 0.7 1\u003C\u002Fdiffuse>\n            \u003Cspecular>1 1 1 1\u003C\u002Fspecular>\n          \u003C\u002Fmaterial>\n        \u003C\u002Fvisual>\n        \u003Cpose>0 0 0 0 -0 0\u003C\u002Fpose>\n        \u003Cenable_wind>false\u003C\u002Fenable_wind>\n      \u003C\u002Flink>\n      \u003Cstatic>false\u003C\u002Fstatic>\n      \u003Cself_collide>false\u003C\u002Fself_collide>\n    \u003C\u002Fmodel>\n    \u003Cmodel name='box_0'>\n      \u003Cpose>-5.0 -0 0.50000 -0 0 0\u003C\u002Fpose>\n      \u003Clink name='box_link'>\n        \u003Cinertial>\n          \u003Cinertia>\n            \u003Cixx>16.666\u003C\u002Fixx>\n            \u003Cixy>0\u003C\u002Fixy>\n            \u003Cixz>0\u003C\u002Fixz>\n            \u003Ciyy>16.666\u003C\u002Fiyy>\n            \u003Ciyz>0\u003C\u002Fiyz>\n            \u003Cizz>16.666\u003C\u002Fizz>\n          \u003C\u002Finertia>\n          \u003Cmass>100\u003C\u002Fmass>\n          \u003Cpose>0 0 0 0 -0 0\u003C\u002Fpose>\n        \u003C\u002Finertial>\n        \u003Ccollision name='box_collision'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>0.1 5 1\u003C\u002Fsize>\n            \u003C\u002Fbox>\n          \u003C\u002Fgeometry>\n          \u003Csurface>\n            \u003Cfriction>\n              \u003Code\u002F>\n            \u003C\u002Ffriction>\n            \u003Cbounce\u002F>\n            \u003Ccontact\u002F>\n          \u003C\u002Fsurface>\n        \u003C\u002Fcollision>\n        \u003Cvisual name='box_visual'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>0.1 5 1\u003C\u002Fsize>\n            \u003C\u002Fbox>\n          \u003C\u002Fgeometry>\n          \u003Cmaterial>\n            \u003Cambient>0.3 0.3 0.3 1\u003C\u002Fambient>\n            \u003Cdiffuse>0.7 0.7 0.7 1\u003C\u002Fdiffuse>\n            \u003Cspecular>1 1 1 1\u003C\u002Fspecular>\n          \u003C\u002Fmaterial>\n        \u003C\u002Fvisual>\n        \u003Cpose>0 0 0 0 -0 0\u003C\u002Fpose>\n        \u003Cenable_wind>false\u003C\u002Fenable_wind>\n      \u003C\u002Flink>\n      \u003Cstatic>false\u003C\u002Fstatic>\n      \u003Cself_collide>false\u003C\u002Fself_collide>\n    \u003C\u002Fmodel>\n    \u003Cmodel name='box_1'>\n      \u003Cpose>-0 -2.5 0.5 -0 -0 -0\u003C\u002Fpose>\n      \u003Clink name='box_link'>\n        \u003Cinertial>\n          \u003Cinertia>\n            \u003Cixx>16.666\u003C\u002Fixx>\n            \u003Cixy>0\u003C\u002Fixy>\n            \u003Cixz>0\u003C\u002Fixz>\n            \u003Ciyy>16.666\u003C\u002Fiyy>\n            \u003Ciyz>0\u003C\u002Fiyz>\n            \u003Cizz>16.666\u003C\u002Fizz>\n          \u003C\u002Finertia>\n          \u003Cmass>100\u003C\u002Fmass>\n          \u003Cpose>0 0 0 0 -0 0\u003C\u002Fpose>\n        \u003C\u002Finertial>\n        \u003Ccollision name='box_collision'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>10 0.1 1\u003C\u002Fsize>\n            \u003C\u002Fbox>\n          \u003C\u002Fgeometry>\n          \u003Csurface>\n            \u003Cfriction>\n              \u003Code\u002F>\n            \u003C\u002Ffriction>\n            \u003Cbounce\u002F>\n            \u003Ccontact\u002F>\n          \u003C\u002Fsurface>\n        \u003C\u002Fcollision>\n        \u003Cvisual name='box_visual'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>10 0.1 1\u003C\u002Fsize>\n            \u003C\u002Fbox>\n          \u003C\u002Fgeometry>\n          \u003Cmaterial>\n            \u003Cambient>0.3 0.3 0.3 1\u003C\u002Fambient>\n            \u003Cdiffuse>0.7 0.7 0.7 1\u003C\u002Fdiffuse>\n            \u003Cspecular>1 1 1 1\u003C\u002Fspecular>\n          \u003C\u002Fmaterial>\n        \u003C\u002Fvisual>\n        \u003Cpose>0 0 0 0 -0 0\u003C\u002Fpose>\n        \u003Cenable_wind>false\u003C\u002Fenable_wind>\n      \u003C\u002Flink>\n      \u003Cstatic>false\u003C\u002Fstatic>\n      \u003Cself_collide>false\u003C\u002Fself_collide>\n    \u003C\u002Fmodel>\n    \u003Cmodel name='box_2'>\n      \u003Cpose>-0 2.5 0.5 0 -0 -0\u003C\u002Fpose>\n      \u003Clink name='box_link'>\n        \u003Cinertial>\n          \u003Cinertia>\n            \u003Cixx>16.666\u003C\u002Fixx>\n            \u003Cixy>0\u003C\u002Fixy>\n            \u003Cixz>0\u003C\u002Fixz>\n            \u003Ciyy>16.666\u003C\u002Fiyy>\n            \u003Ciyz>0\u003C\u002Fiyz>\n            \u003Cizz>16.666\u003C\u002Fizz>\n          \u003C\u002Finertia>\n          \u003Cmass>100\u003C\u002Fmass>\n          \u003Cpose>0 0 0 0 -0 0\u003C\u002Fpose>\n        \u003C\u002Finertial>\n        \u003Ccollision name='box_collision'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>10 0.1 1\u003C\u002Fsize>\n            \u003C\u002Fbox>\n          \u003C\u002Fgeometry>\n          \u003Csurface>\n            \u003Cfriction>\n              \u003Code\u002F>\n            \u003C\u002Ffriction>\n            \u003Cbounce\u002F>\n            \u003Ccontact\u002F>\n          \u003C\u002Fsurface>\n        \u003C\u002Fcollision>\n        \u003Cvisual name='box_visual'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>10 0.1 1\u003C\u002Fsize>\n            \u003C\u002Fbox>\n          \u003C\u002Fgeometry>\n          \u003Cmaterial>\n            \u003Cambient>0.3 0.3 0.3 1\u003C\u002Fambient>\n            \u003Cdiffuse>0.7 0.7 0.7 1\u003C\u002Fdiffuse>\n            \u003Cspecular>1 1 1 1\u003C\u002Fspecular>\n          \u003C\u002Fmaterial>\n        \u003C\u002Fvisual>\n        \u003Cpose>0 0 0 0 -0 0\u003C\u002Fpose>\n        \u003Cenable_wind>false\u003C\u002Fenable_wind>\n      \u003C\u002Flink>\n      \u003Cstatic>false\u003C\u002Fstatic>\n      \u003Cself_collide>false\u003C\u002Fself_collide>\n    \u003C\u002Fmodel>\n    \u003Clight name='sun' type='directional'>\n      \u003Cpose>0 0 10 0 -0 0\u003C\u002Fpose>\n      \u003Ccast_shadows>true\u003C\u002Fcast_shadows>\n      \u003Cintensity>1\u003C\u002Fintensity>\n      \u003Cdirection>-0.5 0.1 -0.9\u003C\u002Fdirection>\n      \u003Cdiffuse>0.8 0.8 0.8 1\u003C\u002Fdiffuse>\n      \u003Cspecular>0.2 0.2 0.2 1\u003C\u002Fspecular>\n      \u003Cattenuation>\n        \u003Crange>1000\u003C\u002Frange>\n        \u003Clinear>0.01\u003C\u002Flinear>\n        \u003Cconstant>0.90000000000000002\u003C\u002Fconstant>\n        \u003Cquadratic>0.001\u003C\u002Fquadratic>\n      \u003C\u002Fattenuation>\n      \u003Cspot>\n        \u003Cinner_angle>0\u003C\u002Finner_angle>\n        \u003Couter_angle>0\u003C\u002Fouter_angle>\n        \u003Cfalloff>0\u003C\u002Ffalloff>\n      \u003C\u002Fspot>\n    \u003C\u002Flight>\n  \u003C\u002Fworld>\n\u003C\u002Fsdf>\n",[108,6254,6255,6269,6283,6303,6315,6327,6339,6347,6368,6389,6410,6431,6443,6455,6469,6477,6489,6501,6513,6521,6535,6547,6561,6575,6583,6591,6603,6615,6623,6631,6639,6647,6655,6663,6671,6679,6687,6695,6709,6717,6725,6737,6749,6757,6765,6773,6785,6797,6809,6817,6825,6837,6845,6857,6869,6877,6889,6901,6913,6925,6937,6949,6957,6965,6977,6985,6997,7009,7017,7031,7043,7057,7065,7073,7085,7097,7109,7121,7133,7145,7153,7165,7177,7185,7199,7207,7215,7227,7235,7243,7251,7259,7267,7275,7283,7291,7299,7307,7321,7329,7337,7349,7357,7365,7373,7385,7397,7409,7417,7425,7437,7449,7457,7469,7481,7489,7503,7515,7529,7537,7545,7557,7569,7581,7593,7605,7617,7625,7637,7649,7657,7671,7679,7687,7699,7707,7715,7723,7731,7739,7747,7755,7763,7771,7779,7793,7801,7809,7821,7829,7837,7845,7857,7869,7881,7889,7897,7909,7921,7929,7941,7953,7961,7975,7987,8001,8009,8017,8029,8041,8053,8065,8077,8089,8097,8109,8121,8129,8143,8151,8159,8171,8179,8187,8195,8203,8211,8219,8227,8235,8243,8251,8265,8273,8281,8293,8301,8309,8317,8329,8341,8353,8361,8369,8381,8393,8401,8413,8425,8433,8447,8459,8473,8481,8489,8501,8513,8525,8537,8549,8561,8569,8581,8593,8601,8615,8623,8631,8643,8651,8659,8667,8675,8683,8691,8699,8707,8715,8723,8737,8745,8753,8765,8773,8781,8789,8801,8813,8825,8833,8841,8853,8865,8873,8885,8897,8905,8925,8937,8949,8961,8973,8985,8997,9005,9017,9029,9041,9053,9061,9069,9081,9093,9105,9113,9121,9129],{"__ignoreMap":106},[111,6256,6257,6259,6261,6263,6265,6267],{"class":113,"line":114},[111,6258,2412],{"class":145},[111,6260,2756],{"class":2415},[111,6262,2759],{"class":131},[111,6264,1726],{"class":145},[111,6266,2964],{"class":135},[111,6268,2427],{"class":145},[111,6270,6271,6273,6275,6277,6279,6281],{"class":113,"line":121},[111,6272,2432],{"class":145},[111,6274,1493],{"class":2415},[111,6276,2419],{"class":131},[111,6278,1726],{"class":145},[111,6280,2979],{"class":135},[111,6282,2427],{"class":145},[111,6284,6285,6287,6289,6291,6293,6295,6297,6299,6301],{"class":113,"line":128},[111,6286,2449],{"class":145},[111,6288,2988],{"class":2415},[111,6290,2419],{"class":131},[111,6292,1726],{"class":145},[111,6294,2995],{"class":135},[111,6296,2998],{"class":131},[111,6298,1726],{"class":145},[111,6300,3003],{"class":135},[111,6302,2427],{"class":145},[111,6304,6305,6307,6309,6311,6313],{"class":113,"line":152},[111,6306,2459],{"class":145},[111,6308,3012],{"class":2415},[111,6310,3015],{"class":145},[111,6312,3012],{"class":2415},[111,6314,2427],{"class":145},[111,6316,6317,6319,6321,6323,6325],{"class":113,"line":157},[111,6318,2459],{"class":145},[111,6320,3026],{"class":2415},[111,6322,3029],{"class":145},[111,6324,3026],{"class":2415},[111,6326,2427],{"class":145},[111,6328,6329,6331,6333,6335,6337],{"class":113,"line":163},[111,6330,2459],{"class":145},[111,6332,3040],{"class":2415},[111,6334,3043],{"class":145},[111,6336,3040],{"class":2415},[111,6338,2427],{"class":145},[111,6340,6341,6343,6345],{"class":113,"line":175},[111,6342,2530],{"class":145},[111,6344,2988],{"class":2415},[111,6346,2427],{"class":145},[111,6348,6349,6351,6353,6355,6357,6360,6362,6364,6366],{"class":113,"line":180},[111,6350,2449],{"class":145},[111,6352,3062],{"class":2415},[111,6354,2419],{"class":131},[111,6356,1726],{"class":145},[111,6358,6359],{"class":135},"'ign::gazebo::systems::Physics'",[111,6361,3072],{"class":131},[111,6363,1726],{"class":145},[111,6365,3077],{"class":135},[111,6367,3080],{"class":145},[111,6369,6370,6372,6374,6376,6378,6381,6383,6385,6387],{"class":113,"line":186},[111,6371,2449],{"class":145},[111,6373,3062],{"class":2415},[111,6375,2419],{"class":131},[111,6377,1726],{"class":145},[111,6379,6380],{"class":135},"'ign::gazebo::systems::UserCommands'",[111,6382,3072],{"class":131},[111,6384,1726],{"class":145},[111,6386,3100],{"class":135},[111,6388,3080],{"class":145},[111,6390,6391,6393,6395,6397,6399,6402,6404,6406,6408],{"class":113,"line":433},[111,6392,2449],{"class":145},[111,6394,3062],{"class":2415},[111,6396,2419],{"class":131},[111,6398,1726],{"class":145},[111,6400,6401],{"class":135},"'ign::gazebo::systems::SceneBroadcaster'",[111,6403,3072],{"class":131},[111,6405,1726],{"class":145},[111,6407,3122],{"class":135},[111,6409,3080],{"class":145},[111,6411,6412,6414,6416,6418,6420,6423,6425,6427,6429],{"class":113,"line":439},[111,6413,2449],{"class":145},[111,6415,3062],{"class":2415},[111,6417,2419],{"class":131},[111,6419,1726],{"class":145},[111,6421,6422],{"class":135},"'ign::gazebo::systems::Contact'",[111,6424,3072],{"class":131},[111,6426,1726],{"class":145},[111,6428,3144],{"class":135},[111,6430,3080],{"class":145},[111,6432,6433,6435,6437,6439,6441],{"class":113,"line":445},[111,6434,2449],{"class":145},[111,6436,3153],{"class":2415},[111,6438,3156],{"class":145},[111,6440,3153],{"class":2415},[111,6442,2427],{"class":145},[111,6444,6445,6447,6449,6451,6453],{"class":113,"line":451},[111,6446,2449],{"class":145},[111,6448,3167],{"class":2415},[111,6450,3170],{"class":145},[111,6452,3167],{"class":2415},[111,6454,2427],{"class":145},[111,6456,6457,6459,6461,6463,6465,6467],{"class":113,"line":1703},[111,6458,2449],{"class":145},[111,6460,3181],{"class":2415},[111,6462,2998],{"class":131},[111,6464,1726],{"class":145},[111,6466,3188],{"class":135},[111,6468,3080],{"class":145},[111,6470,6471,6473,6475],{"class":113,"line":1715},[111,6472,2449],{"class":145},[111,6474,3197],{"class":2415},[111,6476,2427],{"class":145},[111,6478,6479,6481,6483,6485,6487],{"class":113,"line":1720},[111,6480,2459],{"class":145},[111,6482,3206],{"class":2415},[111,6484,3209],{"class":145},[111,6486,3206],{"class":2415},[111,6488,2427],{"class":145},[111,6490,6491,6493,6495,6497,6499],{"class":113,"line":1737},[111,6492,2459],{"class":145},[111,6494,3220],{"class":2415},[111,6496,3223],{"class":145},[111,6498,3220],{"class":2415},[111,6500,2427],{"class":145},[111,6502,6503,6505,6507,6509,6511],{"class":113,"line":1752},[111,6504,2459],{"class":145},[111,6506,3234],{"class":2415},[111,6508,3237],{"class":145},[111,6510,3234],{"class":2415},[111,6512,2427],{"class":145},[111,6514,6515,6517,6519],{"class":113,"line":1774},[111,6516,2530],{"class":145},[111,6518,3197],{"class":2415},[111,6520,2427],{"class":145},[111,6522,6523,6525,6527,6529,6531,6533],{"class":113,"line":1779},[111,6524,2449],{"class":145},[111,6526,2773],{"class":2415},[111,6528,2419],{"class":131},[111,6530,1726],{"class":145},[111,6532,3262],{"class":135},[111,6534,2427],{"class":145},[111,6536,6537,6539,6541,6543,6545],{"class":113,"line":1790},[111,6538,2459],{"class":145},[111,6540,3271],{"class":2415},[111,6542,3237],{"class":145},[111,6544,3271],{"class":2415},[111,6546,2427],{"class":145},[111,6548,6549,6551,6553,6555,6557,6559],{"class":113,"line":1796},[111,6550,2459],{"class":145},[111,6552,2435],{"class":2415},[111,6554,2419],{"class":131},[111,6556,1726],{"class":145},[111,6558,3290],{"class":135},[111,6560,2427],{"class":145},[111,6562,6563,6565,6567,6569,6571,6573],{"class":113,"line":1814},[111,6564,2633],{"class":145},[111,6566,3299],{"class":2415},[111,6568,2419],{"class":131},[111,6570,1726],{"class":145},[111,6572,3306],{"class":135},[111,6574,2427],{"class":145},[111,6576,6577,6579,6581],{"class":113,"line":1826},[111,6578,2829],{"class":145},[111,6580,3315],{"class":2415},[111,6582,2427],{"class":145},[111,6584,6585,6587,6589],{"class":113,"line":1844},[111,6586,3322],{"class":145},[111,6588,3325],{"class":2415},[111,6590,2427],{"class":145},[111,6592,6593,6595,6597,6599,6601],{"class":113,"line":1850},[111,6594,3332],{"class":145},[111,6596,3335],{"class":2415},[111,6598,3338],{"class":145},[111,6600,3335],{"class":2415},[111,6602,2427],{"class":145},[111,6604,6605,6607,6609,6611,6613],{"class":113,"line":1856},[111,6606,3332],{"class":145},[111,6608,3349],{"class":2415},[111,6610,3352],{"class":145},[111,6612,3349],{"class":2415},[111,6614,2427],{"class":145},[111,6616,6617,6619,6621],{"class":113,"line":1861},[111,6618,3361],{"class":145},[111,6620,3325],{"class":2415},[111,6622,2427],{"class":145},[111,6624,6625,6627,6629],{"class":113,"line":1867},[111,6626,3370],{"class":145},[111,6628,3315],{"class":2415},[111,6630,2427],{"class":145},[111,6632,6633,6635,6637],{"class":113,"line":1878},[111,6634,2829],{"class":145},[111,6636,3381],{"class":2415},[111,6638,2427],{"class":145},[111,6640,6641,6643,6645],{"class":113,"line":1892},[111,6642,3322],{"class":145},[111,6644,3390],{"class":2415},[111,6646,2427],{"class":145},[111,6648,6649,6651,6653],{"class":113,"line":1904},[111,6650,3332],{"class":145},[111,6652,3399],{"class":2415},[111,6654,3080],{"class":145},[111,6656,6657,6659,6661],{"class":113,"line":1931},[111,6658,3361],{"class":145},[111,6660,3390],{"class":2415},[111,6662,2427],{"class":145},[111,6664,6665,6667,6669],{"class":113,"line":1947},[111,6666,3322],{"class":145},[111,6668,3416],{"class":2415},[111,6670,3080],{"class":145},[111,6672,6673,6675,6677],{"class":113,"line":1952},[111,6674,3322],{"class":145},[111,6676,3425],{"class":2415},[111,6678,3080],{"class":145},[111,6680,6681,6683,6685],{"class":113,"line":1957},[111,6682,3370],{"class":145},[111,6684,3381],{"class":2415},[111,6686,2427],{"class":145},[111,6688,6689,6691,6693],{"class":113,"line":1963},[111,6690,2869],{"class":145},[111,6692,3299],{"class":2415},[111,6694,2427],{"class":145},[111,6696,6697,6699,6701,6703,6705,6707],{"class":113,"line":1973},[111,6698,2633],{"class":145},[111,6700,3450],{"class":2415},[111,6702,2419],{"class":131},[111,6704,1726],{"class":145},[111,6706,3457],{"class":135},[111,6708,2427],{"class":145},[111,6710,6711,6713,6715],{"class":113,"line":1986},[111,6712,2829],{"class":145},[111,6714,3315],{"class":2415},[111,6716,2427],{"class":145},[111,6718,6719,6721,6723],{"class":113,"line":1999},[111,6720,3322],{"class":145},[111,6722,3325],{"class":2415},[111,6724,2427],{"class":145},[111,6726,6727,6729,6731,6733,6735],{"class":113,"line":2014},[111,6728,3332],{"class":145},[111,6730,3335],{"class":2415},[111,6732,3338],{"class":145},[111,6734,3335],{"class":2415},[111,6736,2427],{"class":145},[111,6738,6739,6741,6743,6745,6747],{"class":113,"line":2022},[111,6740,3332],{"class":145},[111,6742,3349],{"class":2415},[111,6744,3352],{"class":145},[111,6746,3349],{"class":2415},[111,6748,2427],{"class":145},[111,6750,6751,6753,6755],{"class":113,"line":2030},[111,6752,3361],{"class":145},[111,6754,3325],{"class":2415},[111,6756,2427],{"class":145},[111,6758,6759,6761,6763],{"class":113,"line":2036},[111,6760,3370],{"class":145},[111,6762,3315],{"class":2415},[111,6764,2427],{"class":145},[111,6766,6767,6769,6771],{"class":113,"line":2058},[111,6768,2829],{"class":145},[111,6770,3522],{"class":2415},[111,6772,2427],{"class":145},[111,6774,6775,6777,6779,6781,6783],{"class":113,"line":2069},[111,6776,3322],{"class":145},[111,6778,3206],{"class":2415},[111,6780,3533],{"class":145},[111,6782,3206],{"class":2415},[111,6784,2427],{"class":145},[111,6786,6787,6789,6791,6793,6795],{"class":113,"line":2086},[111,6788,3322],{"class":145},[111,6790,3544],{"class":2415},[111,6792,3533],{"class":145},[111,6794,3544],{"class":2415},[111,6796,2427],{"class":145},[111,6798,6799,6801,6803,6805,6807],{"class":113,"line":2101},[111,6800,3322],{"class":145},[111,6802,3557],{"class":2415},[111,6804,3533],{"class":145},[111,6806,3557],{"class":2415},[111,6808,2427],{"class":145},[111,6810,6811,6813,6815],{"class":113,"line":2107},[111,6812,3370],{"class":145},[111,6814,3522],{"class":2415},[111,6816,2427],{"class":145},[111,6818,6819,6821,6823],{"class":113,"line":2118},[111,6820,2869],{"class":145},[111,6822,3450],{"class":2415},[111,6824,2427],{"class":145},[111,6826,6827,6829,6831,6833,6835],{"class":113,"line":2123},[111,6828,2633],{"class":145},[111,6830,3586],{"class":2415},[111,6832,3589],{"class":145},[111,6834,3586],{"class":2415},[111,6836,2427],{"class":145},[111,6838,6839,6841,6843],{"class":113,"line":2128},[111,6840,2633],{"class":145},[111,6842,2452],{"class":2415},[111,6844,2427],{"class":145},[111,6846,6847,6849,6851,6853,6855],{"class":113,"line":2137},[111,6848,2829],{"class":145},[111,6850,3586],{"class":2415},[111,6852,3589],{"class":145},[111,6854,3586],{"class":2415},[111,6856,2427],{"class":145},[111,6858,6859,6861,6863,6865,6867],{"class":113,"line":2143},[111,6860,2829],{"class":145},[111,6862,2462],{"class":2415},[111,6864,3622],{"class":145},[111,6866,2462],{"class":2415},[111,6868,2427],{"class":145},[111,6870,6871,6873,6875],{"class":113,"line":2163},[111,6872,2829],{"class":145},[111,6874,2480],{"class":2415},[111,6876,2427],{"class":145},[111,6878,6879,6881,6883,6885,6887],{"class":113,"line":2176},[111,6880,3322],{"class":145},[111,6882,2832],{"class":2415},[111,6884,3029],{"class":145},[111,6886,2832],{"class":2415},[111,6888,2427],{"class":145},[111,6890,6891,6893,6895,6897,6899],{"class":113,"line":2182},[111,6892,3322],{"class":145},[111,6894,3653],{"class":2415},[111,6896,3656],{"class":145},[111,6898,3653],{"class":2415},[111,6900,2427],{"class":145},[111,6902,6903,6905,6907,6909,6911],{"class":113,"line":2188},[111,6904,3322],{"class":145},[111,6906,3667],{"class":2415},[111,6908,3656],{"class":145},[111,6910,3667],{"class":2415},[111,6912,2427],{"class":145},[111,6914,6915,6917,6919,6921,6923],{"class":113,"line":3676},[111,6916,3322],{"class":145},[111,6918,2845],{"class":2415},[111,6920,3029],{"class":145},[111,6922,2845],{"class":2415},[111,6924,2427],{"class":145},[111,6926,6927,6929,6931,6933,6935],{"class":113,"line":3689},[111,6928,3322],{"class":145},[111,6930,3694],{"class":2415},[111,6932,3656],{"class":145},[111,6934,3694],{"class":2415},[111,6936,2427],{"class":145},[111,6938,6939,6941,6943,6945,6947],{"class":113,"line":3703},[111,6940,3322],{"class":145},[111,6942,2858],{"class":2415},[111,6944,3029],{"class":145},[111,6946,2858],{"class":2415},[111,6948,2427],{"class":145},[111,6950,6951,6953,6955],{"class":113,"line":3716},[111,6952,3370],{"class":145},[111,6954,2480],{"class":2415},[111,6956,2427],{"class":145},[111,6958,6959,6961,6963],{"class":113,"line":3725},[111,6960,2869],{"class":145},[111,6962,2452],{"class":2415},[111,6964,2427],{"class":145},[111,6966,6967,6969,6971,6973,6975],{"class":113,"line":3734},[111,6968,2633],{"class":145},[111,6970,3739],{"class":2415},[111,6972,3742],{"class":145},[111,6974,3739],{"class":2415},[111,6976,2427],{"class":145},[111,6978,6979,6981,6983],{"class":113,"line":3749},[111,6980,2693],{"class":145},[111,6982,2435],{"class":2415},[111,6984,2427],{"class":145},[111,6986,6987,6989,6991,6993,6995],{"class":113,"line":3758},[111,6988,2459],{"class":145},[111,6990,3586],{"class":2415},[111,6992,3589],{"class":145},[111,6994,3586],{"class":2415},[111,6996,2427],{"class":145},[111,6998,6999,7001,7003,7005,7007],{"class":113,"line":3771},[111,7000,2459],{"class":145},[111,7002,3776],{"class":2415},[111,7004,3742],{"class":145},[111,7006,3776],{"class":2415},[111,7008,2427],{"class":145},[111,7010,7011,7013,7015],{"class":113,"line":3785},[111,7012,2530],{"class":145},[111,7014,2773],{"class":2415},[111,7016,2427],{"class":145},[111,7018,7019,7021,7023,7025,7027,7029],{"class":113,"line":3794},[111,7020,2449],{"class":145},[111,7022,2773],{"class":2415},[111,7024,2419],{"class":131},[111,7026,1726],{"class":145},[111,7028,3805],{"class":135},[111,7030,2427],{"class":145},[111,7032,7033,7035,7037,7039,7041],{"class":113,"line":3810},[111,7034,2459],{"class":145},[111,7036,3586],{"class":2415},[111,7038,3817],{"class":145},[111,7040,3586],{"class":2415},[111,7042,2427],{"class":145},[111,7044,7045,7047,7049,7051,7053,7055],{"class":113,"line":3824},[111,7046,2459],{"class":145},[111,7048,2435],{"class":2415},[111,7050,2419],{"class":131},[111,7052,1726],{"class":145},[111,7054,3835],{"class":135},[111,7056,2427],{"class":145},[111,7058,7059,7061,7063],{"class":113,"line":3840},[111,7060,2633],{"class":145},[111,7062,2452],{"class":2415},[111,7064,2427],{"class":145},[111,7066,7067,7069,7071],{"class":113,"line":3849},[111,7068,2829],{"class":145},[111,7070,2480],{"class":2415},[111,7072,2427],{"class":145},[111,7074,7075,7077,7079,7081,7083],{"class":113,"line":3858},[111,7076,3322],{"class":145},[111,7078,2832],{"class":2415},[111,7080,3865],{"class":145},[111,7082,2832],{"class":2415},[111,7084,2427],{"class":145},[111,7086,7087,7089,7091,7093,7095],{"class":113,"line":3872},[111,7088,3322],{"class":145},[111,7090,3653],{"class":2415},[111,7092,3656],{"class":145},[111,7094,3653],{"class":2415},[111,7096,2427],{"class":145},[111,7098,7099,7101,7103,7105,7107],{"class":113,"line":3885},[111,7100,3322],{"class":145},[111,7102,3667],{"class":2415},[111,7104,3656],{"class":145},[111,7106,3667],{"class":2415},[111,7108,2427],{"class":145},[111,7110,7111,7113,7115,7117,7119],{"class":113,"line":3898},[111,7112,3322],{"class":145},[111,7114,2845],{"class":2415},[111,7116,3865],{"class":145},[111,7118,2845],{"class":2415},[111,7120,2427],{"class":145},[111,7122,7123,7125,7127,7129,7131],{"class":113,"line":3911},[111,7124,3322],{"class":145},[111,7126,3694],{"class":2415},[111,7128,3656],{"class":145},[111,7130,3694],{"class":2415},[111,7132,2427],{"class":145},[111,7134,7135,7137,7139,7141,7143],{"class":113,"line":3924},[111,7136,3322],{"class":145},[111,7138,2858],{"class":2415},[111,7140,3865],{"class":145},[111,7142,2858],{"class":2415},[111,7144,2427],{"class":145},[111,7146,7147,7149,7151],{"class":113,"line":3937},[111,7148,3370],{"class":145},[111,7150,2480],{"class":2415},[111,7152,2427],{"class":145},[111,7154,7155,7157,7159,7161,7163],{"class":113,"line":3946},[111,7156,2829],{"class":145},[111,7158,2462],{"class":2415},[111,7160,3622],{"class":145},[111,7162,2462],{"class":2415},[111,7164,2427],{"class":145},[111,7166,7167,7169,7171,7173,7175],{"class":113,"line":3959},[111,7168,2829],{"class":145},[111,7170,3586],{"class":2415},[111,7172,3589],{"class":145},[111,7174,3586],{"class":2415},[111,7176,2427],{"class":145},[111,7178,7179,7181,7183],{"class":113,"line":3972},[111,7180,2869],{"class":145},[111,7182,2452],{"class":2415},[111,7184,2427],{"class":145},[111,7186,7187,7189,7191,7193,7195,7197],{"class":113,"line":3981},[111,7188,2633],{"class":145},[111,7190,3299],{"class":2415},[111,7192,2419],{"class":131},[111,7194,1726],{"class":145},[111,7196,3992],{"class":135},[111,7198,2427],{"class":145},[111,7200,7201,7203,7205],{"class":113,"line":3997},[111,7202,2829],{"class":145},[111,7204,3315],{"class":2415},[111,7206,2427],{"class":145},[111,7208,7209,7211,7213],{"class":113,"line":4006},[111,7210,3322],{"class":145},[111,7212,4011],{"class":2415},[111,7214,2427],{"class":145},[111,7216,7217,7219,7221,7223,7225],{"class":113,"line":4016},[111,7218,3332],{"class":145},[111,7220,3349],{"class":2415},[111,7222,4023],{"class":145},[111,7224,3349],{"class":2415},[111,7226,2427],{"class":145},[111,7228,7229,7231,7233],{"class":113,"line":4030},[111,7230,3361],{"class":145},[111,7232,4011],{"class":2415},[111,7234,2427],{"class":145},[111,7236,7237,7239,7241],{"class":113,"line":4039},[111,7238,3370],{"class":145},[111,7240,3315],{"class":2415},[111,7242,2427],{"class":145},[111,7244,7245,7247,7249],{"class":113,"line":4048},[111,7246,2829],{"class":145},[111,7248,3381],{"class":2415},[111,7250,2427],{"class":145},[111,7252,7253,7255,7257],{"class":113,"line":4057},[111,7254,3322],{"class":145},[111,7256,3390],{"class":2415},[111,7258,2427],{"class":145},[111,7260,7261,7263,7265],{"class":113,"line":4066},[111,7262,3332],{"class":145},[111,7264,3399],{"class":2415},[111,7266,3080],{"class":145},[111,7268,7269,7271,7273],{"class":113,"line":4075},[111,7270,3361],{"class":145},[111,7272,3390],{"class":2415},[111,7274,2427],{"class":145},[111,7276,7277,7279,7281],{"class":113,"line":4084},[111,7278,3322],{"class":145},[111,7280,3416],{"class":2415},[111,7282,3080],{"class":145},[111,7284,7285,7287,7289],{"class":113,"line":4093},[111,7286,3322],{"class":145},[111,7288,3425],{"class":2415},[111,7290,3080],{"class":145},[111,7292,7293,7295,7297],{"class":113,"line":4102},[111,7294,3370],{"class":145},[111,7296,3381],{"class":2415},[111,7298,2427],{"class":145},[111,7300,7301,7303,7305],{"class":113,"line":4111},[111,7302,2869],{"class":145},[111,7304,3299],{"class":2415},[111,7306,2427],{"class":145},[111,7308,7309,7311,7313,7315,7317,7319],{"class":113,"line":4120},[111,7310,2633],{"class":145},[111,7312,3450],{"class":2415},[111,7314,2419],{"class":131},[111,7316,1726],{"class":145},[111,7318,4131],{"class":135},[111,7320,2427],{"class":145},[111,7322,7323,7325,7327],{"class":113,"line":4136},[111,7324,2829],{"class":145},[111,7326,3315],{"class":2415},[111,7328,2427],{"class":145},[111,7330,7331,7333,7335],{"class":113,"line":4145},[111,7332,3322],{"class":145},[111,7334,4011],{"class":2415},[111,7336,2427],{"class":145},[111,7338,7339,7341,7343,7345,7347],{"class":113,"line":4154},[111,7340,3332],{"class":145},[111,7342,3349],{"class":2415},[111,7344,4023],{"class":145},[111,7346,3349],{"class":2415},[111,7348,2427],{"class":145},[111,7350,7351,7353,7355],{"class":113,"line":4167},[111,7352,3361],{"class":145},[111,7354,4011],{"class":2415},[111,7356,2427],{"class":145},[111,7358,7359,7361,7363],{"class":113,"line":4176},[111,7360,3370],{"class":145},[111,7362,3315],{"class":2415},[111,7364,2427],{"class":145},[111,7366,7367,7369,7371],{"class":113,"line":4185},[111,7368,2829],{"class":145},[111,7370,3522],{"class":2415},[111,7372,2427],{"class":145},[111,7374,7375,7377,7379,7381,7383],{"class":113,"line":4194},[111,7376,3322],{"class":145},[111,7378,3206],{"class":2415},[111,7380,4201],{"class":145},[111,7382,3206],{"class":2415},[111,7384,2427],{"class":145},[111,7386,7387,7389,7391,7393,7395],{"class":113,"line":4208},[111,7388,3322],{"class":145},[111,7390,3544],{"class":2415},[111,7392,3223],{"class":145},[111,7394,3544],{"class":2415},[111,7396,2427],{"class":145},[111,7398,7399,7401,7403,7405,7407],{"class":113,"line":4221},[111,7400,3322],{"class":145},[111,7402,3557],{"class":2415},[111,7404,4228],{"class":145},[111,7406,3557],{"class":2415},[111,7408,2427],{"class":145},[111,7410,7411,7413,7415],{"class":113,"line":4235},[111,7412,3370],{"class":145},[111,7414,3522],{"class":2415},[111,7416,2427],{"class":145},[111,7418,7419,7421,7423],{"class":113,"line":4244},[111,7420,2869],{"class":145},[111,7422,3450],{"class":2415},[111,7424,2427],{"class":145},[111,7426,7427,7429,7431,7433,7435],{"class":113,"line":4253},[111,7428,2633],{"class":145},[111,7430,3586],{"class":2415},[111,7432,3589],{"class":145},[111,7434,3586],{"class":2415},[111,7436,2427],{"class":145},[111,7438,7439,7441,7443,7445,7447],{"class":113,"line":4266},[111,7440,2633],{"class":145},[111,7442,3739],{"class":2415},[111,7444,3742],{"class":145},[111,7446,3739],{"class":2415},[111,7448,2427],{"class":145},[111,7450,7451,7453,7455],{"class":113,"line":4279},[111,7452,2693],{"class":145},[111,7454,2435],{"class":2415},[111,7456,2427],{"class":145},[111,7458,7459,7461,7463,7465,7467],{"class":113,"line":4288},[111,7460,2459],{"class":145},[111,7462,3271],{"class":2415},[111,7464,3742],{"class":145},[111,7466,3271],{"class":2415},[111,7468,2427],{"class":145},[111,7470,7471,7473,7475,7477,7479],{"class":113,"line":4301},[111,7472,2459],{"class":145},[111,7474,3776],{"class":2415},[111,7476,3742],{"class":145},[111,7478,3776],{"class":2415},[111,7480,2427],{"class":145},[111,7482,7483,7485,7487],{"class":113,"line":4314},[111,7484,2530],{"class":145},[111,7486,2773],{"class":2415},[111,7488,2427],{"class":145},[111,7490,7491,7493,7495,7497,7499,7501],{"class":113,"line":4323},[111,7492,2449],{"class":145},[111,7494,2773],{"class":2415},[111,7496,2419],{"class":131},[111,7498,1726],{"class":145},[111,7500,4334],{"class":135},[111,7502,2427],{"class":145},[111,7504,7505,7507,7509,7511,7513],{"class":113,"line":4339},[111,7506,2459],{"class":145},[111,7508,3586],{"class":2415},[111,7510,4346],{"class":145},[111,7512,3586],{"class":2415},[111,7514,2427],{"class":145},[111,7516,7517,7519,7521,7523,7525,7527],{"class":113,"line":4353},[111,7518,2459],{"class":145},[111,7520,2435],{"class":2415},[111,7522,2419],{"class":131},[111,7524,1726],{"class":145},[111,7526,3835],{"class":135},[111,7528,2427],{"class":145},[111,7530,7531,7533,7535],{"class":113,"line":4368},[111,7532,2633],{"class":145},[111,7534,2452],{"class":2415},[111,7536,2427],{"class":145},[111,7538,7539,7541,7543],{"class":113,"line":4377},[111,7540,2829],{"class":145},[111,7542,2480],{"class":2415},[111,7544,2427],{"class":145},[111,7546,7547,7549,7551,7553,7555],{"class":113,"line":4386},[111,7548,3322],{"class":145},[111,7550,2832],{"class":2415},[111,7552,3865],{"class":145},[111,7554,2832],{"class":2415},[111,7556,2427],{"class":145},[111,7558,7559,7561,7563,7565,7567],{"class":113,"line":4399},[111,7560,3322],{"class":145},[111,7562,3653],{"class":2415},[111,7564,3656],{"class":145},[111,7566,3653],{"class":2415},[111,7568,2427],{"class":145},[111,7570,7571,7573,7575,7577,7579],{"class":113,"line":4412},[111,7572,3322],{"class":145},[111,7574,3667],{"class":2415},[111,7576,3656],{"class":145},[111,7578,3667],{"class":2415},[111,7580,2427],{"class":145},[111,7582,7583,7585,7587,7589,7591],{"class":113,"line":4425},[111,7584,3322],{"class":145},[111,7586,2845],{"class":2415},[111,7588,3865],{"class":145},[111,7590,2845],{"class":2415},[111,7592,2427],{"class":145},[111,7594,7595,7597,7599,7601,7603],{"class":113,"line":4438},[111,7596,3322],{"class":145},[111,7598,3694],{"class":2415},[111,7600,3656],{"class":145},[111,7602,3694],{"class":2415},[111,7604,2427],{"class":145},[111,7606,7607,7609,7611,7613,7615],{"class":113,"line":4451},[111,7608,3322],{"class":145},[111,7610,2858],{"class":2415},[111,7612,3865],{"class":145},[111,7614,2858],{"class":2415},[111,7616,2427],{"class":145},[111,7618,7619,7621,7623],{"class":113,"line":4464},[111,7620,3370],{"class":145},[111,7622,2480],{"class":2415},[111,7624,2427],{"class":145},[111,7626,7627,7629,7631,7633,7635],{"class":113,"line":4473},[111,7628,2829],{"class":145},[111,7630,2462],{"class":2415},[111,7632,3622],{"class":145},[111,7634,2462],{"class":2415},[111,7636,2427],{"class":145},[111,7638,7639,7641,7643,7645,7647],{"class":113,"line":4486},[111,7640,2829],{"class":145},[111,7642,3586],{"class":2415},[111,7644,3589],{"class":145},[111,7646,3586],{"class":2415},[111,7648,2427],{"class":145},[111,7650,7651,7653,7655],{"class":113,"line":4499},[111,7652,2869],{"class":145},[111,7654,2452],{"class":2415},[111,7656,2427],{"class":145},[111,7658,7659,7661,7663,7665,7667,7669],{"class":113,"line":4508},[111,7660,2633],{"class":145},[111,7662,3299],{"class":2415},[111,7664,2419],{"class":131},[111,7666,1726],{"class":145},[111,7668,3992],{"class":135},[111,7670,2427],{"class":145},[111,7672,7673,7675,7677],{"class":113,"line":4523},[111,7674,2829],{"class":145},[111,7676,3315],{"class":2415},[111,7678,2427],{"class":145},[111,7680,7681,7683,7685],{"class":113,"line":4532},[111,7682,3322],{"class":145},[111,7684,4011],{"class":2415},[111,7686,2427],{"class":145},[111,7688,7689,7691,7693,7695,7697],{"class":113,"line":4541},[111,7690,3332],{"class":145},[111,7692,3349],{"class":2415},[111,7694,4023],{"class":145},[111,7696,3349],{"class":2415},[111,7698,2427],{"class":145},[111,7700,7701,7703,7705],{"class":113,"line":4554},[111,7702,3361],{"class":145},[111,7704,4011],{"class":2415},[111,7706,2427],{"class":145},[111,7708,7709,7711,7713],{"class":113,"line":4563},[111,7710,3370],{"class":145},[111,7712,3315],{"class":2415},[111,7714,2427],{"class":145},[111,7716,7717,7719,7721],{"class":113,"line":4572},[111,7718,2829],{"class":145},[111,7720,3381],{"class":2415},[111,7722,2427],{"class":145},[111,7724,7725,7727,7729],{"class":113,"line":4581},[111,7726,3322],{"class":145},[111,7728,3390],{"class":2415},[111,7730,2427],{"class":145},[111,7732,7733,7735,7737],{"class":113,"line":4590},[111,7734,3332],{"class":145},[111,7736,3399],{"class":2415},[111,7738,3080],{"class":145},[111,7740,7741,7743,7745],{"class":113,"line":4599},[111,7742,3361],{"class":145},[111,7744,3390],{"class":2415},[111,7746,2427],{"class":145},[111,7748,7749,7751,7753],{"class":113,"line":4608},[111,7750,3322],{"class":145},[111,7752,3416],{"class":2415},[111,7754,3080],{"class":145},[111,7756,7757,7759,7761],{"class":113,"line":4617},[111,7758,3322],{"class":145},[111,7760,3425],{"class":2415},[111,7762,3080],{"class":145},[111,7764,7765,7767,7769],{"class":113,"line":4626},[111,7766,3370],{"class":145},[111,7768,3381],{"class":2415},[111,7770,2427],{"class":145},[111,7772,7773,7775,7777],{"class":113,"line":4635},[111,7774,2869],{"class":145},[111,7776,3299],{"class":2415},[111,7778,2427],{"class":145},[111,7780,7781,7783,7785,7787,7789,7791],{"class":113,"line":4644},[111,7782,2633],{"class":145},[111,7784,3450],{"class":2415},[111,7786,2419],{"class":131},[111,7788,1726],{"class":145},[111,7790,4131],{"class":135},[111,7792,2427],{"class":145},[111,7794,7795,7797,7799],{"class":113,"line":4659},[111,7796,2829],{"class":145},[111,7798,3315],{"class":2415},[111,7800,2427],{"class":145},[111,7802,7803,7805,7807],{"class":113,"line":4668},[111,7804,3322],{"class":145},[111,7806,4011],{"class":2415},[111,7808,2427],{"class":145},[111,7810,7811,7813,7815,7817,7819],{"class":113,"line":4677},[111,7812,3332],{"class":145},[111,7814,3349],{"class":2415},[111,7816,4023],{"class":145},[111,7818,3349],{"class":2415},[111,7820,2427],{"class":145},[111,7822,7823,7825,7827],{"class":113,"line":4690},[111,7824,3361],{"class":145},[111,7826,4011],{"class":2415},[111,7828,2427],{"class":145},[111,7830,7831,7833,7835],{"class":113,"line":4699},[111,7832,3370],{"class":145},[111,7834,3315],{"class":2415},[111,7836,2427],{"class":145},[111,7838,7839,7841,7843],{"class":113,"line":4708},[111,7840,2829],{"class":145},[111,7842,3522],{"class":2415},[111,7844,2427],{"class":145},[111,7846,7847,7849,7851,7853,7855],{"class":113,"line":4717},[111,7848,3322],{"class":145},[111,7850,3206],{"class":2415},[111,7852,4201],{"class":145},[111,7854,3206],{"class":2415},[111,7856,2427],{"class":145},[111,7858,7859,7861,7863,7865,7867],{"class":113,"line":4730},[111,7860,3322],{"class":145},[111,7862,3544],{"class":2415},[111,7864,3223],{"class":145},[111,7866,3544],{"class":2415},[111,7868,2427],{"class":145},[111,7870,7871,7873,7875,7877,7879],{"class":113,"line":4743},[111,7872,3322],{"class":145},[111,7874,3557],{"class":2415},[111,7876,4228],{"class":145},[111,7878,3557],{"class":2415},[111,7880,2427],{"class":145},[111,7882,7883,7885,7887],{"class":113,"line":4756},[111,7884,3370],{"class":145},[111,7886,3522],{"class":2415},[111,7888,2427],{"class":145},[111,7890,7891,7893,7895],{"class":113,"line":4765},[111,7892,2869],{"class":145},[111,7894,3450],{"class":2415},[111,7896,2427],{"class":145},[111,7898,7899,7901,7903,7905,7907],{"class":113,"line":4774},[111,7900,2633],{"class":145},[111,7902,3586],{"class":2415},[111,7904,3589],{"class":145},[111,7906,3586],{"class":2415},[111,7908,2427],{"class":145},[111,7910,7911,7913,7915,7917,7919],{"class":113,"line":4787},[111,7912,2633],{"class":145},[111,7914,3739],{"class":2415},[111,7916,3742],{"class":145},[111,7918,3739],{"class":2415},[111,7920,2427],{"class":145},[111,7922,7923,7925,7927],{"class":113,"line":4800},[111,7924,2693],{"class":145},[111,7926,2435],{"class":2415},[111,7928,2427],{"class":145},[111,7930,7931,7933,7935,7937,7939],{"class":113,"line":4809},[111,7932,2459],{"class":145},[111,7934,3271],{"class":2415},[111,7936,3742],{"class":145},[111,7938,3271],{"class":2415},[111,7940,2427],{"class":145},[111,7942,7943,7945,7947,7949,7951],{"class":113,"line":4822},[111,7944,2459],{"class":145},[111,7946,3776],{"class":2415},[111,7948,3742],{"class":145},[111,7950,3776],{"class":2415},[111,7952,2427],{"class":145},[111,7954,7955,7957,7959],{"class":113,"line":4835},[111,7956,2530],{"class":145},[111,7958,2773],{"class":2415},[111,7960,2427],{"class":145},[111,7962,7963,7965,7967,7969,7971,7973],{"class":113,"line":4844},[111,7964,2449],{"class":145},[111,7966,2773],{"class":2415},[111,7968,2419],{"class":131},[111,7970,1726],{"class":145},[111,7972,4855],{"class":135},[111,7974,2427],{"class":145},[111,7976,7977,7979,7981,7983,7985],{"class":113,"line":4860},[111,7978,2459],{"class":145},[111,7980,3586],{"class":2415},[111,7982,4867],{"class":145},[111,7984,3586],{"class":2415},[111,7986,2427],{"class":145},[111,7988,7989,7991,7993,7995,7997,7999],{"class":113,"line":4874},[111,7990,2459],{"class":145},[111,7992,2435],{"class":2415},[111,7994,2419],{"class":131},[111,7996,1726],{"class":145},[111,7998,3835],{"class":135},[111,8000,2427],{"class":145},[111,8002,8003,8005,8007],{"class":113,"line":4889},[111,8004,2633],{"class":145},[111,8006,2452],{"class":2415},[111,8008,2427],{"class":145},[111,8010,8011,8013,8015],{"class":113,"line":4898},[111,8012,2829],{"class":145},[111,8014,2480],{"class":2415},[111,8016,2427],{"class":145},[111,8018,8019,8021,8023,8025,8027],{"class":113,"line":4907},[111,8020,3322],{"class":145},[111,8022,2832],{"class":2415},[111,8024,3865],{"class":145},[111,8026,2832],{"class":2415},[111,8028,2427],{"class":145},[111,8030,8031,8033,8035,8037,8039],{"class":113,"line":4920},[111,8032,3322],{"class":145},[111,8034,3653],{"class":2415},[111,8036,3656],{"class":145},[111,8038,3653],{"class":2415},[111,8040,2427],{"class":145},[111,8042,8043,8045,8047,8049,8051],{"class":113,"line":4933},[111,8044,3322],{"class":145},[111,8046,3667],{"class":2415},[111,8048,3656],{"class":145},[111,8050,3667],{"class":2415},[111,8052,2427],{"class":145},[111,8054,8055,8057,8059,8061,8063],{"class":113,"line":4946},[111,8056,3322],{"class":145},[111,8058,2845],{"class":2415},[111,8060,3865],{"class":145},[111,8062,2845],{"class":2415},[111,8064,2427],{"class":145},[111,8066,8067,8069,8071,8073,8075],{"class":113,"line":4959},[111,8068,3322],{"class":145},[111,8070,3694],{"class":2415},[111,8072,3656],{"class":145},[111,8074,3694],{"class":2415},[111,8076,2427],{"class":145},[111,8078,8079,8081,8083,8085,8087],{"class":113,"line":4972},[111,8080,3322],{"class":145},[111,8082,2858],{"class":2415},[111,8084,3865],{"class":145},[111,8086,2858],{"class":2415},[111,8088,2427],{"class":145},[111,8090,8091,8093,8095],{"class":113,"line":4985},[111,8092,3370],{"class":145},[111,8094,2480],{"class":2415},[111,8096,2427],{"class":145},[111,8098,8099,8101,8103,8105,8107],{"class":113,"line":4994},[111,8100,2829],{"class":145},[111,8102,2462],{"class":2415},[111,8104,3622],{"class":145},[111,8106,2462],{"class":2415},[111,8108,2427],{"class":145},[111,8110,8111,8113,8115,8117,8119],{"class":113,"line":5007},[111,8112,2829],{"class":145},[111,8114,3586],{"class":2415},[111,8116,3589],{"class":145},[111,8118,3586],{"class":2415},[111,8120,2427],{"class":145},[111,8122,8123,8125,8127],{"class":113,"line":5020},[111,8124,2869],{"class":145},[111,8126,2452],{"class":2415},[111,8128,2427],{"class":145},[111,8130,8131,8133,8135,8137,8139,8141],{"class":113,"line":5029},[111,8132,2633],{"class":145},[111,8134,3299],{"class":2415},[111,8136,2419],{"class":131},[111,8138,1726],{"class":145},[111,8140,3992],{"class":135},[111,8142,2427],{"class":145},[111,8144,8145,8147,8149],{"class":113,"line":5044},[111,8146,2829],{"class":145},[111,8148,3315],{"class":2415},[111,8150,2427],{"class":145},[111,8152,8153,8155,8157],{"class":113,"line":5053},[111,8154,3322],{"class":145},[111,8156,4011],{"class":2415},[111,8158,2427],{"class":145},[111,8160,8161,8163,8165,8167,8169],{"class":113,"line":5062},[111,8162,3332],{"class":145},[111,8164,3349],{"class":2415},[111,8166,5069],{"class":145},[111,8168,3349],{"class":2415},[111,8170,2427],{"class":145},[111,8172,8173,8175,8177],{"class":113,"line":5076},[111,8174,3361],{"class":145},[111,8176,4011],{"class":2415},[111,8178,2427],{"class":145},[111,8180,8181,8183,8185],{"class":113,"line":5085},[111,8182,3370],{"class":145},[111,8184,3315],{"class":2415},[111,8186,2427],{"class":145},[111,8188,8189,8191,8193],{"class":113,"line":5094},[111,8190,2829],{"class":145},[111,8192,3381],{"class":2415},[111,8194,2427],{"class":145},[111,8196,8197,8199,8201],{"class":113,"line":5103},[111,8198,3322],{"class":145},[111,8200,3390],{"class":2415},[111,8202,2427],{"class":145},[111,8204,8205,8207,8209],{"class":113,"line":5112},[111,8206,3332],{"class":145},[111,8208,3399],{"class":2415},[111,8210,3080],{"class":145},[111,8212,8213,8215,8217],{"class":113,"line":5121},[111,8214,3361],{"class":145},[111,8216,3390],{"class":2415},[111,8218,2427],{"class":145},[111,8220,8221,8223,8225],{"class":113,"line":5130},[111,8222,3322],{"class":145},[111,8224,3416],{"class":2415},[111,8226,3080],{"class":145},[111,8228,8229,8231,8233],{"class":113,"line":5139},[111,8230,3322],{"class":145},[111,8232,3425],{"class":2415},[111,8234,3080],{"class":145},[111,8236,8237,8239,8241],{"class":113,"line":5148},[111,8238,3370],{"class":145},[111,8240,3381],{"class":2415},[111,8242,2427],{"class":145},[111,8244,8245,8247,8249],{"class":113,"line":5157},[111,8246,2869],{"class":145},[111,8248,3299],{"class":2415},[111,8250,2427],{"class":145},[111,8252,8253,8255,8257,8259,8261,8263],{"class":113,"line":5166},[111,8254,2633],{"class":145},[111,8256,3450],{"class":2415},[111,8258,2419],{"class":131},[111,8260,1726],{"class":145},[111,8262,4131],{"class":135},[111,8264,2427],{"class":145},[111,8266,8267,8269,8271],{"class":113,"line":5181},[111,8268,2829],{"class":145},[111,8270,3315],{"class":2415},[111,8272,2427],{"class":145},[111,8274,8275,8277,8279],{"class":113,"line":5190},[111,8276,3322],{"class":145},[111,8278,4011],{"class":2415},[111,8280,2427],{"class":145},[111,8282,8283,8285,8287,8289,8291],{"class":113,"line":5199},[111,8284,3332],{"class":145},[111,8286,3349],{"class":2415},[111,8288,5069],{"class":145},[111,8290,3349],{"class":2415},[111,8292,2427],{"class":145},[111,8294,8295,8297,8299],{"class":113,"line":5212},[111,8296,3361],{"class":145},[111,8298,4011],{"class":2415},[111,8300,2427],{"class":145},[111,8302,8303,8305,8307],{"class":113,"line":5221},[111,8304,3370],{"class":145},[111,8306,3315],{"class":2415},[111,8308,2427],{"class":145},[111,8310,8311,8313,8315],{"class":113,"line":5230},[111,8312,2829],{"class":145},[111,8314,3522],{"class":2415},[111,8316,2427],{"class":145},[111,8318,8319,8321,8323,8325,8327],{"class":113,"line":5239},[111,8320,3322],{"class":145},[111,8322,3206],{"class":2415},[111,8324,4201],{"class":145},[111,8326,3206],{"class":2415},[111,8328,2427],{"class":145},[111,8330,8331,8333,8335,8337,8339],{"class":113,"line":5252},[111,8332,3322],{"class":145},[111,8334,3544],{"class":2415},[111,8336,3223],{"class":145},[111,8338,3544],{"class":2415},[111,8340,2427],{"class":145},[111,8342,8343,8345,8347,8349,8351],{"class":113,"line":5265},[111,8344,3322],{"class":145},[111,8346,3557],{"class":2415},[111,8348,4228],{"class":145},[111,8350,3557],{"class":2415},[111,8352,2427],{"class":145},[111,8354,8355,8357,8359],{"class":113,"line":5278},[111,8356,3370],{"class":145},[111,8358,3522],{"class":2415},[111,8360,2427],{"class":145},[111,8362,8363,8365,8367],{"class":113,"line":5287},[111,8364,2869],{"class":145},[111,8366,3450],{"class":2415},[111,8368,2427],{"class":145},[111,8370,8371,8373,8375,8377,8379],{"class":113,"line":5296},[111,8372,2633],{"class":145},[111,8374,3586],{"class":2415},[111,8376,3589],{"class":145},[111,8378,3586],{"class":2415},[111,8380,2427],{"class":145},[111,8382,8383,8385,8387,8389,8391],{"class":113,"line":5309},[111,8384,2633],{"class":145},[111,8386,3739],{"class":2415},[111,8388,3742],{"class":145},[111,8390,3739],{"class":2415},[111,8392,2427],{"class":145},[111,8394,8395,8397,8399],{"class":113,"line":5322},[111,8396,2693],{"class":145},[111,8398,2435],{"class":2415},[111,8400,2427],{"class":145},[111,8402,8403,8405,8407,8409,8411],{"class":113,"line":5331},[111,8404,2459],{"class":145},[111,8406,3271],{"class":2415},[111,8408,3742],{"class":145},[111,8410,3271],{"class":2415},[111,8412,2427],{"class":145},[111,8414,8415,8417,8419,8421,8423],{"class":113,"line":5344},[111,8416,2459],{"class":145},[111,8418,3776],{"class":2415},[111,8420,3742],{"class":145},[111,8422,3776],{"class":2415},[111,8424,2427],{"class":145},[111,8426,8427,8429,8431],{"class":113,"line":5357},[111,8428,2530],{"class":145},[111,8430,2773],{"class":2415},[111,8432,2427],{"class":145},[111,8434,8435,8437,8439,8441,8443,8445],{"class":113,"line":5366},[111,8436,2449],{"class":145},[111,8438,2773],{"class":2415},[111,8440,2419],{"class":131},[111,8442,1726],{"class":145},[111,8444,5377],{"class":135},[111,8446,2427],{"class":145},[111,8448,8449,8451,8453,8455,8457],{"class":113,"line":5382},[111,8450,2459],{"class":145},[111,8452,3586],{"class":2415},[111,8454,5389],{"class":145},[111,8456,3586],{"class":2415},[111,8458,2427],{"class":145},[111,8460,8461,8463,8465,8467,8469,8471],{"class":113,"line":5396},[111,8462,2459],{"class":145},[111,8464,2435],{"class":2415},[111,8466,2419],{"class":131},[111,8468,1726],{"class":145},[111,8470,3835],{"class":135},[111,8472,2427],{"class":145},[111,8474,8475,8477,8479],{"class":113,"line":5411},[111,8476,2633],{"class":145},[111,8478,2452],{"class":2415},[111,8480,2427],{"class":145},[111,8482,8483,8485,8487],{"class":113,"line":5420},[111,8484,2829],{"class":145},[111,8486,2480],{"class":2415},[111,8488,2427],{"class":145},[111,8490,8491,8493,8495,8497,8499],{"class":113,"line":5429},[111,8492,3322],{"class":145},[111,8494,2832],{"class":2415},[111,8496,3865],{"class":145},[111,8498,2832],{"class":2415},[111,8500,2427],{"class":145},[111,8502,8503,8505,8507,8509,8511],{"class":113,"line":5442},[111,8504,3322],{"class":145},[111,8506,3653],{"class":2415},[111,8508,3656],{"class":145},[111,8510,3653],{"class":2415},[111,8512,2427],{"class":145},[111,8514,8515,8517,8519,8521,8523],{"class":113,"line":5455},[111,8516,3322],{"class":145},[111,8518,3667],{"class":2415},[111,8520,3656],{"class":145},[111,8522,3667],{"class":2415},[111,8524,2427],{"class":145},[111,8526,8527,8529,8531,8533,8535],{"class":113,"line":5468},[111,8528,3322],{"class":145},[111,8530,2845],{"class":2415},[111,8532,3865],{"class":145},[111,8534,2845],{"class":2415},[111,8536,2427],{"class":145},[111,8538,8539,8541,8543,8545,8547],{"class":113,"line":5481},[111,8540,3322],{"class":145},[111,8542,3694],{"class":2415},[111,8544,3656],{"class":145},[111,8546,3694],{"class":2415},[111,8548,2427],{"class":145},[111,8550,8551,8553,8555,8557,8559],{"class":113,"line":5494},[111,8552,3322],{"class":145},[111,8554,2858],{"class":2415},[111,8556,3865],{"class":145},[111,8558,2858],{"class":2415},[111,8560,2427],{"class":145},[111,8562,8563,8565,8567],{"class":113,"line":5507},[111,8564,3370],{"class":145},[111,8566,2480],{"class":2415},[111,8568,2427],{"class":145},[111,8570,8571,8573,8575,8577,8579],{"class":113,"line":5516},[111,8572,2829],{"class":145},[111,8574,2462],{"class":2415},[111,8576,3622],{"class":145},[111,8578,2462],{"class":2415},[111,8580,2427],{"class":145},[111,8582,8583,8585,8587,8589,8591],{"class":113,"line":5529},[111,8584,2829],{"class":145},[111,8586,3586],{"class":2415},[111,8588,3589],{"class":145},[111,8590,3586],{"class":2415},[111,8592,2427],{"class":145},[111,8594,8595,8597,8599],{"class":113,"line":5542},[111,8596,2869],{"class":145},[111,8598,2452],{"class":2415},[111,8600,2427],{"class":145},[111,8602,8603,8605,8607,8609,8611,8613],{"class":113,"line":5551},[111,8604,2633],{"class":145},[111,8606,3299],{"class":2415},[111,8608,2419],{"class":131},[111,8610,1726],{"class":145},[111,8612,3992],{"class":135},[111,8614,2427],{"class":145},[111,8616,8617,8619,8621],{"class":113,"line":5566},[111,8618,2829],{"class":145},[111,8620,3315],{"class":2415},[111,8622,2427],{"class":145},[111,8624,8625,8627,8629],{"class":113,"line":5575},[111,8626,3322],{"class":145},[111,8628,4011],{"class":2415},[111,8630,2427],{"class":145},[111,8632,8633,8635,8637,8639,8641],{"class":113,"line":5584},[111,8634,3332],{"class":145},[111,8636,3349],{"class":2415},[111,8638,5069],{"class":145},[111,8640,3349],{"class":2415},[111,8642,2427],{"class":145},[111,8644,8645,8647,8649],{"class":113,"line":5597},[111,8646,3361],{"class":145},[111,8648,4011],{"class":2415},[111,8650,2427],{"class":145},[111,8652,8653,8655,8657],{"class":113,"line":5606},[111,8654,3370],{"class":145},[111,8656,3315],{"class":2415},[111,8658,2427],{"class":145},[111,8660,8661,8663,8665],{"class":113,"line":5615},[111,8662,2829],{"class":145},[111,8664,3381],{"class":2415},[111,8666,2427],{"class":145},[111,8668,8669,8671,8673],{"class":113,"line":5624},[111,8670,3322],{"class":145},[111,8672,3390],{"class":2415},[111,8674,2427],{"class":145},[111,8676,8677,8679,8681],{"class":113,"line":5633},[111,8678,3332],{"class":145},[111,8680,3399],{"class":2415},[111,8682,3080],{"class":145},[111,8684,8685,8687,8689],{"class":113,"line":5642},[111,8686,3361],{"class":145},[111,8688,3390],{"class":2415},[111,8690,2427],{"class":145},[111,8692,8693,8695,8697],{"class":113,"line":5651},[111,8694,3322],{"class":145},[111,8696,3416],{"class":2415},[111,8698,3080],{"class":145},[111,8700,8701,8703,8705],{"class":113,"line":5660},[111,8702,3322],{"class":145},[111,8704,3425],{"class":2415},[111,8706,3080],{"class":145},[111,8708,8709,8711,8713],{"class":113,"line":5669},[111,8710,3370],{"class":145},[111,8712,3381],{"class":2415},[111,8714,2427],{"class":145},[111,8716,8717,8719,8721],{"class":113,"line":5678},[111,8718,2869],{"class":145},[111,8720,3299],{"class":2415},[111,8722,2427],{"class":145},[111,8724,8725,8727,8729,8731,8733,8735],{"class":113,"line":5687},[111,8726,2633],{"class":145},[111,8728,3450],{"class":2415},[111,8730,2419],{"class":131},[111,8732,1726],{"class":145},[111,8734,4131],{"class":135},[111,8736,2427],{"class":145},[111,8738,8739,8741,8743],{"class":113,"line":5702},[111,8740,2829],{"class":145},[111,8742,3315],{"class":2415},[111,8744,2427],{"class":145},[111,8746,8747,8749,8751],{"class":113,"line":5711},[111,8748,3322],{"class":145},[111,8750,4011],{"class":2415},[111,8752,2427],{"class":145},[111,8754,8755,8757,8759,8761,8763],{"class":113,"line":5720},[111,8756,3332],{"class":145},[111,8758,3349],{"class":2415},[111,8760,5069],{"class":145},[111,8762,3349],{"class":2415},[111,8764,2427],{"class":145},[111,8766,8767,8769,8771],{"class":113,"line":5733},[111,8768,3361],{"class":145},[111,8770,4011],{"class":2415},[111,8772,2427],{"class":145},[111,8774,8775,8777,8779],{"class":113,"line":5742},[111,8776,3370],{"class":145},[111,8778,3315],{"class":2415},[111,8780,2427],{"class":145},[111,8782,8783,8785,8787],{"class":113,"line":5751},[111,8784,2829],{"class":145},[111,8786,3522],{"class":2415},[111,8788,2427],{"class":145},[111,8790,8791,8793,8795,8797,8799],{"class":113,"line":5760},[111,8792,3322],{"class":145},[111,8794,3206],{"class":2415},[111,8796,4201],{"class":145},[111,8798,3206],{"class":2415},[111,8800,2427],{"class":145},[111,8802,8803,8805,8807,8809,8811],{"class":113,"line":5773},[111,8804,3322],{"class":145},[111,8806,3544],{"class":2415},[111,8808,3223],{"class":145},[111,8810,3544],{"class":2415},[111,8812,2427],{"class":145},[111,8814,8815,8817,8819,8821,8823],{"class":113,"line":5786},[111,8816,3322],{"class":145},[111,8818,3557],{"class":2415},[111,8820,4228],{"class":145},[111,8822,3557],{"class":2415},[111,8824,2427],{"class":145},[111,8826,8827,8829,8831],{"class":113,"line":5799},[111,8828,3370],{"class":145},[111,8830,3522],{"class":2415},[111,8832,2427],{"class":145},[111,8834,8835,8837,8839],{"class":113,"line":5808},[111,8836,2869],{"class":145},[111,8838,3450],{"class":2415},[111,8840,2427],{"class":145},[111,8842,8843,8845,8847,8849,8851],{"class":113,"line":5817},[111,8844,2633],{"class":145},[111,8846,3586],{"class":2415},[111,8848,3589],{"class":145},[111,8850,3586],{"class":2415},[111,8852,2427],{"class":145},[111,8854,8855,8857,8859,8861,8863],{"class":113,"line":5830},[111,8856,2633],{"class":145},[111,8858,3739],{"class":2415},[111,8860,3742],{"class":145},[111,8862,3739],{"class":2415},[111,8864,2427],{"class":145},[111,8866,8867,8869,8871],{"class":113,"line":5843},[111,8868,2693],{"class":145},[111,8870,2435],{"class":2415},[111,8872,2427],{"class":145},[111,8874,8875,8877,8879,8881,8883],{"class":113,"line":5852},[111,8876,2459],{"class":145},[111,8878,3271],{"class":2415},[111,8880,3742],{"class":145},[111,8882,3271],{"class":2415},[111,8884,2427],{"class":145},[111,8886,8887,8889,8891,8893,8895],{"class":113,"line":5865},[111,8888,2459],{"class":145},[111,8890,3776],{"class":2415},[111,8892,3742],{"class":145},[111,8894,3776],{"class":2415},[111,8896,2427],{"class":145},[111,8898,8899,8901,8903],{"class":113,"line":5878},[111,8900,2530],{"class":145},[111,8902,2773],{"class":2415},[111,8904,2427],{"class":145},[111,8906,8907,8909,8911,8913,8915,8917,8919,8921,8923],{"class":113,"line":5887},[111,8908,2449],{"class":145},[111,8910,5892],{"class":2415},[111,8912,2419],{"class":131},[111,8914,1726],{"class":145},[111,8916,5899],{"class":135},[111,8918,2998],{"class":131},[111,8920,1726],{"class":145},[111,8922,5906],{"class":135},[111,8924,2427],{"class":145},[111,8926,8927,8929,8931,8933,8935],{"class":113,"line":5911},[111,8928,2459],{"class":145},[111,8930,3586],{"class":2415},[111,8932,5918],{"class":145},[111,8934,3586],{"class":2415},[111,8936,2427],{"class":145},[111,8938,8939,8941,8943,8945,8947],{"class":113,"line":5925},[111,8940,2459],{"class":145},[111,8942,5930],{"class":2415},[111,8944,3237],{"class":145},[111,8946,5930],{"class":2415},[111,8948,2427],{"class":145},[111,8950,8951,8953,8955,8957,8959],{"class":113,"line":5939},[111,8952,2459],{"class":145},[111,8954,5944],{"class":2415},[111,8956,3029],{"class":145},[111,8958,5944],{"class":2415},[111,8960,2427],{"class":145},[111,8962,8963,8965,8967,8969,8971],{"class":113,"line":5953},[111,8964,2459],{"class":145},[111,8966,5958],{"class":2415},[111,8968,5961],{"class":145},[111,8970,5958],{"class":2415},[111,8972,2427],{"class":145},[111,8974,8975,8977,8979,8981,8983],{"class":113,"line":5968},[111,8976,2459],{"class":145},[111,8978,3544],{"class":2415},[111,8980,3533],{"class":145},[111,8982,3544],{"class":2415},[111,8984,2427],{"class":145},[111,8986,8987,8989,8991,8993,8995],{"class":113,"line":5981},[111,8988,2459],{"class":145},[111,8990,3557],{"class":2415},[111,8992,5988],{"class":145},[111,8994,3557],{"class":2415},[111,8996,2427],{"class":145},[111,8998,8999,9001,9003],{"class":113,"line":5995},[111,9000,2459],{"class":145},[111,9002,6000],{"class":2415},[111,9004,2427],{"class":145},[111,9006,9007,9009,9011,9013,9015],{"class":113,"line":6005},[111,9008,2633],{"class":145},[111,9010,6010],{"class":2415},[111,9012,3043],{"class":145},[111,9014,6010],{"class":2415},[111,9016,2427],{"class":145},[111,9018,9019,9021,9023,9025,9027],{"class":113,"line":6019},[111,9020,2633],{"class":145},[111,9022,6024],{"class":2415},[111,9024,6027],{"class":145},[111,9026,6024],{"class":2415},[111,9028,2427],{"class":145},[111,9030,9031,9033,9035,9037,9039],{"class":113,"line":6034},[111,9032,2633],{"class":145},[111,9034,6039],{"class":2415},[111,9036,6042],{"class":145},[111,9038,6039],{"class":2415},[111,9040,2427],{"class":145},[111,9042,9043,9045,9047,9049,9051],{"class":113,"line":6049},[111,9044,2633],{"class":145},[111,9046,6054],{"class":2415},[111,9048,3015],{"class":145},[111,9050,6054],{"class":2415},[111,9052,2427],{"class":145},[111,9054,9055,9057,9059],{"class":113,"line":6063},[111,9056,2693],{"class":145},[111,9058,6000],{"class":2415},[111,9060,2427],{"class":145},[111,9062,9063,9065,9067],{"class":113,"line":6072},[111,9064,2459],{"class":145},[111,9066,6077],{"class":2415},[111,9068,2427],{"class":145},[111,9070,9071,9073,9075,9077,9079],{"class":113,"line":6082},[111,9072,2633],{"class":145},[111,9074,6087],{"class":2415},[111,9076,3656],{"class":145},[111,9078,6087],{"class":2415},[111,9080,2427],{"class":145},[111,9082,9083,9085,9087,9089,9091],{"class":113,"line":6096},[111,9084,2633],{"class":145},[111,9086,6101],{"class":2415},[111,9088,3656],{"class":145},[111,9090,6101],{"class":2415},[111,9092,2427],{"class":145},[111,9094,9095,9097,9099,9101,9103],{"class":113,"line":6110},[111,9096,2633],{"class":145},[111,9098,6115],{"class":2415},[111,9100,3656],{"class":145},[111,9102,6115],{"class":2415},[111,9104,2427],{"class":145},[111,9106,9107,9109,9111],{"class":113,"line":6124},[111,9108,2693],{"class":145},[111,9110,6077],{"class":2415},[111,9112,2427],{"class":145},[111,9114,9115,9117,9119],{"class":113,"line":6133},[111,9116,2530],{"class":145},[111,9118,5892],{"class":2415},[111,9120,2427],{"class":145},[111,9122,9123,9125,9127],{"class":113,"line":6142},[111,9124,2539],{"class":145},[111,9126,1493],{"class":2415},[111,9128,2427],{"class":145},[111,9130,9131,9133,9135],{"class":113,"line":6151},[111,9132,2548],{"class":145},[111,9134,2756],{"class":2415},[111,9136,2427],{"class":145},[15,9138,9139],{},[50,9140,9141],{},"3. Write the launch file",[15,9143,1569,9144,1573],{},[108,9145,9146],{},"gazebo_sim_world.launch.py",[101,9148,9150],{"className":1576,"code":9149,"language":1578,"meta":106,"style":106},"import os\n\nfrom ament_index_python.packages import get_package_share_directory\n\nfrom launch import LaunchDescription\nfrom launch.actions import IncludeLaunchDescription\nfrom launch.launch_description_sources import PythonLaunchDescriptionSource\n\ndef generate_launch_description():\n\n    this_pkg = get_package_share_directory('demo_gazebo_sim')\n    pkg_ros_gz_sim = get_package_share_directory('ros_gz_sim')\n    world_file = os.path.join(this_pkg,\"world\",\"house.sdf\")\n\n    gz_sim = IncludeLaunchDescription(\n        PythonLaunchDescriptionSource(\n            os.path.join(pkg_ros_gz_sim, 'launch', 'gz_sim.launch.py')),\n        launch_arguments={\n            'gz_args': '-r ' + world_file\n        }.items(),\n    )\n    return LaunchDescription([\n        gz_sim\n    ])\n",[108,9151,9152,9158,9162,9172,9176,9186,9196,9206,9210,9218,9222,9234,9246,9264,9268,9276,9280,9292,9300,9312,9316,9320,9326,9331],{"__ignoreMap":106},[111,9153,9154,9156],{"class":113,"line":114},[111,9155,1585],{"class":773},[111,9157,1588],{"class":145},[111,9159,9160],{"class":113,"line":121},[111,9161,118],{"emptyLinePlaceholder":117},[111,9163,9164,9166,9168,9170],{"class":113,"line":128},[111,9165,1597],{"class":773},[111,9167,1600],{"class":145},[111,9169,1585],{"class":773},[111,9171,1605],{"class":145},[111,9173,9174],{"class":113,"line":152},[111,9175,118],{"emptyLinePlaceholder":117},[111,9177,9178,9180,9182,9184],{"class":113,"line":157},[111,9179,1597],{"class":773},[111,9181,1616],{"class":145},[111,9183,1585],{"class":773},[111,9185,1621],{"class":145},[111,9187,9188,9190,9192,9194],{"class":113,"line":163},[111,9189,1597],{"class":773},[111,9191,1628],{"class":145},[111,9193,1585],{"class":773},[111,9195,1644],{"class":145},[111,9197,9198,9200,9202,9204],{"class":113,"line":175},[111,9199,1597],{"class":773},[111,9201,1663],{"class":145},[111,9203,1585],{"class":773},[111,9205,1668],{"class":145},[111,9207,9208],{"class":113,"line":180},[111,9209,118],{"emptyLinePlaceholder":117},[111,9211,9212,9214,9216],{"class":113,"line":186},[111,9213,1706],{"class":773},[111,9215,1709],{"class":131},[111,9217,1712],{"class":145},[111,9219,9220],{"class":113,"line":433},[111,9221,118],{"emptyLinePlaceholder":117},[111,9223,9224,9226,9228,9230,9232],{"class":113,"line":439},[111,9225,1723],{"class":145},[111,9227,1726],{"class":773},[111,9229,1729],{"class":145},[111,9231,1732],{"class":135},[111,9233,1479],{"class":145},[111,9235,9236,9238,9240,9242,9244],{"class":113,"line":445},[111,9237,1740],{"class":145},[111,9239,1726],{"class":773},[111,9241,1729],{"class":145},[111,9243,1747],{"class":135},[111,9245,1479],{"class":145},[111,9247,9248,9250,9252,9254,9257,9259,9262],{"class":113,"line":451},[111,9249,1755],{"class":145},[111,9251,1726],{"class":773},[111,9253,1760],{"class":145},[111,9255,9256],{"class":135},"\"world\"",[111,9258,1766],{"class":145},[111,9260,9261],{"class":135},"\"house.sdf\"",[111,9263,1479],{"class":145},[111,9265,9266],{"class":113,"line":1703},[111,9267,118],{"emptyLinePlaceholder":117},[111,9269,9270,9272,9274],{"class":113,"line":1715},[111,9271,1782],{"class":145},[111,9273,1726],{"class":773},[111,9275,1787],{"class":145},[111,9277,9278],{"class":113,"line":1720},[111,9279,1793],{"class":145},[111,9281,9282,9284,9286,9288,9290],{"class":113,"line":1737},[111,9283,1799],{"class":145},[111,9285,1802],{"class":135},[111,9287,1805],{"class":145},[111,9289,1808],{"class":135},[111,9291,1811],{"class":145},[111,9293,9294,9296,9298],{"class":113,"line":1752},[111,9295,1818],{"class":1817},[111,9297,1726],{"class":773},[111,9299,1823],{"class":145},[111,9301,9302,9304,9306,9308,9310],{"class":113,"line":1774},[111,9303,1829],{"class":135},[111,9305,1832],{"class":145},[111,9307,1835],{"class":135},[111,9309,1838],{"class":773},[111,9311,1841],{"class":145},[111,9313,9314],{"class":113,"line":1779},[111,9315,1847],{"class":145},[111,9317,9318],{"class":113,"line":1790},[111,9319,1853],{"class":145},[111,9321,9322,9324],{"class":113,"line":1796},[111,9323,2131],{"class":773},[111,9325,2134],{"class":145},[111,9327,9328],{"class":113,"line":1814},[111,9329,9330],{"class":145},"        gz_sim\n",[111,9332,9333],{"class":113,"line":1826},[111,9334,2191],{"class":145},[15,9336,9337],{},[50,9338,9339],{},"4. Build",[15,9341,2207],{},[101,9343,9344],{"className":103,"code":2210,"language":105,"meta":106,"style":106},[108,9345,9346],{"__ignoreMap":106},[111,9347,9348,9350,9352,9354],{"class":113,"line":114},[111,9349,2217],{"class":131},[111,9351,2220],{"class":135},[111,9353,2223],{"class":575},[111,9355,1445],{"class":135},[15,9357,9358],{},[50,9359,9360],{},"5. Execution",[15,9362,2238],{},[101,9364,9366],{"className":103,"code":9365,"language":105,"meta":106,"style":106},". install\u002Fsetup.bash\nros2 launch demo_gazebo_sim gazebo_sim_world.launch.py\n",[108,9367,9368,9374],{"__ignoreMap":106},[111,9369,9370,9372],{"class":113,"line":114},[111,9371,2248],{"class":575},[111,9373,2251],{"class":135},[111,9375,9376,9378,9380,9382],{"class":113,"line":121},[111,9377,262],{"class":131},[111,9379,265],{"class":135},[111,9381,2260],{"class":135},[111,9383,9384],{"class":135}," gazebo_sim_world.launch.py\n",[15,9386,9387],{},"The running result is shown in the figure below.",[15,9389,9390],{},"You can also continue designing the room model according to personal preference.",[15,9392,9393],{},[199,9394],{"alt":106,"src":9395},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1730.webp",[27,9397,9399],{"id":9398},"adding-a-model-to-igng",[50,9400,9401],{},"Adding a Model to IgnG",[15,9403,9404],{},"The Ignition Gazebo official website provides many simulation models that can be downloaded and used to optimize the simulation environment, making it more diverse, visually appealing, and realistic.",[15,9406,9407],{},[50,9408,9409],{},"Resource Download",[15,9411,9412],{},"Official model links for Ignition Gazebo simulation:",[15,9414,9415],{},[55,9416,9417],{"href":9417,"rel":9418},"http:\u002F\u002Fapp.ignitionrobotics.org\u002Ffuel\u002Fmodels",[59],[15,9420,9421],{},"Select a simulation model, click to enter its details page, and then click the download button to save the model resource to your local device.",[15,9423,9424,9425,9428],{},"Create a new ",[108,9426,9427],{},"ign_models"," directory in the user directory, and extract the downloaded resources into this directory for later use.",[15,9430,9431],{},[50,9432,9433],{},"Resource Allocation",[15,9435,9436,9437,9440],{},"To allow Ignition Gazebo to recognize model resources, the next step is to modify the ",[108,9438,9439],{},".bashrc"," file in the user directory by adding the following code:",[101,9442,9444],{"className":103,"code":9443,"language":105,"meta":106,"style":106},"\n# Humble版本一般是下面的，但是有可能会更新，如果不生效，请尝试Jazzy的宏\nexport IGN_GAZEBO_RESOURCE_PATH=~\u002Fign_models\n\n# Jazzy版本的宏改了，如下：\nexport GZ_SIM_RESOURCE_PATH=~\u002Fign_models\n",[108,9445,9446,9450,9455,9469,9473,9478],{"__ignoreMap":106},[111,9447,9448],{"class":113,"line":114},[111,9449,118],{"emptyLinePlaceholder":117},[111,9451,9452],{"class":113,"line":121},[111,9453,9454],{"class":124},"# Humble版本一般是下面的，但是有可能会更新，如果不生效，请尝试Jazzy的宏\n",[111,9456,9457,9460,9463,9466],{"class":113,"line":128},[111,9458,9459],{"class":773},"export",[111,9461,9462],{"class":145}," IGN_GAZEBO_RESOURCE_PATH",[111,9464,9465],{"class":773},"=~",[111,9467,9468],{"class":145},"\u002Fign_models\n",[111,9470,9471],{"class":113,"line":152},[111,9472,118],{"emptyLinePlaceholder":117},[111,9474,9475],{"class":113,"line":157},[111,9476,9477],{"class":124},"# Jazzy版本的宏改了，如下：\n",[111,9479,9480,9482,9485,9487],{"class":113,"line":163},[111,9481,9459],{"class":773},[111,9483,9484],{"class":145}," GZ_SIM_RESOURCE_PATH",[111,9486,9465],{"class":773},[111,9488,9468],{"class":145},[15,9490,9491],{},[55,9492,9493],{"href":9493,"rel":9494},"https:\u002F\u002Fgazebosim.org\u002Fdocs\u002Flatest\u002Ffuel_insert\u002F",[59],[15,9496,9497],{},[50,9498,9499],{},"Model Addition",[15,9501,9502,9503,9505,9506,9509,9510,9513,9514,9517,9518,9521,9522,9525,9526,636],{},"In the terminal, navigate to the ",[108,9504,1493],{}," directory of the ",[108,9507,9508],{},"demo_gazebo_sim"," package. Use the command ",[108,9511,9512],{},"ign gazebo house.sdf"," or ",[108,9515,9516],{},"gz sim house.sdf"," to launch the simulation environment. Click the collapse button in the upper right corner of the window, search for ",[108,9519,9520],{},"Resource Spawner"," and open it. Click ",[108,9523,9524],{},"Local resources"," and select a model to drag into the simulation environment. Save the modified content to the ",[108,9527,2936],{},[15,9529,9530],{},[199,9531],{"alt":106,"src":9532},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1731.webp",[15,9534,9535],{},"After downloading the resources normally, they will appear here in the local resources section.",[15,9537,9538,9539,9541],{},"Here is an example of the contents of the ",[108,9540,2936],{}," file:",[101,9543,9545],{"className":2403,"code":9544,"language":2405,"meta":106,"style":106},"\u003Csdf version='1.9'>\n  \u003Cworld name='empty'>\n    \u003Cphysics name='1ms' type='ignored'>\n      \u003Cmax_step_size>0.001\u003C\u002Fmax_step_size>\n      \u003Creal_time_factor>1\u003C\u002Freal_time_factor>\n      \u003Creal_time_update_rate>1000\u003C\u002Freal_time_update_rate>\n    \u003C\u002Fphysics>\n    \u003Cplugin name='gz::sim::systems::Physics' filename='ignition-gazebo-physics-system'\u002F>\n    \u003Cplugin name='gz::sim::systems::UserCommands' filename='ignition-gazebo-user-commands-system'\u002F>\n    \u003Cplugin name='gz::sim::systems::SceneBroadcaster' filename='ignition-gazebo-scene-broadcaster-system'\u002F>\n    \u003Cplugin name='gz::sim::systems::Contact' filename='ignition-gazebo-contact-system'\u002F>\n    \u003Cgravity>0 0 -9.8\u003C\u002Fgravity>\n    \u003Cmagnetic_field>6e-06 2.3e-05 -4.2e-05\u003C\u002Fmagnetic_field>\n    \u003Catmosphere type='adiabatic'\u002F>\n    \u003Cscene>\n      \u003Cambient>0.4 0.4 0.4 1\u003C\u002Fambient>\n      \u003Cbackground>0.7 0.7 0.7 1\u003C\u002Fbackground>\n      \u003Cshadows>true\u003C\u002Fshadows>\n    \u003C\u002Fscene>\n    \u003Cmodel name='ground_plane'>\n      \u003Cstatic>true\u003C\u002Fstatic>\n      \u003Clink name='link'>\n        \u003Ccollision name='collision'>\n          \u003Cgeometry>\n            \u003Cplane>\n              \u003Cnormal>0 0 1\u003C\u002Fnormal>\n              \u003Csize>100 100\u003C\u002Fsize>\n            \u003C\u002Fplane>\n          \u003C\u002Fgeometry>\n          \u003Csurface>\n            \u003Cfriction>\n              \u003Code\u002F>\n            \u003C\u002Ffriction>\n            \u003Cbounce\u002F>\n            \u003Ccontact\u002F>\n          \u003C\u002Fsurface>\n        \u003C\u002Fcollision>\n        \u003Cvisual name='visual'>\n          \u003Cgeometry>\n            \u003Cplane>\n              \u003Cnormal>0 0 1\u003C\u002Fnormal>\n              \u003Csize>100 100\u003C\u002Fsize>\n            \u003C\u002Fplane>\n          \u003C\u002Fgeometry>\n          \u003Cmaterial>\n            \u003Cambient>0.8 0.8 0.8 1\u003C\u002Fambient>\n            \u003Cdiffuse>0.8 0.8 0.8 1\u003C\u002Fdiffuse>\n            \u003Cspecular>0.8 0.8 0.8 1\u003C\u002Fspecular>\n          \u003C\u002Fmaterial>\n        \u003C\u002Fvisual>\n        \u003Cpose>0 0 0 0 -0 0\u003C\u002Fpose>\n        \u003Cinertial>\n          \u003Cpose>0 0 0 0 -0 0\u003C\u002Fpose>\n          \u003Cmass>100\u003C\u002Fmass>\n          \u003Cinertia>\n            \u003Cixx>1\u003C\u002Fixx>\n            \u003Cixy>0\u003C\u002Fixy>\n            \u003Cixz>0\u003C\u002Fixz>\n            \u003Ciyy>1\u003C\u002Fiyy>\n            \u003Ciyz>0\u003C\u002Fiyz>\n            \u003Cizz>1\u003C\u002Fizz>\n          \u003C\u002Finertia>\n        \u003C\u002Finertial>\n        \u003Cenable_wind>false\u003C\u002Fenable_wind>\n      \u003C\u002Flink>\n      \u003Cpose>0 0 0 0 -0 0\u003C\u002Fpose>\n      \u003Cself_collide>false\u003C\u002Fself_collide>\n    \u003C\u002Fmodel>\n    \u003Cmodel name='box'>\n      \u003Cpose>5.02632 -2e-06 0.500002 -0 4.4e-05 4.6e-05\u003C\u002Fpose>\n      \u003Clink name='box_link'>\n        \u003Cinertial>\n          \u003Cinertia>\n            \u003Cixx>16.666\u003C\u002Fixx>\n            \u003Cixy>0\u003C\u002Fixy>\n            \u003Cixz>0\u003C\u002Fixz>\n            \u003Ciyy>16.666\u003C\u002Fiyy>\n            \u003Ciyz>0\u003C\u002Fiyz>\n            \u003Cizz>16.666\u003C\u002Fizz>\n          \u003C\u002Finertia>\n          \u003Cmass>100\u003C\u002Fmass>\n          \u003Cpose>0 0 0 0 -0 0\u003C\u002Fpose>\n        \u003C\u002Finertial>\n        \u003Ccollision name='box_collision'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>0.1 5 1\u003C\u002Fsize>\n            \u003C\u002Fbox>\n          \u003C\u002Fgeometry>\n          \u003Csurface>\n            \u003Cfriction>\n              \u003Code\u002F>\n            \u003C\u002Ffriction>\n            \u003Cbounce\u002F>\n            \u003Ccontact\u002F>\n          \u003C\u002Fsurface>\n        \u003C\u002Fcollision>\n        \u003Cvisual name='box_visual'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>0.1 5 1\u003C\u002Fsize>\n            \u003C\u002Fbox>\n          \u003C\u002Fgeometry>\n          \u003Cmaterial>\n            \u003Cambient>0.3 0.3 0.3 1\u003C\u002Fambient>\n            \u003Cdiffuse>0.7 0.7 0.7 1\u003C\u002Fdiffuse>\n            \u003Cspecular>1 1 1 1\u003C\u002Fspecular>\n          \u003C\u002Fmaterial>\n        \u003C\u002Fvisual>\n        \u003Cpose>0 0 0 0 -0 0\u003C\u002Fpose>\n        \u003Cenable_wind>false\u003C\u002Fenable_wind>\n      \u003C\u002Flink>\n      \u003Cstatic>false\u003C\u002Fstatic>\n      \u003Cself_collide>false\u003C\u002Fself_collide>\n    \u003C\u002Fmodel>\n    \u003Cmodel name='box_0'>\n      \u003Cpose>-5.01336 -0.00029 0.500002 0 -4.2e-05 -0.005335\u003C\u002Fpose>\n      \u003Clink name='box_link'>\n        \u003Cinertial>\n          \u003Cinertia>\n            \u003Cixx>16.666\u003C\u002Fixx>\n            \u003Cixy>0\u003C\u002Fixy>\n            \u003Cixz>0\u003C\u002Fixz>\n            \u003Ciyy>16.666\u003C\u002Fiyy>\n            \u003Ciyz>0\u003C\u002Fiyz>\n            \u003Cizz>16.666\u003C\u002Fizz>\n          \u003C\u002Finertia>\n          \u003Cmass>100\u003C\u002Fmass>\n          \u003Cpose>0 0 0 0 -0 0\u003C\u002Fpose>\n        \u003C\u002Finertial>\n        \u003Ccollision name='box_collision'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>0.1 5 1\u003C\u002Fsize>\n            \u003C\u002Fbox>\n          \u003C\u002Fgeometry>\n          \u003Csurface>\n            \u003Cfriction>\n              \u003Code\u002F>\n            \u003C\u002Ffriction>\n            \u003Cbounce\u002F>\n            \u003Ccontact\u002F>\n          \u003C\u002Fsurface>\n        \u003C\u002Fcollision>\n        \u003Cvisual name='box_visual'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>0.1 5 1\u003C\u002Fsize>\n            \u003C\u002Fbox>\n          \u003C\u002Fgeometry>\n          \u003Cmaterial>\n            \u003Cambient>0.3 0.3 0.3 1\u003C\u002Fambient>\n            \u003Cdiffuse>0.7 0.7 0.7 1\u003C\u002Fdiffuse>\n            \u003Cspecular>1 1 1 1\u003C\u002Fspecular>\n          \u003C\u002Fmaterial>\n        \u003C\u002Fvisual>\n        \u003Cpose>0 0 0 0 -0 0\u003C\u002Fpose>\n        \u003Cenable_wind>false\u003C\u002Fenable_wind>\n      \u003C\u002Flink>\n      \u003Cstatic>false\u003C\u002Fstatic>\n      \u003Cself_collide>false\u003C\u002Fself_collide>\n    \u003C\u002Fmodel>\n    \u003Cmodel name='box_1'>\n      \u003Cpose>-0 -2.5 0.5 1e-06 0 0\u003C\u002Fpose>\n      \u003Clink name='box_link'>\n        \u003Cinertial>\n          \u003Cinertia>\n            \u003Cixx>16.666\u003C\u002Fixx>\n            \u003Cixy>0\u003C\u002Fixy>\n            \u003Cixz>0\u003C\u002Fixz>\n            \u003Ciyy>16.666\u003C\u002Fiyy>\n            \u003Ciyz>0\u003C\u002Fiyz>\n            \u003Cizz>16.666\u003C\u002Fizz>\n          \u003C\u002Finertia>\n          \u003Cmass>100\u003C\u002Fmass>\n          \u003Cpose>0 0 0 0 -0 0\u003C\u002Fpose>\n        \u003C\u002Finertial>\n        \u003Ccollision name='box_collision'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>10 0.1 1\u003C\u002Fsize>\n            \u003C\u002Fbox>\n          \u003C\u002Fgeometry>\n          \u003Csurface>\n            \u003Cfriction>\n              \u003Code\u002F>\n            \u003C\u002Ffriction>\n            \u003Cbounce\u002F>\n            \u003Ccontact\u002F>\n          \u003C\u002Fsurface>\n        \u003C\u002Fcollision>\n        \u003Cvisual name='box_visual'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>10 0.1 1\u003C\u002Fsize>\n            \u003C\u002Fbox>\n          \u003C\u002Fgeometry>\n          \u003Cmaterial>\n            \u003Cambient>0.3 0.3 0.3 1\u003C\u002Fambient>\n            \u003Cdiffuse>0.7 0.7 0.7 1\u003C\u002Fdiffuse>\n            \u003Cspecular>1 1 1 1\u003C\u002Fspecular>\n          \u003C\u002Fmaterial>\n        \u003C\u002Fvisual>\n        \u003Cpose>0 0 0 0 -0 0\u003C\u002Fpose>\n        \u003Cenable_wind>false\u003C\u002Fenable_wind>\n      \u003C\u002Flink>\n      \u003Cstatic>false\u003C\u002Fstatic>\n      \u003Cself_collide>false\u003C\u002Fself_collide>\n    \u003C\u002Fmodel>\n    \u003Cmodel name='box_2'>\n      \u003Cpose>-0.000154 2.52488 0.500821 -0.018068 -0 -0.003156\u003C\u002Fpose>\n      \u003Clink name='box_link'>\n        \u003Cinertial>\n          \u003Cinertia>\n            \u003Cixx>16.666\u003C\u002Fixx>\n            \u003Cixy>0\u003C\u002Fixy>\n            \u003Cixz>0\u003C\u002Fixz>\n            \u003Ciyy>16.666\u003C\u002Fiyy>\n            \u003Ciyz>0\u003C\u002Fiyz>\n            \u003Cizz>16.666\u003C\u002Fizz>\n          \u003C\u002Finertia>\n          \u003Cmass>100\u003C\u002Fmass>\n          \u003Cpose>0 0 0 0 -0 0\u003C\u002Fpose>\n        \u003C\u002Finertial>\n        \u003Ccollision name='box_collision'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>10 0.1 1\u003C\u002Fsize>\n            \u003C\u002Fbox>\n          \u003C\u002Fgeometry>\n          \u003Csurface>\n            \u003Cfriction>\n              \u003Code\u002F>\n            \u003C\u002Ffriction>\n            \u003Cbounce\u002F>\n            \u003Ccontact\u002F>\n          \u003C\u002Fsurface>\n        \u003C\u002Fcollision>\n        \u003Cvisual name='box_visual'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>10 0.1 1\u003C\u002Fsize>\n            \u003C\u002Fbox>\n          \u003C\u002Fgeometry>\n          \u003Cmaterial>\n            \u003Cambient>0.3 0.3 0.3 1\u003C\u002Fambient>\n            \u003Cdiffuse>0.7 0.7 0.7 1\u003C\u002Fdiffuse>\n            \u003Cspecular>1 1 1 1\u003C\u002Fspecular>\n          \u003C\u002Fmaterial>\n        \u003C\u002Fvisual>\n        \u003Cpose>0 0 0 0 -0 0\u003C\u002Fpose>\n        \u003Cenable_wind>false\u003C\u002Fenable_wind>\n      \u003C\u002Flink>\n      \u003Cstatic>false\u003C\u002Fstatic>\n      \u003Cself_collide>false\u003C\u002Fself_collide>\n    \u003C\u002Fmodel>\n    \u003Cinclude>\n      \u003Curi>file:\u002F\u002FBed\u003C\u002Furi>\n      \u003Cname>Bed\u003C\u002Fname>\n      \u003Cpose>2.82155 1.18752 0 0 -0 0\u003C\u002Fpose>\n    \u003C\u002Finclude>\n    \u003Cinclude>\n      \u003Curi>file:\u002F\u002FOffice Desk\u003C\u002Furi>\n      \u003Cname>Desk\u003C\u002Fname>\n      \u003Cpose>2.78306 -1.97796 0 0 -0 1.57\u003C\u002Fpose>\n    \u003C\u002Finclude>\n    \u003Cinclude>\n      \u003Curi>file:\u002F\u002FBathtub\u003C\u002Furi>\n      \u003Cname>Bathtub\u003C\u002Fname>\n      \u003Cpose>-3.87509 1.82783 0 0 -0 0\u003C\u002Fpose>\n    \u003C\u002Finclude>\n    \u003Cinclude>\n      \u003Curi>file:\u002F\u002FVanity\u003C\u002Furi>\n      \u003Cname>Vanity\u003C\u002Fname>\n      \u003Cpose>-2.5974 1.85613 -0.010992 0.021648 0 -1.57\u003C\u002Fpose>\n    \u003C\u002Finclude>\n    \u003Cinclude>\n      \u003Curi>file:\u002F\u002FVanity\u003C\u002Furi>\n      \u003Cname>Vanity_1\u003C\u002Fname>\n      \u003Cpose>-2.5974 0.634325 -0.010992 0.021648 0 -1.57\u003C\u002Fpose>\n    \u003C\u002Finclude>\n    \u003Cinclude>\n      \u003Curi>file:\u002F\u002FDining Table\u003C\u002Furi>\n      \u003Cname>DiningTable\u003C\u002Fname>\n      \u003Cpose>-0.374337 1.33602 0 0 0 -1.57\u003C\u002Fpose>\n    \u003C\u002Finclude>\n    \u003Cinclude>\n      \u003Curi>file:\u002F\u002FChair\u003C\u002Furi>\n      \u003Cname>Chair\u003C\u002Fname>\n      \u003Cpose>2.79762 -1.26474 -0 -0 0 -2.3062\u003C\u002Fpose>\n    \u003C\u002Finclude>\n    \u003Cinclude>\n      \u003Curi>file:\u002F\u002FSofa\u003C\u002Furi>\n      \u003Cname>Sofa\u003C\u002Fname>\n      \u003Cpose>-0.546136 -1.92328 0.000119 -0 0 1.57\u003C\u002Fpose>\n    \u003C\u002Finclude>\n    \u003Clight name='sun' type='directional'>\n      \u003Cpose>0 0 10 0 -0 0\u003C\u002Fpose>\n      \u003Ccast_shadows>true\u003C\u002Fcast_shadows>\n      \u003Cintensity>1\u003C\u002Fintensity>\n      \u003Cdirection>-0.5 0.1 -0.9\u003C\u002Fdirection>\n      \u003Cdiffuse>0.8 0.8 0.8 1\u003C\u002Fdiffuse>\n      \u003Cspecular>0.2 0.2 0.2 1\u003C\u002Fspecular>\n      \u003Cattenuation>\n        \u003Crange>1000\u003C\u002Frange>\n        \u003Clinear>0.01\u003C\u002Flinear>\n        \u003Cconstant>0.90000000000000002\u003C\u002Fconstant>\n        \u003Cquadratic>0.001\u003C\u002Fquadratic>\n      \u003C\u002Fattenuation>\n      \u003Cspot>\n        \u003Cinner_angle>0\u003C\u002Finner_angle>\n        \u003Couter_angle>0\u003C\u002Fouter_angle>\n        \u003Cfalloff>0\u003C\u002Ffalloff>\n      \u003C\u002Fspot>\n    \u003C\u002Flight>\n  \u003C\u002Fworld>\n\u003C\u002Fsdf>\n",[108,9546,9547,9561,9575,9595,9607,9619,9631,9639,9659,9679,9699,9719,9731,9743,9757,9765,9777,9789,9801,9809,9823,9835,9849,9863,9871,9879,9891,9903,9911,9919,9927,9935,9943,9951,9959,9967,9975,9983,9997,10005,10013,10025,10037,10045,10053,10061,10073,10085,10097,10105,10113,10125,10133,10145,10157,10165,10177,10189,10201,10213,10225,10237,10245,10253,10265,10273,10285,10297,10305,10319,10332,10346,10354,10362,10374,10386,10398,10410,10422,10434,10442,10454,10466,10474,10488,10496,10504,10516,10524,10532,10540,10548,10556,10564,10572,10580,10588,10596,10610,10618,10626,10638,10646,10654,10662,10674,10686,10698,10706,10714,10726,10738,10746,10758,10770,10778,10792,10805,10819,10827,10835,10847,10859,10871,10883,10895,10907,10915,10927,10939,10947,10961,10969,10977,10989,10997,11005,11013,11021,11029,11037,11045,11053,11061,11069,11083,11091,11099,11111,11119,11127,11135,11147,11159,11171,11179,11187,11199,11211,11219,11231,11243,11251,11265,11278,11292,11300,11308,11320,11332,11344,11356,11368,11380,11388,11400,11412,11420,11434,11442,11450,11462,11470,11478,11486,11494,11502,11510,11518,11526,11534,11542,11556,11564,11572,11584,11592,11600,11608,11620,11632,11644,11652,11660,11672,11684,11692,11704,11716,11724,11738,11751,11765,11773,11781,11793,11805,11817,11829,11841,11853,11861,11873,11885,11893,11907,11915,11923,11935,11943,11951,11959,11967,11975,11983,11991,11999,12007,12015,12029,12037,12045,12057,12065,12073,12081,12093,12105,12117,12125,12133,12145,12157,12165,12177,12189,12197,12206,12220,12233,12246,12254,12262,12275,12288,12301,12309,12317,12330,12343,12356,12364,12372,12385,12398,12411,12419,12427,12440,12454,12468,12477,12486,12500,12514,12528,12537,12546,12560,12574,12588,12597,12606,12620,12634,12648,12657,12678,12691,12704,12717,12730,12743,12756,12765,12778,12791,12804,12817,12826,12835,12848,12861,12874,12883,12892,12901],{"__ignoreMap":106},[111,9548,9549,9551,9553,9555,9557,9559],{"class":113,"line":114},[111,9550,2412],{"class":145},[111,9552,2756],{"class":2415},[111,9554,2759],{"class":131},[111,9556,1726],{"class":145},[111,9558,2964],{"class":135},[111,9560,2427],{"class":145},[111,9562,9563,9565,9567,9569,9571,9573],{"class":113,"line":121},[111,9564,2432],{"class":145},[111,9566,1493],{"class":2415},[111,9568,2419],{"class":131},[111,9570,1726],{"class":145},[111,9572,2979],{"class":135},[111,9574,2427],{"class":145},[111,9576,9577,9579,9581,9583,9585,9587,9589,9591,9593],{"class":113,"line":128},[111,9578,2449],{"class":145},[111,9580,2988],{"class":2415},[111,9582,2419],{"class":131},[111,9584,1726],{"class":145},[111,9586,2995],{"class":135},[111,9588,2998],{"class":131},[111,9590,1726],{"class":145},[111,9592,3003],{"class":135},[111,9594,2427],{"class":145},[111,9596,9597,9599,9601,9603,9605],{"class":113,"line":152},[111,9598,2459],{"class":145},[111,9600,3012],{"class":2415},[111,9602,3015],{"class":145},[111,9604,3012],{"class":2415},[111,9606,2427],{"class":145},[111,9608,9609,9611,9613,9615,9617],{"class":113,"line":157},[111,9610,2459],{"class":145},[111,9612,3026],{"class":2415},[111,9614,3029],{"class":145},[111,9616,3026],{"class":2415},[111,9618,2427],{"class":145},[111,9620,9621,9623,9625,9627,9629],{"class":113,"line":163},[111,9622,2459],{"class":145},[111,9624,3040],{"class":2415},[111,9626,3043],{"class":145},[111,9628,3040],{"class":2415},[111,9630,2427],{"class":145},[111,9632,9633,9635,9637],{"class":113,"line":175},[111,9634,2530],{"class":145},[111,9636,2988],{"class":2415},[111,9638,2427],{"class":145},[111,9640,9641,9643,9645,9647,9649,9651,9653,9655,9657],{"class":113,"line":180},[111,9642,2449],{"class":145},[111,9644,3062],{"class":2415},[111,9646,2419],{"class":131},[111,9648,1726],{"class":145},[111,9650,3069],{"class":135},[111,9652,3072],{"class":131},[111,9654,1726],{"class":145},[111,9656,3077],{"class":135},[111,9658,3080],{"class":145},[111,9660,9661,9663,9665,9667,9669,9671,9673,9675,9677],{"class":113,"line":186},[111,9662,2449],{"class":145},[111,9664,3062],{"class":2415},[111,9666,2419],{"class":131},[111,9668,1726],{"class":145},[111,9670,3093],{"class":135},[111,9672,3072],{"class":131},[111,9674,1726],{"class":145},[111,9676,3100],{"class":135},[111,9678,3080],{"class":145},[111,9680,9681,9683,9685,9687,9689,9691,9693,9695,9697],{"class":113,"line":433},[111,9682,2449],{"class":145},[111,9684,3062],{"class":2415},[111,9686,2419],{"class":131},[111,9688,1726],{"class":145},[111,9690,3115],{"class":135},[111,9692,3072],{"class":131},[111,9694,1726],{"class":145},[111,9696,3122],{"class":135},[111,9698,3080],{"class":145},[111,9700,9701,9703,9705,9707,9709,9711,9713,9715,9717],{"class":113,"line":439},[111,9702,2449],{"class":145},[111,9704,3062],{"class":2415},[111,9706,2419],{"class":131},[111,9708,1726],{"class":145},[111,9710,3137],{"class":135},[111,9712,3072],{"class":131},[111,9714,1726],{"class":145},[111,9716,3144],{"class":135},[111,9718,3080],{"class":145},[111,9720,9721,9723,9725,9727,9729],{"class":113,"line":445},[111,9722,2449],{"class":145},[111,9724,3153],{"class":2415},[111,9726,3156],{"class":145},[111,9728,3153],{"class":2415},[111,9730,2427],{"class":145},[111,9732,9733,9735,9737,9739,9741],{"class":113,"line":451},[111,9734,2449],{"class":145},[111,9736,3167],{"class":2415},[111,9738,3170],{"class":145},[111,9740,3167],{"class":2415},[111,9742,2427],{"class":145},[111,9744,9745,9747,9749,9751,9753,9755],{"class":113,"line":1703},[111,9746,2449],{"class":145},[111,9748,3181],{"class":2415},[111,9750,2998],{"class":131},[111,9752,1726],{"class":145},[111,9754,3188],{"class":135},[111,9756,3080],{"class":145},[111,9758,9759,9761,9763],{"class":113,"line":1715},[111,9760,2449],{"class":145},[111,9762,3197],{"class":2415},[111,9764,2427],{"class":145},[111,9766,9767,9769,9771,9773,9775],{"class":113,"line":1720},[111,9768,2459],{"class":145},[111,9770,3206],{"class":2415},[111,9772,3209],{"class":145},[111,9774,3206],{"class":2415},[111,9776,2427],{"class":145},[111,9778,9779,9781,9783,9785,9787],{"class":113,"line":1737},[111,9780,2459],{"class":145},[111,9782,3220],{"class":2415},[111,9784,3223],{"class":145},[111,9786,3220],{"class":2415},[111,9788,2427],{"class":145},[111,9790,9791,9793,9795,9797,9799],{"class":113,"line":1752},[111,9792,2459],{"class":145},[111,9794,3234],{"class":2415},[111,9796,3237],{"class":145},[111,9798,3234],{"class":2415},[111,9800,2427],{"class":145},[111,9802,9803,9805,9807],{"class":113,"line":1774},[111,9804,2530],{"class":145},[111,9806,3197],{"class":2415},[111,9808,2427],{"class":145},[111,9810,9811,9813,9815,9817,9819,9821],{"class":113,"line":1779},[111,9812,2449],{"class":145},[111,9814,2773],{"class":2415},[111,9816,2419],{"class":131},[111,9818,1726],{"class":145},[111,9820,3262],{"class":135},[111,9822,2427],{"class":145},[111,9824,9825,9827,9829,9831,9833],{"class":113,"line":1790},[111,9826,2459],{"class":145},[111,9828,3271],{"class":2415},[111,9830,3237],{"class":145},[111,9832,3271],{"class":2415},[111,9834,2427],{"class":145},[111,9836,9837,9839,9841,9843,9845,9847],{"class":113,"line":1796},[111,9838,2459],{"class":145},[111,9840,2435],{"class":2415},[111,9842,2419],{"class":131},[111,9844,1726],{"class":145},[111,9846,3290],{"class":135},[111,9848,2427],{"class":145},[111,9850,9851,9853,9855,9857,9859,9861],{"class":113,"line":1814},[111,9852,2633],{"class":145},[111,9854,3299],{"class":2415},[111,9856,2419],{"class":131},[111,9858,1726],{"class":145},[111,9860,3306],{"class":135},[111,9862,2427],{"class":145},[111,9864,9865,9867,9869],{"class":113,"line":1826},[111,9866,2829],{"class":145},[111,9868,3315],{"class":2415},[111,9870,2427],{"class":145},[111,9872,9873,9875,9877],{"class":113,"line":1844},[111,9874,3322],{"class":145},[111,9876,3325],{"class":2415},[111,9878,2427],{"class":145},[111,9880,9881,9883,9885,9887,9889],{"class":113,"line":1850},[111,9882,3332],{"class":145},[111,9884,3335],{"class":2415},[111,9886,3338],{"class":145},[111,9888,3335],{"class":2415},[111,9890,2427],{"class":145},[111,9892,9893,9895,9897,9899,9901],{"class":113,"line":1856},[111,9894,3332],{"class":145},[111,9896,3349],{"class":2415},[111,9898,3352],{"class":145},[111,9900,3349],{"class":2415},[111,9902,2427],{"class":145},[111,9904,9905,9907,9909],{"class":113,"line":1861},[111,9906,3361],{"class":145},[111,9908,3325],{"class":2415},[111,9910,2427],{"class":145},[111,9912,9913,9915,9917],{"class":113,"line":1867},[111,9914,3370],{"class":145},[111,9916,3315],{"class":2415},[111,9918,2427],{"class":145},[111,9920,9921,9923,9925],{"class":113,"line":1878},[111,9922,2829],{"class":145},[111,9924,3381],{"class":2415},[111,9926,2427],{"class":145},[111,9928,9929,9931,9933],{"class":113,"line":1892},[111,9930,3322],{"class":145},[111,9932,3390],{"class":2415},[111,9934,2427],{"class":145},[111,9936,9937,9939,9941],{"class":113,"line":1904},[111,9938,3332],{"class":145},[111,9940,3399],{"class":2415},[111,9942,3080],{"class":145},[111,9944,9945,9947,9949],{"class":113,"line":1931},[111,9946,3361],{"class":145},[111,9948,3390],{"class":2415},[111,9950,2427],{"class":145},[111,9952,9953,9955,9957],{"class":113,"line":1947},[111,9954,3322],{"class":145},[111,9956,3416],{"class":2415},[111,9958,3080],{"class":145},[111,9960,9961,9963,9965],{"class":113,"line":1952},[111,9962,3322],{"class":145},[111,9964,3425],{"class":2415},[111,9966,3080],{"class":145},[111,9968,9969,9971,9973],{"class":113,"line":1957},[111,9970,3370],{"class":145},[111,9972,3381],{"class":2415},[111,9974,2427],{"class":145},[111,9976,9977,9979,9981],{"class":113,"line":1963},[111,9978,2869],{"class":145},[111,9980,3299],{"class":2415},[111,9982,2427],{"class":145},[111,9984,9985,9987,9989,9991,9993,9995],{"class":113,"line":1973},[111,9986,2633],{"class":145},[111,9988,3450],{"class":2415},[111,9990,2419],{"class":131},[111,9992,1726],{"class":145},[111,9994,3457],{"class":135},[111,9996,2427],{"class":145},[111,9998,9999,10001,10003],{"class":113,"line":1986},[111,10000,2829],{"class":145},[111,10002,3315],{"class":2415},[111,10004,2427],{"class":145},[111,10006,10007,10009,10011],{"class":113,"line":1999},[111,10008,3322],{"class":145},[111,10010,3325],{"class":2415},[111,10012,2427],{"class":145},[111,10014,10015,10017,10019,10021,10023],{"class":113,"line":2014},[111,10016,3332],{"class":145},[111,10018,3335],{"class":2415},[111,10020,3338],{"class":145},[111,10022,3335],{"class":2415},[111,10024,2427],{"class":145},[111,10026,10027,10029,10031,10033,10035],{"class":113,"line":2022},[111,10028,3332],{"class":145},[111,10030,3349],{"class":2415},[111,10032,3352],{"class":145},[111,10034,3349],{"class":2415},[111,10036,2427],{"class":145},[111,10038,10039,10041,10043],{"class":113,"line":2030},[111,10040,3361],{"class":145},[111,10042,3325],{"class":2415},[111,10044,2427],{"class":145},[111,10046,10047,10049,10051],{"class":113,"line":2036},[111,10048,3370],{"class":145},[111,10050,3315],{"class":2415},[111,10052,2427],{"class":145},[111,10054,10055,10057,10059],{"class":113,"line":2058},[111,10056,2829],{"class":145},[111,10058,3522],{"class":2415},[111,10060,2427],{"class":145},[111,10062,10063,10065,10067,10069,10071],{"class":113,"line":2069},[111,10064,3322],{"class":145},[111,10066,3206],{"class":2415},[111,10068,3533],{"class":145},[111,10070,3206],{"class":2415},[111,10072,2427],{"class":145},[111,10074,10075,10077,10079,10081,10083],{"class":113,"line":2086},[111,10076,3322],{"class":145},[111,10078,3544],{"class":2415},[111,10080,3533],{"class":145},[111,10082,3544],{"class":2415},[111,10084,2427],{"class":145},[111,10086,10087,10089,10091,10093,10095],{"class":113,"line":2101},[111,10088,3322],{"class":145},[111,10090,3557],{"class":2415},[111,10092,3533],{"class":145},[111,10094,3557],{"class":2415},[111,10096,2427],{"class":145},[111,10098,10099,10101,10103],{"class":113,"line":2107},[111,10100,3370],{"class":145},[111,10102,3522],{"class":2415},[111,10104,2427],{"class":145},[111,10106,10107,10109,10111],{"class":113,"line":2118},[111,10108,2869],{"class":145},[111,10110,3450],{"class":2415},[111,10112,2427],{"class":145},[111,10114,10115,10117,10119,10121,10123],{"class":113,"line":2123},[111,10116,2633],{"class":145},[111,10118,3586],{"class":2415},[111,10120,3589],{"class":145},[111,10122,3586],{"class":2415},[111,10124,2427],{"class":145},[111,10126,10127,10129,10131],{"class":113,"line":2128},[111,10128,2633],{"class":145},[111,10130,2452],{"class":2415},[111,10132,2427],{"class":145},[111,10134,10135,10137,10139,10141,10143],{"class":113,"line":2137},[111,10136,2829],{"class":145},[111,10138,3586],{"class":2415},[111,10140,3589],{"class":145},[111,10142,3586],{"class":2415},[111,10144,2427],{"class":145},[111,10146,10147,10149,10151,10153,10155],{"class":113,"line":2143},[111,10148,2829],{"class":145},[111,10150,2462],{"class":2415},[111,10152,3622],{"class":145},[111,10154,2462],{"class":2415},[111,10156,2427],{"class":145},[111,10158,10159,10161,10163],{"class":113,"line":2163},[111,10160,2829],{"class":145},[111,10162,2480],{"class":2415},[111,10164,2427],{"class":145},[111,10166,10167,10169,10171,10173,10175],{"class":113,"line":2176},[111,10168,3322],{"class":145},[111,10170,2832],{"class":2415},[111,10172,3029],{"class":145},[111,10174,2832],{"class":2415},[111,10176,2427],{"class":145},[111,10178,10179,10181,10183,10185,10187],{"class":113,"line":2182},[111,10180,3322],{"class":145},[111,10182,3653],{"class":2415},[111,10184,3656],{"class":145},[111,10186,3653],{"class":2415},[111,10188,2427],{"class":145},[111,10190,10191,10193,10195,10197,10199],{"class":113,"line":2188},[111,10192,3322],{"class":145},[111,10194,3667],{"class":2415},[111,10196,3656],{"class":145},[111,10198,3667],{"class":2415},[111,10200,2427],{"class":145},[111,10202,10203,10205,10207,10209,10211],{"class":113,"line":3676},[111,10204,3322],{"class":145},[111,10206,2845],{"class":2415},[111,10208,3029],{"class":145},[111,10210,2845],{"class":2415},[111,10212,2427],{"class":145},[111,10214,10215,10217,10219,10221,10223],{"class":113,"line":3689},[111,10216,3322],{"class":145},[111,10218,3694],{"class":2415},[111,10220,3656],{"class":145},[111,10222,3694],{"class":2415},[111,10224,2427],{"class":145},[111,10226,10227,10229,10231,10233,10235],{"class":113,"line":3703},[111,10228,3322],{"class":145},[111,10230,2858],{"class":2415},[111,10232,3029],{"class":145},[111,10234,2858],{"class":2415},[111,10236,2427],{"class":145},[111,10238,10239,10241,10243],{"class":113,"line":3716},[111,10240,3370],{"class":145},[111,10242,2480],{"class":2415},[111,10244,2427],{"class":145},[111,10246,10247,10249,10251],{"class":113,"line":3725},[111,10248,2869],{"class":145},[111,10250,2452],{"class":2415},[111,10252,2427],{"class":145},[111,10254,10255,10257,10259,10261,10263],{"class":113,"line":3734},[111,10256,2633],{"class":145},[111,10258,3739],{"class":2415},[111,10260,3742],{"class":145},[111,10262,3739],{"class":2415},[111,10264,2427],{"class":145},[111,10266,10267,10269,10271],{"class":113,"line":3749},[111,10268,2693],{"class":145},[111,10270,2435],{"class":2415},[111,10272,2427],{"class":145},[111,10274,10275,10277,10279,10281,10283],{"class":113,"line":3758},[111,10276,2459],{"class":145},[111,10278,3586],{"class":2415},[111,10280,3589],{"class":145},[111,10282,3586],{"class":2415},[111,10284,2427],{"class":145},[111,10286,10287,10289,10291,10293,10295],{"class":113,"line":3771},[111,10288,2459],{"class":145},[111,10290,3776],{"class":2415},[111,10292,3742],{"class":145},[111,10294,3776],{"class":2415},[111,10296,2427],{"class":145},[111,10298,10299,10301,10303],{"class":113,"line":3785},[111,10300,2530],{"class":145},[111,10302,2773],{"class":2415},[111,10304,2427],{"class":145},[111,10306,10307,10309,10311,10313,10315,10317],{"class":113,"line":3794},[111,10308,2449],{"class":145},[111,10310,2773],{"class":2415},[111,10312,2419],{"class":131},[111,10314,1726],{"class":145},[111,10316,3805],{"class":135},[111,10318,2427],{"class":145},[111,10320,10321,10323,10325,10328,10330],{"class":113,"line":3810},[111,10322,2459],{"class":145},[111,10324,3586],{"class":2415},[111,10326,10327],{"class":145},">5.02632 -2e-06 0.500002 -0 4.4e-05 4.6e-05\u003C\u002F",[111,10329,3586],{"class":2415},[111,10331,2427],{"class":145},[111,10333,10334,10336,10338,10340,10342,10344],{"class":113,"line":3824},[111,10335,2459],{"class":145},[111,10337,2435],{"class":2415},[111,10339,2419],{"class":131},[111,10341,1726],{"class":145},[111,10343,3835],{"class":135},[111,10345,2427],{"class":145},[111,10347,10348,10350,10352],{"class":113,"line":3840},[111,10349,2633],{"class":145},[111,10351,2452],{"class":2415},[111,10353,2427],{"class":145},[111,10355,10356,10358,10360],{"class":113,"line":3849},[111,10357,2829],{"class":145},[111,10359,2480],{"class":2415},[111,10361,2427],{"class":145},[111,10363,10364,10366,10368,10370,10372],{"class":113,"line":3858},[111,10365,3322],{"class":145},[111,10367,2832],{"class":2415},[111,10369,3865],{"class":145},[111,10371,2832],{"class":2415},[111,10373,2427],{"class":145},[111,10375,10376,10378,10380,10382,10384],{"class":113,"line":3872},[111,10377,3322],{"class":145},[111,10379,3653],{"class":2415},[111,10381,3656],{"class":145},[111,10383,3653],{"class":2415},[111,10385,2427],{"class":145},[111,10387,10388,10390,10392,10394,10396],{"class":113,"line":3885},[111,10389,3322],{"class":145},[111,10391,3667],{"class":2415},[111,10393,3656],{"class":145},[111,10395,3667],{"class":2415},[111,10397,2427],{"class":145},[111,10399,10400,10402,10404,10406,10408],{"class":113,"line":3898},[111,10401,3322],{"class":145},[111,10403,2845],{"class":2415},[111,10405,3865],{"class":145},[111,10407,2845],{"class":2415},[111,10409,2427],{"class":145},[111,10411,10412,10414,10416,10418,10420],{"class":113,"line":3911},[111,10413,3322],{"class":145},[111,10415,3694],{"class":2415},[111,10417,3656],{"class":145},[111,10419,3694],{"class":2415},[111,10421,2427],{"class":145},[111,10423,10424,10426,10428,10430,10432],{"class":113,"line":3924},[111,10425,3322],{"class":145},[111,10427,2858],{"class":2415},[111,10429,3865],{"class":145},[111,10431,2858],{"class":2415},[111,10433,2427],{"class":145},[111,10435,10436,10438,10440],{"class":113,"line":3937},[111,10437,3370],{"class":145},[111,10439,2480],{"class":2415},[111,10441,2427],{"class":145},[111,10443,10444,10446,10448,10450,10452],{"class":113,"line":3946},[111,10445,2829],{"class":145},[111,10447,2462],{"class":2415},[111,10449,3622],{"class":145},[111,10451,2462],{"class":2415},[111,10453,2427],{"class":145},[111,10455,10456,10458,10460,10462,10464],{"class":113,"line":3959},[111,10457,2829],{"class":145},[111,10459,3586],{"class":2415},[111,10461,3589],{"class":145},[111,10463,3586],{"class":2415},[111,10465,2427],{"class":145},[111,10467,10468,10470,10472],{"class":113,"line":3972},[111,10469,2869],{"class":145},[111,10471,2452],{"class":2415},[111,10473,2427],{"class":145},[111,10475,10476,10478,10480,10482,10484,10486],{"class":113,"line":3981},[111,10477,2633],{"class":145},[111,10479,3299],{"class":2415},[111,10481,2419],{"class":131},[111,10483,1726],{"class":145},[111,10485,3992],{"class":135},[111,10487,2427],{"class":145},[111,10489,10490,10492,10494],{"class":113,"line":3997},[111,10491,2829],{"class":145},[111,10493,3315],{"class":2415},[111,10495,2427],{"class":145},[111,10497,10498,10500,10502],{"class":113,"line":4006},[111,10499,3322],{"class":145},[111,10501,4011],{"class":2415},[111,10503,2427],{"class":145},[111,10505,10506,10508,10510,10512,10514],{"class":113,"line":4016},[111,10507,3332],{"class":145},[111,10509,3349],{"class":2415},[111,10511,4023],{"class":145},[111,10513,3349],{"class":2415},[111,10515,2427],{"class":145},[111,10517,10518,10520,10522],{"class":113,"line":4030},[111,10519,3361],{"class":145},[111,10521,4011],{"class":2415},[111,10523,2427],{"class":145},[111,10525,10526,10528,10530],{"class":113,"line":4039},[111,10527,3370],{"class":145},[111,10529,3315],{"class":2415},[111,10531,2427],{"class":145},[111,10533,10534,10536,10538],{"class":113,"line":4048},[111,10535,2829],{"class":145},[111,10537,3381],{"class":2415},[111,10539,2427],{"class":145},[111,10541,10542,10544,10546],{"class":113,"line":4057},[111,10543,3322],{"class":145},[111,10545,3390],{"class":2415},[111,10547,2427],{"class":145},[111,10549,10550,10552,10554],{"class":113,"line":4066},[111,10551,3332],{"class":145},[111,10553,3399],{"class":2415},[111,10555,3080],{"class":145},[111,10557,10558,10560,10562],{"class":113,"line":4075},[111,10559,3361],{"class":145},[111,10561,3390],{"class":2415},[111,10563,2427],{"class":145},[111,10565,10566,10568,10570],{"class":113,"line":4084},[111,10567,3322],{"class":145},[111,10569,3416],{"class":2415},[111,10571,3080],{"class":145},[111,10573,10574,10576,10578],{"class":113,"line":4093},[111,10575,3322],{"class":145},[111,10577,3425],{"class":2415},[111,10579,3080],{"class":145},[111,10581,10582,10584,10586],{"class":113,"line":4102},[111,10583,3370],{"class":145},[111,10585,3381],{"class":2415},[111,10587,2427],{"class":145},[111,10589,10590,10592,10594],{"class":113,"line":4111},[111,10591,2869],{"class":145},[111,10593,3299],{"class":2415},[111,10595,2427],{"class":145},[111,10597,10598,10600,10602,10604,10606,10608],{"class":113,"line":4120},[111,10599,2633],{"class":145},[111,10601,3450],{"class":2415},[111,10603,2419],{"class":131},[111,10605,1726],{"class":145},[111,10607,4131],{"class":135},[111,10609,2427],{"class":145},[111,10611,10612,10614,10616],{"class":113,"line":4136},[111,10613,2829],{"class":145},[111,10615,3315],{"class":2415},[111,10617,2427],{"class":145},[111,10619,10620,10622,10624],{"class":113,"line":4145},[111,10621,3322],{"class":145},[111,10623,4011],{"class":2415},[111,10625,2427],{"class":145},[111,10627,10628,10630,10632,10634,10636],{"class":113,"line":4154},[111,10629,3332],{"class":145},[111,10631,3349],{"class":2415},[111,10633,4023],{"class":145},[111,10635,3349],{"class":2415},[111,10637,2427],{"class":145},[111,10639,10640,10642,10644],{"class":113,"line":4167},[111,10641,3361],{"class":145},[111,10643,4011],{"class":2415},[111,10645,2427],{"class":145},[111,10647,10648,10650,10652],{"class":113,"line":4176},[111,10649,3370],{"class":145},[111,10651,3315],{"class":2415},[111,10653,2427],{"class":145},[111,10655,10656,10658,10660],{"class":113,"line":4185},[111,10657,2829],{"class":145},[111,10659,3522],{"class":2415},[111,10661,2427],{"class":145},[111,10663,10664,10666,10668,10670,10672],{"class":113,"line":4194},[111,10665,3322],{"class":145},[111,10667,3206],{"class":2415},[111,10669,4201],{"class":145},[111,10671,3206],{"class":2415},[111,10673,2427],{"class":145},[111,10675,10676,10678,10680,10682,10684],{"class":113,"line":4208},[111,10677,3322],{"class":145},[111,10679,3544],{"class":2415},[111,10681,3223],{"class":145},[111,10683,3544],{"class":2415},[111,10685,2427],{"class":145},[111,10687,10688,10690,10692,10694,10696],{"class":113,"line":4221},[111,10689,3322],{"class":145},[111,10691,3557],{"class":2415},[111,10693,4228],{"class":145},[111,10695,3557],{"class":2415},[111,10697,2427],{"class":145},[111,10699,10700,10702,10704],{"class":113,"line":4235},[111,10701,3370],{"class":145},[111,10703,3522],{"class":2415},[111,10705,2427],{"class":145},[111,10707,10708,10710,10712],{"class":113,"line":4244},[111,10709,2869],{"class":145},[111,10711,3450],{"class":2415},[111,10713,2427],{"class":145},[111,10715,10716,10718,10720,10722,10724],{"class":113,"line":4253},[111,10717,2633],{"class":145},[111,10719,3586],{"class":2415},[111,10721,3589],{"class":145},[111,10723,3586],{"class":2415},[111,10725,2427],{"class":145},[111,10727,10728,10730,10732,10734,10736],{"class":113,"line":4266},[111,10729,2633],{"class":145},[111,10731,3739],{"class":2415},[111,10733,3742],{"class":145},[111,10735,3739],{"class":2415},[111,10737,2427],{"class":145},[111,10739,10740,10742,10744],{"class":113,"line":4279},[111,10741,2693],{"class":145},[111,10743,2435],{"class":2415},[111,10745,2427],{"class":145},[111,10747,10748,10750,10752,10754,10756],{"class":113,"line":4288},[111,10749,2459],{"class":145},[111,10751,3271],{"class":2415},[111,10753,3742],{"class":145},[111,10755,3271],{"class":2415},[111,10757,2427],{"class":145},[111,10759,10760,10762,10764,10766,10768],{"class":113,"line":4301},[111,10761,2459],{"class":145},[111,10763,3776],{"class":2415},[111,10765,3742],{"class":145},[111,10767,3776],{"class":2415},[111,10769,2427],{"class":145},[111,10771,10772,10774,10776],{"class":113,"line":4314},[111,10773,2530],{"class":145},[111,10775,2773],{"class":2415},[111,10777,2427],{"class":145},[111,10779,10780,10782,10784,10786,10788,10790],{"class":113,"line":4323},[111,10781,2449],{"class":145},[111,10783,2773],{"class":2415},[111,10785,2419],{"class":131},[111,10787,1726],{"class":145},[111,10789,4334],{"class":135},[111,10791,2427],{"class":145},[111,10793,10794,10796,10798,10801,10803],{"class":113,"line":4339},[111,10795,2459],{"class":145},[111,10797,3586],{"class":2415},[111,10799,10800],{"class":145},">-5.01336 -0.00029 0.500002 0 -4.2e-05 -0.005335\u003C\u002F",[111,10802,3586],{"class":2415},[111,10804,2427],{"class":145},[111,10806,10807,10809,10811,10813,10815,10817],{"class":113,"line":4353},[111,10808,2459],{"class":145},[111,10810,2435],{"class":2415},[111,10812,2419],{"class":131},[111,10814,1726],{"class":145},[111,10816,3835],{"class":135},[111,10818,2427],{"class":145},[111,10820,10821,10823,10825],{"class":113,"line":4368},[111,10822,2633],{"class":145},[111,10824,2452],{"class":2415},[111,10826,2427],{"class":145},[111,10828,10829,10831,10833],{"class":113,"line":4377},[111,10830,2829],{"class":145},[111,10832,2480],{"class":2415},[111,10834,2427],{"class":145},[111,10836,10837,10839,10841,10843,10845],{"class":113,"line":4386},[111,10838,3322],{"class":145},[111,10840,2832],{"class":2415},[111,10842,3865],{"class":145},[111,10844,2832],{"class":2415},[111,10846,2427],{"class":145},[111,10848,10849,10851,10853,10855,10857],{"class":113,"line":4399},[111,10850,3322],{"class":145},[111,10852,3653],{"class":2415},[111,10854,3656],{"class":145},[111,10856,3653],{"class":2415},[111,10858,2427],{"class":145},[111,10860,10861,10863,10865,10867,10869],{"class":113,"line":4412},[111,10862,3322],{"class":145},[111,10864,3667],{"class":2415},[111,10866,3656],{"class":145},[111,10868,3667],{"class":2415},[111,10870,2427],{"class":145},[111,10872,10873,10875,10877,10879,10881],{"class":113,"line":4425},[111,10874,3322],{"class":145},[111,10876,2845],{"class":2415},[111,10878,3865],{"class":145},[111,10880,2845],{"class":2415},[111,10882,2427],{"class":145},[111,10884,10885,10887,10889,10891,10893],{"class":113,"line":4438},[111,10886,3322],{"class":145},[111,10888,3694],{"class":2415},[111,10890,3656],{"class":145},[111,10892,3694],{"class":2415},[111,10894,2427],{"class":145},[111,10896,10897,10899,10901,10903,10905],{"class":113,"line":4451},[111,10898,3322],{"class":145},[111,10900,2858],{"class":2415},[111,10902,3865],{"class":145},[111,10904,2858],{"class":2415},[111,10906,2427],{"class":145},[111,10908,10909,10911,10913],{"class":113,"line":4464},[111,10910,3370],{"class":145},[111,10912,2480],{"class":2415},[111,10914,2427],{"class":145},[111,10916,10917,10919,10921,10923,10925],{"class":113,"line":4473},[111,10918,2829],{"class":145},[111,10920,2462],{"class":2415},[111,10922,3622],{"class":145},[111,10924,2462],{"class":2415},[111,10926,2427],{"class":145},[111,10928,10929,10931,10933,10935,10937],{"class":113,"line":4486},[111,10930,2829],{"class":145},[111,10932,3586],{"class":2415},[111,10934,3589],{"class":145},[111,10936,3586],{"class":2415},[111,10938,2427],{"class":145},[111,10940,10941,10943,10945],{"class":113,"line":4499},[111,10942,2869],{"class":145},[111,10944,2452],{"class":2415},[111,10946,2427],{"class":145},[111,10948,10949,10951,10953,10955,10957,10959],{"class":113,"line":4508},[111,10950,2633],{"class":145},[111,10952,3299],{"class":2415},[111,10954,2419],{"class":131},[111,10956,1726],{"class":145},[111,10958,3992],{"class":135},[111,10960,2427],{"class":145},[111,10962,10963,10965,10967],{"class":113,"line":4523},[111,10964,2829],{"class":145},[111,10966,3315],{"class":2415},[111,10968,2427],{"class":145},[111,10970,10971,10973,10975],{"class":113,"line":4532},[111,10972,3322],{"class":145},[111,10974,4011],{"class":2415},[111,10976,2427],{"class":145},[111,10978,10979,10981,10983,10985,10987],{"class":113,"line":4541},[111,10980,3332],{"class":145},[111,10982,3349],{"class":2415},[111,10984,4023],{"class":145},[111,10986,3349],{"class":2415},[111,10988,2427],{"class":145},[111,10990,10991,10993,10995],{"class":113,"line":4554},[111,10992,3361],{"class":145},[111,10994,4011],{"class":2415},[111,10996,2427],{"class":145},[111,10998,10999,11001,11003],{"class":113,"line":4563},[111,11000,3370],{"class":145},[111,11002,3315],{"class":2415},[111,11004,2427],{"class":145},[111,11006,11007,11009,11011],{"class":113,"line":4572},[111,11008,2829],{"class":145},[111,11010,3381],{"class":2415},[111,11012,2427],{"class":145},[111,11014,11015,11017,11019],{"class":113,"line":4581},[111,11016,3322],{"class":145},[111,11018,3390],{"class":2415},[111,11020,2427],{"class":145},[111,11022,11023,11025,11027],{"class":113,"line":4590},[111,11024,3332],{"class":145},[111,11026,3399],{"class":2415},[111,11028,3080],{"class":145},[111,11030,11031,11033,11035],{"class":113,"line":4599},[111,11032,3361],{"class":145},[111,11034,3390],{"class":2415},[111,11036,2427],{"class":145},[111,11038,11039,11041,11043],{"class":113,"line":4608},[111,11040,3322],{"class":145},[111,11042,3416],{"class":2415},[111,11044,3080],{"class":145},[111,11046,11047,11049,11051],{"class":113,"line":4617},[111,11048,3322],{"class":145},[111,11050,3425],{"class":2415},[111,11052,3080],{"class":145},[111,11054,11055,11057,11059],{"class":113,"line":4626},[111,11056,3370],{"class":145},[111,11058,3381],{"class":2415},[111,11060,2427],{"class":145},[111,11062,11063,11065,11067],{"class":113,"line":4635},[111,11064,2869],{"class":145},[111,11066,3299],{"class":2415},[111,11068,2427],{"class":145},[111,11070,11071,11073,11075,11077,11079,11081],{"class":113,"line":4644},[111,11072,2633],{"class":145},[111,11074,3450],{"class":2415},[111,11076,2419],{"class":131},[111,11078,1726],{"class":145},[111,11080,4131],{"class":135},[111,11082,2427],{"class":145},[111,11084,11085,11087,11089],{"class":113,"line":4659},[111,11086,2829],{"class":145},[111,11088,3315],{"class":2415},[111,11090,2427],{"class":145},[111,11092,11093,11095,11097],{"class":113,"line":4668},[111,11094,3322],{"class":145},[111,11096,4011],{"class":2415},[111,11098,2427],{"class":145},[111,11100,11101,11103,11105,11107,11109],{"class":113,"line":4677},[111,11102,3332],{"class":145},[111,11104,3349],{"class":2415},[111,11106,4023],{"class":145},[111,11108,3349],{"class":2415},[111,11110,2427],{"class":145},[111,11112,11113,11115,11117],{"class":113,"line":4690},[111,11114,3361],{"class":145},[111,11116,4011],{"class":2415},[111,11118,2427],{"class":145},[111,11120,11121,11123,11125],{"class":113,"line":4699},[111,11122,3370],{"class":145},[111,11124,3315],{"class":2415},[111,11126,2427],{"class":145},[111,11128,11129,11131,11133],{"class":113,"line":4708},[111,11130,2829],{"class":145},[111,11132,3522],{"class":2415},[111,11134,2427],{"class":145},[111,11136,11137,11139,11141,11143,11145],{"class":113,"line":4717},[111,11138,3322],{"class":145},[111,11140,3206],{"class":2415},[111,11142,4201],{"class":145},[111,11144,3206],{"class":2415},[111,11146,2427],{"class":145},[111,11148,11149,11151,11153,11155,11157],{"class":113,"line":4730},[111,11150,3322],{"class":145},[111,11152,3544],{"class":2415},[111,11154,3223],{"class":145},[111,11156,3544],{"class":2415},[111,11158,2427],{"class":145},[111,11160,11161,11163,11165,11167,11169],{"class":113,"line":4743},[111,11162,3322],{"class":145},[111,11164,3557],{"class":2415},[111,11166,4228],{"class":145},[111,11168,3557],{"class":2415},[111,11170,2427],{"class":145},[111,11172,11173,11175,11177],{"class":113,"line":4756},[111,11174,3370],{"class":145},[111,11176,3522],{"class":2415},[111,11178,2427],{"class":145},[111,11180,11181,11183,11185],{"class":113,"line":4765},[111,11182,2869],{"class":145},[111,11184,3450],{"class":2415},[111,11186,2427],{"class":145},[111,11188,11189,11191,11193,11195,11197],{"class":113,"line":4774},[111,11190,2633],{"class":145},[111,11192,3586],{"class":2415},[111,11194,3589],{"class":145},[111,11196,3586],{"class":2415},[111,11198,2427],{"class":145},[111,11200,11201,11203,11205,11207,11209],{"class":113,"line":4787},[111,11202,2633],{"class":145},[111,11204,3739],{"class":2415},[111,11206,3742],{"class":145},[111,11208,3739],{"class":2415},[111,11210,2427],{"class":145},[111,11212,11213,11215,11217],{"class":113,"line":4800},[111,11214,2693],{"class":145},[111,11216,2435],{"class":2415},[111,11218,2427],{"class":145},[111,11220,11221,11223,11225,11227,11229],{"class":113,"line":4809},[111,11222,2459],{"class":145},[111,11224,3271],{"class":2415},[111,11226,3742],{"class":145},[111,11228,3271],{"class":2415},[111,11230,2427],{"class":145},[111,11232,11233,11235,11237,11239,11241],{"class":113,"line":4822},[111,11234,2459],{"class":145},[111,11236,3776],{"class":2415},[111,11238,3742],{"class":145},[111,11240,3776],{"class":2415},[111,11242,2427],{"class":145},[111,11244,11245,11247,11249],{"class":113,"line":4835},[111,11246,2530],{"class":145},[111,11248,2773],{"class":2415},[111,11250,2427],{"class":145},[111,11252,11253,11255,11257,11259,11261,11263],{"class":113,"line":4844},[111,11254,2449],{"class":145},[111,11256,2773],{"class":2415},[111,11258,2419],{"class":131},[111,11260,1726],{"class":145},[111,11262,4855],{"class":135},[111,11264,2427],{"class":145},[111,11266,11267,11269,11271,11274,11276],{"class":113,"line":4860},[111,11268,2459],{"class":145},[111,11270,3586],{"class":2415},[111,11272,11273],{"class":145},">-0 -2.5 0.5 1e-06 0 0\u003C\u002F",[111,11275,3586],{"class":2415},[111,11277,2427],{"class":145},[111,11279,11280,11282,11284,11286,11288,11290],{"class":113,"line":4874},[111,11281,2459],{"class":145},[111,11283,2435],{"class":2415},[111,11285,2419],{"class":131},[111,11287,1726],{"class":145},[111,11289,3835],{"class":135},[111,11291,2427],{"class":145},[111,11293,11294,11296,11298],{"class":113,"line":4889},[111,11295,2633],{"class":145},[111,11297,2452],{"class":2415},[111,11299,2427],{"class":145},[111,11301,11302,11304,11306],{"class":113,"line":4898},[111,11303,2829],{"class":145},[111,11305,2480],{"class":2415},[111,11307,2427],{"class":145},[111,11309,11310,11312,11314,11316,11318],{"class":113,"line":4907},[111,11311,3322],{"class":145},[111,11313,2832],{"class":2415},[111,11315,3865],{"class":145},[111,11317,2832],{"class":2415},[111,11319,2427],{"class":145},[111,11321,11322,11324,11326,11328,11330],{"class":113,"line":4920},[111,11323,3322],{"class":145},[111,11325,3653],{"class":2415},[111,11327,3656],{"class":145},[111,11329,3653],{"class":2415},[111,11331,2427],{"class":145},[111,11333,11334,11336,11338,11340,11342],{"class":113,"line":4933},[111,11335,3322],{"class":145},[111,11337,3667],{"class":2415},[111,11339,3656],{"class":145},[111,11341,3667],{"class":2415},[111,11343,2427],{"class":145},[111,11345,11346,11348,11350,11352,11354],{"class":113,"line":4946},[111,11347,3322],{"class":145},[111,11349,2845],{"class":2415},[111,11351,3865],{"class":145},[111,11353,2845],{"class":2415},[111,11355,2427],{"class":145},[111,11357,11358,11360,11362,11364,11366],{"class":113,"line":4959},[111,11359,3322],{"class":145},[111,11361,3694],{"class":2415},[111,11363,3656],{"class":145},[111,11365,3694],{"class":2415},[111,11367,2427],{"class":145},[111,11369,11370,11372,11374,11376,11378],{"class":113,"line":4972},[111,11371,3322],{"class":145},[111,11373,2858],{"class":2415},[111,11375,3865],{"class":145},[111,11377,2858],{"class":2415},[111,11379,2427],{"class":145},[111,11381,11382,11384,11386],{"class":113,"line":4985},[111,11383,3370],{"class":145},[111,11385,2480],{"class":2415},[111,11387,2427],{"class":145},[111,11389,11390,11392,11394,11396,11398],{"class":113,"line":4994},[111,11391,2829],{"class":145},[111,11393,2462],{"class":2415},[111,11395,3622],{"class":145},[111,11397,2462],{"class":2415},[111,11399,2427],{"class":145},[111,11401,11402,11404,11406,11408,11410],{"class":113,"line":5007},[111,11403,2829],{"class":145},[111,11405,3586],{"class":2415},[111,11407,3589],{"class":145},[111,11409,3586],{"class":2415},[111,11411,2427],{"class":145},[111,11413,11414,11416,11418],{"class":113,"line":5020},[111,11415,2869],{"class":145},[111,11417,2452],{"class":2415},[111,11419,2427],{"class":145},[111,11421,11422,11424,11426,11428,11430,11432],{"class":113,"line":5029},[111,11423,2633],{"class":145},[111,11425,3299],{"class":2415},[111,11427,2419],{"class":131},[111,11429,1726],{"class":145},[111,11431,3992],{"class":135},[111,11433,2427],{"class":145},[111,11435,11436,11438,11440],{"class":113,"line":5044},[111,11437,2829],{"class":145},[111,11439,3315],{"class":2415},[111,11441,2427],{"class":145},[111,11443,11444,11446,11448],{"class":113,"line":5053},[111,11445,3322],{"class":145},[111,11447,4011],{"class":2415},[111,11449,2427],{"class":145},[111,11451,11452,11454,11456,11458,11460],{"class":113,"line":5062},[111,11453,3332],{"class":145},[111,11455,3349],{"class":2415},[111,11457,5069],{"class":145},[111,11459,3349],{"class":2415},[111,11461,2427],{"class":145},[111,11463,11464,11466,11468],{"class":113,"line":5076},[111,11465,3361],{"class":145},[111,11467,4011],{"class":2415},[111,11469,2427],{"class":145},[111,11471,11472,11474,11476],{"class":113,"line":5085},[111,11473,3370],{"class":145},[111,11475,3315],{"class":2415},[111,11477,2427],{"class":145},[111,11479,11480,11482,11484],{"class":113,"line":5094},[111,11481,2829],{"class":145},[111,11483,3381],{"class":2415},[111,11485,2427],{"class":145},[111,11487,11488,11490,11492],{"class":113,"line":5103},[111,11489,3322],{"class":145},[111,11491,3390],{"class":2415},[111,11493,2427],{"class":145},[111,11495,11496,11498,11500],{"class":113,"line":5112},[111,11497,3332],{"class":145},[111,11499,3399],{"class":2415},[111,11501,3080],{"class":145},[111,11503,11504,11506,11508],{"class":113,"line":5121},[111,11505,3361],{"class":145},[111,11507,3390],{"class":2415},[111,11509,2427],{"class":145},[111,11511,11512,11514,11516],{"class":113,"line":5130},[111,11513,3322],{"class":145},[111,11515,3416],{"class":2415},[111,11517,3080],{"class":145},[111,11519,11520,11522,11524],{"class":113,"line":5139},[111,11521,3322],{"class":145},[111,11523,3425],{"class":2415},[111,11525,3080],{"class":145},[111,11527,11528,11530,11532],{"class":113,"line":5148},[111,11529,3370],{"class":145},[111,11531,3381],{"class":2415},[111,11533,2427],{"class":145},[111,11535,11536,11538,11540],{"class":113,"line":5157},[111,11537,2869],{"class":145},[111,11539,3299],{"class":2415},[111,11541,2427],{"class":145},[111,11543,11544,11546,11548,11550,11552,11554],{"class":113,"line":5166},[111,11545,2633],{"class":145},[111,11547,3450],{"class":2415},[111,11549,2419],{"class":131},[111,11551,1726],{"class":145},[111,11553,4131],{"class":135},[111,11555,2427],{"class":145},[111,11557,11558,11560,11562],{"class":113,"line":5181},[111,11559,2829],{"class":145},[111,11561,3315],{"class":2415},[111,11563,2427],{"class":145},[111,11565,11566,11568,11570],{"class":113,"line":5190},[111,11567,3322],{"class":145},[111,11569,4011],{"class":2415},[111,11571,2427],{"class":145},[111,11573,11574,11576,11578,11580,11582],{"class":113,"line":5199},[111,11575,3332],{"class":145},[111,11577,3349],{"class":2415},[111,11579,5069],{"class":145},[111,11581,3349],{"class":2415},[111,11583,2427],{"class":145},[111,11585,11586,11588,11590],{"class":113,"line":5212},[111,11587,3361],{"class":145},[111,11589,4011],{"class":2415},[111,11591,2427],{"class":145},[111,11593,11594,11596,11598],{"class":113,"line":5221},[111,11595,3370],{"class":145},[111,11597,3315],{"class":2415},[111,11599,2427],{"class":145},[111,11601,11602,11604,11606],{"class":113,"line":5230},[111,11603,2829],{"class":145},[111,11605,3522],{"class":2415},[111,11607,2427],{"class":145},[111,11609,11610,11612,11614,11616,11618],{"class":113,"line":5239},[111,11611,3322],{"class":145},[111,11613,3206],{"class":2415},[111,11615,4201],{"class":145},[111,11617,3206],{"class":2415},[111,11619,2427],{"class":145},[111,11621,11622,11624,11626,11628,11630],{"class":113,"line":5252},[111,11623,3322],{"class":145},[111,11625,3544],{"class":2415},[111,11627,3223],{"class":145},[111,11629,3544],{"class":2415},[111,11631,2427],{"class":145},[111,11633,11634,11636,11638,11640,11642],{"class":113,"line":5265},[111,11635,3322],{"class":145},[111,11637,3557],{"class":2415},[111,11639,4228],{"class":145},[111,11641,3557],{"class":2415},[111,11643,2427],{"class":145},[111,11645,11646,11648,11650],{"class":113,"line":5278},[111,11647,3370],{"class":145},[111,11649,3522],{"class":2415},[111,11651,2427],{"class":145},[111,11653,11654,11656,11658],{"class":113,"line":5287},[111,11655,2869],{"class":145},[111,11657,3450],{"class":2415},[111,11659,2427],{"class":145},[111,11661,11662,11664,11666,11668,11670],{"class":113,"line":5296},[111,11663,2633],{"class":145},[111,11665,3586],{"class":2415},[111,11667,3589],{"class":145},[111,11669,3586],{"class":2415},[111,11671,2427],{"class":145},[111,11673,11674,11676,11678,11680,11682],{"class":113,"line":5309},[111,11675,2633],{"class":145},[111,11677,3739],{"class":2415},[111,11679,3742],{"class":145},[111,11681,3739],{"class":2415},[111,11683,2427],{"class":145},[111,11685,11686,11688,11690],{"class":113,"line":5322},[111,11687,2693],{"class":145},[111,11689,2435],{"class":2415},[111,11691,2427],{"class":145},[111,11693,11694,11696,11698,11700,11702],{"class":113,"line":5331},[111,11695,2459],{"class":145},[111,11697,3271],{"class":2415},[111,11699,3742],{"class":145},[111,11701,3271],{"class":2415},[111,11703,2427],{"class":145},[111,11705,11706,11708,11710,11712,11714],{"class":113,"line":5344},[111,11707,2459],{"class":145},[111,11709,3776],{"class":2415},[111,11711,3742],{"class":145},[111,11713,3776],{"class":2415},[111,11715,2427],{"class":145},[111,11717,11718,11720,11722],{"class":113,"line":5357},[111,11719,2530],{"class":145},[111,11721,2773],{"class":2415},[111,11723,2427],{"class":145},[111,11725,11726,11728,11730,11732,11734,11736],{"class":113,"line":5366},[111,11727,2449],{"class":145},[111,11729,2773],{"class":2415},[111,11731,2419],{"class":131},[111,11733,1726],{"class":145},[111,11735,5377],{"class":135},[111,11737,2427],{"class":145},[111,11739,11740,11742,11744,11747,11749],{"class":113,"line":5382},[111,11741,2459],{"class":145},[111,11743,3586],{"class":2415},[111,11745,11746],{"class":145},">-0.000154 2.52488 0.500821 -0.018068 -0 -0.003156\u003C\u002F",[111,11748,3586],{"class":2415},[111,11750,2427],{"class":145},[111,11752,11753,11755,11757,11759,11761,11763],{"class":113,"line":5396},[111,11754,2459],{"class":145},[111,11756,2435],{"class":2415},[111,11758,2419],{"class":131},[111,11760,1726],{"class":145},[111,11762,3835],{"class":135},[111,11764,2427],{"class":145},[111,11766,11767,11769,11771],{"class":113,"line":5411},[111,11768,2633],{"class":145},[111,11770,2452],{"class":2415},[111,11772,2427],{"class":145},[111,11774,11775,11777,11779],{"class":113,"line":5420},[111,11776,2829],{"class":145},[111,11778,2480],{"class":2415},[111,11780,2427],{"class":145},[111,11782,11783,11785,11787,11789,11791],{"class":113,"line":5429},[111,11784,3322],{"class":145},[111,11786,2832],{"class":2415},[111,11788,3865],{"class":145},[111,11790,2832],{"class":2415},[111,11792,2427],{"class":145},[111,11794,11795,11797,11799,11801,11803],{"class":113,"line":5442},[111,11796,3322],{"class":145},[111,11798,3653],{"class":2415},[111,11800,3656],{"class":145},[111,11802,3653],{"class":2415},[111,11804,2427],{"class":145},[111,11806,11807,11809,11811,11813,11815],{"class":113,"line":5455},[111,11808,3322],{"class":145},[111,11810,3667],{"class":2415},[111,11812,3656],{"class":145},[111,11814,3667],{"class":2415},[111,11816,2427],{"class":145},[111,11818,11819,11821,11823,11825,11827],{"class":113,"line":5468},[111,11820,3322],{"class":145},[111,11822,2845],{"class":2415},[111,11824,3865],{"class":145},[111,11826,2845],{"class":2415},[111,11828,2427],{"class":145},[111,11830,11831,11833,11835,11837,11839],{"class":113,"line":5481},[111,11832,3322],{"class":145},[111,11834,3694],{"class":2415},[111,11836,3656],{"class":145},[111,11838,3694],{"class":2415},[111,11840,2427],{"class":145},[111,11842,11843,11845,11847,11849,11851],{"class":113,"line":5494},[111,11844,3322],{"class":145},[111,11846,2858],{"class":2415},[111,11848,3865],{"class":145},[111,11850,2858],{"class":2415},[111,11852,2427],{"class":145},[111,11854,11855,11857,11859],{"class":113,"line":5507},[111,11856,3370],{"class":145},[111,11858,2480],{"class":2415},[111,11860,2427],{"class":145},[111,11862,11863,11865,11867,11869,11871],{"class":113,"line":5516},[111,11864,2829],{"class":145},[111,11866,2462],{"class":2415},[111,11868,3622],{"class":145},[111,11870,2462],{"class":2415},[111,11872,2427],{"class":145},[111,11874,11875,11877,11879,11881,11883],{"class":113,"line":5529},[111,11876,2829],{"class":145},[111,11878,3586],{"class":2415},[111,11880,3589],{"class":145},[111,11882,3586],{"class":2415},[111,11884,2427],{"class":145},[111,11886,11887,11889,11891],{"class":113,"line":5542},[111,11888,2869],{"class":145},[111,11890,2452],{"class":2415},[111,11892,2427],{"class":145},[111,11894,11895,11897,11899,11901,11903,11905],{"class":113,"line":5551},[111,11896,2633],{"class":145},[111,11898,3299],{"class":2415},[111,11900,2419],{"class":131},[111,11902,1726],{"class":145},[111,11904,3992],{"class":135},[111,11906,2427],{"class":145},[111,11908,11909,11911,11913],{"class":113,"line":5566},[111,11910,2829],{"class":145},[111,11912,3315],{"class":2415},[111,11914,2427],{"class":145},[111,11916,11917,11919,11921],{"class":113,"line":5575},[111,11918,3322],{"class":145},[111,11920,4011],{"class":2415},[111,11922,2427],{"class":145},[111,11924,11925,11927,11929,11931,11933],{"class":113,"line":5584},[111,11926,3332],{"class":145},[111,11928,3349],{"class":2415},[111,11930,5069],{"class":145},[111,11932,3349],{"class":2415},[111,11934,2427],{"class":145},[111,11936,11937,11939,11941],{"class":113,"line":5597},[111,11938,3361],{"class":145},[111,11940,4011],{"class":2415},[111,11942,2427],{"class":145},[111,11944,11945,11947,11949],{"class":113,"line":5606},[111,11946,3370],{"class":145},[111,11948,3315],{"class":2415},[111,11950,2427],{"class":145},[111,11952,11953,11955,11957],{"class":113,"line":5615},[111,11954,2829],{"class":145},[111,11956,3381],{"class":2415},[111,11958,2427],{"class":145},[111,11960,11961,11963,11965],{"class":113,"line":5624},[111,11962,3322],{"class":145},[111,11964,3390],{"class":2415},[111,11966,2427],{"class":145},[111,11968,11969,11971,11973],{"class":113,"line":5633},[111,11970,3332],{"class":145},[111,11972,3399],{"class":2415},[111,11974,3080],{"class":145},[111,11976,11977,11979,11981],{"class":113,"line":5642},[111,11978,3361],{"class":145},[111,11980,3390],{"class":2415},[111,11982,2427],{"class":145},[111,11984,11985,11987,11989],{"class":113,"line":5651},[111,11986,3322],{"class":145},[111,11988,3416],{"class":2415},[111,11990,3080],{"class":145},[111,11992,11993,11995,11997],{"class":113,"line":5660},[111,11994,3322],{"class":145},[111,11996,3425],{"class":2415},[111,11998,3080],{"class":145},[111,12000,12001,12003,12005],{"class":113,"line":5669},[111,12002,3370],{"class":145},[111,12004,3381],{"class":2415},[111,12006,2427],{"class":145},[111,12008,12009,12011,12013],{"class":113,"line":5678},[111,12010,2869],{"class":145},[111,12012,3299],{"class":2415},[111,12014,2427],{"class":145},[111,12016,12017,12019,12021,12023,12025,12027],{"class":113,"line":5687},[111,12018,2633],{"class":145},[111,12020,3450],{"class":2415},[111,12022,2419],{"class":131},[111,12024,1726],{"class":145},[111,12026,4131],{"class":135},[111,12028,2427],{"class":145},[111,12030,12031,12033,12035],{"class":113,"line":5702},[111,12032,2829],{"class":145},[111,12034,3315],{"class":2415},[111,12036,2427],{"class":145},[111,12038,12039,12041,12043],{"class":113,"line":5711},[111,12040,3322],{"class":145},[111,12042,4011],{"class":2415},[111,12044,2427],{"class":145},[111,12046,12047,12049,12051,12053,12055],{"class":113,"line":5720},[111,12048,3332],{"class":145},[111,12050,3349],{"class":2415},[111,12052,5069],{"class":145},[111,12054,3349],{"class":2415},[111,12056,2427],{"class":145},[111,12058,12059,12061,12063],{"class":113,"line":5733},[111,12060,3361],{"class":145},[111,12062,4011],{"class":2415},[111,12064,2427],{"class":145},[111,12066,12067,12069,12071],{"class":113,"line":5742},[111,12068,3370],{"class":145},[111,12070,3315],{"class":2415},[111,12072,2427],{"class":145},[111,12074,12075,12077,12079],{"class":113,"line":5751},[111,12076,2829],{"class":145},[111,12078,3522],{"class":2415},[111,12080,2427],{"class":145},[111,12082,12083,12085,12087,12089,12091],{"class":113,"line":5760},[111,12084,3322],{"class":145},[111,12086,3206],{"class":2415},[111,12088,4201],{"class":145},[111,12090,3206],{"class":2415},[111,12092,2427],{"class":145},[111,12094,12095,12097,12099,12101,12103],{"class":113,"line":5773},[111,12096,3322],{"class":145},[111,12098,3544],{"class":2415},[111,12100,3223],{"class":145},[111,12102,3544],{"class":2415},[111,12104,2427],{"class":145},[111,12106,12107,12109,12111,12113,12115],{"class":113,"line":5786},[111,12108,3322],{"class":145},[111,12110,3557],{"class":2415},[111,12112,4228],{"class":145},[111,12114,3557],{"class":2415},[111,12116,2427],{"class":145},[111,12118,12119,12121,12123],{"class":113,"line":5799},[111,12120,3370],{"class":145},[111,12122,3522],{"class":2415},[111,12124,2427],{"class":145},[111,12126,12127,12129,12131],{"class":113,"line":5808},[111,12128,2869],{"class":145},[111,12130,3450],{"class":2415},[111,12132,2427],{"class":145},[111,12134,12135,12137,12139,12141,12143],{"class":113,"line":5817},[111,12136,2633],{"class":145},[111,12138,3586],{"class":2415},[111,12140,3589],{"class":145},[111,12142,3586],{"class":2415},[111,12144,2427],{"class":145},[111,12146,12147,12149,12151,12153,12155],{"class":113,"line":5830},[111,12148,2633],{"class":145},[111,12150,3739],{"class":2415},[111,12152,3742],{"class":145},[111,12154,3739],{"class":2415},[111,12156,2427],{"class":145},[111,12158,12159,12161,12163],{"class":113,"line":5843},[111,12160,2693],{"class":145},[111,12162,2435],{"class":2415},[111,12164,2427],{"class":145},[111,12166,12167,12169,12171,12173,12175],{"class":113,"line":5852},[111,12168,2459],{"class":145},[111,12170,3271],{"class":2415},[111,12172,3742],{"class":145},[111,12174,3271],{"class":2415},[111,12176,2427],{"class":145},[111,12178,12179,12181,12183,12185,12187],{"class":113,"line":5865},[111,12180,2459],{"class":145},[111,12182,3776],{"class":2415},[111,12184,3742],{"class":145},[111,12186,3776],{"class":2415},[111,12188,2427],{"class":145},[111,12190,12191,12193,12195],{"class":113,"line":5878},[111,12192,2530],{"class":145},[111,12194,2773],{"class":2415},[111,12196,2427],{"class":145},[111,12198,12199,12201,12204],{"class":113,"line":5887},[111,12200,2449],{"class":145},[111,12202,12203],{"class":2415},"include",[111,12205,2427],{"class":145},[111,12207,12208,12210,12213,12216,12218],{"class":113,"line":5911},[111,12209,2459],{"class":145},[111,12211,12212],{"class":2415},"uri",[111,12214,12215],{"class":145},">file:\u002F\u002FBed\u003C\u002F",[111,12217,12212],{"class":2415},[111,12219,2427],{"class":145},[111,12221,12222,12224,12226,12229,12231],{"class":113,"line":5925},[111,12223,2459],{"class":145},[111,12225,6172],{"class":2415},[111,12227,12228],{"class":145},">Bed\u003C\u002F",[111,12230,6172],{"class":2415},[111,12232,2427],{"class":145},[111,12234,12235,12237,12239,12242,12244],{"class":113,"line":5939},[111,12236,2459],{"class":145},[111,12238,3586],{"class":2415},[111,12240,12241],{"class":145},">2.82155 1.18752 0 0 -0 0\u003C\u002F",[111,12243,3586],{"class":2415},[111,12245,2427],{"class":145},[111,12247,12248,12250,12252],{"class":113,"line":5953},[111,12249,2530],{"class":145},[111,12251,12203],{"class":2415},[111,12253,2427],{"class":145},[111,12255,12256,12258,12260],{"class":113,"line":5968},[111,12257,2449],{"class":145},[111,12259,12203],{"class":2415},[111,12261,2427],{"class":145},[111,12263,12264,12266,12268,12271,12273],{"class":113,"line":5981},[111,12265,2459],{"class":145},[111,12267,12212],{"class":2415},[111,12269,12270],{"class":145},">file:\u002F\u002FOffice Desk\u003C\u002F",[111,12272,12212],{"class":2415},[111,12274,2427],{"class":145},[111,12276,12277,12279,12281,12284,12286],{"class":113,"line":5995},[111,12278,2459],{"class":145},[111,12280,6172],{"class":2415},[111,12282,12283],{"class":145},">Desk\u003C\u002F",[111,12285,6172],{"class":2415},[111,12287,2427],{"class":145},[111,12289,12290,12292,12294,12297,12299],{"class":113,"line":6005},[111,12291,2459],{"class":145},[111,12293,3586],{"class":2415},[111,12295,12296],{"class":145},">2.78306 -1.97796 0 0 -0 1.57\u003C\u002F",[111,12298,3586],{"class":2415},[111,12300,2427],{"class":145},[111,12302,12303,12305,12307],{"class":113,"line":6019},[111,12304,2530],{"class":145},[111,12306,12203],{"class":2415},[111,12308,2427],{"class":145},[111,12310,12311,12313,12315],{"class":113,"line":6034},[111,12312,2449],{"class":145},[111,12314,12203],{"class":2415},[111,12316,2427],{"class":145},[111,12318,12319,12321,12323,12326,12328],{"class":113,"line":6049},[111,12320,2459],{"class":145},[111,12322,12212],{"class":2415},[111,12324,12325],{"class":145},">file:\u002F\u002FBathtub\u003C\u002F",[111,12327,12212],{"class":2415},[111,12329,2427],{"class":145},[111,12331,12332,12334,12336,12339,12341],{"class":113,"line":6063},[111,12333,2459],{"class":145},[111,12335,6172],{"class":2415},[111,12337,12338],{"class":145},">Bathtub\u003C\u002F",[111,12340,6172],{"class":2415},[111,12342,2427],{"class":145},[111,12344,12345,12347,12349,12352,12354],{"class":113,"line":6072},[111,12346,2459],{"class":145},[111,12348,3586],{"class":2415},[111,12350,12351],{"class":145},">-3.87509 1.82783 0 0 -0 0\u003C\u002F",[111,12353,3586],{"class":2415},[111,12355,2427],{"class":145},[111,12357,12358,12360,12362],{"class":113,"line":6082},[111,12359,2530],{"class":145},[111,12361,12203],{"class":2415},[111,12363,2427],{"class":145},[111,12365,12366,12368,12370],{"class":113,"line":6096},[111,12367,2449],{"class":145},[111,12369,12203],{"class":2415},[111,12371,2427],{"class":145},[111,12373,12374,12376,12378,12381,12383],{"class":113,"line":6110},[111,12375,2459],{"class":145},[111,12377,12212],{"class":2415},[111,12379,12380],{"class":145},">file:\u002F\u002FVanity\u003C\u002F",[111,12382,12212],{"class":2415},[111,12384,2427],{"class":145},[111,12386,12387,12389,12391,12394,12396],{"class":113,"line":6124},[111,12388,2459],{"class":145},[111,12390,6172],{"class":2415},[111,12392,12393],{"class":145},">Vanity\u003C\u002F",[111,12395,6172],{"class":2415},[111,12397,2427],{"class":145},[111,12399,12400,12402,12404,12407,12409],{"class":113,"line":6133},[111,12401,2459],{"class":145},[111,12403,3586],{"class":2415},[111,12405,12406],{"class":145},">-2.5974 1.85613 -0.010992 0.021648 0 -1.57\u003C\u002F",[111,12408,3586],{"class":2415},[111,12410,2427],{"class":145},[111,12412,12413,12415,12417],{"class":113,"line":6142},[111,12414,2530],{"class":145},[111,12416,12203],{"class":2415},[111,12418,2427],{"class":145},[111,12420,12421,12423,12425],{"class":113,"line":6151},[111,12422,2449],{"class":145},[111,12424,12203],{"class":2415},[111,12426,2427],{"class":145},[111,12428,12430,12432,12434,12436,12438],{"class":113,"line":12429},278,[111,12431,2459],{"class":145},[111,12433,12212],{"class":2415},[111,12435,12380],{"class":145},[111,12437,12212],{"class":2415},[111,12439,2427],{"class":145},[111,12441,12443,12445,12447,12450,12452],{"class":113,"line":12442},279,[111,12444,2459],{"class":145},[111,12446,6172],{"class":2415},[111,12448,12449],{"class":145},">Vanity_1\u003C\u002F",[111,12451,6172],{"class":2415},[111,12453,2427],{"class":145},[111,12455,12457,12459,12461,12464,12466],{"class":113,"line":12456},280,[111,12458,2459],{"class":145},[111,12460,3586],{"class":2415},[111,12462,12463],{"class":145},">-2.5974 0.634325 -0.010992 0.021648 0 -1.57\u003C\u002F",[111,12465,3586],{"class":2415},[111,12467,2427],{"class":145},[111,12469,12471,12473,12475],{"class":113,"line":12470},281,[111,12472,2530],{"class":145},[111,12474,12203],{"class":2415},[111,12476,2427],{"class":145},[111,12478,12480,12482,12484],{"class":113,"line":12479},282,[111,12481,2449],{"class":145},[111,12483,12203],{"class":2415},[111,12485,2427],{"class":145},[111,12487,12489,12491,12493,12496,12498],{"class":113,"line":12488},283,[111,12490,2459],{"class":145},[111,12492,12212],{"class":2415},[111,12494,12495],{"class":145},">file:\u002F\u002FDining Table\u003C\u002F",[111,12497,12212],{"class":2415},[111,12499,2427],{"class":145},[111,12501,12503,12505,12507,12510,12512],{"class":113,"line":12502},284,[111,12504,2459],{"class":145},[111,12506,6172],{"class":2415},[111,12508,12509],{"class":145},">DiningTable\u003C\u002F",[111,12511,6172],{"class":2415},[111,12513,2427],{"class":145},[111,12515,12517,12519,12521,12524,12526],{"class":113,"line":12516},285,[111,12518,2459],{"class":145},[111,12520,3586],{"class":2415},[111,12522,12523],{"class":145},">-0.374337 1.33602 0 0 0 -1.57\u003C\u002F",[111,12525,3586],{"class":2415},[111,12527,2427],{"class":145},[111,12529,12531,12533,12535],{"class":113,"line":12530},286,[111,12532,2530],{"class":145},[111,12534,12203],{"class":2415},[111,12536,2427],{"class":145},[111,12538,12540,12542,12544],{"class":113,"line":12539},287,[111,12541,2449],{"class":145},[111,12543,12203],{"class":2415},[111,12545,2427],{"class":145},[111,12547,12549,12551,12553,12556,12558],{"class":113,"line":12548},288,[111,12550,2459],{"class":145},[111,12552,12212],{"class":2415},[111,12554,12555],{"class":145},">file:\u002F\u002FChair\u003C\u002F",[111,12557,12212],{"class":2415},[111,12559,2427],{"class":145},[111,12561,12563,12565,12567,12570,12572],{"class":113,"line":12562},289,[111,12564,2459],{"class":145},[111,12566,6172],{"class":2415},[111,12568,12569],{"class":145},">Chair\u003C\u002F",[111,12571,6172],{"class":2415},[111,12573,2427],{"class":145},[111,12575,12577,12579,12581,12584,12586],{"class":113,"line":12576},290,[111,12578,2459],{"class":145},[111,12580,3586],{"class":2415},[111,12582,12583],{"class":145},">2.79762 -1.26474 -0 -0 0 -2.3062\u003C\u002F",[111,12585,3586],{"class":2415},[111,12587,2427],{"class":145},[111,12589,12591,12593,12595],{"class":113,"line":12590},291,[111,12592,2530],{"class":145},[111,12594,12203],{"class":2415},[111,12596,2427],{"class":145},[111,12598,12600,12602,12604],{"class":113,"line":12599},292,[111,12601,2449],{"class":145},[111,12603,12203],{"class":2415},[111,12605,2427],{"class":145},[111,12607,12609,12611,12613,12616,12618],{"class":113,"line":12608},293,[111,12610,2459],{"class":145},[111,12612,12212],{"class":2415},[111,12614,12615],{"class":145},">file:\u002F\u002FSofa\u003C\u002F",[111,12617,12212],{"class":2415},[111,12619,2427],{"class":145},[111,12621,12623,12625,12627,12630,12632],{"class":113,"line":12622},294,[111,12624,2459],{"class":145},[111,12626,6172],{"class":2415},[111,12628,12629],{"class":145},">Sofa\u003C\u002F",[111,12631,6172],{"class":2415},[111,12633,2427],{"class":145},[111,12635,12637,12639,12641,12644,12646],{"class":113,"line":12636},295,[111,12638,2459],{"class":145},[111,12640,3586],{"class":2415},[111,12642,12643],{"class":145},">-0.546136 -1.92328 0.000119 -0 0 1.57\u003C\u002F",[111,12645,3586],{"class":2415},[111,12647,2427],{"class":145},[111,12649,12651,12653,12655],{"class":113,"line":12650},296,[111,12652,2530],{"class":145},[111,12654,12203],{"class":2415},[111,12656,2427],{"class":145},[111,12658,12660,12662,12664,12666,12668,12670,12672,12674,12676],{"class":113,"line":12659},297,[111,12661,2449],{"class":145},[111,12663,5892],{"class":2415},[111,12665,2419],{"class":131},[111,12667,1726],{"class":145},[111,12669,5899],{"class":135},[111,12671,2998],{"class":131},[111,12673,1726],{"class":145},[111,12675,5906],{"class":135},[111,12677,2427],{"class":145},[111,12679,12681,12683,12685,12687,12689],{"class":113,"line":12680},298,[111,12682,2459],{"class":145},[111,12684,3586],{"class":2415},[111,12686,5918],{"class":145},[111,12688,3586],{"class":2415},[111,12690,2427],{"class":145},[111,12692,12694,12696,12698,12700,12702],{"class":113,"line":12693},299,[111,12695,2459],{"class":145},[111,12697,5930],{"class":2415},[111,12699,3237],{"class":145},[111,12701,5930],{"class":2415},[111,12703,2427],{"class":145},[111,12705,12707,12709,12711,12713,12715],{"class":113,"line":12706},300,[111,12708,2459],{"class":145},[111,12710,5944],{"class":2415},[111,12712,3029],{"class":145},[111,12714,5944],{"class":2415},[111,12716,2427],{"class":145},[111,12718,12720,12722,12724,12726,12728],{"class":113,"line":12719},301,[111,12721,2459],{"class":145},[111,12723,5958],{"class":2415},[111,12725,5961],{"class":145},[111,12727,5958],{"class":2415},[111,12729,2427],{"class":145},[111,12731,12733,12735,12737,12739,12741],{"class":113,"line":12732},302,[111,12734,2459],{"class":145},[111,12736,3544],{"class":2415},[111,12738,3533],{"class":145},[111,12740,3544],{"class":2415},[111,12742,2427],{"class":145},[111,12744,12746,12748,12750,12752,12754],{"class":113,"line":12745},303,[111,12747,2459],{"class":145},[111,12749,3557],{"class":2415},[111,12751,5988],{"class":145},[111,12753,3557],{"class":2415},[111,12755,2427],{"class":145},[111,12757,12759,12761,12763],{"class":113,"line":12758},304,[111,12760,2459],{"class":145},[111,12762,6000],{"class":2415},[111,12764,2427],{"class":145},[111,12766,12768,12770,12772,12774,12776],{"class":113,"line":12767},305,[111,12769,2633],{"class":145},[111,12771,6010],{"class":2415},[111,12773,3043],{"class":145},[111,12775,6010],{"class":2415},[111,12777,2427],{"class":145},[111,12779,12781,12783,12785,12787,12789],{"class":113,"line":12780},306,[111,12782,2633],{"class":145},[111,12784,6024],{"class":2415},[111,12786,6027],{"class":145},[111,12788,6024],{"class":2415},[111,12790,2427],{"class":145},[111,12792,12794,12796,12798,12800,12802],{"class":113,"line":12793},307,[111,12795,2633],{"class":145},[111,12797,6039],{"class":2415},[111,12799,6042],{"class":145},[111,12801,6039],{"class":2415},[111,12803,2427],{"class":145},[111,12805,12807,12809,12811,12813,12815],{"class":113,"line":12806},308,[111,12808,2633],{"class":145},[111,12810,6054],{"class":2415},[111,12812,3015],{"class":145},[111,12814,6054],{"class":2415},[111,12816,2427],{"class":145},[111,12818,12820,12822,12824],{"class":113,"line":12819},309,[111,12821,2693],{"class":145},[111,12823,6000],{"class":2415},[111,12825,2427],{"class":145},[111,12827,12829,12831,12833],{"class":113,"line":12828},310,[111,12830,2459],{"class":145},[111,12832,6077],{"class":2415},[111,12834,2427],{"class":145},[111,12836,12838,12840,12842,12844,12846],{"class":113,"line":12837},311,[111,12839,2633],{"class":145},[111,12841,6087],{"class":2415},[111,12843,3656],{"class":145},[111,12845,6087],{"class":2415},[111,12847,2427],{"class":145},[111,12849,12851,12853,12855,12857,12859],{"class":113,"line":12850},312,[111,12852,2633],{"class":145},[111,12854,6101],{"class":2415},[111,12856,3656],{"class":145},[111,12858,6101],{"class":2415},[111,12860,2427],{"class":145},[111,12862,12864,12866,12868,12870,12872],{"class":113,"line":12863},313,[111,12865,2633],{"class":145},[111,12867,6115],{"class":2415},[111,12869,3656],{"class":145},[111,12871,6115],{"class":2415},[111,12873,2427],{"class":145},[111,12875,12877,12879,12881],{"class":113,"line":12876},314,[111,12878,2693],{"class":145},[111,12880,6077],{"class":2415},[111,12882,2427],{"class":145},[111,12884,12886,12888,12890],{"class":113,"line":12885},315,[111,12887,2530],{"class":145},[111,12889,5892],{"class":2415},[111,12891,2427],{"class":145},[111,12893,12895,12897,12899],{"class":113,"line":12894},316,[111,12896,2539],{"class":145},[111,12898,1493],{"class":2415},[111,12900,2427],{"class":145},[111,12902,12904,12906,12908],{"class":113,"line":12903},317,[111,12905,2548],{"class":145},[111,12907,2756],{"class":2415},[111,12909,2427],{"class":145},[15,12911,12912],{},[50,12913,2204],{},[15,12915,2207],{},[101,12917,12918],{"className":103,"code":2210,"language":105,"meta":106,"style":106},[108,12919,12920],{"__ignoreMap":106},[111,12921,12922,12924,12926,12928],{"class":113,"line":114},[111,12923,2217],{"class":131},[111,12925,2220],{"class":135},[111,12927,2223],{"class":575},[111,12929,1445],{"class":135},[15,12931,12932],{},[50,12933,2235],{},[15,12935,2238],{},[101,12937,12938],{"className":103,"code":9365,"language":105,"meta":106,"style":106},[108,12939,12940,12946],{"__ignoreMap":106},[111,12941,12942,12944],{"class":113,"line":114},[111,12943,2248],{"class":575},[111,12945,2251],{"class":135},[111,12947,12948,12950,12952,12954],{"class":113,"line":121},[111,12949,262],{"class":131},[111,12951,265],{"class":135},[111,12953,2260],{"class":135},[111,12955,9384],{"class":135},[15,12957,9387],{},[15,12959,12960],{},[199,12961],{"alt":106,"src":12962},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1732.webp",[27,12964,12966],{"id":12965},"igng-adds-a-robot","IgnG adds a robot",[15,12968,12969],{},"In Ignition Gazebo, you can directly create robot models, or load robot models in URDF format from ROS2. Here we use the latter approach (you can also choose to use your own URDF car, but be sure to modify the launch path).",[15,12971,12972],{},"I didn't use Teacher Zhao Xuzuo's mycar_description; instead, I used my own car model. All the subsequent source code is in the GitHub repository below. Feel free to clone it if needed.",[15,12974,12975],{},[55,12976,12977],{"href":12977,"rel":12978},"https:\u002F\u002Fgithub.com\u002Ftungchiahui\u002FROS2_WS\u002Ftree\u002Fmain\u002F6.ws_simulations",[59],[15,12980,12981],{},[50,12982,12983],{},"Prepare Robot Model Function Package",[15,12985,12986],{},"Copy the robot description package mycar_description to the src directory of the workspace, create a new mycar_description directory in ign_models, and copy the mesh directory from the mycar_description package into the mycar_description directory under ign_models.",[15,12988,12989],{},[50,12990,12991],{},"Create a launch file under the robot model function package",[15,12993,1569,12994,12997],{},[108,12995,12996],{},"mycar_desc_sim.launch.py"," and enter the following content:",[101,12999,13001],{"className":1576,"code":13000,"language":1578,"meta":106,"style":106},"from launch import LaunchDescription\nfrom launch_ros.actions import Node\nimport os\nfrom ament_index_python.packages import get_package_share_directory\nfrom launch_ros.parameter_descriptions import ParameterValue\nfrom launch.substitutions import Command,LaunchConfiguration\nfrom launch.actions import DeclareLaunchArgument\n\n#示例： ros2 launch cpp06_urdf display.launch.py model:=`ros2 pkg prefix --share cpp06_urdf`\u002Furdf\u002Furdf\u002Fdemo01_helloworld.urdf\ndef generate_launch_description():\n\n    MYCAR_MODEL = os.environ['MYCAR_MODEL']\n\n    mycar_description = get_package_share_directory(\"mycar_description\")\n    default_model_path = os.path.join(mycar_description,\"urdf\",MYCAR_MODEL + \".urdf\")\n    model = DeclareLaunchArgument(name=\"model\", default_value=default_model_path)\n\n    # 加载机器人模型\n\n    # 启动 robot_state_publisher 节点并以参数方式加载 urdf 文件\n    robot_description = ParameterValue(Command([\"xacro \",LaunchConfiguration(\"model\")]))\n    robot_state_publisher = Node(\n        package=\"robot_state_publisher\",\n        executable=\"robot_state_publisher\",\n        parameters=[{\"robot_description\": robot_description}]\n    )\n\n    return LaunchDescription([\n        model,\n        robot_state_publisher,\n    ])\n",[108,13002,13003,13013,13023,13029,13039,13051,13062,13072,13076,13081,13089,13093,13110,13114,13128,13153,13179,13183,13188,13192,13197,13218,13227,13238,13248,13262,13266,13270,13276,13281,13286],{"__ignoreMap":106},[111,13004,13005,13007,13009,13011],{"class":113,"line":114},[111,13006,1597],{"class":773},[111,13008,1616],{"class":145},[111,13010,1585],{"class":773},[111,13012,1621],{"class":145},[111,13014,13015,13017,13019,13021],{"class":113,"line":121},[111,13016,1597],{"class":773},[111,13018,1691],{"class":145},[111,13020,1585],{"class":773},[111,13022,1696],{"class":145},[111,13024,13025,13027],{"class":113,"line":128},[111,13026,1585],{"class":773},[111,13028,1588],{"class":145},[111,13030,13031,13033,13035,13037],{"class":113,"line":152},[111,13032,1597],{"class":773},[111,13034,1600],{"class":145},[111,13036,1585],{"class":773},[111,13038,1605],{"class":145},[111,13040,13041,13043,13046,13048],{"class":113,"line":157},[111,13042,1597],{"class":773},[111,13044,13045],{"class":145}," launch_ros.parameter_descriptions ",[111,13047,1585],{"class":773},[111,13049,13050],{"class":145}," ParameterValue\n",[111,13052,13053,13055,13057,13059],{"class":113,"line":163},[111,13054,1597],{"class":773},[111,13056,1675],{"class":145},[111,13058,1585],{"class":773},[111,13060,13061],{"class":145}," Command,LaunchConfiguration\n",[111,13063,13064,13066,13068,13070],{"class":113,"line":175},[111,13065,1597],{"class":773},[111,13067,1628],{"class":145},[111,13069,1585],{"class":773},[111,13071,1633],{"class":145},[111,13073,13074],{"class":113,"line":180},[111,13075,118],{"emptyLinePlaceholder":117},[111,13077,13078],{"class":113,"line":186},[111,13079,13080],{"class":124},"#示例： ros2 launch cpp06_urdf display.launch.py model:=`ros2 pkg prefix --share cpp06_urdf`\u002Furdf\u002Furdf\u002Fdemo01_helloworld.urdf\n",[111,13082,13083,13085,13087],{"class":113,"line":433},[111,13084,1706],{"class":773},[111,13086,1709],{"class":131},[111,13088,1712],{"class":145},[111,13090,13091],{"class":113,"line":439},[111,13092,118],{"emptyLinePlaceholder":117},[111,13094,13095,13098,13101,13104,13107],{"class":113,"line":445},[111,13096,13097],{"class":575},"    MYCAR_MODEL",[111,13099,13100],{"class":773}," =",[111,13102,13103],{"class":145}," os.environ[",[111,13105,13106],{"class":135},"'MYCAR_MODEL'",[111,13108,13109],{"class":145},"]\n",[111,13111,13112],{"class":113,"line":451},[111,13113,118],{"emptyLinePlaceholder":117},[111,13115,13116,13119,13121,13123,13126],{"class":113,"line":1703},[111,13117,13118],{"class":145},"    mycar_description ",[111,13120,1726],{"class":773},[111,13122,1729],{"class":145},[111,13124,13125],{"class":135},"\"mycar_description\"",[111,13127,1479],{"class":145},[111,13129,13130,13133,13135,13138,13141,13143,13146,13148,13151],{"class":113,"line":1715},[111,13131,13132],{"class":145},"    default_model_path ",[111,13134,1726],{"class":773},[111,13136,13137],{"class":145}," os.path.join(mycar_description,",[111,13139,13140],{"class":135},"\"urdf\"",[111,13142,1766],{"class":145},[111,13144,13145],{"class":575},"MYCAR_MODEL",[111,13147,1838],{"class":773},[111,13149,13150],{"class":135}," \".urdf\"",[111,13152,1479],{"class":145},[111,13154,13155,13158,13160,13163,13165,13167,13170,13172,13174,13176],{"class":113,"line":1720},[111,13156,13157],{"class":145},"    model ",[111,13159,1726],{"class":773},[111,13161,13162],{"class":145}," DeclareLaunchArgument(",[111,13164,6172],{"class":1817},[111,13166,1726],{"class":773},[111,13168,13169],{"class":135},"\"model\"",[111,13171,1805],{"class":145},[111,13173,2153],{"class":1817},[111,13175,1726],{"class":773},[111,13177,13178],{"class":145},"default_model_path)\n",[111,13180,13181],{"class":113,"line":1737},[111,13182,118],{"emptyLinePlaceholder":117},[111,13184,13185],{"class":113,"line":1752},[111,13186,13187],{"class":124},"    # 加载机器人模型\n",[111,13189,13190],{"class":113,"line":1774},[111,13191,118],{"emptyLinePlaceholder":117},[111,13193,13194],{"class":113,"line":1779},[111,13195,13196],{"class":124},"    # 启动 robot_state_publisher 节点并以参数方式加载 urdf 文件\n",[111,13198,13199,13202,13204,13207,13210,13213,13215],{"class":113,"line":1790},[111,13200,13201],{"class":145},"    robot_description ",[111,13203,1726],{"class":773},[111,13205,13206],{"class":145}," ParameterValue(Command([",[111,13208,13209],{"class":135},"\"xacro \"",[111,13211,13212],{"class":145},",LaunchConfiguration(",[111,13214,13169],{"class":135},[111,13216,13217],{"class":145},")]))\n",[111,13219,13220,13223,13225],{"class":113,"line":1796},[111,13221,13222],{"class":145},"    robot_state_publisher ",[111,13224,1726],{"class":773},[111,13226,1875],{"class":145},[111,13228,13229,13231,13233,13236],{"class":113,"line":1814},[111,13230,1976],{"class":1817},[111,13232,1726],{"class":773},[111,13234,13235],{"class":135},"\"robot_state_publisher\"",[111,13237,1889],{"class":145},[111,13239,13240,13242,13244,13246],{"class":113,"line":1826},[111,13241,1989],{"class":1817},[111,13243,1726],{"class":773},[111,13245,13235],{"class":135},[111,13247,1889],{"class":145},[111,13249,13250,13252,13254,13256,13259],{"class":113,"line":1844},[111,13251,2039],{"class":1817},[111,13253,1726],{"class":773},[111,13255,2044],{"class":145},[111,13257,13258],{"class":135},"\"robot_description\"",[111,13260,13261],{"class":145},": robot_description}]\n",[111,13263,13264],{"class":113,"line":1850},[111,13265,1853],{"class":145},[111,13267,13268],{"class":113,"line":1856},[111,13269,118],{"emptyLinePlaceholder":117},[111,13271,13272,13274],{"class":113,"line":1861},[111,13273,2131],{"class":773},[111,13275,2134],{"class":145},[111,13277,13278],{"class":113,"line":1867},[111,13279,13280],{"class":145},"        model,\n",[111,13282,13283],{"class":113,"line":1878},[111,13284,13285],{"class":145},"        robot_state_publisher,\n",[111,13287,13288],{"class":113,"line":1892},[111,13289,2191],{"class":145},[15,13291,13292],{},"Compared to previous versions, this file is missing the joint_state_publisher node, whose role is to publish active joint states. This functionality will later be implemented by Ignition.",[15,13294,13295],{},[50,13296,13297],{},"Adding a Robot Model",[15,13299,13300,13301,13303],{},"Modify the ",[108,13302,9146],{}," file to include the robot model publishing file and spawn the robot model in Gazebo. The modified code is as follows:",[101,13305,13307],{"className":1576,"code":13306,"language":1578,"meta":106,"style":106},"import os\n\nfrom ament_index_python.packages import get_package_share_directory\n\nfrom launch import LaunchDescription\nfrom launch.actions import IncludeLaunchDescription\nfrom launch.launch_description_sources import PythonLaunchDescriptionSource\nfrom launch_ros.actions import Node\n\ndef generate_launch_description():\n\n    this_pkg = get_package_share_directory(\"demo_gazebo_sim\")\n    mycar_desc_pkg = get_package_share_directory(\"mycar_description\")\n    pkg_ros_gz_sim = get_package_share_directory(\"ros_gz_sim\")\n    world_file = os.path.join(this_pkg,\"world\",\"house.sdf\")\n\n    gz_sim = IncludeLaunchDescription(\n        PythonLaunchDescriptionSource(\n            os.path.join(pkg_ros_gz_sim, \"launch\", \"gz_sim.launch.py\")),\n        launch_arguments={\n            \"gz_args\": \"-r \" + world_file\n        }.items(),\n    )\n    mycar_desc = IncludeLaunchDescription(\n        PythonLaunchDescriptionSource(\n            os.path.join(mycar_desc_pkg,\"launch\",\"mycar_desc_sim.launch.py\")\n        )\n    )\n    spawn = Node(package=\"ros_gz_sim\", executable=\"create\",\n                arguments=[\n                \"-name\", \"mycar\",\n                \"-x\", \"0\",\n                \"-z\", \"0.01\", #设置为0,可能会陷进地里\n                \"-y\", \"0\",\n                \"-topic\", \"\u002Frobot_description\"],\n            output=\"screen\")\n\n    return LaunchDescription([\n        gz_sim,\n        spawn,\n        mycar_desc,\n    ])\n",[108,13308,13309,13315,13319,13329,13333,13343,13353,13363,13373,13377,13385,13389,13402,13415,13428,13444,13448,13456,13460,13474,13482,13496,13500,13504,13513,13517,13531,13536,13540,13569,13578,13590,13602,13617,13628,13641,13653,13657,13663,13667,13672,13677],{"__ignoreMap":106},[111,13310,13311,13313],{"class":113,"line":114},[111,13312,1585],{"class":773},[111,13314,1588],{"class":145},[111,13316,13317],{"class":113,"line":121},[111,13318,118],{"emptyLinePlaceholder":117},[111,13320,13321,13323,13325,13327],{"class":113,"line":128},[111,13322,1597],{"class":773},[111,13324,1600],{"class":145},[111,13326,1585],{"class":773},[111,13328,1605],{"class":145},[111,13330,13331],{"class":113,"line":152},[111,13332,118],{"emptyLinePlaceholder":117},[111,13334,13335,13337,13339,13341],{"class":113,"line":157},[111,13336,1597],{"class":773},[111,13338,1616],{"class":145},[111,13340,1585],{"class":773},[111,13342,1621],{"class":145},[111,13344,13345,13347,13349,13351],{"class":113,"line":163},[111,13346,1597],{"class":773},[111,13348,1628],{"class":145},[111,13350,1585],{"class":773},[111,13352,1644],{"class":145},[111,13354,13355,13357,13359,13361],{"class":113,"line":175},[111,13356,1597],{"class":773},[111,13358,1663],{"class":145},[111,13360,1585],{"class":773},[111,13362,1668],{"class":145},[111,13364,13365,13367,13369,13371],{"class":113,"line":180},[111,13366,1597],{"class":773},[111,13368,1691],{"class":145},[111,13370,1585],{"class":773},[111,13372,1696],{"class":145},[111,13374,13375],{"class":113,"line":186},[111,13376,118],{"emptyLinePlaceholder":117},[111,13378,13379,13381,13383],{"class":113,"line":433},[111,13380,1706],{"class":773},[111,13382,1709],{"class":131},[111,13384,1712],{"class":145},[111,13386,13387],{"class":113,"line":439},[111,13388,118],{"emptyLinePlaceholder":117},[111,13390,13391,13393,13395,13397,13400],{"class":113,"line":445},[111,13392,1723],{"class":145},[111,13394,1726],{"class":773},[111,13396,1729],{"class":145},[111,13398,13399],{"class":135},"\"demo_gazebo_sim\"",[111,13401,1479],{"class":145},[111,13403,13404,13407,13409,13411,13413],{"class":113,"line":451},[111,13405,13406],{"class":145},"    mycar_desc_pkg ",[111,13408,1726],{"class":773},[111,13410,1729],{"class":145},[111,13412,13125],{"class":135},[111,13414,1479],{"class":145},[111,13416,13417,13419,13421,13423,13426],{"class":113,"line":1703},[111,13418,1740],{"class":145},[111,13420,1726],{"class":773},[111,13422,1729],{"class":145},[111,13424,13425],{"class":135},"\"ros_gz_sim\"",[111,13427,1479],{"class":145},[111,13429,13430,13432,13434,13436,13438,13440,13442],{"class":113,"line":1715},[111,13431,1755],{"class":145},[111,13433,1726],{"class":773},[111,13435,1760],{"class":145},[111,13437,9256],{"class":135},[111,13439,1766],{"class":145},[111,13441,9261],{"class":135},[111,13443,1479],{"class":145},[111,13445,13446],{"class":113,"line":1720},[111,13447,118],{"emptyLinePlaceholder":117},[111,13449,13450,13452,13454],{"class":113,"line":1737},[111,13451,1782],{"class":145},[111,13453,1726],{"class":773},[111,13455,1787],{"class":145},[111,13457,13458],{"class":113,"line":1752},[111,13459,1793],{"class":145},[111,13461,13462,13464,13467,13469,13472],{"class":113,"line":1774},[111,13463,1799],{"class":145},[111,13465,13466],{"class":135},"\"launch\"",[111,13468,1805],{"class":145},[111,13470,13471],{"class":135},"\"gz_sim.launch.py\"",[111,13473,1811],{"class":145},[111,13475,13476,13478,13480],{"class":113,"line":1779},[111,13477,1818],{"class":1817},[111,13479,1726],{"class":773},[111,13481,1823],{"class":145},[111,13483,13484,13487,13489,13492,13494],{"class":113,"line":1790},[111,13485,13486],{"class":135},"            \"gz_args\"",[111,13488,1832],{"class":145},[111,13490,13491],{"class":135},"\"-r \"",[111,13493,1838],{"class":773},[111,13495,1841],{"class":145},[111,13497,13498],{"class":113,"line":1796},[111,13499,1847],{"class":145},[111,13501,13502],{"class":113,"line":1814},[111,13503,1853],{"class":145},[111,13505,13506,13509,13511],{"class":113,"line":1826},[111,13507,13508],{"class":145},"    mycar_desc ",[111,13510,1726],{"class":773},[111,13512,1787],{"class":145},[111,13514,13515],{"class":113,"line":1844},[111,13516,1793],{"class":145},[111,13518,13519,13522,13524,13526,13529],{"class":113,"line":1850},[111,13520,13521],{"class":145},"            os.path.join(mycar_desc_pkg,",[111,13523,13466],{"class":135},[111,13525,1766],{"class":145},[111,13527,13528],{"class":135},"\"mycar_desc_sim.launch.py\"",[111,13530,1479],{"class":145},[111,13532,13533],{"class":113,"line":1856},[111,13534,13535],{"class":145},"        )\n",[111,13537,13538],{"class":113,"line":1861},[111,13539,1853],{"class":145},[111,13541,13542,13545,13547,13550,13553,13555,13557,13559,13562,13564,13567],{"class":113,"line":1867},[111,13543,13544],{"class":145},"    spawn ",[111,13546,1726],{"class":773},[111,13548,13549],{"class":145}," Node(",[111,13551,13552],{"class":1817},"package",[111,13554,1726],{"class":773},[111,13556,13425],{"class":135},[111,13558,1805],{"class":145},[111,13560,13561],{"class":1817},"executable",[111,13563,1726],{"class":773},[111,13565,13566],{"class":135},"\"create\"",[111,13568,1889],{"class":145},[111,13570,13571,13574,13576],{"class":113,"line":1878},[111,13572,13573],{"class":1817},"                arguments",[111,13575,1726],{"class":773},[111,13577,2066],{"class":145},[111,13579,13580,13583,13585,13588],{"class":113,"line":1892},[111,13581,13582],{"class":135},"                \"-name\"",[111,13584,1805],{"class":145},[111,13586,13587],{"class":135},"\"mycar\"",[111,13589,1889],{"class":145},[111,13591,13592,13595,13597,13600],{"class":113,"line":1904},[111,13593,13594],{"class":135},"                \"-x\"",[111,13596,1805],{"class":145},[111,13598,13599],{"class":135},"\"0\"",[111,13601,1889],{"class":145},[111,13603,13604,13607,13609,13612,13614],{"class":113,"line":1931},[111,13605,13606],{"class":135},"                \"-z\"",[111,13608,1805],{"class":145},[111,13610,13611],{"class":135},"\"0.01\"",[111,13613,1805],{"class":145},[111,13615,13616],{"class":124},"#设置为0,可能会陷进地里\n",[111,13618,13619,13622,13624,13626],{"class":113,"line":1947},[111,13620,13621],{"class":135},"                \"-y\"",[111,13623,1805],{"class":145},[111,13625,13599],{"class":135},[111,13627,1889],{"class":145},[111,13629,13630,13633,13635,13638],{"class":113,"line":1952},[111,13631,13632],{"class":135},"                \"-topic\"",[111,13634,1805],{"class":145},[111,13636,13637],{"class":135},"\"\u002Frobot_description\"",[111,13639,13640],{"class":145},"],\n",[111,13642,13643,13646,13648,13651],{"class":113,"line":1957},[111,13644,13645],{"class":1817},"            output",[111,13647,1726],{"class":773},[111,13649,13650],{"class":135},"\"screen\"",[111,13652,1479],{"class":145},[111,13654,13655],{"class":113,"line":1963},[111,13656,118],{"emptyLinePlaceholder":117},[111,13658,13659,13661],{"class":113,"line":1973},[111,13660,2131],{"class":773},[111,13662,2134],{"class":145},[111,13664,13665],{"class":113,"line":1986},[111,13666,2140],{"class":145},[111,13668,13669],{"class":113,"line":1999},[111,13670,13671],{"class":145},"        spawn,\n",[111,13673,13674],{"class":113,"line":2014},[111,13675,13676],{"class":145},"        mycar_desc,\n",[111,13678,13679],{"class":113,"line":2022},[111,13680,2191],{"class":145},[15,13682,13683],{},[50,13684,2204],{},[15,13686,2207],{},[101,13688,13690],{"className":103,"code":13689,"language":105,"meta":106,"style":106},"colcon build --packages-select mycar_description demo_gazebo_sim\n",[108,13691,13692],{"__ignoreMap":106},[111,13693,13694,13696,13698,13701,13704],{"class":113,"line":114},[111,13695,2217],{"class":131},[111,13697,2220],{"class":135},[111,13699,13700],{"class":575}," --packages-select",[111,13702,13703],{"class":135}," mycar_description",[111,13705,1445],{"class":135},[15,13707,13708],{},[50,13709,2235],{},[15,13711,13712],{},"In the terminal, navigate to the current workspace and run the following command to execute the launch file: (If there are issues during execution, as long as you've learned how to run URDF, you should have the ability to find and fix the errors yourself — go ahead and troubleshoot.)",[101,13714,13716],{"className":103,"code":13715,"language":105,"meta":106,"style":106},". install\u002Fsetup.bash\n\n# MYCAR_MODEL值可以设置为arduino、stm32_2w 或stm32_4w（这个是具体的urdf文件名，在mycar_description包下的）\nexport MYCAR_MODEL=stm32_4w\nros2 launch demo_gazebo_sim gazebo_sim_world.launch.py\n",[108,13717,13718,13724,13728,13733,13745],{"__ignoreMap":106},[111,13719,13720,13722],{"class":113,"line":114},[111,13721,2248],{"class":575},[111,13723,2251],{"class":135},[111,13725,13726],{"class":113,"line":121},[111,13727,118],{"emptyLinePlaceholder":117},[111,13729,13730],{"class":113,"line":128},[111,13731,13732],{"class":124},"# MYCAR_MODEL值可以设置为arduino、stm32_2w 或stm32_4w（这个是具体的urdf文件名，在mycar_description包下的）\n",[111,13734,13735,13737,13740,13742],{"class":113,"line":152},[111,13736,9459],{"class":773},[111,13738,13739],{"class":145}," MYCAR_MODEL",[111,13741,1726],{"class":773},[111,13743,13744],{"class":145},"stm32_4w\n",[111,13746,13747,13749,13751,13753],{"class":113,"line":157},[111,13748,262],{"class":131},[111,13750,265],{"class":135},[111,13752,2260],{"class":135},[111,13754,9384],{"class":135},[15,13756,9387],{},[15,13758,13759],{},[199,13760],{"alt":106,"src":13761},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1733.webp",[27,13763,13765,13766,13769],{"id":13764},"igng-motion-controller-essentially-the-gazebo-tag","   IgnG motion controller (essentially the ",[108,13767,13768],{},"\u003Cgazebo>"," tag)",[15,13771,13772],{},"This section will introduce how to make your robot move.",[15,13774,13775,13776,13778],{},"The principle is to add ",[108,13777,13768],{}," tags to URDF, Xacro, or similar files:",[15,13780,13781],{},[55,13782,13783],{"href":13783,"rel":13784},"http:\u002F\u002Fsdformat.org\u002Ftutorials?tut=sdformat_urdf_extensions&cat=specification&",[59],[15,13786,13787],{},[199,13788],{"alt":106,"src":13789},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1734.webp",[15,13791,13792],{},[55,13793,13794],{"href":13794,"rel":13795},"https:\u002F\u002Fgazebosim.org\u002Fapi\u002Fplugin\u002F2\u002Findex.html",[59],[15,13797,13798],{},"Install the library:",[15,13800,13801],{},[55,13802,13803],{"href":13803,"rel":13804},"https:\u002F\u002Fgazebosim.org\u002Fapi\u002Fplugin\u002F2\u002Finstallation.html",[59],[101,13806,13808],{"className":103,"code":13807,"language":105,"meta":106,"style":106},"sudo apt-get update\nsudo apt-get install lsb-release\nsudo sh -c 'echo \"deb http:\u002F\u002Fpackages.osrfoundation.org\u002Fgazebo\u002Fubuntu-stable `lsb_release -cs` main\" > \u002Fetc\u002Fapt\u002Fsources.list.d\u002Fgazebo-stable.list'\nwget http:\u002F\u002Fpackages.osrfoundation.org\u002Fgazebo.key -O - | sudo apt-key add -\nsudo apt-get update\nsudo apt install libgz-plugin2-dev\n",[108,13809,13810,13820,13831,13844,13873,13881],{"__ignoreMap":106},[111,13811,13812,13814,13817],{"class":113,"line":114},[111,13813,132],{"class":131},[111,13815,13816],{"class":135}," apt-get",[111,13818,13819],{"class":135}," update\n",[111,13821,13822,13824,13826,13828],{"class":113,"line":121},[111,13823,132],{"class":131},[111,13825,13816],{"class":135},[111,13827,139],{"class":135},[111,13829,13830],{"class":135}," lsb-release\n",[111,13832,13833,13835,13838,13841],{"class":113,"line":128},[111,13834,132],{"class":131},[111,13836,13837],{"class":135}," sh",[111,13839,13840],{"class":575}," -c",[111,13842,13843],{"class":135}," 'echo \"deb http:\u002F\u002Fpackages.osrfoundation.org\u002Fgazebo\u002Fubuntu-stable `lsb_release -cs` main\" > \u002Fetc\u002Fapt\u002Fsources.list.d\u002Fgazebo-stable.list'\n",[111,13845,13846,13849,13852,13855,13858,13861,13864,13867,13870],{"class":113,"line":152},[111,13847,13848],{"class":131},"wget",[111,13850,13851],{"class":135}," http:\u002F\u002Fpackages.osrfoundation.org\u002Fgazebo.key",[111,13853,13854],{"class":575}," -O",[111,13856,13857],{"class":135}," -",[111,13859,13860],{"class":773}," |",[111,13862,13863],{"class":131}," sudo",[111,13865,13866],{"class":135}," apt-key",[111,13868,13869],{"class":135}," add",[111,13871,13872],{"class":135}," -\n",[111,13874,13875,13877,13879],{"class":113,"line":157},[111,13876,132],{"class":131},[111,13878,13816],{"class":135},[111,13880,13819],{"class":135},[111,13882,13883,13885,13887,13889],{"class":113,"line":163},[111,13884,132],{"class":131},[111,13886,136],{"class":135},[111,13888,139],{"class":135},[111,13890,13891],{"class":135}," libgz-plugin2-dev\n",[15,13893,13894],{},"Using plugins to make the car move, such as two-wheel differential plugins, four-wheel Mecanum wheel plugins, and so on.",[15,13896,13897],{},"Additionally, this plugin provides some options for controlling the output. Since it's a simulation, you also need to tell the plugin the corresponding joint names for the wheels and other information, resulting in the parameter table below:",[931,13899,13900,13910],{},[934,13901,13902],{},[937,13903,13904,13907],{},[940,13905,13906],{"align":942},"Configuration item",[940,13908,13909],{"align":942},"Meaning",[948,13911,13912,13920,13928,13936,13944,13952,13960,13968,13976,13984,13992,14000,14008],{},[937,13913,13914,13917],{},[953,13915,13916],{"align":942},"ros",[953,13918,13919],{"align":942},"ROS-related configuration, including namespaces and topic remapping, among others.",[937,13921,13922,13925],{},[953,13923,13924],{"align":942},"update_rate",[953,13926,13927],{"align":942},"Data update rate",[937,13929,13930,13933],{},[953,13931,13932],{"align":942},"left_joint",[953,13934,13935],{"align":942},"Left wheel joint name",[937,13937,13938,13941],{},[953,13939,13940],{"align":942},"right_joint",[953,13942,13943],{"align":942},"Right wheel joint name",[937,13945,13946,13949],{},[953,13947,13948],{"align":942},"wheel_separation",[953,13950,13951],{"align":942},"Distance between the left and right wheels",[937,13953,13954,13957],{},[953,13955,13956],{"align":942},"wheel_diameter",[953,13958,13959],{"align":942},"The diameter of the wheel",[937,13961,13962,13965],{},[953,13963,13964],{"align":942},"max_wheel_torque",[953,13966,13967],{"align":942},"The wheel's maximum torque",[937,13969,13970,13973],{},[953,13971,13972],{"align":942},"max_wheel_acceleration",[953,13974,13975],{"align":942},"The maximum acceleration of the wheel",[937,13977,13978,13981],{},[953,13979,13980],{"align":942},"publish_odom",[953,13982,13983],{"align":942},"Publish odometry",[937,13985,13986,13989],{},[953,13987,13988],{"align":942},"publish_odom_tf",[953,13990,13991],{"align":942},"Whether to publish the odometry tf switch",[937,13993,13994,13997],{},[953,13995,13996],{"align":942},"publish_wheel_tf",[953,13998,13999],{"align":942},"Switch for publishing wheel tf data",[937,14001,14002,14005],{},[953,14003,14004],{"align":942},"odometry_frame",[953,14006,14007],{"align":942},"The framed ID of the odometer is ultimately reflected in the topic and TF.",[937,14009,14010,14013],{},[953,14011,14012],{"align":942},"robot_base_frame",[953,14014,14015],{"align":942},"The robot's base frame ID",[15,14017,14018],{},[50,14019,14020],{},"Modifying the URDF File",[15,14022,14023,14024,6193,14027,14030,14031,14034],{},"In the ",[108,14025,14026],{},"arduino.urdf",[108,14028,14029],{},"stm32_2w.urdf"," files, add the following code under the ",[108,14032,14033],{},"\u003Crobot>"," root tag:",[101,14036,14038],{"className":2403,"code":14037,"language":2405,"meta":106,"style":106},"\n  \u003Cgazebo>\n      \u003Cplugin filename=\"libignition-gazebo-diff-drive-system.so\"\n        name=\"ignition::gazebo::systems::DiffDrive\">\n        \u003Cleft_joint>left_joint\u003C\u002Fleft_joint>\n        \u003Cright_joint>right_joint\u003C\u002Fright_joint>\n        \u003Cwheel_separation>0.2097\u003C\u002Fwheel_separation>\n        \u003Cwheel_radius>0.03415\u003C\u002Fwheel_radius>\n        \u003Codom_publish_frequency>10\u003C\u002Fodom_publish_frequency>\n        \u003Cframe_id>odom\u003C\u002Fframe_id>\n        \u003Cchild_frame_id>base_footprint\u003C\u002Fchild_frame_id>\n        \u003Ctopic>\u002Fcmd_vel\u003C\u002Ftopic>\n        \u003Cmax_linear_acceleration>10\u003C\u002Fmax_linear_acceleration>\n        \u003Cmin_linear_acceleration>-10\u003C\u002Fmin_linear_acceleration>\n        \u003Cmax_angular_acceleration>10\u003C\u002Fmax_angular_acceleration>\n        \u003Cmin_angular_acceleration>-10\u003C\u002Fmin_angular_acceleration>\n        \u003Cmax_linear_velocity>0.5\u003C\u002Fmax_linear_velocity>\n        \u003Cmin_linear_velocity>-0.5\u003C\u002Fmin_linear_velocity>\n        \u003Cmax_angular_velocity>1\u003C\u002Fmax_angular_velocity>\n        \u003Cmin_angular_velocity>-1\u003C\u002Fmin_angular_velocity>\n      \u003C\u002Fplugin>\n\n  \u003C\u002Fgazebo>\n\n  \u003Cgazebo>\n    \u003Cplugin filename=\"ignition-gazebo-joint-state-publisher-system\"\n      name=\"ignition::gazebo::systems::JointStatePublisher\">\n    \u003C\u002Fplugin>\n  \u003C\u002Fgazebo>\n",[108,14039,14040,14044,14053,14066,14078,14091,14104,14117,14131,14145,14159,14173,14187,14200,14214,14227,14240,14254,14268,14281,14295,14303,14307,14315,14319,14327,14340,14352,14360],{"__ignoreMap":106},[111,14041,14042],{"class":113,"line":114},[111,14043,118],{"emptyLinePlaceholder":117},[111,14045,14046,14048,14051],{"class":113,"line":121},[111,14047,2432],{"class":145},[111,14049,14050],{"class":2415},"gazebo",[111,14052,2427],{"class":145},[111,14054,14055,14057,14059,14061,14063],{"class":113,"line":128},[111,14056,2459],{"class":145},[111,14058,3062],{"class":2415},[111,14060,3072],{"class":131},[111,14062,1726],{"class":145},[111,14064,14065],{"class":135},"\"libignition-gazebo-diff-drive-system.so\"\n",[111,14067,14068,14071,14073,14076],{"class":113,"line":152},[111,14069,14070],{"class":131},"        name",[111,14072,1726],{"class":145},[111,14074,14075],{"class":135},"\"ignition::gazebo::systems::DiffDrive\"",[111,14077,2427],{"class":145},[111,14079,14080,14082,14084,14087,14089],{"class":113,"line":157},[111,14081,2633],{"class":145},[111,14083,13932],{"class":2415},[111,14085,14086],{"class":145},">left_joint\u003C\u002F",[111,14088,13932],{"class":2415},[111,14090,2427],{"class":145},[111,14092,14093,14095,14097,14100,14102],{"class":113,"line":163},[111,14094,2633],{"class":145},[111,14096,13940],{"class":2415},[111,14098,14099],{"class":145},">right_joint\u003C\u002F",[111,14101,13940],{"class":2415},[111,14103,2427],{"class":145},[111,14105,14106,14108,14110,14113,14115],{"class":113,"line":175},[111,14107,2633],{"class":145},[111,14109,13948],{"class":2415},[111,14111,14112],{"class":145},">0.2097\u003C\u002F",[111,14114,13948],{"class":2415},[111,14116,2427],{"class":145},[111,14118,14119,14121,14124,14127,14129],{"class":113,"line":180},[111,14120,2633],{"class":145},[111,14122,14123],{"class":2415},"wheel_radius",[111,14125,14126],{"class":145},">0.03415\u003C\u002F",[111,14128,14123],{"class":2415},[111,14130,2427],{"class":145},[111,14132,14133,14135,14138,14141,14143],{"class":113,"line":186},[111,14134,2633],{"class":145},[111,14136,14137],{"class":2415},"odom_publish_frequency",[111,14139,14140],{"class":145},">10\u003C\u002F",[111,14142,14137],{"class":2415},[111,14144,2427],{"class":145},[111,14146,14147,14149,14152,14155,14157],{"class":113,"line":433},[111,14148,2633],{"class":145},[111,14150,14151],{"class":2415},"frame_id",[111,14153,14154],{"class":145},">odom\u003C\u002F",[111,14156,14151],{"class":2415},[111,14158,2427],{"class":145},[111,14160,14161,14163,14166,14169,14171],{"class":113,"line":439},[111,14162,2633],{"class":145},[111,14164,14165],{"class":2415},"child_frame_id",[111,14167,14168],{"class":145},">base_footprint\u003C\u002F",[111,14170,14165],{"class":2415},[111,14172,2427],{"class":145},[111,14174,14175,14177,14180,14183,14185],{"class":113,"line":445},[111,14176,2633],{"class":145},[111,14178,14179],{"class":2415},"topic",[111,14181,14182],{"class":145},">\u002Fcmd_vel\u003C\u002F",[111,14184,14179],{"class":2415},[111,14186,2427],{"class":145},[111,14188,14189,14191,14194,14196,14198],{"class":113,"line":451},[111,14190,2633],{"class":145},[111,14192,14193],{"class":2415},"max_linear_acceleration",[111,14195,14140],{"class":145},[111,14197,14193],{"class":2415},[111,14199,2427],{"class":145},[111,14201,14202,14204,14207,14210,14212],{"class":113,"line":1703},[111,14203,2633],{"class":145},[111,14205,14206],{"class":2415},"min_linear_acceleration",[111,14208,14209],{"class":145},">-10\u003C\u002F",[111,14211,14206],{"class":2415},[111,14213,2427],{"class":145},[111,14215,14216,14218,14221,14223,14225],{"class":113,"line":1715},[111,14217,2633],{"class":145},[111,14219,14220],{"class":2415},"max_angular_acceleration",[111,14222,14140],{"class":145},[111,14224,14220],{"class":2415},[111,14226,2427],{"class":145},[111,14228,14229,14231,14234,14236,14238],{"class":113,"line":1720},[111,14230,2633],{"class":145},[111,14232,14233],{"class":2415},"min_angular_acceleration",[111,14235,14209],{"class":145},[111,14237,14233],{"class":2415},[111,14239,2427],{"class":145},[111,14241,14242,14244,14247,14250,14252],{"class":113,"line":1737},[111,14243,2633],{"class":145},[111,14245,14246],{"class":2415},"max_linear_velocity",[111,14248,14249],{"class":145},">0.5\u003C\u002F",[111,14251,14246],{"class":2415},[111,14253,2427],{"class":145},[111,14255,14256,14258,14261,14264,14266],{"class":113,"line":1752},[111,14257,2633],{"class":145},[111,14259,14260],{"class":2415},"min_linear_velocity",[111,14262,14263],{"class":145},">-0.5\u003C\u002F",[111,14265,14260],{"class":2415},[111,14267,2427],{"class":145},[111,14269,14270,14272,14275,14277,14279],{"class":113,"line":1774},[111,14271,2633],{"class":145},[111,14273,14274],{"class":2415},"max_angular_velocity",[111,14276,3029],{"class":145},[111,14278,14274],{"class":2415},[111,14280,2427],{"class":145},[111,14282,14283,14285,14288,14291,14293],{"class":113,"line":1779},[111,14284,2633],{"class":145},[111,14286,14287],{"class":2415},"min_angular_velocity",[111,14289,14290],{"class":145},">-1\u003C\u002F",[111,14292,14287],{"class":2415},[111,14294,2427],{"class":145},[111,14296,14297,14299,14301],{"class":113,"line":1790},[111,14298,2693],{"class":145},[111,14300,3062],{"class":2415},[111,14302,2427],{"class":145},[111,14304,14305],{"class":113,"line":1796},[111,14306,118],{"emptyLinePlaceholder":117},[111,14308,14309,14311,14313],{"class":113,"line":1814},[111,14310,2539],{"class":145},[111,14312,14050],{"class":2415},[111,14314,2427],{"class":145},[111,14316,14317],{"class":113,"line":1826},[111,14318,118],{"emptyLinePlaceholder":117},[111,14320,14321,14323,14325],{"class":113,"line":1844},[111,14322,2432],{"class":145},[111,14324,14050],{"class":2415},[111,14326,2427],{"class":145},[111,14328,14329,14331,14333,14335,14337],{"class":113,"line":1850},[111,14330,2449],{"class":145},[111,14332,3062],{"class":2415},[111,14334,3072],{"class":131},[111,14336,1726],{"class":145},[111,14338,14339],{"class":135},"\"ignition-gazebo-joint-state-publisher-system\"\n",[111,14341,14342,14345,14347,14350],{"class":113,"line":1856},[111,14343,14344],{"class":131},"      name",[111,14346,1726],{"class":145},[111,14348,14349],{"class":135},"\"ignition::gazebo::systems::JointStatePublisher\"",[111,14351,2427],{"class":145},[111,14353,14354,14356,14358],{"class":113,"line":1861},[111,14355,2530],{"class":145},[111,14357,3062],{"class":2415},[111,14359,2427],{"class":145},[111,14361,14362,14364,14366],{"class":113,"line":1867},[111,14363,2539],{"class":145},[111,14365,14050],{"class":2415},[111,14367,2427],{"class":145},[15,14369,14023,14370,14373,14374,14034],{},[108,14371,14372],{},"stm32_4w.urdf"," file, add the following code under the ",[108,14375,14033],{},[101,14377,14379],{"className":2403,"code":14378,"language":2405,"meta":106,"style":106},"\n\u003Cgazebo>\n    \u003Cplugin\n        filename=\"ignition-gazebo-diff-drive-system\"\n        name=\"ignition::gazebo::systems::DiffDrive\">\n        \u003Cleft_joint>left_former_joint\u003C\u002Fleft_joint>\n        \u003Cleft_joint>left_rear_joint\u003C\u002Fleft_joint>\n        \u003Cright_joint>right_former_joint\u003C\u002Fright_joint>\n        \u003Cright_joint>right_rear_joint\u003C\u002Fright_joint>\n        \u003Cwheel_separation>0.4\u003C\u002Fwheel_separation>\n        \u003Cwheel_radius>0.0415\u003C\u002Fwheel_radius>\n        \u003Codom_publish_frequency>50\u003C\u002Fodom_publish_frequency>\n        \u003Cframe_id>odom\u003C\u002Fframe_id>\n        \u003Cchild_frame_id>base_footprint\u003C\u002Fchild_frame_id>\n        \u003Ctopic>\u002Fcmd_vel\u003C\u002Ftopic>\n        \u003Cmax_linear_acceleration>10\u003C\u002Fmax_linear_acceleration>\n        \u003Cmin_linear_acceleration>-10\u003C\u002Fmin_linear_acceleration>\n        \u003Cmax_angular_acceleration>10\u003C\u002Fmax_angular_acceleration>\n        \u003Cmin_angular_acceleration>-10\u003C\u002Fmin_angular_acceleration>\n        \u003Cmax_linear_velocity>0.5\u003C\u002Fmax_linear_velocity>\n        \u003Cmin_linear_velocity>-0.5\u003C\u002Fmin_linear_velocity>\n        \u003Cmax_angular_velocity>1\u003C\u002Fmax_angular_velocity>\n        \u003Cmin_angular_velocity>-1\u003C\u002Fmin_angular_velocity>\n      \u003C\u002Fplugin>\n  \u003C\u002Fgazebo>\n\n  \u003Cgazebo>\n    \u003Cplugin filename=\"ignition-gazebo-joint-state-publisher-system\"\n      name=\"ignition::gazebo::systems::JointStatePublisher\">\n    \u003C\u002Fplugin>\n  \u003C\u002Fgazebo>\n",[108,14380,14381,14385,14393,14400,14410,14420,14433,14446,14459,14472,14485,14498,14511,14523,14535,14547,14559,14571,14583,14595,14607,14619,14631,14643,14651,14659,14663,14671,14683,14693,14701],{"__ignoreMap":106},[111,14382,14383],{"class":113,"line":114},[111,14384,118],{"emptyLinePlaceholder":117},[111,14386,14387,14389,14391],{"class":113,"line":121},[111,14388,2412],{"class":145},[111,14390,14050],{"class":2415},[111,14392,2427],{"class":145},[111,14394,14395,14397],{"class":113,"line":128},[111,14396,2449],{"class":145},[111,14398,14399],{"class":2415},"plugin\n",[111,14401,14402,14405,14407],{"class":113,"line":152},[111,14403,14404],{"class":131},"        filename",[111,14406,1726],{"class":145},[111,14408,14409],{"class":135},"\"ignition-gazebo-diff-drive-system\"\n",[111,14411,14412,14414,14416,14418],{"class":113,"line":157},[111,14413,14070],{"class":131},[111,14415,1726],{"class":145},[111,14417,14075],{"class":135},[111,14419,2427],{"class":145},[111,14421,14422,14424,14426,14429,14431],{"class":113,"line":163},[111,14423,2633],{"class":145},[111,14425,13932],{"class":2415},[111,14427,14428],{"class":145},">left_former_joint\u003C\u002F",[111,14430,13932],{"class":2415},[111,14432,2427],{"class":145},[111,14434,14435,14437,14439,14442,14444],{"class":113,"line":175},[111,14436,2633],{"class":145},[111,14438,13932],{"class":2415},[111,14440,14441],{"class":145},">left_rear_joint\u003C\u002F",[111,14443,13932],{"class":2415},[111,14445,2427],{"class":145},[111,14447,14448,14450,14452,14455,14457],{"class":113,"line":180},[111,14449,2633],{"class":145},[111,14451,13940],{"class":2415},[111,14453,14454],{"class":145},">right_former_joint\u003C\u002F",[111,14456,13940],{"class":2415},[111,14458,2427],{"class":145},[111,14460,14461,14463,14465,14468,14470],{"class":113,"line":186},[111,14462,2633],{"class":145},[111,14464,13940],{"class":2415},[111,14466,14467],{"class":145},">right_rear_joint\u003C\u002F",[111,14469,13940],{"class":2415},[111,14471,2427],{"class":145},[111,14473,14474,14476,14478,14481,14483],{"class":113,"line":433},[111,14475,2633],{"class":145},[111,14477,13948],{"class":2415},[111,14479,14480],{"class":145},">0.4\u003C\u002F",[111,14482,13948],{"class":2415},[111,14484,2427],{"class":145},[111,14486,14487,14489,14491,14494,14496],{"class":113,"line":439},[111,14488,2633],{"class":145},[111,14490,14123],{"class":2415},[111,14492,14493],{"class":145},">0.0415\u003C\u002F",[111,14495,14123],{"class":2415},[111,14497,2427],{"class":145},[111,14499,14500,14502,14504,14507,14509],{"class":113,"line":445},[111,14501,2633],{"class":145},[111,14503,14137],{"class":2415},[111,14505,14506],{"class":145},">50\u003C\u002F",[111,14508,14137],{"class":2415},[111,14510,2427],{"class":145},[111,14512,14513,14515,14517,14519,14521],{"class":113,"line":451},[111,14514,2633],{"class":145},[111,14516,14151],{"class":2415},[111,14518,14154],{"class":145},[111,14520,14151],{"class":2415},[111,14522,2427],{"class":145},[111,14524,14525,14527,14529,14531,14533],{"class":113,"line":1703},[111,14526,2633],{"class":145},[111,14528,14165],{"class":2415},[111,14530,14168],{"class":145},[111,14532,14165],{"class":2415},[111,14534,2427],{"class":145},[111,14536,14537,14539,14541,14543,14545],{"class":113,"line":1715},[111,14538,2633],{"class":145},[111,14540,14179],{"class":2415},[111,14542,14182],{"class":145},[111,14544,14179],{"class":2415},[111,14546,2427],{"class":145},[111,14548,14549,14551,14553,14555,14557],{"class":113,"line":1720},[111,14550,2633],{"class":145},[111,14552,14193],{"class":2415},[111,14554,14140],{"class":145},[111,14556,14193],{"class":2415},[111,14558,2427],{"class":145},[111,14560,14561,14563,14565,14567,14569],{"class":113,"line":1737},[111,14562,2633],{"class":145},[111,14564,14206],{"class":2415},[111,14566,14209],{"class":145},[111,14568,14206],{"class":2415},[111,14570,2427],{"class":145},[111,14572,14573,14575,14577,14579,14581],{"class":113,"line":1752},[111,14574,2633],{"class":145},[111,14576,14220],{"class":2415},[111,14578,14140],{"class":145},[111,14580,14220],{"class":2415},[111,14582,2427],{"class":145},[111,14584,14585,14587,14589,14591,14593],{"class":113,"line":1774},[111,14586,2633],{"class":145},[111,14588,14233],{"class":2415},[111,14590,14209],{"class":145},[111,14592,14233],{"class":2415},[111,14594,2427],{"class":145},[111,14596,14597,14599,14601,14603,14605],{"class":113,"line":1779},[111,14598,2633],{"class":145},[111,14600,14246],{"class":2415},[111,14602,14249],{"class":145},[111,14604,14246],{"class":2415},[111,14606,2427],{"class":145},[111,14608,14609,14611,14613,14615,14617],{"class":113,"line":1790},[111,14610,2633],{"class":145},[111,14612,14260],{"class":2415},[111,14614,14263],{"class":145},[111,14616,14260],{"class":2415},[111,14618,2427],{"class":145},[111,14620,14621,14623,14625,14627,14629],{"class":113,"line":1796},[111,14622,2633],{"class":145},[111,14624,14274],{"class":2415},[111,14626,3029],{"class":145},[111,14628,14274],{"class":2415},[111,14630,2427],{"class":145},[111,14632,14633,14635,14637,14639,14641],{"class":113,"line":1814},[111,14634,2633],{"class":145},[111,14636,14287],{"class":2415},[111,14638,14290],{"class":145},[111,14640,14287],{"class":2415},[111,14642,2427],{"class":145},[111,14644,14645,14647,14649],{"class":113,"line":1826},[111,14646,2693],{"class":145},[111,14648,3062],{"class":2415},[111,14650,2427],{"class":145},[111,14652,14653,14655,14657],{"class":113,"line":1844},[111,14654,2539],{"class":145},[111,14656,14050],{"class":2415},[111,14658,2427],{"class":145},[111,14660,14661],{"class":113,"line":1850},[111,14662,118],{"emptyLinePlaceholder":117},[111,14664,14665,14667,14669],{"class":113,"line":1856},[111,14666,2432],{"class":145},[111,14668,14050],{"class":2415},[111,14670,2427],{"class":145},[111,14672,14673,14675,14677,14679,14681],{"class":113,"line":1861},[111,14674,2449],{"class":145},[111,14676,3062],{"class":2415},[111,14678,3072],{"class":131},[111,14680,1726],{"class":145},[111,14682,14339],{"class":135},[111,14684,14685,14687,14689,14691],{"class":113,"line":1867},[111,14686,14344],{"class":131},[111,14688,1726],{"class":145},[111,14690,14349],{"class":135},[111,14692,2427],{"class":145},[111,14694,14695,14697,14699],{"class":113,"line":1878},[111,14696,2530],{"class":145},[111,14698,3062],{"class":2415},[111,14700,2427],{"class":145},[111,14702,14703,14705,14707],{"class":113,"line":1892},[111,14704,2539],{"class":145},[111,14706,14050],{"class":2415},[111,14708,2427],{"class":145},[15,14710,14711],{},"If using Mecanum wheels (for ROS1; ROS2 version pending update — just set the wheel joint names to your own wheel joint names):",[101,14713,14715],{"className":2403,"code":14714,"language":2405,"meta":106,"style":106},"\u003Crobot name=\"mycar\" xmlns:xacro=\"http:\u002F\u002Fwiki.ros.org\u002Fxacro\">\n\n    \u003Cxacro:macro name=\"joint_trans\" params=\"joint_name\">\n\n        \u003Ctransmission name=\"${joint_name}_trans\">\n            \u003Ctype>transmission_interface\u002FSimpleTransmission\u003C\u002Ftype>\n            \u003Cjoint name=\"${joint_name}\">\n                \u003ChardwareInterface>hardware_interface\u002FVelocityJointInterface\u003C\u002FhardwareInterface>\n            \u003C\u002Fjoint>\n            \u003Cactuator name=\"${joint_name}_motor\">\n                \u003ChardwareInterface>hardware_interface\u002FVelocityJointInterface\u003C\u002FhardwareInterface>\n                \u003CmechanicalReduction>1\u003C\u002FmechanicalReduction>\n            \u003C\u002Factuator>\n        \u003C\u002Ftransmission>\n    \u003C\u002Fxacro:macro>\n\n    \u003Cxacro:joint_trans joint_name=\"LeftFrontwheelToBase\" \u002F>\n    \u003Cxacro:joint_trans joint_name=\"LeftBackwheelToBase\" \u002F>\n    \u003Cxacro:joint_trans joint_name=\"RightFrontwheelToBase\" \u002F>\n    \u003Cxacro:joint_trans joint_name=\"RightBackwheelToBase\" \u002F>\n\n    \u003Cgazebo>\n        \u003Cplugin name=\"mecanum_controller\" filename=\"libgazebo_ros_planar_move.so\">\n            \u003CcommandTopic>cmd_vel\u003C\u002FcommandTopic>\n            \u003CodometryTopic>odom\u003C\u002FodometryTopic>\n            \u003CodometryFrame>odom\u003C\u002FodometryFrame>\n            \u003CleftFrontJoint>LeftFrontwheelToBase\u003C\u002FleftFrontJoint>\n            \u003CrightFrontJoint>RightFrontwheelToBase\u003C\u002FrightFrontJoint>\n            \u003CleftRearJoint>LeftBackwheelToBase\u003C\u002FleftRearJoint>\n            \u003CrightRearJoint>RightBackwheelToBase\u003C\u002FrightRearJoint>\n            \u003CodometryRate>100\u003C\u002FodometryRate>\n            \u003CrobotBaseFrame>base_footprint\u003C\u002FrobotBaseFrame>\n            \u003CbroadcastTF>1\u003C\u002FbroadcastTF>\n        \u003C\u002Fplugin>\n    \u003C\u002Fgazebo>\n\n\u003C\u002Frobot>\n",[108,14716,14717,14738,14742,14764,14768,14784,14798,14814,14829,14837,14853,14865,14878,14886,14894,14902,14906,14923,14938,14953,14968,14972,14980,15002,15016,15029,15042,15056,15070,15084,15098,15111,15124,15137,15145,15153,15157],{"__ignoreMap":106},[111,14718,14719,14721,14723,14725,14727,14729,14731,14733,14736],{"class":113,"line":114},[111,14720,2412],{"class":145},[111,14722,2416],{"class":2415},[111,14724,2419],{"class":131},[111,14726,1726],{"class":145},[111,14728,13587],{"class":135},[111,14730,2570],{"class":131},[111,14732,1726],{"class":145},[111,14734,14735],{"class":135},"\"http:\u002F\u002Fwiki.ros.org\u002Fxacro\"",[111,14737,2427],{"class":145},[111,14739,14740],{"class":113,"line":121},[111,14741,118],{"emptyLinePlaceholder":117},[111,14743,14744,14746,14748,14750,14752,14755,14757,14759,14762],{"class":113,"line":128},[111,14745,2449],{"class":145},[111,14747,2590],{"class":2415},[111,14749,2419],{"class":131},[111,14751,1726],{"class":145},[111,14753,14754],{"class":135},"\"joint_trans\"",[111,14756,2599],{"class":131},[111,14758,1726],{"class":145},[111,14760,14761],{"class":135},"\"joint_name\"",[111,14763,2427],{"class":145},[111,14765,14766],{"class":113,"line":152},[111,14767,118],{"emptyLinePlaceholder":117},[111,14769,14770,14772,14775,14777,14779,14782],{"class":113,"line":157},[111,14771,2633],{"class":145},[111,14773,14774],{"class":2415},"transmission",[111,14776,2419],{"class":131},[111,14778,1726],{"class":145},[111,14780,14781],{"class":135},"\"${joint_name}_trans\"",[111,14783,2427],{"class":145},[111,14785,14786,14788,14791,14794,14796],{"class":113,"line":163},[111,14787,3322],{"class":145},[111,14789,14790],{"class":2415},"type",[111,14792,14793],{"class":145},">transmission_interface\u002FSimpleTransmission\u003C\u002F",[111,14795,14790],{"class":2415},[111,14797,2427],{"class":145},[111,14799,14800,14802,14805,14807,14809,14812],{"class":113,"line":175},[111,14801,3322],{"class":145},[111,14803,14804],{"class":2415},"joint",[111,14806,2419],{"class":131},[111,14808,1726],{"class":145},[111,14810,14811],{"class":135},"\"${joint_name}\"",[111,14813,2427],{"class":145},[111,14815,14816,14819,14822,14825,14827],{"class":113,"line":180},[111,14817,14818],{"class":145},"                \u003C",[111,14820,14821],{"class":2415},"hardwareInterface",[111,14823,14824],{"class":145},">hardware_interface\u002FVelocityJointInterface\u003C\u002F",[111,14826,14821],{"class":2415},[111,14828,2427],{"class":145},[111,14830,14831,14833,14835],{"class":113,"line":186},[111,14832,3361],{"class":145},[111,14834,14804],{"class":2415},[111,14836,2427],{"class":145},[111,14838,14839,14841,14844,14846,14848,14851],{"class":113,"line":433},[111,14840,3322],{"class":145},[111,14842,14843],{"class":2415},"actuator",[111,14845,2419],{"class":131},[111,14847,1726],{"class":145},[111,14849,14850],{"class":135},"\"${joint_name}_motor\"",[111,14852,2427],{"class":145},[111,14854,14855,14857,14859,14861,14863],{"class":113,"line":439},[111,14856,14818],{"class":145},[111,14858,14821],{"class":2415},[111,14860,14824],{"class":145},[111,14862,14821],{"class":2415},[111,14864,2427],{"class":145},[111,14866,14867,14869,14872,14874,14876],{"class":113,"line":445},[111,14868,14818],{"class":145},[111,14870,14871],{"class":2415},"mechanicalReduction",[111,14873,3029],{"class":145},[111,14875,14871],{"class":2415},[111,14877,2427],{"class":145},[111,14879,14880,14882,14884],{"class":113,"line":451},[111,14881,3361],{"class":145},[111,14883,14843],{"class":2415},[111,14885,2427],{"class":145},[111,14887,14888,14890,14892],{"class":113,"line":1703},[111,14889,2869],{"class":145},[111,14891,14774],{"class":2415},[111,14893,2427],{"class":145},[111,14895,14896,14898,14900],{"class":113,"line":1715},[111,14897,2530],{"class":145},[111,14899,2590],{"class":2415},[111,14901,2427],{"class":145},[111,14903,14904],{"class":113,"line":1720},[111,14905,118],{"emptyLinePlaceholder":117},[111,14907,14908,14910,14913,14916,14918,14921],{"class":113,"line":1737},[111,14909,2449],{"class":145},[111,14911,14912],{"class":2415},"xacro:joint_trans",[111,14914,14915],{"class":131}," joint_name",[111,14917,1726],{"class":145},[111,14919,14920],{"class":135},"\"LeftFrontwheelToBase\"",[111,14922,2473],{"class":145},[111,14924,14925,14927,14929,14931,14933,14936],{"class":113,"line":1752},[111,14926,2449],{"class":145},[111,14928,14912],{"class":2415},[111,14930,14915],{"class":131},[111,14932,1726],{"class":145},[111,14934,14935],{"class":135},"\"LeftBackwheelToBase\"",[111,14937,2473],{"class":145},[111,14939,14940,14942,14944,14946,14948,14951],{"class":113,"line":1774},[111,14941,2449],{"class":145},[111,14943,14912],{"class":2415},[111,14945,14915],{"class":131},[111,14947,1726],{"class":145},[111,14949,14950],{"class":135},"\"RightFrontwheelToBase\"",[111,14952,2473],{"class":145},[111,14954,14955,14957,14959,14961,14963,14966],{"class":113,"line":1779},[111,14956,2449],{"class":145},[111,14958,14912],{"class":2415},[111,14960,14915],{"class":131},[111,14962,1726],{"class":145},[111,14964,14965],{"class":135},"\"RightBackwheelToBase\"",[111,14967,2473],{"class":145},[111,14969,14970],{"class":113,"line":1790},[111,14971,118],{"emptyLinePlaceholder":117},[111,14973,14974,14976,14978],{"class":113,"line":1796},[111,14975,2449],{"class":145},[111,14977,14050],{"class":2415},[111,14979,2427],{"class":145},[111,14981,14982,14984,14986,14988,14990,14993,14995,14997,15000],{"class":113,"line":1814},[111,14983,2633],{"class":145},[111,14985,3062],{"class":2415},[111,14987,2419],{"class":131},[111,14989,1726],{"class":145},[111,14991,14992],{"class":135},"\"mecanum_controller\"",[111,14994,3072],{"class":131},[111,14996,1726],{"class":145},[111,14998,14999],{"class":135},"\"libgazebo_ros_planar_move.so\"",[111,15001,2427],{"class":145},[111,15003,15004,15006,15009,15012,15014],{"class":113,"line":1826},[111,15005,3322],{"class":145},[111,15007,15008],{"class":2415},"commandTopic",[111,15010,15011],{"class":145},">cmd_vel\u003C\u002F",[111,15013,15008],{"class":2415},[111,15015,2427],{"class":145},[111,15017,15018,15020,15023,15025,15027],{"class":113,"line":1844},[111,15019,3322],{"class":145},[111,15021,15022],{"class":2415},"odometryTopic",[111,15024,14154],{"class":145},[111,15026,15022],{"class":2415},[111,15028,2427],{"class":145},[111,15030,15031,15033,15036,15038,15040],{"class":113,"line":1850},[111,15032,3322],{"class":145},[111,15034,15035],{"class":2415},"odometryFrame",[111,15037,14154],{"class":145},[111,15039,15035],{"class":2415},[111,15041,2427],{"class":145},[111,15043,15044,15046,15049,15052,15054],{"class":113,"line":1856},[111,15045,3322],{"class":145},[111,15047,15048],{"class":2415},"leftFrontJoint",[111,15050,15051],{"class":145},">LeftFrontwheelToBase\u003C\u002F",[111,15053,15048],{"class":2415},[111,15055,2427],{"class":145},[111,15057,15058,15060,15063,15066,15068],{"class":113,"line":1861},[111,15059,3322],{"class":145},[111,15061,15062],{"class":2415},"rightFrontJoint",[111,15064,15065],{"class":145},">RightFrontwheelToBase\u003C\u002F",[111,15067,15062],{"class":2415},[111,15069,2427],{"class":145},[111,15071,15072,15074,15077,15080,15082],{"class":113,"line":1867},[111,15073,3322],{"class":145},[111,15075,15076],{"class":2415},"leftRearJoint",[111,15078,15079],{"class":145},">LeftBackwheelToBase\u003C\u002F",[111,15081,15076],{"class":2415},[111,15083,2427],{"class":145},[111,15085,15086,15088,15091,15094,15096],{"class":113,"line":1878},[111,15087,3322],{"class":145},[111,15089,15090],{"class":2415},"rightRearJoint",[111,15092,15093],{"class":145},">RightBackwheelToBase\u003C\u002F",[111,15095,15090],{"class":2415},[111,15097,2427],{"class":145},[111,15099,15100,15102,15105,15107,15109],{"class":113,"line":1892},[111,15101,3322],{"class":145},[111,15103,15104],{"class":2415},"odometryRate",[111,15106,3622],{"class":145},[111,15108,15104],{"class":2415},[111,15110,2427],{"class":145},[111,15112,15113,15115,15118,15120,15122],{"class":113,"line":1904},[111,15114,3322],{"class":145},[111,15116,15117],{"class":2415},"robotBaseFrame",[111,15119,14168],{"class":145},[111,15121,15117],{"class":2415},[111,15123,2427],{"class":145},[111,15125,15126,15128,15131,15133,15135],{"class":113,"line":1931},[111,15127,3322],{"class":145},[111,15129,15130],{"class":2415},"broadcastTF",[111,15132,3029],{"class":145},[111,15134,15130],{"class":2415},[111,15136,2427],{"class":145},[111,15138,15139,15141,15143],{"class":113,"line":1947},[111,15140,2869],{"class":145},[111,15142,3062],{"class":2415},[111,15144,2427],{"class":145},[111,15146,15147,15149,15151],{"class":113,"line":1952},[111,15148,2530],{"class":145},[111,15150,14050],{"class":2415},[111,15152,2427],{"class":145},[111,15154,15155],{"class":113,"line":1957},[111,15156,118],{"emptyLinePlaceholder":117},[111,15158,15159,15161,15163],{"class":113,"line":1963},[111,15160,2548],{"class":145},[111,15162,2416],{"class":2415},[111,15164,2427],{"class":145},[15,15166,15167],{},[50,15168,15169],{},"Modify the launch file",[15,15171,13300,15172,15174],{},[108,15173,9146],{}," file. The modified code is as follows:",[101,15176,15178],{"className":1576,"code":15177,"language":1578,"meta":106,"style":106},"import os\n\nfrom ament_index_python.packages import get_package_share_directory\n\nfrom launch import LaunchDescription\nfrom launch.actions import IncludeLaunchDescription\nfrom launch.launch_description_sources import PythonLaunchDescriptionSource\nfrom launch_ros.actions import Node\n\ndef generate_launch_description():\n\n    this_pkg = get_package_share_directory(\"demo_gazebo_sim\")\n    mycar_desc_pkg = get_package_share_directory(\"mycar_description\")\n    pkg_ros_gz_sim = get_package_share_directory(\"ros_gz_sim\")\n    world_file = os.path.join(this_pkg,\"world\",\"base.sdf\")\n\n    gz_sim = IncludeLaunchDescription(\n        PythonLaunchDescriptionSource(\n            os.path.join(pkg_ros_gz_sim, \"launch\", \"gz_sim.launch.py\")),\n        launch_arguments={\n            \"gz_args\": \"-r \" + world_file\n        }.items(),\n    )\n    mycar_desc = IncludeLaunchDescription(\n        PythonLaunchDescriptionSource(\n            os.path.join(mycar_desc_pkg,\"launch\",\"mycar_desc_sim.launch.py\")\n        )\n    )\n    spawn = Node(package=\"ros_gz_sim\", executable=\"create\",\n                arguments=[\n                \"-name\", \"mycar\",\n                \"-x\", \"-4\",\n                \"-z\", \"0.01\", #设置为0,可能会陷进地里\n                \"-y\", \"0\",\n                \"-topic\", \"\u002Frobot_description\"],\n            output=\"screen\")\n\n    # Bridge\n    bridge = Node(\n        package=\"ros_gz_bridge\",\n        executable=\"parameter_bridge\",\n        arguments=[\"\u002Fcmd_vel@geometry_msgs\u002Fmsg\u002FTwist@gz.msgs.Twist\",\n                   \"\u002Fmodel\u002Fmycar\u002Fodometry@nav_msgs\u002Fmsg\u002FOdometry@gz.msgs.Odometry\",\n                   \"\u002Fmodel\u002Fmycar\u002Ftf@tf2_msgs\u002Fmsg\u002FTFMessage[gz.msgs.Pose_V\",\n                   \"\u002Fclock@rosgraph_msgs\u002Fmsg\u002FClock[gz.msgs.Clock\",\n                   \"\u002Fworld\u002Fempty\u002Fmodel\u002Fmycar\u002Fjoint_state@sensor_msgs\u002Fmsg\u002FJointState[gz.msgs.Model\",\n                   ],\n        parameters=[{\"qos_overrides.\u002Fmodel\u002Fmycar.subscriber.reliability\": \"reliable\"}],\n        remappings=[\n                (\"\u002Fmodel\u002Fmycar\u002Ftf\", \"\u002Ftf\"),\n                (\"\u002Fworld\u002Fempty\u002Fmodel\u002Fmycar\u002Fjoint_state\",\"joint_states\"),\n                (\"\u002Fmodel\u002Fmycar\u002Fodometry\",\"\u002Fodom\")\n            ],\n        output=\"screen\"\n    )\n\n    return LaunchDescription([\n        gz_sim,\n        spawn,\n        mycar_desc,\n        bridge\n    ])\n",[108,15179,15180,15186,15190,15200,15204,15214,15224,15234,15244,15248,15256,15260,15272,15284,15296,15313,15317,15325,15329,15341,15349,15361,15365,15369,15377,15381,15393,15397,15401,15425,15433,15443,15454,15466,15476,15486,15496,15500,15504,15512,15523,15534,15547,15554,15561,15568,15575,15579,15597,15605,15619,15633,15647,15651,15660,15664,15668,15674,15678,15682,15686,15691],{"__ignoreMap":106},[111,15181,15182,15184],{"class":113,"line":114},[111,15183,1585],{"class":773},[111,15185,1588],{"class":145},[111,15187,15188],{"class":113,"line":121},[111,15189,118],{"emptyLinePlaceholder":117},[111,15191,15192,15194,15196,15198],{"class":113,"line":128},[111,15193,1597],{"class":773},[111,15195,1600],{"class":145},[111,15197,1585],{"class":773},[111,15199,1605],{"class":145},[111,15201,15202],{"class":113,"line":152},[111,15203,118],{"emptyLinePlaceholder":117},[111,15205,15206,15208,15210,15212],{"class":113,"line":157},[111,15207,1597],{"class":773},[111,15209,1616],{"class":145},[111,15211,1585],{"class":773},[111,15213,1621],{"class":145},[111,15215,15216,15218,15220,15222],{"class":113,"line":163},[111,15217,1597],{"class":773},[111,15219,1628],{"class":145},[111,15221,1585],{"class":773},[111,15223,1644],{"class":145},[111,15225,15226,15228,15230,15232],{"class":113,"line":175},[111,15227,1597],{"class":773},[111,15229,1663],{"class":145},[111,15231,1585],{"class":773},[111,15233,1668],{"class":145},[111,15235,15236,15238,15240,15242],{"class":113,"line":180},[111,15237,1597],{"class":773},[111,15239,1691],{"class":145},[111,15241,1585],{"class":773},[111,15243,1696],{"class":145},[111,15245,15246],{"class":113,"line":186},[111,15247,118],{"emptyLinePlaceholder":117},[111,15249,15250,15252,15254],{"class":113,"line":433},[111,15251,1706],{"class":773},[111,15253,1709],{"class":131},[111,15255,1712],{"class":145},[111,15257,15258],{"class":113,"line":439},[111,15259,118],{"emptyLinePlaceholder":117},[111,15261,15262,15264,15266,15268,15270],{"class":113,"line":445},[111,15263,1723],{"class":145},[111,15265,1726],{"class":773},[111,15267,1729],{"class":145},[111,15269,13399],{"class":135},[111,15271,1479],{"class":145},[111,15273,15274,15276,15278,15280,15282],{"class":113,"line":451},[111,15275,13406],{"class":145},[111,15277,1726],{"class":773},[111,15279,1729],{"class":145},[111,15281,13125],{"class":135},[111,15283,1479],{"class":145},[111,15285,15286,15288,15290,15292,15294],{"class":113,"line":1703},[111,15287,1740],{"class":145},[111,15289,1726],{"class":773},[111,15291,1729],{"class":145},[111,15293,13425],{"class":135},[111,15295,1479],{"class":145},[111,15297,15298,15300,15302,15304,15306,15308,15311],{"class":113,"line":1715},[111,15299,1755],{"class":145},[111,15301,1726],{"class":773},[111,15303,1760],{"class":145},[111,15305,9256],{"class":135},[111,15307,1766],{"class":145},[111,15309,15310],{"class":135},"\"base.sdf\"",[111,15312,1479],{"class":145},[111,15314,15315],{"class":113,"line":1720},[111,15316,118],{"emptyLinePlaceholder":117},[111,15318,15319,15321,15323],{"class":113,"line":1737},[111,15320,1782],{"class":145},[111,15322,1726],{"class":773},[111,15324,1787],{"class":145},[111,15326,15327],{"class":113,"line":1752},[111,15328,1793],{"class":145},[111,15330,15331,15333,15335,15337,15339],{"class":113,"line":1774},[111,15332,1799],{"class":145},[111,15334,13466],{"class":135},[111,15336,1805],{"class":145},[111,15338,13471],{"class":135},[111,15340,1811],{"class":145},[111,15342,15343,15345,15347],{"class":113,"line":1779},[111,15344,1818],{"class":1817},[111,15346,1726],{"class":773},[111,15348,1823],{"class":145},[111,15350,15351,15353,15355,15357,15359],{"class":113,"line":1790},[111,15352,13486],{"class":135},[111,15354,1832],{"class":145},[111,15356,13491],{"class":135},[111,15358,1838],{"class":773},[111,15360,1841],{"class":145},[111,15362,15363],{"class":113,"line":1796},[111,15364,1847],{"class":145},[111,15366,15367],{"class":113,"line":1814},[111,15368,1853],{"class":145},[111,15370,15371,15373,15375],{"class":113,"line":1826},[111,15372,13508],{"class":145},[111,15374,1726],{"class":773},[111,15376,1787],{"class":145},[111,15378,15379],{"class":113,"line":1844},[111,15380,1793],{"class":145},[111,15382,15383,15385,15387,15389,15391],{"class":113,"line":1850},[111,15384,13521],{"class":145},[111,15386,13466],{"class":135},[111,15388,1766],{"class":145},[111,15390,13528],{"class":135},[111,15392,1479],{"class":145},[111,15394,15395],{"class":113,"line":1856},[111,15396,13535],{"class":145},[111,15398,15399],{"class":113,"line":1861},[111,15400,1853],{"class":145},[111,15402,15403,15405,15407,15409,15411,15413,15415,15417,15419,15421,15423],{"class":113,"line":1867},[111,15404,13544],{"class":145},[111,15406,1726],{"class":773},[111,15408,13549],{"class":145},[111,15410,13552],{"class":1817},[111,15412,1726],{"class":773},[111,15414,13425],{"class":135},[111,15416,1805],{"class":145},[111,15418,13561],{"class":1817},[111,15420,1726],{"class":773},[111,15422,13566],{"class":135},[111,15424,1889],{"class":145},[111,15426,15427,15429,15431],{"class":113,"line":1878},[111,15428,13573],{"class":1817},[111,15430,1726],{"class":773},[111,15432,2066],{"class":145},[111,15434,15435,15437,15439,15441],{"class":113,"line":1892},[111,15436,13582],{"class":135},[111,15438,1805],{"class":145},[111,15440,13587],{"class":135},[111,15442,1889],{"class":145},[111,15444,15445,15447,15449,15452],{"class":113,"line":1904},[111,15446,13594],{"class":135},[111,15448,1805],{"class":145},[111,15450,15451],{"class":135},"\"-4\"",[111,15453,1889],{"class":145},[111,15455,15456,15458,15460,15462,15464],{"class":113,"line":1931},[111,15457,13606],{"class":135},[111,15459,1805],{"class":145},[111,15461,13611],{"class":135},[111,15463,1805],{"class":145},[111,15465,13616],{"class":124},[111,15467,15468,15470,15472,15474],{"class":113,"line":1947},[111,15469,13621],{"class":135},[111,15471,1805],{"class":145},[111,15473,13599],{"class":135},[111,15475,1889],{"class":145},[111,15477,15478,15480,15482,15484],{"class":113,"line":1952},[111,15479,13632],{"class":135},[111,15481,1805],{"class":145},[111,15483,13637],{"class":135},[111,15485,13640],{"class":145},[111,15487,15488,15490,15492,15494],{"class":113,"line":1957},[111,15489,13645],{"class":1817},[111,15491,1726],{"class":773},[111,15493,13650],{"class":135},[111,15495,1479],{"class":145},[111,15497,15498],{"class":113,"line":1963},[111,15499,118],{"emptyLinePlaceholder":117},[111,15501,15502],{"class":113,"line":1973},[111,15503,1960],{"class":124},[111,15505,15506,15508,15510],{"class":113,"line":1986},[111,15507,1966],{"class":145},[111,15509,1726],{"class":773},[111,15511,1875],{"class":145},[111,15513,15514,15516,15518,15521],{"class":113,"line":1999},[111,15515,1976],{"class":1817},[111,15517,1726],{"class":773},[111,15519,15520],{"class":135},"\"ros_gz_bridge\"",[111,15522,1889],{"class":145},[111,15524,15525,15527,15529,15532],{"class":113,"line":2014},[111,15526,1989],{"class":1817},[111,15528,1726],{"class":773},[111,15530,15531],{"class":135},"\"parameter_bridge\"",[111,15533,1889],{"class":145},[111,15535,15536,15538,15540,15542,15545],{"class":113,"line":2022},[111,15537,2002],{"class":1817},[111,15539,1726],{"class":773},[111,15541,811],{"class":145},[111,15543,15544],{"class":135},"\"\u002Fcmd_vel@geometry_msgs\u002Fmsg\u002FTwist@gz.msgs.Twist\"",[111,15546,1889],{"class":145},[111,15548,15549,15552],{"class":113,"line":2030},[111,15550,15551],{"class":135},"                   \"\u002Fmodel\u002Fmycar\u002Fodometry@nav_msgs\u002Fmsg\u002FOdometry@gz.msgs.Odometry\"",[111,15553,1889],{"class":145},[111,15555,15556,15559],{"class":113,"line":2036},[111,15557,15558],{"class":135},"                   \"\u002Fmodel\u002Fmycar\u002Ftf@tf2_msgs\u002Fmsg\u002FTFMessage[gz.msgs.Pose_V\"",[111,15560,1889],{"class":145},[111,15562,15563,15566],{"class":113,"line":2058},[111,15564,15565],{"class":135},"                   \"\u002Fclock@rosgraph_msgs\u002Fmsg\u002FClock[gz.msgs.Clock\"",[111,15567,1889],{"class":145},[111,15569,15570,15573],{"class":113,"line":2069},[111,15571,15572],{"class":135},"                   \"\u002Fworld\u002Fempty\u002Fmodel\u002Fmycar\u002Fjoint_state@sensor_msgs\u002Fmsg\u002FJointState[gz.msgs.Model\"",[111,15574,1889],{"class":145},[111,15576,15577],{"class":113,"line":2086},[111,15578,2033],{"class":145},[111,15580,15581,15583,15585,15587,15590,15592,15595],{"class":113,"line":2101},[111,15582,2039],{"class":1817},[111,15584,1726],{"class":773},[111,15586,2044],{"class":145},[111,15588,15589],{"class":135},"\"qos_overrides.\u002Fmodel\u002Fmycar.subscriber.reliability\"",[111,15591,1832],{"class":145},[111,15593,15594],{"class":135},"\"reliable\"",[111,15596,2055],{"class":145},[111,15598,15599,15601,15603],{"class":113,"line":2107},[111,15600,2061],{"class":1817},[111,15602,1726],{"class":773},[111,15604,2066],{"class":145},[111,15606,15607,15609,15612,15614,15617],{"class":113,"line":2118},[111,15608,2072],{"class":145},[111,15610,15611],{"class":135},"\"\u002Fmodel\u002Fmycar\u002Ftf\"",[111,15613,1805],{"class":145},[111,15615,15616],{"class":135},"\"\u002Ftf\"",[111,15618,2083],{"class":145},[111,15620,15621,15623,15626,15628,15631],{"class":113,"line":2123},[111,15622,2072],{"class":145},[111,15624,15625],{"class":135},"\"\u002Fworld\u002Fempty\u002Fmodel\u002Fmycar\u002Fjoint_state\"",[111,15627,1766],{"class":145},[111,15629,15630],{"class":135},"\"joint_states\"",[111,15632,2083],{"class":145},[111,15634,15635,15637,15640,15642,15645],{"class":113,"line":2128},[111,15636,2072],{"class":145},[111,15638,15639],{"class":135},"\"\u002Fmodel\u002Fmycar\u002Fodometry\"",[111,15641,1766],{"class":145},[111,15643,15644],{"class":135},"\"\u002Fodom\"",[111,15646,1479],{"class":145},[111,15648,15649],{"class":113,"line":2137},[111,15650,2104],{"class":145},[111,15652,15653,15655,15657],{"class":113,"line":2143},[111,15654,2110],{"class":1817},[111,15656,1726],{"class":773},[111,15658,15659],{"class":135},"\"screen\"\n",[111,15661,15662],{"class":113,"line":2163},[111,15663,1853],{"class":145},[111,15665,15666],{"class":113,"line":2176},[111,15667,118],{"emptyLinePlaceholder":117},[111,15669,15670,15672],{"class":113,"line":2182},[111,15671,2131],{"class":773},[111,15673,2134],{"class":145},[111,15675,15676],{"class":113,"line":2188},[111,15677,2140],{"class":145},[111,15679,15680],{"class":113,"line":3676},[111,15681,13671],{"class":145},[111,15683,15684],{"class":113,"line":3689},[111,15685,13676],{"class":145},[111,15687,15688],{"class":113,"line":3703},[111,15689,15690],{"class":145},"        bridge\n",[111,15692,15693],{"class":113,"line":3716},[111,15694,2191],{"class":145},[15,15696,15697],{},[50,15698,2204],{},[15,15700,2207],{},[101,15702,15703],{"className":103,"code":13689,"language":105,"meta":106,"style":106},[108,15704,15705],{"__ignoreMap":106},[111,15706,15707,15709,15711,15713,15715],{"class":113,"line":114},[111,15708,2217],{"class":131},[111,15710,2220],{"class":135},[111,15712,13700],{"class":575},[111,15714,13703],{"class":135},[111,15716,1445],{"class":135},[15,15718,15719],{},[50,15720,2235],{},[15,15722,2238],{},[101,15724,15726],{"className":103,"code":15725,"language":105,"meta":106,"style":106},". install\u002Fsetup.bash\nexport MYCAR_MODEL=stm32_4w # MYCAR_MODEL值可以设置为arduino、stm32_2w 或stm32_4w（这个是具体的urdf文件名，在mycar_description包下的）\nros2 launch demo_gazebo_sim gazebo_sim_world.launch.py\n",[108,15727,15728,15734,15747],{"__ignoreMap":106},[111,15729,15730,15732],{"class":113,"line":114},[111,15731,2248],{"class":575},[111,15733,2251],{"class":135},[111,15735,15736,15738,15740,15742,15745],{"class":113,"line":121},[111,15737,9459],{"class":773},[111,15739,13739],{"class":145},[111,15741,1726],{"class":773},[111,15743,15744],{"class":145},"stm32_4w ",[111,15746,13732],{"class":124},[111,15748,15749,15751,15753,15755],{"class":113,"line":128},[111,15750,262],{"class":131},[111,15752,265],{"class":135},[111,15754,2260],{"class":135},[111,15756,9384],{"class":135},[15,15758,15759],{},"Restart the keyboard control node, and you can control the robot's movement.",[101,15761,15762],{"className":103,"code":2269,"language":105,"meta":106,"style":106},[108,15763,15764],{"__ignoreMap":106},[111,15765,15766,15768,15770,15772],{"class":113,"line":114},[111,15767,262],{"class":131},[111,15769,665],{"class":135},[111,15771,713],{"class":135},[111,15773,2282],{"class":135},[15,15775,15776],{},"You can also launch rviz2 to view odometry messages and coordinate transforms. In the terminal, navigate to the current workspace and execute the following command to run the launch file:",[15,15778,15779],{},"Start rviz2",[101,15781,15783],{"className":103,"code":15782,"language":105,"meta":106,"style":106},". install\u002Fsetup.bash\nrviz2\n",[108,15784,15785,15791],{"__ignoreMap":106},[111,15786,15787,15789],{"class":113,"line":114},[111,15788,2248],{"class":575},[111,15790,2251],{"class":135},[111,15792,15793],{"class":113,"line":121},[111,15794,15795],{"class":131},"rviz2\n",[15,15797,15798],{},"The RVIZ2 software configuration is shown in the following image:",[15,15800,15801,15804],{},[199,15802],{"alt":106,"src":15803},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1735.webp",[199,15805],{"alt":106,"src":15806},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1736.webp",[15,15808,15809],{},[199,15810],{"alt":106,"src":15811},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1737.webp",[27,15813,15815],{"id":15814},"ignition-gazebo-simulation-sensors","Ignition Gazebo Simulation: Sensors",[15,15817,15818],{},"This section will introduce how to add sensors such as LiDAR and cameras to a simulated robot. The code in this section is fully universal for the robot models covered in our tutorial, including Arduino, STM32_2W, and STM32_4W.",[15,15820,15821],{},[50,15822,15823],{},"Adding Sensor Plugins",[15,15825,15826,15827,15830,15831,14034],{},"Before simulating the sensor, you need to add a plugin named ",[108,15828,15829],{},"ignition-gazebo-sensors-system",". Open the URDF file and add the following code inside the ",[108,15832,14033],{},[101,15834,15836],{"className":2403,"code":15835,"language":2405,"meta":106,"style":106},"\n\u003Cgazebo>\n    \u003Cplugin\n      filename=\"ignition-gazebo-sensors-system\"\n      name=\"ignition::gazebo::systems::Sensors\">\n      \u003Crender_engine>ogre2\u003C\u002Frender_engine>\n    \u003C\u002Fplugin>\n  \u003C\u002Fgazebo>\n",[108,15837,15838,15842,15850,15856,15866,15877,15891,15899],{"__ignoreMap":106},[111,15839,15840],{"class":113,"line":114},[111,15841,118],{"emptyLinePlaceholder":117},[111,15843,15844,15846,15848],{"class":113,"line":121},[111,15845,2412],{"class":145},[111,15847,14050],{"class":2415},[111,15849,2427],{"class":145},[111,15851,15852,15854],{"class":113,"line":128},[111,15853,2449],{"class":145},[111,15855,14399],{"class":2415},[111,15857,15858,15861,15863],{"class":113,"line":152},[111,15859,15860],{"class":131},"      filename",[111,15862,1726],{"class":145},[111,15864,15865],{"class":135},"\"ignition-gazebo-sensors-system\"\n",[111,15867,15868,15870,15872,15875],{"class":113,"line":157},[111,15869,14344],{"class":131},[111,15871,1726],{"class":145},[111,15873,15874],{"class":135},"\"ignition::gazebo::systems::Sensors\"",[111,15876,2427],{"class":145},[111,15878,15879,15881,15884,15887,15889],{"class":113,"line":163},[111,15880,2459],{"class":145},[111,15882,15883],{"class":2415},"render_engine",[111,15885,15886],{"class":145},">ogre2\u003C\u002F",[111,15888,15883],{"class":2415},[111,15890,2427],{"class":145},[111,15892,15893,15895,15897],{"class":113,"line":175},[111,15894,2530],{"class":145},[111,15896,3062],{"class":2415},[111,15898,2427],{"class":145},[111,15900,15901,15903,15905],{"class":113,"line":180},[111,15902,2539],{"class":145},[111,15904,14050],{"class":2415},[111,15906,2427],{"class":145},[15,15908,15909],{},"The ignition-gazebo-sensors-system is a plugin for the Ignition Gazebo simulation environment, providing sensor models and related functionality for creating, simulating, and testing various sensor devices. It includes common sensor models such as cameras, LiDAR, and others.",[15,15911,15912],{},[50,15913,15914],{},"Adding Various Sensors",[15,15916,15917],{},[50,15918,15919],{},"(Note: Your model must include models for the following sensors)",[15,15921,15922],{},"The radar model does not need collision. Please delete it, otherwise it will block the laser emission.",[101,15924,15926],{"className":2403,"code":15925,"language":2405,"meta":106,"style":106},"\n  \u003Cgazebo reference=\"laser\">\n    \u003Csensor name='gpu_lidar' type='gpu_lidar'>\n      \u003Ctopic>scan\u003C\u002Ftopic>\n      \u003Cupdate_rate>30\u003C\u002Fupdate_rate>\n      \u003Clidar>\n        \u003Cscan>\n          \u003Chorizontal>\n            \u003Csamples>640\u003C\u002Fsamples>\n            \u003Cresolution>1\u003C\u002Fresolution>\n            \u003Cmin_angle>-3.1415926\u003C\u002Fmin_angle>\n            \u003Cmax_angle>3.1415926\u003C\u002Fmax_angle>\n          \u003C\u002Fhorizontal>\n          \u003Cvertical>\n            \u003Csamples>16\u003C\u002Fsamples>\n            \u003Cresolution>1\u003C\u002Fresolution>\n            \u003Cmin_angle>-0.261799\u003C\u002Fmin_angle>\n            \u003Cmax_angle>0.261799\u003C\u002Fmax_angle>\n          \u003C\u002Fvertical>\n        \u003C\u002Fscan>\n        \u003Crange>\n          \u003Cmin>0.08\u003C\u002Fmin>\n          \u003Cmax>10.0\u003C\u002Fmax>\n          \u003Cresolution>0.01\u003C\u002Fresolution>\n        \u003C\u002Frange>\n      \u003C\u002Flidar>\n      \u003CalwaysOn>1\u003C\u002FalwaysOn>\n      \u003Cvisualize>true\u003C\u002Fvisualize>\n      \u003Cignition_frame_id>laser\u003C\u002Fignition_frame_id>\n    \u003C\u002Fsensor>\n  \u003C\u002Fgazebo>\n\n  \u003Cgazebo reference=\"camera\" >\n    \u003Csensor name=\"cam_link\" type=\"camera\">\n      \u003Cupdate_rate>10.0\u003C\u002Fupdate_rate>\n      \u003Calways_on>true\u003C\u002Falways_on>\n      \u003Cignition_frame_id>camera\u003C\u002Fignition_frame_id>\n      \u003Cpose>0 0 0 0 0 0\u003C\u002Fpose>\n      \u003Ctopic>\u002Fimage_raw\u003C\u002Ftopic>\n      \u003Ccamera name=\"my_camera\">\n        \u003Chorizontal_fov>1.3962634\u003C\u002Fhorizontal_fov>\n        \u003Cimage>\n           \u003Cwidth>600\u003C\u002Fwidth>\n           \u003Cheight>600\u003C\u002Fheight>\n           \u003Cformat>R8G8B8\u003C\u002Fformat>\n        \u003C\u002Fimage>\n        \u003Cclip>\n          \u003Cnear>0.02\u003C\u002Fnear>\n          \u003Cfar>300\u003C\u002Ffar>\n        \u003C\u002Fclip>\n      \u003C\u002Fcamera>\n    \u003C\u002Fsensor>\n  \u003C\u002Fgazebo>\n\n  \u003Cgazebo reference=\"camera\">\n    \u003Csensor name=\"depth_camera\" type=\"depth_camera\">\n          \u003Cupdate_rate>10\u003C\u002Fupdate_rate>\n          \u003Ctopic>depth_camera\u003C\u002Ftopic>\n          \u003Ccamera>\n            \u003Chorizontal_fov>1.05\u003C\u002Fhorizontal_fov>\n            \u003Cimage>\n              \u003Cwidth>256\u003C\u002Fwidth>\n              \u003Cheight>256\u003C\u002Fheight>\n              \u003Cformat>R_FLOAT32\u003C\u002Fformat>\n            \u003C\u002Fimage>\n            \u003Cclip>\n              \u003Cnear>0.1\u003C\u002Fnear>\n              \u003Cfar>10.0\u003C\u002Ffar>\n            \u003C\u002Fclip>\n          \u003C\u002Fcamera>\n          \u003CalwaysOn>1\u003C\u002FalwaysOn>\n          \u003Cignition_frame_id>camera\u003C\u002Fignition_frame_id>\n      \u003C\u002Fsensor>\n  \u003C\u002Fgazebo>\n",[108,15927,15928,15932,15948,15970,15983,15996,16005,16014,16023,16037,16050,16064,16078,16086,16095,16108,16120,16133,16146,16154,16162,16170,16184,16198,16210,16218,16226,16239,16252,16266,16274,16282,16286,16302,16323,16335,16348,16361,16374,16387,16403,16417,16426,16441,16454,16468,16476,16485,16499,16513,16521,16529,16537,16545,16549,16563,16584,16596,16609,16617,16630,16638,16651,16663,16676,16684,16692,16705,16717,16725,16733,16745,16757,16765],{"__ignoreMap":106},[111,15929,15930],{"class":113,"line":114},[111,15931,118],{"emptyLinePlaceholder":117},[111,15933,15934,15936,15938,15941,15943,15946],{"class":113,"line":121},[111,15935,2432],{"class":145},[111,15937,14050],{"class":2415},[111,15939,15940],{"class":131}," reference",[111,15942,1726],{"class":145},[111,15944,15945],{"class":135},"\"laser\"",[111,15947,2427],{"class":145},[111,15949,15950,15952,15955,15957,15959,15962,15964,15966,15968],{"class":113,"line":128},[111,15951,2449],{"class":145},[111,15953,15954],{"class":2415},"sensor",[111,15956,2419],{"class":131},[111,15958,1726],{"class":145},[111,15960,15961],{"class":135},"'gpu_lidar'",[111,15963,2998],{"class":131},[111,15965,1726],{"class":145},[111,15967,15961],{"class":135},[111,15969,2427],{"class":145},[111,15971,15972,15974,15976,15979,15981],{"class":113,"line":152},[111,15973,2459],{"class":145},[111,15975,14179],{"class":2415},[111,15977,15978],{"class":145},">scan\u003C\u002F",[111,15980,14179],{"class":2415},[111,15982,2427],{"class":145},[111,15984,15985,15987,15989,15992,15994],{"class":113,"line":157},[111,15986,2459],{"class":145},[111,15988,13924],{"class":2415},[111,15990,15991],{"class":145},">30\u003C\u002F",[111,15993,13924],{"class":2415},[111,15995,2427],{"class":145},[111,15997,15998,16000,16003],{"class":113,"line":163},[111,15999,2459],{"class":145},[111,16001,16002],{"class":2415},"lidar",[111,16004,2427],{"class":145},[111,16006,16007,16009,16012],{"class":113,"line":175},[111,16008,2633],{"class":145},[111,16010,16011],{"class":2415},"scan",[111,16013,2427],{"class":145},[111,16015,16016,16018,16021],{"class":113,"line":180},[111,16017,2829],{"class":145},[111,16019,16020],{"class":2415},"horizontal",[111,16022,2427],{"class":145},[111,16024,16025,16027,16030,16033,16035],{"class":113,"line":186},[111,16026,3322],{"class":145},[111,16028,16029],{"class":2415},"samples",[111,16031,16032],{"class":145},">640\u003C\u002F",[111,16034,16029],{"class":2415},[111,16036,2427],{"class":145},[111,16038,16039,16041,16044,16046,16048],{"class":113,"line":433},[111,16040,3322],{"class":145},[111,16042,16043],{"class":2415},"resolution",[111,16045,3029],{"class":145},[111,16047,16043],{"class":2415},[111,16049,2427],{"class":145},[111,16051,16052,16054,16057,16060,16062],{"class":113,"line":439},[111,16053,3322],{"class":145},[111,16055,16056],{"class":2415},"min_angle",[111,16058,16059],{"class":145},">-3.1415926\u003C\u002F",[111,16061,16056],{"class":2415},[111,16063,2427],{"class":145},[111,16065,16066,16068,16071,16074,16076],{"class":113,"line":445},[111,16067,3322],{"class":145},[111,16069,16070],{"class":2415},"max_angle",[111,16072,16073],{"class":145},">3.1415926\u003C\u002F",[111,16075,16070],{"class":2415},[111,16077,2427],{"class":145},[111,16079,16080,16082,16084],{"class":113,"line":451},[111,16081,3370],{"class":145},[111,16083,16020],{"class":2415},[111,16085,2427],{"class":145},[111,16087,16088,16090,16093],{"class":113,"line":1703},[111,16089,2829],{"class":145},[111,16091,16092],{"class":2415},"vertical",[111,16094,2427],{"class":145},[111,16096,16097,16099,16101,16104,16106],{"class":113,"line":1715},[111,16098,3322],{"class":145},[111,16100,16029],{"class":2415},[111,16102,16103],{"class":145},">16\u003C\u002F",[111,16105,16029],{"class":2415},[111,16107,2427],{"class":145},[111,16109,16110,16112,16114,16116,16118],{"class":113,"line":1720},[111,16111,3322],{"class":145},[111,16113,16043],{"class":2415},[111,16115,3029],{"class":145},[111,16117,16043],{"class":2415},[111,16119,2427],{"class":145},[111,16121,16122,16124,16126,16129,16131],{"class":113,"line":1737},[111,16123,3322],{"class":145},[111,16125,16056],{"class":2415},[111,16127,16128],{"class":145},">-0.261799\u003C\u002F",[111,16130,16056],{"class":2415},[111,16132,2427],{"class":145},[111,16134,16135,16137,16139,16142,16144],{"class":113,"line":1752},[111,16136,3322],{"class":145},[111,16138,16070],{"class":2415},[111,16140,16141],{"class":145},">0.261799\u003C\u002F",[111,16143,16070],{"class":2415},[111,16145,2427],{"class":145},[111,16147,16148,16150,16152],{"class":113,"line":1774},[111,16149,3370],{"class":145},[111,16151,16092],{"class":2415},[111,16153,2427],{"class":145},[111,16155,16156,16158,16160],{"class":113,"line":1779},[111,16157,2869],{"class":145},[111,16159,16011],{"class":2415},[111,16161,2427],{"class":145},[111,16163,16164,16166,16168],{"class":113,"line":1790},[111,16165,2633],{"class":145},[111,16167,6010],{"class":2415},[111,16169,2427],{"class":145},[111,16171,16172,16174,16177,16180,16182],{"class":113,"line":1796},[111,16173,2829],{"class":145},[111,16175,16176],{"class":2415},"min",[111,16178,16179],{"class":145},">0.08\u003C\u002F",[111,16181,16176],{"class":2415},[111,16183,2427],{"class":145},[111,16185,16186,16188,16191,16194,16196],{"class":113,"line":1814},[111,16187,2829],{"class":145},[111,16189,16190],{"class":2415},"max",[111,16192,16193],{"class":145},">10.0\u003C\u002F",[111,16195,16190],{"class":2415},[111,16197,2427],{"class":145},[111,16199,16200,16202,16204,16206,16208],{"class":113,"line":1826},[111,16201,2829],{"class":145},[111,16203,16043],{"class":2415},[111,16205,6027],{"class":145},[111,16207,16043],{"class":2415},[111,16209,2427],{"class":145},[111,16211,16212,16214,16216],{"class":113,"line":1844},[111,16213,2869],{"class":145},[111,16215,6010],{"class":2415},[111,16217,2427],{"class":145},[111,16219,16220,16222,16224],{"class":113,"line":1850},[111,16221,2693],{"class":145},[111,16223,16002],{"class":2415},[111,16225,2427],{"class":145},[111,16227,16228,16230,16233,16235,16237],{"class":113,"line":1856},[111,16229,2459],{"class":145},[111,16231,16232],{"class":2415},"alwaysOn",[111,16234,3029],{"class":145},[111,16236,16232],{"class":2415},[111,16238,2427],{"class":145},[111,16240,16241,16243,16246,16248,16250],{"class":113,"line":1861},[111,16242,2459],{"class":145},[111,16244,16245],{"class":2415},"visualize",[111,16247,3237],{"class":145},[111,16249,16245],{"class":2415},[111,16251,2427],{"class":145},[111,16253,16254,16256,16259,16262,16264],{"class":113,"line":1867},[111,16255,2459],{"class":145},[111,16257,16258],{"class":2415},"ignition_frame_id",[111,16260,16261],{"class":145},">laser\u003C\u002F",[111,16263,16258],{"class":2415},[111,16265,2427],{"class":145},[111,16267,16268,16270,16272],{"class":113,"line":1878},[111,16269,2530],{"class":145},[111,16271,15954],{"class":2415},[111,16273,2427],{"class":145},[111,16275,16276,16278,16280],{"class":113,"line":1892},[111,16277,2539],{"class":145},[111,16279,14050],{"class":2415},[111,16281,2427],{"class":145},[111,16283,16284],{"class":113,"line":1904},[111,16285,118],{"emptyLinePlaceholder":117},[111,16287,16288,16290,16292,16294,16296,16299],{"class":113,"line":1931},[111,16289,2432],{"class":145},[111,16291,14050],{"class":2415},[111,16293,15940],{"class":131},[111,16295,1726],{"class":145},[111,16297,16298],{"class":135},"\"camera\"",[111,16300,16301],{"class":145}," >\n",[111,16303,16304,16306,16308,16310,16312,16315,16317,16319,16321],{"class":113,"line":1947},[111,16305,2449],{"class":145},[111,16307,15954],{"class":2415},[111,16309,2419],{"class":131},[111,16311,1726],{"class":145},[111,16313,16314],{"class":135},"\"cam_link\"",[111,16316,2998],{"class":131},[111,16318,1726],{"class":145},[111,16320,16298],{"class":135},[111,16322,2427],{"class":145},[111,16324,16325,16327,16329,16331,16333],{"class":113,"line":1952},[111,16326,2459],{"class":145},[111,16328,13924],{"class":2415},[111,16330,16193],{"class":145},[111,16332,13924],{"class":2415},[111,16334,2427],{"class":145},[111,16336,16337,16339,16342,16344,16346],{"class":113,"line":1957},[111,16338,2459],{"class":145},[111,16340,16341],{"class":2415},"always_on",[111,16343,3237],{"class":145},[111,16345,16341],{"class":2415},[111,16347,2427],{"class":145},[111,16349,16350,16352,16354,16357,16359],{"class":113,"line":1963},[111,16351,2459],{"class":145},[111,16353,16258],{"class":2415},[111,16355,16356],{"class":145},">camera\u003C\u002F",[111,16358,16258],{"class":2415},[111,16360,2427],{"class":145},[111,16362,16363,16365,16367,16370,16372],{"class":113,"line":1973},[111,16364,2459],{"class":145},[111,16366,3586],{"class":2415},[111,16368,16369],{"class":145},">0 0 0 0 0 0\u003C\u002F",[111,16371,3586],{"class":2415},[111,16373,2427],{"class":145},[111,16375,16376,16378,16380,16383,16385],{"class":113,"line":1986},[111,16377,2459],{"class":145},[111,16379,14179],{"class":2415},[111,16381,16382],{"class":145},">\u002Fimage_raw\u003C\u002F",[111,16384,14179],{"class":2415},[111,16386,2427],{"class":145},[111,16388,16389,16391,16394,16396,16398,16401],{"class":113,"line":1999},[111,16390,2459],{"class":145},[111,16392,16393],{"class":2415},"camera",[111,16395,2419],{"class":131},[111,16397,1726],{"class":145},[111,16399,16400],{"class":135},"\"my_camera\"",[111,16402,2427],{"class":145},[111,16404,16405,16407,16410,16413,16415],{"class":113,"line":2014},[111,16406,2633],{"class":145},[111,16408,16409],{"class":2415},"horizontal_fov",[111,16411,16412],{"class":145},">1.3962634\u003C\u002F",[111,16414,16409],{"class":2415},[111,16416,2427],{"class":145},[111,16418,16419,16421,16424],{"class":113,"line":2022},[111,16420,2633],{"class":145},[111,16422,16423],{"class":2415},"image",[111,16425,2427],{"class":145},[111,16427,16428,16431,16434,16437,16439],{"class":113,"line":2030},[111,16429,16430],{"class":145},"           \u003C",[111,16432,16433],{"class":2415},"width",[111,16435,16436],{"class":145},">600\u003C\u002F",[111,16438,16433],{"class":2415},[111,16440,2427],{"class":145},[111,16442,16443,16445,16448,16450,16452],{"class":113,"line":2036},[111,16444,16430],{"class":145},[111,16446,16447],{"class":2415},"height",[111,16449,16436],{"class":145},[111,16451,16447],{"class":2415},[111,16453,2427],{"class":145},[111,16455,16456,16458,16461,16464,16466],{"class":113,"line":2058},[111,16457,16430],{"class":145},[111,16459,16460],{"class":2415},"format",[111,16462,16463],{"class":145},">R8G8B8\u003C\u002F",[111,16465,16460],{"class":2415},[111,16467,2427],{"class":145},[111,16469,16470,16472,16474],{"class":113,"line":2069},[111,16471,2869],{"class":145},[111,16473,16423],{"class":2415},[111,16475,2427],{"class":145},[111,16477,16478,16480,16483],{"class":113,"line":2086},[111,16479,2633],{"class":145},[111,16481,16482],{"class":2415},"clip",[111,16484,2427],{"class":145},[111,16486,16487,16489,16492,16495,16497],{"class":113,"line":2101},[111,16488,2829],{"class":145},[111,16490,16491],{"class":2415},"near",[111,16493,16494],{"class":145},">0.02\u003C\u002F",[111,16496,16491],{"class":2415},[111,16498,2427],{"class":145},[111,16500,16501,16503,16506,16509,16511],{"class":113,"line":2107},[111,16502,2829],{"class":145},[111,16504,16505],{"class":2415},"far",[111,16507,16508],{"class":145},">300\u003C\u002F",[111,16510,16505],{"class":2415},[111,16512,2427],{"class":145},[111,16514,16515,16517,16519],{"class":113,"line":2118},[111,16516,2869],{"class":145},[111,16518,16482],{"class":2415},[111,16520,2427],{"class":145},[111,16522,16523,16525,16527],{"class":113,"line":2123},[111,16524,2693],{"class":145},[111,16526,16393],{"class":2415},[111,16528,2427],{"class":145},[111,16530,16531,16533,16535],{"class":113,"line":2128},[111,16532,2530],{"class":145},[111,16534,15954],{"class":2415},[111,16536,2427],{"class":145},[111,16538,16539,16541,16543],{"class":113,"line":2137},[111,16540,2539],{"class":145},[111,16542,14050],{"class":2415},[111,16544,2427],{"class":145},[111,16546,16547],{"class":113,"line":2143},[111,16548,118],{"emptyLinePlaceholder":117},[111,16550,16551,16553,16555,16557,16559,16561],{"class":113,"line":2163},[111,16552,2432],{"class":145},[111,16554,14050],{"class":2415},[111,16556,15940],{"class":131},[111,16558,1726],{"class":145},[111,16560,16298],{"class":135},[111,16562,2427],{"class":145},[111,16564,16565,16567,16569,16571,16573,16576,16578,16580,16582],{"class":113,"line":2176},[111,16566,2449],{"class":145},[111,16568,15954],{"class":2415},[111,16570,2419],{"class":131},[111,16572,1726],{"class":145},[111,16574,16575],{"class":135},"\"depth_camera\"",[111,16577,2998],{"class":131},[111,16579,1726],{"class":145},[111,16581,16575],{"class":135},[111,16583,2427],{"class":145},[111,16585,16586,16588,16590,16592,16594],{"class":113,"line":2182},[111,16587,2829],{"class":145},[111,16589,13924],{"class":2415},[111,16591,14140],{"class":145},[111,16593,13924],{"class":2415},[111,16595,2427],{"class":145},[111,16597,16598,16600,16602,16605,16607],{"class":113,"line":2188},[111,16599,2829],{"class":145},[111,16601,14179],{"class":2415},[111,16603,16604],{"class":145},">depth_camera\u003C\u002F",[111,16606,14179],{"class":2415},[111,16608,2427],{"class":145},[111,16610,16611,16613,16615],{"class":113,"line":3676},[111,16612,2829],{"class":145},[111,16614,16393],{"class":2415},[111,16616,2427],{"class":145},[111,16618,16619,16621,16623,16626,16628],{"class":113,"line":3689},[111,16620,3322],{"class":145},[111,16622,16409],{"class":2415},[111,16624,16625],{"class":145},">1.05\u003C\u002F",[111,16627,16409],{"class":2415},[111,16629,2427],{"class":145},[111,16631,16632,16634,16636],{"class":113,"line":3703},[111,16633,3322],{"class":145},[111,16635,16423],{"class":2415},[111,16637,2427],{"class":145},[111,16639,16640,16642,16644,16647,16649],{"class":113,"line":3716},[111,16641,3332],{"class":145},[111,16643,16433],{"class":2415},[111,16645,16646],{"class":145},">256\u003C\u002F",[111,16648,16433],{"class":2415},[111,16650,2427],{"class":145},[111,16652,16653,16655,16657,16659,16661],{"class":113,"line":3725},[111,16654,3332],{"class":145},[111,16656,16447],{"class":2415},[111,16658,16646],{"class":145},[111,16660,16447],{"class":2415},[111,16662,2427],{"class":145},[111,16664,16665,16667,16669,16672,16674],{"class":113,"line":3734},[111,16666,3332],{"class":145},[111,16668,16460],{"class":2415},[111,16670,16671],{"class":145},">R_FLOAT32\u003C\u002F",[111,16673,16460],{"class":2415},[111,16675,2427],{"class":145},[111,16677,16678,16680,16682],{"class":113,"line":3749},[111,16679,3361],{"class":145},[111,16681,16423],{"class":2415},[111,16683,2427],{"class":145},[111,16685,16686,16688,16690],{"class":113,"line":3758},[111,16687,3322],{"class":145},[111,16689,16482],{"class":2415},[111,16691,2427],{"class":145},[111,16693,16694,16696,16698,16701,16703],{"class":113,"line":3771},[111,16695,3332],{"class":145},[111,16697,16491],{"class":2415},[111,16699,16700],{"class":145},">0.1\u003C\u002F",[111,16702,16491],{"class":2415},[111,16704,2427],{"class":145},[111,16706,16707,16709,16711,16713,16715],{"class":113,"line":3785},[111,16708,3332],{"class":145},[111,16710,16505],{"class":2415},[111,16712,16193],{"class":145},[111,16714,16505],{"class":2415},[111,16716,2427],{"class":145},[111,16718,16719,16721,16723],{"class":113,"line":3794},[111,16720,3361],{"class":145},[111,16722,16482],{"class":2415},[111,16724,2427],{"class":145},[111,16726,16727,16729,16731],{"class":113,"line":3810},[111,16728,3370],{"class":145},[111,16730,16393],{"class":2415},[111,16732,2427],{"class":145},[111,16734,16735,16737,16739,16741,16743],{"class":113,"line":3824},[111,16736,2829],{"class":145},[111,16738,16232],{"class":2415},[111,16740,3029],{"class":145},[111,16742,16232],{"class":2415},[111,16744,2427],{"class":145},[111,16746,16747,16749,16751,16753,16755],{"class":113,"line":3840},[111,16748,2829],{"class":145},[111,16750,16258],{"class":2415},[111,16752,16356],{"class":145},[111,16754,16258],{"class":2415},[111,16756,2427],{"class":145},[111,16758,16759,16761,16763],{"class":113,"line":3849},[111,16760,2693],{"class":145},[111,16762,15954],{"class":2415},[111,16764,2427],{"class":145},[111,16766,16767,16769,16771],{"class":113,"line":3858},[111,16768,2539],{"class":145},[111,16770,14050],{"class":2415},[111,16772,2427],{"class":145},[15,16774,16775],{},"IMU sensor found on the official website",[101,16777,16779],{"className":2403,"code":16778,"language":2405,"meta":106,"style":106},"\n    \u003Cgazebo>\n        \u003Cplugin filename=\"libignition-gazebo-imu-system.so\"\n                name=\"ignition::gazebo::systems::Imu\">\n        \u003C\u002Fplugin>\n    \u003C\u002Fgazebo>\n\n    \u003Cgazebo reference=\"base_link\">\n        \u003Csensor name=\"imu_sensor\" type=\"imu\">\n            \u003Calways_on>1\u003C\u002Falways_on>\n            \u003Cupdate_rate>30\u003C\u002Fupdate_rate>\n            \u003Cvisualize>true\u003C\u002Fvisualize>\n            \u003Ctopic>imu\u003C\u002Ftopic>\n        \u003C\u002Fsensor>\n    \u003C\u002Fgazebo>\n",[108,16780,16781,16785,16793,16806,16818,16826,16834,16838,16852,16874,16886,16898,16910,16923,16931],{"__ignoreMap":106},[111,16782,16783],{"class":113,"line":114},[111,16784,118],{"emptyLinePlaceholder":117},[111,16786,16787,16789,16791],{"class":113,"line":121},[111,16788,2449],{"class":145},[111,16790,14050],{"class":2415},[111,16792,2427],{"class":145},[111,16794,16795,16797,16799,16801,16803],{"class":113,"line":128},[111,16796,2633],{"class":145},[111,16798,3062],{"class":2415},[111,16800,3072],{"class":131},[111,16802,1726],{"class":145},[111,16804,16805],{"class":135},"\"libignition-gazebo-imu-system.so\"\n",[111,16807,16808,16811,16813,16816],{"class":113,"line":152},[111,16809,16810],{"class":131},"                name",[111,16812,1726],{"class":145},[111,16814,16815],{"class":135},"\"ignition::gazebo::systems::Imu\"",[111,16817,2427],{"class":145},[111,16819,16820,16822,16824],{"class":113,"line":157},[111,16821,2869],{"class":145},[111,16823,3062],{"class":2415},[111,16825,2427],{"class":145},[111,16827,16828,16830,16832],{"class":113,"line":163},[111,16829,2530],{"class":145},[111,16831,14050],{"class":2415},[111,16833,2427],{"class":145},[111,16835,16836],{"class":113,"line":175},[111,16837,118],{"emptyLinePlaceholder":117},[111,16839,16840,16842,16844,16846,16848,16850],{"class":113,"line":180},[111,16841,2449],{"class":145},[111,16843,14050],{"class":2415},[111,16845,15940],{"class":131},[111,16847,1726],{"class":145},[111,16849,2442],{"class":135},[111,16851,2427],{"class":145},[111,16853,16854,16856,16858,16860,16862,16865,16867,16869,16872],{"class":113,"line":186},[111,16855,2633],{"class":145},[111,16857,15954],{"class":2415},[111,16859,2419],{"class":131},[111,16861,1726],{"class":145},[111,16863,16864],{"class":135},"\"imu_sensor\"",[111,16866,2998],{"class":131},[111,16868,1726],{"class":145},[111,16870,16871],{"class":135},"\"imu\"",[111,16873,2427],{"class":145},[111,16875,16876,16878,16880,16882,16884],{"class":113,"line":433},[111,16877,3322],{"class":145},[111,16879,16341],{"class":2415},[111,16881,3029],{"class":145},[111,16883,16341],{"class":2415},[111,16885,2427],{"class":145},[111,16887,16888,16890,16892,16894,16896],{"class":113,"line":439},[111,16889,3322],{"class":145},[111,16891,13924],{"class":2415},[111,16893,15991],{"class":145},[111,16895,13924],{"class":2415},[111,16897,2427],{"class":145},[111,16899,16900,16902,16904,16906,16908],{"class":113,"line":445},[111,16901,3322],{"class":145},[111,16903,16245],{"class":2415},[111,16905,3237],{"class":145},[111,16907,16245],{"class":2415},[111,16909,2427],{"class":145},[111,16911,16912,16914,16916,16919,16921],{"class":113,"line":451},[111,16913,3322],{"class":145},[111,16915,14179],{"class":2415},[111,16917,16918],{"class":145},">imu\u003C\u002F",[111,16920,14179],{"class":2415},[111,16922,2427],{"class":145},[111,16924,16925,16927,16929],{"class":113,"line":1703},[111,16926,2869],{"class":145},[111,16928,15954],{"class":2415},[111,16930,2427],{"class":145},[111,16932,16933,16935,16937],{"class":113,"line":1715},[111,16934,2530],{"class":145},[111,16936,14050],{"class":2415},[111,16938,2427],{"class":145},[15,16940,16941,16942,16945],{},"You can use ",[108,16943,16944],{},"ign topic -e -t \u002Fimu"," to test whether Gazebo has published any topics, and later use gazebo_bridge to pass those topics to ROS2.",[15,16947,16948],{},"By default, rviz2 does not include a plugin for displaying IMU messages. You need to install the relevant plugin yourself. The specific installation command is as follows:",[101,16950,16954],{"className":16951,"code":16952,"language":16953,"meta":106,"style":106},"language-cpp shiki shiki-themes github-light github-dark","sudo apt install ros-${ROS_DISTRO}-imu-tools\n","cpp",[108,16955,16956],{"__ignoreMap":106},[111,16957,16958,16961,16964,16966,16968,16971,16973],{"class":113,"line":114},[111,16959,16960],{"class":145},"sudo apt install ros",[111,16962,16963],{"class":773},"-",[111,16965,146],{"class":145},[111,16967,16963],{"class":773},[111,16969,16970],{"class":145},"imu",[111,16972,16963],{"class":773},[111,16974,16975],{"class":145},"tools\n",[15,16977,16978,16979,16982,16983,16986],{},"The model automatically generated by SolidWorks may have flipped the ",[108,16980,16981],{},"laser_joint",". Please correct it so that ",[108,16984,16985],{},"rivz2"," can have the laser. Then, modify the visualization model to make it display properly, and do not assign collision properties to it, as that might block the laser.",[15,16988,16989],{},[199,16990],{"alt":106,"src":16991},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1738.webp",[15,16993,13300,16994,15174],{},[108,16995,9146],{},[101,16997,16999],{"className":1576,"code":16998,"language":1578,"meta":106,"style":106},"import os\n\nfrom ament_index_python.packages import get_package_share_directory\n\nfrom launch import LaunchDescription\nfrom launch.actions import IncludeLaunchDescription\nfrom launch.launch_description_sources import PythonLaunchDescriptionSource\nfrom launch_ros.actions import Node\n\ndef generate_launch_description():\n\n    this_pkg = get_package_share_directory(\"demo_gazebo_sim\")\n    mycar_desc_pkg = get_package_share_directory(\"mycar_description\")\n    pkg_ros_gz_sim = get_package_share_directory(\"ros_gz_sim\")\n    world_file = os.path.join(this_pkg,\"world\",\"house.sdf\")\n\n    gz_sim = IncludeLaunchDescription(\n    PythonLaunchDescriptionSource(\n        os.path.join(pkg_ros_gz_sim, \"launch\", \"gz_sim.launch.py\")),\n        launch_arguments={\n        \"gz_args\": \"-r \" + world_file\n        }.items(),\n    )\n    mycar_desc = IncludeLaunchDescription(\n        PythonLaunchDescriptionSource(\n            os.path.join(mycar_desc_pkg,\"launch\",\"mycar_desc_sim.launch.py\")\n        )\n    )\n    spawn = Node(package=\"ros_gz_sim\", executable=\"create\",\n        arguments=[\n            \"-name\", \"mycar\",\n            \"-x\", \"-4\",\n            \"-z\", \"0.01\", #设置为0,可能会陷进地里\n            \"-y\", \"0\",\n            \"-topic\", \"\u002Frobot_description\"],\n        output=\"screen\")\n\n    # Bridge\n    bridge = Node(\n        package=\"ros_gz_bridge\",\n        executable=\"parameter_bridge\",\n        arguments=[\"\u002Fcmd_vel@geometry_msgs\u002Fmsg\u002FTwist@gz.msgs.Twist\",\n            \"\u002Fmodel\u002Fmycar\u002Fodometry@nav_msgs\u002Fmsg\u002FOdometry@gz.msgs.Odometry\",\n            \"\u002Fmodel\u002Fmycar\u002Ftf@tf2_msgs\u002Fmsg\u002FTFMessage[gz.msgs.Pose_V\",\n            \"\u002Fclock@rosgraph_msgs\u002Fmsg\u002FClock[gz.msgs.Clock\",\n            \"\u002Fworld\u002Fempty\u002Fmodel\u002Fmycar\u002Fjoint_state@sensor_msgs\u002Fmsg\u002FJointState[gz.msgs.Model\",\n            \"\u002Fscan@sensor_msgs\u002Fmsg\u002FLaserScan@gz.msgs.LaserScan\",\n            \"\u002Fscan\u002Fpoints@sensor_msgs\u002Fmsg\u002FPointCloud2@gz.msgs.PointCloudPacked\",\n            \"\u002Fimage_raw@sensor_msgs\u002Fmsg\u002FImage@gz.msgs.Image\",\n            \"\u002Fcamera_info@sensor_msgs\u002Fmsg\u002FCameraInfo@gz.msgs.CameraInfo\",\n            \"\u002Fdepth_camera@sensor_msgs\u002Fmsg\u002FImage@gz.msgs.Image\",\n            \"\u002Fimu@sensor_msgs\u002Fmsg\u002FImu[gz.msgs.IMU\",\n            \"\u002Fimu\u002Fangular_velocity@geometry_msgs\u002Fmsg\u002FVector3[gz.msgs.Vector3d\"\n        ],\n        parameters=[{\"qos_overrides.\u002Fmodel\u002Fmycar.subscriber.reliability\": \"reliable\"}],\n        remappings=[\n            (\"\u002Fmodel\u002Fmycar\u002Ftf\", \"\u002Ftf\"),\n            (\"\u002Fworld\u002Fempty\u002Fmodel\u002Fmycar\u002Fjoint_state\",\"joint_states\"),\n            (\"\u002Fmodel\u002Fmycar\u002Fodometry\",\"\u002Fodom\")\n        ],\n        output=\"screen\"\n    )\n\n    return LaunchDescription([\n        gz_sim,\n        spawn,\n        mycar_desc,\n        bridge\n    ])\n",[108,17000,17001,17007,17011,17021,17025,17035,17045,17055,17065,17069,17077,17081,17093,17105,17117,17133,17137,17145,17150,17163,17171,17184,17188,17192,17200,17204,17216,17220,17224,17248,17256,17267,17278,17291,17302,17313,17323,17327,17331,17339,17349,17359,17371,17378,17385,17392,17399,17406,17413,17420,17427,17434,17441,17446,17451,17467,17475,17488,17500,17512,17516,17524,17528,17532,17538,17542,17546,17550,17554],{"__ignoreMap":106},[111,17002,17003,17005],{"class":113,"line":114},[111,17004,1585],{"class":773},[111,17006,1588],{"class":145},[111,17008,17009],{"class":113,"line":121},[111,17010,118],{"emptyLinePlaceholder":117},[111,17012,17013,17015,17017,17019],{"class":113,"line":128},[111,17014,1597],{"class":773},[111,17016,1600],{"class":145},[111,17018,1585],{"class":773},[111,17020,1605],{"class":145},[111,17022,17023],{"class":113,"line":152},[111,17024,118],{"emptyLinePlaceholder":117},[111,17026,17027,17029,17031,17033],{"class":113,"line":157},[111,17028,1597],{"class":773},[111,17030,1616],{"class":145},[111,17032,1585],{"class":773},[111,17034,1621],{"class":145},[111,17036,17037,17039,17041,17043],{"class":113,"line":163},[111,17038,1597],{"class":773},[111,17040,1628],{"class":145},[111,17042,1585],{"class":773},[111,17044,1644],{"class":145},[111,17046,17047,17049,17051,17053],{"class":113,"line":175},[111,17048,1597],{"class":773},[111,17050,1663],{"class":145},[111,17052,1585],{"class":773},[111,17054,1668],{"class":145},[111,17056,17057,17059,17061,17063],{"class":113,"line":180},[111,17058,1597],{"class":773},[111,17060,1691],{"class":145},[111,17062,1585],{"class":773},[111,17064,1696],{"class":145},[111,17066,17067],{"class":113,"line":186},[111,17068,118],{"emptyLinePlaceholder":117},[111,17070,17071,17073,17075],{"class":113,"line":433},[111,17072,1706],{"class":773},[111,17074,1709],{"class":131},[111,17076,1712],{"class":145},[111,17078,17079],{"class":113,"line":439},[111,17080,118],{"emptyLinePlaceholder":117},[111,17082,17083,17085,17087,17089,17091],{"class":113,"line":445},[111,17084,1723],{"class":145},[111,17086,1726],{"class":773},[111,17088,1729],{"class":145},[111,17090,13399],{"class":135},[111,17092,1479],{"class":145},[111,17094,17095,17097,17099,17101,17103],{"class":113,"line":451},[111,17096,13406],{"class":145},[111,17098,1726],{"class":773},[111,17100,1729],{"class":145},[111,17102,13125],{"class":135},[111,17104,1479],{"class":145},[111,17106,17107,17109,17111,17113,17115],{"class":113,"line":1703},[111,17108,1740],{"class":145},[111,17110,1726],{"class":773},[111,17112,1729],{"class":145},[111,17114,13425],{"class":135},[111,17116,1479],{"class":145},[111,17118,17119,17121,17123,17125,17127,17129,17131],{"class":113,"line":1715},[111,17120,1755],{"class":145},[111,17122,1726],{"class":773},[111,17124,1760],{"class":145},[111,17126,9256],{"class":135},[111,17128,1766],{"class":145},[111,17130,9261],{"class":135},[111,17132,1479],{"class":145},[111,17134,17135],{"class":113,"line":1720},[111,17136,118],{"emptyLinePlaceholder":117},[111,17138,17139,17141,17143],{"class":113,"line":1737},[111,17140,1782],{"class":145},[111,17142,1726],{"class":773},[111,17144,1787],{"class":145},[111,17146,17147],{"class":113,"line":1752},[111,17148,17149],{"class":145},"    PythonLaunchDescriptionSource(\n",[111,17151,17152,17155,17157,17159,17161],{"class":113,"line":1774},[111,17153,17154],{"class":145},"        os.path.join(pkg_ros_gz_sim, ",[111,17156,13466],{"class":135},[111,17158,1805],{"class":145},[111,17160,13471],{"class":135},[111,17162,1811],{"class":145},[111,17164,17165,17167,17169],{"class":113,"line":1779},[111,17166,1818],{"class":1817},[111,17168,1726],{"class":773},[111,17170,1823],{"class":145},[111,17172,17173,17176,17178,17180,17182],{"class":113,"line":1790},[111,17174,17175],{"class":135},"        \"gz_args\"",[111,17177,1832],{"class":145},[111,17179,13491],{"class":135},[111,17181,1838],{"class":773},[111,17183,1841],{"class":145},[111,17185,17186],{"class":113,"line":1796},[111,17187,1847],{"class":145},[111,17189,17190],{"class":113,"line":1814},[111,17191,1853],{"class":145},[111,17193,17194,17196,17198],{"class":113,"line":1826},[111,17195,13508],{"class":145},[111,17197,1726],{"class":773},[111,17199,1787],{"class":145},[111,17201,17202],{"class":113,"line":1844},[111,17203,1793],{"class":145},[111,17205,17206,17208,17210,17212,17214],{"class":113,"line":1850},[111,17207,13521],{"class":145},[111,17209,13466],{"class":135},[111,17211,1766],{"class":145},[111,17213,13528],{"class":135},[111,17215,1479],{"class":145},[111,17217,17218],{"class":113,"line":1856},[111,17219,13535],{"class":145},[111,17221,17222],{"class":113,"line":1861},[111,17223,1853],{"class":145},[111,17225,17226,17228,17230,17232,17234,17236,17238,17240,17242,17244,17246],{"class":113,"line":1867},[111,17227,13544],{"class":145},[111,17229,1726],{"class":773},[111,17231,13549],{"class":145},[111,17233,13552],{"class":1817},[111,17235,1726],{"class":773},[111,17237,13425],{"class":135},[111,17239,1805],{"class":145},[111,17241,13561],{"class":1817},[111,17243,1726],{"class":773},[111,17245,13566],{"class":135},[111,17247,1889],{"class":145},[111,17249,17250,17252,17254],{"class":113,"line":1878},[111,17251,2002],{"class":1817},[111,17253,1726],{"class":773},[111,17255,2066],{"class":145},[111,17257,17258,17261,17263,17265],{"class":113,"line":1892},[111,17259,17260],{"class":135},"            \"-name\"",[111,17262,1805],{"class":145},[111,17264,13587],{"class":135},[111,17266,1889],{"class":145},[111,17268,17269,17272,17274,17276],{"class":113,"line":1904},[111,17270,17271],{"class":135},"            \"-x\"",[111,17273,1805],{"class":145},[111,17275,15451],{"class":135},[111,17277,1889],{"class":145},[111,17279,17280,17283,17285,17287,17289],{"class":113,"line":1931},[111,17281,17282],{"class":135},"            \"-z\"",[111,17284,1805],{"class":145},[111,17286,13611],{"class":135},[111,17288,1805],{"class":145},[111,17290,13616],{"class":124},[111,17292,17293,17296,17298,17300],{"class":113,"line":1947},[111,17294,17295],{"class":135},"            \"-y\"",[111,17297,1805],{"class":145},[111,17299,13599],{"class":135},[111,17301,1889],{"class":145},[111,17303,17304,17307,17309,17311],{"class":113,"line":1952},[111,17305,17306],{"class":135},"            \"-topic\"",[111,17308,1805],{"class":145},[111,17310,13637],{"class":135},[111,17312,13640],{"class":145},[111,17314,17315,17317,17319,17321],{"class":113,"line":1957},[111,17316,2110],{"class":1817},[111,17318,1726],{"class":773},[111,17320,13650],{"class":135},[111,17322,1479],{"class":145},[111,17324,17325],{"class":113,"line":1963},[111,17326,118],{"emptyLinePlaceholder":117},[111,17328,17329],{"class":113,"line":1973},[111,17330,1960],{"class":124},[111,17332,17333,17335,17337],{"class":113,"line":1986},[111,17334,1966],{"class":145},[111,17336,1726],{"class":773},[111,17338,1875],{"class":145},[111,17340,17341,17343,17345,17347],{"class":113,"line":1999},[111,17342,1976],{"class":1817},[111,17344,1726],{"class":773},[111,17346,15520],{"class":135},[111,17348,1889],{"class":145},[111,17350,17351,17353,17355,17357],{"class":113,"line":2014},[111,17352,1989],{"class":1817},[111,17354,1726],{"class":773},[111,17356,15531],{"class":135},[111,17358,1889],{"class":145},[111,17360,17361,17363,17365,17367,17369],{"class":113,"line":2022},[111,17362,2002],{"class":1817},[111,17364,1726],{"class":773},[111,17366,811],{"class":145},[111,17368,15544],{"class":135},[111,17370,1889],{"class":145},[111,17372,17373,17376],{"class":113,"line":2030},[111,17374,17375],{"class":135},"            \"\u002Fmodel\u002Fmycar\u002Fodometry@nav_msgs\u002Fmsg\u002FOdometry@gz.msgs.Odometry\"",[111,17377,1889],{"class":145},[111,17379,17380,17383],{"class":113,"line":2036},[111,17381,17382],{"class":135},"            \"\u002Fmodel\u002Fmycar\u002Ftf@tf2_msgs\u002Fmsg\u002FTFMessage[gz.msgs.Pose_V\"",[111,17384,1889],{"class":145},[111,17386,17387,17390],{"class":113,"line":2058},[111,17388,17389],{"class":135},"            \"\u002Fclock@rosgraph_msgs\u002Fmsg\u002FClock[gz.msgs.Clock\"",[111,17391,1889],{"class":145},[111,17393,17394,17397],{"class":113,"line":2069},[111,17395,17396],{"class":135},"            \"\u002Fworld\u002Fempty\u002Fmodel\u002Fmycar\u002Fjoint_state@sensor_msgs\u002Fmsg\u002FJointState[gz.msgs.Model\"",[111,17398,1889],{"class":145},[111,17400,17401,17404],{"class":113,"line":2086},[111,17402,17403],{"class":135},"            \"\u002Fscan@sensor_msgs\u002Fmsg\u002FLaserScan@gz.msgs.LaserScan\"",[111,17405,1889],{"class":145},[111,17407,17408,17411],{"class":113,"line":2101},[111,17409,17410],{"class":135},"            \"\u002Fscan\u002Fpoints@sensor_msgs\u002Fmsg\u002FPointCloud2@gz.msgs.PointCloudPacked\"",[111,17412,1889],{"class":145},[111,17414,17415,17418],{"class":113,"line":2107},[111,17416,17417],{"class":135},"            \"\u002Fimage_raw@sensor_msgs\u002Fmsg\u002FImage@gz.msgs.Image\"",[111,17419,1889],{"class":145},[111,17421,17422,17425],{"class":113,"line":2118},[111,17423,17424],{"class":135},"            \"\u002Fcamera_info@sensor_msgs\u002Fmsg\u002FCameraInfo@gz.msgs.CameraInfo\"",[111,17426,1889],{"class":145},[111,17428,17429,17432],{"class":113,"line":2123},[111,17430,17431],{"class":135},"            \"\u002Fdepth_camera@sensor_msgs\u002Fmsg\u002FImage@gz.msgs.Image\"",[111,17433,1889],{"class":145},[111,17435,17436,17439],{"class":113,"line":2128},[111,17437,17438],{"class":135},"            \"\u002Fimu@sensor_msgs\u002Fmsg\u002FImu[gz.msgs.IMU\"",[111,17440,1889],{"class":145},[111,17442,17443],{"class":113,"line":2137},[111,17444,17445],{"class":135},"            \"\u002Fimu\u002Fangular_velocity@geometry_msgs\u002Fmsg\u002FVector3[gz.msgs.Vector3d\"\n",[111,17447,17448],{"class":113,"line":2143},[111,17449,17450],{"class":145},"        ],\n",[111,17452,17453,17455,17457,17459,17461,17463,17465],{"class":113,"line":2163},[111,17454,2039],{"class":1817},[111,17456,1726],{"class":773},[111,17458,2044],{"class":145},[111,17460,15589],{"class":135},[111,17462,1832],{"class":145},[111,17464,15594],{"class":135},[111,17466,2055],{"class":145},[111,17468,17469,17471,17473],{"class":113,"line":2176},[111,17470,2061],{"class":1817},[111,17472,1726],{"class":773},[111,17474,2066],{"class":145},[111,17476,17477,17480,17482,17484,17486],{"class":113,"line":2182},[111,17478,17479],{"class":145},"            (",[111,17481,15611],{"class":135},[111,17483,1805],{"class":145},[111,17485,15616],{"class":135},[111,17487,2083],{"class":145},[111,17489,17490,17492,17494,17496,17498],{"class":113,"line":2188},[111,17491,17479],{"class":145},[111,17493,15625],{"class":135},[111,17495,1766],{"class":145},[111,17497,15630],{"class":135},[111,17499,2083],{"class":145},[111,17501,17502,17504,17506,17508,17510],{"class":113,"line":3676},[111,17503,17479],{"class":145},[111,17505,15639],{"class":135},[111,17507,1766],{"class":145},[111,17509,15644],{"class":135},[111,17511,1479],{"class":145},[111,17513,17514],{"class":113,"line":3689},[111,17515,17450],{"class":145},[111,17517,17518,17520,17522],{"class":113,"line":3703},[111,17519,2110],{"class":1817},[111,17521,1726],{"class":773},[111,17523,15659],{"class":135},[111,17525,17526],{"class":113,"line":3716},[111,17527,1853],{"class":145},[111,17529,17530],{"class":113,"line":3725},[111,17531,118],{"emptyLinePlaceholder":117},[111,17533,17534,17536],{"class":113,"line":3734},[111,17535,2131],{"class":773},[111,17537,2134],{"class":145},[111,17539,17540],{"class":113,"line":3749},[111,17541,2140],{"class":145},[111,17543,17544],{"class":113,"line":3758},[111,17545,13671],{"class":145},[111,17547,17548],{"class":113,"line":3771},[111,17549,13676],{"class":145},[111,17551,17552],{"class":113,"line":3785},[111,17553,15690],{"class":145},[111,17555,17556],{"class":113,"line":3794},[111,17557,2191],{"class":145},[15,17559,17560],{},[50,17561,2204],{},[15,17563,2207],{},[101,17565,17566],{"className":103,"code":13689,"language":105,"meta":106,"style":106},[108,17567,17568],{"__ignoreMap":106},[111,17569,17570,17572,17574,17576,17578],{"class":113,"line":114},[111,17571,2217],{"class":131},[111,17573,2220],{"class":135},[111,17575,13700],{"class":575},[111,17577,13703],{"class":135},[111,17579,1445],{"class":135},[15,17581,17582],{},[50,17583,2235],{},[15,17585,2238],{},[101,17587,17589],{"className":103,"code":17588,"language":105,"meta":106,"style":106},". install\u002Fsetup.bash\nexport MYCAR_MODEL=stm32_4w # MYCAR_MODEL值可以设置为arduino、stm32_2w 或stm32_4w\nros2 launch demo_gazebo_sim gazebo_sim_world.launch.py\n",[108,17590,17591,17597,17610],{"__ignoreMap":106},[111,17592,17593,17595],{"class":113,"line":114},[111,17594,2248],{"class":575},[111,17596,2251],{"class":135},[111,17598,17599,17601,17603,17605,17607],{"class":113,"line":121},[111,17600,9459],{"class":773},[111,17602,13739],{"class":145},[111,17604,1726],{"class":773},[111,17606,15744],{"class":145},[111,17608,17609],{"class":124},"# MYCAR_MODEL值可以设置为arduino、stm32_2w 或stm32_4w\n",[111,17611,17612,17614,17616,17618],{"class":113,"line":128},[111,17613,262],{"class":131},[111,17615,265],{"class":135},[111,17617,2260],{"class":135},[111,17619,9384],{"class":135},[15,17621,15759],{},[15,17623,17624],{},"You can also launch rviz2 to view the various data published by the robot. In the terminal, navigate to the current workspace and execute the following command to run the launch file:",[101,17626,17627],{"className":103,"code":15782,"language":105,"meta":106,"style":106},[108,17628,17629,17635],{"__ignoreMap":106},[111,17630,17631,17633],{"class":113,"line":114},[111,17632,2248],{"class":575},[111,17634,2251],{"class":135},[111,17636,17637],{"class":113,"line":121},[111,17638,15795],{"class":131},[15,17640,17641],{},[199,17642],{"alt":106,"src":17643},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1739.webp",[15,17645,17646],{},[199,17647],{"alt":106,"src":17648},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1740.webp",[15,17650,12972],{},[15,17652,17653],{},[55,17654,12977],{"href":12977,"rel":17655},[59],[15,17657,17658],{},"(Reproduce everything above to proceed to the next chapter navigation. The next chapter navigation is still based on simulation.)",[17660,17661,17662],"style",{},"html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}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 .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}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 .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}",{"title":106,"searchDepth":121,"depth":121,"links":17664},[17665],{"id":12,"depth":128,"text":13},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-ignitiongazebo","1100-0200","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\u002F1100-0200-IgnitionGazebo",false,null,"en-US","en-us",{},{"title":5,"description":106},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-ignitiongazebo","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-IgnitionGazebo","1GeVzckA3lGBdmPctup8U8SOH_lQFw123bbH3rLGuxw",[17685,17691,17696,17701,17706,17711,17716,17721,17726,17731,17736,17741,17742,17747,17752,17757,17762,17767,17772,17777,17782,17787,17792,17797,17802,17807,17811,17816,17820,17825,17830,17835,17840,17845,17850,17855,17860,17865,17870,17875,17880,17885,17890,17895,17900,17905,17910,17915,17920,17925,17930,17935,17940,17945,17950,17955,17960,17965,17970,17975],{"path":17686,"stem":17687,"title":17688,"date":17668,"chapterOrder":17689,"chapterDepth":17690,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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",0,{"path":17692,"stem":17693,"title":17694,"date":17668,"chapterOrder":17695,"chapterDepth":17690,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17697,"stem":17698,"title":17699,"date":17668,"chapterOrder":17700,"chapterDepth":17690,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17702,"stem":17703,"title":17704,"date":17668,"chapterOrder":17705,"chapterDepth":17690,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17707,"stem":17708,"title":17709,"date":17668,"chapterOrder":17710,"chapterDepth":17690,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17712,"stem":17713,"title":17714,"date":17668,"chapterOrder":17715,"chapterDepth":17690,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0600-launch","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0600-Launch","Launch","0600",{"path":17717,"stem":17718,"title":17719,"date":17668,"chapterOrder":17720,"chapterDepth":17690,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17722,"stem":17723,"title":17724,"date":17668,"chapterOrder":17725,"chapterDepth":17690,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17727,"stem":17728,"title":17729,"date":17668,"chapterOrder":17730,"chapterDepth":17690,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17732,"stem":17733,"title":17734,"date":17668,"chapterOrder":17735,"chapterDepth":17690,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17737,"stem":17738,"title":17739,"date":17668,"chapterOrder":17740,"chapterDepth":114,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17666,"stem":17682,"title":5,"date":17668,"chapterOrder":17667,"chapterDepth":114,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},{"path":17743,"stem":17744,"title":17745,"date":17668,"chapterOrder":17746,"chapterDepth":114,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17748,"stem":17749,"title":17750,"date":17668,"chapterOrder":17751,"chapterDepth":114,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17753,"stem":17754,"title":17755,"date":17668,"chapterOrder":17756,"chapterDepth":17690,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17758,"stem":17759,"title":17760,"date":17668,"chapterOrder":17761,"chapterDepth":114,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17763,"stem":17764,"title":17765,"date":17668,"chapterOrder":17766,"chapterDepth":114,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17768,"stem":17769,"title":17770,"date":17668,"chapterOrder":17771,"chapterDepth":114,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17773,"stem":17774,"title":17775,"date":17668,"chapterOrder":17776,"chapterDepth":17690,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17778,"stem":17779,"title":17780,"date":17668,"chapterOrder":17781,"chapterDepth":121,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17783,"stem":17784,"title":17785,"date":17668,"chapterOrder":17786,"chapterDepth":121,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17788,"stem":17789,"title":17790,"date":17668,"chapterOrder":17791,"chapterDepth":114,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17793,"stem":17794,"title":17795,"date":17668,"chapterOrder":17796,"chapterDepth":121,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17798,"stem":17799,"title":17800,"date":17668,"chapterOrder":17801,"chapterDepth":121,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17803,"stem":17804,"title":17805,"date":17668,"chapterOrder":17806,"chapterDepth":114,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17808,"stem":17809,"title":17780,"date":17668,"chapterOrder":17810,"chapterDepth":121,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17812,"stem":17813,"title":17814,"date":17668,"chapterOrder":17815,"chapterDepth":114,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17817,"stem":17818,"title":17780,"date":17668,"chapterOrder":17819,"chapterDepth":121,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17821,"stem":17822,"title":17823,"date":17668,"chapterOrder":17824,"chapterDepth":114,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17826,"stem":17827,"title":17828,"date":17668,"chapterOrder":17829,"chapterDepth":17690,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17831,"stem":17832,"title":17833,"date":17668,"chapterOrder":17834,"chapterDepth":114,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17836,"stem":17837,"title":17838,"date":17668,"chapterOrder":17839,"chapterDepth":121,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17841,"stem":17842,"title":17843,"date":17668,"chapterOrder":17844,"chapterDepth":121,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17846,"stem":17847,"title":17848,"date":17668,"chapterOrder":17849,"chapterDepth":114,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17851,"stem":17852,"title":17853,"date":17668,"chapterOrder":17854,"chapterDepth":114,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17856,"stem":17857,"title":17858,"date":17668,"chapterOrder":17859,"chapterDepth":114,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17861,"stem":17862,"title":17863,"date":17668,"chapterOrder":17864,"chapterDepth":114,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17866,"stem":17867,"title":17868,"date":17668,"chapterOrder":17869,"chapterDepth":121,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17871,"stem":17872,"title":17873,"date":17668,"chapterOrder":17874,"chapterDepth":121,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17876,"stem":17877,"title":17878,"date":17668,"chapterOrder":17879,"chapterDepth":121,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17881,"stem":17882,"title":17883,"date":17668,"chapterOrder":17884,"chapterDepth":121,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17886,"stem":17887,"title":17888,"date":17668,"chapterOrder":17889,"chapterDepth":121,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17891,"stem":17892,"title":17893,"date":17668,"chapterOrder":17894,"chapterDepth":121,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17896,"stem":17897,"title":17898,"date":17668,"chapterOrder":17899,"chapterDepth":121,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17901,"stem":17902,"title":17903,"date":17668,"chapterOrder":17904,"chapterDepth":114,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17906,"stem":17907,"title":17908,"date":17668,"chapterOrder":17909,"chapterDepth":114,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17911,"stem":17912,"title":17913,"date":17668,"chapterOrder":17914,"chapterDepth":128,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17916,"stem":17917,"title":17918,"date":17668,"chapterOrder":17919,"chapterDepth":128,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17921,"stem":17922,"title":17923,"date":17668,"chapterOrder":17924,"chapterDepth":121,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17926,"stem":17927,"title":17928,"date":17668,"chapterOrder":17929,"chapterDepth":121,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17931,"stem":17932,"title":17933,"date":17668,"chapterOrder":17934,"chapterDepth":121,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17936,"stem":17937,"title":17938,"date":17668,"chapterOrder":17939,"chapterDepth":114,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17941,"stem":17942,"title":17943,"date":17668,"chapterOrder":17944,"chapterDepth":17690,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17946,"stem":17947,"title":17948,"date":17668,"chapterOrder":17949,"chapterDepth":17690,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17951,"stem":17952,"title":17953,"date":17668,"chapterOrder":17954,"chapterDepth":17690,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17956,"stem":17957,"title":17958,"date":17668,"chapterOrder":17959,"chapterDepth":17690,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17961,"stem":17962,"title":17963,"date":17668,"chapterOrder":17964,"chapterDepth":17690,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1800-microros","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1800-MicroROS","MicroROS","1800",{"path":17966,"stem":17967,"title":17968,"date":17668,"chapterOrder":17969,"chapterDepth":17690,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\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":17971,"stem":17972,"title":17973,"date":17668,"chapterOrder":17974,"chapterDepth":17690,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":17675},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F2000-opencv","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F2000-OpenCV","OpenCV","2000",{"path":17671,"stem":17976,"title":17977,"date":17668,"chapterOrder":17676,"chapterDepth":17690,"docKey":17670,"docRoot":17671,"docTitle":17672,"isWikiDoc":117,"isWikiIndex":117},"_i18n\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002Findex","ROS2 Robot Operating System Tutorial",{"variants":17979},[17980,17981,17984,17987,17990],{"path":17666,"localeSlug":17678,"i18nKey":17674},{"path":17982,"localeSlug":17983,"i18nKey":17674},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-ignitiongazebo","zh-hant",{"path":17985,"localeSlug":17986,"i18nKey":17674},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-ignitiongazebo","zh-hk",{"path":17988,"localeSlug":17989,"i18nKey":17674},"\u002Fzh-tw\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-ignitiongazebo","zh-tw",{"path":17991,"localeSlug":17992,"i18nKey":17674},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-ignitiongazebo","zh-cn",[17666,17681,17982,17681,17985,17681,17988,17681,17991,17681],1784646853596]