[{"data":1,"prerenderedAt":17900},["ShallowReactive",2],{"wiki-page-\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-ignitiongazebo":3,"wiki-doc-items-\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-ignitiongazebo":17590,"language-switcher-data-\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-ignitiongazebo":17884,"wiki-i18n-paths-\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-ignitiongazebo":17899},{"id":4,"title":5,"body":6,"canonicalPath":17573,"chapterDepth":115,"chapterOrder":17574,"date":17575,"description":107,"docI18nKey":17576,"docKey":17577,"docRoot":17578,"docTitle":17579,"extension":17580,"i18nKey":17581,"isBlogPost":17582,"isWikiDoc":118,"isWikiIndex":17582,"layout":17583,"legacyPath":17584,"locale":17585,"localeSlug":17586,"meta":17587,"navigation":118,"path":17573,"seo":17588,"sourcePath":17584,"sourceStem":17581,"stem":17581,"wikiDepth":115,"__hash__":17589},"content\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-IgnitionGazebo.md","Ignition Gazebo（Gazebo Fortress）",{"type":7,"value":8,"toc":17570},"minimark",[9,14,18,26,31,34,37,40,43,46,62,65,71,74,80,86,93,98,101,197,203,208,211,214,251,254,273,280,285,290,293,298,301,304,309,316,322,327,332,337,342,347,352,357,365,370,456,461,466,471,476,481,486,489,494,508,513,516,519,524,529,533,536,547,550,555,562,607,610,632,635,640,645,652,673,687,692,698,722,725,730,733,736,741,744,770,781,784,787,807,810,813,821,824,830,833,845,848,860,863,875,878,902,909,914,917,1368,1371,1396,1400,1407,1412,1415,1433,1438,1443,1446,1467,1470,1475,1480,1483,1488,1493,1500,1503,1508,1511,1532,1537,1542,1545,2163,2166,2171,2176,2179,2197,2202,2207,2210,2235,2238,2254,2269,2274,2281,2284,2289,2336,2339,2344,2364,2369,2372,2524,2527,2713,2716,2877,2882,2889,2892,2895,2898,2903,2908,6120,6125,6204,6207,9094,9099,9102,9290,9295,9297,9311,9316,9318,9340,9343,9346,9351,9357,9360,9365,9368,9374,9377,9380,9385,9388,9436,9442,9447,9466,9471,9474,9477,12845,12849,12851,12865,12869,12871,12891,12893,12898,12902,12905,12908,12914,12919,12922,12927,12930,13222,13225,13230,13233,13610,13614,13616,13635,13639,13642,13684,13686,13691,13699,13702,13708,13714,13719,13725,13728,13734,13821,13824,13827,13945,13950,13957,14289,14294,14627,14630,15083,15088,15091,15611,15615,15617,15633,15637,15639,15673,15676,15690,15693,15696,15712,15715,15723,15728,15732,15735,15740,15750,15824,15827,15832,15837,15840,16690,16693,16856,16863,16866,16893,16896,16901,16903,17465,17469,17471,17487,17491,17493,17527,17529,17532,17546,17551,17556,17558,17563,17566],[10,11,13],"h3",{"id":12},"ignition-gazebogazebo-fortress基于ros2-humble","Ignition Gazebo（Gazebo Fortress，基于ROS2 Humble）",[15,16,17],"p",{},"** 建议使用ROS2 Jazzy的，这个ROS2 Humble的Gazebo像过渡版本，代码可能和后续版本又冲突！ **\n(该版本教程已经停更，以后会专注于更新ROS2 Jazzy及之后的版本，也就是更新Gazebo Harmonic及之后的版本。)",[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安装与运行","Ign Gazebo安装与运行",[15,32,33],{},"Gazebo每个版本的变化都很大。",[15,35,36],{},"特别是ROS1用的老版Gazebo(黑色界面)和ROS2用的新版Gazebo(白色界面)。",[15,38,39],{},"ROS2的不同版本的Gazebo跨度也很大，比如Humble和Jazzy及Jazzy之后的版本之间很多标签区别很大。",[15,41,42],{},"本文使用humble版本(即Ignition Gazebo)当做教程。",[15,44,45],{},"当然，为了兼容以后的Gazebo，在下方也会有教程教你如何从ign gazebo迁移到gazebo sim（最最最新版gazebo）。",[15,47,48,49,53,54,61],{},"Ignition Gazebo 是 ROS2 中使用的全新机器人仿真工具，",[50,51,52],"strong",{},"它是 Gazebo 的升级版本","。在Humble他还叫Ignition Gazebo(也叫Gazebo Fortress)，在Jazzy中叫Gazebo Harmonic(去掉了Ignition的名字)(",[55,56,60],"a",{"href":57,"rel":58},"https:\u002F\u002Fcommunity.gazebosim.org\u002Ft\u002Fa-new-era-for-gazebo\u002F1356)%E3%80%82%E5%AE%83%E5%85%B7%E5%A4%87%E6%9B%B4%E5%A5%BD%E7%9A%84%E6%80%A7%E8%83%BD%E5%92%8C%E5%8F%AF%E7%94%A8%E6%80%A7%EF%BC%8C%E5%B9%B6%E9%80%9A%E8%BF%87%E7%B4%A7%E5%AF%86%E9%9B%86%E6%88%90",[59],"nofollow","https:\u002F\u002Fcommunity.gazebosim.org\u002Ft\u002Fa-new-era-for-gazebo\u002F1356)。它具备更好的性能和可用性，并通过紧密集成"," ROS2 来提供强大的仿真环境。Ignition Gazebo 支持各种机器人平台和传感器，并提供灵活的配置选项和易于使用的界面。它的物理引擎和传感器模型可以帮助开发人员进行机器人系统的开发、测试和验证。无论是研究还是教育，Ignition Gazebo 都是一个强大的工具。",[15,63,64],{},"如果想从Ignition Gazebo(ROS2 Humble)迁移到Gazebo(ROS2 Jazzy)，请往下翻翻，下面有一节是讲如何迁移的。",[15,66,67],{},[55,68,69],{"href":69,"rel":70},"https:\u002F\u002Fdocs.ros.org\u002Fen\u002Fhumble\u002FTutorials\u002FAdvanced\u002FSimulators\u002FGazebo\u002FGazebo.html",[59],[15,72,73],{},"下面这个网站是官方教程(ROS2 Humble的Ignition Gazebo Fortress)：",[15,75,76],{},[55,77,78],{"href":78,"rel":79},"https:\u002F\u002Fgazebosim.org\u002Fdocs\u002Ffortress\u002Fgetstarted\u002F",[59],[15,81,82],{},[55,83,84],{"href":84,"rel":85},"https:\u002F\u002Fgazebosim.org\u002Fdocs\u002Ffortress\u002Flibrary_reference_nav\u002F",[59],[15,87,88,89],{},"源码：",[55,90,91],{"href":91,"rel":92},"https:\u002F\u002Fgithub.com\u002Fgazebosim\u002Fdocs\u002Fblob\u002Fmaster\u002Ffortress\u002Ftutorials",[59],[15,94,95],{},[50,96,97],{},"安装",[15,99,100],{},"Ignition Gazebo 是不依赖于ROS2的一个独立的项目，可以独自安装。但是如果安装了ROS2，在ROS2存储库中已经集成了对应版本的 Ignition Gazebo，可以调用如下指令直接安装：",[102,103,108],"pre",{"className":104,"code":105,"language":106,"meta":107,"style":107},"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","",[109,110,111,120,127,151,156,162,174,179,185],"code",{"__ignoreMap":107},[112,113,116],"span",{"class":114,"line":115},"line",1,[112,117,119],{"emptyLinePlaceholder":118},true,"\n",[112,121,123],{"class":114,"line":122},2,[112,124,126],{"class":125},"sJ8bj","# 通用命令\n",[112,128,130,134,138,141,144,148],{"class":114,"line":129},3,[112,131,133],{"class":132},"sScJk","sudo",[112,135,137],{"class":136},"sZZnC"," apt",[112,139,140],{"class":136}," install",[112,142,143],{"class":136}," ros-",[112,145,147],{"class":146},"sVt8B","${ROS_DISTRO}",[112,149,150],{"class":136},"-ros-gz\n",[112,152,154],{"class":114,"line":153},4,[112,155,119],{"emptyLinePlaceholder":118},[112,157,159],{"class":114,"line":158},5,[112,160,161],{"class":125},"# Humble版本\n",[112,163,165,167,169,171],{"class":114,"line":164},6,[112,166,133],{"class":132},[112,168,137],{"class":136},[112,170,140],{"class":136},[112,172,173],{"class":136}," ros-humble-ros-gz\n",[112,175,177],{"class":114,"line":176},7,[112,178,119],{"emptyLinePlaceholder":118},[112,180,182],{"class":114,"line":181},8,[112,183,184],{"class":125},"# Jazzy版本\n",[112,186,188,190,192,194],{"class":114,"line":187},9,[112,189,133],{"class":132},[112,191,137],{"class":136},[112,193,140],{"class":136},[112,195,196],{"class":136}," ros-jazzy-ros-gz\n",[15,198,199],{},[200,201],"img",{"alt":107,"src":202},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1705.webp",[15,204,205],{},[50,206,207],{},"运行",[15,209,210],{},"Ignition Gazebo 安装完毕之后，可以通过两种方式启动。",[15,212,213],{},"方式1，以Ignition Gazebo 的方式启动，指令如下：",[102,215,217],{"className":104,"code":216,"language":106,"meta":107,"style":107},"\n# Humble版本\nign gazebo\n\n# Jazzy版本\ngz sim\n",[109,218,219,223,227,235,239,243],{"__ignoreMap":107},[112,220,221],{"class":114,"line":115},[112,222,119],{"emptyLinePlaceholder":118},[112,224,225],{"class":114,"line":122},[112,226,161],{"class":125},[112,228,229,232],{"class":114,"line":129},[112,230,231],{"class":132},"ign",[112,233,234],{"class":136}," gazebo\n",[112,236,237],{"class":114,"line":153},[112,238,119],{"emptyLinePlaceholder":118},[112,240,241],{"class":114,"line":158},[112,242,184],{"class":125},[112,244,245,248],{"class":114,"line":164},[112,246,247],{"class":132},"gz",[112,249,250],{"class":136}," sim\n",[15,252,253],{},"方式2，以ROS2的方式 启动，指令如下 ：",[102,255,257],{"className":104,"code":256,"language":106,"meta":107,"style":107},"ros2 launch ros_gz_sim gz_sim.launch.py\n",[109,258,259],{"__ignoreMap":107},[112,260,261,264,267,270],{"class":114,"line":115},[112,262,263],{"class":132},"ros2",[112,265,266],{"class":136}," launch",[112,268,269],{"class":136}," ros_gz_sim",[112,271,272],{"class":136}," gz_sim.launch.py\n",[15,274,275,276,279],{},"二者运行结果一致，如下图所示：在弹出窗口中，选择仿真环境然后点击",[109,277,278],{},"run","按钮即可运行。",[15,281,282],{},[200,283],{"alt":107,"src":284},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1706.webp",[15,286,287],{},[50,288,289],{},"界面介绍",[15,291,292],{},"接下来以Empty仿真环境为例，介绍一下Ignition Gazebo的界面组成。",[15,294,295],{},[200,296],{"alt":107,"src":297},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1707.webp",[15,299,300],{},"注意：如果你的Gazebo不卡，但是Ignition Gazebo巨卡的话，请确认Ignition Gazebo是以独显打开的，而不是核显。",[15,302,303],{},"如果不会切换应用显卡，可以直接把核显关闭掉，从混合输出切换为独立显卡输出。",[15,305,306],{},[50,307,308],{},"工具栏",[310,311,312],"ul",{},[313,314,315],"li",{},"顶部的工具栏包含两个按钮，左侧的文件菜单按钮（水平条纹）和右侧的插件按钮（垂直省略号）。",[317,318,319],"ol",{},[313,320,321],{},"文件菜单按钮（水平条纹）",[15,323,324],{},[200,325],{"alt":107,"src":326},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1708.webp",[310,328,329],{},[313,330,331],{},"文件菜单按钮包含将仿真环境保存到文件、保存和加载界面配置以及自定义界面样式等设置。",[317,333,334],{"start":122},[313,335,336],{},"右侧的插件按钮（垂直省略号）",[15,338,339],{},[200,340],{"alt":107,"src":341},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1709.webp",[310,343,344],{},[313,345,346],{},"插件按钮列出了所有可用的插件。点击后会弹出插件列表，向下滚动此列表以查看所有插件。 当选择一个时，其界面将出现在右侧面板中。",[15,348,349],{},[50,350,351],{},"3D视窗",[310,353,354],{},[313,355,356],{},"左上方工具栏包含多种几何体（球体、框体、圆柱体）按钮和变换控件。通过集合体按钮可以直接将盒子、球体或圆柱体模型插入仿真环境。只需单击要插入的形状，然后将其放入环境中。该形状将自动捕捉到地平面上。",[15,358,359,362],{},[200,360],{"alt":107,"src":361},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1710.webp",[200,363],{"alt":107,"src":364},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1711.webp",[310,366,367],{},[313,368,369],{},"主视图会显示仿真环境，我们可以通过鼠标以不同方式来导航场景，相关操作如下：",[102,371,373],{"className":104,"code":372,"language":106,"meta":107,"style":107},"左键单击：选择实体\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",[109,374,375,380,385,393,398,403,408,416,427,432,438,444,450],{"__ignoreMap":107},[112,376,377],{"class":114,"line":115},[112,378,379],{"class":132},"左键单击：选择实体\n",[112,381,382],{"class":114,"line":122},[112,383,384],{"class":132},"右键单击：打开带有选项的菜单：\n",[112,386,387,390],{"class":114,"line":129},[112,388,389],{"class":132},"   Move",[112,391,392],{"class":136}," to：移动到以实体为中心的场景\n",[112,394,395],{"class":114,"line":153},[112,396,397],{"class":132},"   Follow：选择一个实体让视图保持居中，无论是移动还是平移\n",[112,399,400],{"class":114,"line":158},[112,401,402],{"class":132},"   Remove：从模拟中删除实体\n",[112,404,405],{"class":114,"line":164},[112,406,407],{"class":132},"   Copy：复制实体\n",[112,409,410,413],{"class":114,"line":176},[112,411,412],{"class":132},"   Past:",[112,414,415],{"class":136}," 粘贴实体\n",[112,417,418,421,424],{"class":114,"line":181},[112,419,420],{"class":132},"   View：显示实体的重心（Center",[112,422,423],{"class":136}," of",[112,425,426],{"class":136}," Mass）、碰撞边界（Collisions）、惯性（Inertia）、\n",[112,428,429],{"class":114,"line":187},[112,430,431],{"class":132},"         关节（Joints）、坐标系（Frames）、透明度（Transparent）、线框（Wireframe）等属性\n",[112,433,435],{"class":114,"line":434},10,[112,436,437],{"class":132},"左键单击并拖动：在场景中平移\n",[112,439,441],{"class":114,"line":440},11,[112,442,443],{"class":132},"右键单击并拖动：放大和缩小\n",[112,445,447],{"class":114,"line":446},12,[112,448,449],{"class":132},"滚轮向前\u002F向后：放大和缩小\n",[112,451,453],{"class":114,"line":452},13,[112,454,455],{"class":132},"滚轮单击并拖动：旋转场景\n",[310,457,458],{},[313,459,460],{},"想移动这个球，需要点左上角的移动模式，再左键单击选中物体",[15,462,463],{},[200,464],{"alt":107,"src":465},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1712.webp",[15,467,468],{},[200,469],{"alt":107,"src":470},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1713.webp",[310,472,473],{},[313,474,475],{},"在视窗的底部，从左到右分别是是播放、步长按钮和实时因子（Real-Time Factor，RTF）。点击播放按钮将开始运行仿真环境， 再次点击可以暂停运行。步长按钮用于设置仿真时间的离散单位，可以通过将鼠标悬停在按钮上来自定义步长。实时因子表示仿真运行速度相对于真实时间的比例。",[15,477,478],{},[200,479],{"alt":107,"src":480},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1714.webp",[15,482,483],{},[50,484,485],{},"右侧面板",[15,487,488],{},"右侧面板用于显示插件，当前仿真环境默认包含两个插件：Model和Entity Tree。",[15,490,491],{},[200,492],{"alt":107,"src":493},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1715.webp",[310,495,496,499,502,505],{},[313,497,498],{},"Entity Tree 中会显示仿真环境中的实体列表；",[313,500,501],{},"点击Entity Tree中的实体后，可以在Model中显示该实体的相关信息。",[313,503,504],{},"也可以按住 Ctrl 并单击以选择多个实体；",[313,506,507],{},"还可以右键单击任何插件以打开基本设置或关闭。",[15,509,510],{},[200,511],{"alt":107,"src":512},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1716.webp",[15,514,515],{},"在Ignition Gazebo中内置了许多插件，可以点击工具栏的右侧按钮自行添加，比如：可以选择 Grid Config 插件调整世界网格的特征，包括单元格大小、网格位置、单元格计数、或颜色等。",[15,517,518],{},"后期随着应用的深入，也会陆续介绍其他一些插件。",[15,520,521],{},[200,522],{"alt":107,"src":523},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1717.webp",[15,525,526],{},[200,527],{"alt":107,"src":528},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1718.webp",[27,530,532],{"id":531},"与ros2集成","与ROS2集成",[15,534,535],{},"本节将介绍如何实现Ignition Gazebo与ROS2的集成，以实现二者之间的交互，比如，可以通过ROS2的键盘控制节点控制机器人运动，并且在rviz2中显示机器人的里程计(odom)数据。其流程大致如下：",[317,537,538,541,544],{},[313,539,540],{},"启动 Ignition Gazebo 仿真环境；",[313,542,543],{},"通过 ros_gz_bridge 建立 ROS2 与 Ignition Gazebo 的连接；",[313,545,546],{},"启动 ROS2 相关节点实现与 Ignition Gazebo 的数据收发。",[15,548,549],{},"Ignition Gazebo与ROS2的的所有集成实现，基本都遵循上述流程。",[15,551,552],{},[50,553,554],{},"启动仿真环境",[15,556,557,558,561],{},"在 Ignition Gazebo 安装时，已经内置了一些仿真环境，直接启动即可。在此我们可以使用名为",[109,559,560],{},"visualize_lidar.sdf","的仿真文件，该文件对应的仿真环境中包括了差速机器人以及激光雷达的仿真。启动指令如下：",[102,563,565],{"className":104,"code":564,"language":106,"meta":107,"style":107},"ign gazebo -v 4 -r visualize_lidar.sdf\n#或者\ngz sim -v 4 -r visualize_lidar.sdf\n",[109,566,567,587,592],{"__ignoreMap":107},[112,568,569,571,574,578,581,584],{"class":114,"line":115},[112,570,231],{"class":132},[112,572,573],{"class":136}," gazebo",[112,575,577],{"class":576},"sj4cs"," -v",[112,579,580],{"class":576}," 4",[112,582,583],{"class":576}," -r",[112,585,586],{"class":136}," visualize_lidar.sdf\n",[112,588,589],{"class":114,"line":122},[112,590,591],{"class":125},"#或者\n",[112,593,594,596,599,601,603,605],{"class":114,"line":129},[112,595,247],{"class":132},[112,597,598],{"class":136}," sim",[112,600,577],{"class":576},[112,602,580],{"class":576},[112,604,583],{"class":576},[112,606,586],{"class":136},[15,608,609],{},"或者也可以以ROS2 launch的方式启动，指令如下：",[102,611,613],{"className":104,"code":612,"language":106,"meta":107,"style":107},"ros2 launch ros_gz_sim gz_sim.launch.py gz_args:=\"-v 4 -r visualize_lidar.sdf\" # 启动状态\n",[109,614,615],{"__ignoreMap":107},[112,616,617,619,621,623,626,629],{"class":114,"line":115},[112,618,263],{"class":132},[112,620,266],{"class":136},[112,622,269],{"class":136},[112,624,625],{"class":136}," gz_sim.launch.py",[112,627,628],{"class":136}," gz_args:=\"-v 4 -r visualize_lidar.sdf\"",[112,630,631],{"class":125}," # 启动状态\n",[15,633,634],{},"两种方式本质相同，都是启动了Ignition Gazebo并且加载了visualize_lidar.sdf文件。",[15,636,637],{},[200,638],{"alt":107,"src":639},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1719.webp",[15,641,642],{},[50,643,644],{},"建立连接",[15,646,647,648,651],{},"虽然仿真环境中的机器人已经配置了运动控制插件，可以通过",[109,649,650],{},"\u002Fmodel\u002Fvehicle_blue\u002Fcmd_vel","话题订阅速度指令并运动，但是Ignition Gazebo与ROS2中的消息格式并不一致，所以还需要通过ros_gz_bridge这一桥接功能包，实现二者之间消息的转换，调用指令如下：",[102,653,655],{"className":104,"code":654,"language":106,"meta":107,"style":107},"ros2 run ros_gz_bridge parameter_bridge \u002Fmodel\u002Fvehicle_blue\u002Fcmd_vel@geometry_msgs\u002Fmsg\u002FTwist]gz.msgs.Twist\n",[109,656,657],{"__ignoreMap":107},[112,658,659,661,664,667,670],{"class":114,"line":115},[112,660,263],{"class":132},[112,662,663],{"class":136}," run",[112,665,666],{"class":136}," ros_gz_bridge",[112,668,669],{"class":136}," parameter_bridge",[112,671,672],{"class":136}," \u002Fmodel\u002Fvehicle_blue\u002Fcmd_vel@geometry_msgs\u002Fmsg\u002FTwist]gz.msgs.Twist\n",[15,674,675,676,678,679,682,683,686],{},"通过该指令可以将发布在",[109,677,650],{},"话题上的",[109,680,681],{},"geometry_msgs\u002Fmsg\u002FTwist","类型的ROS2消息转换成可以被Ignition Gzebo识别的",[109,684,685],{},"gz.msgs.Twist","类型的消息。",[15,688,689],{},[50,690,691],{},"启动ROS2节点",[15,693,694,695,697],{},"启动ROS2的键盘控制节点，并将话题重映射为",[109,696,650],{},"，指令如下：",[102,699,701],{"className":104,"code":700,"language":106,"meta":107,"style":107},"ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args -r \u002Fcmd_vel:=\u002Fmodel\u002Fvehicle_blue\u002Fcmd_vel\n",[109,702,703],{"__ignoreMap":107},[112,704,705,707,709,712,714,717,719],{"class":114,"line":115},[112,706,263],{"class":132},[112,708,663],{"class":136},[112,710,711],{"class":136}," teleop_twist_keyboard",[112,713,711],{"class":136},[112,715,716],{"class":576}," --ros-args",[112,718,583],{"class":576},[112,720,721],{"class":136}," \u002Fcmd_vel:=\u002Fmodel\u002Fvehicle_blue\u002Fcmd_vel\n",[15,723,724],{},"接下来就可以使用键盘控制机器人运动了。",[15,726,727],{},[200,728],{"alt":107,"src":729},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1720.webp",[27,731,732],{"id":732},"ros_gz_bridge",[15,734,735],{},"ros_gz_bridge是连接ROS2与Ignition Gazebo的桥梁，ROS2与Ignition Gazebo使用的消息并不兼容，必须通过ros_gz_bridge进行转换。",[15,737,738],{},[50,739,740],{},"ros_gz_bridge使用语法",[15,742,743],{},"ROS2与Ignition Gazebo的桥接是通过ros_gz_bridge包中的parameter_bridge节点实现，其使用语法如下：",[102,745,747],{"className":104,"code":746,"language":106,"meta":107,"style":107},"parameter_bridge [\u003Ctopic@ROS2_type@Gz_type> ..]  [\u003Cservice@ROS2_srv_type[@Gz_req_type@Gz_rep_type]> ..]\n",[109,748,749],{"__ignoreMap":107},[112,750,751,754,757,760,763,767],{"class":114,"line":115},[112,752,753],{"class":132},"parameter_bridge",[112,755,756],{"class":146}," [\u003Ctopic@ROS2_type@Gz_type> ",[112,758,759],{"class":136},"..]",[112,761,762],{"class":146},"  [\u003Cservice@ROS2_srv_type[@Gz_req_type@Gz_rep_type]",[112,764,766],{"class":765},"szBVR",">",[112,768,769],{"class":146}," ..]\n",[15,771,772,773,776,777,780],{},"在话题Topic中， ",[50,774,775],{},"第一个@"," 符号是话题名称和消息类型的 ",[50,778,779],{},"分隔符"," 。",[15,782,783],{},"第一个@符号后面是ROS消息类型。",[15,785,786],{},"ROS消息类型后面是@、[或]符号：",[310,788,789,795,801],{},[313,790,791,794],{},[50,792,793],{},"@","  表示双向桥接；",[313,796,797,800],{},[50,798,799],{},"[","  表示从Ignition Gazebo到ROS的桥接；",[313,802,803,806],{},[50,804,805],{},"]","  表示从ROS到Ignition Gazebo的桥接。",[15,808,809],{},"方向符号后是Gazebo Transport消息类型。",[15,811,812],{},"（两个@不是同一个含义）",[15,814,815,816,818,819,780],{},"在服务Service中， ",[50,817,775],{}," 符号是服务名称和类型的 ",[50,820,779],{},[15,822,823],{},"第一个@符号后面是ROS服务类型。可以选择地包括Gazebo请求和响应类型，在它们之间用@符号分隔。",[15,825,826,829],{},[50,827,828],{},"仅"," 支持将Gazebo服务公开为ROS服务，即ROS服务将请求转发到Gazebo服务，然后将响应转发回ROS客户端。",[15,831,832],{},"双向桥接示例：",[102,834,836],{"className":104,"code":835,"language":106,"meta":107,"style":107},"parameter_bridge \u002Fchatter@std_msgs\u002FString@gz.msgs.StringMsg\n",[109,837,838],{"__ignoreMap":107},[112,839,840,842],{"class":114,"line":115},[112,841,753],{"class":132},[112,843,844],{"class":136}," \u002Fchatter@std_msgs\u002FString@gz.msgs.StringMsg\n",[15,846,847],{},"从Gazebo到ROS的桥接示例：",[102,849,851],{"className":104,"code":850,"language":106,"meta":107,"style":107},"parameter_bridge \u002Fchatter@std_msgs\u002FString[gz.msgs.StringMsg\n",[109,852,853],{"__ignoreMap":107},[112,854,855,857],{"class":114,"line":115},[112,856,753],{"class":132},[112,858,859],{"class":136}," \u002Fchatter@std_msgs\u002FString[gz.msgs.StringMsg\n",[15,861,862],{},"从ROS到Gazebo的桥接示例：",[102,864,866],{"className":104,"code":865,"language":106,"meta":107,"style":107},"parameter_bridge \u002Fchatter@std_msgs\u002FString]gz.msgs.StringMsg\n",[109,867,868],{"__ignoreMap":107},[112,869,870,872],{"class":114,"line":115},[112,871,753],{"class":132},[112,873,874],{"class":136}," \u002Fchatter@std_msgs\u002FString]gz.msgs.StringMsg\n",[15,876,877],{},"服务桥接示例：",[102,879,881],{"className":104,"code":880,"language":106,"meta":107,"style":107},"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",[109,882,883,890,895],{"__ignoreMap":107},[112,884,885,887],{"class":114,"line":115},[112,886,753],{"class":132},[112,888,889],{"class":136}," \u002Fworld\u002Fdefault\u002Fcontrol@ros_gz_interfaces\u002Fsrv\u002FControlWorld\n",[112,891,892],{"class":114,"line":122},[112,893,894],{"class":132},"或者：\n",[112,896,897,899],{"class":114,"line":129},[112,898,753],{"class":132},[112,900,901],{"class":136}," \u002Fworld\u002Fdefault\u002Fcontrol@ros_gz_interfaces\u002Fsrv\u002FControlWorld@gz.msgs.WorldControl@gz.msgs.Boolean\n",[15,903,904,905,908],{},"也可以运行",[109,906,907],{},"ros2 run ros_gz_bridge parameter_bridge -h","指令查看官方说明文档。",[15,910,911],{},[50,912,913],{},"ros_gz_bridge支持的消息类型",[15,915,916],{},"以下是ROS2与Ignition Gazebo中话题消息类型对应表：",[918,919,920,934],"table",{},[921,922,923],"thead",{},[924,925,926,931],"tr",{},[927,928,930],"th",{"align":929},"left","ROS2消息类型",[927,932,933],{"align":929},"Gazebo Transport 类型",[935,936,937,946,954,962,970,977,985,993,1000,1007,1013,1021,1028,1035,1043,1050,1058,1065,1073,1081,1089,1097,1105,1113,1121,1129,1137,1145,1153,1161,1169,1177,1185,1193,1201,1209,1217,1225,1233,1241,1249,1257,1265,1273,1281,1289,1297,1305,1313,1321,1329,1337,1345,1353,1360],"tbody",{},[924,938,939,943],{},[940,941,942],"td",{"align":929},"builtin_interfaces\u002Fmsg\u002FTime",[940,944,945],{"align":929},"gz.msgs.Time",[924,947,948,951],{},[940,949,950],{"align":929},"geometry_msgs\u002Fmsg\u002FPoint",[940,952,953],{"align":929},"gz.msgs.Vector3d",[924,955,956,959],{},[940,957,958],{"align":929},"geometry_msgs\u002Fmsg\u002FPose",[940,960,961],{"align":929},"gz.msgs.Pose",[924,963,964,967],{},[940,965,966],{"align":929},"geometry_msgs\u002Fmsg\u002FPoseArray",[940,968,969],{"align":929},"gz.msgs.Pose_V",[924,971,972,975],{},[940,973,974],{"align":929},"geometry_msgs\u002Fmsg\u002FPoseStamped",[940,976,961],{"align":929},[924,978,979,982],{},[940,980,981],{"align":929},"geometry_msgs\u002Fmsg\u002FPoseWithCovariance",[940,983,984],{"align":929},"gz.msgs.PoseWithCovariance",[924,986,987,990],{},[940,988,989],{"align":929},"geometry_msgs\u002Fmsg\u002FQuaternion",[940,991,992],{"align":929},"gz.msgs.Quaternion",[924,994,995,998],{},[940,996,997],{"align":929},"geometry_msgs\u002Fmsg\u002FTransform",[940,999,961],{"align":929},[924,1001,1002,1005],{},[940,1003,1004],{"align":929},"geometry_msgs\u002Fmsg\u002FTransformStamped",[940,1006,961],{"align":929},[924,1008,1009,1011],{},[940,1010,681],{"align":929},[940,1012,685],{"align":929},[924,1014,1015,1018],{},[940,1016,1017],{"align":929},"geometry_msgs\u002Fmsg\u002FTwistWithCovariance",[940,1019,1020],{"align":929},"gz.msgs.TwistWithCovariance",[924,1022,1023,1026],{},[940,1024,1025],{"align":929},"geometry_msgs\u002Fmsg\u002FTwistWithCovarianceStamped",[940,1027,1020],{"align":929},[924,1029,1030,1033],{},[940,1031,1032],{"align":929},"geometry_msgs\u002Fmsg\u002FVector3",[940,1034,953],{"align":929},[924,1036,1037,1040],{},[940,1038,1039],{"align":929},"geometry_msgs\u002Fmsg\u002FWrench",[940,1041,1042],{"align":929},"gz.msgs.Wrench",[924,1044,1045,1048],{},[940,1046,1047],{"align":929},"geometry_msgs\u002Fmsg\u002FWrenchStamped",[940,1049,1042],{"align":929},[924,1051,1052,1055],{},[940,1053,1054],{"align":929},"nav_msgs\u002Fmsg\u002FOdometry",[940,1056,1057],{"align":929},"gz.msgs.Odometry",[924,1059,1060,1062],{},[940,1061,1054],{"align":929},[940,1063,1064],{"align":929},"gz.msgs.OdometryWithCovariance",[924,1066,1067,1070],{},[940,1068,1069],{"align":929},"rcl_interfaces\u002Fmsg\u002FParameterValue",[940,1071,1072],{"align":929},"gz.msgs.Any",[924,1074,1075,1078],{},[940,1076,1077],{"align":929},"ros_gz_interfaces\u002Fmsg\u002FAltimeter",[940,1079,1080],{"align":929},"gz.msgs.Altimeter",[924,1082,1083,1086],{},[940,1084,1085],{"align":929},"ros_gz_interfaces\u002Fmsg\u002FContact",[940,1087,1088],{"align":929},"gz.msgs.Contact",[924,1090,1091,1094],{},[940,1092,1093],{"align":929},"ros_gz_interfaces\u002Fmsg\u002FContacts",[940,1095,1096],{"align":929},"gz.msgs.Contacts",[924,1098,1099,1102],{},[940,1100,1101],{"align":929},"ros_gz_interfaces\u002Fmsg\u002FDataframe",[940,1103,1104],{"align":929},"gz.msgs.Dataframe",[924,1106,1107,1110],{},[940,1108,1109],{"align":929},"ros_gz_interfaces\u002Fmsg\u002FEntity",[940,1111,1112],{"align":929},"gz.msgs.Entity",[924,1114,1115,1118],{},[940,1116,1117],{"align":929},"ros_gz_interfaces\u002Fmsg\u002FFloat32Array",[940,1119,1120],{"align":929},"gz.msgs.Float_V",[924,1122,1123,1126],{},[940,1124,1125],{"align":929},"ros_gz_interfaces\u002Fmsg\u002FGuiCamera",[940,1127,1128],{"align":929},"gz.msgs.GUICamera",[924,1130,1131,1134],{},[940,1132,1133],{"align":929},"ros_gz_interfaces\u002Fmsg\u002FJointWrench",[940,1135,1136],{"align":929},"gz.msgs.JointWrench",[924,1138,1139,1142],{},[940,1140,1141],{"align":929},"ros_gz_interfaces\u002Fmsg\u002FLight",[940,1143,1144],{"align":929},"gz.msgs.Light",[924,1146,1147,1150],{},[940,1148,1149],{"align":929},"ros_gz_interfaces\u002Fmsg\u002FSensorNoise",[940,1151,1152],{"align":929},"gz.msgs.SensorNoise",[924,1154,1155,1158],{},[940,1156,1157],{"align":929},"ros_gz_interfaces\u002Fmsg\u002FStringVec",[940,1159,1160],{"align":929},"gz.msgs.StringMsg_V",[924,1162,1163,1166],{},[940,1164,1165],{"align":929},"ros_gz_interfaces\u002Fmsg\u002FTrackVisual",[940,1167,1168],{"align":929},"gz.msgs.TrackVisual",[924,1170,1171,1174],{},[940,1172,1173],{"align":929},"ros_gz_interfaces\u002Fmsg\u002FVideoRecord",[940,1175,1176],{"align":929},"gz.msgs.VideoRecord",[924,1178,1179,1182],{},[940,1180,1181],{"align":929},"ros_gz_interfaces\u002Fmsg\u002FWorldControl",[940,1183,1184],{"align":929},"gz.msgs.WorldControl",[924,1186,1187,1190],{},[940,1188,1189],{"align":929},"rosgraph_msgs\u002Fmsg\u002FClock*",[940,1191,1192],{"align":929},"gz.msgs.Clock*",[924,1194,1195,1198],{},[940,1196,1197],{"align":929},"sensor_msgs\u002Fmsg\u002FBatteryState",[940,1199,1200],{"align":929},"gz.msgs.BatteryState",[924,1202,1203,1206],{},[940,1204,1205],{"align":929},"sensor_msgs\u002Fmsg\u002FCameraInfo",[940,1207,1208],{"align":929},"gz.msgs.CameraInfo",[924,1210,1211,1214],{},[940,1212,1213],{"align":929},"sensor_msgs\u002Fmsg\u002FFluidPressure",[940,1215,1216],{"align":929},"gz.msgs.FluidPressure",[924,1218,1219,1222],{},[940,1220,1221],{"align":929},"sensor_msgs\u002Fmsg\u002FImage",[940,1223,1224],{"align":929},"gz.msgs.Image",[924,1226,1227,1230],{},[940,1228,1229],{"align":929},"sensor_msgs\u002Fmsg\u002FImu",[940,1231,1232],{"align":929},"gz.msgs.IMU",[924,1234,1235,1238],{},[940,1236,1237],{"align":929},"sensor_msgs\u002Fmsg\u002FJointState",[940,1239,1240],{"align":929},"gz.msgs.Model",[924,1242,1243,1246],{},[940,1244,1245],{"align":929},"sensor_msgs\u002Fmsg\u002FJoy",[940,1247,1248],{"align":929},"gz.msgs.Joy",[924,1250,1251,1254],{},[940,1252,1253],{"align":929},"sensor_msgs\u002Fmsg\u002FLaserScan",[940,1255,1256],{"align":929},"gz.msgs.LaserScan",[924,1258,1259,1262],{},[940,1260,1261],{"align":929},"sensor_msgs\u002Fmsg\u002FMagneticField",[940,1263,1264],{"align":929},"gz.msgs.Magnetometer",[924,1266,1267,1270],{},[940,1268,1269],{"align":929},"sensor_msgs\u002Fmsg\u002FNavSatFix",[940,1271,1272],{"align":929},"gz.msgs.NavSat",[924,1274,1275,1278],{},[940,1276,1277],{"align":929},"sensor_msgs\u002Fmsg\u002FPointCloud2",[940,1279,1280],{"align":929},"gz.msgs.PointCloudPacked",[924,1282,1283,1286],{},[940,1284,1285],{"align":929},"std_msgs\u002Fmsg\u002FBool",[940,1287,1288],{"align":929},"gz.msgs.Boolean",[924,1290,1291,1294],{},[940,1292,1293],{"align":929},"std_msgs\u002Fmsg\u002FColorRGBA",[940,1295,1296],{"align":929},"gz.msgs.Color",[924,1298,1299,1302],{},[940,1300,1301],{"align":929},"std_msgs\u002Fmsg\u002FEmpty",[940,1303,1304],{"align":929},"gz.msgs.Empty",[924,1306,1307,1310],{},[940,1308,1309],{"align":929},"std_msgs\u002Fmsg\u002FFloat32",[940,1311,1312],{"align":929},"gz.msgs.Float",[924,1314,1315,1318],{},[940,1316,1317],{"align":929},"std_msgs\u002Fmsg\u002FFloat64",[940,1319,1320],{"align":929},"gz.msgs.Double",[924,1322,1323,1326],{},[940,1324,1325],{"align":929},"std_msgs\u002Fmsg\u002FHeader",[940,1327,1328],{"align":929},"gz.msgs.Header",[924,1330,1331,1334],{},[940,1332,1333],{"align":929},"std_msgs\u002Fmsg\u002FInt32",[940,1335,1336],{"align":929},"gz.msgs.Int32",[924,1338,1339,1342],{},[940,1340,1341],{"align":929},"std_msgs\u002Fmsg\u002FString",[940,1343,1344],{"align":929},"gz.msgs.StringMsg",[924,1346,1347,1350],{},[940,1348,1349],{"align":929},"std_msgs\u002Fmsg\u002FUInt32",[940,1351,1352],{"align":929},"gz.msgs.UInt32",[924,1354,1355,1358],{},[940,1356,1357],{"align":929},"tf2_msgs\u002Fmsg\u002FTFMessage",[940,1359,969],{"align":929},[924,1361,1362,1365],{},[940,1363,1364],{"align":929},"trajectory_msgs\u002Fmsg\u002FJointTrajectory",[940,1366,1367],{"align":929},"gz.msgs.JointTrajectory",[15,1369,1370],{},"以及服务消息类型对应表：",[918,1372,1373,1385],{},[921,1374,1375],{},[924,1376,1377,1379,1382],{},[927,1378,930],{"align":929},[927,1380,1381],{"align":929},"Gazebo 请求",[927,1383,1384],{"align":929},"Gazebo 响应",[935,1386,1387],{},[924,1388,1389,1392,1394],{},[940,1390,1391],{"align":929},"ros_gz_interfaces\u002Fsrv\u002FControlWorld",[940,1393,1184],{"align":929},[940,1395,1288],{"align":929},[27,1397,1399],{"id":1398},"与ros2集成优化","与ROS2集成优化",[15,1401,1402,1403,1406],{},"在 ",[50,1404,1405],{},"Ignition Gazebo与ROS2集成"," 实现中需要在终端中使用不同的指令启动不同模块，该流程实现稍显复杂，本节将介绍如何以launch文件的方式进行优化。",[15,1408,1409],{},[50,1410,1411],{},"新建功能包",[15,1413,1414],{},"请首先调用如下指令创建一个功能包：",[102,1416,1418],{"className":104,"code":1417,"language":106,"meta":107,"style":107},"ros2 pkg create demo_gazebo_sim\n",[109,1419,1420],{"__ignoreMap":107},[112,1421,1422,1424,1427,1430],{"class":114,"line":115},[112,1423,263],{"class":132},[112,1425,1426],{"class":136}," pkg",[112,1428,1429],{"class":136}," create",[112,1431,1432],{"class":136}," demo_gazebo_sim\n",[15,1434,1435],{},[200,1436],{"alt":107,"src":1437},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1721.webp",[15,1439,1440],{},[50,1441,1442],{},"添加目录",[15,1444,1445],{},"在新建的功能包下添加目录： launch、rviz、world。并在CmakeLists.txt中添加如下代码：",[102,1447,1451],{"className":1448,"code":1449,"language":1450,"meta":107,"style":107},"language-cmake shiki shiki-themes github-light github-dark","install(DIRECTORY rviz world launch DESTINATION share\u002F${PROJECT_NAME})\n","cmake",[109,1452,1453],{"__ignoreMap":107},[112,1454,1455,1458,1461,1464],{"class":114,"line":115},[112,1456,1457],{"class":765},"install",[112,1459,1460],{"class":146},"(DIRECTORY rviz world launch DESTINATION share\u002F",[112,1462,1463],{"class":765},"${PROJECT_NAME}",[112,1465,1466],{"class":146},")\n",[15,1468,1469],{},"launch目录用于存储launch文件，rviz目录由于存储rviz2的配置文件，而world目录则用于存储Ignition Gazebo仿真环境的相关文件。",[15,1471,1472],{},[200,1473],{"alt":107,"src":1474},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1722.webp",[15,1476,1477],{},[50,1478,1479],{},"rviz目录中生成rviz2的配置文件",[15,1481,1482],{},"启动 rviz2，直接将默认配置保存至当前功能包的rviz目录，保存文件命名为sim.rviz。",[15,1484,1485],{},[200,1486],{"alt":107,"src":1487},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1723.webp",[15,1489,1490],{},[50,1491,1492],{},"复制world文件",[15,1494,1495,1496,1499],{},"在ignition安装路径下的worlds目录（",[109,1497,1498],{},"\u002Fusr\u002Fshare\u002Fignition\u002Fignition-gazebo6\u002Fworlds","）中复制visualize_lidar.sdf文件至world目录。",[15,1501,1502],{},"如果该路径下没有，那可能在ROS的安装路径下：",[15,1504,1505],{},[109,1506,1507],{},"\u002Fopt\u002Fros\u002Fjazzy\u002Fopt\u002Fgz_sim_vendor\u002Fshare\u002Fgz\u002Fgz-sim8\u002Fworlds\u002F",[15,1509,1510],{},"如果还没有的话，手动查找一下：",[102,1512,1514],{"className":104,"code":1513,"language":106,"meta":107,"style":107},"sudo find \u002F -name \"visualize_lidar.sdf\"\n",[109,1515,1516],{"__ignoreMap":107},[112,1517,1518,1520,1523,1526,1529],{"class":114,"line":115},[112,1519,133],{"class":132},[112,1521,1522],{"class":136}," find",[112,1524,1525],{"class":136}," \u002F",[112,1527,1528],{"class":576}," -name",[112,1530,1531],{"class":136}," \"visualize_lidar.sdf\"\n",[15,1533,1534],{},[200,1535],{"alt":107,"src":1536},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1724.webp",[15,1538,1539],{},[50,1540,1541],{},"编写launch文件",[15,1543,1544],{},"launch目录下新建launch文件gazebo_sim_demo.launch.py，并输入如下内容：",[102,1546,1550],{"className":1547,"code":1548,"language":1549,"meta":107,"style":107},"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",[109,1551,1552,1560,1564,1577,1581,1593,1605,1616,1628,1640,1652,1656,1668,1672,1684,1689,1706,1721,1743,1748,1759,1765,1783,1795,1813,1819,1825,1830,1836,1847,1861,1873,1900,1916,1921,1926,1932,1942,1955,1968,1983,1991,1999,2005,2027,2038,2055,2070,2076,2087,2092,2097,2106,2112,2132,2145,2151,2157],{"__ignoreMap":107},[112,1553,1554,1557],{"class":114,"line":115},[112,1555,1556],{"class":765},"import",[112,1558,1559],{"class":146}," os\n",[112,1561,1562],{"class":114,"line":122},[112,1563,119],{"emptyLinePlaceholder":118},[112,1565,1566,1569,1572,1574],{"class":114,"line":129},[112,1567,1568],{"class":765},"from",[112,1570,1571],{"class":146}," ament_index_python.packages ",[112,1573,1556],{"class":765},[112,1575,1576],{"class":146}," get_package_share_directory\n",[112,1578,1579],{"class":114,"line":153},[112,1580,119],{"emptyLinePlaceholder":118},[112,1582,1583,1585,1588,1590],{"class":114,"line":158},[112,1584,1568],{"class":765},[112,1586,1587],{"class":146}," launch ",[112,1589,1556],{"class":765},[112,1591,1592],{"class":146}," LaunchDescription\n",[112,1594,1595,1597,1600,1602],{"class":114,"line":164},[112,1596,1568],{"class":765},[112,1598,1599],{"class":146}," launch.actions ",[112,1601,1556],{"class":765},[112,1603,1604],{"class":146}," DeclareLaunchArgument\n",[112,1606,1607,1609,1611,1613],{"class":114,"line":176},[112,1608,1568],{"class":765},[112,1610,1599],{"class":146},[112,1612,1556],{"class":765},[112,1614,1615],{"class":146}," IncludeLaunchDescription\n",[112,1617,1618,1620,1623,1625],{"class":114,"line":181},[112,1619,1568],{"class":765},[112,1621,1622],{"class":146}," launch.conditions ",[112,1624,1556],{"class":765},[112,1626,1627],{"class":146}," IfCondition\n",[112,1629,1630,1632,1635,1637],{"class":114,"line":187},[112,1631,1568],{"class":765},[112,1633,1634],{"class":146}," launch.launch_description_sources ",[112,1636,1556],{"class":765},[112,1638,1639],{"class":146}," PythonLaunchDescriptionSource\n",[112,1641,1642,1644,1647,1649],{"class":114,"line":434},[112,1643,1568],{"class":765},[112,1645,1646],{"class":146}," launch.substitutions ",[112,1648,1556],{"class":765},[112,1650,1651],{"class":146}," LaunchConfiguration\n",[112,1653,1654],{"class":114,"line":440},[112,1655,119],{"emptyLinePlaceholder":118},[112,1657,1658,1660,1663,1665],{"class":114,"line":446},[112,1659,1568],{"class":765},[112,1661,1662],{"class":146}," launch_ros.actions ",[112,1664,1556],{"class":765},[112,1666,1667],{"class":146}," Node\n",[112,1669,1670],{"class":114,"line":452},[112,1671,119],{"emptyLinePlaceholder":118},[112,1673,1675,1678,1681],{"class":114,"line":1674},14,[112,1676,1677],{"class":765},"def",[112,1679,1680],{"class":132}," generate_launch_description",[112,1682,1683],{"class":146},"():\n",[112,1685,1687],{"class":114,"line":1686},15,[112,1688,119],{"emptyLinePlaceholder":118},[112,1690,1692,1695,1698,1701,1704],{"class":114,"line":1691},16,[112,1693,1694],{"class":146},"    this_pkg ",[112,1696,1697],{"class":765},"=",[112,1699,1700],{"class":146}," get_package_share_directory(",[112,1702,1703],{"class":136},"'demo_gazebo_sim'",[112,1705,1466],{"class":146},[112,1707,1709,1712,1714,1716,1719],{"class":114,"line":1708},17,[112,1710,1711],{"class":146},"    pkg_ros_gz_sim ",[112,1713,1697],{"class":765},[112,1715,1700],{"class":146},[112,1717,1718],{"class":136},"'ros_gz_sim'",[112,1720,1466],{"class":146},[112,1722,1724,1727,1729,1732,1735,1738,1741],{"class":114,"line":1723},18,[112,1725,1726],{"class":146},"    world_file ",[112,1728,1697],{"class":765},[112,1730,1731],{"class":146}," os.path.join(this_pkg,",[112,1733,1734],{"class":136},"'world'",[112,1736,1737],{"class":146},",",[112,1739,1740],{"class":136},"'visualize_lidar.sdf'",[112,1742,1466],{"class":146},[112,1744,1746],{"class":114,"line":1745},19,[112,1747,119],{"emptyLinePlaceholder":118},[112,1749,1751,1754,1756],{"class":114,"line":1750},20,[112,1752,1753],{"class":146},"    gz_sim ",[112,1755,1697],{"class":765},[112,1757,1758],{"class":146}," IncludeLaunchDescription(\n",[112,1760,1762],{"class":114,"line":1761},21,[112,1763,1764],{"class":146},"        PythonLaunchDescriptionSource(\n",[112,1766,1768,1771,1774,1777,1780],{"class":114,"line":1767},22,[112,1769,1770],{"class":146},"            os.path.join(pkg_ros_gz_sim, ",[112,1772,1773],{"class":136},"'launch'",[112,1775,1776],{"class":146},", ",[112,1778,1779],{"class":136},"'gz_sim.launch.py'",[112,1781,1782],{"class":146},")),\n",[112,1784,1786,1790,1792],{"class":114,"line":1785},23,[112,1787,1789],{"class":1788},"s4XuR","        launch_arguments",[112,1791,1697],{"class":765},[112,1793,1794],{"class":146},"{\n",[112,1796,1798,1801,1804,1807,1810],{"class":114,"line":1797},24,[112,1799,1800],{"class":136},"            'gz_args'",[112,1802,1803],{"class":146},": ",[112,1805,1806],{"class":136},"'-r '",[112,1808,1809],{"class":765}," +",[112,1811,1812],{"class":146}," world_file\n",[112,1814,1816],{"class":114,"line":1815},25,[112,1817,1818],{"class":146},"        }.items(),\n",[112,1820,1822],{"class":114,"line":1821},26,[112,1823,1824],{"class":146},"    )\n",[112,1826,1828],{"class":114,"line":1827},27,[112,1829,119],{"emptyLinePlaceholder":118},[112,1831,1833],{"class":114,"line":1832},28,[112,1834,1835],{"class":125},"    # RViz\n",[112,1837,1839,1842,1844],{"class":114,"line":1838},29,[112,1840,1841],{"class":146},"    rviz ",[112,1843,1697],{"class":765},[112,1845,1846],{"class":146}," Node(\n",[112,1848,1850,1853,1855,1858],{"class":114,"line":1849},30,[112,1851,1852],{"class":1788},"       package",[112,1854,1697],{"class":765},[112,1856,1857],{"class":136},"'rviz2'",[112,1859,1860],{"class":146},",\n",[112,1862,1864,1867,1869,1871],{"class":114,"line":1863},31,[112,1865,1866],{"class":1788},"       executable",[112,1868,1697],{"class":765},[112,1870,1857],{"class":136},[112,1872,1860],{"class":146},[112,1874,1876,1879,1881,1883,1886,1889,1892,1894,1897],{"class":114,"line":1875},32,[112,1877,1878],{"class":1788},"       arguments",[112,1880,1697],{"class":765},[112,1882,799],{"class":146},[112,1884,1885],{"class":136},"'-d'",[112,1887,1888],{"class":146},", os.path.join(this_pkg, ",[112,1890,1891],{"class":136},"'rviz'",[112,1893,1776],{"class":146},[112,1895,1896],{"class":136},"'sim.rviz'",[112,1898,1899],{"class":146},")],\n",[112,1901,1903,1906,1908,1911,1913],{"class":114,"line":1902},33,[112,1904,1905],{"class":1788},"       condition",[112,1907,1697],{"class":765},[112,1909,1910],{"class":146},"IfCondition(LaunchConfiguration(",[112,1912,1891],{"class":136},[112,1914,1915],{"class":146},"))\n",[112,1917,1919],{"class":114,"line":1918},34,[112,1920,1824],{"class":146},[112,1922,1924],{"class":114,"line":1923},35,[112,1925,119],{"emptyLinePlaceholder":118},[112,1927,1929],{"class":114,"line":1928},36,[112,1930,1931],{"class":125},"    # Bridge\n",[112,1933,1935,1938,1940],{"class":114,"line":1934},37,[112,1936,1937],{"class":146},"    bridge ",[112,1939,1697],{"class":765},[112,1941,1846],{"class":146},[112,1943,1945,1948,1950,1953],{"class":114,"line":1944},38,[112,1946,1947],{"class":1788},"        package",[112,1949,1697],{"class":765},[112,1951,1952],{"class":136},"'ros_gz_bridge'",[112,1954,1860],{"class":146},[112,1956,1958,1961,1963,1966],{"class":114,"line":1957},39,[112,1959,1960],{"class":1788},"        executable",[112,1962,1697],{"class":765},[112,1964,1965],{"class":136},"'parameter_bridge'",[112,1967,1860],{"class":146},[112,1969,1971,1974,1976,1978,1981],{"class":114,"line":1970},40,[112,1972,1973],{"class":1788},"        arguments",[112,1975,1697],{"class":765},[112,1977,799],{"class":146},[112,1979,1980],{"class":136},"'\u002Fmodel\u002Fvehicle_blue\u002Fcmd_vel@geometry_msgs\u002Fmsg\u002FTwist@gz.msgs.Twist'",[112,1982,1860],{"class":146},[112,1984,1986,1989],{"class":114,"line":1985},41,[112,1987,1988],{"class":136},"                   '\u002Fmodel\u002Fvehicle_blue\u002Fodometry@nav_msgs\u002Fmsg\u002FOdometry@gz.msgs.Odometry'",[112,1990,1860],{"class":146},[112,1992,1994,1997],{"class":114,"line":1993},42,[112,1995,1996],{"class":136},"                   '\u002Fmodel\u002Fvehicle_blue\u002Ftf@tf2_msgs\u002Fmsg\u002FTFMessage[gz.msgs.Pose_V'",[112,1998,1860],{"class":146},[112,2000,2002],{"class":114,"line":2001},43,[112,2003,2004],{"class":146},"                   ],\n",[112,2006,2008,2011,2013,2016,2019,2021,2024],{"class":114,"line":2007},44,[112,2009,2010],{"class":1788},"        parameters",[112,2012,1697],{"class":765},[112,2014,2015],{"class":146},"[{",[112,2017,2018],{"class":136},"'qos_overrides.\u002Fmodel\u002Fvehicle_blue.subscriber.reliability'",[112,2020,1803],{"class":146},[112,2022,2023],{"class":136},"'reliable'",[112,2025,2026],{"class":146},"}],\n",[112,2028,2030,2033,2035],{"class":114,"line":2029},45,[112,2031,2032],{"class":1788},"        remappings",[112,2034,1697],{"class":765},[112,2036,2037],{"class":146},"[\n",[112,2039,2041,2044,2047,2049,2052],{"class":114,"line":2040},46,[112,2042,2043],{"class":146},"                (",[112,2045,2046],{"class":136},"'\u002Fmodel\u002Fvehicle_blue\u002Ftf'",[112,2048,1776],{"class":146},[112,2050,2051],{"class":136},"'\u002Ftf'",[112,2053,2054],{"class":146},"),\n",[112,2056,2058,2060,2063,2065,2068],{"class":114,"line":2057},47,[112,2059,2043],{"class":146},[112,2061,2062],{"class":136},"'\u002Fmodel\u002Fvehicle_blue\u002Fcmd_vel'",[112,2064,1737],{"class":146},[112,2066,2067],{"class":136},"'cmd_vel'",[112,2069,1466],{"class":146},[112,2071,2073],{"class":114,"line":2072},48,[112,2074,2075],{"class":146},"            ],\n",[112,2077,2079,2082,2084],{"class":114,"line":2078},49,[112,2080,2081],{"class":1788},"        output",[112,2083,1697],{"class":765},[112,2085,2086],{"class":136},"'screen'\n",[112,2088,2090],{"class":114,"line":2089},50,[112,2091,1824],{"class":146},[112,2093,2095],{"class":114,"line":2094},51,[112,2096,119],{"emptyLinePlaceholder":118},[112,2098,2100,2103],{"class":114,"line":2099},52,[112,2101,2102],{"class":765},"    return",[112,2104,2105],{"class":146}," LaunchDescription([\n",[112,2107,2109],{"class":114,"line":2108},53,[112,2110,2111],{"class":146},"        gz_sim,\n",[112,2113,2115,2118,2120,2122,2125,2127,2130],{"class":114,"line":2114},54,[112,2116,2117],{"class":146},"        DeclareLaunchArgument(",[112,2119,1891],{"class":136},[112,2121,1776],{"class":146},[112,2123,2124],{"class":1788},"default_value",[112,2126,1697],{"class":765},[112,2128,2129],{"class":136},"'true'",[112,2131,1860],{"class":146},[112,2133,2135,2138,2140,2143],{"class":114,"line":2134},55,[112,2136,2137],{"class":1788},"                              description",[112,2139,1697],{"class":765},[112,2141,2142],{"class":136},"'Open RViz.'",[112,2144,2054],{"class":146},[112,2146,2148],{"class":114,"line":2147},56,[112,2149,2150],{"class":146},"        bridge,\n",[112,2152,2154],{"class":114,"line":2153},57,[112,2155,2156],{"class":146},"        rviz\n",[112,2158,2160],{"class":114,"line":2159},58,[112,2161,2162],{"class":146},"    ])\n",[15,2164,2165],{},"该launch文件中，启动了Ignition Gazebo仿真环境、通过ros_gz_bridge建立了仿真与ROS2的连接，并且启动了rviz2节点。其中建立连接时，实现了速度指令、里程计以及坐标变换等消息的转换。",[15,2167,2168],{},[200,2169],{"alt":107,"src":2170},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1725.webp",[15,2172,2173],{},[50,2174,2175],{},"构建",[15,2177,2178],{},"终端中进入当前工作空间，编译功能包：",[102,2180,2182],{"className":104,"code":2181,"language":106,"meta":107,"style":107},"colcon build  --packages-select demo_gazebo_sim\n",[109,2183,2184],{"__ignoreMap":107},[112,2185,2186,2189,2192,2195],{"class":114,"line":115},[112,2187,2188],{"class":132},"colcon",[112,2190,2191],{"class":136}," build",[112,2193,2194],{"class":576},"  --packages-select",[112,2196,1432],{"class":136},[15,2198,2199],{},[200,2200],{"alt":107,"src":2201},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1726.webp",[15,2203,2204],{},[50,2205,2206],{},"执行",[15,2208,2209],{},"终端中进入当前工作空间，调用如下指令执行launch文件：",[102,2211,2213],{"className":104,"code":2212,"language":106,"meta":107,"style":107},". install\u002Fsetup.bash\nros2 launch demo_gazebo_sim gazebo_sim_demo.launch.py\n",[109,2214,2215,2223],{"__ignoreMap":107},[112,2216,2217,2220],{"class":114,"line":115},[112,2218,2219],{"class":576},".",[112,2221,2222],{"class":136}," install\u002Fsetup.bash\n",[112,2224,2225,2227,2229,2232],{"class":114,"line":122},[112,2226,263],{"class":132},[112,2228,266],{"class":136},[112,2230,2231],{"class":136}," demo_gazebo_sim",[112,2233,2234],{"class":136}," gazebo_sim_demo.launch.py\n",[15,2236,2237],{},"新开终端，启动键盘控制节点：",[102,2239,2241],{"className":104,"code":2240,"language":106,"meta":107,"style":107},"ros2 run teleop_twist_keyboard teleop_twist_keyboard\n",[109,2242,2243],{"__ignoreMap":107},[112,2244,2245,2247,2249,2251],{"class":114,"line":115},[112,2246,263],{"class":132},[112,2248,663],{"class":136},[112,2250,711],{"class":136},[112,2252,2253],{"class":136}," teleop_twist_keyboard\n",[15,2255,2256,2257,2260,2261,2264,2265,2268],{},"再配置rviz2，将",[109,2258,2259],{},"Fixed Frame","设置为",[109,2262,2263],{},"vehicle_blue\u002Fodom","，添加TF插件，添加Odometry插件并将话题设置为",[109,2266,2267],{},"\u002Fmodel\u002Fvehicle_blue\u002Fodometry","，当通过键盘控制发送速度指令时，仿真环境的机器人开始运动，并且在rviz2中可以回显坐标变换以及里程计等消息。",[15,2270,2271],{},[200,2272],{"alt":107,"src":2273},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1727.webp",[27,2275,2277,2278],{"id":2276},"仿真环境创建-sdf文件","仿真环境创建 ",[50,2279,2280],{},"SDF文件",[15,2282,2283],{},"前面几节内容我们使用的是Ignition Gazebo内置的仿真环境，本节开始将介绍如何自行搭建仿真环境。本节案例将仿真一个长10m宽5m的矩形房间。该案例可以先启动Ignition Gazebo以拖拽的方式搭建仿真环境，然后再修改仿真环境对应的文件以调整细节。",[15,2285,2286],{},[50,2287,2288],{},"SDF、URDF 和 Xacro 的关系：",[310,2290,2291,2326],{},[313,2292,2293,2296],{},[50,2294,2295],{},"URDF 和 SDF 的区别：",[310,2297,2298,2304,2310,2316],{},[313,2299,2300,2303],{},[50,2301,2302],{},"复杂性："," SDF 支持的功能更强大，能够描述完整的仿真环境；URDF 更适合定义机器人模型。",[313,2305,2306,2309],{},[50,2307,2308],{},"用途："," URDF 是 ROS 的标准；SDF 是 Gazebo 的标准。",[313,2311,2312,2315],{},[50,2313,2314],{},"物理引擎支持："," URDF 通过插件支持 Gazebo；SDF 原生支持 Gazebo。",[313,2317,2318,2321,2322,2325],{},[50,2319,2320],{},"格式转换："," URDF 可以转换为 SDF（通过 ROS 提供的工具",[109,2323,2324],{},"gz sdf -p","）。",[313,2327,2328,2331],{},[50,2329,2330],{},"Xacro 的作用：",[310,2332,2333],{},[313,2334,2335],{},"Xacro 是 URDF 的生成工具，帮助用户高效编写 URDF 文件，但它与 SDF 无直接关系。",[2337,2338],"hr",{},[15,2340,2341],{},[50,2342,2343],{},"实践建议",[310,2345,2346,2352,2358],{},[313,2347,2348,2351],{},[50,2349,2350],{},"在 Gazebo 仿真中："," 如果你用的是 ROS 2 和 Gazebo，可以直接使用 SDF 文件，功能更强大。",[313,2353,2354,2357],{},[50,2355,2356],{},"在 ROS 中："," 如果主要用于机器人控制和规划，推荐使用 URDF 或由 Xacro 生成的 URDF。",[313,2359,2360,2363],{},[50,2361,2362],{},"两者结合："," 使用 URDF 进行控制，使用 SDF 进行仿真。例如，使用 URDF 定义机器人结构后，借助 Gazebo 插件将其转换为 SDF。",[15,2365,2366],{},[50,2367,2368],{},"示例对比",[15,2370,2371],{},"URDF 示例：",[102,2373,2377],{"className":2374,"code":2375,"language":2376,"meta":107,"style":107},"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",[109,2378,2379,2399,2416,2426,2445,2497,2506,2515],{"__ignoreMap":107},[112,2380,2381,2384,2388,2391,2393,2396],{"class":114,"line":115},[112,2382,2383],{"class":146},"\u003C",[112,2385,2387],{"class":2386},"s9eBZ","robot",[112,2389,2390],{"class":132}," name",[112,2392,1697],{"class":146},[112,2394,2395],{"class":136},"\"example_robot\"",[112,2397,2398],{"class":146},">\n",[112,2400,2401,2404,2407,2409,2411,2414],{"class":114,"line":122},[112,2402,2403],{"class":146},"  \u003C",[112,2405,2406],{"class":2386},"link",[112,2408,2390],{"class":132},[112,2410,1697],{"class":146},[112,2412,2413],{"class":136},"\"base_link\"",[112,2415,2398],{"class":146},[112,2417,2418,2421,2424],{"class":114,"line":129},[112,2419,2420],{"class":146},"    \u003C",[112,2422,2423],{"class":2386},"inertial",[112,2425,2398],{"class":146},[112,2427,2428,2431,2434,2437,2439,2442],{"class":114,"line":153},[112,2429,2430],{"class":146},"      \u003C",[112,2432,2433],{"class":2386},"mass",[112,2435,2436],{"class":132}," value",[112,2438,1697],{"class":146},[112,2440,2441],{"class":136},"\"1.0\"",[112,2443,2444],{"class":146}," \u002F>\n",[112,2446,2447,2449,2452,2455,2457,2459,2462,2464,2467,2470,2472,2474,2477,2479,2481,2484,2486,2488,2491,2493,2495],{"class":114,"line":158},[112,2448,2430],{"class":146},[112,2450,2451],{"class":2386},"inertia",[112,2453,2454],{"class":132}," ixx",[112,2456,1697],{"class":146},[112,2458,2441],{"class":136},[112,2460,2461],{"class":132}," ixy",[112,2463,1697],{"class":146},[112,2465,2466],{"class":136},"\"0.0\"",[112,2468,2469],{"class":132}," ixz",[112,2471,1697],{"class":146},[112,2473,2466],{"class":136},[112,2475,2476],{"class":132}," iyy",[112,2478,1697],{"class":146},[112,2480,2441],{"class":136},[112,2482,2483],{"class":132}," iyz",[112,2485,1697],{"class":146},[112,2487,2466],{"class":136},[112,2489,2490],{"class":132}," izz",[112,2492,1697],{"class":146},[112,2494,2441],{"class":136},[112,2496,2444],{"class":146},[112,2498,2499,2502,2504],{"class":114,"line":164},[112,2500,2501],{"class":146},"    \u003C\u002F",[112,2503,2423],{"class":2386},[112,2505,2398],{"class":146},[112,2507,2508,2511,2513],{"class":114,"line":176},[112,2509,2510],{"class":146},"  \u003C\u002F",[112,2512,2406],{"class":2386},[112,2514,2398],{"class":146},[112,2516,2517,2520,2522],{"class":114,"line":181},[112,2518,2519],{"class":146},"\u003C\u002F",[112,2521,2387],{"class":2386},[112,2523,2398],{"class":146},[15,2525,2526],{},"Xacro 示例（生成 URDF）：",[102,2528,2530],{"className":2374,"code":2529,"language":2376,"meta":107,"style":107},"\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",[109,2531,2532,2555,2578,2592,2600,2616,2660,2669,2677,2685,2689,2705],{"__ignoreMap":107},[112,2533,2534,2536,2539,2542,2544,2547,2549,2551,2553],{"class":114,"line":115},[112,2535,2383],{"class":146},[112,2537,2538],{"class":2386},"xacro:robot",[112,2540,2541],{"class":132}," xmlns:xacro",[112,2543,1697],{"class":146},[112,2545,2546],{"class":136},"\"http:\u002F\u002Fwww.ros.org\u002Fwiki\u002Fxacro\"",[112,2548,2390],{"class":132},[112,2550,1697],{"class":146},[112,2552,2395],{"class":136},[112,2554,2398],{"class":146},[112,2556,2557,2559,2562,2564,2566,2568,2571,2573,2576],{"class":114,"line":122},[112,2558,2403],{"class":146},[112,2560,2561],{"class":2386},"xacro:macro",[112,2563,2390],{"class":132},[112,2565,1697],{"class":146},[112,2567,2413],{"class":136},[112,2569,2570],{"class":132}," params",[112,2572,1697],{"class":146},[112,2574,2575],{"class":136},"\"mass\"",[112,2577,2398],{"class":146},[112,2579,2580,2582,2584,2586,2588,2590],{"class":114,"line":129},[112,2581,2420],{"class":146},[112,2583,2406],{"class":2386},[112,2585,2390],{"class":132},[112,2587,1697],{"class":146},[112,2589,2413],{"class":136},[112,2591,2398],{"class":146},[112,2593,2594,2596,2598],{"class":114,"line":153},[112,2595,2430],{"class":146},[112,2597,2423],{"class":2386},[112,2599,2398],{"class":146},[112,2601,2602,2605,2607,2609,2611,2614],{"class":114,"line":158},[112,2603,2604],{"class":146},"        \u003C",[112,2606,2433],{"class":2386},[112,2608,2436],{"class":132},[112,2610,1697],{"class":146},[112,2612,2613],{"class":136},"\"${mass}\"",[112,2615,2444],{"class":146},[112,2617,2618,2620,2622,2624,2626,2628,2630,2632,2634,2636,2638,2640,2642,2644,2646,2648,2650,2652,2654,2656,2658],{"class":114,"line":164},[112,2619,2604],{"class":146},[112,2621,2451],{"class":2386},[112,2623,2454],{"class":132},[112,2625,1697],{"class":146},[112,2627,2441],{"class":136},[112,2629,2461],{"class":132},[112,2631,1697],{"class":146},[112,2633,2466],{"class":136},[112,2635,2469],{"class":132},[112,2637,1697],{"class":146},[112,2639,2466],{"class":136},[112,2641,2476],{"class":132},[112,2643,1697],{"class":146},[112,2645,2441],{"class":136},[112,2647,2483],{"class":132},[112,2649,1697],{"class":146},[112,2651,2466],{"class":136},[112,2653,2490],{"class":132},[112,2655,1697],{"class":146},[112,2657,2441],{"class":136},[112,2659,2444],{"class":146},[112,2661,2662,2665,2667],{"class":114,"line":176},[112,2663,2664],{"class":146},"      \u003C\u002F",[112,2666,2423],{"class":2386},[112,2668,2398],{"class":146},[112,2670,2671,2673,2675],{"class":114,"line":181},[112,2672,2501],{"class":146},[112,2674,2406],{"class":2386},[112,2676,2398],{"class":146},[112,2678,2679,2681,2683],{"class":114,"line":187},[112,2680,2510],{"class":146},[112,2682,2561],{"class":2386},[112,2684,2398],{"class":146},[112,2686,2687],{"class":114,"line":434},[112,2688,119],{"emptyLinePlaceholder":118},[112,2690,2691,2693,2696,2699,2701,2703],{"class":114,"line":440},[112,2692,2403],{"class":146},[112,2694,2695],{"class":2386},"xacro:base_link",[112,2697,2698],{"class":132}," mass",[112,2700,1697],{"class":146},[112,2702,2441],{"class":136},[112,2704,2444],{"class":146},[112,2706,2707,2709,2711],{"class":114,"line":446},[112,2708,2519],{"class":146},[112,2710,2538],{"class":2386},[112,2712,2398],{"class":146},[15,2714,2715],{},"SDF 示例：",[102,2717,2719],{"className":2374,"code":2718,"language":2376,"meta":107,"style":107},"\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",[109,2720,2721,2738,2753,2767,2775,2788,2796,2810,2823,2836,2845,2853,2861,2869],{"__ignoreMap":107},[112,2722,2723,2725,2728,2731,2733,2736],{"class":114,"line":115},[112,2724,2383],{"class":146},[112,2726,2727],{"class":2386},"sdf",[112,2729,2730],{"class":132}," version",[112,2732,1697],{"class":146},[112,2734,2735],{"class":136},"\"1.6\"",[112,2737,2398],{"class":146},[112,2739,2740,2742,2745,2747,2749,2751],{"class":114,"line":122},[112,2741,2403],{"class":146},[112,2743,2744],{"class":2386},"model",[112,2746,2390],{"class":132},[112,2748,1697],{"class":146},[112,2750,2395],{"class":136},[112,2752,2398],{"class":146},[112,2754,2755,2757,2759,2761,2763,2765],{"class":114,"line":129},[112,2756,2420],{"class":146},[112,2758,2406],{"class":2386},[112,2760,2390],{"class":132},[112,2762,1697],{"class":146},[112,2764,2413],{"class":136},[112,2766,2398],{"class":146},[112,2768,2769,2771,2773],{"class":114,"line":153},[112,2770,2430],{"class":146},[112,2772,2423],{"class":2386},[112,2774,2398],{"class":146},[112,2776,2777,2779,2781,2784,2786],{"class":114,"line":158},[112,2778,2604],{"class":146},[112,2780,2433],{"class":2386},[112,2782,2783],{"class":146},">1.0\u003C\u002F",[112,2785,2433],{"class":2386},[112,2787,2398],{"class":146},[112,2789,2790,2792,2794],{"class":114,"line":164},[112,2791,2604],{"class":146},[112,2793,2451],{"class":2386},[112,2795,2398],{"class":146},[112,2797,2798,2801,2804,2806,2808],{"class":114,"line":176},[112,2799,2800],{"class":146},"          \u003C",[112,2802,2803],{"class":2386},"ixx",[112,2805,2783],{"class":146},[112,2807,2803],{"class":2386},[112,2809,2398],{"class":146},[112,2811,2812,2814,2817,2819,2821],{"class":114,"line":181},[112,2813,2800],{"class":146},[112,2815,2816],{"class":2386},"iyy",[112,2818,2783],{"class":146},[112,2820,2816],{"class":2386},[112,2822,2398],{"class":146},[112,2824,2825,2827,2830,2832,2834],{"class":114,"line":187},[112,2826,2800],{"class":146},[112,2828,2829],{"class":2386},"izz",[112,2831,2783],{"class":146},[112,2833,2829],{"class":2386},[112,2835,2398],{"class":146},[112,2837,2838,2841,2843],{"class":114,"line":434},[112,2839,2840],{"class":146},"        \u003C\u002F",[112,2842,2451],{"class":2386},[112,2844,2398],{"class":146},[112,2846,2847,2849,2851],{"class":114,"line":440},[112,2848,2664],{"class":146},[112,2850,2423],{"class":2386},[112,2852,2398],{"class":146},[112,2854,2855,2857,2859],{"class":114,"line":446},[112,2856,2501],{"class":146},[112,2858,2406],{"class":2386},[112,2860,2398],{"class":146},[112,2862,2863,2865,2867],{"class":114,"line":452},[112,2864,2510],{"class":146},[112,2866,2744],{"class":2386},[112,2868,2398],{"class":146},[112,2870,2871,2873,2875],{"class":114,"line":1674},[112,2872,2519],{"class":146},[112,2874,2727],{"class":2386},[112,2876,2398],{"class":146},[15,2878,2879],{},[50,2880,2881],{},"1.创建sdf文件",[15,2883,2884,2885,2888],{},"首先请调用指令",[109,2886,2887],{},"ign gazebo","启动Gazebo，选择Empty仿真环境，然后添加立方体，每一个立方体都对应一堵墙。",[15,2890,2891],{},"上下左右立方体box、box_1、box_2、box_3对应的坐标分别为(5.0,0.0,0.5)、(-5.0,0.0,0.5)、(0.0,2.5,0.5)、(0.0,-2.5,0.5)。",[15,2893,2894],{},"（以上坐标是指X，Y，Z坐标，没有旋转度）",[15,2896,2897],{},"保存文件到功能包的world目录下，保存的文件名称需要以.sdf为后缀，此处文件名为house.sdf。",[15,2899,2900],{},[200,2901],{"alt":107,"src":2902},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1728.webp",[15,2904,2905],{},[200,2906],{"alt":107,"src":2907},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1729.webp",[102,2909,2911],{"className":2374,"code":2910,"language":2376,"meta":107,"style":107},"\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",[109,2912,2913,2928,2944,2968,2982,2996,3010,3018,3043,3065,3087,3109,3123,3137,3153,3162,3176,3190,3204,3212,3227,3240,3255,3271,3280,3290,3305,3319,3328,3337,3346,3355,3364,3372,3381,3390,3398,3406,3422,3430,3438,3450,3462,3470,3478,3487,3500,3513,3526,3534,3542,3556,3564,3576,3589,3597,3609,3623,3636,3649,3663,3676,3685,3694,3709,3718,3731,3745,3754,3770,3784,3800,3809,3818,3832,3845,3858,3871,3884,3897,3906,3919,3932,3941,3957,3966,3976,3990,3999,4008,4017,4026,4035,4044,4053,4062,4071,4080,4096,4105,4114,4127,4136,4145,4154,4168,4181,4195,4204,4213,4226,4239,4248,4261,4274,4283,4299,4313,4328,4337,4346,4359,4372,4385,4398,4411,4424,4433,4446,4459,4468,4483,4492,4501,4514,4523,4532,4541,4550,4559,4568,4577,4586,4595,4604,4619,4628,4637,4650,4659,4668,4677,4690,4703,4716,4725,4734,4747,4760,4769,4782,4795,4804,4820,4834,4849,4858,4867,4880,4893,4906,4919,4932,4945,4954,4967,4980,4989,5004,5013,5022,5036,5045,5054,5063,5072,5081,5090,5099,5108,5117,5126,5141,5150,5159,5172,5181,5190,5199,5212,5225,5238,5247,5256,5269,5282,5291,5304,5317,5326,5342,5356,5371,5380,5389,5402,5415,5428,5441,5454,5467,5476,5489,5502,5511,5526,5535,5544,5557,5566,5575,5584,5593,5602,5611,5620,5629,5638,5647,5662,5671,5680,5693,5702,5711,5720,5733,5746,5759,5768,5777,5790,5803,5812,5825,5838,5847,5871,5885,5899,5913,5928,5941,5955,5965,5979,5994,6009,6023,6032,6042,6056,6070,6084,6093,6102,6111],{"__ignoreMap":107},[112,2914,2915,2917,2919,2921,2923,2926],{"class":114,"line":115},[112,2916,2383],{"class":146},[112,2918,2727],{"class":2386},[112,2920,2730],{"class":132},[112,2922,1697],{"class":146},[112,2924,2925],{"class":136},"'1.9'",[112,2927,2398],{"class":146},[112,2929,2930,2932,2935,2937,2939,2942],{"class":114,"line":122},[112,2931,2403],{"class":146},[112,2933,2934],{"class":2386},"world",[112,2936,2390],{"class":132},[112,2938,1697],{"class":146},[112,2940,2941],{"class":136},"'empty'",[112,2943,2398],{"class":146},[112,2945,2946,2948,2951,2953,2955,2958,2961,2963,2966],{"class":114,"line":129},[112,2947,2420],{"class":146},[112,2949,2950],{"class":2386},"physics",[112,2952,2390],{"class":132},[112,2954,1697],{"class":146},[112,2956,2957],{"class":136},"'1ms'",[112,2959,2960],{"class":132}," type",[112,2962,1697],{"class":146},[112,2964,2965],{"class":136},"'ignored'",[112,2967,2398],{"class":146},[112,2969,2970,2972,2975,2978,2980],{"class":114,"line":153},[112,2971,2430],{"class":146},[112,2973,2974],{"class":2386},"max_step_size",[112,2976,2977],{"class":146},">0.001\u003C\u002F",[112,2979,2974],{"class":2386},[112,2981,2398],{"class":146},[112,2983,2984,2986,2989,2992,2994],{"class":114,"line":158},[112,2985,2430],{"class":146},[112,2987,2988],{"class":2386},"real_time_factor",[112,2990,2991],{"class":146},">1\u003C\u002F",[112,2993,2988],{"class":2386},[112,2995,2398],{"class":146},[112,2997,2998,3000,3003,3006,3008],{"class":114,"line":164},[112,2999,2430],{"class":146},[112,3001,3002],{"class":2386},"real_time_update_rate",[112,3004,3005],{"class":146},">1000\u003C\u002F",[112,3007,3002],{"class":2386},[112,3009,2398],{"class":146},[112,3011,3012,3014,3016],{"class":114,"line":176},[112,3013,2501],{"class":146},[112,3015,2950],{"class":2386},[112,3017,2398],{"class":146},[112,3019,3020,3022,3025,3027,3029,3032,3035,3037,3040],{"class":114,"line":181},[112,3021,2420],{"class":146},[112,3023,3024],{"class":2386},"plugin",[112,3026,2390],{"class":132},[112,3028,1697],{"class":146},[112,3030,3031],{"class":136},"'gz::sim::systems::Physics'",[112,3033,3034],{"class":132}," filename",[112,3036,1697],{"class":146},[112,3038,3039],{"class":136},"'ignition-gazebo-physics-system'",[112,3041,3042],{"class":146},"\u002F>\n",[112,3044,3045,3047,3049,3051,3053,3056,3058,3060,3063],{"class":114,"line":187},[112,3046,2420],{"class":146},[112,3048,3024],{"class":2386},[112,3050,2390],{"class":132},[112,3052,1697],{"class":146},[112,3054,3055],{"class":136},"'gz::sim::systems::UserCommands'",[112,3057,3034],{"class":132},[112,3059,1697],{"class":146},[112,3061,3062],{"class":136},"'ignition-gazebo-user-commands-system'",[112,3064,3042],{"class":146},[112,3066,3067,3069,3071,3073,3075,3078,3080,3082,3085],{"class":114,"line":434},[112,3068,2420],{"class":146},[112,3070,3024],{"class":2386},[112,3072,2390],{"class":132},[112,3074,1697],{"class":146},[112,3076,3077],{"class":136},"'gz::sim::systems::SceneBroadcaster'",[112,3079,3034],{"class":132},[112,3081,1697],{"class":146},[112,3083,3084],{"class":136},"'ignition-gazebo-scene-broadcaster-system'",[112,3086,3042],{"class":146},[112,3088,3089,3091,3093,3095,3097,3100,3102,3104,3107],{"class":114,"line":440},[112,3090,2420],{"class":146},[112,3092,3024],{"class":2386},[112,3094,2390],{"class":132},[112,3096,1697],{"class":146},[112,3098,3099],{"class":136},"'gz::sim::systems::Contact'",[112,3101,3034],{"class":132},[112,3103,1697],{"class":146},[112,3105,3106],{"class":136},"'ignition-gazebo-contact-system'",[112,3108,3042],{"class":146},[112,3110,3111,3113,3116,3119,3121],{"class":114,"line":446},[112,3112,2420],{"class":146},[112,3114,3115],{"class":2386},"gravity",[112,3117,3118],{"class":146},">0 0 -9.8\u003C\u002F",[112,3120,3115],{"class":2386},[112,3122,2398],{"class":146},[112,3124,3125,3127,3130,3133,3135],{"class":114,"line":452},[112,3126,2420],{"class":146},[112,3128,3129],{"class":2386},"magnetic_field",[112,3131,3132],{"class":146},">6e-06 2.3e-05 -4.2e-05\u003C\u002F",[112,3134,3129],{"class":2386},[112,3136,2398],{"class":146},[112,3138,3139,3141,3144,3146,3148,3151],{"class":114,"line":1674},[112,3140,2420],{"class":146},[112,3142,3143],{"class":2386},"atmosphere",[112,3145,2960],{"class":132},[112,3147,1697],{"class":146},[112,3149,3150],{"class":136},"'adiabatic'",[112,3152,3042],{"class":146},[112,3154,3155,3157,3160],{"class":114,"line":1686},[112,3156,2420],{"class":146},[112,3158,3159],{"class":2386},"scene",[112,3161,2398],{"class":146},[112,3163,3164,3166,3169,3172,3174],{"class":114,"line":1691},[112,3165,2430],{"class":146},[112,3167,3168],{"class":2386},"ambient",[112,3170,3171],{"class":146},">0.4 0.4 0.4 1\u003C\u002F",[112,3173,3168],{"class":2386},[112,3175,2398],{"class":146},[112,3177,3178,3180,3183,3186,3188],{"class":114,"line":1708},[112,3179,2430],{"class":146},[112,3181,3182],{"class":2386},"background",[112,3184,3185],{"class":146},">0.7 0.7 0.7 1\u003C\u002F",[112,3187,3182],{"class":2386},[112,3189,2398],{"class":146},[112,3191,3192,3194,3197,3200,3202],{"class":114,"line":1723},[112,3193,2430],{"class":146},[112,3195,3196],{"class":2386},"shadows",[112,3198,3199],{"class":146},">true\u003C\u002F",[112,3201,3196],{"class":2386},[112,3203,2398],{"class":146},[112,3205,3206,3208,3210],{"class":114,"line":1745},[112,3207,2501],{"class":146},[112,3209,3159],{"class":2386},[112,3211,2398],{"class":146},[112,3213,3214,3216,3218,3220,3222,3225],{"class":114,"line":1750},[112,3215,2420],{"class":146},[112,3217,2744],{"class":2386},[112,3219,2390],{"class":132},[112,3221,1697],{"class":146},[112,3223,3224],{"class":136},"'ground_plane'",[112,3226,2398],{"class":146},[112,3228,3229,3231,3234,3236,3238],{"class":114,"line":1761},[112,3230,2430],{"class":146},[112,3232,3233],{"class":2386},"static",[112,3235,3199],{"class":146},[112,3237,3233],{"class":2386},[112,3239,2398],{"class":146},[112,3241,3242,3244,3246,3248,3250,3253],{"class":114,"line":1767},[112,3243,2430],{"class":146},[112,3245,2406],{"class":2386},[112,3247,2390],{"class":132},[112,3249,1697],{"class":146},[112,3251,3252],{"class":136},"'link'",[112,3254,2398],{"class":146},[112,3256,3257,3259,3262,3264,3266,3269],{"class":114,"line":1785},[112,3258,2604],{"class":146},[112,3260,3261],{"class":2386},"collision",[112,3263,2390],{"class":132},[112,3265,1697],{"class":146},[112,3267,3268],{"class":136},"'collision'",[112,3270,2398],{"class":146},[112,3272,3273,3275,3278],{"class":114,"line":1797},[112,3274,2800],{"class":146},[112,3276,3277],{"class":2386},"geometry",[112,3279,2398],{"class":146},[112,3281,3282,3285,3288],{"class":114,"line":1815},[112,3283,3284],{"class":146},"            \u003C",[112,3286,3287],{"class":2386},"plane",[112,3289,2398],{"class":146},[112,3291,3292,3295,3298,3301,3303],{"class":114,"line":1821},[112,3293,3294],{"class":146},"              \u003C",[112,3296,3297],{"class":2386},"normal",[112,3299,3300],{"class":146},">0 0 1\u003C\u002F",[112,3302,3297],{"class":2386},[112,3304,2398],{"class":146},[112,3306,3307,3309,3312,3315,3317],{"class":114,"line":1827},[112,3308,3294],{"class":146},[112,3310,3311],{"class":2386},"size",[112,3313,3314],{"class":146},">100 100\u003C\u002F",[112,3316,3311],{"class":2386},[112,3318,2398],{"class":146},[112,3320,3321,3324,3326],{"class":114,"line":1832},[112,3322,3323],{"class":146},"            \u003C\u002F",[112,3325,3287],{"class":2386},[112,3327,2398],{"class":146},[112,3329,3330,3333,3335],{"class":114,"line":1838},[112,3331,3332],{"class":146},"          \u003C\u002F",[112,3334,3277],{"class":2386},[112,3336,2398],{"class":146},[112,3338,3339,3341,3344],{"class":114,"line":1849},[112,3340,2800],{"class":146},[112,3342,3343],{"class":2386},"surface",[112,3345,2398],{"class":146},[112,3347,3348,3350,3353],{"class":114,"line":1863},[112,3349,3284],{"class":146},[112,3351,3352],{"class":2386},"friction",[112,3354,2398],{"class":146},[112,3356,3357,3359,3362],{"class":114,"line":1875},[112,3358,3294],{"class":146},[112,3360,3361],{"class":2386},"ode",[112,3363,3042],{"class":146},[112,3365,3366,3368,3370],{"class":114,"line":1902},[112,3367,3323],{"class":146},[112,3369,3352],{"class":2386},[112,3371,2398],{"class":146},[112,3373,3374,3376,3379],{"class":114,"line":1918},[112,3375,3284],{"class":146},[112,3377,3378],{"class":2386},"bounce",[112,3380,3042],{"class":146},[112,3382,3383,3385,3388],{"class":114,"line":1923},[112,3384,3284],{"class":146},[112,3386,3387],{"class":2386},"contact",[112,3389,3042],{"class":146},[112,3391,3392,3394,3396],{"class":114,"line":1928},[112,3393,3332],{"class":146},[112,3395,3343],{"class":2386},[112,3397,2398],{"class":146},[112,3399,3400,3402,3404],{"class":114,"line":1934},[112,3401,2840],{"class":146},[112,3403,3261],{"class":2386},[112,3405,2398],{"class":146},[112,3407,3408,3410,3413,3415,3417,3420],{"class":114,"line":1944},[112,3409,2604],{"class":146},[112,3411,3412],{"class":2386},"visual",[112,3414,2390],{"class":132},[112,3416,1697],{"class":146},[112,3418,3419],{"class":136},"'visual'",[112,3421,2398],{"class":146},[112,3423,3424,3426,3428],{"class":114,"line":1957},[112,3425,2800],{"class":146},[112,3427,3277],{"class":2386},[112,3429,2398],{"class":146},[112,3431,3432,3434,3436],{"class":114,"line":1970},[112,3433,3284],{"class":146},[112,3435,3287],{"class":2386},[112,3437,2398],{"class":146},[112,3439,3440,3442,3444,3446,3448],{"class":114,"line":1985},[112,3441,3294],{"class":146},[112,3443,3297],{"class":2386},[112,3445,3300],{"class":146},[112,3447,3297],{"class":2386},[112,3449,2398],{"class":146},[112,3451,3452,3454,3456,3458,3460],{"class":114,"line":1993},[112,3453,3294],{"class":146},[112,3455,3311],{"class":2386},[112,3457,3314],{"class":146},[112,3459,3311],{"class":2386},[112,3461,2398],{"class":146},[112,3463,3464,3466,3468],{"class":114,"line":2001},[112,3465,3323],{"class":146},[112,3467,3287],{"class":2386},[112,3469,2398],{"class":146},[112,3471,3472,3474,3476],{"class":114,"line":2007},[112,3473,3332],{"class":146},[112,3475,3277],{"class":2386},[112,3477,2398],{"class":146},[112,3479,3480,3482,3485],{"class":114,"line":2029},[112,3481,2800],{"class":146},[112,3483,3484],{"class":2386},"material",[112,3486,2398],{"class":146},[112,3488,3489,3491,3493,3496,3498],{"class":114,"line":2040},[112,3490,3284],{"class":146},[112,3492,3168],{"class":2386},[112,3494,3495],{"class":146},">0.8 0.8 0.8 1\u003C\u002F",[112,3497,3168],{"class":2386},[112,3499,2398],{"class":146},[112,3501,3502,3504,3507,3509,3511],{"class":114,"line":2057},[112,3503,3284],{"class":146},[112,3505,3506],{"class":2386},"diffuse",[112,3508,3495],{"class":146},[112,3510,3506],{"class":2386},[112,3512,2398],{"class":146},[112,3514,3515,3517,3520,3522,3524],{"class":114,"line":2072},[112,3516,3284],{"class":146},[112,3518,3519],{"class":2386},"specular",[112,3521,3495],{"class":146},[112,3523,3519],{"class":2386},[112,3525,2398],{"class":146},[112,3527,3528,3530,3532],{"class":114,"line":2078},[112,3529,3332],{"class":146},[112,3531,3484],{"class":2386},[112,3533,2398],{"class":146},[112,3535,3536,3538,3540],{"class":114,"line":2089},[112,3537,2840],{"class":146},[112,3539,3412],{"class":2386},[112,3541,2398],{"class":146},[112,3543,3544,3546,3549,3552,3554],{"class":114,"line":2094},[112,3545,2604],{"class":146},[112,3547,3548],{"class":2386},"pose",[112,3550,3551],{"class":146},">0 0 0 0 -0 0\u003C\u002F",[112,3553,3548],{"class":2386},[112,3555,2398],{"class":146},[112,3557,3558,3560,3562],{"class":114,"line":2099},[112,3559,2604],{"class":146},[112,3561,2423],{"class":2386},[112,3563,2398],{"class":146},[112,3565,3566,3568,3570,3572,3574],{"class":114,"line":2108},[112,3567,2800],{"class":146},[112,3569,3548],{"class":2386},[112,3571,3551],{"class":146},[112,3573,3548],{"class":2386},[112,3575,2398],{"class":146},[112,3577,3578,3580,3582,3585,3587],{"class":114,"line":2114},[112,3579,2800],{"class":146},[112,3581,2433],{"class":2386},[112,3583,3584],{"class":146},">100\u003C\u002F",[112,3586,2433],{"class":2386},[112,3588,2398],{"class":146},[112,3590,3591,3593,3595],{"class":114,"line":2134},[112,3592,2800],{"class":146},[112,3594,2451],{"class":2386},[112,3596,2398],{"class":146},[112,3598,3599,3601,3603,3605,3607],{"class":114,"line":2147},[112,3600,3284],{"class":146},[112,3602,2803],{"class":2386},[112,3604,2991],{"class":146},[112,3606,2803],{"class":2386},[112,3608,2398],{"class":146},[112,3610,3611,3613,3616,3619,3621],{"class":114,"line":2153},[112,3612,3284],{"class":146},[112,3614,3615],{"class":2386},"ixy",[112,3617,3618],{"class":146},">0\u003C\u002F",[112,3620,3615],{"class":2386},[112,3622,2398],{"class":146},[112,3624,3625,3627,3630,3632,3634],{"class":114,"line":2159},[112,3626,3284],{"class":146},[112,3628,3629],{"class":2386},"ixz",[112,3631,3618],{"class":146},[112,3633,3629],{"class":2386},[112,3635,2398],{"class":146},[112,3637,3639,3641,3643,3645,3647],{"class":114,"line":3638},59,[112,3640,3284],{"class":146},[112,3642,2816],{"class":2386},[112,3644,2991],{"class":146},[112,3646,2816],{"class":2386},[112,3648,2398],{"class":146},[112,3650,3652,3654,3657,3659,3661],{"class":114,"line":3651},60,[112,3653,3284],{"class":146},[112,3655,3656],{"class":2386},"iyz",[112,3658,3618],{"class":146},[112,3660,3656],{"class":2386},[112,3662,2398],{"class":146},[112,3664,3666,3668,3670,3672,3674],{"class":114,"line":3665},61,[112,3667,3284],{"class":146},[112,3669,2829],{"class":2386},[112,3671,2991],{"class":146},[112,3673,2829],{"class":2386},[112,3675,2398],{"class":146},[112,3677,3679,3681,3683],{"class":114,"line":3678},62,[112,3680,3332],{"class":146},[112,3682,2451],{"class":2386},[112,3684,2398],{"class":146},[112,3686,3688,3690,3692],{"class":114,"line":3687},63,[112,3689,2840],{"class":146},[112,3691,2423],{"class":2386},[112,3693,2398],{"class":146},[112,3695,3697,3699,3702,3705,3707],{"class":114,"line":3696},64,[112,3698,2604],{"class":146},[112,3700,3701],{"class":2386},"enable_wind",[112,3703,3704],{"class":146},">false\u003C\u002F",[112,3706,3701],{"class":2386},[112,3708,2398],{"class":146},[112,3710,3712,3714,3716],{"class":114,"line":3711},65,[112,3713,2664],{"class":146},[112,3715,2406],{"class":2386},[112,3717,2398],{"class":146},[112,3719,3721,3723,3725,3727,3729],{"class":114,"line":3720},66,[112,3722,2430],{"class":146},[112,3724,3548],{"class":2386},[112,3726,3551],{"class":146},[112,3728,3548],{"class":2386},[112,3730,2398],{"class":146},[112,3732,3734,3736,3739,3741,3743],{"class":114,"line":3733},67,[112,3735,2430],{"class":146},[112,3737,3738],{"class":2386},"self_collide",[112,3740,3704],{"class":146},[112,3742,3738],{"class":2386},[112,3744,2398],{"class":146},[112,3746,3748,3750,3752],{"class":114,"line":3747},68,[112,3749,2501],{"class":146},[112,3751,2744],{"class":2386},[112,3753,2398],{"class":146},[112,3755,3757,3759,3761,3763,3765,3768],{"class":114,"line":3756},69,[112,3758,2420],{"class":146},[112,3760,2744],{"class":2386},[112,3762,2390],{"class":132},[112,3764,1697],{"class":146},[112,3766,3767],{"class":136},"'box'",[112,3769,2398],{"class":146},[112,3771,3773,3775,3777,3780,3782],{"class":114,"line":3772},70,[112,3774,2430],{"class":146},[112,3776,3548],{"class":2386},[112,3778,3779],{"class":146},">5.0 0 0.5 -0 0 0\u003C\u002F",[112,3781,3548],{"class":2386},[112,3783,2398],{"class":146},[112,3785,3787,3789,3791,3793,3795,3798],{"class":114,"line":3786},71,[112,3788,2430],{"class":146},[112,3790,2406],{"class":2386},[112,3792,2390],{"class":132},[112,3794,1697],{"class":146},[112,3796,3797],{"class":136},"'box_link'",[112,3799,2398],{"class":146},[112,3801,3803,3805,3807],{"class":114,"line":3802},72,[112,3804,2604],{"class":146},[112,3806,2423],{"class":2386},[112,3808,2398],{"class":146},[112,3810,3812,3814,3816],{"class":114,"line":3811},73,[112,3813,2800],{"class":146},[112,3815,2451],{"class":2386},[112,3817,2398],{"class":146},[112,3819,3821,3823,3825,3828,3830],{"class":114,"line":3820},74,[112,3822,3284],{"class":146},[112,3824,2803],{"class":2386},[112,3826,3827],{"class":146},">16.666\u003C\u002F",[112,3829,2803],{"class":2386},[112,3831,2398],{"class":146},[112,3833,3835,3837,3839,3841,3843],{"class":114,"line":3834},75,[112,3836,3284],{"class":146},[112,3838,3615],{"class":2386},[112,3840,3618],{"class":146},[112,3842,3615],{"class":2386},[112,3844,2398],{"class":146},[112,3846,3848,3850,3852,3854,3856],{"class":114,"line":3847},76,[112,3849,3284],{"class":146},[112,3851,3629],{"class":2386},[112,3853,3618],{"class":146},[112,3855,3629],{"class":2386},[112,3857,2398],{"class":146},[112,3859,3861,3863,3865,3867,3869],{"class":114,"line":3860},77,[112,3862,3284],{"class":146},[112,3864,2816],{"class":2386},[112,3866,3827],{"class":146},[112,3868,2816],{"class":2386},[112,3870,2398],{"class":146},[112,3872,3874,3876,3878,3880,3882],{"class":114,"line":3873},78,[112,3875,3284],{"class":146},[112,3877,3656],{"class":2386},[112,3879,3618],{"class":146},[112,3881,3656],{"class":2386},[112,3883,2398],{"class":146},[112,3885,3887,3889,3891,3893,3895],{"class":114,"line":3886},79,[112,3888,3284],{"class":146},[112,3890,2829],{"class":2386},[112,3892,3827],{"class":146},[112,3894,2829],{"class":2386},[112,3896,2398],{"class":146},[112,3898,3900,3902,3904],{"class":114,"line":3899},80,[112,3901,3332],{"class":146},[112,3903,2451],{"class":2386},[112,3905,2398],{"class":146},[112,3907,3909,3911,3913,3915,3917],{"class":114,"line":3908},81,[112,3910,2800],{"class":146},[112,3912,2433],{"class":2386},[112,3914,3584],{"class":146},[112,3916,2433],{"class":2386},[112,3918,2398],{"class":146},[112,3920,3922,3924,3926,3928,3930],{"class":114,"line":3921},82,[112,3923,2800],{"class":146},[112,3925,3548],{"class":2386},[112,3927,3551],{"class":146},[112,3929,3548],{"class":2386},[112,3931,2398],{"class":146},[112,3933,3935,3937,3939],{"class":114,"line":3934},83,[112,3936,2840],{"class":146},[112,3938,2423],{"class":2386},[112,3940,2398],{"class":146},[112,3942,3944,3946,3948,3950,3952,3955],{"class":114,"line":3943},84,[112,3945,2604],{"class":146},[112,3947,3261],{"class":2386},[112,3949,2390],{"class":132},[112,3951,1697],{"class":146},[112,3953,3954],{"class":136},"'box_collision'",[112,3956,2398],{"class":146},[112,3958,3960,3962,3964],{"class":114,"line":3959},85,[112,3961,2800],{"class":146},[112,3963,3277],{"class":2386},[112,3965,2398],{"class":146},[112,3967,3969,3971,3974],{"class":114,"line":3968},86,[112,3970,3284],{"class":146},[112,3972,3973],{"class":2386},"box",[112,3975,2398],{"class":146},[112,3977,3979,3981,3983,3986,3988],{"class":114,"line":3978},87,[112,3980,3294],{"class":146},[112,3982,3311],{"class":2386},[112,3984,3985],{"class":146},">0.1 5 1\u003C\u002F",[112,3987,3311],{"class":2386},[112,3989,2398],{"class":146},[112,3991,3993,3995,3997],{"class":114,"line":3992},88,[112,3994,3323],{"class":146},[112,3996,3973],{"class":2386},[112,3998,2398],{"class":146},[112,4000,4002,4004,4006],{"class":114,"line":4001},89,[112,4003,3332],{"class":146},[112,4005,3277],{"class":2386},[112,4007,2398],{"class":146},[112,4009,4011,4013,4015],{"class":114,"line":4010},90,[112,4012,2800],{"class":146},[112,4014,3343],{"class":2386},[112,4016,2398],{"class":146},[112,4018,4020,4022,4024],{"class":114,"line":4019},91,[112,4021,3284],{"class":146},[112,4023,3352],{"class":2386},[112,4025,2398],{"class":146},[112,4027,4029,4031,4033],{"class":114,"line":4028},92,[112,4030,3294],{"class":146},[112,4032,3361],{"class":2386},[112,4034,3042],{"class":146},[112,4036,4038,4040,4042],{"class":114,"line":4037},93,[112,4039,3323],{"class":146},[112,4041,3352],{"class":2386},[112,4043,2398],{"class":146},[112,4045,4047,4049,4051],{"class":114,"line":4046},94,[112,4048,3284],{"class":146},[112,4050,3378],{"class":2386},[112,4052,3042],{"class":146},[112,4054,4056,4058,4060],{"class":114,"line":4055},95,[112,4057,3284],{"class":146},[112,4059,3387],{"class":2386},[112,4061,3042],{"class":146},[112,4063,4065,4067,4069],{"class":114,"line":4064},96,[112,4066,3332],{"class":146},[112,4068,3343],{"class":2386},[112,4070,2398],{"class":146},[112,4072,4074,4076,4078],{"class":114,"line":4073},97,[112,4075,2840],{"class":146},[112,4077,3261],{"class":2386},[112,4079,2398],{"class":146},[112,4081,4083,4085,4087,4089,4091,4094],{"class":114,"line":4082},98,[112,4084,2604],{"class":146},[112,4086,3412],{"class":2386},[112,4088,2390],{"class":132},[112,4090,1697],{"class":146},[112,4092,4093],{"class":136},"'box_visual'",[112,4095,2398],{"class":146},[112,4097,4099,4101,4103],{"class":114,"line":4098},99,[112,4100,2800],{"class":146},[112,4102,3277],{"class":2386},[112,4104,2398],{"class":146},[112,4106,4108,4110,4112],{"class":114,"line":4107},100,[112,4109,3284],{"class":146},[112,4111,3973],{"class":2386},[112,4113,2398],{"class":146},[112,4115,4117,4119,4121,4123,4125],{"class":114,"line":4116},101,[112,4118,3294],{"class":146},[112,4120,3311],{"class":2386},[112,4122,3985],{"class":146},[112,4124,3311],{"class":2386},[112,4126,2398],{"class":146},[112,4128,4130,4132,4134],{"class":114,"line":4129},102,[112,4131,3323],{"class":146},[112,4133,3973],{"class":2386},[112,4135,2398],{"class":146},[112,4137,4139,4141,4143],{"class":114,"line":4138},103,[112,4140,3332],{"class":146},[112,4142,3277],{"class":2386},[112,4144,2398],{"class":146},[112,4146,4148,4150,4152],{"class":114,"line":4147},104,[112,4149,2800],{"class":146},[112,4151,3484],{"class":2386},[112,4153,2398],{"class":146},[112,4155,4157,4159,4161,4164,4166],{"class":114,"line":4156},105,[112,4158,3284],{"class":146},[112,4160,3168],{"class":2386},[112,4162,4163],{"class":146},">0.3 0.3 0.3 1\u003C\u002F",[112,4165,3168],{"class":2386},[112,4167,2398],{"class":146},[112,4169,4171,4173,4175,4177,4179],{"class":114,"line":4170},106,[112,4172,3284],{"class":146},[112,4174,3506],{"class":2386},[112,4176,3185],{"class":146},[112,4178,3506],{"class":2386},[112,4180,2398],{"class":146},[112,4182,4184,4186,4188,4191,4193],{"class":114,"line":4183},107,[112,4185,3284],{"class":146},[112,4187,3519],{"class":2386},[112,4189,4190],{"class":146},">1 1 1 1\u003C\u002F",[112,4192,3519],{"class":2386},[112,4194,2398],{"class":146},[112,4196,4198,4200,4202],{"class":114,"line":4197},108,[112,4199,3332],{"class":146},[112,4201,3484],{"class":2386},[112,4203,2398],{"class":146},[112,4205,4207,4209,4211],{"class":114,"line":4206},109,[112,4208,2840],{"class":146},[112,4210,3412],{"class":2386},[112,4212,2398],{"class":146},[112,4214,4216,4218,4220,4222,4224],{"class":114,"line":4215},110,[112,4217,2604],{"class":146},[112,4219,3548],{"class":2386},[112,4221,3551],{"class":146},[112,4223,3548],{"class":2386},[112,4225,2398],{"class":146},[112,4227,4229,4231,4233,4235,4237],{"class":114,"line":4228},111,[112,4230,2604],{"class":146},[112,4232,3701],{"class":2386},[112,4234,3704],{"class":146},[112,4236,3701],{"class":2386},[112,4238,2398],{"class":146},[112,4240,4242,4244,4246],{"class":114,"line":4241},112,[112,4243,2664],{"class":146},[112,4245,2406],{"class":2386},[112,4247,2398],{"class":146},[112,4249,4251,4253,4255,4257,4259],{"class":114,"line":4250},113,[112,4252,2430],{"class":146},[112,4254,3233],{"class":2386},[112,4256,3704],{"class":146},[112,4258,3233],{"class":2386},[112,4260,2398],{"class":146},[112,4262,4264,4266,4268,4270,4272],{"class":114,"line":4263},114,[112,4265,2430],{"class":146},[112,4267,3738],{"class":2386},[112,4269,3704],{"class":146},[112,4271,3738],{"class":2386},[112,4273,2398],{"class":146},[112,4275,4277,4279,4281],{"class":114,"line":4276},115,[112,4278,2501],{"class":146},[112,4280,2744],{"class":2386},[112,4282,2398],{"class":146},[112,4284,4286,4288,4290,4292,4294,4297],{"class":114,"line":4285},116,[112,4287,2420],{"class":146},[112,4289,2744],{"class":2386},[112,4291,2390],{"class":132},[112,4293,1697],{"class":146},[112,4295,4296],{"class":136},"'box_0'",[112,4298,2398],{"class":146},[112,4300,4302,4304,4306,4309,4311],{"class":114,"line":4301},117,[112,4303,2430],{"class":146},[112,4305,3548],{"class":2386},[112,4307,4308],{"class":146},">-5.0 -0 0.50000 -0 0 0\u003C\u002F",[112,4310,3548],{"class":2386},[112,4312,2398],{"class":146},[112,4314,4316,4318,4320,4322,4324,4326],{"class":114,"line":4315},118,[112,4317,2430],{"class":146},[112,4319,2406],{"class":2386},[112,4321,2390],{"class":132},[112,4323,1697],{"class":146},[112,4325,3797],{"class":136},[112,4327,2398],{"class":146},[112,4329,4331,4333,4335],{"class":114,"line":4330},119,[112,4332,2604],{"class":146},[112,4334,2423],{"class":2386},[112,4336,2398],{"class":146},[112,4338,4340,4342,4344],{"class":114,"line":4339},120,[112,4341,2800],{"class":146},[112,4343,2451],{"class":2386},[112,4345,2398],{"class":146},[112,4347,4349,4351,4353,4355,4357],{"class":114,"line":4348},121,[112,4350,3284],{"class":146},[112,4352,2803],{"class":2386},[112,4354,3827],{"class":146},[112,4356,2803],{"class":2386},[112,4358,2398],{"class":146},[112,4360,4362,4364,4366,4368,4370],{"class":114,"line":4361},122,[112,4363,3284],{"class":146},[112,4365,3615],{"class":2386},[112,4367,3618],{"class":146},[112,4369,3615],{"class":2386},[112,4371,2398],{"class":146},[112,4373,4375,4377,4379,4381,4383],{"class":114,"line":4374},123,[112,4376,3284],{"class":146},[112,4378,3629],{"class":2386},[112,4380,3618],{"class":146},[112,4382,3629],{"class":2386},[112,4384,2398],{"class":146},[112,4386,4388,4390,4392,4394,4396],{"class":114,"line":4387},124,[112,4389,3284],{"class":146},[112,4391,2816],{"class":2386},[112,4393,3827],{"class":146},[112,4395,2816],{"class":2386},[112,4397,2398],{"class":146},[112,4399,4401,4403,4405,4407,4409],{"class":114,"line":4400},125,[112,4402,3284],{"class":146},[112,4404,3656],{"class":2386},[112,4406,3618],{"class":146},[112,4408,3656],{"class":2386},[112,4410,2398],{"class":146},[112,4412,4414,4416,4418,4420,4422],{"class":114,"line":4413},126,[112,4415,3284],{"class":146},[112,4417,2829],{"class":2386},[112,4419,3827],{"class":146},[112,4421,2829],{"class":2386},[112,4423,2398],{"class":146},[112,4425,4427,4429,4431],{"class":114,"line":4426},127,[112,4428,3332],{"class":146},[112,4430,2451],{"class":2386},[112,4432,2398],{"class":146},[112,4434,4436,4438,4440,4442,4444],{"class":114,"line":4435},128,[112,4437,2800],{"class":146},[112,4439,2433],{"class":2386},[112,4441,3584],{"class":146},[112,4443,2433],{"class":2386},[112,4445,2398],{"class":146},[112,4447,4449,4451,4453,4455,4457],{"class":114,"line":4448},129,[112,4450,2800],{"class":146},[112,4452,3548],{"class":2386},[112,4454,3551],{"class":146},[112,4456,3548],{"class":2386},[112,4458,2398],{"class":146},[112,4460,4462,4464,4466],{"class":114,"line":4461},130,[112,4463,2840],{"class":146},[112,4465,2423],{"class":2386},[112,4467,2398],{"class":146},[112,4469,4471,4473,4475,4477,4479,4481],{"class":114,"line":4470},131,[112,4472,2604],{"class":146},[112,4474,3261],{"class":2386},[112,4476,2390],{"class":132},[112,4478,1697],{"class":146},[112,4480,3954],{"class":136},[112,4482,2398],{"class":146},[112,4484,4486,4488,4490],{"class":114,"line":4485},132,[112,4487,2800],{"class":146},[112,4489,3277],{"class":2386},[112,4491,2398],{"class":146},[112,4493,4495,4497,4499],{"class":114,"line":4494},133,[112,4496,3284],{"class":146},[112,4498,3973],{"class":2386},[112,4500,2398],{"class":146},[112,4502,4504,4506,4508,4510,4512],{"class":114,"line":4503},134,[112,4505,3294],{"class":146},[112,4507,3311],{"class":2386},[112,4509,3985],{"class":146},[112,4511,3311],{"class":2386},[112,4513,2398],{"class":146},[112,4515,4517,4519,4521],{"class":114,"line":4516},135,[112,4518,3323],{"class":146},[112,4520,3973],{"class":2386},[112,4522,2398],{"class":146},[112,4524,4526,4528,4530],{"class":114,"line":4525},136,[112,4527,3332],{"class":146},[112,4529,3277],{"class":2386},[112,4531,2398],{"class":146},[112,4533,4535,4537,4539],{"class":114,"line":4534},137,[112,4536,2800],{"class":146},[112,4538,3343],{"class":2386},[112,4540,2398],{"class":146},[112,4542,4544,4546,4548],{"class":114,"line":4543},138,[112,4545,3284],{"class":146},[112,4547,3352],{"class":2386},[112,4549,2398],{"class":146},[112,4551,4553,4555,4557],{"class":114,"line":4552},139,[112,4554,3294],{"class":146},[112,4556,3361],{"class":2386},[112,4558,3042],{"class":146},[112,4560,4562,4564,4566],{"class":114,"line":4561},140,[112,4563,3323],{"class":146},[112,4565,3352],{"class":2386},[112,4567,2398],{"class":146},[112,4569,4571,4573,4575],{"class":114,"line":4570},141,[112,4572,3284],{"class":146},[112,4574,3378],{"class":2386},[112,4576,3042],{"class":146},[112,4578,4580,4582,4584],{"class":114,"line":4579},142,[112,4581,3284],{"class":146},[112,4583,3387],{"class":2386},[112,4585,3042],{"class":146},[112,4587,4589,4591,4593],{"class":114,"line":4588},143,[112,4590,3332],{"class":146},[112,4592,3343],{"class":2386},[112,4594,2398],{"class":146},[112,4596,4598,4600,4602],{"class":114,"line":4597},144,[112,4599,2840],{"class":146},[112,4601,3261],{"class":2386},[112,4603,2398],{"class":146},[112,4605,4607,4609,4611,4613,4615,4617],{"class":114,"line":4606},145,[112,4608,2604],{"class":146},[112,4610,3412],{"class":2386},[112,4612,2390],{"class":132},[112,4614,1697],{"class":146},[112,4616,4093],{"class":136},[112,4618,2398],{"class":146},[112,4620,4622,4624,4626],{"class":114,"line":4621},146,[112,4623,2800],{"class":146},[112,4625,3277],{"class":2386},[112,4627,2398],{"class":146},[112,4629,4631,4633,4635],{"class":114,"line":4630},147,[112,4632,3284],{"class":146},[112,4634,3973],{"class":2386},[112,4636,2398],{"class":146},[112,4638,4640,4642,4644,4646,4648],{"class":114,"line":4639},148,[112,4641,3294],{"class":146},[112,4643,3311],{"class":2386},[112,4645,3985],{"class":146},[112,4647,3311],{"class":2386},[112,4649,2398],{"class":146},[112,4651,4653,4655,4657],{"class":114,"line":4652},149,[112,4654,3323],{"class":146},[112,4656,3973],{"class":2386},[112,4658,2398],{"class":146},[112,4660,4662,4664,4666],{"class":114,"line":4661},150,[112,4663,3332],{"class":146},[112,4665,3277],{"class":2386},[112,4667,2398],{"class":146},[112,4669,4671,4673,4675],{"class":114,"line":4670},151,[112,4672,2800],{"class":146},[112,4674,3484],{"class":2386},[112,4676,2398],{"class":146},[112,4678,4680,4682,4684,4686,4688],{"class":114,"line":4679},152,[112,4681,3284],{"class":146},[112,4683,3168],{"class":2386},[112,4685,4163],{"class":146},[112,4687,3168],{"class":2386},[112,4689,2398],{"class":146},[112,4691,4693,4695,4697,4699,4701],{"class":114,"line":4692},153,[112,4694,3284],{"class":146},[112,4696,3506],{"class":2386},[112,4698,3185],{"class":146},[112,4700,3506],{"class":2386},[112,4702,2398],{"class":146},[112,4704,4706,4708,4710,4712,4714],{"class":114,"line":4705},154,[112,4707,3284],{"class":146},[112,4709,3519],{"class":2386},[112,4711,4190],{"class":146},[112,4713,3519],{"class":2386},[112,4715,2398],{"class":146},[112,4717,4719,4721,4723],{"class":114,"line":4718},155,[112,4720,3332],{"class":146},[112,4722,3484],{"class":2386},[112,4724,2398],{"class":146},[112,4726,4728,4730,4732],{"class":114,"line":4727},156,[112,4729,2840],{"class":146},[112,4731,3412],{"class":2386},[112,4733,2398],{"class":146},[112,4735,4737,4739,4741,4743,4745],{"class":114,"line":4736},157,[112,4738,2604],{"class":146},[112,4740,3548],{"class":2386},[112,4742,3551],{"class":146},[112,4744,3548],{"class":2386},[112,4746,2398],{"class":146},[112,4748,4750,4752,4754,4756,4758],{"class":114,"line":4749},158,[112,4751,2604],{"class":146},[112,4753,3701],{"class":2386},[112,4755,3704],{"class":146},[112,4757,3701],{"class":2386},[112,4759,2398],{"class":146},[112,4761,4763,4765,4767],{"class":114,"line":4762},159,[112,4764,2664],{"class":146},[112,4766,2406],{"class":2386},[112,4768,2398],{"class":146},[112,4770,4772,4774,4776,4778,4780],{"class":114,"line":4771},160,[112,4773,2430],{"class":146},[112,4775,3233],{"class":2386},[112,4777,3704],{"class":146},[112,4779,3233],{"class":2386},[112,4781,2398],{"class":146},[112,4783,4785,4787,4789,4791,4793],{"class":114,"line":4784},161,[112,4786,2430],{"class":146},[112,4788,3738],{"class":2386},[112,4790,3704],{"class":146},[112,4792,3738],{"class":2386},[112,4794,2398],{"class":146},[112,4796,4798,4800,4802],{"class":114,"line":4797},162,[112,4799,2501],{"class":146},[112,4801,2744],{"class":2386},[112,4803,2398],{"class":146},[112,4805,4807,4809,4811,4813,4815,4818],{"class":114,"line":4806},163,[112,4808,2420],{"class":146},[112,4810,2744],{"class":2386},[112,4812,2390],{"class":132},[112,4814,1697],{"class":146},[112,4816,4817],{"class":136},"'box_1'",[112,4819,2398],{"class":146},[112,4821,4823,4825,4827,4830,4832],{"class":114,"line":4822},164,[112,4824,2430],{"class":146},[112,4826,3548],{"class":2386},[112,4828,4829],{"class":146},">-0 -2.5 0.5 -0 -0 -0\u003C\u002F",[112,4831,3548],{"class":2386},[112,4833,2398],{"class":146},[112,4835,4837,4839,4841,4843,4845,4847],{"class":114,"line":4836},165,[112,4838,2430],{"class":146},[112,4840,2406],{"class":2386},[112,4842,2390],{"class":132},[112,4844,1697],{"class":146},[112,4846,3797],{"class":136},[112,4848,2398],{"class":146},[112,4850,4852,4854,4856],{"class":114,"line":4851},166,[112,4853,2604],{"class":146},[112,4855,2423],{"class":2386},[112,4857,2398],{"class":146},[112,4859,4861,4863,4865],{"class":114,"line":4860},167,[112,4862,2800],{"class":146},[112,4864,2451],{"class":2386},[112,4866,2398],{"class":146},[112,4868,4870,4872,4874,4876,4878],{"class":114,"line":4869},168,[112,4871,3284],{"class":146},[112,4873,2803],{"class":2386},[112,4875,3827],{"class":146},[112,4877,2803],{"class":2386},[112,4879,2398],{"class":146},[112,4881,4883,4885,4887,4889,4891],{"class":114,"line":4882},169,[112,4884,3284],{"class":146},[112,4886,3615],{"class":2386},[112,4888,3618],{"class":146},[112,4890,3615],{"class":2386},[112,4892,2398],{"class":146},[112,4894,4896,4898,4900,4902,4904],{"class":114,"line":4895},170,[112,4897,3284],{"class":146},[112,4899,3629],{"class":2386},[112,4901,3618],{"class":146},[112,4903,3629],{"class":2386},[112,4905,2398],{"class":146},[112,4907,4909,4911,4913,4915,4917],{"class":114,"line":4908},171,[112,4910,3284],{"class":146},[112,4912,2816],{"class":2386},[112,4914,3827],{"class":146},[112,4916,2816],{"class":2386},[112,4918,2398],{"class":146},[112,4920,4922,4924,4926,4928,4930],{"class":114,"line":4921},172,[112,4923,3284],{"class":146},[112,4925,3656],{"class":2386},[112,4927,3618],{"class":146},[112,4929,3656],{"class":2386},[112,4931,2398],{"class":146},[112,4933,4935,4937,4939,4941,4943],{"class":114,"line":4934},173,[112,4936,3284],{"class":146},[112,4938,2829],{"class":2386},[112,4940,3827],{"class":146},[112,4942,2829],{"class":2386},[112,4944,2398],{"class":146},[112,4946,4948,4950,4952],{"class":114,"line":4947},174,[112,4949,3332],{"class":146},[112,4951,2451],{"class":2386},[112,4953,2398],{"class":146},[112,4955,4957,4959,4961,4963,4965],{"class":114,"line":4956},175,[112,4958,2800],{"class":146},[112,4960,2433],{"class":2386},[112,4962,3584],{"class":146},[112,4964,2433],{"class":2386},[112,4966,2398],{"class":146},[112,4968,4970,4972,4974,4976,4978],{"class":114,"line":4969},176,[112,4971,2800],{"class":146},[112,4973,3548],{"class":2386},[112,4975,3551],{"class":146},[112,4977,3548],{"class":2386},[112,4979,2398],{"class":146},[112,4981,4983,4985,4987],{"class":114,"line":4982},177,[112,4984,2840],{"class":146},[112,4986,2423],{"class":2386},[112,4988,2398],{"class":146},[112,4990,4992,4994,4996,4998,5000,5002],{"class":114,"line":4991},178,[112,4993,2604],{"class":146},[112,4995,3261],{"class":2386},[112,4997,2390],{"class":132},[112,4999,1697],{"class":146},[112,5001,3954],{"class":136},[112,5003,2398],{"class":146},[112,5005,5007,5009,5011],{"class":114,"line":5006},179,[112,5008,2800],{"class":146},[112,5010,3277],{"class":2386},[112,5012,2398],{"class":146},[112,5014,5016,5018,5020],{"class":114,"line":5015},180,[112,5017,3284],{"class":146},[112,5019,3973],{"class":2386},[112,5021,2398],{"class":146},[112,5023,5025,5027,5029,5032,5034],{"class":114,"line":5024},181,[112,5026,3294],{"class":146},[112,5028,3311],{"class":2386},[112,5030,5031],{"class":146},">10 0.1 1\u003C\u002F",[112,5033,3311],{"class":2386},[112,5035,2398],{"class":146},[112,5037,5039,5041,5043],{"class":114,"line":5038},182,[112,5040,3323],{"class":146},[112,5042,3973],{"class":2386},[112,5044,2398],{"class":146},[112,5046,5048,5050,5052],{"class":114,"line":5047},183,[112,5049,3332],{"class":146},[112,5051,3277],{"class":2386},[112,5053,2398],{"class":146},[112,5055,5057,5059,5061],{"class":114,"line":5056},184,[112,5058,2800],{"class":146},[112,5060,3343],{"class":2386},[112,5062,2398],{"class":146},[112,5064,5066,5068,5070],{"class":114,"line":5065},185,[112,5067,3284],{"class":146},[112,5069,3352],{"class":2386},[112,5071,2398],{"class":146},[112,5073,5075,5077,5079],{"class":114,"line":5074},186,[112,5076,3294],{"class":146},[112,5078,3361],{"class":2386},[112,5080,3042],{"class":146},[112,5082,5084,5086,5088],{"class":114,"line":5083},187,[112,5085,3323],{"class":146},[112,5087,3352],{"class":2386},[112,5089,2398],{"class":146},[112,5091,5093,5095,5097],{"class":114,"line":5092},188,[112,5094,3284],{"class":146},[112,5096,3378],{"class":2386},[112,5098,3042],{"class":146},[112,5100,5102,5104,5106],{"class":114,"line":5101},189,[112,5103,3284],{"class":146},[112,5105,3387],{"class":2386},[112,5107,3042],{"class":146},[112,5109,5111,5113,5115],{"class":114,"line":5110},190,[112,5112,3332],{"class":146},[112,5114,3343],{"class":2386},[112,5116,2398],{"class":146},[112,5118,5120,5122,5124],{"class":114,"line":5119},191,[112,5121,2840],{"class":146},[112,5123,3261],{"class":2386},[112,5125,2398],{"class":146},[112,5127,5129,5131,5133,5135,5137,5139],{"class":114,"line":5128},192,[112,5130,2604],{"class":146},[112,5132,3412],{"class":2386},[112,5134,2390],{"class":132},[112,5136,1697],{"class":146},[112,5138,4093],{"class":136},[112,5140,2398],{"class":146},[112,5142,5144,5146,5148],{"class":114,"line":5143},193,[112,5145,2800],{"class":146},[112,5147,3277],{"class":2386},[112,5149,2398],{"class":146},[112,5151,5153,5155,5157],{"class":114,"line":5152},194,[112,5154,3284],{"class":146},[112,5156,3973],{"class":2386},[112,5158,2398],{"class":146},[112,5160,5162,5164,5166,5168,5170],{"class":114,"line":5161},195,[112,5163,3294],{"class":146},[112,5165,3311],{"class":2386},[112,5167,5031],{"class":146},[112,5169,3311],{"class":2386},[112,5171,2398],{"class":146},[112,5173,5175,5177,5179],{"class":114,"line":5174},196,[112,5176,3323],{"class":146},[112,5178,3973],{"class":2386},[112,5180,2398],{"class":146},[112,5182,5184,5186,5188],{"class":114,"line":5183},197,[112,5185,3332],{"class":146},[112,5187,3277],{"class":2386},[112,5189,2398],{"class":146},[112,5191,5193,5195,5197],{"class":114,"line":5192},198,[112,5194,2800],{"class":146},[112,5196,3484],{"class":2386},[112,5198,2398],{"class":146},[112,5200,5202,5204,5206,5208,5210],{"class":114,"line":5201},199,[112,5203,3284],{"class":146},[112,5205,3168],{"class":2386},[112,5207,4163],{"class":146},[112,5209,3168],{"class":2386},[112,5211,2398],{"class":146},[112,5213,5215,5217,5219,5221,5223],{"class":114,"line":5214},200,[112,5216,3284],{"class":146},[112,5218,3506],{"class":2386},[112,5220,3185],{"class":146},[112,5222,3506],{"class":2386},[112,5224,2398],{"class":146},[112,5226,5228,5230,5232,5234,5236],{"class":114,"line":5227},201,[112,5229,3284],{"class":146},[112,5231,3519],{"class":2386},[112,5233,4190],{"class":146},[112,5235,3519],{"class":2386},[112,5237,2398],{"class":146},[112,5239,5241,5243,5245],{"class":114,"line":5240},202,[112,5242,3332],{"class":146},[112,5244,3484],{"class":2386},[112,5246,2398],{"class":146},[112,5248,5250,5252,5254],{"class":114,"line":5249},203,[112,5251,2840],{"class":146},[112,5253,3412],{"class":2386},[112,5255,2398],{"class":146},[112,5257,5259,5261,5263,5265,5267],{"class":114,"line":5258},204,[112,5260,2604],{"class":146},[112,5262,3548],{"class":2386},[112,5264,3551],{"class":146},[112,5266,3548],{"class":2386},[112,5268,2398],{"class":146},[112,5270,5272,5274,5276,5278,5280],{"class":114,"line":5271},205,[112,5273,2604],{"class":146},[112,5275,3701],{"class":2386},[112,5277,3704],{"class":146},[112,5279,3701],{"class":2386},[112,5281,2398],{"class":146},[112,5283,5285,5287,5289],{"class":114,"line":5284},206,[112,5286,2664],{"class":146},[112,5288,2406],{"class":2386},[112,5290,2398],{"class":146},[112,5292,5294,5296,5298,5300,5302],{"class":114,"line":5293},207,[112,5295,2430],{"class":146},[112,5297,3233],{"class":2386},[112,5299,3704],{"class":146},[112,5301,3233],{"class":2386},[112,5303,2398],{"class":146},[112,5305,5307,5309,5311,5313,5315],{"class":114,"line":5306},208,[112,5308,2430],{"class":146},[112,5310,3738],{"class":2386},[112,5312,3704],{"class":146},[112,5314,3738],{"class":2386},[112,5316,2398],{"class":146},[112,5318,5320,5322,5324],{"class":114,"line":5319},209,[112,5321,2501],{"class":146},[112,5323,2744],{"class":2386},[112,5325,2398],{"class":146},[112,5327,5329,5331,5333,5335,5337,5340],{"class":114,"line":5328},210,[112,5330,2420],{"class":146},[112,5332,2744],{"class":2386},[112,5334,2390],{"class":132},[112,5336,1697],{"class":146},[112,5338,5339],{"class":136},"'box_2'",[112,5341,2398],{"class":146},[112,5343,5345,5347,5349,5352,5354],{"class":114,"line":5344},211,[112,5346,2430],{"class":146},[112,5348,3548],{"class":2386},[112,5350,5351],{"class":146},">-0 2.5 0.5 0 -0 -0\u003C\u002F",[112,5353,3548],{"class":2386},[112,5355,2398],{"class":146},[112,5357,5359,5361,5363,5365,5367,5369],{"class":114,"line":5358},212,[112,5360,2430],{"class":146},[112,5362,2406],{"class":2386},[112,5364,2390],{"class":132},[112,5366,1697],{"class":146},[112,5368,3797],{"class":136},[112,5370,2398],{"class":146},[112,5372,5374,5376,5378],{"class":114,"line":5373},213,[112,5375,2604],{"class":146},[112,5377,2423],{"class":2386},[112,5379,2398],{"class":146},[112,5381,5383,5385,5387],{"class":114,"line":5382},214,[112,5384,2800],{"class":146},[112,5386,2451],{"class":2386},[112,5388,2398],{"class":146},[112,5390,5392,5394,5396,5398,5400],{"class":114,"line":5391},215,[112,5393,3284],{"class":146},[112,5395,2803],{"class":2386},[112,5397,3827],{"class":146},[112,5399,2803],{"class":2386},[112,5401,2398],{"class":146},[112,5403,5405,5407,5409,5411,5413],{"class":114,"line":5404},216,[112,5406,3284],{"class":146},[112,5408,3615],{"class":2386},[112,5410,3618],{"class":146},[112,5412,3615],{"class":2386},[112,5414,2398],{"class":146},[112,5416,5418,5420,5422,5424,5426],{"class":114,"line":5417},217,[112,5419,3284],{"class":146},[112,5421,3629],{"class":2386},[112,5423,3618],{"class":146},[112,5425,3629],{"class":2386},[112,5427,2398],{"class":146},[112,5429,5431,5433,5435,5437,5439],{"class":114,"line":5430},218,[112,5432,3284],{"class":146},[112,5434,2816],{"class":2386},[112,5436,3827],{"class":146},[112,5438,2816],{"class":2386},[112,5440,2398],{"class":146},[112,5442,5444,5446,5448,5450,5452],{"class":114,"line":5443},219,[112,5445,3284],{"class":146},[112,5447,3656],{"class":2386},[112,5449,3618],{"class":146},[112,5451,3656],{"class":2386},[112,5453,2398],{"class":146},[112,5455,5457,5459,5461,5463,5465],{"class":114,"line":5456},220,[112,5458,3284],{"class":146},[112,5460,2829],{"class":2386},[112,5462,3827],{"class":146},[112,5464,2829],{"class":2386},[112,5466,2398],{"class":146},[112,5468,5470,5472,5474],{"class":114,"line":5469},221,[112,5471,3332],{"class":146},[112,5473,2451],{"class":2386},[112,5475,2398],{"class":146},[112,5477,5479,5481,5483,5485,5487],{"class":114,"line":5478},222,[112,5480,2800],{"class":146},[112,5482,2433],{"class":2386},[112,5484,3584],{"class":146},[112,5486,2433],{"class":2386},[112,5488,2398],{"class":146},[112,5490,5492,5494,5496,5498,5500],{"class":114,"line":5491},223,[112,5493,2800],{"class":146},[112,5495,3548],{"class":2386},[112,5497,3551],{"class":146},[112,5499,3548],{"class":2386},[112,5501,2398],{"class":146},[112,5503,5505,5507,5509],{"class":114,"line":5504},224,[112,5506,2840],{"class":146},[112,5508,2423],{"class":2386},[112,5510,2398],{"class":146},[112,5512,5514,5516,5518,5520,5522,5524],{"class":114,"line":5513},225,[112,5515,2604],{"class":146},[112,5517,3261],{"class":2386},[112,5519,2390],{"class":132},[112,5521,1697],{"class":146},[112,5523,3954],{"class":136},[112,5525,2398],{"class":146},[112,5527,5529,5531,5533],{"class":114,"line":5528},226,[112,5530,2800],{"class":146},[112,5532,3277],{"class":2386},[112,5534,2398],{"class":146},[112,5536,5538,5540,5542],{"class":114,"line":5537},227,[112,5539,3284],{"class":146},[112,5541,3973],{"class":2386},[112,5543,2398],{"class":146},[112,5545,5547,5549,5551,5553,5555],{"class":114,"line":5546},228,[112,5548,3294],{"class":146},[112,5550,3311],{"class":2386},[112,5552,5031],{"class":146},[112,5554,3311],{"class":2386},[112,5556,2398],{"class":146},[112,5558,5560,5562,5564],{"class":114,"line":5559},229,[112,5561,3323],{"class":146},[112,5563,3973],{"class":2386},[112,5565,2398],{"class":146},[112,5567,5569,5571,5573],{"class":114,"line":5568},230,[112,5570,3332],{"class":146},[112,5572,3277],{"class":2386},[112,5574,2398],{"class":146},[112,5576,5578,5580,5582],{"class":114,"line":5577},231,[112,5579,2800],{"class":146},[112,5581,3343],{"class":2386},[112,5583,2398],{"class":146},[112,5585,5587,5589,5591],{"class":114,"line":5586},232,[112,5588,3284],{"class":146},[112,5590,3352],{"class":2386},[112,5592,2398],{"class":146},[112,5594,5596,5598,5600],{"class":114,"line":5595},233,[112,5597,3294],{"class":146},[112,5599,3361],{"class":2386},[112,5601,3042],{"class":146},[112,5603,5605,5607,5609],{"class":114,"line":5604},234,[112,5606,3323],{"class":146},[112,5608,3352],{"class":2386},[112,5610,2398],{"class":146},[112,5612,5614,5616,5618],{"class":114,"line":5613},235,[112,5615,3284],{"class":146},[112,5617,3378],{"class":2386},[112,5619,3042],{"class":146},[112,5621,5623,5625,5627],{"class":114,"line":5622},236,[112,5624,3284],{"class":146},[112,5626,3387],{"class":2386},[112,5628,3042],{"class":146},[112,5630,5632,5634,5636],{"class":114,"line":5631},237,[112,5633,3332],{"class":146},[112,5635,3343],{"class":2386},[112,5637,2398],{"class":146},[112,5639,5641,5643,5645],{"class":114,"line":5640},238,[112,5642,2840],{"class":146},[112,5644,3261],{"class":2386},[112,5646,2398],{"class":146},[112,5648,5650,5652,5654,5656,5658,5660],{"class":114,"line":5649},239,[112,5651,2604],{"class":146},[112,5653,3412],{"class":2386},[112,5655,2390],{"class":132},[112,5657,1697],{"class":146},[112,5659,4093],{"class":136},[112,5661,2398],{"class":146},[112,5663,5665,5667,5669],{"class":114,"line":5664},240,[112,5666,2800],{"class":146},[112,5668,3277],{"class":2386},[112,5670,2398],{"class":146},[112,5672,5674,5676,5678],{"class":114,"line":5673},241,[112,5675,3284],{"class":146},[112,5677,3973],{"class":2386},[112,5679,2398],{"class":146},[112,5681,5683,5685,5687,5689,5691],{"class":114,"line":5682},242,[112,5684,3294],{"class":146},[112,5686,3311],{"class":2386},[112,5688,5031],{"class":146},[112,5690,3311],{"class":2386},[112,5692,2398],{"class":146},[112,5694,5696,5698,5700],{"class":114,"line":5695},243,[112,5697,3323],{"class":146},[112,5699,3973],{"class":2386},[112,5701,2398],{"class":146},[112,5703,5705,5707,5709],{"class":114,"line":5704},244,[112,5706,3332],{"class":146},[112,5708,3277],{"class":2386},[112,5710,2398],{"class":146},[112,5712,5714,5716,5718],{"class":114,"line":5713},245,[112,5715,2800],{"class":146},[112,5717,3484],{"class":2386},[112,5719,2398],{"class":146},[112,5721,5723,5725,5727,5729,5731],{"class":114,"line":5722},246,[112,5724,3284],{"class":146},[112,5726,3168],{"class":2386},[112,5728,4163],{"class":146},[112,5730,3168],{"class":2386},[112,5732,2398],{"class":146},[112,5734,5736,5738,5740,5742,5744],{"class":114,"line":5735},247,[112,5737,3284],{"class":146},[112,5739,3506],{"class":2386},[112,5741,3185],{"class":146},[112,5743,3506],{"class":2386},[112,5745,2398],{"class":146},[112,5747,5749,5751,5753,5755,5757],{"class":114,"line":5748},248,[112,5750,3284],{"class":146},[112,5752,3519],{"class":2386},[112,5754,4190],{"class":146},[112,5756,3519],{"class":2386},[112,5758,2398],{"class":146},[112,5760,5762,5764,5766],{"class":114,"line":5761},249,[112,5763,3332],{"class":146},[112,5765,3484],{"class":2386},[112,5767,2398],{"class":146},[112,5769,5771,5773,5775],{"class":114,"line":5770},250,[112,5772,2840],{"class":146},[112,5774,3412],{"class":2386},[112,5776,2398],{"class":146},[112,5778,5780,5782,5784,5786,5788],{"class":114,"line":5779},251,[112,5781,2604],{"class":146},[112,5783,3548],{"class":2386},[112,5785,3551],{"class":146},[112,5787,3548],{"class":2386},[112,5789,2398],{"class":146},[112,5791,5793,5795,5797,5799,5801],{"class":114,"line":5792},252,[112,5794,2604],{"class":146},[112,5796,3701],{"class":2386},[112,5798,3704],{"class":146},[112,5800,3701],{"class":2386},[112,5802,2398],{"class":146},[112,5804,5806,5808,5810],{"class":114,"line":5805},253,[112,5807,2664],{"class":146},[112,5809,2406],{"class":2386},[112,5811,2398],{"class":146},[112,5813,5815,5817,5819,5821,5823],{"class":114,"line":5814},254,[112,5816,2430],{"class":146},[112,5818,3233],{"class":2386},[112,5820,3704],{"class":146},[112,5822,3233],{"class":2386},[112,5824,2398],{"class":146},[112,5826,5828,5830,5832,5834,5836],{"class":114,"line":5827},255,[112,5829,2430],{"class":146},[112,5831,3738],{"class":2386},[112,5833,3704],{"class":146},[112,5835,3738],{"class":2386},[112,5837,2398],{"class":146},[112,5839,5841,5843,5845],{"class":114,"line":5840},256,[112,5842,2501],{"class":146},[112,5844,2744],{"class":2386},[112,5846,2398],{"class":146},[112,5848,5850,5852,5855,5857,5859,5862,5864,5866,5869],{"class":114,"line":5849},257,[112,5851,2420],{"class":146},[112,5853,5854],{"class":2386},"light",[112,5856,2390],{"class":132},[112,5858,1697],{"class":146},[112,5860,5861],{"class":136},"'sun'",[112,5863,2960],{"class":132},[112,5865,1697],{"class":146},[112,5867,5868],{"class":136},"'directional'",[112,5870,2398],{"class":146},[112,5872,5874,5876,5878,5881,5883],{"class":114,"line":5873},258,[112,5875,2430],{"class":146},[112,5877,3548],{"class":2386},[112,5879,5880],{"class":146},">0 0 10 0 -0 0\u003C\u002F",[112,5882,3548],{"class":2386},[112,5884,2398],{"class":146},[112,5886,5888,5890,5893,5895,5897],{"class":114,"line":5887},259,[112,5889,2430],{"class":146},[112,5891,5892],{"class":2386},"cast_shadows",[112,5894,3199],{"class":146},[112,5896,5892],{"class":2386},[112,5898,2398],{"class":146},[112,5900,5902,5904,5907,5909,5911],{"class":114,"line":5901},260,[112,5903,2430],{"class":146},[112,5905,5906],{"class":2386},"intensity",[112,5908,2991],{"class":146},[112,5910,5906],{"class":2386},[112,5912,2398],{"class":146},[112,5914,5916,5918,5921,5924,5926],{"class":114,"line":5915},261,[112,5917,2430],{"class":146},[112,5919,5920],{"class":2386},"direction",[112,5922,5923],{"class":146},">-0.5 0.1 -0.9\u003C\u002F",[112,5925,5920],{"class":2386},[112,5927,2398],{"class":146},[112,5929,5931,5933,5935,5937,5939],{"class":114,"line":5930},262,[112,5932,2430],{"class":146},[112,5934,3506],{"class":2386},[112,5936,3495],{"class":146},[112,5938,3506],{"class":2386},[112,5940,2398],{"class":146},[112,5942,5944,5946,5948,5951,5953],{"class":114,"line":5943},263,[112,5945,2430],{"class":146},[112,5947,3519],{"class":2386},[112,5949,5950],{"class":146},">0.2 0.2 0.2 1\u003C\u002F",[112,5952,3519],{"class":2386},[112,5954,2398],{"class":146},[112,5956,5958,5960,5963],{"class":114,"line":5957},264,[112,5959,2430],{"class":146},[112,5961,5962],{"class":2386},"attenuation",[112,5964,2398],{"class":146},[112,5966,5968,5970,5973,5975,5977],{"class":114,"line":5967},265,[112,5969,2604],{"class":146},[112,5971,5972],{"class":2386},"range",[112,5974,3005],{"class":146},[112,5976,5972],{"class":2386},[112,5978,2398],{"class":146},[112,5980,5982,5984,5987,5990,5992],{"class":114,"line":5981},266,[112,5983,2604],{"class":146},[112,5985,5986],{"class":2386},"linear",[112,5988,5989],{"class":146},">0.01\u003C\u002F",[112,5991,5986],{"class":2386},[112,5993,2398],{"class":146},[112,5995,5997,5999,6002,6005,6007],{"class":114,"line":5996},267,[112,5998,2604],{"class":146},[112,6000,6001],{"class":2386},"constant",[112,6003,6004],{"class":146},">0.90000000000000002\u003C\u002F",[112,6006,6001],{"class":2386},[112,6008,2398],{"class":146},[112,6010,6012,6014,6017,6019,6021],{"class":114,"line":6011},268,[112,6013,2604],{"class":146},[112,6015,6016],{"class":2386},"quadratic",[112,6018,2977],{"class":146},[112,6020,6016],{"class":2386},[112,6022,2398],{"class":146},[112,6024,6026,6028,6030],{"class":114,"line":6025},269,[112,6027,2664],{"class":146},[112,6029,5962],{"class":2386},[112,6031,2398],{"class":146},[112,6033,6035,6037,6040],{"class":114,"line":6034},270,[112,6036,2430],{"class":146},[112,6038,6039],{"class":2386},"spot",[112,6041,2398],{"class":146},[112,6043,6045,6047,6050,6052,6054],{"class":114,"line":6044},271,[112,6046,2604],{"class":146},[112,6048,6049],{"class":2386},"inner_angle",[112,6051,3618],{"class":146},[112,6053,6049],{"class":2386},[112,6055,2398],{"class":146},[112,6057,6059,6061,6064,6066,6068],{"class":114,"line":6058},272,[112,6060,2604],{"class":146},[112,6062,6063],{"class":2386},"outer_angle",[112,6065,3618],{"class":146},[112,6067,6063],{"class":2386},[112,6069,2398],{"class":146},[112,6071,6073,6075,6078,6080,6082],{"class":114,"line":6072},273,[112,6074,2604],{"class":146},[112,6076,6077],{"class":2386},"falloff",[112,6079,3618],{"class":146},[112,6081,6077],{"class":2386},[112,6083,2398],{"class":146},[112,6085,6087,6089,6091],{"class":114,"line":6086},274,[112,6088,2664],{"class":146},[112,6090,6039],{"class":2386},[112,6092,2398],{"class":146},[112,6094,6096,6098,6100],{"class":114,"line":6095},275,[112,6097,2501],{"class":146},[112,6099,5854],{"class":2386},[112,6101,2398],{"class":146},[112,6103,6105,6107,6109],{"class":114,"line":6104},276,[112,6106,2510],{"class":146},[112,6108,2934],{"class":2386},[112,6110,2398],{"class":146},[112,6112,6114,6116,6118],{"class":114,"line":6113},277,[112,6115,2519],{"class":146},[112,6117,2727],{"class":2386},[112,6119,2398],{"class":146},[15,6121,6122],{},[50,6123,6124],{},"2.修改sdf文件",[15,6126,6127,6128,6131,6132,6135,6136,6138,6139,6138,6142,6138,6145,6148,6149,6151,6152,6154,6155,6158,6159,6148,6162,6151,6164,6154,6166,6158,6168,6171,6172,6176,6178,6181,6184,6187,6190,6193,6196,6199,6201,2325],{},"修改sdf文件，调整立方体的尺寸，实现墙体的合围。在sdf文件中，四个立方体分别对应了四个",[109,6129,6130],{},"\u003Cmodel>","标签，其",[109,6133,6134],{},"name","属性分别为",[109,6137,3973],{},"、",[109,6140,6141],{},"box_1",[109,6143,6144],{},"box_2",[109,6146,6147],{},"box_3","，将",[109,6150,3973],{},"和",[109,6153,6141],{},"中的",[109,6156,6157],{},"\u003Csize>1 1 1\u003C\u002Fsize>","修改为",[109,6160,6161],{},"\u003Csize>0.1 5 1\u003C\u002Fsize>",[109,6163,6144],{},[109,6165,6147],{},[109,6167,6157],{},[109,6169,6170],{},"\u003Csize>10 0.1 1\u003C\u002Fsize>","（",[6173,6174,6175],"em",{},"注意：每个",[109,6177,6130],{},[6173,6179,6180],{},"标签下，都包含两个",[109,6182,6183],{},"\u003Csize>",[6173,6185,6186],{},"标签，分别位于",[109,6188,6189],{},"\u003Ccollision>",[6173,6191,6192],{},"标签和",[109,6194,6195],{},"\u003Cvisual>",[6173,6197,6198],{},"标签下，两个",[109,6200,6183],{},[6173,6202,6203],{},"标签内容都需要修改",[15,6205,6206],{},"修改后与的house.sdf文件内容如下：",[102,6208,6210],{"className":2374,"code":6209,"language":2376,"meta":107,"style":107},"\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",[109,6211,6212,6226,6240,6260,6272,6284,6296,6304,6325,6346,6367,6388,6400,6412,6426,6434,6446,6458,6470,6478,6492,6504,6518,6532,6540,6548,6560,6572,6580,6588,6596,6604,6612,6620,6628,6636,6644,6652,6666,6674,6682,6694,6706,6714,6722,6730,6742,6754,6766,6774,6782,6794,6802,6814,6826,6834,6846,6858,6870,6882,6894,6906,6914,6922,6934,6942,6954,6966,6974,6988,7000,7014,7022,7030,7042,7054,7066,7078,7090,7102,7110,7122,7134,7142,7156,7164,7172,7184,7192,7200,7208,7216,7224,7232,7240,7248,7256,7264,7278,7286,7294,7306,7314,7322,7330,7342,7354,7366,7374,7382,7394,7406,7414,7426,7438,7446,7460,7472,7486,7494,7502,7514,7526,7538,7550,7562,7574,7582,7594,7606,7614,7628,7636,7644,7656,7664,7672,7680,7688,7696,7704,7712,7720,7728,7736,7750,7758,7766,7778,7786,7794,7802,7814,7826,7838,7846,7854,7866,7878,7886,7898,7910,7918,7932,7944,7958,7966,7974,7986,7998,8010,8022,8034,8046,8054,8066,8078,8086,8100,8108,8116,8128,8136,8144,8152,8160,8168,8176,8184,8192,8200,8208,8222,8230,8238,8250,8258,8266,8274,8286,8298,8310,8318,8326,8338,8350,8358,8370,8382,8390,8404,8416,8430,8438,8446,8458,8470,8482,8494,8506,8518,8526,8538,8550,8558,8572,8580,8588,8600,8608,8616,8624,8632,8640,8648,8656,8664,8672,8680,8694,8702,8710,8722,8730,8738,8746,8758,8770,8782,8790,8798,8810,8822,8830,8842,8854,8862,8882,8894,8906,8918,8930,8942,8954,8962,8974,8986,8998,9010,9018,9026,9038,9050,9062,9070,9078,9086],{"__ignoreMap":107},[112,6213,6214,6216,6218,6220,6222,6224],{"class":114,"line":115},[112,6215,2383],{"class":146},[112,6217,2727],{"class":2386},[112,6219,2730],{"class":132},[112,6221,1697],{"class":146},[112,6223,2925],{"class":136},[112,6225,2398],{"class":146},[112,6227,6228,6230,6232,6234,6236,6238],{"class":114,"line":122},[112,6229,2403],{"class":146},[112,6231,2934],{"class":2386},[112,6233,2390],{"class":132},[112,6235,1697],{"class":146},[112,6237,2941],{"class":136},[112,6239,2398],{"class":146},[112,6241,6242,6244,6246,6248,6250,6252,6254,6256,6258],{"class":114,"line":129},[112,6243,2420],{"class":146},[112,6245,2950],{"class":2386},[112,6247,2390],{"class":132},[112,6249,1697],{"class":146},[112,6251,2957],{"class":136},[112,6253,2960],{"class":132},[112,6255,1697],{"class":146},[112,6257,2965],{"class":136},[112,6259,2398],{"class":146},[112,6261,6262,6264,6266,6268,6270],{"class":114,"line":153},[112,6263,2430],{"class":146},[112,6265,2974],{"class":2386},[112,6267,2977],{"class":146},[112,6269,2974],{"class":2386},[112,6271,2398],{"class":146},[112,6273,6274,6276,6278,6280,6282],{"class":114,"line":158},[112,6275,2430],{"class":146},[112,6277,2988],{"class":2386},[112,6279,2991],{"class":146},[112,6281,2988],{"class":2386},[112,6283,2398],{"class":146},[112,6285,6286,6288,6290,6292,6294],{"class":114,"line":164},[112,6287,2430],{"class":146},[112,6289,3002],{"class":2386},[112,6291,3005],{"class":146},[112,6293,3002],{"class":2386},[112,6295,2398],{"class":146},[112,6297,6298,6300,6302],{"class":114,"line":176},[112,6299,2501],{"class":146},[112,6301,2950],{"class":2386},[112,6303,2398],{"class":146},[112,6305,6306,6308,6310,6312,6314,6317,6319,6321,6323],{"class":114,"line":181},[112,6307,2420],{"class":146},[112,6309,3024],{"class":2386},[112,6311,2390],{"class":132},[112,6313,1697],{"class":146},[112,6315,6316],{"class":136},"'ign::gazebo::systems::Physics'",[112,6318,3034],{"class":132},[112,6320,1697],{"class":146},[112,6322,3039],{"class":136},[112,6324,3042],{"class":146},[112,6326,6327,6329,6331,6333,6335,6338,6340,6342,6344],{"class":114,"line":187},[112,6328,2420],{"class":146},[112,6330,3024],{"class":2386},[112,6332,2390],{"class":132},[112,6334,1697],{"class":146},[112,6336,6337],{"class":136},"'ign::gazebo::systems::UserCommands'",[112,6339,3034],{"class":132},[112,6341,1697],{"class":146},[112,6343,3062],{"class":136},[112,6345,3042],{"class":146},[112,6347,6348,6350,6352,6354,6356,6359,6361,6363,6365],{"class":114,"line":434},[112,6349,2420],{"class":146},[112,6351,3024],{"class":2386},[112,6353,2390],{"class":132},[112,6355,1697],{"class":146},[112,6357,6358],{"class":136},"'ign::gazebo::systems::SceneBroadcaster'",[112,6360,3034],{"class":132},[112,6362,1697],{"class":146},[112,6364,3084],{"class":136},[112,6366,3042],{"class":146},[112,6368,6369,6371,6373,6375,6377,6380,6382,6384,6386],{"class":114,"line":440},[112,6370,2420],{"class":146},[112,6372,3024],{"class":2386},[112,6374,2390],{"class":132},[112,6376,1697],{"class":146},[112,6378,6379],{"class":136},"'ign::gazebo::systems::Contact'",[112,6381,3034],{"class":132},[112,6383,1697],{"class":146},[112,6385,3106],{"class":136},[112,6387,3042],{"class":146},[112,6389,6390,6392,6394,6396,6398],{"class":114,"line":446},[112,6391,2420],{"class":146},[112,6393,3115],{"class":2386},[112,6395,3118],{"class":146},[112,6397,3115],{"class":2386},[112,6399,2398],{"class":146},[112,6401,6402,6404,6406,6408,6410],{"class":114,"line":452},[112,6403,2420],{"class":146},[112,6405,3129],{"class":2386},[112,6407,3132],{"class":146},[112,6409,3129],{"class":2386},[112,6411,2398],{"class":146},[112,6413,6414,6416,6418,6420,6422,6424],{"class":114,"line":1674},[112,6415,2420],{"class":146},[112,6417,3143],{"class":2386},[112,6419,2960],{"class":132},[112,6421,1697],{"class":146},[112,6423,3150],{"class":136},[112,6425,3042],{"class":146},[112,6427,6428,6430,6432],{"class":114,"line":1686},[112,6429,2420],{"class":146},[112,6431,3159],{"class":2386},[112,6433,2398],{"class":146},[112,6435,6436,6438,6440,6442,6444],{"class":114,"line":1691},[112,6437,2430],{"class":146},[112,6439,3168],{"class":2386},[112,6441,3171],{"class":146},[112,6443,3168],{"class":2386},[112,6445,2398],{"class":146},[112,6447,6448,6450,6452,6454,6456],{"class":114,"line":1708},[112,6449,2430],{"class":146},[112,6451,3182],{"class":2386},[112,6453,3185],{"class":146},[112,6455,3182],{"class":2386},[112,6457,2398],{"class":146},[112,6459,6460,6462,6464,6466,6468],{"class":114,"line":1723},[112,6461,2430],{"class":146},[112,6463,3196],{"class":2386},[112,6465,3199],{"class":146},[112,6467,3196],{"class":2386},[112,6469,2398],{"class":146},[112,6471,6472,6474,6476],{"class":114,"line":1745},[112,6473,2501],{"class":146},[112,6475,3159],{"class":2386},[112,6477,2398],{"class":146},[112,6479,6480,6482,6484,6486,6488,6490],{"class":114,"line":1750},[112,6481,2420],{"class":146},[112,6483,2744],{"class":2386},[112,6485,2390],{"class":132},[112,6487,1697],{"class":146},[112,6489,3224],{"class":136},[112,6491,2398],{"class":146},[112,6493,6494,6496,6498,6500,6502],{"class":114,"line":1761},[112,6495,2430],{"class":146},[112,6497,3233],{"class":2386},[112,6499,3199],{"class":146},[112,6501,3233],{"class":2386},[112,6503,2398],{"class":146},[112,6505,6506,6508,6510,6512,6514,6516],{"class":114,"line":1767},[112,6507,2430],{"class":146},[112,6509,2406],{"class":2386},[112,6511,2390],{"class":132},[112,6513,1697],{"class":146},[112,6515,3252],{"class":136},[112,6517,2398],{"class":146},[112,6519,6520,6522,6524,6526,6528,6530],{"class":114,"line":1785},[112,6521,2604],{"class":146},[112,6523,3261],{"class":2386},[112,6525,2390],{"class":132},[112,6527,1697],{"class":146},[112,6529,3268],{"class":136},[112,6531,2398],{"class":146},[112,6533,6534,6536,6538],{"class":114,"line":1797},[112,6535,2800],{"class":146},[112,6537,3277],{"class":2386},[112,6539,2398],{"class":146},[112,6541,6542,6544,6546],{"class":114,"line":1815},[112,6543,3284],{"class":146},[112,6545,3287],{"class":2386},[112,6547,2398],{"class":146},[112,6549,6550,6552,6554,6556,6558],{"class":114,"line":1821},[112,6551,3294],{"class":146},[112,6553,3297],{"class":2386},[112,6555,3300],{"class":146},[112,6557,3297],{"class":2386},[112,6559,2398],{"class":146},[112,6561,6562,6564,6566,6568,6570],{"class":114,"line":1827},[112,6563,3294],{"class":146},[112,6565,3311],{"class":2386},[112,6567,3314],{"class":146},[112,6569,3311],{"class":2386},[112,6571,2398],{"class":146},[112,6573,6574,6576,6578],{"class":114,"line":1832},[112,6575,3323],{"class":146},[112,6577,3287],{"class":2386},[112,6579,2398],{"class":146},[112,6581,6582,6584,6586],{"class":114,"line":1838},[112,6583,3332],{"class":146},[112,6585,3277],{"class":2386},[112,6587,2398],{"class":146},[112,6589,6590,6592,6594],{"class":114,"line":1849},[112,6591,2800],{"class":146},[112,6593,3343],{"class":2386},[112,6595,2398],{"class":146},[112,6597,6598,6600,6602],{"class":114,"line":1863},[112,6599,3284],{"class":146},[112,6601,3352],{"class":2386},[112,6603,2398],{"class":146},[112,6605,6606,6608,6610],{"class":114,"line":1875},[112,6607,3294],{"class":146},[112,6609,3361],{"class":2386},[112,6611,3042],{"class":146},[112,6613,6614,6616,6618],{"class":114,"line":1902},[112,6615,3323],{"class":146},[112,6617,3352],{"class":2386},[112,6619,2398],{"class":146},[112,6621,6622,6624,6626],{"class":114,"line":1918},[112,6623,3284],{"class":146},[112,6625,3378],{"class":2386},[112,6627,3042],{"class":146},[112,6629,6630,6632,6634],{"class":114,"line":1923},[112,6631,3284],{"class":146},[112,6633,3387],{"class":2386},[112,6635,3042],{"class":146},[112,6637,6638,6640,6642],{"class":114,"line":1928},[112,6639,3332],{"class":146},[112,6641,3343],{"class":2386},[112,6643,2398],{"class":146},[112,6645,6646,6648,6650],{"class":114,"line":1934},[112,6647,2840],{"class":146},[112,6649,3261],{"class":2386},[112,6651,2398],{"class":146},[112,6653,6654,6656,6658,6660,6662,6664],{"class":114,"line":1944},[112,6655,2604],{"class":146},[112,6657,3412],{"class":2386},[112,6659,2390],{"class":132},[112,6661,1697],{"class":146},[112,6663,3419],{"class":136},[112,6665,2398],{"class":146},[112,6667,6668,6670,6672],{"class":114,"line":1957},[112,6669,2800],{"class":146},[112,6671,3277],{"class":2386},[112,6673,2398],{"class":146},[112,6675,6676,6678,6680],{"class":114,"line":1970},[112,6677,3284],{"class":146},[112,6679,3287],{"class":2386},[112,6681,2398],{"class":146},[112,6683,6684,6686,6688,6690,6692],{"class":114,"line":1985},[112,6685,3294],{"class":146},[112,6687,3297],{"class":2386},[112,6689,3300],{"class":146},[112,6691,3297],{"class":2386},[112,6693,2398],{"class":146},[112,6695,6696,6698,6700,6702,6704],{"class":114,"line":1993},[112,6697,3294],{"class":146},[112,6699,3311],{"class":2386},[112,6701,3314],{"class":146},[112,6703,3311],{"class":2386},[112,6705,2398],{"class":146},[112,6707,6708,6710,6712],{"class":114,"line":2001},[112,6709,3323],{"class":146},[112,6711,3287],{"class":2386},[112,6713,2398],{"class":146},[112,6715,6716,6718,6720],{"class":114,"line":2007},[112,6717,3332],{"class":146},[112,6719,3277],{"class":2386},[112,6721,2398],{"class":146},[112,6723,6724,6726,6728],{"class":114,"line":2029},[112,6725,2800],{"class":146},[112,6727,3484],{"class":2386},[112,6729,2398],{"class":146},[112,6731,6732,6734,6736,6738,6740],{"class":114,"line":2040},[112,6733,3284],{"class":146},[112,6735,3168],{"class":2386},[112,6737,3495],{"class":146},[112,6739,3168],{"class":2386},[112,6741,2398],{"class":146},[112,6743,6744,6746,6748,6750,6752],{"class":114,"line":2057},[112,6745,3284],{"class":146},[112,6747,3506],{"class":2386},[112,6749,3495],{"class":146},[112,6751,3506],{"class":2386},[112,6753,2398],{"class":146},[112,6755,6756,6758,6760,6762,6764],{"class":114,"line":2072},[112,6757,3284],{"class":146},[112,6759,3519],{"class":2386},[112,6761,3495],{"class":146},[112,6763,3519],{"class":2386},[112,6765,2398],{"class":146},[112,6767,6768,6770,6772],{"class":114,"line":2078},[112,6769,3332],{"class":146},[112,6771,3484],{"class":2386},[112,6773,2398],{"class":146},[112,6775,6776,6778,6780],{"class":114,"line":2089},[112,6777,2840],{"class":146},[112,6779,3412],{"class":2386},[112,6781,2398],{"class":146},[112,6783,6784,6786,6788,6790,6792],{"class":114,"line":2094},[112,6785,2604],{"class":146},[112,6787,3548],{"class":2386},[112,6789,3551],{"class":146},[112,6791,3548],{"class":2386},[112,6793,2398],{"class":146},[112,6795,6796,6798,6800],{"class":114,"line":2099},[112,6797,2604],{"class":146},[112,6799,2423],{"class":2386},[112,6801,2398],{"class":146},[112,6803,6804,6806,6808,6810,6812],{"class":114,"line":2108},[112,6805,2800],{"class":146},[112,6807,3548],{"class":2386},[112,6809,3551],{"class":146},[112,6811,3548],{"class":2386},[112,6813,2398],{"class":146},[112,6815,6816,6818,6820,6822,6824],{"class":114,"line":2114},[112,6817,2800],{"class":146},[112,6819,2433],{"class":2386},[112,6821,3584],{"class":146},[112,6823,2433],{"class":2386},[112,6825,2398],{"class":146},[112,6827,6828,6830,6832],{"class":114,"line":2134},[112,6829,2800],{"class":146},[112,6831,2451],{"class":2386},[112,6833,2398],{"class":146},[112,6835,6836,6838,6840,6842,6844],{"class":114,"line":2147},[112,6837,3284],{"class":146},[112,6839,2803],{"class":2386},[112,6841,2991],{"class":146},[112,6843,2803],{"class":2386},[112,6845,2398],{"class":146},[112,6847,6848,6850,6852,6854,6856],{"class":114,"line":2153},[112,6849,3284],{"class":146},[112,6851,3615],{"class":2386},[112,6853,3618],{"class":146},[112,6855,3615],{"class":2386},[112,6857,2398],{"class":146},[112,6859,6860,6862,6864,6866,6868],{"class":114,"line":2159},[112,6861,3284],{"class":146},[112,6863,3629],{"class":2386},[112,6865,3618],{"class":146},[112,6867,3629],{"class":2386},[112,6869,2398],{"class":146},[112,6871,6872,6874,6876,6878,6880],{"class":114,"line":3638},[112,6873,3284],{"class":146},[112,6875,2816],{"class":2386},[112,6877,2991],{"class":146},[112,6879,2816],{"class":2386},[112,6881,2398],{"class":146},[112,6883,6884,6886,6888,6890,6892],{"class":114,"line":3651},[112,6885,3284],{"class":146},[112,6887,3656],{"class":2386},[112,6889,3618],{"class":146},[112,6891,3656],{"class":2386},[112,6893,2398],{"class":146},[112,6895,6896,6898,6900,6902,6904],{"class":114,"line":3665},[112,6897,3284],{"class":146},[112,6899,2829],{"class":2386},[112,6901,2991],{"class":146},[112,6903,2829],{"class":2386},[112,6905,2398],{"class":146},[112,6907,6908,6910,6912],{"class":114,"line":3678},[112,6909,3332],{"class":146},[112,6911,2451],{"class":2386},[112,6913,2398],{"class":146},[112,6915,6916,6918,6920],{"class":114,"line":3687},[112,6917,2840],{"class":146},[112,6919,2423],{"class":2386},[112,6921,2398],{"class":146},[112,6923,6924,6926,6928,6930,6932],{"class":114,"line":3696},[112,6925,2604],{"class":146},[112,6927,3701],{"class":2386},[112,6929,3704],{"class":146},[112,6931,3701],{"class":2386},[112,6933,2398],{"class":146},[112,6935,6936,6938,6940],{"class":114,"line":3711},[112,6937,2664],{"class":146},[112,6939,2406],{"class":2386},[112,6941,2398],{"class":146},[112,6943,6944,6946,6948,6950,6952],{"class":114,"line":3720},[112,6945,2430],{"class":146},[112,6947,3548],{"class":2386},[112,6949,3551],{"class":146},[112,6951,3548],{"class":2386},[112,6953,2398],{"class":146},[112,6955,6956,6958,6960,6962,6964],{"class":114,"line":3733},[112,6957,2430],{"class":146},[112,6959,3738],{"class":2386},[112,6961,3704],{"class":146},[112,6963,3738],{"class":2386},[112,6965,2398],{"class":146},[112,6967,6968,6970,6972],{"class":114,"line":3747},[112,6969,2501],{"class":146},[112,6971,2744],{"class":2386},[112,6973,2398],{"class":146},[112,6975,6976,6978,6980,6982,6984,6986],{"class":114,"line":3756},[112,6977,2420],{"class":146},[112,6979,2744],{"class":2386},[112,6981,2390],{"class":132},[112,6983,1697],{"class":146},[112,6985,3767],{"class":136},[112,6987,2398],{"class":146},[112,6989,6990,6992,6994,6996,6998],{"class":114,"line":3772},[112,6991,2430],{"class":146},[112,6993,3548],{"class":2386},[112,6995,3779],{"class":146},[112,6997,3548],{"class":2386},[112,6999,2398],{"class":146},[112,7001,7002,7004,7006,7008,7010,7012],{"class":114,"line":3786},[112,7003,2430],{"class":146},[112,7005,2406],{"class":2386},[112,7007,2390],{"class":132},[112,7009,1697],{"class":146},[112,7011,3797],{"class":136},[112,7013,2398],{"class":146},[112,7015,7016,7018,7020],{"class":114,"line":3802},[112,7017,2604],{"class":146},[112,7019,2423],{"class":2386},[112,7021,2398],{"class":146},[112,7023,7024,7026,7028],{"class":114,"line":3811},[112,7025,2800],{"class":146},[112,7027,2451],{"class":2386},[112,7029,2398],{"class":146},[112,7031,7032,7034,7036,7038,7040],{"class":114,"line":3820},[112,7033,3284],{"class":146},[112,7035,2803],{"class":2386},[112,7037,3827],{"class":146},[112,7039,2803],{"class":2386},[112,7041,2398],{"class":146},[112,7043,7044,7046,7048,7050,7052],{"class":114,"line":3834},[112,7045,3284],{"class":146},[112,7047,3615],{"class":2386},[112,7049,3618],{"class":146},[112,7051,3615],{"class":2386},[112,7053,2398],{"class":146},[112,7055,7056,7058,7060,7062,7064],{"class":114,"line":3847},[112,7057,3284],{"class":146},[112,7059,3629],{"class":2386},[112,7061,3618],{"class":146},[112,7063,3629],{"class":2386},[112,7065,2398],{"class":146},[112,7067,7068,7070,7072,7074,7076],{"class":114,"line":3860},[112,7069,3284],{"class":146},[112,7071,2816],{"class":2386},[112,7073,3827],{"class":146},[112,7075,2816],{"class":2386},[112,7077,2398],{"class":146},[112,7079,7080,7082,7084,7086,7088],{"class":114,"line":3873},[112,7081,3284],{"class":146},[112,7083,3656],{"class":2386},[112,7085,3618],{"class":146},[112,7087,3656],{"class":2386},[112,7089,2398],{"class":146},[112,7091,7092,7094,7096,7098,7100],{"class":114,"line":3886},[112,7093,3284],{"class":146},[112,7095,2829],{"class":2386},[112,7097,3827],{"class":146},[112,7099,2829],{"class":2386},[112,7101,2398],{"class":146},[112,7103,7104,7106,7108],{"class":114,"line":3899},[112,7105,3332],{"class":146},[112,7107,2451],{"class":2386},[112,7109,2398],{"class":146},[112,7111,7112,7114,7116,7118,7120],{"class":114,"line":3908},[112,7113,2800],{"class":146},[112,7115,2433],{"class":2386},[112,7117,3584],{"class":146},[112,7119,2433],{"class":2386},[112,7121,2398],{"class":146},[112,7123,7124,7126,7128,7130,7132],{"class":114,"line":3921},[112,7125,2800],{"class":146},[112,7127,3548],{"class":2386},[112,7129,3551],{"class":146},[112,7131,3548],{"class":2386},[112,7133,2398],{"class":146},[112,7135,7136,7138,7140],{"class":114,"line":3934},[112,7137,2840],{"class":146},[112,7139,2423],{"class":2386},[112,7141,2398],{"class":146},[112,7143,7144,7146,7148,7150,7152,7154],{"class":114,"line":3943},[112,7145,2604],{"class":146},[112,7147,3261],{"class":2386},[112,7149,2390],{"class":132},[112,7151,1697],{"class":146},[112,7153,3954],{"class":136},[112,7155,2398],{"class":146},[112,7157,7158,7160,7162],{"class":114,"line":3959},[112,7159,2800],{"class":146},[112,7161,3277],{"class":2386},[112,7163,2398],{"class":146},[112,7165,7166,7168,7170],{"class":114,"line":3968},[112,7167,3284],{"class":146},[112,7169,3973],{"class":2386},[112,7171,2398],{"class":146},[112,7173,7174,7176,7178,7180,7182],{"class":114,"line":3978},[112,7175,3294],{"class":146},[112,7177,3311],{"class":2386},[112,7179,3985],{"class":146},[112,7181,3311],{"class":2386},[112,7183,2398],{"class":146},[112,7185,7186,7188,7190],{"class":114,"line":3992},[112,7187,3323],{"class":146},[112,7189,3973],{"class":2386},[112,7191,2398],{"class":146},[112,7193,7194,7196,7198],{"class":114,"line":4001},[112,7195,3332],{"class":146},[112,7197,3277],{"class":2386},[112,7199,2398],{"class":146},[112,7201,7202,7204,7206],{"class":114,"line":4010},[112,7203,2800],{"class":146},[112,7205,3343],{"class":2386},[112,7207,2398],{"class":146},[112,7209,7210,7212,7214],{"class":114,"line":4019},[112,7211,3284],{"class":146},[112,7213,3352],{"class":2386},[112,7215,2398],{"class":146},[112,7217,7218,7220,7222],{"class":114,"line":4028},[112,7219,3294],{"class":146},[112,7221,3361],{"class":2386},[112,7223,3042],{"class":146},[112,7225,7226,7228,7230],{"class":114,"line":4037},[112,7227,3323],{"class":146},[112,7229,3352],{"class":2386},[112,7231,2398],{"class":146},[112,7233,7234,7236,7238],{"class":114,"line":4046},[112,7235,3284],{"class":146},[112,7237,3378],{"class":2386},[112,7239,3042],{"class":146},[112,7241,7242,7244,7246],{"class":114,"line":4055},[112,7243,3284],{"class":146},[112,7245,3387],{"class":2386},[112,7247,3042],{"class":146},[112,7249,7250,7252,7254],{"class":114,"line":4064},[112,7251,3332],{"class":146},[112,7253,3343],{"class":2386},[112,7255,2398],{"class":146},[112,7257,7258,7260,7262],{"class":114,"line":4073},[112,7259,2840],{"class":146},[112,7261,3261],{"class":2386},[112,7263,2398],{"class":146},[112,7265,7266,7268,7270,7272,7274,7276],{"class":114,"line":4082},[112,7267,2604],{"class":146},[112,7269,3412],{"class":2386},[112,7271,2390],{"class":132},[112,7273,1697],{"class":146},[112,7275,4093],{"class":136},[112,7277,2398],{"class":146},[112,7279,7280,7282,7284],{"class":114,"line":4098},[112,7281,2800],{"class":146},[112,7283,3277],{"class":2386},[112,7285,2398],{"class":146},[112,7287,7288,7290,7292],{"class":114,"line":4107},[112,7289,3284],{"class":146},[112,7291,3973],{"class":2386},[112,7293,2398],{"class":146},[112,7295,7296,7298,7300,7302,7304],{"class":114,"line":4116},[112,7297,3294],{"class":146},[112,7299,3311],{"class":2386},[112,7301,3985],{"class":146},[112,7303,3311],{"class":2386},[112,7305,2398],{"class":146},[112,7307,7308,7310,7312],{"class":114,"line":4129},[112,7309,3323],{"class":146},[112,7311,3973],{"class":2386},[112,7313,2398],{"class":146},[112,7315,7316,7318,7320],{"class":114,"line":4138},[112,7317,3332],{"class":146},[112,7319,3277],{"class":2386},[112,7321,2398],{"class":146},[112,7323,7324,7326,7328],{"class":114,"line":4147},[112,7325,2800],{"class":146},[112,7327,3484],{"class":2386},[112,7329,2398],{"class":146},[112,7331,7332,7334,7336,7338,7340],{"class":114,"line":4156},[112,7333,3284],{"class":146},[112,7335,3168],{"class":2386},[112,7337,4163],{"class":146},[112,7339,3168],{"class":2386},[112,7341,2398],{"class":146},[112,7343,7344,7346,7348,7350,7352],{"class":114,"line":4170},[112,7345,3284],{"class":146},[112,7347,3506],{"class":2386},[112,7349,3185],{"class":146},[112,7351,3506],{"class":2386},[112,7353,2398],{"class":146},[112,7355,7356,7358,7360,7362,7364],{"class":114,"line":4183},[112,7357,3284],{"class":146},[112,7359,3519],{"class":2386},[112,7361,4190],{"class":146},[112,7363,3519],{"class":2386},[112,7365,2398],{"class":146},[112,7367,7368,7370,7372],{"class":114,"line":4197},[112,7369,3332],{"class":146},[112,7371,3484],{"class":2386},[112,7373,2398],{"class":146},[112,7375,7376,7378,7380],{"class":114,"line":4206},[112,7377,2840],{"class":146},[112,7379,3412],{"class":2386},[112,7381,2398],{"class":146},[112,7383,7384,7386,7388,7390,7392],{"class":114,"line":4215},[112,7385,2604],{"class":146},[112,7387,3548],{"class":2386},[112,7389,3551],{"class":146},[112,7391,3548],{"class":2386},[112,7393,2398],{"class":146},[112,7395,7396,7398,7400,7402,7404],{"class":114,"line":4228},[112,7397,2604],{"class":146},[112,7399,3701],{"class":2386},[112,7401,3704],{"class":146},[112,7403,3701],{"class":2386},[112,7405,2398],{"class":146},[112,7407,7408,7410,7412],{"class":114,"line":4241},[112,7409,2664],{"class":146},[112,7411,2406],{"class":2386},[112,7413,2398],{"class":146},[112,7415,7416,7418,7420,7422,7424],{"class":114,"line":4250},[112,7417,2430],{"class":146},[112,7419,3233],{"class":2386},[112,7421,3704],{"class":146},[112,7423,3233],{"class":2386},[112,7425,2398],{"class":146},[112,7427,7428,7430,7432,7434,7436],{"class":114,"line":4263},[112,7429,2430],{"class":146},[112,7431,3738],{"class":2386},[112,7433,3704],{"class":146},[112,7435,3738],{"class":2386},[112,7437,2398],{"class":146},[112,7439,7440,7442,7444],{"class":114,"line":4276},[112,7441,2501],{"class":146},[112,7443,2744],{"class":2386},[112,7445,2398],{"class":146},[112,7447,7448,7450,7452,7454,7456,7458],{"class":114,"line":4285},[112,7449,2420],{"class":146},[112,7451,2744],{"class":2386},[112,7453,2390],{"class":132},[112,7455,1697],{"class":146},[112,7457,4296],{"class":136},[112,7459,2398],{"class":146},[112,7461,7462,7464,7466,7468,7470],{"class":114,"line":4301},[112,7463,2430],{"class":146},[112,7465,3548],{"class":2386},[112,7467,4308],{"class":146},[112,7469,3548],{"class":2386},[112,7471,2398],{"class":146},[112,7473,7474,7476,7478,7480,7482,7484],{"class":114,"line":4315},[112,7475,2430],{"class":146},[112,7477,2406],{"class":2386},[112,7479,2390],{"class":132},[112,7481,1697],{"class":146},[112,7483,3797],{"class":136},[112,7485,2398],{"class":146},[112,7487,7488,7490,7492],{"class":114,"line":4330},[112,7489,2604],{"class":146},[112,7491,2423],{"class":2386},[112,7493,2398],{"class":146},[112,7495,7496,7498,7500],{"class":114,"line":4339},[112,7497,2800],{"class":146},[112,7499,2451],{"class":2386},[112,7501,2398],{"class":146},[112,7503,7504,7506,7508,7510,7512],{"class":114,"line":4348},[112,7505,3284],{"class":146},[112,7507,2803],{"class":2386},[112,7509,3827],{"class":146},[112,7511,2803],{"class":2386},[112,7513,2398],{"class":146},[112,7515,7516,7518,7520,7522,7524],{"class":114,"line":4361},[112,7517,3284],{"class":146},[112,7519,3615],{"class":2386},[112,7521,3618],{"class":146},[112,7523,3615],{"class":2386},[112,7525,2398],{"class":146},[112,7527,7528,7530,7532,7534,7536],{"class":114,"line":4374},[112,7529,3284],{"class":146},[112,7531,3629],{"class":2386},[112,7533,3618],{"class":146},[112,7535,3629],{"class":2386},[112,7537,2398],{"class":146},[112,7539,7540,7542,7544,7546,7548],{"class":114,"line":4387},[112,7541,3284],{"class":146},[112,7543,2816],{"class":2386},[112,7545,3827],{"class":146},[112,7547,2816],{"class":2386},[112,7549,2398],{"class":146},[112,7551,7552,7554,7556,7558,7560],{"class":114,"line":4400},[112,7553,3284],{"class":146},[112,7555,3656],{"class":2386},[112,7557,3618],{"class":146},[112,7559,3656],{"class":2386},[112,7561,2398],{"class":146},[112,7563,7564,7566,7568,7570,7572],{"class":114,"line":4413},[112,7565,3284],{"class":146},[112,7567,2829],{"class":2386},[112,7569,3827],{"class":146},[112,7571,2829],{"class":2386},[112,7573,2398],{"class":146},[112,7575,7576,7578,7580],{"class":114,"line":4426},[112,7577,3332],{"class":146},[112,7579,2451],{"class":2386},[112,7581,2398],{"class":146},[112,7583,7584,7586,7588,7590,7592],{"class":114,"line":4435},[112,7585,2800],{"class":146},[112,7587,2433],{"class":2386},[112,7589,3584],{"class":146},[112,7591,2433],{"class":2386},[112,7593,2398],{"class":146},[112,7595,7596,7598,7600,7602,7604],{"class":114,"line":4448},[112,7597,2800],{"class":146},[112,7599,3548],{"class":2386},[112,7601,3551],{"class":146},[112,7603,3548],{"class":2386},[112,7605,2398],{"class":146},[112,7607,7608,7610,7612],{"class":114,"line":4461},[112,7609,2840],{"class":146},[112,7611,2423],{"class":2386},[112,7613,2398],{"class":146},[112,7615,7616,7618,7620,7622,7624,7626],{"class":114,"line":4470},[112,7617,2604],{"class":146},[112,7619,3261],{"class":2386},[112,7621,2390],{"class":132},[112,7623,1697],{"class":146},[112,7625,3954],{"class":136},[112,7627,2398],{"class":146},[112,7629,7630,7632,7634],{"class":114,"line":4485},[112,7631,2800],{"class":146},[112,7633,3277],{"class":2386},[112,7635,2398],{"class":146},[112,7637,7638,7640,7642],{"class":114,"line":4494},[112,7639,3284],{"class":146},[112,7641,3973],{"class":2386},[112,7643,2398],{"class":146},[112,7645,7646,7648,7650,7652,7654],{"class":114,"line":4503},[112,7647,3294],{"class":146},[112,7649,3311],{"class":2386},[112,7651,3985],{"class":146},[112,7653,3311],{"class":2386},[112,7655,2398],{"class":146},[112,7657,7658,7660,7662],{"class":114,"line":4516},[112,7659,3323],{"class":146},[112,7661,3973],{"class":2386},[112,7663,2398],{"class":146},[112,7665,7666,7668,7670],{"class":114,"line":4525},[112,7667,3332],{"class":146},[112,7669,3277],{"class":2386},[112,7671,2398],{"class":146},[112,7673,7674,7676,7678],{"class":114,"line":4534},[112,7675,2800],{"class":146},[112,7677,3343],{"class":2386},[112,7679,2398],{"class":146},[112,7681,7682,7684,7686],{"class":114,"line":4543},[112,7683,3284],{"class":146},[112,7685,3352],{"class":2386},[112,7687,2398],{"class":146},[112,7689,7690,7692,7694],{"class":114,"line":4552},[112,7691,3294],{"class":146},[112,7693,3361],{"class":2386},[112,7695,3042],{"class":146},[112,7697,7698,7700,7702],{"class":114,"line":4561},[112,7699,3323],{"class":146},[112,7701,3352],{"class":2386},[112,7703,2398],{"class":146},[112,7705,7706,7708,7710],{"class":114,"line":4570},[112,7707,3284],{"class":146},[112,7709,3378],{"class":2386},[112,7711,3042],{"class":146},[112,7713,7714,7716,7718],{"class":114,"line":4579},[112,7715,3284],{"class":146},[112,7717,3387],{"class":2386},[112,7719,3042],{"class":146},[112,7721,7722,7724,7726],{"class":114,"line":4588},[112,7723,3332],{"class":146},[112,7725,3343],{"class":2386},[112,7727,2398],{"class":146},[112,7729,7730,7732,7734],{"class":114,"line":4597},[112,7731,2840],{"class":146},[112,7733,3261],{"class":2386},[112,7735,2398],{"class":146},[112,7737,7738,7740,7742,7744,7746,7748],{"class":114,"line":4606},[112,7739,2604],{"class":146},[112,7741,3412],{"class":2386},[112,7743,2390],{"class":132},[112,7745,1697],{"class":146},[112,7747,4093],{"class":136},[112,7749,2398],{"class":146},[112,7751,7752,7754,7756],{"class":114,"line":4621},[112,7753,2800],{"class":146},[112,7755,3277],{"class":2386},[112,7757,2398],{"class":146},[112,7759,7760,7762,7764],{"class":114,"line":4630},[112,7761,3284],{"class":146},[112,7763,3973],{"class":2386},[112,7765,2398],{"class":146},[112,7767,7768,7770,7772,7774,7776],{"class":114,"line":4639},[112,7769,3294],{"class":146},[112,7771,3311],{"class":2386},[112,7773,3985],{"class":146},[112,7775,3311],{"class":2386},[112,7777,2398],{"class":146},[112,7779,7780,7782,7784],{"class":114,"line":4652},[112,7781,3323],{"class":146},[112,7783,3973],{"class":2386},[112,7785,2398],{"class":146},[112,7787,7788,7790,7792],{"class":114,"line":4661},[112,7789,3332],{"class":146},[112,7791,3277],{"class":2386},[112,7793,2398],{"class":146},[112,7795,7796,7798,7800],{"class":114,"line":4670},[112,7797,2800],{"class":146},[112,7799,3484],{"class":2386},[112,7801,2398],{"class":146},[112,7803,7804,7806,7808,7810,7812],{"class":114,"line":4679},[112,7805,3284],{"class":146},[112,7807,3168],{"class":2386},[112,7809,4163],{"class":146},[112,7811,3168],{"class":2386},[112,7813,2398],{"class":146},[112,7815,7816,7818,7820,7822,7824],{"class":114,"line":4692},[112,7817,3284],{"class":146},[112,7819,3506],{"class":2386},[112,7821,3185],{"class":146},[112,7823,3506],{"class":2386},[112,7825,2398],{"class":146},[112,7827,7828,7830,7832,7834,7836],{"class":114,"line":4705},[112,7829,3284],{"class":146},[112,7831,3519],{"class":2386},[112,7833,4190],{"class":146},[112,7835,3519],{"class":2386},[112,7837,2398],{"class":146},[112,7839,7840,7842,7844],{"class":114,"line":4718},[112,7841,3332],{"class":146},[112,7843,3484],{"class":2386},[112,7845,2398],{"class":146},[112,7847,7848,7850,7852],{"class":114,"line":4727},[112,7849,2840],{"class":146},[112,7851,3412],{"class":2386},[112,7853,2398],{"class":146},[112,7855,7856,7858,7860,7862,7864],{"class":114,"line":4736},[112,7857,2604],{"class":146},[112,7859,3548],{"class":2386},[112,7861,3551],{"class":146},[112,7863,3548],{"class":2386},[112,7865,2398],{"class":146},[112,7867,7868,7870,7872,7874,7876],{"class":114,"line":4749},[112,7869,2604],{"class":146},[112,7871,3701],{"class":2386},[112,7873,3704],{"class":146},[112,7875,3701],{"class":2386},[112,7877,2398],{"class":146},[112,7879,7880,7882,7884],{"class":114,"line":4762},[112,7881,2664],{"class":146},[112,7883,2406],{"class":2386},[112,7885,2398],{"class":146},[112,7887,7888,7890,7892,7894,7896],{"class":114,"line":4771},[112,7889,2430],{"class":146},[112,7891,3233],{"class":2386},[112,7893,3704],{"class":146},[112,7895,3233],{"class":2386},[112,7897,2398],{"class":146},[112,7899,7900,7902,7904,7906,7908],{"class":114,"line":4784},[112,7901,2430],{"class":146},[112,7903,3738],{"class":2386},[112,7905,3704],{"class":146},[112,7907,3738],{"class":2386},[112,7909,2398],{"class":146},[112,7911,7912,7914,7916],{"class":114,"line":4797},[112,7913,2501],{"class":146},[112,7915,2744],{"class":2386},[112,7917,2398],{"class":146},[112,7919,7920,7922,7924,7926,7928,7930],{"class":114,"line":4806},[112,7921,2420],{"class":146},[112,7923,2744],{"class":2386},[112,7925,2390],{"class":132},[112,7927,1697],{"class":146},[112,7929,4817],{"class":136},[112,7931,2398],{"class":146},[112,7933,7934,7936,7938,7940,7942],{"class":114,"line":4822},[112,7935,2430],{"class":146},[112,7937,3548],{"class":2386},[112,7939,4829],{"class":146},[112,7941,3548],{"class":2386},[112,7943,2398],{"class":146},[112,7945,7946,7948,7950,7952,7954,7956],{"class":114,"line":4836},[112,7947,2430],{"class":146},[112,7949,2406],{"class":2386},[112,7951,2390],{"class":132},[112,7953,1697],{"class":146},[112,7955,3797],{"class":136},[112,7957,2398],{"class":146},[112,7959,7960,7962,7964],{"class":114,"line":4851},[112,7961,2604],{"class":146},[112,7963,2423],{"class":2386},[112,7965,2398],{"class":146},[112,7967,7968,7970,7972],{"class":114,"line":4860},[112,7969,2800],{"class":146},[112,7971,2451],{"class":2386},[112,7973,2398],{"class":146},[112,7975,7976,7978,7980,7982,7984],{"class":114,"line":4869},[112,7977,3284],{"class":146},[112,7979,2803],{"class":2386},[112,7981,3827],{"class":146},[112,7983,2803],{"class":2386},[112,7985,2398],{"class":146},[112,7987,7988,7990,7992,7994,7996],{"class":114,"line":4882},[112,7989,3284],{"class":146},[112,7991,3615],{"class":2386},[112,7993,3618],{"class":146},[112,7995,3615],{"class":2386},[112,7997,2398],{"class":146},[112,7999,8000,8002,8004,8006,8008],{"class":114,"line":4895},[112,8001,3284],{"class":146},[112,8003,3629],{"class":2386},[112,8005,3618],{"class":146},[112,8007,3629],{"class":2386},[112,8009,2398],{"class":146},[112,8011,8012,8014,8016,8018,8020],{"class":114,"line":4908},[112,8013,3284],{"class":146},[112,8015,2816],{"class":2386},[112,8017,3827],{"class":146},[112,8019,2816],{"class":2386},[112,8021,2398],{"class":146},[112,8023,8024,8026,8028,8030,8032],{"class":114,"line":4921},[112,8025,3284],{"class":146},[112,8027,3656],{"class":2386},[112,8029,3618],{"class":146},[112,8031,3656],{"class":2386},[112,8033,2398],{"class":146},[112,8035,8036,8038,8040,8042,8044],{"class":114,"line":4934},[112,8037,3284],{"class":146},[112,8039,2829],{"class":2386},[112,8041,3827],{"class":146},[112,8043,2829],{"class":2386},[112,8045,2398],{"class":146},[112,8047,8048,8050,8052],{"class":114,"line":4947},[112,8049,3332],{"class":146},[112,8051,2451],{"class":2386},[112,8053,2398],{"class":146},[112,8055,8056,8058,8060,8062,8064],{"class":114,"line":4956},[112,8057,2800],{"class":146},[112,8059,2433],{"class":2386},[112,8061,3584],{"class":146},[112,8063,2433],{"class":2386},[112,8065,2398],{"class":146},[112,8067,8068,8070,8072,8074,8076],{"class":114,"line":4969},[112,8069,2800],{"class":146},[112,8071,3548],{"class":2386},[112,8073,3551],{"class":146},[112,8075,3548],{"class":2386},[112,8077,2398],{"class":146},[112,8079,8080,8082,8084],{"class":114,"line":4982},[112,8081,2840],{"class":146},[112,8083,2423],{"class":2386},[112,8085,2398],{"class":146},[112,8087,8088,8090,8092,8094,8096,8098],{"class":114,"line":4991},[112,8089,2604],{"class":146},[112,8091,3261],{"class":2386},[112,8093,2390],{"class":132},[112,8095,1697],{"class":146},[112,8097,3954],{"class":136},[112,8099,2398],{"class":146},[112,8101,8102,8104,8106],{"class":114,"line":5006},[112,8103,2800],{"class":146},[112,8105,3277],{"class":2386},[112,8107,2398],{"class":146},[112,8109,8110,8112,8114],{"class":114,"line":5015},[112,8111,3284],{"class":146},[112,8113,3973],{"class":2386},[112,8115,2398],{"class":146},[112,8117,8118,8120,8122,8124,8126],{"class":114,"line":5024},[112,8119,3294],{"class":146},[112,8121,3311],{"class":2386},[112,8123,5031],{"class":146},[112,8125,3311],{"class":2386},[112,8127,2398],{"class":146},[112,8129,8130,8132,8134],{"class":114,"line":5038},[112,8131,3323],{"class":146},[112,8133,3973],{"class":2386},[112,8135,2398],{"class":146},[112,8137,8138,8140,8142],{"class":114,"line":5047},[112,8139,3332],{"class":146},[112,8141,3277],{"class":2386},[112,8143,2398],{"class":146},[112,8145,8146,8148,8150],{"class":114,"line":5056},[112,8147,2800],{"class":146},[112,8149,3343],{"class":2386},[112,8151,2398],{"class":146},[112,8153,8154,8156,8158],{"class":114,"line":5065},[112,8155,3284],{"class":146},[112,8157,3352],{"class":2386},[112,8159,2398],{"class":146},[112,8161,8162,8164,8166],{"class":114,"line":5074},[112,8163,3294],{"class":146},[112,8165,3361],{"class":2386},[112,8167,3042],{"class":146},[112,8169,8170,8172,8174],{"class":114,"line":5083},[112,8171,3323],{"class":146},[112,8173,3352],{"class":2386},[112,8175,2398],{"class":146},[112,8177,8178,8180,8182],{"class":114,"line":5092},[112,8179,3284],{"class":146},[112,8181,3378],{"class":2386},[112,8183,3042],{"class":146},[112,8185,8186,8188,8190],{"class":114,"line":5101},[112,8187,3284],{"class":146},[112,8189,3387],{"class":2386},[112,8191,3042],{"class":146},[112,8193,8194,8196,8198],{"class":114,"line":5110},[112,8195,3332],{"class":146},[112,8197,3343],{"class":2386},[112,8199,2398],{"class":146},[112,8201,8202,8204,8206],{"class":114,"line":5119},[112,8203,2840],{"class":146},[112,8205,3261],{"class":2386},[112,8207,2398],{"class":146},[112,8209,8210,8212,8214,8216,8218,8220],{"class":114,"line":5128},[112,8211,2604],{"class":146},[112,8213,3412],{"class":2386},[112,8215,2390],{"class":132},[112,8217,1697],{"class":146},[112,8219,4093],{"class":136},[112,8221,2398],{"class":146},[112,8223,8224,8226,8228],{"class":114,"line":5143},[112,8225,2800],{"class":146},[112,8227,3277],{"class":2386},[112,8229,2398],{"class":146},[112,8231,8232,8234,8236],{"class":114,"line":5152},[112,8233,3284],{"class":146},[112,8235,3973],{"class":2386},[112,8237,2398],{"class":146},[112,8239,8240,8242,8244,8246,8248],{"class":114,"line":5161},[112,8241,3294],{"class":146},[112,8243,3311],{"class":2386},[112,8245,5031],{"class":146},[112,8247,3311],{"class":2386},[112,8249,2398],{"class":146},[112,8251,8252,8254,8256],{"class":114,"line":5174},[112,8253,3323],{"class":146},[112,8255,3973],{"class":2386},[112,8257,2398],{"class":146},[112,8259,8260,8262,8264],{"class":114,"line":5183},[112,8261,3332],{"class":146},[112,8263,3277],{"class":2386},[112,8265,2398],{"class":146},[112,8267,8268,8270,8272],{"class":114,"line":5192},[112,8269,2800],{"class":146},[112,8271,3484],{"class":2386},[112,8273,2398],{"class":146},[112,8275,8276,8278,8280,8282,8284],{"class":114,"line":5201},[112,8277,3284],{"class":146},[112,8279,3168],{"class":2386},[112,8281,4163],{"class":146},[112,8283,3168],{"class":2386},[112,8285,2398],{"class":146},[112,8287,8288,8290,8292,8294,8296],{"class":114,"line":5214},[112,8289,3284],{"class":146},[112,8291,3506],{"class":2386},[112,8293,3185],{"class":146},[112,8295,3506],{"class":2386},[112,8297,2398],{"class":146},[112,8299,8300,8302,8304,8306,8308],{"class":114,"line":5227},[112,8301,3284],{"class":146},[112,8303,3519],{"class":2386},[112,8305,4190],{"class":146},[112,8307,3519],{"class":2386},[112,8309,2398],{"class":146},[112,8311,8312,8314,8316],{"class":114,"line":5240},[112,8313,3332],{"class":146},[112,8315,3484],{"class":2386},[112,8317,2398],{"class":146},[112,8319,8320,8322,8324],{"class":114,"line":5249},[112,8321,2840],{"class":146},[112,8323,3412],{"class":2386},[112,8325,2398],{"class":146},[112,8327,8328,8330,8332,8334,8336],{"class":114,"line":5258},[112,8329,2604],{"class":146},[112,8331,3548],{"class":2386},[112,8333,3551],{"class":146},[112,8335,3548],{"class":2386},[112,8337,2398],{"class":146},[112,8339,8340,8342,8344,8346,8348],{"class":114,"line":5271},[112,8341,2604],{"class":146},[112,8343,3701],{"class":2386},[112,8345,3704],{"class":146},[112,8347,3701],{"class":2386},[112,8349,2398],{"class":146},[112,8351,8352,8354,8356],{"class":114,"line":5284},[112,8353,2664],{"class":146},[112,8355,2406],{"class":2386},[112,8357,2398],{"class":146},[112,8359,8360,8362,8364,8366,8368],{"class":114,"line":5293},[112,8361,2430],{"class":146},[112,8363,3233],{"class":2386},[112,8365,3704],{"class":146},[112,8367,3233],{"class":2386},[112,8369,2398],{"class":146},[112,8371,8372,8374,8376,8378,8380],{"class":114,"line":5306},[112,8373,2430],{"class":146},[112,8375,3738],{"class":2386},[112,8377,3704],{"class":146},[112,8379,3738],{"class":2386},[112,8381,2398],{"class":146},[112,8383,8384,8386,8388],{"class":114,"line":5319},[112,8385,2501],{"class":146},[112,8387,2744],{"class":2386},[112,8389,2398],{"class":146},[112,8391,8392,8394,8396,8398,8400,8402],{"class":114,"line":5328},[112,8393,2420],{"class":146},[112,8395,2744],{"class":2386},[112,8397,2390],{"class":132},[112,8399,1697],{"class":146},[112,8401,5339],{"class":136},[112,8403,2398],{"class":146},[112,8405,8406,8408,8410,8412,8414],{"class":114,"line":5344},[112,8407,2430],{"class":146},[112,8409,3548],{"class":2386},[112,8411,5351],{"class":146},[112,8413,3548],{"class":2386},[112,8415,2398],{"class":146},[112,8417,8418,8420,8422,8424,8426,8428],{"class":114,"line":5358},[112,8419,2430],{"class":146},[112,8421,2406],{"class":2386},[112,8423,2390],{"class":132},[112,8425,1697],{"class":146},[112,8427,3797],{"class":136},[112,8429,2398],{"class":146},[112,8431,8432,8434,8436],{"class":114,"line":5373},[112,8433,2604],{"class":146},[112,8435,2423],{"class":2386},[112,8437,2398],{"class":146},[112,8439,8440,8442,8444],{"class":114,"line":5382},[112,8441,2800],{"class":146},[112,8443,2451],{"class":2386},[112,8445,2398],{"class":146},[112,8447,8448,8450,8452,8454,8456],{"class":114,"line":5391},[112,8449,3284],{"class":146},[112,8451,2803],{"class":2386},[112,8453,3827],{"class":146},[112,8455,2803],{"class":2386},[112,8457,2398],{"class":146},[112,8459,8460,8462,8464,8466,8468],{"class":114,"line":5404},[112,8461,3284],{"class":146},[112,8463,3615],{"class":2386},[112,8465,3618],{"class":146},[112,8467,3615],{"class":2386},[112,8469,2398],{"class":146},[112,8471,8472,8474,8476,8478,8480],{"class":114,"line":5417},[112,8473,3284],{"class":146},[112,8475,3629],{"class":2386},[112,8477,3618],{"class":146},[112,8479,3629],{"class":2386},[112,8481,2398],{"class":146},[112,8483,8484,8486,8488,8490,8492],{"class":114,"line":5430},[112,8485,3284],{"class":146},[112,8487,2816],{"class":2386},[112,8489,3827],{"class":146},[112,8491,2816],{"class":2386},[112,8493,2398],{"class":146},[112,8495,8496,8498,8500,8502,8504],{"class":114,"line":5443},[112,8497,3284],{"class":146},[112,8499,3656],{"class":2386},[112,8501,3618],{"class":146},[112,8503,3656],{"class":2386},[112,8505,2398],{"class":146},[112,8507,8508,8510,8512,8514,8516],{"class":114,"line":5456},[112,8509,3284],{"class":146},[112,8511,2829],{"class":2386},[112,8513,3827],{"class":146},[112,8515,2829],{"class":2386},[112,8517,2398],{"class":146},[112,8519,8520,8522,8524],{"class":114,"line":5469},[112,8521,3332],{"class":146},[112,8523,2451],{"class":2386},[112,8525,2398],{"class":146},[112,8527,8528,8530,8532,8534,8536],{"class":114,"line":5478},[112,8529,2800],{"class":146},[112,8531,2433],{"class":2386},[112,8533,3584],{"class":146},[112,8535,2433],{"class":2386},[112,8537,2398],{"class":146},[112,8539,8540,8542,8544,8546,8548],{"class":114,"line":5491},[112,8541,2800],{"class":146},[112,8543,3548],{"class":2386},[112,8545,3551],{"class":146},[112,8547,3548],{"class":2386},[112,8549,2398],{"class":146},[112,8551,8552,8554,8556],{"class":114,"line":5504},[112,8553,2840],{"class":146},[112,8555,2423],{"class":2386},[112,8557,2398],{"class":146},[112,8559,8560,8562,8564,8566,8568,8570],{"class":114,"line":5513},[112,8561,2604],{"class":146},[112,8563,3261],{"class":2386},[112,8565,2390],{"class":132},[112,8567,1697],{"class":146},[112,8569,3954],{"class":136},[112,8571,2398],{"class":146},[112,8573,8574,8576,8578],{"class":114,"line":5528},[112,8575,2800],{"class":146},[112,8577,3277],{"class":2386},[112,8579,2398],{"class":146},[112,8581,8582,8584,8586],{"class":114,"line":5537},[112,8583,3284],{"class":146},[112,8585,3973],{"class":2386},[112,8587,2398],{"class":146},[112,8589,8590,8592,8594,8596,8598],{"class":114,"line":5546},[112,8591,3294],{"class":146},[112,8593,3311],{"class":2386},[112,8595,5031],{"class":146},[112,8597,3311],{"class":2386},[112,8599,2398],{"class":146},[112,8601,8602,8604,8606],{"class":114,"line":5559},[112,8603,3323],{"class":146},[112,8605,3973],{"class":2386},[112,8607,2398],{"class":146},[112,8609,8610,8612,8614],{"class":114,"line":5568},[112,8611,3332],{"class":146},[112,8613,3277],{"class":2386},[112,8615,2398],{"class":146},[112,8617,8618,8620,8622],{"class":114,"line":5577},[112,8619,2800],{"class":146},[112,8621,3343],{"class":2386},[112,8623,2398],{"class":146},[112,8625,8626,8628,8630],{"class":114,"line":5586},[112,8627,3284],{"class":146},[112,8629,3352],{"class":2386},[112,8631,2398],{"class":146},[112,8633,8634,8636,8638],{"class":114,"line":5595},[112,8635,3294],{"class":146},[112,8637,3361],{"class":2386},[112,8639,3042],{"class":146},[112,8641,8642,8644,8646],{"class":114,"line":5604},[112,8643,3323],{"class":146},[112,8645,3352],{"class":2386},[112,8647,2398],{"class":146},[112,8649,8650,8652,8654],{"class":114,"line":5613},[112,8651,3284],{"class":146},[112,8653,3378],{"class":2386},[112,8655,3042],{"class":146},[112,8657,8658,8660,8662],{"class":114,"line":5622},[112,8659,3284],{"class":146},[112,8661,3387],{"class":2386},[112,8663,3042],{"class":146},[112,8665,8666,8668,8670],{"class":114,"line":5631},[112,8667,3332],{"class":146},[112,8669,3343],{"class":2386},[112,8671,2398],{"class":146},[112,8673,8674,8676,8678],{"class":114,"line":5640},[112,8675,2840],{"class":146},[112,8677,3261],{"class":2386},[112,8679,2398],{"class":146},[112,8681,8682,8684,8686,8688,8690,8692],{"class":114,"line":5649},[112,8683,2604],{"class":146},[112,8685,3412],{"class":2386},[112,8687,2390],{"class":132},[112,8689,1697],{"class":146},[112,8691,4093],{"class":136},[112,8693,2398],{"class":146},[112,8695,8696,8698,8700],{"class":114,"line":5664},[112,8697,2800],{"class":146},[112,8699,3277],{"class":2386},[112,8701,2398],{"class":146},[112,8703,8704,8706,8708],{"class":114,"line":5673},[112,8705,3284],{"class":146},[112,8707,3973],{"class":2386},[112,8709,2398],{"class":146},[112,8711,8712,8714,8716,8718,8720],{"class":114,"line":5682},[112,8713,3294],{"class":146},[112,8715,3311],{"class":2386},[112,8717,5031],{"class":146},[112,8719,3311],{"class":2386},[112,8721,2398],{"class":146},[112,8723,8724,8726,8728],{"class":114,"line":5695},[112,8725,3323],{"class":146},[112,8727,3973],{"class":2386},[112,8729,2398],{"class":146},[112,8731,8732,8734,8736],{"class":114,"line":5704},[112,8733,3332],{"class":146},[112,8735,3277],{"class":2386},[112,8737,2398],{"class":146},[112,8739,8740,8742,8744],{"class":114,"line":5713},[112,8741,2800],{"class":146},[112,8743,3484],{"class":2386},[112,8745,2398],{"class":146},[112,8747,8748,8750,8752,8754,8756],{"class":114,"line":5722},[112,8749,3284],{"class":146},[112,8751,3168],{"class":2386},[112,8753,4163],{"class":146},[112,8755,3168],{"class":2386},[112,8757,2398],{"class":146},[112,8759,8760,8762,8764,8766,8768],{"class":114,"line":5735},[112,8761,3284],{"class":146},[112,8763,3506],{"class":2386},[112,8765,3185],{"class":146},[112,8767,3506],{"class":2386},[112,8769,2398],{"class":146},[112,8771,8772,8774,8776,8778,8780],{"class":114,"line":5748},[112,8773,3284],{"class":146},[112,8775,3519],{"class":2386},[112,8777,4190],{"class":146},[112,8779,3519],{"class":2386},[112,8781,2398],{"class":146},[112,8783,8784,8786,8788],{"class":114,"line":5761},[112,8785,3332],{"class":146},[112,8787,3484],{"class":2386},[112,8789,2398],{"class":146},[112,8791,8792,8794,8796],{"class":114,"line":5770},[112,8793,2840],{"class":146},[112,8795,3412],{"class":2386},[112,8797,2398],{"class":146},[112,8799,8800,8802,8804,8806,8808],{"class":114,"line":5779},[112,8801,2604],{"class":146},[112,8803,3548],{"class":2386},[112,8805,3551],{"class":146},[112,8807,3548],{"class":2386},[112,8809,2398],{"class":146},[112,8811,8812,8814,8816,8818,8820],{"class":114,"line":5792},[112,8813,2604],{"class":146},[112,8815,3701],{"class":2386},[112,8817,3704],{"class":146},[112,8819,3701],{"class":2386},[112,8821,2398],{"class":146},[112,8823,8824,8826,8828],{"class":114,"line":5805},[112,8825,2664],{"class":146},[112,8827,2406],{"class":2386},[112,8829,2398],{"class":146},[112,8831,8832,8834,8836,8838,8840],{"class":114,"line":5814},[112,8833,2430],{"class":146},[112,8835,3233],{"class":2386},[112,8837,3704],{"class":146},[112,8839,3233],{"class":2386},[112,8841,2398],{"class":146},[112,8843,8844,8846,8848,8850,8852],{"class":114,"line":5827},[112,8845,2430],{"class":146},[112,8847,3738],{"class":2386},[112,8849,3704],{"class":146},[112,8851,3738],{"class":2386},[112,8853,2398],{"class":146},[112,8855,8856,8858,8860],{"class":114,"line":5840},[112,8857,2501],{"class":146},[112,8859,2744],{"class":2386},[112,8861,2398],{"class":146},[112,8863,8864,8866,8868,8870,8872,8874,8876,8878,8880],{"class":114,"line":5849},[112,8865,2420],{"class":146},[112,8867,5854],{"class":2386},[112,8869,2390],{"class":132},[112,8871,1697],{"class":146},[112,8873,5861],{"class":136},[112,8875,2960],{"class":132},[112,8877,1697],{"class":146},[112,8879,5868],{"class":136},[112,8881,2398],{"class":146},[112,8883,8884,8886,8888,8890,8892],{"class":114,"line":5873},[112,8885,2430],{"class":146},[112,8887,3548],{"class":2386},[112,8889,5880],{"class":146},[112,8891,3548],{"class":2386},[112,8893,2398],{"class":146},[112,8895,8896,8898,8900,8902,8904],{"class":114,"line":5887},[112,8897,2430],{"class":146},[112,8899,5892],{"class":2386},[112,8901,3199],{"class":146},[112,8903,5892],{"class":2386},[112,8905,2398],{"class":146},[112,8907,8908,8910,8912,8914,8916],{"class":114,"line":5901},[112,8909,2430],{"class":146},[112,8911,5906],{"class":2386},[112,8913,2991],{"class":146},[112,8915,5906],{"class":2386},[112,8917,2398],{"class":146},[112,8919,8920,8922,8924,8926,8928],{"class":114,"line":5915},[112,8921,2430],{"class":146},[112,8923,5920],{"class":2386},[112,8925,5923],{"class":146},[112,8927,5920],{"class":2386},[112,8929,2398],{"class":146},[112,8931,8932,8934,8936,8938,8940],{"class":114,"line":5930},[112,8933,2430],{"class":146},[112,8935,3506],{"class":2386},[112,8937,3495],{"class":146},[112,8939,3506],{"class":2386},[112,8941,2398],{"class":146},[112,8943,8944,8946,8948,8950,8952],{"class":114,"line":5943},[112,8945,2430],{"class":146},[112,8947,3519],{"class":2386},[112,8949,5950],{"class":146},[112,8951,3519],{"class":2386},[112,8953,2398],{"class":146},[112,8955,8956,8958,8960],{"class":114,"line":5957},[112,8957,2430],{"class":146},[112,8959,5962],{"class":2386},[112,8961,2398],{"class":146},[112,8963,8964,8966,8968,8970,8972],{"class":114,"line":5967},[112,8965,2604],{"class":146},[112,8967,5972],{"class":2386},[112,8969,3005],{"class":146},[112,8971,5972],{"class":2386},[112,8973,2398],{"class":146},[112,8975,8976,8978,8980,8982,8984],{"class":114,"line":5981},[112,8977,2604],{"class":146},[112,8979,5986],{"class":2386},[112,8981,5989],{"class":146},[112,8983,5986],{"class":2386},[112,8985,2398],{"class":146},[112,8987,8988,8990,8992,8994,8996],{"class":114,"line":5996},[112,8989,2604],{"class":146},[112,8991,6001],{"class":2386},[112,8993,6004],{"class":146},[112,8995,6001],{"class":2386},[112,8997,2398],{"class":146},[112,8999,9000,9002,9004,9006,9008],{"class":114,"line":6011},[112,9001,2604],{"class":146},[112,9003,6016],{"class":2386},[112,9005,2977],{"class":146},[112,9007,6016],{"class":2386},[112,9009,2398],{"class":146},[112,9011,9012,9014,9016],{"class":114,"line":6025},[112,9013,2664],{"class":146},[112,9015,5962],{"class":2386},[112,9017,2398],{"class":146},[112,9019,9020,9022,9024],{"class":114,"line":6034},[112,9021,2430],{"class":146},[112,9023,6039],{"class":2386},[112,9025,2398],{"class":146},[112,9027,9028,9030,9032,9034,9036],{"class":114,"line":6044},[112,9029,2604],{"class":146},[112,9031,6049],{"class":2386},[112,9033,3618],{"class":146},[112,9035,6049],{"class":2386},[112,9037,2398],{"class":146},[112,9039,9040,9042,9044,9046,9048],{"class":114,"line":6058},[112,9041,2604],{"class":146},[112,9043,6063],{"class":2386},[112,9045,3618],{"class":146},[112,9047,6063],{"class":2386},[112,9049,2398],{"class":146},[112,9051,9052,9054,9056,9058,9060],{"class":114,"line":6072},[112,9053,2604],{"class":146},[112,9055,6077],{"class":2386},[112,9057,3618],{"class":146},[112,9059,6077],{"class":2386},[112,9061,2398],{"class":146},[112,9063,9064,9066,9068],{"class":114,"line":6086},[112,9065,2664],{"class":146},[112,9067,6039],{"class":2386},[112,9069,2398],{"class":146},[112,9071,9072,9074,9076],{"class":114,"line":6095},[112,9073,2501],{"class":146},[112,9075,5854],{"class":2386},[112,9077,2398],{"class":146},[112,9079,9080,9082,9084],{"class":114,"line":6104},[112,9081,2510],{"class":146},[112,9083,2934],{"class":2386},[112,9085,2398],{"class":146},[112,9087,9088,9090,9092],{"class":114,"line":6113},[112,9089,2519],{"class":146},[112,9091,2727],{"class":2386},[112,9093,2398],{"class":146},[15,9095,9096],{},[50,9097,9098],{},"3.编写launch文件",[15,9100,9101],{},"在launch目录下新建launch文件gazebo_sim_world.launch.py，并输入如下内容：",[102,9103,9105],{"className":1547,"code":9104,"language":1549,"meta":107,"style":107},"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",[109,9106,9107,9113,9117,9127,9131,9141,9151,9161,9165,9173,9177,9189,9201,9219,9223,9231,9235,9247,9255,9267,9271,9275,9281,9286],{"__ignoreMap":107},[112,9108,9109,9111],{"class":114,"line":115},[112,9110,1556],{"class":765},[112,9112,1559],{"class":146},[112,9114,9115],{"class":114,"line":122},[112,9116,119],{"emptyLinePlaceholder":118},[112,9118,9119,9121,9123,9125],{"class":114,"line":129},[112,9120,1568],{"class":765},[112,9122,1571],{"class":146},[112,9124,1556],{"class":765},[112,9126,1576],{"class":146},[112,9128,9129],{"class":114,"line":153},[112,9130,119],{"emptyLinePlaceholder":118},[112,9132,9133,9135,9137,9139],{"class":114,"line":158},[112,9134,1568],{"class":765},[112,9136,1587],{"class":146},[112,9138,1556],{"class":765},[112,9140,1592],{"class":146},[112,9142,9143,9145,9147,9149],{"class":114,"line":164},[112,9144,1568],{"class":765},[112,9146,1599],{"class":146},[112,9148,1556],{"class":765},[112,9150,1615],{"class":146},[112,9152,9153,9155,9157,9159],{"class":114,"line":176},[112,9154,1568],{"class":765},[112,9156,1634],{"class":146},[112,9158,1556],{"class":765},[112,9160,1639],{"class":146},[112,9162,9163],{"class":114,"line":181},[112,9164,119],{"emptyLinePlaceholder":118},[112,9166,9167,9169,9171],{"class":114,"line":187},[112,9168,1677],{"class":765},[112,9170,1680],{"class":132},[112,9172,1683],{"class":146},[112,9174,9175],{"class":114,"line":434},[112,9176,119],{"emptyLinePlaceholder":118},[112,9178,9179,9181,9183,9185,9187],{"class":114,"line":440},[112,9180,1694],{"class":146},[112,9182,1697],{"class":765},[112,9184,1700],{"class":146},[112,9186,1703],{"class":136},[112,9188,1466],{"class":146},[112,9190,9191,9193,9195,9197,9199],{"class":114,"line":446},[112,9192,1711],{"class":146},[112,9194,1697],{"class":765},[112,9196,1700],{"class":146},[112,9198,1718],{"class":136},[112,9200,1466],{"class":146},[112,9202,9203,9205,9207,9209,9212,9214,9217],{"class":114,"line":452},[112,9204,1726],{"class":146},[112,9206,1697],{"class":765},[112,9208,1731],{"class":146},[112,9210,9211],{"class":136},"\"world\"",[112,9213,1737],{"class":146},[112,9215,9216],{"class":136},"\"house.sdf\"",[112,9218,1466],{"class":146},[112,9220,9221],{"class":114,"line":1674},[112,9222,119],{"emptyLinePlaceholder":118},[112,9224,9225,9227,9229],{"class":114,"line":1686},[112,9226,1753],{"class":146},[112,9228,1697],{"class":765},[112,9230,1758],{"class":146},[112,9232,9233],{"class":114,"line":1691},[112,9234,1764],{"class":146},[112,9236,9237,9239,9241,9243,9245],{"class":114,"line":1708},[112,9238,1770],{"class":146},[112,9240,1773],{"class":136},[112,9242,1776],{"class":146},[112,9244,1779],{"class":136},[112,9246,1782],{"class":146},[112,9248,9249,9251,9253],{"class":114,"line":1723},[112,9250,1789],{"class":1788},[112,9252,1697],{"class":765},[112,9254,1794],{"class":146},[112,9256,9257,9259,9261,9263,9265],{"class":114,"line":1745},[112,9258,1800],{"class":136},[112,9260,1803],{"class":146},[112,9262,1806],{"class":136},[112,9264,1809],{"class":765},[112,9266,1812],{"class":146},[112,9268,9269],{"class":114,"line":1750},[112,9270,1818],{"class":146},[112,9272,9273],{"class":114,"line":1761},[112,9274,1824],{"class":146},[112,9276,9277,9279],{"class":114,"line":1767},[112,9278,2102],{"class":765},[112,9280,2105],{"class":146},[112,9282,9283],{"class":114,"line":1785},[112,9284,9285],{"class":146},"        gz_sim\n",[112,9287,9288],{"class":114,"line":1797},[112,9289,2162],{"class":146},[15,9291,9292],{},[50,9293,9294],{},"4.构建",[15,9296,2178],{},[102,9298,9299],{"className":104,"code":2181,"language":106,"meta":107,"style":107},[109,9300,9301],{"__ignoreMap":107},[112,9302,9303,9305,9307,9309],{"class":114,"line":115},[112,9304,2188],{"class":132},[112,9306,2191],{"class":136},[112,9308,2194],{"class":576},[112,9310,1432],{"class":136},[15,9312,9313],{},[50,9314,9315],{},"5.执行",[15,9317,2209],{},[102,9319,9321],{"className":104,"code":9320,"language":106,"meta":107,"style":107},". install\u002Fsetup.bash\nros2 launch demo_gazebo_sim gazebo_sim_world.launch.py\n",[109,9322,9323,9329],{"__ignoreMap":107},[112,9324,9325,9327],{"class":114,"line":115},[112,9326,2219],{"class":576},[112,9328,2222],{"class":136},[112,9330,9331,9333,9335,9337],{"class":114,"line":122},[112,9332,263],{"class":132},[112,9334,266],{"class":136},[112,9336,2231],{"class":136},[112,9338,9339],{"class":136}," gazebo_sim_world.launch.py\n",[15,9341,9342],{},"运行结果如下图所示。",[15,9344,9345],{},"也可以根据个人喜好，继续设计房间模型。",[15,9347,9348],{},[200,9349],{"alt":107,"src":9350},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1730.webp",[27,9352,9354],{"id":9353},"igng添加模型",[50,9355,9356],{},"IgnG添加模型",[15,9358,9359],{},"在Ignition Gazebo官网提供了许多仿真模型，可以自行下载并使用以优化仿真环境，使其更多样、美观且真实。",[15,9361,9362],{},[50,9363,9364],{},"资源下载",[15,9366,9367],{},"仿真Ignition Gazebo的官方模型链接：",[15,9369,9370],{},[55,9371,9372],{"href":9372,"rel":9373},"http:\u002F\u002Fapp.ignitionrobotics.org\u002Ffuel\u002Fmodels",[59],[15,9375,9376],{},"自行选择仿真模型点击进入详情页面，然后点击下载按钮即可将模型资源保存到本地。",[15,9378,9379],{},"在用户目录下新建ign_models目录，将下载的资源解压缩到该目录以作备用。",[15,9381,9382],{},[50,9383,9384],{},"资源配置",[15,9386,9387],{},"为了可以让Ignition Gazebo识别到模型资源，下一步还需要修改用户目录下的 .bashrc 文件，添加如下代码：",[102,9389,9391],{"className":104,"code":9390,"language":106,"meta":107,"style":107},"\n# Humble版本一般是下面的，但是有可能会更新，如果不生效，请尝试Jazzy的宏\nexport IGN_GAZEBO_RESOURCE_PATH=~\u002Fign_models\n\n# Jazzy版本的宏改了，如下：\nexport GZ_SIM_RESOURCE_PATH=~\u002Fign_models\n",[109,9392,9393,9397,9402,9416,9420,9425],{"__ignoreMap":107},[112,9394,9395],{"class":114,"line":115},[112,9396,119],{"emptyLinePlaceholder":118},[112,9398,9399],{"class":114,"line":122},[112,9400,9401],{"class":125},"# Humble版本一般是下面的，但是有可能会更新，如果不生效，请尝试Jazzy的宏\n",[112,9403,9404,9407,9410,9413],{"class":114,"line":129},[112,9405,9406],{"class":765},"export",[112,9408,9409],{"class":146}," IGN_GAZEBO_RESOURCE_PATH",[112,9411,9412],{"class":765},"=~",[112,9414,9415],{"class":146},"\u002Fign_models\n",[112,9417,9418],{"class":114,"line":153},[112,9419,119],{"emptyLinePlaceholder":118},[112,9421,9422],{"class":114,"line":158},[112,9423,9424],{"class":125},"# Jazzy版本的宏改了，如下：\n",[112,9426,9427,9429,9432,9434],{"class":114,"line":164},[112,9428,9406],{"class":765},[112,9430,9431],{"class":146}," GZ_SIM_RESOURCE_PATH",[112,9433,9412],{"class":765},[112,9435,9415],{"class":146},[15,9437,9438],{},[55,9439,9440],{"href":9440,"rel":9441},"https:\u002F\u002Fgazebosim.org\u002Fdocs\u002Flatest\u002Ffuel_insert\u002F",[59],[15,9443,9444],{},[50,9445,9446],{},"模型添加",[15,9448,9449,9450,9453,9454,9457,9458,9461,9462,9465],{},"终端下进入功能包demo_gazebo_sim的world目录，使用指令",[109,9451,9452],{},"ign gazebo house.sdf"," 或者",[109,9455,9456],{},"gz sim house.sdf","启动仿真环境，点击窗口右上的折叠按钮，搜索",[109,9459,9460],{},"Resource Spawner","并打开，点击",[109,9463,9464],{},"Local resources","并选择模型拖拽至仿真环境中。将修改后的内容保存至house.sdf文件。",[15,9467,9468],{},[200,9469],{"alt":107,"src":9470},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1731.webp",[15,9472,9473],{},"正常下载资源后，这个local resources这里就会显示了",[15,9475,9476],{},"house.sdf文件示例内容如下：",[102,9478,9480],{"className":2374,"code":9479,"language":2376,"meta":107,"style":107},"\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",[109,9481,9482,9496,9510,9530,9542,9554,9566,9574,9594,9614,9634,9654,9666,9678,9692,9700,9712,9724,9736,9744,9758,9770,9784,9798,9806,9814,9826,9838,9846,9854,9862,9870,9878,9886,9894,9902,9910,9918,9932,9940,9948,9960,9972,9980,9988,9996,10008,10020,10032,10040,10048,10060,10068,10080,10092,10100,10112,10124,10136,10148,10160,10172,10180,10188,10200,10208,10220,10232,10240,10254,10267,10281,10289,10297,10309,10321,10333,10345,10357,10369,10377,10389,10401,10409,10423,10431,10439,10451,10459,10467,10475,10483,10491,10499,10507,10515,10523,10531,10545,10553,10561,10573,10581,10589,10597,10609,10621,10633,10641,10649,10661,10673,10681,10693,10705,10713,10727,10740,10754,10762,10770,10782,10794,10806,10818,10830,10842,10850,10862,10874,10882,10896,10904,10912,10924,10932,10940,10948,10956,10964,10972,10980,10988,10996,11004,11018,11026,11034,11046,11054,11062,11070,11082,11094,11106,11114,11122,11134,11146,11154,11166,11178,11186,11200,11213,11227,11235,11243,11255,11267,11279,11291,11303,11315,11323,11335,11347,11355,11369,11377,11385,11397,11405,11413,11421,11429,11437,11445,11453,11461,11469,11477,11491,11499,11507,11519,11527,11535,11543,11555,11567,11579,11587,11595,11607,11619,11627,11639,11651,11659,11673,11686,11700,11708,11716,11728,11740,11752,11764,11776,11788,11796,11808,11820,11828,11842,11850,11858,11870,11878,11886,11894,11902,11910,11918,11926,11934,11942,11950,11964,11972,11980,11992,12000,12008,12016,12028,12040,12052,12060,12068,12080,12092,12100,12112,12124,12132,12141,12155,12168,12181,12189,12197,12210,12223,12236,12244,12252,12265,12278,12291,12299,12307,12320,12333,12346,12354,12362,12375,12389,12403,12412,12421,12435,12449,12463,12472,12481,12495,12509,12523,12532,12541,12555,12569,12583,12592,12613,12626,12639,12652,12665,12678,12691,12700,12713,12726,12739,12752,12761,12770,12783,12796,12809,12818,12827,12836],{"__ignoreMap":107},[112,9483,9484,9486,9488,9490,9492,9494],{"class":114,"line":115},[112,9485,2383],{"class":146},[112,9487,2727],{"class":2386},[112,9489,2730],{"class":132},[112,9491,1697],{"class":146},[112,9493,2925],{"class":136},[112,9495,2398],{"class":146},[112,9497,9498,9500,9502,9504,9506,9508],{"class":114,"line":122},[112,9499,2403],{"class":146},[112,9501,2934],{"class":2386},[112,9503,2390],{"class":132},[112,9505,1697],{"class":146},[112,9507,2941],{"class":136},[112,9509,2398],{"class":146},[112,9511,9512,9514,9516,9518,9520,9522,9524,9526,9528],{"class":114,"line":129},[112,9513,2420],{"class":146},[112,9515,2950],{"class":2386},[112,9517,2390],{"class":132},[112,9519,1697],{"class":146},[112,9521,2957],{"class":136},[112,9523,2960],{"class":132},[112,9525,1697],{"class":146},[112,9527,2965],{"class":136},[112,9529,2398],{"class":146},[112,9531,9532,9534,9536,9538,9540],{"class":114,"line":153},[112,9533,2430],{"class":146},[112,9535,2974],{"class":2386},[112,9537,2977],{"class":146},[112,9539,2974],{"class":2386},[112,9541,2398],{"class":146},[112,9543,9544,9546,9548,9550,9552],{"class":114,"line":158},[112,9545,2430],{"class":146},[112,9547,2988],{"class":2386},[112,9549,2991],{"class":146},[112,9551,2988],{"class":2386},[112,9553,2398],{"class":146},[112,9555,9556,9558,9560,9562,9564],{"class":114,"line":164},[112,9557,2430],{"class":146},[112,9559,3002],{"class":2386},[112,9561,3005],{"class":146},[112,9563,3002],{"class":2386},[112,9565,2398],{"class":146},[112,9567,9568,9570,9572],{"class":114,"line":176},[112,9569,2501],{"class":146},[112,9571,2950],{"class":2386},[112,9573,2398],{"class":146},[112,9575,9576,9578,9580,9582,9584,9586,9588,9590,9592],{"class":114,"line":181},[112,9577,2420],{"class":146},[112,9579,3024],{"class":2386},[112,9581,2390],{"class":132},[112,9583,1697],{"class":146},[112,9585,3031],{"class":136},[112,9587,3034],{"class":132},[112,9589,1697],{"class":146},[112,9591,3039],{"class":136},[112,9593,3042],{"class":146},[112,9595,9596,9598,9600,9602,9604,9606,9608,9610,9612],{"class":114,"line":187},[112,9597,2420],{"class":146},[112,9599,3024],{"class":2386},[112,9601,2390],{"class":132},[112,9603,1697],{"class":146},[112,9605,3055],{"class":136},[112,9607,3034],{"class":132},[112,9609,1697],{"class":146},[112,9611,3062],{"class":136},[112,9613,3042],{"class":146},[112,9615,9616,9618,9620,9622,9624,9626,9628,9630,9632],{"class":114,"line":434},[112,9617,2420],{"class":146},[112,9619,3024],{"class":2386},[112,9621,2390],{"class":132},[112,9623,1697],{"class":146},[112,9625,3077],{"class":136},[112,9627,3034],{"class":132},[112,9629,1697],{"class":146},[112,9631,3084],{"class":136},[112,9633,3042],{"class":146},[112,9635,9636,9638,9640,9642,9644,9646,9648,9650,9652],{"class":114,"line":440},[112,9637,2420],{"class":146},[112,9639,3024],{"class":2386},[112,9641,2390],{"class":132},[112,9643,1697],{"class":146},[112,9645,3099],{"class":136},[112,9647,3034],{"class":132},[112,9649,1697],{"class":146},[112,9651,3106],{"class":136},[112,9653,3042],{"class":146},[112,9655,9656,9658,9660,9662,9664],{"class":114,"line":446},[112,9657,2420],{"class":146},[112,9659,3115],{"class":2386},[112,9661,3118],{"class":146},[112,9663,3115],{"class":2386},[112,9665,2398],{"class":146},[112,9667,9668,9670,9672,9674,9676],{"class":114,"line":452},[112,9669,2420],{"class":146},[112,9671,3129],{"class":2386},[112,9673,3132],{"class":146},[112,9675,3129],{"class":2386},[112,9677,2398],{"class":146},[112,9679,9680,9682,9684,9686,9688,9690],{"class":114,"line":1674},[112,9681,2420],{"class":146},[112,9683,3143],{"class":2386},[112,9685,2960],{"class":132},[112,9687,1697],{"class":146},[112,9689,3150],{"class":136},[112,9691,3042],{"class":146},[112,9693,9694,9696,9698],{"class":114,"line":1686},[112,9695,2420],{"class":146},[112,9697,3159],{"class":2386},[112,9699,2398],{"class":146},[112,9701,9702,9704,9706,9708,9710],{"class":114,"line":1691},[112,9703,2430],{"class":146},[112,9705,3168],{"class":2386},[112,9707,3171],{"class":146},[112,9709,3168],{"class":2386},[112,9711,2398],{"class":146},[112,9713,9714,9716,9718,9720,9722],{"class":114,"line":1708},[112,9715,2430],{"class":146},[112,9717,3182],{"class":2386},[112,9719,3185],{"class":146},[112,9721,3182],{"class":2386},[112,9723,2398],{"class":146},[112,9725,9726,9728,9730,9732,9734],{"class":114,"line":1723},[112,9727,2430],{"class":146},[112,9729,3196],{"class":2386},[112,9731,3199],{"class":146},[112,9733,3196],{"class":2386},[112,9735,2398],{"class":146},[112,9737,9738,9740,9742],{"class":114,"line":1745},[112,9739,2501],{"class":146},[112,9741,3159],{"class":2386},[112,9743,2398],{"class":146},[112,9745,9746,9748,9750,9752,9754,9756],{"class":114,"line":1750},[112,9747,2420],{"class":146},[112,9749,2744],{"class":2386},[112,9751,2390],{"class":132},[112,9753,1697],{"class":146},[112,9755,3224],{"class":136},[112,9757,2398],{"class":146},[112,9759,9760,9762,9764,9766,9768],{"class":114,"line":1761},[112,9761,2430],{"class":146},[112,9763,3233],{"class":2386},[112,9765,3199],{"class":146},[112,9767,3233],{"class":2386},[112,9769,2398],{"class":146},[112,9771,9772,9774,9776,9778,9780,9782],{"class":114,"line":1767},[112,9773,2430],{"class":146},[112,9775,2406],{"class":2386},[112,9777,2390],{"class":132},[112,9779,1697],{"class":146},[112,9781,3252],{"class":136},[112,9783,2398],{"class":146},[112,9785,9786,9788,9790,9792,9794,9796],{"class":114,"line":1785},[112,9787,2604],{"class":146},[112,9789,3261],{"class":2386},[112,9791,2390],{"class":132},[112,9793,1697],{"class":146},[112,9795,3268],{"class":136},[112,9797,2398],{"class":146},[112,9799,9800,9802,9804],{"class":114,"line":1797},[112,9801,2800],{"class":146},[112,9803,3277],{"class":2386},[112,9805,2398],{"class":146},[112,9807,9808,9810,9812],{"class":114,"line":1815},[112,9809,3284],{"class":146},[112,9811,3287],{"class":2386},[112,9813,2398],{"class":146},[112,9815,9816,9818,9820,9822,9824],{"class":114,"line":1821},[112,9817,3294],{"class":146},[112,9819,3297],{"class":2386},[112,9821,3300],{"class":146},[112,9823,3297],{"class":2386},[112,9825,2398],{"class":146},[112,9827,9828,9830,9832,9834,9836],{"class":114,"line":1827},[112,9829,3294],{"class":146},[112,9831,3311],{"class":2386},[112,9833,3314],{"class":146},[112,9835,3311],{"class":2386},[112,9837,2398],{"class":146},[112,9839,9840,9842,9844],{"class":114,"line":1832},[112,9841,3323],{"class":146},[112,9843,3287],{"class":2386},[112,9845,2398],{"class":146},[112,9847,9848,9850,9852],{"class":114,"line":1838},[112,9849,3332],{"class":146},[112,9851,3277],{"class":2386},[112,9853,2398],{"class":146},[112,9855,9856,9858,9860],{"class":114,"line":1849},[112,9857,2800],{"class":146},[112,9859,3343],{"class":2386},[112,9861,2398],{"class":146},[112,9863,9864,9866,9868],{"class":114,"line":1863},[112,9865,3284],{"class":146},[112,9867,3352],{"class":2386},[112,9869,2398],{"class":146},[112,9871,9872,9874,9876],{"class":114,"line":1875},[112,9873,3294],{"class":146},[112,9875,3361],{"class":2386},[112,9877,3042],{"class":146},[112,9879,9880,9882,9884],{"class":114,"line":1902},[112,9881,3323],{"class":146},[112,9883,3352],{"class":2386},[112,9885,2398],{"class":146},[112,9887,9888,9890,9892],{"class":114,"line":1918},[112,9889,3284],{"class":146},[112,9891,3378],{"class":2386},[112,9893,3042],{"class":146},[112,9895,9896,9898,9900],{"class":114,"line":1923},[112,9897,3284],{"class":146},[112,9899,3387],{"class":2386},[112,9901,3042],{"class":146},[112,9903,9904,9906,9908],{"class":114,"line":1928},[112,9905,3332],{"class":146},[112,9907,3343],{"class":2386},[112,9909,2398],{"class":146},[112,9911,9912,9914,9916],{"class":114,"line":1934},[112,9913,2840],{"class":146},[112,9915,3261],{"class":2386},[112,9917,2398],{"class":146},[112,9919,9920,9922,9924,9926,9928,9930],{"class":114,"line":1944},[112,9921,2604],{"class":146},[112,9923,3412],{"class":2386},[112,9925,2390],{"class":132},[112,9927,1697],{"class":146},[112,9929,3419],{"class":136},[112,9931,2398],{"class":146},[112,9933,9934,9936,9938],{"class":114,"line":1957},[112,9935,2800],{"class":146},[112,9937,3277],{"class":2386},[112,9939,2398],{"class":146},[112,9941,9942,9944,9946],{"class":114,"line":1970},[112,9943,3284],{"class":146},[112,9945,3287],{"class":2386},[112,9947,2398],{"class":146},[112,9949,9950,9952,9954,9956,9958],{"class":114,"line":1985},[112,9951,3294],{"class":146},[112,9953,3297],{"class":2386},[112,9955,3300],{"class":146},[112,9957,3297],{"class":2386},[112,9959,2398],{"class":146},[112,9961,9962,9964,9966,9968,9970],{"class":114,"line":1993},[112,9963,3294],{"class":146},[112,9965,3311],{"class":2386},[112,9967,3314],{"class":146},[112,9969,3311],{"class":2386},[112,9971,2398],{"class":146},[112,9973,9974,9976,9978],{"class":114,"line":2001},[112,9975,3323],{"class":146},[112,9977,3287],{"class":2386},[112,9979,2398],{"class":146},[112,9981,9982,9984,9986],{"class":114,"line":2007},[112,9983,3332],{"class":146},[112,9985,3277],{"class":2386},[112,9987,2398],{"class":146},[112,9989,9990,9992,9994],{"class":114,"line":2029},[112,9991,2800],{"class":146},[112,9993,3484],{"class":2386},[112,9995,2398],{"class":146},[112,9997,9998,10000,10002,10004,10006],{"class":114,"line":2040},[112,9999,3284],{"class":146},[112,10001,3168],{"class":2386},[112,10003,3495],{"class":146},[112,10005,3168],{"class":2386},[112,10007,2398],{"class":146},[112,10009,10010,10012,10014,10016,10018],{"class":114,"line":2057},[112,10011,3284],{"class":146},[112,10013,3506],{"class":2386},[112,10015,3495],{"class":146},[112,10017,3506],{"class":2386},[112,10019,2398],{"class":146},[112,10021,10022,10024,10026,10028,10030],{"class":114,"line":2072},[112,10023,3284],{"class":146},[112,10025,3519],{"class":2386},[112,10027,3495],{"class":146},[112,10029,3519],{"class":2386},[112,10031,2398],{"class":146},[112,10033,10034,10036,10038],{"class":114,"line":2078},[112,10035,3332],{"class":146},[112,10037,3484],{"class":2386},[112,10039,2398],{"class":146},[112,10041,10042,10044,10046],{"class":114,"line":2089},[112,10043,2840],{"class":146},[112,10045,3412],{"class":2386},[112,10047,2398],{"class":146},[112,10049,10050,10052,10054,10056,10058],{"class":114,"line":2094},[112,10051,2604],{"class":146},[112,10053,3548],{"class":2386},[112,10055,3551],{"class":146},[112,10057,3548],{"class":2386},[112,10059,2398],{"class":146},[112,10061,10062,10064,10066],{"class":114,"line":2099},[112,10063,2604],{"class":146},[112,10065,2423],{"class":2386},[112,10067,2398],{"class":146},[112,10069,10070,10072,10074,10076,10078],{"class":114,"line":2108},[112,10071,2800],{"class":146},[112,10073,3548],{"class":2386},[112,10075,3551],{"class":146},[112,10077,3548],{"class":2386},[112,10079,2398],{"class":146},[112,10081,10082,10084,10086,10088,10090],{"class":114,"line":2114},[112,10083,2800],{"class":146},[112,10085,2433],{"class":2386},[112,10087,3584],{"class":146},[112,10089,2433],{"class":2386},[112,10091,2398],{"class":146},[112,10093,10094,10096,10098],{"class":114,"line":2134},[112,10095,2800],{"class":146},[112,10097,2451],{"class":2386},[112,10099,2398],{"class":146},[112,10101,10102,10104,10106,10108,10110],{"class":114,"line":2147},[112,10103,3284],{"class":146},[112,10105,2803],{"class":2386},[112,10107,2991],{"class":146},[112,10109,2803],{"class":2386},[112,10111,2398],{"class":146},[112,10113,10114,10116,10118,10120,10122],{"class":114,"line":2153},[112,10115,3284],{"class":146},[112,10117,3615],{"class":2386},[112,10119,3618],{"class":146},[112,10121,3615],{"class":2386},[112,10123,2398],{"class":146},[112,10125,10126,10128,10130,10132,10134],{"class":114,"line":2159},[112,10127,3284],{"class":146},[112,10129,3629],{"class":2386},[112,10131,3618],{"class":146},[112,10133,3629],{"class":2386},[112,10135,2398],{"class":146},[112,10137,10138,10140,10142,10144,10146],{"class":114,"line":3638},[112,10139,3284],{"class":146},[112,10141,2816],{"class":2386},[112,10143,2991],{"class":146},[112,10145,2816],{"class":2386},[112,10147,2398],{"class":146},[112,10149,10150,10152,10154,10156,10158],{"class":114,"line":3651},[112,10151,3284],{"class":146},[112,10153,3656],{"class":2386},[112,10155,3618],{"class":146},[112,10157,3656],{"class":2386},[112,10159,2398],{"class":146},[112,10161,10162,10164,10166,10168,10170],{"class":114,"line":3665},[112,10163,3284],{"class":146},[112,10165,2829],{"class":2386},[112,10167,2991],{"class":146},[112,10169,2829],{"class":2386},[112,10171,2398],{"class":146},[112,10173,10174,10176,10178],{"class":114,"line":3678},[112,10175,3332],{"class":146},[112,10177,2451],{"class":2386},[112,10179,2398],{"class":146},[112,10181,10182,10184,10186],{"class":114,"line":3687},[112,10183,2840],{"class":146},[112,10185,2423],{"class":2386},[112,10187,2398],{"class":146},[112,10189,10190,10192,10194,10196,10198],{"class":114,"line":3696},[112,10191,2604],{"class":146},[112,10193,3701],{"class":2386},[112,10195,3704],{"class":146},[112,10197,3701],{"class":2386},[112,10199,2398],{"class":146},[112,10201,10202,10204,10206],{"class":114,"line":3711},[112,10203,2664],{"class":146},[112,10205,2406],{"class":2386},[112,10207,2398],{"class":146},[112,10209,10210,10212,10214,10216,10218],{"class":114,"line":3720},[112,10211,2430],{"class":146},[112,10213,3548],{"class":2386},[112,10215,3551],{"class":146},[112,10217,3548],{"class":2386},[112,10219,2398],{"class":146},[112,10221,10222,10224,10226,10228,10230],{"class":114,"line":3733},[112,10223,2430],{"class":146},[112,10225,3738],{"class":2386},[112,10227,3704],{"class":146},[112,10229,3738],{"class":2386},[112,10231,2398],{"class":146},[112,10233,10234,10236,10238],{"class":114,"line":3747},[112,10235,2501],{"class":146},[112,10237,2744],{"class":2386},[112,10239,2398],{"class":146},[112,10241,10242,10244,10246,10248,10250,10252],{"class":114,"line":3756},[112,10243,2420],{"class":146},[112,10245,2744],{"class":2386},[112,10247,2390],{"class":132},[112,10249,1697],{"class":146},[112,10251,3767],{"class":136},[112,10253,2398],{"class":146},[112,10255,10256,10258,10260,10263,10265],{"class":114,"line":3772},[112,10257,2430],{"class":146},[112,10259,3548],{"class":2386},[112,10261,10262],{"class":146},">5.02632 -2e-06 0.500002 -0 4.4e-05 4.6e-05\u003C\u002F",[112,10264,3548],{"class":2386},[112,10266,2398],{"class":146},[112,10268,10269,10271,10273,10275,10277,10279],{"class":114,"line":3786},[112,10270,2430],{"class":146},[112,10272,2406],{"class":2386},[112,10274,2390],{"class":132},[112,10276,1697],{"class":146},[112,10278,3797],{"class":136},[112,10280,2398],{"class":146},[112,10282,10283,10285,10287],{"class":114,"line":3802},[112,10284,2604],{"class":146},[112,10286,2423],{"class":2386},[112,10288,2398],{"class":146},[112,10290,10291,10293,10295],{"class":114,"line":3811},[112,10292,2800],{"class":146},[112,10294,2451],{"class":2386},[112,10296,2398],{"class":146},[112,10298,10299,10301,10303,10305,10307],{"class":114,"line":3820},[112,10300,3284],{"class":146},[112,10302,2803],{"class":2386},[112,10304,3827],{"class":146},[112,10306,2803],{"class":2386},[112,10308,2398],{"class":146},[112,10310,10311,10313,10315,10317,10319],{"class":114,"line":3834},[112,10312,3284],{"class":146},[112,10314,3615],{"class":2386},[112,10316,3618],{"class":146},[112,10318,3615],{"class":2386},[112,10320,2398],{"class":146},[112,10322,10323,10325,10327,10329,10331],{"class":114,"line":3847},[112,10324,3284],{"class":146},[112,10326,3629],{"class":2386},[112,10328,3618],{"class":146},[112,10330,3629],{"class":2386},[112,10332,2398],{"class":146},[112,10334,10335,10337,10339,10341,10343],{"class":114,"line":3860},[112,10336,3284],{"class":146},[112,10338,2816],{"class":2386},[112,10340,3827],{"class":146},[112,10342,2816],{"class":2386},[112,10344,2398],{"class":146},[112,10346,10347,10349,10351,10353,10355],{"class":114,"line":3873},[112,10348,3284],{"class":146},[112,10350,3656],{"class":2386},[112,10352,3618],{"class":146},[112,10354,3656],{"class":2386},[112,10356,2398],{"class":146},[112,10358,10359,10361,10363,10365,10367],{"class":114,"line":3886},[112,10360,3284],{"class":146},[112,10362,2829],{"class":2386},[112,10364,3827],{"class":146},[112,10366,2829],{"class":2386},[112,10368,2398],{"class":146},[112,10370,10371,10373,10375],{"class":114,"line":3899},[112,10372,3332],{"class":146},[112,10374,2451],{"class":2386},[112,10376,2398],{"class":146},[112,10378,10379,10381,10383,10385,10387],{"class":114,"line":3908},[112,10380,2800],{"class":146},[112,10382,2433],{"class":2386},[112,10384,3584],{"class":146},[112,10386,2433],{"class":2386},[112,10388,2398],{"class":146},[112,10390,10391,10393,10395,10397,10399],{"class":114,"line":3921},[112,10392,2800],{"class":146},[112,10394,3548],{"class":2386},[112,10396,3551],{"class":146},[112,10398,3548],{"class":2386},[112,10400,2398],{"class":146},[112,10402,10403,10405,10407],{"class":114,"line":3934},[112,10404,2840],{"class":146},[112,10406,2423],{"class":2386},[112,10408,2398],{"class":146},[112,10410,10411,10413,10415,10417,10419,10421],{"class":114,"line":3943},[112,10412,2604],{"class":146},[112,10414,3261],{"class":2386},[112,10416,2390],{"class":132},[112,10418,1697],{"class":146},[112,10420,3954],{"class":136},[112,10422,2398],{"class":146},[112,10424,10425,10427,10429],{"class":114,"line":3959},[112,10426,2800],{"class":146},[112,10428,3277],{"class":2386},[112,10430,2398],{"class":146},[112,10432,10433,10435,10437],{"class":114,"line":3968},[112,10434,3284],{"class":146},[112,10436,3973],{"class":2386},[112,10438,2398],{"class":146},[112,10440,10441,10443,10445,10447,10449],{"class":114,"line":3978},[112,10442,3294],{"class":146},[112,10444,3311],{"class":2386},[112,10446,3985],{"class":146},[112,10448,3311],{"class":2386},[112,10450,2398],{"class":146},[112,10452,10453,10455,10457],{"class":114,"line":3992},[112,10454,3323],{"class":146},[112,10456,3973],{"class":2386},[112,10458,2398],{"class":146},[112,10460,10461,10463,10465],{"class":114,"line":4001},[112,10462,3332],{"class":146},[112,10464,3277],{"class":2386},[112,10466,2398],{"class":146},[112,10468,10469,10471,10473],{"class":114,"line":4010},[112,10470,2800],{"class":146},[112,10472,3343],{"class":2386},[112,10474,2398],{"class":146},[112,10476,10477,10479,10481],{"class":114,"line":4019},[112,10478,3284],{"class":146},[112,10480,3352],{"class":2386},[112,10482,2398],{"class":146},[112,10484,10485,10487,10489],{"class":114,"line":4028},[112,10486,3294],{"class":146},[112,10488,3361],{"class":2386},[112,10490,3042],{"class":146},[112,10492,10493,10495,10497],{"class":114,"line":4037},[112,10494,3323],{"class":146},[112,10496,3352],{"class":2386},[112,10498,2398],{"class":146},[112,10500,10501,10503,10505],{"class":114,"line":4046},[112,10502,3284],{"class":146},[112,10504,3378],{"class":2386},[112,10506,3042],{"class":146},[112,10508,10509,10511,10513],{"class":114,"line":4055},[112,10510,3284],{"class":146},[112,10512,3387],{"class":2386},[112,10514,3042],{"class":146},[112,10516,10517,10519,10521],{"class":114,"line":4064},[112,10518,3332],{"class":146},[112,10520,3343],{"class":2386},[112,10522,2398],{"class":146},[112,10524,10525,10527,10529],{"class":114,"line":4073},[112,10526,2840],{"class":146},[112,10528,3261],{"class":2386},[112,10530,2398],{"class":146},[112,10532,10533,10535,10537,10539,10541,10543],{"class":114,"line":4082},[112,10534,2604],{"class":146},[112,10536,3412],{"class":2386},[112,10538,2390],{"class":132},[112,10540,1697],{"class":146},[112,10542,4093],{"class":136},[112,10544,2398],{"class":146},[112,10546,10547,10549,10551],{"class":114,"line":4098},[112,10548,2800],{"class":146},[112,10550,3277],{"class":2386},[112,10552,2398],{"class":146},[112,10554,10555,10557,10559],{"class":114,"line":4107},[112,10556,3284],{"class":146},[112,10558,3973],{"class":2386},[112,10560,2398],{"class":146},[112,10562,10563,10565,10567,10569,10571],{"class":114,"line":4116},[112,10564,3294],{"class":146},[112,10566,3311],{"class":2386},[112,10568,3985],{"class":146},[112,10570,3311],{"class":2386},[112,10572,2398],{"class":146},[112,10574,10575,10577,10579],{"class":114,"line":4129},[112,10576,3323],{"class":146},[112,10578,3973],{"class":2386},[112,10580,2398],{"class":146},[112,10582,10583,10585,10587],{"class":114,"line":4138},[112,10584,3332],{"class":146},[112,10586,3277],{"class":2386},[112,10588,2398],{"class":146},[112,10590,10591,10593,10595],{"class":114,"line":4147},[112,10592,2800],{"class":146},[112,10594,3484],{"class":2386},[112,10596,2398],{"class":146},[112,10598,10599,10601,10603,10605,10607],{"class":114,"line":4156},[112,10600,3284],{"class":146},[112,10602,3168],{"class":2386},[112,10604,4163],{"class":146},[112,10606,3168],{"class":2386},[112,10608,2398],{"class":146},[112,10610,10611,10613,10615,10617,10619],{"class":114,"line":4170},[112,10612,3284],{"class":146},[112,10614,3506],{"class":2386},[112,10616,3185],{"class":146},[112,10618,3506],{"class":2386},[112,10620,2398],{"class":146},[112,10622,10623,10625,10627,10629,10631],{"class":114,"line":4183},[112,10624,3284],{"class":146},[112,10626,3519],{"class":2386},[112,10628,4190],{"class":146},[112,10630,3519],{"class":2386},[112,10632,2398],{"class":146},[112,10634,10635,10637,10639],{"class":114,"line":4197},[112,10636,3332],{"class":146},[112,10638,3484],{"class":2386},[112,10640,2398],{"class":146},[112,10642,10643,10645,10647],{"class":114,"line":4206},[112,10644,2840],{"class":146},[112,10646,3412],{"class":2386},[112,10648,2398],{"class":146},[112,10650,10651,10653,10655,10657,10659],{"class":114,"line":4215},[112,10652,2604],{"class":146},[112,10654,3548],{"class":2386},[112,10656,3551],{"class":146},[112,10658,3548],{"class":2386},[112,10660,2398],{"class":146},[112,10662,10663,10665,10667,10669,10671],{"class":114,"line":4228},[112,10664,2604],{"class":146},[112,10666,3701],{"class":2386},[112,10668,3704],{"class":146},[112,10670,3701],{"class":2386},[112,10672,2398],{"class":146},[112,10674,10675,10677,10679],{"class":114,"line":4241},[112,10676,2664],{"class":146},[112,10678,2406],{"class":2386},[112,10680,2398],{"class":146},[112,10682,10683,10685,10687,10689,10691],{"class":114,"line":4250},[112,10684,2430],{"class":146},[112,10686,3233],{"class":2386},[112,10688,3704],{"class":146},[112,10690,3233],{"class":2386},[112,10692,2398],{"class":146},[112,10694,10695,10697,10699,10701,10703],{"class":114,"line":4263},[112,10696,2430],{"class":146},[112,10698,3738],{"class":2386},[112,10700,3704],{"class":146},[112,10702,3738],{"class":2386},[112,10704,2398],{"class":146},[112,10706,10707,10709,10711],{"class":114,"line":4276},[112,10708,2501],{"class":146},[112,10710,2744],{"class":2386},[112,10712,2398],{"class":146},[112,10714,10715,10717,10719,10721,10723,10725],{"class":114,"line":4285},[112,10716,2420],{"class":146},[112,10718,2744],{"class":2386},[112,10720,2390],{"class":132},[112,10722,1697],{"class":146},[112,10724,4296],{"class":136},[112,10726,2398],{"class":146},[112,10728,10729,10731,10733,10736,10738],{"class":114,"line":4301},[112,10730,2430],{"class":146},[112,10732,3548],{"class":2386},[112,10734,10735],{"class":146},">-5.01336 -0.00029 0.500002 0 -4.2e-05 -0.005335\u003C\u002F",[112,10737,3548],{"class":2386},[112,10739,2398],{"class":146},[112,10741,10742,10744,10746,10748,10750,10752],{"class":114,"line":4315},[112,10743,2430],{"class":146},[112,10745,2406],{"class":2386},[112,10747,2390],{"class":132},[112,10749,1697],{"class":146},[112,10751,3797],{"class":136},[112,10753,2398],{"class":146},[112,10755,10756,10758,10760],{"class":114,"line":4330},[112,10757,2604],{"class":146},[112,10759,2423],{"class":2386},[112,10761,2398],{"class":146},[112,10763,10764,10766,10768],{"class":114,"line":4339},[112,10765,2800],{"class":146},[112,10767,2451],{"class":2386},[112,10769,2398],{"class":146},[112,10771,10772,10774,10776,10778,10780],{"class":114,"line":4348},[112,10773,3284],{"class":146},[112,10775,2803],{"class":2386},[112,10777,3827],{"class":146},[112,10779,2803],{"class":2386},[112,10781,2398],{"class":146},[112,10783,10784,10786,10788,10790,10792],{"class":114,"line":4361},[112,10785,3284],{"class":146},[112,10787,3615],{"class":2386},[112,10789,3618],{"class":146},[112,10791,3615],{"class":2386},[112,10793,2398],{"class":146},[112,10795,10796,10798,10800,10802,10804],{"class":114,"line":4374},[112,10797,3284],{"class":146},[112,10799,3629],{"class":2386},[112,10801,3618],{"class":146},[112,10803,3629],{"class":2386},[112,10805,2398],{"class":146},[112,10807,10808,10810,10812,10814,10816],{"class":114,"line":4387},[112,10809,3284],{"class":146},[112,10811,2816],{"class":2386},[112,10813,3827],{"class":146},[112,10815,2816],{"class":2386},[112,10817,2398],{"class":146},[112,10819,10820,10822,10824,10826,10828],{"class":114,"line":4400},[112,10821,3284],{"class":146},[112,10823,3656],{"class":2386},[112,10825,3618],{"class":146},[112,10827,3656],{"class":2386},[112,10829,2398],{"class":146},[112,10831,10832,10834,10836,10838,10840],{"class":114,"line":4413},[112,10833,3284],{"class":146},[112,10835,2829],{"class":2386},[112,10837,3827],{"class":146},[112,10839,2829],{"class":2386},[112,10841,2398],{"class":146},[112,10843,10844,10846,10848],{"class":114,"line":4426},[112,10845,3332],{"class":146},[112,10847,2451],{"class":2386},[112,10849,2398],{"class":146},[112,10851,10852,10854,10856,10858,10860],{"class":114,"line":4435},[112,10853,2800],{"class":146},[112,10855,2433],{"class":2386},[112,10857,3584],{"class":146},[112,10859,2433],{"class":2386},[112,10861,2398],{"class":146},[112,10863,10864,10866,10868,10870,10872],{"class":114,"line":4448},[112,10865,2800],{"class":146},[112,10867,3548],{"class":2386},[112,10869,3551],{"class":146},[112,10871,3548],{"class":2386},[112,10873,2398],{"class":146},[112,10875,10876,10878,10880],{"class":114,"line":4461},[112,10877,2840],{"class":146},[112,10879,2423],{"class":2386},[112,10881,2398],{"class":146},[112,10883,10884,10886,10888,10890,10892,10894],{"class":114,"line":4470},[112,10885,2604],{"class":146},[112,10887,3261],{"class":2386},[112,10889,2390],{"class":132},[112,10891,1697],{"class":146},[112,10893,3954],{"class":136},[112,10895,2398],{"class":146},[112,10897,10898,10900,10902],{"class":114,"line":4485},[112,10899,2800],{"class":146},[112,10901,3277],{"class":2386},[112,10903,2398],{"class":146},[112,10905,10906,10908,10910],{"class":114,"line":4494},[112,10907,3284],{"class":146},[112,10909,3973],{"class":2386},[112,10911,2398],{"class":146},[112,10913,10914,10916,10918,10920,10922],{"class":114,"line":4503},[112,10915,3294],{"class":146},[112,10917,3311],{"class":2386},[112,10919,3985],{"class":146},[112,10921,3311],{"class":2386},[112,10923,2398],{"class":146},[112,10925,10926,10928,10930],{"class":114,"line":4516},[112,10927,3323],{"class":146},[112,10929,3973],{"class":2386},[112,10931,2398],{"class":146},[112,10933,10934,10936,10938],{"class":114,"line":4525},[112,10935,3332],{"class":146},[112,10937,3277],{"class":2386},[112,10939,2398],{"class":146},[112,10941,10942,10944,10946],{"class":114,"line":4534},[112,10943,2800],{"class":146},[112,10945,3343],{"class":2386},[112,10947,2398],{"class":146},[112,10949,10950,10952,10954],{"class":114,"line":4543},[112,10951,3284],{"class":146},[112,10953,3352],{"class":2386},[112,10955,2398],{"class":146},[112,10957,10958,10960,10962],{"class":114,"line":4552},[112,10959,3294],{"class":146},[112,10961,3361],{"class":2386},[112,10963,3042],{"class":146},[112,10965,10966,10968,10970],{"class":114,"line":4561},[112,10967,3323],{"class":146},[112,10969,3352],{"class":2386},[112,10971,2398],{"class":146},[112,10973,10974,10976,10978],{"class":114,"line":4570},[112,10975,3284],{"class":146},[112,10977,3378],{"class":2386},[112,10979,3042],{"class":146},[112,10981,10982,10984,10986],{"class":114,"line":4579},[112,10983,3284],{"class":146},[112,10985,3387],{"class":2386},[112,10987,3042],{"class":146},[112,10989,10990,10992,10994],{"class":114,"line":4588},[112,10991,3332],{"class":146},[112,10993,3343],{"class":2386},[112,10995,2398],{"class":146},[112,10997,10998,11000,11002],{"class":114,"line":4597},[112,10999,2840],{"class":146},[112,11001,3261],{"class":2386},[112,11003,2398],{"class":146},[112,11005,11006,11008,11010,11012,11014,11016],{"class":114,"line":4606},[112,11007,2604],{"class":146},[112,11009,3412],{"class":2386},[112,11011,2390],{"class":132},[112,11013,1697],{"class":146},[112,11015,4093],{"class":136},[112,11017,2398],{"class":146},[112,11019,11020,11022,11024],{"class":114,"line":4621},[112,11021,2800],{"class":146},[112,11023,3277],{"class":2386},[112,11025,2398],{"class":146},[112,11027,11028,11030,11032],{"class":114,"line":4630},[112,11029,3284],{"class":146},[112,11031,3973],{"class":2386},[112,11033,2398],{"class":146},[112,11035,11036,11038,11040,11042,11044],{"class":114,"line":4639},[112,11037,3294],{"class":146},[112,11039,3311],{"class":2386},[112,11041,3985],{"class":146},[112,11043,3311],{"class":2386},[112,11045,2398],{"class":146},[112,11047,11048,11050,11052],{"class":114,"line":4652},[112,11049,3323],{"class":146},[112,11051,3973],{"class":2386},[112,11053,2398],{"class":146},[112,11055,11056,11058,11060],{"class":114,"line":4661},[112,11057,3332],{"class":146},[112,11059,3277],{"class":2386},[112,11061,2398],{"class":146},[112,11063,11064,11066,11068],{"class":114,"line":4670},[112,11065,2800],{"class":146},[112,11067,3484],{"class":2386},[112,11069,2398],{"class":146},[112,11071,11072,11074,11076,11078,11080],{"class":114,"line":4679},[112,11073,3284],{"class":146},[112,11075,3168],{"class":2386},[112,11077,4163],{"class":146},[112,11079,3168],{"class":2386},[112,11081,2398],{"class":146},[112,11083,11084,11086,11088,11090,11092],{"class":114,"line":4692},[112,11085,3284],{"class":146},[112,11087,3506],{"class":2386},[112,11089,3185],{"class":146},[112,11091,3506],{"class":2386},[112,11093,2398],{"class":146},[112,11095,11096,11098,11100,11102,11104],{"class":114,"line":4705},[112,11097,3284],{"class":146},[112,11099,3519],{"class":2386},[112,11101,4190],{"class":146},[112,11103,3519],{"class":2386},[112,11105,2398],{"class":146},[112,11107,11108,11110,11112],{"class":114,"line":4718},[112,11109,3332],{"class":146},[112,11111,3484],{"class":2386},[112,11113,2398],{"class":146},[112,11115,11116,11118,11120],{"class":114,"line":4727},[112,11117,2840],{"class":146},[112,11119,3412],{"class":2386},[112,11121,2398],{"class":146},[112,11123,11124,11126,11128,11130,11132],{"class":114,"line":4736},[112,11125,2604],{"class":146},[112,11127,3548],{"class":2386},[112,11129,3551],{"class":146},[112,11131,3548],{"class":2386},[112,11133,2398],{"class":146},[112,11135,11136,11138,11140,11142,11144],{"class":114,"line":4749},[112,11137,2604],{"class":146},[112,11139,3701],{"class":2386},[112,11141,3704],{"class":146},[112,11143,3701],{"class":2386},[112,11145,2398],{"class":146},[112,11147,11148,11150,11152],{"class":114,"line":4762},[112,11149,2664],{"class":146},[112,11151,2406],{"class":2386},[112,11153,2398],{"class":146},[112,11155,11156,11158,11160,11162,11164],{"class":114,"line":4771},[112,11157,2430],{"class":146},[112,11159,3233],{"class":2386},[112,11161,3704],{"class":146},[112,11163,3233],{"class":2386},[112,11165,2398],{"class":146},[112,11167,11168,11170,11172,11174,11176],{"class":114,"line":4784},[112,11169,2430],{"class":146},[112,11171,3738],{"class":2386},[112,11173,3704],{"class":146},[112,11175,3738],{"class":2386},[112,11177,2398],{"class":146},[112,11179,11180,11182,11184],{"class":114,"line":4797},[112,11181,2501],{"class":146},[112,11183,2744],{"class":2386},[112,11185,2398],{"class":146},[112,11187,11188,11190,11192,11194,11196,11198],{"class":114,"line":4806},[112,11189,2420],{"class":146},[112,11191,2744],{"class":2386},[112,11193,2390],{"class":132},[112,11195,1697],{"class":146},[112,11197,4817],{"class":136},[112,11199,2398],{"class":146},[112,11201,11202,11204,11206,11209,11211],{"class":114,"line":4822},[112,11203,2430],{"class":146},[112,11205,3548],{"class":2386},[112,11207,11208],{"class":146},">-0 -2.5 0.5 1e-06 0 0\u003C\u002F",[112,11210,3548],{"class":2386},[112,11212,2398],{"class":146},[112,11214,11215,11217,11219,11221,11223,11225],{"class":114,"line":4836},[112,11216,2430],{"class":146},[112,11218,2406],{"class":2386},[112,11220,2390],{"class":132},[112,11222,1697],{"class":146},[112,11224,3797],{"class":136},[112,11226,2398],{"class":146},[112,11228,11229,11231,11233],{"class":114,"line":4851},[112,11230,2604],{"class":146},[112,11232,2423],{"class":2386},[112,11234,2398],{"class":146},[112,11236,11237,11239,11241],{"class":114,"line":4860},[112,11238,2800],{"class":146},[112,11240,2451],{"class":2386},[112,11242,2398],{"class":146},[112,11244,11245,11247,11249,11251,11253],{"class":114,"line":4869},[112,11246,3284],{"class":146},[112,11248,2803],{"class":2386},[112,11250,3827],{"class":146},[112,11252,2803],{"class":2386},[112,11254,2398],{"class":146},[112,11256,11257,11259,11261,11263,11265],{"class":114,"line":4882},[112,11258,3284],{"class":146},[112,11260,3615],{"class":2386},[112,11262,3618],{"class":146},[112,11264,3615],{"class":2386},[112,11266,2398],{"class":146},[112,11268,11269,11271,11273,11275,11277],{"class":114,"line":4895},[112,11270,3284],{"class":146},[112,11272,3629],{"class":2386},[112,11274,3618],{"class":146},[112,11276,3629],{"class":2386},[112,11278,2398],{"class":146},[112,11280,11281,11283,11285,11287,11289],{"class":114,"line":4908},[112,11282,3284],{"class":146},[112,11284,2816],{"class":2386},[112,11286,3827],{"class":146},[112,11288,2816],{"class":2386},[112,11290,2398],{"class":146},[112,11292,11293,11295,11297,11299,11301],{"class":114,"line":4921},[112,11294,3284],{"class":146},[112,11296,3656],{"class":2386},[112,11298,3618],{"class":146},[112,11300,3656],{"class":2386},[112,11302,2398],{"class":146},[112,11304,11305,11307,11309,11311,11313],{"class":114,"line":4934},[112,11306,3284],{"class":146},[112,11308,2829],{"class":2386},[112,11310,3827],{"class":146},[112,11312,2829],{"class":2386},[112,11314,2398],{"class":146},[112,11316,11317,11319,11321],{"class":114,"line":4947},[112,11318,3332],{"class":146},[112,11320,2451],{"class":2386},[112,11322,2398],{"class":146},[112,11324,11325,11327,11329,11331,11333],{"class":114,"line":4956},[112,11326,2800],{"class":146},[112,11328,2433],{"class":2386},[112,11330,3584],{"class":146},[112,11332,2433],{"class":2386},[112,11334,2398],{"class":146},[112,11336,11337,11339,11341,11343,11345],{"class":114,"line":4969},[112,11338,2800],{"class":146},[112,11340,3548],{"class":2386},[112,11342,3551],{"class":146},[112,11344,3548],{"class":2386},[112,11346,2398],{"class":146},[112,11348,11349,11351,11353],{"class":114,"line":4982},[112,11350,2840],{"class":146},[112,11352,2423],{"class":2386},[112,11354,2398],{"class":146},[112,11356,11357,11359,11361,11363,11365,11367],{"class":114,"line":4991},[112,11358,2604],{"class":146},[112,11360,3261],{"class":2386},[112,11362,2390],{"class":132},[112,11364,1697],{"class":146},[112,11366,3954],{"class":136},[112,11368,2398],{"class":146},[112,11370,11371,11373,11375],{"class":114,"line":5006},[112,11372,2800],{"class":146},[112,11374,3277],{"class":2386},[112,11376,2398],{"class":146},[112,11378,11379,11381,11383],{"class":114,"line":5015},[112,11380,3284],{"class":146},[112,11382,3973],{"class":2386},[112,11384,2398],{"class":146},[112,11386,11387,11389,11391,11393,11395],{"class":114,"line":5024},[112,11388,3294],{"class":146},[112,11390,3311],{"class":2386},[112,11392,5031],{"class":146},[112,11394,3311],{"class":2386},[112,11396,2398],{"class":146},[112,11398,11399,11401,11403],{"class":114,"line":5038},[112,11400,3323],{"class":146},[112,11402,3973],{"class":2386},[112,11404,2398],{"class":146},[112,11406,11407,11409,11411],{"class":114,"line":5047},[112,11408,3332],{"class":146},[112,11410,3277],{"class":2386},[112,11412,2398],{"class":146},[112,11414,11415,11417,11419],{"class":114,"line":5056},[112,11416,2800],{"class":146},[112,11418,3343],{"class":2386},[112,11420,2398],{"class":146},[112,11422,11423,11425,11427],{"class":114,"line":5065},[112,11424,3284],{"class":146},[112,11426,3352],{"class":2386},[112,11428,2398],{"class":146},[112,11430,11431,11433,11435],{"class":114,"line":5074},[112,11432,3294],{"class":146},[112,11434,3361],{"class":2386},[112,11436,3042],{"class":146},[112,11438,11439,11441,11443],{"class":114,"line":5083},[112,11440,3323],{"class":146},[112,11442,3352],{"class":2386},[112,11444,2398],{"class":146},[112,11446,11447,11449,11451],{"class":114,"line":5092},[112,11448,3284],{"class":146},[112,11450,3378],{"class":2386},[112,11452,3042],{"class":146},[112,11454,11455,11457,11459],{"class":114,"line":5101},[112,11456,3284],{"class":146},[112,11458,3387],{"class":2386},[112,11460,3042],{"class":146},[112,11462,11463,11465,11467],{"class":114,"line":5110},[112,11464,3332],{"class":146},[112,11466,3343],{"class":2386},[112,11468,2398],{"class":146},[112,11470,11471,11473,11475],{"class":114,"line":5119},[112,11472,2840],{"class":146},[112,11474,3261],{"class":2386},[112,11476,2398],{"class":146},[112,11478,11479,11481,11483,11485,11487,11489],{"class":114,"line":5128},[112,11480,2604],{"class":146},[112,11482,3412],{"class":2386},[112,11484,2390],{"class":132},[112,11486,1697],{"class":146},[112,11488,4093],{"class":136},[112,11490,2398],{"class":146},[112,11492,11493,11495,11497],{"class":114,"line":5143},[112,11494,2800],{"class":146},[112,11496,3277],{"class":2386},[112,11498,2398],{"class":146},[112,11500,11501,11503,11505],{"class":114,"line":5152},[112,11502,3284],{"class":146},[112,11504,3973],{"class":2386},[112,11506,2398],{"class":146},[112,11508,11509,11511,11513,11515,11517],{"class":114,"line":5161},[112,11510,3294],{"class":146},[112,11512,3311],{"class":2386},[112,11514,5031],{"class":146},[112,11516,3311],{"class":2386},[112,11518,2398],{"class":146},[112,11520,11521,11523,11525],{"class":114,"line":5174},[112,11522,3323],{"class":146},[112,11524,3973],{"class":2386},[112,11526,2398],{"class":146},[112,11528,11529,11531,11533],{"class":114,"line":5183},[112,11530,3332],{"class":146},[112,11532,3277],{"class":2386},[112,11534,2398],{"class":146},[112,11536,11537,11539,11541],{"class":114,"line":5192},[112,11538,2800],{"class":146},[112,11540,3484],{"class":2386},[112,11542,2398],{"class":146},[112,11544,11545,11547,11549,11551,11553],{"class":114,"line":5201},[112,11546,3284],{"class":146},[112,11548,3168],{"class":2386},[112,11550,4163],{"class":146},[112,11552,3168],{"class":2386},[112,11554,2398],{"class":146},[112,11556,11557,11559,11561,11563,11565],{"class":114,"line":5214},[112,11558,3284],{"class":146},[112,11560,3506],{"class":2386},[112,11562,3185],{"class":146},[112,11564,3506],{"class":2386},[112,11566,2398],{"class":146},[112,11568,11569,11571,11573,11575,11577],{"class":114,"line":5227},[112,11570,3284],{"class":146},[112,11572,3519],{"class":2386},[112,11574,4190],{"class":146},[112,11576,3519],{"class":2386},[112,11578,2398],{"class":146},[112,11580,11581,11583,11585],{"class":114,"line":5240},[112,11582,3332],{"class":146},[112,11584,3484],{"class":2386},[112,11586,2398],{"class":146},[112,11588,11589,11591,11593],{"class":114,"line":5249},[112,11590,2840],{"class":146},[112,11592,3412],{"class":2386},[112,11594,2398],{"class":146},[112,11596,11597,11599,11601,11603,11605],{"class":114,"line":5258},[112,11598,2604],{"class":146},[112,11600,3548],{"class":2386},[112,11602,3551],{"class":146},[112,11604,3548],{"class":2386},[112,11606,2398],{"class":146},[112,11608,11609,11611,11613,11615,11617],{"class":114,"line":5271},[112,11610,2604],{"class":146},[112,11612,3701],{"class":2386},[112,11614,3704],{"class":146},[112,11616,3701],{"class":2386},[112,11618,2398],{"class":146},[112,11620,11621,11623,11625],{"class":114,"line":5284},[112,11622,2664],{"class":146},[112,11624,2406],{"class":2386},[112,11626,2398],{"class":146},[112,11628,11629,11631,11633,11635,11637],{"class":114,"line":5293},[112,11630,2430],{"class":146},[112,11632,3233],{"class":2386},[112,11634,3704],{"class":146},[112,11636,3233],{"class":2386},[112,11638,2398],{"class":146},[112,11640,11641,11643,11645,11647,11649],{"class":114,"line":5306},[112,11642,2430],{"class":146},[112,11644,3738],{"class":2386},[112,11646,3704],{"class":146},[112,11648,3738],{"class":2386},[112,11650,2398],{"class":146},[112,11652,11653,11655,11657],{"class":114,"line":5319},[112,11654,2501],{"class":146},[112,11656,2744],{"class":2386},[112,11658,2398],{"class":146},[112,11660,11661,11663,11665,11667,11669,11671],{"class":114,"line":5328},[112,11662,2420],{"class":146},[112,11664,2744],{"class":2386},[112,11666,2390],{"class":132},[112,11668,1697],{"class":146},[112,11670,5339],{"class":136},[112,11672,2398],{"class":146},[112,11674,11675,11677,11679,11682,11684],{"class":114,"line":5344},[112,11676,2430],{"class":146},[112,11678,3548],{"class":2386},[112,11680,11681],{"class":146},">-0.000154 2.52488 0.500821 -0.018068 -0 -0.003156\u003C\u002F",[112,11683,3548],{"class":2386},[112,11685,2398],{"class":146},[112,11687,11688,11690,11692,11694,11696,11698],{"class":114,"line":5358},[112,11689,2430],{"class":146},[112,11691,2406],{"class":2386},[112,11693,2390],{"class":132},[112,11695,1697],{"class":146},[112,11697,3797],{"class":136},[112,11699,2398],{"class":146},[112,11701,11702,11704,11706],{"class":114,"line":5373},[112,11703,2604],{"class":146},[112,11705,2423],{"class":2386},[112,11707,2398],{"class":146},[112,11709,11710,11712,11714],{"class":114,"line":5382},[112,11711,2800],{"class":146},[112,11713,2451],{"class":2386},[112,11715,2398],{"class":146},[112,11717,11718,11720,11722,11724,11726],{"class":114,"line":5391},[112,11719,3284],{"class":146},[112,11721,2803],{"class":2386},[112,11723,3827],{"class":146},[112,11725,2803],{"class":2386},[112,11727,2398],{"class":146},[112,11729,11730,11732,11734,11736,11738],{"class":114,"line":5404},[112,11731,3284],{"class":146},[112,11733,3615],{"class":2386},[112,11735,3618],{"class":146},[112,11737,3615],{"class":2386},[112,11739,2398],{"class":146},[112,11741,11742,11744,11746,11748,11750],{"class":114,"line":5417},[112,11743,3284],{"class":146},[112,11745,3629],{"class":2386},[112,11747,3618],{"class":146},[112,11749,3629],{"class":2386},[112,11751,2398],{"class":146},[112,11753,11754,11756,11758,11760,11762],{"class":114,"line":5430},[112,11755,3284],{"class":146},[112,11757,2816],{"class":2386},[112,11759,3827],{"class":146},[112,11761,2816],{"class":2386},[112,11763,2398],{"class":146},[112,11765,11766,11768,11770,11772,11774],{"class":114,"line":5443},[112,11767,3284],{"class":146},[112,11769,3656],{"class":2386},[112,11771,3618],{"class":146},[112,11773,3656],{"class":2386},[112,11775,2398],{"class":146},[112,11777,11778,11780,11782,11784,11786],{"class":114,"line":5456},[112,11779,3284],{"class":146},[112,11781,2829],{"class":2386},[112,11783,3827],{"class":146},[112,11785,2829],{"class":2386},[112,11787,2398],{"class":146},[112,11789,11790,11792,11794],{"class":114,"line":5469},[112,11791,3332],{"class":146},[112,11793,2451],{"class":2386},[112,11795,2398],{"class":146},[112,11797,11798,11800,11802,11804,11806],{"class":114,"line":5478},[112,11799,2800],{"class":146},[112,11801,2433],{"class":2386},[112,11803,3584],{"class":146},[112,11805,2433],{"class":2386},[112,11807,2398],{"class":146},[112,11809,11810,11812,11814,11816,11818],{"class":114,"line":5491},[112,11811,2800],{"class":146},[112,11813,3548],{"class":2386},[112,11815,3551],{"class":146},[112,11817,3548],{"class":2386},[112,11819,2398],{"class":146},[112,11821,11822,11824,11826],{"class":114,"line":5504},[112,11823,2840],{"class":146},[112,11825,2423],{"class":2386},[112,11827,2398],{"class":146},[112,11829,11830,11832,11834,11836,11838,11840],{"class":114,"line":5513},[112,11831,2604],{"class":146},[112,11833,3261],{"class":2386},[112,11835,2390],{"class":132},[112,11837,1697],{"class":146},[112,11839,3954],{"class":136},[112,11841,2398],{"class":146},[112,11843,11844,11846,11848],{"class":114,"line":5528},[112,11845,2800],{"class":146},[112,11847,3277],{"class":2386},[112,11849,2398],{"class":146},[112,11851,11852,11854,11856],{"class":114,"line":5537},[112,11853,3284],{"class":146},[112,11855,3973],{"class":2386},[112,11857,2398],{"class":146},[112,11859,11860,11862,11864,11866,11868],{"class":114,"line":5546},[112,11861,3294],{"class":146},[112,11863,3311],{"class":2386},[112,11865,5031],{"class":146},[112,11867,3311],{"class":2386},[112,11869,2398],{"class":146},[112,11871,11872,11874,11876],{"class":114,"line":5559},[112,11873,3323],{"class":146},[112,11875,3973],{"class":2386},[112,11877,2398],{"class":146},[112,11879,11880,11882,11884],{"class":114,"line":5568},[112,11881,3332],{"class":146},[112,11883,3277],{"class":2386},[112,11885,2398],{"class":146},[112,11887,11888,11890,11892],{"class":114,"line":5577},[112,11889,2800],{"class":146},[112,11891,3343],{"class":2386},[112,11893,2398],{"class":146},[112,11895,11896,11898,11900],{"class":114,"line":5586},[112,11897,3284],{"class":146},[112,11899,3352],{"class":2386},[112,11901,2398],{"class":146},[112,11903,11904,11906,11908],{"class":114,"line":5595},[112,11905,3294],{"class":146},[112,11907,3361],{"class":2386},[112,11909,3042],{"class":146},[112,11911,11912,11914,11916],{"class":114,"line":5604},[112,11913,3323],{"class":146},[112,11915,3352],{"class":2386},[112,11917,2398],{"class":146},[112,11919,11920,11922,11924],{"class":114,"line":5613},[112,11921,3284],{"class":146},[112,11923,3378],{"class":2386},[112,11925,3042],{"class":146},[112,11927,11928,11930,11932],{"class":114,"line":5622},[112,11929,3284],{"class":146},[112,11931,3387],{"class":2386},[112,11933,3042],{"class":146},[112,11935,11936,11938,11940],{"class":114,"line":5631},[112,11937,3332],{"class":146},[112,11939,3343],{"class":2386},[112,11941,2398],{"class":146},[112,11943,11944,11946,11948],{"class":114,"line":5640},[112,11945,2840],{"class":146},[112,11947,3261],{"class":2386},[112,11949,2398],{"class":146},[112,11951,11952,11954,11956,11958,11960,11962],{"class":114,"line":5649},[112,11953,2604],{"class":146},[112,11955,3412],{"class":2386},[112,11957,2390],{"class":132},[112,11959,1697],{"class":146},[112,11961,4093],{"class":136},[112,11963,2398],{"class":146},[112,11965,11966,11968,11970],{"class":114,"line":5664},[112,11967,2800],{"class":146},[112,11969,3277],{"class":2386},[112,11971,2398],{"class":146},[112,11973,11974,11976,11978],{"class":114,"line":5673},[112,11975,3284],{"class":146},[112,11977,3973],{"class":2386},[112,11979,2398],{"class":146},[112,11981,11982,11984,11986,11988,11990],{"class":114,"line":5682},[112,11983,3294],{"class":146},[112,11985,3311],{"class":2386},[112,11987,5031],{"class":146},[112,11989,3311],{"class":2386},[112,11991,2398],{"class":146},[112,11993,11994,11996,11998],{"class":114,"line":5695},[112,11995,3323],{"class":146},[112,11997,3973],{"class":2386},[112,11999,2398],{"class":146},[112,12001,12002,12004,12006],{"class":114,"line":5704},[112,12003,3332],{"class":146},[112,12005,3277],{"class":2386},[112,12007,2398],{"class":146},[112,12009,12010,12012,12014],{"class":114,"line":5713},[112,12011,2800],{"class":146},[112,12013,3484],{"class":2386},[112,12015,2398],{"class":146},[112,12017,12018,12020,12022,12024,12026],{"class":114,"line":5722},[112,12019,3284],{"class":146},[112,12021,3168],{"class":2386},[112,12023,4163],{"class":146},[112,12025,3168],{"class":2386},[112,12027,2398],{"class":146},[112,12029,12030,12032,12034,12036,12038],{"class":114,"line":5735},[112,12031,3284],{"class":146},[112,12033,3506],{"class":2386},[112,12035,3185],{"class":146},[112,12037,3506],{"class":2386},[112,12039,2398],{"class":146},[112,12041,12042,12044,12046,12048,12050],{"class":114,"line":5748},[112,12043,3284],{"class":146},[112,12045,3519],{"class":2386},[112,12047,4190],{"class":146},[112,12049,3519],{"class":2386},[112,12051,2398],{"class":146},[112,12053,12054,12056,12058],{"class":114,"line":5761},[112,12055,3332],{"class":146},[112,12057,3484],{"class":2386},[112,12059,2398],{"class":146},[112,12061,12062,12064,12066],{"class":114,"line":5770},[112,12063,2840],{"class":146},[112,12065,3412],{"class":2386},[112,12067,2398],{"class":146},[112,12069,12070,12072,12074,12076,12078],{"class":114,"line":5779},[112,12071,2604],{"class":146},[112,12073,3548],{"class":2386},[112,12075,3551],{"class":146},[112,12077,3548],{"class":2386},[112,12079,2398],{"class":146},[112,12081,12082,12084,12086,12088,12090],{"class":114,"line":5792},[112,12083,2604],{"class":146},[112,12085,3701],{"class":2386},[112,12087,3704],{"class":146},[112,12089,3701],{"class":2386},[112,12091,2398],{"class":146},[112,12093,12094,12096,12098],{"class":114,"line":5805},[112,12095,2664],{"class":146},[112,12097,2406],{"class":2386},[112,12099,2398],{"class":146},[112,12101,12102,12104,12106,12108,12110],{"class":114,"line":5814},[112,12103,2430],{"class":146},[112,12105,3233],{"class":2386},[112,12107,3704],{"class":146},[112,12109,3233],{"class":2386},[112,12111,2398],{"class":146},[112,12113,12114,12116,12118,12120,12122],{"class":114,"line":5827},[112,12115,2430],{"class":146},[112,12117,3738],{"class":2386},[112,12119,3704],{"class":146},[112,12121,3738],{"class":2386},[112,12123,2398],{"class":146},[112,12125,12126,12128,12130],{"class":114,"line":5840},[112,12127,2501],{"class":146},[112,12129,2744],{"class":2386},[112,12131,2398],{"class":146},[112,12133,12134,12136,12139],{"class":114,"line":5849},[112,12135,2420],{"class":146},[112,12137,12138],{"class":2386},"include",[112,12140,2398],{"class":146},[112,12142,12143,12145,12148,12151,12153],{"class":114,"line":5873},[112,12144,2430],{"class":146},[112,12146,12147],{"class":2386},"uri",[112,12149,12150],{"class":146},">file:\u002F\u002FBed\u003C\u002F",[112,12152,12147],{"class":2386},[112,12154,2398],{"class":146},[112,12156,12157,12159,12161,12164,12166],{"class":114,"line":5887},[112,12158,2430],{"class":146},[112,12160,6134],{"class":2386},[112,12162,12163],{"class":146},">Bed\u003C\u002F",[112,12165,6134],{"class":2386},[112,12167,2398],{"class":146},[112,12169,12170,12172,12174,12177,12179],{"class":114,"line":5901},[112,12171,2430],{"class":146},[112,12173,3548],{"class":2386},[112,12175,12176],{"class":146},">2.82155 1.18752 0 0 -0 0\u003C\u002F",[112,12178,3548],{"class":2386},[112,12180,2398],{"class":146},[112,12182,12183,12185,12187],{"class":114,"line":5915},[112,12184,2501],{"class":146},[112,12186,12138],{"class":2386},[112,12188,2398],{"class":146},[112,12190,12191,12193,12195],{"class":114,"line":5930},[112,12192,2420],{"class":146},[112,12194,12138],{"class":2386},[112,12196,2398],{"class":146},[112,12198,12199,12201,12203,12206,12208],{"class":114,"line":5943},[112,12200,2430],{"class":146},[112,12202,12147],{"class":2386},[112,12204,12205],{"class":146},">file:\u002F\u002FOffice Desk\u003C\u002F",[112,12207,12147],{"class":2386},[112,12209,2398],{"class":146},[112,12211,12212,12214,12216,12219,12221],{"class":114,"line":5957},[112,12213,2430],{"class":146},[112,12215,6134],{"class":2386},[112,12217,12218],{"class":146},">Desk\u003C\u002F",[112,12220,6134],{"class":2386},[112,12222,2398],{"class":146},[112,12224,12225,12227,12229,12232,12234],{"class":114,"line":5967},[112,12226,2430],{"class":146},[112,12228,3548],{"class":2386},[112,12230,12231],{"class":146},">2.78306 -1.97796 0 0 -0 1.57\u003C\u002F",[112,12233,3548],{"class":2386},[112,12235,2398],{"class":146},[112,12237,12238,12240,12242],{"class":114,"line":5981},[112,12239,2501],{"class":146},[112,12241,12138],{"class":2386},[112,12243,2398],{"class":146},[112,12245,12246,12248,12250],{"class":114,"line":5996},[112,12247,2420],{"class":146},[112,12249,12138],{"class":2386},[112,12251,2398],{"class":146},[112,12253,12254,12256,12258,12261,12263],{"class":114,"line":6011},[112,12255,2430],{"class":146},[112,12257,12147],{"class":2386},[112,12259,12260],{"class":146},">file:\u002F\u002FBathtub\u003C\u002F",[112,12262,12147],{"class":2386},[112,12264,2398],{"class":146},[112,12266,12267,12269,12271,12274,12276],{"class":114,"line":6025},[112,12268,2430],{"class":146},[112,12270,6134],{"class":2386},[112,12272,12273],{"class":146},">Bathtub\u003C\u002F",[112,12275,6134],{"class":2386},[112,12277,2398],{"class":146},[112,12279,12280,12282,12284,12287,12289],{"class":114,"line":6034},[112,12281,2430],{"class":146},[112,12283,3548],{"class":2386},[112,12285,12286],{"class":146},">-3.87509 1.82783 0 0 -0 0\u003C\u002F",[112,12288,3548],{"class":2386},[112,12290,2398],{"class":146},[112,12292,12293,12295,12297],{"class":114,"line":6044},[112,12294,2501],{"class":146},[112,12296,12138],{"class":2386},[112,12298,2398],{"class":146},[112,12300,12301,12303,12305],{"class":114,"line":6058},[112,12302,2420],{"class":146},[112,12304,12138],{"class":2386},[112,12306,2398],{"class":146},[112,12308,12309,12311,12313,12316,12318],{"class":114,"line":6072},[112,12310,2430],{"class":146},[112,12312,12147],{"class":2386},[112,12314,12315],{"class":146},">file:\u002F\u002FVanity\u003C\u002F",[112,12317,12147],{"class":2386},[112,12319,2398],{"class":146},[112,12321,12322,12324,12326,12329,12331],{"class":114,"line":6086},[112,12323,2430],{"class":146},[112,12325,6134],{"class":2386},[112,12327,12328],{"class":146},">Vanity\u003C\u002F",[112,12330,6134],{"class":2386},[112,12332,2398],{"class":146},[112,12334,12335,12337,12339,12342,12344],{"class":114,"line":6095},[112,12336,2430],{"class":146},[112,12338,3548],{"class":2386},[112,12340,12341],{"class":146},">-2.5974 1.85613 -0.010992 0.021648 0 -1.57\u003C\u002F",[112,12343,3548],{"class":2386},[112,12345,2398],{"class":146},[112,12347,12348,12350,12352],{"class":114,"line":6104},[112,12349,2501],{"class":146},[112,12351,12138],{"class":2386},[112,12353,2398],{"class":146},[112,12355,12356,12358,12360],{"class":114,"line":6113},[112,12357,2420],{"class":146},[112,12359,12138],{"class":2386},[112,12361,2398],{"class":146},[112,12363,12365,12367,12369,12371,12373],{"class":114,"line":12364},278,[112,12366,2430],{"class":146},[112,12368,12147],{"class":2386},[112,12370,12315],{"class":146},[112,12372,12147],{"class":2386},[112,12374,2398],{"class":146},[112,12376,12378,12380,12382,12385,12387],{"class":114,"line":12377},279,[112,12379,2430],{"class":146},[112,12381,6134],{"class":2386},[112,12383,12384],{"class":146},">Vanity_1\u003C\u002F",[112,12386,6134],{"class":2386},[112,12388,2398],{"class":146},[112,12390,12392,12394,12396,12399,12401],{"class":114,"line":12391},280,[112,12393,2430],{"class":146},[112,12395,3548],{"class":2386},[112,12397,12398],{"class":146},">-2.5974 0.634325 -0.010992 0.021648 0 -1.57\u003C\u002F",[112,12400,3548],{"class":2386},[112,12402,2398],{"class":146},[112,12404,12406,12408,12410],{"class":114,"line":12405},281,[112,12407,2501],{"class":146},[112,12409,12138],{"class":2386},[112,12411,2398],{"class":146},[112,12413,12415,12417,12419],{"class":114,"line":12414},282,[112,12416,2420],{"class":146},[112,12418,12138],{"class":2386},[112,12420,2398],{"class":146},[112,12422,12424,12426,12428,12431,12433],{"class":114,"line":12423},283,[112,12425,2430],{"class":146},[112,12427,12147],{"class":2386},[112,12429,12430],{"class":146},">file:\u002F\u002FDining Table\u003C\u002F",[112,12432,12147],{"class":2386},[112,12434,2398],{"class":146},[112,12436,12438,12440,12442,12445,12447],{"class":114,"line":12437},284,[112,12439,2430],{"class":146},[112,12441,6134],{"class":2386},[112,12443,12444],{"class":146},">DiningTable\u003C\u002F",[112,12446,6134],{"class":2386},[112,12448,2398],{"class":146},[112,12450,12452,12454,12456,12459,12461],{"class":114,"line":12451},285,[112,12453,2430],{"class":146},[112,12455,3548],{"class":2386},[112,12457,12458],{"class":146},">-0.374337 1.33602 0 0 0 -1.57\u003C\u002F",[112,12460,3548],{"class":2386},[112,12462,2398],{"class":146},[112,12464,12466,12468,12470],{"class":114,"line":12465},286,[112,12467,2501],{"class":146},[112,12469,12138],{"class":2386},[112,12471,2398],{"class":146},[112,12473,12475,12477,12479],{"class":114,"line":12474},287,[112,12476,2420],{"class":146},[112,12478,12138],{"class":2386},[112,12480,2398],{"class":146},[112,12482,12484,12486,12488,12491,12493],{"class":114,"line":12483},288,[112,12485,2430],{"class":146},[112,12487,12147],{"class":2386},[112,12489,12490],{"class":146},">file:\u002F\u002FChair\u003C\u002F",[112,12492,12147],{"class":2386},[112,12494,2398],{"class":146},[112,12496,12498,12500,12502,12505,12507],{"class":114,"line":12497},289,[112,12499,2430],{"class":146},[112,12501,6134],{"class":2386},[112,12503,12504],{"class":146},">Chair\u003C\u002F",[112,12506,6134],{"class":2386},[112,12508,2398],{"class":146},[112,12510,12512,12514,12516,12519,12521],{"class":114,"line":12511},290,[112,12513,2430],{"class":146},[112,12515,3548],{"class":2386},[112,12517,12518],{"class":146},">2.79762 -1.26474 -0 -0 0 -2.3062\u003C\u002F",[112,12520,3548],{"class":2386},[112,12522,2398],{"class":146},[112,12524,12526,12528,12530],{"class":114,"line":12525},291,[112,12527,2501],{"class":146},[112,12529,12138],{"class":2386},[112,12531,2398],{"class":146},[112,12533,12535,12537,12539],{"class":114,"line":12534},292,[112,12536,2420],{"class":146},[112,12538,12138],{"class":2386},[112,12540,2398],{"class":146},[112,12542,12544,12546,12548,12551,12553],{"class":114,"line":12543},293,[112,12545,2430],{"class":146},[112,12547,12147],{"class":2386},[112,12549,12550],{"class":146},">file:\u002F\u002FSofa\u003C\u002F",[112,12552,12147],{"class":2386},[112,12554,2398],{"class":146},[112,12556,12558,12560,12562,12565,12567],{"class":114,"line":12557},294,[112,12559,2430],{"class":146},[112,12561,6134],{"class":2386},[112,12563,12564],{"class":146},">Sofa\u003C\u002F",[112,12566,6134],{"class":2386},[112,12568,2398],{"class":146},[112,12570,12572,12574,12576,12579,12581],{"class":114,"line":12571},295,[112,12573,2430],{"class":146},[112,12575,3548],{"class":2386},[112,12577,12578],{"class":146},">-0.546136 -1.92328 0.000119 -0 0 1.57\u003C\u002F",[112,12580,3548],{"class":2386},[112,12582,2398],{"class":146},[112,12584,12586,12588,12590],{"class":114,"line":12585},296,[112,12587,2501],{"class":146},[112,12589,12138],{"class":2386},[112,12591,2398],{"class":146},[112,12593,12595,12597,12599,12601,12603,12605,12607,12609,12611],{"class":114,"line":12594},297,[112,12596,2420],{"class":146},[112,12598,5854],{"class":2386},[112,12600,2390],{"class":132},[112,12602,1697],{"class":146},[112,12604,5861],{"class":136},[112,12606,2960],{"class":132},[112,12608,1697],{"class":146},[112,12610,5868],{"class":136},[112,12612,2398],{"class":146},[112,12614,12616,12618,12620,12622,12624],{"class":114,"line":12615},298,[112,12617,2430],{"class":146},[112,12619,3548],{"class":2386},[112,12621,5880],{"class":146},[112,12623,3548],{"class":2386},[112,12625,2398],{"class":146},[112,12627,12629,12631,12633,12635,12637],{"class":114,"line":12628},299,[112,12630,2430],{"class":146},[112,12632,5892],{"class":2386},[112,12634,3199],{"class":146},[112,12636,5892],{"class":2386},[112,12638,2398],{"class":146},[112,12640,12642,12644,12646,12648,12650],{"class":114,"line":12641},300,[112,12643,2430],{"class":146},[112,12645,5906],{"class":2386},[112,12647,2991],{"class":146},[112,12649,5906],{"class":2386},[112,12651,2398],{"class":146},[112,12653,12655,12657,12659,12661,12663],{"class":114,"line":12654},301,[112,12656,2430],{"class":146},[112,12658,5920],{"class":2386},[112,12660,5923],{"class":146},[112,12662,5920],{"class":2386},[112,12664,2398],{"class":146},[112,12666,12668,12670,12672,12674,12676],{"class":114,"line":12667},302,[112,12669,2430],{"class":146},[112,12671,3506],{"class":2386},[112,12673,3495],{"class":146},[112,12675,3506],{"class":2386},[112,12677,2398],{"class":146},[112,12679,12681,12683,12685,12687,12689],{"class":114,"line":12680},303,[112,12682,2430],{"class":146},[112,12684,3519],{"class":2386},[112,12686,5950],{"class":146},[112,12688,3519],{"class":2386},[112,12690,2398],{"class":146},[112,12692,12694,12696,12698],{"class":114,"line":12693},304,[112,12695,2430],{"class":146},[112,12697,5962],{"class":2386},[112,12699,2398],{"class":146},[112,12701,12703,12705,12707,12709,12711],{"class":114,"line":12702},305,[112,12704,2604],{"class":146},[112,12706,5972],{"class":2386},[112,12708,3005],{"class":146},[112,12710,5972],{"class":2386},[112,12712,2398],{"class":146},[112,12714,12716,12718,12720,12722,12724],{"class":114,"line":12715},306,[112,12717,2604],{"class":146},[112,12719,5986],{"class":2386},[112,12721,5989],{"class":146},[112,12723,5986],{"class":2386},[112,12725,2398],{"class":146},[112,12727,12729,12731,12733,12735,12737],{"class":114,"line":12728},307,[112,12730,2604],{"class":146},[112,12732,6001],{"class":2386},[112,12734,6004],{"class":146},[112,12736,6001],{"class":2386},[112,12738,2398],{"class":146},[112,12740,12742,12744,12746,12748,12750],{"class":114,"line":12741},308,[112,12743,2604],{"class":146},[112,12745,6016],{"class":2386},[112,12747,2977],{"class":146},[112,12749,6016],{"class":2386},[112,12751,2398],{"class":146},[112,12753,12755,12757,12759],{"class":114,"line":12754},309,[112,12756,2664],{"class":146},[112,12758,5962],{"class":2386},[112,12760,2398],{"class":146},[112,12762,12764,12766,12768],{"class":114,"line":12763},310,[112,12765,2430],{"class":146},[112,12767,6039],{"class":2386},[112,12769,2398],{"class":146},[112,12771,12773,12775,12777,12779,12781],{"class":114,"line":12772},311,[112,12774,2604],{"class":146},[112,12776,6049],{"class":2386},[112,12778,3618],{"class":146},[112,12780,6049],{"class":2386},[112,12782,2398],{"class":146},[112,12784,12786,12788,12790,12792,12794],{"class":114,"line":12785},312,[112,12787,2604],{"class":146},[112,12789,6063],{"class":2386},[112,12791,3618],{"class":146},[112,12793,6063],{"class":2386},[112,12795,2398],{"class":146},[112,12797,12799,12801,12803,12805,12807],{"class":114,"line":12798},313,[112,12800,2604],{"class":146},[112,12802,6077],{"class":2386},[112,12804,3618],{"class":146},[112,12806,6077],{"class":2386},[112,12808,2398],{"class":146},[112,12810,12812,12814,12816],{"class":114,"line":12811},314,[112,12813,2664],{"class":146},[112,12815,6039],{"class":2386},[112,12817,2398],{"class":146},[112,12819,12821,12823,12825],{"class":114,"line":12820},315,[112,12822,2501],{"class":146},[112,12824,5854],{"class":2386},[112,12826,2398],{"class":146},[112,12828,12830,12832,12834],{"class":114,"line":12829},316,[112,12831,2510],{"class":146},[112,12833,2934],{"class":2386},[112,12835,2398],{"class":146},[112,12837,12839,12841,12843],{"class":114,"line":12838},317,[112,12840,2519],{"class":146},[112,12842,2727],{"class":2386},[112,12844,2398],{"class":146},[15,12846,12847],{},[50,12848,2175],{},[15,12850,2178],{},[102,12852,12853],{"className":104,"code":2181,"language":106,"meta":107,"style":107},[109,12854,12855],{"__ignoreMap":107},[112,12856,12857,12859,12861,12863],{"class":114,"line":115},[112,12858,2188],{"class":132},[112,12860,2191],{"class":136},[112,12862,2194],{"class":576},[112,12864,1432],{"class":136},[15,12866,12867],{},[50,12868,2206],{},[15,12870,2209],{},[102,12872,12873],{"className":104,"code":9320,"language":106,"meta":107,"style":107},[109,12874,12875,12881],{"__ignoreMap":107},[112,12876,12877,12879],{"class":114,"line":115},[112,12878,2219],{"class":576},[112,12880,2222],{"class":136},[112,12882,12883,12885,12887,12889],{"class":114,"line":122},[112,12884,263],{"class":132},[112,12886,266],{"class":136},[112,12888,2231],{"class":136},[112,12890,9339],{"class":136},[15,12892,9342],{},[15,12894,12895],{},[200,12896],{"alt":107,"src":12897},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1732.webp",[27,12899,12901],{"id":12900},"igng添加机器人","IgnG添加机器人",[15,12903,12904],{},"Ignition Gazebo中可以直接创建机器人模型，或者也可以加载ROS2中URDF格式的机器人模型，此处我们使用后者（也可以选择用自己的urdf小车，但是注意修改launch的路径）。",[15,12906,12907],{},"我没有用赵虚左老师的mycar_description，用的自己的小车模型，后面的一系列源码都在下方这个Github仓库中，需要的可以自行clone.",[15,12909,12910],{},[55,12911,12912],{"href":12912,"rel":12913},"https:\u002F\u002Fgithub.com\u002Ftungchiahui\u002FROS2_WS\u002Ftree\u002Fmain\u002F6.ws_simulations",[59],[15,12915,12916],{},[50,12917,12918],{},"准备机器人模型功能包",[15,12920,12921],{},"复制机器人描述功能包mycar_description到工作空间的src目录，ign_models中新建mycar_description目录，并将功能包mycar_description下的mesh目录复制进ign_models中的mycar_description目录。",[15,12923,12924],{},[50,12925,12926],{},"机器人模型功能包下新建launch文件",[15,12928,12929],{},"新建launch文件mycar_desc_sim.launch.py，并输入如下内容：",[102,12931,12933],{"className":1547,"code":12932,"language":1549,"meta":107,"style":107},"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",[109,12934,12935,12945,12955,12961,12971,12983,12994,13004,13008,13013,13021,13025,13042,13046,13060,13085,13111,13115,13120,13124,13129,13150,13159,13170,13180,13194,13198,13202,13208,13213,13218],{"__ignoreMap":107},[112,12936,12937,12939,12941,12943],{"class":114,"line":115},[112,12938,1568],{"class":765},[112,12940,1587],{"class":146},[112,12942,1556],{"class":765},[112,12944,1592],{"class":146},[112,12946,12947,12949,12951,12953],{"class":114,"line":122},[112,12948,1568],{"class":765},[112,12950,1662],{"class":146},[112,12952,1556],{"class":765},[112,12954,1667],{"class":146},[112,12956,12957,12959],{"class":114,"line":129},[112,12958,1556],{"class":765},[112,12960,1559],{"class":146},[112,12962,12963,12965,12967,12969],{"class":114,"line":153},[112,12964,1568],{"class":765},[112,12966,1571],{"class":146},[112,12968,1556],{"class":765},[112,12970,1576],{"class":146},[112,12972,12973,12975,12978,12980],{"class":114,"line":158},[112,12974,1568],{"class":765},[112,12976,12977],{"class":146}," launch_ros.parameter_descriptions ",[112,12979,1556],{"class":765},[112,12981,12982],{"class":146}," ParameterValue\n",[112,12984,12985,12987,12989,12991],{"class":114,"line":164},[112,12986,1568],{"class":765},[112,12988,1646],{"class":146},[112,12990,1556],{"class":765},[112,12992,12993],{"class":146}," Command,LaunchConfiguration\n",[112,12995,12996,12998,13000,13002],{"class":114,"line":176},[112,12997,1568],{"class":765},[112,12999,1599],{"class":146},[112,13001,1556],{"class":765},[112,13003,1604],{"class":146},[112,13005,13006],{"class":114,"line":181},[112,13007,119],{"emptyLinePlaceholder":118},[112,13009,13010],{"class":114,"line":187},[112,13011,13012],{"class":125},"#示例： ros2 launch cpp06_urdf display.launch.py model:=`ros2 pkg prefix --share cpp06_urdf`\u002Furdf\u002Furdf\u002Fdemo01_helloworld.urdf\n",[112,13014,13015,13017,13019],{"class":114,"line":434},[112,13016,1677],{"class":765},[112,13018,1680],{"class":132},[112,13020,1683],{"class":146},[112,13022,13023],{"class":114,"line":440},[112,13024,119],{"emptyLinePlaceholder":118},[112,13026,13027,13030,13033,13036,13039],{"class":114,"line":446},[112,13028,13029],{"class":576},"    MYCAR_MODEL",[112,13031,13032],{"class":765}," =",[112,13034,13035],{"class":146}," os.environ[",[112,13037,13038],{"class":136},"'MYCAR_MODEL'",[112,13040,13041],{"class":146},"]\n",[112,13043,13044],{"class":114,"line":452},[112,13045,119],{"emptyLinePlaceholder":118},[112,13047,13048,13051,13053,13055,13058],{"class":114,"line":1674},[112,13049,13050],{"class":146},"    mycar_description ",[112,13052,1697],{"class":765},[112,13054,1700],{"class":146},[112,13056,13057],{"class":136},"\"mycar_description\"",[112,13059,1466],{"class":146},[112,13061,13062,13065,13067,13070,13073,13075,13078,13080,13083],{"class":114,"line":1686},[112,13063,13064],{"class":146},"    default_model_path ",[112,13066,1697],{"class":765},[112,13068,13069],{"class":146}," os.path.join(mycar_description,",[112,13071,13072],{"class":136},"\"urdf\"",[112,13074,1737],{"class":146},[112,13076,13077],{"class":576},"MYCAR_MODEL",[112,13079,1809],{"class":765},[112,13081,13082],{"class":136}," \".urdf\"",[112,13084,1466],{"class":146},[112,13086,13087,13090,13092,13095,13097,13099,13102,13104,13106,13108],{"class":114,"line":1691},[112,13088,13089],{"class":146},"    model ",[112,13091,1697],{"class":765},[112,13093,13094],{"class":146}," DeclareLaunchArgument(",[112,13096,6134],{"class":1788},[112,13098,1697],{"class":765},[112,13100,13101],{"class":136},"\"model\"",[112,13103,1776],{"class":146},[112,13105,2124],{"class":1788},[112,13107,1697],{"class":765},[112,13109,13110],{"class":146},"default_model_path)\n",[112,13112,13113],{"class":114,"line":1708},[112,13114,119],{"emptyLinePlaceholder":118},[112,13116,13117],{"class":114,"line":1723},[112,13118,13119],{"class":125},"    # 加载机器人模型\n",[112,13121,13122],{"class":114,"line":1745},[112,13123,119],{"emptyLinePlaceholder":118},[112,13125,13126],{"class":114,"line":1750},[112,13127,13128],{"class":125},"    # 启动 robot_state_publisher 节点并以参数方式加载 urdf 文件\n",[112,13130,13131,13134,13136,13139,13142,13145,13147],{"class":114,"line":1761},[112,13132,13133],{"class":146},"    robot_description ",[112,13135,1697],{"class":765},[112,13137,13138],{"class":146}," ParameterValue(Command([",[112,13140,13141],{"class":136},"\"xacro \"",[112,13143,13144],{"class":146},",LaunchConfiguration(",[112,13146,13101],{"class":136},[112,13148,13149],{"class":146},")]))\n",[112,13151,13152,13155,13157],{"class":114,"line":1767},[112,13153,13154],{"class":146},"    robot_state_publisher ",[112,13156,1697],{"class":765},[112,13158,1846],{"class":146},[112,13160,13161,13163,13165,13168],{"class":114,"line":1785},[112,13162,1947],{"class":1788},[112,13164,1697],{"class":765},[112,13166,13167],{"class":136},"\"robot_state_publisher\"",[112,13169,1860],{"class":146},[112,13171,13172,13174,13176,13178],{"class":114,"line":1797},[112,13173,1960],{"class":1788},[112,13175,1697],{"class":765},[112,13177,13167],{"class":136},[112,13179,1860],{"class":146},[112,13181,13182,13184,13186,13188,13191],{"class":114,"line":1815},[112,13183,2010],{"class":1788},[112,13185,1697],{"class":765},[112,13187,2015],{"class":146},[112,13189,13190],{"class":136},"\"robot_description\"",[112,13192,13193],{"class":146},": robot_description}]\n",[112,13195,13196],{"class":114,"line":1821},[112,13197,1824],{"class":146},[112,13199,13200],{"class":114,"line":1827},[112,13201,119],{"emptyLinePlaceholder":118},[112,13203,13204,13206],{"class":114,"line":1832},[112,13205,2102],{"class":765},[112,13207,2105],{"class":146},[112,13209,13210],{"class":114,"line":1838},[112,13211,13212],{"class":146},"        model,\n",[112,13214,13215],{"class":114,"line":1849},[112,13216,13217],{"class":146},"        robot_state_publisher,\n",[112,13219,13220],{"class":114,"line":1863},[112,13221,2162],{"class":146},[15,13223,13224],{},"较之于以往该文件缺少了joint_state_publisher节点，该节点作用是发布活动关节状态，这一功能后续由ignition实现。",[15,13226,13227],{},[50,13228,13229],{},"添加机器人模型",[15,13231,13232],{},"修改gazebo_sim_world.launch.py文件，包含机器人模型的发布文件并在Gazebo中生成机器人模型，修改后的代码如下：",[102,13234,13236],{"className":1547,"code":13235,"language":1549,"meta":107,"style":107},"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",[109,13237,13238,13244,13248,13258,13262,13272,13282,13292,13302,13306,13314,13318,13331,13344,13357,13373,13377,13385,13389,13403,13411,13425,13429,13433,13442,13446,13460,13465,13469,13498,13507,13519,13531,13546,13557,13570,13582,13586,13592,13596,13601,13606],{"__ignoreMap":107},[112,13239,13240,13242],{"class":114,"line":115},[112,13241,1556],{"class":765},[112,13243,1559],{"class":146},[112,13245,13246],{"class":114,"line":122},[112,13247,119],{"emptyLinePlaceholder":118},[112,13249,13250,13252,13254,13256],{"class":114,"line":129},[112,13251,1568],{"class":765},[112,13253,1571],{"class":146},[112,13255,1556],{"class":765},[112,13257,1576],{"class":146},[112,13259,13260],{"class":114,"line":153},[112,13261,119],{"emptyLinePlaceholder":118},[112,13263,13264,13266,13268,13270],{"class":114,"line":158},[112,13265,1568],{"class":765},[112,13267,1587],{"class":146},[112,13269,1556],{"class":765},[112,13271,1592],{"class":146},[112,13273,13274,13276,13278,13280],{"class":114,"line":164},[112,13275,1568],{"class":765},[112,13277,1599],{"class":146},[112,13279,1556],{"class":765},[112,13281,1615],{"class":146},[112,13283,13284,13286,13288,13290],{"class":114,"line":176},[112,13285,1568],{"class":765},[112,13287,1634],{"class":146},[112,13289,1556],{"class":765},[112,13291,1639],{"class":146},[112,13293,13294,13296,13298,13300],{"class":114,"line":181},[112,13295,1568],{"class":765},[112,13297,1662],{"class":146},[112,13299,1556],{"class":765},[112,13301,1667],{"class":146},[112,13303,13304],{"class":114,"line":187},[112,13305,119],{"emptyLinePlaceholder":118},[112,13307,13308,13310,13312],{"class":114,"line":434},[112,13309,1677],{"class":765},[112,13311,1680],{"class":132},[112,13313,1683],{"class":146},[112,13315,13316],{"class":114,"line":440},[112,13317,119],{"emptyLinePlaceholder":118},[112,13319,13320,13322,13324,13326,13329],{"class":114,"line":446},[112,13321,1694],{"class":146},[112,13323,1697],{"class":765},[112,13325,1700],{"class":146},[112,13327,13328],{"class":136},"\"demo_gazebo_sim\"",[112,13330,1466],{"class":146},[112,13332,13333,13336,13338,13340,13342],{"class":114,"line":452},[112,13334,13335],{"class":146},"    mycar_desc_pkg ",[112,13337,1697],{"class":765},[112,13339,1700],{"class":146},[112,13341,13057],{"class":136},[112,13343,1466],{"class":146},[112,13345,13346,13348,13350,13352,13355],{"class":114,"line":1674},[112,13347,1711],{"class":146},[112,13349,1697],{"class":765},[112,13351,1700],{"class":146},[112,13353,13354],{"class":136},"\"ros_gz_sim\"",[112,13356,1466],{"class":146},[112,13358,13359,13361,13363,13365,13367,13369,13371],{"class":114,"line":1686},[112,13360,1726],{"class":146},[112,13362,1697],{"class":765},[112,13364,1731],{"class":146},[112,13366,9211],{"class":136},[112,13368,1737],{"class":146},[112,13370,9216],{"class":136},[112,13372,1466],{"class":146},[112,13374,13375],{"class":114,"line":1691},[112,13376,119],{"emptyLinePlaceholder":118},[112,13378,13379,13381,13383],{"class":114,"line":1708},[112,13380,1753],{"class":146},[112,13382,1697],{"class":765},[112,13384,1758],{"class":146},[112,13386,13387],{"class":114,"line":1723},[112,13388,1764],{"class":146},[112,13390,13391,13393,13396,13398,13401],{"class":114,"line":1745},[112,13392,1770],{"class":146},[112,13394,13395],{"class":136},"\"launch\"",[112,13397,1776],{"class":146},[112,13399,13400],{"class":136},"\"gz_sim.launch.py\"",[112,13402,1782],{"class":146},[112,13404,13405,13407,13409],{"class":114,"line":1750},[112,13406,1789],{"class":1788},[112,13408,1697],{"class":765},[112,13410,1794],{"class":146},[112,13412,13413,13416,13418,13421,13423],{"class":114,"line":1761},[112,13414,13415],{"class":136},"            \"gz_args\"",[112,13417,1803],{"class":146},[112,13419,13420],{"class":136},"\"-r \"",[112,13422,1809],{"class":765},[112,13424,1812],{"class":146},[112,13426,13427],{"class":114,"line":1767},[112,13428,1818],{"class":146},[112,13430,13431],{"class":114,"line":1785},[112,13432,1824],{"class":146},[112,13434,13435,13438,13440],{"class":114,"line":1797},[112,13436,13437],{"class":146},"    mycar_desc ",[112,13439,1697],{"class":765},[112,13441,1758],{"class":146},[112,13443,13444],{"class":114,"line":1815},[112,13445,1764],{"class":146},[112,13447,13448,13451,13453,13455,13458],{"class":114,"line":1821},[112,13449,13450],{"class":146},"            os.path.join(mycar_desc_pkg,",[112,13452,13395],{"class":136},[112,13454,1737],{"class":146},[112,13456,13457],{"class":136},"\"mycar_desc_sim.launch.py\"",[112,13459,1466],{"class":146},[112,13461,13462],{"class":114,"line":1827},[112,13463,13464],{"class":146},"        )\n",[112,13466,13467],{"class":114,"line":1832},[112,13468,1824],{"class":146},[112,13470,13471,13474,13476,13479,13482,13484,13486,13488,13491,13493,13496],{"class":114,"line":1838},[112,13472,13473],{"class":146},"    spawn ",[112,13475,1697],{"class":765},[112,13477,13478],{"class":146}," Node(",[112,13480,13481],{"class":1788},"package",[112,13483,1697],{"class":765},[112,13485,13354],{"class":136},[112,13487,1776],{"class":146},[112,13489,13490],{"class":1788},"executable",[112,13492,1697],{"class":765},[112,13494,13495],{"class":136},"\"create\"",[112,13497,1860],{"class":146},[112,13499,13500,13503,13505],{"class":114,"line":1849},[112,13501,13502],{"class":1788},"                arguments",[112,13504,1697],{"class":765},[112,13506,2037],{"class":146},[112,13508,13509,13512,13514,13517],{"class":114,"line":1863},[112,13510,13511],{"class":136},"                \"-name\"",[112,13513,1776],{"class":146},[112,13515,13516],{"class":136},"\"mycar\"",[112,13518,1860],{"class":146},[112,13520,13521,13524,13526,13529],{"class":114,"line":1875},[112,13522,13523],{"class":136},"                \"-x\"",[112,13525,1776],{"class":146},[112,13527,13528],{"class":136},"\"0\"",[112,13530,1860],{"class":146},[112,13532,13533,13536,13538,13541,13543],{"class":114,"line":1902},[112,13534,13535],{"class":136},"                \"-z\"",[112,13537,1776],{"class":146},[112,13539,13540],{"class":136},"\"0.01\"",[112,13542,1776],{"class":146},[112,13544,13545],{"class":125},"#设置为0,可能会陷进地里\n",[112,13547,13548,13551,13553,13555],{"class":114,"line":1918},[112,13549,13550],{"class":136},"                \"-y\"",[112,13552,1776],{"class":146},[112,13554,13528],{"class":136},[112,13556,1860],{"class":146},[112,13558,13559,13562,13564,13567],{"class":114,"line":1923},[112,13560,13561],{"class":136},"                \"-topic\"",[112,13563,1776],{"class":146},[112,13565,13566],{"class":136},"\"\u002Frobot_description\"",[112,13568,13569],{"class":146},"],\n",[112,13571,13572,13575,13577,13580],{"class":114,"line":1928},[112,13573,13574],{"class":1788},"            output",[112,13576,1697],{"class":765},[112,13578,13579],{"class":136},"\"screen\"",[112,13581,1466],{"class":146},[112,13583,13584],{"class":114,"line":1934},[112,13585,119],{"emptyLinePlaceholder":118},[112,13587,13588,13590],{"class":114,"line":1944},[112,13589,2102],{"class":765},[112,13591,2105],{"class":146},[112,13593,13594],{"class":114,"line":1957},[112,13595,2111],{"class":146},[112,13597,13598],{"class":114,"line":1970},[112,13599,13600],{"class":146},"        spawn,\n",[112,13602,13603],{"class":114,"line":1985},[112,13604,13605],{"class":146},"        mycar_desc,\n",[112,13607,13608],{"class":114,"line":1993},[112,13609,2162],{"class":146},[15,13611,13612],{},[50,13613,2175],{},[15,13615,2178],{},[102,13617,13619],{"className":104,"code":13618,"language":106,"meta":107,"style":107},"colcon build --packages-select mycar_description demo_gazebo_sim\n",[109,13620,13621],{"__ignoreMap":107},[112,13622,13623,13625,13627,13630,13633],{"class":114,"line":115},[112,13624,2188],{"class":132},[112,13626,2191],{"class":136},[112,13628,13629],{"class":576}," --packages-select",[112,13631,13632],{"class":136}," mycar_description",[112,13634,1432],{"class":136},[15,13636,13637],{},[50,13638,2206],{},[15,13640,13641],{},"终端中进入当前工作空间，调用如下指令执行launch文件：（执行起来有问题的话，你只要学过urdf怎么跑，应该拥有自我寻找错误的能力了，自己找吧）",[102,13643,13645],{"className":104,"code":13644,"language":106,"meta":107,"style":107},". 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",[109,13646,13647,13653,13657,13662,13674],{"__ignoreMap":107},[112,13648,13649,13651],{"class":114,"line":115},[112,13650,2219],{"class":576},[112,13652,2222],{"class":136},[112,13654,13655],{"class":114,"line":122},[112,13656,119],{"emptyLinePlaceholder":118},[112,13658,13659],{"class":114,"line":129},[112,13660,13661],{"class":125},"# MYCAR_MODEL值可以设置为arduino、stm32_2w 或stm32_4w（这个是具体的urdf文件名，在mycar_description包下的）\n",[112,13663,13664,13666,13669,13671],{"class":114,"line":153},[112,13665,9406],{"class":765},[112,13667,13668],{"class":146}," MYCAR_MODEL",[112,13670,1697],{"class":765},[112,13672,13673],{"class":146},"stm32_4w\n",[112,13675,13676,13678,13680,13682],{"class":114,"line":158},[112,13677,263],{"class":132},[112,13679,266],{"class":136},[112,13681,2231],{"class":136},[112,13683,9339],{"class":136},[15,13685,9342],{},[15,13687,13688],{},[200,13689],{"alt":107,"src":13690},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1733.webp",[27,13692,13694,13695],{"id":13693},"igng运动控制器实质上就是标签","   IgnG运动控制器(实质上就是",[13696,13697,13698],"gazebo",{},"标签)",[15,13700,13701],{},"本节将介绍如何让你的机器人动起来。",[15,13703,13704,13705],{},"原理就是给urdf或xacro等添加",[13696,13706,13707],{},"标签：",[15,13709,13710],{},[55,13711,13712],{"href":13712,"rel":13713},"http:\u002F\u002Fsdformat.org\u002Ftutorials?tut=sdformat_urdf_extensions&cat=specification&",[59],[15,13715,13716],{},[200,13717],{"alt":107,"src":13718},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1734.webp",[15,13720,13721],{},[55,13722,13723],{"href":13723,"rel":13724},"https:\u002F\u002Fgazebosim.org\u002Fapi\u002Fplugin\u002F2\u002Findex.html",[59],[15,13726,13727],{},"安装库：",[15,13729,13730],{},[55,13731,13732],{"href":13732,"rel":13733},"https:\u002F\u002Fgazebosim.org\u002Fapi\u002Fplugin\u002F2\u002Finstallation.html",[59],[102,13735,13737],{"className":104,"code":13736,"language":106,"meta":107,"style":107},"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",[109,13738,13739,13749,13760,13773,13802,13810],{"__ignoreMap":107},[112,13740,13741,13743,13746],{"class":114,"line":115},[112,13742,133],{"class":132},[112,13744,13745],{"class":136}," apt-get",[112,13747,13748],{"class":136}," update\n",[112,13750,13751,13753,13755,13757],{"class":114,"line":122},[112,13752,133],{"class":132},[112,13754,13745],{"class":136},[112,13756,140],{"class":136},[112,13758,13759],{"class":136}," lsb-release\n",[112,13761,13762,13764,13767,13770],{"class":114,"line":129},[112,13763,133],{"class":132},[112,13765,13766],{"class":136}," sh",[112,13768,13769],{"class":576}," -c",[112,13771,13772],{"class":136}," 'echo \"deb http:\u002F\u002Fpackages.osrfoundation.org\u002Fgazebo\u002Fubuntu-stable `lsb_release -cs` main\" > \u002Fetc\u002Fapt\u002Fsources.list.d\u002Fgazebo-stable.list'\n",[112,13774,13775,13778,13781,13784,13787,13790,13793,13796,13799],{"class":114,"line":153},[112,13776,13777],{"class":132},"wget",[112,13779,13780],{"class":136}," http:\u002F\u002Fpackages.osrfoundation.org\u002Fgazebo.key",[112,13782,13783],{"class":576}," -O",[112,13785,13786],{"class":136}," -",[112,13788,13789],{"class":765}," |",[112,13791,13792],{"class":132}," sudo",[112,13794,13795],{"class":136}," apt-key",[112,13797,13798],{"class":136}," add",[112,13800,13801],{"class":136}," -\n",[112,13803,13804,13806,13808],{"class":114,"line":158},[112,13805,133],{"class":132},[112,13807,13745],{"class":136},[112,13809,13748],{"class":136},[112,13811,13812,13814,13816,13818],{"class":114,"line":164},[112,13813,133],{"class":132},[112,13815,137],{"class":136},[112,13817,140],{"class":136},[112,13819,13820],{"class":136}," libgz-plugin2-dev\n",[15,13822,13823],{},"利用插件去让小车动，比如有两轮差速插件，四轮麦轮插件等等",[15,13825,13826],{},"同时该插件还提供了一些可以控制输出的选项，因为是仿真，所以还要告诉插件轮子对应的joint名称等信息，这样就有了下面这个参数表格：",[918,13828,13829,13839],{},[921,13830,13831],{},[924,13832,13833,13836],{},[927,13834,13835],{"align":929},"配置项",[927,13837,13838],{"align":929},"含义",[935,13840,13841,13849,13857,13865,13873,13881,13889,13897,13905,13913,13921,13929,13937],{},[924,13842,13843,13846],{},[940,13844,13845],{"align":929},"ros",[940,13847,13848],{"align":929},"ros相关配置，包含命名空间和话题重映射等",[924,13850,13851,13854],{},[940,13852,13853],{"align":929},"update_rate",[940,13855,13856],{"align":929},"数据更新速率",[924,13858,13859,13862],{},[940,13860,13861],{"align":929},"left_joint",[940,13863,13864],{"align":929},"左轮关节名称",[924,13866,13867,13870],{},[940,13868,13869],{"align":929},"right_joint",[940,13871,13872],{"align":929},"右轮关节名称",[924,13874,13875,13878],{},[940,13876,13877],{"align":929},"wheel_separation",[940,13879,13880],{"align":929},"左右轮子的间距",[924,13882,13883,13886],{},[940,13884,13885],{"align":929},"wheel_diameter",[940,13887,13888],{"align":929},"轮子的直径",[924,13890,13891,13894],{},[940,13892,13893],{"align":929},"max_wheel_torque",[940,13895,13896],{"align":929},"轮子最大的力矩",[924,13898,13899,13902],{},[940,13900,13901],{"align":929},"max_wheel_acceleration",[940,13903,13904],{"align":929},"轮子最大的加速度",[924,13906,13907,13910],{},[940,13908,13909],{"align":929},"publish_odom",[940,13911,13912],{"align":929},"是否发布里程计",[924,13914,13915,13918],{},[940,13916,13917],{"align":929},"publish_odom_tf",[940,13919,13920],{"align":929},"是否发布里程计的tf开关",[924,13922,13923,13926],{},[940,13924,13925],{"align":929},"publish_wheel_tf",[940,13927,13928],{"align":929},"是否发布轮子的tf数据开关",[924,13930,13931,13934],{},[940,13932,13933],{"align":929},"odometry_frame",[940,13935,13936],{"align":929},"里程计的framed ID，最终体现在话题和TF上",[924,13938,13939,13942],{},[940,13940,13941],{"align":929},"robot_base_frame",[940,13943,13944],{"align":929},"机器人的基础frame的ID",[15,13946,13947],{},[50,13948,13949],{},"修改URDF文件",[15,13951,13952,13953,13956],{},"arduino.urdf 和 stm32_2w.urdf 文件中，在",[109,13954,13955],{},"\u003Crobot>","根标签下添加如下代码：",[102,13958,13960],{"className":2374,"code":13959,"language":2376,"meta":107,"style":107},"\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",[109,13961,13962,13966,13974,13987,13999,14012,14025,14038,14052,14066,14080,14094,14108,14121,14135,14148,14161,14175,14189,14202,14216,14224,14228,14236,14240,14248,14261,14273,14281],{"__ignoreMap":107},[112,13963,13964],{"class":114,"line":115},[112,13965,119],{"emptyLinePlaceholder":118},[112,13967,13968,13970,13972],{"class":114,"line":122},[112,13969,2403],{"class":146},[112,13971,13696],{"class":2386},[112,13973,2398],{"class":146},[112,13975,13976,13978,13980,13982,13984],{"class":114,"line":129},[112,13977,2430],{"class":146},[112,13979,3024],{"class":2386},[112,13981,3034],{"class":132},[112,13983,1697],{"class":146},[112,13985,13986],{"class":136},"\"libignition-gazebo-diff-drive-system.so\"\n",[112,13988,13989,13992,13994,13997],{"class":114,"line":153},[112,13990,13991],{"class":132},"        name",[112,13993,1697],{"class":146},[112,13995,13996],{"class":136},"\"ignition::gazebo::systems::DiffDrive\"",[112,13998,2398],{"class":146},[112,14000,14001,14003,14005,14008,14010],{"class":114,"line":158},[112,14002,2604],{"class":146},[112,14004,13861],{"class":2386},[112,14006,14007],{"class":146},">left_joint\u003C\u002F",[112,14009,13861],{"class":2386},[112,14011,2398],{"class":146},[112,14013,14014,14016,14018,14021,14023],{"class":114,"line":164},[112,14015,2604],{"class":146},[112,14017,13869],{"class":2386},[112,14019,14020],{"class":146},">right_joint\u003C\u002F",[112,14022,13869],{"class":2386},[112,14024,2398],{"class":146},[112,14026,14027,14029,14031,14034,14036],{"class":114,"line":176},[112,14028,2604],{"class":146},[112,14030,13877],{"class":2386},[112,14032,14033],{"class":146},">0.2097\u003C\u002F",[112,14035,13877],{"class":2386},[112,14037,2398],{"class":146},[112,14039,14040,14042,14045,14048,14050],{"class":114,"line":181},[112,14041,2604],{"class":146},[112,14043,14044],{"class":2386},"wheel_radius",[112,14046,14047],{"class":146},">0.03415\u003C\u002F",[112,14049,14044],{"class":2386},[112,14051,2398],{"class":146},[112,14053,14054,14056,14059,14062,14064],{"class":114,"line":187},[112,14055,2604],{"class":146},[112,14057,14058],{"class":2386},"odom_publish_frequency",[112,14060,14061],{"class":146},">10\u003C\u002F",[112,14063,14058],{"class":2386},[112,14065,2398],{"class":146},[112,14067,14068,14070,14073,14076,14078],{"class":114,"line":434},[112,14069,2604],{"class":146},[112,14071,14072],{"class":2386},"frame_id",[112,14074,14075],{"class":146},">odom\u003C\u002F",[112,14077,14072],{"class":2386},[112,14079,2398],{"class":146},[112,14081,14082,14084,14087,14090,14092],{"class":114,"line":440},[112,14083,2604],{"class":146},[112,14085,14086],{"class":2386},"child_frame_id",[112,14088,14089],{"class":146},">base_footprint\u003C\u002F",[112,14091,14086],{"class":2386},[112,14093,2398],{"class":146},[112,14095,14096,14098,14101,14104,14106],{"class":114,"line":446},[112,14097,2604],{"class":146},[112,14099,14100],{"class":2386},"topic",[112,14102,14103],{"class":146},">\u002Fcmd_vel\u003C\u002F",[112,14105,14100],{"class":2386},[112,14107,2398],{"class":146},[112,14109,14110,14112,14115,14117,14119],{"class":114,"line":452},[112,14111,2604],{"class":146},[112,14113,14114],{"class":2386},"max_linear_acceleration",[112,14116,14061],{"class":146},[112,14118,14114],{"class":2386},[112,14120,2398],{"class":146},[112,14122,14123,14125,14128,14131,14133],{"class":114,"line":1674},[112,14124,2604],{"class":146},[112,14126,14127],{"class":2386},"min_linear_acceleration",[112,14129,14130],{"class":146},">-10\u003C\u002F",[112,14132,14127],{"class":2386},[112,14134,2398],{"class":146},[112,14136,14137,14139,14142,14144,14146],{"class":114,"line":1686},[112,14138,2604],{"class":146},[112,14140,14141],{"class":2386},"max_angular_acceleration",[112,14143,14061],{"class":146},[112,14145,14141],{"class":2386},[112,14147,2398],{"class":146},[112,14149,14150,14152,14155,14157,14159],{"class":114,"line":1691},[112,14151,2604],{"class":146},[112,14153,14154],{"class":2386},"min_angular_acceleration",[112,14156,14130],{"class":146},[112,14158,14154],{"class":2386},[112,14160,2398],{"class":146},[112,14162,14163,14165,14168,14171,14173],{"class":114,"line":1708},[112,14164,2604],{"class":146},[112,14166,14167],{"class":2386},"max_linear_velocity",[112,14169,14170],{"class":146},">0.5\u003C\u002F",[112,14172,14167],{"class":2386},[112,14174,2398],{"class":146},[112,14176,14177,14179,14182,14185,14187],{"class":114,"line":1723},[112,14178,2604],{"class":146},[112,14180,14181],{"class":2386},"min_linear_velocity",[112,14183,14184],{"class":146},">-0.5\u003C\u002F",[112,14186,14181],{"class":2386},[112,14188,2398],{"class":146},[112,14190,14191,14193,14196,14198,14200],{"class":114,"line":1745},[112,14192,2604],{"class":146},[112,14194,14195],{"class":2386},"max_angular_velocity",[112,14197,2991],{"class":146},[112,14199,14195],{"class":2386},[112,14201,2398],{"class":146},[112,14203,14204,14206,14209,14212,14214],{"class":114,"line":1750},[112,14205,2604],{"class":146},[112,14207,14208],{"class":2386},"min_angular_velocity",[112,14210,14211],{"class":146},">-1\u003C\u002F",[112,14213,14208],{"class":2386},[112,14215,2398],{"class":146},[112,14217,14218,14220,14222],{"class":114,"line":1761},[112,14219,2664],{"class":146},[112,14221,3024],{"class":2386},[112,14223,2398],{"class":146},[112,14225,14226],{"class":114,"line":1767},[112,14227,119],{"emptyLinePlaceholder":118},[112,14229,14230,14232,14234],{"class":114,"line":1785},[112,14231,2510],{"class":146},[112,14233,13696],{"class":2386},[112,14235,2398],{"class":146},[112,14237,14238],{"class":114,"line":1797},[112,14239,119],{"emptyLinePlaceholder":118},[112,14241,14242,14244,14246],{"class":114,"line":1815},[112,14243,2403],{"class":146},[112,14245,13696],{"class":2386},[112,14247,2398],{"class":146},[112,14249,14250,14252,14254,14256,14258],{"class":114,"line":1821},[112,14251,2420],{"class":146},[112,14253,3024],{"class":2386},[112,14255,3034],{"class":132},[112,14257,1697],{"class":146},[112,14259,14260],{"class":136},"\"ignition-gazebo-joint-state-publisher-system\"\n",[112,14262,14263,14266,14268,14271],{"class":114,"line":1827},[112,14264,14265],{"class":132},"      name",[112,14267,1697],{"class":146},[112,14269,14270],{"class":136},"\"ignition::gazebo::systems::JointStatePublisher\"",[112,14272,2398],{"class":146},[112,14274,14275,14277,14279],{"class":114,"line":1832},[112,14276,2501],{"class":146},[112,14278,3024],{"class":2386},[112,14280,2398],{"class":146},[112,14282,14283,14285,14287],{"class":114,"line":1838},[112,14284,2510],{"class":146},[112,14286,13696],{"class":2386},[112,14288,2398],{"class":146},[15,14290,14291,14292,13956],{},"stm32_4w.urdf 文件中，在",[109,14293,13955],{},[102,14295,14297],{"className":2374,"code":14296,"language":2376,"meta":107,"style":107},"\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",[109,14298,14299,14303,14311,14318,14328,14338,14351,14364,14377,14390,14403,14416,14429,14441,14453,14465,14477,14489,14501,14513,14525,14537,14549,14561,14569,14577,14581,14589,14601,14611,14619],{"__ignoreMap":107},[112,14300,14301],{"class":114,"line":115},[112,14302,119],{"emptyLinePlaceholder":118},[112,14304,14305,14307,14309],{"class":114,"line":122},[112,14306,2383],{"class":146},[112,14308,13696],{"class":2386},[112,14310,2398],{"class":146},[112,14312,14313,14315],{"class":114,"line":129},[112,14314,2420],{"class":146},[112,14316,14317],{"class":2386},"plugin\n",[112,14319,14320,14323,14325],{"class":114,"line":153},[112,14321,14322],{"class":132},"        filename",[112,14324,1697],{"class":146},[112,14326,14327],{"class":136},"\"ignition-gazebo-diff-drive-system\"\n",[112,14329,14330,14332,14334,14336],{"class":114,"line":158},[112,14331,13991],{"class":132},[112,14333,1697],{"class":146},[112,14335,13996],{"class":136},[112,14337,2398],{"class":146},[112,14339,14340,14342,14344,14347,14349],{"class":114,"line":164},[112,14341,2604],{"class":146},[112,14343,13861],{"class":2386},[112,14345,14346],{"class":146},">left_former_joint\u003C\u002F",[112,14348,13861],{"class":2386},[112,14350,2398],{"class":146},[112,14352,14353,14355,14357,14360,14362],{"class":114,"line":176},[112,14354,2604],{"class":146},[112,14356,13861],{"class":2386},[112,14358,14359],{"class":146},">left_rear_joint\u003C\u002F",[112,14361,13861],{"class":2386},[112,14363,2398],{"class":146},[112,14365,14366,14368,14370,14373,14375],{"class":114,"line":181},[112,14367,2604],{"class":146},[112,14369,13869],{"class":2386},[112,14371,14372],{"class":146},">right_former_joint\u003C\u002F",[112,14374,13869],{"class":2386},[112,14376,2398],{"class":146},[112,14378,14379,14381,14383,14386,14388],{"class":114,"line":187},[112,14380,2604],{"class":146},[112,14382,13869],{"class":2386},[112,14384,14385],{"class":146},">right_rear_joint\u003C\u002F",[112,14387,13869],{"class":2386},[112,14389,2398],{"class":146},[112,14391,14392,14394,14396,14399,14401],{"class":114,"line":434},[112,14393,2604],{"class":146},[112,14395,13877],{"class":2386},[112,14397,14398],{"class":146},">0.4\u003C\u002F",[112,14400,13877],{"class":2386},[112,14402,2398],{"class":146},[112,14404,14405,14407,14409,14412,14414],{"class":114,"line":440},[112,14406,2604],{"class":146},[112,14408,14044],{"class":2386},[112,14410,14411],{"class":146},">0.0415\u003C\u002F",[112,14413,14044],{"class":2386},[112,14415,2398],{"class":146},[112,14417,14418,14420,14422,14425,14427],{"class":114,"line":446},[112,14419,2604],{"class":146},[112,14421,14058],{"class":2386},[112,14423,14424],{"class":146},">50\u003C\u002F",[112,14426,14058],{"class":2386},[112,14428,2398],{"class":146},[112,14430,14431,14433,14435,14437,14439],{"class":114,"line":452},[112,14432,2604],{"class":146},[112,14434,14072],{"class":2386},[112,14436,14075],{"class":146},[112,14438,14072],{"class":2386},[112,14440,2398],{"class":146},[112,14442,14443,14445,14447,14449,14451],{"class":114,"line":1674},[112,14444,2604],{"class":146},[112,14446,14086],{"class":2386},[112,14448,14089],{"class":146},[112,14450,14086],{"class":2386},[112,14452,2398],{"class":146},[112,14454,14455,14457,14459,14461,14463],{"class":114,"line":1686},[112,14456,2604],{"class":146},[112,14458,14100],{"class":2386},[112,14460,14103],{"class":146},[112,14462,14100],{"class":2386},[112,14464,2398],{"class":146},[112,14466,14467,14469,14471,14473,14475],{"class":114,"line":1691},[112,14468,2604],{"class":146},[112,14470,14114],{"class":2386},[112,14472,14061],{"class":146},[112,14474,14114],{"class":2386},[112,14476,2398],{"class":146},[112,14478,14479,14481,14483,14485,14487],{"class":114,"line":1708},[112,14480,2604],{"class":146},[112,14482,14127],{"class":2386},[112,14484,14130],{"class":146},[112,14486,14127],{"class":2386},[112,14488,2398],{"class":146},[112,14490,14491,14493,14495,14497,14499],{"class":114,"line":1723},[112,14492,2604],{"class":146},[112,14494,14141],{"class":2386},[112,14496,14061],{"class":146},[112,14498,14141],{"class":2386},[112,14500,2398],{"class":146},[112,14502,14503,14505,14507,14509,14511],{"class":114,"line":1745},[112,14504,2604],{"class":146},[112,14506,14154],{"class":2386},[112,14508,14130],{"class":146},[112,14510,14154],{"class":2386},[112,14512,2398],{"class":146},[112,14514,14515,14517,14519,14521,14523],{"class":114,"line":1750},[112,14516,2604],{"class":146},[112,14518,14167],{"class":2386},[112,14520,14170],{"class":146},[112,14522,14167],{"class":2386},[112,14524,2398],{"class":146},[112,14526,14527,14529,14531,14533,14535],{"class":114,"line":1761},[112,14528,2604],{"class":146},[112,14530,14181],{"class":2386},[112,14532,14184],{"class":146},[112,14534,14181],{"class":2386},[112,14536,2398],{"class":146},[112,14538,14539,14541,14543,14545,14547],{"class":114,"line":1767},[112,14540,2604],{"class":146},[112,14542,14195],{"class":2386},[112,14544,2991],{"class":146},[112,14546,14195],{"class":2386},[112,14548,2398],{"class":146},[112,14550,14551,14553,14555,14557,14559],{"class":114,"line":1785},[112,14552,2604],{"class":146},[112,14554,14208],{"class":2386},[112,14556,14211],{"class":146},[112,14558,14208],{"class":2386},[112,14560,2398],{"class":146},[112,14562,14563,14565,14567],{"class":114,"line":1797},[112,14564,2664],{"class":146},[112,14566,3024],{"class":2386},[112,14568,2398],{"class":146},[112,14570,14571,14573,14575],{"class":114,"line":1815},[112,14572,2510],{"class":146},[112,14574,13696],{"class":2386},[112,14576,2398],{"class":146},[112,14578,14579],{"class":114,"line":1821},[112,14580,119],{"emptyLinePlaceholder":118},[112,14582,14583,14585,14587],{"class":114,"line":1827},[112,14584,2403],{"class":146},[112,14586,13696],{"class":2386},[112,14588,2398],{"class":146},[112,14590,14591,14593,14595,14597,14599],{"class":114,"line":1832},[112,14592,2420],{"class":146},[112,14594,3024],{"class":2386},[112,14596,3034],{"class":132},[112,14598,1697],{"class":146},[112,14600,14260],{"class":136},[112,14602,14603,14605,14607,14609],{"class":114,"line":1838},[112,14604,14265],{"class":132},[112,14606,1697],{"class":146},[112,14608,14270],{"class":136},[112,14610,2398],{"class":146},[112,14612,14613,14615,14617],{"class":114,"line":1849},[112,14614,2501],{"class":146},[112,14616,3024],{"class":2386},[112,14618,2398],{"class":146},[112,14620,14621,14623,14625],{"class":114,"line":1863},[112,14622,2510],{"class":146},[112,14624,13696],{"class":2386},[112,14626,2398],{"class":146},[15,14628,14629],{},"如果是麦轮（ROS1的，ROS2的待更新）（把轮子关节设置为自己轮子关节名即可）：",[102,14631,14633],{"className":2374,"code":14632,"language":2376,"meta":107,"style":107},"\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",[109,14634,14635,14656,14660,14682,14686,14702,14716,14732,14747,14755,14771,14783,14796,14804,14812,14820,14824,14841,14856,14871,14886,14890,14898,14920,14934,14947,14960,14974,14988,15002,15016,15029,15042,15055,15063,15071,15075],{"__ignoreMap":107},[112,14636,14637,14639,14641,14643,14645,14647,14649,14651,14654],{"class":114,"line":115},[112,14638,2383],{"class":146},[112,14640,2387],{"class":2386},[112,14642,2390],{"class":132},[112,14644,1697],{"class":146},[112,14646,13516],{"class":136},[112,14648,2541],{"class":132},[112,14650,1697],{"class":146},[112,14652,14653],{"class":136},"\"http:\u002F\u002Fwiki.ros.org\u002Fxacro\"",[112,14655,2398],{"class":146},[112,14657,14658],{"class":114,"line":122},[112,14659,119],{"emptyLinePlaceholder":118},[112,14661,14662,14664,14666,14668,14670,14673,14675,14677,14680],{"class":114,"line":129},[112,14663,2420],{"class":146},[112,14665,2561],{"class":2386},[112,14667,2390],{"class":132},[112,14669,1697],{"class":146},[112,14671,14672],{"class":136},"\"joint_trans\"",[112,14674,2570],{"class":132},[112,14676,1697],{"class":146},[112,14678,14679],{"class":136},"\"joint_name\"",[112,14681,2398],{"class":146},[112,14683,14684],{"class":114,"line":153},[112,14685,119],{"emptyLinePlaceholder":118},[112,14687,14688,14690,14693,14695,14697,14700],{"class":114,"line":158},[112,14689,2604],{"class":146},[112,14691,14692],{"class":2386},"transmission",[112,14694,2390],{"class":132},[112,14696,1697],{"class":146},[112,14698,14699],{"class":136},"\"${joint_name}_trans\"",[112,14701,2398],{"class":146},[112,14703,14704,14706,14709,14712,14714],{"class":114,"line":164},[112,14705,3284],{"class":146},[112,14707,14708],{"class":2386},"type",[112,14710,14711],{"class":146},">transmission_interface\u002FSimpleTransmission\u003C\u002F",[112,14713,14708],{"class":2386},[112,14715,2398],{"class":146},[112,14717,14718,14720,14723,14725,14727,14730],{"class":114,"line":176},[112,14719,3284],{"class":146},[112,14721,14722],{"class":2386},"joint",[112,14724,2390],{"class":132},[112,14726,1697],{"class":146},[112,14728,14729],{"class":136},"\"${joint_name}\"",[112,14731,2398],{"class":146},[112,14733,14734,14737,14740,14743,14745],{"class":114,"line":181},[112,14735,14736],{"class":146},"                \u003C",[112,14738,14739],{"class":2386},"hardwareInterface",[112,14741,14742],{"class":146},">hardware_interface\u002FVelocityJointInterface\u003C\u002F",[112,14744,14739],{"class":2386},[112,14746,2398],{"class":146},[112,14748,14749,14751,14753],{"class":114,"line":187},[112,14750,3323],{"class":146},[112,14752,14722],{"class":2386},[112,14754,2398],{"class":146},[112,14756,14757,14759,14762,14764,14766,14769],{"class":114,"line":434},[112,14758,3284],{"class":146},[112,14760,14761],{"class":2386},"actuator",[112,14763,2390],{"class":132},[112,14765,1697],{"class":146},[112,14767,14768],{"class":136},"\"${joint_name}_motor\"",[112,14770,2398],{"class":146},[112,14772,14773,14775,14777,14779,14781],{"class":114,"line":440},[112,14774,14736],{"class":146},[112,14776,14739],{"class":2386},[112,14778,14742],{"class":146},[112,14780,14739],{"class":2386},[112,14782,2398],{"class":146},[112,14784,14785,14787,14790,14792,14794],{"class":114,"line":446},[112,14786,14736],{"class":146},[112,14788,14789],{"class":2386},"mechanicalReduction",[112,14791,2991],{"class":146},[112,14793,14789],{"class":2386},[112,14795,2398],{"class":146},[112,14797,14798,14800,14802],{"class":114,"line":452},[112,14799,3323],{"class":146},[112,14801,14761],{"class":2386},[112,14803,2398],{"class":146},[112,14805,14806,14808,14810],{"class":114,"line":1674},[112,14807,2840],{"class":146},[112,14809,14692],{"class":2386},[112,14811,2398],{"class":146},[112,14813,14814,14816,14818],{"class":114,"line":1686},[112,14815,2501],{"class":146},[112,14817,2561],{"class":2386},[112,14819,2398],{"class":146},[112,14821,14822],{"class":114,"line":1691},[112,14823,119],{"emptyLinePlaceholder":118},[112,14825,14826,14828,14831,14834,14836,14839],{"class":114,"line":1708},[112,14827,2420],{"class":146},[112,14829,14830],{"class":2386},"xacro:joint_trans",[112,14832,14833],{"class":132}," joint_name",[112,14835,1697],{"class":146},[112,14837,14838],{"class":136},"\"LeftFrontwheelToBase\"",[112,14840,2444],{"class":146},[112,14842,14843,14845,14847,14849,14851,14854],{"class":114,"line":1723},[112,14844,2420],{"class":146},[112,14846,14830],{"class":2386},[112,14848,14833],{"class":132},[112,14850,1697],{"class":146},[112,14852,14853],{"class":136},"\"LeftBackwheelToBase\"",[112,14855,2444],{"class":146},[112,14857,14858,14860,14862,14864,14866,14869],{"class":114,"line":1745},[112,14859,2420],{"class":146},[112,14861,14830],{"class":2386},[112,14863,14833],{"class":132},[112,14865,1697],{"class":146},[112,14867,14868],{"class":136},"\"RightFrontwheelToBase\"",[112,14870,2444],{"class":146},[112,14872,14873,14875,14877,14879,14881,14884],{"class":114,"line":1750},[112,14874,2420],{"class":146},[112,14876,14830],{"class":2386},[112,14878,14833],{"class":132},[112,14880,1697],{"class":146},[112,14882,14883],{"class":136},"\"RightBackwheelToBase\"",[112,14885,2444],{"class":146},[112,14887,14888],{"class":114,"line":1761},[112,14889,119],{"emptyLinePlaceholder":118},[112,14891,14892,14894,14896],{"class":114,"line":1767},[112,14893,2420],{"class":146},[112,14895,13696],{"class":2386},[112,14897,2398],{"class":146},[112,14899,14900,14902,14904,14906,14908,14911,14913,14915,14918],{"class":114,"line":1785},[112,14901,2604],{"class":146},[112,14903,3024],{"class":2386},[112,14905,2390],{"class":132},[112,14907,1697],{"class":146},[112,14909,14910],{"class":136},"\"mecanum_controller\"",[112,14912,3034],{"class":132},[112,14914,1697],{"class":146},[112,14916,14917],{"class":136},"\"libgazebo_ros_planar_move.so\"",[112,14919,2398],{"class":146},[112,14921,14922,14924,14927,14930,14932],{"class":114,"line":1797},[112,14923,3284],{"class":146},[112,14925,14926],{"class":2386},"commandTopic",[112,14928,14929],{"class":146},">cmd_vel\u003C\u002F",[112,14931,14926],{"class":2386},[112,14933,2398],{"class":146},[112,14935,14936,14938,14941,14943,14945],{"class":114,"line":1815},[112,14937,3284],{"class":146},[112,14939,14940],{"class":2386},"odometryTopic",[112,14942,14075],{"class":146},[112,14944,14940],{"class":2386},[112,14946,2398],{"class":146},[112,14948,14949,14951,14954,14956,14958],{"class":114,"line":1821},[112,14950,3284],{"class":146},[112,14952,14953],{"class":2386},"odometryFrame",[112,14955,14075],{"class":146},[112,14957,14953],{"class":2386},[112,14959,2398],{"class":146},[112,14961,14962,14964,14967,14970,14972],{"class":114,"line":1827},[112,14963,3284],{"class":146},[112,14965,14966],{"class":2386},"leftFrontJoint",[112,14968,14969],{"class":146},">LeftFrontwheelToBase\u003C\u002F",[112,14971,14966],{"class":2386},[112,14973,2398],{"class":146},[112,14975,14976,14978,14981,14984,14986],{"class":114,"line":1832},[112,14977,3284],{"class":146},[112,14979,14980],{"class":2386},"rightFrontJoint",[112,14982,14983],{"class":146},">RightFrontwheelToBase\u003C\u002F",[112,14985,14980],{"class":2386},[112,14987,2398],{"class":146},[112,14989,14990,14992,14995,14998,15000],{"class":114,"line":1838},[112,14991,3284],{"class":146},[112,14993,14994],{"class":2386},"leftRearJoint",[112,14996,14997],{"class":146},">LeftBackwheelToBase\u003C\u002F",[112,14999,14994],{"class":2386},[112,15001,2398],{"class":146},[112,15003,15004,15006,15009,15012,15014],{"class":114,"line":1849},[112,15005,3284],{"class":146},[112,15007,15008],{"class":2386},"rightRearJoint",[112,15010,15011],{"class":146},">RightBackwheelToBase\u003C\u002F",[112,15013,15008],{"class":2386},[112,15015,2398],{"class":146},[112,15017,15018,15020,15023,15025,15027],{"class":114,"line":1863},[112,15019,3284],{"class":146},[112,15021,15022],{"class":2386},"odometryRate",[112,15024,3584],{"class":146},[112,15026,15022],{"class":2386},[112,15028,2398],{"class":146},[112,15030,15031,15033,15036,15038,15040],{"class":114,"line":1875},[112,15032,3284],{"class":146},[112,15034,15035],{"class":2386},"robotBaseFrame",[112,15037,14089],{"class":146},[112,15039,15035],{"class":2386},[112,15041,2398],{"class":146},[112,15043,15044,15046,15049,15051,15053],{"class":114,"line":1902},[112,15045,3284],{"class":146},[112,15047,15048],{"class":2386},"broadcastTF",[112,15050,2991],{"class":146},[112,15052,15048],{"class":2386},[112,15054,2398],{"class":146},[112,15056,15057,15059,15061],{"class":114,"line":1918},[112,15058,2840],{"class":146},[112,15060,3024],{"class":2386},[112,15062,2398],{"class":146},[112,15064,15065,15067,15069],{"class":114,"line":1923},[112,15066,2501],{"class":146},[112,15068,13696],{"class":2386},[112,15070,2398],{"class":146},[112,15072,15073],{"class":114,"line":1928},[112,15074,119],{"emptyLinePlaceholder":118},[112,15076,15077,15079,15081],{"class":114,"line":1934},[112,15078,2519],{"class":146},[112,15080,2387],{"class":2386},[112,15082,2398],{"class":146},[15,15084,15085],{},[50,15086,15087],{},"修改launch文件",[15,15089,15090],{},"修改gazebo_sim_world.launch.py文件，修改后的代码如下：",[102,15092,15094],{"className":1547,"code":15093,"language":1549,"meta":107,"style":107},"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",[109,15095,15096,15102,15106,15116,15120,15130,15140,15150,15160,15164,15172,15176,15188,15200,15212,15229,15233,15241,15245,15257,15265,15277,15281,15285,15293,15297,15309,15313,15317,15341,15349,15359,15370,15382,15392,15402,15412,15416,15420,15428,15439,15450,15463,15470,15477,15484,15491,15495,15513,15521,15535,15549,15563,15567,15576,15580,15584,15590,15594,15598,15602,15607],{"__ignoreMap":107},[112,15097,15098,15100],{"class":114,"line":115},[112,15099,1556],{"class":765},[112,15101,1559],{"class":146},[112,15103,15104],{"class":114,"line":122},[112,15105,119],{"emptyLinePlaceholder":118},[112,15107,15108,15110,15112,15114],{"class":114,"line":129},[112,15109,1568],{"class":765},[112,15111,1571],{"class":146},[112,15113,1556],{"class":765},[112,15115,1576],{"class":146},[112,15117,15118],{"class":114,"line":153},[112,15119,119],{"emptyLinePlaceholder":118},[112,15121,15122,15124,15126,15128],{"class":114,"line":158},[112,15123,1568],{"class":765},[112,15125,1587],{"class":146},[112,15127,1556],{"class":765},[112,15129,1592],{"class":146},[112,15131,15132,15134,15136,15138],{"class":114,"line":164},[112,15133,1568],{"class":765},[112,15135,1599],{"class":146},[112,15137,1556],{"class":765},[112,15139,1615],{"class":146},[112,15141,15142,15144,15146,15148],{"class":114,"line":176},[112,15143,1568],{"class":765},[112,15145,1634],{"class":146},[112,15147,1556],{"class":765},[112,15149,1639],{"class":146},[112,15151,15152,15154,15156,15158],{"class":114,"line":181},[112,15153,1568],{"class":765},[112,15155,1662],{"class":146},[112,15157,1556],{"class":765},[112,15159,1667],{"class":146},[112,15161,15162],{"class":114,"line":187},[112,15163,119],{"emptyLinePlaceholder":118},[112,15165,15166,15168,15170],{"class":114,"line":434},[112,15167,1677],{"class":765},[112,15169,1680],{"class":132},[112,15171,1683],{"class":146},[112,15173,15174],{"class":114,"line":440},[112,15175,119],{"emptyLinePlaceholder":118},[112,15177,15178,15180,15182,15184,15186],{"class":114,"line":446},[112,15179,1694],{"class":146},[112,15181,1697],{"class":765},[112,15183,1700],{"class":146},[112,15185,13328],{"class":136},[112,15187,1466],{"class":146},[112,15189,15190,15192,15194,15196,15198],{"class":114,"line":452},[112,15191,13335],{"class":146},[112,15193,1697],{"class":765},[112,15195,1700],{"class":146},[112,15197,13057],{"class":136},[112,15199,1466],{"class":146},[112,15201,15202,15204,15206,15208,15210],{"class":114,"line":1674},[112,15203,1711],{"class":146},[112,15205,1697],{"class":765},[112,15207,1700],{"class":146},[112,15209,13354],{"class":136},[112,15211,1466],{"class":146},[112,15213,15214,15216,15218,15220,15222,15224,15227],{"class":114,"line":1686},[112,15215,1726],{"class":146},[112,15217,1697],{"class":765},[112,15219,1731],{"class":146},[112,15221,9211],{"class":136},[112,15223,1737],{"class":146},[112,15225,15226],{"class":136},"\"base.sdf\"",[112,15228,1466],{"class":146},[112,15230,15231],{"class":114,"line":1691},[112,15232,119],{"emptyLinePlaceholder":118},[112,15234,15235,15237,15239],{"class":114,"line":1708},[112,15236,1753],{"class":146},[112,15238,1697],{"class":765},[112,15240,1758],{"class":146},[112,15242,15243],{"class":114,"line":1723},[112,15244,1764],{"class":146},[112,15246,15247,15249,15251,15253,15255],{"class":114,"line":1745},[112,15248,1770],{"class":146},[112,15250,13395],{"class":136},[112,15252,1776],{"class":146},[112,15254,13400],{"class":136},[112,15256,1782],{"class":146},[112,15258,15259,15261,15263],{"class":114,"line":1750},[112,15260,1789],{"class":1788},[112,15262,1697],{"class":765},[112,15264,1794],{"class":146},[112,15266,15267,15269,15271,15273,15275],{"class":114,"line":1761},[112,15268,13415],{"class":136},[112,15270,1803],{"class":146},[112,15272,13420],{"class":136},[112,15274,1809],{"class":765},[112,15276,1812],{"class":146},[112,15278,15279],{"class":114,"line":1767},[112,15280,1818],{"class":146},[112,15282,15283],{"class":114,"line":1785},[112,15284,1824],{"class":146},[112,15286,15287,15289,15291],{"class":114,"line":1797},[112,15288,13437],{"class":146},[112,15290,1697],{"class":765},[112,15292,1758],{"class":146},[112,15294,15295],{"class":114,"line":1815},[112,15296,1764],{"class":146},[112,15298,15299,15301,15303,15305,15307],{"class":114,"line":1821},[112,15300,13450],{"class":146},[112,15302,13395],{"class":136},[112,15304,1737],{"class":146},[112,15306,13457],{"class":136},[112,15308,1466],{"class":146},[112,15310,15311],{"class":114,"line":1827},[112,15312,13464],{"class":146},[112,15314,15315],{"class":114,"line":1832},[112,15316,1824],{"class":146},[112,15318,15319,15321,15323,15325,15327,15329,15331,15333,15335,15337,15339],{"class":114,"line":1838},[112,15320,13473],{"class":146},[112,15322,1697],{"class":765},[112,15324,13478],{"class":146},[112,15326,13481],{"class":1788},[112,15328,1697],{"class":765},[112,15330,13354],{"class":136},[112,15332,1776],{"class":146},[112,15334,13490],{"class":1788},[112,15336,1697],{"class":765},[112,15338,13495],{"class":136},[112,15340,1860],{"class":146},[112,15342,15343,15345,15347],{"class":114,"line":1849},[112,15344,13502],{"class":1788},[112,15346,1697],{"class":765},[112,15348,2037],{"class":146},[112,15350,15351,15353,15355,15357],{"class":114,"line":1863},[112,15352,13511],{"class":136},[112,15354,1776],{"class":146},[112,15356,13516],{"class":136},[112,15358,1860],{"class":146},[112,15360,15361,15363,15365,15368],{"class":114,"line":1875},[112,15362,13523],{"class":136},[112,15364,1776],{"class":146},[112,15366,15367],{"class":136},"\"-4\"",[112,15369,1860],{"class":146},[112,15371,15372,15374,15376,15378,15380],{"class":114,"line":1902},[112,15373,13535],{"class":136},[112,15375,1776],{"class":146},[112,15377,13540],{"class":136},[112,15379,1776],{"class":146},[112,15381,13545],{"class":125},[112,15383,15384,15386,15388,15390],{"class":114,"line":1918},[112,15385,13550],{"class":136},[112,15387,1776],{"class":146},[112,15389,13528],{"class":136},[112,15391,1860],{"class":146},[112,15393,15394,15396,15398,15400],{"class":114,"line":1923},[112,15395,13561],{"class":136},[112,15397,1776],{"class":146},[112,15399,13566],{"class":136},[112,15401,13569],{"class":146},[112,15403,15404,15406,15408,15410],{"class":114,"line":1928},[112,15405,13574],{"class":1788},[112,15407,1697],{"class":765},[112,15409,13579],{"class":136},[112,15411,1466],{"class":146},[112,15413,15414],{"class":114,"line":1934},[112,15415,119],{"emptyLinePlaceholder":118},[112,15417,15418],{"class":114,"line":1944},[112,15419,1931],{"class":125},[112,15421,15422,15424,15426],{"class":114,"line":1957},[112,15423,1937],{"class":146},[112,15425,1697],{"class":765},[112,15427,1846],{"class":146},[112,15429,15430,15432,15434,15437],{"class":114,"line":1970},[112,15431,1947],{"class":1788},[112,15433,1697],{"class":765},[112,15435,15436],{"class":136},"\"ros_gz_bridge\"",[112,15438,1860],{"class":146},[112,15440,15441,15443,15445,15448],{"class":114,"line":1985},[112,15442,1960],{"class":1788},[112,15444,1697],{"class":765},[112,15446,15447],{"class":136},"\"parameter_bridge\"",[112,15449,1860],{"class":146},[112,15451,15452,15454,15456,15458,15461],{"class":114,"line":1993},[112,15453,1973],{"class":1788},[112,15455,1697],{"class":765},[112,15457,799],{"class":146},[112,15459,15460],{"class":136},"\"\u002Fcmd_vel@geometry_msgs\u002Fmsg\u002FTwist@gz.msgs.Twist\"",[112,15462,1860],{"class":146},[112,15464,15465,15468],{"class":114,"line":2001},[112,15466,15467],{"class":136},"                   \"\u002Fmodel\u002Fmycar\u002Fodometry@nav_msgs\u002Fmsg\u002FOdometry@gz.msgs.Odometry\"",[112,15469,1860],{"class":146},[112,15471,15472,15475],{"class":114,"line":2007},[112,15473,15474],{"class":136},"                   \"\u002Fmodel\u002Fmycar\u002Ftf@tf2_msgs\u002Fmsg\u002FTFMessage[gz.msgs.Pose_V\"",[112,15476,1860],{"class":146},[112,15478,15479,15482],{"class":114,"line":2029},[112,15480,15481],{"class":136},"                   \"\u002Fclock@rosgraph_msgs\u002Fmsg\u002FClock[gz.msgs.Clock\"",[112,15483,1860],{"class":146},[112,15485,15486,15489],{"class":114,"line":2040},[112,15487,15488],{"class":136},"                   \"\u002Fworld\u002Fempty\u002Fmodel\u002Fmycar\u002Fjoint_state@sensor_msgs\u002Fmsg\u002FJointState[gz.msgs.Model\"",[112,15490,1860],{"class":146},[112,15492,15493],{"class":114,"line":2057},[112,15494,2004],{"class":146},[112,15496,15497,15499,15501,15503,15506,15508,15511],{"class":114,"line":2072},[112,15498,2010],{"class":1788},[112,15500,1697],{"class":765},[112,15502,2015],{"class":146},[112,15504,15505],{"class":136},"\"qos_overrides.\u002Fmodel\u002Fmycar.subscriber.reliability\"",[112,15507,1803],{"class":146},[112,15509,15510],{"class":136},"\"reliable\"",[112,15512,2026],{"class":146},[112,15514,15515,15517,15519],{"class":114,"line":2078},[112,15516,2032],{"class":1788},[112,15518,1697],{"class":765},[112,15520,2037],{"class":146},[112,15522,15523,15525,15528,15530,15533],{"class":114,"line":2089},[112,15524,2043],{"class":146},[112,15526,15527],{"class":136},"\"\u002Fmodel\u002Fmycar\u002Ftf\"",[112,15529,1776],{"class":146},[112,15531,15532],{"class":136},"\"\u002Ftf\"",[112,15534,2054],{"class":146},[112,15536,15537,15539,15542,15544,15547],{"class":114,"line":2094},[112,15538,2043],{"class":146},[112,15540,15541],{"class":136},"\"\u002Fworld\u002Fempty\u002Fmodel\u002Fmycar\u002Fjoint_state\"",[112,15543,1737],{"class":146},[112,15545,15546],{"class":136},"\"joint_states\"",[112,15548,2054],{"class":146},[112,15550,15551,15553,15556,15558,15561],{"class":114,"line":2099},[112,15552,2043],{"class":146},[112,15554,15555],{"class":136},"\"\u002Fmodel\u002Fmycar\u002Fodometry\"",[112,15557,1737],{"class":146},[112,15559,15560],{"class":136},"\"\u002Fodom\"",[112,15562,1466],{"class":146},[112,15564,15565],{"class":114,"line":2108},[112,15566,2075],{"class":146},[112,15568,15569,15571,15573],{"class":114,"line":2114},[112,15570,2081],{"class":1788},[112,15572,1697],{"class":765},[112,15574,15575],{"class":136},"\"screen\"\n",[112,15577,15578],{"class":114,"line":2134},[112,15579,1824],{"class":146},[112,15581,15582],{"class":114,"line":2147},[112,15583,119],{"emptyLinePlaceholder":118},[112,15585,15586,15588],{"class":114,"line":2153},[112,15587,2102],{"class":765},[112,15589,2105],{"class":146},[112,15591,15592],{"class":114,"line":2159},[112,15593,2111],{"class":146},[112,15595,15596],{"class":114,"line":3638},[112,15597,13600],{"class":146},[112,15599,15600],{"class":114,"line":3651},[112,15601,13605],{"class":146},[112,15603,15604],{"class":114,"line":3665},[112,15605,15606],{"class":146},"        bridge\n",[112,15608,15609],{"class":114,"line":3678},[112,15610,2162],{"class":146},[15,15612,15613],{},[50,15614,2175],{},[15,15616,2178],{},[102,15618,15619],{"className":104,"code":13618,"language":106,"meta":107,"style":107},[109,15620,15621],{"__ignoreMap":107},[112,15622,15623,15625,15627,15629,15631],{"class":114,"line":115},[112,15624,2188],{"class":132},[112,15626,2191],{"class":136},[112,15628,13629],{"class":576},[112,15630,13632],{"class":136},[112,15632,1432],{"class":136},[15,15634,15635],{},[50,15636,2206],{},[15,15638,2209],{},[102,15640,15642],{"className":104,"code":15641,"language":106,"meta":107,"style":107},". 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",[109,15643,15644,15650,15663],{"__ignoreMap":107},[112,15645,15646,15648],{"class":114,"line":115},[112,15647,2219],{"class":576},[112,15649,2222],{"class":136},[112,15651,15652,15654,15656,15658,15661],{"class":114,"line":122},[112,15653,9406],{"class":765},[112,15655,13668],{"class":146},[112,15657,1697],{"class":765},[112,15659,15660],{"class":146},"stm32_4w ",[112,15662,13661],{"class":125},[112,15664,15665,15667,15669,15671],{"class":114,"line":129},[112,15666,263],{"class":132},[112,15668,266],{"class":136},[112,15670,2231],{"class":136},[112,15672,9339],{"class":136},[15,15674,15675],{},"再启动键盘控制节点，就可以控制机器人运动了。",[102,15677,15678],{"className":104,"code":2240,"language":106,"meta":107,"style":107},[109,15679,15680],{"__ignoreMap":107},[112,15681,15682,15684,15686,15688],{"class":114,"line":115},[112,15683,263],{"class":132},[112,15685,663],{"class":136},[112,15687,711],{"class":136},[112,15689,2253],{"class":136},[15,15691,15692],{},"还可以启动rviz2，以查看里程计消息以及坐标变换。终端中进入当前工作空间，调用如下指令执行launch文件：",[15,15694,15695],{},"启动rviz2",[102,15697,15699],{"className":104,"code":15698,"language":106,"meta":107,"style":107},". install\u002Fsetup.bash\nrviz2\n",[109,15700,15701,15707],{"__ignoreMap":107},[112,15702,15703,15705],{"class":114,"line":115},[112,15704,2219],{"class":576},[112,15706,2222],{"class":136},[112,15708,15709],{"class":114,"line":122},[112,15710,15711],{"class":132},"rviz2\n",[15,15713,15714],{},"RVIZ2软件配置如下图所示：",[15,15716,15717,15720],{},[200,15718],{"alt":107,"src":15719},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1735.webp",[200,15721],{"alt":107,"src":15722},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1736.webp",[15,15724,15725],{},[200,15726],{"alt":107,"src":15727},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1737.webp",[27,15729,15731],{"id":15730},"ignition-gazebo仿真之传感器","Ignition Gazebo仿真之传感器",[15,15733,15734],{},"本节将介绍如何为仿真机器人添加雷达、相机等传感器。本节代码部分内容对于我们教程中涉及到的arduino、stm32_2w以及stm32_4w等机器人模型而言是完全通用的。",[15,15736,15737],{},[50,15738,15739],{},"添加传感器插件",[15,15741,15742,15743,15746,15747,15749],{},"在进行传感器模拟之前，需要先添加一个名为",[109,15744,15745],{},"ignition-gazebo-sensors-system","的插件，打开urdf文件，在",[109,15748,13955],{},"根标签内添加如下代码：",[102,15751,15753],{"className":2374,"code":15752,"language":2376,"meta":107,"style":107},"\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",[109,15754,15755,15759,15767,15773,15783,15794,15808,15816],{"__ignoreMap":107},[112,15756,15757],{"class":114,"line":115},[112,15758,119],{"emptyLinePlaceholder":118},[112,15760,15761,15763,15765],{"class":114,"line":122},[112,15762,2383],{"class":146},[112,15764,13696],{"class":2386},[112,15766,2398],{"class":146},[112,15768,15769,15771],{"class":114,"line":129},[112,15770,2420],{"class":146},[112,15772,14317],{"class":2386},[112,15774,15775,15778,15780],{"class":114,"line":153},[112,15776,15777],{"class":132},"      filename",[112,15779,1697],{"class":146},[112,15781,15782],{"class":136},"\"ignition-gazebo-sensors-system\"\n",[112,15784,15785,15787,15789,15792],{"class":114,"line":158},[112,15786,14265],{"class":132},[112,15788,1697],{"class":146},[112,15790,15791],{"class":136},"\"ignition::gazebo::systems::Sensors\"",[112,15793,2398],{"class":146},[112,15795,15796,15798,15801,15804,15806],{"class":114,"line":164},[112,15797,2430],{"class":146},[112,15799,15800],{"class":2386},"render_engine",[112,15802,15803],{"class":146},">ogre2\u003C\u002F",[112,15805,15800],{"class":2386},[112,15807,2398],{"class":146},[112,15809,15810,15812,15814],{"class":114,"line":176},[112,15811,2501],{"class":146},[112,15813,3024],{"class":2386},[112,15815,2398],{"class":146},[112,15817,15818,15820,15822],{"class":114,"line":181},[112,15819,2510],{"class":146},[112,15821,13696],{"class":2386},[112,15823,2398],{"class":146},[15,15825,15826],{},"ignition-gazebo-sensors-system是Ignition Gazebo仿真环境的插件，提供传感器模型和相关功能，用于创建、模拟和测试各种传感器设备。它包含常见传感器模型，如摄像头、激光雷达等。",[15,15828,15829],{},[50,15830,15831],{},"添加各种传感器",[15,15833,15834],{},[50,15835,15836],{},"(注意，你的模型一定要有以下几个传感器的模型)",[15,15838,15839],{},"雷达的模型不需要collision，请删掉，否则会挡激光射出。",[102,15841,15843],{"className":2374,"code":15842,"language":2376,"meta":107,"style":107},"\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",[109,15844,15845,15849,15865,15887,15900,15913,15922,15931,15940,15954,15967,15981,15995,16003,16012,16025,16037,16050,16063,16071,16079,16087,16101,16115,16127,16135,16143,16156,16169,16183,16191,16199,16203,16219,16240,16252,16265,16278,16291,16304,16320,16334,16343,16358,16371,16385,16393,16402,16416,16430,16438,16446,16454,16462,16466,16480,16501,16513,16526,16534,16547,16555,16568,16580,16593,16601,16609,16622,16634,16642,16650,16662,16674,16682],{"__ignoreMap":107},[112,15846,15847],{"class":114,"line":115},[112,15848,119],{"emptyLinePlaceholder":118},[112,15850,15851,15853,15855,15858,15860,15863],{"class":114,"line":122},[112,15852,2403],{"class":146},[112,15854,13696],{"class":2386},[112,15856,15857],{"class":132}," reference",[112,15859,1697],{"class":146},[112,15861,15862],{"class":136},"\"laser\"",[112,15864,2398],{"class":146},[112,15866,15867,15869,15872,15874,15876,15879,15881,15883,15885],{"class":114,"line":129},[112,15868,2420],{"class":146},[112,15870,15871],{"class":2386},"sensor",[112,15873,2390],{"class":132},[112,15875,1697],{"class":146},[112,15877,15878],{"class":136},"'gpu_lidar'",[112,15880,2960],{"class":132},[112,15882,1697],{"class":146},[112,15884,15878],{"class":136},[112,15886,2398],{"class":146},[112,15888,15889,15891,15893,15896,15898],{"class":114,"line":153},[112,15890,2430],{"class":146},[112,15892,14100],{"class":2386},[112,15894,15895],{"class":146},">scan\u003C\u002F",[112,15897,14100],{"class":2386},[112,15899,2398],{"class":146},[112,15901,15902,15904,15906,15909,15911],{"class":114,"line":158},[112,15903,2430],{"class":146},[112,15905,13853],{"class":2386},[112,15907,15908],{"class":146},">30\u003C\u002F",[112,15910,13853],{"class":2386},[112,15912,2398],{"class":146},[112,15914,15915,15917,15920],{"class":114,"line":164},[112,15916,2430],{"class":146},[112,15918,15919],{"class":2386},"lidar",[112,15921,2398],{"class":146},[112,15923,15924,15926,15929],{"class":114,"line":176},[112,15925,2604],{"class":146},[112,15927,15928],{"class":2386},"scan",[112,15930,2398],{"class":146},[112,15932,15933,15935,15938],{"class":114,"line":181},[112,15934,2800],{"class":146},[112,15936,15937],{"class":2386},"horizontal",[112,15939,2398],{"class":146},[112,15941,15942,15944,15947,15950,15952],{"class":114,"line":187},[112,15943,3284],{"class":146},[112,15945,15946],{"class":2386},"samples",[112,15948,15949],{"class":146},">640\u003C\u002F",[112,15951,15946],{"class":2386},[112,15953,2398],{"class":146},[112,15955,15956,15958,15961,15963,15965],{"class":114,"line":434},[112,15957,3284],{"class":146},[112,15959,15960],{"class":2386},"resolution",[112,15962,2991],{"class":146},[112,15964,15960],{"class":2386},[112,15966,2398],{"class":146},[112,15968,15969,15971,15974,15977,15979],{"class":114,"line":440},[112,15970,3284],{"class":146},[112,15972,15973],{"class":2386},"min_angle",[112,15975,15976],{"class":146},">-3.1415926\u003C\u002F",[112,15978,15973],{"class":2386},[112,15980,2398],{"class":146},[112,15982,15983,15985,15988,15991,15993],{"class":114,"line":446},[112,15984,3284],{"class":146},[112,15986,15987],{"class":2386},"max_angle",[112,15989,15990],{"class":146},">3.1415926\u003C\u002F",[112,15992,15987],{"class":2386},[112,15994,2398],{"class":146},[112,15996,15997,15999,16001],{"class":114,"line":452},[112,15998,3332],{"class":146},[112,16000,15937],{"class":2386},[112,16002,2398],{"class":146},[112,16004,16005,16007,16010],{"class":114,"line":1674},[112,16006,2800],{"class":146},[112,16008,16009],{"class":2386},"vertical",[112,16011,2398],{"class":146},[112,16013,16014,16016,16018,16021,16023],{"class":114,"line":1686},[112,16015,3284],{"class":146},[112,16017,15946],{"class":2386},[112,16019,16020],{"class":146},">16\u003C\u002F",[112,16022,15946],{"class":2386},[112,16024,2398],{"class":146},[112,16026,16027,16029,16031,16033,16035],{"class":114,"line":1691},[112,16028,3284],{"class":146},[112,16030,15960],{"class":2386},[112,16032,2991],{"class":146},[112,16034,15960],{"class":2386},[112,16036,2398],{"class":146},[112,16038,16039,16041,16043,16046,16048],{"class":114,"line":1708},[112,16040,3284],{"class":146},[112,16042,15973],{"class":2386},[112,16044,16045],{"class":146},">-0.261799\u003C\u002F",[112,16047,15973],{"class":2386},[112,16049,2398],{"class":146},[112,16051,16052,16054,16056,16059,16061],{"class":114,"line":1723},[112,16053,3284],{"class":146},[112,16055,15987],{"class":2386},[112,16057,16058],{"class":146},">0.261799\u003C\u002F",[112,16060,15987],{"class":2386},[112,16062,2398],{"class":146},[112,16064,16065,16067,16069],{"class":114,"line":1745},[112,16066,3332],{"class":146},[112,16068,16009],{"class":2386},[112,16070,2398],{"class":146},[112,16072,16073,16075,16077],{"class":114,"line":1750},[112,16074,2840],{"class":146},[112,16076,15928],{"class":2386},[112,16078,2398],{"class":146},[112,16080,16081,16083,16085],{"class":114,"line":1761},[112,16082,2604],{"class":146},[112,16084,5972],{"class":2386},[112,16086,2398],{"class":146},[112,16088,16089,16091,16094,16097,16099],{"class":114,"line":1767},[112,16090,2800],{"class":146},[112,16092,16093],{"class":2386},"min",[112,16095,16096],{"class":146},">0.08\u003C\u002F",[112,16098,16093],{"class":2386},[112,16100,2398],{"class":146},[112,16102,16103,16105,16108,16111,16113],{"class":114,"line":1785},[112,16104,2800],{"class":146},[112,16106,16107],{"class":2386},"max",[112,16109,16110],{"class":146},">10.0\u003C\u002F",[112,16112,16107],{"class":2386},[112,16114,2398],{"class":146},[112,16116,16117,16119,16121,16123,16125],{"class":114,"line":1797},[112,16118,2800],{"class":146},[112,16120,15960],{"class":2386},[112,16122,5989],{"class":146},[112,16124,15960],{"class":2386},[112,16126,2398],{"class":146},[112,16128,16129,16131,16133],{"class":114,"line":1815},[112,16130,2840],{"class":146},[112,16132,5972],{"class":2386},[112,16134,2398],{"class":146},[112,16136,16137,16139,16141],{"class":114,"line":1821},[112,16138,2664],{"class":146},[112,16140,15919],{"class":2386},[112,16142,2398],{"class":146},[112,16144,16145,16147,16150,16152,16154],{"class":114,"line":1827},[112,16146,2430],{"class":146},[112,16148,16149],{"class":2386},"alwaysOn",[112,16151,2991],{"class":146},[112,16153,16149],{"class":2386},[112,16155,2398],{"class":146},[112,16157,16158,16160,16163,16165,16167],{"class":114,"line":1832},[112,16159,2430],{"class":146},[112,16161,16162],{"class":2386},"visualize",[112,16164,3199],{"class":146},[112,16166,16162],{"class":2386},[112,16168,2398],{"class":146},[112,16170,16171,16173,16176,16179,16181],{"class":114,"line":1838},[112,16172,2430],{"class":146},[112,16174,16175],{"class":2386},"ignition_frame_id",[112,16177,16178],{"class":146},">laser\u003C\u002F",[112,16180,16175],{"class":2386},[112,16182,2398],{"class":146},[112,16184,16185,16187,16189],{"class":114,"line":1849},[112,16186,2501],{"class":146},[112,16188,15871],{"class":2386},[112,16190,2398],{"class":146},[112,16192,16193,16195,16197],{"class":114,"line":1863},[112,16194,2510],{"class":146},[112,16196,13696],{"class":2386},[112,16198,2398],{"class":146},[112,16200,16201],{"class":114,"line":1875},[112,16202,119],{"emptyLinePlaceholder":118},[112,16204,16205,16207,16209,16211,16213,16216],{"class":114,"line":1902},[112,16206,2403],{"class":146},[112,16208,13696],{"class":2386},[112,16210,15857],{"class":132},[112,16212,1697],{"class":146},[112,16214,16215],{"class":136},"\"camera\"",[112,16217,16218],{"class":146}," >\n",[112,16220,16221,16223,16225,16227,16229,16232,16234,16236,16238],{"class":114,"line":1918},[112,16222,2420],{"class":146},[112,16224,15871],{"class":2386},[112,16226,2390],{"class":132},[112,16228,1697],{"class":146},[112,16230,16231],{"class":136},"\"cam_link\"",[112,16233,2960],{"class":132},[112,16235,1697],{"class":146},[112,16237,16215],{"class":136},[112,16239,2398],{"class":146},[112,16241,16242,16244,16246,16248,16250],{"class":114,"line":1923},[112,16243,2430],{"class":146},[112,16245,13853],{"class":2386},[112,16247,16110],{"class":146},[112,16249,13853],{"class":2386},[112,16251,2398],{"class":146},[112,16253,16254,16256,16259,16261,16263],{"class":114,"line":1928},[112,16255,2430],{"class":146},[112,16257,16258],{"class":2386},"always_on",[112,16260,3199],{"class":146},[112,16262,16258],{"class":2386},[112,16264,2398],{"class":146},[112,16266,16267,16269,16271,16274,16276],{"class":114,"line":1934},[112,16268,2430],{"class":146},[112,16270,16175],{"class":2386},[112,16272,16273],{"class":146},">camera\u003C\u002F",[112,16275,16175],{"class":2386},[112,16277,2398],{"class":146},[112,16279,16280,16282,16284,16287,16289],{"class":114,"line":1944},[112,16281,2430],{"class":146},[112,16283,3548],{"class":2386},[112,16285,16286],{"class":146},">0 0 0 0 0 0\u003C\u002F",[112,16288,3548],{"class":2386},[112,16290,2398],{"class":146},[112,16292,16293,16295,16297,16300,16302],{"class":114,"line":1957},[112,16294,2430],{"class":146},[112,16296,14100],{"class":2386},[112,16298,16299],{"class":146},">\u002Fimage_raw\u003C\u002F",[112,16301,14100],{"class":2386},[112,16303,2398],{"class":146},[112,16305,16306,16308,16311,16313,16315,16318],{"class":114,"line":1970},[112,16307,2430],{"class":146},[112,16309,16310],{"class":2386},"camera",[112,16312,2390],{"class":132},[112,16314,1697],{"class":146},[112,16316,16317],{"class":136},"\"my_camera\"",[112,16319,2398],{"class":146},[112,16321,16322,16324,16327,16330,16332],{"class":114,"line":1985},[112,16323,2604],{"class":146},[112,16325,16326],{"class":2386},"horizontal_fov",[112,16328,16329],{"class":146},">1.3962634\u003C\u002F",[112,16331,16326],{"class":2386},[112,16333,2398],{"class":146},[112,16335,16336,16338,16341],{"class":114,"line":1993},[112,16337,2604],{"class":146},[112,16339,16340],{"class":2386},"image",[112,16342,2398],{"class":146},[112,16344,16345,16348,16351,16354,16356],{"class":114,"line":2001},[112,16346,16347],{"class":146},"           \u003C",[112,16349,16350],{"class":2386},"width",[112,16352,16353],{"class":146},">600\u003C\u002F",[112,16355,16350],{"class":2386},[112,16357,2398],{"class":146},[112,16359,16360,16362,16365,16367,16369],{"class":114,"line":2007},[112,16361,16347],{"class":146},[112,16363,16364],{"class":2386},"height",[112,16366,16353],{"class":146},[112,16368,16364],{"class":2386},[112,16370,2398],{"class":146},[112,16372,16373,16375,16378,16381,16383],{"class":114,"line":2029},[112,16374,16347],{"class":146},[112,16376,16377],{"class":2386},"format",[112,16379,16380],{"class":146},">R8G8B8\u003C\u002F",[112,16382,16377],{"class":2386},[112,16384,2398],{"class":146},[112,16386,16387,16389,16391],{"class":114,"line":2040},[112,16388,2840],{"class":146},[112,16390,16340],{"class":2386},[112,16392,2398],{"class":146},[112,16394,16395,16397,16400],{"class":114,"line":2057},[112,16396,2604],{"class":146},[112,16398,16399],{"class":2386},"clip",[112,16401,2398],{"class":146},[112,16403,16404,16406,16409,16412,16414],{"class":114,"line":2072},[112,16405,2800],{"class":146},[112,16407,16408],{"class":2386},"near",[112,16410,16411],{"class":146},">0.02\u003C\u002F",[112,16413,16408],{"class":2386},[112,16415,2398],{"class":146},[112,16417,16418,16420,16423,16426,16428],{"class":114,"line":2078},[112,16419,2800],{"class":146},[112,16421,16422],{"class":2386},"far",[112,16424,16425],{"class":146},">300\u003C\u002F",[112,16427,16422],{"class":2386},[112,16429,2398],{"class":146},[112,16431,16432,16434,16436],{"class":114,"line":2089},[112,16433,2840],{"class":146},[112,16435,16399],{"class":2386},[112,16437,2398],{"class":146},[112,16439,16440,16442,16444],{"class":114,"line":2094},[112,16441,2664],{"class":146},[112,16443,16310],{"class":2386},[112,16445,2398],{"class":146},[112,16447,16448,16450,16452],{"class":114,"line":2099},[112,16449,2501],{"class":146},[112,16451,15871],{"class":2386},[112,16453,2398],{"class":146},[112,16455,16456,16458,16460],{"class":114,"line":2108},[112,16457,2510],{"class":146},[112,16459,13696],{"class":2386},[112,16461,2398],{"class":146},[112,16463,16464],{"class":114,"line":2114},[112,16465,119],{"emptyLinePlaceholder":118},[112,16467,16468,16470,16472,16474,16476,16478],{"class":114,"line":2134},[112,16469,2403],{"class":146},[112,16471,13696],{"class":2386},[112,16473,15857],{"class":132},[112,16475,1697],{"class":146},[112,16477,16215],{"class":136},[112,16479,2398],{"class":146},[112,16481,16482,16484,16486,16488,16490,16493,16495,16497,16499],{"class":114,"line":2147},[112,16483,2420],{"class":146},[112,16485,15871],{"class":2386},[112,16487,2390],{"class":132},[112,16489,1697],{"class":146},[112,16491,16492],{"class":136},"\"depth_camera\"",[112,16494,2960],{"class":132},[112,16496,1697],{"class":146},[112,16498,16492],{"class":136},[112,16500,2398],{"class":146},[112,16502,16503,16505,16507,16509,16511],{"class":114,"line":2153},[112,16504,2800],{"class":146},[112,16506,13853],{"class":2386},[112,16508,14061],{"class":146},[112,16510,13853],{"class":2386},[112,16512,2398],{"class":146},[112,16514,16515,16517,16519,16522,16524],{"class":114,"line":2159},[112,16516,2800],{"class":146},[112,16518,14100],{"class":2386},[112,16520,16521],{"class":146},">depth_camera\u003C\u002F",[112,16523,14100],{"class":2386},[112,16525,2398],{"class":146},[112,16527,16528,16530,16532],{"class":114,"line":3638},[112,16529,2800],{"class":146},[112,16531,16310],{"class":2386},[112,16533,2398],{"class":146},[112,16535,16536,16538,16540,16543,16545],{"class":114,"line":3651},[112,16537,3284],{"class":146},[112,16539,16326],{"class":2386},[112,16541,16542],{"class":146},">1.05\u003C\u002F",[112,16544,16326],{"class":2386},[112,16546,2398],{"class":146},[112,16548,16549,16551,16553],{"class":114,"line":3665},[112,16550,3284],{"class":146},[112,16552,16340],{"class":2386},[112,16554,2398],{"class":146},[112,16556,16557,16559,16561,16564,16566],{"class":114,"line":3678},[112,16558,3294],{"class":146},[112,16560,16350],{"class":2386},[112,16562,16563],{"class":146},">256\u003C\u002F",[112,16565,16350],{"class":2386},[112,16567,2398],{"class":146},[112,16569,16570,16572,16574,16576,16578],{"class":114,"line":3687},[112,16571,3294],{"class":146},[112,16573,16364],{"class":2386},[112,16575,16563],{"class":146},[112,16577,16364],{"class":2386},[112,16579,2398],{"class":146},[112,16581,16582,16584,16586,16589,16591],{"class":114,"line":3696},[112,16583,3294],{"class":146},[112,16585,16377],{"class":2386},[112,16587,16588],{"class":146},">R_FLOAT32\u003C\u002F",[112,16590,16377],{"class":2386},[112,16592,2398],{"class":146},[112,16594,16595,16597,16599],{"class":114,"line":3711},[112,16596,3323],{"class":146},[112,16598,16340],{"class":2386},[112,16600,2398],{"class":146},[112,16602,16603,16605,16607],{"class":114,"line":3720},[112,16604,3284],{"class":146},[112,16606,16399],{"class":2386},[112,16608,2398],{"class":146},[112,16610,16611,16613,16615,16618,16620],{"class":114,"line":3733},[112,16612,3294],{"class":146},[112,16614,16408],{"class":2386},[112,16616,16617],{"class":146},">0.1\u003C\u002F",[112,16619,16408],{"class":2386},[112,16621,2398],{"class":146},[112,16623,16624,16626,16628,16630,16632],{"class":114,"line":3747},[112,16625,3294],{"class":146},[112,16627,16422],{"class":2386},[112,16629,16110],{"class":146},[112,16631,16422],{"class":2386},[112,16633,2398],{"class":146},[112,16635,16636,16638,16640],{"class":114,"line":3756},[112,16637,3323],{"class":146},[112,16639,16399],{"class":2386},[112,16641,2398],{"class":146},[112,16643,16644,16646,16648],{"class":114,"line":3772},[112,16645,3332],{"class":146},[112,16647,16310],{"class":2386},[112,16649,2398],{"class":146},[112,16651,16652,16654,16656,16658,16660],{"class":114,"line":3786},[112,16653,2800],{"class":146},[112,16655,16149],{"class":2386},[112,16657,2991],{"class":146},[112,16659,16149],{"class":2386},[112,16661,2398],{"class":146},[112,16663,16664,16666,16668,16670,16672],{"class":114,"line":3802},[112,16665,2800],{"class":146},[112,16667,16175],{"class":2386},[112,16669,16273],{"class":146},[112,16671,16175],{"class":2386},[112,16673,2398],{"class":146},[112,16675,16676,16678,16680],{"class":114,"line":3811},[112,16677,2664],{"class":146},[112,16679,15871],{"class":2386},[112,16681,2398],{"class":146},[112,16683,16684,16686,16688],{"class":114,"line":3820},[112,16685,2510],{"class":146},[112,16687,13696],{"class":2386},[112,16689,2398],{"class":146},[15,16691,16692],{},"从官网找到的imu传感器的",[102,16694,16696],{"className":2374,"code":16695,"language":2376,"meta":107,"style":107},"\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",[109,16697,16698,16702,16710,16723,16735,16743,16751,16755,16769,16791,16803,16815,16827,16840,16848],{"__ignoreMap":107},[112,16699,16700],{"class":114,"line":115},[112,16701,119],{"emptyLinePlaceholder":118},[112,16703,16704,16706,16708],{"class":114,"line":122},[112,16705,2420],{"class":146},[112,16707,13696],{"class":2386},[112,16709,2398],{"class":146},[112,16711,16712,16714,16716,16718,16720],{"class":114,"line":129},[112,16713,2604],{"class":146},[112,16715,3024],{"class":2386},[112,16717,3034],{"class":132},[112,16719,1697],{"class":146},[112,16721,16722],{"class":136},"\"libignition-gazebo-imu-system.so\"\n",[112,16724,16725,16728,16730,16733],{"class":114,"line":153},[112,16726,16727],{"class":132},"                name",[112,16729,1697],{"class":146},[112,16731,16732],{"class":136},"\"ignition::gazebo::systems::Imu\"",[112,16734,2398],{"class":146},[112,16736,16737,16739,16741],{"class":114,"line":158},[112,16738,2840],{"class":146},[112,16740,3024],{"class":2386},[112,16742,2398],{"class":146},[112,16744,16745,16747,16749],{"class":114,"line":164},[112,16746,2501],{"class":146},[112,16748,13696],{"class":2386},[112,16750,2398],{"class":146},[112,16752,16753],{"class":114,"line":176},[112,16754,119],{"emptyLinePlaceholder":118},[112,16756,16757,16759,16761,16763,16765,16767],{"class":114,"line":181},[112,16758,2420],{"class":146},[112,16760,13696],{"class":2386},[112,16762,15857],{"class":132},[112,16764,1697],{"class":146},[112,16766,2413],{"class":136},[112,16768,2398],{"class":146},[112,16770,16771,16773,16775,16777,16779,16782,16784,16786,16789],{"class":114,"line":187},[112,16772,2604],{"class":146},[112,16774,15871],{"class":2386},[112,16776,2390],{"class":132},[112,16778,1697],{"class":146},[112,16780,16781],{"class":136},"\"imu_sensor\"",[112,16783,2960],{"class":132},[112,16785,1697],{"class":146},[112,16787,16788],{"class":136},"\"imu\"",[112,16790,2398],{"class":146},[112,16792,16793,16795,16797,16799,16801],{"class":114,"line":434},[112,16794,3284],{"class":146},[112,16796,16258],{"class":2386},[112,16798,2991],{"class":146},[112,16800,16258],{"class":2386},[112,16802,2398],{"class":146},[112,16804,16805,16807,16809,16811,16813],{"class":114,"line":440},[112,16806,3284],{"class":146},[112,16808,13853],{"class":2386},[112,16810,15908],{"class":146},[112,16812,13853],{"class":2386},[112,16814,2398],{"class":146},[112,16816,16817,16819,16821,16823,16825],{"class":114,"line":446},[112,16818,3284],{"class":146},[112,16820,16162],{"class":2386},[112,16822,3199],{"class":146},[112,16824,16162],{"class":2386},[112,16826,2398],{"class":146},[112,16828,16829,16831,16833,16836,16838],{"class":114,"line":452},[112,16830,3284],{"class":146},[112,16832,14100],{"class":2386},[112,16834,16835],{"class":146},">imu\u003C\u002F",[112,16837,14100],{"class":2386},[112,16839,2398],{"class":146},[112,16841,16842,16844,16846],{"class":114,"line":1674},[112,16843,2840],{"class":146},[112,16845,15871],{"class":2386},[112,16847,2398],{"class":146},[112,16849,16850,16852,16854],{"class":114,"line":1686},[112,16851,2501],{"class":146},[112,16853,13696],{"class":2386},[112,16855,2398],{"class":146},[15,16857,16858,16859,16862],{},"可以用",[109,16860,16861],{},"ign topic -e -t \u002Fimu","测试gazebo是否发布了话题，后面再用gazebo_bridge把话题给ROS2就行了。",[15,16864,16865],{},"默认情况下，rviz2没有显示imu消息的插件，需要自行安装相关插件，具体安装指令如下：",[102,16867,16871],{"className":16868,"code":16869,"language":16870,"meta":107,"style":107},"language-cpp shiki shiki-themes github-light github-dark","sudo apt install ros-${ROS_DISTRO}-imu-tools\n","cpp",[109,16872,16873],{"__ignoreMap":107},[112,16874,16875,16878,16881,16883,16885,16888,16890],{"class":114,"line":115},[112,16876,16877],{"class":146},"sudo apt install ros",[112,16879,16880],{"class":765},"-",[112,16882,147],{"class":146},[112,16884,16880],{"class":765},[112,16886,16887],{"class":146},"imu",[112,16889,16880],{"class":765},[112,16891,16892],{"class":146},"tools\n",[15,16894,16895],{},"SolidWorks自动生成的模型可能翻转了laser_joint,请你修改回正，这样可能rivz2就有激光了，然后修改一下可视化的模型，让模型正常，不要给碰撞，不然可能会遮挡激光。",[15,16897,16898],{},[200,16899],{"alt":107,"src":16900},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1738.webp",[15,16902,15090],{},[102,16904,16906],{"className":1547,"code":16905,"language":1549,"meta":107,"style":107},"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",[109,16907,16908,16914,16918,16928,16932,16942,16952,16962,16972,16976,16984,16988,17000,17012,17024,17040,17044,17052,17057,17070,17078,17091,17095,17099,17107,17111,17123,17127,17131,17155,17163,17174,17185,17198,17209,17220,17230,17234,17238,17246,17256,17266,17278,17285,17292,17299,17306,17313,17320,17327,17334,17341,17348,17353,17358,17374,17382,17395,17407,17419,17423,17431,17435,17439,17445,17449,17453,17457,17461],{"__ignoreMap":107},[112,16909,16910,16912],{"class":114,"line":115},[112,16911,1556],{"class":765},[112,16913,1559],{"class":146},[112,16915,16916],{"class":114,"line":122},[112,16917,119],{"emptyLinePlaceholder":118},[112,16919,16920,16922,16924,16926],{"class":114,"line":129},[112,16921,1568],{"class":765},[112,16923,1571],{"class":146},[112,16925,1556],{"class":765},[112,16927,1576],{"class":146},[112,16929,16930],{"class":114,"line":153},[112,16931,119],{"emptyLinePlaceholder":118},[112,16933,16934,16936,16938,16940],{"class":114,"line":158},[112,16935,1568],{"class":765},[112,16937,1587],{"class":146},[112,16939,1556],{"class":765},[112,16941,1592],{"class":146},[112,16943,16944,16946,16948,16950],{"class":114,"line":164},[112,16945,1568],{"class":765},[112,16947,1599],{"class":146},[112,16949,1556],{"class":765},[112,16951,1615],{"class":146},[112,16953,16954,16956,16958,16960],{"class":114,"line":176},[112,16955,1568],{"class":765},[112,16957,1634],{"class":146},[112,16959,1556],{"class":765},[112,16961,1639],{"class":146},[112,16963,16964,16966,16968,16970],{"class":114,"line":181},[112,16965,1568],{"class":765},[112,16967,1662],{"class":146},[112,16969,1556],{"class":765},[112,16971,1667],{"class":146},[112,16973,16974],{"class":114,"line":187},[112,16975,119],{"emptyLinePlaceholder":118},[112,16977,16978,16980,16982],{"class":114,"line":434},[112,16979,1677],{"class":765},[112,16981,1680],{"class":132},[112,16983,1683],{"class":146},[112,16985,16986],{"class":114,"line":440},[112,16987,119],{"emptyLinePlaceholder":118},[112,16989,16990,16992,16994,16996,16998],{"class":114,"line":446},[112,16991,1694],{"class":146},[112,16993,1697],{"class":765},[112,16995,1700],{"class":146},[112,16997,13328],{"class":136},[112,16999,1466],{"class":146},[112,17001,17002,17004,17006,17008,17010],{"class":114,"line":452},[112,17003,13335],{"class":146},[112,17005,1697],{"class":765},[112,17007,1700],{"class":146},[112,17009,13057],{"class":136},[112,17011,1466],{"class":146},[112,17013,17014,17016,17018,17020,17022],{"class":114,"line":1674},[112,17015,1711],{"class":146},[112,17017,1697],{"class":765},[112,17019,1700],{"class":146},[112,17021,13354],{"class":136},[112,17023,1466],{"class":146},[112,17025,17026,17028,17030,17032,17034,17036,17038],{"class":114,"line":1686},[112,17027,1726],{"class":146},[112,17029,1697],{"class":765},[112,17031,1731],{"class":146},[112,17033,9211],{"class":136},[112,17035,1737],{"class":146},[112,17037,9216],{"class":136},[112,17039,1466],{"class":146},[112,17041,17042],{"class":114,"line":1691},[112,17043,119],{"emptyLinePlaceholder":118},[112,17045,17046,17048,17050],{"class":114,"line":1708},[112,17047,1753],{"class":146},[112,17049,1697],{"class":765},[112,17051,1758],{"class":146},[112,17053,17054],{"class":114,"line":1723},[112,17055,17056],{"class":146},"    PythonLaunchDescriptionSource(\n",[112,17058,17059,17062,17064,17066,17068],{"class":114,"line":1745},[112,17060,17061],{"class":146},"        os.path.join(pkg_ros_gz_sim, ",[112,17063,13395],{"class":136},[112,17065,1776],{"class":146},[112,17067,13400],{"class":136},[112,17069,1782],{"class":146},[112,17071,17072,17074,17076],{"class":114,"line":1750},[112,17073,1789],{"class":1788},[112,17075,1697],{"class":765},[112,17077,1794],{"class":146},[112,17079,17080,17083,17085,17087,17089],{"class":114,"line":1761},[112,17081,17082],{"class":136},"        \"gz_args\"",[112,17084,1803],{"class":146},[112,17086,13420],{"class":136},[112,17088,1809],{"class":765},[112,17090,1812],{"class":146},[112,17092,17093],{"class":114,"line":1767},[112,17094,1818],{"class":146},[112,17096,17097],{"class":114,"line":1785},[112,17098,1824],{"class":146},[112,17100,17101,17103,17105],{"class":114,"line":1797},[112,17102,13437],{"class":146},[112,17104,1697],{"class":765},[112,17106,1758],{"class":146},[112,17108,17109],{"class":114,"line":1815},[112,17110,1764],{"class":146},[112,17112,17113,17115,17117,17119,17121],{"class":114,"line":1821},[112,17114,13450],{"class":146},[112,17116,13395],{"class":136},[112,17118,1737],{"class":146},[112,17120,13457],{"class":136},[112,17122,1466],{"class":146},[112,17124,17125],{"class":114,"line":1827},[112,17126,13464],{"class":146},[112,17128,17129],{"class":114,"line":1832},[112,17130,1824],{"class":146},[112,17132,17133,17135,17137,17139,17141,17143,17145,17147,17149,17151,17153],{"class":114,"line":1838},[112,17134,13473],{"class":146},[112,17136,1697],{"class":765},[112,17138,13478],{"class":146},[112,17140,13481],{"class":1788},[112,17142,1697],{"class":765},[112,17144,13354],{"class":136},[112,17146,1776],{"class":146},[112,17148,13490],{"class":1788},[112,17150,1697],{"class":765},[112,17152,13495],{"class":136},[112,17154,1860],{"class":146},[112,17156,17157,17159,17161],{"class":114,"line":1849},[112,17158,1973],{"class":1788},[112,17160,1697],{"class":765},[112,17162,2037],{"class":146},[112,17164,17165,17168,17170,17172],{"class":114,"line":1863},[112,17166,17167],{"class":136},"            \"-name\"",[112,17169,1776],{"class":146},[112,17171,13516],{"class":136},[112,17173,1860],{"class":146},[112,17175,17176,17179,17181,17183],{"class":114,"line":1875},[112,17177,17178],{"class":136},"            \"-x\"",[112,17180,1776],{"class":146},[112,17182,15367],{"class":136},[112,17184,1860],{"class":146},[112,17186,17187,17190,17192,17194,17196],{"class":114,"line":1902},[112,17188,17189],{"class":136},"            \"-z\"",[112,17191,1776],{"class":146},[112,17193,13540],{"class":136},[112,17195,1776],{"class":146},[112,17197,13545],{"class":125},[112,17199,17200,17203,17205,17207],{"class":114,"line":1918},[112,17201,17202],{"class":136},"            \"-y\"",[112,17204,1776],{"class":146},[112,17206,13528],{"class":136},[112,17208,1860],{"class":146},[112,17210,17211,17214,17216,17218],{"class":114,"line":1923},[112,17212,17213],{"class":136},"            \"-topic\"",[112,17215,1776],{"class":146},[112,17217,13566],{"class":136},[112,17219,13569],{"class":146},[112,17221,17222,17224,17226,17228],{"class":114,"line":1928},[112,17223,2081],{"class":1788},[112,17225,1697],{"class":765},[112,17227,13579],{"class":136},[112,17229,1466],{"class":146},[112,17231,17232],{"class":114,"line":1934},[112,17233,119],{"emptyLinePlaceholder":118},[112,17235,17236],{"class":114,"line":1944},[112,17237,1931],{"class":125},[112,17239,17240,17242,17244],{"class":114,"line":1957},[112,17241,1937],{"class":146},[112,17243,1697],{"class":765},[112,17245,1846],{"class":146},[112,17247,17248,17250,17252,17254],{"class":114,"line":1970},[112,17249,1947],{"class":1788},[112,17251,1697],{"class":765},[112,17253,15436],{"class":136},[112,17255,1860],{"class":146},[112,17257,17258,17260,17262,17264],{"class":114,"line":1985},[112,17259,1960],{"class":1788},[112,17261,1697],{"class":765},[112,17263,15447],{"class":136},[112,17265,1860],{"class":146},[112,17267,17268,17270,17272,17274,17276],{"class":114,"line":1993},[112,17269,1973],{"class":1788},[112,17271,1697],{"class":765},[112,17273,799],{"class":146},[112,17275,15460],{"class":136},[112,17277,1860],{"class":146},[112,17279,17280,17283],{"class":114,"line":2001},[112,17281,17282],{"class":136},"            \"\u002Fmodel\u002Fmycar\u002Fodometry@nav_msgs\u002Fmsg\u002FOdometry@gz.msgs.Odometry\"",[112,17284,1860],{"class":146},[112,17286,17287,17290],{"class":114,"line":2007},[112,17288,17289],{"class":136},"            \"\u002Fmodel\u002Fmycar\u002Ftf@tf2_msgs\u002Fmsg\u002FTFMessage[gz.msgs.Pose_V\"",[112,17291,1860],{"class":146},[112,17293,17294,17297],{"class":114,"line":2029},[112,17295,17296],{"class":136},"            \"\u002Fclock@rosgraph_msgs\u002Fmsg\u002FClock[gz.msgs.Clock\"",[112,17298,1860],{"class":146},[112,17300,17301,17304],{"class":114,"line":2040},[112,17302,17303],{"class":136},"            \"\u002Fworld\u002Fempty\u002Fmodel\u002Fmycar\u002Fjoint_state@sensor_msgs\u002Fmsg\u002FJointState[gz.msgs.Model\"",[112,17305,1860],{"class":146},[112,17307,17308,17311],{"class":114,"line":2057},[112,17309,17310],{"class":136},"            \"\u002Fscan@sensor_msgs\u002Fmsg\u002FLaserScan@gz.msgs.LaserScan\"",[112,17312,1860],{"class":146},[112,17314,17315,17318],{"class":114,"line":2072},[112,17316,17317],{"class":136},"            \"\u002Fscan\u002Fpoints@sensor_msgs\u002Fmsg\u002FPointCloud2@gz.msgs.PointCloudPacked\"",[112,17319,1860],{"class":146},[112,17321,17322,17325],{"class":114,"line":2078},[112,17323,17324],{"class":136},"            \"\u002Fimage_raw@sensor_msgs\u002Fmsg\u002FImage@gz.msgs.Image\"",[112,17326,1860],{"class":146},[112,17328,17329,17332],{"class":114,"line":2089},[112,17330,17331],{"class":136},"            \"\u002Fcamera_info@sensor_msgs\u002Fmsg\u002FCameraInfo@gz.msgs.CameraInfo\"",[112,17333,1860],{"class":146},[112,17335,17336,17339],{"class":114,"line":2094},[112,17337,17338],{"class":136},"            \"\u002Fdepth_camera@sensor_msgs\u002Fmsg\u002FImage@gz.msgs.Image\"",[112,17340,1860],{"class":146},[112,17342,17343,17346],{"class":114,"line":2099},[112,17344,17345],{"class":136},"            \"\u002Fimu@sensor_msgs\u002Fmsg\u002FImu[gz.msgs.IMU\"",[112,17347,1860],{"class":146},[112,17349,17350],{"class":114,"line":2108},[112,17351,17352],{"class":136},"            \"\u002Fimu\u002Fangular_velocity@geometry_msgs\u002Fmsg\u002FVector3[gz.msgs.Vector3d\"\n",[112,17354,17355],{"class":114,"line":2114},[112,17356,17357],{"class":146},"        ],\n",[112,17359,17360,17362,17364,17366,17368,17370,17372],{"class":114,"line":2134},[112,17361,2010],{"class":1788},[112,17363,1697],{"class":765},[112,17365,2015],{"class":146},[112,17367,15505],{"class":136},[112,17369,1803],{"class":146},[112,17371,15510],{"class":136},[112,17373,2026],{"class":146},[112,17375,17376,17378,17380],{"class":114,"line":2147},[112,17377,2032],{"class":1788},[112,17379,1697],{"class":765},[112,17381,2037],{"class":146},[112,17383,17384,17387,17389,17391,17393],{"class":114,"line":2153},[112,17385,17386],{"class":146},"            (",[112,17388,15527],{"class":136},[112,17390,1776],{"class":146},[112,17392,15532],{"class":136},[112,17394,2054],{"class":146},[112,17396,17397,17399,17401,17403,17405],{"class":114,"line":2159},[112,17398,17386],{"class":146},[112,17400,15541],{"class":136},[112,17402,1737],{"class":146},[112,17404,15546],{"class":136},[112,17406,2054],{"class":146},[112,17408,17409,17411,17413,17415,17417],{"class":114,"line":3638},[112,17410,17386],{"class":146},[112,17412,15555],{"class":136},[112,17414,1737],{"class":146},[112,17416,15560],{"class":136},[112,17418,1466],{"class":146},[112,17420,17421],{"class":114,"line":3651},[112,17422,17357],{"class":146},[112,17424,17425,17427,17429],{"class":114,"line":3665},[112,17426,2081],{"class":1788},[112,17428,1697],{"class":765},[112,17430,15575],{"class":136},[112,17432,17433],{"class":114,"line":3678},[112,17434,1824],{"class":146},[112,17436,17437],{"class":114,"line":3687},[112,17438,119],{"emptyLinePlaceholder":118},[112,17440,17441,17443],{"class":114,"line":3696},[112,17442,2102],{"class":765},[112,17444,2105],{"class":146},[112,17446,17447],{"class":114,"line":3711},[112,17448,2111],{"class":146},[112,17450,17451],{"class":114,"line":3720},[112,17452,13600],{"class":146},[112,17454,17455],{"class":114,"line":3733},[112,17456,13605],{"class":146},[112,17458,17459],{"class":114,"line":3747},[112,17460,15606],{"class":146},[112,17462,17463],{"class":114,"line":3756},[112,17464,2162],{"class":146},[15,17466,17467],{},[50,17468,2175],{},[15,17470,2178],{},[102,17472,17473],{"className":104,"code":13618,"language":106,"meta":107,"style":107},[109,17474,17475],{"__ignoreMap":107},[112,17476,17477,17479,17481,17483,17485],{"class":114,"line":115},[112,17478,2188],{"class":132},[112,17480,2191],{"class":136},[112,17482,13629],{"class":576},[112,17484,13632],{"class":136},[112,17486,1432],{"class":136},[15,17488,17489],{},[50,17490,2206],{},[15,17492,2209],{},[102,17494,17496],{"className":104,"code":17495,"language":106,"meta":107,"style":107},". 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",[109,17497,17498,17504,17517],{"__ignoreMap":107},[112,17499,17500,17502],{"class":114,"line":115},[112,17501,2219],{"class":576},[112,17503,2222],{"class":136},[112,17505,17506,17508,17510,17512,17514],{"class":114,"line":122},[112,17507,9406],{"class":765},[112,17509,13668],{"class":146},[112,17511,1697],{"class":765},[112,17513,15660],{"class":146},[112,17515,17516],{"class":125},"# MYCAR_MODEL值可以设置为arduino、stm32_2w 或stm32_4w\n",[112,17518,17519,17521,17523,17525],{"class":114,"line":129},[112,17520,263],{"class":132},[112,17522,266],{"class":136},[112,17524,2231],{"class":136},[112,17526,9339],{"class":136},[15,17528,15675],{},[15,17530,17531],{},"还可以启动rviz2，以查看机器人发布的诸多数据。终端中进入当前工作空间，调用如下指令执行launch文件：",[102,17533,17534],{"className":104,"code":15698,"language":106,"meta":107,"style":107},[109,17535,17536,17542],{"__ignoreMap":107},[112,17537,17538,17540],{"class":114,"line":115},[112,17539,2219],{"class":576},[112,17541,2222],{"class":136},[112,17543,17544],{"class":114,"line":122},[112,17545,15711],{"class":132},[15,17547,17548],{},[200,17549],{"alt":107,"src":17550},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1739.webp",[15,17552,17553],{},[200,17554],{"alt":107,"src":17555},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1740.webp",[15,17557,12907],{},[15,17559,17560],{},[55,17561,12912],{"href":12912,"rel":17562},[59],[15,17564,17565],{},"(把上面的全部复现，才能够进行下一章导航，下一章导航依然基于仿真)",[17567,17568,17569],"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":107,"searchDepth":122,"depth":122,"links":17571},[17572],{"id":12,"depth":129,"text":13},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-ignitiongazebo","1100-0200","2023-12-30","wiki\u002F2023-12-30-ros2-tutorial","zh-cn:2023-12-30-ros2-tutorial","\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial","Ros2 Tutorial","md","wiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-IgnitionGazebo",false,null,"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-ignitiongazebo","zh-CN","zh-cn",{},{"title":5,"description":107},"VDSsFA73r-qc8sAykyYuFM8vHill97trRVrNd1z-Veo",[17591,17597,17602,17607,17612,17617,17622,17627,17632,17637,17642,17647,17648,17653,17658,17663,17668,17673,17678,17683,17688,17693,17698,17703,17708,17713,17717,17722,17726,17731,17736,17741,17746,17751,17756,17761,17766,17771,17776,17781,17786,17791,17796,17801,17806,17811,17816,17821,17826,17831,17836,17841,17846,17851,17856,17861,17866,17871,17876,17881],{"path":17592,"stem":17593,"title":17594,"date":17575,"chapterOrder":17595,"chapterDepth":17596,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0100-ros2-jie-shao","wiki\u002F2023-12-30-ros2-tutorial\u002F0100-ROS2介绍","ROS2介绍","0100",0,{"path":17598,"stem":17599,"title":17600,"date":17575,"chapterOrder":17601,"chapterDepth":17596,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0200-ru-men-cao-zuo","wiki\u002F2023-12-30-ros2-tutorial\u002F0200-入门操作","入门操作","0200",{"path":17603,"stem":17604,"title":17605,"date":17575,"chapterOrder":17606,"chapterDepth":17596,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0300-gong-zuo-kong-jian-yu-gong-neng-bao","wiki\u002F2023-12-30-ros2-tutorial\u002F0300-工作空间与功能包","工作空间与功能包","0300",{"path":17608,"stem":17609,"title":17610,"date":17575,"chapterOrder":17611,"chapterDepth":17596,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0400-si-da-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F0400-四大通信","四大通信","0400",{"path":17613,"stem":17614,"title":17615,"date":17575,"chapterOrder":17616,"chapterDepth":17596,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0500-ros2-qi-ta-tong-xin-ji-zhi","wiki\u002F2023-12-30-ros2-tutorial\u002F0500-ROS2其他通信机制","ROS2其他通信机制","0500",{"path":17618,"stem":17619,"title":17620,"date":17575,"chapterOrder":17621,"chapterDepth":17596,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0600-launch","wiki\u002F2023-12-30-ros2-tutorial\u002F0600-Launch","Launch","0600",{"path":17623,"stem":17624,"title":17625,"date":17575,"chapterOrder":17626,"chapterDepth":17596,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0700-hui-su-rosbag2","wiki\u002F2023-12-30-ros2-tutorial\u002F0700-回溯rosbag2","回溯rosbag2","0700",{"path":17628,"stem":17629,"title":17630,"date":17575,"chapterOrder":17631,"chapterDepth":17596,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0800-zuo-biao-bian-huan-tf","wiki\u002F2023-12-30-ros2-tutorial\u002F0800-坐标变换TF","坐标变换TF","0800",{"path":17633,"stem":17634,"title":17635,"date":17575,"chapterOrder":17636,"chapterDepth":17596,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0900-ke-shi-hua-ping-tai-rviz2-yu-urdf-jian-mo-yu-yan","wiki\u002F2023-12-30-ros2-tutorial\u002F0900-可视化平台RVIZ2与URDF建模语言","可视化平台RVIZ2与URDF建模语言","0900",{"path":17638,"stem":17639,"title":17640,"date":17575,"chapterOrder":17641,"chapterDepth":17596,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1000-stage-ros2-fang-zhen-ping-tai","wiki\u002F2023-12-30-ros2-tutorial\u002F1000-Stage_Ros2仿真平台","Stage_Ros2仿真平台","1000",{"path":17643,"stem":17644,"title":17645,"date":17575,"chapterOrder":17646,"chapterDepth":115,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0100-gazeboclassic","wiki\u002F2023-12-30-ros2-tutorial\u002F1100-0100-GazeboClassic","Gezebo Classic","1100-0100",{"path":17573,"stem":17581,"title":5,"date":17575,"chapterOrder":17574,"chapterDepth":115,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},{"path":17649,"stem":17650,"title":17651,"date":17575,"chapterOrder":17652,"chapterDepth":115,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0300-gazebosim","wiki\u002F2023-12-30-ros2-tutorial\u002F1100-0300-GazeboSim","Gz Sim（Gazebo Harmonic）","1100-0300",{"path":17654,"stem":17655,"title":17656,"date":17575,"chapterOrder":17657,"chapterDepth":115,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0400-igngz2gzsim","wiki\u002F2023-12-30-ros2-tutorial\u002F1100-0400-Igngz2gzsim","将Ign Gazebo迁移至Gz Sim","1100-0400",{"path":17659,"stem":17660,"title":17661,"date":17575,"chapterOrder":17662,"chapterDepth":17596,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-gezebo-fang-zhen-ping-tai","wiki\u002F2023-12-30-ros2-tutorial\u002F1100-Gezebo仿真平台","Gezebo仿真平台","1100",{"path":17664,"stem":17665,"title":17666,"date":17575,"chapterOrder":17667,"chapterDepth":115,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0100-humble-ban-ben","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0100-Humble版本","Humble导航仿真","1200-0100",{"path":17669,"stem":17670,"title":17671,"date":17575,"chapterOrder":17672,"chapterDepth":115,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0200-jazzy-ban-ben","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0200-Jazzy版本","Jazzy导航仿真","1200-0200",{"path":17674,"stem":17675,"title":17676,"date":17575,"chapterOrder":17677,"chapterDepth":115,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0300-humble2jazzy","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0300-Humble2Jazzy","Humble与Jazzy导航的差异","1200-0300",{"path":17679,"stem":17680,"title":17681,"date":17575,"chapterOrder":17682,"chapterDepth":17596,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-ji-qi-ren-dao-hang-navigation2-fang-zhen-pian","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-机器人导航Navigation2(仿真篇)","机器人导航Navigation2(仿真篇)","1200",{"path":17684,"stem":17685,"title":17686,"date":17575,"chapterOrder":17687,"chapterDepth":122,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-0100-boost-aiso","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-0100-Boost.Aiso","Boost.Asio库","1300-0100-0100",{"path":17689,"stem":17690,"title":17691,"date":17575,"chapterOrder":17692,"chapterDepth":122,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-0200-ros2-serial-driver","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-0200-ros2_serial_driver","ROS2 Serial Driver库","1300-0100-0200",{"path":17694,"stem":17695,"title":17696,"date":17575,"chapterOrder":17697,"chapterDepth":115,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-chuan-kou-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-串口通信","UART串口通信","1300-0100",{"path":17699,"stem":17700,"title":17701,"date":17575,"chapterOrder":17702,"chapterDepth":122,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0100-socketcan","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0100-socketcan","SocketCAN","1300-0200-0100",{"path":17704,"stem":17705,"title":17706,"date":17575,"chapterOrder":17707,"chapterDepth":122,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0200-ros2-socketcan","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0200-ros2_socketcan","ROS2_SocketCAN","1300-0200-0200",{"path":17709,"stem":17710,"title":17711,"date":17575,"chapterOrder":17712,"chapterDepth":115,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-can-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-CAN通信","CAN通信","1300-0200",{"path":17714,"stem":17715,"title":17686,"date":17575,"chapterOrder":17716,"chapterDepth":122,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-0100-boost-aiso","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-0100-Boost.Aiso","1300-0300-0100",{"path":17718,"stem":17719,"title":17720,"date":17575,"chapterOrder":17721,"chapterDepth":115,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-tcp-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-TCP通信","TCP通信","1300-0300",{"path":17723,"stem":17724,"title":17686,"date":17575,"chapterOrder":17725,"chapterDepth":122,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-0100-boost-aiso","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-0100-Boost.Aiso","1300-0400-0100",{"path":17727,"stem":17728,"title":17729,"date":17575,"chapterOrder":17730,"chapterDepth":115,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-udp-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-UDP通信","UDP通信","1300-0400",{"path":17732,"stem":17733,"title":17734,"date":17575,"chapterOrder":17735,"chapterDepth":17596,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-linux-ying-jian-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-Linux硬件通信","Linux硬件通信","1300",{"path":17737,"stem":17738,"title":17739,"date":17575,"chapterOrder":17740,"chapterDepth":115,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0100-ji-qi-ren-zu-cheng","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0100-机器人组成","机器人组成","1400-0100",{"path":17742,"stem":17743,"title":17744,"date":17575,"chapterOrder":17745,"chapterDepth":122,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-0100-yuan-cheng-kai-fa-ssh","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-0100-远程开发SSH","远程开发SSH","1400-0200-0100",{"path":17747,"stem":17748,"title":17749,"date":17575,"chapterOrder":17750,"chapterDepth":122,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-0200-yuan-cheng-fang-wen-zhuo-mian","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-0200-远程访问桌面","远程访问桌面","1400-0200-0200",{"path":17752,"stem":17753,"title":17754,"date":17575,"chapterOrder":17755,"chapterDepth":115,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-gong-kong-ji-zhi-yuan-cheng-kai-fa-huan-jing","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-工控机之远程开发环境","工控机之远程开发环境","1400-0200",{"path":17757,"stem":17758,"title":17759,"date":17575,"chapterOrder":17760,"chapterDepth":115,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0300-gong-kong-ji-zhi-wai-jie-usb-she-bei","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0300-工控机之外接USB设备","工控机之外接USB设备","1400-0300",{"path":17762,"stem":17763,"title":17764,"date":17575,"chapterOrder":17765,"chapterDepth":115,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0400-fen-bu-shi-da-jian","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0400-分布式搭建","分布式搭建","1400-0400",{"path":17767,"stem":17768,"title":17769,"date":17575,"chapterOrder":17770,"chapterDepth":115,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0500-you-hua-ri-zhi","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0500-优化日志","优化日志","1400-0500",{"path":17772,"stem":17773,"title":17774,"date":17575,"chapterOrder":17775,"chapterDepth":122,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0100-li-cheng-ji-odom","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0100-里程计Odom","里程计Odom","1400-0600-0100",{"path":17777,"stem":17778,"title":17779,"date":17575,"chapterOrder":17780,"chapterDepth":122,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0200-guan-xing-ji-imu","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0200-惯性计IMU","惯性计IMU","1400-0600-0200",{"path":17782,"stem":17783,"title":17784,"date":17575,"chapterOrder":17785,"chapterDepth":122,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0300-ji-guang-lei-da-lidar","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0300-激光雷达LiDAR","激光雷达LiDAR","1400-0600-0300",{"path":17787,"stem":17788,"title":17789,"date":17575,"chapterOrder":17790,"chapterDepth":122,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0400-xiang-ji-camera","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0400-相机Camera","相机Camera","1400-0600-0400",{"path":17792,"stem":17793,"title":17794,"date":17575,"chapterOrder":17795,"chapterDepth":122,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0500-quan-qiu-ding-wei-gnss","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0500-全球定位GNSS","全球定位GNSS","1400-0600-0500",{"path":17797,"stem":17798,"title":17799,"date":17575,"chapterOrder":17800,"chapterDepth":122,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0600-shou-bing-joy","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0600-手柄joy","手柄JOY","1400-0600-0600",{"path":17802,"stem":17803,"title":17804,"date":17575,"chapterOrder":17805,"chapterDepth":122,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0700-jian-pan-kong-zhi-jie-dian","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0700-键盘控制节点","键盘控制节点","1400-0600-0700",{"path":17807,"stem":17808,"title":17809,"date":17575,"chapterOrder":17810,"chapterDepth":115,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-ying-jian-ping-tai","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-硬件平台","硬件平台","1400-0600",{"path":17812,"stem":17813,"title":17814,"date":17575,"chapterOrder":17815,"chapterDepth":115,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0700-zuo-biao-xi-yu-hua-ti-guan-xi","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0700-坐标系与话题关系","坐标系与话题关系","1400-0700",{"path":17817,"stem":17818,"title":17819,"date":17575,"chapterOrder":17820,"chapterDepth":129,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0100-lun-shi-li-cheng-ji-biao-ding","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0100-轮式里程计标定","轮式里程计标定","1400-0800-0100-0100",{"path":17822,"stem":17823,"title":17824,"date":17575,"chapterOrder":17825,"chapterDepth":129,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0200-lun-shi-li-cheng-ji-yu-imu-rong-he","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-0200-轮式里程计与IMU融合","轮式里程计与IMU融合","1400-0800-0100-0200",{"path":17827,"stem":17828,"title":17829,"date":17575,"chapterOrder":17830,"chapterDepth":122,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-lun-shi-li-cheng-ji-biao-ding-yu-rong-he","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0100-轮式里程计标定与融合","轮式里程计标定与融合","1400-0800-0100",{"path":17832,"stem":17833,"title":17834,"date":17575,"chapterOrder":17835,"chapterDepth":122,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0200-ji-guang-lei-da-gong-ju","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0200-激光雷达工具","激光雷达工具","1400-0800-0200",{"path":17837,"stem":17838,"title":17839,"date":17575,"chapterOrder":17840,"chapterDepth":122,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0300-xiang-ji-shi-yong-jin-jie","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0300-相机使用进阶","相机使用进阶","1400-0800-0300",{"path":17842,"stem":17843,"title":17844,"date":17575,"chapterOrder":17845,"chapterDepth":115,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-ying-jian-ping-tai-jin-jie","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-硬件平台进阶","硬件平台进阶","1400-0800",{"path":17847,"stem":17848,"title":17849,"date":17575,"chapterOrder":17850,"chapterDepth":17596,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-ji-qi-ren-ying-jian","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-机器人硬件","机器人硬件","1400",{"path":17852,"stem":17853,"title":17854,"date":17575,"chapterOrder":17855,"chapterDepth":17596,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1500-ros2-control","wiki\u002F2023-12-30-ros2-tutorial\u002F1500-ROS2_Control","ROS2_Control","1500",{"path":17857,"stem":17858,"title":17859,"date":17575,"chapterOrder":17860,"chapterDepth":17596,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1600-moveit2-gong-ye-ji-qi-ren-ji-xie-bi","wiki\u002F2023-12-30-ros2-tutorial\u002F1600-Moveit2工业机器人机械臂","Moveit2工业机器人机械臂","1600",{"path":17862,"stem":17863,"title":17864,"date":17575,"chapterOrder":17865,"chapterDepth":17596,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1700-ji-qi-ren-dao-hang-navigation2-shi-ti-pian","wiki\u002F2023-12-30-ros2-tutorial\u002F1700-机器人导航Navigation2(实体篇)","机器人导航Navigation2(实体篇)","1700",{"path":17867,"stem":17868,"title":17869,"date":17575,"chapterOrder":17870,"chapterDepth":17596,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1800-microros","wiki\u002F2023-12-30-ros2-tutorial\u002F1800-MicroROS","MicroROS","1800",{"path":17872,"stem":17873,"title":17874,"date":17575,"chapterOrder":17875,"chapterDepth":17596,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1900-webots-fang-zhen-ping-tai","wiki\u002F2023-12-30-ros2-tutorial\u002F1900-Webots仿真平台","Webots仿真平台","1900",{"path":17877,"stem":17878,"title":17879,"date":17575,"chapterOrder":17880,"chapterDepth":17596,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":17582},"\u002Fzh-cn\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F2000-opencv","wiki\u002F2023-12-30-ros2-tutorial\u002F2000-OpenCV","OpenCV","2000",{"path":17578,"stem":17882,"title":17883,"date":17575,"chapterOrder":17583,"chapterDepth":17596,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":118,"isWikiIndex":118},"wiki\u002F2023-12-30-ros2-tutorial\u002Findex","ROS2机器人操作系统教程",{"variants":17885},[17886,17889,17892,17895,17898],{"path":17887,"localeSlug":17888,"i18nKey":17581},"\u002Fen-us\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-ignitiongazebo","en-us",{"path":17890,"localeSlug":17891,"i18nKey":17581},"\u002Fzh-hant\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-ignitiongazebo","zh-hant",{"path":17893,"localeSlug":17894,"i18nKey":17581},"\u002Fzh-hk\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-ignitiongazebo","zh-hk",{"path":17896,"localeSlug":17897,"i18nKey":17581},"\u002Fzh-tw\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-ignitiongazebo","zh-tw",{"path":17573,"localeSlug":17586,"i18nKey":17581},[17887,17584,17890,17584,17893,17584,17896,17584,17573,17584],1784646769291]