四轴六轴机械臂基础运动仿真实验(Matlab)
博主最近在學一本叫做《A Mathematical Introduction to Robotic Manipulation》的機器人學教材,并且在學習之余根據了老師的要求完成了一個仿真項目(MATLAB):
? ? ? ①inverse kinematics converge trend.
? ? ? ②In 3D space,? point P as result? of forward kinematics(color red),? and point P’ as result of step 4,? P and P’ should be coincident in theory.
?
從一個項目的角度進行分析,我們首先應該通覽全部要求。然后決定我們每一步應該完成什么工作:
博主進行分析后一步步確定要完成的步驟如下:
1.根據已知的四軸與六軸的物理參數,大概設計四軸與六軸機械臂的基座位置,使其具有交集。在這過程中需要寫出各個軸的twist坐標為了后續的運算做準備。
(為了演示的時候更加形象生動,博主使用了robotic toolbox用DH法建模,在進行正逆解運算時仍采用POE法)
(在計算交集區域時,采用約束方程,根據機械臂的運動特點將其邊界提取成幾個方程,并將其解算出來。大概使用了高數下的 ? ? 內容就足夠)
2.根據之前的twist坐標設計一個在交集區域的P點。
約束方程如下所示:
?
3.將得到的點P放入六軸機械臂的工作空間做逆運動解。因為博主學的是牛頓迭代法(Newton-Raphson Algorithm),因此這里用此方法求解:
首先構建運動學方程:
已知:
·機器人參數:
·目標點:
?
Newton-Raphon Algorithm:
a.初始化參數:
b.計算當前的關節角:
c.計算jacobian矩陣
d.計算Jacobian的偽逆解
If n≤6,
Else?
更新
e.重復以上步驟直到收斂即趨近零
?
4.將解算到的θ代入六軸的POE中,觀看P*與P是否重合。
在這個項目中重點是在于解題思路,如何將老師提的要求一步一步完成并且展示出來,而那些機械臂參數都是些可以代替的數據。(本次項目中博主使用的是李群四軸和六軸機械臂的參數)
如果有需要的話我再詳細地解析這個項目。
希望大家共同進步學習。
代碼已放到GitHub上:
https://github.com/KevinJune/robotic
總結
以上是生活随笔為你收集整理的四轴六轴机械臂基础运动仿真实验(Matlab)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 人口和生育信息统计分析BI系统简介
- 下一篇: 微服务接口设计规范