task:
1.電腦控制real robot(ur5)
2.優化逆解——更好的實現ur5的運動規劃
①連線上ur5 :
$ roslaunch ur_bringup ur5_bringup.launch robot_ip:=ip_of_the_robot
②執行test檔案
$ rosrun ur_driver test_move.py
基本上就是這樣去控制,我在連線的時候出現過連線不上的問題,但是後面又嘗試去連線,不知道為什麼又連線好了,可能是不穩定。
詳細的參考資料:
①最終目的:優化八個解,找到規劃路徑最短的那乙個
②初始思路:
從源**中逆回去找到求逆解的演算法(查閱了資料發現應該是去找moveit package
裡面的一 個檔案kdl,一種求逆解的演算法)
當時我就不斷的去找right.arm.plan 這個方法的定義,想通過這種方法來找到它是怎麼算出這個
trajectory的,但最後沒有找到,原因是看不懂那些python**
最後硬是在moveit的包裡面找到了這個演算法:
開啟我標記的檔案
開啟後,(一臉懵逼) ,慢慢,仔細地還是找到了那個求逆解的方法:
但是還是很複雜,不知道怎麼樣去找逆解(初學c++)
③第二種思路:
自定義乙個逆解演算法的外掛程式:
(這個包裡面自帶乙個kinematic演算法)
這個函式的定義就比第一種思路裡面的函式定義要簡單多了,返回值是解的個數,q_sols就是乙個指標,
指向的是一段記憶體,放的是八個解。
現在要做的只需在setup assistant 上面重新定**的演算法,就可以了,因為原來包裡面的解的演算法是kdl
可以在這個檔案裡檢視:
開啟後:
可以看到manipulator這個move_group用的是kdl去解的
現在我們改變一下:
1.首先建立乙個資料夾(我是把這個資料夾和原來的config檔案放在同乙個目錄下的):
2.執行moveit_setup_assistant
建立乙個新的srdf
檔案 ·選擇的路徑是
這裡有個小問題就是moveit可能載入不了xacro檔案,你只需要勾選下面
紅色區域的地方就行了。
·其餘的什麼定義move_group的話,大家可以看看moveit的教程,這裡
關鍵是選取move_group的解演算法
這樣就ok啦
最後在你新建的資料夾裡面:
config檔案裡面你可以檢視kinematic檔案:
確認後,這就是新的演算法
最後,檔案裡面也會生成乙個demo檔案,就是乙個演示檔案,開啟後rviz自動就出來了,
然後demo裡面都是呼叫的新的演算法來算逆解的。
UR5的安裝與配置
專案 packages universal robot ur3 moveit config,ur description,ur kinematics,universal robot,ur5 moveit config,ur driver,ur modern driver,ur10 moveit co...
ubuntu解決QT5不能輸入漢字的問題
進入 qt5.3.1 tools qtcreator bin plugins platforminputcontexts目錄發現 官網提供的安裝包僅僅有libibusplatforminputcont extplugin.so,對ibus輸入法的支援 cd qt5.3.1 tools qtcreat...
最全解決Qt5無法輸入中文的問題
qt5.3及以前的版本 qt creator外掛程式目錄 qt安裝目錄 tools qtcreator lib qt plugins platforminputcontexts 需要的fcitx輸入法外掛程式檔案 libfcitxplatforminputcontextplugin.so 解決方法 ...