[{"data":1,"prerenderedAt":1699},["ShallowReactive",2],{"wiki-page-/zh-cn/wiki/2023-12-30-ros2-tutorial/ch16-moveit2-gong-ye-ji-qi-ren-ji-xie-bi":3,"wiki-doc-items-/zh-cn/wiki/2023-12-30-ros2-tutorial/ch16-moveit2-gong-ye-ji-qi-ren-ji-xie-bi":1331,"language-switcher-data-/zh-cn/wiki/2023-12-30-ros2-tutorial/ch16-moveit2-gong-ye-ji-qi-ren-ji-xie-bi":1683,"wiki-i18n-paths-/zh-cn/wiki/2023-12-30-ros2-tutorial/ch16-moveit2-gong-ye-ji-qi-ren-ji-xie-bi":1698},{"id":4,"title":5,"body":6,"canonicalPath":1311,"chapter":1312,"chapterSort":1313,"date":1314,"description":15,"docI18nKey":1315,"docKey":1316,"docRoot":1317,"docTitle":1318,"extension":1319,"i18nKey":1320,"isBlogPost":1321,"isWikiDoc":1322,"isWikiIndex":1321,"layout":1323,"legacyPath":1324,"locale":1325,"localeSlug":1326,"meta":1327,"navigation":1322,"path":1311,"seo":1328,"sourcePath":1324,"sourceStem":1320,"stem":1320,"wikiDepth":1329,"__hash__":1330},"content/wiki/2023-12-30-ros2-tutorial/ch16-Moveit2工业机器人机械臂.md","Moveit2工业机器人机械臂",{"type":7,"value":8,"toc":1308},"minimark",[9,18,22,28,34,38,43,59,62,69,72,77,80,84,87,90,99,104,107,112,115,123,128,131,139,142,145,148,153,158,163,166,169,174,177,180,183,188,193,198,201,206,209,212,215,220,225,228,236,239,244,250,255,258,261,264,267,270,273,276,283,286,291,298,305,310,313,318,326,329,334,337,342,347,350,353,356,363,368,373,376,379,384,391,394,399,402,410,415,418,423,426,429,432,435,440,443,446,451,454,457,460,465,468,473,476,479,484,487,492,495,500,503,506,509,514,517,520,525,528,533,536,539,542,545,550,553,556,559,562,565,573,576,581,586,589,592,595,600,603,606,611,614,617,622,627,630,641,644,647,650,653,656,660,663,668,671,674,677,682,685,688,691,694,697,702,705,708,713,716,719,722,727,730,735,738,741,746,749,754,757,760,763,768,771,774,779,783,788,793,796,799,802,805,810,813,818,821,826,829,834,837,842,845,850,853,858,863,866,869,872,875,878,882,887,890,895,898,901,904,907,910,915,918,923,926,929,934,937,940,943,948,951,956,959,964,967,972,975,980,983,986,989,992,995,998,1003,1006,1011,1014,1018,1023,1031,1035,1040,1043,1051,1055,1060,1065,1068,1073,1077,1082,1085,1088,1091,1094,1099,1102,1107,1112,1120,1128,1136,1139,1147,1150,1153,1156,1161,1164,1167,1173,1178,1183,1186,1191,1194,1199,1202,1207,1212,1217,1220,1223,1228,1236,1239,1242,1247,1250,1255,1258,1261,1266,1269,1272,1275,1278,1283,1286,1291,1294,1297,1302,1305],[10,11,12],"p",{},[13,14,15],"a",{"href":15,"rel":16},"https://moveit.ros.org/",[17],"nofollow",[19,20,21],"h3",{"id":21},"机器人学",[10,23,24],{},[13,25,26],{"href":26,"rel":27},"https://www.bilibili.com/video/BV1v4411H7ez",[17],[10,29,30],{},[13,31,32],{"href":32,"rel":33},"https://www.bilibili.com/video/av59243185",[17],[35,36,37],"h4",{"id":37},"理论基础",[39,40,42],"h5",{"id":41},"dof自由度","DOF(自由度)",[10,44,45,46,50,51,54,55,58],{},"简单来说，自由度(以下统称为dof)指的是 ",[47,48,49],"strong",{},"物体在空间里面的基本运动方式"," ，总共有6种。任何运动都可以拆分成这6种基本运动方式，而这6种基本运动方式又可以分为两类： ",[47,52,53],{},"位移"," 和 ",[47,56,57],{},"旋转"," 。",[10,60,61],{},"位移：X轴、Y轴、Z轴的平动",[10,63,64],{},[65,66],"img",{"alt":67,"src":68},"","https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1834.webp",[10,70,71],{},"旋转：Roll横滚角(绕X转动)、Pitch俯仰角(绕Y转动)、Yaw航向角(绕Z转动)",[10,73,74],{},[65,75],{"alt":67,"src":76},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1835.webp",[35,78,79],{"id":79},"数理基础",[39,81,83],{"id":82},"位姿位置与姿态的表示","位姿（位置与姿态）的表示",[10,85,86],{},"倘若在一个空间里有一个刚体（frame），我们如何确定刚体在这个空间里的位姿呢？",[10,88,89],{},"首先要建立一个世界坐标系（world frame），然后要在刚体上建立刚体坐标系（body frame）.",[91,92,93],"ol",{},[94,95,96],"li",{},[47,97,98],{},"位置的描述",[10,100,101],{},[65,102],{"alt":67,"src":103},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1836.webp",[10,105,106],{},"描述刚体的质心(一个点)在世界中的位置，就可以用一个3X1向量来表示.",[10,108,109],{},[65,110],{"alt":67,"src":111},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1837.webp",[10,113,114],{},"这样就知道了平动的三个DOF。",[91,116,118],{"start":117},2,[94,119,120],{},[47,121,122],{},"方位的描述",[10,124,125],{},[65,126],{"alt":67,"src":127},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1838.webp",[10,129,130],{},"设世界坐标系为A，刚体坐标系为B。",[10,132,133,136],{},[65,134],{"alt":67,"src":135},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1839.webp",[65,137],{"alt":67,"src":138},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1840.webp",[10,140,141],{},"上面这个矩阵就叫旋转矩阵（Rotation Matrix），是一个3*3的正交矩阵，ABR描述的是A为参考坐标系，B相对于A的方向。",[10,143,144],{},"每一个列向量，都代表B的对应坐标轴各自指向的方向。",[10,146,147],{},"每一列向量都是B的对应的坐标轴相对于A的方向余弦（Direct Cosines）。",[10,149,150],{},[65,151],{"alt":67,"src":152},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1841.webp",[10,154,155],{},[65,156],{"alt":67,"src":157},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1842.webp",[10,159,160],{},[65,161],{"alt":67,"src":162},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1843.webp",[10,164,165],{},"旋转矩阵的每个元素 r ij代表 B 的第 j 轴与 A 的第 i 轴的方向余弦.",[10,167,168],{},"实在看不懂，先来看下面来看例子：",[10,170,171],{},[65,172],{"alt":67,"src":173},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1844.webp",[10,175,176],{},"B的X轴在A中怎么表示？可以看出来，B的X正好是A的Z轴的负半轴，那就是0，0，-1.",[10,178,179],{},"B的Y轴在A中怎么表示？可以看出来，B的Y正好是A的Y轴的正半轴，那就是0，1，0.",[10,181,182],{},"B的Z轴在A中怎么表示？可以看出来，B的Z正好是A的X轴的正半轴，那就是1，0，0.",[10,184,185],{},[65,186],{"alt":67,"src":187},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1845.webp",[10,189,190],{},[65,191],{"alt":67,"src":192},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1846.webp",[10,194,195],{},[65,196],{"alt":67,"src":197},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1847.webp",[10,199,200],{},"这个例子里，AB的Z重合了，所以我们只看上视图就可以了。",[10,202,203],{},[65,204],{"alt":67,"src":205},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1848.webp",[10,207,208],{},"就是把XB这个单位向量，投影到A的X和Y上看分量即可。",[10,210,211],{},"同理YB也一样。",[10,213,214],{},"ZB和ZA重合，比较简单。",[10,216,217],{},[65,218],{"alt":67,"src":219},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1849.webp",[10,221,222],{},[65,223],{"alt":67,"src":224},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1850.webp",[10,226,227],{},"答案是B。",[91,229,231],{"start":230},3,[94,232,233],{},[47,234,235],{},"位姿的描述",[10,237,238],{},"通过BF在WF的状态，就可以知道刚体在世界中的位姿。",[10,240,241],{},[65,242],{"alt":67,"src":243},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1851.webp",[91,245,247],{"start":246},4,[94,248,249],{},"运动的描述",[10,251,252],{},[65,253],{"alt":67,"src":254},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1852.webp",[10,256,257],{},"红色是刚体运动的轨迹线，",[10,259,260],{},"轨迹（平动DOF）对时间的微分(导数)，就是刚体线速度。",[10,262,263],{},"刚体速度再对时间的微分(导数)，就是刚体线加速度。",[10,265,266],{},"同理,转动DOF对时间的微分(导数)，就是刚体的角速度。",[10,268,269],{},"角速度再对时间的微分(导数)，就是刚体角加速度。",[39,271,272],{"id":272},"旋转矩阵",[10,274,275],{},"特性：",[10,277,278,279,282],{},"由于旋转矩阵R里每个元素都是两个向量内积，内积是可以交换位置且最后结果",[47,280,281],{},"数值不变","的。",[10,284,285],{},"所以我们选择交换位置。",[10,287,288],{},[65,289],{"alt":67,"src":290},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1853.webp",[10,292,293,294,297],{},"原始的R是每一 ",[47,295,296],{},"列"," 都是B的某一轴在A系的分量。",[10,299,300,301,304],{},"交换位置后的R是每一 ",[47,302,303],{},"行"," 都是A的某一轴在B系的分量。",[10,306,307],{},[65,308],{"alt":67,"src":309},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1854.webp",[10,311,312],{},"结论：所以说Rab = Rba的T。",[10,314,315],{},[65,316],{"alt":67,"src":317},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1855.webp",[10,319,320,323],{},[65,321],{"alt":67,"src":322},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1856.webp",[65,324],{"alt":67,"src":325},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1857.webp",[10,327,328],{},"他俩明显是转置关系。",[10,330,331],{},[65,332],{"alt":67,"src":333},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1858.webp",[10,335,336],{},"RT*R=I3（3*3单位阵）(正交阵orthogonal matrix的性质)",[10,338,339],{},[65,340],{"alt":67,"src":341},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1859.webp",[10,343,344],{},[65,345],{"alt":67,"src":346},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1860.webp",[10,348,349],{},"还有个性质就是|R|=1",[10,351,352],{},"虽然有9个数字，但是啊，因为正交阵的性质，所以是有约束条件的，这9个数字里有6个数字是随着其他数字变化而变化的，所以这9个数字实际上只有3个参数可以任意选择，也就是旋转矩阵实际上只有3个自由度。(转动DOF)",[10,354,355],{},"旋转矩阵的一个功能如下：",[10,357,358,359,362],{},"比如说另一个坐标系B相对于A坐标系绕X,Y,Z轴各自",[47,360,361],{},"逆时针","转动theta度的旋转矩阵。",[10,364,365],{},[65,366],{"alt":67,"src":367},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1861.webp",[10,369,370],{},[65,371],{"alt":67,"src":372},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1862.webp",[10,374,375],{},"在中国大陆教材中，常用R(X,theta)来代替图中的RXA(theta)。图中这个A指的是原坐标系，得出来的AP`也是原坐标下的坐标。",[10,377,378],{},"这样的话，AP左乘一个R就得出来了P转动后在A系的坐标。（一定要与下面讲的旋转坐标变换分清楚，很容易混淆）",[10,380,381],{},[65,382],{"alt":67,"src":383},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1863.webp",[10,385,386,387,390],{},"P逆时针转动30度后，在",[47,388,389],{},"原坐标系","中的坐标为002.",[10,392,393],{},"总结：旋转矩阵主要是三种用法，如下图：",[10,395,396],{},[65,397],{"alt":67,"src":398},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1864.webp",[39,400,401],{"id":401},"坐标变换",[91,403,404,407],{},[94,405,406],{},"平移坐标变换",[94,408,409],{},"旋转坐标变换",[10,411,412],{},[65,413],{"alt":67,"src":414},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1865.webp",[10,416,417],{},"这里的APX是个数值，XA等是矢量，加法是矢量加法，最后得出来的是AP向量。",[10,419,420],{},[65,421],{"alt":67,"src":422},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1866.webp",[10,424,425],{},"重要结论就是AP = ABR*BP.(注意是矩阵的左乘)",[10,427,428],{},"AP就是P在A系的坐标。",[10,430,431],{},"BP就是P在B系的坐标。",[10,433,434],{},"ABR就是A为参考坐标系，B相对于A的旋转矩阵。",[10,436,437],{},[65,438],{"alt":67,"src":439},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1867.webp",[39,441,442],{"id":442},"物体的变换及逆变换",[10,444,445],{},"物体平动的顺序可以互相颠倒,但是物体转动的顺序不能互相颠倒,否则姿态会不一样.",[10,447,448],{},[65,449],{"alt":67,"src":450},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1868.webp",[10,452,453],{},"主要是两种拆解方式,一个是设一个固定的坐标系,一直按这个坐标系转动,",[10,455,456],{},"另一个方式是假设物体的坐标系.",[35,458,459],{"id":459},"机械臂描述方式",[10,461,462],{},[65,463],{"alt":67,"src":464},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1869.webp",[10,466,467],{},"Link 0一般也叫base_Link",[10,469,470],{},[65,471],{"alt":67,"src":472},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1870.webp",[10,474,475],{},"先看好相对关系，Axis i-1的后面才是Link i - 1(当然其他描述也成立)",[35,477,478],{"id":478},"描述各关节之间的关系",[10,480,481],{},[65,482],{"alt":67,"src":483},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1871.webp",[10,485,486],{},"也就是公垂线(唯一解)，其长度为Link Length连杆长度",[10,488,489],{},[65,490],{"alt":67,"src":491},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1872.webp",[10,493,494],{},"现在只是限制住了两个轴的距离，两个轴还是可以转动的，所以需要下一个参数，Link Twist连杆扭角。",[10,496,497],{},[65,498],{"alt":67,"src":499},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1873.webp",[10,501,502],{},"这个角就是沿中垂线，把后一个轴线沿中垂线往当前轴移动，然后形成的夹角叫Link Twist连杆扭角。",[10,504,505],{},"也就是说，针对空间中任意两个转轴，我们需要两个参数来进行描述，也就是Link Length和Link Twist。",[10,507,508],{},"如果是多个串起来的转轴，我们就无法找到对应关系了，比如说",[10,510,511],{},[65,512],{"alt":67,"src":513},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1874.webp",[10,515,516],{},"上面这个图，我没法表示ai-1与ai在轴线Axis i上的相对关系以及相对姿态是什么样子的。",[10,518,519],{},"所以还需要其他参数。",[10,521,522],{},[65,523],{"alt":67,"src":524},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1875.webp",[10,526,527],{},"首先肯定需要一个长度，两个公垂线在Axis i上的距离，叫做Link Offset，连杆偏距。",[10,529,530],{},[65,531],{"alt":67,"src":532},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1876.webp",[10,534,535],{},"然后还需要一个角，Joint Angle连杆夹角，也叫关节角。",[10,537,538],{},"其实发现，这四个参数，只有一个参数是变化的，其他都是固定的。",[10,540,541],{},"如果ioint type是revolute joint，那么thetai变化，其他不变。",[10,543,544],{},"如果joint type是prismatic joint，那么di变化，其他不变。",[10,546,547],{},[65,548],{"alt":67,"src":549},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1877.webp",[10,551,552],{},"描述两个轴需要2个参数，连杆长度与连杆扭角。",[10,554,555],{},"描述多个轴串在一起需要4个参数(每两两杆件都需要4个参数)，连杆长度Link Length，连杆扭角Link Twist，连杆偏距Link Offset，连杆夹角Joint Angle。",[35,557,558],{"id":558},"在joint上建立frame",[10,560,561],{},"咱们一般把Z方向定义成和转轴的方向一样，Z朝上或朝下是看怎么朝向，这两个轴的夹角最小，这样就能够确定Z的方向了。",[10,563,564],{},"Xi的方向是沿着ai的方向。",[10,566,567,570],{},[65,568],{"alt":67,"src":569},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1878.webp",[65,571],{"alt":67,"src":572},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1879.webp",[10,574,575],{},"Xi与Zi+1和Zi都垂直。",[10,577,578],{},[65,579],{"alt":67,"src":580},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1880.webp",[10,582,583],{},[65,584],{"alt":67,"src":585},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1881.webp",[10,587,588],{},"右手定则，判断Y方向。",[10,590,591],{},"原点是Z和X的交点。",[10,593,594],{},"若是建立base_link(link0)与link1的话，则是特殊情况。（base_link是immobile不动的）",[10,596,597],{},[65,598],{"alt":67,"src":599},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1882.webp",[10,601,602],{},"frame0和frame1重叠(重合)。通常，比如说是个旋转关节，虽然规定theta是arbitrary任意的，但是我把theta固定成0，然后让frame0和frame1(theta",[10,604,605],{},"= 0)重合。如果是平动关节，那么同理也取d=0的时候的frame1。注意，这里是重叠重合，并不是形状相同，而是完全重叠的坐标系。",[10,607,608],{},[65,609],{"alt":67,"src":610},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1883.webp",[10,612,613],{},"最后一个杆件，也差不多，因为Xn和Xn-1都要垂直于Axis n(Zn)，所以最简单的方法就是让Xn与Xn-1方向一致。",[10,615,616],{},"Xn取Xn-1的方向。也就是framen和framen-1是延长的。",[10,618,619],{},[47,620,621],{},"下面是重点中的重点：(有好几种方法判断，如有错误请讨论后修改)",[10,623,624],{},[65,625],{"alt":67,"src":626},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1884.webp",[10,628,629],{},"需要知道的常识：",[91,631,632,635,638],{},[94,633,634],{},"一般连杆扭角按逆时针是正值。",[94,636,637],{},"我们常说的转向，是从逆着的方向去看，也就是让箭头指向眼睛的方向去看的。",[94,639,640],{},"从轴的逆方向去看和顺着方向去看转向，是完全相反的方向，但是在平面上容易产生视觉错觉，难以理解。可以拿支笔或者电机，转动一下试试。",[10,642,643],{},"①alphai-1是正值还是负值，要看Zi-1到Zi的角是顺时针还是逆时针，伸出右手，让拇指沿Xi-1的方向，如果alphai-1顺着四指方向则为逆时针，正值，反之为顺时针，负值。",[10,645,646],{},"所以如图，alphai-1是逆时针，所以是正值。",[10,648,649],{},"②ai-1的长度因为是长度，所以永远是正值，然后值为Z轴间的相对距离。",[10,651,652],{},"③thetai的角度也基本同理，将右手大拇指沿着Zi的方向，若thetai顺着四指方向则为逆时针，逆着则为顺时针。",[10,654,655],{},"④di的大小方向要看从ai-1沿着zi的方向到ai，则是正值，反之为负值，大小即为距离。",[35,657,659],{"id":658},"link-transformations","Link Transformations",[39,661,662],{"id":662},"理论",[10,664,665],{},[65,666],{"alt":67,"src":667},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1885.webp",[10,669,670],{},"我们两个关节都有俩轴，一个Axisi-1一个是Axisi，我们也有俩frame，一个是framei-1一个是framei。",[10,672,673],{},"我们需要找到两个frame之间的关系式是什么，也就是找到变换矩阵Transformation Matrix。",[10,675,676],{},"然后将Trans Matrix量化即可。",[10,678,679],{},[65,680],{"alt":67,"src":681},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1886.webp",[10,683,684],{},"假设说有一个点P，他在frame i下的表达是Pi，如果我们找到了Ti-1 i的矩阵，那么就有办法，获得P在frame i-1下的表达了。",[10,686,687],{},"所以我们现在需要，用刚才找到的四个参数，转化成我们的Trans Matrix。",[10,689,690],{},"这四个参数，也就是ai-1，alphai-1，di和thetai，足以可以表达framei-1到framei了。",[10,692,693],{},"①首先在Axis i-1上，",[10,695,696],{},"先描述alpha，就把framei-1的Zi-1旋转到差不多Zi的方向，生成FrameR（只旋转Z，X不动，然后右手定则判断Y）",[10,698,699],{},[65,700],{"alt":67,"src":701},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1887.webp",[10,703,704],{},"②然后描述a，",[10,706,707],{},"就把FrameR沿着ai-1的方向移动到Zi上，",[10,709,710],{},[65,711],{"alt":67,"src":712},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1888.webp",[10,714,715],{},"③再描述theta",[10,717,718],{},"我们转动frameR中的ZR，使其与ai方向相同，生成frameP（X动，Z不动，右手定则判断Y）",[10,720,721],{},"这样搞完之后，Xp的方向与Xi是相同的，Zp的方向也与Zi相同。",[10,723,724],{},[65,725],{"alt":67,"src":726},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1889.webp",[10,728,729],{},"④再描述d，也就是把FrameP往上拉，最后会与Framei重合。",[10,731,732],{},[65,733],{"alt":67,"src":734},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1890.webp",[10,736,737],{},"也就是从Framei - 1到Frame R，然后再到Frame Q，然后再到Frame P，最后到Frame i。一共四次转化。",[10,739,740],{},"刚才我们演示的是从Pi-1到Pi，现在我们要求的是从我们的Pi要到Pi-1，那么就是倒着左乘，先乘Tp i接着往下以此类推。",[10,742,743],{},[65,744],{"alt":67,"src":745},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1891.webp",[10,747,748],{},"从连杆i到连杆i-1的坐标系间的齐次变换矩阵T i-1 i=Rot(X，aplhai-1)Trans(ai-1,0,0)Rot(Z,thetai)Trans(0,0,di)",[10,750,751],{},[65,752],{"alt":67,"src":753},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1892.webp",[10,755,756],{},"左上角是3X3的旋转矩阵，所以只有角度theta和alpha参数，",[10,758,759],{},"右上角3X1的矩阵，也就是frame i的原点相对于frame i - 1的原点的向量。然后是从frame i - 1去看。所以他是长度与角度的复合。",[10,761,762],{},"最后一行的1X4的矩阵，是0001是固定数不动的。",[10,764,765],{},[65,766],{"alt":67,"src":767},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1893.webp",[10,769,770],{},"对于连续的杆件，我们可以从base_link一直算到linkx，x想是几就是几。",[10,772,773],{},"比如说，现在有三个杆件，我们找到T23（3对2的），T12（1对2的）T01（地对1的），就可以找到T03（地对3的）",[10,775,776],{},[65,777],{"alt":67,"src":778},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1894.webp",[39,780,782],{"id":781},"example","Example",[784,785,787],"h6",{"id":786},"平面rrr类型","平面RRR类型",[10,789,790],{},[65,791],{"alt":67,"src":792},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1895.webp",[10,794,795],{},"①先找到关节转轴Joint Axes",[10,797,798],{},"三个转轴是三个红点，是点的话，也就是出纸面的方向。（因为，他是个平面的，所以说，每个Z轴之间的角度都是0，所以说Link Twist Alpha是0，所以Z的方向都随便取，但是咱们这里，假设关节都是逆时针旋转，按右手螺旋定则来看，Z就都朝上）",[10,800,801],{},"②再找到公垂线Common Perpendiculars",[10,803,804],{},"但是由于Axis都是互相平行的，所以说，这个公垂线有无数多条，所以我们就在一个平面内表达即可。",[10,806,807],{},[65,808],{"alt":67,"src":809},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1896.webp",[10,811,812],{},"③下一步定义Zi向量（Z方向与转轴方向相同所以也是向上。）",[10,814,815],{},[65,816],{"alt":67,"src":817},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1897.webp",[10,819,820],{},"④然后判断中间的Xi向量",[10,822,823],{},[65,824],{"alt":67,"src":825},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1898.webp",[10,827,828],{},"⑤然后判断中间的Yi向量",[10,830,831],{},[65,832],{"alt":67,"src":833},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1899.webp",[10,835,836],{},"⑥然后判断头和尾，也就是frame 0 和frame n",[10,838,839],{},[65,840],{"alt":67,"src":841},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1900.webp",[10,843,844],{},"其实，我们可以把frame0和frame1建的完全重合，就是让alpha和theta都为0，如图并没有重合，所以有theta大小。",[10,846,847],{},[65,848],{"alt":67,"src":849},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1901.webp",[10,851,852],{},"最后一个杆件也一样，建议让X3的方向和X2方向重合，这样的话，theta和alpha都是0。",[10,854,855],{},[65,856],{"alt":67,"src":857},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1902.webp",[10,859,860],{},[65,861],{"alt":67,"src":862},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1903.webp",[10,864,865],{},"因为每个轴都是平行的，所以alpha是0，由于ai都是同平面的，所以d也为0.",[10,867,868],{},"因为frame0和frame1重合，所以a0 = 0，然后a1 = L1，a2 = L2",[10,870,871],{},"由于全是RRR，所以，theta都是变化的角。",[10,873,874],{},"P点末端执行器，也可以算出，沿X3方向走，获得P在frame n的表达，然后就可以推出P在frame 0中的表达了。",[10,876,877],{},"如图的，P点在Frame3里的坐标是（L3，0，0）",[784,879,881],{"id":880},"rpr类型","RPR类型",[10,883,884],{},[65,885],{"alt":67,"src":886},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1904.webp",[10,888,889],{},"①先找到转轴",[10,891,892],{},[65,893],{"alt":67,"src":894},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1905.webp",[10,896,897],{},"按右手螺旋来。",[10,899,900],{},"②找公垂线",[10,902,903],{},"因为frame1的Z1和frame2的Z2相交，所以，没有公垂线。",[10,905,906],{},"frame2的Z2和frame3的Z3重合，所以也没有公垂线。",[10,908,909],{},"也就是说a全是0.",[10,911,912],{},[65,913],{"alt":67,"src":914},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1906.webp",[10,916,917],{},"③建立Zi向量",[10,919,920],{},[65,921],{"alt":67,"src":922},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1907.webp",[10,924,925],{},"Zi方向与转轴方向相同。",[10,927,928],{},"④Xi的向量",[10,930,931],{},[65,932],{"alt":67,"src":933},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1908.webp",[10,935,936],{},"当Z1和Z2相交时，我们挑X的方向就挑和Z1和Z2都垂直的，有两种方案，要么X往前，要么往后，如图是往后的。",[10,938,939],{},"X1和X2必须平行，因为是个P类型的关节",[10,941,942],{},"⑤Y轴",[10,944,945],{},[65,946],{"alt":67,"src":947},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1909.webp",[10,949,950],{},"⑥Frame 0和frame n",[10,952,953],{},[65,954],{"alt":67,"src":955},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1910.webp",[10,957,958],{},"frame 0 和frame1重合",[10,960,961],{},[65,962],{"alt":67,"src":963},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1911.webp",[10,965,966],{},"让X3方向与X2方向相同",[10,968,969],{},[65,970],{"alt":67,"src":971},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1912.webp",[10,973,974],{},"如图，驱动的关节参数分别是theta1，d2，theta3",[10,976,977],{},[65,978],{"alt":67,"src":979},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1913.webp",[10,981,982],{},"由于frame0和frame1重合，那么alpha0 = 0，",[10,984,985],{},"从Z1到Z2的角，伸右手大拇指指向X1，然后四指与Z1到Z2方向相同，所以是逆时针，为正值，所以是90度。",[10,987,988],{},"然后fame2到frame3，Z共线，所以alpha2=0",[10,990,991],{},"然后由于Zi有的相交，有的共线，所以a全是0",[10,993,994],{},"然后d1是0，因为frame0和frame1重合，",[10,996,997],{},"d2是d2，d3是L2（d是X在Axis上的距离）",[10,999,1000],{},[65,1001],{"alt":67,"src":1002},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1914.webp",[10,1004,1005],{},"P点在Frame3上的坐标为（0，0，L3）",[10,1007,1008],{},[65,1009],{"alt":67,"src":1010},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1915.webp",[10,1012,1013],{},"其实Z方向有俩选择，X也有俩选择，一共四种选择，选择自己好理解，好计算的方案即可。",[784,1015,1017],{"id":1016},"中国台积电晶圆机器人prrr类型4个自由度","中国台积电晶圆机器人(PRRR类型4个自由度)",[10,1019,1020],{},[65,1021],{"alt":67,"src":1022},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1916.webp",[10,1024,1025,1028],{},[65,1026],{"alt":67,"src":1027},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1917.webp",[65,1029],{"alt":67,"src":1030},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1918.webp",[784,1032,1034],{"id":1033},"scara机器人rrrp类型4个自由度","SCARA机器人(RRRP类型4个自由度)",[10,1036,1037],{},[65,1038],{"alt":67,"src":1039},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1919.webp",[10,1041,1042],{},"该机器人最后一个关节是既可以R又可以P的，所以是个RP关节，既可以先算R也可以先算P。",[10,1044,1045,1048],{},[65,1046],{"alt":67,"src":1047},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1920.webp",[65,1049],{"alt":67,"src":1050},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1921.webp",[784,1052,1054],{"id":1053},"rp类型","RP类型",[10,1056,1057],{},[65,1058],{"alt":67,"src":1059},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1922.webp",[10,1061,1062],{},[65,1063],{"alt":67,"src":1064},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1923.webp",[10,1066,1067],{},"选D，因为俩自由度，所以有俩驱动参数。",[10,1069,1070],{},[65,1071],{"alt":67,"src":1072},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1924.webp",[35,1074,1076],{"id":1075},"执行器关节与笛卡尔空间actuator-joint-and-cartesian-spaces","执行器关节与笛卡尔空间(Actuator Joint and Cartesian Spaces)",[10,1078,1079],{},[65,1080],{"alt":67,"src":1081},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1925.webp",[10,1083,1084],{},"我们这里的驱动是theta1-3，",[10,1086,1087],{},"当我们知道theta1-3的值之后，我们就会知道P点在世界坐标系上的表达。",[10,1089,1090],{},"这被叫做正向运动学（Forward Kinematics）。",[10,1092,1093],{},"由P点世界坐标系反算关节角度，那么叫逆向运动学（Inverse Kinematics）。",[10,1095,1096],{},[65,1097],{"alt":67,"src":1098},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1926.webp",[10,1100,1101],{},"Actuator Space就是驱动器空间，比如一个电机怎么操控能转joint space下的固定角（经过一系列转换）。",[10,1103,1104],{},[65,1105],{"alt":67,"src":1106},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1927.webp",[10,1108,1109],{},[65,1110],{"alt":67,"src":1111},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1928.webp",[10,1113,1114,1117],{},[65,1115],{"alt":67,"src":1116},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1929.webp",[65,1118],{"alt":67,"src":1119},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1930.webp",[10,1121,1122,1125],{},[65,1123],{"alt":67,"src":1124},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1931.webp",[65,1126],{"alt":67,"src":1127},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1932.webp",[10,1129,1130,1133],{},[65,1131],{"alt":67,"src":1132},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1933.webp",[65,1134],{"alt":67,"src":1135},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1934.webp",[10,1137,1138],{},"有转动有移动的部分（所以需要两个电机来达到这两个自由度）",[10,1140,1141,1144],{},[65,1142],{"alt":67,"src":1143},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1935.webp",[65,1145],{"alt":67,"src":1146},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1936.webp",[10,1148,1149],{},"同步带机构使其旋转。（第一个电机）",[10,1151,1152],{},"齿轮齿条机构达到上下移动。（第二个电机）",[10,1154,1155],{},"但是，这两个并不是独立的，因为是同轴驱动的，所以有些负荷。",[10,1157,1158],{},[65,1159],{"alt":67,"src":1160},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1937.webp",[10,1162,1163],{},"两个转动变成一个转动一个移动。",[35,1165,1166],{"id":1166},"正运动学",[10,1168,1169,1172],{},[47,1170,1171],{},"定义"," ：已知机器人各个关节（或轮子等驱动单元）的运动参数（如角度、位移、速度等），计算末端执行器的位置和姿态。",[10,1174,1175],{},[65,1176],{"alt":67,"src":1177},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1938.webp",[10,1179,1180],{},[65,1181],{"alt":67,"src":1182},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1939.webp",[10,1184,1185],{},"ads=dv/dt * ds = ds/dt *dv = vdv",[10,1187,1188],{},[65,1189],{"alt":67,"src":1190},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1940.webp",[10,1192,1193],{},"牛顿第二定律，能量守恒，冲量与动量",[10,1195,1196],{},[65,1197],{"alt":67,"src":1198},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1941.webp",[10,1200,1201],{},"Wp就是P点在世界坐标系下的坐标",[10,1203,1204],{},[65,1205],{"alt":67,"src":1206},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1942.webp",[10,1208,1209],{},[65,1210],{"alt":67,"src":1211},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1943.webp",[10,1213,1214],{},[65,1215],{"alt":67,"src":1216},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1944.webp",[10,1218,1219],{},"可以根据该公式，得知末端执行器在世界坐标系中的坐标。",[35,1221,1222],{"id":1222},"逆运动学",[10,1224,1225,1227],{},[47,1226,1171],{}," ：已知末端执行器的目标位置和姿态，计算需要让各个关节（或轮子等驱动单元）运动到什么角度或速度才能达到该目标。",[10,1229,1230,1233],{},[65,1231],{"alt":67,"src":1232},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1945.webp",[65,1234],{"alt":67,"src":1235},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1946.webp",[10,1237,1238],{},"先知道末端执行器的某个点P在世界坐标系中的表达，也就是给出Pw或者末端执行器某个点上的frameH，",[10,1240,1241],{},"通过Pw求出theta。",[10,1243,1244],{},[65,1245],{"alt":67,"src":1246},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1947.webp",[10,1248,1249],{},"这样手臂就有6个未知数",[10,1251,1252],{},[65,1253],{"alt":67,"src":1254},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1948.webp",[10,1256,1257],{},"16个数字，转动的部分占了9个数字，也就是左上角的3X3的旋转矩阵，然后右上角3X1的向量表示相对于原点的位移量是什么。（也就是frame6的原点相对于frame0的原点位移量是什么）",[10,1259,1260],{},"下面的0001是整数，固定的，不变的。",[10,1262,1263],{},[65,1264],{"alt":67,"src":1265},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1949.webp",[10,1267,1268],{},"这个旋转矩阵里，有3个长度条件，3个互相垂直条件，所以9个数字里，就剩3个自由度。（也就是向量长度为1限制3个，向量两两垂直限制3个，所以是平移矩阵，3个自由度）",[10,1270,1271],{},"然后右上角3X1的向量中，相对原点的坐标X,Y,Z,那么就是3个自由度。",[10,1273,1274],{},"所以总共有6个自由度。",[10,1276,1277],{},"这12个方程式就是除了低下的0001，上面的参数都可以列一个式子。我们要做的，就是从12个式子中求出6个未知数。",[10,1279,1280],{},[65,1281],{"alt":67,"src":1282},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1950.webp",[10,1284,1285],{},"灵活工作空间Dexterous workspace是可达工作空间Reachable workspace的子集。",[10,1287,1288],{},[65,1289],{"alt":67,"src":1290},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1951.webp",[10,1292,1293],{},"它的可达工作空间是个圆环。",[10,1295,1296],{},"对于某个点，在这个例子中，只有1种或2种姿态可以达到。这个机器人只有RWS，没有DWS。",[10,1298,1299],{},[65,1300],{"alt":67,"src":1301},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/30/image1952.webp",[10,1303,1304],{},"手臂一样长的话，那样工作空间就是个圆了，",[10,1306,1307],{},"有一个点就是DWS,就是原点，当手臂内折，那么可以以360度任意一个角度来达到这个点，所以该点就是DWS。",{"title":67,"searchDepth":117,"depth":117,"links":1309},[1310],{"id":21,"depth":230,"text":21},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch16-moveit2-gong-ye-ji-qi-ren-ji-xie-bi","16",16000000,"2023-12-30","wiki/2023-12-30-ros2-tutorial","zh-cn:2023-12-30-ros2-tutorial","/zh-cn/wiki/2023-12-30-ros2-tutorial","Ros2 Tutorial","md","wiki/2023-12-30-ros2-tutorial/ch16-Moveit2工业机器人机械臂",false,true,null,"/wiki/2023-12-30-ros2-tutorial/ch16-moveit2-gong-ye-ji-qi-ren-ji-xie-bi","zh-CN","zh-cn",{},{"title":5,"description":15},1,"BF3In4AUTXFWqLxv0CWohnh3elapEAPlRiC_oWnDpts",[1332,1338,1344,1350,1356,1362,1368,1374,1380,1386,1392,1398,1404,1410,1416,1422,1428,1434,1439,1445,1450,1456,1462,1468,1474,1480,1486,1492,1498,1504,1510,1516,1522,1528,1534,1540,1546,1552,1558,1564,1570,1576,1582,1588,1594,1600,1606,1607,1613,1619,1625,1631,1637,1643,1649,1655,1661,1667,1673,1679],{"path":1333,"stem":1334,"title":1335,"date":1314,"chapter":1336,"chapterSort":1337,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch1-ros2-jie-shao","wiki/2023-12-30-ros2-tutorial/ch1-ROS2介绍","ROS2介绍","1",1000000,{"path":1339,"stem":1340,"title":1341,"date":1314,"chapter":1342,"chapterSort":1343,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/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":1345,"stem":1346,"title":1347,"date":1314,"chapter":1348,"chapterSort":1349,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch11-1-gazeboclassic","wiki/2023-12-30-ros2-tutorial/ch11-1-GazeboClassic","Gezebo Classic","11.1",11010000,{"path":1351,"stem":1352,"title":1353,"date":1314,"chapter":1354,"chapterSort":1355,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch11-2-ignitiongazebo","wiki/2023-12-30-ros2-tutorial/ch11-2-IgnitionGazebo","Ignition Gazebo（Gazebo Fortress）","11.2",11020000,{"path":1357,"stem":1358,"title":1359,"date":1314,"chapter":1360,"chapterSort":1361,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/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":1363,"stem":1364,"title":1365,"date":1314,"chapter":1366,"chapterSort":1367,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/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":1369,"stem":1370,"title":1371,"date":1314,"chapter":1372,"chapterSort":1373,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch11-gezebo-fang-zhen-ping-tai","wiki/2023-12-30-ros2-tutorial/ch11-Gezebo仿真平台","Gezebo仿真平台","11",11000000,{"path":1375,"stem":1376,"title":1377,"date":1314,"chapter":1378,"chapterSort":1379,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch12-1-humble-ban-ben","wiki/2023-12-30-ros2-tutorial/ch12-1-Humble版本","Humble导航仿真","12.1",12010000,{"path":1381,"stem":1382,"title":1383,"date":1314,"chapter":1384,"chapterSort":1385,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch12-2-jazzy-ban-ben","wiki/2023-12-30-ros2-tutorial/ch12-2-Jazzy版本","Jazzy导航仿真","12.2",12020000,{"path":1387,"stem":1388,"title":1389,"date":1314,"chapter":1390,"chapterSort":1391,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch12-3-humble2jazzy","wiki/2023-12-30-ros2-tutorial/ch12-3-Humble2Jazzy","Humble与Jazzy导航的差异","12.3",12030000,{"path":1393,"stem":1394,"title":1395,"date":1314,"chapter":1396,"chapterSort":1397,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/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":1399,"stem":1400,"title":1401,"date":1314,"chapter":1402,"chapterSort":1403,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch13-1-1-boost-aiso","wiki/2023-12-30-ros2-tutorial/ch13-1-1-Boost.Aiso","Boost.Asio库","13.1.1",13010100,{"path":1405,"stem":1406,"title":1407,"date":1314,"chapter":1408,"chapterSort":1409,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch13-1-2-ros2-serial-driver","wiki/2023-12-30-ros2-tutorial/ch13-1-2-ros2_serial_driver","ROS2 Serial Driver库","13.1.2",13010200,{"path":1411,"stem":1412,"title":1413,"date":1314,"chapter":1414,"chapterSort":1415,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch13-1-chuan-kou-tong-xin","wiki/2023-12-30-ros2-tutorial/ch13-1-串口通信","UART串口通信","13.1",13010000,{"path":1417,"stem":1418,"title":1419,"date":1314,"chapter":1420,"chapterSort":1421,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch13-2-1-socketcan","wiki/2023-12-30-ros2-tutorial/ch13-2-1-socketcan","SocketCAN","13.2.1",13020100,{"path":1423,"stem":1424,"title":1425,"date":1314,"chapter":1426,"chapterSort":1427,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch13-2-2-ros2-socketcan","wiki/2023-12-30-ros2-tutorial/ch13-2-2-ros2_socketcan","ROS2_SocketCAN","13.2.2",13020200,{"path":1429,"stem":1430,"title":1431,"date":1314,"chapter":1432,"chapterSort":1433,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch13-2-can-tong-xin","wiki/2023-12-30-ros2-tutorial/ch13-2-CAN通信","CAN通信","13.2",13020000,{"path":1435,"stem":1436,"title":1401,"date":1314,"chapter":1437,"chapterSort":1438,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch13-3-1-boost-aiso","wiki/2023-12-30-ros2-tutorial/ch13-3-1-Boost.Aiso","13.3.1",13030100,{"path":1440,"stem":1441,"title":1442,"date":1314,"chapter":1443,"chapterSort":1444,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch13-3-tcp-tong-xin","wiki/2023-12-30-ros2-tutorial/ch13-3-TCP通信","TCP通信","13.3",13030000,{"path":1446,"stem":1447,"title":1401,"date":1314,"chapter":1448,"chapterSort":1449,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch13-4-1-boost-aiso","wiki/2023-12-30-ros2-tutorial/ch13-4-1-Boost.Aiso","13.4.1",13040100,{"path":1451,"stem":1452,"title":1453,"date":1314,"chapter":1454,"chapterSort":1455,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch13-4-udp-tong-xin","wiki/2023-12-30-ros2-tutorial/ch13-4-UDP通信","UDP通信","13.4",13040000,{"path":1457,"stem":1458,"title":1459,"date":1314,"chapter":1460,"chapterSort":1461,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch13-linux-ying-jian-tong-xin","wiki/2023-12-30-ros2-tutorial/ch13-Linux硬件通信","Linux硬件通信","13",13000000,{"path":1463,"stem":1464,"title":1465,"date":1314,"chapter":1466,"chapterSort":1467,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-1-ji-qi-ren-zu-cheng","wiki/2023-12-30-ros2-tutorial/ch14-1-机器人组成","机器人组成","14.1",14010000,{"path":1469,"stem":1470,"title":1471,"date":1314,"chapter":1472,"chapterSort":1473,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-2-1-yuan-cheng-kai-fa-ssh","wiki/2023-12-30-ros2-tutorial/ch14-2-1-远程开发SSH","远程开发SSH","14.2.1",14020100,{"path":1475,"stem":1476,"title":1477,"date":1314,"chapter":1478,"chapterSort":1479,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-2-2-yuan-cheng-fang-wen-zhuo-mian","wiki/2023-12-30-ros2-tutorial/ch14-2-2-远程访问桌面","远程访问桌面","14.2.2",14020200,{"path":1481,"stem":1482,"title":1483,"date":1314,"chapter":1484,"chapterSort":1485,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-2-gong-kong-ji-zhi-yuan-cheng-kai-fa-huan-jing","wiki/2023-12-30-ros2-tutorial/ch14-2-工控机之远程开发环境","工控机之远程开发环境","14.2",14020000,{"path":1487,"stem":1488,"title":1489,"date":1314,"chapter":1490,"chapterSort":1491,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-3-gong-kong-ji-zhi-wai-jie-usb-she-bei","wiki/2023-12-30-ros2-tutorial/ch14-3-工控机之外接USB设备","工控机之外接USB设备","14.3",14030000,{"path":1493,"stem":1494,"title":1495,"date":1314,"chapter":1496,"chapterSort":1497,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-4-fen-bu-shi-da-jian","wiki/2023-12-30-ros2-tutorial/ch14-4-分布式搭建","分布式搭建","14.4",14040000,{"path":1499,"stem":1500,"title":1501,"date":1314,"chapter":1502,"chapterSort":1503,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-5-you-hua-ri-zhi","wiki/2023-12-30-ros2-tutorial/ch14-5-优化日志","优化日志","14.5",14050000,{"path":1505,"stem":1506,"title":1507,"date":1314,"chapter":1508,"chapterSort":1509,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-6-1-li-cheng-ji-odom","wiki/2023-12-30-ros2-tutorial/ch14-6-1-里程计Odom","里程计Odom","14.6.1",14060100,{"path":1511,"stem":1512,"title":1513,"date":1314,"chapter":1514,"chapterSort":1515,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-6-2-guan-xing-ji-imu","wiki/2023-12-30-ros2-tutorial/ch14-6-2-惯性计IMU","惯性计IMU","14.6.2",14060200,{"path":1517,"stem":1518,"title":1519,"date":1314,"chapter":1520,"chapterSort":1521,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-6-3-ji-guang-lei-da-lidar","wiki/2023-12-30-ros2-tutorial/ch14-6-3-激光雷达LiDAR","激光雷达LiDAR","14.6.3",14060300,{"path":1523,"stem":1524,"title":1525,"date":1314,"chapter":1526,"chapterSort":1527,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-6-4-xiang-ji-camera","wiki/2023-12-30-ros2-tutorial/ch14-6-4-相机Camera","相机Camera","14.6.4",14060400,{"path":1529,"stem":1530,"title":1531,"date":1314,"chapter":1532,"chapterSort":1533,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-6-5-quan-qiu-ding-wei-gnss","wiki/2023-12-30-ros2-tutorial/ch14-6-5-全球定位GNSS","全球定位GNSS","14.6.5",14060500,{"path":1535,"stem":1536,"title":1537,"date":1314,"chapter":1538,"chapterSort":1539,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-6-6-shou-bing-joy","wiki/2023-12-30-ros2-tutorial/ch14-6-6-手柄joy","手柄JOY","14.6.6",14060600,{"path":1541,"stem":1542,"title":1543,"date":1314,"chapter":1544,"chapterSort":1545,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-6-7-jian-pan-kong-zhi-jie-dian","wiki/2023-12-30-ros2-tutorial/ch14-6-7-键盘控制节点","键盘控制节点","14.6.7",14060700,{"path":1547,"stem":1548,"title":1549,"date":1314,"chapter":1550,"chapterSort":1551,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-6-ying-jian-ping-tai","wiki/2023-12-30-ros2-tutorial/ch14-6-硬件平台","硬件平台","14.6",14060000,{"path":1553,"stem":1554,"title":1555,"date":1314,"chapter":1556,"chapterSort":1557,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-7-zuo-biao-xi-yu-hua-ti-guan-xi","wiki/2023-12-30-ros2-tutorial/ch14-7-坐标系与话题关系","坐标系与话题关系","14.7",14070000,{"path":1559,"stem":1560,"title":1561,"date":1314,"chapter":1562,"chapterSort":1563,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-8-1-1-lun-shi-li-cheng-ji-biao-ding","wiki/2023-12-30-ros2-tutorial/ch14-8-1-1-轮式里程计标定","轮式里程计标定","14.8.1.1",14080101,{"path":1565,"stem":1566,"title":1567,"date":1314,"chapter":1568,"chapterSort":1569,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-8-1-2-lun-shi-li-cheng-ji-yu-imu-rong-he","wiki/2023-12-30-ros2-tutorial/ch14-8-1-2-轮式里程计与IMU融合","轮式里程计与IMU融合","14.8.1.2",14080102,{"path":1571,"stem":1572,"title":1573,"date":1314,"chapter":1574,"chapterSort":1575,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-8-1-lun-shi-li-cheng-ji-biao-ding-yu-rong-he","wiki/2023-12-30-ros2-tutorial/ch14-8-1-轮式里程计标定与融合","轮式里程计标定与融合","14.8.1",14080100,{"path":1577,"stem":1578,"title":1579,"date":1314,"chapter":1580,"chapterSort":1581,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-8-2-ji-guang-lei-da-gong-ju","wiki/2023-12-30-ros2-tutorial/ch14-8-2-激光雷达工具","激光雷达工具","14.8.2",14080200,{"path":1583,"stem":1584,"title":1585,"date":1314,"chapter":1586,"chapterSort":1587,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-8-3-xiang-ji-shi-yong-jin-jie","wiki/2023-12-30-ros2-tutorial/ch14-8-3-相机使用进阶","相机使用进阶","14.8.3",14080300,{"path":1589,"stem":1590,"title":1591,"date":1314,"chapter":1592,"chapterSort":1593,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-8-ying-jian-ping-tai-jin-jie","wiki/2023-12-30-ros2-tutorial/ch14-8-硬件平台进阶","硬件平台进阶","14.8",14080000,{"path":1595,"stem":1596,"title":1597,"date":1314,"chapter":1598,"chapterSort":1599,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch14-ji-qi-ren-ying-jian","wiki/2023-12-30-ros2-tutorial/ch14-机器人硬件","机器人硬件","14",14000000,{"path":1601,"stem":1602,"title":1603,"date":1314,"chapter":1604,"chapterSort":1605,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch15-ros2-control","wiki/2023-12-30-ros2-tutorial/ch15-ROS2_Control","ROS2_Control","15",15000000,{"path":1311,"stem":1320,"title":5,"date":1314,"chapter":1312,"chapterSort":1313,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},{"path":1608,"stem":1609,"title":1610,"date":1314,"chapter":1611,"chapterSort":1612,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/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":1614,"stem":1615,"title":1616,"date":1314,"chapter":1617,"chapterSort":1618,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch18-microros","wiki/2023-12-30-ros2-tutorial/ch18-MicroROS","MicroROS","18",18000000,{"path":1620,"stem":1621,"title":1622,"date":1314,"chapter":1623,"chapterSort":1624,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch19-webots-fang-zhen-ping-tai","wiki/2023-12-30-ros2-tutorial/ch19-Webots仿真平台","Webots仿真平台","19",19000000,{"path":1626,"stem":1627,"title":1628,"date":1314,"chapter":1629,"chapterSort":1630,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch2-ru-men-cao-zuo","wiki/2023-12-30-ros2-tutorial/ch2-入门操作","入门操作","2",2000000,{"path":1632,"stem":1633,"title":1634,"date":1314,"chapter":1635,"chapterSort":1636,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch20-opencv","wiki/2023-12-30-ros2-tutorial/ch20-OpenCV","OpenCV","20",20000000,{"path":1638,"stem":1639,"title":1640,"date":1314,"chapter":1641,"chapterSort":1642,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/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":1644,"stem":1645,"title":1646,"date":1314,"chapter":1647,"chapterSort":1648,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch4-si-da-tong-xin","wiki/2023-12-30-ros2-tutorial/ch4-四大通信","四大通信","4",4000000,{"path":1650,"stem":1651,"title":1652,"date":1314,"chapter":1653,"chapterSort":1654,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/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":1656,"stem":1657,"title":1658,"date":1314,"chapter":1659,"chapterSort":1660,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch6-launch","wiki/2023-12-30-ros2-tutorial/ch6-Launch","Launch","6",6000000,{"path":1662,"stem":1663,"title":1664,"date":1314,"chapter":1665,"chapterSort":1666,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch7-hui-su-rosbag2","wiki/2023-12-30-ros2-tutorial/ch7-回溯rosbag2","回溯rosbag2","7",7000000,{"path":1668,"stem":1669,"title":1670,"date":1314,"chapter":1671,"chapterSort":1672,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/wiki/2023-12-30-ros2-tutorial/ch8-zuo-biao-bian-huan-tf","wiki/2023-12-30-ros2-tutorial/ch8-坐标变换TF","坐标变换TF","8",8000000,{"path":1674,"stem":1675,"title":1676,"date":1314,"chapter":1677,"chapterSort":1678,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1321},"/zh-cn/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":1317,"stem":1680,"title":1681,"date":1314,"chapter":1323,"chapterSort":1682,"docKey":1316,"docRoot":1317,"docTitle":1318,"isWikiDoc":1322,"isWikiIndex":1322},"wiki/2023-12-30-ros2-tutorial/index","ROS2机器人操作系统教程",0,{"variants":1684},[1685,1688,1691,1694,1697],{"path":1686,"localeSlug":1687,"i18nKey":1320},"/en-us/wiki/2023-12-30-ros2-tutorial/ch16-moveit2-gong-ye-ji-qi-ren-ji-xie-bi","en-us",{"path":1689,"localeSlug":1690,"i18nKey":1320},"/zh-hant/wiki/2023-12-30-ros2-tutorial/ch16-moveit2-gong-ye-ji-qi-ren-ji-xie-bi","zh-hant",{"path":1692,"localeSlug":1693,"i18nKey":1320},"/zh-hk/wiki/2023-12-30-ros2-tutorial/ch16-moveit2-gong-ye-ji-qi-ren-ji-xie-bi","zh-hk",{"path":1695,"localeSlug":1696,"i18nKey":1320},"/zh-tw/wiki/2023-12-30-ros2-tutorial/ch16-moveit2-gong-ye-ji-qi-ren-ji-xie-bi","zh-tw",{"path":1311,"localeSlug":1326,"i18nKey":1320},[1686,1324,1689,1324,1692,1324,1695,1324,1311,1324],1780663052892]