經(jīng)過一周的研究,對六自由度機械臂運動進行了研究,利用高中幾何知識進行了運動控制策略的設(shè)計,無償貢獻出源碼,可以為入門的小伙伴提供一定的借鑒。
1、機械臂物理參數(shù)的介紹
買了一個六軸機械臂,作為研究對象,如果是其它機械臂,可以根據(jù)機械臂參數(shù)對代碼進行修改。機械臂參數(shù)如下圖所示:
1.1 部件與尺寸
機械臂如下部件組成,描述如下表:

1.2坐標系與工作空間
機械臂坐標系為數(shù)學(xué)直角正交坐標系,每個電機繞著旋轉(zhuǎn)軸順時針、逆時針旋轉(zhuǎn)(正負已經(jīng)標明),方向如圖1所示,機械臂通過6個電機的旋轉(zhuǎn)運動,實現(xiàn)了一系列復(fù)雜的動作。
注意,由于機械結(jié)構(gòu)和設(shè)計的原因,有的電機不能進行-180°至180°的全向轉(zhuǎn)動,會有一個轉(zhuǎn)動的范圍(見上表),這部分沒有在python中實現(xiàn)。
2、機械臂運動控制原理
機械臂運動控制要解決的核心問題是,知道物體的位置(中心點坐標)和主方向(物體的朝向),程序自動計算出機械臂的各關(guān)節(jié)角度位置,將夾具準確送到抓取物體的部位,并對準抓取位置。
2.1機械臂運動的幾何簡化
總體思路是將機械臂的三維復(fù)雜運動簡化為兩個平面的運動,即“俯視平面”,和“垂直平面(本文叫R平面)”的組合運動。如下兩個圖:
2.2機械臂抓手即后面末關(guān)節(jié)的處理
普通的機械臂的控制以上就可以,由于我手頭這個大象機械臂比較特殊,有很多90度彎頭,而且抓手安裝后,他的落點與上面簡化模型就出現(xiàn)了偏差,因此,還需要根據(jù)這個特點,根據(jù)實際的物體坐標和主方向,計算出上節(jié)的理想抓手坐標點(x,y),然后就能求出全部關(guān)節(jié)的角度了。
3、python源碼
以下是源代碼,可以直接運行,本站源碼鏈接:對六自由度機械臂的運動控制及python實現(xiàn)(源碼)
或關(guān)注文末公眾號,免費獲取
按鍵盤"O"鍵,進入自動鼠標點擊右側(cè)圖機械臂工作半徑范圍的地方,自動計算各關(guān)節(jié)的旋轉(zhuǎn)坐標。
再按鍵盤"O"鍵,退出鼠標點擊計算模式,改用監(jiān)盤手動操作模式,按“[”或 “]”,是J1關(guān)節(jié)旋轉(zhuǎn),按“w"是擴大作業(yè)半徑,按"s"是縮小作業(yè)半徑。
運行效果如下:
以上是幾何實現(xiàn)。
www.tuo13886.net.cn/hangye/UploadFiles_3492/202402/2024021416105679.zip