日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【作业锦集】机器人学导论-空间变换及Matlab实现(part-1)

發布時間:2023/12/14 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【作业锦集】机器人学导论-空间变换及Matlab实现(part-1) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

聲明:

本文最早發布于2022-03-18,轉載請注明出處

若有疑問請第一時間在評論區或者私信作者交流

前言:

最近需要完成一個作業,即程序實現《機器人學導論》中的齊次變換矩陣,并實現空間變換的動態效果。經過細致推敲,作者在愉快地交上作業后便留下了此文,用于交流和學習。本文主要內容來自于作業報告(原因是作者懶,不想改太多),涉及齊次變換矩陣的介紹和Matlab程序的設計思路。總而言之,謹以此文來進行記錄和學習交流。

作業要求

作業的要求就是將上面的過程給動態化。不過為了讓程序更具備一般性,我們僅考慮局部坐標系的變換情況,而不會特別的去考慮P點該怎么計算。因為一但知道變換后的局部坐標系的位置和姿態,便可以很輕易的計算出P點的坐標。

先放一個最終的動態效果圖

?正文

先介紹下齊次變換矩陣

?齊次變換矩陣F主要分成兩部分,第一部分是一個3*3的矩陣,代表了局部坐標系的坐標軸的正向方向,其由三個單位方向向量組成。

第二部分則代表局部坐標系原點在全局坐標系中的坐標。至于矩陣的第4行,可以簡單地理解為向量的長度(其實這并不準確,不過這里不再贅述,因為不是重點)

1.平移效果的實現

在齊次變換矩陣?F 中,?的實際含義便是局部參考系的原點在全局坐標系中的坐標。此外,我們知道,單純平移操作并不會改變局部坐標軸的方向(即沒有旋轉),而是僅僅改變P點相當于全局坐標系的坐標。

那么,只要設置一個變量用于儲存P點的坐標,然后在每次平移后,按P點的位置來繪制局部坐標系即可。

平移的Matlab核心代碼(部分),這里我們僅用圖片的方式呈現一種思路。

2.旋轉效果的實現

?在理論計算中,旋轉效果的實現依賴于旋轉矩陣(實際上這是一種線性變換,空間的映射)。例如若是繞X軸旋轉度,計算過程如下圖所示:

?其中為P在全局坐標系中的坐標,為P點在局部坐標系中的坐標,而代表繞X軸旋轉角度。

遵循同樣的思路,我們不關注P點前后的計算結果,因為程序實現比較復雜。重點的關注對象是旋轉矩陣以及其內部隱含的信息。回到齊次矩陣F,其組成除了原點外,還有局部坐標軸矩陣。分析矩陣,便可以知道局部坐標軸的朝向。

下圖是一個齊次變換矩陣的實例

?單位方向向量在矩陣T中對應的便是,其代表局部坐標系的其中一個坐標軸?在全局參考系的X、Y和Z軸上的分量分別為1、0和0。更具體地說,便是該坐標軸和全局參考系中的X軸同方向(注意,比例因子為0,代表無窮遠,加上方向便是坐標軸)。

將矩陣和旋轉矩陣進行左乘,便可以得到旋轉之后的矩陣局部坐標系矩陣。我們只需要解讀每一次旋轉后矩陣的信息,便可以實現想要的旋轉效果。特別地,由于計算精度的誤差,我們這里只采用90度旋轉,其正余弦值在-1,1和0之間變動。

常見的旋轉矩陣如下:

?

?旋轉效果的核心代碼為:

?最終實現效果在開頭已經給出。

結語

最近一直在實現一種編程思路,將代碼封裝成各個模塊便可以像搭積木一樣實現不同的過程。這次也是這樣處理。例如這次是這樣實現三個操作的。

感興趣的朋友可以關注博客,不定期更新。

總結

以上是生活随笔為你收集整理的【作业锦集】机器人学导论-空间变换及Matlab实现(part-1)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。