操作aubo机械臂的方法主要有三种:
一、使用aubo官方提供的示教器来操作。示教操作的本质是,先演示一遍操作过程,过程中机械臂在必要的路径节点时记录机械臂各个joint的关节角的值。用这记录的一系列关节角的值组成waypoints。演示完成后,机械臂直接根据这一组waypoints循环运行即可。
示教的优点是精度较高,操作简单。缺点是不够灵活,机械臂不能执行pointway之外的路径。
二、使用ROS+MoveIt!进行运动学和逆运动学求解,使用aubo官方提供的中间件来控制。该方式使用MoveIt!进行运动学和逆运动学求解,计算节点路径。当使用传感器(如3D相机)进行目标定位时,机械臂的目标节点可以进行调整,而不是像示教器一样,示教操作完成后,节点路径是固定的。但有一个问题是,MoveIt!进行路径规划时使用的是urdf提供的模型,本质上这是一个数学模型。而这个数学模型与实际生产并组装后得到的真实的机械臂之间是有一些误差的,譬如模型中joint1的长度是0.5米,而真实机械臂joint1的长度是0.495米,一般几个joint都会有误差,还有其他的一些因素如坐标系、传感器等等,而且每个真实的机械臂也不是完全相同的。这种由机械构造造成的真实机械臂和机械臂数学模型之间的差别,会造成机械臂按照MoveIt!给出的路径运行后,机械臂终端实际到达的位置和我们期望机械臂终端到达的位置之间有一个误差(这里假设3D相机给出的位置是准确的)。所有,为了消除这个误差,在机械臂按照MoveIt!给定的路径到达位置后,我们需要使用3D相机进行误差修补,也就是执行第二次路径规划并指挥机械臂运行。第二次路径规划的起点位置就是机械臂当前的位置,终点位置仍然是我们期望机械臂到达的位置。
三、aubo机械臂+深度相机。采用手眼标定法的方法,使用深度相机提供位姿,使用aubo SDK 操作机械臂。