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