前两篇文章是关于在关节空间中进行机械臂的运动控制:
通过对关节空间下的机器人6个轴进行控制,每个轴的变化都是通过插补进行完成运动,六个轴互相不会关心其他轴是如何运动的,机器人轴端在两个点之间走出的轨迹是任意的曲线。
但是对于一些任务重,要求机械臂终端轨迹的形状是直线或者圆弧等,即对轨迹的形状是有要求的,这个时候就要使用笛卡尔孔家,增加笛卡尔路径约束。
首先使用以下命令,看一下执行的效果:
roslaunch probot_anno_moveit_config demo.launch
走直线:
rosrun probot_demo moveit_cartesian_demo.py _cartesian:=True
自由曲线:
rosrun probot_demo moveit_cartesian_demo.py _cartesian:=False
效果:
为了更好的看一下机械臂末端的运动轨迹,将轨迹显示出来如图所以:
Python代码以及解析:
import rospy, sys
import moveit_commander
from moveit_commander import MoveGroupCommander
from geometry_msgs.msg import Pose
from copy import deepcopy
class MoveItCarte