建立通信
基本操作按照參考鏈接進行即可
注意事項
保護性停止
在使用ROS
控制機器人運行時,有多個參數對機器人最大運行速度進行限制。其中在運動規劃階段,由joint_limit.yaml
對其限制,再對ur_driven
下的max_joint
參數進行比對,若超過則觸發保護性停止。
同時,在實際使用時,示教器上的速度百分比也是一個參考點。當實際運行速度,超過示教器上的值時,也將觸發保護性停止。運動規劃的隨機性
在使用MoveGroup
類使機器人發生運動時,在指定末端target pose
後,對應多種構型,不同構型將產生不同的運動過程,要時刻注意是否發生碰撞。晃動與偏差
在使用moveit_msgs::ExecuteTrajectoryAction
控制UR機器人運動時,需要先將機器人運行到初始點,再運行該軌跡。但在初始點處機器人運行會中斷。考慮如下原因:
在使用MoveGroup
類使機器人發生運動時,機器人運動到目標點位置時抱閘停止,產生晃動或由於設置有Tolerence
產生偏差。
因此,爲了使機器人運動更流暢,應該儘量使用軌跡規劃再使機器人運動。
typedef actionlib::SimpleActionClient<moveit_msgs::ExecuteTrajectoryAction> moveit_client;
moveit_client ac("execute_trajectory",true);
moveit_msgs::ExecuteTrajectoryGoal goal;
goal.trajectory = trajectory;
ac.sendGoal(goal);
typedef boost::shared_ptr<moveit::planning_interface::MoveGroupInterface> MoveGroupPtr;
MoveGroupPtr move_group_ptr;
move_group_ptr->move;
參考
http://wiki.ros.org/universal_robot/Tutorials/Getting%20Started%20with%20a%20Universal%20Robot%20and%20ROS-Industrial
https://blog.csdn.net/wxflamy/article/details/79102661
interface_hardware -> type
https://github.com/iron-ox/ur_modern_driver/commit/883070d0b6c0c32b78bb1ca7155b8f3a1ead416c#diff-a47d7e047d071bd32ab01539fc9e4c10R181