Ubuntu16.04 ROS kinetic使用moveit小結

Ubuntu16.04  ROS  kinetic使用moveit小結

       最近使用moveit中的MoveGroupPython接口控制UR3機械臂移動,在這個過程中踩了一些坑,特將填坑的過程記錄一下。

問題一:

[ WARN] [1567497398.552827574]: Fail: ABORTED: No motion plan found. No execution attempted.

[ERROR] [1567673055.288638354]: RRTConnect: Unable to sample any valid states for goal tree

       一般情況下,這兩個問題是同時出現的。在啓動MoveGroupPython接口控制UR3機械臂移動的命令時,終端會先報出這樣的一個警告[ WARN] [1567497398.552827574]: Fail: ABORTED: No motion plan found. No execution attempted.其實,在啓動該終端前的其他終端會出現這樣的一個錯誤[ERROR] [1567673055.288638354]: RRTConnect: Unable to sample any valid states for goal tree.因此,這個警告不能忽略。把這個警告和錯誤翻譯過來,其實就是擬設定的位姿,機械臂不可達,超出了機械臂的移動範圍,使其無法求出逆解。那麼如何解決該問題:

       方法1:若機械臂可以手動控制它移動的話,可以先將機械臂移動到擬設定的目標位姿,看看機械臂是否可達,以此來驗證求得的目標位姿點是否不在機械臂的移動範圍內。若手動操作,機械臂不能到達該位姿,那麼目標位姿點應該更改了;若手動,機械臂的位姿可達,但是運行程序時,仍然報出上述的錯誤,可以採用下面的方法。

       方法2:設定置位置(單位:米)和姿態(單位:弧度)的允許誤差 ,此方法親測有效。

       group.set_goal_position_tolerance(0.01)

       group.set_goal_orientation_tolerance(0.01)

問題二:

tf轉換問題:

[ WARN] [1567736336.905129048]: No transform available between frame 'XXX' and planning frame 'XXX' (Could not find a connection between 'XXX' and 'XXX' because they are not part of the same tree.Tf has two or more unconnected trees.)

       博主遇到這個問題是因爲,在相機座標系camera_color_optical_frame轉換到機械臂UR3 base_link座標系時,啓動roslaunch ur3_moveit_config ur3_moveit_planning_execution.launch這條命令語句時,終端輸出的警告,當然我也開啓了運行相機的節點。使用rosrun rqt_tf_tree rqt_tf_tree命令查看發現上述兩個座標系確實沒有連接在一起,使用roslaunch easy_handeye  publish.launch eye_on_hand:=false namespace_prefix:=ur3_realsense_handeyecalibration  命令,將相機座標系與機械臂座標系聯繫起來,就不會發出上述警告了。 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章