根據自己需要的機械臂進行配置,各界面引數介紹請查閱:
setuo assistant
此處不再贅述。
筆者在此過程中唯一遇到的問題就是在匯入urdf檔案時,setup assistant無法識別。
解決方法:從github上clone官方發布的urdf,並且注意clone與自己的ros版本對應的urdf。如果是自己寫的urdf檔案,多檢查檔案的完整性。
至於從github上clone太慢的問題,可以採用國內伺服器中轉提速,親測有效。
具體的方法請查閱: 國內git倉庫中轉
第一步:
moveit setup assistant的最後乙個介面,選擇generate package的路徑。
建議放在主目錄下,方便後續操作。
如上圖,我generate在了主目錄下,資料夾名為ur5_test2。
第二步:
在主目錄下新建乙個資料夾,並初始化為工作空間。如下圖,ur5_test1。
將moveit setup assistant生成的ur5_test2資料夾放到ur5_test1的src資料夾下。
第四步:
在src資料夾下新建乙個功能包(catkin_create_pkg就不用我教了吧?)以後我們會把自己寫的moveit!程式放到這裡面。
如上圖所示的xds_code功能包
進入ur5_test2(moveit setup assistant生成的資料夾)中的launc**件夾
啟動終端,執行:
如下圖,在rviz中成功載入設定好的初始姿態模型
在我們之前建立的功能包的src資料夾中,可以放置我們自己的**檔案。
我的**是用c++寫的,所以需要對功能包的cmakelist和package做如下改動:
cmakelist:
find_package(catkin required components
roscpp
rospy
std_msgs
moveit_core
moveit_ros_perception
moveit_ros_planning_inte***ce
moveit_visual_tools
)catkin_package(
catkin_depends roscpp rospy std_msgs moveit_ros_perception moveit_ros_planning_inte***ce moveit_core trajectory_msgs
)add_executable(first_code src/first_code.cpp )
add_dependencies(first_code katex parse error: expected '}', got 'eof' at end of input: _exported_targets} $)
target_link_libraries(first_code $)
package:
moveit_core
moveit_ros_perception
moveit_ros_planning_inte***ce
moveit_visual_tools
trajectory_msgs
moveit_core
moveit_ros_perception
moveit_ros_planning_inte***ce
moveit_visual_tools
trajectory_msgs
按照上述步驟設定完依賴後,回到工作空間根目錄catkin_make
編譯過程中如果出現「未定義的引用」,多半是依賴出了問題,按照上面仔細檢查。
盡量不要白嫖別人的程式,moveit的c++api經歷過改動,有些函式名稱發生了變化,別人幾年前寫的程式放在今天可能編譯就不通過。
2020/12/12我針對moveit官方c++ api文件寫了詳解,可查閱:
moveit!程式設計c++ api詳解
鼓勵有能力的同學自己看。
開啟我們之前執行的rviz介面,ctrl+alt+t開啟終端,輸入:
rosrun 《功能包名》 《節點名》
執行後,機械臂按程式進行plan並execute
使用moveit!控制真實機械臂(0) 思路
moveit!可以實現對機械臂的軌跡控制,這裡的機械臂既可以是真實的,也可以是虛擬的,在此,我們想使用moveit!規劃的軌跡來控制乙個真實的機械臂,真實的機械臂千差萬別,這裡不涉及到真實機械臂的控制驅動,只講一講控制思路,每一條思路今後會再寫文章逐步細化。1 首先要有乙個與真實機械臂相一致的機械人...
機械臂開發之機械結構
由於經濟不允許,比較昂貴的機械臂沒有接觸過,但是基本的機械結構都是相識的,一般就是用的材料和驅動的方式不一樣,然後我就以我自己用的機械臂來談談。我組裝的機械臂是以舵機作為機械臂的關節進行控制的,接下來以三自由機械臂進行介紹。三自由度機械臂分析 一.關節 這個機械臂擁有三個旋轉關節,底部的旋轉關節jo...
基於Arduino開發板DIY製作機械臂
在本篇文章中,我們將學習如何使用arduino開發板製作乙個簡易的機械臂 robot arm 可以使用定製的android應用程式進行無線控制和程式設計。我將向您展示製作的整個過程,從設計和3d列印機械人部件,到連線電子元件和程式設計arduino,以及開發我們自己的android應用程式來控制機械...