【機器人學】使用代數法求解3自由度擬人機械臂的逆運動學解
這篇部落格會討論一下使用解析法求解3自由度擬人機械臂的逆解及分析。
一、機械臂的逆解
機械臂的逆運動學問題就是由給定的末端執行器位置和方向,確定機械臂各個關節變數的值。機械臂的求解方法可以分為兩大類:數值解和解析解(封閉解),解析解又可分為代數解和幾何解。
數值解和解析解有各自的特點,商用的機械臂一般都會採用解析解,因為求解速度快且準確,而不會採用本質迭代的數值解法。
二、擬人機械臂+球形手腕
如果大家注意到的話,可以發現,市面上的6軸機械臂的構型都是相似的,大都是擬人臂+球形手腕的構型,因為這樣的構型可以把球形腕的求逆解耦出來。
三、3自由度擬人機械臂的求解
這篇部落格的內容都出自於《機器人學:建模,規劃和控制》這本教材,有興趣的同學可以找到這本書看一下。本文只討論一下3自由度擬人機械臂的逆運動學,
很多機器人學教材上關於機械臂的逆解都是羅列一堆公式,對其中的推導過程並沒有講述很清楚,再加上中文版本的機器人學教材錯誤百出,很多同學看得一頭霧水,對求解推導過程中使用的數學原理沒有深入體會,導致對機械臂的求逆解問題一直處於一種似懂非懂的狀態。最重要的是,我認為只有使用程式碼實現對機械臂求逆解,才算是初步達到了學習機器人學的目的。
3軸機械臂的構型和DH引數如下圖所示,使用DH方法進行運動學建模,建立的座標系如下圖所示。
建立直角座標系後,機械臂末端的位置,也就是座標系3原點的位置可表示為:
已知
求解的過程是從關節3
由
那麼
故
接下來求關節2的解:
由
相關推薦
【機器人學】使用代數法求解3自由度擬人機械臂的逆運動學解
這篇部落格會討論一下使用解析法求解3自由度擬人機械臂的逆解及分析。 一、機械臂的逆解 機
【leetcode】 算法題3 無重復字符的最長子串
sim bcb IT wid VM str longest solid eat 問題 給定一個字符串,找出不含有重復字符的最長子串的長度。 示例: 給定 "abcabcbb" ,沒有重復字符的最長子串是 "abc" ,那麽長度
【原始碼】牛頓法求解實值函式的根
示例:[ x, ex ] = newton( ‘exp(x)+x’, ‘exp(x)+1’, 0, 0.5*10^-5, 10 ) f:輸入函式 df:輸入函式的導數 x0:函式根的初值估計 tol:誤差容忍度 namx:求解最大迭代次數 x:求解輸出的近似根 e
【轉】四款經典3.7v鋰電池充電電路圖詳解
大小 來源 輸入 控制 電路原理圖 cfa and 繼續 lan 3.7v鋰電池充電電路圖(一) 1、鋰電池的充電: 根據鋰電池的結構特性,最高充電終止電壓應為4.2V,不能過充,否則會因正極的鋰離子拿走太多,而使電池報廢。其充放電要求較高,可采用專用的恒流、恒壓充電器進行
【機器人學】使用解析法求解6軸機械臂的逆運動學解
本文是承接上一篇求3軸擬人機械臂逆解內容(連結),擴充套件到求6軸機械臂的逆解,研究的仍然是目前比較流行的工業機械臂構型:擬人臂+球形腕關節(如下圖1和圖2所示),因為這種構型的機械臂具有閉合
【機器人學】機器人開源專案KDL原始碼學習:(5)KDL如何求解幾何雅克比矩陣
這篇文章試圖說清楚兩件事:1. 幾何雅克比矩陣的本質;2. KDL如何求解機械臂的幾何雅克比矩陣。 一、幾何雅克比矩陣的本質 機械臂的關節空間的速度可以對映到執行器末端在操作空間的速度,這種對映可以通過一個矩陣來描述,就是幾何雅克比矩陣,瞭解雅克比矩陣需要了解這種對映關係的本質,這
【機器人學】機器人開源專案KDL原始碼學習:(3)機器人操作空間路徑規劃(Path Planning)和軌跡規劃(Trajectory Planning)示例
很多同學會把路徑規劃(Path Planning)和軌跡規劃(Trajectory Planning)這兩個概念混淆,路徑規劃只是表示了機械臂末端在操作空間中的幾何資訊,比如從工作臺的一端(A點)沿直線移動到另一端(B點)。而軌跡規劃則加上了時間律,比如它要完成的任務是從A點開始到B點結束,中間
【轉載】Hadoop 2.7.3 和Hbase 1.2.4安裝教程
啟動 運行 property new rop net 文本文 .tar.gz cor 轉載地址:http://blog.csdn.net/napoay/article/details/54136398 目錄(?)[+] 一、機器環境
【codevs1082】線段樹練習 3
adl for while small get color ace str 所有 題目描述 Description 給你N個數,有兩種操作: 1:給區間[a,b]的所有數增加X 2:詢問區間[a,b]的數的和。 輸入描述 Input Description 第一
【轉】【WPF】MVVM模式的3種command
src handler 因此 初始化 dex ram view ssi 不同 1.DelegateCommand 2.RelayCommand 3.AttachbehaviorCommand 因為MVVM模式適合於WPF和SL,所以這3種模式中也有一些小差異,比如Relay
【Linux】【Services】【IaaS】OpenStack-Pike(3.搭建高可用消息隊列)
mission 服務 guide lan nsis edit 錯誤 all scp 1. 簡介 1.1. 官方網站: https://www.rabbitmq.com/ 2. 安裝與配置: 詳見:https://docs.openstack.org/ha-guide/sha
【pattern】設計模式(3) - Observer觀察者模式
獨立 使用 數據 技術 很多 調用 edi 基於 ace 源碼地址:https://github.com/vergilyn/design-patterns 另外一個大神很全的Github:https://github.com/iluwatar/java-design-pat
【技巧】算法競賽中對拍程序的寫法
定向 軟件 err 出錯 OS 進行 小數據 goto 隨機數 在競賽過程中一個對拍程序可以幫你排除許多錯誤, 如果擔心自己寫的正解被一些小數據卡掉, 我們通常會寫個對拍程序來檢查正解的正確性, 通過大量數據觀察正解與暴力的輸出是否相同。 我們首先拿出我們寫的可能會超時但是
【WPF】MVVM模式的3種command
exceptio 什麽 () rst 響應 接口 too AD event 原文:【WPF】MVVM模式的3種command1.DelegateCommand 2.RelayCommand 3.AttachbehaviorCommand 因為MVVM模式適合於WPF和
【轉】算法的時間復雜度
語句 期望 cmp sum 去掉 函數 要求 rcm 實例 定義:如果一個問題的規模是n,解這一問題的某一算法所需要的時間為T(n),它是n的某一函數 T(n)稱為這一算法的“時間復雜性”。當輸入量n逐漸加大時,時間復雜性的極限情形稱為算法的“漸近時間復雜性”。我們常用大O
【原創】新韭菜日記3---套牢的困局,為什麼不願意止損割肉
為什麼不願意虧損了退出? -----一般聽起來,好像止損很高明,好像割肉就很傻? 前提情景:手上已經持股,並且已經浮虧了 行為模式:一直等待回升後,想著,我回本就賣! 實際上往往在下跌比較長一段時間/或幾次較大下跌後,出局
【分析】最流行的3款DAPP瀏覽器和原理
摘要:區塊鏈經歷5到10年的發展,我們也將迎來 Web 3.0 和整個DApp生態的大發展、大繁榮,屆時DApp瀏覽器也將從邊緣走向主流人群,成為使用者進入Web 3.0世界的視窗。 隨著智慧手機的普及,移動網際網路已經深入到生活的方方面面,使用者更習慣於直接通過手機
【P1865】篩法求素數+區間!
#include<bits/stdc++.h> using namespace std; const int maxn=1000010; bool a[maxn]; int primesum[maxn]; void printPrimes(){ memset(a,true,size
【機器人學】機械臂球形手腕的逆解
如圖1所示的球形手腕(三個關節的軸線相交於一點)是常用的機械臂結構,我們希望在已知座標系3至座標系6的旋轉矩陣的條件下求解3個關節值 q3
【機器人學】機器人開源專案KDL原始碼學習:(8)KDL的精髓
首先說一下我的心得: 1. 我認為KDL的精髓是Spatial Vector,結合C++等面向物件的語言可以寫出較好的軟體。 2. 直接閱讀KDL程式碼不適合初學者學習機械臂動力學。 3. 要學習機械臂動力學的話應首先閱讀使用3維向量推導公式的文獻,也就是線速度和角速度獨立分析