笛卡爾空間力反饋的關節速度控制之機器人運動學庫KDL安裝及使用
引言
首先得到的工具座標系淨接觸力向量,然後乘以工具座標系到末端座標系的旋轉矩陣,得到末端的淨接觸力向量。然後將末端的力乘以阻尼矩陣(假設解耦),得到末端的速度向量。因為得到的速度向量還是在末端座標系下的(這裡可以考慮先轉到基座標系下再得到速度向量?),因此為了達到控制關節速度的目的,需要首先將末端的速度轉換到基座標系下,然後利用雅克比矩陣的逆,得到關節速度指令。這裡的轉換矩陣,也就是齊次變換矩陣就是這裡想要求得的。
原理
1、雅克比矩陣可以通過moveit中的命令獲取,這裡不知道為什麼ur自帶的指令總是和matlab(目前已知應該是正確)有點出入,在正負號方面。因此首先進行相關符號的轉換(不會是坑吧,算了,先挖再說。)
2、通過辨識的旋轉資訊,將工具座標系下的力轉為末端座標系;然後使用阻尼矩陣(相當於阻尼控制,將末端力轉為末端速度),得到在末端座標系下的速度資訊。再經過旋轉矩陣和雅克避矩陣的轉化,從而得到基座標系下的笛卡爾空間速度值。如引言部分所示
安裝
由於雅克比矩陣可以通過moveit獲得,但是將末端座標系下的速度轉為基座標系下的工作需要用到機械臂的正向運動學。一種方法是直接通過手算正向運動學,另一種方法是通過linux下的KDL庫
(機器人運動學相關)直接獲取。這裡我們選擇使用KDL進行正運動學求解。因此關於在linux下正確安裝使用KDL庫,是本文所介紹的。
安裝主要是參見這篇文章連結。
這裡我們選擇用py版本的KDL
PyKDL
首先安裝PyKDL。
安裝過程中會遇到問題,我是通過下載低版本的包解決的。
pykdl_utils
在文中提到了將.so檔案拷貝可以解決存在的問題,但是試了以後發現不行,最終的辦法是必須通過新增路徑的方法。就是在下面“使用”一節的連結中提到的。
類似於這兩種
sys.path.insert(0, "/home/file/catkin_ws/src/Basic_math/hrl-kdl-indigo-devel/hrl_geom/src")
sys.path.insert(0, "/home/wangxu/catkin_ws/src/Basic_math/hrl-kdl-indigo-devel/pykdl_utils/src")
但是必須要到build資料夾,就像:
```python
sys.path.insert(0, "/home/xsm/pydk/src/hrl-kdl-indigo-devel (2)/hrl_geom/src")
sys.path.insert(0, "/home/xsm/orocos_kinematics_dynamics-1.3.1/python_orocos_kdl/build")
使用
參見部落格連結。當然這裡也是有問題,就是對於變換矩陣的順序,可能需要再調整一下。
當遇到存在解釋解釋包,但是不在此直譯器下的情況時,可以在pycharm中通過為直譯器新增包的方式新增。
實驗
最終初步實現了末端力反饋的關節速度控制,視訊以後放。
希望我們可以不忘初心,May the force be with you!
相關文章
- 笛卡爾樹
- 畢設(5)—笛卡爾空間軌跡規劃(直線、圓弧)
- 笨辦法學C 導言:C的笛卡爾之夢
- 機器人自帶觸覺反饋,隔空微創手術的利器機器人
- [BUG反饋]安裝bug?
- 機器人運動學機器人
- 移動機器人中的現代控制理論之狀態空間表示式機器人
- 移動機器人運動規劃及運動模擬機器人
- 基環樹和笛卡爾樹
- 節卡機器人硬核實力實現“小巨人”三級跳機器人
- [BUG反饋]OneThink安裝到阿里雲主機提示404阿里
- PostgreSQL-表空間、資料庫、使用者之間的關係(七)SQL資料庫
- [BUG反饋]BAE安裝onethink報錯
- 機器學習-學習筆記(一) --> (假設空間 & 版本空間)及 歸納偏好機器學習筆記
- 流體力學守恆形式Euler方程(笛卡爾座標、柱座標、球座標)
- 科學的演變:從笛卡爾到生成式人工智慧人工智慧
- 笛卡爾積的應用——商品 SKU 計算
- [BUG反饋]開始安裝 介面調整
- 庫卡機器人訊號配置機器人
- 【笛卡爾樹+DP】【SP3734】 PERIODNI - Periodni
- 笛卡爾座標張量簡介7
- [BUG反饋]GIT最新版安裝出錯Git
- 機器學習在高德使用者反饋資訊處理中的實踐機器學習
- 機器人學之運動學筆記【7】—— 機械手臂軌跡規劃例項機器人筆記
- 專案實戰:Qt球機控制工具(球機運動八個方向以及運動速度,運動指定角度QT
- 二維陣列笛卡爾積js實現陣列JS
- 二叉查詢樹和笛卡爾樹
- Python如何從列表中獲取笛卡爾積Python
- P1377 [TJOI2011] 樹的序 (笛卡爾樹)
- 笛卡爾乘積的javascript版實現和應用JavaScript
- 什麼才是好的關卡設計?使用空間度量法設計戰術性關卡
- 環境互動:通過空間劃分的關卡設計
- STM32配置HID裝置時主機識別不到力反饋的解決辦法
- 反殺人類、拯救機器狗,被虐士兵機器人化身終結者 | 波士屯動力機器人
- 關於python Miniconda的指令碼安裝及 環境控制Python指令碼
- 【TUNE_ORACLE】列出走了笛卡爾積的SQL參考OracleSQL
- 【2018.04.19 ROS機器人作業系統】機器人控制:運動規劃、路徑規劃及軌跡規劃簡介之一ROS機器人作業系統
- 人工智慧與智慧系統2-> 機器人學2 | 時間與運動人工智慧機器人