[{"data":1,"prerenderedAt":17733},["ShallowReactive",2],{"wiki-page-/wiki/2023-12-30-ros2-tutorial/ch11-2-ignitiongazebo":3,"wiki-doc-items-/wiki/2023-12-30-ros2-tutorial/ch11-2-ignitiongazebo":17589},{"id":4,"title":5,"body":6,"chapter":17575,"chapterSort":17576,"date":17577,"description":107,"docKey":17578,"docRoot":17579,"docTitle":17580,"extension":17581,"isWikiDoc":118,"isWikiIndex":17582,"layout":17583,"meta":17584,"navigation":118,"path":17585,"seo":17586,"stem":17587,"wikiDepth":115,"__hash__":17588},"content/wiki/2023-12-30-ros2-tutorial/ch11-2-IgnitionGazebo.md","Ignition Gazebo（Gazebo Fortress）",{"type":7,"value":8,"toc":17572},"minimark",[9,14,18,26,31,34,37,40,43,46,62,65,71,74,80,86,93,98,101,197,203,208,211,214,251,254,273,280,285,290,293,298,301,304,309,316,322,327,332,337,342,347,352,357,365,370,456,461,466,471,476,481,486,489,494,508,513,516,519,524,529,533,536,547,550,555,562,607,610,632,635,640,645,652,673,687,692,698,722,725,730,733,736,741,744,770,781,784,787,807,810,813,821,824,830,833,845,848,860,863,875,878,902,909,914,917,1368,1371,1396,1400,1407,1412,1415,1433,1438,1443,1446,1467,1470,1475,1480,1483,1488,1493,1500,1503,1508,1511,1532,1537,1542,1545,2163,2166,2171,2176,2179,2197,2202,2207,2210,2235,2238,2254,2269,2274,2281,2284,2289,2336,2339,2344,2364,2369,2372,2524,2527,2713,2716,2877,2882,2889,2892,2895,2898,2903,2908,6120,6125,6204,6207,9094,9099,9102,9290,9295,9297,9311,9316,9318,9340,9343,9346,9351,9357,9360,9365,9368,9374,9377,9380,9385,9388,9436,9442,9447,9466,9471,9474,9477,12845,12849,12851,12865,12869,12871,12891,12893,12898,12902,12905,12908,12915,12920,12923,12928,12931,13223,13226,13231,13234,13611,13615,13617,13636,13640,13643,13685,13687,13692,13700,13703,13709,13715,13720,13726,13729,13735,13822,13825,13828,13946,13951,13958,14290,14295,14628,14631,15084,15089,15092,15612,15616,15618,15634,15638,15640,15674,15677,15691,15694,15697,15713,15716,15724,15729,15733,15736,15741,15751,15825,15828,15833,15838,15841,16691,16694,16857,16864,16867,16894,16897,16902,16904,17466,17470,17472,17488,17492,17494,17528,17530,17533,17547,17552,17557,17559,17565,17568],[10,11,13],"h3",{"id":12},"ignition-gazebogazebo-fortress基于ros2-humble","Ignition Gazebo（Gazebo Fortress，基于ROS2 Humble）",[15,16,17],"p",{},"** 建议使用ROS2 Jazzy的，这个ROS2 Humble的Gazebo像过渡版本，代码可能和后续版本又冲突！ **\n(该版本教程已经停更，以后会专注于更新ROS2 Jazzy及之后的版本，也就是更新Gazebo Harmonic及之后的版本。)",[15,19,20,21],{},"详见",[22,23,25],"nuxt-link",{"to":24},"/wiki/2023-12-30-ros2-tutorial/ch11-3-gazebosim#Gz Sim（Gazebo Harmonic 及之后的版本（ROS2 Jazzy及之后的版本））","Gz Sim教程",[27,28,30],"h4",{"id":29},"ign-gazebo安装与运行","Ign Gazebo安装与运行",[15,32,33],{},"Gazebo每个版本的变化都很大。",[15,35,36],{},"特别是ROS1用的老版Gazebo(黑色界面)和ROS2用的新版Gazebo(白色界面)。",[15,38,39],{},"ROS2的不同版本的Gazebo跨度也很大，比如Humble和Jazzy及Jazzy之后的版本之间很多标签区别很大。",[15,41,42],{},"本文使用humble版本(即Ignition Gazebo)当做教程。",[15,44,45],{},"当然，为了兼容以后的Gazebo，在下方也会有教程教你如何从ign gazebo迁移到gazebo sim（最最最新版gazebo）。",[15,47,48,49,53,54,61],{},"Ignition Gazebo 是 ROS2 中使用的全新机器人仿真工具，",[50,51,52],"strong",{},"它是 Gazebo 的升级版本","。在Humble他还叫Ignition Gazebo(也叫Gazebo Fortress)，在Jazzy中叫Gazebo Harmonic(去掉了Ignition的名字)(",[55,56,60],"a",{"href":57,"rel":58},"https://community.gazebosim.org/t/a-new-era-for-gazebo/1356)%E3%80%82%E5%AE%83%E5%85%B7%E5%A4%87%E6%9B%B4%E5%A5%BD%E7%9A%84%E6%80%A7%E8%83%BD%E5%92%8C%E5%8F%AF%E7%94%A8%E6%80%A7%EF%BC%8C%E5%B9%B6%E9%80%9A%E8%BF%87%E7%B4%A7%E5%AF%86%E9%9B%86%E6%88%90",[59],"nofollow","https://community.gazebosim.org/t/a-new-era-for-gazebo/1356)。它具备更好的性能和可用性，并通过紧密集成"," ROS2 来提供强大的仿真环境。Ignition Gazebo 支持各种机器人平台和传感器，并提供灵活的配置选项和易于使用的界面。它的物理引擎和传感器模型可以帮助开发人员进行机器人系统的开发、测试和验证。无论是研究还是教育，Ignition Gazebo 都是一个强大的工具。",[15,63,64],{},"如果想从Ignition Gazebo(ROS2 Humble)迁移到Gazebo(ROS2 Jazzy)，请往下翻翻，下面有一节是讲如何迁移的。",[15,66,67],{},[55,68,69],{"href":69,"rel":70},"https://docs.ros.org/en/humble/Tutorials/Advanced/Simulators/Gazebo/Gazebo.html",[59],[15,72,73],{},"下面这个网站是官方教程(ROS2 Humble的Ignition Gazebo Fortress)：",[15,75,76],{},[55,77,78],{"href":78,"rel":79},"https://gazebosim.org/docs/fortress/getstarted/",[59],[15,81,82],{},[55,83,84],{"href":84,"rel":85},"https://gazebosim.org/docs/fortress/library_reference_nav/",[59],[15,87,88,89],{},"源码：",[55,90,91],{"href":91,"rel":92},"https://github.com/gazebosim/docs/blob/master/fortress/tutorials",[59],[15,94,95],{},[50,96,97],{},"安装",[15,99,100],{},"Ignition Gazebo 是不依赖于ROS2的一个独立的项目，可以独自安装。但是如果安装了ROS2，在ROS2存储库中已经集成了对应版本的 Ignition Gazebo，可以调用如下指令直接安装：",[102,103,108],"pre",{"className":104,"code":105,"language":106,"meta":107,"style":107},"language-bash shiki shiki-themes github-light github-dark","\n# 通用命令\nsudo apt install ros-${ROS_DISTRO}-ros-gz\n\n# Humble版本\nsudo apt install ros-humble-ros-gz\n\n# Jazzy版本\nsudo apt install ros-jazzy-ros-gz\n","bash","",[109,110,111,120,127,151,156,162,174,179,185],"code",{"__ignoreMap":107},[112,113,116],"span",{"class":114,"line":115},"line",1,[112,117,119],{"emptyLinePlaceholder":118},true,"\n",[112,121,123],{"class":114,"line":122},2,[112,124,126],{"class":125},"sJ8bj","# 通用命令\n",[112,128,130,134,138,141,144,148],{"class":114,"line":129},3,[112,131,133],{"class":132},"sScJk","sudo",[112,135,137],{"class":136},"sZZnC"," apt",[112,139,140],{"class":136}," install",[112,142,143],{"class":136}," ros-",[112,145,147],{"class":146},"sVt8B","${ROS_DISTRO}",[112,149,150],{"class":136},"-ros-gz\n",[112,152,154],{"class":114,"line":153},4,[112,155,119],{"emptyLinePlaceholder":118},[112,157,159],{"class":114,"line":158},5,[112,160,161],{"class":125},"# Humble版本\n",[112,163,165,167,169,171],{"class":114,"line":164},6,[112,166,133],{"class":132},[112,168,137],{"class":136},[112,170,140],{"class":136},[112,172,173],{"class":136}," ros-humble-ros-gz\n",[112,175,177],{"class":114,"line":176},7,[112,178,119],{"emptyLinePlaceholder":118},[112,180,182],{"class":114,"line":181},8,[112,183,184],{"class":125},"# Jazzy版本\n",[112,186,188,190,192,194],{"class":114,"line":187},9,[112,189,133],{"class":132},[112,191,137],{"class":136},[112,193,140],{"class":136},[112,195,196],{"class":136}," ros-jazzy-ros-gz\n",[15,198,199],{},[200,201],"img",{"alt":107,"src":202},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1705.webp",[15,204,205],{},[50,206,207],{},"运行",[15,209,210],{},"Ignition Gazebo 安装完毕之后，可以通过两种方式启动。",[15,212,213],{},"方式1，以Ignition Gazebo 的方式启动，指令如下：",[102,215,217],{"className":104,"code":216,"language":106,"meta":107,"style":107},"\n# Humble版本\nign gazebo\n\n# Jazzy版本\ngz sim\n",[109,218,219,223,227,235,239,243],{"__ignoreMap":107},[112,220,221],{"class":114,"line":115},[112,222,119],{"emptyLinePlaceholder":118},[112,224,225],{"class":114,"line":122},[112,226,161],{"class":125},[112,228,229,232],{"class":114,"line":129},[112,230,231],{"class":132},"ign",[112,233,234],{"class":136}," gazebo\n",[112,236,237],{"class":114,"line":153},[112,238,119],{"emptyLinePlaceholder":118},[112,240,241],{"class":114,"line":158},[112,242,184],{"class":125},[112,244,245,248],{"class":114,"line":164},[112,246,247],{"class":132},"gz",[112,249,250],{"class":136}," sim\n",[15,252,253],{},"方式2，以ROS2的方式 启动，指令如下 ：",[102,255,257],{"className":104,"code":256,"language":106,"meta":107,"style":107},"ros2 launch ros_gz_sim gz_sim.launch.py\n",[109,258,259],{"__ignoreMap":107},[112,260,261,264,267,270],{"class":114,"line":115},[112,262,263],{"class":132},"ros2",[112,265,266],{"class":136}," launch",[112,268,269],{"class":136}," ros_gz_sim",[112,271,272],{"class":136}," gz_sim.launch.py\n",[15,274,275,276,279],{},"二者运行结果一致，如下图所示：在弹出窗口中，选择仿真环境然后点击",[109,277,278],{},"run","按钮即可运行。",[15,281,282],{},[200,283],{"alt":107,"src":284},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1706.webp",[15,286,287],{},[50,288,289],{},"界面介绍",[15,291,292],{},"接下来以Empty仿真环境为例，介绍一下Ignition Gazebo的界面组成。",[15,294,295],{},[200,296],{"alt":107,"src":297},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1707.webp",[15,299,300],{},"注意：如果你的Gazebo不卡，但是Ignition Gazebo巨卡的话，请确认Ignition Gazebo是以独显打开的，而不是核显。",[15,302,303],{},"如果不会切换应用显卡，可以直接把核显关闭掉，从混合输出切换为独立显卡输出。",[15,305,306],{},[50,307,308],{},"工具栏",[310,311,312],"ul",{},[313,314,315],"li",{},"顶部的工具栏包含两个按钮，左侧的文件菜单按钮（水平条纹）和右侧的插件按钮（垂直省略号）。",[317,318,319],"ol",{},[313,320,321],{},"文件菜单按钮（水平条纹）",[15,323,324],{},[200,325],{"alt":107,"src":326},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1708.webp",[310,328,329],{},[313,330,331],{},"文件菜单按钮包含将仿真环境保存到文件、保存和加载界面配置以及自定义界面样式等设置。",[317,333,334],{"start":122},[313,335,336],{},"右侧的插件按钮（垂直省略号）",[15,338,339],{},[200,340],{"alt":107,"src":341},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1709.webp",[310,343,344],{},[313,345,346],{},"插件按钮列出了所有可用的插件。点击后会弹出插件列表，向下滚动此列表以查看所有插件。 当选择一个时，其界面将出现在右侧面板中。",[15,348,349],{},[50,350,351],{},"3D视窗",[310,353,354],{},[313,355,356],{},"左上方工具栏包含多种几何体（球体、框体、圆柱体）按钮和变换控件。通过集合体按钮可以直接将盒子、球体或圆柱体模型插入仿真环境。只需单击要插入的形状，然后将其放入环境中。该形状将自动捕捉到地平面上。",[15,358,359,362],{},[200,360],{"alt":107,"src":361},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1710.webp",[200,363],{"alt":107,"src":364},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1711.webp",[310,366,367],{},[313,368,369],{},"主视图会显示仿真环境，我们可以通过鼠标以不同方式来导航场景，相关操作如下：",[102,371,373],{"className":104,"code":372,"language":106,"meta":107,"style":107},"左键单击：选择实体\n右键单击：打开带有选项的菜单：\n   Move to：移动到以实体为中心的场景\n   Follow：选择一个实体让视图保持居中，无论是移动还是平移\n   Remove：从模拟中删除实体\n   Copy：复制实体\n   Past: 粘贴实体\n   View：显示实体的重心（Center of Mass）、碰撞边界（Collisions）、惯性（Inertia）、\n         关节（Joints）、坐标系（Frames）、透明度（Transparent）、线框（Wireframe）等属性\n左键单击并拖动：在场景中平移\n右键单击并拖动：放大和缩小\n滚轮向前/向后：放大和缩小\n滚轮单击并拖动：旋转场景\n",[109,374,375,380,385,393,398,403,408,416,427,432,438,444,450],{"__ignoreMap":107},[112,376,377],{"class":114,"line":115},[112,378,379],{"class":132},"左键单击：选择实体\n",[112,381,382],{"class":114,"line":122},[112,383,384],{"class":132},"右键单击：打开带有选项的菜单：\n",[112,386,387,390],{"class":114,"line":129},[112,388,389],{"class":132},"   Move",[112,391,392],{"class":136}," to：移动到以实体为中心的场景\n",[112,394,395],{"class":114,"line":153},[112,396,397],{"class":132},"   Follow：选择一个实体让视图保持居中，无论是移动还是平移\n",[112,399,400],{"class":114,"line":158},[112,401,402],{"class":132},"   Remove：从模拟中删除实体\n",[112,404,405],{"class":114,"line":164},[112,406,407],{"class":132},"   Copy：复制实体\n",[112,409,410,413],{"class":114,"line":176},[112,411,412],{"class":132},"   Past:",[112,414,415],{"class":136}," 粘贴实体\n",[112,417,418,421,424],{"class":114,"line":181},[112,419,420],{"class":132},"   View：显示实体的重心（Center",[112,422,423],{"class":136}," of",[112,425,426],{"class":136}," Mass）、碰撞边界（Collisions）、惯性（Inertia）、\n",[112,428,429],{"class":114,"line":187},[112,430,431],{"class":132},"         关节（Joints）、坐标系（Frames）、透明度（Transparent）、线框（Wireframe）等属性\n",[112,433,435],{"class":114,"line":434},10,[112,436,437],{"class":132},"左键单击并拖动：在场景中平移\n",[112,439,441],{"class":114,"line":440},11,[112,442,443],{"class":132},"右键单击并拖动：放大和缩小\n",[112,445,447],{"class":114,"line":446},12,[112,448,449],{"class":132},"滚轮向前/向后：放大和缩小\n",[112,451,453],{"class":114,"line":452},13,[112,454,455],{"class":132},"滚轮单击并拖动：旋转场景\n",[310,457,458],{},[313,459,460],{},"想移动这个球，需要点左上角的移动模式，再左键单击选中物体",[15,462,463],{},[200,464],{"alt":107,"src":465},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1712.webp",[15,467,468],{},[200,469],{"alt":107,"src":470},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1713.webp",[310,472,473],{},[313,474,475],{},"在视窗的底部，从左到右分别是是播放、步长按钮和实时因子（Real-Time Factor，RTF）。点击播放按钮将开始运行仿真环境， 再次点击可以暂停运行。步长按钮用于设置仿真时间的离散单位，可以通过将鼠标悬停在按钮上来自定义步长。实时因子表示仿真运行速度相对于真实时间的比例。",[15,477,478],{},[200,479],{"alt":107,"src":480},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1714.webp",[15,482,483],{},[50,484,485],{},"右侧面板",[15,487,488],{},"右侧面板用于显示插件，当前仿真环境默认包含两个插件：Model和Entity Tree。",[15,490,491],{},[200,492],{"alt":107,"src":493},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1715.webp",[310,495,496,499,502,505],{},[313,497,498],{},"Entity Tree 中会显示仿真环境中的实体列表；",[313,500,501],{},"点击Entity Tree中的实体后，可以在Model中显示该实体的相关信息。",[313,503,504],{},"也可以按住 Ctrl 并单击以选择多个实体；",[313,506,507],{},"还可以右键单击任何插件以打开基本设置或关闭。",[15,509,510],{},[200,511],{"alt":107,"src":512},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1716.webp",[15,514,515],{},"在Ignition Gazebo中内置了许多插件，可以点击工具栏的右侧按钮自行添加，比如：可以选择 Grid Config 插件调整世界网格的特征，包括单元格大小、网格位置、单元格计数、或颜色等。",[15,517,518],{},"后期随着应用的深入，也会陆续介绍其他一些插件。",[15,520,521],{},[200,522],{"alt":107,"src":523},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1717.webp",[15,525,526],{},[200,527],{"alt":107,"src":528},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1718.webp",[27,530,532],{"id":531},"与ros2集成","与ROS2集成",[15,534,535],{},"本节将介绍如何实现Ignition Gazebo与ROS2的集成，以实现二者之间的交互，比如，可以通过ROS2的键盘控制节点控制机器人运动，并且在rviz2中显示机器人的里程计(odom)数据。其流程大致如下：",[317,537,538,541,544],{},[313,539,540],{},"启动 Ignition Gazebo 仿真环境；",[313,542,543],{},"通过 ros_gz_bridge 建立 ROS2 与 Ignition Gazebo 的连接；",[313,545,546],{},"启动 ROS2 相关节点实现与 Ignition Gazebo 的数据收发。",[15,548,549],{},"Ignition Gazebo与ROS2的的所有集成实现，基本都遵循上述流程。",[15,551,552],{},[50,553,554],{},"启动仿真环境",[15,556,557,558,561],{},"在 Ignition Gazebo 安装时，已经内置了一些仿真环境，直接启动即可。在此我们可以使用名为",[109,559,560],{},"visualize_lidar.sdf","的仿真文件，该文件对应的仿真环境中包括了差速机器人以及激光雷达的仿真。启动指令如下：",[102,563,565],{"className":104,"code":564,"language":106,"meta":107,"style":107},"ign gazebo -v 4 -r visualize_lidar.sdf\n#或者\ngz sim -v 4 -r visualize_lidar.sdf\n",[109,566,567,587,592],{"__ignoreMap":107},[112,568,569,571,574,578,581,584],{"class":114,"line":115},[112,570,231],{"class":132},[112,572,573],{"class":136}," gazebo",[112,575,577],{"class":576},"sj4cs"," -v",[112,579,580],{"class":576}," 4",[112,582,583],{"class":576}," -r",[112,585,586],{"class":136}," visualize_lidar.sdf\n",[112,588,589],{"class":114,"line":122},[112,590,591],{"class":125},"#或者\n",[112,593,594,596,599,601,603,605],{"class":114,"line":129},[112,595,247],{"class":132},[112,597,598],{"class":136}," sim",[112,600,577],{"class":576},[112,602,580],{"class":576},[112,604,583],{"class":576},[112,606,586],{"class":136},[15,608,609],{},"或者也可以以ROS2 launch的方式启动，指令如下：",[102,611,613],{"className":104,"code":612,"language":106,"meta":107,"style":107},"ros2 launch ros_gz_sim gz_sim.launch.py gz_args:=\"-v 4 -r visualize_lidar.sdf\" # 启动状态\n",[109,614,615],{"__ignoreMap":107},[112,616,617,619,621,623,626,629],{"class":114,"line":115},[112,618,263],{"class":132},[112,620,266],{"class":136},[112,622,269],{"class":136},[112,624,625],{"class":136}," gz_sim.launch.py",[112,627,628],{"class":136}," gz_args:=\"-v 4 -r visualize_lidar.sdf\"",[112,630,631],{"class":125}," # 启动状态\n",[15,633,634],{},"两种方式本质相同，都是启动了Ignition Gazebo并且加载了visualize_lidar.sdf文件。",[15,636,637],{},[200,638],{"alt":107,"src":639},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1719.webp",[15,641,642],{},[50,643,644],{},"建立连接",[15,646,647,648,651],{},"虽然仿真环境中的机器人已经配置了运动控制插件，可以通过",[109,649,650],{},"/model/vehicle_blue/cmd_vel","话题订阅速度指令并运动，但是Ignition Gazebo与ROS2中的消息格式并不一致，所以还需要通过ros_gz_bridge这一桥接功能包，实现二者之间消息的转换，调用指令如下：",[102,653,655],{"className":104,"code":654,"language":106,"meta":107,"style":107},"ros2 run ros_gz_bridge parameter_bridge /model/vehicle_blue/cmd_vel@geometry_msgs/msg/Twist]gz.msgs.Twist\n",[109,656,657],{"__ignoreMap":107},[112,658,659,661,664,667,670],{"class":114,"line":115},[112,660,263],{"class":132},[112,662,663],{"class":136}," run",[112,665,666],{"class":136}," ros_gz_bridge",[112,668,669],{"class":136}," parameter_bridge",[112,671,672],{"class":136}," /model/vehicle_blue/cmd_vel@geometry_msgs/msg/Twist]gz.msgs.Twist\n",[15,674,675,676,678,679,682,683,686],{},"通过该指令可以将发布在",[109,677,650],{},"话题上的",[109,680,681],{},"geometry_msgs/msg/Twist","类型的ROS2消息转换成可以被Ignition Gzebo识别的",[109,684,685],{},"gz.msgs.Twist","类型的消息。",[15,688,689],{},[50,690,691],{},"启动ROS2节点",[15,693,694,695,697],{},"启动ROS2的键盘控制节点，并将话题重映射为",[109,696,650],{},"，指令如下：",[102,699,701],{"className":104,"code":700,"language":106,"meta":107,"style":107},"ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args -r /cmd_vel:=/model/vehicle_blue/cmd_vel\n",[109,702,703],{"__ignoreMap":107},[112,704,705,707,709,712,714,717,719],{"class":114,"line":115},[112,706,263],{"class":132},[112,708,663],{"class":136},[112,710,711],{"class":136}," teleop_twist_keyboard",[112,713,711],{"class":136},[112,715,716],{"class":576}," --ros-args",[112,718,583],{"class":576},[112,720,721],{"class":136}," /cmd_vel:=/model/vehicle_blue/cmd_vel\n",[15,723,724],{},"接下来就可以使用键盘控制机器人运动了。",[15,726,727],{},[200,728],{"alt":107,"src":729},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1720.webp",[27,731,732],{"id":732},"ros_gz_bridge",[15,734,735],{},"ros_gz_bridge是连接ROS2与Ignition Gazebo的桥梁，ROS2与Ignition Gazebo使用的消息并不兼容，必须通过ros_gz_bridge进行转换。",[15,737,738],{},[50,739,740],{},"ros_gz_bridge使用语法",[15,742,743],{},"ROS2与Ignition Gazebo的桥接是通过ros_gz_bridge包中的parameter_bridge节点实现，其使用语法如下：",[102,745,747],{"className":104,"code":746,"language":106,"meta":107,"style":107},"parameter_bridge [\u003Ctopic@ROS2_type@Gz_type> ..]  [\u003Cservice@ROS2_srv_type[@Gz_req_type@Gz_rep_type]> ..]\n",[109,748,749],{"__ignoreMap":107},[112,750,751,754,757,760,763,767],{"class":114,"line":115},[112,752,753],{"class":132},"parameter_bridge",[112,755,756],{"class":146}," [\u003Ctopic@ROS2_type@Gz_type> ",[112,758,759],{"class":136},"..]",[112,761,762],{"class":146},"  [\u003Cservice@ROS2_srv_type[@Gz_req_type@Gz_rep_type]",[112,764,766],{"class":765},"szBVR",">",[112,768,769],{"class":146}," ..]\n",[15,771,772,773,776,777,780],{},"在话题Topic中， ",[50,774,775],{},"第一个@"," 符号是话题名称和消息类型的 ",[50,778,779],{},"分隔符"," 。",[15,782,783],{},"第一个@符号后面是ROS消息类型。",[15,785,786],{},"ROS消息类型后面是@、[或]符号：",[310,788,789,795,801],{},[313,790,791,794],{},[50,792,793],{},"@","  表示双向桥接；",[313,796,797,800],{},[50,798,799],{},"[","  表示从Ignition Gazebo到ROS的桥接；",[313,802,803,806],{},[50,804,805],{},"]","  表示从ROS到Ignition Gazebo的桥接。",[15,808,809],{},"方向符号后是Gazebo Transport消息类型。",[15,811,812],{},"（两个@不是同一个含义）",[15,814,815,816,818,819,780],{},"在服务Service中， ",[50,817,775],{}," 符号是服务名称和类型的 ",[50,820,779],{},[15,822,823],{},"第一个@符号后面是ROS服务类型。可以选择地包括Gazebo请求和响应类型，在它们之间用@符号分隔。",[15,825,826,829],{},[50,827,828],{},"仅"," 支持将Gazebo服务公开为ROS服务，即ROS服务将请求转发到Gazebo服务，然后将响应转发回ROS客户端。",[15,831,832],{},"双向桥接示例：",[102,834,836],{"className":104,"code":835,"language":106,"meta":107,"style":107},"parameter_bridge /chatter@std_msgs/String@gz.msgs.StringMsg\n",[109,837,838],{"__ignoreMap":107},[112,839,840,842],{"class":114,"line":115},[112,841,753],{"class":132},[112,843,844],{"class":136}," /chatter@std_msgs/String@gz.msgs.StringMsg\n",[15,846,847],{},"从Gazebo到ROS的桥接示例：",[102,849,851],{"className":104,"code":850,"language":106,"meta":107,"style":107},"parameter_bridge /chatter@std_msgs/String[gz.msgs.StringMsg\n",[109,852,853],{"__ignoreMap":107},[112,854,855,857],{"class":114,"line":115},[112,856,753],{"class":132},[112,858,859],{"class":136}," /chatter@std_msgs/String[gz.msgs.StringMsg\n",[15,861,862],{},"从ROS到Gazebo的桥接示例：",[102,864,866],{"className":104,"code":865,"language":106,"meta":107,"style":107},"parameter_bridge /chatter@std_msgs/String]gz.msgs.StringMsg\n",[109,867,868],{"__ignoreMap":107},[112,869,870,872],{"class":114,"line":115},[112,871,753],{"class":132},[112,873,874],{"class":136}," /chatter@std_msgs/String]gz.msgs.StringMsg\n",[15,876,877],{},"服务桥接示例：",[102,879,881],{"className":104,"code":880,"language":106,"meta":107,"style":107},"parameter_bridge /world/default/control@ros_gz_interfaces/srv/ControlWorld\n或者：\nparameter_bridge /world/default/control@ros_gz_interfaces/srv/ControlWorld@gz.msgs.WorldControl@gz.msgs.Boolean\n",[109,882,883,890,895],{"__ignoreMap":107},[112,884,885,887],{"class":114,"line":115},[112,886,753],{"class":132},[112,888,889],{"class":136}," /world/default/control@ros_gz_interfaces/srv/ControlWorld\n",[112,891,892],{"class":114,"line":122},[112,893,894],{"class":132},"或者：\n",[112,896,897,899],{"class":114,"line":129},[112,898,753],{"class":132},[112,900,901],{"class":136}," /world/default/control@ros_gz_interfaces/srv/ControlWorld@gz.msgs.WorldControl@gz.msgs.Boolean\n",[15,903,904,905,908],{},"也可以运行",[109,906,907],{},"ros2 run ros_gz_bridge parameter_bridge -h","指令查看官方说明文档。",[15,910,911],{},[50,912,913],{},"ros_gz_bridge支持的消息类型",[15,915,916],{},"以下是ROS2与Ignition Gazebo中话题消息类型对应表：",[918,919,920,934],"table",{},[921,922,923],"thead",{},[924,925,926,931],"tr",{},[927,928,930],"th",{"align":929},"left","ROS2消息类型",[927,932,933],{"align":929},"Gazebo Transport 类型",[935,936,937,946,954,962,970,977,985,993,1000,1007,1013,1021,1028,1035,1043,1050,1058,1065,1073,1081,1089,1097,1105,1113,1121,1129,1137,1145,1153,1161,1169,1177,1185,1193,1201,1209,1217,1225,1233,1241,1249,1257,1265,1273,1281,1289,1297,1305,1313,1321,1329,1337,1345,1353,1360],"tbody",{},[924,938,939,943],{},[940,941,942],"td",{"align":929},"builtin_interfaces/msg/Time",[940,944,945],{"align":929},"gz.msgs.Time",[924,947,948,951],{},[940,949,950],{"align":929},"geometry_msgs/msg/Point",[940,952,953],{"align":929},"gz.msgs.Vector3d",[924,955,956,959],{},[940,957,958],{"align":929},"geometry_msgs/msg/Pose",[940,960,961],{"align":929},"gz.msgs.Pose",[924,963,964,967],{},[940,965,966],{"align":929},"geometry_msgs/msg/PoseArray",[940,968,969],{"align":929},"gz.msgs.Pose_V",[924,971,972,975],{},[940,973,974],{"align":929},"geometry_msgs/msg/PoseStamped",[940,976,961],{"align":929},[924,978,979,982],{},[940,980,981],{"align":929},"geometry_msgs/msg/PoseWithCovariance",[940,983,984],{"align":929},"gz.msgs.PoseWithCovariance",[924,986,987,990],{},[940,988,989],{"align":929},"geometry_msgs/msg/Quaternion",[940,991,992],{"align":929},"gz.msgs.Quaternion",[924,994,995,998],{},[940,996,997],{"align":929},"geometry_msgs/msg/Transform",[940,999,961],{"align":929},[924,1001,1002,1005],{},[940,1003,1004],{"align":929},"geometry_msgs/msg/TransformStamped",[940,1006,961],{"align":929},[924,1008,1009,1011],{},[940,1010,681],{"align":929},[940,1012,685],{"align":929},[924,1014,1015,1018],{},[940,1016,1017],{"align":929},"geometry_msgs/msg/TwistWithCovariance",[940,1019,1020],{"align":929},"gz.msgs.TwistWithCovariance",[924,1022,1023,1026],{},[940,1024,1025],{"align":929},"geometry_msgs/msg/TwistWithCovarianceStamped",[940,1027,1020],{"align":929},[924,1029,1030,1033],{},[940,1031,1032],{"align":929},"geometry_msgs/msg/Vector3",[940,1034,953],{"align":929},[924,1036,1037,1040],{},[940,1038,1039],{"align":929},"geometry_msgs/msg/Wrench",[940,1041,1042],{"align":929},"gz.msgs.Wrench",[924,1044,1045,1048],{},[940,1046,1047],{"align":929},"geometry_msgs/msg/WrenchStamped",[940,1049,1042],{"align":929},[924,1051,1052,1055],{},[940,1053,1054],{"align":929},"nav_msgs/msg/Odometry",[940,1056,1057],{"align":929},"gz.msgs.Odometry",[924,1059,1060,1062],{},[940,1061,1054],{"align":929},[940,1063,1064],{"align":929},"gz.msgs.OdometryWithCovariance",[924,1066,1067,1070],{},[940,1068,1069],{"align":929},"rcl_interfaces/msg/ParameterValue",[940,1071,1072],{"align":929},"gz.msgs.Any",[924,1074,1075,1078],{},[940,1076,1077],{"align":929},"ros_gz_interfaces/msg/Altimeter",[940,1079,1080],{"align":929},"gz.msgs.Altimeter",[924,1082,1083,1086],{},[940,1084,1085],{"align":929},"ros_gz_interfaces/msg/Contact",[940,1087,1088],{"align":929},"gz.msgs.Contact",[924,1090,1091,1094],{},[940,1092,1093],{"align":929},"ros_gz_interfaces/msg/Contacts",[940,1095,1096],{"align":929},"gz.msgs.Contacts",[924,1098,1099,1102],{},[940,1100,1101],{"align":929},"ros_gz_interfaces/msg/Dataframe",[940,1103,1104],{"align":929},"gz.msgs.Dataframe",[924,1106,1107,1110],{},[940,1108,1109],{"align":929},"ros_gz_interfaces/msg/Entity",[940,1111,1112],{"align":929},"gz.msgs.Entity",[924,1114,1115,1118],{},[940,1116,1117],{"align":929},"ros_gz_interfaces/msg/Float32Array",[940,1119,1120],{"align":929},"gz.msgs.Float_V",[924,1122,1123,1126],{},[940,1124,1125],{"align":929},"ros_gz_interfaces/msg/GuiCamera",[940,1127,1128],{"align":929},"gz.msgs.GUICamera",[924,1130,1131,1134],{},[940,1132,1133],{"align":929},"ros_gz_interfaces/msg/JointWrench",[940,1135,1136],{"align":929},"gz.msgs.JointWrench",[924,1138,1139,1142],{},[940,1140,1141],{"align":929},"ros_gz_interfaces/msg/Light",[940,1143,1144],{"align":929},"gz.msgs.Light",[924,1146,1147,1150],{},[940,1148,1149],{"align":929},"ros_gz_interfaces/msg/SensorNoise",[940,1151,1152],{"align":929},"gz.msgs.SensorNoise",[924,1154,1155,1158],{},[940,1156,1157],{"align":929},"ros_gz_interfaces/msg/StringVec",[940,1159,1160],{"align":929},"gz.msgs.StringMsg_V",[924,1162,1163,1166],{},[940,1164,1165],{"align":929},"ros_gz_interfaces/msg/TrackVisual",[940,1167,1168],{"align":929},"gz.msgs.TrackVisual",[924,1170,1171,1174],{},[940,1172,1173],{"align":929},"ros_gz_interfaces/msg/VideoRecord",[940,1175,1176],{"align":929},"gz.msgs.VideoRecord",[924,1178,1179,1182],{},[940,1180,1181],{"align":929},"ros_gz_interfaces/msg/WorldControl",[940,1183,1184],{"align":929},"gz.msgs.WorldControl",[924,1186,1187,1190],{},[940,1188,1189],{"align":929},"rosgraph_msgs/msg/Clock*",[940,1191,1192],{"align":929},"gz.msgs.Clock*",[924,1194,1195,1198],{},[940,1196,1197],{"align":929},"sensor_msgs/msg/BatteryState",[940,1199,1200],{"align":929},"gz.msgs.BatteryState",[924,1202,1203,1206],{},[940,1204,1205],{"align":929},"sensor_msgs/msg/CameraInfo",[940,1207,1208],{"align":929},"gz.msgs.CameraInfo",[924,1210,1211,1214],{},[940,1212,1213],{"align":929},"sensor_msgs/msg/FluidPressure",[940,1215,1216],{"align":929},"gz.msgs.FluidPressure",[924,1218,1219,1222],{},[940,1220,1221],{"align":929},"sensor_msgs/msg/Image",[940,1223,1224],{"align":929},"gz.msgs.Image",[924,1226,1227,1230],{},[940,1228,1229],{"align":929},"sensor_msgs/msg/Imu",[940,1231,1232],{"align":929},"gz.msgs.IMU",[924,1234,1235,1238],{},[940,1236,1237],{"align":929},"sensor_msgs/msg/JointState",[940,1239,1240],{"align":929},"gz.msgs.Model",[924,1242,1243,1246],{},[940,1244,1245],{"align":929},"sensor_msgs/msg/Joy",[940,1247,1248],{"align":929},"gz.msgs.Joy",[924,1250,1251,1254],{},[940,1252,1253],{"align":929},"sensor_msgs/msg/LaserScan",[940,1255,1256],{"align":929},"gz.msgs.LaserScan",[924,1258,1259,1262],{},[940,1260,1261],{"align":929},"sensor_msgs/msg/MagneticField",[940,1263,1264],{"align":929},"gz.msgs.Magnetometer",[924,1266,1267,1270],{},[940,1268,1269],{"align":929},"sensor_msgs/msg/NavSatFix",[940,1271,1272],{"align":929},"gz.msgs.NavSat",[924,1274,1275,1278],{},[940,1276,1277],{"align":929},"sensor_msgs/msg/PointCloud2",[940,1279,1280],{"align":929},"gz.msgs.PointCloudPacked",[924,1282,1283,1286],{},[940,1284,1285],{"align":929},"std_msgs/msg/Bool",[940,1287,1288],{"align":929},"gz.msgs.Boolean",[924,1290,1291,1294],{},[940,1292,1293],{"align":929},"std_msgs/msg/ColorRGBA",[940,1295,1296],{"align":929},"gz.msgs.Color",[924,1298,1299,1302],{},[940,1300,1301],{"align":929},"std_msgs/msg/Empty",[940,1303,1304],{"align":929},"gz.msgs.Empty",[924,1306,1307,1310],{},[940,1308,1309],{"align":929},"std_msgs/msg/Float32",[940,1311,1312],{"align":929},"gz.msgs.Float",[924,1314,1315,1318],{},[940,1316,1317],{"align":929},"std_msgs/msg/Float64",[940,1319,1320],{"align":929},"gz.msgs.Double",[924,1322,1323,1326],{},[940,1324,1325],{"align":929},"std_msgs/msg/Header",[940,1327,1328],{"align":929},"gz.msgs.Header",[924,1330,1331,1334],{},[940,1332,1333],{"align":929},"std_msgs/msg/Int32",[940,1335,1336],{"align":929},"gz.msgs.Int32",[924,1338,1339,1342],{},[940,1340,1341],{"align":929},"std_msgs/msg/String",[940,1343,1344],{"align":929},"gz.msgs.StringMsg",[924,1346,1347,1350],{},[940,1348,1349],{"align":929},"std_msgs/msg/UInt32",[940,1351,1352],{"align":929},"gz.msgs.UInt32",[924,1354,1355,1358],{},[940,1356,1357],{"align":929},"tf2_msgs/msg/TFMessage",[940,1359,969],{"align":929},[924,1361,1362,1365],{},[940,1363,1364],{"align":929},"trajectory_msgs/msg/JointTrajectory",[940,1366,1367],{"align":929},"gz.msgs.JointTrajectory",[15,1369,1370],{},"以及服务消息类型对应表：",[918,1372,1373,1385],{},[921,1374,1375],{},[924,1376,1377,1379,1382],{},[927,1378,930],{"align":929},[927,1380,1381],{"align":929},"Gazebo 请求",[927,1383,1384],{"align":929},"Gazebo 响应",[935,1386,1387],{},[924,1388,1389,1392,1394],{},[940,1390,1391],{"align":929},"ros_gz_interfaces/srv/ControlWorld",[940,1393,1184],{"align":929},[940,1395,1288],{"align":929},[27,1397,1399],{"id":1398},"与ros2集成优化","与ROS2集成优化",[15,1401,1402,1403,1406],{},"在 ",[50,1404,1405],{},"Ignition Gazebo与ROS2集成"," 实现中需要在终端中使用不同的指令启动不同模块，该流程实现稍显复杂，本节将介绍如何以launch文件的方式进行优化。",[15,1408,1409],{},[50,1410,1411],{},"新建功能包",[15,1413,1414],{},"请首先调用如下指令创建一个功能包：",[102,1416,1418],{"className":104,"code":1417,"language":106,"meta":107,"style":107},"ros2 pkg create demo_gazebo_sim\n",[109,1419,1420],{"__ignoreMap":107},[112,1421,1422,1424,1427,1430],{"class":114,"line":115},[112,1423,263],{"class":132},[112,1425,1426],{"class":136}," pkg",[112,1428,1429],{"class":136}," create",[112,1431,1432],{"class":136}," demo_gazebo_sim\n",[15,1434,1435],{},[200,1436],{"alt":107,"src":1437},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1721.webp",[15,1439,1440],{},[50,1441,1442],{},"添加目录",[15,1444,1445],{},"在新建的功能包下添加目录： launch、rviz、world。并在CmakeLists.txt中添加如下代码：",[102,1447,1451],{"className":1448,"code":1449,"language":1450,"meta":107,"style":107},"language-cmake shiki shiki-themes github-light github-dark","install(DIRECTORY rviz world launch DESTINATION share/${PROJECT_NAME})\n","cmake",[109,1452,1453],{"__ignoreMap":107},[112,1454,1455,1458,1461,1464],{"class":114,"line":115},[112,1456,1457],{"class":765},"install",[112,1459,1460],{"class":146},"(DIRECTORY rviz world launch DESTINATION share/",[112,1462,1463],{"class":765},"${PROJECT_NAME}",[112,1465,1466],{"class":146},")\n",[15,1468,1469],{},"launch目录用于存储launch文件，rviz目录由于存储rviz2的配置文件，而world目录则用于存储Ignition Gazebo仿真环境的相关文件。",[15,1471,1472],{},[200,1473],{"alt":107,"src":1474},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1722.webp",[15,1476,1477],{},[50,1478,1479],{},"rviz目录中生成rviz2的配置文件",[15,1481,1482],{},"启动 rviz2，直接将默认配置保存至当前功能包的rviz目录，保存文件命名为sim.rviz。",[15,1484,1485],{},[200,1486],{"alt":107,"src":1487},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1723.webp",[15,1489,1490],{},[50,1491,1492],{},"复制world文件",[15,1494,1495,1496,1499],{},"在ignition安装路径下的worlds目录（",[109,1497,1498],{},"/usr/share/ignition/ignition-gazebo6/worlds","）中复制visualize_lidar.sdf文件至world目录。",[15,1501,1502],{},"如果该路径下没有，那可能在ROS的安装路径下：",[15,1504,1505],{},[109,1506,1507],{},"/opt/ros/jazzy/opt/gz_sim_vendor/share/gz/gz-sim8/worlds/",[15,1509,1510],{},"如果还没有的话，手动查找一下：",[102,1512,1514],{"className":104,"code":1513,"language":106,"meta":107,"style":107},"sudo find / -name \"visualize_lidar.sdf\"\n",[109,1515,1516],{"__ignoreMap":107},[112,1517,1518,1520,1523,1526,1529],{"class":114,"line":115},[112,1519,133],{"class":132},[112,1521,1522],{"class":136}," find",[112,1524,1525],{"class":136}," /",[112,1527,1528],{"class":576}," -name",[112,1530,1531],{"class":136}," \"visualize_lidar.sdf\"\n",[15,1533,1534],{},[200,1535],{"alt":107,"src":1536},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1724.webp",[15,1538,1539],{},[50,1540,1541],{},"编写launch文件",[15,1543,1544],{},"launch目录下新建launch文件gazebo_sim_demo.launch.py，并输入如下内容：",[102,1546,1550],{"className":1547,"code":1548,"language":1549,"meta":107,"style":107},"language-python shiki shiki-themes github-light github-dark","import os\n\nfrom ament_index_python.packages import get_package_share_directory\n\nfrom launch import LaunchDescription\nfrom launch.actions import DeclareLaunchArgument\nfrom launch.actions import IncludeLaunchDescription\nfrom launch.conditions import IfCondition\nfrom launch.launch_description_sources import PythonLaunchDescriptionSource\nfrom launch.substitutions import LaunchConfiguration\n\nfrom launch_ros.actions import Node\n\ndef generate_launch_description():\n\n    this_pkg = get_package_share_directory('demo_gazebo_sim')\n    pkg_ros_gz_sim = get_package_share_directory('ros_gz_sim')\n    world_file = os.path.join(this_pkg,'world','visualize_lidar.sdf')\n\n    gz_sim = IncludeLaunchDescription(\n        PythonLaunchDescriptionSource(\n            os.path.join(pkg_ros_gz_sim, 'launch', 'gz_sim.launch.py')),\n        launch_arguments={\n            'gz_args': '-r ' + world_file\n        }.items(),\n    )\n\n    # RViz\n    rviz = Node(\n       package='rviz2',\n       executable='rviz2',\n       arguments=['-d', os.path.join(this_pkg, 'rviz', 'sim.rviz')],\n       condition=IfCondition(LaunchConfiguration('rviz'))\n    )\n\n    # Bridge\n    bridge = Node(\n        package='ros_gz_bridge',\n        executable='parameter_bridge',\n        arguments=['/model/vehicle_blue/cmd_vel@geometry_msgs/msg/Twist@gz.msgs.Twist',\n                   '/model/vehicle_blue/odometry@nav_msgs/msg/Odometry@gz.msgs.Odometry',\n                   '/model/vehicle_blue/tf@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V',\n                   ],\n        parameters=[{'qos_overrides./model/vehicle_blue.subscriber.reliability': 'reliable'}],\n        remappings=[\n                ('/model/vehicle_blue/tf', '/tf'),\n                ('/model/vehicle_blue/cmd_vel','cmd_vel')\n            ],\n        output='screen'\n    )\n\n    return LaunchDescription([\n        gz_sim,\n        DeclareLaunchArgument('rviz', default_value='true',\n                              description='Open RViz.'),\n        bridge,\n        rviz\n    ])\n","python",[109,1551,1552,1560,1564,1577,1581,1593,1605,1616,1628,1640,1652,1656,1668,1672,1684,1689,1706,1721,1743,1748,1759,1765,1783,1795,1813,1819,1825,1830,1836,1847,1861,1873,1900,1916,1921,1926,1932,1942,1955,1968,1983,1991,1999,2005,2027,2038,2055,2070,2076,2087,2092,2097,2106,2112,2132,2145,2151,2157],{"__ignoreMap":107},[112,1553,1554,1557],{"class":114,"line":115},[112,1555,1556],{"class":765},"import",[112,1558,1559],{"class":146}," os\n",[112,1561,1562],{"class":114,"line":122},[112,1563,119],{"emptyLinePlaceholder":118},[112,1565,1566,1569,1572,1574],{"class":114,"line":129},[112,1567,1568],{"class":765},"from",[112,1570,1571],{"class":146}," ament_index_python.packages ",[112,1573,1556],{"class":765},[112,1575,1576],{"class":146}," get_package_share_directory\n",[112,1578,1579],{"class":114,"line":153},[112,1580,119],{"emptyLinePlaceholder":118},[112,1582,1583,1585,1588,1590],{"class":114,"line":158},[112,1584,1568],{"class":765},[112,1586,1587],{"class":146}," launch ",[112,1589,1556],{"class":765},[112,1591,1592],{"class":146}," LaunchDescription\n",[112,1594,1595,1597,1600,1602],{"class":114,"line":164},[112,1596,1568],{"class":765},[112,1598,1599],{"class":146}," launch.actions ",[112,1601,1556],{"class":765},[112,1603,1604],{"class":146}," DeclareLaunchArgument\n",[112,1606,1607,1609,1611,1613],{"class":114,"line":176},[112,1608,1568],{"class":765},[112,1610,1599],{"class":146},[112,1612,1556],{"class":765},[112,1614,1615],{"class":146}," IncludeLaunchDescription\n",[112,1617,1618,1620,1623,1625],{"class":114,"line":181},[112,1619,1568],{"class":765},[112,1621,1622],{"class":146}," launch.conditions ",[112,1624,1556],{"class":765},[112,1626,1627],{"class":146}," IfCondition\n",[112,1629,1630,1632,1635,1637],{"class":114,"line":187},[112,1631,1568],{"class":765},[112,1633,1634],{"class":146}," launch.launch_description_sources ",[112,1636,1556],{"class":765},[112,1638,1639],{"class":146}," PythonLaunchDescriptionSource\n",[112,1641,1642,1644,1647,1649],{"class":114,"line":434},[112,1643,1568],{"class":765},[112,1645,1646],{"class":146}," launch.substitutions ",[112,1648,1556],{"class":765},[112,1650,1651],{"class":146}," LaunchConfiguration\n",[112,1653,1654],{"class":114,"line":440},[112,1655,119],{"emptyLinePlaceholder":118},[112,1657,1658,1660,1663,1665],{"class":114,"line":446},[112,1659,1568],{"class":765},[112,1661,1662],{"class":146}," launch_ros.actions ",[112,1664,1556],{"class":765},[112,1666,1667],{"class":146}," Node\n",[112,1669,1670],{"class":114,"line":452},[112,1671,119],{"emptyLinePlaceholder":118},[112,1673,1675,1678,1681],{"class":114,"line":1674},14,[112,1676,1677],{"class":765},"def",[112,1679,1680],{"class":132}," generate_launch_description",[112,1682,1683],{"class":146},"():\n",[112,1685,1687],{"class":114,"line":1686},15,[112,1688,119],{"emptyLinePlaceholder":118},[112,1690,1692,1695,1698,1701,1704],{"class":114,"line":1691},16,[112,1693,1694],{"class":146},"    this_pkg ",[112,1696,1697],{"class":765},"=",[112,1699,1700],{"class":146}," get_package_share_directory(",[112,1702,1703],{"class":136},"'demo_gazebo_sim'",[112,1705,1466],{"class":146},[112,1707,1709,1712,1714,1716,1719],{"class":114,"line":1708},17,[112,1710,1711],{"class":146},"    pkg_ros_gz_sim ",[112,1713,1697],{"class":765},[112,1715,1700],{"class":146},[112,1717,1718],{"class":136},"'ros_gz_sim'",[112,1720,1466],{"class":146},[112,1722,1724,1727,1729,1732,1735,1738,1741],{"class":114,"line":1723},18,[112,1725,1726],{"class":146},"    world_file ",[112,1728,1697],{"class":765},[112,1730,1731],{"class":146}," os.path.join(this_pkg,",[112,1733,1734],{"class":136},"'world'",[112,1736,1737],{"class":146},",",[112,1739,1740],{"class":136},"'visualize_lidar.sdf'",[112,1742,1466],{"class":146},[112,1744,1746],{"class":114,"line":1745},19,[112,1747,119],{"emptyLinePlaceholder":118},[112,1749,1751,1754,1756],{"class":114,"line":1750},20,[112,1752,1753],{"class":146},"    gz_sim ",[112,1755,1697],{"class":765},[112,1757,1758],{"class":146}," IncludeLaunchDescription(\n",[112,1760,1762],{"class":114,"line":1761},21,[112,1763,1764],{"class":146},"        PythonLaunchDescriptionSource(\n",[112,1766,1768,1771,1774,1777,1780],{"class":114,"line":1767},22,[112,1769,1770],{"class":146},"            os.path.join(pkg_ros_gz_sim, ",[112,1772,1773],{"class":136},"'launch'",[112,1775,1776],{"class":146},", ",[112,1778,1779],{"class":136},"'gz_sim.launch.py'",[112,1781,1782],{"class":146},")),\n",[112,1784,1786,1790,1792],{"class":114,"line":1785},23,[112,1787,1789],{"class":1788},"s4XuR","        launch_arguments",[112,1791,1697],{"class":765},[112,1793,1794],{"class":146},"{\n",[112,1796,1798,1801,1804,1807,1810],{"class":114,"line":1797},24,[112,1799,1800],{"class":136},"            'gz_args'",[112,1802,1803],{"class":146},": ",[112,1805,1806],{"class":136},"'-r '",[112,1808,1809],{"class":765}," +",[112,1811,1812],{"class":146}," world_file\n",[112,1814,1816],{"class":114,"line":1815},25,[112,1817,1818],{"class":146},"        }.items(),\n",[112,1820,1822],{"class":114,"line":1821},26,[112,1823,1824],{"class":146},"    )\n",[112,1826,1828],{"class":114,"line":1827},27,[112,1829,119],{"emptyLinePlaceholder":118},[112,1831,1833],{"class":114,"line":1832},28,[112,1834,1835],{"class":125},"    # RViz\n",[112,1837,1839,1842,1844],{"class":114,"line":1838},29,[112,1840,1841],{"class":146},"    rviz ",[112,1843,1697],{"class":765},[112,1845,1846],{"class":146}," Node(\n",[112,1848,1850,1853,1855,1858],{"class":114,"line":1849},30,[112,1851,1852],{"class":1788},"       package",[112,1854,1697],{"class":765},[112,1856,1857],{"class":136},"'rviz2'",[112,1859,1860],{"class":146},",\n",[112,1862,1864,1867,1869,1871],{"class":114,"line":1863},31,[112,1865,1866],{"class":1788},"       executable",[112,1868,1697],{"class":765},[112,1870,1857],{"class":136},[112,1872,1860],{"class":146},[112,1874,1876,1879,1881,1883,1886,1889,1892,1894,1897],{"class":114,"line":1875},32,[112,1877,1878],{"class":1788},"       arguments",[112,1880,1697],{"class":765},[112,1882,799],{"class":146},[112,1884,1885],{"class":136},"'-d'",[112,1887,1888],{"class":146},", os.path.join(this_pkg, ",[112,1890,1891],{"class":136},"'rviz'",[112,1893,1776],{"class":146},[112,1895,1896],{"class":136},"'sim.rviz'",[112,1898,1899],{"class":146},")],\n",[112,1901,1903,1906,1908,1911,1913],{"class":114,"line":1902},33,[112,1904,1905],{"class":1788},"       condition",[112,1907,1697],{"class":765},[112,1909,1910],{"class":146},"IfCondition(LaunchConfiguration(",[112,1912,1891],{"class":136},[112,1914,1915],{"class":146},"))\n",[112,1917,1919],{"class":114,"line":1918},34,[112,1920,1824],{"class":146},[112,1922,1924],{"class":114,"line":1923},35,[112,1925,119],{"emptyLinePlaceholder":118},[112,1927,1929],{"class":114,"line":1928},36,[112,1930,1931],{"class":125},"    # Bridge\n",[112,1933,1935,1938,1940],{"class":114,"line":1934},37,[112,1936,1937],{"class":146},"    bridge ",[112,1939,1697],{"class":765},[112,1941,1846],{"class":146},[112,1943,1945,1948,1950,1953],{"class":114,"line":1944},38,[112,1946,1947],{"class":1788},"        package",[112,1949,1697],{"class":765},[112,1951,1952],{"class":136},"'ros_gz_bridge'",[112,1954,1860],{"class":146},[112,1956,1958,1961,1963,1966],{"class":114,"line":1957},39,[112,1959,1960],{"class":1788},"        executable",[112,1962,1697],{"class":765},[112,1964,1965],{"class":136},"'parameter_bridge'",[112,1967,1860],{"class":146},[112,1969,1971,1974,1976,1978,1981],{"class":114,"line":1970},40,[112,1972,1973],{"class":1788},"        arguments",[112,1975,1697],{"class":765},[112,1977,799],{"class":146},[112,1979,1980],{"class":136},"'/model/vehicle_blue/cmd_vel@geometry_msgs/msg/Twist@gz.msgs.Twist'",[112,1982,1860],{"class":146},[112,1984,1986,1989],{"class":114,"line":1985},41,[112,1987,1988],{"class":136},"                   '/model/vehicle_blue/odometry@nav_msgs/msg/Odometry@gz.msgs.Odometry'",[112,1990,1860],{"class":146},[112,1992,1994,1997],{"class":114,"line":1993},42,[112,1995,1996],{"class":136},"                   '/model/vehicle_blue/tf@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V'",[112,1998,1860],{"class":146},[112,2000,2002],{"class":114,"line":2001},43,[112,2003,2004],{"class":146},"                   ],\n",[112,2006,2008,2011,2013,2016,2019,2021,2024],{"class":114,"line":2007},44,[112,2009,2010],{"class":1788},"        parameters",[112,2012,1697],{"class":765},[112,2014,2015],{"class":146},"[{",[112,2017,2018],{"class":136},"'qos_overrides./model/vehicle_blue.subscriber.reliability'",[112,2020,1803],{"class":146},[112,2022,2023],{"class":136},"'reliable'",[112,2025,2026],{"class":146},"}],\n",[112,2028,2030,2033,2035],{"class":114,"line":2029},45,[112,2031,2032],{"class":1788},"        remappings",[112,2034,1697],{"class":765},[112,2036,2037],{"class":146},"[\n",[112,2039,2041,2044,2047,2049,2052],{"class":114,"line":2040},46,[112,2042,2043],{"class":146},"                (",[112,2045,2046],{"class":136},"'/model/vehicle_blue/tf'",[112,2048,1776],{"class":146},[112,2050,2051],{"class":136},"'/tf'",[112,2053,2054],{"class":146},"),\n",[112,2056,2058,2060,2063,2065,2068],{"class":114,"line":2057},47,[112,2059,2043],{"class":146},[112,2061,2062],{"class":136},"'/model/vehicle_blue/cmd_vel'",[112,2064,1737],{"class":146},[112,2066,2067],{"class":136},"'cmd_vel'",[112,2069,1466],{"class":146},[112,2071,2073],{"class":114,"line":2072},48,[112,2074,2075],{"class":146},"            ],\n",[112,2077,2079,2082,2084],{"class":114,"line":2078},49,[112,2080,2081],{"class":1788},"        output",[112,2083,1697],{"class":765},[112,2085,2086],{"class":136},"'screen'\n",[112,2088,2090],{"class":114,"line":2089},50,[112,2091,1824],{"class":146},[112,2093,2095],{"class":114,"line":2094},51,[112,2096,119],{"emptyLinePlaceholder":118},[112,2098,2100,2103],{"class":114,"line":2099},52,[112,2101,2102],{"class":765},"    return",[112,2104,2105],{"class":146}," LaunchDescription([\n",[112,2107,2109],{"class":114,"line":2108},53,[112,2110,2111],{"class":146},"        gz_sim,\n",[112,2113,2115,2118,2120,2122,2125,2127,2130],{"class":114,"line":2114},54,[112,2116,2117],{"class":146},"        DeclareLaunchArgument(",[112,2119,1891],{"class":136},[112,2121,1776],{"class":146},[112,2123,2124],{"class":1788},"default_value",[112,2126,1697],{"class":765},[112,2128,2129],{"class":136},"'true'",[112,2131,1860],{"class":146},[112,2133,2135,2138,2140,2143],{"class":114,"line":2134},55,[112,2136,2137],{"class":1788},"                              description",[112,2139,1697],{"class":765},[112,2141,2142],{"class":136},"'Open RViz.'",[112,2144,2054],{"class":146},[112,2146,2148],{"class":114,"line":2147},56,[112,2149,2150],{"class":146},"        bridge,\n",[112,2152,2154],{"class":114,"line":2153},57,[112,2155,2156],{"class":146},"        rviz\n",[112,2158,2160],{"class":114,"line":2159},58,[112,2161,2162],{"class":146},"    ])\n",[15,2164,2165],{},"该launch文件中，启动了Ignition Gazebo仿真环境、通过ros_gz_bridge建立了仿真与ROS2的连接，并且启动了rviz2节点。其中建立连接时，实现了速度指令、里程计以及坐标变换等消息的转换。",[15,2167,2168],{},[200,2169],{"alt":107,"src":2170},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1725.webp",[15,2172,2173],{},[50,2174,2175],{},"构建",[15,2177,2178],{},"终端中进入当前工作空间，编译功能包：",[102,2180,2182],{"className":104,"code":2181,"language":106,"meta":107,"style":107},"colcon build  --packages-select demo_gazebo_sim\n",[109,2183,2184],{"__ignoreMap":107},[112,2185,2186,2189,2192,2195],{"class":114,"line":115},[112,2187,2188],{"class":132},"colcon",[112,2190,2191],{"class":136}," build",[112,2193,2194],{"class":576},"  --packages-select",[112,2196,1432],{"class":136},[15,2198,2199],{},[200,2200],{"alt":107,"src":2201},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1726.webp",[15,2203,2204],{},[50,2205,2206],{},"执行",[15,2208,2209],{},"终端中进入当前工作空间，调用如下指令执行launch文件：",[102,2211,2213],{"className":104,"code":2212,"language":106,"meta":107,"style":107},". install/setup.bash\nros2 launch demo_gazebo_sim gazebo_sim_demo.launch.py\n",[109,2214,2215,2223],{"__ignoreMap":107},[112,2216,2217,2220],{"class":114,"line":115},[112,2218,2219],{"class":576},".",[112,2221,2222],{"class":136}," install/setup.bash\n",[112,2224,2225,2227,2229,2232],{"class":114,"line":122},[112,2226,263],{"class":132},[112,2228,266],{"class":136},[112,2230,2231],{"class":136}," demo_gazebo_sim",[112,2233,2234],{"class":136}," gazebo_sim_demo.launch.py\n",[15,2236,2237],{},"新开终端，启动键盘控制节点：",[102,2239,2241],{"className":104,"code":2240,"language":106,"meta":107,"style":107},"ros2 run teleop_twist_keyboard teleop_twist_keyboard\n",[109,2242,2243],{"__ignoreMap":107},[112,2244,2245,2247,2249,2251],{"class":114,"line":115},[112,2246,263],{"class":132},[112,2248,663],{"class":136},[112,2250,711],{"class":136},[112,2252,2253],{"class":136}," teleop_twist_keyboard\n",[15,2255,2256,2257,2260,2261,2264,2265,2268],{},"再配置rviz2，将",[109,2258,2259],{},"Fixed Frame","设置为",[109,2262,2263],{},"vehicle_blue/odom","，添加TF插件，添加Odometry插件并将话题设置为",[109,2266,2267],{},"/model/vehicle_blue/odometry","，当通过键盘控制发送速度指令时，仿真环境的机器人开始运动，并且在rviz2中可以回显坐标变换以及里程计等消息。",[15,2270,2271],{},[200,2272],{"alt":107,"src":2273},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1727.webp",[27,2275,2277,2278],{"id":2276},"仿真环境创建-sdf文件","仿真环境创建 ",[50,2279,2280],{},"SDF文件",[15,2282,2283],{},"前面几节内容我们使用的是Ignition Gazebo内置的仿真环境，本节开始将介绍如何自行搭建仿真环境。本节案例将仿真一个长10m宽5m的矩形房间。该案例可以先启动Ignition Gazebo以拖拽的方式搭建仿真环境，然后再修改仿真环境对应的文件以调整细节。",[15,2285,2286],{},[50,2287,2288],{},"SDF、URDF 和 Xacro 的关系：",[310,2290,2291,2326],{},[313,2292,2293,2296],{},[50,2294,2295],{},"URDF 和 SDF 的区别：",[310,2297,2298,2304,2310,2316],{},[313,2299,2300,2303],{},[50,2301,2302],{},"复杂性："," SDF 支持的功能更强大，能够描述完整的仿真环境；URDF 更适合定义机器人模型。",[313,2305,2306,2309],{},[50,2307,2308],{},"用途："," URDF 是 ROS 的标准；SDF 是 Gazebo 的标准。",[313,2311,2312,2315],{},[50,2313,2314],{},"物理引擎支持："," URDF 通过插件支持 Gazebo；SDF 原生支持 Gazebo。",[313,2317,2318,2321,2322,2325],{},[50,2319,2320],{},"格式转换："," URDF 可以转换为 SDF（通过 ROS 提供的工具",[109,2323,2324],{},"gz sdf -p","）。",[313,2327,2328,2331],{},[50,2329,2330],{},"Xacro 的作用：",[310,2332,2333],{},[313,2334,2335],{},"Xacro 是 URDF 的生成工具，帮助用户高效编写 URDF 文件，但它与 SDF 无直接关系。",[2337,2338],"hr",{},[15,2340,2341],{},[50,2342,2343],{},"实践建议",[310,2345,2346,2352,2358],{},[313,2347,2348,2351],{},[50,2349,2350],{},"在 Gazebo 仿真中："," 如果你用的是 ROS 2 和 Gazebo，可以直接使用 SDF 文件，功能更强大。",[313,2353,2354,2357],{},[50,2355,2356],{},"在 ROS 中："," 如果主要用于机器人控制和规划，推荐使用 URDF 或由 Xacro 生成的 URDF。",[313,2359,2360,2363],{},[50,2361,2362],{},"两者结合："," 使用 URDF 进行控制，使用 SDF 进行仿真。例如，使用 URDF 定义机器人结构后，借助 Gazebo 插件将其转换为 SDF。",[15,2365,2366],{},[50,2367,2368],{},"示例对比",[15,2370,2371],{},"URDF 示例：",[102,2373,2377],{"className":2374,"code":2375,"language":2376,"meta":107,"style":107},"language-xml shiki shiki-themes github-light github-dark","\u003Crobot name=\"example_robot\">\n  \u003Clink name=\"base_link\">\n    \u003Cinertial>\n      \u003Cmass value=\"1.0\" />\n      \u003Cinertia ixx=\"1.0\" ixy=\"0.0\" ixz=\"0.0\" iyy=\"1.0\" iyz=\"0.0\" izz=\"1.0\" />\n    \u003C/inertial>\n  \u003C/link>\n\u003C/robot>\n\n","xml",[109,2378,2379,2399,2416,2426,2445,2497,2506,2515],{"__ignoreMap":107},[112,2380,2381,2384,2388,2391,2393,2396],{"class":114,"line":115},[112,2382,2383],{"class":146},"\u003C",[112,2385,2387],{"class":2386},"s9eBZ","robot",[112,2389,2390],{"class":132}," name",[112,2392,1697],{"class":146},[112,2394,2395],{"class":136},"\"example_robot\"",[112,2397,2398],{"class":146},">\n",[112,2400,2401,2404,2407,2409,2411,2414],{"class":114,"line":122},[112,2402,2403],{"class":146},"  \u003C",[112,2405,2406],{"class":2386},"link",[112,2408,2390],{"class":132},[112,2410,1697],{"class":146},[112,2412,2413],{"class":136},"\"base_link\"",[112,2415,2398],{"class":146},[112,2417,2418,2421,2424],{"class":114,"line":129},[112,2419,2420],{"class":146},"    \u003C",[112,2422,2423],{"class":2386},"inertial",[112,2425,2398],{"class":146},[112,2427,2428,2431,2434,2437,2439,2442],{"class":114,"line":153},[112,2429,2430],{"class":146},"      \u003C",[112,2432,2433],{"class":2386},"mass",[112,2435,2436],{"class":132}," value",[112,2438,1697],{"class":146},[112,2440,2441],{"class":136},"\"1.0\"",[112,2443,2444],{"class":146}," />\n",[112,2446,2447,2449,2452,2455,2457,2459,2462,2464,2467,2470,2472,2474,2477,2479,2481,2484,2486,2488,2491,2493,2495],{"class":114,"line":158},[112,2448,2430],{"class":146},[112,2450,2451],{"class":2386},"inertia",[112,2453,2454],{"class":132}," ixx",[112,2456,1697],{"class":146},[112,2458,2441],{"class":136},[112,2460,2461],{"class":132}," ixy",[112,2463,1697],{"class":146},[112,2465,2466],{"class":136},"\"0.0\"",[112,2468,2469],{"class":132}," ixz",[112,2471,1697],{"class":146},[112,2473,2466],{"class":136},[112,2475,2476],{"class":132}," iyy",[112,2478,1697],{"class":146},[112,2480,2441],{"class":136},[112,2482,2483],{"class":132}," iyz",[112,2485,1697],{"class":146},[112,2487,2466],{"class":136},[112,2489,2490],{"class":132}," izz",[112,2492,1697],{"class":146},[112,2494,2441],{"class":136},[112,2496,2444],{"class":146},[112,2498,2499,2502,2504],{"class":114,"line":164},[112,2500,2501],{"class":146},"    \u003C/",[112,2503,2423],{"class":2386},[112,2505,2398],{"class":146},[112,2507,2508,2511,2513],{"class":114,"line":176},[112,2509,2510],{"class":146},"  \u003C/",[112,2512,2406],{"class":2386},[112,2514,2398],{"class":146},[112,2516,2517,2520,2522],{"class":114,"line":181},[112,2518,2519],{"class":146},"\u003C/",[112,2521,2387],{"class":2386},[112,2523,2398],{"class":146},[15,2525,2526],{},"Xacro 示例（生成 URDF）：",[102,2528,2530],{"className":2374,"code":2529,"language":2376,"meta":107,"style":107},"\u003Cxacro:robot xmlns:xacro=\"http://www.ros.org/wiki/xacro\" name=\"example_robot\">\n  \u003Cxacro:macro name=\"base_link\" params=\"mass\">\n    \u003Clink name=\"base_link\">\n      \u003Cinertial>\n        \u003Cmass value=\"${mass}\" />\n        \u003Cinertia ixx=\"1.0\" ixy=\"0.0\" ixz=\"0.0\" iyy=\"1.0\" iyz=\"0.0\" izz=\"1.0\" />\n      \u003C/inertial>\n    \u003C/link>\n  \u003C/xacro:macro>\n\n  \u003Cxacro:base_link mass=\"1.0\" />\n\u003C/xacro:robot>\n",[109,2531,2532,2555,2578,2592,2600,2616,2660,2669,2677,2685,2689,2705],{"__ignoreMap":107},[112,2533,2534,2536,2539,2542,2544,2547,2549,2551,2553],{"class":114,"line":115},[112,2535,2383],{"class":146},[112,2537,2538],{"class":2386},"xacro:robot",[112,2540,2541],{"class":132}," xmlns:xacro",[112,2543,1697],{"class":146},[112,2545,2546],{"class":136},"\"http://www.ros.org/wiki/xacro\"",[112,2548,2390],{"class":132},[112,2550,1697],{"class":146},[112,2552,2395],{"class":136},[112,2554,2398],{"class":146},[112,2556,2557,2559,2562,2564,2566,2568,2571,2573,2576],{"class":114,"line":122},[112,2558,2403],{"class":146},[112,2560,2561],{"class":2386},"xacro:macro",[112,2563,2390],{"class":132},[112,2565,1697],{"class":146},[112,2567,2413],{"class":136},[112,2569,2570],{"class":132}," params",[112,2572,1697],{"class":146},[112,2574,2575],{"class":136},"\"mass\"",[112,2577,2398],{"class":146},[112,2579,2580,2582,2584,2586,2588,2590],{"class":114,"line":129},[112,2581,2420],{"class":146},[112,2583,2406],{"class":2386},[112,2585,2390],{"class":132},[112,2587,1697],{"class":146},[112,2589,2413],{"class":136},[112,2591,2398],{"class":146},[112,2593,2594,2596,2598],{"class":114,"line":153},[112,2595,2430],{"class":146},[112,2597,2423],{"class":2386},[112,2599,2398],{"class":146},[112,2601,2602,2605,2607,2609,2611,2614],{"class":114,"line":158},[112,2603,2604],{"class":146},"        \u003C",[112,2606,2433],{"class":2386},[112,2608,2436],{"class":132},[112,2610,1697],{"class":146},[112,2612,2613],{"class":136},"\"${mass}\"",[112,2615,2444],{"class":146},[112,2617,2618,2620,2622,2624,2626,2628,2630,2632,2634,2636,2638,2640,2642,2644,2646,2648,2650,2652,2654,2656,2658],{"class":114,"line":164},[112,2619,2604],{"class":146},[112,2621,2451],{"class":2386},[112,2623,2454],{"class":132},[112,2625,1697],{"class":146},[112,2627,2441],{"class":136},[112,2629,2461],{"class":132},[112,2631,1697],{"class":146},[112,2633,2466],{"class":136},[112,2635,2469],{"class":132},[112,2637,1697],{"class":146},[112,2639,2466],{"class":136},[112,2641,2476],{"class":132},[112,2643,1697],{"class":146},[112,2645,2441],{"class":136},[112,2647,2483],{"class":132},[112,2649,1697],{"class":146},[112,2651,2466],{"class":136},[112,2653,2490],{"class":132},[112,2655,1697],{"class":146},[112,2657,2441],{"class":136},[112,2659,2444],{"class":146},[112,2661,2662,2665,2667],{"class":114,"line":176},[112,2663,2664],{"class":146},"      \u003C/",[112,2666,2423],{"class":2386},[112,2668,2398],{"class":146},[112,2670,2671,2673,2675],{"class":114,"line":181},[112,2672,2501],{"class":146},[112,2674,2406],{"class":2386},[112,2676,2398],{"class":146},[112,2678,2679,2681,2683],{"class":114,"line":187},[112,2680,2510],{"class":146},[112,2682,2561],{"class":2386},[112,2684,2398],{"class":146},[112,2686,2687],{"class":114,"line":434},[112,2688,119],{"emptyLinePlaceholder":118},[112,2690,2691,2693,2696,2699,2701,2703],{"class":114,"line":440},[112,2692,2403],{"class":146},[112,2694,2695],{"class":2386},"xacro:base_link",[112,2697,2698],{"class":132}," mass",[112,2700,1697],{"class":146},[112,2702,2441],{"class":136},[112,2704,2444],{"class":146},[112,2706,2707,2709,2711],{"class":114,"line":446},[112,2708,2519],{"class":146},[112,2710,2538],{"class":2386},[112,2712,2398],{"class":146},[15,2714,2715],{},"SDF 示例：",[102,2717,2719],{"className":2374,"code":2718,"language":2376,"meta":107,"style":107},"\u003Csdf version=\"1.6\">\n  \u003Cmodel name=\"example_robot\">\n    \u003Clink name=\"base_link\">\n      \u003Cinertial>\n        \u003Cmass>1.0\u003C/mass>\n        \u003Cinertia>\n          \u003Cixx>1.0\u003C/ixx>\n          \u003Ciyy>1.0\u003C/iyy>\n          \u003Cizz>1.0\u003C/izz>\n        \u003C/inertia>\n      \u003C/inertial>\n    \u003C/link>\n  \u003C/model>\n\u003C/sdf>\n\n",[109,2720,2721,2738,2753,2767,2775,2788,2796,2810,2823,2836,2845,2853,2861,2869],{"__ignoreMap":107},[112,2722,2723,2725,2728,2731,2733,2736],{"class":114,"line":115},[112,2724,2383],{"class":146},[112,2726,2727],{"class":2386},"sdf",[112,2729,2730],{"class":132}," version",[112,2732,1697],{"class":146},[112,2734,2735],{"class":136},"\"1.6\"",[112,2737,2398],{"class":146},[112,2739,2740,2742,2745,2747,2749,2751],{"class":114,"line":122},[112,2741,2403],{"class":146},[112,2743,2744],{"class":2386},"model",[112,2746,2390],{"class":132},[112,2748,1697],{"class":146},[112,2750,2395],{"class":136},[112,2752,2398],{"class":146},[112,2754,2755,2757,2759,2761,2763,2765],{"class":114,"line":129},[112,2756,2420],{"class":146},[112,2758,2406],{"class":2386},[112,2760,2390],{"class":132},[112,2762,1697],{"class":146},[112,2764,2413],{"class":136},[112,2766,2398],{"class":146},[112,2768,2769,2771,2773],{"class":114,"line":153},[112,2770,2430],{"class":146},[112,2772,2423],{"class":2386},[112,2774,2398],{"class":146},[112,2776,2777,2779,2781,2784,2786],{"class":114,"line":158},[112,2778,2604],{"class":146},[112,2780,2433],{"class":2386},[112,2782,2783],{"class":146},">1.0\u003C/",[112,2785,2433],{"class":2386},[112,2787,2398],{"class":146},[112,2789,2790,2792,2794],{"class":114,"line":164},[112,2791,2604],{"class":146},[112,2793,2451],{"class":2386},[112,2795,2398],{"class":146},[112,2797,2798,2801,2804,2806,2808],{"class":114,"line":176},[112,2799,2800],{"class":146},"          \u003C",[112,2802,2803],{"class":2386},"ixx",[112,2805,2783],{"class":146},[112,2807,2803],{"class":2386},[112,2809,2398],{"class":146},[112,2811,2812,2814,2817,2819,2821],{"class":114,"line":181},[112,2813,2800],{"class":146},[112,2815,2816],{"class":2386},"iyy",[112,2818,2783],{"class":146},[112,2820,2816],{"class":2386},[112,2822,2398],{"class":146},[112,2824,2825,2827,2830,2832,2834],{"class":114,"line":187},[112,2826,2800],{"class":146},[112,2828,2829],{"class":2386},"izz",[112,2831,2783],{"class":146},[112,2833,2829],{"class":2386},[112,2835,2398],{"class":146},[112,2837,2838,2841,2843],{"class":114,"line":434},[112,2839,2840],{"class":146},"        \u003C/",[112,2842,2451],{"class":2386},[112,2844,2398],{"class":146},[112,2846,2847,2849,2851],{"class":114,"line":440},[112,2848,2664],{"class":146},[112,2850,2423],{"class":2386},[112,2852,2398],{"class":146},[112,2854,2855,2857,2859],{"class":114,"line":446},[112,2856,2501],{"class":146},[112,2858,2406],{"class":2386},[112,2860,2398],{"class":146},[112,2862,2863,2865,2867],{"class":114,"line":452},[112,2864,2510],{"class":146},[112,2866,2744],{"class":2386},[112,2868,2398],{"class":146},[112,2870,2871,2873,2875],{"class":114,"line":1674},[112,2872,2519],{"class":146},[112,2874,2727],{"class":2386},[112,2876,2398],{"class":146},[15,2878,2879],{},[50,2880,2881],{},"1.创建sdf文件",[15,2883,2884,2885,2888],{},"首先请调用指令",[109,2886,2887],{},"ign gazebo","启动Gazebo，选择Empty仿真环境，然后添加立方体，每一个立方体都对应一堵墙。",[15,2890,2891],{},"上下左右立方体box、box_1、box_2、box_3对应的坐标分别为(5.0,0.0,0.5)、(-5.0,0.0,0.5)、(0.0,2.5,0.5)、(0.0,-2.5,0.5)。",[15,2893,2894],{},"（以上坐标是指X，Y，Z坐标，没有旋转度）",[15,2896,2897],{},"保存文件到功能包的world目录下，保存的文件名称需要以.sdf为后缀，此处文件名为house.sdf。",[15,2899,2900],{},[200,2901],{"alt":107,"src":2902},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1728.webp",[15,2904,2905],{},[200,2906],{"alt":107,"src":2907},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1729.webp",[102,2909,2911],{"className":2374,"code":2910,"language":2376,"meta":107,"style":107},"\u003Csdf version='1.9'>\n  \u003Cworld name='empty'>\n    \u003Cphysics name='1ms' type='ignored'>\n      \u003Cmax_step_size>0.001\u003C/max_step_size>\n      \u003Creal_time_factor>1\u003C/real_time_factor>\n      \u003Creal_time_update_rate>1000\u003C/real_time_update_rate>\n    \u003C/physics>\n    \u003Cplugin name='gz::sim::systems::Physics' filename='ignition-gazebo-physics-system'/>\n    \u003Cplugin name='gz::sim::systems::UserCommands' filename='ignition-gazebo-user-commands-system'/>\n    \u003Cplugin name='gz::sim::systems::SceneBroadcaster' filename='ignition-gazebo-scene-broadcaster-system'/>\n    \u003Cplugin name='gz::sim::systems::Contact' filename='ignition-gazebo-contact-system'/>\n    \u003Cgravity>0 0 -9.8\u003C/gravity>\n    \u003Cmagnetic_field>6e-06 2.3e-05 -4.2e-05\u003C/magnetic_field>\n    \u003Catmosphere type='adiabatic'/>\n    \u003Cscene>\n      \u003Cambient>0.4 0.4 0.4 1\u003C/ambient>\n      \u003Cbackground>0.7 0.7 0.7 1\u003C/background>\n      \u003Cshadows>true\u003C/shadows>\n    \u003C/scene>\n    \u003Cmodel name='ground_plane'>\n      \u003Cstatic>true\u003C/static>\n      \u003Clink name='link'>\n        \u003Ccollision name='collision'>\n          \u003Cgeometry>\n            \u003Cplane>\n              \u003Cnormal>0 0 1\u003C/normal>\n              \u003Csize>100 100\u003C/size>\n            \u003C/plane>\n          \u003C/geometry>\n          \u003Csurface>\n            \u003Cfriction>\n              \u003Code/>\n            \u003C/friction>\n            \u003Cbounce/>\n            \u003Ccontact/>\n          \u003C/surface>\n        \u003C/collision>\n        \u003Cvisual name='visual'>\n          \u003Cgeometry>\n            \u003Cplane>\n              \u003Cnormal>0 0 1\u003C/normal>\n              \u003Csize>100 100\u003C/size>\n            \u003C/plane>\n          \u003C/geometry>\n          \u003Cmaterial>\n            \u003Cambient>0.8 0.8 0.8 1\u003C/ambient>\n            \u003Cdiffuse>0.8 0.8 0.8 1\u003C/diffuse>\n            \u003Cspecular>0.8 0.8 0.8 1\u003C/specular>\n          \u003C/material>\n        \u003C/visual>\n        \u003Cpose>0 0 0 0 -0 0\u003C/pose>\n        \u003Cinertial>\n          \u003Cpose>0 0 0 0 -0 0\u003C/pose>\n          \u003Cmass>100\u003C/mass>\n          \u003Cinertia>\n            \u003Cixx>1\u003C/ixx>\n            \u003Cixy>0\u003C/ixy>\n            \u003Cixz>0\u003C/ixz>\n            \u003Ciyy>1\u003C/iyy>\n            \u003Ciyz>0\u003C/iyz>\n            \u003Cizz>1\u003C/izz>\n          \u003C/inertia>\n        \u003C/inertial>\n        \u003Cenable_wind>false\u003C/enable_wind>\n      \u003C/link>\n      \u003Cpose>0 0 0 0 -0 0\u003C/pose>\n      \u003Cself_collide>false\u003C/self_collide>\n    \u003C/model>\n    \u003Cmodel name='box'>\n      \u003Cpose>5.0 0 0.5 -0 0 0\u003C/pose>\n      \u003Clink name='box_link'>\n        \u003Cinertial>\n          \u003Cinertia>\n            \u003Cixx>16.666\u003C/ixx>\n            \u003Cixy>0\u003C/ixy>\n            \u003Cixz>0\u003C/ixz>\n            \u003Ciyy>16.666\u003C/iyy>\n            \u003Ciyz>0\u003C/iyz>\n            \u003Cizz>16.666\u003C/izz>\n          \u003C/inertia>\n          \u003Cmass>100\u003C/mass>\n          \u003Cpose>0 0 0 0 -0 0\u003C/pose>\n        \u003C/inertial>\n        \u003Ccollision name='box_collision'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>0.1 5 1\u003C/size>\n            \u003C/box>\n          \u003C/geometry>\n          \u003Csurface>\n            \u003Cfriction>\n              \u003Code/>\n            \u003C/friction>\n            \u003Cbounce/>\n            \u003Ccontact/>\n          \u003C/surface>\n        \u003C/collision>\n        \u003Cvisual name='box_visual'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>0.1 5 1\u003C/size>\n            \u003C/box>\n          \u003C/geometry>\n          \u003Cmaterial>\n            \u003Cambient>0.3 0.3 0.3 1\u003C/ambient>\n            \u003Cdiffuse>0.7 0.7 0.7 1\u003C/diffuse>\n            \u003Cspecular>1 1 1 1\u003C/specular>\n          \u003C/material>\n        \u003C/visual>\n        \u003Cpose>0 0 0 0 -0 0\u003C/pose>\n        \u003Cenable_wind>false\u003C/enable_wind>\n      \u003C/link>\n      \u003Cstatic>false\u003C/static>\n      \u003Cself_collide>false\u003C/self_collide>\n    \u003C/model>\n    \u003Cmodel name='box_0'>\n      \u003Cpose>-5.0 -0 0.50000 -0 0 0\u003C/pose>\n      \u003Clink name='box_link'>\n        \u003Cinertial>\n          \u003Cinertia>\n            \u003Cixx>16.666\u003C/ixx>\n            \u003Cixy>0\u003C/ixy>\n            \u003Cixz>0\u003C/ixz>\n            \u003Ciyy>16.666\u003C/iyy>\n            \u003Ciyz>0\u003C/iyz>\n            \u003Cizz>16.666\u003C/izz>\n          \u003C/inertia>\n          \u003Cmass>100\u003C/mass>\n          \u003Cpose>0 0 0 0 -0 0\u003C/pose>\n        \u003C/inertial>\n        \u003Ccollision name='box_collision'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>0.1 5 1\u003C/size>\n            \u003C/box>\n          \u003C/geometry>\n          \u003Csurface>\n            \u003Cfriction>\n              \u003Code/>\n            \u003C/friction>\n            \u003Cbounce/>\n            \u003Ccontact/>\n          \u003C/surface>\n        \u003C/collision>\n        \u003Cvisual name='box_visual'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>0.1 5 1\u003C/size>\n            \u003C/box>\n          \u003C/geometry>\n          \u003Cmaterial>\n            \u003Cambient>0.3 0.3 0.3 1\u003C/ambient>\n            \u003Cdiffuse>0.7 0.7 0.7 1\u003C/diffuse>\n            \u003Cspecular>1 1 1 1\u003C/specular>\n          \u003C/material>\n        \u003C/visual>\n        \u003Cpose>0 0 0 0 -0 0\u003C/pose>\n        \u003Cenable_wind>false\u003C/enable_wind>\n      \u003C/link>\n      \u003Cstatic>false\u003C/static>\n      \u003Cself_collide>false\u003C/self_collide>\n    \u003C/model>\n    \u003Cmodel name='box_1'>\n      \u003Cpose>-0 -2.5 0.5 -0 -0 -0\u003C/pose>\n      \u003Clink name='box_link'>\n        \u003Cinertial>\n          \u003Cinertia>\n            \u003Cixx>16.666\u003C/ixx>\n            \u003Cixy>0\u003C/ixy>\n            \u003Cixz>0\u003C/ixz>\n            \u003Ciyy>16.666\u003C/iyy>\n            \u003Ciyz>0\u003C/iyz>\n            \u003Cizz>16.666\u003C/izz>\n          \u003C/inertia>\n          \u003Cmass>100\u003C/mass>\n          \u003Cpose>0 0 0 0 -0 0\u003C/pose>\n        \u003C/inertial>\n        \u003Ccollision name='box_collision'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>10 0.1 1\u003C/size>\n            \u003C/box>\n          \u003C/geometry>\n          \u003Csurface>\n            \u003Cfriction>\n              \u003Code/>\n            \u003C/friction>\n            \u003Cbounce/>\n            \u003Ccontact/>\n          \u003C/surface>\n        \u003C/collision>\n        \u003Cvisual name='box_visual'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>10 0.1 1\u003C/size>\n            \u003C/box>\n          \u003C/geometry>\n          \u003Cmaterial>\n            \u003Cambient>0.3 0.3 0.3 1\u003C/ambient>\n            \u003Cdiffuse>0.7 0.7 0.7 1\u003C/diffuse>\n            \u003Cspecular>1 1 1 1\u003C/specular>\n          \u003C/material>\n        \u003C/visual>\n        \u003Cpose>0 0 0 0 -0 0\u003C/pose>\n        \u003Cenable_wind>false\u003C/enable_wind>\n      \u003C/link>\n      \u003Cstatic>false\u003C/static>\n      \u003Cself_collide>false\u003C/self_collide>\n    \u003C/model>\n    \u003Cmodel name='box_2'>\n      \u003Cpose>-0 2.5 0.5 0 -0 -0\u003C/pose>\n      \u003Clink name='box_link'>\n        \u003Cinertial>\n          \u003Cinertia>\n            \u003Cixx>16.666\u003C/ixx>\n            \u003Cixy>0\u003C/ixy>\n            \u003Cixz>0\u003C/ixz>\n            \u003Ciyy>16.666\u003C/iyy>\n            \u003Ciyz>0\u003C/iyz>\n            \u003Cizz>16.666\u003C/izz>\n          \u003C/inertia>\n          \u003Cmass>100\u003C/mass>\n          \u003Cpose>0 0 0 0 -0 0\u003C/pose>\n        \u003C/inertial>\n        \u003Ccollision name='box_collision'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>10 0.1 1\u003C/size>\n            \u003C/box>\n          \u003C/geometry>\n          \u003Csurface>\n            \u003Cfriction>\n              \u003Code/>\n            \u003C/friction>\n            \u003Cbounce/>\n            \u003Ccontact/>\n          \u003C/surface>\n        \u003C/collision>\n        \u003Cvisual name='box_visual'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>10 0.1 1\u003C/size>\n            \u003C/box>\n          \u003C/geometry>\n          \u003Cmaterial>\n            \u003Cambient>0.3 0.3 0.3 1\u003C/ambient>\n            \u003Cdiffuse>0.7 0.7 0.7 1\u003C/diffuse>\n            \u003Cspecular>1 1 1 1\u003C/specular>\n          \u003C/material>\n        \u003C/visual>\n        \u003Cpose>0 0 0 0 -0 0\u003C/pose>\n        \u003Cenable_wind>false\u003C/enable_wind>\n      \u003C/link>\n      \u003Cstatic>false\u003C/static>\n      \u003Cself_collide>false\u003C/self_collide>\n    \u003C/model>\n    \u003Clight name='sun' type='directional'>\n      \u003Cpose>0 0 10 0 -0 0\u003C/pose>\n      \u003Ccast_shadows>true\u003C/cast_shadows>\n      \u003Cintensity>1\u003C/intensity>\n      \u003Cdirection>-0.5 0.1 -0.9\u003C/direction>\n      \u003Cdiffuse>0.8 0.8 0.8 1\u003C/diffuse>\n      \u003Cspecular>0.2 0.2 0.2 1\u003C/specular>\n      \u003Cattenuation>\n        \u003Crange>1000\u003C/range>\n        \u003Clinear>0.01\u003C/linear>\n        \u003Cconstant>0.90000000000000002\u003C/constant>\n        \u003Cquadratic>0.001\u003C/quadratic>\n      \u003C/attenuation>\n      \u003Cspot>\n        \u003Cinner_angle>0\u003C/inner_angle>\n        \u003Couter_angle>0\u003C/outer_angle>\n        \u003Cfalloff>0\u003C/falloff>\n      \u003C/spot>\n    \u003C/light>\n  \u003C/world>\n\u003C/sdf>\n",[109,2912,2913,2928,2944,2968,2982,2996,3010,3018,3043,3065,3087,3109,3123,3137,3153,3162,3176,3190,3204,3212,3227,3240,3255,3271,3280,3290,3305,3319,3328,3337,3346,3355,3364,3372,3381,3390,3398,3406,3422,3430,3438,3450,3462,3470,3478,3487,3500,3513,3526,3534,3542,3556,3564,3576,3589,3597,3609,3623,3636,3649,3663,3676,3685,3694,3709,3718,3731,3745,3754,3770,3784,3800,3809,3818,3832,3845,3858,3871,3884,3897,3906,3919,3932,3941,3957,3966,3976,3990,3999,4008,4017,4026,4035,4044,4053,4062,4071,4080,4096,4105,4114,4127,4136,4145,4154,4168,4181,4195,4204,4213,4226,4239,4248,4261,4274,4283,4299,4313,4328,4337,4346,4359,4372,4385,4398,4411,4424,4433,4446,4459,4468,4483,4492,4501,4514,4523,4532,4541,4550,4559,4568,4577,4586,4595,4604,4619,4628,4637,4650,4659,4668,4677,4690,4703,4716,4725,4734,4747,4760,4769,4782,4795,4804,4820,4834,4849,4858,4867,4880,4893,4906,4919,4932,4945,4954,4967,4980,4989,5004,5013,5022,5036,5045,5054,5063,5072,5081,5090,5099,5108,5117,5126,5141,5150,5159,5172,5181,5190,5199,5212,5225,5238,5247,5256,5269,5282,5291,5304,5317,5326,5342,5356,5371,5380,5389,5402,5415,5428,5441,5454,5467,5476,5489,5502,5511,5526,5535,5544,5557,5566,5575,5584,5593,5602,5611,5620,5629,5638,5647,5662,5671,5680,5693,5702,5711,5720,5733,5746,5759,5768,5777,5790,5803,5812,5825,5838,5847,5871,5885,5899,5913,5928,5941,5955,5965,5979,5994,6009,6023,6032,6042,6056,6070,6084,6093,6102,6111],{"__ignoreMap":107},[112,2914,2915,2917,2919,2921,2923,2926],{"class":114,"line":115},[112,2916,2383],{"class":146},[112,2918,2727],{"class":2386},[112,2920,2730],{"class":132},[112,2922,1697],{"class":146},[112,2924,2925],{"class":136},"'1.9'",[112,2927,2398],{"class":146},[112,2929,2930,2932,2935,2937,2939,2942],{"class":114,"line":122},[112,2931,2403],{"class":146},[112,2933,2934],{"class":2386},"world",[112,2936,2390],{"class":132},[112,2938,1697],{"class":146},[112,2940,2941],{"class":136},"'empty'",[112,2943,2398],{"class":146},[112,2945,2946,2948,2951,2953,2955,2958,2961,2963,2966],{"class":114,"line":129},[112,2947,2420],{"class":146},[112,2949,2950],{"class":2386},"physics",[112,2952,2390],{"class":132},[112,2954,1697],{"class":146},[112,2956,2957],{"class":136},"'1ms'",[112,2959,2960],{"class":132}," type",[112,2962,1697],{"class":146},[112,2964,2965],{"class":136},"'ignored'",[112,2967,2398],{"class":146},[112,2969,2970,2972,2975,2978,2980],{"class":114,"line":153},[112,2971,2430],{"class":146},[112,2973,2974],{"class":2386},"max_step_size",[112,2976,2977],{"class":146},">0.001\u003C/",[112,2979,2974],{"class":2386},[112,2981,2398],{"class":146},[112,2983,2984,2986,2989,2992,2994],{"class":114,"line":158},[112,2985,2430],{"class":146},[112,2987,2988],{"class":2386},"real_time_factor",[112,2990,2991],{"class":146},">1\u003C/",[112,2993,2988],{"class":2386},[112,2995,2398],{"class":146},[112,2997,2998,3000,3003,3006,3008],{"class":114,"line":164},[112,2999,2430],{"class":146},[112,3001,3002],{"class":2386},"real_time_update_rate",[112,3004,3005],{"class":146},">1000\u003C/",[112,3007,3002],{"class":2386},[112,3009,2398],{"class":146},[112,3011,3012,3014,3016],{"class":114,"line":176},[112,3013,2501],{"class":146},[112,3015,2950],{"class":2386},[112,3017,2398],{"class":146},[112,3019,3020,3022,3025,3027,3029,3032,3035,3037,3040],{"class":114,"line":181},[112,3021,2420],{"class":146},[112,3023,3024],{"class":2386},"plugin",[112,3026,2390],{"class":132},[112,3028,1697],{"class":146},[112,3030,3031],{"class":136},"'gz::sim::systems::Physics'",[112,3033,3034],{"class":132}," filename",[112,3036,1697],{"class":146},[112,3038,3039],{"class":136},"'ignition-gazebo-physics-system'",[112,3041,3042],{"class":146},"/>\n",[112,3044,3045,3047,3049,3051,3053,3056,3058,3060,3063],{"class":114,"line":187},[112,3046,2420],{"class":146},[112,3048,3024],{"class":2386},[112,3050,2390],{"class":132},[112,3052,1697],{"class":146},[112,3054,3055],{"class":136},"'gz::sim::systems::UserCommands'",[112,3057,3034],{"class":132},[112,3059,1697],{"class":146},[112,3061,3062],{"class":136},"'ignition-gazebo-user-commands-system'",[112,3064,3042],{"class":146},[112,3066,3067,3069,3071,3073,3075,3078,3080,3082,3085],{"class":114,"line":434},[112,3068,2420],{"class":146},[112,3070,3024],{"class":2386},[112,3072,2390],{"class":132},[112,3074,1697],{"class":146},[112,3076,3077],{"class":136},"'gz::sim::systems::SceneBroadcaster'",[112,3079,3034],{"class":132},[112,3081,1697],{"class":146},[112,3083,3084],{"class":136},"'ignition-gazebo-scene-broadcaster-system'",[112,3086,3042],{"class":146},[112,3088,3089,3091,3093,3095,3097,3100,3102,3104,3107],{"class":114,"line":440},[112,3090,2420],{"class":146},[112,3092,3024],{"class":2386},[112,3094,2390],{"class":132},[112,3096,1697],{"class":146},[112,3098,3099],{"class":136},"'gz::sim::systems::Contact'",[112,3101,3034],{"class":132},[112,3103,1697],{"class":146},[112,3105,3106],{"class":136},"'ignition-gazebo-contact-system'",[112,3108,3042],{"class":146},[112,3110,3111,3113,3116,3119,3121],{"class":114,"line":446},[112,3112,2420],{"class":146},[112,3114,3115],{"class":2386},"gravity",[112,3117,3118],{"class":146},">0 0 -9.8\u003C/",[112,3120,3115],{"class":2386},[112,3122,2398],{"class":146},[112,3124,3125,3127,3130,3133,3135],{"class":114,"line":452},[112,3126,2420],{"class":146},[112,3128,3129],{"class":2386},"magnetic_field",[112,3131,3132],{"class":146},">6e-06 2.3e-05 -4.2e-05\u003C/",[112,3134,3129],{"class":2386},[112,3136,2398],{"class":146},[112,3138,3139,3141,3144,3146,3148,3151],{"class":114,"line":1674},[112,3140,2420],{"class":146},[112,3142,3143],{"class":2386},"atmosphere",[112,3145,2960],{"class":132},[112,3147,1697],{"class":146},[112,3149,3150],{"class":136},"'adiabatic'",[112,3152,3042],{"class":146},[112,3154,3155,3157,3160],{"class":114,"line":1686},[112,3156,2420],{"class":146},[112,3158,3159],{"class":2386},"scene",[112,3161,2398],{"class":146},[112,3163,3164,3166,3169,3172,3174],{"class":114,"line":1691},[112,3165,2430],{"class":146},[112,3167,3168],{"class":2386},"ambient",[112,3170,3171],{"class":146},">0.4 0.4 0.4 1\u003C/",[112,3173,3168],{"class":2386},[112,3175,2398],{"class":146},[112,3177,3178,3180,3183,3186,3188],{"class":114,"line":1708},[112,3179,2430],{"class":146},[112,3181,3182],{"class":2386},"background",[112,3184,3185],{"class":146},">0.7 0.7 0.7 1\u003C/",[112,3187,3182],{"class":2386},[112,3189,2398],{"class":146},[112,3191,3192,3194,3197,3200,3202],{"class":114,"line":1723},[112,3193,2430],{"class":146},[112,3195,3196],{"class":2386},"shadows",[112,3198,3199],{"class":146},">true\u003C/",[112,3201,3196],{"class":2386},[112,3203,2398],{"class":146},[112,3205,3206,3208,3210],{"class":114,"line":1745},[112,3207,2501],{"class":146},[112,3209,3159],{"class":2386},[112,3211,2398],{"class":146},[112,3213,3214,3216,3218,3220,3222,3225],{"class":114,"line":1750},[112,3215,2420],{"class":146},[112,3217,2744],{"class":2386},[112,3219,2390],{"class":132},[112,3221,1697],{"class":146},[112,3223,3224],{"class":136},"'ground_plane'",[112,3226,2398],{"class":146},[112,3228,3229,3231,3234,3236,3238],{"class":114,"line":1761},[112,3230,2430],{"class":146},[112,3232,3233],{"class":2386},"static",[112,3235,3199],{"class":146},[112,3237,3233],{"class":2386},[112,3239,2398],{"class":146},[112,3241,3242,3244,3246,3248,3250,3253],{"class":114,"line":1767},[112,3243,2430],{"class":146},[112,3245,2406],{"class":2386},[112,3247,2390],{"class":132},[112,3249,1697],{"class":146},[112,3251,3252],{"class":136},"'link'",[112,3254,2398],{"class":146},[112,3256,3257,3259,3262,3264,3266,3269],{"class":114,"line":1785},[112,3258,2604],{"class":146},[112,3260,3261],{"class":2386},"collision",[112,3263,2390],{"class":132},[112,3265,1697],{"class":146},[112,3267,3268],{"class":136},"'collision'",[112,3270,2398],{"class":146},[112,3272,3273,3275,3278],{"class":114,"line":1797},[112,3274,2800],{"class":146},[112,3276,3277],{"class":2386},"geometry",[112,3279,2398],{"class":146},[112,3281,3282,3285,3288],{"class":114,"line":1815},[112,3283,3284],{"class":146},"            \u003C",[112,3286,3287],{"class":2386},"plane",[112,3289,2398],{"class":146},[112,3291,3292,3295,3298,3301,3303],{"class":114,"line":1821},[112,3293,3294],{"class":146},"              \u003C",[112,3296,3297],{"class":2386},"normal",[112,3299,3300],{"class":146},">0 0 1\u003C/",[112,3302,3297],{"class":2386},[112,3304,2398],{"class":146},[112,3306,3307,3309,3312,3315,3317],{"class":114,"line":1827},[112,3308,3294],{"class":146},[112,3310,3311],{"class":2386},"size",[112,3313,3314],{"class":146},">100 100\u003C/",[112,3316,3311],{"class":2386},[112,3318,2398],{"class":146},[112,3320,3321,3324,3326],{"class":114,"line":1832},[112,3322,3323],{"class":146},"            \u003C/",[112,3325,3287],{"class":2386},[112,3327,2398],{"class":146},[112,3329,3330,3333,3335],{"class":114,"line":1838},[112,3331,3332],{"class":146},"          \u003C/",[112,3334,3277],{"class":2386},[112,3336,2398],{"class":146},[112,3338,3339,3341,3344],{"class":114,"line":1849},[112,3340,2800],{"class":146},[112,3342,3343],{"class":2386},"surface",[112,3345,2398],{"class":146},[112,3347,3348,3350,3353],{"class":114,"line":1863},[112,3349,3284],{"class":146},[112,3351,3352],{"class":2386},"friction",[112,3354,2398],{"class":146},[112,3356,3357,3359,3362],{"class":114,"line":1875},[112,3358,3294],{"class":146},[112,3360,3361],{"class":2386},"ode",[112,3363,3042],{"class":146},[112,3365,3366,3368,3370],{"class":114,"line":1902},[112,3367,3323],{"class":146},[112,3369,3352],{"class":2386},[112,3371,2398],{"class":146},[112,3373,3374,3376,3379],{"class":114,"line":1918},[112,3375,3284],{"class":146},[112,3377,3378],{"class":2386},"bounce",[112,3380,3042],{"class":146},[112,3382,3383,3385,3388],{"class":114,"line":1923},[112,3384,3284],{"class":146},[112,3386,3387],{"class":2386},"contact",[112,3389,3042],{"class":146},[112,3391,3392,3394,3396],{"class":114,"line":1928},[112,3393,3332],{"class":146},[112,3395,3343],{"class":2386},[112,3397,2398],{"class":146},[112,3399,3400,3402,3404],{"class":114,"line":1934},[112,3401,2840],{"class":146},[112,3403,3261],{"class":2386},[112,3405,2398],{"class":146},[112,3407,3408,3410,3413,3415,3417,3420],{"class":114,"line":1944},[112,3409,2604],{"class":146},[112,3411,3412],{"class":2386},"visual",[112,3414,2390],{"class":132},[112,3416,1697],{"class":146},[112,3418,3419],{"class":136},"'visual'",[112,3421,2398],{"class":146},[112,3423,3424,3426,3428],{"class":114,"line":1957},[112,3425,2800],{"class":146},[112,3427,3277],{"class":2386},[112,3429,2398],{"class":146},[112,3431,3432,3434,3436],{"class":114,"line":1970},[112,3433,3284],{"class":146},[112,3435,3287],{"class":2386},[112,3437,2398],{"class":146},[112,3439,3440,3442,3444,3446,3448],{"class":114,"line":1985},[112,3441,3294],{"class":146},[112,3443,3297],{"class":2386},[112,3445,3300],{"class":146},[112,3447,3297],{"class":2386},[112,3449,2398],{"class":146},[112,3451,3452,3454,3456,3458,3460],{"class":114,"line":1993},[112,3453,3294],{"class":146},[112,3455,3311],{"class":2386},[112,3457,3314],{"class":146},[112,3459,3311],{"class":2386},[112,3461,2398],{"class":146},[112,3463,3464,3466,3468],{"class":114,"line":2001},[112,3465,3323],{"class":146},[112,3467,3287],{"class":2386},[112,3469,2398],{"class":146},[112,3471,3472,3474,3476],{"class":114,"line":2007},[112,3473,3332],{"class":146},[112,3475,3277],{"class":2386},[112,3477,2398],{"class":146},[112,3479,3480,3482,3485],{"class":114,"line":2029},[112,3481,2800],{"class":146},[112,3483,3484],{"class":2386},"material",[112,3486,2398],{"class":146},[112,3488,3489,3491,3493,3496,3498],{"class":114,"line":2040},[112,3490,3284],{"class":146},[112,3492,3168],{"class":2386},[112,3494,3495],{"class":146},">0.8 0.8 0.8 1\u003C/",[112,3497,3168],{"class":2386},[112,3499,2398],{"class":146},[112,3501,3502,3504,3507,3509,3511],{"class":114,"line":2057},[112,3503,3284],{"class":146},[112,3505,3506],{"class":2386},"diffuse",[112,3508,3495],{"class":146},[112,3510,3506],{"class":2386},[112,3512,2398],{"class":146},[112,3514,3515,3517,3520,3522,3524],{"class":114,"line":2072},[112,3516,3284],{"class":146},[112,3518,3519],{"class":2386},"specular",[112,3521,3495],{"class":146},[112,3523,3519],{"class":2386},[112,3525,2398],{"class":146},[112,3527,3528,3530,3532],{"class":114,"line":2078},[112,3529,3332],{"class":146},[112,3531,3484],{"class":2386},[112,3533,2398],{"class":146},[112,3535,3536,3538,3540],{"class":114,"line":2089},[112,3537,2840],{"class":146},[112,3539,3412],{"class":2386},[112,3541,2398],{"class":146},[112,3543,3544,3546,3549,3552,3554],{"class":114,"line":2094},[112,3545,2604],{"class":146},[112,3547,3548],{"class":2386},"pose",[112,3550,3551],{"class":146},">0 0 0 0 -0 0\u003C/",[112,3553,3548],{"class":2386},[112,3555,2398],{"class":146},[112,3557,3558,3560,3562],{"class":114,"line":2099},[112,3559,2604],{"class":146},[112,3561,2423],{"class":2386},[112,3563,2398],{"class":146},[112,3565,3566,3568,3570,3572,3574],{"class":114,"line":2108},[112,3567,2800],{"class":146},[112,3569,3548],{"class":2386},[112,3571,3551],{"class":146},[112,3573,3548],{"class":2386},[112,3575,2398],{"class":146},[112,3577,3578,3580,3582,3585,3587],{"class":114,"line":2114},[112,3579,2800],{"class":146},[112,3581,2433],{"class":2386},[112,3583,3584],{"class":146},">100\u003C/",[112,3586,2433],{"class":2386},[112,3588,2398],{"class":146},[112,3590,3591,3593,3595],{"class":114,"line":2134},[112,3592,2800],{"class":146},[112,3594,2451],{"class":2386},[112,3596,2398],{"class":146},[112,3598,3599,3601,3603,3605,3607],{"class":114,"line":2147},[112,3600,3284],{"class":146},[112,3602,2803],{"class":2386},[112,3604,2991],{"class":146},[112,3606,2803],{"class":2386},[112,3608,2398],{"class":146},[112,3610,3611,3613,3616,3619,3621],{"class":114,"line":2153},[112,3612,3284],{"class":146},[112,3614,3615],{"class":2386},"ixy",[112,3617,3618],{"class":146},">0\u003C/",[112,3620,3615],{"class":2386},[112,3622,2398],{"class":146},[112,3624,3625,3627,3630,3632,3634],{"class":114,"line":2159},[112,3626,3284],{"class":146},[112,3628,3629],{"class":2386},"ixz",[112,3631,3618],{"class":146},[112,3633,3629],{"class":2386},[112,3635,2398],{"class":146},[112,3637,3639,3641,3643,3645,3647],{"class":114,"line":3638},59,[112,3640,3284],{"class":146},[112,3642,2816],{"class":2386},[112,3644,2991],{"class":146},[112,3646,2816],{"class":2386},[112,3648,2398],{"class":146},[112,3650,3652,3654,3657,3659,3661],{"class":114,"line":3651},60,[112,3653,3284],{"class":146},[112,3655,3656],{"class":2386},"iyz",[112,3658,3618],{"class":146},[112,3660,3656],{"class":2386},[112,3662,2398],{"class":146},[112,3664,3666,3668,3670,3672,3674],{"class":114,"line":3665},61,[112,3667,3284],{"class":146},[112,3669,2829],{"class":2386},[112,3671,2991],{"class":146},[112,3673,2829],{"class":2386},[112,3675,2398],{"class":146},[112,3677,3679,3681,3683],{"class":114,"line":3678},62,[112,3680,3332],{"class":146},[112,3682,2451],{"class":2386},[112,3684,2398],{"class":146},[112,3686,3688,3690,3692],{"class":114,"line":3687},63,[112,3689,2840],{"class":146},[112,3691,2423],{"class":2386},[112,3693,2398],{"class":146},[112,3695,3697,3699,3702,3705,3707],{"class":114,"line":3696},64,[112,3698,2604],{"class":146},[112,3700,3701],{"class":2386},"enable_wind",[112,3703,3704],{"class":146},">false\u003C/",[112,3706,3701],{"class":2386},[112,3708,2398],{"class":146},[112,3710,3712,3714,3716],{"class":114,"line":3711},65,[112,3713,2664],{"class":146},[112,3715,2406],{"class":2386},[112,3717,2398],{"class":146},[112,3719,3721,3723,3725,3727,3729],{"class":114,"line":3720},66,[112,3722,2430],{"class":146},[112,3724,3548],{"class":2386},[112,3726,3551],{"class":146},[112,3728,3548],{"class":2386},[112,3730,2398],{"class":146},[112,3732,3734,3736,3739,3741,3743],{"class":114,"line":3733},67,[112,3735,2430],{"class":146},[112,3737,3738],{"class":2386},"self_collide",[112,3740,3704],{"class":146},[112,3742,3738],{"class":2386},[112,3744,2398],{"class":146},[112,3746,3748,3750,3752],{"class":114,"line":3747},68,[112,3749,2501],{"class":146},[112,3751,2744],{"class":2386},[112,3753,2398],{"class":146},[112,3755,3757,3759,3761,3763,3765,3768],{"class":114,"line":3756},69,[112,3758,2420],{"class":146},[112,3760,2744],{"class":2386},[112,3762,2390],{"class":132},[112,3764,1697],{"class":146},[112,3766,3767],{"class":136},"'box'",[112,3769,2398],{"class":146},[112,3771,3773,3775,3777,3780,3782],{"class":114,"line":3772},70,[112,3774,2430],{"class":146},[112,3776,3548],{"class":2386},[112,3778,3779],{"class":146},">5.0 0 0.5 -0 0 0\u003C/",[112,3781,3548],{"class":2386},[112,3783,2398],{"class":146},[112,3785,3787,3789,3791,3793,3795,3798],{"class":114,"line":3786},71,[112,3788,2430],{"class":146},[112,3790,2406],{"class":2386},[112,3792,2390],{"class":132},[112,3794,1697],{"class":146},[112,3796,3797],{"class":136},"'box_link'",[112,3799,2398],{"class":146},[112,3801,3803,3805,3807],{"class":114,"line":3802},72,[112,3804,2604],{"class":146},[112,3806,2423],{"class":2386},[112,3808,2398],{"class":146},[112,3810,3812,3814,3816],{"class":114,"line":3811},73,[112,3813,2800],{"class":146},[112,3815,2451],{"class":2386},[112,3817,2398],{"class":146},[112,3819,3821,3823,3825,3828,3830],{"class":114,"line":3820},74,[112,3822,3284],{"class":146},[112,3824,2803],{"class":2386},[112,3826,3827],{"class":146},">16.666\u003C/",[112,3829,2803],{"class":2386},[112,3831,2398],{"class":146},[112,3833,3835,3837,3839,3841,3843],{"class":114,"line":3834},75,[112,3836,3284],{"class":146},[112,3838,3615],{"class":2386},[112,3840,3618],{"class":146},[112,3842,3615],{"class":2386},[112,3844,2398],{"class":146},[112,3846,3848,3850,3852,3854,3856],{"class":114,"line":3847},76,[112,3849,3284],{"class":146},[112,3851,3629],{"class":2386},[112,3853,3618],{"class":146},[112,3855,3629],{"class":2386},[112,3857,2398],{"class":146},[112,3859,3861,3863,3865,3867,3869],{"class":114,"line":3860},77,[112,3862,3284],{"class":146},[112,3864,2816],{"class":2386},[112,3866,3827],{"class":146},[112,3868,2816],{"class":2386},[112,3870,2398],{"class":146},[112,3872,3874,3876,3878,3880,3882],{"class":114,"line":3873},78,[112,3875,3284],{"class":146},[112,3877,3656],{"class":2386},[112,3879,3618],{"class":146},[112,3881,3656],{"class":2386},[112,3883,2398],{"class":146},[112,3885,3887,3889,3891,3893,3895],{"class":114,"line":3886},79,[112,3888,3284],{"class":146},[112,3890,2829],{"class":2386},[112,3892,3827],{"class":146},[112,3894,2829],{"class":2386},[112,3896,2398],{"class":146},[112,3898,3900,3902,3904],{"class":114,"line":3899},80,[112,3901,3332],{"class":146},[112,3903,2451],{"class":2386},[112,3905,2398],{"class":146},[112,3907,3909,3911,3913,3915,3917],{"class":114,"line":3908},81,[112,3910,2800],{"class":146},[112,3912,2433],{"class":2386},[112,3914,3584],{"class":146},[112,3916,2433],{"class":2386},[112,3918,2398],{"class":146},[112,3920,3922,3924,3926,3928,3930],{"class":114,"line":3921},82,[112,3923,2800],{"class":146},[112,3925,3548],{"class":2386},[112,3927,3551],{"class":146},[112,3929,3548],{"class":2386},[112,3931,2398],{"class":146},[112,3933,3935,3937,3939],{"class":114,"line":3934},83,[112,3936,2840],{"class":146},[112,3938,2423],{"class":2386},[112,3940,2398],{"class":146},[112,3942,3944,3946,3948,3950,3952,3955],{"class":114,"line":3943},84,[112,3945,2604],{"class":146},[112,3947,3261],{"class":2386},[112,3949,2390],{"class":132},[112,3951,1697],{"class":146},[112,3953,3954],{"class":136},"'box_collision'",[112,3956,2398],{"class":146},[112,3958,3960,3962,3964],{"class":114,"line":3959},85,[112,3961,2800],{"class":146},[112,3963,3277],{"class":2386},[112,3965,2398],{"class":146},[112,3967,3969,3971,3974],{"class":114,"line":3968},86,[112,3970,3284],{"class":146},[112,3972,3973],{"class":2386},"box",[112,3975,2398],{"class":146},[112,3977,3979,3981,3983,3986,3988],{"class":114,"line":3978},87,[112,3980,3294],{"class":146},[112,3982,3311],{"class":2386},[112,3984,3985],{"class":146},">0.1 5 1\u003C/",[112,3987,3311],{"class":2386},[112,3989,2398],{"class":146},[112,3991,3993,3995,3997],{"class":114,"line":3992},88,[112,3994,3323],{"class":146},[112,3996,3973],{"class":2386},[112,3998,2398],{"class":146},[112,4000,4002,4004,4006],{"class":114,"line":4001},89,[112,4003,3332],{"class":146},[112,4005,3277],{"class":2386},[112,4007,2398],{"class":146},[112,4009,4011,4013,4015],{"class":114,"line":4010},90,[112,4012,2800],{"class":146},[112,4014,3343],{"class":2386},[112,4016,2398],{"class":146},[112,4018,4020,4022,4024],{"class":114,"line":4019},91,[112,4021,3284],{"class":146},[112,4023,3352],{"class":2386},[112,4025,2398],{"class":146},[112,4027,4029,4031,4033],{"class":114,"line":4028},92,[112,4030,3294],{"class":146},[112,4032,3361],{"class":2386},[112,4034,3042],{"class":146},[112,4036,4038,4040,4042],{"class":114,"line":4037},93,[112,4039,3323],{"class":146},[112,4041,3352],{"class":2386},[112,4043,2398],{"class":146},[112,4045,4047,4049,4051],{"class":114,"line":4046},94,[112,4048,3284],{"class":146},[112,4050,3378],{"class":2386},[112,4052,3042],{"class":146},[112,4054,4056,4058,4060],{"class":114,"line":4055},95,[112,4057,3284],{"class":146},[112,4059,3387],{"class":2386},[112,4061,3042],{"class":146},[112,4063,4065,4067,4069],{"class":114,"line":4064},96,[112,4066,3332],{"class":146},[112,4068,3343],{"class":2386},[112,4070,2398],{"class":146},[112,4072,4074,4076,4078],{"class":114,"line":4073},97,[112,4075,2840],{"class":146},[112,4077,3261],{"class":2386},[112,4079,2398],{"class":146},[112,4081,4083,4085,4087,4089,4091,4094],{"class":114,"line":4082},98,[112,4084,2604],{"class":146},[112,4086,3412],{"class":2386},[112,4088,2390],{"class":132},[112,4090,1697],{"class":146},[112,4092,4093],{"class":136},"'box_visual'",[112,4095,2398],{"class":146},[112,4097,4099,4101,4103],{"class":114,"line":4098},99,[112,4100,2800],{"class":146},[112,4102,3277],{"class":2386},[112,4104,2398],{"class":146},[112,4106,4108,4110,4112],{"class":114,"line":4107},100,[112,4109,3284],{"class":146},[112,4111,3973],{"class":2386},[112,4113,2398],{"class":146},[112,4115,4117,4119,4121,4123,4125],{"class":114,"line":4116},101,[112,4118,3294],{"class":146},[112,4120,3311],{"class":2386},[112,4122,3985],{"class":146},[112,4124,3311],{"class":2386},[112,4126,2398],{"class":146},[112,4128,4130,4132,4134],{"class":114,"line":4129},102,[112,4131,3323],{"class":146},[112,4133,3973],{"class":2386},[112,4135,2398],{"class":146},[112,4137,4139,4141,4143],{"class":114,"line":4138},103,[112,4140,3332],{"class":146},[112,4142,3277],{"class":2386},[112,4144,2398],{"class":146},[112,4146,4148,4150,4152],{"class":114,"line":4147},104,[112,4149,2800],{"class":146},[112,4151,3484],{"class":2386},[112,4153,2398],{"class":146},[112,4155,4157,4159,4161,4164,4166],{"class":114,"line":4156},105,[112,4158,3284],{"class":146},[112,4160,3168],{"class":2386},[112,4162,4163],{"class":146},">0.3 0.3 0.3 1\u003C/",[112,4165,3168],{"class":2386},[112,4167,2398],{"class":146},[112,4169,4171,4173,4175,4177,4179],{"class":114,"line":4170},106,[112,4172,3284],{"class":146},[112,4174,3506],{"class":2386},[112,4176,3185],{"class":146},[112,4178,3506],{"class":2386},[112,4180,2398],{"class":146},[112,4182,4184,4186,4188,4191,4193],{"class":114,"line":4183},107,[112,4185,3284],{"class":146},[112,4187,3519],{"class":2386},[112,4189,4190],{"class":146},">1 1 1 1\u003C/",[112,4192,3519],{"class":2386},[112,4194,2398],{"class":146},[112,4196,4198,4200,4202],{"class":114,"line":4197},108,[112,4199,3332],{"class":146},[112,4201,3484],{"class":2386},[112,4203,2398],{"class":146},[112,4205,4207,4209,4211],{"class":114,"line":4206},109,[112,4208,2840],{"class":146},[112,4210,3412],{"class":2386},[112,4212,2398],{"class":146},[112,4214,4216,4218,4220,4222,4224],{"class":114,"line":4215},110,[112,4217,2604],{"class":146},[112,4219,3548],{"class":2386},[112,4221,3551],{"class":146},[112,4223,3548],{"class":2386},[112,4225,2398],{"class":146},[112,4227,4229,4231,4233,4235,4237],{"class":114,"line":4228},111,[112,4230,2604],{"class":146},[112,4232,3701],{"class":2386},[112,4234,3704],{"class":146},[112,4236,3701],{"class":2386},[112,4238,2398],{"class":146},[112,4240,4242,4244,4246],{"class":114,"line":4241},112,[112,4243,2664],{"class":146},[112,4245,2406],{"class":2386},[112,4247,2398],{"class":146},[112,4249,4251,4253,4255,4257,4259],{"class":114,"line":4250},113,[112,4252,2430],{"class":146},[112,4254,3233],{"class":2386},[112,4256,3704],{"class":146},[112,4258,3233],{"class":2386},[112,4260,2398],{"class":146},[112,4262,4264,4266,4268,4270,4272],{"class":114,"line":4263},114,[112,4265,2430],{"class":146},[112,4267,3738],{"class":2386},[112,4269,3704],{"class":146},[112,4271,3738],{"class":2386},[112,4273,2398],{"class":146},[112,4275,4277,4279,4281],{"class":114,"line":4276},115,[112,4278,2501],{"class":146},[112,4280,2744],{"class":2386},[112,4282,2398],{"class":146},[112,4284,4286,4288,4290,4292,4294,4297],{"class":114,"line":4285},116,[112,4287,2420],{"class":146},[112,4289,2744],{"class":2386},[112,4291,2390],{"class":132},[112,4293,1697],{"class":146},[112,4295,4296],{"class":136},"'box_0'",[112,4298,2398],{"class":146},[112,4300,4302,4304,4306,4309,4311],{"class":114,"line":4301},117,[112,4303,2430],{"class":146},[112,4305,3548],{"class":2386},[112,4307,4308],{"class":146},">-5.0 -0 0.50000 -0 0 0\u003C/",[112,4310,3548],{"class":2386},[112,4312,2398],{"class":146},[112,4314,4316,4318,4320,4322,4324,4326],{"class":114,"line":4315},118,[112,4317,2430],{"class":146},[112,4319,2406],{"class":2386},[112,4321,2390],{"class":132},[112,4323,1697],{"class":146},[112,4325,3797],{"class":136},[112,4327,2398],{"class":146},[112,4329,4331,4333,4335],{"class":114,"line":4330},119,[112,4332,2604],{"class":146},[112,4334,2423],{"class":2386},[112,4336,2398],{"class":146},[112,4338,4340,4342,4344],{"class":114,"line":4339},120,[112,4341,2800],{"class":146},[112,4343,2451],{"class":2386},[112,4345,2398],{"class":146},[112,4347,4349,4351,4353,4355,4357],{"class":114,"line":4348},121,[112,4350,3284],{"class":146},[112,4352,2803],{"class":2386},[112,4354,3827],{"class":146},[112,4356,2803],{"class":2386},[112,4358,2398],{"class":146},[112,4360,4362,4364,4366,4368,4370],{"class":114,"line":4361},122,[112,4363,3284],{"class":146},[112,4365,3615],{"class":2386},[112,4367,3618],{"class":146},[112,4369,3615],{"class":2386},[112,4371,2398],{"class":146},[112,4373,4375,4377,4379,4381,4383],{"class":114,"line":4374},123,[112,4376,3284],{"class":146},[112,4378,3629],{"class":2386},[112,4380,3618],{"class":146},[112,4382,3629],{"class":2386},[112,4384,2398],{"class":146},[112,4386,4388,4390,4392,4394,4396],{"class":114,"line":4387},124,[112,4389,3284],{"class":146},[112,4391,2816],{"class":2386},[112,4393,3827],{"class":146},[112,4395,2816],{"class":2386},[112,4397,2398],{"class":146},[112,4399,4401,4403,4405,4407,4409],{"class":114,"line":4400},125,[112,4402,3284],{"class":146},[112,4404,3656],{"class":2386},[112,4406,3618],{"class":146},[112,4408,3656],{"class":2386},[112,4410,2398],{"class":146},[112,4412,4414,4416,4418,4420,4422],{"class":114,"line":4413},126,[112,4415,3284],{"class":146},[112,4417,2829],{"class":2386},[112,4419,3827],{"class":146},[112,4421,2829],{"class":2386},[112,4423,2398],{"class":146},[112,4425,4427,4429,4431],{"class":114,"line":4426},127,[112,4428,3332],{"class":146},[112,4430,2451],{"class":2386},[112,4432,2398],{"class":146},[112,4434,4436,4438,4440,4442,4444],{"class":114,"line":4435},128,[112,4437,2800],{"class":146},[112,4439,2433],{"class":2386},[112,4441,3584],{"class":146},[112,4443,2433],{"class":2386},[112,4445,2398],{"class":146},[112,4447,4449,4451,4453,4455,4457],{"class":114,"line":4448},129,[112,4450,2800],{"class":146},[112,4452,3548],{"class":2386},[112,4454,3551],{"class":146},[112,4456,3548],{"class":2386},[112,4458,2398],{"class":146},[112,4460,4462,4464,4466],{"class":114,"line":4461},130,[112,4463,2840],{"class":146},[112,4465,2423],{"class":2386},[112,4467,2398],{"class":146},[112,4469,4471,4473,4475,4477,4479,4481],{"class":114,"line":4470},131,[112,4472,2604],{"class":146},[112,4474,3261],{"class":2386},[112,4476,2390],{"class":132},[112,4478,1697],{"class":146},[112,4480,3954],{"class":136},[112,4482,2398],{"class":146},[112,4484,4486,4488,4490],{"class":114,"line":4485},132,[112,4487,2800],{"class":146},[112,4489,3277],{"class":2386},[112,4491,2398],{"class":146},[112,4493,4495,4497,4499],{"class":114,"line":4494},133,[112,4496,3284],{"class":146},[112,4498,3973],{"class":2386},[112,4500,2398],{"class":146},[112,4502,4504,4506,4508,4510,4512],{"class":114,"line":4503},134,[112,4505,3294],{"class":146},[112,4507,3311],{"class":2386},[112,4509,3985],{"class":146},[112,4511,3311],{"class":2386},[112,4513,2398],{"class":146},[112,4515,4517,4519,4521],{"class":114,"line":4516},135,[112,4518,3323],{"class":146},[112,4520,3973],{"class":2386},[112,4522,2398],{"class":146},[112,4524,4526,4528,4530],{"class":114,"line":4525},136,[112,4527,3332],{"class":146},[112,4529,3277],{"class":2386},[112,4531,2398],{"class":146},[112,4533,4535,4537,4539],{"class":114,"line":4534},137,[112,4536,2800],{"class":146},[112,4538,3343],{"class":2386},[112,4540,2398],{"class":146},[112,4542,4544,4546,4548],{"class":114,"line":4543},138,[112,4545,3284],{"class":146},[112,4547,3352],{"class":2386},[112,4549,2398],{"class":146},[112,4551,4553,4555,4557],{"class":114,"line":4552},139,[112,4554,3294],{"class":146},[112,4556,3361],{"class":2386},[112,4558,3042],{"class":146},[112,4560,4562,4564,4566],{"class":114,"line":4561},140,[112,4563,3323],{"class":146},[112,4565,3352],{"class":2386},[112,4567,2398],{"class":146},[112,4569,4571,4573,4575],{"class":114,"line":4570},141,[112,4572,3284],{"class":146},[112,4574,3378],{"class":2386},[112,4576,3042],{"class":146},[112,4578,4580,4582,4584],{"class":114,"line":4579},142,[112,4581,3284],{"class":146},[112,4583,3387],{"class":2386},[112,4585,3042],{"class":146},[112,4587,4589,4591,4593],{"class":114,"line":4588},143,[112,4590,3332],{"class":146},[112,4592,3343],{"class":2386},[112,4594,2398],{"class":146},[112,4596,4598,4600,4602],{"class":114,"line":4597},144,[112,4599,2840],{"class":146},[112,4601,3261],{"class":2386},[112,4603,2398],{"class":146},[112,4605,4607,4609,4611,4613,4615,4617],{"class":114,"line":4606},145,[112,4608,2604],{"class":146},[112,4610,3412],{"class":2386},[112,4612,2390],{"class":132},[112,4614,1697],{"class":146},[112,4616,4093],{"class":136},[112,4618,2398],{"class":146},[112,4620,4622,4624,4626],{"class":114,"line":4621},146,[112,4623,2800],{"class":146},[112,4625,3277],{"class":2386},[112,4627,2398],{"class":146},[112,4629,4631,4633,4635],{"class":114,"line":4630},147,[112,4632,3284],{"class":146},[112,4634,3973],{"class":2386},[112,4636,2398],{"class":146},[112,4638,4640,4642,4644,4646,4648],{"class":114,"line":4639},148,[112,4641,3294],{"class":146},[112,4643,3311],{"class":2386},[112,4645,3985],{"class":146},[112,4647,3311],{"class":2386},[112,4649,2398],{"class":146},[112,4651,4653,4655,4657],{"class":114,"line":4652},149,[112,4654,3323],{"class":146},[112,4656,3973],{"class":2386},[112,4658,2398],{"class":146},[112,4660,4662,4664,4666],{"class":114,"line":4661},150,[112,4663,3332],{"class":146},[112,4665,3277],{"class":2386},[112,4667,2398],{"class":146},[112,4669,4671,4673,4675],{"class":114,"line":4670},151,[112,4672,2800],{"class":146},[112,4674,3484],{"class":2386},[112,4676,2398],{"class":146},[112,4678,4680,4682,4684,4686,4688],{"class":114,"line":4679},152,[112,4681,3284],{"class":146},[112,4683,3168],{"class":2386},[112,4685,4163],{"class":146},[112,4687,3168],{"class":2386},[112,4689,2398],{"class":146},[112,4691,4693,4695,4697,4699,4701],{"class":114,"line":4692},153,[112,4694,3284],{"class":146},[112,4696,3506],{"class":2386},[112,4698,3185],{"class":146},[112,4700,3506],{"class":2386},[112,4702,2398],{"class":146},[112,4704,4706,4708,4710,4712,4714],{"class":114,"line":4705},154,[112,4707,3284],{"class":146},[112,4709,3519],{"class":2386},[112,4711,4190],{"class":146},[112,4713,3519],{"class":2386},[112,4715,2398],{"class":146},[112,4717,4719,4721,4723],{"class":114,"line":4718},155,[112,4720,3332],{"class":146},[112,4722,3484],{"class":2386},[112,4724,2398],{"class":146},[112,4726,4728,4730,4732],{"class":114,"line":4727},156,[112,4729,2840],{"class":146},[112,4731,3412],{"class":2386},[112,4733,2398],{"class":146},[112,4735,4737,4739,4741,4743,4745],{"class":114,"line":4736},157,[112,4738,2604],{"class":146},[112,4740,3548],{"class":2386},[112,4742,3551],{"class":146},[112,4744,3548],{"class":2386},[112,4746,2398],{"class":146},[112,4748,4750,4752,4754,4756,4758],{"class":114,"line":4749},158,[112,4751,2604],{"class":146},[112,4753,3701],{"class":2386},[112,4755,3704],{"class":146},[112,4757,3701],{"class":2386},[112,4759,2398],{"class":146},[112,4761,4763,4765,4767],{"class":114,"line":4762},159,[112,4764,2664],{"class":146},[112,4766,2406],{"class":2386},[112,4768,2398],{"class":146},[112,4770,4772,4774,4776,4778,4780],{"class":114,"line":4771},160,[112,4773,2430],{"class":146},[112,4775,3233],{"class":2386},[112,4777,3704],{"class":146},[112,4779,3233],{"class":2386},[112,4781,2398],{"class":146},[112,4783,4785,4787,4789,4791,4793],{"class":114,"line":4784},161,[112,4786,2430],{"class":146},[112,4788,3738],{"class":2386},[112,4790,3704],{"class":146},[112,4792,3738],{"class":2386},[112,4794,2398],{"class":146},[112,4796,4798,4800,4802],{"class":114,"line":4797},162,[112,4799,2501],{"class":146},[112,4801,2744],{"class":2386},[112,4803,2398],{"class":146},[112,4805,4807,4809,4811,4813,4815,4818],{"class":114,"line":4806},163,[112,4808,2420],{"class":146},[112,4810,2744],{"class":2386},[112,4812,2390],{"class":132},[112,4814,1697],{"class":146},[112,4816,4817],{"class":136},"'box_1'",[112,4819,2398],{"class":146},[112,4821,4823,4825,4827,4830,4832],{"class":114,"line":4822},164,[112,4824,2430],{"class":146},[112,4826,3548],{"class":2386},[112,4828,4829],{"class":146},">-0 -2.5 0.5 -0 -0 -0\u003C/",[112,4831,3548],{"class":2386},[112,4833,2398],{"class":146},[112,4835,4837,4839,4841,4843,4845,4847],{"class":114,"line":4836},165,[112,4838,2430],{"class":146},[112,4840,2406],{"class":2386},[112,4842,2390],{"class":132},[112,4844,1697],{"class":146},[112,4846,3797],{"class":136},[112,4848,2398],{"class":146},[112,4850,4852,4854,4856],{"class":114,"line":4851},166,[112,4853,2604],{"class":146},[112,4855,2423],{"class":2386},[112,4857,2398],{"class":146},[112,4859,4861,4863,4865],{"class":114,"line":4860},167,[112,4862,2800],{"class":146},[112,4864,2451],{"class":2386},[112,4866,2398],{"class":146},[112,4868,4870,4872,4874,4876,4878],{"class":114,"line":4869},168,[112,4871,3284],{"class":146},[112,4873,2803],{"class":2386},[112,4875,3827],{"class":146},[112,4877,2803],{"class":2386},[112,4879,2398],{"class":146},[112,4881,4883,4885,4887,4889,4891],{"class":114,"line":4882},169,[112,4884,3284],{"class":146},[112,4886,3615],{"class":2386},[112,4888,3618],{"class":146},[112,4890,3615],{"class":2386},[112,4892,2398],{"class":146},[112,4894,4896,4898,4900,4902,4904],{"class":114,"line":4895},170,[112,4897,3284],{"class":146},[112,4899,3629],{"class":2386},[112,4901,3618],{"class":146},[112,4903,3629],{"class":2386},[112,4905,2398],{"class":146},[112,4907,4909,4911,4913,4915,4917],{"class":114,"line":4908},171,[112,4910,3284],{"class":146},[112,4912,2816],{"class":2386},[112,4914,3827],{"class":146},[112,4916,2816],{"class":2386},[112,4918,2398],{"class":146},[112,4920,4922,4924,4926,4928,4930],{"class":114,"line":4921},172,[112,4923,3284],{"class":146},[112,4925,3656],{"class":2386},[112,4927,3618],{"class":146},[112,4929,3656],{"class":2386},[112,4931,2398],{"class":146},[112,4933,4935,4937,4939,4941,4943],{"class":114,"line":4934},173,[112,4936,3284],{"class":146},[112,4938,2829],{"class":2386},[112,4940,3827],{"class":146},[112,4942,2829],{"class":2386},[112,4944,2398],{"class":146},[112,4946,4948,4950,4952],{"class":114,"line":4947},174,[112,4949,3332],{"class":146},[112,4951,2451],{"class":2386},[112,4953,2398],{"class":146},[112,4955,4957,4959,4961,4963,4965],{"class":114,"line":4956},175,[112,4958,2800],{"class":146},[112,4960,2433],{"class":2386},[112,4962,3584],{"class":146},[112,4964,2433],{"class":2386},[112,4966,2398],{"class":146},[112,4968,4970,4972,4974,4976,4978],{"class":114,"line":4969},176,[112,4971,2800],{"class":146},[112,4973,3548],{"class":2386},[112,4975,3551],{"class":146},[112,4977,3548],{"class":2386},[112,4979,2398],{"class":146},[112,4981,4983,4985,4987],{"class":114,"line":4982},177,[112,4984,2840],{"class":146},[112,4986,2423],{"class":2386},[112,4988,2398],{"class":146},[112,4990,4992,4994,4996,4998,5000,5002],{"class":114,"line":4991},178,[112,4993,2604],{"class":146},[112,4995,3261],{"class":2386},[112,4997,2390],{"class":132},[112,4999,1697],{"class":146},[112,5001,3954],{"class":136},[112,5003,2398],{"class":146},[112,5005,5007,5009,5011],{"class":114,"line":5006},179,[112,5008,2800],{"class":146},[112,5010,3277],{"class":2386},[112,5012,2398],{"class":146},[112,5014,5016,5018,5020],{"class":114,"line":5015},180,[112,5017,3284],{"class":146},[112,5019,3973],{"class":2386},[112,5021,2398],{"class":146},[112,5023,5025,5027,5029,5032,5034],{"class":114,"line":5024},181,[112,5026,3294],{"class":146},[112,5028,3311],{"class":2386},[112,5030,5031],{"class":146},">10 0.1 1\u003C/",[112,5033,3311],{"class":2386},[112,5035,2398],{"class":146},[112,5037,5039,5041,5043],{"class":114,"line":5038},182,[112,5040,3323],{"class":146},[112,5042,3973],{"class":2386},[112,5044,2398],{"class":146},[112,5046,5048,5050,5052],{"class":114,"line":5047},183,[112,5049,3332],{"class":146},[112,5051,3277],{"class":2386},[112,5053,2398],{"class":146},[112,5055,5057,5059,5061],{"class":114,"line":5056},184,[112,5058,2800],{"class":146},[112,5060,3343],{"class":2386},[112,5062,2398],{"class":146},[112,5064,5066,5068,5070],{"class":114,"line":5065},185,[112,5067,3284],{"class":146},[112,5069,3352],{"class":2386},[112,5071,2398],{"class":146},[112,5073,5075,5077,5079],{"class":114,"line":5074},186,[112,5076,3294],{"class":146},[112,5078,3361],{"class":2386},[112,5080,3042],{"class":146},[112,5082,5084,5086,5088],{"class":114,"line":5083},187,[112,5085,3323],{"class":146},[112,5087,3352],{"class":2386},[112,5089,2398],{"class":146},[112,5091,5093,5095,5097],{"class":114,"line":5092},188,[112,5094,3284],{"class":146},[112,5096,3378],{"class":2386},[112,5098,3042],{"class":146},[112,5100,5102,5104,5106],{"class":114,"line":5101},189,[112,5103,3284],{"class":146},[112,5105,3387],{"class":2386},[112,5107,3042],{"class":146},[112,5109,5111,5113,5115],{"class":114,"line":5110},190,[112,5112,3332],{"class":146},[112,5114,3343],{"class":2386},[112,5116,2398],{"class":146},[112,5118,5120,5122,5124],{"class":114,"line":5119},191,[112,5121,2840],{"class":146},[112,5123,3261],{"class":2386},[112,5125,2398],{"class":146},[112,5127,5129,5131,5133,5135,5137,5139],{"class":114,"line":5128},192,[112,5130,2604],{"class":146},[112,5132,3412],{"class":2386},[112,5134,2390],{"class":132},[112,5136,1697],{"class":146},[112,5138,4093],{"class":136},[112,5140,2398],{"class":146},[112,5142,5144,5146,5148],{"class":114,"line":5143},193,[112,5145,2800],{"class":146},[112,5147,3277],{"class":2386},[112,5149,2398],{"class":146},[112,5151,5153,5155,5157],{"class":114,"line":5152},194,[112,5154,3284],{"class":146},[112,5156,3973],{"class":2386},[112,5158,2398],{"class":146},[112,5160,5162,5164,5166,5168,5170],{"class":114,"line":5161},195,[112,5163,3294],{"class":146},[112,5165,3311],{"class":2386},[112,5167,5031],{"class":146},[112,5169,3311],{"class":2386},[112,5171,2398],{"class":146},[112,5173,5175,5177,5179],{"class":114,"line":5174},196,[112,5176,3323],{"class":146},[112,5178,3973],{"class":2386},[112,5180,2398],{"class":146},[112,5182,5184,5186,5188],{"class":114,"line":5183},197,[112,5185,3332],{"class":146},[112,5187,3277],{"class":2386},[112,5189,2398],{"class":146},[112,5191,5193,5195,5197],{"class":114,"line":5192},198,[112,5194,2800],{"class":146},[112,5196,3484],{"class":2386},[112,5198,2398],{"class":146},[112,5200,5202,5204,5206,5208,5210],{"class":114,"line":5201},199,[112,5203,3284],{"class":146},[112,5205,3168],{"class":2386},[112,5207,4163],{"class":146},[112,5209,3168],{"class":2386},[112,5211,2398],{"class":146},[112,5213,5215,5217,5219,5221,5223],{"class":114,"line":5214},200,[112,5216,3284],{"class":146},[112,5218,3506],{"class":2386},[112,5220,3185],{"class":146},[112,5222,3506],{"class":2386},[112,5224,2398],{"class":146},[112,5226,5228,5230,5232,5234,5236],{"class":114,"line":5227},201,[112,5229,3284],{"class":146},[112,5231,3519],{"class":2386},[112,5233,4190],{"class":146},[112,5235,3519],{"class":2386},[112,5237,2398],{"class":146},[112,5239,5241,5243,5245],{"class":114,"line":5240},202,[112,5242,3332],{"class":146},[112,5244,3484],{"class":2386},[112,5246,2398],{"class":146},[112,5248,5250,5252,5254],{"class":114,"line":5249},203,[112,5251,2840],{"class":146},[112,5253,3412],{"class":2386},[112,5255,2398],{"class":146},[112,5257,5259,5261,5263,5265,5267],{"class":114,"line":5258},204,[112,5260,2604],{"class":146},[112,5262,3548],{"class":2386},[112,5264,3551],{"class":146},[112,5266,3548],{"class":2386},[112,5268,2398],{"class":146},[112,5270,5272,5274,5276,5278,5280],{"class":114,"line":5271},205,[112,5273,2604],{"class":146},[112,5275,3701],{"class":2386},[112,5277,3704],{"class":146},[112,5279,3701],{"class":2386},[112,5281,2398],{"class":146},[112,5283,5285,5287,5289],{"class":114,"line":5284},206,[112,5286,2664],{"class":146},[112,5288,2406],{"class":2386},[112,5290,2398],{"class":146},[112,5292,5294,5296,5298,5300,5302],{"class":114,"line":5293},207,[112,5295,2430],{"class":146},[112,5297,3233],{"class":2386},[112,5299,3704],{"class":146},[112,5301,3233],{"class":2386},[112,5303,2398],{"class":146},[112,5305,5307,5309,5311,5313,5315],{"class":114,"line":5306},208,[112,5308,2430],{"class":146},[112,5310,3738],{"class":2386},[112,5312,3704],{"class":146},[112,5314,3738],{"class":2386},[112,5316,2398],{"class":146},[112,5318,5320,5322,5324],{"class":114,"line":5319},209,[112,5321,2501],{"class":146},[112,5323,2744],{"class":2386},[112,5325,2398],{"class":146},[112,5327,5329,5331,5333,5335,5337,5340],{"class":114,"line":5328},210,[112,5330,2420],{"class":146},[112,5332,2744],{"class":2386},[112,5334,2390],{"class":132},[112,5336,1697],{"class":146},[112,5338,5339],{"class":136},"'box_2'",[112,5341,2398],{"class":146},[112,5343,5345,5347,5349,5352,5354],{"class":114,"line":5344},211,[112,5346,2430],{"class":146},[112,5348,3548],{"class":2386},[112,5350,5351],{"class":146},">-0 2.5 0.5 0 -0 -0\u003C/",[112,5353,3548],{"class":2386},[112,5355,2398],{"class":146},[112,5357,5359,5361,5363,5365,5367,5369],{"class":114,"line":5358},212,[112,5360,2430],{"class":146},[112,5362,2406],{"class":2386},[112,5364,2390],{"class":132},[112,5366,1697],{"class":146},[112,5368,3797],{"class":136},[112,5370,2398],{"class":146},[112,5372,5374,5376,5378],{"class":114,"line":5373},213,[112,5375,2604],{"class":146},[112,5377,2423],{"class":2386},[112,5379,2398],{"class":146},[112,5381,5383,5385,5387],{"class":114,"line":5382},214,[112,5384,2800],{"class":146},[112,5386,2451],{"class":2386},[112,5388,2398],{"class":146},[112,5390,5392,5394,5396,5398,5400],{"class":114,"line":5391},215,[112,5393,3284],{"class":146},[112,5395,2803],{"class":2386},[112,5397,3827],{"class":146},[112,5399,2803],{"class":2386},[112,5401,2398],{"class":146},[112,5403,5405,5407,5409,5411,5413],{"class":114,"line":5404},216,[112,5406,3284],{"class":146},[112,5408,3615],{"class":2386},[112,5410,3618],{"class":146},[112,5412,3615],{"class":2386},[112,5414,2398],{"class":146},[112,5416,5418,5420,5422,5424,5426],{"class":114,"line":5417},217,[112,5419,3284],{"class":146},[112,5421,3629],{"class":2386},[112,5423,3618],{"class":146},[112,5425,3629],{"class":2386},[112,5427,2398],{"class":146},[112,5429,5431,5433,5435,5437,5439],{"class":114,"line":5430},218,[112,5432,3284],{"class":146},[112,5434,2816],{"class":2386},[112,5436,3827],{"class":146},[112,5438,2816],{"class":2386},[112,5440,2398],{"class":146},[112,5442,5444,5446,5448,5450,5452],{"class":114,"line":5443},219,[112,5445,3284],{"class":146},[112,5447,3656],{"class":2386},[112,5449,3618],{"class":146},[112,5451,3656],{"class":2386},[112,5453,2398],{"class":146},[112,5455,5457,5459,5461,5463,5465],{"class":114,"line":5456},220,[112,5458,3284],{"class":146},[112,5460,2829],{"class":2386},[112,5462,3827],{"class":146},[112,5464,2829],{"class":2386},[112,5466,2398],{"class":146},[112,5468,5470,5472,5474],{"class":114,"line":5469},221,[112,5471,3332],{"class":146},[112,5473,2451],{"class":2386},[112,5475,2398],{"class":146},[112,5477,5479,5481,5483,5485,5487],{"class":114,"line":5478},222,[112,5480,2800],{"class":146},[112,5482,2433],{"class":2386},[112,5484,3584],{"class":146},[112,5486,2433],{"class":2386},[112,5488,2398],{"class":146},[112,5490,5492,5494,5496,5498,5500],{"class":114,"line":5491},223,[112,5493,2800],{"class":146},[112,5495,3548],{"class":2386},[112,5497,3551],{"class":146},[112,5499,3548],{"class":2386},[112,5501,2398],{"class":146},[112,5503,5505,5507,5509],{"class":114,"line":5504},224,[112,5506,2840],{"class":146},[112,5508,2423],{"class":2386},[112,5510,2398],{"class":146},[112,5512,5514,5516,5518,5520,5522,5524],{"class":114,"line":5513},225,[112,5515,2604],{"class":146},[112,5517,3261],{"class":2386},[112,5519,2390],{"class":132},[112,5521,1697],{"class":146},[112,5523,3954],{"class":136},[112,5525,2398],{"class":146},[112,5527,5529,5531,5533],{"class":114,"line":5528},226,[112,5530,2800],{"class":146},[112,5532,3277],{"class":2386},[112,5534,2398],{"class":146},[112,5536,5538,5540,5542],{"class":114,"line":5537},227,[112,5539,3284],{"class":146},[112,5541,3973],{"class":2386},[112,5543,2398],{"class":146},[112,5545,5547,5549,5551,5553,5555],{"class":114,"line":5546},228,[112,5548,3294],{"class":146},[112,5550,3311],{"class":2386},[112,5552,5031],{"class":146},[112,5554,3311],{"class":2386},[112,5556,2398],{"class":146},[112,5558,5560,5562,5564],{"class":114,"line":5559},229,[112,5561,3323],{"class":146},[112,5563,3973],{"class":2386},[112,5565,2398],{"class":146},[112,5567,5569,5571,5573],{"class":114,"line":5568},230,[112,5570,3332],{"class":146},[112,5572,3277],{"class":2386},[112,5574,2398],{"class":146},[112,5576,5578,5580,5582],{"class":114,"line":5577},231,[112,5579,2800],{"class":146},[112,5581,3343],{"class":2386},[112,5583,2398],{"class":146},[112,5585,5587,5589,5591],{"class":114,"line":5586},232,[112,5588,3284],{"class":146},[112,5590,3352],{"class":2386},[112,5592,2398],{"class":146},[112,5594,5596,5598,5600],{"class":114,"line":5595},233,[112,5597,3294],{"class":146},[112,5599,3361],{"class":2386},[112,5601,3042],{"class":146},[112,5603,5605,5607,5609],{"class":114,"line":5604},234,[112,5606,3323],{"class":146},[112,5608,3352],{"class":2386},[112,5610,2398],{"class":146},[112,5612,5614,5616,5618],{"class":114,"line":5613},235,[112,5615,3284],{"class":146},[112,5617,3378],{"class":2386},[112,5619,3042],{"class":146},[112,5621,5623,5625,5627],{"class":114,"line":5622},236,[112,5624,3284],{"class":146},[112,5626,3387],{"class":2386},[112,5628,3042],{"class":146},[112,5630,5632,5634,5636],{"class":114,"line":5631},237,[112,5633,3332],{"class":146},[112,5635,3343],{"class":2386},[112,5637,2398],{"class":146},[112,5639,5641,5643,5645],{"class":114,"line":5640},238,[112,5642,2840],{"class":146},[112,5644,3261],{"class":2386},[112,5646,2398],{"class":146},[112,5648,5650,5652,5654,5656,5658,5660],{"class":114,"line":5649},239,[112,5651,2604],{"class":146},[112,5653,3412],{"class":2386},[112,5655,2390],{"class":132},[112,5657,1697],{"class":146},[112,5659,4093],{"class":136},[112,5661,2398],{"class":146},[112,5663,5665,5667,5669],{"class":114,"line":5664},240,[112,5666,2800],{"class":146},[112,5668,3277],{"class":2386},[112,5670,2398],{"class":146},[112,5672,5674,5676,5678],{"class":114,"line":5673},241,[112,5675,3284],{"class":146},[112,5677,3973],{"class":2386},[112,5679,2398],{"class":146},[112,5681,5683,5685,5687,5689,5691],{"class":114,"line":5682},242,[112,5684,3294],{"class":146},[112,5686,3311],{"class":2386},[112,5688,5031],{"class":146},[112,5690,3311],{"class":2386},[112,5692,2398],{"class":146},[112,5694,5696,5698,5700],{"class":114,"line":5695},243,[112,5697,3323],{"class":146},[112,5699,3973],{"class":2386},[112,5701,2398],{"class":146},[112,5703,5705,5707,5709],{"class":114,"line":5704},244,[112,5706,3332],{"class":146},[112,5708,3277],{"class":2386},[112,5710,2398],{"class":146},[112,5712,5714,5716,5718],{"class":114,"line":5713},245,[112,5715,2800],{"class":146},[112,5717,3484],{"class":2386},[112,5719,2398],{"class":146},[112,5721,5723,5725,5727,5729,5731],{"class":114,"line":5722},246,[112,5724,3284],{"class":146},[112,5726,3168],{"class":2386},[112,5728,4163],{"class":146},[112,5730,3168],{"class":2386},[112,5732,2398],{"class":146},[112,5734,5736,5738,5740,5742,5744],{"class":114,"line":5735},247,[112,5737,3284],{"class":146},[112,5739,3506],{"class":2386},[112,5741,3185],{"class":146},[112,5743,3506],{"class":2386},[112,5745,2398],{"class":146},[112,5747,5749,5751,5753,5755,5757],{"class":114,"line":5748},248,[112,5750,3284],{"class":146},[112,5752,3519],{"class":2386},[112,5754,4190],{"class":146},[112,5756,3519],{"class":2386},[112,5758,2398],{"class":146},[112,5760,5762,5764,5766],{"class":114,"line":5761},249,[112,5763,3332],{"class":146},[112,5765,3484],{"class":2386},[112,5767,2398],{"class":146},[112,5769,5771,5773,5775],{"class":114,"line":5770},250,[112,5772,2840],{"class":146},[112,5774,3412],{"class":2386},[112,5776,2398],{"class":146},[112,5778,5780,5782,5784,5786,5788],{"class":114,"line":5779},251,[112,5781,2604],{"class":146},[112,5783,3548],{"class":2386},[112,5785,3551],{"class":146},[112,5787,3548],{"class":2386},[112,5789,2398],{"class":146},[112,5791,5793,5795,5797,5799,5801],{"class":114,"line":5792},252,[112,5794,2604],{"class":146},[112,5796,3701],{"class":2386},[112,5798,3704],{"class":146},[112,5800,3701],{"class":2386},[112,5802,2398],{"class":146},[112,5804,5806,5808,5810],{"class":114,"line":5805},253,[112,5807,2664],{"class":146},[112,5809,2406],{"class":2386},[112,5811,2398],{"class":146},[112,5813,5815,5817,5819,5821,5823],{"class":114,"line":5814},254,[112,5816,2430],{"class":146},[112,5818,3233],{"class":2386},[112,5820,3704],{"class":146},[112,5822,3233],{"class":2386},[112,5824,2398],{"class":146},[112,5826,5828,5830,5832,5834,5836],{"class":114,"line":5827},255,[112,5829,2430],{"class":146},[112,5831,3738],{"class":2386},[112,5833,3704],{"class":146},[112,5835,3738],{"class":2386},[112,5837,2398],{"class":146},[112,5839,5841,5843,5845],{"class":114,"line":5840},256,[112,5842,2501],{"class":146},[112,5844,2744],{"class":2386},[112,5846,2398],{"class":146},[112,5848,5850,5852,5855,5857,5859,5862,5864,5866,5869],{"class":114,"line":5849},257,[112,5851,2420],{"class":146},[112,5853,5854],{"class":2386},"light",[112,5856,2390],{"class":132},[112,5858,1697],{"class":146},[112,5860,5861],{"class":136},"'sun'",[112,5863,2960],{"class":132},[112,5865,1697],{"class":146},[112,5867,5868],{"class":136},"'directional'",[112,5870,2398],{"class":146},[112,5872,5874,5876,5878,5881,5883],{"class":114,"line":5873},258,[112,5875,2430],{"class":146},[112,5877,3548],{"class":2386},[112,5879,5880],{"class":146},">0 0 10 0 -0 0\u003C/",[112,5882,3548],{"class":2386},[112,5884,2398],{"class":146},[112,5886,5888,5890,5893,5895,5897],{"class":114,"line":5887},259,[112,5889,2430],{"class":146},[112,5891,5892],{"class":2386},"cast_shadows",[112,5894,3199],{"class":146},[112,5896,5892],{"class":2386},[112,5898,2398],{"class":146},[112,5900,5902,5904,5907,5909,5911],{"class":114,"line":5901},260,[112,5903,2430],{"class":146},[112,5905,5906],{"class":2386},"intensity",[112,5908,2991],{"class":146},[112,5910,5906],{"class":2386},[112,5912,2398],{"class":146},[112,5914,5916,5918,5921,5924,5926],{"class":114,"line":5915},261,[112,5917,2430],{"class":146},[112,5919,5920],{"class":2386},"direction",[112,5922,5923],{"class":146},">-0.5 0.1 -0.9\u003C/",[112,5925,5920],{"class":2386},[112,5927,2398],{"class":146},[112,5929,5931,5933,5935,5937,5939],{"class":114,"line":5930},262,[112,5932,2430],{"class":146},[112,5934,3506],{"class":2386},[112,5936,3495],{"class":146},[112,5938,3506],{"class":2386},[112,5940,2398],{"class":146},[112,5942,5944,5946,5948,5951,5953],{"class":114,"line":5943},263,[112,5945,2430],{"class":146},[112,5947,3519],{"class":2386},[112,5949,5950],{"class":146},">0.2 0.2 0.2 1\u003C/",[112,5952,3519],{"class":2386},[112,5954,2398],{"class":146},[112,5956,5958,5960,5963],{"class":114,"line":5957},264,[112,5959,2430],{"class":146},[112,5961,5962],{"class":2386},"attenuation",[112,5964,2398],{"class":146},[112,5966,5968,5970,5973,5975,5977],{"class":114,"line":5967},265,[112,5969,2604],{"class":146},[112,5971,5972],{"class":2386},"range",[112,5974,3005],{"class":146},[112,5976,5972],{"class":2386},[112,5978,2398],{"class":146},[112,5980,5982,5984,5987,5990,5992],{"class":114,"line":5981},266,[112,5983,2604],{"class":146},[112,5985,5986],{"class":2386},"linear",[112,5988,5989],{"class":146},">0.01\u003C/",[112,5991,5986],{"class":2386},[112,5993,2398],{"class":146},[112,5995,5997,5999,6002,6005,6007],{"class":114,"line":5996},267,[112,5998,2604],{"class":146},[112,6000,6001],{"class":2386},"constant",[112,6003,6004],{"class":146},">0.90000000000000002\u003C/",[112,6006,6001],{"class":2386},[112,6008,2398],{"class":146},[112,6010,6012,6014,6017,6019,6021],{"class":114,"line":6011},268,[112,6013,2604],{"class":146},[112,6015,6016],{"class":2386},"quadratic",[112,6018,2977],{"class":146},[112,6020,6016],{"class":2386},[112,6022,2398],{"class":146},[112,6024,6026,6028,6030],{"class":114,"line":6025},269,[112,6027,2664],{"class":146},[112,6029,5962],{"class":2386},[112,6031,2398],{"class":146},[112,6033,6035,6037,6040],{"class":114,"line":6034},270,[112,6036,2430],{"class":146},[112,6038,6039],{"class":2386},"spot",[112,6041,2398],{"class":146},[112,6043,6045,6047,6050,6052,6054],{"class":114,"line":6044},271,[112,6046,2604],{"class":146},[112,6048,6049],{"class":2386},"inner_angle",[112,6051,3618],{"class":146},[112,6053,6049],{"class":2386},[112,6055,2398],{"class":146},[112,6057,6059,6061,6064,6066,6068],{"class":114,"line":6058},272,[112,6060,2604],{"class":146},[112,6062,6063],{"class":2386},"outer_angle",[112,6065,3618],{"class":146},[112,6067,6063],{"class":2386},[112,6069,2398],{"class":146},[112,6071,6073,6075,6078,6080,6082],{"class":114,"line":6072},273,[112,6074,2604],{"class":146},[112,6076,6077],{"class":2386},"falloff",[112,6079,3618],{"class":146},[112,6081,6077],{"class":2386},[112,6083,2398],{"class":146},[112,6085,6087,6089,6091],{"class":114,"line":6086},274,[112,6088,2664],{"class":146},[112,6090,6039],{"class":2386},[112,6092,2398],{"class":146},[112,6094,6096,6098,6100],{"class":114,"line":6095},275,[112,6097,2501],{"class":146},[112,6099,5854],{"class":2386},[112,6101,2398],{"class":146},[112,6103,6105,6107,6109],{"class":114,"line":6104},276,[112,6106,2510],{"class":146},[112,6108,2934],{"class":2386},[112,6110,2398],{"class":146},[112,6112,6114,6116,6118],{"class":114,"line":6113},277,[112,6115,2519],{"class":146},[112,6117,2727],{"class":2386},[112,6119,2398],{"class":146},[15,6121,6122],{},[50,6123,6124],{},"2.修改sdf文件",[15,6126,6127,6128,6131,6132,6135,6136,6138,6139,6138,6142,6138,6145,6148,6149,6151,6152,6154,6155,6158,6159,6148,6162,6151,6164,6154,6166,6158,6168,6171,6172,6176,6178,6181,6184,6187,6190,6193,6196,6199,6201,2325],{},"修改sdf文件，调整立方体的尺寸，实现墙体的合围。在sdf文件中，四个立方体分别对应了四个",[109,6129,6130],{},"\u003Cmodel>","标签，其",[109,6133,6134],{},"name","属性分别为",[109,6137,3973],{},"、",[109,6140,6141],{},"box_1",[109,6143,6144],{},"box_2",[109,6146,6147],{},"box_3","，将",[109,6150,3973],{},"和",[109,6153,6141],{},"中的",[109,6156,6157],{},"\u003Csize>1 1 1\u003C/size>","修改为",[109,6160,6161],{},"\u003Csize>0.1 5 1\u003C/size>",[109,6163,6144],{},[109,6165,6147],{},[109,6167,6157],{},[109,6169,6170],{},"\u003Csize>10 0.1 1\u003C/size>","（",[6173,6174,6175],"em",{},"注意：每个",[109,6177,6130],{},[6173,6179,6180],{},"标签下，都包含两个",[109,6182,6183],{},"\u003Csize>",[6173,6185,6186],{},"标签，分别位于",[109,6188,6189],{},"\u003Ccollision>",[6173,6191,6192],{},"标签和",[109,6194,6195],{},"\u003Cvisual>",[6173,6197,6198],{},"标签下，两个",[109,6200,6183],{},[6173,6202,6203],{},"标签内容都需要修改",[15,6205,6206],{},"修改后与的house.sdf文件内容如下：",[102,6208,6210],{"className":2374,"code":6209,"language":2376,"meta":107,"style":107},"\u003Csdf version='1.9'>\n  \u003Cworld name='empty'>\n    \u003Cphysics name='1ms' type='ignored'>\n      \u003Cmax_step_size>0.001\u003C/max_step_size>\n      \u003Creal_time_factor>1\u003C/real_time_factor>\n      \u003Creal_time_update_rate>1000\u003C/real_time_update_rate>\n    \u003C/physics>\n    \u003Cplugin name='ign::gazebo::systems::Physics' filename='ignition-gazebo-physics-system'/>\n    \u003Cplugin name='ign::gazebo::systems::UserCommands' filename='ignition-gazebo-user-commands-system'/>\n    \u003Cplugin name='ign::gazebo::systems::SceneBroadcaster' filename='ignition-gazebo-scene-broadcaster-system'/>\n    \u003Cplugin name='ign::gazebo::systems::Contact' filename='ignition-gazebo-contact-system'/>\n    \u003Cgravity>0 0 -9.8\u003C/gravity>\n    \u003Cmagnetic_field>6e-06 2.3e-05 -4.2e-05\u003C/magnetic_field>\n    \u003Catmosphere type='adiabatic'/>\n    \u003Cscene>\n      \u003Cambient>0.4 0.4 0.4 1\u003C/ambient>\n      \u003Cbackground>0.7 0.7 0.7 1\u003C/background>\n      \u003Cshadows>true\u003C/shadows>\n    \u003C/scene>\n    \u003Cmodel name='ground_plane'>\n      \u003Cstatic>true\u003C/static>\n      \u003Clink name='link'>\n        \u003Ccollision name='collision'>\n          \u003Cgeometry>\n            \u003Cplane>\n              \u003Cnormal>0 0 1\u003C/normal>\n              \u003Csize>100 100\u003C/size>\n            \u003C/plane>\n          \u003C/geometry>\n          \u003Csurface>\n            \u003Cfriction>\n              \u003Code/>\n            \u003C/friction>\n            \u003Cbounce/>\n            \u003Ccontact/>\n          \u003C/surface>\n        \u003C/collision>\n        \u003Cvisual name='visual'>\n          \u003Cgeometry>\n            \u003Cplane>\n              \u003Cnormal>0 0 1\u003C/normal>\n              \u003Csize>100 100\u003C/size>\n            \u003C/plane>\n          \u003C/geometry>\n          \u003Cmaterial>\n            \u003Cambient>0.8 0.8 0.8 1\u003C/ambient>\n            \u003Cdiffuse>0.8 0.8 0.8 1\u003C/diffuse>\n            \u003Cspecular>0.8 0.8 0.8 1\u003C/specular>\n          \u003C/material>\n        \u003C/visual>\n        \u003Cpose>0 0 0 0 -0 0\u003C/pose>\n        \u003Cinertial>\n          \u003Cpose>0 0 0 0 -0 0\u003C/pose>\n          \u003Cmass>100\u003C/mass>\n          \u003Cinertia>\n            \u003Cixx>1\u003C/ixx>\n            \u003Cixy>0\u003C/ixy>\n            \u003Cixz>0\u003C/ixz>\n            \u003Ciyy>1\u003C/iyy>\n            \u003Ciyz>0\u003C/iyz>\n            \u003Cizz>1\u003C/izz>\n          \u003C/inertia>\n        \u003C/inertial>\n        \u003Cenable_wind>false\u003C/enable_wind>\n      \u003C/link>\n      \u003Cpose>0 0 0 0 -0 0\u003C/pose>\n      \u003Cself_collide>false\u003C/self_collide>\n    \u003C/model>\n    \u003Cmodel name='box'>\n      \u003Cpose>5.0 0 0.5 -0 0 0\u003C/pose>\n      \u003Clink name='box_link'>\n        \u003Cinertial>\n          \u003Cinertia>\n            \u003Cixx>16.666\u003C/ixx>\n            \u003Cixy>0\u003C/ixy>\n            \u003Cixz>0\u003C/ixz>\n            \u003Ciyy>16.666\u003C/iyy>\n            \u003Ciyz>0\u003C/iyz>\n            \u003Cizz>16.666\u003C/izz>\n          \u003C/inertia>\n          \u003Cmass>100\u003C/mass>\n          \u003Cpose>0 0 0 0 -0 0\u003C/pose>\n        \u003C/inertial>\n        \u003Ccollision name='box_collision'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>0.1 5 1\u003C/size>\n            \u003C/box>\n          \u003C/geometry>\n          \u003Csurface>\n            \u003Cfriction>\n              \u003Code/>\n            \u003C/friction>\n            \u003Cbounce/>\n            \u003Ccontact/>\n          \u003C/surface>\n        \u003C/collision>\n        \u003Cvisual name='box_visual'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>0.1 5 1\u003C/size>\n            \u003C/box>\n          \u003C/geometry>\n          \u003Cmaterial>\n            \u003Cambient>0.3 0.3 0.3 1\u003C/ambient>\n            \u003Cdiffuse>0.7 0.7 0.7 1\u003C/diffuse>\n            \u003Cspecular>1 1 1 1\u003C/specular>\n          \u003C/material>\n        \u003C/visual>\n        \u003Cpose>0 0 0 0 -0 0\u003C/pose>\n        \u003Cenable_wind>false\u003C/enable_wind>\n      \u003C/link>\n      \u003Cstatic>false\u003C/static>\n      \u003Cself_collide>false\u003C/self_collide>\n    \u003C/model>\n    \u003Cmodel name='box_0'>\n      \u003Cpose>-5.0 -0 0.50000 -0 0 0\u003C/pose>\n      \u003Clink name='box_link'>\n        \u003Cinertial>\n          \u003Cinertia>\n            \u003Cixx>16.666\u003C/ixx>\n            \u003Cixy>0\u003C/ixy>\n            \u003Cixz>0\u003C/ixz>\n            \u003Ciyy>16.666\u003C/iyy>\n            \u003Ciyz>0\u003C/iyz>\n            \u003Cizz>16.666\u003C/izz>\n          \u003C/inertia>\n          \u003Cmass>100\u003C/mass>\n          \u003Cpose>0 0 0 0 -0 0\u003C/pose>\n        \u003C/inertial>\n        \u003Ccollision name='box_collision'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>0.1 5 1\u003C/size>\n            \u003C/box>\n          \u003C/geometry>\n          \u003Csurface>\n            \u003Cfriction>\n              \u003Code/>\n            \u003C/friction>\n            \u003Cbounce/>\n            \u003Ccontact/>\n          \u003C/surface>\n        \u003C/collision>\n        \u003Cvisual name='box_visual'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>0.1 5 1\u003C/size>\n            \u003C/box>\n          \u003C/geometry>\n          \u003Cmaterial>\n            \u003Cambient>0.3 0.3 0.3 1\u003C/ambient>\n            \u003Cdiffuse>0.7 0.7 0.7 1\u003C/diffuse>\n            \u003Cspecular>1 1 1 1\u003C/specular>\n          \u003C/material>\n        \u003C/visual>\n        \u003Cpose>0 0 0 0 -0 0\u003C/pose>\n        \u003Cenable_wind>false\u003C/enable_wind>\n      \u003C/link>\n      \u003Cstatic>false\u003C/static>\n      \u003Cself_collide>false\u003C/self_collide>\n    \u003C/model>\n    \u003Cmodel name='box_1'>\n      \u003Cpose>-0 -2.5 0.5 -0 -0 -0\u003C/pose>\n      \u003Clink name='box_link'>\n        \u003Cinertial>\n          \u003Cinertia>\n            \u003Cixx>16.666\u003C/ixx>\n            \u003Cixy>0\u003C/ixy>\n            \u003Cixz>0\u003C/ixz>\n            \u003Ciyy>16.666\u003C/iyy>\n            \u003Ciyz>0\u003C/iyz>\n            \u003Cizz>16.666\u003C/izz>\n          \u003C/inertia>\n          \u003Cmass>100\u003C/mass>\n          \u003Cpose>0 0 0 0 -0 0\u003C/pose>\n        \u003C/inertial>\n        \u003Ccollision name='box_collision'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>10 0.1 1\u003C/size>\n            \u003C/box>\n          \u003C/geometry>\n          \u003Csurface>\n            \u003Cfriction>\n              \u003Code/>\n            \u003C/friction>\n            \u003Cbounce/>\n            \u003Ccontact/>\n          \u003C/surface>\n        \u003C/collision>\n        \u003Cvisual name='box_visual'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>10 0.1 1\u003C/size>\n            \u003C/box>\n          \u003C/geometry>\n          \u003Cmaterial>\n            \u003Cambient>0.3 0.3 0.3 1\u003C/ambient>\n            \u003Cdiffuse>0.7 0.7 0.7 1\u003C/diffuse>\n            \u003Cspecular>1 1 1 1\u003C/specular>\n          \u003C/material>\n        \u003C/visual>\n        \u003Cpose>0 0 0 0 -0 0\u003C/pose>\n        \u003Cenable_wind>false\u003C/enable_wind>\n      \u003C/link>\n      \u003Cstatic>false\u003C/static>\n      \u003Cself_collide>false\u003C/self_collide>\n    \u003C/model>\n    \u003Cmodel name='box_2'>\n      \u003Cpose>-0 2.5 0.5 0 -0 -0\u003C/pose>\n      \u003Clink name='box_link'>\n        \u003Cinertial>\n          \u003Cinertia>\n            \u003Cixx>16.666\u003C/ixx>\n            \u003Cixy>0\u003C/ixy>\n            \u003Cixz>0\u003C/ixz>\n            \u003Ciyy>16.666\u003C/iyy>\n            \u003Ciyz>0\u003C/iyz>\n            \u003Cizz>16.666\u003C/izz>\n          \u003C/inertia>\n          \u003Cmass>100\u003C/mass>\n          \u003Cpose>0 0 0 0 -0 0\u003C/pose>\n        \u003C/inertial>\n        \u003Ccollision name='box_collision'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>10 0.1 1\u003C/size>\n            \u003C/box>\n          \u003C/geometry>\n          \u003Csurface>\n            \u003Cfriction>\n              \u003Code/>\n            \u003C/friction>\n            \u003Cbounce/>\n            \u003Ccontact/>\n          \u003C/surface>\n        \u003C/collision>\n        \u003Cvisual name='box_visual'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>10 0.1 1\u003C/size>\n            \u003C/box>\n          \u003C/geometry>\n          \u003Cmaterial>\n            \u003Cambient>0.3 0.3 0.3 1\u003C/ambient>\n            \u003Cdiffuse>0.7 0.7 0.7 1\u003C/diffuse>\n            \u003Cspecular>1 1 1 1\u003C/specular>\n          \u003C/material>\n        \u003C/visual>\n        \u003Cpose>0 0 0 0 -0 0\u003C/pose>\n        \u003Cenable_wind>false\u003C/enable_wind>\n      \u003C/link>\n      \u003Cstatic>false\u003C/static>\n      \u003Cself_collide>false\u003C/self_collide>\n    \u003C/model>\n    \u003Clight name='sun' type='directional'>\n      \u003Cpose>0 0 10 0 -0 0\u003C/pose>\n      \u003Ccast_shadows>true\u003C/cast_shadows>\n      \u003Cintensity>1\u003C/intensity>\n      \u003Cdirection>-0.5 0.1 -0.9\u003C/direction>\n      \u003Cdiffuse>0.8 0.8 0.8 1\u003C/diffuse>\n      \u003Cspecular>0.2 0.2 0.2 1\u003C/specular>\n      \u003Cattenuation>\n        \u003Crange>1000\u003C/range>\n        \u003Clinear>0.01\u003C/linear>\n        \u003Cconstant>0.90000000000000002\u003C/constant>\n        \u003Cquadratic>0.001\u003C/quadratic>\n      \u003C/attenuation>\n      \u003Cspot>\n        \u003Cinner_angle>0\u003C/inner_angle>\n        \u003Couter_angle>0\u003C/outer_angle>\n        \u003Cfalloff>0\u003C/falloff>\n      \u003C/spot>\n    \u003C/light>\n  \u003C/world>\n\u003C/sdf>\n",[109,6211,6212,6226,6240,6260,6272,6284,6296,6304,6325,6346,6367,6388,6400,6412,6426,6434,6446,6458,6470,6478,6492,6504,6518,6532,6540,6548,6560,6572,6580,6588,6596,6604,6612,6620,6628,6636,6644,6652,6666,6674,6682,6694,6706,6714,6722,6730,6742,6754,6766,6774,6782,6794,6802,6814,6826,6834,6846,6858,6870,6882,6894,6906,6914,6922,6934,6942,6954,6966,6974,6988,7000,7014,7022,7030,7042,7054,7066,7078,7090,7102,7110,7122,7134,7142,7156,7164,7172,7184,7192,7200,7208,7216,7224,7232,7240,7248,7256,7264,7278,7286,7294,7306,7314,7322,7330,7342,7354,7366,7374,7382,7394,7406,7414,7426,7438,7446,7460,7472,7486,7494,7502,7514,7526,7538,7550,7562,7574,7582,7594,7606,7614,7628,7636,7644,7656,7664,7672,7680,7688,7696,7704,7712,7720,7728,7736,7750,7758,7766,7778,7786,7794,7802,7814,7826,7838,7846,7854,7866,7878,7886,7898,7910,7918,7932,7944,7958,7966,7974,7986,7998,8010,8022,8034,8046,8054,8066,8078,8086,8100,8108,8116,8128,8136,8144,8152,8160,8168,8176,8184,8192,8200,8208,8222,8230,8238,8250,8258,8266,8274,8286,8298,8310,8318,8326,8338,8350,8358,8370,8382,8390,8404,8416,8430,8438,8446,8458,8470,8482,8494,8506,8518,8526,8538,8550,8558,8572,8580,8588,8600,8608,8616,8624,8632,8640,8648,8656,8664,8672,8680,8694,8702,8710,8722,8730,8738,8746,8758,8770,8782,8790,8798,8810,8822,8830,8842,8854,8862,8882,8894,8906,8918,8930,8942,8954,8962,8974,8986,8998,9010,9018,9026,9038,9050,9062,9070,9078,9086],{"__ignoreMap":107},[112,6213,6214,6216,6218,6220,6222,6224],{"class":114,"line":115},[112,6215,2383],{"class":146},[112,6217,2727],{"class":2386},[112,6219,2730],{"class":132},[112,6221,1697],{"class":146},[112,6223,2925],{"class":136},[112,6225,2398],{"class":146},[112,6227,6228,6230,6232,6234,6236,6238],{"class":114,"line":122},[112,6229,2403],{"class":146},[112,6231,2934],{"class":2386},[112,6233,2390],{"class":132},[112,6235,1697],{"class":146},[112,6237,2941],{"class":136},[112,6239,2398],{"class":146},[112,6241,6242,6244,6246,6248,6250,6252,6254,6256,6258],{"class":114,"line":129},[112,6243,2420],{"class":146},[112,6245,2950],{"class":2386},[112,6247,2390],{"class":132},[112,6249,1697],{"class":146},[112,6251,2957],{"class":136},[112,6253,2960],{"class":132},[112,6255,1697],{"class":146},[112,6257,2965],{"class":136},[112,6259,2398],{"class":146},[112,6261,6262,6264,6266,6268,6270],{"class":114,"line":153},[112,6263,2430],{"class":146},[112,6265,2974],{"class":2386},[112,6267,2977],{"class":146},[112,6269,2974],{"class":2386},[112,6271,2398],{"class":146},[112,6273,6274,6276,6278,6280,6282],{"class":114,"line":158},[112,6275,2430],{"class":146},[112,6277,2988],{"class":2386},[112,6279,2991],{"class":146},[112,6281,2988],{"class":2386},[112,6283,2398],{"class":146},[112,6285,6286,6288,6290,6292,6294],{"class":114,"line":164},[112,6287,2430],{"class":146},[112,6289,3002],{"class":2386},[112,6291,3005],{"class":146},[112,6293,3002],{"class":2386},[112,6295,2398],{"class":146},[112,6297,6298,6300,6302],{"class":114,"line":176},[112,6299,2501],{"class":146},[112,6301,2950],{"class":2386},[112,6303,2398],{"class":146},[112,6305,6306,6308,6310,6312,6314,6317,6319,6321,6323],{"class":114,"line":181},[112,6307,2420],{"class":146},[112,6309,3024],{"class":2386},[112,6311,2390],{"class":132},[112,6313,1697],{"class":146},[112,6315,6316],{"class":136},"'ign::gazebo::systems::Physics'",[112,6318,3034],{"class":132},[112,6320,1697],{"class":146},[112,6322,3039],{"class":136},[112,6324,3042],{"class":146},[112,6326,6327,6329,6331,6333,6335,6338,6340,6342,6344],{"class":114,"line":187},[112,6328,2420],{"class":146},[112,6330,3024],{"class":2386},[112,6332,2390],{"class":132},[112,6334,1697],{"class":146},[112,6336,6337],{"class":136},"'ign::gazebo::systems::UserCommands'",[112,6339,3034],{"class":132},[112,6341,1697],{"class":146},[112,6343,3062],{"class":136},[112,6345,3042],{"class":146},[112,6347,6348,6350,6352,6354,6356,6359,6361,6363,6365],{"class":114,"line":434},[112,6349,2420],{"class":146},[112,6351,3024],{"class":2386},[112,6353,2390],{"class":132},[112,6355,1697],{"class":146},[112,6357,6358],{"class":136},"'ign::gazebo::systems::SceneBroadcaster'",[112,6360,3034],{"class":132},[112,6362,1697],{"class":146},[112,6364,3084],{"class":136},[112,6366,3042],{"class":146},[112,6368,6369,6371,6373,6375,6377,6380,6382,6384,6386],{"class":114,"line":440},[112,6370,2420],{"class":146},[112,6372,3024],{"class":2386},[112,6374,2390],{"class":132},[112,6376,1697],{"class":146},[112,6378,6379],{"class":136},"'ign::gazebo::systems::Contact'",[112,6381,3034],{"class":132},[112,6383,1697],{"class":146},[112,6385,3106],{"class":136},[112,6387,3042],{"class":146},[112,6389,6390,6392,6394,6396,6398],{"class":114,"line":446},[112,6391,2420],{"class":146},[112,6393,3115],{"class":2386},[112,6395,3118],{"class":146},[112,6397,3115],{"class":2386},[112,6399,2398],{"class":146},[112,6401,6402,6404,6406,6408,6410],{"class":114,"line":452},[112,6403,2420],{"class":146},[112,6405,3129],{"class":2386},[112,6407,3132],{"class":146},[112,6409,3129],{"class":2386},[112,6411,2398],{"class":146},[112,6413,6414,6416,6418,6420,6422,6424],{"class":114,"line":1674},[112,6415,2420],{"class":146},[112,6417,3143],{"class":2386},[112,6419,2960],{"class":132},[112,6421,1697],{"class":146},[112,6423,3150],{"class":136},[112,6425,3042],{"class":146},[112,6427,6428,6430,6432],{"class":114,"line":1686},[112,6429,2420],{"class":146},[112,6431,3159],{"class":2386},[112,6433,2398],{"class":146},[112,6435,6436,6438,6440,6442,6444],{"class":114,"line":1691},[112,6437,2430],{"class":146},[112,6439,3168],{"class":2386},[112,6441,3171],{"class":146},[112,6443,3168],{"class":2386},[112,6445,2398],{"class":146},[112,6447,6448,6450,6452,6454,6456],{"class":114,"line":1708},[112,6449,2430],{"class":146},[112,6451,3182],{"class":2386},[112,6453,3185],{"class":146},[112,6455,3182],{"class":2386},[112,6457,2398],{"class":146},[112,6459,6460,6462,6464,6466,6468],{"class":114,"line":1723},[112,6461,2430],{"class":146},[112,6463,3196],{"class":2386},[112,6465,3199],{"class":146},[112,6467,3196],{"class":2386},[112,6469,2398],{"class":146},[112,6471,6472,6474,6476],{"class":114,"line":1745},[112,6473,2501],{"class":146},[112,6475,3159],{"class":2386},[112,6477,2398],{"class":146},[112,6479,6480,6482,6484,6486,6488,6490],{"class":114,"line":1750},[112,6481,2420],{"class":146},[112,6483,2744],{"class":2386},[112,6485,2390],{"class":132},[112,6487,1697],{"class":146},[112,6489,3224],{"class":136},[112,6491,2398],{"class":146},[112,6493,6494,6496,6498,6500,6502],{"class":114,"line":1761},[112,6495,2430],{"class":146},[112,6497,3233],{"class":2386},[112,6499,3199],{"class":146},[112,6501,3233],{"class":2386},[112,6503,2398],{"class":146},[112,6505,6506,6508,6510,6512,6514,6516],{"class":114,"line":1767},[112,6507,2430],{"class":146},[112,6509,2406],{"class":2386},[112,6511,2390],{"class":132},[112,6513,1697],{"class":146},[112,6515,3252],{"class":136},[112,6517,2398],{"class":146},[112,6519,6520,6522,6524,6526,6528,6530],{"class":114,"line":1785},[112,6521,2604],{"class":146},[112,6523,3261],{"class":2386},[112,6525,2390],{"class":132},[112,6527,1697],{"class":146},[112,6529,3268],{"class":136},[112,6531,2398],{"class":146},[112,6533,6534,6536,6538],{"class":114,"line":1797},[112,6535,2800],{"class":146},[112,6537,3277],{"class":2386},[112,6539,2398],{"class":146},[112,6541,6542,6544,6546],{"class":114,"line":1815},[112,6543,3284],{"class":146},[112,6545,3287],{"class":2386},[112,6547,2398],{"class":146},[112,6549,6550,6552,6554,6556,6558],{"class":114,"line":1821},[112,6551,3294],{"class":146},[112,6553,3297],{"class":2386},[112,6555,3300],{"class":146},[112,6557,3297],{"class":2386},[112,6559,2398],{"class":146},[112,6561,6562,6564,6566,6568,6570],{"class":114,"line":1827},[112,6563,3294],{"class":146},[112,6565,3311],{"class":2386},[112,6567,3314],{"class":146},[112,6569,3311],{"class":2386},[112,6571,2398],{"class":146},[112,6573,6574,6576,6578],{"class":114,"line":1832},[112,6575,3323],{"class":146},[112,6577,3287],{"class":2386},[112,6579,2398],{"class":146},[112,6581,6582,6584,6586],{"class":114,"line":1838},[112,6583,3332],{"class":146},[112,6585,3277],{"class":2386},[112,6587,2398],{"class":146},[112,6589,6590,6592,6594],{"class":114,"line":1849},[112,6591,2800],{"class":146},[112,6593,3343],{"class":2386},[112,6595,2398],{"class":146},[112,6597,6598,6600,6602],{"class":114,"line":1863},[112,6599,3284],{"class":146},[112,6601,3352],{"class":2386},[112,6603,2398],{"class":146},[112,6605,6606,6608,6610],{"class":114,"line":1875},[112,6607,3294],{"class":146},[112,6609,3361],{"class":2386},[112,6611,3042],{"class":146},[112,6613,6614,6616,6618],{"class":114,"line":1902},[112,6615,3323],{"class":146},[112,6617,3352],{"class":2386},[112,6619,2398],{"class":146},[112,6621,6622,6624,6626],{"class":114,"line":1918},[112,6623,3284],{"class":146},[112,6625,3378],{"class":2386},[112,6627,3042],{"class":146},[112,6629,6630,6632,6634],{"class":114,"line":1923},[112,6631,3284],{"class":146},[112,6633,3387],{"class":2386},[112,6635,3042],{"class":146},[112,6637,6638,6640,6642],{"class":114,"line":1928},[112,6639,3332],{"class":146},[112,6641,3343],{"class":2386},[112,6643,2398],{"class":146},[112,6645,6646,6648,6650],{"class":114,"line":1934},[112,6647,2840],{"class":146},[112,6649,3261],{"class":2386},[112,6651,2398],{"class":146},[112,6653,6654,6656,6658,6660,6662,6664],{"class":114,"line":1944},[112,6655,2604],{"class":146},[112,6657,3412],{"class":2386},[112,6659,2390],{"class":132},[112,6661,1697],{"class":146},[112,6663,3419],{"class":136},[112,6665,2398],{"class":146},[112,6667,6668,6670,6672],{"class":114,"line":1957},[112,6669,2800],{"class":146},[112,6671,3277],{"class":2386},[112,6673,2398],{"class":146},[112,6675,6676,6678,6680],{"class":114,"line":1970},[112,6677,3284],{"class":146},[112,6679,3287],{"class":2386},[112,6681,2398],{"class":146},[112,6683,6684,6686,6688,6690,6692],{"class":114,"line":1985},[112,6685,3294],{"class":146},[112,6687,3297],{"class":2386},[112,6689,3300],{"class":146},[112,6691,3297],{"class":2386},[112,6693,2398],{"class":146},[112,6695,6696,6698,6700,6702,6704],{"class":114,"line":1993},[112,6697,3294],{"class":146},[112,6699,3311],{"class":2386},[112,6701,3314],{"class":146},[112,6703,3311],{"class":2386},[112,6705,2398],{"class":146},[112,6707,6708,6710,6712],{"class":114,"line":2001},[112,6709,3323],{"class":146},[112,6711,3287],{"class":2386},[112,6713,2398],{"class":146},[112,6715,6716,6718,6720],{"class":114,"line":2007},[112,6717,3332],{"class":146},[112,6719,3277],{"class":2386},[112,6721,2398],{"class":146},[112,6723,6724,6726,6728],{"class":114,"line":2029},[112,6725,2800],{"class":146},[112,6727,3484],{"class":2386},[112,6729,2398],{"class":146},[112,6731,6732,6734,6736,6738,6740],{"class":114,"line":2040},[112,6733,3284],{"class":146},[112,6735,3168],{"class":2386},[112,6737,3495],{"class":146},[112,6739,3168],{"class":2386},[112,6741,2398],{"class":146},[112,6743,6744,6746,6748,6750,6752],{"class":114,"line":2057},[112,6745,3284],{"class":146},[112,6747,3506],{"class":2386},[112,6749,3495],{"class":146},[112,6751,3506],{"class":2386},[112,6753,2398],{"class":146},[112,6755,6756,6758,6760,6762,6764],{"class":114,"line":2072},[112,6757,3284],{"class":146},[112,6759,3519],{"class":2386},[112,6761,3495],{"class":146},[112,6763,3519],{"class":2386},[112,6765,2398],{"class":146},[112,6767,6768,6770,6772],{"class":114,"line":2078},[112,6769,3332],{"class":146},[112,6771,3484],{"class":2386},[112,6773,2398],{"class":146},[112,6775,6776,6778,6780],{"class":114,"line":2089},[112,6777,2840],{"class":146},[112,6779,3412],{"class":2386},[112,6781,2398],{"class":146},[112,6783,6784,6786,6788,6790,6792],{"class":114,"line":2094},[112,6785,2604],{"class":146},[112,6787,3548],{"class":2386},[112,6789,3551],{"class":146},[112,6791,3548],{"class":2386},[112,6793,2398],{"class":146},[112,6795,6796,6798,6800],{"class":114,"line":2099},[112,6797,2604],{"class":146},[112,6799,2423],{"class":2386},[112,6801,2398],{"class":146},[112,6803,6804,6806,6808,6810,6812],{"class":114,"line":2108},[112,6805,2800],{"class":146},[112,6807,3548],{"class":2386},[112,6809,3551],{"class":146},[112,6811,3548],{"class":2386},[112,6813,2398],{"class":146},[112,6815,6816,6818,6820,6822,6824],{"class":114,"line":2114},[112,6817,2800],{"class":146},[112,6819,2433],{"class":2386},[112,6821,3584],{"class":146},[112,6823,2433],{"class":2386},[112,6825,2398],{"class":146},[112,6827,6828,6830,6832],{"class":114,"line":2134},[112,6829,2800],{"class":146},[112,6831,2451],{"class":2386},[112,6833,2398],{"class":146},[112,6835,6836,6838,6840,6842,6844],{"class":114,"line":2147},[112,6837,3284],{"class":146},[112,6839,2803],{"class":2386},[112,6841,2991],{"class":146},[112,6843,2803],{"class":2386},[112,6845,2398],{"class":146},[112,6847,6848,6850,6852,6854,6856],{"class":114,"line":2153},[112,6849,3284],{"class":146},[112,6851,3615],{"class":2386},[112,6853,3618],{"class":146},[112,6855,3615],{"class":2386},[112,6857,2398],{"class":146},[112,6859,6860,6862,6864,6866,6868],{"class":114,"line":2159},[112,6861,3284],{"class":146},[112,6863,3629],{"class":2386},[112,6865,3618],{"class":146},[112,6867,3629],{"class":2386},[112,6869,2398],{"class":146},[112,6871,6872,6874,6876,6878,6880],{"class":114,"line":3638},[112,6873,3284],{"class":146},[112,6875,2816],{"class":2386},[112,6877,2991],{"class":146},[112,6879,2816],{"class":2386},[112,6881,2398],{"class":146},[112,6883,6884,6886,6888,6890,6892],{"class":114,"line":3651},[112,6885,3284],{"class":146},[112,6887,3656],{"class":2386},[112,6889,3618],{"class":146},[112,6891,3656],{"class":2386},[112,6893,2398],{"class":146},[112,6895,6896,6898,6900,6902,6904],{"class":114,"line":3665},[112,6897,3284],{"class":146},[112,6899,2829],{"class":2386},[112,6901,2991],{"class":146},[112,6903,2829],{"class":2386},[112,6905,2398],{"class":146},[112,6907,6908,6910,6912],{"class":114,"line":3678},[112,6909,3332],{"class":146},[112,6911,2451],{"class":2386},[112,6913,2398],{"class":146},[112,6915,6916,6918,6920],{"class":114,"line":3687},[112,6917,2840],{"class":146},[112,6919,2423],{"class":2386},[112,6921,2398],{"class":146},[112,6923,6924,6926,6928,6930,6932],{"class":114,"line":3696},[112,6925,2604],{"class":146},[112,6927,3701],{"class":2386},[112,6929,3704],{"class":146},[112,6931,3701],{"class":2386},[112,6933,2398],{"class":146},[112,6935,6936,6938,6940],{"class":114,"line":3711},[112,6937,2664],{"class":146},[112,6939,2406],{"class":2386},[112,6941,2398],{"class":146},[112,6943,6944,6946,6948,6950,6952],{"class":114,"line":3720},[112,6945,2430],{"class":146},[112,6947,3548],{"class":2386},[112,6949,3551],{"class":146},[112,6951,3548],{"class":2386},[112,6953,2398],{"class":146},[112,6955,6956,6958,6960,6962,6964],{"class":114,"line":3733},[112,6957,2430],{"class":146},[112,6959,3738],{"class":2386},[112,6961,3704],{"class":146},[112,6963,3738],{"class":2386},[112,6965,2398],{"class":146},[112,6967,6968,6970,6972],{"class":114,"line":3747},[112,6969,2501],{"class":146},[112,6971,2744],{"class":2386},[112,6973,2398],{"class":146},[112,6975,6976,6978,6980,6982,6984,6986],{"class":114,"line":3756},[112,6977,2420],{"class":146},[112,6979,2744],{"class":2386},[112,6981,2390],{"class":132},[112,6983,1697],{"class":146},[112,6985,3767],{"class":136},[112,6987,2398],{"class":146},[112,6989,6990,6992,6994,6996,6998],{"class":114,"line":3772},[112,6991,2430],{"class":146},[112,6993,3548],{"class":2386},[112,6995,3779],{"class":146},[112,6997,3548],{"class":2386},[112,6999,2398],{"class":146},[112,7001,7002,7004,7006,7008,7010,7012],{"class":114,"line":3786},[112,7003,2430],{"class":146},[112,7005,2406],{"class":2386},[112,7007,2390],{"class":132},[112,7009,1697],{"class":146},[112,7011,3797],{"class":136},[112,7013,2398],{"class":146},[112,7015,7016,7018,7020],{"class":114,"line":3802},[112,7017,2604],{"class":146},[112,7019,2423],{"class":2386},[112,7021,2398],{"class":146},[112,7023,7024,7026,7028],{"class":114,"line":3811},[112,7025,2800],{"class":146},[112,7027,2451],{"class":2386},[112,7029,2398],{"class":146},[112,7031,7032,7034,7036,7038,7040],{"class":114,"line":3820},[112,7033,3284],{"class":146},[112,7035,2803],{"class":2386},[112,7037,3827],{"class":146},[112,7039,2803],{"class":2386},[112,7041,2398],{"class":146},[112,7043,7044,7046,7048,7050,7052],{"class":114,"line":3834},[112,7045,3284],{"class":146},[112,7047,3615],{"class":2386},[112,7049,3618],{"class":146},[112,7051,3615],{"class":2386},[112,7053,2398],{"class":146},[112,7055,7056,7058,7060,7062,7064],{"class":114,"line":3847},[112,7057,3284],{"class":146},[112,7059,3629],{"class":2386},[112,7061,3618],{"class":146},[112,7063,3629],{"class":2386},[112,7065,2398],{"class":146},[112,7067,7068,7070,7072,7074,7076],{"class":114,"line":3860},[112,7069,3284],{"class":146},[112,7071,2816],{"class":2386},[112,7073,3827],{"class":146},[112,7075,2816],{"class":2386},[112,7077,2398],{"class":146},[112,7079,7080,7082,7084,7086,7088],{"class":114,"line":3873},[112,7081,3284],{"class":146},[112,7083,3656],{"class":2386},[112,7085,3618],{"class":146},[112,7087,3656],{"class":2386},[112,7089,2398],{"class":146},[112,7091,7092,7094,7096,7098,7100],{"class":114,"line":3886},[112,7093,3284],{"class":146},[112,7095,2829],{"class":2386},[112,7097,3827],{"class":146},[112,7099,2829],{"class":2386},[112,7101,2398],{"class":146},[112,7103,7104,7106,7108],{"class":114,"line":3899},[112,7105,3332],{"class":146},[112,7107,2451],{"class":2386},[112,7109,2398],{"class":146},[112,7111,7112,7114,7116,7118,7120],{"class":114,"line":3908},[112,7113,2800],{"class":146},[112,7115,2433],{"class":2386},[112,7117,3584],{"class":146},[112,7119,2433],{"class":2386},[112,7121,2398],{"class":146},[112,7123,7124,7126,7128,7130,7132],{"class":114,"line":3921},[112,7125,2800],{"class":146},[112,7127,3548],{"class":2386},[112,7129,3551],{"class":146},[112,7131,3548],{"class":2386},[112,7133,2398],{"class":146},[112,7135,7136,7138,7140],{"class":114,"line":3934},[112,7137,2840],{"class":146},[112,7139,2423],{"class":2386},[112,7141,2398],{"class":146},[112,7143,7144,7146,7148,7150,7152,7154],{"class":114,"line":3943},[112,7145,2604],{"class":146},[112,7147,3261],{"class":2386},[112,7149,2390],{"class":132},[112,7151,1697],{"class":146},[112,7153,3954],{"class":136},[112,7155,2398],{"class":146},[112,7157,7158,7160,7162],{"class":114,"line":3959},[112,7159,2800],{"class":146},[112,7161,3277],{"class":2386},[112,7163,2398],{"class":146},[112,7165,7166,7168,7170],{"class":114,"line":3968},[112,7167,3284],{"class":146},[112,7169,3973],{"class":2386},[112,7171,2398],{"class":146},[112,7173,7174,7176,7178,7180,7182],{"class":114,"line":3978},[112,7175,3294],{"class":146},[112,7177,3311],{"class":2386},[112,7179,3985],{"class":146},[112,7181,3311],{"class":2386},[112,7183,2398],{"class":146},[112,7185,7186,7188,7190],{"class":114,"line":3992},[112,7187,3323],{"class":146},[112,7189,3973],{"class":2386},[112,7191,2398],{"class":146},[112,7193,7194,7196,7198],{"class":114,"line":4001},[112,7195,3332],{"class":146},[112,7197,3277],{"class":2386},[112,7199,2398],{"class":146},[112,7201,7202,7204,7206],{"class":114,"line":4010},[112,7203,2800],{"class":146},[112,7205,3343],{"class":2386},[112,7207,2398],{"class":146},[112,7209,7210,7212,7214],{"class":114,"line":4019},[112,7211,3284],{"class":146},[112,7213,3352],{"class":2386},[112,7215,2398],{"class":146},[112,7217,7218,7220,7222],{"class":114,"line":4028},[112,7219,3294],{"class":146},[112,7221,3361],{"class":2386},[112,7223,3042],{"class":146},[112,7225,7226,7228,7230],{"class":114,"line":4037},[112,7227,3323],{"class":146},[112,7229,3352],{"class":2386},[112,7231,2398],{"class":146},[112,7233,7234,7236,7238],{"class":114,"line":4046},[112,7235,3284],{"class":146},[112,7237,3378],{"class":2386},[112,7239,3042],{"class":146},[112,7241,7242,7244,7246],{"class":114,"line":4055},[112,7243,3284],{"class":146},[112,7245,3387],{"class":2386},[112,7247,3042],{"class":146},[112,7249,7250,7252,7254],{"class":114,"line":4064},[112,7251,3332],{"class":146},[112,7253,3343],{"class":2386},[112,7255,2398],{"class":146},[112,7257,7258,7260,7262],{"class":114,"line":4073},[112,7259,2840],{"class":146},[112,7261,3261],{"class":2386},[112,7263,2398],{"class":146},[112,7265,7266,7268,7270,7272,7274,7276],{"class":114,"line":4082},[112,7267,2604],{"class":146},[112,7269,3412],{"class":2386},[112,7271,2390],{"class":132},[112,7273,1697],{"class":146},[112,7275,4093],{"class":136},[112,7277,2398],{"class":146},[112,7279,7280,7282,7284],{"class":114,"line":4098},[112,7281,2800],{"class":146},[112,7283,3277],{"class":2386},[112,7285,2398],{"class":146},[112,7287,7288,7290,7292],{"class":114,"line":4107},[112,7289,3284],{"class":146},[112,7291,3973],{"class":2386},[112,7293,2398],{"class":146},[112,7295,7296,7298,7300,7302,7304],{"class":114,"line":4116},[112,7297,3294],{"class":146},[112,7299,3311],{"class":2386},[112,7301,3985],{"class":146},[112,7303,3311],{"class":2386},[112,7305,2398],{"class":146},[112,7307,7308,7310,7312],{"class":114,"line":4129},[112,7309,3323],{"class":146},[112,7311,3973],{"class":2386},[112,7313,2398],{"class":146},[112,7315,7316,7318,7320],{"class":114,"line":4138},[112,7317,3332],{"class":146},[112,7319,3277],{"class":2386},[112,7321,2398],{"class":146},[112,7323,7324,7326,7328],{"class":114,"line":4147},[112,7325,2800],{"class":146},[112,7327,3484],{"class":2386},[112,7329,2398],{"class":146},[112,7331,7332,7334,7336,7338,7340],{"class":114,"line":4156},[112,7333,3284],{"class":146},[112,7335,3168],{"class":2386},[112,7337,4163],{"class":146},[112,7339,3168],{"class":2386},[112,7341,2398],{"class":146},[112,7343,7344,7346,7348,7350,7352],{"class":114,"line":4170},[112,7345,3284],{"class":146},[112,7347,3506],{"class":2386},[112,7349,3185],{"class":146},[112,7351,3506],{"class":2386},[112,7353,2398],{"class":146},[112,7355,7356,7358,7360,7362,7364],{"class":114,"line":4183},[112,7357,3284],{"class":146},[112,7359,3519],{"class":2386},[112,7361,4190],{"class":146},[112,7363,3519],{"class":2386},[112,7365,2398],{"class":146},[112,7367,7368,7370,7372],{"class":114,"line":4197},[112,7369,3332],{"class":146},[112,7371,3484],{"class":2386},[112,7373,2398],{"class":146},[112,7375,7376,7378,7380],{"class":114,"line":4206},[112,7377,2840],{"class":146},[112,7379,3412],{"class":2386},[112,7381,2398],{"class":146},[112,7383,7384,7386,7388,7390,7392],{"class":114,"line":4215},[112,7385,2604],{"class":146},[112,7387,3548],{"class":2386},[112,7389,3551],{"class":146},[112,7391,3548],{"class":2386},[112,7393,2398],{"class":146},[112,7395,7396,7398,7400,7402,7404],{"class":114,"line":4228},[112,7397,2604],{"class":146},[112,7399,3701],{"class":2386},[112,7401,3704],{"class":146},[112,7403,3701],{"class":2386},[112,7405,2398],{"class":146},[112,7407,7408,7410,7412],{"class":114,"line":4241},[112,7409,2664],{"class":146},[112,7411,2406],{"class":2386},[112,7413,2398],{"class":146},[112,7415,7416,7418,7420,7422,7424],{"class":114,"line":4250},[112,7417,2430],{"class":146},[112,7419,3233],{"class":2386},[112,7421,3704],{"class":146},[112,7423,3233],{"class":2386},[112,7425,2398],{"class":146},[112,7427,7428,7430,7432,7434,7436],{"class":114,"line":4263},[112,7429,2430],{"class":146},[112,7431,3738],{"class":2386},[112,7433,3704],{"class":146},[112,7435,3738],{"class":2386},[112,7437,2398],{"class":146},[112,7439,7440,7442,7444],{"class":114,"line":4276},[112,7441,2501],{"class":146},[112,7443,2744],{"class":2386},[112,7445,2398],{"class":146},[112,7447,7448,7450,7452,7454,7456,7458],{"class":114,"line":4285},[112,7449,2420],{"class":146},[112,7451,2744],{"class":2386},[112,7453,2390],{"class":132},[112,7455,1697],{"class":146},[112,7457,4296],{"class":136},[112,7459,2398],{"class":146},[112,7461,7462,7464,7466,7468,7470],{"class":114,"line":4301},[112,7463,2430],{"class":146},[112,7465,3548],{"class":2386},[112,7467,4308],{"class":146},[112,7469,3548],{"class":2386},[112,7471,2398],{"class":146},[112,7473,7474,7476,7478,7480,7482,7484],{"class":114,"line":4315},[112,7475,2430],{"class":146},[112,7477,2406],{"class":2386},[112,7479,2390],{"class":132},[112,7481,1697],{"class":146},[112,7483,3797],{"class":136},[112,7485,2398],{"class":146},[112,7487,7488,7490,7492],{"class":114,"line":4330},[112,7489,2604],{"class":146},[112,7491,2423],{"class":2386},[112,7493,2398],{"class":146},[112,7495,7496,7498,7500],{"class":114,"line":4339},[112,7497,2800],{"class":146},[112,7499,2451],{"class":2386},[112,7501,2398],{"class":146},[112,7503,7504,7506,7508,7510,7512],{"class":114,"line":4348},[112,7505,3284],{"class":146},[112,7507,2803],{"class":2386},[112,7509,3827],{"class":146},[112,7511,2803],{"class":2386},[112,7513,2398],{"class":146},[112,7515,7516,7518,7520,7522,7524],{"class":114,"line":4361},[112,7517,3284],{"class":146},[112,7519,3615],{"class":2386},[112,7521,3618],{"class":146},[112,7523,3615],{"class":2386},[112,7525,2398],{"class":146},[112,7527,7528,7530,7532,7534,7536],{"class":114,"line":4374},[112,7529,3284],{"class":146},[112,7531,3629],{"class":2386},[112,7533,3618],{"class":146},[112,7535,3629],{"class":2386},[112,7537,2398],{"class":146},[112,7539,7540,7542,7544,7546,7548],{"class":114,"line":4387},[112,7541,3284],{"class":146},[112,7543,2816],{"class":2386},[112,7545,3827],{"class":146},[112,7547,2816],{"class":2386},[112,7549,2398],{"class":146},[112,7551,7552,7554,7556,7558,7560],{"class":114,"line":4400},[112,7553,3284],{"class":146},[112,7555,3656],{"class":2386},[112,7557,3618],{"class":146},[112,7559,3656],{"class":2386},[112,7561,2398],{"class":146},[112,7563,7564,7566,7568,7570,7572],{"class":114,"line":4413},[112,7565,3284],{"class":146},[112,7567,2829],{"class":2386},[112,7569,3827],{"class":146},[112,7571,2829],{"class":2386},[112,7573,2398],{"class":146},[112,7575,7576,7578,7580],{"class":114,"line":4426},[112,7577,3332],{"class":146},[112,7579,2451],{"class":2386},[112,7581,2398],{"class":146},[112,7583,7584,7586,7588,7590,7592],{"class":114,"line":4435},[112,7585,2800],{"class":146},[112,7587,2433],{"class":2386},[112,7589,3584],{"class":146},[112,7591,2433],{"class":2386},[112,7593,2398],{"class":146},[112,7595,7596,7598,7600,7602,7604],{"class":114,"line":4448},[112,7597,2800],{"class":146},[112,7599,3548],{"class":2386},[112,7601,3551],{"class":146},[112,7603,3548],{"class":2386},[112,7605,2398],{"class":146},[112,7607,7608,7610,7612],{"class":114,"line":4461},[112,7609,2840],{"class":146},[112,7611,2423],{"class":2386},[112,7613,2398],{"class":146},[112,7615,7616,7618,7620,7622,7624,7626],{"class":114,"line":4470},[112,7617,2604],{"class":146},[112,7619,3261],{"class":2386},[112,7621,2390],{"class":132},[112,7623,1697],{"class":146},[112,7625,3954],{"class":136},[112,7627,2398],{"class":146},[112,7629,7630,7632,7634],{"class":114,"line":4485},[112,7631,2800],{"class":146},[112,7633,3277],{"class":2386},[112,7635,2398],{"class":146},[112,7637,7638,7640,7642],{"class":114,"line":4494},[112,7639,3284],{"class":146},[112,7641,3973],{"class":2386},[112,7643,2398],{"class":146},[112,7645,7646,7648,7650,7652,7654],{"class":114,"line":4503},[112,7647,3294],{"class":146},[112,7649,3311],{"class":2386},[112,7651,3985],{"class":146},[112,7653,3311],{"class":2386},[112,7655,2398],{"class":146},[112,7657,7658,7660,7662],{"class":114,"line":4516},[112,7659,3323],{"class":146},[112,7661,3973],{"class":2386},[112,7663,2398],{"class":146},[112,7665,7666,7668,7670],{"class":114,"line":4525},[112,7667,3332],{"class":146},[112,7669,3277],{"class":2386},[112,7671,2398],{"class":146},[112,7673,7674,7676,7678],{"class":114,"line":4534},[112,7675,2800],{"class":146},[112,7677,3343],{"class":2386},[112,7679,2398],{"class":146},[112,7681,7682,7684,7686],{"class":114,"line":4543},[112,7683,3284],{"class":146},[112,7685,3352],{"class":2386},[112,7687,2398],{"class":146},[112,7689,7690,7692,7694],{"class":114,"line":4552},[112,7691,3294],{"class":146},[112,7693,3361],{"class":2386},[112,7695,3042],{"class":146},[112,7697,7698,7700,7702],{"class":114,"line":4561},[112,7699,3323],{"class":146},[112,7701,3352],{"class":2386},[112,7703,2398],{"class":146},[112,7705,7706,7708,7710],{"class":114,"line":4570},[112,7707,3284],{"class":146},[112,7709,3378],{"class":2386},[112,7711,3042],{"class":146},[112,7713,7714,7716,7718],{"class":114,"line":4579},[112,7715,3284],{"class":146},[112,7717,3387],{"class":2386},[112,7719,3042],{"class":146},[112,7721,7722,7724,7726],{"class":114,"line":4588},[112,7723,3332],{"class":146},[112,7725,3343],{"class":2386},[112,7727,2398],{"class":146},[112,7729,7730,7732,7734],{"class":114,"line":4597},[112,7731,2840],{"class":146},[112,7733,3261],{"class":2386},[112,7735,2398],{"class":146},[112,7737,7738,7740,7742,7744,7746,7748],{"class":114,"line":4606},[112,7739,2604],{"class":146},[112,7741,3412],{"class":2386},[112,7743,2390],{"class":132},[112,7745,1697],{"class":146},[112,7747,4093],{"class":136},[112,7749,2398],{"class":146},[112,7751,7752,7754,7756],{"class":114,"line":4621},[112,7753,2800],{"class":146},[112,7755,3277],{"class":2386},[112,7757,2398],{"class":146},[112,7759,7760,7762,7764],{"class":114,"line":4630},[112,7761,3284],{"class":146},[112,7763,3973],{"class":2386},[112,7765,2398],{"class":146},[112,7767,7768,7770,7772,7774,7776],{"class":114,"line":4639},[112,7769,3294],{"class":146},[112,7771,3311],{"class":2386},[112,7773,3985],{"class":146},[112,7775,3311],{"class":2386},[112,7777,2398],{"class":146},[112,7779,7780,7782,7784],{"class":114,"line":4652},[112,7781,3323],{"class":146},[112,7783,3973],{"class":2386},[112,7785,2398],{"class":146},[112,7787,7788,7790,7792],{"class":114,"line":4661},[112,7789,3332],{"class":146},[112,7791,3277],{"class":2386},[112,7793,2398],{"class":146},[112,7795,7796,7798,7800],{"class":114,"line":4670},[112,7797,2800],{"class":146},[112,7799,3484],{"class":2386},[112,7801,2398],{"class":146},[112,7803,7804,7806,7808,7810,7812],{"class":114,"line":4679},[112,7805,3284],{"class":146},[112,7807,3168],{"class":2386},[112,7809,4163],{"class":146},[112,7811,3168],{"class":2386},[112,7813,2398],{"class":146},[112,7815,7816,7818,7820,7822,7824],{"class":114,"line":4692},[112,7817,3284],{"class":146},[112,7819,3506],{"class":2386},[112,7821,3185],{"class":146},[112,7823,3506],{"class":2386},[112,7825,2398],{"class":146},[112,7827,7828,7830,7832,7834,7836],{"class":114,"line":4705},[112,7829,3284],{"class":146},[112,7831,3519],{"class":2386},[112,7833,4190],{"class":146},[112,7835,3519],{"class":2386},[112,7837,2398],{"class":146},[112,7839,7840,7842,7844],{"class":114,"line":4718},[112,7841,3332],{"class":146},[112,7843,3484],{"class":2386},[112,7845,2398],{"class":146},[112,7847,7848,7850,7852],{"class":114,"line":4727},[112,7849,2840],{"class":146},[112,7851,3412],{"class":2386},[112,7853,2398],{"class":146},[112,7855,7856,7858,7860,7862,7864],{"class":114,"line":4736},[112,7857,2604],{"class":146},[112,7859,3548],{"class":2386},[112,7861,3551],{"class":146},[112,7863,3548],{"class":2386},[112,7865,2398],{"class":146},[112,7867,7868,7870,7872,7874,7876],{"class":114,"line":4749},[112,7869,2604],{"class":146},[112,7871,3701],{"class":2386},[112,7873,3704],{"class":146},[112,7875,3701],{"class":2386},[112,7877,2398],{"class":146},[112,7879,7880,7882,7884],{"class":114,"line":4762},[112,7881,2664],{"class":146},[112,7883,2406],{"class":2386},[112,7885,2398],{"class":146},[112,7887,7888,7890,7892,7894,7896],{"class":114,"line":4771},[112,7889,2430],{"class":146},[112,7891,3233],{"class":2386},[112,7893,3704],{"class":146},[112,7895,3233],{"class":2386},[112,7897,2398],{"class":146},[112,7899,7900,7902,7904,7906,7908],{"class":114,"line":4784},[112,7901,2430],{"class":146},[112,7903,3738],{"class":2386},[112,7905,3704],{"class":146},[112,7907,3738],{"class":2386},[112,7909,2398],{"class":146},[112,7911,7912,7914,7916],{"class":114,"line":4797},[112,7913,2501],{"class":146},[112,7915,2744],{"class":2386},[112,7917,2398],{"class":146},[112,7919,7920,7922,7924,7926,7928,7930],{"class":114,"line":4806},[112,7921,2420],{"class":146},[112,7923,2744],{"class":2386},[112,7925,2390],{"class":132},[112,7927,1697],{"class":146},[112,7929,4817],{"class":136},[112,7931,2398],{"class":146},[112,7933,7934,7936,7938,7940,7942],{"class":114,"line":4822},[112,7935,2430],{"class":146},[112,7937,3548],{"class":2386},[112,7939,4829],{"class":146},[112,7941,3548],{"class":2386},[112,7943,2398],{"class":146},[112,7945,7946,7948,7950,7952,7954,7956],{"class":114,"line":4836},[112,7947,2430],{"class":146},[112,7949,2406],{"class":2386},[112,7951,2390],{"class":132},[112,7953,1697],{"class":146},[112,7955,3797],{"class":136},[112,7957,2398],{"class":146},[112,7959,7960,7962,7964],{"class":114,"line":4851},[112,7961,2604],{"class":146},[112,7963,2423],{"class":2386},[112,7965,2398],{"class":146},[112,7967,7968,7970,7972],{"class":114,"line":4860},[112,7969,2800],{"class":146},[112,7971,2451],{"class":2386},[112,7973,2398],{"class":146},[112,7975,7976,7978,7980,7982,7984],{"class":114,"line":4869},[112,7977,3284],{"class":146},[112,7979,2803],{"class":2386},[112,7981,3827],{"class":146},[112,7983,2803],{"class":2386},[112,7985,2398],{"class":146},[112,7987,7988,7990,7992,7994,7996],{"class":114,"line":4882},[112,7989,3284],{"class":146},[112,7991,3615],{"class":2386},[112,7993,3618],{"class":146},[112,7995,3615],{"class":2386},[112,7997,2398],{"class":146},[112,7999,8000,8002,8004,8006,8008],{"class":114,"line":4895},[112,8001,3284],{"class":146},[112,8003,3629],{"class":2386},[112,8005,3618],{"class":146},[112,8007,3629],{"class":2386},[112,8009,2398],{"class":146},[112,8011,8012,8014,8016,8018,8020],{"class":114,"line":4908},[112,8013,3284],{"class":146},[112,8015,2816],{"class":2386},[112,8017,3827],{"class":146},[112,8019,2816],{"class":2386},[112,8021,2398],{"class":146},[112,8023,8024,8026,8028,8030,8032],{"class":114,"line":4921},[112,8025,3284],{"class":146},[112,8027,3656],{"class":2386},[112,8029,3618],{"class":146},[112,8031,3656],{"class":2386},[112,8033,2398],{"class":146},[112,8035,8036,8038,8040,8042,8044],{"class":114,"line":4934},[112,8037,3284],{"class":146},[112,8039,2829],{"class":2386},[112,8041,3827],{"class":146},[112,8043,2829],{"class":2386},[112,8045,2398],{"class":146},[112,8047,8048,8050,8052],{"class":114,"line":4947},[112,8049,3332],{"class":146},[112,8051,2451],{"class":2386},[112,8053,2398],{"class":146},[112,8055,8056,8058,8060,8062,8064],{"class":114,"line":4956},[112,8057,2800],{"class":146},[112,8059,2433],{"class":2386},[112,8061,3584],{"class":146},[112,8063,2433],{"class":2386},[112,8065,2398],{"class":146},[112,8067,8068,8070,8072,8074,8076],{"class":114,"line":4969},[112,8069,2800],{"class":146},[112,8071,3548],{"class":2386},[112,8073,3551],{"class":146},[112,8075,3548],{"class":2386},[112,8077,2398],{"class":146},[112,8079,8080,8082,8084],{"class":114,"line":4982},[112,8081,2840],{"class":146},[112,8083,2423],{"class":2386},[112,8085,2398],{"class":146},[112,8087,8088,8090,8092,8094,8096,8098],{"class":114,"line":4991},[112,8089,2604],{"class":146},[112,8091,3261],{"class":2386},[112,8093,2390],{"class":132},[112,8095,1697],{"class":146},[112,8097,3954],{"class":136},[112,8099,2398],{"class":146},[112,8101,8102,8104,8106],{"class":114,"line":5006},[112,8103,2800],{"class":146},[112,8105,3277],{"class":2386},[112,8107,2398],{"class":146},[112,8109,8110,8112,8114],{"class":114,"line":5015},[112,8111,3284],{"class":146},[112,8113,3973],{"class":2386},[112,8115,2398],{"class":146},[112,8117,8118,8120,8122,8124,8126],{"class":114,"line":5024},[112,8119,3294],{"class":146},[112,8121,3311],{"class":2386},[112,8123,5031],{"class":146},[112,8125,3311],{"class":2386},[112,8127,2398],{"class":146},[112,8129,8130,8132,8134],{"class":114,"line":5038},[112,8131,3323],{"class":146},[112,8133,3973],{"class":2386},[112,8135,2398],{"class":146},[112,8137,8138,8140,8142],{"class":114,"line":5047},[112,8139,3332],{"class":146},[112,8141,3277],{"class":2386},[112,8143,2398],{"class":146},[112,8145,8146,8148,8150],{"class":114,"line":5056},[112,8147,2800],{"class":146},[112,8149,3343],{"class":2386},[112,8151,2398],{"class":146},[112,8153,8154,8156,8158],{"class":114,"line":5065},[112,8155,3284],{"class":146},[112,8157,3352],{"class":2386},[112,8159,2398],{"class":146},[112,8161,8162,8164,8166],{"class":114,"line":5074},[112,8163,3294],{"class":146},[112,8165,3361],{"class":2386},[112,8167,3042],{"class":146},[112,8169,8170,8172,8174],{"class":114,"line":5083},[112,8171,3323],{"class":146},[112,8173,3352],{"class":2386},[112,8175,2398],{"class":146},[112,8177,8178,8180,8182],{"class":114,"line":5092},[112,8179,3284],{"class":146},[112,8181,3378],{"class":2386},[112,8183,3042],{"class":146},[112,8185,8186,8188,8190],{"class":114,"line":5101},[112,8187,3284],{"class":146},[112,8189,3387],{"class":2386},[112,8191,3042],{"class":146},[112,8193,8194,8196,8198],{"class":114,"line":5110},[112,8195,3332],{"class":146},[112,8197,3343],{"class":2386},[112,8199,2398],{"class":146},[112,8201,8202,8204,8206],{"class":114,"line":5119},[112,8203,2840],{"class":146},[112,8205,3261],{"class":2386},[112,8207,2398],{"class":146},[112,8209,8210,8212,8214,8216,8218,8220],{"class":114,"line":5128},[112,8211,2604],{"class":146},[112,8213,3412],{"class":2386},[112,8215,2390],{"class":132},[112,8217,1697],{"class":146},[112,8219,4093],{"class":136},[112,8221,2398],{"class":146},[112,8223,8224,8226,8228],{"class":114,"line":5143},[112,8225,2800],{"class":146},[112,8227,3277],{"class":2386},[112,8229,2398],{"class":146},[112,8231,8232,8234,8236],{"class":114,"line":5152},[112,8233,3284],{"class":146},[112,8235,3973],{"class":2386},[112,8237,2398],{"class":146},[112,8239,8240,8242,8244,8246,8248],{"class":114,"line":5161},[112,8241,3294],{"class":146},[112,8243,3311],{"class":2386},[112,8245,5031],{"class":146},[112,8247,3311],{"class":2386},[112,8249,2398],{"class":146},[112,8251,8252,8254,8256],{"class":114,"line":5174},[112,8253,3323],{"class":146},[112,8255,3973],{"class":2386},[112,8257,2398],{"class":146},[112,8259,8260,8262,8264],{"class":114,"line":5183},[112,8261,3332],{"class":146},[112,8263,3277],{"class":2386},[112,8265,2398],{"class":146},[112,8267,8268,8270,8272],{"class":114,"line":5192},[112,8269,2800],{"class":146},[112,8271,3484],{"class":2386},[112,8273,2398],{"class":146},[112,8275,8276,8278,8280,8282,8284],{"class":114,"line":5201},[112,8277,3284],{"class":146},[112,8279,3168],{"class":2386},[112,8281,4163],{"class":146},[112,8283,3168],{"class":2386},[112,8285,2398],{"class":146},[112,8287,8288,8290,8292,8294,8296],{"class":114,"line":5214},[112,8289,3284],{"class":146},[112,8291,3506],{"class":2386},[112,8293,3185],{"class":146},[112,8295,3506],{"class":2386},[112,8297,2398],{"class":146},[112,8299,8300,8302,8304,8306,8308],{"class":114,"line":5227},[112,8301,3284],{"class":146},[112,8303,3519],{"class":2386},[112,8305,4190],{"class":146},[112,8307,3519],{"class":2386},[112,8309,2398],{"class":146},[112,8311,8312,8314,8316],{"class":114,"line":5240},[112,8313,3332],{"class":146},[112,8315,3484],{"class":2386},[112,8317,2398],{"class":146},[112,8319,8320,8322,8324],{"class":114,"line":5249},[112,8321,2840],{"class":146},[112,8323,3412],{"class":2386},[112,8325,2398],{"class":146},[112,8327,8328,8330,8332,8334,8336],{"class":114,"line":5258},[112,8329,2604],{"class":146},[112,8331,3548],{"class":2386},[112,8333,3551],{"class":146},[112,8335,3548],{"class":2386},[112,8337,2398],{"class":146},[112,8339,8340,8342,8344,8346,8348],{"class":114,"line":5271},[112,8341,2604],{"class":146},[112,8343,3701],{"class":2386},[112,8345,3704],{"class":146},[112,8347,3701],{"class":2386},[112,8349,2398],{"class":146},[112,8351,8352,8354,8356],{"class":114,"line":5284},[112,8353,2664],{"class":146},[112,8355,2406],{"class":2386},[112,8357,2398],{"class":146},[112,8359,8360,8362,8364,8366,8368],{"class":114,"line":5293},[112,8361,2430],{"class":146},[112,8363,3233],{"class":2386},[112,8365,3704],{"class":146},[112,8367,3233],{"class":2386},[112,8369,2398],{"class":146},[112,8371,8372,8374,8376,8378,8380],{"class":114,"line":5306},[112,8373,2430],{"class":146},[112,8375,3738],{"class":2386},[112,8377,3704],{"class":146},[112,8379,3738],{"class":2386},[112,8381,2398],{"class":146},[112,8383,8384,8386,8388],{"class":114,"line":5319},[112,8385,2501],{"class":146},[112,8387,2744],{"class":2386},[112,8389,2398],{"class":146},[112,8391,8392,8394,8396,8398,8400,8402],{"class":114,"line":5328},[112,8393,2420],{"class":146},[112,8395,2744],{"class":2386},[112,8397,2390],{"class":132},[112,8399,1697],{"class":146},[112,8401,5339],{"class":136},[112,8403,2398],{"class":146},[112,8405,8406,8408,8410,8412,8414],{"class":114,"line":5344},[112,8407,2430],{"class":146},[112,8409,3548],{"class":2386},[112,8411,5351],{"class":146},[112,8413,3548],{"class":2386},[112,8415,2398],{"class":146},[112,8417,8418,8420,8422,8424,8426,8428],{"class":114,"line":5358},[112,8419,2430],{"class":146},[112,8421,2406],{"class":2386},[112,8423,2390],{"class":132},[112,8425,1697],{"class":146},[112,8427,3797],{"class":136},[112,8429,2398],{"class":146},[112,8431,8432,8434,8436],{"class":114,"line":5373},[112,8433,2604],{"class":146},[112,8435,2423],{"class":2386},[112,8437,2398],{"class":146},[112,8439,8440,8442,8444],{"class":114,"line":5382},[112,8441,2800],{"class":146},[112,8443,2451],{"class":2386},[112,8445,2398],{"class":146},[112,8447,8448,8450,8452,8454,8456],{"class":114,"line":5391},[112,8449,3284],{"class":146},[112,8451,2803],{"class":2386},[112,8453,3827],{"class":146},[112,8455,2803],{"class":2386},[112,8457,2398],{"class":146},[112,8459,8460,8462,8464,8466,8468],{"class":114,"line":5404},[112,8461,3284],{"class":146},[112,8463,3615],{"class":2386},[112,8465,3618],{"class":146},[112,8467,3615],{"class":2386},[112,8469,2398],{"class":146},[112,8471,8472,8474,8476,8478,8480],{"class":114,"line":5417},[112,8473,3284],{"class":146},[112,8475,3629],{"class":2386},[112,8477,3618],{"class":146},[112,8479,3629],{"class":2386},[112,8481,2398],{"class":146},[112,8483,8484,8486,8488,8490,8492],{"class":114,"line":5430},[112,8485,3284],{"class":146},[112,8487,2816],{"class":2386},[112,8489,3827],{"class":146},[112,8491,2816],{"class":2386},[112,8493,2398],{"class":146},[112,8495,8496,8498,8500,8502,8504],{"class":114,"line":5443},[112,8497,3284],{"class":146},[112,8499,3656],{"class":2386},[112,8501,3618],{"class":146},[112,8503,3656],{"class":2386},[112,8505,2398],{"class":146},[112,8507,8508,8510,8512,8514,8516],{"class":114,"line":5456},[112,8509,3284],{"class":146},[112,8511,2829],{"class":2386},[112,8513,3827],{"class":146},[112,8515,2829],{"class":2386},[112,8517,2398],{"class":146},[112,8519,8520,8522,8524],{"class":114,"line":5469},[112,8521,3332],{"class":146},[112,8523,2451],{"class":2386},[112,8525,2398],{"class":146},[112,8527,8528,8530,8532,8534,8536],{"class":114,"line":5478},[112,8529,2800],{"class":146},[112,8531,2433],{"class":2386},[112,8533,3584],{"class":146},[112,8535,2433],{"class":2386},[112,8537,2398],{"class":146},[112,8539,8540,8542,8544,8546,8548],{"class":114,"line":5491},[112,8541,2800],{"class":146},[112,8543,3548],{"class":2386},[112,8545,3551],{"class":146},[112,8547,3548],{"class":2386},[112,8549,2398],{"class":146},[112,8551,8552,8554,8556],{"class":114,"line":5504},[112,8553,2840],{"class":146},[112,8555,2423],{"class":2386},[112,8557,2398],{"class":146},[112,8559,8560,8562,8564,8566,8568,8570],{"class":114,"line":5513},[112,8561,2604],{"class":146},[112,8563,3261],{"class":2386},[112,8565,2390],{"class":132},[112,8567,1697],{"class":146},[112,8569,3954],{"class":136},[112,8571,2398],{"class":146},[112,8573,8574,8576,8578],{"class":114,"line":5528},[112,8575,2800],{"class":146},[112,8577,3277],{"class":2386},[112,8579,2398],{"class":146},[112,8581,8582,8584,8586],{"class":114,"line":5537},[112,8583,3284],{"class":146},[112,8585,3973],{"class":2386},[112,8587,2398],{"class":146},[112,8589,8590,8592,8594,8596,8598],{"class":114,"line":5546},[112,8591,3294],{"class":146},[112,8593,3311],{"class":2386},[112,8595,5031],{"class":146},[112,8597,3311],{"class":2386},[112,8599,2398],{"class":146},[112,8601,8602,8604,8606],{"class":114,"line":5559},[112,8603,3323],{"class":146},[112,8605,3973],{"class":2386},[112,8607,2398],{"class":146},[112,8609,8610,8612,8614],{"class":114,"line":5568},[112,8611,3332],{"class":146},[112,8613,3277],{"class":2386},[112,8615,2398],{"class":146},[112,8617,8618,8620,8622],{"class":114,"line":5577},[112,8619,2800],{"class":146},[112,8621,3343],{"class":2386},[112,8623,2398],{"class":146},[112,8625,8626,8628,8630],{"class":114,"line":5586},[112,8627,3284],{"class":146},[112,8629,3352],{"class":2386},[112,8631,2398],{"class":146},[112,8633,8634,8636,8638],{"class":114,"line":5595},[112,8635,3294],{"class":146},[112,8637,3361],{"class":2386},[112,8639,3042],{"class":146},[112,8641,8642,8644,8646],{"class":114,"line":5604},[112,8643,3323],{"class":146},[112,8645,3352],{"class":2386},[112,8647,2398],{"class":146},[112,8649,8650,8652,8654],{"class":114,"line":5613},[112,8651,3284],{"class":146},[112,8653,3378],{"class":2386},[112,8655,3042],{"class":146},[112,8657,8658,8660,8662],{"class":114,"line":5622},[112,8659,3284],{"class":146},[112,8661,3387],{"class":2386},[112,8663,3042],{"class":146},[112,8665,8666,8668,8670],{"class":114,"line":5631},[112,8667,3332],{"class":146},[112,8669,3343],{"class":2386},[112,8671,2398],{"class":146},[112,8673,8674,8676,8678],{"class":114,"line":5640},[112,8675,2840],{"class":146},[112,8677,3261],{"class":2386},[112,8679,2398],{"class":146},[112,8681,8682,8684,8686,8688,8690,8692],{"class":114,"line":5649},[112,8683,2604],{"class":146},[112,8685,3412],{"class":2386},[112,8687,2390],{"class":132},[112,8689,1697],{"class":146},[112,8691,4093],{"class":136},[112,8693,2398],{"class":146},[112,8695,8696,8698,8700],{"class":114,"line":5664},[112,8697,2800],{"class":146},[112,8699,3277],{"class":2386},[112,8701,2398],{"class":146},[112,8703,8704,8706,8708],{"class":114,"line":5673},[112,8705,3284],{"class":146},[112,8707,3973],{"class":2386},[112,8709,2398],{"class":146},[112,8711,8712,8714,8716,8718,8720],{"class":114,"line":5682},[112,8713,3294],{"class":146},[112,8715,3311],{"class":2386},[112,8717,5031],{"class":146},[112,8719,3311],{"class":2386},[112,8721,2398],{"class":146},[112,8723,8724,8726,8728],{"class":114,"line":5695},[112,8725,3323],{"class":146},[112,8727,3973],{"class":2386},[112,8729,2398],{"class":146},[112,8731,8732,8734,8736],{"class":114,"line":5704},[112,8733,3332],{"class":146},[112,8735,3277],{"class":2386},[112,8737,2398],{"class":146},[112,8739,8740,8742,8744],{"class":114,"line":5713},[112,8741,2800],{"class":146},[112,8743,3484],{"class":2386},[112,8745,2398],{"class":146},[112,8747,8748,8750,8752,8754,8756],{"class":114,"line":5722},[112,8749,3284],{"class":146},[112,8751,3168],{"class":2386},[112,8753,4163],{"class":146},[112,8755,3168],{"class":2386},[112,8757,2398],{"class":146},[112,8759,8760,8762,8764,8766,8768],{"class":114,"line":5735},[112,8761,3284],{"class":146},[112,8763,3506],{"class":2386},[112,8765,3185],{"class":146},[112,8767,3506],{"class":2386},[112,8769,2398],{"class":146},[112,8771,8772,8774,8776,8778,8780],{"class":114,"line":5748},[112,8773,3284],{"class":146},[112,8775,3519],{"class":2386},[112,8777,4190],{"class":146},[112,8779,3519],{"class":2386},[112,8781,2398],{"class":146},[112,8783,8784,8786,8788],{"class":114,"line":5761},[112,8785,3332],{"class":146},[112,8787,3484],{"class":2386},[112,8789,2398],{"class":146},[112,8791,8792,8794,8796],{"class":114,"line":5770},[112,8793,2840],{"class":146},[112,8795,3412],{"class":2386},[112,8797,2398],{"class":146},[112,8799,8800,8802,8804,8806,8808],{"class":114,"line":5779},[112,8801,2604],{"class":146},[112,8803,3548],{"class":2386},[112,8805,3551],{"class":146},[112,8807,3548],{"class":2386},[112,8809,2398],{"class":146},[112,8811,8812,8814,8816,8818,8820],{"class":114,"line":5792},[112,8813,2604],{"class":146},[112,8815,3701],{"class":2386},[112,8817,3704],{"class":146},[112,8819,3701],{"class":2386},[112,8821,2398],{"class":146},[112,8823,8824,8826,8828],{"class":114,"line":5805},[112,8825,2664],{"class":146},[112,8827,2406],{"class":2386},[112,8829,2398],{"class":146},[112,8831,8832,8834,8836,8838,8840],{"class":114,"line":5814},[112,8833,2430],{"class":146},[112,8835,3233],{"class":2386},[112,8837,3704],{"class":146},[112,8839,3233],{"class":2386},[112,8841,2398],{"class":146},[112,8843,8844,8846,8848,8850,8852],{"class":114,"line":5827},[112,8845,2430],{"class":146},[112,8847,3738],{"class":2386},[112,8849,3704],{"class":146},[112,8851,3738],{"class":2386},[112,8853,2398],{"class":146},[112,8855,8856,8858,8860],{"class":114,"line":5840},[112,8857,2501],{"class":146},[112,8859,2744],{"class":2386},[112,8861,2398],{"class":146},[112,8863,8864,8866,8868,8870,8872,8874,8876,8878,8880],{"class":114,"line":5849},[112,8865,2420],{"class":146},[112,8867,5854],{"class":2386},[112,8869,2390],{"class":132},[112,8871,1697],{"class":146},[112,8873,5861],{"class":136},[112,8875,2960],{"class":132},[112,8877,1697],{"class":146},[112,8879,5868],{"class":136},[112,8881,2398],{"class":146},[112,8883,8884,8886,8888,8890,8892],{"class":114,"line":5873},[112,8885,2430],{"class":146},[112,8887,3548],{"class":2386},[112,8889,5880],{"class":146},[112,8891,3548],{"class":2386},[112,8893,2398],{"class":146},[112,8895,8896,8898,8900,8902,8904],{"class":114,"line":5887},[112,8897,2430],{"class":146},[112,8899,5892],{"class":2386},[112,8901,3199],{"class":146},[112,8903,5892],{"class":2386},[112,8905,2398],{"class":146},[112,8907,8908,8910,8912,8914,8916],{"class":114,"line":5901},[112,8909,2430],{"class":146},[112,8911,5906],{"class":2386},[112,8913,2991],{"class":146},[112,8915,5906],{"class":2386},[112,8917,2398],{"class":146},[112,8919,8920,8922,8924,8926,8928],{"class":114,"line":5915},[112,8921,2430],{"class":146},[112,8923,5920],{"class":2386},[112,8925,5923],{"class":146},[112,8927,5920],{"class":2386},[112,8929,2398],{"class":146},[112,8931,8932,8934,8936,8938,8940],{"class":114,"line":5930},[112,8933,2430],{"class":146},[112,8935,3506],{"class":2386},[112,8937,3495],{"class":146},[112,8939,3506],{"class":2386},[112,8941,2398],{"class":146},[112,8943,8944,8946,8948,8950,8952],{"class":114,"line":5943},[112,8945,2430],{"class":146},[112,8947,3519],{"class":2386},[112,8949,5950],{"class":146},[112,8951,3519],{"class":2386},[112,8953,2398],{"class":146},[112,8955,8956,8958,8960],{"class":114,"line":5957},[112,8957,2430],{"class":146},[112,8959,5962],{"class":2386},[112,8961,2398],{"class":146},[112,8963,8964,8966,8968,8970,8972],{"class":114,"line":5967},[112,8965,2604],{"class":146},[112,8967,5972],{"class":2386},[112,8969,3005],{"class":146},[112,8971,5972],{"class":2386},[112,8973,2398],{"class":146},[112,8975,8976,8978,8980,8982,8984],{"class":114,"line":5981},[112,8977,2604],{"class":146},[112,8979,5986],{"class":2386},[112,8981,5989],{"class":146},[112,8983,5986],{"class":2386},[112,8985,2398],{"class":146},[112,8987,8988,8990,8992,8994,8996],{"class":114,"line":5996},[112,8989,2604],{"class":146},[112,8991,6001],{"class":2386},[112,8993,6004],{"class":146},[112,8995,6001],{"class":2386},[112,8997,2398],{"class":146},[112,8999,9000,9002,9004,9006,9008],{"class":114,"line":6011},[112,9001,2604],{"class":146},[112,9003,6016],{"class":2386},[112,9005,2977],{"class":146},[112,9007,6016],{"class":2386},[112,9009,2398],{"class":146},[112,9011,9012,9014,9016],{"class":114,"line":6025},[112,9013,2664],{"class":146},[112,9015,5962],{"class":2386},[112,9017,2398],{"class":146},[112,9019,9020,9022,9024],{"class":114,"line":6034},[112,9021,2430],{"class":146},[112,9023,6039],{"class":2386},[112,9025,2398],{"class":146},[112,9027,9028,9030,9032,9034,9036],{"class":114,"line":6044},[112,9029,2604],{"class":146},[112,9031,6049],{"class":2386},[112,9033,3618],{"class":146},[112,9035,6049],{"class":2386},[112,9037,2398],{"class":146},[112,9039,9040,9042,9044,9046,9048],{"class":114,"line":6058},[112,9041,2604],{"class":146},[112,9043,6063],{"class":2386},[112,9045,3618],{"class":146},[112,9047,6063],{"class":2386},[112,9049,2398],{"class":146},[112,9051,9052,9054,9056,9058,9060],{"class":114,"line":6072},[112,9053,2604],{"class":146},[112,9055,6077],{"class":2386},[112,9057,3618],{"class":146},[112,9059,6077],{"class":2386},[112,9061,2398],{"class":146},[112,9063,9064,9066,9068],{"class":114,"line":6086},[112,9065,2664],{"class":146},[112,9067,6039],{"class":2386},[112,9069,2398],{"class":146},[112,9071,9072,9074,9076],{"class":114,"line":6095},[112,9073,2501],{"class":146},[112,9075,5854],{"class":2386},[112,9077,2398],{"class":146},[112,9079,9080,9082,9084],{"class":114,"line":6104},[112,9081,2510],{"class":146},[112,9083,2934],{"class":2386},[112,9085,2398],{"class":146},[112,9087,9088,9090,9092],{"class":114,"line":6113},[112,9089,2519],{"class":146},[112,9091,2727],{"class":2386},[112,9093,2398],{"class":146},[15,9095,9096],{},[50,9097,9098],{},"3.编写launch文件",[15,9100,9101],{},"在launch目录下新建launch文件gazebo_sim_world.launch.py，并输入如下内容：",[102,9103,9105],{"className":1547,"code":9104,"language":1549,"meta":107,"style":107},"import os\n\nfrom ament_index_python.packages import get_package_share_directory\n\nfrom launch import LaunchDescription\nfrom launch.actions import IncludeLaunchDescription\nfrom launch.launch_description_sources import PythonLaunchDescriptionSource\n\ndef generate_launch_description():\n\n    this_pkg = get_package_share_directory('demo_gazebo_sim')\n    pkg_ros_gz_sim = get_package_share_directory('ros_gz_sim')\n    world_file = os.path.join(this_pkg,\"world\",\"house.sdf\")\n\n    gz_sim = IncludeLaunchDescription(\n        PythonLaunchDescriptionSource(\n            os.path.join(pkg_ros_gz_sim, 'launch', 'gz_sim.launch.py')),\n        launch_arguments={\n            'gz_args': '-r ' + world_file\n        }.items(),\n    )\n    return LaunchDescription([\n        gz_sim\n    ])\n",[109,9106,9107,9113,9117,9127,9131,9141,9151,9161,9165,9173,9177,9189,9201,9219,9223,9231,9235,9247,9255,9267,9271,9275,9281,9286],{"__ignoreMap":107},[112,9108,9109,9111],{"class":114,"line":115},[112,9110,1556],{"class":765},[112,9112,1559],{"class":146},[112,9114,9115],{"class":114,"line":122},[112,9116,119],{"emptyLinePlaceholder":118},[112,9118,9119,9121,9123,9125],{"class":114,"line":129},[112,9120,1568],{"class":765},[112,9122,1571],{"class":146},[112,9124,1556],{"class":765},[112,9126,1576],{"class":146},[112,9128,9129],{"class":114,"line":153},[112,9130,119],{"emptyLinePlaceholder":118},[112,9132,9133,9135,9137,9139],{"class":114,"line":158},[112,9134,1568],{"class":765},[112,9136,1587],{"class":146},[112,9138,1556],{"class":765},[112,9140,1592],{"class":146},[112,9142,9143,9145,9147,9149],{"class":114,"line":164},[112,9144,1568],{"class":765},[112,9146,1599],{"class":146},[112,9148,1556],{"class":765},[112,9150,1615],{"class":146},[112,9152,9153,9155,9157,9159],{"class":114,"line":176},[112,9154,1568],{"class":765},[112,9156,1634],{"class":146},[112,9158,1556],{"class":765},[112,9160,1639],{"class":146},[112,9162,9163],{"class":114,"line":181},[112,9164,119],{"emptyLinePlaceholder":118},[112,9166,9167,9169,9171],{"class":114,"line":187},[112,9168,1677],{"class":765},[112,9170,1680],{"class":132},[112,9172,1683],{"class":146},[112,9174,9175],{"class":114,"line":434},[112,9176,119],{"emptyLinePlaceholder":118},[112,9178,9179,9181,9183,9185,9187],{"class":114,"line":440},[112,9180,1694],{"class":146},[112,9182,1697],{"class":765},[112,9184,1700],{"class":146},[112,9186,1703],{"class":136},[112,9188,1466],{"class":146},[112,9190,9191,9193,9195,9197,9199],{"class":114,"line":446},[112,9192,1711],{"class":146},[112,9194,1697],{"class":765},[112,9196,1700],{"class":146},[112,9198,1718],{"class":136},[112,9200,1466],{"class":146},[112,9202,9203,9205,9207,9209,9212,9214,9217],{"class":114,"line":452},[112,9204,1726],{"class":146},[112,9206,1697],{"class":765},[112,9208,1731],{"class":146},[112,9210,9211],{"class":136},"\"world\"",[112,9213,1737],{"class":146},[112,9215,9216],{"class":136},"\"house.sdf\"",[112,9218,1466],{"class":146},[112,9220,9221],{"class":114,"line":1674},[112,9222,119],{"emptyLinePlaceholder":118},[112,9224,9225,9227,9229],{"class":114,"line":1686},[112,9226,1753],{"class":146},[112,9228,1697],{"class":765},[112,9230,1758],{"class":146},[112,9232,9233],{"class":114,"line":1691},[112,9234,1764],{"class":146},[112,9236,9237,9239,9241,9243,9245],{"class":114,"line":1708},[112,9238,1770],{"class":146},[112,9240,1773],{"class":136},[112,9242,1776],{"class":146},[112,9244,1779],{"class":136},[112,9246,1782],{"class":146},[112,9248,9249,9251,9253],{"class":114,"line":1723},[112,9250,1789],{"class":1788},[112,9252,1697],{"class":765},[112,9254,1794],{"class":146},[112,9256,9257,9259,9261,9263,9265],{"class":114,"line":1745},[112,9258,1800],{"class":136},[112,9260,1803],{"class":146},[112,9262,1806],{"class":136},[112,9264,1809],{"class":765},[112,9266,1812],{"class":146},[112,9268,9269],{"class":114,"line":1750},[112,9270,1818],{"class":146},[112,9272,9273],{"class":114,"line":1761},[112,9274,1824],{"class":146},[112,9276,9277,9279],{"class":114,"line":1767},[112,9278,2102],{"class":765},[112,9280,2105],{"class":146},[112,9282,9283],{"class":114,"line":1785},[112,9284,9285],{"class":146},"        gz_sim\n",[112,9287,9288],{"class":114,"line":1797},[112,9289,2162],{"class":146},[15,9291,9292],{},[50,9293,9294],{},"4.构建",[15,9296,2178],{},[102,9298,9299],{"className":104,"code":2181,"language":106,"meta":107,"style":107},[109,9300,9301],{"__ignoreMap":107},[112,9302,9303,9305,9307,9309],{"class":114,"line":115},[112,9304,2188],{"class":132},[112,9306,2191],{"class":136},[112,9308,2194],{"class":576},[112,9310,1432],{"class":136},[15,9312,9313],{},[50,9314,9315],{},"5.执行",[15,9317,2209],{},[102,9319,9321],{"className":104,"code":9320,"language":106,"meta":107,"style":107},". install/setup.bash\nros2 launch demo_gazebo_sim gazebo_sim_world.launch.py\n",[109,9322,9323,9329],{"__ignoreMap":107},[112,9324,9325,9327],{"class":114,"line":115},[112,9326,2219],{"class":576},[112,9328,2222],{"class":136},[112,9330,9331,9333,9335,9337],{"class":114,"line":122},[112,9332,263],{"class":132},[112,9334,266],{"class":136},[112,9336,2231],{"class":136},[112,9338,9339],{"class":136}," gazebo_sim_world.launch.py\n",[15,9341,9342],{},"运行结果如下图所示。",[15,9344,9345],{},"也可以根据个人喜好，继续设计房间模型。",[15,9347,9348],{},[200,9349],{"alt":107,"src":9350},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1730.webp",[27,9352,9354],{"id":9353},"igng添加模型",[50,9355,9356],{},"IgnG添加模型",[15,9358,9359],{},"在Ignition Gazebo官网提供了许多仿真模型，可以自行下载并使用以优化仿真环境，使其更多样、美观且真实。",[15,9361,9362],{},[50,9363,9364],{},"资源下载",[15,9366,9367],{},"仿真Ignition Gazebo的官方模型链接：",[15,9369,9370],{},[55,9371,9372],{"href":9372,"rel":9373},"http://app.ignitionrobotics.org/fuel/models",[59],[15,9375,9376],{},"自行选择仿真模型点击进入详情页面，然后点击下载按钮即可将模型资源保存到本地。",[15,9378,9379],{},"在用户目录下新建ign_models目录，将下载的资源解压缩到该目录以作备用。",[15,9381,9382],{},[50,9383,9384],{},"资源配置",[15,9386,9387],{},"为了可以让Ignition Gazebo识别到模型资源，下一步还需要修改用户目录下的 .bashrc 文件，添加如下代码：",[102,9389,9391],{"className":104,"code":9390,"language":106,"meta":107,"style":107},"\n# Humble版本一般是下面的，但是有可能会更新，如果不生效，请尝试Jazzy的宏\nexport IGN_GAZEBO_RESOURCE_PATH=~/ign_models\n\n# Jazzy版本的宏改了，如下：\nexport GZ_SIM_RESOURCE_PATH=~/ign_models\n",[109,9392,9393,9397,9402,9416,9420,9425],{"__ignoreMap":107},[112,9394,9395],{"class":114,"line":115},[112,9396,119],{"emptyLinePlaceholder":118},[112,9398,9399],{"class":114,"line":122},[112,9400,9401],{"class":125},"# Humble版本一般是下面的，但是有可能会更新，如果不生效，请尝试Jazzy的宏\n",[112,9403,9404,9407,9410,9413],{"class":114,"line":129},[112,9405,9406],{"class":765},"export",[112,9408,9409],{"class":146}," IGN_GAZEBO_RESOURCE_PATH",[112,9411,9412],{"class":765},"=~",[112,9414,9415],{"class":146},"/ign_models\n",[112,9417,9418],{"class":114,"line":153},[112,9419,119],{"emptyLinePlaceholder":118},[112,9421,9422],{"class":114,"line":158},[112,9423,9424],{"class":125},"# Jazzy版本的宏改了，如下：\n",[112,9426,9427,9429,9432,9434],{"class":114,"line":164},[112,9428,9406],{"class":765},[112,9430,9431],{"class":146}," GZ_SIM_RESOURCE_PATH",[112,9433,9412],{"class":765},[112,9435,9415],{"class":146},[15,9437,9438],{},[55,9439,9440],{"href":9440,"rel":9441},"https://gazebosim.org/docs/latest/fuel_insert/",[59],[15,9443,9444],{},[50,9445,9446],{},"模型添加",[15,9448,9449,9450,9453,9454,9457,9458,9461,9462,9465],{},"终端下进入功能包demo_gazebo_sim的world目录，使用指令",[109,9451,9452],{},"ign gazebo house.sdf"," 或者",[109,9455,9456],{},"gz sim house.sdf","启动仿真环境，点击窗口右上的折叠按钮，搜索",[109,9459,9460],{},"Resource Spawner","并打开，点击",[109,9463,9464],{},"Local resources","并选择模型拖拽至仿真环境中。将修改后的内容保存至house.sdf文件。",[15,9467,9468],{},[200,9469],{"alt":107,"src":9470},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1731.webp",[15,9472,9473],{},"正常下载资源后，这个local resources这里就会显示了",[15,9475,9476],{},"house.sdf文件示例内容如下：",[102,9478,9480],{"className":2374,"code":9479,"language":2376,"meta":107,"style":107},"\u003Csdf version='1.9'>\n  \u003Cworld name='empty'>\n    \u003Cphysics name='1ms' type='ignored'>\n      \u003Cmax_step_size>0.001\u003C/max_step_size>\n      \u003Creal_time_factor>1\u003C/real_time_factor>\n      \u003Creal_time_update_rate>1000\u003C/real_time_update_rate>\n    \u003C/physics>\n    \u003Cplugin name='gz::sim::systems::Physics' filename='ignition-gazebo-physics-system'/>\n    \u003Cplugin name='gz::sim::systems::UserCommands' filename='ignition-gazebo-user-commands-system'/>\n    \u003Cplugin name='gz::sim::systems::SceneBroadcaster' filename='ignition-gazebo-scene-broadcaster-system'/>\n    \u003Cplugin name='gz::sim::systems::Contact' filename='ignition-gazebo-contact-system'/>\n    \u003Cgravity>0 0 -9.8\u003C/gravity>\n    \u003Cmagnetic_field>6e-06 2.3e-05 -4.2e-05\u003C/magnetic_field>\n    \u003Catmosphere type='adiabatic'/>\n    \u003Cscene>\n      \u003Cambient>0.4 0.4 0.4 1\u003C/ambient>\n      \u003Cbackground>0.7 0.7 0.7 1\u003C/background>\n      \u003Cshadows>true\u003C/shadows>\n    \u003C/scene>\n    \u003Cmodel name='ground_plane'>\n      \u003Cstatic>true\u003C/static>\n      \u003Clink name='link'>\n        \u003Ccollision name='collision'>\n          \u003Cgeometry>\n            \u003Cplane>\n              \u003Cnormal>0 0 1\u003C/normal>\n              \u003Csize>100 100\u003C/size>\n            \u003C/plane>\n          \u003C/geometry>\n          \u003Csurface>\n            \u003Cfriction>\n              \u003Code/>\n            \u003C/friction>\n            \u003Cbounce/>\n            \u003Ccontact/>\n          \u003C/surface>\n        \u003C/collision>\n        \u003Cvisual name='visual'>\n          \u003Cgeometry>\n            \u003Cplane>\n              \u003Cnormal>0 0 1\u003C/normal>\n              \u003Csize>100 100\u003C/size>\n            \u003C/plane>\n          \u003C/geometry>\n          \u003Cmaterial>\n            \u003Cambient>0.8 0.8 0.8 1\u003C/ambient>\n            \u003Cdiffuse>0.8 0.8 0.8 1\u003C/diffuse>\n            \u003Cspecular>0.8 0.8 0.8 1\u003C/specular>\n          \u003C/material>\n        \u003C/visual>\n        \u003Cpose>0 0 0 0 -0 0\u003C/pose>\n        \u003Cinertial>\n          \u003Cpose>0 0 0 0 -0 0\u003C/pose>\n          \u003Cmass>100\u003C/mass>\n          \u003Cinertia>\n            \u003Cixx>1\u003C/ixx>\n            \u003Cixy>0\u003C/ixy>\n            \u003Cixz>0\u003C/ixz>\n            \u003Ciyy>1\u003C/iyy>\n            \u003Ciyz>0\u003C/iyz>\n            \u003Cizz>1\u003C/izz>\n          \u003C/inertia>\n        \u003C/inertial>\n        \u003Cenable_wind>false\u003C/enable_wind>\n      \u003C/link>\n      \u003Cpose>0 0 0 0 -0 0\u003C/pose>\n      \u003Cself_collide>false\u003C/self_collide>\n    \u003C/model>\n    \u003Cmodel name='box'>\n      \u003Cpose>5.02632 -2e-06 0.500002 -0 4.4e-05 4.6e-05\u003C/pose>\n      \u003Clink name='box_link'>\n        \u003Cinertial>\n          \u003Cinertia>\n            \u003Cixx>16.666\u003C/ixx>\n            \u003Cixy>0\u003C/ixy>\n            \u003Cixz>0\u003C/ixz>\n            \u003Ciyy>16.666\u003C/iyy>\n            \u003Ciyz>0\u003C/iyz>\n            \u003Cizz>16.666\u003C/izz>\n          \u003C/inertia>\n          \u003Cmass>100\u003C/mass>\n          \u003Cpose>0 0 0 0 -0 0\u003C/pose>\n        \u003C/inertial>\n        \u003Ccollision name='box_collision'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>0.1 5 1\u003C/size>\n            \u003C/box>\n          \u003C/geometry>\n          \u003Csurface>\n            \u003Cfriction>\n              \u003Code/>\n            \u003C/friction>\n            \u003Cbounce/>\n            \u003Ccontact/>\n          \u003C/surface>\n        \u003C/collision>\n        \u003Cvisual name='box_visual'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>0.1 5 1\u003C/size>\n            \u003C/box>\n          \u003C/geometry>\n          \u003Cmaterial>\n            \u003Cambient>0.3 0.3 0.3 1\u003C/ambient>\n            \u003Cdiffuse>0.7 0.7 0.7 1\u003C/diffuse>\n            \u003Cspecular>1 1 1 1\u003C/specular>\n          \u003C/material>\n        \u003C/visual>\n        \u003Cpose>0 0 0 0 -0 0\u003C/pose>\n        \u003Cenable_wind>false\u003C/enable_wind>\n      \u003C/link>\n      \u003Cstatic>false\u003C/static>\n      \u003Cself_collide>false\u003C/self_collide>\n    \u003C/model>\n    \u003Cmodel name='box_0'>\n      \u003Cpose>-5.01336 -0.00029 0.500002 0 -4.2e-05 -0.005335\u003C/pose>\n      \u003Clink name='box_link'>\n        \u003Cinertial>\n          \u003Cinertia>\n            \u003Cixx>16.666\u003C/ixx>\n            \u003Cixy>0\u003C/ixy>\n            \u003Cixz>0\u003C/ixz>\n            \u003Ciyy>16.666\u003C/iyy>\n            \u003Ciyz>0\u003C/iyz>\n            \u003Cizz>16.666\u003C/izz>\n          \u003C/inertia>\n          \u003Cmass>100\u003C/mass>\n          \u003Cpose>0 0 0 0 -0 0\u003C/pose>\n        \u003C/inertial>\n        \u003Ccollision name='box_collision'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>0.1 5 1\u003C/size>\n            \u003C/box>\n          \u003C/geometry>\n          \u003Csurface>\n            \u003Cfriction>\n              \u003Code/>\n            \u003C/friction>\n            \u003Cbounce/>\n            \u003Ccontact/>\n          \u003C/surface>\n        \u003C/collision>\n        \u003Cvisual name='box_visual'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>0.1 5 1\u003C/size>\n            \u003C/box>\n          \u003C/geometry>\n          \u003Cmaterial>\n            \u003Cambient>0.3 0.3 0.3 1\u003C/ambient>\n            \u003Cdiffuse>0.7 0.7 0.7 1\u003C/diffuse>\n            \u003Cspecular>1 1 1 1\u003C/specular>\n          \u003C/material>\n        \u003C/visual>\n        \u003Cpose>0 0 0 0 -0 0\u003C/pose>\n        \u003Cenable_wind>false\u003C/enable_wind>\n      \u003C/link>\n      \u003Cstatic>false\u003C/static>\n      \u003Cself_collide>false\u003C/self_collide>\n    \u003C/model>\n    \u003Cmodel name='box_1'>\n      \u003Cpose>-0 -2.5 0.5 1e-06 0 0\u003C/pose>\n      \u003Clink name='box_link'>\n        \u003Cinertial>\n          \u003Cinertia>\n            \u003Cixx>16.666\u003C/ixx>\n            \u003Cixy>0\u003C/ixy>\n            \u003Cixz>0\u003C/ixz>\n            \u003Ciyy>16.666\u003C/iyy>\n            \u003Ciyz>0\u003C/iyz>\n            \u003Cizz>16.666\u003C/izz>\n          \u003C/inertia>\n          \u003Cmass>100\u003C/mass>\n          \u003Cpose>0 0 0 0 -0 0\u003C/pose>\n        \u003C/inertial>\n        \u003Ccollision name='box_collision'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>10 0.1 1\u003C/size>\n            \u003C/box>\n          \u003C/geometry>\n          \u003Csurface>\n            \u003Cfriction>\n              \u003Code/>\n            \u003C/friction>\n            \u003Cbounce/>\n            \u003Ccontact/>\n          \u003C/surface>\n        \u003C/collision>\n        \u003Cvisual name='box_visual'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>10 0.1 1\u003C/size>\n            \u003C/box>\n          \u003C/geometry>\n          \u003Cmaterial>\n            \u003Cambient>0.3 0.3 0.3 1\u003C/ambient>\n            \u003Cdiffuse>0.7 0.7 0.7 1\u003C/diffuse>\n            \u003Cspecular>1 1 1 1\u003C/specular>\n          \u003C/material>\n        \u003C/visual>\n        \u003Cpose>0 0 0 0 -0 0\u003C/pose>\n        \u003Cenable_wind>false\u003C/enable_wind>\n      \u003C/link>\n      \u003Cstatic>false\u003C/static>\n      \u003Cself_collide>false\u003C/self_collide>\n    \u003C/model>\n    \u003Cmodel name='box_2'>\n      \u003Cpose>-0.000154 2.52488 0.500821 -0.018068 -0 -0.003156\u003C/pose>\n      \u003Clink name='box_link'>\n        \u003Cinertial>\n          \u003Cinertia>\n            \u003Cixx>16.666\u003C/ixx>\n            \u003Cixy>0\u003C/ixy>\n            \u003Cixz>0\u003C/ixz>\n            \u003Ciyy>16.666\u003C/iyy>\n            \u003Ciyz>0\u003C/iyz>\n            \u003Cizz>16.666\u003C/izz>\n          \u003C/inertia>\n          \u003Cmass>100\u003C/mass>\n          \u003Cpose>0 0 0 0 -0 0\u003C/pose>\n        \u003C/inertial>\n        \u003Ccollision name='box_collision'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>10 0.1 1\u003C/size>\n            \u003C/box>\n          \u003C/geometry>\n          \u003Csurface>\n            \u003Cfriction>\n              \u003Code/>\n            \u003C/friction>\n            \u003Cbounce/>\n            \u003Ccontact/>\n          \u003C/surface>\n        \u003C/collision>\n        \u003Cvisual name='box_visual'>\n          \u003Cgeometry>\n            \u003Cbox>\n              \u003Csize>10 0.1 1\u003C/size>\n            \u003C/box>\n          \u003C/geometry>\n          \u003Cmaterial>\n            \u003Cambient>0.3 0.3 0.3 1\u003C/ambient>\n            \u003Cdiffuse>0.7 0.7 0.7 1\u003C/diffuse>\n            \u003Cspecular>1 1 1 1\u003C/specular>\n          \u003C/material>\n        \u003C/visual>\n        \u003Cpose>0 0 0 0 -0 0\u003C/pose>\n        \u003Cenable_wind>false\u003C/enable_wind>\n      \u003C/link>\n      \u003Cstatic>false\u003C/static>\n      \u003Cself_collide>false\u003C/self_collide>\n    \u003C/model>\n    \u003Cinclude>\n      \u003Curi>file://Bed\u003C/uri>\n      \u003Cname>Bed\u003C/name>\n      \u003Cpose>2.82155 1.18752 0 0 -0 0\u003C/pose>\n    \u003C/include>\n    \u003Cinclude>\n      \u003Curi>file://Office Desk\u003C/uri>\n      \u003Cname>Desk\u003C/name>\n      \u003Cpose>2.78306 -1.97796 0 0 -0 1.57\u003C/pose>\n    \u003C/include>\n    \u003Cinclude>\n      \u003Curi>file://Bathtub\u003C/uri>\n      \u003Cname>Bathtub\u003C/name>\n      \u003Cpose>-3.87509 1.82783 0 0 -0 0\u003C/pose>\n    \u003C/include>\n    \u003Cinclude>\n      \u003Curi>file://Vanity\u003C/uri>\n      \u003Cname>Vanity\u003C/name>\n      \u003Cpose>-2.5974 1.85613 -0.010992 0.021648 0 -1.57\u003C/pose>\n    \u003C/include>\n    \u003Cinclude>\n      \u003Curi>file://Vanity\u003C/uri>\n      \u003Cname>Vanity_1\u003C/name>\n      \u003Cpose>-2.5974 0.634325 -0.010992 0.021648 0 -1.57\u003C/pose>\n    \u003C/include>\n    \u003Cinclude>\n      \u003Curi>file://Dining Table\u003C/uri>\n      \u003Cname>DiningTable\u003C/name>\n      \u003Cpose>-0.374337 1.33602 0 0 0 -1.57\u003C/pose>\n    \u003C/include>\n    \u003Cinclude>\n      \u003Curi>file://Chair\u003C/uri>\n      \u003Cname>Chair\u003C/name>\n      \u003Cpose>2.79762 -1.26474 -0 -0 0 -2.3062\u003C/pose>\n    \u003C/include>\n    \u003Cinclude>\n      \u003Curi>file://Sofa\u003C/uri>\n      \u003Cname>Sofa\u003C/name>\n      \u003Cpose>-0.546136 -1.92328 0.000119 -0 0 1.57\u003C/pose>\n    \u003C/include>\n    \u003Clight name='sun' type='directional'>\n      \u003Cpose>0 0 10 0 -0 0\u003C/pose>\n      \u003Ccast_shadows>true\u003C/cast_shadows>\n      \u003Cintensity>1\u003C/intensity>\n      \u003Cdirection>-0.5 0.1 -0.9\u003C/direction>\n      \u003Cdiffuse>0.8 0.8 0.8 1\u003C/diffuse>\n      \u003Cspecular>0.2 0.2 0.2 1\u003C/specular>\n      \u003Cattenuation>\n        \u003Crange>1000\u003C/range>\n        \u003Clinear>0.01\u003C/linear>\n        \u003Cconstant>0.90000000000000002\u003C/constant>\n        \u003Cquadratic>0.001\u003C/quadratic>\n      \u003C/attenuation>\n      \u003Cspot>\n        \u003Cinner_angle>0\u003C/inner_angle>\n        \u003Couter_angle>0\u003C/outer_angle>\n        \u003Cfalloff>0\u003C/falloff>\n      \u003C/spot>\n    \u003C/light>\n  \u003C/world>\n\u003C/sdf>\n",[109,9481,9482,9496,9510,9530,9542,9554,9566,9574,9594,9614,9634,9654,9666,9678,9692,9700,9712,9724,9736,9744,9758,9770,9784,9798,9806,9814,9826,9838,9846,9854,9862,9870,9878,9886,9894,9902,9910,9918,9932,9940,9948,9960,9972,9980,9988,9996,10008,10020,10032,10040,10048,10060,10068,10080,10092,10100,10112,10124,10136,10148,10160,10172,10180,10188,10200,10208,10220,10232,10240,10254,10267,10281,10289,10297,10309,10321,10333,10345,10357,10369,10377,10389,10401,10409,10423,10431,10439,10451,10459,10467,10475,10483,10491,10499,10507,10515,10523,10531,10545,10553,10561,10573,10581,10589,10597,10609,10621,10633,10641,10649,10661,10673,10681,10693,10705,10713,10727,10740,10754,10762,10770,10782,10794,10806,10818,10830,10842,10850,10862,10874,10882,10896,10904,10912,10924,10932,10940,10948,10956,10964,10972,10980,10988,10996,11004,11018,11026,11034,11046,11054,11062,11070,11082,11094,11106,11114,11122,11134,11146,11154,11166,11178,11186,11200,11213,11227,11235,11243,11255,11267,11279,11291,11303,11315,11323,11335,11347,11355,11369,11377,11385,11397,11405,11413,11421,11429,11437,11445,11453,11461,11469,11477,11491,11499,11507,11519,11527,11535,11543,11555,11567,11579,11587,11595,11607,11619,11627,11639,11651,11659,11673,11686,11700,11708,11716,11728,11740,11752,11764,11776,11788,11796,11808,11820,11828,11842,11850,11858,11870,11878,11886,11894,11902,11910,11918,11926,11934,11942,11950,11964,11972,11980,11992,12000,12008,12016,12028,12040,12052,12060,12068,12080,12092,12100,12112,12124,12132,12141,12155,12168,12181,12189,12197,12210,12223,12236,12244,12252,12265,12278,12291,12299,12307,12320,12333,12346,12354,12362,12375,12389,12403,12412,12421,12435,12449,12463,12472,12481,12495,12509,12523,12532,12541,12555,12569,12583,12592,12613,12626,12639,12652,12665,12678,12691,12700,12713,12726,12739,12752,12761,12770,12783,12796,12809,12818,12827,12836],{"__ignoreMap":107},[112,9483,9484,9486,9488,9490,9492,9494],{"class":114,"line":115},[112,9485,2383],{"class":146},[112,9487,2727],{"class":2386},[112,9489,2730],{"class":132},[112,9491,1697],{"class":146},[112,9493,2925],{"class":136},[112,9495,2398],{"class":146},[112,9497,9498,9500,9502,9504,9506,9508],{"class":114,"line":122},[112,9499,2403],{"class":146},[112,9501,2934],{"class":2386},[112,9503,2390],{"class":132},[112,9505,1697],{"class":146},[112,9507,2941],{"class":136},[112,9509,2398],{"class":146},[112,9511,9512,9514,9516,9518,9520,9522,9524,9526,9528],{"class":114,"line":129},[112,9513,2420],{"class":146},[112,9515,2950],{"class":2386},[112,9517,2390],{"class":132},[112,9519,1697],{"class":146},[112,9521,2957],{"class":136},[112,9523,2960],{"class":132},[112,9525,1697],{"class":146},[112,9527,2965],{"class":136},[112,9529,2398],{"class":146},[112,9531,9532,9534,9536,9538,9540],{"class":114,"line":153},[112,9533,2430],{"class":146},[112,9535,2974],{"class":2386},[112,9537,2977],{"class":146},[112,9539,2974],{"class":2386},[112,9541,2398],{"class":146},[112,9543,9544,9546,9548,9550,9552],{"class":114,"line":158},[112,9545,2430],{"class":146},[112,9547,2988],{"class":2386},[112,9549,2991],{"class":146},[112,9551,2988],{"class":2386},[112,9553,2398],{"class":146},[112,9555,9556,9558,9560,9562,9564],{"class":114,"line":164},[112,9557,2430],{"class":146},[112,9559,3002],{"class":2386},[112,9561,3005],{"class":146},[112,9563,3002],{"class":2386},[112,9565,2398],{"class":146},[112,9567,9568,9570,9572],{"class":114,"line":176},[112,9569,2501],{"class":146},[112,9571,2950],{"class":2386},[112,9573,2398],{"class":146},[112,9575,9576,9578,9580,9582,9584,9586,9588,9590,9592],{"class":114,"line":181},[112,9577,2420],{"class":146},[112,9579,3024],{"class":2386},[112,9581,2390],{"class":132},[112,9583,1697],{"class":146},[112,9585,3031],{"class":136},[112,9587,3034],{"class":132},[112,9589,1697],{"class":146},[112,9591,3039],{"class":136},[112,9593,3042],{"class":146},[112,9595,9596,9598,9600,9602,9604,9606,9608,9610,9612],{"class":114,"line":187},[112,9597,2420],{"class":146},[112,9599,3024],{"class":2386},[112,9601,2390],{"class":132},[112,9603,1697],{"class":146},[112,9605,3055],{"class":136},[112,9607,3034],{"class":132},[112,9609,1697],{"class":146},[112,9611,3062],{"class":136},[112,9613,3042],{"class":146},[112,9615,9616,9618,9620,9622,9624,9626,9628,9630,9632],{"class":114,"line":434},[112,9617,2420],{"class":146},[112,9619,3024],{"class":2386},[112,9621,2390],{"class":132},[112,9623,1697],{"class":146},[112,9625,3077],{"class":136},[112,9627,3034],{"class":132},[112,9629,1697],{"class":146},[112,9631,3084],{"class":136},[112,9633,3042],{"class":146},[112,9635,9636,9638,9640,9642,9644,9646,9648,9650,9652],{"class":114,"line":440},[112,9637,2420],{"class":146},[112,9639,3024],{"class":2386},[112,9641,2390],{"class":132},[112,9643,1697],{"class":146},[112,9645,3099],{"class":136},[112,9647,3034],{"class":132},[112,9649,1697],{"class":146},[112,9651,3106],{"class":136},[112,9653,3042],{"class":146},[112,9655,9656,9658,9660,9662,9664],{"class":114,"line":446},[112,9657,2420],{"class":146},[112,9659,3115],{"class":2386},[112,9661,3118],{"class":146},[112,9663,3115],{"class":2386},[112,9665,2398],{"class":146},[112,9667,9668,9670,9672,9674,9676],{"class":114,"line":452},[112,9669,2420],{"class":146},[112,9671,3129],{"class":2386},[112,9673,3132],{"class":146},[112,9675,3129],{"class":2386},[112,9677,2398],{"class":146},[112,9679,9680,9682,9684,9686,9688,9690],{"class":114,"line":1674},[112,9681,2420],{"class":146},[112,9683,3143],{"class":2386},[112,9685,2960],{"class":132},[112,9687,1697],{"class":146},[112,9689,3150],{"class":136},[112,9691,3042],{"class":146},[112,9693,9694,9696,9698],{"class":114,"line":1686},[112,9695,2420],{"class":146},[112,9697,3159],{"class":2386},[112,9699,2398],{"class":146},[112,9701,9702,9704,9706,9708,9710],{"class":114,"line":1691},[112,9703,2430],{"class":146},[112,9705,3168],{"class":2386},[112,9707,3171],{"class":146},[112,9709,3168],{"class":2386},[112,9711,2398],{"class":146},[112,9713,9714,9716,9718,9720,9722],{"class":114,"line":1708},[112,9715,2430],{"class":146},[112,9717,3182],{"class":2386},[112,9719,3185],{"class":146},[112,9721,3182],{"class":2386},[112,9723,2398],{"class":146},[112,9725,9726,9728,9730,9732,9734],{"class":114,"line":1723},[112,9727,2430],{"class":146},[112,9729,3196],{"class":2386},[112,9731,3199],{"class":146},[112,9733,3196],{"class":2386},[112,9735,2398],{"class":146},[112,9737,9738,9740,9742],{"class":114,"line":1745},[112,9739,2501],{"class":146},[112,9741,3159],{"class":2386},[112,9743,2398],{"class":146},[112,9745,9746,9748,9750,9752,9754,9756],{"class":114,"line":1750},[112,9747,2420],{"class":146},[112,9749,2744],{"class":2386},[112,9751,2390],{"class":132},[112,9753,1697],{"class":146},[112,9755,3224],{"class":136},[112,9757,2398],{"class":146},[112,9759,9760,9762,9764,9766,9768],{"class":114,"line":1761},[112,9761,2430],{"class":146},[112,9763,3233],{"class":2386},[112,9765,3199],{"class":146},[112,9767,3233],{"class":2386},[112,9769,2398],{"class":146},[112,9771,9772,9774,9776,9778,9780,9782],{"class":114,"line":1767},[112,9773,2430],{"class":146},[112,9775,2406],{"class":2386},[112,9777,2390],{"class":132},[112,9779,1697],{"class":146},[112,9781,3252],{"class":136},[112,9783,2398],{"class":146},[112,9785,9786,9788,9790,9792,9794,9796],{"class":114,"line":1785},[112,9787,2604],{"class":146},[112,9789,3261],{"class":2386},[112,9791,2390],{"class":132},[112,9793,1697],{"class":146},[112,9795,3268],{"class":136},[112,9797,2398],{"class":146},[112,9799,9800,9802,9804],{"class":114,"line":1797},[112,9801,2800],{"class":146},[112,9803,3277],{"class":2386},[112,9805,2398],{"class":146},[112,9807,9808,9810,9812],{"class":114,"line":1815},[112,9809,3284],{"class":146},[112,9811,3287],{"class":2386},[112,9813,2398],{"class":146},[112,9815,9816,9818,9820,9822,9824],{"class":114,"line":1821},[112,9817,3294],{"class":146},[112,9819,3297],{"class":2386},[112,9821,3300],{"class":146},[112,9823,3297],{"class":2386},[112,9825,2398],{"class":146},[112,9827,9828,9830,9832,9834,9836],{"class":114,"line":1827},[112,9829,3294],{"class":146},[112,9831,3311],{"class":2386},[112,9833,3314],{"class":146},[112,9835,3311],{"class":2386},[112,9837,2398],{"class":146},[112,9839,9840,9842,9844],{"class":114,"line":1832},[112,9841,3323],{"class":146},[112,9843,3287],{"class":2386},[112,9845,2398],{"class":146},[112,9847,9848,9850,9852],{"class":114,"line":1838},[112,9849,3332],{"class":146},[112,9851,3277],{"class":2386},[112,9853,2398],{"class":146},[112,9855,9856,9858,9860],{"class":114,"line":1849},[112,9857,2800],{"class":146},[112,9859,3343],{"class":2386},[112,9861,2398],{"class":146},[112,9863,9864,9866,9868],{"class":114,"line":1863},[112,9865,3284],{"class":146},[112,9867,3352],{"class":2386},[112,9869,2398],{"class":146},[112,9871,9872,9874,9876],{"class":114,"line":1875},[112,9873,3294],{"class":146},[112,9875,3361],{"class":2386},[112,9877,3042],{"class":146},[112,9879,9880,9882,9884],{"class":114,"line":1902},[112,9881,3323],{"class":146},[112,9883,3352],{"class":2386},[112,9885,2398],{"class":146},[112,9887,9888,9890,9892],{"class":114,"line":1918},[112,9889,3284],{"class":146},[112,9891,3378],{"class":2386},[112,9893,3042],{"class":146},[112,9895,9896,9898,9900],{"class":114,"line":1923},[112,9897,3284],{"class":146},[112,9899,3387],{"class":2386},[112,9901,3042],{"class":146},[112,9903,9904,9906,9908],{"class":114,"line":1928},[112,9905,3332],{"class":146},[112,9907,3343],{"class":2386},[112,9909,2398],{"class":146},[112,9911,9912,9914,9916],{"class":114,"line":1934},[112,9913,2840],{"class":146},[112,9915,3261],{"class":2386},[112,9917,2398],{"class":146},[112,9919,9920,9922,9924,9926,9928,9930],{"class":114,"line":1944},[112,9921,2604],{"class":146},[112,9923,3412],{"class":2386},[112,9925,2390],{"class":132},[112,9927,1697],{"class":146},[112,9929,3419],{"class":136},[112,9931,2398],{"class":146},[112,9933,9934,9936,9938],{"class":114,"line":1957},[112,9935,2800],{"class":146},[112,9937,3277],{"class":2386},[112,9939,2398],{"class":146},[112,9941,9942,9944,9946],{"class":114,"line":1970},[112,9943,3284],{"class":146},[112,9945,3287],{"class":2386},[112,9947,2398],{"class":146},[112,9949,9950,9952,9954,9956,9958],{"class":114,"line":1985},[112,9951,3294],{"class":146},[112,9953,3297],{"class":2386},[112,9955,3300],{"class":146},[112,9957,3297],{"class":2386},[112,9959,2398],{"class":146},[112,9961,9962,9964,9966,9968,9970],{"class":114,"line":1993},[112,9963,3294],{"class":146},[112,9965,3311],{"class":2386},[112,9967,3314],{"class":146},[112,9969,3311],{"class":2386},[112,9971,2398],{"class":146},[112,9973,9974,9976,9978],{"class":114,"line":2001},[112,9975,3323],{"class":146},[112,9977,3287],{"class":2386},[112,9979,2398],{"class":146},[112,9981,9982,9984,9986],{"class":114,"line":2007},[112,9983,3332],{"class":146},[112,9985,3277],{"class":2386},[112,9987,2398],{"class":146},[112,9989,9990,9992,9994],{"class":114,"line":2029},[112,9991,2800],{"class":146},[112,9993,3484],{"class":2386},[112,9995,2398],{"class":146},[112,9997,9998,10000,10002,10004,10006],{"class":114,"line":2040},[112,9999,3284],{"class":146},[112,10001,3168],{"class":2386},[112,10003,3495],{"class":146},[112,10005,3168],{"class":2386},[112,10007,2398],{"class":146},[112,10009,10010,10012,10014,10016,10018],{"class":114,"line":2057},[112,10011,3284],{"class":146},[112,10013,3506],{"class":2386},[112,10015,3495],{"class":146},[112,10017,3506],{"class":2386},[112,10019,2398],{"class":146},[112,10021,10022,10024,10026,10028,10030],{"class":114,"line":2072},[112,10023,3284],{"class":146},[112,10025,3519],{"class":2386},[112,10027,3495],{"class":146},[112,10029,3519],{"class":2386},[112,10031,2398],{"class":146},[112,10033,10034,10036,10038],{"class":114,"line":2078},[112,10035,3332],{"class":146},[112,10037,3484],{"class":2386},[112,10039,2398],{"class":146},[112,10041,10042,10044,10046],{"class":114,"line":2089},[112,10043,2840],{"class":146},[112,10045,3412],{"class":2386},[112,10047,2398],{"class":146},[112,10049,10050,10052,10054,10056,10058],{"class":114,"line":2094},[112,10051,2604],{"class":146},[112,10053,3548],{"class":2386},[112,10055,3551],{"class":146},[112,10057,3548],{"class":2386},[112,10059,2398],{"class":146},[112,10061,10062,10064,10066],{"class":114,"line":2099},[112,10063,2604],{"class":146},[112,10065,2423],{"class":2386},[112,10067,2398],{"class":146},[112,10069,10070,10072,10074,10076,10078],{"class":114,"line":2108},[112,10071,2800],{"class":146},[112,10073,3548],{"class":2386},[112,10075,3551],{"class":146},[112,10077,3548],{"class":2386},[112,10079,2398],{"class":146},[112,10081,10082,10084,10086,10088,10090],{"class":114,"line":2114},[112,10083,2800],{"class":146},[112,10085,2433],{"class":2386},[112,10087,3584],{"class":146},[112,10089,2433],{"class":2386},[112,10091,2398],{"class":146},[112,10093,10094,10096,10098],{"class":114,"line":2134},[112,10095,2800],{"class":146},[112,10097,2451],{"class":2386},[112,10099,2398],{"class":146},[112,10101,10102,10104,10106,10108,10110],{"class":114,"line":2147},[112,10103,3284],{"class":146},[112,10105,2803],{"class":2386},[112,10107,2991],{"class":146},[112,10109,2803],{"class":2386},[112,10111,2398],{"class":146},[112,10113,10114,10116,10118,10120,10122],{"class":114,"line":2153},[112,10115,3284],{"class":146},[112,10117,3615],{"class":2386},[112,10119,3618],{"class":146},[112,10121,3615],{"class":2386},[112,10123,2398],{"class":146},[112,10125,10126,10128,10130,10132,10134],{"class":114,"line":2159},[112,10127,3284],{"class":146},[112,10129,3629],{"class":2386},[112,10131,3618],{"class":146},[112,10133,3629],{"class":2386},[112,10135,2398],{"class":146},[112,10137,10138,10140,10142,10144,10146],{"class":114,"line":3638},[112,10139,3284],{"class":146},[112,10141,2816],{"class":2386},[112,10143,2991],{"class":146},[112,10145,2816],{"class":2386},[112,10147,2398],{"class":146},[112,10149,10150,10152,10154,10156,10158],{"class":114,"line":3651},[112,10151,3284],{"class":146},[112,10153,3656],{"class":2386},[112,10155,3618],{"class":146},[112,10157,3656],{"class":2386},[112,10159,2398],{"class":146},[112,10161,10162,10164,10166,10168,10170],{"class":114,"line":3665},[112,10163,3284],{"class":146},[112,10165,2829],{"class":2386},[112,10167,2991],{"class":146},[112,10169,2829],{"class":2386},[112,10171,2398],{"class":146},[112,10173,10174,10176,10178],{"class":114,"line":3678},[112,10175,3332],{"class":146},[112,10177,2451],{"class":2386},[112,10179,2398],{"class":146},[112,10181,10182,10184,10186],{"class":114,"line":3687},[112,10183,2840],{"class":146},[112,10185,2423],{"class":2386},[112,10187,2398],{"class":146},[112,10189,10190,10192,10194,10196,10198],{"class":114,"line":3696},[112,10191,2604],{"class":146},[112,10193,3701],{"class":2386},[112,10195,3704],{"class":146},[112,10197,3701],{"class":2386},[112,10199,2398],{"class":146},[112,10201,10202,10204,10206],{"class":114,"line":3711},[112,10203,2664],{"class":146},[112,10205,2406],{"class":2386},[112,10207,2398],{"class":146},[112,10209,10210,10212,10214,10216,10218],{"class":114,"line":3720},[112,10211,2430],{"class":146},[112,10213,3548],{"class":2386},[112,10215,3551],{"class":146},[112,10217,3548],{"class":2386},[112,10219,2398],{"class":146},[112,10221,10222,10224,10226,10228,10230],{"class":114,"line":3733},[112,10223,2430],{"class":146},[112,10225,3738],{"class":2386},[112,10227,3704],{"class":146},[112,10229,3738],{"class":2386},[112,10231,2398],{"class":146},[112,10233,10234,10236,10238],{"class":114,"line":3747},[112,10235,2501],{"class":146},[112,10237,2744],{"class":2386},[112,10239,2398],{"class":146},[112,10241,10242,10244,10246,10248,10250,10252],{"class":114,"line":3756},[112,10243,2420],{"class":146},[112,10245,2744],{"class":2386},[112,10247,2390],{"class":132},[112,10249,1697],{"class":146},[112,10251,3767],{"class":136},[112,10253,2398],{"class":146},[112,10255,10256,10258,10260,10263,10265],{"class":114,"line":3772},[112,10257,2430],{"class":146},[112,10259,3548],{"class":2386},[112,10261,10262],{"class":146},">5.02632 -2e-06 0.500002 -0 4.4e-05 4.6e-05\u003C/",[112,10264,3548],{"class":2386},[112,10266,2398],{"class":146},[112,10268,10269,10271,10273,10275,10277,10279],{"class":114,"line":3786},[112,10270,2430],{"class":146},[112,10272,2406],{"class":2386},[112,10274,2390],{"class":132},[112,10276,1697],{"class":146},[112,10278,3797],{"class":136},[112,10280,2398],{"class":146},[112,10282,10283,10285,10287],{"class":114,"line":3802},[112,10284,2604],{"class":146},[112,10286,2423],{"class":2386},[112,10288,2398],{"class":146},[112,10290,10291,10293,10295],{"class":114,"line":3811},[112,10292,2800],{"class":146},[112,10294,2451],{"class":2386},[112,10296,2398],{"class":146},[112,10298,10299,10301,10303,10305,10307],{"class":114,"line":3820},[112,10300,3284],{"class":146},[112,10302,2803],{"class":2386},[112,10304,3827],{"class":146},[112,10306,2803],{"class":2386},[112,10308,2398],{"class":146},[112,10310,10311,10313,10315,10317,10319],{"class":114,"line":3834},[112,10312,3284],{"class":146},[112,10314,3615],{"class":2386},[112,10316,3618],{"class":146},[112,10318,3615],{"class":2386},[112,10320,2398],{"class":146},[112,10322,10323,10325,10327,10329,10331],{"class":114,"line":3847},[112,10324,3284],{"class":146},[112,10326,3629],{"class":2386},[112,10328,3618],{"class":146},[112,10330,3629],{"class":2386},[112,10332,2398],{"class":146},[112,10334,10335,10337,10339,10341,10343],{"class":114,"line":3860},[112,10336,3284],{"class":146},[112,10338,2816],{"class":2386},[112,10340,3827],{"class":146},[112,10342,2816],{"class":2386},[112,10344,2398],{"class":146},[112,10346,10347,10349,10351,10353,10355],{"class":114,"line":3873},[112,10348,3284],{"class":146},[112,10350,3656],{"class":2386},[112,10352,3618],{"class":146},[112,10354,3656],{"class":2386},[112,10356,2398],{"class":146},[112,10358,10359,10361,10363,10365,10367],{"class":114,"line":3886},[112,10360,3284],{"class":146},[112,10362,2829],{"class":2386},[112,10364,3827],{"class":146},[112,10366,2829],{"class":2386},[112,10368,2398],{"class":146},[112,10370,10371,10373,10375],{"class":114,"line":3899},[112,10372,3332],{"class":146},[112,10374,2451],{"class":2386},[112,10376,2398],{"class":146},[112,10378,10379,10381,10383,10385,10387],{"class":114,"line":3908},[112,10380,2800],{"class":146},[112,10382,2433],{"class":2386},[112,10384,3584],{"class":146},[112,10386,2433],{"class":2386},[112,10388,2398],{"class":146},[112,10390,10391,10393,10395,10397,10399],{"class":114,"line":3921},[112,10392,2800],{"class":146},[112,10394,3548],{"class":2386},[112,10396,3551],{"class":146},[112,10398,3548],{"class":2386},[112,10400,2398],{"class":146},[112,10402,10403,10405,10407],{"class":114,"line":3934},[112,10404,2840],{"class":146},[112,10406,2423],{"class":2386},[112,10408,2398],{"class":146},[112,10410,10411,10413,10415,10417,10419,10421],{"class":114,"line":3943},[112,10412,2604],{"class":146},[112,10414,3261],{"class":2386},[112,10416,2390],{"class":132},[112,10418,1697],{"class":146},[112,10420,3954],{"class":136},[112,10422,2398],{"class":146},[112,10424,10425,10427,10429],{"class":114,"line":3959},[112,10426,2800],{"class":146},[112,10428,3277],{"class":2386},[112,10430,2398],{"class":146},[112,10432,10433,10435,10437],{"class":114,"line":3968},[112,10434,3284],{"class":146},[112,10436,3973],{"class":2386},[112,10438,2398],{"class":146},[112,10440,10441,10443,10445,10447,10449],{"class":114,"line":3978},[112,10442,3294],{"class":146},[112,10444,3311],{"class":2386},[112,10446,3985],{"class":146},[112,10448,3311],{"class":2386},[112,10450,2398],{"class":146},[112,10452,10453,10455,10457],{"class":114,"line":3992},[112,10454,3323],{"class":146},[112,10456,3973],{"class":2386},[112,10458,2398],{"class":146},[112,10460,10461,10463,10465],{"class":114,"line":4001},[112,10462,3332],{"class":146},[112,10464,3277],{"class":2386},[112,10466,2398],{"class":146},[112,10468,10469,10471,10473],{"class":114,"line":4010},[112,10470,2800],{"class":146},[112,10472,3343],{"class":2386},[112,10474,2398],{"class":146},[112,10476,10477,10479,10481],{"class":114,"line":4019},[112,10478,3284],{"class":146},[112,10480,3352],{"class":2386},[112,10482,2398],{"class":146},[112,10484,10485,10487,10489],{"class":114,"line":4028},[112,10486,3294],{"class":146},[112,10488,3361],{"class":2386},[112,10490,3042],{"class":146},[112,10492,10493,10495,10497],{"class":114,"line":4037},[112,10494,3323],{"class":146},[112,10496,3352],{"class":2386},[112,10498,2398],{"class":146},[112,10500,10501,10503,10505],{"class":114,"line":4046},[112,10502,3284],{"class":146},[112,10504,3378],{"class":2386},[112,10506,3042],{"class":146},[112,10508,10509,10511,10513],{"class":114,"line":4055},[112,10510,3284],{"class":146},[112,10512,3387],{"class":2386},[112,10514,3042],{"class":146},[112,10516,10517,10519,10521],{"class":114,"line":4064},[112,10518,3332],{"class":146},[112,10520,3343],{"class":2386},[112,10522,2398],{"class":146},[112,10524,10525,10527,10529],{"class":114,"line":4073},[112,10526,2840],{"class":146},[112,10528,3261],{"class":2386},[112,10530,2398],{"class":146},[112,10532,10533,10535,10537,10539,10541,10543],{"class":114,"line":4082},[112,10534,2604],{"class":146},[112,10536,3412],{"class":2386},[112,10538,2390],{"class":132},[112,10540,1697],{"class":146},[112,10542,4093],{"class":136},[112,10544,2398],{"class":146},[112,10546,10547,10549,10551],{"class":114,"line":4098},[112,10548,2800],{"class":146},[112,10550,3277],{"class":2386},[112,10552,2398],{"class":146},[112,10554,10555,10557,10559],{"class":114,"line":4107},[112,10556,3284],{"class":146},[112,10558,3973],{"class":2386},[112,10560,2398],{"class":146},[112,10562,10563,10565,10567,10569,10571],{"class":114,"line":4116},[112,10564,3294],{"class":146},[112,10566,3311],{"class":2386},[112,10568,3985],{"class":146},[112,10570,3311],{"class":2386},[112,10572,2398],{"class":146},[112,10574,10575,10577,10579],{"class":114,"line":4129},[112,10576,3323],{"class":146},[112,10578,3973],{"class":2386},[112,10580,2398],{"class":146},[112,10582,10583,10585,10587],{"class":114,"line":4138},[112,10584,3332],{"class":146},[112,10586,3277],{"class":2386},[112,10588,2398],{"class":146},[112,10590,10591,10593,10595],{"class":114,"line":4147},[112,10592,2800],{"class":146},[112,10594,3484],{"class":2386},[112,10596,2398],{"class":146},[112,10598,10599,10601,10603,10605,10607],{"class":114,"line":4156},[112,10600,3284],{"class":146},[112,10602,3168],{"class":2386},[112,10604,4163],{"class":146},[112,10606,3168],{"class":2386},[112,10608,2398],{"class":146},[112,10610,10611,10613,10615,10617,10619],{"class":114,"line":4170},[112,10612,3284],{"class":146},[112,10614,3506],{"class":2386},[112,10616,3185],{"class":146},[112,10618,3506],{"class":2386},[112,10620,2398],{"class":146},[112,10622,10623,10625,10627,10629,10631],{"class":114,"line":4183},[112,10624,3284],{"class":146},[112,10626,3519],{"class":2386},[112,10628,4190],{"class":146},[112,10630,3519],{"class":2386},[112,10632,2398],{"class":146},[112,10634,10635,10637,10639],{"class":114,"line":4197},[112,10636,3332],{"class":146},[112,10638,3484],{"class":2386},[112,10640,2398],{"class":146},[112,10642,10643,10645,10647],{"class":114,"line":4206},[112,10644,2840],{"class":146},[112,10646,3412],{"class":2386},[112,10648,2398],{"class":146},[112,10650,10651,10653,10655,10657,10659],{"class":114,"line":4215},[112,10652,2604],{"class":146},[112,10654,3548],{"class":2386},[112,10656,3551],{"class":146},[112,10658,3548],{"class":2386},[112,10660,2398],{"class":146},[112,10662,10663,10665,10667,10669,10671],{"class":114,"line":4228},[112,10664,2604],{"class":146},[112,10666,3701],{"class":2386},[112,10668,3704],{"class":146},[112,10670,3701],{"class":2386},[112,10672,2398],{"class":146},[112,10674,10675,10677,10679],{"class":114,"line":4241},[112,10676,2664],{"class":146},[112,10678,2406],{"class":2386},[112,10680,2398],{"class":146},[112,10682,10683,10685,10687,10689,10691],{"class":114,"line":4250},[112,10684,2430],{"class":146},[112,10686,3233],{"class":2386},[112,10688,3704],{"class":146},[112,10690,3233],{"class":2386},[112,10692,2398],{"class":146},[112,10694,10695,10697,10699,10701,10703],{"class":114,"line":4263},[112,10696,2430],{"class":146},[112,10698,3738],{"class":2386},[112,10700,3704],{"class":146},[112,10702,3738],{"class":2386},[112,10704,2398],{"class":146},[112,10706,10707,10709,10711],{"class":114,"line":4276},[112,10708,2501],{"class":146},[112,10710,2744],{"class":2386},[112,10712,2398],{"class":146},[112,10714,10715,10717,10719,10721,10723,10725],{"class":114,"line":4285},[112,10716,2420],{"class":146},[112,10718,2744],{"class":2386},[112,10720,2390],{"class":132},[112,10722,1697],{"class":146},[112,10724,4296],{"class":136},[112,10726,2398],{"class":146},[112,10728,10729,10731,10733,10736,10738],{"class":114,"line":4301},[112,10730,2430],{"class":146},[112,10732,3548],{"class":2386},[112,10734,10735],{"class":146},">-5.01336 -0.00029 0.500002 0 -4.2e-05 -0.005335\u003C/",[112,10737,3548],{"class":2386},[112,10739,2398],{"class":146},[112,10741,10742,10744,10746,10748,10750,10752],{"class":114,"line":4315},[112,10743,2430],{"class":146},[112,10745,2406],{"class":2386},[112,10747,2390],{"class":132},[112,10749,1697],{"class":146},[112,10751,3797],{"class":136},[112,10753,2398],{"class":146},[112,10755,10756,10758,10760],{"class":114,"line":4330},[112,10757,2604],{"class":146},[112,10759,2423],{"class":2386},[112,10761,2398],{"class":146},[112,10763,10764,10766,10768],{"class":114,"line":4339},[112,10765,2800],{"class":146},[112,10767,2451],{"class":2386},[112,10769,2398],{"class":146},[112,10771,10772,10774,10776,10778,10780],{"class":114,"line":4348},[112,10773,3284],{"class":146},[112,10775,2803],{"class":2386},[112,10777,3827],{"class":146},[112,10779,2803],{"class":2386},[112,10781,2398],{"class":146},[112,10783,10784,10786,10788,10790,10792],{"class":114,"line":4361},[112,10785,3284],{"class":146},[112,10787,3615],{"class":2386},[112,10789,3618],{"class":146},[112,10791,3615],{"class":2386},[112,10793,2398],{"class":146},[112,10795,10796,10798,10800,10802,10804],{"class":114,"line":4374},[112,10797,3284],{"class":146},[112,10799,3629],{"class":2386},[112,10801,3618],{"class":146},[112,10803,3629],{"class":2386},[112,10805,2398],{"class":146},[112,10807,10808,10810,10812,10814,10816],{"class":114,"line":4387},[112,10809,3284],{"class":146},[112,10811,2816],{"class":2386},[112,10813,3827],{"class":146},[112,10815,2816],{"class":2386},[112,10817,2398],{"class":146},[112,10819,10820,10822,10824,10826,10828],{"class":114,"line":4400},[112,10821,3284],{"class":146},[112,10823,3656],{"class":2386},[112,10825,3618],{"class":146},[112,10827,3656],{"class":2386},[112,10829,2398],{"class":146},[112,10831,10832,10834,10836,10838,10840],{"class":114,"line":4413},[112,10833,3284],{"class":146},[112,10835,2829],{"class":2386},[112,10837,3827],{"class":146},[112,10839,2829],{"class":2386},[112,10841,2398],{"class":146},[112,10843,10844,10846,10848],{"class":114,"line":4426},[112,10845,3332],{"class":146},[112,10847,2451],{"class":2386},[112,10849,2398],{"class":146},[112,10851,10852,10854,10856,10858,10860],{"class":114,"line":4435},[112,10853,2800],{"class":146},[112,10855,2433],{"class":2386},[112,10857,3584],{"class":146},[112,10859,2433],{"class":2386},[112,10861,2398],{"class":146},[112,10863,10864,10866,10868,10870,10872],{"class":114,"line":4448},[112,10865,2800],{"class":146},[112,10867,3548],{"class":2386},[112,10869,3551],{"class":146},[112,10871,3548],{"class":2386},[112,10873,2398],{"class":146},[112,10875,10876,10878,10880],{"class":114,"line":4461},[112,10877,2840],{"class":146},[112,10879,2423],{"class":2386},[112,10881,2398],{"class":146},[112,10883,10884,10886,10888,10890,10892,10894],{"class":114,"line":4470},[112,10885,2604],{"class":146},[112,10887,3261],{"class":2386},[112,10889,2390],{"class":132},[112,10891,1697],{"class":146},[112,10893,3954],{"class":136},[112,10895,2398],{"class":146},[112,10897,10898,10900,10902],{"class":114,"line":4485},[112,10899,2800],{"class":146},[112,10901,3277],{"class":2386},[112,10903,2398],{"class":146},[112,10905,10906,10908,10910],{"class":114,"line":4494},[112,10907,3284],{"class":146},[112,10909,3973],{"class":2386},[112,10911,2398],{"class":146},[112,10913,10914,10916,10918,10920,10922],{"class":114,"line":4503},[112,10915,3294],{"class":146},[112,10917,3311],{"class":2386},[112,10919,3985],{"class":146},[112,10921,3311],{"class":2386},[112,10923,2398],{"class":146},[112,10925,10926,10928,10930],{"class":114,"line":4516},[112,10927,3323],{"class":146},[112,10929,3973],{"class":2386},[112,10931,2398],{"class":146},[112,10933,10934,10936,10938],{"class":114,"line":4525},[112,10935,3332],{"class":146},[112,10937,3277],{"class":2386},[112,10939,2398],{"class":146},[112,10941,10942,10944,10946],{"class":114,"line":4534},[112,10943,2800],{"class":146},[112,10945,3343],{"class":2386},[112,10947,2398],{"class":146},[112,10949,10950,10952,10954],{"class":114,"line":4543},[112,10951,3284],{"class":146},[112,10953,3352],{"class":2386},[112,10955,2398],{"class":146},[112,10957,10958,10960,10962],{"class":114,"line":4552},[112,10959,3294],{"class":146},[112,10961,3361],{"class":2386},[112,10963,3042],{"class":146},[112,10965,10966,10968,10970],{"class":114,"line":4561},[112,10967,3323],{"class":146},[112,10969,3352],{"class":2386},[112,10971,2398],{"class":146},[112,10973,10974,10976,10978],{"class":114,"line":4570},[112,10975,3284],{"class":146},[112,10977,3378],{"class":2386},[112,10979,3042],{"class":146},[112,10981,10982,10984,10986],{"class":114,"line":4579},[112,10983,3284],{"class":146},[112,10985,3387],{"class":2386},[112,10987,3042],{"class":146},[112,10989,10990,10992,10994],{"class":114,"line":4588},[112,10991,3332],{"class":146},[112,10993,3343],{"class":2386},[112,10995,2398],{"class":146},[112,10997,10998,11000,11002],{"class":114,"line":4597},[112,10999,2840],{"class":146},[112,11001,3261],{"class":2386},[112,11003,2398],{"class":146},[112,11005,11006,11008,11010,11012,11014,11016],{"class":114,"line":4606},[112,11007,2604],{"class":146},[112,11009,3412],{"class":2386},[112,11011,2390],{"class":132},[112,11013,1697],{"class":146},[112,11015,4093],{"class":136},[112,11017,2398],{"class":146},[112,11019,11020,11022,11024],{"class":114,"line":4621},[112,11021,2800],{"class":146},[112,11023,3277],{"class":2386},[112,11025,2398],{"class":146},[112,11027,11028,11030,11032],{"class":114,"line":4630},[112,11029,3284],{"class":146},[112,11031,3973],{"class":2386},[112,11033,2398],{"class":146},[112,11035,11036,11038,11040,11042,11044],{"class":114,"line":4639},[112,11037,3294],{"class":146},[112,11039,3311],{"class":2386},[112,11041,3985],{"class":146},[112,11043,3311],{"class":2386},[112,11045,2398],{"class":146},[112,11047,11048,11050,11052],{"class":114,"line":4652},[112,11049,3323],{"class":146},[112,11051,3973],{"class":2386},[112,11053,2398],{"class":146},[112,11055,11056,11058,11060],{"class":114,"line":4661},[112,11057,3332],{"class":146},[112,11059,3277],{"class":2386},[112,11061,2398],{"class":146},[112,11063,11064,11066,11068],{"class":114,"line":4670},[112,11065,2800],{"class":146},[112,11067,3484],{"class":2386},[112,11069,2398],{"class":146},[112,11071,11072,11074,11076,11078,11080],{"class":114,"line":4679},[112,11073,3284],{"class":146},[112,11075,3168],{"class":2386},[112,11077,4163],{"class":146},[112,11079,3168],{"class":2386},[112,11081,2398],{"class":146},[112,11083,11084,11086,11088,11090,11092],{"class":114,"line":4692},[112,11085,3284],{"class":146},[112,11087,3506],{"class":2386},[112,11089,3185],{"class":146},[112,11091,3506],{"class":2386},[112,11093,2398],{"class":146},[112,11095,11096,11098,11100,11102,11104],{"class":114,"line":4705},[112,11097,3284],{"class":146},[112,11099,3519],{"class":2386},[112,11101,4190],{"class":146},[112,11103,3519],{"class":2386},[112,11105,2398],{"class":146},[112,11107,11108,11110,11112],{"class":114,"line":4718},[112,11109,3332],{"class":146},[112,11111,3484],{"class":2386},[112,11113,2398],{"class":146},[112,11115,11116,11118,11120],{"class":114,"line":4727},[112,11117,2840],{"class":146},[112,11119,3412],{"class":2386},[112,11121,2398],{"class":146},[112,11123,11124,11126,11128,11130,11132],{"class":114,"line":4736},[112,11125,2604],{"class":146},[112,11127,3548],{"class":2386},[112,11129,3551],{"class":146},[112,11131,3548],{"class":2386},[112,11133,2398],{"class":146},[112,11135,11136,11138,11140,11142,11144],{"class":114,"line":4749},[112,11137,2604],{"class":146},[112,11139,3701],{"class":2386},[112,11141,3704],{"class":146},[112,11143,3701],{"class":2386},[112,11145,2398],{"class":146},[112,11147,11148,11150,11152],{"class":114,"line":4762},[112,11149,2664],{"class":146},[112,11151,2406],{"class":2386},[112,11153,2398],{"class":146},[112,11155,11156,11158,11160,11162,11164],{"class":114,"line":4771},[112,11157,2430],{"class":146},[112,11159,3233],{"class":2386},[112,11161,3704],{"class":146},[112,11163,3233],{"class":2386},[112,11165,2398],{"class":146},[112,11167,11168,11170,11172,11174,11176],{"class":114,"line":4784},[112,11169,2430],{"class":146},[112,11171,3738],{"class":2386},[112,11173,3704],{"class":146},[112,11175,3738],{"class":2386},[112,11177,2398],{"class":146},[112,11179,11180,11182,11184],{"class":114,"line":4797},[112,11181,2501],{"class":146},[112,11183,2744],{"class":2386},[112,11185,2398],{"class":146},[112,11187,11188,11190,11192,11194,11196,11198],{"class":114,"line":4806},[112,11189,2420],{"class":146},[112,11191,2744],{"class":2386},[112,11193,2390],{"class":132},[112,11195,1697],{"class":146},[112,11197,4817],{"class":136},[112,11199,2398],{"class":146},[112,11201,11202,11204,11206,11209,11211],{"class":114,"line":4822},[112,11203,2430],{"class":146},[112,11205,3548],{"class":2386},[112,11207,11208],{"class":146},">-0 -2.5 0.5 1e-06 0 0\u003C/",[112,11210,3548],{"class":2386},[112,11212,2398],{"class":146},[112,11214,11215,11217,11219,11221,11223,11225],{"class":114,"line":4836},[112,11216,2430],{"class":146},[112,11218,2406],{"class":2386},[112,11220,2390],{"class":132},[112,11222,1697],{"class":146},[112,11224,3797],{"class":136},[112,11226,2398],{"class":146},[112,11228,11229,11231,11233],{"class":114,"line":4851},[112,11230,2604],{"class":146},[112,11232,2423],{"class":2386},[112,11234,2398],{"class":146},[112,11236,11237,11239,11241],{"class":114,"line":4860},[112,11238,2800],{"class":146},[112,11240,2451],{"class":2386},[112,11242,2398],{"class":146},[112,11244,11245,11247,11249,11251,11253],{"class":114,"line":4869},[112,11246,3284],{"class":146},[112,11248,2803],{"class":2386},[112,11250,3827],{"class":146},[112,11252,2803],{"class":2386},[112,11254,2398],{"class":146},[112,11256,11257,11259,11261,11263,11265],{"class":114,"line":4882},[112,11258,3284],{"class":146},[112,11260,3615],{"class":2386},[112,11262,3618],{"class":146},[112,11264,3615],{"class":2386},[112,11266,2398],{"class":146},[112,11268,11269,11271,11273,11275,11277],{"class":114,"line":4895},[112,11270,3284],{"class":146},[112,11272,3629],{"class":2386},[112,11274,3618],{"class":146},[112,11276,3629],{"class":2386},[112,11278,2398],{"class":146},[112,11280,11281,11283,11285,11287,11289],{"class":114,"line":4908},[112,11282,3284],{"class":146},[112,11284,2816],{"class":2386},[112,11286,3827],{"class":146},[112,11288,2816],{"class":2386},[112,11290,2398],{"class":146},[112,11292,11293,11295,11297,11299,11301],{"class":114,"line":4921},[112,11294,3284],{"class":146},[112,11296,3656],{"class":2386},[112,11298,3618],{"class":146},[112,11300,3656],{"class":2386},[112,11302,2398],{"class":146},[112,11304,11305,11307,11309,11311,11313],{"class":114,"line":4934},[112,11306,3284],{"class":146},[112,11308,2829],{"class":2386},[112,11310,3827],{"class":146},[112,11312,2829],{"class":2386},[112,11314,2398],{"class":146},[112,11316,11317,11319,11321],{"class":114,"line":4947},[112,11318,3332],{"class":146},[112,11320,2451],{"class":2386},[112,11322,2398],{"class":146},[112,11324,11325,11327,11329,11331,11333],{"class":114,"line":4956},[112,11326,2800],{"class":146},[112,11328,2433],{"class":2386},[112,11330,3584],{"class":146},[112,11332,2433],{"class":2386},[112,11334,2398],{"class":146},[112,11336,11337,11339,11341,11343,11345],{"class":114,"line":4969},[112,11338,2800],{"class":146},[112,11340,3548],{"class":2386},[112,11342,3551],{"class":146},[112,11344,3548],{"class":2386},[112,11346,2398],{"class":146},[112,11348,11349,11351,11353],{"class":114,"line":4982},[112,11350,2840],{"class":146},[112,11352,2423],{"class":2386},[112,11354,2398],{"class":146},[112,11356,11357,11359,11361,11363,11365,11367],{"class":114,"line":4991},[112,11358,2604],{"class":146},[112,11360,3261],{"class":2386},[112,11362,2390],{"class":132},[112,11364,1697],{"class":146},[112,11366,3954],{"class":136},[112,11368,2398],{"class":146},[112,11370,11371,11373,11375],{"class":114,"line":5006},[112,11372,2800],{"class":146},[112,11374,3277],{"class":2386},[112,11376,2398],{"class":146},[112,11378,11379,11381,11383],{"class":114,"line":5015},[112,11380,3284],{"class":146},[112,11382,3973],{"class":2386},[112,11384,2398],{"class":146},[112,11386,11387,11389,11391,11393,11395],{"class":114,"line":5024},[112,11388,3294],{"class":146},[112,11390,3311],{"class":2386},[112,11392,5031],{"class":146},[112,11394,3311],{"class":2386},[112,11396,2398],{"class":146},[112,11398,11399,11401,11403],{"class":114,"line":5038},[112,11400,3323],{"class":146},[112,11402,3973],{"class":2386},[112,11404,2398],{"class":146},[112,11406,11407,11409,11411],{"class":114,"line":5047},[112,11408,3332],{"class":146},[112,11410,3277],{"class":2386},[112,11412,2398],{"class":146},[112,11414,11415,11417,11419],{"class":114,"line":5056},[112,11416,2800],{"class":146},[112,11418,3343],{"class":2386},[112,11420,2398],{"class":146},[112,11422,11423,11425,11427],{"class":114,"line":5065},[112,11424,3284],{"class":146},[112,11426,3352],{"class":2386},[112,11428,2398],{"class":146},[112,11430,11431,11433,11435],{"class":114,"line":5074},[112,11432,3294],{"class":146},[112,11434,3361],{"class":2386},[112,11436,3042],{"class":146},[112,11438,11439,11441,11443],{"class":114,"line":5083},[112,11440,3323],{"class":146},[112,11442,3352],{"class":2386},[112,11444,2398],{"class":146},[112,11446,11447,11449,11451],{"class":114,"line":5092},[112,11448,3284],{"class":146},[112,11450,3378],{"class":2386},[112,11452,3042],{"class":146},[112,11454,11455,11457,11459],{"class":114,"line":5101},[112,11456,3284],{"class":146},[112,11458,3387],{"class":2386},[112,11460,3042],{"class":146},[112,11462,11463,11465,11467],{"class":114,"line":5110},[112,11464,3332],{"class":146},[112,11466,3343],{"class":2386},[112,11468,2398],{"class":146},[112,11470,11471,11473,11475],{"class":114,"line":5119},[112,11472,2840],{"class":146},[112,11474,3261],{"class":2386},[112,11476,2398],{"class":146},[112,11478,11479,11481,11483,11485,11487,11489],{"class":114,"line":5128},[112,11480,2604],{"class":146},[112,11482,3412],{"class":2386},[112,11484,2390],{"class":132},[112,11486,1697],{"class":146},[112,11488,4093],{"class":136},[112,11490,2398],{"class":146},[112,11492,11493,11495,11497],{"class":114,"line":5143},[112,11494,2800],{"class":146},[112,11496,3277],{"class":2386},[112,11498,2398],{"class":146},[112,11500,11501,11503,11505],{"class":114,"line":5152},[112,11502,3284],{"class":146},[112,11504,3973],{"class":2386},[112,11506,2398],{"class":146},[112,11508,11509,11511,11513,11515,11517],{"class":114,"line":5161},[112,11510,3294],{"class":146},[112,11512,3311],{"class":2386},[112,11514,5031],{"class":146},[112,11516,3311],{"class":2386},[112,11518,2398],{"class":146},[112,11520,11521,11523,11525],{"class":114,"line":5174},[112,11522,3323],{"class":146},[112,11524,3973],{"class":2386},[112,11526,2398],{"class":146},[112,11528,11529,11531,11533],{"class":114,"line":5183},[112,11530,3332],{"class":146},[112,11532,3277],{"class":2386},[112,11534,2398],{"class":146},[112,11536,11537,11539,11541],{"class":114,"line":5192},[112,11538,2800],{"class":146},[112,11540,3484],{"class":2386},[112,11542,2398],{"class":146},[112,11544,11545,11547,11549,11551,11553],{"class":114,"line":5201},[112,11546,3284],{"class":146},[112,11548,3168],{"class":2386},[112,11550,4163],{"class":146},[112,11552,3168],{"class":2386},[112,11554,2398],{"class":146},[112,11556,11557,11559,11561,11563,11565],{"class":114,"line":5214},[112,11558,3284],{"class":146},[112,11560,3506],{"class":2386},[112,11562,3185],{"class":146},[112,11564,3506],{"class":2386},[112,11566,2398],{"class":146},[112,11568,11569,11571,11573,11575,11577],{"class":114,"line":5227},[112,11570,3284],{"class":146},[112,11572,3519],{"class":2386},[112,11574,4190],{"class":146},[112,11576,3519],{"class":2386},[112,11578,2398],{"class":146},[112,11580,11581,11583,11585],{"class":114,"line":5240},[112,11582,3332],{"class":146},[112,11584,3484],{"class":2386},[112,11586,2398],{"class":146},[112,11588,11589,11591,11593],{"class":114,"line":5249},[112,11590,2840],{"class":146},[112,11592,3412],{"class":2386},[112,11594,2398],{"class":146},[112,11596,11597,11599,11601,11603,11605],{"class":114,"line":5258},[112,11598,2604],{"class":146},[112,11600,3548],{"class":2386},[112,11602,3551],{"class":146},[112,11604,3548],{"class":2386},[112,11606,2398],{"class":146},[112,11608,11609,11611,11613,11615,11617],{"class":114,"line":5271},[112,11610,2604],{"class":146},[112,11612,3701],{"class":2386},[112,11614,3704],{"class":146},[112,11616,3701],{"class":2386},[112,11618,2398],{"class":146},[112,11620,11621,11623,11625],{"class":114,"line":5284},[112,11622,2664],{"class":146},[112,11624,2406],{"class":2386},[112,11626,2398],{"class":146},[112,11628,11629,11631,11633,11635,11637],{"class":114,"line":5293},[112,11630,2430],{"class":146},[112,11632,3233],{"class":2386},[112,11634,3704],{"class":146},[112,11636,3233],{"class":2386},[112,11638,2398],{"class":146},[112,11640,11641,11643,11645,11647,11649],{"class":114,"line":5306},[112,11642,2430],{"class":146},[112,11644,3738],{"class":2386},[112,11646,3704],{"class":146},[112,11648,3738],{"class":2386},[112,11650,2398],{"class":146},[112,11652,11653,11655,11657],{"class":114,"line":5319},[112,11654,2501],{"class":146},[112,11656,2744],{"class":2386},[112,11658,2398],{"class":146},[112,11660,11661,11663,11665,11667,11669,11671],{"class":114,"line":5328},[112,11662,2420],{"class":146},[112,11664,2744],{"class":2386},[112,11666,2390],{"class":132},[112,11668,1697],{"class":146},[112,11670,5339],{"class":136},[112,11672,2398],{"class":146},[112,11674,11675,11677,11679,11682,11684],{"class":114,"line":5344},[112,11676,2430],{"class":146},[112,11678,3548],{"class":2386},[112,11680,11681],{"class":146},">-0.000154 2.52488 0.500821 -0.018068 -0 -0.003156\u003C/",[112,11683,3548],{"class":2386},[112,11685,2398],{"class":146},[112,11687,11688,11690,11692,11694,11696,11698],{"class":114,"line":5358},[112,11689,2430],{"class":146},[112,11691,2406],{"class":2386},[112,11693,2390],{"class":132},[112,11695,1697],{"class":146},[112,11697,3797],{"class":136},[112,11699,2398],{"class":146},[112,11701,11702,11704,11706],{"class":114,"line":5373},[112,11703,2604],{"class":146},[112,11705,2423],{"class":2386},[112,11707,2398],{"class":146},[112,11709,11710,11712,11714],{"class":114,"line":5382},[112,11711,2800],{"class":146},[112,11713,2451],{"class":2386},[112,11715,2398],{"class":146},[112,11717,11718,11720,11722,11724,11726],{"class":114,"line":5391},[112,11719,3284],{"class":146},[112,11721,2803],{"class":2386},[112,11723,3827],{"class":146},[112,11725,2803],{"class":2386},[112,11727,2398],{"class":146},[112,11729,11730,11732,11734,11736,11738],{"class":114,"line":5404},[112,11731,3284],{"class":146},[112,11733,3615],{"class":2386},[112,11735,3618],{"class":146},[112,11737,3615],{"class":2386},[112,11739,2398],{"class":146},[112,11741,11742,11744,11746,11748,11750],{"class":114,"line":5417},[112,11743,3284],{"class":146},[112,11745,3629],{"class":2386},[112,11747,3618],{"class":146},[112,11749,3629],{"class":2386},[112,11751,2398],{"class":146},[112,11753,11754,11756,11758,11760,11762],{"class":114,"line":5430},[112,11755,3284],{"class":146},[112,11757,2816],{"class":2386},[112,11759,3827],{"class":146},[112,11761,2816],{"class":2386},[112,11763,2398],{"class":146},[112,11765,11766,11768,11770,11772,11774],{"class":114,"line":5443},[112,11767,3284],{"class":146},[112,11769,3656],{"class":2386},[112,11771,3618],{"class":146},[112,11773,3656],{"class":2386},[112,11775,2398],{"class":146},[112,11777,11778,11780,11782,11784,11786],{"class":114,"line":5456},[112,11779,3284],{"class":146},[112,11781,2829],{"class":2386},[112,11783,3827],{"class":146},[112,11785,2829],{"class":2386},[112,11787,2398],{"class":146},[112,11789,11790,11792,11794],{"class":114,"line":5469},[112,11791,3332],{"class":146},[112,11793,2451],{"class":2386},[112,11795,2398],{"class":146},[112,11797,11798,11800,11802,11804,11806],{"class":114,"line":5478},[112,11799,2800],{"class":146},[112,11801,2433],{"class":2386},[112,11803,3584],{"class":146},[112,11805,2433],{"class":2386},[112,11807,2398],{"class":146},[112,11809,11810,11812,11814,11816,11818],{"class":114,"line":5491},[112,11811,2800],{"class":146},[112,11813,3548],{"class":2386},[112,11815,3551],{"class":146},[112,11817,3548],{"class":2386},[112,11819,2398],{"class":146},[112,11821,11822,11824,11826],{"class":114,"line":5504},[112,11823,2840],{"class":146},[112,11825,2423],{"class":2386},[112,11827,2398],{"class":146},[112,11829,11830,11832,11834,11836,11838,11840],{"class":114,"line":5513},[112,11831,2604],{"class":146},[112,11833,3261],{"class":2386},[112,11835,2390],{"class":132},[112,11837,1697],{"class":146},[112,11839,3954],{"class":136},[112,11841,2398],{"class":146},[112,11843,11844,11846,11848],{"class":114,"line":5528},[112,11845,2800],{"class":146},[112,11847,3277],{"class":2386},[112,11849,2398],{"class":146},[112,11851,11852,11854,11856],{"class":114,"line":5537},[112,11853,3284],{"class":146},[112,11855,3973],{"class":2386},[112,11857,2398],{"class":146},[112,11859,11860,11862,11864,11866,11868],{"class":114,"line":5546},[112,11861,3294],{"class":146},[112,11863,3311],{"class":2386},[112,11865,5031],{"class":146},[112,11867,3311],{"class":2386},[112,11869,2398],{"class":146},[112,11871,11872,11874,11876],{"class":114,"line":5559},[112,11873,3323],{"class":146},[112,11875,3973],{"class":2386},[112,11877,2398],{"class":146},[112,11879,11880,11882,11884],{"class":114,"line":5568},[112,11881,3332],{"class":146},[112,11883,3277],{"class":2386},[112,11885,2398],{"class":146},[112,11887,11888,11890,11892],{"class":114,"line":5577},[112,11889,2800],{"class":146},[112,11891,3343],{"class":2386},[112,11893,2398],{"class":146},[112,11895,11896,11898,11900],{"class":114,"line":5586},[112,11897,3284],{"class":146},[112,11899,3352],{"class":2386},[112,11901,2398],{"class":146},[112,11903,11904,11906,11908],{"class":114,"line":5595},[112,11905,3294],{"class":146},[112,11907,3361],{"class":2386},[112,11909,3042],{"class":146},[112,11911,11912,11914,11916],{"class":114,"line":5604},[112,11913,3323],{"class":146},[112,11915,3352],{"class":2386},[112,11917,2398],{"class":146},[112,11919,11920,11922,11924],{"class":114,"line":5613},[112,11921,3284],{"class":146},[112,11923,3378],{"class":2386},[112,11925,3042],{"class":146},[112,11927,11928,11930,11932],{"class":114,"line":5622},[112,11929,3284],{"class":146},[112,11931,3387],{"class":2386},[112,11933,3042],{"class":146},[112,11935,11936,11938,11940],{"class":114,"line":5631},[112,11937,3332],{"class":146},[112,11939,3343],{"class":2386},[112,11941,2398],{"class":146},[112,11943,11944,11946,11948],{"class":114,"line":5640},[112,11945,2840],{"class":146},[112,11947,3261],{"class":2386},[112,11949,2398],{"class":146},[112,11951,11952,11954,11956,11958,11960,11962],{"class":114,"line":5649},[112,11953,2604],{"class":146},[112,11955,3412],{"class":2386},[112,11957,2390],{"class":132},[112,11959,1697],{"class":146},[112,11961,4093],{"class":136},[112,11963,2398],{"class":146},[112,11965,11966,11968,11970],{"class":114,"line":5664},[112,11967,2800],{"class":146},[112,11969,3277],{"class":2386},[112,11971,2398],{"class":146},[112,11973,11974,11976,11978],{"class":114,"line":5673},[112,11975,3284],{"class":146},[112,11977,3973],{"class":2386},[112,11979,2398],{"class":146},[112,11981,11982,11984,11986,11988,11990],{"class":114,"line":5682},[112,11983,3294],{"class":146},[112,11985,3311],{"class":2386},[112,11987,5031],{"class":146},[112,11989,3311],{"class":2386},[112,11991,2398],{"class":146},[112,11993,11994,11996,11998],{"class":114,"line":5695},[112,11995,3323],{"class":146},[112,11997,3973],{"class":2386},[112,11999,2398],{"class":146},[112,12001,12002,12004,12006],{"class":114,"line":5704},[112,12003,3332],{"class":146},[112,12005,3277],{"class":2386},[112,12007,2398],{"class":146},[112,12009,12010,12012,12014],{"class":114,"line":5713},[112,12011,2800],{"class":146},[112,12013,3484],{"class":2386},[112,12015,2398],{"class":146},[112,12017,12018,12020,12022,12024,12026],{"class":114,"line":5722},[112,12019,3284],{"class":146},[112,12021,3168],{"class":2386},[112,12023,4163],{"class":146},[112,12025,3168],{"class":2386},[112,12027,2398],{"class":146},[112,12029,12030,12032,12034,12036,12038],{"class":114,"line":5735},[112,12031,3284],{"class":146},[112,12033,3506],{"class":2386},[112,12035,3185],{"class":146},[112,12037,3506],{"class":2386},[112,12039,2398],{"class":146},[112,12041,12042,12044,12046,12048,12050],{"class":114,"line":5748},[112,12043,3284],{"class":146},[112,12045,3519],{"class":2386},[112,12047,4190],{"class":146},[112,12049,3519],{"class":2386},[112,12051,2398],{"class":146},[112,12053,12054,12056,12058],{"class":114,"line":5761},[112,12055,3332],{"class":146},[112,12057,3484],{"class":2386},[112,12059,2398],{"class":146},[112,12061,12062,12064,12066],{"class":114,"line":5770},[112,12063,2840],{"class":146},[112,12065,3412],{"class":2386},[112,12067,2398],{"class":146},[112,12069,12070,12072,12074,12076,12078],{"class":114,"line":5779},[112,12071,2604],{"class":146},[112,12073,3548],{"class":2386},[112,12075,3551],{"class":146},[112,12077,3548],{"class":2386},[112,12079,2398],{"class":146},[112,12081,12082,12084,12086,12088,12090],{"class":114,"line":5792},[112,12083,2604],{"class":146},[112,12085,3701],{"class":2386},[112,12087,3704],{"class":146},[112,12089,3701],{"class":2386},[112,12091,2398],{"class":146},[112,12093,12094,12096,12098],{"class":114,"line":5805},[112,12095,2664],{"class":146},[112,12097,2406],{"class":2386},[112,12099,2398],{"class":146},[112,12101,12102,12104,12106,12108,12110],{"class":114,"line":5814},[112,12103,2430],{"class":146},[112,12105,3233],{"class":2386},[112,12107,3704],{"class":146},[112,12109,3233],{"class":2386},[112,12111,2398],{"class":146},[112,12113,12114,12116,12118,12120,12122],{"class":114,"line":5827},[112,12115,2430],{"class":146},[112,12117,3738],{"class":2386},[112,12119,3704],{"class":146},[112,12121,3738],{"class":2386},[112,12123,2398],{"class":146},[112,12125,12126,12128,12130],{"class":114,"line":5840},[112,12127,2501],{"class":146},[112,12129,2744],{"class":2386},[112,12131,2398],{"class":146},[112,12133,12134,12136,12139],{"class":114,"line":5849},[112,12135,2420],{"class":146},[112,12137,12138],{"class":2386},"include",[112,12140,2398],{"class":146},[112,12142,12143,12145,12148,12151,12153],{"class":114,"line":5873},[112,12144,2430],{"class":146},[112,12146,12147],{"class":2386},"uri",[112,12149,12150],{"class":146},">file://Bed\u003C/",[112,12152,12147],{"class":2386},[112,12154,2398],{"class":146},[112,12156,12157,12159,12161,12164,12166],{"class":114,"line":5887},[112,12158,2430],{"class":146},[112,12160,6134],{"class":2386},[112,12162,12163],{"class":146},">Bed\u003C/",[112,12165,6134],{"class":2386},[112,12167,2398],{"class":146},[112,12169,12170,12172,12174,12177,12179],{"class":114,"line":5901},[112,12171,2430],{"class":146},[112,12173,3548],{"class":2386},[112,12175,12176],{"class":146},">2.82155 1.18752 0 0 -0 0\u003C/",[112,12178,3548],{"class":2386},[112,12180,2398],{"class":146},[112,12182,12183,12185,12187],{"class":114,"line":5915},[112,12184,2501],{"class":146},[112,12186,12138],{"class":2386},[112,12188,2398],{"class":146},[112,12190,12191,12193,12195],{"class":114,"line":5930},[112,12192,2420],{"class":146},[112,12194,12138],{"class":2386},[112,12196,2398],{"class":146},[112,12198,12199,12201,12203,12206,12208],{"class":114,"line":5943},[112,12200,2430],{"class":146},[112,12202,12147],{"class":2386},[112,12204,12205],{"class":146},">file://Office Desk\u003C/",[112,12207,12147],{"class":2386},[112,12209,2398],{"class":146},[112,12211,12212,12214,12216,12219,12221],{"class":114,"line":5957},[112,12213,2430],{"class":146},[112,12215,6134],{"class":2386},[112,12217,12218],{"class":146},">Desk\u003C/",[112,12220,6134],{"class":2386},[112,12222,2398],{"class":146},[112,12224,12225,12227,12229,12232,12234],{"class":114,"line":5967},[112,12226,2430],{"class":146},[112,12228,3548],{"class":2386},[112,12230,12231],{"class":146},">2.78306 -1.97796 0 0 -0 1.57\u003C/",[112,12233,3548],{"class":2386},[112,12235,2398],{"class":146},[112,12237,12238,12240,12242],{"class":114,"line":5981},[112,12239,2501],{"class":146},[112,12241,12138],{"class":2386},[112,12243,2398],{"class":146},[112,12245,12246,12248,12250],{"class":114,"line":5996},[112,12247,2420],{"class":146},[112,12249,12138],{"class":2386},[112,12251,2398],{"class":146},[112,12253,12254,12256,12258,12261,12263],{"class":114,"line":6011},[112,12255,2430],{"class":146},[112,12257,12147],{"class":2386},[112,12259,12260],{"class":146},">file://Bathtub\u003C/",[112,12262,12147],{"class":2386},[112,12264,2398],{"class":146},[112,12266,12267,12269,12271,12274,12276],{"class":114,"line":6025},[112,12268,2430],{"class":146},[112,12270,6134],{"class":2386},[112,12272,12273],{"class":146},">Bathtub\u003C/",[112,12275,6134],{"class":2386},[112,12277,2398],{"class":146},[112,12279,12280,12282,12284,12287,12289],{"class":114,"line":6034},[112,12281,2430],{"class":146},[112,12283,3548],{"class":2386},[112,12285,12286],{"class":146},">-3.87509 1.82783 0 0 -0 0\u003C/",[112,12288,3548],{"class":2386},[112,12290,2398],{"class":146},[112,12292,12293,12295,12297],{"class":114,"line":6044},[112,12294,2501],{"class":146},[112,12296,12138],{"class":2386},[112,12298,2398],{"class":146},[112,12300,12301,12303,12305],{"class":114,"line":6058},[112,12302,2420],{"class":146},[112,12304,12138],{"class":2386},[112,12306,2398],{"class":146},[112,12308,12309,12311,12313,12316,12318],{"class":114,"line":6072},[112,12310,2430],{"class":146},[112,12312,12147],{"class":2386},[112,12314,12315],{"class":146},">file://Vanity\u003C/",[112,12317,12147],{"class":2386},[112,12319,2398],{"class":146},[112,12321,12322,12324,12326,12329,12331],{"class":114,"line":6086},[112,12323,2430],{"class":146},[112,12325,6134],{"class":2386},[112,12327,12328],{"class":146},">Vanity\u003C/",[112,12330,6134],{"class":2386},[112,12332,2398],{"class":146},[112,12334,12335,12337,12339,12342,12344],{"class":114,"line":6095},[112,12336,2430],{"class":146},[112,12338,3548],{"class":2386},[112,12340,12341],{"class":146},">-2.5974 1.85613 -0.010992 0.021648 0 -1.57\u003C/",[112,12343,3548],{"class":2386},[112,12345,2398],{"class":146},[112,12347,12348,12350,12352],{"class":114,"line":6104},[112,12349,2501],{"class":146},[112,12351,12138],{"class":2386},[112,12353,2398],{"class":146},[112,12355,12356,12358,12360],{"class":114,"line":6113},[112,12357,2420],{"class":146},[112,12359,12138],{"class":2386},[112,12361,2398],{"class":146},[112,12363,12365,12367,12369,12371,12373],{"class":114,"line":12364},278,[112,12366,2430],{"class":146},[112,12368,12147],{"class":2386},[112,12370,12315],{"class":146},[112,12372,12147],{"class":2386},[112,12374,2398],{"class":146},[112,12376,12378,12380,12382,12385,12387],{"class":114,"line":12377},279,[112,12379,2430],{"class":146},[112,12381,6134],{"class":2386},[112,12383,12384],{"class":146},">Vanity_1\u003C/",[112,12386,6134],{"class":2386},[112,12388,2398],{"class":146},[112,12390,12392,12394,12396,12399,12401],{"class":114,"line":12391},280,[112,12393,2430],{"class":146},[112,12395,3548],{"class":2386},[112,12397,12398],{"class":146},">-2.5974 0.634325 -0.010992 0.021648 0 -1.57\u003C/",[112,12400,3548],{"class":2386},[112,12402,2398],{"class":146},[112,12404,12406,12408,12410],{"class":114,"line":12405},281,[112,12407,2501],{"class":146},[112,12409,12138],{"class":2386},[112,12411,2398],{"class":146},[112,12413,12415,12417,12419],{"class":114,"line":12414},282,[112,12416,2420],{"class":146},[112,12418,12138],{"class":2386},[112,12420,2398],{"class":146},[112,12422,12424,12426,12428,12431,12433],{"class":114,"line":12423},283,[112,12425,2430],{"class":146},[112,12427,12147],{"class":2386},[112,12429,12430],{"class":146},">file://Dining Table\u003C/",[112,12432,12147],{"class":2386},[112,12434,2398],{"class":146},[112,12436,12438,12440,12442,12445,12447],{"class":114,"line":12437},284,[112,12439,2430],{"class":146},[112,12441,6134],{"class":2386},[112,12443,12444],{"class":146},">DiningTable\u003C/",[112,12446,6134],{"class":2386},[112,12448,2398],{"class":146},[112,12450,12452,12454,12456,12459,12461],{"class":114,"line":12451},285,[112,12453,2430],{"class":146},[112,12455,3548],{"class":2386},[112,12457,12458],{"class":146},">-0.374337 1.33602 0 0 0 -1.57\u003C/",[112,12460,3548],{"class":2386},[112,12462,2398],{"class":146},[112,12464,12466,12468,12470],{"class":114,"line":12465},286,[112,12467,2501],{"class":146},[112,12469,12138],{"class":2386},[112,12471,2398],{"class":146},[112,12473,12475,12477,12479],{"class":114,"line":12474},287,[112,12476,2420],{"class":146},[112,12478,12138],{"class":2386},[112,12480,2398],{"class":146},[112,12482,12484,12486,12488,12491,12493],{"class":114,"line":12483},288,[112,12485,2430],{"class":146},[112,12487,12147],{"class":2386},[112,12489,12490],{"class":146},">file://Chair\u003C/",[112,12492,12147],{"class":2386},[112,12494,2398],{"class":146},[112,12496,12498,12500,12502,12505,12507],{"class":114,"line":12497},289,[112,12499,2430],{"class":146},[112,12501,6134],{"class":2386},[112,12503,12504],{"class":146},">Chair\u003C/",[112,12506,6134],{"class":2386},[112,12508,2398],{"class":146},[112,12510,12512,12514,12516,12519,12521],{"class":114,"line":12511},290,[112,12513,2430],{"class":146},[112,12515,3548],{"class":2386},[112,12517,12518],{"class":146},">2.79762 -1.26474 -0 -0 0 -2.3062\u003C/",[112,12520,3548],{"class":2386},[112,12522,2398],{"class":146},[112,12524,12526,12528,12530],{"class":114,"line":12525},291,[112,12527,2501],{"class":146},[112,12529,12138],{"class":2386},[112,12531,2398],{"class":146},[112,12533,12535,12537,12539],{"class":114,"line":12534},292,[112,12536,2420],{"class":146},[112,12538,12138],{"class":2386},[112,12540,2398],{"class":146},[112,12542,12544,12546,12548,12551,12553],{"class":114,"line":12543},293,[112,12545,2430],{"class":146},[112,12547,12147],{"class":2386},[112,12549,12550],{"class":146},">file://Sofa\u003C/",[112,12552,12147],{"class":2386},[112,12554,2398],{"class":146},[112,12556,12558,12560,12562,12565,12567],{"class":114,"line":12557},294,[112,12559,2430],{"class":146},[112,12561,6134],{"class":2386},[112,12563,12564],{"class":146},">Sofa\u003C/",[112,12566,6134],{"class":2386},[112,12568,2398],{"class":146},[112,12570,12572,12574,12576,12579,12581],{"class":114,"line":12571},295,[112,12573,2430],{"class":146},[112,12575,3548],{"class":2386},[112,12577,12578],{"class":146},">-0.546136 -1.92328 0.000119 -0 0 1.57\u003C/",[112,12580,3548],{"class":2386},[112,12582,2398],{"class":146},[112,12584,12586,12588,12590],{"class":114,"line":12585},296,[112,12587,2501],{"class":146},[112,12589,12138],{"class":2386},[112,12591,2398],{"class":146},[112,12593,12595,12597,12599,12601,12603,12605,12607,12609,12611],{"class":114,"line":12594},297,[112,12596,2420],{"class":146},[112,12598,5854],{"class":2386},[112,12600,2390],{"class":132},[112,12602,1697],{"class":146},[112,12604,5861],{"class":136},[112,12606,2960],{"class":132},[112,12608,1697],{"class":146},[112,12610,5868],{"class":136},[112,12612,2398],{"class":146},[112,12614,12616,12618,12620,12622,12624],{"class":114,"line":12615},298,[112,12617,2430],{"class":146},[112,12619,3548],{"class":2386},[112,12621,5880],{"class":146},[112,12623,3548],{"class":2386},[112,12625,2398],{"class":146},[112,12627,12629,12631,12633,12635,12637],{"class":114,"line":12628},299,[112,12630,2430],{"class":146},[112,12632,5892],{"class":2386},[112,12634,3199],{"class":146},[112,12636,5892],{"class":2386},[112,12638,2398],{"class":146},[112,12640,12642,12644,12646,12648,12650],{"class":114,"line":12641},300,[112,12643,2430],{"class":146},[112,12645,5906],{"class":2386},[112,12647,2991],{"class":146},[112,12649,5906],{"class":2386},[112,12651,2398],{"class":146},[112,12653,12655,12657,12659,12661,12663],{"class":114,"line":12654},301,[112,12656,2430],{"class":146},[112,12658,5920],{"class":2386},[112,12660,5923],{"class":146},[112,12662,5920],{"class":2386},[112,12664,2398],{"class":146},[112,12666,12668,12670,12672,12674,12676],{"class":114,"line":12667},302,[112,12669,2430],{"class":146},[112,12671,3506],{"class":2386},[112,12673,3495],{"class":146},[112,12675,3506],{"class":2386},[112,12677,2398],{"class":146},[112,12679,12681,12683,12685,12687,12689],{"class":114,"line":12680},303,[112,12682,2430],{"class":146},[112,12684,3519],{"class":2386},[112,12686,5950],{"class":146},[112,12688,3519],{"class":2386},[112,12690,2398],{"class":146},[112,12692,12694,12696,12698],{"class":114,"line":12693},304,[112,12695,2430],{"class":146},[112,12697,5962],{"class":2386},[112,12699,2398],{"class":146},[112,12701,12703,12705,12707,12709,12711],{"class":114,"line":12702},305,[112,12704,2604],{"class":146},[112,12706,5972],{"class":2386},[112,12708,3005],{"class":146},[112,12710,5972],{"class":2386},[112,12712,2398],{"class":146},[112,12714,12716,12718,12720,12722,12724],{"class":114,"line":12715},306,[112,12717,2604],{"class":146},[112,12719,5986],{"class":2386},[112,12721,5989],{"class":146},[112,12723,5986],{"class":2386},[112,12725,2398],{"class":146},[112,12727,12729,12731,12733,12735,12737],{"class":114,"line":12728},307,[112,12730,2604],{"class":146},[112,12732,6001],{"class":2386},[112,12734,6004],{"class":146},[112,12736,6001],{"class":2386},[112,12738,2398],{"class":146},[112,12740,12742,12744,12746,12748,12750],{"class":114,"line":12741},308,[112,12743,2604],{"class":146},[112,12745,6016],{"class":2386},[112,12747,2977],{"class":146},[112,12749,6016],{"class":2386},[112,12751,2398],{"class":146},[112,12753,12755,12757,12759],{"class":114,"line":12754},309,[112,12756,2664],{"class":146},[112,12758,5962],{"class":2386},[112,12760,2398],{"class":146},[112,12762,12764,12766,12768],{"class":114,"line":12763},310,[112,12765,2430],{"class":146},[112,12767,6039],{"class":2386},[112,12769,2398],{"class":146},[112,12771,12773,12775,12777,12779,12781],{"class":114,"line":12772},311,[112,12774,2604],{"class":146},[112,12776,6049],{"class":2386},[112,12778,3618],{"class":146},[112,12780,6049],{"class":2386},[112,12782,2398],{"class":146},[112,12784,12786,12788,12790,12792,12794],{"class":114,"line":12785},312,[112,12787,2604],{"class":146},[112,12789,6063],{"class":2386},[112,12791,3618],{"class":146},[112,12793,6063],{"class":2386},[112,12795,2398],{"class":146},[112,12797,12799,12801,12803,12805,12807],{"class":114,"line":12798},313,[112,12800,2604],{"class":146},[112,12802,6077],{"class":2386},[112,12804,3618],{"class":146},[112,12806,6077],{"class":2386},[112,12808,2398],{"class":146},[112,12810,12812,12814,12816],{"class":114,"line":12811},314,[112,12813,2664],{"class":146},[112,12815,6039],{"class":2386},[112,12817,2398],{"class":146},[112,12819,12821,12823,12825],{"class":114,"line":12820},315,[112,12822,2501],{"class":146},[112,12824,5854],{"class":2386},[112,12826,2398],{"class":146},[112,12828,12830,12832,12834],{"class":114,"line":12829},316,[112,12831,2510],{"class":146},[112,12833,2934],{"class":2386},[112,12835,2398],{"class":146},[112,12837,12839,12841,12843],{"class":114,"line":12838},317,[112,12840,2519],{"class":146},[112,12842,2727],{"class":2386},[112,12844,2398],{"class":146},[15,12846,12847],{},[50,12848,2175],{},[15,12850,2178],{},[102,12852,12853],{"className":104,"code":2181,"language":106,"meta":107,"style":107},[109,12854,12855],{"__ignoreMap":107},[112,12856,12857,12859,12861,12863],{"class":114,"line":115},[112,12858,2188],{"class":132},[112,12860,2191],{"class":136},[112,12862,2194],{"class":576},[112,12864,1432],{"class":136},[15,12866,12867],{},[50,12868,2206],{},[15,12870,2209],{},[102,12872,12873],{"className":104,"code":9320,"language":106,"meta":107,"style":107},[109,12874,12875,12881],{"__ignoreMap":107},[112,12876,12877,12879],{"class":114,"line":115},[112,12878,2219],{"class":576},[112,12880,2222],{"class":136},[112,12882,12883,12885,12887,12889],{"class":114,"line":122},[112,12884,263],{"class":132},[112,12886,266],{"class":136},[112,12888,2231],{"class":136},[112,12890,9339],{"class":136},[15,12892,9342],{},[15,12894,12895],{},[200,12896],{"alt":107,"src":12897},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1732.webp",[27,12899,12901],{"id":12900},"igng添加机器人","IgnG添加机器人",[15,12903,12904],{},"Ignition Gazebo中可以直接创建机器人模型，或者也可以加载ROS2中URDF格式的机器人模型，此处我们使用后者（也可以选择用自己的urdf小车，但是注意修改launch的路径）。",[15,12906,12907],{},"我没有用赵虚左老师的mycar_description，用的自己的小车模型，后面的一系列源码都在下方这个Github仓库中，需要的可以自行clone.",[15,12909,12910],{},[55,12911,12914],{"href":12912,"rel":12913},"https://github.com/tungchiahui/ROS2%5C_WS/tree/main/6.ws%5C_simulations",[59],"https://github.com/tungchiahui/ROS2\\_WS/tree/main/6.ws\\_simulations",[15,12916,12917],{},[50,12918,12919],{},"准备机器人模型功能包",[15,12921,12922],{},"复制机器人描述功能包mycar_description到工作空间的src目录，ign_models中新建mycar_description目录，并将功能包mycar_description下的mesh目录复制进ign_models中的mycar_description目录。",[15,12924,12925],{},[50,12926,12927],{},"机器人模型功能包下新建launch文件",[15,12929,12930],{},"新建launch文件mycar_desc_sim.launch.py，并输入如下内容：",[102,12932,12934],{"className":1547,"code":12933,"language":1549,"meta":107,"style":107},"from launch import LaunchDescription\nfrom launch_ros.actions import Node\nimport os\nfrom ament_index_python.packages import get_package_share_directory\nfrom launch_ros.parameter_descriptions import ParameterValue\nfrom launch.substitutions import Command,LaunchConfiguration\nfrom launch.actions import DeclareLaunchArgument\n\n#示例： ros2 launch cpp06_urdf display.launch.py model:=`ros2 pkg prefix --share cpp06_urdf`/urdf/urdf/demo01_helloworld.urdf\ndef generate_launch_description():\n\n    MYCAR_MODEL = os.environ['MYCAR_MODEL']\n\n    mycar_description = get_package_share_directory(\"mycar_description\")\n    default_model_path = os.path.join(mycar_description,\"urdf\",MYCAR_MODEL + \".urdf\")\n    model = DeclareLaunchArgument(name=\"model\", default_value=default_model_path)\n\n    # 加载机器人模型\n\n    # 启动 robot_state_publisher 节点并以参数方式加载 urdf 文件\n    robot_description = ParameterValue(Command([\"xacro \",LaunchConfiguration(\"model\")]))\n    robot_state_publisher = Node(\n        package=\"robot_state_publisher\",\n        executable=\"robot_state_publisher\",\n        parameters=[{\"robot_description\": robot_description}]\n    )\n\n    return LaunchDescription([\n        model,\n        robot_state_publisher,\n    ])\n",[109,12935,12936,12946,12956,12962,12972,12984,12995,13005,13009,13014,13022,13026,13043,13047,13061,13086,13112,13116,13121,13125,13130,13151,13160,13171,13181,13195,13199,13203,13209,13214,13219],{"__ignoreMap":107},[112,12937,12938,12940,12942,12944],{"class":114,"line":115},[112,12939,1568],{"class":765},[112,12941,1587],{"class":146},[112,12943,1556],{"class":765},[112,12945,1592],{"class":146},[112,12947,12948,12950,12952,12954],{"class":114,"line":122},[112,12949,1568],{"class":765},[112,12951,1662],{"class":146},[112,12953,1556],{"class":765},[112,12955,1667],{"class":146},[112,12957,12958,12960],{"class":114,"line":129},[112,12959,1556],{"class":765},[112,12961,1559],{"class":146},[112,12963,12964,12966,12968,12970],{"class":114,"line":153},[112,12965,1568],{"class":765},[112,12967,1571],{"class":146},[112,12969,1556],{"class":765},[112,12971,1576],{"class":146},[112,12973,12974,12976,12979,12981],{"class":114,"line":158},[112,12975,1568],{"class":765},[112,12977,12978],{"class":146}," launch_ros.parameter_descriptions ",[112,12980,1556],{"class":765},[112,12982,12983],{"class":146}," ParameterValue\n",[112,12985,12986,12988,12990,12992],{"class":114,"line":164},[112,12987,1568],{"class":765},[112,12989,1646],{"class":146},[112,12991,1556],{"class":765},[112,12993,12994],{"class":146}," Command,LaunchConfiguration\n",[112,12996,12997,12999,13001,13003],{"class":114,"line":176},[112,12998,1568],{"class":765},[112,13000,1599],{"class":146},[112,13002,1556],{"class":765},[112,13004,1604],{"class":146},[112,13006,13007],{"class":114,"line":181},[112,13008,119],{"emptyLinePlaceholder":118},[112,13010,13011],{"class":114,"line":187},[112,13012,13013],{"class":125},"#示例： ros2 launch cpp06_urdf display.launch.py model:=`ros2 pkg prefix --share cpp06_urdf`/urdf/urdf/demo01_helloworld.urdf\n",[112,13015,13016,13018,13020],{"class":114,"line":434},[112,13017,1677],{"class":765},[112,13019,1680],{"class":132},[112,13021,1683],{"class":146},[112,13023,13024],{"class":114,"line":440},[112,13025,119],{"emptyLinePlaceholder":118},[112,13027,13028,13031,13034,13037,13040],{"class":114,"line":446},[112,13029,13030],{"class":576},"    MYCAR_MODEL",[112,13032,13033],{"class":765}," =",[112,13035,13036],{"class":146}," os.environ[",[112,13038,13039],{"class":136},"'MYCAR_MODEL'",[112,13041,13042],{"class":146},"]\n",[112,13044,13045],{"class":114,"line":452},[112,13046,119],{"emptyLinePlaceholder":118},[112,13048,13049,13052,13054,13056,13059],{"class":114,"line":1674},[112,13050,13051],{"class":146},"    mycar_description ",[112,13053,1697],{"class":765},[112,13055,1700],{"class":146},[112,13057,13058],{"class":136},"\"mycar_description\"",[112,13060,1466],{"class":146},[112,13062,13063,13066,13068,13071,13074,13076,13079,13081,13084],{"class":114,"line":1686},[112,13064,13065],{"class":146},"    default_model_path ",[112,13067,1697],{"class":765},[112,13069,13070],{"class":146}," os.path.join(mycar_description,",[112,13072,13073],{"class":136},"\"urdf\"",[112,13075,1737],{"class":146},[112,13077,13078],{"class":576},"MYCAR_MODEL",[112,13080,1809],{"class":765},[112,13082,13083],{"class":136}," \".urdf\"",[112,13085,1466],{"class":146},[112,13087,13088,13091,13093,13096,13098,13100,13103,13105,13107,13109],{"class":114,"line":1691},[112,13089,13090],{"class":146},"    model ",[112,13092,1697],{"class":765},[112,13094,13095],{"class":146}," DeclareLaunchArgument(",[112,13097,6134],{"class":1788},[112,13099,1697],{"class":765},[112,13101,13102],{"class":136},"\"model\"",[112,13104,1776],{"class":146},[112,13106,2124],{"class":1788},[112,13108,1697],{"class":765},[112,13110,13111],{"class":146},"default_model_path)\n",[112,13113,13114],{"class":114,"line":1708},[112,13115,119],{"emptyLinePlaceholder":118},[112,13117,13118],{"class":114,"line":1723},[112,13119,13120],{"class":125},"    # 加载机器人模型\n",[112,13122,13123],{"class":114,"line":1745},[112,13124,119],{"emptyLinePlaceholder":118},[112,13126,13127],{"class":114,"line":1750},[112,13128,13129],{"class":125},"    # 启动 robot_state_publisher 节点并以参数方式加载 urdf 文件\n",[112,13131,13132,13135,13137,13140,13143,13146,13148],{"class":114,"line":1761},[112,13133,13134],{"class":146},"    robot_description ",[112,13136,1697],{"class":765},[112,13138,13139],{"class":146}," ParameterValue(Command([",[112,13141,13142],{"class":136},"\"xacro \"",[112,13144,13145],{"class":146},",LaunchConfiguration(",[112,13147,13102],{"class":136},[112,13149,13150],{"class":146},")]))\n",[112,13152,13153,13156,13158],{"class":114,"line":1767},[112,13154,13155],{"class":146},"    robot_state_publisher ",[112,13157,1697],{"class":765},[112,13159,1846],{"class":146},[112,13161,13162,13164,13166,13169],{"class":114,"line":1785},[112,13163,1947],{"class":1788},[112,13165,1697],{"class":765},[112,13167,13168],{"class":136},"\"robot_state_publisher\"",[112,13170,1860],{"class":146},[112,13172,13173,13175,13177,13179],{"class":114,"line":1797},[112,13174,1960],{"class":1788},[112,13176,1697],{"class":765},[112,13178,13168],{"class":136},[112,13180,1860],{"class":146},[112,13182,13183,13185,13187,13189,13192],{"class":114,"line":1815},[112,13184,2010],{"class":1788},[112,13186,1697],{"class":765},[112,13188,2015],{"class":146},[112,13190,13191],{"class":136},"\"robot_description\"",[112,13193,13194],{"class":146},": robot_description}]\n",[112,13196,13197],{"class":114,"line":1821},[112,13198,1824],{"class":146},[112,13200,13201],{"class":114,"line":1827},[112,13202,119],{"emptyLinePlaceholder":118},[112,13204,13205,13207],{"class":114,"line":1832},[112,13206,2102],{"class":765},[112,13208,2105],{"class":146},[112,13210,13211],{"class":114,"line":1838},[112,13212,13213],{"class":146},"        model,\n",[112,13215,13216],{"class":114,"line":1849},[112,13217,13218],{"class":146},"        robot_state_publisher,\n",[112,13220,13221],{"class":114,"line":1863},[112,13222,2162],{"class":146},[15,13224,13225],{},"较之于以往该文件缺少了joint_state_publisher节点，该节点作用是发布活动关节状态，这一功能后续由ignition实现。",[15,13227,13228],{},[50,13229,13230],{},"添加机器人模型",[15,13232,13233],{},"修改gazebo_sim_world.launch.py文件，包含机器人模型的发布文件并在Gazebo中生成机器人模型，修改后的代码如下：",[102,13235,13237],{"className":1547,"code":13236,"language":1549,"meta":107,"style":107},"import os\n\nfrom ament_index_python.packages import get_package_share_directory\n\nfrom launch import LaunchDescription\nfrom launch.actions import IncludeLaunchDescription\nfrom launch.launch_description_sources import PythonLaunchDescriptionSource\nfrom launch_ros.actions import Node\n\ndef generate_launch_description():\n\n    this_pkg = get_package_share_directory(\"demo_gazebo_sim\")\n    mycar_desc_pkg = get_package_share_directory(\"mycar_description\")\n    pkg_ros_gz_sim = get_package_share_directory(\"ros_gz_sim\")\n    world_file = os.path.join(this_pkg,\"world\",\"house.sdf\")\n\n    gz_sim = IncludeLaunchDescription(\n        PythonLaunchDescriptionSource(\n            os.path.join(pkg_ros_gz_sim, \"launch\", \"gz_sim.launch.py\")),\n        launch_arguments={\n            \"gz_args\": \"-r \" + world_file\n        }.items(),\n    )\n    mycar_desc = IncludeLaunchDescription(\n        PythonLaunchDescriptionSource(\n            os.path.join(mycar_desc_pkg,\"launch\",\"mycar_desc_sim.launch.py\")\n        )\n    )\n    spawn = Node(package=\"ros_gz_sim\", executable=\"create\",\n                arguments=[\n                \"-name\", \"mycar\",\n                \"-x\", \"0\",\n                \"-z\", \"0.01\", #设置为0,可能会陷进地里\n                \"-y\", \"0\",\n                \"-topic\", \"/robot_description\"],\n            output=\"screen\")\n\n    return LaunchDescription([\n        gz_sim,\n        spawn,\n        mycar_desc,\n    ])\n",[109,13238,13239,13245,13249,13259,13263,13273,13283,13293,13303,13307,13315,13319,13332,13345,13358,13374,13378,13386,13390,13404,13412,13426,13430,13434,13443,13447,13461,13466,13470,13499,13508,13520,13532,13547,13558,13571,13583,13587,13593,13597,13602,13607],{"__ignoreMap":107},[112,13240,13241,13243],{"class":114,"line":115},[112,13242,1556],{"class":765},[112,13244,1559],{"class":146},[112,13246,13247],{"class":114,"line":122},[112,13248,119],{"emptyLinePlaceholder":118},[112,13250,13251,13253,13255,13257],{"class":114,"line":129},[112,13252,1568],{"class":765},[112,13254,1571],{"class":146},[112,13256,1556],{"class":765},[112,13258,1576],{"class":146},[112,13260,13261],{"class":114,"line":153},[112,13262,119],{"emptyLinePlaceholder":118},[112,13264,13265,13267,13269,13271],{"class":114,"line":158},[112,13266,1568],{"class":765},[112,13268,1587],{"class":146},[112,13270,1556],{"class":765},[112,13272,1592],{"class":146},[112,13274,13275,13277,13279,13281],{"class":114,"line":164},[112,13276,1568],{"class":765},[112,13278,1599],{"class":146},[112,13280,1556],{"class":765},[112,13282,1615],{"class":146},[112,13284,13285,13287,13289,13291],{"class":114,"line":176},[112,13286,1568],{"class":765},[112,13288,1634],{"class":146},[112,13290,1556],{"class":765},[112,13292,1639],{"class":146},[112,13294,13295,13297,13299,13301],{"class":114,"line":181},[112,13296,1568],{"class":765},[112,13298,1662],{"class":146},[112,13300,1556],{"class":765},[112,13302,1667],{"class":146},[112,13304,13305],{"class":114,"line":187},[112,13306,119],{"emptyLinePlaceholder":118},[112,13308,13309,13311,13313],{"class":114,"line":434},[112,13310,1677],{"class":765},[112,13312,1680],{"class":132},[112,13314,1683],{"class":146},[112,13316,13317],{"class":114,"line":440},[112,13318,119],{"emptyLinePlaceholder":118},[112,13320,13321,13323,13325,13327,13330],{"class":114,"line":446},[112,13322,1694],{"class":146},[112,13324,1697],{"class":765},[112,13326,1700],{"class":146},[112,13328,13329],{"class":136},"\"demo_gazebo_sim\"",[112,13331,1466],{"class":146},[112,13333,13334,13337,13339,13341,13343],{"class":114,"line":452},[112,13335,13336],{"class":146},"    mycar_desc_pkg ",[112,13338,1697],{"class":765},[112,13340,1700],{"class":146},[112,13342,13058],{"class":136},[112,13344,1466],{"class":146},[112,13346,13347,13349,13351,13353,13356],{"class":114,"line":1674},[112,13348,1711],{"class":146},[112,13350,1697],{"class":765},[112,13352,1700],{"class":146},[112,13354,13355],{"class":136},"\"ros_gz_sim\"",[112,13357,1466],{"class":146},[112,13359,13360,13362,13364,13366,13368,13370,13372],{"class":114,"line":1686},[112,13361,1726],{"class":146},[112,13363,1697],{"class":765},[112,13365,1731],{"class":146},[112,13367,9211],{"class":136},[112,13369,1737],{"class":146},[112,13371,9216],{"class":136},[112,13373,1466],{"class":146},[112,13375,13376],{"class":114,"line":1691},[112,13377,119],{"emptyLinePlaceholder":118},[112,13379,13380,13382,13384],{"class":114,"line":1708},[112,13381,1753],{"class":146},[112,13383,1697],{"class":765},[112,13385,1758],{"class":146},[112,13387,13388],{"class":114,"line":1723},[112,13389,1764],{"class":146},[112,13391,13392,13394,13397,13399,13402],{"class":114,"line":1745},[112,13393,1770],{"class":146},[112,13395,13396],{"class":136},"\"launch\"",[112,13398,1776],{"class":146},[112,13400,13401],{"class":136},"\"gz_sim.launch.py\"",[112,13403,1782],{"class":146},[112,13405,13406,13408,13410],{"class":114,"line":1750},[112,13407,1789],{"class":1788},[112,13409,1697],{"class":765},[112,13411,1794],{"class":146},[112,13413,13414,13417,13419,13422,13424],{"class":114,"line":1761},[112,13415,13416],{"class":136},"            \"gz_args\"",[112,13418,1803],{"class":146},[112,13420,13421],{"class":136},"\"-r \"",[112,13423,1809],{"class":765},[112,13425,1812],{"class":146},[112,13427,13428],{"class":114,"line":1767},[112,13429,1818],{"class":146},[112,13431,13432],{"class":114,"line":1785},[112,13433,1824],{"class":146},[112,13435,13436,13439,13441],{"class":114,"line":1797},[112,13437,13438],{"class":146},"    mycar_desc ",[112,13440,1697],{"class":765},[112,13442,1758],{"class":146},[112,13444,13445],{"class":114,"line":1815},[112,13446,1764],{"class":146},[112,13448,13449,13452,13454,13456,13459],{"class":114,"line":1821},[112,13450,13451],{"class":146},"            os.path.join(mycar_desc_pkg,",[112,13453,13396],{"class":136},[112,13455,1737],{"class":146},[112,13457,13458],{"class":136},"\"mycar_desc_sim.launch.py\"",[112,13460,1466],{"class":146},[112,13462,13463],{"class":114,"line":1827},[112,13464,13465],{"class":146},"        )\n",[112,13467,13468],{"class":114,"line":1832},[112,13469,1824],{"class":146},[112,13471,13472,13475,13477,13480,13483,13485,13487,13489,13492,13494,13497],{"class":114,"line":1838},[112,13473,13474],{"class":146},"    spawn ",[112,13476,1697],{"class":765},[112,13478,13479],{"class":146}," Node(",[112,13481,13482],{"class":1788},"package",[112,13484,1697],{"class":765},[112,13486,13355],{"class":136},[112,13488,1776],{"class":146},[112,13490,13491],{"class":1788},"executable",[112,13493,1697],{"class":765},[112,13495,13496],{"class":136},"\"create\"",[112,13498,1860],{"class":146},[112,13500,13501,13504,13506],{"class":114,"line":1849},[112,13502,13503],{"class":1788},"                arguments",[112,13505,1697],{"class":765},[112,13507,2037],{"class":146},[112,13509,13510,13513,13515,13518],{"class":114,"line":1863},[112,13511,13512],{"class":136},"                \"-name\"",[112,13514,1776],{"class":146},[112,13516,13517],{"class":136},"\"mycar\"",[112,13519,1860],{"class":146},[112,13521,13522,13525,13527,13530],{"class":114,"line":1875},[112,13523,13524],{"class":136},"                \"-x\"",[112,13526,1776],{"class":146},[112,13528,13529],{"class":136},"\"0\"",[112,13531,1860],{"class":146},[112,13533,13534,13537,13539,13542,13544],{"class":114,"line":1902},[112,13535,13536],{"class":136},"                \"-z\"",[112,13538,1776],{"class":146},[112,13540,13541],{"class":136},"\"0.01\"",[112,13543,1776],{"class":146},[112,13545,13546],{"class":125},"#设置为0,可能会陷进地里\n",[112,13548,13549,13552,13554,13556],{"class":114,"line":1918},[112,13550,13551],{"class":136},"                \"-y\"",[112,13553,1776],{"class":146},[112,13555,13529],{"class":136},[112,13557,1860],{"class":146},[112,13559,13560,13563,13565,13568],{"class":114,"line":1923},[112,13561,13562],{"class":136},"                \"-topic\"",[112,13564,1776],{"class":146},[112,13566,13567],{"class":136},"\"/robot_description\"",[112,13569,13570],{"class":146},"],\n",[112,13572,13573,13576,13578,13581],{"class":114,"line":1928},[112,13574,13575],{"class":1788},"            output",[112,13577,1697],{"class":765},[112,13579,13580],{"class":136},"\"screen\"",[112,13582,1466],{"class":146},[112,13584,13585],{"class":114,"line":1934},[112,13586,119],{"emptyLinePlaceholder":118},[112,13588,13589,13591],{"class":114,"line":1944},[112,13590,2102],{"class":765},[112,13592,2105],{"class":146},[112,13594,13595],{"class":114,"line":1957},[112,13596,2111],{"class":146},[112,13598,13599],{"class":114,"line":1970},[112,13600,13601],{"class":146},"        spawn,\n",[112,13603,13604],{"class":114,"line":1985},[112,13605,13606],{"class":146},"        mycar_desc,\n",[112,13608,13609],{"class":114,"line":1993},[112,13610,2162],{"class":146},[15,13612,13613],{},[50,13614,2175],{},[15,13616,2178],{},[102,13618,13620],{"className":104,"code":13619,"language":106,"meta":107,"style":107},"colcon build --packages-select mycar_description demo_gazebo_sim\n",[109,13621,13622],{"__ignoreMap":107},[112,13623,13624,13626,13628,13631,13634],{"class":114,"line":115},[112,13625,2188],{"class":132},[112,13627,2191],{"class":136},[112,13629,13630],{"class":576}," --packages-select",[112,13632,13633],{"class":136}," mycar_description",[112,13635,1432],{"class":136},[15,13637,13638],{},[50,13639,2206],{},[15,13641,13642],{},"终端中进入当前工作空间，调用如下指令执行launch文件：（执行起来有问题的话，你只要学过urdf怎么跑，应该拥有自我寻找错误的能力了，自己找吧）",[102,13644,13646],{"className":104,"code":13645,"language":106,"meta":107,"style":107},". install/setup.bash\n\n# MYCAR_MODEL值可以设置为arduino、stm32_2w 或stm32_4w（这个是具体的urdf文件名，在mycar_description包下的）\nexport MYCAR_MODEL=stm32_4w\nros2 launch demo_gazebo_sim gazebo_sim_world.launch.py\n",[109,13647,13648,13654,13658,13663,13675],{"__ignoreMap":107},[112,13649,13650,13652],{"class":114,"line":115},[112,13651,2219],{"class":576},[112,13653,2222],{"class":136},[112,13655,13656],{"class":114,"line":122},[112,13657,119],{"emptyLinePlaceholder":118},[112,13659,13660],{"class":114,"line":129},[112,13661,13662],{"class":125},"# MYCAR_MODEL值可以设置为arduino、stm32_2w 或stm32_4w（这个是具体的urdf文件名，在mycar_description包下的）\n",[112,13664,13665,13667,13670,13672],{"class":114,"line":153},[112,13666,9406],{"class":765},[112,13668,13669],{"class":146}," MYCAR_MODEL",[112,13671,1697],{"class":765},[112,13673,13674],{"class":146},"stm32_4w\n",[112,13676,13677,13679,13681,13683],{"class":114,"line":158},[112,13678,263],{"class":132},[112,13680,266],{"class":136},[112,13682,2231],{"class":136},[112,13684,9339],{"class":136},[15,13686,9342],{},[15,13688,13689],{},[200,13690],{"alt":107,"src":13691},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1733.webp",[27,13693,13695,13696],{"id":13694},"igng运动控制器实质上就是标签","   IgnG运动控制器(实质上就是",[13697,13698,13699],"gazebo",{},"标签)",[15,13701,13702],{},"本节将介绍如何让你的机器人动起来。",[15,13704,13705,13706],{},"原理就是给urdf或xacro等添加",[13697,13707,13708],{},"标签：",[15,13710,13711],{},[55,13712,13713],{"href":13713,"rel":13714},"http://sdformat.org/tutorials?tut=sdformat_urdf_extensions&cat=specification&",[59],[15,13716,13717],{},[200,13718],{"alt":107,"src":13719},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1734.webp",[15,13721,13722],{},[55,13723,13724],{"href":13724,"rel":13725},"https://gazebosim.org/api/plugin/2/index.html",[59],[15,13727,13728],{},"安装库：",[15,13730,13731],{},[55,13732,13733],{"href":13733,"rel":13734},"https://gazebosim.org/api/plugin/2/installation.html",[59],[102,13736,13738],{"className":104,"code":13737,"language":106,"meta":107,"style":107},"sudo apt-get update\nsudo apt-get install lsb-release\nsudo sh -c 'echo \"deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main\" > /etc/apt/sources.list.d/gazebo-stable.list'\nwget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -\nsudo apt-get update\nsudo apt install libgz-plugin2-dev\n",[109,13739,13740,13750,13761,13774,13803,13811],{"__ignoreMap":107},[112,13741,13742,13744,13747],{"class":114,"line":115},[112,13743,133],{"class":132},[112,13745,13746],{"class":136}," apt-get",[112,13748,13749],{"class":136}," update\n",[112,13751,13752,13754,13756,13758],{"class":114,"line":122},[112,13753,133],{"class":132},[112,13755,13746],{"class":136},[112,13757,140],{"class":136},[112,13759,13760],{"class":136}," lsb-release\n",[112,13762,13763,13765,13768,13771],{"class":114,"line":129},[112,13764,133],{"class":132},[112,13766,13767],{"class":136}," sh",[112,13769,13770],{"class":576}," -c",[112,13772,13773],{"class":136}," 'echo \"deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main\" > /etc/apt/sources.list.d/gazebo-stable.list'\n",[112,13775,13776,13779,13782,13785,13788,13791,13794,13797,13800],{"class":114,"line":153},[112,13777,13778],{"class":132},"wget",[112,13780,13781],{"class":136}," http://packages.osrfoundation.org/gazebo.key",[112,13783,13784],{"class":576}," -O",[112,13786,13787],{"class":136}," -",[112,13789,13790],{"class":765}," |",[112,13792,13793],{"class":132}," sudo",[112,13795,13796],{"class":136}," apt-key",[112,13798,13799],{"class":136}," add",[112,13801,13802],{"class":136}," -\n",[112,13804,13805,13807,13809],{"class":114,"line":158},[112,13806,133],{"class":132},[112,13808,13746],{"class":136},[112,13810,13749],{"class":136},[112,13812,13813,13815,13817,13819],{"class":114,"line":164},[112,13814,133],{"class":132},[112,13816,137],{"class":136},[112,13818,140],{"class":136},[112,13820,13821],{"class":136}," libgz-plugin2-dev\n",[15,13823,13824],{},"利用插件去让小车动，比如有两轮差速插件，四轮麦轮插件等等",[15,13826,13827],{},"同时该插件还提供了一些可以控制输出的选项，因为是仿真，所以还要告诉插件轮子对应的joint名称等信息，这样就有了下面这个参数表格：",[918,13829,13830,13840],{},[921,13831,13832],{},[924,13833,13834,13837],{},[927,13835,13836],{"align":929},"配置项",[927,13838,13839],{"align":929},"含义",[935,13841,13842,13850,13858,13866,13874,13882,13890,13898,13906,13914,13922,13930,13938],{},[924,13843,13844,13847],{},[940,13845,13846],{"align":929},"ros",[940,13848,13849],{"align":929},"ros相关配置，包含命名空间和话题重映射等",[924,13851,13852,13855],{},[940,13853,13854],{"align":929},"update_rate",[940,13856,13857],{"align":929},"数据更新速率",[924,13859,13860,13863],{},[940,13861,13862],{"align":929},"left_joint",[940,13864,13865],{"align":929},"左轮关节名称",[924,13867,13868,13871],{},[940,13869,13870],{"align":929},"right_joint",[940,13872,13873],{"align":929},"右轮关节名称",[924,13875,13876,13879],{},[940,13877,13878],{"align":929},"wheel_separation",[940,13880,13881],{"align":929},"左右轮子的间距",[924,13883,13884,13887],{},[940,13885,13886],{"align":929},"wheel_diameter",[940,13888,13889],{"align":929},"轮子的直径",[924,13891,13892,13895],{},[940,13893,13894],{"align":929},"max_wheel_torque",[940,13896,13897],{"align":929},"轮子最大的力矩",[924,13899,13900,13903],{},[940,13901,13902],{"align":929},"max_wheel_acceleration",[940,13904,13905],{"align":929},"轮子最大的加速度",[924,13907,13908,13911],{},[940,13909,13910],{"align":929},"publish_odom",[940,13912,13913],{"align":929},"是否发布里程计",[924,13915,13916,13919],{},[940,13917,13918],{"align":929},"publish_odom_tf",[940,13920,13921],{"align":929},"是否发布里程计的tf开关",[924,13923,13924,13927],{},[940,13925,13926],{"align":929},"publish_wheel_tf",[940,13928,13929],{"align":929},"是否发布轮子的tf数据开关",[924,13931,13932,13935],{},[940,13933,13934],{"align":929},"odometry_frame",[940,13936,13937],{"align":929},"里程计的framed ID，最终体现在话题和TF上",[924,13939,13940,13943],{},[940,13941,13942],{"align":929},"robot_base_frame",[940,13944,13945],{"align":929},"机器人的基础frame的ID",[15,13947,13948],{},[50,13949,13950],{},"修改URDF文件",[15,13952,13953,13954,13957],{},"arduino.urdf 和 stm32_2w.urdf 文件中，在",[109,13955,13956],{},"\u003Crobot>","根标签下添加如下代码：",[102,13959,13961],{"className":2374,"code":13960,"language":2376,"meta":107,"style":107},"\n  \u003Cgazebo>\n      \u003Cplugin filename=\"libignition-gazebo-diff-drive-system.so\"\n        name=\"ignition::gazebo::systems::DiffDrive\">\n        \u003Cleft_joint>left_joint\u003C/left_joint>\n        \u003Cright_joint>right_joint\u003C/right_joint>\n        \u003Cwheel_separation>0.2097\u003C/wheel_separation>\n        \u003Cwheel_radius>0.03415\u003C/wheel_radius>\n        \u003Codom_publish_frequency>10\u003C/odom_publish_frequency>\n        \u003Cframe_id>odom\u003C/frame_id>\n        \u003Cchild_frame_id>base_footprint\u003C/child_frame_id>\n        \u003Ctopic>/cmd_vel\u003C/topic>\n        \u003Cmax_linear_acceleration>10\u003C/max_linear_acceleration>\n        \u003Cmin_linear_acceleration>-10\u003C/min_linear_acceleration>\n        \u003Cmax_angular_acceleration>10\u003C/max_angular_acceleration>\n        \u003Cmin_angular_acceleration>-10\u003C/min_angular_acceleration>\n        \u003Cmax_linear_velocity>0.5\u003C/max_linear_velocity>\n        \u003Cmin_linear_velocity>-0.5\u003C/min_linear_velocity>\n        \u003Cmax_angular_velocity>1\u003C/max_angular_velocity>\n        \u003Cmin_angular_velocity>-1\u003C/min_angular_velocity>\n      \u003C/plugin>\n\n  \u003C/gazebo>\n\n  \u003Cgazebo>\n    \u003Cplugin filename=\"ignition-gazebo-joint-state-publisher-system\"\n      name=\"ignition::gazebo::systems::JointStatePublisher\">\n    \u003C/plugin>\n  \u003C/gazebo>\n",[109,13962,13963,13967,13975,13988,14000,14013,14026,14039,14053,14067,14081,14095,14109,14122,14136,14149,14162,14176,14190,14203,14217,14225,14229,14237,14241,14249,14262,14274,14282],{"__ignoreMap":107},[112,13964,13965],{"class":114,"line":115},[112,13966,119],{"emptyLinePlaceholder":118},[112,13968,13969,13971,13973],{"class":114,"line":122},[112,13970,2403],{"class":146},[112,13972,13697],{"class":2386},[112,13974,2398],{"class":146},[112,13976,13977,13979,13981,13983,13985],{"class":114,"line":129},[112,13978,2430],{"class":146},[112,13980,3024],{"class":2386},[112,13982,3034],{"class":132},[112,13984,1697],{"class":146},[112,13986,13987],{"class":136},"\"libignition-gazebo-diff-drive-system.so\"\n",[112,13989,13990,13993,13995,13998],{"class":114,"line":153},[112,13991,13992],{"class":132},"        name",[112,13994,1697],{"class":146},[112,13996,13997],{"class":136},"\"ignition::gazebo::systems::DiffDrive\"",[112,13999,2398],{"class":146},[112,14001,14002,14004,14006,14009,14011],{"class":114,"line":158},[112,14003,2604],{"class":146},[112,14005,13862],{"class":2386},[112,14007,14008],{"class":146},">left_joint\u003C/",[112,14010,13862],{"class":2386},[112,14012,2398],{"class":146},[112,14014,14015,14017,14019,14022,14024],{"class":114,"line":164},[112,14016,2604],{"class":146},[112,14018,13870],{"class":2386},[112,14020,14021],{"class":146},">right_joint\u003C/",[112,14023,13870],{"class":2386},[112,14025,2398],{"class":146},[112,14027,14028,14030,14032,14035,14037],{"class":114,"line":176},[112,14029,2604],{"class":146},[112,14031,13878],{"class":2386},[112,14033,14034],{"class":146},">0.2097\u003C/",[112,14036,13878],{"class":2386},[112,14038,2398],{"class":146},[112,14040,14041,14043,14046,14049,14051],{"class":114,"line":181},[112,14042,2604],{"class":146},[112,14044,14045],{"class":2386},"wheel_radius",[112,14047,14048],{"class":146},">0.03415\u003C/",[112,14050,14045],{"class":2386},[112,14052,2398],{"class":146},[112,14054,14055,14057,14060,14063,14065],{"class":114,"line":187},[112,14056,2604],{"class":146},[112,14058,14059],{"class":2386},"odom_publish_frequency",[112,14061,14062],{"class":146},">10\u003C/",[112,14064,14059],{"class":2386},[112,14066,2398],{"class":146},[112,14068,14069,14071,14074,14077,14079],{"class":114,"line":434},[112,14070,2604],{"class":146},[112,14072,14073],{"class":2386},"frame_id",[112,14075,14076],{"class":146},">odom\u003C/",[112,14078,14073],{"class":2386},[112,14080,2398],{"class":146},[112,14082,14083,14085,14088,14091,14093],{"class":114,"line":440},[112,14084,2604],{"class":146},[112,14086,14087],{"class":2386},"child_frame_id",[112,14089,14090],{"class":146},">base_footprint\u003C/",[112,14092,14087],{"class":2386},[112,14094,2398],{"class":146},[112,14096,14097,14099,14102,14105,14107],{"class":114,"line":446},[112,14098,2604],{"class":146},[112,14100,14101],{"class":2386},"topic",[112,14103,14104],{"class":146},">/cmd_vel\u003C/",[112,14106,14101],{"class":2386},[112,14108,2398],{"class":146},[112,14110,14111,14113,14116,14118,14120],{"class":114,"line":452},[112,14112,2604],{"class":146},[112,14114,14115],{"class":2386},"max_linear_acceleration",[112,14117,14062],{"class":146},[112,14119,14115],{"class":2386},[112,14121,2398],{"class":146},[112,14123,14124,14126,14129,14132,14134],{"class":114,"line":1674},[112,14125,2604],{"class":146},[112,14127,14128],{"class":2386},"min_linear_acceleration",[112,14130,14131],{"class":146},">-10\u003C/",[112,14133,14128],{"class":2386},[112,14135,2398],{"class":146},[112,14137,14138,14140,14143,14145,14147],{"class":114,"line":1686},[112,14139,2604],{"class":146},[112,14141,14142],{"class":2386},"max_angular_acceleration",[112,14144,14062],{"class":146},[112,14146,14142],{"class":2386},[112,14148,2398],{"class":146},[112,14150,14151,14153,14156,14158,14160],{"class":114,"line":1691},[112,14152,2604],{"class":146},[112,14154,14155],{"class":2386},"min_angular_acceleration",[112,14157,14131],{"class":146},[112,14159,14155],{"class":2386},[112,14161,2398],{"class":146},[112,14163,14164,14166,14169,14172,14174],{"class":114,"line":1708},[112,14165,2604],{"class":146},[112,14167,14168],{"class":2386},"max_linear_velocity",[112,14170,14171],{"class":146},">0.5\u003C/",[112,14173,14168],{"class":2386},[112,14175,2398],{"class":146},[112,14177,14178,14180,14183,14186,14188],{"class":114,"line":1723},[112,14179,2604],{"class":146},[112,14181,14182],{"class":2386},"min_linear_velocity",[112,14184,14185],{"class":146},">-0.5\u003C/",[112,14187,14182],{"class":2386},[112,14189,2398],{"class":146},[112,14191,14192,14194,14197,14199,14201],{"class":114,"line":1745},[112,14193,2604],{"class":146},[112,14195,14196],{"class":2386},"max_angular_velocity",[112,14198,2991],{"class":146},[112,14200,14196],{"class":2386},[112,14202,2398],{"class":146},[112,14204,14205,14207,14210,14213,14215],{"class":114,"line":1750},[112,14206,2604],{"class":146},[112,14208,14209],{"class":2386},"min_angular_velocity",[112,14211,14212],{"class":146},">-1\u003C/",[112,14214,14209],{"class":2386},[112,14216,2398],{"class":146},[112,14218,14219,14221,14223],{"class":114,"line":1761},[112,14220,2664],{"class":146},[112,14222,3024],{"class":2386},[112,14224,2398],{"class":146},[112,14226,14227],{"class":114,"line":1767},[112,14228,119],{"emptyLinePlaceholder":118},[112,14230,14231,14233,14235],{"class":114,"line":1785},[112,14232,2510],{"class":146},[112,14234,13697],{"class":2386},[112,14236,2398],{"class":146},[112,14238,14239],{"class":114,"line":1797},[112,14240,119],{"emptyLinePlaceholder":118},[112,14242,14243,14245,14247],{"class":114,"line":1815},[112,14244,2403],{"class":146},[112,14246,13697],{"class":2386},[112,14248,2398],{"class":146},[112,14250,14251,14253,14255,14257,14259],{"class":114,"line":1821},[112,14252,2420],{"class":146},[112,14254,3024],{"class":2386},[112,14256,3034],{"class":132},[112,14258,1697],{"class":146},[112,14260,14261],{"class":136},"\"ignition-gazebo-joint-state-publisher-system\"\n",[112,14263,14264,14267,14269,14272],{"class":114,"line":1827},[112,14265,14266],{"class":132},"      name",[112,14268,1697],{"class":146},[112,14270,14271],{"class":136},"\"ignition::gazebo::systems::JointStatePublisher\"",[112,14273,2398],{"class":146},[112,14275,14276,14278,14280],{"class":114,"line":1832},[112,14277,2501],{"class":146},[112,14279,3024],{"class":2386},[112,14281,2398],{"class":146},[112,14283,14284,14286,14288],{"class":114,"line":1838},[112,14285,2510],{"class":146},[112,14287,13697],{"class":2386},[112,14289,2398],{"class":146},[15,14291,14292,14293,13957],{},"stm32_4w.urdf 文件中，在",[109,14294,13956],{},[102,14296,14298],{"className":2374,"code":14297,"language":2376,"meta":107,"style":107},"\n\u003Cgazebo>\n    \u003Cplugin\n        filename=\"ignition-gazebo-diff-drive-system\"\n        name=\"ignition::gazebo::systems::DiffDrive\">\n        \u003Cleft_joint>left_former_joint\u003C/left_joint>\n        \u003Cleft_joint>left_rear_joint\u003C/left_joint>\n        \u003Cright_joint>right_former_joint\u003C/right_joint>\n        \u003Cright_joint>right_rear_joint\u003C/right_joint>\n        \u003Cwheel_separation>0.4\u003C/wheel_separation>\n        \u003Cwheel_radius>0.0415\u003C/wheel_radius>\n        \u003Codom_publish_frequency>50\u003C/odom_publish_frequency>\n        \u003Cframe_id>odom\u003C/frame_id>\n        \u003Cchild_frame_id>base_footprint\u003C/child_frame_id>\n        \u003Ctopic>/cmd_vel\u003C/topic>\n        \u003Cmax_linear_acceleration>10\u003C/max_linear_acceleration>\n        \u003Cmin_linear_acceleration>-10\u003C/min_linear_acceleration>\n        \u003Cmax_angular_acceleration>10\u003C/max_angular_acceleration>\n        \u003Cmin_angular_acceleration>-10\u003C/min_angular_acceleration>\n        \u003Cmax_linear_velocity>0.5\u003C/max_linear_velocity>\n        \u003Cmin_linear_velocity>-0.5\u003C/min_linear_velocity>\n        \u003Cmax_angular_velocity>1\u003C/max_angular_velocity>\n        \u003Cmin_angular_velocity>-1\u003C/min_angular_velocity>\n      \u003C/plugin>\n  \u003C/gazebo>\n\n  \u003Cgazebo>\n    \u003Cplugin filename=\"ignition-gazebo-joint-state-publisher-system\"\n      name=\"ignition::gazebo::systems::JointStatePublisher\">\n    \u003C/plugin>\n  \u003C/gazebo>\n",[109,14299,14300,14304,14312,14319,14329,14339,14352,14365,14378,14391,14404,14417,14430,14442,14454,14466,14478,14490,14502,14514,14526,14538,14550,14562,14570,14578,14582,14590,14602,14612,14620],{"__ignoreMap":107},[112,14301,14302],{"class":114,"line":115},[112,14303,119],{"emptyLinePlaceholder":118},[112,14305,14306,14308,14310],{"class":114,"line":122},[112,14307,2383],{"class":146},[112,14309,13697],{"class":2386},[112,14311,2398],{"class":146},[112,14313,14314,14316],{"class":114,"line":129},[112,14315,2420],{"class":146},[112,14317,14318],{"class":2386},"plugin\n",[112,14320,14321,14324,14326],{"class":114,"line":153},[112,14322,14323],{"class":132},"        filename",[112,14325,1697],{"class":146},[112,14327,14328],{"class":136},"\"ignition-gazebo-diff-drive-system\"\n",[112,14330,14331,14333,14335,14337],{"class":114,"line":158},[112,14332,13992],{"class":132},[112,14334,1697],{"class":146},[112,14336,13997],{"class":136},[112,14338,2398],{"class":146},[112,14340,14341,14343,14345,14348,14350],{"class":114,"line":164},[112,14342,2604],{"class":146},[112,14344,13862],{"class":2386},[112,14346,14347],{"class":146},">left_former_joint\u003C/",[112,14349,13862],{"class":2386},[112,14351,2398],{"class":146},[112,14353,14354,14356,14358,14361,14363],{"class":114,"line":176},[112,14355,2604],{"class":146},[112,14357,13862],{"class":2386},[112,14359,14360],{"class":146},">left_rear_joint\u003C/",[112,14362,13862],{"class":2386},[112,14364,2398],{"class":146},[112,14366,14367,14369,14371,14374,14376],{"class":114,"line":181},[112,14368,2604],{"class":146},[112,14370,13870],{"class":2386},[112,14372,14373],{"class":146},">right_former_joint\u003C/",[112,14375,13870],{"class":2386},[112,14377,2398],{"class":146},[112,14379,14380,14382,14384,14387,14389],{"class":114,"line":187},[112,14381,2604],{"class":146},[112,14383,13870],{"class":2386},[112,14385,14386],{"class":146},">right_rear_joint\u003C/",[112,14388,13870],{"class":2386},[112,14390,2398],{"class":146},[112,14392,14393,14395,14397,14400,14402],{"class":114,"line":434},[112,14394,2604],{"class":146},[112,14396,13878],{"class":2386},[112,14398,14399],{"class":146},">0.4\u003C/",[112,14401,13878],{"class":2386},[112,14403,2398],{"class":146},[112,14405,14406,14408,14410,14413,14415],{"class":114,"line":440},[112,14407,2604],{"class":146},[112,14409,14045],{"class":2386},[112,14411,14412],{"class":146},">0.0415\u003C/",[112,14414,14045],{"class":2386},[112,14416,2398],{"class":146},[112,14418,14419,14421,14423,14426,14428],{"class":114,"line":446},[112,14420,2604],{"class":146},[112,14422,14059],{"class":2386},[112,14424,14425],{"class":146},">50\u003C/",[112,14427,14059],{"class":2386},[112,14429,2398],{"class":146},[112,14431,14432,14434,14436,14438,14440],{"class":114,"line":452},[112,14433,2604],{"class":146},[112,14435,14073],{"class":2386},[112,14437,14076],{"class":146},[112,14439,14073],{"class":2386},[112,14441,2398],{"class":146},[112,14443,14444,14446,14448,14450,14452],{"class":114,"line":1674},[112,14445,2604],{"class":146},[112,14447,14087],{"class":2386},[112,14449,14090],{"class":146},[112,14451,14087],{"class":2386},[112,14453,2398],{"class":146},[112,14455,14456,14458,14460,14462,14464],{"class":114,"line":1686},[112,14457,2604],{"class":146},[112,14459,14101],{"class":2386},[112,14461,14104],{"class":146},[112,14463,14101],{"class":2386},[112,14465,2398],{"class":146},[112,14467,14468,14470,14472,14474,14476],{"class":114,"line":1691},[112,14469,2604],{"class":146},[112,14471,14115],{"class":2386},[112,14473,14062],{"class":146},[112,14475,14115],{"class":2386},[112,14477,2398],{"class":146},[112,14479,14480,14482,14484,14486,14488],{"class":114,"line":1708},[112,14481,2604],{"class":146},[112,14483,14128],{"class":2386},[112,14485,14131],{"class":146},[112,14487,14128],{"class":2386},[112,14489,2398],{"class":146},[112,14491,14492,14494,14496,14498,14500],{"class":114,"line":1723},[112,14493,2604],{"class":146},[112,14495,14142],{"class":2386},[112,14497,14062],{"class":146},[112,14499,14142],{"class":2386},[112,14501,2398],{"class":146},[112,14503,14504,14506,14508,14510,14512],{"class":114,"line":1745},[112,14505,2604],{"class":146},[112,14507,14155],{"class":2386},[112,14509,14131],{"class":146},[112,14511,14155],{"class":2386},[112,14513,2398],{"class":146},[112,14515,14516,14518,14520,14522,14524],{"class":114,"line":1750},[112,14517,2604],{"class":146},[112,14519,14168],{"class":2386},[112,14521,14171],{"class":146},[112,14523,14168],{"class":2386},[112,14525,2398],{"class":146},[112,14527,14528,14530,14532,14534,14536],{"class":114,"line":1761},[112,14529,2604],{"class":146},[112,14531,14182],{"class":2386},[112,14533,14185],{"class":146},[112,14535,14182],{"class":2386},[112,14537,2398],{"class":146},[112,14539,14540,14542,14544,14546,14548],{"class":114,"line":1767},[112,14541,2604],{"class":146},[112,14543,14196],{"class":2386},[112,14545,2991],{"class":146},[112,14547,14196],{"class":2386},[112,14549,2398],{"class":146},[112,14551,14552,14554,14556,14558,14560],{"class":114,"line":1785},[112,14553,2604],{"class":146},[112,14555,14209],{"class":2386},[112,14557,14212],{"class":146},[112,14559,14209],{"class":2386},[112,14561,2398],{"class":146},[112,14563,14564,14566,14568],{"class":114,"line":1797},[112,14565,2664],{"class":146},[112,14567,3024],{"class":2386},[112,14569,2398],{"class":146},[112,14571,14572,14574,14576],{"class":114,"line":1815},[112,14573,2510],{"class":146},[112,14575,13697],{"class":2386},[112,14577,2398],{"class":146},[112,14579,14580],{"class":114,"line":1821},[112,14581,119],{"emptyLinePlaceholder":118},[112,14583,14584,14586,14588],{"class":114,"line":1827},[112,14585,2403],{"class":146},[112,14587,13697],{"class":2386},[112,14589,2398],{"class":146},[112,14591,14592,14594,14596,14598,14600],{"class":114,"line":1832},[112,14593,2420],{"class":146},[112,14595,3024],{"class":2386},[112,14597,3034],{"class":132},[112,14599,1697],{"class":146},[112,14601,14261],{"class":136},[112,14603,14604,14606,14608,14610],{"class":114,"line":1838},[112,14605,14266],{"class":132},[112,14607,1697],{"class":146},[112,14609,14271],{"class":136},[112,14611,2398],{"class":146},[112,14613,14614,14616,14618],{"class":114,"line":1849},[112,14615,2501],{"class":146},[112,14617,3024],{"class":2386},[112,14619,2398],{"class":146},[112,14621,14622,14624,14626],{"class":114,"line":1863},[112,14623,2510],{"class":146},[112,14625,13697],{"class":2386},[112,14627,2398],{"class":146},[15,14629,14630],{},"如果是麦轮（ROS1的，ROS2的待更新）（把轮子关节设置为自己轮子关节名即可）：",[102,14632,14634],{"className":2374,"code":14633,"language":2376,"meta":107,"style":107},"\u003Crobot name=\"mycar\" xmlns:xacro=\"http://wiki.ros.org/xacro\">\n\n    \u003Cxacro:macro name=\"joint_trans\" params=\"joint_name\">\n\n        \u003Ctransmission name=\"${joint_name}_trans\">\n            \u003Ctype>transmission_interface/SimpleTransmission\u003C/type>\n            \u003Cjoint name=\"${joint_name}\">\n                \u003ChardwareInterface>hardware_interface/VelocityJointInterface\u003C/hardwareInterface>\n            \u003C/joint>\n            \u003Cactuator name=\"${joint_name}_motor\">\n                \u003ChardwareInterface>hardware_interface/VelocityJointInterface\u003C/hardwareInterface>\n                \u003CmechanicalReduction>1\u003C/mechanicalReduction>\n            \u003C/actuator>\n        \u003C/transmission>\n    \u003C/xacro:macro>\n\n    \u003Cxacro:joint_trans joint_name=\"LeftFrontwheelToBase\" />\n    \u003Cxacro:joint_trans joint_name=\"LeftBackwheelToBase\" />\n    \u003Cxacro:joint_trans joint_name=\"RightFrontwheelToBase\" />\n    \u003Cxacro:joint_trans joint_name=\"RightBackwheelToBase\" />\n\n    \u003Cgazebo>\n        \u003Cplugin name=\"mecanum_controller\" filename=\"libgazebo_ros_planar_move.so\">\n            \u003CcommandTopic>cmd_vel\u003C/commandTopic>\n            \u003CodometryTopic>odom\u003C/odometryTopic>\n            \u003CodometryFrame>odom\u003C/odometryFrame>\n            \u003CleftFrontJoint>LeftFrontwheelToBase\u003C/leftFrontJoint>\n            \u003CrightFrontJoint>RightFrontwheelToBase\u003C/rightFrontJoint>\n            \u003CleftRearJoint>LeftBackwheelToBase\u003C/leftRearJoint>\n            \u003CrightRearJoint>RightBackwheelToBase\u003C/rightRearJoint>\n            \u003CodometryRate>100\u003C/odometryRate>\n            \u003CrobotBaseFrame>base_footprint\u003C/robotBaseFrame>\n            \u003CbroadcastTF>1\u003C/broadcastTF>\n        \u003C/plugin>\n    \u003C/gazebo>\n\n\u003C/robot>\n",[109,14635,14636,14657,14661,14683,14687,14703,14717,14733,14748,14756,14772,14784,14797,14805,14813,14821,14825,14842,14857,14872,14887,14891,14899,14921,14935,14948,14961,14975,14989,15003,15017,15030,15043,15056,15064,15072,15076],{"__ignoreMap":107},[112,14637,14638,14640,14642,14644,14646,14648,14650,14652,14655],{"class":114,"line":115},[112,14639,2383],{"class":146},[112,14641,2387],{"class":2386},[112,14643,2390],{"class":132},[112,14645,1697],{"class":146},[112,14647,13517],{"class":136},[112,14649,2541],{"class":132},[112,14651,1697],{"class":146},[112,14653,14654],{"class":136},"\"http://wiki.ros.org/xacro\"",[112,14656,2398],{"class":146},[112,14658,14659],{"class":114,"line":122},[112,14660,119],{"emptyLinePlaceholder":118},[112,14662,14663,14665,14667,14669,14671,14674,14676,14678,14681],{"class":114,"line":129},[112,14664,2420],{"class":146},[112,14666,2561],{"class":2386},[112,14668,2390],{"class":132},[112,14670,1697],{"class":146},[112,14672,14673],{"class":136},"\"joint_trans\"",[112,14675,2570],{"class":132},[112,14677,1697],{"class":146},[112,14679,14680],{"class":136},"\"joint_name\"",[112,14682,2398],{"class":146},[112,14684,14685],{"class":114,"line":153},[112,14686,119],{"emptyLinePlaceholder":118},[112,14688,14689,14691,14694,14696,14698,14701],{"class":114,"line":158},[112,14690,2604],{"class":146},[112,14692,14693],{"class":2386},"transmission",[112,14695,2390],{"class":132},[112,14697,1697],{"class":146},[112,14699,14700],{"class":136},"\"${joint_name}_trans\"",[112,14702,2398],{"class":146},[112,14704,14705,14707,14710,14713,14715],{"class":114,"line":164},[112,14706,3284],{"class":146},[112,14708,14709],{"class":2386},"type",[112,14711,14712],{"class":146},">transmission_interface/SimpleTransmission\u003C/",[112,14714,14709],{"class":2386},[112,14716,2398],{"class":146},[112,14718,14719,14721,14724,14726,14728,14731],{"class":114,"line":176},[112,14720,3284],{"class":146},[112,14722,14723],{"class":2386},"joint",[112,14725,2390],{"class":132},[112,14727,1697],{"class":146},[112,14729,14730],{"class":136},"\"${joint_name}\"",[112,14732,2398],{"class":146},[112,14734,14735,14738,14741,14744,14746],{"class":114,"line":181},[112,14736,14737],{"class":146},"                \u003C",[112,14739,14740],{"class":2386},"hardwareInterface",[112,14742,14743],{"class":146},">hardware_interface/VelocityJointInterface\u003C/",[112,14745,14740],{"class":2386},[112,14747,2398],{"class":146},[112,14749,14750,14752,14754],{"class":114,"line":187},[112,14751,3323],{"class":146},[112,14753,14723],{"class":2386},[112,14755,2398],{"class":146},[112,14757,14758,14760,14763,14765,14767,14770],{"class":114,"line":434},[112,14759,3284],{"class":146},[112,14761,14762],{"class":2386},"actuator",[112,14764,2390],{"class":132},[112,14766,1697],{"class":146},[112,14768,14769],{"class":136},"\"${joint_name}_motor\"",[112,14771,2398],{"class":146},[112,14773,14774,14776,14778,14780,14782],{"class":114,"line":440},[112,14775,14737],{"class":146},[112,14777,14740],{"class":2386},[112,14779,14743],{"class":146},[112,14781,14740],{"class":2386},[112,14783,2398],{"class":146},[112,14785,14786,14788,14791,14793,14795],{"class":114,"line":446},[112,14787,14737],{"class":146},[112,14789,14790],{"class":2386},"mechanicalReduction",[112,14792,2991],{"class":146},[112,14794,14790],{"class":2386},[112,14796,2398],{"class":146},[112,14798,14799,14801,14803],{"class":114,"line":452},[112,14800,3323],{"class":146},[112,14802,14762],{"class":2386},[112,14804,2398],{"class":146},[112,14806,14807,14809,14811],{"class":114,"line":1674},[112,14808,2840],{"class":146},[112,14810,14693],{"class":2386},[112,14812,2398],{"class":146},[112,14814,14815,14817,14819],{"class":114,"line":1686},[112,14816,2501],{"class":146},[112,14818,2561],{"class":2386},[112,14820,2398],{"class":146},[112,14822,14823],{"class":114,"line":1691},[112,14824,119],{"emptyLinePlaceholder":118},[112,14826,14827,14829,14832,14835,14837,14840],{"class":114,"line":1708},[112,14828,2420],{"class":146},[112,14830,14831],{"class":2386},"xacro:joint_trans",[112,14833,14834],{"class":132}," joint_name",[112,14836,1697],{"class":146},[112,14838,14839],{"class":136},"\"LeftFrontwheelToBase\"",[112,14841,2444],{"class":146},[112,14843,14844,14846,14848,14850,14852,14855],{"class":114,"line":1723},[112,14845,2420],{"class":146},[112,14847,14831],{"class":2386},[112,14849,14834],{"class":132},[112,14851,1697],{"class":146},[112,14853,14854],{"class":136},"\"LeftBackwheelToBase\"",[112,14856,2444],{"class":146},[112,14858,14859,14861,14863,14865,14867,14870],{"class":114,"line":1745},[112,14860,2420],{"class":146},[112,14862,14831],{"class":2386},[112,14864,14834],{"class":132},[112,14866,1697],{"class":146},[112,14868,14869],{"class":136},"\"RightFrontwheelToBase\"",[112,14871,2444],{"class":146},[112,14873,14874,14876,14878,14880,14882,14885],{"class":114,"line":1750},[112,14875,2420],{"class":146},[112,14877,14831],{"class":2386},[112,14879,14834],{"class":132},[112,14881,1697],{"class":146},[112,14883,14884],{"class":136},"\"RightBackwheelToBase\"",[112,14886,2444],{"class":146},[112,14888,14889],{"class":114,"line":1761},[112,14890,119],{"emptyLinePlaceholder":118},[112,14892,14893,14895,14897],{"class":114,"line":1767},[112,14894,2420],{"class":146},[112,14896,13697],{"class":2386},[112,14898,2398],{"class":146},[112,14900,14901,14903,14905,14907,14909,14912,14914,14916,14919],{"class":114,"line":1785},[112,14902,2604],{"class":146},[112,14904,3024],{"class":2386},[112,14906,2390],{"class":132},[112,14908,1697],{"class":146},[112,14910,14911],{"class":136},"\"mecanum_controller\"",[112,14913,3034],{"class":132},[112,14915,1697],{"class":146},[112,14917,14918],{"class":136},"\"libgazebo_ros_planar_move.so\"",[112,14920,2398],{"class":146},[112,14922,14923,14925,14928,14931,14933],{"class":114,"line":1797},[112,14924,3284],{"class":146},[112,14926,14927],{"class":2386},"commandTopic",[112,14929,14930],{"class":146},">cmd_vel\u003C/",[112,14932,14927],{"class":2386},[112,14934,2398],{"class":146},[112,14936,14937,14939,14942,14944,14946],{"class":114,"line":1815},[112,14938,3284],{"class":146},[112,14940,14941],{"class":2386},"odometryTopic",[112,14943,14076],{"class":146},[112,14945,14941],{"class":2386},[112,14947,2398],{"class":146},[112,14949,14950,14952,14955,14957,14959],{"class":114,"line":1821},[112,14951,3284],{"class":146},[112,14953,14954],{"class":2386},"odometryFrame",[112,14956,14076],{"class":146},[112,14958,14954],{"class":2386},[112,14960,2398],{"class":146},[112,14962,14963,14965,14968,14971,14973],{"class":114,"line":1827},[112,14964,3284],{"class":146},[112,14966,14967],{"class":2386},"leftFrontJoint",[112,14969,14970],{"class":146},">LeftFrontwheelToBase\u003C/",[112,14972,14967],{"class":2386},[112,14974,2398],{"class":146},[112,14976,14977,14979,14982,14985,14987],{"class":114,"line":1832},[112,14978,3284],{"class":146},[112,14980,14981],{"class":2386},"rightFrontJoint",[112,14983,14984],{"class":146},">RightFrontwheelToBase\u003C/",[112,14986,14981],{"class":2386},[112,14988,2398],{"class":146},[112,14990,14991,14993,14996,14999,15001],{"class":114,"line":1838},[112,14992,3284],{"class":146},[112,14994,14995],{"class":2386},"leftRearJoint",[112,14997,14998],{"class":146},">LeftBackwheelToBase\u003C/",[112,15000,14995],{"class":2386},[112,15002,2398],{"class":146},[112,15004,15005,15007,15010,15013,15015],{"class":114,"line":1849},[112,15006,3284],{"class":146},[112,15008,15009],{"class":2386},"rightRearJoint",[112,15011,15012],{"class":146},">RightBackwheelToBase\u003C/",[112,15014,15009],{"class":2386},[112,15016,2398],{"class":146},[112,15018,15019,15021,15024,15026,15028],{"class":114,"line":1863},[112,15020,3284],{"class":146},[112,15022,15023],{"class":2386},"odometryRate",[112,15025,3584],{"class":146},[112,15027,15023],{"class":2386},[112,15029,2398],{"class":146},[112,15031,15032,15034,15037,15039,15041],{"class":114,"line":1875},[112,15033,3284],{"class":146},[112,15035,15036],{"class":2386},"robotBaseFrame",[112,15038,14090],{"class":146},[112,15040,15036],{"class":2386},[112,15042,2398],{"class":146},[112,15044,15045,15047,15050,15052,15054],{"class":114,"line":1902},[112,15046,3284],{"class":146},[112,15048,15049],{"class":2386},"broadcastTF",[112,15051,2991],{"class":146},[112,15053,15049],{"class":2386},[112,15055,2398],{"class":146},[112,15057,15058,15060,15062],{"class":114,"line":1918},[112,15059,2840],{"class":146},[112,15061,3024],{"class":2386},[112,15063,2398],{"class":146},[112,15065,15066,15068,15070],{"class":114,"line":1923},[112,15067,2501],{"class":146},[112,15069,13697],{"class":2386},[112,15071,2398],{"class":146},[112,15073,15074],{"class":114,"line":1928},[112,15075,119],{"emptyLinePlaceholder":118},[112,15077,15078,15080,15082],{"class":114,"line":1934},[112,15079,2519],{"class":146},[112,15081,2387],{"class":2386},[112,15083,2398],{"class":146},[15,15085,15086],{},[50,15087,15088],{},"修改launch文件",[15,15090,15091],{},"修改gazebo_sim_world.launch.py文件，修改后的代码如下：",[102,15093,15095],{"className":1547,"code":15094,"language":1549,"meta":107,"style":107},"import os\n\nfrom ament_index_python.packages import get_package_share_directory\n\nfrom launch import LaunchDescription\nfrom launch.actions import IncludeLaunchDescription\nfrom launch.launch_description_sources import PythonLaunchDescriptionSource\nfrom launch_ros.actions import Node\n\ndef generate_launch_description():\n\n    this_pkg = get_package_share_directory(\"demo_gazebo_sim\")\n    mycar_desc_pkg = get_package_share_directory(\"mycar_description\")\n    pkg_ros_gz_sim = get_package_share_directory(\"ros_gz_sim\")\n    world_file = os.path.join(this_pkg,\"world\",\"base.sdf\")\n\n    gz_sim = IncludeLaunchDescription(\n        PythonLaunchDescriptionSource(\n            os.path.join(pkg_ros_gz_sim, \"launch\", \"gz_sim.launch.py\")),\n        launch_arguments={\n            \"gz_args\": \"-r \" + world_file\n        }.items(),\n    )\n    mycar_desc = IncludeLaunchDescription(\n        PythonLaunchDescriptionSource(\n            os.path.join(mycar_desc_pkg,\"launch\",\"mycar_desc_sim.launch.py\")\n        )\n    )\n    spawn = Node(package=\"ros_gz_sim\", executable=\"create\",\n                arguments=[\n                \"-name\", \"mycar\",\n                \"-x\", \"-4\",\n                \"-z\", \"0.01\", #设置为0,可能会陷进地里\n                \"-y\", \"0\",\n                \"-topic\", \"/robot_description\"],\n            output=\"screen\")\n\n    # Bridge\n    bridge = Node(\n        package=\"ros_gz_bridge\",\n        executable=\"parameter_bridge\",\n        arguments=[\"/cmd_vel@geometry_msgs/msg/Twist@gz.msgs.Twist\",\n                   \"/model/mycar/odometry@nav_msgs/msg/Odometry@gz.msgs.Odometry\",\n                   \"/model/mycar/tf@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V\",\n                   \"/clock@rosgraph_msgs/msg/Clock[gz.msgs.Clock\",\n                   \"/world/empty/model/mycar/joint_state@sensor_msgs/msg/JointState[gz.msgs.Model\",\n                   ],\n        parameters=[{\"qos_overrides./model/mycar.subscriber.reliability\": \"reliable\"}],\n        remappings=[\n                (\"/model/mycar/tf\", \"/tf\"),\n                (\"/world/empty/model/mycar/joint_state\",\"joint_states\"),\n                (\"/model/mycar/odometry\",\"/odom\")\n            ],\n        output=\"screen\"\n    )\n\n    return LaunchDescription([\n        gz_sim,\n        spawn,\n        mycar_desc,\n        bridge\n    ])\n",[109,15096,15097,15103,15107,15117,15121,15131,15141,15151,15161,15165,15173,15177,15189,15201,15213,15230,15234,15242,15246,15258,15266,15278,15282,15286,15294,15298,15310,15314,15318,15342,15350,15360,15371,15383,15393,15403,15413,15417,15421,15429,15440,15451,15464,15471,15478,15485,15492,15496,15514,15522,15536,15550,15564,15568,15577,15581,15585,15591,15595,15599,15603,15608],{"__ignoreMap":107},[112,15098,15099,15101],{"class":114,"line":115},[112,15100,1556],{"class":765},[112,15102,1559],{"class":146},[112,15104,15105],{"class":114,"line":122},[112,15106,119],{"emptyLinePlaceholder":118},[112,15108,15109,15111,15113,15115],{"class":114,"line":129},[112,15110,1568],{"class":765},[112,15112,1571],{"class":146},[112,15114,1556],{"class":765},[112,15116,1576],{"class":146},[112,15118,15119],{"class":114,"line":153},[112,15120,119],{"emptyLinePlaceholder":118},[112,15122,15123,15125,15127,15129],{"class":114,"line":158},[112,15124,1568],{"class":765},[112,15126,1587],{"class":146},[112,15128,1556],{"class":765},[112,15130,1592],{"class":146},[112,15132,15133,15135,15137,15139],{"class":114,"line":164},[112,15134,1568],{"class":765},[112,15136,1599],{"class":146},[112,15138,1556],{"class":765},[112,15140,1615],{"class":146},[112,15142,15143,15145,15147,15149],{"class":114,"line":176},[112,15144,1568],{"class":765},[112,15146,1634],{"class":146},[112,15148,1556],{"class":765},[112,15150,1639],{"class":146},[112,15152,15153,15155,15157,15159],{"class":114,"line":181},[112,15154,1568],{"class":765},[112,15156,1662],{"class":146},[112,15158,1556],{"class":765},[112,15160,1667],{"class":146},[112,15162,15163],{"class":114,"line":187},[112,15164,119],{"emptyLinePlaceholder":118},[112,15166,15167,15169,15171],{"class":114,"line":434},[112,15168,1677],{"class":765},[112,15170,1680],{"class":132},[112,15172,1683],{"class":146},[112,15174,15175],{"class":114,"line":440},[112,15176,119],{"emptyLinePlaceholder":118},[112,15178,15179,15181,15183,15185,15187],{"class":114,"line":446},[112,15180,1694],{"class":146},[112,15182,1697],{"class":765},[112,15184,1700],{"class":146},[112,15186,13329],{"class":136},[112,15188,1466],{"class":146},[112,15190,15191,15193,15195,15197,15199],{"class":114,"line":452},[112,15192,13336],{"class":146},[112,15194,1697],{"class":765},[112,15196,1700],{"class":146},[112,15198,13058],{"class":136},[112,15200,1466],{"class":146},[112,15202,15203,15205,15207,15209,15211],{"class":114,"line":1674},[112,15204,1711],{"class":146},[112,15206,1697],{"class":765},[112,15208,1700],{"class":146},[112,15210,13355],{"class":136},[112,15212,1466],{"class":146},[112,15214,15215,15217,15219,15221,15223,15225,15228],{"class":114,"line":1686},[112,15216,1726],{"class":146},[112,15218,1697],{"class":765},[112,15220,1731],{"class":146},[112,15222,9211],{"class":136},[112,15224,1737],{"class":146},[112,15226,15227],{"class":136},"\"base.sdf\"",[112,15229,1466],{"class":146},[112,15231,15232],{"class":114,"line":1691},[112,15233,119],{"emptyLinePlaceholder":118},[112,15235,15236,15238,15240],{"class":114,"line":1708},[112,15237,1753],{"class":146},[112,15239,1697],{"class":765},[112,15241,1758],{"class":146},[112,15243,15244],{"class":114,"line":1723},[112,15245,1764],{"class":146},[112,15247,15248,15250,15252,15254,15256],{"class":114,"line":1745},[112,15249,1770],{"class":146},[112,15251,13396],{"class":136},[112,15253,1776],{"class":146},[112,15255,13401],{"class":136},[112,15257,1782],{"class":146},[112,15259,15260,15262,15264],{"class":114,"line":1750},[112,15261,1789],{"class":1788},[112,15263,1697],{"class":765},[112,15265,1794],{"class":146},[112,15267,15268,15270,15272,15274,15276],{"class":114,"line":1761},[112,15269,13416],{"class":136},[112,15271,1803],{"class":146},[112,15273,13421],{"class":136},[112,15275,1809],{"class":765},[112,15277,1812],{"class":146},[112,15279,15280],{"class":114,"line":1767},[112,15281,1818],{"class":146},[112,15283,15284],{"class":114,"line":1785},[112,15285,1824],{"class":146},[112,15287,15288,15290,15292],{"class":114,"line":1797},[112,15289,13438],{"class":146},[112,15291,1697],{"class":765},[112,15293,1758],{"class":146},[112,15295,15296],{"class":114,"line":1815},[112,15297,1764],{"class":146},[112,15299,15300,15302,15304,15306,15308],{"class":114,"line":1821},[112,15301,13451],{"class":146},[112,15303,13396],{"class":136},[112,15305,1737],{"class":146},[112,15307,13458],{"class":136},[112,15309,1466],{"class":146},[112,15311,15312],{"class":114,"line":1827},[112,15313,13465],{"class":146},[112,15315,15316],{"class":114,"line":1832},[112,15317,1824],{"class":146},[112,15319,15320,15322,15324,15326,15328,15330,15332,15334,15336,15338,15340],{"class":114,"line":1838},[112,15321,13474],{"class":146},[112,15323,1697],{"class":765},[112,15325,13479],{"class":146},[112,15327,13482],{"class":1788},[112,15329,1697],{"class":765},[112,15331,13355],{"class":136},[112,15333,1776],{"class":146},[112,15335,13491],{"class":1788},[112,15337,1697],{"class":765},[112,15339,13496],{"class":136},[112,15341,1860],{"class":146},[112,15343,15344,15346,15348],{"class":114,"line":1849},[112,15345,13503],{"class":1788},[112,15347,1697],{"class":765},[112,15349,2037],{"class":146},[112,15351,15352,15354,15356,15358],{"class":114,"line":1863},[112,15353,13512],{"class":136},[112,15355,1776],{"class":146},[112,15357,13517],{"class":136},[112,15359,1860],{"class":146},[112,15361,15362,15364,15366,15369],{"class":114,"line":1875},[112,15363,13524],{"class":136},[112,15365,1776],{"class":146},[112,15367,15368],{"class":136},"\"-4\"",[112,15370,1860],{"class":146},[112,15372,15373,15375,15377,15379,15381],{"class":114,"line":1902},[112,15374,13536],{"class":136},[112,15376,1776],{"class":146},[112,15378,13541],{"class":136},[112,15380,1776],{"class":146},[112,15382,13546],{"class":125},[112,15384,15385,15387,15389,15391],{"class":114,"line":1918},[112,15386,13551],{"class":136},[112,15388,1776],{"class":146},[112,15390,13529],{"class":136},[112,15392,1860],{"class":146},[112,15394,15395,15397,15399,15401],{"class":114,"line":1923},[112,15396,13562],{"class":136},[112,15398,1776],{"class":146},[112,15400,13567],{"class":136},[112,15402,13570],{"class":146},[112,15404,15405,15407,15409,15411],{"class":114,"line":1928},[112,15406,13575],{"class":1788},[112,15408,1697],{"class":765},[112,15410,13580],{"class":136},[112,15412,1466],{"class":146},[112,15414,15415],{"class":114,"line":1934},[112,15416,119],{"emptyLinePlaceholder":118},[112,15418,15419],{"class":114,"line":1944},[112,15420,1931],{"class":125},[112,15422,15423,15425,15427],{"class":114,"line":1957},[112,15424,1937],{"class":146},[112,15426,1697],{"class":765},[112,15428,1846],{"class":146},[112,15430,15431,15433,15435,15438],{"class":114,"line":1970},[112,15432,1947],{"class":1788},[112,15434,1697],{"class":765},[112,15436,15437],{"class":136},"\"ros_gz_bridge\"",[112,15439,1860],{"class":146},[112,15441,15442,15444,15446,15449],{"class":114,"line":1985},[112,15443,1960],{"class":1788},[112,15445,1697],{"class":765},[112,15447,15448],{"class":136},"\"parameter_bridge\"",[112,15450,1860],{"class":146},[112,15452,15453,15455,15457,15459,15462],{"class":114,"line":1993},[112,15454,1973],{"class":1788},[112,15456,1697],{"class":765},[112,15458,799],{"class":146},[112,15460,15461],{"class":136},"\"/cmd_vel@geometry_msgs/msg/Twist@gz.msgs.Twist\"",[112,15463,1860],{"class":146},[112,15465,15466,15469],{"class":114,"line":2001},[112,15467,15468],{"class":136},"                   \"/model/mycar/odometry@nav_msgs/msg/Odometry@gz.msgs.Odometry\"",[112,15470,1860],{"class":146},[112,15472,15473,15476],{"class":114,"line":2007},[112,15474,15475],{"class":136},"                   \"/model/mycar/tf@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V\"",[112,15477,1860],{"class":146},[112,15479,15480,15483],{"class":114,"line":2029},[112,15481,15482],{"class":136},"                   \"/clock@rosgraph_msgs/msg/Clock[gz.msgs.Clock\"",[112,15484,1860],{"class":146},[112,15486,15487,15490],{"class":114,"line":2040},[112,15488,15489],{"class":136},"                   \"/world/empty/model/mycar/joint_state@sensor_msgs/msg/JointState[gz.msgs.Model\"",[112,15491,1860],{"class":146},[112,15493,15494],{"class":114,"line":2057},[112,15495,2004],{"class":146},[112,15497,15498,15500,15502,15504,15507,15509,15512],{"class":114,"line":2072},[112,15499,2010],{"class":1788},[112,15501,1697],{"class":765},[112,15503,2015],{"class":146},[112,15505,15506],{"class":136},"\"qos_overrides./model/mycar.subscriber.reliability\"",[112,15508,1803],{"class":146},[112,15510,15511],{"class":136},"\"reliable\"",[112,15513,2026],{"class":146},[112,15515,15516,15518,15520],{"class":114,"line":2078},[112,15517,2032],{"class":1788},[112,15519,1697],{"class":765},[112,15521,2037],{"class":146},[112,15523,15524,15526,15529,15531,15534],{"class":114,"line":2089},[112,15525,2043],{"class":146},[112,15527,15528],{"class":136},"\"/model/mycar/tf\"",[112,15530,1776],{"class":146},[112,15532,15533],{"class":136},"\"/tf\"",[112,15535,2054],{"class":146},[112,15537,15538,15540,15543,15545,15548],{"class":114,"line":2094},[112,15539,2043],{"class":146},[112,15541,15542],{"class":136},"\"/world/empty/model/mycar/joint_state\"",[112,15544,1737],{"class":146},[112,15546,15547],{"class":136},"\"joint_states\"",[112,15549,2054],{"class":146},[112,15551,15552,15554,15557,15559,15562],{"class":114,"line":2099},[112,15553,2043],{"class":146},[112,15555,15556],{"class":136},"\"/model/mycar/odometry\"",[112,15558,1737],{"class":146},[112,15560,15561],{"class":136},"\"/odom\"",[112,15563,1466],{"class":146},[112,15565,15566],{"class":114,"line":2108},[112,15567,2075],{"class":146},[112,15569,15570,15572,15574],{"class":114,"line":2114},[112,15571,2081],{"class":1788},[112,15573,1697],{"class":765},[112,15575,15576],{"class":136},"\"screen\"\n",[112,15578,15579],{"class":114,"line":2134},[112,15580,1824],{"class":146},[112,15582,15583],{"class":114,"line":2147},[112,15584,119],{"emptyLinePlaceholder":118},[112,15586,15587,15589],{"class":114,"line":2153},[112,15588,2102],{"class":765},[112,15590,2105],{"class":146},[112,15592,15593],{"class":114,"line":2159},[112,15594,2111],{"class":146},[112,15596,15597],{"class":114,"line":3638},[112,15598,13601],{"class":146},[112,15600,15601],{"class":114,"line":3651},[112,15602,13606],{"class":146},[112,15604,15605],{"class":114,"line":3665},[112,15606,15607],{"class":146},"        bridge\n",[112,15609,15610],{"class":114,"line":3678},[112,15611,2162],{"class":146},[15,15613,15614],{},[50,15615,2175],{},[15,15617,2178],{},[102,15619,15620],{"className":104,"code":13619,"language":106,"meta":107,"style":107},[109,15621,15622],{"__ignoreMap":107},[112,15623,15624,15626,15628,15630,15632],{"class":114,"line":115},[112,15625,2188],{"class":132},[112,15627,2191],{"class":136},[112,15629,13630],{"class":576},[112,15631,13633],{"class":136},[112,15633,1432],{"class":136},[15,15635,15636],{},[50,15637,2206],{},[15,15639,2209],{},[102,15641,15643],{"className":104,"code":15642,"language":106,"meta":107,"style":107},". install/setup.bash\nexport MYCAR_MODEL=stm32_4w # MYCAR_MODEL值可以设置为arduino、stm32_2w 或stm32_4w（这个是具体的urdf文件名，在mycar_description包下的）\nros2 launch demo_gazebo_sim gazebo_sim_world.launch.py\n",[109,15644,15645,15651,15664],{"__ignoreMap":107},[112,15646,15647,15649],{"class":114,"line":115},[112,15648,2219],{"class":576},[112,15650,2222],{"class":136},[112,15652,15653,15655,15657,15659,15662],{"class":114,"line":122},[112,15654,9406],{"class":765},[112,15656,13669],{"class":146},[112,15658,1697],{"class":765},[112,15660,15661],{"class":146},"stm32_4w ",[112,15663,13662],{"class":125},[112,15665,15666,15668,15670,15672],{"class":114,"line":129},[112,15667,263],{"class":132},[112,15669,266],{"class":136},[112,15671,2231],{"class":136},[112,15673,9339],{"class":136},[15,15675,15676],{},"再启动键盘控制节点，就可以控制机器人运动了。",[102,15678,15679],{"className":104,"code":2240,"language":106,"meta":107,"style":107},[109,15680,15681],{"__ignoreMap":107},[112,15682,15683,15685,15687,15689],{"class":114,"line":115},[112,15684,263],{"class":132},[112,15686,663],{"class":136},[112,15688,711],{"class":136},[112,15690,2253],{"class":136},[15,15692,15693],{},"还可以启动rviz2，以查看里程计消息以及坐标变换。终端中进入当前工作空间，调用如下指令执行launch文件：",[15,15695,15696],{},"启动rviz2",[102,15698,15700],{"className":104,"code":15699,"language":106,"meta":107,"style":107},". install/setup.bash\nrviz2\n",[109,15701,15702,15708],{"__ignoreMap":107},[112,15703,15704,15706],{"class":114,"line":115},[112,15705,2219],{"class":576},[112,15707,2222],{"class":136},[112,15709,15710],{"class":114,"line":122},[112,15711,15712],{"class":132},"rviz2\n",[15,15714,15715],{},"RVIZ2软件配置如下图所示：",[15,15717,15718,15721],{},[200,15719],{"alt":107,"src":15720},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1735.webp",[200,15722],{"alt":107,"src":15723},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1736.webp",[15,15725,15726],{},[200,15727],{"alt":107,"src":15728},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1737.webp",[27,15730,15732],{"id":15731},"ignition-gazebo仿真之传感器","Ignition Gazebo仿真之传感器",[15,15734,15735],{},"本节将介绍如何为仿真机器人添加雷达、相机等传感器。本节代码部分内容对于我们教程中涉及到的arduino、stm32_2w以及stm32_4w等机器人模型而言是完全通用的。",[15,15737,15738],{},[50,15739,15740],{},"添加传感器插件",[15,15742,15743,15744,15747,15748,15750],{},"在进行传感器模拟之前，需要先添加一个名为",[109,15745,15746],{},"ignition-gazebo-sensors-system","的插件，打开urdf文件，在",[109,15749,13956],{},"根标签内添加如下代码：",[102,15752,15754],{"className":2374,"code":15753,"language":2376,"meta":107,"style":107},"\n\u003Cgazebo>\n    \u003Cplugin\n      filename=\"ignition-gazebo-sensors-system\"\n      name=\"ignition::gazebo::systems::Sensors\">\n      \u003Crender_engine>ogre2\u003C/render_engine>\n    \u003C/plugin>\n  \u003C/gazebo>\n",[109,15755,15756,15760,15768,15774,15784,15795,15809,15817],{"__ignoreMap":107},[112,15757,15758],{"class":114,"line":115},[112,15759,119],{"emptyLinePlaceholder":118},[112,15761,15762,15764,15766],{"class":114,"line":122},[112,15763,2383],{"class":146},[112,15765,13697],{"class":2386},[112,15767,2398],{"class":146},[112,15769,15770,15772],{"class":114,"line":129},[112,15771,2420],{"class":146},[112,15773,14318],{"class":2386},[112,15775,15776,15779,15781],{"class":114,"line":153},[112,15777,15778],{"class":132},"      filename",[112,15780,1697],{"class":146},[112,15782,15783],{"class":136},"\"ignition-gazebo-sensors-system\"\n",[112,15785,15786,15788,15790,15793],{"class":114,"line":158},[112,15787,14266],{"class":132},[112,15789,1697],{"class":146},[112,15791,15792],{"class":136},"\"ignition::gazebo::systems::Sensors\"",[112,15794,2398],{"class":146},[112,15796,15797,15799,15802,15805,15807],{"class":114,"line":164},[112,15798,2430],{"class":146},[112,15800,15801],{"class":2386},"render_engine",[112,15803,15804],{"class":146},">ogre2\u003C/",[112,15806,15801],{"class":2386},[112,15808,2398],{"class":146},[112,15810,15811,15813,15815],{"class":114,"line":176},[112,15812,2501],{"class":146},[112,15814,3024],{"class":2386},[112,15816,2398],{"class":146},[112,15818,15819,15821,15823],{"class":114,"line":181},[112,15820,2510],{"class":146},[112,15822,13697],{"class":2386},[112,15824,2398],{"class":146},[15,15826,15827],{},"ignition-gazebo-sensors-system是Ignition Gazebo仿真环境的插件，提供传感器模型和相关功能，用于创建、模拟和测试各种传感器设备。它包含常见传感器模型，如摄像头、激光雷达等。",[15,15829,15830],{},[50,15831,15832],{},"添加各种传感器",[15,15834,15835],{},[50,15836,15837],{},"(注意，你的模型一定要有以下几个传感器的模型)",[15,15839,15840],{},"雷达的模型不需要collision，请删掉，否则会挡激光射出。",[102,15842,15844],{"className":2374,"code":15843,"language":2376,"meta":107,"style":107},"\n  \u003Cgazebo reference=\"laser\">\n    \u003Csensor name='gpu_lidar' type='gpu_lidar'>\n      \u003Ctopic>scan\u003C/topic>\n      \u003Cupdate_rate>30\u003C/update_rate>\n      \u003Clidar>\n        \u003Cscan>\n          \u003Chorizontal>\n            \u003Csamples>640\u003C/samples>\n            \u003Cresolution>1\u003C/resolution>\n            \u003Cmin_angle>-3.1415926\u003C/min_angle>\n            \u003Cmax_angle>3.1415926\u003C/max_angle>\n          \u003C/horizontal>\n          \u003Cvertical>\n            \u003Csamples>16\u003C/samples>\n            \u003Cresolution>1\u003C/resolution>\n            \u003Cmin_angle>-0.261799\u003C/min_angle>\n            \u003Cmax_angle>0.261799\u003C/max_angle>\n          \u003C/vertical>\n        \u003C/scan>\n        \u003Crange>\n          \u003Cmin>0.08\u003C/min>\n          \u003Cmax>10.0\u003C/max>\n          \u003Cresolution>0.01\u003C/resolution>\n        \u003C/range>\n      \u003C/lidar>\n      \u003CalwaysOn>1\u003C/alwaysOn>\n      \u003Cvisualize>true\u003C/visualize>\n      \u003Cignition_frame_id>laser\u003C/ignition_frame_id>\n    \u003C/sensor>\n  \u003C/gazebo>\n\n  \u003Cgazebo reference=\"camera\" >\n    \u003Csensor name=\"cam_link\" type=\"camera\">\n      \u003Cupdate_rate>10.0\u003C/update_rate>\n      \u003Calways_on>true\u003C/always_on>\n      \u003Cignition_frame_id>camera\u003C/ignition_frame_id>\n      \u003Cpose>0 0 0 0 0 0\u003C/pose>\n      \u003Ctopic>/image_raw\u003C/topic>\n      \u003Ccamera name=\"my_camera\">\n        \u003Chorizontal_fov>1.3962634\u003C/horizontal_fov>\n        \u003Cimage>\n           \u003Cwidth>600\u003C/width>\n           \u003Cheight>600\u003C/height>\n           \u003Cformat>R8G8B8\u003C/format>\n        \u003C/image>\n        \u003Cclip>\n          \u003Cnear>0.02\u003C/near>\n          \u003Cfar>300\u003C/far>\n        \u003C/clip>\n      \u003C/camera>\n    \u003C/sensor>\n  \u003C/gazebo>\n\n  \u003Cgazebo reference=\"camera\">\n    \u003Csensor name=\"depth_camera\" type=\"depth_camera\">\n          \u003Cupdate_rate>10\u003C/update_rate>\n          \u003Ctopic>depth_camera\u003C/topic>\n          \u003Ccamera>\n            \u003Chorizontal_fov>1.05\u003C/horizontal_fov>\n            \u003Cimage>\n              \u003Cwidth>256\u003C/width>\n              \u003Cheight>256\u003C/height>\n              \u003Cformat>R_FLOAT32\u003C/format>\n            \u003C/image>\n            \u003Cclip>\n              \u003Cnear>0.1\u003C/near>\n              \u003Cfar>10.0\u003C/far>\n            \u003C/clip>\n          \u003C/camera>\n          \u003CalwaysOn>1\u003C/alwaysOn>\n          \u003Cignition_frame_id>camera\u003C/ignition_frame_id>\n      \u003C/sensor>\n  \u003C/gazebo>\n",[109,15845,15846,15850,15866,15888,15901,15914,15923,15932,15941,15955,15968,15982,15996,16004,16013,16026,16038,16051,16064,16072,16080,16088,16102,16116,16128,16136,16144,16157,16170,16184,16192,16200,16204,16220,16241,16253,16266,16279,16292,16305,16321,16335,16344,16359,16372,16386,16394,16403,16417,16431,16439,16447,16455,16463,16467,16481,16502,16514,16527,16535,16548,16556,16569,16581,16594,16602,16610,16623,16635,16643,16651,16663,16675,16683],{"__ignoreMap":107},[112,15847,15848],{"class":114,"line":115},[112,15849,119],{"emptyLinePlaceholder":118},[112,15851,15852,15854,15856,15859,15861,15864],{"class":114,"line":122},[112,15853,2403],{"class":146},[112,15855,13697],{"class":2386},[112,15857,15858],{"class":132}," reference",[112,15860,1697],{"class":146},[112,15862,15863],{"class":136},"\"laser\"",[112,15865,2398],{"class":146},[112,15867,15868,15870,15873,15875,15877,15880,15882,15884,15886],{"class":114,"line":129},[112,15869,2420],{"class":146},[112,15871,15872],{"class":2386},"sensor",[112,15874,2390],{"class":132},[112,15876,1697],{"class":146},[112,15878,15879],{"class":136},"'gpu_lidar'",[112,15881,2960],{"class":132},[112,15883,1697],{"class":146},[112,15885,15879],{"class":136},[112,15887,2398],{"class":146},[112,15889,15890,15892,15894,15897,15899],{"class":114,"line":153},[112,15891,2430],{"class":146},[112,15893,14101],{"class":2386},[112,15895,15896],{"class":146},">scan\u003C/",[112,15898,14101],{"class":2386},[112,15900,2398],{"class":146},[112,15902,15903,15905,15907,15910,15912],{"class":114,"line":158},[112,15904,2430],{"class":146},[112,15906,13854],{"class":2386},[112,15908,15909],{"class":146},">30\u003C/",[112,15911,13854],{"class":2386},[112,15913,2398],{"class":146},[112,15915,15916,15918,15921],{"class":114,"line":164},[112,15917,2430],{"class":146},[112,15919,15920],{"class":2386},"lidar",[112,15922,2398],{"class":146},[112,15924,15925,15927,15930],{"class":114,"line":176},[112,15926,2604],{"class":146},[112,15928,15929],{"class":2386},"scan",[112,15931,2398],{"class":146},[112,15933,15934,15936,15939],{"class":114,"line":181},[112,15935,2800],{"class":146},[112,15937,15938],{"class":2386},"horizontal",[112,15940,2398],{"class":146},[112,15942,15943,15945,15948,15951,15953],{"class":114,"line":187},[112,15944,3284],{"class":146},[112,15946,15947],{"class":2386},"samples",[112,15949,15950],{"class":146},">640\u003C/",[112,15952,15947],{"class":2386},[112,15954,2398],{"class":146},[112,15956,15957,15959,15962,15964,15966],{"class":114,"line":434},[112,15958,3284],{"class":146},[112,15960,15961],{"class":2386},"resolution",[112,15963,2991],{"class":146},[112,15965,15961],{"class":2386},[112,15967,2398],{"class":146},[112,15969,15970,15972,15975,15978,15980],{"class":114,"line":440},[112,15971,3284],{"class":146},[112,15973,15974],{"class":2386},"min_angle",[112,15976,15977],{"class":146},">-3.1415926\u003C/",[112,15979,15974],{"class":2386},[112,15981,2398],{"class":146},[112,15983,15984,15986,15989,15992,15994],{"class":114,"line":446},[112,15985,3284],{"class":146},[112,15987,15988],{"class":2386},"max_angle",[112,15990,15991],{"class":146},">3.1415926\u003C/",[112,15993,15988],{"class":2386},[112,15995,2398],{"class":146},[112,15997,15998,16000,16002],{"class":114,"line":452},[112,15999,3332],{"class":146},[112,16001,15938],{"class":2386},[112,16003,2398],{"class":146},[112,16005,16006,16008,16011],{"class":114,"line":1674},[112,16007,2800],{"class":146},[112,16009,16010],{"class":2386},"vertical",[112,16012,2398],{"class":146},[112,16014,16015,16017,16019,16022,16024],{"class":114,"line":1686},[112,16016,3284],{"class":146},[112,16018,15947],{"class":2386},[112,16020,16021],{"class":146},">16\u003C/",[112,16023,15947],{"class":2386},[112,16025,2398],{"class":146},[112,16027,16028,16030,16032,16034,16036],{"class":114,"line":1691},[112,16029,3284],{"class":146},[112,16031,15961],{"class":2386},[112,16033,2991],{"class":146},[112,16035,15961],{"class":2386},[112,16037,2398],{"class":146},[112,16039,16040,16042,16044,16047,16049],{"class":114,"line":1708},[112,16041,3284],{"class":146},[112,16043,15974],{"class":2386},[112,16045,16046],{"class":146},">-0.261799\u003C/",[112,16048,15974],{"class":2386},[112,16050,2398],{"class":146},[112,16052,16053,16055,16057,16060,16062],{"class":114,"line":1723},[112,16054,3284],{"class":146},[112,16056,15988],{"class":2386},[112,16058,16059],{"class":146},">0.261799\u003C/",[112,16061,15988],{"class":2386},[112,16063,2398],{"class":146},[112,16065,16066,16068,16070],{"class":114,"line":1745},[112,16067,3332],{"class":146},[112,16069,16010],{"class":2386},[112,16071,2398],{"class":146},[112,16073,16074,16076,16078],{"class":114,"line":1750},[112,16075,2840],{"class":146},[112,16077,15929],{"class":2386},[112,16079,2398],{"class":146},[112,16081,16082,16084,16086],{"class":114,"line":1761},[112,16083,2604],{"class":146},[112,16085,5972],{"class":2386},[112,16087,2398],{"class":146},[112,16089,16090,16092,16095,16098,16100],{"class":114,"line":1767},[112,16091,2800],{"class":146},[112,16093,16094],{"class":2386},"min",[112,16096,16097],{"class":146},">0.08\u003C/",[112,16099,16094],{"class":2386},[112,16101,2398],{"class":146},[112,16103,16104,16106,16109,16112,16114],{"class":114,"line":1785},[112,16105,2800],{"class":146},[112,16107,16108],{"class":2386},"max",[112,16110,16111],{"class":146},">10.0\u003C/",[112,16113,16108],{"class":2386},[112,16115,2398],{"class":146},[112,16117,16118,16120,16122,16124,16126],{"class":114,"line":1797},[112,16119,2800],{"class":146},[112,16121,15961],{"class":2386},[112,16123,5989],{"class":146},[112,16125,15961],{"class":2386},[112,16127,2398],{"class":146},[112,16129,16130,16132,16134],{"class":114,"line":1815},[112,16131,2840],{"class":146},[112,16133,5972],{"class":2386},[112,16135,2398],{"class":146},[112,16137,16138,16140,16142],{"class":114,"line":1821},[112,16139,2664],{"class":146},[112,16141,15920],{"class":2386},[112,16143,2398],{"class":146},[112,16145,16146,16148,16151,16153,16155],{"class":114,"line":1827},[112,16147,2430],{"class":146},[112,16149,16150],{"class":2386},"alwaysOn",[112,16152,2991],{"class":146},[112,16154,16150],{"class":2386},[112,16156,2398],{"class":146},[112,16158,16159,16161,16164,16166,16168],{"class":114,"line":1832},[112,16160,2430],{"class":146},[112,16162,16163],{"class":2386},"visualize",[112,16165,3199],{"class":146},[112,16167,16163],{"class":2386},[112,16169,2398],{"class":146},[112,16171,16172,16174,16177,16180,16182],{"class":114,"line":1838},[112,16173,2430],{"class":146},[112,16175,16176],{"class":2386},"ignition_frame_id",[112,16178,16179],{"class":146},">laser\u003C/",[112,16181,16176],{"class":2386},[112,16183,2398],{"class":146},[112,16185,16186,16188,16190],{"class":114,"line":1849},[112,16187,2501],{"class":146},[112,16189,15872],{"class":2386},[112,16191,2398],{"class":146},[112,16193,16194,16196,16198],{"class":114,"line":1863},[112,16195,2510],{"class":146},[112,16197,13697],{"class":2386},[112,16199,2398],{"class":146},[112,16201,16202],{"class":114,"line":1875},[112,16203,119],{"emptyLinePlaceholder":118},[112,16205,16206,16208,16210,16212,16214,16217],{"class":114,"line":1902},[112,16207,2403],{"class":146},[112,16209,13697],{"class":2386},[112,16211,15858],{"class":132},[112,16213,1697],{"class":146},[112,16215,16216],{"class":136},"\"camera\"",[112,16218,16219],{"class":146}," >\n",[112,16221,16222,16224,16226,16228,16230,16233,16235,16237,16239],{"class":114,"line":1918},[112,16223,2420],{"class":146},[112,16225,15872],{"class":2386},[112,16227,2390],{"class":132},[112,16229,1697],{"class":146},[112,16231,16232],{"class":136},"\"cam_link\"",[112,16234,2960],{"class":132},[112,16236,1697],{"class":146},[112,16238,16216],{"class":136},[112,16240,2398],{"class":146},[112,16242,16243,16245,16247,16249,16251],{"class":114,"line":1923},[112,16244,2430],{"class":146},[112,16246,13854],{"class":2386},[112,16248,16111],{"class":146},[112,16250,13854],{"class":2386},[112,16252,2398],{"class":146},[112,16254,16255,16257,16260,16262,16264],{"class":114,"line":1928},[112,16256,2430],{"class":146},[112,16258,16259],{"class":2386},"always_on",[112,16261,3199],{"class":146},[112,16263,16259],{"class":2386},[112,16265,2398],{"class":146},[112,16267,16268,16270,16272,16275,16277],{"class":114,"line":1934},[112,16269,2430],{"class":146},[112,16271,16176],{"class":2386},[112,16273,16274],{"class":146},">camera\u003C/",[112,16276,16176],{"class":2386},[112,16278,2398],{"class":146},[112,16280,16281,16283,16285,16288,16290],{"class":114,"line":1944},[112,16282,2430],{"class":146},[112,16284,3548],{"class":2386},[112,16286,16287],{"class":146},">0 0 0 0 0 0\u003C/",[112,16289,3548],{"class":2386},[112,16291,2398],{"class":146},[112,16293,16294,16296,16298,16301,16303],{"class":114,"line":1957},[112,16295,2430],{"class":146},[112,16297,14101],{"class":2386},[112,16299,16300],{"class":146},">/image_raw\u003C/",[112,16302,14101],{"class":2386},[112,16304,2398],{"class":146},[112,16306,16307,16309,16312,16314,16316,16319],{"class":114,"line":1970},[112,16308,2430],{"class":146},[112,16310,16311],{"class":2386},"camera",[112,16313,2390],{"class":132},[112,16315,1697],{"class":146},[112,16317,16318],{"class":136},"\"my_camera\"",[112,16320,2398],{"class":146},[112,16322,16323,16325,16328,16331,16333],{"class":114,"line":1985},[112,16324,2604],{"class":146},[112,16326,16327],{"class":2386},"horizontal_fov",[112,16329,16330],{"class":146},">1.3962634\u003C/",[112,16332,16327],{"class":2386},[112,16334,2398],{"class":146},[112,16336,16337,16339,16342],{"class":114,"line":1993},[112,16338,2604],{"class":146},[112,16340,16341],{"class":2386},"image",[112,16343,2398],{"class":146},[112,16345,16346,16349,16352,16355,16357],{"class":114,"line":2001},[112,16347,16348],{"class":146},"           \u003C",[112,16350,16351],{"class":2386},"width",[112,16353,16354],{"class":146},">600\u003C/",[112,16356,16351],{"class":2386},[112,16358,2398],{"class":146},[112,16360,16361,16363,16366,16368,16370],{"class":114,"line":2007},[112,16362,16348],{"class":146},[112,16364,16365],{"class":2386},"height",[112,16367,16354],{"class":146},[112,16369,16365],{"class":2386},[112,16371,2398],{"class":146},[112,16373,16374,16376,16379,16382,16384],{"class":114,"line":2029},[112,16375,16348],{"class":146},[112,16377,16378],{"class":2386},"format",[112,16380,16381],{"class":146},">R8G8B8\u003C/",[112,16383,16378],{"class":2386},[112,16385,2398],{"class":146},[112,16387,16388,16390,16392],{"class":114,"line":2040},[112,16389,2840],{"class":146},[112,16391,16341],{"class":2386},[112,16393,2398],{"class":146},[112,16395,16396,16398,16401],{"class":114,"line":2057},[112,16397,2604],{"class":146},[112,16399,16400],{"class":2386},"clip",[112,16402,2398],{"class":146},[112,16404,16405,16407,16410,16413,16415],{"class":114,"line":2072},[112,16406,2800],{"class":146},[112,16408,16409],{"class":2386},"near",[112,16411,16412],{"class":146},">0.02\u003C/",[112,16414,16409],{"class":2386},[112,16416,2398],{"class":146},[112,16418,16419,16421,16424,16427,16429],{"class":114,"line":2078},[112,16420,2800],{"class":146},[112,16422,16423],{"class":2386},"far",[112,16425,16426],{"class":146},">300\u003C/",[112,16428,16423],{"class":2386},[112,16430,2398],{"class":146},[112,16432,16433,16435,16437],{"class":114,"line":2089},[112,16434,2840],{"class":146},[112,16436,16400],{"class":2386},[112,16438,2398],{"class":146},[112,16440,16441,16443,16445],{"class":114,"line":2094},[112,16442,2664],{"class":146},[112,16444,16311],{"class":2386},[112,16446,2398],{"class":146},[112,16448,16449,16451,16453],{"class":114,"line":2099},[112,16450,2501],{"class":146},[112,16452,15872],{"class":2386},[112,16454,2398],{"class":146},[112,16456,16457,16459,16461],{"class":114,"line":2108},[112,16458,2510],{"class":146},[112,16460,13697],{"class":2386},[112,16462,2398],{"class":146},[112,16464,16465],{"class":114,"line":2114},[112,16466,119],{"emptyLinePlaceholder":118},[112,16468,16469,16471,16473,16475,16477,16479],{"class":114,"line":2134},[112,16470,2403],{"class":146},[112,16472,13697],{"class":2386},[112,16474,15858],{"class":132},[112,16476,1697],{"class":146},[112,16478,16216],{"class":136},[112,16480,2398],{"class":146},[112,16482,16483,16485,16487,16489,16491,16494,16496,16498,16500],{"class":114,"line":2147},[112,16484,2420],{"class":146},[112,16486,15872],{"class":2386},[112,16488,2390],{"class":132},[112,16490,1697],{"class":146},[112,16492,16493],{"class":136},"\"depth_camera\"",[112,16495,2960],{"class":132},[112,16497,1697],{"class":146},[112,16499,16493],{"class":136},[112,16501,2398],{"class":146},[112,16503,16504,16506,16508,16510,16512],{"class":114,"line":2153},[112,16505,2800],{"class":146},[112,16507,13854],{"class":2386},[112,16509,14062],{"class":146},[112,16511,13854],{"class":2386},[112,16513,2398],{"class":146},[112,16515,16516,16518,16520,16523,16525],{"class":114,"line":2159},[112,16517,2800],{"class":146},[112,16519,14101],{"class":2386},[112,16521,16522],{"class":146},">depth_camera\u003C/",[112,16524,14101],{"class":2386},[112,16526,2398],{"class":146},[112,16528,16529,16531,16533],{"class":114,"line":3638},[112,16530,2800],{"class":146},[112,16532,16311],{"class":2386},[112,16534,2398],{"class":146},[112,16536,16537,16539,16541,16544,16546],{"class":114,"line":3651},[112,16538,3284],{"class":146},[112,16540,16327],{"class":2386},[112,16542,16543],{"class":146},">1.05\u003C/",[112,16545,16327],{"class":2386},[112,16547,2398],{"class":146},[112,16549,16550,16552,16554],{"class":114,"line":3665},[112,16551,3284],{"class":146},[112,16553,16341],{"class":2386},[112,16555,2398],{"class":146},[112,16557,16558,16560,16562,16565,16567],{"class":114,"line":3678},[112,16559,3294],{"class":146},[112,16561,16351],{"class":2386},[112,16563,16564],{"class":146},">256\u003C/",[112,16566,16351],{"class":2386},[112,16568,2398],{"class":146},[112,16570,16571,16573,16575,16577,16579],{"class":114,"line":3687},[112,16572,3294],{"class":146},[112,16574,16365],{"class":2386},[112,16576,16564],{"class":146},[112,16578,16365],{"class":2386},[112,16580,2398],{"class":146},[112,16582,16583,16585,16587,16590,16592],{"class":114,"line":3696},[112,16584,3294],{"class":146},[112,16586,16378],{"class":2386},[112,16588,16589],{"class":146},">R_FLOAT32\u003C/",[112,16591,16378],{"class":2386},[112,16593,2398],{"class":146},[112,16595,16596,16598,16600],{"class":114,"line":3711},[112,16597,3323],{"class":146},[112,16599,16341],{"class":2386},[112,16601,2398],{"class":146},[112,16603,16604,16606,16608],{"class":114,"line":3720},[112,16605,3284],{"class":146},[112,16607,16400],{"class":2386},[112,16609,2398],{"class":146},[112,16611,16612,16614,16616,16619,16621],{"class":114,"line":3733},[112,16613,3294],{"class":146},[112,16615,16409],{"class":2386},[112,16617,16618],{"class":146},">0.1\u003C/",[112,16620,16409],{"class":2386},[112,16622,2398],{"class":146},[112,16624,16625,16627,16629,16631,16633],{"class":114,"line":3747},[112,16626,3294],{"class":146},[112,16628,16423],{"class":2386},[112,16630,16111],{"class":146},[112,16632,16423],{"class":2386},[112,16634,2398],{"class":146},[112,16636,16637,16639,16641],{"class":114,"line":3756},[112,16638,3323],{"class":146},[112,16640,16400],{"class":2386},[112,16642,2398],{"class":146},[112,16644,16645,16647,16649],{"class":114,"line":3772},[112,16646,3332],{"class":146},[112,16648,16311],{"class":2386},[112,16650,2398],{"class":146},[112,16652,16653,16655,16657,16659,16661],{"class":114,"line":3786},[112,16654,2800],{"class":146},[112,16656,16150],{"class":2386},[112,16658,2991],{"class":146},[112,16660,16150],{"class":2386},[112,16662,2398],{"class":146},[112,16664,16665,16667,16669,16671,16673],{"class":114,"line":3802},[112,16666,2800],{"class":146},[112,16668,16176],{"class":2386},[112,16670,16274],{"class":146},[112,16672,16176],{"class":2386},[112,16674,2398],{"class":146},[112,16676,16677,16679,16681],{"class":114,"line":3811},[112,16678,2664],{"class":146},[112,16680,15872],{"class":2386},[112,16682,2398],{"class":146},[112,16684,16685,16687,16689],{"class":114,"line":3820},[112,16686,2510],{"class":146},[112,16688,13697],{"class":2386},[112,16690,2398],{"class":146},[15,16692,16693],{},"从官网找到的imu传感器的",[102,16695,16697],{"className":2374,"code":16696,"language":2376,"meta":107,"style":107},"\n    \u003Cgazebo>\n        \u003Cplugin filename=\"libignition-gazebo-imu-system.so\"\n                name=\"ignition::gazebo::systems::Imu\">\n        \u003C/plugin>\n    \u003C/gazebo>\n\n    \u003Cgazebo reference=\"base_link\">\n        \u003Csensor name=\"imu_sensor\" type=\"imu\">\n            \u003Calways_on>1\u003C/always_on>\n            \u003Cupdate_rate>30\u003C/update_rate>\n            \u003Cvisualize>true\u003C/visualize>\n            \u003Ctopic>imu\u003C/topic>\n        \u003C/sensor>\n    \u003C/gazebo>\n",[109,16698,16699,16703,16711,16724,16736,16744,16752,16756,16770,16792,16804,16816,16828,16841,16849],{"__ignoreMap":107},[112,16700,16701],{"class":114,"line":115},[112,16702,119],{"emptyLinePlaceholder":118},[112,16704,16705,16707,16709],{"class":114,"line":122},[112,16706,2420],{"class":146},[112,16708,13697],{"class":2386},[112,16710,2398],{"class":146},[112,16712,16713,16715,16717,16719,16721],{"class":114,"line":129},[112,16714,2604],{"class":146},[112,16716,3024],{"class":2386},[112,16718,3034],{"class":132},[112,16720,1697],{"class":146},[112,16722,16723],{"class":136},"\"libignition-gazebo-imu-system.so\"\n",[112,16725,16726,16729,16731,16734],{"class":114,"line":153},[112,16727,16728],{"class":132},"                name",[112,16730,1697],{"class":146},[112,16732,16733],{"class":136},"\"ignition::gazebo::systems::Imu\"",[112,16735,2398],{"class":146},[112,16737,16738,16740,16742],{"class":114,"line":158},[112,16739,2840],{"class":146},[112,16741,3024],{"class":2386},[112,16743,2398],{"class":146},[112,16745,16746,16748,16750],{"class":114,"line":164},[112,16747,2501],{"class":146},[112,16749,13697],{"class":2386},[112,16751,2398],{"class":146},[112,16753,16754],{"class":114,"line":176},[112,16755,119],{"emptyLinePlaceholder":118},[112,16757,16758,16760,16762,16764,16766,16768],{"class":114,"line":181},[112,16759,2420],{"class":146},[112,16761,13697],{"class":2386},[112,16763,15858],{"class":132},[112,16765,1697],{"class":146},[112,16767,2413],{"class":136},[112,16769,2398],{"class":146},[112,16771,16772,16774,16776,16778,16780,16783,16785,16787,16790],{"class":114,"line":187},[112,16773,2604],{"class":146},[112,16775,15872],{"class":2386},[112,16777,2390],{"class":132},[112,16779,1697],{"class":146},[112,16781,16782],{"class":136},"\"imu_sensor\"",[112,16784,2960],{"class":132},[112,16786,1697],{"class":146},[112,16788,16789],{"class":136},"\"imu\"",[112,16791,2398],{"class":146},[112,16793,16794,16796,16798,16800,16802],{"class":114,"line":434},[112,16795,3284],{"class":146},[112,16797,16259],{"class":2386},[112,16799,2991],{"class":146},[112,16801,16259],{"class":2386},[112,16803,2398],{"class":146},[112,16805,16806,16808,16810,16812,16814],{"class":114,"line":440},[112,16807,3284],{"class":146},[112,16809,13854],{"class":2386},[112,16811,15909],{"class":146},[112,16813,13854],{"class":2386},[112,16815,2398],{"class":146},[112,16817,16818,16820,16822,16824,16826],{"class":114,"line":446},[112,16819,3284],{"class":146},[112,16821,16163],{"class":2386},[112,16823,3199],{"class":146},[112,16825,16163],{"class":2386},[112,16827,2398],{"class":146},[112,16829,16830,16832,16834,16837,16839],{"class":114,"line":452},[112,16831,3284],{"class":146},[112,16833,14101],{"class":2386},[112,16835,16836],{"class":146},">imu\u003C/",[112,16838,14101],{"class":2386},[112,16840,2398],{"class":146},[112,16842,16843,16845,16847],{"class":114,"line":1674},[112,16844,2840],{"class":146},[112,16846,15872],{"class":2386},[112,16848,2398],{"class":146},[112,16850,16851,16853,16855],{"class":114,"line":1686},[112,16852,2501],{"class":146},[112,16854,13697],{"class":2386},[112,16856,2398],{"class":146},[15,16858,16859,16860,16863],{},"可以用",[109,16861,16862],{},"ign topic -e -t /imu","测试gazebo是否发布了话题，后面再用gazebo_bridge把话题给ROS2就行了。",[15,16865,16866],{},"默认情况下，rviz2没有显示imu消息的插件，需要自行安装相关插件，具体安装指令如下：",[102,16868,16872],{"className":16869,"code":16870,"language":16871,"meta":107,"style":107},"language-cpp shiki shiki-themes github-light github-dark","sudo apt install ros-${ROS_DISTRO}-imu-tools\n","cpp",[109,16873,16874],{"__ignoreMap":107},[112,16875,16876,16879,16882,16884,16886,16889,16891],{"class":114,"line":115},[112,16877,16878],{"class":146},"sudo apt install ros",[112,16880,16881],{"class":765},"-",[112,16883,147],{"class":146},[112,16885,16881],{"class":765},[112,16887,16888],{"class":146},"imu",[112,16890,16881],{"class":765},[112,16892,16893],{"class":146},"tools\n",[15,16895,16896],{},"SolidWorks自动生成的模型可能翻转了laser_joint,请你修改回正，这样可能rivz2就有激光了，然后修改一下可视化的模型，让模型正常，不要给碰撞，不然可能会遮挡激光。",[15,16898,16899],{},[200,16900],{"alt":107,"src":16901},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1738.webp",[15,16903,15091],{},[102,16905,16907],{"className":1547,"code":16906,"language":1549,"meta":107,"style":107},"import os\n\nfrom ament_index_python.packages import get_package_share_directory\n\nfrom launch import LaunchDescription\nfrom launch.actions import IncludeLaunchDescription\nfrom launch.launch_description_sources import PythonLaunchDescriptionSource\nfrom launch_ros.actions import Node\n\ndef generate_launch_description():\n\n    this_pkg = get_package_share_directory(\"demo_gazebo_sim\")\n    mycar_desc_pkg = get_package_share_directory(\"mycar_description\")\n    pkg_ros_gz_sim = get_package_share_directory(\"ros_gz_sim\")\n    world_file = os.path.join(this_pkg,\"world\",\"house.sdf\")\n\n    gz_sim = IncludeLaunchDescription(\n    PythonLaunchDescriptionSource(\n        os.path.join(pkg_ros_gz_sim, \"launch\", \"gz_sim.launch.py\")),\n        launch_arguments={\n        \"gz_args\": \"-r \" + world_file\n        }.items(),\n    )\n    mycar_desc = IncludeLaunchDescription(\n        PythonLaunchDescriptionSource(\n            os.path.join(mycar_desc_pkg,\"launch\",\"mycar_desc_sim.launch.py\")\n        )\n    )\n    spawn = Node(package=\"ros_gz_sim\", executable=\"create\",\n        arguments=[\n            \"-name\", \"mycar\",\n            \"-x\", \"-4\",\n            \"-z\", \"0.01\", #设置为0,可能会陷进地里\n            \"-y\", \"0\",\n            \"-topic\", \"/robot_description\"],\n        output=\"screen\")\n\n    # Bridge\n    bridge = Node(\n        package=\"ros_gz_bridge\",\n        executable=\"parameter_bridge\",\n        arguments=[\"/cmd_vel@geometry_msgs/msg/Twist@gz.msgs.Twist\",\n            \"/model/mycar/odometry@nav_msgs/msg/Odometry@gz.msgs.Odometry\",\n            \"/model/mycar/tf@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V\",\n            \"/clock@rosgraph_msgs/msg/Clock[gz.msgs.Clock\",\n            \"/world/empty/model/mycar/joint_state@sensor_msgs/msg/JointState[gz.msgs.Model\",\n            \"/scan@sensor_msgs/msg/LaserScan@gz.msgs.LaserScan\",\n            \"/scan/points@sensor_msgs/msg/PointCloud2@gz.msgs.PointCloudPacked\",\n            \"/image_raw@sensor_msgs/msg/Image@gz.msgs.Image\",\n            \"/camera_info@sensor_msgs/msg/CameraInfo@gz.msgs.CameraInfo\",\n            \"/depth_camera@sensor_msgs/msg/Image@gz.msgs.Image\",\n            \"/imu@sensor_msgs/msg/Imu[gz.msgs.IMU\",\n            \"/imu/angular_velocity@geometry_msgs/msg/Vector3[gz.msgs.Vector3d\"\n        ],\n        parameters=[{\"qos_overrides./model/mycar.subscriber.reliability\": \"reliable\"}],\n        remappings=[\n            (\"/model/mycar/tf\", \"/tf\"),\n            (\"/world/empty/model/mycar/joint_state\",\"joint_states\"),\n            (\"/model/mycar/odometry\",\"/odom\")\n        ],\n        output=\"screen\"\n    )\n\n    return LaunchDescription([\n        gz_sim,\n        spawn,\n        mycar_desc,\n        bridge\n    ])\n",[109,16908,16909,16915,16919,16929,16933,16943,16953,16963,16973,16977,16985,16989,17001,17013,17025,17041,17045,17053,17058,17071,17079,17092,17096,17100,17108,17112,17124,17128,17132,17156,17164,17175,17186,17199,17210,17221,17231,17235,17239,17247,17257,17267,17279,17286,17293,17300,17307,17314,17321,17328,17335,17342,17349,17354,17359,17375,17383,17396,17408,17420,17424,17432,17436,17440,17446,17450,17454,17458,17462],{"__ignoreMap":107},[112,16910,16911,16913],{"class":114,"line":115},[112,16912,1556],{"class":765},[112,16914,1559],{"class":146},[112,16916,16917],{"class":114,"line":122},[112,16918,119],{"emptyLinePlaceholder":118},[112,16920,16921,16923,16925,16927],{"class":114,"line":129},[112,16922,1568],{"class":765},[112,16924,1571],{"class":146},[112,16926,1556],{"class":765},[112,16928,1576],{"class":146},[112,16930,16931],{"class":114,"line":153},[112,16932,119],{"emptyLinePlaceholder":118},[112,16934,16935,16937,16939,16941],{"class":114,"line":158},[112,16936,1568],{"class":765},[112,16938,1587],{"class":146},[112,16940,1556],{"class":765},[112,16942,1592],{"class":146},[112,16944,16945,16947,16949,16951],{"class":114,"line":164},[112,16946,1568],{"class":765},[112,16948,1599],{"class":146},[112,16950,1556],{"class":765},[112,16952,1615],{"class":146},[112,16954,16955,16957,16959,16961],{"class":114,"line":176},[112,16956,1568],{"class":765},[112,16958,1634],{"class":146},[112,16960,1556],{"class":765},[112,16962,1639],{"class":146},[112,16964,16965,16967,16969,16971],{"class":114,"line":181},[112,16966,1568],{"class":765},[112,16968,1662],{"class":146},[112,16970,1556],{"class":765},[112,16972,1667],{"class":146},[112,16974,16975],{"class":114,"line":187},[112,16976,119],{"emptyLinePlaceholder":118},[112,16978,16979,16981,16983],{"class":114,"line":434},[112,16980,1677],{"class":765},[112,16982,1680],{"class":132},[112,16984,1683],{"class":146},[112,16986,16987],{"class":114,"line":440},[112,16988,119],{"emptyLinePlaceholder":118},[112,16990,16991,16993,16995,16997,16999],{"class":114,"line":446},[112,16992,1694],{"class":146},[112,16994,1697],{"class":765},[112,16996,1700],{"class":146},[112,16998,13329],{"class":136},[112,17000,1466],{"class":146},[112,17002,17003,17005,17007,17009,17011],{"class":114,"line":452},[112,17004,13336],{"class":146},[112,17006,1697],{"class":765},[112,17008,1700],{"class":146},[112,17010,13058],{"class":136},[112,17012,1466],{"class":146},[112,17014,17015,17017,17019,17021,17023],{"class":114,"line":1674},[112,17016,1711],{"class":146},[112,17018,1697],{"class":765},[112,17020,1700],{"class":146},[112,17022,13355],{"class":136},[112,17024,1466],{"class":146},[112,17026,17027,17029,17031,17033,17035,17037,17039],{"class":114,"line":1686},[112,17028,1726],{"class":146},[112,17030,1697],{"class":765},[112,17032,1731],{"class":146},[112,17034,9211],{"class":136},[112,17036,1737],{"class":146},[112,17038,9216],{"class":136},[112,17040,1466],{"class":146},[112,17042,17043],{"class":114,"line":1691},[112,17044,119],{"emptyLinePlaceholder":118},[112,17046,17047,17049,17051],{"class":114,"line":1708},[112,17048,1753],{"class":146},[112,17050,1697],{"class":765},[112,17052,1758],{"class":146},[112,17054,17055],{"class":114,"line":1723},[112,17056,17057],{"class":146},"    PythonLaunchDescriptionSource(\n",[112,17059,17060,17063,17065,17067,17069],{"class":114,"line":1745},[112,17061,17062],{"class":146},"        os.path.join(pkg_ros_gz_sim, ",[112,17064,13396],{"class":136},[112,17066,1776],{"class":146},[112,17068,13401],{"class":136},[112,17070,1782],{"class":146},[112,17072,17073,17075,17077],{"class":114,"line":1750},[112,17074,1789],{"class":1788},[112,17076,1697],{"class":765},[112,17078,1794],{"class":146},[112,17080,17081,17084,17086,17088,17090],{"class":114,"line":1761},[112,17082,17083],{"class":136},"        \"gz_args\"",[112,17085,1803],{"class":146},[112,17087,13421],{"class":136},[112,17089,1809],{"class":765},[112,17091,1812],{"class":146},[112,17093,17094],{"class":114,"line":1767},[112,17095,1818],{"class":146},[112,17097,17098],{"class":114,"line":1785},[112,17099,1824],{"class":146},[112,17101,17102,17104,17106],{"class":114,"line":1797},[112,17103,13438],{"class":146},[112,17105,1697],{"class":765},[112,17107,1758],{"class":146},[112,17109,17110],{"class":114,"line":1815},[112,17111,1764],{"class":146},[112,17113,17114,17116,17118,17120,17122],{"class":114,"line":1821},[112,17115,13451],{"class":146},[112,17117,13396],{"class":136},[112,17119,1737],{"class":146},[112,17121,13458],{"class":136},[112,17123,1466],{"class":146},[112,17125,17126],{"class":114,"line":1827},[112,17127,13465],{"class":146},[112,17129,17130],{"class":114,"line":1832},[112,17131,1824],{"class":146},[112,17133,17134,17136,17138,17140,17142,17144,17146,17148,17150,17152,17154],{"class":114,"line":1838},[112,17135,13474],{"class":146},[112,17137,1697],{"class":765},[112,17139,13479],{"class":146},[112,17141,13482],{"class":1788},[112,17143,1697],{"class":765},[112,17145,13355],{"class":136},[112,17147,1776],{"class":146},[112,17149,13491],{"class":1788},[112,17151,1697],{"class":765},[112,17153,13496],{"class":136},[112,17155,1860],{"class":146},[112,17157,17158,17160,17162],{"class":114,"line":1849},[112,17159,1973],{"class":1788},[112,17161,1697],{"class":765},[112,17163,2037],{"class":146},[112,17165,17166,17169,17171,17173],{"class":114,"line":1863},[112,17167,17168],{"class":136},"            \"-name\"",[112,17170,1776],{"class":146},[112,17172,13517],{"class":136},[112,17174,1860],{"class":146},[112,17176,17177,17180,17182,17184],{"class":114,"line":1875},[112,17178,17179],{"class":136},"            \"-x\"",[112,17181,1776],{"class":146},[112,17183,15368],{"class":136},[112,17185,1860],{"class":146},[112,17187,17188,17191,17193,17195,17197],{"class":114,"line":1902},[112,17189,17190],{"class":136},"            \"-z\"",[112,17192,1776],{"class":146},[112,17194,13541],{"class":136},[112,17196,1776],{"class":146},[112,17198,13546],{"class":125},[112,17200,17201,17204,17206,17208],{"class":114,"line":1918},[112,17202,17203],{"class":136},"            \"-y\"",[112,17205,1776],{"class":146},[112,17207,13529],{"class":136},[112,17209,1860],{"class":146},[112,17211,17212,17215,17217,17219],{"class":114,"line":1923},[112,17213,17214],{"class":136},"            \"-topic\"",[112,17216,1776],{"class":146},[112,17218,13567],{"class":136},[112,17220,13570],{"class":146},[112,17222,17223,17225,17227,17229],{"class":114,"line":1928},[112,17224,2081],{"class":1788},[112,17226,1697],{"class":765},[112,17228,13580],{"class":136},[112,17230,1466],{"class":146},[112,17232,17233],{"class":114,"line":1934},[112,17234,119],{"emptyLinePlaceholder":118},[112,17236,17237],{"class":114,"line":1944},[112,17238,1931],{"class":125},[112,17240,17241,17243,17245],{"class":114,"line":1957},[112,17242,1937],{"class":146},[112,17244,1697],{"class":765},[112,17246,1846],{"class":146},[112,17248,17249,17251,17253,17255],{"class":114,"line":1970},[112,17250,1947],{"class":1788},[112,17252,1697],{"class":765},[112,17254,15437],{"class":136},[112,17256,1860],{"class":146},[112,17258,17259,17261,17263,17265],{"class":114,"line":1985},[112,17260,1960],{"class":1788},[112,17262,1697],{"class":765},[112,17264,15448],{"class":136},[112,17266,1860],{"class":146},[112,17268,17269,17271,17273,17275,17277],{"class":114,"line":1993},[112,17270,1973],{"class":1788},[112,17272,1697],{"class":765},[112,17274,799],{"class":146},[112,17276,15461],{"class":136},[112,17278,1860],{"class":146},[112,17280,17281,17284],{"class":114,"line":2001},[112,17282,17283],{"class":136},"            \"/model/mycar/odometry@nav_msgs/msg/Odometry@gz.msgs.Odometry\"",[112,17285,1860],{"class":146},[112,17287,17288,17291],{"class":114,"line":2007},[112,17289,17290],{"class":136},"            \"/model/mycar/tf@tf2_msgs/msg/TFMessage[gz.msgs.Pose_V\"",[112,17292,1860],{"class":146},[112,17294,17295,17298],{"class":114,"line":2029},[112,17296,17297],{"class":136},"            \"/clock@rosgraph_msgs/msg/Clock[gz.msgs.Clock\"",[112,17299,1860],{"class":146},[112,17301,17302,17305],{"class":114,"line":2040},[112,17303,17304],{"class":136},"            \"/world/empty/model/mycar/joint_state@sensor_msgs/msg/JointState[gz.msgs.Model\"",[112,17306,1860],{"class":146},[112,17308,17309,17312],{"class":114,"line":2057},[112,17310,17311],{"class":136},"            \"/scan@sensor_msgs/msg/LaserScan@gz.msgs.LaserScan\"",[112,17313,1860],{"class":146},[112,17315,17316,17319],{"class":114,"line":2072},[112,17317,17318],{"class":136},"            \"/scan/points@sensor_msgs/msg/PointCloud2@gz.msgs.PointCloudPacked\"",[112,17320,1860],{"class":146},[112,17322,17323,17326],{"class":114,"line":2078},[112,17324,17325],{"class":136},"            \"/image_raw@sensor_msgs/msg/Image@gz.msgs.Image\"",[112,17327,1860],{"class":146},[112,17329,17330,17333],{"class":114,"line":2089},[112,17331,17332],{"class":136},"            \"/camera_info@sensor_msgs/msg/CameraInfo@gz.msgs.CameraInfo\"",[112,17334,1860],{"class":146},[112,17336,17337,17340],{"class":114,"line":2094},[112,17338,17339],{"class":136},"            \"/depth_camera@sensor_msgs/msg/Image@gz.msgs.Image\"",[112,17341,1860],{"class":146},[112,17343,17344,17347],{"class":114,"line":2099},[112,17345,17346],{"class":136},"            \"/imu@sensor_msgs/msg/Imu[gz.msgs.IMU\"",[112,17348,1860],{"class":146},[112,17350,17351],{"class":114,"line":2108},[112,17352,17353],{"class":136},"            \"/imu/angular_velocity@geometry_msgs/msg/Vector3[gz.msgs.Vector3d\"\n",[112,17355,17356],{"class":114,"line":2114},[112,17357,17358],{"class":146},"        ],\n",[112,17360,17361,17363,17365,17367,17369,17371,17373],{"class":114,"line":2134},[112,17362,2010],{"class":1788},[112,17364,1697],{"class":765},[112,17366,2015],{"class":146},[112,17368,15506],{"class":136},[112,17370,1803],{"class":146},[112,17372,15511],{"class":136},[112,17374,2026],{"class":146},[112,17376,17377,17379,17381],{"class":114,"line":2147},[112,17378,2032],{"class":1788},[112,17380,1697],{"class":765},[112,17382,2037],{"class":146},[112,17384,17385,17388,17390,17392,17394],{"class":114,"line":2153},[112,17386,17387],{"class":146},"            (",[112,17389,15528],{"class":136},[112,17391,1776],{"class":146},[112,17393,15533],{"class":136},[112,17395,2054],{"class":146},[112,17397,17398,17400,17402,17404,17406],{"class":114,"line":2159},[112,17399,17387],{"class":146},[112,17401,15542],{"class":136},[112,17403,1737],{"class":146},[112,17405,15547],{"class":136},[112,17407,2054],{"class":146},[112,17409,17410,17412,17414,17416,17418],{"class":114,"line":3638},[112,17411,17387],{"class":146},[112,17413,15556],{"class":136},[112,17415,1737],{"class":146},[112,17417,15561],{"class":136},[112,17419,1466],{"class":146},[112,17421,17422],{"class":114,"line":3651},[112,17423,17358],{"class":146},[112,17425,17426,17428,17430],{"class":114,"line":3665},[112,17427,2081],{"class":1788},[112,17429,1697],{"class":765},[112,17431,15576],{"class":136},[112,17433,17434],{"class":114,"line":3678},[112,17435,1824],{"class":146},[112,17437,17438],{"class":114,"line":3687},[112,17439,119],{"emptyLinePlaceholder":118},[112,17441,17442,17444],{"class":114,"line":3696},[112,17443,2102],{"class":765},[112,17445,2105],{"class":146},[112,17447,17448],{"class":114,"line":3711},[112,17449,2111],{"class":146},[112,17451,17452],{"class":114,"line":3720},[112,17453,13601],{"class":146},[112,17455,17456],{"class":114,"line":3733},[112,17457,13606],{"class":146},[112,17459,17460],{"class":114,"line":3747},[112,17461,15607],{"class":146},[112,17463,17464],{"class":114,"line":3756},[112,17465,2162],{"class":146},[15,17467,17468],{},[50,17469,2175],{},[15,17471,2178],{},[102,17473,17474],{"className":104,"code":13619,"language":106,"meta":107,"style":107},[109,17475,17476],{"__ignoreMap":107},[112,17477,17478,17480,17482,17484,17486],{"class":114,"line":115},[112,17479,2188],{"class":132},[112,17481,2191],{"class":136},[112,17483,13630],{"class":576},[112,17485,13633],{"class":136},[112,17487,1432],{"class":136},[15,17489,17490],{},[50,17491,2206],{},[15,17493,2209],{},[102,17495,17497],{"className":104,"code":17496,"language":106,"meta":107,"style":107},". install/setup.bash\nexport MYCAR_MODEL=stm32_4w # MYCAR_MODEL值可以设置为arduino、stm32_2w 或stm32_4w\nros2 launch demo_gazebo_sim gazebo_sim_world.launch.py\n",[109,17498,17499,17505,17518],{"__ignoreMap":107},[112,17500,17501,17503],{"class":114,"line":115},[112,17502,2219],{"class":576},[112,17504,2222],{"class":136},[112,17506,17507,17509,17511,17513,17515],{"class":114,"line":122},[112,17508,9406],{"class":765},[112,17510,13669],{"class":146},[112,17512,1697],{"class":765},[112,17514,15661],{"class":146},[112,17516,17517],{"class":125},"# MYCAR_MODEL值可以设置为arduino、stm32_2w 或stm32_4w\n",[112,17519,17520,17522,17524,17526],{"class":114,"line":129},[112,17521,263],{"class":132},[112,17523,266],{"class":136},[112,17525,2231],{"class":136},[112,17527,9339],{"class":136},[15,17529,15676],{},[15,17531,17532],{},"还可以启动rviz2，以查看机器人发布的诸多数据。终端中进入当前工作空间，调用如下指令执行launch文件：",[102,17534,17535],{"className":104,"code":15699,"language":106,"meta":107,"style":107},[109,17536,17537,17543],{"__ignoreMap":107},[112,17538,17539,17541],{"class":114,"line":115},[112,17540,2219],{"class":576},[112,17542,2222],{"class":136},[112,17544,17545],{"class":114,"line":122},[112,17546,15712],{"class":132},[15,17548,17549],{},[200,17550],{"alt":107,"src":17551},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1739.webp",[15,17553,17554],{},[200,17555],{"alt":107,"src":17556},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1740.webp",[15,17558,12907],{},[15,17560,17561],{},[55,17562,17563],{"href":17563,"rel":17564},"https://github.com/tungchiahui/ROS2_WS/tree/main/6.ws_simulations",[59],[15,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":107,"searchDepth":122,"depth":122,"links":17573},[17574],{"id":12,"depth":129,"text":13},"11.2",11020000,"2023-12-30","2023-12-30-ros2-tutorial","/wiki/2023-12-30-ros2-tutorial","Ros2 Tutorial","md",false,null,{},"/wiki/2023-12-30-ros2-tutorial/ch11-2-ignitiongazebo",{"title":5,"description":107},"wiki/2023-12-30-ros2-tutorial/ch11-2-IgnitionGazebo","KfRGcp70BbnaTbuUu-N5HU1FR9_NzaFYGYfqWqDmnkA",[17590,17596,17602,17608,17609,17615,17621,17627,17633,17639,17645,17651,17657,17663,17669,17675,17681,17687,17693,17699,17705,17711,17717,17723,17729],{"path":17591,"stem":17592,"title":17593,"date":17577,"chapter":17594,"chapterSort":17595,"docKey":17578,"docRoot":17579,"docTitle":17580,"isWikiDoc":118,"isWikiIndex":17582},"/wiki/2023-12-30-ros2-tutorial/ch1-ros2-jie-shao","wiki/2023-12-30-ros2-tutorial/ch1-ROS2介绍","ROS2介绍","1",1000000,{"path":17597,"stem":17598,"title":17599,"date":17577,"chapter":17600,"chapterSort":17601,"docKey":17578,"docRoot":17579,"docTitle":17580,"isWikiDoc":118,"isWikiIndex":17582},"/wiki/2023-12-30-ros2-tutorial/ch10-stage-ros2-fang-zhen-ping-tai","wiki/2023-12-30-ros2-tutorial/ch10-Stage_Ros2仿真平台","Stage_Ros2仿真平台","10",10000000,{"path":17603,"stem":17604,"title":17605,"date":17577,"chapter":17606,"chapterSort":17607,"docKey":17578,"docRoot":17579,"docTitle":17580,"isWikiDoc":118,"isWikiIndex":17582},"/wiki/2023-12-30-ros2-tutorial/ch11-1-gazeboclassic","wiki/2023-12-30-ros2-tutorial/ch11-1-GazeboClassic","Gezebo Classic","11.1",11010000,{"path":17585,"stem":17587,"title":5,"date":17577,"chapter":17575,"chapterSort":17576,"docKey":17578,"docRoot":17579,"docTitle":17580,"isWikiDoc":118,"isWikiIndex":17582},{"path":17610,"stem":17611,"title":17612,"date":17577,"chapter":17613,"chapterSort":17614,"docKey":17578,"docRoot":17579,"docTitle":17580,"isWikiDoc":118,"isWikiIndex":17582},"/wiki/2023-12-30-ros2-tutorial/ch11-3-gazebosim","wiki/2023-12-30-ros2-tutorial/ch11-3-GazeboSim","Gz Sim（Gazebo Harmonic）","11.3",11030000,{"path":17616,"stem":17617,"title":17618,"date":17577,"chapter":17619,"chapterSort":17620,"docKey":17578,"docRoot":17579,"docTitle":17580,"isWikiDoc":118,"isWikiIndex":17582},"/wiki/2023-12-30-ros2-tutorial/ch11-4-igngz2gzsim","wiki/2023-12-30-ros2-tutorial/ch11-4-Igngz2gzsim","将Ign Gazebo迁移至Gz Sim","11.4",11040000,{"path":17622,"stem":17623,"title":17624,"date":17577,"chapter":17625,"chapterSort":17626,"docKey":17578,"docRoot":17579,"docTitle":17580,"isWikiDoc":118,"isWikiIndex":17582},"/wiki/2023-12-30-ros2-tutorial/ch11-gezebo-fang-zhen-ping-tai","wiki/2023-12-30-ros2-tutorial/ch11-Gezebo仿真平台","Gezebo仿真平台","11",11000000,{"path":17628,"stem":17629,"title":17630,"date":17577,"chapter":17631,"chapterSort":17632,"docKey":17578,"docRoot":17579,"docTitle":17580,"isWikiDoc":118,"isWikiIndex":17582},"/wiki/2023-12-30-ros2-tutorial/ch12-ji-qi-ren-dao-hang-navigation2-fang-zhen-pian","wiki/2023-12-30-ros2-tutorial/ch12-机器人导航Navigation2(仿真篇)","机器人导航Navigation2(仿真篇)","12",12000000,{"path":17634,"stem":17635,"title":17636,"date":17577,"chapter":17637,"chapterSort":17638,"docKey":17578,"docRoot":17579,"docTitle":17580,"isWikiDoc":118,"isWikiIndex":17582},"/wiki/2023-12-30-ros2-tutorial/ch13-ros2serial","wiki/2023-12-30-ros2-tutorial/ch13-ROS2Serial","ROS2 Serial","13",13000000,{"path":17640,"stem":17641,"title":17642,"date":17577,"chapter":17643,"chapterSort":17644,"docKey":17578,"docRoot":17579,"docTitle":17580,"isWikiDoc":118,"isWikiIndex":17582},"/wiki/2023-12-30-ros2-tutorial/ch14-ji-qi-ren-ying-jian","wiki/2023-12-30-ros2-tutorial/ch14-机器人硬件","机器人硬件","14",14000000,{"path":17646,"stem":17647,"title":17648,"date":17577,"chapter":17649,"chapterSort":17650,"docKey":17578,"docRoot":17579,"docTitle":17580,"isWikiDoc":118,"isWikiIndex":17582},"/wiki/2023-12-30-ros2-tutorial/ch15-ros2-control","wiki/2023-12-30-ros2-tutorial/ch15-ROS2_Control","ROS2_Control","15",15000000,{"path":17652,"stem":17653,"title":17654,"date":17577,"chapter":17655,"chapterSort":17656,"docKey":17578,"docRoot":17579,"docTitle":17580,"isWikiDoc":118,"isWikiIndex":17582},"/wiki/2023-12-30-ros2-tutorial/ch16-moveit2-gong-ye-ji-qi-ren-ji-xie-bi","wiki/2023-12-30-ros2-tutorial/ch16-Moveit2工业机器人机械臂","Moveit2工业机器人机械臂","16",16000000,{"path":17658,"stem":17659,"title":17660,"date":17577,"chapter":17661,"chapterSort":17662,"docKey":17578,"docRoot":17579,"docTitle":17580,"isWikiDoc":118,"isWikiIndex":17582},"/wiki/2023-12-30-ros2-tutorial/ch17-ji-qi-ren-dao-hang-navigation2-shi-ti-pian","wiki/2023-12-30-ros2-tutorial/ch17-机器人导航Navigation2(实体篇)","机器人导航Navigation2(实体篇)","17",17000000,{"path":17664,"stem":17665,"title":17666,"date":17577,"chapter":17667,"chapterSort":17668,"docKey":17578,"docRoot":17579,"docTitle":17580,"isWikiDoc":118,"isWikiIndex":17582},"/wiki/2023-12-30-ros2-tutorial/ch18-microros","wiki/2023-12-30-ros2-tutorial/ch18-MicroROS","MicroROS","18",18000000,{"path":17670,"stem":17671,"title":17672,"date":17577,"chapter":17673,"chapterSort":17674,"docKey":17578,"docRoot":17579,"docTitle":17580,"isWikiDoc":118,"isWikiIndex":17582},"/wiki/2023-12-30-ros2-tutorial/ch19-webots-fang-zhen-ping-tai","wiki/2023-12-30-ros2-tutorial/ch19-Webots仿真平台","Webots仿真平台","19",19000000,{"path":17676,"stem":17677,"title":17678,"date":17577,"chapter":17679,"chapterSort":17680,"docKey":17578,"docRoot":17579,"docTitle":17580,"isWikiDoc":118,"isWikiIndex":17582},"/wiki/2023-12-30-ros2-tutorial/ch2-ru-men-cao-zuo","wiki/2023-12-30-ros2-tutorial/ch2-入门操作","入门操作","2",2000000,{"path":17682,"stem":17683,"title":17684,"date":17577,"chapter":17685,"chapterSort":17686,"docKey":17578,"docRoot":17579,"docTitle":17580,"isWikiDoc":118,"isWikiIndex":17582},"/wiki/2023-12-30-ros2-tutorial/ch20-opencv","wiki/2023-12-30-ros2-tutorial/ch20-OpenCV","OpenCV","20",20000000,{"path":17688,"stem":17689,"title":17690,"date":17577,"chapter":17691,"chapterSort":17692,"docKey":17578,"docRoot":17579,"docTitle":17580,"isWikiDoc":118,"isWikiIndex":17582},"/wiki/2023-12-30-ros2-tutorial/ch3-gong-zuo-kong-jian-yu-gong-neng-bao","wiki/2023-12-30-ros2-tutorial/ch3-工作空间与功能包","工作空间与功能包","3",3000000,{"path":17694,"stem":17695,"title":17696,"date":17577,"chapter":17697,"chapterSort":17698,"docKey":17578,"docRoot":17579,"docTitle":17580,"isWikiDoc":118,"isWikiIndex":17582},"/wiki/2023-12-30-ros2-tutorial/ch4-si-da-tong-xin","wiki/2023-12-30-ros2-tutorial/ch4-四大通信","四大通信","4",4000000,{"path":17700,"stem":17701,"title":17702,"date":17577,"chapter":17703,"chapterSort":17704,"docKey":17578,"docRoot":17579,"docTitle":17580,"isWikiDoc":118,"isWikiIndex":17582},"/wiki/2023-12-30-ros2-tutorial/ch5-ros2-qi-ta-tong-xin-ji-zhi","wiki/2023-12-30-ros2-tutorial/ch5-ROS2其他通信机制","ROS2其他通信机制","5",5000000,{"path":17706,"stem":17707,"title":17708,"date":17577,"chapter":17709,"chapterSort":17710,"docKey":17578,"docRoot":17579,"docTitle":17580,"isWikiDoc":118,"isWikiIndex":17582},"/wiki/2023-12-30-ros2-tutorial/ch6-launch","wiki/2023-12-30-ros2-tutorial/ch6-Launch","Launch","6",6000000,{"path":17712,"stem":17713,"title":17714,"date":17577,"chapter":17715,"chapterSort":17716,"docKey":17578,"docRoot":17579,"docTitle":17580,"isWikiDoc":118,"isWikiIndex":17582},"/wiki/2023-12-30-ros2-tutorial/ch7-hui-su-rosbag2","wiki/2023-12-30-ros2-tutorial/ch7-回溯rosbag2","回溯rosbag2","7",7000000,{"path":17718,"stem":17719,"title":17720,"date":17577,"chapter":17721,"chapterSort":17722,"docKey":17578,"docRoot":17579,"docTitle":17580,"isWikiDoc":118,"isWikiIndex":17582},"/wiki/2023-12-30-ros2-tutorial/ch8-zuo-biao-bian-huan-tf","wiki/2023-12-30-ros2-tutorial/ch8-坐标变换TF","坐标变换TF","8",8000000,{"path":17724,"stem":17725,"title":17726,"date":17577,"chapter":17727,"chapterSort":17728,"docKey":17578,"docRoot":17579,"docTitle":17580,"isWikiDoc":118,"isWikiIndex":17582},"/wiki/2023-12-30-ros2-tutorial/ch9-ke-shi-hua-ping-tai-rviz2-yu-urdf-jian-mo-yu-yan","wiki/2023-12-30-ros2-tutorial/ch9-可视化平台RVIZ2与URDF建模语言","可视化平台RVIZ2与URDF建模语言","9",9000000,{"path":17579,"stem":17730,"title":17731,"date":17577,"chapter":17583,"chapterSort":17732,"docKey":17578,"docRoot":17579,"docTitle":17580,"isWikiDoc":118,"isWikiIndex":118},"wiki/2023-12-30-ros2-tutorial/index","ROS2机器人操作系统教程",0,1778560329348]