在上一节已经搭建了UR3机械臂的仿真环境,并且在rviz界面中通过拖拽机械臂实现了Moveit的运动规划。这一节就通过程序实现简单的UR3机械臂的运动规划。
首先,在 ur3工作空间中的 ~/ur_ws/src/universal_robot/ur_driver 目录下新建一个python文件,我这边命名为 ur3_moveit.py,并且编写如下代码,如下。
#!/usr/bin/env pythonimport sysimport timeimport mathimport rospyimport moveit_commanderfrom geometry_msgs.msg import Posefrom trajectory_msgs.msg import *if __name__ == '__main__': rospy.init_node('ur3_moveit')moveit_commander.roscpp_initialize(sys.argv)arm = moveit_commander.MoveGroupCommander('manipulator')goal = Pose()goal.position.x = 0.3goal.position.y = -0.1goal.position.z = 0.2while goal.position.y < 0.2:arm.set_pose_target(goal)arm.go(True)goal.position.y += 0.04moveit_commander.roscpp_shutdown()
注意,这边需要修改以下python文件的属性,如下图。
同时,还要配置一下~/ur_ws/src/universal_robot/ur_driver 目录下的CMakeLists.txt文件,如下图。
然后,执行以下指令,机械臂即可运动。
rosrun ur_driver ur3_moveit.py
注意,有时目标点可能会规划失败。所以目标点的设置需要参考机械臂的初始状态,保证它们之间的差异比较小,才能规划成功。
ubuntu16.04安装UR3/UR5/UR10机械臂的ROS驱动并实现gazebo下Moveit运动规划仿真以及真实UR3机械臂的运动控制(2)
如果觉得《ubuntu16.04安装UR3/UR5/UR10机械臂的ROS驱动并实现gazebo下Moveit运动规划仿真以及真》对你有帮助,请点赞、收藏,并留下你的观点哦!