機器人學與OROCOS-KDL(一)簡介
一、概述
本系列文章主要研究機器人學的基礎理論,以及研究開源機器人庫OROCOS-KDL對機器人算法的實現。本文所有錯誤不足歡迎指正或討論。
二、機器人學
機器人學是人們設計和應用機器人的技術和知識。機器人系統不僅由機器人組成,還需要其他裝置和系統連同機器人一起來共同完成必須的任務。1
機器人學內容主要有:運動學、動力學、軌跡規劃、速度規劃等。
三、開源機器人控制軟件OROCOS
“Orocos”代表“Open Robot Control Software”,即開源機器人控制軟件。
Orocos 爲軟件開發人員提供了開源的機器人軟件框架,提供了很多功能,方
便開發人員快速的開發機器人軟件模塊。2
Orocos 由 Kinematics Dynamics Library,Bayesian Filtering Library 及 Orocos Toolchain 組成。
官方網站:orocos.org
KDL(Kinematics and Dynamics):機器人運動學與動力學組件,爲運動學提供了實時的動力學約束計算,這個組件非常有用,有了這個組件,很多機器人開發者可以快速地開發機器人算法。
BFL(Bayesian Filtering Library):貝葉斯過濾庫提供了一個獨立於應用程序的動態貝葉斯網絡推導框架,即基於貝葉斯規則的遞歸信息處理和估計算法,如卡爾曼濾波器,粒子濾波器法等。
Toolchain:Orocos工具鏈是使用模塊化運行時可配置軟件組件創建實時機器人應用程序的主要工具。工具鏈包含了實時工具集(Real-Time Toolkit)、Orocos組件庫(Orocos Component Library)等。
本文主要研究與機器人學相關的機器人運動學與動力學組件KDL。
四、OROCOS-KDL安裝
1.參考平臺
Windows 10 操作系統
MinGW 編譯器
CMake 3.1.2 工具
2.源碼下載
Eigen3源碼下載
KDL源碼下載
git clone https://github.com/orocos/orocos_kinematics_dynamics.git
3.解壓Eigen3和KDL
Eigen3是一個C++的線性代數模板庫,包括矩陣、向量及相關算法。KDL庫的底層計算用到Eigen庫,因此KDL編譯時要加入Eigen的路徑。
解壓Eigen3和KDL後:
4.編譯KDL
- 打開orocos_kinematics_dynamics-master/D:\workspcae\orocos_kinematics_dynamics-master\orocos_kdl 目錄
- 新建build文件夾
- 打開CMake GUI軟件,按下圖步驟:①加入源碼位置;②加入剛纔新建的build文件夾作爲生成目錄;③點擊Configure按鈕;④選擇編譯器,點擊完成。
- 未加入Eigen的路徑一般會出現錯誤,在CMake界面中加入Eigen的路徑。按照以下步驟生成Makefile。(建議自己定義安裝路徑:修改CMAKE_INSTALL_PREFIX)
如一切順利,則出現以下結果:
- 打開CMD命令提示符,進入已生成Makefile的build的路徑,輸入make編譯KDL庫:
- 編譯完成後,輸入make install 安裝KDL庫:
- 安裝完成後,在CMAKE_INSTALL_PREFIX設置的路徑找到以下目錄:
- 另外,編譯後在build/src目錄中生成了liborocos-kdl.dll動態庫文件,而make install後並沒有安裝到目標目錄中,可能是cmake配置沒配置到。但是動態庫非常有用,需要使用liborocos-kdl.dll庫時,可以手動複製到目標目錄。