[{"data":1,"prerenderedAt":18008},["ShallowReactive",2],{"wiki-page-\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-ignitiongazebo":3,"wiki-doc-items-2023-12-30-ros2-tutorial":17587,"wiki:author-members":17996},{"id":4,"title":5,"authors":6,"body":8,"chapterDepth":117,"chapterOrder":17575,"date":17576,"description":109,"docKey":17577,"docRoot":17578,"docTitle":17579,"extension":17580,"isWikiDoc":120,"isWikiIndex":17581,"meta":17582,"navigation":120,"path":17583,"seo":17584,"stem":17585,"wikiDepth":117,"__hash__":17586},"wiki\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-IgnitionGazebo.md","Ignition Gazebo（Gazebo Fortress）",[7],"董佳辉",{"type":9,"value":10,"toc":17572},"minimark",[11,16,20,28,33,36,39,42,45,48,64,67,73,76,82,88,95,100,103,199,205,210,213,216,253,256,275,282,287,292,295,300,303,306,311,318,324,329,334,339,344,349,354,359,367,372,458,463,468,473,478,483,488,491,496,510,515,518,521,526,531,535,538,549,552,557,564,609,612,634,637,642,647,654,675,689,694,700,724,727,732,735,738,743,746,772,783,786,789,809,812,815,823,826,832,835,847,850,862,865,877,880,904,911,916,919,1370,1373,1398,1402,1409,1414,1417,1435,1440,1445,1448,1469,1472,1477,1482,1485,1490,1495,1502,1505,1510,1513,1534,1539,1544,1547,2165,2168,2173,2178,2181,2199,2204,2209,2212,2237,2240,2256,2271,2276,2283,2286,2291,2338,2341,2346,2366,2371,2374,2526,2529,2715,2718,2879,2884,2891,2894,2897,2900,2905,2910,6122,6127,6206,6209,9096,9101,9104,9292,9297,9299,9313,9318,9320,9342,9345,9348,9353,9359,9362,9367,9370,9376,9379,9382,9387,9390,9438,9444,9449,9468,9473,9476,9479,12847,12851,12853,12867,12871,12873,12893,12895,12900,12904,12907,12910,12916,12921,12924,12929,12932,13224,13227,13232,13235,13612,13616,13618,13637,13641,13644,13686,13688,13693,13701,13704,13710,13716,13721,13727,13730,13736,13823,13826,13829,13947,13952,13959,14291,14296,14629,14632,15085,15090,15093,15613,15617,15619,15635,15639,15641,15675,15678,15692,15695,15698,15714,15717,15725,15730,15734,15737,15742,15752,15826,15829,15834,15839,15842,16692,16695,16858,16865,16868,16895,16898,16903,16905,17467,17471,17473,17489,17493,17495,17529,17531,17534,17548,17553,17558,17560,17565,17568],[12,13,15],"h3",{"id":14},"ignition-gazebogazebo-fortress基于ros2-humble","Ignition Gazebo（Gazebo Fortress，基于ROS2 Humble）",[17,18,19],"p",{},"** 建议使用ROS2 Jazzy的，这个ROS2 Humble的Gazebo像过渡版本，代码可能和后续版本又冲突！ **\n(该版本教程已经停更，以后会专注于更新ROS2 Jazzy及之后的版本，也就是更新Gazebo Harmonic及之后的版本。)",[17,21,22,23],{},"详见",[24,25,27],"nuxt-link",{"to":26},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0300-gazebosim#Gz Sim（Gazebo Harmonic 及之后的版本（ROS2 Jazzy及之后的版本））","Gz Sim教程",[29,30,32],"h4",{"id":31},"ign-gazebo安装与运行","Ign Gazebo安装与运行",[17,34,35],{},"Gazebo每个版本的变化都很大。",[17,37,38],{},"特别是ROS1用的老版Gazebo(黑色界面)和ROS2用的新版Gazebo(白色界面)。",[17,40,41],{},"ROS2的不同版本的Gazebo跨度也很大，比如Humble和Jazzy及Jazzy之后的版本之间很多标签区别很大。",[17,43,44],{},"本文使用humble版本(即Ignition Gazebo)当做教程。",[17,46,47],{},"当然，为了兼容以后的Gazebo，在下方也会有教程教你如何从ign gazebo迁移到gazebo sim（最最最新版gazebo）。",[17,49,50,51,55,56,63],{},"Ignition Gazebo 是 ROS2 中使用的全新机器人仿真工具，",[52,53,54],"strong",{},"它是 Gazebo 的升级版本","。在Humble他还叫Ignition Gazebo(也叫Gazebo Fortress)，在Jazzy中叫Gazebo Harmonic(去掉了Ignition的名字)(",[57,58,62],"a",{"href":59,"rel":60},"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",[61],"nofollow","https:\u002F\u002Fcommunity.gazebosim.org\u002Ft\u002Fa-new-era-for-gazebo\u002F1356)。它具备更好的性能和可用性，并通过紧密集成"," ROS2 来提供强大的仿真环境。Ignition Gazebo 支持各种机器人平台和传感器，并提供灵活的配置选项和易于使用的界面。它的物理引擎和传感器模型可以帮助开发人员进行机器人系统的开发、测试和验证。无论是研究还是教育，Ignition Gazebo 都是一个强大的工具。",[17,65,66],{},"如果想从Ignition Gazebo(ROS2 Humble)迁移到Gazebo(ROS2 Jazzy)，请往下翻翻，下面有一节是讲如何迁移的。",[17,68,69],{},[57,70,71],{"href":71,"rel":72},"https:\u002F\u002Fdocs.ros.org\u002Fen\u002Fhumble\u002FTutorials\u002FAdvanced\u002FSimulators\u002FGazebo\u002FGazebo.html",[61],[17,74,75],{},"下面这个网站是官方教程(ROS2 Humble的Ignition Gazebo Fortress)：",[17,77,78],{},[57,79,80],{"href":80,"rel":81},"https:\u002F\u002Fgazebosim.org\u002Fdocs\u002Ffortress\u002Fgetstarted\u002F",[61],[17,83,84],{},[57,85,86],{"href":86,"rel":87},"https:\u002F\u002Fgazebosim.org\u002Fdocs\u002Ffortress\u002Flibrary_reference_nav\u002F",[61],[17,89,90,91],{},"源码：",[57,92,93],{"href":93,"rel":94},"https:\u002F\u002Fgithub.com\u002Fgazebosim\u002Fdocs\u002Fblob\u002Fmaster\u002Ffortress\u002Ftutorials",[61],[17,96,97],{},[52,98,99],{},"安装",[17,101,102],{},"Ignition Gazebo 是不依赖于ROS2的一个独立的项目，可以独自安装。但是如果安装了ROS2，在ROS2存储库中已经集成了对应版本的 Ignition Gazebo，可以调用如下指令直接安装：",[104,105,110],"pre",{"className":106,"code":107,"language":108,"meta":109,"style":109},"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","",[111,112,113,122,129,153,158,164,176,181,187],"code",{"__ignoreMap":109},[114,115,118],"span",{"class":116,"line":117},"line",1,[114,119,121],{"emptyLinePlaceholder":120},true,"\n",[114,123,125],{"class":116,"line":124},2,[114,126,128],{"class":127},"sJ8bj","# 通用命令\n",[114,130,132,136,140,143,146,150],{"class":116,"line":131},3,[114,133,135],{"class":134},"sScJk","sudo",[114,137,139],{"class":138},"sZZnC"," apt",[114,141,142],{"class":138}," install",[114,144,145],{"class":138}," ros-",[114,147,149],{"class":148},"sVt8B","${ROS_DISTRO}",[114,151,152],{"class":138},"-ros-gz\n",[114,154,156],{"class":116,"line":155},4,[114,157,121],{"emptyLinePlaceholder":120},[114,159,161],{"class":116,"line":160},5,[114,162,163],{"class":127},"# Humble版本\n",[114,165,167,169,171,173],{"class":116,"line":166},6,[114,168,135],{"class":134},[114,170,139],{"class":138},[114,172,142],{"class":138},[114,174,175],{"class":138}," ros-humble-ros-gz\n",[114,177,179],{"class":116,"line":178},7,[114,180,121],{"emptyLinePlaceholder":120},[114,182,184],{"class":116,"line":183},8,[114,185,186],{"class":127},"# Jazzy版本\n",[114,188,190,192,194,196],{"class":116,"line":189},9,[114,191,135],{"class":134},[114,193,139],{"class":138},[114,195,142],{"class":138},[114,197,198],{"class":138}," ros-jazzy-ros-gz\n",[17,200,201],{},[202,203],"img",{"alt":109,"src":204},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1705.webp",[17,206,207],{},[52,208,209],{},"运行",[17,211,212],{},"Ignition Gazebo 安装完毕之后，可以通过两种方式启动。",[17,214,215],{},"方式1，以Ignition Gazebo 的方式启动，指令如下：",[104,217,219],{"className":106,"code":218,"language":108,"meta":109,"style":109},"\n# Humble版本\nign gazebo\n\n# Jazzy版本\ngz sim\n",[111,220,221,225,229,237,241,245],{"__ignoreMap":109},[114,222,223],{"class":116,"line":117},[114,224,121],{"emptyLinePlaceholder":120},[114,226,227],{"class":116,"line":124},[114,228,163],{"class":127},[114,230,231,234],{"class":116,"line":131},[114,232,233],{"class":134},"ign",[114,235,236],{"class":138}," gazebo\n",[114,238,239],{"class":116,"line":155},[114,240,121],{"emptyLinePlaceholder":120},[114,242,243],{"class":116,"line":160},[114,244,186],{"class":127},[114,246,247,250],{"class":116,"line":166},[114,248,249],{"class":134},"gz",[114,251,252],{"class":138}," sim\n",[17,254,255],{},"方式2，以ROS2的方式 启动，指令如下 ：",[104,257,259],{"className":106,"code":258,"language":108,"meta":109,"style":109},"ros2 launch ros_gz_sim gz_sim.launch.py\n",[111,260,261],{"__ignoreMap":109},[114,262,263,266,269,272],{"class":116,"line":117},[114,264,265],{"class":134},"ros2",[114,267,268],{"class":138}," launch",[114,270,271],{"class":138}," ros_gz_sim",[114,273,274],{"class":138}," gz_sim.launch.py\n",[17,276,277,278,281],{},"二者运行结果一致，如下图所示：在弹出窗口中，选择仿真环境然后点击",[111,279,280],{},"run","按钮即可运行。",[17,283,284],{},[202,285],{"alt":109,"src":286},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1706.webp",[17,288,289],{},[52,290,291],{},"界面介绍",[17,293,294],{},"接下来以Empty仿真环境为例，介绍一下Ignition Gazebo的界面组成。",[17,296,297],{},[202,298],{"alt":109,"src":299},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1707.webp",[17,301,302],{},"注意：如果你的Gazebo不卡，但是Ignition Gazebo巨卡的话，请确认Ignition Gazebo是以独显打开的，而不是核显。",[17,304,305],{},"如果不会切换应用显卡，可以直接把核显关闭掉，从混合输出切换为独立显卡输出。",[17,307,308],{},[52,309,310],{},"工具栏",[312,313,314],"ul",{},[315,316,317],"li",{},"顶部的工具栏包含两个按钮，左侧的文件菜单按钮（水平条纹）和右侧的插件按钮（垂直省略号）。",[319,320,321],"ol",{},[315,322,323],{},"文件菜单按钮（水平条纹）",[17,325,326],{},[202,327],{"alt":109,"src":328},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1708.webp",[312,330,331],{},[315,332,333],{},"文件菜单按钮包含将仿真环境保存到文件、保存和加载界面配置以及自定义界面样式等设置。",[319,335,336],{"start":124},[315,337,338],{},"右侧的插件按钮（垂直省略号）",[17,340,341],{},[202,342],{"alt":109,"src":343},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1709.webp",[312,345,346],{},[315,347,348],{},"插件按钮列出了所有可用的插件。点击后会弹出插件列表，向下滚动此列表以查看所有插件。 当选择一个时，其界面将出现在右侧面板中。",[17,350,351],{},[52,352,353],{},"3D视窗",[312,355,356],{},[315,357,358],{},"左上方工具栏包含多种几何体（球体、框体、圆柱体）按钮和变换控件。通过集合体按钮可以直接将盒子、球体或圆柱体模型插入仿真环境。只需单击要插入的形状，然后将其放入环境中。该形状将自动捕捉到地平面上。",[17,360,361,364],{},[202,362],{"alt":109,"src":363},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1710.webp",[202,365],{"alt":109,"src":366},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1711.webp",[312,368,369],{},[315,370,371],{},"主视图会显示仿真环境，我们可以通过鼠标以不同方式来导航场景，相关操作如下：",[104,373,375],{"className":106,"code":374,"language":108,"meta":109,"style":109},"左键单击：选择实体\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",[111,376,377,382,387,395,400,405,410,418,429,434,440,446,452],{"__ignoreMap":109},[114,378,379],{"class":116,"line":117},[114,380,381],{"class":134},"左键单击：选择实体\n",[114,383,384],{"class":116,"line":124},[114,385,386],{"class":134},"右键单击：打开带有选项的菜单：\n",[114,388,389,392],{"class":116,"line":131},[114,390,391],{"class":134},"   Move",[114,393,394],{"class":138}," to：移动到以实体为中心的场景\n",[114,396,397],{"class":116,"line":155},[114,398,399],{"class":134},"   Follow：选择一个实体让视图保持居中，无论是移动还是平移\n",[114,401,402],{"class":116,"line":160},[114,403,404],{"class":134},"   Remove：从模拟中删除实体\n",[114,406,407],{"class":116,"line":166},[114,408,409],{"class":134},"   Copy：复制实体\n",[114,411,412,415],{"class":116,"line":178},[114,413,414],{"class":134},"   Past:",[114,416,417],{"class":138}," 粘贴实体\n",[114,419,420,423,426],{"class":116,"line":183},[114,421,422],{"class":134},"   View：显示实体的重心（Center",[114,424,425],{"class":138}," of",[114,427,428],{"class":138}," Mass）、碰撞边界（Collisions）、惯性（Inertia）、\n",[114,430,431],{"class":116,"line":189},[114,432,433],{"class":134},"         关节（Joints）、坐标系（Frames）、透明度（Transparent）、线框（Wireframe）等属性\n",[114,435,437],{"class":116,"line":436},10,[114,438,439],{"class":134},"左键单击并拖动：在场景中平移\n",[114,441,443],{"class":116,"line":442},11,[114,444,445],{"class":134},"右键单击并拖动：放大和缩小\n",[114,447,449],{"class":116,"line":448},12,[114,450,451],{"class":134},"滚轮向前\u002F向后：放大和缩小\n",[114,453,455],{"class":116,"line":454},13,[114,456,457],{"class":134},"滚轮单击并拖动：旋转场景\n",[312,459,460],{},[315,461,462],{},"想移动这个球，需要点左上角的移动模式，再左键单击选中物体",[17,464,465],{},[202,466],{"alt":109,"src":467},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1712.webp",[17,469,470],{},[202,471],{"alt":109,"src":472},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1713.webp",[312,474,475],{},[315,476,477],{},"在视窗的底部，从左到右分别是是播放、步长按钮和实时因子（Real-Time Factor，RTF）。点击播放按钮将开始运行仿真环境， 再次点击可以暂停运行。步长按钮用于设置仿真时间的离散单位，可以通过将鼠标悬停在按钮上来自定义步长。实时因子表示仿真运行速度相对于真实时间的比例。",[17,479,480],{},[202,481],{"alt":109,"src":482},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1714.webp",[17,484,485],{},[52,486,487],{},"右侧面板",[17,489,490],{},"右侧面板用于显示插件，当前仿真环境默认包含两个插件：Model和Entity Tree。",[17,492,493],{},[202,494],{"alt":109,"src":495},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1715.webp",[312,497,498,501,504,507],{},[315,499,500],{},"Entity Tree 中会显示仿真环境中的实体列表；",[315,502,503],{},"点击Entity Tree中的实体后，可以在Model中显示该实体的相关信息。",[315,505,506],{},"也可以按住 Ctrl 并单击以选择多个实体；",[315,508,509],{},"还可以右键单击任何插件以打开基本设置或关闭。",[17,511,512],{},[202,513],{"alt":109,"src":514},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1716.webp",[17,516,517],{},"在Ignition Gazebo中内置了许多插件，可以点击工具栏的右侧按钮自行添加，比如：可以选择 Grid Config 插件调整世界网格的特征，包括单元格大小、网格位置、单元格计数、或颜色等。",[17,519,520],{},"后期随着应用的深入，也会陆续介绍其他一些插件。",[17,522,523],{},[202,524],{"alt":109,"src":525},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1717.webp",[17,527,528],{},[202,529],{"alt":109,"src":530},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1718.webp",[29,532,534],{"id":533},"与ros2集成","与ROS2集成",[17,536,537],{},"本节将介绍如何实现Ignition Gazebo与ROS2的集成，以实现二者之间的交互，比如，可以通过ROS2的键盘控制节点控制机器人运动，并且在rviz2中显示机器人的里程计(odom)数据。其流程大致如下：",[319,539,540,543,546],{},[315,541,542],{},"启动 Ignition Gazebo 仿真环境；",[315,544,545],{},"通过 ros_gz_bridge 建立 ROS2 与 Ignition Gazebo 的连接；",[315,547,548],{},"启动 ROS2 相关节点实现与 Ignition Gazebo 的数据收发。",[17,550,551],{},"Ignition Gazebo与ROS2的的所有集成实现，基本都遵循上述流程。",[17,553,554],{},[52,555,556],{},"启动仿真环境",[17,558,559,560,563],{},"在 Ignition Gazebo 安装时，已经内置了一些仿真环境，直接启动即可。在此我们可以使用名为",[111,561,562],{},"visualize_lidar.sdf","的仿真文件，该文件对应的仿真环境中包括了差速机器人以及激光雷达的仿真。启动指令如下：",[104,565,567],{"className":106,"code":566,"language":108,"meta":109,"style":109},"ign gazebo -v 4 -r visualize_lidar.sdf\n#或者\ngz sim -v 4 -r visualize_lidar.sdf\n",[111,568,569,589,594],{"__ignoreMap":109},[114,570,571,573,576,580,583,586],{"class":116,"line":117},[114,572,233],{"class":134},[114,574,575],{"class":138}," gazebo",[114,577,579],{"class":578},"sj4cs"," -v",[114,581,582],{"class":578}," 4",[114,584,585],{"class":578}," -r",[114,587,588],{"class":138}," visualize_lidar.sdf\n",[114,590,591],{"class":116,"line":124},[114,592,593],{"class":127},"#或者\n",[114,595,596,598,601,603,605,607],{"class":116,"line":131},[114,597,249],{"class":134},[114,599,600],{"class":138}," sim",[114,602,579],{"class":578},[114,604,582],{"class":578},[114,606,585],{"class":578},[114,608,588],{"class":138},[17,610,611],{},"或者也可以以ROS2 launch的方式启动，指令如下：",[104,613,615],{"className":106,"code":614,"language":108,"meta":109,"style":109},"ros2 launch ros_gz_sim gz_sim.launch.py gz_args:=\"-v 4 -r visualize_lidar.sdf\" # 启动状态\n",[111,616,617],{"__ignoreMap":109},[114,618,619,621,623,625,628,631],{"class":116,"line":117},[114,620,265],{"class":134},[114,622,268],{"class":138},[114,624,271],{"class":138},[114,626,627],{"class":138}," gz_sim.launch.py",[114,629,630],{"class":138}," gz_args:=\"-v 4 -r visualize_lidar.sdf\"",[114,632,633],{"class":127}," # 启动状态\n",[17,635,636],{},"两种方式本质相同，都是启动了Ignition Gazebo并且加载了visualize_lidar.sdf文件。",[17,638,639],{},[202,640],{"alt":109,"src":641},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1719.webp",[17,643,644],{},[52,645,646],{},"建立连接",[17,648,649,650,653],{},"虽然仿真环境中的机器人已经配置了运动控制插件，可以通过",[111,651,652],{},"\u002Fmodel\u002Fvehicle_blue\u002Fcmd_vel","话题订阅速度指令并运动，但是Ignition Gazebo与ROS2中的消息格式并不一致，所以还需要通过ros_gz_bridge这一桥接功能包，实现二者之间消息的转换，调用指令如下：",[104,655,657],{"className":106,"code":656,"language":108,"meta":109,"style":109},"ros2 run ros_gz_bridge parameter_bridge \u002Fmodel\u002Fvehicle_blue\u002Fcmd_vel@geometry_msgs\u002Fmsg\u002FTwist]gz.msgs.Twist\n",[111,658,659],{"__ignoreMap":109},[114,660,661,663,666,669,672],{"class":116,"line":117},[114,662,265],{"class":134},[114,664,665],{"class":138}," run",[114,667,668],{"class":138}," ros_gz_bridge",[114,670,671],{"class":138}," parameter_bridge",[114,673,674],{"class":138}," \u002Fmodel\u002Fvehicle_blue\u002Fcmd_vel@geometry_msgs\u002Fmsg\u002FTwist]gz.msgs.Twist\n",[17,676,677,678,680,681,684,685,688],{},"通过该指令可以将发布在",[111,679,652],{},"话题上的",[111,682,683],{},"geometry_msgs\u002Fmsg\u002FTwist","类型的ROS2消息转换成可以被Ignition Gzebo识别的",[111,686,687],{},"gz.msgs.Twist","类型的消息。",[17,690,691],{},[52,692,693],{},"启动ROS2节点",[17,695,696,697,699],{},"启动ROS2的键盘控制节点，并将话题重映射为",[111,698,652],{},"，指令如下：",[104,701,703],{"className":106,"code":702,"language":108,"meta":109,"style":109},"ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args -r \u002Fcmd_vel:=\u002Fmodel\u002Fvehicle_blue\u002Fcmd_vel\n",[111,704,705],{"__ignoreMap":109},[114,706,707,709,711,714,716,719,721],{"class":116,"line":117},[114,708,265],{"class":134},[114,710,665],{"class":138},[114,712,713],{"class":138}," teleop_twist_keyboard",[114,715,713],{"class":138},[114,717,718],{"class":578}," --ros-args",[114,720,585],{"class":578},[114,722,723],{"class":138}," \u002Fcmd_vel:=\u002Fmodel\u002Fvehicle_blue\u002Fcmd_vel\n",[17,725,726],{},"接下来就可以使用键盘控制机器人运动了。",[17,728,729],{},[202,730],{"alt":109,"src":731},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1720.webp",[29,733,734],{"id":734},"ros_gz_bridge",[17,736,737],{},"ros_gz_bridge是连接ROS2与Ignition Gazebo的桥梁，ROS2与Ignition Gazebo使用的消息并不兼容，必须通过ros_gz_bridge进行转换。",[17,739,740],{},[52,741,742],{},"ros_gz_bridge使用语法",[17,744,745],{},"ROS2与Ignition Gazebo的桥接是通过ros_gz_bridge包中的parameter_bridge节点实现，其使用语法如下：",[104,747,749],{"className":106,"code":748,"language":108,"meta":109,"style":109},"parameter_bridge [\u003Ctopic@ROS2_type@Gz_type> ..]  [\u003Cservice@ROS2_srv_type[@Gz_req_type@Gz_rep_type]> ..]\n",[111,750,751],{"__ignoreMap":109},[114,752,753,756,759,762,765,769],{"class":116,"line":117},[114,754,755],{"class":134},"parameter_bridge",[114,757,758],{"class":148}," [\u003Ctopic@ROS2_type@Gz_type> ",[114,760,761],{"class":138},"..]",[114,763,764],{"class":148},"  [\u003Cservice@ROS2_srv_type[@Gz_req_type@Gz_rep_type]",[114,766,768],{"class":767},"szBVR",">",[114,770,771],{"class":148}," ..]\n",[17,773,774,775,778,779,782],{},"在话题Topic中， ",[52,776,777],{},"第一个@"," 符号是话题名称和消息类型的 ",[52,780,781],{},"分隔符"," 。",[17,784,785],{},"第一个@符号后面是ROS消息类型。",[17,787,788],{},"ROS消息类型后面是@、[或]符号：",[312,790,791,797,803],{},[315,792,793,796],{},[52,794,795],{},"@","  表示双向桥接；",[315,798,799,802],{},[52,800,801],{},"[","  表示从Ignition Gazebo到ROS的桥接；",[315,804,805,808],{},[52,806,807],{},"]","  表示从ROS到Ignition Gazebo的桥接。",[17,810,811],{},"方向符号后是Gazebo Transport消息类型。",[17,813,814],{},"（两个@不是同一个含义）",[17,816,817,818,820,821,782],{},"在服务Service中， ",[52,819,777],{}," 符号是服务名称和类型的 ",[52,822,781],{},[17,824,825],{},"第一个@符号后面是ROS服务类型。可以选择地包括Gazebo请求和响应类型，在它们之间用@符号分隔。",[17,827,828,831],{},[52,829,830],{},"仅"," 支持将Gazebo服务公开为ROS服务，即ROS服务将请求转发到Gazebo服务，然后将响应转发回ROS客户端。",[17,833,834],{},"双向桥接示例：",[104,836,838],{"className":106,"code":837,"language":108,"meta":109,"style":109},"parameter_bridge \u002Fchatter@std_msgs\u002FString@gz.msgs.StringMsg\n",[111,839,840],{"__ignoreMap":109},[114,841,842,844],{"class":116,"line":117},[114,843,755],{"class":134},[114,845,846],{"class":138}," \u002Fchatter@std_msgs\u002FString@gz.msgs.StringMsg\n",[17,848,849],{},"从Gazebo到ROS的桥接示例：",[104,851,853],{"className":106,"code":852,"language":108,"meta":109,"style":109},"parameter_bridge \u002Fchatter@std_msgs\u002FString[gz.msgs.StringMsg\n",[111,854,855],{"__ignoreMap":109},[114,856,857,859],{"class":116,"line":117},[114,858,755],{"class":134},[114,860,861],{"class":138}," \u002Fchatter@std_msgs\u002FString[gz.msgs.StringMsg\n",[17,863,864],{},"从ROS到Gazebo的桥接示例：",[104,866,868],{"className":106,"code":867,"language":108,"meta":109,"style":109},"parameter_bridge \u002Fchatter@std_msgs\u002FString]gz.msgs.StringMsg\n",[111,869,870],{"__ignoreMap":109},[114,871,872,874],{"class":116,"line":117},[114,873,755],{"class":134},[114,875,876],{"class":138}," \u002Fchatter@std_msgs\u002FString]gz.msgs.StringMsg\n",[17,878,879],{},"服务桥接示例：",[104,881,883],{"className":106,"code":882,"language":108,"meta":109,"style":109},"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",[111,884,885,892,897],{"__ignoreMap":109},[114,886,887,889],{"class":116,"line":117},[114,888,755],{"class":134},[114,890,891],{"class":138}," \u002Fworld\u002Fdefault\u002Fcontrol@ros_gz_interfaces\u002Fsrv\u002FControlWorld\n",[114,893,894],{"class":116,"line":124},[114,895,896],{"class":134},"或者：\n",[114,898,899,901],{"class":116,"line":131},[114,900,755],{"class":134},[114,902,903],{"class":138}," \u002Fworld\u002Fdefault\u002Fcontrol@ros_gz_interfaces\u002Fsrv\u002FControlWorld@gz.msgs.WorldControl@gz.msgs.Boolean\n",[17,905,906,907,910],{},"也可以运行",[111,908,909],{},"ros2 run ros_gz_bridge parameter_bridge -h","指令查看官方说明文档。",[17,912,913],{},[52,914,915],{},"ros_gz_bridge支持的消息类型",[17,917,918],{},"以下是ROS2与Ignition Gazebo中话题消息类型对应表：",[920,921,922,936],"table",{},[923,924,925],"thead",{},[926,927,928,933],"tr",{},[929,930,932],"th",{"align":931},"left","ROS2消息类型",[929,934,935],{"align":931},"Gazebo Transport 类型",[937,938,939,948,956,964,972,979,987,995,1002,1009,1015,1023,1030,1037,1045,1052,1060,1067,1075,1083,1091,1099,1107,1115,1123,1131,1139,1147,1155,1163,1171,1179,1187,1195,1203,1211,1219,1227,1235,1243,1251,1259,1267,1275,1283,1291,1299,1307,1315,1323,1331,1339,1347,1355,1362],"tbody",{},[926,940,941,945],{},[942,943,944],"td",{"align":931},"builtin_interfaces\u002Fmsg\u002FTime",[942,946,947],{"align":931},"gz.msgs.Time",[926,949,950,953],{},[942,951,952],{"align":931},"geometry_msgs\u002Fmsg\u002FPoint",[942,954,955],{"align":931},"gz.msgs.Vector3d",[926,957,958,961],{},[942,959,960],{"align":931},"geometry_msgs\u002Fmsg\u002FPose",[942,962,963],{"align":931},"gz.msgs.Pose",[926,965,966,969],{},[942,967,968],{"align":931},"geometry_msgs\u002Fmsg\u002FPoseArray",[942,970,971],{"align":931},"gz.msgs.Pose_V",[926,973,974,977],{},[942,975,976],{"align":931},"geometry_msgs\u002Fmsg\u002FPoseStamped",[942,978,963],{"align":931},[926,980,981,984],{},[942,982,983],{"align":931},"geometry_msgs\u002Fmsg\u002FPoseWithCovariance",[942,985,986],{"align":931},"gz.msgs.PoseWithCovariance",[926,988,989,992],{},[942,990,991],{"align":931},"geometry_msgs\u002Fmsg\u002FQuaternion",[942,993,994],{"align":931},"gz.msgs.Quaternion",[926,996,997,1000],{},[942,998,999],{"align":931},"geometry_msgs\u002Fmsg\u002FTransform",[942,1001,963],{"align":931},[926,1003,1004,1007],{},[942,1005,1006],{"align":931},"geometry_msgs\u002Fmsg\u002FTransformStamped",[942,1008,963],{"align":931},[926,1010,1011,1013],{},[942,1012,683],{"align":931},[942,1014,687],{"align":931},[926,1016,1017,1020],{},[942,1018,1019],{"align":931},"geometry_msgs\u002Fmsg\u002FTwistWithCovariance",[942,1021,1022],{"align":931},"gz.msgs.TwistWithCovariance",[926,1024,1025,1028],{},[942,1026,1027],{"align":931},"geometry_msgs\u002Fmsg\u002FTwistWithCovarianceStamped",[942,1029,1022],{"align":931},[926,1031,1032,1035],{},[942,1033,1034],{"align":931},"geometry_msgs\u002Fmsg\u002FVector3",[942,1036,955],{"align":931},[926,1038,1039,1042],{},[942,1040,1041],{"align":931},"geometry_msgs\u002Fmsg\u002FWrench",[942,1043,1044],{"align":931},"gz.msgs.Wrench",[926,1046,1047,1050],{},[942,1048,1049],{"align":931},"geometry_msgs\u002Fmsg\u002FWrenchStamped",[942,1051,1044],{"align":931},[926,1053,1054,1057],{},[942,1055,1056],{"align":931},"nav_msgs\u002Fmsg\u002FOdometry",[942,1058,1059],{"align":931},"gz.msgs.Odometry",[926,1061,1062,1064],{},[942,1063,1056],{"align":931},[942,1065,1066],{"align":931},"gz.msgs.OdometryWithCovariance",[926,1068,1069,1072],{},[942,1070,1071],{"align":931},"rcl_interfaces\u002Fmsg\u002FParameterValue",[942,1073,1074],{"align":931},"gz.msgs.Any",[926,1076,1077,1080],{},[942,1078,1079],{"align":931},"ros_gz_interfaces\u002Fmsg\u002FAltimeter",[942,1081,1082],{"align":931},"gz.msgs.Altimeter",[926,1084,1085,1088],{},[942,1086,1087],{"align":931},"ros_gz_interfaces\u002Fmsg\u002FContact",[942,1089,1090],{"align":931},"gz.msgs.Contact",[926,1092,1093,1096],{},[942,1094,1095],{"align":931},"ros_gz_interfaces\u002Fmsg\u002FContacts",[942,1097,1098],{"align":931},"gz.msgs.Contacts",[926,1100,1101,1104],{},[942,1102,1103],{"align":931},"ros_gz_interfaces\u002Fmsg\u002FDataframe",[942,1105,1106],{"align":931},"gz.msgs.Dataframe",[926,1108,1109,1112],{},[942,1110,1111],{"align":931},"ros_gz_interfaces\u002Fmsg\u002FEntity",[942,1113,1114],{"align":931},"gz.msgs.Entity",[926,1116,1117,1120],{},[942,1118,1119],{"align":931},"ros_gz_interfaces\u002Fmsg\u002FFloat32Array",[942,1121,1122],{"align":931},"gz.msgs.Float_V",[926,1124,1125,1128],{},[942,1126,1127],{"align":931},"ros_gz_interfaces\u002Fmsg\u002FGuiCamera",[942,1129,1130],{"align":931},"gz.msgs.GUICamera",[926,1132,1133,1136],{},[942,1134,1135],{"align":931},"ros_gz_interfaces\u002Fmsg\u002FJointWrench",[942,1137,1138],{"align":931},"gz.msgs.JointWrench",[926,1140,1141,1144],{},[942,1142,1143],{"align":931},"ros_gz_interfaces\u002Fmsg\u002FLight",[942,1145,1146],{"align":931},"gz.msgs.Light",[926,1148,1149,1152],{},[942,1150,1151],{"align":931},"ros_gz_interfaces\u002Fmsg\u002FSensorNoise",[942,1153,1154],{"align":931},"gz.msgs.SensorNoise",[926,1156,1157,1160],{},[942,1158,1159],{"align":931},"ros_gz_interfaces\u002Fmsg\u002FStringVec",[942,1161,1162],{"align":931},"gz.msgs.StringMsg_V",[926,1164,1165,1168],{},[942,1166,1167],{"align":931},"ros_gz_interfaces\u002Fmsg\u002FTrackVisual",[942,1169,1170],{"align":931},"gz.msgs.TrackVisual",[926,1172,1173,1176],{},[942,1174,1175],{"align":931},"ros_gz_interfaces\u002Fmsg\u002FVideoRecord",[942,1177,1178],{"align":931},"gz.msgs.VideoRecord",[926,1180,1181,1184],{},[942,1182,1183],{"align":931},"ros_gz_interfaces\u002Fmsg\u002FWorldControl",[942,1185,1186],{"align":931},"gz.msgs.WorldControl",[926,1188,1189,1192],{},[942,1190,1191],{"align":931},"rosgraph_msgs\u002Fmsg\u002FClock*",[942,1193,1194],{"align":931},"gz.msgs.Clock*",[926,1196,1197,1200],{},[942,1198,1199],{"align":931},"sensor_msgs\u002Fmsg\u002FBatteryState",[942,1201,1202],{"align":931},"gz.msgs.BatteryState",[926,1204,1205,1208],{},[942,1206,1207],{"align":931},"sensor_msgs\u002Fmsg\u002FCameraInfo",[942,1209,1210],{"align":931},"gz.msgs.CameraInfo",[926,1212,1213,1216],{},[942,1214,1215],{"align":931},"sensor_msgs\u002Fmsg\u002FFluidPressure",[942,1217,1218],{"align":931},"gz.msgs.FluidPressure",[926,1220,1221,1224],{},[942,1222,1223],{"align":931},"sensor_msgs\u002Fmsg\u002FImage",[942,1225,1226],{"align":931},"gz.msgs.Image",[926,1228,1229,1232],{},[942,1230,1231],{"align":931},"sensor_msgs\u002Fmsg\u002FImu",[942,1233,1234],{"align":931},"gz.msgs.IMU",[926,1236,1237,1240],{},[942,1238,1239],{"align":931},"sensor_msgs\u002Fmsg\u002FJointState",[942,1241,1242],{"align":931},"gz.msgs.Model",[926,1244,1245,1248],{},[942,1246,1247],{"align":931},"sensor_msgs\u002Fmsg\u002FJoy",[942,1249,1250],{"align":931},"gz.msgs.Joy",[926,1252,1253,1256],{},[942,1254,1255],{"align":931},"sensor_msgs\u002Fmsg\u002FLaserScan",[942,1257,1258],{"align":931},"gz.msgs.LaserScan",[926,1260,1261,1264],{},[942,1262,1263],{"align":931},"sensor_msgs\u002Fmsg\u002FMagneticField",[942,1265,1266],{"align":931},"gz.msgs.Magnetometer",[926,1268,1269,1272],{},[942,1270,1271],{"align":931},"sensor_msgs\u002Fmsg\u002FNavSatFix",[942,1273,1274],{"align":931},"gz.msgs.NavSat",[926,1276,1277,1280],{},[942,1278,1279],{"align":931},"sensor_msgs\u002Fmsg\u002FPointCloud2",[942,1281,1282],{"align":931},"gz.msgs.PointCloudPacked",[926,1284,1285,1288],{},[942,1286,1287],{"align":931},"std_msgs\u002Fmsg\u002FBool",[942,1289,1290],{"align":931},"gz.msgs.Boolean",[926,1292,1293,1296],{},[942,1294,1295],{"align":931},"std_msgs\u002Fmsg\u002FColorRGBA",[942,1297,1298],{"align":931},"gz.msgs.Color",[926,1300,1301,1304],{},[942,1302,1303],{"align":931},"std_msgs\u002Fmsg\u002FEmpty",[942,1305,1306],{"align":931},"gz.msgs.Empty",[926,1308,1309,1312],{},[942,1310,1311],{"align":931},"std_msgs\u002Fmsg\u002FFloat32",[942,1313,1314],{"align":931},"gz.msgs.Float",[926,1316,1317,1320],{},[942,1318,1319],{"align":931},"std_msgs\u002Fmsg\u002FFloat64",[942,1321,1322],{"align":931},"gz.msgs.Double",[926,1324,1325,1328],{},[942,1326,1327],{"align":931},"std_msgs\u002Fmsg\u002FHeader",[942,1329,1330],{"align":931},"gz.msgs.Header",[926,1332,1333,1336],{},[942,1334,1335],{"align":931},"std_msgs\u002Fmsg\u002FInt32",[942,1337,1338],{"align":931},"gz.msgs.Int32",[926,1340,1341,1344],{},[942,1342,1343],{"align":931},"std_msgs\u002Fmsg\u002FString",[942,1345,1346],{"align":931},"gz.msgs.StringMsg",[926,1348,1349,1352],{},[942,1350,1351],{"align":931},"std_msgs\u002Fmsg\u002FUInt32",[942,1353,1354],{"align":931},"gz.msgs.UInt32",[926,1356,1357,1360],{},[942,1358,1359],{"align":931},"tf2_msgs\u002Fmsg\u002FTFMessage",[942,1361,971],{"align":931},[926,1363,1364,1367],{},[942,1365,1366],{"align":931},"trajectory_msgs\u002Fmsg\u002FJointTrajectory",[942,1368,1369],{"align":931},"gz.msgs.JointTrajectory",[17,1371,1372],{},"以及服务消息类型对应表：",[920,1374,1375,1387],{},[923,1376,1377],{},[926,1378,1379,1381,1384],{},[929,1380,932],{"align":931},[929,1382,1383],{"align":931},"Gazebo 请求",[929,1385,1386],{"align":931},"Gazebo 响应",[937,1388,1389],{},[926,1390,1391,1394,1396],{},[942,1392,1393],{"align":931},"ros_gz_interfaces\u002Fsrv\u002FControlWorld",[942,1395,1186],{"align":931},[942,1397,1290],{"align":931},[29,1399,1401],{"id":1400},"与ros2集成优化","与ROS2集成优化",[17,1403,1404,1405,1408],{},"在 ",[52,1406,1407],{},"Ignition Gazebo与ROS2集成"," 实现中需要在终端中使用不同的指令启动不同模块，该流程实现稍显复杂，本节将介绍如何以launch文件的方式进行优化。",[17,1410,1411],{},[52,1412,1413],{},"新建功能包",[17,1415,1416],{},"请首先调用如下指令创建一个功能包：",[104,1418,1420],{"className":106,"code":1419,"language":108,"meta":109,"style":109},"ros2 pkg create demo_gazebo_sim\n",[111,1421,1422],{"__ignoreMap":109},[114,1423,1424,1426,1429,1432],{"class":116,"line":117},[114,1425,265],{"class":134},[114,1427,1428],{"class":138}," pkg",[114,1430,1431],{"class":138}," create",[114,1433,1434],{"class":138}," demo_gazebo_sim\n",[17,1436,1437],{},[202,1438],{"alt":109,"src":1439},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1721.webp",[17,1441,1442],{},[52,1443,1444],{},"添加目录",[17,1446,1447],{},"在新建的功能包下添加目录： launch、rviz、world。并在CmakeLists.txt中添加如下代码：",[104,1449,1453],{"className":1450,"code":1451,"language":1452,"meta":109,"style":109},"language-cmake shiki shiki-themes github-light github-dark","install(DIRECTORY rviz world launch DESTINATION share\u002F${PROJECT_NAME})\n","cmake",[111,1454,1455],{"__ignoreMap":109},[114,1456,1457,1460,1463,1466],{"class":116,"line":117},[114,1458,1459],{"class":767},"install",[114,1461,1462],{"class":148},"(DIRECTORY rviz world launch DESTINATION share\u002F",[114,1464,1465],{"class":767},"${PROJECT_NAME}",[114,1467,1468],{"class":148},")\n",[17,1470,1471],{},"launch目录用于存储launch文件，rviz目录由于存储rviz2的配置文件，而world目录则用于存储Ignition Gazebo仿真环境的相关文件。",[17,1473,1474],{},[202,1475],{"alt":109,"src":1476},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1722.webp",[17,1478,1479],{},[52,1480,1481],{},"rviz目录中生成rviz2的配置文件",[17,1483,1484],{},"启动 rviz2，直接将默认配置保存至当前功能包的rviz目录，保存文件命名为sim.rviz。",[17,1486,1487],{},[202,1488],{"alt":109,"src":1489},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1723.webp",[17,1491,1492],{},[52,1493,1494],{},"复制world文件",[17,1496,1497,1498,1501],{},"在ignition安装路径下的worlds目录（",[111,1499,1500],{},"\u002Fusr\u002Fshare\u002Fignition\u002Fignition-gazebo6\u002Fworlds","）中复制visualize_lidar.sdf文件至world目录。",[17,1503,1504],{},"如果该路径下没有，那可能在ROS的安装路径下：",[17,1506,1507],{},[111,1508,1509],{},"\u002Fopt\u002Fros\u002Fjazzy\u002Fopt\u002Fgz_sim_vendor\u002Fshare\u002Fgz\u002Fgz-sim8\u002Fworlds\u002F",[17,1511,1512],{},"如果还没有的话，手动查找一下：",[104,1514,1516],{"className":106,"code":1515,"language":108,"meta":109,"style":109},"sudo find \u002F -name \"visualize_lidar.sdf\"\n",[111,1517,1518],{"__ignoreMap":109},[114,1519,1520,1522,1525,1528,1531],{"class":116,"line":117},[114,1521,135],{"class":134},[114,1523,1524],{"class":138}," find",[114,1526,1527],{"class":138}," \u002F",[114,1529,1530],{"class":578}," -name",[114,1532,1533],{"class":138}," \"visualize_lidar.sdf\"\n",[17,1535,1536],{},[202,1537],{"alt":109,"src":1538},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1724.webp",[17,1540,1541],{},[52,1542,1543],{},"编写launch文件",[17,1545,1546],{},"launch目录下新建launch文件gazebo_sim_demo.launch.py，并输入如下内容：",[104,1548,1552],{"className":1549,"code":1550,"language":1551,"meta":109,"style":109},"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",[111,1553,1554,1562,1566,1579,1583,1595,1607,1618,1630,1642,1654,1658,1670,1674,1686,1691,1708,1723,1745,1750,1761,1767,1785,1797,1815,1821,1827,1832,1838,1849,1863,1875,1902,1918,1923,1928,1934,1944,1957,1970,1985,1993,2001,2007,2029,2040,2057,2072,2078,2089,2094,2099,2108,2114,2134,2147,2153,2159],{"__ignoreMap":109},[114,1555,1556,1559],{"class":116,"line":117},[114,1557,1558],{"class":767},"import",[114,1560,1561],{"class":148}," os\n",[114,1563,1564],{"class":116,"line":124},[114,1565,121],{"emptyLinePlaceholder":120},[114,1567,1568,1571,1574,1576],{"class":116,"line":131},[114,1569,1570],{"class":767},"from",[114,1572,1573],{"class":148}," ament_index_python.packages ",[114,1575,1558],{"class":767},[114,1577,1578],{"class":148}," get_package_share_directory\n",[114,1580,1581],{"class":116,"line":155},[114,1582,121],{"emptyLinePlaceholder":120},[114,1584,1585,1587,1590,1592],{"class":116,"line":160},[114,1586,1570],{"class":767},[114,1588,1589],{"class":148}," launch ",[114,1591,1558],{"class":767},[114,1593,1594],{"class":148}," LaunchDescription\n",[114,1596,1597,1599,1602,1604],{"class":116,"line":166},[114,1598,1570],{"class":767},[114,1600,1601],{"class":148}," launch.actions ",[114,1603,1558],{"class":767},[114,1605,1606],{"class":148}," DeclareLaunchArgument\n",[114,1608,1609,1611,1613,1615],{"class":116,"line":178},[114,1610,1570],{"class":767},[114,1612,1601],{"class":148},[114,1614,1558],{"class":767},[114,1616,1617],{"class":148}," IncludeLaunchDescription\n",[114,1619,1620,1622,1625,1627],{"class":116,"line":183},[114,1621,1570],{"class":767},[114,1623,1624],{"class":148}," launch.conditions ",[114,1626,1558],{"class":767},[114,1628,1629],{"class":148}," IfCondition\n",[114,1631,1632,1634,1637,1639],{"class":116,"line":189},[114,1633,1570],{"class":767},[114,1635,1636],{"class":148}," launch.launch_description_sources ",[114,1638,1558],{"class":767},[114,1640,1641],{"class":148}," PythonLaunchDescriptionSource\n",[114,1643,1644,1646,1649,1651],{"class":116,"line":436},[114,1645,1570],{"class":767},[114,1647,1648],{"class":148}," launch.substitutions ",[114,1650,1558],{"class":767},[114,1652,1653],{"class":148}," LaunchConfiguration\n",[114,1655,1656],{"class":116,"line":442},[114,1657,121],{"emptyLinePlaceholder":120},[114,1659,1660,1662,1665,1667],{"class":116,"line":448},[114,1661,1570],{"class":767},[114,1663,1664],{"class":148}," launch_ros.actions ",[114,1666,1558],{"class":767},[114,1668,1669],{"class":148}," Node\n",[114,1671,1672],{"class":116,"line":454},[114,1673,121],{"emptyLinePlaceholder":120},[114,1675,1677,1680,1683],{"class":116,"line":1676},14,[114,1678,1679],{"class":767},"def",[114,1681,1682],{"class":134}," generate_launch_description",[114,1684,1685],{"class":148},"():\n",[114,1687,1689],{"class":116,"line":1688},15,[114,1690,121],{"emptyLinePlaceholder":120},[114,1692,1694,1697,1700,1703,1706],{"class":116,"line":1693},16,[114,1695,1696],{"class":148},"    this_pkg ",[114,1698,1699],{"class":767},"=",[114,1701,1702],{"class":148}," get_package_share_directory(",[114,1704,1705],{"class":138},"'demo_gazebo_sim'",[114,1707,1468],{"class":148},[114,1709,1711,1714,1716,1718,1721],{"class":116,"line":1710},17,[114,1712,1713],{"class":148},"    pkg_ros_gz_sim ",[114,1715,1699],{"class":767},[114,1717,1702],{"class":148},[114,1719,1720],{"class":138},"'ros_gz_sim'",[114,1722,1468],{"class":148},[114,1724,1726,1729,1731,1734,1737,1740,1743],{"class":116,"line":1725},18,[114,1727,1728],{"class":148},"    world_file ",[114,1730,1699],{"class":767},[114,1732,1733],{"class":148}," os.path.join(this_pkg,",[114,1735,1736],{"class":138},"'world'",[114,1738,1739],{"class":148},",",[114,1741,1742],{"class":138},"'visualize_lidar.sdf'",[114,1744,1468],{"class":148},[114,1746,1748],{"class":116,"line":1747},19,[114,1749,121],{"emptyLinePlaceholder":120},[114,1751,1753,1756,1758],{"class":116,"line":1752},20,[114,1754,1755],{"class":148},"    gz_sim ",[114,1757,1699],{"class":767},[114,1759,1760],{"class":148}," IncludeLaunchDescription(\n",[114,1762,1764],{"class":116,"line":1763},21,[114,1765,1766],{"class":148},"        PythonLaunchDescriptionSource(\n",[114,1768,1770,1773,1776,1779,1782],{"class":116,"line":1769},22,[114,1771,1772],{"class":148},"            os.path.join(pkg_ros_gz_sim, ",[114,1774,1775],{"class":138},"'launch'",[114,1777,1778],{"class":148},", ",[114,1780,1781],{"class":138},"'gz_sim.launch.py'",[114,1783,1784],{"class":148},")),\n",[114,1786,1788,1792,1794],{"class":116,"line":1787},23,[114,1789,1791],{"class":1790},"s4XuR","        launch_arguments",[114,1793,1699],{"class":767},[114,1795,1796],{"class":148},"{\n",[114,1798,1800,1803,1806,1809,1812],{"class":116,"line":1799},24,[114,1801,1802],{"class":138},"            'gz_args'",[114,1804,1805],{"class":148},": ",[114,1807,1808],{"class":138},"'-r '",[114,1810,1811],{"class":767}," +",[114,1813,1814],{"class":148}," world_file\n",[114,1816,1818],{"class":116,"line":1817},25,[114,1819,1820],{"class":148},"        }.items(),\n",[114,1822,1824],{"class":116,"line":1823},26,[114,1825,1826],{"class":148},"    )\n",[114,1828,1830],{"class":116,"line":1829},27,[114,1831,121],{"emptyLinePlaceholder":120},[114,1833,1835],{"class":116,"line":1834},28,[114,1836,1837],{"class":127},"    # RViz\n",[114,1839,1841,1844,1846],{"class":116,"line":1840},29,[114,1842,1843],{"class":148},"    rviz ",[114,1845,1699],{"class":767},[114,1847,1848],{"class":148}," Node(\n",[114,1850,1852,1855,1857,1860],{"class":116,"line":1851},30,[114,1853,1854],{"class":1790},"       package",[114,1856,1699],{"class":767},[114,1858,1859],{"class":138},"'rviz2'",[114,1861,1862],{"class":148},",\n",[114,1864,1866,1869,1871,1873],{"class":116,"line":1865},31,[114,1867,1868],{"class":1790},"       executable",[114,1870,1699],{"class":767},[114,1872,1859],{"class":138},[114,1874,1862],{"class":148},[114,1876,1878,1881,1883,1885,1888,1891,1894,1896,1899],{"class":116,"line":1877},32,[114,1879,1880],{"class":1790},"       arguments",[114,1882,1699],{"class":767},[114,1884,801],{"class":148},[114,1886,1887],{"class":138},"'-d'",[114,1889,1890],{"class":148},", os.path.join(this_pkg, ",[114,1892,1893],{"class":138},"'rviz'",[114,1895,1778],{"class":148},[114,1897,1898],{"class":138},"'sim.rviz'",[114,1900,1901],{"class":148},")],\n",[114,1903,1905,1908,1910,1913,1915],{"class":116,"line":1904},33,[114,1906,1907],{"class":1790},"       condition",[114,1909,1699],{"class":767},[114,1911,1912],{"class":148},"IfCondition(LaunchConfiguration(",[114,1914,1893],{"class":138},[114,1916,1917],{"class":148},"))\n",[114,1919,1921],{"class":116,"line":1920},34,[114,1922,1826],{"class":148},[114,1924,1926],{"class":116,"line":1925},35,[114,1927,121],{"emptyLinePlaceholder":120},[114,1929,1931],{"class":116,"line":1930},36,[114,1932,1933],{"class":127},"    # Bridge\n",[114,1935,1937,1940,1942],{"class":116,"line":1936},37,[114,1938,1939],{"class":148},"    bridge ",[114,1941,1699],{"class":767},[114,1943,1848],{"class":148},[114,1945,1947,1950,1952,1955],{"class":116,"line":1946},38,[114,1948,1949],{"class":1790},"        package",[114,1951,1699],{"class":767},[114,1953,1954],{"class":138},"'ros_gz_bridge'",[114,1956,1862],{"class":148},[114,1958,1960,1963,1965,1968],{"class":116,"line":1959},39,[114,1961,1962],{"class":1790},"        executable",[114,1964,1699],{"class":767},[114,1966,1967],{"class":138},"'parameter_bridge'",[114,1969,1862],{"class":148},[114,1971,1973,1976,1978,1980,1983],{"class":116,"line":1972},40,[114,1974,1975],{"class":1790},"        arguments",[114,1977,1699],{"class":767},[114,1979,801],{"class":148},[114,1981,1982],{"class":138},"'\u002Fmodel\u002Fvehicle_blue\u002Fcmd_vel@geometry_msgs\u002Fmsg\u002FTwist@gz.msgs.Twist'",[114,1984,1862],{"class":148},[114,1986,1988,1991],{"class":116,"line":1987},41,[114,1989,1990],{"class":138},"                   '\u002Fmodel\u002Fvehicle_blue\u002Fodometry@nav_msgs\u002Fmsg\u002FOdometry@gz.msgs.Odometry'",[114,1992,1862],{"class":148},[114,1994,1996,1999],{"class":116,"line":1995},42,[114,1997,1998],{"class":138},"                   '\u002Fmodel\u002Fvehicle_blue\u002Ftf@tf2_msgs\u002Fmsg\u002FTFMessage[gz.msgs.Pose_V'",[114,2000,1862],{"class":148},[114,2002,2004],{"class":116,"line":2003},43,[114,2005,2006],{"class":148},"                   ],\n",[114,2008,2010,2013,2015,2018,2021,2023,2026],{"class":116,"line":2009},44,[114,2011,2012],{"class":1790},"        parameters",[114,2014,1699],{"class":767},[114,2016,2017],{"class":148},"[{",[114,2019,2020],{"class":138},"'qos_overrides.\u002Fmodel\u002Fvehicle_blue.subscriber.reliability'",[114,2022,1805],{"class":148},[114,2024,2025],{"class":138},"'reliable'",[114,2027,2028],{"class":148},"}],\n",[114,2030,2032,2035,2037],{"class":116,"line":2031},45,[114,2033,2034],{"class":1790},"        remappings",[114,2036,1699],{"class":767},[114,2038,2039],{"class":148},"[\n",[114,2041,2043,2046,2049,2051,2054],{"class":116,"line":2042},46,[114,2044,2045],{"class":148},"                (",[114,2047,2048],{"class":138},"'\u002Fmodel\u002Fvehicle_blue\u002Ftf'",[114,2050,1778],{"class":148},[114,2052,2053],{"class":138},"'\u002Ftf'",[114,2055,2056],{"class":148},"),\n",[114,2058,2060,2062,2065,2067,2070],{"class":116,"line":2059},47,[114,2061,2045],{"class":148},[114,2063,2064],{"class":138},"'\u002Fmodel\u002Fvehicle_blue\u002Fcmd_vel'",[114,2066,1739],{"class":148},[114,2068,2069],{"class":138},"'cmd_vel'",[114,2071,1468],{"class":148},[114,2073,2075],{"class":116,"line":2074},48,[114,2076,2077],{"class":148},"            ],\n",[114,2079,2081,2084,2086],{"class":116,"line":2080},49,[114,2082,2083],{"class":1790},"        output",[114,2085,1699],{"class":767},[114,2087,2088],{"class":138},"'screen'\n",[114,2090,2092],{"class":116,"line":2091},50,[114,2093,1826],{"class":148},[114,2095,2097],{"class":116,"line":2096},51,[114,2098,121],{"emptyLinePlaceholder":120},[114,2100,2102,2105],{"class":116,"line":2101},52,[114,2103,2104],{"class":767},"    return",[114,2106,2107],{"class":148}," LaunchDescription([\n",[114,2109,2111],{"class":116,"line":2110},53,[114,2112,2113],{"class":148},"        gz_sim,\n",[114,2115,2117,2120,2122,2124,2127,2129,2132],{"class":116,"line":2116},54,[114,2118,2119],{"class":148},"        DeclareLaunchArgument(",[114,2121,1893],{"class":138},[114,2123,1778],{"class":148},[114,2125,2126],{"class":1790},"default_value",[114,2128,1699],{"class":767},[114,2130,2131],{"class":138},"'true'",[114,2133,1862],{"class":148},[114,2135,2137,2140,2142,2145],{"class":116,"line":2136},55,[114,2138,2139],{"class":1790},"                              description",[114,2141,1699],{"class":767},[114,2143,2144],{"class":138},"'Open RViz.'",[114,2146,2056],{"class":148},[114,2148,2150],{"class":116,"line":2149},56,[114,2151,2152],{"class":148},"        bridge,\n",[114,2154,2156],{"class":116,"line":2155},57,[114,2157,2158],{"class":148},"        rviz\n",[114,2160,2162],{"class":116,"line":2161},58,[114,2163,2164],{"class":148},"    ])\n",[17,2166,2167],{},"该launch文件中，启动了Ignition Gazebo仿真环境、通过ros_gz_bridge建立了仿真与ROS2的连接，并且启动了rviz2节点。其中建立连接时，实现了速度指令、里程计以及坐标变换等消息的转换。",[17,2169,2170],{},[202,2171],{"alt":109,"src":2172},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1725.webp",[17,2174,2175],{},[52,2176,2177],{},"构建",[17,2179,2180],{},"终端中进入当前工作空间，编译功能包：",[104,2182,2184],{"className":106,"code":2183,"language":108,"meta":109,"style":109},"colcon build  --packages-select demo_gazebo_sim\n",[111,2185,2186],{"__ignoreMap":109},[114,2187,2188,2191,2194,2197],{"class":116,"line":117},[114,2189,2190],{"class":134},"colcon",[114,2192,2193],{"class":138}," build",[114,2195,2196],{"class":578},"  --packages-select",[114,2198,1434],{"class":138},[17,2200,2201],{},[202,2202],{"alt":109,"src":2203},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1726.webp",[17,2205,2206],{},[52,2207,2208],{},"执行",[17,2210,2211],{},"终端中进入当前工作空间，调用如下指令执行launch文件：",[104,2213,2215],{"className":106,"code":2214,"language":108,"meta":109,"style":109},". install\u002Fsetup.bash\nros2 launch demo_gazebo_sim gazebo_sim_demo.launch.py\n",[111,2216,2217,2225],{"__ignoreMap":109},[114,2218,2219,2222],{"class":116,"line":117},[114,2220,2221],{"class":578},".",[114,2223,2224],{"class":138}," install\u002Fsetup.bash\n",[114,2226,2227,2229,2231,2234],{"class":116,"line":124},[114,2228,265],{"class":134},[114,2230,268],{"class":138},[114,2232,2233],{"class":138}," demo_gazebo_sim",[114,2235,2236],{"class":138}," gazebo_sim_demo.launch.py\n",[17,2238,2239],{},"新开终端，启动键盘控制节点：",[104,2241,2243],{"className":106,"code":2242,"language":108,"meta":109,"style":109},"ros2 run teleop_twist_keyboard teleop_twist_keyboard\n",[111,2244,2245],{"__ignoreMap":109},[114,2246,2247,2249,2251,2253],{"class":116,"line":117},[114,2248,265],{"class":134},[114,2250,665],{"class":138},[114,2252,713],{"class":138},[114,2254,2255],{"class":138}," teleop_twist_keyboard\n",[17,2257,2258,2259,2262,2263,2266,2267,2270],{},"再配置rviz2，将",[111,2260,2261],{},"Fixed Frame","设置为",[111,2264,2265],{},"vehicle_blue\u002Fodom","，添加TF插件，添加Odometry插件并将话题设置为",[111,2268,2269],{},"\u002Fmodel\u002Fvehicle_blue\u002Fodometry","，当通过键盘控制发送速度指令时，仿真环境的机器人开始运动，并且在rviz2中可以回显坐标变换以及里程计等消息。",[17,2272,2273],{},[202,2274],{"alt":109,"src":2275},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1727.webp",[29,2277,2279,2280],{"id":2278},"仿真环境创建-sdf文件","仿真环境创建 ",[52,2281,2282],{},"SDF文件",[17,2284,2285],{},"前面几节内容我们使用的是Ignition Gazebo内置的仿真环境，本节开始将介绍如何自行搭建仿真环境。本节案例将仿真一个长10m宽5m的矩形房间。该案例可以先启动Ignition Gazebo以拖拽的方式搭建仿真环境，然后再修改仿真环境对应的文件以调整细节。",[17,2287,2288],{},[52,2289,2290],{},"SDF、URDF 和 Xacro 的关系：",[312,2292,2293,2328],{},[315,2294,2295,2298],{},[52,2296,2297],{},"URDF 和 SDF 的区别：",[312,2299,2300,2306,2312,2318],{},[315,2301,2302,2305],{},[52,2303,2304],{},"复杂性："," SDF 支持的功能更强大，能够描述完整的仿真环境；URDF 更适合定义机器人模型。",[315,2307,2308,2311],{},[52,2309,2310],{},"用途："," URDF 是 ROS 的标准；SDF 是 Gazebo 的标准。",[315,2313,2314,2317],{},[52,2315,2316],{},"物理引擎支持："," URDF 通过插件支持 Gazebo；SDF 原生支持 Gazebo。",[315,2319,2320,2323,2324,2327],{},[52,2321,2322],{},"格式转换："," URDF 可以转换为 SDF（通过 ROS 提供的工具",[111,2325,2326],{},"gz sdf -p","）。",[315,2329,2330,2333],{},[52,2331,2332],{},"Xacro 的作用：",[312,2334,2335],{},[315,2336,2337],{},"Xacro 是 URDF 的生成工具，帮助用户高效编写 URDF 文件，但它与 SDF 无直接关系。",[2339,2340],"hr",{},[17,2342,2343],{},[52,2344,2345],{},"实践建议",[312,2347,2348,2354,2360],{},[315,2349,2350,2353],{},[52,2351,2352],{},"在 Gazebo 仿真中："," 如果你用的是 ROS 2 和 Gazebo，可以直接使用 SDF 文件，功能更强大。",[315,2355,2356,2359],{},[52,2357,2358],{},"在 ROS 中："," 如果主要用于机器人控制和规划，推荐使用 URDF 或由 Xacro 生成的 URDF。",[315,2361,2362,2365],{},[52,2363,2364],{},"两者结合："," 使用 URDF 进行控制，使用 SDF 进行仿真。例如，使用 URDF 定义机器人结构后，借助 Gazebo 插件将其转换为 SDF。",[17,2367,2368],{},[52,2369,2370],{},"示例对比",[17,2372,2373],{},"URDF 示例：",[104,2375,2379],{"className":2376,"code":2377,"language":2378,"meta":109,"style":109},"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",[111,2380,2381,2401,2418,2428,2447,2499,2508,2517],{"__ignoreMap":109},[114,2382,2383,2386,2390,2393,2395,2398],{"class":116,"line":117},[114,2384,2385],{"class":148},"\u003C",[114,2387,2389],{"class":2388},"s9eBZ","robot",[114,2391,2392],{"class":134}," name",[114,2394,1699],{"class":148},[114,2396,2397],{"class":138},"\"example_robot\"",[114,2399,2400],{"class":148},">\n",[114,2402,2403,2406,2409,2411,2413,2416],{"class":116,"line":124},[114,2404,2405],{"class":148},"  \u003C",[114,2407,2408],{"class":2388},"link",[114,2410,2392],{"class":134},[114,2412,1699],{"class":148},[114,2414,2415],{"class":138},"\"base_link\"",[114,2417,2400],{"class":148},[114,2419,2420,2423,2426],{"class":116,"line":131},[114,2421,2422],{"class":148},"    \u003C",[114,2424,2425],{"class":2388},"inertial",[114,2427,2400],{"class":148},[114,2429,2430,2433,2436,2439,2441,2444],{"class":116,"line":155},[114,2431,2432],{"class":148},"      \u003C",[114,2434,2435],{"class":2388},"mass",[114,2437,2438],{"class":134}," value",[114,2440,1699],{"class":148},[114,2442,2443],{"class":138},"\"1.0\"",[114,2445,2446],{"class":148}," \u002F>\n",[114,2448,2449,2451,2454,2457,2459,2461,2464,2466,2469,2472,2474,2476,2479,2481,2483,2486,2488,2490,2493,2495,2497],{"class":116,"line":160},[114,2450,2432],{"class":148},[114,2452,2453],{"class":2388},"inertia",[114,2455,2456],{"class":134}," ixx",[114,2458,1699],{"class":148},[114,2460,2443],{"class":138},[114,2462,2463],{"class":134}," ixy",[114,2465,1699],{"class":148},[114,2467,2468],{"class":138},"\"0.0\"",[114,2470,2471],{"class":134}," ixz",[114,2473,1699],{"class":148},[114,2475,2468],{"class":138},[114,2477,2478],{"class":134}," iyy",[114,2480,1699],{"class":148},[114,2482,2443],{"class":138},[114,2484,2485],{"class":134}," iyz",[114,2487,1699],{"class":148},[114,2489,2468],{"class":138},[114,2491,2492],{"class":134}," izz",[114,2494,1699],{"class":148},[114,2496,2443],{"class":138},[114,2498,2446],{"class":148},[114,2500,2501,2504,2506],{"class":116,"line":166},[114,2502,2503],{"class":148},"    \u003C\u002F",[114,2505,2425],{"class":2388},[114,2507,2400],{"class":148},[114,2509,2510,2513,2515],{"class":116,"line":178},[114,2511,2512],{"class":148},"  \u003C\u002F",[114,2514,2408],{"class":2388},[114,2516,2400],{"class":148},[114,2518,2519,2522,2524],{"class":116,"line":183},[114,2520,2521],{"class":148},"\u003C\u002F",[114,2523,2389],{"class":2388},[114,2525,2400],{"class":148},[17,2527,2528],{},"Xacro 示例（生成 URDF）：",[104,2530,2532],{"className":2376,"code":2531,"language":2378,"meta":109,"style":109},"\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",[111,2533,2534,2557,2580,2594,2602,2618,2662,2671,2679,2687,2691,2707],{"__ignoreMap":109},[114,2535,2536,2538,2541,2544,2546,2549,2551,2553,2555],{"class":116,"line":117},[114,2537,2385],{"class":148},[114,2539,2540],{"class":2388},"xacro:robot",[114,2542,2543],{"class":134}," xmlns:xacro",[114,2545,1699],{"class":148},[114,2547,2548],{"class":138},"\"http:\u002F\u002Fwww.ros.org\u002Fwiki\u002Fxacro\"",[114,2550,2392],{"class":134},[114,2552,1699],{"class":148},[114,2554,2397],{"class":138},[114,2556,2400],{"class":148},[114,2558,2559,2561,2564,2566,2568,2570,2573,2575,2578],{"class":116,"line":124},[114,2560,2405],{"class":148},[114,2562,2563],{"class":2388},"xacro:macro",[114,2565,2392],{"class":134},[114,2567,1699],{"class":148},[114,2569,2415],{"class":138},[114,2571,2572],{"class":134}," params",[114,2574,1699],{"class":148},[114,2576,2577],{"class":138},"\"mass\"",[114,2579,2400],{"class":148},[114,2581,2582,2584,2586,2588,2590,2592],{"class":116,"line":131},[114,2583,2422],{"class":148},[114,2585,2408],{"class":2388},[114,2587,2392],{"class":134},[114,2589,1699],{"class":148},[114,2591,2415],{"class":138},[114,2593,2400],{"class":148},[114,2595,2596,2598,2600],{"class":116,"line":155},[114,2597,2432],{"class":148},[114,2599,2425],{"class":2388},[114,2601,2400],{"class":148},[114,2603,2604,2607,2609,2611,2613,2616],{"class":116,"line":160},[114,2605,2606],{"class":148},"        \u003C",[114,2608,2435],{"class":2388},[114,2610,2438],{"class":134},[114,2612,1699],{"class":148},[114,2614,2615],{"class":138},"\"${mass}\"",[114,2617,2446],{"class":148},[114,2619,2620,2622,2624,2626,2628,2630,2632,2634,2636,2638,2640,2642,2644,2646,2648,2650,2652,2654,2656,2658,2660],{"class":116,"line":166},[114,2621,2606],{"class":148},[114,2623,2453],{"class":2388},[114,2625,2456],{"class":134},[114,2627,1699],{"class":148},[114,2629,2443],{"class":138},[114,2631,2463],{"class":134},[114,2633,1699],{"class":148},[114,2635,2468],{"class":138},[114,2637,2471],{"class":134},[114,2639,1699],{"class":148},[114,2641,2468],{"class":138},[114,2643,2478],{"class":134},[114,2645,1699],{"class":148},[114,2647,2443],{"class":138},[114,2649,2485],{"class":134},[114,2651,1699],{"class":148},[114,2653,2468],{"class":138},[114,2655,2492],{"class":134},[114,2657,1699],{"class":148},[114,2659,2443],{"class":138},[114,2661,2446],{"class":148},[114,2663,2664,2667,2669],{"class":116,"line":178},[114,2665,2666],{"class":148},"      \u003C\u002F",[114,2668,2425],{"class":2388},[114,2670,2400],{"class":148},[114,2672,2673,2675,2677],{"class":116,"line":183},[114,2674,2503],{"class":148},[114,2676,2408],{"class":2388},[114,2678,2400],{"class":148},[114,2680,2681,2683,2685],{"class":116,"line":189},[114,2682,2512],{"class":148},[114,2684,2563],{"class":2388},[114,2686,2400],{"class":148},[114,2688,2689],{"class":116,"line":436},[114,2690,121],{"emptyLinePlaceholder":120},[114,2692,2693,2695,2698,2701,2703,2705],{"class":116,"line":442},[114,2694,2405],{"class":148},[114,2696,2697],{"class":2388},"xacro:base_link",[114,2699,2700],{"class":134}," mass",[114,2702,1699],{"class":148},[114,2704,2443],{"class":138},[114,2706,2446],{"class":148},[114,2708,2709,2711,2713],{"class":116,"line":448},[114,2710,2521],{"class":148},[114,2712,2540],{"class":2388},[114,2714,2400],{"class":148},[17,2716,2717],{},"SDF 示例：",[104,2719,2721],{"className":2376,"code":2720,"language":2378,"meta":109,"style":109},"\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",[111,2722,2723,2740,2755,2769,2777,2790,2798,2812,2825,2838,2847,2855,2863,2871],{"__ignoreMap":109},[114,2724,2725,2727,2730,2733,2735,2738],{"class":116,"line":117},[114,2726,2385],{"class":148},[114,2728,2729],{"class":2388},"sdf",[114,2731,2732],{"class":134}," version",[114,2734,1699],{"class":148},[114,2736,2737],{"class":138},"\"1.6\"",[114,2739,2400],{"class":148},[114,2741,2742,2744,2747,2749,2751,2753],{"class":116,"line":124},[114,2743,2405],{"class":148},[114,2745,2746],{"class":2388},"model",[114,2748,2392],{"class":134},[114,2750,1699],{"class":148},[114,2752,2397],{"class":138},[114,2754,2400],{"class":148},[114,2756,2757,2759,2761,2763,2765,2767],{"class":116,"line":131},[114,2758,2422],{"class":148},[114,2760,2408],{"class":2388},[114,2762,2392],{"class":134},[114,2764,1699],{"class":148},[114,2766,2415],{"class":138},[114,2768,2400],{"class":148},[114,2770,2771,2773,2775],{"class":116,"line":155},[114,2772,2432],{"class":148},[114,2774,2425],{"class":2388},[114,2776,2400],{"class":148},[114,2778,2779,2781,2783,2786,2788],{"class":116,"line":160},[114,2780,2606],{"class":148},[114,2782,2435],{"class":2388},[114,2784,2785],{"class":148},">1.0\u003C\u002F",[114,2787,2435],{"class":2388},[114,2789,2400],{"class":148},[114,2791,2792,2794,2796],{"class":116,"line":166},[114,2793,2606],{"class":148},[114,2795,2453],{"class":2388},[114,2797,2400],{"class":148},[114,2799,2800,2803,2806,2808,2810],{"class":116,"line":178},[114,2801,2802],{"class":148},"          \u003C",[114,2804,2805],{"class":2388},"ixx",[114,2807,2785],{"class":148},[114,2809,2805],{"class":2388},[114,2811,2400],{"class":148},[114,2813,2814,2816,2819,2821,2823],{"class":116,"line":183},[114,2815,2802],{"class":148},[114,2817,2818],{"class":2388},"iyy",[114,2820,2785],{"class":148},[114,2822,2818],{"class":2388},[114,2824,2400],{"class":148},[114,2826,2827,2829,2832,2834,2836],{"class":116,"line":189},[114,2828,2802],{"class":148},[114,2830,2831],{"class":2388},"izz",[114,2833,2785],{"class":148},[114,2835,2831],{"class":2388},[114,2837,2400],{"class":148},[114,2839,2840,2843,2845],{"class":116,"line":436},[114,2841,2842],{"class":148},"        \u003C\u002F",[114,2844,2453],{"class":2388},[114,2846,2400],{"class":148},[114,2848,2849,2851,2853],{"class":116,"line":442},[114,2850,2666],{"class":148},[114,2852,2425],{"class":2388},[114,2854,2400],{"class":148},[114,2856,2857,2859,2861],{"class":116,"line":448},[114,2858,2503],{"class":148},[114,2860,2408],{"class":2388},[114,2862,2400],{"class":148},[114,2864,2865,2867,2869],{"class":116,"line":454},[114,2866,2512],{"class":148},[114,2868,2746],{"class":2388},[114,2870,2400],{"class":148},[114,2872,2873,2875,2877],{"class":116,"line":1676},[114,2874,2521],{"class":148},[114,2876,2729],{"class":2388},[114,2878,2400],{"class":148},[17,2880,2881],{},[52,2882,2883],{},"1.创建sdf文件",[17,2885,2886,2887,2890],{},"首先请调用指令",[111,2888,2889],{},"ign gazebo","启动Gazebo，选择Empty仿真环境，然后添加立方体，每一个立方体都对应一堵墙。",[17,2892,2893],{},"上下左右立方体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)。",[17,2895,2896],{},"（以上坐标是指X，Y，Z坐标，没有旋转度）",[17,2898,2899],{},"保存文件到功能包的world目录下，保存的文件名称需要以.sdf为后缀，此处文件名为house.sdf。",[17,2901,2902],{},[202,2903],{"alt":109,"src":2904},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1728.webp",[17,2906,2907],{},[202,2908],{"alt":109,"src":2909},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1729.webp",[104,2911,2913],{"className":2376,"code":2912,"language":2378,"meta":109,"style":109},"\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",[111,2914,2915,2930,2946,2970,2984,2998,3012,3020,3045,3067,3089,3111,3125,3139,3155,3164,3178,3192,3206,3214,3229,3242,3257,3273,3282,3292,3307,3321,3330,3339,3348,3357,3366,3374,3383,3392,3400,3408,3424,3432,3440,3452,3464,3472,3480,3489,3502,3515,3528,3536,3544,3558,3566,3578,3591,3599,3611,3625,3638,3651,3665,3678,3687,3696,3711,3720,3733,3747,3756,3772,3786,3802,3811,3820,3834,3847,3860,3873,3886,3899,3908,3921,3934,3943,3959,3968,3978,3992,4001,4010,4019,4028,4037,4046,4055,4064,4073,4082,4098,4107,4116,4129,4138,4147,4156,4170,4183,4197,4206,4215,4228,4241,4250,4263,4276,4285,4301,4315,4330,4339,4348,4361,4374,4387,4400,4413,4426,4435,4448,4461,4470,4485,4494,4503,4516,4525,4534,4543,4552,4561,4570,4579,4588,4597,4606,4621,4630,4639,4652,4661,4670,4679,4692,4705,4718,4727,4736,4749,4762,4771,4784,4797,4806,4822,4836,4851,4860,4869,4882,4895,4908,4921,4934,4947,4956,4969,4982,4991,5006,5015,5024,5038,5047,5056,5065,5074,5083,5092,5101,5110,5119,5128,5143,5152,5161,5174,5183,5192,5201,5214,5227,5240,5249,5258,5271,5284,5293,5306,5319,5328,5344,5358,5373,5382,5391,5404,5417,5430,5443,5456,5469,5478,5491,5504,5513,5528,5537,5546,5559,5568,5577,5586,5595,5604,5613,5622,5631,5640,5649,5664,5673,5682,5695,5704,5713,5722,5735,5748,5761,5770,5779,5792,5805,5814,5827,5840,5849,5873,5887,5901,5915,5930,5943,5957,5967,5981,5996,6011,6025,6034,6044,6058,6072,6086,6095,6104,6113],{"__ignoreMap":109},[114,2916,2917,2919,2921,2923,2925,2928],{"class":116,"line":117},[114,2918,2385],{"class":148},[114,2920,2729],{"class":2388},[114,2922,2732],{"class":134},[114,2924,1699],{"class":148},[114,2926,2927],{"class":138},"'1.9'",[114,2929,2400],{"class":148},[114,2931,2932,2934,2937,2939,2941,2944],{"class":116,"line":124},[114,2933,2405],{"class":148},[114,2935,2936],{"class":2388},"world",[114,2938,2392],{"class":134},[114,2940,1699],{"class":148},[114,2942,2943],{"class":138},"'empty'",[114,2945,2400],{"class":148},[114,2947,2948,2950,2953,2955,2957,2960,2963,2965,2968],{"class":116,"line":131},[114,2949,2422],{"class":148},[114,2951,2952],{"class":2388},"physics",[114,2954,2392],{"class":134},[114,2956,1699],{"class":148},[114,2958,2959],{"class":138},"'1ms'",[114,2961,2962],{"class":134}," type",[114,2964,1699],{"class":148},[114,2966,2967],{"class":138},"'ignored'",[114,2969,2400],{"class":148},[114,2971,2972,2974,2977,2980,2982],{"class":116,"line":155},[114,2973,2432],{"class":148},[114,2975,2976],{"class":2388},"max_step_size",[114,2978,2979],{"class":148},">0.001\u003C\u002F",[114,2981,2976],{"class":2388},[114,2983,2400],{"class":148},[114,2985,2986,2988,2991,2994,2996],{"class":116,"line":160},[114,2987,2432],{"class":148},[114,2989,2990],{"class":2388},"real_time_factor",[114,2992,2993],{"class":148},">1\u003C\u002F",[114,2995,2990],{"class":2388},[114,2997,2400],{"class":148},[114,2999,3000,3002,3005,3008,3010],{"class":116,"line":166},[114,3001,2432],{"class":148},[114,3003,3004],{"class":2388},"real_time_update_rate",[114,3006,3007],{"class":148},">1000\u003C\u002F",[114,3009,3004],{"class":2388},[114,3011,2400],{"class":148},[114,3013,3014,3016,3018],{"class":116,"line":178},[114,3015,2503],{"class":148},[114,3017,2952],{"class":2388},[114,3019,2400],{"class":148},[114,3021,3022,3024,3027,3029,3031,3034,3037,3039,3042],{"class":116,"line":183},[114,3023,2422],{"class":148},[114,3025,3026],{"class":2388},"plugin",[114,3028,2392],{"class":134},[114,3030,1699],{"class":148},[114,3032,3033],{"class":138},"'gz::sim::systems::Physics'",[114,3035,3036],{"class":134}," filename",[114,3038,1699],{"class":148},[114,3040,3041],{"class":138},"'ignition-gazebo-physics-system'",[114,3043,3044],{"class":148},"\u002F>\n",[114,3046,3047,3049,3051,3053,3055,3058,3060,3062,3065],{"class":116,"line":189},[114,3048,2422],{"class":148},[114,3050,3026],{"class":2388},[114,3052,2392],{"class":134},[114,3054,1699],{"class":148},[114,3056,3057],{"class":138},"'gz::sim::systems::UserCommands'",[114,3059,3036],{"class":134},[114,3061,1699],{"class":148},[114,3063,3064],{"class":138},"'ignition-gazebo-user-commands-system'",[114,3066,3044],{"class":148},[114,3068,3069,3071,3073,3075,3077,3080,3082,3084,3087],{"class":116,"line":436},[114,3070,2422],{"class":148},[114,3072,3026],{"class":2388},[114,3074,2392],{"class":134},[114,3076,1699],{"class":148},[114,3078,3079],{"class":138},"'gz::sim::systems::SceneBroadcaster'",[114,3081,3036],{"class":134},[114,3083,1699],{"class":148},[114,3085,3086],{"class":138},"'ignition-gazebo-scene-broadcaster-system'",[114,3088,3044],{"class":148},[114,3090,3091,3093,3095,3097,3099,3102,3104,3106,3109],{"class":116,"line":442},[114,3092,2422],{"class":148},[114,3094,3026],{"class":2388},[114,3096,2392],{"class":134},[114,3098,1699],{"class":148},[114,3100,3101],{"class":138},"'gz::sim::systems::Contact'",[114,3103,3036],{"class":134},[114,3105,1699],{"class":148},[114,3107,3108],{"class":138},"'ignition-gazebo-contact-system'",[114,3110,3044],{"class":148},[114,3112,3113,3115,3118,3121,3123],{"class":116,"line":448},[114,3114,2422],{"class":148},[114,3116,3117],{"class":2388},"gravity",[114,3119,3120],{"class":148},">0 0 -9.8\u003C\u002F",[114,3122,3117],{"class":2388},[114,3124,2400],{"class":148},[114,3126,3127,3129,3132,3135,3137],{"class":116,"line":454},[114,3128,2422],{"class":148},[114,3130,3131],{"class":2388},"magnetic_field",[114,3133,3134],{"class":148},">6e-06 2.3e-05 -4.2e-05\u003C\u002F",[114,3136,3131],{"class":2388},[114,3138,2400],{"class":148},[114,3140,3141,3143,3146,3148,3150,3153],{"class":116,"line":1676},[114,3142,2422],{"class":148},[114,3144,3145],{"class":2388},"atmosphere",[114,3147,2962],{"class":134},[114,3149,1699],{"class":148},[114,3151,3152],{"class":138},"'adiabatic'",[114,3154,3044],{"class":148},[114,3156,3157,3159,3162],{"class":116,"line":1688},[114,3158,2422],{"class":148},[114,3160,3161],{"class":2388},"scene",[114,3163,2400],{"class":148},[114,3165,3166,3168,3171,3174,3176],{"class":116,"line":1693},[114,3167,2432],{"class":148},[114,3169,3170],{"class":2388},"ambient",[114,3172,3173],{"class":148},">0.4 0.4 0.4 1\u003C\u002F",[114,3175,3170],{"class":2388},[114,3177,2400],{"class":148},[114,3179,3180,3182,3185,3188,3190],{"class":116,"line":1710},[114,3181,2432],{"class":148},[114,3183,3184],{"class":2388},"background",[114,3186,3187],{"class":148},">0.7 0.7 0.7 1\u003C\u002F",[114,3189,3184],{"class":2388},[114,3191,2400],{"class":148},[114,3193,3194,3196,3199,3202,3204],{"class":116,"line":1725},[114,3195,2432],{"class":148},[114,3197,3198],{"class":2388},"shadows",[114,3200,3201],{"class":148},">true\u003C\u002F",[114,3203,3198],{"class":2388},[114,3205,2400],{"class":148},[114,3207,3208,3210,3212],{"class":116,"line":1747},[114,3209,2503],{"class":148},[114,3211,3161],{"class":2388},[114,3213,2400],{"class":148},[114,3215,3216,3218,3220,3222,3224,3227],{"class":116,"line":1752},[114,3217,2422],{"class":148},[114,3219,2746],{"class":2388},[114,3221,2392],{"class":134},[114,3223,1699],{"class":148},[114,3225,3226],{"class":138},"'ground_plane'",[114,3228,2400],{"class":148},[114,3230,3231,3233,3236,3238,3240],{"class":116,"line":1763},[114,3232,2432],{"class":148},[114,3234,3235],{"class":2388},"static",[114,3237,3201],{"class":148},[114,3239,3235],{"class":2388},[114,3241,2400],{"class":148},[114,3243,3244,3246,3248,3250,3252,3255],{"class":116,"line":1769},[114,3245,2432],{"class":148},[114,3247,2408],{"class":2388},[114,3249,2392],{"class":134},[114,3251,1699],{"class":148},[114,3253,3254],{"class":138},"'link'",[114,3256,2400],{"class":148},[114,3258,3259,3261,3264,3266,3268,3271],{"class":116,"line":1787},[114,3260,2606],{"class":148},[114,3262,3263],{"class":2388},"collision",[114,3265,2392],{"class":134},[114,3267,1699],{"class":148},[114,3269,3270],{"class":138},"'collision'",[114,3272,2400],{"class":148},[114,3274,3275,3277,3280],{"class":116,"line":1799},[114,3276,2802],{"class":148},[114,3278,3279],{"class":2388},"geometry",[114,3281,2400],{"class":148},[114,3283,3284,3287,3290],{"class":116,"line":1817},[114,3285,3286],{"class":148},"            \u003C",[114,3288,3289],{"class":2388},"plane",[114,3291,2400],{"class":148},[114,3293,3294,3297,3300,3303,3305],{"class":116,"line":1823},[114,3295,3296],{"class":148},"              \u003C",[114,3298,3299],{"class":2388},"normal",[114,3301,3302],{"class":148},">0 0 1\u003C\u002F",[114,3304,3299],{"class":2388},[114,3306,2400],{"class":148},[114,3308,3309,3311,3314,3317,3319],{"class":116,"line":1829},[114,3310,3296],{"class":148},[114,3312,3313],{"class":2388},"size",[114,3315,3316],{"class":148},">100 100\u003C\u002F",[114,3318,3313],{"class":2388},[114,3320,2400],{"class":148},[114,3322,3323,3326,3328],{"class":116,"line":1834},[114,3324,3325],{"class":148},"            \u003C\u002F",[114,3327,3289],{"class":2388},[114,3329,2400],{"class":148},[114,3331,3332,3335,3337],{"class":116,"line":1840},[114,3333,3334],{"class":148},"          \u003C\u002F",[114,3336,3279],{"class":2388},[114,3338,2400],{"class":148},[114,3340,3341,3343,3346],{"class":116,"line":1851},[114,3342,2802],{"class":148},[114,3344,3345],{"class":2388},"surface",[114,3347,2400],{"class":148},[114,3349,3350,3352,3355],{"class":116,"line":1865},[114,3351,3286],{"class":148},[114,3353,3354],{"class":2388},"friction",[114,3356,2400],{"class":148},[114,3358,3359,3361,3364],{"class":116,"line":1877},[114,3360,3296],{"class":148},[114,3362,3363],{"class":2388},"ode",[114,3365,3044],{"class":148},[114,3367,3368,3370,3372],{"class":116,"line":1904},[114,3369,3325],{"class":148},[114,3371,3354],{"class":2388},[114,3373,2400],{"class":148},[114,3375,3376,3378,3381],{"class":116,"line":1920},[114,3377,3286],{"class":148},[114,3379,3380],{"class":2388},"bounce",[114,3382,3044],{"class":148},[114,3384,3385,3387,3390],{"class":116,"line":1925},[114,3386,3286],{"class":148},[114,3388,3389],{"class":2388},"contact",[114,3391,3044],{"class":148},[114,3393,3394,3396,3398],{"class":116,"line":1930},[114,3395,3334],{"class":148},[114,3397,3345],{"class":2388},[114,3399,2400],{"class":148},[114,3401,3402,3404,3406],{"class":116,"line":1936},[114,3403,2842],{"class":148},[114,3405,3263],{"class":2388},[114,3407,2400],{"class":148},[114,3409,3410,3412,3415,3417,3419,3422],{"class":116,"line":1946},[114,3411,2606],{"class":148},[114,3413,3414],{"class":2388},"visual",[114,3416,2392],{"class":134},[114,3418,1699],{"class":148},[114,3420,3421],{"class":138},"'visual'",[114,3423,2400],{"class":148},[114,3425,3426,3428,3430],{"class":116,"line":1959},[114,3427,2802],{"class":148},[114,3429,3279],{"class":2388},[114,3431,2400],{"class":148},[114,3433,3434,3436,3438],{"class":116,"line":1972},[114,3435,3286],{"class":148},[114,3437,3289],{"class":2388},[114,3439,2400],{"class":148},[114,3441,3442,3444,3446,3448,3450],{"class":116,"line":1987},[114,3443,3296],{"class":148},[114,3445,3299],{"class":2388},[114,3447,3302],{"class":148},[114,3449,3299],{"class":2388},[114,3451,2400],{"class":148},[114,3453,3454,3456,3458,3460,3462],{"class":116,"line":1995},[114,3455,3296],{"class":148},[114,3457,3313],{"class":2388},[114,3459,3316],{"class":148},[114,3461,3313],{"class":2388},[114,3463,2400],{"class":148},[114,3465,3466,3468,3470],{"class":116,"line":2003},[114,3467,3325],{"class":148},[114,3469,3289],{"class":2388},[114,3471,2400],{"class":148},[114,3473,3474,3476,3478],{"class":116,"line":2009},[114,3475,3334],{"class":148},[114,3477,3279],{"class":2388},[114,3479,2400],{"class":148},[114,3481,3482,3484,3487],{"class":116,"line":2031},[114,3483,2802],{"class":148},[114,3485,3486],{"class":2388},"material",[114,3488,2400],{"class":148},[114,3490,3491,3493,3495,3498,3500],{"class":116,"line":2042},[114,3492,3286],{"class":148},[114,3494,3170],{"class":2388},[114,3496,3497],{"class":148},">0.8 0.8 0.8 1\u003C\u002F",[114,3499,3170],{"class":2388},[114,3501,2400],{"class":148},[114,3503,3504,3506,3509,3511,3513],{"class":116,"line":2059},[114,3505,3286],{"class":148},[114,3507,3508],{"class":2388},"diffuse",[114,3510,3497],{"class":148},[114,3512,3508],{"class":2388},[114,3514,2400],{"class":148},[114,3516,3517,3519,3522,3524,3526],{"class":116,"line":2074},[114,3518,3286],{"class":148},[114,3520,3521],{"class":2388},"specular",[114,3523,3497],{"class":148},[114,3525,3521],{"class":2388},[114,3527,2400],{"class":148},[114,3529,3530,3532,3534],{"class":116,"line":2080},[114,3531,3334],{"class":148},[114,3533,3486],{"class":2388},[114,3535,2400],{"class":148},[114,3537,3538,3540,3542],{"class":116,"line":2091},[114,3539,2842],{"class":148},[114,3541,3414],{"class":2388},[114,3543,2400],{"class":148},[114,3545,3546,3548,3551,3554,3556],{"class":116,"line":2096},[114,3547,2606],{"class":148},[114,3549,3550],{"class":2388},"pose",[114,3552,3553],{"class":148},">0 0 0 0 -0 0\u003C\u002F",[114,3555,3550],{"class":2388},[114,3557,2400],{"class":148},[114,3559,3560,3562,3564],{"class":116,"line":2101},[114,3561,2606],{"class":148},[114,3563,2425],{"class":2388},[114,3565,2400],{"class":148},[114,3567,3568,3570,3572,3574,3576],{"class":116,"line":2110},[114,3569,2802],{"class":148},[114,3571,3550],{"class":2388},[114,3573,3553],{"class":148},[114,3575,3550],{"class":2388},[114,3577,2400],{"class":148},[114,3579,3580,3582,3584,3587,3589],{"class":116,"line":2116},[114,3581,2802],{"class":148},[114,3583,2435],{"class":2388},[114,3585,3586],{"class":148},">100\u003C\u002F",[114,3588,2435],{"class":2388},[114,3590,2400],{"class":148},[114,3592,3593,3595,3597],{"class":116,"line":2136},[114,3594,2802],{"class":148},[114,3596,2453],{"class":2388},[114,3598,2400],{"class":148},[114,3600,3601,3603,3605,3607,3609],{"class":116,"line":2149},[114,3602,3286],{"class":148},[114,3604,2805],{"class":2388},[114,3606,2993],{"class":148},[114,3608,2805],{"class":2388},[114,3610,2400],{"class":148},[114,3612,3613,3615,3618,3621,3623],{"class":116,"line":2155},[114,3614,3286],{"class":148},[114,3616,3617],{"class":2388},"ixy",[114,3619,3620],{"class":148},">0\u003C\u002F",[114,3622,3617],{"class":2388},[114,3624,2400],{"class":148},[114,3626,3627,3629,3632,3634,3636],{"class":116,"line":2161},[114,3628,3286],{"class":148},[114,3630,3631],{"class":2388},"ixz",[114,3633,3620],{"class":148},[114,3635,3631],{"class":2388},[114,3637,2400],{"class":148},[114,3639,3641,3643,3645,3647,3649],{"class":116,"line":3640},59,[114,3642,3286],{"class":148},[114,3644,2818],{"class":2388},[114,3646,2993],{"class":148},[114,3648,2818],{"class":2388},[114,3650,2400],{"class":148},[114,3652,3654,3656,3659,3661,3663],{"class":116,"line":3653},60,[114,3655,3286],{"class":148},[114,3657,3658],{"class":2388},"iyz",[114,3660,3620],{"class":148},[114,3662,3658],{"class":2388},[114,3664,2400],{"class":148},[114,3666,3668,3670,3672,3674,3676],{"class":116,"line":3667},61,[114,3669,3286],{"class":148},[114,3671,2831],{"class":2388},[114,3673,2993],{"class":148},[114,3675,2831],{"class":2388},[114,3677,2400],{"class":148},[114,3679,3681,3683,3685],{"class":116,"line":3680},62,[114,3682,3334],{"class":148},[114,3684,2453],{"class":2388},[114,3686,2400],{"class":148},[114,3688,3690,3692,3694],{"class":116,"line":3689},63,[114,3691,2842],{"class":148},[114,3693,2425],{"class":2388},[114,3695,2400],{"class":148},[114,3697,3699,3701,3704,3707,3709],{"class":116,"line":3698},64,[114,3700,2606],{"class":148},[114,3702,3703],{"class":2388},"enable_wind",[114,3705,3706],{"class":148},">false\u003C\u002F",[114,3708,3703],{"class":2388},[114,3710,2400],{"class":148},[114,3712,3714,3716,3718],{"class":116,"line":3713},65,[114,3715,2666],{"class":148},[114,3717,2408],{"class":2388},[114,3719,2400],{"class":148},[114,3721,3723,3725,3727,3729,3731],{"class":116,"line":3722},66,[114,3724,2432],{"class":148},[114,3726,3550],{"class":2388},[114,3728,3553],{"class":148},[114,3730,3550],{"class":2388},[114,3732,2400],{"class":148},[114,3734,3736,3738,3741,3743,3745],{"class":116,"line":3735},67,[114,3737,2432],{"class":148},[114,3739,3740],{"class":2388},"self_collide",[114,3742,3706],{"class":148},[114,3744,3740],{"class":2388},[114,3746,2400],{"class":148},[114,3748,3750,3752,3754],{"class":116,"line":3749},68,[114,3751,2503],{"class":148},[114,3753,2746],{"class":2388},[114,3755,2400],{"class":148},[114,3757,3759,3761,3763,3765,3767,3770],{"class":116,"line":3758},69,[114,3760,2422],{"class":148},[114,3762,2746],{"class":2388},[114,3764,2392],{"class":134},[114,3766,1699],{"class":148},[114,3768,3769],{"class":138},"'box'",[114,3771,2400],{"class":148},[114,3773,3775,3777,3779,3782,3784],{"class":116,"line":3774},70,[114,3776,2432],{"class":148},[114,3778,3550],{"class":2388},[114,3780,3781],{"class":148},">5.0 0 0.5 -0 0 0\u003C\u002F",[114,3783,3550],{"class":2388},[114,3785,2400],{"class":148},[114,3787,3789,3791,3793,3795,3797,3800],{"class":116,"line":3788},71,[114,3790,2432],{"class":148},[114,3792,2408],{"class":2388},[114,3794,2392],{"class":134},[114,3796,1699],{"class":148},[114,3798,3799],{"class":138},"'box_link'",[114,3801,2400],{"class":148},[114,3803,3805,3807,3809],{"class":116,"line":3804},72,[114,3806,2606],{"class":148},[114,3808,2425],{"class":2388},[114,3810,2400],{"class":148},[114,3812,3814,3816,3818],{"class":116,"line":3813},73,[114,3815,2802],{"class":148},[114,3817,2453],{"class":2388},[114,3819,2400],{"class":148},[114,3821,3823,3825,3827,3830,3832],{"class":116,"line":3822},74,[114,3824,3286],{"class":148},[114,3826,2805],{"class":2388},[114,3828,3829],{"class":148},">16.666\u003C\u002F",[114,3831,2805],{"class":2388},[114,3833,2400],{"class":148},[114,3835,3837,3839,3841,3843,3845],{"class":116,"line":3836},75,[114,3838,3286],{"class":148},[114,3840,3617],{"class":2388},[114,3842,3620],{"class":148},[114,3844,3617],{"class":2388},[114,3846,2400],{"class":148},[114,3848,3850,3852,3854,3856,3858],{"class":116,"line":3849},76,[114,3851,3286],{"class":148},[114,3853,3631],{"class":2388},[114,3855,3620],{"class":148},[114,3857,3631],{"class":2388},[114,3859,2400],{"class":148},[114,3861,3863,3865,3867,3869,3871],{"class":116,"line":3862},77,[114,3864,3286],{"class":148},[114,3866,2818],{"class":2388},[114,3868,3829],{"class":148},[114,3870,2818],{"class":2388},[114,3872,2400],{"class":148},[114,3874,3876,3878,3880,3882,3884],{"class":116,"line":3875},78,[114,3877,3286],{"class":148},[114,3879,3658],{"class":2388},[114,3881,3620],{"class":148},[114,3883,3658],{"class":2388},[114,3885,2400],{"class":148},[114,3887,3889,3891,3893,3895,3897],{"class":116,"line":3888},79,[114,3890,3286],{"class":148},[114,3892,2831],{"class":2388},[114,3894,3829],{"class":148},[114,3896,2831],{"class":2388},[114,3898,2400],{"class":148},[114,3900,3902,3904,3906],{"class":116,"line":3901},80,[114,3903,3334],{"class":148},[114,3905,2453],{"class":2388},[114,3907,2400],{"class":148},[114,3909,3911,3913,3915,3917,3919],{"class":116,"line":3910},81,[114,3912,2802],{"class":148},[114,3914,2435],{"class":2388},[114,3916,3586],{"class":148},[114,3918,2435],{"class":2388},[114,3920,2400],{"class":148},[114,3922,3924,3926,3928,3930,3932],{"class":116,"line":3923},82,[114,3925,2802],{"class":148},[114,3927,3550],{"class":2388},[114,3929,3553],{"class":148},[114,3931,3550],{"class":2388},[114,3933,2400],{"class":148},[114,3935,3937,3939,3941],{"class":116,"line":3936},83,[114,3938,2842],{"class":148},[114,3940,2425],{"class":2388},[114,3942,2400],{"class":148},[114,3944,3946,3948,3950,3952,3954,3957],{"class":116,"line":3945},84,[114,3947,2606],{"class":148},[114,3949,3263],{"class":2388},[114,3951,2392],{"class":134},[114,3953,1699],{"class":148},[114,3955,3956],{"class":138},"'box_collision'",[114,3958,2400],{"class":148},[114,3960,3962,3964,3966],{"class":116,"line":3961},85,[114,3963,2802],{"class":148},[114,3965,3279],{"class":2388},[114,3967,2400],{"class":148},[114,3969,3971,3973,3976],{"class":116,"line":3970},86,[114,3972,3286],{"class":148},[114,3974,3975],{"class":2388},"box",[114,3977,2400],{"class":148},[114,3979,3981,3983,3985,3988,3990],{"class":116,"line":3980},87,[114,3982,3296],{"class":148},[114,3984,3313],{"class":2388},[114,3986,3987],{"class":148},">0.1 5 1\u003C\u002F",[114,3989,3313],{"class":2388},[114,3991,2400],{"class":148},[114,3993,3995,3997,3999],{"class":116,"line":3994},88,[114,3996,3325],{"class":148},[114,3998,3975],{"class":2388},[114,4000,2400],{"class":148},[114,4002,4004,4006,4008],{"class":116,"line":4003},89,[114,4005,3334],{"class":148},[114,4007,3279],{"class":2388},[114,4009,2400],{"class":148},[114,4011,4013,4015,4017],{"class":116,"line":4012},90,[114,4014,2802],{"class":148},[114,4016,3345],{"class":2388},[114,4018,2400],{"class":148},[114,4020,4022,4024,4026],{"class":116,"line":4021},91,[114,4023,3286],{"class":148},[114,4025,3354],{"class":2388},[114,4027,2400],{"class":148},[114,4029,4031,4033,4035],{"class":116,"line":4030},92,[114,4032,3296],{"class":148},[114,4034,3363],{"class":2388},[114,4036,3044],{"class":148},[114,4038,4040,4042,4044],{"class":116,"line":4039},93,[114,4041,3325],{"class":148},[114,4043,3354],{"class":2388},[114,4045,2400],{"class":148},[114,4047,4049,4051,4053],{"class":116,"line":4048},94,[114,4050,3286],{"class":148},[114,4052,3380],{"class":2388},[114,4054,3044],{"class":148},[114,4056,4058,4060,4062],{"class":116,"line":4057},95,[114,4059,3286],{"class":148},[114,4061,3389],{"class":2388},[114,4063,3044],{"class":148},[114,4065,4067,4069,4071],{"class":116,"line":4066},96,[114,4068,3334],{"class":148},[114,4070,3345],{"class":2388},[114,4072,2400],{"class":148},[114,4074,4076,4078,4080],{"class":116,"line":4075},97,[114,4077,2842],{"class":148},[114,4079,3263],{"class":2388},[114,4081,2400],{"class":148},[114,4083,4085,4087,4089,4091,4093,4096],{"class":116,"line":4084},98,[114,4086,2606],{"class":148},[114,4088,3414],{"class":2388},[114,4090,2392],{"class":134},[114,4092,1699],{"class":148},[114,4094,4095],{"class":138},"'box_visual'",[114,4097,2400],{"class":148},[114,4099,4101,4103,4105],{"class":116,"line":4100},99,[114,4102,2802],{"class":148},[114,4104,3279],{"class":2388},[114,4106,2400],{"class":148},[114,4108,4110,4112,4114],{"class":116,"line":4109},100,[114,4111,3286],{"class":148},[114,4113,3975],{"class":2388},[114,4115,2400],{"class":148},[114,4117,4119,4121,4123,4125,4127],{"class":116,"line":4118},101,[114,4120,3296],{"class":148},[114,4122,3313],{"class":2388},[114,4124,3987],{"class":148},[114,4126,3313],{"class":2388},[114,4128,2400],{"class":148},[114,4130,4132,4134,4136],{"class":116,"line":4131},102,[114,4133,3325],{"class":148},[114,4135,3975],{"class":2388},[114,4137,2400],{"class":148},[114,4139,4141,4143,4145],{"class":116,"line":4140},103,[114,4142,3334],{"class":148},[114,4144,3279],{"class":2388},[114,4146,2400],{"class":148},[114,4148,4150,4152,4154],{"class":116,"line":4149},104,[114,4151,2802],{"class":148},[114,4153,3486],{"class":2388},[114,4155,2400],{"class":148},[114,4157,4159,4161,4163,4166,4168],{"class":116,"line":4158},105,[114,4160,3286],{"class":148},[114,4162,3170],{"class":2388},[114,4164,4165],{"class":148},">0.3 0.3 0.3 1\u003C\u002F",[114,4167,3170],{"class":2388},[114,4169,2400],{"class":148},[114,4171,4173,4175,4177,4179,4181],{"class":116,"line":4172},106,[114,4174,3286],{"class":148},[114,4176,3508],{"class":2388},[114,4178,3187],{"class":148},[114,4180,3508],{"class":2388},[114,4182,2400],{"class":148},[114,4184,4186,4188,4190,4193,4195],{"class":116,"line":4185},107,[114,4187,3286],{"class":148},[114,4189,3521],{"class":2388},[114,4191,4192],{"class":148},">1 1 1 1\u003C\u002F",[114,4194,3521],{"class":2388},[114,4196,2400],{"class":148},[114,4198,4200,4202,4204],{"class":116,"line":4199},108,[114,4201,3334],{"class":148},[114,4203,3486],{"class":2388},[114,4205,2400],{"class":148},[114,4207,4209,4211,4213],{"class":116,"line":4208},109,[114,4210,2842],{"class":148},[114,4212,3414],{"class":2388},[114,4214,2400],{"class":148},[114,4216,4218,4220,4222,4224,4226],{"class":116,"line":4217},110,[114,4219,2606],{"class":148},[114,4221,3550],{"class":2388},[114,4223,3553],{"class":148},[114,4225,3550],{"class":2388},[114,4227,2400],{"class":148},[114,4229,4231,4233,4235,4237,4239],{"class":116,"line":4230},111,[114,4232,2606],{"class":148},[114,4234,3703],{"class":2388},[114,4236,3706],{"class":148},[114,4238,3703],{"class":2388},[114,4240,2400],{"class":148},[114,4242,4244,4246,4248],{"class":116,"line":4243},112,[114,4245,2666],{"class":148},[114,4247,2408],{"class":2388},[114,4249,2400],{"class":148},[114,4251,4253,4255,4257,4259,4261],{"class":116,"line":4252},113,[114,4254,2432],{"class":148},[114,4256,3235],{"class":2388},[114,4258,3706],{"class":148},[114,4260,3235],{"class":2388},[114,4262,2400],{"class":148},[114,4264,4266,4268,4270,4272,4274],{"class":116,"line":4265},114,[114,4267,2432],{"class":148},[114,4269,3740],{"class":2388},[114,4271,3706],{"class":148},[114,4273,3740],{"class":2388},[114,4275,2400],{"class":148},[114,4277,4279,4281,4283],{"class":116,"line":4278},115,[114,4280,2503],{"class":148},[114,4282,2746],{"class":2388},[114,4284,2400],{"class":148},[114,4286,4288,4290,4292,4294,4296,4299],{"class":116,"line":4287},116,[114,4289,2422],{"class":148},[114,4291,2746],{"class":2388},[114,4293,2392],{"class":134},[114,4295,1699],{"class":148},[114,4297,4298],{"class":138},"'box_0'",[114,4300,2400],{"class":148},[114,4302,4304,4306,4308,4311,4313],{"class":116,"line":4303},117,[114,4305,2432],{"class":148},[114,4307,3550],{"class":2388},[114,4309,4310],{"class":148},">-5.0 -0 0.50000 -0 0 0\u003C\u002F",[114,4312,3550],{"class":2388},[114,4314,2400],{"class":148},[114,4316,4318,4320,4322,4324,4326,4328],{"class":116,"line":4317},118,[114,4319,2432],{"class":148},[114,4321,2408],{"class":2388},[114,4323,2392],{"class":134},[114,4325,1699],{"class":148},[114,4327,3799],{"class":138},[114,4329,2400],{"class":148},[114,4331,4333,4335,4337],{"class":116,"line":4332},119,[114,4334,2606],{"class":148},[114,4336,2425],{"class":2388},[114,4338,2400],{"class":148},[114,4340,4342,4344,4346],{"class":116,"line":4341},120,[114,4343,2802],{"class":148},[114,4345,2453],{"class":2388},[114,4347,2400],{"class":148},[114,4349,4351,4353,4355,4357,4359],{"class":116,"line":4350},121,[114,4352,3286],{"class":148},[114,4354,2805],{"class":2388},[114,4356,3829],{"class":148},[114,4358,2805],{"class":2388},[114,4360,2400],{"class":148},[114,4362,4364,4366,4368,4370,4372],{"class":116,"line":4363},122,[114,4365,3286],{"class":148},[114,4367,3617],{"class":2388},[114,4369,3620],{"class":148},[114,4371,3617],{"class":2388},[114,4373,2400],{"class":148},[114,4375,4377,4379,4381,4383,4385],{"class":116,"line":4376},123,[114,4378,3286],{"class":148},[114,4380,3631],{"class":2388},[114,4382,3620],{"class":148},[114,4384,3631],{"class":2388},[114,4386,2400],{"class":148},[114,4388,4390,4392,4394,4396,4398],{"class":116,"line":4389},124,[114,4391,3286],{"class":148},[114,4393,2818],{"class":2388},[114,4395,3829],{"class":148},[114,4397,2818],{"class":2388},[114,4399,2400],{"class":148},[114,4401,4403,4405,4407,4409,4411],{"class":116,"line":4402},125,[114,4404,3286],{"class":148},[114,4406,3658],{"class":2388},[114,4408,3620],{"class":148},[114,4410,3658],{"class":2388},[114,4412,2400],{"class":148},[114,4414,4416,4418,4420,4422,4424],{"class":116,"line":4415},126,[114,4417,3286],{"class":148},[114,4419,2831],{"class":2388},[114,4421,3829],{"class":148},[114,4423,2831],{"class":2388},[114,4425,2400],{"class":148},[114,4427,4429,4431,4433],{"class":116,"line":4428},127,[114,4430,3334],{"class":148},[114,4432,2453],{"class":2388},[114,4434,2400],{"class":148},[114,4436,4438,4440,4442,4444,4446],{"class":116,"line":4437},128,[114,4439,2802],{"class":148},[114,4441,2435],{"class":2388},[114,4443,3586],{"class":148},[114,4445,2435],{"class":2388},[114,4447,2400],{"class":148},[114,4449,4451,4453,4455,4457,4459],{"class":116,"line":4450},129,[114,4452,2802],{"class":148},[114,4454,3550],{"class":2388},[114,4456,3553],{"class":148},[114,4458,3550],{"class":2388},[114,4460,2400],{"class":148},[114,4462,4464,4466,4468],{"class":116,"line":4463},130,[114,4465,2842],{"class":148},[114,4467,2425],{"class":2388},[114,4469,2400],{"class":148},[114,4471,4473,4475,4477,4479,4481,4483],{"class":116,"line":4472},131,[114,4474,2606],{"class":148},[114,4476,3263],{"class":2388},[114,4478,2392],{"class":134},[114,4480,1699],{"class":148},[114,4482,3956],{"class":138},[114,4484,2400],{"class":148},[114,4486,4488,4490,4492],{"class":116,"line":4487},132,[114,4489,2802],{"class":148},[114,4491,3279],{"class":2388},[114,4493,2400],{"class":148},[114,4495,4497,4499,4501],{"class":116,"line":4496},133,[114,4498,3286],{"class":148},[114,4500,3975],{"class":2388},[114,4502,2400],{"class":148},[114,4504,4506,4508,4510,4512,4514],{"class":116,"line":4505},134,[114,4507,3296],{"class":148},[114,4509,3313],{"class":2388},[114,4511,3987],{"class":148},[114,4513,3313],{"class":2388},[114,4515,2400],{"class":148},[114,4517,4519,4521,4523],{"class":116,"line":4518},135,[114,4520,3325],{"class":148},[114,4522,3975],{"class":2388},[114,4524,2400],{"class":148},[114,4526,4528,4530,4532],{"class":116,"line":4527},136,[114,4529,3334],{"class":148},[114,4531,3279],{"class":2388},[114,4533,2400],{"class":148},[114,4535,4537,4539,4541],{"class":116,"line":4536},137,[114,4538,2802],{"class":148},[114,4540,3345],{"class":2388},[114,4542,2400],{"class":148},[114,4544,4546,4548,4550],{"class":116,"line":4545},138,[114,4547,3286],{"class":148},[114,4549,3354],{"class":2388},[114,4551,2400],{"class":148},[114,4553,4555,4557,4559],{"class":116,"line":4554},139,[114,4556,3296],{"class":148},[114,4558,3363],{"class":2388},[114,4560,3044],{"class":148},[114,4562,4564,4566,4568],{"class":116,"line":4563},140,[114,4565,3325],{"class":148},[114,4567,3354],{"class":2388},[114,4569,2400],{"class":148},[114,4571,4573,4575,4577],{"class":116,"line":4572},141,[114,4574,3286],{"class":148},[114,4576,3380],{"class":2388},[114,4578,3044],{"class":148},[114,4580,4582,4584,4586],{"class":116,"line":4581},142,[114,4583,3286],{"class":148},[114,4585,3389],{"class":2388},[114,4587,3044],{"class":148},[114,4589,4591,4593,4595],{"class":116,"line":4590},143,[114,4592,3334],{"class":148},[114,4594,3345],{"class":2388},[114,4596,2400],{"class":148},[114,4598,4600,4602,4604],{"class":116,"line":4599},144,[114,4601,2842],{"class":148},[114,4603,3263],{"class":2388},[114,4605,2400],{"class":148},[114,4607,4609,4611,4613,4615,4617,4619],{"class":116,"line":4608},145,[114,4610,2606],{"class":148},[114,4612,3414],{"class":2388},[114,4614,2392],{"class":134},[114,4616,1699],{"class":148},[114,4618,4095],{"class":138},[114,4620,2400],{"class":148},[114,4622,4624,4626,4628],{"class":116,"line":4623},146,[114,4625,2802],{"class":148},[114,4627,3279],{"class":2388},[114,4629,2400],{"class":148},[114,4631,4633,4635,4637],{"class":116,"line":4632},147,[114,4634,3286],{"class":148},[114,4636,3975],{"class":2388},[114,4638,2400],{"class":148},[114,4640,4642,4644,4646,4648,4650],{"class":116,"line":4641},148,[114,4643,3296],{"class":148},[114,4645,3313],{"class":2388},[114,4647,3987],{"class":148},[114,4649,3313],{"class":2388},[114,4651,2400],{"class":148},[114,4653,4655,4657,4659],{"class":116,"line":4654},149,[114,4656,3325],{"class":148},[114,4658,3975],{"class":2388},[114,4660,2400],{"class":148},[114,4662,4664,4666,4668],{"class":116,"line":4663},150,[114,4665,3334],{"class":148},[114,4667,3279],{"class":2388},[114,4669,2400],{"class":148},[114,4671,4673,4675,4677],{"class":116,"line":4672},151,[114,4674,2802],{"class":148},[114,4676,3486],{"class":2388},[114,4678,2400],{"class":148},[114,4680,4682,4684,4686,4688,4690],{"class":116,"line":4681},152,[114,4683,3286],{"class":148},[114,4685,3170],{"class":2388},[114,4687,4165],{"class":148},[114,4689,3170],{"class":2388},[114,4691,2400],{"class":148},[114,4693,4695,4697,4699,4701,4703],{"class":116,"line":4694},153,[114,4696,3286],{"class":148},[114,4698,3508],{"class":2388},[114,4700,3187],{"class":148},[114,4702,3508],{"class":2388},[114,4704,2400],{"class":148},[114,4706,4708,4710,4712,4714,4716],{"class":116,"line":4707},154,[114,4709,3286],{"class":148},[114,4711,3521],{"class":2388},[114,4713,4192],{"class":148},[114,4715,3521],{"class":2388},[114,4717,2400],{"class":148},[114,4719,4721,4723,4725],{"class":116,"line":4720},155,[114,4722,3334],{"class":148},[114,4724,3486],{"class":2388},[114,4726,2400],{"class":148},[114,4728,4730,4732,4734],{"class":116,"line":4729},156,[114,4731,2842],{"class":148},[114,4733,3414],{"class":2388},[114,4735,2400],{"class":148},[114,4737,4739,4741,4743,4745,4747],{"class":116,"line":4738},157,[114,4740,2606],{"class":148},[114,4742,3550],{"class":2388},[114,4744,3553],{"class":148},[114,4746,3550],{"class":2388},[114,4748,2400],{"class":148},[114,4750,4752,4754,4756,4758,4760],{"class":116,"line":4751},158,[114,4753,2606],{"class":148},[114,4755,3703],{"class":2388},[114,4757,3706],{"class":148},[114,4759,3703],{"class":2388},[114,4761,2400],{"class":148},[114,4763,4765,4767,4769],{"class":116,"line":4764},159,[114,4766,2666],{"class":148},[114,4768,2408],{"class":2388},[114,4770,2400],{"class":148},[114,4772,4774,4776,4778,4780,4782],{"class":116,"line":4773},160,[114,4775,2432],{"class":148},[114,4777,3235],{"class":2388},[114,4779,3706],{"class":148},[114,4781,3235],{"class":2388},[114,4783,2400],{"class":148},[114,4785,4787,4789,4791,4793,4795],{"class":116,"line":4786},161,[114,4788,2432],{"class":148},[114,4790,3740],{"class":2388},[114,4792,3706],{"class":148},[114,4794,3740],{"class":2388},[114,4796,2400],{"class":148},[114,4798,4800,4802,4804],{"class":116,"line":4799},162,[114,4801,2503],{"class":148},[114,4803,2746],{"class":2388},[114,4805,2400],{"class":148},[114,4807,4809,4811,4813,4815,4817,4820],{"class":116,"line":4808},163,[114,4810,2422],{"class":148},[114,4812,2746],{"class":2388},[114,4814,2392],{"class":134},[114,4816,1699],{"class":148},[114,4818,4819],{"class":138},"'box_1'",[114,4821,2400],{"class":148},[114,4823,4825,4827,4829,4832,4834],{"class":116,"line":4824},164,[114,4826,2432],{"class":148},[114,4828,3550],{"class":2388},[114,4830,4831],{"class":148},">-0 -2.5 0.5 -0 -0 -0\u003C\u002F",[114,4833,3550],{"class":2388},[114,4835,2400],{"class":148},[114,4837,4839,4841,4843,4845,4847,4849],{"class":116,"line":4838},165,[114,4840,2432],{"class":148},[114,4842,2408],{"class":2388},[114,4844,2392],{"class":134},[114,4846,1699],{"class":148},[114,4848,3799],{"class":138},[114,4850,2400],{"class":148},[114,4852,4854,4856,4858],{"class":116,"line":4853},166,[114,4855,2606],{"class":148},[114,4857,2425],{"class":2388},[114,4859,2400],{"class":148},[114,4861,4863,4865,4867],{"class":116,"line":4862},167,[114,4864,2802],{"class":148},[114,4866,2453],{"class":2388},[114,4868,2400],{"class":148},[114,4870,4872,4874,4876,4878,4880],{"class":116,"line":4871},168,[114,4873,3286],{"class":148},[114,4875,2805],{"class":2388},[114,4877,3829],{"class":148},[114,4879,2805],{"class":2388},[114,4881,2400],{"class":148},[114,4883,4885,4887,4889,4891,4893],{"class":116,"line":4884},169,[114,4886,3286],{"class":148},[114,4888,3617],{"class":2388},[114,4890,3620],{"class":148},[114,4892,3617],{"class":2388},[114,4894,2400],{"class":148},[114,4896,4898,4900,4902,4904,4906],{"class":116,"line":4897},170,[114,4899,3286],{"class":148},[114,4901,3631],{"class":2388},[114,4903,3620],{"class":148},[114,4905,3631],{"class":2388},[114,4907,2400],{"class":148},[114,4909,4911,4913,4915,4917,4919],{"class":116,"line":4910},171,[114,4912,3286],{"class":148},[114,4914,2818],{"class":2388},[114,4916,3829],{"class":148},[114,4918,2818],{"class":2388},[114,4920,2400],{"class":148},[114,4922,4924,4926,4928,4930,4932],{"class":116,"line":4923},172,[114,4925,3286],{"class":148},[114,4927,3658],{"class":2388},[114,4929,3620],{"class":148},[114,4931,3658],{"class":2388},[114,4933,2400],{"class":148},[114,4935,4937,4939,4941,4943,4945],{"class":116,"line":4936},173,[114,4938,3286],{"class":148},[114,4940,2831],{"class":2388},[114,4942,3829],{"class":148},[114,4944,2831],{"class":2388},[114,4946,2400],{"class":148},[114,4948,4950,4952,4954],{"class":116,"line":4949},174,[114,4951,3334],{"class":148},[114,4953,2453],{"class":2388},[114,4955,2400],{"class":148},[114,4957,4959,4961,4963,4965,4967],{"class":116,"line":4958},175,[114,4960,2802],{"class":148},[114,4962,2435],{"class":2388},[114,4964,3586],{"class":148},[114,4966,2435],{"class":2388},[114,4968,2400],{"class":148},[114,4970,4972,4974,4976,4978,4980],{"class":116,"line":4971},176,[114,4973,2802],{"class":148},[114,4975,3550],{"class":2388},[114,4977,3553],{"class":148},[114,4979,3550],{"class":2388},[114,4981,2400],{"class":148},[114,4983,4985,4987,4989],{"class":116,"line":4984},177,[114,4986,2842],{"class":148},[114,4988,2425],{"class":2388},[114,4990,2400],{"class":148},[114,4992,4994,4996,4998,5000,5002,5004],{"class":116,"line":4993},178,[114,4995,2606],{"class":148},[114,4997,3263],{"class":2388},[114,4999,2392],{"class":134},[114,5001,1699],{"class":148},[114,5003,3956],{"class":138},[114,5005,2400],{"class":148},[114,5007,5009,5011,5013],{"class":116,"line":5008},179,[114,5010,2802],{"class":148},[114,5012,3279],{"class":2388},[114,5014,2400],{"class":148},[114,5016,5018,5020,5022],{"class":116,"line":5017},180,[114,5019,3286],{"class":148},[114,5021,3975],{"class":2388},[114,5023,2400],{"class":148},[114,5025,5027,5029,5031,5034,5036],{"class":116,"line":5026},181,[114,5028,3296],{"class":148},[114,5030,3313],{"class":2388},[114,5032,5033],{"class":148},">10 0.1 1\u003C\u002F",[114,5035,3313],{"class":2388},[114,5037,2400],{"class":148},[114,5039,5041,5043,5045],{"class":116,"line":5040},182,[114,5042,3325],{"class":148},[114,5044,3975],{"class":2388},[114,5046,2400],{"class":148},[114,5048,5050,5052,5054],{"class":116,"line":5049},183,[114,5051,3334],{"class":148},[114,5053,3279],{"class":2388},[114,5055,2400],{"class":148},[114,5057,5059,5061,5063],{"class":116,"line":5058},184,[114,5060,2802],{"class":148},[114,5062,3345],{"class":2388},[114,5064,2400],{"class":148},[114,5066,5068,5070,5072],{"class":116,"line":5067},185,[114,5069,3286],{"class":148},[114,5071,3354],{"class":2388},[114,5073,2400],{"class":148},[114,5075,5077,5079,5081],{"class":116,"line":5076},186,[114,5078,3296],{"class":148},[114,5080,3363],{"class":2388},[114,5082,3044],{"class":148},[114,5084,5086,5088,5090],{"class":116,"line":5085},187,[114,5087,3325],{"class":148},[114,5089,3354],{"class":2388},[114,5091,2400],{"class":148},[114,5093,5095,5097,5099],{"class":116,"line":5094},188,[114,5096,3286],{"class":148},[114,5098,3380],{"class":2388},[114,5100,3044],{"class":148},[114,5102,5104,5106,5108],{"class":116,"line":5103},189,[114,5105,3286],{"class":148},[114,5107,3389],{"class":2388},[114,5109,3044],{"class":148},[114,5111,5113,5115,5117],{"class":116,"line":5112},190,[114,5114,3334],{"class":148},[114,5116,3345],{"class":2388},[114,5118,2400],{"class":148},[114,5120,5122,5124,5126],{"class":116,"line":5121},191,[114,5123,2842],{"class":148},[114,5125,3263],{"class":2388},[114,5127,2400],{"class":148},[114,5129,5131,5133,5135,5137,5139,5141],{"class":116,"line":5130},192,[114,5132,2606],{"class":148},[114,5134,3414],{"class":2388},[114,5136,2392],{"class":134},[114,5138,1699],{"class":148},[114,5140,4095],{"class":138},[114,5142,2400],{"class":148},[114,5144,5146,5148,5150],{"class":116,"line":5145},193,[114,5147,2802],{"class":148},[114,5149,3279],{"class":2388},[114,5151,2400],{"class":148},[114,5153,5155,5157,5159],{"class":116,"line":5154},194,[114,5156,3286],{"class":148},[114,5158,3975],{"class":2388},[114,5160,2400],{"class":148},[114,5162,5164,5166,5168,5170,5172],{"class":116,"line":5163},195,[114,5165,3296],{"class":148},[114,5167,3313],{"class":2388},[114,5169,5033],{"class":148},[114,5171,3313],{"class":2388},[114,5173,2400],{"class":148},[114,5175,5177,5179,5181],{"class":116,"line":5176},196,[114,5178,3325],{"class":148},[114,5180,3975],{"class":2388},[114,5182,2400],{"class":148},[114,5184,5186,5188,5190],{"class":116,"line":5185},197,[114,5187,3334],{"class":148},[114,5189,3279],{"class":2388},[114,5191,2400],{"class":148},[114,5193,5195,5197,5199],{"class":116,"line":5194},198,[114,5196,2802],{"class":148},[114,5198,3486],{"class":2388},[114,5200,2400],{"class":148},[114,5202,5204,5206,5208,5210,5212],{"class":116,"line":5203},199,[114,5205,3286],{"class":148},[114,5207,3170],{"class":2388},[114,5209,4165],{"class":148},[114,5211,3170],{"class":2388},[114,5213,2400],{"class":148},[114,5215,5217,5219,5221,5223,5225],{"class":116,"line":5216},200,[114,5218,3286],{"class":148},[114,5220,3508],{"class":2388},[114,5222,3187],{"class":148},[114,5224,3508],{"class":2388},[114,5226,2400],{"class":148},[114,5228,5230,5232,5234,5236,5238],{"class":116,"line":5229},201,[114,5231,3286],{"class":148},[114,5233,3521],{"class":2388},[114,5235,4192],{"class":148},[114,5237,3521],{"class":2388},[114,5239,2400],{"class":148},[114,5241,5243,5245,5247],{"class":116,"line":5242},202,[114,5244,3334],{"class":148},[114,5246,3486],{"class":2388},[114,5248,2400],{"class":148},[114,5250,5252,5254,5256],{"class":116,"line":5251},203,[114,5253,2842],{"class":148},[114,5255,3414],{"class":2388},[114,5257,2400],{"class":148},[114,5259,5261,5263,5265,5267,5269],{"class":116,"line":5260},204,[114,5262,2606],{"class":148},[114,5264,3550],{"class":2388},[114,5266,3553],{"class":148},[114,5268,3550],{"class":2388},[114,5270,2400],{"class":148},[114,5272,5274,5276,5278,5280,5282],{"class":116,"line":5273},205,[114,5275,2606],{"class":148},[114,5277,3703],{"class":2388},[114,5279,3706],{"class":148},[114,5281,3703],{"class":2388},[114,5283,2400],{"class":148},[114,5285,5287,5289,5291],{"class":116,"line":5286},206,[114,5288,2666],{"class":148},[114,5290,2408],{"class":2388},[114,5292,2400],{"class":148},[114,5294,5296,5298,5300,5302,5304],{"class":116,"line":5295},207,[114,5297,2432],{"class":148},[114,5299,3235],{"class":2388},[114,5301,3706],{"class":148},[114,5303,3235],{"class":2388},[114,5305,2400],{"class":148},[114,5307,5309,5311,5313,5315,5317],{"class":116,"line":5308},208,[114,5310,2432],{"class":148},[114,5312,3740],{"class":2388},[114,5314,3706],{"class":148},[114,5316,3740],{"class":2388},[114,5318,2400],{"class":148},[114,5320,5322,5324,5326],{"class":116,"line":5321},209,[114,5323,2503],{"class":148},[114,5325,2746],{"class":2388},[114,5327,2400],{"class":148},[114,5329,5331,5333,5335,5337,5339,5342],{"class":116,"line":5330},210,[114,5332,2422],{"class":148},[114,5334,2746],{"class":2388},[114,5336,2392],{"class":134},[114,5338,1699],{"class":148},[114,5340,5341],{"class":138},"'box_2'",[114,5343,2400],{"class":148},[114,5345,5347,5349,5351,5354,5356],{"class":116,"line":5346},211,[114,5348,2432],{"class":148},[114,5350,3550],{"class":2388},[114,5352,5353],{"class":148},">-0 2.5 0.5 0 -0 -0\u003C\u002F",[114,5355,3550],{"class":2388},[114,5357,2400],{"class":148},[114,5359,5361,5363,5365,5367,5369,5371],{"class":116,"line":5360},212,[114,5362,2432],{"class":148},[114,5364,2408],{"class":2388},[114,5366,2392],{"class":134},[114,5368,1699],{"class":148},[114,5370,3799],{"class":138},[114,5372,2400],{"class":148},[114,5374,5376,5378,5380],{"class":116,"line":5375},213,[114,5377,2606],{"class":148},[114,5379,2425],{"class":2388},[114,5381,2400],{"class":148},[114,5383,5385,5387,5389],{"class":116,"line":5384},214,[114,5386,2802],{"class":148},[114,5388,2453],{"class":2388},[114,5390,2400],{"class":148},[114,5392,5394,5396,5398,5400,5402],{"class":116,"line":5393},215,[114,5395,3286],{"class":148},[114,5397,2805],{"class":2388},[114,5399,3829],{"class":148},[114,5401,2805],{"class":2388},[114,5403,2400],{"class":148},[114,5405,5407,5409,5411,5413,5415],{"class":116,"line":5406},216,[114,5408,3286],{"class":148},[114,5410,3617],{"class":2388},[114,5412,3620],{"class":148},[114,5414,3617],{"class":2388},[114,5416,2400],{"class":148},[114,5418,5420,5422,5424,5426,5428],{"class":116,"line":5419},217,[114,5421,3286],{"class":148},[114,5423,3631],{"class":2388},[114,5425,3620],{"class":148},[114,5427,3631],{"class":2388},[114,5429,2400],{"class":148},[114,5431,5433,5435,5437,5439,5441],{"class":116,"line":5432},218,[114,5434,3286],{"class":148},[114,5436,2818],{"class":2388},[114,5438,3829],{"class":148},[114,5440,2818],{"class":2388},[114,5442,2400],{"class":148},[114,5444,5446,5448,5450,5452,5454],{"class":116,"line":5445},219,[114,5447,3286],{"class":148},[114,5449,3658],{"class":2388},[114,5451,3620],{"class":148},[114,5453,3658],{"class":2388},[114,5455,2400],{"class":148},[114,5457,5459,5461,5463,5465,5467],{"class":116,"line":5458},220,[114,5460,3286],{"class":148},[114,5462,2831],{"class":2388},[114,5464,3829],{"class":148},[114,5466,2831],{"class":2388},[114,5468,2400],{"class":148},[114,5470,5472,5474,5476],{"class":116,"line":5471},221,[114,5473,3334],{"class":148},[114,5475,2453],{"class":2388},[114,5477,2400],{"class":148},[114,5479,5481,5483,5485,5487,5489],{"class":116,"line":5480},222,[114,5482,2802],{"class":148},[114,5484,2435],{"class":2388},[114,5486,3586],{"class":148},[114,5488,2435],{"class":2388},[114,5490,2400],{"class":148},[114,5492,5494,5496,5498,5500,5502],{"class":116,"line":5493},223,[114,5495,2802],{"class":148},[114,5497,3550],{"class":2388},[114,5499,3553],{"class":148},[114,5501,3550],{"class":2388},[114,5503,2400],{"class":148},[114,5505,5507,5509,5511],{"class":116,"line":5506},224,[114,5508,2842],{"class":148},[114,5510,2425],{"class":2388},[114,5512,2400],{"class":148},[114,5514,5516,5518,5520,5522,5524,5526],{"class":116,"line":5515},225,[114,5517,2606],{"class":148},[114,5519,3263],{"class":2388},[114,5521,2392],{"class":134},[114,5523,1699],{"class":148},[114,5525,3956],{"class":138},[114,5527,2400],{"class":148},[114,5529,5531,5533,5535],{"class":116,"line":5530},226,[114,5532,2802],{"class":148},[114,5534,3279],{"class":2388},[114,5536,2400],{"class":148},[114,5538,5540,5542,5544],{"class":116,"line":5539},227,[114,5541,3286],{"class":148},[114,5543,3975],{"class":2388},[114,5545,2400],{"class":148},[114,5547,5549,5551,5553,5555,5557],{"class":116,"line":5548},228,[114,5550,3296],{"class":148},[114,5552,3313],{"class":2388},[114,5554,5033],{"class":148},[114,5556,3313],{"class":2388},[114,5558,2400],{"class":148},[114,5560,5562,5564,5566],{"class":116,"line":5561},229,[114,5563,3325],{"class":148},[114,5565,3975],{"class":2388},[114,5567,2400],{"class":148},[114,5569,5571,5573,5575],{"class":116,"line":5570},230,[114,5572,3334],{"class":148},[114,5574,3279],{"class":2388},[114,5576,2400],{"class":148},[114,5578,5580,5582,5584],{"class":116,"line":5579},231,[114,5581,2802],{"class":148},[114,5583,3345],{"class":2388},[114,5585,2400],{"class":148},[114,5587,5589,5591,5593],{"class":116,"line":5588},232,[114,5590,3286],{"class":148},[114,5592,3354],{"class":2388},[114,5594,2400],{"class":148},[114,5596,5598,5600,5602],{"class":116,"line":5597},233,[114,5599,3296],{"class":148},[114,5601,3363],{"class":2388},[114,5603,3044],{"class":148},[114,5605,5607,5609,5611],{"class":116,"line":5606},234,[114,5608,3325],{"class":148},[114,5610,3354],{"class":2388},[114,5612,2400],{"class":148},[114,5614,5616,5618,5620],{"class":116,"line":5615},235,[114,5617,3286],{"class":148},[114,5619,3380],{"class":2388},[114,5621,3044],{"class":148},[114,5623,5625,5627,5629],{"class":116,"line":5624},236,[114,5626,3286],{"class":148},[114,5628,3389],{"class":2388},[114,5630,3044],{"class":148},[114,5632,5634,5636,5638],{"class":116,"line":5633},237,[114,5635,3334],{"class":148},[114,5637,3345],{"class":2388},[114,5639,2400],{"class":148},[114,5641,5643,5645,5647],{"class":116,"line":5642},238,[114,5644,2842],{"class":148},[114,5646,3263],{"class":2388},[114,5648,2400],{"class":148},[114,5650,5652,5654,5656,5658,5660,5662],{"class":116,"line":5651},239,[114,5653,2606],{"class":148},[114,5655,3414],{"class":2388},[114,5657,2392],{"class":134},[114,5659,1699],{"class":148},[114,5661,4095],{"class":138},[114,5663,2400],{"class":148},[114,5665,5667,5669,5671],{"class":116,"line":5666},240,[114,5668,2802],{"class":148},[114,5670,3279],{"class":2388},[114,5672,2400],{"class":148},[114,5674,5676,5678,5680],{"class":116,"line":5675},241,[114,5677,3286],{"class":148},[114,5679,3975],{"class":2388},[114,5681,2400],{"class":148},[114,5683,5685,5687,5689,5691,5693],{"class":116,"line":5684},242,[114,5686,3296],{"class":148},[114,5688,3313],{"class":2388},[114,5690,5033],{"class":148},[114,5692,3313],{"class":2388},[114,5694,2400],{"class":148},[114,5696,5698,5700,5702],{"class":116,"line":5697},243,[114,5699,3325],{"class":148},[114,5701,3975],{"class":2388},[114,5703,2400],{"class":148},[114,5705,5707,5709,5711],{"class":116,"line":5706},244,[114,5708,3334],{"class":148},[114,5710,3279],{"class":2388},[114,5712,2400],{"class":148},[114,5714,5716,5718,5720],{"class":116,"line":5715},245,[114,5717,2802],{"class":148},[114,5719,3486],{"class":2388},[114,5721,2400],{"class":148},[114,5723,5725,5727,5729,5731,5733],{"class":116,"line":5724},246,[114,5726,3286],{"class":148},[114,5728,3170],{"class":2388},[114,5730,4165],{"class":148},[114,5732,3170],{"class":2388},[114,5734,2400],{"class":148},[114,5736,5738,5740,5742,5744,5746],{"class":116,"line":5737},247,[114,5739,3286],{"class":148},[114,5741,3508],{"class":2388},[114,5743,3187],{"class":148},[114,5745,3508],{"class":2388},[114,5747,2400],{"class":148},[114,5749,5751,5753,5755,5757,5759],{"class":116,"line":5750},248,[114,5752,3286],{"class":148},[114,5754,3521],{"class":2388},[114,5756,4192],{"class":148},[114,5758,3521],{"class":2388},[114,5760,2400],{"class":148},[114,5762,5764,5766,5768],{"class":116,"line":5763},249,[114,5765,3334],{"class":148},[114,5767,3486],{"class":2388},[114,5769,2400],{"class":148},[114,5771,5773,5775,5777],{"class":116,"line":5772},250,[114,5774,2842],{"class":148},[114,5776,3414],{"class":2388},[114,5778,2400],{"class":148},[114,5780,5782,5784,5786,5788,5790],{"class":116,"line":5781},251,[114,5783,2606],{"class":148},[114,5785,3550],{"class":2388},[114,5787,3553],{"class":148},[114,5789,3550],{"class":2388},[114,5791,2400],{"class":148},[114,5793,5795,5797,5799,5801,5803],{"class":116,"line":5794},252,[114,5796,2606],{"class":148},[114,5798,3703],{"class":2388},[114,5800,3706],{"class":148},[114,5802,3703],{"class":2388},[114,5804,2400],{"class":148},[114,5806,5808,5810,5812],{"class":116,"line":5807},253,[114,5809,2666],{"class":148},[114,5811,2408],{"class":2388},[114,5813,2400],{"class":148},[114,5815,5817,5819,5821,5823,5825],{"class":116,"line":5816},254,[114,5818,2432],{"class":148},[114,5820,3235],{"class":2388},[114,5822,3706],{"class":148},[114,5824,3235],{"class":2388},[114,5826,2400],{"class":148},[114,5828,5830,5832,5834,5836,5838],{"class":116,"line":5829},255,[114,5831,2432],{"class":148},[114,5833,3740],{"class":2388},[114,5835,3706],{"class":148},[114,5837,3740],{"class":2388},[114,5839,2400],{"class":148},[114,5841,5843,5845,5847],{"class":116,"line":5842},256,[114,5844,2503],{"class":148},[114,5846,2746],{"class":2388},[114,5848,2400],{"class":148},[114,5850,5852,5854,5857,5859,5861,5864,5866,5868,5871],{"class":116,"line":5851},257,[114,5853,2422],{"class":148},[114,5855,5856],{"class":2388},"light",[114,5858,2392],{"class":134},[114,5860,1699],{"class":148},[114,5862,5863],{"class":138},"'sun'",[114,5865,2962],{"class":134},[114,5867,1699],{"class":148},[114,5869,5870],{"class":138},"'directional'",[114,5872,2400],{"class":148},[114,5874,5876,5878,5880,5883,5885],{"class":116,"line":5875},258,[114,5877,2432],{"class":148},[114,5879,3550],{"class":2388},[114,5881,5882],{"class":148},">0 0 10 0 -0 0\u003C\u002F",[114,5884,3550],{"class":2388},[114,5886,2400],{"class":148},[114,5888,5890,5892,5895,5897,5899],{"class":116,"line":5889},259,[114,5891,2432],{"class":148},[114,5893,5894],{"class":2388},"cast_shadows",[114,5896,3201],{"class":148},[114,5898,5894],{"class":2388},[114,5900,2400],{"class":148},[114,5902,5904,5906,5909,5911,5913],{"class":116,"line":5903},260,[114,5905,2432],{"class":148},[114,5907,5908],{"class":2388},"intensity",[114,5910,2993],{"class":148},[114,5912,5908],{"class":2388},[114,5914,2400],{"class":148},[114,5916,5918,5920,5923,5926,5928],{"class":116,"line":5917},261,[114,5919,2432],{"class":148},[114,5921,5922],{"class":2388},"direction",[114,5924,5925],{"class":148},">-0.5 0.1 -0.9\u003C\u002F",[114,5927,5922],{"class":2388},[114,5929,2400],{"class":148},[114,5931,5933,5935,5937,5939,5941],{"class":116,"line":5932},262,[114,5934,2432],{"class":148},[114,5936,3508],{"class":2388},[114,5938,3497],{"class":148},[114,5940,3508],{"class":2388},[114,5942,2400],{"class":148},[114,5944,5946,5948,5950,5953,5955],{"class":116,"line":5945},263,[114,5947,2432],{"class":148},[114,5949,3521],{"class":2388},[114,5951,5952],{"class":148},">0.2 0.2 0.2 1\u003C\u002F",[114,5954,3521],{"class":2388},[114,5956,2400],{"class":148},[114,5958,5960,5962,5965],{"class":116,"line":5959},264,[114,5961,2432],{"class":148},[114,5963,5964],{"class":2388},"attenuation",[114,5966,2400],{"class":148},[114,5968,5970,5972,5975,5977,5979],{"class":116,"line":5969},265,[114,5971,2606],{"class":148},[114,5973,5974],{"class":2388},"range",[114,5976,3007],{"class":148},[114,5978,5974],{"class":2388},[114,5980,2400],{"class":148},[114,5982,5984,5986,5989,5992,5994],{"class":116,"line":5983},266,[114,5985,2606],{"class":148},[114,5987,5988],{"class":2388},"linear",[114,5990,5991],{"class":148},">0.01\u003C\u002F",[114,5993,5988],{"class":2388},[114,5995,2400],{"class":148},[114,5997,5999,6001,6004,6007,6009],{"class":116,"line":5998},267,[114,6000,2606],{"class":148},[114,6002,6003],{"class":2388},"constant",[114,6005,6006],{"class":148},">0.90000000000000002\u003C\u002F",[114,6008,6003],{"class":2388},[114,6010,2400],{"class":148},[114,6012,6014,6016,6019,6021,6023],{"class":116,"line":6013},268,[114,6015,2606],{"class":148},[114,6017,6018],{"class":2388},"quadratic",[114,6020,2979],{"class":148},[114,6022,6018],{"class":2388},[114,6024,2400],{"class":148},[114,6026,6028,6030,6032],{"class":116,"line":6027},269,[114,6029,2666],{"class":148},[114,6031,5964],{"class":2388},[114,6033,2400],{"class":148},[114,6035,6037,6039,6042],{"class":116,"line":6036},270,[114,6038,2432],{"class":148},[114,6040,6041],{"class":2388},"spot",[114,6043,2400],{"class":148},[114,6045,6047,6049,6052,6054,6056],{"class":116,"line":6046},271,[114,6048,2606],{"class":148},[114,6050,6051],{"class":2388},"inner_angle",[114,6053,3620],{"class":148},[114,6055,6051],{"class":2388},[114,6057,2400],{"class":148},[114,6059,6061,6063,6066,6068,6070],{"class":116,"line":6060},272,[114,6062,2606],{"class":148},[114,6064,6065],{"class":2388},"outer_angle",[114,6067,3620],{"class":148},[114,6069,6065],{"class":2388},[114,6071,2400],{"class":148},[114,6073,6075,6077,6080,6082,6084],{"class":116,"line":6074},273,[114,6076,2606],{"class":148},[114,6078,6079],{"class":2388},"falloff",[114,6081,3620],{"class":148},[114,6083,6079],{"class":2388},[114,6085,2400],{"class":148},[114,6087,6089,6091,6093],{"class":116,"line":6088},274,[114,6090,2666],{"class":148},[114,6092,6041],{"class":2388},[114,6094,2400],{"class":148},[114,6096,6098,6100,6102],{"class":116,"line":6097},275,[114,6099,2503],{"class":148},[114,6101,5856],{"class":2388},[114,6103,2400],{"class":148},[114,6105,6107,6109,6111],{"class":116,"line":6106},276,[114,6108,2512],{"class":148},[114,6110,2936],{"class":2388},[114,6112,2400],{"class":148},[114,6114,6116,6118,6120],{"class":116,"line":6115},277,[114,6117,2521],{"class":148},[114,6119,2729],{"class":2388},[114,6121,2400],{"class":148},[17,6123,6124],{},[52,6125,6126],{},"2.修改sdf文件",[17,6128,6129,6130,6133,6134,6137,6138,6140,6141,6140,6144,6140,6147,6150,6151,6153,6154,6156,6157,6160,6161,6150,6164,6153,6166,6156,6168,6160,6170,6173,6174,6178,6180,6183,6186,6189,6192,6195,6198,6201,6203,2327],{},"修改sdf文件，调整立方体的尺寸，实现墙体的合围。在sdf文件中，四个立方体分别对应了四个",[111,6131,6132],{},"\u003Cmodel>","标签，其",[111,6135,6136],{},"name","属性分别为",[111,6139,3975],{},"、",[111,6142,6143],{},"box_1",[111,6145,6146],{},"box_2",[111,6148,6149],{},"box_3","，将",[111,6152,3975],{},"和",[111,6155,6143],{},"中的",[111,6158,6159],{},"\u003Csize>1 1 1\u003C\u002Fsize>","修改为",[111,6162,6163],{},"\u003Csize>0.1 5 1\u003C\u002Fsize>",[111,6165,6146],{},[111,6167,6149],{},[111,6169,6159],{},[111,6171,6172],{},"\u003Csize>10 0.1 1\u003C\u002Fsize>","（",[6175,6176,6177],"em",{},"注意：每个",[111,6179,6132],{},[6175,6181,6182],{},"标签下，都包含两个",[111,6184,6185],{},"\u003Csize>",[6175,6187,6188],{},"标签，分别位于",[111,6190,6191],{},"\u003Ccollision>",[6175,6193,6194],{},"标签和",[111,6196,6197],{},"\u003Cvisual>",[6175,6199,6200],{},"标签下，两个",[111,6202,6185],{},[6175,6204,6205],{},"标签内容都需要修改",[17,6207,6208],{},"修改后与的house.sdf文件内容如下：",[104,6210,6212],{"className":2376,"code":6211,"language":2378,"meta":109,"style":109},"\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",[111,6213,6214,6228,6242,6262,6274,6286,6298,6306,6327,6348,6369,6390,6402,6414,6428,6436,6448,6460,6472,6480,6494,6506,6520,6534,6542,6550,6562,6574,6582,6590,6598,6606,6614,6622,6630,6638,6646,6654,6668,6676,6684,6696,6708,6716,6724,6732,6744,6756,6768,6776,6784,6796,6804,6816,6828,6836,6848,6860,6872,6884,6896,6908,6916,6924,6936,6944,6956,6968,6976,6990,7002,7016,7024,7032,7044,7056,7068,7080,7092,7104,7112,7124,7136,7144,7158,7166,7174,7186,7194,7202,7210,7218,7226,7234,7242,7250,7258,7266,7280,7288,7296,7308,7316,7324,7332,7344,7356,7368,7376,7384,7396,7408,7416,7428,7440,7448,7462,7474,7488,7496,7504,7516,7528,7540,7552,7564,7576,7584,7596,7608,7616,7630,7638,7646,7658,7666,7674,7682,7690,7698,7706,7714,7722,7730,7738,7752,7760,7768,7780,7788,7796,7804,7816,7828,7840,7848,7856,7868,7880,7888,7900,7912,7920,7934,7946,7960,7968,7976,7988,8000,8012,8024,8036,8048,8056,8068,8080,8088,8102,8110,8118,8130,8138,8146,8154,8162,8170,8178,8186,8194,8202,8210,8224,8232,8240,8252,8260,8268,8276,8288,8300,8312,8320,8328,8340,8352,8360,8372,8384,8392,8406,8418,8432,8440,8448,8460,8472,8484,8496,8508,8520,8528,8540,8552,8560,8574,8582,8590,8602,8610,8618,8626,8634,8642,8650,8658,8666,8674,8682,8696,8704,8712,8724,8732,8740,8748,8760,8772,8784,8792,8800,8812,8824,8832,8844,8856,8864,8884,8896,8908,8920,8932,8944,8956,8964,8976,8988,9000,9012,9020,9028,9040,9052,9064,9072,9080,9088],{"__ignoreMap":109},[114,6215,6216,6218,6220,6222,6224,6226],{"class":116,"line":117},[114,6217,2385],{"class":148},[114,6219,2729],{"class":2388},[114,6221,2732],{"class":134},[114,6223,1699],{"class":148},[114,6225,2927],{"class":138},[114,6227,2400],{"class":148},[114,6229,6230,6232,6234,6236,6238,6240],{"class":116,"line":124},[114,6231,2405],{"class":148},[114,6233,2936],{"class":2388},[114,6235,2392],{"class":134},[114,6237,1699],{"class":148},[114,6239,2943],{"class":138},[114,6241,2400],{"class":148},[114,6243,6244,6246,6248,6250,6252,6254,6256,6258,6260],{"class":116,"line":131},[114,6245,2422],{"class":148},[114,6247,2952],{"class":2388},[114,6249,2392],{"class":134},[114,6251,1699],{"class":148},[114,6253,2959],{"class":138},[114,6255,2962],{"class":134},[114,6257,1699],{"class":148},[114,6259,2967],{"class":138},[114,6261,2400],{"class":148},[114,6263,6264,6266,6268,6270,6272],{"class":116,"line":155},[114,6265,2432],{"class":148},[114,6267,2976],{"class":2388},[114,6269,2979],{"class":148},[114,6271,2976],{"class":2388},[114,6273,2400],{"class":148},[114,6275,6276,6278,6280,6282,6284],{"class":116,"line":160},[114,6277,2432],{"class":148},[114,6279,2990],{"class":2388},[114,6281,2993],{"class":148},[114,6283,2990],{"class":2388},[114,6285,2400],{"class":148},[114,6287,6288,6290,6292,6294,6296],{"class":116,"line":166},[114,6289,2432],{"class":148},[114,6291,3004],{"class":2388},[114,6293,3007],{"class":148},[114,6295,3004],{"class":2388},[114,6297,2400],{"class":148},[114,6299,6300,6302,6304],{"class":116,"line":178},[114,6301,2503],{"class":148},[114,6303,2952],{"class":2388},[114,6305,2400],{"class":148},[114,6307,6308,6310,6312,6314,6316,6319,6321,6323,6325],{"class":116,"line":183},[114,6309,2422],{"class":148},[114,6311,3026],{"class":2388},[114,6313,2392],{"class":134},[114,6315,1699],{"class":148},[114,6317,6318],{"class":138},"'ign::gazebo::systems::Physics'",[114,6320,3036],{"class":134},[114,6322,1699],{"class":148},[114,6324,3041],{"class":138},[114,6326,3044],{"class":148},[114,6328,6329,6331,6333,6335,6337,6340,6342,6344,6346],{"class":116,"line":189},[114,6330,2422],{"class":148},[114,6332,3026],{"class":2388},[114,6334,2392],{"class":134},[114,6336,1699],{"class":148},[114,6338,6339],{"class":138},"'ign::gazebo::systems::UserCommands'",[114,6341,3036],{"class":134},[114,6343,1699],{"class":148},[114,6345,3064],{"class":138},[114,6347,3044],{"class":148},[114,6349,6350,6352,6354,6356,6358,6361,6363,6365,6367],{"class":116,"line":436},[114,6351,2422],{"class":148},[114,6353,3026],{"class":2388},[114,6355,2392],{"class":134},[114,6357,1699],{"class":148},[114,6359,6360],{"class":138},"'ign::gazebo::systems::SceneBroadcaster'",[114,6362,3036],{"class":134},[114,6364,1699],{"class":148},[114,6366,3086],{"class":138},[114,6368,3044],{"class":148},[114,6370,6371,6373,6375,6377,6379,6382,6384,6386,6388],{"class":116,"line":442},[114,6372,2422],{"class":148},[114,6374,3026],{"class":2388},[114,6376,2392],{"class":134},[114,6378,1699],{"class":148},[114,6380,6381],{"class":138},"'ign::gazebo::systems::Contact'",[114,6383,3036],{"class":134},[114,6385,1699],{"class":148},[114,6387,3108],{"class":138},[114,6389,3044],{"class":148},[114,6391,6392,6394,6396,6398,6400],{"class":116,"line":448},[114,6393,2422],{"class":148},[114,6395,3117],{"class":2388},[114,6397,3120],{"class":148},[114,6399,3117],{"class":2388},[114,6401,2400],{"class":148},[114,6403,6404,6406,6408,6410,6412],{"class":116,"line":454},[114,6405,2422],{"class":148},[114,6407,3131],{"class":2388},[114,6409,3134],{"class":148},[114,6411,3131],{"class":2388},[114,6413,2400],{"class":148},[114,6415,6416,6418,6420,6422,6424,6426],{"class":116,"line":1676},[114,6417,2422],{"class":148},[114,6419,3145],{"class":2388},[114,6421,2962],{"class":134},[114,6423,1699],{"class":148},[114,6425,3152],{"class":138},[114,6427,3044],{"class":148},[114,6429,6430,6432,6434],{"class":116,"line":1688},[114,6431,2422],{"class":148},[114,6433,3161],{"class":2388},[114,6435,2400],{"class":148},[114,6437,6438,6440,6442,6444,6446],{"class":116,"line":1693},[114,6439,2432],{"class":148},[114,6441,3170],{"class":2388},[114,6443,3173],{"class":148},[114,6445,3170],{"class":2388},[114,6447,2400],{"class":148},[114,6449,6450,6452,6454,6456,6458],{"class":116,"line":1710},[114,6451,2432],{"class":148},[114,6453,3184],{"class":2388},[114,6455,3187],{"class":148},[114,6457,3184],{"class":2388},[114,6459,2400],{"class":148},[114,6461,6462,6464,6466,6468,6470],{"class":116,"line":1725},[114,6463,2432],{"class":148},[114,6465,3198],{"class":2388},[114,6467,3201],{"class":148},[114,6469,3198],{"class":2388},[114,6471,2400],{"class":148},[114,6473,6474,6476,6478],{"class":116,"line":1747},[114,6475,2503],{"class":148},[114,6477,3161],{"class":2388},[114,6479,2400],{"class":148},[114,6481,6482,6484,6486,6488,6490,6492],{"class":116,"line":1752},[114,6483,2422],{"class":148},[114,6485,2746],{"class":2388},[114,6487,2392],{"class":134},[114,6489,1699],{"class":148},[114,6491,3226],{"class":138},[114,6493,2400],{"class":148},[114,6495,6496,6498,6500,6502,6504],{"class":116,"line":1763},[114,6497,2432],{"class":148},[114,6499,3235],{"class":2388},[114,6501,3201],{"class":148},[114,6503,3235],{"class":2388},[114,6505,2400],{"class":148},[114,6507,6508,6510,6512,6514,6516,6518],{"class":116,"line":1769},[114,6509,2432],{"class":148},[114,6511,2408],{"class":2388},[114,6513,2392],{"class":134},[114,6515,1699],{"class":148},[114,6517,3254],{"class":138},[114,6519,2400],{"class":148},[114,6521,6522,6524,6526,6528,6530,6532],{"class":116,"line":1787},[114,6523,2606],{"class":148},[114,6525,3263],{"class":2388},[114,6527,2392],{"class":134},[114,6529,1699],{"class":148},[114,6531,3270],{"class":138},[114,6533,2400],{"class":148},[114,6535,6536,6538,6540],{"class":116,"line":1799},[114,6537,2802],{"class":148},[114,6539,3279],{"class":2388},[114,6541,2400],{"class":148},[114,6543,6544,6546,6548],{"class":116,"line":1817},[114,6545,3286],{"class":148},[114,6547,3289],{"class":2388},[114,6549,2400],{"class":148},[114,6551,6552,6554,6556,6558,6560],{"class":116,"line":1823},[114,6553,3296],{"class":148},[114,6555,3299],{"class":2388},[114,6557,3302],{"class":148},[114,6559,3299],{"class":2388},[114,6561,2400],{"class":148},[114,6563,6564,6566,6568,6570,6572],{"class":116,"line":1829},[114,6565,3296],{"class":148},[114,6567,3313],{"class":2388},[114,6569,3316],{"class":148},[114,6571,3313],{"class":2388},[114,6573,2400],{"class":148},[114,6575,6576,6578,6580],{"class":116,"line":1834},[114,6577,3325],{"class":148},[114,6579,3289],{"class":2388},[114,6581,2400],{"class":148},[114,6583,6584,6586,6588],{"class":116,"line":1840},[114,6585,3334],{"class":148},[114,6587,3279],{"class":2388},[114,6589,2400],{"class":148},[114,6591,6592,6594,6596],{"class":116,"line":1851},[114,6593,2802],{"class":148},[114,6595,3345],{"class":2388},[114,6597,2400],{"class":148},[114,6599,6600,6602,6604],{"class":116,"line":1865},[114,6601,3286],{"class":148},[114,6603,3354],{"class":2388},[114,6605,2400],{"class":148},[114,6607,6608,6610,6612],{"class":116,"line":1877},[114,6609,3296],{"class":148},[114,6611,3363],{"class":2388},[114,6613,3044],{"class":148},[114,6615,6616,6618,6620],{"class":116,"line":1904},[114,6617,3325],{"class":148},[114,6619,3354],{"class":2388},[114,6621,2400],{"class":148},[114,6623,6624,6626,6628],{"class":116,"line":1920},[114,6625,3286],{"class":148},[114,6627,3380],{"class":2388},[114,6629,3044],{"class":148},[114,6631,6632,6634,6636],{"class":116,"line":1925},[114,6633,3286],{"class":148},[114,6635,3389],{"class":2388},[114,6637,3044],{"class":148},[114,6639,6640,6642,6644],{"class":116,"line":1930},[114,6641,3334],{"class":148},[114,6643,3345],{"class":2388},[114,6645,2400],{"class":148},[114,6647,6648,6650,6652],{"class":116,"line":1936},[114,6649,2842],{"class":148},[114,6651,3263],{"class":2388},[114,6653,2400],{"class":148},[114,6655,6656,6658,6660,6662,6664,6666],{"class":116,"line":1946},[114,6657,2606],{"class":148},[114,6659,3414],{"class":2388},[114,6661,2392],{"class":134},[114,6663,1699],{"class":148},[114,6665,3421],{"class":138},[114,6667,2400],{"class":148},[114,6669,6670,6672,6674],{"class":116,"line":1959},[114,6671,2802],{"class":148},[114,6673,3279],{"class":2388},[114,6675,2400],{"class":148},[114,6677,6678,6680,6682],{"class":116,"line":1972},[114,6679,3286],{"class":148},[114,6681,3289],{"class":2388},[114,6683,2400],{"class":148},[114,6685,6686,6688,6690,6692,6694],{"class":116,"line":1987},[114,6687,3296],{"class":148},[114,6689,3299],{"class":2388},[114,6691,3302],{"class":148},[114,6693,3299],{"class":2388},[114,6695,2400],{"class":148},[114,6697,6698,6700,6702,6704,6706],{"class":116,"line":1995},[114,6699,3296],{"class":148},[114,6701,3313],{"class":2388},[114,6703,3316],{"class":148},[114,6705,3313],{"class":2388},[114,6707,2400],{"class":148},[114,6709,6710,6712,6714],{"class":116,"line":2003},[114,6711,3325],{"class":148},[114,6713,3289],{"class":2388},[114,6715,2400],{"class":148},[114,6717,6718,6720,6722],{"class":116,"line":2009},[114,6719,3334],{"class":148},[114,6721,3279],{"class":2388},[114,6723,2400],{"class":148},[114,6725,6726,6728,6730],{"class":116,"line":2031},[114,6727,2802],{"class":148},[114,6729,3486],{"class":2388},[114,6731,2400],{"class":148},[114,6733,6734,6736,6738,6740,6742],{"class":116,"line":2042},[114,6735,3286],{"class":148},[114,6737,3170],{"class":2388},[114,6739,3497],{"class":148},[114,6741,3170],{"class":2388},[114,6743,2400],{"class":148},[114,6745,6746,6748,6750,6752,6754],{"class":116,"line":2059},[114,6747,3286],{"class":148},[114,6749,3508],{"class":2388},[114,6751,3497],{"class":148},[114,6753,3508],{"class":2388},[114,6755,2400],{"class":148},[114,6757,6758,6760,6762,6764,6766],{"class":116,"line":2074},[114,6759,3286],{"class":148},[114,6761,3521],{"class":2388},[114,6763,3497],{"class":148},[114,6765,3521],{"class":2388},[114,6767,2400],{"class":148},[114,6769,6770,6772,6774],{"class":116,"line":2080},[114,6771,3334],{"class":148},[114,6773,3486],{"class":2388},[114,6775,2400],{"class":148},[114,6777,6778,6780,6782],{"class":116,"line":2091},[114,6779,2842],{"class":148},[114,6781,3414],{"class":2388},[114,6783,2400],{"class":148},[114,6785,6786,6788,6790,6792,6794],{"class":116,"line":2096},[114,6787,2606],{"class":148},[114,6789,3550],{"class":2388},[114,6791,3553],{"class":148},[114,6793,3550],{"class":2388},[114,6795,2400],{"class":148},[114,6797,6798,6800,6802],{"class":116,"line":2101},[114,6799,2606],{"class":148},[114,6801,2425],{"class":2388},[114,6803,2400],{"class":148},[114,6805,6806,6808,6810,6812,6814],{"class":116,"line":2110},[114,6807,2802],{"class":148},[114,6809,3550],{"class":2388},[114,6811,3553],{"class":148},[114,6813,3550],{"class":2388},[114,6815,2400],{"class":148},[114,6817,6818,6820,6822,6824,6826],{"class":116,"line":2116},[114,6819,2802],{"class":148},[114,6821,2435],{"class":2388},[114,6823,3586],{"class":148},[114,6825,2435],{"class":2388},[114,6827,2400],{"class":148},[114,6829,6830,6832,6834],{"class":116,"line":2136},[114,6831,2802],{"class":148},[114,6833,2453],{"class":2388},[114,6835,2400],{"class":148},[114,6837,6838,6840,6842,6844,6846],{"class":116,"line":2149},[114,6839,3286],{"class":148},[114,6841,2805],{"class":2388},[114,6843,2993],{"class":148},[114,6845,2805],{"class":2388},[114,6847,2400],{"class":148},[114,6849,6850,6852,6854,6856,6858],{"class":116,"line":2155},[114,6851,3286],{"class":148},[114,6853,3617],{"class":2388},[114,6855,3620],{"class":148},[114,6857,3617],{"class":2388},[114,6859,2400],{"class":148},[114,6861,6862,6864,6866,6868,6870],{"class":116,"line":2161},[114,6863,3286],{"class":148},[114,6865,3631],{"class":2388},[114,6867,3620],{"class":148},[114,6869,3631],{"class":2388},[114,6871,2400],{"class":148},[114,6873,6874,6876,6878,6880,6882],{"class":116,"line":3640},[114,6875,3286],{"class":148},[114,6877,2818],{"class":2388},[114,6879,2993],{"class":148},[114,6881,2818],{"class":2388},[114,6883,2400],{"class":148},[114,6885,6886,6888,6890,6892,6894],{"class":116,"line":3653},[114,6887,3286],{"class":148},[114,6889,3658],{"class":2388},[114,6891,3620],{"class":148},[114,6893,3658],{"class":2388},[114,6895,2400],{"class":148},[114,6897,6898,6900,6902,6904,6906],{"class":116,"line":3667},[114,6899,3286],{"class":148},[114,6901,2831],{"class":2388},[114,6903,2993],{"class":148},[114,6905,2831],{"class":2388},[114,6907,2400],{"class":148},[114,6909,6910,6912,6914],{"class":116,"line":3680},[114,6911,3334],{"class":148},[114,6913,2453],{"class":2388},[114,6915,2400],{"class":148},[114,6917,6918,6920,6922],{"class":116,"line":3689},[114,6919,2842],{"class":148},[114,6921,2425],{"class":2388},[114,6923,2400],{"class":148},[114,6925,6926,6928,6930,6932,6934],{"class":116,"line":3698},[114,6927,2606],{"class":148},[114,6929,3703],{"class":2388},[114,6931,3706],{"class":148},[114,6933,3703],{"class":2388},[114,6935,2400],{"class":148},[114,6937,6938,6940,6942],{"class":116,"line":3713},[114,6939,2666],{"class":148},[114,6941,2408],{"class":2388},[114,6943,2400],{"class":148},[114,6945,6946,6948,6950,6952,6954],{"class":116,"line":3722},[114,6947,2432],{"class":148},[114,6949,3550],{"class":2388},[114,6951,3553],{"class":148},[114,6953,3550],{"class":2388},[114,6955,2400],{"class":148},[114,6957,6958,6960,6962,6964,6966],{"class":116,"line":3735},[114,6959,2432],{"class":148},[114,6961,3740],{"class":2388},[114,6963,3706],{"class":148},[114,6965,3740],{"class":2388},[114,6967,2400],{"class":148},[114,6969,6970,6972,6974],{"class":116,"line":3749},[114,6971,2503],{"class":148},[114,6973,2746],{"class":2388},[114,6975,2400],{"class":148},[114,6977,6978,6980,6982,6984,6986,6988],{"class":116,"line":3758},[114,6979,2422],{"class":148},[114,6981,2746],{"class":2388},[114,6983,2392],{"class":134},[114,6985,1699],{"class":148},[114,6987,3769],{"class":138},[114,6989,2400],{"class":148},[114,6991,6992,6994,6996,6998,7000],{"class":116,"line":3774},[114,6993,2432],{"class":148},[114,6995,3550],{"class":2388},[114,6997,3781],{"class":148},[114,6999,3550],{"class":2388},[114,7001,2400],{"class":148},[114,7003,7004,7006,7008,7010,7012,7014],{"class":116,"line":3788},[114,7005,2432],{"class":148},[114,7007,2408],{"class":2388},[114,7009,2392],{"class":134},[114,7011,1699],{"class":148},[114,7013,3799],{"class":138},[114,7015,2400],{"class":148},[114,7017,7018,7020,7022],{"class":116,"line":3804},[114,7019,2606],{"class":148},[114,7021,2425],{"class":2388},[114,7023,2400],{"class":148},[114,7025,7026,7028,7030],{"class":116,"line":3813},[114,7027,2802],{"class":148},[114,7029,2453],{"class":2388},[114,7031,2400],{"class":148},[114,7033,7034,7036,7038,7040,7042],{"class":116,"line":3822},[114,7035,3286],{"class":148},[114,7037,2805],{"class":2388},[114,7039,3829],{"class":148},[114,7041,2805],{"class":2388},[114,7043,2400],{"class":148},[114,7045,7046,7048,7050,7052,7054],{"class":116,"line":3836},[114,7047,3286],{"class":148},[114,7049,3617],{"class":2388},[114,7051,3620],{"class":148},[114,7053,3617],{"class":2388},[114,7055,2400],{"class":148},[114,7057,7058,7060,7062,7064,7066],{"class":116,"line":3849},[114,7059,3286],{"class":148},[114,7061,3631],{"class":2388},[114,7063,3620],{"class":148},[114,7065,3631],{"class":2388},[114,7067,2400],{"class":148},[114,7069,7070,7072,7074,7076,7078],{"class":116,"line":3862},[114,7071,3286],{"class":148},[114,7073,2818],{"class":2388},[114,7075,3829],{"class":148},[114,7077,2818],{"class":2388},[114,7079,2400],{"class":148},[114,7081,7082,7084,7086,7088,7090],{"class":116,"line":3875},[114,7083,3286],{"class":148},[114,7085,3658],{"class":2388},[114,7087,3620],{"class":148},[114,7089,3658],{"class":2388},[114,7091,2400],{"class":148},[114,7093,7094,7096,7098,7100,7102],{"class":116,"line":3888},[114,7095,3286],{"class":148},[114,7097,2831],{"class":2388},[114,7099,3829],{"class":148},[114,7101,2831],{"class":2388},[114,7103,2400],{"class":148},[114,7105,7106,7108,7110],{"class":116,"line":3901},[114,7107,3334],{"class":148},[114,7109,2453],{"class":2388},[114,7111,2400],{"class":148},[114,7113,7114,7116,7118,7120,7122],{"class":116,"line":3910},[114,7115,2802],{"class":148},[114,7117,2435],{"class":2388},[114,7119,3586],{"class":148},[114,7121,2435],{"class":2388},[114,7123,2400],{"class":148},[114,7125,7126,7128,7130,7132,7134],{"class":116,"line":3923},[114,7127,2802],{"class":148},[114,7129,3550],{"class":2388},[114,7131,3553],{"class":148},[114,7133,3550],{"class":2388},[114,7135,2400],{"class":148},[114,7137,7138,7140,7142],{"class":116,"line":3936},[114,7139,2842],{"class":148},[114,7141,2425],{"class":2388},[114,7143,2400],{"class":148},[114,7145,7146,7148,7150,7152,7154,7156],{"class":116,"line":3945},[114,7147,2606],{"class":148},[114,7149,3263],{"class":2388},[114,7151,2392],{"class":134},[114,7153,1699],{"class":148},[114,7155,3956],{"class":138},[114,7157,2400],{"class":148},[114,7159,7160,7162,7164],{"class":116,"line":3961},[114,7161,2802],{"class":148},[114,7163,3279],{"class":2388},[114,7165,2400],{"class":148},[114,7167,7168,7170,7172],{"class":116,"line":3970},[114,7169,3286],{"class":148},[114,7171,3975],{"class":2388},[114,7173,2400],{"class":148},[114,7175,7176,7178,7180,7182,7184],{"class":116,"line":3980},[114,7177,3296],{"class":148},[114,7179,3313],{"class":2388},[114,7181,3987],{"class":148},[114,7183,3313],{"class":2388},[114,7185,2400],{"class":148},[114,7187,7188,7190,7192],{"class":116,"line":3994},[114,7189,3325],{"class":148},[114,7191,3975],{"class":2388},[114,7193,2400],{"class":148},[114,7195,7196,7198,7200],{"class":116,"line":4003},[114,7197,3334],{"class":148},[114,7199,3279],{"class":2388},[114,7201,2400],{"class":148},[114,7203,7204,7206,7208],{"class":116,"line":4012},[114,7205,2802],{"class":148},[114,7207,3345],{"class":2388},[114,7209,2400],{"class":148},[114,7211,7212,7214,7216],{"class":116,"line":4021},[114,7213,3286],{"class":148},[114,7215,3354],{"class":2388},[114,7217,2400],{"class":148},[114,7219,7220,7222,7224],{"class":116,"line":4030},[114,7221,3296],{"class":148},[114,7223,3363],{"class":2388},[114,7225,3044],{"class":148},[114,7227,7228,7230,7232],{"class":116,"line":4039},[114,7229,3325],{"class":148},[114,7231,3354],{"class":2388},[114,7233,2400],{"class":148},[114,7235,7236,7238,7240],{"class":116,"line":4048},[114,7237,3286],{"class":148},[114,7239,3380],{"class":2388},[114,7241,3044],{"class":148},[114,7243,7244,7246,7248],{"class":116,"line":4057},[114,7245,3286],{"class":148},[114,7247,3389],{"class":2388},[114,7249,3044],{"class":148},[114,7251,7252,7254,7256],{"class":116,"line":4066},[114,7253,3334],{"class":148},[114,7255,3345],{"class":2388},[114,7257,2400],{"class":148},[114,7259,7260,7262,7264],{"class":116,"line":4075},[114,7261,2842],{"class":148},[114,7263,3263],{"class":2388},[114,7265,2400],{"class":148},[114,7267,7268,7270,7272,7274,7276,7278],{"class":116,"line":4084},[114,7269,2606],{"class":148},[114,7271,3414],{"class":2388},[114,7273,2392],{"class":134},[114,7275,1699],{"class":148},[114,7277,4095],{"class":138},[114,7279,2400],{"class":148},[114,7281,7282,7284,7286],{"class":116,"line":4100},[114,7283,2802],{"class":148},[114,7285,3279],{"class":2388},[114,7287,2400],{"class":148},[114,7289,7290,7292,7294],{"class":116,"line":4109},[114,7291,3286],{"class":148},[114,7293,3975],{"class":2388},[114,7295,2400],{"class":148},[114,7297,7298,7300,7302,7304,7306],{"class":116,"line":4118},[114,7299,3296],{"class":148},[114,7301,3313],{"class":2388},[114,7303,3987],{"class":148},[114,7305,3313],{"class":2388},[114,7307,2400],{"class":148},[114,7309,7310,7312,7314],{"class":116,"line":4131},[114,7311,3325],{"class":148},[114,7313,3975],{"class":2388},[114,7315,2400],{"class":148},[114,7317,7318,7320,7322],{"class":116,"line":4140},[114,7319,3334],{"class":148},[114,7321,3279],{"class":2388},[114,7323,2400],{"class":148},[114,7325,7326,7328,7330],{"class":116,"line":4149},[114,7327,2802],{"class":148},[114,7329,3486],{"class":2388},[114,7331,2400],{"class":148},[114,7333,7334,7336,7338,7340,7342],{"class":116,"line":4158},[114,7335,3286],{"class":148},[114,7337,3170],{"class":2388},[114,7339,4165],{"class":148},[114,7341,3170],{"class":2388},[114,7343,2400],{"class":148},[114,7345,7346,7348,7350,7352,7354],{"class":116,"line":4172},[114,7347,3286],{"class":148},[114,7349,3508],{"class":2388},[114,7351,3187],{"class":148},[114,7353,3508],{"class":2388},[114,7355,2400],{"class":148},[114,7357,7358,7360,7362,7364,7366],{"class":116,"line":4185},[114,7359,3286],{"class":148},[114,7361,3521],{"class":2388},[114,7363,4192],{"class":148},[114,7365,3521],{"class":2388},[114,7367,2400],{"class":148},[114,7369,7370,7372,7374],{"class":116,"line":4199},[114,7371,3334],{"class":148},[114,7373,3486],{"class":2388},[114,7375,2400],{"class":148},[114,7377,7378,7380,7382],{"class":116,"line":4208},[114,7379,2842],{"class":148},[114,7381,3414],{"class":2388},[114,7383,2400],{"class":148},[114,7385,7386,7388,7390,7392,7394],{"class":116,"line":4217},[114,7387,2606],{"class":148},[114,7389,3550],{"class":2388},[114,7391,3553],{"class":148},[114,7393,3550],{"class":2388},[114,7395,2400],{"class":148},[114,7397,7398,7400,7402,7404,7406],{"class":116,"line":4230},[114,7399,2606],{"class":148},[114,7401,3703],{"class":2388},[114,7403,3706],{"class":148},[114,7405,3703],{"class":2388},[114,7407,2400],{"class":148},[114,7409,7410,7412,7414],{"class":116,"line":4243},[114,7411,2666],{"class":148},[114,7413,2408],{"class":2388},[114,7415,2400],{"class":148},[114,7417,7418,7420,7422,7424,7426],{"class":116,"line":4252},[114,7419,2432],{"class":148},[114,7421,3235],{"class":2388},[114,7423,3706],{"class":148},[114,7425,3235],{"class":2388},[114,7427,2400],{"class":148},[114,7429,7430,7432,7434,7436,7438],{"class":116,"line":4265},[114,7431,2432],{"class":148},[114,7433,3740],{"class":2388},[114,7435,3706],{"class":148},[114,7437,3740],{"class":2388},[114,7439,2400],{"class":148},[114,7441,7442,7444,7446],{"class":116,"line":4278},[114,7443,2503],{"class":148},[114,7445,2746],{"class":2388},[114,7447,2400],{"class":148},[114,7449,7450,7452,7454,7456,7458,7460],{"class":116,"line":4287},[114,7451,2422],{"class":148},[114,7453,2746],{"class":2388},[114,7455,2392],{"class":134},[114,7457,1699],{"class":148},[114,7459,4298],{"class":138},[114,7461,2400],{"class":148},[114,7463,7464,7466,7468,7470,7472],{"class":116,"line":4303},[114,7465,2432],{"class":148},[114,7467,3550],{"class":2388},[114,7469,4310],{"class":148},[114,7471,3550],{"class":2388},[114,7473,2400],{"class":148},[114,7475,7476,7478,7480,7482,7484,7486],{"class":116,"line":4317},[114,7477,2432],{"class":148},[114,7479,2408],{"class":2388},[114,7481,2392],{"class":134},[114,7483,1699],{"class":148},[114,7485,3799],{"class":138},[114,7487,2400],{"class":148},[114,7489,7490,7492,7494],{"class":116,"line":4332},[114,7491,2606],{"class":148},[114,7493,2425],{"class":2388},[114,7495,2400],{"class":148},[114,7497,7498,7500,7502],{"class":116,"line":4341},[114,7499,2802],{"class":148},[114,7501,2453],{"class":2388},[114,7503,2400],{"class":148},[114,7505,7506,7508,7510,7512,7514],{"class":116,"line":4350},[114,7507,3286],{"class":148},[114,7509,2805],{"class":2388},[114,7511,3829],{"class":148},[114,7513,2805],{"class":2388},[114,7515,2400],{"class":148},[114,7517,7518,7520,7522,7524,7526],{"class":116,"line":4363},[114,7519,3286],{"class":148},[114,7521,3617],{"class":2388},[114,7523,3620],{"class":148},[114,7525,3617],{"class":2388},[114,7527,2400],{"class":148},[114,7529,7530,7532,7534,7536,7538],{"class":116,"line":4376},[114,7531,3286],{"class":148},[114,7533,3631],{"class":2388},[114,7535,3620],{"class":148},[114,7537,3631],{"class":2388},[114,7539,2400],{"class":148},[114,7541,7542,7544,7546,7548,7550],{"class":116,"line":4389},[114,7543,3286],{"class":148},[114,7545,2818],{"class":2388},[114,7547,3829],{"class":148},[114,7549,2818],{"class":2388},[114,7551,2400],{"class":148},[114,7553,7554,7556,7558,7560,7562],{"class":116,"line":4402},[114,7555,3286],{"class":148},[114,7557,3658],{"class":2388},[114,7559,3620],{"class":148},[114,7561,3658],{"class":2388},[114,7563,2400],{"class":148},[114,7565,7566,7568,7570,7572,7574],{"class":116,"line":4415},[114,7567,3286],{"class":148},[114,7569,2831],{"class":2388},[114,7571,3829],{"class":148},[114,7573,2831],{"class":2388},[114,7575,2400],{"class":148},[114,7577,7578,7580,7582],{"class":116,"line":4428},[114,7579,3334],{"class":148},[114,7581,2453],{"class":2388},[114,7583,2400],{"class":148},[114,7585,7586,7588,7590,7592,7594],{"class":116,"line":4437},[114,7587,2802],{"class":148},[114,7589,2435],{"class":2388},[114,7591,3586],{"class":148},[114,7593,2435],{"class":2388},[114,7595,2400],{"class":148},[114,7597,7598,7600,7602,7604,7606],{"class":116,"line":4450},[114,7599,2802],{"class":148},[114,7601,3550],{"class":2388},[114,7603,3553],{"class":148},[114,7605,3550],{"class":2388},[114,7607,2400],{"class":148},[114,7609,7610,7612,7614],{"class":116,"line":4463},[114,7611,2842],{"class":148},[114,7613,2425],{"class":2388},[114,7615,2400],{"class":148},[114,7617,7618,7620,7622,7624,7626,7628],{"class":116,"line":4472},[114,7619,2606],{"class":148},[114,7621,3263],{"class":2388},[114,7623,2392],{"class":134},[114,7625,1699],{"class":148},[114,7627,3956],{"class":138},[114,7629,2400],{"class":148},[114,7631,7632,7634,7636],{"class":116,"line":4487},[114,7633,2802],{"class":148},[114,7635,3279],{"class":2388},[114,7637,2400],{"class":148},[114,7639,7640,7642,7644],{"class":116,"line":4496},[114,7641,3286],{"class":148},[114,7643,3975],{"class":2388},[114,7645,2400],{"class":148},[114,7647,7648,7650,7652,7654,7656],{"class":116,"line":4505},[114,7649,3296],{"class":148},[114,7651,3313],{"class":2388},[114,7653,3987],{"class":148},[114,7655,3313],{"class":2388},[114,7657,2400],{"class":148},[114,7659,7660,7662,7664],{"class":116,"line":4518},[114,7661,3325],{"class":148},[114,7663,3975],{"class":2388},[114,7665,2400],{"class":148},[114,7667,7668,7670,7672],{"class":116,"line":4527},[114,7669,3334],{"class":148},[114,7671,3279],{"class":2388},[114,7673,2400],{"class":148},[114,7675,7676,7678,7680],{"class":116,"line":4536},[114,7677,2802],{"class":148},[114,7679,3345],{"class":2388},[114,7681,2400],{"class":148},[114,7683,7684,7686,7688],{"class":116,"line":4545},[114,7685,3286],{"class":148},[114,7687,3354],{"class":2388},[114,7689,2400],{"class":148},[114,7691,7692,7694,7696],{"class":116,"line":4554},[114,7693,3296],{"class":148},[114,7695,3363],{"class":2388},[114,7697,3044],{"class":148},[114,7699,7700,7702,7704],{"class":116,"line":4563},[114,7701,3325],{"class":148},[114,7703,3354],{"class":2388},[114,7705,2400],{"class":148},[114,7707,7708,7710,7712],{"class":116,"line":4572},[114,7709,3286],{"class":148},[114,7711,3380],{"class":2388},[114,7713,3044],{"class":148},[114,7715,7716,7718,7720],{"class":116,"line":4581},[114,7717,3286],{"class":148},[114,7719,3389],{"class":2388},[114,7721,3044],{"class":148},[114,7723,7724,7726,7728],{"class":116,"line":4590},[114,7725,3334],{"class":148},[114,7727,3345],{"class":2388},[114,7729,2400],{"class":148},[114,7731,7732,7734,7736],{"class":116,"line":4599},[114,7733,2842],{"class":148},[114,7735,3263],{"class":2388},[114,7737,2400],{"class":148},[114,7739,7740,7742,7744,7746,7748,7750],{"class":116,"line":4608},[114,7741,2606],{"class":148},[114,7743,3414],{"class":2388},[114,7745,2392],{"class":134},[114,7747,1699],{"class":148},[114,7749,4095],{"class":138},[114,7751,2400],{"class":148},[114,7753,7754,7756,7758],{"class":116,"line":4623},[114,7755,2802],{"class":148},[114,7757,3279],{"class":2388},[114,7759,2400],{"class":148},[114,7761,7762,7764,7766],{"class":116,"line":4632},[114,7763,3286],{"class":148},[114,7765,3975],{"class":2388},[114,7767,2400],{"class":148},[114,7769,7770,7772,7774,7776,7778],{"class":116,"line":4641},[114,7771,3296],{"class":148},[114,7773,3313],{"class":2388},[114,7775,3987],{"class":148},[114,7777,3313],{"class":2388},[114,7779,2400],{"class":148},[114,7781,7782,7784,7786],{"class":116,"line":4654},[114,7783,3325],{"class":148},[114,7785,3975],{"class":2388},[114,7787,2400],{"class":148},[114,7789,7790,7792,7794],{"class":116,"line":4663},[114,7791,3334],{"class":148},[114,7793,3279],{"class":2388},[114,7795,2400],{"class":148},[114,7797,7798,7800,7802],{"class":116,"line":4672},[114,7799,2802],{"class":148},[114,7801,3486],{"class":2388},[114,7803,2400],{"class":148},[114,7805,7806,7808,7810,7812,7814],{"class":116,"line":4681},[114,7807,3286],{"class":148},[114,7809,3170],{"class":2388},[114,7811,4165],{"class":148},[114,7813,3170],{"class":2388},[114,7815,2400],{"class":148},[114,7817,7818,7820,7822,7824,7826],{"class":116,"line":4694},[114,7819,3286],{"class":148},[114,7821,3508],{"class":2388},[114,7823,3187],{"class":148},[114,7825,3508],{"class":2388},[114,7827,2400],{"class":148},[114,7829,7830,7832,7834,7836,7838],{"class":116,"line":4707},[114,7831,3286],{"class":148},[114,7833,3521],{"class":2388},[114,7835,4192],{"class":148},[114,7837,3521],{"class":2388},[114,7839,2400],{"class":148},[114,7841,7842,7844,7846],{"class":116,"line":4720},[114,7843,3334],{"class":148},[114,7845,3486],{"class":2388},[114,7847,2400],{"class":148},[114,7849,7850,7852,7854],{"class":116,"line":4729},[114,7851,2842],{"class":148},[114,7853,3414],{"class":2388},[114,7855,2400],{"class":148},[114,7857,7858,7860,7862,7864,7866],{"class":116,"line":4738},[114,7859,2606],{"class":148},[114,7861,3550],{"class":2388},[114,7863,3553],{"class":148},[114,7865,3550],{"class":2388},[114,7867,2400],{"class":148},[114,7869,7870,7872,7874,7876,7878],{"class":116,"line":4751},[114,7871,2606],{"class":148},[114,7873,3703],{"class":2388},[114,7875,3706],{"class":148},[114,7877,3703],{"class":2388},[114,7879,2400],{"class":148},[114,7881,7882,7884,7886],{"class":116,"line":4764},[114,7883,2666],{"class":148},[114,7885,2408],{"class":2388},[114,7887,2400],{"class":148},[114,7889,7890,7892,7894,7896,7898],{"class":116,"line":4773},[114,7891,2432],{"class":148},[114,7893,3235],{"class":2388},[114,7895,3706],{"class":148},[114,7897,3235],{"class":2388},[114,7899,2400],{"class":148},[114,7901,7902,7904,7906,7908,7910],{"class":116,"line":4786},[114,7903,2432],{"class":148},[114,7905,3740],{"class":2388},[114,7907,3706],{"class":148},[114,7909,3740],{"class":2388},[114,7911,2400],{"class":148},[114,7913,7914,7916,7918],{"class":116,"line":4799},[114,7915,2503],{"class":148},[114,7917,2746],{"class":2388},[114,7919,2400],{"class":148},[114,7921,7922,7924,7926,7928,7930,7932],{"class":116,"line":4808},[114,7923,2422],{"class":148},[114,7925,2746],{"class":2388},[114,7927,2392],{"class":134},[114,7929,1699],{"class":148},[114,7931,4819],{"class":138},[114,7933,2400],{"class":148},[114,7935,7936,7938,7940,7942,7944],{"class":116,"line":4824},[114,7937,2432],{"class":148},[114,7939,3550],{"class":2388},[114,7941,4831],{"class":148},[114,7943,3550],{"class":2388},[114,7945,2400],{"class":148},[114,7947,7948,7950,7952,7954,7956,7958],{"class":116,"line":4838},[114,7949,2432],{"class":148},[114,7951,2408],{"class":2388},[114,7953,2392],{"class":134},[114,7955,1699],{"class":148},[114,7957,3799],{"class":138},[114,7959,2400],{"class":148},[114,7961,7962,7964,7966],{"class":116,"line":4853},[114,7963,2606],{"class":148},[114,7965,2425],{"class":2388},[114,7967,2400],{"class":148},[114,7969,7970,7972,7974],{"class":116,"line":4862},[114,7971,2802],{"class":148},[114,7973,2453],{"class":2388},[114,7975,2400],{"class":148},[114,7977,7978,7980,7982,7984,7986],{"class":116,"line":4871},[114,7979,3286],{"class":148},[114,7981,2805],{"class":2388},[114,7983,3829],{"class":148},[114,7985,2805],{"class":2388},[114,7987,2400],{"class":148},[114,7989,7990,7992,7994,7996,7998],{"class":116,"line":4884},[114,7991,3286],{"class":148},[114,7993,3617],{"class":2388},[114,7995,3620],{"class":148},[114,7997,3617],{"class":2388},[114,7999,2400],{"class":148},[114,8001,8002,8004,8006,8008,8010],{"class":116,"line":4897},[114,8003,3286],{"class":148},[114,8005,3631],{"class":2388},[114,8007,3620],{"class":148},[114,8009,3631],{"class":2388},[114,8011,2400],{"class":148},[114,8013,8014,8016,8018,8020,8022],{"class":116,"line":4910},[114,8015,3286],{"class":148},[114,8017,2818],{"class":2388},[114,8019,3829],{"class":148},[114,8021,2818],{"class":2388},[114,8023,2400],{"class":148},[114,8025,8026,8028,8030,8032,8034],{"class":116,"line":4923},[114,8027,3286],{"class":148},[114,8029,3658],{"class":2388},[114,8031,3620],{"class":148},[114,8033,3658],{"class":2388},[114,8035,2400],{"class":148},[114,8037,8038,8040,8042,8044,8046],{"class":116,"line":4936},[114,8039,3286],{"class":148},[114,8041,2831],{"class":2388},[114,8043,3829],{"class":148},[114,8045,2831],{"class":2388},[114,8047,2400],{"class":148},[114,8049,8050,8052,8054],{"class":116,"line":4949},[114,8051,3334],{"class":148},[114,8053,2453],{"class":2388},[114,8055,2400],{"class":148},[114,8057,8058,8060,8062,8064,8066],{"class":116,"line":4958},[114,8059,2802],{"class":148},[114,8061,2435],{"class":2388},[114,8063,3586],{"class":148},[114,8065,2435],{"class":2388},[114,8067,2400],{"class":148},[114,8069,8070,8072,8074,8076,8078],{"class":116,"line":4971},[114,8071,2802],{"class":148},[114,8073,3550],{"class":2388},[114,8075,3553],{"class":148},[114,8077,3550],{"class":2388},[114,8079,2400],{"class":148},[114,8081,8082,8084,8086],{"class":116,"line":4984},[114,8083,2842],{"class":148},[114,8085,2425],{"class":2388},[114,8087,2400],{"class":148},[114,8089,8090,8092,8094,8096,8098,8100],{"class":116,"line":4993},[114,8091,2606],{"class":148},[114,8093,3263],{"class":2388},[114,8095,2392],{"class":134},[114,8097,1699],{"class":148},[114,8099,3956],{"class":138},[114,8101,2400],{"class":148},[114,8103,8104,8106,8108],{"class":116,"line":5008},[114,8105,2802],{"class":148},[114,8107,3279],{"class":2388},[114,8109,2400],{"class":148},[114,8111,8112,8114,8116],{"class":116,"line":5017},[114,8113,3286],{"class":148},[114,8115,3975],{"class":2388},[114,8117,2400],{"class":148},[114,8119,8120,8122,8124,8126,8128],{"class":116,"line":5026},[114,8121,3296],{"class":148},[114,8123,3313],{"class":2388},[114,8125,5033],{"class":148},[114,8127,3313],{"class":2388},[114,8129,2400],{"class":148},[114,8131,8132,8134,8136],{"class":116,"line":5040},[114,8133,3325],{"class":148},[114,8135,3975],{"class":2388},[114,8137,2400],{"class":148},[114,8139,8140,8142,8144],{"class":116,"line":5049},[114,8141,3334],{"class":148},[114,8143,3279],{"class":2388},[114,8145,2400],{"class":148},[114,8147,8148,8150,8152],{"class":116,"line":5058},[114,8149,2802],{"class":148},[114,8151,3345],{"class":2388},[114,8153,2400],{"class":148},[114,8155,8156,8158,8160],{"class":116,"line":5067},[114,8157,3286],{"class":148},[114,8159,3354],{"class":2388},[114,8161,2400],{"class":148},[114,8163,8164,8166,8168],{"class":116,"line":5076},[114,8165,3296],{"class":148},[114,8167,3363],{"class":2388},[114,8169,3044],{"class":148},[114,8171,8172,8174,8176],{"class":116,"line":5085},[114,8173,3325],{"class":148},[114,8175,3354],{"class":2388},[114,8177,2400],{"class":148},[114,8179,8180,8182,8184],{"class":116,"line":5094},[114,8181,3286],{"class":148},[114,8183,3380],{"class":2388},[114,8185,3044],{"class":148},[114,8187,8188,8190,8192],{"class":116,"line":5103},[114,8189,3286],{"class":148},[114,8191,3389],{"class":2388},[114,8193,3044],{"class":148},[114,8195,8196,8198,8200],{"class":116,"line":5112},[114,8197,3334],{"class":148},[114,8199,3345],{"class":2388},[114,8201,2400],{"class":148},[114,8203,8204,8206,8208],{"class":116,"line":5121},[114,8205,2842],{"class":148},[114,8207,3263],{"class":2388},[114,8209,2400],{"class":148},[114,8211,8212,8214,8216,8218,8220,8222],{"class":116,"line":5130},[114,8213,2606],{"class":148},[114,8215,3414],{"class":2388},[114,8217,2392],{"class":134},[114,8219,1699],{"class":148},[114,8221,4095],{"class":138},[114,8223,2400],{"class":148},[114,8225,8226,8228,8230],{"class":116,"line":5145},[114,8227,2802],{"class":148},[114,8229,3279],{"class":2388},[114,8231,2400],{"class":148},[114,8233,8234,8236,8238],{"class":116,"line":5154},[114,8235,3286],{"class":148},[114,8237,3975],{"class":2388},[114,8239,2400],{"class":148},[114,8241,8242,8244,8246,8248,8250],{"class":116,"line":5163},[114,8243,3296],{"class":148},[114,8245,3313],{"class":2388},[114,8247,5033],{"class":148},[114,8249,3313],{"class":2388},[114,8251,2400],{"class":148},[114,8253,8254,8256,8258],{"class":116,"line":5176},[114,8255,3325],{"class":148},[114,8257,3975],{"class":2388},[114,8259,2400],{"class":148},[114,8261,8262,8264,8266],{"class":116,"line":5185},[114,8263,3334],{"class":148},[114,8265,3279],{"class":2388},[114,8267,2400],{"class":148},[114,8269,8270,8272,8274],{"class":116,"line":5194},[114,8271,2802],{"class":148},[114,8273,3486],{"class":2388},[114,8275,2400],{"class":148},[114,8277,8278,8280,8282,8284,8286],{"class":116,"line":5203},[114,8279,3286],{"class":148},[114,8281,3170],{"class":2388},[114,8283,4165],{"class":148},[114,8285,3170],{"class":2388},[114,8287,2400],{"class":148},[114,8289,8290,8292,8294,8296,8298],{"class":116,"line":5216},[114,8291,3286],{"class":148},[114,8293,3508],{"class":2388},[114,8295,3187],{"class":148},[114,8297,3508],{"class":2388},[114,8299,2400],{"class":148},[114,8301,8302,8304,8306,8308,8310],{"class":116,"line":5229},[114,8303,3286],{"class":148},[114,8305,3521],{"class":2388},[114,8307,4192],{"class":148},[114,8309,3521],{"class":2388},[114,8311,2400],{"class":148},[114,8313,8314,8316,8318],{"class":116,"line":5242},[114,8315,3334],{"class":148},[114,8317,3486],{"class":2388},[114,8319,2400],{"class":148},[114,8321,8322,8324,8326],{"class":116,"line":5251},[114,8323,2842],{"class":148},[114,8325,3414],{"class":2388},[114,8327,2400],{"class":148},[114,8329,8330,8332,8334,8336,8338],{"class":116,"line":5260},[114,8331,2606],{"class":148},[114,8333,3550],{"class":2388},[114,8335,3553],{"class":148},[114,8337,3550],{"class":2388},[114,8339,2400],{"class":148},[114,8341,8342,8344,8346,8348,8350],{"class":116,"line":5273},[114,8343,2606],{"class":148},[114,8345,3703],{"class":2388},[114,8347,3706],{"class":148},[114,8349,3703],{"class":2388},[114,8351,2400],{"class":148},[114,8353,8354,8356,8358],{"class":116,"line":5286},[114,8355,2666],{"class":148},[114,8357,2408],{"class":2388},[114,8359,2400],{"class":148},[114,8361,8362,8364,8366,8368,8370],{"class":116,"line":5295},[114,8363,2432],{"class":148},[114,8365,3235],{"class":2388},[114,8367,3706],{"class":148},[114,8369,3235],{"class":2388},[114,8371,2400],{"class":148},[114,8373,8374,8376,8378,8380,8382],{"class":116,"line":5308},[114,8375,2432],{"class":148},[114,8377,3740],{"class":2388},[114,8379,3706],{"class":148},[114,8381,3740],{"class":2388},[114,8383,2400],{"class":148},[114,8385,8386,8388,8390],{"class":116,"line":5321},[114,8387,2503],{"class":148},[114,8389,2746],{"class":2388},[114,8391,2400],{"class":148},[114,8393,8394,8396,8398,8400,8402,8404],{"class":116,"line":5330},[114,8395,2422],{"class":148},[114,8397,2746],{"class":2388},[114,8399,2392],{"class":134},[114,8401,1699],{"class":148},[114,8403,5341],{"class":138},[114,8405,2400],{"class":148},[114,8407,8408,8410,8412,8414,8416],{"class":116,"line":5346},[114,8409,2432],{"class":148},[114,8411,3550],{"class":2388},[114,8413,5353],{"class":148},[114,8415,3550],{"class":2388},[114,8417,2400],{"class":148},[114,8419,8420,8422,8424,8426,8428,8430],{"class":116,"line":5360},[114,8421,2432],{"class":148},[114,8423,2408],{"class":2388},[114,8425,2392],{"class":134},[114,8427,1699],{"class":148},[114,8429,3799],{"class":138},[114,8431,2400],{"class":148},[114,8433,8434,8436,8438],{"class":116,"line":5375},[114,8435,2606],{"class":148},[114,8437,2425],{"class":2388},[114,8439,2400],{"class":148},[114,8441,8442,8444,8446],{"class":116,"line":5384},[114,8443,2802],{"class":148},[114,8445,2453],{"class":2388},[114,8447,2400],{"class":148},[114,8449,8450,8452,8454,8456,8458],{"class":116,"line":5393},[114,8451,3286],{"class":148},[114,8453,2805],{"class":2388},[114,8455,3829],{"class":148},[114,8457,2805],{"class":2388},[114,8459,2400],{"class":148},[114,8461,8462,8464,8466,8468,8470],{"class":116,"line":5406},[114,8463,3286],{"class":148},[114,8465,3617],{"class":2388},[114,8467,3620],{"class":148},[114,8469,3617],{"class":2388},[114,8471,2400],{"class":148},[114,8473,8474,8476,8478,8480,8482],{"class":116,"line":5419},[114,8475,3286],{"class":148},[114,8477,3631],{"class":2388},[114,8479,3620],{"class":148},[114,8481,3631],{"class":2388},[114,8483,2400],{"class":148},[114,8485,8486,8488,8490,8492,8494],{"class":116,"line":5432},[114,8487,3286],{"class":148},[114,8489,2818],{"class":2388},[114,8491,3829],{"class":148},[114,8493,2818],{"class":2388},[114,8495,2400],{"class":148},[114,8497,8498,8500,8502,8504,8506],{"class":116,"line":5445},[114,8499,3286],{"class":148},[114,8501,3658],{"class":2388},[114,8503,3620],{"class":148},[114,8505,3658],{"class":2388},[114,8507,2400],{"class":148},[114,8509,8510,8512,8514,8516,8518],{"class":116,"line":5458},[114,8511,3286],{"class":148},[114,8513,2831],{"class":2388},[114,8515,3829],{"class":148},[114,8517,2831],{"class":2388},[114,8519,2400],{"class":148},[114,8521,8522,8524,8526],{"class":116,"line":5471},[114,8523,3334],{"class":148},[114,8525,2453],{"class":2388},[114,8527,2400],{"class":148},[114,8529,8530,8532,8534,8536,8538],{"class":116,"line":5480},[114,8531,2802],{"class":148},[114,8533,2435],{"class":2388},[114,8535,3586],{"class":148},[114,8537,2435],{"class":2388},[114,8539,2400],{"class":148},[114,8541,8542,8544,8546,8548,8550],{"class":116,"line":5493},[114,8543,2802],{"class":148},[114,8545,3550],{"class":2388},[114,8547,3553],{"class":148},[114,8549,3550],{"class":2388},[114,8551,2400],{"class":148},[114,8553,8554,8556,8558],{"class":116,"line":5506},[114,8555,2842],{"class":148},[114,8557,2425],{"class":2388},[114,8559,2400],{"class":148},[114,8561,8562,8564,8566,8568,8570,8572],{"class":116,"line":5515},[114,8563,2606],{"class":148},[114,8565,3263],{"class":2388},[114,8567,2392],{"class":134},[114,8569,1699],{"class":148},[114,8571,3956],{"class":138},[114,8573,2400],{"class":148},[114,8575,8576,8578,8580],{"class":116,"line":5530},[114,8577,2802],{"class":148},[114,8579,3279],{"class":2388},[114,8581,2400],{"class":148},[114,8583,8584,8586,8588],{"class":116,"line":5539},[114,8585,3286],{"class":148},[114,8587,3975],{"class":2388},[114,8589,2400],{"class":148},[114,8591,8592,8594,8596,8598,8600],{"class":116,"line":5548},[114,8593,3296],{"class":148},[114,8595,3313],{"class":2388},[114,8597,5033],{"class":148},[114,8599,3313],{"class":2388},[114,8601,2400],{"class":148},[114,8603,8604,8606,8608],{"class":116,"line":5561},[114,8605,3325],{"class":148},[114,8607,3975],{"class":2388},[114,8609,2400],{"class":148},[114,8611,8612,8614,8616],{"class":116,"line":5570},[114,8613,3334],{"class":148},[114,8615,3279],{"class":2388},[114,8617,2400],{"class":148},[114,8619,8620,8622,8624],{"class":116,"line":5579},[114,8621,2802],{"class":148},[114,8623,3345],{"class":2388},[114,8625,2400],{"class":148},[114,8627,8628,8630,8632],{"class":116,"line":5588},[114,8629,3286],{"class":148},[114,8631,3354],{"class":2388},[114,8633,2400],{"class":148},[114,8635,8636,8638,8640],{"class":116,"line":5597},[114,8637,3296],{"class":148},[114,8639,3363],{"class":2388},[114,8641,3044],{"class":148},[114,8643,8644,8646,8648],{"class":116,"line":5606},[114,8645,3325],{"class":148},[114,8647,3354],{"class":2388},[114,8649,2400],{"class":148},[114,8651,8652,8654,8656],{"class":116,"line":5615},[114,8653,3286],{"class":148},[114,8655,3380],{"class":2388},[114,8657,3044],{"class":148},[114,8659,8660,8662,8664],{"class":116,"line":5624},[114,8661,3286],{"class":148},[114,8663,3389],{"class":2388},[114,8665,3044],{"class":148},[114,8667,8668,8670,8672],{"class":116,"line":5633},[114,8669,3334],{"class":148},[114,8671,3345],{"class":2388},[114,8673,2400],{"class":148},[114,8675,8676,8678,8680],{"class":116,"line":5642},[114,8677,2842],{"class":148},[114,8679,3263],{"class":2388},[114,8681,2400],{"class":148},[114,8683,8684,8686,8688,8690,8692,8694],{"class":116,"line":5651},[114,8685,2606],{"class":148},[114,8687,3414],{"class":2388},[114,8689,2392],{"class":134},[114,8691,1699],{"class":148},[114,8693,4095],{"class":138},[114,8695,2400],{"class":148},[114,8697,8698,8700,8702],{"class":116,"line":5666},[114,8699,2802],{"class":148},[114,8701,3279],{"class":2388},[114,8703,2400],{"class":148},[114,8705,8706,8708,8710],{"class":116,"line":5675},[114,8707,3286],{"class":148},[114,8709,3975],{"class":2388},[114,8711,2400],{"class":148},[114,8713,8714,8716,8718,8720,8722],{"class":116,"line":5684},[114,8715,3296],{"class":148},[114,8717,3313],{"class":2388},[114,8719,5033],{"class":148},[114,8721,3313],{"class":2388},[114,8723,2400],{"class":148},[114,8725,8726,8728,8730],{"class":116,"line":5697},[114,8727,3325],{"class":148},[114,8729,3975],{"class":2388},[114,8731,2400],{"class":148},[114,8733,8734,8736,8738],{"class":116,"line":5706},[114,8735,3334],{"class":148},[114,8737,3279],{"class":2388},[114,8739,2400],{"class":148},[114,8741,8742,8744,8746],{"class":116,"line":5715},[114,8743,2802],{"class":148},[114,8745,3486],{"class":2388},[114,8747,2400],{"class":148},[114,8749,8750,8752,8754,8756,8758],{"class":116,"line":5724},[114,8751,3286],{"class":148},[114,8753,3170],{"class":2388},[114,8755,4165],{"class":148},[114,8757,3170],{"class":2388},[114,8759,2400],{"class":148},[114,8761,8762,8764,8766,8768,8770],{"class":116,"line":5737},[114,8763,3286],{"class":148},[114,8765,3508],{"class":2388},[114,8767,3187],{"class":148},[114,8769,3508],{"class":2388},[114,8771,2400],{"class":148},[114,8773,8774,8776,8778,8780,8782],{"class":116,"line":5750},[114,8775,3286],{"class":148},[114,8777,3521],{"class":2388},[114,8779,4192],{"class":148},[114,8781,3521],{"class":2388},[114,8783,2400],{"class":148},[114,8785,8786,8788,8790],{"class":116,"line":5763},[114,8787,3334],{"class":148},[114,8789,3486],{"class":2388},[114,8791,2400],{"class":148},[114,8793,8794,8796,8798],{"class":116,"line":5772},[114,8795,2842],{"class":148},[114,8797,3414],{"class":2388},[114,8799,2400],{"class":148},[114,8801,8802,8804,8806,8808,8810],{"class":116,"line":5781},[114,8803,2606],{"class":148},[114,8805,3550],{"class":2388},[114,8807,3553],{"class":148},[114,8809,3550],{"class":2388},[114,8811,2400],{"class":148},[114,8813,8814,8816,8818,8820,8822],{"class":116,"line":5794},[114,8815,2606],{"class":148},[114,8817,3703],{"class":2388},[114,8819,3706],{"class":148},[114,8821,3703],{"class":2388},[114,8823,2400],{"class":148},[114,8825,8826,8828,8830],{"class":116,"line":5807},[114,8827,2666],{"class":148},[114,8829,2408],{"class":2388},[114,8831,2400],{"class":148},[114,8833,8834,8836,8838,8840,8842],{"class":116,"line":5816},[114,8835,2432],{"class":148},[114,8837,3235],{"class":2388},[114,8839,3706],{"class":148},[114,8841,3235],{"class":2388},[114,8843,2400],{"class":148},[114,8845,8846,8848,8850,8852,8854],{"class":116,"line":5829},[114,8847,2432],{"class":148},[114,8849,3740],{"class":2388},[114,8851,3706],{"class":148},[114,8853,3740],{"class":2388},[114,8855,2400],{"class":148},[114,8857,8858,8860,8862],{"class":116,"line":5842},[114,8859,2503],{"class":148},[114,8861,2746],{"class":2388},[114,8863,2400],{"class":148},[114,8865,8866,8868,8870,8872,8874,8876,8878,8880,8882],{"class":116,"line":5851},[114,8867,2422],{"class":148},[114,8869,5856],{"class":2388},[114,8871,2392],{"class":134},[114,8873,1699],{"class":148},[114,8875,5863],{"class":138},[114,8877,2962],{"class":134},[114,8879,1699],{"class":148},[114,8881,5870],{"class":138},[114,8883,2400],{"class":148},[114,8885,8886,8888,8890,8892,8894],{"class":116,"line":5875},[114,8887,2432],{"class":148},[114,8889,3550],{"class":2388},[114,8891,5882],{"class":148},[114,8893,3550],{"class":2388},[114,8895,2400],{"class":148},[114,8897,8898,8900,8902,8904,8906],{"class":116,"line":5889},[114,8899,2432],{"class":148},[114,8901,5894],{"class":2388},[114,8903,3201],{"class":148},[114,8905,5894],{"class":2388},[114,8907,2400],{"class":148},[114,8909,8910,8912,8914,8916,8918],{"class":116,"line":5903},[114,8911,2432],{"class":148},[114,8913,5908],{"class":2388},[114,8915,2993],{"class":148},[114,8917,5908],{"class":2388},[114,8919,2400],{"class":148},[114,8921,8922,8924,8926,8928,8930],{"class":116,"line":5917},[114,8923,2432],{"class":148},[114,8925,5922],{"class":2388},[114,8927,5925],{"class":148},[114,8929,5922],{"class":2388},[114,8931,2400],{"class":148},[114,8933,8934,8936,8938,8940,8942],{"class":116,"line":5932},[114,8935,2432],{"class":148},[114,8937,3508],{"class":2388},[114,8939,3497],{"class":148},[114,8941,3508],{"class":2388},[114,8943,2400],{"class":148},[114,8945,8946,8948,8950,8952,8954],{"class":116,"line":5945},[114,8947,2432],{"class":148},[114,8949,3521],{"class":2388},[114,8951,5952],{"class":148},[114,8953,3521],{"class":2388},[114,8955,2400],{"class":148},[114,8957,8958,8960,8962],{"class":116,"line":5959},[114,8959,2432],{"class":148},[114,8961,5964],{"class":2388},[114,8963,2400],{"class":148},[114,8965,8966,8968,8970,8972,8974],{"class":116,"line":5969},[114,8967,2606],{"class":148},[114,8969,5974],{"class":2388},[114,8971,3007],{"class":148},[114,8973,5974],{"class":2388},[114,8975,2400],{"class":148},[114,8977,8978,8980,8982,8984,8986],{"class":116,"line":5983},[114,8979,2606],{"class":148},[114,8981,5988],{"class":2388},[114,8983,5991],{"class":148},[114,8985,5988],{"class":2388},[114,8987,2400],{"class":148},[114,8989,8990,8992,8994,8996,8998],{"class":116,"line":5998},[114,8991,2606],{"class":148},[114,8993,6003],{"class":2388},[114,8995,6006],{"class":148},[114,8997,6003],{"class":2388},[114,8999,2400],{"class":148},[114,9001,9002,9004,9006,9008,9010],{"class":116,"line":6013},[114,9003,2606],{"class":148},[114,9005,6018],{"class":2388},[114,9007,2979],{"class":148},[114,9009,6018],{"class":2388},[114,9011,2400],{"class":148},[114,9013,9014,9016,9018],{"class":116,"line":6027},[114,9015,2666],{"class":148},[114,9017,5964],{"class":2388},[114,9019,2400],{"class":148},[114,9021,9022,9024,9026],{"class":116,"line":6036},[114,9023,2432],{"class":148},[114,9025,6041],{"class":2388},[114,9027,2400],{"class":148},[114,9029,9030,9032,9034,9036,9038],{"class":116,"line":6046},[114,9031,2606],{"class":148},[114,9033,6051],{"class":2388},[114,9035,3620],{"class":148},[114,9037,6051],{"class":2388},[114,9039,2400],{"class":148},[114,9041,9042,9044,9046,9048,9050],{"class":116,"line":6060},[114,9043,2606],{"class":148},[114,9045,6065],{"class":2388},[114,9047,3620],{"class":148},[114,9049,6065],{"class":2388},[114,9051,2400],{"class":148},[114,9053,9054,9056,9058,9060,9062],{"class":116,"line":6074},[114,9055,2606],{"class":148},[114,9057,6079],{"class":2388},[114,9059,3620],{"class":148},[114,9061,6079],{"class":2388},[114,9063,2400],{"class":148},[114,9065,9066,9068,9070],{"class":116,"line":6088},[114,9067,2666],{"class":148},[114,9069,6041],{"class":2388},[114,9071,2400],{"class":148},[114,9073,9074,9076,9078],{"class":116,"line":6097},[114,9075,2503],{"class":148},[114,9077,5856],{"class":2388},[114,9079,2400],{"class":148},[114,9081,9082,9084,9086],{"class":116,"line":6106},[114,9083,2512],{"class":148},[114,9085,2936],{"class":2388},[114,9087,2400],{"class":148},[114,9089,9090,9092,9094],{"class":116,"line":6115},[114,9091,2521],{"class":148},[114,9093,2729],{"class":2388},[114,9095,2400],{"class":148},[17,9097,9098],{},[52,9099,9100],{},"3.编写launch文件",[17,9102,9103],{},"在launch目录下新建launch文件gazebo_sim_world.launch.py，并输入如下内容：",[104,9105,9107],{"className":1549,"code":9106,"language":1551,"meta":109,"style":109},"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",[111,9108,9109,9115,9119,9129,9133,9143,9153,9163,9167,9175,9179,9191,9203,9221,9225,9233,9237,9249,9257,9269,9273,9277,9283,9288],{"__ignoreMap":109},[114,9110,9111,9113],{"class":116,"line":117},[114,9112,1558],{"class":767},[114,9114,1561],{"class":148},[114,9116,9117],{"class":116,"line":124},[114,9118,121],{"emptyLinePlaceholder":120},[114,9120,9121,9123,9125,9127],{"class":116,"line":131},[114,9122,1570],{"class":767},[114,9124,1573],{"class":148},[114,9126,1558],{"class":767},[114,9128,1578],{"class":148},[114,9130,9131],{"class":116,"line":155},[114,9132,121],{"emptyLinePlaceholder":120},[114,9134,9135,9137,9139,9141],{"class":116,"line":160},[114,9136,1570],{"class":767},[114,9138,1589],{"class":148},[114,9140,1558],{"class":767},[114,9142,1594],{"class":148},[114,9144,9145,9147,9149,9151],{"class":116,"line":166},[114,9146,1570],{"class":767},[114,9148,1601],{"class":148},[114,9150,1558],{"class":767},[114,9152,1617],{"class":148},[114,9154,9155,9157,9159,9161],{"class":116,"line":178},[114,9156,1570],{"class":767},[114,9158,1636],{"class":148},[114,9160,1558],{"class":767},[114,9162,1641],{"class":148},[114,9164,9165],{"class":116,"line":183},[114,9166,121],{"emptyLinePlaceholder":120},[114,9168,9169,9171,9173],{"class":116,"line":189},[114,9170,1679],{"class":767},[114,9172,1682],{"class":134},[114,9174,1685],{"class":148},[114,9176,9177],{"class":116,"line":436},[114,9178,121],{"emptyLinePlaceholder":120},[114,9180,9181,9183,9185,9187,9189],{"class":116,"line":442},[114,9182,1696],{"class":148},[114,9184,1699],{"class":767},[114,9186,1702],{"class":148},[114,9188,1705],{"class":138},[114,9190,1468],{"class":148},[114,9192,9193,9195,9197,9199,9201],{"class":116,"line":448},[114,9194,1713],{"class":148},[114,9196,1699],{"class":767},[114,9198,1702],{"class":148},[114,9200,1720],{"class":138},[114,9202,1468],{"class":148},[114,9204,9205,9207,9209,9211,9214,9216,9219],{"class":116,"line":454},[114,9206,1728],{"class":148},[114,9208,1699],{"class":767},[114,9210,1733],{"class":148},[114,9212,9213],{"class":138},"\"world\"",[114,9215,1739],{"class":148},[114,9217,9218],{"class":138},"\"house.sdf\"",[114,9220,1468],{"class":148},[114,9222,9223],{"class":116,"line":1676},[114,9224,121],{"emptyLinePlaceholder":120},[114,9226,9227,9229,9231],{"class":116,"line":1688},[114,9228,1755],{"class":148},[114,9230,1699],{"class":767},[114,9232,1760],{"class":148},[114,9234,9235],{"class":116,"line":1693},[114,9236,1766],{"class":148},[114,9238,9239,9241,9243,9245,9247],{"class":116,"line":1710},[114,9240,1772],{"class":148},[114,9242,1775],{"class":138},[114,9244,1778],{"class":148},[114,9246,1781],{"class":138},[114,9248,1784],{"class":148},[114,9250,9251,9253,9255],{"class":116,"line":1725},[114,9252,1791],{"class":1790},[114,9254,1699],{"class":767},[114,9256,1796],{"class":148},[114,9258,9259,9261,9263,9265,9267],{"class":116,"line":1747},[114,9260,1802],{"class":138},[114,9262,1805],{"class":148},[114,9264,1808],{"class":138},[114,9266,1811],{"class":767},[114,9268,1814],{"class":148},[114,9270,9271],{"class":116,"line":1752},[114,9272,1820],{"class":148},[114,9274,9275],{"class":116,"line":1763},[114,9276,1826],{"class":148},[114,9278,9279,9281],{"class":116,"line":1769},[114,9280,2104],{"class":767},[114,9282,2107],{"class":148},[114,9284,9285],{"class":116,"line":1787},[114,9286,9287],{"class":148},"        gz_sim\n",[114,9289,9290],{"class":116,"line":1799},[114,9291,2164],{"class":148},[17,9293,9294],{},[52,9295,9296],{},"4.构建",[17,9298,2180],{},[104,9300,9301],{"className":106,"code":2183,"language":108,"meta":109,"style":109},[111,9302,9303],{"__ignoreMap":109},[114,9304,9305,9307,9309,9311],{"class":116,"line":117},[114,9306,2190],{"class":134},[114,9308,2193],{"class":138},[114,9310,2196],{"class":578},[114,9312,1434],{"class":138},[17,9314,9315],{},[52,9316,9317],{},"5.执行",[17,9319,2211],{},[104,9321,9323],{"className":106,"code":9322,"language":108,"meta":109,"style":109},". install\u002Fsetup.bash\nros2 launch demo_gazebo_sim gazebo_sim_world.launch.py\n",[111,9324,9325,9331],{"__ignoreMap":109},[114,9326,9327,9329],{"class":116,"line":117},[114,9328,2221],{"class":578},[114,9330,2224],{"class":138},[114,9332,9333,9335,9337,9339],{"class":116,"line":124},[114,9334,265],{"class":134},[114,9336,268],{"class":138},[114,9338,2233],{"class":138},[114,9340,9341],{"class":138}," gazebo_sim_world.launch.py\n",[17,9343,9344],{},"运行结果如下图所示。",[17,9346,9347],{},"也可以根据个人喜好，继续设计房间模型。",[17,9349,9350],{},[202,9351],{"alt":109,"src":9352},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1730.webp",[29,9354,9356],{"id":9355},"igng添加模型",[52,9357,9358],{},"IgnG添加模型",[17,9360,9361],{},"在Ignition Gazebo官网提供了许多仿真模型，可以自行下载并使用以优化仿真环境，使其更多样、美观且真实。",[17,9363,9364],{},[52,9365,9366],{},"资源下载",[17,9368,9369],{},"仿真Ignition Gazebo的官方模型链接：",[17,9371,9372],{},[57,9373,9374],{"href":9374,"rel":9375},"http:\u002F\u002Fapp.ignitionrobotics.org\u002Ffuel\u002Fmodels",[61],[17,9377,9378],{},"自行选择仿真模型点击进入详情页面，然后点击下载按钮即可将模型资源保存到本地。",[17,9380,9381],{},"在用户目录下新建ign_models目录，将下载的资源解压缩到该目录以作备用。",[17,9383,9384],{},[52,9385,9386],{},"资源配置",[17,9388,9389],{},"为了可以让Ignition Gazebo识别到模型资源，下一步还需要修改用户目录下的 .bashrc 文件，添加如下代码：",[104,9391,9393],{"className":106,"code":9392,"language":108,"meta":109,"style":109},"\n# Humble版本一般是下面的，但是有可能会更新，如果不生效，请尝试Jazzy的宏\nexport IGN_GAZEBO_RESOURCE_PATH=~\u002Fign_models\n\n# Jazzy版本的宏改了，如下：\nexport GZ_SIM_RESOURCE_PATH=~\u002Fign_models\n",[111,9394,9395,9399,9404,9418,9422,9427],{"__ignoreMap":109},[114,9396,9397],{"class":116,"line":117},[114,9398,121],{"emptyLinePlaceholder":120},[114,9400,9401],{"class":116,"line":124},[114,9402,9403],{"class":127},"# Humble版本一般是下面的，但是有可能会更新，如果不生效，请尝试Jazzy的宏\n",[114,9405,9406,9409,9412,9415],{"class":116,"line":131},[114,9407,9408],{"class":767},"export",[114,9410,9411],{"class":148}," IGN_GAZEBO_RESOURCE_PATH",[114,9413,9414],{"class":767},"=~",[114,9416,9417],{"class":148},"\u002Fign_models\n",[114,9419,9420],{"class":116,"line":155},[114,9421,121],{"emptyLinePlaceholder":120},[114,9423,9424],{"class":116,"line":160},[114,9425,9426],{"class":127},"# Jazzy版本的宏改了，如下：\n",[114,9428,9429,9431,9434,9436],{"class":116,"line":166},[114,9430,9408],{"class":767},[114,9432,9433],{"class":148}," GZ_SIM_RESOURCE_PATH",[114,9435,9414],{"class":767},[114,9437,9417],{"class":148},[17,9439,9440],{},[57,9441,9442],{"href":9442,"rel":9443},"https:\u002F\u002Fgazebosim.org\u002Fdocs\u002Flatest\u002Ffuel_insert\u002F",[61],[17,9445,9446],{},[52,9447,9448],{},"模型添加",[17,9450,9451,9452,9455,9456,9459,9460,9463,9464,9467],{},"终端下进入功能包demo_gazebo_sim的world目录，使用指令",[111,9453,9454],{},"ign gazebo house.sdf"," 或者",[111,9457,9458],{},"gz sim house.sdf","启动仿真环境，点击窗口右上的折叠按钮，搜索",[111,9461,9462],{},"Resource Spawner","并打开，点击",[111,9465,9466],{},"Local resources","并选择模型拖拽至仿真环境中。将修改后的内容保存至house.sdf文件。",[17,9469,9470],{},[202,9471],{"alt":109,"src":9472},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1731.webp",[17,9474,9475],{},"正常下载资源后，这个local resources这里就会显示了",[17,9477,9478],{},"house.sdf文件示例内容如下：",[104,9480,9482],{"className":2376,"code":9481,"language":2378,"meta":109,"style":109},"\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",[111,9483,9484,9498,9512,9532,9544,9556,9568,9576,9596,9616,9636,9656,9668,9680,9694,9702,9714,9726,9738,9746,9760,9772,9786,9800,9808,9816,9828,9840,9848,9856,9864,9872,9880,9888,9896,9904,9912,9920,9934,9942,9950,9962,9974,9982,9990,9998,10010,10022,10034,10042,10050,10062,10070,10082,10094,10102,10114,10126,10138,10150,10162,10174,10182,10190,10202,10210,10222,10234,10242,10256,10269,10283,10291,10299,10311,10323,10335,10347,10359,10371,10379,10391,10403,10411,10425,10433,10441,10453,10461,10469,10477,10485,10493,10501,10509,10517,10525,10533,10547,10555,10563,10575,10583,10591,10599,10611,10623,10635,10643,10651,10663,10675,10683,10695,10707,10715,10729,10742,10756,10764,10772,10784,10796,10808,10820,10832,10844,10852,10864,10876,10884,10898,10906,10914,10926,10934,10942,10950,10958,10966,10974,10982,10990,10998,11006,11020,11028,11036,11048,11056,11064,11072,11084,11096,11108,11116,11124,11136,11148,11156,11168,11180,11188,11202,11215,11229,11237,11245,11257,11269,11281,11293,11305,11317,11325,11337,11349,11357,11371,11379,11387,11399,11407,11415,11423,11431,11439,11447,11455,11463,11471,11479,11493,11501,11509,11521,11529,11537,11545,11557,11569,11581,11589,11597,11609,11621,11629,11641,11653,11661,11675,11688,11702,11710,11718,11730,11742,11754,11766,11778,11790,11798,11810,11822,11830,11844,11852,11860,11872,11880,11888,11896,11904,11912,11920,11928,11936,11944,11952,11966,11974,11982,11994,12002,12010,12018,12030,12042,12054,12062,12070,12082,12094,12102,12114,12126,12134,12143,12157,12170,12183,12191,12199,12212,12225,12238,12246,12254,12267,12280,12293,12301,12309,12322,12335,12348,12356,12364,12377,12391,12405,12414,12423,12437,12451,12465,12474,12483,12497,12511,12525,12534,12543,12557,12571,12585,12594,12615,12628,12641,12654,12667,12680,12693,12702,12715,12728,12741,12754,12763,12772,12785,12798,12811,12820,12829,12838],{"__ignoreMap":109},[114,9485,9486,9488,9490,9492,9494,9496],{"class":116,"line":117},[114,9487,2385],{"class":148},[114,9489,2729],{"class":2388},[114,9491,2732],{"class":134},[114,9493,1699],{"class":148},[114,9495,2927],{"class":138},[114,9497,2400],{"class":148},[114,9499,9500,9502,9504,9506,9508,9510],{"class":116,"line":124},[114,9501,2405],{"class":148},[114,9503,2936],{"class":2388},[114,9505,2392],{"class":134},[114,9507,1699],{"class":148},[114,9509,2943],{"class":138},[114,9511,2400],{"class":148},[114,9513,9514,9516,9518,9520,9522,9524,9526,9528,9530],{"class":116,"line":131},[114,9515,2422],{"class":148},[114,9517,2952],{"class":2388},[114,9519,2392],{"class":134},[114,9521,1699],{"class":148},[114,9523,2959],{"class":138},[114,9525,2962],{"class":134},[114,9527,1699],{"class":148},[114,9529,2967],{"class":138},[114,9531,2400],{"class":148},[114,9533,9534,9536,9538,9540,9542],{"class":116,"line":155},[114,9535,2432],{"class":148},[114,9537,2976],{"class":2388},[114,9539,2979],{"class":148},[114,9541,2976],{"class":2388},[114,9543,2400],{"class":148},[114,9545,9546,9548,9550,9552,9554],{"class":116,"line":160},[114,9547,2432],{"class":148},[114,9549,2990],{"class":2388},[114,9551,2993],{"class":148},[114,9553,2990],{"class":2388},[114,9555,2400],{"class":148},[114,9557,9558,9560,9562,9564,9566],{"class":116,"line":166},[114,9559,2432],{"class":148},[114,9561,3004],{"class":2388},[114,9563,3007],{"class":148},[114,9565,3004],{"class":2388},[114,9567,2400],{"class":148},[114,9569,9570,9572,9574],{"class":116,"line":178},[114,9571,2503],{"class":148},[114,9573,2952],{"class":2388},[114,9575,2400],{"class":148},[114,9577,9578,9580,9582,9584,9586,9588,9590,9592,9594],{"class":116,"line":183},[114,9579,2422],{"class":148},[114,9581,3026],{"class":2388},[114,9583,2392],{"class":134},[114,9585,1699],{"class":148},[114,9587,3033],{"class":138},[114,9589,3036],{"class":134},[114,9591,1699],{"class":148},[114,9593,3041],{"class":138},[114,9595,3044],{"class":148},[114,9597,9598,9600,9602,9604,9606,9608,9610,9612,9614],{"class":116,"line":189},[114,9599,2422],{"class":148},[114,9601,3026],{"class":2388},[114,9603,2392],{"class":134},[114,9605,1699],{"class":148},[114,9607,3057],{"class":138},[114,9609,3036],{"class":134},[114,9611,1699],{"class":148},[114,9613,3064],{"class":138},[114,9615,3044],{"class":148},[114,9617,9618,9620,9622,9624,9626,9628,9630,9632,9634],{"class":116,"line":436},[114,9619,2422],{"class":148},[114,9621,3026],{"class":2388},[114,9623,2392],{"class":134},[114,9625,1699],{"class":148},[114,9627,3079],{"class":138},[114,9629,3036],{"class":134},[114,9631,1699],{"class":148},[114,9633,3086],{"class":138},[114,9635,3044],{"class":148},[114,9637,9638,9640,9642,9644,9646,9648,9650,9652,9654],{"class":116,"line":442},[114,9639,2422],{"class":148},[114,9641,3026],{"class":2388},[114,9643,2392],{"class":134},[114,9645,1699],{"class":148},[114,9647,3101],{"class":138},[114,9649,3036],{"class":134},[114,9651,1699],{"class":148},[114,9653,3108],{"class":138},[114,9655,3044],{"class":148},[114,9657,9658,9660,9662,9664,9666],{"class":116,"line":448},[114,9659,2422],{"class":148},[114,9661,3117],{"class":2388},[114,9663,3120],{"class":148},[114,9665,3117],{"class":2388},[114,9667,2400],{"class":148},[114,9669,9670,9672,9674,9676,9678],{"class":116,"line":454},[114,9671,2422],{"class":148},[114,9673,3131],{"class":2388},[114,9675,3134],{"class":148},[114,9677,3131],{"class":2388},[114,9679,2400],{"class":148},[114,9681,9682,9684,9686,9688,9690,9692],{"class":116,"line":1676},[114,9683,2422],{"class":148},[114,9685,3145],{"class":2388},[114,9687,2962],{"class":134},[114,9689,1699],{"class":148},[114,9691,3152],{"class":138},[114,9693,3044],{"class":148},[114,9695,9696,9698,9700],{"class":116,"line":1688},[114,9697,2422],{"class":148},[114,9699,3161],{"class":2388},[114,9701,2400],{"class":148},[114,9703,9704,9706,9708,9710,9712],{"class":116,"line":1693},[114,9705,2432],{"class":148},[114,9707,3170],{"class":2388},[114,9709,3173],{"class":148},[114,9711,3170],{"class":2388},[114,9713,2400],{"class":148},[114,9715,9716,9718,9720,9722,9724],{"class":116,"line":1710},[114,9717,2432],{"class":148},[114,9719,3184],{"class":2388},[114,9721,3187],{"class":148},[114,9723,3184],{"class":2388},[114,9725,2400],{"class":148},[114,9727,9728,9730,9732,9734,9736],{"class":116,"line":1725},[114,9729,2432],{"class":148},[114,9731,3198],{"class":2388},[114,9733,3201],{"class":148},[114,9735,3198],{"class":2388},[114,9737,2400],{"class":148},[114,9739,9740,9742,9744],{"class":116,"line":1747},[114,9741,2503],{"class":148},[114,9743,3161],{"class":2388},[114,9745,2400],{"class":148},[114,9747,9748,9750,9752,9754,9756,9758],{"class":116,"line":1752},[114,9749,2422],{"class":148},[114,9751,2746],{"class":2388},[114,9753,2392],{"class":134},[114,9755,1699],{"class":148},[114,9757,3226],{"class":138},[114,9759,2400],{"class":148},[114,9761,9762,9764,9766,9768,9770],{"class":116,"line":1763},[114,9763,2432],{"class":148},[114,9765,3235],{"class":2388},[114,9767,3201],{"class":148},[114,9769,3235],{"class":2388},[114,9771,2400],{"class":148},[114,9773,9774,9776,9778,9780,9782,9784],{"class":116,"line":1769},[114,9775,2432],{"class":148},[114,9777,2408],{"class":2388},[114,9779,2392],{"class":134},[114,9781,1699],{"class":148},[114,9783,3254],{"class":138},[114,9785,2400],{"class":148},[114,9787,9788,9790,9792,9794,9796,9798],{"class":116,"line":1787},[114,9789,2606],{"class":148},[114,9791,3263],{"class":2388},[114,9793,2392],{"class":134},[114,9795,1699],{"class":148},[114,9797,3270],{"class":138},[114,9799,2400],{"class":148},[114,9801,9802,9804,9806],{"class":116,"line":1799},[114,9803,2802],{"class":148},[114,9805,3279],{"class":2388},[114,9807,2400],{"class":148},[114,9809,9810,9812,9814],{"class":116,"line":1817},[114,9811,3286],{"class":148},[114,9813,3289],{"class":2388},[114,9815,2400],{"class":148},[114,9817,9818,9820,9822,9824,9826],{"class":116,"line":1823},[114,9819,3296],{"class":148},[114,9821,3299],{"class":2388},[114,9823,3302],{"class":148},[114,9825,3299],{"class":2388},[114,9827,2400],{"class":148},[114,9829,9830,9832,9834,9836,9838],{"class":116,"line":1829},[114,9831,3296],{"class":148},[114,9833,3313],{"class":2388},[114,9835,3316],{"class":148},[114,9837,3313],{"class":2388},[114,9839,2400],{"class":148},[114,9841,9842,9844,9846],{"class":116,"line":1834},[114,9843,3325],{"class":148},[114,9845,3289],{"class":2388},[114,9847,2400],{"class":148},[114,9849,9850,9852,9854],{"class":116,"line":1840},[114,9851,3334],{"class":148},[114,9853,3279],{"class":2388},[114,9855,2400],{"class":148},[114,9857,9858,9860,9862],{"class":116,"line":1851},[114,9859,2802],{"class":148},[114,9861,3345],{"class":2388},[114,9863,2400],{"class":148},[114,9865,9866,9868,9870],{"class":116,"line":1865},[114,9867,3286],{"class":148},[114,9869,3354],{"class":2388},[114,9871,2400],{"class":148},[114,9873,9874,9876,9878],{"class":116,"line":1877},[114,9875,3296],{"class":148},[114,9877,3363],{"class":2388},[114,9879,3044],{"class":148},[114,9881,9882,9884,9886],{"class":116,"line":1904},[114,9883,3325],{"class":148},[114,9885,3354],{"class":2388},[114,9887,2400],{"class":148},[114,9889,9890,9892,9894],{"class":116,"line":1920},[114,9891,3286],{"class":148},[114,9893,3380],{"class":2388},[114,9895,3044],{"class":148},[114,9897,9898,9900,9902],{"class":116,"line":1925},[114,9899,3286],{"class":148},[114,9901,3389],{"class":2388},[114,9903,3044],{"class":148},[114,9905,9906,9908,9910],{"class":116,"line":1930},[114,9907,3334],{"class":148},[114,9909,3345],{"class":2388},[114,9911,2400],{"class":148},[114,9913,9914,9916,9918],{"class":116,"line":1936},[114,9915,2842],{"class":148},[114,9917,3263],{"class":2388},[114,9919,2400],{"class":148},[114,9921,9922,9924,9926,9928,9930,9932],{"class":116,"line":1946},[114,9923,2606],{"class":148},[114,9925,3414],{"class":2388},[114,9927,2392],{"class":134},[114,9929,1699],{"class":148},[114,9931,3421],{"class":138},[114,9933,2400],{"class":148},[114,9935,9936,9938,9940],{"class":116,"line":1959},[114,9937,2802],{"class":148},[114,9939,3279],{"class":2388},[114,9941,2400],{"class":148},[114,9943,9944,9946,9948],{"class":116,"line":1972},[114,9945,3286],{"class":148},[114,9947,3289],{"class":2388},[114,9949,2400],{"class":148},[114,9951,9952,9954,9956,9958,9960],{"class":116,"line":1987},[114,9953,3296],{"class":148},[114,9955,3299],{"class":2388},[114,9957,3302],{"class":148},[114,9959,3299],{"class":2388},[114,9961,2400],{"class":148},[114,9963,9964,9966,9968,9970,9972],{"class":116,"line":1995},[114,9965,3296],{"class":148},[114,9967,3313],{"class":2388},[114,9969,3316],{"class":148},[114,9971,3313],{"class":2388},[114,9973,2400],{"class":148},[114,9975,9976,9978,9980],{"class":116,"line":2003},[114,9977,3325],{"class":148},[114,9979,3289],{"class":2388},[114,9981,2400],{"class":148},[114,9983,9984,9986,9988],{"class":116,"line":2009},[114,9985,3334],{"class":148},[114,9987,3279],{"class":2388},[114,9989,2400],{"class":148},[114,9991,9992,9994,9996],{"class":116,"line":2031},[114,9993,2802],{"class":148},[114,9995,3486],{"class":2388},[114,9997,2400],{"class":148},[114,9999,10000,10002,10004,10006,10008],{"class":116,"line":2042},[114,10001,3286],{"class":148},[114,10003,3170],{"class":2388},[114,10005,3497],{"class":148},[114,10007,3170],{"class":2388},[114,10009,2400],{"class":148},[114,10011,10012,10014,10016,10018,10020],{"class":116,"line":2059},[114,10013,3286],{"class":148},[114,10015,3508],{"class":2388},[114,10017,3497],{"class":148},[114,10019,3508],{"class":2388},[114,10021,2400],{"class":148},[114,10023,10024,10026,10028,10030,10032],{"class":116,"line":2074},[114,10025,3286],{"class":148},[114,10027,3521],{"class":2388},[114,10029,3497],{"class":148},[114,10031,3521],{"class":2388},[114,10033,2400],{"class":148},[114,10035,10036,10038,10040],{"class":116,"line":2080},[114,10037,3334],{"class":148},[114,10039,3486],{"class":2388},[114,10041,2400],{"class":148},[114,10043,10044,10046,10048],{"class":116,"line":2091},[114,10045,2842],{"class":148},[114,10047,3414],{"class":2388},[114,10049,2400],{"class":148},[114,10051,10052,10054,10056,10058,10060],{"class":116,"line":2096},[114,10053,2606],{"class":148},[114,10055,3550],{"class":2388},[114,10057,3553],{"class":148},[114,10059,3550],{"class":2388},[114,10061,2400],{"class":148},[114,10063,10064,10066,10068],{"class":116,"line":2101},[114,10065,2606],{"class":148},[114,10067,2425],{"class":2388},[114,10069,2400],{"class":148},[114,10071,10072,10074,10076,10078,10080],{"class":116,"line":2110},[114,10073,2802],{"class":148},[114,10075,3550],{"class":2388},[114,10077,3553],{"class":148},[114,10079,3550],{"class":2388},[114,10081,2400],{"class":148},[114,10083,10084,10086,10088,10090,10092],{"class":116,"line":2116},[114,10085,2802],{"class":148},[114,10087,2435],{"class":2388},[114,10089,3586],{"class":148},[114,10091,2435],{"class":2388},[114,10093,2400],{"class":148},[114,10095,10096,10098,10100],{"class":116,"line":2136},[114,10097,2802],{"class":148},[114,10099,2453],{"class":2388},[114,10101,2400],{"class":148},[114,10103,10104,10106,10108,10110,10112],{"class":116,"line":2149},[114,10105,3286],{"class":148},[114,10107,2805],{"class":2388},[114,10109,2993],{"class":148},[114,10111,2805],{"class":2388},[114,10113,2400],{"class":148},[114,10115,10116,10118,10120,10122,10124],{"class":116,"line":2155},[114,10117,3286],{"class":148},[114,10119,3617],{"class":2388},[114,10121,3620],{"class":148},[114,10123,3617],{"class":2388},[114,10125,2400],{"class":148},[114,10127,10128,10130,10132,10134,10136],{"class":116,"line":2161},[114,10129,3286],{"class":148},[114,10131,3631],{"class":2388},[114,10133,3620],{"class":148},[114,10135,3631],{"class":2388},[114,10137,2400],{"class":148},[114,10139,10140,10142,10144,10146,10148],{"class":116,"line":3640},[114,10141,3286],{"class":148},[114,10143,2818],{"class":2388},[114,10145,2993],{"class":148},[114,10147,2818],{"class":2388},[114,10149,2400],{"class":148},[114,10151,10152,10154,10156,10158,10160],{"class":116,"line":3653},[114,10153,3286],{"class":148},[114,10155,3658],{"class":2388},[114,10157,3620],{"class":148},[114,10159,3658],{"class":2388},[114,10161,2400],{"class":148},[114,10163,10164,10166,10168,10170,10172],{"class":116,"line":3667},[114,10165,3286],{"class":148},[114,10167,2831],{"class":2388},[114,10169,2993],{"class":148},[114,10171,2831],{"class":2388},[114,10173,2400],{"class":148},[114,10175,10176,10178,10180],{"class":116,"line":3680},[114,10177,3334],{"class":148},[114,10179,2453],{"class":2388},[114,10181,2400],{"class":148},[114,10183,10184,10186,10188],{"class":116,"line":3689},[114,10185,2842],{"class":148},[114,10187,2425],{"class":2388},[114,10189,2400],{"class":148},[114,10191,10192,10194,10196,10198,10200],{"class":116,"line":3698},[114,10193,2606],{"class":148},[114,10195,3703],{"class":2388},[114,10197,3706],{"class":148},[114,10199,3703],{"class":2388},[114,10201,2400],{"class":148},[114,10203,10204,10206,10208],{"class":116,"line":3713},[114,10205,2666],{"class":148},[114,10207,2408],{"class":2388},[114,10209,2400],{"class":148},[114,10211,10212,10214,10216,10218,10220],{"class":116,"line":3722},[114,10213,2432],{"class":148},[114,10215,3550],{"class":2388},[114,10217,3553],{"class":148},[114,10219,3550],{"class":2388},[114,10221,2400],{"class":148},[114,10223,10224,10226,10228,10230,10232],{"class":116,"line":3735},[114,10225,2432],{"class":148},[114,10227,3740],{"class":2388},[114,10229,3706],{"class":148},[114,10231,3740],{"class":2388},[114,10233,2400],{"class":148},[114,10235,10236,10238,10240],{"class":116,"line":3749},[114,10237,2503],{"class":148},[114,10239,2746],{"class":2388},[114,10241,2400],{"class":148},[114,10243,10244,10246,10248,10250,10252,10254],{"class":116,"line":3758},[114,10245,2422],{"class":148},[114,10247,2746],{"class":2388},[114,10249,2392],{"class":134},[114,10251,1699],{"class":148},[114,10253,3769],{"class":138},[114,10255,2400],{"class":148},[114,10257,10258,10260,10262,10265,10267],{"class":116,"line":3774},[114,10259,2432],{"class":148},[114,10261,3550],{"class":2388},[114,10263,10264],{"class":148},">5.02632 -2e-06 0.500002 -0 4.4e-05 4.6e-05\u003C\u002F",[114,10266,3550],{"class":2388},[114,10268,2400],{"class":148},[114,10270,10271,10273,10275,10277,10279,10281],{"class":116,"line":3788},[114,10272,2432],{"class":148},[114,10274,2408],{"class":2388},[114,10276,2392],{"class":134},[114,10278,1699],{"class":148},[114,10280,3799],{"class":138},[114,10282,2400],{"class":148},[114,10284,10285,10287,10289],{"class":116,"line":3804},[114,10286,2606],{"class":148},[114,10288,2425],{"class":2388},[114,10290,2400],{"class":148},[114,10292,10293,10295,10297],{"class":116,"line":3813},[114,10294,2802],{"class":148},[114,10296,2453],{"class":2388},[114,10298,2400],{"class":148},[114,10300,10301,10303,10305,10307,10309],{"class":116,"line":3822},[114,10302,3286],{"class":148},[114,10304,2805],{"class":2388},[114,10306,3829],{"class":148},[114,10308,2805],{"class":2388},[114,10310,2400],{"class":148},[114,10312,10313,10315,10317,10319,10321],{"class":116,"line":3836},[114,10314,3286],{"class":148},[114,10316,3617],{"class":2388},[114,10318,3620],{"class":148},[114,10320,3617],{"class":2388},[114,10322,2400],{"class":148},[114,10324,10325,10327,10329,10331,10333],{"class":116,"line":3849},[114,10326,3286],{"class":148},[114,10328,3631],{"class":2388},[114,10330,3620],{"class":148},[114,10332,3631],{"class":2388},[114,10334,2400],{"class":148},[114,10336,10337,10339,10341,10343,10345],{"class":116,"line":3862},[114,10338,3286],{"class":148},[114,10340,2818],{"class":2388},[114,10342,3829],{"class":148},[114,10344,2818],{"class":2388},[114,10346,2400],{"class":148},[114,10348,10349,10351,10353,10355,10357],{"class":116,"line":3875},[114,10350,3286],{"class":148},[114,10352,3658],{"class":2388},[114,10354,3620],{"class":148},[114,10356,3658],{"class":2388},[114,10358,2400],{"class":148},[114,10360,10361,10363,10365,10367,10369],{"class":116,"line":3888},[114,10362,3286],{"class":148},[114,10364,2831],{"class":2388},[114,10366,3829],{"class":148},[114,10368,2831],{"class":2388},[114,10370,2400],{"class":148},[114,10372,10373,10375,10377],{"class":116,"line":3901},[114,10374,3334],{"class":148},[114,10376,2453],{"class":2388},[114,10378,2400],{"class":148},[114,10380,10381,10383,10385,10387,10389],{"class":116,"line":3910},[114,10382,2802],{"class":148},[114,10384,2435],{"class":2388},[114,10386,3586],{"class":148},[114,10388,2435],{"class":2388},[114,10390,2400],{"class":148},[114,10392,10393,10395,10397,10399,10401],{"class":116,"line":3923},[114,10394,2802],{"class":148},[114,10396,3550],{"class":2388},[114,10398,3553],{"class":148},[114,10400,3550],{"class":2388},[114,10402,2400],{"class":148},[114,10404,10405,10407,10409],{"class":116,"line":3936},[114,10406,2842],{"class":148},[114,10408,2425],{"class":2388},[114,10410,2400],{"class":148},[114,10412,10413,10415,10417,10419,10421,10423],{"class":116,"line":3945},[114,10414,2606],{"class":148},[114,10416,3263],{"class":2388},[114,10418,2392],{"class":134},[114,10420,1699],{"class":148},[114,10422,3956],{"class":138},[114,10424,2400],{"class":148},[114,10426,10427,10429,10431],{"class":116,"line":3961},[114,10428,2802],{"class":148},[114,10430,3279],{"class":2388},[114,10432,2400],{"class":148},[114,10434,10435,10437,10439],{"class":116,"line":3970},[114,10436,3286],{"class":148},[114,10438,3975],{"class":2388},[114,10440,2400],{"class":148},[114,10442,10443,10445,10447,10449,10451],{"class":116,"line":3980},[114,10444,3296],{"class":148},[114,10446,3313],{"class":2388},[114,10448,3987],{"class":148},[114,10450,3313],{"class":2388},[114,10452,2400],{"class":148},[114,10454,10455,10457,10459],{"class":116,"line":3994},[114,10456,3325],{"class":148},[114,10458,3975],{"class":2388},[114,10460,2400],{"class":148},[114,10462,10463,10465,10467],{"class":116,"line":4003},[114,10464,3334],{"class":148},[114,10466,3279],{"class":2388},[114,10468,2400],{"class":148},[114,10470,10471,10473,10475],{"class":116,"line":4012},[114,10472,2802],{"class":148},[114,10474,3345],{"class":2388},[114,10476,2400],{"class":148},[114,10478,10479,10481,10483],{"class":116,"line":4021},[114,10480,3286],{"class":148},[114,10482,3354],{"class":2388},[114,10484,2400],{"class":148},[114,10486,10487,10489,10491],{"class":116,"line":4030},[114,10488,3296],{"class":148},[114,10490,3363],{"class":2388},[114,10492,3044],{"class":148},[114,10494,10495,10497,10499],{"class":116,"line":4039},[114,10496,3325],{"class":148},[114,10498,3354],{"class":2388},[114,10500,2400],{"class":148},[114,10502,10503,10505,10507],{"class":116,"line":4048},[114,10504,3286],{"class":148},[114,10506,3380],{"class":2388},[114,10508,3044],{"class":148},[114,10510,10511,10513,10515],{"class":116,"line":4057},[114,10512,3286],{"class":148},[114,10514,3389],{"class":2388},[114,10516,3044],{"class":148},[114,10518,10519,10521,10523],{"class":116,"line":4066},[114,10520,3334],{"class":148},[114,10522,3345],{"class":2388},[114,10524,2400],{"class":148},[114,10526,10527,10529,10531],{"class":116,"line":4075},[114,10528,2842],{"class":148},[114,10530,3263],{"class":2388},[114,10532,2400],{"class":148},[114,10534,10535,10537,10539,10541,10543,10545],{"class":116,"line":4084},[114,10536,2606],{"class":148},[114,10538,3414],{"class":2388},[114,10540,2392],{"class":134},[114,10542,1699],{"class":148},[114,10544,4095],{"class":138},[114,10546,2400],{"class":148},[114,10548,10549,10551,10553],{"class":116,"line":4100},[114,10550,2802],{"class":148},[114,10552,3279],{"class":2388},[114,10554,2400],{"class":148},[114,10556,10557,10559,10561],{"class":116,"line":4109},[114,10558,3286],{"class":148},[114,10560,3975],{"class":2388},[114,10562,2400],{"class":148},[114,10564,10565,10567,10569,10571,10573],{"class":116,"line":4118},[114,10566,3296],{"class":148},[114,10568,3313],{"class":2388},[114,10570,3987],{"class":148},[114,10572,3313],{"class":2388},[114,10574,2400],{"class":148},[114,10576,10577,10579,10581],{"class":116,"line":4131},[114,10578,3325],{"class":148},[114,10580,3975],{"class":2388},[114,10582,2400],{"class":148},[114,10584,10585,10587,10589],{"class":116,"line":4140},[114,10586,3334],{"class":148},[114,10588,3279],{"class":2388},[114,10590,2400],{"class":148},[114,10592,10593,10595,10597],{"class":116,"line":4149},[114,10594,2802],{"class":148},[114,10596,3486],{"class":2388},[114,10598,2400],{"class":148},[114,10600,10601,10603,10605,10607,10609],{"class":116,"line":4158},[114,10602,3286],{"class":148},[114,10604,3170],{"class":2388},[114,10606,4165],{"class":148},[114,10608,3170],{"class":2388},[114,10610,2400],{"class":148},[114,10612,10613,10615,10617,10619,10621],{"class":116,"line":4172},[114,10614,3286],{"class":148},[114,10616,3508],{"class":2388},[114,10618,3187],{"class":148},[114,10620,3508],{"class":2388},[114,10622,2400],{"class":148},[114,10624,10625,10627,10629,10631,10633],{"class":116,"line":4185},[114,10626,3286],{"class":148},[114,10628,3521],{"class":2388},[114,10630,4192],{"class":148},[114,10632,3521],{"class":2388},[114,10634,2400],{"class":148},[114,10636,10637,10639,10641],{"class":116,"line":4199},[114,10638,3334],{"class":148},[114,10640,3486],{"class":2388},[114,10642,2400],{"class":148},[114,10644,10645,10647,10649],{"class":116,"line":4208},[114,10646,2842],{"class":148},[114,10648,3414],{"class":2388},[114,10650,2400],{"class":148},[114,10652,10653,10655,10657,10659,10661],{"class":116,"line":4217},[114,10654,2606],{"class":148},[114,10656,3550],{"class":2388},[114,10658,3553],{"class":148},[114,10660,3550],{"class":2388},[114,10662,2400],{"class":148},[114,10664,10665,10667,10669,10671,10673],{"class":116,"line":4230},[114,10666,2606],{"class":148},[114,10668,3703],{"class":2388},[114,10670,3706],{"class":148},[114,10672,3703],{"class":2388},[114,10674,2400],{"class":148},[114,10676,10677,10679,10681],{"class":116,"line":4243},[114,10678,2666],{"class":148},[114,10680,2408],{"class":2388},[114,10682,2400],{"class":148},[114,10684,10685,10687,10689,10691,10693],{"class":116,"line":4252},[114,10686,2432],{"class":148},[114,10688,3235],{"class":2388},[114,10690,3706],{"class":148},[114,10692,3235],{"class":2388},[114,10694,2400],{"class":148},[114,10696,10697,10699,10701,10703,10705],{"class":116,"line":4265},[114,10698,2432],{"class":148},[114,10700,3740],{"class":2388},[114,10702,3706],{"class":148},[114,10704,3740],{"class":2388},[114,10706,2400],{"class":148},[114,10708,10709,10711,10713],{"class":116,"line":4278},[114,10710,2503],{"class":148},[114,10712,2746],{"class":2388},[114,10714,2400],{"class":148},[114,10716,10717,10719,10721,10723,10725,10727],{"class":116,"line":4287},[114,10718,2422],{"class":148},[114,10720,2746],{"class":2388},[114,10722,2392],{"class":134},[114,10724,1699],{"class":148},[114,10726,4298],{"class":138},[114,10728,2400],{"class":148},[114,10730,10731,10733,10735,10738,10740],{"class":116,"line":4303},[114,10732,2432],{"class":148},[114,10734,3550],{"class":2388},[114,10736,10737],{"class":148},">-5.01336 -0.00029 0.500002 0 -4.2e-05 -0.005335\u003C\u002F",[114,10739,3550],{"class":2388},[114,10741,2400],{"class":148},[114,10743,10744,10746,10748,10750,10752,10754],{"class":116,"line":4317},[114,10745,2432],{"class":148},[114,10747,2408],{"class":2388},[114,10749,2392],{"class":134},[114,10751,1699],{"class":148},[114,10753,3799],{"class":138},[114,10755,2400],{"class":148},[114,10757,10758,10760,10762],{"class":116,"line":4332},[114,10759,2606],{"class":148},[114,10761,2425],{"class":2388},[114,10763,2400],{"class":148},[114,10765,10766,10768,10770],{"class":116,"line":4341},[114,10767,2802],{"class":148},[114,10769,2453],{"class":2388},[114,10771,2400],{"class":148},[114,10773,10774,10776,10778,10780,10782],{"class":116,"line":4350},[114,10775,3286],{"class":148},[114,10777,2805],{"class":2388},[114,10779,3829],{"class":148},[114,10781,2805],{"class":2388},[114,10783,2400],{"class":148},[114,10785,10786,10788,10790,10792,10794],{"class":116,"line":4363},[114,10787,3286],{"class":148},[114,10789,3617],{"class":2388},[114,10791,3620],{"class":148},[114,10793,3617],{"class":2388},[114,10795,2400],{"class":148},[114,10797,10798,10800,10802,10804,10806],{"class":116,"line":4376},[114,10799,3286],{"class":148},[114,10801,3631],{"class":2388},[114,10803,3620],{"class":148},[114,10805,3631],{"class":2388},[114,10807,2400],{"class":148},[114,10809,10810,10812,10814,10816,10818],{"class":116,"line":4389},[114,10811,3286],{"class":148},[114,10813,2818],{"class":2388},[114,10815,3829],{"class":148},[114,10817,2818],{"class":2388},[114,10819,2400],{"class":148},[114,10821,10822,10824,10826,10828,10830],{"class":116,"line":4402},[114,10823,3286],{"class":148},[114,10825,3658],{"class":2388},[114,10827,3620],{"class":148},[114,10829,3658],{"class":2388},[114,10831,2400],{"class":148},[114,10833,10834,10836,10838,10840,10842],{"class":116,"line":4415},[114,10835,3286],{"class":148},[114,10837,2831],{"class":2388},[114,10839,3829],{"class":148},[114,10841,2831],{"class":2388},[114,10843,2400],{"class":148},[114,10845,10846,10848,10850],{"class":116,"line":4428},[114,10847,3334],{"class":148},[114,10849,2453],{"class":2388},[114,10851,2400],{"class":148},[114,10853,10854,10856,10858,10860,10862],{"class":116,"line":4437},[114,10855,2802],{"class":148},[114,10857,2435],{"class":2388},[114,10859,3586],{"class":148},[114,10861,2435],{"class":2388},[114,10863,2400],{"class":148},[114,10865,10866,10868,10870,10872,10874],{"class":116,"line":4450},[114,10867,2802],{"class":148},[114,10869,3550],{"class":2388},[114,10871,3553],{"class":148},[114,10873,3550],{"class":2388},[114,10875,2400],{"class":148},[114,10877,10878,10880,10882],{"class":116,"line":4463},[114,10879,2842],{"class":148},[114,10881,2425],{"class":2388},[114,10883,2400],{"class":148},[114,10885,10886,10888,10890,10892,10894,10896],{"class":116,"line":4472},[114,10887,2606],{"class":148},[114,10889,3263],{"class":2388},[114,10891,2392],{"class":134},[114,10893,1699],{"class":148},[114,10895,3956],{"class":138},[114,10897,2400],{"class":148},[114,10899,10900,10902,10904],{"class":116,"line":4487},[114,10901,2802],{"class":148},[114,10903,3279],{"class":2388},[114,10905,2400],{"class":148},[114,10907,10908,10910,10912],{"class":116,"line":4496},[114,10909,3286],{"class":148},[114,10911,3975],{"class":2388},[114,10913,2400],{"class":148},[114,10915,10916,10918,10920,10922,10924],{"class":116,"line":4505},[114,10917,3296],{"class":148},[114,10919,3313],{"class":2388},[114,10921,3987],{"class":148},[114,10923,3313],{"class":2388},[114,10925,2400],{"class":148},[114,10927,10928,10930,10932],{"class":116,"line":4518},[114,10929,3325],{"class":148},[114,10931,3975],{"class":2388},[114,10933,2400],{"class":148},[114,10935,10936,10938,10940],{"class":116,"line":4527},[114,10937,3334],{"class":148},[114,10939,3279],{"class":2388},[114,10941,2400],{"class":148},[114,10943,10944,10946,10948],{"class":116,"line":4536},[114,10945,2802],{"class":148},[114,10947,3345],{"class":2388},[114,10949,2400],{"class":148},[114,10951,10952,10954,10956],{"class":116,"line":4545},[114,10953,3286],{"class":148},[114,10955,3354],{"class":2388},[114,10957,2400],{"class":148},[114,10959,10960,10962,10964],{"class":116,"line":4554},[114,10961,3296],{"class":148},[114,10963,3363],{"class":2388},[114,10965,3044],{"class":148},[114,10967,10968,10970,10972],{"class":116,"line":4563},[114,10969,3325],{"class":148},[114,10971,3354],{"class":2388},[114,10973,2400],{"class":148},[114,10975,10976,10978,10980],{"class":116,"line":4572},[114,10977,3286],{"class":148},[114,10979,3380],{"class":2388},[114,10981,3044],{"class":148},[114,10983,10984,10986,10988],{"class":116,"line":4581},[114,10985,3286],{"class":148},[114,10987,3389],{"class":2388},[114,10989,3044],{"class":148},[114,10991,10992,10994,10996],{"class":116,"line":4590},[114,10993,3334],{"class":148},[114,10995,3345],{"class":2388},[114,10997,2400],{"class":148},[114,10999,11000,11002,11004],{"class":116,"line":4599},[114,11001,2842],{"class":148},[114,11003,3263],{"class":2388},[114,11005,2400],{"class":148},[114,11007,11008,11010,11012,11014,11016,11018],{"class":116,"line":4608},[114,11009,2606],{"class":148},[114,11011,3414],{"class":2388},[114,11013,2392],{"class":134},[114,11015,1699],{"class":148},[114,11017,4095],{"class":138},[114,11019,2400],{"class":148},[114,11021,11022,11024,11026],{"class":116,"line":4623},[114,11023,2802],{"class":148},[114,11025,3279],{"class":2388},[114,11027,2400],{"class":148},[114,11029,11030,11032,11034],{"class":116,"line":4632},[114,11031,3286],{"class":148},[114,11033,3975],{"class":2388},[114,11035,2400],{"class":148},[114,11037,11038,11040,11042,11044,11046],{"class":116,"line":4641},[114,11039,3296],{"class":148},[114,11041,3313],{"class":2388},[114,11043,3987],{"class":148},[114,11045,3313],{"class":2388},[114,11047,2400],{"class":148},[114,11049,11050,11052,11054],{"class":116,"line":4654},[114,11051,3325],{"class":148},[114,11053,3975],{"class":2388},[114,11055,2400],{"class":148},[114,11057,11058,11060,11062],{"class":116,"line":4663},[114,11059,3334],{"class":148},[114,11061,3279],{"class":2388},[114,11063,2400],{"class":148},[114,11065,11066,11068,11070],{"class":116,"line":4672},[114,11067,2802],{"class":148},[114,11069,3486],{"class":2388},[114,11071,2400],{"class":148},[114,11073,11074,11076,11078,11080,11082],{"class":116,"line":4681},[114,11075,3286],{"class":148},[114,11077,3170],{"class":2388},[114,11079,4165],{"class":148},[114,11081,3170],{"class":2388},[114,11083,2400],{"class":148},[114,11085,11086,11088,11090,11092,11094],{"class":116,"line":4694},[114,11087,3286],{"class":148},[114,11089,3508],{"class":2388},[114,11091,3187],{"class":148},[114,11093,3508],{"class":2388},[114,11095,2400],{"class":148},[114,11097,11098,11100,11102,11104,11106],{"class":116,"line":4707},[114,11099,3286],{"class":148},[114,11101,3521],{"class":2388},[114,11103,4192],{"class":148},[114,11105,3521],{"class":2388},[114,11107,2400],{"class":148},[114,11109,11110,11112,11114],{"class":116,"line":4720},[114,11111,3334],{"class":148},[114,11113,3486],{"class":2388},[114,11115,2400],{"class":148},[114,11117,11118,11120,11122],{"class":116,"line":4729},[114,11119,2842],{"class":148},[114,11121,3414],{"class":2388},[114,11123,2400],{"class":148},[114,11125,11126,11128,11130,11132,11134],{"class":116,"line":4738},[114,11127,2606],{"class":148},[114,11129,3550],{"class":2388},[114,11131,3553],{"class":148},[114,11133,3550],{"class":2388},[114,11135,2400],{"class":148},[114,11137,11138,11140,11142,11144,11146],{"class":116,"line":4751},[114,11139,2606],{"class":148},[114,11141,3703],{"class":2388},[114,11143,3706],{"class":148},[114,11145,3703],{"class":2388},[114,11147,2400],{"class":148},[114,11149,11150,11152,11154],{"class":116,"line":4764},[114,11151,2666],{"class":148},[114,11153,2408],{"class":2388},[114,11155,2400],{"class":148},[114,11157,11158,11160,11162,11164,11166],{"class":116,"line":4773},[114,11159,2432],{"class":148},[114,11161,3235],{"class":2388},[114,11163,3706],{"class":148},[114,11165,3235],{"class":2388},[114,11167,2400],{"class":148},[114,11169,11170,11172,11174,11176,11178],{"class":116,"line":4786},[114,11171,2432],{"class":148},[114,11173,3740],{"class":2388},[114,11175,3706],{"class":148},[114,11177,3740],{"class":2388},[114,11179,2400],{"class":148},[114,11181,11182,11184,11186],{"class":116,"line":4799},[114,11183,2503],{"class":148},[114,11185,2746],{"class":2388},[114,11187,2400],{"class":148},[114,11189,11190,11192,11194,11196,11198,11200],{"class":116,"line":4808},[114,11191,2422],{"class":148},[114,11193,2746],{"class":2388},[114,11195,2392],{"class":134},[114,11197,1699],{"class":148},[114,11199,4819],{"class":138},[114,11201,2400],{"class":148},[114,11203,11204,11206,11208,11211,11213],{"class":116,"line":4824},[114,11205,2432],{"class":148},[114,11207,3550],{"class":2388},[114,11209,11210],{"class":148},">-0 -2.5 0.5 1e-06 0 0\u003C\u002F",[114,11212,3550],{"class":2388},[114,11214,2400],{"class":148},[114,11216,11217,11219,11221,11223,11225,11227],{"class":116,"line":4838},[114,11218,2432],{"class":148},[114,11220,2408],{"class":2388},[114,11222,2392],{"class":134},[114,11224,1699],{"class":148},[114,11226,3799],{"class":138},[114,11228,2400],{"class":148},[114,11230,11231,11233,11235],{"class":116,"line":4853},[114,11232,2606],{"class":148},[114,11234,2425],{"class":2388},[114,11236,2400],{"class":148},[114,11238,11239,11241,11243],{"class":116,"line":4862},[114,11240,2802],{"class":148},[114,11242,2453],{"class":2388},[114,11244,2400],{"class":148},[114,11246,11247,11249,11251,11253,11255],{"class":116,"line":4871},[114,11248,3286],{"class":148},[114,11250,2805],{"class":2388},[114,11252,3829],{"class":148},[114,11254,2805],{"class":2388},[114,11256,2400],{"class":148},[114,11258,11259,11261,11263,11265,11267],{"class":116,"line":4884},[114,11260,3286],{"class":148},[114,11262,3617],{"class":2388},[114,11264,3620],{"class":148},[114,11266,3617],{"class":2388},[114,11268,2400],{"class":148},[114,11270,11271,11273,11275,11277,11279],{"class":116,"line":4897},[114,11272,3286],{"class":148},[114,11274,3631],{"class":2388},[114,11276,3620],{"class":148},[114,11278,3631],{"class":2388},[114,11280,2400],{"class":148},[114,11282,11283,11285,11287,11289,11291],{"class":116,"line":4910},[114,11284,3286],{"class":148},[114,11286,2818],{"class":2388},[114,11288,3829],{"class":148},[114,11290,2818],{"class":2388},[114,11292,2400],{"class":148},[114,11294,11295,11297,11299,11301,11303],{"class":116,"line":4923},[114,11296,3286],{"class":148},[114,11298,3658],{"class":2388},[114,11300,3620],{"class":148},[114,11302,3658],{"class":2388},[114,11304,2400],{"class":148},[114,11306,11307,11309,11311,11313,11315],{"class":116,"line":4936},[114,11308,3286],{"class":148},[114,11310,2831],{"class":2388},[114,11312,3829],{"class":148},[114,11314,2831],{"class":2388},[114,11316,2400],{"class":148},[114,11318,11319,11321,11323],{"class":116,"line":4949},[114,11320,3334],{"class":148},[114,11322,2453],{"class":2388},[114,11324,2400],{"class":148},[114,11326,11327,11329,11331,11333,11335],{"class":116,"line":4958},[114,11328,2802],{"class":148},[114,11330,2435],{"class":2388},[114,11332,3586],{"class":148},[114,11334,2435],{"class":2388},[114,11336,2400],{"class":148},[114,11338,11339,11341,11343,11345,11347],{"class":116,"line":4971},[114,11340,2802],{"class":148},[114,11342,3550],{"class":2388},[114,11344,3553],{"class":148},[114,11346,3550],{"class":2388},[114,11348,2400],{"class":148},[114,11350,11351,11353,11355],{"class":116,"line":4984},[114,11352,2842],{"class":148},[114,11354,2425],{"class":2388},[114,11356,2400],{"class":148},[114,11358,11359,11361,11363,11365,11367,11369],{"class":116,"line":4993},[114,11360,2606],{"class":148},[114,11362,3263],{"class":2388},[114,11364,2392],{"class":134},[114,11366,1699],{"class":148},[114,11368,3956],{"class":138},[114,11370,2400],{"class":148},[114,11372,11373,11375,11377],{"class":116,"line":5008},[114,11374,2802],{"class":148},[114,11376,3279],{"class":2388},[114,11378,2400],{"class":148},[114,11380,11381,11383,11385],{"class":116,"line":5017},[114,11382,3286],{"class":148},[114,11384,3975],{"class":2388},[114,11386,2400],{"class":148},[114,11388,11389,11391,11393,11395,11397],{"class":116,"line":5026},[114,11390,3296],{"class":148},[114,11392,3313],{"class":2388},[114,11394,5033],{"class":148},[114,11396,3313],{"class":2388},[114,11398,2400],{"class":148},[114,11400,11401,11403,11405],{"class":116,"line":5040},[114,11402,3325],{"class":148},[114,11404,3975],{"class":2388},[114,11406,2400],{"class":148},[114,11408,11409,11411,11413],{"class":116,"line":5049},[114,11410,3334],{"class":148},[114,11412,3279],{"class":2388},[114,11414,2400],{"class":148},[114,11416,11417,11419,11421],{"class":116,"line":5058},[114,11418,2802],{"class":148},[114,11420,3345],{"class":2388},[114,11422,2400],{"class":148},[114,11424,11425,11427,11429],{"class":116,"line":5067},[114,11426,3286],{"class":148},[114,11428,3354],{"class":2388},[114,11430,2400],{"class":148},[114,11432,11433,11435,11437],{"class":116,"line":5076},[114,11434,3296],{"class":148},[114,11436,3363],{"class":2388},[114,11438,3044],{"class":148},[114,11440,11441,11443,11445],{"class":116,"line":5085},[114,11442,3325],{"class":148},[114,11444,3354],{"class":2388},[114,11446,2400],{"class":148},[114,11448,11449,11451,11453],{"class":116,"line":5094},[114,11450,3286],{"class":148},[114,11452,3380],{"class":2388},[114,11454,3044],{"class":148},[114,11456,11457,11459,11461],{"class":116,"line":5103},[114,11458,3286],{"class":148},[114,11460,3389],{"class":2388},[114,11462,3044],{"class":148},[114,11464,11465,11467,11469],{"class":116,"line":5112},[114,11466,3334],{"class":148},[114,11468,3345],{"class":2388},[114,11470,2400],{"class":148},[114,11472,11473,11475,11477],{"class":116,"line":5121},[114,11474,2842],{"class":148},[114,11476,3263],{"class":2388},[114,11478,2400],{"class":148},[114,11480,11481,11483,11485,11487,11489,11491],{"class":116,"line":5130},[114,11482,2606],{"class":148},[114,11484,3414],{"class":2388},[114,11486,2392],{"class":134},[114,11488,1699],{"class":148},[114,11490,4095],{"class":138},[114,11492,2400],{"class":148},[114,11494,11495,11497,11499],{"class":116,"line":5145},[114,11496,2802],{"class":148},[114,11498,3279],{"class":2388},[114,11500,2400],{"class":148},[114,11502,11503,11505,11507],{"class":116,"line":5154},[114,11504,3286],{"class":148},[114,11506,3975],{"class":2388},[114,11508,2400],{"class":148},[114,11510,11511,11513,11515,11517,11519],{"class":116,"line":5163},[114,11512,3296],{"class":148},[114,11514,3313],{"class":2388},[114,11516,5033],{"class":148},[114,11518,3313],{"class":2388},[114,11520,2400],{"class":148},[114,11522,11523,11525,11527],{"class":116,"line":5176},[114,11524,3325],{"class":148},[114,11526,3975],{"class":2388},[114,11528,2400],{"class":148},[114,11530,11531,11533,11535],{"class":116,"line":5185},[114,11532,3334],{"class":148},[114,11534,3279],{"class":2388},[114,11536,2400],{"class":148},[114,11538,11539,11541,11543],{"class":116,"line":5194},[114,11540,2802],{"class":148},[114,11542,3486],{"class":2388},[114,11544,2400],{"class":148},[114,11546,11547,11549,11551,11553,11555],{"class":116,"line":5203},[114,11548,3286],{"class":148},[114,11550,3170],{"class":2388},[114,11552,4165],{"class":148},[114,11554,3170],{"class":2388},[114,11556,2400],{"class":148},[114,11558,11559,11561,11563,11565,11567],{"class":116,"line":5216},[114,11560,3286],{"class":148},[114,11562,3508],{"class":2388},[114,11564,3187],{"class":148},[114,11566,3508],{"class":2388},[114,11568,2400],{"class":148},[114,11570,11571,11573,11575,11577,11579],{"class":116,"line":5229},[114,11572,3286],{"class":148},[114,11574,3521],{"class":2388},[114,11576,4192],{"class":148},[114,11578,3521],{"class":2388},[114,11580,2400],{"class":148},[114,11582,11583,11585,11587],{"class":116,"line":5242},[114,11584,3334],{"class":148},[114,11586,3486],{"class":2388},[114,11588,2400],{"class":148},[114,11590,11591,11593,11595],{"class":116,"line":5251},[114,11592,2842],{"class":148},[114,11594,3414],{"class":2388},[114,11596,2400],{"class":148},[114,11598,11599,11601,11603,11605,11607],{"class":116,"line":5260},[114,11600,2606],{"class":148},[114,11602,3550],{"class":2388},[114,11604,3553],{"class":148},[114,11606,3550],{"class":2388},[114,11608,2400],{"class":148},[114,11610,11611,11613,11615,11617,11619],{"class":116,"line":5273},[114,11612,2606],{"class":148},[114,11614,3703],{"class":2388},[114,11616,3706],{"class":148},[114,11618,3703],{"class":2388},[114,11620,2400],{"class":148},[114,11622,11623,11625,11627],{"class":116,"line":5286},[114,11624,2666],{"class":148},[114,11626,2408],{"class":2388},[114,11628,2400],{"class":148},[114,11630,11631,11633,11635,11637,11639],{"class":116,"line":5295},[114,11632,2432],{"class":148},[114,11634,3235],{"class":2388},[114,11636,3706],{"class":148},[114,11638,3235],{"class":2388},[114,11640,2400],{"class":148},[114,11642,11643,11645,11647,11649,11651],{"class":116,"line":5308},[114,11644,2432],{"class":148},[114,11646,3740],{"class":2388},[114,11648,3706],{"class":148},[114,11650,3740],{"class":2388},[114,11652,2400],{"class":148},[114,11654,11655,11657,11659],{"class":116,"line":5321},[114,11656,2503],{"class":148},[114,11658,2746],{"class":2388},[114,11660,2400],{"class":148},[114,11662,11663,11665,11667,11669,11671,11673],{"class":116,"line":5330},[114,11664,2422],{"class":148},[114,11666,2746],{"class":2388},[114,11668,2392],{"class":134},[114,11670,1699],{"class":148},[114,11672,5341],{"class":138},[114,11674,2400],{"class":148},[114,11676,11677,11679,11681,11684,11686],{"class":116,"line":5346},[114,11678,2432],{"class":148},[114,11680,3550],{"class":2388},[114,11682,11683],{"class":148},">-0.000154 2.52488 0.500821 -0.018068 -0 -0.003156\u003C\u002F",[114,11685,3550],{"class":2388},[114,11687,2400],{"class":148},[114,11689,11690,11692,11694,11696,11698,11700],{"class":116,"line":5360},[114,11691,2432],{"class":148},[114,11693,2408],{"class":2388},[114,11695,2392],{"class":134},[114,11697,1699],{"class":148},[114,11699,3799],{"class":138},[114,11701,2400],{"class":148},[114,11703,11704,11706,11708],{"class":116,"line":5375},[114,11705,2606],{"class":148},[114,11707,2425],{"class":2388},[114,11709,2400],{"class":148},[114,11711,11712,11714,11716],{"class":116,"line":5384},[114,11713,2802],{"class":148},[114,11715,2453],{"class":2388},[114,11717,2400],{"class":148},[114,11719,11720,11722,11724,11726,11728],{"class":116,"line":5393},[114,11721,3286],{"class":148},[114,11723,2805],{"class":2388},[114,11725,3829],{"class":148},[114,11727,2805],{"class":2388},[114,11729,2400],{"class":148},[114,11731,11732,11734,11736,11738,11740],{"class":116,"line":5406},[114,11733,3286],{"class":148},[114,11735,3617],{"class":2388},[114,11737,3620],{"class":148},[114,11739,3617],{"class":2388},[114,11741,2400],{"class":148},[114,11743,11744,11746,11748,11750,11752],{"class":116,"line":5419},[114,11745,3286],{"class":148},[114,11747,3631],{"class":2388},[114,11749,3620],{"class":148},[114,11751,3631],{"class":2388},[114,11753,2400],{"class":148},[114,11755,11756,11758,11760,11762,11764],{"class":116,"line":5432},[114,11757,3286],{"class":148},[114,11759,2818],{"class":2388},[114,11761,3829],{"class":148},[114,11763,2818],{"class":2388},[114,11765,2400],{"class":148},[114,11767,11768,11770,11772,11774,11776],{"class":116,"line":5445},[114,11769,3286],{"class":148},[114,11771,3658],{"class":2388},[114,11773,3620],{"class":148},[114,11775,3658],{"class":2388},[114,11777,2400],{"class":148},[114,11779,11780,11782,11784,11786,11788],{"class":116,"line":5458},[114,11781,3286],{"class":148},[114,11783,2831],{"class":2388},[114,11785,3829],{"class":148},[114,11787,2831],{"class":2388},[114,11789,2400],{"class":148},[114,11791,11792,11794,11796],{"class":116,"line":5471},[114,11793,3334],{"class":148},[114,11795,2453],{"class":2388},[114,11797,2400],{"class":148},[114,11799,11800,11802,11804,11806,11808],{"class":116,"line":5480},[114,11801,2802],{"class":148},[114,11803,2435],{"class":2388},[114,11805,3586],{"class":148},[114,11807,2435],{"class":2388},[114,11809,2400],{"class":148},[114,11811,11812,11814,11816,11818,11820],{"class":116,"line":5493},[114,11813,2802],{"class":148},[114,11815,3550],{"class":2388},[114,11817,3553],{"class":148},[114,11819,3550],{"class":2388},[114,11821,2400],{"class":148},[114,11823,11824,11826,11828],{"class":116,"line":5506},[114,11825,2842],{"class":148},[114,11827,2425],{"class":2388},[114,11829,2400],{"class":148},[114,11831,11832,11834,11836,11838,11840,11842],{"class":116,"line":5515},[114,11833,2606],{"class":148},[114,11835,3263],{"class":2388},[114,11837,2392],{"class":134},[114,11839,1699],{"class":148},[114,11841,3956],{"class":138},[114,11843,2400],{"class":148},[114,11845,11846,11848,11850],{"class":116,"line":5530},[114,11847,2802],{"class":148},[114,11849,3279],{"class":2388},[114,11851,2400],{"class":148},[114,11853,11854,11856,11858],{"class":116,"line":5539},[114,11855,3286],{"class":148},[114,11857,3975],{"class":2388},[114,11859,2400],{"class":148},[114,11861,11862,11864,11866,11868,11870],{"class":116,"line":5548},[114,11863,3296],{"class":148},[114,11865,3313],{"class":2388},[114,11867,5033],{"class":148},[114,11869,3313],{"class":2388},[114,11871,2400],{"class":148},[114,11873,11874,11876,11878],{"class":116,"line":5561},[114,11875,3325],{"class":148},[114,11877,3975],{"class":2388},[114,11879,2400],{"class":148},[114,11881,11882,11884,11886],{"class":116,"line":5570},[114,11883,3334],{"class":148},[114,11885,3279],{"class":2388},[114,11887,2400],{"class":148},[114,11889,11890,11892,11894],{"class":116,"line":5579},[114,11891,2802],{"class":148},[114,11893,3345],{"class":2388},[114,11895,2400],{"class":148},[114,11897,11898,11900,11902],{"class":116,"line":5588},[114,11899,3286],{"class":148},[114,11901,3354],{"class":2388},[114,11903,2400],{"class":148},[114,11905,11906,11908,11910],{"class":116,"line":5597},[114,11907,3296],{"class":148},[114,11909,3363],{"class":2388},[114,11911,3044],{"class":148},[114,11913,11914,11916,11918],{"class":116,"line":5606},[114,11915,3325],{"class":148},[114,11917,3354],{"class":2388},[114,11919,2400],{"class":148},[114,11921,11922,11924,11926],{"class":116,"line":5615},[114,11923,3286],{"class":148},[114,11925,3380],{"class":2388},[114,11927,3044],{"class":148},[114,11929,11930,11932,11934],{"class":116,"line":5624},[114,11931,3286],{"class":148},[114,11933,3389],{"class":2388},[114,11935,3044],{"class":148},[114,11937,11938,11940,11942],{"class":116,"line":5633},[114,11939,3334],{"class":148},[114,11941,3345],{"class":2388},[114,11943,2400],{"class":148},[114,11945,11946,11948,11950],{"class":116,"line":5642},[114,11947,2842],{"class":148},[114,11949,3263],{"class":2388},[114,11951,2400],{"class":148},[114,11953,11954,11956,11958,11960,11962,11964],{"class":116,"line":5651},[114,11955,2606],{"class":148},[114,11957,3414],{"class":2388},[114,11959,2392],{"class":134},[114,11961,1699],{"class":148},[114,11963,4095],{"class":138},[114,11965,2400],{"class":148},[114,11967,11968,11970,11972],{"class":116,"line":5666},[114,11969,2802],{"class":148},[114,11971,3279],{"class":2388},[114,11973,2400],{"class":148},[114,11975,11976,11978,11980],{"class":116,"line":5675},[114,11977,3286],{"class":148},[114,11979,3975],{"class":2388},[114,11981,2400],{"class":148},[114,11983,11984,11986,11988,11990,11992],{"class":116,"line":5684},[114,11985,3296],{"class":148},[114,11987,3313],{"class":2388},[114,11989,5033],{"class":148},[114,11991,3313],{"class":2388},[114,11993,2400],{"class":148},[114,11995,11996,11998,12000],{"class":116,"line":5697},[114,11997,3325],{"class":148},[114,11999,3975],{"class":2388},[114,12001,2400],{"class":148},[114,12003,12004,12006,12008],{"class":116,"line":5706},[114,12005,3334],{"class":148},[114,12007,3279],{"class":2388},[114,12009,2400],{"class":148},[114,12011,12012,12014,12016],{"class":116,"line":5715},[114,12013,2802],{"class":148},[114,12015,3486],{"class":2388},[114,12017,2400],{"class":148},[114,12019,12020,12022,12024,12026,12028],{"class":116,"line":5724},[114,12021,3286],{"class":148},[114,12023,3170],{"class":2388},[114,12025,4165],{"class":148},[114,12027,3170],{"class":2388},[114,12029,2400],{"class":148},[114,12031,12032,12034,12036,12038,12040],{"class":116,"line":5737},[114,12033,3286],{"class":148},[114,12035,3508],{"class":2388},[114,12037,3187],{"class":148},[114,12039,3508],{"class":2388},[114,12041,2400],{"class":148},[114,12043,12044,12046,12048,12050,12052],{"class":116,"line":5750},[114,12045,3286],{"class":148},[114,12047,3521],{"class":2388},[114,12049,4192],{"class":148},[114,12051,3521],{"class":2388},[114,12053,2400],{"class":148},[114,12055,12056,12058,12060],{"class":116,"line":5763},[114,12057,3334],{"class":148},[114,12059,3486],{"class":2388},[114,12061,2400],{"class":148},[114,12063,12064,12066,12068],{"class":116,"line":5772},[114,12065,2842],{"class":148},[114,12067,3414],{"class":2388},[114,12069,2400],{"class":148},[114,12071,12072,12074,12076,12078,12080],{"class":116,"line":5781},[114,12073,2606],{"class":148},[114,12075,3550],{"class":2388},[114,12077,3553],{"class":148},[114,12079,3550],{"class":2388},[114,12081,2400],{"class":148},[114,12083,12084,12086,12088,12090,12092],{"class":116,"line":5794},[114,12085,2606],{"class":148},[114,12087,3703],{"class":2388},[114,12089,3706],{"class":148},[114,12091,3703],{"class":2388},[114,12093,2400],{"class":148},[114,12095,12096,12098,12100],{"class":116,"line":5807},[114,12097,2666],{"class":148},[114,12099,2408],{"class":2388},[114,12101,2400],{"class":148},[114,12103,12104,12106,12108,12110,12112],{"class":116,"line":5816},[114,12105,2432],{"class":148},[114,12107,3235],{"class":2388},[114,12109,3706],{"class":148},[114,12111,3235],{"class":2388},[114,12113,2400],{"class":148},[114,12115,12116,12118,12120,12122,12124],{"class":116,"line":5829},[114,12117,2432],{"class":148},[114,12119,3740],{"class":2388},[114,12121,3706],{"class":148},[114,12123,3740],{"class":2388},[114,12125,2400],{"class":148},[114,12127,12128,12130,12132],{"class":116,"line":5842},[114,12129,2503],{"class":148},[114,12131,2746],{"class":2388},[114,12133,2400],{"class":148},[114,12135,12136,12138,12141],{"class":116,"line":5851},[114,12137,2422],{"class":148},[114,12139,12140],{"class":2388},"include",[114,12142,2400],{"class":148},[114,12144,12145,12147,12150,12153,12155],{"class":116,"line":5875},[114,12146,2432],{"class":148},[114,12148,12149],{"class":2388},"uri",[114,12151,12152],{"class":148},">file:\u002F\u002FBed\u003C\u002F",[114,12154,12149],{"class":2388},[114,12156,2400],{"class":148},[114,12158,12159,12161,12163,12166,12168],{"class":116,"line":5889},[114,12160,2432],{"class":148},[114,12162,6136],{"class":2388},[114,12164,12165],{"class":148},">Bed\u003C\u002F",[114,12167,6136],{"class":2388},[114,12169,2400],{"class":148},[114,12171,12172,12174,12176,12179,12181],{"class":116,"line":5903},[114,12173,2432],{"class":148},[114,12175,3550],{"class":2388},[114,12177,12178],{"class":148},">2.82155 1.18752 0 0 -0 0\u003C\u002F",[114,12180,3550],{"class":2388},[114,12182,2400],{"class":148},[114,12184,12185,12187,12189],{"class":116,"line":5917},[114,12186,2503],{"class":148},[114,12188,12140],{"class":2388},[114,12190,2400],{"class":148},[114,12192,12193,12195,12197],{"class":116,"line":5932},[114,12194,2422],{"class":148},[114,12196,12140],{"class":2388},[114,12198,2400],{"class":148},[114,12200,12201,12203,12205,12208,12210],{"class":116,"line":5945},[114,12202,2432],{"class":148},[114,12204,12149],{"class":2388},[114,12206,12207],{"class":148},">file:\u002F\u002FOffice Desk\u003C\u002F",[114,12209,12149],{"class":2388},[114,12211,2400],{"class":148},[114,12213,12214,12216,12218,12221,12223],{"class":116,"line":5959},[114,12215,2432],{"class":148},[114,12217,6136],{"class":2388},[114,12219,12220],{"class":148},">Desk\u003C\u002F",[114,12222,6136],{"class":2388},[114,12224,2400],{"class":148},[114,12226,12227,12229,12231,12234,12236],{"class":116,"line":5969},[114,12228,2432],{"class":148},[114,12230,3550],{"class":2388},[114,12232,12233],{"class":148},">2.78306 -1.97796 0 0 -0 1.57\u003C\u002F",[114,12235,3550],{"class":2388},[114,12237,2400],{"class":148},[114,12239,12240,12242,12244],{"class":116,"line":5983},[114,12241,2503],{"class":148},[114,12243,12140],{"class":2388},[114,12245,2400],{"class":148},[114,12247,12248,12250,12252],{"class":116,"line":5998},[114,12249,2422],{"class":148},[114,12251,12140],{"class":2388},[114,12253,2400],{"class":148},[114,12255,12256,12258,12260,12263,12265],{"class":116,"line":6013},[114,12257,2432],{"class":148},[114,12259,12149],{"class":2388},[114,12261,12262],{"class":148},">file:\u002F\u002FBathtub\u003C\u002F",[114,12264,12149],{"class":2388},[114,12266,2400],{"class":148},[114,12268,12269,12271,12273,12276,12278],{"class":116,"line":6027},[114,12270,2432],{"class":148},[114,12272,6136],{"class":2388},[114,12274,12275],{"class":148},">Bathtub\u003C\u002F",[114,12277,6136],{"class":2388},[114,12279,2400],{"class":148},[114,12281,12282,12284,12286,12289,12291],{"class":116,"line":6036},[114,12283,2432],{"class":148},[114,12285,3550],{"class":2388},[114,12287,12288],{"class":148},">-3.87509 1.82783 0 0 -0 0\u003C\u002F",[114,12290,3550],{"class":2388},[114,12292,2400],{"class":148},[114,12294,12295,12297,12299],{"class":116,"line":6046},[114,12296,2503],{"class":148},[114,12298,12140],{"class":2388},[114,12300,2400],{"class":148},[114,12302,12303,12305,12307],{"class":116,"line":6060},[114,12304,2422],{"class":148},[114,12306,12140],{"class":2388},[114,12308,2400],{"class":148},[114,12310,12311,12313,12315,12318,12320],{"class":116,"line":6074},[114,12312,2432],{"class":148},[114,12314,12149],{"class":2388},[114,12316,12317],{"class":148},">file:\u002F\u002FVanity\u003C\u002F",[114,12319,12149],{"class":2388},[114,12321,2400],{"class":148},[114,12323,12324,12326,12328,12331,12333],{"class":116,"line":6088},[114,12325,2432],{"class":148},[114,12327,6136],{"class":2388},[114,12329,12330],{"class":148},">Vanity\u003C\u002F",[114,12332,6136],{"class":2388},[114,12334,2400],{"class":148},[114,12336,12337,12339,12341,12344,12346],{"class":116,"line":6097},[114,12338,2432],{"class":148},[114,12340,3550],{"class":2388},[114,12342,12343],{"class":148},">-2.5974 1.85613 -0.010992 0.021648 0 -1.57\u003C\u002F",[114,12345,3550],{"class":2388},[114,12347,2400],{"class":148},[114,12349,12350,12352,12354],{"class":116,"line":6106},[114,12351,2503],{"class":148},[114,12353,12140],{"class":2388},[114,12355,2400],{"class":148},[114,12357,12358,12360,12362],{"class":116,"line":6115},[114,12359,2422],{"class":148},[114,12361,12140],{"class":2388},[114,12363,2400],{"class":148},[114,12365,12367,12369,12371,12373,12375],{"class":116,"line":12366},278,[114,12368,2432],{"class":148},[114,12370,12149],{"class":2388},[114,12372,12317],{"class":148},[114,12374,12149],{"class":2388},[114,12376,2400],{"class":148},[114,12378,12380,12382,12384,12387,12389],{"class":116,"line":12379},279,[114,12381,2432],{"class":148},[114,12383,6136],{"class":2388},[114,12385,12386],{"class":148},">Vanity_1\u003C\u002F",[114,12388,6136],{"class":2388},[114,12390,2400],{"class":148},[114,12392,12394,12396,12398,12401,12403],{"class":116,"line":12393},280,[114,12395,2432],{"class":148},[114,12397,3550],{"class":2388},[114,12399,12400],{"class":148},">-2.5974 0.634325 -0.010992 0.021648 0 -1.57\u003C\u002F",[114,12402,3550],{"class":2388},[114,12404,2400],{"class":148},[114,12406,12408,12410,12412],{"class":116,"line":12407},281,[114,12409,2503],{"class":148},[114,12411,12140],{"class":2388},[114,12413,2400],{"class":148},[114,12415,12417,12419,12421],{"class":116,"line":12416},282,[114,12418,2422],{"class":148},[114,12420,12140],{"class":2388},[114,12422,2400],{"class":148},[114,12424,12426,12428,12430,12433,12435],{"class":116,"line":12425},283,[114,12427,2432],{"class":148},[114,12429,12149],{"class":2388},[114,12431,12432],{"class":148},">file:\u002F\u002FDining Table\u003C\u002F",[114,12434,12149],{"class":2388},[114,12436,2400],{"class":148},[114,12438,12440,12442,12444,12447,12449],{"class":116,"line":12439},284,[114,12441,2432],{"class":148},[114,12443,6136],{"class":2388},[114,12445,12446],{"class":148},">DiningTable\u003C\u002F",[114,12448,6136],{"class":2388},[114,12450,2400],{"class":148},[114,12452,12454,12456,12458,12461,12463],{"class":116,"line":12453},285,[114,12455,2432],{"class":148},[114,12457,3550],{"class":2388},[114,12459,12460],{"class":148},">-0.374337 1.33602 0 0 0 -1.57\u003C\u002F",[114,12462,3550],{"class":2388},[114,12464,2400],{"class":148},[114,12466,12468,12470,12472],{"class":116,"line":12467},286,[114,12469,2503],{"class":148},[114,12471,12140],{"class":2388},[114,12473,2400],{"class":148},[114,12475,12477,12479,12481],{"class":116,"line":12476},287,[114,12478,2422],{"class":148},[114,12480,12140],{"class":2388},[114,12482,2400],{"class":148},[114,12484,12486,12488,12490,12493,12495],{"class":116,"line":12485},288,[114,12487,2432],{"class":148},[114,12489,12149],{"class":2388},[114,12491,12492],{"class":148},">file:\u002F\u002FChair\u003C\u002F",[114,12494,12149],{"class":2388},[114,12496,2400],{"class":148},[114,12498,12500,12502,12504,12507,12509],{"class":116,"line":12499},289,[114,12501,2432],{"class":148},[114,12503,6136],{"class":2388},[114,12505,12506],{"class":148},">Chair\u003C\u002F",[114,12508,6136],{"class":2388},[114,12510,2400],{"class":148},[114,12512,12514,12516,12518,12521,12523],{"class":116,"line":12513},290,[114,12515,2432],{"class":148},[114,12517,3550],{"class":2388},[114,12519,12520],{"class":148},">2.79762 -1.26474 -0 -0 0 -2.3062\u003C\u002F",[114,12522,3550],{"class":2388},[114,12524,2400],{"class":148},[114,12526,12528,12530,12532],{"class":116,"line":12527},291,[114,12529,2503],{"class":148},[114,12531,12140],{"class":2388},[114,12533,2400],{"class":148},[114,12535,12537,12539,12541],{"class":116,"line":12536},292,[114,12538,2422],{"class":148},[114,12540,12140],{"class":2388},[114,12542,2400],{"class":148},[114,12544,12546,12548,12550,12553,12555],{"class":116,"line":12545},293,[114,12547,2432],{"class":148},[114,12549,12149],{"class":2388},[114,12551,12552],{"class":148},">file:\u002F\u002FSofa\u003C\u002F",[114,12554,12149],{"class":2388},[114,12556,2400],{"class":148},[114,12558,12560,12562,12564,12567,12569],{"class":116,"line":12559},294,[114,12561,2432],{"class":148},[114,12563,6136],{"class":2388},[114,12565,12566],{"class":148},">Sofa\u003C\u002F",[114,12568,6136],{"class":2388},[114,12570,2400],{"class":148},[114,12572,12574,12576,12578,12581,12583],{"class":116,"line":12573},295,[114,12575,2432],{"class":148},[114,12577,3550],{"class":2388},[114,12579,12580],{"class":148},">-0.546136 -1.92328 0.000119 -0 0 1.57\u003C\u002F",[114,12582,3550],{"class":2388},[114,12584,2400],{"class":148},[114,12586,12588,12590,12592],{"class":116,"line":12587},296,[114,12589,2503],{"class":148},[114,12591,12140],{"class":2388},[114,12593,2400],{"class":148},[114,12595,12597,12599,12601,12603,12605,12607,12609,12611,12613],{"class":116,"line":12596},297,[114,12598,2422],{"class":148},[114,12600,5856],{"class":2388},[114,12602,2392],{"class":134},[114,12604,1699],{"class":148},[114,12606,5863],{"class":138},[114,12608,2962],{"class":134},[114,12610,1699],{"class":148},[114,12612,5870],{"class":138},[114,12614,2400],{"class":148},[114,12616,12618,12620,12622,12624,12626],{"class":116,"line":12617},298,[114,12619,2432],{"class":148},[114,12621,3550],{"class":2388},[114,12623,5882],{"class":148},[114,12625,3550],{"class":2388},[114,12627,2400],{"class":148},[114,12629,12631,12633,12635,12637,12639],{"class":116,"line":12630},299,[114,12632,2432],{"class":148},[114,12634,5894],{"class":2388},[114,12636,3201],{"class":148},[114,12638,5894],{"class":2388},[114,12640,2400],{"class":148},[114,12642,12644,12646,12648,12650,12652],{"class":116,"line":12643},300,[114,12645,2432],{"class":148},[114,12647,5908],{"class":2388},[114,12649,2993],{"class":148},[114,12651,5908],{"class":2388},[114,12653,2400],{"class":148},[114,12655,12657,12659,12661,12663,12665],{"class":116,"line":12656},301,[114,12658,2432],{"class":148},[114,12660,5922],{"class":2388},[114,12662,5925],{"class":148},[114,12664,5922],{"class":2388},[114,12666,2400],{"class":148},[114,12668,12670,12672,12674,12676,12678],{"class":116,"line":12669},302,[114,12671,2432],{"class":148},[114,12673,3508],{"class":2388},[114,12675,3497],{"class":148},[114,12677,3508],{"class":2388},[114,12679,2400],{"class":148},[114,12681,12683,12685,12687,12689,12691],{"class":116,"line":12682},303,[114,12684,2432],{"class":148},[114,12686,3521],{"class":2388},[114,12688,5952],{"class":148},[114,12690,3521],{"class":2388},[114,12692,2400],{"class":148},[114,12694,12696,12698,12700],{"class":116,"line":12695},304,[114,12697,2432],{"class":148},[114,12699,5964],{"class":2388},[114,12701,2400],{"class":148},[114,12703,12705,12707,12709,12711,12713],{"class":116,"line":12704},305,[114,12706,2606],{"class":148},[114,12708,5974],{"class":2388},[114,12710,3007],{"class":148},[114,12712,5974],{"class":2388},[114,12714,2400],{"class":148},[114,12716,12718,12720,12722,12724,12726],{"class":116,"line":12717},306,[114,12719,2606],{"class":148},[114,12721,5988],{"class":2388},[114,12723,5991],{"class":148},[114,12725,5988],{"class":2388},[114,12727,2400],{"class":148},[114,12729,12731,12733,12735,12737,12739],{"class":116,"line":12730},307,[114,12732,2606],{"class":148},[114,12734,6003],{"class":2388},[114,12736,6006],{"class":148},[114,12738,6003],{"class":2388},[114,12740,2400],{"class":148},[114,12742,12744,12746,12748,12750,12752],{"class":116,"line":12743},308,[114,12745,2606],{"class":148},[114,12747,6018],{"class":2388},[114,12749,2979],{"class":148},[114,12751,6018],{"class":2388},[114,12753,2400],{"class":148},[114,12755,12757,12759,12761],{"class":116,"line":12756},309,[114,12758,2666],{"class":148},[114,12760,5964],{"class":2388},[114,12762,2400],{"class":148},[114,12764,12766,12768,12770],{"class":116,"line":12765},310,[114,12767,2432],{"class":148},[114,12769,6041],{"class":2388},[114,12771,2400],{"class":148},[114,12773,12775,12777,12779,12781,12783],{"class":116,"line":12774},311,[114,12776,2606],{"class":148},[114,12778,6051],{"class":2388},[114,12780,3620],{"class":148},[114,12782,6051],{"class":2388},[114,12784,2400],{"class":148},[114,12786,12788,12790,12792,12794,12796],{"class":116,"line":12787},312,[114,12789,2606],{"class":148},[114,12791,6065],{"class":2388},[114,12793,3620],{"class":148},[114,12795,6065],{"class":2388},[114,12797,2400],{"class":148},[114,12799,12801,12803,12805,12807,12809],{"class":116,"line":12800},313,[114,12802,2606],{"class":148},[114,12804,6079],{"class":2388},[114,12806,3620],{"class":148},[114,12808,6079],{"class":2388},[114,12810,2400],{"class":148},[114,12812,12814,12816,12818],{"class":116,"line":12813},314,[114,12815,2666],{"class":148},[114,12817,6041],{"class":2388},[114,12819,2400],{"class":148},[114,12821,12823,12825,12827],{"class":116,"line":12822},315,[114,12824,2503],{"class":148},[114,12826,5856],{"class":2388},[114,12828,2400],{"class":148},[114,12830,12832,12834,12836],{"class":116,"line":12831},316,[114,12833,2512],{"class":148},[114,12835,2936],{"class":2388},[114,12837,2400],{"class":148},[114,12839,12841,12843,12845],{"class":116,"line":12840},317,[114,12842,2521],{"class":148},[114,12844,2729],{"class":2388},[114,12846,2400],{"class":148},[17,12848,12849],{},[52,12850,2177],{},[17,12852,2180],{},[104,12854,12855],{"className":106,"code":2183,"language":108,"meta":109,"style":109},[111,12856,12857],{"__ignoreMap":109},[114,12858,12859,12861,12863,12865],{"class":116,"line":117},[114,12860,2190],{"class":134},[114,12862,2193],{"class":138},[114,12864,2196],{"class":578},[114,12866,1434],{"class":138},[17,12868,12869],{},[52,12870,2208],{},[17,12872,2211],{},[104,12874,12875],{"className":106,"code":9322,"language":108,"meta":109,"style":109},[111,12876,12877,12883],{"__ignoreMap":109},[114,12878,12879,12881],{"class":116,"line":117},[114,12880,2221],{"class":578},[114,12882,2224],{"class":138},[114,12884,12885,12887,12889,12891],{"class":116,"line":124},[114,12886,265],{"class":134},[114,12888,268],{"class":138},[114,12890,2233],{"class":138},[114,12892,9341],{"class":138},[17,12894,9344],{},[17,12896,12897],{},[202,12898],{"alt":109,"src":12899},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1732.webp",[29,12901,12903],{"id":12902},"igng添加机器人","IgnG添加机器人",[17,12905,12906],{},"Ignition Gazebo中可以直接创建机器人模型，或者也可以加载ROS2中URDF格式的机器人模型，此处我们使用后者（也可以选择用自己的urdf小车，但是注意修改launch的路径）。",[17,12908,12909],{},"我没有用赵虚左老师的mycar_description，用的自己的小车模型，后面的一系列源码都在下方这个Github仓库中，需要的可以自行clone.",[17,12911,12912],{},[57,12913,12914],{"href":12914,"rel":12915},"https:\u002F\u002Fgithub.com\u002Ftungchiahui\u002FROS2_WS\u002Ftree\u002Fmain\u002F6.ws_simulations",[61],[17,12917,12918],{},[52,12919,12920],{},"准备机器人模型功能包",[17,12922,12923],{},"复制机器人描述功能包mycar_description到工作空间的src目录，ign_models中新建mycar_description目录，并将功能包mycar_description下的mesh目录复制进ign_models中的mycar_description目录。",[17,12925,12926],{},[52,12927,12928],{},"机器人模型功能包下新建launch文件",[17,12930,12931],{},"新建launch文件mycar_desc_sim.launch.py，并输入如下内容：",[104,12933,12935],{"className":1549,"code":12934,"language":1551,"meta":109,"style":109},"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",[111,12936,12937,12947,12957,12963,12973,12985,12996,13006,13010,13015,13023,13027,13044,13048,13062,13087,13113,13117,13122,13126,13131,13152,13161,13172,13182,13196,13200,13204,13210,13215,13220],{"__ignoreMap":109},[114,12938,12939,12941,12943,12945],{"class":116,"line":117},[114,12940,1570],{"class":767},[114,12942,1589],{"class":148},[114,12944,1558],{"class":767},[114,12946,1594],{"class":148},[114,12948,12949,12951,12953,12955],{"class":116,"line":124},[114,12950,1570],{"class":767},[114,12952,1664],{"class":148},[114,12954,1558],{"class":767},[114,12956,1669],{"class":148},[114,12958,12959,12961],{"class":116,"line":131},[114,12960,1558],{"class":767},[114,12962,1561],{"class":148},[114,12964,12965,12967,12969,12971],{"class":116,"line":155},[114,12966,1570],{"class":767},[114,12968,1573],{"class":148},[114,12970,1558],{"class":767},[114,12972,1578],{"class":148},[114,12974,12975,12977,12980,12982],{"class":116,"line":160},[114,12976,1570],{"class":767},[114,12978,12979],{"class":148}," launch_ros.parameter_descriptions ",[114,12981,1558],{"class":767},[114,12983,12984],{"class":148}," ParameterValue\n",[114,12986,12987,12989,12991,12993],{"class":116,"line":166},[114,12988,1570],{"class":767},[114,12990,1648],{"class":148},[114,12992,1558],{"class":767},[114,12994,12995],{"class":148}," Command,LaunchConfiguration\n",[114,12997,12998,13000,13002,13004],{"class":116,"line":178},[114,12999,1570],{"class":767},[114,13001,1601],{"class":148},[114,13003,1558],{"class":767},[114,13005,1606],{"class":148},[114,13007,13008],{"class":116,"line":183},[114,13009,121],{"emptyLinePlaceholder":120},[114,13011,13012],{"class":116,"line":189},[114,13013,13014],{"class":127},"#示例： ros2 launch cpp06_urdf display.launch.py model:=`ros2 pkg prefix --share cpp06_urdf`\u002Furdf\u002Furdf\u002Fdemo01_helloworld.urdf\n",[114,13016,13017,13019,13021],{"class":116,"line":436},[114,13018,1679],{"class":767},[114,13020,1682],{"class":134},[114,13022,1685],{"class":148},[114,13024,13025],{"class":116,"line":442},[114,13026,121],{"emptyLinePlaceholder":120},[114,13028,13029,13032,13035,13038,13041],{"class":116,"line":448},[114,13030,13031],{"class":578},"    MYCAR_MODEL",[114,13033,13034],{"class":767}," =",[114,13036,13037],{"class":148}," os.environ[",[114,13039,13040],{"class":138},"'MYCAR_MODEL'",[114,13042,13043],{"class":148},"]\n",[114,13045,13046],{"class":116,"line":454},[114,13047,121],{"emptyLinePlaceholder":120},[114,13049,13050,13053,13055,13057,13060],{"class":116,"line":1676},[114,13051,13052],{"class":148},"    mycar_description ",[114,13054,1699],{"class":767},[114,13056,1702],{"class":148},[114,13058,13059],{"class":138},"\"mycar_description\"",[114,13061,1468],{"class":148},[114,13063,13064,13067,13069,13072,13075,13077,13080,13082,13085],{"class":116,"line":1688},[114,13065,13066],{"class":148},"    default_model_path ",[114,13068,1699],{"class":767},[114,13070,13071],{"class":148}," os.path.join(mycar_description,",[114,13073,13074],{"class":138},"\"urdf\"",[114,13076,1739],{"class":148},[114,13078,13079],{"class":578},"MYCAR_MODEL",[114,13081,1811],{"class":767},[114,13083,13084],{"class":138}," \".urdf\"",[114,13086,1468],{"class":148},[114,13088,13089,13092,13094,13097,13099,13101,13104,13106,13108,13110],{"class":116,"line":1693},[114,13090,13091],{"class":148},"    model ",[114,13093,1699],{"class":767},[114,13095,13096],{"class":148}," DeclareLaunchArgument(",[114,13098,6136],{"class":1790},[114,13100,1699],{"class":767},[114,13102,13103],{"class":138},"\"model\"",[114,13105,1778],{"class":148},[114,13107,2126],{"class":1790},[114,13109,1699],{"class":767},[114,13111,13112],{"class":148},"default_model_path)\n",[114,13114,13115],{"class":116,"line":1710},[114,13116,121],{"emptyLinePlaceholder":120},[114,13118,13119],{"class":116,"line":1725},[114,13120,13121],{"class":127},"    # 加载机器人模型\n",[114,13123,13124],{"class":116,"line":1747},[114,13125,121],{"emptyLinePlaceholder":120},[114,13127,13128],{"class":116,"line":1752},[114,13129,13130],{"class":127},"    # 启动 robot_state_publisher 节点并以参数方式加载 urdf 文件\n",[114,13132,13133,13136,13138,13141,13144,13147,13149],{"class":116,"line":1763},[114,13134,13135],{"class":148},"    robot_description ",[114,13137,1699],{"class":767},[114,13139,13140],{"class":148}," ParameterValue(Command([",[114,13142,13143],{"class":138},"\"xacro \"",[114,13145,13146],{"class":148},",LaunchConfiguration(",[114,13148,13103],{"class":138},[114,13150,13151],{"class":148},")]))\n",[114,13153,13154,13157,13159],{"class":116,"line":1769},[114,13155,13156],{"class":148},"    robot_state_publisher ",[114,13158,1699],{"class":767},[114,13160,1848],{"class":148},[114,13162,13163,13165,13167,13170],{"class":116,"line":1787},[114,13164,1949],{"class":1790},[114,13166,1699],{"class":767},[114,13168,13169],{"class":138},"\"robot_state_publisher\"",[114,13171,1862],{"class":148},[114,13173,13174,13176,13178,13180],{"class":116,"line":1799},[114,13175,1962],{"class":1790},[114,13177,1699],{"class":767},[114,13179,13169],{"class":138},[114,13181,1862],{"class":148},[114,13183,13184,13186,13188,13190,13193],{"class":116,"line":1817},[114,13185,2012],{"class":1790},[114,13187,1699],{"class":767},[114,13189,2017],{"class":148},[114,13191,13192],{"class":138},"\"robot_description\"",[114,13194,13195],{"class":148},": robot_description}]\n",[114,13197,13198],{"class":116,"line":1823},[114,13199,1826],{"class":148},[114,13201,13202],{"class":116,"line":1829},[114,13203,121],{"emptyLinePlaceholder":120},[114,13205,13206,13208],{"class":116,"line":1834},[114,13207,2104],{"class":767},[114,13209,2107],{"class":148},[114,13211,13212],{"class":116,"line":1840},[114,13213,13214],{"class":148},"        model,\n",[114,13216,13217],{"class":116,"line":1851},[114,13218,13219],{"class":148},"        robot_state_publisher,\n",[114,13221,13222],{"class":116,"line":1865},[114,13223,2164],{"class":148},[17,13225,13226],{},"较之于以往该文件缺少了joint_state_publisher节点，该节点作用是发布活动关节状态，这一功能后续由ignition实现。",[17,13228,13229],{},[52,13230,13231],{},"添加机器人模型",[17,13233,13234],{},"修改gazebo_sim_world.launch.py文件，包含机器人模型的发布文件并在Gazebo中生成机器人模型，修改后的代码如下：",[104,13236,13238],{"className":1549,"code":13237,"language":1551,"meta":109,"style":109},"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",[111,13239,13240,13246,13250,13260,13264,13274,13284,13294,13304,13308,13316,13320,13333,13346,13359,13375,13379,13387,13391,13405,13413,13427,13431,13435,13444,13448,13462,13467,13471,13500,13509,13521,13533,13548,13559,13572,13584,13588,13594,13598,13603,13608],{"__ignoreMap":109},[114,13241,13242,13244],{"class":116,"line":117},[114,13243,1558],{"class":767},[114,13245,1561],{"class":148},[114,13247,13248],{"class":116,"line":124},[114,13249,121],{"emptyLinePlaceholder":120},[114,13251,13252,13254,13256,13258],{"class":116,"line":131},[114,13253,1570],{"class":767},[114,13255,1573],{"class":148},[114,13257,1558],{"class":767},[114,13259,1578],{"class":148},[114,13261,13262],{"class":116,"line":155},[114,13263,121],{"emptyLinePlaceholder":120},[114,13265,13266,13268,13270,13272],{"class":116,"line":160},[114,13267,1570],{"class":767},[114,13269,1589],{"class":148},[114,13271,1558],{"class":767},[114,13273,1594],{"class":148},[114,13275,13276,13278,13280,13282],{"class":116,"line":166},[114,13277,1570],{"class":767},[114,13279,1601],{"class":148},[114,13281,1558],{"class":767},[114,13283,1617],{"class":148},[114,13285,13286,13288,13290,13292],{"class":116,"line":178},[114,13287,1570],{"class":767},[114,13289,1636],{"class":148},[114,13291,1558],{"class":767},[114,13293,1641],{"class":148},[114,13295,13296,13298,13300,13302],{"class":116,"line":183},[114,13297,1570],{"class":767},[114,13299,1664],{"class":148},[114,13301,1558],{"class":767},[114,13303,1669],{"class":148},[114,13305,13306],{"class":116,"line":189},[114,13307,121],{"emptyLinePlaceholder":120},[114,13309,13310,13312,13314],{"class":116,"line":436},[114,13311,1679],{"class":767},[114,13313,1682],{"class":134},[114,13315,1685],{"class":148},[114,13317,13318],{"class":116,"line":442},[114,13319,121],{"emptyLinePlaceholder":120},[114,13321,13322,13324,13326,13328,13331],{"class":116,"line":448},[114,13323,1696],{"class":148},[114,13325,1699],{"class":767},[114,13327,1702],{"class":148},[114,13329,13330],{"class":138},"\"demo_gazebo_sim\"",[114,13332,1468],{"class":148},[114,13334,13335,13338,13340,13342,13344],{"class":116,"line":454},[114,13336,13337],{"class":148},"    mycar_desc_pkg ",[114,13339,1699],{"class":767},[114,13341,1702],{"class":148},[114,13343,13059],{"class":138},[114,13345,1468],{"class":148},[114,13347,13348,13350,13352,13354,13357],{"class":116,"line":1676},[114,13349,1713],{"class":148},[114,13351,1699],{"class":767},[114,13353,1702],{"class":148},[114,13355,13356],{"class":138},"\"ros_gz_sim\"",[114,13358,1468],{"class":148},[114,13360,13361,13363,13365,13367,13369,13371,13373],{"class":116,"line":1688},[114,13362,1728],{"class":148},[114,13364,1699],{"class":767},[114,13366,1733],{"class":148},[114,13368,9213],{"class":138},[114,13370,1739],{"class":148},[114,13372,9218],{"class":138},[114,13374,1468],{"class":148},[114,13376,13377],{"class":116,"line":1693},[114,13378,121],{"emptyLinePlaceholder":120},[114,13380,13381,13383,13385],{"class":116,"line":1710},[114,13382,1755],{"class":148},[114,13384,1699],{"class":767},[114,13386,1760],{"class":148},[114,13388,13389],{"class":116,"line":1725},[114,13390,1766],{"class":148},[114,13392,13393,13395,13398,13400,13403],{"class":116,"line":1747},[114,13394,1772],{"class":148},[114,13396,13397],{"class":138},"\"launch\"",[114,13399,1778],{"class":148},[114,13401,13402],{"class":138},"\"gz_sim.launch.py\"",[114,13404,1784],{"class":148},[114,13406,13407,13409,13411],{"class":116,"line":1752},[114,13408,1791],{"class":1790},[114,13410,1699],{"class":767},[114,13412,1796],{"class":148},[114,13414,13415,13418,13420,13423,13425],{"class":116,"line":1763},[114,13416,13417],{"class":138},"            \"gz_args\"",[114,13419,1805],{"class":148},[114,13421,13422],{"class":138},"\"-r \"",[114,13424,1811],{"class":767},[114,13426,1814],{"class":148},[114,13428,13429],{"class":116,"line":1769},[114,13430,1820],{"class":148},[114,13432,13433],{"class":116,"line":1787},[114,13434,1826],{"class":148},[114,13436,13437,13440,13442],{"class":116,"line":1799},[114,13438,13439],{"class":148},"    mycar_desc ",[114,13441,1699],{"class":767},[114,13443,1760],{"class":148},[114,13445,13446],{"class":116,"line":1817},[114,13447,1766],{"class":148},[114,13449,13450,13453,13455,13457,13460],{"class":116,"line":1823},[114,13451,13452],{"class":148},"            os.path.join(mycar_desc_pkg,",[114,13454,13397],{"class":138},[114,13456,1739],{"class":148},[114,13458,13459],{"class":138},"\"mycar_desc_sim.launch.py\"",[114,13461,1468],{"class":148},[114,13463,13464],{"class":116,"line":1829},[114,13465,13466],{"class":148},"        )\n",[114,13468,13469],{"class":116,"line":1834},[114,13470,1826],{"class":148},[114,13472,13473,13476,13478,13481,13484,13486,13488,13490,13493,13495,13498],{"class":116,"line":1840},[114,13474,13475],{"class":148},"    spawn ",[114,13477,1699],{"class":767},[114,13479,13480],{"class":148}," Node(",[114,13482,13483],{"class":1790},"package",[114,13485,1699],{"class":767},[114,13487,13356],{"class":138},[114,13489,1778],{"class":148},[114,13491,13492],{"class":1790},"executable",[114,13494,1699],{"class":767},[114,13496,13497],{"class":138},"\"create\"",[114,13499,1862],{"class":148},[114,13501,13502,13505,13507],{"class":116,"line":1851},[114,13503,13504],{"class":1790},"                arguments",[114,13506,1699],{"class":767},[114,13508,2039],{"class":148},[114,13510,13511,13514,13516,13519],{"class":116,"line":1865},[114,13512,13513],{"class":138},"                \"-name\"",[114,13515,1778],{"class":148},[114,13517,13518],{"class":138},"\"mycar\"",[114,13520,1862],{"class":148},[114,13522,13523,13526,13528,13531],{"class":116,"line":1877},[114,13524,13525],{"class":138},"                \"-x\"",[114,13527,1778],{"class":148},[114,13529,13530],{"class":138},"\"0\"",[114,13532,1862],{"class":148},[114,13534,13535,13538,13540,13543,13545],{"class":116,"line":1904},[114,13536,13537],{"class":138},"                \"-z\"",[114,13539,1778],{"class":148},[114,13541,13542],{"class":138},"\"0.01\"",[114,13544,1778],{"class":148},[114,13546,13547],{"class":127},"#设置为0,可能会陷进地里\n",[114,13549,13550,13553,13555,13557],{"class":116,"line":1920},[114,13551,13552],{"class":138},"                \"-y\"",[114,13554,1778],{"class":148},[114,13556,13530],{"class":138},[114,13558,1862],{"class":148},[114,13560,13561,13564,13566,13569],{"class":116,"line":1925},[114,13562,13563],{"class":138},"                \"-topic\"",[114,13565,1778],{"class":148},[114,13567,13568],{"class":138},"\"\u002Frobot_description\"",[114,13570,13571],{"class":148},"],\n",[114,13573,13574,13577,13579,13582],{"class":116,"line":1930},[114,13575,13576],{"class":1790},"            output",[114,13578,1699],{"class":767},[114,13580,13581],{"class":138},"\"screen\"",[114,13583,1468],{"class":148},[114,13585,13586],{"class":116,"line":1936},[114,13587,121],{"emptyLinePlaceholder":120},[114,13589,13590,13592],{"class":116,"line":1946},[114,13591,2104],{"class":767},[114,13593,2107],{"class":148},[114,13595,13596],{"class":116,"line":1959},[114,13597,2113],{"class":148},[114,13599,13600],{"class":116,"line":1972},[114,13601,13602],{"class":148},"        spawn,\n",[114,13604,13605],{"class":116,"line":1987},[114,13606,13607],{"class":148},"        mycar_desc,\n",[114,13609,13610],{"class":116,"line":1995},[114,13611,2164],{"class":148},[17,13613,13614],{},[52,13615,2177],{},[17,13617,2180],{},[104,13619,13621],{"className":106,"code":13620,"language":108,"meta":109,"style":109},"colcon build --packages-select mycar_description demo_gazebo_sim\n",[111,13622,13623],{"__ignoreMap":109},[114,13624,13625,13627,13629,13632,13635],{"class":116,"line":117},[114,13626,2190],{"class":134},[114,13628,2193],{"class":138},[114,13630,13631],{"class":578}," --packages-select",[114,13633,13634],{"class":138}," mycar_description",[114,13636,1434],{"class":138},[17,13638,13639],{},[52,13640,2208],{},[17,13642,13643],{},"终端中进入当前工作空间，调用如下指令执行launch文件：（执行起来有问题的话，你只要学过urdf怎么跑，应该拥有自我寻找错误的能力了，自己找吧）",[104,13645,13647],{"className":106,"code":13646,"language":108,"meta":109,"style":109},". 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",[111,13648,13649,13655,13659,13664,13676],{"__ignoreMap":109},[114,13650,13651,13653],{"class":116,"line":117},[114,13652,2221],{"class":578},[114,13654,2224],{"class":138},[114,13656,13657],{"class":116,"line":124},[114,13658,121],{"emptyLinePlaceholder":120},[114,13660,13661],{"class":116,"line":131},[114,13662,13663],{"class":127},"# MYCAR_MODEL值可以设置为arduino、stm32_2w 或stm32_4w（这个是具体的urdf文件名，在mycar_description包下的）\n",[114,13665,13666,13668,13671,13673],{"class":116,"line":155},[114,13667,9408],{"class":767},[114,13669,13670],{"class":148}," MYCAR_MODEL",[114,13672,1699],{"class":767},[114,13674,13675],{"class":148},"stm32_4w\n",[114,13677,13678,13680,13682,13684],{"class":116,"line":160},[114,13679,265],{"class":134},[114,13681,268],{"class":138},[114,13683,2233],{"class":138},[114,13685,9341],{"class":138},[17,13687,9344],{},[17,13689,13690],{},[202,13691],{"alt":109,"src":13692},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1733.webp",[29,13694,13696,13697],{"id":13695},"igng运动控制器实质上就是标签","   IgnG运动控制器(实质上就是",[13698,13699,13700],"gazebo",{},"标签)",[17,13702,13703],{},"本节将介绍如何让你的机器人动起来。",[17,13705,13706,13707],{},"原理就是给urdf或xacro等添加",[13698,13708,13709],{},"标签：",[17,13711,13712],{},[57,13713,13714],{"href":13714,"rel":13715},"http:\u002F\u002Fsdformat.org\u002Ftutorials?tut=sdformat_urdf_extensions&cat=specification&",[61],[17,13717,13718],{},[202,13719],{"alt":109,"src":13720},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1734.webp",[17,13722,13723],{},[57,13724,13725],{"href":13725,"rel":13726},"https:\u002F\u002Fgazebosim.org\u002Fapi\u002Fplugin\u002F2\u002Findex.html",[61],[17,13728,13729],{},"安装库：",[17,13731,13732],{},[57,13733,13734],{"href":13734,"rel":13735},"https:\u002F\u002Fgazebosim.org\u002Fapi\u002Fplugin\u002F2\u002Finstallation.html",[61],[104,13737,13739],{"className":106,"code":13738,"language":108,"meta":109,"style":109},"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",[111,13740,13741,13751,13762,13775,13804,13812],{"__ignoreMap":109},[114,13742,13743,13745,13748],{"class":116,"line":117},[114,13744,135],{"class":134},[114,13746,13747],{"class":138}," apt-get",[114,13749,13750],{"class":138}," update\n",[114,13752,13753,13755,13757,13759],{"class":116,"line":124},[114,13754,135],{"class":134},[114,13756,13747],{"class":138},[114,13758,142],{"class":138},[114,13760,13761],{"class":138}," lsb-release\n",[114,13763,13764,13766,13769,13772],{"class":116,"line":131},[114,13765,135],{"class":134},[114,13767,13768],{"class":138}," sh",[114,13770,13771],{"class":578}," -c",[114,13773,13774],{"class":138}," 'echo \"deb http:\u002F\u002Fpackages.osrfoundation.org\u002Fgazebo\u002Fubuntu-stable `lsb_release -cs` main\" > \u002Fetc\u002Fapt\u002Fsources.list.d\u002Fgazebo-stable.list'\n",[114,13776,13777,13780,13783,13786,13789,13792,13795,13798,13801],{"class":116,"line":155},[114,13778,13779],{"class":134},"wget",[114,13781,13782],{"class":138}," http:\u002F\u002Fpackages.osrfoundation.org\u002Fgazebo.key",[114,13784,13785],{"class":578}," -O",[114,13787,13788],{"class":138}," -",[114,13790,13791],{"class":767}," |",[114,13793,13794],{"class":134}," sudo",[114,13796,13797],{"class":138}," apt-key",[114,13799,13800],{"class":138}," add",[114,13802,13803],{"class":138}," -\n",[114,13805,13806,13808,13810],{"class":116,"line":160},[114,13807,135],{"class":134},[114,13809,13747],{"class":138},[114,13811,13750],{"class":138},[114,13813,13814,13816,13818,13820],{"class":116,"line":166},[114,13815,135],{"class":134},[114,13817,139],{"class":138},[114,13819,142],{"class":138},[114,13821,13822],{"class":138}," libgz-plugin2-dev\n",[17,13824,13825],{},"利用插件去让小车动，比如有两轮差速插件，四轮麦轮插件等等",[17,13827,13828],{},"同时该插件还提供了一些可以控制输出的选项，因为是仿真，所以还要告诉插件轮子对应的joint名称等信息，这样就有了下面这个参数表格：",[920,13830,13831,13841],{},[923,13832,13833],{},[926,13834,13835,13838],{},[929,13836,13837],{"align":931},"配置项",[929,13839,13840],{"align":931},"含义",[937,13842,13843,13851,13859,13867,13875,13883,13891,13899,13907,13915,13923,13931,13939],{},[926,13844,13845,13848],{},[942,13846,13847],{"align":931},"ros",[942,13849,13850],{"align":931},"ros相关配置，包含命名空间和话题重映射等",[926,13852,13853,13856],{},[942,13854,13855],{"align":931},"update_rate",[942,13857,13858],{"align":931},"数据更新速率",[926,13860,13861,13864],{},[942,13862,13863],{"align":931},"left_joint",[942,13865,13866],{"align":931},"左轮关节名称",[926,13868,13869,13872],{},[942,13870,13871],{"align":931},"right_joint",[942,13873,13874],{"align":931},"右轮关节名称",[926,13876,13877,13880],{},[942,13878,13879],{"align":931},"wheel_separation",[942,13881,13882],{"align":931},"左右轮子的间距",[926,13884,13885,13888],{},[942,13886,13887],{"align":931},"wheel_diameter",[942,13889,13890],{"align":931},"轮子的直径",[926,13892,13893,13896],{},[942,13894,13895],{"align":931},"max_wheel_torque",[942,13897,13898],{"align":931},"轮子最大的力矩",[926,13900,13901,13904],{},[942,13902,13903],{"align":931},"max_wheel_acceleration",[942,13905,13906],{"align":931},"轮子最大的加速度",[926,13908,13909,13912],{},[942,13910,13911],{"align":931},"publish_odom",[942,13913,13914],{"align":931},"是否发布里程计",[926,13916,13917,13920],{},[942,13918,13919],{"align":931},"publish_odom_tf",[942,13921,13922],{"align":931},"是否发布里程计的tf开关",[926,13924,13925,13928],{},[942,13926,13927],{"align":931},"publish_wheel_tf",[942,13929,13930],{"align":931},"是否发布轮子的tf数据开关",[926,13932,13933,13936],{},[942,13934,13935],{"align":931},"odometry_frame",[942,13937,13938],{"align":931},"里程计的framed ID，最终体现在话题和TF上",[926,13940,13941,13944],{},[942,13942,13943],{"align":931},"robot_base_frame",[942,13945,13946],{"align":931},"机器人的基础frame的ID",[17,13948,13949],{},[52,13950,13951],{},"修改URDF文件",[17,13953,13954,13955,13958],{},"arduino.urdf 和 stm32_2w.urdf 文件中，在",[111,13956,13957],{},"\u003Crobot>","根标签下添加如下代码：",[104,13960,13962],{"className":2376,"code":13961,"language":2378,"meta":109,"style":109},"\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",[111,13963,13964,13968,13976,13989,14001,14014,14027,14040,14054,14068,14082,14096,14110,14123,14137,14150,14163,14177,14191,14204,14218,14226,14230,14238,14242,14250,14263,14275,14283],{"__ignoreMap":109},[114,13965,13966],{"class":116,"line":117},[114,13967,121],{"emptyLinePlaceholder":120},[114,13969,13970,13972,13974],{"class":116,"line":124},[114,13971,2405],{"class":148},[114,13973,13698],{"class":2388},[114,13975,2400],{"class":148},[114,13977,13978,13980,13982,13984,13986],{"class":116,"line":131},[114,13979,2432],{"class":148},[114,13981,3026],{"class":2388},[114,13983,3036],{"class":134},[114,13985,1699],{"class":148},[114,13987,13988],{"class":138},"\"libignition-gazebo-diff-drive-system.so\"\n",[114,13990,13991,13994,13996,13999],{"class":116,"line":155},[114,13992,13993],{"class":134},"        name",[114,13995,1699],{"class":148},[114,13997,13998],{"class":138},"\"ignition::gazebo::systems::DiffDrive\"",[114,14000,2400],{"class":148},[114,14002,14003,14005,14007,14010,14012],{"class":116,"line":160},[114,14004,2606],{"class":148},[114,14006,13863],{"class":2388},[114,14008,14009],{"class":148},">left_joint\u003C\u002F",[114,14011,13863],{"class":2388},[114,14013,2400],{"class":148},[114,14015,14016,14018,14020,14023,14025],{"class":116,"line":166},[114,14017,2606],{"class":148},[114,14019,13871],{"class":2388},[114,14021,14022],{"class":148},">right_joint\u003C\u002F",[114,14024,13871],{"class":2388},[114,14026,2400],{"class":148},[114,14028,14029,14031,14033,14036,14038],{"class":116,"line":178},[114,14030,2606],{"class":148},[114,14032,13879],{"class":2388},[114,14034,14035],{"class":148},">0.2097\u003C\u002F",[114,14037,13879],{"class":2388},[114,14039,2400],{"class":148},[114,14041,14042,14044,14047,14050,14052],{"class":116,"line":183},[114,14043,2606],{"class":148},[114,14045,14046],{"class":2388},"wheel_radius",[114,14048,14049],{"class":148},">0.03415\u003C\u002F",[114,14051,14046],{"class":2388},[114,14053,2400],{"class":148},[114,14055,14056,14058,14061,14064,14066],{"class":116,"line":189},[114,14057,2606],{"class":148},[114,14059,14060],{"class":2388},"odom_publish_frequency",[114,14062,14063],{"class":148},">10\u003C\u002F",[114,14065,14060],{"class":2388},[114,14067,2400],{"class":148},[114,14069,14070,14072,14075,14078,14080],{"class":116,"line":436},[114,14071,2606],{"class":148},[114,14073,14074],{"class":2388},"frame_id",[114,14076,14077],{"class":148},">odom\u003C\u002F",[114,14079,14074],{"class":2388},[114,14081,2400],{"class":148},[114,14083,14084,14086,14089,14092,14094],{"class":116,"line":442},[114,14085,2606],{"class":148},[114,14087,14088],{"class":2388},"child_frame_id",[114,14090,14091],{"class":148},">base_footprint\u003C\u002F",[114,14093,14088],{"class":2388},[114,14095,2400],{"class":148},[114,14097,14098,14100,14103,14106,14108],{"class":116,"line":448},[114,14099,2606],{"class":148},[114,14101,14102],{"class":2388},"topic",[114,14104,14105],{"class":148},">\u002Fcmd_vel\u003C\u002F",[114,14107,14102],{"class":2388},[114,14109,2400],{"class":148},[114,14111,14112,14114,14117,14119,14121],{"class":116,"line":454},[114,14113,2606],{"class":148},[114,14115,14116],{"class":2388},"max_linear_acceleration",[114,14118,14063],{"class":148},[114,14120,14116],{"class":2388},[114,14122,2400],{"class":148},[114,14124,14125,14127,14130,14133,14135],{"class":116,"line":1676},[114,14126,2606],{"class":148},[114,14128,14129],{"class":2388},"min_linear_acceleration",[114,14131,14132],{"class":148},">-10\u003C\u002F",[114,14134,14129],{"class":2388},[114,14136,2400],{"class":148},[114,14138,14139,14141,14144,14146,14148],{"class":116,"line":1688},[114,14140,2606],{"class":148},[114,14142,14143],{"class":2388},"max_angular_acceleration",[114,14145,14063],{"class":148},[114,14147,14143],{"class":2388},[114,14149,2400],{"class":148},[114,14151,14152,14154,14157,14159,14161],{"class":116,"line":1693},[114,14153,2606],{"class":148},[114,14155,14156],{"class":2388},"min_angular_acceleration",[114,14158,14132],{"class":148},[114,14160,14156],{"class":2388},[114,14162,2400],{"class":148},[114,14164,14165,14167,14170,14173,14175],{"class":116,"line":1710},[114,14166,2606],{"class":148},[114,14168,14169],{"class":2388},"max_linear_velocity",[114,14171,14172],{"class":148},">0.5\u003C\u002F",[114,14174,14169],{"class":2388},[114,14176,2400],{"class":148},[114,14178,14179,14181,14184,14187,14189],{"class":116,"line":1725},[114,14180,2606],{"class":148},[114,14182,14183],{"class":2388},"min_linear_velocity",[114,14185,14186],{"class":148},">-0.5\u003C\u002F",[114,14188,14183],{"class":2388},[114,14190,2400],{"class":148},[114,14192,14193,14195,14198,14200,14202],{"class":116,"line":1747},[114,14194,2606],{"class":148},[114,14196,14197],{"class":2388},"max_angular_velocity",[114,14199,2993],{"class":148},[114,14201,14197],{"class":2388},[114,14203,2400],{"class":148},[114,14205,14206,14208,14211,14214,14216],{"class":116,"line":1752},[114,14207,2606],{"class":148},[114,14209,14210],{"class":2388},"min_angular_velocity",[114,14212,14213],{"class":148},">-1\u003C\u002F",[114,14215,14210],{"class":2388},[114,14217,2400],{"class":148},[114,14219,14220,14222,14224],{"class":116,"line":1763},[114,14221,2666],{"class":148},[114,14223,3026],{"class":2388},[114,14225,2400],{"class":148},[114,14227,14228],{"class":116,"line":1769},[114,14229,121],{"emptyLinePlaceholder":120},[114,14231,14232,14234,14236],{"class":116,"line":1787},[114,14233,2512],{"class":148},[114,14235,13698],{"class":2388},[114,14237,2400],{"class":148},[114,14239,14240],{"class":116,"line":1799},[114,14241,121],{"emptyLinePlaceholder":120},[114,14243,14244,14246,14248],{"class":116,"line":1817},[114,14245,2405],{"class":148},[114,14247,13698],{"class":2388},[114,14249,2400],{"class":148},[114,14251,14252,14254,14256,14258,14260],{"class":116,"line":1823},[114,14253,2422],{"class":148},[114,14255,3026],{"class":2388},[114,14257,3036],{"class":134},[114,14259,1699],{"class":148},[114,14261,14262],{"class":138},"\"ignition-gazebo-joint-state-publisher-system\"\n",[114,14264,14265,14268,14270,14273],{"class":116,"line":1829},[114,14266,14267],{"class":134},"      name",[114,14269,1699],{"class":148},[114,14271,14272],{"class":138},"\"ignition::gazebo::systems::JointStatePublisher\"",[114,14274,2400],{"class":148},[114,14276,14277,14279,14281],{"class":116,"line":1834},[114,14278,2503],{"class":148},[114,14280,3026],{"class":2388},[114,14282,2400],{"class":148},[114,14284,14285,14287,14289],{"class":116,"line":1840},[114,14286,2512],{"class":148},[114,14288,13698],{"class":2388},[114,14290,2400],{"class":148},[17,14292,14293,14294,13958],{},"stm32_4w.urdf 文件中，在",[111,14295,13957],{},[104,14297,14299],{"className":2376,"code":14298,"language":2378,"meta":109,"style":109},"\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",[111,14300,14301,14305,14313,14320,14330,14340,14353,14366,14379,14392,14405,14418,14431,14443,14455,14467,14479,14491,14503,14515,14527,14539,14551,14563,14571,14579,14583,14591,14603,14613,14621],{"__ignoreMap":109},[114,14302,14303],{"class":116,"line":117},[114,14304,121],{"emptyLinePlaceholder":120},[114,14306,14307,14309,14311],{"class":116,"line":124},[114,14308,2385],{"class":148},[114,14310,13698],{"class":2388},[114,14312,2400],{"class":148},[114,14314,14315,14317],{"class":116,"line":131},[114,14316,2422],{"class":148},[114,14318,14319],{"class":2388},"plugin\n",[114,14321,14322,14325,14327],{"class":116,"line":155},[114,14323,14324],{"class":134},"        filename",[114,14326,1699],{"class":148},[114,14328,14329],{"class":138},"\"ignition-gazebo-diff-drive-system\"\n",[114,14331,14332,14334,14336,14338],{"class":116,"line":160},[114,14333,13993],{"class":134},[114,14335,1699],{"class":148},[114,14337,13998],{"class":138},[114,14339,2400],{"class":148},[114,14341,14342,14344,14346,14349,14351],{"class":116,"line":166},[114,14343,2606],{"class":148},[114,14345,13863],{"class":2388},[114,14347,14348],{"class":148},">left_former_joint\u003C\u002F",[114,14350,13863],{"class":2388},[114,14352,2400],{"class":148},[114,14354,14355,14357,14359,14362,14364],{"class":116,"line":178},[114,14356,2606],{"class":148},[114,14358,13863],{"class":2388},[114,14360,14361],{"class":148},">left_rear_joint\u003C\u002F",[114,14363,13863],{"class":2388},[114,14365,2400],{"class":148},[114,14367,14368,14370,14372,14375,14377],{"class":116,"line":183},[114,14369,2606],{"class":148},[114,14371,13871],{"class":2388},[114,14373,14374],{"class":148},">right_former_joint\u003C\u002F",[114,14376,13871],{"class":2388},[114,14378,2400],{"class":148},[114,14380,14381,14383,14385,14388,14390],{"class":116,"line":189},[114,14382,2606],{"class":148},[114,14384,13871],{"class":2388},[114,14386,14387],{"class":148},">right_rear_joint\u003C\u002F",[114,14389,13871],{"class":2388},[114,14391,2400],{"class":148},[114,14393,14394,14396,14398,14401,14403],{"class":116,"line":436},[114,14395,2606],{"class":148},[114,14397,13879],{"class":2388},[114,14399,14400],{"class":148},">0.4\u003C\u002F",[114,14402,13879],{"class":2388},[114,14404,2400],{"class":148},[114,14406,14407,14409,14411,14414,14416],{"class":116,"line":442},[114,14408,2606],{"class":148},[114,14410,14046],{"class":2388},[114,14412,14413],{"class":148},">0.0415\u003C\u002F",[114,14415,14046],{"class":2388},[114,14417,2400],{"class":148},[114,14419,14420,14422,14424,14427,14429],{"class":116,"line":448},[114,14421,2606],{"class":148},[114,14423,14060],{"class":2388},[114,14425,14426],{"class":148},">50\u003C\u002F",[114,14428,14060],{"class":2388},[114,14430,2400],{"class":148},[114,14432,14433,14435,14437,14439,14441],{"class":116,"line":454},[114,14434,2606],{"class":148},[114,14436,14074],{"class":2388},[114,14438,14077],{"class":148},[114,14440,14074],{"class":2388},[114,14442,2400],{"class":148},[114,14444,14445,14447,14449,14451,14453],{"class":116,"line":1676},[114,14446,2606],{"class":148},[114,14448,14088],{"class":2388},[114,14450,14091],{"class":148},[114,14452,14088],{"class":2388},[114,14454,2400],{"class":148},[114,14456,14457,14459,14461,14463,14465],{"class":116,"line":1688},[114,14458,2606],{"class":148},[114,14460,14102],{"class":2388},[114,14462,14105],{"class":148},[114,14464,14102],{"class":2388},[114,14466,2400],{"class":148},[114,14468,14469,14471,14473,14475,14477],{"class":116,"line":1693},[114,14470,2606],{"class":148},[114,14472,14116],{"class":2388},[114,14474,14063],{"class":148},[114,14476,14116],{"class":2388},[114,14478,2400],{"class":148},[114,14480,14481,14483,14485,14487,14489],{"class":116,"line":1710},[114,14482,2606],{"class":148},[114,14484,14129],{"class":2388},[114,14486,14132],{"class":148},[114,14488,14129],{"class":2388},[114,14490,2400],{"class":148},[114,14492,14493,14495,14497,14499,14501],{"class":116,"line":1725},[114,14494,2606],{"class":148},[114,14496,14143],{"class":2388},[114,14498,14063],{"class":148},[114,14500,14143],{"class":2388},[114,14502,2400],{"class":148},[114,14504,14505,14507,14509,14511,14513],{"class":116,"line":1747},[114,14506,2606],{"class":148},[114,14508,14156],{"class":2388},[114,14510,14132],{"class":148},[114,14512,14156],{"class":2388},[114,14514,2400],{"class":148},[114,14516,14517,14519,14521,14523,14525],{"class":116,"line":1752},[114,14518,2606],{"class":148},[114,14520,14169],{"class":2388},[114,14522,14172],{"class":148},[114,14524,14169],{"class":2388},[114,14526,2400],{"class":148},[114,14528,14529,14531,14533,14535,14537],{"class":116,"line":1763},[114,14530,2606],{"class":148},[114,14532,14183],{"class":2388},[114,14534,14186],{"class":148},[114,14536,14183],{"class":2388},[114,14538,2400],{"class":148},[114,14540,14541,14543,14545,14547,14549],{"class":116,"line":1769},[114,14542,2606],{"class":148},[114,14544,14197],{"class":2388},[114,14546,2993],{"class":148},[114,14548,14197],{"class":2388},[114,14550,2400],{"class":148},[114,14552,14553,14555,14557,14559,14561],{"class":116,"line":1787},[114,14554,2606],{"class":148},[114,14556,14210],{"class":2388},[114,14558,14213],{"class":148},[114,14560,14210],{"class":2388},[114,14562,2400],{"class":148},[114,14564,14565,14567,14569],{"class":116,"line":1799},[114,14566,2666],{"class":148},[114,14568,3026],{"class":2388},[114,14570,2400],{"class":148},[114,14572,14573,14575,14577],{"class":116,"line":1817},[114,14574,2512],{"class":148},[114,14576,13698],{"class":2388},[114,14578,2400],{"class":148},[114,14580,14581],{"class":116,"line":1823},[114,14582,121],{"emptyLinePlaceholder":120},[114,14584,14585,14587,14589],{"class":116,"line":1829},[114,14586,2405],{"class":148},[114,14588,13698],{"class":2388},[114,14590,2400],{"class":148},[114,14592,14593,14595,14597,14599,14601],{"class":116,"line":1834},[114,14594,2422],{"class":148},[114,14596,3026],{"class":2388},[114,14598,3036],{"class":134},[114,14600,1699],{"class":148},[114,14602,14262],{"class":138},[114,14604,14605,14607,14609,14611],{"class":116,"line":1840},[114,14606,14267],{"class":134},[114,14608,1699],{"class":148},[114,14610,14272],{"class":138},[114,14612,2400],{"class":148},[114,14614,14615,14617,14619],{"class":116,"line":1851},[114,14616,2503],{"class":148},[114,14618,3026],{"class":2388},[114,14620,2400],{"class":148},[114,14622,14623,14625,14627],{"class":116,"line":1865},[114,14624,2512],{"class":148},[114,14626,13698],{"class":2388},[114,14628,2400],{"class":148},[17,14630,14631],{},"如果是麦轮（ROS1的，ROS2的待更新）（把轮子关节设置为自己轮子关节名即可）：",[104,14633,14635],{"className":2376,"code":14634,"language":2378,"meta":109,"style":109},"\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",[111,14636,14637,14658,14662,14684,14688,14704,14718,14734,14749,14757,14773,14785,14798,14806,14814,14822,14826,14843,14858,14873,14888,14892,14900,14922,14936,14949,14962,14976,14990,15004,15018,15031,15044,15057,15065,15073,15077],{"__ignoreMap":109},[114,14638,14639,14641,14643,14645,14647,14649,14651,14653,14656],{"class":116,"line":117},[114,14640,2385],{"class":148},[114,14642,2389],{"class":2388},[114,14644,2392],{"class":134},[114,14646,1699],{"class":148},[114,14648,13518],{"class":138},[114,14650,2543],{"class":134},[114,14652,1699],{"class":148},[114,14654,14655],{"class":138},"\"http:\u002F\u002Fwiki.ros.org\u002Fxacro\"",[114,14657,2400],{"class":148},[114,14659,14660],{"class":116,"line":124},[114,14661,121],{"emptyLinePlaceholder":120},[114,14663,14664,14666,14668,14670,14672,14675,14677,14679,14682],{"class":116,"line":131},[114,14665,2422],{"class":148},[114,14667,2563],{"class":2388},[114,14669,2392],{"class":134},[114,14671,1699],{"class":148},[114,14673,14674],{"class":138},"\"joint_trans\"",[114,14676,2572],{"class":134},[114,14678,1699],{"class":148},[114,14680,14681],{"class":138},"\"joint_name\"",[114,14683,2400],{"class":148},[114,14685,14686],{"class":116,"line":155},[114,14687,121],{"emptyLinePlaceholder":120},[114,14689,14690,14692,14695,14697,14699,14702],{"class":116,"line":160},[114,14691,2606],{"class":148},[114,14693,14694],{"class":2388},"transmission",[114,14696,2392],{"class":134},[114,14698,1699],{"class":148},[114,14700,14701],{"class":138},"\"${joint_name}_trans\"",[114,14703,2400],{"class":148},[114,14705,14706,14708,14711,14714,14716],{"class":116,"line":166},[114,14707,3286],{"class":148},[114,14709,14710],{"class":2388},"type",[114,14712,14713],{"class":148},">transmission_interface\u002FSimpleTransmission\u003C\u002F",[114,14715,14710],{"class":2388},[114,14717,2400],{"class":148},[114,14719,14720,14722,14725,14727,14729,14732],{"class":116,"line":178},[114,14721,3286],{"class":148},[114,14723,14724],{"class":2388},"joint",[114,14726,2392],{"class":134},[114,14728,1699],{"class":148},[114,14730,14731],{"class":138},"\"${joint_name}\"",[114,14733,2400],{"class":148},[114,14735,14736,14739,14742,14745,14747],{"class":116,"line":183},[114,14737,14738],{"class":148},"                \u003C",[114,14740,14741],{"class":2388},"hardwareInterface",[114,14743,14744],{"class":148},">hardware_interface\u002FVelocityJointInterface\u003C\u002F",[114,14746,14741],{"class":2388},[114,14748,2400],{"class":148},[114,14750,14751,14753,14755],{"class":116,"line":189},[114,14752,3325],{"class":148},[114,14754,14724],{"class":2388},[114,14756,2400],{"class":148},[114,14758,14759,14761,14764,14766,14768,14771],{"class":116,"line":436},[114,14760,3286],{"class":148},[114,14762,14763],{"class":2388},"actuator",[114,14765,2392],{"class":134},[114,14767,1699],{"class":148},[114,14769,14770],{"class":138},"\"${joint_name}_motor\"",[114,14772,2400],{"class":148},[114,14774,14775,14777,14779,14781,14783],{"class":116,"line":442},[114,14776,14738],{"class":148},[114,14778,14741],{"class":2388},[114,14780,14744],{"class":148},[114,14782,14741],{"class":2388},[114,14784,2400],{"class":148},[114,14786,14787,14789,14792,14794,14796],{"class":116,"line":448},[114,14788,14738],{"class":148},[114,14790,14791],{"class":2388},"mechanicalReduction",[114,14793,2993],{"class":148},[114,14795,14791],{"class":2388},[114,14797,2400],{"class":148},[114,14799,14800,14802,14804],{"class":116,"line":454},[114,14801,3325],{"class":148},[114,14803,14763],{"class":2388},[114,14805,2400],{"class":148},[114,14807,14808,14810,14812],{"class":116,"line":1676},[114,14809,2842],{"class":148},[114,14811,14694],{"class":2388},[114,14813,2400],{"class":148},[114,14815,14816,14818,14820],{"class":116,"line":1688},[114,14817,2503],{"class":148},[114,14819,2563],{"class":2388},[114,14821,2400],{"class":148},[114,14823,14824],{"class":116,"line":1693},[114,14825,121],{"emptyLinePlaceholder":120},[114,14827,14828,14830,14833,14836,14838,14841],{"class":116,"line":1710},[114,14829,2422],{"class":148},[114,14831,14832],{"class":2388},"xacro:joint_trans",[114,14834,14835],{"class":134}," joint_name",[114,14837,1699],{"class":148},[114,14839,14840],{"class":138},"\"LeftFrontwheelToBase\"",[114,14842,2446],{"class":148},[114,14844,14845,14847,14849,14851,14853,14856],{"class":116,"line":1725},[114,14846,2422],{"class":148},[114,14848,14832],{"class":2388},[114,14850,14835],{"class":134},[114,14852,1699],{"class":148},[114,14854,14855],{"class":138},"\"LeftBackwheelToBase\"",[114,14857,2446],{"class":148},[114,14859,14860,14862,14864,14866,14868,14871],{"class":116,"line":1747},[114,14861,2422],{"class":148},[114,14863,14832],{"class":2388},[114,14865,14835],{"class":134},[114,14867,1699],{"class":148},[114,14869,14870],{"class":138},"\"RightFrontwheelToBase\"",[114,14872,2446],{"class":148},[114,14874,14875,14877,14879,14881,14883,14886],{"class":116,"line":1752},[114,14876,2422],{"class":148},[114,14878,14832],{"class":2388},[114,14880,14835],{"class":134},[114,14882,1699],{"class":148},[114,14884,14885],{"class":138},"\"RightBackwheelToBase\"",[114,14887,2446],{"class":148},[114,14889,14890],{"class":116,"line":1763},[114,14891,121],{"emptyLinePlaceholder":120},[114,14893,14894,14896,14898],{"class":116,"line":1769},[114,14895,2422],{"class":148},[114,14897,13698],{"class":2388},[114,14899,2400],{"class":148},[114,14901,14902,14904,14906,14908,14910,14913,14915,14917,14920],{"class":116,"line":1787},[114,14903,2606],{"class":148},[114,14905,3026],{"class":2388},[114,14907,2392],{"class":134},[114,14909,1699],{"class":148},[114,14911,14912],{"class":138},"\"mecanum_controller\"",[114,14914,3036],{"class":134},[114,14916,1699],{"class":148},[114,14918,14919],{"class":138},"\"libgazebo_ros_planar_move.so\"",[114,14921,2400],{"class":148},[114,14923,14924,14926,14929,14932,14934],{"class":116,"line":1799},[114,14925,3286],{"class":148},[114,14927,14928],{"class":2388},"commandTopic",[114,14930,14931],{"class":148},">cmd_vel\u003C\u002F",[114,14933,14928],{"class":2388},[114,14935,2400],{"class":148},[114,14937,14938,14940,14943,14945,14947],{"class":116,"line":1817},[114,14939,3286],{"class":148},[114,14941,14942],{"class":2388},"odometryTopic",[114,14944,14077],{"class":148},[114,14946,14942],{"class":2388},[114,14948,2400],{"class":148},[114,14950,14951,14953,14956,14958,14960],{"class":116,"line":1823},[114,14952,3286],{"class":148},[114,14954,14955],{"class":2388},"odometryFrame",[114,14957,14077],{"class":148},[114,14959,14955],{"class":2388},[114,14961,2400],{"class":148},[114,14963,14964,14966,14969,14972,14974],{"class":116,"line":1829},[114,14965,3286],{"class":148},[114,14967,14968],{"class":2388},"leftFrontJoint",[114,14970,14971],{"class":148},">LeftFrontwheelToBase\u003C\u002F",[114,14973,14968],{"class":2388},[114,14975,2400],{"class":148},[114,14977,14978,14980,14983,14986,14988],{"class":116,"line":1834},[114,14979,3286],{"class":148},[114,14981,14982],{"class":2388},"rightFrontJoint",[114,14984,14985],{"class":148},">RightFrontwheelToBase\u003C\u002F",[114,14987,14982],{"class":2388},[114,14989,2400],{"class":148},[114,14991,14992,14994,14997,15000,15002],{"class":116,"line":1840},[114,14993,3286],{"class":148},[114,14995,14996],{"class":2388},"leftRearJoint",[114,14998,14999],{"class":148},">LeftBackwheelToBase\u003C\u002F",[114,15001,14996],{"class":2388},[114,15003,2400],{"class":148},[114,15005,15006,15008,15011,15014,15016],{"class":116,"line":1851},[114,15007,3286],{"class":148},[114,15009,15010],{"class":2388},"rightRearJoint",[114,15012,15013],{"class":148},">RightBackwheelToBase\u003C\u002F",[114,15015,15010],{"class":2388},[114,15017,2400],{"class":148},[114,15019,15020,15022,15025,15027,15029],{"class":116,"line":1865},[114,15021,3286],{"class":148},[114,15023,15024],{"class":2388},"odometryRate",[114,15026,3586],{"class":148},[114,15028,15024],{"class":2388},[114,15030,2400],{"class":148},[114,15032,15033,15035,15038,15040,15042],{"class":116,"line":1877},[114,15034,3286],{"class":148},[114,15036,15037],{"class":2388},"robotBaseFrame",[114,15039,14091],{"class":148},[114,15041,15037],{"class":2388},[114,15043,2400],{"class":148},[114,15045,15046,15048,15051,15053,15055],{"class":116,"line":1904},[114,15047,3286],{"class":148},[114,15049,15050],{"class":2388},"broadcastTF",[114,15052,2993],{"class":148},[114,15054,15050],{"class":2388},[114,15056,2400],{"class":148},[114,15058,15059,15061,15063],{"class":116,"line":1920},[114,15060,2842],{"class":148},[114,15062,3026],{"class":2388},[114,15064,2400],{"class":148},[114,15066,15067,15069,15071],{"class":116,"line":1925},[114,15068,2503],{"class":148},[114,15070,13698],{"class":2388},[114,15072,2400],{"class":148},[114,15074,15075],{"class":116,"line":1930},[114,15076,121],{"emptyLinePlaceholder":120},[114,15078,15079,15081,15083],{"class":116,"line":1936},[114,15080,2521],{"class":148},[114,15082,2389],{"class":2388},[114,15084,2400],{"class":148},[17,15086,15087],{},[52,15088,15089],{},"修改launch文件",[17,15091,15092],{},"修改gazebo_sim_world.launch.py文件，修改后的代码如下：",[104,15094,15096],{"className":1549,"code":15095,"language":1551,"meta":109,"style":109},"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",[111,15097,15098,15104,15108,15118,15122,15132,15142,15152,15162,15166,15174,15178,15190,15202,15214,15231,15235,15243,15247,15259,15267,15279,15283,15287,15295,15299,15311,15315,15319,15343,15351,15361,15372,15384,15394,15404,15414,15418,15422,15430,15441,15452,15465,15472,15479,15486,15493,15497,15515,15523,15537,15551,15565,15569,15578,15582,15586,15592,15596,15600,15604,15609],{"__ignoreMap":109},[114,15099,15100,15102],{"class":116,"line":117},[114,15101,1558],{"class":767},[114,15103,1561],{"class":148},[114,15105,15106],{"class":116,"line":124},[114,15107,121],{"emptyLinePlaceholder":120},[114,15109,15110,15112,15114,15116],{"class":116,"line":131},[114,15111,1570],{"class":767},[114,15113,1573],{"class":148},[114,15115,1558],{"class":767},[114,15117,1578],{"class":148},[114,15119,15120],{"class":116,"line":155},[114,15121,121],{"emptyLinePlaceholder":120},[114,15123,15124,15126,15128,15130],{"class":116,"line":160},[114,15125,1570],{"class":767},[114,15127,1589],{"class":148},[114,15129,1558],{"class":767},[114,15131,1594],{"class":148},[114,15133,15134,15136,15138,15140],{"class":116,"line":166},[114,15135,1570],{"class":767},[114,15137,1601],{"class":148},[114,15139,1558],{"class":767},[114,15141,1617],{"class":148},[114,15143,15144,15146,15148,15150],{"class":116,"line":178},[114,15145,1570],{"class":767},[114,15147,1636],{"class":148},[114,15149,1558],{"class":767},[114,15151,1641],{"class":148},[114,15153,15154,15156,15158,15160],{"class":116,"line":183},[114,15155,1570],{"class":767},[114,15157,1664],{"class":148},[114,15159,1558],{"class":767},[114,15161,1669],{"class":148},[114,15163,15164],{"class":116,"line":189},[114,15165,121],{"emptyLinePlaceholder":120},[114,15167,15168,15170,15172],{"class":116,"line":436},[114,15169,1679],{"class":767},[114,15171,1682],{"class":134},[114,15173,1685],{"class":148},[114,15175,15176],{"class":116,"line":442},[114,15177,121],{"emptyLinePlaceholder":120},[114,15179,15180,15182,15184,15186,15188],{"class":116,"line":448},[114,15181,1696],{"class":148},[114,15183,1699],{"class":767},[114,15185,1702],{"class":148},[114,15187,13330],{"class":138},[114,15189,1468],{"class":148},[114,15191,15192,15194,15196,15198,15200],{"class":116,"line":454},[114,15193,13337],{"class":148},[114,15195,1699],{"class":767},[114,15197,1702],{"class":148},[114,15199,13059],{"class":138},[114,15201,1468],{"class":148},[114,15203,15204,15206,15208,15210,15212],{"class":116,"line":1676},[114,15205,1713],{"class":148},[114,15207,1699],{"class":767},[114,15209,1702],{"class":148},[114,15211,13356],{"class":138},[114,15213,1468],{"class":148},[114,15215,15216,15218,15220,15222,15224,15226,15229],{"class":116,"line":1688},[114,15217,1728],{"class":148},[114,15219,1699],{"class":767},[114,15221,1733],{"class":148},[114,15223,9213],{"class":138},[114,15225,1739],{"class":148},[114,15227,15228],{"class":138},"\"base.sdf\"",[114,15230,1468],{"class":148},[114,15232,15233],{"class":116,"line":1693},[114,15234,121],{"emptyLinePlaceholder":120},[114,15236,15237,15239,15241],{"class":116,"line":1710},[114,15238,1755],{"class":148},[114,15240,1699],{"class":767},[114,15242,1760],{"class":148},[114,15244,15245],{"class":116,"line":1725},[114,15246,1766],{"class":148},[114,15248,15249,15251,15253,15255,15257],{"class":116,"line":1747},[114,15250,1772],{"class":148},[114,15252,13397],{"class":138},[114,15254,1778],{"class":148},[114,15256,13402],{"class":138},[114,15258,1784],{"class":148},[114,15260,15261,15263,15265],{"class":116,"line":1752},[114,15262,1791],{"class":1790},[114,15264,1699],{"class":767},[114,15266,1796],{"class":148},[114,15268,15269,15271,15273,15275,15277],{"class":116,"line":1763},[114,15270,13417],{"class":138},[114,15272,1805],{"class":148},[114,15274,13422],{"class":138},[114,15276,1811],{"class":767},[114,15278,1814],{"class":148},[114,15280,15281],{"class":116,"line":1769},[114,15282,1820],{"class":148},[114,15284,15285],{"class":116,"line":1787},[114,15286,1826],{"class":148},[114,15288,15289,15291,15293],{"class":116,"line":1799},[114,15290,13439],{"class":148},[114,15292,1699],{"class":767},[114,15294,1760],{"class":148},[114,15296,15297],{"class":116,"line":1817},[114,15298,1766],{"class":148},[114,15300,15301,15303,15305,15307,15309],{"class":116,"line":1823},[114,15302,13452],{"class":148},[114,15304,13397],{"class":138},[114,15306,1739],{"class":148},[114,15308,13459],{"class":138},[114,15310,1468],{"class":148},[114,15312,15313],{"class":116,"line":1829},[114,15314,13466],{"class":148},[114,15316,15317],{"class":116,"line":1834},[114,15318,1826],{"class":148},[114,15320,15321,15323,15325,15327,15329,15331,15333,15335,15337,15339,15341],{"class":116,"line":1840},[114,15322,13475],{"class":148},[114,15324,1699],{"class":767},[114,15326,13480],{"class":148},[114,15328,13483],{"class":1790},[114,15330,1699],{"class":767},[114,15332,13356],{"class":138},[114,15334,1778],{"class":148},[114,15336,13492],{"class":1790},[114,15338,1699],{"class":767},[114,15340,13497],{"class":138},[114,15342,1862],{"class":148},[114,15344,15345,15347,15349],{"class":116,"line":1851},[114,15346,13504],{"class":1790},[114,15348,1699],{"class":767},[114,15350,2039],{"class":148},[114,15352,15353,15355,15357,15359],{"class":116,"line":1865},[114,15354,13513],{"class":138},[114,15356,1778],{"class":148},[114,15358,13518],{"class":138},[114,15360,1862],{"class":148},[114,15362,15363,15365,15367,15370],{"class":116,"line":1877},[114,15364,13525],{"class":138},[114,15366,1778],{"class":148},[114,15368,15369],{"class":138},"\"-4\"",[114,15371,1862],{"class":148},[114,15373,15374,15376,15378,15380,15382],{"class":116,"line":1904},[114,15375,13537],{"class":138},[114,15377,1778],{"class":148},[114,15379,13542],{"class":138},[114,15381,1778],{"class":148},[114,15383,13547],{"class":127},[114,15385,15386,15388,15390,15392],{"class":116,"line":1920},[114,15387,13552],{"class":138},[114,15389,1778],{"class":148},[114,15391,13530],{"class":138},[114,15393,1862],{"class":148},[114,15395,15396,15398,15400,15402],{"class":116,"line":1925},[114,15397,13563],{"class":138},[114,15399,1778],{"class":148},[114,15401,13568],{"class":138},[114,15403,13571],{"class":148},[114,15405,15406,15408,15410,15412],{"class":116,"line":1930},[114,15407,13576],{"class":1790},[114,15409,1699],{"class":767},[114,15411,13581],{"class":138},[114,15413,1468],{"class":148},[114,15415,15416],{"class":116,"line":1936},[114,15417,121],{"emptyLinePlaceholder":120},[114,15419,15420],{"class":116,"line":1946},[114,15421,1933],{"class":127},[114,15423,15424,15426,15428],{"class":116,"line":1959},[114,15425,1939],{"class":148},[114,15427,1699],{"class":767},[114,15429,1848],{"class":148},[114,15431,15432,15434,15436,15439],{"class":116,"line":1972},[114,15433,1949],{"class":1790},[114,15435,1699],{"class":767},[114,15437,15438],{"class":138},"\"ros_gz_bridge\"",[114,15440,1862],{"class":148},[114,15442,15443,15445,15447,15450],{"class":116,"line":1987},[114,15444,1962],{"class":1790},[114,15446,1699],{"class":767},[114,15448,15449],{"class":138},"\"parameter_bridge\"",[114,15451,1862],{"class":148},[114,15453,15454,15456,15458,15460,15463],{"class":116,"line":1995},[114,15455,1975],{"class":1790},[114,15457,1699],{"class":767},[114,15459,801],{"class":148},[114,15461,15462],{"class":138},"\"\u002Fcmd_vel@geometry_msgs\u002Fmsg\u002FTwist@gz.msgs.Twist\"",[114,15464,1862],{"class":148},[114,15466,15467,15470],{"class":116,"line":2003},[114,15468,15469],{"class":138},"                   \"\u002Fmodel\u002Fmycar\u002Fodometry@nav_msgs\u002Fmsg\u002FOdometry@gz.msgs.Odometry\"",[114,15471,1862],{"class":148},[114,15473,15474,15477],{"class":116,"line":2009},[114,15475,15476],{"class":138},"                   \"\u002Fmodel\u002Fmycar\u002Ftf@tf2_msgs\u002Fmsg\u002FTFMessage[gz.msgs.Pose_V\"",[114,15478,1862],{"class":148},[114,15480,15481,15484],{"class":116,"line":2031},[114,15482,15483],{"class":138},"                   \"\u002Fclock@rosgraph_msgs\u002Fmsg\u002FClock[gz.msgs.Clock\"",[114,15485,1862],{"class":148},[114,15487,15488,15491],{"class":116,"line":2042},[114,15489,15490],{"class":138},"                   \"\u002Fworld\u002Fempty\u002Fmodel\u002Fmycar\u002Fjoint_state@sensor_msgs\u002Fmsg\u002FJointState[gz.msgs.Model\"",[114,15492,1862],{"class":148},[114,15494,15495],{"class":116,"line":2059},[114,15496,2006],{"class":148},[114,15498,15499,15501,15503,15505,15508,15510,15513],{"class":116,"line":2074},[114,15500,2012],{"class":1790},[114,15502,1699],{"class":767},[114,15504,2017],{"class":148},[114,15506,15507],{"class":138},"\"qos_overrides.\u002Fmodel\u002Fmycar.subscriber.reliability\"",[114,15509,1805],{"class":148},[114,15511,15512],{"class":138},"\"reliable\"",[114,15514,2028],{"class":148},[114,15516,15517,15519,15521],{"class":116,"line":2080},[114,15518,2034],{"class":1790},[114,15520,1699],{"class":767},[114,15522,2039],{"class":148},[114,15524,15525,15527,15530,15532,15535],{"class":116,"line":2091},[114,15526,2045],{"class":148},[114,15528,15529],{"class":138},"\"\u002Fmodel\u002Fmycar\u002Ftf\"",[114,15531,1778],{"class":148},[114,15533,15534],{"class":138},"\"\u002Ftf\"",[114,15536,2056],{"class":148},[114,15538,15539,15541,15544,15546,15549],{"class":116,"line":2096},[114,15540,2045],{"class":148},[114,15542,15543],{"class":138},"\"\u002Fworld\u002Fempty\u002Fmodel\u002Fmycar\u002Fjoint_state\"",[114,15545,1739],{"class":148},[114,15547,15548],{"class":138},"\"joint_states\"",[114,15550,2056],{"class":148},[114,15552,15553,15555,15558,15560,15563],{"class":116,"line":2101},[114,15554,2045],{"class":148},[114,15556,15557],{"class":138},"\"\u002Fmodel\u002Fmycar\u002Fodometry\"",[114,15559,1739],{"class":148},[114,15561,15562],{"class":138},"\"\u002Fodom\"",[114,15564,1468],{"class":148},[114,15566,15567],{"class":116,"line":2110},[114,15568,2077],{"class":148},[114,15570,15571,15573,15575],{"class":116,"line":2116},[114,15572,2083],{"class":1790},[114,15574,1699],{"class":767},[114,15576,15577],{"class":138},"\"screen\"\n",[114,15579,15580],{"class":116,"line":2136},[114,15581,1826],{"class":148},[114,15583,15584],{"class":116,"line":2149},[114,15585,121],{"emptyLinePlaceholder":120},[114,15587,15588,15590],{"class":116,"line":2155},[114,15589,2104],{"class":767},[114,15591,2107],{"class":148},[114,15593,15594],{"class":116,"line":2161},[114,15595,2113],{"class":148},[114,15597,15598],{"class":116,"line":3640},[114,15599,13602],{"class":148},[114,15601,15602],{"class":116,"line":3653},[114,15603,13607],{"class":148},[114,15605,15606],{"class":116,"line":3667},[114,15607,15608],{"class":148},"        bridge\n",[114,15610,15611],{"class":116,"line":3680},[114,15612,2164],{"class":148},[17,15614,15615],{},[52,15616,2177],{},[17,15618,2180],{},[104,15620,15621],{"className":106,"code":13620,"language":108,"meta":109,"style":109},[111,15622,15623],{"__ignoreMap":109},[114,15624,15625,15627,15629,15631,15633],{"class":116,"line":117},[114,15626,2190],{"class":134},[114,15628,2193],{"class":138},[114,15630,13631],{"class":578},[114,15632,13634],{"class":138},[114,15634,1434],{"class":138},[17,15636,15637],{},[52,15638,2208],{},[17,15640,2211],{},[104,15642,15644],{"className":106,"code":15643,"language":108,"meta":109,"style":109},". 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",[111,15645,15646,15652,15665],{"__ignoreMap":109},[114,15647,15648,15650],{"class":116,"line":117},[114,15649,2221],{"class":578},[114,15651,2224],{"class":138},[114,15653,15654,15656,15658,15660,15663],{"class":116,"line":124},[114,15655,9408],{"class":767},[114,15657,13670],{"class":148},[114,15659,1699],{"class":767},[114,15661,15662],{"class":148},"stm32_4w ",[114,15664,13663],{"class":127},[114,15666,15667,15669,15671,15673],{"class":116,"line":131},[114,15668,265],{"class":134},[114,15670,268],{"class":138},[114,15672,2233],{"class":138},[114,15674,9341],{"class":138},[17,15676,15677],{},"再启动键盘控制节点，就可以控制机器人运动了。",[104,15679,15680],{"className":106,"code":2242,"language":108,"meta":109,"style":109},[111,15681,15682],{"__ignoreMap":109},[114,15683,15684,15686,15688,15690],{"class":116,"line":117},[114,15685,265],{"class":134},[114,15687,665],{"class":138},[114,15689,713],{"class":138},[114,15691,2255],{"class":138},[17,15693,15694],{},"还可以启动rviz2，以查看里程计消息以及坐标变换。终端中进入当前工作空间，调用如下指令执行launch文件：",[17,15696,15697],{},"启动rviz2",[104,15699,15701],{"className":106,"code":15700,"language":108,"meta":109,"style":109},". install\u002Fsetup.bash\nrviz2\n",[111,15702,15703,15709],{"__ignoreMap":109},[114,15704,15705,15707],{"class":116,"line":117},[114,15706,2221],{"class":578},[114,15708,2224],{"class":138},[114,15710,15711],{"class":116,"line":124},[114,15712,15713],{"class":134},"rviz2\n",[17,15715,15716],{},"RVIZ2软件配置如下图所示：",[17,15718,15719,15722],{},[202,15720],{"alt":109,"src":15721},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1735.webp",[202,15723],{"alt":109,"src":15724},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1736.webp",[17,15726,15727],{},[202,15728],{"alt":109,"src":15729},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1737.webp",[29,15731,15733],{"id":15732},"ignition-gazebo仿真之传感器","Ignition Gazebo仿真之传感器",[17,15735,15736],{},"本节将介绍如何为仿真机器人添加雷达、相机等传感器。本节代码部分内容对于我们教程中涉及到的arduino、stm32_2w以及stm32_4w等机器人模型而言是完全通用的。",[17,15738,15739],{},[52,15740,15741],{},"添加传感器插件",[17,15743,15744,15745,15748,15749,15751],{},"在进行传感器模拟之前，需要先添加一个名为",[111,15746,15747],{},"ignition-gazebo-sensors-system","的插件，打开urdf文件，在",[111,15750,13957],{},"根标签内添加如下代码：",[104,15753,15755],{"className":2376,"code":15754,"language":2378,"meta":109,"style":109},"\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",[111,15756,15757,15761,15769,15775,15785,15796,15810,15818],{"__ignoreMap":109},[114,15758,15759],{"class":116,"line":117},[114,15760,121],{"emptyLinePlaceholder":120},[114,15762,15763,15765,15767],{"class":116,"line":124},[114,15764,2385],{"class":148},[114,15766,13698],{"class":2388},[114,15768,2400],{"class":148},[114,15770,15771,15773],{"class":116,"line":131},[114,15772,2422],{"class":148},[114,15774,14319],{"class":2388},[114,15776,15777,15780,15782],{"class":116,"line":155},[114,15778,15779],{"class":134},"      filename",[114,15781,1699],{"class":148},[114,15783,15784],{"class":138},"\"ignition-gazebo-sensors-system\"\n",[114,15786,15787,15789,15791,15794],{"class":116,"line":160},[114,15788,14267],{"class":134},[114,15790,1699],{"class":148},[114,15792,15793],{"class":138},"\"ignition::gazebo::systems::Sensors\"",[114,15795,2400],{"class":148},[114,15797,15798,15800,15803,15806,15808],{"class":116,"line":166},[114,15799,2432],{"class":148},[114,15801,15802],{"class":2388},"render_engine",[114,15804,15805],{"class":148},">ogre2\u003C\u002F",[114,15807,15802],{"class":2388},[114,15809,2400],{"class":148},[114,15811,15812,15814,15816],{"class":116,"line":178},[114,15813,2503],{"class":148},[114,15815,3026],{"class":2388},[114,15817,2400],{"class":148},[114,15819,15820,15822,15824],{"class":116,"line":183},[114,15821,2512],{"class":148},[114,15823,13698],{"class":2388},[114,15825,2400],{"class":148},[17,15827,15828],{},"ignition-gazebo-sensors-system是Ignition Gazebo仿真环境的插件，提供传感器模型和相关功能，用于创建、模拟和测试各种传感器设备。它包含常见传感器模型，如摄像头、激光雷达等。",[17,15830,15831],{},[52,15832,15833],{},"添加各种传感器",[17,15835,15836],{},[52,15837,15838],{},"(注意，你的模型一定要有以下几个传感器的模型)",[17,15840,15841],{},"雷达的模型不需要collision，请删掉，否则会挡激光射出。",[104,15843,15845],{"className":2376,"code":15844,"language":2378,"meta":109,"style":109},"\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",[111,15846,15847,15851,15867,15889,15902,15915,15924,15933,15942,15956,15969,15983,15997,16005,16014,16027,16039,16052,16065,16073,16081,16089,16103,16117,16129,16137,16145,16158,16171,16185,16193,16201,16205,16221,16242,16254,16267,16280,16293,16306,16322,16336,16345,16360,16373,16387,16395,16404,16418,16432,16440,16448,16456,16464,16468,16482,16503,16515,16528,16536,16549,16557,16570,16582,16595,16603,16611,16624,16636,16644,16652,16664,16676,16684],{"__ignoreMap":109},[114,15848,15849],{"class":116,"line":117},[114,15850,121],{"emptyLinePlaceholder":120},[114,15852,15853,15855,15857,15860,15862,15865],{"class":116,"line":124},[114,15854,2405],{"class":148},[114,15856,13698],{"class":2388},[114,15858,15859],{"class":134}," reference",[114,15861,1699],{"class":148},[114,15863,15864],{"class":138},"\"laser\"",[114,15866,2400],{"class":148},[114,15868,15869,15871,15874,15876,15878,15881,15883,15885,15887],{"class":116,"line":131},[114,15870,2422],{"class":148},[114,15872,15873],{"class":2388},"sensor",[114,15875,2392],{"class":134},[114,15877,1699],{"class":148},[114,15879,15880],{"class":138},"'gpu_lidar'",[114,15882,2962],{"class":134},[114,15884,1699],{"class":148},[114,15886,15880],{"class":138},[114,15888,2400],{"class":148},[114,15890,15891,15893,15895,15898,15900],{"class":116,"line":155},[114,15892,2432],{"class":148},[114,15894,14102],{"class":2388},[114,15896,15897],{"class":148},">scan\u003C\u002F",[114,15899,14102],{"class":2388},[114,15901,2400],{"class":148},[114,15903,15904,15906,15908,15911,15913],{"class":116,"line":160},[114,15905,2432],{"class":148},[114,15907,13855],{"class":2388},[114,15909,15910],{"class":148},">30\u003C\u002F",[114,15912,13855],{"class":2388},[114,15914,2400],{"class":148},[114,15916,15917,15919,15922],{"class":116,"line":166},[114,15918,2432],{"class":148},[114,15920,15921],{"class":2388},"lidar",[114,15923,2400],{"class":148},[114,15925,15926,15928,15931],{"class":116,"line":178},[114,15927,2606],{"class":148},[114,15929,15930],{"class":2388},"scan",[114,15932,2400],{"class":148},[114,15934,15935,15937,15940],{"class":116,"line":183},[114,15936,2802],{"class":148},[114,15938,15939],{"class":2388},"horizontal",[114,15941,2400],{"class":148},[114,15943,15944,15946,15949,15952,15954],{"class":116,"line":189},[114,15945,3286],{"class":148},[114,15947,15948],{"class":2388},"samples",[114,15950,15951],{"class":148},">640\u003C\u002F",[114,15953,15948],{"class":2388},[114,15955,2400],{"class":148},[114,15957,15958,15960,15963,15965,15967],{"class":116,"line":436},[114,15959,3286],{"class":148},[114,15961,15962],{"class":2388},"resolution",[114,15964,2993],{"class":148},[114,15966,15962],{"class":2388},[114,15968,2400],{"class":148},[114,15970,15971,15973,15976,15979,15981],{"class":116,"line":442},[114,15972,3286],{"class":148},[114,15974,15975],{"class":2388},"min_angle",[114,15977,15978],{"class":148},">-3.1415926\u003C\u002F",[114,15980,15975],{"class":2388},[114,15982,2400],{"class":148},[114,15984,15985,15987,15990,15993,15995],{"class":116,"line":448},[114,15986,3286],{"class":148},[114,15988,15989],{"class":2388},"max_angle",[114,15991,15992],{"class":148},">3.1415926\u003C\u002F",[114,15994,15989],{"class":2388},[114,15996,2400],{"class":148},[114,15998,15999,16001,16003],{"class":116,"line":454},[114,16000,3334],{"class":148},[114,16002,15939],{"class":2388},[114,16004,2400],{"class":148},[114,16006,16007,16009,16012],{"class":116,"line":1676},[114,16008,2802],{"class":148},[114,16010,16011],{"class":2388},"vertical",[114,16013,2400],{"class":148},[114,16015,16016,16018,16020,16023,16025],{"class":116,"line":1688},[114,16017,3286],{"class":148},[114,16019,15948],{"class":2388},[114,16021,16022],{"class":148},">16\u003C\u002F",[114,16024,15948],{"class":2388},[114,16026,2400],{"class":148},[114,16028,16029,16031,16033,16035,16037],{"class":116,"line":1693},[114,16030,3286],{"class":148},[114,16032,15962],{"class":2388},[114,16034,2993],{"class":148},[114,16036,15962],{"class":2388},[114,16038,2400],{"class":148},[114,16040,16041,16043,16045,16048,16050],{"class":116,"line":1710},[114,16042,3286],{"class":148},[114,16044,15975],{"class":2388},[114,16046,16047],{"class":148},">-0.261799\u003C\u002F",[114,16049,15975],{"class":2388},[114,16051,2400],{"class":148},[114,16053,16054,16056,16058,16061,16063],{"class":116,"line":1725},[114,16055,3286],{"class":148},[114,16057,15989],{"class":2388},[114,16059,16060],{"class":148},">0.261799\u003C\u002F",[114,16062,15989],{"class":2388},[114,16064,2400],{"class":148},[114,16066,16067,16069,16071],{"class":116,"line":1747},[114,16068,3334],{"class":148},[114,16070,16011],{"class":2388},[114,16072,2400],{"class":148},[114,16074,16075,16077,16079],{"class":116,"line":1752},[114,16076,2842],{"class":148},[114,16078,15930],{"class":2388},[114,16080,2400],{"class":148},[114,16082,16083,16085,16087],{"class":116,"line":1763},[114,16084,2606],{"class":148},[114,16086,5974],{"class":2388},[114,16088,2400],{"class":148},[114,16090,16091,16093,16096,16099,16101],{"class":116,"line":1769},[114,16092,2802],{"class":148},[114,16094,16095],{"class":2388},"min",[114,16097,16098],{"class":148},">0.08\u003C\u002F",[114,16100,16095],{"class":2388},[114,16102,2400],{"class":148},[114,16104,16105,16107,16110,16113,16115],{"class":116,"line":1787},[114,16106,2802],{"class":148},[114,16108,16109],{"class":2388},"max",[114,16111,16112],{"class":148},">10.0\u003C\u002F",[114,16114,16109],{"class":2388},[114,16116,2400],{"class":148},[114,16118,16119,16121,16123,16125,16127],{"class":116,"line":1799},[114,16120,2802],{"class":148},[114,16122,15962],{"class":2388},[114,16124,5991],{"class":148},[114,16126,15962],{"class":2388},[114,16128,2400],{"class":148},[114,16130,16131,16133,16135],{"class":116,"line":1817},[114,16132,2842],{"class":148},[114,16134,5974],{"class":2388},[114,16136,2400],{"class":148},[114,16138,16139,16141,16143],{"class":116,"line":1823},[114,16140,2666],{"class":148},[114,16142,15921],{"class":2388},[114,16144,2400],{"class":148},[114,16146,16147,16149,16152,16154,16156],{"class":116,"line":1829},[114,16148,2432],{"class":148},[114,16150,16151],{"class":2388},"alwaysOn",[114,16153,2993],{"class":148},[114,16155,16151],{"class":2388},[114,16157,2400],{"class":148},[114,16159,16160,16162,16165,16167,16169],{"class":116,"line":1834},[114,16161,2432],{"class":148},[114,16163,16164],{"class":2388},"visualize",[114,16166,3201],{"class":148},[114,16168,16164],{"class":2388},[114,16170,2400],{"class":148},[114,16172,16173,16175,16178,16181,16183],{"class":116,"line":1840},[114,16174,2432],{"class":148},[114,16176,16177],{"class":2388},"ignition_frame_id",[114,16179,16180],{"class":148},">laser\u003C\u002F",[114,16182,16177],{"class":2388},[114,16184,2400],{"class":148},[114,16186,16187,16189,16191],{"class":116,"line":1851},[114,16188,2503],{"class":148},[114,16190,15873],{"class":2388},[114,16192,2400],{"class":148},[114,16194,16195,16197,16199],{"class":116,"line":1865},[114,16196,2512],{"class":148},[114,16198,13698],{"class":2388},[114,16200,2400],{"class":148},[114,16202,16203],{"class":116,"line":1877},[114,16204,121],{"emptyLinePlaceholder":120},[114,16206,16207,16209,16211,16213,16215,16218],{"class":116,"line":1904},[114,16208,2405],{"class":148},[114,16210,13698],{"class":2388},[114,16212,15859],{"class":134},[114,16214,1699],{"class":148},[114,16216,16217],{"class":138},"\"camera\"",[114,16219,16220],{"class":148}," >\n",[114,16222,16223,16225,16227,16229,16231,16234,16236,16238,16240],{"class":116,"line":1920},[114,16224,2422],{"class":148},[114,16226,15873],{"class":2388},[114,16228,2392],{"class":134},[114,16230,1699],{"class":148},[114,16232,16233],{"class":138},"\"cam_link\"",[114,16235,2962],{"class":134},[114,16237,1699],{"class":148},[114,16239,16217],{"class":138},[114,16241,2400],{"class":148},[114,16243,16244,16246,16248,16250,16252],{"class":116,"line":1925},[114,16245,2432],{"class":148},[114,16247,13855],{"class":2388},[114,16249,16112],{"class":148},[114,16251,13855],{"class":2388},[114,16253,2400],{"class":148},[114,16255,16256,16258,16261,16263,16265],{"class":116,"line":1930},[114,16257,2432],{"class":148},[114,16259,16260],{"class":2388},"always_on",[114,16262,3201],{"class":148},[114,16264,16260],{"class":2388},[114,16266,2400],{"class":148},[114,16268,16269,16271,16273,16276,16278],{"class":116,"line":1936},[114,16270,2432],{"class":148},[114,16272,16177],{"class":2388},[114,16274,16275],{"class":148},">camera\u003C\u002F",[114,16277,16177],{"class":2388},[114,16279,2400],{"class":148},[114,16281,16282,16284,16286,16289,16291],{"class":116,"line":1946},[114,16283,2432],{"class":148},[114,16285,3550],{"class":2388},[114,16287,16288],{"class":148},">0 0 0 0 0 0\u003C\u002F",[114,16290,3550],{"class":2388},[114,16292,2400],{"class":148},[114,16294,16295,16297,16299,16302,16304],{"class":116,"line":1959},[114,16296,2432],{"class":148},[114,16298,14102],{"class":2388},[114,16300,16301],{"class":148},">\u002Fimage_raw\u003C\u002F",[114,16303,14102],{"class":2388},[114,16305,2400],{"class":148},[114,16307,16308,16310,16313,16315,16317,16320],{"class":116,"line":1972},[114,16309,2432],{"class":148},[114,16311,16312],{"class":2388},"camera",[114,16314,2392],{"class":134},[114,16316,1699],{"class":148},[114,16318,16319],{"class":138},"\"my_camera\"",[114,16321,2400],{"class":148},[114,16323,16324,16326,16329,16332,16334],{"class":116,"line":1987},[114,16325,2606],{"class":148},[114,16327,16328],{"class":2388},"horizontal_fov",[114,16330,16331],{"class":148},">1.3962634\u003C\u002F",[114,16333,16328],{"class":2388},[114,16335,2400],{"class":148},[114,16337,16338,16340,16343],{"class":116,"line":1995},[114,16339,2606],{"class":148},[114,16341,16342],{"class":2388},"image",[114,16344,2400],{"class":148},[114,16346,16347,16350,16353,16356,16358],{"class":116,"line":2003},[114,16348,16349],{"class":148},"           \u003C",[114,16351,16352],{"class":2388},"width",[114,16354,16355],{"class":148},">600\u003C\u002F",[114,16357,16352],{"class":2388},[114,16359,2400],{"class":148},[114,16361,16362,16364,16367,16369,16371],{"class":116,"line":2009},[114,16363,16349],{"class":148},[114,16365,16366],{"class":2388},"height",[114,16368,16355],{"class":148},[114,16370,16366],{"class":2388},[114,16372,2400],{"class":148},[114,16374,16375,16377,16380,16383,16385],{"class":116,"line":2031},[114,16376,16349],{"class":148},[114,16378,16379],{"class":2388},"format",[114,16381,16382],{"class":148},">R8G8B8\u003C\u002F",[114,16384,16379],{"class":2388},[114,16386,2400],{"class":148},[114,16388,16389,16391,16393],{"class":116,"line":2042},[114,16390,2842],{"class":148},[114,16392,16342],{"class":2388},[114,16394,2400],{"class":148},[114,16396,16397,16399,16402],{"class":116,"line":2059},[114,16398,2606],{"class":148},[114,16400,16401],{"class":2388},"clip",[114,16403,2400],{"class":148},[114,16405,16406,16408,16411,16414,16416],{"class":116,"line":2074},[114,16407,2802],{"class":148},[114,16409,16410],{"class":2388},"near",[114,16412,16413],{"class":148},">0.02\u003C\u002F",[114,16415,16410],{"class":2388},[114,16417,2400],{"class":148},[114,16419,16420,16422,16425,16428,16430],{"class":116,"line":2080},[114,16421,2802],{"class":148},[114,16423,16424],{"class":2388},"far",[114,16426,16427],{"class":148},">300\u003C\u002F",[114,16429,16424],{"class":2388},[114,16431,2400],{"class":148},[114,16433,16434,16436,16438],{"class":116,"line":2091},[114,16435,2842],{"class":148},[114,16437,16401],{"class":2388},[114,16439,2400],{"class":148},[114,16441,16442,16444,16446],{"class":116,"line":2096},[114,16443,2666],{"class":148},[114,16445,16312],{"class":2388},[114,16447,2400],{"class":148},[114,16449,16450,16452,16454],{"class":116,"line":2101},[114,16451,2503],{"class":148},[114,16453,15873],{"class":2388},[114,16455,2400],{"class":148},[114,16457,16458,16460,16462],{"class":116,"line":2110},[114,16459,2512],{"class":148},[114,16461,13698],{"class":2388},[114,16463,2400],{"class":148},[114,16465,16466],{"class":116,"line":2116},[114,16467,121],{"emptyLinePlaceholder":120},[114,16469,16470,16472,16474,16476,16478,16480],{"class":116,"line":2136},[114,16471,2405],{"class":148},[114,16473,13698],{"class":2388},[114,16475,15859],{"class":134},[114,16477,1699],{"class":148},[114,16479,16217],{"class":138},[114,16481,2400],{"class":148},[114,16483,16484,16486,16488,16490,16492,16495,16497,16499,16501],{"class":116,"line":2149},[114,16485,2422],{"class":148},[114,16487,15873],{"class":2388},[114,16489,2392],{"class":134},[114,16491,1699],{"class":148},[114,16493,16494],{"class":138},"\"depth_camera\"",[114,16496,2962],{"class":134},[114,16498,1699],{"class":148},[114,16500,16494],{"class":138},[114,16502,2400],{"class":148},[114,16504,16505,16507,16509,16511,16513],{"class":116,"line":2155},[114,16506,2802],{"class":148},[114,16508,13855],{"class":2388},[114,16510,14063],{"class":148},[114,16512,13855],{"class":2388},[114,16514,2400],{"class":148},[114,16516,16517,16519,16521,16524,16526],{"class":116,"line":2161},[114,16518,2802],{"class":148},[114,16520,14102],{"class":2388},[114,16522,16523],{"class":148},">depth_camera\u003C\u002F",[114,16525,14102],{"class":2388},[114,16527,2400],{"class":148},[114,16529,16530,16532,16534],{"class":116,"line":3640},[114,16531,2802],{"class":148},[114,16533,16312],{"class":2388},[114,16535,2400],{"class":148},[114,16537,16538,16540,16542,16545,16547],{"class":116,"line":3653},[114,16539,3286],{"class":148},[114,16541,16328],{"class":2388},[114,16543,16544],{"class":148},">1.05\u003C\u002F",[114,16546,16328],{"class":2388},[114,16548,2400],{"class":148},[114,16550,16551,16553,16555],{"class":116,"line":3667},[114,16552,3286],{"class":148},[114,16554,16342],{"class":2388},[114,16556,2400],{"class":148},[114,16558,16559,16561,16563,16566,16568],{"class":116,"line":3680},[114,16560,3296],{"class":148},[114,16562,16352],{"class":2388},[114,16564,16565],{"class":148},">256\u003C\u002F",[114,16567,16352],{"class":2388},[114,16569,2400],{"class":148},[114,16571,16572,16574,16576,16578,16580],{"class":116,"line":3689},[114,16573,3296],{"class":148},[114,16575,16366],{"class":2388},[114,16577,16565],{"class":148},[114,16579,16366],{"class":2388},[114,16581,2400],{"class":148},[114,16583,16584,16586,16588,16591,16593],{"class":116,"line":3698},[114,16585,3296],{"class":148},[114,16587,16379],{"class":2388},[114,16589,16590],{"class":148},">R_FLOAT32\u003C\u002F",[114,16592,16379],{"class":2388},[114,16594,2400],{"class":148},[114,16596,16597,16599,16601],{"class":116,"line":3713},[114,16598,3325],{"class":148},[114,16600,16342],{"class":2388},[114,16602,2400],{"class":148},[114,16604,16605,16607,16609],{"class":116,"line":3722},[114,16606,3286],{"class":148},[114,16608,16401],{"class":2388},[114,16610,2400],{"class":148},[114,16612,16613,16615,16617,16620,16622],{"class":116,"line":3735},[114,16614,3296],{"class":148},[114,16616,16410],{"class":2388},[114,16618,16619],{"class":148},">0.1\u003C\u002F",[114,16621,16410],{"class":2388},[114,16623,2400],{"class":148},[114,16625,16626,16628,16630,16632,16634],{"class":116,"line":3749},[114,16627,3296],{"class":148},[114,16629,16424],{"class":2388},[114,16631,16112],{"class":148},[114,16633,16424],{"class":2388},[114,16635,2400],{"class":148},[114,16637,16638,16640,16642],{"class":116,"line":3758},[114,16639,3325],{"class":148},[114,16641,16401],{"class":2388},[114,16643,2400],{"class":148},[114,16645,16646,16648,16650],{"class":116,"line":3774},[114,16647,3334],{"class":148},[114,16649,16312],{"class":2388},[114,16651,2400],{"class":148},[114,16653,16654,16656,16658,16660,16662],{"class":116,"line":3788},[114,16655,2802],{"class":148},[114,16657,16151],{"class":2388},[114,16659,2993],{"class":148},[114,16661,16151],{"class":2388},[114,16663,2400],{"class":148},[114,16665,16666,16668,16670,16672,16674],{"class":116,"line":3804},[114,16667,2802],{"class":148},[114,16669,16177],{"class":2388},[114,16671,16275],{"class":148},[114,16673,16177],{"class":2388},[114,16675,2400],{"class":148},[114,16677,16678,16680,16682],{"class":116,"line":3813},[114,16679,2666],{"class":148},[114,16681,15873],{"class":2388},[114,16683,2400],{"class":148},[114,16685,16686,16688,16690],{"class":116,"line":3822},[114,16687,2512],{"class":148},[114,16689,13698],{"class":2388},[114,16691,2400],{"class":148},[17,16693,16694],{},"从官网找到的imu传感器的",[104,16696,16698],{"className":2376,"code":16697,"language":2378,"meta":109,"style":109},"\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",[111,16699,16700,16704,16712,16725,16737,16745,16753,16757,16771,16793,16805,16817,16829,16842,16850],{"__ignoreMap":109},[114,16701,16702],{"class":116,"line":117},[114,16703,121],{"emptyLinePlaceholder":120},[114,16705,16706,16708,16710],{"class":116,"line":124},[114,16707,2422],{"class":148},[114,16709,13698],{"class":2388},[114,16711,2400],{"class":148},[114,16713,16714,16716,16718,16720,16722],{"class":116,"line":131},[114,16715,2606],{"class":148},[114,16717,3026],{"class":2388},[114,16719,3036],{"class":134},[114,16721,1699],{"class":148},[114,16723,16724],{"class":138},"\"libignition-gazebo-imu-system.so\"\n",[114,16726,16727,16730,16732,16735],{"class":116,"line":155},[114,16728,16729],{"class":134},"                name",[114,16731,1699],{"class":148},[114,16733,16734],{"class":138},"\"ignition::gazebo::systems::Imu\"",[114,16736,2400],{"class":148},[114,16738,16739,16741,16743],{"class":116,"line":160},[114,16740,2842],{"class":148},[114,16742,3026],{"class":2388},[114,16744,2400],{"class":148},[114,16746,16747,16749,16751],{"class":116,"line":166},[114,16748,2503],{"class":148},[114,16750,13698],{"class":2388},[114,16752,2400],{"class":148},[114,16754,16755],{"class":116,"line":178},[114,16756,121],{"emptyLinePlaceholder":120},[114,16758,16759,16761,16763,16765,16767,16769],{"class":116,"line":183},[114,16760,2422],{"class":148},[114,16762,13698],{"class":2388},[114,16764,15859],{"class":134},[114,16766,1699],{"class":148},[114,16768,2415],{"class":138},[114,16770,2400],{"class":148},[114,16772,16773,16775,16777,16779,16781,16784,16786,16788,16791],{"class":116,"line":189},[114,16774,2606],{"class":148},[114,16776,15873],{"class":2388},[114,16778,2392],{"class":134},[114,16780,1699],{"class":148},[114,16782,16783],{"class":138},"\"imu_sensor\"",[114,16785,2962],{"class":134},[114,16787,1699],{"class":148},[114,16789,16790],{"class":138},"\"imu\"",[114,16792,2400],{"class":148},[114,16794,16795,16797,16799,16801,16803],{"class":116,"line":436},[114,16796,3286],{"class":148},[114,16798,16260],{"class":2388},[114,16800,2993],{"class":148},[114,16802,16260],{"class":2388},[114,16804,2400],{"class":148},[114,16806,16807,16809,16811,16813,16815],{"class":116,"line":442},[114,16808,3286],{"class":148},[114,16810,13855],{"class":2388},[114,16812,15910],{"class":148},[114,16814,13855],{"class":2388},[114,16816,2400],{"class":148},[114,16818,16819,16821,16823,16825,16827],{"class":116,"line":448},[114,16820,3286],{"class":148},[114,16822,16164],{"class":2388},[114,16824,3201],{"class":148},[114,16826,16164],{"class":2388},[114,16828,2400],{"class":148},[114,16830,16831,16833,16835,16838,16840],{"class":116,"line":454},[114,16832,3286],{"class":148},[114,16834,14102],{"class":2388},[114,16836,16837],{"class":148},">imu\u003C\u002F",[114,16839,14102],{"class":2388},[114,16841,2400],{"class":148},[114,16843,16844,16846,16848],{"class":116,"line":1676},[114,16845,2842],{"class":148},[114,16847,15873],{"class":2388},[114,16849,2400],{"class":148},[114,16851,16852,16854,16856],{"class":116,"line":1688},[114,16853,2503],{"class":148},[114,16855,13698],{"class":2388},[114,16857,2400],{"class":148},[17,16859,16860,16861,16864],{},"可以用",[111,16862,16863],{},"ign topic -e -t \u002Fimu","测试gazebo是否发布了话题，后面再用gazebo_bridge把话题给ROS2就行了。",[17,16866,16867],{},"默认情况下，rviz2没有显示imu消息的插件，需要自行安装相关插件，具体安装指令如下：",[104,16869,16873],{"className":16870,"code":16871,"language":16872,"meta":109,"style":109},"language-cpp shiki shiki-themes github-light github-dark","sudo apt install ros-${ROS_DISTRO}-imu-tools\n","cpp",[111,16874,16875],{"__ignoreMap":109},[114,16876,16877,16880,16883,16885,16887,16890,16892],{"class":116,"line":117},[114,16878,16879],{"class":148},"sudo apt install ros",[114,16881,16882],{"class":767},"-",[114,16884,149],{"class":148},[114,16886,16882],{"class":767},[114,16888,16889],{"class":148},"imu",[114,16891,16882],{"class":767},[114,16893,16894],{"class":148},"tools\n",[17,16896,16897],{},"SolidWorks自动生成的模型可能翻转了laser_joint,请你修改回正，这样可能rivz2就有激光了，然后修改一下可视化的模型，让模型正常，不要给碰撞，不然可能会遮挡激光。",[17,16899,16900],{},[202,16901],{"alt":109,"src":16902},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1738.webp",[17,16904,15092],{},[104,16906,16908],{"className":1549,"code":16907,"language":1551,"meta":109,"style":109},"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",[111,16909,16910,16916,16920,16930,16934,16944,16954,16964,16974,16978,16986,16990,17002,17014,17026,17042,17046,17054,17059,17072,17080,17093,17097,17101,17109,17113,17125,17129,17133,17157,17165,17176,17187,17200,17211,17222,17232,17236,17240,17248,17258,17268,17280,17287,17294,17301,17308,17315,17322,17329,17336,17343,17350,17355,17360,17376,17384,17397,17409,17421,17425,17433,17437,17441,17447,17451,17455,17459,17463],{"__ignoreMap":109},[114,16911,16912,16914],{"class":116,"line":117},[114,16913,1558],{"class":767},[114,16915,1561],{"class":148},[114,16917,16918],{"class":116,"line":124},[114,16919,121],{"emptyLinePlaceholder":120},[114,16921,16922,16924,16926,16928],{"class":116,"line":131},[114,16923,1570],{"class":767},[114,16925,1573],{"class":148},[114,16927,1558],{"class":767},[114,16929,1578],{"class":148},[114,16931,16932],{"class":116,"line":155},[114,16933,121],{"emptyLinePlaceholder":120},[114,16935,16936,16938,16940,16942],{"class":116,"line":160},[114,16937,1570],{"class":767},[114,16939,1589],{"class":148},[114,16941,1558],{"class":767},[114,16943,1594],{"class":148},[114,16945,16946,16948,16950,16952],{"class":116,"line":166},[114,16947,1570],{"class":767},[114,16949,1601],{"class":148},[114,16951,1558],{"class":767},[114,16953,1617],{"class":148},[114,16955,16956,16958,16960,16962],{"class":116,"line":178},[114,16957,1570],{"class":767},[114,16959,1636],{"class":148},[114,16961,1558],{"class":767},[114,16963,1641],{"class":148},[114,16965,16966,16968,16970,16972],{"class":116,"line":183},[114,16967,1570],{"class":767},[114,16969,1664],{"class":148},[114,16971,1558],{"class":767},[114,16973,1669],{"class":148},[114,16975,16976],{"class":116,"line":189},[114,16977,121],{"emptyLinePlaceholder":120},[114,16979,16980,16982,16984],{"class":116,"line":436},[114,16981,1679],{"class":767},[114,16983,1682],{"class":134},[114,16985,1685],{"class":148},[114,16987,16988],{"class":116,"line":442},[114,16989,121],{"emptyLinePlaceholder":120},[114,16991,16992,16994,16996,16998,17000],{"class":116,"line":448},[114,16993,1696],{"class":148},[114,16995,1699],{"class":767},[114,16997,1702],{"class":148},[114,16999,13330],{"class":138},[114,17001,1468],{"class":148},[114,17003,17004,17006,17008,17010,17012],{"class":116,"line":454},[114,17005,13337],{"class":148},[114,17007,1699],{"class":767},[114,17009,1702],{"class":148},[114,17011,13059],{"class":138},[114,17013,1468],{"class":148},[114,17015,17016,17018,17020,17022,17024],{"class":116,"line":1676},[114,17017,1713],{"class":148},[114,17019,1699],{"class":767},[114,17021,1702],{"class":148},[114,17023,13356],{"class":138},[114,17025,1468],{"class":148},[114,17027,17028,17030,17032,17034,17036,17038,17040],{"class":116,"line":1688},[114,17029,1728],{"class":148},[114,17031,1699],{"class":767},[114,17033,1733],{"class":148},[114,17035,9213],{"class":138},[114,17037,1739],{"class":148},[114,17039,9218],{"class":138},[114,17041,1468],{"class":148},[114,17043,17044],{"class":116,"line":1693},[114,17045,121],{"emptyLinePlaceholder":120},[114,17047,17048,17050,17052],{"class":116,"line":1710},[114,17049,1755],{"class":148},[114,17051,1699],{"class":767},[114,17053,1760],{"class":148},[114,17055,17056],{"class":116,"line":1725},[114,17057,17058],{"class":148},"    PythonLaunchDescriptionSource(\n",[114,17060,17061,17064,17066,17068,17070],{"class":116,"line":1747},[114,17062,17063],{"class":148},"        os.path.join(pkg_ros_gz_sim, ",[114,17065,13397],{"class":138},[114,17067,1778],{"class":148},[114,17069,13402],{"class":138},[114,17071,1784],{"class":148},[114,17073,17074,17076,17078],{"class":116,"line":1752},[114,17075,1791],{"class":1790},[114,17077,1699],{"class":767},[114,17079,1796],{"class":148},[114,17081,17082,17085,17087,17089,17091],{"class":116,"line":1763},[114,17083,17084],{"class":138},"        \"gz_args\"",[114,17086,1805],{"class":148},[114,17088,13422],{"class":138},[114,17090,1811],{"class":767},[114,17092,1814],{"class":148},[114,17094,17095],{"class":116,"line":1769},[114,17096,1820],{"class":148},[114,17098,17099],{"class":116,"line":1787},[114,17100,1826],{"class":148},[114,17102,17103,17105,17107],{"class":116,"line":1799},[114,17104,13439],{"class":148},[114,17106,1699],{"class":767},[114,17108,1760],{"class":148},[114,17110,17111],{"class":116,"line":1817},[114,17112,1766],{"class":148},[114,17114,17115,17117,17119,17121,17123],{"class":116,"line":1823},[114,17116,13452],{"class":148},[114,17118,13397],{"class":138},[114,17120,1739],{"class":148},[114,17122,13459],{"class":138},[114,17124,1468],{"class":148},[114,17126,17127],{"class":116,"line":1829},[114,17128,13466],{"class":148},[114,17130,17131],{"class":116,"line":1834},[114,17132,1826],{"class":148},[114,17134,17135,17137,17139,17141,17143,17145,17147,17149,17151,17153,17155],{"class":116,"line":1840},[114,17136,13475],{"class":148},[114,17138,1699],{"class":767},[114,17140,13480],{"class":148},[114,17142,13483],{"class":1790},[114,17144,1699],{"class":767},[114,17146,13356],{"class":138},[114,17148,1778],{"class":148},[114,17150,13492],{"class":1790},[114,17152,1699],{"class":767},[114,17154,13497],{"class":138},[114,17156,1862],{"class":148},[114,17158,17159,17161,17163],{"class":116,"line":1851},[114,17160,1975],{"class":1790},[114,17162,1699],{"class":767},[114,17164,2039],{"class":148},[114,17166,17167,17170,17172,17174],{"class":116,"line":1865},[114,17168,17169],{"class":138},"            \"-name\"",[114,17171,1778],{"class":148},[114,17173,13518],{"class":138},[114,17175,1862],{"class":148},[114,17177,17178,17181,17183,17185],{"class":116,"line":1877},[114,17179,17180],{"class":138},"            \"-x\"",[114,17182,1778],{"class":148},[114,17184,15369],{"class":138},[114,17186,1862],{"class":148},[114,17188,17189,17192,17194,17196,17198],{"class":116,"line":1904},[114,17190,17191],{"class":138},"            \"-z\"",[114,17193,1778],{"class":148},[114,17195,13542],{"class":138},[114,17197,1778],{"class":148},[114,17199,13547],{"class":127},[114,17201,17202,17205,17207,17209],{"class":116,"line":1920},[114,17203,17204],{"class":138},"            \"-y\"",[114,17206,1778],{"class":148},[114,17208,13530],{"class":138},[114,17210,1862],{"class":148},[114,17212,17213,17216,17218,17220],{"class":116,"line":1925},[114,17214,17215],{"class":138},"            \"-topic\"",[114,17217,1778],{"class":148},[114,17219,13568],{"class":138},[114,17221,13571],{"class":148},[114,17223,17224,17226,17228,17230],{"class":116,"line":1930},[114,17225,2083],{"class":1790},[114,17227,1699],{"class":767},[114,17229,13581],{"class":138},[114,17231,1468],{"class":148},[114,17233,17234],{"class":116,"line":1936},[114,17235,121],{"emptyLinePlaceholder":120},[114,17237,17238],{"class":116,"line":1946},[114,17239,1933],{"class":127},[114,17241,17242,17244,17246],{"class":116,"line":1959},[114,17243,1939],{"class":148},[114,17245,1699],{"class":767},[114,17247,1848],{"class":148},[114,17249,17250,17252,17254,17256],{"class":116,"line":1972},[114,17251,1949],{"class":1790},[114,17253,1699],{"class":767},[114,17255,15438],{"class":138},[114,17257,1862],{"class":148},[114,17259,17260,17262,17264,17266],{"class":116,"line":1987},[114,17261,1962],{"class":1790},[114,17263,1699],{"class":767},[114,17265,15449],{"class":138},[114,17267,1862],{"class":148},[114,17269,17270,17272,17274,17276,17278],{"class":116,"line":1995},[114,17271,1975],{"class":1790},[114,17273,1699],{"class":767},[114,17275,801],{"class":148},[114,17277,15462],{"class":138},[114,17279,1862],{"class":148},[114,17281,17282,17285],{"class":116,"line":2003},[114,17283,17284],{"class":138},"            \"\u002Fmodel\u002Fmycar\u002Fodometry@nav_msgs\u002Fmsg\u002FOdometry@gz.msgs.Odometry\"",[114,17286,1862],{"class":148},[114,17288,17289,17292],{"class":116,"line":2009},[114,17290,17291],{"class":138},"            \"\u002Fmodel\u002Fmycar\u002Ftf@tf2_msgs\u002Fmsg\u002FTFMessage[gz.msgs.Pose_V\"",[114,17293,1862],{"class":148},[114,17295,17296,17299],{"class":116,"line":2031},[114,17297,17298],{"class":138},"            \"\u002Fclock@rosgraph_msgs\u002Fmsg\u002FClock[gz.msgs.Clock\"",[114,17300,1862],{"class":148},[114,17302,17303,17306],{"class":116,"line":2042},[114,17304,17305],{"class":138},"            \"\u002Fworld\u002Fempty\u002Fmodel\u002Fmycar\u002Fjoint_state@sensor_msgs\u002Fmsg\u002FJointState[gz.msgs.Model\"",[114,17307,1862],{"class":148},[114,17309,17310,17313],{"class":116,"line":2059},[114,17311,17312],{"class":138},"            \"\u002Fscan@sensor_msgs\u002Fmsg\u002FLaserScan@gz.msgs.LaserScan\"",[114,17314,1862],{"class":148},[114,17316,17317,17320],{"class":116,"line":2074},[114,17318,17319],{"class":138},"            \"\u002Fscan\u002Fpoints@sensor_msgs\u002Fmsg\u002FPointCloud2@gz.msgs.PointCloudPacked\"",[114,17321,1862],{"class":148},[114,17323,17324,17327],{"class":116,"line":2080},[114,17325,17326],{"class":138},"            \"\u002Fimage_raw@sensor_msgs\u002Fmsg\u002FImage@gz.msgs.Image\"",[114,17328,1862],{"class":148},[114,17330,17331,17334],{"class":116,"line":2091},[114,17332,17333],{"class":138},"            \"\u002Fcamera_info@sensor_msgs\u002Fmsg\u002FCameraInfo@gz.msgs.CameraInfo\"",[114,17335,1862],{"class":148},[114,17337,17338,17341],{"class":116,"line":2096},[114,17339,17340],{"class":138},"            \"\u002Fdepth_camera@sensor_msgs\u002Fmsg\u002FImage@gz.msgs.Image\"",[114,17342,1862],{"class":148},[114,17344,17345,17348],{"class":116,"line":2101},[114,17346,17347],{"class":138},"            \"\u002Fimu@sensor_msgs\u002Fmsg\u002FImu[gz.msgs.IMU\"",[114,17349,1862],{"class":148},[114,17351,17352],{"class":116,"line":2110},[114,17353,17354],{"class":138},"            \"\u002Fimu\u002Fangular_velocity@geometry_msgs\u002Fmsg\u002FVector3[gz.msgs.Vector3d\"\n",[114,17356,17357],{"class":116,"line":2116},[114,17358,17359],{"class":148},"        ],\n",[114,17361,17362,17364,17366,17368,17370,17372,17374],{"class":116,"line":2136},[114,17363,2012],{"class":1790},[114,17365,1699],{"class":767},[114,17367,2017],{"class":148},[114,17369,15507],{"class":138},[114,17371,1805],{"class":148},[114,17373,15512],{"class":138},[114,17375,2028],{"class":148},[114,17377,17378,17380,17382],{"class":116,"line":2149},[114,17379,2034],{"class":1790},[114,17381,1699],{"class":767},[114,17383,2039],{"class":148},[114,17385,17386,17389,17391,17393,17395],{"class":116,"line":2155},[114,17387,17388],{"class":148},"            (",[114,17390,15529],{"class":138},[114,17392,1778],{"class":148},[114,17394,15534],{"class":138},[114,17396,2056],{"class":148},[114,17398,17399,17401,17403,17405,17407],{"class":116,"line":2161},[114,17400,17388],{"class":148},[114,17402,15543],{"class":138},[114,17404,1739],{"class":148},[114,17406,15548],{"class":138},[114,17408,2056],{"class":148},[114,17410,17411,17413,17415,17417,17419],{"class":116,"line":3640},[114,17412,17388],{"class":148},[114,17414,15557],{"class":138},[114,17416,1739],{"class":148},[114,17418,15562],{"class":138},[114,17420,1468],{"class":148},[114,17422,17423],{"class":116,"line":3653},[114,17424,17359],{"class":148},[114,17426,17427,17429,17431],{"class":116,"line":3667},[114,17428,2083],{"class":1790},[114,17430,1699],{"class":767},[114,17432,15577],{"class":138},[114,17434,17435],{"class":116,"line":3680},[114,17436,1826],{"class":148},[114,17438,17439],{"class":116,"line":3689},[114,17440,121],{"emptyLinePlaceholder":120},[114,17442,17443,17445],{"class":116,"line":3698},[114,17444,2104],{"class":767},[114,17446,2107],{"class":148},[114,17448,17449],{"class":116,"line":3713},[114,17450,2113],{"class":148},[114,17452,17453],{"class":116,"line":3722},[114,17454,13602],{"class":148},[114,17456,17457],{"class":116,"line":3735},[114,17458,13607],{"class":148},[114,17460,17461],{"class":116,"line":3749},[114,17462,15608],{"class":148},[114,17464,17465],{"class":116,"line":3758},[114,17466,2164],{"class":148},[17,17468,17469],{},[52,17470,2177],{},[17,17472,2180],{},[104,17474,17475],{"className":106,"code":13620,"language":108,"meta":109,"style":109},[111,17476,17477],{"__ignoreMap":109},[114,17478,17479,17481,17483,17485,17487],{"class":116,"line":117},[114,17480,2190],{"class":134},[114,17482,2193],{"class":138},[114,17484,13631],{"class":578},[114,17486,13634],{"class":138},[114,17488,1434],{"class":138},[17,17490,17491],{},[52,17492,2208],{},[17,17494,2211],{},[104,17496,17498],{"className":106,"code":17497,"language":108,"meta":109,"style":109},". 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",[111,17499,17500,17506,17519],{"__ignoreMap":109},[114,17501,17502,17504],{"class":116,"line":117},[114,17503,2221],{"class":578},[114,17505,2224],{"class":138},[114,17507,17508,17510,17512,17514,17516],{"class":116,"line":124},[114,17509,9408],{"class":767},[114,17511,13670],{"class":148},[114,17513,1699],{"class":767},[114,17515,15662],{"class":148},[114,17517,17518],{"class":127},"# MYCAR_MODEL值可以设置为arduino、stm32_2w 或stm32_4w\n",[114,17520,17521,17523,17525,17527],{"class":116,"line":131},[114,17522,265],{"class":134},[114,17524,268],{"class":138},[114,17526,2233],{"class":138},[114,17528,9341],{"class":138},[17,17530,15677],{},[17,17532,17533],{},"还可以启动rviz2，以查看机器人发布的诸多数据。终端中进入当前工作空间，调用如下指令执行launch文件：",[104,17535,17536],{"className":106,"code":15700,"language":108,"meta":109,"style":109},[111,17537,17538,17544],{"__ignoreMap":109},[114,17539,17540,17542],{"class":116,"line":117},[114,17541,2221],{"class":578},[114,17543,2224],{"class":138},[114,17545,17546],{"class":116,"line":124},[114,17547,15713],{"class":134},[17,17549,17550],{},[202,17551],{"alt":109,"src":17552},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1739.webp",[17,17554,17555],{},[202,17556],{"alt":109,"src":17557},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F30\u002Fimage1740.webp",[17,17559,12909],{},[17,17561,17562],{},[57,17563,12914],{"href":12914,"rel":17564},[61],[17,17566,17567],{},"(把上面的全部复现，才能够进行下一章导航，下一章导航依然基于仿真)",[17569,17570,17571],"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":109,"searchDepth":124,"depth":124,"links":17573},[17574],{"id":14,"depth":131,"text":15},"1100-0200","2023-12-30","2023-12-30-ros2-tutorial","\u002Fwiki\u002F2023-12-30-ros2-tutorial","Ros2 Tutorial","md",false,{},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-ignitiongazebo",{"title":5,"description":109},"wiki\u002F2023-12-30-ros2-tutorial\u002F1100-0200-IgnitionGazebo","w7UcjVofhA3sRXjpOP02SezMHqOj93lPMPY6gJ3fwIs",[17588,17595,17601,17607,17613,17619,17625,17631,17637,17643,17649,17655,17657,17663,17669,17675,17681,17687,17693,17699,17705,17711,17717,17723,17729,17735,17741,17747,17753,17759,17765,17771,17777,17783,17789,17794,17800,17805,17811,17817,17823,17829,17835,17841,17847,17853,17859,17865,17871,17877,17883,17889,17895,17901,17907,17913,17919,17925,17931,17937,17943,17949,17955,17961,17967,17973,17979,17985,17991],{"path":17589,"stem":17590,"title":17591,"authors":17592,"date":17576,"chapterOrder":17593,"chapterDepth":17594,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0100-ros2-jie-shao","wiki\u002F2023-12-30-ros2-tutorial\u002F0100-ROS2介绍","ROS2介绍",[7],"0100",0,{"path":17596,"stem":17597,"title":17598,"authors":17599,"date":17576,"chapterOrder":17600,"chapterDepth":17594,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0200-ru-men-cao-zuo","wiki\u002F2023-12-30-ros2-tutorial\u002F0200-入门操作","入门操作",[7],"0200",{"path":17602,"stem":17603,"title":17604,"authors":17605,"date":17576,"chapterOrder":17606,"chapterDepth":17594,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0300-gong-zuo-kong-jian-yu-gong-neng-bao","wiki\u002F2023-12-30-ros2-tutorial\u002F0300-工作空间与功能包","工作空间与功能包",[7],"0300",{"path":17608,"stem":17609,"title":17610,"authors":17611,"date":17576,"chapterOrder":17612,"chapterDepth":17594,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0400-si-da-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F0400-四大通信","四大通信",[7],"0400",{"path":17614,"stem":17615,"title":17616,"authors":17617,"date":17576,"chapterOrder":17618,"chapterDepth":17594,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0500-ros2-qi-ta-tong-xin-ji-zhi","wiki\u002F2023-12-30-ros2-tutorial\u002F0500-ROS2其他通信机制","ROS2其他通信机制",[7],"0500",{"path":17620,"stem":17621,"title":17622,"authors":17623,"date":17576,"chapterOrder":17624,"chapterDepth":17594,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0600-launch","wiki\u002F2023-12-30-ros2-tutorial\u002F0600-Launch","Launch",[7],"0600",{"path":17626,"stem":17627,"title":17628,"authors":17629,"date":17576,"chapterOrder":17630,"chapterDepth":17594,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0700-hui-su-rosbag2","wiki\u002F2023-12-30-ros2-tutorial\u002F0700-回溯rosbag2","回溯rosbag2",[7],"0700",{"path":17632,"stem":17633,"title":17634,"authors":17635,"date":17576,"chapterOrder":17636,"chapterDepth":17594,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F0800-zuo-biao-bian-huan-tf","wiki\u002F2023-12-30-ros2-tutorial\u002F0800-坐标变换TF","坐标变换TF",[7],"0800",{"path":17638,"stem":17639,"title":17640,"authors":17641,"date":17576,"chapterOrder":17642,"chapterDepth":17594,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\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建模语言",[7],"0900",{"path":17644,"stem":17645,"title":17646,"authors":17647,"date":17576,"chapterOrder":17648,"chapterDepth":17594,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1000-stage-ros2-fang-zhen-ping-tai","wiki\u002F2023-12-30-ros2-tutorial\u002F1000-Stage_Ros2仿真平台","Stage_Ros2仿真平台",[7],"1000",{"path":17650,"stem":17651,"title":17652,"authors":17653,"date":17576,"chapterOrder":17654,"chapterDepth":117,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0100-gazeboclassic","wiki\u002F2023-12-30-ros2-tutorial\u002F1100-0100-GazeboClassic","Gezebo Classic",[7],"1100-0100",{"path":17583,"stem":17585,"title":5,"authors":17656,"date":17576,"chapterOrder":17575,"chapterDepth":117,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},[7],{"path":17658,"stem":17659,"title":17660,"authors":17661,"date":17576,"chapterOrder":17662,"chapterDepth":117,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0300-gazebosim","wiki\u002F2023-12-30-ros2-tutorial\u002F1100-0300-GazeboSim","Gz Sim（Gazebo Harmonic）",[7],"1100-0300",{"path":17664,"stem":17665,"title":17666,"authors":17667,"date":17576,"chapterOrder":17668,"chapterDepth":117,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-0400-igngz2gzsim","wiki\u002F2023-12-30-ros2-tutorial\u002F1100-0400-Igngz2gzsim","将Ign Gazebo迁移至Gz Sim",[7],"1100-0400",{"path":17670,"stem":17671,"title":17672,"authors":17673,"date":17576,"chapterOrder":17674,"chapterDepth":17594,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1100-gezebo-fang-zhen-ping-tai","wiki\u002F2023-12-30-ros2-tutorial\u002F1100-Gezebo仿真平台","Gezebo仿真平台",[7],"1100",{"path":17676,"stem":17677,"title":17678,"authors":17679,"date":17576,"chapterOrder":17680,"chapterDepth":117,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0100-humble-ban-ben","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0100-Humble版本","Humble导航仿真",[7],"1200-0100",{"path":17682,"stem":17683,"title":17684,"authors":17685,"date":17576,"chapterOrder":17686,"chapterDepth":117,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0200-jazzy-ban-ben","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0200-Jazzy版本","Jazzy导航仿真",[7],"1200-0200",{"path":17688,"stem":17689,"title":17690,"authors":17691,"date":17576,"chapterOrder":17692,"chapterDepth":117,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0300-humble2jazzy","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0300-Humble2Jazzy","Humble与Jazzy导航的差异",[7],"1200-0300",{"path":17694,"stem":17695,"title":17696,"authors":17697,"date":17576,"chapterOrder":17698,"chapterDepth":124,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0100-you-xian-zhuang-tai-ji-fsm","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0100-有限状态机FSM","有限状态机（Finite State Machine）",[7],"1200-0400-0100",{"path":17700,"stem":17701,"title":17702,"authors":17703,"date":17576,"chapterOrder":17704,"chapterDepth":131,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0100-ji-ben-gai-nian","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0100-基本概念","基本概念",[7],"1200-0400-0200-0100",{"path":17706,"stem":17707,"title":17708,"authors":17709,"date":17576,"chapterOrder":17710,"chapterDepth":131,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0200-kong-zhi-yu-zhuang-shi-gui-ze","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0200-控制与装饰规则","控制与装饰规则",[7],"1200-0400-0200-0200",{"path":17712,"stem":17713,"title":17714,"authors":17715,"date":17576,"chapterOrder":17716,"chapterDepth":131,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0300-di-yi-ge-wan-zheng-cheng-xu","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0300-第一个完整程序","第一个完整程序",[7],"1200-0400-0200-0300",{"path":17718,"stem":17719,"title":17720,"authors":17721,"date":17576,"chapterOrder":17722,"chapterDepth":131,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0400-jie-dian-zhi-jian-chuan-shu-ju","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0400-节点之间传数据","节点之间传数据",[7],"1200-0400-0200-0400",{"path":17724,"stem":17725,"title":17726,"authors":17727,"date":17576,"chapterOrder":17728,"chapterDepth":131,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0500-chi-xu-ren-wu-yu-zhong-zhi","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0500-持续任务与中止","持续任务与中止",[7],"1200-0400-0200-0500",{"path":17730,"stem":17731,"title":17732,"authors":17733,"date":17576,"chapterOrder":17734,"chapterDepth":131,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0600-zu-he-shi-ji-ren-wu","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-0600-组合实际任务","组合实际任务",[7],"1200-0400-0200-0600",{"path":17736,"stem":17737,"title":17738,"authors":17739,"date":17576,"chapterOrder":17740,"chapterDepth":124,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-xing-wei-shu-bt","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-0200-行为树BT","行为树（BehaviorTree.CPP）",[7],"1200-0400-0200",{"path":17742,"stem":17743,"title":17744,"authors":17745,"date":17576,"chapterOrder":17746,"chapterDepth":117,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-fsm-yu-bt","wiki\u002F2023-12-30-ros2-tutorial\u002F1200-0400-FSM与BT","有限状态机FSM与行为树BT",[7],"1200-0400",{"path":17748,"stem":17749,"title":17750,"authors":17751,"date":17576,"chapterOrder":17752,"chapterDepth":17594,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\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(仿真篇)",[7],"1200",{"path":17754,"stem":17755,"title":17756,"authors":17757,"date":17576,"chapterOrder":17758,"chapterDepth":124,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-0100-boost-aiso","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-0100-Boost.Aiso","Boost.Asio库",[7],"1300-0100-0100",{"path":17760,"stem":17761,"title":17762,"authors":17763,"date":17576,"chapterOrder":17764,"chapterDepth":124,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\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库",[7],"1300-0100-0200",{"path":17766,"stem":17767,"title":17768,"authors":17769,"date":17576,"chapterOrder":17770,"chapterDepth":117,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-chuan-kou-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0100-串口通信","UART串口通信",[7],"1300-0100",{"path":17772,"stem":17773,"title":17774,"authors":17775,"date":17576,"chapterOrder":17776,"chapterDepth":124,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0100-socketcan","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0100-socketcan","SocketCAN",[7],"1300-0200-0100",{"path":17778,"stem":17779,"title":17780,"authors":17781,"date":17576,"chapterOrder":17782,"chapterDepth":124,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0200-ros2-socketcan","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-0200-ros2_socketcan","ROS2_SocketCAN",[7],"1300-0200-0200",{"path":17784,"stem":17785,"title":17786,"authors":17787,"date":17576,"chapterOrder":17788,"chapterDepth":117,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-can-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0200-CAN通信","CAN通信",[7],"1300-0200",{"path":17790,"stem":17791,"title":17756,"authors":17792,"date":17576,"chapterOrder":17793,"chapterDepth":124,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-0100-boost-aiso","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-0100-Boost.Aiso",[7],"1300-0300-0100",{"path":17795,"stem":17796,"title":17797,"authors":17798,"date":17576,"chapterOrder":17799,"chapterDepth":117,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-tcp-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0300-TCP通信","TCP通信",[7],"1300-0300",{"path":17801,"stem":17802,"title":17756,"authors":17803,"date":17576,"chapterOrder":17804,"chapterDepth":124,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-0100-boost-aiso","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-0100-Boost.Aiso",[7],"1300-0400-0100",{"path":17806,"stem":17807,"title":17808,"authors":17809,"date":17576,"chapterOrder":17810,"chapterDepth":117,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-udp-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-0400-UDP通信","UDP通信",[7],"1300-0400",{"path":17812,"stem":17813,"title":17814,"authors":17815,"date":17576,"chapterOrder":17816,"chapterDepth":17594,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1300-linux-ying-jian-tong-xin","wiki\u002F2023-12-30-ros2-tutorial\u002F1300-Linux硬件通信","Linux硬件通信",[7],"1300",{"path":17818,"stem":17819,"title":17820,"authors":17821,"date":17576,"chapterOrder":17822,"chapterDepth":117,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0100-ji-qi-ren-zu-cheng","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0100-机器人组成","机器人组成",[7],"1400-0100",{"path":17824,"stem":17825,"title":17826,"authors":17827,"date":17576,"chapterOrder":17828,"chapterDepth":124,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\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",[7],"1400-0200-0100",{"path":17830,"stem":17831,"title":17832,"authors":17833,"date":17576,"chapterOrder":17834,"chapterDepth":124,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-0200-yuan-cheng-fang-wen-zhuo-mian","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0200-0200-远程访问桌面","远程访问桌面",[7],"1400-0200-0200",{"path":17836,"stem":17837,"title":17838,"authors":17839,"date":17576,"chapterOrder":17840,"chapterDepth":117,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\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-工控机之远程开发环境","工控机之远程开发环境",[7],"1400-0200",{"path":17842,"stem":17843,"title":17844,"authors":17845,"date":17576,"chapterOrder":17846,"chapterDepth":117,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\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设备",[7],"1400-0300",{"path":17848,"stem":17849,"title":17850,"authors":17851,"date":17576,"chapterOrder":17852,"chapterDepth":117,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0400-fen-bu-shi-da-jian","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0400-分布式搭建","分布式搭建",[7],"1400-0400",{"path":17854,"stem":17855,"title":17856,"authors":17857,"date":17576,"chapterOrder":17858,"chapterDepth":117,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0500-you-hua-ri-zhi","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0500-优化日志","优化日志",[7],"1400-0500",{"path":17860,"stem":17861,"title":17862,"authors":17863,"date":17576,"chapterOrder":17864,"chapterDepth":124,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0100-li-cheng-ji-odom","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0100-里程计Odom","里程计Odom",[7],"1400-0600-0100",{"path":17866,"stem":17867,"title":17868,"authors":17869,"date":17576,"chapterOrder":17870,"chapterDepth":124,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0200-guan-xing-ji-imu","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0200-惯性计IMU","惯性计IMU",[7],"1400-0600-0200",{"path":17872,"stem":17873,"title":17874,"authors":17875,"date":17576,"chapterOrder":17876,"chapterDepth":124,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\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",[7],"1400-0600-0300",{"path":17878,"stem":17879,"title":17880,"authors":17881,"date":17576,"chapterOrder":17882,"chapterDepth":124,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0400-xiang-ji-camera","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0400-相机Camera","相机Camera",[7],"1400-0600-0400",{"path":17884,"stem":17885,"title":17886,"authors":17887,"date":17576,"chapterOrder":17888,"chapterDepth":124,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\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",[7],"1400-0600-0500",{"path":17890,"stem":17891,"title":17892,"authors":17893,"date":17576,"chapterOrder":17894,"chapterDepth":124,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0600-shou-bing-joy","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0600-手柄joy","手柄JOY",[7],"1400-0600-0600",{"path":17896,"stem":17897,"title":17898,"authors":17899,"date":17576,"chapterOrder":17900,"chapterDepth":124,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0700-jian-pan-kong-zhi-jie-dian","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-0700-键盘控制节点","键盘控制节点",[7],"1400-0600-0700",{"path":17902,"stem":17903,"title":17904,"authors":17905,"date":17576,"chapterOrder":17906,"chapterDepth":117,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-ying-jian-ping-tai","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0600-硬件平台","硬件平台",[7],"1400-0600",{"path":17908,"stem":17909,"title":17910,"authors":17911,"date":17576,"chapterOrder":17912,"chapterDepth":117,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0700-zuo-biao-xi-yu-hua-ti-guan-xi","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0700-坐标系与话题关系","坐标系与话题关系",[7],"1400-0700",{"path":17914,"stem":17915,"title":17916,"authors":17917,"date":17576,"chapterOrder":17918,"chapterDepth":131,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\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-轮式里程计标定","轮式里程计标定",[7],"1400-0800-0100-0100",{"path":17920,"stem":17921,"title":17922,"authors":17923,"date":17576,"chapterOrder":17924,"chapterDepth":131,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\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融合",[7],"1400-0800-0100-0200",{"path":17926,"stem":17927,"title":17928,"authors":17929,"date":17576,"chapterOrder":17930,"chapterDepth":124,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\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-轮式里程计标定与融合","轮式里程计标定与融合",[7],"1400-0800-0100",{"path":17932,"stem":17933,"title":17934,"authors":17935,"date":17576,"chapterOrder":17936,"chapterDepth":124,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0200-ji-guang-lei-da-gong-ju","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0200-激光雷达工具","激光雷达工具",[7],"1400-0800-0200",{"path":17938,"stem":17939,"title":17940,"authors":17941,"date":17576,"chapterOrder":17942,"chapterDepth":124,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0300-xiang-ji-shi-yong-jin-jie","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-0300-相机使用进阶","相机使用进阶",[7],"1400-0800-0300",{"path":17944,"stem":17945,"title":17946,"authors":17947,"date":17576,"chapterOrder":17948,"chapterDepth":117,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-ying-jian-ping-tai-jin-jie","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-0800-硬件平台进阶","硬件平台进阶",[7],"1400-0800",{"path":17950,"stem":17951,"title":17952,"authors":17953,"date":17576,"chapterOrder":17954,"chapterDepth":17594,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1400-ji-qi-ren-ying-jian","wiki\u002F2023-12-30-ros2-tutorial\u002F1400-机器人硬件","机器人硬件",[7],"1400",{"path":17956,"stem":17957,"title":17958,"authors":17959,"date":17576,"chapterOrder":17960,"chapterDepth":17594,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1500-ros2-control","wiki\u002F2023-12-30-ros2-tutorial\u002F1500-ROS2_Control","ROS2_Control",[7],"1500",{"path":17962,"stem":17963,"title":17964,"authors":17965,"date":17576,"chapterOrder":17966,"chapterDepth":17594,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\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工业机器人机械臂",[7],"1600",{"path":17968,"stem":17969,"title":17970,"authors":17971,"date":17576,"chapterOrder":17972,"chapterDepth":17594,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\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(实体篇)",[7],"1700",{"path":17974,"stem":17975,"title":17976,"authors":17977,"date":17576,"chapterOrder":17978,"chapterDepth":17594,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1800-microros","wiki\u002F2023-12-30-ros2-tutorial\u002F1800-MicroROS","MicroROS",[7],"1800",{"path":17980,"stem":17981,"title":17982,"authors":17983,"date":17576,"chapterOrder":17984,"chapterDepth":17594,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F1900-webots-fang-zhen-ping-tai","wiki\u002F2023-12-30-ros2-tutorial\u002F1900-Webots仿真平台","Webots仿真平台",[7],"1900",{"path":17986,"stem":17987,"title":17988,"authors":17989,"date":17576,"chapterOrder":17990,"chapterDepth":17594,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":17581},"\u002Fwiki\u002F2023-12-30-ros2-tutorial\u002F2000-opencv","wiki\u002F2023-12-30-ros2-tutorial\u002F2000-OpenCV","OpenCV",[7],"2000",{"path":17578,"stem":17992,"title":17993,"authors":17994,"date":17576,"chapterOrder":17995,"chapterDepth":17594,"docKey":17577,"docRoot":17578,"docTitle":17579,"isWikiDoc":120,"isWikiIndex":120},"wiki\u002F2023-12-30-ros2-tutorial\u002Findex","ROS2机器人操作系统教程",[7],null,[17997,17999,18002,18005],{"name":7,"image":17998},"\u002Fimages\u002Fmember_photo\u002F董佳辉.jpg",{"name":18000,"image":18001},"宫金良","\u002Fimages\u002Fmember_photo\u002F宫金良.jpg",{"name":18003,"image":18004},"巩丽","\u002Fimages\u002Fmember_photo\u002F巩丽.png",{"name":18006,"image":18007},"张彦斐","\u002Fimages\u002Fmember_photo\u002F张彦斐.jpg",1792431901953]